(57)【要約】【課題】  操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスを提供する。【解決手段】  情報処理装置１は、空間上にある操作者の手を撮影する複数台の撮影装置２と接続され、撮影装置２により撮影された画像情報をそれぞれ取得する画像情報取得処理部と、操作者の平面的指先座標ｐおよび平面的指根元座標ｑを算出する画像内指位置推定処理部と、平面的指先座標ｐおよび平面的指根元座標ｑから、操作者の指方向直線を算出する立体的指方向推定処理部と、指方向直線から操作者が指示する操作者指示点を算出する指示位置決定処理部を備える。【選択図】図１
2009151516.tif 000002
【特許請求の範囲】
【請求項１】
空間上にある操作者の手を撮影する複数台の撮影装置２と接続され、
前記撮影装置２により撮影された画像情報をそれぞれ取得する画像情報取得処理部と、
前記画像情報のそれぞれについて、前記操作者の平面的指先座標ｐおよび前記操作者の平面的指根元座標ｑを算出する画像内指位置推定処理部と、
前記画像情報にそれぞれ対応した前記平面的指先座標ｐおよび前記平面的指根元座標ｑから、前記操作者の立体的指先座標Ｐおよび前記操作者の立体的指根元座標Ｑを通る指方向直線を算出する立体的指方向推定処理部と、
前記指方向直線から、前記操作者が指示する操作者指示点Ｚを算出する指示位置決定処理部と、
を備えた情報処理装置。
【請求項２】
空間上にある操作者の手を撮影する第１および第２の撮影装置２ａ、２ｂと接続され、
前記画像情報取得処理部は、前記第１および第２の撮影装置２ａ，２ｂにより撮影された画像情報をそれぞれ取得し、
前記立体的指方向推定処理部は、第１の撮影装置２ａに対応した前記平面的指先座標ｐと、前記第１の撮影装置２ａに対応した前記平面的指根元座標ｑと、前記第１の撮影装置２ａの撮影位置の３点を通る第１の平面を算出し、前記第２の撮影装置２ｂに対応した前記平面的指先座標ｐと、前記第２の撮影装置２ｂに対応した前記平面的指根元座標ｑと、前記第２の撮影装置２ｂの撮影位置の３点を通る第２の平面を算出し、その２平面が交わる直線を指方向直線として算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Ｇを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltを前記平面的指先座標ｐとする
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Ｇを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離が極小または最小となる前記境界∂Ω上の２点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標ｐとし、
前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項５】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Ｇを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離の変化率が大きく変化する前記境界∂Ω上の２点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標ｐとし、
前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項６】
前記画像内指位置推定処理部は、
前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点lb1、lb2を算出し、
前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする
ことを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記画像内指位置推定処理部は、
前記境界∂Ω上の２点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点をlb1、lb2として算出する
ことを特徴とする請求項４または請求項５に記載の情報処理装置。
【請求項８】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出する
ことを特徴とする請求項３ないし請求項７のいずれかに記載の情報処理装置。
【請求項９】
前記画像内指位置推定処理部は、
前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出する
ことを特徴とする請求項３ないし請求項８のいずれかに記載の情報処理装置。
【請求項１０】
さらに、前記指示位置決定処理部で出力された前記操作者指示点Ｚを画面表示するディスプレイ３と接続され、
前記指示位置決定処理部は、
前記指方向直線と、前記ディスプレイ３の表示画面との交点を前記操作者指示点Ｚの位置として、その位置信号を前記ディスプレイ３に画面表示させる
ことを特徴とする請求項１ないし請求項９のいずれかに記載の情報処理装置。
【請求項１１】
前記指示位置決定処理部は、
前記立体的指先座標Ｐと前記表示画面との距離が一定値以下となったときに、クリック信号を出力する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
空間上にある操作者の手を撮影する複数台の撮影装置２と接続され、
前記撮影装置２からの画像信号を受信するキャプチャーカード１１と、
状態変数記憶領域１６と、
を備えた情報処理装置で使用され、
前記キャプチャーカード１１から前記撮影装置２により撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域１６に記憶させる画像情報取得処理手順１５１と、
前記状態変数記憶領域１６から前記画像情報をそれぞれ読み込んで、前記操作者の平面的指先座標ｐおよび前記操作者の平面的指根元座標ｑを算出して前記状態変数記憶領域１６に記憶させる画像内指位置推定処理手順１５２と、
前記状態変数記憶領域１６から前記画像情報にそれぞれ対応した前記平面的指先座標ｐおよび前記平面的指根元座標ｑを読み込んで、前記操作者の立体的指先座標Ｐおよび前記操作者の立体的指根元座標Ｑを通る指方向直線を算出して前記状態変数記憶領域１６に記憶させる立体的指方向推定処理手順１５３と、
前記状態変数記憶領域１６から前記指方向直線を読み込んで、前記操作者が指示する操作者指示点Ｚを算出して前記状態変数記憶領域１６に記憶させる指示位置決定処理手順１５４と、
を備えた情報処理装置用操作者指示点算出プログラム。
【請求項１３】
空間上にある操作者の手を撮影する第１および第２の撮影装置２ａ、２ｂと接続され、
前記キャプチャーカード１１は前記第１および第２の撮影装置２ａ，２ｂからの画像信号をそれぞれ受信し、
前記画像情報取得処理手順１５１は、前記キャプチャーカード１１から第１および第２の撮影装置２ａ、２ｂにより撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域１６に記憶し、
前記立体的指方向推定処理手順１５３は、前記状態変数記憶領域１６から前記画像情報にそれぞれ対応した前記平面的指先座標ｐおよび前記平面的指根元座標ｑを読み込んで、前記第１の撮影装置２ａに対応した前記平面的指先座標ｐと、前記第１の撮影装置２ａに対応した前記平面的指根元座標ｑと、前記第１の撮影装置２ａの撮影位置の３点を通る第１の平面を算出し、前記第２の撮影装置２ｂに対応した前記平面的指先座標ｐと、前記第２の撮影装置２ｂに対応した前記平面的指根元座標ｑと、前記第２の撮影装置２ｂの撮影位置の３点を通る第２の平面を算出し、その２平面が交わる直線を指方向直線として算出して前記状態変数記憶領域１６に記憶する
各手順を含むことを特徴とする請求項１２に記載の情報処理装置用操作者指示点算出プログラム。
【請求項１４】
前記画像内指位置推定処理手順１５２は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Ｇを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltを前記平面的指先座標ｐとする
各手順を含むことを特徴とする請求項１２または請求項１３に記載の情報処理装置用操作者指示点算出プログラム。
【請求項１５】
前記画像内指位置推定処理手順１５２は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Ｇを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離が極小または最小となる前記境界∂Ω上の２点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標ｐとし、
前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする
各手順を含むことを特徴とする請求項１２または請求項１３に記載の情報処理装置用操作者指示点算出プログラム。
【請求項１６】
前記画像内指位置推定処理手順１５２は、
前記画像情報のそれぞれについて、
前記操作者の手の領域Ωを抽出し、
前記手領域Ωの重心点Ｇを算出し、
前記手領域Ωの境界∂Ωを抽出し、
前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、
前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離の変化率が大きく変化する前記境界∂Ω上の２点lb1、lb2を算出し、
前記最遠点ltを前記平面的指先座標ｐとし、
前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする
各手順を含むことを特徴とする請求項１２または請求項１３に記載の情報処理装置用操作者指示点算出プログラム。
【請求項１７】
前記画像内指位置推定処理手順１５２は、
前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点lb1、lb2を算出し、
前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする
手順を含むことを特徴とする請求項１４に記載の情報処理装置用操作者指示点算出プログラム。
【請求項１８】
前記画像内指位置推定処理手順１５２は、
前記境界∂Ω上の２点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点をlb1、lb2として算出する
手順を含むことを特徴とする請求項１５または請求項１６に記載の情報処理装置用操作者指示点算出プログラム。
【請求項１９】
前記画像内指位置推定処理手順１５２は、
前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出する
手順を含むことを特徴とする請求項１４ないし請求項１８のいずれかに記載の情報処理装置用操作者指示点算出プログラム。
【請求項２０】
前記画像内指位置推定処理手順１５２は、
前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出する
手順を含むことを特徴とする請求項１４ないし請求項１９のいずれかに記載の情報処理装置用操作者指示点算出プログラム。
【請求項２１】
さらに、前記操作者指示点Ｚを画面表示するディスプレイ３と接続され、
前記ディスプレイ３へ画像信号を出力するグラフィックカード１２と、
を備えた情報処理装置で使用され、
前記指示位置決定処理手順１５４はさらに、
前記指方向直線と、前記ディスプレイ３の表示画面との交点を前記操作者指示点Ｚの位置として、その位置信号を前記グラフィックカード１２に出力する
手順を含むことを特徴とする請求項１２ないし請求項２０のいずれかに記載の情報処理装置用操作者指示点算出プログラム。
【請求項２２】
前記指示位置決定処理手順１５４はさらに、
前記立体的指先座標Ｐと前記表示画面との距離が一定値以下となったときに、クリック信号を出力する
手順を含むことを特徴とする請求項２１に記載の情報処理装置用操作者指示点算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人間(操作者)の指先の形状をもとに、その指先が指し示す方向を解析し、その指し示す先にある指示対象の位置を特定し、特定された位置の位置情報入力を指示する情報処理装置および情報処理装置用操作者指示点算出プログラムに関する。
【背景技術】
【０００２】
食品工場、半導体製造プラント、医療現場などでは、高度な衛生環境が求められるが、そういった環境の中においても、さまざまな情報処理装置が利用されるようになってきた。こういった高度な衛生環境下では、情報処理装置への入力として、キーボードやマウスなどといった従来の接触型の入力装置に代えて、非接触型の入力装置を用いることが可能であり、そのための関連技術が開示されている。
【０００３】
特許文献１では、情報入力を行うにあたって、あらかじめ、複数の既知の指示目標物体に対し順次指示動作を行い、そのときの指示方向を表わす直線が１点に交差する定点を求めて基準点を求める。そして、指示目標物体に最も近い位置にある指示動作物体の部分の座標を指示動作物体の座標位置（先端点）として定め、基準点と先端点から決定される直線上に指示目標物体の決定を行ない、指示目標物体に対して命令動作を与える情報入力方法に関する技術が開示されている。
【０００４】
【特許文献１】特許第３１１４８１３号公報（明細書０００６〜０００７項、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１で開示された技術によれば、情報入力を行うにあたって、あらかじめ、複数の既知の指示目標物体に対し順次指示動作を行い、指示方向を表わす直線が１点に交差する定点を求めて、そこを基準点としており、操作者はその基準点が空間上のどこに存在しているかを意識しあるいは把握することが困難である。その結果、操作者が微細な位置調整を行おうとして、手首や指先を動かしたとしても、操作者の意識していない向きで指示方向が認識されてしまうといった問題がある。
また、基準点が求まった後で、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合には、新たな基準点を求めなければならず、仮に、新たな基準点を求めないまま位置入力を行った場合には、操作者の意識していない向きで指示方向が認識されてしまうといった問題がある。
【０００６】
さらに、こういった非接触型の情報入力方法では、操作者が位置を指示するにあたって、指先の方向しか意識していないことが多い。すなわち、操作者がディスプレイに表示されたマウスポインタの位置を僅かに変化させたいといった場合には、手首の位置をそのままにして、指先だけを回転させながら、指示しようとする位置を調整することになり、操作者が意識している真の基準点は指の根元(指の付け根部分)に位置しているということになる。
しかし、特許文献１で開示された技術によれば、複数の既知の指示目標物体に対し順次指示動作を行い、指示方向を表わす直線が１点に交差する定点を基準点として与えているため、このような要請が満たされていないといった問題がある。
【０００７】
そこで、本発明では、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスを備えた情報処理装置および情報処理装置用操作者指示点算出プログラムを提供する。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、第１の発明にかかる情報処理装置は、空間上にある操作者の手を撮影する複数台の撮影装置２と接続され、前記撮影装置２により撮影された画像情報をそれぞれ取得する画像情報取得処理部と、前記画像情報のそれぞれについて、前記操作者の平面的指先座標ｐおよび前記操作者の平面的指根元座標ｑを算出する画像内指位置推定処理部と、前記画像情報にそれぞれ対応した前記平面的指先座標ｐおよび前記平面的指根元座標ｑから、前記操作者の立体的指先座標Ｐおよび前記操作者の立体的指根元座標Ｑを通る指方向直線を算出する立体的指方向推定処理部と、前記指方向直線から、前記操作者が指示する操作者指示点Ｚを算出する指示位置決定処理部と、を備えたことを特徴とする。
また、第１２の発明にかかる情報処理装置用操作者教示点算出プログラムは、空間上にある操作者の手を撮影する複数台の撮影装置２と接続され、前記撮影装置２からの画像信号を受信するキャプチャーカード１１と、状態変数記憶領域１６と、を備えた情報処理装置で使用され、前記キャプチャーカード１１から前記撮影装置２により撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域１６に記憶させる画像情報取得処理手順１５１と、前記状態変数記憶領域１６から前記画像情報をそれぞれ読み込んで、前記操作者の平面的指先座標ｐおよび前記操作者の平面的指根元座標ｑを算出して前記状態変数記憶領域１６に記憶させる画像内指位置推定処理手順１５２と、前記状態変数記憶領域１６から前記画像情報にそれぞれ対応した前記平面的指先座標ｐおよび前記平面的指根元座標ｑを読み込んで、前記操作者の立体的指先座標Ｐおよび前記操作者の立体的指根元座標Ｑを通る指方向直線を算出して前記状態変数記憶領域１６に記憶させる立体的指方向推定処理手順１５３と、前記状態変数記憶領域１６から前記指方向直線を読み込んで、前記操作者が指示する操作者指示点Ｚを算出して前記状態変数記憶領域１６に記憶させる指示位置決定処理手順１５４と、を備えたことを特徴とする。
【０００９】
また、第２の発明にかかる情報処理装置は、第１の発明の構成に加え、空間上にある操作者の手を撮影する第１および第２の撮影装置２ａ、２ｂと接続され、前記画像情報取得処理部は、前記第１および第２の撮影装置２ａ，２ｂにより撮影された画像情報をそれぞれ取得し、前記立体的指方向推定処理部は、第１の撮影装置２ａに対応した前記平面的指先座標ｐと、前記第１の撮影装置２ａに対応した前記平面的指根元座標ｑと、前記第１の撮影装置２ａの撮影位置の３点を通る第１の平面を算出し、前記第２の撮影装置２ｂに対応した前記平面的指先座標ｐと、前記第２の撮影装置２ｂに対応した前記平面的指根元座標ｑと、前記第２の撮影装置２ｂの撮影位置の３点を通る第２の平面を算出し、その２平面が交わる直線を指方向直線として算出することを特徴とする。
また、第１３の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１２の発明の構成に加え、空間上にある操作者の手を撮影する第１および第２の撮影装置２ａ、２ｂと接続され、前記キャプチャーカード１１は前記第１および第２の撮影装置２ａ，２ｂからの画像信号をそれぞれ受信し、前記画像情報取得処理手順１５１は、前記キャプチャーカード１１から第１および第２の撮影装置２ａ、２ｂにより撮影された画像情報をそれぞれ取り込んで前記状態変数記憶領域１６に記憶し、前記立体的指方向推定処理手順１５３は、前記状態変数記憶領域１６から前記画像情報にそれぞれ対応した前記平面的指先座標ｐおよび前記平面的指根元座標ｑを読み込んで、前記第１の撮影装置２ａに対応した前記平面的指先座標ｐと、前記第１の撮影装置２ａに対応した前記平面的指根元座標ｑと、前記第１の撮影装置２ａの撮影位置の３点を通る第１の平面を算出し、前記第２の撮影装置２ｂに対応した前記平面的指先座標ｐと、前記第２の撮影装置２ｂに対応した前記平面的指根元座標ｑと、前記第２の撮影装置２ｂの撮影位置の３点を通る第２の平面を算出し、その２平面が交わる直線を指方向直線として算出して前記状態変数記憶領域１６に記憶する各手順を含むことを特徴とする。
【００１０】
また、第３の発明にかかる情報処理装置は、第１または第２の発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Ｇを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、前記最遠点ltを前記平面的指先座標ｐとすることを特徴とする。
また、第１４の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１２または第１３の発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Ｇを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、前記最遠点ltを前記平面的指先座標ｐとする各手順を含むことを特徴とする。
【００１１】
また、第４の発明にかかる情報処理装置は、第１または第２の発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Ｇを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離が極小または最小となる前記境界∂Ω上の２点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標ｐとし、前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとすることを特徴とする。
また、第１５の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１２または第１３の発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Ｇを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離が極小または最小となる前記境界∂Ω上の２点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標ｐとし、前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする各手順を含むことを特徴とする。
【００１２】
また、第５の発明にかかる情報処理装置は、第１または第２の発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Ｇを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離の変化率が大きく変化する前記境界∂Ω上の２点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標ｐとし、前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとすることを特徴とする。
また、第１６の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１２または第１３の発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記画像情報のそれぞれについて、前記操作者の手の領域Ωを抽出し、前記手領域Ωの重心点Ｇを算出し、前記手領域Ωの境界∂Ωを抽出し、前記境界∂Ω上で前記重心点Ｇからの距離が最遠となる最遠点ltを算出し、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇからの距離の変化率が大きく変化する前記境界∂Ω上の２点lb1、lb2を算出し、前記最遠点ltを前記平面的指先座標ｐとし、前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする各手順を含むことを特徴とする。
【００１３】
また、第６の発明にかかる情報処理装置は、第３の発明の構成に加え、前記画像内指位置推定処理部は、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点lb1、lb2を算出し、前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとすることを特徴とする。
また、第１７の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１４の発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点lb1、lb2を算出し、前記２点lb1およびlb2の中点を前記平面的指根元座標ｑとする手順を含むことを特徴とする。
【００１４】
また、第７の発明にかかる情報処理装置は、第４または第５の発明の構成に加え、前記画像内指位置推定処理部は、前記境界∂Ω上の２点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点をlb1、lb2として算出することを特徴とする。
また、第１８の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１５または第１６の発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記境界∂Ω上の２点lb1、lb2が見つからなかった時に、前記最遠点ltから前記境界∂Ω上を２つの方向で走査して、それぞれの方向に対して前記重心点Ｇまたは前記最遠点ltからの距離が一定値となる前記境界∂Ω上の２点をlb1、lb2として算出する手順を含むことを特徴とする。
【００１５】
また、第８の発明にかかる情報処理装置は、第３ないし第７のいずれかの発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出することを特徴とする。
また、第１９の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１４ないし第１８のいずれかの発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記画像情報のそれぞれについて、画像の平滑化・ノイズ除去・鮮明化等の前処理を行った後で前記操作者の手の領域Ωを抽出する手順を含むことを特徴とする。
【００１６】
また、第９の発明にかかる情報処理装置は、第３ないし第８のいずれかの発明の構成に加え、前記画像内指位置推定処理部は、前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出することを特徴とする。
また、第２０の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１４ないし第１９のいずれかの発明の構成に加え、前記画像内指位置推定処理手順１５２は、前記画像情報のそれぞれについて、二値化画像データに変換する処理を行った後で前記操作者の手の領域Ωを抽出する手順を含むことを特徴とする。
【００１７】
また、第１０の発明にかかる情報処理装置は、第１ないし第９のいずれかの発明の構成に加え、さらに、前記指示位置決定処理部で出力された前記操作者指示点Ｚを画面表示するディスプレイ３と接続され、前記指示位置決定処理部は、前記指方向直線と、前記ディスプレイ３の表示画面との交点を前記操作者指示点Ｚの位置として、その位置信号を前記ディスプレイ３に画面表示させることを特徴とする。
また、第２１の発明にかかる情報処理装置用操作者教示点算出プログラムは、第１２ないし第２０のいずれかの発明の構成に加え、さらに、前記操作者指示点Ｚを画面表示するディスプレイ３と接続され、前記ディスプレイ３へ画像信号を出力するグラフィックカード１２と、を備えた情報処理装置で使用され、前記指示位置決定処理手順１５４はさらに、前記指方向直線と、前記ディスプレイ３の表示画面との交点を前記操作者指示点Ｚの位置として、その位置信号を前記グラフィックカード１２に出力する手順を含むことを特徴とする。
【００１８】
また、第１１の発明にかかる情報処理装置は、第１０の発明の構成に加え、前記指示位置決定処理部は、前記立体的指先座標Ｐと前記表示画面との距離が一定値以下となったときに、クリック信号を出力することを特徴とする。
また、第２２の発明にかかる情報処理装置用操作者教示点算出プログラムは、第２１の発明の構成に加え、前記指示位置決定処理手順１５４はさらに、前記立体的指先座標Ｐと前記表示画面との距離が一定値以下となったときに、クリック信号を出力する手順を含むことを特徴とする。
【発明の効果】
【００１９】
第１の発明にかかる情報処理装置、または、第１２の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、ステレオカメラにより撮影した複数の画像から、それぞれ、操作者の指先の位置ｐおよび指の根元の位置ｑを平面的に検出して、視差を含んだ画像の位置情報を用いて操作者の指先の位置Ｐおよび指の根元の位置Ｑを立体的に認識させ、２点Ｐ、Ｑを通る直線を指方向直線として操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Ｚが算出されるため、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【００２０】
第２の発明にかかる情報処理装置、または、第１３の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、ステレオカメラにより撮影した２つの画像から、それぞれ、操作者の指先の位置ｐおよび指の根元の位置ｑを平面的に検出して、それぞれのカメラに対応するカメラ位置、操作者の指先の位置ｐ、指の根元の位置ｑの３点を通る平面を求めて、２つの平面が交わってできる直線を操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Ｚが算出されるため、前述した効果に加え、第１のカメラから推定した根元の位置ｑと、第２のカメラから推定した根元の位置ｑが、実際の指の根元の位置と実質的に異なる位置だったとしても、指方向直線が二つの平面から求められているため、その誤差による影響を受けずに、操作者の指方向が正確に認識される。
【００２１】
また、第３の発明にかかる情報処理装置、または、第１４の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、手領域Ωの重心点Ｇからの距離が最も遠くなる境界∂Ω上の点ltを操作者の指先の位置ｐとして推定するため、前述した効果に加え、高速・高精度で立体的指先位置Ｐや指方向直線を推定することができる。
【００２２】
また、第４の発明にかかる情報処理装置、または、第１５の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離が極小または最小となる境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【００２３】
また、第５の発明にかかる情報処理装置、または、第１６の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離の変化率が大きく変化する境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【００２４】
また、第６、第７の発明にかかる情報処理装置、または、第１７、第１８の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇまたは最遠点ltからの距離が一定値となる境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、より高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【００２５】
また、第８の発明にかかる情報処理装置、または、第１９の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、領域Ωを抽出する前に、画像の平滑化・ノイズ除去・鮮明化等の前処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Ｐおよび立体的指根元座標Ｑや指方向直線を推定することができる。
【００２６】
また、第９の発明にかかる情報処理装置、または、第２０の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、領域Ωを抽出する前に、画像の二値化処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Ｐおよび立体的指根元座標Ｑや指方向直線を推定することができる。
【００２７】
また、第１０の発明にかかる情報処理装置、または、第２１の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、指方向直線と、ディスプレイ３の表示画面との交点を、操作者指示点Ｚとし、この点をディスプレイ３に表示させるので、前述した効果に加え、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、ディスプレイ上で微細な位置調整を行うことができる。また、操作者が指先の方向だけを意識して、指示しようとしているディスプレイ上の位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【００２８】
また、第１１の発明にかかる情報処理装置、または、第２２の発明にかかる情報処理装置用操作者教示点算出プログラムによれば、立体的指先座標Ｐとディスプレイの表示面との距離が一定値以下となったときに、クリック信号を出力するため、前述した効果に加え、指先をディスプレイの表示面に近づけるだけで、クリック動作を指示することができる。
【発明を実施するための最良の形態】
【００２９】
本発明の実施形態を実施例１ないし実施例３にて説明する。
【実施例１】
【００３０】
実施例１を図１〜図７に基づいて説明する。
図１は、実施例１にかかる情報処理装置の構成を示す説明図である。情報処理装置１は、空間上にある操作者の手を撮影する２台のカメラ２ａ、２ｂと接続され、ディスプレイ３とも接続されている。カメラ２ａ、２ｂは、ステレオカメラであり、対象物を複数の異なる方向から同時に撮影することにより、その奥行き方向の情報も記録できるように配置されている。
情報処理装置１はその内部に、カメラ２ａ、２ｂで撮影された画像を取り込むキャプチャーカード１１と、ディスプレイ３に画像信号を出力するグラフィックカード１２と、ＣＰＵ(中央演算処理装置)１３と、クロック１４と、プロクラム記憶領域１５と、状態変数記憶領域１６を備える。プログラム記憶領域１５には、ハードディスクやメモリなどといった記憶装置が用いられ、状態変数記憶領域１６には、メモリなどといった記憶装置に確保された記憶領域を用いることが一般的と思われるが、必ずしもこのような記憶媒体でなければならないというわけではない。
情報処理装置１は、市販されているパーソナルコンピュータ等に、キャプチャーカード１１を装着し、プログラム記憶領域１５に各処理手順１５１〜１５５が記述されたプログラムをインストールすれば実現できるようになっている。
【００３１】
プログラム記憶領域１５には、キャプチャーカード１１からカメラ２ａ、２ｂにより撮影された画像情報を取り込んで状態変数記憶領域１６に記憶させる画像情報取得処理手順１５１と、状態変数記憶領域１６から画像情報をそれぞれ読み込んで、操作者の平面的指先座標ｐおよび操作者の平面的指根元座標ｑを算出して状態変数記憶領域１６に記憶させる画像内指位置推定処理手順１５２と、状態変数記憶領域１６から画像情報にそれぞれ対応した平面的指先座標ｐおよび平面的指根元座標ｑを読み込んで、操作者の立体的指先座標Ｐおよび操作者の立体的指根元座標Ｑを通る指方向直線を算出して状態変数記憶領域１６に記憶させる立体的指方向推定処理手順１５３と、状態変数記憶領域１６から指方向直線を読み込んで、操作者が指示する操作者指示点Ｚを算出して状態変数記憶領域１６に記憶させる指示位置決定処理手順１５４と、を備える。これらは、プログラムとしてその処理手順が記述されており、プログラムを実行させる時には、これらのプログラムがプログラム記憶領域１５から読み込まれて、ＣＰＵ１３などの演算処理部を用いて所定の処理が実行されることになる。
【００３２】
状態変数記憶領域１６には、各処理手順１５１〜１５４で求められた数値データ等を記憶するため、各種の記憶領域が確保される。画像情報取得処理手順１５１で取得した画像情報は、画像情報１６１ａ、１６１ｂに記憶され、画像内指位置推定処理手順１５２で算出した平面的指先座標ｐ、平面的指根元座標ｑは、それぞれ、平面的指先座標１６２ａ、１６２ｂ、平面的指根元座標１６３ａ、１６３ｂに記憶され、立体的指方向推定処理手順１５３で算出した指方向直線は、指方向直線１６４に記憶され、指示位置決定処理手順１５４で算出された操作者指示点Ｚが、操作者指示点１６５に記憶される。
【００３３】
すなわち、図１では、キャプチャーカード１１と、画像情報１６１ａ、１６１ｂを記憶した状態変数記憶領域１６と、画像情報取得処理手順１５１を記憶したプログラム記憶領域１５と、その処理手順を実際に処理するＣＰＵ１３などの構成により、画像情報取得処理部が構成される。また、画像情報１６１ａ、１６１ｂ、平面的指先座標１６２ａ、１６２ｂ、平面的指根元座標１６３ａ、１６３ｂを記憶した状態変数記憶領域１６と、画像内指位置推定処理手順１５２を記憶したプログラム記憶領域１５と、その処理手順を実際に処理するＣＰＵ１３などの構成により、画像内指位置推定処理部が構成される。また、平面的指先座標１６２ａ、１６２ｂ、平面的指根元座標１６３ａ、１６３ｂ、指方向直線１６４を記憶した状態変数記憶領域１６と、プログラム記憶領域１５に記録された指示位置決定処理手順１５４を実行させるＣＰＵ１３などの構成により、画像内指位置推定処理部が構成される。また、指方向直線１６４、操作者指示点１６５を記憶した状態変数記憶領域１６と、プログラム記憶領域１５に記録された立体的指方向推定処理手順１５３を実行させるＣＰＵ１３などの構成により、指示位置決定処理部が構成される。
【００３４】
こういった構成により、ステレオカメラにより撮影した複数の画像から、それぞれ、操作者の指先の位置ｐおよび指の根元の位置ｑを平面的に検出して、視差を含んだ画像の位置情報を用いて操作者の指先の位置Ｐおよび指の根元の位置Ｑを立体的に認識させ、２点Ｐ、Ｑを通る直線を指方向直線として操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Ｚが算出されるため、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、微細な位置指示を行うことができ、かつ、操作者が指先の方向だけを意識して、指示しようとしている位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【００３５】
続いて、画像情報取得処理手順１５１について詳説する。カメラ２ａ、２ｂにより撮影された画像情報は、所定のフレームレートでキャプチャーカード１１に取り込まれており、画像情報取得処理手順１５１は、所定のタイミングで、キャプチャーカード１１にアクセスし、カメラ２ａ（カメラ２ｂ）から取り込んだ画像情報を、画像情報ａ(１６１ａ)（画像情報ｂ(１６１ｂ)）としてそれぞれ記憶させる。
【００３６】
画像内指位置推定処理手順１５２の詳細な処理の流れは、図２に示すフローチャートによって行われる。画像内指位置推定処理手順１５２は、２つの画像情報(１６１ａ、１６１ｂ)にアクセスし、そのそれぞれについて、操作者の手の領域Ωを抽出する手順１と、手領域Ωの重心点Ｇを算出する手順２と、手領域Ωの境界∂Ωを抽出する手順３と、境界∂Ω上で重心点Ｇからの距離が最遠となる最遠点ltを算出する手順４と、最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離が極小または最小となる境界∂Ω上の２点lb1、lb2を算出する手順５と、境界∂Ω上の２点lb1、lb2が見つからなかった時に、最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇまたは最遠点ltからの距離が一定値となる境界∂Ω上の２点をlb1、lb2として算出する手順６と、最遠点ltを平面的指先座標ｐとする手順７と、２点lb1およびlb2の中点を平面的指根元座標ｑとする手順８からなる。
【００３７】
手順６は必ずしも必要としない構成要件ではあるが、このような手順を加えることで、手順５にて境界∂Ω上の２点lb1、lb2が見つからなかった場合でも、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇまたは最遠点ltからの距離が一定値となる境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、より高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【００３８】
続いて、図２の各手順について、図３〜６を用いながら詳説する。なお、画像情報ａ(１６１ａ)から平面的指先座標pa(１６２ａ)および平面的指根元座標qa(１６３ａ)を算出した後は、画像情報ｂ(１６１ｂ)についても同様の処理を行うことで平面的指先座標pb(１６２ｂ)および平面的指根元座標qb(１６３ｂ)が算出されるため、ここでは、カッコ書きでその違いを付記するにとどめる。
【００３９】
手順１では、まず、状態変数記憶領域１６にある画像情報１６１ａ(画像情報１６１ｂ)を参照して、カメラ２ａ(カメラ２ｂ)で撮影した操作者の手の部分が撮影された画像データを取得する(ステップＳ１１)。
撮影された画像にはノイズ成分が含まれるため、手の領域Ωを抽出する前に、ステップＳ１２のように画像情報について、平滑化やノイズ除去の処理を行うとともに、手を抽出するため特定の色を鮮明化するなどの前処理と行うことが好ましい。このように領域Ωを抽出する前に、画像の平滑化・ノイズ除去・鮮明化等の前処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Ｐおよび立体的指根元座標Ｑや指方向直線を推定することができる。
【００４０】
続いて、手の領域Ωを抽出する前に、肌色部分を白抜きした形で画像データを二値化処理する(ステップＳ１３)。このステップでは、画像データの手の部分と背景の部分を分離するため、ＨＳＶ(Hue、Saturation、Value)変換などの一般的な手法を用いて二値化を行う。ＨＳＶ変換は、物体の認識のためによく用いられる方法であり、ＲＧＢ色空間からＨＳＶ色空間に変換し、所望の物体を検出する方法である。人間の手のように色相値などの色情報が一定の範囲内にある物体の場合、ＲＧＢ色空間よりも、人間が色を知覚するのに近いＨＳＶ色空間を取り扱う方が都合がよい。図３は、画像情報ａ（１６１ａ）について、ステップＳ１３による二値化処置を行った後の画像である。図３において、白い部分(肌色領域３０)が手の領域であり、黒い部分が背景部分である。
このように、領域Ωを抽出する前に、画像の二値化処理が行われるため、前述した効果に加え、より高速・高精度で立体的指先位置Ｐおよび立体的指根元座標Ｑや指方向直線を推定することができる。
【００４１】
手順２では、二値化された画像データについて、白色画素(肌色部分３０)の座標値の総和を算出する(ステップＳ２１)。その総和を白色画素の個数で除すると、肌色領域３０の重心点Ｇの座標が判明する。すなわち、白色画素(肌色部分３０)の画素数をＮ個とし、その各座標を(xi,yi)であらわすと、重心点Gの座標(xg,yg)は、
【００４２】
【数１】
2009151516.tif 000003
【００４３】
で与えられる。
【００４４】
手順３では、画像データの右上端(画像情報１６１ｂを用いた場合には左上端)の画素から横方向で走査して、白色である最初の画素l1を探す(ステップＳ３１)。図４で示す６×６の大きさである二値化画像を例に説明すると、走査の順序は、画素Ａａ、Ａｂ、…Ａｆ、Ｂａ、…となり、最初の白色画素Ｂｆが最初の境界線上の画素l1となる。
境界線上の画素l2、l3、…を捜索するため、画素の番号をｉとし、ステップＳ３２では、画素番号をｉ＝０でクリアし、ステップＳ３３でｉをインクリメントする。ステップＳ３４では、liの周辺にある８画素(l1,…,li-1を除く)を走査して白色である最初の画素li+1を探す。画素li-1(ｉ＝１の場合は、ステップＳ３１で黒色だった画素)からスタートして反時計回り(画像情報１６１ｂを用いた場合には時計回り)で走査して、最初の白色画素がli+1ということになる。図４で説明すると、ｉ＝３の場合、画素l2 (画素Ｃｅ)から、Ｂｅ、Ｂｄ，Ｂｃ，Ｃｃ，Ｄｃ、…の順で走査するので、最初に現れる白色画素Ｄｃがl4となる。
ステップＳ３５では、li+1が見つかったかどうかを判別し、見つかった場合にはステップＳ３３に戻って、境界上の白色画素の探索を継続し、見つからなかった場合には、次のステップＳ３６に進んで、境界上の白色画素の探索を終了する。ステップＳ３６では、境界上の画素数ｋをｋ＝ｉで与えることとすれば、手領域Ωの境界∂Ωとなるｋ個の画素が抽出されることになる。
図３により与えられた二値化画像については、図５のように境界上の点∂Ω＝｛l1，l2，…，lk｝が境界５０として現れる。また、図５のように操作者が人差し指をまっすぐにして位置を指示しているような場合には、手領域Ωの重心点Ｇが、操作者の拳ないし腕の部分に存在することとなり、人差し指の先端部分が重心点Ｇから最も遠い境界∂Ω上の一点であるということができる。
【００４５】
手順４では、境界∂Ω上の各画素li (i=1,2,…,k)について、重心点Ｇからの距離riを算出する(ステップＳ４１)。すなわち、境界∂Ω上の各画素liの座標を(xi,yi)であらわすと、重心点Ｇからの距離riは、
【００４６】
【数２】
2009151516.tif 000004
【００４７】
で与えられる。そして、ステップＳ４２では、ri (i=1,2,…,k)が最大となる∂Ω上の点をltと定める。
【００４８】
手順５では、最遠点ltから境界∂Ω上の各画素を２つの方向(lt-1方向とlt+1方向)で走査して、それぞれの方向に対してriが極小または最小となる２点lb1，lb2を算出する(ステップＳ５)。２点lb1，lb2の算出方法について、図６をもとに説明すると、riの値を平滑化した後で、i=kより左側の領域でriが極小値(極値が２以上ある場合には、iの値が最も大きいもの)となる画素番号ｉをb1とし、i=kより右側の領域でriが極小値(極値が２以上ある場合には、iの値が最も小さいもの)となる画素番号iをb2とし、２点lb1，lb2を算出する。
このほか、i=kより左側の領域でriが最小となる画素番号ｉをb1とし、i=kより右側の領域でriが最小となる画素番号iをb2とし、２点lb1，lb2を算出してもよい。
【００４９】
そして、手順７では、最遠点ltの座標を平面的指先座標として、状態変数記憶領域１６にある平面的指先座標pa (１６２ａ)(画像情報１６１ｂを用いた場合には平面的指先座標pb (１６２ｂ))に記憶する。
このように、手領域Ωの重心点Ｇからの距離が最も遠くなる境界∂Ω上の点ltを操作者の指先の位置ｐとして推定するため、前述した効果に加え、高速・高精度で立体的指先位置Ｐや指方向直線を推定することができる。
【００５０】
そして、手順８では、２点lb1，lb2の中点を平面的指根元座標として、状態変数記憶領域１６にある平面的指根元座標qa(１６３ａ)(画像情報１６１ｂを用いた場合には平面的指根元座標qb (１６３ｂ))に記憶する。
このように、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離が極小または最小となる境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【００５１】
これらの手順１〜８によって、画像内指位置推定処理手順１５２が実行される。
【００５２】
なお、手順７を実行する前に、次に説明する手順６を実行させるようにしてもよい。すなわち、手順６では、手順５で境界∂Ω上の２点lb1、lb2が見つからなかったかどうかを判定し(ステップＳ６１)、見つからなかった場合には、最遠点ltから境界∂Ω上を２つの方向(lt-1方向、lt+1方向)で走査して、重心点Ｇからの距離が一定値(一定値は指の長さより短くなるような値で設定する)となる境界∂Ω上の２点をlb1，lb2とする処理(ステップＳ６２)を追加する。手順６を追加することで、操作者の手が指差し状態できない形状で撮影されたとしても、操作者の指が指している方向を把握することが可能となる。なお、この一定値としては、
【００５３】
【数３】
2009151516.tif 000005
【００５４】
などとして定める方法が考えられる。また、重心点Ｇからの距離が一定値となる境界∂Ω上の２点をlb1、lb2とすることに代えて、最遠点ltからの距離が一定値となる境界∂Ω上の２点をlb1、lb2として定めるようにしてもよい。
【００５５】
続いて、立体的指方向推定処理手順１５３について図７を用いて詳説する。図７において、画像情報ａ（７１ａ）、画像情報ｂ（７１ｂ）は、それぞれ、カメラ２ａ、２ｂで撮影された画像データであって、状態変数記憶領域１６に記憶された画像情報１６１ａ、１６１ｂと等価のものであり、図７では、ステップＳ３１〜ステップＳ３６にて抽出された手の領域Ωの境界∂Ωを７２ａ、７２ｂとして表示させるとともに、各画像から求められた平面的指先座標pa（１６２ａ）、pb（１６２ｂ）、平面的指根元座標qa（１６３ａ）、qb（１６３ｂ）をあわせて表示させている。
そして、カメラ２ａ、２ｂをそれぞれ (0,0,0)，(d,0,0)に位置させて、その撮影するレンズをともにＺ軸方向と平行となるように配置し、カメラの焦点距離をｆとして定めると、操作者の手７３におけるｘｙｚ空間上における立体的指先座標Ｐと立体的指根元座標Ｑが、次のように推定される。
【００５６】
【数４】
2009151516.tif 000006
【００５７】
このようにして、求められた座標Ｐ，Ｑを操作者の立体的な指先座標、指根元座標として定め、この２点を通る直線
【００５８】
【数５】
2009151516.tif 000007
【００５９】
を状態変数記憶領域１６にある指方向直線１６４として記憶させる。
【００６０】
続いて、指示位置決定処理手順１５４について詳説する。この処理では、指方向直線１６４から、操作者が指示する点を算出して、操作者指示点Ｚを出力する。
すなわち、ディスプレイ３の表示面のｚ座標を考慮し、指方向直線とディスプレイ面が交わる点を求め、その座標を操作者指示点Ｚとして推定し、状態変数記憶領域１６にある操作者指示点Ｚ(１６５)として記憶する。あわせて、操作者指示点Ｚの位置信号はグラフィックカード１２に出力される。
【００６１】
そうすると、操作者指示点Ｚの座標がディスプレイ３に表示され、マウスポインターの役割を果たすことができ、情報処理装置１における入力手段のひとつとして用いることが可能である。すなわち、指方向直線と、ディスプレイ３の表示画面との交点を、操作者指示点Ｚとし、この点をディスプレイ３に表示させるので、前述した効果に加え、操作者が姿勢を変え、あるいは、操作者自身の位置が途中で変わってしまった場合でも、ディスプレイ上で微細な位置調整を行うことができる。また、操作者が指先の方向だけを意識して、指示しようとしているディスプレイ上の位置が的確に反映される操作性のよいポインティングデバイスが提供される。
【００６２】
なお、本実施例では、２台のカメラを使用しているが、３台以上のカメラを設置して、操作者の手指の位置をより高精度で算出できることはいうまでもない。
【００６３】
また、指示位置決定処理手順１５４では、立体的指先座標Ｐとディスプレイ３の表示画面との距離が一定値以下となったときに、クリック信号を出力するようにするとより好適である。そうすることで、指先をディスプレイの表示面に近づけるだけで、クリック動作を指示することができる。
すなわち、クリック信号を発する条件として、操作者の指先とディスプレイ３の画面との距離Ｌをあらかじめ定めておき、立体的指先座標Ｐのｚ座標が距離Ｌ以下となった時に、クリック信号を発するようにさせる。このほか、立体的指先座標Ｐと距離Ｌとの関係をディスプレイ３上で表示させるように、グラフィックカード１２に操作者指示点Ｚの位置信号を渡す処理を追加するとより好ましい。そうすることで、操作者にとって「あと、どれだけ指先をディスプレイに近づけたらクリック操作となるか」を認識しやすくさせることができる。
【実施例２】
【００６４】
続いて、本発明の実施例２について図８、図９に基づいて説明する。なお、実施例１と同じ機能・構成となるものについては、同一の符号を付すこととし、詳細な説明は省略する。
実施例２は、実施例１で説明した図２の手順５を、異なる方法で実現したものである。
【００６５】
すなわち、実施例２では、手順５に代えて、最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離riの変化率が大きく変化する境界∂Ω上の２点lb1、lb2を算出するとともに、手順８では、この２点lb1およびlb2の中点を平面的指根元座標ｑとする方法をとっている。
【００６６】
すなわち、図８をもとに説明すると、境界∂Ω上の各要素liについての重心点Ｇからの距離rｉは、指先を示すi=tを頂点として、ほぼ一定の変化率で増加あるいは減少する傾向が表れる。これは、操作者の示す指がほぼまっすぐになっていることによるものである。したがって、その部分を２本の直線８１、８２で近似して、その２本の直線８１、８２と距離rｉを表す曲線が離れた点８３、８４を変曲点lb1、lb2とする方法が考えられる。
【００６７】
このように、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離の変化率が大きく変化する境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【００６８】
また、手順５に代わるもう一つの方法として、最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇからの距離riが一定値となる境界∂Ω上の２点lb1、lb2を算出するとともに、手順８では、この２点lb1およびlb2の中点を平面的指根元座標ｑとする方法をとってもよい。
【００６９】
すなわち、図９をもとに説明すると、境界∂Ω上の各要素liについての重心点Ｇからの距離rｉは指先を示すi=tで最大値となることから、指先からの距離が
【００７０】
【数６】
2009151516.tif 000008
【００７１】
となる２点９１、９２を中点lb1、lb2とする方法が考えられる。また、重心点Ｇからの距離が一定値となる境界∂Ω上の２点をlb1、lb2とすることに代えて、最遠点ltからの距離が一定値となる境界∂Ω上の２点をlb1、lb2として定めるようにしてもよい。
【００７２】
このように、境界∂Ω上の最遠点ltから境界∂Ω上を２つの方向で走査して、それぞれの方向に対して重心点Ｇまたは最遠点ltからの距離が一定値となる境界∂Ω上の２点lb1、lb2を算出し、２点lb1およびlb2の中点を平面的指根元座標ｑとして推定するため、前述した効果に加え、より高速・高精度で立体的指根元座標Ｑや指方向直線を推定することができる。
【実施例３】
【００７３】
続いて、本発明の実施例３について説明する。なお、実施例１や実施例２と同じ機能・構成となるものについては、同一の符号を付すこととし、詳細な説明は省略する。
実施例３は、実施例１で説明した指方向直線の算出を、異なる方法で実現したものである。
【００７４】
すなわち、立体的指方向推定処理手順１５３は、カメラ２ａに対応した平面的指先座標ｐと、カメラ２ａに対応した平面的指根元座標ｑと、カメラ２ａの撮影位置の３点を通る第１の平面を算出し、カメラ２ｂに対応した平面的指先座標ｐと、カメラ２ｂに対応した平面的指根元座標ｑと、カメラ２ｂの撮影位置の３点を通る第２の平面を算出し、その２平面が交わる直線を指方向直線として算出するものである。
【００７５】
図７でいえば、カメラ２ａの座標(0,0,0)、平面的指先座標pa=(xpa,ypa,f)、平面的指根元座標qa=(xqa,yqa,f)の三点を通る平面が第１の平面となり、カメラ２ｂの座標(d,0,0)、平面的指先座標pb=(xpb,ypb,f)、平面的指根元座標qb=(xqb,yqb,f)の三点を通る平面が第２の平面となる。
【００７６】
このような構成とすることで、ステレオカメラにより撮影した２つの画像から、それぞれ、操作者の指先の位置ｐおよび指の根元の位置ｑを平面的に検出して、それぞれのカメラに対応するカメラ位置、操作者の指先の位置ｐ、指の根元の位置ｑの３点を通る平面を求めて、２つの平面が交わってできる直線を操作者の指方向と推定し、その指方向直線から、操作者が指示している操作者指示点Ｚが算出されるため、前述した効果に加え、第１のカメラから推定した根元の位置ｑと、第２のカメラから推定した根元の位置ｑが、実際の指の根元の位置と実質的に異なる位置だったとしても、指方向直線が、指の方向と同じ直線をそれぞれ含んだ二つの平面から求められているため、根元の位置qaとqbの誤差による影響を受けずに、操作者の指方向が正確に認識される。
【産業上の利用可能性】
【００７７】
本発明は、パーソナルコンピュータなどでマウスに変わるポインティングデバイスとして利用でき、高度な衛生環境で使用することができるほか、カーナビシステムやゲーム機などといった非接触型のポインティングデバイスに応用することができる。
【図面の簡単な説明】
【００７８】
【図１】実施例１にかかる情報処理装置の構成を示す説明図
【図２】画像内指位置推定処理手順の処理の流れを示すフローチャート
【図３】画像情報を二値化処理した結果を示す説明図
【図４】画像情報から手領域Ωの境界部分∂Ωを抽出する方法を示す説明図
【図５】画像情報から境界部分∂Ωを抽出した結果を示す説明図
【図６】境界∂Ω上の各点と手の重心点Ｇとの距離を示す説明図
【図７】ステレオ視により操作者の指の立体的な位置を算出する方法を示す説明図
【図８】平面的指根元座標を算出するために用いられる変曲点抽出方法を示す説明図
【図９】平面的指根元座標を算出するために用いられる中点抽出方法を示す説明図
【符号の説明】
【００７９】
１  情報処理装置
２ａ，２ｂ  カメラ
３  ディスプレイ
１１  キャプチャーカード
１２  グラフィックカード
１３  ＣＰＵ
１４  クロック
１５  プログラム記憶領域
１６  状態変数記憶領域
３０  手領域Ω
５０  境界∂Ω
７１ａ，７１ｂ  画像情報
７２ａ，７２ｂ  境界∂Ω
７３  操作者の手
８１，８２  直線
８３，８４  変曲点
９１，９２  中点
１５１  画像情報取得処理手順
１５２  画像内位置推定処理手順
１５３  立体的指方向推定処理手順
１５４  指示位置決定処理手順
１６１ａ，１６１ｂ  画像情報
１６２ａ，１６２ｂ  平面的指先座標
１６３ａ，１６３ｂ  平面的指根元座標
１６４  指方向直線
１６５  操作者指示点
【図１】
2009151516.tif 000009
【図２】
2009151516.tif 000010
【図３】
2009151516.tif 000011
【図４】
2009151516.tif 000012
【図５】
2009151516.tif 000013
【図６】
2009151516.tif 000014
【図７】
2009151516.tif 000015
【図８】
2009151516.tif 000016
【図９】
2009151516.tif 000017