JP2008140101A - Unconstrained and real-time hand tracking device using no marker - Google Patents
Unconstrained and real-time hand tracking device using no marker Download PDFInfo
- Publication number
- JP2008140101A JP2008140101A JP2006325202A JP2006325202A JP2008140101A JP 2008140101 A JP2008140101 A JP 2008140101A JP 2006325202 A JP2006325202 A JP 2006325202A JP 2006325202 A JP2006325202 A JP 2006325202A JP 2008140101 A JP2008140101 A JP 2008140101A
- Authority
- JP
- Japan
- Prior art keywords
- hand
- particle
- shape
- model
- probability
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
この発明は人の手のトラッキングシステムに関し、特に、効果的な、無制約のリアルタイム、マーカ不使用の、人の手のトラッキングシステムに関する。 The present invention relates to human hand tracking systems, and more particularly to an effective, unconstrained real-time, marker-free, human hand tracking system.
自然な方法で人と相互に交流しあうように設計されたロボットにはいずれも、無制約の手トラッカが必要である。ヒューマノイドがマーカ不使用の手トラッカを用いて示すことができる能力は、スキルの学習、目と手との協調を介して人にものを渡したり交換したりするといった、人との相互交流に関する対話的な模倣、及び身振りの理解が可能になること、等に及ぶ。人はまたこのシステムを用いて、指さすことでロボットの注意を引くことができる。手トラッカシステムは、これらの課題において必要なものに対する解決を与えようとするものである。 Any robot designed to interact with people in a natural way requires an unconstrained hand tracker. Humanoids' ability to demonstrate using marker-free hand trackers is about interactions with people, such as skills learning, handing over and exchanging things through eye-hand coordination. Imitation and understanding of gestures are possible. A person can also use this system to draw the robot's attention by pointing. The hand tracker system seeks to provide a solution to what is needed in these challenges.
マーカを用いる、グローブ(手ぶくろ)を用いる手トラッカは十分に検討されてきた。これらの技術は通常、良好なトラッキング結果をもたらす。我々が目指す応用では、ロボットは自然な環境でいかなるランダムな手もトラックできなければならないので、固定したマーカ等の何らかの準備を当てにすることはできない。このため、マーカを使わない解決策をとることとした。 A hand tracker that uses a marker and a glove has been well studied. These techniques usually give good tracking results. In our application, the robot must be able to track any random hand in its natural environment, so it cannot rely on any provisions such as fixed markers. For this reason, we decided to take a solution that does not use markers.
マーカ不使用の手トラッキングは通常、映像入力ストリームを解釈することにより行なう。撮影されたフレームから手がかりを探す。よく用いられる手がかりは手の輪郭であって、これは入力フレームにエッジフィルタを適用することで見出すことができる。別の手がかりは目に見える手の面であって、これは肌の色をフィルタ処理することで抽出できる。トラッカによって推定された手の形状を入力画像の手がかりと比較し、予め定められた身振りの確率を得る。手がかりとの比較には、姿勢データベースまたは3D手モデルの投影モデルを用いる。 Marker-free hand tracking is usually done by interpreting the video input stream. Look for clues from the frames taken. A commonly used clue is the contour of the hand, which can be found by applying an edge filter to the input frame. Another clue is the surface of the visible hand, which can be extracted by filtering the skin color. The hand shape estimated by the tracker is compared with the clue of the input image to obtain a predetermined gesture probability. For comparison with the clue, a posture database or a 3D hand model projection model is used.
予め定義された手の姿勢を認識するという問題は、通常、姿勢データベースを用いるシステムによって解決される。一例は、非特許文献1に開示された外観ベースの身振り認識であり、これは隠れマルコフモデルを用いて手話データベース中の身振りを検出する。 The problem of recognizing a predefined hand posture is usually solved by a system that uses a posture database. An example is appearance-based gesture recognition disclosed in Non-Patent Document 1, which detects a gesture in a sign language database using a hidden Markov model.
本件発明の目的により近いのは、最近非特許文献2においてエロルが十分に検討している、複数自由度の手トラッカである。この検討においては、3つのカテゴリによって区別される、この分野での最近の展開が示されている。すなわち、単一フレーム推定器、単一仮説推定器及び複数仮説推定器である。
Closer to the object of the present invention is a multi-degree-of-freedom hand tracker recently studied by Errol in Non-Patent
[単一フレーム推定器]
第1のカテゴリは、前のフレームの先行する知識に依存しない、単一フレームの姿勢推定器である。可能な解決策の一つは、運動学的なパラメータでラベル付けされた一組のテンプレート上でのグローバルな検索である。非特許文献3では、これらのテンプレートが3D手モデルを用いて生成され、ツリー構造で記憶される。姿勢を検出するために、ツリーが先行する知識無しで探索される。
[Single frame estimator]
The first category is single frame pose estimators that do not rely on prior knowledge of previous frames. One possible solution is a global search on a set of templates labeled with kinematic parameters. In Non-Patent Document 3, these templates are generated using a 3D hand model and stored in a tree structure. To detect the pose, the tree is searched without prior knowledge.
これらのシステムは前のフレームから独立しているため、前のフレームのトラッキング誤差からの修復を必要とせず、この結果、頑健な挙動が得られる。しかし、テンプレートデータベースを構築することが必要であるため、システムの表現に対する性能は、姿勢の離散的なサブセットに制限されてしまい、これは本件発明の無制約のトラッキングという目標と矛盾する。グローバルな検索は、非常に大きな計算コストがかかる。トラッキングのために連続した関節空間を用いることは、リアルタイムのシステムでは現実的でない。多数のフレームにわたってトラッキングを行なうことにより、形状空間内で局部的な検索が行なわれるのみとなるため、より少ない資源しか用いないシステムを実現できる。 Since these systems are independent of the previous frame, they do not require repair from the tracking error of the previous frame, resulting in robust behavior. However, because it is necessary to build a template database, the performance of the system representation is limited to a discrete subset of poses, which contradicts the goal of unconstrained tracking of the present invention. Global search is very computationally expensive. Using a continuous joint space for tracking is not practical in a real-time system. By tracking over a large number of frames, only a local search is performed in the shape space, so that a system that uses fewer resources can be realized.
[単一仮説推定器]
第2のカテゴリは、前の推定から得られた単一の仮説を先行知識として用いる手トラッカを含む。画像から抽出された手がかりにあるモデルを当てはめるために最もよく用いられる方策は、標準的な最適化技術を用いることである。
[Single hypothesis estimator]
The second category includes hand trackers that use a single hypothesis obtained from the previous estimation as prior knowledge. The most commonly used strategy to fit a model in a clue extracted from an image is to use standard optimization techniques.
非特許文献4では、分割統治(divide−and−conquer)の方策が提案されている。第1に、手の全体の動きが推定され、次いで関節角度を推定する。この手順が、収束するまで繰返し適用される。単一仮説のトラッキング問題を解くために、カルマンフィルタもまた用いられている。非特許文献5では、アンセンテッド(unscented)カルマンフィルタ(UKF)を用いて手をトラッキングしている。
Non-Patent
これらのシステムは勾配検索を用いているため、局所的最小値にしか到達できず、グローバルな最小値に到達しないためにトラッキング誤差を生ずる危険性が常にある。 Since these systems use gradient search, they can only reach local minima and there is always a risk of tracking errors due to not reaching global minima.
[複数仮説推定器]
単一仮説トラッカに対して、複数仮説トラッカはシーケンスをトラッキングしつつ、複数のポーズ推定を継続しようとする。これによって、最小値に達するチャンスが増大する。この思想は、現在のフレームまでの状態の確率分布を保持するベイズフィルタ処理というフレームワークで最も良く実現される。再帰的ベイズフィルタを実現するよく知られた技術の一つがパーティクルフィルタである。
[Multiple hypothesis estimator]
In contrast to a single hypothesis tracker, the multiple hypothesis tracker attempts to continue multiple pose estimations while tracking the sequence. This increases the chance of reaching the minimum value. This idea is best realized in a framework called Bayesian filter processing that holds the probability distribution of states up to the current frame. One well-known technique for implementing a recursive Bayes filter is a particle filter.
パーティクルフィルタ処理はまた、非特許文献6でマイケル・イサード及びアンドルー・ブレークによって紹介された凝縮(Condensation)アルゴリズムとしても知られている。凝縮アルゴリズムは、散乱において曲線をトラッキングするように設計されている。カルマンフィルタは、択一的な仮説を同時に表すことのできないガウス密度に基づいているため、このような作業には不適である。 Particle filtering is also known as the Condensation algorithm introduced by Michael Isard and Andrew Blake in [6]. The condensation algorithm is designed to track a curve in scatter. The Kalman filter is unsuitable for such work because it is based on a Gaussian density that cannot simultaneously represent alternative hypotheses.
パーティクルとは、ある対(sn,Πn)であって、snはパーティクルnの形状ベクトルであり、Πnはこの形状の確率である。手トラッカについて、各パーティクルは形状ベクトルとその確率とからなり、形状ベクトルの値の各々は運動学的な手モデルの角度又は平行移動を表す。従ってベクトルの次元は手の運動のDOF(Degree−Of−Freedom:自由度)の数と等しくなる。Πnはsnの状態を評価することによって計算される。これは、映像フレームの目に見える面又はエッジ等の異なる手がかりを検索することでなされる。この実施例では、手画像の目に見える面とエッジとの両者を用いた。確率分布はパーティクルの組S=(s1,Π1),…,(sN,ΠN)によってモデル化される。 A particle is a pair (s n , Π n ), where s n is the shape vector of particle n and Π n is the probability of this shape. For a hand tracker, each particle consists of a shape vector and its probability, and each value of the shape vector represents an angle or translation of the kinematic hand model. Therefore, the dimension of the vector is equal to the number of DOF (Degree-Of-Freedom) of hand movement. Π n is calculated by evaluating the state of s n . This is done by searching for different cues such as visible surfaces or edges of the video frame. In this embodiment, both the visible surface and the edge of the hand image are used. The probability distribution is modeled by a set of particles S = (s 1 , 1 1 ), ..., (s N , N N ).
パーティクルフィルタの繰返しごとの主なステップは、最後の繰返しの組St−1からのパーティクルの組Stをサンプリングするステップと、snの各々を評価してその確率Πnを得るステップと、重み平均smeanを計算するステップとを含む。smeanは、現在仮定されている手の姿勢の推定を表す。
信頼性のある手トラッカが必要とされているため、第3のカテゴリの方法は単一仮説のトラッカに比べてより有望であるように思われる。しかし、これらは計算に関してより高価である。自然なやり方で人と相互に交流するように設計されたロボットはどれもリアルタイムのトラッキング能力を要するため、第3のカテゴリの効果的な手トラッキング装置が必要である。 Due to the need for a reliable hand tracker, the third category method appears to be more promising than the single hypothesis tracker. However, these are more expensive for calculations. Since any robot designed to interact with people in a natural way requires real-time tracking capabilities, a third category of effective hand tracking devices is needed.
従って、この発明の目的の一つは、無制約、リアルタイム、マーカ不使用の、複数仮説推定器型の手トラッキングシステムであって、人の手の動きをリアルタイムで効果的かつ信頼性をもってキャプチャする装置を提供することである。 Accordingly, one of the objects of the present invention is an unconstrained, real-time, marker-free, multi-hypothesis estimator-type hand tracking system that captures human hand movements effectively and reliably in real time. Is to provide a device.
この発明の第1の局面に従えば、パーティクルフィルタ処理を用いて映像シーケンスにおける手のトラッキングを行なうための手トラッキング装置は、3次元の手モデルを記憶するための記憶手段と、映像シーケンスの現在のフレームから手の姿勢の手がかりを抽出するための手がかり抽出手段と、手がかりと現在の3次元の手モデル形状とにパーティクルフィルタ処理を施して現在のフレーム中の手の姿勢を推定するための推定手段と、推定手段によって推定された姿勢を用いて3次元の手モデル形状を更新する手段とを含む。 According to the first aspect of the present invention, a hand tracking device for tracking a hand in a video sequence using particle filter processing, a storage means for storing a three-dimensional hand model, and a current video sequence A clue extracting means for extracting a clue of the posture of the hand from the frame of the image, and an estimation for estimating the posture of the hand in the current frame by performing particle filtering on the clue and the current three-dimensional hand model shape And means for updating the three-dimensional hand model shape using the posture estimated by the estimating means.
前記推定手段は、3次元の手モデルにランダムノイズを付加して3次元の手モデルの形状を表す予め定められた数のパーティクルを生成する手段と、パーティクルの各々に対しzバッファ画像を生成するためのzバッファ処理手段とを含む。zバッファ画像は3次元の手モデルの、映像シーケンスを出力する画像キャプチャ装置の画像面への投影である。前記推定手段はさらに、手がかりとzバッファ画像とに基づいて、手の形状の各々の確率を計算するための確率計算手段と、パーティクルのそれぞれの確率を、手形状のそれぞれの重みとして用いて、手形状について計算された手形状の重み合計を計算するための加重合計手段と、を含む。 The estimation means adds a random noise to the three-dimensional hand model to generate a predetermined number of particles representing the shape of the three-dimensional hand model, and generates a z-buffer image for each of the particles. Z-buffer processing means. A z-buffer image is a projection of a three-dimensional hand model onto an image plane of an image capture device that outputs a video sequence. The estimation means further uses a probability calculation means for calculating the probability of each of the hand shapes based on the clues and the z-buffer image, and uses the respective probabilities of the particles as the respective weights of the hand shapes, Weighted sum means for calculating a hand shape weight sum calculated for the hand shape.
3次元の手モデルは記憶手段に予め記憶される。手の姿勢の手がかりが映像シーケンスの現在のフレームから手がかり抽出手段によって抽出される。肌色の面及び/又はエッジが手がかりとして使用される。推定手段は3次元手モデルと手がかりとにパーティクルフィルタ処理を施して現在のフレームにおける手の姿勢を推定する。3次元手モデル形状は推定された姿勢によって更新される。 The three-dimensional hand model is stored in advance in the storage means. A clue of the posture of the hand is extracted from the current frame of the video sequence by the clue extraction means. Skin-colored surfaces and / or edges are used as cues. The estimation means performs particle filtering on the three-dimensional hand model and the clue to estimate the hand posture in the current frame. The three-dimensional hand model shape is updated with the estimated posture.
推定手段では、予め定められた数のパーティクル形状が生成される。手形状の各々について、投影のzバッファ画像が生成される。手がかりをzバッファ画像と比較することによって、推定手段は手形状の確率を計算することができる。推定された手の姿勢の加重合計により、3次元手モデル形状が更新される。 In the estimation means, a predetermined number of particle shapes are generated. For each hand shape, a projected z-buffer image is generated. By comparing the cues with the z-buffer image, the estimation means can calculate the hand shape probabilities. The three-dimensional hand model shape is updated by the weighted sum of the estimated hand postures.
確率の計算にzバッファ画像が用いられるので、隠れた部分ではなく可視部分のみが検索される。従って、迅速にトラッキングを行なうことができ、リアルタイムのトラッキングが可能となる。 Since the z-buffer image is used for the probability calculation, only the visible part, not the hidden part, is searched. Therefore, tracking can be performed quickly and real-time tracking is possible.
好ましくは、3次元の手モデルは掌部分と指部分とを含む。確率計算手段は指パーティクルの第1の部分の確率を計算するための第1の評価手段を含む。第1の部分のパーティクル形状の指部分の各々は3次元モデルの現在の指部分と置換えられている。確率計算手段はさらに、パーティクルの第2の部分の確率を計算するための第2の評価手段を含む。第2の部分のパーティクルの掌部分の各々は3次元モデルの現在の掌部分と置換えられている。加重合計手段はそれぞれの確率を重みとして用いて、指形状の第1の部分の加重合計を計算するための第1の合計手段と、それぞれの確率を重みとして用いて、手形状を表すパーティクルの第2の部分の加重合計を計算するための第2の合計手段と、を含む。組合せ手段は、第1の合計手段によって出力された加重合計の掌部分と、第2の合計手段によって出力された加重合計の指部分とを組合せるための手段を含む。 Preferably, the three-dimensional hand model includes a palm portion and a finger portion. The probability calculation means includes first evaluation means for calculating the probability of the first part of the finger particle. Each of the particle shaped finger portions of the first portion is replaced with the current finger portion of the three-dimensional model. The probability calculation means further includes second evaluation means for calculating the probability of the second portion of the particles. Each palm part of the second part of the particle is replaced with the current palm part of the three-dimensional model. The weighted sum means uses the respective probabilities as weights, the first sum means for calculating the weighted sum of the first part of the finger shape, and the respective probabilities as weights for the particles representing the hand shape. Second summing means for calculating a weighted sum of the second portion. The combining means includes means for combining the weighted sum palm portion output by the first summing means and the weighted sum finger portion output by the second summing means.
第1の評価手段は指形状を表すパーティクルの第1の部分の確率を計算する。第1の部分のパーティクル形状の指部分が手モデルの現在の指部分と置換されているので、確率の計算においては掌部分のみが考慮される。同様に、第2の評価手段はパーティクルの第2の部分の確率を計算する。第2の部分のパーティクル形状の掌部分が、手モデルの現在の掌部分と置換されているので、確率の計算においては指部分のみが考慮される。このようにして、掌部分の姿勢の加重合計が第1の評価手段の出力に基づいて計算される。指の姿勢の加重合計は第2の評価手段の出力に基づいて計算される。これらの結果を組合せることにより、手全体の姿勢が推定される。 The first evaluation means calculates the probability of the first part of the particle representing the finger shape. Since the first finger part of the particle shape of the first part is replaced with the current finger part of the hand model, only the palm part is considered in the calculation of the probability. Similarly, the second evaluation means calculates the probability of the second part of the particle. Since the palm part of the particle shape of the second part is replaced with the current palm part of the hand model, only the finger part is considered in the calculation of the probability. In this way, the weighted sum of the palm portion postures is calculated based on the output of the first evaluation means. A weighted sum of finger postures is calculated based on the output of the second evaluation means. By combining these results, the posture of the entire hand is estimated.
検索空間が2つの空間(掌部分及び指部分)に分解されるので、計算のコストが実質的に減じられ、リアルタイムのトラッキングが実現可能になる。 Since the search space is divided into two spaces (palm part and finger part), the cost of calculation is substantially reduced and real-time tracking can be realized.
より好ましくは、第1の評価手段は並列に動作可能な複数の第1の計算ユニットによって実現される。複数の第1の計算ユニットの各々は手形状の第1の部分(指形状)の一部の確率を計算するようにプログラムされる。 More preferably, the first evaluation means is realized by a plurality of first calculation units operable in parallel. Each of the plurality of first calculation units is programmed to calculate a probability of a portion of the first part of the hand shape (finger shape).
さらに好ましくは、第2の評価手段は並列に動作可能な複数の第2の計算ユニットによって実現される。複数の第2の計算ユニットの各々はパーティクル形状の第2の部分の一部の確率を計算するようにプログラムされる。 More preferably, the second evaluation means is realized by a plurality of second calculation units operable in parallel. Each of the plurality of second calculation units is programmed to calculate a probability of a portion of the second portion of the particle shape.
各パーティクルでの、計算コストのかかる評価が他のパーティクル全てから独立しているので、これらを複数のコンピュータで並列に行なうことができる。従って、繰返しごとに必要とされる時間を減じることができ、リアルタイムのトラッキングが実現可能となる。 Since the calculation cost for each particle is independent of all other particles, these can be performed in parallel by a plurality of computers. Therefore, the time required for each repetition can be reduced, and real-time tracking can be realized.
<特徴>
[手トラッカの実現例]
A.無制約のトラッキング
パーティクルフィルタが有望と思われるのは、計算コストがパーティクルのバランスのとれた並列実行で説明できるからである。なぜなら、コストが増加する時そのコストは独立した確率計算という形で生じるからである。従って、この発明の第1の実施の形態は、手の姿勢を推定するのにパーティクルフィルタを用いる。人の手のDOFは比較的大きいので、検索空間が広くなりがちである。従ってこの実施の形態では、検索空間を2つに分解する。すなわち、手と指とである。手の姿勢と指の姿勢とを別々に推定した後、装置はこれらを組合せて、手全体の新たな姿勢を得る。
<Features>
[Example of hand tracker implementation]
A. Unconstrained tracking Particle filters seem promising because the computational cost can be explained by parallel execution with balanced particles. This is because when the cost increases, the cost is generated in the form of an independent probability calculation. Therefore, the first embodiment of the present invention uses a particle filter to estimate the hand posture. Since the DOF of a human hand is relatively large, the search space tends to be wide. Therefore, in this embodiment, the search space is decomposed into two. That is, hands and fingers. After estimating the hand posture and the finger posture separately, the device combines them to obtain a new hand posture.
身振りの見え方を学習する身振り認識システムは、特化した手トラッカの一例である。このようなシステムはそのドメインにおいては良好な性能を発揮するが、これは任意の手形状をトラッキングするように設計されてはいない。ヒューマノイドロボットに、人為的な制限を導入することなく人と自然な相互交流を行なわせたい。そのため、ここでの方策は、トラッキングされた手形状を偏りなく表現できるようにすることであり、それによって我々のヒューマノイドの挙動モジュールが、手の動きに反応しかつこれを解釈することが可能になる。これは、模倣、注意を引くこと、及び意図の推定、目と手との強調、身振りの認識といった、異なる要件の様々な課題の基礎として用いることができる。 A gesture recognition system that learns how to see gestures is an example of a specialized hand tracker. Such a system performs well in its domain, but it is not designed to track arbitrary hand shapes. I want humanoid robots to interact naturally with people without introducing artificial restrictions. Therefore, the strategy here is to be able to represent the tracked hand shape without bias, so that our humanoid behavior module can react to and interpret the hand movement. Become. This can be used as the basis for a variety of tasks with different requirements, such as imitation, drawing attention and estimating intent, emphasizing eyes and hands, and recognizing gestures.
この目標を達成するために、この実施の形態では非特許文献7に開示されたのと同様のモデルを用いた、モデルベースの方策を選択した。3Dの手モデルを形状表現のための手段として用いることにより、予め決められた、手の姿勢の集合に制限されることがなくなる。非特許文献8においてシマダは3Dの手モデルを用いて手姿勢テンプレートのラベル付データベースを構築しており、これはその後、手の動きをトラッキングするのに用いられている。この方策の結果主として得られるのは、離散的な運動学的パラメータが付された手の姿勢である。
In order to achieve this goal, a model-based strategy using a model similar to that disclosed in
これに対して、この実施の形態では、3Dの手モデルを直接シーンに投影し、このため、連続した関節の角度範囲において正確な運動学的パラメータを知ることができる。データベースを用いることは、一般に計算上は安価である。しかし、この場合計算量が少なくなる代わりにかなりの量のメモリと検索時間とを必要とする。 In contrast, in this embodiment, the 3D hand model is projected directly onto the scene, so that accurate kinematic parameters can be known over a range of joint angles. Using a database is generally inexpensive in terms of computation. However, in this case, a considerable amount of memory and search time are required instead of reducing the calculation amount.
モデルを直接使用することにいくつかの利点がある。その構造的パラメータをダイナミックに変更することもでき、また、異なる手に合わせるために、モデルを完全に交換することもできる。また、動いた状態で投影の詳細を自由に変更することができ、これは投影特性の異なる中心視覚及び広角カメラシステムが用いられているヒューマノイドロボットヘッドには特に重要である。これに対して、テンプレートを用いたシステムは、各カメラについて別個のデータベースを必要とするであろう。加えて、異なる課題に対してモデルの自由度を調整することができる。全ての姿勢が実行時に生成されるので、この実施の形態のシステムは、姿勢データベースに係る必要メモリ量が指数関数的に増えてしまうことがなく、次元に制約されずに済む。 There are several advantages to using the model directly. Its structural parameters can be changed dynamically and the model can be completely exchanged to fit different hands. Also, the details of the projection can be freely changed in a moving state, which is particularly important for humanoid robot heads in which central vision and wide-angle camera systems with different projection characteristics are used. In contrast, a system using a template would require a separate database for each camera. In addition, the degree of freedom of the model can be adjusted for different tasks. Since all the postures are generated at the time of execution, the system according to this embodiment does not increase the required memory amount related to the posture database exponentially, and is not limited by dimensions.
B.リアルタイムの要件
非特許文献2の結論の一つは、リアルタイムの3D手トラッカが不足している、というものであった。環境及び人との相互交流をするためには、リアルタイムのシステムを生成する必要がある。従って、トラッキングの過程に長い遅延が導入されるのは受容できない。目標は、リアルタイムのトラッキングシステムを構築して、ロボットと人とのコミュニケーションのための自然な手段を確立することである。
B. Real-time requirements One of the conclusions of
この要件を念頭に置くと、パーティクルフィルタシステムは有望であると思われる。これは分散されたシステム部分間で必要とされるコミュニケーションを最小にするようなやり方で並列化されているので、非常にうまくその規模を調節できる。この特性を活かすことによって、非特許文献9で提案された分散視覚クラスタをベースに、分散されたパーティクルフィルタを実現することができた。計算上最もコストのかかる作業は各パーティクルの確率を計算することである。ここでは非特許文献8と同様の構成を選択し、1台のコンピュータでトラッキングを管理するとともに画像の撮影と前処理とを行ない、いくつかのクラスタノードで確率関数を計算する(図15を参照)。
With this requirement in mind, the particle filter system seems promising. It is scaled very well because it is parallelized in such a way as to minimize the communication required between the distributed system parts. By utilizing this characteristic, it was possible to realize a distributed particle filter based on the distributed visual cluster proposed in Non-Patent Document 9. The most expensive task in calculation is to calculate the probability of each particle. Here, the same configuration as in
リアルタイムが必要な応用の一つは、模倣である。この目標を達成するために、トラッカシステムの推定角度をロボットの手の関節角度に変換する。手の姿勢を模倣するのに、商業的に入手可能なロボットハンドを用いた。結果を図1に示す。 One application that requires real-time is imitation. To achieve this goal, the estimated angle of the tracker system is converted to the joint angle of the robot's hand. A commercially available robotic hand was used to mimic the hand posture. The results are shown in FIG.
[マーカ不使用のトラッカシステム]
A.データフローの概観
図2はこの実施の形態に従ったデータフローの概観を示す。図2を参照して、人の手の入力画像50は、肌色フィルタによってフィルタ処理され、肌色の面を示すバイナリマップ52が生成される。バイナリマップ52を用いて、入力画像50から切出された手画像54が得られる。ソーベルフィルタ等のエッジフィルタを画像54に適用することにより、エッジフィルタ処理された画像56が得られる。
[Tracker system without marker]
A. Data Flow Overview FIG. 2 shows an overview of the data flow according to this embodiment. Referring to FIG. 2, an
先の繰返しで準備された3Dの手モデル58から、3D手モデル58にランダムノイズ59を付加することによって、所定の数(この実施の形態では3000)のパーティクルが生成される。パーティクルの各々は可能な手の姿勢を表す。
By adding
パーティクルの各々について、zバッファ画像60が生成される。モデル形状のzバッファ画像60は、それぞれブロック62と64で示すように、肌色フィルタ処理されたバイナリマップ52及びエッジフィルタ処理された画像56と比較される。これらの結果を用いて、ブロック66に示されるように、パーティクルのモデル形状の手の姿勢確率が計算される。これがどのように行なわれるかは、後に詳細に説明する。
A z-
ブロック68に示すようなパーティクルの形状の加重合計により、3D手モデル58の新たな形状が推定される。形状の確率は、この計算において重みとして用いられる。
The new shape of the
フレームサイクルの各々について、上述の計算が行なわれ、繰返しごとの手姿勢が推定される。以下では、上述の処理の各々をさらに詳細に説明する。 For each frame cycle, the above calculation is performed to estimate the hand posture for each iteration. Hereinafter, each of the above-described processes will be described in more detail.
B.画像の取得と前処理
図3を参照して、このシステムでは、ヒューマノイドの頭部に見られるような、眼球間の距離の小さい較正済のステレオカメラ32を用いる。ステレオカメラを選択したのは、手について2つの視点があれば、深さ推定において1つの視野では無視できるほど小さい誤差も、第2の視野では目に見えるものとなるため、3D空間での位置づけがより良好となるからである。
B. Image Acquisition and Preprocessing Referring to FIG. 3, the system uses a calibrated
手30のステレオ画像を撮影したあと、HSV空間で肌色を検出し、画像中の肌色の面のバイナリマップを生成し、これを肌面の手がかりの評価にも用いる。その後、このマスクを用いて画像のうち無関係の部分全てをカットし、元の画像から得られた面にエッジフィルタを適用して、手のエッジ画像を得る。これらの画像に基づき、ロボットの手34は手30の姿勢を模倣するように制御される。
After photographing a stereo image of the
C.3Dの手モデル
円錐断面のみからなる3Dの手モデル(図4、図5)を用いる。図4を参照して、このモデル58は非常に高速にフレームに投影して手がかりを検出することが可能であり、その一方で依然として、手と指の動きをトラッキングするためには十分正確である。図4において、「DIP」、「PIP」、「MCP」、「CMC」、「IP」及び「TM」は、「遠位指節間関節」、「近位指節間関節」、「中手指節間関節」、「手根中手関節」、「指節間関節」及び「拇指手根中手関節」をそれぞれ意味する。図4において、白の丸は1DOFの関節を示し、黒の丸は2DOFの関節を示す。
C. 3D hand model A 3D hand model (Figs. 4 and 5) consisting only of a conical section is used. Referring to FIG. 4, this
人の手のDOFは22であるが、複雑さを避けるために、この運動学的手モデル58の自由度を、各指ごとに屈曲に関する1自由度に制限した。非特許文献2で見られるように、θDIP=θPIPと設定した。θPIPは各指のPIP角度を表し、θDIPは各指のDIP角度を表す。モデル58の関節の角度を表すために、以下でも同様の表記を用いる。
The DOF of a human hand is 22, but to avoid complexity, this
加えて、このトラッカは、検索空間の次元数を減じるために、θPIP=θMCPと仮定している。全体のモデルは、手の姿勢と位置について6の自由度、各指について2の自由度から成る。このシステムの現在の版では、拇指は標準位置に固定されている。従って、各パーティクルの形状ベクトルsnは次元14を有する。 In addition, this tracker assumes θ PIP = θ MCP to reduce the number of dimensions of the search space. The overall model consists of 6 degrees of freedom for hand posture and position and 2 degrees of freedom for each finger. In the current version of the system, the thumb is fixed in the standard position. Therefore, the shape vector s n in each particle has a dimension 14.
D.自己重なりの解決策
ドイッチャーは、非特許文献10において画像の手がかりを評価する方法を提案している。彼は画像中の投影された体の部分の各々を直接評価している。手モデルの投影で自己と重なって隠れた部分の検索を避けるために、本実施の形態では彼の方法を修正した。隠れた部分ではなく、見える部分のみを検索するために、この実施の形態ではzバッファ方策を提案する。
D. Solution to Self-Overlap Deutscher proposed a method for evaluating image cues in
zバッファ処理の思想は、遠い対象物を先に描き、より近い、重なる対象物によって上書きされるように、重なって隠れた対象物を描くことである。zバッファ処理を用いてこの3D手モデルを正確に投影できるようにするためには、投影面からの距離に従って分類した指部分の順序付けしたリストが必要である。この投影面は、ステレオカメラシステム内で同一ではないので、各カメラについて別個のzバッファを生成する必要がある。 The idea of z-buffer processing is to draw a distant object first and then draw a hidden object that is overwritten by a closer, overlapping object. In order to be able to accurately project this 3D hand model using z-buffer processing, an ordered list of finger parts classified according to their distance from the projection plane is required. Since this projection plane is not the same in a stereo camera system, it is necessary to generate a separate z-buffer for each camera.
3D手モデル要素を投影するために、各カメラの較正マトリックスの逆行列を用いる。近似として、視点の座標系に変換した各指の重心を比較する。その後、投影面と垂直となったz軸に従い、最も大きいz座標から始まるよう指部分をソートする。リストを生成した後、指の各要素をリストの順序に従ってバッファに描き、それによって指部分がエッジ又は面の手がかりを表すかどうかをコード化する。こうすることにより、自己と重なる手がかりのインデックスを、重複する指のもので上書きすることになる。どちらもバッファの同じ位置に書込まれることになるからである。深さ情報は、エッジ及び面の輝度により表わされる。 To project 3D hand model elements, we use the inverse matrix of each camera's calibration matrix. As an approximation, the center of gravity of each finger converted to the coordinate system of the viewpoint is compared. Thereafter, the finger portions are sorted so as to start from the largest z coordinate according to the z axis perpendicular to the projection plane. After generating the list, each element of the finger is drawn in a buffer according to the order of the list, thereby encoding whether the finger portion represents an edge or surface cue. By doing so, the index of the clue that overlaps with the self is overwritten with the duplicate finger. Both are written at the same position in the buffer. Depth information is represented by edge and surface brightness.
その後図6に例示されるようにzバッファを算出するが、ここでは、各画素についてエッジが予測されるか、手の面が予測されるか、又は何もないと予測されるかがわかっている。これらの投影は最終的に、前処理された画像との比較に用いられる。 The z-buffer is then calculated as illustrated in FIG. 6, where we know whether an edge is predicted for each pixel, a hand plane is predicted, or nothing is predicted. Yes. These projections are ultimately used for comparison with the preprocessed image.
E.形状確率の評価
前処理されたフレームで見出されたエッジと面との手がかりに基づいて、各パーティクルの形状を評価する。各パーティクルnのエッジ確率Πeと面確率Πaとを計算するために、以下の式を用いる。
E. Shape Probability Evaluation The shape of each particle is evaluated based on cues between edges and faces found in the preprocessed frame. To calculate the edge probability [pi e and surface probability [pi a of each particle n, using the following equation.
さらに、2つの指部分間の最短距離を計算することにより、指間の衝突も検出する。もしこの距離がそれらの半径の合計より小さければ、衝突があると仮定して、Πcollにより確率関数内でこの状態にペナルティを与える。次に各パーティクルの確率Πnを以下のように計算する Furthermore, collisions between fingers are also detected by calculating the shortest distance between the two finger portions. If this distance is less than the sum of their radii, assume that there is a collision and penalize this state in the probability function by Π coll . Next, the probability 各n of each particle is calculated as follows:
パーティクルフィルタの次の繰返しのために、パーティクルの組を再サンプリングしなければならない。基本的に、非特許文献6でイサードが説明しているように、古いパーティクルの組に対する要素分解した(factored)再サンプリングを用いる。この方策を用いることにより、手のトラッキングが可能となるが、個々の指のトラッキングはできない。姿勢形状がうまくアライメントされていないパーティクルは、モデル中の指を画像中の隣の指と比較してしまうことがあるために、指トラッキングの評価を低下させるという問題に直面した。
性能を向上させるために、パーティクルの組を2つの分離した組に分割してみた。第1の組を、現在の指形状での手(掌)の姿勢をトラッキングするために用い、このため、前回の繰返しでの平均指形状をこのパーティクルの組に割当てる。すなわち、パーティクル形状の指要素を、前回の繰返しで得られた現在の指形状で置換える。姿勢は全てのパーティクルから、それらの重みを考慮して再サンプリングされる。第2の組は、前回知られた手(掌)の姿勢での指をトラッキングするのに用いられる。この目的のために、前回の繰返しでの平均の手(掌)姿勢をこの組の全てのパーティクルに割当てる。すなわち、パーティクル形状の手(掌)要素を、前回の繰返しで得られた現在の手(掌)形状と置換える。その後、全てのパーティクルから指形状を再サンプリングする。再サンプリングの後、両方の組をマージする。 In order to improve performance, the particle set was divided into two separate sets. The first set is used to track the posture of the hand (palm) with the current finger shape, and therefore the average finger shape from the previous iteration is assigned to this particle set. That is, the particle-shaped finger element is replaced with the current finger shape obtained in the previous iteration. The pose is resampled from all particles, taking their weights into account. The second set is used to track the finger in the previously known hand (palm) posture. For this purpose, the average hand (palm) posture from the previous iteration is assigned to all particles in this set. That is, the particle-shaped hand (palm) element is replaced with the current hand (palm) shape obtained in the previous iteration. Thereafter, the finger shape is resampled from all the particles. After resampling, merge both sets.
この方策を用いることによって、第2の組での指形状の検索にあたって前回知られた位置にパーティクルを集中させるという利点が得られ、実際上、検索空間の次元を6自由度だけ減じることができる。同時に、第1の組を用いて前回知られた指形状を用いて新たな手の姿勢を検索する。パーティクルの平均をこのようにして割当てることにより、多数の仮説を表すためのパーティクルフィルタの属性を保存する。 By using this measure, the advantage of concentrating the particles at the previously known position when searching for the finger shape in the second set is obtained, and the dimension of the search space can be actually reduced by 6 degrees of freedom. . At the same time, a new hand posture is searched using the previously known finger shape using the first set. By assigning the average of particles in this way, the particle filter attributes for representing a number of hypotheses are preserved.
G.分散リアルタイムトラッキング
パーティクルフィルタは、クラスタの並列化によく適している。というのも、計算上コストのかかる各パーティクルの評価が、全ての他のパーティクルから独立しているからである。しかし、パーティクルを全てのクラスタノードに分配し、対応の確率を集めるためには通信が必要である。ここでは、前処理された画像を分配することも必要である。
G. Distributed real-time tracking Particle filters are well suited for parallel clustering. This is because the computationally expensive evaluation of each particle is independent of all other particles. However, communication is necessary to distribute the particles to all cluster nodes and collect the corresponding probabilities. Here, it is also necessary to distribute the preprocessed image.
この実施の形態のクラスタノードは標準的なギガビットのネットワークを介して相互に接続されている。画像を送るために必要なトラフィックを最小にするため、ブロードキャストを用いた。分散パーティクルフィルタを実現するために、非特許文献9で提案された分散視覚クラスタ(Distributed Vision Cluster)を用いる。各ノードにおいて多数の評価スレッドを開始することで、マルチプロセッサ、マルチコアのシステムの利益を享受することもできる。ステレオ画像の評価を、パーティクルフィルタの繰返しごとに1画像のみにインターリーブすることで、性能をほぼ2倍にできることがわかった。全ての試験とベンチマークのために、実験的に決定した3000個のパーティクルを用いた。より多くのパーティクルを用いてもそれほどトラッキングが改善されず、2000個より少ないパーティクルでは結果がかなり低下した。 The cluster nodes of this embodiment are connected to each other via a standard gigabit network. Broadcast was used to minimize the traffic required to send images. In order to realize a distributed particle filter, a distributed vision cluster proposed in Non-Patent Document 9 is used. By starting a large number of evaluation threads in each node, it is possible to enjoy the benefits of a multiprocessor, multicore system. It was found that the performance can be almost doubled by interleaving the stereo image to only one image every time the particle filter is repeated. Experimentally determined 3000 particles were used for all tests and benchmarks. The tracking was not improved much with more particles, and the results were considerably degraded with fewer than 2000 particles.
分散視覚クラスタにより、パーティクルフィルタは9個のクラスタを用いて6.84倍の速度まで拡大することができたが、これは76.1%の効率である。10.2FPSに到達することができた。測定のために、クラスタノードではデュアル2.16GHzのCPUを用いた。性能尺度を図8に示す。 With the distributed visual cluster, the particle filter could be scaled up to 6.84 times using 9 clusters, which is 76.1% efficient. 10.2 FPS could be reached. For measurement, a dual 2.16 GHz CPU was used in the cluster node. The performance measure is shown in FIG.
<システムの構造>
図9はこの実施の形態の手モデルトラッカ90の全体構造を示す。図9を参照して、手モデルトラッカ90は、ステレオカメラ32から出力されるステレオ画像出力をキャプチャするためのフレーム撮影部100と、フレーム撮影部100によってキャプチャされたステレオ画像を記憶するためのフレームメモリ102と、フレームメモリ102に記憶されたステレオ画像を処理して、手の肌色バイナリマップ140とエッジ画像142とを出力するための画像前処理モジュール104と、これらを記憶するためのメモリ106とを含む。
<System structure>
FIG. 9 shows the overall structure of the
手モデルトラッカ90はさらに、3Dの手モデル116を記憶するための記憶部(メモリ)と、3Dの手モデル116にランダムなノイズを付加して3000個のパーティクルを生成するための乱数発生モジュール118と、手の姿勢を推定するためのパーティクル形状を記憶するパーティクルメモリ120と、指の姿勢を推定するためのパーティクル形状を記憶するパーティクルメモリ122とを含む。
The
手モデルトラッカ90はさらに、手の姿勢のためのパーティクルフィルタユニット108と、指の姿勢のためのパーティクルフィルタユニット110と、推定された手の姿勢と指の姿勢とを組合わせるための組合せブロック112と、組合せブロック112の出力を用いて3D手モデル116を更新するモデル更新モジュール114とを含む。
The
図10は画像前処理モジュール104のブロック図を示す。図10を参照して、画像前処理モジュール104は、フレームメモリ102に記憶された手画像から肌色の面を検出し、肌色バイナリマップ140を出力するための肌色フィルタ180と、肌色バイナリマップ140をマスクとして用いて元の画像のうち無関係な部分をカットすることによって、フレームメモリ102に記憶された画像の一部を抽出するためのマスキングモジュール184と、マスキングモジュール184から出力された手の切出画像186からエッジ画像を検出するためのエッジフィルタ188とを含む。エッジフィルタ188の出力がエッジ画像142である。
FIG. 10 shows a block diagram of the
図11は手の姿勢のためのパーティクルフィルタユニット108の詳細をブロック図で示す。図11を参照して、パーティクルフィルタユニット108は、肌色バイナリマップ140と、エッジ画像142と、手のパーティクルモデル形状とを記憶するためのパーティクル形状メモリ200と、各々がその評価ユニットに割当てられたモデル形状の確率を計算するための、多数の評価ユニット202A−202Nと、それぞれの確率を重みとして用いて、手の形状の加重合計を計算することによって、新たな手の姿勢を出力するための、加重合計モジュール204と、を含む。
FIG. 11 is a block diagram showing details of the
評価ユニット202A−202Nの各々はパーティクルモデル形状のうち手の姿勢に関する部分のみを受け、これらを現在の指形状と組合せる。これらの形状を用いて、評価ユニット202A−202Nはパーティクルの確率を計算する。
Each of the
評価ユニット202A−202Nの各々は同じ構造を有する。図12は、評価ユニット202A−202Nの一つである評価ユニット202Kの詳細を示す。図12を参照して、評価ユニット202Kはこのユニットに割当てられた手の姿勢のパーティクルモデル形状の各々を現在の指形状と組合せ、結果として得られるパーティクル形状ベクトルを出力するためのベクトル形成モジュール218と、ベクトル形成モジュール218から出力されたパーティクル形状ベクトルを記憶するためのメモリ220と、パーティクル形状ベクトルの要素をカメラ32の較正マトリックスの逆行列を用いて、カメラ32の画像面に投影するのに適した座標系に変換するための座標変換モジュール222とを含む。この新たな座標系は、画像面にX軸及びY軸を有し、さらに画像面に垂直なZ軸を有する。
Each of the
評価ユニット202Kはさらに、メモリ220に記憶された形状の手の部分の重心を計算するための重心計算モジュール224と、手の各部分のそれぞれの重心のZ座標の降順で、手の各部分をソートし、手の各部分の順序付きのリスト228を出力するためのソートモジュール226と、zバッファ232と、リスト228の順序で、zバッファ232にパーティクル形状の投影画像を描画するための手部分描画モジュール230と、手の各部分間の衝突を検出し、衝突に関しそれぞれのペナルティを計算するための衝突検出モジュール234と、肌色バイナリマップとエッジ画像とを記憶するためのメモリ236と、メモリ236に記憶された肌色バイナリマップ及びエッジ画像と、zバッファ232内の画像と、衝突検出モジュール234によって計算された衝突ペナルティとを用いて、このユニット202Kに割当てられたパーティクル形状の各々の確率を計算するための確率計算モジュール238とを含む。結果として得られる、K番目の評価ユニット202Kに割当てられた手形状のj番目のパーティクルの確率ΠH,K,jが、図11に示す加重合計モジュール204に与えられる。
The
指のためのパーティクルフィルタユニット110の詳細を図13に示す。図13を参照して、パーティクルフィルタユニット110は、肌色バイナリマップ140とエッジ画像142と、指のパーティクルモデル形状とを記憶するためのパーティクル形状メモリ240と、各々がその評価ユニットに割当てられたモデル形状の確率を計算する多数の評価ユニット242A−242Nと、それぞれの確率を重みとして用いて、指形状を付加することにより、新たな指姿勢を出力するための加重合計モジュール244と、を含む。
Details of the
評価ユニット242A−242Nの各々は、パーティクルモデル形状のうち指姿勢に関する部分のみを受け、これらを現在の手形状と組合せる。これらの形状を用いて、評価ユニット242A−242Nはパーティクルの確率を計算する。
Each of the
評価ユニット242A−242Nの各々は同じ構造を有する。図14は評価ユニット242A−242Nの一つである評価ユニット242Kの詳細を示す。図14を参照して、評価ユニット242Kは、このユニットに割当てられた指のパーティクルモデル形状の各々を現在の手の形状と組合せ、結果として得られる手形状ベクトルを出力するためのベクトル形成モジュール258と、ベクトル形成モジュール258から出力されるパーティクル形状ベクトルを記憶するためのメモリ260と、パーティクル形状ベクトルの要素をカメラ32の画像面に投影するのに適した座標系に変換するための座標変換モジュール262とを含む。この新たな座標系は、画像面にX軸及びY軸を有し、さらに画像面に垂直なZ軸を有する。
Each of the
評価ユニット242Kはさらに、メモリ260に記憶された形状の手の各部分の重心を計算するための重心計算モジュール264と、手部分のそれぞれの重心のZ座標の降順で、手の各部分をソートし、手の各部分の順序付きリスト268を出力するためのソートモジュール266と、zバッファ272と、リスト268の順序で、zバッファ272にパーティクル形状の投影画像を描画するための手部分描画モジュール270と、手の各部分間の衝突を検出し、衝突に関しそれぞれのペナルティを計算するための衝突検出モジュール274と、肌色バイナリマップとエッジ画像とを記憶するためのメモリ276と、メモリ276に記憶された肌色バイナリマップ及びエッジ画像と、zバッファ272内の画像と、衝突検出モジュール274によって計算された衝突ペナルティとを用いて、このユニット242Kに割当てられたパーティクル形状の各々の確率を計算するための確率計算モジュール278とを含む。結果として得られる、K番目の評価ユニット242Kに割当てられた指形状のj番目のパーティクルの確率ΠF,K,jが、図13に示す加重合計モジュール244に与えられる。
The
<動作>
手モデルトラッカ90は以下のように動作する。図9を参照して、3D手モデル116は図4及び図5に示す初期3D手モデル58を記憶する。カメラ32はステレオ画像信号を出力する。各ステレオフレームはフレーム撮影部100によって撮影され、フレームメモリ102に記憶される。
<Operation>
The
図10を参照して、肌色フィルタ180はHSV空間における画像中の肌色面を検出して肌色バイナリマップ140を生成する。このマップはマスキングモジュール184によって、画像中の関連のない部分全てをカットするのに用いられ、これによって切出された手画像186が生成され、この結果として得られる、切出された手画像186にエッジフィルタ188が適用されてエッジ画像142が得られる。
Referring to FIG. 10,
結果として得られる肌色バイナリマップ140とエッジ画像142とが手姿勢のためのパーティクルフィルタユニット108と指姿勢のためのパーティクルフィルタユニット110とに与えられる。
The resulting skin
一方で、乱数発生モジュール118がランダムノイズを発生し、これらを3D手モデル116に付加して3000個のパーティクルを生成する。パーティクルの半数はパーティクルメモリ120に記憶され、残りの半数はパーティクルメモリ122に記憶される。前者は次の手姿勢を推定するのに用いられ、後者は次の指姿勢を推定するのに用いられる。
On the other hand, the random
図11を参照して、肌色バイナリマップ140とエッジ画像142とはパーティクル形状メモリ200に記憶される。手姿勢のパーティクル形状はパーティクル形状メモリ200に記憶される。これらはともに、評価ユニット202A−202Nの各々に与えられる。現在の指形状が評価ユニット202A−202Nの各々に供給される。
Referring to FIG. 11, skin
図12を参照して、手姿勢のパーティクル形状と、現在の指形状のパーティクルフィルタとがベクトル形成モジュール218によって組合されてパーティクル形状ベクトルが形成され、これはメモリ220に記憶される。座標変換モジュール222はベクトルの座標系を、zバッファ処理に適したものに変換する。重心計算モジュール224はパーティクル形状の手部分の各々の重心を計算する。
Referring to FIG. 12, the particle shape vector is formed by combining the particle shape of the hand posture and the particle filter of the current finger shape by the
ソートモジュール226は手部分をそれらのZ座標の降順でソートして、リスト228を生成する。手部分描画モジュール230は手の各要素をzバッファ232に描画して、より遠くの対象物が先に描画され、より近い、重なる対象物によって上書きされるようにし、指部分と、これがエッジ又は面の手がかりを表すかどうかを符号化する。手部分描画モジュール230により、自己に隠される手がかりのインデックスが、重なる指のものによって上書きされる。
図6に例示されるzバッファ232を参照して、各画素について、エッジが予測されるか、面が予測されるか、何もないことが予測されるかは分かっている。これらの投影は最終的には確率計算モジュール238で前処理された画像との比較のために用いられる。
With reference to the z-
確率計算モジュール238は、上述の式(1)−(4)を用いて、前処理されたフレームで見出されメモリ236に記憶されたエッジ及び面の手がかりに基づいて各パーティクル形状の確率を計算する。
The
衝突検出モジュール234は、2つの指部分間の最短距離を計算することによって、指間の衝突を検出する。もしこの距離が指の半径の合計より短ければ、衝突が生じていると仮定され、この状態にはΠcollにより確率関数におけるペナルティが与えられる。その後各パーティクルの確率Πnが、式(5)を用いて確率計算モジュール238によって計算される。
The
こうして、各形状についてその確率ΠH,K,jが計算され、図11に示す加重合計モジュール204に与えられる。
Thus, the probabilities Π H, K, j for each shape are calculated and provided to the
確率ΠH,K,jの全てが与えられると、加重合計モジュール204は全ての手のパーティクルの加重平均を計算し、式(6)を用いて手の姿勢について現在の手形状smean,Hを推定する。同様に、指姿勢のためのパーティクルフィルタ110は、式(6)を用いて指の姿勢について現在の指形状smean,Fを推定する。手の姿勢についての手形状smean,Hと、指の姿勢についての指形状smean,Fとが与えられると、図9に示される組合せブロック112は、推定された手の姿勢を推定された指の姿勢と組合せることができる。結果として得られる推定された手全体の形状がモデル更新モジュール114に与えられ、更新モジュール114は推定された手全体の形状で3Dの手モデル116を更新する。
Given all of the probabilities Π H, K, j , the
キャプチャされたステレオ画像の各々について上述の推定を繰返すことにより、手モデルトラッカ90は手の姿勢をリアルタイムでトラッキングする。手全体の姿勢を推定するのにパーティクルフィルタが用いられるので、局所的最小にしか到達しない可能性は低い。従って、手モデルトラッカ90は手の姿勢を信頼性をもってトラッキングする。検索空間の分解(手の姿勢と指の姿勢)により、トラッキングは各繰返しごとに短時間で実行でき、信頼性のあるリアルタイムのトラッキングが可能となった。
By repeating the above estimation for each captured stereo image, the
<コンピュータハードウェア構成>
上述の手モデルトラッカ90は、高速ネットワークを介して相互に接続された複数のコンピュータで実現できる。図15を参照して、手モデルトラッカ90を実現するためのコンピュータシステム320は、ステレオ画像を撮影し、撮影された画像の前処理を行なうためのカメラ32に接続されたパーソナルコンピュータ(PC)332と、各々がデュアルコアCPU構成を有し、評価ユニット202A−202N及び242A−242Nとして動作するように構成されたコアCPUを各々が有するPC334A−334Xと、評価ユニット202A−202N及び242A−242Nから出力された確率を用いて、手形状及び指形状の重み平均を計算し、推定された手の姿勢を推定された指の姿勢と組合せるためのPC338と、3D手モデルを記憶しPC338の出力を用いてこれを更新するためのPC336と、推定された手の姿勢に従ってロボットハンドを制御するハンド制御部340と、PC332、334A−334X、336、338及び340を接続する高速ネットワーク330とを含む。
<Computer hardware configuration>
The
図16はPC332の典型的な構成を示す。図16を参照して、PC332は、デュアル計算ユニットを有するデュアルコアCPU376と、ブートアッププログラムを記憶するための読出専用メモリ(ROM)378と、デュアルコアCPU376によって実行されるべきプログラムを記憶し、プログラムで用いられる変数を記憶するためのランダムアクセスメモリ(RAM)380と、プログラム、変数の初期値、初期3D手モデル及び他のデータを記憶するためのハードディスク374とを含む。
FIG. 16 shows a typical configuration of the
PC332はさらに、DVD382からデータを読出し、データを書込むためのディジタル多用途ディスク(DVD)ドライブ370と、キーボード366及びマウス368と、モニタ362、カメラ32が接続されたビデオキャプチャボード388と、ポータブルメモリ384からデータを読出し、データを書込むためのメモリポート372と、PC332をネットワーク330に接続可能とするためのネットワークインターフェイス396と、を含む。
The
他のPC334A−334X、336、338及び340は同じ構成を有する。しかし、これらのPCは全てPC332から制御可能となっているので、これらのPCにマウス、キーボード、またはモニタを設ける必要はない。
The
<結果>
複雑な多関節の対象物に対するトラッキングの性能を評価するのはなかなかむずかしい。通常は映像シーケンスからの比較用データを容易に得ることができないからである。手のトラッキングにおいては、データグローブ又はマーカ等のより正確な方法を容易に用いることもできない。これらが手の外観を変えてしまうからである。
<Result>
It is difficult to evaluate the tracking performance for complex articulated objects. This is because the comparison data from the video sequence cannot usually be obtained easily. In hand tracking, more accurate methods such as data gloves or markers cannot be easily used. This is because they change the appearance of the hand.
我々は、2段階の評価を行なうことを選択した。第1に、自然な映像を用いて、本発明のトラッカがある姿勢と別の姿勢との間でトラッキングを行なうことで実世界とうまく作用することを示した。トラッカの性能を示すために、比較用データが既知の人工的映像シーケンスを生成して、システムのトラッキング誤差を評価した。 We have chosen to conduct a two-step evaluation. First, it was shown that the tracker of the present invention works well with the real world by tracking between one posture and another posture using natural images. To show the performance of the tracker, an artificial video sequence with known comparative data was generated to evaluate the tracking error of the system.
A.自然な映像シーケンス
手の5つの姿勢を選択して、各対の間の遷移をトラッキングした。遷移が終了したあと、正確な姿勢までトラッカが完全に収束するまでに必要なフレームの数に注目した。全ての映像のキャプチャ速度は30FPSであった。
A. Natural video sequence Five hand poses were selected to track the transition between each pair. We focused on the number of frames required for the tracker to fully converge to the correct posture after the end of the transition. All video capture speeds were 30 FPS.
図17は合成の手ステレオ投影(フレーム150から400)のためのトラッキングシーケンスを示す。第1の行は面の手がかりのための入力を示し、第2の行はエッジの手がかりのための入力を示す。
FIG. 17 shows the tracking sequence for synthetic hand stereo projection (
B.合成映像シーケンス
第2の実験では、3D手モデル(図18)のステレオアニメーションシーケンスを投影することによって制作された合成映像を用いた。提示されたシーケンスから、各シーケンスの比較用データを導出することができる。従って、トラッキングされた値と比較用データとを比較でき、図19の結果が得られる。
B. Composite Video Sequence In the second experiment, a composite video produced by projecting a stereo animation sequence of a 3D hand model (FIG. 18) was used. Data for comparison of each sequence can be derived from the presented sequence. Accordingly, the tracked value can be compared with the comparison data, and the result of FIG. 19 is obtained.
図19は人差し指のMCPの2つのDOFについて、推定値と比較用データとの比較を示す。図19からわかるように、トラッキングされた値と比較用データとの誤差はきわめて小さい。 FIG. 19 shows a comparison between estimated values and comparison data for two DOFs of the MCP of the index finger. As can be seen from FIG. 19, the error between the tracked value and the comparison data is very small.
図20では、400フレームにわたるトラッキングでの手の姿勢誤差をみることができる。図20からわかるように、平均誤差(θMCP)はフレーム300で最高の0.06ラジアンに達したのみである。
In FIG. 20, the posture error of the hand in tracking over 400 frames can be seen. As can be seen from FIG. 20, the average error (θ MCP ) only reached the highest 0.06 radians in the
<結論>
この発明においては、パーティクルフィルタを用いた、マーカ不使用の手及び指トラッキングシステムの実施の形態を提示した。人の手のような、多関節で自己の重なりにより隠れた部分のある対象物の手がかりを正確に評価する、新規なzバッファを用いる方法を提案した。指を正確にトラッキングできるようにするために、検索空間を区分するパーティクル再サンプリングを提案した。PCクラスタに分散したパーティクルフィルタを用いてこれを実現し、トラッキングの結果を高いフレームレートで達成することが可能となった。トラッキングシステムの有効性は、20自由度の精巧なロボットハンドをリアルタイムで制御することで示された。
<Conclusion>
In the present invention, an embodiment of a marker-free hand and finger tracking system using a particle filter has been presented. We have proposed a new method using a z-buffer that accurately evaluates the cues of objects that are multi-joint and hidden by overlapping themselves, such as human hands. In order to be able to accurately track the finger, we proposed particle resampling to segment the search space. This can be achieved using particle filters dispersed in PC clusters, and tracking results can be achieved at a high frame rate. The effectiveness of the tracking system has been demonstrated by controlling a sophisticated robot hand with 20 degrees of freedom in real time.
このトラッキングシステムに人の全身のトラッカを組合せることで、非常に大きな利益が得られる。腕の姿勢を利用して手首の位置を得ることが可能となり、したがって、手の向きについての検索空間を大きく削減することができる。 Combining this tracking system with a tracker for the whole body of a person can provide tremendous benefits. The wrist position can be obtained by using the posture of the arm, and therefore the search space for the direction of the hand can be greatly reduced.
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内でのすべての変更を含む。 The embodiment disclosed herein is merely an example, and the present invention is not limited to the above-described embodiment. The scope of the present invention is indicated by each of the claims after taking into account the description of the detailed description of the invention, and all modifications within the meaning and scope equivalent to the wording described therein are intended. Including.
30 手
32 カメラ
34 ロボットハンド
58、116 3D手モデル
90 手モデルトラッカ
100 フレーム撮影部
102 フレームメモリ
104 画像前処理モジュール
106、220、236、260、276 メモリ
108 手のためのパーティクルフィルタユニット
110 指のためのパーティクルフィルタユニット
112 組合せブロック
114 モデル更新モジュール
118 乱数発生モジュール
120及び122 パーティクルメモリ
200、240 パーティクル形状メモリ
202A−202N及び242A−242N 評価ユニット
204、244 加重合計モジュール
218、258 ベクトル形成モジュール
222、262 座標変換モジュール
224、264 重心計算モジュール
226、266 ソートモジュール
228、268 リスト
230、270 手部分描画モジュール
232、272 zバッファ
234、274 衝突検出モジュール
238、278 確率計算モジュール
30
Claims (4)
3次元の手のモデルを記憶するための記憶手段と、
ビデオシーケンスの現在のフレームから手の姿勢の手がかりを抽出するための手がかり抽出手段と、
前記手がかりと現在の3次元の手のモデル形状とにパーティクルフィルタ処理を施して現在のフレーム中の手の姿勢を推定するための推定手段と、
前記推定手段によって推定された姿勢を用いて前記3次元の手のモデル形状を更新するための手段とを含み、
前記推定手段は、
3次元の手のモデルにランダムノイズを付加して前記3次元の手のモデルに対し予め定められた数のパーティクルの形状を生成する手段と、
手の形状を表す前記パーティクルの各々に対しzバッファ画像を生成するためのzバッファ処理手段とを含み、前記zバッファ画像は前記3次元の手のモデルの、前記ビデオシーケンスを出力する画像キャプチャ装置の画像面への投影であり、前記推定手段はさらに
前記手がかりと前記zバッファ画像とに基づいて、前記手の形状の各々の確率を計算するための確率計算手段と、
前記手の形状のそれぞれの確率を、前記手の形状を表すパーティクルのそれぞれの重みとして用いて、前記パーティクルの形状について計算された前記手の形状の重み合計を計算するための加重合計手段とを含む、手トラッキング装置。 A hand tracking device for tracking a hand in a video sequence using particle filter processing,
Storage means for storing a three-dimensional hand model;
A clue extraction means for extracting a hand posture clue from the current frame of the video sequence;
Estimating means for performing particle filtering on the clue and the current three-dimensional hand model shape to estimate the posture of the hand in the current frame;
Means for updating the model shape of the three-dimensional hand using the posture estimated by the estimating means,
The estimation means includes
Means for adding a random noise to a three-dimensional hand model to generate a predetermined number of particle shapes for the three-dimensional hand model;
Z-buffer processing means for generating a z-buffer image for each of the particles representing a hand shape, wherein the z-buffer image outputs the video sequence of the three-dimensional hand model A probability calculating means for calculating the probability of each of the hand shapes based on the clue and the z-buffer image;
Weighted summing means for calculating the total weight of the hand shape calculated for the shape of the particle, using each probability of the shape of the hand as the weight of each particle representing the shape of the hand Including hand tracking device.
前記パーティクルの第1の部分の確率を計算するための第1の評価手段を含み、前記第1の部分のパーティクル形状の指部分の各々は前記3次元モデルの現在の指部分と置換えられており、前記確率計算手段はさらに、
前記パーティクルの第2の部分の確率を計算するための第2の評価手段を含み、前記第2の部分のパーティクル形状の掌部分の各々は前記3次元モデルの現在の掌部分と置換えられており、
前記加重合計手段は
それぞれの確率を重みとして用いて、前記パーティクルの前記第1の部分の加重合計を計算するための第1の合計手段と、
それぞれの確率を重みとして用いて、前記パーティクルの前記第2の部分の加重合計を計算するための第2の合計手段とを含み、
前記組合せ手段は、前記第1の合計手段によって出力された加重合計の掌部分と、前記第2の合計手段によって出力された加重合計の指部分とを組合せるための手段を含む、請求項1に記載の手トラッキング装置。 The three-dimensional hand model includes a palm part and a finger part, and the probability calculation means includes:
First evaluation means for calculating a probability of the first part of the particle, each of the finger parts of the particle shape of the first part being replaced with a current finger part of the three-dimensional model The probability calculation means further includes:
Second evaluation means for calculating the probability of the second part of the particle, each of the palm parts of the particle shape of the second part being replaced with the current palm part of the three-dimensional model ,
Said weighted summing means, using respective probabilities as weights, first summing means for calculating a weighted sum of said first portion of said particles;
Second summing means for calculating a weighted sum of the second portion of the particles using each probability as a weight;
The combination means includes means for combining the weighted sum palm portion output by the first summing means and the weighted sum finger portion output by the second summing means. The hand tracking device described in 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325202A JP2008140101A (en) | 2006-12-01 | 2006-12-01 | Unconstrained and real-time hand tracking device using no marker |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325202A JP2008140101A (en) | 2006-12-01 | 2006-12-01 | Unconstrained and real-time hand tracking device using no marker |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008140101A true JP2008140101A (en) | 2008-06-19 |
Family
ID=39601494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006325202A Pending JP2008140101A (en) | 2006-12-01 | 2006-12-01 | Unconstrained and real-time hand tracking device using no marker |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008140101A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186730A (en) * | 2010-03-08 | 2011-09-22 | Sony Corp | Information processing device and method, and program |
CN103985139A (en) * | 2014-05-20 | 2014-08-13 | 重庆大学 | Particle filter target tracking method based on color model and prediction vector cluster model information fusion |
CN104000698A (en) * | 2014-06-04 | 2014-08-27 | 西南交通大学 | Electric bicycle obstacle avoiding method integrating sparse representation and particle filter |
CN104794737A (en) * | 2015-04-10 | 2015-07-22 | 电子科技大学 | Depth-information-aided particle filter tracking method |
CN104952104A (en) * | 2014-03-26 | 2015-09-30 | 联想(北京)有限公司 | Three-dimensional human body gesture estimating method and device thereof |
US9240053B2 (en) | 2010-03-15 | 2016-01-19 | Bae Systems Plc | Target tracking |
US9305244B2 (en) | 2010-03-15 | 2016-04-05 | Bae Systems Plc | Target tracking |
JP2023521952A (en) * | 2020-07-27 | 2023-05-26 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 3D Human Body Posture Estimation Method and Apparatus, Computer Device, and Computer Program |
-
2006
- 2006-12-01 JP JP2006325202A patent/JP2008140101A/en active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186730A (en) * | 2010-03-08 | 2011-09-22 | Sony Corp | Information processing device and method, and program |
US9240053B2 (en) | 2010-03-15 | 2016-01-19 | Bae Systems Plc | Target tracking |
US9305244B2 (en) | 2010-03-15 | 2016-04-05 | Bae Systems Plc | Target tracking |
CN104952104A (en) * | 2014-03-26 | 2015-09-30 | 联想(北京)有限公司 | Three-dimensional human body gesture estimating method and device thereof |
CN103985139A (en) * | 2014-05-20 | 2014-08-13 | 重庆大学 | Particle filter target tracking method based on color model and prediction vector cluster model information fusion |
CN104000698A (en) * | 2014-06-04 | 2014-08-27 | 西南交通大学 | Electric bicycle obstacle avoiding method integrating sparse representation and particle filter |
CN104794737A (en) * | 2015-04-10 | 2015-07-22 | 电子科技大学 | Depth-information-aided particle filter tracking method |
CN104794737B (en) * | 2015-04-10 | 2017-12-15 | 电子科技大学 | A kind of depth information Auxiliary Particle Filter tracking |
JP2023521952A (en) * | 2020-07-27 | 2023-05-26 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 3D Human Body Posture Estimation Method and Apparatus, Computer Device, and Computer Program |
JP7503643B2 (en) | 2020-07-27 | 2024-06-20 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 3D human body posture estimation method and apparatus, computer device, and computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hasson et al. | Learning joint reconstruction of hands and manipulated objects | |
Stenger et al. | Model-based hand tracking using a hierarchical bayesian filter | |
JP4148281B2 (en) | Motion capture device, motion capture method, and motion capture program | |
Knoop et al. | Sensor fusion for 3D human body tracking with an articulated 3D body model | |
JP2008140101A (en) | Unconstrained and real-time hand tracking device using no marker | |
Chen et al. | Unsupervised learning of visual 3d keypoints for control | |
Krejov et al. | Combining discriminative and model based approaches for hand pose estimation | |
Aristidou | Hand tracking with physiological constraints | |
Bandouch et al. | A self-training approach for visual tracking and recognition of complex human activity patterns | |
CN110348321A (en) | Human motion recognition method based on bone space-time characteristic and long memory network in short-term | |
Li et al. | Hybrik-x: Hybrid analytical-neural inverse kinematics for whole-body mesh recovery | |
Knoop et al. | Fusion of 2D and 3D sensor data for articulated body tracking | |
Gumpp et al. | Unconstrained real-time markerless hand tracking for humanoid interaction | |
Wang et al. | Six-dimensional target pose estimation for robot autonomous manipulation: Methodology and verification | |
Tang et al. | Opening the black box: Hierarchical sampling optimization for hand pose estimation | |
Ahmad et al. | Tracking hands in interaction with objects: A review | |
Infantino et al. | A cognitive architecture for robotic hand posture learning | |
WO2021155653A1 (en) | Human hand-object interaction process tracking method based on collaborative differential evolution filtering | |
Kwolek et al. | Real-time multi-view human motion tracking using 3D model and latency tolerant parallel particle swarm optimization | |
Sigalas et al. | Visual tracking of independently moving body and arms | |
Xie et al. | RHOBIN Challenge: Reconstruction of human object interaction | |
Banzi et al. | A novel hand pose estimation using dicriminative deep model and Transductive learning approach for occlusion handling and reduced descrepancy | |
Lefebvre-Albaret et al. | Body posture estimation in sign language videos | |
Hecht et al. | Markerless human motion tracking with a flexible model and appearance learning | |
Hüser et al. | Visual programming by demonstration of grasping skills in the context of a mobile service robot using 1D-topology based self-organizing-maps |