(58)【調査した分野】(Int.Cl.,DB名)
前記受付手段は、前記特徴部位の編集指示として、当該特徴部位の追加及び削除のうち、少なくとも一方の指示の入力を受け付けることを特徴とする請求項1に記載の画像処理装置。
前記抽出手段は、前記テンプレート生成用画像から、前記対象物の最外輪郭線上に存する基準コーナー点及び前記基準コーナー点の近傍に存する当該基準コーナー点と逆方向の勾配のエッジベクトルを有する補助コーナー点のうち、少なくとも一方を特徴部位として抽出し、
前記リスト生成手段は、前記基準コーナー点及び前記補助コーナー点のうちの少なくとも一方がこれら以外の特徴部位に対して相対的に高くなるように算出された重要度に従って前記複数の特徴部位を所定の順序で並べた特徴部位リストを生成することを特徴とする請求項1〜4の何れか一項に記載の画像処理装置。
【発明を実施するための形態】
【0022】
(発明の実施形態の全体構成)
本発明の実施形態について、
図1〜
図26に基づいて説明する。本実施形態は、撮像画像内で探索対象物である電子部品を探索するための画像処理装置10が電子部品実装装置100に搭載され、後述する吸着ノズルに吸着された電子部品の位置を検出する目的に利用される場合の例を示している。
【0023】
(電子部品実装装置)
図1は電子部品実装装置100の平面図であり、
図2は電子部品実装装置100の制御系を示すブロック図である。
電子部品実装装置100は、基板に各種の電子部品の搭載を行うものであって、電子部品の搭載手段として、
図1に示すように、搭載される電子部品を供給する複数の電子部品フィーダ101と、電子部品フィーダ101を複数並べて保持する電子部品供給部としてのフィーダバンク102と、一定方向に基板を搬送する基板搬送手段103と、当該基板搬送手段103による基板搬送経路の途中に設けられた基板に対する電子部品搭載作業を行うための搭載作業部104と、電子部品を吸着する吸着ノズル105を保持して電子部品の保持を行う部品保持手段としてのヘッド106と、ヘッド106を所定範囲内の任意の位置に駆動搬送するヘッド移動手段としてのX−Yガントリ107と、吸着ノズル105に吸着された電子部品の撮像を行う標準カメラ115及び高解像度カメラ116と、撮像位置に照明光を照射する照明装置117と、電子部品実装装置100の各構成に対して制御を行う制御装置120と、カメラ115,116の撮像画像からテンプレートデータを生成したり、テンプレートデータを用いて探索対象となる電子部品の探索処理を実行する画像処理装置10とを備えている。
【0024】
画像処理装置10は、カメラ115,116による電子部品Sの撮像画像から正確な位置情報を求め、制御装置120に出力することでヘッド106の位置決め動作に反映させるために利用される。
標準カメラ115及び高解像度カメラ116は、例えば、CCDカメラやCMOSカメラ等から構成され、搭載が行われる電子部品の電極サイズによって使い分けられるようになっている。以下の記載では、標準カメラ115が使用される前提で説明を行うこととする。
また、以下の説明において、水平面に沿って互いに直交する一の方向をX軸方向とし、他の方向をY軸方向とし、垂直上下方向をZ軸方向と称することとする。
【0025】
基板搬送手段103は、図示しない搬送ベルトを備えており、その搬送ベルトにより基板をX軸方向に沿って搬送する。
また、前述したように、基板搬送手段103による基板搬送経路の途中には、電子部品を基板へ搭載する搭載作業部104が設けられている。基板搬送手段103は、搭載作業部104まで基板を搬送するとともに停止して、図示しない保持機構により基板の保持を行う。つまり、基板は保持機構により保持された状態で安定した電子部品の搭載作業が行われる。
【0026】
ヘッド106は、その先端部で空気吸引により電子部品を保持する吸着ノズル105と、この吸着ノズル105をZ軸方向に駆動する駆動源であるZ軸モータ111と、吸着ノズル105を介して保持された電子部品をZ軸方向を中心として回転駆動させる回転駆動源であるθ軸モータ112とが設けられている。
また、各吸着ノズル105は負圧発生装置108に接続され、当該吸着ノズル105の先端部において吸気吸引を行うことにより電子部品の吸着及び保持が行われる。
つまりこれらの構造により、搭載作業時には、吸着ノズル105の先端部で所定の電子部品フィーダ101から電子部品を吸着し、所定位置で基板に向かって吸着ノズル105を下降させると共に吸着ノズル105を回転させて電子部品の向きの調整を行いつつ搭載作業が行われる。
また、前述した各カメラ115,116は、ベースフレーム114に搭載されており、X−Yガントリ107によりヘッド106が各カメラ115,116の位置決めされて撮像が行われるようになっている。
各カメラ115,116は、ベースフレーム114から上方に向けられた状態で保持されており、吸着ノズル105に吸着された電子部品Sを下方から撮像し、撮像画像を画像処理装置10に出力する。
【0027】
X−Yガントリ107は、X軸方向にヘッド106の移動を案内するX軸ガイドレール107aと、このX軸ガイドレール107aとともにヘッド106をY軸方向に案内する二本のY軸ガイドレール107b、107bと、X軸方向に沿ってヘッド106を移動させる駆動源であるX軸モータ109と、X軸ガイドレール107aを介してヘッド106をY軸方向に移動させる駆動源であるY軸モータ110とを備えている。そして、各モータ109,110の駆動により、ヘッド106を二本のY軸ガイドレール107bの間となる領域のほぼ全体に搬送することを可能としている。
なお、各モータは、ぞれぞれの回転量が制御装置120に認識され、所望の回転量となるように制御されることにより、ヘッド106を介して吸着ノズル105や各カメラ115,116の位置決めを行っている。
また、電子部品の必要上、前記したフィーダバンク102,搭載作業部104とはいずれもX−Yガントリ107によるヘッド106の搬送可能領域内に配置されている。
【0028】
フィーダバンク102には、複数の電子部品フィーダ101がX軸方向に沿って羅列して載置装備される。
各電子部品フィーダ101は、後端部に電子部品が一列に並んで封止された部品テープのリール(図示略)が保持されており、部品テープはリールから電子部品フィーダ101の先端部(基板側の端部)の上側に設けられた部品受け渡し位置101aまで繰り出され、当該部品受け渡し位置101aにおいて吸着ノズル105により電子部品の吸着が行われるようになっている。
【0029】
制御装置120は、基板Kに搭載する電子部品Sのリスト、搭載順番、各電子部品の部品吸着位置(いずれの電子部品フィーダ101から受け取るか)及び基板Kにおける搭載位置等が定められた搭載プログラムを記録し、当該搭載プログラムに従ってX軸モータ109、Y軸モータ110及びZ軸モータ111を制御し、ヘッド106の位置決め制御を行う。また、この制御装置120は、吸着時の電子部品に対してθ軸モータ112を駆動して吸着ノズル105を回転させて角度修正制御を行い、X軸モータ109及びY軸モータ110により位置修正制御を行う。
かかる制御装置120は、電子部品Sの吸着ノズル105による吸着後に標準カメラ115又は高解像度カメラ116による撮像が行われ、当該撮像画像に基づいて画像処理装置10が求めた電子部品の正確な位置及び向きに基づいて電子部品Sの向きをθ軸モータ112により補正し、X軸モータ109及びY軸モータ110により搭載時のヘッド106による搭載位置を補正するようになっている。
【0030】
(画像処理装置)
画像処理装置10は、各カメラ115,116及びその照明装置117と画像処理装置全体を制御する制御部11と、各カメラ115,116の画像信号をデジタル化するA/D変換器12と、デジタル化された撮像画像データを記憶する画像メモリ13と、撮像画像データに基づいて電子部品の探索対象を探索するための画像処理を実行する演算部14と、画像処理や各部の制御において作業領域となる作業用メモリ15と、後述する各種フィルタ演算を高速で行う高速フィルタ演算モジュールである並列演算機構16と、画像処理装置10の制御部11が制御装置120とのデータ通信を行うインターフェース17と、画像データに対してエッジ検出処理を行う撮像画像演算機構18と、テンプレートデータを格納するテンプレートデータ格納メモリ19と、各種の処理を施された画像データをアナログ化してモニタ21に出力するD/A変換器20と、図示しない端末装置と制御装置120とのデータ通信を行うマンマシンインターフェース22とを備えている。
【0031】
また、制御装置120は、通常、対象物のサイズによって、撮像するカメラ115又は116を選択し、対象物Sを吸着ノズル105で吸着し、選択したカメラ115又は116の撮像位置にセットする。さらに、照明装置117を選択したカメラ115又は116で撮像できるよう移動、点灯させ、画像処理装置10にインターフェース17を介して、選択したカメラチャネル情報とともに処理実行を指示する。画像処理装置10は、指定されたカメラ115又は116を制御し、対象物Sの画像を撮像し、A/D変換器12でデジタル化し、画像メモリ13に多値画像データとして記憶する。
【0032】
画像処理装置10は、画像メモリ13のデータに対して、各種処理を行い、例えば、予め対象物(電子部品)Sのテンプレートを生成したり、調整したり、そのテンプレートを用いて、対象物Sの位置検出をしたりすることができる。処理内容や処理パラメータはコマンドとして制御装置120からインターフェース17を介して、画像処理装置10に送信される。
このとき、画像処理装置10は、各種処理を制御部11や演算部14を用いて行い、生成させた処理データを作業用メモリ15に格納する。また、位置決め結果等の処理結果は、レスポンスとして画像処理装置10からインターフェース17を介して制御装置120に送信される。
【0033】
以下に、画像処理装置10が行う対象物Sの探索処理を順を追って詳細に説明する。
まず、画像処理装置10は、探索を実行する前の準備段階(例えば、電子部品の実装作業を開始する前の段階)で、対象物(電子部品)Sのテンプレートを生成するテンプレート生成処理を行う(
図3参照)。
【0034】
<テンプレート生成処理>
テンプレート生成処理について、
図3のフローチャートに基づいて説明する。
なお、本発明の画像処理装置10を電子部品の位置決め、搭載を行う実装機に応用する場合、テンプレートの生成は、実装作業時以外の機会で実行するものとし、生成作業には時間がかかっても構わない。テンプレートデータとして事前に準備しておける作業はすべてこのフェーズで行い、実装作業中に行われるサーチ処理を高速に行えるようにする。
【0035】
(1)テンプレート生成用画像の撮像(ステップS1)
画像処理装置10は、指定された標準カメラ115又は高解像度カメラ116を制御し、基準姿勢の対象物Sの画像を撮像、A/Dコンバータ12でデジタル化し、テンプレート生成用画像P1の多値画像データ(
図4参照)として画像メモリ13に記憶させる。
図4に示すテンプレート生成用画像P1の多値画像データは、例えば、各画素の画素値(例えば、輝度値)を1Byte(8bit;256階調)で表した画像データである。
【0036】
(2)特徴部位抽出処理(ステップS2;
図5参照)
画像処理装置10は、テンプレート生成用画像P1から重要度(位置決め精度に寄与する度合い)が相対的に高い、即ち、探索に用いられる対象物Sの特徴部位を自動的に所定数抽出する。ここで、画像処理装置10は、対象物Sのテンプレートの生成用のテンプレート生成用画像P1から特徴部位を抽出する抽出手段として機能する。
さらに、画像処理装置10は、テンプレート生成用画像P1とともに特徴部位を表示して、対象物Sのユーザ所望の特定部分(例えば、ボス穴へ挿入されるコネクタやカードスロット用のコネクタに対応する部分等)に対応する特徴部位の追加や削除といった編集指示を入力可能な状態とする。
なお、特徴部位抽出処理の具体的な処理内容については後述する。
【0037】
(3)編集処理(ステップS3)
画像処理装置10は、受付手段として、テンプレート生成用画像P1内に特徴部位が表示された状態で、対象物Sの特定部分に対応する特徴部位の編集指示の入力を受け付ける。そして、画像処理装置10は、入力された編集指示に従って当該特徴部位を編集する。
具体的には、画像処理装置10は、制御装置120のマンマシンインターフェース22及びインターフェース17を介して、編集終了指示が入力されたか否かを判定する(ステップS31)。ここで、編集終了指示が入力されていないと判定されると(ステップS31;NO)、画像処理装置10は、制御装置120のマンマシンインターフェース22及びインターフェース17を介して、対象物Sの特定部分に対応する特徴部位の追加指示が入力されたか否かを判定する(ステップS32)。
【0038】
ステップS32にて、特定部分に対応する特徴部位の追加指示が入力されたと判定されると(ステップS32;YES)、画像処理装置10は、特徴部位の追加編集処理を行う(ステップS33)。具体的には、画像処理装置10は、追加指示が入力された特徴部位を追加すべきか否かを対象物Sの検出精度を基準として判定する。ここで、対象物Sの検出精度は、例えば、複数の特徴部位の位置関係、即ち、追加や削除される特徴部位とそれ以外の残りの特徴部位との位置関係に応じて変動する。
そして、画像処理装置10は、対象物Sの検出精度が相対的に低下しないと判定した場合には、当該特徴部位を追加する一方で、対象物Sの検出精度が相対的に低下すると判定した場合には、その旨をマンマシンインターフェース22を介して接続されている端末装置から報知させる。
一方、ステップS32にて、特定部分に対応する特徴部位の追加指示が入力されていないと判定されると(ステップS32;NO)、画像処理装置10は、ステップS33をスキップして、処理をステップS34に移行させる。
【0039】
次に、画像処理装置10は、制御装置120のマンマシンインターフェース22及びインターフェース17を介して、特徴部位の削除指示が入力されたか否かを判定する(ステップS34)。
そして、特徴部位の削除指示が入力されたと判定されると(ステップS34;YES)、画像処理装置10は、特徴部位の削除編集処理を行う(ステップS35)。具体的には、画像処理装置10は、削除指示が入力された特徴部位を削除すべきか否かを対象物Sの検出精度を基準として判定し、対象物Sの検出精度が相対的に低下しないと判定した場合には、当該特徴部位を削除する一方で、対象物Sの検出精度が相対的に低下すると判定した場合には、その旨をマンマシンインターフェース22を介して接続されている端末装置から報知させる。
なお、削除される特徴部位は、対象物Sの特定部分に対応する特徴部位であっても良いし、これ以外の特徴部位であっても良い。
一方、ステップS34にて、特徴部位の削除指示が入力されていないと判定されると(ステップS34;NO)、画像処理装置10は、ステップS35をスキップして、処理をステップS31に移行させる。
【0040】
このように、画像処理装置10は、編集指示が入力された特徴部位を編集すべきか否かを判定する判定手段、判定手段により編集すべきと判定された特徴部位を編集する編集手段、判定手段により編集すべきでないと判定された場合に、対象物Sの検出精度が低下する旨を報知する報知手段として機能する。
【0041】
ステップS31にて、編集終了指示が入力されたと判定されると(ステップS31;YES)、画像処理装置10は、当該編集処理を終了して、処理をステップS4に移行させる。
【0042】
(4)特徴部位特定処理(ステップS4;
図21参照)
画像処理装置10は、編集処理後の複数の特徴部位の中で対象物Sの特定部分の位置検出に用いられる特徴部位を自動的に特定する特徴部位特定処理を行う。
具体的には、画像処理装置10は、先ず、編集処理後の複数の特徴部位を、対象物Sの探索用画像(図示略)内で対象物Sを検出する際の重要度に従って所定の順序(例えば、重要度の低い順等)で並べた特徴部位リストを生成する。そして、画像処理装置10は、特徴部位リストに含まれる複数の特徴部位について、重要度の低い方から順に特徴部位を仮削除していき、何れか一の特徴部位を仮削除する毎に、所定の探索評価用画像(
図23(b)参照)内で対象物Sの探索を行って当該対象物Sの特定部分の位置検出の評価値を算出する。その後、画像処理装置10は、算出された評価値を考慮して、所定の検出精度を維持できるように、複数の特徴部位の中で対象物Sの特定部分の位置検出に用いられる特徴部位を特定する。
ここで、画像処理装置10は、編集手段により編集された特徴部位を含む複数の特徴部位を、探索用画像内で対象物Sを検出する際の重要度に従って所定の順序で並べた特徴部位リストを生成するリスト生成手段、特徴部位リストに含まれる複数の特徴部位について、重要度の低い方から順に特徴部位を削除していき、何れか一の特徴部位を削除する毎に、所定の探索評価用画像内で対象物Sの探索を行って当該対象物Sの特定部分の位置検出の評価値を算出する評価値算出手段、評価値算出手段により算出された評価値に基づいて、複数の特徴部位の中で対象物Sの特定部分の位置検出に用いられる特徴部位を特定する特徴部位特定手段として機能する。
なお、特徴部位特定処理の具体的な処理内容については後述する。
【0043】
(5)データ形式特定処理(ステップS5;
図24参照)
画像処理装置10は、テンプレート濃淡画像、テンプレートエッジ画像(Byte型)、テンプレートエッジ画像(Bit型)、テンプレートエッジ点情報の中で(
図25、
図26等参照)、何れか一のテンプレートデータの形式を自動的に特定するデータ形式特定処理を行う。
具体的には、画像処理装置10は、テンプレートデータ格納メモリ19の容量や、対象物Sの特定部分の位置検出の精度及びタクト等を考慮して、テンプレートデータの形式を特定する。
ここで、画像処理装置10は、テンプレートが格納される格納領域の容量、対象物Sの特定部分の位置検出の精度及び処理時間のうち、少なくとも何れか一を基準として、生成されるテンプレートのデータ形式を特定するデータ形式特定手段として機能する。
なお、データ形式特定処理の具体的な処理内容については後述する。
【0044】
(6)テンプレートの生成(ステップS6;
図24参照)
画像処理装置10は、特徴部位特定処理により特定された特徴部位に基づいてテンプレートを生成する。具体的には、画像処理装置10は、データ形式特定処理にて特定されたテンプレートデータの形式(例えば、テンプレートエッジ画像(Byte型)等)に従って、テンプレートを生成する。
ここで、画像処理装置10は、特徴部位特定処理により特定された特徴部位に基づいてテンプレートを生成するテンプレート生成手段として機能する。
【0045】
<特徴部位抽出処理>
次に、テンプレート生成処理における特徴部位抽出処理(ステップS2)について
図5〜
図20を参照して詳細に説明する。
図5は、特徴部位抽出処理に係る動作の一例を示すフローチャートである。
【0046】
特徴部位とは、探索用画像内で際立って検出できる部位のことであり、例えば、対象物Sのコーナー部位や辺部位等の複数種類が含まれている。
辺部位は、例えば、後述する変曲点間の距離が所定の閾値より大きい(長い)部分であり、また、コーナー部位は、一の辺と、この一の辺の近傍(例えば、30画素以内等)に存する開き角度が60°〜120°となる他の辺との2つ辺により規定される部分である。
コーナー部位としては、例えば、基準コーナー点、補助コーナー点、通常コーナー点等が挙げられ、辺部位としては、例えば、補助辺、通常辺等が挙げられる(詳細後述)。
【0047】
また、特徴部位の各々は、対象物Sの探索用画像(図示略)内で対象物Sを検出する際の重要度が異なる。具体的には、例えば、
図6に示すように、各評価要素毎に設定された補正係数i,j,k,l,mを用いて下記式(1)に従って重要度が算出される。
重要度={(辺長1×i×j)+(辺長2×i×j)+(R長×k)}×l×m …式(1)
【0048】
図5に示すように、画像処理装置10は、先ず、画像メモリ13からテンプレート生成用画像P1の多値画像データ(
図4参照)を取得して、当該テンプレート生成用画像P1についてエッジ検出処理を行う(ステップS21)。
エッジ検出処理は、例えば、ガウシアンフィルタなどのノイズ削除が行える平滑化効果を併せ持つ、エッジ検出フィルタをテンプレート生成用画像P1にかけ、フィルタ出力結果に対して、しきい値処理等によりエッジ(輪郭)を検出する。このとき、エッジ検出のパラメータによっては、並列演算機構16を用いた高速フィルタ演算モジュールで処理しても構わない。
そして、画像処理装置10は、対象物Sの輪郭を表すエッジ画像P2(
図11等参照)を取得して、作業用メモリ15に格納する。
【0049】
次に、画像処理装置10は、作業用メモリ15にからエッジ画像P2を取得して、当該エッジ画像P2についてラベリング処理を行って、各エッジ点について所定のラベル番号を付加してセグメント化する(ステップS22)。
そして、画像処理装置10は、ラベル番号が付加されたラベル画像を作業用メモリ15に格納する。
【0050】
次に、画像処理装置10は、作業用メモリ15にからラベル画像を取得して、当該ラベル画像について境界追跡を行い、変曲点を検出して、当該変曲点を特徴点とする(ステップS23)。具体的には、画像処理装置10は、例えば、区分的直線近似法を用いて変曲点を検出する(
図7(a)〜
図7(c)参照)。
【0051】
図7(a)〜
図7(c)は、区分的直線近似法を用いた変曲点の検出を説明するための図である。
図7(a)〜
図7(c)にあっては、エッジ点を黒丸で表す。
【0052】
図7(a)〜
図7(c)に示すように、区分的直線近似法では、先ず、起点と終点を結ぶ直線Lに対して、画素列の中で一番遠い点Pfを選ぶ(
図7(a))。そして、その点Pfでエッジ点である画素列を2分して、それぞれの画素列に同様の処理を再帰的に繰り返す(
図7(b)及び
図7(c))。また、予め線分と点との距離の最小値を決めておき、その値より小さくなれば再帰処理を終了するものとする。
このとき、検出した際の再帰の回数がより少ないほど、そのセグメントの輪郭線においてより抽象度の高い重要な特徴点といえる。従って、特徴点として抽出した際、この値(検出再帰回数)も一緒に記録しておく。再帰処理が終了した際、最大の再帰ネスト回数を分母として正規化を行い、0〜1の値で特徴点の重要度を表すようにする。
【0053】
次に、画像処理装置10は、検出された変曲点を基準として、エッジ画像P2内で、例えば、基準コーナー点、補助コーナー点、通常コーナー点等を抽出するコーナー抽出処理(
図8参照)を行う(ステップS24)。
【0054】
<コーナー抽出処理>
以下に、コーナー抽出処理について詳細に説明する。
図8は、コーナー抽出処理に係る動作の一例を示すフローチャートである。また、
図9(a)及び
図9(b)は、コーナー抽出処理におけるコーナー部位の抽出を説明するための図である。
【0055】
コーナー部位は、辺部位に比べて、テンプレートと探索用画像内の対象物Sとの位置合わせ処理である探索処理にて、位置決め精度に寄与する度合い(重要度)が高い。また、位置決めのタクトはテンプレートのエッジ点数に比例するので、特徴部位としてコーナー点を主体とした方が有利である。
コーナー部位には、例えば、基準コーナー点、補助コーナー点、通常コーナー点の3種が含まれる。また、位置決め精度に寄与する度合い(重要度)は、基準コーナー点>補助コーナー点>通常コーナー点となっている。
基準コーナー点とは、エッジ画像P2の対象物Sに相当する部分の最外輪郭線O(
図12(c)等参照)上に存し、主として、探索処理における粗サーチ(特許文献2参照)にて用いられる基準点を含むコーナー点である。
補助コーナー点とは、基準コーナー点の近傍に存する当該基準コーナー点と逆方向の勾配のエッジベクトルを有するコーナー点である。また、補助コーナー点は、主として、探索処理における精サーチ(特許文献2参照)にて用いられ、基準コーナー点が真の位置から外れ、誤って近隣のエッジに収束してしまうことを抑止するためのものである。
通常コーナー点とは、コーナー点のうち、基準コーナー点及び補助コーナー点以外のコーナー点である。
【0056】
なお、粗サーチ及び精サーチについては、上記特許文献2に詳細に説明されている。
即ち、画像処理装置10は、テンプレートと探索用画像内の対象物Sとの位置合わせ処理(探索処理)を画像エネルギーを用いて行う。具体的には、画像処理装置10は、テンプレートを所定方向に少しずつ移動させながら当該テンプレート上の各エッジ点が探索用画像から受けるエネルギーを逐次算出する処理を繰り返し、画像エネルギーが最小となる位置を探し出す。このとき、位置合わせを行うものどうしがある程度近くに存在しなければならず、精サーチにおける初期位置を設定するために相対的に精度の低い適当な粗サーチ方法と組み合わせる。
粗サーチは、例えば、探索用画像内でテンプレートをピクセル単位の誤差範囲(例えば、±2画素程度)で探索する処理である。そして、精サーチでは、探索用画像上での粗サーチの位置決め結果を基準として初期位置を設定する。
【0057】
図8に示すように、画像処理装置10は、検出された複数の変曲点を基準としてエッジ画像P2内のコーナー部位を抽出する(ステップS201)。具体的には、画像処理装置10は、2つの変曲点間の距離が予め定義した所定の閾値より長い部分の各々を一の辺として特定し(
図9(a)参照)、当該一の辺の近傍(例えば、30画素以内等)に、開き角度が60°〜120°となる他の辺が存在するか否かを判定する。ここで、一の辺の近傍に開き角度が60°〜120°となる他の辺が存在すると判定されると、画像処理装置10は、これら2つの辺により規定される部分をコーナー部位として抽出する(
図9(b)参照)。
即ち、コーナー部位には、2つ辺と、これら辺どうしが交わるコーナー点、当該コーナー点を挟み2つの辺の間の部分である2つのR部が含まれている。
【0058】
次に、画像処理装置10は、抽出された各コーナー部位のR部のサイズを算出する(ステップS202)。具体的には、画像処理装置10は、抽出された各コーナー部位のコーナー点の座標及び各辺を構成する変曲点のうちのコーナー点に近い方の変曲点の座標を取得して、これらの距離(画素数)をR部のサイズとして算出する。
【0059】
次に、画像処理装置10は、エッジ画像P2内の対象物Sに相当する部分の最外輪郭線Oを検出する最外輪郭線検出処理(
図10参照)を行う(ステップS203)。
【0060】
<最外輪郭線検出処理>
以下に、最外輪郭線検出処理について詳細に説明する。
図10は、最外輪郭線検出処理に係る動作の一例を示すフローチャートである。また、
図11(a)〜
図11(c)並びに
図12(a)〜
図12(c)は、最外輪郭線検出処理を説明するための図である。
なお、以下の説明では、エッジ画像P2の左上角部を原点(0,0)として説明する。また、
図11(a)〜
図11(c)並びに
図12(a)〜
図12(c)にあっては、各コーナー点を斜線が付された正方形で表し、各変曲点を内部が塗り潰された正方形で表す。
【0061】
図10に示すように、画像処理装置10は、エッジ画像P2内の複数のコーナー点のうち、y座標が最小となるコーナー点aを始点として選択して(ステップS211;
図11(a)参照)、当該始点を基準点bとして特定する(ステップS212;
図11(b)参照)。
【0062】
次に、画像処理装置10は、基準点bが始点aに戻ったか否かを判定する(ステップS213)。
ここで、基準点が始点に戻っていないと判定されると(ステップS213;NO)、画像処理装置10は、基準点bから各コーナー点に対して掃引線cを引き(ステップS214;
図11(b)参照)、掃引線cと所定の軸(例えば、x軸(y=0)やy軸(x=0)との角度が最小となるコーナー点dを選択する(ステップS215;
図11(c)参照)。ここで、掃引線cは、最外輪郭線Oの一部分を構成する。
そして、画像処理装置10は、選択されたコーナー点dを基準点bとして特定した後(ステップS216;
図12(a)参照)、処理をステップS213に戻す。
【0063】
画像処理装置10は、ステップS213にて、基準点bが始点aに戻ったか否かを判定し(ステップS213)、基準点bが始点aに戻っていないと判定されると(ステップS213;NO)、ステップS214〜S216の各処理を上記と同様に行う。
そして、ステップS213にて、基準点bが始点aに戻ったと判定されるまで(ステップS213;YES)、画像処理装置10は、ステップS214〜S216の各処理を繰り返し行って(
図12(b)参照)、複数の掃引線cを含んで構成された最外輪郭線Oを検出する(
図12(c)参照)。
また、基準点bが始点aに戻ったと判定されると(ステップS213;YES)、画像処理装置10は、当該最外輪郭線検出処理を終了する。
【0064】
図7に戻り、画像処理装置10は、最外輪郭線O上のコーナー点から基準コーナー点を抽出する基準コーナー抽出処理(
図13参照)を行う(ステップS204)。
【0065】
<基準コーナー抽出処理>
以下に、基準コーナー抽出処理について詳細に説明する。
図13は、基準コーナー抽出処理に係る動作の一例を示すフローチャートである。また、
図14(a)〜
図14(c)は、基準コーナー抽出処理を説明するための図である。
なお、
図14(a)〜
図14(c)にあっては、各コーナー点を斜線が付された正方形で表す。
【0066】
最低3つの基準コーナー点があれば位置決め可能であるが、基準コーナー抽出処理では、位置決めの信頼性、安定性を高める上で、4つの基準コーナー点を抽出する。また、これら4つの基準コーナー点は、できる限り均等に配置した方が良いと考えられる。
【0067】
図13に示すように、画像処理装置10は、最外輪郭線O上の複数のコーナー点のうち、最も離れている2つのコーナー点A,Bを基準コーナー点として選択する(ステップS221;
図14(a)参照)。
続けて、画像処理装置10は、最外輪郭線O上の複数のコーナー点のうち、線分ABを底辺とする三角形の頂点となり、且つ、面積が最大となるコーナー点Cを基準コーナー点として選択する(ステップS222;
図14(b)参照)。
次に、画像処理装置10は、最外輪郭線O上の複数のコーナー点のうち、線分ABを挟んでコーナー点Cと反対側にあり、且つ、コーナー点Cから最も離れたコーナー点Dを基準コーナー点として選択する(ステップS223;
図14(c)参照)。
【0068】
図7に戻り、画像処理装置10は、最外輪郭線O上のコーナー点から補助コーナー点を抽出する処理を行う(ステップS205;
図15(a)及び
図15(b)参照)。
ここで、
図15(a)及び
図15(b)は、補助コーナー点の抽出を説明するための図である。なお、
図15(a)及び
図15(b)にあっては、各コーナー点を斜線が付された正方形で表し、各基準コーナー点を基準とする探索領域を破線で表す。
【0069】
図15(a)に示すように、画像処理装置10は、エッジ画像P2内で4つの基準コーナー点A〜Dの各々を基準として所定の大きさの探索領域を設定する。ここで、探索領域の大きさは粗サーチの精度にも依存するが、画像処理装置10は、例えば、各基準コーナー点を中心とし、半径20画素程度の円領域を探索領域として設定する。
そして、
図15(b)に示すように、画像処理装置10は、探索領域内で基準コーナー点A〜Dと逆方向の勾配のエッジベクトルを有するコーナー点A’〜D’を補助コーナー点として抽出する。
【0070】
図7に戻り、画像処理装置10は、基準コーナー点及び補助コーナー点の各々の重要度を算出する(ステップS206)。
各コーナー点(コーナー部位)は2つの辺を含んでなるので、画像処理装置10は、各辺(特に、辺の長さ)を基準にして式(1)に従って重要度を算出する(
図6参照)。
【0071】
ここで、評価要素について
図6を参照して説明する。
図6に示すように、評価要素としては、例えば、辺(線分)の長さ、辺(線分)の粗さ、ノイズ成分との距離、R部のサイズ、中心からの距離、種別、ユーザ補正値等が挙げられる。
【0072】
辺の長さは、長いほど重要度が高い。
辺の粗さとは、各辺を構成する複数の画素(エッジ点)のうち、当該辺の延在方向に直交する方向へのずれ具合のことである(
図16参照)。また、辺の粗さに対応する補正係数iは、当該粗さが小さいほど大きくなる(重要度が高く)なるように設定されている。
ノイズ成分との距離とは、各辺の周辺に存する他の辺等のセグメントをノイズ成分とみなした場合の当該ノイズ成分と各辺との距離のことである(
図16参照)。また、ノイズ成分との距離に対応する補正係数jは、当該距離が大きいほど大きくなる(重要度が高く)ように設定されている。
R部のサイズは、各コーナー点(コーナー部位)に対応する2つの辺により規定される。また、R部のサイズに対応する補正係数kは、当該サイズが大きいほど大きくなる(重要度が高く)なるように設定されている。
中心からの距離は、各コーナー点のエッジ画像P2の中心からの距離のことである。また、中心からの距離に対応する補正係数lは、当該距離が大きい(中心から離れている)ほど大きくなる(重要度が高く)なるように設定されている。
種別は、コーナー部位及び辺部位に対応するものであり、例えば、基準コーナー点、補助コーナー点、通常コーナー点、補助辺、通常辺の順に大きく(重要度が高く)なるように補正係数mが設定されている。即ち、基準コーナー点や補助コーナー点の重要度は、通常コーナー点、補助辺、通常辺等の特徴部位に対して相対的に高くなる。
ユーザ補正値は、コーナー点や辺の重要度をユーザが任意に指定した場合の補正係数である。即ち、各特徴部位の重要度は、ユーザによる端末装置(図示略)の所定操作に基づいてユーザ補正値が指定されることで補正可能となっているが、本実施形態では、ユーザ補正値は設定されていないものとする。
【0073】
具体的には、画像処理装置10は、辺の粗さに対応する補正係数i及びノイズ成分との距離に対応する補正係数jを設定して、各辺長1、2の各々に乗算するとともに、R部のサイズに対応する補正係数kを設定して、R部のサイズに乗算して、これらを加算する。そして、画像処理装置10は、中心からの距離に対応する補正係数l及び種別に対応する補正係数mを設定して、上記の加算した結果に乗算したものを重要度として算出する。
重要度={(辺長1×i×j)+(辺長2×i×j)+(R長×k)}×l×m …式(1)
そして、画像処理装置10は、算出された重要度を各コーナー点と対応付けて作業用メモリ15に格納する。
【0074】
図7に戻り、画像処理装置10は、エッジ画像P2内で抽出されたコーナー点を表すための画像データを生成して、制御装置120のマンマシンインターフェース22及びインターフェース17を介して端末装置に表示させる(ステップS207)。具体的には、画像処理装置10は、抽出された基準コーナー点A〜Dや補助コーナー点A’〜D’の各々について、各コーナー点の座標を基準として各コーナーに対応する辺の直線部分を所定画素数(例えば、20画素等)以上含む矩形領域を設定する。そして、端末装置は、基準コーナー点A〜Dや補助コーナー点A’〜D’の各々が識別表示された矩形領域を表示する(
図17参照)。なお、
図17にあっては、各コーナー点を斜線が付された正方形で表す。
また、画像処理装置10は、抽出されたコーナー点の重要度のスコアを閾値として、通常コーナー点の中で当該閾値を上回るものをコーナー点として追加して表示させても良い。
【0075】
これにより、コーナー抽出処理を終了する。
図5に戻り、画像処理装置10は、エッジ画像P2内で、例えば、補助辺、通常辺等を抽出する辺抽出処理(
図18参照)を行う(ステップS25)。
【0076】
<辺抽出処理>
以下に、辺抽出処理について詳細に説明する。
図18は、辺抽出処理に係る動作の一例を示すフローチャートである。また、
図19(a)及び
図19(b)並びに
図20(a)及び
図20(b)は、辺抽出処理を説明するための図である。なお、
図19(a)及び
図19(b)にあっては、各基準コーナー点を斜線が付された正方形で表し、各変曲点を内部が塗り潰された正方形で表す。
【0077】
上記したようにコーナー部位の方が辺部位に比べて、テンプレートと探索用画像内の対象物Sとの位置合わせ処理である探索処理にて、位置決め精度に寄与する度合い(重要度)が高く、位置決めのタクトの面でも有利である。
そこで、辺抽出処理は、コーナー抽出処理にて抽出されたコーナー点が3点未満であった場合やコーナー点の重要度のスコアが著しく低かった場合や辺の重要度のスコアが突出して高い場合に限り行うこととする。
【0078】
辺部位には、例えば、補助辺、通常辺等が含まれる。位置決め精度に寄与する度合い(重要度)は、補助辺>通常辺となっている。
補助辺とは、基準コーナー点が3点以上あった場合に、所定数の基準コーナー点により設定された選択領域内に存する辺であって、最外輪郭線O上の縦方向及び横方向で最も長い辺である。この補助辺は、コーナー点による位置決めをさらに高精度化できる。
通常辺とは、上記した補助辺以外の辺である。
【0079】
図18に示すように、画像処理装置10は、2つの変曲点間の距離が予め定義した所定の閾値より長い部分の各々を辺として抽出する(ステップS231)。このとき、画像処理装置10は、一の辺の近傍(例えば、30画素以内等)に、開き角度が60°〜120°となる他の辺が存在しない場合、即ち、開き角度が0°〜60°、120°〜180°となる辺が存在しても、一の辺として抽出する。
【0080】
次に、画像処理装置10は、抽出された各辺の重要度を式(1)に従って算出する(ステップS232)。ここで、重要度の算出方法や評価要素等(
図6参照)は、上記したコーナー点についての重要度の場合と同様であり、その詳細な説明は省略する。
重要度={(辺長1×i×j)+(辺長2×i×j)+(R長×k)}×l×m …式(1)
ただし、式(1)において、辺長2及びR長の項目は0として演算するものとする。
そして、画像処理装置10は、算出された重要度を各辺と対応付けて作業用メモリ15に格納する。
【0081】
続けて、画像処理装置10は、補助辺の選択が可能であるか否かを判定する(ステップS233)。具体的には、画像処理装置10は、コーナー抽出処理にて基準コーナー点が3点以上抽出されているか否かに応じて補助辺の選択が可能であるか否かを判定する。
ここで、基準コーナー点が3点以上抽出されており、補助辺の選択が可能であると判定されると(ステップS233;YES)、画像処理装置10は、3点以上の基準コーナー点のうち、2点の基準コーナー点を用いて、エッジ画像P2内で補助辺の選択領域(例えば、2点の基準コーナー点を対角とする矩形領域等)をそれぞれ設定する(ステップS234;
図19(a)参照)。
そして、画像処理装置10は、各選択領域内から補助辺を選択する(ステップS235)。具体的には、画像処理装置10は、抽出済みの辺のうち、最外輪郭線Oを構成する辺であって縦方向及び横方向で最も長い辺を各選択領域内から選択して、補助辺として抽出する(ステップS235;
図19(b)参照)。なお、
図19(b)にあっては、補助辺を太い実線で表す。
【0082】
次に、画像処理装置10は、抽出済みの辺の中から通常辺を選択する(ステップS236)。また、ステップS233にて、補助辺の選択が可能でない(不可能である)と判定された場合にも(ステップS233;NO)、画像処理装置10は、ステップS234、S235の処理をスキップして、通常辺を選択する処理を行う。
即ち、画像処理装置10は、抽出済みの辺のうち、補助辺よりも重要度の高い辺があれば、存在位置に拘わらず当該辺を通常辺として選択する。また、画像処理装置10は、補助辺がない場合には、抽出済みの辺のうち、縦方向及び横方向で最外に存する最も長い4つの辺を通常辺として選択する(
図20(a)参照)。なお、
図20(a)にあっては、形状の異なる対象物Sを模式的に表し、通常辺を太い実線で表す。
【0083】
その後、画像処理装置10は、エッジ画像P2内で抽出された補助辺や通常辺を表すための画像データを生成して、制御装置120のマンマシンインターフェース22及びインターフェース17を介して端末装置に表示させる(ステップS237)。具体的には、画像処理装置10は、補助辺や通常辺の両端の座標から中点を求めて各辺の基準点とし、当該辺の延在方向に直交する方向に所定画素数(例えば、±10画素等)以上の幅を持った矩形領域を辺部位の領域として設定する。そして、端末装置は、抽出された補助辺や通常辺の各々が識別表示された矩形領域を表示する(
図20(b)参照)。なお、
図20(b)にあっては、抽出された各辺(補助辺や通常辺)を太い実線で表す。
ここで、画像処理装置10は、抽出された補助辺や通常辺の長さ、基準点、矩形領域、傾き等を各辺と対応付けて作業用メモリ15に格納しても良い。
【0084】
これにより、辺抽出処理を終了する。
図5に戻り、画像処理装置10は、テンプレート生成用画像P1の多値画像データに基づいて、テンプレート生成用画像P1を端末装置に表示させるための画像データを生成して、制御装置120のマンマシンインターフェース22及びインターフェース17を介して端末装置に表示させる(ステップS26)。続けて、画像処理装置10は、抽出された特徴部位(基準コーナー点等)をテンプレート生成用画像P1に重畳して表すための画像データを生成して、制御装置120のマンマシンインターフェース22及びインターフェース17を介して端末装置に表示させる(ステップS27)。
【0085】
この結果、端末装置のモニタには、テンプレート生成用画像P1内で特徴部位が識別表示された画像が表示された状態となる。
その後、画像処理装置10は、上記したように、ユーザによる端末装置の所定操作に基づいて、例えば、基準コーナー点等の特徴部位の編集処理(ステップS3)を実行し、編集処理の終了後に、特徴部位特定処理を実行する。
【0086】
<特徴部位特定処理>
次に、テンプレート生成処理における特徴部位特定処理(ステップS4)について
図21〜
図23を参照して詳細に説明する。
図21は、特徴部位特定処理に係る動作の一例を示すフローチャートである。
【0087】
特徴部位特定処理は、探索用画像内で対象物Sに相当する部分を探索する際の位置決めの精度やタクトを考慮して、編集処理後の複数の特徴部位の中で不要な特徴部位を自動的に削除することで、対象物Sの特定部分の位置検出に用いられる特徴部位を特定する。
【0088】
図21に示すように、画像処理装置10は、先ず、作業用メモリ15から各特徴部位(例えば、基準コーナー点等)の重要度を取得して、重要度の大きさに従って特徴部位を所定の順序(例えば、重要度の低い順等)に並びかえて特徴部位リストを生成する(ステップS241)。
この特徴部位リストは、重要度の低い、即ち、対象物Sの位置検出の精度に寄与しないであろう特徴部位から順番に削除していき、位置検出の精度をある程度保持できる最小限の特徴部位の構成になるように調整するためのものである。また、テンプレート生成処理(
図3参照)における編集処理(ステップS3)にて特定部分に対応する特徴部位が追加されている場合には、当該特定部分に対応する特徴部位を特徴部位リストの上位、即ち、例えば、重要度が最も高い最上位に配置するものとする。
また、ユーザ補正値により各特徴部位の重要度が補正された場合には、当該重要度に従って複数の特徴部位を所定の順序で並べて特徴部位リストを生成するようになっている。
【0089】
続けて、画像処理装置10は、不要な特徴部位を削除する調整が終了したか否かを判定する(ステップS242)。
ここで、不要な特徴部位を削除する調整が終了していないと判定されると(ステップS242;NO)、画像処理装置10は、特徴部位リストに含まれる複数の特徴部位について、重要度の低い方から特徴部位を仮削除して、特徴部位リストの残りの特徴部位を用いてテンプレート画像P3(
図23(a)参照)を生成する(ステップS243)。この場合、画像処理装置10は、特徴部位リストの重要度が最も低い特徴部位を仮削除する。
その後、画像処理装置10は、生成されたテンプレート画像P3を用いて、位置検出の評価値を算出する評価値算出処理(
図22参照)を実行する(ステップS244)。
【0090】
<評価値算出処理>
以下に、評価値算出処理について詳細に説明する。
図22は、評価値算出処理に係る動作の一例を示すフローチャートである。また、
図23(a)は、テンプレート画像P3を模式的に示す図であり、
図23(b)は、探索評価用画像P4を模式的に示す図であり、
図23(c)は、探索評価用画像P4とテンプレート画像P3との位置決めを模式的に示す図である。
なお、
図23(a)に示すテンプレート画像P3にあっては、対象物Sの中で特に位置検出の精度が要求される特定部分を太い実線で表している。当該特定部分は、例えば、テンプレート生成処理(
図3参照)における編集処理(ステップS3)にて追加された特徴部位に対応するものとする。
【0091】
図22に示すように、画像処理装置10は、先ず、生成されたテンプレート画像P3に対して、任意の変動(例えば、平行移動、回転、拡大・縮小等)を付与した探索評価用画像P4の画像データを生成して取得する(ステップS251)。
ここで、付与された変動量は、後述する対象物Sの位置検出の際の基準値(真値)を構成する。なお、探索評価用画像は、既知の変動を実際に加えた対象物Sを撮像して画像データを生成することで取得しても良い。
【0092】
次に、画像処理装置10は、テンプレート画像P3を用いて、パターンマッチングにより探索評価用画像P4内で対象物Sの探索を行う(ステップS252)。
続けて、画像処理装置10は、対象物Sの特定部分のずれ量を位置検出の評価値として算出する(ステップS253)。具体的には、画像処理装置10は、対象物Sの中で特に位置検出の精度が要求される特定部分(図中、下辺部等)に対応する各エッジ点について、探索評価用画像P4の対応する各エッジ点との各距離の二乗を加算して、その総和をずれ量として算出する。
図23(c)にあっては、探索評価用画像P4のエッジ点(真値)を実線で表し、パターンマッチング後のテンプレート画像P3のエッジ点を破線で表している。
なお、予め特定部分が指定されていない場合には、全ての特徴部位を位置検出の精度が要求される部分とみなして、評価値を算出するようにしても良い。
【0093】
図21に戻り、画像処理装置10は、評価値算出処理にて算出された評価値を絶対精度評価値と比較して所定の検出精度が確保されているか否かを判定する(ステップS245)。即ち、画像処理装置10は、テンプレート画像P3に対して付与された変動量から対象物Sの位置検出のための絶対精度評価値を算出して、当該絶対精度評価値と評価値算出処理にて算出された評価値とを比較する。
ステップS245にて、所定の検出精度が確保されていると判定されると(ステップS245;YES)、画像処理装置10は、ステップS243にて仮削除した特徴部位を実際に削除する削除処理を行って(ステップS246)、処理をステップS242に移行して、それ以降の処理を実行する。
即ち、ステップS243にて、画像処理装置10は、特徴部位リストに含まれる複数の特徴部位の中で重要度が次に低い特徴部位を仮削除して、特徴部位リストの残りの特徴部位を用いてテンプレート画像P3を生成する。そして、ステップS244にて、上記と同様に、画像処理装置10は、位置検出の評価値を算出する評価値算出処理を行った後、ステップS245にて、算出された評価値に基づいて所定の検出精度が確保されているか否かを判定する。
このように、画像処理装置10は、上記の各処理を繰り返し実行することで、特徴部位リストに含まれる複数の特徴部位の中から重要度の低い、即ち、対象物Sの位置検出の精度に寄与しない特徴部位を削除していき、所定の検出精度を確保できる特徴部位を特定する。
【0094】
一方、ステップS245にて、所定の検出精度が確保されていないと判定されると(ステップS245;NO)、画像処理装置10は、ステップS243にて仮削除した特徴部位を元に戻す復旧処理を行って(ステップS247)、処理をステップS242に移行して、それ以降の処理を実行する。
即ち、ステップS243にて、特徴部位を仮削除すると、対象物Sの検出精度を十分に確保できないと判断して、画像処理装置10は、当該特徴部位の仮削除を中止する。
この場合、ステップS242にて、画像処理装置10は、不要な特徴部位を削除する調整が終了したと判定して(ステップS242;YES)、当該特徴部位特定処理を終了する。
【0095】
<データ形式特定処理>
次に、テンプレート生成処理におけるデータ形式特定処理(ステップS5)について
図24〜
図26を参照して詳細に説明する。
図24は、データ形式特定処理に係る動作の一例を示すフローチャートである。
【0096】
先ず、テンプレートデータのデータ形式について説明する。
本実施形態では、特徴部位の選択のため、特徴部位の形状、構成要素(直線部、コーナーのR部等)の寸法データも取得するので、テンプレートデータのデータ形式としては、エッジ点データを最小構成要素として出力する形式の他にも、部品の特徴を記した寸法データの形式等が挙げられる。また、上記特許文献2のような方式で、対象物Sの高精度の探索(精サーチ)を行う場合、テンプレートデータの画像エネルギーベクトルが必要となる。
画像エネルギーベクトルは、例えば、float型で保持すると各画素が8Byteのデータとなり、そのままテンプレートに付加すると、テンプレートデータのサイズが大きくなってしまう。そこで、画像エネルギーベクトルに展開可能な、例えば、テンプレート濃淡画像、テンプレートエッジ画像、テンプレートエッジ点情報の3つの形式のデータとして保持することで、テンプレートデータサイズを抑制することができる。
【0097】
なお、画像エネルギーベクトルについては、上記特許文献2に詳細に説明されている。
即ち、各画素位置における輝度値からなるテンプレート生成用画像P1の多値画像データ(濃淡画像データ)を一定方向(例えばX方向)に沿って微分すると、エッジ勾配が強い部分がピークとなるエッジ画像P2が求まる。エッジ画像P2のピークを上下逆さに反転させると、エッジ点が底となる谷ができる(画像エネルギー)。画像のエッジからの力は、画像エネルギーを微分してマイナスをかけることで求めることができる(以降、エネルギーベクトルと呼ぶ)。
例えば、谷の端にボールを置いたとすると、ボールは重力の影響で谷の勾配を下り、スピードを増しながら落ちていく。ボールは谷底であるエッジ点を通過し、対面の勾配を上るが、再び重力の影響を受け、谷の勾配のどこかで止まり、逆向きに下り始める。このような動作を繰り返しながら、徐々に振幅が小さくなり、ボールは谷から受けるエネルギーが最小となる谷底、つまりエッジ点に収束して止まる。
このような原理を利用することで、テンプレートを探索用画像上の対象物Sに位置合わせする。
【0098】
<テンプレート濃淡画像>
テンプレート濃淡画像は、例えば、
図26(a)に示すように、テンプレート生成用画像P1の多値画像データ(濃淡画像データ)をそのままの形式で保持するものである。
このテンプレート濃淡画像は、当該濃淡画像を2階微分することで画像エネルギーベクトルを生成できる。また、テンプレート生成用画像P1の多値画像を1階微分することで、例えば、float型やdouble型の実数値で各画素が表されたエッジ画像P2を求め、それに対し、演算を行うことで画像エネルギーベクトルが求められるため、当該画像エネルギーベクトルの精度が相対的に高い。また、テンプレートデータの確認も容易であるという利点もある。しかしながら、テンプレートエッジ画像やテンプレートエッジ点情報に比べて、データサイズが相対的に大きくなってしまう。
【0099】
<テンプレートエッジ画像>
テンプレートエッジ画像は、例えば、
図26(b)に示すように、テンプレート生成用画像P1の多値画像データを1階微分することで得られるものである。
また、テンプレートエッジ画像は、各エッジ点のエッジ強さを0〜255(8bit)の階調で表したエッジ画像(Byte型)と、0か1でエッジの有無を表したエッジ画像(Bit型)との2つのデータ形式で表される。なお、
図26(b)には、テンプレートエッジ画像(Bit型)の一例を模式的に表している。
(i)テンプレートエッジ画像(Byte型)
テンプレート生成用画像P1の多値画像データの1階微分により求められたエッジ画像P2は、エッジ強さが実数値で表されているため、データサイズが大きくなってしまう。そこで、エッジ点のエッジ強さを256階調(0〜255)で正規化して、1Byte(8Bit)で表すByte型のデータの形式で保持する。また、画像エネルギーベクトルの生成の際には、演算が1階微分で済むのでタクト的に有利になる。
(ii)テンプレートエッジ画像(Bit型)
テンプレートエッジ画像(Byte型)の各エッジ点を1Bitで表したエッジ画像P2に圧縮して保持することにより、データサイズを相対的に小さくしたテンプレートエッジ画像(Bit型)が生成される。画像エネルギーベクトルの生成の際には、各エッジ点に対してエッジ強さを256階調の中間値(128)で持たせる等のエッジ画像変換処理を行い、生成されたエッジ画像P2に対して1階微分を行う。
エッジ画像変換処理においてエッジ強さは固定値となってしまうため、画像エネルギーベクトルの精度は落ちてしまうが、対象物Sの探索(精サーチ)の精度に悪影響を及ぼすレベルではないと考えられる。
【0100】
<テンプレートエッジ点情報>
テンプレートエッジ点情報は、例えば、
図26(c)に示すように、テンプレート生成用画像P1の多値画像データの1階微分により求められたエッジ画像P2から各エッジ点の座標及びエッジ強さ(Height)を取得することで得られるリスト形式のデータである。
テンプレートエッジ点情報は、エッジ点のみのデータ保有で済むため、テンプレート生成用画像P1のサイズの影響を受け難く、データサイズを抑制することができる。また、例えば、エッジ強さは256階調(0〜255)に正規化することでデータサイズを抑制することができる。画像エネルギーベクトルの生成の際には、リスト形式のデータからエッジ画像P2を生成するエッジ画像変換処理を行い、生成されたエッジ画像P2に対して1階微分を行う。
【0101】
図25を参照して、テンプレートデータの各データ形式の特性について説明する。
なお、
図25にあっては、テンプレートのデータサイズ、位置決め精度、タクトの各項目の優劣を「◎>○>△」で表している。
【0102】
図25に示すように、テンプレートエッジ画像(Bit型)は、テンプレートエッジ画像(Byte型)を1Bitに圧縮しており、データサイズが小さくてすむ。また、テンプレートエッジ点情報は、エッジ点のみのデータ保有で済むため、データサイズを抑えることができる。これに対して、テンプレート濃淡画像及びテンプレートエッジ画像(Byte型)は、テンプレート生成用画像P1の画素数分のデータを1Byteで保有するため、データサイズが大きくなってしまう。
また、位置決め精度は、画像エネルギーベクトルの精度と関連性があり、画像エネルギーベクトルの精度が高いほど、位置決め精度が良くなる。テンプレート濃淡画像の場合、各画素のエッジ強さを実数値で表したエッジ画像P2から画像エネルギーベクトルを生成することができるため、最も位置決め精度が最も良くなる。これに対して、テンプレートエッジ画像(Byte型)及びテンプレートエッジ点情報は、エッジ画像P2のエッジ強さが256階調(0〜255)に正規化された値であるため相対的に精度が低下し、テンプレートエッジ画像(Bit型)はエッジ強さが0か255の2値となるため更に精度が低下する。
また、テンプレートエッジ画像(Byte型)の場合、エッジ画像P2の1階微分処理のみで画像エネルギーベクトルを生成できるため、タクトは最も短くなる。これに対して、テンプレートエッジ画像(Bit型)及びテンプレートエッジ点情報は、エッジ画像P2に対する1階微分処理の前に、所定のエッジ画像変換処理を必要とするため、その処理の分だけタクトが長くなる。また、テンプレート濃淡画像の場合、エッジ画像P2を生成するための微分処理が更に必要となり、当該微分処理はエッジ画像変換処理よりもタクトがかかるため、最もタクトが長くなる。
【0103】
図24に示すデータ形式特定処理は、テンプレート濃淡画像、テンプレートエッジ画像(Byte型)、テンプレートエッジ画像(Bit型)、テンプレートエッジ点情報の中で、何れか一のテンプレートデータの形式を自動的に特定する処理である。
具体的には、
図24に示すように、画像処理装置10は、先ず、特徴部位特定処理にて特定された所定数の特徴部位の各々をエッジ点として、エッジ点数を算出する(ステップS261)。
続けて、画像処理装置10は、テンプレートデータ格納メモリ19の所定のデータ格納領域に、算出されたエッジ点データ及び各種パラメータを格納した場合における当該メモリ19の残容量を算出する(ステップS262)。具体的には、画像処理装置10は、テンプレートデータのデータ形式を、テンプレート濃淡画像、テンプレートエッジ画像(Byte型)、テンプレートエッジ画像(Bit型)、テンプレートエッジ点情報としてそれぞれ格納した場合の残容量を算出する。
【0104】
次に、画像処理装置10は、算出されたテンプレートデータ格納メモリ19の残容量に多値画像データが入る容量があるか否かを判定する(ステップS263)。
ここで、多値画像データが入る容量があると判定されると(ステップS263;YES)、画像処理装置10は、予めユーザにより指定されている優先度に応じて処理を分岐させる(ステップS264)。
具体的には、対象物Sの位置検出の精度を優先する場合には(ステップS264;精度)、画像処理装置10は、処理をステップS265に移行させ、テンプレートデータのデータ形式として、テンプレート濃淡画像を特定する(ステップS265)。
一方、対象物Sの位置検出の際のタクトを優先する場合には(ステップS264;タクト)、画像処理装置10は、処理をステップS266に移行させ、テンプレートデータのデータ形式として、テンプレートエッジ画像(Byte型)を特定する(ステップS266)。
【0105】
ステップS263にて、多値画像データが入る容量がないと判定されると(ステップS263;NO)、画像処理装置10は、テンプレートデータ格納メモリ19の残容量に応じて処理を分岐させる(ステップS267)。
具体的には、テンプレートエッジ画像(Bit型)を格納する容量がある場合には(ステップS267;エッジ画像P2)、画像処理装置10は、処理をステップS268に移行させ、テンプレートデータのデータ形式として、テンプレートエッジ画像(Bit型)を特定する(ステップS268)。
一方、テンプレートエッジ点情報を格納する容量がある場合には(ステップS267;エッジ点情報)、画像処理装置10は、処理をステップS269に移行させ、テンプレートデータのデータ形式として、テンプレートエッジ点情報を特定する(ステップS269)。
また、テンプレートエッジ画像(Bit型)及びテンプレートエッジ点情報の何れも格納する容量がない場合には(ステップS267;入らない)、画像処理装置10は、処理をステップS270に移行させ、端末装置に警告を表示させるための画像データを生成する。この場合、ユーザは、端末装置の所定操作に基づいてテンプレートデータ格納メモリ19の空き容量を確保する処理を行う必要がある。
【0106】
これにより、データ形式特定処理を終了する。
その後、画像処理装置10は、データ形式特定処理にて特定されたテンプレートデータの形式(例えば、テンプレートエッジ画像(Byte型)等)に従って、テンプレートを生成する(ステップS6)。
つまり、テンプレート生成処理にて、テンプレートの特性、テンプレートデータ格納メモリ19の残容量、テンプレートデータサイズ、位置決め精度、タクト等を考慮して最適なテンプレートデータのデータ形式を決定してテンプレートデータを生成することができる。
そして、画像処理装置10は、テンプレートと探索用画像内の対象物Sとの位置合わせ処理(探索処理)にて、テンプレートデータのデータ形式に合わせてテンプレートを復元して、対象物Sの探索処理を行う。
なお、探索処理は、上記したように、画像エネルギーベクトルを利用する手法であり(特許文献2参照)、その詳細な説明は省略する。
【0107】
<実施形態の効果>
以上のように、本実施形態の画像処理装置10によれば、テンプレート生成用画像P1内に抽出された特徴部位が表示された状態で、特に位置検出の精度が要求される対象物Sの特定部分に対応する特徴部位の編集指示の入力を受け付け、当該編集指示に係る特徴部位を編集すべきと判定された特徴部位を編集することができる一方で、編集すべきでないと判定された場合に、対象物Sの検出精度が低下する旨を報知することができる。これにより、位置検出の精度が特定部分によって異なる各種の対象物Sに対応することができるだけでなく、位置検出のアルゴリズムやその挙動についてのノウハウに乏しい者が操作しても、対象物Sの特定部分の位置検出の精度を低下させるようなテンプレートが生成されることを抑制することができる。このとき、テンプレートの生成に係る特徴部位を追加したり削除する編集作業を対話形式で適正に行うことができ、特に位置検出の精度が要求される特徴部位の編集を簡便に行うことができることとなって、テンプレートの生成の効率化を図ることができる。
さらに、探索用画像内で対象物Sを検出する際の重要度に応じた所定の順序で複数の特徴部位が並べられた特徴部位リストを用いて、当該複数の特徴部位の中で重要度の低い特徴部位を削除していき、対象物Sの特定部分の位置検出に用いられる最小限の特徴部位を特定することができる。これにより、テンプレートの生成に係る特徴部位の点数を削減することができることとなって、テンプレートデータのデータサイズを小さくすることができる。この結果、対象物Sの位置検出の精度を確保しつつ処理の高速化を図ることが可能なテンプレートを生成することができる。
このように、対象物Sの特定部分の位置検出の精度を確保したテンプレートの生成を対話形式で適正に、且つ、簡便に行うことができる。
【0108】
また、特徴部位の重要度を補正することで、補正された重要度に従って複数の特徴部位を所定の順序で並べた特徴部位リストを生成するので、特徴部位リストに含まれる複数の特徴部位の並び順にユーザの意向を反映させることができる。この結果、テンプレートの生成に係る特徴部位の特定処理、即ち、テンプレートの生成にユーザの意向を反映させることができる。
【0109】
また、特徴部位の種類に応じた重要度に従って複数種類の特徴部位を所定の順序で並べた特徴部位リストを生成するので、特徴部位の種類を考慮した特徴部位リストを生成することができる。具体的には、基準コーナー点及び補助コーナー点のうちの少なくとも一方がこれら以外の特徴部位に対して相対的に高くなるように算出された重要度に従って複数の特徴部位を所定の順序で並べた特徴部位リストを生成するので、基準コーナー点や補助コーナー点を他の特徴部位よりも相対的に高い確率でテンプレートの生成に係る特徴部位として特定することができ、これら基準コーナー点や補助コーナー点を用いてテンプレートを生成することで対象物Sの位置検出の精度を十分に確保することができる。
【0110】
また、テンプレートが格納される格納領域の容量、対象物Sの特定部分の位置検出の精度及び処理時間のうち、少なくとも何れか一を基準として、生成されるテンプレートのデータ形式を特定するので、格納領域の容量や対象物Sの特定部分の位置検出の精度や処理時間等を考慮したデータ形式でテンプレートを生成することができる。このとき、ユーザの意向(優先度)を考慮することで、テンプレートのデータ形式にユーザの意向を反映させることもできる。
【0111】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、特徴部位として、基準コーナー点、補助コーナー点、通常コーナー点、補助辺、通常辺等を例示したが、一例であってこれらに限られるものではなく、適宜任意に変更可能である。さらに、特徴部位の種類として、コーナー部位と辺部位を例示したが、一例であってこれらに限られるものではなく、上記と同様に、適宜任意に変更可能である。