主要指標
  • 推論レイテンシ10ms以下、毎秒120フレームの高速生産ラインのリアルタイム検査要件を達成
  • 欠陥検出精度99.2%、偽陽性率0.3%以下で、経験豊富な品質管理担当者を上回るパフォーマンス
  • モデルを198KBに圧縮し、ARM Cortex-M7マイクロコントローラ(512KB Flash / 256KB SRAM)へのデプロイに成功
  • 生産ライン1本あたり年間約NT$1,200万の品質コスト削減、投資回収期間は4.5ヶ月

1. 課題:生産ライン品質管理のリアルタイム要件

高速自動化生産ラインにおいて、品質検査の核心的な矛盾は「速度」と「精度」のトレードオフにあります。ルールベースの画像処理アルゴリズムに基づく従来のマシンビジョンシステムは十分に高速ですが、表面傷、色の異常、微小クラックといった複雑な欠陥タイプに対峙すると、精度が不十分になることが多いです。一方、ディープラーニングベースの欠陥検出モデルは高い精度を提供しますが、通常GPUレベルの計算リソースを必要とし、推論レイテンシが過大になるとともに、1台あたりのデプロイコストが高額なため、すべての検査ステーションへのスケール展開が困難です。

当社のクライアントは精密電子部品メーカーであり、生産ラインは各検査ステーションを毎秒120個の製品が通過します。これは、各製品の検査時間ウィンドウがわずか8.3msであることを意味します。既存の目視検査は製品の15%のみ(抜き取り検査)をカバーしており、さらに作業者の疲労により、後半シフトでは見逃し率が目に見えて上昇していました。クライアントは生産ライン脇にGPUサーバーを設置することも検討しましたが、1検査ステーションあたりのハードウェアコストがNT$500,000を超え、冷却やメンテナンス要件を考慮すると、全40検査ステーションへのフルデプロイは実現不可能でした。

クライアントの要件は明確でした。すべての製品の100%全数検査を、推論レイテンシ10ms以内、精度99%以上で実現し、かつ1ステーションあたりのハードウェアコストをNT$3,000以内に抑えること。これにより、デプロイターゲットはARM Cortex-Mシリーズマイクロコントローラ――数百キロバイトのメモリしか持たない極めて制約の厳しい環境――に固定されました。

2. 技術アプローチ:TinyML欠陥検出アーキテクチャ

マイクロコントローラ上にディープラーニングモデルをデプロイすること――TinyMLとして知られる――は、近年のエッジAIにおいて最も困難な研究方向の一つです。LinらはNeurIPS 2020でMCUNetを発表し[1]、256KBのメモリしか持たないマイクロコントローラ上でImageNetレベルのニューラルネットワークを動作させる可能性を開拓しました。核心的なイノベーションは、最適なネットワークアーキテクチャと推論スケジューリングの同時探索にあります。

2.1 データセット構築とラベリング戦略

高品質な欠陥検出は、高品質な訓練データから始まります。Bergmannらが発表したMVTec ADデータセット[6]は、産業用欠陥検出分野の標準ベンチマークであり、15種類の異なるカテゴリの産業製品と対応する欠陥サンプルをカバーしています。私たちはこれを方法論的な参考として、クライアントの製品に特化した独自の欠陥データセットを構築しました。

3週間のデータ収集フェーズでは、クライアントの生産ラインに高速産業用カメラを設置し、毎秒200フレームで500万枚以上の製品画像を継続的にキャプチャしました。品質管理チームとの緊密な協力のもと、12種類の欠陥タイプを定義し、3段階のラベリングプロセスを確立しました。ジュニアアノテーターが疑わしい欠陥領域をマーク、シニアQC担当者が欠陥分類を確認、アルゴリズムエンジニアがラベリング品質を検証します。最終的な有効データセットは42,000枚のラベル付き画像を含み、欠陥サンプルは約8%を占めました。

2.2 ベースモデルの選定

マイクロコントローラの極端なメモリ制約を考慮し、Howardらが提案したMobileNetアーキテクチャ[3]をベースラインとして使用しました。MobileNetのデプスワイズ分離可能畳み込み設計は、標準畳み込みの計算コストを8~9倍削減し、リソース制約環境に最も適した畳み込みアーキテクチャの一つとなっています。

ただし、標準的なMobileNet V1の最小バージョン(幅乗数0.25)ではImageNet上の分類精度は約50%にとどまり、産業用欠陥検出の99%精度要件には遠く及びません。そのため、既存のアーキテクチャを直接使用するのではなく、MCUNetのアーキテクチャサーチアプローチを組み合わせ、ターゲットハードウェアのメモリと計算バジェットの範囲内で、クライアントの欠陥分類タスクに特化したニューラルアーキテクチャサーチ(NAS)を実行しました。

3. モデル圧縮パイプライン:PyTorchからARM Cortex-Mへ

アーキテクチャサーチの後でも、最適なモデルはターゲットハードウェアのメモリバジェットを超過していました。Hanらが2016年のICLRで発表したDeep Compression[2]は、「プルーニング――量子化――ハフマン符号化」の3段階圧縮パイプラインを提案し、体系的な圧縮方法論を提供してくれました。

