JPWO2018207282A1 - 対象物認識方法、装置、システム、プログラム - Google Patents

対象物認識方法、装置、システム、プログラム Download PDF

Info

Publication number
JPWO2018207282A1
JPWO2018207282A1 JP2019516792A JP2019516792A JPWO2018207282A1 JP WO2018207282 A1 JPWO2018207282 A1 JP WO2018207282A1 JP 2019516792 A JP2019516792 A JP 2019516792A JP 2019516792 A JP2019516792 A JP 2019516792A JP WO2018207282 A1 JPWO2018207282 A1 JP WO2018207282A1
Authority
JP
Japan
Prior art keywords
parameter
time
unit
parts
point
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.)
Granted
Application number
JP2019516792A
Other languages
English (en)
Other versions
JP6996557B2 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2018207282A1 publication Critical patent/JPWO2018207282A1/ja
Application granted granted Critical
Publication of JP6996557B2 publication Critical patent/JP6996557B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • 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/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • 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
    • 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/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

3次元の位置情報を得るセンサから、複数の関節を有する対象物の表面に係る点群データを取得し、前記対象物の複数の部位のそれぞれの位置及び軸方向を表す第1パラメータであって、第1時点での第1パラメータを導出又は取得し、前記第1時点より後の第2時点での前記点群データと、前記第1時点での前記第1パラメータと、軸を有する幾何モデルとに基づいて、前記第2時点での前記第1パラメータを導出することを含む、コンピュータにより実行される対象物認識方法が開示される。

Description

