(57)【要約】【課題】対象者の姿勢が骨格モデルの生成精度に及ぼす影響を低減させる。【解決手段】取得部１１は、人の身体の各位置の位置情報を取得する。定義部１２は、取得部１１が位置情報を取得した各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、人の身体の領域内に測地線領域を定義する。分類部１３は、隣接する前記測地線領域の間の関係を表す数値に基づいて測地線領域を身体における腕の領域と当該腕の領域以外の胴体の領域とに分類する。第一作成部１４は、胴体の領域に分類された測地線領域内の各位置の位置情報から胴体部分の骨格モデルを作成する。第二作成部１５は、腕の領域に分類された測地線領域の各位置の位置情報から腕部分の骨格モデルを作成する。合成部１６は、胴体部分の骨格モデルと腕部分の骨格モデルとを合成する。【選択図】図５
2016106684.tif 000002
【特許請求の範囲】
【請求項１】
人の身体の各位置の位置情報を取得する取得部と、
前記取得部が位置情報を取得した前記各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、前記人の身体の領域内に測地線領域を定義する定義部と、
隣接する前記測地線領域の間の関係を表す数値に基づいて前記測地線領域を前記身体における腕の領域と前記腕の領域以外の胴体の領域とに分類する分類部と、
前記胴体の領域に分類された測地線領域内の前記各位置の位置情報から胴体部分の骨格モデルを作成する第一作成部と、
前記腕の領域に分類された測地線領域の前記各位置の位置情報から腕部分の骨格モデルを作成する第二作成部と、
前記胴体部分の骨格モデルと前記腕部分の骨格モデルとを合成する合成部と、
を有することを特徴とする骨格モデル作成装置。
【請求項２】
前記第一作成部は、前記胴体の領域に分類された測地線領域に含まれる前記各位置についての、前記特定の点を通り前記人の頭頂方向に向かう直線についての法線における前記胴体の領域に分類された測地線領域に含まれる部分の長さが最大となる線分を基準線としたときの測地線距離を算出し、算出された測地線距離の長さに応じて前記各位置をグルーピングして前記胴体の領域に測地線領域を再定義し、再定義された測地線領域から胴体部分の骨格モデルを作成することを特徴とする請求項１に記載の骨格モデル作成装置。
【請求項３】
前記第一作成部は、前記再定義された測地線領域のうちで、該測地線領域に基づいて得られる数値が所定値に満たない測地線領域を除外して前記骨格モデルの生成を行うことを特徴とする請求項２に記載の骨格モデル作成装置。
【請求項４】
前記第一作成部は、前記取得部が位置情報を取得していた位置であって前記腕の領域に分類された測地線領域には含まれていない該位置が前記除外の対象である測地線領域外の前記法線方向に存在する場合には、前記腕の領域に分類された測地線領域のうちの、該除外の対象である測地線領域と該位置との間に存在する領域部分を、該除外の対象である測地線領域に統合し、統合された測地線領域を用いて前記骨格モデルを生成することを特徴とする請求項３に記載の骨格モデル作成装置。
【請求項５】
前記定義部は、前記各位置のうち、前記胴体の領域に分類された測地線領域のうちで前記腕の領域に分類された測地線領域に接している測地線領域に含まれる各位置を、前記測地線距離に応じて改めてグルーピングすることによって、グルーピングされる測地線距離の範囲を狭くした測地線領域を再定義し、
前記分類部は、前記定義部によって再定義された測地線領域に対して前記分類を更に行う、
ことを特徴とする請求項１から４のうちのいずれか１項に記載の骨格モデル作成装置。
【請求項６】
前記取得部は、位置情報として所定位置からの球座標を取得した場合には、該球座標を、前記人の正面の所定位置からの三次元直交座標に変換することを特徴とする請求項１から５のうちのいずれか一項に記載の骨格モデル作成装置。
【請求項７】
人の身体の骨格モデルを作成する骨格モデル作成装置が、
人の身体の各位置の位置情報を取得し、
前記位置情報を取得した前記各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、前記人の身体の領域内に測地線領域を定義し、
隣接する前記測地線領域の間の関係を表す数値に基づいて前記測地線領域を前記身体における腕の領域と前記腕の領域以外の胴体の領域とに分類し、
前記胴体の領域に分類された測地線領域内の前記各位置の位置情報から胴体部分の骨格モデルを作成し、
前記腕の領域に分類された測地線領域の前記各位置の位置情報から腕部分の骨格モデルを作成し、
前記胴体部分の骨格モデルと前記腕部分の骨格モデルとを合成する、
ことを特徴とする骨格モデル作成方法。
【請求項８】
人の身体の骨格モデルを作成する処理をコンピュータに実行させるプログラムであって、
人の身体の各位置の位置情報を取得し、
前記位置情報を取得した前記各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、前記人の身体の領域内に測地線領域を定義し、
隣接する前記測地線領域の間の関係を表す数値に基づいて前記測地線領域を前記身体における腕の領域と前記腕の領域以外の胴体の領域とに分類し、
前記胴体の領域に分類された測地線領域内の前記各位置の位置情報から胴体部分の骨格モデルを作成し、
前記腕の領域に分類された測地線領域の前記各位置の位置情報から腕部分の骨格モデルを作成し、
前記胴体部分の骨格モデルと前記腕部分の骨格モデルとを合成する、
処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の状態や姿勢を検知する技術に関するものである。
【背景技術】
【０００２】
自動車産業において自動運転車の開発が本格化している。自動運転では、車載の自動運転システムによる運転と人（ドライバー）による手動運転とが切り替わるイベントが発生する。このような自動運転車において、運転を行う主体を自動運転システムから人へと切り替えるシーンにおいても、人の運転操作の準備が整っていないときには、運転主体の切り替えは行うべきではない。従って、自動運転システムは、運転主体の切り替えを行ってもよいかどうかを、人の状態や姿勢を検知して判断する必要がある。
【０００３】
人の状態や姿勢の検知に関し、幾つかの技術が知られている（例えば、特許文献１〜特許文献９及び非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２２１５９９号公報
【特許文献２】特開２０００−２５１０７８号公報
【特許文献３】特表２００５−５３５０３１号公報
【特許文献４】特開２００７−２１３０１５号公報
【特許文献５】特開２０１０−２２１０１５号公報
【特許文献６】特開２０１２−１２０６４７号公報
【特許文献７】特開２０１３−２５７８３０号公報
【特許文献８】特表２０１４−５２２０５８号公報
【特許文献９】国際公開第２０１２／０４６３９２号
【非特許文献】
【０００５】
【非特許文献１】唯野隆一、他２名、「測地線距離による高速かつロバストな三次元ビデオからのスケルトン抽出」、電子情報通信学会誌  Ｄ  情報・システム、一般社団法人電子情報通信学会、Ｖｏｌ．Ｊ９０−Ｄ、Ｎｏ．７、２００７年７月１日、ｐ．１７２９−１７３２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
人の状態や姿勢を検知する技術のひとつとして、対象者の身体各部の位置情報の計測結果から対象者の骨格モデルを生成して検知するという技術が知られている。この骨格モデルの生成において、位置情報の計測時における対象者の状態や姿勢によって適正な計測が行えない場合があり、この場合に生成された骨格モデルにずれや歪みが生じてしまうことがある。適正な計測が行えない場合とは、例えば、対象者が左右で非対称の姿勢にある場合や、対象者の身体各部の位置情報の計測時に、計測対象である対象者の身体の部分（例えば胴体）が当該対象者の身体の他の部分（例えば腕）に遮られている場合などである。前述した自動運転システムにおいて、人（ドライバー）の状態や姿勢の検知のために骨格モデルの生成を行う際には、上述したような適正な計測が行えない場合であっても、精度の良い骨格モデルの生成が望まれる。
【０００７】
本発明の１つの側面に係わる目的は、対象者の姿勢が骨格モデルの生成精度に及ぼす影響を低減させることである。
【課題を解決するための手段】
【０００８】
本明細書で後述する骨格モデル作成装置の態様のひとつに、取得部と、定義部と、分類部と、第一作成部と、第二作成部と、合成部とを有するというものがある。ここで、取得部は、人の身体の各位置の位置情報を取得する。定義部は、取得部が位置情報を取得した各位置を、該各位置の全てについての特定の点からの測地線距離に応じてグルーピングすることによって、人の身体の領域内に測地線領域を定義する。分類部は、隣接する前記測地線領域の間の関係を表す数値に基づいて測地線領域を身体における腕の領域と当該腕の領域以外の胴体の領域とに分類する。第一作成部は、胴体の領域に分類された測地線領域内の各位置の位置情報から胴体部分の骨格モデルを作成する。第二作成部は、腕の領域に分類された測地線領域の各位置の位置情報から腕部分の骨格モデルを作成する。合成部は、胴体部分の骨格モデルと腕部分の骨格モデルとを合成する。
【発明の効果】
【０００９】
上述の態様によれば、対象者の姿勢が骨格モデルの生成精度に及ぼす影響が低減する。
【図面の簡単な説明】
【００１０】
【図１】測地線の説明図である。
【図２】測地線距離を利用した人の骨格モデルの生成手法の説明図である。
【図３】骨格モデルの生成精度が低下する場合の第一の例である。
【図４】骨格モデルの生成精度が低下する場合の第二の例である。
【図５】骨格モデル作成装置の構成の一例である。
【図６】腕の測地線領域を分離して行われる胴体の骨格モデルの作成の説明図である。
【図７】骨格モデル作成装置の機器構成の一例である。
【図８】図７におけるコンピュータのハードウェア構成の一例である。
【図９】骨格モデル作成処理の処理内容を図解したフローチャートである。
【図１０】測地線領域定義・分類処理の処理内容を図解したフローチャートである。
【図１１】測地線領域定義・分類処理の解説図である。
【図１２】胴体部分骨格モデル作成処理の処理内容を図解したフローチャートである。
【図１３】基準線設定処理の説明図である。
【図１４】基準線設定処理により設定された基準線に基づく測地線距離の再定義例である。
【図１５】オクルージョンの影響を低減させる処理の説明図である。
【図１６】腕部分骨格モデル作成処理の処理内容を図解したフローチャートである。
【発明を実施するための形態】
【００１１】
人の骨格モデルを生成する手法のひとつに測地線距離を利用する手法がある。測地線とは、図１のように、開始線と開始線に隣接する測距点とを最短で結ぶ線分、及び、隣接する測距点間を結ぶ線分のことである。なお、図１の測地線の例は開始線から開始される場合を表しているが、開始線の代わりに開始点から開始されるものについても測地線と称される。ここで、測距点の測地線距離とは、その測距点に至るまでに開始線（開始点）から辿った測地線の累積距離のことである。
【００１２】
測地線距離を利用して行う人の骨格モデルの生成手法について、図２を参照しながら説明する。図２の（ａ）〜（ｆ）の各々には人の上体の像が模式的に描かれている。ここでは、この像表面に多数の測距点が定義されており、各測距点についての三次元位置情報が、デプスカメラ（Depth Camera）等を用いて予め得られているものとする。なお、各測距点の位置は、像表面上においてなるべく均等で偏りの少ないことが好ましい。
【００１３】
まず、（ａ）に示すように、開始点Ｘの設定が行われる。例えば、像表面の全測距点の重心（質量分布が均一であるとした場合の重心）の位置が求められ、その重心位置が開始点Ｘに設定される。
【００１４】
次に、（ｂ）に示すように、開始Ｘを通って人の頭方向に抜ける方向である頭頂方向の特定が行われる。具体的には、像表面の全測距点に対し主成分分析が行われて第一主成分が求められ、この第一主成分が頭頂方向として特定される。人の身体は縦長の形状であるので、ここでは、第一主成分が頭頂方向として近似されている。なお、簡易的には、例えば、開始線Ｘを通る鉛直線の上方の向きを頭頂方向としてもよい。
【００１５】
次に、（ｃ）に示すように、人の像領域内において開始点Ｘを通り頭頂方向と法線方向になる線分を算出し、この線分を基準線として設定し、設定された基準線を開始線として、像表面の全測距点の測地線距離を算出する。
【００１６】
次に、（ｄ）に示すように、測地線距離の値に応じ、測地線距離の値が所定範囲内である測距点同士がグルーピングされて測地線領域が形成される。（ｄ）は測地線領域Ａ0 〜Ａ13が形成されている様子が表されている。なお、ここで、測地線領域Ａ1 は、胴体部分の領域と両腕の付け根部分（肩の部分）の領域とを含む領域として形成されており、測地線領域Ａ2 は胴体部分の領域と頭部の付け根部分（顎の部分）の領域とを含む領域として形成されている。
【００１７】
次に、（ｅ）に示すように、各測地線領域について、測地線領域に含まれる全測距点の重心点Ｏn の位置が求められる。（ｄ）は、測地線領域Ａ0 〜Ａ13の各々について、重心点Ｏ0 〜Ｏ13が求められた様子が表されている。
【００１８】
次に、（ｅ）に示すように、測地線領域間の接続関係に沿って各測地線領域の重心点Ｏn 間が直線で連結されることによって、人の骨格モデルが生成される。（ｅ）において、例えば測地線領域Ａ1 は測地線領域Ａ0 、Ａ2 、Ａ8 、及びＡ11の各々と接しているので、重心点Ｏ1 は重心点Ｏ0 、Ｏ2 、Ｏ8 、及びＯ11の各々と直線で結ばれる。
【００１９】
測地線距離を利用して行う人の骨格モデルの生成は以上のようにして行われる。しかしながら、この手法では、骨格モデルの生成精度が低下する場合がある。このような場合の具体例について、図３及び図４を参照しながら説明する。
【００２０】
骨格モデルの生成精度が低下する場合の第一の例は、人の身体の姿勢が左右の対称性を大きく崩した姿勢の場合である。図３に描かれている人の像は、人が右腕を横に伸ばしながら、左腕を上方に上げている姿勢を表している。（ａ）は、この姿勢の場合において、前述したようにして基準線が設定された様子を表しており、（ｂ）は、この基準線に基づいて前述したようにして測地線領域が形成された様子を表している。このうちの測地線領域Ａ1 及びＡ2 に注目する。
【００２１】
図３に描かれている姿勢では、測地線領域Ａ1 は、胴体部分の領域と右腕の付け根部分（右肩の部分）の領域のみを含む領域として形成される。また、測地線領域Ａ2 は胴体部分の領域と頭部の付け根部分（顎の部分）とに加え、左腕の付け根部分（左肩の部分）の領域を更に含む領域として形成される。このため、（ｃ）で表されているように、測地線領域Ａ1 の重心点は右肩寄りに偏ってしまい、また、測地線領域Ａ2 の重心点Ｏ2 は左肩寄りに偏ってしまい、結果として、生成される骨格モデルに歪みが含まれることになってしまう。
【００２２】
骨格モデルの生成精度が低下する場合の第二の例は、人の身体の一部がその他の部分によってデプスカメラからの視界を遮り、いわゆるオクルージョン（occlusion）が生じる姿勢の場合である。図４に描かれている人の像は、人が右腕を横に伸ばしながら左腕を下方に降ろして胴体に押し付けている姿勢を表している。（ａ）は、この姿勢の場合において、前述したようにして基準線が設定された様子を表しており、（ｂ）は、この基準線に基づいて前述したようにして測地線領域が形成された様子を表している。このうちの測地線領域Ａ0 、Ａ5 、及びＡ6 に注目する。
【００２３】
図４に描かれている姿勢では、左腕によるオクルージョンにより、胴体部分に形成されている測地線領域Ａ0 、Ａ5 、及びＡ6 に含まれるはずである、（ｂ）の図における右側部分の多数の点についての位置情報が得られていない。このため、（ｃ）で表されているように、重心点Ｏ0 、Ｏ5 、及びＯ6 が図における左方向に偏ってしまい、結果として、生成される骨格モデルに歪みが含まれることになってしまう。このような歪みは、人の状態や姿勢の検知に影響を与えるため、低減することが好ましく、例えば実寸法に対して歪みを５センチメートル以内程度に留めることが好ましい。
【００２４】
これより説明する骨格モデル作成装置は、骨格モデルの生成において、このような、対象者の姿勢が生成精度に及ぼす影響を低減させる。
【００２５】
図５について説明する。図５は骨格モデル作成装置の構成の一例である。
図５の例において、測距装置１は、人の身体の各位置の位置情報を計測して、その計測結果を出力する。
【００２６】
骨格モデル作成装置１０は、取得部１１、定義部１２、分類部１３、第一作成部１４、第二作成部１５、及び合成部１６を備えている。
【００２７】
取得部１１は、測距装置１から出力される人の身体の各位置の位置情報を取得する。
定義部１２は、取得部１１が位置情報を取得した各位置を、特定の点、例えば当該各位置の全てについての重心点からの測地線距離に応じてグルーピングすることによって、人の身体の領域内に測地線領域を定義する。
【００２８】
分類部１３は、隣接する測地線領域の間の関係を表す数値、例えば境界線の長さに基づいて、定義部１２により定義された測地線領域を、人の身体における腕の領域と当該腕の領域以外の領域である胴体の領域とに分類する。
【００２９】
第一作成部１４は、分類部１３によって胴体の領域に分類された測地線領域内の各位置の位置情報から胴体部分の骨格モデルを作成する。
【００３０】
第二作成部１５は、分類部１３によって腕の領域に分類された測地線領域内の各位置の位置情報からから腕部分の骨格モデルを作成する。
【００３１】
合成部１６は、第一作成部１４によって作成された胴体部分の骨格モデルと、第二作成部１５によって作成された腕部分の骨格モデルとを合成することによって人の身体全体の骨格モデルを作成して出力する。図５の例においては、合成部１６によって作成された人の身体全体の骨格モデルは、自動運転システム２へ出力され、運転主体の切り替えを行ってもよいかどうかの判断のために用いられる。
【００３２】
上述した構成を有する骨格モデル作成装置１０によれば、測地線領域が人の身体における胴体の領域と、人の身体における腕の領域とに分類され、胴体の領域に分類された測地線領域から胴体部分の骨格モデルが作成される。従って、胴体の領域の測地線領域の左右の対称性が腕の位置によって著しく損なわれることがなくなるため、作成される骨格モデルに含まれる歪みが低減する。例えば、人が図３に描かれているような姿勢の状態であっても、第一作成部１４によって作成される胴体部分の骨格モデルは、図６に描かれているように、図３の（ｃ）のものと比べて歪みの少ないものとなる。
【００３３】
次に図７について説明する。図７は、骨格モデル作成装置の機器構成の一例を表している。図７の機器構成例では、レーザレーダ２０は、図５における測距装置１として機能し、人の身体の各位置の三次元位置情報を計測して、その計測結果を出力する。また、コンピュータ３０は図５における骨格モデル作成装置１０として機能する。なお、自動運転車のドライバーの骨格モデルの生成を行う際には、レーザレーダ２０は、例えば車内のルームミラーの付近に設置される。
【００３４】
次に図８について説明する。図８は、図７におけるコンピュータ３０のハードウェア構成の一例が図解されている。
【００３５】
Micro Processing Unit（ＭＰＵ）３１は、コンピュータ３０全体の動作を制御する演算処理装置である。
【００３６】
Read Only Memory（ＲＯＭ）３２は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。ＭＰＵ３１は、この基本制御プログラムをコンピュータ３０の起動時に読み出して実行することによって、コンピュータ３０の各構成要素の動作制御を行うようになる。
【００３７】
Random Access Memory（ＲＡＭ）３３は、ＭＰＵ３１が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。
【００３８】
ハードディスク装置３４は、ＭＰＵ３１によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。ＭＰＵ３１は、ハードディスク装置３４に記憶されている所定の制御プログラムを読み出して実行することによって、各種の制御処理を行うようになる。なお、ハードディスク装置３４は、例えば、半導体メモリを用いたSolid State Drive（ＳＳＤ）であってもよい。
【００３９】
入力装置３５は、例えばキーボード装置やマウス装置であり、例えば骨格モデル作成装置１０の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をＭＰＵ３１に送付する。
【００４０】
表示装置３６は例えば液晶ディスプレイであり、ＭＰＵ３１から送付される表示データに応じて各種のテキストや画像を表示する。
【００４１】
インタフェース装置３７は、このコンピュータ３０に接続される各種機器、例えば、測距装置１としてのレーザレーダ２０や、自動運転システム２との間での各種情報の授受の管理を行う。
【００４２】
記録媒体駆動装置３８は、可搬型記録媒体４０に記録されている各種の制御プログラムやデータの読み出しを行う装置である。ＭＰＵ３１は、可搬型記録媒体４０に記録されている所定の制御プログラムを、記録媒体駆動装置３８を介して読み出して実行することによって、後述する各種の制御処理を行うようにしてもよい。なお、可搬型記録媒体４０としては、例えばCompact Disc Read Only Memory（ＣＤ−ＲＯＭ）やDigital Versatile Disc Read Only Memory（ＤＶＤ−ＲＯＭ）、Universal Serial Bus（ＵＳＢ）規格のコネクタが備えられているフラッシュメモリなどがある。
【００４３】
なお、コンピュータ３０が備えている各構成要素はバスライン３９を介して接続されており、ＭＰＵ３１の管理の下で各種のデータの授受が送後に行われる。
【００４４】
このようなコンピュータ３０を骨格モデル作成装置１０として機能させるには、例えば、これより説明する骨格モデル作成処理をＭＰＵ３１に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置３４若しくは可搬型記録媒体４０に予め格納しておき、ＭＰＵ３１に所定の指示を与えてこの制御プログラムを読み出させて実行させるようにしておく。こうすることで、骨格モデル作成装置１０の構成要素である取得部１１、定義部１２、分類部１３、第一作成部１４、第二作成部１５、及び合成部１６が各々有している機能がコンピュータ３０で提供されるようになる。
【００４５】
以下、骨格モデル作成装置１０としてのコンピュータ３０のＭＰＵ３１によって行われる骨格モデル作成処理について説明する。図９は、骨格モデル作成処理の処理内容を図解したフローチャートである。
【００４６】
ＭＰＵ３１は、骨格モデル作成処理の実行開始の指示を受け取ると、Ｓ１０１において、インタフェース装置３７を制御して、骨格モデル生成の対象者の身体の各位置の位置情報を測距装置１から取得する処理を行う。
【００４７】
次に、ＭＰＵ３１は、Ｓ１０２において、取得した位置情報が球座標系の位置情報であるか、三次元直交座標系の位置情報であるかを判定する処理を行う。この判定処理は、例えば、測距装置１の種類に応じてコンピュータ３０の使用者によって予め与えられていた情報に基づいて行われる。ＭＰＵ３１は、この判定処理の判定結果がＹｅｓの場合にはＳ１０３に処理を進め、Ｎｏの場合にはＳ１０４に処理を進める。
【００４８】
ＭＰＵ３１は、Ｓ１０３において、球座標系の位置情報を、対象者の正面の所定位置からの三次元直交座標系の位置情報へ変換する処理を行う。球座標系の位置情報（ｒ，θ，φ）（但し、ｒ：距離、θ：方位角、φ：仰角）の三次元直交座標系（ｘ，ｙ，ｚ）の位置情報への変換は、例えば下記の式の計算を行えばよい。
ｘ＝ｒcosθcosφ
ｙ＝ｒcosθsinφ
ｚ＝ｒsinφ
【００４９】
なお、この計算によって得られる位置情報は、球座標系における半径ゼロの点を原点とする座標の情報であるので、対象者の正面の所定位置を原点とするのであれば、座標軸を必要に応じて平行移動・回転移動させればよい。
【００５０】
以上のＳ１０１からＳ１０３までの処理は、図５の構成例においては取得部１１によって行われる処理である。
【００５１】
次に、ＭＰＵ３１は、Ｓ１０４において、測地線領域の定義・分類処理を行う。この処理は、対象者の身体の領域内に測地線領域を定義すると共に、定義された測地線領域を身体における胴体の領域と腕の領域とに分類する処理であり、図５の構成例においては定義部１２及び分類部１３によって行われる処理である。この処理の詳細は後述する。
【００５２】
次に、ＭＰＵ３１は、Ｓ１０５において、胴体部分骨格モデル作成処理を行う。この処理は、胴体の領域に分類された測地線領域内の各位置の位置情報から胴体部分の骨格モデルを作成する処理であり、図５の構成例においては第一作成部１４によって行われる処理である。この処理の詳細は後述する。
【００５３】
次に、ＭＰＵ３１は、Ｓ１０６において、腕部分骨格モデル作成処理を行う。この処理は、腕の領域に分類された測地線領域内の各位置の位置情報から腕部分の骨格モデルを作成する処理であり、図５の構成例においては第二作成部１５によって行われる処理である。この処理の詳細は後述する。
【００５４】
次に、ＭＰＵ３１は、Ｓ１０７において、骨格モデル合成処理を行う。この処理は、Ｓ１０５の処理により作成された胴体部分の骨格モデルと、Ｓ１０６の処理により作成された腕部分の骨格モデルとを合成することによって、対象者の身体全体の骨格モデルを作成する処理である。この合成の処理では、胴体部分と腕部分との境界で隣接している測地線領域間の接続関係に沿って、当該隣接している測地線領域の重心点間を直線で結ぶ処理が行われる。
【００５５】
次に、ＭＰＵ３１は、Ｓ１０８において、Ｓ１０７の処理により作成された、対象者の身体全体の骨格モデルを出力する処理を行う。この骨格モデルの出力先は、図５の構成例の場合には自動運転システム２であり、この場合には、ＭＰＵ３１は、インタフェース装置３７を制御して骨格モデルを自動運転システム２へ出力する。なお、骨格モデルを例えば表示装置３６で表示するようにしてもよい。
【００５６】
以上のＳ１０７及びＳ１０８の処理は、図５の構成例においては合成部１６によって行われる処理である。
【００５７】
以上のＳ１０８の処理が完了すると、ＭＰＵ３１は図９の骨格モデル作成処理を終了する。
以上までの処理が骨格モデル作成処理である。
【００５８】
次に、図９のフローチャートにおけるＳ１０４の処理である、測地線領域定義・分類処理について説明する。図１０は、測地線領域定義・分類処理の処理内容を図解したフローチャートである。また、図１１は、この測地線領域定義・分類処理の解説図である。
【００５９】
この処理が開始されると、まず、ＭＰＵ３１は、Ｓ２０１において、基準点Ｘを設定する処理を行う。ここでは、位置情報を取得した対象者の身体の各位置の全てについての重心（質量分布が均一であるとした場合の重心）の位置を算出し、算出された重心位置に基準点Ｘを設定する処理が行われる。
【００６０】
次に、ＭＰＵ３１は、Ｓ２０２において、位置情報を取得した対象者の身体の各位置について、基準点Ｘからの測地線距離を算出する処理を行う。
【００６１】
次に、ＭＰＵ３１は、Ｓ２０３において、位置情報を取得した対象者の身体の各位置を、Ｓ２０２の処理により算出された測地線距離に応じてグルーピングすることによって、当該身体の領域内に測地線領域を定義する処理を行う。この処理では、例えば変数ｄを用い、対象者の身体の各位置を、測地線距離が０以上ｄ未満のグループ、ｄ以上２ｄ未満のグループ、２ｄ以上３ｄ未満のグループ、…、とグルーピングすることによって測地線領域を定義する。なお、以下の説明では、この変数ｄを領域間隔と称することとする。領域間隔ｄの初期値は予め設定しておく。
【００６２】
図１１の（ａ）は、人の身体の領域内に測地線領域が定義された様子を表しており、各測地線領域が、基準点Ｘを中心としてドーナツ状に分布している。なお、（ａ）では、定義された測地線領域の各々に対して、Ａ1 、Ａ2 、Ａ3 、…とインデックスを付している。なお、この（ａ）において、例えば領域Ａ3 、Ａ3 、及びＡ8 は、測地線距離が同等である領域ではあるが、人の身体の領域内で分離している領域であるので、ここでは別の領域として扱う。
【００６３】
次に、ＭＰＵ３１は、Ｓ２０４において、Ｓ２０３の処理により定義された測地線領域のうちの、隣接している測地線領域の間の境界線の長さを算出する処理を行う。そして、ＭＰＵ３１は、続くＳ２０５において、Ｓ２０４の処理により算出された境界線の長さに基づいて、Ｓ２０３の処理により定義された測地線領域を、身体における腕の領域と当該腕の領域以外の領域である胴体の領域とに分類する処理を行う。この分類の処理について説明する。
【００６４】
一般的に、人の身体の腕部分は胴体部分よりも細いので、上述の境界線の長さは、腕部分に位置しているものの方が胴体部分（頭部・脚部を含む）に位置しているものよりも顕著に短い。そこで、閾値を設定し、この閾値よりも境界線の長さが短い測地線領域は腕の領域に分類し、この閾値よりも境界線の長さが長い測地線領域は胴体の領域に分類する。
【００６５】
図１１の（ｂ）は、（ａ）に表されているように定義された測地線領域についての分類結果を表した表である。なお、この表において、「分類結果」の欄に罰印が表されている測地線領域は胴体の領域に分類されることを表しており、丸印が表されている測地線領域は腕の領域に分類されることを表している。
【００６６】
例えば、領域Ａ0 は、領域Ａ0 に関する境界線、すなわち、領域Ａ1 との間の境界線の長さに基づいて分類される。領域Ａ0 は、この長さが所定値よりも長いので、胴体の領域に分類される。
【００６７】
また、領域Ａ2 は、領域Ａ2 に関する境界線、すなわち、領域Ａ1 との間、領域Ａ3 との間、領域Ａ5 との間、及び領域Ａ8 との間の各境界線の合計の長さに基づいて分類される。領域Ａ2 は、この長さが所定値よりも長いので、胴体の領域に分類される。
【００６８】
一方、領域Ａ5 は、領域Ａ5 に関する境界線、すなわち、領域Ａ2 との間及び領域Ａ6 との間の各境界線の合計の長さに基づいて分類される。領域Ａ5 は、この長さが所定値よりも短いので、腕の領域に分類される。
【００６９】
なお、この分類の処理を、境界線の長さと所定値との大小比較の結果に基づいて行う代わりに、別の手法を用いてもよい。例えば、上述の測地線領域の境界線の長さを、前述の基準点Ｘからの測地線距離の順に並べたときの当該長さの変化の傾向に基づいて、測地線領域の分類を行うようにしてもよい。
【００７０】
図１１の（ｃ）は、（ａ）に表されているように定義された測地線領域の各々についての前述した境界線の長さを表したグラフである。このグラフの横軸は測地線領域を表しており、基準点Ｘからの測地線距離の近い順に、胴体部分から右腕部分にかけての領域を並べたものである。また、このグラフの縦軸は境界線の長さを表している。このグラフを参照すると、領域Ａ0 から領域Ａ2 にかけては境界線の長さが徐々に増加している（傾きの値が正である）のに対し、領域Ａ2 から領域Ａ5 にかけては境界線の長さが急激に減少している（傾きの値が負であって顕著に小さい）。そこで、この傾きの値と所定値との比較を行い、傾きの絶対値が所定値よりも大きいときには、このような境界線の長さの変化が生じた測地線領域の境界が、胴体の領域と腕の領域の境界であると判断して、測地線領域の分類を行う。このグラフの例では、基準点Ｘに近い領域Ａ0 、Ａ1 、及びＡ2 は胴体の領域に分類され、領域Ａ5 及びＡ6 は腕の領域に分類される。このようにして測地線領域の分類を行ってもよい。
【００７１】
また、この分類の処理を、隣接する前記測地線領域の間の境界線の長さに基づいて行う代わりに、両者間の関係を表す数値である、両者間の面積比や、両者間の法線方向の幅の比などに基づいて行うようにしてもよい。
【００７２】
図１０のフローチャートの説明を続ける。
ＭＰＵ３１は、Ｓ２０６において、前述した領域間隔ｄの値が、予め設定されている値よりも小さくなったか否かを判定する処理を行う。ＭＰＵ３１は、この判定処理の判定結果がＹｅｓの場合にはＳ２０９に処理を進め、Ｎｏの場合にはＳ２０７に処理を進める。
【００７３】
ＭＰＵ３１は、Ｓ２０７において、前述した領域間隔ｄの値を、予め設定される値だけ小さくする処理を行う。そして、続くＳ２０８において、胴体の領域に分類された測地線領域のうちで腕の領域に分類された測地線領域に接している測地線領域に含まれる各位置を、測地線距離に応じてグルーピングすることによって、測地線領域を再定義する処理を行う。但し、このＳ２０８の処理では、 Ｓ２０７の処理によって、領域間隔ｄの値がＳ２０３での定義処理で用いた値よりも小さくなっている。従って、Ｓ２０８の処理で再定義される測地線領域は、測地線距離の範囲が、Ｓ２０２の定義処理で定義された測地線距離におけるものよりも狭くなっている。ＭＰＵ３１は、このＳ２０８の処理の完了後はＳ２０４へ処理を戻し、再定義された測地線領域に対し、Ｓ２０４の領域境界線長算出の処理と、測地線領域分類処理を行う。
【００７４】
測地線領域として各位置をグルーピングする範囲が広い場合、すなわち、領域間隔ｄの値が大きい場合には、図１１の（ｄ）に表されているような、腕の一部分（腕の付け根部分）の位置が、胴体の領域に分類された測地線領域に含まれてしまうことがある。そこで、上述したＳ２０４からＳ２０８にかけての繰り返しの処理をＭＰＵ３１が行って、胴体の領域に分類された測地線領域のうち腕の領域に分類された測地線領域に接している測地線領域に含まれる各位置をグルーピングする範囲を階層的に狭めていく。このようにすることで、胴体の領域に分類された測地線領域に含まれてしまう腕の一部分の領域が少なくなる。
【００７５】
図１０のフローチャートの説明を更に続ける。
Ｓ２０９からＳ２１３にかけての処理は、上述した処理によって腕の領域に分類された測地線領域について、その分類が正しいか否かの判断を別の手法で行うための処理である。
【００７６】
前述したＳ２０８の処理によって腕の領域に分類された測地線領域のなかには、正しくは頭部の領域であるものや脚部の領域であるものも含まれてしまうことがある。このような測地線領域内の位置情報は、後述する胴体部分の骨格モデルの作成のために行われる、主成分分析を用いた頭頂方向の特定の精度に影響を及ぼすため、このような測地線領域は胴体の領域に分類することが好ましい。そこで、これより説明するＳ２０９以降の処理は、まず、胴体の領域に分類された測地線領域と腕の領域に分類された測地線領域との境界が重心点である基準点Ｘに対し鉛直線の方向に位置しているか否かを判定する。ここで、腕の領域に分類された測地線領域のうち当該境界が鉛直線の方向に位置していると判定されたものについては、正しくは頭部の領域若しくは脚部の領域であるものであるとみなし、その分類を胴体の領域へと変更する。
【００７７】
ＭＰＵ３１は、Ｓ２０９において、Ｓ２０８までの処理によって腕の領域に分類された測地線領域のうちから、胴体の領域に分類された測地線領域に接しているものを１つ選択する処理を行う。この処理により選択された測地線領域を腕候補領域と称することとする。
【００７８】
次に、ＭＰＵ３１は、Ｓ２１０において、Ｓ２０９の処理によって選択された腕候補領域と、当該腕候補領域に接している、胴体の領域に分類された測地線領域との境界が存在する位置の基準点Ｘに対する方向を算出する処理を行う。この処理では、例えば、骨格モデル生成の対象者の身体の各位置の位置情報のうちから、当該境界線上に隣接するものを選択し、選択された各位置の重心についての基準点Ｘに対する方向を算出し、この方向を当該境界が存在する位置の方向とする。
【００７９】
次に、ＭＰＵ３１は、Ｓ２１１において、Ｓ２１０の処理によって算出された境界が存在する位置の方向が、鉛直線の方向であるか否かを判定する処理を行う。この処理では、例えば、Ｓ２１０の処理により算出された方向と、鉛直線の方向との角度の差が所定の角度以下であるか否かを判定し、所定の角度以下である場合には、境界が存在する位置の方向が鉛直線の方向であるとの判定を下すようにする。ＭＰＵ３１は、この判定処理の判定結果がＹｅｓの場合にはＳ２１２に処理を進め、Ｎｏの場合にはＳ２１３に処理を進める。
【００８０】
ＭＰＵ３１は、Ｓ２１２において、直近に実行したＳ２０９の処理によって腕候補領域の分類を、腕の領域から胴体の領域へと変更する処理を行う。
【００８１】
続いて、ＭＰＵ３１は、Ｓ２１３において、Ｓ２０８までの処理によって腕の領域に分類された測地線領域のうちで胴体の領域に分類された測地線領域に接しているものの全てについて、Ｓ２０９以降の処理を完了したか否かを判定する処理を行う。ＭＰＵ３１は、この判定処理の判定結果がＹｅｓの場合には、図１０に表されている測地線領域定義・分類処理を終了して、処理を図９に表されている骨格モデル作成処理に戻す。一方、ＭＰＵ３１は、Ｓ２１３の判定処理の判定結果がＮｏの場合には、Ｓ２０９へ処理を戻し、未処理の腕候補領域について、Ｓ２０９からＳ２１２にかけての処理を行う。
【００８２】
以上までの処理が測地線領域定義・分類処理である。なお、この測地線領域定義・分類処理のうち、Ｓ２０１からＳ２０３までの処理及びＳ２０７からＳ２０８までの処理は、図５の構成例においては定義部１２によって行われる処理である。また、Ｓ２０４からＳ２０６までの処理及びＳ２０９からＳ２１３までの処理は、図５の構成例においては分類部１３によって行われる処理である。
【００８３】
次に、図９のフローチャートにおけるＳ１０５の処理である、胴体部分骨格モデル作成処理について説明する。図１２は、胴体部分骨格モデル作成処理の処理内容を図解したフローチャートである。
【００８４】
ＭＰＵ３１は、まず、Ｓ３０１において、図９のＳ１０１からＳ１０３までの処理によって位置情報が取得された各位置のうち、胴体の領域に分類された測地線領域に含まれる各位置の位置情報を用いて、身体の頭頂方向を算出する処理を行う。この処理では、胴体の領域に含まれる各位置に対し主成分分析を行い、得られた主成分を頭頂方向とする。なお、例えば、自動運転車の運転席に着座しているドライバーが対象者である場合には、頭頂方向は既知であるので、頭頂方向を予め設定しておいてもよい。ここで、図１０のＳ２０１の処理により設定した、対象者の身体の重心位置である基準点Ｘを通る、頭頂方向に向う線を、頭頂方向線と称することとする。
【００８５】
次に、ＭＰＵ３１は、Ｓ３０２において、頭頂方向線についての法線における、胴体の領域に分類された測地線領域に含まれる部分の長さが最大となる線分を検出して基準線に設定する処理を行う。次に、ＭＰＵ３１は、Ｓ３０３において、位置情報を取得した対象者の身体の胴体部分の各位置について、基準線からの測地線距離を算出する処理を行う。そして、続くＳ３０４において、位置情報を取得した対象者の身体の胴体部分の各位置を、Ｓ３０３の処理により算出された測地線距離に応じてグルーピングすることによって、当該身体の胴体の領域内に測地線領域を再定義する処理を行う。
【００８６】
ここで、Ｓ３０２の基準線設定処理について図１３を用いて説明する。ＭＰＵ３１は、頭頂方向線の法線を、胴体の領域に含まれている、例えば頭部から脚部の方向へ移動させながら、当該法線と胴体の領域の境界線との２つの交点を求め、この交点間の距離を算出する。そして、この距離が最大となったときの２つの交点を結ぶ線分を基準線に設定する。
【００８７】
図１４は、このようにして基準線を設定した場合に再定義される測地線領域の例を表している。Ｓ３０４の処理では、例えば定数ｗを用い、対象者の身体の胴体部分の各位置を、測地線距離が０以上ｗ未満のグループ、ｗ以上２ｗ未満のグループ、２ｗ以上３ｗ未満のグループ、…、とグルーピングすることによって測地線領域を再定義する。図１４において、領域Ｂ0 、Ｂ1 、…、Ｂ7 は、再定義された測地線領域を表している。これらの測地線領域の境界線に注目すると、これらの境界線は直線状となっている。このような形状を呈するのは、頭頂方向線についての法線における、胴体の領域に含まれる部分の長さが最大となる線分を基準線としたことによるものである。
【００８８】
例えば、基準線として、当該法線における、胴体の領域に含まれる部分の長さが最大ではない線分を設定した場合には、前述の境界線における図１４の左右端の部分が基準線に近づく方向に曲がった形状となり、各測地線領域は山型形状となる。このような形状の測地線領域について後述の処理で重心点を求めて骨格モデルの作成を行うと、骨格の中心線が大きく歪んでしまうことがある。これに対し、Ｓ３０２のようにして基準線を設定すれば、再定義された測地線領域について重心点を求めて作成される骨格モデルの歪みが抑制されるのである。
【００８９】
図１２のフローチャートの説明を続ける。
ＭＰＵ３１は、Ｓ３０５において、Ｓ３０４までの処理によって再定義された測地線領域のうちの１つを選択する処理を行う。そして、続くＳ３０６において、ＭＰＵ３１は、前述した法線における、選択された測地線領域に含まれる部分の長さが、予め設定されている所定値に満たないか否かを判定する処理を行う。ここで、ＭＰＵ３１は、Ｓ３０６の判定処理の判定結果がＹｅｓの場合にはＳ３０７に処理を進める。そして、Ｓ３０７において、ＭＰＵ３１は、Ｓ３０５において選択された測地線領域を、後述する、骨格モデルの作成のための重心点の算出の処理の対象から除外する処理を行う。一方、ＭＰＵ３１は、Ｓ３０６の判定処理の判定結果がＮｏの場合にはＳ３１０に処理を進める。
【００９０】
以上のＳ３０６及びＳ３０７処理は、前述したオクルージョンによって胴体の領域の一部の位置の位置情報が取得されていない場合に生成される骨格モデルに含まれる歪みを低減するために行われる処理である。この処理について、図１５を用いて説明する。
【００９１】
図１５の例では、測地線領域Ｂ0 、Ｂ1 、…、Ｂ8 のうちの領域Ｂ0 及びＢ1 については、前述した法線における測地線領域に含まれる部分の長さが、予め設定されている所定値よりも長い。一方、領域Ｂ2 からＢ8 については、前述した法線における測地線領域に含まれる部分の長さが当該所定値に満たない。従って、この場合には、ＭＰＵ３１は、領域Ｂ2 からＢ7 を、骨格モデルの作成のための重心点の算出の処理の対象から除外し、領域Ｂ0 及びＢ1 について、後述の重心点の算出の処理を実施する。従って、図１５に描かれている人の像のように、腕によるオクルージョンによって一部の位置の位置情報が取得されていない領域Ｂ2 、Ｂ3 、及びＢ4 については、骨格モデルの作成に関与しないので、作成される骨格モデルに含まれる歪みが低減する。
【００９２】
なお、図１５の例では、オクルージョンの影響を受けていない頭部方向の測地線領域である領域Ｂ5 、Ｂ6 、Ｂ7 、及びＢ8 についても、重心点の算出の処理の対象から除外されている。このような測地線領域が存在する場合に、この領域を重心点の算出の処理の対象から除外しないようにしてもよい。このようにするためには、例えば、対象者の身体の重心位置である基準点Ｘよりも頭頂方向に位置している測地線領域については、ＭＰＵ３１は、前述したＳ３０６の判定処理の対象としないようにして、直ちにＳ３１０に処理を進めるようにすればよい。
【００９３】
また、測地線領域を、骨格モデルの作成のための重心点の算出処理対象から除外するか否かの判定を、前述の法線における、選択された測地線領域に含まれる部分の長さに基づいて行う代わりに、測地線領域に基づいて得られる他の数値に基づき行うようにしてもよい。すなわち、例えば、この判定を、測地線領域の面積や、測地線領域についての前述の法線方向の幅などに基づき、これらの値が所定値に満たない測地線領域を除外して骨格モデルの生成を行うようにしてもよい。
【００９４】
ところで、図１５に描かれている姿勢では、測地線領域Ｂ3 は、図１５においての右側の端部が、矢印で指し示されているように、斜め下方向の姿勢である左腕から僅かに見えている。このような測地線領域Ｂ3 については、腕の領域のうちの測地線領域Ｂ3 を隠している領域部分中の位置を、測地線領域Ｂ3 にグルーピングし、その上で、測地線領域Ｂ3 については骨格モデルの作成のための重心点の算出の処理の対象とするようにしてもよい。このような腕の領域部分は、測地線領域Ｂ3 に対して十分に小さい。従って、作成する骨格モデルに求められている歪みの量が許容される場合には、このようにして腕の領域の一部を胴体の領域として扱って胴体部分の骨格モデルの作成に用いてもよい。
【００９５】
これより説明するＳ３０８及びＳ３０９の処理は、上述のように腕の領域の一部を胴体の領域として扱って胴体部分の骨格モデルの作成に用いるための処理である。
【００９６】
まず、ＭＰＵ３１は、Ｓ３０８において、Ｓ３０５の処理で選択された測地線領域から前述の法線の方向に、図９のＳ１０１からＳ１０３の処理によって位置情報を取得していた位置であって腕の領域には含まれない位置が存在するか否かを判定する処理を行う。ＭＰＵ３１は、ここで、Ｓ３０８の判定処理の判定結果がＹｅｓ場合にはＳ３０９に処理を進める。そして、Ｓ３０９において、ＭＰＵ３１は、まず、腕の領域に分類された測地線領域のうちの、Ｓ３０５の処理で選択された測地線領域と上述の位置との間に存在する領域部分を、当該選択された測地線領域に統合する処理を行う。続いて、ＭＰＵ３１は、統合された測地線領域を、前述したＳ３０７の処理によって除外した、後述する、骨格モデルの作成のための重心点の算出の処理の対象に戻す処理を行う。
【００９７】
なお、Ｓ３０８及びＳ３０９の処理を行わずに、Ｓ３０７の処理に続いてＳ３１０の処理を行うようにしてもよい。
【００９８】
次に、ＭＰＵ３１は、Ｓ３１０において、Ｓ３０４までの処理によって再定義された測地線領域の全てについて、Ｓ３０６以降の処理を完了したか否かを判定する処理を行う。ＭＰＵ３１は、この判定処理の判定結果がＹｅｓの場合には、Ｓ３１１に処理を進める。一方、ＭＰＵ３１は、Ｓ３１０の判定処理の判定結果がＮｏの場合には、Ｓ３０５へ処理を戻し、未処理の測地線領域について、Ｓ３０６からＳ３０９にかけての処理を行う。
【００９９】
次に、ＭＰＵ３１は、Ｓ３１１において、図９のＳ１０１からＳ１０３までの処理によって位置情報が取得された各位置のうち、測地線領域に含まれる各位置の重心点の位置を算出する処理を、重心点算出の対象とされている各測地線領域について行う。そして、続くＳ３１２において、ＭＰＵ３１は、測地線領域間の接続関係に沿って各測地線領域の重心点間を直線で連結することによって、人の胴体部分の骨格モデルを作成する処理を行う。なお、この処理において、重心点の算出の処理の対象から除外された測地線領域の部分については、例えば、当該領域に隣接する測地線領域の重心点から、頭頂方向線に平行な直線を描くことによって、擬似的な骨格とすることとする。
【０１００】
以上のＳ３１２の処理が完了すると、ＭＰＵ３１は、図１２に表されている胴体部分骨格モデル作成処理を終了して、処理を図９に表されている骨格モデル作成処理に戻す。
以上までの処理が胴体部分骨格モデル作成処理である。
【０１０１】
次に、図９のフローチャートにおけるＳ１０６の処理である、腕部分骨格モデル作成処理について説明する。図１６は、腕部分骨格モデル作成処理の処理内容を図解したフローチャートである。
【０１０２】
ＭＰＵ３１は、まず、Ｓ４０１において、腕の領域に分類された測地線領域と胴体の領域に分類された測地線領域との境界線を検出して基準線に設定する処理を行う。なお、対象者の姿勢により、例えば、対象者が腰に手を当てている姿勢においては、腕の領域に対して胴体の領域との間に境界線が複数検出される場合がある。このような場合には、例えば、複数検出された境界線のうちの１つを任意に選択して基準線に設定してもよい。
【０１０３】
次に、ＭＰＵ３１は、Ｓ４０２において、位置情報を取得した対象者の身体の腕部分の各位置について、基準線からの測地線距離を算出する処理を行う。そして、続くＳ４０３において、位置情報を取得した対象者の身体の腕部分の各位置を、Ｓ４０２の処理により算出された測地線距離に応じてグルーピングすることによって、当該身体の腕の領域内に測地線領域を再定義する処理を行う。
【０１０４】
次に、ＭＰＵ３１は、Ｓ４０４において、図９のＳ１０１からＳ１０３までの処理によって位置情報が取得された各位置のうち、測地線領域に含まれる各位置の重心点の位置を算出する処理を、再定義された各測地線領域について行う。そして、続くＳ４０５において、ＭＰＵ３１は、測地線領域間の接続関係に沿って各測地線領域の重心点間を直線で連結することによって、人の胴体部分の骨格モデルを生成する処理を行う。
【０１０５】
以上のＳ４０５の処理が完了すると、ＭＰＵ３１は、図１２に表されている腕部分骨格モデル作成処理を終了して、処理を図９に表されている骨格モデル作成処理に戻す。
以上までの処理が腕部分骨格モデル作成処理である。
【０１０６】
骨格モデル作成装置１０は、以上のようにして対象者の身体の骨格モデルを生成する。この骨格モデルの生成は、身体の領域を胴体の領域と腕の領域とに分けて骨格モデルを生成してから両者を合成することによって行われるので、腕の姿勢に起因する骨格ラインの歪みが軽減される。また、胴体の領域の骨格モデルの生成では、頭頂方向線についての法線における、胴体の領域に含まれる部分の長さが最大となる線分を基準線に基づいて定義した測地線領域から骨格モデルを生成する。このようにすることで、測地線領域における山型形状の歪みが抑制されて、骨格ラインの歪みが軽減される。更に、胴体の領域の骨格モデルの生成では、上述の法線における測地線領域に含まれる部分の長さが所定値に満たない場合に当該測地線領域を、骨格モデルの作成のための重心点の算出の処理の対象から除外する。このようにすることで、オクルージョンによって骨格ラインに生じることがある歪みが軽減される。従って、骨格モデル作成装置１０で対象者の身体の骨格モデルを生成することで、対象者の姿勢が骨格モデルの生成精度に及ぼす影響が低減される。
【０１０７】
以上記載した各実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
人の身体の各位置の位置情報を取得する取得部と、
前記取得部が位置情報を取得した前記各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、前記人の身体の領域内に測地線領域を定義する定義部と、
隣接する前記測地線領域の間の関係を表す数値に基づいて前記測地線領域を前記身体における腕以外の胴体の領域と腕の領域とに分類する分類部と、
前記胴体の領域に分類された測地線領域内の前記各位置の位置情報から胴体部分の骨格モデルを作成する第一作成部と、
前記腕の領域に分類された測地線領域の前記各位置の位置情報から腕部分の骨格モデルを作成する第二作成部と、
前記胴体部分の骨格モデルと前記腕部分の骨格モデルとを合成する合成部と、
を有することを特徴とする骨格モデル作成装置。
（付記２）
前記第一作成部は、前記胴体の領域に分類された測地線領域に含まれる前記各位置についての、前記特定の点を通り前記人の頭頂方向に向かう直線についての法線における前記胴体の領域に分類された測地線領域に含まれる部分の長さが最大となる線分を基準線としたときの測地線距離を算出し、算出された測地線距離の長さに応じて前記各位置をグルーピングして前記胴体の領域に測地線領域を再定義し、再定義された測地線領域から胴体部分の骨格モデルを作成することを特徴とする付記１に記載の骨格モデル作成装置。
（付記３）
前記第一作成部は、前記再定義された測地線領域のうちで、該測地線領域に基づいて得られる数値が所定値に満たない測地線領域を除外して前記骨格モデルの生成を行うことを特徴とする付記２に記載の骨格モデル作成装置。
（付記４）
前記第一作成部は、前記取得部が位置情報を取得していた位置であって前記腕の領域に分類された測地線領域には含まれていない該位置が前記除外の対象である測地線領域外の前記法線方向に存在する場合には、前記腕の領域に分類された測地線領域のうちの、該除外の対象である測地線領域と該位置との間に存在する領域部分を、該除外の対象である測地線領域に統合し、統合された測地線領域を用いて前記骨格モデルを生成することを特徴とする付記３に記載の骨格モデル作成装置。
（付記５）
前記定義部は、前記各位置のうち、前記胴体の領域に分類された測地線領域のうちで前記腕の領域に分類された測地線領域に接している測地線領域に含まれる各位置を、前記測地線距離に応じて改めてグルーピングすることによって、グルーピングされる測地線距離の範囲を狭くした測地線領域を再定義し、
前記分類部は、前記定義部によって再定義された測地線領域に対して前記分類を更に行う、
ことを特徴とする付記１から４のうちのいずれか１項に記載の骨格モデル作成装置。
（付記６）
前記取得部は、位置情報として所定位置からの球座標を取得した場合には、該球座標を、前記人の正面の所定位置からの三次元直交座標に変換することを特徴とする付記１から５のうちのいずれか一項に記載の骨格モデル作成装置。
（付記７）
前記分類部は、前記境界線の長さを前記基準点からの前記測地線距離の順に並べたときの該長さの変化の傾向に基づいて前記分類を行うことを特徴とする付記１から６のうちのいずれか一項に記載の骨格モデル作成装置。
（付記８）
前記分類部は、前記胴体の領域に分類された測地線領域と前記腕の領域に分類された測地線領域との境界が、前記取得部が位置情報を取得した前記各位置の全てについての重心点に対し鉛直線の方向に位置しているのか否かを判定し、前記腕の領域に分類された測地線領域のうち該境界が鉛直線方向に位置していると判定されたものについて、前記分類を前記胴体の領域へと変更することを特徴とする付記７に記載の骨格モデル作成装置。
（付記９）
人の身体の骨格モデルを作成する骨格モデル作成装置が、
人の身体の各位置の位置情報を取得し、
前記位置情報を取得した前記各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、前記人の身体の領域内に測地線領域を定義し、
隣接する前記測地線領域の間の関係を表す数値に基づいて前記測地線領域を前記身体における腕の領域と前記腕の領域以外の胴体の領域とに分類し、
前記胴体の領域に分類された測地線領域内の前記各位置の位置情報から胴体部分の骨格モデルを作成し、
前記腕の領域に分類された測地線領域の前記各位置の位置情報から腕部分の骨格モデルを作成し、
前記胴体部分の骨格モデルと前記腕部分の骨格モデルとを合成する、
ことを特徴とする骨格モデル作成方法。
（付記１０）
人の身体の骨格モデルを作成する処理をコンピュータに実行させるプログラムであって、
人の身体の各位置の位置情報を取得し、
前記位置情報を取得した前記各位置を、特定の点からの測地線距離に応じてグルーピングすることによって、前記人の身体の領域内に測地線領域を定義し、
隣接する前記測地線領域の間の関係を表す数値に基づいて前記測地線領域を前記身体における腕の領域と前記腕の領域以外の胴体の領域とに分類し、
前記胴体の領域に分類された測地線領域内の前記各位置の位置情報から胴体部分の骨格モデルを作成し、
前記腕の領域に分類された測地線領域の前記各位置の位置情報から腕部分の骨格モデルを作成し、
前記胴体部分の骨格モデルと前記腕部分の骨格モデルとを合成する、
処理をコンピュータに実行させることを特徴とするプログラム。
【符号の説明】
【０１０８】
１  測距装置
２  自動運転システム
１０  骨格モデル作成装置
１１  取得部
１２  定義部
１３  分類部
１４  第一作成部
１５  第二作成部
１６  合成部
２０  レーザレーダ
３０  コンピュータ
３１  ＭＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
３４  ハードディスク装置
３５  入力装置
３６  表示装置
３７  インタフェース装置
３８  記録媒体駆動装置
３９  バスライン
４０  可搬型記録媒体
【図１】
2016106684.tif 000003
【図２】
2016106684.tif 000004
【図３】
2016106684.tif 000005
【図４】
2016106684.tif 000006
【図５】
2016106684.tif 000007
【図６】
2016106684.tif 000008
【図７】
2016106684.tif 000009
【図８】
2016106684.tif 000010
【図９】
2016106684.tif 000011
【図１０】
2016106684.tif 000012
【図１１】
2016106684.tif 000013
【図１２】
2016106684.tif 000014
【図１３】
2016106684.tif 000015
【図１４】
2016106684.tif 000016
【図１５】
2016106684.tif 000017
【図１６】
2016106684.tif 000018