説明

情報処理装置および情報処理装置用操作者指示点算出プログラム

【課題】
操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスを提供する。
【解決手段】
情報処理装置1は、空間上にある操作者の手を撮影する複数台の撮影装置2と接続され、撮影装置2により撮影された画像情報をそれぞれ取得する画像情報取得処理部と、操作者の平面的指先座標pおよび平面的指根元座標qを算出する画像内指位置推定処理部と、平面的指先座標pおよび平面的指根元座標qから、操作者の指方向直線を算出する立体的指方向推定処理部と、指方向直線から操作者が指示する操作者指示点を算出する指示位置決定処理部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人間(操作者)の指先の形状をもとに、その指先が指し示す方向を解析し、その指し示す先にある指示対象の位置を特定し、特定された位置の位置情報入力を指示する情報処理装置および情報処理装置用操作者指示点算出プログラムに関する。
【背景技術】
【0002】
食品工場、半導体製造プラント、医療現場などでは、高度な衛生環境が求められるが、そういった環境の中においても、さまざまな情報処理装置が利用されるようになってきた。こういった高度な衛生環境下では、情報処理装置への入力として、キーボードやマウスなどといった従来の接触型の入力装置に代えて、非接触型の入力装置を用いることが可能であり、そのための関連技術が開示されている。
【0003】
特許文献1では、情報入力を行うにあたって、あらかじめ、複数の既知の指示目標物体に対し順次指示動作を行い、そのときの指示方向を表わす直線が1点に交差する定点を求めて基準点を求める。そして、指示目標物体に最も近い位置にある指示動作物体の部分の座標を指示動作物体の座標位置(先端点)として定め、基準点と先端点から決定される直線上に指示目標物体の決定を行ない、指示目標物体に対して命令動作を与える情報入力方法に関する技術が開示されている。
【0004】
【特許文献1】特許第3114813号公報(明細書0006〜0007項、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところが、特許文献1で開示された技術によれば、情報入力を行うにあたって、あらかじめ、複数の既知の指示目標物体に対し順次指示動作を行い、指示方向を表わす直線が1点に交差する定点を求めて、そこを基準点としており、操作者はその基準点が空間上のどこに存在しているかを意識しあるいは把握することが困難である。その結果、操作者が微細な位置調整を行おうとして、手首や指先を動かしたとしても、操作者の意識していない向きで指示方向が認識されてしまうといった問題がある。
また、基準点が求まった後で、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合には、新たな基準点を求めなければならず、仮に、新たな基準点を求めないまま位置入力を行った場合には、操作者の意識していない向きで指示方向が認識されてしまうといった問題がある。
【0006】
さらに、こういった非接触型の情報入力方法では、操作者が位置を指示するにあたって、指先の方向しか意識していないことが多い。すなわち、操作者がディスプレイに表示されたマウスポインタの位置を僅かに変化させたいといった場合には、手首の位置をそのままにして、指先だけを回転させながら、指示しようとする位置を調整することになり、操作者が意識している真の基準点は指の根元(指の付け根部分)に位置しているということになる。
しかし、特許文献1で開示された技術によれば、複数の既知の指示目標物体に対し順次指示動作を行い、指示方向を表わす直線が1点に交差する定点を基準点として与えているため、このような要請が満たされていないといった問題がある。
【0007】
そこで、本発明では、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスを備えた情報処理装置および情報処理装置用操作者指示点算出プログラムを提供する。
【課題を解決するための手段】
【0008】
前記課題を解決するため、第1の発明にかかる情報処理装置は、空間上にある操作者の手を撮影する複数台の撮影装置2と接続され、前記撮影装置2により撮影された画像情報をそれぞれ取得する画像情報取得処理部と、前記画像情報のそれぞれについて、前記操作者の平面的指先座標pおよび前記操作者の平面的指根元座標qを算出する画像内指位置推定処理部と、前記画像情報にそれぞれ対応した前記平面的指先座標pおよび前記平面的指根元座標qから、前記操作者の立体的指先座標Pおよび前記操作者の立体的指根元座標Qを通る指方向直線を算出する立体的指方向推定処理部と、前記指方向直線から、前記操作者が指示する操作者指示点Zを算出する指示位置決定処理部と、を備えたことを特徴とする。
また、第12の発明にかかる情報処理装置用操作者教示点算出プログラムは、空間上にある操作者の手を撮影する複数台の撮影装置2と接続され、前記撮影装置2からの画像信号を受信するキャプチャーカード11と、状態変数記憶領域16と、を備えた情報処理装置で使用され、前記キャプチャーカード11から前記撮影装置2により撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域16に記憶させる画像情報取得処理手順151と、前記状態変数記憶領域16から前記画像情報をそれぞれ読み込んで、前記操作者の平面的指先座標pおよび前記操作者の平面的指根元座標qを算出して前記状態変数記憶領域16に記憶させる画像内指位置推定処理手順152と、前記状態変数記憶領域16から前記画像情報にそれぞれ対応した前記平面的指先座標pおよび前記平面的指根元座標qを読み込んで、前記操作者の立体的指先座標Pおよび前記操作者の立体的指根元座標Qを通る指方向直線を算出して前記状態変数記憶領域16に記憶させる立体的指方向推定処理手順153と、前記状態変数記憶領域16から前記指方向直線を読み込んで、前記操作者が指示する操作者指示点Zを算出して前記状態変数記憶領域16に記憶させる指示位置決定処理手順154と、を備えたことを特徴とする。
【0009】
また、第2の発明にかかる情報処理装置は、第1の発明の構成に加え、空間上にある操作者の手を撮影する第1および第2の撮影装置2a、2bと接続され、前記画像情報取得処理部は、前記第1および第2の撮影装置2a,2bにより撮影された画像情報をそれぞれ取得し、前記立体的指方向推定処理部は、第1の撮影装置2aに対応した前記平面的指先座標pと、前記第1の撮影装置2aに対応した前記平面的指根元座標qと、前記第1の撮影装置2aの撮影位置の3点を通る第1の平面を算出し、前記第2の撮影装置2bに対応した前記平面的指先座標pと、前記第2の撮影装置2bに対応した前記平面的指根元座標qと、前記第2の撮影装置2bの撮影位置の3点を通る第2の平面を算出し、その2平面が交わる直線を指方向直線として算出することを特徴とする。
また、第13の発明にかかる情報処理装置用操作者教示点算出プログラムは、第12の発明の構成に加え、空間上にある操作者の手を撮影する第1および第2の撮影装置2a、2bと接続され、前記キャプチャーカード11は前記第1および第2の撮影装置2a,2bからの画像信号をそれぞれ受信し、前記画像情報取得処理手順151は、前記キャプチャーカード11から第1および第2の撮影装置2a、2bにより撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域16に記憶し、前記立体的指方向推定処理手順153は、前記状態変数記憶領域16から前記画像情報にそれぞれ対応した前記平面的指先座標pおよび前記平面的指根元座標qを読み込んで、前記第1の撮影装置2aに対応した前記平面的指先座標pと、前記第1の撮影装置2aに対応した前記平面的指根元座標qと、前記第1の撮影装置2aの撮影位置の3点を通る第1の平面を算出し、前記第2の撮影装置2bに対応した前記平面的指先座標pと、前記第2の撮影装置2bに対応した前記平面的指根元座標qと、前記第2の撮影装置2bの撮影位置の3点を通る第2の平面を算出し、その2平面が交わる直線を指方向直線として算出して前記状態変数記憶領域16に記憶する各手順を含むことを特徴とする。
【0010】
また、第3の発明にかかる情報処理装置は、第1または第2の発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Gを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、前記最遠点ltを前記平面的指先座標pとすることを特徴とする。
また、第14の発明にかかる情報処理装置用操作者教示点算出プログラムは、第12または第13の発明の構成に加え、前記画像内指位置推定処理手順152は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Gを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、前記最遠点ltを前記平面的指先座標pとする各手順を含むことを特徴とする。
【0011】
また、第4の発明にかかる情報処理装置は、第1または第2の発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Gを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離が極小または最小となる前記境界∂Ω上の2点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標pとし、前記2点lb1およびlb2の中点を前記平面的指根元座標qとすることを特徴とする。
また、第15の発明にかかる情報処理装置用操作者教示点算出プログラムは、第12または第13の発明の構成に加え、前記画像内指位置推定処理手順152は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Gを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離が極小または最小となる前記境界∂Ω上の2点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標pとし、前記2点lb1およびlb2の中点を前記平面的指根元座標qとする各手順を含むことを特徴とする。
【0012】
また、第5の発明にかかる情報処理装置は、第1または第2の発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Gを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離の変化率が大きく変化する前記境界∂Ω上の2点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標pとし、前記2点lb1およびlb2の中点を前記平面的指根元座標qとすることを特徴とする。
また、第16の発明にかかる情報処理装置用操作者教示点算出プログラムは、第12または第13の発明の構成に加え、前記画像内指位置推定処理手順152は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Gを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離の変化率が大きく変化する前記境界∂Ω上の2点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標pとし、前記2点lb1およびlb2の中点を前記平面的指根元座標qとする各手順を含むことを特徴とする。
【0013】
また、第6の発明にかかる情報処理装置は、第3の発明の構成に加え、前記画像内指位置推定処理部は、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点lb1、lb2を算出し、前記2点lb1およびlb2の中点を前記平面的指根元座標qとすることを特徴とする。
また、第17の発明にかかる情報処理装置用操作者教示点算出プログラムは、第14の発明の構成に加え、前記画像内指位置推定処理手順152は、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点lb1、lb2を算出し、前記2点lb1およびlb2の中点を前記平面的指根元座標qとする手順を含むことを特徴とする。
【0014】
また、第7の発明にかかる情報処理装置は、第4または第5の発明の構成に加え、前記画像内指位置推定処理部は、前記境界∂Ω上の2点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点をlb1、lb2として算出することを特徴とする。
また、第18の発明にかかる情報処理装置用操作者教示点算出プログラムは、第15または第16の発明の構成に加え、前記画像内指位置推定処理手順152は、前記境界∂Ω上の2点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点をlb1、lb2として算出する手順を含むことを特徴とする。
【0015】
また、第8の発明にかかる情報処理装置は、第3ないし第7のいずれかの発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出することを特徴とする。
また、第19の発明にかかる情報処理装置用操作者教示点算出プログラムは、第14ないし第18のいずれかの発明の構成に加え、前記画像内指位置推定処理手順152は、前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出する手順を含むことを特徴とする。
【0016】
また、第9の発明にかかる情報処理装置は、第3ないし第8のいずれかの発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出することを特徴とする。
また、第20の発明にかかる情報処理装置用操作者教示点算出プログラムは、第14ないし第19のいずれかの発明の構成に加え、前記画像内指位置推定処理手順152は、前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出する手順を含むことを特徴とする。
【0017】
また、第10の発明にかかる情報処理装置は、第1ないし第9のいずれかの発明の構成に加え、さらに、前記指示位置決定処理部で出力された前記操作者指示点Zを画面表示するディスプレイ3と接続され、前記指示位置決定処理部は、前記指方向直線と、前記ディスプレイ3の表示画面との交点を前記操作者指示点Zの位置として、その位置信号を前記ディスプレイ3に画面表示させることを特徴とする。
また、第21の発明にかかる情報処理装置用操作者教示点算出プログラムは、第12ないし第20のいずれかの発明の構成に加え、さらに、前記操作者指示点Zを画面表示するディスプレイ3と接続され、前記ディスプレイ3へ画像信号を出力するグラフィックカード12と、を備えた情報処理装置で使用され、前記指示位置決定処理手順154はさらに、前記指方向直線と、前記ディスプレイ3の表示画面との交点を前記操作者指示点Zの位置として、その位置信号を前記グラフィックカード12に出力する手順を含むことを特徴とする。
【0018】
また、第11の発明にかかる情報処理装置は、第10の発明の構成に加え、前記指示位置決定処理部は、前記立体的指先座標Pと前記表示画面との距離が一定値以下となったときに、クリック信号を出力することを特徴とする。
また、第22の発明にかかる情報処理装置用操作者教示点算出プログラムは、第21の発明の構成に加え、前記指示位置決定処理手順154はさらに、前記立体的指先座標Pと前記表示画面との距離が一定値以下となったときに、クリック信号を出力する手順を含むことを特徴とする。
【発明の効果】
【0019】
第1の発明にかかる情報処理装置、または、第12の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、ステレオカメラにより撮影した複数の画像から、それぞれ、操作者の指先の位置pおよび指の根元の位置qを平面的に検出して、視差を含んだ画像の位置情報を用いて操作者の指先の位置Pおよび指の根元の位置Qを立体的に認識させ、2点P、Qを通る直線を指方向直線として操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Zが算出されるため、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【0020】
第2の発明にかかる情報処理装置、または、第13の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、ステレオカメラにより撮影した2つの画像から、それぞれ、操作者の指先の位置pおよび指の根元の位置qを平面的に検出して、それぞれのカメラに対応するカメラ位置、操作者の指先の位置p、指の根元の位置qの3点を通る平面を求めて、2つの平面が交わってできる直線を操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Zが算出されるため、前述した効果に加え、第1のカメラから推定した根元の位置qと、第2のカメラから推定した根元の位置qが、実際の指の根元の位置と実質的に異なる位置だったとしても、指方向直線が二つの平面から求められているため、その誤差による影響を受けずに、操作者の指方向が正確に認識される。
【0021】
また、第3の発明にかかる情報処理装置、または、第14の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、手領域Ωの重心点Gからの距離が最も遠くなる境界∂Ω上の点ltを操作者の指先の位置pとして推定するため、前述した効果に加え、高速・高精度で立体的指先位置Pや指方向直線を推定することができる。
【0022】
また、第4の発明にかかる情報処理装置、または、第15の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離が極小または最小となる境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【0023】
また、第5の発明にかかる情報処理装置、または、第16の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離の変化率が大きく変化する境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【0024】
また、第6、第7の発明にかかる情報処理装置、または、第17、第18の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gまたは最遠点ltからの距離が一定値となる境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、より高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【0025】
また、第8の発明にかかる情報処理装置、または、第19の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、領域Ωを抽出する前に、画像の平滑化・ノイズ除去・鮮明化等の前処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Pおよび立体的指根元座標Qや指方向直線を推定することができる。
【0026】
また、第9の発明にかかる情報処理装置、または、第20の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、領域Ωを抽出する前に、画像の二値化処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Pおよび立体的指根元座標Qや指方向直線を推定することができる。
【0027】
また、第10の発明にかかる情報処理装置、または、第21の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、指方向直線と、ディスプレイ3の表示画面との交点を、操作者指示点Zとし、この点をディスプレイ3に表示させるので、前述した効果に加え、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、ディスプレイ上で微細な位置調整を行うことができる。また、操作者が指先の方向だけを意識して、指示しようとしているディスプレイ上の位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【0028】
また、第11の発明にかかる情報処理装置、または、第22の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、立体的指先座標Pとディスプレイの表示面との距離が一定値以下となったときに、クリック信号を出力するため、前述した効果に加え、指先をディスプレイの表示面に近づけるだけで、クリック動作を指示することができる。
【発明を実施するための最良の形態】
【0029】
本発明の実施形態を実施例1ないし実施例3にて説明する。
【実施例1】
【0030】
実施例1を図1〜図7に基づいて説明する。
図1は、実施例1にかかる情報処理装置の構成を示す説明図である。情報処理装置1は、空間上にある操作者の手を撮影する2台のカメラ2a、2bと接続され、ディスプレイ3とも接続されている。カメラ2a、2bは、ステレオカメラであり、対象物を複数の異なる方向から同時に撮影することにより、その奥行き方向の情報も記録できるように配置されている。
情報処理装置1はその内部に、カメラ2a、2bで撮影された画像を取り込むキャプチャーカード11と、ディスプレイ3に画像信号を出力するグラフィックカード12と、CPU(中央演算処理装置)13と、クロック14と、プロクラム記憶領域15と、状態変数記憶領域16を備える。プログラム記憶領域15には、ハードディスクやメモリなどといった記憶装置が用いられ、状態変数記憶領域16には、メモリなどといった記憶装置に確保された記憶領域を用いることが一般的と思われるが、必ずしもこのような記憶媒体でなければならないというわけではない。
情報処理装置1は、市販されているパーソナルコンピュータ等に、キャプチャーカード11を装着し、プログラム記憶領域15に各処理手順151〜155が記述されたプログラムをインストールすれば実現できるようになっている。
【0031】
プログラム記憶領域15には、キャプチャーカード11からカメラ2a、2bにより撮影された画像情報を取り込んで状態変数記憶領域16に記憶させる画像情報取得処理手順151と、状態変数記憶領域16から画像情報をそれぞれ読み込んで、操作者の平面的指先座標pおよび操作者の平面的指根元座標qを算出して状態変数記憶領域16に記憶させる画像内指位置推定処理手順152と、状態変数記憶領域16から画像情報にそれぞれ対応した平面的指先座標pおよび平面的指根元座標qを読み込んで、操作者の立体的指先座標Pおよび操作者の立体的指根元座標Qを通る指方向直線を算出して状態変数記憶領域16に記憶させる立体的指方向推定処理手順153と、状態変数記憶領域16から指方向直線を読み込んで、操作者が指示する操作者指示点Zを算出して状態変数記憶領域16に記憶させる指示位置決定処理手順154と、を備える。これらは、プログラムとしてその処理手順が記述されており、プログラムを実行させる時には、これらのプログラムがプログラム記憶領域15から読み込まれて、CPU13などの演算処理部を用いて所定の処理が実行されることになる。
【0032】
状態変数記憶領域16には、各処理手順151〜154で求められた数値データ等を記憶するため、各種の記憶領域が確保される。画像情報取得処理手順151で取得した画像情報は、画像情報161a、161bに記憶され、画像内指位置推定処理手順152で算出した平面的指先座標p、平面的指根元座標qは、それぞれ、平面的指先座標162a、162b、平面的指根元座標163a、163bに記憶され、立体的指方向推定処理手順153で算出した指方向直線は、指方向直線164に記憶され、指示位置決定処理手順154で算出された操作者指示点Zが、操作者指示点165に記憶される。
【0033】
すなわち、図1では、キャプチャーカード11と、画像情報161a、161bを記憶した状態変数記憶領域16と、画像情報取得処理手順151を記憶したプログラム記憶領域15と、その処理手順を実際に処理するCPU13などの構成により、画像情報取得処理部が構成される。また、画像情報161a、161b、平面的指先座標162a、162b、平面的指根元座標163a、163bを記憶した状態変数記憶領域16と、画像内指位置推定処理手順152を記憶したプログラム記憶領域15と、その処理手順を実際に処理するCPU13などの構成により、画像内指位置推定処理部が構成される。また、平面的指先座標162a、162b、平面的指根元座標163a、163b、指方向直線164を記憶した状態変数記憶領域16と、プログラム記憶領域15に記録された指示位置決定処理手順154を実行させるCPU13などの構成により、画像内指位置推定処理部が構成される。また、指方向直線164、操作者指示点165を記憶した状態変数記憶領域16と、プログラム記憶領域15に記録された立体的指方向推定処理手順153を実行させるCPU13などの構成により、指示位置決定処理部が構成される。
【0034】
こういった構成により、ステレオカメラにより撮影した複数の画像から、それぞれ、操作者の指先の位置pおよび指の根元の位置qを平面的に検出して、視差を含んだ画像の位置情報を用いて操作者の指先の位置Pおよび指の根元の位置Qを立体的に認識させ、2点P、Qを通る直線を指方向直線として操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Zが算出されるため、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【0035】
続いて、画像情報取得処理手順151について詳説する。カメラ2a、2bにより撮影された画像情報は、所定のフレームレートでキャプチャーカード11に取り込まれており、画像情報取得処理手順151は、所定のタイミングで、キャプチャーカード11にアクセスし、カメラ2a(カメラ2b)から取り込んだ画像情報を、画像情報a(161a)(画像情報b(161b))としてそれぞれ記憶させる。
【0036】
画像内指位置推定処理手順152の詳細な処理の流れは、図2に示すフローチャートによって行われる。画像内指位置推定処理手順152は、2つの画像情報(161a、161b)にアクセスし、そのそれぞれについて、操作者の手の領域Ωを抽出する手順1と、手領域Ωの重心点Gを算出する手順2と、手領域Ωの境界∂Ωを抽出する手順3と、境界∂Ω上で重心点Gからの距離が最遠となる最遠点ltを算出する手順4と、最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離が極小または最小となる境界∂Ω上の2点lb1、lb2を算出する手順5と、境界∂Ω上の2点lb1、lb2が見つからなかった時に、最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gまたは最遠点ltからの距離が一定値となる境界∂Ω上の2点をlb1、lb2として算出する手順6と、最遠点ltを平面的指先座標pとする手順7と、2点lb1およびlb2の中点を平面的指根元座標qとする手順8からなる。
【0037】
手順6は必ずしも必要としない構成要件ではあるが、このような手順を加えることで、手順5にて境界∂Ω上の2点lb1、lb2が見つからなかった場合でも、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gまたは最遠点ltからの距離が一定値となる境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、より高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【0038】
続いて、図2の各手順について、図3〜6を用いながら詳説する。なお、画像情報a(161a)から平面的指先座標pa(162a)および平面的指根元座標qa(163a)を算出した後は、画像情報b(161b)についても同様の処理を行うことで平面的指先座標pb(162b)および平面的指根元座標qb(163b)が算出されるため、ここでは、カッコ書きでその違いを付記するにとどめる。
【0039】
手順1では、まず、状態変数記憶領域16にある画像情報161a(画像情報161b)を参照して、カメラ2a(カメラ2b)で撮影した操作者の手の部分が撮影された画像データを取得する(ステップS11)。
撮影された画像にはノイズ成分が含まれるため、手の領域Ωを抽出する前に、ステップS12のように画像情報について、平滑化やノイズ除去の処理を行うとともに、手を抽出するため特定の色を鮮明化するなどの前処理と行うことが好ましい。このように領域Ωを抽出する前に、画像の平滑化・ノイズ除去・鮮明化等の前処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Pおよび立体的指根元座標Qや指方向直線を推定することができる。
【0040】
続いて、手の領域Ωを抽出する前に、肌色部分を白抜きした形で画像データを二値化処理する(ステップS13)。このステップでは、画像データの手の部分と背景の部分を分離するため、HSV(Hue、Saturation、Value)変換などの一般的な手法を用いて二値化を行う。HSV変換は、物体の認識のためによく用いられる方法であり、RGB色空間からHSV色空間に変換し、所望の物体を検出する方法である。人間の手のように色相値などの色情報が一定の範囲内にある物体の場合、RGB色空間よりも、人間が色を知覚するのに近いHSV色空間を取り扱う方が都合がよい。図3は、画像情報a(161a)について、ステップS13による二値化処置を行った後の画像である。図3において、白い部分(肌色領域30)が手の領域であり、黒い部分が背景部分である。
このように、領域Ωを抽出する前に、画像の二値化処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Pおよび立体的指根元座標Qや指方向直線を推定することができる。
【0041】
手順2では、二値化された画像データについて、白色画素(肌色部分30)の座標値の総和を算出する(ステップS21)。その総和を白色画素の個数で除すると、肌色領域30の重心点Gの座標が判明する。すなわち、白色画素(肌色部分30)の画素数をN個とし、その各座標を(xi,yi)であらわすと、重心点Gの座標(xg,yg)は、
【0042】
【数1】

【0043】
で与えられる。
【0044】
手順3では、画像データの右上端(画像情報161bを用いた場合には左上端)の画素から横方向で走査して、白色である最初の画素l1を探す(ステップS31)。図4で示す6×6の大きさである二値化画像を例に説明すると、走査の順序は、画素Aa、Ab、…Af、Ba、…となり、最初の白色画素Bfが最初の境界線上の画素l1となる。
境界線上の画素l2、l3、…を捜索するため、画素の番号をiとし、ステップS32では、画素番号をi=0でクリアし、ステップS33でiをインクリメントする。ステップS34では、liの周辺にある8画素(l1,…,li-1を除く)を走査して白色である最初の画素li+1を探す。画素li-1(i=1の場合は、ステップS31で黒色だった画素)からスタートして反時計回り(画像情報161bを用いた場合には時計回り)で走査して、最初の白色画素がli+1ということになる。図4で説明すると、i=3の場合、画素l2 (画素Ce)から、Be、Bd,Bc,Cc,Dc、…の順で走査するので、最初に現れる白色画素Dcがl4となる。
ステップS35では、li+1が見つかったかどうかを判別し、見つかった場合にはステップS33に戻って、境界上の白色画素の探索を継続し、見つからなかった場合には、次のステップS36に進んで、境界上の白色画素の探索を終了する。ステップS36では、境界上の画素数kをk=iで与えることとすれば、手領域Ωの境界∂Ωとなるk個の画素が抽出されることになる。
図3により与えられた二値化画像については、図5のように境界上の点∂Ω={l1,l2,…,lk}が境界50として現れる。また、図5のように操作者が人差し指をまっすぐにして位置を指示しているような場合には、手領域Ωの重心点Gが、操作者の拳ないし腕の部分に存在することとなり、人差し指の先端部分が重心点Gから最も遠い境界∂Ω上の一点であるということができる。
【0045】
手順4では、境界∂Ω上の各画素li (i=1,2,…,k)について、重心点Gからの距離riを算出する(ステップS41)。すなわち、境界∂Ω上の各画素liの座標を(xi,yi)であらわすと、重心点Gからの距離riは、
【0046】
【数2】

【0047】
で与えられる。そして、ステップS42では、ri (i=1,2,…,k)が最大となる∂Ω上の点をltと定める。
【0048】
手順5では、最遠点ltから境界∂Ω上の各画素を2つの方向(lt-1方向とlt+1方向)で走査して、それぞれの方向に対してriが極小または最小となる2点lb1,lb2を算出する(ステップS5)。2点lb1,lb2の算出方法について、図6をもとに説明すると、riの値を平滑化した後で、i=kより左側の領域でriが極小値(極値が2以上ある場合には、iの値が最も大きいもの)となる画素番号iをb1とし、i=kより右側の領域でriが極小値(極値が2以上ある場合には、iの値が最も小さいもの)となる画素番号iをb2とし、2点lb1,lb2を算出する。
このほか、i=kより左側の領域でriが最小となる画素番号iをb1とし、i=kより右側の領域でriが最小となる画素番号iをb2とし、2点lb1,lb2を算出してもよい。
【0049】
そして、手順7では、最遠点ltの座標を平面的指先座標として、状態変数記憶領域16にある平面的指先座標pa (162a)(画像情報161bを用いた場合には平面的指先座標pb (162b))に記憶する。
このように、手領域Ωの重心点Gからの距離が最も遠くなる境界∂Ω上の点ltを操作者の指先の位置pとして推定するため、前述した効果に加え、高速・高精度で立体的指先位置Pや指方向直線を推定することができる。
【0050】
そして、手順8では、2点lb1,lb2の中点を平面的指根元座標として、状態変数記憶領域16にある平面的指根元座標qa(163a)(画像情報161bを用いた場合には平面的指根元座標qb (163b))に記憶する。
このように、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離が極小または最小となる境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【0051】
これらの手順1〜8によって、画像内指位置推定処理手順152が実行される。
【0052】
なお、手順7を実行する前に、次に説明する手順6を実行させるようにしてもよい。すなわち、手順6では、手順5で境界∂Ω上の2点lb1、lb2が見つからなかったかどうかを判定し(ステップS61)、見つからなかった場合には、最遠点ltから境界∂Ω上を2つの方向(lt-1方向、lt+1方向)で走査して、重心点Gからの距離が一定値(一定値は指の長さより短くなるような値で設定する)となる境界∂Ω上の2点をlb1,lb2とする処理(ステップS62)を追加する。手順6を追加することで、操作者の手が指差し状態できない形状で撮影されたとしても、操作者の指が指している方向を把握することが可能となる。なお、この一定値としては、
【0053】
【数3】

【0054】
などとして定める方法が考えられる。また、重心点Gからの距離が一定値となる境界∂Ω上の2点をlb1、lb2とすることに代えて、最遠点ltからの距離が一定値となる境界∂Ω上の2点をlb1、lb2として定めるようにしてもよい。
【0055】
続いて、立体的指方向推定処理手順153について図7を用いて詳説する。図7において、画像情報a(71a)、画像情報b(71b)は、それぞれ、カメラ2a、2bで撮影された画像データであって、状態変数記憶領域16に記憶された画像情報161a、161bと等価のものであり、図7では、ステップS31〜ステップS36にて抽出された手の領域Ωの境界∂Ωを72a、72bとして表示させるとともに、各画像から求められた平面的指先座標pa(162a)、pb(162b)、平面的指根元座標qa(163a)、qb(163b)をあわせて表示させている。
そして、カメラ2a、2bをそれぞれ (0,0,0),(d,0,0)に位置させて、その撮影するレンズをともにZ軸方向と平行となるように配置し、カメラの焦点距離をfとして定めると、操作者の手73におけるxyz空間上における立体的指先座標Pと立体的指根元座標Qが、次のように推定される。
【0056】
【数4】

【0057】
このようにして、求められた座標P,Qを操作者の立体的な指先座標、指根元座標として定め、この2点を通る直線
【0058】
【数5】

【0059】
を状態変数記憶領域16にある指方向直線164として記憶させる。
【0060】
続いて、指示位置決定処理手順154について詳説する。この処理では、指方向直線164から、操作者が指示する点を算出して、操作者指示点Zを出力する。
すなわち、ディスプレイ3の表示面のz座標を考慮し、指方向直線とディスプレイ面が交わる点を求め、その座標を操作者指示点Zとして推定し、状態変数記憶領域16にある操作者指示点Z(165)として記憶する。あわせて、操作者指示点Zの位置信号はグラフィックカード12に出力される。
【0061】
そうすると、操作者指示点Zの座標がディスプレイ3に表示され、マウスポインターの役割を果たすことができ、情報処理装置1における入力手段のひとつとして用いることが可能である。すなわち、指方向直線と、ディスプレイ3の表示画面との交点を、操作者指示点Zとし、この点をディスプレイ3に表示させるので、前述した効果に加え、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、ディスプレイ上で微細な位置調整を行うことができる。また、操作者が指先の方向だけを意識して、指示しようとしているディスプレイ上の位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【0062】
なお、本実施例では、2台のカメラを使用しているが、3台以上のカメラを設置して、操作者の手指の位置をより高精度で算出できることはいうまでもない。
【0063】
また、指示位置決定処理手順154では、立体的指先座標Pとディスプレイ3の表示画面との距離が一定値以下となったときに、クリック信号を出力するようにするとより好適である。そうすることで、指先をディスプレイの表示面に近づけるだけで、クリック動作を指示することができる。
すなわち、クリック信号を発する条件として、操作者の指先とディスプレイ3の画面との距離Lをあらかじめ定めておき、立体的指先座標Pのz座標が距離L以下となった時に、クリック信号を発するようにさせる。このほか、立体的指先座標Pと距離Lとの関係をディスプレイ3上で表示させるように、グラフィックカード12に操作者指示点Zの位置信号を渡す処理を追加するとより好ましい。そうすることで、操作者にとって「あと、どれだけ指先をディスプレイに近づけたらクリック操作となるか」を認識しやすくさせることができる。
【実施例2】
【0064】
続いて、本発明の実施例2について図8、図9に基づいて説明する。なお、実施例1と同じ機能・構成となるものについては、同一の符号を付すこととし、詳細な説明は省略する。
実施例2は、実施例1で説明した図2の手順5を、異なる方法で実現したものである。
【0065】
すなわち、実施例2では、手順5に代えて、最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離riの変化率が大きく変化する境界∂Ω上の2点lb1、lb2を算出するとともに、手順8では、この2点lb1およびlb2の中点を平面的指根元座標qとする方法をとっている。
【0066】
すなわち、図8をもとに説明すると、境界∂Ω上の各要素liについての重心点Gからの距離rは、指先を示すi=tを頂点として、ほぼ一定の変化率で増加あるいは減少する傾向が表れる。これは、操作者の示す指がほぼまっすぐになっていることによるものである。したがって、その部分を2本の直線81、82で近似して、その2本の直線81、82と距離rを表す曲線が離れた点83、84を変曲点lb1、lb2とする方法が考えられる。
【0067】
このように、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離の変化率が大きく変化する境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【0068】
また、手順5に代わるもう一つの方法として、最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gからの距離riが一定値となる境界∂Ω上の2点lb1、lb2を算出するとともに、手順8では、この2点lb1およびlb2の中点を平面的指根元座標qとする方法をとってもよい。
【0069】
すなわち、図9をもとに説明すると、境界∂Ω上の各要素liについての重心点Gからの距離rは指先を示すi=tで最大値となることから、指先からの距離が
【0070】
【数6】

【0071】
となる2点91、92を中点lb1、lb2とする方法が考えられる。また、重心点Gからの距離が一定値となる境界∂Ω上の2点をlb1、lb2とすることに代えて、最遠点ltからの距離が一定値となる境界∂Ω上の2点をlb1、lb2として定めるようにしてもよい。
【0072】
このように、境界∂Ω上の最遠点ltから境界∂Ω上を2つの方向で走査して、それぞれの方向に対して重心点Gまたは最遠点ltからの距離が一定値となる境界∂Ω上の2点lb1、lb2を算出し、2点lb1およびlb2の中点を平面的指根元座標qとして推定するため、前述した効果に加え、より高速・高精度で立体的指根元座標Qや指方向直線を推定することができる。
【実施例3】
【0073】
続いて、本発明の実施例3について説明する。なお、実施例1や実施例2と同じ機能・構成となるものについては、同一の符号を付すこととし、詳細な説明は省略する。
実施例3は、実施例1で説明した指方向直線の算出を、異なる方法で実現したものである。
【0074】
すなわち、立体的指方向推定処理手順153は、カメラ2aに対応した平面的指先座標pと、カメラ2aに対応した平面的指根元座標qと、カメラ2aの撮影位置の3点を通る第1の平面を算出し、カメラ2bに対応した平面的指先座標pと、カメラ2bに対応した平面的指根元座標qと、カメラ2bの撮影位置の3点を通る第2の平面を算出し、その2平面が交わる直線を指方向直線として算出するものである。
【0075】
図7でいえば、カメラ2aの座標(0,0,0)、平面的指先座標pa=(xpa,ypa,f)、平面的指根元座標qa=(xqa,yqa,f)の三点を通る平面が第1の平面となり、カメラ2bの座標(d,0,0)、平面的指先座標pb=(xpb,ypb,f)、平面的指根元座標qb=(xqb,yqb,f)の三点を通る平面が第2の平面となる。
【0076】
このような構成とすることで、ステレオカメラにより撮影した2つの画像から、それぞれ、操作者の指先の位置pおよび指の根元の位置qを平面的に検出して、それぞれのカメラに対応するカメラ位置、操作者の指先の位置p、指の根元の位置qの3点を通る平面を求めて、2つの平面が交わってできる直線を操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Zが算出されるため、前述した効果に加え、第1のカメラから推定した根元の位置qと、第2のカメラから推定した根元の位置qが、実際の指の根元の位置と実質的に異なる位置だったとしても、指方向直線が、指の方向と同じ直線をそれぞれ含んだ二つの平面から求められているため、根元の位置qaとqbの誤差による影響を受けずに、操作者の指方向が正確に認識される。
【産業上の利用可能性】
【0077】
本発明は、パーソナルコンピュータなどでマウスに変わるポインティングデバイスとして利用でき、高度な衛生環境で使用することができるほか、カーナビシステムやゲーム機などといった非接触型のポインティングデバイスに応用することができる。
【図面の簡単な説明】
【0078】
【図1】実施例1にかかる情報処理装置の構成を示す説明図
【図2】画像内指位置推定処理手順の処理の流れを示すフローチャート
【図3】画像情報を二値化処理した結果を示す説明図
【図4】画像情報から手領域Ωの境界部分∂Ωを抽出する方法を示す説明図
【図5】画像情報から境界部分∂Ωを抽出した結果を示す説明図
【図6】境界∂Ω上の各点と手の重心点Gとの距離を示す説明図
【図7】ステレオ視により操作者の指の立体的な位置を算出する方法を示す説明図
【図8】平面的指根元座標を算出するために用いられる変曲点抽出方法を示す説明図
【図9】平面的指根元座標を算出するために用いられる中点抽出方法を示す説明図
【符号の説明】
【0079】
1 情報処理装置
2a,2b カメラ
3 ディスプレイ
11 キャプチャーカード
12 グラフィックカード
13 CPU
14 クロック
15 プログラム記憶領域
16 状態変数記憶領域
30 手領域Ω
50 境界∂Ω
71a,71b 画像情報
72a,72b 境界∂Ω
73 操作者の手
81,82 直線
83,84 変曲点
91,92 中点
151 画像情報取得処理手順
152 画像内位置推定処理手順
153 立体的指方向推定処理手順
154 指示位置決定処理手順
161a,161b 画像情報
162a,162b 平面的指先座標
163a,163b 平面的指根元座標
164 指方向直線
165 操作者指示点

【特許請求の範囲】
【請求項1】
空間上にある操作者の手を撮影する複数台の撮影装置2と接続され、
前記撮影装置2により撮影された画像情報をそれぞれ取得する画像情報取得処理部と、
前記画像情報のそれぞれについて、前記操作者の平面的指先座標pおよび前記操作者の平面的指根元座標qを算出する画像内指位置推定処理部と、
前記画像情報にそれぞれ対応した前記平面的指先座標pおよび前記平面的指根元座標qから、前記操作者の立体的指先座標Pおよび前記操作者の立体的指根元座標Qを通る指方向直線を算出する立体的指方向推定処理部と、
前記指方向直線から、前記操作者が指示する操作者指示点Zを算出する指示位置決定処理部と、
を備えた情報処理装置。
【請求項2】
空間上にある操作者の手を撮影する第1および第2の撮影装置2a、2bと接続され、
前記画像情報取得処理部は、前記第1および第2の撮影装置2a,2bにより撮影された画像情報をそれぞれ取得し、
前記立体的指方向推定処理部は、第1の撮影装置2aに対応した前記平面的指先座標pと、前記第1の撮影装置2aに対応した前記平面的指根元座標qと、前記第1の撮影装置2aの撮影位置の3点を通る第1の平面を算出し、前記第2の撮影装置2bに対応した前記平面的指先座標pと、前記第2の撮影装置2bに対応した前記平面的指根元座標qと、前記第2の撮影装置2bの撮影位置の3点を通る第2の平面を算出し、その2平面が交わる直線を指方向直線として算出する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Gを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltを前記平面的指先座標pとする
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Gを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離が極小または最小となる前記境界∂Ω上の2点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標pとし、
前記2点lb1およびlb2の中点を前記平面的指根元座標qとする
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
【請求項5】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Gを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離の変化率が大きく変化する前記境界∂Ω上の2点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標pとし、
前記2点lb1およびlb2の中点を前記平面的指根元座標qとする
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
【請求項6】
前記画像内指位置推定処理部は、
前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点lb1、lb2を算出し、
前記2点lb1およびlb2の中点を前記平面的指根元座標qとする
ことを特徴とする請求項3に記載の情報処理装置。
【請求項7】
前記画像内指位置推定処理部は、
前記境界∂Ω上の2点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点をlb1、lb2として算出する
ことを特徴とする請求項4または請求項5に記載の情報処理装置。
【請求項8】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出する
ことを特徴とする請求項3ないし請求項7のいずれかに記載の情報処理装置。
【請求項9】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出する
ことを特徴とする請求項3ないし請求項8のいずれかに記載の情報処理装置。
【請求項10】
さらに、前記指示位置決定処理部で出力された前記操作者指示点Zを画面表示するディスプレイ3と接続され、
前記指示位置決定処理部は、
前記指方向直線と、前記ディスプレイ3の表示画面との交点を前記操作者指示点Zの位置として、その位置信号を前記ディスプレイ3に画面表示させる
ことを特徴とする請求項1ないし請求項9のいずれかに記載の情報処理装置。
【請求項11】
前記指示位置決定処理部は、
前記立体的指先座標Pと前記表示画面との距離が一定値以下となったときに、クリック信号を出力する
ことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
空間上にある操作者の手を撮影する複数台の撮影装置2と接続され、
前記撮影装置2からの画像信号を受信するキャプチャーカード11と、
状態変数記憶領域16と、
を備えた情報処理装置で使用され、
前記キャプチャーカード11から前記撮影装置2により撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域16に記憶させる画像情報取得処理手順151と、
前記状態変数記憶領域16から前記画像情報をそれぞれ読み込んで、前記操作者の平面的指先座標pおよび前記操作者の平面的指根元座標qを算出して前記状態変数記憶領域16に記憶させる画像内指位置推定処理手順152と、
前記状態変数記憶領域16から前記画像情報にそれぞれ対応した前記平面的指先座標pおよび前記平面的指根元座標qを読み込んで、前記操作者の立体的指先座標Pおよび前記操作者の立体的指根元座標Qを通る指方向直線を算出して前記状態変数記憶領域16に記憶させる立体的指方向推定処理手順153と、
前記状態変数記憶領域16から前記指方向直線を読み込んで、前記操作者が指示する操作者指示点Zを算出して前記状態変数記憶領域16に記憶させる指示位置決定処理手順154と、
を備えた情報処理装置用操作者指示点算出プログラム。
【請求項13】
空間上にある操作者の手を撮影する第1および第2の撮影装置2a、2bと接続され、
前記キャプチャーカード11は前記第1および第2の撮影装置2a,2bからの画像信号をそれぞれ受信し、
前記画像情報取得処理手順151は、前記キャプチャーカード11から第1および第2の撮影装置2a、2bにより撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域16に記憶し、
前記立体的指方向推定処理手順153は、前記状態変数記憶領域16から前記画像情報にそれぞれ対応した前記平面的指先座標pおよび前記平面的指根元座標qを読み込んで、前記第1の撮影装置2aに対応した前記平面的指先座標pと、前記第1の撮影装置2aに対応した前記平面的指根元座標qと、前記第1の撮影装置2aの撮影位置の3点を通る第1の平面を算出し、前記第2の撮影装置2bに対応した前記平面的指先座標pと、前記第2の撮影装置2bに対応した前記平面的指根元座標qと、前記第2の撮影装置2bの撮影位置の3点を通る第2の平面を算出し、その2平面が交わる直線を指方向直線として算出して前記状態変数記憶領域16に記憶する
各手順を含むことを特徴とする請求項12に記載の情報処理装置用操作者指示点算出プログラム。
【請求項14】
前記画像内指位置推定処理手順152は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Gを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltを前記平面的指先座標pとする
各手順を含むことを特徴とする請求項12または請求項13に記載の情報処理装置用操作者指示点算出プログラム。
【請求項15】
前記画像内指位置推定処理手順152は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Gを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離が極小または最小となる前記境界∂Ω上の2点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標pとし、
前記2点lb1およびlb2の中点を前記平面的指根元座標qとする
各手順を含むことを特徴とする請求項12または請求項13に記載の情報処理装置用操作者指示点算出プログラム。
【請求項16】
前記画像内指位置推定処理手順152は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Gを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Gからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gからの距離の変化率が大きく変化する前記境界∂Ω上の2点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標pとし、
前記2点lb1およびlb2の中点を前記平面的指根元座標qとする
各手順を含むことを特徴とする請求項12または請求項13に記載の情報処理装置用操作者指示点算出プログラム。
【請求項17】
前記画像内指位置推定処理手順152は、
前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点lb1、lb2を算出し、
前記2点lb1およびlb2の中点を前記平面的指根元座標qとする
手順を含むことを特徴とする請求項14に記載の情報処理装置用操作者指示点算出プログラム。
【請求項18】
前記画像内指位置推定処理手順152は、
前記境界∂Ω上の2点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を2つの方向で走査して、それぞれの方向に対して前記重心点Gまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の2点をlb1、lb2として算出する
手順を含むことを特徴とする請求項15または請求項16に記載の情報処理装置用操作者指示点算出プログラム。
【請求項19】
前記画像内指位置推定処理手順152は、
前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出する
手順を含むことを特徴とする請求項14ないし請求項18のいずれかに記載の情報処理装置用操作者指示点算出プログラム。
【請求項20】
前記画像内指位置推定処理手順152は、
前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出する
手順を含むことを特徴とする請求項14ないし請求項19のいずれかに記載の情報処理装置用操作者指示点算出プログラム。
【請求項21】
さらに、前記操作者指示点Zを画面表示するディスプレイ3と接続され、
前記ディスプレイ3へ画像信号を出力するグラフィックカード12と、
を備えた情報処理装置で使用され、
前記指示位置決定処理手順154はさらに、
前記指方向直線と、前記ディスプレイ3の表示画面との交点を前記操作者指示点Zの位置として、その位置信号を前記グラフィックカード12に出力する
手順を含むことを特徴とする請求項12ないし請求項20のいずれかに記載の情報処理装置用操作者指示点算出プログラム。
【請求項22】
前記指示位置決定処理手順154はさらに、
前記立体的指先座標Pと前記表示画面との距離が一定値以下となったときに、クリック信号を出力する
手順を含むことを特徴とする請求項21に記載の情報処理装置用操作者指示点算出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−151516(P2009−151516A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−328302(P2007−328302)
【出願日】平成19年12月20日(2007.12.20)
【出願人】(399076312)安川情報システム株式会社 (77)
【Fターム(参考)】