ディープランニングの使用シーン
2D カメラ+ディープラーニング
以下では 2D カメラ+ディープラーニングの使用シーンについて説明します。シーンによって異なるモジュールを使用してください。
欠陥セグメンテーション
各種類の欠陥を検出します。例えば、汚れ、気泡、キズなど表面にある欠陥。または曲げ、不規則的な形、破損などの外見欠陥。この検出は、微小な欠陥、複雑な背景、ランダムなワーク位置にも対応できます。
-
レンズ表面の気泡や接着剤のはみ出しを検出します。
-
パーツの曲げを検出します。
3D カメラ+ディープラーニング
点群情報だけでワークを正確に認識、位置決めできない場合があります。3D カメラ+ディープラーニングを使用します。
点群のロス
下図のようなプロジェクトを例として説明します。
-
2D 画像:下図では反射性ワークは密集しており、数も多いです。ワークのエッジと形状がはっきり見えます。
-
点群:反射性があるため点群のロスが発生しました。ワークの軸方向の点群がロスします。
点群のロスのせいで点群のマッチングが間違い、位置姿勢のずれが発生することがあります。また、ワークの点群が密集しているためマッチングが間違う可能性が高いです。ワークの数が多くてビジョン処理の時間は長くなります。
この場合、「インスタンスセグメンテーション」モジュールを使用してモデルをトレーニングしてから、Mech-Vision でディープラーニング関連のステップを使用してワークを認識します。それからマスクの点群を抽出して位置姿勢 A を計算し、マスクにより生成した点群を使用して位置姿勢 B を生成します。位置姿勢 B を使用して元点群位置姿勢 A の X、Y を校正します。
点群に重要な特徴ロス
下図のようなプロジェクトを例として説明します。
-
2D 画像:下図では赤い枠はワーク A と B の正面で、青い枠はワーク A と B の裏面です。矢印は正面・裏面を判別する重要な特徴を指します。
-
点群:重要な特徴が見えません。
特徴が小さいため(点群ではほとんど見えない)、点群を使用してワークの種類判別などを実行するときに間違うことがあります。
この場合に「インスタンスセグメンテーション」モジュールを使用してモデルをトレーニングし、ワークの種類によって異なるラベルを付けます。Mech-Vision のディープラーニング関連のステップでこのモデルを使用するとワークのマスクを抽出すると同時にそのワークの種類ラベルも出力されます。
ワークの点群がなくなる
下図のようなプロジェクトを例として説明します。
-
2D 画像:波形スリーブは光を反射し、コンテナの中に密集しています。
-
点群:点群のロスが発生し、ワークの点群がなくなることもあるます。
特徴点群が少ないため、3D 特徴マッチングによりワークの位置決めと位置姿勢計算はできません。このような点群を使用してマッチングすると間違う可能性も高いです。
この場合に、2D 画像にワークのエッジがはっきり見えるので「インスタンスセグメンテーション」モジュールを使用してモデルをトレーニングし、Mech-Vision のディープラーニング関連のステップでこのモデルを使用します。出力したマスクによりマスクを生成し、この点群位置姿勢、つまり把持位置姿勢を再度計算します。
ワーク表面のパターンと色領域を位置決め
下図のようなプロジェクトを例として説明します。
-
2D 画像:アルミフレームに黄色いテープが付いています。このテープによりフレームの向きを確認できます。
-
点群:ワークの点群がよく取得しましたが、テープの点群は取得できません。
対象特徴はカラー画像には見えますが、点群としては取得できません。
この場合に、テープを位置決めすればフレームの向きがわかります。 「対象物検出」モジュールを使用してモデルをトレーニングし、Mech-Vision のディープラーニング関連のステップでこのモデルを使用してワークを位置決めします。
深いコンテナからのばら積みピッキング
下図のようなプロジェクトを例として説明します。
-
2D 画像:ばら積み鋼棒を処理します。その中、反射性がある鋼棒があります。鋼棒同士は積み重ねがあります。
-
点群:表面が全部露出しているワークの点群をよく見えるように取得しました。積み重ねられたワークの点群をなかなかクラスタリングできません。
ワークの姿勢が様々なので点群のマッチングは難しいです。点群のマッチングの間違いが発生すると位置姿勢の計算も間違います。また、点群のモデルだけを使用して全体のマッチングを行えばビジョン処理の時間が長くなります。
この場合、「インスタンスセグメンテーション」モジュールを使用してモデルをトレーニングし、Mech-Vision のディープラーニング関連のステップでこのモデルを使用してワークのマスクを個別に抽出します。それからワークの点群を個別に取得し、後続の点群のマッチングを行います。
密集しているワークを見分けられない
下図のようなプロジェクトを例として説明します。
-
2D 画像:カメラで収集した画像は暗いためワークのエッジの情報のロスが発生します。画像の輝度を上げます。するとエッジの特徴や寸法、グレースケールを取得できます。
-
点群:点群をよく取得しましたが、ワーク同士が密集しているためエッジはよく見えません。
ワーク同士の点群も密集しており、ワークごとに点群をクラスタリングできません。全体の点群でマッチングすると間違いが発生します。
この場合、「インスタンスセグメンテーション」モジュールを使用してモデルをトレーニングします。Mech-Vision のディープラーニング関連のステップでこのモデルを使用して点群を抽出します。それから点群のマッチングを行います。
多種類のワークの認識・把持
下図のようなプロジェクトを例として説明します。
-
2D 画像:左はばら積み配置で右はワークを見分けた画像です。2 枚とも 2D 画像として情報をよくとれました。
-
点群:ワークの点群をよくとれ、ワークの形状特徴もはっきりと見えます。
円柱形状のワークに対し、点群でマッチングすれば向きを判定できません。また、点群によりワークのカテゴリを直接に判断できません。
この場合、左図のワークに対して「インスタンスセグメンテーション」モジュールを使用してモデルをトレーニングします。それから Mech-Vision のディープラーニング関連のステップでこのモデルを使用して認識、セグメンテーションし、ワークのマスクを出力します。それで後続の点群処理を行います。
右図のワークに対して「インスタンスセグメンテーション」モジュールを使用してワークを一個ずつ認識し、ワークの形状やパターンなどによって「対象物検出」モジュールを使用してワークの向きを判断します。(下図の左はインスタンスセグメンテーションの結果で、右は対象物検出で向き判定の結果です)