製造業におけるディープラーニングプロジェクトの始動 – パート3:最適化

矢印の背景にネットワーク接続されたブルー・ブレイン - 大

企業がディープラーニングプロジェクトの目標を定め、データとグランドトゥルースを入手したら、次のステップではビジョンシステムと画像データベースを最適化することになります。

この段階で、人間の検査官とビジョンシステムが生産部品の良品と不良部品を分類します。その後、社内の専門家が不明な部品を確認し、正しくラベル付けします。修正された曖昧な部分と、良品・不良部品のサンプルはデータベースに登録され、ディープラーニングモデルの改良に利用されます。開発者は、異常な欠陥のある部品や照明の反射など、複雑な画像をトレーニングセットに追加することを心がけなければなりません。

データを補強する

ディープラーニングベースのソフトウェアは通常、最適化のためにトレーニングセットとツールを提供しますが、チームはクロスバリデーションなどの追加の手順を実行する必要があります。十分なデータを取得したら、チームはデータセットの異なる部分をトレーニングに使用し、残りの部分に対して検証を行う必要があります。データセットのどのセクションを選択する場合でも、チームは結果が一貫していることを確認する必要があります。これは、あるセクションの結果が他のセクションと異なる場合、ラベル付けの問題が発生したり、一部の欠陥の種類が過小に表示されたりする可能性があるためです。

また、生産工程における重要な変数をそれぞれ分離し、複合的に最適化することも必要です。そのため、複数の製造ラインがある場合は、各ラインの画像を撮影し、トレーニングに使用するとともに、各ラインのデータと結果が適切であることを確認する必要があります。さらに、検査方法が異なる企業では、ファイル名の規則やファイルフォルダ構造によって、異なる製品バージョンや欠陥の種類を最適化する必要があります。

また、トレーニングデータには、できるだけ多くの不良部品画像を入力することを目標としなければなりません。例えば、良品画像500枚と不良部品画像282枚があれば、不良部品の画像を使用し、何を探すべきかシステムを訓練することで、生産時に効果的に機能するようになります。

さまざまな不具合への対応

ディープラーニングでは、画像の欠陥を調べる方法がいくつかあります。画像全体から部品の良し悪しを判断する測定値を生成するシステムもあれば、部品の特定の欠陥を識別する欠陥ベースのアプローチを使用することもできます。後者は、プロセス制御のために分類工程を追加する場合に有効ですが、欠陥の結合や分離のための二次加工が必要になる場合もあります。 

一方、ディープラーニングシステムは、画像中の各欠陥の特定のピクセルを分離し、欠陥領域の測定値を提供することもできます。この方法では通常、欠陥領域を操作して周囲または境界ボックスを生成したり、欠陥を測定して良品と不良部品に分類したりするなどの二次的な画像処理が必要となります。アプリケーションごとに異なるアプローチが必要であるため、開発者は欠陥のメトリックスとその最適化方法を理解する必要があります。

また、さまざまな種類の欠陥を理解し、品質仕様を設定することで、チームはエンドツーエンドの最適化を実行し、モデルをさらに改善することができます。10mm2以上の欠陥や5mm2以上の2つの欠陥が不良部品であると指定された場合、ディープラーニングシステムは必ずしも正確なピクセル計測を行うとは限りません。このような場合、ブロブ解析ツールを使用することで、より正確に欠陥を測定することができ、チームはこれらの画像を使用してモデルを最適化することができます。しかし、チームが追加の最適化と分析のためにブロブツールを使用することを計画している場合、チームの開発者は、安全のために、境界線上のケースも欠陥として報告するようにディープラーニングシステムにバイアスをかける必要があります。

ディープラーニングによる欠陥検出とブロブ解析ツールの比較

ディープラーニングによるセグメンテーションツール(左)とブロブ解析ツール(右)を併用し、欠陥検出領域を絞り込んでいる状況

主要なメトリックスを把握する

この段階では、ディープラーニングメトリックスに留意する必要があります。チームの全員がディープラーニングのすべての側面を理解する必要はありませんが、開発者はすべての重要な指標とその最適化方法を理解する必要があります。例としては、オーバーキルとアンダーキルの違いや、精度と再現性、F1スコア、AUC(曲線下面積)統計などが挙げられます。

さらにチームは、費用関数を検討し、スクラップ(オーバーキル)の費用とエスケープ(アンダーキル)の費用のバランスを考慮し、ソリューションの価値を判断する必要があります。開発者は、ディープラーニングプロジェクトを立ち上げた当初は費用関数をあまり気にする必要はありませんが、時間の経過とともにF1スコアが高くなるようにプロジェクトを推進する必要があります。

パート4では、ファクトリの受け入れテストについて説明します。 

他の投稿

製品のサポートやトレーニングなどの詳細を見る

マイコグネックスに参加