本開示は、対象物認識方法、対象物認識装置、対象物認識システム、及び対象物認識プログラムに関する。
人など対象物の表面に点在する点群データに基づいて、対象物の骨格を追跡する技術が知られている(例えば、非特許文献1参照)。この技術では、点群データの分布に対し、混合ガウス分布を仮定し、かつ各ガウス分布の中心(特徴点)が対象物の表面に固定されていると仮定し、かかる仮定の下で、フレームごとに、特徴点を追跡することで、対象物の骨格を追跡している。
しかしながら、上記のような従来技術では、フレームごとに、特徴点のずれを補正する反復計算が必要であるので、計算負荷が比較的高いという問題がある。例えば、上記のような従来技術では、毎フレーム10回以上の反復計算を実施するとすると、GPU(Graphics Processing Unit)を駆使しても30fpsが限度であると予測される。
そこで、1つの側面では、本発明は、比較的低い計算負荷で対象物の関節又は骨格を精度良く認識することを目的とする。
本開示の一局面によれば、3次元の位置情報を得るセンサから、複数の関節を有する対象物の表面に係る点群データを取得し、
前記対象物の複数の部位のそれぞれの位置及び軸方向を表す第1パラメータであって、第1時点での第1パラメータを導出又は取得し、
前記第1時点より後の第2時点での前記点群データと、前記第1時点での前記第1パラメータと、軸を有する幾何モデルとに基づいて、前記第2時点での前記第1パラメータを導出することを含む、コンピュータにより実行される対象物認識方法が提供される。
本開示によれば、比較的低い計算負荷で対象物の関節又は骨格を精度良く認識することが可能となる。
一実施例による対象物認識システムの概略構成を模式的に示す図である。 対象物認識装置のハードウェア構成の一例を示す図である。 対象物認識装置の機能の一例を示すブロック図である。 関節モデルの一例の説明図である。 EMアルゴリズム部124による導出結果を模式的に示す図である。 長さ算出部128による半値全幅による決定方法の説明用の概略フローチャートである。 対象物認識システム1の全体動作の一例を示す概略フローチャートである。 部位認識処理の一例を示す概略フローチャートである。 対象物認識システムによる処理の説明図である。 対象物認識システムによる処理の説明図である。 χkl'の説明図である。 χkl'の説明のための部位へ番号の割り当て例を示す図である。 全体動作の一例の概略フローチャートである。 微小フィッティング処理の一例の概略フローチャートである。
以下、添付図面を参照しながら各実施例について詳細に説明する。本明細書において、特に言及しない限り、「あるパラメータ(例えば後述のパラメータθ)を導出する」とは、「該パラメータの値を導出する」ことを意味する。
図1は、一実施例による対象物認識システム1の概略構成を模式的に示す図である。図1には、説明用に、対象者S(対象物の一例)が示されている。
対象物認識システム1は、距離画像センサ21と、対象物認識装置100とを含む。
距離画像センサ21は、対象者Sの距離画像を取得する。例えば、距離画像センサ21は、3次元画像センサであり、空間全体のセンシングを行って距離を計測し、デジタル画像のように画素毎に距離情報を持つ距離画像(点群データの一例)を取得する。距離情報の取得方式は任意である。例えば、距離情報の取得方式は、特定のパターンを対象に投影してそれをイメージセンサで読み取り、投影パターンの幾何学的な歪みから三角測量の方式により距離を取得するアクティブステレオ方式であってもよい。また、レーザー光を照射してイメージセンサで反射光を読み取り、その位相のずれから距離を計測するTOF(Time-of-Flight)方式であってもよい。
尚、距離画像センサ21は、位置が固定される態様で設置されてもよいし、位置が可動な態様で設置されてもよい。
対象物認識装置100は、距離画像センサ21から得られる距離画像に基づいて、対象者Sの関節や骨格を認識する。この認識方法については、後で詳説する。対象者Sは、人や人型のロボットであり、複数の関節を有する。以下では、一例として、対象者Sは、人であるものとする。対象者Sは、用途に応じて、特定の個人であってもよいし、不特定の人であってもよい。例えば、用途が体操等の競技時の動きの解析である場合、対象者Sは、競技選手であってよい。尚、用途が、体操やフィギュアスケート等の競技時のような激しい動き(高速かつ複雑な動作)を解析する場合、距離画像センサ21は、好ましくは、図1に模式的に示すように、対象者Sの3次元形状に近い点群データが得られるように、複数個設置される。
対象物認識装置100は、距離画像センサ21に接続されるコンピュータの形態で実現されてもよい。対象物認識装置100と距離画像センサ21との接続は、有線による通信路、無線による通信路、又はこれらの組み合わせで実現されてよい。例えば、対象物認識装置100が距離画像センサ21に対して比較的遠隔に配置されるサーバの形態である場合、対象物認識装置100は、ネットワークを介して距離画像センサ21に接続されてもよい。この場合、ネットワークは、例えば、携帯電話の無線通信網、インターネット、World Wide Web、VPN(virtual private network)、WAN(Wide Area Network)、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでもよい。他方、対象物認識装置100が距離画像センサ21に対して比較的近傍に配置される場合、無線による通信路は、近距離無線通信、ブルーツース(登録商標)、Wi−Fi(Wireless Fidelity)等により実現されてもよい。また、対象物認識装置100は、異なる2つ以上の装置(例えばコンピュータやサーバ等)により協動して実現されてもよい。
図2は、対象物認識装置100のハードウェア構成の一例を示す図である。
図2に示す例では、対象物認識装置100は、制御部101、主記憶部102、補助記憶部103、ドライブ装置104、ネットワークI/F部106、入力部107を含む。
制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力部107や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。制御部101は、例えばCPU(Central Processing Unit)やGPUを含んでよい。
主記憶部102は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部101が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部103は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
ドライブ装置104は、記録媒体105、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
記録媒体105は、所定のプログラムを格納する。この記録媒体105に格納されたプログラムは、ドライブ装置104を介して対象物認識装置100にインストールされる。インストールされた所定のプログラムは、対象物認識装置100により実行可能となる。
ネットワークI/F部106は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器と対象物認識装置100とのインターフェースである。
入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやスライスパット等を有する。入力部107は、音声入力やジェスチャー等の他の入力方法に対応してもよい。
尚、図2に示す例において、以下で説明する各種処理等は、プログラムを対象物認識装置100に実行させることで実現することができる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105を対象物認識装置100に読み取らせて、以下で説明する各種処理等を実現させることも可能である。なお、記録媒体105は、様々なタイプの記録媒体を用いることができる。例えば、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体105には、搬送波は含まれない。
図3は、対象物認識装置100の機能の一例を示すブロック図である。
対象物認識装置100は、データ入力部110(取得部の一例)と、1シーン骨格認識部120(パラメータ導出/取得部の一例)と、幾何モデルデータベース140(図3では、"幾何モデルDB"と表記)とを含む。また、対象物認識装置100は、キャリブレーション情報記憶部142と、微小フィッティング処理部150(導出処理部の一例)と、出力部160とを含む。データ入力部110、1シーン骨格認識部120、微小フィッティング処理部150、及び出力部160は、図2に示す制御部101が主記憶部102に記憶された1つ以上のプログラムを実行することで実現できる。幾何モデルデータベース140は、図2に示す補助記憶部103により実現されてよい。また、キャリブレーション情報記憶部142は、図2に示す主記憶部102(例えばRAM)により実現されてよい。尚、対象物認識装置100の機能の一部は、距離画像センサ21に内蔵されうるコンピュータにより実現されてもよい。
データ入力部110には、距離画像センサ21から距離画像(以下、「点群データ」と称する)が入力されるとともに、使用する関節モデルが入力される。点群データは、上述のとおりであり、例えばフレーム周期毎に入力されてよい。また、複数の距離画像センサ21が用いられる場合は、点群データは、複数の距離画像センサ21からの距離画像の集合を含んでよい。
使用する関節モデルは、対象者Sに係る任意のモデルであり、例えば、複数の関節と、関節間の骨格(リンク)とで表されるモデルである。本実施例では、一例として、図4に示すような関節モデルが用いられる。図4に示すような関節モデルは、頭部が1つ、胴部(胴体部)、両腕部、及び両脚部がそれぞれ3つの関節を持つ16関節モデルであり、頭部は両端が関節として規定され、その他は両端及び中点の3つが関節として規定される。具体的には、16個の関節a0〜a15と、関節間を繋ぐ15個の骨格b1〜b15(又は「部位b1〜b15」とも称する)とからなる。尚、理解できるように、例えば関節a4,a7は、左右の肩の関節であり、関節a2は、頸椎に係る関節である。また、関節a4,a7は、左右の股関節であり、関節a0は、腰椎に係る関節である。このような関節モデルでは、股関節に係る骨格b14、b15や、肩の関節に係る骨格b4、b7は、後述の幾何モデルを用いたフィッティングだけでは精度良く認識できない骨格(以下、「隠れた骨格」とも称する)となる。また、以下の説明において、関節や部位に関する位置関係について、「祖先」とは、体の中心に近い側を指し、「子孫」とは、体の中心から遠い側を指す。
1シーン骨格認識部120は、ある一時点(一シーン)に係る対象者Sの点群データに基づいて、1シーン骨格認識処理を行う。1シーン骨格認識処理は、ある一時点(一シーン)に係る対象者Sの点群データに対して、幾何モデルを用いたフィッティングを行うことで、フィッティング結果であるキャリブレーション情報を生成することを含む。幾何モデルを用いたフィッティングの方法は、キャリブレーション情報の生成方法とともに後述する。以下では、1シーン骨格認識部120によってキャリブレーション情報が生成される時点を、「キャリブレーション実施時点」と称する。キャリブレーション実施時点は、初回の1時点であってもよいし、所定時間ごとや、所定の条件が成立する場合に到来してもよい。
1シーン骨格認識部120は、キャリブレーション情報を生成すると、生成したキャリブレーション情報をキャリブレーション情報記憶部142に記憶する。
尚、1シーン骨格認識部120での処理は、後述の微小フィッティング処理部150での処理に比べて処理負荷が有意に高い。従って、対象物認識装置100の処理能力に依存するが、キャリブレーション情報の生成には、フレーム周期よりも長い時間がかかる場合もあり得る。この場合は、微小フィッティング処理部150による処理が開始できる状態となるまで(即ちキャリブレーション情報の生成が完了するまで)、対象者Sに、しばらく静止してもらう等の措置が取られてよい。
微小フィッティング処理部150は、キャリブレーション実施時点以後のある一時点(一シーン)に係る対象者Sの点群データと、キャリブレーション情報記憶部142内のキャリブレーション情報とに基づいて、対象者Sの骨格情報を生成する。微小フィッティング処理部150は、幾何モデルを用いた微小フィッティング処理により、対象者Sの骨格情報を生成する。微小フィッティング処理の方法は後述する。骨格情報は、関節a0〜a15の各位置を特定できる情報を含んでもよい。また、骨格情報は、骨格b1〜b15の位置や、向き、太さを特定できる情報を含んでもよい。骨格情報の用途は任意であるが、次のフレーム周期における同骨格情報の導出に利用されてもよい。また、骨格情報は、最終的には、体操等の競技時の対象者Sの動きの解析に利用されてもよい。例えば体操の競技時の対象者Sの動きの解析では、骨格情報に基づく技の認識が実現されてもよい。また、他の用途としては、作業者を想定する対象者Sの動きを解析して、ロボットプログラムに利用されてもよい。或いは、ジェスチャーによるユーザインターフェースや、個人の識別、熟練技術の定量化などに利用することもできる。
出力部160は、表示装置等(図示せず)に、対象者Sの骨格情報(図3では、"認識結果"と表記)を出力する。例えば、出力部160は、フレーム周期ごとに、略リアルタイムに、対象者Sの骨格情報を出力してもよい。この場合、キャリブレーション実施時点では、出力部160は、キャリブレーション情報に基づく対象者Sの骨格情報を出力し、非キャリブレーション実施時点では、微小フィッティング処理部150からの対象者Sの骨格情報を出力してもよい。或いは、対象者Sの動きの解説用などでは、出力部160は、非リアルタイムで、骨格情報を時系列に出力してもよい。
本実施例によれば、上述のように、1シーン骨格認識部120による幾何モデルを用いたフィッティング結果(キャリブレーション情報)に基づいて、微小フィッティング処理部150が微小フィッティング処理を行うことで、対象者Sの骨格情報を生成できる。これにより、1シーン骨格認識部120による幾何モデルを用いたフィッティングをフレームごとに実行する場合に比べて、計算負荷が低減するので、比較的低い計算負荷で対象物の関節又は骨格を精度良く認識できる。これにより、体操やフィギュアスケートなど、高速かつ複雑な動作の解析等にも適用可能となる。
以下、1シーン骨格認識部120、及び,微小フィッティング処理部150について、順に更に説明する。
[1シーン骨格認識部]
1シーン骨格認識部120は、クラスタリング部122と、EMアルゴリズム部124と、モデル最適化部126と、長さ算出部128とを含む。また、対象物認識装置100は、更に、部位認識部130と、骨格整形部132と、キャリブレーション情報生成部134とを含む。
クラスタリング部122は、データ入力部110に入力される点群データをクラスタリングして、クラスター毎にフィッティングを行って初期あてはめ結果(後述の幾何モデルを用いたフィッティングに用いる初期値)を取得する。クラスタリング手法としては、Kmeans++法などを用いることができる。尚、クラスタリング部122に与えられるクラスター数は、手動による入力でもよいが、骨格モデルに応じた所定数が用いられてもよい。骨格モデルに応じた所定数は、例えば、骨格モデルに係る部位の総数から、隠れた骨格に係る部位の数を引いた値である。即ち、図4に示す16関節(15部位)モデルの場合、4部位が隠れた骨格となるため、最初のクラスター数である所定数は"11"である。この場合、クラスタリングによるフィッティング結果に応じて、モデルの一部が棄却される。棄却方法としては、モデルで説明できる点群データの数の期待値である事後分布のデータ和に対して閾値を設定し、閾値以下のモデルを棄却する方法が用いられてよい。棄却数が決まると、クラスタリング部122は、再びそのクラスター数でフィッティングを行うことで、後述の幾何モデルを用いたフィッティングに用いる初期値を得ることができる。
尚、変形例では、クラスタリング部122に代えて、機械学習部が用いてフィッティングに用いる初期値が取得されてもよい。この場合、機械学習部は、データ入力部110に入力される点群データに基づいて、15部位についてラベル分け(部位認識)を行う。機械学習方式としてランダムフォレストを用い、特徴量として注目画素と周辺画素の距離値の差が使用されてもよい。また、距離画像を入力として各画素のマルチクラス分類(Multi-class Classification)を行う方式であってもよい。また、ランダムフォレストの場合でも距離値の差以外の特徴量を使ってもよいし、特徴量に相当するパラメータも含めて学習を行う深層学習(Deep Learning)を用いてもよい。
EMアルゴリズム部124は、データ入力部110に入力される点群データと、幾何モデルデータベース140内の幾何モデルと、クラスタリング部122で得たフィッティングの初期値とに基づいて、EMアルゴリズムによりパラメータθを導出する。クラスタリング部122で得たフィッティングの初期値を用いるのは、EMアルゴリズムではある程度、解に近い初期値を与えることが有用であるためである。初期値は、部位数Mや、後述のパラメータθに係る初期値である。幾何モデルデータベース140内の幾何モデルは、例えば円柱であり、以下では、主に円柱である場合について説明する。他の幾何モデルの可能性は後述する。
EMアルゴリズム部124は、点群データxが幾何モデルの表面に最も集まるようパラメータθを決定する。点群データxは、3次元の空間座標(x,y,z)で表現されるN個の各点(例えば位置ベクトル)の集合(x、x、・・・、x)である。この場合、例えば空間座標のx成分及びy成分は、画像平面内の2次元座標の値であり、x成分は、水平方向の成分であり、y成分は、垂直方向の成分である。また、z成分は、距離を表す。
パラメータθは、部位m(m=1,2、・・・、M')に係る幾何モデル(ここでは円柱)の太さ(径)r、部位mに係る幾何モデルの位置c と向きe 、及び、分散σの4つある。尚、部位mとは、幾何モデルごとの点群データの部位(一部)であり、幾何モデル及びそれに伴い対象者Sの部位に対応付けられる部位である。部位mは、対象者Sの2部位に同時に対応付けられる場合もある。例えば、対象者Sが肘を伸ばしている状態では、肘の関節から手首の関節(子孫側の関節)までの部位(図4の部位b6や部位b9)と、肘の関節から肩の関節(先祖側の関節)までの部位(図4の部位b5や部位b8)とが一の部位mとなりうる。
及びσは、スカラーであり、c 及びe は、ベクトルである。また、e は、単位ベクトルとする。即ち、e は、円柱の軸の向きを表す単位ベクトルである。また、位置c は、円柱の軸上の、任意の点の位置に係る位置ベクトルである。尚、円柱の軸方向の長さ(高さ)は不定とされる。また、幾何モデルの向きe は、幾何モデルの軸方向と同じ概念である。
点群データxと部位mの表面残差ε(x,θ)(表面に垂直な方向の差)がガウス分布であることを仮定すると、幾何モデル全体は以下の通り表現できる。
Figure 2018207282

ここで、p(x)は、点群データxの混合確率分布モデルであり、上述のように、σは、分散であり、M'は、クラスタリング部122で得たクラスタ数が用いられる。このとき、対応する対数尤度関数は、以下のとおりである。
Figure 2018207282

ここで、Nは、データ数(1フレームに係る点群データに含まれるデータ数)である。
数2は、混合ガウスモデルの対数尤度関数であるため、EMアルゴリズム等を用いることができる。本実施例では、EMアルゴリズム部124は、EMアルゴリズムに基づいて、対数尤度関数を最大化するパラメータθ及び分散σを導出する。
部位mに係る幾何モデルが円柱であるとき、表面残差ε(x,θ)は、次の通り表現できる。尚、ベクトル間の符号"×"は外積を表す。
ε(x,θ)=|(x−e )×e |−r
但し、本実施例では、線形化のため、表面残差ε(x,θ)は、数2の中での指数部分が二乗の差となるように表現され、具体的には以下のとおりである。
Figure 2018207282

EMアルゴリズムは、知られているように、期待値を算出するEステップと、期待値を最大化するMステップの繰返しである。
Eステップでは、EMアルゴリズム部124は、以下の事後分布pnmを計算する。
Figure 2018207282

Mステップでは、EMアルゴリズム部124は、以下の期待値Q(θ,σ)を最大化するパラメータθ及び分散σを導出する。尚、Mステップでは、事後分布pnmは定数として扱われる。
Figure 2018207282

ここで、Pは、事後分布pnmのデータ和の全部位の和(以下、「事後分布pnmのデータ和の全部位和」とも称する)であり、以下のとおりである。
Figure 2018207282

期待値Q(θ,σ)の分散σによる偏微分から、期待値Q(θ,σ)を最大化する分散σの推定値σ は、以下のとおりである。
Figure 2018207282

この推定値σ を数5の式に代入すると、以下のとおりである。
Figure 2018207282

パラメータθの各要素(r、c 、及びe )に関して、太さrの推定値r*mは、以下の通り、直接的に最小化が可能である。
Figure 2018207282

ここで、数9における表現〈〉について、事後分布pnmを用いた平均操作であり、任意のテンソルないし行列Anmに対して、以下の通りとする。
Figure 2018207282

向きe の推定値e*m は、点群データの主成分であることに着目すると、主成分分析に基づいて導出できる。即ち、向きe の推定値e*m は、以下の分散共分散行列σxxの最も固有値の大きい固有ベクトルの向きとして求めることができる。
Figure 2018207282

尚、数10に示す平均操作により、mについては和をとっていない。従って、〈xは、部位mに対する依存性を有し、部位mに係る幾何モデル(円柱)の重心(中心)に対応する。同様に、分散共分散行列σxxも部位mに固有であり、部位mに係る幾何モデル(円柱)の向きに対応する。
或いは、期待値Q(θ,σ)は、パラメータθの各要素(r、c 、及びe )に関して非線形であるので、向きe は、線形近似により導出されてもよい。具体的には、微小回転による更新式は、ノルムが保存される態様で規定され、以下のとおりである。
Figure 2018207282

ここで、Δeは、微小回転ベクトルである。このとき、Δeの推定値Δeは、数8の式をΔeで微分することで得られ、以下のとおりである。
Figure 2018207282

ここで、Bの逆行列は、以下の通りであり、
Figure 2018207282

数14におけるWは、以下の通りである。
Figure 2018207282

尚、数14や数15において(以下も同様)、は、転置を表す。数15において、e及びeは、向きe に対して直交する単位ベクトルである。
また、数13におけるanmやbnmは、以下のとおりである(図4に示した関節a0〜a15や骨格b1〜b15の表記とは無関係である)。
Figure 2018207282
Figure 2018207282

よって、向きe の推定値e*m は、以下の通りである。
Figure 2018207282

このとき、太さrの推定値r*mを数8の式に代入し、位置c の偏微分から、位置c の推定値c*m は、以下の通り、直接的に導出可能である。
Figure 2018207282

ここで、共分散行列σyyの逆行列、及び、ベクトルσy2y(下付き「yy」)、以下のとおりである。
Figure 2018207282
Figure 2018207282

尚、上記の場合、EMアルゴリズム部124は、まず、位置c の推定値c*m を求めてから、太さrの推定値r*mを求めることになる。
尚、変形例では、例えば他の計測によって対象者Sの形状情報を所持している場合などでは、パラメータθのうちの太さrは、ユーザにより手入力されてもよいし、形状情報に基づいて自動的に設定されてもよい。この場合、EMアルゴリズム部124は、パラメータθのうちの残りの要素(位置c 及び向きe )を導出することになる。尚、他の計測は、事前の精密な計測であってもよいし、並行して実行されるものであってもよい。
モデル最適化部126は、EMアルゴリズム部124が一の部位に対して複数種類の幾何モデルを用いてフィッティングを実行する際、実行した複数種類のうちの、フィッティングの際のあてはまりが最も良好な種類の幾何モデルを導出する。
複数種類の幾何モデルは、円柱以外の幾何モデルとして、円錐、台形柱、楕円柱、楕円錐、及び台形楕円柱のうちの少なくともいずれか1つに係る幾何モデルを含む。但し、一の部位に係る複数種類の幾何モデルは、円柱を含まなくてもよい。また、一の部位に係る複数種類の幾何モデルは、部位ごとに異なってもよい。また、一部の特定の部位については、複数種類の幾何モデルを用いずに、単一の固定の幾何モデルが使用されてもよい。
例えば、EMアルゴリズム部124は、まず、円柱の幾何モデルを用いて、各部位に対するフィッテングを行う。次いで、EMアルゴリズム部124は、ある部位に係る幾何モデルを、円柱から他(例えば円錐等)に切り替え、同部位に対するフィッテングを行う。そして、モデル最適化部126は、対数尤度関数の最も大きな幾何モデルを、あてはまりが最も良好な種類の幾何モデルとして選択する。モデル最適化部126は、対数尤度関数の最も大きな幾何モデルに代えて、事後分布のデータ和の全部位和が最も大きな幾何モデルを、あてはまりが最も良好な種類の幾何モデルとして選択してもよい。
円錐の場合、表面残差ε(x,θ)は、以下の通り表現されてよい。
Figure 2018207282

ここで、位置c は頂点位置に対応し、向きe は、中心軸の単位ベクトルである。また、ベクトルnは、円錐の表面上のある1点における法線ベクトルである。
台形柱の場合、表面残差ε(x,θ)は、円錐の場合と同様であってよい。即ち台形柱の場合、円錐の一部に対して分布を規定することで表現できる。
楕円柱の場合、表面残差ε(x,θ)は、以下の通り表現されてよい。
Figure 2018207282

ここで、dは、焦点距離であり、aは、断面の楕円の長軸の長さであり、n 'は、長軸方向の単位ベクトルである。尚、同様に、位置c は軸上の位置に対応し、向きe は、楕円柱の軸(軸方向)の単位ベクトルである。
また、楕円錐の場合、表面残差ε(x,θ)は、以下の通り表現されてよい。
Figure 2018207282

ここで、ψm1及びψm2は、それぞれ長軸及び短軸方向への傾斜角である。また、同様に、位置c は頂点位置に対応し、向きe は、中心軸の単位ベクトルである。
また、台形柱と円錐との関係と同様、台形楕円柱の場合、表面残差ε(x,θ)は、楕円錐の場合と同様であってよい。
ここで、長さが無限として定式化されている円柱や楕円柱などの幾何モデルを用いる場合、Eステップでは、EMアルゴリズム部124は、好ましくは、有限長処理を行う。有限長処理は、点群データxのうちの、所定の条件を満たすデータについてのみ事後分布pnmを算出し、他のデータについては事後分布pnmを0とする処理である。有限長処理は、部位mに無関係なデータの混入を防ぐための処理であり、所定の条件は、部位mに無関係なデータを排除できるように設定される。これにより、実際には関係ないはずの点群データが解析に影響を及ぼすことを抑制できる。所定の条件を満たすデータは、例えば、以下の式を満たすデータであってよい。
Figure 2018207282

ここで、l は、部位mに係る入力長さであり、αはマージン(例えば1.2)である。数25によれば、点群データのうちの、幾何モデルの中心(又は中心位置、以下同じ)からの軸方向の距離が所定距離(=αl )以上のデータに対し、事後分布が0とされる。入力長さl は、手入力することも可能であるし、他の計測によって得られる対象者Sの形状情報に基づいて設定されてもよい。
長さ算出部128は、長さが無限として定式化されている円柱や楕円柱などの幾何モデルがEMアルゴリズム部124によって利用された場合に、幾何モデルの中心から端部までの長さ(部位mの中心から端部までの長さ)に対応する長さパラメータlを導出する。例えば、長さ算出部128は、部位mの長さパラメータlを、分散共分散行列σxxを用いて以下の通り算出してもよい。
Figure 2018207282

尚、Cは、定数倍の補正値である。
或いは、長さ算出部128は、部位mの軸方向に沿った点群データの分布態様に基づいて、部位mの長さパラメータlを導出してもよい。具体的には、長さ算出部128は、部位mの長さパラメータlを、半値全幅による決定によって算出してもよい。半値全幅とはデータが多いところと比べて、データ数が半分になるところまでの区間を指す。長さ算出部128は、部位mの「切れ目」を見つけることで長さパラメータを導出する。即ち、長さ算出部128は、部位mを、向きe に係る軸方向を法線とする輪の態様で軸方向に沿って細かく輪切りにして、その中に含まれるデータ数をカウントし、所定の閾値以下になったところを「切れ目」と規定する。具体的には、半値全幅による決定では、所定の閾値は、カウント値の最大値の半分であるが、カウント値の最大値の0.1倍のような半分以外の値であってもよい。
ここで、図5及び図6を参照して、長さ算出部128による半値全幅による決定方法の一例を具体的に説明する。
図5は、EMアルゴリズム部124による導出結果(幾何モデルによるフィッティング結果)を模式的に示す図であり、図6は、長さ算出部128による半値全幅による決定方法の説明用の概略フローチャートである。
図5では、頭部及び胴部がそれぞれ1つずつの円柱でフィッテングされており、両腕部及び両脚部が、それぞれ片方ずつ、1つずつの円柱でフィッテングされている。図5では、対象者Sの腕部が部位mである場合について代表して、部位mの長さパラメータl(l 及びl )の算出方法について説明する。尚、図5に示すように、ここでは、腕部は、肘の関節が伸ばされているため、EMアルゴリズム部124により1つの部位として認識されている(1つの幾何モデルで当てはめられている)。
ステップS600では、長さ算出部128は、n=1に設定する。nの意義は後述する。
ステップS602では、長さ算出部128は、点群データxのうちの、次の条件を満たすデータの数をカウントする。
Figure 2018207282

〈x・e は、部位mの中心に対応する。Δlは、輪切りの幅(軸方向e に沿った幅)に対応し、例えば0.01l である。尚、l は、上述のように、部位mに係る入力長さである。Sは、事後分布pnmに対する閾値であり、例えば0.1である。
ステップS604では、長さ算出部128は、ステップS602で得たカウント数に基づいて、基準値Crefを設定する。例えば、長さ算出部128は、ステップS602で得たカウント数を、基準値Crefとして設定する。
ステップS606では、nを"1"だけインクリメントする。
ステップS608では、長さ算出部128は、点群データxのうちの、次の条件を満たすデータの数をカウントする。即ち、長さ算出部128は、Δlだけずらした次の区間において、次の条件を満たすデータの数をカウントする。
Figure 2018207282

ステップS610では、長さ算出部128は、ステップS608でカウントしたデータ数が、基準値Crefの所定数倍(例えば0.5倍)以下であるか否かを判定する。判定結果が"YES"の場合は、ステップS612に進み、それ以外の場合は、ステップS606からの処理を繰り返す。
ステップS612では、長さ算出部128は、現在のnの値を用いて、部位mのうちの、中心から子孫側の端部までの長さパラメータl を、nΔlとして算出する。即ち、l =nΔlとして算出する。
ステップS620〜ステップS632では、長さ算出部128は、逆方向(祖先側)に進むことで、同様の考えた方で、図5に示す部位mのうちの、中心から祖先側の端部までの長さパラメータl を算出する。
尚、変形例として、長さ算出部128は、次の通り、部位mの長さパラメータlを算出してもよい。
Figure 2018207282

ここで、Nは、以下で定義されるnの部分集合であり、ある閾値p thより事後分布pnmが小さいnの集合である。
Figure 2018207282

閾値p thは、例えば、以下の通りである。
Figure 2018207282

これは、部分集合Nは、点群データxのうちの、部位mに属さないデータの集合を表す。従って、長さ算出部128は、部分集合Nのうちの、中心からの距離(数29の|x・e −〈x・e |)が最小となるデータに基づいて、部位mの長さパラメータlを算出していることになる。
部位認識部130は、部位mのパラメータ(r、c 、及びe )の導出結果と、部位mの長さパラメータlの導出結果とに基づいて、部位認識処理を行う。部位認識処理は、部位mと対象者Sの各部位(図4の各部位b1〜b15参照)との対応関係を認識することを含む。
ここで、部位mの長さパラメータlの導出結果及びc 及びe の導出結果によれば、部位mの中心(=〈x・e )からの長さパラメータl 、l に基づいて、部位mの軸上の端部(長さパラメータlを決める端部)の位置を導出できる。具体的には、部位mの軸上の端部の位置ξ は、以下を満たす。
Figure 2018207282

このとき、数32の右辺第2項は、祖先側の端部と、子孫側の端部とで以下の通りとなる。
Figure 2018207282

ここで、l は、上述のように、部位mの中心(=〈x・e )からの子孫側への長さパラメータであり、l は、部位mの中心からの祖先側への長さパラメータであり、上述のように長さ算出部128により算出される。βは、定数であり、例えば1であってよい。
以下の説明で、「関節点」とは、関節に係る代表点(関節に係る位置を表す点)を指し、このようにして導出できる部位mの端部(位置)も関節点に対応する。また、以下の説明で、部位m*(*は、任意の記号)は、パラメータ(r、c 、及びe )が得られた部位m(m=1,2、・・・、M')のうちの特定の部位を表す。部位認識部130は、太さrを利用して、主部位を識別する。主部位は、太さが最も大きい部位であり、本実施例では、対象者Sの胴部である。
部位認識部130は、最も太い部位、又は、太さの差が所定値未満でありかつ隣接する2つの1番目と2番目に太い部位を、対象物の主部位として認識する。具体的には、部位認識部130は、1番目に大きい部位m1と2番目に大きい部位m2との間の差が所定値未満である場合は、部位認識部130は、いずれの部位m1、m2も胴部として識別する。所定値は、部位m1、m2の太さの差に対応した適合値である。他方、1番目に大きい部位m1と2番目に大きい部位m2との間の差が所定値以上である場合は、部位認識部130は、1番目に大きい部位m1だけを、胴部(部位b1+部位b2)として識別する。この場合、部位認識部130は、部位mlに対して、「切断フラグ」を設定する。切断フラグの意義は後述する。これにより、例えば、図4において、対象者Sの姿勢に応じて、部位b1及び部位b2が真っ直ぐ伸びている場合でも、部位b1及び部位b2を、部位m1及び部位m2に係る胴部として認識できる。
部位認識部130は、主部位(胴部)を識別すると、胴部の底面近傍にある関節点を判定(識別)する。胴部の底面に対しては、部位認識部130は、胴部の底面側の端部の位置に設定される微小な円柱(あるいは楕円柱や台形柱など)内に、胴部側の端部の位置が属する2つの部位ml,mrを特定する。尚、微小な円柱の高さは所定の値が使用されてもよい。そして、部位認識部130は、部位ml,mrを、左脚部に係る部位(図4の部位b10又は、部位b10+b11参照)と右脚部に係る部位(図4の部位b12又は、部位b12+b13参照)として認識する。
部位認識部130は、左脚部に係る部位mlを識別すると、部位mlにおける胴部から遠い側の端部の位置に設定される球(以下、「連結球」とも称する)内に、胴部に近い側の端部の位置を有する部位が存在するか否かを判定する。尚、連結球の径は所定の値が使用されてもよい。そして、連結球内に、胴部に近い側の端部の位置を有する部位ml2が存在する場合は、部位認識部130は、部位mlを、左脚部の腿b10として認識し、部位ml2を、左脚部の脛b11として認識する。他方、連結球内に、胴部に近い側の端部の位置を有する部位が存在しない場合は、部位認識部130は、部位mlを、左脚部の腿と脛の双方を含む部位として認識する。この場合、部位認識部130は、部位mlに対して、「切断フラグ」を設定する。これにより、例えば、図4において、対象者Sの姿勢に応じて、部位b10及びb11が真っ直ぐ伸びている場合でも、部位b10及びb11を、左脚部に係る部位として認識できる。
同様に、部位認識部130は、右脚部に係る部位mrを識別すると、部位mrにおける胴部から遠い側の端部の位置に設定される球(連結球)内に、胴部に近い側の端部の位置を有する部位が存在するか否かを判定する。尚、連結球の径は所定の値が使用されてもよい。そして、連結球内に、胴部に近い側の端部の位置を有する部位mr2が存在する場合は、部位認識部130は、部位mrを、右脚部の腿b12として認識し、部位mr2を、右脚部の脛b13として認識する。他方、連結球内に、胴部に近い側の端部の位置を有する部位が存在しない場合は、部位認識部130は、部位mrを、右脚部の腿と脛の双方を含む部位として認識する。この場合、部位認識部130は、部位mrに対して、「切断フラグ」を設定する。これにより、例えば、図4において、対象者Sの姿勢に応じて、部位b12及びb13が真っ直ぐ伸びている場合でも、部位b12及びb13を、右脚部に係る部位として認識できる。
また、部位認識部130は、主部位(胴部)を識別すると、胴部の側面近傍にある関節点を判定(識別)する。部位認識部130は、胴部の軸方向(主軸)の側面にあり、かつ頭部側の面から最も近い2関節点を左右の腕部の根本の関節点(肩の関節に係る関節点)として識別する。例えば、部位認識部130は、胴部の側面における薄いトーラス(円柱に係るトーラス)内に含まれる関節点を、腕部の根本の関節点として識別する。尚、トーラスの厚さなどは所定の値が使用されてもよい。そして、部位認識部130は、左右の腕部の根本の関節点を含む部位mlh,mrhを、左手に係る部位(図4の部位b5又は、部位b5+b6参照)と右手に係る部位(図4の部位b8又は、部位b8+b9参照)として認識する。
部位認識部130は、左手に係る部位mlhを識別すると、部位mlhにおける胴部から遠い側の端部の位置に設定される球(連結球)内に、胴部に近い側の端部の位置を有する部位が存在するか否かを判定する。なお、連結球の径は所定の値が使用されてもよい。そして、連結球内に、胴部に近い側の端部の位置を有する部位mlh2が存在する場合は、部位認識部130は、部位mlhを、左手の上腕部b5として認識し、部位mlh2を、左手の前腕部b6として認識する。他方、連結球内に、胴部に近い側の端部の位置を有する部位が存在しない場合は、部位認識部130は、部位mlhを、左手の上腕部と前腕部の双方を含む部位として認識する。この場合、部位認識部130は、部位mlhに対して、「切断フラグ」を設定する。これにより、例えば、図4において、対象者Sの姿勢に応じて、部位b5及びb6が真っ直ぐ伸びている場合でも、部位b5及びb6を、左手に係る部位として認識できる。
同様に、部位認識部130は、右手に係る部位mrhを識別すると、部位mrhにおける胴部から遠い側の端部の位置に設定される球(連結球)内に、胴部に近い側の端部の位置を有する部位が存在するか否かを判定する。なお、連結球の径は所定の値が使用されてもよい。そして、連結球内に、胴部に近い側の端部の位置を有する部位mrh2が存在する場合は、部位認識部130は、部位mrhを、右手の上腕部b8として認識し、部位mrh2を、右手の前腕部b9として認識する。他方、連結球内に、胴部に近い側の端部の位置を有する部位が存在しない場合は、部位認識部130は、部位mrhを、右手の上腕部と前腕部の双方を含む部位として認識する。この場合、部位認識部130は、部位mrhに対して、「切断フラグ」を設定する。これにより、例えば、図4において、対象者Sの姿勢に応じて、部位b8及びb9が真っ直ぐ伸びている場合でも、部位b8及びb9を、右手に係る部位として認識できる。
骨格整形部132は、骨格整形処理として、切断処理、結合処理、及び連結処理を行う。
切断処理は、一の部位を、2つの更なる部位に分離する処理である。分離対象の部位は、部位mのうちの、上述の切断フラグが設定された部位である。尚、切断処理の対象となる部位に係る幾何モデル(即ち上述の切断フラグが設定された部位に係る幾何モデル)は、第1幾何モデルの一例である。切断フラグが設定された部位は、例えば上腕部と前腕部(図4の部位b5及びb6参照)のような、真っ直ぐ伸ばした状態であるときに幾何モデルによる当てはめで一の部位として認識された部位である。切断処理は、このような本来2部位からなる部位を、2つの更なる部位に分離する。パラメータθの各要素(r、c 、及びe )のうち、2つの更なる部位のr及びe は、そのままである。他方、骨格整形部132は、2つの更なる部位のc の間の関節の位置(即ち、切断フラグが設定された部位の中間の関節点)を、数32に従って求める。中間の関節点の場合は、数32の右辺第2項は、以下の通りである。尚、中間の関節点の導出には、c 及びe の導出結果が用いられる。
Figure 2018207282

上述のように、βは、定数であり、例えば1であってよい。β=1の場合は、部位mの中心(=〈x・e )が、本来2部位からなる部位mの中間の関節点を表すことになる。或いは、βは、他の計測によって得られる対象者Sの形状情報に基づいて設定されてもよい。
このようにして切断処理によれば、部位mが、本来2部位からなる部位を含む場合でも、2つの更なる部位に切断して、3つの関節点を導出できる。従って、例えば脚部が伸ばされて肘や膝が真っ直ぐ伸びている場合でも、切断処理によって3つの関節点を導出できる。
結合処理は、隠れた骨格で繋がる2つの部位mの位置c 、向きe 、及び長さパラメータlに基づいて、2つの部位mにわたる直線に対応付けれる対象者Sの隠れた骨格を導出する処理である。具体的には、結合処理は、隠れた骨格を、所定の2つの部位mに係る2関節点間を結ぶ直線として生成する処理である。尚、結合処理の対象となる所定の2つの部位mに係る幾何モデルは、第2幾何モデルの一例である。隠れた骨格とは、図4を参照して上述したように、股関節に係る骨格b14、b15や、肩の関節に係る骨格b4、b7がある。股関節に係る骨格b14については、結合処理の対象となる2関節点は、部位b1の底面側の関節点a0と、部位b10の胴部側の関節点a14とが対応する。また、股関節に係る骨格b15については、所定の2関節は、部位b1の底面側の関節点a0と、部位b12の胴部側の関節点a15とが対応する。肩の関節に係る骨格b4については、所定の2関節は、部位b2の頭部側の関節点a2と、部位b5の胴部側の関節点a4とが対応する。肩の関節に係る骨格b7については、所定の2関節は、部位b2の頭部側の関節点a2と、部位b8の胴部側の関節点a7とが対応する。
このようにして結合処理によれば、関節モデルが隠れた骨格を含む場合でも、結合処理により隠れた骨格(リンクに対応する直線)を導出できる。
連結処理は、異なる部位に係る幾何モデルから導出できる同じ関節に係る関節点(共通の関節点)を、1つの関節点に統合(連結)する処理である。例えば、連結対象の関節点は、例えば上述した連結球内の2つの関節点(図4の関節a5、a8、a10、a12に係る関節点)である。このような腕部及び脚部に係る連結処理は、切断フラグが設定されない場合に実行される。また、他の連結対象の関節点は、首の関節点に係り、頭部の幾何モデルと胴部の幾何モデルの両方から得られる2つの関節点(図4の関節a2に係る関節点)である。また、他の連結対象の関節点は、太さrが1番目に大きい部位m1と2番目に大きい部位m2とをそれぞれ胴部として識別した場合において、部位m1と部位m2との間の関節点(図4の関節a1に係る関節点)である。即ち、胴部に係る連結処理は、切断フラグが設定されない場合に実行される。
連結処理は、単にいずれか一方の関節点を選択する処理であってもよい。或いは、2つの関節点の平均値を利用する方法や、2つの関節点に係る2つの部位のうち、事後分布のデータ和が大きい方の部位の値を利用する方法、事後分布のデータ和で重み付けした値を利用する方法などであってもよい。
骨格整形部132は、骨格整形処理として、好ましくは、更に、対称化処理を行う。対称化処理は、本来実質的に左右対称な部位に対して、パラメータについても左右対称に補正する処理である。本来実質的に左右対称な部位は、例えば左右の腕部や、左右の脚部である。例えば左右の腕部(左右の脚部についても同様)について、骨格整形部132は、パラメータθのうちの太さrと、長さパラメータlについて、事後分布のデータ和の最も大きい方に統一してよい。例えば左脚部に係る事後分布のデータ和が右脚部に係る事後分布のデータ和よりも大きい場合、左脚部に係る太さrと長さパラメータlに、右脚部に係る太さrと長さパラメータlを補正する。これにより、左右の対称性を利用して、太さrや長さパラメータlの精度を高めることができる。
キャリブレーション情報生成部134は、部位mのパラメータθの導出結果や、部位mの長さパラメータlの導出結果、部位認識部130による部位認識処理結果、骨格整形部132による骨格整形処理結果等に基づいて、キャリブレーション情報を生成する。
キャリブレーション情報は、対象者Sの全部位に係る部位情報を含む。対象者Sの全部位とは、関節モデルに基づく全部位であり、図4に示す例では、15部位である。以下では、対象者Sの全部位のうちの任意の一部位を、「部位k」と表記する。尚、部位mは、幾何モデルによるフィッティングの対象となる部位である。
部位情報は、例えば、部位kと対象者Sの各部位(図4の各部位b1〜b15参照)との対応関係を表す情報(以下、「部位対応関係情報」と称する)や、部位kの位置、軸方向、長さ、太さ等を含んでよい。本実施例では、一例として、部位情報は、部位対応関係情報と、部位kの位置として部位kの祖先側の関節点の位置c Θ0と、部位kの向きe Θ0と、部位mの長さパラメータlとを含む。位置c Θ0及び向きe Θ0は、ある姿勢Θにおける部位mの位置及び向き(第1パラメータの一例)の初期値を表す。
部位kの位置c Θ0は、位置c 等に基づいて導出された部位mの祖先側の端部(数32、数33参照)の位置に対応する。切断処理が実行された場合は、切断処理により分離された2つの部位のそれぞれの位置c Θ0は、同様に、当該部位における祖先側の関節点である。例えば脚部に係る部位mに対して切断処理が実行された場合、部位mを2つの分離した部位のうち、腿部に係る部位kの位置c Θ0は、祖先側の関節点である。また、部位mを2つの分離した部位のうち、脛部に係る部位kの位置c Θ0は、祖先側の関節点(即ち部位mの中間の関節点であり、膝に係る関節点)である(数34参照)。また、隠れた骨格に係る部位kの位置c Θ0は、隠れた骨格に対して祖先側で繋がる部位の子孫側の関節点である。例えば、部位b4に対応する部位kの位置c Θ0は、部位b2に対応する部位mの子孫側の関節点a2に対応する。
向きe Θ0は、向きe をそのまま用いることができる。部位mに対して切断処理が実行された場合も、切断処理により分離された2つの部位のそれぞれの向きe Θ0としては、部位mの向きe が用いられる。隠れた骨格に係る部位kの向きe Θ0は、結合処理により導出される隠れた骨格に係る直線の方向が用いられる。
また、キャリブレーション情報は、全部位のうちの、隠れた骨格(部位)を除く各部位について、どの部位にどの種類の幾何モデルが使用されたかを表す情報(以下、「使用幾何モデル情報」と幾何モデルを含む。部位mに対して切断処理が実行された場合は、切断処理により分離された2つの部位のそれぞれの幾何モデルは、部位mに対応付けられる幾何モデルである。尚、1種類の幾何モデル(例えば円柱)しか使用されない変形例では、使用幾何モデル情報は不要である。
本実施例の1シーン骨格認識処理によれば、上述のように、幾何モデルを用いてフィッテングを行って得られる結果に対して、切断処理が実行される。これにより、例えば対象者Sの胴部や腕部、脚部のような、関節で繋がる2つの部位が真っ直ぐに伸ばされている場合でも、該2つの部位を繋ぐ関節を精度良く認識できる。即ち、幾何モデルを用いたフィッテングだけでは一部位としてしか認識できないような状況下(本来は2つの部位が一部位としてしか認識できないような状況下)でも、2つの部位を繋ぐ関節を精度良く認識できる。また、本実施例によれば、上述のように、幾何モデルを用いてフィッテングを行って得られる結果に対して、結合処理が実行される。これにより、幾何モデルを用いたフィッテングだけでは精度良く認識し難い隠れた骨格についても精度良く認識できる。このようにして、本実施例によれば、対象者Sの点群データに基づいて、対象者Sの関節又は骨格を精度良く認識できる。
従って、本実施例によれば、精度の高いキャリブレーション情報を生成でき、この結果、キャリブレーション情報を利用する後述の微小フィッティング処理の精度も高めることができる。
次に、図7以降の概略フローチャートを参照して、1シーン骨格認識部120の動作例について説明する。
図7は、1シーン骨格認識部120の全体動作の一例を示す概略フローチャートであり、図8は、部位認識処理の一例を示す概略フローチャートである。図9A及び図9Bは、図7の処理等の説明図である。図9A及び図9Bには、ある一時点(一シーン)に係る点群データxがそれぞれ示されている。
ステップS700では、データ入力部110に、ある一時点に係る点群データxが入力される。
ステップS702では、クラスタリング部122は、ステップS700で得た点群データxに基づいて、幾何モデルを用いたフィッティングに用いる初期値を取得する。クラスタリング部122の処理(初期値の取得方法)の詳細は上述のとおりである。
ステップS704では、EMアルゴリズム部124は、ステップS700で得た点群データxと、ステップS702で得た初期値とに基づいて、EMアルゴリズムのEステップを実行する。EMアルゴリズムのEステップの詳細は上述のとおりである。
ステップS705では、EMアルゴリズム部124は、j=1に設定する。
ステップS706では、EMアルゴリズム部124は、j番目の部位j(m=j)について有限長処理を行う。有限長処理の詳細は上述のとおりである。
ステップS708では、EMアルゴリズム部124は、ステップS704で得たEステップの結果と、ステップS706で得た有限長処理結果とに基づいて、j番目の部位j(m=j)についてEMアルゴリズムのMステップを実行する。EMアルゴリズムのMステップの詳細は上述のとおりである。
ステップS710では、EMアルゴリズム部124は、未処理部位が有るか否か、即ちj<M'であるか否かを判定する。未処理部位が有る場合は、ステップS711を経て、ステップS706からの処理を繰り返す。未処理部位が無い場合は、ステップS712に進む。
ステップS711では、EMアルゴリズム部124は、jを"1"だけインクリメントする。
ステップS712では、EMアルゴリズム部124は、収束したか否かを判定する。収束条件としては、例えば、対数尤度関数が所定の値以下であることや、対数尤度関数の移動平均が所定の値以下であることなどが使用されてもよい。
ステップS714では、モデル最適化部126は、モデル最適化処理を行う。例えば、モデル最適化部126は、今回の使用した幾何モデルに係る事後分布のデータ和の全部位和を算出する。そして、事後分布のデータ和の全部位和が所定基準値未満である場合は、EMアルゴリズム部124に幾何モデルの変更を指示して、ステップS704からステップS712の処理を再度実行させる。或いは、モデル最適化部126は、今回の使用した幾何モデルに係る事後分布のデータ和の全部位和の如何にかかわらず、EMアルゴリズム部124に幾何モデルの変更を指示して、ステップS704からステップS712の処理を再度実行させる。この場合、モデル最適化部126は、事後分布のデータ和の全部位和が最も大きな幾何モデルを、あてはまりが最も良好な種類の幾何モデルとして選択する。
ステップS714までの処理が終了すると、図9Aに示すように、点群データxに対して当てはめられた複数の幾何モデルに係るパラメータθ(r、c 、及びe )が得られる。図9Aに示す例では、点群データxに対して当てはめられた6つの幾何モデルM1〜M6が概念的に示される。幾何モデルM1は、対象者Sの頭部に係る幾何モデルであり、幾何モデルM2は、対象者Sの胴部に係る幾何モデルであり、幾何モデルM3及びM4は、対象者Sの両腕部に係る幾何モデルであり、幾何モデルM5及びM6は、対象者Sの両脚部に係る幾何モデルである。図9Aに示す例では、幾何モデルM1〜M6は、全て円柱である。
ステップS716では、長さ算出部128は、点群データxと、ステップS714までの処理で得られるパラメータθとに基づいて、各幾何モデル(幾何モデルM1〜M6参照)の長さパラメータlを導出する。長さパラメータlを導出することは、上述のように、部位mの中心に対して、長さパラメータl 及び長さパラメータl を導出することを含む。
ステップS718では、部位認識部130は、部位認識処理を行う。部位認識処理は、上述のとおりであるが、一例の手順については、図8を参照して後述する。
ステップS720では、骨格整形部132は、ステップS718で得た部位認識処理結果等に基づいて、切断処理、結合処理、及び連結処理を行う。骨格整形部132は、切断フラグが設定された部位については切断処理を行う。切断処理の詳細は上述のとおりである。また、結合処理は、上述のとおりであり、股関節に係る骨格b14、b15や、肩の関節に係る骨格b4、b7に係る各直線を導出することを含む。また、連結処理の詳細は上述のとおりである。
ステップS720までの処理が終了すると、図9Bに概念的に示すように、切断処理に係る各関節の位置や、隠れた骨格等が導出される。
ステップS722では、骨格整形部132は、ステップS704〜ステップS712で得られる事後分布のデータ和に基づいて、対称化処理を行う。対称化処理の詳細は上述のとおりである。
ステップS722では、キャリブレーション情報生成部134は、今回周期でのステップS704乃至ステップS722の処理結果に基づいて、キャリブレーション情報を生成する。キャリブレーション情報の生成方法は上述のとおりである。
続いて、ステップS718における部位認識処理を図8を参照して説明する。
ステップS800では、部位認識部130は、太さrについて、1番目と2番目に太い部位の差が所定値以上であるか否かを判定する。判定結果が"YES"の場合は、ステップS802に進み、それ以外の場合は、ステップS804に進む。
ステップS802では、部位認識部130は、太さrが1番目に大きい部位m1を胴部(真っ直ぐ伸びた胴部)として識別し、部位m1に対して切断フラグを設定する。例えば、図9Aに示す例では、幾何モデルM2が対応付けられる部位は、2番目に太い部位との差が所定値以上である1番目に太い部位m1となり、切断フラグが設定されることになる。尚、このようにして部位m1に切断フラグが設定されると、図7のステップS720にて部位m1に対して切断処理が実行されることになる。
ステップS804では、部位認識部130は、太さrが1番目に大きい部位m1と2番目に大きい部位m2とを、胴部として識別する。
ステップS806では、部位認識部130は、頭部を認識する。例えば、部位認識部130は、部位m1の上面近傍の部位mhを、頭部として認識する。例えば図9Aに示す例では、幾何モデルM1が対応付けられる部位が頭部として認識されることになる。
ステップS808では、部位認識部130は、胴部の底面近傍に左右の脚部を認識する。即ち、部位認識部130は、上述のように、胴部の底面近傍に左右の2関節点を各脚部の根本の関節点として識別し、該2関節点を有する部位ml,mrを、左右の脚部に係る部位と認識する。
ステップS810では、部位認識部130は、ステップS808で認識した左右の脚部に係る部位ml,mrの末端側(胴部から遠い側)に、他の部位ml2,mr2に係る関節点が存在するか否かを判定する。この際、部位認識部130は、左右の脚部についてそれぞれ別に判定する。判定結果が"YES"の場合は、ステップS812に進み、それ以外の場合は、ステップS814に進む。
ステップS812では、部位認識部130は、ステップS808で認識した左右の脚部に係る部位ml,mrを、腿部として認識するとともに、ステップS810で認識した他の部位ml2,mr2を、脛部として認識する。尚、この場合、図7のステップS720にて、部位ml,ml2に対して連結処理が実行され、部位mr,mr2に対して連結処理が実行されることになる。
ステップS814では、部位認識部130は、ステップS808で認識した左右の脚部に係る部位ml,mrを、真っ直ぐ伸びた脚部であると認識し、部位ml,mrに対して切断フラグを設定する。尚、このようにして部位ml,mrに切断フラグが設定されると、図7のステップS720にて部位ml,mrに対してそれぞれ切断処理が実行されることになる。
ステップS816では、部位認識部130は、胴部の上側(脚部から遠い側)の左右の側面に左右の腕部を認識する。即ち、部位認識部130は、上述のように、胴部の側面における薄いトーラス内に含まれる2関節点を各腕部の根本の関節点として識別し、該2関節点を有する部位mlh,mrhを、左右の腕部に係る部位と認識する。
ステップS818では、部位認識部130は、ステップS808で認識した左右の腕部に係る部位mlh,mrhの末端側(胴部から遠い側)に、他の部位mlh2,mrh2に係る関節点が存在するか否かを判定する。この際、部位認識部130は、左右の腕部についてそれぞれ別に判定する。判定結果が"YES"の場合は、ステップS820に進み、それ以外の場合は、ステップS822に進む。
ステップS820では、部位認識部130は、ステップS816で認識した左右の腕部に係る部位mlh,mrhを上腕部として認識するとともに、ステップS818で認識した他の部位mlh2,mrh2を、前腕部として認識する。尚、この場合、図7のステップS720にて、部位mlh,mlh2に対して連結処理が実行され、部位mrh,mrh2に対して連結処理が実行されることになる。
ステップS822では、部位認識部130は、ステップS816で認識した左右の腕部に係る部位mlh,mrhを、真っ直ぐ伸びた腕部であると認識し、部位mlh,mrhに対して切断フラグを設定する。尚、このようにして部位mlh,mrhに切断フラグが設定されると、図7のステップS720にて部位mlh,mrhに対してそれぞれ切断処理が実行されることになる。
図7及び図8に示す処理によれば、ある一時点(一シーン)に係る対象者Sの点群データxに基づいて、対象者Sの関節又は骨格を精度良く認識することが可能となる。尚、図7及び図8に示す処理は、フレーム周期ごとに繰り返し実行されてもよいし、次のフレームに対しては、前回のフレームで得たパラメータθ及び分散σや前回のフレームで用いた幾何モデルを利用して、次のフレームに係るパラメータθ等が導出されてもよい。
尚、上述した1シーン骨格認識処理では、点群データxがすべて幾何モデル表面近傍に存在するとして定式化してきたが、点群データxにはノイズなども含まれる。そのような表面から離れたデータが混入すると、Eステップの事後分布が数値不安定となり正しく計算されない場合がある。そこで、分布p(x)には、以下のように、ノイズ項として一様分布が追加されてもよい。
Figure 2018207282

ここで、uは任意の重みである。このとき、事後分布は以下のように修正される。
Figure 2018207282

ここで、uは、以下の通り定義される。
Figure 2018207282

これにより、分母にuが導入され、数値不安定が解消される。尚、Eステップのみの変更であり、Mステップはそのままでよい。
[微小フィッティング処理部]
以下の[微小フィッティング処理部]の説明において用いる記号は、特に言及しない限り、上記の[1シーン骨格認識部]の説明で用いた記号と実質的に同じ意味である。尚、点群データxについては、同じ記号"x"を用いるが、上述のように、微小フィッティング処理部150で用いられる点群データxは、1シーン骨格認識部120で用いる点群データxよりも後の時点(フレーム)で得られるデータである。以下では、1シーン骨格認識部120で用いる点群データxに係る時点を、「第1時点」と称し、微小フィッティング処理部150で用いられる点群データxに係る時点を、「第2時点」と称する。繰り返しになるが、第2時点は、第1時点よりも後であり、ここでは、例えば1フレーム周期に対応する微小時間だけ後であるとする。
また、以下の[微小フィッティング処理部]の説明において、部位mは、フィッティングの対象の部位である点は、上記の[1シーン骨格認識部]の説明と同じであるが、以下の点だけが異なる。即ち、1シーン骨格認識処理では、部位mは、上述のように、対象者Sの2部位に同時に対応付けられる場合もあるが、以下の微小フィッティング処理では、部位mは、対象者Sの2部位に同時に対応付けられることはない。従って、[微小フィッティング処理部]の説明において、部位mとは、図4に示す関節モデルの場合、15部位のうちの、隠れた骨格(部位)を除く各部位に1対1で対応する。
微小フィッティング処理部150は、上述のように、1シーン骨格認識部120で生成されるキャリブレーション情報を利用して、微小フィッティング処理を行う。以下では、上記のパラメータθに関連するパラメータであって、対象者Sの関節(関節回転)、対象者Sの重心の回転及び並進を表すパラメータを、「変形パラメータθar」と称する。また、キャリブレーション情報は、上述のように使用幾何モデル情報(1シーン骨格認識処理で各部位に対して利用された幾何モデルを表す情報)を含む。微小フィッティング処理では、キャリブレーション情報が得られたときに利用される幾何モデルが引き継き利用される。例えば、キャリブレーション情報の生成の際に、ある部位に対して円柱が用いられた場合、微小フィッティング処理でも、該部位に対して円柱が用いられる。
微小フィッティング処理部150は、図3に示すように、表面残差算出部151と、事後分布算出部152と、有限長処理部154と、分散更新部155と、微小変化算出部156と、パラメータ更新部158とを含む。
表面残差算出部151は、表面残差εnm及び表面残差の微分ε'nmを算出する。微小フィッティングでは、上述の1シーン骨格認識処理と同様、点群データxと部位mの表面残差ε(xar)(表面に垂直な方向の差)がガウス分布であることが仮定される。具体的には、以下のとおりである。
Figure 2018207282

ここで、Mは、関節モデルの全部位数(隠れた部位を含む全部位の総数)であり、図4に示す関節モデルでは、"15"である。従って、Mは、1シーン骨格認識部120で用いられるM'とは異なり得る。hは、隠れた骨格(部位)(第2部位の一例)の数であり、図4に示す関節モデルでは、"4"である。「M−h」を用いるのは、フィッティングに寄与しない部位を除外するためである。即ち、M−hは、微小フィッティング処理でフィッティング対象となる部位(第1部位の一例)の数である。1シーン骨格認識部120で用いられる「M'」に代えて、「M−h」を用いるのは、常にM'=M−hとなるとは限らないためである。また、固定値「M−h」とできるのは、微小フィッティング処理では、1シーン骨格認識処理とは異なり、手や脚などが真っ直ぐに伸びた状態でも、各部位を追跡できるためである。このとき、対応する対数尤度関数は、以下のとおりである。
Figure 2018207282

表面残差εnm、及び、表面残差の微分ε'nmは、以下の通り定義される。尚、θarは、変形パラメータである。
Figure 2018207282

尚、[微小フィッティング処理部]の説明においては、表現〈〉については、同様に事後分布pnmを用いた平均操作であるが、「M'」と「M−h」との相違に関連して、任意のテンソルないし行列anmに対して、以下の通りとする。
Figure 2018207282

幾何モデルが円柱の場合、表面残差は、例えば以下の通り表現されてよい。ここで、位置c Θ及び向きe Θは、ある姿勢Θにおける部位mの位置及び向きを表す。尚、位置c Θは、既に定義したとおり、部位mの祖先側の関節点の位置である。
Figure 2018207282

尚、数42では右辺が二乗同士の差となっていないが、上記の数3のように二乗の項が使用されてもよい。尚、1シーン骨格認識処理では、指数部分を二乗の差とすることで式が線形化されている。
このとき、表面残差の微分は、以下のとおりである。
Figure 2018207282
Figure 2018207282
Figure 2018207282

ここで、添字l'は、可動部位を指し、総数はM−f(例えば13)である。ε'nml'i'は、可動部位に関する表面残差の微分であり、ε'nm,M−f+1,i'は、対象者Sの重心の回転に関する表面残差の微分であり、ε'nm,M−f+2,i'は、対象者Sの重心の並進に関する表面残差の微分である。
δml'は、クロネッカーのデルタであり、以下のとおりである。
Figure 2018207282

また、χml'は、以下のとおりである。
Figure 2018207282

χml'は、部位mと部位l'(l'=1,2、・・・、13)との祖先・子孫関係を表すパラメータであり、祖先・子孫関係を表すパラメータについては、部位kと部位l'とに関連して、図10及び図11を参照して後述する。尚、祖先・子孫関係は、キャリブレーション情報に含まれる部位対応関係情報に基づいて判断できる。
円錐の場合、表面残差ε(xar)は、以下の通り表現されてよい。尚、円錐(楕円錐の場合も同様)では、位置c Θは、ある姿勢Θにおける頂点位置に対応し、ある姿勢Θにおける向きe Θは、中心軸の単位ベクトルである。
Figure 2018207282

ベクトルnは、数22に関して上述した通りである。台形柱の場合、円錐の場合と同様であってよい。また、楕円柱の場合、表面残差ε(xar)は、以下の通り表現されてよい。
Figure 2018207282

等は、数23に関して上述した通りである。
また、楕円錐の場合、表面残差ε(xar)は、以下の通り表現されてよい。
Figure 2018207282

ψm1等は、数24に関して上述した通りである。台形楕円柱の場合、表面残差ε(xar)は、楕円錐の場合と同様であってよい。
事後分布算出部152は、微小フィッティング処理において事後分布pnmを算出する。微小フィッティング処理における事後分布pnmは、「M'」と「M−h」との相違に関連して、以下の通りである。
Figure 2018207282

有限長処理部154は、事後分布算出部152で得られる事後分布pnmに基づいて、有限長処理を行う。有限長処理は、上述のように、点群データxのうちの、所定の条件を満たすデータについてのみ事後分布pnmを算出し、他のデータについては事後分布pnmを0とする処理である。微小フィッティング処理では、所定の条件を満たすデータは、例えば、以下の式を満たすデータであってよい。
Figure 2018207282

ここで、lは、キャリブレーション情報に含まれる長さパラメータである(即ち長さ算出部128により導出される部位mの長さパラメータl)。
分散更新部155は、微小変化後の分散(σ +Δσ)を導出(更新)する。尤度関数の最大化問題は、線形近似により解を導出できる。即ち、数39の式のσに関する微分を0と置くことで、微小変化後の分散(σ +Δσ)が得られる。尚、分散σ は、初期値であり、1シーン骨格認識部120で得られる。例えば、微小変化後の分散(σ +Δσ)は、以下のとおりであってよい。
Figure 2018207282

微小変化算出部156は、変形パラメータθarの微小変化Δθを算出する。ここで、尤度関数の最大化問題は、分散σと同様に、以下の通り、線形近似により解を導出できる。即ち、第2時点は、第1時点よりも微小時間だけ後であるので、第2時点での点群データxは、第1時点での点群データxから大きく変化しないと期待される。このため、第2時点での変形パラメータθarは、第1時点での変形パラメータθarから大きく変化しないと期待される。従って、第2時点での変形パラメータθarは、第1時点での変形パラメータθarからの微小変化Δθで表されるものとする。
Figure 2018207282

よって、変形パラメータθarの微小変化Δθは、表面残差εnm、及び、表面残差の微分ε'nm(数40参照)を用いて、以下のとおりである。
Figure 2018207282

尚、具体的な微小変化Δθの算出方法は、次のパラメータ更新部158の説明に関連して後述する。
パラメータ更新部158は、微小変化算出部156により算出された微小変化Δθに基づいて、位置c Θ及び向きe Θのそれぞれの変化Δc Θ及びΔe Θ(第2パラメータの一例)を導出(更新)することで、位置c Θ+ΔΘ及び向きe Θ+ΔΘを導出(更新)する。尚、位置c Θ及び向きe Θは、上述のように、ある姿勢Θにおける部位kの位置及び向きを表す。位置c Θ及び向きe Θの初期値は、キャリブレーション情報に含まれる位置c Θ0及び向きe Θ0が用いられる。
位置c Θ+ΔΘ及び向きe Θ+ΔΘは、それぞれ以下の通り表すことができる。尚、部位kは、隠れた部位を含み、従って、図4に示す関節モデルでは、k=1,2、・・・、15である。尚、向きe Θ+ΔΘについては、ノルムが保存される態様で更新されている。
Figure 2018207282
Figure 2018207282

ここで、Δc Θ及びΔe Θは、機構モデルの順運動学に基き、以下のように導出可能である。
Figure 2018207282
Figure 2018207282

ここで、Δθl'i'、ΔθM−f+1,i'、及びΔθM−f+2,i'は、微小変化Δθの各要素である。Δθl'i'は、部位l'(l'=1,2、・・・、M−f)の関節回転を表し、ΔθM−f+1,i'は、対象者Sの重心の回転を表し、ΔθM−f+2,i'は、対象者Sの重心の並進を表す。i'は、回転の3自由度を表し、i'=0、X,XXである。dは空間次元であり、d=3である。また、fは、可動しない関節数である。可動しない関節とは、例えば骨盤部(図4の部位b14、b15参照)に係る関節(図4の関節a0参照)である。
幾何モデルが円柱である場合は、Δθl'i'、ΔθM−f+1,i'、及びΔθM−f+2,i'は、数43、数44、及び数45の式と、数55とに基づいて導出される。換言すると、ε'nml'i'は、上記の数55の式から、数58及び数59におけるΔθl'i'を得るための表面残差の微分である。同様に、ε'nm,M−f+1,i'は、上記の数55の式から、数58及び数59におけるΔθM−f+1,i'を得るための表面残差の微分である。同様に、ε'nm,M−f+2,i'は、上記の数55の式から、数58におけるΔθM−f+2,i'を得るための表面残差の微分である。尚、円柱以外の幾何モデルについても、上記の表面残差を用いて同様に導出可能である。
また、数58及び数59において用いられるベクトルや、角度変化を求めるための生成子は、以下のとおりである。尚、以下で、nは、任意の単位ベクトル(固定ベクトル)であり、例えば距離画像センサ21の方向に係る単位ベクトルであってよい。
Figure 2018207282
Figure 2018207282

また、δkl'は、クロネッカーのデルタであり、上述と同様である。また、χkl'は、部位k(k=1,2、・・・、15)と部位l'(l'=1,2、・・・、13)との祖先・子孫関係を表すパラメータであり、例えば、図10に示すとおりである。図10における部位の番号は、図11に示すとおりである。例えば、部位m=部位6でありかつ部位l'=部位5であるとき、χ56=1である。これは、部位5が部位6の祖先側にあるためである。尚、図10及び図11に示す例では、可動しない骨盤部の番号が最後の2つ"14"及び"15"とされかつが列から除外されている。尚、行と列は、同一の番号が同一の部位を指す。
尚、ここで、添字の表記について整理すると、添字kはすべての部位を指し、総数はMである。添字mは、フィッティング対象の部位を指し、総数はM−hである。添字l'は、可動部位を指し、総数はM−fである。尚、これらの添字は同じ番号でも同一の部位を指すとは限らない。
このようにして、Δc Θ及びΔe Θは、Δθl'i'、ΔθM−f+1,i'、及びΔθM−f+2,i'を数58及び数59に代入することで導出可能となる。そして、Δc Θ及びΔe Θが得られると、数56及び数57の更新式に基づいて、部位kの位置c Θ+ΔΘ及び向きe Θ+ΔΘが導出可能となる。
本実施例では、一例として、すべての関節が球関節のように3自由度持っているとしている。例えば、すべての関節が、肩や股関節のように、軸まわりの回転、縦振り、横振りが可能であると仮定している。しかしながら、実際には自由度が制限される関節もある。例えば肘は1自由度のみである。この点、軸対称に近い部位では可動軸を同定することは困難である。従って、本実施例では、一例として、可動軸を同定することを避け、ある固定ベクトルnを用いて構成した軸まわりの回転をすべての関節について考慮している。但し、円柱や台形柱のような軸対称の幾何モデルでは、軸まわりの回転自由度は不定となるため除外される。具体的には、軸対称の幾何モデルでは、軸回りの自由度を除いた2自由度を有する。従って、軸対称の幾何モデルについては、Δθl'0、Δθl'X、及びΔθl'XXのうちの、軸まわりの関節回転Δθl'0を除くΔθl'X及びΔθl'XXのみが計算される。これにより、計算負荷を効率的に低減できる。尚、実際の可動軸における回転角度を求めたい場合には、回転行列により変換することで取得可能である。
次に、図12の概略フローチャートを参照して、本実施例による対象物認識システム1の動作例について、微小フィッティング処理とともに説明する。
図12は、対象物認識システム1の全体の動作例を示す概略フローチャートである。
ステップS1200では、データ入力部110は、使用する関節モデルを示す情報を取得する。例えば、データ入力部110は、図4に示す関節モデルを示す情報を取得する。関節モデルを示す情報は、関節数(部位数)、接続関係、フィッティング対象の部位、可動関節等を示す情報であってよい。
ステップS1201では、データ入力部110は、jj=0に設定する。
ステップS1202では、データ入力部110は、所定の処理終了条件が成立したか否かを判定する。例えば、非リアルタイムでの処理の場合、所定の処理終了条件は、処理対象の全ての点群データ(例えば複数時点の点群データであって一連の時系列に係るデータ)の処理が終了した場合に満たされてよい。また、リアルタイムでの処理の場合、所定の処理終了条件は、ユーザから終了指示が入力された場合や、今回のフレーム周期に係る点群データが入力されない場合等に満たされてよい。判定結果が"YES"の場合は、そのまま終了し、それ以外の場合は、ステップS1204に進む。
ステップS1203では、データ入力部110は、jjを"1"だけインクリメントする。
ステップS1204では、データ入力部110は、処理対象の1時点に係る点群データであって、時系列でjj番目(即ちjj番目のフレーム)に係る点群データを取得する。例えば、リアルタイムで処理する場合は、今回のフレーム周期に係る点群データが処理対象の1時点に係る点群データとなる。
ステップS1206では、1シーン骨格認識部120は、ステップS1204で得た点群データに基づいて、1シーン骨格認識処理を行う。1シーン骨格認識処理は、上述のとおりである。
ステップS1208では、1シーン骨格認識部120は、1シーン骨格認識処理が成功したか否かを判定する。具体的には、1シーン骨格認識部120は、1シーン骨格認識処理で第1所定基準を満たすキャリブレーション情報(位置c Θ0及び向きe Θ0等)が導出されたと判定した場合に、1シーン骨格認識処理が成功したと判定する。例えば、1シーン骨格認識部120は、所定数の部位を認識でき、かつ、各部位の事後分布のデータ和が、それぞれ所定値Th1以上である場合に、第1所定基準を満たすキャリブレーション情報が導出されたと判定する。所定数の部位は、隠れた部位を除くすべての部位(関節モデルで定義される全ての部位)に対応してよい。各部位の事後分布のデータ和を評価することで、全部位が精度良く認識されている際のキャリブレーション情報を生成できる。判定結果が"YES"の場合は、ステップS1210に進み、それ以外の場合は、ステップS1212に進む。
ステップS1210では、所定の処理終了条件が成立したか否かを判定する。所定の処理終了条件は、ステップS1202と同様であってよい。判定結果が"YES"の場合は、そのまま終了し、それ以外の場合は、ステップS1212に進む。
ステップS1211では、データ入力部110は、jjを"1"だけインクリメントする。
ステップS1212では、データ入力部110は、処理対象の1時点に係る点群データであって、時系列でjj番目に係る点群データを取得する。
ステップS1214では、微小フィッティング処理部150は、ステップS1208で成功となった際のキャリブレーション情報と、ステップS1212で得た点群データとに基づいて、微小フィッティング処理を行う。尚、ここで用いる点群データは、ステップS1212で得た点群データであり、ステップS1204で得た点群データに係る時点(第1時点)よりも後の時点(第2時点)に係る。
ステップS1216では、微小フィッティング処理部150は、微小フィッティング処理が成功したか否かを判定する。具体的には、微小フィッティング処理部150は、微小フィッティング処理で第2所定基準を満たす位置c Θ及び向きe Θが導出されたと判定した場合に、微小フィッティング処理が成功したと判定する。例えば、微小フィッティング処理部150は、事後分布のデータ和の全部位和が所定値Th2以上である場合に、第2所定基準を満たす位置c Θ及び向きe Θが導出されたと判定する。各部位の事後分布のデータ和に代えて、事後分布のデータ和の全部位和を評価することで、一部の部位が精度良く認識されていない状況下でも、事後分布のデータ和の全部位和が比較的良好な値である場合は、微小フィッティング処理を継続できる。これは、微小フィッティングでは、欠損部分が関節回転のみなので、対象者Sの動きを大きく見失うことはないためである。また、微小フィッティングでは、1シーン骨格認識処理でのフィッティングとは異なり、部分的な欠損であれば残りのデータから推定可能であるためである。これにより、例えば、対象者Sが、かがんだ状態など、特徴点の多くが取得できない複雑な姿勢を取った場合でも、比較的高い精度の骨格情報を継続して取得できる。判定結果が"YES"の場合は、ステップS1210に進み、ステップS1210で判定結果が"YES"の場合は、次のフレームに係る点群データに基づく微小フィッティング処理が実行される。他方、判定結果が"NO"の場合は、ステップS1202に戻り、1シーン骨格認識処理を再度行う。
このようにして図12に示す処理によれば、1シーン骨格認識処理で精度の高い認識結果(キャリブレーション情報)が得られた場合に、当該認識結果に基づいて、微小フィッティング処理を行うことができる。これにより、1シーン骨格認識処理をフレームごとに繰り返す場合に比べて、処理速度を高めることができる。また、その後の微小フィッティング処理で認識精度が悪化した場合(事後分布のデータ和の全部位和が所定値Th2未満になった場合)は、1シーン骨格認識処理を再度行うことができる。これにより、微小フィッティング処理を必要以上に継続することに起因して生じる不都合、即ち認識精度の悪化を抑制できる。このようにして、図12に示す処理によれば、処理速度の向上と高い精度の認識結果の確保との両立を図ることができる。
図13は、微小フィッティング処理の概略フローチャートであり、ステップS1214で実行できる処理の一例である。
ステップS1300では、微小フィッティング処理部150は、m=1に設定する。
ステップS1302では、表面残差算出部151は、部位mに係る表面残差εnm及び表面残差の微分ε'nmを算出する。表面残差εnm及び表面残差の微分ε'nmの算出方法は、上述のとおりである。尚、上述の通り、部位mに係る表面残差εnm及び表面残差の微分ε'nmの算出は、部位mに対応付けれた幾何モデルに依存する。例えば、幾何モデルが円柱の場合は、数42〜数45で示した式が使用されてもよい。
ステップS1304では、事後分布算出部152は、ステップS1212で得た点群データと、ステップS1302で得た表面残差εnmとに基づいて、部位mに係る事後分布pnmを算出する。事後分布pnmの算出方法は、上述のとおりである(数51参照)。
ステップS1306では、有限長処理部154は、ステップS1304で得た事後分布pnmに基づいて、有限長処理を行う。有限長処理は、上述のとおりである(数52参照)。
ステップS1308では、微小フィッティング処理部150は、m=M−hであるか否かを判定する。M−hは、上述のように、フィッティング対象の部位の総数である。判定結果が"YES"の場合は、ステップS1312に進み、それ以外の場合は、ステップS1310を介して、ステップS1302に戻る。
ステップS1310では、微小フィッティング処理部150は、mを"1"だけインクリメントする。
ステップS1312では、微小変化算出部156は、微小変化Δθを算出する。この際、微小変化算出部156は、微小変化Δθの各要素Δθl'i'、ΔθM−f+1,i'、及びΔθM−f+2,i'を、l'=1,2、・・・、M−f、及び、i'=0、X,XXの全てについて、一括で算出してよい。この算出は、例えば行列演算により実現できる。
ステップS1314では、微小フィッティング処理部150は、k=1に設定する。
ステップS1316では、パラメータ更新部158は、ステップS1312で得た微小変化Δθに基づいて、位置c Θ+ΔΘ及び向きe Θ+ΔΘを導出し、位置c Θ及び向きe Θを、導出した位置c Θ+ΔΘ及び向きe Θ+ΔΘで更新する。位置c Θ+ΔΘ及び向きe Θ+ΔΘの導出方法は、上述のとおりである。ここで、位置c Θ及び向きe Θの初期値は、位置c Θ0及び向きe Θ0であり、直近のステップS1206で得られる。
ステップS1318では、微小フィッティング処理部150は、k=Mであるか否かを判定する。Mは、上述のようにすべての部位の総数である。
ステップS1320では、微小フィッティング処理部150は、kを"1"だけインクリメントする。
ステップS1322では、分散更新部155は、ステップS1302で得た表面残差εnmと、ステップS1304で得た事後分布pnmとに基づいて、分散σを更新する。分散σの更新方法は上述のとおりである(数53参照)。
このようにして図13に示す処理によれば、図12のステップS1206で得られる1シーン骨格認識処理結果を利用して、比較的高い処理速度で位置c Θ及び向きe Θを更新できる。例えば、フレーム毎のN回の反復計算を行う場合に比べて、N倍速の処理速度を実現できる。
尚、図13に示す処理において、ステップS1316の処理は、並列処理で実現されてもよい。ところで、微小フィッティング処理では、部位mの長さが固定されているので、位置c Θについては、ある一の部位について求めれば他の部位についても導出できるので、ある一の部位についてだけ算出されてもよい。但し、この場合、各部位の向きe Θの結果を統合して各位置c Θを算出する必要があるため、各部位の演算を並列化している場合、同期待ちが発生する。この点、一方、各部位で位置c Θと向きe Θの両方を算出しておけば、そのような同期待ちを回避可能である。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
1 対象物認識システム
21 距離画像センサ
100 対象物認識装置
110 データ入力部
120 1シーン骨格認識部
122 クラスタリング部
124 EMアルゴリズム部
126 モデル最適化部
128 長さ算出部
130 部位認識部
132 骨格整形部
134 キャリブレーション情報生成部
140 幾何モデルデータベース
142 キャリブレーション情報記憶部
150 微小フィッティング処理部
151 表面残差算出部
152 事後分布算出部
154 有限長処理部
155 分散更新部
156 微小変化算出部
158 パラメータ更新部
160 出力部

Claims (21)

  1. 3次元の位置情報を得るセンサから、複数の関節を有する対象物の表面に係る点群データを取得し、
    前記対象物の複数の部位のそれぞれの位置及び軸方向を表す第1パラメータであって、第1時点での第1パラメータを導出又は取得し、
    前記第1時点より後の第2時点での前記点群データと、前記第1時点での前記第1パラメータと、軸を有する幾何モデルとに基づいて、前記第2時点での前記第1パラメータを導出することを含む、コンピュータにより実行される対象物認識方法。
  2. 前記点群データの取得は、周期毎に実行され、
    前記第2時点は、前記第1時点に係る周期の次の周期を含む、請求項1に記載の対象物認識方法。
  3. 前記第1時点での前記第1パラメータの導出は、前記第1時点での前記点群データに、前記幾何モデルを複数の個所で別々に当てはめ、前記第1時点での前記点群データに当てはめる複数の前記幾何モデルのそれぞれの位置及び軸方向に基づいて、前記第1時点での前記第1パラメータを導出する当てはめ処理を含み、
    前記第2時点での前記第1パラメータの導出は、前記第2時点での前記点群データに当てはまる複数の前記幾何モデルのそれぞれの位置及び軸方向を、前記第2時点での前記第1パラメータを導出することを含む、請求項1又は2に記載の対象物認識方法。
  4. 前記当てはめ処理は、前記点群データに含まれるノイズを一様分布でモデル化することを含む、請求項3に記載の対象物認識方法。
  5. 前記幾何モデルは、円柱、円錐、台形柱、楕円柱、楕円錐、及び台形楕円柱のうちの少なくともいずれか1つに係り、
    前記第2時点での前記第1パラメータの導出は、前記第1時点での前記第1パラメータの導出に用いた種類の複数の前記幾何モデルに基づく、請求項3又は4に記載の対象物認識方法。
  6. 前記第2時点での前記第1パラメータの導出は、前記当てはめ処理によって第1所定基準を満たす前記第1パラメータが得られた後に実行され、
    前記当てはめ処理は、前記第1所定基準を満たす前記第1パラメータが得られるまで周期毎に繰り返される、請求項3〜5のうちのいずれか1項に記載の対象物認識方法。
  7. 前記当てはめ処理は、前記第1時点での前記点群データに基づく第1事後分布を算出することを含み、
    前記第1所定基準は、前記複数の部位の数が所定数以上であり、かつ、前記複数の部位のそれぞれに係る前記第1事後分布のデータ和が第1所定値以上である場合に満たされる、請求項6に記載の対象物認識方法。
  8. 前記第2時点での前記第1パラメータの導出結果が第2所定基準を満たすか否かを判定することを更に含み、
    前記第2時点での前記第1パラメータの導出結果が前記第2所定基準を満たさない場合は、新たな前記第1時点での前記第1パラメータの導出からやり直すことを含む、請求項6又は7に記載の対象物認識方法。
  9. 前記第2時点での前記点群データに基づく第2事後分布を算出することを含み、
    前記複数の部位は、複数の前記幾何モデルに対応付けられる複数の第1部位と、前記幾何モデルに対応付けられない複数の第2部位とを含み、
    前記第2所定基準は、前記複数の第1部位のそれぞれに係る前記第2事後分布のデータ和の合計が第2所定値以上である場合に満たされる、請求項8に記載の対象物認識方法。
  10. 前記第2事後分布の算出は、前記複数の第1部位のそれぞれごとに、前記第2時点での前記点群データのうちの、前記第1部位に対応付けられる前記幾何モデルの軸方向の中心からの軸方向の距離が所定距離以上のデータに対し、前記第2事後分布を0にすることを含む、請求項9に記載の対象物認識方法。
  11. 前記対象物は、人、又は、人型のロボットであり、
    前記複数の第2部位は、前記対象物の腕部の根本の関節と、前記対象物の胴部における頭部側の関節とを結ぶ部位と、前記対象物の脚部の根本の関節と、前記対象物の胴部における前記脚部側の関節とを結ぶ部位を含む、請求項10に記載の対象物認識方法。
  12. 前記第2時点での前記第1パラメータの導出結果が前記第2所定基準を満たす場合は、該第2時点での前記第2時点での前記第1パラメータの導出結果と、該第2時点に係る周期の次の周期の前記点群データとに基づいて、新たな前記第2時点での前記第1パラメータを導出することを更に含む、請求項8〜11のうちのいずれか1項に記載の対象物認識方法。
  13. 前記第2時点での前記第1パラメータの導出は、前記複数の部位のそれぞれごとに、位置及び軸方向のそれぞれの変化であって、前記第1時点からの変化を表す第2パラメータを導出することを含む、請求項12に記載の対象物認識方法。
  14. 前記第2パラメータの算出は、前記対象物の関節に対応付け可能な複数の関節を有する機構モデルを用いた順運動学に基く計算処理を含む、請求項13に記載の対象物認識方法。
  15. 前記計算処理は、前記対象物の重心の並進、回転、及び前記複数の関節のそれぞれの回転を、微小変化するものとして扱うことを伴う、請求項14に記載の対象物認識方法。
  16. 前記複数の部位は、可動部位と、非可動部位とを含み、
    前記機構モデルは、前記複数の関節のうちの前記可動部位に係る各関節に3軸まわりの回転自由度を与えるモデルである、請求項15に記載の対象物認識方法。
  17. 前記第2パラメータの算出は、前記計算処理のうちの、前記複数の関節のうちの前記非可動部位間の関節に係る計算部分を省略することを含む、請求項16に記載の対象物認識方法。
  18. 前記第2パラメータの算出は、前記計算処理のうちの、前記複数の部位のうちの軸対称の幾何モデルに対応付けられる部位に係る計算部分であって、軸まわりの回転に係る計算部分を省略することを含む、請求項16に記載の対象物認識方法。
  19. 3次元の位置情報を得るセンサから、複数の関節を有する対象物の表面に係る点群データを取得する取得部と、
    前記対象物の複数の部位のそれぞれの位置及び軸方向を表す第1パラメータであって、第1時点での第1パラメータを導出又は取得するパラメータ導出/取得部と、
    前記第1時点より後の第2時点での前記点群データと、前記第1時点での前記第1パラメータと、軸を有する幾何モデルとに基づいて、前記第2時点での前記第1パラメータを導出する導出処理部とを含む、対象物認識装置。
  20. 3次元の位置情報を得るセンサと、
    前記センサから、複数の関節を有する対象物の表面に係る点群データを取得する取得部と、
    前記対象物の複数の部位のそれぞれの位置及び軸方向を表す第1パラメータであって、第1時点での第1パラメータを導出又は取得するパラメータ導出/取得部と、
    前記第1時点より後の第2時点での前記点群データと、前記第1時点での前記第1パラメータと、軸を有する幾何モデルとに基づいて、前記第2時点での前記第1パラメータを導出する導出処理部とを含む、対象物認識システム。
  21. 3次元の位置情報を得るセンサから、複数の関節を有する対象物の表面に係る点群データを取得し、
    前記対象物の複数の部位のそれぞれの位置及び軸方向を表す第1パラメータであって、第1時点での第1パラメータを導出又は取得し、
    前記第1時点より後の第2時点での前記点群データと、前記第1時点での前記第1パラメータと、軸を有する幾何モデルとに基づいて、前記第2時点での前記第1パラメータを導出する
    処理をコンピュータに実行させる対象物認識プログラム。
JP2019516792A 2017-05-10 2017-05-10 対象物認識方法、装置、システム、プログラム Active JP6996557B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/017695 WO2018207282A1 (ja) 2017-05-10 2017-05-10 対象物認識方法、装置、システム、プログラム

Publications (2)

Publication Number Publication Date
JPWO2018207282A1 true JPWO2018207282A1 (ja) 2020-03-12
JP6996557B2 JP6996557B2 (ja) 2022-02-21

Family

ID=64104549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019516792A Active JP6996557B2 (ja) 2017-05-10 2017-05-10 対象物認識方法、装置、システム、プログラム

Country Status (5)

Country Link
US (1) US11126831B2 (ja)
EP (1) EP3624059A4 (ja)
JP (1) JP6996557B2 (ja)
CN (1) CN110603570B (ja)
WO (1) WO2018207282A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018207282A1 (ja) 2017-05-10 2018-11-15 富士通株式会社 対象物認識方法、装置、システム、プログラム
EP3425591B1 (en) * 2017-07-07 2021-01-13 Tata Consultancy Services Limited System and method for tracking body joints
WO2019030794A1 (ja) 2017-08-07 2019-02-14 富士通株式会社 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法
EP3825730A1 (en) * 2019-11-21 2021-05-26 Bentley Systems, Incorporated Assigning each point of a point cloud to a scanner position of a plurality of different scanner positions in a point cloud
JP6800509B1 (ja) * 2020-09-30 2020-12-16 アースアイズ株式会社 撮影システム、及び、撮影方法
CN113436223B (zh) * 2021-07-14 2022-05-24 北京市测绘设计研究院 点云数据的分割方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015472A (ja) * 2008-07-07 2010-01-21 Nippon Telegr & Teleph Corp <Ntt> 歩行者性別判定装置、歩行者性別判定方法、歩行者性別判定プログラムおよびその記録媒体
JP2015102913A (ja) * 2013-11-21 2015-06-04 キヤノン株式会社 姿勢推定装置及び姿勢推定方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149445A (ja) 1996-11-19 1998-06-02 Image Joho Kagaku Kenkyusho 身体動作解析可視化装置
JP2006302133A (ja) * 2005-04-22 2006-11-02 Toyota Motor Corp 情報処理装置、情報処理方法、及びこれを用いた画像情報処理装置、画像情報処理方法
KR100951890B1 (ko) * 2008-01-25 2010-04-12 성균관대학교산학협력단 상황 모니터링을 적용한 실시간 물체 인식 및 자세 추정 방법
US9135502B2 (en) 2009-05-11 2015-09-15 Universitat Zu Lubeck Method for the real-time-capable, computer-assisted analysis of an image sequence containing a variable pose
US8542252B2 (en) * 2009-05-29 2013-09-24 Microsoft Corporation Target digitization, extraction, and tracking
JP5297403B2 (ja) 2010-02-26 2013-09-25 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、プログラムおよび記憶媒体
EP2383696A1 (en) 2010-04-30 2011-11-02 LiberoVision AG Method for estimating a pose of an articulated object model
US20130144135A1 (en) * 2011-08-02 2013-06-06 Mohamed R. Mahfouz Method and apparatus for three dimensional reconstruction of a joint using ultrasound
WO2012156141A1 (en) 2011-05-16 2012-11-22 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Fast articulated motion tracking
US9367770B2 (en) * 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
WO2013033442A1 (en) * 2011-08-30 2013-03-07 Digimarc Corporation Methods and arrangements for identifying objects
JP2013115380A (ja) * 2011-11-30 2013-06-10 Panasonic Corp 部品実装装置および部品実装方法
WO2013112749A1 (en) 2012-01-24 2013-08-01 University Of Southern California 3d body modeling, from a single or multiple 3d cameras, in the presence of motion
US20130335528A1 (en) * 2012-05-15 2013-12-19 Board Of Regents Of The University Of Texas System Imaging device capable of producing three dimensional representations and methods of use
EP2674913B1 (en) * 2012-06-14 2014-07-23 Softkinetic Software Three-dimensional object modelling fitting & tracking.
JP5871345B2 (ja) * 2012-07-27 2016-03-01 Necソリューションイノベータ株式会社 3次元ユーザインタフェース装置及び3次元操作方法
US20150193977A1 (en) * 2012-08-31 2015-07-09 Google Inc. Self-Describing Three-Dimensional (3D) Object Recognition and Control Descriptors for Augmented Reality Interfaces
JP2015170907A (ja) * 2014-03-05 2015-09-28 キヤノン株式会社 スキャナシステム、スキャナシステムのデータ処理方法、及びプログラム
US9928412B2 (en) 2014-10-17 2018-03-27 Ebay Inc. Method, medium, and system for fast 3D model fitting and anthropometrics
JP2016103137A (ja) * 2014-11-28 2016-06-02 キヤノン株式会社 ユーザインタフェース装置、画像処理装置及び制御用プログラム
US9911219B2 (en) * 2015-05-13 2018-03-06 Intel Corporation Detection, tracking, and pose estimation of an articulated body
JP2017036998A (ja) * 2015-08-10 2017-02-16 株式会社東芝 色情報決定装置および画像生成装置
JP2017073039A (ja) * 2015-10-08 2017-04-13 キヤノン株式会社 物体識別装置、物体識別方法及びプログラム
US10186081B2 (en) 2015-12-29 2019-01-22 Microsoft Technology Licensing, Llc Tracking rigged smooth-surface models of articulated objects
US9898858B2 (en) 2016-05-18 2018-02-20 Siemens Healthcare Gmbh Human body representation with non-rigid parts in an imaging system
EP3249921A1 (en) * 2016-05-24 2017-11-29 Thomson Licensing Method, apparatus and stream for immersive video format
WO2018207282A1 (ja) 2017-05-10 2018-11-15 富士通株式会社 対象物認識方法、装置、システム、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015472A (ja) * 2008-07-07 2010-01-21 Nippon Telegr & Teleph Corp <Ntt> 歩行者性別判定装置、歩行者性別判定方法、歩行者性別判定プログラムおよびその記録媒体
JP2015102913A (ja) * 2013-11-21 2015-06-04 キヤノン株式会社 姿勢推定装置及び姿勢推定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
堀内 英一: "シングルスキャン点群データのための半形状幾何学モデル", 日本ロボット学会誌, vol. 第32巻 第8号, JPN6017030748, 15 October 2014 (2014-10-15), JP, pages 57 - 66, ISSN: 0004510849 *
宮本 新 他: "骨格線モデルと円筒多関節モデルを併用した人体の姿勢推定", 情報処理学会研究報告, vol. 第2006巻 第51号, JPN6020042753, 19 May 2006 (2006-05-19), JP, pages 137 - 144, ISSN: 0004510850 *

Also Published As

Publication number Publication date
EP3624059A4 (en) 2020-05-27
CN110603570A (zh) 2019-12-20
EP3624059A1 (en) 2020-03-18
US11126831B2 (en) 2021-09-21
CN110603570B (zh) 2023-08-04
US20200074161A1 (en) 2020-03-05
WO2018207282A1 (ja) 2018-11-15
JP6996557B2 (ja) 2022-02-21

Similar Documents

Publication Publication Date Title
JP6996557B2 (ja) 対象物認識方法、装置、システム、プログラム
JP6947215B2 (ja) 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法
CN105930767B (zh) 一种基于人体骨架的动作识别方法
JP4950787B2 (ja) 画像処理装置及びその方法
Green et al. Quantifying and recognizing human movement patterns from monocular video images-part i: a new framework for modeling human motion
WO2021084677A1 (ja) 画像処理装置、画像処理方法及び画像処理プログラムが格納された非一時的なコンピュータ可読媒体
KR101700377B1 (ko) 아바타 생성을 위한 처리 장치 및 방법
KR101333836B1 (ko) 에이에이엠 및 추정된 깊이 정보를 이용하는 3차원 얼굴 포즈 및 표정 변화 추정 방법
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
JP2019191981A (ja) 行動認識装置、モデル構築装置及びプログラム
JP6465027B2 (ja) 特徴点位置推定装置、特徴点位置推定方法および特徴点位置推定プログラム
JP4765075B2 (ja) ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム
JP4535096B2 (ja) 平面抽出方法、その装置、そのプログラム、その記録媒体及び撮像装置
JP2003271975A (ja) 平面抽出方法、その装置、そのプログラム、その記録媒体及び平面抽出装置搭載型ロボット装置
Zhang et al. 3D statistical head modeling for face/head-related product design: a state-of-the-art review
WO2018207292A1 (ja) 対象物認識方法、装置、システム、プログラム
US20220414291A1 (en) Device for Defining a Sequence of Movements in a Generic Model
CN114219920B (zh) 三维人脸模型的构建方法及装置、存储介质、终端
JP5872401B2 (ja) 領域分割装置
Endres et al. Graph-based action models for human motion classification
JP7464512B2 (ja) 三次元人物姿勢推定装置、方法およびプログラム
Bhanu et al. Model-based human recognition—2D and 3D gait
US20230057235A1 (en) Computer-readable recording medium storing determination program, determination device, and determination method
WO2023162223A1 (ja) 学習プログラム、生成プログラム、学習方法および生成方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211129

R150 Certificate of patent or registration of utility model

Ref document number: 6996557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150