JP6616729B2 - 演算装置、演算方法、及びプログラム - Google Patents

演算装置、演算方法、及びプログラム

Info

Publication number
JP6616729B2
JP6616729B2 JP2016077569A JP2016077569A JP6616729B2 JP 6616729 B2 JP6616729 B2 JP 6616729B2 JP 2016077569 A JP2016077569 A JP 2016077569A JP 2016077569 A JP2016077569 A JP 2016077569A JP 6616729 B2 JP6616729 B2 JP 6616729B2
Authority
JP
Japan
Prior art keywords
image
template
query
query image
template image
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.)
Expired - Fee Related
Application number
JP2016077569A
Other languages
English (en)
Other versions
JP2017187990A (ja
Inventor
雄介 関川
幸一郎 鈴木
孝介 原
育郎 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso IT Laboratory Inc
Original Assignee
Denso IT Laboratory Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso IT Laboratory Inc filed Critical Denso IT Laboratory Inc
Priority to JP2016077569A priority Critical patent/JP6616729B2/ja
Publication of JP2017187990A publication Critical patent/JP2017187990A/ja
Application granted granted Critical
Publication of JP6616729B2 publication Critical patent/JP6616729B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Description

本発明は、離散的な値をとる関数の相関を求める技術に関し、特に、対比される画像の相関を求める技術に関する。
3次元球面S2上で定義される関数の相関演算は、3次元データのレジストレーションや、球面レンズで撮影された画像のマッチングなどの分野で必要となる基本技術である。S2上の関数同士は、その表面を3自由度(SO(3))で移動できる(緯度経度とその周りの回転)。このため、その各々のパラメータで相関値を計算するためには、回転パラメータの離散化数をBとした場合、Bのオーダーの計算量が必要となる。
これに対してユークリッド空間での畳み込み定理に相当する処理を、球面調和関数を用いて球面上で行ったFFT on SO(3)(SOFT)が提案されている(非特許文献1)。SOFTは、計算量をBのオーダーに削減した。
B. D. Wandelt and K. M. Gorski, 「Fast convolution on the sphere」Physical Review D, vol. 63, no. 12, p. 123002, 2001.
非特許文献1に記載された手法は、信号空間での相関演算に比べて処理を大幅に高速化できるが、依然として計算量が大きい。例えば、対象ワークの姿勢推定を1秒以内程度で実現することが求められる工場でのビンピッキングなどの用途には適用が困難である。
そこで、本発明は、離散的な値をとる関数の相関を高速に求めることができる演算装置を提供することを目的とする。このような演算装置は、画像どうしの相関を求めるのに好適に用いられる。
本発明の演算装置は、テンプレート画像を記憶したテンプレート記憶部と、探索対象のクエリ画像を取得するクエリ取得部と、画像の各点の法線ベクトルのヒストグラムを3次元球面上に表現した拡張ガウス画像に変換する画像変換部と、前記テンプレート画像及び前記クエリ画像の拡張ガウス画像における法線ベクトルのうち、閾値より大きい度数を有する法線ベクトルの3次元球面上の点を選択し、前記テンプレート画像と前記クエリ画像のそれぞれにおいて選択された点の位置及び度数の相関関係に基づいて、前記クエリ画像に対する前記テンプレート画像の回転に関する情報を求める回転算出部とを備える。
このようにテンプレート画像とクエリ画像との回転に関する情報を3次元球面上の点の相関関係に基づいて求める際に、閾値より大きい度数を有する法線ベクトルを用いることで計算量を低減し、高速に計算を行うことができる。なお、「閾値」は、正の値でもよいし、0でもよい。また、度数が大きい方から所定の個数の点を選べるような閾値を、その都度設定してもよい。
本発明の演算装置において、前記回転算出部は、前記テンプレート画像から選択された点のうちの1つの点と前記クエリ画像から選択された点のうちの1つの点とを対応させるすべての回転行列を求め、対応させた2つの点の度数に応じた重み付けをした値を、前記回転行列に投票する回転行列投票部と、前記テンプレート画像において選択された点と前記クエリ画像において選択された点のすべての組合せについて行った投票の結果に基づいて、前記クエリ画像に対する前記テンプレート画像の回転を表わす行列を決定する回転行列決定部とを備えてもよい。ここで、前記回転行列投票部は、対応させた2つの点の度数を乗じた値を重みとして用いてもよいし、対応させた2つの点の度数の差を分母に含む値を重みとして用いてもよい。
このようにテンプレート画像とクエリ画像の点を対応させる回転行列に対して、その点の度数に応じた重み付けをして投票することで、テンプレート画像とクエリ画像との相関を示す適切な回転行列を求めることができる。
本発明の演算装置は、前記回転算出部にて算出した回転に関する情報に基づいて前記テンプレート画像を回転した画像を生成し、回転により得られた画像と前記クエリ画像とのマッチングにより前記テンプレート画像と前記クエリ画像との並進に関する情報を求める並進算出部を備えてもよい。
このように回転算出部にて求めた回転の情報に基づいてテンプレート画像を回転して得られた画像を用いてクエリ画像とのマッチングを行うことにより、テンプレート画像とクエリ画像との並進に関する情報を適切に求めることができる。
本発明の別の態様の演算装置は、テンプレート画像を記憶したテンプレート記憶部と、探索対象のクエリ画像を取得するクエリ取得部と、画像を表現する複数のベクトルとそのベクトルの起点の位置を求めるベクトル算出部と、前記テンプレート画像のうちの1つのベクトルと前記クエリ画像のうちの1つのベクトルのその向き及び位置を対応させる変換行列を求め、対応させた2つの点のベクトルの大きさに応じた重み付けをした値を前記変換行列に投票する変換行列投票部と、前記テンプレート画像と前記クエリ画像のすべての点の組合せについて行った投票の結果に基づいて、前記クエリ画像に対する前記テンプレート画像の変換を表わす行列を決定する変換行列決定部とを備える。ここで、前記ベクトル算出部は、前記画像の各点の法線ベクトルを求めてもよい。
このように画像を表現する複数のベクトルとそのベクトルの起点の位置の相関関係に基づいて、テンプレート画像とクエリ画像とのマッチングを適切に行うことができる。
本発明の演算装置は、前記画像からオブジェクトの線分抽出を行う線分抽出部を備え、前記ベクトル算出部は、前記線分の中点を起点の位置とし、前記線分の方向をベクトルとして求めてもよい。
このように抽出された線分に基づいてベクトルと起点を定めることにより画像を表現する情報量を減らし、回転に関する情報の計算量を低減することができる。
本発明の演算方法は、演算装置が、テンプレート記憶部からテンプレート画像を読み出すステップと、前記演算装置が、探索対象のクエリ画像を取得するステップと、前記演算装置が、前記テンプレート画像と前記クエリ画像を、各点の法線ベクトルのヒストグラムを3次元球面上に表現した拡張ガウス画像にそれぞれ変換するステップと、前記演算装置が、前記テンプレート画像及び前記クエリ画像の拡張ガウス画像における法線ベクトルのうち、閾値より大きい度数を有する法線ベクトルの3次元球面上の点を選択し、前記テンプレート画像と前記クエリ画像のそれぞれにおいて選択された点の位置及び度数の相関関係に基づいて、前記クエリ画像に対する前記テンプレート画像の回転に関する情報を求めるステップとを備える。
このようにテンプレート画像とクエリ画像との回転に関する情報を3次元球面上の点の相関関係に基づいて求める際に、閾値より大きい度数を有する法線ベクトルを用いることで計算量を低減し、高速に計算を行うことができる。
本発明の別の態様の演算方法は、演算装置が、テンプレート記憶部からテンプレート画像を読み出すステップと、前記演算装置が、探索対象のクエリ画像を取得するステップと、前記演算装置が、前記テンプレート画像および前記クエリ画像のそれぞれについて、画像を表現する複数のベクトルとそのベクトルの起点の位置を求めるステップと、前記演算装置が、前記テンプレート画像および前記クエリ画像のそれぞれの複数のベクトルとその起点の位置の相関関係に基づいて、前記テンプレート画像と前記クエリ画像との回転に関する情報を求めるステップとを備える。
このように画像を表現する複数のベクトルとそのベクトルの起点の位置の相関関係に基づいて、テンプレート画像とクエリ画像とのマッチングを適切に行うことができる。
本発明のプログラムは、上記演算方法の各ステップをコンピュータに実行させるプログラムである。
本発明は、テンプレート画像とクエリ画像との相関を3次元球面上の点に基づいて求める際に、閾値より大きい度数を有する法線ベクトルを用いることで計算量を低減し、高速に計算を行うことができる。
第1の実施の形態の演算装置の構成を示す図である。 拡張ガウス画像について説明するための図である。 テンプレート画像とクエリ画像のEGIの例を示す図である。 EGI上の点を一致させる回転行列の例を示す図である。 回転行列の投票について説明するための図である。 オブジェクトの姿勢を求める動作を示すフローチャートである。 EGIマッチングの動作を示すフローチャートである。 第2の実施の形態の演算装置の構成を示す図である。 第2の実施の形態の演算装置の動作を示す図である。 処理の対象となるクエリ画像とテンプレート画像の例を示す図である。
以下、本発明の実施の形態に係る演算装置について図面を参照しながら説明する。以下で説明する演算装置は、図10(a)に示すようにバラ積みされたブロックのレジストレーション(位置合わせ)を例として説明する。図10(a)は、探索が行われる対象である多数のブロックを示すクエリ画像である。図10(b)は、図10(a)に示すバラ積みの中から見つけるべきブロックを示すテンプレート画像である。
演算装置は、図10(a)に示すクエリ画像から、図10(b)に示すテンプレート画像に該当するオブジェクトがどのような姿勢であるかを検出する。ここで、「姿勢」とは、3方向の回転自由度と3方向の並進自由度とを有し、合わせて6つの自由度を有する。演算装置は、テンプレート画像に対応するオブジェクトの姿勢を求める。つまり、テンプレート画像に係るオブジェクトと相関の高いオブジェクトがどの程度回転した状態で、空間内のどの位置にあるかを求める。このようなレジストレーションは、例えば、工業製品をピッキングするロボットにおいて重要な技術である。
本実施の形態の演算装置が扱う図10(a)及び図10(b)に示すデプス画像である。デプス画像は3次元空間で視点と画像内のオブジェクトの距離を表す信号であり、デプス画像は、距離画像と称されることもある。デプス画像は、公知の方法によって取得することができ、例えば、オブジェクトの色画像からステレオマッチング等の公知の方法により作成してもよい。
(第1の実施の形態)
図1は、第1の実施の形態の演算装置1の構成を示す図である。演算装置1が備える各構成の詳しい説明に先立って、クエリ画像の中からテンプレート画像に対応するオブジェクトの姿勢を検出する処理について説明する。
演算装置1がオブジェクトの姿勢を検出する処理は、テンプレートに係るオブジェクトの回転を求める処理と、オブジェクトの並進を求める処理に分けられる。すなわち、演算装置1は、まず、回転のパラメータを決定し、その後に回転パラメータを用いてテンプレート画像のレンダリングを行い、レンダリングしたテンプレート画像を用いて並進パラメータを求める。オブジェクトの回転を求める処理は、オブジェクトの並進の情報を捨象した拡張ガウス画像での処理を行う。
[拡張ガウス画像(EGI)]
図2(a)及び図2(b)は、拡張ガウス画像について説明する図である。図2(a)は、テンプレートのデプス画像の例を示す図である。ここでは、図2(a)に示すように立方体を斜め下から撮影した画像を例とする。
3次元空間内のオブジェクトの各点での単位法線ベクトルの始点を原点に置くと、その終点は単位球上に分布し、曲面上の各点から単位球面への対応が与えられる。このようにして得られた球面表示を拡張ガウス画像(EGI:Extended Gaussian Image)という。オブジェクトが図2(a)に示すような立方体の場合には、6つの平面に対応して各平面の法線ベクトルの終点が球面上に分布する。図2(b)では、図2(a)において見えている3つの平面の法線ベクトルの終点を示している。EGIは、オブジェクトが回転した場合にはその回転にしたがって法線ベクトルの終点が回転するが、オブジェクトの並進運動には依存しない。つまり、EGIでは、姿勢に関する6つの自由度のうちの並進運動に関する3つの自由度の情報が無視され、回転運動に関する3つの自由度のみを取り出すことができる。
また、EGIは、単位法線ベクトルの終点の分布のヒストグラムである。同じ方向の法線ベクトルが多数存在する場合には、その方向の単位法線ベクトルの終点の度数が大きくなる。例えば、図2(a)に示すように、オブジェクトが立方体の場合には、6つの平面の単位法線ベクトルの度数が高くなり、それ以外の方向の度数は0となる。
[回転行列の算出]
演算装置1は、クエリ画像のEGIと、テンプレート画像のEGIとを比較して、テンプレート画像をどのように回転すると、テンプレート画像とクエリ画像との一致度が高くなるかを求める。
図3(a)は、テンプレート画像のEGIの例を示す図、図3(b)は、クエリ画像のEGIを示す図である。なお、図3(b)は、図2(a)に示す立方体のEGIである。クエリ画像のEGIを関数f、テンプレート画像のEGIを関数gとし、テンプレート画像の回転をR(R∈SO(3))とすると、テンプレート画像とクエリ画像との相関値は、以下の畳み込み演算の式(1)で表わされる。
この相関値の計算を信号空間で行う場合に、すべてのR∈SO(3)に対して、関数gを回転して、関数fと内積をとる必要があるため、計算量が非常に多くなる。各回転パラメータの離散化数をBとすると、Bのオーダーの計算量が必要となる。
ところで、現実空間内のオブジェクトは平面を有する場合が多いので、そのEGI上での信号はスパースになる。例えば、図3(b)に示す例では、立方体の6つの面の法線方向のみに値を有し、それ以外の方向については値を持たない(つまり度数=0)。本実施の形態では、値を有する法線ベクトルのみを取り出し、式(1)をデルタ関数の線形和に分割する。
式(2)において、関数fは、EGI上において1〜N1のN1個の点を有し、関数gは、EGI上において1〜N2までのN2個の点を有する。なお、本実施の形態では、テンプレート画像およびクエリ画像には平面が多く、EGIにおける信号がスパースな場合を例としているので、値を有する法線ベクトルを取り出したが、EGI上で値を有する点が多い場合には、所定の閾値を用いて、値の大きい法線ベクトルを抽出することが好ましい。
上記式(2)は、次の式(3)のようにデルタ関数どうしの線形和で表現することができる。
ここで、この式(3)の個々の要素は、EGI上の一点同士の相関を考えることになる。つまり回転行列Rは、関数f上の点xと関数g上の点yの関係を与える回転行列である。
図3(a)は、関数fを示す点を表わし、そのうちの1つをxとしている。図3(b)は関数gを示す点を表わし、そのうちの1つをyとしている。図4(a)に示すように、点xと点yに着目した場合、回転行列Rは、点yを点xに移動させる回転行列である。
x=Ry ・・・(4)
図4(a)及び図4(b)に示すEGIにおいては、回転移動後のオブジェクトの向きを考慮していない。回転に関しては3自由度を有しているが、オブジェクトの向きを考慮しないで点yを点xに移動させるには2方向の回転で足りるので、1自由度が余分にある。したがって、点yを点xに移動させる回転行列Rは1つには定まらず、無数に存在する。
点yを点xに移動させる回転は、式(5)に示すように、xの周りにおける任意角度λの回転と、x×y(外積)の周りにおける|x×y|の回転に分解できる(もちろん、yの周りの任意角度の回転とy×xの回転に分解しても同じである)。なお、式(5)において、[x]はx周りの回転であることを示し、λ[x]はx周りにλだけ回転したことを示す。
x=Ry=R
ここで、R= exp(λ[x])、R= exp([x×y]) ・・・(5)
式(5)においてλは任意であるので、これを−π〜πまで変化させることで無数の回転行列Rを求めることができる。この回転行列RをSO(3)空間(投票空間)において投票すると、無数の回転行列Rは、図4(b)に示すように閉曲線を描く。
ここまでの説明では、関数f上の1つの点xと関数g上の1つの点yに着目したが、関数f,g上の別の点(ここでは点x´、y´とする)に着目して回転行列を求めると、例えば、図5(a)に示すように別の閉曲線が得られる。2つの閉曲線に交点は回転行列が同じであることを示す。つまり、交点で示す要素を持った回転行列Rは、点yを点xに回転させると同時に、点y´を点x´に回転させる行列である。
関数fと関数gのすべての点の組合せについて、その相関関係を示す回転行列Rを求めてSO(3)空間に投票していくことで、図5(b)に示すように多数の回転行列Rが積み重なっていき、畳み込みG(R)を求めることができる。最も多く投票されたピークの点が関数fと関数gの相関を示す回転行列Rとなる。つまり、最も多く投票された回転行列Rだけテンプレート画像を回転させると、テンプレート画像とクエリ画像との相関が最も高くなると求めることができる。
なお、図5(a)及び図5(b)においては、回転行列Rを示す閉曲線の太さが異なっているが、これは点xの度数と点yの度数の内積の大きさに応じて太さを変えて描いたものである。点xの度数と点yの度数の内積が大きいほど、つまり、点xと点yの度数が大きいほど、そのような度数の大きい点どうしを一致させるような回転行列Rは、テンプレート画像の回転を正確に表すものである。なぜなら、法線ベクトルの度数が大きいということはその方向を法線とする面が広いことを示し、広い面が一致する方が狭い面が一致するよりも、オブジェクトの一致の度合いが大きいからである。したがって、回転行列を投票する際には、内積に応じた値を投票する。なお、回転行列Rの計算をロドリゲス表現のまま行うと計算量が大きいので、四元数を用いて計算を行うことが好ましい。以上に、テンプレート画像の回転を求める処理について説明した。
本実施の形態で用いる計算は、関数fのEGI上における点の個数N1と、関数gの点の個数N2の組合せの数だけ行えばよいので、N1・N2回行えばよい。したがって、計算量を低減でき、畳み込み演算を高速に行うことが可能である。
テンプレート画像の回転行列を求めた後は、求めた回転行列を用いて、テンプレート画像に係るオブジェクトを回転した画像をレンダリングし、レンダリングしたテンプレート画像とクエリ画像とのマッチングを行って、オブジェクトの並進行列を求める。テンプレート画像を回転させることで、テンプレート画像に係るオブジェクトの向きがクエリ画像と揃うので、クエリ画像とのマッチングを適切に行うことができる。
[演算装置の構成]
図1を参照しながら、本実施の形態に係る演算装置1の構成について説明する。演算装置1は、探索が行われる空間を撮影するクエリ画像撮影部10と、テンプレートのデプス画像を記憶したテンプレート記憶部11と、クエリ画像からテンプレート画像に対応するオブジェクトの姿勢を検出する演算処理を行う制御部20と、演算結果を出力する出力部12とを備えている。
テンプレート画像は、例えば、ロボットによるピッキングを行う場合であれば、ロボットが掴むべきオブジェクトのデプス画像である。この場合、クエリ画像撮影部10にて撮影する探索空間は、ロボットが作業を行う空間である。
制御部20は、EGI変換部21と、回転行列算出部22と、並進行列算出部26とを有している。EGI変換部21は、クエリ画像撮影部10にて撮影されたクエリ画像、および、テンプレート記憶部11から読み出したテンプレート画像をEGIに変換する機能を有する。
回転行列算出部22は、クエリ画像に対するテンプレート画像の回転を求める構成として、処理対象点抽出部23と、回転行列投票部24と、回転行列決定部25とを有している。処理対象点抽出部23は、EGI上の点のうち、回転行列Rの決定に用いる点を抽出する機能を有する。処理対象点抽出部23は、法線ベクトルのヒストグラムにおいて所定の閾値以上の度数を有する点を処理対象点として抽出する。処理対象点を絞り込むことで回転行列の計算負荷を軽減すると共に、度数の大きい点を用いることにより、処理対象点を減らしても求める回転行列の精度を保つことができる。
回転行列投票部24は、図3〜図5を用いて説明したとおり、テンプレート画像のEGI上の処理対象点とクエリ画像のEGI上の処理対象点を回転により一致させる回転行列を投票空間にて投票する機能を有する。回転行列決定部25は、回転行列の投票結果に基づいて、最も多く投票された回転行列を、クエリ画像に対するテンプレート画像の回転を表わす行列として決定する機能を有する。
並進行列算出部26は、回転行列算出部22にて算出された回転行列を用いてテンプレート画像を回転させた画像をレンダリングした後に、テンプレート画像とクエリ画像とのマッチングを行い、クエリ画像のどこにテンプレート画像が存在するかを検出し、その並進行列を求める機能を有する。
演算装置1は、ハードウェアとしては、CPU、RAM、ROM、ハードディスク、キーボート、マウス、ディスプレイ等を備えたコンピュータによって構成される。上記した制御部20の各構成を実現するためのモジュールを有するプログラムをROMに記憶しておき、CPUは、ROMからプログラムを読み出して実行することにより、演算装置1を実現する。
[演算装置の動作]
図6は、演算装置1によってテンプレート画像に係るオブジェクトをクエリ画像から検出し、その姿勢を求める動作を示すフローチャートである。演算装置1は、まず、クエリ画像撮影部10にて、探索を行う空間を撮影し、クエリ画像を取得する(S10)。また、演算装置1は、テンプレート記憶部11から、所望のテンプレート画像を読み出す(S11)。
次に、演算装置1は、クエリ画像及びテンプレート画像をEGIに変換し、EGIマッチングにより、テンプレート画像のクエリ画像に対する回転を求める(S12)。この処理については、図7を参照して後述する。
演算装置1は、EGIマッチングで算出した回転行列を用いて、テンプレート画像に係るオブジェクトを回転した画像をレンダリングし、レンダリングしたテンプレート画像とクエリ画像とのマッチングを行って、オブジェクトの並進行列を求める(S13)。演算装置1は、以上の処理により求めた回転行列と並進行列をオブジェクトの姿勢の算出結果として出力する(S14)。
図7は、EGIマッチングの動作を示すフローチャートである。演算装置1は、まず、クエリ画像とテンプレート画像をEGIに変換し(S20)、それぞれのEGIにおいて、所定の閾値以上の度数を有する点を抽出する(S21)。
続いて、演算装置1は、クエリ画像のEGIとテンプレート画像のEGIから抽出された点のすべての組合せについて、各組合せでクエリ画像のEGI上の点とテンプレート画像のEGI上の点を一致させる回転行列をすべて求め、求めた回転行列を投票空間に投票する。
具体的には、まず、クエリ画像のEGIから選択した1つの点(「点x」とする)とテンプレート画像のEGIから1つの点(「点y」とする)を選択し、点yを点xに移動させる回転行列をすべて求める(S22)。次に、求めたすべての回転行列Rを投票空間に投票する(S23)。このとき、回転行列Rを求めた点xと点yの度数の内積を重みとして乗じて投票する。演算装置1は、クエリ画像とテンプレート画像のEGIから抽出した点のすべての組合せについて回転行列を求める処理を行ったか否かを判定する(S24)。
処理対象点のすべての組合せについての処理が完了していなければ(S24でNO)、処理を行っていない別の点の組合せについて回転行列を求め(S22)、投票空間に投票する処理を行う(S23)。処理対象点のすべての組合せについての処理が完了したら(S24でYES)、最も多く投票された回転行列をクエリ画像に対するテンプレート画像の回転行列として選択する(S25)。
ここでは、最も多く投票された回転行列を選択する例について説明しているが、上位から数個の回転行列を候補の回転行列として選択することとしてもよい。複数の候補の回転行列を選択した場合には、図6で示した並進行列の算出の処理(S13)を、各候補の回転行列を用いて行い、クエリ画像とテンプレート画像とのマッチングをうまく行えた回転行列を、クエリ画像とテンプレート画像との回転行列として決定してもよい。
以上、第1の実施の形態の演算装置1について説明した。本実施の形態の演算装置1は、テンプレート画像とクエリ画像をEGIに変換し、EGIにおいて閾値より大きい度数を有する法線ベクトルの終点を対応させる回転行列を求めるので、計算量を低減し、高速に計算を行うことができる。
(変形例)
第1の実施の形態の演算装置1では、EGI上でクエリとテンプレートとの相関を求める際に、回転行列に乗じる重みとして法線ベクトルの度数の内積を例として挙げたが、重みは度数の内積に限定されない。EGI上で同じ方向を有する法線ベクトルの度数を原点からの距離として表わすことも可能である。その場合、φを各点群の原点からの距離を測る関数として以下のように定義する。なお、度数を距離として表わしているので、下の式は、度数の式とみることもできる。
φは、クエリ画像から選んだ点とテンプレート画像から選んだ点の原点からの距離の差が大きくなればなるほど、値が小さくなる関数である。なお、分母に1を加えているのは、クエリとテンプレートの度数が等しいときに、コンピュータによる演算処理がエラーにならないようにするための処置である。
変形例に係る演算装置1では、クエリ画像とテンプレート画像との相関を以下の式(7)によって表わす。ここで、関数Iは、2つの引数が等しい場合に1を返し、異なる場合に0を返すインディケータ関数である。
変形例に係る演算装置1では、この関数G(R)を最大にする回転行列Rを求める。
(第2の実施の形態)
図8は、第2の実施の形態の演算装置2の構成を示す図である。第1の実施の形態の演算装置1は、テンプレート画像とクエリ画像とをEGIに変換して最初に回転行列を算出した後に、回転させたテンプレート画像をレンダリングして並進行列を算出するという2段階の処理を行った。第2の実施の形態の演算装置2では、第1の実施の形態において回転行列を求める際に行った処理を6次元(回転3自由度+並進3自由度)に拡張し、回転行列と並進行列を同時に求める。
第2の実施の形態の演算装置2は、テンプレート画像、及びクエリ画像を構成する各点における法線ベクトルを求める。テンプレート画像から抽出した法線ベクトルをm,その位置をu、クエリ画像から抽出した法線ベクトルをn,その位置をtとすると、テンプレート画像とクエリ画像との相関値は以下の式(8)で表わされる。
関数Iは、2つの引数が等しい場合に1を返し、異なる場合に0を返すインディケータ関数である。演算装置2は、テンプレート画像から抽出した点とクエリ画像から抽出した点について、それらの点の法線ベクトル及び位置を一致させる回転行列Rおよび並進行列Tをすべて求め、投票空間において投票する。この投票空間は、第1の実施の形態とは異なり、回転3自由度、並進3自由度の6つの自由度を有する投票空間である。この投票をテンプレート画像とクエリ画像のすべての点の組合せについて行う。そして、演算装置2は、投票空間において最も多く投票された回転行列および並進行列を、テンプレート画像に係るオブジェクトの姿勢として求める。
図8を参照して、第2の実施の形態の演算装置2の構成について説明する。演算装置2は、探索が行われる空間を撮影するクエリ画像撮影部10と、テンプレート画像を記憶したテンプレート記憶部11と、クエリ画像からテンプレートの画像に対応するオブジェクトの姿勢を検出する演算処理を行う制御部20と、演算結果を出力する出力部12とを備えている。
制御部20は、法線ベクトル抽出部31と、変換行列投票部32と、変換行列決定部33とを有している。法線ベクトル抽出部31は、テンプレート画像とクエリ画像を構成する各点における法線ベクトル及びその位置を求める機能を有している。各点の法線ベクトルは、各点を囲む三角形ポリゴンまたは四角形ポリゴンを形成することで、その面の法線によって規定することができる。
変換行列投票部32は、テンプレート画像から抽出した点とクエリ画像から抽出した点について、それらの点の法線ベクトル及び位置を一致させる回転行列および並進行列をすべて求め、投票空間において投票する。
変換行列決定部33は、投票空間において最も多く投票された回転行列および並進行列を、クエリ画像内にあるテンプレート画像に係るオブジェクトの姿勢として求める機能を有する。
図9は、第2の実施の形態の演算装置2によって、テンプレート画像に係るオブジェクトの姿勢を求める動作を示すフローチャートである。演算装置2は、クエリ画像撮影部10にて、探索空間を撮影してクエリ画像を取得する(S30)。演算装置2は、テンプレート記憶部11からテンプレート画像を読み出す(S31)。
続いて、演算装置2は、クエリ画像およびテンプレート画像のそれぞれについて、画像を構成する各点の法線ベクトルを抽出し、その点の位置のデータと関連付けて取得する(S32)。
演算装置2は、クエリ画像とテンプレート画像のそれぞれから選択した点について、その法線ベクトルおよび位置を一致させる変換を行うための変換行列、すなわち、回転行列と並進行列をすべて求める(S33)。そして、求めた回転行列および並進行列を投票空間において投票する(S34)。演算装置2は、すべての点の組合せについて、変換行列を求める処理を行ったか否かを判定する(S35)。すべての点の組合せについて処理を完了していない場合には(S35でNO)、まだ処理を行っていない別の点の組合せを選択し、その法線ベクトル及び位置を一致させる変換行列を求める処理を行い(S33)、その結果を投票する(S34)。演算装置2は、クエリ画像とテンプレート画像のすべての点の組合せについて処理が完了するまで(S35でYES)、上記の投票を繰り返し行う。
すべての点の組合せについて、変換行列の投票が完了したら(S35でYES)、演算装置2は、最も多く投票された並進行列および回転行列を選択し(S36)、テンプレート画像に係るオブジェクトの姿勢として求める。演算装置2は、求めた姿勢のデータを出力する(S37)。
以上、第2の実施の形態の演算装置2について説明した。第2の実施の形態の演算装置2は、クエリ画像とテンプレート画像を表現する複数のベクトルとそのベクトルの起点の位置との相関関係に基づいて、テンプレート画像とクエリ画像とのマッチングを適切に行うことができる。これにより、テンプレート画像に係るオブジェクトがクエリ画像内で大きく傾いている場合であっても、オブジェクトの姿勢を求めることが可能である。
(変形例)
上記に説明した第2の実施の形態の演算装置2では、画像を構成する各点の法線ベクトルとその位置に基づいて、クエリ画像とテンプレート画像のマッチングを行う例について説明したが、計算量を低減するために、前処理として画像から線分抽出を行ってもよい。画像から線分抽出を行い、線分の方向をベクトルとし、線分の中点を位置とすることにより、第2の実施の形態で説明したのと同じ要領で、オブジェクトの姿勢を求めることができる。線分は方向を持たず、2つの方向を観念することができるが、例えば、xyz座標系の正の方向をベクトルの方向として定義することができる。
なお、線分を用いた場合には、求めた変換行列に投票する段階においては、線分の長さを重みとして乗じて、投票を行ってもよい。長い線分が重なるような変換行列の方が、短い線分が重なるような変換行列よりも適切な変換行列である可能性が高いので、重みを付けることにより、変換行列の精度を高めることができる。
以上、本発明の演算装置について実施の形態を挙げて詳細に説明したが、本発明の演算装置は上記した実施の形態に限定されるものではない。上記した実施の形態では、クエリ画像とテンプレート画像との相関を求める例を挙げたが、本発明の演算装置は、画像以外の関数の相関を求めるために用いることも可能である。
本発明は、クエリ画像中から所望のオブジェクトの姿勢を高速に検出することができ、ロボットの制御等に有用である。
1,2 演算装置
10 クエリ画像撮影部
11 テンプレート記憶部
12 出力部
20 制御部
21 EGI変換部
22 回転行列算出部
23 処理対象点抽出部
24 回転行列投票部
25 回転行列決定部
26 並進行列決定部
31 法線ベクトル抽出部
32 変換行列投票部
33 変換行列決定部

Claims (12)

  1. テンプレート画像を記憶したテンプレート記憶部と、
    探索対象のクエリ画像を取得するクエリ取得部と、
    画像の各点の法線ベクトルのヒストグラムを3次元球面上に表現した拡張ガウス画像に変換する画像変換部と、
    前記テンプレート画像及び前記クエリ画像の拡張ガウス画像における法線ベクトルのうち、閾値より大きい度数を有する法線ベクトルの3次元球面上の点を選択し、前記テンプレート画像と前記クエリ画像のそれぞれにおいて選択された点の位置及び度数の相関関係に基づいて、前記クエリ画像に対する前記テンプレート画像の回転に関する情報を求める回転算出部と、
    を備える演算装置。
  2. 前記回転算出部は、
    前記テンプレート画像から選択された点のうちの1つの点と前記クエリ画像から選択された点のうちの1つの点とを対応させるすべての回転行列を求め、対応させた2つの点の度数に応じた重み付けをした値を、前記回転行列に投票する回転行列投票部と、
    前記テンプレート画像において選択された点と前記クエリ画像において選択された点のすべての組合せについて行った投票の結果に基づいて、前記クエリ画像に対する前記テンプレート画像の回転を表わす行列を決定する回転行列決定部と、
    を備える請求項1に記載の演算装置。
  3. 前記回転行列投票部は、対応させた2つの点の度数を乗じた値を重みとして用いる請求項2に記載の演算装置。
  4. 前記回転行列投票部は、対応させた2つの点の度数の差を分母に含む値を重みとして用いる請求項2に記載の演算装置。
  5. 前記回転算出部にて算出した回転に関する情報に基づいて前記テンプレート画像を回転した画像を生成し、回転により得られた画像と前記クエリ画像とのマッチングにより前記テンプレート画像と前記クエリ画像との並進に関する情報を求める並進算出部を備える請求項1乃至4のいずれかに記載の演算装置。
  6. テンプレート画像を記憶したテンプレート記憶部と、
    探索対象のクエリ画像を取得するクエリ取得部と、
    画像を表現する複数のベクトルとそのベクトルの起点の位置を求めるベクトル算出部と、
    前記テンプレート画像のうちの1つのベクトルと前記クエリ画像のうちの1つのベクトルのその向き及び位置を対応させる変換行列を求め、対応させた2つの点のベクトルの大きさに応じた重み付けをした値を前記変換行列に投票する変換行列投票部と、
    前記テンプレート画像と前記クエリ画像のすべての点の組合せについて行った投票の結果に基づいて、前記クエリ画像に対する前記テンプレート画像の変換を表わす行列を決定する変換行列決定部と、
    を備える演算装置。
  7. 前記ベクトル算出部は、前記画像の各点の法線ベクトルを求める請求項6に記載の演算装置。
  8. 前記画像からオブジェクトの線分抽出を行う線分抽出部を備え、
    前記ベクトル算出部は、前記線分の中点を起点の位置とし、前記線分の方向をベクトルとして求める請求項6に記載の演算装置。
  9. 演算装置が、テンプレート記憶部からテンプレート画像を読み出すステップと、
    前記演算装置が、探索対象のクエリ画像を取得するステップと、
    前記演算装置が、前記テンプレート画像と前記クエリ画像を、各点の法線ベクトルのヒストグラムを3次元球面上に表現した拡張ガウス画像にそれぞれ変換するステップと、
    前記演算装置が、前記テンプレート画像及び前記クエリ画像の拡張ガウス画像における法線ベクトルのうち、閾値より大きい度数を有する法線ベクトルの3次元球面上の点を選択し、前記テンプレート画像と前記クエリ画像のそれぞれにおいて選択された点の位置及び度数の相関関係に基づいて、前記クエリ画像に対する前記テンプレート画像の回転に関する情報を求めるステップと、
    を備える演算方法。
  10. 演算装置が、テンプレート記憶部からテンプレート画像を読み出すステップと、
    前記演算装置が、探索対象のクエリ画像を取得するステップと、
    前記演算装置が、前記テンプレート画像および前記クエリ画像のそれぞれについて、画像を表現する複数のベクトルとそのベクトルの起点の位置を求めるステップと、
    前記演算装置が、前記テンプレート画像のうちの1つのベクトルと前記クエリ画像のうちの1つのベクトルのその向き及び位置を対応させる変換行列を求め、対応させた2つの点のベクトルの大きさに応じた重み付けをした値を前記変換行列に投票するステップと、
    前記演算装置が、前記テンプレート画像と前記クエリ画像のすべての点の組合せについて行った投票の結果に基づいて、前記クエリ画像に対する前記テンプレート画像の変換を表わす行列を決定するステップと、
    を備える演算方法。
  11. テンプレート画像とクエリ画像の相関を計算するために、コンピュータに、
    テンプレート記憶部からテンプレート画像を読み出すステップと、
    探索対象のクエリ画像を取得するステップと、
    前記テンプレート画像と前記クエリ画像を、各点の法線ベクトルのヒストグラムを3次元球面上に表現した拡張ガウス画像にそれぞれ変換するステップと、
    前記テンプレート画像及び前記クエリ画像の拡張ガウス画像における法線ベクトルのうち、閾値より大きい度数を有する法線ベクトルの3次元球面上の点を選択し、前記テンプレート画像と前記クエリ画像のそれぞれにおいて選択された点の位置及び度数の相関関係に基づいて、前記クエリ画像に対する前記テンプレート画像の回転に関する情報を求めるステップと、
    を実行させるプログラム。
  12. テンプレート画像とクエリ画像の相関を計算するために、コンピュータに、
    テンプレート記憶部からテンプレート画像を読み出すステップと、
    探索対象のクエリ画像を取得するステップと、
    前記テンプレート画像および前記クエリ画像のそれぞれについて、画像を表現する複数のベクトルとそのベクトルの起点の位置を求めるステップと、
    前記テンプレート画像のうちの1つのベクトルと前記クエリ画像のうちの1つのベクトルのその向き及び位置を対応させる変換行列を求め、対応させた2つの点のベクトルの大きさに応じた重み付けをした値を前記変換行列に投票するステップと、
    前記テンプレート画像と前記クエリ画像のすべての点の組合せについて行った投票の結果に基づいて、前記クエリ画像に対する前記テンプレート画像の変換を表わす行列を決定するステップと、
    を実行させるプログラム。
JP2016077569A 2016-04-07 2016-04-07 演算装置、演算方法、及びプログラム Expired - Fee Related JP6616729B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016077569A JP6616729B2 (ja) 2016-04-07 2016-04-07 演算装置、演算方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016077569A JP6616729B2 (ja) 2016-04-07 2016-04-07 演算装置、演算方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017187990A JP2017187990A (ja) 2017-10-12
JP6616729B2 true JP6616729B2 (ja) 2019-12-04

Family

ID=60044938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016077569A Expired - Fee Related JP6616729B2 (ja) 2016-04-07 2016-04-07 演算装置、演算方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6616729B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7031680B2 (ja) 2017-09-28 2022-03-08 Agc株式会社 変性ポリテトラフルオロエチレン、成形物、延伸多孔体の製造方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05107049A (ja) * 1991-10-21 1993-04-27 Nippon Telegr & Teleph Corp <Ntt> 三次元形状識別装置
JP2015179426A (ja) * 2014-03-19 2015-10-08 富士通株式会社 情報処理装置、パラメータの決定方法、及びプログラム

Also Published As

Publication number Publication date
JP2017187990A (ja) 2017-10-12

Similar Documents

Publication Publication Date Title
EP3314570B1 (en) Real-time, model-based object detection and pose estimation
JP6216508B2 (ja) 3dシーンにおける3d物体の認識および姿勢決定のための方法
US9633281B2 (en) Point cloud matching method
JP4900204B2 (ja) 物体認識方法
JP5092711B2 (ja) 物体認識装置およびロボット装置
Wu et al. CAD-based pose estimation for random bin-picking of multiple objects using a RGB-D camera
JP4766269B2 (ja) 物体検出方法、物体検出装置、及びそれを備えたロボット
JP2015147256A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2011238204A (ja) 3次元シーンにおける3次元物体の認識及び位置姿勢決定方法
WO2011115143A1 (en) Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus
Hanh et al. 3D matching by combining CAD model and computer vision for autonomous bin picking
JP2008014691A (ja) ステレオ画像計測方法とそれを実施する装置
Hoang et al. Sub-OBB based object recognition and localization algorithm using range images
JP5647072B2 (ja) 被写体認識装置、被写体認識方法及び被写体認識プログラム
WO2008032375A1 (fr) Dispositif et procédé de correction d&#39;image, et programme informatique
JP2014102746A (ja) 被写体認識装置及び被写体認識プログラム
JP6616729B2 (ja) 演算装置、演算方法、及びプログラム
JP2009128192A (ja) 物体認識装置およびロボット装置
Tamas et al. Robustness analysis of 3d feature descriptors for object recognition using a time-of-flight camera
Kim et al. Structured light camera base 3D visual perception and tracking application system with robot grasping task
Martínez et al. Object recognition for manipulation tasks in real domestic settings: A comparative study
JP2013137591A (ja) 最近傍点探索装置およびその方法、プログラム、3次元位置・姿勢認識装置およびその方法
JP6665488B2 (ja) 画像処理方法及び画像処理装置
JP2011022066A (ja) 3次元物体位置姿勢計測方法
JP5814714B2 (ja) 画像類似度判定装置、画像類似度判定方法及び画像類似度判定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191108

R150 Certificate of patent or registration of utility model

Ref document number: 6616729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees