JP2018119833A - 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 - Google Patents

情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 Download PDF

Info

Publication number
JP2018119833A
JP2018119833A JP2017010461A JP2017010461A JP2018119833A JP 2018119833 A JP2018119833 A JP 2018119833A JP 2017010461 A JP2017010461 A JP 2017010461A JP 2017010461 A JP2017010461 A JP 2017010461A JP 2018119833 A JP2018119833 A JP 2018119833A
Authority
JP
Japan
Prior art keywords
region
image
sensor
hand
information processing
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.)
Pending
Application number
JP2017010461A
Other languages
English (en)
Inventor
佐藤 浩之
Hiroyuki Sato
浩之 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017010461A priority Critical patent/JP2018119833A/ja
Publication of JP2018119833A publication Critical patent/JP2018119833A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】対象物の姿勢推定を高精度に行うことができる情報処理装置を提供する。【解決手段】情報処理装置100は、ユーザが装着するステレオRGBカメラ115からユーザの手の画像を含むステレオRGB画像を取得する検出用情報取得部121と、ユーザに対峙してされた距離画像センサ116からユーザの手の画像を含む距離画像を取得する推定用情報取得部120と、ステレオRGB画像に基づいて、ステレオRGBカメラ115の画角内の第1座標系における手の少なくとも一部が内包される領域である第1領域を検出する検出部123と、第1領域と距離画像センサ116の位置との関係に応じて、距離画像センサ116の画角内の第2座標系における手の少なくとも一部が内包される第2領域を取得する領域取得部124と、第2領域と距離画像との関係に応じて手の姿勢を推定する推定部125と、を備える。【選択図】図1

Description

