(57)【要約】【課題】本発明は、並進運動方向を用いて異なる運動をしている領域を分割する動画像処理装置を提供する。【解決手段】複数の画像に対応する画像情報を入力する画像入力部（２１）と、複数の画像の各々から特徴点を抽出するため前記画像情報に特徴点抽出処理を行う特徴点抽出部（２２）と、近傍の特徴点の運動から並進運動方向を計算する並進フロー計算部（２３）と、上記並進フロー計算部で計算した並進運動方向を用いて異なる運動をしている領域を分割する独立運動分割部（２４）とを具備する。【選択図】  図１４
2005063463.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像に対応する画像情報を入力する画像入力手段と、前記複数の画像間での画像を撮像した観察側の運動情報を推定する運動情報推定手段と、推定した運動情報によってポインティングイベントを発生するポインティング情報生成部と、予め記憶した物体の３Ｄモデルをポインティング情報に従って並進回転運動させて表示するポインタ表示手段とを具備する動画像処理装置。
【請求項２】
複数の画像に対応する画像情報を入力するステップと、前記複数の画像間での画像を撮像した観察側の運動情報を推定するステップと、推定した運動情報によってポインティングイベントを発生するステップと、予め記憶した物体の３Ｄモデルをポインティング情報に従って並進回転運動させて表示するステップとを含む動画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の画像情報を入力し、特徴点の位置の変化から対象物体の動きおよび構造を検出する動画像処理装置に関する。
【背景技術】
【０００２】
複数の画像に撮影された物体の構造を検出する方式としては、既に幾つかの方式が提案されている。
【０００３】
例えば、S.Ullmanは、The interpretaion of visual motion.MIT Press Cambridge,USA,1919には、３枚以上の平行投影した画像であり、剛体である物体の同一平面上にない４点の対応が決まっている場合に、４点の構造および動きを完全に求める方法が紹介されている。
【０００４】
また、H.C.Longuest-HigginsはA computer algorithm for reconstructing a scene from two projections Nature,293:133-135,1981には、透視変換した２枚の画像上で８つの対応点がある場合に、構造および動きを検出する線形計算方式が開示されている。
【０００５】
他に、O.D.FaugerasとS.J.MaybankはMotion from point matches:multiplicity of solutions,IEEE Workshop on Motion 248-255 1989には、中心投影した２画像に５つの対応点があれば、それらの対応を満たす構造および動きは有限になることが記載されている。
【０００６】
また、特開平３−６７８０号には、２枚の画像上の対応点から、まず３次元の回転運動を求め、次に、その回転運動情報から対応点の一つを基準とする３次元の位置関係を求める方式が開示されている。
【０００７】
これらの方式は、すべて、物体の３次元座標とこの物体が中心投影で投影された画像上の座標との間に方程式を立て、その方程式を解いて答を求める方式である。
【０００８】
また、Jan J KoenderinkとAndrea J.van DoolrnのAffine structure from motion, Journal of Optiical Society of America pp. 377-385 vol.8, No.2 1991に開示されているように、物体の運動をアフィン(affine)変換（１次変換）で表わし、そこから物体の構造を検出する方式も計算されている。この方式では、動画像の２枚のフレームから物体のおよその構造を計算することができる。この方式により計算した物体の構造は、奥行き方向の情報がカメラから物体までの距離に比例する未知の係数を掛け合わせることによって得られる構造となる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した中心投影の方程式を解く方法は、撮影対象となる物体が撮影装置に非常に近く、大きく写っている場合には、効率良く物体の運動および構造を計算することができるが、実際の処理画像で起きるように、画像中で撮影対象となる物体が写っている面積が小さい場合や、撮影装置から対象物体までの距離が遠い場合には、中心投影による画像の変形が小さくなり、その変形をもとに物体の運動を計算するため、計算結果が不安定になってしまうという欠点があった。例えば、視線方向に垂直な向きへの平行移動と、その移動方向に垂直な軸の周りの回転とを区別することが難しくなったり、それ以外にも、中心投影による効果が小さいと、深さ方向の曖昧性が発生し、近くにある彫りの浅い物体か、遠くにある彫りの深い物体かの判別が難しくなったり、観察者の近くで小さな物体が運動しているのか、遠くで大きな物体が運動しているのか判別が難しくなるようなことが起きた。
【００１０】
また、Koendoerinkの方法は、検出した物体の構造に未知の係数を含んでいるので、ここから物体の運動を計算することは難しかった。
【００１１】
本発明は、このような問題点を解決するためになされたものであり、観察者の動きによる画像の変形をアフィン変換（１次変換）で近似して表現し、かつ、ある特徴点の実際の運動によって移動した位置と周囲の特徴の運動によるアフィン変形によって移動した位置との差である仮想視差を計算し、仮想視差情報から物体の運動を直接計算することにより、中心投影の曖昧性に影響されることなく、精度良く物体の運動パラメータを算出する動画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、複数の画像に対応する画像情報を入力する画像入力手段と、複数の画像の各々から特徴点を抽出するため前記画像情報に特徴点抽出処理を行う特徴点抽出手段と、近傍の特徴点の運動から並進運動方向を計算する並進フロー計算部と、上記並進フロー計算部で計算した並進運動方向を用いて異なる運動をしている領域を分割する独立運動分割部とを具備する動画像処理装置を提供する。
【００１３】
また本発明は、複数の画像に対応する画像情報を入力する画像入力手段と、前記複数の画像間での画像を撮像した観察側の運動情報を推定する運動情報推定手段と推定した運動情報によってポインティングイベントを発生するポインティング情報生成部と、予め記憶した物体の３Ｄモデルをポインティング情報にしたがって並進回転運動させて表示するポインタ表示手段とを具備する動画像処理装置を提供する。
【００１４】
更に本発明は、複数の画像に対応する画像情報を入力する画像入力手段と、形状が不明の物体を撮影して得られる複数の画像情報から、物体の３次元形状と物体表面のテクスチャパタンを抽出する構造抽出部と、入力画像を変形して新たな視点から物体を見た時の画像を合成する画像合成部とを具備する画像処理装置を提供する。
【発明の効果】
【００１５】
本発明によれば、動いている背景画像の中から、異なる動きをしている物体を示す領域を取り出すことができ、異なる動きをしている領域を取り除き、背景画像を示す残りの領域から並進運動の画像平面への投影θA以外の運動パラメータも計算しカメラの運動を求めることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明による実施例を図に基づいて説明する。
【００１７】
図１に示される数値表現された物体モデルの運動姿勢の指示に用いた簡単な一実施例によると、画像入力部１は特徴点抽出部２を介してポイティング情報生成部４に接続される。このポイティング情報生成部４には、アフィンフロー解析部３およびジェスチャパタンマッチング部６が接続される。ジェスチャパタンマッチング部６はジェスチャパタン記憶部７に接続され、更にポインタ表示部８とともにステータス切換部５に接続される。ポインタ表示部８は３Ｄ（３次元）モデル記憶部９、画像合成部１０およびポインタモデル記憶部１２に接続される。画像合成部１０は画像入力部１に接続されるとともに画像表示部１１に接続される。
【００１８】
画像入力部１は、運動している物体をテレビカメラなどで撮影することによって得られる時系列画像情報を入力し、これを特徴点抽出部２に転送する。この画像は運動している物体を撮影しやすいように画像表示部１１の前に座った人間を天井から撮影した画像、画像表示部１１のディスプレイの枠状のカメラで撮影した画像および中心投影の効果が大きく出ないように長い焦点距離で撮像範囲を狭くした複数のカメラを並べ、それらのカメラから入力した画像を繋ぎ合わせた画像などである。また、ここで、画像として入力する物体は、人間の手等の体の一部、もしくは、図２のように後の特徴点抽出部２にて処理しやすいように他の部分と容易に区別できるように、例えば一部に色を塗ったり、色のついた物をつけたりして特徴をつけた手袋などをした手などの体の一部、あるいは、人間が手に持って動かすことができ、画像処理で他の部分と区別できる特徴を持った器具などである。図３はそのような器具の一例で、同じ大きさの球を４つ、他の球と区別できるようにそれぞれ異なる色に塗り、３次元空間内で同一平面上にない位置関係で接続したものである。図４は別の器具の一例であり、箱の表面にＬＥＤ等の発光素子を埋め込んだ器具であり、内蔵する電池による電力で発光する。この器具を掴んだときに指で押させる位置にスイッチがあり、スイッチを押している間は発光を止めてその間には運動を指示することなく器具を動かすことができる。図２の手袋上の特徴、図４の発光素子などは、３次元的なあらゆる視線方向から見て、近傍にない特徴が４点以上見えるように、配置されている。
【００１９】
特徴点抽出部２は、画像入力部１から時系列画像情報を入力し、画像処理によって、他の領域と容易に弁別できて物体上の同一の点が投影されたと特定できる、複数の特徴点を抽出し、追跡し、その座標値をポインティング情報生成部４に出力する。撮影した物体が手などであれば、画像中の近傍の画素との明度差が大きいような点を特徴点として抽出する。図２や図３のように色を塗った部分を特徴とする場合は、どのような色を特徴とするか、色情報を記憶するためのメモリを用意しておき、そこに記憶された色情報と同じ色を持った領域を画像情報から抽出し、その重心座標をポインティング情報生成部４に出力する。また、この場合のように、色を持った領域の大きさが判る場合には、領域の大きさも補助情報として、ポインティング情報生成部４に出力する。このメモリに記憶させる色情報はあらかじめメモリに書き込んでおくか、この実施例による装置を起動した後、色情報を学習するための学習手段を起動し、入力した画像情報を画像表示部に表示し、ユーザに画像中のどの部分の色を特徴とするかをカーソルによって領域を選択させるか、あるいは入力した動画像情報とウインドウを重ねて画像表示部１１に表示し、ユーザに特徴となる色がウインドウ内に入るように手や器具を操作させ、キー入力などのタイミングでウインドウによって指定した領域の画像を取り込むなどして、特徴となる色を含んだ部分画像を得てそこから色を学習し、メモリに記憶する。色の学習は、例えば、Ｉ（明度）Ｈ（色相）Ｓ（彩度）の３成分で表現された画像であれば、次のような２次方程式による表現を用意し、指定した部分画像の画素値に最小２乗推定を行なってパラメータを推定するなどすれば、色の学習を行なうことができる。
【００２０】
Ｈ＝ｈ0＋ｈ1Ｉ＋ｈ2Ｉ2
Ｓ＝ｓ0＋ｓ1Ｉ＋ｓ2Ｉ2
図４の器具のように発光素子を使う場合は、適当な閾値を設けて画像を２値化し、閾値より明るい領域のそれぞれの重心を取って特徴の座標値を計算し、ポインティング情報生成部４に出力する。
【００２１】
ポインティング情報生成部４は特徴点抽出部２から特徴点座標の時系列データを入力し、そこからある２つの時点での複数の特徴点の座標を選んで、アフィンフロー解析部３で運動パラメータを解析し、その結果を用いてポインタを動かすために必要な情報を生成する。
【００２２】
このアフィンフロー解析部３で行なっている処理について以下に詳しく説明する。
【００２３】
アフィンフロー解析部３では、２枚の画像中での４つの特徴点の座標を入力し、４つの特徴点により構成される物体の画像を撮影したカメラ（観察者）の２枚の画像間での運動を計算する。この場合、図５のような中心投影で撮影している撮影系のモデルを考える。ここで、３次元空間上の座標（Ｘ，Ｙ，Ｚ）にある点が焦点距離ｆにある画像平面上の点（ｘ，ｙ）に投影されている。この状態で、観察者側が速度｛Ｕ1，Ｕ2，Ｕ3｝で並進運動し、｛Ω1，Ω2，Ω3｝で回転運動をしているとする。特徴点抽出部２から入力した特徴点（ｘ，ｙ）が視線方向に十分近いものとして、特徴点（ｘ，ｙ）の画像平面上での移動速度Ｖ（ｘ，ｙ）の成分を（ｕ，ｖ）で表す。
【００２４】
この速度成分を観察者側の運動パラメータで表現してみる。３次元座標（Ｘ，Ｙ，Ｚ）と速度パラメータとの関係は、
【数１】
2005063463.tif 000003
【００２５】
であるので、移動後の座標Ｘ１、Ｙ１、Ｚ１として
【数２】
2005063463.tif 000004
【００２６】
が得られる。これを、３次元座標と画像平面上の点の投影関係、
【数３】
2005063463.tif 000005
【００２７】
の微分、
【数４】
2005063463.tif 000006
【００２８】
に代入すれば、
【数５】
2005063463.tif 000007
【００２９】
を得る。
【００３０】
ｖについても同様に計算を行なって、
【数６】
2005063463.tif 000008
【００３１】
と、表すことができる。この画像の移動速度は、並進運動に依存するシーンの情報（Ｚ）を含んだ成分と回転運動に依存する成分とに分けることができる。回転運動に依存する成分は、画素の位置によって変化するだけで対象物の場所や形には依存しないので、従来例でも述べたように、数式的に解く方法はあっても、中心投影による効果が出ないと、画像の上に現れる変化が小さくなるので、実際に回転運動のパラメータを求めることは難しい。そのため、回転運動による変化が並進運動に誤差となって加わり、並進運動の計算精度も悪くなる。その結果として、物体の形や運動を精度良く計算することは難しかった。
【００３２】
しかし、２つの特徴点が画像上の同じ場所に投影されていたと仮定し、その２つの特徴点の移動速度の差（Δu，Δv）、（以後、これを運動視差と呼ぶ）を考えると、運動視差の大きさは、
【数７】
2005063463.tif 000009
【００３３】
である。但し、Ｚ１，Ｚ２は運動視差の計算に用いる２つの特徴点のＺ座標である。この運動視差は、物体までの距離と観察者の並進運動だけに依存し、観察者の回転運動には、依存しない。また、この式１２から、
【数８】
2005063463.tif 000010
【００３４】
のように、ｘ，ｙ，Ｕ3が十分に小さければ、運動視差から並進運動の方向が求められることが判る。Ｕ3が小さくない場合は、座標値（ｘ，ｙ）の異なる複数の点の運動視差をこの式に代入して解けば，Ｕ1とＵ2の比から並進運動の方向を求めることができる。
【００３５】
一方、観察者の運動が十分滑らかで、また、撮影している物体の表面も十分滑らかであれば、式（１１）の画像の速度場は、ある小さな領域の中で、線形方程式で近似することができる。つまり、画像上のある座標（ｘ，ｙ）の近傍での画像速度場は、アフィン変換（一次変換）を使って、
【数９】
2005063463.tif 000011
【００３６】
で表すことができる。このうち、０（ｘ2，ｘｙ，ｙ2）は２次の非線形成分を表すが、この部分は十分小さいものと考えて以後の計算では無視する。
【００３７】
最初の項の［ｕ0，ｙ0］は、画像の平行移動を表し、２番目の項の２×２テンソルは、画像の形の変形を表す。第２項の添字は、添字で示したパラメータで偏微分したことを示す。この第２項の２×２テンソルは、図６にあるような、いくつかの幾何学的に意味のある成分に分割される。向きの変化を示す画像平面上での回転（Curl）curlＶ、スケールの変化（Divergence）を示す等方的変化divＶ、画像の変形（Deformation）（面積を一定に保ったまま、ある軸の方向に引き延ばし、それと垂直な軸の方向に縮める変化）の大きさを示すdefＶ、および画像変形の拡張する方向を示す変形の主軸μなどである。これらの特徴量は、ある座標（ｘ，ｙ）での画像の速度をＶ（ｘ，ｙ）としたときに、
【数１０】
2005063463.tif 000012
【００３８】
で表される。これらの特徴量のうち、divＶ，curlＶ，defＶの値は、画像中で座標系をどのように取っても、取り方による変化のない不変特徴量である。変形の主軸μは、座標系の軸の向きだけに依存する特徴量である。
【００３９】
図７のように、ある画像平面上にある特徴点Ｐと、その近傍にある３つの特徴点を考える。既に示したように、十分小さい領域の中では画像平面上の速度は、３つの特徴点から求められるアフィン変換（一次変換）で近似できる。点Ｐと同じ座標にあって、他の３点の移動速度のアフィン変換で決まる移動速度を持つ仮想的な点Ｐ′を考える。実際の点Ｐと仮想的な点Ｐ′の運動視差は、点Ｐと同じ座標に投影されるが、観察者までの距離の違う点との運動の違いである。この点ＰとＰ′との運動視差を以後、仮想視差と呼ぶことにする。運動視差は、式（１２）に示したように、観察者の回転運動には影響されず、並進運動と距離だけに依存するので、ここから、安定した運動パラメータと、３次元構造情報を計算することができる。
【００４０】
この仮想視差からどのような情報が得られるか、画像の移動速度（式１１）を、アフイン変換式（１４）にあてはめて求める。撮影している物体は観察者から十分遠いと仮定しているので、観察者から物体までの距離に比べて物体表面の３次元座標間の距離の変化は非常は小さい。そこで、ｆが１のときの画像中心から物体までの距離をλとし、物体表面までの距離の変化を
【数１１】
2005063463.tif 000013
【００４１】
で表すことにより、Ｚを深さを表す変数λで正規化しておく。これによって、観察者の並進運動の成分と、アフイン変換の各パラメータは、
【数１２】
2005063463.tif 000014
【００４２】
のように表される。
【００４３】
この結果を式（１５）から（１８）までの不変特徴量を表す式に代入すれれば、
【数１３】
2005063463.tif 000015
【００４４】
となる。式を見てわかるように、これらのパラメータは、観察者の動き、深さ、表面の向きに依存している。これを、２つのベクトルＡとＦを使って、座標系に依存しないように書き換えることができる。Ａは、下の式のような、深さλで正規化された、画像平面に平行な並進速度ベクトルである。Ｕは並進運動ベクトル、Ｑは視線方向の単位ベクトルである。
【数１４】
2005063463.tif 000016
【００４５】
Ｆは、やはり深さλで正規化した、物体表面の最大勾配の方向を示す２次元ベクトルである。
【数１５】
2005063463.tif 000017
【００４６】
このＦは、図８にあるように、大きさが、物体表面の傾斜σのtangent（視線方向と物体表面の法線のなす角のtangent）を表す。またＦの方向は、tangent平面とｘ軸とのなす角τを表す。
【数１６】
2005063463.tif 000018
【００４７】
以上のような性質を持つ、ベクトルＡとＦを使って、上記の不変特徴量の表現を書き換えると、
【数１７】
2005063463.tif 000019
【００４８】
と表される。画像変形の主軸を示す角μは、ＡとＦの中点を通る角度で表される。
【数１８】
2005063463.tif 000020
【００４９】
この式（３４）から式（３７）を使って得られる情報は、中心投影をweak-perspective投影で近似したため、曖昧性を含んだものになっている。例えば、物体の運動速度は、近くを運動している小さな物体と遠くを運動している大きな物体との判別ができなく、大きさと速度の曖昧性があるので、速度の代わりに、現在の運動速度で運動した時に物体に衝突するまでの距離ｔc 
【数１９】
2005063463.tif 000021
【００５０】
で表すことになる。式（３６）は近くにある彫りの浅い物体か、遠くにある彫りの深い物体かの判別ができなく、深さの曖昧性を含んでおり、この式の値からは、画像の変形が、大きく動いた（｜Ａ｜が大きい）表面の傾きの小さい（｜Ｆ｜が小さい）物体か、小さく動いた表面の傾きの大きい物体かの区別はできなくなっている。このように曖昧性が存在する部分を明らかにしておくことにより、残りの必要な情報をノイズの影響を受けずに精度良く求めることができる。
【００５１】
次に、アフィンフロー解析部３で行なっている処理を図９のフローチャートに従って説明する。
【００５２】
まず、入力した４つの特徴点から３点を抽出して組み合わせたときに、３点を結んで構成される領域の面積が最大となる３つの特徴点を選び、選んだ３点を参照点、残りの１点を基準点とする（ステップＳＴ１０１）。
【００５３】
３つの参照点の運動速度を代入して式（１４）を解き、一次近似したアフィン変換パラメータｕ0，ｖ0，ｕx，ｕy，ｖx，ｖyを求める。物体の運動が小さくて滑らかな場合には、参照点の３フレーム以上の画像での位置情報を使って最小２乗法を使ってアフイン変換パラメータを求める（ステップＳＴ１０２）。
【００５４】
次に、基準点とアフイン変換で補間した仮想点の運動速度の仮想視差を求める。物体がカメラから十分遠く、視線方向の並進運動Ｕ3が大きくないと仮定できるときには、この仮想視差の方向が、Ａの方向θAを表わす。そうでないときには、複数の点の仮想視差を式（１３）を代入してθA＝Δｕ／Δｖを求める（ステップＳＴ１０３）。
【００５５】
３つの参照点から式（１５），（１６），（１７）および（１８）を使って、curl,div,defの各不変特徴量を求める。これらの不変特徴量は、物体の並進運動や回転運動によって起きる変化に物体表面の向きと画像平面上での動きによって起きる変化が加わったものである（ステップＳＴ１０４）。
【００５６】
変形の主軸μと並進運動の画像平面への投影θAから、式（３７）を使って、参照点の３点で定められる平面の傾きτを求める（ステップＳＴ１０５）。
【００５７】
式（３５）から、表面方向と画像平面上での動きの関係による形の伸縮を差し引く。
【００５８】
これまでに判った値を用いて、式（３５）からＦ・Ａ＝｜ｄｅｆｖ｜ｃｏｓ（τ−θA）を引く。残った成分は、視線方向に沿った物体の動きによる画像のスケールの変化を示し、ここから、衝突までの時間ｔc が求められる（ステップＳＴ１０６）。
【００５９】
式（３４）から表面の方向と画像平面上での動きの影響を差し引く。これまでに判った値を用いて、式（３４）からＦ×Ａ＝｜ｄｅｆｖ｜ｓｉｎ（τ−θA）を引くと、残った成分は、物体と撮影者間の視線方向の周りの回転によるものだけになる（ステップＳＴ１０７）。
【００６０】
アフィンフロー解析部３は、このようにして、並進運動方向θA、スケールの変化ｔｃ、視線方向の周りの回転Ω・Ｕ、など、画像情報から安定して計算することのできる観察者の運動パラメータを計算し、ポインティング情報生成部４に出力する（ステップＳＴ１０８）。
【００６１】
先に述べたように、ポインティング情報生成部４は特徴点抽出部２から特徴点座標の時系列データを入力し、そこから適当な２つの時点の特徴点座標を選んでアフィンフロー解析部３で運動パラメータを計算し、３次元の空間を指示するために必要な情報を生成する。以下、フローチャート１０に従って、この処理を説明する。
【００６２】
まず、特徴点抽出部２から特徴点座標（補助情報がある場合は、補助情報も）を入力する。入力した特徴点の数をｎとし、座標を（ｘi，ｙi）とする（ステップＳＴ２０１）。
【００６３】
撮影対象の物体は動いているので、特徴点が他の部分に隠されて見えなくなったり、隠されていた特徴点が出現したりする場合がある。特徴点が４点より少ない場合は何もせず、特徴点が４点以上になった場合は、前回ポインティング情報を生成した時に抽出した特徴点と今回抽出した特徴点の共通集合から、物体上に均等に位置されるような特徴点を４点選択する（ステップＳＴ２０２）。
【００６４】
選択した特徴点について、前回ポインティングに使った時の座標値（ｌｘi，ｌｙi）からの移動距離（（ｘi−ｌｘi）2＋（ｙi−ｌｙi）2）を計算し、この距離を一定の閾値と比較する。特徴の大きさなど、補助情報がある場合には、その値を使って閾値を決める。選んだ特徴点を以前にポインティングに使ったことがなければ、ｌｘi，ｌｙiに、ｘi，ｙiを代入する。４点の移動距離で、閾値以上の距離を持つ点が１つでもあれば、以降の処理を行ない、全て閾値以下であれば、ステップＳＴ２０１に戻る（ステップＳＴ２０３）。
【００６５】
このようにして求めた、４点の過去の座標値（ｌｘi，ｌｙi）と現在の座標値（ｘi，ｙi）をアフィンフロー解析部３に入力して運動パラメータを計算する（ステップＳＴ２０４）。
【００６６】
アフィンフロー解析部３で計算した運動パラメータは物体が静止し、観察者（カメラ）が運動していると仮定した時のパラメータである。これを、物体の運動を表す値に置き換えると、重心の動きは物体のＸ，Ｙ方向への並進運動、スケールの変化を表すｔｃはＺ方向への並進運動、Ω・Ｕは、Ｚ軸周りの回転運動、Ａは物体のＸ軸周りの回転運動とＹ軸周りの回転運動の比を表す。これらパラメータそれぞれについて、閾値と比較し、閾値より大きな動きがあれば、そのパラメータの示す物体の運動を一定の大きさだけ起こすようなポインティングイベントを発生する（ステップＳＴ２０５）。その際、画面上に見るポインタの動きと、人間が、自分の手や、ポインティングに利用する器具を見た時の運動の方向を一致させるようにポインティングイベントでの運動方向の符合を決める。
【００６７】
ここで発生したポインティングイベントは、ポインタ表示部８およびジェスチャパタンマッチング部６に送られる。アフィンフロー解析部３で求めた運動パラメータは、中心投影を仮定しないと計算できないパラメータは深さλを使った相対的な表現をしているが、ポインティング情報生成部４では物体の絶対的な動きを必要とする時のために、中心投影の方程式（１１）にλを使って相対値で表現したパラメータを代入して位置と姿勢を計算し、この情報もポインタ表示部６に出力する（ステップＳＴ２０６）。
【００６８】
ポインタ表示部８は、後で述べるステータス切替部５からの指示によって、ポインタモデル記憶部１２に記憶されている。例えば図１１のように容易に３次元的に向きのわかるポインタの３Ｄモデルか、３Ｄモデル記憶部９に記憶されているモデルのうち、ステータス切替部５によって指定された３Ｄモデルかを選択し、選択した３Ｄモデルの現在の位置と姿勢から、入力したポインティングイベントに従って並進、回転運動させたグラフィクス画像情報を生成し、出力する。
【００６９】
ポインタモデル記憶部１２には、前述したようにポインタの３Ｄモデルと現在の位置と姿勢が記憶されており、３Ｄモデル記憶部９には、現在、画像に表示されている３Ｄモデルとモデルの位置と姿勢が記憶されている。
【００７０】
ジェスチャパタンマッチング部６では、ポインティング情報生成部４から入力した最新のポインティングイベントの時系列のリストで、ユーザからのキーボード入力などで途切れていないパタンと、ジェスチャパタン記憶部７に記憶されたジェスチャパタンとを比較して、ユーザによるポインタの操作が、あらかじめ登録された何かの意味を持った動きかどうかを判定する。合致したジェスチャパタンがあれば、そのパタンと一緒に記憶されているオペレーションを実行する。
【００７１】
ジェスチャパタン記憶部７の中では、ジェスチャパタンは、図１２に示すようなリスト構造の並んだ表で記憶されている。１つのジェスチャは、ジェスチャのパタンと、それが起きた時に呼び出されるオペレーションを示す文字列から構成されている。１つのジェスチャパタンは、ポインティングイベントのリストで表現されており、１つのポインティングイベントは並進運動｛Ｕ1，Ｕ2，Ｕ3｝と、回転運動｛Ω1，Ω2，Ω3｝の６つのパラメータについて、正負の方向への運動があることを示す＋か−、あるいは運動がないことを示す０の３種類のシンボルで表されている。図１２で、ジェスチャパタンのリストにリストの次の要素を示す２つのsucessorがあり、自分で閉ループを構成しているものがあるが、これは、この閉ループで同じポインティングイベントの繰り返しを許容する仕組みである。sucessorの横の変数ｎは４つの閉ループがみな同じ回数だけ繰り返すことを示す。図１２の例では、ジェスチャパタンは、ｘｙ平面上での任意の大きさの正方形を示し、このジェスチャによって／ｕｓｒ／ｂｉｎ／Ｘ１１／ｋｔというオペレーションが起動されることを示している。
【００７２】
ステータス切替部５は、ディスプレイに表示された３次元空間内を自由にポインタを動かして操作する、ポインタ操作状態か、表示されたモデルのうちの一つをポインタによって指定した後、モデルの位置や姿勢を変更するモデル把握状態の、どちらかの現在のポインタの状態を記憶し、また、ユーザからの指示か、ポインタ表示部からの指示によって、ポインタの状態を切替え、それにともなって他の部分の設定変更を行なう。
【００７３】
ポインタ操作状態の時には、ポインタ表示部８に、ポインタモデル記憶部に記憶されたモデルを使うように指示し、発生したポインティングイベントに従ってポインタモデルの位置と姿勢を変更する。ポインティングイベントはジェスチャパタンマッチング部にも入力され、ジェスチャの認識が行なわれ、イベント列にジェスチャが含まれると認識されれば、そのジェスチャに対応したオペレーションが実行される。ユーザのキーボード入力やジェスチャなどによる指示か、ポインタの３次元位置が３Ｄモデル記憶部に記憶してある３Ｄモデルの１つの位置と一致した時に、ポインタの状態はモデル把握状態に切り替わる。
【００７４】
モデル把握状態では、３Ｄモデル記憶部９に記憶されたモデルを位置姿勢を変更させて表示する。まず、モデル把握状態に入ると、指示された３Ｄモデルを３Ｄモデル記憶部９から取り出して、ポインタ表示部８に送り、これを他のモデルと区別できるよう色などを変えて表示するように指示する。次に、画像合成部１０に、モデルの位置や形などを入力して、３Ｄモデルの画像情報と入力した画像情報から、手でモデルを掴んでいたり、ポインティング用の器具に３Ｄモデルがはめ込まれていたりするように見える画像を合成し、画像表示部１１で表示する。モデルの移動や回転には、ポインタ操作状態とは異なり、ポインティングイベントではなく、中心投影に当てはめて計算した位置や姿勢の情報を用いる。
【００７５】
画像合成部１０では、まず、画像入力部１から入力した画像情報から特徴点を囲む閉領域を切り出すことによって、手や器具の写っている部分を取り出す。次に、手や器具の運動が、実際の運動と画像上での運動の方向がユーザから見て一致するように、取り出した画像の左右を反転する。入力した３Ｄモデルの位置や形などの情報と特徴点の座標を元に、手や器具の画像に平行移動、スケールの変更などの処理を行なって、特徴点の位置を３Ｄモデルのグラフィクス画像の頂点などに合わせる。その後、モデルのグラフィクス画像と手や器具の画像を半透明で重ね表示を行なって、図１３のように、モデルを掴んでいるように見える画像を合成し、画像表示部１１に出力する。
【００７６】
図１４を参照して本発明の他の実施例を説明する。
【００７７】
動画像入力部２１は、カメラ（観察者）が３次元空間内を未知の運動をしながら画像を撮影し、撮影した動画像に対応する画像情報を特徴点抽出部２２に転送する。この動画像入力部２１が撮影している撮影環境は、基本的に静止環境であるが、運動物体が含まれていても構わない。
【００７８】
特徴点抽出部２２は、動画像入力部２１からの時系列画像情報を受け、画像処理によって、明度や色が近傍の領域と急激に変化し、２枚の画像で物体の同一の点が投影されたと特定できる多数の特徴点を抽出し、抽出した特徴点を並進フロー計算部２３に入力する。
【００７９】
並進フロー計算部２３は、入力された特徴点のそれぞれの座標を比較し、最近傍の４点を結んだネットワークを構成し、最近傍の４点の組合わせの全てに対してアフィンフロー解析部３が行う処理と同様な処理を行なって、仮想視差を求め、観察者の運動パラメータを計算する。計算した運動パラメータのうち、並進運動方向θAを見ると、この値は、カメラが撮影環境に対して並進運動し得ている方向を示すものであるから、動画像入力部２１が撮影した画像が静止環境であれば、どの４点の特徴点の組合わせを取っても同じ値を示している。実際には、中心投影を狭い視野範囲に限定してアフィン変換で近似しているので、互いに近傍にある特徴点の組合わせで同じ値を示す。従って、画像全体に分布する特徴点の組合わせから並進運動方向θAだけを抜き出して、図１５のような分布図を作成し、出力する。尚、図１５の矢印は、２つの物体の各々の複数の点の動きを示している。
【００８０】
独立運動分割部２４は、並進フロー計算部２３で計算した並進運動方向のフロー図において、近傍にある特徴点の組合わせの並進運動方向θAを比較し、その差が一定閾値より大きいところで領域分割を行なう。これによって、図１５の実線で囲まれた領域のように、動いている背景画像の中から、異なる動きをしている物体を示す領域を取り出すことができる。この後、異なる動きをしている領域を取り除き、残った、背景画像を示す領域からθA以外の運動パラメータも計算し、カメラの運動を求めて出力する。
【００８１】
図１６を参照して本発明に係る他の実施例を説明する。
【００８２】
画像入力部３１は、１つの物体を複数の方向から撮影した画像に対応する画像情報を入力する。ここで入力する画像情報の画像は、時間的に連続していなくても構わない。また、物体を撮影した時の観察者の位置関係も不明である。
【００８３】
特徴点抽出部３２は、画像入力部３１より入力した画像情報に、各点抽出処理などの画像処理を行ない、明度や色が近傍の領域と急激に変化している多数の特徴点に対応する特徴点情報を抽出し、対応特徴探索部３３に出力する。抽出した特徴点情報は、入力した画像情報に重ね合わせて画像表示部３６に表示される。
【００８４】
初期対応探索部３３は複数の画像間において特徴点情報を比較し、撮影対象となった物体上の同一の点が投影されたものかどうか調べる。まず、特徴点抽出部３２から入力した全ての特徴点情報に未対応を示すフラグをつける。次に、画像間において、特徴点を中心とする小領域の相関マッチングを行ない、相関係数が一定閾値より高い特徴点情報同士を対応させ、対応した特徴点情報には、対応したことを示すフラグをつけ、特徴点の集合情報を対応修正部、即ち対応特徴更新部３７に出力する。画像表示部３６に、対応した特徴点情報を、色を変えるなどして未対応の特徴点情報と区別できるように入力画像情報と重ね合わせて表示し、また、複数の画像情報間においてどの特徴点情報とどの特徴点情報が対応しているかが分かるように表示する。
【００８５】
インタフェイス部３４は、初期対応探索部３３から対応のついた特徴点を含む特徴点集合情報を入力し、特徴点の対応関係の修正作業を行なう。初期対応探索部３２によって作成した対応関係が、十分正確で誤りが少なければ、対応点の修正は行なわずに後で処理を行なうことも可能である。
【００８６】
初期対応探索の結果、画像表示部３６に表示している特徴点を重ね表示した入力画像に、マウスなどのポインティングデバイスで制御されたカーソルを表示し、ユーザが特徴点を選択できるようにする。既に対応フラグのついた特徴点を選んだ場合には、その特徴点とそれに対応する特徴点のフラグを未対応につけかえ、対応関係を取り消す。入力した複数の画像情報において未対応フラグのついた特徴点情報を１つづつ連続して選んだ場合には、それらの特徴点情報に対応が確定したことを示すフラグをつけ、それらの特徴点情報間に対応関係を設定する。また、特徴点のない領域でも、複数の画像において、１つづつ連続して選んだ画素があれば、その画素の座標に対応が確定した特徴点を生成して対応関係を設定する。また、画像と特徴点以外に、対応点の更新および物体の構造抽出並びに画像の合成を呼び出すボタンを表示し、ポインティングデバイスによってこれらを選択できるようにしておく。ユーザが対応点の更新ボタンを選んだ場合には、対応特徴更新部３７に特徴点の集合情報を渡して、特徴点の対応関係を更新する。物体の構造抽出のボタンを選んだ場合には、構造抽出部に特徴点の集合を渡して、撮影した物体の３次元構造を抽出する。画像の合成のボタンを選んだ場合には、さらに、どこから見た画像を合成するかを質問して、画像を合成する視点までの並進、回転の運動ベクトルを入力し、画像合成部３５に入力した画像、特徴点の集合、構造抽出部で抽出した物体の３次元構造、運動ベクトルを渡して、画像を合成し、画像表示部に表示する。
【００８７】
画像表示部３６は、複数の入力画像、特徴点、画像から抽出した物体構造の３Ｄモデル、視線方向を変えて合成した画像などを表示し、そこにカーソルを重ね表示して、画像上の座標や特徴点を指示できるようにする。
【００８８】
対応特徴更新部３７は、インタフェイス部３４から特徴点の集合情報を受け、新たな基準に従って、未対応の特徴点の対応づけを行なう。まず、入力した特徴点集合情報の中から、対応が確定し、対応フラグのついた特徴点（これを点Ａ0とする）を選択し、特徴点Ａ0の近傍にある未対応フラグのついた特徴点Ｂを選択する。特徴点Ａ0と対応する、他の画像中の特徴点Ａ0′の近傍にある特徴点Ｂ′と特徴点Ｂを比較し、対応するかどうかを判定する。ＢとＢ′の比較は、両方の近傍に、対応のついた特徴点が２点以下しかなければ、初期対応探索と同様に特徴点を中心とする小領域の相関マッチングを行ない、初期対応探索部３３で使った閾値より低い閾値で対応するかどうかを判定する。図１７のように、ＢとＢ′の両方の近傍に対応のついた特徴点が３点以上あれば、画像の変形を考慮したマッチングを行なう。まず、三角形Ａ0，Ａ1，Ａ2を三角形Ａ0′，Ａ1′，Ａ2′に変形するアフィン変換を計算する。Ｂを中心とする小領域を、計算したアフィン変換で変形し、変形した小領域とＢ′を中心とする小領域との間で相関マッチングを行ない、近傍に対応済みの点が２点以下しかない場合と同じ閾値で判定する。このようにして見つけた特徴点には、初期対応探索部３３と同様に特徴点に対応を示すフラグをつけ、特徴点間を対応関係で結ぶ。この処理を、新たに対応する特徴点がなくなるまで、繰り返してインタフェイス部３４に復帰する。
【００８９】
構造抽出部３８は、形状が不明の物体を撮影して得られる複数の画像情報とこれらの画像情報間で対応をつけた特徴点の集合情報を受け、これら情報から物体の３次元形状モデルと、物体表面のテクスチャパタンを抽出し、出力する。まず、特徴点の集合情報から近傍にある４点の組合わせを取り出し、その４点にアフィンフロー解析部３による処理を行なって、運動パラメータを計算する。この４点を、図７のように、３角形を構成する３点と、それ以外の１点Ｐに分けて考える。点Ｐ′は一方の画像で点Ｐと同じ座標にあって、もう一方の画像では、他の３点の移動で表現されるアフィン変換で移動する仮想的な点である。この点Ｐ′は、３次元空間では３点で決まる３次元平面上にあって、画像平面には点Ｐと同じ座標に投影される点を示している。この仮想視差ＰＰ′の大きさは、式（１２）より、
【数２０】
2005063463.tif 000022
【００９０】
で表される。但し、Ｚｐは点ｐの座標、Ｚｐ１は点Ｐ′のＺ座標である。ここに、この４点の近傍にある別の特徴点Ｑを追加した図１８の状況を想定する。点Ｑ′は点Ｐ′と同様に、ほかの３点の移動で決まるアフィン変換で移動する仮想的な点であって、やはり３次元空間では３点で決まる３次元平面上の点である。２つの仮想視差ＰＰ′とＱＱ′を考えると、画像中で近傍にあって、また、観察者から物体までの距離が十分遠いことから、この２つの仮想視差の長さの比は、（ＺP−ＺP′）／（ＺQ−ＺQ′）となり、これからＰとＱのある３次元平面に対する深さ方向の座標の比が求められる。この処理を全ての近傍にある特徴点の組合わせに対して行なって、物体の深さ方向の長さが、ある長さλに対する比で表現された、物体の３Ｄモデルを算出する。この後、あるλに対応する物体の３Ｄモデルがグラフィクス表示され、ユーザが、この３Ｄモデルを見ながらλの値を調整するか、３Ｄモデルの表面で、平面が交差している部分を見つけ、交差角が直角になるように、λの大きさを推定する、などして、完全な物体の３Ｄモデルが計算される。また、λの大きさが計算されると、式（３１）より、画像上で、近傍にある３点の特徴点で囲まれた３角形の物体表面の勾配が求められ、これから、物体表面のテクスチャ情報も取り出すことができる。
【００９１】
構造抽出部３８は、このようにして計算した物体の３Ｄモデルとテクスチャ情報を出力する。
【００９２】
画像合成部３５は、入力した物体の３次元構造と視点までの運動ベクトルを使って、入力画像を変形し、新たな視点から物体を見た時の画像を合成する。観察者が動いた時の画像の変形は、式（３４）から式（３６）によって、観察者の並進運動ベクトルと回転運動ベクトル、物体表面の勾配と、画像平面上の並進運動で表現される。観察者の運動と画像平面上での並進運動は、視点までの運動ベクトルから計算され、物体表面の勾配は、物体の３次元構造から得られるので、これから、視点を変更したことによる、画像の変形を表現するアフィン変換行列を計算することができる。まず、入力画像において対象物体が写っている領域を、領域内にある特徴点を結んだ直線で区切られた３角パッチに分割する。各３角パッチの画像に対して、上記のアフィン変換を適用して、新たな３角パッチ画像を作成する。作成したパッチ画像をつなぎ合わせたものが新たな視線方向から見た時の物体の画像であり、これを画像表示部に表示する。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施例であり、ＣＡＤシステムでのモデルの操作などのヒューマンインタフェイスに用いる動画像処理装置のブロック図。
【図２】ポインティングに用いる第１の例の器具の図。
【図３】ポインティングに用いる第２の例の器具の図。
【図４】ポインティングに用いる第３の例の器具の図。
【図５】中心投影による撮像形での３次元座標と画像座標の関係を示す図。
【図６】画像から抽出できる不変特徴量を示す図。
【図７】運動視差を説明する図。
【図８】物体表面の傾斜の表現方法を説明する図。
【図９】アフィンフロー解析部の動作を説明するフローチャート図。
【図１０】ポインティング情報生成部の動作を説明するフローチャート図。
【図１１】ポインタの３Ｄ（３次元）モデルを示す図。
【図１２】ジェスチャパタン記憶部に記憶されたジェスチャパタンのデータ構造を示す図。
【図１３】３Ｄモデルと入力した画像の一部を重ね合わせて合成した画像を示す図。
【図１４】本発明の他の実施例であり、独立下運動を弁別するシステムのブロック図。
【図１５】並進運動方向の分布図。
【図１６】本発明の他の実施例であり、複数画像から３Ｄモデルを獲得し、物体を他の方向から見た時の画像を合成するシステムに適用した動画像処理装置の構成図。
【図１７】アフィン変換による画像変形を考慮したマッチングを示す図。
【図１８】２つの仮想視差の関係を示す図。
【符号の説明】
【００９４】
１…画像入力部、２…特徴点抽出部、３…アフィンフロー解析部、４…ポインティング情報生成部、５…ステータス切替部、６…ジェスチャパタンマッチング部、７…ジェスチャパタン記憶部、８…ポインタ表示部、９…３Ｄモデル記憶部、１０…画像合成部、１１…画像表示部、１２…ポインタモデル記憶部、２１…動画像入力部、２２…特徴点抽出部、２３…並進フロー計算部、２４…独立運動分割部、３１…画像入力部、３２…特徴点抽出部、３３…初期対応探索部、３４…インタフェイス部、３５…画像合成部、３６…画像表示部、３７…対応特徴更新部、３８…構造抽出部
【図１】
2005063463.tif 000023
【図２】
2005063463.tif 000024
【図３】
2005063463.tif 000025
【図４】
2005063463.tif 000026
【図５】
2005063463.tif 000027
【図６】
2005063463.tif 000028
【図７】
2005063463.tif 000029
【図８】
2005063463.tif 000030
【図９】
2005063463.tif 000031
【図１０】
2005063463.tif 000032
【図１１】
2005063463.tif 000033
【図１２】
2005063463.tif 000034
【図１３】
2005063463.tif 000035
【図１４】
2005063463.tif 000036
【図１５】
2005063463.tif 000037
【図１６】
2005063463.tif 000038
【図１７】
2005063463.tif 000039
【図１８】
2005063463.tif 000040