HALCON独自の特徴的な機能の1つとして、3次元パターンマッチング機能が挙げられます。HALCONの3次元パターンマッチングは回転、スケール変化だけでなく、輝度値の変化、対象物の遮蔽などにも優れたロバスト性を実現します。また、複数の対象がある場合にも一度に見つけてくることが可能です。
ここでは、3次元パターンマッチングの例題を御紹介します。
HALCONでは、CADを用いて作成した対象物体の3次元形状情報をDXFファイルから読み込むことが可能です。左の図は金属部品の3次元形状を読み込んだ画像となっています。
HALCONに標準で用意されているサンプルプログラムで、読み込むファイル名を変えるだけでDXFファイルからの読み込み、モデル作成を行うことが可能です。
このプログラムでは、DXFファイルを読み込むと左のような画面にて読み込んだデータを確認することができます。マウスでドラッグすることで任意の姿勢にオブジェクトを回転させることができ、それに合わせて右側のウインドウも更新され、姿勢情報を数値化して確認することができます。この3次元データを用いて画像中から対象物をマッチングして、その3次元位置姿勢を取得することが可能です。
上記で確認した数値をモデル作成関数に反映させることで、膨大な量の3次元形状モデルを自動的に作成することができます。
作成したモデルを用いて、実際に検査画像からマッチング処理を行います。左の図中央に対象となる物体が確認できます。
検索を行う場合にも、検索対象の検索範囲(角度、スケールなど)を指定するだけで、1つの関数実行で実現することが可能です。
左画像では対象物以外にも様々な部品が混在しており、余計なエッジが多く立ちやすい状況ですが、結果に示すように高精度なマッチングを実現しています。
結果画像に示すように、輝度の変化や重なりに対してもマッチング処理をロバストに実現できています。一番左の図では対象物と背景のコントラストが極端に低くなっておりますが、問題なく認識することができています。また、一番下の画像では2つの対象物が互いに重なり合うように配置されていますが、こちらに関しても高精度なマッチングを実現しています。