【文献】
Daniel Wesierski,Shape-Based Pose Estimation of Robotic Surgical Instruments,11th International Conference on Image Analysis and Recognition, ICIAR 2014,ポルトガル,ICIAR,2014年10月24日,LNCS, 8814,P.3-15
【文献】
小西 嘉典,階層的統合モデル用いた単眼カメラからの高速3次元位置・姿勢認識,映像情報インダストリアル 第48巻 第3号,日本,産業開発機構(株),2016年03月01日,March 2016,P.81-86,ISSN 1346-1362
(58)【調査した分野】(Int.Cl.,DB名)
前記候補排除処理部は、前記テンプレートと関連付けて予め登録された2値化画像に基づいて、前記各候補の2値化画像を生成する、請求項1に記載の物体認識処理装置。
前記候補排除処理部は、前記複数の候補の各々について、各候補の位置と姿勢に基づいて3次元の2値化画像を生成し、当該3次元の2値化画像を用いて各候補の重なり度合いを求めることによって、前記複数の候補の中から、所定の条件を満たす候補を排除する、
請求項1〜5のいずれか1項に記載の物体認識処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば、認識された候補の大部分が重複している場合や、誤認識によって候補が生成された場合に、従来のマージ処理では、排除したい候補が排除されない場合がある。
【0007】
例えば、
図9(A)に示される入力画像にテンプレートマッチング処理を行った結果として、
図9(B)に示される認識結果が得られた場合について検討する。
図9(C)は、領域901を拡大した図である。
図9(C)において、候補902はマージ処理後の認識結果に残すべき候補であり、候補903は大部分が候補902の下に隠れていて、認識結果から排除すべき候補である。しかしながら、候補902と候補903との位置及び姿勢のパラメータは大きく異なるので、位置及び姿勢のパラメータに基づいて候補を排除する従来の手法では、候補902を認識結果から排除することができない。
【0008】
また、認識対象となる物体が複数種ある場合や、3次元での物体認識において、認識対象となる物体は1つであるが、この物体の見え方が視点によって異なる場合に、従来のマージ処理では、排除すべきでない候補が排除されてしまう場合もある。
【0009】
例えば、
図10(A)に示される、認識対象の2つの物体1001A及び1002Aを含む入力画像に対するテンプレートマッチング処理を行った結果として、
図10(B)に示される認識結果が得られた場合について検討する。
図10(B)は、候補1001B及び1002Bと、それぞれの重心の位置1003及び1004と、姿勢を表すベクトルを示す図である。
図9(B)に示される認識結果において、候補1001B及び候補1002Bは、そもそも物体の形状が異なるものであり、いずれもマージ処理後の認識結果に残すべき候補である。しかしながら、候補1001Bと候補1002Bは位置及び姿勢のパラメータが近いので、位置及び姿勢のパラメータに基づいて候補を排除する従来の手法では、どちらか一方の候補が認識結果から排除されてしまう。
【0010】
これらの現象は従来のマージ処理が候補の重心(又は中心)とその姿勢にのみ基づいて判定していたことに起因する。したがって認識対象の物体が有限の体積(又は面積)を持つ場合には認識対象の具体的な形状を考慮しなければ候補を適切に排除することができない。
【0011】
そこで、本発明のいくつかの態様は、物体認識処理において、複数の候補が認識されたときに、認識対象の物体の形状や見え方に違いがある場合であっても、排除すべき候補を適切に排除することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の一態様に係る物体認識処理装置は、認識対象物を含む画像を取得する画像取得部と、認識対象物をある視点から見たときの2次元画像を用いて作成され、予め登録された複数のテンプレートを用いて、画像に対してテンプレートマッチング処理を行い、認識対象物の候補を複数含む認識結果を得るテンプレートマッチング部と、複数の候補の各々について、各候補の位置と姿勢に基づいて認識対象物の2値化画像を生成し、当該2値化画像を用いて各候補の重なり度合いを求めることによって、複数の候補の中から、所定の条件を満たす候補を排除する候補排除処理部と、複数の候補の中から、排除されずに残った候補を認識結果として出力する認識結果出力部とを備える。
【0013】
ここで、テンプレートとは、認識対象の物体の画像特徴を表すデータである。テンプレートには任意の形式を用いることができ、例えば、画像中の複数の特徴点の特徴量を記述した配列形式を用いてもよい。なお、特徴点とは、例えば、画像中の物体の境界、物体の輪郭線の屈折部および屈曲部など、予め定められた特徴を示す画像座標上の位置である。また、2値化画像とは、画像上で物体が存在する領域を2値データで表した画像である。ただし、2値化画像に代えて、画像上で物体が存在する領域を例えば3値等、2値以外のデータで表した画像を用いてもよい。
【0014】
この態様によれば、候補を排除する条件に、各候補の重なり度合いを用いることで、認識対象の物体の形状や見え方に違いがある場合であっても、排除すべき候補を適切に排除することができる。
【0015】
上記物体認識処理装置において、候補排除処理部は、テンプレートと関連付けて予め登録された2値化画像に基づいて、各候補の2値化画像を生成してもよい。
【0016】
この態様によれば、2値化画像を使いまわすことで、物体認識処理の高速化を図ることができる。
【0017】
上記物体認識処理装置において、候補排除処理部は、排除しない候補を記憶する一時記憶手段と、複数の候補を、テンプレートマッチング処理のスコア順に並べ替える第1手段と、並べ替えた順に、複数の候補の1つを取得し、取得された候補の位置と姿勢に基づいて生成された2値化画像と、一時記憶手段に記憶された全ての候補の位置と姿勢に基づいて生成された2値化画像を累積した画像とを比較して、両者の重なり度合いが所定の閾値より小さいとき、当該候補を一時記憶手段に記憶する第2手段とを備え、認識結果出力部は、複数の候補の全てについて第2手段が実行された後に、一時記憶手段に記憶された候補を、認識結果として出力してもよい。
【0018】
この態様によれば、テンプレートマッチング処理のスコア順に候補を排除するか否かを判定し、排除されずに残った候補を一時記憶手段に記憶していくことで、認識結果に含まれる候補のうち、よりスコアの高い候補を優先しながら、排除すべき候補を適切に排除することができる。
【0019】
上記物体認識処理装置において、テンプレートは、テンプレート識別子を含み、認識結果は、入力画像中に認識された物体の候補に関する、位置パラメータ、姿勢パラメータ及びテンプレート識別子を含み、候補排除処理部は、候補をテンプレート識別子に基づいてグループ分けし、同一のテンプレート識別子に関連付けられたグループ毎に、位置パラメータ及び姿勢パラメータに基づいて候補を排除した後、所定の条件を満たす候補を排除してもよい。
【0020】
この態様によれば、誤認識が生じ得る候補間に絞って、候補を排除する条件に、各候補の重なり度合いを用いることで、物体認識処理の高速化を図ることができる。
【0021】
上記物体認識処理装置において、テンプレートは、テンプレート識別子を含み、当該テンプレートの作成に用いた視点の位置に関する視点情報に関連付けられ、認識結果は、入力画像中に認識された物体の候補に関する、位置パラメータ、姿勢パラメータ及びテンプレート識別子を含み、候補排除処理部は、候補を当該候補のテンプレート識別子に関連付けられた視点情報に基づいてグループ分けし、グループ毎に、位置パラメータ及び姿勢パラメータに基づいて候補を排除した後、所定の条件を満たす候補を排除してもよい。
【0022】
この態様によれば、例えば、視点情報に基づいて誤認識が生じ得る候補間の範囲をさらに絞って、候補を排除する条件に、各候補の重なり度合いを用いることで、物体認識処理の高速化を図ることができる。
【0023】
上記物体認識処理装置において、候補排除処理部は、物体の2値化画像と比較して単純な輪郭を有する形状の2値化画像に基づいて、各候補の2値化画像を生成してもよい。
【0024】
この態様によれば、物体の2値化画像に代えて、物体と比較して単純な輪郭を有する形状の2値化画像を描画することで、物体認識処理の高速化を図ることができる。
【0025】
上記物体認識処理装置において、候補排除処理部は、複数の候補の各々について、各候補の位置と姿勢に基づいて3次元の2値化画像を生成し、当該3次元の2値化画像を用いて各候補の重なり度合いを求めることによって、複数の候補の中から、所定の条件を満たす候補を排除してもよい。
【0026】
この態様によれば、3次元の2値化画像を用いることで、2次元の2値化画像を用いた場合と比較して認識精度の向上を図ることができる。
【0027】
本発明の他の態様に係る、コンピュータが実行する体認識処理方法は、認識対象物を含む画像を取得するステップと、認識対象物をある視点から見たときの2次元画像を用いて作成され、予め登録された複数のテンプレートを用いて、画像に対してテンプレートマッチング処理を行い、認識対象物の候補を複数含む認識結果を得るステップと、複数の候補の各々について、各候補の位置と姿勢に基づいて認識対象物の2値化画像を生成し、当該2値化画像を用いて各候補の重なり度合いを求めることによって、複数の候補の中から、所定の条件を満たす候補を排除するステップと、複数の候補の中から、排除されずに残った候補を認識結果として出力するステップとを含む。
【0028】
本発明の他の態様に係るプログラムは、コンピュータに、認識対象物を含む画像を取得するステップと、認識対象物をある視点から見たときの2次元画像を用いて作成され、予め登録された複数のテンプレートを用いて、画像に対してテンプレートマッチング処理を行い、認識対象物の候補を複数含む認識結果を得るステップと、複数の候補の各々について、各候補の位置と姿勢に基づいて認識対象物の2値化画像を生成し、当該2値化画像を用いて各候補の重なり度合いを求めることによって、複数の候補の中から、所定の条件を満たす候補を排除するステップと、複数の候補の中から、排除されずに残った候補を認識結果として出力するステップとを実行させる。
【発明の効果】
【0029】
本発明によれば、物体認識処理において、複数の候補が認識されたときに、認識対象の物体の形状や見え方に違いがある場合であっても、排除すべき候補を適切に排除することができる技術を提供することができる。
【発明を実施するための形態】
【0031】
§1 適用例
まず、
図1を用いて、本発明が適用される場面の一例について説明する。
図1は、本発明の所定の実施形態に係る物体認識装置1の適用場面の一例を示す図である。物体認識装置1は、生産ライン等に設置され、撮像装置11から取り込まれた画像を用いてトレイ3内の物体2の認識を行うシステムであってよい。トレイ3には、認識対象の物体2がバラ積みされている。ここで、物体2は、複数種の物体であるか、又は、物体の見え方が視点によって異なる1つの物体であってよい。物体認識装置1は、撮像装置11から所定の時間間隔で画像を取り込み、テンプレートマッチング処理を行うことで、撮像装置11で撮像された画像(以下、「入力画像」ともいう。)に含まれる各物体2の位置及び姿勢を認識する処理を実行し、その結果をPLC(プログラマブルロジックコントローラ)4やディスプレイ12等に出力する。物体認識装置1の出力である認識結果は、例えば、ピッキング・ロボットの制御、加工装置や印字装置の制御、物体2の検査や計測等に利用される。
【0032】
本実施形態によれば、物体認識装置1は、テンプレートマッチング処理を行った結果として得られた認識結果に含まれる複数の候補の各々について、各候補の位置と姿勢のパラメータ等に基づいて認識対象物の2値化画像(以下「シルエット」ともいう。)を生成する。物体認識装置1は、一時画像に描画された1の候補の2値化画像と、シルエットマップ画像に描画された候補のシルエットの累積画像とを比較して、両者の重なり合う面積の割合等を用いて、認識結果から1の候補を排除するか否かを判定する。これにより、位置及び姿勢のパラメータに基づいて候補を排除する従来の手法では対処できなかった、認識対象の物体の形状や見え方に違いがある場合であっても、排除すべき候補を適切に排除することができる。
【0033】
ここで、前述の通り、シルエットとは、画像上で物体が存在する領域を2値データで表した画像である。ただし、シルエットを、画像上で物体が存在する領域を表し得る2値以外のデータ、例えば3値データ等で表してもよい。一時画像とは、入力画像に対応する領域を有し、排除判定対象の候補のシルエットが描画される画像である。一時画像は、本発明の「一時記憶手段」の一例である。シルエットマップ画像とは、入力画像に対応する領域を有し、排除判定を経て排除されずに残った候補のシルエットが累積して描画される画像である。位置パラメータとは、ある認識対象物の候補の位置を表すパラメータであり、例えば、入力画像において、当該候補の重心位置の座標であってよい。姿勢パラメータとは、ある認識対象物の候補の姿勢を表すパラメータであり、例えば、当該候補の基準となる姿勢からの姿勢の変位をベクトルで表わしたものであってよい。
【0034】
§2 構成例
[ハードウェア構成]
<物体認識装置>
次に、
図2を用いて、物体認識装置1のハードウェア構成の一例について説明する。物体認識装置1は、概して、撮像装置11と画像処理装置10から構成される。
【0035】
撮像装置11は、物体2のデジタル画像を画像処理装置10に取り込むための撮像デバイスであり、例えばCMOS(Complementary MOS)カメラやCCD(Charge Coupled Device)カメラを好適に用いることができる。解像度、カラー/モノクロ、静止画像/動画、階調、データ形式等の入力画像の形式は任意であり、物体2の種類やセンシングの目的に合わせて適宜選択することができる。X線画像やサーモ画像等、可視光像以外の特殊な画像を物体認識や検査に利用する場合には、その画像に合わせた撮像装置を用いてもよい。
【0036】
図2の例では、本実施形態に係る画像処理装置10は、CPU110と、ワークメモリとして用いられるメインメモリ112と、固定記憶部であるハードディスク114と、カメラインタフェース116と、入力インタフェース118と、表示コントローラ120と、PLCインタフェース122と、通信インタフェース124と、データリーダ/ライタ126とを含んでもよい。これらの各部は、バス128を介して、互いにデータ通信可能なように接続されている。
【0037】
カメラインタフェース116は、CPU110と撮像装置11との間のデータ伝送を仲介する部分であり、撮像装置11からの画像データを一時的に蓄積するための画像バッファ116aを有していてもよい。入力インタフェース118は、CPU110と入力部との間のデータ伝送を仲介する。入力部には、例えば、マウス13、キーボード、タッチパネル、ジョグコントローラ等が含まれていてもよい。表示コントローラ120は、液晶モニタ等のディスプレイ12に接続され、当該ディスプレイでの表示を制御する。PLCインタフェース122は、CPU110とPLC4との間のデータ伝送を仲介する。通信インタフェース124は、CPU110とコンソール、あるいはパーソナルコンピュータやサーバ装置等との間のデータ伝送を仲介する。データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード14との間のデータ伝送を仲介する。
【0038】
画像処理装置10は、汎用的なアーキテクチャを有するコンピュータで構成可能であり、CPU110が、ハードディスク114又はメモリカード14に格納されたプログラムを読み込むことで、各種処理を実行する。このようなプログラムは、メモリカード14や光ディスク等のコンピュータ読取可能な記録媒体に格納された状態で流通するか、インターネット等を通じて提供される。なお、本実施形態に係るプログラムは単体のアプリケーションプログラムとして提供されてもよいし、他のプログラムの一部に組み込まれるモジュールとして提供されてもよい。また、そのプログラムによって実行される処理の一部又は全部がASIC等の専用回路で実行してもよい。
【0039】
[機能構成]
<画像処理装置>
次に、
図3を用いて、画像処理装置10の構成の一例を説明する。画像処理装置10は、CPU110が、ハードディスク114等に格納されたプログラムを読み込むことで、テンプレート作成装置20、物体認識処理装置30として動作する。
【0040】
テンプレート作成装置20は、物体認識処理で利用するテンプレートを作成する装置であってよい。テンプレート作成装置20は、物体データ取得部201、テンプレート作成部202、テンプレート情報出力部203及びデータベース204を備えている。
【0041】
物体認識処理装置30は、撮像装置11から取り込まれた画像に対し、テンプレート作成装置20によって作成及び記憶されたテンプレートを用いてテンプレートマッチング処理を行うことで、画像中の物体を認識する装置であってよい。物体認識処理装置30は、画像取得部301、閾値設定部302、テンプレート情報取得部303、テンプレートマッチング部304、候補排除処理部305及び認識結果出力部306を備えている。
【0042】
<テンプレート作成装置>
物体データ取得部201は、認識対象の物体2の形状を表すデータを取得する。認識対象の物体2の形状に応じて、物体データ取得部201は、物体2の2次元形状を表す2次元データを取得することもできるし、物体2の3次元形状を表す3次元データを取得することもできる。物体データ取得部201は、外部のサーバ等から物体2の形状を表すデータを取得することもできるし、ハードディスク114又はメモリカード14から物体2の形状を表すデータを取得することもできる。
【0043】
テンプレート作成部202は、物体データ取得部201が取得した物体2の形状を表すデータを用いて、テンプレートを作成する。物体データ取得部201が物体2の3次元データを取得している場合、テンプレート作成部202は、物体2を複数の視点から見たときの2次元画像を生成して、生成した2次元画像からテンプレートを作成してもよい。テンプレート作成部202は、テンプレートを一意に識別し得るテンプレート識別子を含むテンプレートを作成してもよい。また、テンプレート作成部202は、テンプレートにより表される物体2のシルエットを作成してもよい。なお、テンプレート作成時に行われる特徴点の検出及び特徴量の算出については公知の任意の手法を利用できるため、本明細書では詳しい説明を省略する。
【0044】
特徴量としては、例えば、ピクセル値(輝度)、輝度勾配方向、量子化勾配方向、法線方向、法線方向分布、HOG(Histograms of Oriented Gradients)、HAAR−Like、SIFT(Scale-Invariant Feature Transform)等を用いることができる。
【0045】
テンプレート情報出力部203は、テンプレート作成部202が作成したテンプレートをデータベース204に記憶する。テンプレートにより表される物体2のシルエットが作成されている場合、テンプレート情報出力部203は、テンプレートに、当該シルエットを関連付けてデータベース204に記憶してもよい。さらに、物体2の見え方が視点によって異なるために、同一の物体2に対して複数の視点から見た複数のテンプレートが作成されている場合、テンプレート情報出力部203は、テンプレートに、当該テンプレートの作成に用いた視点の位置に関する視点情報を関連付けて、データベース204に記憶してもよい。
【0046】
<物体認識装置>
画像取得部301は、撮像装置11から入力画像を取得する。画像取得部301は、本発明の「画像取得部」の一例である。
【0047】
閾値設定部302は、後述の候補排除処理部305により利用される、認識結果から候補を排除するための閾値を設定する。一実施形態では、閾値設定部302は、1の候補のシルエットと、排除されずに残った候補のシルエットの累積画像とが重なり合う割合を示す重なり値について、閾値を設定してもよい。別の実施形態では、閾値設定部302は、1の候補のシルエットと、排除されずに残った候補のシルエットの累積画像とが重なり合う面積の値を示す重なり値について、閾値を設定してもよい。
【0048】
テンプレート情報取得部303は、テンプレート作成装置20のデータベース204に記憶されているテンプレート情報を取得して、テンプレートマッチング部304に供給する。テンプレート情報取得部303は、テンプレート作成装置20のデータベース204に記憶されているテンプレートの視点情報及び/又はシルエット情報を取得して、候補排除処理部305に供給してもよい。
【0049】
テンプレートマッチング部304は、入力画像において特徴点の検出及び特徴量の算出を行い、入力画像テンプレート情報取得部303から供給される各テンプレート情報と、算出した特徴量とを用いて、テンプレートマッチング処理を行い、認識結果を得る。ここで算出される特徴量は、テンプレート作成時にテンプレート作成部202が算出したものと同種の特徴量である。認識結果には、入力画像中に認識された物体2の候補に関する、位置パラメータ、姿勢パラメータ、入力画像とテンプレートとの間の画像特徴の一致度を示すスコア、テンプレート識別子等が含まれる。テンプレートマッチング部304は、本発明の「テンプレートマッチング部」の一例である。
【0050】
候補排除処理部305は、認識結果に含まれる複数の候補を、その候補のスコア順に並べ替え、未処理の候補の中から最もスコアの高い候補を取得し、取得された候補のシルエットを一時画像に描画する。候補排除処理部305は、認識結果の位置パラメータ、姿勢パラメータ及びテンプレート識別子に基づいてシルエットを描画してもよいし、事前に作成され、テンプレートに関連付けて記憶されたシルエット情報に基づいてシルエットを描画してもよい。
【0051】
候補排除処理部305は、一時画像に描画されたシルエットと、シルエットマップ画像に描画された、排除されずに残った候補のシルエットの累積画像とを比較して、両者の重なり合う面積の割合等を示す重なり値を算出し、算出した重なり値と閾値設定部302により設定した閾値とを比較して、排除判定を行う。
【0052】
算出した重なり値が閾値設定部302により設定した閾値以下の場合、候補排除処理部305は、排除判定対象の候補のシルエットをシルエットマップ画像に描画する。一方、算出した重なり値が閾値設定部302により設定した閾値より大きい場合、候補排除処理部305は、対応する候補を認識結果から排除する。候補排除処理部305は、認識結果に含まれる全ての候補について、上記処理を行う。候補排除処理部305は、本発明の「候補排除処理部」の一例である。重なり値が閾値より大きいことは、本発明の「所定の条件」の一例である。
【0053】
認識結果出力部306は、候補排除処理部305による処理が完了すると、所定の基準を満たさない候補が排除された認識結果を出力する。認識結果出力部306は、本発明の「認識結果出力部」の一例である。
【0054】
§3 動作例
<テンプレート作成処理>
次に、
図4を用いて、テンプレート作成装置20の動作例を説明する。
図4は、実施形態に係るテンプレート作成装置によって実行されるテンプレート作成処理の流れを例示するフローチャートである。なお、
図4に例示するテンプレート作成処理は、画像処理装置10を新たに設置した際や、認識対象の物体2が変更になった際に実行される。本実施形態では、
図5(A)に例示される入力画像中の物体2の物体認識処理を行うためのテンプレートを登録するものとする。
【0055】
ステップS401において、テンプレート作成装置20の物体データ取得部201は、認識対象の物体2の形状を表すデータを取得する。本実施形態では、物体データ取得部201は、外部の3次元CADサーバから3次元CADデータを取得する。
【0056】
次に、ステップS402において、テンプレート作成装置20のテンプレート作成部202は、物体データ取得部201が取得した物体2の形状を表すデータを用いて、テンプレートを作成する。本実施形態では、テンプレート作成部202は、物体データ取得部201が取得した3次元CADデータを用いて、複数の視点から見た物体2の2次元画像を生成し、生成した各2次元画像において特徴点の検出及び特徴量の算出を行い、複数のテンプレートを作成する。ここでは、テンプレート作成部202は、テンプレートを一意に識別し得るテンプレート識別子を含むテンプレートを作成する。
【0057】
ステップS403において、テンプレート作成部202は、テンプレートにより表される物体2のシルエットを作成する。本実施形態では、
図5(B)に示される複数のシルエットが作成されたものとする。
図5(B)に例示される通り、本実施形態ではテンプレート作成部202は、物体2の存在を表す領域を白色で塗りつぶしたシルエットを作成する。
【0058】
最後に、ステップS404において、テンプレート作成装置20のテンプレート情報出力部203は、テンプレート作成部202が作成したテンプレートをデータベース204に記憶する。本実施形態では、複数の視点から見た複数のテンプレートが作成され、さらにステップS403において、各視点から見た物体2のシルエットが作成されているので、テンプレート情報出力部203は、テンプレートと、当該テンプレートの作成に用いた視点の位置に関する視点情報と、当該テンプレート作成時の視点から見た物体2のシルエットとを関連付けて、データベース204に記憶する。
【0059】
<物体認識処理>
次に、
図6を用いて、物体認識処理装置30の動作例を説明する、
図6は、実施形態に係る物体認識処理装置によって実行される物体認識処理の流れを例示するフローチャートである。
【0060】
ステップS601において、物体認識処理装置30の画像取得部301は、撮像装置11から入力画像を取得する。次に、ステップS602において、物体認識処理装置30の閾値設定部302は、候補排除処理部305により利用される、認識結果から候補を排除するための閾値を設定する。本実施形態では、閾値設定部302は、1の候補のシルエットと、排除されずに残った候補のシルエットの累積画像とが重なり合う割合を示す重なり値について、閾値を設定するものとし、ここでは、閾値に「0.5」を設定する。
【0061】
続いて、ステップS603において、物体認識処理装置30のテンプレート情報取得部303は、テンプレート作成装置20のデータベース204に記憶されているテンプレート情報を取得して、物体認識処理装置30テンプレートマッチング部304に供給する。
【0062】
ステップS604において、テンプレートマッチング部304は、入力画像において特徴点の検出及び特徴量の算出を行い、入力画像テンプレート情報取得部303から供給される各テンプレート情報と、算出した特徴量とを用いて、テンプレートマッチング処理を行い、認識結果を得る。前述したように、認識結果には、入力画像中に認識された物体2の候補に関する、位置パラメータ、姿勢パラメータ、入力画像とテンプレートとの間の画像特徴の一致度を示すスコア、テンプレート識別子等が含まれる。
【0063】
続いて、ステップS605において、テンプレート情報取得部303は、テンプレート作成装置20のデータベース204に記憶されているテンプレートの視点情報及び/又はシルエット情報を取得して、候補排除処理部305に供給する。本実施形態では、テンプレート情報取得部303は、データベース204に記憶されているシルエット情報を取得して、候補排除処理部305に供給する。
【0064】
ステップS606において、物体認識処理装置30の候補排除処理部305は、認識結果に含まれる複数の候補を、その候補のスコア順に並べ替える。ステップS607において、候補排除処理部305は、入力画像に対応する領域を有するシルエットマップ画像及び一時画像を作成する。本実施形態では、物体2の存在を表す領域を白色で塗りつぶしたシルエットを描画するために、候補排除処理部305は、シルエットマップ画像及び一時画像の背景を黒色に初期化する。
【0065】
ステップS608において、候補排除処理部305は、未処理の候補の中から最もスコアの高い候補を取得し、取得された候補のシルエットを、ステップS605で供給されたシルエット情報に基づいて一時画像に描画する。次に、ステップS609において、候補排除処理部305は、一時画像に描画されたシルエットと、シルエットマップ画像に描画された、排除されずに残った候補のシルエットの累積画像とを比較して、両者の重なり合う面積の割合を示す重なり値を算出する。なお、本実施形態では、一時画像に描画されたシルエットの面積を分母として重なり値を算出するが、別の実施形態では、シルエットマップ画像に描画された候補のうち、一時画像に描画されたシルエットと重なり合う候補のシルエットの面積を分母として重なり値を算出してもよい。
【0066】
算出した重なり値が閾値設定部302により設定した閾値以下の場合(ステップS610:Yes)、候補排除処理部305は、排除判定対象の候補のシルエットをシルエットマップ画像に描画する(ステップS611)。一方、算出した重なり値が閾値設定部302により設定した閾値より大きい場合(ステップS610:No)、候補排除処理部305は、対応する候補を認識結果から排除する(ステップS612)。
【0067】
ステップS613において、候補排除処理部305は、全ての候補について排除判定処理を行ったか否かを判定し、未処理の候補が存在する場合(ステップS613:No)、ステップS614において、候補排除処理部305は一時画像を初期化し、ステップS608に戻って処理を行う。一方、全ての候補が処理済みの場合(ステップS613:Yes)、処理はステップS615に進み、物体認識処理装置30の認識結果出力部306は、所定の基準を満たさない候補が排除された認識結果を出力する。
【0068】
<候補排除処理>
次に、
図7を用いて、物体認識処理装置30の候補排除処理の動作例を詳細に説明する。
図7は、実施形態に係る、排除判定処理中のシルエットマップ画像及び一時画像の一例を示す図である。
図7は、6つの候補を含む認識結果について、ステップS608からステップS614の候補排除処理が行われる際のシルエットマップ画像と一時画像とを例示する。本実施形態では、ステップS602において、閾値設定部302は、1の候補のシルエットと、排除されずに残った候補のシルエットの累積画像とが重なり合う割合を示す重なり値について、閾値「0.5」を設定したものとする。また、ステップS607において、候補排除処理部305は、入力画像に対応する領域を有するシルエットマップ画像(701A)を作成しているものとする。
【0069】
1回目のステップS608において、認識結果の未処理の候補の中から、最もスコアが高い候補として候補1が取得され、候補1のシルエットが一時画像に描画される(701B)。1回目のステップS609において、候補排除処理部305は、一時画像に描画されたシルエットと、シルエットマップ画像に描画された、排除されずに残った候補のシルエットの累積画像とを比較して、両者の重なり合う面積の割合を示す重なり値を算出する。ここでは、重なり値は「0.00」である。1回目のステップS610では、算出した重なり値が閾値設定部302により設定した閾値「0.5」以下であるので、ステップS611に進み、候補排除処理部305は、候補1のシルエットをシルエットマップ画像に描画する(702A)。1回目のステップS613では、未処理の候補が存在するので、ステップS614に進み、一時画像が初期化される。
【0070】
同様に、2回目のステップS608において、認識結果の未処理の候補の中から、最もスコアが高い候補として候補2が取得され、候補2のシルエットが一時画像に描画される(702B)。2回目のステップS609において、候補排除処理部305は重なり値を算出し、ここでは、重なり値は「0.00」である。2回目のステップS610では、算出した重なり値が閾値「0.5」以下であるので、ステップS611に進み、候補排除処理部305は、候補2のシルエットをシルエットマップ画像に描画する(703A)。2回目のステップS613では、未処理の候補が存在するので、ステップS614に進み、一時画像が初期化される。
【0071】
同様に、3回目のステップS608において、候補3のシルエットが一時画像に描画される(703B)。3回目のステップS609において、候補排除処理部305は重なり値を算出し、ここでは、重なり値は「0.00」である。3回目のステップS610では、算出した重なり値が閾値「0.5」以下であるので、ステップS611に進み、候補排除処理部305は、候補3のシルエットをシルエットマップ画像に描画する(704A)。3回目のステップS613では、未処理の候補が存在するので、ステップS614に進み、一時画像が初期化される。
【0072】
4回目のステップS608において、候補4のシルエットが一時画像に描画される(703B)。4回目のステップS609において、候補排除処理部305は重なり値を算出し、ここでは、重なり値は「0.51」である。4回目のステップS610では、算出した重なり値が閾値「0.5」より大きいので、ステップS612に進み、候補排除処理部305は、候補4を認識結果から排除する。シルエットマップ画像は更新されないので、この時のシルエットマップ画像705Aは、シルエットマップ画像704Aと変わらない。4回目のステップS613では、未処理の候補が存在するので、ステップS614に進み、一時画像が初期化される。
【0073】
同様に、5回目の処理では、ステップS611において、候補5のシルエットがシルエットマップ画像に描画され(706A)、6回目の処理では、ステップ612において、候補6が認識結果から排除され、6回目のステップS613において、全ての候補が処理済みであるので、S615に進み、認識結果出力部306は、所定の基準を満たさない候補4及び候補6が排除された認識結果を出力する。
【0074】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。
【0075】
<変形例1>
本発明を、位置及び姿勢のパラメータに基づいて候補を排除する従来の手法と組み合わせて実施してもよい。例えば、ステップS604で得られた認識結果に含まれる候補を、候補のテンプレート識別子に基づいてグループ分けし、同一のテンプレート識別子に関連付けられたグループ毎に、従来の手法で候補を認識結果から排除してもよい。
【0076】
あるいは、ステップS605において、テンプレート情報取得部303がテンプレート作成装置20のデータベース204に記憶されているテンプレートの視点情報が取得される場合、ステップS604で得られた認識結果に含まれる候補を、テンプレートの視点情報に基づいてグループ分けし、そのグループ毎に、従来の手法で候補を認識結果から排除してもよい。例えば、テンプレートの作成に用いた複数の視点を各視点の位置に基づいてグループ分けし、視点が属するグループの識別子を視点情報としてもよい。例えば、物体の形状に即し、同一のグループに属する視点からの物体の見え方が、所定の基準に基づいて類似するようにグループ分けを行ってもよい。
【0077】
その後、従来の手法で排除されなかった全ての候補について、S606以降の処理を実行することで、誤認識が生じ得る候補間に絞って、排除判定の基準を候補同士のシルエットが重なり合う割合等とする排除判定を行うことで、物体認識処理の高速化を図ることができる。
【0078】
<変形例2>
上記実施形態では、候補排除処理部305が、一時画像及びシルエットマップ画像に、候補に対応する物体2のシルエットを描画する例について説明してきた。別の実施形態では、例えば不規則な複雑な輪郭を有する物体2のシルエットに代えて、候補排除処理部305は、予め定められた一群の形状のうち、最も物体2のシルエットに近いシルエットを有する形状のシルエットを描画してもよい。本実施形態において、テンプレート情報出力部203は、テンプレートに、一群の形状のうち、最も物体2のシルエットに近いシルエットを有する形状のシルエットを関連付けてデータベース204に記憶してもよい。
【0079】
例えば、物体2と比較して単純な輪郭を有する形状を一群の形状に含めても良い。これにより、物体認識処理の高速化を図ることができる。
【0080】
<変形例3>
上記実施形態では、候補排除処理部305が2次元のシルエットを用いて排除する候補を判定する例について説明してきたが、3次元のボクセルモデルを用いて排除する候補を判定してもよい。3次元のボクセルモデルを用いることで、2次元のシルエットを用いた場合と比較して認識精度の向上を図ることができる。ボクセルモデルは、本発明の「3次元の2値化画像」の一例である。
【0081】
<変形例4>
上記実施形態において、候補排除処理部305がシルエットを描画する一時画像及びシルエットマップ画像の解像度を下げてもよい。これにより、物体認識処理の高速化を図ることができる。
【0082】
§5 その他
なお、本発明は、テンプレートマッチングの具体的な手法を限定するものではなく、物体認識処理装置30は、テンプレートマッチングの任意の手法を採用することができる。また、粗密探索等の高速化のためのアルゴリズムは任意のものを適用することができる。
【0083】
ここで、「部」とは、単に物理的構成を意味するものではなく、その「部」が実行する処理をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が実行する処理を2つ以上の物理的構成や装置により実現されても、2つ以上の「部」や装置が実行する処理を1つの物理的手段や装置により実現されてもよい。
【0084】
本明細書において説明した各処理におけるステップは、処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【0085】
本明細書において説明した各処理を実施するプログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、画像処理装置10を構成する各装置に、上記プログラムをインストールすることができる。ここで、上記プログラムを記憶した記録媒体は、非一過性の記録媒体であっても良い。非一過性の記録媒体は特に限定されないが、例えば、CD−ROM等の記録媒体であっても良い。
【0086】
[付記1]
認識対象物を含む画像を取得する画像取得部(301)と、
認識対象物をある視点から見たときの2次元画像を用いて作成され、予め登録された複数のテンプレートを用いて、前記画像に対してテンプレートマッチング処理を行い、前記認識対象物の候補を複数含む認識結果を得るテンプレートマッチング部(304)と、
前記複数の候補の各々について、各候補の位置と姿勢に基づいて認識対象物の2値化画像を生成し、当該2値化画像を用いて各候補の重なり度合いを求めることによって、前記複数の候補の中から、所定の条件を満たす候補を排除する候補排除処理部(305)と、
前記複数の候補の中から、排除されずに残った候補を認識結果として出力する認識結果出力部(306)と
を備える物体認識処理装置。
【0087】
[付記2]
前記候補排除処理部(305)は、前記テンプレートと関連付けて予め登録された2値化画像に基づいて、前記各候補の2値化画像を生成する、付記1に記載の物体認識処理装置。
【0088】
[付記3]
前記候補排除処理部(305)は、
排除しない候補を記憶する一時記憶手段と、
前記複数の候補を、前記テンプレートマッチング処理のスコア順に並べ替える第1手段と、
前記並べ替えた順に、前記複数の候補の1つを取得し、取得された候補の位置と姿勢に基づいて生成された2値化画像と、前記一時記憶手段に記憶された全ての候補の位置と姿勢に基づいて生成された2値化画像を累積した画像とを比較して、両者の重なり度合いが所定の閾値より小さいとき、当該候補を前記一時記憶手段に記憶する第2手段と、
を備え、
前記認識結果出力部は、前記複数の候補の全てについて前記第2手段が実行された後に、前記一時記憶手段に記憶された候補を、前記認識結果として出力する、
付記1又は2に記載の物体認識処理装置。
【0089】
[付記4]
前記テンプレートは、テンプレート識別子を含み、
前記認識結果は、前記入力画像中に認識された前記物体の候補に関する、位置パラメータ、姿勢パラメータ及びテンプレート識別子を含み、
前記候補排除処理部(305)は、前記候補を前記テンプレート識別子に基づいてグループ分けし、同一のテンプレート識別子に関連付けられたグループ毎に、前記位置パラメータ及び前記姿勢パラメータに基づいて候補を排除した後、前記所定の条件を満たす候補を排除する、
付記1〜3のいずれか1項に記載の物体認識処理装置。
【0090】
[付記5]
前記テンプレートは、テンプレート識別子を含み、当該テンプレートの作成に用いた前記視点の位置に関する視点情報に関連付けられ、
前記認識結果は、前記入力画像中に認識された前記物体の候補に関する、位置パラメータ、姿勢パラメータ及びテンプレート識別子を含み、
前記候補排除処理部は、前記候補を当該候補のテンプレート識別子に関連付けられた前記視点情報に基づいてグループ分けし、グループ毎に、前記位置パラメータ及び前記姿勢パラメータに基づいて候補を排除した後、前記所定の条件を満たす候補を排除する、
付記1〜4のいずれか1項に記載の物体認識処理装置。
【0091】
[付記6]
前記候補排除処理部(305)は、前記物体の2値化画像と比較して単純な輪郭を有する形状の2値化画像に基づいて、前記各候補の2値化画像を生成する、付記1〜5のいずれか1項に記載の物体認識処理装置。
【0092】
[付記7]
前記候補排除処理部(305)は、前記複数の候補の各々について、各候補の位置と姿勢に基づいて3次元の2値化画像を生成し、当該3次元の2値化画像を用いて各候補の重なり度合いを求めることによって、前記複数の候補の中から、所定の条件を満たす候補を排除する、付記1〜6のいずれか1項に記載の物体認識処理装置。
【0093】
[付記8]
コンピュータが実行する物体認識処理方法であって、
認識対象物を含む画像を取得するステップ(ステップS601)と、
認識対象物をある視点から見たときの2次元画像を用いて作成され、予め登録された複数のテンプレートを用いて、前記画像に対してテンプレートマッチング処理を行い、前記認識対象物の候補を複数含む認識結果を得るステップ(ステップS604)と、
前記複数の候補の各々について、各候補の位置と姿勢に基づいて認識対象物の2値化画像を生成し、当該2値化画像を用いて各候補の重なり度合いを求めることによって、前記複数の候補の中から、所定の条件を満たす候補を排除するステップ(ステップS607〜ステップS614)と、
前記複数の候補の中から、排除されずに残った候補を認識結果として出力するステップ(ステップS615)と
を含む物体認識処理方法。
【0094】
[付記9]
コンピュータに、
認識対象物を含む画像を取得するステップ(ステップS601)と、
認識対象物をある視点から見たときの2次元画像を用いて作成され、予め登録された複数のテンプレートを用いて、前記画像に対してテンプレートマッチング処理を行い、前記認識対象物の候補を複数含む認識結果を得るステップ(ステップS604)と、
前記複数の候補の各々について、各候補の位置と姿勢に基づいて認識対象物の2値化画像を生成し、当該2値化画像を用いて各候補の重なり度合いを求めることによって、前記複数の候補の中から、所定の条件を満たす候補を排除するステップ(ステップS607〜ステップS614)と、
前記複数の候補の中から、排除されずに残った候補を認識結果として出力するステップ(ステップS615)と
を実行させるプログラム。