JP6433149B2 - 姿勢推定装置、姿勢推定方法およびプログラム - Google Patents

姿勢推定装置、姿勢推定方法およびプログラム Download PDF

Info

Publication number
JP6433149B2
JP6433149B2 JP2014097829A JP2014097829A JP6433149B2 JP 6433149 B2 JP6433149 B2 JP 6433149B2 JP 2014097829 A JP2014097829 A JP 2014097829A JP 2014097829 A JP2014097829 A JP 2014097829A JP 6433149 B2 JP6433149 B2 JP 6433149B2
Authority
JP
Japan
Prior art keywords
joint
joint position
evaluation
posture
information
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.)
Active
Application number
JP2014097829A
Other languages
English (en)
Other versions
JP2015167008A (ja
Inventor
健二 塚本
健二 塚本
優和 真継
優和 真継
侑輝 斎藤
侑輝 斎藤
裕美 塩崎
裕美 塩崎
敦史 野上
敦史 野上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014097829A priority Critical patent/JP6433149B2/ja
Priority to US14/340,636 priority patent/US9792689B2/en
Publication of JP2015167008A publication Critical patent/JP2015167008A/ja
Priority to US15/704,500 priority patent/US10380759B2/en
Application granted granted Critical
Publication of JP6433149B2 publication Critical patent/JP6433149B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、特に、多関節の物体の姿勢を推定するために用いて好適な姿勢推定装置、姿勢推定方法およびプログラムに関する。
画像中の物体の姿勢を推定する代表的な方法として、識別器を用いて姿勢の種類を得る方法と、画像と暫定姿勢とを比較し、その差が小さくなるように徐々に暫定姿勢を修正していく方法(フィッティング)とが知られている。識別器を用いて姿勢の種類を得る方法としては、局所特徴を利用して全体の姿勢を決める方法がある。特許文献1には、対象物の部分形状を2か所ずつ順次選択し、その配置関係を基に姿勢候補を選出して、最終的な姿勢候補を決定する方法が開示されている。また、物体の姿勢を得る方法として、対象のある姿勢に含まれる複数の局所特徴とその姿勢との相関関係により、一意に姿勢を決定する方法も考えられる。
特開平10−124677号公報
Jamie Shotton, "Real-Time Human Pose Recognition in Parts from Single Depth Images," IEEE Computer Vision and Pattern Recognition, 2011 Ross Girshick, "Efficient Regression of General-Activity Human Poses from Depth Images," IEEE International Conference on Computer Vision, 2011
しかしながら、特許文献1に記載されているような局所特徴の配置関係を利用して姿勢候補を絞っていく方法では、局所特徴の配置関係が固定であることが前提となっている。そのため、予め形状が定まっている剛体には適用できるが、形状が大きく変形する物体には適用できない。また、物体の取り得る姿勢として予め設定されたモデルなどから一意に姿勢を決定する方法は、物体としてあり得る姿勢が必ず得られるという点は利点である。しかし、局所部分を無視して全体の姿勢を一意に決めてしまうので、局所部分を含めて姿勢の整合性が不十分である。
本発明は前述の問題点に鑑み、多関節の物体に対してより整合性のとれた姿勢を推定できるようにすることを目的としている。
本発明に係る姿勢推定装置は、多関節の物体を含む距離画像を入力する入力手段と、前記入力手段によって入力された距離画像から前記物体の関節位置候補を算出する算出手段と、前記物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する記憶手段と、前記算出手段によって算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価手段と、前記評価手段による評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する推定手段と、を有することを特徴とする。
本発明によれば、局所部分における姿勢の精度が向上し、より整合性のとれた姿勢を推定することができる。
本発明の実施形態に係る姿勢推定装置の構成例を示すブロック図である。 本発明の実施形態における姿勢推定装置が行う処理手順の一例を示すフローチャートである。 人体モデルを作成する方法を説明するための図である。 各関節に対する関節位置候補の一例を示す図である。 関節位置候補としてあり得るか否か判定する方法を説明するための図である。 推定した関節の位置が人体領域の範囲内か否かを判定する方法を説明するための図である。 人体領域および各関節の奥行き値を無視した人体モデルの一例を示す図である。 部分モデルが平面上に表現され人体モデル及びその拡大部分の一例を示す図である。 部分モデルが表現され人体モデルの一例を示す図である。 学習された関節間距離の比率の一例を示す図である。 距離画像及びその姿勢候補の一例を示す図である。 本発明の第8の実施形態に係る姿勢推定装置の構成例を示すブロック図である。 人体に応じた関節位置許容範囲情報を推定する処理手順の一例を示すフローチャートである。 複数の関節位置情報から関節位置許容範囲情報を推定する手順を説明するための図である。
(第1の実施形態)
本実施形態では、距離撮像装置から距離画像を得て、写っている人体の関節位置候補を推定し、人体としてあり得る関節位置の配置か整合性を評価して、最終的な姿勢を推定する例を示す。以下の説明においては、姿勢を推定するとは人体の関節位置を推定することを意味するものとする。その際に、求める関節位置は2次元上だけでなく、3次元上も含むものとする。以後の実施形態で人体の姿勢を推定する例について説明するが、本発明は人体だけでなく他の関節をもつ物体にも適用できる。
<構成と概要>
図1は、本実施形態に係る姿勢推定装置100の構成例を示すブロック図である。
図1に示す姿勢推定装置100は、距離画像入力部101、関節位置候補算出部102、整合性評価部103、および人体モデル記憶部104を備えている。本実施形態の姿勢推定装置100は、ネットワークまたは各種記録媒体を介して取得したソフトウェア(プログラム)を、CPU、メモリ、ストレージデバイス、入出力装置、バス、表示装置などにより構成される計算機にて実行することにより実現できる。また、不図示の制御用の計算機については、汎用の計算機を用いてもよく、ソフトウェアに最適に設計されたハードウェアを用いてもよい。
図2は、本実施形態における姿勢推定装置100が行う処理手順の一例を示すフローチャートである。以下、図1及び図2を参照しながら、本実施形態の基本的な処理を説明する。なお、詳細な処理については、それぞれ後述する。
図1に示す距離画像入力部101は、処理対象とする距離画像を入力する構成であり、例えば図2のS201およびS202の処理を実行する。ここで距離画像とは、画像中の各画素に奥行き方向の距離情報が所定のスケーリングで記録された画像であり、CG等により作成された画像であってもよい。S201において、距離画像入力部101は、距離撮像装置から距離画像を取得する。なお、予め撮影した距離画像を保存した不図示の記録装置から、処理対象とする距離画像を距離画像入力部101に入力するようにしてもよい。また、距離画像入力部101は、S202において、距離画像から人体領域を抽出する処理も行う。
関節位置候補算出部102は、距離画像から対象の関節位置候補を算出する構成であり、例えば図2のS203の処理を実行する。まず、部分領域識別器を用いて距離画像の人体領域の各部分が学習した部分領域のいずれに該当するかを識別し、識別された部分と関節位置との相関関係、すなわち相対ベクトルや距離や方向などから関節位置候補を算出する。もしくは、頭部検出器・胴体検出器・手検出器・足検出器などの複数の検出器を用いて距離画像の人体領域内で検出器に対応する部位を検出し、その部位と関節位置との相関関係から関節位置候補を算出してもよい。また、部分領域の特徴から関節位置を推定することもできる。関節位置候補の算出方法はこれらの手法に特に限定しない。
整合性評価部103は、各関節の関節位置候補とその尤度とを基に、最終的な関節位置を決定して姿勢を推定する構成であり、例えば図2のS204およびS205の処理を実行する。整合性評価部103は、S204において、対象となる人体に類似した人体モデルを推定し、人体モデル記憶部104から、推定した人体モデルの関節位置許容範囲情報を取得する。そして、S205において、この関節位置許容範囲情報を基に、ある関節の関節位置候補と他の関節の関節位置候補との関係について整合性を評価する。この処理を繰り返し、かつ関節位置候補の尤度も考慮し、最もよい関節位置の組み合わせとなる姿勢を決定する。
人体モデル記憶部104には、あらかじめ学習により設定した人体モデルの関節間の距離や角度などの関節についての情報が関節位置許容範囲情報として格納されており、指定した関節の関節位置許容範囲情報が参照できるようになっている。また、対象が人でない場合には、同様に多関節物体モデルの関節位置配置関係を示す関節位置許容範囲情報が格納される。また、関節位置許容範囲情報は人体モデル(多関節物体モデル)ごとに保持してもよく、身長、体型などによる分類ごとに保持してもよく、全モデルで1つとして保持してもよい。
<処理の詳細>
次に、個々の処理について詳細に説明する。
<人体領域の抽出>
前述したように、距離画像入力部101は、姿勢推定を行う距離画像を取得し、前処理として距離画像から人体領域を抽出する。人体領域の抽出処理では、まず、距離画像に対して背景差分処理を行うことにより、前景候補画素のみを抽出する。続いて、前景候補画素の距離値をカメラ座標系(3次元座標系)の点群へ変換する。そして、3次元座標系の点群の固まりの中心位置を求め、中心位置周辺の点群のうち、人体サイズに収まる範囲に存在する点を人体領域とする。このとき、人体サイズはあらかじめ学習しておいた人体の平均サイズや最大サイズなどを用いて決めることができる。
また、床との接地部分については、平面推定を行うなどすることにより、床と人体との境界を決定し、人体領域を決めることができる。人体領域とラベル付けされた点群を再び画像平面に投影することにより、人体領域が抽出された距離画像を取得することができる。なお、人体領域の抽出方法は、これに限らず公知の手法を用いればよい。
<関節位置候補算出>
次に、関節位置候補算出部102により距離画像から関節位置候補を算出する具体的な方法について説明する。
まず、部分領域識別器を用いた方法について説明する。部分領域識別器は、距離画像の人体領域に対して部分領域の識別を行う。部分領域の識別は、例えば非特許文献1に記載されているような既存の方法を用いればよい。具体的には、特徴量に距離画像の2点比較を使用し、識別器に決定木を用いて各画素について部分領域の識別を行う。また、この方法に限らず、例えば、特徴量としてHOG(Histograms of Oriented Gradients)特徴量やEdglet特徴量などを使用することが考えられる。また、識別器としてSVM(Support Vector Machine)などを用いることが考えられる。この際、識別境界(超平面)からの距離を用いて尤度を算出することができる。
このようにして識別された部分領域から関節位置候補を算出する。関節位置候補は、部分領域と関節位置との間の相関関係をあらかじめ学習時に算出しておくことによって求めることができる。相関関係とは例えば距離や方向などが考えられる。複数の部分領域の情報を用いることにより複数の関節位置候補を算出することができ、また、ある特定の関節周辺の部分領域のみを利用して、その中心位置や重み付きの重心位置を算出して関節位置候補とすることもできる。mean-shift等の手法を用いる場合には、クラスタごとに重心を算出することができ、それを複数の関節位置候補とすることができる。
次に、複数の検出器を用いた方法について説明する。この方法では、頭部検出器、胴体検出器、手検出器、足検出器などの人体に関する複数の検出器を用いて距離画像の人体領域内で検出器に対応する部位を検出する。検出器を用いた処理は既存の方法を用いればよい。例えば、特徴量としてHOG特徴量やEdglet特徴量などを使用して、識別器としてS
VMやboostingを用いることなどが考えられる。各検出器で対象の部位を検出し、それぞ
れの部位の尤度と位置とを得る。そして、部分領域識別器を用いた方法と同様に、検出対象の部位と関節との相関関係をあらかじめ学習時に算出しておくことにより、検出した部位から関節位置候補を求めることができる。各検出器で複数の部位を検出すれば、複数の関節位置候補を得ることができる。
さらに、部分領域の特徴と関節位置との関係を結び付け、関節位置候補を直接算出する方法を用いてもよい。このとき、例えば非特許文献2に記載された方法を用いる。この方法では、特徴量に距離画像の2点比較を使用し、識別器に決定木を用いて、各画素について各関節位置への相対ベクトルを直接算出している。すべての画素で取得した各画素から各関節への相対ベクトルを、関節ごとに集計し、mean-shiftを用いて関節位置候補を算出している。非特許文献2に記載の方法では、mean-shiftで関節位置候補を一意に算出しているが、この際、mean-shiftで算出した複数のクラスタを選択して用いることにより、複数の関節位置候補を得ることができる。
<人体モデルの学習>
次に、整合性評価部103が人体としての整合性評価を行う際に必要となる人体モデルについて述べる。
図3は、人体モデルを作成する方法を説明するための図である。
図3に示すように、整合性評価部103は、人体モデル記憶部104に記憶されている関節位置が既知である学習データ301、302、・・・、30mを用いて、人体モデル311の関節位置関係のテーブル312を算出する。ここで、人体モデル311のJ1、J2、・・・、J16は関節を表している。
人体モデルを作成するために、学習データとして同一人物の人体だけを用いてもよいし、同程度の身長や体型の人体ごとに用いてもよい。また、性別や年齢などを考慮した分類ごとに用いてもよく、色々なバリエーションが考えられ、本実施形態では特に限定しない。また、図3に示す例では、関節位置の数は16としているが、特にこの数に限定せず、この数よりも多くても少なくてもよい。
関節位置関係は、ある関節と他のすべての関節との関係を示している。例えば、テーブル312において、距離d21は、横軸の関節J1と縦軸の関節J2との距離を示している。また、関節位置関係は必ずしも全ての関節との関係を示すものである必要はなく、ある関節と隣接する関節との関係のみであってもよい。さらに、ある関節と近隣の1つ以上の関節との関係でもよく、どの範囲の関節との関係についてかは特に限定しない。
また、テーブル312では、関節間の関係を距離として示しているが、角度などの関係を用いてもよい。なお、3次元上で関節位置関係を考える場合に、角度を利用するためには3点間の関係を用いる必要がある。距離や角度などを使用する際には、その平均値等のみを算出するのでなく、平均値から一定の範囲で一様分布を仮定してもよい。もしくは、平均値と分散とを求めて例えば正規分布を仮定して人体モデルとして許容できる関節位置の範囲を算出できるようにしてもよい。正規分布を仮定すると確信度も得ることができる。また、平均値でなくとも、学習データに重みをつけて重み付きの平均値などを使用してもよいし、mean-shiftなどにより重心を求めてもよく、ヒストグラムを考えて範囲を算出してもよい。特にここに述べた方法に限定しない。
<整合性評価>
次に、整合性評価部103により、各関節の関節位置候補とその尤度とを基に、人体モデルとの整合性を評価して最終的な関節位置を決定して姿勢を推定する方法について説明する。なお、この関節位置候補は前述した方法により関節位置候補算出部102によって取得され、関節位置候補を選出する際に、その尤度に閾値を設定してもよい。期待される位置が予め予測できる場合は、その情報をもとにある範囲内の関節位置候補に制限してもよい。
図4は、関節ごとの関節位置候補の3次元位置(x,y,z)と尤度(l)との一例を示す図である。ある関節Jiに対してni個の関節位置候補がある場合、関節の数をN個とすると、関節位置候補の組み合わせの数は、n1×n2×・・・・・×nN組(以下、Πniとする)となる。なお、このときの組み合わせは人体としてあり得ない関節位置候補の組み合わせも含まれている。また、図4に示すように、関節J1は2個、関節J2は4個というように関節ごとで関節位置候補数が違ってもよいし、同じでもよい。
次に、このΠni組の組み合わせに対し、それぞれ関節位置の組み合わせがあり得るか否かを評価する。まず、Πni組中のa番目の関節位置候補の組み合わせを(Ja1,Ja2,・・・JaN)とする。この時の各関節位置候補の尤度を(la1,la2,・・・laN)とし、各座標位置を((xa1,ya1,za1),(xa2,ya2,za2),・・・(xaN,yaN,zaN))とする。人体モデルより関節iと関節jとの間の距離をdijとし、一定範囲dfを定める。
ここで一定範囲dfは、例えばあらかじめ学習した人体モデルの関節間の距離の最大値、最小値、平均値、分散等をもとに決める。最大値および最小値を含む範囲で一定範囲dfを定めた場合は、学習データに存在する程度の個体差を許容することになる。また、どのくらいのばらつきを許容するかは、分散を基に一定範囲dfを定めるとよい。
次に、評価する対象が以下の式(1)を満たす場合は、以下の式(2)中の値wijを1とし、それ以外の場合は式(2)中の値wijを0とする。ある関節iの判定に利用する他の関節の数をn(i)とすると、例えば評価値f(a)は、以下の式(2)により算出される。
Figure 0006433149
Figure 0006433149
なお、式(2)中のΠwijの部分は、ある関節位置としてあり得る場合にのみ1となり、その他の場合には0になる。つまり、評価値f(a)は、人体としてあり得る関節位置のときのみ尤度を加算する形になっている。そして、評価値f(a)が最大となる姿勢を選ぶことにより、整合性のある姿勢を推定することができる。
一方、人体モデルの整合性を考慮せずに関節位置を算出する場合に、図5に示す画像501のように左つま先位置に推定されるべき点が右つま先位置である関節J501の位置に推定される場合がある。このような場合においても前述のように人体モデルとの整合性を考えて整合性評価を行う。例えば、画像501で誤推定となっていた左つま先の関節位置候補として、人体モデル511における関節位置候補J5111、J5112、J5113が得られるものとする。この中で、左足首や左膝との位置関係より本来選ばれるべき関節位置候補J5112が選ばれ、人体として整合性のとれた姿勢を推定することが可能となる。
さらに、人体モデルとの整合性を評価する際に、身長や体型などの違う複数の人体モデルを用いて整合性を評価する。このとき、式(1)に含まれる人体モデルの関節iと関節jとの間の距離dij、および一定範囲dfは各人体モデルについて算出する。そして、そのすべての人体モデルに対して上記の手順で評価値f(a)を算出して最も高い評価値となったものを姿勢として決定する。これにより、対象と身長や体型の適した人体モデルの評価値が高くなり、より高い精度で姿勢を推定することが可能となる。もちろん、対象の身長および体型が予めわかっている場合には、その身長および体型に相当する人体モデルのみを使用して評価値を算出してもよい。
例えば、図5に示す画像502において、左膝位置に推定されるべき点がやや高めの関節J502に推定されたものとする。この程度の推定誤差では、人体としての整合性はある程度とれているように見えるが、対象となる個人の身長および体型を考慮すると整合性がとれていない。ここで、あらかじめ学習していた複数の人体モデルを用いて関節間の距離を考慮しながらそれぞれ整合性を評価する。対象に適した身長および体型の人体モデル512を使用した際に、左膝の関節位置候補J5121、J5122、J5123、J5124の中からより正しい位置に近い関節位置候補J5122が選ばれる。これにより、対象個人として整合性のとれた姿勢を推定することが可能となる。
なお、評価値はこれだけに限らず、関節位置候補としてあり得るか否か判定して尤度を加算していくのみの形式でもよい。また、加算する尤度に重みづけしてもよい。式(2)に示した例では、関節位置候補としてあり得るか否かを判定する際に一様分布を仮定していたが、一様分布ではなく正規分布を仮定すれば、値wij=1もしくは0の判定ではなく、確率的な判定および出力も可能となる。
また、式(1)では、人体モデルの関節間の距離だけが用いられているが、さらに角度を利用することもできる。この場合、距離による値wijを判定するだけでなく、角度による判定を追加する必要がある。ここで、関節iと関節mとを結ぶ直線と関節iと関節nとを結ぶ線とがなす角度が所定の範囲内である場合は、以下の式(3)に用いられる値wimnを1とし、それ以外の場合は値wimnを0とする。そして、ある関節iの距離判定に利用する他の関節の数と角度判定に利用する他の関節の数とをそれぞれnd(i)、na(i)とすると、例えば評価値f(a)は、以下の式(3)により算出される。
Figure 0006433149
式(2)と比較して式(3)ではさらに関節の角度が人体としてあり得るか否かの判定項が追加されている。距離、角度ともに人体としてふさわしい場合、すなわち値wijおよび値wimnがすべてゼロでない場合のみ尤度が加算される。なお、評価値はこれだけに限定しない。また、人体モデルの関節間の距離および角度のみでなく、さらに人体が左右対称であることを利用して右側の関節間の距離と左側の関節間の距離との比などを利用することもできる。
以上のようにして関節位置の組み合わせを決定することにより、画像から対象の姿勢を得ることができる。さらに、図1に示す構成にさらにモデルフィッティング部が追加された構成であってもよい。この場合、モデルフィッティング部は、算出した姿勢を初期姿勢として、入力された距離画像から三次元での点群を生成し、この点群に対してなんらかの人体モデルを用いてモデルフィッティングを行う。これにより、より高精度に最終的な姿勢を算出することもできる。人体モデルには、例えば円柱の組み合わせからなるものが考えられ、モデルフィッティング処理については既存の方法でよい。
<整合性評価の高速化>
上記の例では、すべての組み合わせに対して評価値を算出するので、処理に時間を要する。そこで、ある関節位置候補を起点とし、隣接する関節位置候補に対して順次整合性を評価して決定していく方法について説明する。この際、評価値が低い場合、評価値の低くなる関節位置候補については以降の処理を打ち切ることにより処理を高速化できる。
まず、起点となる関節を決める必要がある。これは学習時に安定した精度が得られた関節を使用するのがよい。例えば、頭部や首、腰等が考えられるが特にこれに限定しない。本実施形態では、頭部の関節位置候補を起点とした例について説明する。
まず、頭部の関節J1における1つの関節位置候補の3次元位置(x1_1、y1_1、z1_1)を正しい位置と仮定し、隣接する首の関節J2における1つの関節位置候補の3次元位置(x2_1、y2_1、z2_1)の整合性を評価する。整合性の評価方法は、全組み合わせ評価時と同等である。ただし、確定している関節はこの時点では頭部のみなので、頭部との関係のみで整合性を評価する。そして、評価値が一定の閾値以上である場合には、さらに首に隣接する関節J3における1つの関節位置候補の3次元位置(x3_1、y3_1、z3_1)の整合性を同様に評価する。この時、確定している関節は頭部および首であるため、頭部と首と首に隣接する関節位置候補との関係で整合性を評価する。なお、頭部と首とのどちらかだけ使用してもよい。このようにして順次隣接する関節の評価を行っていく。
また、評価値が一定の閾値を超えない場合、もしくは、順次評価して全部の関節位置での評価が終了して最終的な評価値まで算出した場合は、他の関節位置候補の評価を行い、同様の処理を行う。例えば、頭部の関節J1における1つの関節位置候補の3次元位置(x1_1、y1_1、z1_1)と首の関節J2における2つ目の関節位置候補の3次元位置(x2_2、y2_2、z2_2)との評価を行う。繰り返し処理を行った結果、最終的な評価値まで算出できた関節位置の組み合わせの中から、評価値が最大となるものを最終的な姿勢として決定する。また、起点となる関節位置候補に正しい位置が含まれていない場合や候補がない場合を想定して、第二、第三の起点候補を決めておくとよい。
以上のように本実施形態によれば、人体の関節位置候補を推定し、人体としてあり得る関節位置か否かについて整合性を評価して、最終的な姿勢を推定するようにした。これにより、局所の精度劣化を低減し、より多関節物体として整合性のとれた姿勢を得ることが可能となる。また、関節位置を決める際に、関節位置の許容範囲を正規分布や一様分布で定めることにより、対象の個体差を多少吸収することができる。さらに、関節位置を決めるために身長や体型の違う人体モデルを複数使用することにより、対象に適した関節位置を決定することができ、姿勢の推定精度をより向上させることができる。
また、整合性を評価するにあたり、関節位置候補のすべての組み合わせを考慮することにより最終候補として1つに絞るだけでなく、上位いくつかを選出することができるようになる。さらに、全組み合わせでなく、1つずつ隣接する関節位置候補の整合性を評価することにより、処理を高速化することができる。また、整合性のとれた姿勢を推定した後に、推定した姿勢を初期姿勢としてフィッティング処理を行うことにより、局所の精度をより向上させて姿勢を推定することが可能となる。
(第2の実施形態)
本実施形態では、整合性評価の指標に、人体としての関節位置の配置の整合性だけでなく、入力した距離画像に矛盾がないか否かの妥当性を追加する。つまり、距離撮像装置から距離画像を得て写っている人体の関節位置候補を推定し、そして人体としてあり得る関節位置配置か、および入力した距離画像との整合性を評価し、最終的な姿勢を推定する。以下、第1の実施形態と異なる箇所について説明する。
<構成と概要>
基本的な構成は図1と同様であるため、重複する部分については説明を省略する。本実施形態では、整合性評価部103は、さらに、距離画像入力部101が抽出した距離画像の人体領域に対して、関節位置候補が矛盾しているか否か(距離画像との整合性)について評価する。これらの処理を繰り返し、かつ関節位置候補の尤度も考慮し、最もよい関節位置の組み合わせとなる姿勢を決定する。
<整合性評価>
人体との整合性を評価する方法は第1の実施形態と同様であるため、説明は省略する。以下、入力された距離画像との整合性を評価する。
図6に示す例では、距離画像の人体領域から関節J601の位置が外れている。第1の実施形態で説明したような方法で関節位置候補を個別に算出する場合に、手法によっては推定する位置の中心や重心などを算出するため、入力画像の人体領域から外れる場合がある。そこで、関節位置が距離画像の人体領域内かどうかを判定して整合性を確認する。ここで、関節iが人体領域の内部に含まれる場合は、以下の式(4)に含まれる値S(i)を1とし、人体領域の内部に含まれない場合は値S(i)を0とする。関節位置間の距離を考慮した人体モデルの評価と合わせて、評価値f(a)は、以下の式(4)により算出される。
Figure 0006433149
このように値S(i)は、ある関節iが距離画像と整合性のある場合にのみ1となり、その他は0になる。つまり、評価値f(a)は、距離画像との整合性および人体との整合性のとれた関節位置候補のときのみ尤度を加算する形になっている。なお、評価値はこれだけに限らず、式(3)に示したようにさらに角度による判定を加えてもよい。この場合、評価値f(a)は、以下の式(5)により算出される。
Figure 0006433149
また、距離画像との整合性については、図6で示したような画像平面方向のみのずれだけでなく、奥行き方向についてのずれも含むようにする。距離画像ではノイズ等の影響を除くと、深度値より小さい(手前)に関節位置が存在することはあり得ない。このことも人体領域の評価に利用する。つまり人体領域Sは2次元の画像平面だけではなく、3次元も含むものとする。
以上のように本実施形態によれば、多関節物体として整合性がとれた姿勢であることに加え、入力画像に対しても整合性のとれた姿勢を得ることが可能となる。
(第3の実施形態)
本実施形態では、遮蔽が生じている場合を考慮して関節位置を推定する方法について説明する。本実施形態では、整合性を評価する際に、関節位置候補のすべての組み合わせに加えて、ある関節が遮蔽されている場合の組み合わせを追加して評価する。
本実施形態では、第1の実施形態の例でさらに遮蔽のある場合を考慮して整合性を評価する例について説明する。つまり、距離撮像装置から距離画像を取得し、写っている人体の関節位置候補を推定する。そして、遮蔽も考慮して人体としてあり得る関節位置配置であるかについて整合性を評価して、最終的な姿勢を推定する。以下、第1の実施形態と異なる箇所について説明する。
<構成と概要>
基本的な構成は図1と同様であるため、重複する部分については説明を省略する。本実施形態では、整合性評価部103は、さらに、ある関節が遮蔽していると仮定した場合を候補に追加する。すなわち、遮蔽された関節位置候補が加わる。この整合性評価の処理を繰り返し、かつ関節位置候補の尤度も考慮し、最もよい関節位置の組み合わせ、すなわち姿勢を決定する。
<整合性評価>
以下、第1の実施形態と異なる点について説明する。ある関節Jiに対して遮蔽されていないni個の関節位置候補があり、遮蔽状態も関節位置候補の1つと考えると、(ni+1)個の関節位置候補があることになる。関節の数をN個とすると、関節位置候補の組み合わせの数は全部で、(n1+1)×(n2+1)×・・・×(nN+1)組(以下、Π(ni+1)とする)となる。第1の実施形態と同様、関節ごとで候補数は違ってもよいし、同じでもよい。
このΠ(ni+1)組の組み合わせに対し、遮蔽候補も含んで関節位置としてあり得るか否かを評価する。このとき、遮蔽状態の関節位置候補の尤度は0とし、座標位置はNaNとする。なお、別途遮蔽フラグを持つようにしてもよく、遮蔽時の取り扱いはこの値に限定しない。
ここで、評価する対象が前述の式(1)を満たす場合は、以下の式(6)中の値wijを1とし、それ以外の場合は式(6)中の値wijを0とする。このとき、関節iおよび関節jはどちらも遮蔽されていないものを使用することとする。ある関節iの判定に利用する他の関節の数をn(i)とすると、評価値f(a)は、以下の式(6)により算出される。
Figure 0006433149
ただし、このときの関節数n(i)は、遮蔽状態の関節が除外された数とする。また、値oiは遮蔽の際の重みであり、遮蔽時以外は0とする。つまり、この例では値laiもしくは値oiのどちらかが0でない数をとることとなる。値oiの項がない場合は、遮蔽されている場合と関節位置候補がない場合とで同じ評価値になってしまうが、値oiの項があることにより、人体の配置として整合性のとれていない関節位置候補よりも、遮蔽状態とすることを優先する効果がある。
<整合性評価の高速化>
第1の実施形態と同様に、遮蔽を考慮した場合でも、ある関節候補を起点とし、隣接する関節位置に対して順次整合性を評価して決定していくことにより処理を高速化することができる。この際に、評価値の低い候補については以降の処理を打ち切ることにより処理を高速化できる。ただし、遮蔽されている状態を関節位置候補として追加して考える必要がある。
まず、学習時に安定した精度が得られた起点となる関節を決める。例えば頭部の関節J1における1つの関節位置候補の3次元位置(x1_1、y1_1、z1_1)を正しい位置と仮定し、隣接する首の関節J2における1つの関節位置候補の3次元位置の整合性を評価する。遮蔽のない状態での評価方法は第1の実施形態と同様である。
ここで、例えば図4に示す例では首の関節位置候補は4つであるが、これに5つ目の候補として遮蔽状態を追加する。頭部の関節位置候補に対し、首の関節J2は遮蔽状態として、さらに隣接する関節の評価を続ける。この際、遮蔽していない確定している関節である頭部との関係で整合性を評価する。つまり、遮蔽状態を含む関節位置候補は残しつつ、次の関節を選出して評価していくことになる。遮蔽を考慮しなかった場合に比べて関節位置候補の組み合わせの数は増えることとなるが、全組み合わせについて処理する場合よりも高速に処理することが可能となる。
以上のように本実施形態によれば、遮蔽が起きている場合においても、より多関節物体として整合性のとれた姿勢を得ることが可能となる。
(第4の実施形態)
本実施形態では、整合性を評価する指標として、入力した距離画像に矛盾が無いか否かの妥当性をさらに追加する。ここで、本実施形態では、第2の実施形態で行った関節位置候補と距離画像との整合性を評価するだけでなく、取得される人体モデルと入力された距離画像との整合性を評価する。
<構成と概要>
基本的な構成は図1と同様であるため、重複する部分については説明を省略する。本実施形態では、整合性評価部103は距離画像入力部101が抽出した距離画像の人体領域に対して、関節位置候補から取得される人体モデルが矛盾しているか否か(距離画像との整合性)について評価する。
<整合性評価>
人体との整合性を評価する方法は第1の実施形態と同様であるため、説明は省略する。推定した関節位置が真値とすると、その関節位置から得られる人体モデルは、距離画像中の人体領域と一致するはずである。そこで、関節位置から得られる人体モデルと、入力された距離画像中の人体領域との一致度を評価することによって、整合性を評価する。
本実施形態では、関節位置候補の配置から得られる人体モデルと入力された距離画像との整合性を得る。以下、整合性を評価する関節位置候補の組み合わせをaとし、aに含まれる関節の個数をnと表記し、aから表現される人体モデルを構成する部分モデルの個数をmと表記することにする。ここで、部分モデルとは、人体モデルをさらに部分ごとに分解して得られるモデルのことである。例えば、上半身、腕、上腕など、その粒度はどのようなものであってもよい。整合性を評価する関節の組み合わせaとしては、人体を構成するすべての関節である必要はなく、一部の関節でもよい。その例を図7に示す。図7においては、点群H1が距離画像中の人体領域を表しており、整合性を評価する関節位置候補の組み合わせaを構成する関節J1〜Jnと、関節の配置から取得される部分モデルL1〜Lmとが表現されている。
本実施形態では、人体領域と推定された関節の組み合わせaから表現される人体モデルとの整合性を評価するために、人体領域および組み合わせaに含まれる関節を二次元平面上に射影する。ここで、射影の代替手段として人体領域および各関節の奥行き値であるZ座標軸を無視したものを用いることもできる。以降、人体領域および各関節の奥行き値を単純に無視した図7のような場合を説明する。各関節の位置および尤度は図4で表記されたものと同様とするが、本実施形態では平面に射影されたものとしてZ軸座標は無視される。
ここで、図7の部分モデルL1〜Lmは直線を用いて繋がりのある関節間を結んだいわゆるスケルトン(骨格)モデルであるが、それ以外にも人体モデルの部分モデルとして任意のモデルを用いることができる。例として、楕円や台形、その他の多角形などの領域パーツとして置き換えてもよい。また、より詳細な人体モデルを用いるために、実際の距離データをメッシュ化するなどして人体モデルを構成してもよい。以降は、関節の推定結果および人体領域を平面上に投影した場合に、直線からなる人体の部分モデルを用いるものとして具体例を示す。このとき、直線ではなく矩形を用いてもよいが、不整合性を定量化する目的のため、基本的には関節の推定結果が真値をとった場合に、少なくとも人体領域を超えない幅の大きさの矩形を使用する。
図7に示す例では、部分モデルL1、L2の位置が距離画像中の人体領域から外れていることが分かる。これは、入力された距離画像中の人体領域と推定された関節により得られる人体モデルが不整合を起こしていると考えられる。そこで、部分モデルが距離画像の人体領域外に存在する量を定量化するために、以下の式(7)により不整合スコアpout(・)を算出する。
Figure 0006433149
ここで、∪は和集合を表し、部分モデルの存在する領域の和をとっている。同様に∩も積集合を表し、s(・)は渡された領域の画素数を返す関数を表している。ここで画素数は、距離画像中の人体領域に対して人体モデルを重畳した結果として得られる。なお、計算機の処理を軽減するために、関数s(・)で指定される領域の画素数をすべて計算するのではなく、メッシュ化した一部の領域に関して画素数を算出するなど、サンプリングを施してもよい。これによって、距離画像中の画素数を計算するためのデータ転送量を軽減することができ、計算機の処理時間の高速化に繋がると言える。また、距離画像中の人体領域は人体が奥行き方向に存在するほど小さく撮像されるため、奥行き情報に対して関数s(・)によって得られる画素数が変動しやすいという問題がある。そこで、奥行き情報に関してより正確な面積を算出するために、関数s(・)の出力に対して奥行き値を用いて重みをつけることも、正規化を施すこともできる。
式(7)により、関節の組み合わせaから得られる部分モデルが距離画像の人体領域の外に存在する不整合な量を算出することができるが、人体領域の内に存在する不整合な量を考慮する必要がある場合がある。例えば、図8に示す人体モデル801は、図7と同様に距離画像中の人体領域H2に対しての関節位置候補から得られる組み合わせaの関節を示したものであり、部分モデルL'1〜L'mが平面上に表現されている。ここで、L'1、L'2は足の部分モデルであるが、本来存在すべき足の位置ではなく、もう片側の足の位置に誤って位置している。
図8に示す下半身の人体モデル802は、人体モデル801のうちの下半身を、より分かりやすいように拡大表示したものである。図8の下半身の人体モデル802では、片側の足の位置の推定が誤った結果、人体領域H2のうち中央下部の足部分に本来存在すべき部分モデルが存在していないことが分かる。
人体領域の内に存在する部分モデルとの不整合な量は、式(7)では定量化できていないため、このような場合は例として以下の式(8)を用いて不整合な量を調整する。
Figure 0006433149
式(8)によって、人体領域に対して人体領域中に存在する部分モデルの画素数を引くことにより、残りの人体領域の画素数を得ることができ、人体領域と部分モデルとが整合していないスコアを定量化することができる。このとき、関数s(・)で求める画素数の代替として、図8の人体モデル803に示すように、計算量を削減するために距離画像を分割したブロック数を用いてもよい。
ここで、ブロックb1〜bkは距離画像中の人体領域H2を一定の間隔で分割したブロックを示し、kはブロックの総数とする。このときブロックを分割する間隔はどのようなものでもよい。このように関数s(・)をブロック数によって求める場合は、各ブロックにおいて関数s(・)の引数・が領域中に存在するブロックがいくつ存在するかを算出する。
例えば、関数s(H2)が与えられたとき、ブロックb1中には距離画像が存在していないため、カウントはしない。一方、ブロックb2中には距離画像が存在するため、1をカウントする。このような処理をブロックb1〜bkについて繰り返し、人体領域H2が存在するブロック数をすべて数え上げた数を関数s(H2)として算出することができる。関数s(・)の引数・が部分モデルであった場合も同様に計算を行い、各ブロックに部分モデルが存在するか否かを判定することにより、ブロック数を数え上げることができる。
なお、ブロックの数で画素数の代替とした例について説明したが、ブロックの面積を用いてもよい。また、ブロックを分割する方法として、例として挙げたように事前に分割を行うのではなく、関数s(・)の引数・が存在するブロックに対してのみ二分割を一定数繰り返すことにより計算量を削減することもできる。
式(7)及び式(8)は、それぞれ距離画像中の人体領域の内外に関して人体領域と部分モデルとの不整合なスコアを算出することができるが、全体として人体領域と部分モデルとの整合性を得たい場合がある。そこで、二つの不整合なスコアを考慮するために、例として以下の式(9)を用いる。ここで、woutはpout(・)に対する重み定数であり、winはpin(・)に対する重み定数である。
Figure 0006433149
式(9)により、関節の組み合わせaから得られる部分モデルと距離画像中の人体領域との不整合な量を算出することができるが、このままでは関節の組み合わせaの確からしさを考慮されていない。そこで、さらに以下の式(10)により、距離画像との整合性を考慮した組み合わせaの確からしさfを算出する。
Figure 0006433149
ここで、cは関節組み合わせaに含まれるすべての関節の尤度の総和である。この結果f(・)は、尤度の合計値cに対して不整合スコアp(・)を引いた値を出力し、推定された関節位置と人体領域との整合性を示す整合性評価値となる。不整合スコアp(・)が0であれば推定したモデルが人体領域と一致し、逆に不整合スコアp(・)が大きいほど人体領域と整合していないこととなり、尤度の合計値cから引かれる値が大きくなる。
なお、深度情報に関しても推定結果と人体領域との整合性を評価したい場合は、二次元平面に投影せずに三次元空間上で整合性を判定することもできる。その際は、人体領域の深度値が、平面上同じ位置に推定された関節の人体モデルの深度値に対して大きく異なる場合、不整合を起こしているとみなし、人体モデルの不整合な領域に関して定量化することができる。定量化の具体的方法としては、例として人体モデルが深度値に対して手前側に存在している場合、その距離の総和を得ることが挙げられる。
本実施形態で用いる距離画像中の人体領域が正確に抽出できず、人体領域の輪郭が本来の形状に対して歪む場合などにおいては、人体領域と人体モデルがしばしば一致しない現象が起きる。その結果、通常よりも整合性の評価が低くなる場合がある。そこで、f(a)が一定の閾値より低い場合は不整合ではないと判定することによって、人体領域の歪みに対しても比較的ロバストに整合性評価値を算出することができる。
本実施形態では、関節位置候補の組み合わせに対する整合性評価関数f(・)を用いて、さらに複数の関節位置候補組み合わせの評価ランク付けを行う。
まず、関節位置候補の組み合わせ{a1,・・・,aq}の集合をAとする。ここでqは集合Aの要素数である。集合Aの要素それぞれに対して式(10)を用いて整合性を評価したものを集合Af={f(a1),・・・,f(aq)}とおく。集合Afの要素を降順に並び変えることにより、関節位置候補組み合わせの集合Aの要素に関して評価ランク付けを行うことができる。
例えば、a1として図7に示す推定された関節の組み合わせが与えられ、a2として図9に示す関節の組み合わせが与えられたとする。このとき、組み合わせa1は部分モデルL1、L2の位置が距離画像中の人体領域から外れている一方で、組み合わせa2はそれらに相当する部分モデルL"1、L"2の位置が距離画像中の人体領域から外れておらず、すべての部分モデルが人体領域の中にある。この結果、f(a1)よりもf(a2)の方が大きくなり、組み合わせa1よりも組み合わせa2の方が高く評価ランクが付けられることとなる。
<整合性評価の高速化>
第1の実施形態と同様に、上記の例では、整合性評価を必要とする多数の関節の組み合わせaに対して整合性評価値を算出するので、処理に時間を要する場合がある。そこで、ある関節位置候補を起点とし、繋がりのある関節位置候補に対して順次整合性を評価して関節位置候補の組み合わせを決定していく方法をとることができる。この際、繋がりのある関節位置候補の整合性評価値が低い場合、その関節位置候補についてはそれ以降の連結する関節で整合性評価値を算出することを打ち切り、関節位置候補の組み合わせにその関節位置候補を含まないようにする。これにより、整合性評価を高速化できる。この処理は第1の実施形態における整合性評価の高速化と同様の内容であるため、説明を省略する。また、この処理により複数の関節位置候補の組み合わせが得られた場合は、上記の評価ランク付けをさらに行うことができる。
以上のように本実施形態によって、多関節物体として整合性がとれた姿勢であることに加え、入力画像に対しても整合性のとれた姿勢を得ることが可能となる。
(第5の実施形態)
本実施形態では整合性評価の指標に、人体として物理的に矛盾が無いか否かの妥当性を追加する。
<構成と概要>
基本的な構成は図1と同様であるため、重複する部分については説明を省略する。本実施形態では、整合性評価部103は関節位置候補算出部102が算出した関節位置候補の位置が重なっていることにより、物理的に矛盾しているか否かについて整合性を評価する。ここで、整合性評価の際には人体のパーツの物理的大きさを考慮し、推定された人体の関節が物理的にありえないような重なりを持っているかどうかを判定する。
<整合性評価>
以下、関節位置候補が物理的にありえないような重なりを持っているか否かを評価する整合性評価における、本実施形態の詳細を説明する。
本実施形態において、整合性を評価する関節の組み合わせをaとし、組み合わせaに含まれる関節の個数をnと表記することにする。なお、整合性を評価する関節の組み合わせaとしては、人体を構成するすべての関節である必要はなく、一部の関節でもよい。図7に示す例では、整合性を評価する関節の組み合わせaの関節J1〜Jnが表現されている。各関節の位置および尤度は図4で表記されたものと同様とする。
まず、関節の組み合わせaにおける関節J1〜Jnのうち、任意の二関節が重なっているかどうかを、例えば以下の式(11)を用いて判定する。
Figure 0006433149
ここで、関数g(i,j)は、組み合わせaに含まれる任意の関節Ji、Jjが重なっているか否かを判定するために、二つの関節の距離を算出している。距離関数として、二つの関節の三次元ユークリッド距離上の距離を求める。なお、|・|は三次元空間上のノルムを算出する関数を示し、dは重なっていると判定される距離の上限を表す任意の閾値である。また、式(11)の上段のifは関数|・|とdによる大小関係に対する条件式であり、ifより右側に書かれた条件式を満たす場合に二つの関節が重複していると判定し、関数g(i,j)は1の値をとる。一方、そうでなければ下段のelseの場合として0の値をとる。
ここで求める距離尺度は各関節間の距離を示すものであれば何であってもよく、三次元空間上の距離でもよいし、二次元平面に射影した上での距離でもよいし、その他の何らかの距離関数を用いてもよい。その場合、関数|・|を任意の距離関数に変更すればよい。また、閾値dは距離を算出する二つの関節に対して可変に設定することも可能である。関数g(i,j)の返す値は、1または0ではなく実数として表現することもできる。例として、二つの関節Ji,Jjの距離値をそのまま算出してもよい。このような式(11)によって、二つの関節の距離値が重なっていると判定される基準である閾値よりも低いか否かを判定し、低い場合には関節位置同士が重なっているとして不整合スコアを得ることができる。
次に、関節の組み合わせaに対する不整合スコアを算出する。関数g(i,j)によって任意の二関節の重なりに関する不整合スコアを算出することができるため、関節の組み合わせaに含まれる関節のうち、すべての組の不整合度の総和を、以下の式(12)を用いて得ることができる。
Figure 0006433149
ここで関数p(a)は、aに含まれる関節のうちすべての二個組の不整合性を関数g(i,j)によって評価し、その総和をとったものである。さらに、関節の組み合わせaの確からしさも考慮しつつ整合性評価値を算出するために、第4の実施形態と同様に式(10)を用いる。
ここで、cは整合性を評価する関節の組み合わせaに含まれるすべての関節の尤度の総和とし、不整合スコアp(a)をcから引いた値をとる。すなわち、式(11)の上段の条件式を満たすi,jの組の数だけcから引かれ、式(10)によって出力される。これにより、関節の組み合わせaの整合性評価値を得ることができる。
これまでは関節位置候補から直接算出される距離を用いていたが、より詳細な人体モデルを定義して距離を求めてもよい。例として、図7の人体の部分モデルL1〜Lmで示すように、人体モデルを表現するために繋がりのある関節の間を直線で繋げることができる。ここで、mは関節の組み合わせaに含まれる関節が持つ、関節間の繋がりの数を示す。
関節位置候補だけを用いた場合、人体が本来持つ身体の部分的なパーツを考慮することができないが、以上のような部分モデルを用いることでより現実の人体に即した整合性を求めることができる。例として、部分モデルを直線で表現することによって、例えば直線間の距離の平均やミニマムを求めて部分モデル間の距離を算出できる。その際、全体の直線のうちどの程度の割合が重なっているかを求めることにより、よりロバストに評価値を算出することができる。当然ながら部分モデルとしては関節間を繋いだ直線に限る必要はなく、円筒モデルや詳細な人体表面モデルなど、より表現力の高いモデルを必要に応じて用い、部分モデル間の重なりを評価することができる。
複数の関節位置候補の組み合わせに対して整合性評価値のランク付けを行う際には、第4の実施形態と同様に、関節位置候補の組み合わせの集合Aを決定し、式(10)、式(11)、及び式(12)を用いて集合Afを求める。
なお、式(10)の第二項の符号をマイナスからプラスに反転させ、式(11)の上段のif文の大小関係を>に反転することにより、関節が重ならないという整合性が高い場合に整合性評価関数f(・)を増加させることもできる。しかし結果として整合性評価関数f(・)のとる値の相対的な大きさが異なるだけで、集合Afのランク付けには影響がないため、どちらを用いてもよい。
<整合性評価の高速化>
第1の実施形態と同様に、上記の例では、整合性評価を必要とする多数の関節の組み合わせaに対して整合性評価値を算出するので、処理に時間を要する場合がある。そこで、ある関節位置候補を起点とし、繋がりのある関節位置候補に対して順次整合性を評価して関節位置候補の組み合わせを決定していく方法をとることができる。この際、繋がりのある関節位置候補の整合性評価値が低い場合、その関節位置候補についてはそれ以降の連結する関節で整合性評価値を算出することを打ち切り、関節位置候補の組み合わせにその関節位置候補を含まないようにする。これにより、整合性評価を高速化できる。この処理は第1の実施形態における整合性評価の高速化と同様の内容であるため、説明を省略する。また、この処理により複数の関節位置候補の組み合わせが得られた場合は、上記の評価ランク付けをさらに行うことができる。
以上のように本実施形態によって、多関節物体として物理的に整合性がとれた姿勢を得ることが可能となる。
(第6の実施形態)
本実施形態では整合性評価において、複数の整合性評価値を同時に導入した最終的な評価値を求める。
<構成と概要>
基本的な構成は図1と同様であるため、重複する部分については説明を省略する。本実施形態では、整合性評価部103において算出された複数の評価値を用いて整合性評価を行う。複数算出された評価値を同時に用いて整合性評価を行うことにより、より正確に整合性評価を行うことができる。
<整合性評価>
以下、第1の実施形態と異なる点について説明する。
整合性評価では、例えば式(10)により、関節位置候補の組み合わせについて整合性評価値を算出することができる。本実施形態では、式(9)および式(12)を用いて不整合スコアを複数同時に導入する。より具体的には、式(9)により距離画像中の人体領域と推定された関節位置から求められる人体モデルとの不整合性を定量化し、式(12)により推定された関節位置が重なっているか否かをみる物理的な不整合性を定量化することができる。本実施形態ではこれら複数の評価を同時に行う。
関節位置候補の組み合わせをaとしたとき、例えば以下の式(13)を用いて複数の整合性評価を導入した最終な評価値を求める。以降、この最終な評価値を最終評価値と記す。
Figure 0006433149
ここで、cは関節位置候補の組み合わせaに含まれる関節の尤度の総和であり、Iは最終評価値を算出するために用いる整合性評価の種類である。また、wiは整合性評価iの重み定数であり、pi(・)は整合性評価iの評価値である。評価値pi(・)は、例えば式(9)および式(12)をそのまま用いてもよいし、その他の新たな整合性評価関数を用いてもよい。
式(13)の第二項では、それぞれの整合性評価に対して重み付けを行った値の総和をとっており、重み定数wiの値は整数や実数など、どのような値を設定してもよい。例えば、Iの中での整合性評価iの重要性に比例した設定を行い、非負の実数を設定するとよい。或いは、boosting学習やクロスバリデーション等で決めてもよい。ただし、例として関節位置候補の組み合わせaの不整合性が高い場合に評価値pi(a)がマイナスの符号をとるような場合は、重み定数wiが非負であると最終評価値f(a)が増加してしまうことになる。そのため、重み定数wiの符号は評価値pi(・)の符号に合わせて設定する必要がある。なお、式(13)では、第二項が第一項を引く式であるが、すべての項の積をとってもよい。その場合、以下の式(14)を用いることになる。
Figure 0006433149
このようにすることによって、関節の尤度の総和cが低いときにより低い最終評価値となり、関節の尤度の総和cが高いときにより高い最終評価値となる。すなわち尤度の重要性をさらに増すことができる。以上のように、最終評価値を算出する式の形は、目的に応じて定めることができる。
複数の関節位置候補の組み合わせに対して本実施形態による最終評価値のランク付けを行う際には、第4の実施形態と同様に、関節位置候補の組み合わせの集合Aを決定し、式(13)を用いて集合Afを求める。
<整合性評価の高速化>
第1の実施形態と同様に、上記の例では、整合性評価を必要とする多数の関節の組み合わせaに対して整合性評価値を算出するので、処理に時間を要する場合がある。そこで、ある関節位置候補を起点とし、繋がりのある関節位置候補に対して順次整合性を評価して関節位置候補の組み合わせを決定していく方法をとることができる。この際、繋がりのある関節位置候補の整合性評価値が低い場合、その関節位置候補についてはそれ以降の連結する関節で整合性評価値を算出することを打ち切り、関節位置候補の組み合わせにその関節位置候補を含まないようにする。これにより、整合性評価を高速化できる。この処理は第1の実施形態における整合性評価の高速化と同様の内容であるため、説明を省略する。また、この処理により複数の関節位置候補の組み合わせが得られた場合は、上記の評価ランク付けをさらに行うことができる。
以上のように本実施形態によって、多関節物体として複数の整合性がとれた姿勢を得ることが可能となる。
(第7の実施形態)
本実施形態では、整合性評価部103において、さらに複数の関節間距離の比率を導入して整合性の評価値を算出する例について説明する。
<構成と概要>
基本的な構成は図1と同様であるため、重複する部分については説明を省略する。本実施形態では、整合性評価部103は、これまでの整合性評価に加えて、関節位置候補算出部102で得られた各関節位置候補に対して、関節間距離の比率を用いて整合性を評価する。
ここで、関節間距離の比率とは、例えば図3に示す人体モデル311において、関節J11と関節J12との間の長さと関節J12と関節J13との間の長さとの比率(前腕と上腕とにおける関節間距離の比率)が挙げられる。それ以外には、例えば関節J5と関節J6との間の距離と関節J6と関節J7との間の距離との比率(脚における大腿部と下腿部とにおける関節間距離の比率)などが挙げられる。また、評価するために用いる関節間距離は、腕や脚における関節間距離に限定せず、以下のような例を用いてもよい。例えば、左右の上腕の長さの比率(関節J11と関節J12との間の距離と関節J14と関節J15との間の距離との比率)が挙げられる。それ以外には、例えば腕の長さ(関節J11と関節J12との間の距離と関節J12と関節J13との間の距離との和)と胴体の長さ(関節J2と関節J3との間の距離と関節J3と関節J4との間の距離との和)との比率が挙げられる。
また、人体モデル記憶部104には、整合性評価部103で関節間距離の比率を評価するために、あらかじめ学習により人体モデルの関節間距離の比率についての情報が関節位置許容範囲情報として格納されている。これにより、指定した関節間距離の比率を参照できるようになっている。
次に、個々の処理について詳細に説明する。前述した実施形態と重複する部分についての説明は省略する。
<人体モデルの学習または設定>
まず、整合性評価部103が人体としての整合性を評価する際に必要となる人体モデルについて説明する。人体モデルを作成する際には、前述した実施形態における人体モデルの学習(関節間距離及び関節間角度の学習)に加えて本実施形態における人体モデルの関節間距離の比率の学習を行う。なお、これらの学習を独立して行ってもよい。
本実施形態における関節間距離の比率の関係は、図10に示すように、例えばテーブル1001において管理される。図10において、比率r1は、関節J11と関節J12との間の距離と関節J12と関節J13との間の距離との比率を表しており、右腕の前腕と上腕とにおける長さの比率を表している。また、比率r3は、関節J5と関節J6との間の距離と関節J6と関節J7との間の距離との比率を表しており、脚の大腿部と下腿部とにおける長さの比率を表している。
また、テーブル1001に示すように、左右の腕の長さの比率や、左右の脚の長さの比率、腕と胴体の長さの比率、脚と胴体の長さの比率などを学習してもよく、本実施形態においてはテーブル1001に示す関節間距離の比率に限定されない。このように本実施形態において、人体モデルを学習(または設定)する際には、関節間距離の比率を関節位置許容範囲情報として取得する。
<整合性評価>
次に、整合性評価部103により、各姿勢候補の関節位置候補とその尤度とを基に、人体モデルとの整合性を評価して最終的な関節位置を決定して姿勢を推定する方法について説明する。なお、本実施形態においては、前述した実施形態と異なる点について説明する。
図11には、人物領域を抽出した距離画像1101から関節位置候補算出部102により算出された関節位置候補を組み合わせて作成される姿勢候補1102、1103を示している。整合性の評価では、関節間距離の比率についてテーブル1001に示すように、関節間距離の比率または複数の関節間距離の和の比率を用いて整合性の評価値を算出する。このとき、整合性評価部103は、関節位置候補を組み合わせて姿勢候補を作成しておく。
関節間距離の比率を用いて整合性を評価する際に、まず、テーブル1001に示す関節間距離の比率の算出式の番号が1である場合には、以下の式(15)を用いて関節間距離の比率を算出する。そして、以下の式(16)により関節間距離の比率を評価する。
Figure 0006433149
Figure 0006433149
式(15)は、該当する関節Jの三次元位置座標(x、y、z)を用いてユークリッド距離を算出することを意味し、iは姿勢候補の番号である。また、jはテーブル1001に示す関節間距離の比率の算出式の番号を表しており、rfは関節間距離の比率の一定範囲を表している。ここで一定範囲rfは、あらかじめ学習した人体モデルの関節間距離の比率に関する最大値、最小値、平均値、標準偏差等を基に決定される。
例えば、姿勢候補1102(以下、i=1とする)に対して、式(15)により関節J1,11と関節J1,12との距離と関節J1,12と関節J1,13との距離との比率r1,1を算出する。そして、姿勢候補1103(以下、i=2とする)に対しても同様に、関節J2,11と関節J2,12との距離と関節J2,12と関節J2,13との距離との比率r2,1を算出する。
式(15)により算出された関節間距離の比率ri,1が、一定範囲rfに基づいた範囲を満たす場合は、選択した姿勢候補に対して式(16)中のh(i,j)の値を1とし、そうでない場合はh(i、j)の値を0とする。例えば、姿勢候補1102、1103の関節間距離の比率ri,1を評価した結果、姿勢候補1102は関節間距離の比率r1,1の値が前述した範囲内でない場合には、h(1,1)=0となる。また、姿勢候補1103の関節間距離の比率r2,1が前述した範囲内である場合には、h(2,1)=1となる。
以上のような関節間距離の比率の評価方法により、テーブル1001に記述されている全ての関節間距離の比率に対して評価し、以下の式(17)により評価値f(a)を算出する。
Figure 0006433149
式(17)に示すciは姿勢候補iが持つスコアであり、そのスコアciに関節間距離の比率を評価した結果を掛け合わせている。この式(17)により、関節間距離の比率の条件をすべて満たす姿勢候補の評価値は維持され、関節間距離の比率の条件が1つでも満たされない姿勢候補の評価値は0となる。この評価を全ての姿勢候補に適用し、最終的に最も高い評価値を持つ姿勢候補が最終的な姿勢として選択される。
また、関節間距離の比率を評価する際に、評価値を算出する方法を変更してもよい。その場合、例えば式(15)により関節間距離の比率ri,1を算出し、以下の式(18)及び式(19)を用いて評価値f(a)を算出する。
Figure 0006433149
Figure 0006433149
ここで、式(19)のwjは各関節間距離の比率の評価式に付与する重みを表しており、あらかじめ学習によって決定してもよい。これにより、算出された各姿勢候補の評価値f(a)が最も高い姿勢候補を最終的な姿勢として選択してもよい。
<整合性評価の高速化>
前述した例では、全ての姿勢候補において、全ての関節間距離の比率を算出して評価値を求めているので、処理に多くの時間を要する。そこで、姿勢候補に対して各関節間距離の比率を順次評価して決定してもよい。この際、式(16)でh(i,j)の値が0となった場合は、評価値f(a)は0となるため、その姿勢候補については以降の処理を打ち切ることにより処理を高速化できる。
まず、図10に示す関節間距離の比率の評価式の順番を設定する。この順番の設定は学習時に求めた関節間距離の比率に関して最大値と最小値との幅が小さいもの、または平均値に対する標準偏差が小さいものから評価するように順番を設定する。
次に、設定した順番で姿勢候補iに対して関節間距離の比率ri,jを算出し、式(16)でh(i,j)の値が0となった場合に、姿勢候補iは関節間距離の比率がその人体モデルと合っていないと判断する。この場合、評価値f(a)に0を代入して以後の処理を打ち切ることができる。これにより、学習データにある様々な人体モデルの中で、変動が少ない関節間距離の比率から評価して、変動が大きい姿勢候補は評価処理を打ち切ることにより、姿勢候補の評価を高速に行うことができる。
(第8の実施形態)
本実施形態では、整合性の評価において得られた複数の姿勢推定結果からその個人に適した関節許容範囲情報を推定し、推定した関節位置許容範囲情報を用いて整合性を評価する方法について説明する。
<構成と概要>
図12は、本実施形態に係る姿勢推定装置1200の構成例を示すブロック図である。また、図13は、本実施形態において、個人の関節位置許容範囲情報を推定する処理手順の一例を示すフローチャートである。
図12に示す姿勢推定装置1200は、距離画像入力部101、関節位置候補算出部102、整合性評価部1203、人体モデル記憶部104、関節位置記憶部1205、および人体モデル推定部1206を備えている。なお、距離画像入力部101、関節位置候補算出部102、および人体モデル記憶部104は図1と同様であるため、説明は省略する。また、図13のS1301〜S1303の処理についても、それぞれ図2のS201〜S203と同様であるため、説明は省略する。
整合性評価部1203は、関節位置候補算出部102によって得られた関節位置候補に対して、人体モデル記憶部104または人体モデル推定部1206とから取得した人体モデルを用いて、関節位置候補を評価し、最終的な姿勢を推定する。また、整合性評価部1203は、後述する図13のS1304及びS1305の処理を実行する。
関節位置記憶部1205は、整合性評価部1203によって出力された人体の姿勢を含む関節位置情報を記憶する構成であり、後述する図13のS1306の処理を実行する。また、記憶した関節位置情報は人体モデル推定部1206へ出力される。
人体モデル推定部1206は、関節位置記憶部1205から出力される関節位置情報を取得し、人体モデルの関節位置許容範囲情報を推定する構成であり、例えば、後述する図13のS1307の処理を実行する。推定する関節位置許容範囲情報としては、多関節物体モデルの関節間距離や関節間距離の比率がある。また、関節位置許容範囲情報を推定する方法として、関節位置記憶部1205から出力される関節位置情報に対して最小二乗法や確率的勾配降下法を適用して、関節間距離や関節間距離の比率を求める。また、本実施形態において推定する人体モデルの関節位置許容範囲情報及び関節位置許容範囲情報の推定手法はこれらに限定するものではない。
<オンラインでの人体モデルの学習>
まず、図13のS1307において、人体モデル推定部1206が、整合性評価部1203が人体として整合性を評価する際に必要となる人体モデルを、時系列で取得した関節位置情報を基に推定する方法について説明する。
まず、関節位置記憶部1205に記憶されている関節位置情報を取得する。関節位置記憶部1205には、これまで整合性評価部1203によって出力された姿勢に関する関節位置情報が記憶されている。そして、関節位置記憶部1205から取得した関節位置情報の姿勢に対して、整合性評価部1203で用いる人体モデルの関節位置許容範囲情報を算出する。ここで、関節間の関係は図3に示すテーブル312と同様のものでもよい。また、関節間距離の比率を算出するために用いる計算式は、図10に示すテーブル1001を用いてもよいし、それ以外のものでもよい。
次に、関節位置許容範囲情報を推定する方法について説明する。本実施形態では、関節位置記憶部1205に記憶されている複数の関節位置情報を学習データとし、確率的勾配降下法を用いて関節位置許容範囲情報を推定する方法について説明する。なお、関節位置許容範囲情報を推定する方法については、確率的勾配降下法に限定せず、他の方法を用いてもよい。
図14は、2つの関節間距離の関係を示す図である。図14における白い丸印で示す座標1401は、関節位置記憶部1205に記憶されている関節位置情報における、図3の関節J11と関節J12との間の関節間距離d11と、関節J12と関節J13との間の関節間距離d12とからなる座標を表している。
まず、関節間距離d11、d12に対して黒い菱形印で示す任意の座標1402を設定する。このとき、関節間距離の座標1401から1個を選択してもよいし、ランダムに設定してもよい。この設定した初期の関節間距離の任意の座標1402を、以下の式(20)によって更新する。
Figure 0006433149
式(20)により、学習データとする関節間距離の座標1401のN個のデータの中から任意の個数に対して関節間距離djとの差分値を算出し、差分値に学習係数ηiを掛けた値との差分を取ることにより、関節間距離djを更新する。この更新は、設定した収束条件(例えば∇Eiのノルムの値が10-4以下になる)を満たすまで繰り返すか、収束条件を満たす前に指定した回数まで更新処理を実行した場合に終了する。この時、∇Eiは関節間距離djと任意の選択した関節位置情報のi番目のデータとの差分値を算出してもよいし、差分値の二乗を算出してもよい。また、学習係数ηiは固定値でもよいし、更新回数に応じて減少するように変更してもよい。
図14の黒い四角印で示す座標1403は、関節間距離の座標1402を式(20)により更新した結果により得られた関節間距離(d11,d12)の座標である。また、関節間距離の比率はr1=d11/d12を計算することによって得られる。そして、更新によって得られた関節間距離d11、d12及び関節間距離の比率r1を個人の関節位置許容範囲情報として、整合性評価部1203へ出力する。同様に、テーブル1001に示すように、他の関節間距離及び関節間距離の比率についても学習して人体モデルの関節位置許容範囲情報を推定し、出力する。これにより、個人の体型に合わせた人体の関節位置許容範囲情報を取得することができる。
<整合性評価>
以下、新たに追加した部分についてのみ説明する。まず、整合性評価部1203は、図13のS1304において、距離画像入力部101から取得した距離画像と関節位置候補算出部102にて推定した関節位置候補とを取得する。そして、S1305において、人体モデル記憶部104に記憶された関節位置許容範囲情報を用いて人体の整合性を評価する。このとき、なお、初期の段階では、人体モデル推定部1206によって関節位置許容範囲情報が推定されていないため、評価方法については前述した実施形態と同様であり、最終的な姿勢を推定する。そして、S1306において、推定された姿勢は関節位置情報として関節位置記憶部1205へ出力する。この処理を繰り返し、一定の時間または指定したフレーム数の関節位置情報が関節位置記憶部1205に記憶された場合に、人体モデル推定部1206にて人体モデルの学習を行い、関節位置許容範囲情報を推定する。
人体モデル推定部1206から関節位置許容範囲情報が取得できるようになると、整合性評価部1203は、人体モデル推定部1206から取得した関節位置許容範囲情報を用いて関節位置候補の整合性を評価する。このとき、関節位置の重複判定に用いる関節位置許容範囲情報や関節間角度については、人体モデル記憶部104から引き続き取得して整合性を評価する。また、人体モデル推定部1206から取得した関節位置許容範囲情報を用いるようにした後でも、整合性評価部1203から出力される関節位置情報が関節位置記憶部1205に記憶されるようにしてもよい。これにより、人体モデル推定部1206で関節位置許容範囲情報を逐次推定するようにしてもよい。
また、整合性を評価する際には、人体モデル推定部1206において推定した関節位置許容範囲情報を用いて、関節位置の評価は式(2)を用いて評価値を算出してもよい。また、関節間距離の比率の評価については式(16)及び式(17)を用いて評価値を算出してもよい。この時、一定範囲df、rfは任意の値でもよいし、学習時に使用した学習データの関節位置情報の座標1403の最大値、最小値、平均値、標準偏差等から求めてもよい。
さらに、整合性評価部1203は、人体モデル推定部1206で推定した関節位置許容範囲情報と人体モデル記憶部104に記憶されている関節位置許容範囲情報とを比較して、どちらの関節位置許容範囲情報を使用するかを判定してもよい。この判定では、例えば、人体モデル推定部1206で推定した関節位置許容範囲情報が人体モデル記憶部104に記憶されている関節位置許容範囲情報の範囲内に収まっているかどうかを判定する。なお、判定方法についてはこれに限定するものではない。そして、人体モデル推定部1206で推定した関節位置許容範囲情報が十分に学習されているものと判定した場合には、人体モデル推定部1206の関節位置許容範囲情報を使用するよう切り替えてもよい。
さらに、前述した実施形態のように人体モデル記憶部104の関節位置許容範囲情報を用いて、並行して関節間角度及び関節の重複の整合性や距離画像との整合性の評価を併せて行ってもよい。姿勢を推定する処理全体が終了した後は、人体モデル推定部1206で推定した関節位置許容範囲情報を破棄することができる。以上のように、整合性評価部1203から取得した関節位置情報をもとに学習して関節位置許容範囲情報を推定することにより、個人の体型に併せた関節位置許容範囲情報を用いて姿勢を推定することが可能となる。
<整合性評価の高速化>
前述した例では、全ての関節の組み合わせに対して評価を行うため、処理に多くの時間が掛ってしまう。そのため、第1または第7の実施形態と同様の方法により、処理を高速化してもよい。本実施形態では、関節位置許容範囲情報を人体モデル推定部1206から取得する点以外は、第1または第7の実施形態と同様の方法で整合性を評価する。これにより、個人の体型を反映した人体モデルを用いることができ、より高精度に姿勢を推定することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101 距離画像入力部
102 関節位置候補算出部
103 整合性評価部
104 人体モデル記憶部

Claims (25)

  1. 多関節の物体を含む距離画像を入力する入力手段と、
    前記入力手段によって入力された距離画像から前記物体の関節位置候補を算出する算出手段と、
    前記物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する記憶手段と、
    前記算出手段によって算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価手段と、
    前記評価手段による評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する推定手段と、
    を有することを特徴とする姿勢推定装置。
  2. 前記記憶手段は、さらに前記物体に相当する多関節物体モデルにおける関節の距離もしくは角度の少なくとも1つに対する許容範囲の情報を記憶し、
    前記評価手段は、前記距離もしくは角度の少なくとも1つに対する許容範囲の情報に基づいて前記物体の関節位置の配置の整合性を評価することを特徴とする請求項1に記載の姿勢推定装置。
  3. 前記関節と他の関節との間の距離および角度の分布が、正規分布又は一様分布であることを特徴とする請求項2に記載の姿勢推定装置。
  4. 前記評価手段は、前記物体に類似した多関節物体モデルを推定し、前記記憶手段から、前記推定した多関節物体モデルに対応する情報を取得することを特徴とする請求項1〜3の何れか1項に記載の姿勢推定装置。
  5. 前記記憶手段は、前記物体に相当する複数の多関節物体モデルにおける前記関節の距離に対する許容範囲の情報を記憶し、
    前記評価手段は、前記複数の多関節物体モデルに係る前記関節間の距離に対する許容範囲の情報に基づいて前記物体の関節位置候補の配置の整合性を評価することを特徴とする請求項1〜4の何れか1項に記載の姿勢推定装置。
  6. 前記評価手段は、すべての関節の前記関節位置候補の組み合わせについて評価することを特徴とする請求項1〜5の何れか1項に記載の姿勢推定装置。
  7. 前記評価手段は、隣接する関節との間で前記関節位置候補を評価して、一定の閾値を超えた関節位置候補に絞り込んで前記物体の関節位置の配置の整合性を評価することを特徴とする請求項1〜5の何れか1項に記載の姿勢推定装置。
  8. 前記算出手段は、前記物体の関節位置候補の尤度をも算出し、
    前記評価手段は、前記算出した尤度に基づいて前記物体の関節位置の配置の整合性を評価することを特徴とする請求項1〜7の何れか1項に記載の姿勢推定装置。
  9. 前記評価手段は、さらに前記入力された距離画像と前記関節位置候補の位置との整合性を評価することを特徴とする請求項1〜8の何れか1項に記載の姿勢推定装置。
  10. 前記評価手段は、遮蔽状態の関節位置候補を追加して前記物体の関節位置候補の配置の整合性を評価することを特徴とする請求項1〜8の何れか1項に記載の姿勢推定装置。
  11. 前記多関節の物体が人体であることを特徴とする請求項1〜10の何れか1項に記載の姿勢推定装置。
  12. 前記評価手段によって推定された姿勢を初期姿勢として、前記距離画像に対してモデルフィッティングを行う手段をさらに有することを特徴とする請求項1〜11の何れか1項に記載の姿勢推定装置。
  13. 前記評価手段は、さらに前記入力手段によって得られた距離画像と前記関節位置候補との整合性又は前記関節位置候補の組み合わせから得られる多関節物体モデルの一部分との整合性を評価することを特徴とする請求項1に記載の姿勢推定装置。
  14. 前記評価手段は、さらに前記物体に相当する多関節物体モデルにおける関節と他の関節との位置の重複を評価することを特徴とする請求項1に記載の姿勢推定装置。
  15. 前記評価手段は、前記物体の関節位置候補の配置の整合性を評価することによって得られた評価値を複数用いることを特徴とする請求項1に記載の姿勢推定装置。
  16. 前記記憶手段は、さらに前記物体に相当する多関節物体モデルにおける関節と他の関節との間の距離と、それ以外の関節間の距離との比率の情報を少なくとも1つ記憶し、
    前記評価手段は、さらに前記比率の情報に基づいて前記物体の関節位置候補の配置の整合性を評価することを特徴とする請求項1〜15の何れか1項に記載の姿勢推定装置。
  17. 前記記憶手段は、前記物体に相当する多関節物体モデルにおける少なくとも2つの関節間の距離の和とそれ以外の少なくとも2つの関節間の距離の和との比率の情報を少なくとも1つ記憶し、
    前記評価手段は、前記比率の情報に基づいて前記物体の関節位置候補の配置の整合性を評価することを特徴とする請求項1〜15の何れか1項に記載の姿勢推定装置。
  18. 前記推定手段によって推定された姿勢に基づいて、前記物体に係る関節と他の関節との間の配置関係を含むに対する許容範囲の情報を推定する推定手段をさらに有し、
    前記評価手段は、前記物体を含む他の距離画像に対して、前記算出手段によって算出された前記他の距離画像における関節位置候補と、前記推定手段によって推定された情報とに基づいて、前記他の距離画像における物体の関節位置候補の配置の整合性を評価することを特徴とする請求項1〜17の何れか1項に記載の姿勢推定装置。
  19. 前記推定手段は、前記物体の関節間距離を学習することによって前記物体に係る関節と他の関節との間の配置関係に対する許容範囲の情報を推定することを特徴とする請求項18に記載の姿勢推定装置。
  20. 前記推定手段は、前記物体における2つの関節間距離の比率を学習することによって前記物体に係る関節と他の関節との間の配置関係に対する許容範囲の情報を推定することを特徴とする請求項18に記載の姿勢推定装置。
  21. 多関節の物体を含む距離画像を入力する入力手段と、
    前記入力手段によって入力された距離画像から前記物体の関節位置候補を算出する算出手段と、
    前記物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する第1の記憶手段と、
    前記算出手段によって算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価手段と、
    前記評価手段による評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する姿勢推定手段と、
    前記姿勢推定手段によって推定された姿勢に係る関節位置情報を記憶する第2の記憶手段と、
    前記第2の記憶手段に記憶されている関節位置情報から前記物体における関節間の配置関係に対する許容範囲の情報を推定する許容範囲推定手段とを有し、
    前記評価手段は、前記許容範囲推定手段により前記物体における関節間の配置関係に対する許容範囲の情報が推定された場合は、前記許容範囲推定手段によって推定された関節間の配置関係に対する許容範囲の情報に基づいて、前記物体の関節位置候補の配置の整合性を評価すること特徴とする姿勢推定装置。
  22. 多関節の物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する姿勢推定装置の姿勢推定方法であって、
    前記多関節の物体を含む距離画像を入力する入力工程と、
    前記入力工程において入力された距離画像から前記物体の関節位置候補を算出する算出工程と、
    前記算出工程において算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価工程と、
    前記評価工程における評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する推定工程と、
    を有することを特徴とする姿勢推定方法。
  23. 多関節の物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する姿勢推定装置の姿勢推定方法であって、
    前記多関節の物体を含む距離画像を入力する入力工程と、
    前記入力工程において入力された距離画像から前記物体の関節位置候補を算出する算出工程と、
    前記算出工程において算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価工程と、
    前記評価工程における評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する姿勢推定工程と、
    前記姿勢推定工程において推定された姿勢に係る関節位置情報を記憶手段に記憶する記憶工程と、
    前記記憶手段に記憶されている関節位置情報から前記物体における関節間の配置関係に対する許容範囲の情報を推定する許容範囲推定工程とを有し、
    前記評価工程においては、前記許容範囲推定工程において前記物体における関節間の配置関係に対する許容範囲の情報が推定された場合は、前記許容範囲推定工程において推定された関節間の配置関係に対する許容範囲の情報に基づいて、前記物体の関節位置候補の配置の整合性を評価することを特徴とする姿勢推定方法。
  24. 多関節の物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する姿勢推定装置を制御するためのプログラムであって、
    前記多関節の物体を含む距離画像を入力する入力工程と、
    前記入力工程において入力された距離画像から前記物体の関節位置候補を算出する算出工程と、
    前記算出工程において算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価工程と、
    前記評価工程における評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する推定工程と、
    をコンピュータに実行させることを特徴とするプログラム。
  25. 多関節の物体に相当する多関節物体モデルにおける関節間の配置関係に対する許容範囲の情報を記憶する姿勢推定装置を制御するためのプログラムであって、
    前記多関節の物体を含む距離画像を入力する入力工程と、
    前記入力工程において入力された距離画像から前記物体の関節位置候補を算出する算出工程と、
    前記算出工程において算出された関節位置候補について、前記関節間の配置関係に対する許容範囲の情報基づいて、当該関節位置候補の配置の整合性を評価する評価工程と、
    前記評価工程における評価に基づいて、前記関節位置候補から前記物体の関節位置を決定して前記物体の姿勢を推定する姿勢推定工程と、
    前記姿勢推定工程において推定された姿勢に係る関節位置情報を記憶手段に記憶する記憶工程と、
    前記記憶手段に記憶されている関節位置情報から前記物体における関節間の配置関係に対する許容範囲の情報を推定する許容範囲推定工程とをコンピュータに実行させ、
    前記評価工程においては、前記許容範囲推定工程において前記物体における関節間の配置関係に対する許容範囲の情報が推定された場合は、前記許容範囲推定工程において推定された関節間の配置関係に対する許容範囲の情報に基づいて、前記物体の関節位置候補の配置の整合性を評価することを特徴とするプログラム。
JP2014097829A 2013-07-30 2014-05-09 姿勢推定装置、姿勢推定方法およびプログラム Active JP6433149B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014097829A JP6433149B2 (ja) 2013-07-30 2014-05-09 姿勢推定装置、姿勢推定方法およびプログラム
US14/340,636 US9792689B2 (en) 2013-07-30 2014-07-25 Posture estimating apparatus, posture estimating method and storing medium
US15/704,500 US10380759B2 (en) 2013-07-30 2017-09-14 Posture estimating apparatus, posture estimating method and storing medium

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2013157974 2013-07-30
JP2013157974 2013-07-30
JP2014024716 2014-02-12
JP2014024716 2014-02-12
JP2014097829A JP6433149B2 (ja) 2013-07-30 2014-05-09 姿勢推定装置、姿勢推定方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015167008A JP2015167008A (ja) 2015-09-24
JP6433149B2 true JP6433149B2 (ja) 2018-12-05

Family

ID=52427708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014097829A Active JP6433149B2 (ja) 2013-07-30 2014-05-09 姿勢推定装置、姿勢推定方法およびプログラム

Country Status (2)

Country Link
US (2) US9792689B2 (ja)
JP (1) JP6433149B2 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5812599B2 (ja) * 2010-02-25 2015-11-17 キヤノン株式会社 情報処理方法及びその装置
JP5820366B2 (ja) * 2010-10-08 2015-11-24 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
JP6433149B2 (ja) 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
CN103959805B (zh) * 2013-10-24 2017-08-04 华为终端有限公司 一种显示图像的方法和装置
US10147008B1 (en) * 2015-01-13 2018-12-04 State Farm Mutual Automobile Insurance Company Apparatuses, systems and methods for determining whether a vehicle system is distracting to a vehicle operator
JP2017107503A (ja) * 2015-12-11 2017-06-15 株式会社リコー 情報処理装置、情報処理方法、プログラムおよびシステム
CN106803056B (zh) * 2015-11-26 2020-11-06 华为技术有限公司 一种肢体关系的估计方法及装置
US11854308B1 (en) * 2016-02-17 2023-12-26 Ultrahaptics IP Two Limited Hand initialization for machine learning based gesture recognition
JP6723061B2 (ja) * 2016-04-15 2020-07-15 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP6617830B2 (ja) * 2016-04-28 2019-12-11 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム
ZA201701187B (en) * 2016-08-10 2019-07-31 Tata Consultancy Services Ltd Systems and methods for identifying body joint locations based on sensor data analysis
JP6655513B2 (ja) * 2016-09-21 2020-02-26 株式会社日立製作所 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
EP3525662A1 (en) * 2016-10-12 2019-08-21 Koninklijke Philips N.V. An intelligent model based patient positioning system for magnetic resonance imaging
JP6930995B2 (ja) * 2016-11-09 2021-09-01 株式会社システムフレンド 立体画像生成システム、立体画像生成方法及び立体画像生成プログラム
WO2018087933A1 (ja) * 2016-11-14 2018-05-17 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
US10943136B1 (en) * 2017-01-19 2021-03-09 State Farm Mutual Automobile Insurance Company Apparatuses, systems and methods for generating a vehicle driver signature
JP6826296B2 (ja) 2017-03-21 2021-02-03 富士通株式会社 関節位置推定装置、関節位置推定方法及び関節位置推定プログラム
EP3611690A4 (en) 2017-04-10 2020-10-28 Fujitsu Limited DETECTION DEVICE, DETECTION METHOD AND DETECTION PROGRAM
WO2018207365A1 (ja) 2017-05-12 2018-11-15 富士通株式会社 距離画像処理装置、距離画像処理システム、距離画像処理方法および距離画像処理プログラム
EP3624051A4 (en) 2017-05-12 2020-03-25 Fujitsu Limited DISTANCE IMAGE PROCESSING DEVICE, DISTANCE IMAGE PROCESSING SYSTEM, DISTANCE IMAGE PROCESSING METHOD AND DISTANCE IMAGE PROCESSING PROGRAM
CN107341336A (zh) * 2017-05-19 2017-11-10 上海交通大学 一种贮箱产品几何精度一致性评价方法
JP6939111B2 (ja) * 2017-06-13 2021-09-22 コニカミノルタ株式会社 画像認識装置および画像認識方法
US10062187B1 (en) * 2017-06-28 2018-08-28 Macau University Of Science And Technology Systems and methods for reducing computer resources consumption to reconstruct shape of multi-object image
JP6977337B2 (ja) * 2017-07-03 2021-12-08 富士通株式会社 部位認識方法、装置、プログラム、及び撮像制御システム
JP6923789B2 (ja) * 2017-07-05 2021-08-25 富士通株式会社 情報処理プログラム、情報処理装置、情報処理方法、及び情報処理システム
EP3693923A4 (en) * 2017-10-03 2020-12-16 Fujitsu Limited RECOGNITION PROGRAM, RECOGNITION PROCESS AND RECOGNITION DEVICE
KR102147930B1 (ko) * 2017-10-31 2020-08-25 에스케이텔레콤 주식회사 포즈 인식 방법 및 장치
JP6988406B2 (ja) * 2017-11-27 2022-01-05 富士通株式会社 手位置検出方法、手位置検出装置、及び手位置検出プログラム
JP6939608B2 (ja) * 2018-01-30 2021-09-22 コニカミノルタ株式会社 画像認識装置、画像認識方法、および、画像認識プログラム
JP7170411B2 (ja) 2018-03-29 2022-11-14 キヤノン株式会社 情報処理装置および方法およびコンピュータプログラム、並びに監視システム
KR102127151B1 (ko) * 2018-08-20 2020-06-30 전북대학교병원 하지 뼈 영상 처리 장치 및 방법
CN109145867B (zh) * 2018-09-07 2021-08-10 北京旷视科技有限公司 人体姿态估计方法、装置、***、电子设备、存储介质
CN110909580B (zh) * 2018-09-18 2022-06-10 北京市商汤科技开发有限公司 数据处理方法及装置、电子设备及存储介质
WO2020070857A1 (ja) * 2018-10-04 2020-04-09 三菱電機株式会社 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
WO2020070856A1 (ja) * 2018-10-04 2020-04-09 三菱電機株式会社 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
WO2020130211A1 (ko) * 2018-12-21 2020-06-25 주식회사 알체라 관절 모델 정합 장치 및 방법
TWI715903B (zh) * 2018-12-24 2021-01-11 財團法人工業技術研究院 動作追蹤系統及方法
US10871039B2 (en) 2019-01-03 2020-12-22 Ulterra Drilling Technologies, L.P. Replaceable nozzle for drilling bit
CN111460870A (zh) 2019-01-18 2020-07-28 北京市商汤科技开发有限公司 目标的朝向确定方法及装置、电子设备及存储介质
CN110321795B (zh) * 2019-05-24 2024-02-23 平安科技(深圳)有限公司 用户姿态识别方法、装置、计算机装置及计算机存储介质
JP7439832B2 (ja) 2019-05-30 2024-02-28 コニカミノルタ株式会社 3次元姿勢推定方法、プログラム、記録媒体および3次元姿勢推定装置
CN110490901A (zh) * 2019-07-15 2019-11-22 武汉大学 抗姿态变化的行人检测跟踪方法
EP4040382A4 (en) * 2019-10-03 2022-09-07 Fujitsu Limited EVALUATION PROCEDURES, EVALUATION PROGRAM AND INFORMATION PROCESSING SYSTEM
CN112906438B (zh) * 2019-12-04 2023-05-02 内蒙古科技大学 人体动作行为的预测方法以及计算机设备
JP7459679B2 (ja) * 2020-06-23 2024-04-02 富士通株式会社 行動認識方法、行動認識プログラム及び行動認識装置
CN114078193A (zh) * 2020-08-12 2022-02-22 株式会社理光 图像处理方法、设备和介质
KR102594249B1 (ko) 2020-11-18 2023-10-26 한국전자통신연구원 실감 인터랙션 기반의 가상 훈련 방법 및 장치
CN112504188B (zh) * 2020-11-19 2021-11-23 东风汽车集团有限公司 一种生成人体模型的方法
JPWO2022113349A1 (ja) 2020-11-30 2022-06-02
JP7464512B2 (ja) 2020-12-10 2024-04-09 Kddi株式会社 三次元人物姿勢推定装置、方法およびプログラム
WO2023195099A1 (ja) * 2022-04-06 2023-10-12 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法及びプログラム
CN117315201A (zh) * 2022-06-20 2023-12-29 香港教育大学 用于在虚拟世界中动画化化身的***
CN116503958B (zh) * 2023-06-27 2023-10-03 江西师范大学 人体姿态识别方法、***、存储介质及计算机设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124677A (ja) 1996-10-25 1998-05-15 Nippon Telegr & Teleph Corp <Ntt> 物体の姿勢推定方法および物体の姿勢推定装置
US5892691A (en) * 1996-10-28 1999-04-06 Reel/Frame 8218/0138 Pacific Data Images, Inc. Method, apparatus, and software product for generating weighted deformations for geometric models
JP4148281B2 (ja) * 2006-06-19 2008-09-10 ソニー株式会社 モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
US8351646B2 (en) * 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
US8340357B2 (en) * 2008-10-27 2012-12-25 Panasonic Corporation Moving object detection method and moving object detection apparatus
US8995714B2 (en) * 2009-03-04 2015-03-31 Nec Corporation Information creation device for estimating object position and information creation method and program for estimating object position
WO2011021588A1 (ja) * 2009-08-20 2011-02-24 日本電気株式会社 移動体軌跡識別システム
EP2383696A1 (en) * 2010-04-30 2011-11-02 LiberoVision AG Method for estimating a pose of an articulated object model
US8437506B2 (en) * 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
JP5820366B2 (ja) * 2010-10-08 2015-11-24 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
JP5525407B2 (ja) * 2010-10-12 2014-06-18 日本電信電話株式会社 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム
JP2012120647A (ja) * 2010-12-07 2012-06-28 Alpha Co 姿勢検出装置
US8571263B2 (en) * 2011-03-17 2013-10-29 Microsoft Corporation Predicting joint positions
JP5777390B2 (ja) 2011-04-20 2015-09-09 キヤノン株式会社 情報処理方法及び装置、パターン識別方法及び装置
JP5814700B2 (ja) 2011-08-25 2015-11-17 キヤノン株式会社 画像処理システム及び画像処理方法
JP5906071B2 (ja) 2011-12-01 2016-04-20 キヤノン株式会社 情報処理方法、情報処理装置、および記憶媒体
JP6433149B2 (ja) 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
US10121260B2 (en) * 2014-10-30 2018-11-06 Panasonic Intellectual Property Management Co., Ltd. Orientation estimation method and orientation estimation device
US11120478B2 (en) * 2015-01-12 2021-09-14 Ebay Inc. Joint-based item recognition
ZA201701187B (en) * 2016-08-10 2019-07-31 Tata Consultancy Services Ltd Systems and methods for identifying body joint locations based on sensor data analysis
JP6923789B2 (ja) * 2017-07-05 2021-08-25 富士通株式会社 情報処理プログラム、情報処理装置、情報処理方法、及び情報処理システム

Also Published As

Publication number Publication date
US9792689B2 (en) 2017-10-17
US10380759B2 (en) 2019-08-13
US20180068461A1 (en) 2018-03-08
JP2015167008A (ja) 2015-09-24
US20150036879A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
JP6433149B2 (ja) 姿勢推定装置、姿勢推定方法およびプログラム
CN108369643B (zh) 用于3d手部骨架跟踪的方法和***
CN104573614B (zh) 用于跟踪人脸的设备和方法
CN108475439B (zh) 三维模型生成***、三维模型生成方法和记录介质
JP5833189B2 (ja) 被写体の三次元表現を生成する方法およびシステム
KR101833364B1 (ko) 파라미터화된 변형가능 메시를 이용하여 개인화된 아바타들을 구성하기 위한 방법 및 시스템
Balan et al. Detailed human shape and pose from images
JP4709723B2 (ja) 姿勢推定装置及びその方法
US11948376B2 (en) Method, system, and device of generating a reduced-size volumetric dataset
JP4950787B2 (ja) 画像処理装置及びその方法
JP4991317B2 (ja) 顔特徴点検出装置及びその方法
JP4951498B2 (ja) 顔画像認識装置、顔画像認識方法、顔画像認識プログラムおよびそのプログラムを記録した記録媒体
CN109063584B (zh) 基于级联回归的面部特征点定位方法、装置、设备及介质
US9443325B2 (en) Image processing apparatus, image processing method, and computer program
JP5480667B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラム
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
JP2012042396A (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
CN103999126A (zh) 用于估计姿态的方法和装置
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
JP2019114103A (ja) 物体認識処理装置、物体認識処理方法及びプログラム
JP6381368B2 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2019144296A1 (zh) 可移动平台的控制方法、装置和可移动平台
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
US11461914B2 (en) Measuring surface distances on human bodies
JP2015219868A (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180521

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: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181106

R151 Written notification of patent or utility model registration

Ref document number: 6433149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151