(57)【要約】【課題】  手指の位置算出精度を向上させることが可能となる画像処理装置を提供する。【解決手段】  画像処理装置は、異なる光軸で撮像される第１画像と第２画像を取得する取得部と、第１画像と第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における第１部位の長さとなる算出長を算出する算出部を備える。更に、当該画像処理装置は、算出長の変化量に基づいて第１画像と第２画像の撮像時刻の非同期を検出する検出部を備える。【選択図】図６
2015082192.tif 000002
【特許請求の範囲】
【請求項１】
異なる光軸で撮像される第１画像と第２画像を取得する取得部と、
前記第１画像と前記第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における前記第１部位の長さとなる算出長を算出する算出部と、
前記算出長の変化量に基づいて前記第１画像と前記第２画像の撮像時刻の非同期を検出する検出部
を備えることを特徴とする画像処理装置。
【請求項２】
前記検出部は、前記算出長と、前記世界座標系における前記第１部位の基準長との比較値を前記変化量として、前記非同期を検出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記算出部は、
前記取得部が前記第１画像を取得する第１時刻における前記第１部位の前記カメラ座標系の第１位置と、
前記第２画像を取得する第２時刻における前記第２部位の前記カメラ座標系の第２位置と
の前記視差に基づいて前記算出長を算出することを特徴とする請求項１記載または請求項２記載の画像処理装置。
【請求項４】
前記算出部は、前記カメラ座標系における焦点距離、前記視差、ならびに、前記第１画像の第１光学中心と前記第２画像の第２光学中心の基線との比例関係に基づいて、前記世界座標系における任意の基準点と前記第１部位の第１深度を算出し、
前記非同期の検出に基づいて、前記第１深度を制御する制御部を更に備えることを特徴とする請求項１ないし請求項３の何れか一項に記載の画像処理装置。
【請求項５】
前記制御部は、異なる時刻に取得される複数の前記視差から算出される前記世界座標系における前記第１部位の移動量が所定の第１閾値未満の場合に算出される前記算出長を、前記基準長とすることを特徴とする請求項２ないし請求項４の何れか一項に記載の画像処理装置。
【請求項６】
前記検出部は、前記比較値が、所定の第２閾値以上の場合に前記非同期を検出することを特徴とする請求項２ないし請求項５の何れか一項に記載の画像処理装置。
【請求項７】
前記制御部は、前記検出部が前記非同期を検出した場合、
前記カメラ座標系における前記第１部位の長さと前記焦点距離と、前記基準長との比例関係に基づいて、前記基準点と前記第１部位の第２深度を算出し、
前記第１深度を前記第２深度に置換することを特徴とする請求項４ないし請求項６の何れか一項に記載の画像処理装置。
【請求項８】
異なる光軸で撮像される第１画像と第２画像を取得し、
前記第１画像と前記第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における前記第１部位の長さとなる算出長を算出し、
前記算出長の変化量に基づいて前記第１画像と前記第２画像の撮像時刻の非同期を検出
することを含むことを特徴とする画像処理方法。
【請求項９】
コンピュータに、
異なる光軸で撮像される第１画像と第２画像を取得し、
前記第１画像と前記第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における前記第１部位の長さとなる算出長を算出し、
前記算出長の変化量に基づいて前記第１画像と前記第２画像の撮像時刻の非同期を検出
することを実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ユーザの手指の位置算出に用いる画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、文書を読む手段として紙媒体を用いる方法が用いられている。一方、コンピュータの性能向上やインターネットの発達により、電子媒体の文書を読む機会も増加している。紙媒体を用いる利点として、大きなサイズで読むことが出来る、安価である、俯瞰することで文章全体が把握出来る、等の利点が挙げられる。一方、電子媒体を用いる利点として、インターネットの情報や動画などの動的に変化する情報を表示出来る、持ち運びが容易である、等の利点などが挙げられる。そこで、従来の紙媒体の利点を活かしつつ、電子媒体と連携することで、文書の利用価値を向上させるという新たなインタフェースが開発されている。
【０００３】
上述のインタフェースでは、任意の場所に固定されたカメラ、または自由に移動が可能なカメラを用いて、ユーザの眼前の紙媒体文書を撮像して文書画像を取得した後、その文書に関連する付加情報を表示する機能が搭載されている。ここで、付加情報の表示を行う技術として、紙媒体文書上または、投影した投影文書上に付加情報を重畳させて表示する拡張現実感（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：ＡＲ）による情報提示方法が、近年提案されている。当該情報提示方法により、付加情報と文章画像上での表示位置とを関連付けることが可能となり、紙媒体と電子媒体を連携することが出来る。
【０００４】
更に、紙媒体文章に付加情報となる注釈情報などを重畳表示させ、ユーザが注釈情報に対してインタラクション操作を行うことで、ユーザの作業支援を実現させる為の技術も開発されている。例えば、紙媒体文書などの現実の物体に対して、プロジェクタを用いて、バーチャル画像となる付加情報を含む重畳画像を投影し、現実の物体に関連付けられた注釈などを提示する拡張現実技術が開示されている。
【０００５】
上述の拡張現実技術では、任意の場所に固定されたカメラ、または自由に移動が可能なカメラを用いて、世界座標系（３次元上）のユーザの手指の位置を正確に算出することが必要となる。世界座標系における手指の位置を算出する一般的な方法として二眼ステレオ法が知られている。二眼ステレオ法は、位置関係が既知かつ平行な２台のカメラ画像から同一物体（対象物）が撮影された画素の位置ずれ（視差）を利用して、三角測量の原理により任意の基準点から対象物までの距離を算出する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】清水、藤吉(中部大学)、“複数非同期カメラを用いた高速三次元位置推定に関する研究”、２００５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の拡張現実感によるユーザの作業支援の実現においては、ユーザの動作を正確に認識する為に、世界座標系におけるユーザの手指の位置を正確に算出する必要がある。換言すると、二眼ステレオ法による世界座標系における手指の位置算出精度を向上させる必要がある。本発明は、手指の位置算出精度を向上させた画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明が開示する画像処理装置は、異なる光軸で撮像される第１画像と第２画像を取得する取得部と、第１画像と第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における第１部位の長さとなる算出長を算出する算出部を備える。更に、当該画像処理装置は、算出長の変化量に基づいて第１画像と第２画像の撮像時刻の非同期を検出する検出部を備える。
【０００９】
なお、本発明の目的及び利点は、例えば、請求項におけるエレメント及び組み合わせにより実現され、かつ達成されるものである。また、上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
【発明の効果】
【００１０】
本明細書に開示される画像処理装置では、手指の位置算出精度を向上させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】一つの実施形態による画像処理装置３が含まれる画像処理システム１０の概略図である。
【図２】（ａ）は、画像処理システム１０による紙媒体文書のスキャン処理の概念図である。（ｂ）にはスキャン処理された画像の概念図である。
【図３】第１カメラ１と第２カメラ２の撮像時刻とカメラ座標系における手指の位置の概念図である。
【図４】カメラ座標系の視差に基づく算出指先深度の概念図である。
【図５】世界座標系におけるユーザの手指と手の甲の寸法図である。
【図６】一つの実施形態による画像処理装置３の機能ブロック図である。
【図７】算出部７が算出する紙媒体文書の３次元直交座標のデータ構造の一例を示すテーブルである。
【図８】算出部７が算出するカメラ座標系の指先座標を含むデータ構造の一例を示すテーブルである。
【図９】算出部７が算出するカメラ座標系と世界座標系における手指位置のデータ構造の一例を示すテーブルである。
【図１０】検出部８が保持する世界座標系における基準長のデータ構造の一例を示すテーブルである。
【図１１】画像処理装置３による画像処理のフローチャートである。
【図１２】（ａ）は、第１画像における手の部位の座標の概念図である。（ｂ）は、第２画像における手の部位の座標の概念図である。
【図１３】一つの実施形態による画像処理装置３として機能するコンピュータのハードウェア構成図である。
【発明を実施するための形態】
【００１２】
まず、従来技術における問題の所在について説明する。なお、当該問題の所在は、本発明者らが従来技術を仔細に検討した結果として新たに見出したものであり、従来は知られていなかったものである。本発明者らの鋭意検証によって、二眼ステレオ法においては、複数のカメラ間の画像の取得時刻を同期させることが難しく、動作中のユーザの手指を撮像すると、視差が変化することにより、対象物となるユーザの手指の距離を正確に算出出来なくなることが明らかになった。
【００１３】
本発明者らの検証により、カメラ間の同期ずれには複数のパターンが存在することが明らかになった。第１パターンとして、例えば、２つのカメラ間での撮像の開始時刻にずれが生じる場合は、露出時間、撮像間隔は２つのカメラ間で一致していても、画像の取得時刻が非同期状態になる。第２パターンとして、例えば、露出時間が２つのカメラ間で異なる場合は、画像の取得時刻が非同期状態になる。例えば、２つのカメラの露出時間設定をオートにした状態でカメラを起動すると、シャッターの度に露出時間が変化する可能性がある。これにより、同時に２つのカメラを起動し、最初のシャッタータイミングが同じ場合でも、露出時間が２つカメラ間で差異があると、次のフレームのシャッタータイミングがずれることになり、画像の取得時間が非同期状態になる。更に、第３パターンとして、例えば、カメラモジュール内での画像の圧縮処理や、ＵＳＢによる転送処理等といったカメラ撮像後の処理に起因する遅延により、画像の取得時刻が非同期状態になる。
【００１４】
２つのカメラが撮像する第１画像と第２画像を取得する画像処置装置は、取得した第１画像と第２画像の取得時刻が同期状態であるのか、非同期状態であるのかを判別することが出来ない。この為、世界座標系におけるユーザの手指の位置が正確な視差に基づいて算出されたか否かを判断することは出来ない。この為、手指の位置の算出精度が低下する。発明者の検証により比較例として２つのカメラの撮像時刻を同期させる同期回路を組み込むことが検討されたが、コストの観点から適用することは難しい。
【００１５】
本発明者らは、第１画像と第２画像の非同期状態を検出し、例えば、非同期状態の画像を排除することで、ユーザの任意の部位の位置算出精度を向上させた画像処理装置を提供出来ることを見出した。更には、非同期状態を検出し、非同期状態の画像に基づいて算出された算出位置を制御することで、更に算出位置精度を向上させることが可能となることを新たに見出した。
【００１６】
上述の本発明者らの鋭意検証によって、新たに見出された技術的事項を考慮しつつ、以下に、一つの実施形態による画像処理装置、画像処理方法及び画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は、開示の技術を限定するものではない。
【００１７】
（実施例１）
図１は、一つの実施形態による画像処理装置３が含まれる画像処理システム１０の概略図である。画像処理システム１０は、第１カメラ１、第２カメラ２、画像処理装置３、投影部４を有する。画像処置装置３は、第１カメラ１、第２カメラ２、投影部４と有線または無線を介して通信可能に接続される。なお、画像処理装置３は、図示しない通信部を有しており、通信回線を介して様々な外部装置と双方向にデータの送受信を行うことによりネットワークリソースを用いることが可能である。更に、投影部４は、必要に応じて画像処理システム１０に含まれれば良く、必ずしも必要な構成要素ではない。
【００１８】
投影部４は、例えば、プロジェクタなどの表示デバイスである。投影部４は、例えば、付加情報を含む重畳画像や、投影文書画像を表示する。投影部４は、重畳画像を、例えば、投影面の一例となる本等を含む紙媒体文書上に重畳させて投影したり、投影文書画像を設置面の一例となる机や台に投影する。実施例１においては、説明の便宜上、投影部４は、紙媒体上に重畳画像を投影するものとして説明する。
【００１９】
第１カメラ１と第２カメラ２は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）カメラなどの撮像デバイスである。第１カメラ１と第２カメラ２は、例えば、それぞれ図１に示す視野範囲を有する。第１カメラ１と第２カメラ２は、ユーザの部位となる第１部位の一例となる手指と、投影面上に存在する紙媒体文書を撮像する。なお、第１部位は手の甲でも良いが、実施例１においては、説明の便宜上、手指として説明する。また、手指の位置は、手指先近辺の位置とする。第１カメラ１と第２カメラ２は、非同期状態が発生する場合があり、撮像時刻（シャッタータイミング）は不規則にずれが生じるものとする。例えば、第１カメラ１と第２カメラ２は、露出時間が自動設定のカメラであれば良い。
【００２０】
画像処理装置３は、例えば、ワイヤードロジックによるハードウェア回路である。また、画像処理装置３はコンピュータプログラムにより実現される機能モジュールであっても良い。更に、画像処理装置３は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの集積回路であっても良い。画像処理システム１０における画像処置装置３の配置位置は自由に設定することが可能であるが、例えば、投影部４と同位置に配置されれば良い。画像処理装置３は、第１カメラ１が撮像する第１画像と、第２カメラが撮像する第２画像を取得し、世界座標系におけるユーザの第１部位の位置を算出する。換言すると画像処理装置３は、異なる光軸で撮像される第１画像と第２画像を取得する。また、画像処理装置３は、必要に応じて投影部４の投影処理を制御することが出来る。画像処理装置３の機能の詳細については後述する。
【００２１】
図１に示される通り、投影部４は、設置面または地面と水平に設置され、投影面を規定し、紙媒体文書上に重畳画像を投影することが出来る。また、投影部４、第１カメラ１と第２カメラ２は、例えば投影面の上方に、鉛直下向きの方向で設置される。第１カメラ１と第２カメラ２は、内部パラメータが等しく既知であり、互いの光軸が平行で、かつ、第１カメラ１と第２カメラ２が撮像する複数の画像中の任意の横軸が同一直線状上になる様に配置される、所謂平行ステレオ配置となる。第１カメラ１と第２カメラ２により、第１画像と第２画像の色情報、ならびに紙媒体文書の深度、ユーザ指先の深度などの情報を含む画像が撮像されることなる。なお、第１カメラ１と第２カメラ２は、平行ステレオ配置を保った状態で可動させる配置にしても良い。これにより、例えば、紙媒体文書の文字方向を任意の画像処理方法で推定し、紙媒体文書の文字方向に平行に（換言すると、文字方向に垂直にならない様に）、平行ステレオ配置を保つことで紙媒体文書の深度を高い精度で算出できる。また、投影部４により重畳画像が紙媒体文書上に投影される。ユーザは、任意の方向から指先を紙媒体文書上に提示し、投影された重畳画像に対してインタラクション操作を行うことが出来る。
【００２２】
なお、図１に示す画像処理システム１０の構成時点で、第１カメラ１と第２カメラ２のカメラ座標系と投影部４の世界座標系における位置合わせ（キャリブレーション）は、予め実施されているものとする。また、画像処理装置３に使用開始後に、第１カメラ１と第２カメラ２と投影部４の位置関係を変化させる場合は、キャリブレーションを、少なくとも一回実行すれば良い。ここで、具体的なキャリブレーションの方法の一例として、投影部４が投影する任意の投影画像を、第１カメラ１と第２カメラ２で撮像することで、画像処理装置３内部でキャリブレーションを実行する方法を説明する。なお、当該方法においては、第１カメラ１と第２カメラ２のそれぞれについて、予めキャリブレーションが実行されているものとする。
【００２３】
先ず、投影部４は、世界座標系において、ある任意の座標値（ｘｐ、ｙｐ）に対して任意のマーカを投影する。当該マーカは、周囲の背景と区別しやすいような任意の色や形状を用いることが可能である。そして、第１カメラ１と第２カメラ２は、所定の投影面に投影されたマーカを撮像する。続いて、画像処理装置３は、マーカを公知の任意の画像処理によって認識する。例えば、画像処理装置３は、投影部４がマーカとして円形の模様を投影した場合、例えば、「Kimme et al., “Finding circles by an array of accumulators”, Communications of the Association for Computing Machinery, #18, pp.120-122, 1975.」に開示される、ハフ円変換により円形状を認識することが出来る。ここで、画像処理装置３がマーカを認識した際の座標値を（ｘｉ、ｙｉ）とする。画像処理装置３は、上述の処理を、任意の場所で４点分繰り返す。画像処理装置３は、当該処理で得られた（ｘｐ、ｙｐ）に対応する（ｘｉ、ｙｉ）の組の４組から、３行３列のホモグラフィ行列Ｈの各成分を、８次元連立一次方程式を用いて算出する。なお、ホモグラフィとは、三次元空間上のある平面から別の平面への射影変換を表す行列である。実施例１においては、画像処理装置３は、第１カメラ１と第２カメラ２のカメラ座標平面と投影部４の投影部座標平面との対応付けを求める。画像処理装置３は、算出したホモグラフィ行列を、例えば、図示しないキャッシュまたはメモリに保存しておくことで、重畳画像の投影時においてホモグラフィ行列を利用することが出来る。
【００２４】
図２（ａ）は、画像処理システム１０による紙媒体文書のスキャン処理の概念図である。図２（ｂ）にはスキャン処理された画像の概念図である。図２（ａ）に示す通り、ユーザは紙媒体文書を第１部位の一例となる手指で接触し（接触時刻を時刻ｔ１とする）、手指を時刻ｔ２の位置まで手指をスライドさせ、その後手指を紙媒体文書から離脱させる。時刻ｔ１における手指位置から時刻ｔ２における手指位置に基づいた線分を対角線とする矩形領域が選択領域として決定され、図２（ｂ）に示される様な選択領域の画像がスキャン画像として、画像処置装置３の後述する記憶部６に記憶される。なお、紙媒体文書に対する手指の接触と離脱は、例えば、算出される手指の深度に基づいて判定することが出来る。
【００２５】
ここで、第１カメラ１と第２カメラ２が非同期状態である場合に、ユーザが手指を左右に移動させているとき、世界座標系における指先の算出深度が変動する理由を説明する。図３は、第１カメラ１と第２カメラ２の撮像時刻とカメラ座標系における手指の位置の概念図である。図４は、カメラ座標系の視差に基づく算出指先深度の概念図である。図３において、第１カメラ１が撮像する画像を第１画像と称し、第２カメラ２が撮像する画像を第２画像と称する。図３に示す通り、シャッタータイミングは上述の理由により不定期にずれ（非同期状態）が生じるため、例えば、時刻ｔ３で第１カメラ１の撮像時刻は第２カメラ２の撮像時刻よりも遅延する。この時、カメラ座標系における指先位置は、第１画像と第２画像で、紙媒体文書上の異なる位置に写っており、当該位置より規定される視差に基づいて二眼ステレオ法で指先の深度を算出すると、図４に示すように、世界座標系における任意の基準点（例えば、第１カメラ１と第２カメラ２の設置点の中点を基準点とすることが出来る）に対する紙媒体文書の深度よりも、浅い深度に手指が位置すると判定する誤判定が生じる。その結果、ユーザの意図とは反して選択領域の選択が時刻ｔ３の時点で終了し、画像処理システム１０は、スキャン処理に失敗することになる。
【００２６】
ここで、画像処理装置３における非同期状態の検出処理と、第１部位の算出深度の制御処理の技術的特徴について説明する。本発明者らは鋭意研究の結果、紙媒体文書のスキャン処理において、ユーザの手が同じ姿勢の場合、同一人物の手であれば世界座標系（実空間上）での長さ（例えば、単位はｍｍ）は変化しない性質に着目した。図５は、世界座標系におけるユーザの手指と手の甲の寸法図である。図５において、第１画像と第２画像から算出される手指や手の甲の幅は、手の姿勢が同じであれば変わらない値となる。手指を用いたスキャン処理においては、手の姿勢変化は僅少傾向であることも本発明者らによって検証された。この特徴に基づいて、所定の姿勢における手の所定位置（例えば、第１部位の一例となる手指）の世界座標系における長さ（基準長Ｗｒｅｆと称しても良い）を登録しておき、当該基準長と画像処理装置３の後述する算出部７が算出する第１画像と第２画像の視差に基づく手指の算出長Ｗを比較することによって非同期状態を算出することが出来る。なお、実施例１においては、説明の便宜上、ユーザの手の所定位置は、第１部位の一例となる手指として説明する。
【００２７】
算出部７は、次式に基づいて、世界座標系の手指の長さとなる算出長Ｗを算出することが出来る。
（数１）
Ｚ ＝ ｆ ＊ Ｘ ／ ｘ
（数２）
Ｗ ＝ Ｚ ＊ ｗ ／ ｆ
但し、上述の（数１）において、Ｚは世界座標系のｚ座標、Ｘは世界座標系のｘ座標、ｘはカメラ座標系のｘ座標である。ｆは第１カメラ１ならびに第２カメラ２の焦点距離である。なお、Ｚは第１画像と第２画像に視差に基づいて算出される手指の深度であり、Ｚの算出方法の詳細は後述する。（数１）のＸに着目し、例えば、手指の左端をＸ１、右端をＸ２とし、算出長Ｗ＝｜Ｘ２−Ｘ１｜として算出長ＷとＸを置換した上で、（数１）を変形すると、算出長Ｗは（数２）によって表現される。また、上述の（数２）において、画素数ｗはカメラ座標系の手指のｘ方向の幅であり、第１画像または第２画像の手指の左端をｘ１、右端をｘ２とした場合、ｗ＝｜ｘ２−ｘ１｜として表現することが出来る。なお、算出長Ｗは換言すると、世界座標系におけるＸ軸方向の長さ（手指の幅）である。焦点距離ｆを算出するための第１カメラ１と第２カメラ２の内部パラメータ推定には、例えば、「Zhang et al., “A flexible new technique for camera calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11), pp.1330-1334, 2000.」に開示されるキャリブレーション方法を用いることが出来る。
【００２８】
スキャン処理中の手指の姿勢が変化しないものと仮定すると、算出長Ｗは、第１画像と第２画像の撮像時刻が同期していれば、基準長Ｗｒｅｆと同一（または所定の閾値未満）になるはずである。換言すると、基準長Ｗｒｅｆと算出長Ｗが所定の閾値以上で異なっていれば、非同期状態であることが検出することが出来る。画像処理装置３は、例えば、画像処理において当該非同期状態の画像を破棄することが出来る。更に、画像処理装置３は、非同期状態を検出した場合、基準長Ｗｒｅｆ、ｗ、焦点距離ｆを用いて、制御深度Ｚ’を次式に基づいて算出することが出来る。なお、制御深度Ｚ’を第２深度と称しても良い。
（数３）
Ｚ’ ＝ ｆ ＊ Ｗｒｅｆ ／ ｗ
【００２９】
図６は、一つの実施形態による画像処理装置３の機能ブロック図である。画像処理装置３は、取得部５、記憶部６、算出部７、検出部８、制御部９を有する。なお、画像処理装置３は、図示しない通信部を有しており、通信回線を介して様々な外部装置と双方向にデータの送受信を行うことによりネットワークリソースを用いることが可能である。
【００３０】
取得部５は、例えば、ワイヤードロジックによるハードウェア回路である。また、取得部５は、画像処理装置３で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。取得部５は、外部装置から異なる光軸で撮像される第１画像と第２画像を受け取る。具体的には、取得部５は、第１画像を第１時刻に取得し、第２画像を第２時刻に取得する。ここで、第１時刻と第２時刻は、上述の理由から必ずしも一致しない。なお、取得部５が受け取る画像の解像度や取得頻度は、画像処理装置３に要求される処理速度や処理精度等に応じて任意の値に規定すれば良い。例えば、取得部５は、ＶＧＡ（６４０×４８０）の解像度の画像を、３０ＦＰＳ（１秒間に３０フレーム）の取得頻度で取得すれば良い。なお、画像を撮像する外部装置は、例えば、第１カメラ１と第２カメラ２である。なお、第１カメラ１は第１画像を撮像し、第２カメラ２は第２画像２を撮像するものとする。第１カメラ１と第２カメラ２は、例えば、ユーザの第１部位として、ユーザの手指を含む画像を撮像する。なお、第１カメラ１と第２カメラ２を、必要に応じて画像処理装置３に含めることも可能である。取得部５は、取得した画像を算出部７に出力する。
【００３１】
記憶部６は、例えば、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）などの半導体メモリ素子、または、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）、光ディスクなどの記憶装置である。なお、記憶部６は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であってもよい。なお、記憶部６は、必ずしも画像処理装置３に含まれる必要はない。例えば当該各種データは、画像処理装置３に含まれる各機能部の図示しないキャッシュやメモリ等に記憶しても良い。また、画像処理装置３に設けられる図示しない通信部を用いて通信回線を介することによって、記憶部６を画像処理装置３以外の外部装置に設けることも可能である。
【００３２】
記憶部６には、例えば、スキャン処理の対象となる紙媒体文書の三次元形状情報が記憶される。なお、紙媒体文書が１枚の薄い紙の場合は、紙媒体文書を事前に設定された投影面の平面上に存在する厚みが無い２次元の形状と見做すことが出来る。紙媒体文書が厚みのある本や、本を開いた状態等により紙面が湾曲している場合には、画像処理装置３の画像処理開始時点において、例えば、算出部７が、紙媒体文書の三次元形状を予め取得することが出来る。例えば、算出部７は、アクティブステレオ法と称される方法により紙媒体文書の３次元形状を取得することが出来る。アクティブステレオ法には様々な種類があり、算出部７は、何れの種類を適用することが可能であるが、例えば、特公平３−５６４０２号公報に記載の空間コード法を用いることが出来る。但し、実現の方法は空間コード法に限られない。
【００３３】
後述する算出部７は、空間コード法により、投影部４が複数回投影する、明暗をパターン化した特定パターンの全画素の座標をＩＤとして、投影パターンの画素の変化を算出する。その結果を用いることで、算出部７は、三角測量により投影部４が投影する特定パターンの各画素に対する深度（単位はｍｍ）を算出することが出来る。なお、カメラ座標系における任意の基準点に対する各画素の座標と深度を用いることで、算出部７は、紙媒体文書の３次元形状となる世界座標系における３次元直交座標を規定することが出来る。なお、各画素の座標の基準点は、例えば、取得部５が取得する第１画像または第２画像の左上端と規定することが出来る。また、世界座標系における深度の基準点は、例えば、第１カメラ１と第２カメラ２の設置点の中間点とすることが出来る。図７は、算出部７が算出する紙媒体文書の３次元直交座標のデータ構造の一例を示すテーブルである。図７のテーブル７０に示される通り、紙媒体文書の３次元直交座標として、任意の基準点に対する各画素のカメラ座標と、深度の座標が格納される。画像処理装置３は、紙媒体文書の深度と後述する指先の深度となる第１深度を比較して、ユーザの手指が紙媒体文書に接触しているか否かを判断することが出来る。
【００３４】
また、記憶部６には、例えば、重畳画像やスキャン画像が記憶される。更に、記憶部６には、例えば、第１部位の特徴量を予め抽出した第１特徴量モデル（識別器と称しても良い）が事前学習により予め記憶されても良い。また、記憶部６には、画像処理装置３の各機能が取得または保持する各種データが必要に応じて記憶されても良い。なお、第１特徴量モデルは、例えば、ＨＯＧ（Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量、またはＬＢＰ（Ｌｏｃａｌ  Ｂｉｎａｒｙ  Ｐａｔｔｅｒｎ）特徴量等の輝度勾配特徴量に基づいて生成することが出来る。なお、事前学習は、例えば、対象物（第１部位の一例となる手指）が撮像された画像（ポジティブ画像）と、対象物が撮像されていない画像（ネガティブ画像）を用いて実施され、ＡｄａｂｏｏｓｔやＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）等の様々な公知の識別器の学習手法を用いることが可能である。例えば、識別器の学習手法として、「N. Dalal et al., “Histograms of Oriented Gradients for Human Detection,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005.」に開示されているＳＶＭを用いた識別器の学習手法を用いることが出来る。
【００３５】
図６の算出部７は、例えば、ワイヤードロジックによるハードウェア回路である。また、算出部７は、画像処理装置３で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。算出部７は、取得部５から第１画像と第２画像を受け取り、当該第１画像と第２画像の色特徴量または、輝度勾配特徴量を抽出する。算出部７は輝度勾配特徴量の抽出において、必要に応じて記憶部６を参照することが出来る。算出部７は、例えば、ＲＧＢ色空間における画素値を色特徴量として抽出することが出来る。また、算出部７は、例えば、ＨＯＧ特徴量、またはＬＢＰ特徴量を、輝度勾配特徴量として抽出することが出来る。なお、輝度勾配特徴量は、例えば、一定の矩形領域内で計算可能な特徴量であれば良い。算出部７は、例えば、上述の「N. Dalal et al., “Histograms of Oriented Gradients for Human Detection,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005.」に開示される方法を用いて、輝度勾配特徴量の一例となるＨＯＧ特徴量を抽出することが出来る。なお、実施例１においては、説明の便宜上、算出部７は色特徴量を抽出するものとして説明する。
【００３６】
算出部７は、色特徴量に基づいてカメラ座標系における第１部位の一例となるユーザの手指を検出する。また、算出部７は、輝度勾配特徴量に基づいて第１部位を検出する場合、必要に応じて記憶部６に記憶されている第１特徴量モデルを参照しても良い。ここで、算出部７が色特徴量を用いて第１部位を検出する方法について説明する。算出部７は抽出した色特徴量を用いて肌色領域の抽出を行い、当該肌色領域に基づいて手輪郭領域（手指と手の甲を合わせた輪郭領域）を様々な公知の手法を用いて検出する。なお、算出部７は、肌色の色成分の抽出において、ＲＧＢ空間やＨＳＶ空間の適切な閾値調整を用いることが出来る。算出部７は、例えば、特許第３８６３８０９号に開示される方法を用いて手輪郭領域を検出することが出来る。また、算出部７は、予め手の形状に関する学習データを保持しておき、現時刻における画像データと学習データの間の類似度を計算して手指形状を算出する方法を用いて手輪郭領域を検出することも出来る。また、算出部７は、第１画像と第２画像にそれぞれ含まれる、カメラ座標系におけるユーザの手指先の位置の算出を行う。算出部７は、例えば、検出した手輪郭領域から指の本数を認識した上で手輪郭領域の輪郭から指先座標の算出を行うことが出来る。
【００３７】
図８は、算出部７が算出するカメラ座標系の指先座標を含むデータ構造の一例を示すテーブルである。なお、図８のテーブル８０におけるカメラ座標系は、第１画像または第２画像の左上端を原点とし、第１画像または第２画像の右方向をｘ軸の正方向、第１画像または第２画像の下方向をｙ軸の正方向として規定されている。テーブル８０には、例えば、ユーザが片手で指を広げた場合における、第１画像と第２画像から算出される各手指の指先座標が、手指ＩＤと対応付けられて格納される。手指ＩＤは、例えば、横方向の座標の小さい順に付与されれば良い。なお、各手指座標の基準点は、例えば、第１画像または第２画像の左上端と規定することが出来る。また、テーブル８０は、算出部７の図示しないキャッシュまたはメモリに格納されても良いし、記憶部６に記憶されても良い。
【００３８】
算出部７は、必要に応じて以下に示す方法を用いて、手領域（手の甲）の重心位置を算出しても良い。算出部７は、重心位置の算出方法として、例えば、フレームｔの画像における肌色領域として抽出された領域Ｐｓ内のピクセルＰｉの座標を（ｘｉ、ｔ、ｙｉ、ｔ）、ピクセル数をＮｓと定義した場合、重心位置Ｇｔ(ｘｔ、ｙｔ)を次式により算出することが出来る。
（数４）
2015082192.tif 000003
【００３９】
続いて、算出部７は、二眼ステレオ法を用いて世界座標系におけるユーザの指先の深度の算出を行う。算出部７は、世界座標系の任意の基準点（例えば、第１カメラ１と第２カメラの中点を基準点とすれば良い。換言すると、基準点は、第１画像における第１光学中心と第２画像における第２光学中心の中点となる）に対する奥行方向の深度Ｚ（なお、当該深度Ｚを第１深度と称しても良い）を、第１カメラ１と第２カメラ２の間の線分の長さ（基線長）をｂ（換言すると、第１画像の第１光学中心と第２画像の第２光学中心の基線長）、第１カメラ１と第２カメラ２の焦点距離をｆ、第１画像と第２画像のカメラ座標における手指先位置をそれぞれ（ｕ、ｖ）、（ｕ’、ｖ’）とすると、三角測量の原理により次式で算出することが出来る。
（数５）
Ｚ ＝ ｂ ＊ ｆ ／ ｜ｕ − ｕ’｜
なお、上述の（数５）において｜ｕ − ｕ’｜は、同一対象物（例えば、第１部位の一例となるユーザの手指）が撮像された画素の位置ずれを表す視差ｄに対応する。また、算出部７は、上述の（数５）において、ｕとｕ’の値として図８のテーブル８０に格納される値を用いることが出来る。図８のテーブル８０は、説明の便宜上、手を広げた場合について説明しているが、図５に示す様に、人差し指のみを伸ばしている場合は、手指ＩＤ１のみが検出される為、当該手指ＩＤ１に格納される値を使用すれば良い。以降の説明においては、説明の便宜上、手指ＩＤ１のみが検出されているものとして説明する。
【００４０】
算出部７は、手領域（手の甲）の重心位置を算出する場合は、第１画像または第２画像のカメラ座標における手指先と重心を結ぶ角度（当該角度を姿勢情報と称しても良い）を算出しても良い。算出部７は当該角度を、例えば、カメラ座標系における２点間のＹ座標差分を、２点間のＸ座標差分で除算した角度正接値Ｔａｎθを用いることが出来るが、正弦値、余弦値等の他の任意の値を使用してもよい。図９は、算出部７が算出するカメラ座標系と世界座標系における手指位置のデータ構造の一例を示すテーブルである。図９のテーブル９０においては、例えば、人差し指が手指ＩＤ１と格納され、カメラ座標系における手指の座標位置、世界座標系における深度に加え、カメラ座標系における手の重心座標や、世界座標系における深度のデータ、ならびに角度正接値が格納される。
【００４１】
算出部７は、第１画像または第２画像のカメラ座標系における手指の幅を示す画素数ｗと、焦点距離ｆ、世界座標系における深度Ｚ（第１深度と称しても良い）を用いて、上述の（数２）に基づいて世界座標系における手指の幅となる算出長Ｗを算出する。算出部７は算出した算出長Ｗを検出部８に出力する。
【００４２】
また、算出部７は算出長Ｗを算出する前に、必要に応じて手の姿勢判定を行っても良い。算出部７は、手の姿勢判定において、図９のテーブル９０に格納される手指ＩＤの数や、角度正接値を用いることが出来る。算出部７は、手指のＩＤの数に増減が生じた場合や、角度正接値が所定の閾値以上変化した場合は、手の姿勢が変化としたと判定することが出来る。この場合、算出部７は算出長Ｗを算出してなくとも良い。また、算出部７は手の姿勢が変化したことを契機に後述する検出部８に基準長Ｗｒｅｆの更新処理を指示しても良い。
【００４３】
図６の検出部８は、例えば、ワイヤードロジックによるハードウェア回路である。また、検出部８は、画像処理装置３で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。検出部８は、算出長Ｗを算出部７から受け取る。検出部８は、算出長Ｗの変化量に基づいて第１画像と第２画像の撮像時刻の非同期を検出する。検出部８は、例えば、算出長Ｗと基準長Ｗｒｅｆとの比較値を変化量として非同期状態を検出する。
【００４４】
検出部８が非同期状態を検出する為には、手指の正しい長さを示す基準長Ｗｒｅｆを登録して用いる必要がある。ここでは、検出部８における手指の基準長Ｗｒｅｆの登録方法について説明する。手指の形状は、円柱形状に類似する為、手の姿勢が回転等により多少の姿勢変化に対する堅牢性を有する。まず、検出部８は、毎フレームの手指の移動量を判定する。手指の移動量の判定は、例えば、第１画像または第２画像中の手指座標あるいは手領域の重心座標系において、前フレームの検出座標との差分の絶対値を算出し、当該絶対値、あるいは当該絶対値を過去複数フレーム分の加算したものを判定値として用いる。この判定値が所定の閾値（第１閾値と称しても良い）未満であれば手指は動いていないと判定し、閾値以上であれば手指が動いていると判定する。手指が動いていなければ、第１画像と第２画像において非同期状態が発生したとしても、世界座標系の手指の位置は非同期状態が発生しない場合（同期状態）と、同じ位置に存在することになる。従って、カメラ座標系の視差に基づいて算出した手指の幅は正しい値になる特徴を有する。
【００４５】
上述の特徴を利用し、検出部８は、手指が動いていないと判定された場合の指先座標あるいは手領域の重心のカメラ座標系の視差に基づいて基準長Ｗｒｅｆを次式に基づいて算出する。
（数６）
Ｗｒｅｆ= Ｚ ＊ ｗ ／ ｆ
上述の（数６）において、基準長Ｗｒｅｆは、手指の幅や手の甲の幅を用いることが出来るが、実施例１では説明の便宜上、基準長Ｗｒｅｆに、手指の幅を用いるものとして説明する。図１０は、検出部８が保持する世界座標系における基準長のデータ構造の一例を示すテーブルである。図１０のテーブル９１に示される様に、基準長Ｗｒｅｆとして、手指の幅を用いる場合でも、手の重心座標と、手指と重心座標の距離が保存されても良い。
【００４６】
検出部８は、算出長Ｗと基準長Ｗｒｅｆとを次式を用いて比較する。
（数７）
｜Ｗ−Ｗｒｅｆ｜≧Ｔｈ  ならば非同期状態
｜Ｗ−Ｗｒｅｆ｜＜Ｔｈ  ならば同期状態
検出部８は上述の（数７）を用いて算出長Ｗと基準長Ｗｒｅｆを比較し、例えば、差分の絶対値が所定の閾値Ｔｈ以上（第２閾値と称しても良い）であった場合には同期ずれあり（非同期状態）と判定する。なお、上述の（数７）において｜Ｗ−Ｗｒｅｆ｜を比較値と称して良い。また、差分の絶対値が閾値未満であれば同期ずれなし（同期状態）と判定して深度Ｚを補正することなく現在のフレームにおける処理を終了する。所定の閾値Ｔｈは、手の姿勢が同じと判定される範囲内での微小な手の姿勢の違いによる長さの差を吸収できる程度の値とし、例えば、基準長Ｗｒｅｆの５％と設定することが出来る。なお、上述の（数７）において、差分以外にも除算による比率等を適用しても良い。
【００４７】
検出部８は、上述の（数７）において、算出長Ｗと基準長Ｗｒｅｆの差分の絶対値が閾値未満であり、同期状態であると判定した場合は、基準長Ｗｒｅｆを更新しても良い。これにより、例えば、手の姿勢が変化したとしても非同期状態を検出することが出来る。但し、上述の（数７）において、差分が閾値未満であった場合でも、手指を素速く動かしているほど、同期ずれによる誤差が発生する可能性が高くなる。この理由は、第１カメラ１と第２カメラ２の間で同期ずれが発生している場合、手指を速く動かしている場合の方が、同期ずれによる撮影画像中の手指の位置の移動量が大きくなる為である。この様に、差分が閾値未満であっても多少の同期ずれが発生している可能性があるため、基準長Ｗｒｅｆを頻繁に更新すると、基準長Ｗｒｅｆに誤差が累積していく可能性がある。当該事項を考慮し、基準長Ｗｒｅｆの更新は、前フレームからの手指の移動量が閾値未満、換言すると、手指をゆっくり動かしていると判定された場合のみ更新する。手指の移動量の判定は、例えば、前フレームにおける第１画像または第２画像の指先のＸＹ座標と、現フレームにおける第１画像または第２画像の指先のＸＹ座標の距離平均を用いることが出来る。検出部８は、上述の基準長Ｗｒｅｆの登録方法と同様に基準長Ｗｒｅｆを算出し、算出した基準長Ｗｒｅｆを更新後の基準長Ｗｒｅｆとして用いることが出来る。
【００４８】
図６の制御部９は、例えば、ワイヤードロジックによるハードウェア回路である。また、制御部９は、画像処理装置３で実行されるコンピュータプログラムにより実現される機能モジュールであっても良い。制御部９は、検出部８による非同期の検出に基づいて、第１深度を制御する。制御部９は非同期が検出された場合は、基準長Ｗｒｅｆ、現在のフレームにおけるカメラ座標系における第１部位の画素数ｗ、焦点距離ｆを用いて上述の（数３）に基づき制御深度となる第２深度Ｚ’を算出し、第１深度と置換する。なお、ｗは、第１画像、第２画像の何れかの値を用いても良いし、２つ画像の平均値を用いてもよい。また、制御部９は、非同期状態を検知した場合は、非同期状態の第１画像と第２画像を破棄し、次フレーム以降の第１画像と第２画像を使用して算出部７に深度Ｚを算出させても良い。
【００４９】
図１１は、画像処理装置３による画像処理のフローチャートである。取得部５は、外部装置から異なる光軸で撮像される第１画像と第２画像を取得する（ステップＳ１０１）。具体的には、取得部５は、第１画像を第１時刻に取得し、第２画像を第２時刻に取得する。次に算出部７は、例えば、色特徴量を用いて第１画像と第２画像に含まれる手指先のカメラ座標系の座標を算出する（ステップＳ１０２）。
【００５０】
続いて、算出部７は、二眼ステレオ法を用いて世界座標系におけるユーザの指先の深度の算出を行う。算出部７は、世界座標系の任意の基準点に対する奥行方向の深度となる第１深度Ｚを上述の（数５）を用いて算出する（ステップＳ１０３）。
【００５１】
検出部８は、手指の移動量が第１閾値未満か否かを判定する（ステップＳ１０４）。具体的には、検出部８は、毎フレームの手指の移動量を判定する。手指の移動量の判定は、例えば、第１画像または第２画像中の手指座標あるいは手領域の重心座標系において、前フレームの検出座標との差分の絶対値を算出し、当該絶対値、あるいは当該絶対値を過去複数フレーム分の加算したものを判定値として用いる。この判定値が所定の閾値となる第１閾値未満か否かを判定する。
【００５２】
ステップＳ１０４において、手指の移動量が第１閾値未満の場合（ステップＳ１０４−Ｙｅｓ）、検出部８は、手指が動いていないもの判断し、基準長Ｗｒｅｆを、上述の（数６）を用いて登録または更新を行い（ステップＳ１０５）、画像処理装置３は画像処理を終了する。また、ステップＳ１０４において、手指の移動量が第１閾値以上の場合（ステップＳ１０４−Ｎｏ）、手指が動いているものと判定し、算出部７は算出長Ｗを上述の（数２）を用いて算出する。
【００５３】
検出部８は、算出長Ｗと基準長Ｗｒｅｆとを上述の（数７）を用いて比較し、算出長Ｗと基準長Ｗｒｅｆの差分の絶対値が所定の閾値Ｔｈ（第２閾値と称しても良い）以上であるか否かを判定する（ステップＳ１０７）。ステップＳ１０７において、第２閾値未満の場合（ステップＳ１０７−Ｎｏ）、検出部８は第１画像と第２画像の撮像時刻は同期状態であることを検出し（ステップＳ１０８）、画像処理装置３は、画像処理を終了する。
ステップＳ１０７において、第２閾値以上の場合（ステップＳ１０７−Ｙｅｓ）、検出部８は第１画像と第２画像の撮像時刻は非同期状態であることを検出し（ステップＳ１０９）する。次に制御部９は、上述の（数３）を用いて第２深度Ｚ’を算出し（ステップＳ１１０）、第１深度Ｚを第２深度Ｚ’に置換し、画像処理装置３は画像処理を終了する。
【００５４】
実施例１における画像処理装置３によれば、第１画像と第２画像の取得時刻が非同期状態となる場合においても手指の位置算出精度を向上させることが可能となる。
【００５５】
（実施例２）
実施例１においては、基準長Ｗｒｅｆとして手指の幅を適用する例を説明したが、実施例２においては、基準長Ｗｒｅｆとして手の甲の幅を適用する例について説明する。実施例２においては、実施例１と異なる処理について説明する。図１２（ａ）は、第１画像における手の部位の座標の概念図である。図１２（ｂ）は、第２画像における手の部位の座標の概念図である。図１２（ａ）、（ｂ）において、画像原点は左上端に規定され、横方向にＸ軸、縦方向にＹ軸が規定される。図１２（ａ）、（ｂ）において、図６の算出部７は、手指先の座標（Ｘｆｒｅｆ１、 Ｙｆｒｅｆ１）および（Ｘｆｒｅｆ２, Ｙｆｒｅｆ２）を算出し、次式に基づいて手指先の実世界座標における基準点（例えば、第１カメラ１と第２カメラ２の中点）からの深度Ｚｆｒｅｆを算出する。
（数８）
Ｚｆｒｅｆ ＝ Ｂ ＊ ｆ ／ ｜Ｘｆｒｅｆ１ − Ｘｆｒｅｆ２｜
【００５６】
算出部７は、第１画像について、手の甲の幅の画素数を求める。手の甲の幅は任意の場所を採用するが可能であるが、例えば、手領域輪郭上に存在するＹ座標が同じ左右の点であり、かつ、Ｘの幅が最大となる二点に基づいて規定することが出来る。図１２（ａ）においては、手の甲の左端点（ＸｂｒｅｆＬ１、 ＸｂｒｅｆＬ１）、ならびに、右端点(ＸｂｒｅｆＲ１、 ＸｂｒｅｆＲ１)のＸ座標の幅である.
【００５７】
算出部７は、第２画像についても第１画像と同様に、手の甲の左端点ならびに右端点を求める。算出方法として、第1画像と同様に手領域輪郭上に存在するＹ座標が同じ左右の点であり、かつ、Ｘの幅が最大になる二点に基づいて規定しても良い。また、算出部７は、第１画像の座標における（Ｙｆｒｅｆ１）と（Ｙｂｒｅｆ１）の差となる（Ｙｄｉｆｆ）を（Ｙｆｒｅｆ２）に加算して、手の甲の幅を求めるＹ座標（Ｙｂｒｅｆ２）を求め、（Ｙｂｒｅｆ２）を持つ手領域輪郭上の左右点（ＸｂｒｅｆＬ２、 ＹｂｒｅｆＬ２）、（ＸｂｒｅｆＲ２、 ＹｂｒｅｆＲ２）としてもよい。
【００５８】
次に、算出部７は、手の甲の左端点と右端点に基づいて、次式を用いて左端点と右端点における世界座標系の深度となるＺｂｒｅｆを算出する。
（数９）
Ｚｂｒｅｆ１ ＝ Ｂ ＊ ｆ ／ ｜ＸｂｒｅｆＬ１ − ＸｂｒｅｆＬ２｜
Ｚｂｒｅｆ２ ＝ Ｂ ＊ ｆ ／ ｜ＸｂｒｅｆＲ１ −  ＸｂｒｅｆＲ２｜
Ｚｂｒｅｆ ＝ （Ｚｂｒｅｆ１ ＋ Ｚｂｒｅｆ２） ／２
【００５９】
算出部７は、上述の（数９）で算出したＺｂｒｅｆに基づいて、世界座標系における手の幅のとなる基準長Ｗｒｅｆを次式に基づいて算出する。
（数１０）
Ｗｒｅｆ１ ＝ Ｚｂｒｅｆ ＊ （ＸｂｒｅｆＲ１ − ＸｂｒｅｆＬ１） ／ ｆ
Ｗｒｅｆ２ ＝ Ｚｂｒｅｆ ＊ （ＸｂｒｅｆＲ２ − ＸｂｒｅｆＬ２） ／ ｆ
Ｗｒｅｆ ＝ (Ｗｒｅｆ１ + Ｗｒｅｆ２) ／ ２
更に、算出部７は、手指先と手の甲のＺ座標の差Ｚｄｉｆｆを次式に基づいて算出する。
（数１１）
Ｚｄｉｆｆ ＝ Ｚｂｒｅｆ −  Ｚｆｒｅｆ
【００６０】
制御部９は、検出部８が非同期状態を検出した場合、第１画像と第２画像から手指先の
座標（Ｘｆｒｅｆ１、 Ｙｆｒｅｆ１）および（Ｘｆｒｅｆ２、 Ｙｆｒｅｆ２）を算出し、指先のカメラからの距離Ｚｆを次式を用いて算出する。
（数１２）
Ｚｆ ＝ Ｂ ＊ ｆ ／ ｜Ｘｆｒｅｆ１ − Ｘｆｒｅｆ２｜
次に制御部は、ＺｆにＷｒｅｆ登録時に算出した指先と手の甲のＺ座標の差Ｚｄｉｆｆを加算して、手の甲のＺ座標Ｚｂを次式に基づいて算出する。
（数１３）
Ｚｂ ＝ Ｚｆ ＋ Ｚｄｉｆｆ
【００６１】
実施例２における画像処理装置３によれば、第１画像と第２画像の取得時刻が非同期状態となる場合においても手指の位置算出精度を向上させることが可能となる。
【００６２】
（実施例３）
図１３は、一つの実施形態による画像処理装置３として機能するコンピュータのハードウェア構成図である。図１２に示す通り、画像処理装置３は、コンピュータ１００、およびコンピュータ１００に接続する入出力装置（周辺機器）を含んで構成される。
【００６３】
コンピュータ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）１０２と複数の周辺機器が接続されている。なお、プロセッサ１０１は、マルチプロセッサであってもよい。また、プロセッサ１０１は、例えば、ＣＰＵ、ＭＰＵ（Ｍｉｃｒｏ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）、またはＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ｄｅｖｉｃｅ）である。更に、プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００６４】
ＲＡＭ１０２は、コンピュータ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００６５】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００６６】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、例えば、コンピュータ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することも出来る。
【００６７】
グラフィック処理装置１０４には、モニタ１１０が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、各種画像をモニタ１１０の画面に表示させる。モニタ１１０としては、ＣＲＴ（Ｃａｔｈｏｄｅ Ｒａｙ Ｔｕｂｅ）を用いた表示装置や液晶表示装置などがある。
【００６８】
入力インタフェース１０５には、キーボード１１１とマウス１１２とが接続されている。入力インタフェース１０５は、キーボード１１１やマウス１１２から送られてくる信号をプロセッサ１０１に送信する。なお、マウス１１２は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００６９】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１１３に記録されたデータの読み取りを行う。光ディスク１１３は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１１３には、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ Ｄｉｓｃ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。可搬型の記録媒体となる光ディスク１１３に格納されたプログラムは光学ドライブ装置１０６を介して画像処理装置３にインストールされる。インストールされた所定のプログラムは、画像処理装置３より実行可能となる。
【００７０】
機器接続インタフェース１０７は、コンピュータ１００に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース１０７には、メモリ装置１１４やメモリリーダライタ１１５を接続することが出来る。メモリ装置１１４は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ１１５は、メモリカード１１６へのデータの書き込み、またはメモリカード１１６からのデータの読み出しを行う装置である。メモリカード１１６は、カード型の記録媒体である。
【００７１】
ネットワークインタフェース１０８は、ネットワーク１１７に接続されている。ネットワークインタフェース１０８は、ネットワーク１１７を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００７２】
コンピュータ１００は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、上述した画像処理機能を実現する。コンピュータ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことが出来る。上記プログラムは、１つのまたは複数の機能モジュールから構成することが出来る。例えば、図６に記載の取得部５、算出部７、記憶部６、検出部８、制御部９の処理を実現させた機能モジュールからプログラムを構成することが出来る。なお、コンピュータ１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。また、コンピュータ１００に実行させるプログラムを、光ディスク１１３、メモリ装置１１４、メモリカード１１６などの可搬型記録媒体に記録しておくことも出来る。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することも出来る。
【００７３】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが出来る。また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することが出来る。
【００７４】
本実施の形態では、手指が肌色、背景も肌色に類似している場合を例として説明したが、本実施の形態はこれに限定されない。例えば、手指が手袋などで覆われていて、手袋の色に類似した背景を使用する場合などにも、本実施の形態が適用できることは言うまでもない。
【００７５】
以上、説明した実施形態に関し、更に以下の付記を開示する。
（付記１）
異なる光軸で撮像される第１画像と第２画像を取得する取得部と、
前記第１画像と前記第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における前記第１部位の長さとなる算出長を算出する算出部と、
前記算出長の変化量に基づいて前記第１画像と前記第２画像の撮像時刻の非同期を検出する検出部
を備えることを特徴とする画像処理装置。
（付記２）
前記検出部は、前記算出長と、前記世界座標系における前記第１部位の基準長との比較値を前記変化量として、前記非同期を検出することを特徴とする付記１記載の画像処理装置。
（付記３）
前記算出部は、
前記取得部が前記第１画像を取得する第１時刻における前記第１部位の前記カメラ座標系の第１位置と、
前記第２画像を取得する第２時刻における前記第２部位の前記カメラ座標系の第２位置と
の前記視差に基づいて前記算出長を算出することを特徴とする付記１記載または付記２記載の画像処理装置。
（付記４）
前記算出部は、前記カメラ座標系における焦点距離、前記視差、ならびに、前記第１画像の第１光学中心と前記第２画像の第２光学中心の基線との比例関係に基づいて、前記世界座標系における任意の基準点と前記第１部位の第１深度を算出し、
前記非同期の検出に基づいて、前記第１深度を制御する制御部を更に備えることを特徴とする付記１ないし付記３の何れか一つに記載の画像処理装置。
（付記５）
前記基準点は前記第１光学中心または前記第２光学中心の中点であることを特徴とする付記４記載の画像処理装置。
（付記６）
前記制御部は、異なる時刻に取得される複数の前記視差から算出される前記世界座標系における前記第１部位の移動量が所定の第１閾値未満の場合に算出される前記算出長を、前記基準長とすることを特徴とする付記２ないし付記４の何れか一つに記載の画像処理装置。
（付記７）
前記検出部は、前記比較値が、所定の第２閾値以上の場合に前記非同期を検出することを特徴とする付記２ないし付記５の何れか一つに記載の画像処理装置。
（付記８）
前記比較値は、前記算出長と前記基準長の差分または比率であることを特徴とする付記２記載の画像処理装置。
（付記９）
前記制御部は、前記検出部が前記非同期を検出した場合、
前記カメラ座標系における前記第１部位の長さと前記焦点距離と、前記基準長との比例関係に基づいて、前記基準点と前記第１部位の第２深度を算出し、
前記第１深度を前記第２深度に置換することを特徴とする付記４ないし付記６の何れか一つに記載の画像処理装置。
（付記１０）
前記制御部は、前記第１部位の姿勢情報に基づいて前記第２深度を算出することを特徴とする付記９記載の画像処理装置。
（付記１１）
前記第１部位は手指または手の甲であることを特徴とする付記１記載の画像処理装置。
（付記１２）
異なる光軸で撮像される第１画像と第２画像を取得し、
前記第１画像と前記第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における前記第１部位の長さとなる算出長を算出し、
前記算出長の変化量に基づいて前記第１画像と前記第２画像の撮像時刻の非同期を検出
することを含むことを特徴とする画像処理方法。
（付記１３）
前記検出することは、前記算出長と、前記世界座標系における前記第１部位の基準長との比較値を前記変化量として、前記非同期を検出することを特徴とする付記１２記載の画像処理方法。
（付記１４）
前記算出することは、
前記取得することが前記第１画像を取得する第１時刻における前記第１部位の前記カメラ座標系の第１位置と、
前記第２画像を取得する第２時刻における前記第２部位の前記カメラ座標系の第２位置と
の前記視差に基づいて前記算出長を算出することを特徴とする付記１２記載または付記１３記載の画像処理方法。
（付記１５）
前記算出することは、前記カメラ座標系における焦点距離、前記視差、ならびに、前記第１画像の第１光学中心と前記第２画像の第２光学中心の基線との比例関係に基づいて、前記世界座標系における任意の基準点と前記第１部位の第１深度を算出し、
前記非同期の検出に基づいて、前記第１深度を制御することを更に含むことを特徴とする付記１２ないし付記１４の何れか一つに記載の画像処理方法。
（付記１６）
前記基準点は前記第１光学中心または前記第２光学中心の中点であることを特徴とする付記１５記載の画像処理方法。
（付記１７）
前記制御することは、異なる時刻に取得される複数の前記視差から算出される前記世界座標系における前記第１部位の移動量が所定の第１閾値未満の場合に算出される前記算出長を、前記基準長とすることを特徴とする付記１３ないし付記１５の何れか一つに記載の画像処理方法。
（付記１８）
前記検出することは、前記比較値が、所定の第２閾値以上の場合に前記非同期を検出することを特徴とする付記１３ないし付記１６の何れか一つに記載の画像処理方法。
（付記１９）
前記比較値は、前記算出長と前記基準長の差分または比率であることを特徴とする付記１３記載の画像処理方法。
（付記２０）
前記制御することは、前記検出することが前記非同期を検出した場合、
前記カメラ座標系における前記第１部位の長さと前記焦点距離と、前記基準長との比例関係に基づいて、前記基準点と前記第１部位の第２深度を算出し、
前記第１深度を前記第２深度に置換することを特徴とする付記１５ないし付記１７の何れか一つに記載の画像処理方法。
（付記２１）
前記制御することは、前記第１部位の姿勢情報に基づいて前記第２深度を算出することを特徴とする付記２０記載の画像処理方法。
（付記２２）
前記第１部位は手指または手の甲であることを特徴とする付記１２記載の画像処理方法。
（付記２３）
コンピュータに、
異なる光軸で撮像される第１画像と第２画像を取得し、
前記第１画像と前記第２画像に含まれるユーザの第１部位のカメラ座標系の視差から、世界座標系における前記第１部位の長さとなる算出長を算出し、
前記算出長の変化量に基づいて前記第１画像と前記第２画像の撮像時刻の非同期を検出
することを実行させることを特徴とする画像処理プログラム。
【符号の説明】
【００７６】
１    第１カメラ
２    第２カメラ
３    画像処理装置
４    投影部
５    取得部
６    記憶部
７    算出部
８    検出部
９    制御部
【図１】
2015082192.tif 000004
【図２】
2015082192.tif 000005
【図３】
2015082192.tif 000006
【図４】
2015082192.tif 000007
【図５】
2015082192.tif 000008
【図６】
2015082192.tif 000009
【図７】
2015082192.tif 000010
【図８】
2015082192.tif 000011
【図９】
2015082192.tif 000012
【図１０】
2015082192.tif 000013
【図１１】
2015082192.tif 000014
【図１２】
2015082192.tif 000015
【図１３】
2015082192.tif 000016