本発明は、人体や手指等の対象物の姿勢推定を行い、推定した姿勢をユーザインタフェースに用いる情報処理装置に関する。
人体や手指の姿勢推定は、直観的なユーザインタフェースを実現するための技術として有望視されている。例えば、MR(Mixed Reality)システムにおいて、特別なデバイスを装着することなく手指を用いて仮想物体を操作するユーザインタフェースがある。また、ゲームシステムにおいて、特別なデバイスを装着することなく人体を用いて直観的に仮想物体を操作するユーザインタフェースがある。このようなユーザインタフェースでは、非接触のセンサを用いて得られる情報(センサ情報)に基づいて、関節や骨格の連続的な位置姿勢をリアルタイムで推定するスケルトン推定がよく用いられる。手指に対するスケルトン推定(手指スケルトン推定)や人体に対するスケルトン推定(人体スケルトン推定)では、一か所に設置されたセンサによるセンサ情報を用いることが一般的である。
非特許文献1は、センサから対象物(手指)までの距離を表す距離画像と可視光画像であるRGB画像とから抽出した特徴量に対し、予め学習したカスケード型認識機を用いることでスケルトン推定を行う技術を開示する。距離画像を取得する距離画像センサ及びRGB画像を取得するRGBカメラは、視線がユーザの視線とほぼ平行で且つ画角も概ね一致するように、ユーザの身体に固定される。以下、ユーザの身体にこのように固定された距離画像センサやRGBカメラの視点を「一人称視点」と呼ぶ。センサ情報に対し全探索を行うとリアルタイム性が損なわれるため、手指スケルトン推定の前処理としてセンサ情報からユーザの手に対応する情報のみを抽出する手検出を併用する場合がある。
非特許文献2は、ユーザの正面に対峙して姿勢を固定した距離画像センサ及びRGBカメラを用いてスケルトン推定を行う。以下、ユーザに対して正面から対峙して固定された距離画像センサやRGBカメラの視点を「正面視点」と呼ぶ。RGB画像及び距離画像と予め登録した肌色の範囲とのマッチングにより手検出を行い、検出した手領域中のRGB画像及び距離画像に対して3次元形状モデルを当てはめるモデルフィッティングを行うことで、手指スケルトン推定が行われる。
非特許文献3は、正面視点の距離画像センサを用いてスケルトン推定を行う。このスケルトン推定では、まず、距離画像センサに最も近い3次元点群の塊を検出するという方法で手検出が行われる。検出した手領域の距離画像に対して予め学習したCNN(Convolutional Neural Network、畳みこみニューラルネットワーク)を適用して手指関節の3次元位置を認識することで、手指スケルトン推定が行われる。
特許文献1は、異なる場所に設置された複数のカメラによる画像(センサ情報)を用いてスケルトン推定を行う。特許文献1は、多関節オブジェクトモデルのポーズを推定する技術を開示する。1以上のカメラによる撮像画像を用いて、独立に物体検出及びポーズ推定が行われる。この技術は、手指スケルトン推定や人体スケルトン推定に適用することが可能である。
特開2011−238222号公報
G. Rogez et al. "3D hand pose detection in egocentric rgb-dimages", CDC4CV Workshop, 2014 I Oikonomidis et al. "Efficient model-based 3D tracking of handarticulations using Kinect",BMVC,2011 Markus Oberweger et al. "Hands Deep in Deep Learning for HandPose Estimation", CVWW2015
しかしながら、非特許文献1の技術は、一人称視点の画像を用いているために、ユーザの指が距離画像センサやカメラの画角から頻繁に隠れる可能性があり、指の推定精度が低い。非特許文献2の技術は、ユーザの手がセンサの画角内に存在する唯一の肌色物体であることが前提である。そのために、ユーザ自身の顔や他の人物の顔、手がセンサの画角内に侵入した場合、手検出が失敗し、それに伴い手指スケルトン推定の精度が大幅に低下する。非特許文献3の技術は、ユーザの手が距離画像センサに最も近い対象物であることが前提である。そのために、他の物体がユーザの手より距離画像センサに近い位置にある場合、手検出が失敗し、それに伴い手指スケルトン推定の精度が大幅に低下する。特許文献1では、複数の撮像画像に対して独立に物体検出とポーズ推定を行うため、ユーザの指が隠れて撮像画像に含まれない場合に手指スケルトン推定の精度が低くなる。
本発明は、上記課題に鑑みてなされたものであり、手や指等の対象物の姿勢推定を高精度に行うことができる情報処理装置を提供することを目的とする。
本発明の情報処理装置は、所定の第1位置に配置された第1センサから対象物の画像を含む第1画像を取得する第1情報取得手段と、前記第1位置とは異なる第2位置に配置された第2センサから前記対象物の画像を含む第2画像を取得する第2情報取得手段と、前記第1画像に基づいて、前記第1センサの画角内の第1座標系における前記対象物の少なくとも一部が内包される領域である第1領域を検出する検出手段と、前記第1領域と前記第2位置との関係に応じて、前記第2センサの画角内の第2座標系における前記対象物の少なくとも一部が内包される第2領域を取得する領域取得手段と、前記第2領域と前記第2画像との関係に応じて前記対象物の姿勢を推定する推定手段と、を備えることを特徴とする。
本発明によれば、対象物の姿勢推定を高精度に行うことが可能となる。
(a)〜(c)はMRシステムの説明図。 (a)、(b)は手指スケルトン推定処理を表すフローチャート。 手指スケルトン推定処理の説明図。 手指スケルトン推定処理の説明図。 手指スケルトン推定処理の説明図。 HMD座標系の手領域を取得する処理を表すフローチャート。 (a)、(b)は手指スケルトン推定処理を表すフローチャート。 手領域左右判定処理の説明図。 (a)〜(c)は人体スケルトン推定システムの説明図。 (a)、(b)は人体スケルトン推定処理を表すフローチャート。 人体スケルトン推定処理の説明図。 (a)〜(c)はMRシステムの説明図。 手指スケルトン推定処理を表すフローチャート。 手指スケルトン推定処理の説明図。
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。以下、他図を用いて同じものを説明する場合には同一の符号を付し、その説明を省略する。
<第1実施形態>
図1は、本実施形態の情報処理装置を用いたMRシステムの説明図である。図1(a)は、MRシステムの外観の一例を示す。MRシステムは、情報処理装置100、ステレオRGBカメラ115、距離画像センサ116、及びHMD(Head Mounted Display)119を備える。情報処理装置100は、ステレオRGBカメラ115及び距離画像センサ116により取得されたセンサ情報に基づいて、スケルトン推定の対象物であるユーザの手101の位置及び姿勢を推定する。情報処理装置100は、推定結果に応じて、HMD119により表示される仮想物体103の手101による直接操作を実現する。ステレオRGBカメラ115は、可視光画像を撮像する可視光画像のステレオカメラであり、センサ情報としてステレオRGB画像を取得する。距離画像センサ116は、画角内の各画素までの距離情報を含む距離画像をセンサ情報として取得する。本実施形態では、情報処理装置100と距離画像センサ116とが一体に構成され、ステレオRGBカメラ115とHMD119とが一体に構成される。情報処理装置100とHMD119とは、通信可能に接続される。
HMD119はユーザの頭部102に装着されて使用される。HMD119がユーザに装着された状態では、ステレオRGBカメラ115の視線とユーザの目線とが同じになる。そのためにステレオRGBカメラ115が撮像するステレオRGB画像は、一人称視点の画像となる。距離画像センサ116は、ユーザの正面に対峙して固定されており、正面視点の距離画像を取得する。そのために情報処理装置100は、一人称視点のセンサ情報(ステレオRGB画像)及び正面視点のセンサ情報(距離画像)に基づいて、ユーザの手101の位置及び姿勢を推定することになる。
情報処理装置100は、ステレオRGBカメラ115から取得するユーザ目線の一人称視点のステレオRGB画像に対してノイズ除去等の前処理を行い、前処理後のステレオRGB画像に仮想物体103をレンダリングする。ステレオRGBカメラ115は、所定時間間隔で連続してステレオRGB画像を取得して情報処理装置100に送信する。情報処理装置100は、仮想物体103がレンダリングされたステレオRGB画像をHMD119のディスプレイに表示する。HMD119を装着するユーザは、視界に仮想物体103が表示された画像を視認することになる。
ステレオRGBカメラ115の画角には、基準MRマーカ104及び補助MRマーカ105が固定して配置される。基準MRマーカ104及び補助MRマーカ105は、ステレオRGBカメラ115で撮像されたステレオRGB画像から、ステレオRGBカメラ115及びユーザの位置姿勢を取得するために用いられる。基準MRマーカ104及び補助MRマーカ105は、例えば所定の白黒パターンが印刷された板であり、ステレオRGB画像から容易に検出可能である。複数のMRマーカ(基準MRマーカ104及び補助MRマーカ105)を用いることで、ロバスト性が高まる。なお、本実施形態では2種類のMRマーカを用いるが、MRマーカは、1種類のみであってもあるいは3種類以上であってもよい。
情報処理装置100の世界座標系は、基準MRマーカ104の中心を原点とし、距離画像センサ116の撮像方向がz軸の正の方向となる右手座標系に予めキャリブレーションされている。距離画像センサ116により取得される距離画像の各ピクセルは、距離画像センサ116の位置に垂直に置かれた仮想的な平面から撮像対象物までの距離を表す値(以下、「距離値」と称する。)が含まれる。距離値が測定不能、あるいは距離値が無効である場合には、距離値が「0」となる。また、距離画像センサ116のカメラパラメータは予め測定されており、距離画像の各ピクセルを世界座標系における3次元点群に変換する変換行列も予めキャリブレーションされている。ステレオRGBカメラ115のカメラパラメータと視差も予め測定されている。
本実施形態では5種類の座標系が用いられる。一つ目は基準MRマーカ104の中心を原点とする上記の3次元の世界座標系であり、図1(a)に点線の矢印として描かれている。二つ目は2次元の距離画像座標系である。三つ目は3次元の距離画像センサ座標系であり、図1(a)に二重線の矢印として描かれている。四つ目はステレオRGB画像のそれぞれのRGB画像について定義される2次元のHMD画像座標系である。五つ目はHMD119の左目を原点とした3次元のHMD座標系であり、図1(a)のHMD119中に実線の矢印として描かれている。世界座標系、距離画像座標系、距離画像センサ座標系、及びHMD座標系は相互に変換可能である。HMD画像座標系は、奥行き情報を持たないために、HMD座標系からの変換のみが可能である。
このMRシステムでは、ステレオRGBカメラ115及び距離画像センサ116の各画角が交差する範囲が3次元の操作空間となる。情報処理装置100は、この3次元の操作空間内の手101に対して、位置及び姿勢を含む手指スケルトン推定が可能である。ユーザの頭部102の動きに応じてステレオRGBカメラ115の位置及び姿勢が変化するため、3次元操作空間も毎フレーム変化する。
図1(b)は、MRシステムに含まれる情報処理装置100のハードウェア構成を例示する。情報処理装置100は、CPU(Central Processing Unit)110、RAM(Random Access Memory)111、及びROM(Read Only Memory)112を備えるコンピュータである。CPU110、RAM111、及びROM112はバス113を介して接続される。バス113には、さらに、入出力I/F(インタフェース)114及びディスプレイI/F118が接続される。情報処理装置100は、ステレオRGBカメラ115、距離画像センサ116、及びHMD119の他に、外部装置である記憶装置117が接続される。
ROM112は、オペレーティングシステム(OS)、各種処理プログラム、デバイスドライバ等を記憶する。CPU110は、ROM112から各種プログラムを読み込み、RAM111を作業領域に用いて実行することで、MRシステム全体の動作の制御を行う。なお、ROM112に記憶される各種のコンピュータプログラムは、外部に設けられる記憶装置117に記憶されていてもよい。
ディスプレイI/F118は、情報処理装置100で生成した画像をHMD119で処理可能な信号に変換して、HMD119に送信する。入出力I/F114は、距離画像センサ116から距離画像を取得するとともに、ステレオRGBカメラ115からステレオRGB画像を取得して、情報処理装置100が処理可能なデータに変換する。また入出力I/F114は、記憶装置117との間で相互にデータの送受信を行う。本実施形態では、情報処理装置100でHMD119に表示させる仮想物体103等を表すデジタルデータが、記憶装置117に格納されているものとする。記憶装置117には、例えばディスクデバイスやフラッシュメモリ、ネットワークやUSBなどの各種の大容量記憶装置を使用することができる。
図1(c)は、情報処理装置100の機能ブロック図である。情報処理装置100は、推定用情報取得部120、検出用情報取得部121、ユーザ位置取得部122、検出部123、領域取得部124、推定部125、表示部126、及び保持部127として機能する。本実施形態では、各機能は、CPU110がコンピュータプログラムを実行することで実現される。なお、このようなソフトウェアによる機能実現の他に、各機能を演算装置等のハードウェアにより実現してもよい。保持部127は、ROM112あるいは記憶装置117により実現され、仮想物体103のポリゴン情報やモデルフィッティングに用いられる3次元形状モデル情報等を保持する。この他、手ぶり等の空間ジェスチャ動作を認識するジェスチャ認識部等、情報処理装置100の使用目的やアプリケーションに応じた機能部を構成することができる。各機能による具体的な処理について、以下に説明する。
(手指スケルトン推定)
図2は、情報処理装置100による手指スケルトン推定処理を表すフローチャートである。図3、図4は、手指スケルトン推定処理の説明図である。
検出用情報取得部121は、ステレオRGBカメラ115により撮像されたステレオRGB画像を一定時間間隔で時系列に取得して、ノイズ除去等の前処理を行った上で、RAM111に随時保持する(S100)。時系列に取得された画像または処理には、番号あるいは取得時刻が付与される。番号あるいは取得時刻により、時系列で取得したステレオRGB画像のフレームが識別される。
ユーザ位置取得部122は、RAM111に保持されたステレオRGB画像から基準MRマーカ104及び補助MRマーカ105を検出する。ユーザ位置取得部122は、検出した基準MRマーカ104及び補助MRマーカ105のステレオRGB画像中の形状に基づいて、世界座標系におけるHMD119の位置姿勢を取得する(S101)。基準MRマーカ104及び補助MRマーカ105が1つも検出されない場合、情報処理装置100は、HMD119の位置姿勢を不定と判断し、以降の処理をスキップする。なお、情報処理装置100は、MRマーカを用いずに、光学センサを用いる等の他の方法でHMD119の位置姿勢を取得してもよい。
検出部123は、RAM111に保持されたステレオRGB画像から、ステレオRGBカメラ115の左カメラによるRGB画像の肌色領域300(図3参照)と、右カメラによるRGB画像の肌色領域301(図3参照)とを検出する(S102)。検出部123は、取得した肌色領域300、301をRAM111に保持する。肌色領域300、301は、隣接する肌色ピクセルの集合であり、予め登録していた肌色の範囲内の色のピクセルを検出及びクラスタリングすることで検出される。ユーザの手や腕、他のユーザの顔や手や腕、背景等が肌色領域として検出される。肌色領域300、301は左右カメラの画角内にそれぞれ複数存在する場合もあるし、一つも存在しない場合もある。肌色領域が一つも存在しない場合、情報処理装置100は、以降の処理をスキップする。
検出部123は、RAM111に保持した肌色領域300、301から肌色領域ポリゴンを検出して、RAM111に保持する(S103)。検出部123は、ステレオマッチングに基づいて肌色領域300、301の各々についてエッジの上の点のHMD座標を算出し、それらを繋いだ三角形パッチの集合を肌色領域ポリゴンとして検出する。
検出部123は、肌色領域ポリゴンからユーザの手指や腕を含む腕領域ポリゴン302(図3参照)を検出する(S104)。ユーザの腕領域ポリゴン302は、HMD119に近い位置に存在しており、HMD画像座標系に大きく写る。そこで検出部123は、予め決められたHMD座標系の範囲内(本実施形態ではHMD119までの距離が1[m]以内)に存在し且つ所定の閾値より面積が大きい肌色領域ポリゴンのうち、面積上位の2つまでを腕領域ポリゴン302として検出する。この処理は、一人称視点ではユーザの手や腕がHMD119の近くにあるため大きく写り、他の肌色物体(他のユーザの顔や手や腕、肌色の背景)がHMD119から遠くにあるため小さく写るというヒューリスティックに基づいている。腕領域ポリゴン302が一つも存在しない場合、情報処理装置100は、以降の処理をスキップする。また、検出部123は、腕領域ポリゴン302に対応するステレオRGB画像中の肌色領域を、腕領域としてRAM111に保持しておく。
領域取得部124は、腕領域とHMD119の位置との関係に応じて、HMD座標系の手領域304を取得する(S105)。手領域304とは、手首より手先方向にある手指を含む領域であり、腕は含まない。この処理の詳細は後述する。
推定用情報取得部120は、距離画像センサ116により撮像された距離画像305(図3参照)を一定時間間隔で時系列に取得し、RAM111に随時保持する(S106)。距離画像の取得間隔は、S100の処理で取得するステレオRGB画像の取得間隔に同期する。
領域取得部124は、S105の処理で取得したHMD座標系の手領域304を距離画像センサ座標系に変換することで、距離画像センサ座標系の手領域306(図3参照)を取得する(S107)。領域取得部124は、手領域306のみがマスクされた距離画像である手領域距離画像307(図3参照)を取得する(S108)。領域取得部124は、距離画像305の各ピクセルを距離画像センサ座標系に変換し、距離画像センサ座標系の手領域306の外部のピクセルの距離値を、本来の距離値の代わりに無効を表現する「0」で埋めることで手領域距離画像307を取得する。
推定部125は、距離画像センサ座標系の手領域306と手領域距離画像307との関係に応じて、モデルフィッティング処理を行う(S109)。モデルフィッティング処理は、以下のように行われる。まず推定部125は、S108の処理で取得した手領域距離画像307から、距離値0以外のピクセルをN個ランダムサンプリングする。「N」は予め決められた値であり、本実施形態ではN=256である。ランダムサンプリングにより、モデルフィッティングの計算量を削減することができる。次に推定部125は、ランダムサンプリングしたN個のピクセルの位置を距離画像センサ座標系に変換して、手領域点群を取得する。そして推定部125は、手領域点群に対して、保持部127に保持されている予め決められた手の3次元形状モデルのモデルフィッティングを行う。本実施形態のようにユーザの指の隠れが少ない正面視点の距離画像に基づく処理により、精度良くモデルフィッティングを行うことができる。本実施形態では、推定部125は、図4に示す球の集合からなる手の3次元形状モデル400を用いる。また、推定部125は、手領域点群と手の3次元形状モデル400との誤差関数を最小化する最適化アルゴリズムとして、PSO(Particle Swarm Optimization、粒子群最適化)を用いる。
図4に示す通り、手の3次元形状モデル400は、M個の球の集合からなる。各球は、中心位置、半径、一意なID、属するパーツ等の情報を持つ。本実施形態の手の3次元形状モデル400は、M=48個の球の集合であるが、球の数を増減してもよい。球によっては互いに接触、あるいはめり込むことがある。手の3次元形状モデル400は、各指の第1関節及び第2関節に相当する位置に1次元(掌に対して垂直方向に回転する)の関節を持つ。また、手の3次元形状モデル400は、各指の根元に相当する位置に2次元(掌に対して水平方向と垂直方向にそれぞれ回転する)の関節を持つ。さらに手の3次元形状モデル400は、手首に相当する位置に6次元(世界座標におけるxyz位置及びオイラー角)の関節を持つ。そのために手の3次元形状モデル400全体の次元は、合計で26である。
手の3次元形状モデル400は、掌、指の根元と第2関節の間、第2関節と第1関節の間、指先の順に、手首から手先の方向に順序付けされたパーツ(球の集合)からなる。手の3次元形状モデル400の関節は、手首位置、指の根元関節、第2関節、第1関節の順に手首から手先の方向に順序付けされている。各関節のパラメータ(位置または角度)に従って各関節を移動・回転することで、各関節より手先に順序づけられているパーツが全て移動する。例えば、手首位置が移動・回転すると全てのパーツが移動・回転し、指の根元関節が回転すると指の根元と第2関節の間、第2関節と第1関節の間、及び指先が回転する。全ての関節にパラメータを与えることで手の形状が一意に決まる。このように手の3次元形状モデル400は、剛体である各パーツを移動・回転可能な関節で繋ぎ合わせたモデルである。各関節が取り得るパラメータの範囲は、実際の人間の手が取り得る範囲に制限される。以後、全ての関節のパラメータをパラメータベクトルと呼ぶ。上記の通り、パラメータベクトルの次元は26である。なお、手の3次元形状モデル400は5指と掌をモデル化しているが、手首、下腕、上腕を含むようなモデルであってもよい。
(式1)は、本実施形態における誤差関数である。誤差関数は、点群とモデルとの誤差を表し、小さいほどよい。誤差関数は、手領域点群の各点について、3次元形状モデル400の表面とのユークリッド距離を求め、和をとるものである。
dnは、手領域点群のある点である。(式2)に示すf(d)は、dから3次元形状モデル400の表面までの最短ユークリッド距離を全探索して求める関数である。sicenterは、手の3次元形状モデル400を構成する球siの中心の3次元座標である。sicenterは、手の3次元形状モデル400を構成する球siの半径である。なお、モデルのめりこみや、人間の手が取り得えない姿勢に対してペナルティを与える項等と(式1)の和をとって誤差関数としてもよく、別の誤差関数を用いてもよい。
静止剛体へのオフラインモデルフィッティングでは、ICP(Iterated Closest Point)がよく用いられる。しかし、本実施形態では、最適化アルゴリズムとしてPSOが用いられる。PSOは、ICPよりも、関節を持ち且つ時間的に形状が変化する手のモデルフィッティングに速度、精度、ロバスト性の面で適していることが知られている。PSOは、パラメータベクトルを、速度を持つ粒子として扱い、多数の粒子同士の相互作用を模した更新を繰り返し行うことで最適化を行う。更新数を世代あるいは世代数とも呼ぶ。各粒子の更新式は以下の(式3)、(式4)の通りである。
vk+1=w(vk+c1r1(Pk−xk)+c1r1(Gk−xk)) …(式3)
xk+1=xk+vk+1 …(式4)
xkは世代kのパラメータベクトルを表す。vkは対応する速度を表す。w、c1、c2は所定の定数である。r1、r2は[0…1]の一様分布からサンプリングされる乱数である。Pkは粒子が世代kまでで経験した中で最も誤差関数の値が良好なパラメータベクトルである。Gkは全ての粒子の中で世代kまでで最も誤差関数の値が良好なパラメータベクトルである。
世代数0の初期値は、直前のフレーム(以後、「前フレーム」と呼ぶ)のモデルフィッティングの結果得られたパラメータベクトルの各次元にガウスノイズを付与して生成される。先行するフレームにモデルフィッティングが行われていない初期フレームの場合、ユーザが手の各指を開いた所謂パーの姿勢で3次元操作空間に手を挿入することが多いというヒューリティックに基づいて、初期値が生成される。具体的には、手の3次元形状モデル400の重心と手領域の重心との世界座標が一致する位置、及び各指を開いた所謂パーの姿勢をとるパラメータベクトルの各次元にガウスノイズを付与することで、初期値が生成される。なお、他のヒューリスティックや機械学習を用いて生成したパラメータベクトルを初期値としてもよい。
本実施形態における粒子数は「128」であり、世代20を更新の終了条件とする。終了条件を満たすまでに得られたパラメータベクトルの中で誤差関数(式1)の値を最小にするものが、モデルフィッティング結果として出力される。モデルフィッティング結果として、手領域点群にフィットした手の3次元形状モデル400の位置及び姿勢に対応するパラメータベクトルが得られる。
推定部125は、操作領域に挿入される手の左右が予め決められている場合、対応する手の3次元形状モデルに対してモデルフィッティングを行えばよい。操作領域に挿入される手の左右が不明である場合、推定部125は、左右の手の各3次元形状モデルに対してそれぞれモデルフィッティングを行い、最終的に最も誤差関数(式1)の値が小さいパラメータベクトル及び手の3次元形状モデルを選択すればよい。また、操作領域に挿入される手の左右が不明である場合、推定部125は、各関節が取り得るパラメータの範囲を緩めた左右両方に対応可能な手の3次元形状モデルに対してモデルフィッティングを行ってもよい。
なお、手の3次元形状モデルは、球の数、球の位置、関節の定義等を変えてもよく、また指を球と円柱で掌を楕円体で近似したモデル401やスキンメッシュモデル402を用いてもよい。また、手の3次元形状モデルにあわせて異なる誤差関数を用いてもよい。また、PSOの更新式やパラメータは本実施例と同一である必要はなく、PSO以外のアルゴリズムを最適化アルゴリズムとして用いてもよい。
表示部126は、推定部125によるモデルフィッティングの結果得られる変形した手の3次元形状モデルに応じて仮想物体103の状態を変化させ、該仮想物体103とステレオRGB画像とをHMD119に表示させる(S110)。この際、表示部126は、変形した手の3次元形状モデルの表面のポリゴンと仮想物体103との接触判定を行う。表示部126は、接触判定結果に基づいて仮想物体103の状態を変化させる。
なお、本実施形態では接触判定に用いる3次元形状モデルの表面のポリゴンをHMD119に表示しないが、表示してもよい。また、接触判定や表示に用いられる手の3次元形状モデルは、モデルフィッティングに用いられる手の3次元形状モデル400と異なっていてもよい。例えば、モデルフィッティングの結果得られたパラメータベクトルに基づいて、指を球と円柱で掌を楕円体で近似したモデル401や、スキンメッシュモデル402を変形させ、表面のポリゴンを仮想物体103との接触判定に用いたり、表示したりしてもよい。モデルフィッティングに使われる手の3次元形状モデルよりも精緻な手の3次元形状モデルを接触判定や表示に用いることで、リアルタイム性を維持しつつ、違和感が少ない接触判定や表示が可能になる。
図2(b)は、領域取得部124によるS105のHMD座標系の手領域304を取得する処理を表すフローチャートである。
領域取得部124は、HMD座標系である腕領域ポリゴン302をHMD画像座標系に投影する(S200)。本実施形態では右カメラのHMD画像座標系に投影するが、左カメラのHMD画像座標系に投影してもよい。これにより、腕領域ポリゴン302のマスク画像と、腕領域ポリゴン302の点のHMD画像座標とが得られる。
領域取得部124は、HMD画像座標系の掌基準点303(図3参照)を取得する(S201)。領域取得部124は、まず、腕領域ポリゴン302のマスク画像に対し距離変換(distance transform)を行い、各ピクセルについてマスク画像の輪郭までの最少距離を求める。次いで領域取得部124は、マスク画像の各ピクセルについて画像端までの最小距離を求める。領域取得部124は、輪郭までの最少距離と画像端までの最小距離との積が最大になるピクセルを、掌基準点303として取得する。この処理は、掌基準点303は幅があり且つ画像端から遠いというヒューリスティックに基づいて行われる。
領域取得部124は、HMD座標系の掌基準点303を取得する(S202)。S201の処理で取得したHMD画像座標系の掌基準点303は奥行き値を持たないために、HMD座標系に変換することができない。そこで領域取得部124は、まずHMD画像座標系において、S201の処理で取得した掌基準点303とS200の処理で取得した腕領域ポリゴンの各点について距離計算を行う。領域取得部124は、距離が小さい順に掌基準点取得用の腕領域ポリゴンの点を、予め決められた数(本実施形態では「20」)だけ取得する。領域取得部124は、掌基準点取得用の腕領域ポリゴンの点のHMD座標系の重心を、HMD座標系の掌基準点303として取得する。
領域取得部124は、HMD座標系の掌基準点303に基づいて、手領域のトラッキングを行う(S203)。領域取得部124は、前フレームの掌基準点と現フレームの掌基準点との距離を取得し、近いもの同士を対応づけて同一のIDを割り当てる。前フレームに手領域が存在しない、あるいは前フレームの掌基準点との最小距離が予め決められた閾値(本実施形態では100[mm])より大きい場合、領域取得部124は、初めて出現した手であるとみなして、新しいIDを割り当てる。トラッキングの結果は、S109の処理におけるモデルフィッティングの初期値生成や、S110の処理における表示制御等に用いられる。
領域取得部124は、HMD座標系における掌基準点付近の腕領域ポリゴンが内包される直方体の領域を取得する(S204)。領域取得部124は、掌基準点を中心として、予め決められた範囲内の腕領域ポリゴンの点について、xyzの最大値と最小値とを算出し、直方体として取得する。予め決められた範囲は、本実施形態では、x:[−100mm〜+100mm]、y:[−90mm〜+130mm]、z:[−100mm〜+20mm]である。
本実施形態の情報処理装置100は、ユーザの手や腕が大きく写り且つ他の肌色物体が写りにくい一人称視点のステレオRGB画像に基づいて手領域を取得する。そして情報処理装置100は、取得した手領域を正面視点の距離画像座標系に変換した上で、指先の隠れが少ない正面視点の距離画像に基づいてモデルフィッティングを行っている。以上のように手や腕のような対象物の検出に用いるセンサと、推定に用いるセンサとを別の位置に配置することで、高精度の手指スケルトン推定を行うことが可能となる。
本実施形態では、情報処理装置100は、モデルフィッティングにより手指スケルトン推定を行っているが、別の方法、例えばCNN(畳みこみニューラルネットワーク)によって手指スケルトン推定を行ってもよい。また、本実施形態では距離画像センサ116を正面視点に配置しているが、距離画像センサ116は、一人称視点で隠れやすい指先を撮像できる位置であればどこに配置してもよい。例えば、ユーザの側面、ユーザの上方、ユーザの下方等に距離画像センサ116を配置することができる。さらに、本実施形態では一人称視点としてステレオRGBカメラ115をユーザの頭部102に装着しているが、ステレオRGBカメラ115は、一人称視点であればどこに配置されてもよい。例えば、ステレオRGBカメラ115は、ユーザの正面側の腹部や胸部に配置されてもよい。
(手指スケルトン推定処理の変形例)
以上の説明では、掌基準点付近の手領域ポリゴンの最大値及び最小値からHMD座標系の手領域を取得する。しかしながら、ユーザの手の形状によっては上記の方法で取得したHMD座標系の手領域を距離画像センサ座標系に変換する際に、ユーザの手の一部が手領域に含まれず、手指スケルトン推定の精度が低下することがある。例えば、ユーザが手をHMD119の画角に挿入するときに手先を距離画像センサ116に向けることがある。この場合、HMD119から指先が隠れてしまい、S204の処理で取得した直方体の領域をS107の処理で距離画像センサ座標系に変換すると、指先が手領域の外に位置することになる。そのためにS108の処理で指先が欠けた手領域距離画像が取得され、S109の処理では指先が欠けた点群に対してモデルフィッティングが行われることになる。その結果、手指スケルトン推定の指先の精度が低下する。そこで、HMD119の画角から指先が隠れている場合においても手指スケルトン推定の精度を向上させるために、以下のような処理を行う。
この場合、領域取得部124は、HMD座標系の手領域取得処理を以下のように行う。図5は、手指スケルトン推定処理の説明図である。図6は、S105の領域取得部124によるHMD座標系の手領域304を取得する処理を表すフローチャートである。情報処理装置100は、図2(a)のフローチャートによって手指スケルトン推定処理を実行し、S105の処理を図6のフローチャートによって実行する。
図6のフローチャートは、図2(b)のフローチャートの最後にS300の処理を追加したものである。S200〜S204の処理は図2(b)と同一であるが、図5に示すように、領域取得部124は、左カメラの肌色領域500と右カメラの肌色領域501に対応して、腕領域ポリゴン502及びHMD画像座標系の掌基準点503を取得する。
領域取得部124は、S204の処理で取得した直方体を、HMD座標系の−z方向(ステレオRGBカメラ115から手101に向く方向)に予め決められた長さ(本実施形態では100[mm])だけ拡張し、HMD座標系の手領域504として取得する。拡張する量は、手101の形状に基づいて決められる。図5では、HMD座標系の手領域504において、S204の処理で取得した直方体を点線で、S300の処理で拡張した領域を二重線で示している。このようにHMD視点で死角となりうる手先方向について余裕を持たせることにより、領域取得部124は、指先がすべて内包されたHMD座標系の手領域504を取得することができる。ただし、HMD視点で死角となりうる手先方向について余裕を持たせる方法としては別の方法を用いてもよい。例えば、z方向についてはS204の処理で最小値を算出せず、予め決められた余裕を持たせた範囲を手領域としてもよい。
S300の処理で取得したHMD座標系の手領域504をS107の処理で距離画像センサ座標系に変換しても、指先が手領域506に内包される。そのために情報処理装置100は、S108の処理により精度良く手領域距離画像507を取得することができ、S109の処理によるモデルフィッティング処理も精度良く行うことができる。以上のように、一人称視点で死角となりうる手先方向について手領域の余裕を持たせることで、一人称視点で指先が隠れている場合においても精度良くスケルトン推定が可能となる。
<第2実施形態>
第2実施形態では、HMD画像座標系の手の位置に基づいて手の種類判定(左右判定)を行い、対応する左右いずれかの手の3次元形状モデルのみを用いてモデルフィッティングを行う。手の左右判定を行うことで、操作領域に挿入される手の左右が不明である場合に計算量が増加することを防止して、リアルタイム性が維持される。
点群と手の3次元形状モデルの距離計算を繰り返し行う必要があるモデルフィッティングは、手指スケルトン推定の計算量がボトルネックとなる。操作領域に挿入される手の左右が予め決められており、決められた手の3次元形状モデルに対してモデルフィッティングを行う場合と比べ、左右両方の手の3次元形状モデルに対してそれぞれモデルフィッティングを行う場合の計算量は2倍になる。また、各関節が取り得るパラメータの範囲を緩めた左右両方に対応可能な手の3次元形状モデルに対してモデルフィッティングを行っても計算量の増加は抑えられない。探索するパラメータ空間が広いため、予め決められた手の3次元形状モデルに対してモデルフィッティングを行う場合と同等の精度を維持するためには、多くの計算量が必要となるためである。
そこで第2実施形態では、操作領域に挿入される手の左右が不明であっても、手指スケルトン推定のリアルタイム性を維持することを目的とする。第2実施形態における、システムの外観及び情報処理装置100のハードウェア構成は、第1実施形態と同様である。情報処理装置100の機能構成は、領域取得部124及び推定部125を除いて第1実施形態と同様であるため、異なる点のみを説明する。第2実施形態の領域取得部124は第1実施形態の機能に加えて手領域左右判定を行い、推定部125は手領域左右判定の結果に基づいてモデルフィッティング処理を行う。詳細は後述する。
図7は、情報処理装置100による手指スケルトン推定処理を表すフローチャートである。情報処理装置100は、図7(a)のフローチャートによって手指スケルトン推定処理を実行する。図7(a)のフローチャートは、図2(a)のフローチャートのS105の処理とS106の処理との間にS400の処理が行われ且つS109の処理がS401の処理に置き換えられている。図7(b)のフローチャートは、領域取得部124による手領域左右判定の処理であるS400の処理を表す。図2と同じ処理については説明を省略する。
推定部125は、S400の手領域左右判定処理の結果に基づいてモデルフィッティング処理を行う(S401)。このモデルフィッティング処理はS109の処理と略同一であるが、手領域が右と判定された場合には右手の3次元形状モデル、手領域が左と判定された場合には左の3次元形状モデルを用いてモデルフィッティングを行う。片手の3次元形状モデルのみを用いることで、計算量が大幅に削減されてリアルタイム性が維持される。
図7(b)により、手領域左右判定処理を詳細に説明する。
領域取得部124は、S203の処理による手領域のトラッキング結果に基づいて、手領域が現フレームで初めて現れたかどうかの判定を行う(S500)。手領域が現フレームで初めて現れたものではない場合(S500:N)、領域取得部124は、前フレームの手領域左右判定と同じ判定を行い(S501)、手領域左右判定処理を終了する。
手領域が現フレームで初めて現れたものである場合(S500:Y)、領域取得部124は、手領域に対応する、S104の処理で取得された腕領域のHMD画像座標系におけるバウンディングボックスを取得する(S502)。本実施形態では、領域取得部124は、ステレオRGBカメラ115の右カメラのRGB画像におけるバウンディングボックスを取得するが、左カメラのRGB画像を用いてバウンディングボックスを取得してもよい。
領域取得部124は、ステレオRGBカメラ115の右カメラのRGB画像の左右端と、バウンディングボックスとの最小距離を取得する(S503)。領域取得部124は、RGB画像の左端とバウンディングボックスとの距離と、RGB画像の右端とバウンディングボックスとの距離と、を比較する(S504)。RGB画像の右端とバウンディングボックスとの距離の方が小さい場合(S504:Y)、領域取得部124は、手領域を右手であると判定して(S505)、手領域左右判定処理を終了する。RGB画像の左端とバウンディングボックスとの距離の方が小さい場合(S504:N)、領域取得部124は、手領域を左手であると判定して(S506)、手領域左右判定処理を終了する。
図8は、手領域左右判定処理の説明図である。図8では、RGB画像の左端とバウンディングボックス800との距離801と、RGB画像の右端とバウンディングボックス800との距離802と、では、RGB画像の右端とバウンディングボックス800との距離802のほうが小さい。そのために図8の例では、領域取得部124は、手領域が右手であると判定する。
なお、本実施形態ではステレオRGBカメラ115の画角内に右手は右から、左手は左から入ってくるというヒューリスティックを用いているが、別のヒューリスティックや機械学習を用いてもよい。本実施形態では、一人称視点の情報を用いて手の左右を容易に判定し、判定結果を活用することで正面視点の情報に基づくモデルフィッティングの計算量を削減する。そして、操作領域に挿入される手の左右が不明である場合においても手指スケルトン推定のリアルタイム性を維持することができる。
<第3実施形態>
図9は、本実施形態の情報処理装置を用いた人体スケルトン推定システムの説明図である。図9(a)は、人体スケルトン推定システムの外観の一例を示す。人体スケルトン推定システムは、情報処理装置900、検出用距離画像センサ915、及び推定用距離画像センサ916、917を備える。情報処理装置900は、検出用距離画像センサ915、及び推定用距離画像センサ916、917により取得されるセンサ情報に基づいてユーザ901の位置及び姿勢を推定する。情報処理装置900は、検出用距離画像センサ915及び推定用距離画像センサ916、917と通信可能に接続される。
情報処理装置900の世界座標系は、固定した基準マーカ902の中心を原点とした右手座標系に予めキャリブレーションされている。検出用距離画像センサ915及び推定用距離画像センサ916、917の世界座標系における位置姿勢、またこれらの距離画像センサから取得された距離画像の各ピクセルを、世界座標系における3次元点群に変換する変換行列も予めキャリブレーションされている。
本実施形態では3種類の座標系が用いられる。一つ目は基準マーカ902の中心を原点とする3次元の世界座標系であり、図9(a)の点線の矢印として描かれている。二つ目は2次元の距離画像座標系である。三つ目は3次元の距離画像センサ座標系であり、図9(a)に二重線の矢印として描かれている。距離画像座標系及び距離画像センサ座標系は、検出用距離画像センサ915及び推定用距離画像センサ916、917についてそれぞれ独立に定義される。世界座標系、距離画像座標系、及び距離画像センサ座標系は、相互に変換可能である。
情報処理装置900は、検出用距離画像センサ915と推定用距離画像センサ916、917との画角が交差する範囲を3次元の操作空間として、この操作空間内のユーザの姿勢を推定する。図9(b)は、情報処理装置900のハードウェア構成を例示する。情報処理装置900は、CPU910、RAM911、及びROM912を備えるコンピュータである。CPU910、RAM911、及びROM912はバス913を介して接続される。バス913には、さらに、入出力I/F914が接続される。情報処理装置900は、検出用距離画像センサ915及び推定用距離画像センサ916、917の他に、外部装置である記憶装置918が接続される。
ROM912は、オペレーティングシステム、各種処理プログラム、デバイスドライバ等を記憶する。CPU910は、ROM912から各種のコンピュータプログラムを読み込み、RAM911を作業領域に用いて実行することで、システム全体の動作の制御を行う。なお、ROM912に記憶される各種のコンピュータプログラムは、外部に設けられる記憶装置918に記憶されていてもよい。入出力I/F914は、検出用距離画像センサ915及び推定用距離画像センサ916、917から距離画像を取得し、情報処理装置900が処理可能な信号に変換する。また入出力I/F914は、記憶装置918と情報処理装置900と間で相互にデータの送受信を行う。本実施形態では、人体スケルトン推定システムに用いるデジタルデータが、記憶装置918に格納されているものとする。記憶装置918には、例えばディスクデバイスやフラッシュメモリ、ネットワークやUSBなどの各種の大容量記憶装置を使用することができる。
図9(c)は、情報処理装置900の機能ブロック図である。情報処理装置900は、推定用情報取得部920、検出用情報取得部921、検出部922、領域取得部923、推定部924、及び保持部925として機能する。本実施形態では、各機能は、CPU910がコンピュータプログラムを実行することで実現される。なお、このようなソフトウェアによる機能実現の他に、各機能を演算装置等のハードウェアにより実現してもよい。保持部925は、ROM912あるいは記憶装置918により実現され、モデルフィッティングに用いられる3次元形状モデル情報等を保持する。この他、空間ジェスチャ動作を認識するジェスチャ認識部等、情報処理装置900の使用目的やアプリケーションに応じた機能部を構成することができる。各機能による具体的な処理について、以下に説明する。
(人体スケルトン推定処理)
図10は、情報処理装置900による人体スケルトン推定処理を表すフローチャートである。図11は、人体スケルトン推定処理の説明図である。
検出用情報取得部921は、検出用距離画像センサ915により撮像された検出用距離画像1100を一定時間間隔で時系列に取得して、ノイズ除去等の前処理を行った上でRAM911に随時保持する(S600)。
検出部922は、RAM911に保持された検出用距離画像1100から検出用距離画像座標系の人体領域を取得する(S601)。検出部922は、例えば予め取得された背景画像との背景差分と動体検知とに基づいて人体領域を取得するが、別の方法を用いてもよい。また、本実施形態では人体領域として直方体を取得するが、別の形状であってもよい。領域取得部923は、検出用距離画像座標系の人体領域と検出用距離画像センサ915の位置との関係に応じて、世界座標系の人体領域を取得する(S602)。この処理の詳細は後述する。
推定用情報取得部920は、推定用距離画像センサ916、917のそれぞれから推定用距離画像1101、1102を一定時間間隔で時系列に取得して、ノイズ除去等の前処理を行った上でRAM911に随時保持する(S603)。推定用距離画像1101、1102の取得間隔は、S600の処理で取得する検出用距離画像1100の取得間隔に同期する。領域取得部923は、S602の処理で取得した世界座標系の人体領域を、推定用距離画像センサ916、917の距離画像センサ座標系に変換することで、推定用距離画像センサ座標系の人体領域を取得する(S604)。
推定部924は、推定用距離画像センサ座標系の人体領域に存在する推定用距離画像の各ピクセルを、世界座標系に変換することで、人体点群を取得する(S605)。推定部924は、検出用距離画像センサ座標系の人体領域に存在する検出用距離画像の各ピクセルを、世界座標系に変換して人体点群に追加してもよい。人体点群は、推定用距離画像センサ916の推定用距離画像1101における人体領域1104や推定用距離画像センサ917の推定用距離画像1102における人体領域1105のように、検出用距離画像1100で死角になる部分を含む。
推定部924は、人体領域と人体点群との関係に応じて、モデルフィッティング処理を行う(S606)。モデルフィッティング処理は、以下のように行われる。まず推定部924は、S605の処理で取得した人体点群から、N個ランダムサンプリングして、サンプリング人体点群として取得する。「N」は予め決められた値であり、本実施形態ではN=256である。ランダムサンプリングにより、モデルフィッティングの計算量を削減することができる。次に推定部924は、サンプリング人体点群に対して、保持部925に保持されている予め決められた人体の3次元形状モデルのモデルフィッティングを行う。本実施形態では、第1実施形態と同様に、図11に示す球の集合からなる人体の3次元形状モデル1106を用いてモデルフィッティングを行う。推定部924は、サンプリング人体点群と人体の3次元形状モデル1106との誤差関数を最小化する最適化アルゴリズムとしてPSOを用いる。
人体の3次元形状モデル1106は、第1実施形態と同様に、M個の球の集合からなり、各球は中心位置、半径、一意なID、属するパーツ等の情報を持つ。本実施形態の人体の3次元形状モデル1106は、M=30個の球の集合であるが、球の数を増減してもよい。球によっては互いに接触、あるいはめり込むことがある。人体の3次元形状モデル1106は、肘と膝に相当する位置に1次元の関節を持つ。また、人体の3次元形状モデル1106は、頭、腕、足の根元、及び腰に相当する位置に2次元の関節を持つ。さらに人体の3次元形状モデル1106は、臀部に相当する位置に6次元(世界座標におけるxyz位置及びオイラー角)の関節を持つ。そのために人体の3次元形状モデル1106全体の次元は、合計で22である。
人体の3次元形状モデル1106は、臀部から先端の方向に順序付けされたパーツ(球の集合)からなり、同様に関節も臀部から先端の方向に順序付けされている。各関節のパラメータ(位置または角度)に従って各関節を移動・回転することで、各関節より先端に順序づけられているパーツが全て移動する。全ての関節にパラメータを与えることで人体の形状が一意に決まる。各関節が取り得るパラメータの範囲は、実際の人体が取り得る範囲に制限される。以後、全ての関節のパラメータをパラメータベクトルと呼ぶ。パラメータベクトルの次元は22である。
本実施形態における誤差関数及び最適化アルゴリズムとそれらのパラメータは、初期フレームの扱いを除いて第1実施形態と同じであるため、重複する部分に関しては説明を省略する。初期フレームである場合、ユーザは直立した姿勢で3次元操作空間に侵入することが多いというヒューリティックに基づいて初期値が生成される。具体的には、初期値は、人体の3次元形状モデル1106の重心と世界座標における人体領域の重心とが一致する位置及び直立姿勢をとるパラメータベクトルの各次元に、ガウスノイズを付与して生成される。なお、別のヒューリスティックや機械学習を用いて初期値が生成されてもよい。
図10(b)は、領域取得部124によるS602の世界座標系の人体領域を取得する処理を表すフローチャートである。
領域取得部923は、検出用距離画像座標系の人体領域を検出用距離画像センサ座標系に変換することで、検出用距離画像センサ座標系の人体領域を取得する(S700)。領域取得部923は、検出用距離画像センサ座標系の人体領域を、検出用距離画像センサ座標系の+z方向に予め決められた長さだけ拡張して、検出用距離画像センサ座標系の拡張人体領域1103として取得する(S701)。本実施形態では、人体領域が1000[mm]だけ拡張される。図11は、検出用距離画像1100の拡張人体領域1103において、S700の処理で取得した人体領域を点線で、S701の処理で拡張した領域を二重線で描いている。このように検出用距離画像センサ915の視点で死角となりうる奥行き方向について余裕を持たせることで、領域取得部923は、ユーザ901(人体)が正しく内包された検出用距離画像センサ座標系の拡張人体領域1103を取得することができる。領域取得部923は、拡張人体領域1103を、世界座標系に変換することで世界座標系の人体領域を取得し(S702)、世界座標系の人体領域取得処理を終了する。
本実施形態の人体スケルトン推定システムは、検出用距離画像センサ915と推定用距離画像センサ916、917とを異なる位置に配置し、さらに世界座標系における人体領域を正しく取得することで、精度良く人体スケルトン推定を行うことができる。なお、本実施形態では推定用距離画像センサ916と推定用距離画像センサ917とが向かい合わせで配置されているが、これに限らず、検出用距離画像センサ915の死角をカバーする位置であればどこに配置されてもよい。また、本実施形態では2台の推定用距離画像センサ916、917を用いているが、1台以上であれば何台でもよく、またステレオRGBカメラ等の距離計測可能な別の種類のセンサであってもよい。さらに、本実施形態は、検出用距離画像センサ915に代えてRGBカメラ等の別の種類のセンサを用いてもよい。
<第4実施形態>
図12は、本実施形態の情報処理装置を用いたMRシステムの説明図である。図12(a)は、MRシステムの外観の一例を示す。MRシステムは、情報処理装置1200、一人称視点のRGBカメラ1215、正面視点のRGBカメラ1216、HMD1219、及び光学センサ1230を備える。情報処理装置1200は、RGBカメラ1215、1216により取得されるセンサ情報(RGB画像)に基づいてユーザの手101の位置及び姿勢を推定する。RGBカメラ1215、1216は、可視光画像を撮像する可視光画像の撮像装置であり、センサ情報としてRGB画像を取得する。本実施形態では、情報処理装置1200とRGBカメラ1216とが一体に構成され、RGBカメラ1215とHMD2119とが一体に構成される。情報処理装置1200は、HMD1219及び光学センサ1230と通信可能に接続される。
HMD1219はユーザの頭部102に装着されて使用される。HMD1219がユーザに装着された状態では、RGBカメラ1215の視線とユーザの目線とが同じになる。そのためにRGBカメラ1215が撮像するRGB画像は、一人称視点の画像となる。情報処理装置1200の世界座標系における正面視点のRGBカメラ1216の位置姿勢は、予めキャリブレーションされている。光学センサ1230は、HMD1219に設けられる光学マーカ1231を検出して、検出結果を情報処理装置1200に入力する。
情報処理装置1200は、一人称視点のRGBカメラ1215と正面視点のRGBカメラ1216との画角が交差する範囲を3次元の操作空間として、この操作空間内の手101に対してのみ手指スケルトン推定が可能である。ユーザの頭部102の動きに合わせて一人称視点のRGBカメラ1215の位置姿勢が変化するため、3次元操作空間は毎フレーム変化する。
図12(b)は、MRシステムに含まれる情報処理装置1200のハードウェア構成を例示する。情報処理装置1200は、CPU1210、RAM1211、及びROM1212を備えるコンピュータである。CPU1210、RAM1211、及びROM1212はバス1213を介して接続される。バス1213には、さらに、入出力I/F1214及びディスプレイI/F1218が接続される。情報処理装置1200は、RGBカメラ1215、1216、及びHMD1219の他に、外部装置である記憶装置1217が接続される。
ROM1212は、オペレーティングシステム、各種処理プログラム、デバイスドライバ等を記憶する。CPU1210は、ROM1212から各種のコンピュータプログラムを読み込み、RAM1211を作業領域に用いて実行することで、MRシステム全体の動作の制御を行う。なお、ROM1212に記憶される各種のコンピュータプログラムは、外部に設けられる記憶装置1217に記憶されていてもよい。
ディスプレイI/F1218は、情報処理装置1200で生成した画像をHMD1219で処理可能な信号に変換して、HMD1219に送信する。入出力I/F1214は、一人称視点のRGBカメラ1215及び正面視点のRGBカメラ1216のそれぞれからRGB画像を取得して、情報処理装置1200が処理可能なデータに変換する。また入出力I/F1214は、記憶装置1217との間で相互にデータの送受信を行う。本実施形態では、情報処理装置1200でHMD1219に表示させる画像を表すデジタルデータが、記憶装置1217に格納されているものとする。記憶装置1217には、例えばディスクデバイスやフラッシュメモリ、ネットワークやUSBなどの各種の大容量記憶装置を使用することができる。
図12(c)は、情報処理装置1200の機能ブロック図である。情報処理装置1200は、推定用情報取得部1220、検出用情報取得部1221、ユーザ位置取得部1222、検出部1223、領域取得部1224、推定部1225、表示部1226、及び保持部1227として機能する。本実施形態では、各機能は、CPU1210がコンピュータプログラムを実行することで実現される。なお、このようなソフトウェアによる機能実現の他に、各機能を演算装置等のハードウェアにより実現してもよい。保持部1227は、ROM1212あるいは記憶装置1217により実現され、モデルフィッティングに用いられる3次元形状モデル情報等を保持する。この他、手ぶり等の空間ジェスチャ動作を認識するジェスチャ認識部等、情報処理装置1200の使用目的やアプリケーションに応じた機能部を構成することができる。各機能による具体的な処理について、以下に説明する。
(手指スケルトン推定処理)
図13は、情報処理装置1200による手指スケルトン推定処理を表すフローチャートである。図14は、手指スケルトン推定処理の説明図である。
検出用情報取得部1221は、一人称視点のRGBカメラ1215によって撮像されたRGB画像を、一定時間間隔で時系列に取得し、ノイズ除去等の前処理を行った上でRAM1211に随時保持する(S800)。ユーザ位置取得部1222は、光学センサ1230が検出した光学マーカ1231に基づいて、世界座標系におけるHMD1219の位置姿勢を取得する(S801)。光学マーカ1231が検出されない場合、HMD1219の位置姿勢が不定となるために、情報処理装置1200は、以降の処理をスキップする。
検出部1223は、RAM1211に保持されたRGB画像中において肌色領域1301を取得し、RAM1211に保持する(S802)。肌色領域1301が検出されない場合、情報処理装置1200は、以降のステップをスキップする。領域取得部1224は、肌色領域1301から手領域1303を取得する(S803)。本実施形態では、予め学習したカスケード型識別器を用いて正方形の手領域を取得するが、別の方法を用いてもよい。
推定用情報取得部1220は、正面視点のRGBカメラ1216によって撮像された正面視点のRGB画像1302を、一定時間間隔で時系列に取得してRAM1211に随時保持する(S804)。RGB画像の取得間隔は、S800で取得した一人称視点のRGB画像の取得間隔に同期する。領域取得部1224は、正面視点のRGB画像1302においてユーザの手が存在可能な領域1304を、一人称視点のRGB画像中の手領域1303を、正面視点のRGB画像1302に投影することで取得する(S805)。
推定部1225は、正面視点のRGB画像1302においてユーザの手が存在可能な領域1304の内部に限定してモデルフィッティング処理を行う(S806)。本実施形態のようにユーザの指の隠れが少ない正面視点のRGB画像に基づいてユーザの手が存在可能な領域1304に探索領域を絞ることで、精度良くモデルフィッティングを行うことが可能になる。本実施形態では、推定部1225は、図4に示す手の3次元形状モデル400を用いてモデルフィッティング処理を行う。手モデルの変形と最適化アルゴリズムについては第1実施形態と同様であるため説明を省略する。ただし、手モデルのパラメータベクトルはユーザの手が存在可能な領域1304に制約される。
本実施形態で用いる評価関数を(式5)に示す。(式5)において、Inputは正面視点のRGB画像1302を表し、Renderは正面視点のRGBカメラ1216の視点でレンダリングした手モデルの画像を表す。uは正面視点のRGB画像1302中の所定の座標を表す。Input(u)は正面視点のRGB画像1302の位置uの画素値(RGBの3チャンネル)を表す。Render(u)は正面視点のRGBカメラ1216の視点でレンダリングした手モデルの画像の位置uの画素値(RGBの3チャンネル)を表わす。(式5)はレンダリングした手モデルの画素値と入力である正面視点のRGB画像1302について、RGB各チャンネルのピクセル単位の差の絶対値の和をとったものである。
表示部1226は、S806の処理で得られた手の3次元形状モデルの表面のポリゴンや、仮想物体、UI部品等をHMD1219に表示する(S807)。以上の処理により、情報処理装置1200は、手指スケルトン処理により推定した手の位置、姿勢、及び動きに応じて仮想物体やUI部品を表示することができる。ユーザは、HMD1219により表示された仮想物体やUI部品を手で実際に操作する感覚で、MRシステムを用いた操作を行うことができる。
本実施形態では、情報処理装置1200は、ユーザの手や腕が大きく写りかつ他の肌色物体が写りにくい一人称視点のRGB画像に基づいて手領域を取得する。そして、情報処理装置1200は、手領域を正面視点のRGB画像座標系に投影した上で指先の隠れが少ない正面視点のRGB画像に基づいてモデルフィッティングを行っている。検出に用いるセンサと推定に用いるセンサとを別の位置に設置することで、それらのセンサが3次元情報を取得できないRGBカメラであっても、精度良く手指スケルトン推定を行うことができる。なお、本実施形態ではRGBカメラを用いたが、色情報を取得できるセンサであれば、例えばYUVカメラ等であってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (14)

  1. 所定の第1位置に配置された第1センサから対象物の画像を含む第1画像を取得する第1情報取得手段と、
    前記第1位置とは異なる第2位置に配置された第2センサから前記対象物の画像を含む第2画像を取得する第2情報取得手段と、
    前記第1画像に基づいて、前記第1センサの画角内の第1座標系における前記対象物の少なくとも一部が内包される領域である第1領域を検出する検出手段と、
    前記第1領域と前記第2位置との関係に応じて、前記第2センサの画角内の第2座標系における前記対象物の少なくとも一部が内包される第2領域を取得する領域取得手段と、
    前記第2領域と前記第2画像との関係に応じて前記対象物の姿勢を推定する推定手段と、を備えることを特徴とする、
    情報処理装置。
  2. 前記領域取得手段は、前記第1領域を、前記第1センサから前記対象物を向く方向に前記対象物の形状に基づいた量だけ拡張して前記第2座標系に変換することで、前記第2領域を取得することを特徴とする、
    請求項1に記載の情報処理装置。
  3. 前記検出手段は、直方体の前記第1領域を検出し、
    前記領域取得手段は、前記第1領域を、前記第1センサから前記対象物を向く方向に前記対象物の形状に基づいた量だけ前記直方体の辺を拡張して前記第2座標系に変換することで、前記第2領域を取得することを特徴とする、
    請求項2に記載の情報処理装置。
  4. 前記第2センサは距離画像センサであることを特徴とする、
    請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記第1センサは、視線がユーザの目線と同じになるように配置されることを特徴とする、
    請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記対象物は、ユーザの手指であることを特徴とする、
    請求項1〜5のいずれか1項に記載の情報処理装置。
  7. 前記領域取得手段は、第1センサの座標系における前記対象物の位置に基づいて前記ユーザの手指の種類を判定し、
    前記推定手段は、判定結果に基づいて前記ユーザの手指の姿勢を推定することを特徴とする、
    請求項6に記載の情報処理装置。
  8. 前記領域取得手段は、前記第1領域と前記第1画像の右端との第1距離と、前記第1領域と前記第1画像の左端との第2距離とを比較し、前記第1距離が前記第2距離より小さければ手の種類を右手と判定し、前記第2距離が前記第1距離より小さければ手の種類を左手と判定することを特徴とする、
    請求項7に記載の情報処理装置。
  9. 前記第1センサは、ステレオカメラであることを特徴とする、
    請求項1〜8のいずれか1項に記載の情報処理装置。
  10. 前記対象物は、ユーザの体であることを特徴とする、
    請求項1〜5のいずれか1項に記載の情報処理装置。
  11. 所定の第1位置に配置された第1センサと、
    前記第1位置とは異なる第2位置に配置された第2センサと、
    情報処理装置と、を備えており、
    前記情報処理装置は、
    前記第1センサから対象物の画像を含む第1画像を取得する第1情報取得手段と、
    前記第2センサから前記対象物の画像を含む第2画像を取得する第2情報取得手段と、
    前記第1画像に基づいて、前記第1センサの画角内の第1座標系における前記対象物の少なくとも一部が内包される領域である第1領域を検出する検出手段と、
    前記第1領域と前記第2位置との関係に応じて、前記第2センサの画角内の第2座標系における前記対象物の少なくとも一部が内包される第2領域を取得する領域取得手段と、
    前記第2領域と前記第2画像との関係に応じて前記対象物の姿勢を推定する推定手段と、を備えることを特徴とする、
    システム。
  12. 所定の第1位置に配置された第1センサから対象物の画像を含む第1画像を取得する第1情報取得手段と、前記第1位置とは異なる第2位置に配置された第2センサから前記対象物の画像を含む第2画像を取得する第2情報取得手段と、を備える情報処理装置により実行される方法であって、
    前記第1画像に基づいて、前記第1センサの画角内の第1座標系における前記対象物の少なくとも一部が内包される領域である第1領域を検出し、
    前記第1領域と前記第2位置との関係に応じて、前記第2センサの画角内の第2座標系における前記対象物の少なくとも一部が内包される第2領域を取得して、
    前記第2領域と前記第2画像との関係に基づいて前記対象物の姿勢を推定することを特徴とする、
    推定方法。
  13. 所定の第1位置に配置された第1センサから対象物の画像を含む第1画像を取得する第1情報取得手段と、前記第1位置とは異なる第2位置に配置された第2センサから前記対象物の画像を含む第2画像を取得する第2情報取得手段と、を備えるコンピュータを、
    前記第1画像に基づいて、前記第1センサの画角内の第1座標系における前記対象物の少なくとも一部が内包される領域である第1領域を検出する検出手段、
    前記第1領域と前記第2位置との関係に応じて、前記第2センサの画角内の第2座標系における前記対象物の少なくとも一部が内包される第2領域を取得する領域取得手段、
    前記第2領域と前記第2画像との関係に応じて前記対象物の姿勢を推定する推定手段、
    として機能させることを特徴とするコンピュータプログラム。
  14. 請求項13載のコンピュータプログラムを記憶するコンピュータにより読み取り可能な記憶媒体。
JP2017010461A 2017-01-24 2017-01-24 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 Pending JP2018119833A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017010461A JP2018119833A (ja) 2017-01-24 2017-01-24 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017010461A JP2018119833A (ja) 2017-01-24 2017-01-24 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2018119833A true JP2018119833A (ja) 2018-08-02

Family

ID=63045070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017010461A Pending JP2018119833A (ja) 2017-01-24 2017-01-24 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2018119833A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020085142A1 (ja) * 2018-10-22 2020-04-30 国立大学法人大阪大学 計測装置及び計測システム
JP2020087407A (ja) * 2018-11-28 2020-06-04 台達電子工業股▲ふん▼有限公司Delta Electronics, Inc. 地図構築装置及びその地図構築方法
CN111241936A (zh) * 2019-12-31 2020-06-05 浙江工业大学 一种基于深度和彩色图像特征融合的人体姿态估计方法
CN111666935A (zh) * 2019-03-06 2020-09-15 北京京东尚科信息技术有限公司 物品中心定位方法、装置以及物流系统和存储介质
JP2020198019A (ja) * 2019-06-05 2020-12-10 Kddi株式会社 骨格抽出方法、装置およびプログラム
JP2021524113A (ja) * 2019-01-18 2021-09-09 北京市商▲湯▼科技▲開▼▲發▼有限公司Beijing Sensetime Technology Development Co.,Ltd. 画像処理方法および装置、画像機器、ならびに記憶媒体
JP2021527877A (ja) * 2019-01-31 2021-10-14 深▲せん▼市商▲湯▼科技有限公司Shenzhen Sensetime Technology Co., Ltd. 3次元人体姿勢情報の検出方法および装置、電子機器、記憶媒体
CN114612524A (zh) * 2022-05-11 2022-06-10 西南交通大学 一种基于rgb-d相机的运动识别方法
US11663737B2 (en) * 2019-04-24 2023-05-30 Sony Interactive Entertainment Inc. Information processing apparatus and representative coordinate derivation method

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7339485B2 (ja) 2018-10-22 2023-09-06 国立大学法人大阪大学 計測システム
WO2020085142A1 (ja) * 2018-10-22 2020-04-30 国立大学法人大阪大学 計測装置及び計測システム
US11227434B2 (en) 2018-11-28 2022-01-18 Delta Electronics, Inc. Map constructing apparatus and map constructing method
JP2020087407A (ja) * 2018-11-28 2020-06-04 台達電子工業股▲ふん▼有限公司Delta Electronics, Inc. 地図構築装置及びその地図構築方法
US11538207B2 (en) 2019-01-18 2022-12-27 Beijing Sensetime Technology Development Co., Ltd. Image processing method and apparatus, image device, and storage medium
JP2021524113A (ja) * 2019-01-18 2021-09-09 北京市商▲湯▼科技▲開▼▲發▼有限公司Beijing Sensetime Technology Development Co.,Ltd. 画像処理方法および装置、画像機器、ならびに記憶媒体
JP7061694B2 (ja) 2019-01-18 2022-04-28 北京市商▲湯▼科技▲開▼▲發▼有限公司 画像処理方法および装置、画像機器、ならびに記憶媒体
US11468612B2 (en) 2019-01-18 2022-10-11 Beijing Sensetime Technology Development Co., Ltd. Controlling display of a model based on captured images and determined information
US11741629B2 (en) 2019-01-18 2023-08-29 Beijing Sensetime Technology Development Co., Ltd. Controlling display of model derived from captured image
JP2021527877A (ja) * 2019-01-31 2021-10-14 深▲せん▼市商▲湯▼科技有限公司Shenzhen Sensetime Technology Co., Ltd. 3次元人体姿勢情報の検出方法および装置、電子機器、記憶媒体
CN111666935A (zh) * 2019-03-06 2020-09-15 北京京东尚科信息技术有限公司 物品中心定位方法、装置以及物流系统和存储介质
US11663737B2 (en) * 2019-04-24 2023-05-30 Sony Interactive Entertainment Inc. Information processing apparatus and representative coordinate derivation method
JP2020198019A (ja) * 2019-06-05 2020-12-10 Kddi株式会社 骨格抽出方法、装置およびプログラム
JP7103998B2 (ja) 2019-06-05 2022-07-20 Kddi株式会社 骨格抽出方法、装置およびプログラム
CN111241936A (zh) * 2019-12-31 2020-06-05 浙江工业大学 一种基于深度和彩色图像特征融合的人体姿态估计方法
CN114612524A (zh) * 2022-05-11 2022-06-10 西南交通大学 一种基于rgb-d相机的运动识别方法

Similar Documents

Publication Publication Date Title
JP2018119833A (ja) 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体
KR101687017B1 (ko) 머리 착용형 컬러 깊이 카메라를 활용한 손 위치 추정 장치 및 방법, 이를 이용한 맨 손 상호작용 시스템
JP5931215B2 (ja) 姿勢を推定する方法及び装置
KR101865655B1 (ko) 증강현실 상호 작용 서비스 제공 장치 및 방법
JP6723061B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
EP3035164B1 (en) Wearable sensor for tracking articulated body-parts
CN104937635B (zh) 基于模型的多假设目标追踪器
JP5167248B2 (ja) 深度マップによるヒューマノイド形状のモデル化
KR101606628B1 (ko) 포인팅 방향 검출 장치 및 그 방법과, 프로그램 및 컴퓨터 판독가능한 매체
JP4149213B2 (ja) 指示位置検出装置及び自律ロボット
Wen et al. A robust method of detecting hand gestures using depth sensors
US20150117708A1 (en) Three Dimensional Close Interactions
JP2009536731A5 (ja)
KR20120014925A (ko) 가변 자세를 포함하는 이미지를 컴퓨터를 사용하여 실시간으로 분석하는 방법
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
CN107949851B (zh) 在场景内的物体的端点的快速和鲁棒识别
CN109359514A (zh) 一种面向deskVR的手势跟踪识别联合策略方法
Penelle et al. Multi-sensor data fusion for hand tracking using Kinect and Leap Motion
JP4938748B2 (ja) 画像認識装置及びプログラム
JP2014186715A (ja) 情報処理装置、情報処理方法
JP3144400B2 (ja) ジェスチャ認識装置及び方法
JP2018132319A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
JP6810442B2 (ja) カメラアセンブリ、そのカメラアセンブリを用いる手指形状検出システム、そのカメラアセンブリを用いる手指形状検出方法、その検出方法を実施するプログラム、及び、そのプログラムの記憶媒体
JP2019046096A (ja) 情報処理装置及びその方法