(57)【要約】【課題】色やテクスチャ情報が不明瞭で小さな人物オブジェクトでも、その姿勢を正確に推定できるようにする。【解決手段】人物オブジェクトのモデルが各身体ジョイントと各身体パーツとの連結条件で定義されており、オブジェクト検知部１０はフレーム画像から人物オブジェクトを検知する。マスク生成部２０２は人物オブジェクトのマスクを生成する。骨格生成部２０３は人物オブジェクトのマスクに基づいて骨格を生成する。頭推定部４０１は人物オブジェクトのマスクに基づいて頭部を推定する。胴体推定部４０２は頭部の位置、マスク及び骨格に基づいて各身体ジョイント及び各身体パーツを前記連結条件の制約下で順次に推定する。胴体推定部４０２，肩推定部４０３，臀推定部４０４，腕推定部４０５、脚推定部４０６は各身体ジョイント及び各身体パーツの推定結果、マスク並びに骨格に基づいて残りの各身体ジョイント及び各身体パーツを順次に推定する。【選択図】図１
2018147313.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像上で人物オブジェクトの姿勢を推定するオブジェクト姿勢推定装置において、
人物オブジェクトのモデルを各身体ジョイントと各身体パーツとの連結条件で定義する手段と、
フレーム画像から人物オブジェクトを検知する手段と、
人物オブジェクトのマスクを生成する手段と、
人物オブジェクトのマスクに基づいて骨格を生成する手段と、
人物オブジェクトのマスクに基づいて頭部の位置を推定する手段と、
前記頭部の位置、マスクおよび骨格に基づいて、各身体ジョイントおよび各身体パーツの位置／姿勢を前記連結条件の制約下で順次に推定する手段とを具備し、
前記推定する手段は、各身体ジョイントおよび／または各身体パーツの推定結果、マスクならびに骨格に基づいて、残りの各身体ジョイントおよび各身体パーツの位置／姿勢を順次に推定することを特徴とするオブジェクト姿勢推定装置。
【請求項２】
前記各身体パーツとして、頭、胴体、左右の上腕、左右の前腕、左右の大腿および左右の下腿を含むことを特徴とする請求項１に記載のオブジェクト姿勢推定装置。
【請求項３】
前記各身体ジョイントとして、首、左右の肩、左右の肘、左右の臀および左右の膝を含むことを特徴とする請求項１または２に記載のオブジェクト姿勢推定装置。
【請求項４】
前記各身体パーツを、当該身体パーツの形状を模擬した身体テンプレートで模擬したことを特徴とする請求項２に記載のオブジェクト姿勢推定装置。
【請求項５】
前記胴体のテンプレートが他の身体テンプレートよりも大きいことを特徴とする請求項４に記載のオブジェクト姿勢推定装置。
【請求項６】
前記大腿および下腿のテンプレートが、前記上腕および前腕のテンプレートよりも大きいことを特徴とする請求項４または５に記載のオブジェクト姿勢推定装置。
【請求項７】
前記推定手段は、前記頭部の位置および骨格に基づいて首ジョイントの位置を推定することを特徴とする請求項３に記載のオブジェクト姿勢推定装置。
【請求項８】
前記推定手段は、前記首ジョイントの推定結果および骨格に基づいて胴体パーツの位置／姿勢を推定することを特徴とする請求項７に記載のオブジェクト姿勢推定装置。
【請求項９】
前記推定手段は、前記首ジョイントの推定結果、胴体パーツの推定結果および前記マスクに基づいて肩ジョイントの位置を推定することを特徴とする請求項８に記載のオブジェクト姿勢推定装置。
【請求項１０】
前記推定手段は、前記肩ジョイントの推定結果に基づいて臀ジョイントの位置を推定することを特徴とする請求項９に記載のオブジェクト姿勢推定装置。
【請求項１１】
前記推定手段は、前記肩ジョイントの推定結果、前記マスクおよび前記骨格に基づいて肘ジョイントの位置を推定することを特徴とする請求項９に記載のオブジェクト姿勢推定装置。
【請求項１２】
前記推定手段は、前記肩ジョイントの推定結果および肘ジョイントの推定結果に基づいて上腕パーツの位置／姿勢を推定することを特徴とする請求項１１に記載のオブジェクト姿勢推定装置。
【請求項１３】
前記推定手段は、前記肘ジョイントの推定結果および前記マスクに基づいて前腕パーツの位置／姿勢を推定することを特徴とする請求項１１に記載のオブジェクト姿勢推定装置。
【請求項１４】
前記推定手段は、前記臀ジョイントの推定結果、前記マスクおよび前記骨格に基づいて膝ジョイントの位置を推定することを特徴とする請求項１０に記載のオブジェクト姿勢推定装置。
【請求項１５】
前記推定手段は、前記臀ジョイントの推定結果および膝ジョイントの推定結果に基づいて大腿パーツの位置／姿勢を推定することを特徴とする請求項１４に記載のオブジェクト姿勢推定装置。
【請求項１６】
前記推定手段は、前記膝ジョイントの推定結果および前記マスクに基づいて下腿パーツの位置／姿勢を推定することを特徴とする請求項１４に記載のオブジェクト姿勢推定装置。
【請求項１７】
フレーム画像上で人物オブジェクトの姿勢を推定するオブジェクト姿勢推定方法において、
人物オブジェクトのモデルを各身体ジョイントと各身体パーツとの連結条件で予め定義しておき、
フレーム画像から人物オブジェクトを検知し、
人物オブジェクトのマスクを生成し、
人物オブジェクトのマスクに基づいて骨格を生成し、
人物オブジェクトのマスクに基づいて頭部の位置を推定し、
人物オブジェクトのモデルを各身体ジョイントと各身体パーツとの連結条件にしたがって、前記頭部の位置、マスクおよび骨格に基づいて、各身体ジョイントおよび各身体パーツの位置／姿勢を前記連結条件の制約下で順次に推定し、
各身体ジョイントおよび／または各身体パーツの推定結果、マスクならびに骨格に基づいて、残りの各身体ジョイントおよび各身体パーツの位置／姿勢を順次に推定することを特徴とするオブジェクト姿勢推定方法。
【請求項１８】
前記頭部の位置および骨格に基づいて首ジョイントの位置を推定し、
前記首ジョイントの推定結果および骨格に基づいて胴体パーツの位置／姿勢を推定することを特徴とする請求項１７に記載のオブジェクト姿勢推定方法。
【請求項１９】
前記首ジョイントの推定結果、胴体パーツの推定結果および前記マスクに基づいて肩ジョイントの位置を推定することを特徴とする請求項１８に記載のオブジェクト姿勢推定方法。
【請求項２０】
前記肩ジョイントの推定結果、前記マスクおよび前記骨格に基づいて肘ジョイントの位置を推定し、
前記肩ジョイントの推定結果および肘ジョイントの推定結果に基づいて上腕パーツの位置／姿勢を推定し、
前記肘ジョイントの推定結果および前記マスクに基づいて前腕パーツの位置／姿勢を推定することを特徴とする請求項１９に記載のオブジェクト姿勢推定方法。
【請求項２１】
前記肩ジョイントの推定結果に基づいて臀ジョイントの位置を推定し、
前記臀ジョイントの推定結果、前記マスクおよび前記骨格に基づいて膝ジョイントの位置を推定し、
前記臀ジョイントの推定結果および膝ジョイントの推定結果に基づいて大腿パーツの位置／姿勢を推定し、
前記膝ジョイントの推定結果および前記マスクに基づいて下腿パーツの位置／姿勢を推定することを特徴とする請求項１９に記載のオブジェクト姿勢推定方法。
【請求項２２】
請求項１７ないし２１のいずれかに記載のオブジェクト姿勢推定方法をコンピュータに実行させるオブジェクト姿勢推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト姿勢推定方法、プログラムおよび装置に係り、特に、色やテクスチャ情報が不明瞭で小さな人物オブジェクトでも、その姿勢を正確に推定できるオブジェクト姿勢推定方法、プログラムおよび装置に関する。
【背景技術】
【０００２】
特許文献１には、合成されたビュー内のオブジェクトテクスチャを決定するためにビルボードモデルを使用してオブジェクトをモデル化する技術が開示されている。特許文献１では、正しい物体モデルを見つけるためにオクルージョンが自動的に検出される。
【０００３】
非特許文献１には、自由視点適用の概念と応用が開示されている。非特許文献２には、オブジェクトの検出と追跡の方法が開示されている。非特許文献３には、人物オブジェクトの骨格に基づいてその姿勢を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願2015-210755号
【非特許文献】
【０００５】
【非特許文献１】H. Sankoh and S. Naito, "Free-viewpoint Video Rendering in Large Outdoor Space such as Soccer Stadium based on Object Extraction and Tracking Technology" The Journal of The Institute of Image Information and Television Engineers (ITE), Vol. 68, No. 3, pp. J125-J134, 2014.
【非特許文献２】H. Sabirin, H. Sankoh, and S. Naito, "Automatic Soccer Player Tracking in Single Camera with Robust Occlusion Handling Using Attribute Matching," IEICE Trans. on Inf. & Syst., vol. E98-D, 2015, pp. 1580-1588.
【非特許文献３】C. Sminchisescu and A. Telea, "Human pose estimation from silhouettes: A consistent approach using distance level sets," in WSCG International Conference on Computer Graphics, Visualization and Computer Vision, 2002.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１および非特許文献１，２では、各オブジェクトを、その色やテクスチャ情報に基づいて識別するので、フレーム画像上でのオブジェクトサイズが小さく、その色やテクスチャ情報を正確に認識できない場合には姿勢推定の精度が低下してしまう。
【０００７】
非特許文献３に開示された人物オブジェクトの骨格に基づく姿勢推定は、身体部分の骨格がはっきりと見える場合にのみ有効であり、骨格を正確に認識できない場合には推定精度が低下してしまう。
【０００８】
本発明の目的は、上記の技術課題を解決し、色やテクスチャ情報が不明瞭で小さな人物オブジェクトでも、その姿勢を正確に推定することができるオブジェクト姿勢推定方法、プログラムおよび装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明は、フレーム画像上で人物オブジェクトの姿勢を推定するオブジェクト姿勢推定方法、プログラムおよび装置において、以下の手段を具備した点に特徴がある。
【００１０】
(1) 人物オブジェクトのモデルを各身体ジョイントと各身体パーツとの連結条件で予め定義しておき、フレーム画像から人物オブジェクトを検知し、人物オブジェクトのマスクを生成し、人物オブジェクトのマスクに基づいて骨格を生成し、人物オブジェクトのマスクに基づいて頭部の位置を推定し、人物オブジェクトのモデルを各身体ジョイントと各身体パーツとの連結条件にしたがって、前記頭部の位置、マスクおよび骨格に基づいて、各身体ジョイントおよび各身体パーツの位置／姿勢を前記連結条件の制約下で順次に推定し、各身体ジョイントおよび／または各身体パーツの推定結果、マスクならびに骨格に基づいて、残りの各身体ジョイントおよび各身体パーツの位置／姿勢を順次に推定するようにした。
【００１１】
(2) 頭部の位置および人物オブジェクトの骨格に基づいて首ジョイントの位置を推定し、首ジョイントの推定結果および骨格に基づいて胴体パーツの位置／姿勢を推定するようにした。
【００１２】
(3) 首ジョイントの推定結果、胴体パーツの推定結果および人物オブジェクトのマスクに基づいて肩ジョイントの位置を推定するようにした。
【００１３】
(4) 肩ジョイントの推定結果、前記マスクおよび前記骨格に基づいて肘ジョイントの位置を推定し、前記肩ジョイントの推定結果および肘ジョイントの推定結果に基づいて上腕パーツの位置／姿勢を推定し、前記肘ジョイントの推定結果および前記マスクに基づいて前腕パーツの位置／姿勢を推定するようにした。
【００１４】
(5) 肩ジョイントの推定結果に基づいて臀ジョイントの位置を推定し、前記臀ジョイントの推定結果、前記マスクおよび前記骨格に基づいて膝ジョイントの位置を推定し、前記臀ジョイントの推定結果および膝ジョイントの推定結果に基づいて大腿パーツの位置／姿勢を推定し、前記膝ジョイントの推定結果および前記マスクに基づいて下腿パーツの位置／姿勢を推定するようにした。
【発明の効果】
【００１５】
本発明によれば、以下のような効果が達成される。
【００１６】
(1) 色やテクスチャ情報が不明瞭で小さな人物オブジェクトでも、その姿勢を正確に推定できるようになる。
【００１７】
(2) 人物オブジェクトのモデルを各身体ジョイントと各身体パーツとの連結条件で予め定義したので、人物オブジェクトとしてあり得ない推定結果を排除できるようになる。
【００１８】
(3) オブジェクトマスクからの推定が容易な頭部を最初に推定し、その後、当該推定結果と連結条件とにしたがって各部を順次に推定するので、頭部の推定結果とは相関が低い腕や脚等も、肩や臀の推定結果を利用して精度良く推定できるようになる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るオブジェクト姿勢推定装置の主要部の構成を示したブロック図である。
【図２】オブジェクト画像からマスクを生成し、さらに骨格を生成する方法を示した図である。
【図３】人物オブジェクトを複数の身体パーツおよび身体ジョイントの結合として表現した図である。
【図４】身体ジョイントの一覧を示した図である。
【図５】身体パーツの一覧を示した図である。
【図６】身体ジョイントと身体パーツとの結合する際の制約条件を示した図である。
【図７】頭部の輪郭をHoG特徴量として学習する方法を示した図である。
【図８】人物オブジェクトの輪郭に基づいてHoG特徴量を指標に頭部を推定する方法を示した図である。
【図９】腕推定の方法を示した図（その１）である。
【図１０】腕推定の方法を示した図（その２）である。
【図１１】腕推定の方法を示した図（その３）である。
【図１２】腕推定の手順を示したフローチャートである。
【図１３】脚推定の方法を示した図（その１）である。
【図１４】脚推定の方法を示した図（その２）である。
【図１５】脚推定の手順を示したフローチャート（その１）である。
【図１６】脚推定の手順を示したフローチャート（その２）である。
【図１７】デフォルト姿勢の一例を示した図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の一実施形態に係るオブジェクト姿勢推定装置１の主要部の構成を示したブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
【００２１】
オブジェクト検知部１０は、人物オブジェクトが映った動画像からRGB画像をフレーム単位で取得し、当該画像上で人物オブジェクトを検知する。本実施形態では、人物オブジェクトが存在しない環境下で撮影した背景画像を蓄積しておき、RGB画像と背景画像との差分が所定の閾値以上となる閉領域に基づいて人物オブジェクトが検知される。
【００２２】
オブジェクト分析部２０において、オブジェクト領域設定部２０１は、図２(a)に一例を示したように、検知された人物オブジェクトごとに、その輪郭に外接する矩形のオブジェクト領域を設定する。オブジェクトマスク生成部２０２は、同図(b)に示したように、オブジェクト領域ごとに各人物オブジェクトのマスクを生成する。
【００２３】
骨格生成部２０３は、同図(c)に示したように、オブジェクト領域ごとにオブジェクトマスクの幅を水平方向および垂直方向へ、太さが１画素の線になるまで徐々に狭めることで各人物オブジェクトの骨格Sを生成する。
【００２４】
データベース３０には、後述する頭部推定用のHoG（Histograms of Oriented Gradients）特徴量に関する教師データ３０１や、各身体パーツおよび各身体ジョイントの位置、姿勢を推定するための各種の推定パラメータ３０２が予め蓄積されている。
【００２５】
身体パーツ推定部４０は、図３に示したように、人物オブジェクトのモデルを複数の身体パーツBPおよび身体ジョイントBJの連結体として定義し、各身体パーツBPおよび各身体ジョイントBJの位置、姿勢を、予め定義された制約条件および推定ルールに従って推定する。
【００２６】
図４は、身体ジョイントの一覧を示した図であり、図５は、身体パーツの一覧を示した図である。本実施形態では、人物オブジェクトが１１個の身体ジョイントBJ0〜BJ10と１０個の身体パーツBP0〜BP9とを連結したモデルとして定義される。図３に示したように、各身体ジョイントBJは点で表現され、各身体パーツBPは長方形状のテンプレートで模擬される。なお、頭パーツ（BP0）のみは例外的に円形状のテンプレートで模擬される。
【００２７】
また、本実施形態では、各身体ジョイントBJ0〜BJ10と各身体パーツBP0〜BP9との連結状態を判断する際の連結条件が図６のテーブル形式で管理されており、各身体ジョイントBJ0〜BJ10と各身体パーツBP0〜BP9との連結は当該連結条件に拘束される。したがって、本実施形態では人物としてあり得ない連結となる推定結果を排除することができる。
【００２８】
各身体ジョイントBJiは、添字ｉを身体ジョイント識別子（i=0〜10）として、次式(1)のデータ構造で表される。
【００２９】
【数１】
2018147313.tif 000003
【００３０】
ここで、括弧{・}内のPi={x,y}は、オブジェクト画像における各身体ジョイントBJの位置を表す。BJi={BJj|0≦j≦10，j≠i}は、当該身体ジョイントBJiに連結している他の身体ジョイントBJjの集合である。BPi={BP0,BP1…BP9}は、次式(2)で示すような身体パーツBPの集合であり、添字ｋは各身体パーツの識別子である。
【００３１】
【数２】
2018147313.tif 000004
【００３２】
ここで、括弧{・}内のRk={x,y,w,h,θ}は、各身体パーツBPkを模擬する長方形テンプレートRkの位置／姿勢を表し、x,yが中心座標、wが幅、hが高さ、θが角度方向を表している。PUk={x,y}およびPLk={x,y}は、長方形テンプレートRkの上端点及び下端点であり、これに連結する身体ジョイントBJiの座標Pi={x,y}に対応する。
【００３３】
BPk={BPm|0≦m≦9,m≠k}は、各身体パーツBPkに連結する他の身体パーツBPmの集合である。いくつかの身体パーツBPでは、PUk={x,y}は対応する位置Piと同じ値である。例えば、BP2（右上腕）のPU2は右肩位置P2と同じである。
【００３４】
以下、説明を解り易くするために、各身体パーツBPkを模擬する長方形テンプレートRkの位置をRx,yk、幅をRwidthk、高さをRheightk、角度方向をRθkと表現する場合もある。
【００３５】
また、本実施形態では簡略化のため、各身体パーツBPkの長方形テンプレートRkに関して、幅のデフォルト値が予めセットされている。上腕および前腕（BP2，BP3，BP4，BP5）の各テンプレート幅Rwidthに関するデフォルト値は、次式(3)に示したように、胴体テンプレートの幅Rwidth1との関係で、ここでは1/4として定義される。
【００３６】
同様に、大腿および下腿（BP6, BP7, BP8, BP9)の各テンプレート幅Rwidthに関するデフォルト値は、次式(4)に示したように胴体テンプレートの幅Rwidth1との関係で、ここでは1/3として定義される。
【００３７】
【数３】
2018147313.tif 000005
【００３８】
【数４】
2018147313.tif 000006
【００３９】
2つの身体ジョイントが決定されると、図６に記載されるような、対応するBPのパラメータの値を容易に計算できる。例えば、BJ2（右肩）およびBJ3（右肘）の位置が決まれば、BP2（右上腕）のパラメータは次式(5)のように決定される。
【００４０】
【数５】
2018147313.tif 000007
【００４１】
ここで、HALF(BJ2，BJ3)は、位置P2，P3の中間座標であり、θBJ2,BJ3は位置P2，P3を結ぶ線分の角度である。
【００４２】
このような身体パーツ推定部４０において、頭推定部４０１は、図７に示したように、オブジェクトマスクの輪郭を対象に、予め学習した頭部のHoG（Histograms of Oriented Gradients）特徴量と類似する輪郭をフレーム画像内で、例えばラスタスキャン方向へ探索することで頭部を識別する。
【００４３】
本実施形態では、図８に示したように、4×4画素を1セルとして、その勾配強度と勾配方向との関係をヒストグラム化し、これをn×nセルごとに正規化することで特徴量を抽出する。そして、この特徴量が予め学習した頭部のHoGと一致すれば頭部の輪郭と推定する。
【００４４】
なお、探索時のマトリクスサイズnはオブジェクトサイズ、特に高さにHに依存し、次式(6)に従って適応的に設定される。
【００４５】
【数６】
2018147313.tif 000008
【００４６】
本実施形態では、頭部のテンプレートとして半径Rwidthの円形テンプレートを用い、上上端点PU0および下端点PL0が、いずれも次式(7)で計算される唯一の点P0に設定される。
【００４７】
【数７】
2018147313.tif 000009
【００４８】
ここで、MASKp,qは、実行ウィンドウが８行８列の行列で0,0から入力画像の幅と高さW、Hまで、入力画像のマスク境界のHoGの値をそれぞれ含んでいる。Δ(・)は、HEADtrainとMASKp,qのセル間のユークリッド距離である。P0には、ユークリッド距離が最小値となる画像内の位置が割り当てられる。
【００４９】
以上のようにして、頭部の識別が完了すると、当該頭部のP0を基準として各身体パーツおよび身体ジョイントの位置／姿勢が順次に推定される。本実施形態では、初めに胴体(BP1)が推定され、次いで、肩、臀、腕および脚の各パーツおよびジョイントが推定される。
【００５０】
胴体推定部４０２は、人物オブジェクトの首から骨格Sに沿って下方へ向かう直線を探索し、この直線に基づいて胴体パーツの大きさおよび方向を推定する。
【００５１】
ここでは頭部が既に定義されているので、骨格S=｛x,y｝は頭部を除く全身のマスクを表すことになる。ここで、x={x0，x1…xs}、x={y0，y1…ys}、s=1，2…σであり、σは骨格の最大サイズを表す。したがって、骨格S内の最上部で非ゼロピクセルの水平位置s(x,0)を首位置P1（これはPU1でもある）と定義できる。
【００５２】
ここで、首位置P1からマスクの最下部までを高さHとすると、オブジェクトの胴体長は3/8Hよりも長くないという仮定のもと、首位置P1から下方へ骨格Sに沿った3/8Hの範囲の直線を胴体の中心線とみなして胴体パーツBP1を推定する。
【００５３】
なお、長さ3/8Hの範囲内に骨格Sに相当する非ゼロピクセルが複数あるときは、それらの平均位置が骨格Sの水平位置S(x，3/8H)とされる。すなわち、骨格Sの水平位置xは次式(8)で表される。
【００５４】
【数８】
2018147313.tif 000010
【００５５】
上記のようにして、首ジョイントBJ1および胴体BP1の推定が完了すると、この推定結果を利用して、肩および腰の推定が肩推定部４０３において実行される。
【００５６】
肩推定部４０３は、左肩位置P2（右肩ジョイントBJ2の位置）および右肩位置P4（左肩ジョイントBJ4の位置）を見つけることで推定できる。
【００５７】
肩位置は、マスク境界と胴体パーツBP1の上端点PU1を通る水平線との交点として定義される。すなわち、右肩位置P2の推定は、首位置P1から胴体領域R1の境界をマスク境界に向かって、当該マスク境界と交差するまでトレースすることで推定される。同様に、左肩位置P4は、首位置P1から右肩位置P2とは反対方向へ胴体領域R1の境界線をトレースすることによって推定される。
【００５８】
臀推定部４０４は、左右の臀BJ7(P7)，BJ9(P9)を見つけることで推定を実行する。臀推定では、人体の構造に基づき臀部が左右の肩幅内に収まると仮定し、各臀BJ7(P7)，BJ9(P9)は左右の肩位置P2，P4に基づいて推定される。lBJ1,BJ2をP1からP2までの距離とし、θBJ1,BJ2をP1からP2への角度方向とすると、右臀位置P7の各座標は次式(9)で求められる。
【００５９】
【数９】
2018147313.tif 000011
【００６０】
同様に、lBJ1,BJ4をP1からP4までの距離とし、θBJ1,BJ4をP1からP4への角度方向とすれば、左臀位置P9の各座標は次式(10)で求められる。
【００６１】
【数１０】
2018147313.tif 000012
【００６２】
腕推定部４０５は、右肩位置P2に基づいて右肘BJ3、右上腕BP2および右前腕BP3を見つける。また、左肩位置P4に基づいて左肘BJ5、左上腕BP4および左前腕BP5を見つける。
【００６３】
右肩位置P2を右肩の身体ジョイントBJ2の位置とすれば、腕全体の長さは、右肩位置P2からマスクの最も右の位置（図面では、左の位置）までマスク境界をトレースすることによって予測できる。そして、当該位置をPbLEFTとすれば、右肩位置P2とPbLEFTとの距離lP2,PbLEFTを計算することにより、右上腕BP2および右前腕BP3を推定できる。
【００６４】
図９，１０，１１は、前記腕推定部４０５による腕推定の手順を模式的に示した図であり、図１２は、腕推定の手順を示したフローチャートである。
【００６５】
ステップＳ１では、次式(11)に基づいて、肩位置P2と当該肩位置P2からマスク境界に沿ってトレースしたときの最大トレース点PbLEFTとの距離lP2,PbLEFTが胴体長Rheight1の半分よりも長いか否かが判断される。
【００６６】
【数１１】
2018147313.tif 000013
【００６７】
図９，１０に示した例のように、上式(11)が成立するケースではステップＳ２へ進む。ステップＳ２では、P2とPbLEFTとの中点PHALFが求められる。ステップＳ３では、当該中点PHALFに最も近い骨格上の位置が探索される。
【００６８】
図９に示したように、骨格上の位置が見つかればステップＳ４へ進み、探索された骨格上の位置が肩位置P3とされる。また、右前腕BP3の下端点PL3としてPbLEFTが採用される。なお、図１０に示したように、骨格上の点が見つからなければステップＳ５へ進み、肩位置P3としてPHALFが採用され、PL3としてPbLEFTが採用される。
【００６９】
一方、図１１に示した例のように、上式(11)が成立しないケースではステップＳ６へ進み、P2，PbLEFT間の方向θP2, PbLEFTが計算される。ステップＳ７では、P3としてPbLEFTが採用される。ステップＳ８では、方向θP2, PbLEFTの反転確度θ'P2, PbLEFTが計算される。ステップＳ９では、Rheight3にRheight2がセットされる。ステップＳ１０では、次式(12)に基づいてPL3x，PL3yが計算される。
【００７０】
【数１２】
2018147313.tif 000014
【００７１】
上記の手順を左肩位置P4からBJ5，BP4およびBP5を推定する場合に適用すれば左上腕BP4および左前腕BP5も推定できる。
【００７２】
脚推定部４０６は、右脚に関して右膝BJ8，右大腿BP6および右下腿BP7を見つけ、左脚に関して左膝BJ10，左大腿BP8および左下腿BP9を見つけることで脚の位置／姿勢を推定する。
【００７３】
図１３，１４に示したように、臀ジョイントBJ7の位置をP7とすると、右膝BJ8は、位置P7から最も近いオブジェクトマスク境界上の位置から当該マスク境界を一番下の点PbMIN_LEFTまでトレースすることで推定できる。大腿部BP6および下腿部BP7は骨格Sの状態に基づいて以下の手順で推定される。
【００７４】
図１５は、図１３に示したように両脚の骨格が検知されている場合の推定手順を示したフローチャートである。
【００７５】
ステップＳ３１では、P7とPbMIN_LEFTとの中間点PHALFが求められる。ステップＳ３２では、中間点PHALFから線分P7−PbMIN_LEFTと垂直方向に最も近い骨格位置P'HALFが求められる。ステップＳ３３では、骨格位置P'HALFが右膝の位置P8とされ、PbMIN_LEFTが右下腿の下端点PL7とされる。
【００７６】
図１６は、図１４に示したように、脚部の骨格が1本しか認識されていない場合の推定手順を示したフローチャートであル。
【００７７】
ステップＳ４１では、P7とPbMIN_LEFTとの中間点PHALFが求められる。ステップＳ４２では、中間点PHALFから線分P7−PbMIN_LEFTと垂直方向に、マスク境界と骨格との中間位置P''HALFが求められる。ステップＳ４３では、中間位置P''HALFが右膝の位置P8とされ、PbMIN_LEFTが右下腿の下端点PL7とされる。同様の手法を、BJ9からBJ10，BP8およびBP10を求める場合にも適用できる。
【００７８】
本実施形態では、上記の各処理が、フレーム画像から抽出された全ての人物オブジェクトに対して繰り返され、全ての人物オブジェクトの姿勢が推定される。
【００７９】
なお、フレーム画像上の人物オブジェクトの大きさが極端に小さく、そのマスク形状や骨格が腕や脚の推定、あるいは頭部の位置推定に十分な情報を提供できない場合には、別のフレーム画像（参照フレーム）から同じ人物オブジェクトを抽出し、その姿勢を利用することが可能である。
【００８０】
単純化のために、2つの連続するフレーム内の人物オブジェクトが同様のサイズを有する場合、フレームf+1（現在フレーム）のポーズとしてフレームf（参照フレーム）のポーズのコピーを用いることができる。
【００８１】
一方、このような参照フレームが利用可能でない場合（例えば、姿勢推定が第1のフレームで実行されるか、またはオブジェクトが現在のフレームに現れた直後）、「デフォルトポーズ」がオブジェクトに注釈される。デフォルトの姿勢は、頭部の身体ジョイント位置を次式(13)で定義することによって決定される。
【００８２】
【数１３】
2018147313.tif 000015
【００８３】
ここで、nは、式で計算される近似されたヘッドマトリックスのサイズである。続いて、胴体領域の下半身BJ6は、前記胴体推定と同様の手順で推定できる。デフォルト姿勢での脚および腕の位置は、図１７に示すようにして決定される。ここで、腕および脚の長さは、前記腕推定および脚推定と同様の手順で決定される。
【符号の説明】
【００８４】
１０…オブジェクト検知部，２０…オブジェクト分析部，３０…データベース，４０…身体パーツ推定部，２０１…オブジェクト領域設定部，２０２…オブジェクトマスク生成部，２０３…骨格生成部，３０１…教師データ，３０２…推定パラメータ，４０１…頭識別部，４０２…胴体推定部，４０３…肩推定部，４０４…臀推定部，４０５…腕推定部，４０６…脚推定部
【図１】
2018147313.tif 000016
【図２】
2018147313.tif 000017
【図３】
2018147313.tif 000018
【図４】
2018147313.tif 000019
【図５】
2018147313.tif 000020
【図６】
2018147313.tif 000021
【図７】
2018147313.tif 000022
【図８】
2018147313.tif 000023
【図９】
2018147313.tif 000024
【図１０】
2018147313.tif 000025
【図１１】
2018147313.tif 000026
【図１２】
2018147313.tif 000027
【図１３】
2018147313.tif 000028
【図１４】
2018147313.tif 000029
【図１５】
2018147313.tif 000030
【図１６】
2018147313.tif 000031
【図１７】
2018147313.tif 000032