【文献】
Jonathan Shade,Layered Depth Images,SIGGRAPH ’98 Proceedings of the 25th annual conference on Computer graphics and interactive techniques,米国,1998年,pp.231−242
(58)【調査した分野】(Int.Cl.,DB名)
前記付加情報は、前記分析対象の形状、姿勢、キージョイント、及び構造のうち少なくとも1つに関する情報を含むことを特徴とする請求項2に記載のオブジェクト認識装置。
前記処理部は、前記演算された結果値が前記閾値よりも小さければ、前記左側子ノードを探索し、前記演算された結果値が前記閾値と同一であるか大きければ、前記右側子ノードを探索することを特徴とする請求項5に記載のオブジェクト認識装置。
前記分析対象に対するオブジェクトモデルの幅及び高さのうち少なくとも1つの大きさを調整する大きさ調整部をさらに備えることを特徴とする請求項1乃至6のいずれか一項に記載のオブジェクト認識装置。
前記分類ツリーは、前記可視オブジェクトパートの確率値及び前記隠しオブジェクトパートの確率値を含むことを特徴とする請求項1乃至7のいずれか一項に記載のオブジェクト認識装置。
前記分類ツリーは、前記可視オブジェクトパートと前記隠しオブジェクトパートの相対的深度値を含むことを特徴とする請求項1乃至7のいずれか一項に記載のオブジェクト認識装置。
前記分類ツリーは、前記隠しオブジェクトパートの少なくとも一部分を複数のレイヤに表現することを特徴とする請求項1乃至7のいずれか一項に記載のオブジェクト認識装置。
【発明を実施するための形態】
【0014】
以下、添付する図面を参照しながら実施形態を詳細に説明する。
【0015】
図1は、一実施形態に係るオブジェクト認識システムの動作を示す図である。
図1を参照すると、オブジェクト認識システムは、分析対象に対する単一深度映像(Single Depth Image)111を用いて分析対象の見える部分(Visible Part)だけではなく見えない隠された部分(Hidden Part)までも認識することができ、さらに分析された結果に基づいて分析対象に対するボリュームを構成することができる。加えて説明すると、オブジェクト認識システムは、何枚の深度映像を利用しなくても分析対象に対する一枚の深度映像から分析対象を構成する複数の構成(例えば、分析対象が人である場合、複数の構成は人の各身体部位−手、腕、足、胴体など−になり得る)を認識できる。分析対象は人、動物、物体などの様々なオブジェクトであってもよい。
【0016】
オブジェクト認識システムは、分類ツリー学習装置とオブジェクト認識装置を構成として含んでもよい。分類ツリー学習装置は分類ツリーを学習してもよく、オブジェクト認識装置は、ここで学習された分類ツリー121、122を用いてもよい。オブジェクト認識装置は分類ツリー学習装置が生成した、学習された分類ツリー121、122を用いて深度映像111から分析対象の可視オブジェクトパート(Visible Object Part)及び隠しオブジェクトパート(Hidden Object Part)を認識する(120)。ここで、実施形態によってオブジェクト認識装置自ら学習された分類ツリー121、122を生成し、学習された分類ツリー121、122を用いて分析対象の可視/隠しオブジェクトパートを認識する。学習された分類ツリーは、必要に応じて図面に示すように複数使用してもよく、1つのみを使用してもよい。可視オブジェクトパートは、分析対象に対する映像で直接的に見える部分を示す。また、隠しオブジェクトパートは、映像の角度、撮影方向などにより直接見えない部分を示す。
【0017】
実施形態に係るオブジェクト認識装置は、学習された分類ツリー121、122を用いて分析対象に対する可視レイヤと、1つまたは複数の隠しレイヤを復元する(130)。例えば、オブジェクト認識装置は、認識された結果から深度映像で直接見える部分(すなわち、可視パート)及び直接見えない部分(すなわち、隠しパート)に対する識別子(ID)をそれぞれ分類する(131)。また、オブジェクト認識装置は、認識された結果から隠しパートに対する深度値を復元する(132)。さらに、オブジェクト認識装置は、復元された情報に基づいて分析対象に対するボリュームを復元したりポーズを推定する(140)。
【0018】
オブジェクト認識システムは、オブジェクトの認識が要求される全ての種類のデバイスに用いられてもよい。例えば、オブジェクト認識システムは、LFD(Large Format Display)を含むスマートTV、スマートフォン、カメラを含むモバイルデバイス、タブレット、ノート型パソコン、オールインワンPC(All−in−one PC)、デスクトップを含む個人用コンピュータなどに用いられてもよい。
【0019】
また、オブジェクト認識システムは、アプリケーションとして用いられてもよい。例えば、オブジェクト認識システムは、エクササイズゲーム(Exercise Game、Exergame)、仮想スポーツ(Virtual Sports)、仮想環境(Virtual Entertainment)、グラフィックアニメーション(Graphical Animation)、ビデオオブジェクト探査(Video Object Exploration)、人体工学(Ergonomics)、人間ロボット相互動作(Human Robot Interaction)、監視(Surveillance)、家電製品用自然なUI(Natural User Interfaces for Consumer Electronics)などの技術分野に適用されてもよい。例えば、オブジェクト認識システムは、ミュージックビデオ、音楽放送市場、健康ビデオ市場などでインタラクティブビデオを制御するための技術として活用されてもよい。
【0020】
以下、可視オブジェクトパート及び隠しオブジェクトパートについて説明し、オブジェクト認識装置及び分類ツリー学習装置の動作に対して詳細に説明する。
【0021】
図2〜
図6は、可視オブジェクトパートと隠しオブジェクトパートの実施形態を示す図である。可視オブジェクトパートはオブジェクトを撮影した映像(例えば、カラー映像または深度映像)で直接目で確認できる見える部分を示し、隠しアプリケーションパートは、他の部分に遮られて見えない後方の部分や内側の部分を示す。例えば、イメージセンサによってオブジェクトを撮影する場合、センナプレイン(Sensor Plane)に結像する部分を可視オブジェクトパートデータといい、オブジェクトのセルフオクルージョン(Self Occlusion)や他のオブジェクトによってオクルージョンが発生するオブジェクト領域を隠しオブジェクトパートデータという。
【0022】
図2を参照すると、オブジェクトが正六面体である場合、正六面体に対する可視オブジェクトパートは正六面体の正面ビュー(Front View)202で見える3つの面であり、正六面体に対する隠しオブジェクトパートは正六面体の後方ビュー(Rear View)203で見える3つの面である。
図3を参照すると、オブジェクトが人であり、人の左側の側面を撮影した映像である場合、可視オブジェクトパート301は左腕と左脚などを含む身体の一部になり、隠しオブジェクトパートデータ302は左腕と左脚によって遮られる右腕、左胴、右脚などになる。
図4を参照すると、オブジェクトが人の右手であり、人の右手の左側の側面を撮影した映像である場合、可視オブジェクトパートデータ401は親指、人差し指などになり、隠しオブジェクトパートデータ403は中指の一部分402、薬指の一部分403などになる。
【0023】
図2〜
図4を参照して説明した隠しオブジェクトパートは、オブジェクトに対する撮影映像で他の部分によって遮られたり撮影センサと反対側にあるなどの理由によって直接見えない部分を示す。一方、実施形態に係る隠しオブジェクトパートはオブジェクト内部に位置する部分であってもよい。例えば、
図5を参照すると、オブジェクトが人である場合、人に対する可視オブジェクトパート501は人の外観になり、人に対する隠しオブジェクトパート502は人の内部に存在する筋肉、骨格、内臓、心血管、神経系などである。また、
図6を参照すると、オブジェクトが建築物である場合、可視オブジェクトパートデータ601は目に見える建築物の外形であり、隠しオブジェクトパートデータ602は建築物の内部構造である。
【0024】
以下、
図7a〜
図9を参照して分類ツリー学習装置の動作に対して説明し、
図10a〜
図14bを参照してオブジェクト認識装置の動作に対して説明する。前に
図2〜
図6を参照して様々なオブジェクトの例を開示したが、以下の分類ツリー学習場分及びオブジェクト認識装置の動作は
図3に示す人のポーズを例に挙げて説明する。
【0025】
図7aは、一実施形態に係る分類ツリー学習装置の動作を示す図である。分類ツリー学習装置は、オブジェクト認識装置が分析対象の可視オブジェクトパート及び隠しオブジェクトパートを認識するとき用いる学習された分類ツリーを生成してもよい。実施形態によって、分類ツリー学習装置が分類ツリーを学習するための前処理過程として、オブジェクト認識システムは、オブジェクトに対する3次元オブジェクトモデル(3D Object Model)712を生成する。ここで、オブジェクト認識システムは、オブジェクトに対する物理的情報711から3次元オブジェクトモデル712を生成する(710)。また、オブジェクト認識システムは、オブジェクトに対するモーションキャプチャー721を行ってIK(inverse kinematics)動作を行い(720)モーションデータ722を収集し、収集したモーションデータ722を3次元オブジェクトモデル712に適用して3次元オブジェクトモデル712に関する情報を更新する(723)。
【0026】
分類ツリー学習装置は、分類ツリーを学習するためのトレーニングデータ(Training Data)を生成するために更新された3次元オブジェクトモデル712を用いてボリューム分解(Volume decomposition)する(724)。分類ツリー学習装置は、レイ−キャスティング(Ray−Casting)方式を用いてボリューム分解を行う。分類ツリー学習装置は、ボリューム分解を行ってオブジェクトに対する識別子情報と深度値を収集し(725)、収集した情報に基づいてトレーニングデータを生成し、生成されたトレーニングデータを用いて分類ツリーを学習する(726)。実施形態に係る分類ツリー学習装置は、ランダムフォレスト(Random Forest)を分類ツリーとして用いる。
【0027】
図7bは、一実施形態に係る分類ツリー学習装置の構成を示す図である。
図7bを参照すると、分類ツリー学習装置は学習部730を含んでもよい。学習部730は、分析対象(オブジェクト)に関するトレーニングデータを用いて学習された分類ツリーを生成してもよい。すなわち、学習部730は、トレーニングデータを用いて分類ツリーを学習してもよい。実施形態に係る学習部730は、トレーニングデータを直接生成してもよい。学習部730は、出力部731、映像レイヤ生成部732、収集部733及びトレーニングデータ生成部734を備える。
【0028】
図7cを参照すると、出力部731は、仮想カメラ751を用いて分析対象(例えば、人)の3次元オブジェクトモデル752の複数のボクセル(Voxel)に向かって光線を出力する。映像レイヤ生成部732は、光線が3次元オブジェクトモデル752の表面を透過する度毎に順次映像レイヤを生成してもよい。例えば、映像レイヤ生成部732は、光線が3次元オブジェクトモデル752を初めて透過する点(または、ボクセル)を集めて可視レイヤを生成してもよい。また、映像レイヤ生成部732は、光線が3次元オブジェクトモデル752を通過した後再び透過するとき(すなわち、2回透過する場合)、このような透過点(または、ボクセル)を集めて第1隠しレイヤを生成してもよい。同じ論理に基づいて、映像レイヤ生成部732は、第2、第3、第4隠しレイヤを生成する。隠しレイヤは、オブジェクトの形状、姿勢などと仮想カメラ751とオブジェクトとの間の方向などによって1つ生成されてもよく、複数生成されてもよい。
【0029】
収集部733は、複数の各映像レイヤごとに光線が透過する表面のボクセルを識別子(Voxel ID)及び深度値(Depth Value)を収集してもよい。また、収集部733は、収集した識別子及び深度値を複数の映像レイヤそれぞれに格納してもよい。例えば、収集部733は、光線が3次元オブジェクトモデル752を初めて透過する点(または、ボクセル)に対する識別子を収集して可視レイヤに格納することで、可視レイヤに表示されたオブジェクトパートに対する識別子イメージ753を生成してもよい。また、収集部733は、光線が3次元オブジェクトモデル752を初めて透過する点(または、ボクセル)に対する深度値を収集して可視レイヤに格納することで、可視レイヤに対する深度値イメージ756を生成してもよい。このように収集部733は、光線が3次元オブジェクトモデル752を通過した後再び透過するとき(すなわち、2回透過する場合)、このような透過点(または、ボクセル)に対する識別子を収集して第1隠しレイヤに格納することで、第1隠しレイヤに表示されたオブジェクトパートに対する識別子イメージ754を生成してもよい。また、収集部733は、光線が3次元オブジェクトモデル752を通過した後再び透過するとき、このような透過点(または、ボクセル)に対する深度値を収集して第1隠しレイヤに格納することで、第1隠しレイヤに対する深度値イメージ757を生成してもよい。
【0030】
同様に、収集部733は、第2、第3、第4隠しレイヤに対して第1隠しレイヤの動作を同一に適用してもよい。例えば、収集部733は、第2隠しレイヤに表示されたオブジェクトパートに対する識別子イメージ755及び第2隠しレイヤに対する深度値イメージ758を生成してもよい。
【0031】
トレーニングデータ生成部734は、仮想カメラ751との距離が最小である映像レイヤ(すなわち、可視レイヤ)を可視オブジェクトパートに対するデータに設定してもよい。可視オブジェクトパートに対するデータは、識別子及び深度値を含んでもよい。同様に、トレーニングデータ生成部734は、残りの映像レイヤ(すなわち、隠しレイヤ)を識別子及び深度値を含む隠しオブジェクトパートに対するデータに設定してもよい。トレーニングデータ生成部734は、このように設定された可視オブジェクトパートに対するデータ及び隠しオブジェクトパートに対するデータを用いてトレーニングデータを生成してもよい。
【0032】
以上で
図7b〜
図7cを参照して説明したように、学習部730は、分類ツリーを学習させるためのトレーニングデータを直接生成してもよい。しかし、学習部730がこれに限定することなく、別途の方法によって生成されたトレーニングデータを用いてもよい。以下、生成されたトレーニングデータを用いて分類ツリーを学習する動作に対して説明する。
【0033】
図7d及び
図8は、一実施形態に係る分類ツリー学習装置がトレーニングデータを用いて分類ツリーを学習する動作を示す図である。
図7d及び
図8を参照すると、分類ツリー学習装置は、トレーニングデータで分類ツリーの学習に用いる可視オブジェクトパートに対するデータD
v701と、隠しオブジェクトパートに対するデータD
h702を選択する(801)。再び説明すると、分類ツリー学習装置は、学習対象データDを任意に選択してもよい。ここで、オブジェクトの各パート(例えば、オブジェクトが人である場合、腕、足、胴、頭などのパート)が各クラス(class)を形成してもよい。
【0034】
分類ツリー学習装置は、選択されたトレーニングデータを入力して分類ツリー703を生成して学習する(802)。再び説明すると、分類ツリー学習装置は、選択された学習対象データDを用いて分類ツリーを生成して学習してもよい。ここで、DはD
vとD
hに構成してもよい。
【0035】
分類ツリー学習装置は、入力されたデータ(可視オブジェクトパートに対するデータD
v701と隠しオブジェクトパートに対するデータD
h702)がオブジェクトのいずれかのパートに該当するかを確率値に表示したヒストグラムを生成して各ノードに格納してもよい。一実施形態に係るヒストグラムの横軸は、複数のオブジェクトパートIDになり、縦軸は入力されたデータが横軸の複数のオブジェクトパートIDそれぞれに該当する確率値を示す。例えば、オブジェクトが人である場合、人に対するオブジェクトパートは頭、腕、胴、脚などである。ここで、分類ツリー学習装置は、分類ツリーの各ノードで人に対する映像が特定ノードで頭と認識される確率、腕と認識される確率、胴と認識される確率、脚と認識される確率などを表示したヒストグラムを生成してもよい。
【0036】
分類ツリー703のルートノード(Root Node)704では、入力されたデータが自身のクラス(パート)に該当する確率が全て均等に演算して格納され得る。しかし、分類ツリー学習装置がトレーニングデータを継続して学習して分類ツリーの下位ノードに探索して行くほど、入力されたデータが該当する確率がクラスごとに差が発生することがある。したがって、分類ツリー703のリーフノード(Leaf Node)705では、入力されたデータが該当する確率が最も高いクラス(パート)が決定される。再び説明すると、学習が進行されてオブジェクトパート分類ツリー703のレベル(Level)が増加するほど次第に特定クラスの確率が高く保持され、他のクラスの確率は低くなる。
【0037】
ここで、分類ツリー学習装置は、リーフノード705で可視オブジェクトパートデータD
v701に対する深度値と隠しオブジェクトパートデータD
h702に対する深度値との間の差値を演算して相対的深度値(Relative Depth Value)を演算し、リーフノード705にヒストグラムと共に格納してもよい。
【0038】
実施形態に係る分類ツリー学習装置は、ステップ801〜802の動作を繰り返し行って複数の学習された分類ツリーを生成する(803)。例えば、分類ツリー学習装置は、K個の分類ツリーで構成されたランダムフォレスト(Random Forest)を学習するためにステップ801とステップ802をK回繰り返し行ってもよい。
【0039】
図9は、学習部が分類ツリーを学習する動作の一実施形態を示す図である。
図7b及び
図9を参照すると、学習部730は分類ツリーを学習するために、特徴選択部741、特徴空間変換部742、閾値選択部743、分割部744、情報利益演算部745、及び分類ツリー生成部746を備える。
【0040】
特徴選択部741は、複数の特徴セット(Feature Set)のいずれか1つの特徴を任意に選択する(901)。特徴空間変換部742は、選択した特徴を用いて可視オブジェクトパートに対するデータ及び隠しオブジェクトパートに対するデータを特徴空間に変換する(902)。ここで、可視オブジェクトパートに対するデータ及び隠しオブジェクトパートに対するデータは、トレーニングデータに含まれたデータを示す。
【0041】
一実施形態に係る特徴は深度比較特徴であってもよく、特徴空間変換部742は、下記の(数式1−1)のような深度比較特徴(Depth Comparison Feature)式を用いて特徴空間変換を行う。
【0042】
【数1】
ここで、d
I(x)は映像Iでピクセルx(pixel x)の深度を示し、uとvはxから任意に選択されたオフセットポイントを示す。ここで、f
(u、v)(I、x)は、分割部のスプリット関数で用いられてもよい。深度比較特徴の他の特徴が選択されてもよく、特徴空間変換部742は、特徴空間変換を行うために前記(数式1−1)の他にもレベルセット、HoG(Histogram of Gradient)などの特徴空間変換のための方法を用いてもよい。しかし、特徴空間変換部742がこのような方法で限定されて動作することはない。
【0043】
閾値選択部743は、特徴空間の最小値と最大値の範囲内で閾値を任意に選択する(903)。(数式2−1)は、閾値選択部743が閾値tを特徴空間の最小値と最大値の範囲内で選択する動作を示す。
【0044】
【数2】
ここで、iはD
v及びD
hに属するデータを示す。また、D
vまたはD
hはイメージのピクセルであってもよく、イメージのパッチ(patch)であってもよいが、特定データ形態に限定されることはない。
【0045】
分割部744は、閾値、特徴空間、及び可視オブジェクトパートに対するデータをスプリット関数に入力し、可視オブジェクトパートに対するデータを2種類に分割してもよい。このような2種類を便宜上左側と右側に呼ぶことにす。したがって、分割部744は、可視オブジェクトパートに対するデータを左側可視オブジェクトパートに対するデータ及び右側可視オブジェクトパートに対するデータに分割する(904)。分割部744が左側/右側可視オブジェクトパートのデータに分割する動作は、分類ツリーで現在ノードの下位ノードそれぞれ分割することである。したがって、所定のデータを左側データに分割するか右側に分割するかは任意に選択してもよい。
【0046】
分割部744は、(数式2−2)のスプリット関数を用いて可視オブジェクトパートに対するデータを分割してもよい。
【0047】
【数3】
ここで、iはD
vに属するデータを示す。また、D
vleftは左側可視オブジェクトパートデータであり、D
vrightは右側可視オブジェクトパートデータである。分割部744は、iをスプリット関数f(x)に入力して演算された結果値が閾値tよりも小さければ、iを左側可視オブジェクトパートデータに分割し、演算された結果値が閾値tよりも大きいか同一であれば、iを右側可視オブジェクトパートデータに分割してもよい。
【0048】
同様に、分割部744は、(数式2−3)のスプリット関数を用いて隠しオブジェクトパートに対するデータを分割してもよい。
【0049】
【数4】
ここで、D
hleftは左側隠しオブジェクトパートデータであり、D
hrightは右側隠しオブジェクトパートデータであり、D
hは隠しオブジェクトパートデータである。
【0050】
情報利益演算部745は、左側可視オブジェクトパートに対するデータ、右側可視オブジェクトパートに対するデータ、左側隠しオブジェクトパートに対するデータ、及び右側隠しオブジェクトパートに対するデータに関する情報利益を演算する(905)。例えば、情報利益演算部745は、左側可視オブジェクトパートに対するデータ及び右側可視オブジェクトパートに対するデータの第1中間情報利益を演算してもよい。また、情報利益演算部745は、左側隠しオブジェクトパートに対するデータ及び右側隠しオブジェクトパートに対するデータの第2中間情報利益を演算してもよい。第1、第2中間情報利益を演算した後、情報利益演算部745は第1中間情報利益及び第2中間情報利益に基づいて最終的な情報利益を演算してもよい。
【0051】
第1、第2中間情報利益を算出する、例えば、情報利益演算部745は各ノードでシャノンエントロピー(E(D))に基づく(数式2−4)を用いてもい。
【0052】
【数5】
ここで、E(D)はシャノンエントロピーを示し、cはクラスの個数を示し、C
iはi番目のオブジェクトパートクラスを示し、Dは特定のノードでのデータセット(Data Set)を示す。ここで、P(c
i|D)は、データDのうちi番目のオブジェクトパートクラスの確率を示す。ここで、確率は、データDの個数からi番目のオブジェクトパートクラスが占める個数の比率を示す。例えば、全体Dの個数が100であり、3番目の特定オブジェクトパートクラスの一例である手のボクセル個数が15である場合、P(c
3|D)の値は0.15となる。
【0053】
実施形態に係る情報利益演算部745は、シャノンエントロピーだけではなくジニーエントロピー(Gini Entropy)などを用いて識別されるクラスセット(Discriminative Classes Set)が見つけられたか否かを測定する。
【0054】
情報利益演算部745は、各ノードの可視オブジェクトパートデータの識別大きさΔE
vを(数式2−5)のように演算してもよい。
【0055】
【数6】
また、情報利益演算部745は、各ノードのn番目の隠しオブジェクトパートデータの識別大きさΔE
hnを(数式2−6)のように演算してもよい。
【0056】
【数7】
(数式2−4)から2−6を用いて算出した値に基づいて、情報利益演算部745は最終的な情報利益を下記の(数式2−7)のように演算してもよい。
【0057】
【数8】
ここで、αの大きさを0から1の間に調整することによって、情報利益演算部745は、可視オブジェクトパートデータと隠しオブジェクトパートデータのいずれか一側に加重値をおいて情報利益を演算するかを調節する。例えば、情報利益演算部745は、可視オブジェクトパートデータの情報利益のみを考慮しようとすると、αを1に設定してもよい。また、αが1に近いほど可視オブジェクトパートデータが識別性のあるよう構成されたかを考慮することができ、0に近いほど隠しオブジェクトパートデータが識別性のあるよう構成されたかを考慮することができる。α=0.5である場合、情報利益演算部745は、可視オブジェクトパートデータと隠しオブジェクトパートデータを同じ重要度であると考慮してもよい。
【0058】
分類ツリー生成部746は、演算された情報利益が予め設定された最適基準範囲内の値であるか否かを判断する(906)。情報利益が最適基準範囲の外にある場合、分類ツリー生成部746は閾値を任意に再び選択してもよい。また、再び選択された閾値を用いてステップ903〜906を繰り返し行う。情報利益が最適基準範囲内にある場合、分類ツリー生成部746は、分類ツリーの現在ノードに選択した特徴の値、閾値、左側可視オブジェクトパートに対するデータ、右側可視オブジェクトパートに対するデータ、左側隠しオブジェクトパートに対するデータ、及び右側隠しオブジェクトパートに対するデータを格納する(907)。
【0059】
その後、分類ツリー生成部746は、閾値を再び選択してステップ903〜908を複数回(N回)繰り返し行う(908)。また、分類ツリー生成部746は、特徴を再び選択してステップ901〜909を複数回(M回)繰り返し行う(909)。ステップ903〜908をN回繰り返して行い、ステップ901〜909をM回繰り返し実行(Iteration)することで、N×M回のテストを介して最も小さいΔEvであるとき(繰り返し実行することによって最適の値を有するものと演算された最終的な情報利益、Best Gain E)の特徴及び閾値を探す目的を達成することができる。
【0060】
分類ツリー生成部746は、現在ノードが停止基準を満足するかを判断する(910)。一例として、分類ツリー生成部746は、下記のi−iiiの条件の少なくとも1つ以上を満足する場合、現在ノードが停止基準を満足すると判断してもよい。
【0061】
i.最終的な情報利益(Best Gain E)が基準値以下である場合
(例えば、Δ0.5である場合)
ii.分類ツリーのレベルが基準値以上である場合
(例えば、分類ツリーのレベルが25以上である場合)
iii.可視オブジェクトパートデータ及び隠しオブジェクトパートデータの量が基準値以下である場合
(例えば、データに属するボクセルの数が10個以下である場合)
分類ツリー生成部746は、現在ノードが停止基準を満足すると、現在ノードをリーフノードとして決定し、当該データセットに対して学習する動作を終了してもよい。可視オブジェクトパートの後に数回重畳した隠しオブジェクトパートがある場合、分類ツリー生成部746は、1つのリーフノードのうち隠しオブジェクトパートに対するヒストグラムを複数生成してもよい。再び説明すると、重畳したパートが数個ある場合、隠しオブジェクトパートは重畳した数だけ数個存在するが、分類ツリー生成部746は、隠しオブジェクトパートに対するヒストグラムを1つのリーフノードのうち複数生成することによって複数の隠しオブジェクトパートそれぞれに関する情報を格納してもよい。
【0062】
分類ツリー生成部746は、それぞれのノードで可視オブジェクトパートに対する第1ヒストグラム及び隠しオブジェクトパートに対する第2ヒストグラムを生成してもよい。ここで、第1ヒストグラムは、分析対象に対する複数のオブジェクトパートそれぞれが可視オブジェクトパートに決定される確率を表示するヒストグラムであり、第2ヒストグラムは複数のオブジェクトパートそれぞれが隠しオブジェクトパートに決定される確率を表示するヒストグラムであってもよい。分類ツリー生成部746は、第1ヒストグラム及び第2ヒストグラムを分類ツリーの現在ノードに格納する(911、912)。
【0063】
ここで、第1ヒストグラムの確率は、(数式2−4)で用いられた可視オブジェクトパートに対するP(c
i|D)の意味と同一である。また、第2ヒストグラムの確率は、(数式2−4)で用いられた隠しオブジェクトパートに対するP(c
i|D)の意味と同一である。
【0064】
すなわち、学習が進行してリーフノードに残っているデータDのうち、可視オブジェクトパートに属する各クラスc
iに対する比率は確率で算出されて第1ヒストグラムに格納され、隠しオブジェクトパートに属する各クラスc
iに対する比率は確率で算出されて第2ヒストグラムに格納されてもよい。
【0065】
分類ツリー生成部746は、現在ノードがリーフノードと決定されると、可視オブジェクトパートに対する深度値と隠しオブジェクトパートに対する深度値との間の差値を示す相対的深度値(Relative Depth Value)を演算して格納してもよい。したがって、オブジェクト認識装置が分類ツリー学習装置が生成した学習された分類ツリーを用いて分析対象を認識するとき、リーフノードに相応するよう格納された第1、第2ヒストグラム及び相対的深度値を用いることによって、分析対象の各パートを認識して分析対象のボリュームを再構成することができる。
【0066】
分類ツリー生成部746がリーフノードを決定する動作を可視オブジェクトパートに対するデータ及び隠しオブジェクトパートに対するデータに対して表示すると、
図14bのように示すことができる。
【0067】
図14bを参照すると、分類ツリー生成部746は、最初に選択した特徴、閾値とスプリット関数を用いて可視オブジェクトパートに対するデータに含まれた可視レイヤ1410を1次分割(1
st Split)1401する。また、分類ツリー生成部746は、停止基準を満足するまで特徴、閾値を再び選択して2次分割1402、3次分割1403などを行う。繰り返しの分割によって現在ノードが停止基準を満足する場合、分類ツリー生成部746は当該オブジェクトパートの部分1404をリーフノードとして決定してもよい。分類ツリー生成部746は、第1隠しレイヤ1420〜第n隠しレイヤ1430などに対しても可視レイヤ1410と同様に、繰り返し分割動作を行ってリーフノードを決定してもよい。
【0068】
分類ツリー生成部746は、現在ノードが停止基準を満足しなければ、分類ツリーの現在ノードをスプリットノードとして決定する(913)。分類ツリー生成部746は、スプリットノードとして決定されたノードに選択した特徴の値、閾値、左側可視オブジェクトパートに対するデータ、右側可視オブジェクトパートに対するデータ、左側隠しオブジェクトパートに対するデータ、及び右側隠しオブジェクトパートに対するデータを格納してもよい。
【0069】
また、分類ツリー生成部746は、左側可視オブジェクトパートに対するデータ(D
vleft)及び左側隠しオブジェクトパートに対するデータ(D
hleft)を入力として左側子ノード(Child node)を学習し(914)、右側可視オブジェクトパートに対するデータ(D
vright)及び右側隠しオブジェクトパートに対するデータ(D
hright)を入力として右側子ノードを学習する(915)。すなわち、分類ツリー生成部746は、現在ノードが停止基準を満足しなければ、左側可視/隠しオブジェクトパートに対するデータを入力データとして分類ツリーを再帰呼出し(Recursive Call)、右側可視/隠しオブジェクトパートに対するデータを入力データとして分類ツリーを再帰呼出してもよい。ここで、下位ノードを学習する動作は、ステップ901〜910の動作が同一に適用されてもよい。
【0070】
以上は
図7a〜
図9を参照して分類ツリー学習装置が分類ツリーを学習する動作について説明した。以下、学習された分類ツリーを用いて分析対象に対する深度映像からオブジェクトパートを認識するオブジェクト認識装置の動作について説明する。
【0071】
図10aは、一実施形態に係るオブジェクト認識装置の構成を示す図である。また、
図11は、オブジェクト認識装置の動作を示すフローチャートである。
図10aを参照すると、オブジェクト認識装置は、入力部1010及び処理部1020を備える。入力部1010は、分析対象に対する深度映像が入力される(1101)。分析対象は、人や物などのオブジェクトを示す。
【0072】
処理部1020は、学習された分類ツリーを用いて深度映像から分析対象の可視オブジェクトパート及び分析対象の隠しオブジェクトパートを認識する(1102、1103)。
図10bを参照すると、学習された分類ツリーが複数である場合に処理部1020は、複数の学習された分類ツリー1001、1002それぞれに分析対象に対する深度映像を入力し、分析対象の深度映像がどのような可視オブジェクトパートに対応してどのような隠しオブジェクトパートに対応するかを認識する。例えば、処理部1020は、学習された分類ツリーの各レベルのスプリットノードに学習によって格納された特徴vと閾値tを用いて、各ノードで左側に進行するか右側に進行するかを決定した後、最終的にはリーフノードに到達する。リーフノードに学習によって格納された可視オブジェクトパートに対するクラス確率ヒストグラムと隠しオブジェクトパートに対するクラス確率ヒストグラムを用いて、分析対象に対する深度映像がどのような可視オブジェクトパートに属し、どのような隠しオブジェクトパートに属するかを認識する。例えば、一実施形態に係る処理部1020は、複数の学習された分類ツリー1001、1002のリーフノードで認識された各結果の平均を用いて可視オブジェクトパート及び隠しオブジェクトパートを認識する。
【0073】
オブジェクト認識装置はボリューム構成部1030をさらに含んでもよい。ボリューム構成部1030は、認識された可視オブジェクトパート及び認識された隠しオブジェクトパートを用いて1つのデータ空間に分析対象のボリュームを構成する(1104)。ボリューム構成部1030は、学習された分類ツリーのリーフノードに格納された相対的深度値を用いてボリュームを構成してもよい。すなわち、ボリューム構成部1030は、認識された可視オブジェクトパートに対する深度値と認識された隠しオブジェクトパートに対する深度値との間の差値を示すため、入力された深度値から相対的深度値を差し引いたり加えることによって、隠しオブジェクトパートの深度値を演算してもよく、ボリューム構成部1030は演算された値に基づいて分析対象に対するボリュームを構成してもよい。
【0074】
実施形態によって構成されたボリュームに基づいて分析対象に対する付加情報を抽出する(1105)。このような付加情報抽出は、オブジェクト認識装置の処理部120が担当する。付加情報は、分析対象の形状、姿勢、キージョイント及び構造のうち少なくとも1つに関する情報を含んでもよい。
【0075】
オブジェクト認識装置は、大きさ調整部1040をさらに含んでもよい。大きさ調整部1040について後で詳細に説明する。
【0076】
図12は、オブジェクト認識装置が複数の学習された分類ツリーを用いる動作の一実施形態を示す図である。
図12を参照すると、オブジェクト認識装置は分析対象に対する深度映像が入力され(1201)、複数の学習された分類ツリーのいずれか1つを用いて可視オブジェクトパート及び隠しオブジェクトパートを認識する(1202)。また、1つの学習された分類ツリーに対する認識動作を完了すると、他の学習された分類ツリーを用いてステップ1201及び1202を繰り返し行う。このように複数の学習された分類ツリーを用いて認識する動作を繰り返し行うことによって、オブジェクト認識装置は複数の学習された分類ツリーそれぞれに対する可視/隠しオブジェクトパートに対する確率値P
v、P
hを取得してもよい。また、オブジェクト認識装置は、複数の学習された分類ツリーそれぞれに対する隠しオブジェクトパートに対する深度値Dを取得してもよい。
【0077】
また、オブジェクト認識装置は、可視オブジェクトパートの確率及び隠しオブジェクトパートの確率の平均と隠しオブジェクトパートデータの平均深度値を算出する(1204、1205)。例えば、入力されるデータをIと仮定し、T個の学習された分類ツリーが提供されるとき、オブジェクト認識装置は可視オブジェクトパートが特定クラスC
vに属する確率Pを(数式3−1)のように演算してもよい。
【0078】
【数9】
オブジェクト認識装置は、最終的に(数式3−1)により求められるクラスC
vのうち最も高い確率値を有するクラスを可視オブジェクトパートの種類として選択してもよい。例えば、頭、腕、手、胴、足、脚のうち手の確率値が最も高ければ、オブジェクト認識装置は可視オブジェクトパートの種類として手を選択してもよい。
【0079】
同様に、オブジェクト認識装置は、隠しオブジェクトパートが特定クラスC
hnに属する確率Pを(数式3−2)のように演算してもよい。可視オブジェクトパートの後に数回重畳した隠しオブジェクトパートが存在する場合、複数(n個)のC
hが存在する。
【0080】
【数10】
オブジェクト認識装置は、最終的に(数式3−2)によって求められるクラスC
hのうち最も高い確率値を有するクラスを重畳したn個の隠しオブジェクトパートそれぞれの種類として選択してもよい。例えば、最初の隠しレイヤで頭、腕、手、胴、足、脚のうち脚の確率値が最も高ければ、オブジェクト認識装置は第1隠しオブジェクトパートの種類として脚を選択してもよい。また、2番目の隠しレイヤで頭、腕、手、胴、足、脚のうち足の確率値が最も高ければ、オブジェクト認識装置は第2隠しオブジェクトパートの種類として足を選択してもよい。
【0081】
図13は、オブジェクト認識装置が学習された分類ツリーに格納された情報を用いて分析された対象を認識する動作の一実施形態を示す図である。
図13を参照すると、オブジェクト認識装置の処理部1020は、学習された分類ツリーに深度映像を入力してもよい。また、学習された分類ツリーの現在ノードがスプリットノードであるか否かを判断する(1301)。現在ノードがスプリットノード(Split Node)であれば、処理部1020は、スプリットノードに格納された特徴の値を読み出す(1302)。また、処理部1020は、スプリットノードに格納された閾値を読み出す(1303)。読み出された特徴の値及び閾値をスプリット関数に入力して処理部1020は結果値rを演算する(1304)。スプリット関数は、学習された分類ツリーのスプリットノードに格納されてもよい。
【0082】
処理部1020は、演算された結果値に基づいて学習された分類ツリーの現在ノードに対する左側子ノード及び右側子ノードのいずれか1つのノードを探索してもよい。例えば、処理部1020は、演算された結果値rと閾値tの大きさを比較判断する(1305)。演算された結果値rが閾値tよりも小さければ、処理部1020は左側子ノードを探索し(1307)、演算された結果値rが閾値tと同一であるか大きければ、処理部1020は右側子ノードを探索する(1306)。この場合、(数式2)または(数式2−3)の例のように、分類ツリーが生成されるとき用いられた分類を同一に用いて子ノードを探索することを見せている。もちろん、分類ツリーを生成するとき他の分類が使用されれば、左側/右側は変わり得る。左側または右側ノードを探索すれば、処理部1020は、ステップ1301に再び戻って探索したノードがスプリットノードであるか否かを判断する。探索したノードがスプリットノードである場合、ステップ1301〜1307を繰り返し行う。
【0083】
現地ノードがスプリットノードではなくリーフノードである場合、処理部1020は、リーフノードに格納された可視オブジェクトパートに対する第1ヒストグラムを読み出す(1308)。また、処理部1020は、隠しオブジェクトパートに対する第2ヒストグラムを読み出す(1309)。処理部1020は、読み出された第1ヒストグラムに基づいて深度映像から可視オブジェクトパートを認識し、第2ヒストグラムに基づいて深度映像から隠しオブジェクトパートを認識する。言い換えれば、処理部1020は、入力された深度映像がどの可視オブジェクトパートに該当するか、どの隠しオブジェクトパートに該当するかを認識することができる。
【0084】
オブジェクトを認識する過程において、深度映像のオブジェクト大きさに関する情報を活用すれば、可視オブジェクト及び隠しオブジェクトの認識性能を高めることができる。そのために、オブジェクト認識装置は、入力オブジェクトの大きさを把握してオブジェクト認識装置内の認識方法を調整する大きさ調整部1040をさらに含んでもよい。大きさ調整部1040は、処理部1020の内部構成として位置してもよい。
【0085】
図14aを参照すると、分類ツリー学習装置で用いたオブジェクトモデル(Trained Body Type)1441と実際に入力される深度映像のオブジェクトの体形は異なることもある。その結果、オブジェクト認識装置で可視オブジェクト及び隠しオブジェクトを認識することにおいて、修正されていないオリジナル特徴1442を適用した結果のように腰の部分が手に認識されるなどのエラーが発生することがある。このような問題を解決するために、大きさ調整部1040は入力オブジェクトの幅1444及び高さ1445を考慮し、
図13に示す1304ステップで特徴空間に変換するとき反映してもよい。
【0086】
大きさ調整部1040は、下記の(数式3−3)のような特徴空間変換式を
図13の1304ステップで利用してもよい。
【0087】
【数11】
ここで、d
I(x)は映像Iでピクセルx(pixel x)の深度を示し、uとvはxから任意に選択されたオフセットポイント(offset point)を示す。また、演算子
は2次元で要素ワイズ乗算子(element−wise multiplication)を示す。
【0088】
大きさ調整部1040は、前記(数式3−3)に用いられる幅W1444と高さH1445を有するオブジェクトタイプ(例えば、人体タイプ)に対する最適係数K
*W,Hを(数式3−4)のように演算してもよい。
【0089】
【数12】
ここで、K
*W,H=(W、H)は、オブジェクトタイプの幅W1444及び高さH1445に対応する特徴スケールを調整するための係数パラメータのセットを示す。また、Tは分類ツリーの数を示し、cは与えられたオブジェクトパート識別子bに対する各分類ツリーのオブジェクトパート確率を示す。
【0090】
可視オブジェクト及び隠しオブジェクトの認識結果は、同一のクラスIDを有する複数のオブジェクトパート分布を含んでもよく、オブジェクトスケルトン(例えば、人体スケルトン)のジョイント位置X
*は下記の(数式3−5)のようにベイジアン方法(Bayesian method)によって予測されることで正確度がより向上する。
【0091】
【数13】
ここで、Xは与えられたオブジェクト確率cのジョイント位置を示し、Sはシルエットマッチング確率を示し、Lはオブジェクトパート連続性を示す。最も高い確率を有する候補ジョイントX
*は全ての候補のうち選択されてもよく、選択されればオブジェクトのスケルトンを再現するために用いられてもよい。
【0092】
先に説明したオブジェクト認識装置、分類ツリー学習装置及びその動作方法は、多様なコンピュータ手段によって行うことができるプログラム命令形態で実現され、コンピュータ読み出し可能媒体に記録してもよい。前記コンピュータ録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含んでもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述のハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0093】
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から様々に修正及び変形が可能である。