位置合わせ機能

位置合わせ機能をリリースしました。
位置合わせ機能とは、テンプレート画像を登録し、
解析領域がテンプレート画像と同じ向きになるように回転、及びスケーリングを行う機能となります。

  1. 位置合わせを追加

    image
  2. ルールベースタブもしくは配置した位置合わせをクリック
  3. +ボタンを押してAKAZEを追加
    image
  4. テンプレート登録の解析領域から選択をクリック
    image
  5. テンプレート画像編集画面にてテンプレートを編集して保存

    テンプレートに使用したい解析領域の選択

    画像の編集(回転、リサイズ、クロップ)

    保存
  6. 結果の表示
    以下のように解析領域に対して逆三角形(▽)が表示されます。
    ▽の状態が0°となります。

    解析領域一覧にはテンプレートと同じ向きに補正された画像が表示されます。
    image
    必要に応じてパラメータ変更の上、保存してください。
    7.領域検出タスクを追加

    子タスクには回転補正後のデータが渡されます。
    そのため解析領域一覧には回転補正後の画像が表示され、
    キャンバスには回転したバウンディングボックスが表示されます。

ここからは少し細かいテクニックです。
入力画像はスコアマップがある場合はスコアマップを選択することも可能です。
image
テンプレート編集画面も以下のようにスコアマップが表示されます。

スケーリングにチェックを入れると回転だけでなく、解析領域の大きさの合わせに行きます。
image

解析領域およびテンプレートのマスクを使用することで、
マッチングしやすくなるケースがあります。

特徴点の表示してマッチングに使用された対応点の確認を行えます。

位置合わせは特徴点マッチングという手法を使用していまして、
テンプレート画像で求まった特徴点と解析領域の特徴点の対応を取って、回転やスケールを求めています。

SIFTという手法は回転にとても強い手法です。特許の都合上、なかなか製品に組み込めないというのがネックでしたが、最近やっと特許が切れました。ただ、SIFTは少し処理に時間がかかるのでSIFTの高速版であるSURFを使いたいところですが、こちらはまだ特許が切れていない状態です。

AKAZEという手法はSIFTと同様に回転に強い手法です。KAZEという手法の高速版がAKAZEです。こちらはフリーなので使いやすいですが、そこそこ処理時間がかかるのでVisual-SLAMに組み込んだりするのは難しいそうです。

ORBという手法はOriented FAST and Rotated BRIEFの略です。
FASTという手法は名前の通り物凄く高速です。ノード木による分岐で特徴点検出を行います。またRotated BRIEFを組み合わせることにより回転にもある程度強く、ORB-SLAMというSLAMがあるくらいリアルタイム性に優れた手法です。

処理時間を短くしたいときはORBがおすすめです。
ロバストに推定したいときはSIFT、AKAZEがおすすめです。

また、解析領域については少し注意が必要です。
テンプレート画像と同じくらいのサイズの解析領域でないと位置合わせに失敗する可能性があります。
そのため、解析領域は基本「固定」が良いと思います。
しかし、細長い領域の位置合わせを行いたい場合は「自動」を使うざるを得ないと思います。その時は失敗する可能性が上がることを念頭においてください。
なお、失敗した解析領域は子タスクには引き継がれません。

子タスクへの接続時には特定の角度の領域のみ有効にすることで、
一定の角度の場合は処理をしないということもできます。
image
例えばワークが回転していて、正面の時のみ検査するということもできます。

以下のトピックにて実例と動画を紹介しています。
実例で学ぶMenou-TE ~その8 ウェルカムボード編~

こちらの機能も、ご意見、ご要望頂けたらと思います。

「いいね!」 4

位置合わせを行い、次タスクでマスクを掛ける、ROIを設定することは可能でしょうか?

ご質問ありがとうございます。
位置合わせの子タスクでマスクを設定することが可能です。

現状マスク使用時に親タスクのマスクを必ず引き継いでしまいます。
そのため、位置合わせタスクでマスクを使用している場合は、
子タスクにて固定マスクでどこもマスクしない状態にしていただければ、
親のマスクがそのまま引き継がれます。

ただ、マスクの引継ぎについては今後整理していきたいと思っています。
今後は、

  • 親のマスクをそのまま使用
  • 親のマスクを引き継がない

等の機能を追加したいと思っております。