(57)【要約】【課題】被検物を撮影して得られた画像データから、簡単な処理で、高速に被検物の位置及び回転量を検出する画像処理装置、及び該画像処理装置を備えた検査装置を提供する。【解決手段】被検物を撮影して得られた画像データから距離画像データを生成する距離画像生成部２０７と、距離画像データを背景領域と被検物領域とに分離する背景・被検物領域分離部２０８と、距離画像データの被検物領域から、被検物の位置及び回転量を算出する位置及び回転量算出部２０９と備える。【選択図】図４
2014041074.tif 000002
【特許請求の範囲】
【請求項１】
被検物を撮影して得られた画像データから距離画像データを生成する距離画像生成手段と、
前記距離画像データを背景領域と被検物領域とに分離する背景・被検物領域分離手段と、
前記距離画像データの被検物領域から、前記被検物の位置及び回転量を算出する位置・回転量算出手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記距離画像手段は、被検物が存在しない状態で撮影して得られた背景画像データから背景距離画像データおよび被検物を撮影して得られた画像データから距離画像データを生成し、
前記背景・被検物領域分離手段は、前記背景距離画像データと前記距離画像データとを比較して、前記距離画像データを背景領域と被検物領域とに分離する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置・回転量算出手段は、前記距離画像データの被検物領域のモーメントを計算し、前記モーメントから被検物の位置・回転量を算出する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
被検物を複数方向から撮影して、視差の異なる複数の画像データを取得する撮影手段と、
前記複数の画像データから距離画像データを生成する距離画像生成手段と、
前記距離画像データを背景領域と被検物領域とに分離する背景・被検物領域分離手段と、
前記距離画像データの被検物領域から、前記被検物の位置及び回転量を算出する位置・回転量算出手段と、
前記算出された被検物の位置及び回転量をあらかじめ定められた閾値と比較して、前記被検物の位置ずれ及び回転ずれを判定する位置ずれ・回転ずれ判定手段と、
を有することを特徴とする検査装置。
【請求項５】
前記撮像手段は、被検物に対向する位置に設けられた、複数のレンズがアレイ配列されてなるレンズアレイと、前記レンズアレイの像面側に設けられた、前記複数のレンズのそれぞれにより略結像される前記被検物の縮小像を撮像する撮像素子とを有する、
ことを特徴とする請求項４に記載の検査装置。
【請求項６】
前記撮像手段は、被検物の撮影領域よりも広領域にランダムパタンを照射するパタン投影手段を更に有することを特徴とする請求項４又は５に記載の検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被検物を撮影して得られた画像データを処理して該被検物の位置及び回転量を検出する画像処理装置、及び、該画像処理装置の処理機能を備えた検査装置に関する。
【背景技術】
【０００２】
従来から、被検物を撮影して得られた画像データについて、ハフ変換やテンプレート・マッチングなどを用いて被検物の位置（位置ずれ）や回転量（回転ずれ）を検出する方法が知られている。また、距離画像データを用いて、同様に被検物の位置（位置ずれ）や回転量（回転ずれ）を検出する方法（ＩＣＰ法）も知られている（例えば、非特許文献１）。しかし、従来の方法は、画像データや距離データの全画面を処理対象領域とするため、演算処理量、演算時間、使用ハードウエア等が増大する問題があった。また、ＩＣＰ法はアルゴリズムも非常に複雑である。
【０００３】
なお、特許文献１には、テンプレート・マッチングを用いた位置検出法において、画像データ中の特徴点の密度に応じて、テンプレート・マッチングの計算対象領域を限定することで、高速に被検体の位置ずれや回転ずれを検出する技術が記載されているが、特徴点抽出には画像データの全画面を対象とする必要があり、処理の高速化には限界がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、従来技術に比べて、被検物を撮影して得られた画像データから、簡単な処理で、高速に被検物の位置及び回転量を検出する画像処理装置、及び、該画像処理装置の処理機能を備えた検査装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の画像処理装置は、被検物を撮影して得られた画像データから距離画像データを生成する距離画像生成手段と、前記距離画像データを背景領域と被検物領域とに分離する背景・被検物領域分離手段と、前記距離画像データの被検物領域から、前記被検物の位置・回転量を算出する位置・回転量算出手段とを有することを特徴とする。
【０００６】
また、本発明の検査装置は、被検物を複数方向から撮影して、視差の異なる複数の画像データを取得する撮影手段と、前記複数の画像データから距離画像データを生成する距離画像生成手段と、前記距離画像データを背景領域と被検物領域とに分離する背景及び被検物領域分離手段と、前記距離画像データの被検物領域から、前記被検物の位置及び回転量を算出する位置及び回転量算出手段と、前記算出された被検物の位置及び回転量をあらかじめ定められた閾値と比較して、前記被検物の位置ずれ及び回転ずれを判定する位置ずれ・回転ずれ判定手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、距離画像データを用いて、簡単な処理で、高速に被検物の位置及び回転量を検出することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る画像処理装置を含む検査装置の被検物とカメラの設置状態を示した図である。
【図２】本実施形態に係る検査装置のシステム構成図である。
【図３】パタン投影部によるランダムパタン例を示す図である。
【図４】図２における処理ユニットの構成例を示す詳細ブロック図である。
【図５】背景距離画像データの具体例を示す図である。
【図６】距離画像データと背景・被検物領域分離の具体例を示す図である。
【図７】距離画像データと背景・被検物領域分離の別の具体例を示す図である。
【図８】図６の場合の距離画像データの座標を表わした図である。
【図９】図７の場合の距離画像データの座標を表わした図である。
【図１０】図４の制御部の状態遷移を表わした図である。
【図１１】図１０の各状態での処理ユニットの動作フローを示す図である。
【図１２】本実施形態に係る検査装置の全体的動作の流れを示す図である。
【図１３−Ａ】背景撮影状態でのパソコンの表示画面を示す図である。
【図１３−Ｂ】閾値調整状態でのパソコンの表示画面を示す図である。
【図１３−Ｃ】閾値調整設定時のパソコンの表示画面を示す図である。
【図１３−Ｄ】運用状態でのパソコンの表示画面を示す図である。
【図１４】一体型ステレオカメラの一実施例を示す図である。
【図１５】一体型ステレオカメラの別の実施例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。なお、実施形態では、撮像手段として２つのカメラからなるステレオカメラにより被検物を撮影して、該被検物について視点の異なる２つの画像データを取得し、該２つの画像データから距離画像データを生成し、該距離画像データを背景領域と被検物領域に分離し、該被検物領域の重心、モーメントを計算することにより、被検物の位置及び回転量を算出するとする。
【００１０】
図１は、本実施形態に係る検査装置（画像処理装置を含む）の被検物とカメラの設置状態の一例を示した図である。図１において、撮像手段であるカメラＡ１０１とカメラＢ１０２は、一定の間隔で、且つ、両者の光軸が平行になるように、カメラ固定治具１００に固定されている。このカメラＡ１０１、カメラＢ１０２がステレオカメラを構成し、カメラＡ１０１がステレオカメラの左目、カメラＢ１０２が右目に相当する。さらに、カメラ固定治具１００には、パタン投影部１０３が固定されている。カメラ固定治具１００は支持台１１０に固定されている。該支持台１１０に取り付けられたカメラ固定治具１００と該支持台１１０の設置面１１２とは平行になるよう構成されている。その結果、カメラＡ１０１、カメラＢ１０２及びパタン投影部１０３は鉛直下向きに設置される。支持台１１０の設置面１１２上の、カメラＡ１０１、カメラＢ１０２、パタン投影部１０３と対向する位置に、被検物１０が載置される。ここで、被検物の形状は直方体とする。
【００１１】
図２は、本実施形態に係る検査装置の全体的システム構成図である。カメラ固定治具１００に固定されたカメラＡ１０１、カメラＢ１０２は、それぞれ設置面１１２の背景及び被検物１０を撮影し、その光学像をアナログ電気信号に変換し、さらにデジタル信号に変換して画像データを出力する。例えば、画像データは８ビット／画素からなり、０〜２５５階調（輝度値）をとる。
【００１２】
パタン投影部１０３は、被検物１０及びその周辺をランダムパタンで照射して、後述のカメラＡ１０１、カメラＢ１０２によるステレオ画像を利用した測距演算が安定に行えるようにする。このパタン投影部１０３は、図３のように、カメラＡ１０１、カメラＢ１０２のステレオカメラ測距領域より広い領域にランダムパタンを照射するようにする。なお、模様などの付いた被写体を撮影して測距演算を行うなど、測距演算が安定に行える場合には、パタン投影部１０３は使用しなくてもよい。
【００１３】
処理ユニット２００は、カメラＡ１０１及びカメラＢ１０２の撮影を制御すると共に、カメラＡ１０１及びカメラＢ１０２から出力される画像データを取り込んで、該画像データから被検物１０の位置及び回転量を算出し、位置ずれ及び回転ずれを判定するための種々の処理、主に画像処理を行う処理基板である。
【００１４】
この処理ユニット２００には、パソコン（ＰＣ）３００及び外部通信部４００が接続されている。
【００１５】
パソコン３００は、処理ユニット２００に対して、該処理ユニット２００での処理のためのパラメータの指定やその他の指示を行うと共に、処理ユニット２００から画像データや、計算結果、判定結果などを受信して表示する。すなわち、パソコン３００はユーザインタフェース手段として機能する。なお、パソコン３００の代わりに、タッチパネル等の操作部を使用し、処理ユニット２００と一体的に構成することでもよい。
【００１６】
外部通信部４００は、一般にＰＬＣ（Programmable  Logic  Controller）と接続される。該外部通信部４００は、例えば、撮影トリガーを処理ユニット２００に与える、処理ユニット２００の動作状態を監視する、処理ユニット２００から判定結果を受け取る、などが可能である。
【００１７】
図４は、本実施形態に係る処理ユニット２００の詳細構成を示すブロック図である。本処理ユニット２００は、カメラＡインターフェース（Ｉ／Ｆ）２０１、カメラＢＩ／Ｆ２０２、ＰＣＩ／Ｆ２０３、外部Ｉ／Ｆ２０４、メモリ２０５、画像変換部２０６、距離画像生成部２０７、背景・被検物分離部２０８、位置・回転量算出部２０９、位置ずれ・回転ずれ判定部２１０、及び制御部２１１等のモジュールからなり、これら各モジュールはバス２１２で接続されている。ここで、画像変換部２０６、距離画像生成部２０７、背景・被検物分離部２０８及び位置・回転量検出部２０９が本発明に係る画像処理装置として機能する。
【００１８】
制御部２１１は、各モジュールの動作制御を行う。また、制御部２１１は、各モジュールとの画像データ、その他データ等のやり取り、メモリ２０５への画像データ、その他データ等の保存／取り出しを行う。メモリ２０５は、各モジュールで使用する画像データ、パラメータ、ユーザ設定値などを記憶する。
【００１９】
カメラＡＩ／Ｆ２０１は、カメラＡ１０１とのインターフェースであり、制御部２１１からの撮影指示や設定データ等をカメラＡ１０１に送信すると共に、カメラＡ１０１から出力された画像データを取り込んでメモリ２０５に記憶する。カメラＢＩ／Ｆ２０２は、カメラＢ１０２とのインターフェースであり、同じく制御部２１１からの撮影指示や設定データ等をカメラＢ１０２に送信すると共に、カメラＢ１０２から出力された画像データを取り込んでメモリ２０５に記憶する。ここで、設定データには、自動露出、ホワイトバランス、画像信号モード（グレースケール／ＹＵＶカラー／Ｒａｗ画像等）などが含まれる。なお、画像信号モードはグレースケールとする。したがって、カメラＡ１０１，カメラＢ１０２からはモノクロの輝度画像データが出力される。
【００２０】
ＰＣＩ／Ｆ２０３は、パソコン（ＰＣ）３００とのインターフェースであり、パソコン３００で設定されたユーザ設定値（位置ずれ・回転ずれ判定閾値）を受け取り、メモリ２０５に記憶する。また、ＰＣＩ／Ｆ２０３は、画像データ、位置・回転計算結果、判定結果等をパソコン３００に送信する。
【００２１】
外部Ｉ／Ｆ２０４は、外部通信部４００とのインターフェースであり、撮影トリガーを外部通信部４００から受け取り、また、処理ユニット２００の動作状態や判定結果などを外部通信部４００に出力する。
【００２２】
画像変換部２０６は、メモリ２０５から、カメラＡ１０１で撮影された画像データ（以下、輝度画像データＡ）、カメラＢ１０２で撮影された画像データ（以下、輝度画像データＢ）を取り込んで、それぞれ画像歪みを補正する。さらに、画像変換部２０６は、歪み補正された輝度画像データＢに対して歪み補正された輝度画像データＡを平行化（ステレオ画像の平行化）し、平行化された輝度画像データＡ’と輝度画像データＢ’をメモリ２０５に記憶する。例えば、歪み補正の手法としてはA  flexible  new  technique  for  camera  calibration”．IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence，22(11)：1330-1334，2000に記載の手法、平行化の手法としてはFusiello  A，Trucco  E  and  VerriＡ：A  compact  algorithm  for  rectification  of  stereo  pairs.  Machine  Vision  and  Applications：16-22，2000に記載の手法を用いるとよい。
【００２３】
なお、カメラＡ１０１とカメラＢ１０２を予め平行化した状態でカメラ固定治具１００に固定することで平行化の処理は省略できる。
【００２４】
距離画像生成部２０７は、メモリ２０５から、平行化された輝度画像データＡ’と輝度画像データＢ’を取り込み、この２つの輝度画像データＡ’，Ｂ’を用いて、ブロックマッチングを行い、視差画像データＣを生成する。視差画像データＣは各画素毎に生成する。そして、視差画像データＣから距離画像データＤを作成する。距離画像データＤは、視差画像データＣの各視差値ｐについて、カメラＡ１０１、カメラＢ１０２の焦点距離をＦ１、基線長（カメラＡ１０１、カメラＢ１０２の光軸間の距離）をＢ１として、各画素毎に、ｄ＝Ｆｌ＊Ｂｌ／ｐの式を利用して、距離値ｄを計算することによって得られる。距離画像生成部２０７は、生成した距離画像データＤをメモリ２０５に記憶する。
【００２５】
なお、カメラが３つ以上の場合には複数の距離画像データが得られるため、各距離画像データをマージングして一つの距離画像データにする必要がある。これには従来から知られている手法を用いてればよい（例えば、非特許文献２〜４）。さらに、距離画像データを生成できればステレオカメラ方式でなくてもよく、例えば、光切断法やパタン投影法を使用して距離画像データを生成してもよい。
【００２６】
本実施形態では、まず、被検物１０が設置面１１２に設置されない状態での、カメラＡ１０１、カメラＢ１０２が該設置面１１２（背景）を撮影して得られた輝度画像データＡ’と輝度画像データＢ’から距離画像データ（以下、背景距離画像データＤ１と称す）を生成してメモリ２０５に記憶しておく。次に、被検物１０が設置面１１２に設置された場合の、カメラＡ１０１、カメラＢ１０２が該被検物１０及び設置面１１２を撮影して得られた輝度画像データＡ’と輝度画像データＢ’から距離画像データ（以下、距離画像データＤ２と称す）を生成してメモリ２０５に記憶する。
【００２７】
背景・被検物分離部２０８は、メモリ２０５から背景距離画像データＤ１及び距離画像データＤ２を取り込み、両者の距離値を比較して、距離画像データＤ２を背景領域と被検物領域とに分離する。具体的には、背景・被検物分離部２０８では、各画素毎に、背景距離画像データＤ１の距離値と距離画像データＤ２の距離値を比較して、距離値の差の絶対値が所定値の閾値以上の画素を被検物領域、それ以外の画素を背景領域と分離する。
【００２８】
図５乃至図７は、背景・被検物分離部２０８での背景・被検物領域分離処理を説明する図である。ここでは、カメラＡ１０１、カメラＢ１０２から設置面１１２までの距離は１００ｍｍであるとする。また、被検物１０は、高さが２０ｍｍの直方体とする。
【００２９】
図５（ａ）は、被検物１０が設置面１１２に設置されない場合の、カメラＢ１０２による輝度画像データＢ’である。すなわち、輝度画像データＢ’は白紙である。カメラＡ１０１の輝度画像データＡ’も同様である（不図）。実際には、輝度画像データにはパタン投影部１０３によるランダムパタンが反映されるが、図面の簡単化のために省略する。これは、図６（ａ）及び図７（ａ）についても同様とする。
【００３０】
図５（ｂ）は、図５（ａ）の被検物１０が設置面１１２に設置されない場合について、カメラＡ１０１とカメラＢ１０２による輝度画像データＡ’及び輝度画像データＢ’から生成された背景距離画像データＤ１を示したものである。ここで、各升は画素を表わし、升内の数値は距離値（ｍｍ）を表わしている。
【００３１】
図６（ａ）は、被検物１０が設置面１１２に設置された場合の、カメラＢ１０２による輝度画像データＢ’の一例である。カメラＡ１０１の輝度画像データＡ’も同様である（不図）。図６（ｂ）は、図６（ａ）の場合について、カメラＡ１０１とカメラＢ１０２による輝度画像データＡ’及び輝度画像データＢ’から生成された距離画像データＤ１である。
【００３２】
同様に、図７（ａ）は、被検物１０が設置面１１２に設置された場合の、カメラＢ１０２による輝度画像データＢ’の別の例である。カメラＡ１０１の輝度画像データＡ’も同様である（不図）。図７（ｂ）は、図７（ａ）の場合について、カメラＡ１０１とカメラＢ１０２による輝度画像データＡ’及び輝度画像データＢ’から生成された距離画像データＤ１である。
【００３３】
背景・被検物分離部２０は、各画素毎に、背景距離画像データＤ１（図５（ｂ））の距離値と距離画像データＤ２（図６（ｂ）、図７（ｂ））の距離値を比較して、距離画像データＤ２中の、距離値の差の絶対値が所定の閾値以上の画素を被検物領域、それ以外の画素を背景領域とする。ここでは、閾値を１０とする。この結果、図６（ｂ）の距離画像データＤ２は、図６（ｃ）に示すように、被検物領域と背景領域に分離される。同様に、図７（ｂ）の距離画像データＤ２は、図７（ｃ）に示すように、被検物領域と背景領域に分離される。図６（ｃ）及び図７（ｃ）において、網掛けした部分が被検物領域を表わしている。
【００３４】
なお、本実施形態では、背景距離画像データと距離画像データを使用して、距離画像データを背景領域と被検物領域に分離したが、距離画像データの各画素について、当該距離値が所定の閾値以下の画素を被検物領域、それ以外の画素を背景領域と分離することでもよい。例えば、図６（ｂ）及び図７（ｂ）の場合、閾値を８５とすることで、図６（ｃ）及び図７（ｃ）に示したように分離することができる。
【００３５】
位置・回転量算出部２０９は、背景・被検物分離部２０８で分離された距離画像データＤ２の被検物領域についてモーメントＭ00，Ｍ10，Ｍ01，Ｍ11，Ｍ20，Ｍ02を計算し、該モーメントを利用して被検物１０の位置Ｘ，Ｙ、及び、回転量Θを算出する。
【００３６】
ここで、モーメントＭ00，Ｍ10，Ｍ01，Ｍ11，Ｍ20，Ｍ02の計算には、次式（１）を用いる。
【００３７】
【数１】
2014041074.tif 000003
ｘ，ｙは距離画像データＤ２の座標である。ｓｒｃ（ｘ，ｙ）は、座標（ｘ，ｙ）が被検物領域である場合には１、背景領域である場合は０を表わす画像配列である。
【００３８】
モーメントＭ00，Ｍ10，Ｍ01，Ｍ11，Ｍ20，Ｍ02から、被検物１０の位置（重心位置）Ｘ，Ｙ、回転量Θは次のようにして算出する。
【００３９】
【数２】
2014041074.tif 000004
なお、μ20＝μ02の時は、回転量Θは0とする。
【００４０】
図８は、図６の場合（被検物が水平に配置されている場合）について距離画像データＤ２の座標を表わしたものである。図８において、網掛けした部分が被検物領域、網掛けしない部分が背景領域である。式（１）より、図８では、Ｍ00＝３０，Ｍ10＝１０５，Ｍ01＝１２０，Ｍ11＝４２０，Ｍ20＝４５５，Ｍ02＝５４０となる。これにより、被検物１０の位置Ｘ，Ｙは、Ｘ≒３.５，Ｙ≒４.０、回転量ΘはΘ＝０と算出される。
【００４１】
図９は、図７の場合（被検物が傾いて配置されている場合）について距離画像データＤ２の座標を表わしたものである。図９において、網掛けした部分が被検物領域、網掛けしない部分が背景領域である。式（１）より、図９では、Ｍ00＝２８，Ｍ10＝１２９，Ｍ01＝１１８，Ｍ11＝５５６，Ｍ20＝７０６，Ｍ02＝５６２となる。これにより、被検物１０の位置Ｘ，Ｙは、Ｘ≒４.６，Ｙ≒４.２、回転量ΘはΘ≒２７.６と算出される。
【００４２】
なお、式（１）において、距離画像データの背景領域ではｓｒｃ（ｘ，ｙ）＝０である。したがって、モーメントＭ00，Ｍ10，Ｍ01，Ｍ11，Ｍ20，Ｍ02の計算では、距離画像データの被検物領域の座標について（図８、図９の網掛け部分）、式（１）を計算すればよい。これにより、演算処理量、演算時間が短縮される。
【００４３】
位置ずれ・回転ずれ判定部２１０は、位置・回転量算出部２０９で算出された被検物１０の位置Ｘ，Ｙ、回転量Θについて、あらかじめ定めた閾値（minＸ，maxＸ，minＹ,maxＹ，minΘ，maxΘ）と比較することで、被検物１０の位置・回転ずれを判定する。すなわち、被検物が正常に置かれているか否か判定する。具体的には、minＸ≦Ｘ≦maxＸかつminＹ≦Ｙ≦maxＹかつminΘ≦Θ≦maxΘの場合は、判定結果は１（ＯＫ）、それ以外は０（ＮＧ）となる。
【００４４】
位置ずれ・回転ずれ部２１０での判定結果は、制御部２１１を介して、ＰＣＩ／Ｆ２０３からパソコン３００あるいは外部Ｉ／Ｆ２０４から外部通信部４００に繋がるＰＬＣに出力される。
【００４５】
制御部２１１は、状態により動作が異なる。図１０に制御部２１１の遷移状態を示す。初期状態では、背景撮影状態１００１にある。背景撮影登録が完了すると閾値調整状態１００２に遷移する。そして判定閾値設定が完了すると、運用状態１００３に遷移する。なお、初期化（距離画像や判定閾値の初期化）が行われると、状態は撮影状態１００１に移る。
【００４６】
図１１は、制御部２１１の各状態における処理ユニット２００の動作フローを示した図である。
【００４７】
図１１（ａ）は、制御部２１１が背景撮影状態１００１のときにトリガーが入力された場合の動作フローである。背景撮影状態１００１では、まだ、被検物１０は設置面１１２に設置されない。
【００４８】
制御部２１１はカメラＡ１０１，カメラＢ１０２に同期して撮影指示を行う（ステップ１１０１）。すると、カメラＡ１０１で撮影された背景画像の画像データ（輝度画像データＡ）が画像変換部２０６に転送され、同じくカメラＢ１０２で撮影された背景画像の画像データ（輝度画像データＢ）が画像変換部２０６に転送される。そして、画像変換部２０６にて、画素歪み補正及びで平行化された輝度画像データＡ’、輝度画像データＢ’が生成される（ステップ１１０２）。この輝度画像データＡ’および輝度画像データＢ’は距離画像生成部２０７に転送される。距離画像生成部２０７では、輝度画像データＡ’と輝度画像データＢ’を用いて視差画像データＣを生成し、視差画像データＣから距離画像データＤを生成する（ステップ１１０３）。ここでは、背景距離画像データＤ１が生成される。制御部２１１は、背景距離画像データＤ１をメモリ２０５に保存すると共に、輝度画像データＢ’（背景輝度画像）をパソコン３００へ転送する（ステップ１１０４）。なお、制御部２１１は、輝度画像データＡ’をパソコン３００へ転送することでもよい。要は、ユーザにとって背景画像であることかわかればよい。
【００４９】
図７（ｂ）は、制御部２１１が閾値調整状態１００２のときにトリガーが入力された場合の動作フローである。閾値調整状態１００２では、位置ずれ・回転ずれ判定対象の被検物（モデル製品）１０が設置面１１２に正しく設置される。
【００５０】
制御部２１１はカメラＡ１０１，カメラＢ１０２に同期して撮影指示を行う（ステップ１１０１）。すると、カメラＡ１０１で撮影された被検物画像の画像データ（輝度画像データＡ）が画像変換部２０６に転送され、同じくカメラＢ１０２で撮影された被検物画像の画像データ（輝度画像データＢ）が画像変換部２０６に転送される。そして、画像変換部２０６にて、画素歪み補正及びで平行化された輝度画像データＡ’、輝度画像データＢ’が生成される（ステップ１１０２）。この輝度画像データＡ’および輝度画像データＢ’は距離画像生成部２０７に転送される。距離画像生成部２０７では、輝度画像データＡ’と輝度画像データＢ’を用いて視差画像データＣを生成し、視差画像データＣから距離画像データＤを生成する（ステップ１１０３）。ここでは、距離画像データＤ２が生成される。この距離画像データＤ２は背景・被検物分離部２０８に転送される。また、メモリ２０５に保存されている背景距離画像データＤ１も背景・被検物分離部２０８に転送される。背景・被検物分離部２０８では、背景距離画像データＤ１と距離画像データＤ２を比較して、距離画像データＤ２を背景領域と被検物領域に分離する（ステップ１１０５）。この分離結果は、位置・回転量算出部２０９に転送される。位置・回転量算出部２０９では、距離画像データＤ２の被検物領域のモーメントを計算し、このモーメントから被検物（モデル製品）１０の位置Ｘ，Ｙ、及び回転量Θを算出する（ステップ１１０６）。制御部２１１は、輝度画像データＢ’、及び位置Ｘ，Ｙ、回転量Θの情報をパソコン３００へ転送する（ステップ１１０７）。この場合も、輝度画像データ（被検物輝度画像）としては輝度画像データＡ’をパソコン３００へ転送することでもよい。要は、ユーザにとって被検物画像の位置・回転状況がわかればよい。
【００５１】
パソコン３００では、転送された輝度画像データＢ’、位置Ｘ，Ｙ、回転量Θの情報を表示部に表示する。これをもとに、ユーザは判定閾値（minＸ，maxＸ，minＹ，maxＹ，minΘ，maxΘ）を設定入力する。パソコン３００は、この設定入力された判定閾値を処理ユニット２００に転送し、処理ユニット２００の制御部２１１は、転送された判定閾値をメモリ２０５に保持する。
【００５２】
図１１（ｃ）は、制御部２１１が運用状態１００３の時にトリガーが入力された場合の動作フローである。運用状態１００３では、実際の検査対象の被検物１０が設置面１１２に任意の態様で設置される。
【００５３】
制御部２１１はカメラＡ１０１，カメラＢ１０２に同期して撮影指示を行う（ステップ１１０１）。すると、カメラＡ１０１で撮影された被検物画像の画像データ（輝度画像データＡ）が画像変換部２０６に転送され、同じくカメラＢ１０２で撮影された被検物画像の画像データ（輝度画像データＢ）が画像変換部２０６に転送される。そして、画像変換部２０６にて、画素歪み補正及びで平行化された輝度画像データＡ’、輝度画像データＢ’が生成される（ステップ１１０２）。この輝度画像データＡ’および輝度画像データＢ’は距離画像生成部２０７に転送される。距離画像生成部２０７では、輝度画像データＡ’と輝度画像データＢ’を用いて視差画像データＣを生成し、視差画像データＣから距離画像データＤを生成する（ステップ１１０３）。ここでは、距離画像データＤ２が生成される。この距離画像データＤ２は背景・被検物分離部２０８に転送される。また、メモリ２０５に保存されている背景距離画像データＤ１も背景・被検物分離部２０８に転送される。背景・被検物分離部２０８では、背景距離画像データＤ１と距離画像データＤ２を比較して、距離画像データＤ２を背景領域と被検物領域に分離する（ステップ１１０５）。この分離結果は、位置・回転量算出部２０９に転送される。位置・回転量算出部２０９では、距離画像データＤ２の被検物領域のモーメントを計算し、このモーメントから被検物１０の位置Ｘ，Ｙ、及び回転量Θを算出する（ステップ１１０６）。この算出された位置Ｘ，Ｙ、回転量Θのデータは位置ずれ・回転ずれ判定部２１０に転送される。また、メモリ２０５に保存されている判定閾値（minＸ，maxＸ，minＹ，maxＹ，minΘ，maxΘ）も位置ずれ・回転ずれ判定部２１０に転送される。位置ずれ・回転ずれ判定部２１０では、算出された算出された位置Ｘ，Ｙ及び回転量Θを判定閾値と比較して、被検物１０の位置ずれ・回転ずれを判定する（ステップ１１０８）。そして、判定結果（ＯＫ／ＮＧ）を制御部２１１へ通知する。制御部２１１は、判定結果、輝度画像データＢ’をＰＣ３００や外部通信部４００へ転送する（ステップ１１０９）。
【００５４】
以下に、本実施形態に係る画像処理装置を含む検査装置の具体的動作について説明する。
【００５５】
図１２は、ユーザ操作と共に本検査装置の全体の動作の流れ示した図である。図１２中、網掛けの個所がユーザ操作を示している。図１３はパソコン３００の表示画面の遷移を示した図である。
【００５６】
カメラＡ１０１，カメラＢ１０２、及び、パタン投影部１０３は、図１のように設置されているとする。なお、先に述べたように、パタン投影部１０３は省略することでもよい。最初、被検物１０は設置されていない。
【００５７】
ユーザは、パソコン３００上で被検物の位置ずれ・回転ずれ判定のための専用アプリケーションを起動する（ステップ２００１）。この時、パソコン３００の表示画面は図１３−Ａのようになる。また、処理ユニット２００の制御部２１１は初期状態の背景撮影状態１００１にある（図１０）。
【００５８】
次に、ユーザは背景撮影ボタン５０２を押下する（ステップ２００２）。すると、ＰＣ３００からＰＣＩ／Ｆ２０３を通して制御部２１１にトリガーが入力される。その結果、処理ユニット２００は図１１（ａ）で示した処理動作を実行し（ステップ２００３）、輝度画像データ（背景輝度画像）Ｂ’をパソコン３００へ出力する。この時、パソコン３００の表示画面の撮影画像表示領域５０１に輝度画像データＢ’が表示されるが、被検物が設置されていないので、何も表示されていない。すなわち、表示画面は図１３−Ａと同様である。実際には、パタン投影部１０３によるパタン（図３）が表示されるが、ここでは説明の簡単化のため省略する。輝度画像データＢ’の転送後、制御部２１１は閾値調整状態１００２へ遷移する（図１０）。
【００５９】
次に、ユーザは、カメラＡ１０１，カメラＢ１０２の直下に、位置ずれ・回転ずれを判定したい被検物（モデル製品）１０を設置する（ステップ２００４）。その際、被検物１０がカメラＡ１０１及びカメラＢ１０２の両方の視野に含まれる位置に設置する。また、被検物１０は、位置ずれ・回転ずれがないように設置する。
【００６０】
ユーザは撮影ボタン５０３を押下する（ステップ２００５）。すると、ＰＣ３００からＰＣＩ／Ｆ２０３を通して制御部２１１にトリガーが入力される。その結果、処理ユニット２００は図１１（ｂ）で示した処理動作を実行し（ステップ２００６）、輝度画像データ（被検物画像）Ｂ’及び位置・回転量の情報をパソコン３００へ出力する。この時、パソコン３００の表示画面は図１３−Ｂのようになる。すなわち、投影画像表示領域５０１に被検物１０の画像が表示される。また、算出された位置Ｘ，Ｙ、回転量Θが位置バー（Ｘ）５０５、位置バー（Ｙ）５０６、回転バー５０７上に表示される。ここでは、位置Ｘ＝０，位置Ｙ＝０，回転量Θ＝０である。
【００６１】
ユーザは、マウスなどを用いて、位置バー（Ｘ）５０５、位置バー（Ｙ）５０６、回転バー５０７を操作し、判定閾値として、Ｘ位置ずれ許容量（minＸ，maxＸ）、Ｙ位置ずれ許容量（minＹ，maxＹ）、回転ずれ許容量（minΘ，maxΘ）を設定する（ステップ２００７）。この時、パソコン３００の表示画面は図１３−Ｃのようになる。
【００６２】
判定閾値の設定が終了したなら、ユーザは調整完了ボタン５０４ほ押下する（ステップ２００８）。すると、ユーザが設定した判定閾値（minＸ，maxＸ，minＹ，maxＹ，minΘ，maxΘ）が、パソコン３００からＰＣＩ／Ｆ２０３を通して処理ユニット２００へ通知される。制御部２１１は、この判定閾値をメモリ２０５に保持すると共に、運用状態１００３へ遷移する（図１０）。
【００６３】
以後、実際の検査対象の被検物１０が設置され、ユーザが撮影ボタン５０３を押下することで、ＰＣ３００からＰＣＩ／Ｆ２０３を通して制御部２１１にトリガーが入力される。その結果、処理ユニット２００は図１１（ｃ）で示した処理動作を実行し（ステップ２００９）、輝度画像データ（被検物画像）Ｂ’及び判定結果をパソコン３００へ出力する。図１３−Ｄは、この時のパソコン３００の表示画面の一例を示したものである。これは、被検物１０の位置Ｘ，Ｙは許容範囲内であるが、回転量Θが許容範囲を超えているため、判定結果は「ＮＧ」となったことを示している。
【００６４】
なお、外部通信部４００に接続されるＰＬＣから撮影トリガーを入力することで、同様に処理ユニット２００は図１１（ｃ）で示した処理動作を実行し、外部Ｉ／Ｆ２０４、外部通信部４００を通して、ＰＬＣで判定結果を得ることができる。
【００６５】
次に、ステレオカメラの他の実施例について説明する。図１では、カメラ固定治具１００にカメラＡ１０１，カメラＢ１０２を一定の間隔を持たせてステレオカメラとしたが、このような構成に限る必要はない。
【００６６】
図１４は、カメラＡ１０１とカメラＢ１０２の代わりとして使用可能な、２つのカメラが一体となった一体型ステレオカメラの構成例を示した図である。これは、矢印方向に被写体があるものとし、一体型ステレオカメラにより被写体を撮像する構成の断面模式図を示したものである。６０１はレンズアレイを表す。レンズアレイは被写体側の面と像面側の面の二面からなり、面内に複数のレンズがアレイ状に配列されている。図１４では、被写体側、像側の両方の面にレンズ面が設けられた両面レンズアレイが示されている。６００１ａは被写体側の面に設けられたレンズ、６０１ｂは像側の面に設けられたレンズであり、６０１ａと６０１ｂがセットになって被写体の像を像面上で結像させる。６０２は、レンズアレイにおける隣接するレンズセット間での光線のクロストーク（混線）を防止するための遮光用の隔壁（遮光壁と呼ぶ）であり、金属や樹脂等の撮像光線に対して不透明な材料からなる。レンズアレイ６０１の像側の面と遮光壁とが接着されている。６０３は、板状部材に、各レンズセットに対応して円形の孔を設けた開口アレイであり、レンズの絞りとして作用する。レンズアレイ６０１の被写体側の面の平面部に設けられた突起部６０７を介して開口アレイ６０３とレンズアレイ６０１は接着されている。６０４は、レンズアレイにおける各レンズセットにより撮像される被写体の像を撮像するＣＭＯＳセンサ（撮像素子）であり、基板６０５の上に実装されている。６０６は筐体であり、レンズアレイ６０１の被写体側の面と接着してレンズアレイ６０１、遮光壁６０２、開口アレイ６０３を保持し、基板６０５に接着されている。
【００６７】
図１４の構成の一体型ステレオカメラを用いると、レンズアレイ６０１と対応した視差を持った画像がＣＭＯＳセンサ６０４に撮像される。図１０の構成によれば、測距精度は低いものの、ステレオカメラを小型化することができる。
【００６８】
図１５は、２つのカメラが一体となった一体型ステレオカメラの他の構成例を示した図である。基本的構成は図１４と同じであり、相違点は、ＣＭＯＳセンサ（撮像素子）が６０４ａ，６０４ｂの２枚からなる構成となっていることである。図１５の構成によれば、センサの枚数が増えるので、コストは増加するが、測距精度が向上する利点がある。
【符号の説明】
【００６９】
１０    被検物
１０１，１０２  カメラ
１０３    パタン投影部
２００    処理ユニット
２０１，２０２  カメラＩ／Ｆ
２０３    ＰＣＩ／Ｆ
２０４    外部Ｉ／Ｆ
２０５    メモリ
２０６    画像変換部
２０７    距離画像生成部
２０８    背景・被検物分離部
２０９    位置・回転量算出部
２１０    位置ずれ・回転ずれ判定部
２１１    制御部
３００    パソコン
４００    外部通信部
【先行技術文献】
【特許文献】
【００７０】
【特許文献１】特開２０１１-１０７８７８号公報
【非特許文献】
【００７１】
【非特許文献１】P．J．Besl  and  N．D．McKay，A  method  for  registration  of  3-D  shapes，IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence，14(2)  1992，pp．239-256.
【非特許文献２】Greg  Turk  and  Marc  Levoy．Zippered  polygonmeshes  from  range  images．In  Proc．SIGGRAPH  ’94，pp．311-318．ACM，1994．
【非特許文献３】Curless，B.，Levoy，M.，A  Volumetric  Method  for  Building  Complex  Models  from  Range  Images，In  Proc．SIGGRAPH’96，ACM，1996，pp．303-312．
【非特許文献４】M．Wheeler，Y．Sato，and  K．Ikeuchi，Consensussurfaces  for  modeling  3D  objects  from  multiplerange  images，In  Proc．IEEE  International  Conference  on  Computer  Vision，pp．917-923，Jan，1997．
【図１】
2014041074.tif 000005
【図２】
2014041074.tif 000006
【図４】
2014041074.tif 000007
【図５】
2014041074.tif 000008
【図６】
2014041074.tif 000009
【図７】
2014041074.tif 000010
【図８】
2014041074.tif 000011
【図９】
2014041074.tif 000012
【図１０】
2014041074.tif 000013
【図１１】
2014041074.tif 000014
【図１２】
2014041074.tif 000015
【図１３−Ａ】
2014041074.tif 000016
【図１３−Ｂ】
2014041074.tif 000017
【図１３−Ｃ】
2014041074.tif 000018
【図１３−Ｄ】
2014041074.tif 000019
【図１４】
2014041074.tif 000020
【図１５】
2014041074.tif 000021
【図３】
2014041074.tif 000022