(57)【要約】【課題】より高精度にマッチングを行うことが可能な画像処理装置、ロボットシステム、画像処理方法、および画像処理プログラムを提供すること。【解決手段】物体を撮像した画像である入力画像の入力を受け付ける受付部と、前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出する複数の処理部と、前記複数の処理部による処理結果を評価し、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択する評価部と、を備える画像処理装置。【選択図】図４
2015087801.tif 000002
【特許請求の範囲】
【請求項１】
物体を撮像した画像である入力画像の入力を受け付ける受付部と、
前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出する複数の処理部と、
前記複数の処理部による処理結果を評価し、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択する評価部と、
を備える画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記複数の処理部は、互いに異なる手法により前記相対的な回転角を求め、所定の手法に基づき前記相対的な並進移動量を求める、
画像処理装置。
【請求項３】
請求項２記載の画像処理装置であって、
前記所定の手法は、位相限定相関に基づく手法である、
画像処理装置。
【請求項４】
請求項１から３のうちいずれか１項に記載の画像処理装置であって、
前記複数の処理部は、回転不変位相限定相関、相互情報量、画素値の差の二乗和のうちいずれかに基づく手法であって、他の処理部と異なる手法に基づき前記相対的な回転角を求める、
画像処理装置。
【請求項５】
請求項１から４のうちいずれか１項に記載の画像処理装置と、
ロボット本体部と、
前記画像処理装置の評価部により選択された処理結果を用いて、前記ロボット本体部の駆動制御を行うロボット制御装置と、
を備えるロボットシステム。
【請求項６】
物体を撮像した画像である入力画像の入力を受け付けることと、
前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出することと、
前記複数の処理部による処理結果を評価し、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択することと、
を備える画像処理方法。
【請求項７】
コンピューターに、
物体を撮像した画像である入力画像の入力を受け付けさせ、
前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出させ、
前記複数の処理部による処理結果を評価させ、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択させる、
画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、ロボットシステム、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
カメラによって撮像された画像等を、予め用意された基準画像と比較して、一致するかどうかを判断する技術が知られている。例えば、登録画像および入力画像を構成する各画素の極座標に基づきそれぞれフーリエ変換し、フーリエ変換された登録画像および入力画像に基づき位相成分を抽出して、位相成分を合成して得られる位相限定合成の複素共役をフーリエ変換された入力画像に積算して入力画像を補正し、補正された入力画像と登録画像との相関値を演算し、演算された相関値に基づき入力画像中から登録画像のパターン検出を行うパターン検出装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３２６７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術では、例えば半透明の袋に入れられた物体を撮像した画像のように、マッチングの難易度の高い画像に対して、精度良くマッチングを行うことができない場合があった。
本発明は、このような事情を考慮してなされたものであり、より高精度にマッチングを行うことを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明の一態様は、物体を撮像した画像である入力画像の入力を受け付ける受付部と、前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出する複数の処理部と、前記複数の処理部による処理結果を評価し、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択する評価部と、を備える画像処理装置である。
本発明の一態様によれば、より高精度にマッチングを行うことができる。
【０００６】
本発明の一態様において、前記複数の処理部は、互いに異なる手法により前記相対的な回転角を求め、所定の手法に基づき前記相対的な並進移動量を求めるものとしてもよい。
また、本発明の一態様において、前記所定の手法は、位相限定相関に基づく手法であるものとしてもよい。
また、本発明の一態様において、前記複数の処理部は、回転不変位相限定相関、相互情報量、画素値の差の二乗和のうちいずれかに基づく手法であって、他の処理部と異なる手法に基づき前記相対的な回転角を求めるものとしてもよい。こうすれば、更に高精度にマッチングを行うことができる。
【０００７】
本発明の他の態様は、本発明の一態様の画像処理装置と、ロボット本体部と、前記画像処理装置の評価部により選択された処理結果を用いて、前記ロボット本体部の駆動制御を行うロボット制御装置と、を備えるロボットシステムである。
本発明の他の態様によれば、高精度に行われたマッチング結果を用いて、より高精度な作業を行うことができる。
【０００８】
本発明の他の態様は、物体を撮像した画像である入力画像の入力を受け付けることと、前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出することと、前記複数の処理部による処理結果を評価し、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択することと、を備える画像処理方法である。
本発明の他の態様によれば、より高精度にマッチングを行うことができる。
【０００９】
本発明の他の態様は、コンピューターに、物体を撮像した画像である入力画像の入力を受け付けさせ、前記入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出させ、前記複数の処理部による処理結果を評価させ、前記複数の処理部のうち少なくとも１つの処理部の処理結果を選択させる、画像処理プログラムである。
本発明の他の態様によれば、より高精度にマッチングを行うことができる。
【００１０】
本発明の各態様によれば、入力画像と基準画像とが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法により導出し、複数の手法による処理結果を評価し、複数の処理部のうち少なくとも１つの処理部の処理結果を選択するため、より高精度にマッチングを行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のロボットシステム１の機能構成の一例を示す図。
【図２】画像処理装置５を利用したロボットシステム１の外観構成の一例を示す図。
【図３】画像処理装置５のハードウェア構成の一例を示す図。
【図４】画像処理装置５の機能構成の一例を示す図。
【図５】マッチングが行われる様子を模式的に示す図。
【図６】画像処理装置５の各部によって行われる処理の流れを示す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、画像処理装置、ロボットシステム、画像処理方法、および画像処理プログラムの実施形態について説明する。図１は、本実施形態のロボットシステム１の機能構成の一例を示す図である。ロボットシステム１は、例えば、カメラ３と、画像処理装置５と、ロボット制御装置１００と、ロボット本体部１１０とを備える。また、図２は、画像処理装置５を利用したロボットシステム１の外観構成の一例を示す図である。
【００１３】
カメラ３は、対象物体ＯＢＪを撮像し、撮像した画像を、入力画像ＩＩＭとして画像処理装置５に送信する。対象物体ＯＢＪは、例えば、工場で組み立てに使用される部品である。カメラ３は、例えば、ＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等の固体撮像素子を備えるデジタルカメラである。カメラ３は、例えば画像処理装置５から入力される指示信号に応じて、作業台等に置かれた対象物体ＯＢＪを撮像する。カメラ３と画像処理装置５は、必ずしも近接して設置される必要はなく、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続されてもよい。
【００１４】
ロボット制御装置１００は、例えば、対象物体ＯＢＪとロボット本体部１１０との位置関係を確認するために、画像処理装置５から、対象物体ＯＢＪの位置および姿勢に関する情報を取得する。例えば、ロボット制御装置１００は、画像処理装置５から入力された情報に含まれる位置または姿勢の一方または双方に基づいて、ロボット本体部１１０の把持部１１０ｄが対象物体ＯＢＪを把持できる把持位置またはロボット本体部１１０の把持部１１０ｄが対象物体ＯＢＪを把持できる把持角度の一方または双方を算出する。例えば、ロボット制御装置１００は、把持位置及び把持角度の双方を算出した場合、算出した把持位置へロボット本体部１１０の把持部１１０ｄを移動させるように制御するとともに、ロボット本体部１１０の把持部１１０ｄの角度が算出した把持角度になるよう制御する。
【００１５】
そして、ロボット制御装置１００は、ロボット本体部１１０の把持部の位置および角度がそれぞれ算出した把持位置及び把持角度になった場合、ロボット本体部１１０の把持部に、対象物体ＯＢＪを把持させるように制御する。ロボット本体部１１０は、例えば、ロボット制御装置１００の制御により、対象物体ＯＢＪを把持し、対象物体ＯＢＪを把持したまま予め決められた目的位置まで対象物体ＯＢＪを搬送する。ロボット本体部１１０は、地面に固定された支持台１１０ａと、旋回可能および屈伸可能に支持台１１０ａに連結されたアーム部１１０ｂと、回動可能および首振り可能にアーム部１１０ｂに連結されたハンド部１１０ｃと、ハンド部１１０ｃに取り付けられた把持部１１０ｄとを含む。
【００１６】
ロボット本体部１１０は、例えば、６軸の垂直多関節ロボットであり、支持台１１０ａとアーム部１１０ｂとハンド部１１０ｃとの連係した動作によって６軸の自由度を有し、把持部１１０ｄが把持する対象物体ＯＢＪの位置および角度を自在に変更することができる。ロボット本体部１１０は、ロボット制御装置１００による制御によって、アーム部１１０ｂとハンド部１１０ｃと把持部１１０ｄとのうちいずれか一つまたは組み合わせを動かす。ロボット本体部１１０の自由度は６軸に限定されず、任意の数の軸を有してもよい。例えば、ロボット本体部１１０の自由度は７軸でもよい。また、支持台１１０ａは、壁や天井等、地面に対して固定された場所に設置してもよい。
【００１７】
図３は、画像処理装置５のハードウェア構成の一例を示す図である。画像処理装置５は、例えば、ＣＰＵ（Central  Processing  Unit）１０と、メモリー装置２０と、補助記憶装置３０と、入力装置４０と、出力装置５０と、インターフェース装置６０とを備える。これらの構成要素は、例えばバスによって相互に接続されている。
【００１８】
ＣＰＵ１０は、補助記憶装置３０に記憶された画像処理用プログラム３１を実行することにより、後述する種々の処理を行う。画像処理用プログラム３１は、例えば、ＰＯＣモジュール３２と、ＲＩＰＯＣモジュール３３と、ＭＩモジュール３４と、ＳＳＤモジュール３５とを含む。これらのモジュールにより実現される機能に関しては後述する。メモリー装置２０は、例えばＲＡＭ（Random  Access  Memory）である。補助記憶装置３０は、例えば、ＲＯＭ（Read  Only  Memory）やＨＤＤ（Hard  Disk  Drive）、フラッシュメモリー等を含む。補助記憶装置３０には、更に、基準画像データ３９が格納される。
【００１９】
画像処理用プログラム３１は、画像処理装置５の出荷時に、予め補助記憶装置３０に格納されていてもよいし、画像処理装置５の使用段階においてインターネット等を介して他のコンピューター装置からダウンロードされてもよい。また、画像処理用プログラム３１を格納した可搬型記憶媒体が画像処理装置５のドライブ装置に装着されることにより、画像処理装置５にインストールされてもよい。
【００２０】
入力装置４０は、例えば、各種スイッチ、ボタン、キーボード、マウス、マイク等を含む。出力装置５０は、表示装置、スピーカ等を含む。なお、画像処理装置５がロボット等に内蔵される組み込みコンピューターである場合、入力装置４０と出力装置５０の一部は省略されてよい。
【００２１】
インターフェース装置６０は、例えばＣＰＵ１０からの指示に応じてカメラ３が撮像した画像を取得し（画像の入力を受け付け）、メモリー装置２０または補助記憶装置３０に格納する。
【００２２】
図４は、画像処理装置５の機能構成の一例を示す図である。画像処理装置５は、例えば、画像読込部８０と、ＲＩＰＯＣ処理部８１と、ＰＭＩ処理部８２と、ＰＳＳＤ処理部８３と、ＧＭＩ処理部８４と、ＧＳＳＤ処理部８５と、評価部８６と、マッチング結果確定部８７とを備える。これらの機能部のうち一部または全部は、ＣＰＵ１０が補助記憶装置３０に格納された画像処理用プログラム３１を実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００２３】
画像読込部８０は、インターフェース装置６０を介してカメラ３から入力される入力画像ＩＩＭを、メモリー装置２０の作業領域に格納する。また、画像読込部８０は、基準画像ＣＩＭを補助記憶装置３０から読み出し、メモリー装置２０の作業領域に格納する。
【００２４】
ＲＩＰＯＣ処理部８１、ＰＭＩ処理部８２、ＰＳＳＤ処理部８３、ＧＭＩ処理部８４、およびＧＳＳＤ処理部８５は、それぞれ異なる手法によって、入力画像ＩＩＭと基準画像ＣＩＭの適合位置を探索する。「適合」とは、画像同士が完全に一致、または同じ対象物体を撮像したと推定される程度に類似することをいう。以下、適合位置を探索することを、マッチングと称する。
【００２５】
図５は、マッチングが行われる様子を模式的に示す図である。基準画像ＣＩＭは、予め対象物体ＯＢＪを所定の距離および角度から撮像した画像であり、基準画像データ３９として補助記憶装置３０に格納されている。入力画像ＩＩＭは、例えば対象物体ＯＢＪと同一種類の物体をカメラ３が撮像した画像であり、画像平面上の位置と回転角を適切に変更することによって、基準画像ＣＩＭ（複数の基準画像ＣＩＭが存在する場合は、いずれかの基準画像ＣＩＭ）に合致すると想定される画像である。マッチングの処理は、例えば、入力画像ＩＩＭと基準画像ＣＩＭのいずれか一方を画像平面上で並進移動および回転させ、最も合致程度が高い画像平面上の位置を探索する処理である。以下では入力画像ＩＩＭを移動させるものとして説明するが、基準画像ＣＩＭを移動させる場合も、原理的には同じである。
【００２６】
最も合致程度が高い「位置」は、例えば、並進移動ベクトル→ｘおよび回転角θで表される。並進移動ベクトル→ｘは、例えば、入力画像ＩＩＭの基準点（例えば重心）と基準画像ＣＩＭの基準点（例えば重心）が一致する場合を出発点として、入力画像ＩＩＭを最も合致程度が高い位置に移動させたときの、基準画像ＣＩＭの基準点から入力画像ＩＩＭの基準点に引いたベクトルとして求められる。図５では、入力画像ＩＩＭと基準画像の重心を一致させた上で、合致程度が高い位置に移動させるものとして表現した。また、入力画像ＩＩＭが最も合致程度が高い位置に移動したときの、移動前の入力画像ＩＩＭに対して移動後の入力画像ＩＩＭのなす角度が、回転角θとなる。すなわち、適切に探索が行われたと仮定すると、移動前の入力画像ＩＩＭを画像平面上でベクトル→ｘだけ並進移動させ、更に、例えば入力画像ＩＩＭの重心まわりに回転角θ分回転させることにより、画像同士が適合することになる。
【００２７】
ここで、入力画像ＩＩＭは、実際の撮像条件（明るさ、撮像角度、対象物体ＯＢＪによる反射光、対象物体ＯＢＪが柔らかい物体である場合はその形状等）が変動することによって、基準画像ＣＩＭの一部または全部とぴったり同一にはならない場合がある。例えば、対象物体ＯＢＪが、半透明の袋に入れられた電子機器等である場合、袋による反射光や光の透過程度が入力画像毎に異なるため、マッチングの難易度が高くなる。また、半透明の袋に入れられた電子機器等以外でも、対象物体ＯＢＪが、光の反射が見る方向によって異なる物体である場合、撮像環境における外乱が大きい場合には、マッチングの難易度が高くなる。これに対し、本実施形態の画像処理装置５では、複数の処理部によって異なる手法によりマッチングを行い、マッチング結果から好適なものを選択してマッチング結果を確定するため、より精度よくマッチングを行うことができる。
【００２８】
図６は、画像処理装置５の各部によって行われる処理の流れを示す図である。以下、下記の用語を用いて説明を行う。
・ＰＯＣ（Phase―Only  Correlation）：位相限定相関
・ＲＩＰＯＣ（Rotation  Invariant  Phase―Only  Correlation）：回転不変位相限定相関
・ＭＩ（Mutual  Information）：相互情報量
・ＳＳＤ（Sum  of  Squared  Difference）：画素値の差の二乗和
【００２９】
まず、画像読込部８０が、入力画像ＩＩＭと基準画像ＣＩＭを、メモリー装置２０の作業領域に格納する。
【００３０】
ＲＩＰＯＣ処理部８１は、ＲＩＰＯＣモジュール３３を実行することにより機能し、ＲＩＰＯＣアルゴリズムに基づいてマッチング処理を行う。ＲＩＰＯＣモジュール３３は、ＰＯＣモジュール３２を利用する（例えばサブルーチンとして呼び出す）。ＰＯＣモジュール３２は、ＰＯＣアルゴリズムを内包している。ＰＯＣアルゴリズムは、入力画像ＩＩＭと基準画像ＣＩＭの並進移動ベクトルを変更しながら、それぞれの画像に対してフーリエ変換を行い、画像の位相領域の相関が最も高い位置を探索することで、入力画像ＩＩＭと基準画像ＣＩＭが適合する並進移動ベクトルを求めるアルゴリズムである。
【００３１】
ＰＯＣアルゴリズムは、回転角を求めることができないが、ＲＩＰＯＣアルゴリズムは、回転角を求めることができる。ＲＩＰＯＣ処理部８１は、ＲＩＰＯＣアルゴリズムを実行することで、入力画像ＩＩＭと基準画像ＣＩＭに対してフーリエ変換を行った後に極座標変換を行い、その後、ＰＯＣアルゴリズムを実行することで、入力画像ＩＩＭと基準画像ＣＩＭが適合する並進移動ベクトルと回転角を求める（図６における「ＲＩＰＯＣマッチング」）。
【００３２】
ＰＭＩ処理部８２は、ＲＩＰＯＣモジュール３３と、ＭＩモジュール３４と、ＰＯＣモジュール３２とを実行することにより機能する。ＰＭＩ処理部８２は、ＲＩＰＯＣモジュール３３による処理結果（並進移動ベクトルと回転角）を初期値としてＭＩアルゴリズムを実行し（図６における「ＭＩマッチング」）、ＭＩアルゴリズムの結果に含まれる回転角を用いて入力画像ＩＩＭを回転させた後に、ＰＯＣアルゴリズムを用いて並進移動ベクトルを求める（図６における「ＰＯＣマッチング」）。
【００３３】
ＭＩアルゴリズムは、例えば、入力画像ＩＩＭを移動させながら、基準画像ＣＩＭの各画素の輝度値と、入力画像ＩＩＭの基準画像ＣＩＭに対応する広さの領域における画素の輝度値とから（面積がＣＩＭ＜ＩＩＭを前提としている）、２次元ヒストグラムを計算する。次に、ＭＩアルゴリズムは、その２次元ヒストグラムを用いて計算される確率密度関数を用いて、相互情報量を計算する。そして、ＭＩアルゴリズムは、相互情報量が最大となる入力画像ＩＩＭの位置から、並進移動ベクトルおよび回転角を求める。相互情報量とは、２つの事象ＡとＢについて、事象Ａが有している事象Ｂに関する情報量を定量化した尺度である。本実施形態では、事象Ａと事象Ｂの２次元結合ヒストグラムＨｉｓｔ（Ａ，Ｂ）に基づき、正規化相互情報量ＮＭＩ（Ａ，Ｂ）を、式（１）によって求める。Ｈ（Ａ）は事象Ａのエントロピー、Ｈ（Ｂ）は事象Ｂのエントロピー、Ｈ（Ａ，Ｂ）は事象Ａ，Ｂの結合エントロピーである。ｐ（ａ）はａの確率密度分布、ｐ（ｂ）はｂの確率密度分布である。ｐ（ａ，ｂ）はａ，ｂの同時確率分布であり、Ｈｉｓｔ（Ａ，Ｂ）から求められる。事象Ａと事象Ｂが完全に独立である場合には、Ｈ（Ａ，Ｂ）＝Ｈ（Ａ）＋Ｈ（Ｂ）となる。事象Ａと事象Ｂが完全に従属である場合には、Ｈ（Ａ，Ｂ）＝Ｈ（Ａ）＝Ｈ（Ｂ）となる。
【数１】
2015087801.tif 000003
【００３４】
ＰＳＳＤ処理部８３は、ＲＩＰＯＣモジュール３３と、ＳＳＤモジュール３５と、ＰＯＣモジュール３２とを実行することにより機能する。ＰＳＳＤ処理部８３は、ＲＩＰＯＣモジュール３３による処理結果（並進移動ベクトルと回転角）を初期値としてＳＳＤアルゴリズムを実行し（図６における「ＳＳＤマッチング」）、ＳＳＤアルゴリズムの結果に含まれる回転角を用いて入力画像ＩＩＭを回転させた後に、ＰＯＣアルゴリズムを用いて並進移動ベクトルを求める（図６における「ＰＯＣマッチング」）。
【００３５】
ＳＳＤアルゴリズムは、例えば、入力画像ＩＩＭを移動させながら、基準画像ＣＩＭの各画素と、入力画像ＩＩＭの基準画像ＣＩＭに対応する広さの領域の画素との間でＳＳＤを計算し、ＳＳＤが最小となる入力画像ＩＩＭの位置から、並進移動ベクトルおよび回転角を求める。ＳＳＤは、例えば、式（２）で表される。
【数２】
2015087801.tif 000004
【００３６】
ＧＭＩ処理部８４は、ＭＩモジュール３４と、ＰＯＣモジュール３２とを実行することにより機能する。ＧＭＩ処理部８４は、輝度重心を用いた並進移動ベクトルの初期値推定を行い、更にＭＩアルゴリズムを用いた回転角の初期値推定を行う。そして、ＭＩアルゴリズムを実行し（図６における「ＭＩマッチング」）、ＭＩアルゴリズムの結果に含まれる回転角を用いて入力画像ＩＩＭを回転させた後に、ＰＯＣアルゴリズムを用いて並進移動ベクトルを求める（図６における「ＰＯＣマッチング」）。
【００３７】
ＧＳＳＤ処理部８５は、ＳＳＤモジュール３５と、ＰＯＣモジュール３２とを実行することにより機能する。ＧＳＳＤ処理部８５は、輝度重心を用いた並進移動ベクトルの初期値推定を行い、更にＳＳＤアルゴリズムを用いた回転角の初期値推定を行う。そして、ＳＳＤアルゴリズムを実行し（図６における「ＳＳＤマッチング」）、ＳＳＤアルゴリズムの結果に含まれる回転角を用いて入力画像ＩＩＭを回転させた後に、ＰＯＣアルゴリズムを用いて並進移動ベクトルを求める（図６における「ＰＯＣマッチング」）。
【００３８】
ＲＩＰＯＣ処理部８１、ＰＭＩ処理部８２、ＰＳＳＤ処理部８３、ＧＭＩ処理部８４、およびＧＳＳＤ処理部８５が処理を行うと、評価部８６が、各処理部の処理結果を評価し、少なくとも１つの処理部の処理結果を選択する。評価部８６は、１つの処理部の処理結果のみ選択してもよいし、評価が上位の処理部の処理結果を２つ以上抽出してもよい。評価部８６は、例えば、各処理部が最終的に行ったＰＯＣマッチングにおいて、探索結果である「画像の位相領域の相関が最も高い位置」における「位相領域の相関」が高い程、高い評価を与える。
【００３９】
マッチング結果確定部８７は、評価部８６による評価結果に基づいて、マッチング結果を確定する。マッチング結果確定部８７は、評価部８６が１つの処理部の処理結果を選択する場合は、評価部８６により選択された処理部による処理結果（並進移動ベクトル、および回転角）をマッチング結果として確定し、メモリー装置２０などに格納する。また、マッチング結果確定部８７は、評価部８６が複数の処理部の処理結果を選択する場合は、処理結果を合成する（例えば平均を求める）等の処理を行ってもよい。
【００４０】
メモリー装置２０などに格納されたマッチング結果は、対象物体ＯＢＪの位置および姿勢に関する情報として、ロボット制御装置１００に送信される。
【００４１】
ここで、ＲＩＰＯＣアルゴリズムは、光を透過する対象物体ＯＢＪに対しても、対象物体ＯＢＪによる反射光の変化に対しても頑強であるが、位相情報が少ない対象物体ＯＢＪ（模様、色彩の変化が小さく一様なもの）を精度よく認識できないという性質を有している。このため、本実施形態の画像処理装置５では、ＲＩＰＯＣアルゴリズムとは異なる性質を有するＭＩアルゴリズムやＳＳＤアルゴリズムを選択的に採用することによって、ＲＩＰＯＣアルゴリズムの精度が低下するような撮像条件下でも、高精度に回転角を求めることができる。
【００４２】
また、ＭＩアルゴリズムやＳＳＤアルゴリズムは、初期値が正確であれば、より正確にマッチングを行うことができるという性質を有している。このため、本実施形態の画像処理装置５では、ＲＩＰＯＣアルゴリズムや輝度重心を用いてＭＩアルゴリズムやＳＳＤアルゴリズムの初期値を決定することで、より高精度に回転角を求めることができる。
【００４３】
以上説明した本実施形態の画像処理装置、ロボットシステム、画像処理方法、および画像処理プログラムによれば、入力画像ＩＩＭと基準画像ＣＩＭとが適合する相対的な並進移動量および回転角を、互いに異なる複数の手法（処理部）により導出し、複数の処理部による処理結果を評価して少なくとも１つの処理部の処理結果を選択するため、より高精度にマッチングを行うことができる。
【００４４】
また、本実施形態の画像処理装置、ロボットシステム、画像処理方法、および画像処理プログラムによれば、光を透過する対象物体ＯＢＪに対しても対象物体ＯＢＪによる反射光の変化に対しても頑強であるが、位相情報が少ない対象物体ＯＢＪ（模様、色彩の変化が小さく一様なもの）を精度よく認識できないという性質を有しているＲＩＰＯＣアルゴリズムと、それとは異なる性質を有しているＭＩアルゴリズムやＳＳＤアルゴリズムを組み合わせることによって、ＲＩＰＯＣアルゴリズムの精度が低下するような撮像条件下でも、高精度に回転角を求めることができる。
【００４５】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００４６】
例えば、上記実施形態では、入力画像ＩＩＭと基準画像ＣＩＭの撮像距離が同じ、或いは近いことを前提としたが、カメラ３から対象物体ＯＢＪまでの距離を何らかの手法で認識し、入力画像ＩＩＭまたは基準画像ＣＩＭを拡大または縮小した上で、上記マッチング処理を行うようにしてもよい。カメラ３から対象物体ＯＢＪまでの距離は、カメラ３の撮像画像を解析して認識してもよいし（例えば対象物体ＯＢＪの輪郭のサイズによって認識する）、レーダー装置その他の測距センサを用いて認識してもよい。
【００４７】
また、上記実施形態では、複数の処理部は、ＲＩＰＯＣ、ＭＩ、ＳＳＤといった手法を用いてマッチングを行うものとしたが、ＳＡＤ等、他の手法を用いてマッチングを行ってもよい。
【００４８】
また、画像処理装置５のマッチング結果を利用するロボット本体部１１０は、図２に例示した構造に限定されない。例えば、ロボット本体部１１０は、複数のアーム部を備え、一のアームにカメラ３が取り付けられた構造を備えてもよい。
【００４９】
また、画像処理装置５は、ロボットシステムに適用されるだけでなく、道路端に設置されて車両のナンバープレートや車種を判別する用途等、他の用途に使用されてよい。
【符号の説明】
【００５０】
１‥ロボットシステム、３‥カメラ、５‥画像処理装置、１０‥ＣＰＵ、２０‥メモリー装置、３０‥補助記憶装置、３１‥画像処理用プログラム、３２‥ＰＯＣモジュール、３３‥ＲＩＰＯＣモジュール、３４‥ＭＩモジュール、３５‥ＳＳＤモジュール、３９‥基準画像データ、４０‥入力装置、５０‥出力装置、６０‥インターフェース装置、８０‥画像読込部、８１‥ＲＩＰＯＣ処理部、８２‥ＰＭＩ処理部、８３‥ＰＳＳＤ処理部、８４‥ＧＭＩ処理部、８５‥ＧＳＳＤ処理部、８６‥評価部、８７‥マッチング結果確定部、１００‥ロボット制御装置、１１０‥ロボット本体部、ＯＢＪ‥対象物体、ＩＩＭ‥入力画像、ＣＩＭ‥基準画像
【図１】
2015087801.tif 000005
【図２】
2015087801.tif 000006
【図３】
2015087801.tif 000007
【図４】
2015087801.tif 000008
【図５】
2015087801.tif 000009
【図６】
2015087801.tif 000010