JP2018128739A - 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 - Google Patents
画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 Download PDFInfo
- Publication number
- JP2018128739A JP2018128739A JP2017019800A JP2017019800A JP2018128739A JP 2018128739 A JP2018128739 A JP 2018128739A JP 2017019800 A JP2017019800 A JP 2017019800A JP 2017019800 A JP2017019800 A JP 2017019800A JP 2018128739 A JP2018128739 A JP 2018128739A
- Authority
- JP
- Japan
- Prior art keywords
- model
- image
- display
- area
- dimensional
- 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
Links
Landscapes
- Image Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】表示装置の位置姿勢の変化によらず、物体の三次元モデルを正確に表示装置に表示する画像処理装置を提供する。【解決手段】画像処理装置は、カメラから取得した可視画像中の物体の領域である第1物体領域を検出する第1領域検出部103と、物体の形状を表す複数の三次元点を取得する三次元点取得部105と、HMDの位置姿勢を表す位置姿勢情報を取得する位置姿勢取得部107と、位置姿勢情報に応じた座標系に物体に対応する三次元モデルを投影した投影モデル領域を取得する投影モデル領域取得部108と、投影モデル領域と第1物体領域との領域差が所定の収束条件を満たすような三次元モデルのモデルパラメータを推定するモデル推定部106と、モデルパラメータが収束条件を満たす三次元モデルを可視画像に重畳した表示画像を、HMDに表示させる表示制御部110と、を備える。【選択図】図4
Description
本発明は、ユーザの手等の物体を、仮想物体を操作するためのユーザインタフェースとして用いるための画像処理技術に関する。
可視光カメラ、赤外線カメラ、距離画像センサ等により得られる画像からユーザの手を検出し、その位置姿勢を推定してUI(ユーザインターフェース)部品等の仮想物体を操作する、ジェスチャ認識技術を用いたユーザインタフェースの利用が広まりつつある。近年、HMD(ヘッドマウントディスプレイ)にCG(Computer Graphics)を表示して用いるVR(Virtual Reality)や、現実世界の画像とCGを重ねて表示するMR(Mixed
Reality)が広まっている。この分野では、CGで表示される仮想物体を手で直接操作するために、ユーザの手指の各部位をモデル化し、その位置姿勢を推定する手指姿勢推定技術が期待されている。例えば、手指姿勢推定技術で姿勢を推定されたユーザの手指のモデルのCGが、VRやMRの仮想空間や現実空間に合成して表示される。
Reality)が広まっている。この分野では、CGで表示される仮想物体を手で直接操作するために、ユーザの手指の各部位をモデル化し、その位置姿勢を推定する手指姿勢推定技術が期待されている。例えば、手指姿勢推定技術で姿勢を推定されたユーザの手指のモデルのCGが、VRやMRの仮想空間や現実空間に合成して表示される。
特許文献1は、三次元モデリングされたCG画像による仮想空間の中に、モーションキャプチャ技術を用いて検出した現実空間の手の位置に基づいて、三次元モデリングされた手のCG画像を表示する技術を開示する。特許文献2は、現実空間の画像中における注目現実物体の領域を決定し、この領域を包含する包含領域に対して暈かし処理を行い、暈かし処理後の現実空間の画像上に仮想空間の画像を重畳させた合成画像を生成する技術を開示する。
MRのように現実世界の画像に手指の三次元形状のモデル(三次元モデル)のCGを合成してHMDに表示させる場合、現実世界の画像に見えている現実の手指の上に、手指の三次元モデルが重畳されることがある。この場合、現実の手指と手指の三次元モデルとの位置ずれにより違和感が生じ、ユーザビリティが低下することがある。特に、手指の推定のためのセンサをHMDとは別途設置する場合、HMDの位置姿勢に応じて、センサの検出結果から推定した手指の三次元モデルを表示する必要がある。
本発明は、上記課題に鑑みてなされたものであり、HMDのような表示装置の位置姿勢の変化によらず、手指のような物体の三次元モデルを正確に表示装置に表示する画像処理装置を提供することを目的とする。
本発明の画像処理装置は、撮像手段が撮像する撮像画像に基づいた表示画像を表示手段に表示させる画像処理装置であって、前記撮像手段から部位毎に位置もしくは角度が可変な物体を含む撮像画像を取得する画像取得手段と、前記撮像画像から前記物体の領域である第1物体領域を検出する第1領域検出手段と、前記物体の形状を表す複数の三次元点を取得する三次元点取得手段と、前記表示手段の位置姿勢を表す位置姿勢情報を取得する位置姿勢取得手段と、前記位置姿勢情報に応じた前記表示画像の座標系に、前記物体に対応する三次元モデルを投影した投影モデル領域を取得する投影モデル領域取得手段と、前記投影モデル領域と前記第1物体領域との領域差を算出する領域差算出手段と、前記複数の三次元点及び前記領域差に基づいて、前記領域差が所定の収束条件を満たすような前記三次元モデルの各部位の位置もしくは角度を設定するためのモデルパラメータを推定するモデル推定手段と、前記撮像画像に、各部位のモデルパラメータが前記収束条件を満たす前記三次元モデルを重畳した前記表示画像を、前記表示手段に表示させる表示制御手段と、を備えることを特徴とする。
本発明によれば、表示手段の位置姿勢の変化によらず、物体の三次元モデルを正確に表示手段に表示することが可能となる。
図1は、本実施形態の画像処理装置を用いたMRシステムの構成例示図である。MRシステムは、画像処理装置100、表示装置であるヘッドマウントディスプレイ(HMD)205、カメラ206、及び距離画像センサ207を備える。HMD205とカメラ206とは、一体に構成される。画像処理装置100は、HMD205、カメラ206、及び距離画像センサ207との間で通信可能に接続される。通信は、有線、無線のいずれで行われてもよい。なお、表示装置は、表示機能を備えた装置であればHMD205である必要はない。例えば、表示装置は、タブレット端末、携帯端末、モバイルプロジェクタ等の位置姿勢が可変な装置を適用可能である。本実施形態では画像処理装置100を独立した装置として説明するが、画像処理装置100は、距離画像センサ207及びHMD205(カメラ206)のいずれかと一体に構成されていてもよい。
HMD205は、ユーザの頭部に装着される。カメラ206は、ユーザの視線と同じ視線で周囲を撮像して、撮像画像(可視画像)を取得する撮像装置である。カメラ206は、HMD205の左右の眼に対応するディスプレイ用にそれぞれの可視画像を取得するため二眼のカメラとするが、これに限るものではない。カメラ206によって取得された可視画像は、HMD205で表示される。これによりユーザは、HMD205を装着したまま周囲を視認することができる。なお、HMD205は、カメラ206で取得した可視画像に仮想物体301や現実の物体に対応する三次元形状のモデル(三次元モデル)を重畳した表示画像を表示することができる。カメラ206が撮像した周囲の可視画像に仮想物体301等が重畳されて表示されるために、ユーザは、HMD205越しに、あたかも現実空間に仮想物体301が存在するように認識することができる。画像処理装置100は、カメラ206から取得した可視画像に仮想物体301等の画像を重畳した表示画像をHMD205に表示させる。
距離画像センサ207は、カメラ206とは別に設けられた装置であり、ユーザを正面、横、天井等から撮像できる位置に配置される。距離画像センサ207は、画角に含まれる各画素までの距離を含む距離画像を取得する。距離画像センサ207は、例えば、赤外光等の光を投射してその反射時間によって距離を測定するものや、パターン光を照射してその形状から距離を計測するもの、あるいはステレオカメラ等で実現される。ユーザが仮想物体301を操作するように手を向けると、カメラ206の視点からユーザの手の一部、特に指先が隠れることが多い。このカメラ206から隠れる指先の動きを捉えるために、カメラ206とは視点が異なる位置に距離画像センサ207が配置される。距離画像センサ207の実世界座標上の位置姿勢は、予めキャリブレーションされる。
図2は、距離画像センサ207で取得される距離画像の座標系、現実世界の実世界座標系、及びHMD205に表示される表示画像の座標系の関係を表す図である。図2(a)は、距離画像センサ207が取得する距離画像の座標系を表す。距離画像は、各座標(x_d,y_d)に対して画素値Dを有する。距離画像において画素値Dは距離画像センサ207からの距離値を表す。図2(b)は実世界座標系を表しており、現実世界の位置を所定の基準点からの三次元位置(X_w,Y_w,Z_w)で表す。図2(c)はHMD205のディスプレイに表示される表示画像の座標系であり、右目の表示画像の座標を(x_hr,y_hr)で表す。左目のディスプレイに表示する表示画像の座標も、同様に(x_hl,y_hl)で表される。カメラ206で取得された可視画像がHMD205に表示されるために、表示画像の座標系と可視画像の座標系は同じである。
各座標系の正確な変換のために、距離画像センサ207の位置姿勢及び内部パラメータと、HMD205の位置姿勢及びカメラ206の左右それぞれの内部パラメータとは、予めキャリブレーションされる。これにより、距離画像センサ207から取得される距離画像中の点(x_d,y_d,D)は、実世界座標系(X_w,Y_w,Z_w)に変換される。距離画像の座標系から実世界座標系への変換式は、例えば(式1)で表される。
座標変換時のHMD205の位置姿勢に応じて、実世界座標系(X_w,Y_w,Z_w)の点は、表示画像の座標系(x_hr,y_hr)、(x_hl,y_hl)に、同様に変換される。
図3は、画像処理装置100のハードウェア構成図である。画像処理装置100は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、及びRAM(Random Access Memory)203を備えるコンピュータである。CPU201、ROM202、及びRAM203はバスを介して接続される。バスには、さらに、通信I/F(インタフェース)208及び入出力I/F209が接続される。入出力I/F209には、外部装置である記憶装置204が接続される。なお、画像処理装置100が距離画像センサ207及びHMD205(カメラ206)のいずれか一方と一体に構成される場合、一体に構成される装置は、通信I/F208を介さずにバスに接続される。
ROM202は、オペレーティングシステム(OS)、各種処理プログラム、デバイスドライバ等を記憶する。CPU201は、ROM202から各種プログラムを読み込み、RAM203を作業領域に用いて実行することで、MRシステム全体の動作の制御を行う。なお、ROM202に記憶される各種のコンピュータプログラムは、記憶装置204に記憶されていてもよい。
通信I/F208は、画像処理装置100で生成した画像をHMD205で処理可能な信号に変換して、HMD205に送信する。通信I/F208は、距離画像センサ207から距離画像を取得するとともに、カメラ206から可視画像を取得して、画像処理装置100が処理可能なデータに変換する。入出力I/F209は、記憶装置204との間でデータの送受信を行う。記憶装置204は、例えばHMD205に表示させる仮想物体301等を表すデジタルデータを格納する。記憶装置204は、例えばディスクデバイスやフラッシュメモリ、ネットワークやUSB等の各種の大容量記憶装置が用いられる。
図4は、画像処理装置100の機能ブロック図である。画像処理装置100は、画像取得部101、距離画像取得部102、第1領域検出部103、第2領域検出部104、三次元点取得部105、モデル推定部106、位置姿勢取得部107、投影モデル領域取得部108、及び領域差算出部109として機能する。また画像処理装置100は、HMD205に画像を表示させる表示制御部110として機能する。本実施形態では、各機能は、CPU201がコンピュータプログラムを実行することで実現される。なお、このようなソフトウェアによる機能実現の他に、各機能を演算装置等のハードウェアにより実現してもよい。
画像取得部101は、カメラ206から可視画像を取得する。距離画像取得部102は、距離画像センサ207から距離画像を取得する。第1領域検出部103は、画像取得部101で取得した可視画像中から現実の物体の画像領域である物体領域を検出する。可視画像はそのままHMD205に表示される画像であるために、この物体領域は、表示画像から現実の物体の領域を検出したときと同じ領域である。第2領域検出部104は、距離画像取得部102で取得した距離画像中から現実の物体の画像領域である物体領域を検出する。三次元点取得部105は、第2領域検出部104で検出した距離画像中の物体領域から、複数の三次元点を取得する。複数の三次元点は、現実の物体の表面形状を表す。
モデル推定部106は、三次元点取得部105で取得した複数の三次元点に応じて、物体の三次元モデルの各部位の位置もしくは角度を設定するためのモデルパラメータを推定する。位置姿勢取得部107は、HMD205の位置や姿勢を表す位置姿勢情報を取得する。位置姿勢取得部107は、HMD205の位置姿勢を推定することで、位置姿勢情報を取得する。位置姿勢の推定方法は、例えば既存の方法として、カメラ206で取得される可視画像中の既知のマーカや、可視画像中のエッジ等から得られる特徴点から算出する方法がある。また、位置姿勢の推定方法は、HMD205に複数のマーカや光源等の指標を設け、該指標の位置を外部センサで取得して算出する方法がある。
投影モデル領域取得部108は、位置姿勢取得部107で取得した位置姿勢情報に基づいて、画像取得部101で取得した可視画像へモデル推定部106で推定した物体の三次元モデルを投影し、可視画像中の三次元モデルが投影された投影モデル領域を取得する。可視画像はそのままHMD205に表示される画像であるために、投影モデル領域は、表示画像に三次元モデルを投影したときと同じ領域である。領域差算出部109は、投影モデル領域取得部108で取得した投影モデル領域と、第1領域検出部103で検出した可視画像(表示画像)中の現実の物体の物体領域と、の領域差を算出する。表示制御部110は、可視画像に投影モデル領域を重畳した表示画像をHMD205に表示させる。
図5は、このようなMRシステムの画像処理装置100により、可視画像に現実の物体の三次元モデルを重畳してHMD205に表示させるための画像処理を表すフローチャートである。
画像処理装置100は、まず、画像取得部101によりカメラ206から可視画像を取得する(S501)。画像取得部101は、HMD205に表示するための画像として、カメラ206の二眼から二枚の可視画像を取得する。以降の処理は、二眼に対応する二枚の可視画像の両方に行ってもよく、また、いずれか一方の可視画像のみに行ってもよい。位置姿勢取得部107は、HMD205の位置姿勢情報を取得する(S502)。HMD205は、ユーザのと頭部に装着されるために、位置姿勢がユーザの動きにより変化する。常に最新のHMD205の位置姿勢情報を取得するために、位置姿勢取得部107は、画像取得部101が可視画像を取得するタイミングに同期して位置姿勢情報を取得する。
第1領域検出部103は、可視画像に含まれる現実の物体の物体領域を検出する(S503)。本実施形態では、代表的な例として、物体をユーザの手として説明する。なお、物体は、手の他に、ユーザの人体やマジックハンド等の複数の可変な部位から構成されるものであればよい。可視画像中の物体領域の検出方法は、既存のどのような方法でもよい。例えば、第1領域検出部103は、可視画像中の濃淡からSHIFT特徴やLBP特徴等を抽出し、SVMやカスケード識別器のような機械学習による識別器で手の部位を検出することができる。また、第1領域検出部103は、可視画像中の肌色領域に基づいて物体領域を検出してもよい。
距離画像取得部102は、距離画像センサ207から距離画像を取得する(S504)。好ましくは、距離画像取得部102は、画像取得部101が可視画像を取得するタイミングに同期して距離画像を取得する。第2領域検出部104は、距離画像に含まれる現実の物体の物体領域を検出する(S505)。物体領域の検出は、S502の処理と同様な手法を距離画像に適用して行われる。また、第2領域検出部104は、S502の処理で検出した可視画像中の物体領域を距離画像の座標系に変換することで、距離画像に含まれる物体領域を推定することも可能である。
三次元点取得部105は、第2領域検出部104で検出した距離画像に含まれる物体領域に応じて、複数の三次元点を取得する(S506)。三次元点取得部105は、例えば距離画像に含まれる物体領域の中からランダムに画素をサンプリングし、サンプリングした各画素(x_d, y_d,D)を上記の(式1)に基づいて、実世界座標の三次元点に変換する。図6は、距離画像に基づく物体領域の検出及び三次元点取得の説明図である。図6(a)は、距離画像取得部102が取得する距離画像を例示する。図6(b)は、第2領域検出部104が検出する距離画像中の手の物体領域を例示する。図6(c)は、三次元点取得部105が取得する物体領域中の複数の画素を例示する。三次元点取得部105は、図6(c)の各点を(式1)に基づいて実世界座標の三次元点に変換する。そのために複数の三次元点は、実世界の物体(手)の形状を表す。
モデル推定部106は、手の三次元モデルと複数の三次元点との距離に基づいて、三次元モデルの各部位の位置姿勢等のモデルパラメータを推定する(S507)。モデルパラメータにより、手の三次元モデルが現実の手の位置、姿勢、形状にモデリング可能となる。図7は、手の三次元モデルの説明図である。手の三次元モデルは、指の第一関節701、第二関節702、第三関節703、手首関節704、及び手指の各部位を構成する球705の組み合わせで構成される。
手の三次元モデルのモデルパラメータは、指の第一関節701、第二関節702、第三関節703、及び手首関節704の各部位に設けられる。手首関節704は、実世界座標である三次元座標(X,Y,Z)及び三次元軸の回転(p,q,r)をモデルパラメータとして保有する。第三関節703は、指を手の平に向けて倒す回転角p及び指を他の指の方向へ倒す回転角qをモデルパラメータとして保有する。第一関節701及び第二関節702は、指を他の指の方向へ倒す回転角qをパラメータとして有する。球705は、部位毎に、半径Rを有し、手首位置及び各関節の角度パラメータに基づいて球705の中心位置の三次元座標(X,Y,Z)が決まる。球705の半径R、角度パラメータ、中心位置の三次元座標も、手の三次元モデルのモデルパラメータである。なお、手の三次元モデルは、図7に例示する球705を組み合わせたモデルに限らず、例えば、楕円体や円筒の組み合わせや、高精細なポリゴンによって構成されてもよい。
モデル推定部106は、三次元点取得部105で取得した実世界座標で表される複数の三次元点に基づいて、物体(手)の関節位置、角度、球の半径等の最適なモデルパラメータを探索する。例えば、モデル推定部106は、各三次元点に対して最も近い三次元モデルの表面点を探索し、当該点と三次元点との距離を算出する。モデル推定部106は、モデルパラメータを最適化するために、複数の三次元点と三次元モデルの表面点との距離の総和をペナルティとして評価関数として三次元モデルのパラメータを変更し、その度に評価関数の出力値が収束するように最適化を行う。三次元モデルのパラメータの最適化はどのような方法でもよい。例えば既存のパラメータ最適化方法として、ICP(Iterative Closest Point)法や、PSO(Particle Swarm Optimization)法等がある。また、三次元モデルのパラメータを距離画像から直接求める方法として、CNN(Convolutional
Neural Network)等の方法もある。このようにしてモデル推定部106は、複数の三次元点に基づいて、手の三次元モデルの各部位の最適なモデルパラメータを推定する。
Neural Network)等の方法もある。このようにしてモデル推定部106は、複数の三次元点に基づいて、手の三次元モデルの各部位の最適なモデルパラメータを推定する。
投影モデル領域取得部108は、位置姿勢取得部107で取得されたHMD205の位置姿勢情報に応じて、手の三次元モデルを表示画像(可視画像)の座標系へ投影することで、投影モデル領域を取得する(S508)。HMD205の位置姿勢が変動すると、該変動を表す位置姿勢情報に応じて表示画像の座標系が変動する。
図8は手の三次元モデルを表示画像の座標系へ投影する処理の説明図である。実世界座標における手の三次元モデル801は、画像取得部101で取得した可視画像の座標系へ投影される。手の三次元モデル801の投影された領域が、投影モデル領域802である。三次元モデル801は、モデルパラメータに応じて実世界座標における三次元位置が決定される。投影モデル領域取得部108は、HMD205の位置姿勢情報に応じて表示画像の座標系を設定し、実世界座標から表示画像の座標系へ手の三次元モデルを投影する。表示画像の座標系と可視画像の座標系とが同じであるために、これにより手の三次元モデルの可視画像へのレンダリングが可能となる。この処理は、二眼のカメラ206から取得するそれぞれの可視画像に対して行われる。
領域差算出部109は、投影モデル領域802と、第1領域検出部103が検出した可視画像(表示画像)中の物体領域との領域差を算出する(S509)。図9は、領域差の説明図である。図9(a)は、物体領域901と投影モデル領域802とを表す。領域差算出部109は、第1領域検出部103が検出した物体領域901と投影モデル領域802との領域差を算出することになる。三次元モデルは、距離画像センサ207のキャリブレーション誤差、位置姿勢情報のHMD205の実際の位置姿勢との誤差、距離画像センサ207とカメラ206とのフレームレート等によって、投影モデル領域の位置姿勢にずれが生じる。特に、距離画像センサ207から見えない部位の誤差が相対的に大きくなり、この部位がカメラ206から見えるときは、そのずれが目立ってしまう。領域差算出部109は、投影モデル領域802とカメラ206から取得した可視画像中の物体領域901との領域差Adiffを、例えば投影モデル領域を「Am」、物体領域を「Ai」として、(式2)により算出する。
Adiff = (Am xor Ai)/(Am or Ai) …(式2)
Adiff = (Am xor Ai)/(Am or Ai) …(式2)
モデル推定部106は、(式2)の領域差Adiffが収束条件となる所定値よりも小さいか否かを判定する(S510)。モデル推定部106は、収束条件が満たされるか否かにより、モデルパラメータの収束の判定を行う。収束条件を満たさない(領域差が所定値より大きい)場合(S510:N)、モデル推定部106は、領域差に応じて三次元モデルの各部位のモデルパラメータを再度推定して更新する(S511)。
S507の処理では手の三次元モデルの表面点と三次元点との距離を評価関数として、モデルパラメータが最適化されている。一方、S511の処理のモデルパラメータの更新は、(式2)の領域差を評価関数として、前述のICPやPSO等の手法により行われる。モデルパラメータを更新するとS508の処理へ戻り、投影モデル領域取得部108が、再度、三次元モデルを表示画像(可視画像)の座標系へ投影する。画像処理装置100は、S508〜S511の処理を、収束条件が満たされるまで繰り返し行う。収束条件を満たす(領域差が所定値より小さい)場合(S510:Y)、モデル推定部106は、モデルパラメータを確定する。図9(b)は、収束条件を満たした状態の物体領域901と投影モデル領域802とを表す。図9(a)において位置姿勢がずれてしまっていた投影モデル領域802が、図9(b)では物体領域901にほぼ一致している。
なお、領域差の算出及び収束条件はこれに限るものではない。例えば、領域差ではなく、投影モデル領域と物体領域との重なる領域の割合を算出した((式2)の「xor」を「and」にした)場合、モデル推定部106は、重なる領域の割合が所定値より大きくなると、収束条件が満たされたと判定する。
また、S511の処理では、モデル推定部106は、単に可視画像上の投影モデル領域を表示画像の座標系で移動、回転させてもよい。この場合、S508の処理において、投影モデル領域取得部108が、再度、表示画像の座標系へ三次元モデルを投影する必要がなくなる。あるいは、モデル推定部106は、すべてのモデルパラメータではなく、手首関節の位置姿勢のみを変更してもよい。これは手の形状が変化せず、位置姿勢だけが変化することに相当する。しかし、できる限り表示画像の座標系による見え方と一致するためには、各モデルパラメータを動かす方が自由度が高い。そのために、三次元モデルの手首関節位置(X,Y,Z)、各関節角度パラメータ(p,q,r)(q,rは一部の関節のみ)を最適化し、S508の処理で再度投影する方が、投影モデル領域と物体領域との形状の異なりに対しても柔軟に対応することができる。
収束条件が満たされると、表示制御部110は、収束条件を満たすモデルパラメータに応じた三次元モデルを可視画像に重畳した表示画像を、HMD205に表示させる(S512)。これにより、現実の手の位置に、手の三次元モデルが正確に重畳されて表示される。
以上のような画像処理装置100は、複数の部位で構成される手の三次元モデルのモデルパラメータを推定する際に、三次元点の位置に加え、可視画像(表示画像)に投影した際の表示領域(投影モデル領域)との差異に基づいてモデルパラメータを推定する。これにより、表示画像に手の三次元モデルと現実の手とが重畳されたときに違和感が少なく表示されるように、モデルパラメータを推定することができる。
(変形例1)
モデル推定部106は、距離画像から得られる三次元点の距離に基づいて、初期のモデルパラメータを推定してもよい。モデル推定部106は、推定したモデルパラメータを、投影モデル領域と表示画像中の物体領域との領域差に応じて更新する。この実施例では、モデル推定部106は、S511の処理において、(式2)で算出される領域差のみに基づいてモデルパラメータを推定するとは限らない。モデル推定部106は、S511の処理において、(式2)で算出される領域差と、S507の処理で用いた三次元モデルと複数の三次元点との距離と、を統合した評価関数に基づいてモデルパラメータを推定する。
モデル推定部106は、距離画像から得られる三次元点の距離に基づいて、初期のモデルパラメータを推定してもよい。モデル推定部106は、推定したモデルパラメータを、投影モデル領域と表示画像中の物体領域との領域差に応じて更新する。この実施例では、モデル推定部106は、S511の処理において、(式2)で算出される領域差のみに基づいてモデルパラメータを推定するとは限らない。モデル推定部106は、S511の処理において、(式2)で算出される領域差と、S507の処理で用いた三次元モデルと複数の三次元点との距離と、を統合した評価関数に基づいてモデルパラメータを推定する。
モデル推定部106は、(式3)に示す評価関数F(p)を用いる。なお(式3)において、d(p)は、三次元点取得部105が取得する複数の三次元点と三次元モデルの表面点との距離の総和、Adiff(p)は、S509の処理で(式2)により算出された領域差である(pはモデルパラメータ)。α、βは重み係数であり、αが大きい場合は三次元点との距離を重視し、βが大きい場合は領域差を重視して、モデルパラメータが算出される。
F(p) = αd(p) + βAdiff(p) …(式3)
F(p) = αd(p) + βAdiff(p) …(式3)
モデル推定部106は、(式3)の評価関数を最小化するように、S508〜S511で処理を繰り返し実行することで、収束条件を満たすモデルパラメータを決定する。表示制御部110は、収束条件を満たすモデルパラメータによる三次元モデルを含む表示画像をHMD205に表示させる。これにより、現実の手の位置に、手の三次元モデルが正確に重畳されて表示される。以上のように、画像処理装置100は、表示画像に手の三次元モデルと現実の手とが重畳されて違和感が少なく表示されるように、モデルパラメータを推定することができる。
(変形例2)
図1のようなMRシステムの構成では、物体である手の指先がカメラ206から隠れやすい。指先がカメラ206から隠れる場合、該指先のモデルパラメータをカメラ206で取得した可視画像による領域差に応じて更新することは適切ではない可能性がある。図10は、指先がカメラ206から隠れる場合の説明図である。モデル推定部106がモデルパラメータを推定する三次元モデル1001は、表示画像1002(可視画像)の座標系に投影されて投影モデル領域1003中の画像となる。三次元モデル1001のうち、表示画像の座標系に投影することで手の他の部分により部位1004が隠される。このように隠れる部位1004のモデルパラメータは、表示画像1002中の投影モデル領域1003と物体領域との領域差から推定することが困難である。そこでモデル推定部106は、S511の処理で各部位の位置姿勢のモデルパラメータを固定し、手の全体の位置姿勢(手首関節の位置姿勢に相当)のモデルパラメータのみを推定するようにしてもよい。
図1のようなMRシステムの構成では、物体である手の指先がカメラ206から隠れやすい。指先がカメラ206から隠れる場合、該指先のモデルパラメータをカメラ206で取得した可視画像による領域差に応じて更新することは適切ではない可能性がある。図10は、指先がカメラ206から隠れる場合の説明図である。モデル推定部106がモデルパラメータを推定する三次元モデル1001は、表示画像1002(可視画像)の座標系に投影されて投影モデル領域1003中の画像となる。三次元モデル1001のうち、表示画像の座標系に投影することで手の他の部分により部位1004が隠される。このように隠れる部位1004のモデルパラメータは、表示画像1002中の投影モデル領域1003と物体領域との領域差から推定することが困難である。そこでモデル推定部106は、S511の処理で各部位の位置姿勢のモデルパラメータを固定し、手の全体の位置姿勢(手首関節の位置姿勢に相当)のモデルパラメータのみを推定するようにしてもよい。
また、モデル推定部106は、推定した三次元モデル1001を部位毎に表示画像1002の座標系に投影して隠れるか否か判定し、隠れない部位のみのモデルパラメータを変更してもよい。
図11は、カメラ206から隠れる部位がある場合に手の三次元モデルを表示画像1002の座標系へ投影するS508の処理を表すフローチャートである。
投影モデル領域取得部108は、モデルパラメータに基づいて、三次元モデルの部位(球状のモデル)毎に、三次元モデルを表示画像1002(可視画像)の座標系へ投影して、部位毎の投影モデル領域1003を生成する(S1101)。投影モデル領域取得部108は、各部位の位置もしくは形状に基づいて、部位毎に、表示画像1002(可視画像)の座標系に投影したときの隠れ判定を行う(S1102)。具体的には、投影モデル領域取得部108は、三次元モデルの各部位の三次元位置と形状(球の場合、半径)に応じて、表示画像1002(可視画像)の座標系において重なりあう複数の部位を特定する。投影モデル領域取得部108は、特定した部位のカメラ206から見た前後関係を算出して、隠れた部位を特定する。
モデル推定部106は、隠れていると判定された部位に対応する関節のモデルパラメータを固定し、隠れていないと判定された部位に対応する関節のモデルパラメータを可変として設定する(S1103)。これによりモデル推定部106は、S511の処理において、画像上で隠れていない部位の関節のモデルパラメータのみを更新して、投影モデル領域と物体領域の領域差によりモデルパラメータを推定する。
以上のように画像処理装置100は、カメラ206から隠れない部位を判定し、判定結果に応じてモデルパラメータを更新することで、精度よくモデルパラメータを推定することができる。
(変形例3)
変形例1で示した(式3)は、複数の三次元点と三次元モデルの表面点との距離の総和、及び投影モデル領域と物体領域との領域差を統合した評価関数である。変形例3では、(式3)の重み係数α、βを可視画像の取得時刻と距離画像の取得時刻との差によって決定する。
変形例1で示した(式3)は、複数の三次元点と三次元モデルの表面点との距離の総和、及び投影モデル領域と物体領域との領域差を統合した評価関数である。変形例3では、(式3)の重み係数α、βを可視画像の取得時刻と距離画像の取得時刻との差によって決定する。
画像処理装置100は、HMD205に表示する表示画像となる可視画像をカメラ206から取得し、モデル推定用の距離画像を距離画像センサ207から取得する。ここで、カメラ206と距離画像センサ207とのフレームレートが異なっていたり、画像取得の同期がずれている場合、フレームによって、距離画像から推定した三次元モデルを表示画像に投影したときのずれ量が大きく変化することがある。可視画像の取得時刻と距離画像の取得時刻との時刻差が大きければ投影時のずれ量は大きくなり、時刻差が小さければずれ量は小さくなる。そこで画像処理装置100は、可視画像の取得時刻と距離画像の取得時刻との時刻差によるずれを抑制するために、可視画像の取得時刻と距離画像の取得時刻との差に応じて、(式3)の重み係数を変更する。
図5のフローチャートでは、画像取得部101は、S501の処理でHMD205に表示するための表示画像となる可視画像を取得して、可視画像の取得時刻をRAM203に保持する。距離画像取得部102は、S504の処理で距離画像を取得して、距離画像の取得時刻をRAM203に保持する。モデル推定部106は、S511の処理でこれら二つの取得時刻の差に応じて重み係数α、βを設定する。モデル推定部106は、二つの取得時刻の差が所定値よりも小さい場合はβを小さくして領域差による補正を相対的に小さくし、取得時刻の差が所定値よりも大きい場合はβを大きくして領域差による補正を相対的に大きくする。あるいはモデル推定部106は、単純に、取得時刻の差が閾値よりも小さい場合にS508〜S511の処理を行わなくともよい。
以上のように画像処理装置100は、フレームによって可視画像及び距離画像の取得時刻が異なる場合に、その時刻差に応じて、表示画像に投影した三次元モデルのずれ量を適切に軽減させることができる。
(変形例4)
画像処理装置100は、距離画像から手等の物体の複数の三次元点を取得する他に、例えば、手にカラーマーカーをつけたモーションキャプチャや手指の相対角度を得るデータグローブにより、物体の複数の三次元点を取得してもよい。このような場合においても画像処理装置100は、三次元点から推定した三次元モデルを表示画像の座標系に投影したときのずれを、物体領域と投影モデル領域との領域差に基づいて補正することができる。そのために画像処理装置100は、HMD205に違和感の少ない画像を表示することが可能となる。
画像処理装置100は、距離画像から手等の物体の複数の三次元点を取得する他に、例えば、手にカラーマーカーをつけたモーションキャプチャや手指の相対角度を得るデータグローブにより、物体の複数の三次元点を取得してもよい。このような場合においても画像処理装置100は、三次元点から推定した三次元モデルを表示画像の座標系に投影したときのずれを、物体領域と投影モデル領域との領域差に基づいて補正することができる。そのために画像処理装置100は、HMD205に違和感の少ない画像を表示することが可能となる。
本実施形態の画像処理装置100は、手等の複数の部位で構成される物体の三次元モデルの位置姿勢を推定する際に、距離画像の三次元点の距離に加え、モデルを表示画像に投影した際の表示領域の差異に基づいて、モデルパラメータを推定する。これにより画像処理装置100は、表示画像に手等の物体の三次元モデルと現実の手等の物体の画像とが重畳されたときの違和感を抑制することができる。なお、カメラ206は可視画像を撮像する撮像装置として説明したが、赤外線を用いて撮像する赤外線撮像装置であっても同様の処理が可能である。
(別の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (12)
- 撮像手段が撮像する撮像画像に基づいた表示画像を表示手段に表示させる画像処理装置であって、
前記撮像手段から部位毎に位置もしくは角度が可変な物体を含む撮像画像を取得する画像取得手段と、
前記撮像画像から前記物体の領域である第1物体領域を検出する第1領域検出手段と、
前記物体の形状を表す複数の三次元点を取得する三次元点取得手段と、
前記表示手段の位置姿勢を表す位置姿勢情報を取得する位置姿勢取得手段と、
前記位置姿勢情報に応じた前記表示画像の座標系に、前記物体に対応する三次元モデルを投影した投影モデル領域を取得する投影モデル領域取得手段と、
前記投影モデル領域と前記第1物体領域との領域差を算出する領域差算出手段と、
前記複数の三次元点及び前記領域差に基づいて、前記領域差が所定の収束条件を満たすような前記三次元モデルの各部位の位置もしくは角度を設定するためのモデルパラメータを推定するモデル推定手段と、
前記撮像画像に、各部位のモデルパラメータが前記収束条件を満たす前記三次元モデルを重畳した前記表示画像を、前記表示手段に表示させる表示制御手段と、を備えることを特徴とする、
画像処理装置。 - 前記撮像手段とは視点が異なる位置に設けられた距離画像センサから距離画像を取得する距離画像取得手段と、
前記距離画像から前記物体の領域である第2物体領域を検出する第2領域検出手段と、をさらに備え、
前記三次元点取得手段は、前記第2物体領域に基づいて前記複数の三次元点を取得することを特徴とする、
請求項1に記載の画像処理装置。 - 前記モデル推定手段は、前記三次元モデルの各部位のモデルパラメータを前記三次元点と前記三次元モデルとの距離に応じて推定し、このモデルパラメータを前記領域差に基づいて更新することを特徴とする、
請求項1または2に記載の画像処理装置。 - 前記投影モデル領域取得手段は、前記三次元モデルを前記表示画像の座標系に投影して、前記表示画像において隠れる前記三次元モデルの部位を判定し、
前記モデル推定手段は、隠れていると判定された前記部位のモデルパラメータを固定し、隠れていないと判定された部位のモデルパラメータを前記領域差に応じて更新することを特徴とする、
請求項1〜3のいずれか1項に記載の画像処理装置。 - 前記モデル推定手段は、前記三次元点に応じて前記三次元モデルの各部位のモデルパラメータを推定し、さらに前記領域差に応じて当該モデルパラメータを更新することを特徴とする、
請求項1〜4のいずれか1項に記載の画像処理装置。 - 前記モデル推定手段は、前記三次元点と前記三次元モデルとの距離と、前記領域差とを統合した評価関数に基づいて、前記三次元モデルのモデルパラメータを推定することを特徴とする、
請求項1〜5のいずれか1項に記載の画像処理装置。 - 前記画像取得手段は、前記撮像画像を取得する第1取得時刻を保持し、
前記距離画像取得手段は、前記距離画像を取得する第2取得時刻を保持し、
前記モデル推定手段は、前記第1取得時刻と前記第2取得時刻との時刻差に基づいて、前記三次元点と前記三次元モデルとの距離と、前記領域差との重みを変更して、前記三次元モデルのモデルパラメータを推定することを特徴とする、
請求項2に記載の画像処理装置。 - 前記物体は手であることを特徴とする、
請求項1〜7のいずれか1項に記載の画像処理装置。 - 前記表示手段はヘッドマウントディスプレイであり、カメラである前記撮像手段と一体に構成されることを特徴とする、
請求項1〜8のいずれか1項に記載の画像処理装置。 - 撮像手段が撮像する撮像画像に基づいた表示画像を表示手段に表示させる画像処理装置により実行される方法であって、
前記撮像手段から部位毎に位置もしくは角度が可変な物体を含む撮像画像を取得する工程と、
前記撮像画像から前記物体の領域である第1物体領域を検出する工程と、
前記物体の形状を表す複数の三次元点を取得する工程と、
前記表示手段の位置姿勢を表す位置姿勢情報を取得する工程と、
前記位置姿勢情報に応じた前記表示画像の座標系に、前記物体に対応する三次元モデルを投影した投影モデル領域を取得する工程と、
前記投影モデル領域と前記第1物体領域との領域差を算出する工程と、
前記複数の三次元点及び前記領域差に基づいて、前記領域差が所定の収束条件を満たすような前記三次元モデルの各部位の位置もしくは角度を設定するためのモデルパラメータを推定する工程と、
前記撮像画像に、各部位のモデルパラメータが前記収束条件を満たす前記三次元モデルを重畳した前記表示画像を、前記表示手段に表示させる工程と、を含むことを特徴とする、
画像処理方法。 - 撮像手段が撮像する撮像画像に基づいた表示画像を表示手段に表示させるコンピュータを、
前記撮像手段から部位毎に位置もしくは角度が可変な物体を含む撮像画像を取得する画像取得手段、
前記撮像画像から前記物体の領域である第1物体領域を検出する第1領域検出手段、
前記物体の形状を表す複数の三次元点を取得する三次元点取得手段、
前記表示手段の位置姿勢を表す位置姿勢情報を取得する位置姿勢取得手段、
前記位置姿勢情報に応じた前記表示画像の座標系に、前記物体に対応する三次元モデルを投影した投影モデル領域を取得する投影モデル領域取得手段、
前記投影モデル領域と前記第1物体領域との領域差を算出する領域差算出手段、
前記複数の三次元点及び前記領域差に基づいて、前記領域差が所定の収束条件を満たすような前記三次元モデルの各部位の位置もしくは角度を設定するためのモデルパラメータを推定するモデル推定手段、
前記撮像画像に、各部位のモデルパラメータが前記収束条件を満たす前記三次元モデルを重畳した前記表示画像を、前記表示手段に表示させる表示制御手段、
として機能させるためのコンピュータプログラム。 - 請求項11記載のコンピュータプログラムを記憶するコンピュータにより読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017019800A JP2018128739A (ja) | 2017-02-06 | 2017-02-06 | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017019800A JP2018128739A (ja) | 2017-02-06 | 2017-02-06 | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018128739A true JP2018128739A (ja) | 2018-08-16 |
Family
ID=63172837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017019800A Pending JP2018128739A (ja) | 2017-02-06 | 2017-02-06 | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018128739A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109872388A (zh) * | 2019-02-27 | 2019-06-11 | 维沃移动通信有限公司 | 一种图像处理方法及装置 |
CN110598834A (zh) * | 2019-09-19 | 2019-12-20 | 吉林大学 | 一种双目视觉探测系统结构优化方法 |
-
2017
- 2017-02-06 JP JP2017019800A patent/JP2018128739A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109872388A (zh) * | 2019-02-27 | 2019-06-11 | 维沃移动通信有限公司 | 一种图像处理方法及装置 |
CN109872388B (zh) * | 2019-02-27 | 2023-11-17 | 维沃移动通信有限公司 | 一种图像处理方法及装置 |
CN110598834A (zh) * | 2019-09-19 | 2019-12-20 | 吉林大学 | 一种双目视觉探测系统结构优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11796309B2 (en) | Information processing apparatus, information processing method, and recording medium | |
KR101687017B1 (ko) | 머리 착용형 컬러 깊이 카메라를 활용한 손 위치 추정 장치 및 방법, 이를 이용한 맨 손 상호작용 시스템 | |
CN110913751B (zh) | 具有滑动检测和校正功能的可穿戴眼睛跟踪系统 | |
JP5936155B2 (ja) | 3次元ユーザインタフェース装置及び3次元操作方法 | |
JP6057396B2 (ja) | 3次元ユーザインタフェース装置及び3次元操作処理方法 | |
KR20210011984A (ko) | 이미지 처리 방법 및 장치, 이미지 디바이스, 및 저장 매체 | |
JP6611501B2 (ja) | 情報処理装置、仮想オブジェクトの操作方法、コンピュータプログラム、及び記憶媒体 | |
US20140218281A1 (en) | Systems and methods for eye gaze determination | |
JP6723061B2 (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
JP2022529245A (ja) | 電磁追跡のためのセンサ融合 | |
JP2022505423A (ja) | 電磁追跡のための周囲電磁歪み補正 | |
CN109961523B (zh) | 虚拟目标的更新方法、装置、系统、设备及存储介质 | |
JP2018119833A (ja) | 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 | |
KR20230072757A (ko) | 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 | |
JP2009258884A (ja) | ユーザインタフェイス | |
JP2019053603A (ja) | 表示制御プログラム、装置、及び方法 | |
JP2018128739A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 | |
WO2019150431A1 (ja) | 情報処理装置 | |
JP2018132319A (ja) | 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 | |
JP7262973B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7029253B2 (ja) | 情報処理装置及びその方法 | |
CN116069158A (zh) | 用于配件配对的方法、系统以及记录介质 | |
WO2020036114A1 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP7465133B2 (ja) | 情報処理装置、情報処理方法 | |
WO2021075113A1 (ja) | 情報処理装置、情報処理方法及びプログラム |