(58)【調査した分野】(Int.Cl.,DB名)
前記検出部は、前記算出長と、前記世界座標系における前記第1部位の基準長との比較値を前記変化量として、前記非同期を検出することを特徴とする請求項1記載の画像処理装置。
前記算出部は、前記カメラ座標系における焦点距離、前記視差、ならびに、前記第1画像の第1光学中心と前記第2画像の第2光学中心の基線との比例関係に基づいて、前記世界座標系における任意の基準点と前記第1部位の第1深度を算出し、
前記非同期の検出に基づいて、前記第1深度を制御する制御部を更に備えることを特徴とする請求項2に記載の画像処理装置。
【発明を実施するための形態】
【0012】
まず、従来技術における問題の所在について説明する。なお、当該問題の所在は、本発明者らが従来技術を仔細に検討した結果として新たに見出したものであり、従来は知られていなかったものである。本発明者らの鋭意検証によって、二眼ステレオ法においては、複数のカメラ間の画像の取得時刻を同期させることが難しく、動作中のユーザの手指を撮像すると、視差が変化することにより、対象物となるユーザの手指の距離を正確に算出出来なくなることが明らかになった。
【0013】
本発明者らの検証により、カメラ間の同期ずれには複数のパターンが存在することが明らかになった。第1パターンとして、例えば、2つのカメラ間での撮像の開始時刻にずれが生じる場合は、露出時間、撮像間隔は2つのカメラ間で一致していても、画像の取得時刻が非同期状態になる。第2パターンとして、例えば、露出時間が2つのカメラ間で異なる場合は、画像の取得時刻が非同期状態になる。例えば、2つのカメラの露出時間設定をオートにした状態でカメラを起動すると、シャッターの度に露出時間が変化する可能性がある。これにより、同時に2つのカメラを起動し、最初のシャッタータイミングが同じ場合でも、露出時間が2つカメラ間で差異があると、次のフレームのシャッタータイミングがずれることになり、画像の取得時間が非同期状態になる。更に、第3パターンとして、例えば、カメラモジュール内での画像の圧縮処理や、USBによる転送処理等といったカメラ撮像後の処理に起因する遅延により、画像の取得時刻が非同期状態になる。
【0014】
2つのカメラが撮像する第1画像と第2画像を取得する画像処置装置は、取得した第1画像と第2画像の取得時刻が同期状態であるのか、非同期状態であるのかを判別することが出来ない。この為、世界座標系におけるユーザの手指の位置が正確な視差に基づいて算出されたか否かを判断することは出来ない。この為、手指の位置の算出精度が低下する。発明者の検証により比較例として2つのカメラの撮像時刻を同期させる同期回路を組み込むことが検討されたが、コストの観点から適用することは難しい。
【0015】
本発明者らは、第1画像と第2画像の非同期状態を検出し、例えば、非同期状態の画像を排除することで、ユーザの任意の部位の位置算出精度を向上させた画像処理装置を提供出来ることを見出した。更には、非同期状態を検出し、非同期状態の画像に基づいて算出された算出位置を制御することで、更に算出位置精度を向上させることが可能となることを新たに見出した。
【0016】
上述の本発明者らの鋭意検証によって、新たに見出された技術的事項を考慮しつつ、以下に、一つの実施形態による画像処理装置、画像処理方法及び画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は、開示の技術を限定するものではない。
【0017】
(実施例1)
図1は、一つの実施形態による画像処理装置3が含まれる画像処理システム10の概略図である。画像処理システム10は、第1カメラ1、第2カメラ2、画像処理装置3、投影部4を有する。画像処置装置3は、第1カメラ1、第2カメラ2、投影部4と有線または無線を介して通信可能に接続される。なお、画像処理装置3は、図示しない通信部を有しており、通信回線を介して様々な外部装置と双方向にデータの送受信を行うことによりネットワークリソースを用いることが可能である。更に、投影部4は、必要に応じて画像処理システム10に含まれれば良く、必ずしも必要な構成要素ではない。
【0018】
投影部4は、例えば、プロジェクタなどの表示デバイスである。投影部4は、例えば、付加情報を含む重畳画像や、投影文書画像を表示する。投影部4は、重畳画像を、例えば、投影面の一例となる本等を含む紙媒体文書上に重畳させて投影したり、投影文書画像を設置面の一例となる机や台に投影する。実施例1においては、説明の便宜上、投影部4は、紙媒体上に重畳画像を投影するものとして説明する。
【0019】
第1カメラ1と第2カメラ2は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)カメラなどの撮像デバイスである。第1カメラ1と第2カメラ2は、例えば、それぞれ
図1に示す視野範囲を有する。第1カメラ1と第2カメラ2は、ユーザの部位となる第1部位の一例となる手指と、投影面上に存在する紙媒体文書を撮像する。なお、第1部位は手の甲でも良いが、実施例1においては、説明の便宜上、手指として説明する。また、手指の位置は、手指先近辺の位置とする。第1カメラ1と第2カメラ2は、非同期状態が発生する場合があり、撮像時刻(シャッタータイミング)は不規則にずれが生じるものとする。例えば、第1カメラ1と第2カメラ2は、露出時間が自動設定のカメラであれば良い。
【0020】
画像処理装置3は、例えば、ワイヤードロジックによるハードウェア回路である。また、画像処理装置3はコンピュータプログラムにより実現される機能モジュールであっても良い。更に、画像処理装置3は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路であっても良い。画像処理システム10における画像処置装置3の配置位置は自由に設定することが可能であるが、例えば、投影部4と同位置に配置されれば良い。画像処理装置3は、第1カメラ1が撮像する第1画像と、第2カメラが撮像する第2画像を取得し、世界座標系におけるユーザの第1部位の位置を算出する。換言すると画像処理装置3は、異なる光軸で撮像される第1画像と第2画像を取得する。また、画像処理装置3は、必要に応じて投影部4の投影処理を制御することが出来る。画像処理装置3の機能の詳細については後述する。
【0021】
図1に示される通り、投影部4は、設置面または地面と水平に設置され、投影面を規定し、紙媒体文書上に重畳画像を投影することが出来る。また、投影部4、第1カメラ1と第2カメラ2は、例えば投影面の上方に、鉛直下向きの方向で設置される。第1カメラ1と第2カメラ2は、内部パラメータが等しく既知であり、互いの光軸が平行で、かつ、第1カメラ1と第2カメラ2が撮像する複数の画像中の任意の横軸が同一直線状上になる様に配置される、所謂平行ステレオ配置となる。第1カメラ1と第2カメラ2により、第1画像と第2画像の色情報、ならびに紙媒体文書の深度、ユーザ指先の深度などの情報を含む画像が撮像されることなる。なお、第1カメラ1と第2カメラ2は、平行ステレオ配置を保った状態で可動させる配置にしても良い。これにより、例えば、紙媒体文書の文字方向を任意の画像処理方法で推定し、紙媒体文書の文字方向に平行に(換言すると、文字方向に垂直にならない様に)、平行ステレオ配置を保つことで紙媒体文書の深度を高い精度で算出できる。また、投影部4により重畳画像が紙媒体文書上に投影される。ユーザは、任意の方向から指先を紙媒体文書上に提示し、投影された重畳画像に対してインタラクション操作を行うことが出来る。
【0022】
なお、
図1に示す画像処理システム10の構成時点で、第1カメラ1と第2カメラ2のカメラ座標系と投影部4の世界座標系における位置合わせ(キャリブレーション)は、予め実施されているものとする。また、画像処理装置3に使用開始後に、第1カメラ1と第2カメラ2と投影部4の位置関係を変化させる場合は、キャリブレーションを、少なくとも一回実行すれば良い。ここで、具体的なキャリブレーションの方法の一例として、投影部4が投影する任意の投影画像を、第1カメラ1と第2カメラ2で撮像することで、画像処理装置3内部でキャリブレーションを実行する方法を説明する。なお、当該方法においては、第1カメラ1と第2カメラ2のそれぞれについて、予めキャリブレーションが実行されているものとする。
【0023】
先ず、投影部4は、世界座標系において、ある任意の座標値(x
p、y
p)に対して任意のマーカを投影する。当該マーカは、周囲の背景と区別しやすいような任意の色や形状を用いることが可能である。そして、第1カメラ1と第2カメラ2は、所定の投影面に投影されたマーカを撮像する。続いて、画像処理装置3は、マーカを公知の任意の画像処理によって認識する。例えば、画像処理装置3は、投影部4がマーカとして円形の模様を投影した場合、例えば、「Kimme et al., “Finding circles by an array of accumulators”, Communications of the Association for Computing Machinery, #18, pp.120-122, 1975.」に開示される、ハフ円変換により円形状を認識することが出来る。ここで、画像処理装置3がマーカを認識した際の座標値を(x
i、y
i)とする。画像処理装置3は、上述の処理を、任意の場所で4点分繰り返す。画像処理装置3は、当該処理で得られた(x
p、y
p)に対応する(x
i、y
i)の組の4組から、3行3列のホモグラフィ行列Hの各成分を、8次元連立一次方程式を用いて算出する。なお、ホモグラフィとは、三次元空間上のある平面から別の平面への射影変換を表す行列である。実施例1においては、画像処理装置3は、第1カメラ1と第2カメラ2のカメラ座標平面と投影部4の投影部座標平面との対応付けを求める。画像処理装置3は、算出したホモグラフィ行列を、例えば、図示しないキャッシュまたはメモリに保存しておくことで、重畳画像の投影時においてホモグラフィ行列を利用することが出来る。
【0024】
図2(a)は、画像処理システム10による紙媒体文書のスキャン処理の概念図である。
図2(b)にはスキャン処理された画像の概念図である。
図2(a)に示す通り、ユーザは紙媒体文書を第1部位の一例となる手指で接触し(接触時刻を時刻t1とする)、手指を時刻t2の位置まで手指をスライドさせ、その後手指を紙媒体文書から離脱させる。時刻t1における手指位置から時刻t2における手指位置に基づいた線分を対角線とする矩形領域が選択領域として決定され、
図2(b)に示される様な選択領域の画像がスキャン画像として、画像処置装置3の後述する記憶部6に記憶される。なお、紙媒体文書に対する手指の接触と離脱は、例えば、算出される手指の深度に基づいて判定することが出来る。
【0025】
ここで、第1カメラ1と第2カメラ2が非同期状態である場合に、ユーザが手指を左右に移動させているとき、世界座標系における指先の算出深度が変動する理由を説明する。
図3は、第1カメラ1と第2カメラ2の撮像時刻とカメラ座標系における手指の位置の概念図である。
図4は、カメラ座標系の視差に基づく算出指先深度の概念図である。
図3において、第1カメラ1が撮像する画像を第1画像と称し、第2カメラ2が撮像する画像を第2画像と称する。
図3に示す通り、シャッタータイミングは上述の理由により不定期にずれ(非同期状態)が生じるため、例えば、時刻t3で第1カメラ1の撮像時刻は第2カメラ2の撮像時刻よりも遅延する。この時、カメラ座標系における指先位置は、第1画像と第2画像で、紙媒体文書上の異なる位置に写っており、当該位置より規定される視差に基づいて二眼ステレオ法で指先の深度を算出すると、
図4に示すように、世界座標系における任意の基準点(例えば、第1カメラ1と第2カメラ2の設置点の中点を基準点とすることが出来る)に対する紙媒体文書の深度よりも、浅い深度に手指が位置すると判定する誤判定が生じる。その結果、ユーザの意図とは反して選択領域の選択が時刻t3の時点で終了し、画像処理システム10は、スキャン処理に失敗することになる。
【0026】
ここで、画像処理装置3における非同期状態の検出処理と、第1部位の算出深度の制御処理の技術的特徴について説明する。本発明者らは鋭意研究の結果、紙媒体文書のスキャン処理において、ユーザの手が同じ姿勢の場合、同一人物の手であれば世界座標系(実空間上)での長さ(例えば、単位はmm)は変化しない性質に着目した。
図5は、世界座標系におけるユーザの手指と手の甲の寸法図である。
図5において、第1画像と第2画像から算出される手指や手の甲の幅は、手の姿勢が同じであれば変わらない値となる。手指を用いたスキャン処理においては、手の姿勢変化は僅少傾向であることも本発明者らによって検証された。この特徴に基づいて、所定の姿勢における手の所定位置(例えば、第1部位の一例となる手指)の世界座標系における長さ(基準長Wrefと称しても良い)を登録しておき、当該基準長と画像処理装置3の後述する算出部7が算出する第1画像と第2画像の視差に基づく手指の算出長Wを比較することによって非同期状態を算出することが出来る。なお、実施例1においては、説明の便宜上、ユーザの手の所定位置は、第1部位の一例となる手指として説明する。
【0027】
算出部7は、次式に基づいて、世界座標系の手指の長さとなる算出長Wを算出することが出来る。
(数1)
Z = f * X / x
(数2)
W = Z * w / f
但し、上述の(数1)において、Zは世界座標系のz座標、Xは世界座標系のx座標、xはカメラ座標系のx座標である。fは第1カメラ1ならびに第2カメラ2の焦点距離である。なお、Zは第1画像と第2画像に視差に基づいて算出される手指の深度であり、Zの算出方法の詳細は後述する。(数1)のXに着目し、例えば、手指の左端をX1、右端をX2とし、算出長W=|X2−X1|として算出長WとXを置換した上で、(数1)を変形すると、算出長Wは(数2)によって表現される。また、上述の(数2)において、画素数wはカメラ座標系の手指のx方向の幅であり、第1画像または第2画像の手指の左端をx1、右端をx2とした場合、w=|x2−x1|として表現することが出来る。なお、算出長Wは換言すると、世界座標系におけるX軸方向の長さ(手指の幅)である。焦点距離fを算出するための第1カメラ1と第2カメラ2の内部パラメータ推定には、例えば、「Zhang et al., “A flexible new technique for camera calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11), pp.1330-1334, 2000.」に開示されるキャリブレーション方法を用いることが出来る。
【0028】
スキャン処理中の手指の姿勢が変化しないものと仮定すると、算出長Wは、第1画像と第2画像の撮像時刻が同期していれば、基準長Wrefと同一(または所定の閾値未満)になるはずである。換言すると、基準長Wrefと算出長Wが所定の閾値以上で異なっていれば、非同期状態であることが検出することが出来る。画像処理装置3は、例えば、画像処理において当該非同期状態の画像を破棄することが出来る。更に、画像処理装置3は、非同期状態を検出した場合、基準長Wref、w、焦点距離fを用いて、制御深度Z’を次式に基づいて算出することが出来る。なお、制御深度Z’を第2深度と称しても良い。
(数3)
Z’ = f * Wref / w
【0029】
図6は、一つの実施形態による画像処理装置3の機能ブロック図である。画像処理装置3は、取得部5、記憶部6、算出部7、検出部8、制御部9を有する。なお、画像処理装置3は、図示しない通信部を有しており、通信回線を介して様々な外部装置と双方向にデータの送受信を行うことによりネットワークリソースを用いることが可能である。
【0030】
取得部5は、例えば、ワイヤードロジックによるハードウェア回路である。また、取得部5は、画像処理装置3で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。取得部5は、外部装置から異なる光軸で撮像される第1画像と第2画像を受け取る。具体的には、取得部5は、第1画像を第1時刻に取得し、第2画像を第2時刻に取得する。ここで、第1時刻と第2時刻は、上述の理由から必ずしも一致しない。なお、取得部5が受け取る画像の解像度や取得頻度は、画像処理装置3に要求される処理速度や処理精度等に応じて任意の値に規定すれば良い。例えば、取得部5は、VGA(640×480)の解像度の画像を、30FPS(1秒間に30フレーム)の取得頻度で取得すれば良い。なお、画像を撮像する外部装置は、例えば、第1カメラ1と第2カメラ2である。なお、第1カメラ1は第1画像を撮像し、第2カメラ2は第2画像2を撮像するものとする。第1カメラ1と第2カメラ2は、例えば、ユーザの第1部位として、ユーザの手指を含む画像を撮像する。なお、第1カメラ1と第2カメラ2を、必要に応じて画像処理装置3に含めることも可能である。取得部5は、取得した画像を算出部7に出力する。
【0031】
記憶部6は、例えば、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、HDD(Hard Disk Drive)、光ディスクなどの記憶装置である。なお、記憶部6は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。なお、記憶部6は、必ずしも画像処理装置3に含まれる必要はない。例えば当該各種データは、画像処理装置3に含まれる各機能部の図示しないキャッシュやメモリ等に記憶しても良い。また、画像処理装置3に設けられる図示しない通信部を用いて通信回線を介することによって、記憶部6を画像処理装置3以外の外部装置に設けることも可能である。
【0032】
記憶部6には、例えば、スキャン処理の対象となる紙媒体文書の三次元形状情報が記憶される。なお、紙媒体文書が1枚の薄い紙の場合は、紙媒体文書を事前に設定された投影面の平面上に存在する厚みが無い2次元の形状と見做すことが出来る。紙媒体文書が厚みのある本や、本を開いた状態等により紙面が湾曲している場合には、画像処理装置3の画像処理開始時点において、例えば、算出部7が、紙媒体文書の三次元形状を予め取得することが出来る。例えば、算出部7は、アクティブステレオ法と称される方法により紙媒体文書の3次元形状を取得することが出来る。アクティブステレオ法には様々な種類があり、算出部7は、何れの種類を適用することが可能であるが、例えば、特公平3−56402号公報に記載の空間コード法を用いることが出来る。但し、実現の方法は空間コード法に限られない。
【0033】
後述する算出部7は、空間コード法により、投影部4が複数回投影する、明暗をパターン化した特定パターンの全画素の座標をIDとして、投影パターンの画素の変化を算出する。その結果を用いることで、算出部7は、三角測量により投影部4が投影する特定パターンの各画素に対する深度(単位はmm)を算出することが出来る。なお、カメラ座標系における任意の基準点に対する各画素の座標と深度を用いることで、算出部7は、紙媒体文書の3次元形状となる世界座標系における3次元直交座標を規定することが出来る。なお、各画素の座標の基準点は、例えば、取得部5が取得する第1画像または第2画像の左上端と規定することが出来る。また、世界座標系における深度の基準点は、例えば、第1カメラ1と第2カメラ2の設置点の中間点とすることが出来る。
図7は、算出部7が算出する紙媒体文書の3次元直交座標のデータ構造の一例を示すテーブルである。
図7のテーブル70に示される通り、紙媒体文書の3次元直交座標として、任意の基準点に対する各画素のカメラ座標と、深度の座標が格納される。画像処理装置3は、紙媒体文書の深度と後述する指先の深度となる第1深度を比較して、ユーザの手指が紙媒体文書に接触しているか否かを判断することが出来る。
【0034】
また、記憶部6には、例えば、重畳画像やスキャン画像が記憶される。更に、記憶部6には、例えば、第1部位の特徴量を予め抽出した第1特徴量モデル(識別器と称しても良い)が事前学習により予め記憶されても良い。また、記憶部6には、画像処理装置3の各機能が取得または保持する各種データが必要に応じて記憶されても良い。なお、第1特徴量モデルは、例えば、HOG(Histogram of Oriented Gradients)特徴量、またはLBP(Local Binary Pattern)特徴量等の輝度勾配特徴量に基づいて生成することが出来る。なお、事前学習は、例えば、対象物(第1部位の一例となる手指)が撮像された画像(ポジティブ画像)と、対象物が撮像されていない画像(ネガティブ画像)を用いて実施され、AdaboostやSVM(Support Vector Machine)等の様々な公知の識別器の学習手法を用いることが可能である。例えば、識別器の学習手法として、「N. Dalal et al., “Histograms of Oriented Gradients for Human Detection,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005.」に開示されているSVMを用いた識別器の学習手法を用いることが出来る。
【0035】
図6の算出部7は、例えば、ワイヤードロジックによるハードウェア回路である。また、算出部7は、画像処理装置3で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。算出部7は、取得部5から第1画像と第2画像を受け取り、当該第1画像と第2画像の色特徴量または、輝度勾配特徴量を抽出する。算出部7は輝度勾配特徴量の抽出において、必要に応じて記憶部6を参照することが出来る。算出部7は、例えば、RGB色空間における画素値を色特徴量として抽出することが出来る。また、算出部7は、例えば、HOG特徴量、またはLBP特徴量を、輝度勾配特徴量として抽出することが出来る。なお、輝度勾配特徴量は、例えば、一定の矩形領域内で計算可能な特徴量であれば良い。算出部7は、例えば、上述の「N. Dalal et al., “Histograms of Oriented Gradients for Human Detection,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005.」に開示される方法を用いて、輝度勾配特徴量の一例となるHOG特徴量を抽出することが出来る。なお、実施例1においては、説明の便宜上、算出部7は色特徴量を抽出するものとして説明する。
【0036】
算出部7は、色特徴量に基づいてカメラ座標系における第1部位の一例となるユーザの手指を検出する。また、算出部7は、輝度勾配特徴量に基づいて第1部位を検出する場合、必要に応じて記憶部6に記憶されている第1特徴量モデルを参照しても良い。ここで、算出部7が色特徴量を用いて第1部位を検出する方法について説明する。算出部7は抽出した色特徴量を用いて肌色領域の抽出を行い、当該肌色領域に基づいて手輪郭領域(手指と手の甲を合わせた輪郭領域)を様々な公知の手法を用いて検出する。なお、算出部7は、肌色の色成分の抽出において、RGB空間やHSV空間の適切な閾値調整を用いることが出来る。算出部7は、例えば、特許第3863809号に開示される方法を用いて手輪郭領域を検出することが出来る。また、算出部7は、予め手の形状に関する学習データを保持しておき、現時刻における画像データと学習データの間の類似度を計算して手指形状を算出する方法を用いて手輪郭領域を検出することも出来る。また、算出部7は、第1画像と第2画像にそれぞれ含まれる、カメラ座標系におけるユーザの手指先の位置の算出を行う。算出部7は、例えば、検出した手輪郭領域から指の本数を認識した上で手輪郭領域の輪郭から指先座標の算出を行うことが出来る。
【0037】
図8は、算出部7が算出するカメラ座標系の指先座標を含むデータ構造の一例を示すテーブルである。なお、
図8のテーブル80におけるカメラ座標系は、第1画像または第2画像の左上端を原点とし、第1画像または第2画像の右方向をx軸の正方向、第1画像または第2画像の下方向をy軸の正方向として規定されている。テーブル80には、例えば、ユーザが片手で指を広げた場合における、第1画像と第2画像から算出される各手指の指先座標が、手指IDと対応付けられて格納される。手指IDは、例えば、横方向の座標の小さい順に付与されれば良い。なお、各手指座標の基準点は、例えば、第1画像または第2画像の左上端と規定することが出来る。また、テーブル80は、算出部7の図示しないキャッシュまたはメモリに格納されても良いし、記憶部6に記憶されても良い。
【0038】
算出部7は、必要に応じて以下に示す方法を用いて、手領域(手の甲)の重心位置を算出しても良い。算出部7は、重心位置の算出方法として、例えば、フレームtの画像における肌色領域として抽出された領域Ps内のピクセルPiの座標を(xi、t、yi、t)、ピクセル数をNsと定義した場合、重心位置Gt(xt、yt)を次式により算出することが出来る。
(数4)
【0039】
続いて、算出部7は、二眼ステレオ法を用いて世界座標系におけるユーザの指先の深度の算出を行う。算出部7は、世界座標系の任意の基準点(例えば、第1カメラ1と第2カメラの中点を基準点とすれば良い。換言すると、基準点は、第1画像における第1光学中心と第2画像における第2光学中心の中点となる)に対する奥行方向の深度Z(なお、当該深度Zを第1深度と称しても良い)を、第1カメラ1と第2カメラ2の間の線分の長さ(基線長)をb(換言すると、第1画像の第1光学中心と第2画像の第2光学中心の基線長)、第1カメラ1と第2カメラ2の焦点距離をf、第1画像と第2画像のカメラ座標における手指先位置をそれぞれ(u、v)、(u’、v’)とすると、三角測量の原理により次式で算出することが出来る。
(数5)
Z = b * f / |u − u’|
なお、上述の(数5)において|u − u’|は、同一対象物(例えば、第1部位の一例となるユーザの手指)が撮像された画素の位置ずれを表す視差dに対応する。また、算出部7は、上述の(数5)において、uとu’の値として
図8のテーブル80に格納される値を用いることが出来る。
図8のテーブル80は、説明の便宜上、手を広げた場合について説明しているが、
図5に示す様に、人差し指のみを伸ばしている場合は、手指ID1のみが検出される為、当該手指ID1に格納される値を使用すれば良い。以降の説明においては、説明の便宜上、手指ID1のみが検出されているものとして説明する。
【0040】
算出部7は、手領域(手の甲)の重心位置を算出する場合は、第1画像または第2画像のカメラ座標における手指先と重心を結ぶ角度(当該角度を姿勢情報と称しても良い)を算出しても良い。算出部7は当該角度を、例えば、カメラ座標系における2点間のY座標差分を、2点間のX座標差分で除算した角度正接値Tanθを用いることが出来るが、正弦値、余弦値等の他の任意の値を使用してもよい。
図9は、算出部7が算出するカメラ座標系と世界座標系における手指位置のデータ構造の一例を示すテーブルである。
図9のテーブル90においては、例えば、人差し指が手指ID1と格納され、カメラ座標系における手指の座標位置、世界座標系における深度に加え、カメラ座標系における手の重心座標や、世界座標系における深度のデータ、ならびに角度正接値が格納される。
【0041】
算出部7は、第1画像または第2画像のカメラ座標系における手指の幅を示す画素数wと、焦点距離f、世界座標系における深度Z(第1深度と称しても良い)を用いて、上述の(数2)に基づいて世界座標系における手指の幅となる算出長Wを算出する。算出部7は算出した算出長Wを検出部8に出力する。
【0042】
また、算出部7は算出長Wを算出する前に、必要に応じて手の姿勢判定を行っても良い。算出部7は、手の姿勢判定において、
図9のテーブル90に格納される手指IDの数や、角度正接値を用いることが出来る。算出部7は、手指のIDの数に増減が生じた場合や、角度正接値が所定の閾値以上変化した場合は、手の姿勢が変化としたと判定することが出来る。この場合、算出部7は算出長Wを算出してなくとも良い。また、算出部7は手の姿勢が変化したことを契機に後述する検出部8に基準長Wrefの更新処理を指示しても良い。
【0043】
図6の検出部8は、例えば、ワイヤードロジックによるハードウェア回路である。また、検出部8は、画像処理装置3で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。検出部8は、算出長Wを算出部7から受け取る。検出部8は、算出長Wの変化量に基づいて第1画像と第2画像の撮像時刻の非同期を検出する。検出部8は、例えば、算出長Wと基準長Wrefとの比較値を変化量として非同期状態を検出する。
【0044】
検出部8が非同期状態を検出する為には、手指の正しい長さを示す基準長Wrefを登録して用いる必要がある。ここでは、検出部8における手指の基準長Wrefの登録方法について説明する。手指の形状は、円柱形状に類似する為、手の姿勢が回転等により多少の姿勢変化に対する堅牢性を有する。まず、検出部8は、毎フレームの手指の移動量を判定する。手指の移動量の判定は、例えば、第1画像または第2画像中の手指座標あるいは手領域の重心座標系において、前フレームの検出座標との差分の絶対値を算出し、当該絶対値、あるいは当該絶対値を過去複数フレーム分の加算したものを判定値として用いる。この判定値が所定の閾値(第1閾値と称しても良い)未満であれば手指は動いていないと判定し、閾値以上であれば手指が動いていると判定する。手指が動いていなければ、第1画像と第2画像において非同期状態が発生したとしても、世界座標系の手指の位置は非同期状態が発生しない場合(同期状態)と、同じ位置に存在することになる。従って、カメラ座標系の視差に基づいて算出した手指の幅は正しい値になる特徴を有する。
【0045】
上述の特徴を利用し、検出部8は、手指が動いていないと判定された場合の指先座標あるいは手領域の重心のカメラ座標系の視差に基づいて基準長Wrefを次式に基づいて算出する。
(数6)
Wref= Z * w / f
上述の(数6)において、基準長Wrefは、手指の幅や手の甲の幅を用いることが出来るが、実施例1では説明の便宜上、基準長Wrefに、手指の幅を用いるものとして説明する。
図10は、検出部8が保持する世界座標系における基準長のデータ構造の一例を示すテーブルである。
図10のテーブル91に示される様に、基準長Wrefとして、手指の幅を用いる場合でも、手の重心座標と、手指と重心座標の距離が保存されても良い。
【0046】
検出部8は、算出長Wと基準長Wrefとを次式を用いて比較する。
(数7)
|W−Wref|≧Th ならば非同期状態
|W−Wref|<Th ならば同期状態
検出部8は上述の(数7)を用いて算出長Wと基準長Wrefを比較し、例えば、差分の絶対値が所定の閾値Th以上(第2閾値と称しても良い)であった場合には同期ずれあり(非同期状態)と判定する。なお、上述の(数7)において|W−Wref|を比較値と称して良い。また、差分の絶対値が閾値未満であれば同期ずれなし(同期状態)と判定して深度Zを補正することなく現在のフレームにおける処理を終了する。所定の閾値Thは、手の姿勢が同じと判定される範囲内での微小な手の姿勢の違いによる長さの差を吸収できる程度の値とし、例えば、基準長Wrefの5%と設定することが出来る。なお、上述の(数7)において、差分以外にも除算による比率等を適用しても良い。
【0047】
検出部8は、上述の(数7)において、算出長Wと基準長Wrefの差分の絶対値が閾値未満であり、同期状態であると判定した場合は、基準長Wrefを更新しても良い。これにより、例えば、手の姿勢が変化したとしても非同期状態を検出することが出来る。但し、上述の(数7)において、差分が閾値未満であった場合でも、手指を素速く動かしているほど、同期ずれによる誤差が発生する可能性が高くなる。この理由は、第1カメラ1と第2カメラ2の間で同期ずれが発生している場合、手指を速く動かしている場合の方が、同期ずれによる撮影画像中の手指の位置の移動量が大きくなる為である。この様に、差分が閾値未満であっても多少の同期ずれが発生している可能性があるため、基準長Wrefを頻繁に更新すると、基準長Wrefに誤差が累積していく可能性がある。当該事項を考慮し、基準長Wrefの更新は、前フレームからの手指の移動量が閾値未満、換言すると、手指をゆっくり動かしていると判定された場合のみ更新する。手指の移動量の判定は、例えば、前フレームにおける第1画像または第2画像の指先のXY座標と、現フレームにおける第1画像または第2画像の指先のXY座標の距離平均を用いることが出来る。検出部8は、上述の基準長Wrefの登録方法と同様に基準長Wrefを算出し、算出した基準長Wrefを更新後の基準長Wrefとして用いることが出来る。
【0048】
図6の制御部9は、例えば、ワイヤードロジックによるハードウェア回路である。また、制御部9は、画像処理装置3で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。制御部9は、検出部8による非同期の検出に基づいて、第1深度を制御する。制御部9は非同期が検出された場合は、基準長Wref、現在のフレームにおけるカメラ座標系における第1部位の画素数w、焦点距離fを用いて上述の(数3)に基づき制御深度となる第2深度Z’を算出し、第1深度と置換する。なお、wは、第1画像、第2画像の何れかの値を用いても良いし、2つ画像の平均値を用いてもよい。また、制御部9は、非同期状態を検知した場合は、非同期状態の第1画像と第2画像を破棄し、次フレーム以降の第1画像と第2画像を使用して算出部7に深度Zを算出させても良い。
【0049】
図11は、画像処理装置3による画像処理のフローチャートである。取得部5は、外部装置から異なる光軸で撮像される第1画像と第2画像を取得する(ステップS101)。具体的には、取得部5は、第1画像を第1時刻に取得し、第2画像を第2時刻に取得する。次に算出部7は、例えば、色特徴量を用いて第1画像と第2画像に含まれる手指先のカメラ座標系の座標を算出する(ステップS102)。
【0050】
続いて、算出部7は、二眼ステレオ法を用いて世界座標系におけるユーザの指先の深度の算出を行う。算出部7は、世界座標系の任意の基準点に対する奥行方向の深度となる第1深度Zを上述の(数5)を用いて算出する(ステップS103)。
【0051】
検出部8は、手指の移動量が第1閾値未満か否かを判定する(ステップS104)。具体的には、検出部8は、毎フレームの手指の移動量を判定する。手指の移動量の判定は、例えば、第1画像または第2画像中の手指座標あるいは手領域の重心座標系において、前フレームの検出座標との差分の絶対値を算出し、当該絶対値、あるいは当該絶対値を過去複数フレーム分の加算したものを判定値として用いる。この判定値が所定の閾値となる第1閾値未満か否かを判定する。
【0052】
ステップS104において、手指の移動量が第1閾値未満の場合(ステップS104−Yes)、検出部8は、手指が動いていないもの判断し、基準長Wrefを、上述の(数6)を用いて登録または更新を行い(ステップS105)、画像処理装置3は画像処理を終了する。また、ステップS104において、手指の移動量が第1閾値以上の場合(ステップS104−No)、手指が動いているものと判定し、算出部7は算出長Wを上述の(数2)を用いて算出する。
【0053】
検出部8は、算出長Wと基準長Wrefとを上述の(数7)を用いて比較し、算出長Wと基準長Wrefの差分の絶対値が所定の閾値Th(第2閾値と称しても良い)以上であるか否かを判定する(ステップS107)。ステップS107において、第2閾値未満の場合(ステップS107−No)、検出部8は第1画像と第2画像の撮像時刻は同期状態であることを検出し(ステップS108)、画像処理装置3は、画像処理を終了する。
ステップS107において、第2閾値以上の場合(ステップS107−Yes)、検出部8は第1画像と第2画像の撮像時刻は非同期状態であることを検出し(ステップS109)する。次に制御部9は、上述の(数3)を用いて第2深度Z’を算出し(ステップS110)、第1深度Zを第2深度Z’に置換し、画像処理装置3は画像処理を終了する。
【0054】
実施例1における画像処理装置3によれば、第1画像と第2画像の取得時刻が非同期状態となる場合においても手指の位置算出精度を向上させることが可能となる。
【0055】
(実施例2)
実施例1においては、基準長Wrefとして手指の幅を適用する例を説明したが、実施例2においては、基準長Wrefとして手の甲の幅を適用する例について説明する。実施例2においては、実施例1と異なる処理について説明する。
図12(a)は、第1画像における手の部位の座標の概念図である。
図12(b)は、第2画像における手の部位の座標の概念図である。
図12(a)、(b)において、画像原点は左上端に規定され、横方向にX軸、縦方向にY軸が規定される。
図12(a)、(b)において、
図6の算出部7は、手指先の座標(Xfref1、 Yfref1)および(Xfref2, Yfref2)を算出し、次式に基づいて手指先の実世界座標における基準点(例えば、第1カメラ1と第2カメラ2の中点)からの深度Zfrefを算出する。
(数8)
Zfref = B * f / |Xfref1 − Xfref2|
【0056】
算出部7は、第1画像について、手の甲の幅の画素数を求める。手の甲の幅は任意の場所を採用するが可能であるが、例えば、手領域輪郭上に存在するY座標が同じ左右の点であり、かつ、Xの幅が最大となる二点に基づいて規定することが出来る。
図12(a)においては、手の甲の左端点(XbrefL1、 XbrefL1)、ならびに、右端点(XbrefR1、 XbrefR1)のX座標の幅である.
【0057】
算出部7は、第2画像についても第1画像と同様に、手の甲の左端点ならびに右端点を求める。算出方法として、第1画像と同様に手領域輪郭上に存在するY座標が同じ左右の点であり、かつ、Xの幅が最大になる二点に基づいて規定しても良い。また、算出部7は、第1画像の座標における(Yfref1)と(Ybref1)の差となる(Ydiff)を(Yfref2)に加算して、手の甲の幅を求めるY座標(Ybref2)を求め、(Ybref2)を持つ手領域輪郭上の左右点(XbrefL2、 YbrefL2)、(XbrefR2、 YbrefR2)としてもよい。
【0058】
次に、算出部7は、手の甲の左端点と右端点に基づいて、次式を用いて左端点と右端点における世界座標系の深度となるZbrefを算出する。
(数9)
Zbref1 = B * f / |XbrefL1 − XbrefL2|
Zbref2 = B * f / |XbrefR1 − XbrefR2|
Zbref = (Zbref1 + Zbref2) /2
【0059】
算出部7は、上述の(数9)で算出したZbrefに基づいて、世界座標系における手の幅のとなる基準長Wrefを次式に基づいて算出する。
(数10)
Wref1 = Zbref * (XbrefR1 − XbrefL1) / f
Wref2 = Zbref * (XbrefR2 − XbrefL2) / f
Wref = (Wref1 + Wref2) / 2
更に、算出部7は、手指先と手の甲のZ座標の差Zdiffを次式に基づいて算出する。
(数11)
Zdiff = Zbref − Zfref
【0060】
制御部9は、検出部8が非同期状態を検出した場合、第1画像と第2画像から手指先の
座標(Xfref1、 Yfref1)および(Xfref2、 Yfref2)を算出し、指先のカメラからの距離Zfを次式を用いて算出する。
(数12)
Zf = B * f / |Xfref1 − Xfref2|
次に制御部は、ZfにWref登録時に算出した指先と手の甲のZ座標の差Zdiffを加算して、手の甲のZ座標Zbを次式に基づいて算出する。
(数13)
Zb = Zf + Zdiff
【0061】
実施例2における画像処理装置3によれば、第1画像と第2画像の取得時刻が非同期状態となる場合においても手指の位置算出精度を向上させることが可能となる。
【0062】
(実施例3)
図13は、一つの実施形態による画像処理装置3として機能するコンピュータのハードウェア構成図である。
図12に示す通り、画像処理装置3は、コンピュータ100、およびコンピュータ100に接続する入出力装置(周辺機器)を含んで構成される。
【0063】
コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。なお、プロセッサ101は、マルチプロセッサであってもよい。また、プロセッサ101は、例えば、CPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。更に、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0064】
RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
【0065】
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0066】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、例えば、コンピュータ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することも出来る。
【0067】
グラフィック処理装置104には、モニタ110が接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、各種画像をモニタ110の画面に表示させる。モニタ110としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0068】
入力インタフェース105には、キーボード111とマウス112とが接続されている。入力インタフェース105は、キーボード111やマウス112から送られてくる信号をプロセッサ101に送信する。なお、マウス112は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0069】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク113に記録されたデータの読み取りを行う。光ディスク113は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク113には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。可搬型の記録媒体となる光ディスク113に格納されたプログラムは光学ドライブ装置106を介して画像処理装置3にインストールされる。インストールされた所定のプログラムは、画像処理装置3より実行可能となる。
【0070】
機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース107には、メモリ装置114やメモリリーダライタ115を接続することが出来る。メモリ装置114は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ115は、メモリカード116へのデータの書き込み、またはメモリカード116からのデータの読み出しを行う装置である。メモリカード116は、カード型の記録媒体である。
【0071】
ネットワークインタフェース108は、ネットワーク117に接続されている。ネットワークインタフェース108は、ネットワーク117を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0072】
コンピュータ100は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、上述した画像処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことが出来る。上記プログラムは、1つのまたは複数の機能モジュールから構成することが出来る。例えば、
図6に記載の取得部5、算出部7、記憶部6、検出部8、制御部9の処理を実現させた機能モジュールからプログラムを構成することが出来る。なお、コンピュータ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、コンピュータ100に実行させるプログラムを、光ディスク113、メモリ装置114、メモリカード116などの可搬型記録媒体に記録しておくことも出来る。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することも出来る。
【0073】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが出来る。また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することが出来る。
【0074】
本実施の形態では、手指が肌色、背景も肌色に類似している場合を例として説明したが、本実施の形態はこれに限定されない。例えば、手指が手袋などで覆われていて、手袋の色に類似した背景を使用する場合などにも、本実施の形態が適用できることは言うまでもない。
【0075】
以上、説明した実施形態に関し、更に以下の付記を開示する。
(付記1)
異なる光軸で撮像される第1画像と第2画像を取得する取得部と、
前記第1画像と前記第2画像に含まれるユーザの第1部位のカメラ座標系の視差から、世界座標系における前記第1部位の長さとなる算出長を算出する算出部と、
前記算出長の変化量に基づいて前記第1画像と前記第2画像の撮像時刻の非同期を検出する検出部
を備えることを特徴とする画像処理装置。
(付記2)
前記検出部は、前記算出長と、前記世界座標系における前記第1部位の基準長との比較値を前記変化量として、前記非同期を検出することを特徴とする付記1記載の画像処理装置。
(付記3)
前記算出部は、
前記取得部が前記第1画像を取得する第1時刻における前記第1部位の前記カメラ座標系の第1位置と、
前記第2画像を取得する第2時刻における前記第2部位の前記カメラ座標系の第2位置と
の前記視差に基づいて前記算出長を算出することを特徴とする付記1記載または付記2記載の画像処理装置。
(付記4)
前記算出部は、前記カメラ座標系における焦点距離、前記視差、ならびに、前記第1画像の第1光学中心と前記第2画像の第2光学中心の基線との比例関係に基づいて、前記世界座標系における任意の基準点と前記第1部位の第1深度を算出し、
前記非同期の検出に基づいて、前記第1深度を制御する制御部を更に備えることを特徴とする付記1ないし付記3の何れか一つに記載の画像処理装置。
(付記5)
前記基準点は前記第1光学中心または前記第2光学中心の中点であることを特徴とする付記4記載の画像処理装置。
(付記6)
前記制御部は、異なる時刻に取得される複数の前記視差から算出される前記世界座標系における前記第1部位の移動量が所定の第1閾値未満の場合に算出される前記算出長を、前記基準長とすることを特徴とする付記2ないし付記4の何れか一つに記載の画像処理装置。
(付記7)
前記検出部は、前記比較値が、所定の第2閾値以上の場合に前記非同期を検出することを特徴とする付記2ないし付記5の何れか一つに記載の画像処理装置。
(付記8)
前記比較値は、前記算出長と前記基準長の差分または比率であることを特徴とする付記2記載の画像処理装置。
(付記9)
前記制御部は、前記検出部が前記非同期を検出した場合、
前記カメラ座標系における前記第1部位の長さと前記焦点距離と、前記基準長との比例関係に基づいて、前記基準点と前記第1部位の第2深度を算出し、
前記第1深度を前記第2深度に置換することを特徴とする付記4ないし付記6の何れか一つに記載の画像処理装置。
(付記10)
前記制御部は、前記第1部位の姿勢情報に基づいて前記第2深度を算出することを特徴とする付記9記載の画像処理装置。
(付記11)
前記第1部位は手指または手の甲であることを特徴とする付記1記載の画像処理装置。
(付記12)
異なる光軸で撮像される第1画像と第2画像を取得し、
前記第1画像と前記第2画像に含まれるユーザの第1部位のカメラ座標系の視差から、世界座標系における前記第1部位の長さとなる算出長を算出し、
前記算出長の変化量に基づいて前記第1画像と前記第2画像の撮像時刻の非同期を検出
することを含むことを特徴とする画像処理方法。
(付記13)
前記検出することは、前記算出長と、前記世界座標系における前記第1部位の基準長との比較値を前記変化量として、前記非同期を検出することを特徴とする付記12記載の画像処理方法。
(付記14)
前記算出することは、
前記取得することが前記第1画像を取得する第1時刻における前記第1部位の前記カメラ座標系の第1位置と、
前記第2画像を取得する第2時刻における前記第2部位の前記カメラ座標系の第2位置と
の前記視差に基づいて前記算出長を算出することを特徴とする付記12記載または付記13記載の画像処理方法。
(付記15)
前記算出することは、前記カメラ座標系における焦点距離、前記視差、ならびに、前記第1画像の第1光学中心と前記第2画像の第2光学中心の基線との比例関係に基づいて、前記世界座標系における任意の基準点と前記第1部位の第1深度を算出し、
前記非同期の検出に基づいて、前記第1深度を制御することを更に含むことを特徴とする付記12ないし付記14の何れか一つに記載の画像処理方法。
(付記16)
前記基準点は前記第1光学中心または前記第2光学中心の中点であることを特徴とする付記15記載の画像処理方法。
(付記17)
前記制御することは、異なる時刻に取得される複数の前記視差から算出される前記世界座標系における前記第1部位の移動量が所定の第1閾値未満の場合に算出される前記算出長を、前記基準長とすることを特徴とする付記13ないし付記15の何れか一つに記載の画像処理方法。
(付記18)
前記検出することは、前記比較値が、所定の第2閾値以上の場合に前記非同期を検出することを特徴とする付記13ないし付記16の何れか一つに記載の画像処理方法。
(付記19)
前記比較値は、前記算出長と前記基準長の差分または比率であることを特徴とする付記13記載の画像処理方法。
(付記20)
前記制御することは、前記検出することが前記非同期を検出した場合、
前記カメラ座標系における前記第1部位の長さと前記焦点距離と、前記基準長との比例関係に基づいて、前記基準点と前記第1部位の第2深度を算出し、
前記第1深度を前記第2深度に置換することを特徴とする付記15ないし付記17の何れか一つに記載の画像処理方法。
(付記21)
前記制御することは、前記第1部位の姿勢情報に基づいて前記第2深度を算出することを特徴とする付記20記載の画像処理方法。
(付記22)
前記第1部位は手指または手の甲であることを特徴とする付記12記載の画像処理方法。
(付記23)
コンピュータに、
異なる光軸で撮像される第1画像と第2画像を取得し、
前記第1画像と前記第2画像に含まれるユーザの第1部位のカメラ座標系の視差から、世界座標系における前記第1部位の長さとなる算出長を算出し、
前記算出長の変化量に基づいて前記第1画像と前記第2画像の撮像時刻の非同期を検出
することを実行させることを特徴とする画像処理プログラム。