欠陥セグメンテーションモジュールの使用例
本節では、Mech-DLK ランドのデータ(ダウンロード先)を提供し、欠陥セグメンテーションモジュールの使用方法を説明します。欠陥のラベル付けとパラメータ調整、トレーニング・検証の流れを紹介してデータの欠陥検出モデルをトレーニングしていきます。
また、お手元のデータも使用できます。ラベル付けの段階に多少異なりますが、全体の操作はほぼ同じです。 |
事前準備
お手元のデータを使用する場合には、データ収集方法のガイドに従ってデータ収集を完了してください。欠陥が全部はっきり見えるようにデータを収集してください。
-
プロジェクトを新規作成して欠陥セグメンテーションモジュールを追加:ホーム画面の プロジェクトを新規作成 をクリックし、ディレクトリを選択してプロジェクト名を入力し、新しいプロジェクトを作成します。右上の +新規作成 をクリックし、欠陥セグメンテーションモジュールを選択します。
-
ワーク画像データをインポート:ダウンロードした圧縮フォルダを解凍し、左上の インポート/エクスポートをクリックし、フォルダをインポートを選択して、画像をインポートします。ランドに過剰はんだ、銅線露出、また合格品の画像を含む必要はあります。
重複画像がある場合、表示された画像をインポートウインドウではスキップやインポートを指定し、タグを追加することができます。1枚の画像につき設定可能なタグは1つのみのため、すでにタグ付きのものに新規タグを追加すると、従来のタグは上書きされます。データセットをインポートする場合、重複画像を置き換えるかを選択できます。
-
画像、フォルダをインポートするとき:
-
データセットをインポートするとき:
データセットをインポートを選択すると、DLKDB 形式(.dlkd)のデータセット、すなわち Mech-DLK からエクスポートされたデータセットにのみ対応できます。
-
-
ROI 設定:各画像の欠陥位置がそれほど異ならない場合に ROI を設定することができます。これにより背景による干渉を回避できます。このプロジェクトでは、欠陥は全部ランドに位置しているのでツールバーの
をクリックして ROI を設定し、
をクリックして適用します。設定は、全ての画像に適用されます。
-
マスクを使用して干渉を回避(必要な場合):欠陥領域と欠陥以外の領域とは似ている特徴があり、または重なり合いがある場合にマスクを使用して欠陥認識に影響が出る領域を隠すことができます。過剰はんだとはんだ点とは、外観や反射特性では非常に類似しており、はんだ点は画像内における位置がほぼ一定であるため、下図のようにマスクを全体に使用してはんだ点を隠します。
-
ROI または全部の画像に適用するマスクを使用する時、画像に対象物の位置が一定であることを確認してください。対象物の位置が大きく異なる時に、複数のモジュールを接続して調整してください。対象物検出モジュールまたはすばやく位置決めモジュールで対象物の位置決めまたは位置合わせを実行してから欠陥セグメンテーションを開始します。
-
できる限りマスクを欠陥以外の領域を全部隠すように設定してください。
-
より詳細なマスク使用方法については、高級:マスク使用をお読みください。
-
データのラベル付け
-
クラス新規作成:複数のクラスの作成に対応し、欠陥の特徴に基づいてクラスを作成してラベル付けに使用できます。
-
一部の画像にラベルを付ける:画像をいちいちラベル付けする必要はありません。数枚かの画像にだけ正確なラベルを付ければいいです。トレーニングの手間を軽減し、また潜在的な問題特定にも役に立ちます。例えばここの例では、5枚だけラベル付けします。
-
ラベル付けツールを選択:欠陥がきれいに見えて輪郭もはっきりしているのでスマートラベル付けツールを推奨します。
-
明らかに異なっている欠陥をラベル付け:ラベル付け方法のガイドに従ってください。欠陥の差がある画像を優先的ラベル付けしてください。欠陥の位置や大きさ、形状、色などが明らかに異なっている画像を使用すると汎用性の高いモデルを出力できます。欠陥の輪郭に沿って付けてください。マスクを使用する場合にマスクとラベルを重なり合いのようにしてください。
-
例えば、以下の画像では、欠陥の位置と形状が似ており輝度だけが異なります。なのでその 1 枚だけをラベル付ければいいです。
-
下図では、欠陥の下図も位置も異なっているのでいずれもラベル付けします。
Ctrl を押したままホイールを奥に回せば画像を拡大できます。
-
-
ラベル付き画像をトレーニングセットに追加:ラベル付き画像を全部トレーニングセットに追加します。正確にラベル付けた画像を使用してトレーニングしてください。
-
1枚以上の画像を OK 画像に設定:欠陥無し画像を OK 画像に設定してトレーニングセットに移動します。データリストから欠陥のない画像を選択してから
をクリックするか、右クリックメニューの OK に設定をクリックし後、トレーニングセットに移動をクリックします。
モデルのトレーニング
-
パラメータ設定:トレーニングパネルのトレーニングパラメータの右の
をクリックしてパラメータを設定します。モデルトレーニングを参考にして下さい。
-
*データ拡張*を設定し、インポートした画像を修正してより多様なデータを取得します。この機能により、データ数が少ない場合にも汎用性の高いモデルを取得できます。ここの例では、以下のように設定します。
-
インポートした画像にある部品の位置、姿勢、照明などは現場とはほとんど変わりませんが、効果のよりいいモデルを取得するために適切にデータを拡張することを推奨します。ただ、欠陥の特徴損失が発生しないようにしてください。この例では、過剰はんだの位置や輝度、形状などは一定ではない、かつ撮影時の照明も差があるため、データ拡張パラメータを設定しなくてもいいです。
-
普通はパラメータ値をあんまり高くしないでください。
-
-
トレーニングパラメータを設定します。一般的なプロジェクトでは、間隔エポックや学習率、GPU ID などは、初期値のままでいいです。
-
欠陥分割が困難で高精度が必要な場合にモデルタイプを高精度にしてください。この例では、欠陥が大きくて輪郭がはっきり見えるので高速度に設定します。
-
入力画像のサイズを調整する時に、欠陥の特徴損失が発生しないようにしてください。画像リストから 1 枚の画像を選択して右クリックメニューの拡大・縮小メニューをクリックすれば画像のスケーリング効果を確認することが可能でう。元画像の欠陥領域とラベル付き画像のラベル領域がはっきり見えたら大丈夫です。
-
入力画像のサイズが小さいほどトレーニングと推論のスピードがアップします。
-
サイズが大きいが画像のほうは、精度のより高いモデルが取得できますがトレーニングと推論の速度は下がります。
-
画像が大きくて欠陥が小さい場合に、グリッド線ツールを使用してください。
-
-
グラフィックスカードに対応できる限り、パッチサイズを大きくすれば推論の速度が上がります。
-
初回のトレーニングを開始する時、エポック数を高くして(500 に設定)ください。これにより、ゆっくりとモデル精度の変化を把握することができます。エポック数をあんまり低くすると最高精度に上らないことがあります。例えばここの例では、一回目のトレーニングにエポック数を 500 に設定します。
-
-
トレーニング実行:パラメータ設定後、トレーニングパラメータのトレーニングをクリックしてトレーニングを開始します。
-
トレーニング状況確認:トレーニングパネルからモデルのトレーニング状況をリアルタイムで確認できます。
-
「トレーニングチャート」から状況確認:トレーニングパネルのチャートを表示ボタンをクリックしてトレーニングチャートを表示して、曲線の変化から精度の推移を把握します。正確度曲線が全体的に上昇傾向、損失曲線が全体的に低下傾向になると、トレーニングが正常に進行していることになります。
-
トレーニング中止タイミング(実際に応じて):モデルの正確度が要求水準に達した場合、時間節約のためにトレーニングセンターを開き、タスクリストから対象プロジェクトを選択して
をクリックするしてトレーニングを中止することができます。また、トレーニングの完了まで待ち、正確度の推移を観測して初歩的にモデルの効果を評価することもできます。
エポックを重ねても正確度曲線に上昇傾向が見られない場合は、トレーニングに問題がある可能性があります。トレニンーグを中止し、各パラメータ設定を確認した上で、データセットにおけるラベル抜けや誤りの有無をチェックし、修正後にトレニンーグを再開してください。 |
モデルの検証
-
モデル検証:トレニンーグ終了・中止後、検証パネルに切り替えて検証ボタンをクリックし、モデルの検証を行います。
-
トレーニングセットのモデル検証結果を確認:検証終了後、検証パネルの検証統計から検証の結果を確認できます。
-
詳細レポートをクリックして詳細レポートウィンドウを開いて詳細な結果データを確認します。
-
レポートのラベル付け結果マッチングには、モデル推論(検証)の結果と手動ラベルとのマッチング関係を示します。
-
表の縦は手動で付けたラベル、横は推論の結果を示します。青いセルは、両方が一致している結果で、その他は最適化が必要な結果です。
-
セルのデータをクリックすればソフトウェアのメイン画面の画像リストに対応する画像だけが表示されます。
検証結果に見逃しや誤検出がある場合、トレーニング効果を改善する必要があります。ラベル付けをチェックしてトレーニングパラメータを調整してから再トレーニングを行ってください。 詳細レポートウィンドウの右下にあるレポートをエクスポートボタンをクリックし、サムネイルレポートまたは完全画像レポートをエクスポートすることが選択できます。
テストセット内の見逃しや誤検出がある画像を全て手動的にラベル付けしてトレーニングセットに変更する必要はありません。一部の画像を追加でラベル付けして、トレーニングセットに追加しモデルを再トレーニング・検証します。残りの画像を検証のために使用されます。 -
-
再トレーニング:新たにラベル付けした画像をトレーニングセットに追加してから、トレーニングボタンをクリックして、再トレーニングを開始します。
-
モデル検証結果の再チェック:再トレニンーグ終了後、再び検証ボタンをクリックしてモデルの検証を行い、各データセットにおけるモデルの検証結果を確認します。
-
モデルの微調整(オプション):開発者モードをオンにしてトレーニングパラメータ設定でモデルを微調整することが可能です。詳細な説明はモデルの追加学習をお読みください。
-
モデルの最適化:モデルが使用要件を満たすまで上記の手順を繰り返します。
モデルのエクスポート
モデルをエクスポートをクイックします。表示されたウィンドウで保存場所を指定し、モデルをエクスポートをクリックします。

エクスポートされたモデルは Mech-Vision とMech-DLK SDK、Mech-MSR に使用できます。クリックして詳細な説明を確認します。