JP3637226B2 - Motion detection method, motion detection device, and recording medium - Google Patents
Motion detection method, motion detection device, and recording medium Download PDFInfo
- Publication number
- JP3637226B2 JP3637226B2 JP02393999A JP2393999A JP3637226B2 JP 3637226 B2 JP3637226 B2 JP 3637226B2 JP 02393999 A JP02393999 A JP 02393999A JP 2393999 A JP2393999 A JP 2393999A JP 3637226 B2 JP3637226 B2 JP 3637226B2
- Authority
- JP
- Japan
- Prior art keywords
- distance image
- distance
- pixel value
- image
- small
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Measurement Of Optical Distance (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、平面方向のみならず、奥行き方向の動きを検出する動き検出方法およびそれを用いた動き検出装置に関する。
【0002】
また、本発明は、平面方向のみならず、奥行き方向の動きを検出して、その動きを認識する動き認識方法およびそれを用いた動き認識装置に関する。
【0003】
【従来の技術】
従来、ビデオカメラなどの撮像装置を用いて、認識対象物の動きを抽出しようとした場合、以下のような方法が取られていた。
【0004】
まず1つ目は、オプティカルフローと呼ばれる手法である。これは、特定のブロック画像に着目し、隣り合うフレーム間で、ある着目画像領域が平面内でどの方角に動いたかを計測し、その方向を推定するものである。次フレームにおける対象画像の移動方向を特定するには、時系列的に隣り合うフレーム間で類似度を算出する方法が代表的である。対象画像領域近傍で同じサイズのブロック画像を対象に前フレームにおける着目ブロック画像との相関係数を計算し、その係数の最も高いブロックへの方向が動きベクトルとして推定される。
【0005】
この技術は人間の顔のトラッキングなどロボットビジョンの分野では広く利用されており、相関係数の計算はハードウェア化が容易なため、相関係数を計算する特殊なアクセラレータボードを付加することでリアルタイムなトラッキングも可能となっている。この手法は、着目ブロック画像が2次元的に大きく変化しない場合、かなりの精度で平面方向の動き成分を抽出することが可能であるが、対象画像はビデオカメラなどで取得した2次元画像であるため、奥行き方向を含めた3次元的な動き情報は検出できていない。
【0006】
また、オプティカルフローの展開例として、隣り合うピクセル間で差分情報をハード的に抽出することで、動きベクトルを推定するセンサも登場してきている。リアルタイムに動き成分がとれることからゲームなどのエンターテイメント分野、あるいは監視システムに利用されつつある。この場合も、ピクセルレベルでの2次元的動き情報は抽出されるが、奥行き方向の動き情報は抽出することが不可能である。
【0007】
別の手法としては、画像全体を対象とした動きの検出以外にも、画像中の特徴点をトラッキングするという手法もある。たとえば、手先の動きをトラッキングする場合を考えてみる。この場合、まず複数のカメラから撮像した手の取得画像から、手先に相当する部分を特徴点として定義し、その3次元位置情報を検出することが必要になる。そのためには、まず各カメラで同時期に取得された画像から特徴点(手先)を抽出し、そのスクリーン座標から3角測量の要領で特徴点の3次元的な空間位置情報を求める。次に時系列的に求められた特徴点の空間位置情報から、特徴点、この場合手先の3次元的な動き情報を検出することができるわけである。しかし、この手法では、事前に各カメラの各種パラメータの調整に相当するキャリブレーションを行った上で、特徴点の抽出、対応づけといった煩雑な作業が必要であり、汎用的に使える手法とは言えない。
【0008】
また、動きを特徴づける関節などの部位にあらかじめセンサを装着し、撮像した画像からセンサ部位を抽出し、2次元的あるいは3次元的な動きを計測するモーションキャプチャと呼ばれる手法も存在する。この手法では、上記で紹介した手法に比べ、特徴点の抽出や対応づけ処理は軽くなるが、システム全体のコストが高くつき、システムを稼動する上での制約も多い。さらに煩わしい特定のセンサデバイスを装着する必要があり、とても一般ユーザが使えるものにはなっていない。
【0009】
以上のように、従来方法では、画像系列から奥行き情報を含む3次元的な動きの抽出を行う方法には様々な問題点があった。
【0010】
【発明の解決しようとする課題】
以上説明したように、従来の手法では、ビデオカメラなどを用いて認識対象物を2次元情報しか持たない画像として取得していたため、対象物の3次元的な動きの抽出を2次元情報のみから行うしかなく、高精度で奥行き方向を含めた3次元的な動きの認識を行うことは不可能であった。
【0011】
そこで、本発明は、3次元的な動きを高精度に検出できる動き検出方法およびそれを用いた動き検出装置を提供することを目的とする。
【0012】
また、本発明は、3次元的な動きを高精度に認識できる動き認識方法およびそれを用いた動き認識装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
(1)本発明の動き検出方法は、取得した距離画像を所定の大きさの小領域に分割して、連続して取得した距離画像間で、類似する前記小領域毎に平面方向の動きを検出し、前記小領域毎に奥行き情報を算出して、該奥行き情報を基に類似する小領域間で奥行き方向の動きを検出することにより、3次元的な動きを高精度に検出することができる。
【0014】
(2)本発明の動き検出方法は、取得した距離画像を所定の大きさの小領域に分割して、前記小領域毎に奥行き情報を算出し、連続して取得した距離画像間で、前記小領域毎に前記奥行き情報を基に奥行き方向の動きを検出し、移動元の小領域と、前記検出された奥行き方向の動きに基づき前記奥行き情報を補正した小領域であって前記移動元の小領域に類似する小領域との間で平面方向の動きを検出することにより、奥行き方向の動き成分による距離画像の濃淡変化を補正した上で、平面方向動き情報の検出を行っているため、より高精度に奥行き方向の動き成分を有する対象物の3次元的な動きを検出することができる。
【0015】
(3)本発明の動き認識方法は、取得した距離画像を所定の大きさの小領域に分割して、連続して取得した距離画像間で、類似する前記小領域毎に平面方向の動きを検出し、前記小領域毎に奥行き情報を算出して、該奥行き情報を基に類似する小領域間で奥行き方向の動きを検出し、前記平面方向の動きと前記奥行き方向の動きとから該動きを認識することにより、3次元的な動きを高精度に認識することができる。
【0016】
(4)本発明の動き認識方法は、取得した距離画像を所定の大きさの小領域に分割して、前記小領域毎に奥行き情報を算出し、連続して取得した距離画像間で、前記小領域毎に前記奥行き情報を基に奥行き方向の動きを検出し、移動元の小領域と前記検出された奥行き方向の動きに基づき前記奥行き情報を補正した小領域であって前記移動元の小領域に類似する小領域との間で平面方向の動きを検出し、前記平面方向の動きと前記奥行き方向の動きとから該動きを認識することにより、奥行き方向の動き成分による距離画像の濃淡変化を補正した上で、平面方向動き情報の検出を行っているため、より高精度に奥行き方向の動き成分を有する対象物の3次元的な動きを認識することができる。
【0017】
(5)本発明の動き検出装置は、距離画像を取得する画像取得手段と、
この画像取得手段で取得した距離画像を所定の大きさの小領域に分割する分割手段と、
前記画像取得手段で連続して取得した距離画像間で、類似する前記小領域毎に平面方向の動きを検出する第1の検出手段と、
前記小領域毎に奥行き情報を算出する算出手段と、
この算出手段で算出された奥行き情報を基に類似する小領域間で奥行き方向の動きを検出する第2の検出手段と、
を具備したことにより、3次元的な動きを高精度に検出することができる。
【0018】
(6)本発明の動き検出装置は、距離画像を取得する画像取得手段と、
この画像取得手段で取得した距離画像を所定の大きさの小領域に分割する分割手段と、
前記小領域毎に奥行き情報を算出する算出手段と、
前記画像取得手段で連続して取得した距離画像間で、前記小領域毎に前記奥行き情報を基に奥行き方向の動きを検出する第1の動き検出手段と、
この第1の検出手段で検出された奥行き方向の動きに基づき前記奥行き情報を補正する補正手段と、
移動元の小領域と、前記補正手段で前記奥行き情報を補正した小領域であって前記移動元の小領域に類似する小領域との間で平面方向の動きを検出する第2の検出手段とを具備したことにより、奥行き方向の動き成分による距離画像の濃淡変化を補正した上で、平面方向動き情報の検出を行っているため、より高精度に奥行き方向の動き成分を有する対象物の3次元的な動きを検出することができる。
【0019】
(7)本発明の動き認識装置は、距離画像を取得する画像取得手段と、
この画像取得手段で取得した距離画像を所定の大きさの小領域に分割する分割手段と、
前記画像取得手段で連続して取得した距離画像間で、類似する前記小領域毎に平面方向の動きを検出する第1の検出手段と、
前記小領域毎に奥行き情報を算出する算出手段と、
この算出手段で算出された奥行き情報を基に類似する小領域間で奥行き方向の動きを検出する第2の検出手段と、
類似する小領域間から検出された前記平面方向の動きと前記奥行き方向の動きとから該動きを認識する認識手段と、
を具備したことにより、3次元的な動きを高精度に認識することができる。
【0020】
(8)本発明の動き認識装置は、距離画像を取得する画像取得手段と、
この画像取得手段で取得した距離画像を所定の大きさの小領域に分割する分割手段と、
前記小領域毎に奥行き情報を算出する算出手段と、
前記画像取得手段で連続して取得した距離画像間で、前記小領域毎に前記奥行き情報を基に奥行き方向の動きを検出する第1の動き検出手段と、
この第1の検出手段で検出された奥行き方向の動きに基づき前記奥行き情報を補正する補正手段と、
移動元の小領域と、前記補正手段で前記奥行き情報を補正した小領域であって前記移動元の小領域に類似する小領域との間で平面方向の動きを検出する第2の検出手段と、
類似する小領域間から検出された前記平面方向の動きと前記奥行き方向の動きとから該動きを認識する認識手段と、
を具備したことにより、奥行き方向の動き成分による距離画像の濃淡変化を補正した上で、平面方向動き情報の検出を行っているため、より高精度に奥行き方向の動き成分を有する対象物の3次元的な動きを認識することができる。
【0021】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る画像認識装置の全体構成図である。
【0022】
本実施形態の画像認識装置は、距離画像ストリームを取得するための撮像手段を備えた画像取得部1と、画像取得部1で取得された距離画像を格納する画像格納部2と、画像格納部2に格納された距離画像を動き検出単位となる所定の大きさの小領域(ブロック画像)に分割するブロック分割部3と、画像取得部1で取得した距離画像を動き検出単位となる所定の大きさの小領域(ブロック画像)に分割するブロック分割部4と、画像格納部2に格納された距離画像(サンプル距離画像)と画像取得部1で取得された距離画像(最新距離画像)との間でブロック画像毎に平面方向の動き(平面方向動きベクトル)を検出する平面方向動き検出部5と、ブロック画像の奥行き情報(距離値)を算出する距離値算出部6と、平面方向動き検出部5で検出された平面方向の動き(平面方向動き情報、より具体的には平面方向動きベクトル)に基づき推定される平面方向の移動元のブロック画像と移動先のブロック画像との間の距離値算出部6で算出された距離値を基に奥行き方向の動き(奥行き方向動き情報、より具体的には奥行き方向動きベクトル)を検出する奥行き方向動き検出部7と、平面方向動き検出部5で検出された平面方向動き情報と奥行き方向動き検出部7で検出された奥行き方向動き情報とテンプレート9を参照して当該動きを認識する動き認識部8と、認識すべき動きを登録したテンプレート9とから構成されている。
【0023】
まず、画像取得部1および距離画像について説明する。
【0024】
画像取得部1は、認識対象物体(例えば、人間の手、顔、全身など)を、その3次元形状を反映した奥行き値を持つ画像(以降、距離画像と呼ぶ)として所定時間毎(例えば1/30秒毎など)に取得するものである(例えば、特願平8−274949号の画像取得方法などを用いて実現することができる)。
【0025】
所定時間毎に距離画像が取得されてゆくため、これらをメモリなどを用いて、画像取得部1の内部または外部で逐次保持することで、対象物の距離画像による動画像(以降、距離画像ストリームと呼ぶ)を得ることができる。このとき、距離画像ストリームは、距離画像の取得間隔をt秒としたとき、「最新の距離画像」、「最新からt秒前(以降、1フレーム前と呼ぶ)の距離画像」、「最新から2t秒前(2フレーム前、以下同様)の距離画像」、…、といった複数フレームの距離画像の集合体として得られることになる。
【0026】
画像取得部1は、図2に示すように、主に、発光部101、受光部103、反射光抽出部102、タイミング信号生成部104から構成される。
【0027】
発光部101は、タイミング信号生成部104にて生成されたタイミング信号に従って時間的に強度変動する光を発光する。この光は発光部前方にある対象物体に照射される。
【0028】
受光部103は、発光部101が発した光の対象物体による反射光の量を検出する。
【0029】
反射光抽出部102は、受光部103にて受光された反射光の空間的な強度分布を抽出する。この反射光の空間的な強度分布は画像として捉えることができるので、これを反射光画像あるいは距離画像と呼ぶ。
【0030】
受光部103は一般的に発光部101から発せられる光の対象物による反射光だけでなく、照明光や太陽光などの外光も同時に受光する。そこで、反射光抽出部102は発光部101が発光しているときに受光した光の量と、発光部101が発光していないときに受光した光の量の差をとることによって、発光部101からの光の対象物体による反射光成分だけを取り出す。
【0031】
反射光抽出部102では、受光部103にて受光された反射光から、その強度分布、すなわち、図3に示すような反射光画像(距離画像)を抽出する。
【0032】
図3では、簡単のため、256×256画素の反射光画像の一部である8×8画素の反射光画像の場合について示している。
【0033】
物体からの反射光は、物体の距離が大きくなるにつれ大幅に減少する。物体の表面が一様に光を散乱する場合、反射光画像1画素あたりの受光量は物体までの距離の2乗に反比例して小さくなる。
【0034】
反射光画像の各画素値は、その画素に対応する単位受光部で受光した反射光の量を表す。反射光は、物体の性質(光を鏡面反射する、散乱する、吸収する、など)、物体の向き、物体の距離などに影響されるが、物体全体が一様に光を散乱する物体である場合、その反射光量は物体までの距離と密接な関係を持つ。手などは、このような性質をもつため、画像取得部1の前方に手を差し出した場合の反射光画像は、手までの距離、手の傾き(部分的に距離が異なる)などを反映する図4に示したような3次元的なイメージを得ることができる。
【0035】
図5は、例えば、特願平9−299648号に記載されているような画像取得部1を構成する発光部101と、受光部103の外観の一例を示したもので、中央部には円形レンズとその後部にあるエリアセンサ(図示せず)から構成される受光部103が配置され、円形レンズの周囲にはその輪郭に沿って、赤外線などの光を照射するLEDから構成される発光部101が複数(例えば6個)等間隔に配置されている。
【0036】
発光部101から照射された光が物体に反射され、受光部103のレンズにより集光され、レンズの後部にあるエリアセンサで受光される。エリアセンサは、例えば256×256のマトリックス状に配列されたセンサで、マトリックス中の各センサにて受光された反射光の強度がそれぞれ画素値となる。このようにして取得された画像が、図3に示すような反射光の強度分布としての距離画像である。
【0037】
図3は、距離画像データの一部(256x256画素の一部の8x8画素)を示したものである。この例では、行列中のセルの値(画素値)は、取得した反射光の強さを8ビット256階調で示したものである。例えば、「255」の値があるセルは、画像取得部1に最も接近した状態、「0」の値があるセルは、画像取得部1から遠くにあり、反射光が画像取得部1にまで到達しないことを示している。
【0038】
図4は、図3に示したようなマトリックス形式の距離画像データ全体を3次元的に示したものである。この例では、人間の手の距離画像データの場合を示している。
【0039】
図6に、画像取得部1により取得された手の距離画像の例を示す。距離画像は、奥行き情報を有する3次元画像で、例えば、x軸(横)方向64画素、y軸(縦)方向64画素、z軸(奥行き)方向256階調の画像になっている。図6は、距離画像の距離値、すなわちz軸方向の階調をグレースケールで表現したもので、この場合、色が黒に近いほど画像取得部1からの距離が近く、白に近くなるほど距離が遠いことを示している。また、色が完全に白のところは、画像がない、あるいはあっても遠方でないのと同じであることを示している。
【0040】
物体からの反射光の強さは当該物体までの距離の2乗に反比例して小さくなる。すなわち、距離画像中の各画素(i、j)の画素値をQ(i、j)とすると、
Q(i、j)=K/d2 …(1)
と表すことができる。
【0041】
ここで、Kは、例えば、d=0.5mのときに、R(i、j)の値が「255」になるように調整された係数である。上式をdについて解くことで、距離値を求めることができる。
【0042】
次に、図1の動き認識装置の各構成部についてより詳細に説明する。
【0043】
画像格納部2は、画像取得部1で取得された距離画像ストリーム中に含まれる距離画像のうち、常に最新より数フレーム前(例えば、常に1フレーム前)の距離画像(以降、サンプル距離画像と呼ぶ)を格納しておくためのものである。
【0044】
ここで、サンプル距離画像として何フレーム前の距離画像を用いるかは、画像取得部1の距離画像取得間隔(フレームレート)、対象物の動作速度などの情報を基に決定する。例えば、対象物の2次元投影イメージが変化しない一連の動作の間に、Nフレーム取得できるならば、サンプル画像は、1ないしNフレーム前の距離画像の間で任意に選べばよい。
【0045】
ブロック分割部3は、画像格納部2に格納された距離画像(サンプル距離画像)を、動き検出単位となるブロック画像に分割するためのものである。
【0046】
ブロック分割部4は、画像取得部1で新規に取得された距離画像(最新距離画像)を、動き検出単位となるブロック画像に分割するためのものである。
【0047】
ここでは、取得された距離画像をサイズの等しいブロック画像に分割することを考える。例えば、対象となる距離画像のフレームサイズがx軸(横)方向64画素、y軸(縦)方向64画素である場合、x軸方向、y軸方向それぞれに8等分して分割すると、1つのブロック画像の大きさは、x軸(横)方向8画素、y軸(縦)方向8画素の計8x8=64画素で構成されることになる。
【0048】
図7は、図6に示した距離画像を8x8のブロック画像に分割した様子を表したものである。
【0049】
次に、平面方向動き検出部5で実際にどのようにして画像格納部2に格納されたサンプル距離画像と、画像取得部1によって新規に取得された最新距離画像とから、平面方向の動き情報を検出するかを図8に示すフローチャートを参照して説明する。
【0050】
まず、ブロック分割部3で分割されたサンプル距離画像上のブロック画像のうち、動き情報算出の対象となるブロック画像(対象ブロック)を設定する(ステップS1)。
【0051】
ブロック分割部4で分割された最新距離画像上のブロック画像(探索ブロック)と、ステップS1で設定された対象ブロックとの間の類似度を計算することで、対象物が動いたと推定される移動先ブロックの探索を行う(ステップS2)。
【0052】
類似度算出の対象となる最新距離画像上の探索ブロックは、ブロック分割部3、4で同じブロックサイズに分割を行ったとすると、サンプル距離画像中の1つの対象ブロックに対し、x軸方向、y軸方向に1ブロックずつずらすことで、最大(x軸方向フレームサイズ/x軸方向ブロックサイズ)×(y軸方向フレームサイズ/y軸方向ブロックサイズ)個のブロック画像をとることができる。しかし、実際には時系列的に近いフレーム同士の相関はとても高いため、探索対象となるブロックは、対象ブロックに対してx軸方向、y軸方向にそれぞれ1ブロックずつずらした範囲で行えば十分なことが多い。
【0053】
ここでは、図9に示すように、最新距離画像G1、その1フレーム前のサンプル距離画像G2ともに一定サイズのブロック画像に分割し、各ブロック画像間の類似度を求めることにする。例えば、フレームサイズがx軸方向に64画素、y軸方向に64画素の距離画像をx軸方向、y軸方向それぞれに8分割した場合、x軸方向およびy軸方向のブロックサイズは共に64/8=8画素となる。また、最新距離画像G2上の探索する範囲としてサンプル距離画像G1中の対象ブロックa22に対し上下、左右に1ブロックずれたブロック画像b11、b12、b13、b21、b23、b31、b32、b33とする。
【0054】
なお、最新距離画像中の探索ブロックの選択は、このように、必ずしも探索ブロック同士が互いに重なり合わないブロック画像になるように選択する必要はなく、サイズの等しいブロック画像として、最新距離画像中の対象ブロックa22と等しい位置にあるブロック画像を中心として、x軸方向、y軸方向に1画素ずつずらすことで、最大(x軸方向フレームサイズ−x軸方向ブロックサイズ)×(y軸方向フレームサイズ−y軸方向ブロックサイズ)個、任意にとることもできる。
【0055】
最新距離画像上の探索ブロック(ブロック単位の計測で、その位置をx軸方向にxブロック目、y軸方向にyブロック目とし、(x,y)とする)と、サンプル距離画像上の対象ブロック(その位置をブロック単位の計測で、x軸方向にzブロック目、y軸方向にwブロック目とし、(z,w)とする)間の類似度Czw−xyは、例えば、次式(2)から求めることができる。
【0056】
【数1】
【0057】
式(2)を用いて、対象ブロック(例えば、図9の対象ブロックa22)とその周辺の最新距離画像上の全ての探索ブロック(例えば、図9の探索ブロックb11、b12、b13、b21、b23、b31、b32、b33)のそれぞれとの類似度を算出する(ステップ3)。図9において、サンプル距離画像G1中の対象ブロックa22と最新距離画像G2中の探索ブロックb11、b12、b13、b21、b23、b31、b32、b33との類似度を式(2)を用いて求めると、探索ブロックb22との類似度が「0.1」、探索ブロックb32との類似度が「0.2」、探索ブロックb33との類似度が「0.9」、それ以外の探索ブロックとの類似度が「0」となる。
【0058】
全ての探索ブロックに対して処理が終了したら、平面方向動き検出部5で平面方向動きベクトル算出処理(ステップS4)に移る。
【0059】
平面方向動きベクトル算出処理では、以上で求めたサンプル距離画像上の対象ブロックに対する最新距離画像上の探索ブロックの類似度算出結果から、対象ブロックに最も類似しているブロック画像を抽出する。
【0060】
式(2)を用いて類似度を算出した場合、その値の最も高い探索ブロックを抽出することになる。例えば、図9において、サンプル距離画像中の対象ブロックa22と最も類似する最新距離画像中の探索ブロックはb33であるので、対象ブロックa22(ここでは、対象ブロックa22の端点あるいは中心位置)から探索ブロックb33(ここでは、探索ブロックb33の端点あるいは中心位置)へのベクトルが最終的な平面方向の動きベクトルとなる。
【0061】
例えば、対象ブロックの位置が、ブロック単位の計測で(2,2)の位置(つまり、x軸方向に2ブロック、y軸方向に2ブロック目のブロック)、類似度の最も高い探索ブロックの位置が同様に(3,3)の位置であった場合、平面方向にブロック移動したと推定される移動量は(3,3)−(2,2)=(1,1)となり、最終的な平面方向動きベクトル量はx軸方向に1×(x軸方向のブロックサイズ)、y軸方向に1×(y軸方向のブロックサイズ)となる。
【0062】
なお、図9は、対象ブロックを中心とした上下、左右1ブロック範囲の探索ブロックにおいて、式(2)を用いて算出した類似度と、最終的に検出された平面方向動きベクトルを図示したものである。
【0063】
サンプル距離画像上の全ブロック画像を対象ブロックとして、ステップS1〜ステップS4を繰り返し、平面方向動きベクトルを算出する(ステップS5)。
【0064】
距離値算出部6は、距離画像上のブロック画像が有するz軸方向(奥行き方向)の距離値を求めるものである。これは、そのブロック画像に撮像されている対象物体までの距離を代表する奥行き情報を求めることに相当している。
【0065】
図10は、ブロック画像を構成する全ての画素値を平均化することで、そのブロック画像の距離値を求める場合を概念的に示したものである。例えば、座標(x,y)にあるブロック画像の距離値Dxyは、そのブロック画像内のすべての画素値を平均化することにより、次式(3)から求めることができる。なお、図10では、1フレーム中の隣接する2つのブロック画像(第1のブロック画像、第2のブロック画像)の離散的な画素値(ここでは、距離値に対応する)を連続する滑らかな曲線で描いている。
【数2】
【0066】
なお、式(3)を用いて、単純に、ブロック画像中の画素値の平均値をそのまま距離値として用いてもよく、また、式(3)を用いる際に、ブロック画像中の各画素毎に例えば、式(1)を用いて求めた距離値dをFxyとし用いてもよく、また、式(3)を用いて求めた画素値の平均値から式(1)を用いて距離値dを求めても良い。ここで、説明の簡単なため、上記いずれの場合であってもブロック画像の距離値と呼ぶことにする。
【0067】
ブロック画像の距離値の算出は、ここで述べた平均化による手法に限定する必要はなく、xy平面上のブロック画像を底辺とする立方体を定義し、ブロック画像を構成する距離値の総和と等しくなるようなz軸方向の高さを用いてもよいし、あるいは単にブロック画像を構成する距離値の中間値などを用いることもできる。
【0068】
奥行き方向動き検出部7では、距離画像を構成する全ブロック画像において、平面方向動き検出部5で検出された平面方向動きベクトルで推定される最新距離画像上の移動先として推定されるブロック画像の距離値、およびサンプル距離画像上の移動元のブロック画像の距離値を差し引くことで、奥行き方向動き情報を算出する。
【0069】
図11は、奥行き方向動き検出部7において、サンプル距離画像と最新距離画像上の移動元のブロック画像と移動先のブロック画像との距離値から奥行き方向の動き情報が算出される様子を表したものである。ここで算出された奥行き方向動き情報が最終的に奥行き方向動きベクトル(向きが奥行き方向で大きさが移動元のブロック画像と移動先のブロック画像との距離値の差)として出力される。
【0070】
以上説明したように、画像取得部1で取得される距離画像ストリームから平面方向動き情報のみならず、奥行き方向動き情報を検出することが可能となっている。
【0071】
ブロック分割部3におけるブロック分割の精度、つまり1フレームあたりのブロック分割を細かく行えば、より精細な動き情報の検出を行うことが可能であり、逆にブロック分割を粗く行えば、より大きな撮像対象物体に対して対象レベルの動き検出を高速に行うことが可能となる。
【0072】
動き認識部8については、後述する。
(第2の実施形態)
上記第1の実施形態では、平面方向動き情報を求め、その後、奥行き方向動き情報を求めているが、正確にいうならば、物体は、平面方向だけでなく、奥行き方向にも動いているので、最初に求めた平面方向動き情報には、奥行き方向動き情報を平面方向に投影した分の動きが影響してしまっている。
【0073】
そこで、第2の実施形態では、このような問題点を解決するため、まず、全てのブロック画像に対し、奥行き方向動き情報を求める。このとき、サンプル距離画像上のあるブロック画像と最新距離画像上のどのブロック画像とが対応するかはわかっていないので、最新距離画像上のサンプル距離画像上の対象ブロックに対応する位置の近傍の複数のブロック画像に対し、奥行き方向動き情報を求める。次に、この奥行き方向動き情報を用いて、ブロック画像の奥行き情報(すなわち、距離値)を補正し、補正された最新の距離画像のブロック画像について、平面方向動き情報を求める。このようにすることで、奥行き方向動き情報を含まない正確な平面方向動き情報を取得でき、さらにこれに基づいて、奥行き方向動き情報を求めることが可能となる。
【0074】
図12は、本発明の第2の実施形態に係る画像認識装置の全体構成図である。
【0075】
本実施形態の画像認識装置は、距離画像ストリームを取得するための撮像手段を備えた画像取得部1と、画像取得部1で取得された距離画像を格納する画像格納部12と、画像格納部12に格納された距離画像を動き検出単位となる所定の大きさの小領域(ブロック画像)に分割するブロック分割部13と、ブロック分割部13で分割されたブロック画像の奥行き情報(距離値)を算出する距離値算出部14と、画像取得部1で取得した距離画像を動き検出単位となる所定の大きさの小領域(ブロック画像)に分割するブロック分割部15と、ブロック分割部15で分割されたブロック画像の奥行き情報(距離値)を算出する距離値算出部16と、画像格納部12に格納された距離画像(サンプル距離画像)と画像取得部1で取得された距離画像(最新距離画像)との間でブロック画像毎に奥行き方向の動き(奥行き方向動きベクトル)を検出する奥行き方向動き検出部17と、奥行き方向動き検出部17で検出された奥行き方向動き情報に基づき画像取得部1で取得された距離画像上のブロック画像の奥行き情報を補正する奥行き情報補正部18と、奥行き情報を補正した最新距離画像上のブロック画像とサンプル距離画像上のブロック画像とから平面方向の動き(平面方向動きベクトル)を検出する平面方向動き検出部19と、平面方向動き検出部19で検出された平面方向動きベクトルと奥行き方向動き検出部17で検出された奥行き方向動きベクトルとテンプレート9を参照して動きを認識する動き認識部8と、認識すべき動きを登録したテンプレート9とから構成されている。
【0076】
画像取得部1、画像格納部12、ブロック分割部13、15、および距離値算出部14は、図1の画像取得部1、画像格納部2、ブロック分割部3、4、および距離値算出部6と同様であるので説明は省略し、異なる部分について説明する。
【0077】
図12に示す動き認識装置は、画像取得部1で取得した最新距離画像と画像格納部12に格納されたサンプル距離画像おのおのにおいて、各ブロック画像の奥行き情報(距離値)を、距離値算出部14、16で予め算出しておくことにある。
【0078】
奥行き方向動き検出部17では、サンプル距離画像上の動き検出対象であるブロック画像(対象ブロック)に対する最新距離画像上のブロック画像の奥行き方向の動きを検出する(奥行き方向動き情報を算出する)ものである。
【0079】
ここで、図13に示すフローチャートを参照して、奥行き方向動き検出部17における奥行き方向動き検出処理について説明する。
【0080】
まず、サンプル距離画像上のブロック画像のうち、動き情報算出の対象となるブロック画像(対象ブロック)を設定する(ステップS21)。
【0081】
画像取得部1で取得された最新距離画像上の動き情報探索の対象となるブロック画像(探索ブロック)の距離値を、ステップS21で設定されたサンプル距離画像上の対象ブロックの距離値と比較することで、奥行き方向動き情報を算出する(ステップS22)。探索ブロックは、最新距離画像上からサンプル距離画像上の対象ブロックに移動先となりうるブロック画像、すなわち、探索ブロックを選択する場合は、第1の実施形態と同様である。
【0082】
例えば、探索ブロックの距離値からサンプル距離画像上の対象ブロックの距離値を差し引くことで、その探索ブロックにおける対象ブロックの奥行き方向動き情報を求めることができる。
【0083】
この段階では最新距離画像上のどの探索ブロックにサンプル距離画像上の対象ブロックが遷移したかは明確でないが、ここで求めた各探索ブロックの奥行き方向動き情報が、最終的な奥行き方向動きベクトルとなるわけである。
【0084】
ステップS22の処理を最新距離画像上の全ての探索ブロックに対して行う(ステップS23)。全ての探索ブロックに対しステップS22の処理を終了したら、ステップS21に戻り、サンプル距離画像上の他のブロック画像を対象ブロックに設定して、サンプル距離画像上の全てのブロック画像についてステップS22の処理を行う(ステップS24)。
【0085】
奥行き情報補正部18では、奥行き方向動き検出部17で求めた各探索ブロックの奥行き方向動き情報にもとづき、最新距離画像上のブロック画像を変換し、平面方向動き検出部19において平面方向の動き成分を精度よく抽出するために、奥行き方向動き成分を補正する。
【0086】
ここで、図14に示すフローチャートを参照して、奥行き情報補正部18における、奥行き情報補正処理について説明する。
【0087】
まず、サンプル距離画像上のブロック画像のうち、動き情報算出の対象となるブロック画像(対象ブロック)を設定する(ステップS31)。奥行き方向動き検出部17で、動き情報探索の対象となった最新距離画像上のブロック画像に対して、各探索ブロック位置で求められた奥行き方向動き情報に基づき、当該ブロック画像全体に距離値を補正するための変換処理をかける(ステップS32)。
【0088】
一般に対象物体が奥行き方向に平行運動を行った場合、その動きは対象物体を撮像した距離画像上では、距離値変化、つまり濃淡変化として求められる。したがって、第1の実施形態における平面方向動き検出部5で行ったように異なる時間に取得された最新距離画像とサンプル距離画像間で、ブロック画像間の相関をとってもそれらの間に類似性を見出せない場合も起こり、この場合、平面方向の動き成分が検出できないということになるわけである。
【0089】
そこで、第2の実施形態では、この奥行き情報補正部18で、最新距離画像に奥行き成分の補正をかけることで、平面方向動き検出部19におけるブロック画像間の類似度計算において、上記の奥行き方向依存成分を除去することが必要になるわけである。
【0090】
ここでは、最新距離画像上の探索ブロックの画像をその距離値が、対象ブロックの距離値と等しくなるように変換処理をかけることにする。探索ブロックを構成する画素パターンには変化を与えず、距離値のみを変化させる最も簡単な方法は、ブロックを構成する画素全体の画素値をそのブロック画像の奥行き方向動き情報だけz軸方向にシフトさせることである。
【0091】
例えば、ブロック単位の計測で最新距離画像上のx軸方向にxブロック目、y軸方向にyブロック目の位置(x,y)にあるブロック画像中の画素値は次式(4)を用いて、奥行き方向の補正を行うことができる。
【0092】
【数3】
【0093】
図15は、奥行き情報補正部18で、最新距離画像上のブロック画像をそのブロック画像から検出された奥行き方向動き情報だけ、z軸(奥行き)方向に底上げし、当該ブロック画像の距離値をサンプル距離画像上の対象ブロックの画像の距離値に合わせている様子を示している。
【0094】
以上の奥行き情報補正処理を最新距離画像上の全ての探索ブロックに対して行う(ステップS33)。全ての探索ブロックに対しステップS32の処理を終了したら、ステップS31に戻り、サンプル距離画像上の他のブロック画像を対象ブロックに設定して、サンプル距離画像上の全てのブロック画像についてステップS22の処理を行う(ステップS24)。
【0095】
次に、平面方向動き検出部19では、サンプル距離画像上の対象ブロックの画像と、奥行き情報補正部18でその距離値を補正して得られた変換距離画像とから、対象ブロックの平面方向動き情報を検出する。
【0096】
平面方向動き検出部19における処理の流れは、第1の実施形態における平面方向動き検出部5および図8に示した平面方向動き検出部5の処理動作を示したフローチャートの説明で、探索ブロックとして奥行き情報補正部18で補正したブロック画像と置き換えれば同様である。
【0097】
最終的にサンプル距離画像上の各対象ブロックにおいて、平面方向動き検出部19で検出された最も相関の高いブロックへの相対ベクトルが平面方向動きベクトルとして検出され、移動先ブロック(最も相関の高いブロック)における奥行き方向動き検出部17であらかじめ検出しておいた奥行き方向動き情報が奥行き方向動きベクトルとして検出できたことになる。
【0098】
第1の実施形態における構成では、奥行き方向動き情報の検出処理が一度で済むため、高速に奥行き方向の動き情報を検出することができるが、奥行き方向の動き成分が大きな対象物に対しては、平面方向の動き成分を検出し損ねる可能性がある。一方、第2の実施形態における構成では、奥行き方向動き情報に基づき最新距離画像の奥行き情報に補正をかけ、奥行き方向の動き成分による距離画像の濃淡変化を補正した上で、平面方向動き情報の検出を行っているため、より高精度に奥行き方向の動き成分を有する対象物の3次元動き情報を検出することが可能となる。
(第1および第2の実施形態における動き検出結果の表示および動き認識部8の説明)
図17、18は、第1の実施形態の平面方向動き検出部5と奥行き方向動き検出部7、あるいは第2の実施形態の奥行き方向動き検出部17と平面方向動き検出部19にて検出された、3次元動き情報(平面方向動きベクトル、奥行き方向動きベクトル)を3次元的なベクトルで表して、所定の表示装置に表示する際の表示例を示したものである。
【0099】
ここでは、例えば、64×64の画素で構成される距離画像を縦方向に8等分、横方向に8等分に分割し、各ブロック画像における動きベクトルを矢印で3次元的に表示したものである。
【0100】
動きベクトルを3次元的に表示するとは、例えば、図19に示すように、移動距離が0〜5cm、5〜10cm、10〜15cmと3段階に分類して、奥行き方向動き情報に基づき、矢印を段階的に色を違えたり、線分の種類を違えたりして表示すればよい。
【0101】
図17、18に示した画面表示例で、画面の下部に表示してあるスケールは、求められた各ブロック画像の動きベクトルを合成することで、フレーム全体のXYZ各軸方向における動き成分のかたよりを表示したものである。例えば、図17の場合、X軸方向の動きスケールが右に片寄っている、つまり動きベクトルが全体的に右を向いていることを示しており、撮像した手が右に動いていると解釈することができる。同様にY軸方向、あるいは奥行き方向(Z軸方向)に関しても、動きベクトルのY軸方向成分、奥行き成分(Z軸方向成分)を観察することで、撮像しているオブジェクトの全体的な動きも検出することができるわけである。
【0102】
このように、フレーム画像中の特定個所、つまり各ブロック画像における動き情報を検出するだけでなく、各ブロックにおける動きベクトルを合成することで、領域としての動き情報を求めることも可能であり、オブジェクトの動き認識といったより高次の動き検出に利用することもできる。
【0103】
例えば、図1、図12の動き認識部8では、64×64の画素で構成される距離画像を縦方向に8等分、横方向に8等分に分割して各ブロック画像から検出された平面方向および奥行き方向の動きベクトルを合成して、縦方向に2等分、横方向に2等分に分割して計4つのブロック画像毎の3次元的な動きベクトルを算出する。
【0104】
この動きベクトルと図16に示したようなテンプレート9と照合して検出された動きがどのような種類の動きであるかを認識する。このテンプレート9は、所定のメモリ上に構成される。
【0105】
図16に示したテンプレート9には、認識すべき動き(例えば、右上への移動、左上への移動、右回りの回転移動、左回りの回転移動等)のそれぞれに対応する4つの各ブロック画像毎の3次元動きベクトルが予め登録されている。
【0106】
動き認識部8は、図17に示したような動きベクトルを合成して4つの3次元動きベクトルを算出し、図19に示したようなテンプレート9を参照することにより、この距離画像から検出された動きは右上への移動であると認識できる。また、図18に示したような動きベクトルを合成して4つの3次元動きベクトルを算出し、図19に示したようなテンプレートを参照することにより、この距離画像から検出された動きは右回りの回転移動であると認識できる。
【0107】
以上の各構成部は、画像取得部1の撮像部分を除いて、ソフトウェアとしても実現可能である。すなわち、上記した各手順をコンピュータに実行させることのできるプログラムとして機械読みとり可能な記録媒体に記録して頒布することができる。
【0108】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0109】
【発明の効果】
以上説明したように、本発明によれば、3次元的な動きを高精度に検出できる。また、3次元的な動き高精度に認識できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る画像認識装置の構成例を概略的に示す図。
【図2】画像取得部の概略的な構成図。
【図3】距離画像をマトリックス状に示した図。
【図4】距離画像を3次元的に示した図。
【図5】画像取得部を構成する発光部と受光部の外観の一例を示した図。
【図6】距離画像の一具体例を示した図。
【図7】図6の距離画像を分割した様子を示した図。
【図8】平面方向動き検出処理動作を説明するためのフローチャート。
【図9】平面方向動き検出処理を具体的に説明するための図。
【図10】ブロック画像の奥行き情報(距離値)を概念的に説明するための図。
【図11】奥行き方向動き検出処理を具体的に説明するための図。
【図12】本発明の第2の実施形態に係る画像認識装置の構成例を概略的に示す図。
【図13】奥行き方向動き検出処理について説明するためのフローチャート。
【図14】奥行き情報補正処理について説明するためのフローチャート。
【図15】奥行き情報補正処理を具体的に説明するための図。
【図16】認識すべき動きの登録されたテンプレートの一例を示した図。
【図17】3次元動き情報(平面方向動きベクトル、奥行き方向動きベクトル)を3次元的なベクトルで表して、所定の表示装置に表示する際の表示例を示した図。
【図18】3次元動き情報(平面方向動きベクトル、奥行き方向動きベクトル)を3次元的なベクトルで表して、所定の表示装置に表示する際の表示例を示した図。
【図19】3次元動き情報(平面方向動きベクトル、奥行き方向動きベクトル)を表したベクトルの3次元的な表示例を示した図。
【符号の説明】
1…画像取得部
2…画像格納部
3、4…ブロック分割部
5…平面方向動き検出部
6…距離値算出部
7…奥行き方向動き検出部
8…動き認識部
9…テンプレート
12…画像格納部
13…ブロック分割部
14…距離値算出部
15…ブロック分割部
16…距離値算出部
17…奥行き方向動き検出部
18…奥行き情報補正部
19…平面方向動き検出部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion detection method for detecting motion in the depth direction as well as the planar direction, and a motion detection apparatus using the same.
[0002]
The present invention also relates to a motion recognition method that detects motion in the depth direction as well as in the plane direction and recognizes the motion, and a motion recognition apparatus using the motion recognition method.
[0003]
[Prior art]
Conventionally, when trying to extract the movement of a recognition object using an imaging device such as a video camera, the following method has been taken.
[0004]
The first is a technique called optical flow. In this method, attention is paid to a specific block image, and a direction in which a certain image area has moved in a plane between adjacent frames is measured and the direction thereof is estimated. A typical method for specifying the moving direction of the target image in the next frame is to calculate the similarity between adjacent frames in time series. A correlation coefficient with the block image of interest in the previous frame is calculated for block images of the same size in the vicinity of the target image area, and the direction to the block with the highest coefficient is estimated as a motion vector.
[0005]
This technology is widely used in the field of robot vision, such as human face tracking. Since the calculation of correlation coefficients is easy to implement in hardware, it is possible to add real-time data by adding a special accelerator board that calculates correlation coefficients. Tracking is also possible. In this method, if the block image of interest does not change greatly in two dimensions, it is possible to extract the motion component in the plane direction with considerable accuracy, but the target image is a two-dimensional image acquired by a video camera or the like. Therefore, the three-dimensional motion information including the depth direction cannot be detected.
[0006]
In addition, as an example of development of the optical flow, a sensor that estimates a motion vector by extracting difference information between adjacent pixels in a hardware manner has also appeared. Since motion components can be taken in real time, they are being used in entertainment fields such as games or surveillance systems. Also in this case, two-dimensional motion information at the pixel level is extracted, but it is impossible to extract motion information in the depth direction.
[0007]
As another method, there is a method of tracking feature points in an image in addition to the detection of motion for the entire image. For example, consider tracking the movement of the hand. In this case, first, it is necessary to define a portion corresponding to the hand from the acquired images of the hands picked up from a plurality of cameras as feature points and detect the three-dimensional position information. For this purpose, first, feature points (hands) are extracted from images acquired at the same time by each camera, and three-dimensional spatial position information of the feature points is obtained from the screen coordinates in the manner of triangulation. Next, feature points, in this case, three-dimensional motion information of the hand can be detected from the spatial position information of the feature points obtained in time series. However, this method requires a complicated work such as feature point extraction and association after performing calibration corresponding to the adjustment of various parameters of each camera in advance. Absent.
[0008]
There is also a technique called motion capture in which a sensor is previously attached to a part such as a joint that characterizes the movement, the sensor part is extracted from the captured image, and two-dimensional or three-dimensional movement is measured. In this method, the feature point extraction and association processing is lighter than the method introduced above, but the cost of the entire system is high, and there are many restrictions on operating the system. Furthermore, it is necessary to wear a specific sensor device that is bothersome, and it is not very usable for general users.
[0009]
As described above, the conventional method has various problems in the method of extracting a three-dimensional motion including depth information from an image series.
[0010]
[Problem to be Solved by the Invention]
As described above, in the conventional method, since the recognition target is acquired as an image having only two-dimensional information using a video camera or the like, the extraction of the three-dimensional motion of the target is performed only from the two-dimensional information. However, it is impossible to recognize a three-dimensional motion including the depth direction with high accuracy.
[0011]
Therefore, an object of the present invention is to provide a motion detection method and a motion detection apparatus using the same, which can detect a three-dimensional motion with high accuracy.
[0012]
It is another object of the present invention to provide a motion recognition method capable of recognizing three-dimensional motion with high accuracy and a motion recognition apparatus using the same.
[0013]
[Means for Solving the Problems]
(1) In the motion detection method of the present invention, the acquired distance image is divided into small regions of a predetermined size, and the motion in the planar direction is detected for each similar small region between the continuously acquired distance images. It is possible to detect three-dimensional motion with high accuracy by detecting depth information for each small region and detecting motion in the depth direction between similar small regions based on the depth information. it can.
[0014]
(2) The motion detection method of the present invention divides the acquired distance image into small areas of a predetermined size, calculates depth information for each of the small areas, and A movement in the depth direction is detected for each small area based on the depth information, and the movement source small area and the small area in which the depth information is corrected based on the detected movement in the depth direction, the movement source By detecting the movement in the planar direction between the small areas similar to the small areas, and correcting the change in shade of the distance image due to the movement component in the depth direction, the plane direction movement information is detected. It is possible to detect a three-dimensional movement of an object having a movement component in the depth direction with higher accuracy.
[0015]
(3) In the motion recognition method of the present invention, the acquired distance image is divided into small areas of a predetermined size, and the movement in the planar direction is performed for each similar small area between the continuously acquired distance images. Detecting depth information for each small area, detecting movement in the depth direction between similar small areas based on the depth information, and detecting the movement from the movement in the plane direction and the movement in the depth direction. Can be recognized with high accuracy.
[0016]
(4) In the motion recognition method of the present invention, the acquired distance image is divided into small areas of a predetermined size, depth information is calculated for each small area, and A motion in the depth direction is detected based on the depth information for each small region, and the small information is obtained by correcting the depth information based on the small region of the movement source and the detected movement in the depth direction. By detecting the movement in the plane direction between the small area similar to the area and recognizing the movement from the movement in the plane direction and the movement in the depth direction, the change in the gradation of the distance image due to the movement component in the depth direction Since the plane direction motion information is detected after correcting the above, it is possible to recognize the three-dimensional motion of the object having the motion component in the depth direction with higher accuracy.
[0017]
(5) The motion detection apparatus of the present invention includes an image acquisition unit that acquires a distance image;
A dividing unit that divides the distance image acquired by the image acquiring unit into small areas of a predetermined size;
First distance detection means for detecting a movement in a planar direction for each of the similar small regions between distance images continuously acquired by the image acquisition means;
Calculating means for calculating depth information for each small area;
Second detection means for detecting movement in the depth direction between similar small regions based on the depth information calculated by the calculation means;
The three-dimensional movement can be detected with high accuracy.
[0018]
(6) The motion detection apparatus of the present invention includes an image acquisition unit that acquires a distance image;
A dividing unit that divides the distance image acquired by the image acquiring unit into small areas of a predetermined size;
Calculating means for calculating depth information for each small area;
A first motion detection unit that detects a motion in the depth direction based on the depth information for each of the small regions between distance images continuously acquired by the image acquisition unit;
Correction means for correcting the depth information based on the movement in the depth direction detected by the first detection means;
Second detection means for detecting a movement in a planar direction between the movement-source small area and the small area whose depth information has been corrected by the correction means and similar to the movement-source small area; Since the detection of the plane direction motion information is performed after correcting the change in density of the distance image due to the motion component in the depth direction, the
[0019]
(7) The motion recognition apparatus of the present invention includes an image acquisition unit that acquires a distance image;
A dividing unit that divides the distance image acquired by the image acquiring unit into small areas of a predetermined size;
First distance detection means for detecting a movement in a planar direction for each of the similar small regions between distance images continuously acquired by the image acquisition means;
Calculating means for calculating depth information for each small area;
Second detection means for detecting movement in the depth direction between similar small regions based on the depth information calculated by the calculation means;
Recognizing means for recognizing the movement from the movement in the planar direction and the movement in the depth direction detected between similar small regions;
With this, it is possible to recognize a three-dimensional movement with high accuracy.
[0020]
(8) The motion recognition apparatus of the present invention includes an image acquisition unit that acquires a distance image;
A dividing unit that divides the distance image acquired by the image acquiring unit into small areas of a predetermined size;
Calculating means for calculating depth information for each small area;
A first motion detection unit that detects a motion in the depth direction based on the depth information for each of the small regions between distance images continuously acquired by the image acquisition unit;
Correction means for correcting the depth information based on the movement in the depth direction detected by the first detection means;
Second detection means for detecting a movement in a planar direction between the movement-source small area and the small area whose depth information has been corrected by the correction means and similar to the movement-source small area; ,
Recognizing means for recognizing the movement from the movement in the planar direction and the movement in the depth direction detected between similar small regions;
Since the detection of the plane direction motion information is performed after correcting the change in density of the distance image due to the motion component in the depth direction, the
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
(First embodiment)
FIG. 1 is an overall configuration diagram of an image recognition apparatus according to a first embodiment of the present invention.
[0022]
The image recognition apparatus according to the present embodiment includes an image acquisition unit 1 including an imaging unit for acquiring a distance image stream, an
[0023]
First, the image acquisition unit 1 and the distance image will be described.
[0024]
The image acquisition unit 1 uses a recognition target object (for example, a human hand, face, whole body, etc.) as an image having a depth value reflecting the three-dimensional shape (hereinafter referred to as a distance image) at predetermined time intervals (for example, 1 / Every 30 seconds, etc.) (for example, it can be realized using the image acquisition method of Japanese Patent Application No. 8-274949).
[0025]
Since distance images are acquired every predetermined time, these are sequentially held inside or outside the image acquisition unit 1 using a memory or the like, thereby moving a moving image (hereinafter referred to as a distance image stream) based on the distance image of the object. Can be obtained). At this time, when the distance image acquisition interval is t seconds, the distance image stream includes “the latest distance image”, “the distance image t seconds before the latest (hereinafter referred to as one frame before)”, “from the latest It is obtained as an aggregate of distance images of a plurality of frames, such as a distance image 2 t seconds ago (two frames before, and so on).
[0026]
As shown in FIG. 2, the image acquisition unit 1 mainly includes a
[0027]
The
[0028]
The
[0029]
The reflected
[0030]
In general, the
[0031]
The reflected
[0032]
For the sake of simplicity, FIG. 3 shows a case of a reflected light image of 8 × 8 pixels that is a part of a reflected light image of 256 × 256 pixels.
[0033]
The reflected light from the object decreases significantly as the distance of the object increases. When the surface of the object scatters light uniformly, the amount of received light per pixel of the reflected light image decreases in inverse proportion to the square of the distance to the object.
[0034]
Each pixel value of the reflected light image represents the amount of reflected light received by the unit light receiving unit corresponding to the pixel. Reflected light is affected by the nature of the object (specularly reflects, scatters, absorbs, etc.), the direction of the object, the distance of the object, etc., but the entire object scatters light uniformly. In this case, the amount of reflected light is closely related to the distance to the object. Since the hand and the like have such properties, the reflected light image when the hand is put out in front of the image acquisition unit 1 reflects the distance to the hand, the inclination of the hand (partially different distance), and the like. A three-dimensional image as shown in FIG. 4 can be obtained.
[0035]
FIG. 5 shows an example of the appearance of the
[0036]
The light emitted from the
[0037]
FIG. 3 shows a part of the distance image data (a part of 256 × 256 pixels, 8 × 8 pixels). In this example, the value of the cell (pixel value) in the matrix indicates the intensity of the acquired reflected light in 8-bit 256 gradations. For example, a cell having a value of “255” is closest to the image acquisition unit 1, a cell having a value of “0” is far from the image acquisition unit 1, and reflected light reaches the image acquisition unit 1. Indicates that it will not reach.
[0038]
FIG. 4 three-dimensionally shows the entire distance image data in the matrix format as shown in FIG. This example shows the case of distance image data of a human hand.
[0039]
FIG. 6 shows an example of a hand distance image acquired by the image acquisition unit 1. The distance image is a three-dimensional image having depth information, and is, for example, an image having 64 pixels in the x-axis (horizontal) direction, 64 pixels in the y-axis (vertical) direction, and 256 gradations in the z-axis (depth) direction. FIG. 6 shows the distance value of the distance image, that is, the gradation in the z-axis direction in gray scale. In this case, the closer the color is to black, the closer the distance from the image acquisition unit 1 is, and the closer to white is the distance. Indicates that it is far away. Further, a place where the color is completely white indicates that there is no image, or even if it is present, it is the same as not far away.
[0040]
The intensity of reflected light from an object decreases in inverse proportion to the square of the distance to the object. That is, if the pixel value of each pixel (i, j) in the distance image is Q (i, j),
Q (i, j) = K / d 2 ... (1)
It can be expressed as.
[0041]
Here, for example, K is a coefficient adjusted so that the value of R (i, j) becomes “255” when d = 0.5 m. The distance value can be obtained by solving the above equation for d.
[0042]
Next, each component of the motion recognition apparatus in FIG. 1 will be described in more detail.
[0043]
The
[0044]
Here, how many frames before the distance image is used as the sample distance image is determined based on information such as the distance image acquisition interval (frame rate) of the image acquisition unit 1 and the operation speed of the object. For example, if N frames can be acquired during a series of operations in which the two-dimensional projection image of the object does not change, the sample image may be arbitrarily selected between 1 to N frame previous distance images.
[0045]
The
[0046]
The block division unit 4 is for dividing the distance image (latest distance image) newly acquired by the image acquisition unit 1 into block images serving as motion detection units.
[0047]
Here, it is considered that the acquired distance image is divided into block images having the same size. For example, when the frame size of the target distance image is 64 pixels in the x-axis (horizontal) direction and 64 pixels in the y-axis (vertical) direction, dividing into 8 equal parts in each of the x-axis direction and the y-axis direction results in 1 The size of one block image is composed of a total of 8 × 8 = 64 pixels of 8 pixels in the x-axis (horizontal) direction and 8 pixels in the y-axis (vertical) direction.
[0048]
FIG. 7 shows a state in which the distance image shown in FIG. 6 is divided into 8 × 8 block images.
[0049]
Next, from the sample distance image actually stored in the
[0050]
First, among the block images on the sample distance image divided by the
[0051]
Movement estimated that the object has moved by calculating the similarity between the block image (search block) on the latest distance image divided by the block dividing unit 4 and the target block set in step S1 The previous block is searched (step S2).
[0052]
Assuming that the search block on the latest distance image that is the target of similarity calculation is divided into the same block size by the
[0053]
Here, as shown in FIG. 9, both the latest distance image G1 and the sample distance image G2 one frame before are divided into block images of a certain size, and the similarity between the block images is obtained. For example, when a distance image having a frame size of 64 pixels in the x-axis direction and 64 pixels in the y-axis direction is divided into 8 in each of the x-axis direction and the y-axis direction, the block sizes in the x-axis direction and the y-axis direction are both 64 / 8 = 8 pixels. The search range on the latest distance image G2 is block images b11, b12, b13, b21, b23, b31, b32, and b33 that are shifted by one block vertically and horizontally with respect to the target block a22 in the sample distance image G1. .
[0054]
Note that the search block in the latest distance image does not necessarily have to be selected so that the search blocks do not overlap with each other as described above. The maximum (x-axis direction frame size−x-axis direction block size) × (y-axis direction frame size) is shifted by one pixel in the x-axis direction and y-axis direction around the block image at the same position as the target block a22. -Y-axis direction block size), arbitrarily.
[0055]
Search block on the latest distance image (measured in block units, the position is the x-th block in the x-axis direction, the y-th block in the y-axis direction is (x, y)), and the target on the sample distance image The similarity Czw-xy between blocks (measured in units of blocks, with the z-th block in the x-axis direction, the w-th block in the y-axis direction, and (z, w)) is, for example, 2).
[0056]
[Expression 1]
[0057]
Using the equation (2), the target block (for example, the target block a22 in FIG. 9) and all the search blocks (for example, the search blocks b11, b12, b13, b21, and b23 in FIG. 9) on the latest distance image around the target block. , B31, b32, b33) are calculated (step 3). In FIG. 9, the similarity between the target block a22 in the sample distance image G1 and the search blocks b11, b12, b13, b21, b23, b31, b32, and b33 in the latest distance image G2 is obtained using Equation (2). The similarity with the search block b22 is “0.1”, the similarity with the search block b32 is “0.2”, the similarity with the search block b33 is “0.9”, and other search blocks Is similar to “0”.
[0058]
When the processing is completed for all the search blocks, the plane direction
[0059]
In the plane direction motion vector calculation processing, the block image most similar to the target block is extracted from the similarity calculation result of the search block on the latest distance image with respect to the target block on the sample distance image obtained above.
[0060]
When the similarity is calculated using Expression (2), the search block having the highest value is extracted. For example, in FIG. 9, since the search block in the latest distance image that is most similar to the target block a22 in the sample distance image is b33, the search block starts from the target block a22 (here, the end point or the center position of the target block a22). The vector to b33 (here, the end point or the center position of the search block b33) becomes the final motion vector in the plane direction.
[0061]
For example, the position of the target block is the position of (2, 2) in block unit measurement (that is, the second block in the x-axis direction and the second block in the y-axis direction), and the position of the search block with the highest similarity Is the position of (3, 3) in the same way, the amount of movement estimated to have moved the block in the plane direction is (3, 3)-(2, 2) = (1, 1), and the final The amount of motion vector in the plane direction is 1 × (block size in the x-axis direction) in the x-axis direction and 1 × (block size in the y-axis direction) in the y-axis direction.
[0062]
FIG. 9 illustrates the similarity calculated using Equation (2) and the finally detected motion vector in the planar direction in the search block in the vertical and horizontal one block range centered on the target block. It is.
[0063]
Steps S1 to S4 are repeated for all block images on the sample distance image as the target block, and a plane direction motion vector is calculated (step S5).
[0064]
The distance value calculation unit 6 obtains a distance value in the z-axis direction (depth direction) of the block image on the distance image. This corresponds to obtaining depth information representative of the distance to the target object imaged in the block image.
[0065]
FIG. 10 conceptually shows a case where the distance value of a block image is obtained by averaging all pixel values constituting the block image. For example, the distance value Dxy of the block image at the coordinates (x, y) can be obtained from the following equation (3) by averaging all pixel values in the block image. In FIG. 10, continuous pixel values (in this case, corresponding to distance values) of two adjacent block images (first block image and second block image) in one frame are continuously smooth. It is drawn with a curve.
[Expression 2]
[0066]
It should be noted that the average value of the pixel values in the block image may be simply used as the distance value as is using the equation (3), and each pixel in the block image is used when the equation (3) is used. For example, the distance value d obtained using the equation (1) may be used as Fxy, and the distance value d using the equation (1) from the average value of the pixel values obtained using the equation (3). You may ask for. Here, for the sake of simplicity of explanation, in any case, the distance value of the block image is referred to.
[0067]
The calculation of the distance value of the block image need not be limited to the averaging method described here, but a cube whose base is the block image on the xy plane is defined and is equal to the sum of the distance values constituting the block image. A height in the z-axis direction as described above may be used, or an intermediate value of distance values constituting a block image may be used.
[0068]
In the depth direction
[0069]
FIG. 11 shows how the depth direction
[0070]
As described above, it is possible to detect not only the plane direction motion information but also the depth direction motion information from the distance image stream acquired by the image acquisition unit 1.
[0071]
If the
[0072]
The
(Second Embodiment)
In the first embodiment, plane direction motion information is obtained, and then depth direction motion information is obtained. To be precise, the object moves not only in the plane direction but also in the depth direction. The motion information obtained by projecting the depth direction motion information in the plane direction has an influence on the plane direction motion information obtained first.
[0073]
Therefore, in the second embodiment, in order to solve such a problem, first, depth direction motion information is obtained for all block images. At this time, since it is not known which block image on the latest distance image corresponds to a certain block image on the sample distance image, the position near the position corresponding to the target block on the sample distance image on the latest distance image. Depth direction motion information is obtained for a plurality of block images. Next, using the depth direction motion information, the depth information (that is, the distance value) of the block image is corrected, and the plane direction motion information is obtained for the corrected block image of the latest distance image. In this way, accurate plane direction motion information that does not include depth direction motion information can be acquired, and based on this, depth direction motion information can be obtained.
[0074]
FIG. 12 is an overall configuration diagram of an image recognition apparatus according to the second embodiment of the present invention.
[0075]
The image recognition apparatus according to the present embodiment includes an image acquisition unit 1 including an imaging unit for acquiring a distance image stream, an
[0076]
The image acquisition unit 1, the
[0077]
The motion recognition apparatus shown in FIG. 12 uses the depth information (distance value) of each block image as the distance value calculation unit in the latest distance image acquired by the image acquisition unit 1 and the sample distance image stored in the
[0078]
The depth direction
[0079]
Here, the depth direction motion detection processing in the depth direction
[0080]
First, among the block images on the sample distance image, a block image (target block) that is a target for motion information calculation is set (step S21).
[0081]
The distance value of the block image (search block) that is the target of motion information search on the latest distance image acquired by the image acquisition unit 1 is compared with the distance value of the target block on the sample distance image set in step S21. Thus, the depth direction motion information is calculated (step S22). The search block is the same as that in the first embodiment when selecting a block image that can be a movement destination from the latest distance image to the target block on the sample distance image, that is, a search block.
[0082]
For example, by subtracting the distance value of the target block on the sample distance image from the distance value of the search block, it is possible to obtain the depth direction motion information of the target block in the search block.
[0083]
At this stage, it is not clear to which search block on the latest distance image the target block on the sample distance image has transitioned, but the depth direction motion information of each search block obtained here is the final depth direction motion vector. That is why.
[0084]
The process of step S22 is performed on all search blocks on the latest distance image (step S23). When the process of step S22 is completed for all the search blocks, the process returns to step S21, another block image on the sample distance image is set as the target block, and the process of step S22 is performed on all the block images on the sample distance image. Is performed (step S24).
[0085]
The depth information correction unit 18 converts the block image on the latest distance image based on the depth direction motion information of each search block obtained by the depth direction
[0086]
Here, the depth information correction processing in the depth information correction unit 18 will be described with reference to the flowchart shown in FIG.
[0087]
First, among the block images on the sample distance image, a block image (target block) that is a target for motion information calculation is set (step S31). The depth direction
[0088]
In general, when a target object performs a parallel motion in the depth direction, the movement is obtained as a change in distance value, that is, a change in shading on a distance image obtained by imaging the target object. Therefore, even if the correlation between the block images is found between the latest distance image and the sample distance image acquired at different times as performed by the planar direction
[0089]
Therefore, in the second embodiment, the depth information correction unit 18 corrects the depth component of the latest distance image, thereby calculating the above-described depth direction in the similarity calculation between the block images in the planar direction
[0090]
Here, a conversion process is applied to the image of the search block on the latest distance image so that the distance value thereof is equal to the distance value of the target block. The simplest way to change only the distance value without changing the pixel pattern that forms the search block is to shift the pixel value of all the pixels that make up the block in the z-axis direction by the motion information in the depth direction of the block image. It is to let you.
[0091]
For example, the pixel value in the block image at the position (x, y) of the x-th block in the x-axis direction and the y-th block in the y-axis direction on the latest distance image in block unit measurement uses the following equation (4). Thus, correction in the depth direction can be performed.
[0092]
[Equation 3]
[0093]
FIG. 15 shows a depth information correction unit 18 that raises the block image on the latest distance image by the depth direction motion information detected from the block image in the z-axis (depth) direction and samples the distance value of the block image. It shows a state in which it is matched with the distance value of the image of the target block on the distance image.
[0094]
The depth information correction process described above is performed on all search blocks on the latest distance image (step S33). When the process of step S32 is completed for all the search blocks, the process returns to step S31, another block image on the sample distance image is set as the target block, and the process of step S22 is performed on all the block images on the sample distance image. Is performed (step S24).
[0095]
Next, the plane direction
[0096]
The flow of processing in the plane direction
[0097]
Finally, in each target block on the sample distance image, the relative vector to the block with the highest correlation detected by the plane direction
[0098]
In the configuration of the first embodiment, since the depth direction motion information detection process only needs to be performed once, the motion information in the depth direction can be detected at high speed, but for an object having a large motion component in the depth direction. There is a possibility of failing to detect the motion component in the plane direction. On the other hand, in the configuration according to the second embodiment, the depth information of the latest distance image is corrected based on the depth direction motion information, and the change in shade of the distance image due to the motion component in the depth direction is corrected. Since the detection is performed, it is possible to detect the three-dimensional motion information of the object having the motion component in the depth direction with higher accuracy.
(Display of motion detection result and description of
17 and 18 are detected by the planar
[0099]
Here, for example, a distance image composed of 64 × 64 pixels is divided into eight equal parts in the vertical direction and eight equal parts in the horizontal direction, and the motion vectors in each block image are displayed three-dimensionally with arrows. It is.
[0100]
For example, as shown in FIG. 19, the movement vector is displayed in three stages, as shown in FIG. 19, and the movement distance is classified into three stages of 0 to 5 cm, 5 to 10 cm, and 10 to 15 cm. May be displayed in stages with different colors or different line segments.
[0101]
In the screen display examples shown in FIGS. 17 and 18, the scale displayed at the bottom of the screen is obtained by combining the motion vectors of the obtained block images to determine the motion components in the XYZ axis directions of the entire frame. Is displayed. For example, in the case of FIG. 17, the motion scale in the X-axis direction is shifted to the right, that is, the motion vector is entirely pointing to the right, and the captured hand is interpreted as moving to the right. be able to. Similarly, with regard to the Y-axis direction or the depth direction (Z-axis direction), by observing the Y-axis direction component and depth component (Z-axis direction component) of the motion vector, the overall movement of the object being imaged can also be observed. It can be detected.
[0102]
In this way, it is possible not only to detect motion information in a specific location in a frame image, that is, in each block image, but also to determine motion information as a region by combining motion vectors in each block. It can also be used for higher-order motion detection such as motion recognition.
[0103]
For example, in the
[0104]
It is recognized what kind of motion the motion detected by comparing this motion vector with the
[0105]
The
[0106]
The
[0107]
Each of the above components can be implemented as software except for the imaging portion of the image acquisition unit 1. That is, the above-described procedures can be recorded and distributed on a machine-readable recording medium as a program that can be executed by a computer.
[0108]
The present invention is not limited to the above-described embodiment, and can be implemented with various modifications within the technical scope thereof.
[0109]
【The invention's effect】
As described above, according to the present invention, three-dimensional movement can be detected with high accuracy. In addition, it is possible to recognize three-dimensional movement with high accuracy.
[Brief description of the drawings]
FIG. 1 is a diagram schematically showing a configuration example of an image recognition apparatus according to a first embodiment of the present invention.
FIG. 2 is a schematic configuration diagram of an image acquisition unit.
FIG. 3 is a diagram showing a distance image in a matrix.
FIG. 4 is a diagram showing a three-dimensional distance image.
FIG. 5 is a diagram illustrating an example of the appearance of a light emitting unit and a light receiving unit that constitute an image acquisition unit.
FIG. 6 is a diagram showing a specific example of a distance image.
7 is a diagram illustrating a state in which the distance image in FIG. 6 is divided.
FIG. 8 is a flowchart for explaining a planar direction motion detection processing operation;
FIG. 9 is a diagram for specifically explaining planar direction motion detection processing;
FIG. 10 is a diagram for conceptually explaining depth information (distance value) of a block image.
FIG. 11 is a diagram for specifically explaining depth direction motion detection processing;
FIG. 12 is a diagram schematically showing a configuration example of an image recognition apparatus according to a second embodiment of the present invention.
FIG. 13 is a flowchart for explaining depth direction motion detection processing;
FIG. 14 is a flowchart for explaining depth information correction processing;
FIG. 15 is a diagram for specifically explaining depth information correction processing;
FIG. 16 is a diagram showing an example of a template in which a motion to be recognized is registered.
FIG. 17 is a diagram showing a display example when three-dimensional motion information (planar direction motion vector, depth direction motion vector) is represented by a three-dimensional vector and displayed on a predetermined display device.
FIG. 18 is a diagram illustrating a display example when three-dimensional motion information (planar direction motion vector, depth direction motion vector) is represented by a three-dimensional vector and displayed on a predetermined display device.
FIG. 19 is a diagram illustrating a three-dimensional display example of a vector representing three-dimensional motion information (planar direction motion vector, depth direction motion vector).
[Explanation of symbols]
1 ... Image acquisition unit
2 ... Image storage
3, 4 ... Block division part
5 ... Planar direction motion detector
6 ... Distance value calculation unit
7 ... Depth direction motion detector
8 ... Motion recognition unit
9 ... Template
12. Image storage unit
13: Block division section
14: Distance value calculation unit
15: Block division part
16: Distance value calculation unit
17 ... Depth direction motion detector
18 ... Depth information correction unit
19 ... Planar direction motion detector
Claims (12)
前記第1及び第2の距離画像を任意の大きさの小領域に分割する第2のステップと、
前記第1及び第2の距離画像間で最も類似する小領域を求める第3のステップと、
前記第1及び第2の距離画像間で前記最も類似する各小領域について、当該小領域内の画素値の代表画素値を算出する第4のステップと、
前記最も類似する各小領域の代表画素値の差分を算出して、奥行き方向の動き量を求める第5のステップと、
前記第1及び第2の距離画像上での前記最も類似する各小領域の位置の差異から、平面方向動きベクトルを算出する第6のステップと、
を有することを特徴とする動き検出方法。 A first step of acquiring a first distance image and a second distance image in which each pixel value indicates a distance value in the depth direction in time series;
A second step of dividing the first and second distance images into small regions of arbitrary size;
A third step for determining a small region most similar between the first and second range images;
A fourth step of calculating, for each of the most similar small areas between the first and second distance images, a representative pixel value of a pixel value in the small area;
A fifth step of calculating a difference between representative pixel values of the most similar small regions to obtain a motion amount in the depth direction;
A sixth step of calculating a planar motion vector from the difference in position of each of the most similar small regions on the first and second distance images;
Motion detecting method characterized by having a.
前記第1及び第2の距離画像を任意の大きさの小領域に分割する第2のステップと、
前記第1及び第2の距離画像の各小領域について、当該小領域内の画素値の代表画素値を算出する第3のステップと、
前記第1の距離画像の第1の小領域の前記代表画素値と、前記第2の距離画像内の前記第1の小領域の周辺の複数の小領域のそれぞれの前記代表画素値とが等しくなるように、当該複数の小領域のそれぞれの各画素値を補正する第4のステップと、
各画素値の補正された前記複数の小領域のなかから、前記第1の距離画像の前記第1の小領域と最も類似する第2の小領域を求める第5のステップと、
前記第1の距離画像上での前記第1の小領域の位置と前記第2の距離画像上での前記第2の小領域の位置との差異から、平面方向動きベクトルを算出する第6のステップと、
前記第1の距離画像の前記第1の小領域の前記代表画素値と前記第2の距離画像の前記第2の小領域の前記代表画素値との差分を算出して、奥行き方向の動き量を求める第7のステップと、
を有することを特徴とする動き検出方法。 A first step of acquiring a first distance image and a second distance image in which each pixel value indicates a distance value in the depth direction in time series;
A second step of dividing the first and second distance images into small regions of arbitrary size;
A third step of calculating a representative pixel value of a pixel value in the small region for each of the small regions of the first and second distance images;
The representative pixel value of the first small area of the first distance image is equal to the representative pixel value of each of a plurality of small areas around the first small area in the second distance image. A fourth step of correcting each pixel value of the plurality of small regions,
A fifth step of obtaining a second subregion most similar to the first subregion of the first distance image from the plurality of subregions corrected for each pixel value;
A plane direction motion vector is calculated from a difference between the position of the first small area on the first distance image and the position of the second small area on the second distance image. Steps,
Calculating a difference between the representative pixel value of the first small area of the first distance image and the representative pixel value of the second small area of the second distance image, and moving amount in the depth direction A seventh step for determining
Motion detecting method characterized by having a.
前記距離画像生成手段で生成された、時系列の第1の距離画像と第2の距離画像を任意の大きさの小領域に分割する分割手段と、
前記第1及び第2の距離画像間で最も類似する小領域を求める手段と、
前記第1及び第2の距離画像間で前記最も類似する各小領域について、当該小領域内の 画素値の代表画素値を算出する手段と、
前記最も類似する各小領域の代表画素値の差分を算出して、奥行き方向の動き量を求める手段と、
前記第1及び第2の距離画像上での前記最も類似する各小領域の位置の差異から、平面方向動きベクトルを算出する手段と、
を具備したことを特徴とする動き検出装置。 Distance image generating means for generating a distance image in which each pixel value indicates a distance value in the depth direction;
A dividing unit configured to divide the time-series first distance image and the second distance image generated by the distance image generating unit into small regions of an arbitrary size;
Means for determining a small region most similar between the first and second distance images;
Means for calculating a representative pixel value of a pixel value in the small region for each of the most similar small regions between the first and second distance images ;
Means for calculating a difference between representative pixel values of each of the most similar small regions to obtain a motion amount in the depth direction;
Means for calculating a planar motion vector from the difference in position of the most similar small regions on the first and second distance images;
A motion detection apparatus comprising:
前記距離画像生成手段で生成された、時系列の第1の距離画像と第2の距離画像を任意の大きさの小領域に分割する分割手段と、
前記第1及び第2の距離画像の各小領域について、当該小領域内の画素値の代表画素値を算出する手段と、
前記第1の距離画像の第1の小領域の前記代表画素値と、前記第2の距離画像内の前記第1の小領域の周辺の複数の小領域のそれぞれの前記代表画素値とが等しくなるように、当該複数の小領域のそれぞれの各画素値を補正する手段と、
各画素値の補正された前記複数の小領域のなかから、前記第1の距離画像の前記第1の小領域と最も類似する第2の小領域を求める手段と、
前記第1の距離画像上での前記第1の小領域の位置と前記第2の距離画像上での前記第2の小領域の位置との差異から、平面方向動きベクトルを算出する手段と、
前記第1の距離画像の前記第1の小領域の前記代表画素値と前記第2の距離画像の前記第2の小領域の前記代表画素値との差分を算出して、奥行き方向の動き量を求める手段と、
を具備したことを特徴とする動き検出装置。 Distance image generating means for generating a distance image in which each pixel value indicates a distance value in the depth direction;
A dividing unit configured to divide the time-series first distance image and the second distance image generated by the distance image generating unit into small regions of an arbitrary size;
Means for calculating a representative pixel value of a pixel value in each small area of the first and second distance images;
The representative pixel value of the first small area of the first distance image is equal to the representative pixel value of each of the plurality of small areas around the first small area in the second distance image. Means for correcting each pixel value of each of the plurality of small regions,
Means for obtaining a second small region most similar to the first small region of the first distance image from the plurality of small regions corrected for each pixel value;
Means for calculating a planar motion vector from the difference between the position of the first small area on the first distance image and the position of the second small area on the second distance image;
Calculating the difference between the representative pixel value of the first small area of the first distance image and the representative pixel value of the second small area of the second distance image, and moving amount in the depth direction A means of seeking
A motion detection apparatus comprising:
距離画像生成手段は、前記受光手段で受光された反射光の強度分布から各画素値が奥行き方向の距離値を示す距離画像を生成することを特徴とする請求項6または請求項7記載の動き検出装置。The movement according to claim 6 or 7, wherein the distance image generating means generates a distance image in which each pixel value indicates a distance value in the depth direction from the intensity distribution of the reflected light received by the light receiving means. Detection device.
前記距離画像生成手段で取得された、時系列の第1の距離画像と第2の距離画像を任意の大きさの小領域に分割する第1のステップと、
前記第1及び第2の距離画像間で最も類似する小領域を求める第2のステップと、
前記第1及び第2の距離画像間で前記最も類似する各小領域について、当該小領域内の画素値の代表画素値を算出する第3のステップと、
前記最も類似する各小領域の代表画素値の差分を算出して、奥行き方向の動き量を求める第4のステップと、
前記第1及び第2の距離画像上での前記最も類似する各小領域の位置の差異から、平面方向動きベクトルを算出する第5のステップと、
を実行させるプログラムを記録した機械読み取り可能な記録媒体。 A computer including distance image generation means for generating a distance image in which each pixel value indicates a distance value in the depth direction,
A first step of dividing the time-series first distance image and the second distance image acquired by the distance image generation means into small regions of an arbitrary size;
A second step of determining a subregion that is most similar between the first and second range images;
A third step of calculating a representative pixel value of a pixel value in the small region for each of the most similar small regions between the first and second distance images;
A fourth step of calculating a difference between representative pixel values of each of the most similar small regions to obtain a motion amount in the depth direction;
A fifth step of calculating a planar motion vector from a difference in position of each of the most similar small regions on the first and second distance images;
A machine-readable recording medium on which a program for executing is recorded.
前記距離画像生成手段で取得された、時系列の第1の距離画像と第2の距離画像を任意の大きさの小領域に分割する第1のステップと、
前記第1及び第2の距離画像の各小領域について、当該小領域内の画素値の代表画素値を算出する第2のステップと、
前記第1の距離画像の第1の小領域の前記代表画素値と、前記第2の距離画像内の前記第1の小領域の周辺の複数の小領域のそれぞれの前記代表画素値とが等しくなるように、当該複数の小領域のそれぞれの各画素値を補正する第3のステップと、
各画素値の補正された前記複数の小領域のなかから、前記第1の距離画像の前記第1の小領域と最も類似する第2の小領域を求める第4のステップと、
前記第1の距離画像上での前記第1の小領域の位置と前記第2の距離画像上での前記第2の小領域の位置との差異から、平面方向動きベクトルを算出する第5のステップと、
前記第1の距離画像の前記第1の小領域の前記代表画素値と前記第2の距離画像の前記第2の小領域の前記代表画素値との差分を算出して、奥行き方向の動き量を求める第6のステップと、
を実行させるプログラムを記録した機械読み取り可能な記録媒体。 A computer including distance image generation means for generating a distance image in which each pixel value indicates a distance value in the depth direction,
A first step of dividing the time-series first distance image and the second distance image acquired by the distance image generation means into small regions of an arbitrary size;
A second step of calculating a representative pixel value of a pixel value in the small area for each of the small areas of the first and second distance images;
The representative pixel value of the first small area of the first distance image is equal to the representative pixel value of each of a plurality of small areas around the first small area in the second distance image. A third step of correcting each pixel value of each of the plurality of small regions,
A fourth step of obtaining a second subregion most similar to the first subregion of the first distance image from the plurality of subregions corrected for each pixel value;
A fifth plane-direction motion vector is calculated from a difference between the position of the first small area on the first distance image and the position of the second small area on the second distance image. Steps,
Calculating the difference between the representative pixel value of the first small area of the first distance image and the representative pixel value of the second small area of the second distance image, and moving amount in the depth direction A sixth step for determining
A machine-readable recording medium on which a program for executing is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02393999A JP3637226B2 (en) | 1999-02-01 | 1999-02-01 | Motion detection method, motion detection device, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02393999A JP3637226B2 (en) | 1999-02-01 | 1999-02-01 | Motion detection method, motion detection device, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000222585A JP2000222585A (en) | 2000-08-11 |
JP3637226B2 true JP3637226B2 (en) | 2005-04-13 |
Family
ID=12124511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02393999A Expired - Fee Related JP3637226B2 (en) | 1999-02-01 | 1999-02-01 | Motion detection method, motion detection device, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3637226B2 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3732757B2 (en) * | 2001-06-08 | 2006-01-11 | 株式会社東芝 | Image recognition method and image recognition apparatus |
US7620202B2 (en) * | 2003-06-12 | 2009-11-17 | Honda Motor Co., Ltd. | Target orientation estimation using depth sensing |
US6934037B2 (en) * | 2003-10-06 | 2005-08-23 | Agilent Technologies, Inc. | System and method for optical navigation using a projected fringe technique |
JP4552553B2 (en) * | 2004-07-23 | 2010-09-29 | カシオ計算機株式会社 | Image processing apparatus and image processing program |
JP4792250B2 (en) * | 2005-07-11 | 2011-10-12 | 株式会社リコー | Moving image processing apparatus and moving image processing method |
JP2010002326A (en) * | 2008-06-20 | 2010-01-07 | Stanley Electric Co Ltd | Movement vector detector |
JP5448617B2 (en) * | 2008-08-19 | 2014-03-19 | パナソニック株式会社 | Distance estimation device, distance estimation method, program, integrated circuit, and camera |
JP2010154405A (en) * | 2008-12-26 | 2010-07-08 | Toshiba Corp | Video image reproducing device, control signal generating device, and method of generating control signal |
JP5635736B2 (en) | 2009-02-19 | 2014-12-03 | 株式会社ソニー・コンピュータエンタテインメント | Information processing apparatus and information processing method |
JP5182247B2 (en) * | 2009-07-27 | 2013-04-17 | 株式会社デンソー | Information device operation device |
JP5458262B2 (en) * | 2009-09-03 | 2014-04-02 | 国立大学法人佐賀大学 | Strain measuring method, strain measuring apparatus and program |
JP2011217294A (en) * | 2010-04-02 | 2011-10-27 | Sharp Corp | Noise reduction processing apparatus |
JP4938884B2 (en) * | 2010-09-30 | 2012-05-23 | シャープ株式会社 | Prediction vector generation method, image encoding method, image decoding method, prediction vector generation device, image encoding device, image decoding device, prediction vector generation program, image encoding program, and image decoding program |
JP5960710B2 (en) * | 2011-10-11 | 2016-08-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | IMAGING DEVICE AND ITS INTEGRATED CIRCUIT, IMAGING METHOD, IMAGING PROGRAM, AND IMAGING SYSTEM |
JP2016040520A (en) * | 2013-01-10 | 2016-03-24 | 三洋電機株式会社 | Object detection device |
WO2016095192A1 (en) | 2014-12-19 | 2016-06-23 | SZ DJI Technology Co., Ltd. | Optical-flow imaging system and method using ultrasonic depth sensing |
JP6579816B2 (en) * | 2015-06-18 | 2019-09-25 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
WO2021193236A1 (en) | 2020-03-23 | 2021-09-30 | ファナック株式会社 | Image processing device and image processing method |
-
1999
- 1999-02-01 JP JP02393999A patent/JP3637226B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000222585A (en) | 2000-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3637226B2 (en) | Motion detection method, motion detection device, and recording medium | |
US10237532B2 (en) | Scan colorization with an uncalibrated camera | |
US10643347B2 (en) | Device for measuring position and orientation of imaging apparatus and method therefor | |
CN103959012B (en) | 6DOF position and orientation determine | |
CN103959307B (en) | The method of detection and Expressive Features from gray level image | |
US20050190972A1 (en) | System and method for position determination | |
JPWO2005043466A1 (en) | Estimation system, estimation method, and estimation program for estimating object state | |
US20130335535A1 (en) | Digital 3d camera using periodic illumination | |
GB2557465A (en) | Method for calibrating a camera and calibration system | |
JP2009081853A (en) | Imaging system and method | |
CN101068344A (en) | Object detection apparatus | |
JP2013101045A (en) | Recognition device and recognition method of three-dimensional position posture of article | |
CN105190229B (en) | Three-dimensional shape measuring device, three-dimensional shape measuring method and three-dimensional shape measuring program | |
JP2006258798A (en) | Device and method for improved shape characterization | |
JP4761670B2 (en) | Moving stereo model generation apparatus and method | |
JPWO2020075252A1 (en) | Information processing equipment, programs and information processing methods | |
JP3732757B2 (en) | Image recognition method and image recognition apparatus | |
KR20140114594A (en) | Auto-Camera Calibration Method Based on Human Object Tracking | |
CN104732586A (en) | Fast reconstruction method for three-dimensional human body dynamic form and fast construction method for three-dimensional movement light stream | |
JP2016148956A (en) | Positioning device, positioning method and positioning computer program | |
JPH1144533A (en) | Preceding vehicle detector | |
JP6802923B2 (en) | Object detection device and object detection method | |
JP5336325B2 (en) | Image processing method | |
JPH07181024A (en) | Method and apparatus for measuring three-dimensional profile | |
JP2005141655A (en) | Three-dimensional modeling apparatus and three-dimensional modeling method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041122 |
|
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: 20050104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050107 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3637226 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100114 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110114 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120114 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130114 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |