(57)【要約】【課題】立体オブジェクトとの相対位置関係が定められ、かつその相対位置関係が既知である複数の定点を利用してその立体オブジェクトのポーズを算出するオブジェクト認識装置において、撮像画像に基づいた立体オブジェクトの短時間かつ確実なポーズ計算を、複雑な構成を必要とすることなくできるようにする。【解決手段】  ２つ乃至３つの定点が設定された立体オブジェクト２を撮像する撮像装置３と、その撮像装置３の水平２軸周りの各傾きをそれぞれ検出する傾斜計４と、前記撮像装置３によって撮像された画像から前記各定点を抽出し、画像上におけるそれら各定点の位置情報と、傾斜計から出力される前記２軸周りの各角度情報とをパラメータとして、前記立体オブジェクト２のポーズを算出する算出部と、を備えるようにした。【選択図】図２
2008309595.tif 000002
【特許請求の範囲】
【請求項１】
立体オブジェクトとの相対位置関係が定められ、かつその相対位置関係が既知である複数の定点を利用してその立体オブジェクトのポーズを算出するものであって、
少なくとも２つ乃至３つの定点が設定された前記立体オブジェクトを撮像する撮像装置と、
その撮像装置の水平２軸周りの各傾きをそれぞれ検出する傾斜計と、
前記撮像装置によって撮像された画像から前記各定点を抽出し、画像上におけるそれら各定点の位置情報と、傾斜計から出力される前記２軸周りの各角度情報とをパラメータとして、前記立体オブジェクトのポーズを算出する算出部とを備えているオブジェクト認識装置。
【請求項２】
前記算出部が、反復最適化手法を用いてポーズを算出するものであって、
３つの定点を利用するとともに、その３定点のうちの２定点を結んだ直線が略鉛直となり、残りの１定点と前記２定点のうちの１定点とを結んだ直線が略水平となるように前記各定点の位置を設定しておき、
前記算出部が、鉛直軸と撮像装置の画像面とのなす角度から本来計算されるべき定点の３次元空間座標を、その角度に代えて前記傾斜計から出力される一の角度情報の値を用いて仮定計算し、その仮定計算した結果を初期値として、前記反復最適化を行い、定点の３次元空間座標を算出するようにしている請求項１記載のオブジェクト認識装置。
【請求項３】
立体オブジェクトを撮像する撮像装置と、その撮像装置の水平２軸周りの各傾きをそれぞれ検出する傾斜計とを利用するものであって、
２つ乃至３つの定点が設定された立体オブジェクトの撮像画像から前記各定点を抽出し、画像上におけるそれら各定点の位置情報と、前記傾斜計から出力される前記２軸周りの各角度情報とをパラメータとして、前記立体オブジェクトのポーズを算出する算出部、としての機能をコンピュータに発揮させるオブジェクト認識用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元撮像画像に映し出された立体オブジェクトから、そのポーズを特定するオブジェクト認識装置等に関するものである。
【背景技術】
【０００２】
二次元撮像画像からそこに映し出された立体オブジェクトのポーズを特定する手法は、フォトグラメトリ（写真測量法）やロボティクス、マシンビジョンなど広い分野に亘って利用されており、また、多くの研究者によって種々の方法が提案されている。
【０００３】
その一例として、オブジェクト上におけるｎ箇所の既知ポイント（以下定点という）から、オブジェクトのポーズを算出するという透視ｎ点解法が知られている。この透視ｎ点解法は、カメラの座標系とオブジェクトの座標系との相関を示す回転行列及び移動ベクトルを求めることに帰着され、これは通常、４次多項式で表されることから、従来は４箇所以上の定点の画像上における位置に基づいて、反復最適化手法によって逆問題を解き、オブジェクトのポーズを算定するようにしている。なお、ポーズとは、カメラに対するオブジェクトの相対的な姿勢及び／又は位置を示すものであり、カメラを基準とした空間座標系における各定点の３次元座標が求まれば、前記ポーズを算出することができる。
【０００４】
しかしながら、４つ定点から計算すると、かなりの時間を要するため、例えば、動画の各フレームにおけるオブジェクトのポーズをリアルタイムで計算するといったことが難しくなる。
【０００５】
そこで、非特許文献に示すように、３定点のみを利用するという透視３点手法が提案されている。ところが、この手法では、解が複数算出されたり、解けなくなったりする場合がしばしば生じ得る。逆に言えば、ある特定の条件下でなければ、解を得ることができない。
【０００６】
また、いずれの手法においても最適化手法を用いて逆問題を解くのだが、その際の初期値の設定によっては、非常に時間がかかるであるとか、場合によっては間違った解を出したり、解けなかったりすることもある。
【０００７】
【非特許文献１】Fischler,M.A.,Bolles,R.C.: Randomsample consensus: a paradigm for model fitting with applications to image analysisand automated cartography. Commun. ACM 24(6) (1981) 381-395
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、かかる不具合を解決すべくなされたものであって、立体オブジェクト上における２乃至３定点から、より確実に、かつ短時間で、当該立体オブジェクトのポーズを算出できるようにすることを、その主たる所期課題としたものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために本発明は次のような手段を講じたものである。
【００１０】
すなわち、本発明に係るオブジェクト認識装置は、立体オブジェクトとの相対位置関係が定められ、かつその相対位置関係が既知である複数の定点を利用してその立体オブジェクトのポーズを算出するものであって、
【００１１】
２つ乃至３つの定点が設定された前記立体オブジェクトを撮像する撮像装置と、その撮像装置の水平２軸周りの各傾きをそれぞれ検出する傾斜計と、前記撮像装置によって撮像された画像から前記各定点を抽出し、画像上におけるそれら各定点の位置情報と、傾斜計から出力される前記２軸周りの各角度情報とをパラメータとして、前記立体オブジェクトのポーズを算出する算出部とを備えていることを特徴とする。
【００１２】
このようなものによれば、傾斜計からの角度情報を利用しているので、定点が２つ乃至３つでもポーズ計算結果の信頼性を担保でき、また、定点を少なく設定できることから、短時間でのポーズ計算が可能になる。そして、このことから、例えば、動画の各フレームにおけるオブジェクトのポーズをリアルタイムで計算することが容易にできるようになる。このことは、種々の応用を可能にする。例えば、分析機器や情報機器、システム機器など、複雑な操作を必要とするものにおいて、ユーザがその機器（つまり立体オブジェクト）をビデオで撮像すると、リアルタイムで、その機器を認識し、機器の操作場所、操作方法などを、その画像上に矢印などで示すといったことなどができるようになる。さらに、構成的に言えば、傾斜計を撮像装置に取り付けるだけで、あとはソフトウェア処理によって実現できるため、既存装置からの大幅な複雑化を助長するものでもない。
【００１３】
前記算出部が、前記立体オブジェクトのポーズを、反復最適化手法を用いて算出するものにおいて、その計算を短時間でかつより確実にできるようにするには、３つの定点を利用するとともに、その３定点のうちの２定点を結んだ直線が略鉛直となり、残りの１定点と前記２定点のうちの１定点とを結んだ直線が略水平となるように前記各定点の位置を設定しておき、前記算出部が、鉛直軸と撮像装置の画像面とのなす角度から本来計算されるべき定点座標を、その角度に代えて前記傾斜計からの一の角度情報を用いて仮定計算し、その仮定計算した定点座標を初期値として、前記反復最適化を行い、定点座標を算出するようにしたものが好ましい。
【００１４】
なぜなら、３定点を前述のように設定することで、鉛直軸と撮像装置の画像面とのなす角度が、傾斜計から出力される一の角度情報の値と近似することになるため、これを用いて算出した初期値の最終解に対する乖離を防止でき、反復最適化計算の時間短縮と確実性とを向上させることが可能になるからである。
【発明の効果】
【００１５】
以上のように構成した本発明によれば、撮像画像に基づいた立体オブジェクトの短時間かつ確実なポーズ計算を、複雑な構成を必要とすることなくできるようになり、種々の技術への応用可能性を大きく向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態について図面を参照して説明する。
【００１７】
本実施形態に係るオブジェクト認識装置１は、立体オブジェクト２の画像から、その立体オブジェクト２のポーズを認識するものであって、図１に示すように、前記立体オブジェクト２を撮像するための撮像装置３と、その撮像装置３の水平２軸周りの各傾きをそれぞれ検出する傾斜計４と、前記撮像装置３によって撮像された画像データを受信し、その画像データから立体オブジェクト２の姿勢を算出する情報処理装置５とを備えている。なお、このオブジェクト認識装置１は、撮像装置３が静止して立体オブジェクト２が動く場合、撮像装置３が動いて立体オブジェクト２が静止している場合、双方が動く場合の３態様に適用可能なものであるが、以下では、２つめ、すなわち撮像装置３が動いて立体オブジェクト２が静止している場合についてのオブジェクト２の認識を行う例につき、説明する。
【００１８】
撮像装置３は、ここでは例えばビデオカメラであって、立体オブジェクト２の動画を撮像するものである。なお、後述するが、このオブジェクト認識装置１は、動画を構成する１枚１枚の静止画（フレーム）のデータからそれぞれ立体オブジェクト２の姿勢を算出するものであるから、この撮像装置３として写真機のように静止画を撮像するものを用いてもよく、その場合はいずれもが静止した状態で撮像が行われる。
【００１９】
傾斜計４は、インクリノメータあるいはクリノメータなどと称されるものであり、ここでは撮像装置３に取り付けられて、当該撮像装置３の直交する水平二軸周りの撮像装置３の傾きを検出する。この種の傾斜計４としては、測定方法の異なる種々のタイプのものが開発されているが、原理的にはどのタイプを用いてもよい。もちろん、検出精度がよく、測定時間の短いものが好ましく、本実施形態では精度が０．００１°〜０．１°のものを用いている。
【００２０】
情報処理装置５は、ＣＰＵ、メモリ、ディスプレイなどの出力機器、キーボードなどの入力機器等を備えた、例えば汎用のコンピュータであり、前記メモリに記憶されたオブジェクト認識用プログラムに従って、ＣＰＵやその他の周辺機器が協働することにより、前記画像データから立体オブジェクト２の姿勢を算出する算出部としての機能を発揮する。
【００２１】
この算出部の機能の概要を説明すれば、透視ｎ点解法を利用して、画像に映し出された立体オブジェクト２の姿勢を算出するものであり、ここでは、前記立体オブジェクト２に設定された３点の定点を利用する。定点とは、立体オブジェクト２との相対位置関係が変動せず、しかもその相対位置関係が既知、すなわちコンピュータのメモリに予め蓄えられたものであって、立体オブジェクト２の画像データから情報処理装置５（コンピュータ）が認識可能な特徴的なポイントのことである。例えば、立体オブジェクト２の特徴的な形状部分（例えば角部分）を定点と設定してもよいし、何か目印となる表示をオブジェクト２の表面につけて、それを定点としてもよい。ただし、各定点をそれぞれ識別できるようにしておく必要がある（単に定点と判別できるだけでは足りず、それがどの定点であるのか、画像データなどから情報処理装置５が識別できるユニークなものでなければならない）。この実施形態では、情報処理装置５に機能部である図示しない認識部を設け、その認識部が画像データを画像処理することによって各定点を識別するようにしている。
【００２２】
次に、この算出部による、より具体的な姿勢算出過程を、その原理説明を交えながら詳述する。
【００２３】
＜前提＞
図２に示すように、オブジェクト２の座標系を(M０, u, v, w)、撮像装置３の座標系を(O, i, j, k)とすれば、オブジェクト座標系で表したオブジェクト２上の定点
Mi = (Ui, Vi, Wi)Tは、以下の変換式（数１）により、撮像装置３の座標系での座標(Xi, Yi, Zi)Tに変換される。
【００２４】
【数１】
2008309595.tif 000003
ここでRは回転行列、Tは並進ベクトルである。添字ｉは、３つの定点を区別するためのもので、０、１、２の３値をとる。
【００２５】
まず、回転行列Rから説明すると、回転行列Rは、周知のように、式（数２）で定義されるものである。
【数２】
2008309595.tif 000004
α、β、γは、それぞれワールド座標系（オブジェクト座標系）でのｘ、ｙ、ｚ座標軸周りの回転角度を示し、Rx(α)、Ry(β)、Rz(γ)は、前記各座標軸周りの回転したときの変換行列を表す。
【００２６】
具体的には、式（数３）に示す通りである。なお、ここでｘ軸、ｚ軸が直交する水平二軸であり、ｙが鉛直軸を表す。
【数３】
2008309595.tif 000005
【００２７】
ところで、前記傾斜計４が、αとγの角度を出力するから、この回転行列Rを算出するにはβだけを計算すればよい。
【００２８】
一方、並進ベクトルTは、以下の式（数４）で示される。
【数４】
2008309595.tif 000006
ここでR3は、撮像装置３の座標系での３次元空間を表す。
【００２９】
また、画像Ｇ（図４（ａ）等に示す）、すなわちビデオイメージの二次元座標系(C, i, j)において、前記定点が写る座標、すなわち定点の位置情報mi = (xi, yi)は、ピンホールイメージモデルに基づき、以下の式（数５）で算出できる。
【数５】
2008309595.tif 000007
ただし、fは撮像装置３の焦点距離で既知の値である。
【００３０】
＜最適化手法を用いた姿勢算出＞
ここまでの前提に基づいて、前記算出部が、立体オブジェクト２の姿勢を算定するが、そのためには、非線形の２次以上の関数を解く必要がある。この実施形態では、例えばGauss-Newton法やLevenberg-Marquardtアルゴリズムなどの最適化アルゴリズムを用いて解を求める。通常、これらの手法は、４つの定点を必要とするが、ここでは、傾斜計４の検出結果を利用しているので、３つの定点で解を求めることができる。
【００３１】
まず、前記式（数５）から以下の式（数６）を導き出せる。
【数６】
2008309595.tif 000008
したがって、Z0とβがわかれば、立体オブジェクト２の姿勢を算定できる。
【００３２】
ここでψiを、R２→R、すなわち２次元から１次元への変換関数と定義すれば、ψiは、以下の式（数７）で表すことができる。
【数７】
2008309595.tif 000009
【００３３】
しかして、姿勢を算出するためのZ0,βは、以下のコスト関数σの最小化問題を解くことにより得られる。
【数８】
2008309595.tif 000010
【００３４】
なお、この実施形態では、ロバスト性が高いという観点から、解法としてLevenberg-Marquardtアルゴリズムを用いているが、その他の手法を用いても構わない。
【００３５】
＜初期値の設定＞
前記最小化問題を解くには、Z0,βの初期値を与える必要があるが、どのような初期値でもよいというわけではなく、最終解にできるだけ近い初期値を与えた方が、反復最適化による探索計算を早く、しかも正確に行える。
【００３６】
具体的には、動画における１つ前のフレーム（静止画像）で求めた解を、初期値として与えるようにしている。フレーム間の非常に短い時間で立体オブジェクト２の姿勢が大きく変わることは、通常考えにくく、前のフレームでの解が、対象フレームでの解と近似している場合が多いからである。
【００３７】
このように、１つ前のフレームが存在している場合は、初期値設定を容易に行うことができるが、最初のフレームでの初期値をどのように設定するかという問題は残る。
【００３８】
これについて、本実施形態では、以下のような手法を用いて、算出部による初期値設定が行われるようにしている。
【００３９】
ここでは、立体オブジェクト２が静止しているので、前記３定点のうちの２定点を結んだ直線が略鉛直となり、残りの１定点と前記２定点のうちの１定点とを結んだ直線が略水平となるように前記各定点の位置を設定する。言い換えれば、図３に示すように、３つの定点を結ぶ直線が三角形を形成するように構成し、そのうちの１辺が鉛直、他の１辺が水平となるように、３定点を設定する。
【００４０】
このような構成にした場合、タレスの定理（Thale’s therem）と前記式（数５）から、Z0を、下記の式（数９）で表すことができる
【数９】
2008309595.tif 000011
ここで、Hは、図４（ａ）に示すように、（M0M1）//（Hm0）かつH∈（OM1）と定義されるポイントである。この式（数９）からわかるように、Z0を算出するには、並進ベクトルTを算出すればよく、そのためには‖Hm0‖を算出すればよい。
【００４１】
しかして‖Hm0‖は、下記の式（数１０）で表すことができる。
【数１０】
2008309595.tif 000012
ここで、δとｓは、αの値とy1、yc、y0の相対位置とに依存して定まるものであり、表１にその関係を示す。
【００４２】
例えば、θ＜０（すなわち、α＜０）で、かつy1≦yc≦y0（図５参照）であるとすれば、s=1、δ=|θ|-φである。
【表１】
2008309595.tif 000013
【００４３】
図４（ｂ）からも直感的にわかるように、α（これは傾斜計４からの出力で得られる）とθとの差は微小であると考えられるから、この実施形態では、Z0を算出するために、最初にθをαと仮定し、その結果得られるZ0を初期値として計算を始めるようにしている。
【００４４】
次にβであるが、この値を求めるためには、まず回転行列Rを算出する必要がある。前記式（数１）、（数３）、(数４)から、以下の式（数１１）を導くことができる。なお、ここでの添字i = 1 or 2である。
【数１１】
2008309595.tif 000014
【００４５】
また、各係数は以下のように定義される。
【数１２】
2008309595.tif 000015
【００４６】
この式から明らかなように、２つの線形方程式と２つの未知数cosβ、sinβがあるので、この実施形態では、定点M1又はM2を用いることにより、βを求めるようにしている。
【実施例】
【００４７】
次に、より具体的なシミュレーション結果につき説明する。
この実施例では、等辺がそれぞれ１０ｃｍの直角三角形をなすように３つの定点を設定し、立体オブジェクト２が静止していてカメラがランダムに移動した場合と等価なモデル、すなわち、画像上で立体オブジェクト２がランダムに回転するモデルを仮想的に設定した。撮像装置３としては、ピンホールカメラ（焦点距離が５５０ピクセルでレンズの主点座標が（３０５、２２５））を仮想した。傾斜計４からの出力信号としては、理想信号に対し、平均値が０で標準偏差が０．０１のガウシアンノイズを加算したものを用いた。また撮像ノイズとして、平均値が０で標準偏差が０、１及び２ピクセルのガウシアンノイズをそれぞれ重畳した。
【００４８】
詳細なシミュレーション条件とその結果を以下に示す。
条件１：撮像装置３に対する立体オブジェクト２の相対位置を変化させた。具体的には、並進ベクトルT=(Tx,Ty,Tz)Tにおいて、Tx=9cm, Ty=-1cmに固定するとともに、Tz/10を15から50まで１ずつ変化させた。
条件２：撮像装置３に対する立体オブジェクト２の相対位置及び姿勢を変化させた。具体的には、並進ベクトルT=(Tx,Ty,Tz)Tにおいて、Tz=30cmに固定し、Tx/10を2から20まで１ずつ変化させるとともに、その変化の都度、並進ベクトルTと単位ベクトルｉとのなす角度が0から2πまで、π/4ずつ変化するように、Tyを定めた。
【００４９】
条件１に対応するシミュレーション結果の一例を図６、条件２に対応するシミュレーション結果の一例を図７に示す。ここでは、算出部の計算結果である立体オブジェクト２の姿勢の理想値からの誤差（５００回試行したときの平均誤差、mean error (degree)）と、立体オブジェクト２の位置の理想値からの誤差（５００回試行したときの平均誤差、mean translation error）とをそれぞれ縦軸にとってグラフに示している。
【００５０】
これから、ノイジーな環境下であっても、撮像装置３が立体オブジェクト２に近ければ姿勢角度（β）の誤差は、実に４°以下に留まっているし、それに応じて他の角度（α、γ）の誤差も小さいと推定できる。位置誤差に関しても、非常に小さく、実用上問題ないと考えられる。
【００５１】
次に、従前の他の手法でポーズを算出した場合と、この実施形態に係るオブジェクト認識装置１を用いた場合の、シミュレーションでの比較結果を示す。他の手法としては、傾斜計４からの出力を利用しない、POSITと呼ばれる手法と旧来のLevenberg-Marquardtアルゴリズムを基本とする手法（Opt.Algo.と表示する）とを選んだ。その結果を表２に示す。各シミュレーション結果は１０００回の平均であり、撮像ノイズとして、平均値が０で標準偏差が１ピクセルのガウシアンノイズを重畳した。
【表２】
2008309595.tif 000016
【００５２】
定点が２つ又は３つの場合、従来手法では、解を全く得られなかったのに対し、本オブジェクト認識装置１によれば、表２中では示していないが、２定点で６０％の確率、３定点で９３％の確率、４定点以上では、９９％以上の確率で解を得られる。なお、表２で、ｒｅは、平均姿勢角度誤差、ｔｅは平均位置誤差を示している。また、計算に必要な最適化の反復回数（一定範囲に解が安定するまでの回数）を、例えば４定点以上の場合におけるOpt.Algo.との比較で言えば、本オブジェクト認識装置１によれば、６０回以下で済むところ、Opt.Algoでは１２０回以上が必要になる。
【００５３】
したがって、このオブジェクト認識装置１又はオブジェクト認識用プログラムによれば、傾斜計４からの角度情報を利用しているので、定点が２つ乃至３つでも、ポーズの算出結果の信頼性を担保でき、また、定点を少なく設定できることから、その計算時間の短縮化を図ることができる。
【００５４】
特に前記実施形態では、その３定点のうちの２定点を結んだ直線が略鉛直となるように設定するとともに、その設定を利用して適切な初期値を前記傾斜計４からの一の角度情報を用いて計算するようにしているので、その効果がさらに顕著なものとなる。
【００５５】
なお、本発明は前記実施形態あるいは実施例に限定されるものではない。例えば、前記実施形態では、３つの定点を利用したが、精度が若干落ちることを許容すれば、２つの定点でも構わないし、計算時間を犠牲にして精度を向上させるなら、４つ以上の定点を利用してもよい。４つ以上の定点を利用する場合は、実施例で述べたように、傾斜計４を用いない従来のものよりも、精度の向上や計算時間の短縮を図ることができる。
【００５６】
また、単純に３つの定点だけを設定したのでは、撮像方向によっては、その３つの定点のうちのいずれかが隠れてしまい、計算できなくなる恐れが生じる。したがって、どの方向から撮像しても、その画像内に定点が３つ以上存在するように、多くの（つまり４つ以上の）定点を設定しておき、実際の計算では、画像に現れた定点の中から３つを情報処理装置５が選択して、立体オブジェクト２の姿勢を算出するようにすればなおよい。なお、選択された定点がどの定点にあたるのか、各定点の違いを識別する認識部は、もちろん必要である。
【００５７】
さらに本発明のオブジェクト認識装置１、あるいはオブジェクト認識用プログラムを組み込んで、分析機器や情報機器、システム機器など、複雑な操作を必要とするものにおいて、ユーザがその機器（つまり立体オブジェクト２）をビデオで撮像すると、リアルタイムで、その機器を認識し、機器の操作場所、操作方法などを、その画像上に矢印などで示すといった、リアルタイム動画マニュアルシステムを構築することもできるようになる。
【００５８】
その他、本発明は、その趣旨を逸脱しない範囲で、種々変形が可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態におけるオブジェクト認識装置の全体模式図。
【図２】同実施形態における座標系を説明するための座標系説明図。
【図３】同実施形態における定点の設定方法を示した定点説明図。
【図４】同実施形態における初期値設定に関する理解を助けるための補助図。
【図５】同実施形態における初期値設定に関する理解を助けるための補助図。
【図６】シミュレーション結果の一例を示すものであって、縦軸に姿勢（角度）誤差及び位置誤差をとった結果グラフ。
【図７】シミュレーション結果の一例を示すものであって、縦軸に姿勢（角度）誤差及び位置誤差をとった結果グラフ。
【符号の説明】
【００６０】
１・・・オブジェクト認識装置
２・・・立体オブジェクト
３・・・撮像装置
４・・・傾斜計
５・・・情報処理装置
【図１】
2008309595.tif 000017
【図２】
2008309595.tif 000018
【図３】
2008309595.tif 000019
【図４】
2008309595.tif 000020
【図５】
2008309595.tif 000021
【図６】
2008309595.tif 000022
【図７】
2008309595.tif 000023