3.1 構造化プルーニング

まず、完全に訓練されたモデルに対して構造化プルーニングを実施しました。非構造化プルーニング(個々の重みをゼロにする)とは異なり、構造化プルーニングは畳み込みカーネルまたはチャネル全体を直接除去するため、プルーニング後のモデルが標準的な密なニューラルネットワークのまま維持され、専用のスパース計算ハードウェアを必要としません。勾配ベースの重要度評価手法を用い、最終的な分類への寄与が最も小さいチャネルを段階的にプルーニングし、精度のドロップをわずか0.4%に抑えながらモデルサイズを60%削減しました。

3.2 訓練後量子化

プルーニング後のモデルは依然として32ビット浮動小数点数で重みと活性化値を表現しています。Szeらは、Proceedings of the IEEEのサーベイ[5]において、各種量子化戦略がモデル性能とハードウェア効率に与える影響を詳細に分析しています。私たちはINT8対称量子化戦略を採用し、各重みと活性化値を32ビットから8ビットに圧縮することで、モデルサイズをさらに4倍削減しました。

量子化における主要な課題はキャリブレーション――各レイヤーの量子化範囲(スケールとゼロポイント)を決定し、量子化誤差を最小化すること――です。すべての欠陥タイプと正常製品をカバーする約1,000枚の代表的な画像をキャリブレーションデータセットとして使用しました。量子化後、検証セットでの精度損失はわずか0.2%で、許容範囲内でした。

3.3 TensorFlow Lite Microへのデプロイ

Davidらが2021年のMLSysで発表したTensorFlow Lite Micro(TFLM)[7]は、マイクロコントローラ向けに特別に設計された軽量推論エンジンを提供しています。TFLMのコア設計原則は動的メモリ割り当てゼロ――推論中に必要なすべてのメモリがコンパイル時に完全に決定される――であり、これはオペレーティングシステムを持たないベアメタル環境にとって極めて重要です。

量子化されたモデルをTensorFlow Lite FlatBufferフォーマットに変換し、クライアントのファームウェア開発環境に統合しました。最終的なデプロイ済みモデルサイズは198KB(モデル重みと推論エンジンコードを含む)で、ピークメモリ使用量は187KBであり、ARM Cortex-M7(512KB Flash / 256KB SRAM)のリソースバジェット内に十分収まっています。

4. デプロイメント結果

クライアントの生産ラインでの2ヶ月間の並行テスト期間(AI検出結果と目視検査結果を同時に記録し相互検証)を経て、システムは本番稼働を開始しました。Banburyらが提案したMLPerf Tinyベンチマーク[4]が、標準化された性能測定方法論を提供してくれました。以下は本番環境での計測結果です。

5. スケール展開と継続学習メカニズム

5.1 工場全体へのデプロイメント戦略

パイロットステーションの検証結果に基づき、クライアントは工場全体の全40検査ステーションへのシステム展開を決定しました。私たちは標準化されたデプロイメントツールチェーンを設計しました。OTA(Over-The-Air)ファームウェア更新メカニズムにより、1ステーションのモデルデプロイメントまたは更新を生産ラインの稼働に影響を与えることなく15分以内に完了できます。工場全体のデプロイメントは2週間以内に完了しました。

5.2 継続学習とモデルイテレーション

産業環境における欠陥タイプは静的ではありません――新しい原材料バッチ、プロセスパラメータの調整、環境条件の変化がすべて新しい欠陥パターンを生み出す可能性があります。私たちは「エッジ収集――クラウド訓練――エッジデプロイ」の継続学習ループを確立しました。

  1. エッジ収集:各検査ステーションが低信頼度画像(モデル出力確率0.3~0.7)を自動的に収集し、レビュー待ちサンプルとしてマーキングします。
  2. クラウドラベリングと再訓練:レビュー待ちサンプルは毎週クラウドプラットフォームにアップロードされ、QC担当者がラベリングして訓練データセットに追加します。モデルは2週間ごとにインクリメンタル訓練と圧縮を実施します。
  3. OTAモデル更新:オフライン検証(精度が現行バージョン以上)の後、新しいモデルがOTAメカニズムを通じて全ステーションにプッシュされます。

ローンチから6ヶ月間で、モデルは12回のイテレーション更新を経て、欠陥タイプのカバレッジは当初の12種類から19種類に拡大し、精度は99.2%から99.4%にわずかに向上しました。

5.3 経済効果

工場全体へのデプロイメント後の年間効果評価では、品質関連コスト(見逃した欠陥品に対する顧客クレーム処理、返品損失、QC人件費を含む)が年間NT$2,400万からNT$1,200万に減少し、50%の削減を達成しました。全40ステーションのハードウェア投資総額はNT$112,000であり、開発・統合コストを含めた全体の投資回収期間は約4.5ヶ月でした。

さらに重要なことに、100%全数検査能力により、クライアントはエンドカスタマーに対してより厳格な品質保証を提供できるようになり、契約金額が品質システムへの投資をはるかに上回る2件の大口受注の獲得に直接つながりました。