JP2008003800A - 画像処理装置及び画像処理プログラム - Google Patents
画像処理装置及び画像処理プログラム Download PDFInfo
- Publication number
- JP2008003800A JP2008003800A JP2006171747A JP2006171747A JP2008003800A JP 2008003800 A JP2008003800 A JP 2008003800A JP 2006171747 A JP2006171747 A JP 2006171747A JP 2006171747 A JP2006171747 A JP 2006171747A JP 2008003800 A JP2008003800 A JP 2008003800A
- Authority
- JP
- Japan
- Prior art keywords
- image
- contour
- procedure
- matching
- posture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】 対象物の姿勢推定における推定精度を向上させることができる画像処理装置及び画像処理プログラムを提供する。
【解決手段】 認識対象物体の姿勢を推定する場合、まず左画像及び右画像の両方について、認識対象物体の輪郭の複雑度(輪郭における勾配角度毎の不変量の次元数総和)を算出する。続いて、左画像及び右画像の各輪郭における勾配角度毎の不変量の次元数総和が非常に近いかどうかを判断し、両者の不変量の次元数総和が非常に近いときは、左画像及び右画像のうち類似度が高い方の画像を基準画像として設定し、両者の不変量の次元数総和がある程度異なっているときは、左画像及び右画像のうち不変量の次元数総和が大きい方の画像を基準画像として設定する。そして、選択された基準画像を用いて、認識対象物体の姿勢推定を行う。
【選択図】 図6
【解決手段】 認識対象物体の姿勢を推定する場合、まず左画像及び右画像の両方について、認識対象物体の輪郭の複雑度(輪郭における勾配角度毎の不変量の次元数総和)を算出する。続いて、左画像及び右画像の各輪郭における勾配角度毎の不変量の次元数総和が非常に近いかどうかを判断し、両者の不変量の次元数総和が非常に近いときは、左画像及び右画像のうち類似度が高い方の画像を基準画像として設定し、両者の不変量の次元数総和がある程度異なっているときは、左画像及び右画像のうち不変量の次元数総和が大きい方の画像を基準画像として設定する。そして、選択された基準画像を用いて、認識対象物体の姿勢推定を行う。
【選択図】 図6
Description
本発明は、対象物の撮像画像から対象物の姿勢を推定する画像処理装置及び画像処理プログラムに関するものである。
従来の画像処理装置としては、例えば非特許文献1に記載されているように、物体の撮像画像を取り込み、DT(Distance Transforms)マッチングを用いて物体の姿勢を推定するものが知られている。
Sven Loncaric,et al."’A Genetic Search-based Partial Image Matching"’.
Sven Loncaric,et al."’A Genetic Search-based Partial Image Matching"’.
しかしながら、上記従来技術においては、撮像画像の中に物体の一部を遮蔽する遮蔽物が存在していると、物体の姿勢の推定が困難になる。また、物体の姿勢によっては、姿勢の推定精度が低下してしまうことがある。
本発明の目的は、対象物の姿勢推定における推定精度を向上させることができる画像処理装置及び画像処理プログラムを提供することである。
本発明は、異なる2つの視点から対象物を撮像して第1画像及び第2画像を取得し、対象物の姿勢を推定する画像処理装置であって、第1画像及び第2画像における対象物の複雑度をそれぞれ求める複雑度算出手段と、複雑度算出手段により求めた対象物の複雑度に基づいて、第1画像及び第2画像のいずれか一方の画像を選択する画像選択手段と、画像選択手段により選択された画像を用いて、対象物の姿勢を推定する第1姿勢推定手段とを備えることを特徴とするものである。
一般に、画像において対象物の輪郭等の複雑度が高くなると、その輪郭等の特徴量の次元数が増大するため、対象物の識別力が高くなる。そこで本発明の画像処理装置においては、第1画像及び第2画像における対象物の複雑度をそれぞれ求め、第1画像及び第2画像のうち対象物の複雑度が高いほうの画像を選択し、その選択した画像を用いて対象物の姿勢を推定する。つまり、第1画像及び第2画像のうち対象物の識別力が高いほうの画像を用いて、対象物の姿勢を推定する。これにより、対象物の姿勢の推定精度が向上するようになる。
好ましくは、第1姿勢推定手段により対象物の姿勢を推定した後に、第1画像及び第2画像を用いて、対象物の姿勢を推定する第2姿勢推定手段を更に備える。
この場合には、まず上記の複雑度算出手段、画像選択手段及び第1姿勢推定手段によって、第1画像及び第2画像のうち対象物の複雑度(識別力)が高いほうの画像のみを用いて、対象物の姿勢を粗推定する。そして、この時に対象物の姿勢推定がほぼ正しく収束するときには、第2姿勢推定手段によって、第1画像及び第2画像の両方を用いて対象物の姿勢を詳細に推定する。これにより、対象物の姿勢推定をより精度良く行うことができる。
このとき、好ましくは、第2姿勢推定手段は、第1画像及び第2画像における対象物の輪郭のDTマップをそれぞれ作成するマップ生成手段と、DTマップに基づいて第1画像及び第2画像における対象物の輪郭のDT画像をそれぞれ作成し、輪郭のマッチング収束度を評価するための評価関数を用いて、各DT画像における対象物の輪郭のDTマッチングを行うマッチング手段とを有し、第1画像及び第2画像を徐々に拡大しながら、マップ生成手段及びマッチング手段を繰り返し行う。
このようにDTマッチングを用いて対象物の姿勢を推定することにより、照明変動等が生じたり、多少の歪み等があっても、姿勢推定を柔軟に行うことができる。また、第1画像及び第2画像を徐々に拡大しながら、マップ生成手段及びマッチング手段を繰り返し行うことにより、輪郭のマッチング収束度が高くなっていくため、姿勢推定の誤収束を低減することができる。
マップ生成手段は、輪郭のマッチング収束度に応じて、異なる形状を有するDTマップを作成することが好ましい。
例えば、通常は輪郭(エッジ)からの距離に対して輝度が比例して変化するようなDTマップを作成し、輪郭のマッチング収束度が所定値よりも高くなると、輪郭(エッジ)の近傍で輝度が急峻に変化するようなDTマップを作成することにより、姿勢推定の誤収束を低減しつつ、姿勢推定の収束を早く行うことができる。
また、第2姿勢推定手段は、第1画像及び第2画像における対象物の輪郭の勾配をそれぞれ抽出する手段を更に有し、マッチング手段は、輪郭の勾配の要素を含む評価関数を用いて、DTマッチングを行うことが好ましい。
このように輪郭(エッジ)からの距離だけでなく、輪郭の勾配も加味した評価関数を用いてDTマッチングを行うことにより、輪郭のマッチング収束度をより高くすることができる。これにより、例えば対象物の輪郭の一部分に隠れがあったり、対象物の輪郭の乱れが生じても、対象物の姿勢を安定して推定することができる。その結果、対象物の姿勢の推定精度を一層向上させることが可能となる。
また、第2姿勢推定手段は、第1画像及び第2画像における対象物の輪郭の曲率をそれぞれ求める手段を更に有し、マッチング手段は、輪郭の曲率の要素を含む評価関数を用いて、DTマッチングを行っても良い。
対象物の輪郭に突起等のような曲率が大きい部分が存在すると、姿勢の推定が行いやすくなって有利である。そこで、第1画像及び第2画像における対象物の輪郭の曲率をそれぞれ求め、各輪郭の曲率に応じた重みを設定し、その重みを加味した評価関数を用いてDTマッチングを行う。これにより、例えば対象物の輪郭の一部分に隠れがあったり、対象物の輪郭の乱れが生じても、対象物の姿勢を安定して推定することができる。その結果、対象物の姿勢の推定精度を一層向上させることが可能となる。
また、本発明は、異なる2つの視点から対象物を撮像して第1画像及び第2画像を取得し、対象物の姿勢を推定する画像処理をコンピュータに実行させる画像処理プログラムであって、第1画像及び第2画像における対象物の複雑度をそれぞれ求める複雑度算出手順と、複雑度算出手順で求められた対象物の複雑度に基づいて、第1画像及び第2画像のいずれか一方の画像を選択する画像選択手順と、画像選択手順で選択された画像を用いて、対象物の姿勢を推定する第1姿勢推定手順とをコンピュータに実行させることを特徴とするものである。
一般に、画像において対象物の輪郭等の複雑度が高くなると、その輪郭等の特徴量の次元数が増大するため、対象物の識別力が高くなる。そこで本発明の画像処理プログラムの実行においては、第1画像及び第2画像における対象物の複雑度をそれぞれ求め、第1画像及び第2画像のうち対象物の複雑度が高いほうの画像を選択し、その選択した画像を用いて対象物の姿勢を推定する。つまり、第1画像及び第2画像のうち対象物の識別力が高いほうの画像を用いて、対象物の姿勢を推定する。これにより、対象物の姿勢の推定精度が向上するようになる。
好ましくは、第1姿勢推定手順で対象物の姿勢を推定した後に、第1画像及び第2画像を用いて、対象物の姿勢を推定する第2姿勢推定手順を更にコンピュータに実行させる。
この場合には、まず第1画像及び第2画像のうち対象物の複雑度(識別力)が高いほうの画像のみを用いて、対象物の姿勢を粗推定する。そして、この時に対象物の姿勢推定がほぼ正しく収束するときには、第1画像及び第2画像の両方を用いて、対象物の姿勢を詳細に推定する。これにより、対象物の姿勢推定をより精度良く行うことができる。
このとき、好ましくは、第2姿勢推定手順は、第1画像及び第2画像における対象物の輪郭のDTマップをそれぞれ作成するマップ生成手順と、DTマップに基づいて第1画像及び第2画像における対象物の輪郭のDT画像をそれぞれ作成し、輪郭のマッチング収束度を評価するための評価関数を用いて、各DT画像における対象物の輪郭のDTマッチングを行うマッチング手順とを含み、第1画像及び第2画像を徐々に拡大しながら、マップ生成手順及びマッチング手順を繰り返し行う。
このようにDTマッチングを用いて対象物の姿勢を推定することにより、照明変動等が生じたり、多少の歪み等があっても、姿勢推定を柔軟に行うことができる。また、第1画像及び第2画像を徐々に拡大しながら、マップ生成手段及びマッチング手段を繰り返し行うことにより、輪郭のマッチング収束度が高くなっていくため、姿勢推定の誤収束を低減することができる。
マップ生成手順では、輪郭のマッチング収束度に応じて、形状の異なるDTマップを作成することが好ましい。
例えば、通常は輪郭(エッジ)からの距離に対して輝度が比例して変化するようなDTマップを作成し、輪郭のマッチング収束度が所定値よりも高くなると、輪郭(エッジ)の近傍で輝度が急峻に変化するようなDTマップを作成することにより、姿勢推定の誤収束を低減しつつ、姿勢推定の収束を早く行うことができる。
また、第2姿勢推定手順は、第1画像及び第2画像における対象物の輪郭の勾配をそれぞれ抽出する手順を更に含み、マッチング手順では、輪郭の勾配の要素を含む評価関数を用いて、DTマッチングを行うことが好ましい。
このように輪郭(エッジ)からの距離だけでなく、輪郭の勾配も加味した評価関数を用いてDTマッチングを行うことにより、輪郭のマッチング収束度をより高くすることができる。これにより、例えば対象物の輪郭の一部分に隠れがあったり、対象物の輪郭の乱れが生じても、対象物の姿勢を安定して推定することができる。その結果、対象物の姿勢の推定精度を一層向上させることが可能となる。
また、第2姿勢推定手順は、第1画像及び第2画像における対象物の輪郭の曲率をそれぞれ求める手順を更に含み、マッチング手順では、輪郭の曲率の要素を含む評価関数を用いて、DTマッチングを行っても良い。
対象物の輪郭に突起等のような曲率が大きい部分が存在すると、姿勢の推定が行いやすくなって有利である。そこで、第1画像及び第2画像における対象物の輪郭の曲率をそれぞれ求め、各輪郭の曲率に応じた重みを設定し、その重みを加味した評価関数を用いてDTマッチングを行う。これにより、例えば対象物の輪郭の一部分に隠れがあったり、対象物の輪郭の乱れが生じても、対象物の姿勢を安定して推定することができる。その結果、対象物の姿勢の推定精度を一層向上させることが可能となる。
本発明によれば、対象物の撮像画像から対象物の姿勢を推定する際に、対象物の誤認識を低減し、推定精度を向上させることができる。
以下、本発明に係わる画像処理装置及び画像処理プログラムの好適な実施形態について、図面を参照して詳細に説明する。
図1は、本発明に係わる画像処理装置の一実施形態の構成を示すブロック図である。本実施形態の画像処理装置1は、例えば認識対象物体として急須やマグカップ等の取っ手付き容器を把持するロボット(図示せず)に搭載されるものである。
同図において、画像処理装置1は、認識対象物体を撮像するカメラ2A,2Bと、これらのカメラ2A,2Bによる撮像画像を入力し、所定の画像処理を行い、認識対象物体の姿勢を推定する画像処理部3と、この画像処理部3の処理結果を表示するモニタ部4と、画像処理部3による画像処理に使用されるデータベースを蓄積記憶するデータ格納部5とを備えている。
カメラ2A,2Bは、例えばCCDカメラであり、異なる2つの視点から物体を撮像するようにロボットの両眼部(図示せず)に設けられている。
画像処理部3は、物体認識処理に特化した専用のハードウェアとして構成されていても良いし、或いはCPU、メモリ(記憶媒体)、入力部及び出力部を有するパーソナルコンピュータ等の汎用コンピュータを用い、この汎用コンピュータにソフトウェアとしての画像処理プログラムを実行させても良い。このとき、画像処理プログラムは、例えばCD−ROM、DVD、ROM等の記憶媒体または半導体メモリによって提供される。また、画像処理プログラムは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されるものであっても良い。
また、画像処理部3の処理結果は、把持制御処理部6に送られる。把持制御処理部6は、画像処理部3で推定された認識対象物体の姿勢に基づいて、認識対象物体を把持するようにロボットハンド(図示せず)を制御する。
図2は、画像処理部3による処理手順の概略を示すフローチャートである。同図において、まずカメラ2A,2Bによる撮像画像を取得する(手順11)。カメラ2A,2Bによる撮像画像の一例を図3に示す。図3(a)は、ロボットの左眼部に配置されたカメラ2Aによる撮像画像(左画像)の概略を示し、図3(b)は、ロボットの右眼部に配置されたカメラ2Bによる撮像画像(右画像)の概略を示している。
続いて、手順11で取得した左画像及び右画像について、濃度値が一様とみなせる物体毎の領域に分割する(手順12)。例えば図3に示す画像では、枠で囲まれた領域Rが認識対象物体を含む領域となる。
また、手順12の領域分割処理と並行して、2次元の左画像及び右画像から3次元画像を復元する(手順13)。この3次元画像の復元は、例えば両眼視差の考え方を利用して、ある点の左画像及び右画像での位置座標とカメラ2A,2B間の距離とから当該点の奥行きを計算することにより行う。
続いて、手順12で領域分割された2次元画像と手順13で復元された3次元画像とに基づいて、エッジ検出等により領域R内に存在する物体の輪郭を抽出する(手順14)。例えば図3(a)に示す左画像における認識対象物体は、図4に示すような輪郭Bとなる。
続いて、手順14で得られた認識対象物体の輪郭Bの特徴量を抽出する(手順15)。輪郭Bの特徴量としては、輪郭Bの位置、回転及び大きさに対して不変な不変量を用いる。この不変量としては、図5に示すように、輪郭Bにおける1つの勾配(接線の傾き)Hから他の勾配Hまでの距離dが挙げられる。例えば図5に示すような角度の勾配度では、不変量の次元数は3次元となる。なお、この特徴抽出処理は、左画像及び右画像の両方について行う。
続いて、手順15で得られた認識対象物体の輪郭Bの特徴量を、データ格納部5にデータベースとして記憶されている特徴照合データとマッチングすることにより、特徴照合データに対する類似度を算出する(手順16)。特徴照合データとしては、カメラにより認識対象物体をあらゆる角度(視点)から撮像した時の撮像画像から得られた多くのデータが登録されている。このマッチング処理は、左画像及び右画像の両方について行う。また、マッチング手法としては、例えばDP(Dynamic Programming)マッチング等が採用される。
続いて、左画像及び右画像のうちのいずれか一方を基準画像として選択する(手順17)。この画像選択処理については、後で詳述する。
続いて、選択された基準画像において、特徴照合データに対する最大類似度を算出する(手順18)。そして、その最大類似度となる特徴照合データに対応する輪郭の形状を認識対象物体の初期姿勢位置に設定する(手順19)。
続いて、まず基準画像のみを用いて、認識対象物体の姿勢を粗推定する(手順20)。この単眼姿勢推定処理については、後で詳述する。続いて、その単眼姿勢推定の妥当性を判断する(手順21)。この妥当性は、例えば姿勢推定された物体と手順13で3次元復元して得られた物体とを重ね合わせた時の重なり程度から判断する。
このとき、姿勢推定が正しいと判定されたときは、引き続き左画像及び右画像の両方を用いて、認識対象物体の姿勢を詳細に推定する(手順22)。この複眼姿勢推定処理についても、後で詳述する。続いて、その複眼姿勢推定の妥当性を判断する(手順23)。この時の妥当性の判断手法は、手順21と同様である。そして、姿勢推定が正しいと判定されたときは、その推定結果を把持制御処理部6に送出すると共にモニタ部4に表示させる(手順24)。
一方、手順21,23において姿勢推定が正しくないと判断されたときは、認識対象物体を別の視点から撮像した時の撮像画像から得られた他の特徴照合データを用いて、認識対象物体の姿勢推定を行う。つまり、選択された基準画像において類似度が次に高くなるような特徴照合データを選択し、当該類似度となる特徴照合データに対応する輪郭の形状を認識対象物体の姿勢位置に設定する(手順25)。そして、上記の手順20〜24を再度実行する。
図6は、上記の手順17の画像選択処理の詳細を示すフローチャートである。同図において、まず左画像及び右画像の両方について、図2に示す手順14で抽出された認識対象物体の輪郭Bの複雑度を求める(手順31)。この輪郭Bの複雑度としては、当該輪郭Bにおける勾配角度毎の不変量の次元数総和を算出する。
勾配角度毎の不変量の次元数総和は、図7に示すような輪郭Bの次元分布から算出される。図7(a)は、左画像における輪郭Bの次元分布の一例を示し、図7(b)は、右画像における輪郭Bの次元分布の一例を示している。また、図7において、横軸は輪郭Bの勾配角度を示し、縦軸は不変量の次元数を示している。
続いて、左画像及び右画像の各輪郭Bにおける勾配角度毎の不変量の次元数総和が非常に近い(両者の差が例えば5以下)かどうかを判断する(手順32)。そして、両者の不変量の次元数総和が非常に近いときは、左画像及び右画像のうち、図2の手順16で算出された類似度が高い方の画像を基準画像として設定する(手順33)。一方、両者の不変量の次元数総和がある程度異なっているときは、左画像及び右画像のうち、手順31で算出された不変量の次元数総和が大きい方の画像を基準画像として設定する(手順34)。
このように特徴照合データに対する類似度だけでなく、認識対象物体の識別力に優れた輪郭Bの複雑度(不変量の次元数)を考慮して基準画像を決定するので、その後に実施する工程(図2に示す手順18,19)において、認識対象物体の初期姿勢位置の設定を高精度に行うことができる。その結果、更にその後に実施する姿勢推定処理(図2に示す手順20,22)に有利となる。
図8は、上記の手順20の単眼姿勢推定処理の詳細を示すフローチャートである。同図において、まず単眼姿勢推定に関する各種の初期設定を行う(手順41)。このとき、初期設定すべきパラメータとしては、画像の縮小率及び拡大率、回転・並進計算の初期値、処理ループ回数の上限等がある。
続いて、図6に示す処理で選択された基準画像を所定の縮小率で縮小する(手順42)。そして、縮小された基準画像における輪郭のDT(Distance Transforms)マップを作成する(手順43)。DTマップとは、図9に示すように、後述するDT画像(輪郭のエッジまでの最近傍距離画像)を作成するためのマップである。DTマップの横軸は、輪郭のエッジに対する距離を示し、DTマップの縦軸は、輝度を示している。図9に示すDTマップは、輪郭のエッジに近くなるに従い輝度が線形的に大きくなるような分布(形状)を有している。
続いて、そのようなDTマップを基にして、縮小された基準画像から輪郭のDT画像を作成する(手順44)。例えば基準画像における輪郭が図10(a)に示すようなものである場合、DTマップに基づいてDT画像を作成すると、図10(b)に示すように、輪郭のエッジから離れるに従ってぼやけた画像となる。
続いて、このDT画像をデータ格納部5にデータベースとして記憶されている3次元の輪郭形状データとDTマッチング(最適化)することにより、マッチングエラー値を算出する(手順45)。輪郭形状データとしては、例えばステレオレンジファインダにより認識対象物体の情報をあらゆる視点から測定して得られた多くのデータが登録されている。DTマッチングは、例えば回転・並進計算を用いて、DT画像と輪郭形状データとを合わせ込むことにより行う。このとき、マッチングエラー値の算出には、例えば下記式のような輪郭のマッチング収束度を評価するための評価関数を用いる。
ただし、Dis:DT画像の輪郭上の点と輪郭形状データの輪郭上の対応する点との距離
ただし、Dis:DT画像の輪郭上の点と輪郭形状データの輪郭上の対応する点との距離
このようなDTマッチングは、輪郭のエッジを利用するため、照明変化等の環境変動に強いという利点がある。また、ぼかしたDT画像を用いるので、多少の歪みや傾きがあっても、柔軟に検出することが可能である。
続いて、単眼姿勢推定処理が終了タイミングであるかどうかを判断し(手順46)、単眼姿勢推定処理が終了タイミングのときは、本処理を終了させる。一方、単眼姿勢推定処理が終了タイミングでないときは、手順42で縮小済みの基準画像を所定の拡大率で若干拡大させ(手順47)、手順43に戻る。なお、手順46における判断は、基準画像の拡大率が予め設定された閾値に達したかどうかや、手順47の処理ループ回数が上限値に達したかどうかによって行う。また、この時の基準画像の拡大率は、手順42における基準画像の縮小率に比べて十分小さいものである。
このような単眼姿勢推定処理では、まず最初に画像を小さくするので、その分だけ画素数が少なくなるだけでなく、輪郭に突部が存在する場合に、特にフィルタをかけなくても当該突部がぼやけるようになる。このため、余計な処理が不要となり、処理速度が上がる。また、その後で画像を徐々に大きくして、DTマップ作成、DT画像作成及びDTマッチングを繰り返し行うので、マッチングエラー値が徐々に小さくなっていき、姿勢推定の誤収束が生じにくくなる。
図11は、上記の手順22の複眼姿勢推定処理の詳細を示すフローチャートである。同図において、まず複眼姿勢推定に関する各種の初期設定を行う(手順51)。このとき、初期設定すべきパラメータとしては、単眼姿勢推定に関する初期設定と同様に、画像の縮小率及び拡大率、回転・並進計算の初期値、処理ループ回数の上限の他、マッチングエラー値の初期値等がある。
続いて、左画像及び右画像をそれぞれ所定の縮小率で縮小する(手順52)。なお、縮小後の左画像及び右画像のサイズは、図8に示す手順42における縮小後の基準画像のサイズよりも大きいことが望ましい。
続いて、縮小された各画像における輪郭のDTマップを作成する(手順53)。ここでは、図12(a)に示すような線形のDTマップ(図9と同様)と、図12(b)に示すような非線形のDTマップとが用意されてある。図12(b)に示すDTマップは、輪郭のエッジに近くなるに従って輝度が大きくなり、特に輪郭のエッジ近傍において輝度が急峻となるような分布(形状)を有している。
このような輪郭のDTマップを作成する処理の詳細を図13に示す。同図において、まず最新のマッチングエラー値が予め設定された閾値よりも大きいかどうかを判断し(手順61)、最新のマッチングエラー値が閾値よりも大きいときは、図12(a)に示すような線形のDTマップを作成する(手順62)。一方、最新のマッチングエラー値が閾値以下であるときは、図12(b)に示すような非線形のDTマップを作成する(手順63)。
図11に戻り、上記のようにDTマップを作成した後、そのDTマップを基にして、縮小された各画像から輪郭のDT画像を作成する(手順54)。続いて、このDT画像を3次元の輪郭形状データとDTマッチングすることにより、マッチングエラー値を算出する(手順55)。このDTマッチングの計算手法は、図8に示す手順45と同様である。
続いて、複眼姿勢推定処理が終了タイミングかどうかを判断する(手順56)。この判断手法は、図8に示す手順46と同様である。そして、複眼姿勢推定処理が終了タイミングのときは、本処理を終了させ、複眼姿勢推定処理が終了タイミングでないときは、手順52で縮小された各画像を所定の拡大率で若干拡大させ(手順57)、手順53に戻る。なお、この時の各画像の拡大率は、手順52における各画像の縮小率に比べて十分小さいものである。
このような複眼姿勢推定処理においても、左画像及び右画像について最初に画像を小さくするので、上述したように処理速度が速くなる。また、その後で左画像及び右画像を徐々に大きくして、各画像についてDTマップ作成、DT画像作成及びDTマッチングを繰り返し行うので、上述したように姿勢推定の誤収束が一層生じにくくなる。
従って、本姿勢推定処理を実施すると、図14に示すように、左画像及び右画像の何れにおいても、画像から抽出された物体の輪郭Bの位置及び姿勢を輪郭形状データに対してほぼ一致させることができ、結果的に物体の姿勢推定をうまく収束させることが可能となる。
また、最初は図12(a)に示す線形のDTマップを基にDT画像を作成して、DTマッチングを行い、これを繰り返すことでマッチングエラー値が十分小さくなると、今度は図12(b)に示す非線形のDTマップを基にDT画像を作成して、DTマッチングを行うようになるので、姿勢推定の収束速度を速くすることができる。
以上において、図6に示す手順31は、第1画像及び第2画像における対象物の複雑度をそれぞれ求める複雑度算出手段(複雑度算出手順)を構成する。図6に示す手順32,34は、複雑度算出手段により求めた対象物の複雑度に基づいて、第1画像及び第2画像のいずれか一方の画像を選択する画像選択手段(画像選択手順)を構成する。図2に示す手順20は、画像選択手段により選択された画像を用いて、対象物の姿勢を推定する第1姿勢推定手段(第1姿勢推定手順)を構成する。図2に示す手順22は、第1姿勢推定手段により対象物の姿勢を推定した後に、第1画像及び第2画像を用いて、対象物の姿勢を推定する第2姿勢推定手段(第2姿勢推定手順)を構成する。
以上のように本実施形態にあっては、左画像及び右画像について物体の輪郭Bの複雑度(不変量の次元数の総和)を求め、両者の不変量の次元数総和が非常に近いときには、類似度が高い方の画像を基準画像として設定し、そうでないときは、不変量の次元数総和が大きい方の画像を基準画像として設定する。従って、左画像及び右画像のうち物体の識別能力が高いほうの画像を使って、物体の初期姿勢位置を高精度に設定し、物体の姿勢推定を行うことができる。
また、単眼姿勢推定処理及び複眼姿勢推定処理を組み合わせるだけでなく、各姿勢推定処理において、画像を徐々に大きくしてマッチングを行う手法(粗いマッチング→詳細マッチング)を採用するので、物体の初期姿勢位置のズレが多少あっても、物体の姿勢推定の誤収束を低減することができる。
以上により、認識対象物体の姿勢に関係なく、姿勢の推定精度を向上させることが可能となる。また、画像において認識対象物体の一部を遮蔽する遮蔽物が写っている場合でも、姿勢の推定を精度良く行うことが可能となる。
図15は、図2に示す手順22の複眼姿勢推定処理の変形例を示すフローチャートである。図中、図11に示すものと同一の処理には同じ符号を付し、その説明を省略する。
同図において、手順53で左画像及び右画像における輪郭のDTマップを作成した後、各画像における輪郭の勾配マップを作成する(手順70)。勾配マップとは、輪郭の勾配情報を有する画像のことである。例えば画像における輪郭が図10(a)に示すようなものである場合、勾配マップは、例えば図16に示すようになる。この勾配マップでは、勾配の角度を色の濃さで表している。なお、このような勾配マップの作成処理は、DTマップの作成前に実施しても良いし、DTマップの作成と同時に実施しても良い。
また、手順54で左画像及び右画像における輪郭のDT画像を作成した後、このDT画像を3次元の輪郭形状データとDTマッチングすることにより、マッチングエラー値を算出する(手順71)。DTマッチングの手法は、図11に示す手順55と同様である。このとき、マッチングエラー値の算出には、例えば下記式のような評価関数を用いる。
ただし、Dis:DT画像の輪郭上の点と輪郭形状データの輪郭上の対応する点との距離
θ:DT画像の輪郭の勾配と輪郭形状データの輪郭の対応する勾配との角度差
α:係数
ただし、Dis:DT画像の輪郭上の点と輪郭形状データの輪郭上の対応する点との距離
θ:DT画像の輪郭の勾配と輪郭形状データの輪郭の対応する勾配との角度差
α:係数
このように本処理では、輪郭上の点間の距離だけでなく、輪郭上の当該点の勾配も考慮して、DTマッチングを行う。その他の処理については、図11に示すものと同様である。
以上のような複眼姿勢推定処理では、図17に示すように、DTマップと勾配マップの値(ラジアン)とに基づいてDTマッチングを行うので、DT画像と輪郭形状データとのマッチングが一層正確に行われることになる。これにより、例えば認識対象物体の輪郭の一部分に隠れがあったり、ノイズや外乱等により認識対象物体の輪郭の乱れが生じても、物体の誤認識や姿勢推定の誤収束を低減することができる。従って、物体の姿勢推定をより安定化させることが可能となる。
図18は、図2に示す手順22の複眼姿勢推定処理の他の変形例を示すフローチャートである。図中、図11に示すものと同一の処理には同じ符号を付し、その説明を省略する。
同図において、手順53で左画像及び右画像における輪郭のDTマップを作成した後、DTマッチングを行う時に付される重み係数を設定する(手順80)。このような重み係数を設定する処理の詳細を図19に示す。
図19において、まず各画像における輪郭に対して平滑化を施す(手順91)。続いて、図20に示すように、その平滑化された輪郭Bの勾配から、輪郭Bの傾きの曲がり具合が変わるポイントとなる変曲点Qを算出する(手順92)。続いて、輪郭Bにおける各変曲点Q間の領域の曲率をそれぞれ算出する(手順93)。このとき、図20に示すように、輪郭Bにおける各変曲点Q間の領域にほぼ一致するような円(図中の破線参照)を形成し、その時の円の半径Rによって輪郭Bにおける各変曲点Q間の領域の曲率半径を求め、当該領域の曲率を得る。
続いて、得られた曲率に応じて、輪郭Bにおける各変曲点Q間の領域の重み係数を決定する(手順94)。このとき、輪郭Bの曲率分布を基にして、曲率が大きくなるほど、つまり曲率半径が小さくなるほど、重み係数を高くするように設定する。なお、重み係数としては、その全体の平均値が1となるように設定するのが望ましい。
図18に戻り、手順54で左画像及び右画像における輪郭のDT画像を作成した後、このDT画像を3次元の輪郭形状データとDTマッチングすることにより、マッチングエラー値を算出する(手順81)。DTマッチングの手法は、図11に示す手順55と同様である。このとき、マッチングエラー値の算出には、例えば下記式のような評価関数を用いる。
ただし、Dis:DT画像の輪郭上の点と輪郭形状データの輪郭上の対応する点との距離
β:重み係数
ただし、Dis:DT画像の輪郭上の点と輪郭形状データの輪郭上の対応する点との距離
β:重み係数
つまり、図18に示す手順80で求めた重み係数βと輪郭上の点間の距離Disとを掛け合わせた総和により、マッチングエラー値を求める。その他の処理については、図11に示すものと同様である。
ところで、画像上の輪郭において突起部のような大きな曲率を有する部分では、特徴量(不変量)の次元数が多くなるため、姿勢の推定が行いやすくなる。ここでは、輪郭の曲率に応じた重み係数βを設定し、その重み係数βを加味してDTマッチングを行うので、例えば認識対象物体の輪郭の一部分に隠れがあったり、ノイズや外乱等により認識対象物体の輪郭の乱れが生じても、物体の誤認識や姿勢推定の誤収束を低減することができる。従って、この場合にも、物体の姿勢推定をより安定化させることが可能となる。
なお、本発明は、上記実施形態に限定されるものではない。例えば上記実施形態では、図2に示す手順17の画像選択処理において、輪郭Bにおける勾配角度毎の不変量の次元数総和を輪郭Bの複雑度として算出したが、輪郭Bの次元分布の先鋭度などを輪郭Bの複雑度として算出しても良い。
また、上記実施形態では、図2に示す手順20,22の姿勢推定処理において、3軸方向に対する回転・並進計算によってDTマッチング(最適化)を行うものとしたが、他のマッチング手法として、例えば単純な輝度画像を用いたマッチング等といった公知の手法によって、姿勢推定を行っても良い。
さらに、上記実施形態は、物体を把持するロボットに適用されるものであるが、本発明の画像処理装置及び画像処理プログラムは、物体を認識して物体の姿勢を推定する他の装置やシステム等にも適用可能である。
1…画像処理装置、2A,2B…カメラ、3…画像処理部(複雑度算出手段、画像選択手段、第1姿勢推定手段、第2姿勢推定手段、マップ生成手段、マッチング手段)。
Claims (12)
- 異なる2つの視点から対象物を撮像して第1画像及び第2画像を取得し、前記対象物の姿勢を推定する画像処理装置であって、
前記第1画像及び前記第2画像における前記対象物の複雑度をそれぞれ求める複雑度算出手段と、
前記複雑度算出手段により求めた前記対象物の複雑度に基づいて、前記第1画像及び前記第2画像のいずれか一方の画像を選択する画像選択手段と、
前記画像選択手段により選択された画像を用いて、前記対象物の姿勢を推定する第1姿勢推定手段とを備えることを特徴とする画像処理装置。 - 前記第1姿勢推定手段により前記対象物の姿勢を推定した後に、前記第1画像及び前記第2画像を用いて、前記対象物の姿勢を推定する第2姿勢推定手段を更に備えることを特徴とする請求項1記載の画像処理装置。
- 前記第2姿勢推定手段は、前記第1画像及び前記第2画像における前記対象物の輪郭のDTマップをそれぞれ作成するマップ生成手段と、前記DTマップに基づいて前記第1画像及び前記第2画像における前記対象物の輪郭のDT画像をそれぞれ作成し、前記輪郭のマッチング収束度を評価するための評価関数を用いて、前記各DT画像における前記対象物の輪郭のDTマッチングを行うマッチング手段とを有し、前記第1画像及び前記第2画像を徐々に拡大しながら、前記マップ生成手段及び前記マッチング手段を繰り返し行うことを特徴とする請求項2記載の画像処理装置。
- 前記マップ生成手段は、前記輪郭のマッチング収束度に応じて、異なる形状を有する前記DTマップを作成することを特徴とする請求項3記載の画像処理装置。
- 前記第2姿勢推定手段は、前記第1画像及び前記第2画像における前記対象物の輪郭の勾配をそれぞれ抽出する手段を更に有し、
前記マッチング手段は、前記輪郭の勾配の要素を含む前記評価関数を用いて、前記DTマッチングを行うことを特徴とする請求項3または4記載の画像処理装置。 - 前記第2姿勢推定手段は、前記第1画像及び前記第2画像における前記対象物の輪郭の曲率をそれぞれ求める手段を更に有し、
前記マッチング手段は、前記輪郭の曲率の要素を含む前記評価関数を用いて、前記DTマッチングを行うことを特徴とする請求項3または4記載の画像処理装置。 - 異なる2つの視点から対象物を撮像して第1画像及び第2画像を取得し、前記対象物の姿勢を推定する画像処理をコンピュータに実行させる画像処理プログラムであって、
前記第1画像及び前記第2画像における前記対象物の複雑度をそれぞれ求める複雑度算出手順と、
前記複雑度算出手順で求められた前記対象物の複雑度に基づいて、前記第1画像及び前記第2画像のいずれか一方の画像を選択する画像選択手順と、
前記画像選択手順で選択された画像を用いて、前記対象物の姿勢を推定する第1姿勢推定手順とを前記コンピュータに実行させることを特徴とする画像処理プログラム。 - 前記第1姿勢推定手順で前記対象物の姿勢を推定した後に、前記第1画像及び前記第2画像を用いて、前記対象物の姿勢を推定する第2姿勢推定手順を更に前記コンピュータに実行させることを特徴とする請求項7記載の画像処理プログラム。
- 前記第2姿勢推定手順は、前記第1画像及び前記第2画像における前記対象物の輪郭のDTマップをそれぞれ作成するマップ生成手順と、前記DTマップに基づいて前記第1画像及び前記第2画像における前記対象物の輪郭のDT画像をそれぞれ作成し、前記輪郭のマッチング収束度を評価するための評価関数を用いて、前記各DT画像における前記対象物の輪郭のDTマッチングを行うマッチング手順とを含み、前記第1画像及び前記第2画像を徐々に拡大しながら、前記マップ生成手順及び前記マッチング手順を繰り返し行うことを特徴とする請求項8記載の画像処理プログラム。
- 前記マップ生成手順では、前記輪郭のマッチング収束度に応じて、形状の異なる前記DTマップを作成することを特徴とする請求項9記載の画像処理プログラム。
- 前記第2姿勢推定手順は、前記第1画像及び前記第2画像における前記対象物の輪郭の勾配をそれぞれ抽出する手順を更に含み、
前記マッチング手順では、前記輪郭の勾配の要素を含む前記評価関数を用いて、前記DTマッチングを行うことを特徴とする請求項9または10記載の画像処理プログラム。 - 前記第2姿勢推定手順は、前記第1画像及び前記第2画像における前記対象物の輪郭の曲率をそれぞれ求める手順を更に含み、
前記マッチング手順では、前記輪郭の曲率の要素を含む前記評価関数を用いて、前記DTマッチングを行うことを特徴とする請求項9または10記載の画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006171747A JP2008003800A (ja) | 2006-06-21 | 2006-06-21 | 画像処理装置及び画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006171747A JP2008003800A (ja) | 2006-06-21 | 2006-06-21 | 画像処理装置及び画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008003800A true JP2008003800A (ja) | 2008-01-10 |
Family
ID=39008136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006171747A Withdrawn JP2008003800A (ja) | 2006-06-21 | 2006-06-21 | 画像処理装置及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008003800A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012058787A (ja) * | 2010-09-03 | 2012-03-22 | Canon Inc | 情報処理装置、およびその処理方法 |
JP2012133753A (ja) * | 2010-11-19 | 2012-07-12 | Mitsubishi Electric Research Laboratories Inc | 物体の姿勢を求める方法及びシステム |
CN111079723A (zh) * | 2020-03-23 | 2020-04-28 | 杭州汇萃智能科技有限公司 | 目标物定位方法、装置、计算机设备和存储介质 |
-
2006
- 2006-06-21 JP JP2006171747A patent/JP2008003800A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012058787A (ja) * | 2010-09-03 | 2012-03-22 | Canon Inc | 情報処理装置、およびその処理方法 |
US9245198B2 (en) | 2010-09-03 | 2016-01-26 | Canon Kabushiki Kaisha | Object recognition by comparison of patterns against map of image |
US9740965B2 (en) | 2010-09-03 | 2017-08-22 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
JP2012133753A (ja) * | 2010-11-19 | 2012-07-12 | Mitsubishi Electric Research Laboratories Inc | 物体の姿勢を求める方法及びシステム |
CN111079723A (zh) * | 2020-03-23 | 2020-04-28 | 杭州汇萃智能科技有限公司 | 目标物定位方法、装置、计算机设备和存储介质 |
CN111079723B (zh) * | 2020-03-23 | 2020-06-30 | 杭州汇萃智能科技有限公司 | 目标物定位方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10234957B2 (en) | Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data | |
US10083366B2 (en) | Edge-based recognition, systems and methods | |
US8879847B2 (en) | Image processing device, method of controlling image processing device, and program for enabling computer to execute same method | |
JP6430064B2 (ja) | データを位置合わせする方法及びシステム | |
JP6125188B2 (ja) | 映像処理方法及び装置 | |
JP2018530045A (ja) | 一連のイメージからのオブジェクトの3d再構成のための方法、一連のイメージからのオブジェクトの3d再構成を実行するように構成されたコンピュータ読取可能記憶媒体及び装置 | |
KR20170008638A (ko) | 3차원 컨텐츠 생성 장치 및 그 3차원 컨텐츠 생성 방법 | |
KR101789071B1 (ko) | 깊이 영상의 특징 추출 방법 및 장치 | |
KR20120130788A (ko) | 멀티-카메라 교정을 위한 방법 및 장치 | |
CN109934847A (zh) | 弱纹理三维物体姿态估计的方法和装置 | |
US9727776B2 (en) | Object orientation estimation | |
KR101510312B1 (ko) | 복수의 카메라들을 이용한 3d 얼굴 모델링 장치, 시스템 및 방법 | |
JP6172432B2 (ja) | 被写体識別装置、被写体識別方法および被写体識別プログラム | |
WO2012100225A1 (en) | Systems and methods for generating a three-dimensional shape from stereo color images | |
GB2565354A (en) | Method and corresponding device for generating a point cloud representing a 3D object | |
CN110505398A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
JP2010262576A (ja) | 対象物検出装置及びプログラム | |
JP2009048516A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2008003800A (ja) | 画像処理装置及び画像処理プログラム | |
JP4876742B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2006113832A (ja) | ステレオ画像処理装置およびプログラム | |
CN116721156A (zh) | 工件位置定位方法、装置、计算机设备及存储介质 | |
JP2016156702A (ja) | 撮像装置および撮像方法 | |
JP4687579B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5677234B2 (ja) | エッジ検出装置およびそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090609 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091217 |