以下,本実施の形態について,図を用いて説明する。
図1は,位置決め装置を備える外観検査機の構成例を示す図である。
図1に示す外観検査機は,ベルトコンベア600で流れてくる被試験機700を,外面から視覚的に検査する装置である。外観検査では,被試験機700に取り付けられたラベル,部品などの有無や取り付け位置などの検査が行われ,被試験機700の良・不良の判定が行われる。
図1に示す外観検査機は,制御装置501,カメラ502,照明503,通過センサ504,位置決め装置505を備える。
カメラ502は,所定の位置を通過する被試験機700の検査面を撮像する。照明503は,被試験機700の所定の通過位置を照らす。通過センサ504は,被試験機700の通過を検知する光電センサである。
制御装置501は,外観検査機の制御を行うコンピュータである。制御装置501には,被試験機700の良・不良を判定するための,被試験機700に取り付けられたラベルや部品などの画像が,あらかじめ登録されている。検査時において,制御装置501は,カメラ502からの入力画像とあらかじめ登録された画像とを比較することにより,被試験機700の良・不良を判定する。
図1において,外観検査機では,被試験機700が所定の位置に到達したことを通過センサ504により検出し,そのタイミングで,カメラ502が被試験機700の撮影を行う。外観検査機では,制御装置501が,カメラ502の撮像画像とあらかじめ登録された画像とを比較して,被試験機700の良・不良判定を行う。
位置決め装置505は,被試験機700が外観検査機に対して所定の位置,所定の姿勢になるように,被試験機700の位置や姿勢を補正する機構である。図1の例に示す位置決め装置505は,ベルトコンベア600上を流れる被試験機700を,ガイドによって強制的に所定の位置に誘導するガイド機構である。図1に示すようなガイド機構の位置決め装置505を用いる方法以外にも,位置決め装置505としてロボット等を使い,被試験機700を一定方向から押して強制的に所定の位置にずらす方法などがある。
図1にしめす被試験機700b,700cのように,ベルトコンベア600上を流れてくる被試験機700は,必ずしも正しい位置,正しい姿勢で流れてくるわけではない。そのため,図1の被試験機700aに示すように,外観検査機は,位置決め装置505により被試験機700と外観検査機との位置関係を整えて,外観検査を行う。
位置決め装置505を使用しない場合には,外観検査機にあらかじめ登録された被試験機700の良・不良を判定するための画像と異なるサイズの被試験機700の画像が撮影されてしまい,正しい判定ができなくなってしまうことがある。位置決め装置505を使わずに,作業者が被試験機700を所定の位置に設置する場合には,個人差による設置バラツキによって,検査判定の精度が低下してしまう。また,被試験機700の重量が重い場合などには,作業者の作業負担が大きくなってしまう。
しかし,外観検査機に位置決め装置505を使用する場合にも,問題がある。例えば,位置決め装置505として図1に示すようなガイドを使用する場合には,ガイドとの接触によって被試験機700の位置・姿勢を変えるため,被試験機700にキズ等のダメージを与えてしまう可能性がある。また,位置決め装置505としてロボット等を使用すると,外観検査機の設備が大掛かりとなり,費用が高額となる。
以下では,ガイド,ロボット等の位置決め装置505がなくても,精度が高い被試験機700の外観検査を行うことが可能となる,本実施の形態による外観検査機について,説明する。
図2は,本実施の形態による外観検査機の構成例を示す図である。
図2に示す本実施の形態による外観検査機が,図1において,制御装置501,カメラ502,照明503,通過センサ504,位置決め装置505を備える外観検査機に代わって設置されるものとする。
図2に示す本実施の形態による外観検査機は,外観検査制御装置10,カメラ20,照明30,表示装置40,入力装置45を備える。
カメラ20は,ベルトコンベア600上の所定位置の被試験機700を撮影する。照明30は,所定位置の被試験機700を照らす。図2に示す外観検査機におけるカメラ20と照明30とは,図1に示すカメラ502と照明503と同じものであってもよい。表示装置40は,オペレータに対して外観検査の結果等の情報を表示する,ディスプレイ等の装置である。入力装置45は,オペレータが外観検査制御装置10への操作,入力を行う装置である。
外観検査制御装置10は,カメラ20により撮影された被試験機700の画像を用いて,被試験機700の外観検査を行うコンピュータである。外観検査制御装置10は,テンプレート情報記憶部11,テンプレート設定部12,カメラ画像取得部13,到達検出部14,検査対象画像正規化部15,検査部16を備える。外観検査制御装置10が備える各機能部は,外観検査制御装置10のコンピュータが備えるCPU(Central Processing Unit ),メモリ,HDD(Hard Disk Drive )等のハードウェアとソフトウェアプログラムとにより実現される。
テンプレート情報記憶部11は,あらかじめ登録されたテンプレートの情報を記憶する,コンピュータがアクセス可能な記憶装置である。
本実施の形態によるテンプレート情報記憶部11には,それぞれの用途に応じた3種類のテンプレート,すなわち到達検出用リファレンス画像,正規化用リファレンス画像,検査用リファレンス画像が記憶されている。3種類のテンプレートは,外観検査制御装置10のHDDに保存されているが,処理時間の高速化のために,外観検査制御のソフトウェア起動と同時にメモリに転記される。外観検査制御装置10は,到達検出用リファレンス画像,正規化用リファレンス画像,検査用リファレンス画像をテンプレートとして,被試験機700の外観検査を行う。
テンプレート情報記憶部11は,到達検出用リファレンス画像情報記憶部111,正規化用リファレンス画像情報記憶部112,検査用リファレンス画像情報記憶部113を備える。
到達検出用リファレンス画像情報記憶部111は,ベルトコンベア600上の被試験機700が所定の位置に到達したかを判定するために用いる到達検出用リファレンス画像や,その位置などの情報を記憶する。
正規化用リファレンス画像情報記憶部112は,カメラ20の撮影により得られた被試験機700の画像を正規化するために用いる正規化用リファレンス画像や,その位置などの情報を記憶する。
検査用リファレンス画像情報記憶部113は,正規化された被試験機700の画像の検査処理に用いる検査用リファレンス画像や,その位置などの情報を記憶する。
テンプレート設定部12は,外観検査制御装置10による外観検査処理に用いるテンプレートを,あらかじめ登録する手段である。テンプレート設定部12は,正規の位置,角度に配置された被試験機700のサンプルをカメラ20が撮像した画像を取得し,取得された画像からオペレータの指定に従ってテンプレートを作成し,テンプレート情報記憶部11に記憶する。
図3は,本実施の形態による各リファレンス画像の例を示す図である。
図3において,検査対象リファレンス画像50は,本実施の形態による外観検査の検査対象となる被試験機700のサンプル画像である。検査対象リファレンス画像50は,カメラ20からみて正規の位置,角度に配置された被試験機700のサンプルが,カメラ20によって撮影された画像である。
図3において,到達検出用リファレンス画像51は,後述の到達検出部14による到達検出処理でテンプレートとして使用するために,検査対象リファレンス画像50から切り出された画像である。本実施の形態では,検査対象リファレンス画像50から,被試験機700の検査面に1つしかない特徴的な部分の画像を切り出して,到達検出用リファレンス画像51としている。到達検出用リファレンス画像51としては,透視歪みにより変形しにくい絵柄が望ましい。
検査対象リファレンス画像50から切り出された到達検出用リファレンス画像51は,その位置情報と共に,テンプレート情報記憶部11の到達検出用リファレンス画像情報記憶部111に記憶される。なお,本実施の形態では,到達検出用リファレンス画像51の位置情報は,検査対象リファレンス画像50の座標系における,到達検出用リファレンス画像51の重心位置の座標値であるものとする。
図3において,正規化用リファレンス画像52は,後述の検査対象画像正規化部15による検査対象画像正規化処理でテンプレートとして使用するために,検査対象リファレンス画像50から切り出された画像である。正規化用リファレンス画像52としては,複数の画像の切り出しが行われる。本実施の形態では,検査対象リファレンス画像50から,被試験機700の検査面の四隅に近い部分の特徴的な4つの部分の画像を切り出して,正規化用リファレンス画像52としている。複数の正規化用リファレンス画像52は,画像正規化処理による正規化の精度を上げるために,できる限り互いに離れた位置の画像であることが望ましい。
図3において,正規化用リファレンス画像52aは,検査対象リファレンス画像50から,被試験機700の検査面右上隅近くの特徴的な部分の画像を切り出したものである。ここでは,正規化用リファレンス画像52aは,外観検査の目的となる,被試験機700の検査面右上隅のラベル部分の画像を避けるように,切り出されている。正規化用リファレンス画像52bは,検査対象リファレンス画像50から,被試験機700の検査面右下隅近くの特徴的な部分の画像を切り出したものである。正規化用リファレンス画像52cは,検査対象リファレンス画像50から,被試験機700の検査面左上隅近くの特徴的な部分の画像を切り出したものである。正規化用リファレンス画像52dは,検査対象リファレンス画像50から,被試験機700の検査面左下隅近くの特徴的な部分の画像を切り出したものである。なお,正規化用リファレンス画像52の1つが,到達検出用リファレンス画像51と同じ画像であってもよい。
検査対象リファレンス画像50から切り出された各正規化用リファレンス画像52は,その位置情報と共に,テンプレート情報記憶部11の正規化用リファレンス画像情報記憶部112に記憶される。なお,本実施の形態では,正規化用リファレンス画像52の位置情報は,検査対象リファレンス画像50の座標系における,正規化用リファレンス画像52の重心位置の座標値であるものとする。
図3において,検査用リファレンス画像53は,後述の検査部16による検査処理でテンプレートとして使用するために,検査対象リファレンス画像50から切り出された画像である。本実施の形態では,検査対象リファレンス画像50から,外観検査の対象であるラベルが取り付けられた,被試験機700の検査面右上部分の画像を切り出して,検査用リファレンス画像53としている。
検査対象リファレンス画像50から切り出された検査用リファレンス画像53は,その位置情報と共に,テンプレート情報記憶部11の検査用リファレンス画像情報記憶部113に記憶される。なお,本実施の形態では,検査用リファレンス画像53の位置情報は,検査対象リファレンス画像50の座標系における,検査用リファレンス画像53の重心位置の座標値であるものとする。
図2において,カメラ画像取得部13は,カメラ20の撮影により得られたカメラ画像を取得する。カメラ画像取得部13は,カメラ画像のデータを,所定の縦・横の解像度でメモリに取り込む。カメラ画像のデータは,赤・青・緑の3種類のプレーンで保存される。
到達検出部14は,取得されたカメラ画像に対する到達検出用リファレンス画像51を用いたテンプレートマッチング(正規化相互相関法など)により,ベルトコンベア600上の被試験機700の所定位置への到達を検出する。
具体的には,到達検出部14は,取得されたカメラ画像と,到達検出用リファレンス画像情報記憶部111に記憶された到達検出用リファレンス画像51とについて,解像度を下げた画像を用意する。例えば,カメラ画像と到達検出用リファレンス画像51の解像度が,本来の解像度の1/4に下げられる。
到達検出部14は,解像度が下げられたカメラ画像に対する,解像度が下げられた到達検出用リファレンス画像51を用いたテンプレートマッチングを行い,最大類似度と,最大類似度が得られた検出位置とを得る。最大類似度が得られた検出位置は,到達検出用リファレンス画像51との類似度が最大となったカメラ画像の領域の重心位置である。
到達検出部14は,得られた最大類似度が所定の閾値TH1 以上であり,かつその検出位置が所定の範囲内である場合に,ベルトコンベア600上の被試験機700が,外観検査を行う所定の位置に到達したと判定する。なお,所定の閾値TH1 としては,あらかじめ最適と考えられる値が設定されている。また,所定の範囲は,例えば,到達検出用リファレンス画像情報記憶部111に記憶された到達検出用リファレンス画像51の位置を中心とした周辺の,あらかじめ設定された画素数の範囲などである。
本実施の形態の外観検査機では,到達検出部14によるカメラ画像の監視により,被試験機700の所定位置への到達を検出できるため,図1に示すような通過センサ504が不要となり,外観検査機の低価格化が図れる。
ここで,画像の解像度を下げてテンプレートマッチングを行うことの効果について,説明する。上述のように,到達検出部14は,解像度を下げた画像を用いてテンプレートマッチングを行っている。
画像の解像度を下げると画像のデータ量が減るため,テンプレートマッチングの処理時間が短くなるという効果がある。また,画像の解像度を下げると,画像の微妙な形状の情報が欠落するため,カメラ画像に写った被試験機700に微妙な歪みがあっても,その微妙な歪みが緩和されるという効果がある。
図4は,画像の解像度を下げてテンプレートマッチングを行うことの効果を説明する図である。
図4(A)は,画像の解像度を下げた例を示す図である。図4(A)において,左側の画像は,1/1の解像度の画像,すなわち本来の解像度の画像である。右側の画像は,左側の画像の解像度を1/4に下げた画像である。図4(A)に示すように,左側の1/1解像度画像では細かいドットで表現された円弧の形状が,右側の1/4解像度画像ではごつごつとした大きなドットで大雑把に表現されるようになる。なお,図4(A)では,比較のために,1/1解像度画像と1/4解像度画像の大きさを同じ大きさで提示している。
図4(B)は,画像の解像度を下げた例を模式的に示す。図4(B)において,左側の画像は,1/1の解像度の画像,すなわち本来の解像度の画像を模式的に示したものである。右側の画像は,左側の画像の解像度を1/4に下げた画像を模式的に示したものである。図4(B)に示すように,左側の1/1解像度の模式画像では画像に対して少し斜めに見えるハッチングの部分が,右側の1/4解像度画像では画像に対して平行に見えるようになる。
本実施の形態では,外観検査機に位置決め装置505がないので,ベルトコンベア600上の被試験機700が,必ずしもカメラ画像に正しい位置に正しい姿勢で写っているわけではない。そのため,カメラ20に対する被試験機700の位置や姿勢のずれによっては,登録された到達検出用リファレンス画像51を用いたテンプレートマッチングでは,被試験機700の所定位置への到達が検出できなくなってしまう可能性がある。この問題に対処するためには,被試験機700の位置や姿勢のずれを少しずつ変えた到達検出用リファレンス画像51を多数用意して,テンプレートマッチングを行う必要がある。
本実施の形態では,画像の解像度を下げることにより,カメラ画像上の被試験機700の位置や姿勢のずれが緩和されるため,到達検出用リファレンス画像51を用いたテンプレートマッチングによって,被試験機700の所定位置への到達が検出しやすくなる。そのため,本実施の形態では,被試験機700の位置や姿勢のずれを少しずつ変えた到達検出用リファレンス画像51を多数用意する必要がない。
図2において,検査対象画像正規化部15は,到達検出部14によって被試験機700の所定位置への到達が検出されたカメラ画像を検査対象画像として取得し,取得された検査対象画像の正規化を行う。
図5は,本実施の形態による検査対象画像の正規化を説明する図である。
図5(A)は,被試験機700の撮影のイメージである。上述したように,本実施の形態では,外観検査機に位置決め装置505がないので,図5(A)に示すように,ベルトコンベア600上の被試験機700が,必ずしもカメラ20の前を正規の位置,正規の姿勢で通過するわけではない。そのため,検査対象画像として得られた画像に写る被試験機700は,正規の位置に,正規の姿勢で写っているとは限らない。
図5(B)は,検査対象画像60を変換し,正規化画像70を生成する例を示す。
図5(B)において,検査対象画像60では,被試験機700の検査面がカメラ20に対して正面を向いていなかったために,被試験機700の検査面が画像に対して歪んだ形で写っている。このままの検査対象画像60に対して,検査用リファレンス画像53を用いたテンプレートマッチングによる外観検査を行うと,外観検査の精度が低くなってしまう。
そのため,図5(B)に示すように,検査対象画像正規化部15は,取得された検査対象画像60を正規化する変換を行い,被試験機700の検査面が画像に対して正規の位置に,正規の姿勢で写った正規化画像70を生成する。
検査対象画像60の変換には,検査対象リファレンス画像50から切り出した正規化用リファレンス画像52を用いる。図5(B)に示す検査対象リファレンス画像50において,太線の枠で示された部分が,正規化用リファレンス画像52として切り出された4つの領域である。本実施の形態では,それぞれの領域の重心位置が,各正規化用リファレンス画像52の位置として登録される。
検査対象画像正規化部15は,正規化用リファレンス画像52ごとに,検査対象画像60に対してテンプレートマッチングを行い,最も類似度が高い領域を検出する。図5(B)に示す検査対象画像60において,点線の枠で示された部分が,テンプレートマッチングにより,4つの正規化用リファレンス画像52との類似度が,それぞれ最も高かった4つの領域である。本実施の形態では,それぞれの領域の重心位置が,各正規化用リファレンス画像52を用いたテンプレートマッチングの検出位置となる。
検査対象リファレンス画像50は,被試験機700が正規の位置に,正規の姿勢で写っている画像である。テンプレートマッチングにより得られた各検出位置が,それぞれ対応する正規化用リファレンス画像52の登録位置となるように検査対象画像60を変換することにより,被試験機700が正規の位置に,正規の姿勢で写った正規化画像70を生成することができる。
検査対象画像正規化部15は,登録された各正規化用リファレンス画像52の位置と,テンプレートマッチングにより得られた各検出位置とを用いて,検査対象画像60の変換を行う。より具体的には,検査対象画像正規化部15は,テンプレートマッチングにより得られた各検出位置が,それぞれ対応する正規化用リファレンス画像52の登録位置となるような変換式を生成し,生成された変換式を用いて検査対象画像60を正規化画像70に変換する。
本実施の形態では,検査対象画像正規化部15は,2段階の変換により,取得された検査対象画像60から正規化画像70を生成する。
図6は,本実施の形態による検査対象画像から2段階の変換により正規化画像を生成する例を説明する図である。
検査対象画像正規化部15は,取得された検査対象画像60と,登録された各正規化用リファレンス画像52との解像度を下げた画像を生成する。ここでは,例えば,検査対象画像60と,登録された各正規化用リファレンス画像52とについて,それぞれ解像度が1/4に下げられた低解像度画像が生成されるものとする。
まず,第1段階として,検査対象画像正規化部15は,1/4解像度の検査対象画像60に対して,1/4解像度の各正規化用リファレンス画像52を用いたテンプレートマッチングを行い,それぞれ最大の類似度が得られる位置を検出する。
上述したように,低解像度画像を用いたテンプレートマッチングは,結果として得られる検出位置の精度が,本来の画像を用いたテンプレートマッチングに劣るものの,扱うデータ量が少ないため,処理時間が短くて済むというメリットがある。また,上述したように,検査対象画像60に写った被試験機700の検査面が歪んでいても,低解像度画像ではその歪量が軽減されるため,テンプレートマッチングによって正規化用リファレンス画像52に対応する検査対象画像60上の領域が検出されやすくなる。
検査対象画像正規化部15は,あらかじめ登録された各正規化用リファレンス画像52の位置と,1/4解像度の各画像を用いたテンプレートマッチングの結果として得られた各検出位置との関係に基づいて,検査対象画像60の変換を行う。この変換により,図6に示すような,準正規化画像65が得られる。なお,変換が行われる検査対象画像60は,本来の解像度(1/1解像度)の検査対象画像60であり,結果として得られる準正規化画像65の解像度も,検査対象画像60の本来の解像度である。
準正規化画像65では,図6に示すように,低解像度画像を用いたテンプレートマッチングの精度が少し低いために,写っている被試験機700の検査面の状態が,完全に正規の状態であるとは言えないが,当初の検査対象画像60に比べて正規の状態に近くなっている。
次に,第2段階として,検査対象画像正規化部15は,第1段階の処理で生成された準正規化画像65に対して,本来の解像度,すなわち1/1解像度の各正規化用リファレンス画像52を用いたテンプレートマッチングを行い,それぞれ最大の類似度が得られる位置を検出する。
テンプレートマッチングで検出される各正規化用リファレンス画像52との類似度が最大となる準正規化画像65上の位置は,上述の第一段階の変換処理によって,あらかじめ登録された各正規化用リファレンス画像52の位置の周辺になることがわかっている。そのため,検査対象画像正規化部15は,第2段階の処理において,各正規化用リファレンス画像52ごとに,それぞれの登録された位置の周辺に範囲を限って,テンプレートマッチングを行うことができる。
通常,1/1解像度の画像を用いたテンプレートマッチングは,低解像度画像を用いたテンプレートマッチングと比べて,処理負荷が高く,処理時間が長くなってしまう。しかし,本実施の形態の第2段階の処理では,テンプレートマッチングの範囲を限定することができるので,1/1解像度の画像を用いたテンプレートマッチングでも,処理時間が短くなる。
また,準正規化画像65では,上述の第一段階の変換処理によって検査対象画像60に写った被試験機700の歪みがほぼ解消されている。そのため,テンプレートマッチングによる正規化用リファレンス画像52に対応する準正規化画像65上の領域の検出も,容易である。
検査対象画像正規化部15は,あらかじめ登録された各正規化用リファレンス画像52の位置と,1/1解像度の各画像を用いたテンプレートマッチングの結果として得られた各検出位置との関係に基づいて,準正規化画像65の変換を行う。この変換により,図6に示すような,正規化画像70が得られる。
正規化画像70では,図6に示すように,本来の1/1解像度の画像を用いたテンプレートマッチングは精度が高いため,写っている被試験機700の検査面の状態が,ほぼ正規の状態であると言える。
このように,本実施の形態では,テンプレートマッチングに用いる画像を解像度が低いものから高いものに変えながら,多段階に正規化変換を行うことにより,検査対象画像60から正規化画像70を得る。これにより,検査対象画像60から正規化画像70までの変換処理に要する時間を短縮することができる。また,低解像度の画像は歪みが緩和されるため,検査対象画像60に写った被試験機700の歪み状態に応じた多量の正規化用リファレンス画像52を用意しなくても,テンプレートマッチングを行うことができる。
図2において,検査対象画像正規化部15は,低解像度画像生成部151,テンプレート倍率取得部152,第一の画像比較部153,第一の正規化変換部154,第二の画像比較部155,第二の正規化変換部156を備える。
低解像度画像生成部151は,取得された検査対象画像60,正規化用リファレンス画像情報記憶部112に記憶された各正規化用リファレンス画像52について,それぞれ解像度を下げた画像を生成する。本実施の形態では,それぞれの画像の解像度を,元の解像度の1/4に下げるものとする。
テンプレート倍率取得部152は,テンプレートマッチング時に用いる正規化用リファレンス画像52の拡縮の倍率を求める。カメラ20に対する被試験機700の距離に応じて,検査対象画像60に写る被試験機700の大きさも異なった大きさとなる。本実施の形態では,検査対象画像60に写る被試験機700の大きさに応じて正規化用リファレンス画像52を拡縮することにより,正規化用リファレンス画像52を用いたテンプレートマッチングの精度を上げる。
具体的には,テンプレート倍率取得部152は,検査対象画像60上の,到達検出部14により得られた検出位置において,到達検出用リファレンス画像51の拡縮の倍率を少しずつ変更しながらテンプレートマッチングを行い,最も類似度が高いときの倍率を求める。例えば,テンプレート倍率取得部152は,最初に,±10%の範囲で5%刻みで拡縮を行った到達検出用リファレンス画像51を用いてテンプレートマッチングを行い,5%刻みで最適とする倍率をラフに求める。次に,テンプレート倍率取得部152は,5%刻みで最適とする倍率の近辺の±2%の範囲で1%刻みで拡縮を行った到達検出用リファレンス画像51を用いてテンプレートマッチングを行い,最も類似度が高いときの倍率を求める。
第一の画像比較部153は,低解像度の検査対象画像60に対して,低解像度の各正規化用リファレンス画像52を用いたテンプレートマッチングを行い,各正規化用リファレンス画像52に対応する検査対象画像60上の領域の位置を取得する。
より具体的には,第一の画像比較部153は,例えば,1/4解像度の検査対象画像60に対して,1/4解像度の各正規化用リファレンス画像52を用いたテンプレートマッチングを行い,それぞれ最大の類似度と,その最大の類似度が得られる領域の位置とを取得する。
第一の正規化変換部154は,あらかじめ登録された各正規化用リファレンス画像52の位置と,低解像度画像を用いたテンプレートマッチングの結果として得られた各位置との対応関係に基づいて,本来の解像度の検査対象画像60を正規化する変換を行う。
より具体的には,第一の正規化変換部154は,あらかじめ登録された各正規化用リファレンス画像52の位置と,それぞれ1/4解像度の画像を用いたテンプレートマッチングの結果として得られた各位置との対応関係から,正規化のための変換式を生成する。第一の正規化変換部154は,本来の解像度の検査対象画像60の画素ごとに,生成された変換式にその位置を代入して位置変換を行うことにより,検査対象画像60を正規化する。図6に示すような準正規化画像65が得られる。
ここで,あらかじめ登録された正規化用リファレンス画像52の位置と,各正規化用リファレンス画像52を用いたテンプレートマッチングの結果として得られた位置との対応関係から,検査対象画像60の変換に用いる変換式の生成方法の例を説明する。
ここでは,4つの正規化用リファレンス画像52の位置と,4つの正規化用リファレンス画像52を用いたテンプレートマッチングの結果としてそれぞれ得られた4つの位置との対応関係から,擬似アフィン変換により,検査対象画像60が正規化変換されるものとする。擬似アフィン変換は,画像の平行移動,回転,拡大縮小,歪みの補正等をおこなう幾何学的な変換方式である。擬似アフィン変換は,次のような式(1),式(2)の擬似アフィン変換式で表される。
u=a1 xy+a2 x+a3 y+a4 ・・・(1)
v=b1 xy+b2 x+b3 y+b4 ・・・(2)
式(1),式(2)に示す擬似アフィン変換式において,(u,v)は変換後の位置座標であり,a1 〜a4 ,b1 〜b4 は係数である。係数a1 〜a4 ,b1 〜b4 は,4つの正規化用リファレンス画像52の位置と,4つの正規化用リファレンス画像52を用いたテンプレートマッチングの結果としてそれぞれ得られた4つの位置との対応関係から求められる。
図7は,本実施の形態による正規化用リファレンス画像の位置とテンプレートマッチングの結果として得られた位置の例を示す図である。
図7(A)は,検査対象リファレンス画像50上の正規化用リファレンス画像52の位置を示す。図7(A)において,太線の枠は,検査対象リファレンス画像50から切り出された各正規化用リファレンス画像52の領域を示す。正規化用リファレンス画像52の領域の中心の点は,正規化用リファレンス画像52の重心を示す。本実施の形態では,正規化用リファレンス画像52の位置は,正規化用リファレンス画像52の重心の位置で示される。
図7(A)に示すように,検査対象リファレンス画像50に写った被試験機700の検査面の四隅から切り出された正規化用リファレンス画像52の位置は,それぞれ(x0 ,y0 ),(x1 ,y1 ),(x2 ,y2 ),(x3 ,y3 )である。
図7(B)は,テンプレートマッチングにより検査対象画像60上から検出された,各正規化用リファレンス画像52に対応する領域の位置を示す。図7(B)において,太線の枠は,検査対象画像60上の,各正規化用リファレンス画像52に対応する領域を示す。各正規化用リファレンス画像52に対応する領域の中心の点は,各正規化用リファレンス画像52に対応する領域の重心を示す。本実施の形態では,各正規化用リファレンス画像52に対応する領域の位置は,各正規化用リファレンス画像52に対応する領域の重心の位置で示される。
図7(B)に示すように,検査対象画像60上の,各正規化用リファレンス画像52に対応する領域の位置は,それぞれ(u0 ,v0 ),(u1 ,v1 ),(u2 ,v2 ),(u3 ,v3 )である。
上記の式(1),式(2)に,(x0 ,y0 ),(x1 ,y1 ),(x2 ,y2 ),(x3 ,y3 ),(u0 ,v0 ),(u1 ,v1 ),(u2 ,v2 ),(u3 ,v3 )を代入すると,X成分,Y成分ごとに,それぞれ4つの式からなる連立方程式が得られる。
X成分:
u0 =a1 x0 y0 +a2 x0 +a3 y0 +a4
u1 =a1 x1 y1 +a2 x1 +a3 y1 +a4
u2 =a1 x2 y2 +a2 x2 +a3 y2 +a4
u3 =a1 x3 y3 +a2 x3 +a3 y3 +a4
Y成分:
v0 =b1 x0 y0 +b2 x0 +b3 y0 +b4
v1 =b1 x1 y1 +b2 x1 +b3 y1 +b4
v2 =b1 x2 y2 +b2 x2 +b3 y2 +b4
v3 =b1 x3 y3 +b2 x3 +b3 y3 +b4
これらのX成分,Y成分ごとの連立方程式を解くことにより,式(1)の係数a1 ,a2 ,a3 ,a4 ,式(2)の係数b1 ,b2 ,b3 ,b4 が得られる。
例えば,上記のX成分における連立方程式から,次の行列式が生成できる。
このような行列式の解は,例えば,ピポット選択法で求められる。
図8は,ピポット選択法で連立方程式の解を求めるプログラムの例である。
図8に示すプログラムにおいて,a[i][4] が,求められた4つの解,すなわち式(1)の係数a1 ,a2 ,a3 ,a4 となる。
図2において,第二の画像比較部155は,準正規化画像65に対して,本来の解像度の各正規化用リファレンス画像52を用いたテンプレートマッチングを行い,各正規化用リファレンス画像52に対応する準正規化画像65上の領域の位置を取得する。準正規化画像65は,第一の正規化変換部154により正規化された検査対象画像60である。
より具体的には,第二の画像比較部155は,例えば,1/1解像度である準正規化画像65に対して,1/1解像度の各正規化用リファレンス画像52を用いたテンプレートマッチングを行い,それぞれ最大の類似度と,その最大の類似度が得られる領域の位置とを取得する。
第二の正規化変換部156は,あらかじめ登録された各正規化用リファレンス画像52の位置と,本来の解像度の画像を用いたテンプレートマッチングの結果として得られた各位置との対応関係に基づいて,本来の解像度の準正規化画像65をさらに正規化する変換を行う。
より具体的には,第二の正規化変換部156は,あらかじめ登録された各正規化用リファレンス画像52の位置と,それぞれ1/1解像度の画像を用いたテンプレートマッチングの結果として得られた各位置との対応関係から,正規化のための変換式を生成する。第二の正規化変換部156は,本来の解像度の準正規化画像65の画素ごとに,生成された変換式にその位置を代入して位置変換を行うことにより,準正規化画像65を正規化する。図6に示すような正規化画像70が得られる。
このようにして検査対象画像正規化部15により得られた正規化画像70は,検査対象リファレンス画像50に写っている被試験機700と,ほぼ同じ位置に,同じ姿勢で被試験機700が写った画像となる。すなわち,本実施の形態の検査対象画像正規化部15により,位置決め装置505がなくても,正規の位置に,正規の姿勢で被試験機700が写った画像が得られることになる。
検査部16は,正規化画像70に対する,あらかじめ登録された検査用リファレンス画像53を用いたテンプレートマッチングを行うことにより,被試験機700の検査を行う。正規化画像70は,検査対象画像正規化部15により正規化された検査対象画像60である。
より具体的には,検査部16は,正規化画像70に対して,検査用リファレンス画像情報記憶部113に記憶された検査用リファレンス画像53を用いたテンプレートマッチングを行い,最大の類似度を得る。検査部16は,得られた最大の類似度が所定のTH4 以上であれば,検査結果がOKであると判定し,得られた最大の類似度が所定のTH4 に満たなければ,検査結果がNGであると判定する。なお,所定の閾値TH4 としては,あらかじめ最適と考えられる値が設定されている。
検査部16によるテンプレートマッチングは,正規化画像70上の,検査用リファレンス画像情報記憶部113に記憶された検査用リファレンス画像53の位置の周辺に範囲を限って行われる。検査部16による検査では,被試験機700の検査面において,あるべき物があるべき位置にきちんと取り付けられているかが,検査される。検査用リファレンス画像53は,被試験機700の検査面において,あるべき位置にあるべき物の画像である。すなわち,正規化画像70上の,あらかじめ登録された検査用リファレンス画像53の位置の周辺から,検査用リファレンス画像53と高い類似度でマッチする領域が得られなければ,正規化画像70に写った被試験機700には,あるべき物があるべき位置に取り付けられていないと判断できる。
このように,本実施の形態による検査部16では,正規化された検査対象画像60に対するテンプレートマッチングにより検査を行うので,検査用リファレンス画像53は,正規の姿勢で画像に写る被試験機700に対するものだけを用意すればよい。
正規化されていない検査対象画像60に対して検査を行うのであれば,姿勢が少しずつ異なる被試験機700ごとの検査用リファレンス画像53を多数用意し,用意されたすべての検査用リファレンス画像53についてテンプレートマッチングを行う必要がある。この場合には,多数の検査用リファレンス画像53の記憶領域も大きくなり,また,検査のためのテンプレートマッチングの処理時間も非常に長くなってしまう。
これに対して,本実施の形態による検査部16では,正規化された検査対象画像60を用いて検査を行うので,検査用リファレンス画像53も正規の姿勢の被試験機700に対するものだけでよくなり,記憶領域も少なくて済み,検査の処理時間も短くて済む。
以上説明した本実施の形態による外観検査制御装置10により,ガイドやロボット等の位置決め装置505を使わなくても,被試験機700の位置や姿勢のバラツキの影響を受けない外観検査が可能となる。
ガイド等の位置決め装置505を使用する必要がなくなるため,被試験機700の位置決めのために,被試験機700にキズ等のダメージを与えることがなくなる。また,ロボット等の位置決め装置505を使用する必要がなくなるため,設備が簡素となり,外観検査機の低価格化が可能となる。また,被試験機700の設置において,被試験機700の位置や姿勢を整えるための微調整が必要なくなるため,作業者の負担も軽減される。
以下,図9〜図12を用いて,本実施の形態の外観検査制御装置10による各処理の流れを説明する。
図9は,本実施の形態の外観検査制御装置の到達検出部による到達検出処理フローチャートである。
外観検査制御装置10において,到達検出部14は,カメラ20の撮影により得られたカメラ画像を取得する(ステップS10)。
到達検出部14は,取得されたカメラ画像と,到達検出用リファレンス画像情報記憶部111に記憶された到達検出用リファレンス画像51とについて,それぞれ解像度を下げた画像を生成する(ステップS11)。ここでは,各画像の解像度が,1/4に下げられたものとする。
到達検出部14は,解像度を下げたカメラ画像に対する,解像度を下げた到達検出用リファレンス画像51を用いたテンプレートマッチングを行う(ステップS12)。到達検出部14は,テンプレートマッチングの結果として,最大の類似度と,最大の類似度が検出されたカメラ画像上の領域の位置とを得る。
到達検出部14は,テンプレートマッチングにより得られた最大の類似度が,所定の閾値TH1 以上であるかを判定する(ステップS13)。また,到達検出部14は,最大の類似度が検出されたカメラ画像上の領域の位置が,到達検出用リファレンス画像情報記憶部111に記憶された到達検出用リファレンス画像51の位置の周辺の,所定の範囲内であるかを判定する(ステップS14)。
最大の類似度が所定の閾値TH1 以上でない場合(ステップS13のNO),または最大の類似度が検出された位置が所定の範囲内でない場合には(ステップS14のNO),到達検出部14は,ステップS10に戻り,次のカメラ画像の処理に移る。
最大の類似度が所定の閾値TH1 以上であり(ステップS13のYES),かつ最大の類似度が検出された位置が所定の範囲内である場合には(ステップS14のYES),到達検出部14は,検査対象である被試験機700が所定の位置に到達したと判定する(ステップS15)。到達検出部14は,検査対象が所定の位置に到達したと判定されたカメラ画像を,検査対象が写った検査対象画像60として,次の検査対象画像正規化部15による検査対象画像正規化処理に渡す。
図10,図11は,本実施の形態の外観検査制御装置の検査対象画像正規化部による検査対象画像正規化処理フローチャートである。
外観検査制御装置10の検査対象画像正規化部15において,低解像度画像生成部151は,到達検出部14により得られた検査対象画像60について,解像度を下げた低解像度画像を生成する(ステップS20)。また,低解像度画像生成部151は,正規化用リファレンス画像情報記憶部112に記憶された各正規化用リファレンス画像52について,解像度を下げた低解像度画像を生成する(ステップS20)。ここでは,各画像の解像度が,1/4に下げられたものとする。
低解像度画像生成部151は,1/4解像度の検査対象画像60について,検査対象が写っていると想定される領域以外の一部をカットし,検査範囲画像を生成する(ステップS21)。例えば,図5(B)に示すような検査対象画像60において,あらかじめ検査対象である被試験機700が画像に対して横長に写っていると分かっている場合には検査対象画像60の上端の領域と下端の領域には,被試験機700が写っていないと想定される。このとき,検査対象である被試験機700が写っていないと想定される領域をカットしておけば,後のテンプレートマッチングの探索範囲が小さくなるため,テンプレートマッチングの処理時間が短くなる。
テンプレート倍率取得部152は,検査対象画像60上の到達検出部14による検出位置において,±10%の範囲で5%刻みで拡縮を行った到達検出用リファレンス画像51を用いてテンプレートマッチングを行う(ステップS22)。テンプレートマッチングの結果として,5%単位で最適とする倍率が得られる。また,テンプレート倍率取得部152は,検査対象画像60上の到達検出部14による検出位置において,5%単位で最適とする倍率の近辺の±2%の範囲で1%刻みで拡縮を行った到達検出用リファレンス画像51を用いてテンプレートマッチングを行う(ステップS23)。テンプレートマッチングの結果として,1%単位で最適とする倍率が得られる。得られた1%単位の倍率が,正規化用リファレンス画像52の拡縮倍率となる。
第一の画像比較部153は,カウンタnを初期化する(ステップS24)。
第一の画像比較部153は,1/4解像度の検査対象画像60から得られた検査範囲画像に対して,n番目の1/4解像度の正規化用リファレンス画像52を用いたテンプレートマッチングを行う(ステップS25)。第一の画像比較部153は,テンプレートマッチングの結果として,最大の類似度を得る。なお,テンプレートマッチングで用いられる1/4解像度の正規化用リファレンス画像52は,ステップS23で得られた拡縮倍率で拡縮された画像である。
第一の画像比較部153は,テンプレートマッチングにより得られた最大の類似度が,所定の閾値TH2 以上であるかを判定する(ステップS26)。所定の閾値TH2 としては,あらかじめ最適と考えられる値が設定されている。
最大の類似度が所定の閾値TH2 以上でない場合には(ステップS26のNO),第一の画像比較部153は,テンプレートマッチングに失敗したものと判断し(ステップS27),処理を終了する。このとき,外観検査制御装置10は,例えば,表示装置40に出力するなどにより,オペレータに対して検査対象画像60の正規化に失敗した旨を通知する。
最大の類似度が所定の閾値TH2 以上である場合には(ステップS26のYES),第一の画像比較部153は,テンプレートマッチングによって最大の類似度が検出された領域の位置を取得する(ステップS28)。
第一の画像比較部153は,カウンタnをインクリメントする(ステップS29)。第一の画像比較部153は,カウンタnの値が4より大きいかを判定する(ステップS30)。
カウンタnの値が4より小さければ(ステップS30のNO),第一の画像比較部153は,ステップS25に戻り,次の正規化用リファレンス画像52の処理に移る。
カウンタnの値が4より大きければ(ステップS30のYES),すなわちカウンタnの値が5であれば,第一の画像比較部153は,4つすべての正規化用リファレンス画像52について,テンプレートマッチングが終了したと判断する。
第一の正規化変換部154は,正規化用リファレンス画像情報記憶部112に記憶された4つの正規化用リファレンス画像52の位置と,テンプレートマッチングにより検出された4つの位置との関係に基づいて,擬似アフィン変換による検査対象画像60の正規化変換を行う(ステップS31)。ここでは,低解像度の正規化用リファレンス画像52を用いたテンプレートマッチングの結果により得られた,正規化された検査対象画像60を,準正規化画像65と呼ぶ。なお,ステップS31において,擬似アフィン変換により,正規化変換される検査対象画像60は,1/1解像度,すなわち本来の解像度の検査対象画像である。
第二の画像比較部155は,カウンタnを初期化する(ステップS32)。
第二の画像比較部155は,ステップS31で正規化された検査対象画像60,すなわち準正規化画像65に対して,正規化用リファレンス画像情報記憶部112に記憶されたn番目の正規化用リファレンス画像52を用いたテンプレートマッチングを行う(ステップS33)。第二の画像比較部155は,テンプレートマッチングの結果として,最大の類似度を得る。なお,テンプレートマッチングで用いられる正規化用リファレンス画像52は,1/1解像度,すなわち本来の解像度の正規化用リファレンス画像52である。また,テンプレートマッチングで用いられる正規化用リファレンス画像52は,ステップS23で得られた拡縮倍率で拡縮された画像である。
第二の画像比較部155は,テンプレートマッチングにより得られた最大の類似度が,所定の閾値TH3 以上であるかを判定する(ステップS34)。所定の閾値TH3 としては,あらかじめ最適と考えられる値が設定されている。
最大の類似度が所定の閾値TH3 以上でない場合には(ステップS34のNO),第二の画像比較部155は,テンプレートマッチングに失敗したものと判断し(ステップS35),処理を終了する。このとき,外観検査制御装置10は,例えば,表示装置40に出力するなどにより,オペレータに対して検査対象画像60の正規化に失敗した旨を通知する。
最大の類似度が所定の閾値TH3 以上である場合には(ステップS34のYES),第二の画像比較部155は,テンプレートマッチングによって最大の類似度が検出された領域の位置を取得する(ステップS36)。
第二の画像比較部155は,カウンタnをインクリメントする(ステップS37)。第二の画像比較部155は,カウンタnの値が4より大きいかを判定する(ステップS38)。
カウンタnの値が4より小さければ(ステップS38のNO),第二の画像比較部155は,ステップS33に戻り,次の正規化用リファレンス画像52の処理に移る。
カウンタnの値が4より大きければ(ステップS38のYES),すなわちカウンタnの値が5であれば,第二の画像比較部155は,4つすべての正規化用リファレンス画像52について,テンプレートマッチングが終了したと判断する。
第二の正規化変換部156は,正規化用リファレンス画像情報記憶部112に記憶された4つの正規化用リファレンス画像52の位置と,テンプレートマッチングにより検出された4つの位置との関係に基づいて,擬似アフィン変換による準正規化画像65の正規化変換を行う(ステップS39)。ここで得られた画像が,検査対象画像60の正規化の最終結果である正規化画像70となる。
検査対象画像正規化部15は,最終的な検査対象画像60が正規化された画像,すなわち正規化画像70を,次の検査部16による検査処理に渡す。
図12は,本実施の形態の外観検査制御装置の検査部による検査処理フローチャートである。
外観検査制御装置10において,検査部16は,検査対象画像正規化部15により得られた正規化画像70から,検査画像を切り出す(ステップS40)。検査画像としては,検査用リファレンス画像情報記憶部113に記憶された検査用リファレンス画像53の位置の周辺の領域が切り出される。
検査部16は,正規化画像70から切り出された検査画像に対して,検査用リファレンス画像情報記憶部113に記憶された検査用リファレンス画像53を用いたテンプレートマッチングを行う(ステップS41)。検査部16は,テンプレートマッチングの結果として,最大の類似度を得る。
検査部16は,テンプレートマッチングにより得られた最大の類似度が,所定の閾値TH4 以上であるかを判定する(ステップS42)。
最大の類似度が所定の閾値TH4 以上である場合には(ステップS42のYES),検査部16は,検査結果がOKであると判定する(ステップS43)。
最大の類似度が所定の閾値TH4 以上でない場合には(ステップS42のNO),検査部16は,検査結果がNGであると判定する(ステップS44)。
検査部16は,このような検査処理を,検査の目的とするマークや部品などの数の分だけ,繰り返す。
以上説明した本実施の形態の外観検査制御装置10による処理は,コンピュータが備えるCPU,メモリ等のハードウェアとソフトウェアプログラムとにより実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
例えば,本実施の形態では,検査対象画像正規化部15が,4つの正規化用リファレンス画像52を用いてテンプレートマッチングを行い,得られた4点の座標を用いた擬似アフィン変換により,検査対象画像60を正規化している。例えば,検査対象画像正規化部15が,3つの正規化用リファレンス画像52を用いてテンプレートマッチングを行い,得られた3点の座標を用いたアフィン変換により,検査対象画像60を正規化するようにしてもよい。アフィン変換では,画像の平行移動,回転,拡大・縮小が可能である。擬似アフィン変換を用いることによって,画像の平行移動,回転,拡大・縮小だけでなく,画像の歪みの補正も可能となる。
また,例えば,本実施の形態では,検査対象画像正規化部15が,1/4解像度画像を用いたテンプレートマッチングの結果と,1/1解像度画像を用いたテンプレートマッチングの結果とを用いた2段階の正規化変換により,最終的な正規化画像70が生成している。検査対象画像正規化部15が,解像度が低い画像から順に用いたテンプレートマッチングの結果を用いて,3段階以上の正規化変換により,最終的な正規化画像70を生成するようにしてもよい。たとえば,1/4解像度,1/2解像度といったように,段階的に画像の解像度を上げながら第一の画像比較部153,第一の正規化変換部154による処理を繰り返し,その最後に1/1解像度画像を用いた第二の画像比較部155,第二の正規化変換部156による処理を行うようにしてもよい。