JP6947215B2 - 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法 - Google Patents

情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法 Download PDF

Info

Publication number
JP6947215B2
JP6947215B2 JP2019536009A JP2019536009A JP6947215B2 JP 6947215 B2 JP6947215 B2 JP 6947215B2 JP 2019536009 A JP2019536009 A JP 2019536009A JP 2019536009 A JP2019536009 A JP 2019536009A JP 6947215 B2 JP6947215 B2 JP 6947215B2
Authority
JP
Japan
Prior art keywords
model
object model
point cloud
cloud data
geometric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019536009A
Other languages
English (en)
Other versions
JPWO2019030794A1 (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 JPWO2019030794A1 publication Critical patent/JPWO2019030794A1/ja
Application granted granted Critical
Publication of JP6947215B2 publication Critical patent/JP6947215B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • 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
    • 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/30221Sports video; Sports image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

本開示は、情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法に関する。
人など対象物の表面に点在する点群データに基づいて、対象物の骨格を追跡する技術が知られている(例えば、非特許文献1参照)。この技術では、対象物の表面を多数の分割したメッシュでモデル化し、点と点との距離(即ち2点間距離)に基づいてメッシュ頂点と点群データを合わせこむことで、対象物の姿勢を推定している。
M. Ye and R. Yangによる"Real-time Simultaneous Pose and Shape Estimation for Articulated Objects Using a Single Depth Camera" in CVPR (2014) 特開平10-149445号公報 特開2011-179907号公報
しかしながら、上記のような従来技術では、点群データに基づいて対象物の状態(姿勢など)を認識する際、比較的低い計算負荷でノイズに対してロバストに精度の高い結果を得ることが難しい。例えば、メッシュでモデル化を行う上記の従来技術では、メッシュ頂点の数を増やすことで対象物の形状を詳細に表現が可能であるが、ノイズの比較的多い点群データではモデルの表現力が活きず、かつ、誤差が増加し易い。即ち、メッシュ間隔に起因する誤差が上乗せされてしまう。また、点群数が例えば1,000であり、メッシュ頂点数が例えば1,000であると、1,000,000の組合わせ計算が必要となり、計算量が膨大となり得る。
そこで、1つの側面では、本発明は、比較的低い計算負荷でかつノイズに対してロバストな態様で、点群データに基づいて対象物の状態を認識可能とすることを目的とする。
本開示の一局面によれば、3次元の位置情報を得るセンサから、関節を介して繋がる複数の部位を有する対象物の表面に係る点群データを取得する取得部と、
軸を有する複数の幾何モデルを用いて複数の前記部位を表現する対象物モデルと、前記点群データとに基づいて、前記対象物モデルを変化させながら、前記点群データに整合する前記対象物モデルに係る最適解を探索する最適化処理部と、
前記最適解又は該最適解に基づく対象物情報を出力する出力部とを含む、情報処理装置が提供される。
本開示によれば、比較的低い計算負荷でかつノイズに対してロバストな態様で、点群データに基づいて対象物の状態が認識可能となる。
一実施例による対象物認識システムの概略構成を模式的に示す図である。 対象物認識装置のハードウェア構成の一例を示す図である。 対象物認識装置の機能の一例を示すブロック図である。 関節モデルの一例の説明図である。 対象物モデルの一例の説明図である。 対象物モデルの他の一例の説明図である。 初期状態の設定方法の一例の説明図である。 幾何モデルのパラメータの説明図である。 点群データxの一例の説明図である。 χklの説明図である。 χklの説明のための部位へ番号の割り当て例を示す図である。 出力例を示す図である。 対象物認識装置により実行される処理の一例を示すフローチャートである。 更新処理の一例を示すフローチャートである。 対象物認識装置により実行される処理の他の一例を示すフローチャートである。 事後分布pnmの算出結果の説明図である。 フィッティング結果の説明図である。 フィッティング結果の説明図である。 フィッティング結果の説明図である。
本明細書において、特に言及しない限り、「あるパラメータ(例えば後述のパラメータθ)を導出する」とは、「該パラメータの値を導出する」ことを意味する。
図1は、一実施例による対象物認識システム1の概略構成を模式的に示す図である。図1には、説明用に、対象者S(対象物の一例)が示されている。また、図1には、表示装置7が併せて示される。
対象物認識システム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は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器(例えば図1に示す表示装置7)と対象物認識装置100とのインターフェースである。
入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやスライスパット等を有する。入力部107は、音声入力やジェスチャー等の他の入力方法に対応してもよい。
尚、図2に示す例において、以下で説明する各種処理等は、プログラムを対象物認識装置100に実行させることで実現できる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105を対象物認識装置100に読み取らせて、以下で説明する各種処理等を実現させることも可能である。なお、記録媒体105は、様々なタイプの記録媒体を用いることができる。例えば、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体105には、搬送波は含まれない。
図3は、対象物認識装置100の機能の一例を示すブロック図である。
対象物認識装置100は、データ入力部120(取得部の一例)と、初期状態設定部122と、最適化部124(最適化処理部の一例)と、出力部126を含む。各部120乃至126は、図2に示す制御部101が主記憶部102に記憶された1つ以上のプログラムを実行することで実現できる。尚、対象物認識装置100の機能の一部は、距離画像センサ21に内蔵されうるコンピュータにより実現されてもよい。また、対象物認識装置100は、幾何モデルデータベース140(図3では、"幾何モデルDB"と表記)を含む。幾何モデルデータベース140は、図2に示す補助記憶部103により実現されてよい。
データ入力部120には、距離画像センサ21から距離画像(以下、「点群データ」と称する)が入力されるとともに、使用する関節モデルが入力される。点群データは、上述のとおりであり、例えばフレーム周期毎に入力されてよい。また、複数の距離画像センサ21が用いられる場合は、点群データは、複数の距離画像センサ21からの距離画像の集合を含んでよい。
使用する関節モデルは、対象者Sの関節に係る任意のモデルであり、例えば、複数の関節と、関節間の骨格(リンク)とで表されるモデルである。本実施例では、一例として、図4に示すような関節モデルが用いられる。図4に示すような関節モデルは、頭部が1つ、胴部(胴体部)、両腕部、及び両脚部がそれぞれ3つの関節を持つ16関節モデルであり、頭部は両端が関節として規定され、その他は両端及び中点の3つが関節として規定される。具体的には、関節モデルは、16個の関節a0〜a15と、関節間を繋ぐ15個の骨格b1〜b15(又は「部位b1〜b15」とも称する)とからなる。尚、理解できるように、例えば関節a4,a7は、左右の肩の関節であり、関節a2は、頸椎に係る関節である。また、関節a14,a15は、左右の股関節であり、関節a0は、腰椎に係る関節である。このような関節モデルでは、股関節に係る骨格b14、b15や、肩の関節に係る骨格b4、b7は、後述の幾何モデルを用いたフィッティングだけでは精度良く認識できない骨格(以下、「隠れた骨格」とも称する)となる。尚、以下の説明において、関節や部位に関する位置関係について、「祖先」とは、体の中心に近い側を指し、「子孫」とは、体の中心から遠い側を指す。
初期状態設定部122は、データ入力部120に入力される点群データと、幾何モデルデータベース140内の幾何モデルとに基づいて、最適化部124で用いる対象物モデルの初期状態を生成する。対象物モデルは、対象者Sの体表面に係るモデルであり、使用する関節モデルと、幾何モデルデータベース140内の幾何モデルに基づいて、生成される。より具体的には、対象物モデルは、図5Aに示すように、複数の幾何モデルが、複数の関節を介して繋がるモデルである。即ち、対象物モデルは、関節モデルで表現される対象者Sの部位(隠れた部位の除く部位)ごとに、幾何モデルを有する。図5Aに示す例では、対象物モデルは、11個の幾何モデルMd1〜Md11が、複数の関節(黒●で表現)を介して繋がるモデルである。本実施例では、一例として、図5Aに示すような対象物モデルが用いられる。幾何モデルデータベース140内の幾何モデルは、例えば円柱に係り、以下では、主に円柱に係る幾何モデルを用いる場合について説明する。他の幾何モデルの可能性は後述する。
尚、変形例では、図5Bに示すように、より多くの幾何モデルが使用されてもよい。図5Bに示す例では、図5Aに示す対象物モデルに対して、首に対応する幾何モデルMd12と、足首から先の足の末端部に対応する幾何モデルMd13、Md14が追加されている。なお、この場合、図示は省略するが、使用する関節モデルについても、図4に示した関節モデルに対して、関節が追加されることになる。
対象物モデルの自由度は、隣接する幾何モデル間(即ち関節)での回転(以下、「関節回転」とも称する)と、幾何モデル自体の変位である。対象物モデルは、隣接する幾何モデル間で回転の自由度を有するので、"幾何形状付きリンク機構モデル"とも言うことができる。対象物モデルの自由度の詳細は後述する。
初期状態設定部122は、好ましくは、図6Aに模式的に示すように、対象物モデル600に係る重心が、点群データの重心に一致し、かつ、複数の幾何モデルのうちの、対象物の左右の腕部に対応付けられる幾何モデルが左右に開いた状態を、初期状態に設定する。図6Aでは、対象物モデル600に係る重心Gmは、点群データxの重心Gsと一致され、左右の腕部が真横に開かれている。初期状態の設定に用いる対象物モデルの重心は、対象物モデルに含まれる全ての幾何モデルに基づく重心であってもよいが、特定の部位に係る幾何モデルの重心であってもよい。特定の部位に係る幾何モデルは、例えば腰部に係る幾何モデル(図5Aの幾何モデルMd1参照)である。また、変形例では、初期状態は、左右の脚部に対応付けられる幾何モデルが左右に開いた状態を含んでもよい。
対象物モデルの初期状態は、例えば、対象物モデルに含まれる各幾何モデルの位置、方向、太さ、及び長さの各初期値で表現されてよい。本実施例では、一例として、図6Bに示すように、一の幾何モデルは、位置c、方向e、太さr、及び長さlで表現される。位置c及び方向eは、ベクトルであり、方向eは、円柱の軸Iの向きを表す単位ベクトル表現であるとする。位置cは、円柱の軸I上の、長さ方向の中点位置Gに係る位置ベクトルである。尚、長さlに代えて、等価的に、円柱の軸I上の上下の端点の位置(即ち関節の位置)が利用されてもよい。
最適化部124は、データ入力部120に入力される点群データと、初期状態設定部122で生成される対象物モデルの初期状態とに基づいて、EMアルゴリズムによりフィッティングを行う。初期状態設定部122で得た対象物モデルの初期状態を用いるのは、EMアルゴリズムではある程度、解に近い初期値を与えることが有用であるためである。
以下では、対象者Sの部位m(m=1,2、・・・、M−h)に係る幾何モデル(ここでは円柱)の位置c、方向e、太さr、及び長さlを、c、e、r、及びlを表記する。従って、対象者Sの部位mに係る幾何モデルは、位置c、方向e、太さr、及び長さlの4つのモデルパラメータで表現される。対象者Sの部位mは、対象物モデルにおける骨格b1〜b15(又は「部位b1〜b15」とも称する)に対応する。Mは、関節モデルの全部位数(隠れた部位を含む全部位の総数)であり、図4に示す関節モデルでは、"15"である。「M−h」を用いるのは、フィッティングに寄与しない部位を除外するためである。従って、部位mとは、対象者Sの全部位のうちの、幾何モデルによるフィッティングの対象となる部位である。以下では、区別するときは、対象者Sの全部位のうちの任意の一部位を、「部位k」とも表記する。
また、点群データxは、3次元の空間座標(x,y,z)で表現されるN個の各点(例えば位置ベクトル)の集合(x、x、・・・、x)であるとする。この場合、例えば空間座標のx成分及びy成分は、画像平面内の2次元座標の値であり、x成分は、水平方向の成分であり、y成分は、垂直方向の成分である。また、z成分は、距離を表す。図7には、点群データxの一例が示される。また、対象物モデルの関節回転、対象物モデルの重心の回転、及び対象物モデルの所定関節(以下、「根幹関節」と称する)の並進、並びに太さr及び長さlを表すパラメータを、「変形パラメータθar」と称する。根幹関節とは、部位m(m=1,2、・・・、M−h)のうちの1つの所定部位の祖先側(根本側)の関節であり、所定部位は、他の部位の関節回転では動かない部位である。根幹関節は、対象物モデルにおける例えば骨盤部と胴部との間の関節(図4の関節a0)である。尚、対象物モデルの重心の回転とは、対象物モデル全体としての回転と同義である。同様に、根幹関節の並進とは、対象物モデル全体としての並進と同義となる。
本実施例では、点群データxと部位mに係る幾何モデルの表面残差ε(xar)(軸まわりの表面に垂直な方向の差)がガウス分布であることが仮定される。具体的には、以下のとおりである。
Figure 0006947215
ここで、p(x)は、点群データxの混合確率分布モデルであり、σは、分散である。このとき、対応する対数尤度関数は、以下のとおりである。
Figure 0006947215
部位mに係る幾何モデルが円柱であるとき、表面残差ε(x,θ)は、次の通り表現できる。尚、ベクトル間の符号"×"は外積を表す。
ε(x,θ)=|(x−e)×e|−r
EMアルゴリズムは、知られているように、期待値を算出するEステップと、期待値を最大化するMステップの繰返しである。
Eステップでは、最適化部124は、以下の事後分布pnm(指標値の一例)を計算する。
Figure 0006947215
Mステップでは、最適化部124は、以下の期待値Q(θar)を最大化するパラメータθar及び分散σを導出する。尚、Mステップでは、事後分布pnmは定数として扱われる。
Figure 0006947215
ここで、Pは、事後分布pnmのデータ和の全部位の和(以下、「事後分布pnmのデータ和の全部位和」とも称する)であり、以下のとおりである。
Figure 0006947215
期待値Q(θar)の分散σによる偏微分から、期待値Q(θar)を最大化する分散σの推定値σ は、以下のとおりである。
Figure 0006947215
この推定値σ を数4の式に代入すると、以下のとおりである。
Figure 0006947215
また、パラメータθarの各要素のうちの、太さrについてはもとより線形であるので、太さrの推定値r*mは、以下の通り、直接的に最小化が可能である。
Figure 0006947215
期待値Q(θar)は、パラメータθarの各要素のうちの、太さr以外については非線形関数であるが、本実施例では微小変形を想定するため、線形近似により更新式を計算する。尤度関数の最大化問題は、分散σと同様に、線形近似により解を導出できる。具体的には、変形パラメータθarの微小変化Δθを用いると、以下のとおりである。
Figure 0006947215
よって、変形パラメータθarの微小変化Δθは、表面残差εnm、及び、表面残差の微分ε'nmを用いて、以下のとおりである。尚、数10において(以下も同様)、は、転置を表す。
Figure 0006947215
表面残差εnm、及び、表面残差の微分ε'nmは、以下の通り定義される。尚、θarは、変形パラメータである。
Figure 0006947215
表現〈〉については、事後分布pnmを用いた平均操作であり、任意のテンソルないし行列anmに対して、以下の通りとする。
Figure 0006947215
表面残差εnm、及び、表面残差の微分ε'nmに基づく微小変化Δθの算出方法は、次の通り、機構モデルを用いた順運動学に基づいて実現できる。
以下では、位置c Θ及び向きe Θは、ある姿勢Θにおける部位mに係る幾何モデルの位置及び向きを表す。尚、位置c Θは、部位mの祖先側の関節の位置である。微小変化Δθによる位置c Θ及び向きe Θのそれぞれの変化をΔc Θ及びΔe Θとしたとき、変化Δc Θ及びΔe Θの後の位置c Θ+ΔΘ及び向きe Θ+ΔΘは、それぞれ以下の通り表すことができる。尚、部位kは、上述のように、隠れた部位を含み、従って、図4に示す関節モデルでは、k=1,2、・・・、15である。尚、向きe Θ+ΔΘについては、ノルムが保存される態様で更新される。
Figure 0006947215
Figure 0006947215
ここで、Δc Θ及びΔe Θは、機構モデルの順運動学に基づき、以下の関係を有する。
Figure 0006947215
Figure 0006947215
ここで、cは、根幹関節の位置である。添字lは、可動部位を指し、総数はM−f(例えば13)である。また、fは、可動しない関節数である。可動しない関節とは、例えば骨盤部(図4の部位b14、b15参照)に係る関節(図4の関節a0参照)である。また、Δl、Δθli、ΔθM−f+1,i、及びΔθM−f+2,iは、微小変化Δθの各要素である。Δlは、部位k(k=1,2、・・・、M)の長さの変化を表す。また、Δθliは、可動部位l(l=1,2、・・・、M−f)の祖先側(根本側)の関節回転を表し、ΔθM−f+1,iは、対象物モデルの重心の回転を表し、ΔθM−f+2,iは、根幹関節の並進(3次元)を表す。また、添字iは、ΔθM−f+2,iについては空間次元(本実施例では、3次元であり、i=1、2,3)を表し、ΔθliやΔθM−f+1,iのようなその他については、回転の自由度(本実施例では、3自由度であり、i=0、X,XX)を表す。eli Θ(i=0、X,XX)は、ある姿勢Θにおける可動部位lの回転軸eli Θであり、以下のとおりである。
Figure 0006947215
尚、nは、任意の単位ベクトル(固定ベクトル)であり、例えば距離画像センサ21の方向に係る単位ベクトルであってよい。その他、数15及び数16(後出の数22〜数24も同様)において用いられるベクトルは、以下のとおりである。
Figure 0006947215
また、数16において用いられるδklは、クロネッカーのデルタであり、以下のとおりである。
Figure 0006947215
また、χklは、部位k(k=1,2、・・・、15)と可動部位l(l=1,2、・・・、13)との祖先・子孫関係を表すパラメータであり、例えば、図8Aに示すとおりである。図8Aにおける部位の番号は、図8Bに示すとおりである。例えば、部位k=部位6でありかつ可動部位l=部位5であるとき、χ56=1である。これは、部位5が部位6の祖先側にあるためである。尚、図8A及び図8Bに示す例では、可動しない骨盤部の番号が最後の2つ"14"及び"15"とされかつが列から除外されている。尚、行と列は、同一の番号が同一の部位を指す。
尚、ここで、添字の表記について整理すると、添字kはすべての部位を指し、総数はMである。添字mは、フィッティング対象の部位を指し、総数はM−hである。添字lは、可動部位を指し、総数はM−fである。尚、これらの添字は同じ番号でも同一の部位を指すとは限らない。
幾何モデルが円柱の場合、表面残差は、上述したが、以下の通り、軸まわりの表面(円筒状の表面)に対する径方向の差として、表現されてよい。
Figure 0006947215
このとき、表面残差の微分は、機構モデルの順運動学(数15及び数16の関係式)に基づき、以下のとおりである。
Figure 0006947215
Figure 0006947215
Figure 0006947215
Figure 0006947215
Δlは、部位kの長さの変化を表し、Δlによる表面残差の微分を、「ε'nmΔl」とも表記する。Δθliは、上述のように可動部位lの関節回転を表し、Δθliによる表面残差の微分を、「ε'nmli」とも表記する。Δθnm,M−f+1,iは、上述のように対象物モデルの重心の回転を表し、Δθnm,M−f+1,iによる表面残差の微分を、「ε'nm,M−f+1,i」と表記する。Δθnm,M−f+2,iは、上述のように根幹関節の並進(3次元)を表し、Δθnm,M−f+2,iによる表面残差の微分を、「ε'nm,M−f+2,i」と表記する。また、χmkは、以下のとおりである。
Figure 0006947215
χmkは、部位mと部位k間の祖先・子孫関係を表すパラメータである。χσ(m)lは、部位mのうちの部位σ(m)と可動部位l(l=1,2、・・・、13)との祖先・子孫関係を表すパラメータであり、部位σ(m)は、可動部位lの子孫側の隣接部位を表す。χmkやχσ(m)lについて、考え方は、部位kと可動部位lとに係るχklと実質的に同様であり、図8A及び図8Bを参照して上述した通りである。
最適化部124は、幾何モデルが円柱である場合は、Δθli、ΔθM−f+1,i、及びΔθM−f+2,iを、数22、数23、及び数24の式と、数10とに基づいて導出できる。換言すると、ε'nmliは、上記の数10の式から、関節回転Δθliを得るための表面残差の微分である。同様に、ε'nm,M−f+1,iは、上記の数10の式から、ΔθM−f+1,iを得るための表面残差の微分である。同様に、ε'nm,M−f+2,iは、上記の数10の式から、ΔθM−f+2,iを得るための表面残差の微分である。尚、円柱以外の幾何モデルについても、以下の表面残差を用いて同様に導出可能である。
円錐の場合、表面残差ε(xar)は、以下の通り表現されてよい。尚、円錐(楕円錐の場合も同様)では、位置c Θは、ある姿勢Θにおける頂点位置に対応し、ある姿勢Θにおける向きe Θは、中心軸の単位ベクトルである。
Figure 0006947215
ベクトルnは、円錐の表面上のある1点における法線ベクトルである。台形柱の場合、円錐の場合と同様であってよい。
また、楕円柱の場合、表面残差ε(xar)は、以下の通り表現されてよい。
Figure 0006947215
は、焦点距離であり、aは、断面の楕円の長軸の長さであり、n 'は、長軸方向の単位ベクトルである。尚、同様に、位置cは軸上の位置に対応し、向きeは、楕円柱の軸(軸方向)の単位ベクトルである。
また、楕円錐の場合、表面残差ε(xar)は、以下の通り表現されてよい。
Figure 0006947215
ここで、ψm1及びψm2は、それぞれ長軸及び短軸方向への傾斜角である。また、同様に、位置cは頂点位置に対応し、向きeは、中心軸の単位ベクトルである。台形楕円柱の場合、表面残差ε(xar)は、楕円錐の場合と同様であってよい。
最適化部124は、Δl、Δθli、ΔθM−f+1,i、及びΔθM−f+2,iを得ると、Δl、Δθli、ΔθM−f+1,i、及びΔθM−f+2,iを数15及び数16に代入することで、Δc Θ及びΔe Θを導出してもよい。そして、最適化部124は、Δc Θ及びΔe Θを得ると、数13乃至数16の更新式に基づいて、部位kの位置c Θ+ΔΘ及び向きe Θ+ΔΘを導出(更新)してもよい。
或いは、最適化部124は、Δl、Δθli、ΔθM−f+1,i、及びΔθM−f+2,iを得ると、回転行列を利用して、部位kの位置c Θ+ΔΘ及び向きe Θ+ΔΘ等を導出(更新)してもよい(後出の図10B参照)。
最適化部124は、このようにしてMステップを行うことで、期待値を最大化する分散σ及びパラメータθar(最適解の一例)を得ると、収束条件を判定し、収束条件を満たさない場合は、Eステップから繰り返す。収束条件は、例えば最適解の前回値からの変化量が所定変化量以下になった場合に満たされる。収束条件の更なる具体例は、後述する。次のEステップでは、最適化部124は、微小変化Δθの後の対象物モデル(即ち直前のMステップで得た分散σ及びパラメータθar)に基づいて、新たな事後分布pnmを計算する。そして、次のMステップでは、同様に、新たな事後分布pnmに基づいて、期待値を最大化する分散σ及びパラメータθarを導出する。
出力部126は、最適化部124で得られる最適解、又は、該最適解に基づき導出される対象者Sに係る情報(対象物情報の一例)を出力する。例えば、出力部126は、表示装置7(図1参照)等に、対象者Sの骨格情報を出力する。例えば、出力部126は、フレーム周期ごとに、略リアルタイムに、対象者Sの骨格情報を出力してもよい。或いは、対象者Sの動きの解説用などでは、出力部126は、非リアルタイムで、骨格情報を時系列に出力してもよい。
骨格情報は、関節a0〜a15の各位置を特定できる情報を含んでもよい。また、骨格情報は、骨格b1〜b15の位置や、向き、太さを特定できる情報を含んでもよい。骨格情報の用途は任意であるが、次のフレーム周期における同骨格情報の導出に利用されてもよい。また、骨格情報は、最終的には、体操等の競技時の対象者Sの動きの解析に利用されてもよい。例えば体操の競技時の対象者Sの動きの解析では、骨格情報に基づく技の認識が実現されてもよい。図9には、一例として、対象者Sが体操選手であるときの表示例が示される。図9に示す例では、"わざ(技)"とともに、各種角度(右ひじ角度等)の数値が数値されている。各種角度は、対象者Sの骨格情報に基づいて導出された値である。このようにして、本実施例によれば、例えば体操競技において、各種角度を数値化できるので、目視判定では限界があった採点者による"わざ"の判定が容易となる。
尚、骨格情報の他の用途としては、作業者を想定する対象者Sの動きを解析して、ロボットプログラムに利用されてもよい。或いは、骨格情報は、ジェスチャーによるユーザインターフェースや、個人の識別、熟練技術の定量化などに利用することもできる。
本実施例によれば、上述のように、最適化部124は、対象物モデルを微小に変形させながら、点群データxに対象物モデルを当てはめるフィッティングを行うことで、対象者Sの骨格情報を生成する。これにより、点と点との距離(即ち2点間距離)に基づいてメッシュ頂点と点群データを合わせこむ上述の従来技術に比べて、計算負荷を低減できる。即ち、本実施例では、対象物モデルは、メッシュ頂点よりも有意に少ない数の幾何モデルからなるので、計算負荷を大幅に低減できる。これにより、体操やフィギュアスケートなど、高速かつ複雑な動作の解析等にも適用可能となる。
また、本実施例によれば、点と点との距離に基づいてメッシュ頂点と点群データを合わせこむ上述の従来技術に比べて、ノイズに対してロバストに精度の高い認識結果(骨格情報)を得ることができる。例えば、強い照明下で撮影できないため、点群データには、照明のばらつきによるノイズが比較的多く混入する場合がある。具体的には、上述の従来技術では、当てはめ誤差は、ノイズに起因したデータ誤差を点群データ数Nで除した値に、メッシュ間隔分の誤差が上乗せされる。これに対して、本実施例では、当てはめ誤差は、ノイズに起因したデータ誤差を点群データ数Nで除した値に対応し、メッシュ間隔分の誤差の上乗せはない。
また、本実施例によれば、EMアルゴリズムにおいて、機構モデルを用いた順運動学に基づき対象物モデルを変形させながら、幾何モデルの表面に対する点群データxの残差(表面残差)を最小化する最適解が探索される。これにより、かかる機構モデルを用いた順運動学に基づくことなく最適解を探索する場合に比べて、最適解の精度を高めることができる。なお、上述では、最適解とは、分散σやパラメータθarであるが、後述のように、対象物モデルの種類の最適解(最適な種類)をも含みうる。
このようにして、本実施例によれば、点群データに基づいて対象者Sの状態(例えば姿勢)を認識する際、比較的低い計算負荷で、ノイズに対してロバストに対象物の関節又は骨格を精度良く認識できる。
ところで、EMアルゴリズムは、繰返し計算なので初期状態が必要である。本実施例では、Mステップでは、上述のように、線形近似を用いるので、正解にある程度近い初期状態が有用である。これは、正解から乖離する初期状態を用いると、ローカルマキシマムに陥る可能性が高くなるためである。
この点、本実施例によれば、EMアルゴリズムにおいて使用する対象物モデルの初期状態は、上述のように、対象物モデルに係る重心が、点群データの重心に一致し、かつ、対象物の左右の腕部に対応付けられる幾何モデルが左右に開いた状態である。これにより、EMアルゴリズムにおいて、ローカルマキシマムを高い確率で回避することができる。
ここで、Mステップでは、期待値Q(θar)に対し、微小変化を仮定して計算しているため、微小変化Δθが"微小"であることが有用である。そこで、本実施例においては、好ましくは、微小変化Δθが"微小"を超えて大きくならないよう、以下のような罰則項を導入するとよい。
Figure 0006947215
ここで、wは所定の重みである。このような罰則項は正則化項と呼ばれ、上記の機能(微小変化Δθが"微小"を超えて大きくならないようにする機能)の他、データ欠損などにより値が不定となる場合の数値不安定性を回避する効果がある。
また、同様に、本実施例においては、好ましくは、左右で長さや大きさが同じになるように、以下のような罰則項を導入するとよい。即ち、対象物モデルの左右の対称性に係る罰則項を導入するとよい。
Figure 0006947215
ここで、wsl及びwsrは、それぞれ所定の重みである。また、iは、左右に存在する部位(腕部や脚部)を表し、liR、riRは、右の長さ、半径を表し、liL、riLは左の長さ、半径を表す。尚、楕円柱に係る幾何モデル等では、長径や短径のように、太さが複数の太さパラメータで表現される場合には、それぞれに対し罰則項を導入すればよい。なお、左右の対称性に係る罰則項は、上述した正則化項とともに導入されてもよい。
また、同様に、本実施例においては、長さが無限として定式化されている円柱や楕円柱などの幾何モデルを用いる場合、好ましくは、Eステップでは、最適化部124は、好ましくは、有限長処理を行う。有限長処理は、点群データxのうちの、所定の条件を満たすデータについてのみ事後分布pnmを算出し、他のデータについては事後分布pnmを0とする処理である。有限長処理は、部位mに無関係なデータの混入を防ぐための処理であり、所定の条件は、部位mに無関係なデータを排除できるように設定される。これにより、実際には関係ないはずの点群データが解析に影響を及ぼすことを抑制できる。所定の条件を満たすデータは、例えば、以下の式を満たすデータであってよい。
Figure 0006947215
点群データのうちの、部位mに係る幾何モデルの中心(又は中心位置、以下同じ)からの軸方向の距離が所定距離(=l(m)th)以上のデータに対し、事後分布が0とされる。所定距離l(m)thは、手入力することも可能であるし、他の計測によって得られる対象者Sの形状情報に基づいて設定されてもよい。
また、上述した実施例では、点群データxがすべて幾何モデル表面近傍に存在するとして定式化してきたが、点群データxにはノイズなども含まれる。そのような表面から離れたデータが混入すると、Eステップの事後分布が数値不安定となり正しく計算されない場合がある。そこで、分布p(x)には、以下のように、ノイズ項として一様分布が追加されてもよい。
Figure 0006947215
ここで、uは任意の重みである。このとき、事後分布は以下のように修正される。
Figure 0006947215
ここで、uは、以下の通り定義される。
Figure 0006947215
これにより、分母にuが導入され、数値不安定が解消される。尚、Eステップのみの変更であり、Mステップはそのままでよい。
また、上述した実施例では、点群データxと部位mに係る幾何モデルの表面残差ε(xar)に対して、部位mごとに重みを付けていないが、重み付けを行ってもよい。これは、各幾何モデルで説明される点群データの数には差がある点を考慮したものである。具体的には、点群データxの混合確率分布モデルは、以下の通り表現されてよい。尚、数35では、ノイズ項として一様分布が追加されているが、省略されてもよい。
Figure 0006947215
ここで、αは、部位mに係る重みである。αは、対応する幾何モデルで説明される点群データの数が大きいほど大きくなる態様で設定されてよい。例えば、αは、以下の通りである。
α=部位mの表面積/全体の表面積
部位mの表面積は、部位mに係る幾何モデルの表面積であってよく、全体の表面積は、対象物モデルの全体の表面積であってよい。この際、表面積とは、幾何モデルの表面積のうちの、表面残差に係る表面の面積である。例えば、円柱に係る幾何モデルの場合、軸方向の端面以外の表面(外周面)の表面積である。これにより、対象者Sの各部位mの大きさを反映したより精密なモデル化が可能となる。このとき、事後分布pnmは、以下のとおりである。
Figure 0006947215
次に、図10A以降の概略フローチャートを参照して、本実施例による対象物認識装置100の動作例について説明する。
図10Aは、対象物認識装置100により実行される処理の一例を示すフローチャートである。図10Aに示す処理は、データ入力部120により1シーン(1時点)に係る点群データが取得されるごとに(即ちフレーム周期ごとに)実行されてよい。或いは、図10Aに示す最適化処理は、オフラインで、データ入力部120により取得された複数のシーンに係る点群データに対して、一のシーンに係る点群データごとに実行されてもよい。
ステップS1000では、初期状態設定部122は、対象物モデルの初期状態を設定する。対象物モデルの初期状態の設定方法は上述のとおりである。
ステップS1001では、最適化部124は、j=1に設定する。
ステップS1002では、最適化部124は、事後分布pnmと表面残差εnmを算出する。事後分布pnm及び表面残差εnmの算出方法は、上述のとおりである。尚、j=1のときは、事後分布pnmと表面残差εnmは、対象物モデルの初期状態に基づいて算出される。なお、この際、分散σは、適当な値が使用されてよい。また、j≧2のときは、事後分布pnmと表面残差εnmは、前回のMステップで得られた分散σ、パラメータθar、位置c Θ+ΔΘ及び向きe Θ+ΔΘに基づいて算出される。
ステップS1004では、最適化部124は、表面残差εnmの微分ε'nmを算出する。即ち、最適化部124は、上述したε'nmΔl、ε'nmli、ε'nm,M−f+1,i、及びε'nm,M−f+2,iを算出する。ε'nmΔl、ε'nmli、ε'nm,M−f+1,i、及びε'nm,M−f+2,iの算出方法は、上述のとおりである。
ステップS1006では、最適化部124は、ステップS1004で得た表面残差εnmの微分ε'nmと、ステップS1002で得た事後分布pnm及び表面残差εnmとに基づいて、変形パラメータθarの微小変化Δθを算出する。微小変化Δθは、上述のように、Δl、Δθli、ΔθM−f+1,i、及びΔθM−f+2,iを含み、算出方法は上述のとおりである。
ステップS1008では、最適化部124は、ステップS1006で得たj番目の周期の微小変化Δθ(以下、「Δθ(j)」と表記する)を記憶する。
ステップS1010では、最適化部124は、j番目の周期までに得られた微小変化Δθに基づいて、位置c Θ及び向きe Θを更新する更新処理を行う。更新処理は、上述のとおり数13乃至数16の更新式に基づいて実行されてもよいが、更新処理の好ましい一例は、図10Bを用いて説明する。
ステップS1012では、最適化部124は、収束条件が満たされたか否かを判定する。収束条件は、例えばj番目の周期の微小変化Δθ(j)の各要素(最適解の前回値からの変化量の一例)のうちの最大値が所定値以下である場合に満たされてよい。収束条件が満たされた場合は、ステップS1016に進み、それ以外の場合は、ステップS1014を介してステップS1002に戻る。
ステップS1014では、最適化部124は、jを"1"だけインクリメントする。
ステップS1016では、最適化部124は、フィッティングが成功したか否かを判定する。例えば、最適化部124は、各部位の事後分布pnmのデータ和に基づいて、事後分布pnmのデータ和の全部位和が、所定値Th1(所定閾値の一例)より大きい場合に、フィッティングが成功したと判定する。所定値Th1は、必要なフィッティング精度に応じて決定されてよい。判定結果が"YES"の場合は、ステップS1022に進み、それ以外の場合は、ステップS1018に進む。
ステップS1018では、最適化部124は、j≧jmaxであるか否かを判定する。jmaxは、無限ループ回避用の上限値である。判定結果が"YES"の場合は、終了し、それ以外の場合は、ステップS1020を介して、ステップS1001に戻る。
ステップS1020では、最適化部124は、対象物モデルの初期状態を再設定する。対象物モデルの初期状態の再設定は、各幾何モデルの長さl及び太さrを、比較的大幅に(例えば2倍や半分等)変更することを含む。また、対象物モデルの初期状態の再設定は、更に、例えば、重心の位置を維持しながら、対象物モデルの上下の向きを反転させることや90度回転させることを含んでもよい。これにより、再設定前の初期状態が正解から乖離していた場合でも、再設定後に、ローカルマキシマムを回避できる可能性を高めることができる。尚、変形例では、ステップS1020は省略されてもよい。この場合、ステップS1018での判定結果が"NO"の場合、対象物モデルの生成は、失敗となる。
ステップS1022では、出力部126は、ステップS1016で成功と判定されたフィッティング結果(例えば位置c Θ及び向きe Θのような骨格情報)を出力する。
図10Aに示す処理によれば、1シーンごとに、対象物モデルの初期状態から、収束条件が満たされるまで、パラメータθarの微小変化Δθを繰り返しながら、最適なパラメータθarを効率的に探索できる。
尚、図10Aに示す処理では、シーンごとに、独立に処理されているが、前回のシーンに係る位置c Θ及び向きe Θや、前回のシーンに係る最適なパラメータθarに基づいて、今回のシーンに係る対象物モデルの初期状態が設定されてもよい。
図10Bは、図10AのステップS1010で実行される更新処理の一例を示すフローチャートである。
ステップS1030では、最適化部124は、ステップS1008で得た微小変化Δθ(j)のうちの、根幹関節の並進ΔθM−f+2,iに基づいて、根幹関節の位置cを更新する。具体的には、以下のとおりである。
(j)=c(j−1)+ΔθM−f+2,i
なお、c(j)は、今回値(j番目の周期での値)であり、c(j−1)は、前回値(j−1番目の周期での値)である。
ステップS1032では、最適化部124は、ステップS1008で得た微小変化Δθ(j)のうちの、関節回転Δθli(j)と重心の回転ΔθM−f+1,i(j)とに基づいて、部位kの新たな向きe Θ(j)及び回転軸eli Θ(j)を算出する。この際、部位kごとに、重心回転、および影響する関節回転をすべて作用させる。即ち、ある部位kについては、祖先側に向かう方向に隣接する部位の回転行列から順に根本の部位の回転行列までかけあわせ、最後に重心の回転行列をかける。具体的には、回転行列として例えばロドリゲスの公式を用い、部位kの回転行列を、Rと表記すると、部位kに係る変換行列Mは、以下のように表せる。
=R・・・R
ここで、Rは、重心の回転行列であり、Rは、根幹関節の回転行列である。Rは、根幹関節に直接繋がる部位(以下、「根幹関節形成部位」とも称する)の回転行列であり、以下同様に(「・・・」で表現)、最後のRは、部位kに対して祖先側に隣接する部位の回転行列である。尚、部位kが、根幹関節形成部位(例えば、図4に示す部位b1、部位b14、及び部位b15)であるときは、RやR及びその間の回転行列は存在しないので、部位kに係る変換行列Mは、以下の通りとなる。
=R
部位kの新たな向きe Θ(j)は、部位kに係る変換行列Mに基づいて、以下の通り算出できる。
Θ(j)=M Θ(1)
ここで、e(1)は、部位kに係る変換行列Mに基づいて、対象物モデルの初期状態における部位kの向きである。
また、部位kの新たな回転軸eli Θ(j)は、以下の通り算出できる。
li Θ(j)=Mli Θ(1)
尚、ロドリゲスの公式では、一般的に、部位lの回転行列Rlは、回転軸eliの合成軸まわりにγlだけ回転する場合、以下のとおりである。
Figure 0006947215
ここでの添字iは、回転の自由度(i=0、X,XX)を表す。elix、eliy、及びelizは、回転軸eliの単位ベクトルの各成分であり、可動部位lについて、対象物モデルの初期状態における回転軸eli Θ(1)が用いられる。γliは、回転軸eliまわりの回転角度である。可動部位lに係るγliは、j番目の周期までに得られた微小変化Δθのうちの、初期状態からの各Δθliを積算することで導出される。具体的には、以下のとおりである。
Figure 0006947215
尚、Δθli(j')は、j'番目の周期で得られるΔθliを表す。重心の回転行列Rは、Δθliに代えて、重心の回転ΔθM−f+1,iを用いて導出できる。
ステップS1034では、最適化部124は、ステップS1008で得た微小変化Δθ(j)のうちの、Δlに基づいて、部位kの長さl Θを更新する。部位kの長さl Θの更新は、以下の通り実現できる。
Θ(j)=l Θ(j−1)+Δl
ステップS1036では、最適化部124は、ステップS1030で更新した根幹関節の位置cと、ステップS1032で更新した部位kの向きe Θ(j)と、ステップS1034で更新した部位kの長さl Θ(j)とに基づいて、部位kの位置c Θを更新する。尚、位置を更新する部位kは、根幹関節形成部位以外の部位である。尚、部位kの位置c(j)は、根幹関節の位置と部位kの向きe Θ(j)と部位kの長さl Θ(j)とに基づき、幾何的に定まる。
図10Bに示す処理によれば、部位kのうちの、根幹関節形成部位以外の部位の位置c Θについては、根幹関節の位置と関節回転と重心の回転とに基づいて更新される。また、各部位の向きe Θは、重心の回転行列や根幹関節の回転行列に基づいて更新される。これにより、数13乃至数16の更新式に基づいて、部位kの位置c Θ及び向きe Θを更新する場合よりも精度良く位置c Θを更新できる。
図11は、対象物認識装置100により実行される処理の他の一例を示すフローチャートである。図11に示す処理は、図10Aに示した処理に対して代替的に実行されてよい。
図11に示す処理は、図10Aに示した処理に対して、ステップS1000が、ステップS1000−1及びステップS1000−2で置換され、かつ、ステップS1100〜ステップS1108が追加された点が異なる。また、図11に示す処理では、ステップS1018での判定結果が"YES"の場合、終了せずに、ステップS1100に進む。
ステップS1000−1では、初期状態設定部122は、複数種類(図11ではNs種類)の対象物モデルに基づいて、それぞれ種類の初期状態を設定する。対象物モデルの初期状態の設定方法は上述のとおりである。複数種類の対象物モデルとは、円柱、円錐、台形柱、楕円柱、楕円錐、及び台形楕円柱に係る各幾何モデルの組み合わせ方が異なる対象物モデルを意味する。本実施例では、初期状態設定部122は、一例として、円柱に係る幾何モデルのみで形成する第1種類の対象物モデルと、円錐に係る幾何モデルのみで形成する第2種類の対象物モデルといった具合に、第1種類〜第6種類の計6種類の対象物モデルを用いる。
ステップS1000−2では、最適化部124は、jj=1に設定し、1番目の種類(第1種類)に係る対象物モデルを選択する。ステップS1001〜ステップS1020、及びステップS1100は、jj番目の種類に係る対象物モデルに対して実行される。
ステップS1100では、最適化部124は、jj番目の種類に係る対象物モデルに関して、各部位の事後分布のデータ和を記憶する。図12には、ある種類に係る対象物モデルに関する事後分布pnmの算出結果の一例が表図で示される。図12では、マス内の数字は、事後分布pnmの値であり、縦は、n(点群データxの"n")を表し、横は、m(部位mの"m")を表す。このように、事後分布pnmは、点群データxの各点ごとの各部位mに対する値である。尚、横方向の数値を合計すると"1"になる。最適化部124は、縦方向の数値を合計することで、部位ごとの事後分布のデータ和を算出できる。
ステップS1102では、最適化部124は、jj≧Nsであるか否かを判定する。Nsは、複数種類の対象物モデルの数(種類数)であり、本実施例では"6"である。判定結果が"YES"の場合は、ステップS1106に進み、それ以外の場合は、ステップS1014を介して、ステップS1001に戻る。
ステップS1104では、最適化部124は、jjを"1"だけインクリメントし、jj番目の種類に係る対象物モデルを選択する。この場合、続くステップS1001〜ステップS1020、及びステップS1100は、同様に、jj番目の種類に係る対象物モデルに対して実行される。
ステップS1106では、最適化部124は、ステップS1100で記憶した各部位の事後分布のデータ和(対象物モデルの種類毎のデータ和)に基づいて、部位ごとにデータ和が最大となる対象物モデルの種類を選択する。例えば腰部について、最適化部124は、6種類の対象物モデルのうち、腰部に係る事後分布のデータ和が最大となる対象物モデルの種類を選択する。そして、最適化部124は、選択した対象物モデルの種類を形成する幾何モデル(円柱、円錐、台形柱、楕円柱、楕円錐、及び台形楕円柱に係る各幾何モデルのいずれか1つ)を、腰部に係る最適な種類の幾何モデルとして決定する。このようにして、最適化部124は、部位ごとにデータ和が最大となる対象物モデルの種類に基づいて、部位ごとに最適な種類の幾何モデルを探索する。
ステップS1108では、出力部126は、ステップS1106で選択した種類の幾何モデルを、部位ごとに出力するとともに、ステップS1106で選択した種類の幾何モデルに基づき得られたフィッティング結果を出力する。フィッティング結果は、例えば、例えば位置c Θ及び向きe Θのような骨格情報である。
図11に示す処理によれば、複数種類の対象物モデルに対するフィッティング結果に基づいて、部位ごとに、最適な種類の幾何モデルを特定できる。この結果、部位ごとに最適な種類の幾何モデルを有する対象物モデルを生成できる。
尚、図11に示す処理では、対象物モデルの種類ごとに、独立に処理されているが、あるシーンに係る最初の種類の対象物モデルに係る位置c Θ及び向きe Θ等に基づいて、当該シーンに係る次の種類の対象物モデルの初期状態が設定されてもよい。即ち、jj≧2のときは、初期状態設定部122は、jj=1のときの位置c Θ及び向きe Θ等に基づいて、対象物モデルの初期状態を設定してもよい。また、対象物モデルを形成する幾何モデルの種類の最適化は、シーンごとに毎回実行される必要はなく、例えば、初回のシーンのみに対して実行され、続くシーンに対しては、最適化された対象物モデルが継続的に使用されてもよい。
また、図11に示す処理では、図5Aに示す対象物モデルが用いられるが、候補として図5Bに示すような、異なる数の幾何モデルが使用されてもよい。即ち、複数種類の対象物モデルは、図5Aに示す対象物モデルのみならず、図5Bに示すような幾何モデルをも含んでもよい。
図13は、フィッティング結果の説明図である。図13では、フィッティング結果として、部位ごとに、幾何モデルの種類(最適な種類の幾何モデル)と、関節角度、長さl、及び太さrとが対応付けられている。関節角度は、上述のように、位置c Θに関するパラメータであり、図13では、前後及び左右のそれぞれについて値をもつ。なお、図13では、部位"右鎖骨"は、隠れた部位であるが故に、幾何モデルの種類等は対応付けられていない("斜線"はデータ無を意味する)。部位"腰"や"胴"には、楕円柱に係る幾何モデルが、最適な種類の幾何モデルとして対応付けられている。この場合、太さに関して、長軸の長さ及び短軸の長さのそれぞれについて値をもつ。尚、円柱に係る幾何モデルの場合は、太さに関して、半径の1つの値だけをもつ。
図14A及び図14Bは、フィッティング結果の説明図である。図14Aは、初期状態の対象物モデル1400と点群データxとの関係を模式的に示し、図14Bは、最適な種類の幾何モデルの組み合わせからなる対象物モデルと点群データxとの関係を模式的に示す。図14Bでは、部位"腰"や"胴"には、楕円柱に係る幾何モデル(Md1及びMd2参照)が、最適な種類の幾何モデルとして対応付けられており、他の部位には、円柱に係る幾何モデルが、最適な種類の幾何モデルとして対応付けられている。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
例えば、上述した実施例において、初期状態設定部122は、データ入力部120に入力される点群データをクラスタリングして、クラスター毎にフィッティングを行って初期当てはめ結果を取得してもよい。この場合、初期状態設定部122は、初期あてはめ結果に基づいて、初期状態を設定してもよい。クラスタリング手法としては、Kmeans++法などを用いることができる。尚、クラスタリング部122に与えられるクラスター数は、手動による入力でもよいが、骨格モデルに応じた所定数が用いられてもよい。骨格モデルに応じた所定数は、例えば、骨格モデルに係る部位の総数から、隠れた骨格に係る部位の数を引いた値である。即ち、図4に示す16関節(15部位)モデルの場合、4部位が隠れた骨格となるため、最初のクラスター数である所定数は"11"である。
また、上述した実施例において、初期状態設定部122は、機械学習部を用いて、初期状態を設定してもよい。この場合、機械学習部は、データ入力部120に入力される点群データに基づいて、15部位についてラベル分け(部位認識)を行う。機械学習方式としてランダムフォレストを用い、特徴量として注目画素と周辺画素の距離値の差が使用されてもよい。また、距離画像を入力として各画素のマルチクラス分類(Multi-class Classification)を行う方式であってもよい。また、ランダムフォレストの場合でも距離値の差以外の特徴量を使ってもよいし、特徴量に相当するパラメータも含めて学習を行う深層学習(Deep Learning)を用いてもよい。
また、上述した実施例では、一例として、すべての関節が球関節のように3自由度持っているとしている。例えば、すべての関節が、肩や股関節のように、軸まわりの回転、縦振り、横振りが可能であると仮定している。しかしながら、実際には自由度が制限される関節もある。例えば肘は1自由度のみである。この点、軸対称に近い部位では可動軸を同定することは困難である。従って、本実施例では、一例として、可動軸を同定することを避け、ある固定ベクトルnを用いて構成した軸まわりの回転をすべての関節について考慮している。但し、円柱や台形柱のような軸対称の幾何モデルでは、軸まわりの回転自由度は不定となるため除外されてもよい。具体的には、軸対称の幾何モデルでは、軸回りの自由度を除いた2自由度を有する。従って、軸対称の幾何モデルについては、Δθl0、ΔθlX、及びΔθlXXのうちの、軸まわりの関節回転Δθl0を除くΔθlX及びΔθlXXのみが計算されてもよい。これにより、計算負荷を効率的に低減できる。尚、実際の可動軸における回転角度を求めたい場合には、上述の回転行列により変換することで取得可能である。
また、上述した実施例では、一例として、対象物モデルの全ての幾何モデルにつき、それぞれ、位置c、方向e、太さr、及び長さlの4つのモデルパラメータをフィッティングにより最適化しているが、これに限られない。例えば、対象物モデルの一部の幾何モデルに対しては、位置c、方向e、太さr、及び長さlの4つのモデルパラメータのうちの、3つ以下のモデルパラメータだけがフィッティングにより最適化されてもよい。また、例えば太さrや長さlについては、初回の1シーンで得られた最適解が、次回以降のシーンでそのまま利用されてもよい。これは、対象者Sの部位の太さや長さは、基本的に一定であるためである。
1 対象物認識システム
7 表示装置
21 距離画像センサ
100 対象物認識装置
120 データ入力部
122 初期状態設定部
124 最適化部
126 出力部
140 幾何モデルデータベース

Claims (12)

  1. 3次元の位置情報を得るセンサから、関節を介して繋がる複数の部位を有する対象物の表面に係る点群データを取得する取得部と、
    軸を有する複数の幾何モデルを用いて複数の前記部位を表現する対象物モデルと、前記点群データとに基づいて、前記対象物モデルを初期状態から変化させながら、前記点群データに整合する前記対象物モデルに係る最適解を探索する最適化処理部と、
    前記最適解又は該最適解に基づく対象物情報を出力する出力部とを含
    前記最適解を探索することは、複数の前記幾何モデルのそれぞれごとに、前記点群データに対する前記幾何モデルの当てはまり度合いの確率的な指標値を導出することを含み、
    前記最適化処理部は、複数の前記幾何モデルのそれぞれごとの前記指標値の合計値が所定閾値以下である場合に、前記初期状態を再設定してから、前記最適解を再探索する、情報処理装置。
  2. 前記対象物モデルを変化させることは、複数の前記幾何モデルの種類を変化させることを含み、
    前記最適解を探索することは、複数の前記幾何モデルのそれぞれの最適な種類を、円柱、円錐、台形柱、楕円柱、楕円錐、及び台形楕円柱のうちの少なくともいずれか2つのうちから、探索することを含む、請求項1に記載の情報処理装置。
  3. 前記最適解を探索することは、前記点群データに対する前記幾何モデルの当てはまり度合いの確率的な指標値を導出し、複数の前記部位のそれぞれごとに、前記指標値が最良の前記当てはまり度合いを表す種類の前記幾何モデルを、前記最適な種類として決定する、請求項2に記載の情報処理装置。
  4. 前記指標値は、前記幾何モデルの表面に対する前記点群データの残差に関する、請求項3に記載の情報処理装置。
  5. 前記対象物モデルを変化させることは、前記対象物モデルを変形させることを含み、
    前記最適解を探索することは、複数の前記幾何モデルのそれぞれについて、軸方向、該軸方向に垂直な方向の最適な長さ、及び該軸方向に沿った最適な長さのうちの少なくともいずれか1つを探索することを含む、請求項1〜4のうちのいずれか1項に記載の情報処理装置。
  6. 前記対象物モデルを変化させることは、機構モデルを用いた順運動学に基づき前記対象物モデルを変形させることを含む、請求項1〜4のうちのいずれか1項に記載の情報処理装置。
  7. 前記対象物モデルを変化させることは、複数の前記部位間の関節回転、複数の前記部位のうちの所定関節の並進、及び重心の回転を伴い、
    前記最適解を探索することは、複数の前記幾何モデルのそれぞれについて、最適な位置、及び最適な向きを探索することを含む、請求項1〜4のうちのいずれか1項に記載の情報処理装置。
  8. 前記対象物モデルを変化させることは、更に、複数の前記幾何モデルの少なくともいずれか1つについて、軸方向に沿った長さを変更することを含み、
    前記最適解を探索することは、前記対象物モデルを変化させる際に、前記関節回転、前記所定関節の並進、及び前記重心の回転に対応する変形に応じて、複数の前記幾何モデルのそれぞれの向きを更新し、次いで、更新後の向きと変更後の長さに基づいて、複数の前記幾何モデルの位置を更新することを含む、請求項7に記載の情報処理装置。
  9. 前記対象物は、人、又は、人型のロボットであり、
    前記最適化処理部は、前記対象物モデルの初期状態から前記対象物モデルを変形させ、
    前記対象物モデルの初期状態は、前記対象物モデルに係る重心が、前記点群データの重心に一致し、かつ、前記複数の幾何モデルのうちの、前記対象物の左右の腕部に対応付けられる幾何モデルが左右に開いた状態を含む、請求項1に記載の情報処理装置。
  10. 前記最適化処理部は、複数の前記幾何モデルの表面に対する前記点群データの残差を最小化する前記最適解を、尤度関数の期待値を最大化することで探索し、
    前記尤度関数は、正則化項、及び、前記対象物モデルの左右の対称性に係る罰則項の少なくともいずれか一方を有する、請求項に記載の情報処理装置。
  11. 3次元の位置情報を得るセンサから、関節を介して繋がる複数の部位を有する対象物の表面に係る点群データを取得し、
    軸を有する複数の幾何モデルを用いて複数の前記部位を表現する対象物モデルと、前記点群データとに基づいて、前記対象物モデルを初期状態から変化させながら、前記点群データに整合する前記対象物モデルに係る最適解を探索し、
    前記最適解又は該最適解に基づく対象物情報を出力する、
    処理をコンピュータに実行させ
    前記最適解を探索することは、複数の前記幾何モデルのそれぞれごとに、前記点群データに対する前記幾何モデルの当てはまり度合いの確率的な指標値を導出することを含み、
    前記最適解を探索する処理は、複数の前記幾何モデルのそれぞれごとの前記指標値の合計値が所定閾値以下である場合に、前記初期状態を再設定してから、前記最適解を再探索する、モデルデータ作成プログラム。
  12. 3次元の位置情報を得るセンサから、関節を介して繋がる複数の部位を有する対象物の表面に係る点群データを取得し、
    軸を有する複数の幾何モデルを用いて複数の前記部位を表現する対象物モデルと、前記点群データとに基づいて、前記対象物モデルを初期状態から変化させながら、前記点群データに整合する前記対象物モデルに係る最適解を探索し、
    前記最適解又は該最適解に基づく対象物情報を出力する
    処理をコンピュータが実行し、
    前記最適解を探索することは、複数の前記幾何モデルのそれぞれごとに、前記点群データに対する前記幾何モデルの当てはまり度合いの確率的な指標値を導出することを含み、
    前記最適解を探索する処理は、複数の前記幾何モデルのそれぞれごとの前記指標値の合計値が所定閾値以下である場合に、前記初期状態を再設定してから、前記最適解を再探索する、モデルデータ作成方法。
JP2019536009A 2017-08-07 2017-08-07 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法 Active JP6947215B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/028557 WO2019030794A1 (ja) 2017-08-07 2017-08-07 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法

Publications (2)

Publication Number Publication Date
JPWO2019030794A1 JPWO2019030794A1 (ja) 2020-08-06
JP6947215B2 true JP6947215B2 (ja) 2021-10-13

Family

ID=65270976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019536009A Active JP6947215B2 (ja) 2017-08-07 2017-08-07 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法

Country Status (5)

Country Link
US (1) US11188742B2 (ja)
EP (1) EP3667611A4 (ja)
JP (1) JP6947215B2 (ja)
CN (1) CN111033560A (ja)
WO (1) WO2019030794A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11104001B2 (en) * 2019-03-13 2021-08-31 Sony Interactive Entertainment Inc. Motion transfer of highly dimensional movements to lower dimensional robot movements
WO2021014587A1 (ja) * 2019-07-23 2021-01-28 富士通株式会社 生成方法、生成プログラムおよび情報処理装置
US11113873B1 (en) * 2019-09-27 2021-09-07 Zoox, Inc. Modeling articulated objects
CN114503151A (zh) 2019-10-03 2022-05-13 富士通株式会社 评价方法、评价程序以及信息处理系统
WO2021117165A1 (ja) * 2019-12-11 2021-06-17 富士通株式会社 生成方法、生成プログラム及び情報処理システム
JP7498404B2 (ja) 2020-07-20 2024-06-12 日本電信電話株式会社 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
US11202951B1 (en) * 2020-07-27 2021-12-21 Tempo Interactive Inc. Free-standing a-frame exercise equipment cabinet
WO2022130610A1 (ja) * 2020-12-18 2022-06-23 株式会社日立製作所 身体能力評価サーバ、身体能力評価システム、及び身体能力評価方法
JP2022152752A (ja) * 2021-03-29 2022-10-12 富士通株式会社 骨格認識方法、骨格認識プログラム及び体操競技採点支援装置
WO2023037401A1 (ja) * 2021-09-07 2023-03-16 富士通株式会社 骨格認識方法、骨格認識プログラム、及び体操競技採点支援装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3780017B2 (ja) * 1994-12-06 2006-05-31 オリンパス株式会社 時系列画像解析装置及びその解析方法
JPH10149445A (ja) 1996-11-19 1998-06-02 Image Joho Kagaku Kenkyusho 身体動作解析可視化装置
US8861834B2 (en) * 2007-03-09 2014-10-14 Omron Corporation Computer implemented method for recognizing an object based on a correspondence relationship between object feature points and pre-registered model feature points
JP2010015472A (ja) 2008-07-07 2010-01-21 Nippon Telegr & Teleph Corp <Ntt> 歩行者性別判定装置、歩行者性別判定方法、歩行者性別判定プログラムおよびその記録媒体
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
EP3751517A1 (en) * 2011-05-16 2020-12-16 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. Fast articulated motion tracking
US9235928B2 (en) * 2012-01-24 2016-01-12 University Of Southern California 3D body modeling, from a single or multiple 3D cameras, in the presence of motion
EP2674913B1 (en) * 2012-06-14 2014-07-23 Softkinetic Software Three-dimensional object modelling fitting & tracking.
JP2015102913A (ja) * 2013-11-21 2015-06-04 キヤノン株式会社 姿勢推定装置及び姿勢推定方法
US9928412B2 (en) * 2014-10-17 2018-03-27 Ebay Inc. Method, medium, and system for fast 3D model fitting and anthropometrics
JP6040264B2 (ja) * 2015-02-13 2016-12-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
US9911219B2 (en) * 2015-05-13 2018-03-06 Intel Corporation Detection, tracking, and pose estimation of an articulated body
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 富士通株式会社 対象物認識方法、装置、システム、プログラム

Also Published As

Publication number Publication date
JPWO2019030794A1 (ja) 2020-08-06
US20200175266A1 (en) 2020-06-04
WO2019030794A1 (ja) 2019-02-14
EP3667611A4 (en) 2020-08-26
CN111033560A (zh) 2020-04-17
US11188742B2 (en) 2021-11-30
EP3667611A1 (en) 2020-06-17

Similar Documents

Publication Publication Date Title
JP6947215B2 (ja) 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法
JP6996557B2 (ja) 対象物認識方法、装置、システム、プログラム
Zhao et al. Robust realtime physics-based motion control for human grasping
CN1788282B (zh) 统计动态建模方法及设备
JP2021524627A (ja) 仮想アバタをアニメーション化するための骨格システム
US20130121526A1 (en) Computing 3d shape parameters for face animation
CN111882610B (zh) 基于椭圆锥人工势场的服务机器人抓取目标物体的方法
JP2006520054A (ja) 不変視点からの画像照合および2次元画像からの3次元モデルの生成
CN103733226A (zh) 快速的有关节运动的跟踪
CN108582073A (zh) 一种基于改进的随机路标地图法的机械臂快速避障方法
JP2014085933A (ja) 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
WO2023185703A1 (zh) 虚拟角色的动作控制方法、装置、设备和存储介质
Holden et al. Learning inverse rig mappings by nonlinear regression
Wu et al. An unsupervised real-time framework of human pose tracking from range image sequences
CN113609999B (zh) 基于姿态识别的人体模型建立方法
Mousas et al. Data-driven motion reconstruction using local regression models
US12051151B2 (en) System and method for reconstruction of an animatable three-dimensional human head model from an image using an implicit representation network
Ly et al. Co-evolutionary predictors for kinematic pose inference from rgbd images
CN116248920A (zh) 虚拟角色直播处理方法、装置及系统
CN114219920B (zh) 三维人脸模型的构建方法及装置、存储介质、终端
US11288866B2 (en) Method and system for generating a new anatomy
WO2018207292A1 (ja) 対象物認識方法、装置、システム、プログラム
CN115810219A (zh) 一种基于rgb摄像头的三维手势追踪方法
Tejeda et al. Calvis: chest, waist and pelvis circumference from 3d human body meshes as ground truth for deep learning
Georgiadis et al. ActiveFace: A Synthetic Active Perception Dataset for Face Recognition

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210830

R150 Certificate of patent or registration of utility model

Ref document number: 6947215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150