(57)【要約】【課題】ジェスチャを認識してデバイスを制御するデバイス制御装置を提供する。【解決手段】複数の単体カメラ４８０ａ〜４８０ｄは、独立型のステレオ・カメラを構成し、光軸が異なる方向を向くように配置される。ステレオ・カメラが接続された制御装置は、単体カメラの相互間の平行移動ベクトルを取得しないため、共通特徴点のグローバル座標の絶対値を計算できない。制御装置は、被制御デバイス４８０ａを指差しするジェスチャを構成する共通特徴点Ｐ１ｓ、Ｐ２ｓの座標と、デバイスを構成する共通特徴点Ｑ１ｓ〜Ｑ５ｓの座標を、平行移動ベクトルを未知数として計算する。制御装置は、共通特徴点Ｐ１ｓ、Ｐ２ｓを通過する指差し直線４９０の式を計算する。指差し直線４９０に対する被制御デバイス４８０の共通特徴点Ｑ１ｓ〜Ｑ４ｓの帰属性を判別して制御信号を送る。【選択図】図６
2016151841.tif 000002
【特許請求の範囲】
【請求項１】
第１のカメラ座標を備える第１の単体カメラと第２のカメラ座標を備える第２の単体カメラを含む独立型のステレオ・カメラで撮影した画像を利用して３次元空間に存在するデバイスを制御するためにコンピュータに、
前記第１の単体カメラの画像座標および前記第２の単体カメラの画像座標から前記デバイスに対する所定のジェスチャを構成する共通特徴点のグローバル座標を計算するステップと、
前記第１の単体カメラの画像座標および前記第２の単体カメラの画像座標から前記デバイスの共通特徴点のグローバル座標を計算するステップと、
前記ジェスチャの共通特徴点が形成する認識空間に対する前記デバイスの共通特徴点の帰属性を判別するステップと
前記帰属性の判別に応じて前記デバイスに制御信号を送るステップと
を有する処理をさせるためのコンピュータ・プログラム。
【請求項２】
前記ジェスチャを構成する共通特徴点のグローバル座標と前記デバイスの共通特徴点のグローバル座標を計算するために、前記第１のカメラ座標と前記第２のカメラ座標の位置関係を未知数にして、相互のカメラ座標の回転量を計算するキャリブレーションを実行するステップを有する請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記ジェスチャが人物による指差しジェスチャで、前記認識空間を前記指差しジェスチャの共通特徴点を含む直線で構成した請求項１に記載のコンピュータ・プログラム。
【請求項４】
前記認識空間が前記指差しジェスチャの共通特徴点を含みかつ前記直線に垂直な平面で仕切った空間を含む請求項３に記載のコンピュータ・プログラム。
【請求項５】
前記帰属性を判別するステップが、前記直線に対する前記デバイスの共通特徴点の接近の度合いで判断する請求項３に記載のコンピュータ・プログラム。
【請求項６】
前記帰属性を判別するステップが、前記直線と前記デバイスの複数の共通特徴点が形成する平面の交差で判断する請求項３に記載のコンピュータ・プログラム。
【請求項７】
前記第１の単体カメラと前記第２の単体カメラがネットワークで接続されており、前記第１の単体カメラおよび前記第２の単体カメラが撮影した複数のフレームのなかで撮影時刻が接近したフレームを選択して前記ジェスチャと前記デバイスの共通特徴点のグローバル座標を計算するステップを有する請求項１に記載のコンピュータ・プログラム。
【請求項８】
請求項１から請求項７のいずれかのコンピュータ・プログラムを実装したデバイス制御システム。
【請求項９】
第１の単体カメラと第２の単体カメラで構成した独立型のステレオ・カメラからフレーム・シーケンスを受け取ることが可能な装置が物体の存在を判別する方法であって、
前記物体を構成するターゲット空間の共通特徴点とユーザが存在を認識している認識空間の共通特徴点を登録するステップと、
前記第１の単体カメラと前記第２の単体カメラがそれぞれ撮影した画像の前記共通特徴点からグローバル座標における前記認識空間の範囲を画定するステップと、
前記第１の単体カメラと前記第２の単体カメラがそれぞれ撮影した画像の前記共通特徴点から前記グローバル座標における前記ターゲット空間の共通特徴点を画定するステップと、
前記認識空間に対する前記ターゲット空間の帰属性を判別するステップと
を有する方法。
【請求項１０】
前記認識空間および前記ターゲット空間の少なくともいずれかのグローバル座標が時間的に変化する請求項９に記載の方法。
【請求項１１】
前記認識空間が１次元空間または２次元空間である請求項９に記載の方法。
【請求項１２】
前記認識空間が２個の共通特徴点を含む直線である請求項９に記載の方法。
【請求項１３】
前記認識空間が前記直線に垂直な平面で画定した空間を含む請求項１２に記載の方法。
【請求項１４】
前記ステレオ・カメラの外部パラメータを構成する平行移動ベクトルを未知数にして回転行列を推定するステップを有する請求項９に記載の方法。
【請求項１５】
前記第１の単体カメラと前記第２の単体カメラが光軸の方向を自由にして設置されている請求項１４に記載の方法。
【請求項１６】
独立型のステレオ・カメラを含むデバイス制御システムであって、
それぞれフレーム・シーケンスを出力する複数の単体カメラと、
複数の共通特徴点のテンプレートを格納した登録部と、
前記複数の単体カメラが撮影した画像から前記登録部を参照してジェスチャを構成する共通特徴点の画像座標を計算するジェスチャ認識部と、
前記複数の単体カメラが撮影した画像から前記登録部を参照して前記デバイスを構成する共通特徴点の画像座標を計算するデバイス認識部と、
前記ジェスチャを構成する共通特徴点が形成した空間に対する前記デバイスを構成する共通特徴点が形成した空間の帰属性を３次元空間で判別する帰属性判別部と
を有するデバイス制御システム。
【請求項１７】
光軸方向を拘束しないで設置された前記複数の単体カメラの光軸方向が整合した画像座標を計算するために、前記ステレオ・カメラの外部パラメータを取得するキャリブレーション実行部を有する請求項１６に記載のデバイス制御システム。
【請求項１８】
前記ジェスチャ認識部は、画像座標を計算する有効なジェスチャの範囲を特定するためのトラッキング空間を画定する請求項１６に記載のデバイス制御システム。
【請求項１９】
前記デバイス認識部は、前記トラッキング空間の中で前記ジェスチャが行われたときだけ前記デバイスの共通特徴点の画像座標を計算する請求項１８に記載のデバイス制御システム。
【請求項２０】
前記帰属性判別部は、前記トラッキング空間の中で前記ジェスチャが行われたときだけ帰属性を判別する請求項１８に記載のデバイス制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ・カメラで３次元空間に存在する物体の存在を判別する技術に関し、さらには、複数の単体カメラで構成した独立型のステレオ・カメラで物体の存在を判別する技術に関する。
【背景技術】
【０００２】
ステレオ・カメラは、２台の単体カメラが同じ被写体をそれぞれ違った角度から撮影した２枚の画像から、三角測量の原理で被写体の３次元座標を求めることができる。ステレオ・カメラは、複数のカメラがそれぞれ独立したカメラ座標を備えている。ステレオ・カメラで３次元座標を計測するためには、被写体の共通特徴点を捕捉する画像認識技術に加えて、各カメラが撮影した２次元の画像座標から３次元のグローバル座標を計算するためのキャリブレーションが必要になる。
【０００３】
キャリブレーションは、光軸と画像面の交点に対する画像座標の中心の変位、画像面のアスペクト比などを含む内部パラメータと、グローバル座標に対するカメラ座標の回転行列および平行移動ベクトルからなる外部パラメータを計算する作業を含む。特許文献１は、カメラ間の距離やカメラと物体の距離などを予め知ることなくカメラ間の相対的な位置方向を求める方法を開示する。同文献には、６つの異なる観察点を２つのカメラで観察し、同一の点を何らかの手段で求めて得た結像面での座標を６つの方程式に代入して、相互の距離に関する３つのパラメータと角度に関する３つのパラメータを求めることを記載している。
【０００４】
特許文献２は、標準物体を利用しないでワールド座標と単眼カメラのカメラ座標との関係を求めるキャリブレーションについて開示する。同文献には、キャリブレーションが終わっている多眼カメラを使って、多眼カメラと単眼カメラがそれぞれ撮影した特徴点を利用して単眼カメラのキャリブレーションをする方法が記載されている。特許文献３は、ステレオ・マッチングにより２つのカメラの画像座標から３次元空間の座標を計測する方法を開示する。特許文献４は、２つの単眼カメラの距離を、電波や超音波で計測し、角度を傾斜センサで検出して相対位置の処理をする方法を開示する。非特許文献１は、外部パラメータの回転行列だけを推定する方法を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−１２９８５１号公報
【特許文献２】特開２００２−１３５８０７号公報
【特許文献３】米国特許第５８６７５９１号公報
【特許文献４】特開２００９−９４７２４号公報
【非特許文献】
【０００６】
【非特許文献１】佐川立昌、八木康史、”２つの平行光の観測による内部カメラ・パラメータの安定なキャリブレーション”、［online］、２００７年７月、画像の認識・理解シンポジウム（MIRU2007）、［平成２７年１月３１日検索］、インターネット〈URL:http://www.am.sanken.osaka-u.ac.jp/~sagawa/pdf/miru07.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的なステレオ・カメラは、工場で複数の単体カメラを同一の筐体に組み込んでキャリブレーションをしてから出荷する。このときグローバル座標はステレオ・カメラを構成するいずれかの単体カメラのカメラ座標や２つのカメラ座標の中間位置などに設定することができる。このようなステレオ・カメラを組み込み型のステレオ・カメラということにする。組み込み型のステレオ・カメラは、撮影場所でさらにキャリブレーションをしないでも３次元座標の計測ができる。
【０００８】
人物のジェスチャをステレオ・カメラで撮影してデバイスを制御する場合は、ジェスチャの際に人物の顔の方向、姿勢および移動範囲などがどのように変化しても、最適な共通特徴点を撮影する必要がある。しかし、組み込み型のステレオ・カメラは、設置時にキャリブレーションする負担がないという利点はあるが、カメラの設置場所、撮影の方向およびカメラ台数などが制約を受ける。
【０００９】
ネットワークで接続した複数の単体カメラを撮影現場でキャリブレーションしてステレオ・カメラとして構成することが考えられる。このようなステレオ・カメラを独立型のステレオ・カメラということにする。独立型のステレオ・カメラは、単体カメラの撮影方向に対する設置の自由度が高く台数の追加も容易に行うことができるので、良好な共通特徴点を撮影する点では都合がよい。ただし独立型のステレオ・カメラの利点を生かすためには、撮影現場で迅速かつ容易にキャリブレーションができることが前提になる。
【００１０】
キャリブレーションには先行技術としての特許文献に示したようにさまざまな方法があるが、いずれも精度を欠いたり、時間がかかったり、または複雑であったりするため独立型のステレオ・カメラには採用しにくい。特に単体カメラは筐体に収納されておりカメラ座標の原点の位置や画像面の方向を特定することは難しいため、単体カメラの筐体間の距離を測定しても正確な平行移動ベクトルを求めることは容易ではない。本発明は、このような事情のなかで、独立型のステレオ・カメラの利便性を高めるものである。
【００１１】
そこで本発明の目的は、独立型のステレオ・カメラを利用して被写体の存在を判別する方法を提供することにある。さらに本発明の目的は、平行移動ベクトルが未知のステレオ・カメラで被写体の存在を判別する方法を提供することにある。さらに本発明の目的は、そのようなステレオ・カメラで空間に存在するデバイスを制御する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するデバイス制御システム、およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の態様では、第１のカメラ座標を備える第１の単体カメラと第２のカメラ座標を備える第２の単体カメラを含む独立型のステレオ・カメラで撮影した画像を利用して３次元空間に存在するデバイスを制御するコンピュータ・プログラムを提供する。第１の単体カメラの画像座標および第２の単体カメラの画像座標からデバイスに対する所定のジェスチャを構成する共通特徴点のグローバル座標を計算する。第１の単体カメラの画像座標および第２の単体カメラの画像座標からデバイスの共通特徴点のグローバル座標を計算する。ジェスチャの共通特徴点が形成する認識空間に対するデバイスの共通特徴点の帰属性を判別する。帰属性の判別に応じてデバイスに制御信号を送る。
【００１３】
上記構成によれば、独立型のステレオ・カメラであってもデバイスの共通特徴点のジェスチャの共通特徴点が形成する認識空間に対する帰属性を判別することで、デバイスの制御をすることができる。帰属性の判別でデバイスが認識空間の内外のいずれにあるかを判断できるため、本発明では、認識空間およびデバイスがグローバル座標における絶対座標を特定する必要がない。
【００１４】
したがって、ジェスチャを構成する共通特徴点のグローバル座標とデバイスの共通特徴点のグローバル座標を計算するために、第１のカメラ座標と第２のカメラ座標の位置関係を未知数にして、相互のカメラ座標の回転量を計算するキャリブレーションを実行することができる。このようなキャリブレーションはフルキャリブレーションよりも簡単に行うことができる。
【００１５】
ジェスチャは人物による指差しジェスチャとし、認識空間は指差しジェスチャの共通特徴点を含む直線で構成することができる。また認識空間は、指差しジェスチャの共通特徴点を含み直線に垂直な平面で仕切った空間を含むことができる。帰属性の判別は、直線に対するデバイスの共通特徴点の接近の度合いで判断することができる。接近には一致も含む。
【００１６】
帰属性の判別は、直線とデバイスの複数の共通特徴点が形成する平面の交差で判断することができる。第１の単体カメラと第２の単体カメラがネットワークで接続されており、第１の単体カメラおよび第２の単体カメラが撮影した複数のフレームのなかで撮影時刻が接近したフレームを選択してジェスチャとデバイスの共通特徴点のグローバル座標を計算することができる。
【００１７】
本発明の第２の態様では、第１の単体カメラと第２の単体カメラで構成した独立型のステレオ・カメラからフレーム・シーケンスを受け取ることが可能な装置が物体の存在を判別する方法を提供する。物体を構成するターゲット空間の共通特徴点とユーザが存在を認識している認識空間の共通特徴点を登録する。さらに第１の単体カメラと第２の単体カメラがそれぞれ撮影した画像の共通特徴点からグローバル座標における認識空間の範囲を画定する。さらに第１の単体カメラと第２の単体カメラがそれぞれ撮影した画像の共通特徴点からグローバル座標におけるターゲット空間の共通特徴点を画定する。つづいて認識空間に対するターゲット空間の帰属性を判別する。
【００１８】
本発明の第３の態様は、独立型のステレオ・カメラを含むデバイス制御システムを提供する。デバイス制御システムは、それぞれフレーム・シーケンスを出力する複数の単体カメラと、複数の共通特徴点のテンプレートを格納した登録部と、複数の単体カメラが撮影した画像から登録部を参照してジェスチャを構成する共通特徴点の画像座標を計算するジェスチャ認識部とを有する。さらに、複数の単体カメラが撮影した画像から登録部を参照してデバイスを構成する共通特徴点の画像座標を計算するデバイス認識部と、ジェスチャを構成する共通特徴点が形成した空間に対するデバイスを構成する共通特徴点が形成した空間の帰属性を３次元空間で判断する帰属性判別部とを有する。
【発明の効果】
【００１９】
本発明により、独立型のステレオ・カメラを利用して被写体の存在を判別する方法を提供することができた。さらに本発明により、平行移動ベクトルが未知のステレオ・カメラで被写体の存在を判別する方法を提供することができた。さらに本発明により、そのようなステレオ・カメラで空間に存在するデバイスを制御する方法を提供することができた。さらに本発明により、そのような方法を実現するデバイス制御システム、およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【００２０】
【図１】認識空間１００に対するターゲット空間２００の帰属性の概念を説明するための図である。
【図２】基線長Ｌが未知のステレオ・カメラで、帰属性を判別する原理を説明するための図である。
【図３】簡易キャリブレーションをして共通特徴点Ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）を計算する方法を説明する図である。
【図４】簡易キャリブレーションをして共通特徴点Ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）を計算する方法を説明する図である。
【図５】被制御デバイス４８０ａ〜４８０ｄを制御するデバイス制御システム４００の概要を説明するための図である。
【図６】デバイス制御システム４００が、３次元空間で被制御デバイス４８０ａ〜４８０ｄを制御する様子を示す図である。
【図７】デバイス制御装置４３０の構成を示す機能ブロック図である。
【図８】デバイス制御システム４００の動作を示すフローチャートである。
【発明を実施するための形態】
【００２１】
［帰属性の概念］
図１は、本実施の形態にかかる独立型のステレオ・カメラによる被写体の存在を判別する概念を説明するための図である。図１では、原点をＯとするグローバル座標（Ｘｗ，Ｙｗ，Ｚｗ）を定義している。グローバル座標には、あらかじめユーザが認識している被写体の共通特徴点が構築する空間（認識空間１００）と、ユーザが存在を判別したい被写体の共通特徴点が構築する空間（ターゲット空間２００）が存在する。
【００２２】
認識空間１００とターゲット空間２００は双方または一方が運動するため、相対的な位置関係が時間的に変化する。本発明では、独立型のステレオ・カメラに対する従来のようなキャリブレーションをしない。したがって、認識空間１００とターゲット空間２００についてグローバル座標の原点からの距離（絶対値）は計算しない。本発明では、被写体を継続的に監視して、ターゲット空間２００の存在を認識空間１００に対するターゲット空間２００の相対的な位置関係または帰属性を通じて判別する。
【００２３】
独立型のステレオ・カメラ３００を構成する単体カメラ３０１、３０３は、グローバル座標に対して姿勢および位置を拘束しないで設置する。単体カメラ３０１、３０３が、それぞれ同一または異なる所定のフレーム・レートで撮影画像のフレームを出力すると、ステレオ・カメラ３００は同一時刻または接近した時刻に撮影した２つのフレームから共通特徴点のグローバル座標を、固定値である未知数を含む値として計算する。
【００２４】
ステレオ・カメラ３００は、固定値である未知数を含むグローバル座標を計算する場合であっても事前にキャリブレーションをする必要がある。このとき単体カメラ３０１、３０３の内部パラメータは既知として扱ってもよいし、設置場所で取得するようにしてもよいが、本発明では外部パラメータのなかで平行移動ベクトルを未知数として扱う。すなわち、外部パラメータの回転行列は、単体カメラ３０１、３０３を設置するたびに、あるいはさらに別の単体カメラを追加するたびに推定するが、平行移動ベクトルは推定しない。
【００２５】
本明細書においては、回転行列と平行移動ベクトルを推定する従来のキャリブレーションをフルキャリブレーションといい、回転行列だけを推定し平行移動ベクトルを推定しないキャリブレーションを簡易キャリブレーションということにする。簡易キャリブレーションの方法については、一例として非特許文献１に記載するが、本発明は周知の簡易キャリブレーションの手法を利用することができる。簡易キャリブレーションはフルキャリブレーションに比べて遙かに負担が軽いが、これまではその後フルキャリブレーションを行ってから物体の存在を判別している。これまで独立型のステレオ・カメラに簡易キャリブレーションをして間接的に物体の存在を判別する研究は行われていない。
【００２６】
図１の例示では、認識空間１００は共通特徴点Ｐ１〜Ｐ４を含み、ターゲット空間２００は共通特徴点Ｑ１〜Ｑ４を含む。ステレオ・カメラ３００は、共通特徴点Ｐ１〜Ｐ４から認識空間１００の領域を特定し、共通特徴点Ｑ１〜Ｑ４からターゲット空間２００の領域を特定する。ただし、ステレオ・カメラ３００はフルキャリブレーションではなく簡易キャリブレーションをしているため、グローバル座標の絶対値を計算することはできない。
【００２７】
認識空間１００はユーザがグローバル座標の絶対値を知らないでもその存在を認識できる空間である。認識空間１００がターゲット空間２００を含む状態をターゲット空間２００が認識空間１００に帰属するといい、帰属する状態を帰属性があるという。ステレオ・カメラ３００は、ターゲット空間２００の存在を、認識空間１００に対する帰属性から判別する。後に適用例として説明するように、認識空間１００は、一例としてユーザのジェスチャを構成する共通特徴点が構築する空間に相当し、ターゲット空間２００は被制御デバイスを構成する共通特徴点が構築する空間に相当する。なお、ターゲット空間２００が認識空間１００に完全に含まれない場合でも、所定の閾値の範囲で接近している状態も帰属する範疇に含める。
【００２８】
認識空間１００およびターゲット空間２００は、それぞれ０次元空間（点）、１次元空間（線）、２次元空間（平面）または３次元空間（立体）のいずれかとすることができる。認識空間１００は一例において、共通特徴点Ｐ１、Ｐ２を含む直線１００ａ、直線１００ａに平行な法線を備え共通特徴点Ｐ２を含む平面１００ｂ、共通特徴点Ｐ３〜Ｐ５を含む平面１００ｃのような無限の領域とすることができる。認識空間１００は、また、共通特徴点Ｐ１、Ｐ２で領域が画定した線分、共通特徴点Ｐ３〜Ｐ５で領域が画定した三角形１００ｄ、共通特徴点Ｐ６〜Ｐ９で領域が画定した立体１００ｅのような有限の領域でもよい。さらに認識空間１００は、平面１００ｂを境界にした２つの空間の一方とすることができる。
【００２９】
これに対して認識空間１００に帰属性があるターゲット空間２００は、一例として、直線１００ａ上の共通特徴点Ｑ１、共通特徴点Ｐ１、Ｐ２で領域が画定した線分上の共通特徴点Ｑ２、平面１００ｃ上の共通特徴点Ｑ３、三角形１００ｄに存在する共通特徴点Ｑ４、Ｑ５の線分、または、立体１００ｅの中に存在する共通特徴点Ｑ６〜Ｑ９で領域が画定した点、三角形、または立体とすることができる。
【００３０】
［基線長Ｌが未知のステレオ・カメラによる空間の特定］
図２は、簡易キャリブレーションをした単体カメラ３０１、３０３の基線長Ｌを未知数にしたままで、認識空間１００の共通特徴点Ｐとターゲット空間２００の共通特徴点Ｑのグローバル座標（Ｘ１，Ｚ１）、（Ｘ２、Ｚ２）を計算して、帰属性を判別する原理を説明する図である。説明を容易にするために、共通特徴点Ｐ、Ｑは、グローバル座標のＸｗ−Ｚｗ平面に存在することを前提に説明する。
【００３１】
単体カメラ３０１のカメラ座標をグローバル座標（Ｘｗ，Ｙｗ，Ｚｗ）に一致させ単体カメラ３０１、３０３を平行等位に配置している。平行等位の単体カメラ３０１、３０３は、各カメラ座標がグローバル座標と平行で、かつ、各画像面が同一平面に存在する。単体カメラ３０１のカメラ座標の原点（レンズ中心）と共通特徴点Ｐ、Ｑを結ぶ線（視線）と基線が形成する角度をα１、α２とし、単体カメラ３０３のカメラ座標の原点（レンズ中心）から共通特徴点Ｐ、Ｑに対する視線と基線が形成する角度をβ１、β２とする。
【００３２】
このとき、共通特徴点Ｐ、Ｑの座標は式（１）、（２）で計算することができる。式（１）、（２）は、共通特徴点Ｐ，Ｑの座標が、基線長Ｌと、視線と基線長がつくる角度α、βから計算することができることを示している。このことは、基線長Ｌが未知であるために共通特徴点Ｐ、Ｑのグローバル座標の絶対値が計算できなくても、基線長Ｌ、角度α、βが不変であれば、共通特徴点Ｐ、Ｑの相互関係は不変であることを意味している。
【００３３】
【数１】
2016151841.tif 000003
【００３４】
［簡易キャリブレーションとグローバル座標の計算］
図３、図４は、簡易キャリブレーションをして、共通特徴点Ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）を計算する方法を説明する図である。一例において基準カメラに設定した単体カメラ３０１のカメラ座標をグローバル座標（Ｘｗ，Ｙｗ，Ｚｗ）に一致させ、原点をＯとするカメラ座標（Ｘ，Ｙ、Ｚ）を備えている単体カメラ３０３を参照カメラとする。ただし、グローバル座標の原点は、いずれのカメラ座標からも独立して定義することもできる。
【００３５】
単体カメラ３０３のカメラ座標は、グローバル座標に対して回転および平行移動をしている。単体カメラ３０１は、２次元の画像座標（Ｕｌ，Ｖｌ）を定義した仮想画像面３０５ａを有し、単体カメラ３０３は２次元の画像座標（Ｕ'ｒ，Ｖ'ｒ）を定義した仮想画像面３０５ｂを備えている。単体カメラ３０１、３０３は、内部パラメータのキャリブレーションが終了しており、仮想撮像面３０５ａ、３０５ｂの画像から、２次元の正規化した画像座標を提供することができる。単体カメラ３０１、３０３の光軸３０７ａ、３０７ｂは、それぞれＺｗ軸、Ｚ軸に一致しかつ仮想撮像面３０５ａ、３０５ｂに対して垂直である。
【００３６】
単体カメラ３０３は、単体カメラ３０１に対して光軸３０７ｂの方向を拘束しないで設置するため、グローバル座標（Ｘｗ，Ｙｗ，Ｚｗ）とカメラ座標（Ｘ，Ｙ，Ｚ）の対応する座標軸間には自由度が３の不特定の回転が生じている。単体カメラ３０１が撮影した共通特徴点Ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）と仮想撮像面３０５ａの画像座標（ｕｌ，ｖｌ）の関係は式（３）のとおりである。Ａは内部パラメータに相当する。単体カメラ３０３が撮影したグローバル座標における共通特徴点Ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）と仮想撮像面３０５ｂの画像座標（ｕ'２，ｖ'２）の関係は式（４）のとおりである。（Ｒ｜ｔ）は外部パラメータで、Ｒは回転行列に相当し、ｔは平行移動ベクトル（ｔｘ，ｔｙ，ｔｚ）に相当する。
【００３７】
【数２】
2016151841.tif 000004
【００３８】
簡易キャリブレーションをした時点では、平行移動ベクトルｔは未知であるが、回転行列Ｒの推定は終了している。回転行列Ｒが既知であれば、式（４）から平行移動ベクトルｔを未知数としてグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）、画像座標（ｕ'２，ｖ'２）に対応する単体カメラ３０３の画像座標（ｕ２，ｖ２）を計算することができる。画像座標（ｕ２，ｖ２）は、画像座標（ｕ'２，ｖ'２）を回転がない状態に換算した値である。
【００３９】
図４は、簡易キャリブレーションが終了したステレオ・カメラ３００の状態を示している。簡易キャリブレーションが終了しているため、単体カメラ３０３のカメラ座標は、グローバル座標の原点ＯｗからＸ軸、Ｙ軸、Ｚ軸方向に平行移動ベクトル（ａ、ｂ、ｃ）だけシフトしているが、座標軸は相互に平行として扱うことができる。単体カメラ３０１の画像座標を（ｕｌ，ｖｌ）とし、単体カメラ３０３の画像座標を（ｕ２，ｖ２）としたときにピンホールカメラのモデルを利用して共通特徴点Ｐのグローバル座標（Ｘｐ、Ｙｐ、Ｘｐ）は、式（５）として求めることができる。
【００４０】
【数３】
2016151841.tif 000005
【００４１】
式（５）は、３次元座標（Ｘｐ，Ｙｐ，Ｚｐ）が、単体カメラ３０１の画像座標（ｕ１，ｖ１）および単体カメラ３０３の回転行列で変換された画像座標（ｕ２，ｖ２）と、平行移動ベクトル（ａ、ｂ、ｃ）から求まることを示している。平行移動ベクトルが未知数のときは、絶対座標を計算することはできないが、単体カメラ３０１、３０３を設置した後に位置および姿勢を固定しておくことを条件にすれば、平行移動ベクトルが未知数のままでも、ターゲット空間２００の帰属性を判別することはできる。
【００４２】
［認識空間に対するターゲット空間の帰属性の判別］
つぎに、式（５）を利用してターゲット空間の帰属性を判別する方法の一例を説明する。式（６）は、グローバル座標が（Ｘａ，Ｙａ，Ｚａ）、（Ｘｂ，Ｙｂ，Ｚｂ）の図１に示した共通特徴点Ｐ１、Ｐ２を通過する直線１００ａの式を示している。共通特徴点Ｐ１、Ｐ２のグローバル座標は式（５）で計算する。
【００４３】
【数４】
2016151841.tif 000006
【００４４】
直線１００ａに対するターゲット空間Ｑ１の帰属性は、式（６）のＸ、Ｙ、Ｚに式（５）で計算した共通特徴点Ｑ１の座標を代入して等式が成立するかどうか、あるいは、左辺と右辺の値の差が所定の閾値未満であるか否かで判断することができる。式（７）は、グローバル座標が（Ｘ２，Ｙ２，Ｚ２）の図１に示す共通特徴点Ｐ２を含み、直線１００ａに平行な線を法線ベクトル（ｐ，ｑ，ｒ）とする平面１００ｂの式を示している。
【００４５】
ｐ（Ｘ−Ｘ２）＋ｑ（Ｙ−Ｙ２）＋ｒ（Ｚ−Ｚ２）＝０    （7）
式（７）を利用すると、認識空間１００またはターゲット空間２００の存在を平面１００ｂで区切った空間に制限することができる。たとえば、認識空間１００を平面１００ｂより共通特徴点Ｐ１に近い領域に設定して、その空間でだけ認識空間１００の成立を認めるようにすることができる。このとき、図１に示す任意の共通特徴点Ｑｎのグローバル座標を（Ｘｎ，Ｙｎ，Ｚｎ）とすれば、共通特徴点Ｑｎと平面１００ｂの符号付きの距離ｍは式（８）で計算することができる。
【００４６】
【数５】
2016151841.tif 000007
【００４７】
式（８）から共通特徴点Ｑｎは、ｍが正の値の場合は法線ベクトルが存在する空間、ｍが０の場合は平面１００ｂ上、ｍが負の値の場合は法線ベクトルが存在する空間と反対側の空間に存在する。このように、式（５）で計算したグローバル座標で直線や平面の式を特定して、識別空間１００に対するターゲット空間の帰属正を判別することができる。平面１００ｂを利用して無限の大きさをもつ認識空間１００またはターゲット空間２００の範囲を画定すると、後に説明するようにコンピュータ資源および消費電力の節約をもたらすことができる。
【００４８】
［デバイス制御システム］
図５は、被制御デバイス４８０ａ〜４８０ｄを制御するデバイス制御システム４００の概要を説明するための図である。有線または無線接続のネットワーク４２０で接続された制御装置４３０と４台の単体カメラ４０１〜４０７は独立型のステレオ・カメラを構成する。なお、単体カメラの台数は２台以上であればとくに制限はない。複数の単体カメラ４０１〜４０７は、被写体の共通特徴点を良好な角度から撮影できるように、３次元空間のそれぞれ異なる位置に光軸を自由な方向に向けて配置することができる。
【００４９】
設置時に単体カメラ４０１〜４０７の姿勢および相互の位置関係を拘束する必要がないことは良質な共通特徴点の撮影を可能にするため、独立型のステレオ・カメラの大きな利点である。制御装置４３０は簡易キャリブレーションをして、グローバル座標をいずれかの共通特徴点に設定したり４台の単体カメラ４０１〜４０７のなかから選択したいずれかのカメラ座標に一致させたりして設定することができる。制御装置４３０は、すべての単体カメラ４０１〜４０７から独立した筐体に設けてもよいし、いずれかの単体カメラに組み込むようにしてもよい。
【００５０】
単体カメラ４０１〜４０７は、撮影を開始すると３０ｆｐｓといった所定のフレーム・レートで制御装置４３０にタイムスタンプの付いた画像データのフレーム・シーケンスを出力する。制御装置４３０は、被制御デバイス４８０ａ〜４８０ｄのいずれかの操作を意図するユーザのジェスチャ（認識空間１００に対応）を撮影した画像データから、ジェスチャに対する被制御デバイスの帰属性を判別して、帰属したと判断したときは被制御デバイス４８０に制御信号を送る。ここに被制御デバイス４８０ａ〜４８０ｄはターゲット空間２００を構築し、ジェスチャは認識空間１００を構築する。被制御デバイス４８０ａ〜４８０ｄは、ネットワーク４２０または異なる経路を通じて制御装置４３０から制御信号を受け取ることができる。
【００５１】
図６は、ユーザが意図する被制御デバイス４８０ａに向けて指差しをするジェスチャ（指差しジェスチャ）をして制御する様子を示している。一例において被制御デバイス４８０ａ〜４８０ｄは、室内に存在する空調装置、テレビ、音響装置または照明器具などとすることができる。他の例において、被制御デバイス４８０ａ〜４８０ｄは、会議室に存在するプロジェクター、照明器具、マイクロフォン、電動式スクリーンまたはモニター・テレビなどとすることができる。
【００５２】
被制御デバイス４８０ａ〜４８０ｄはそれぞれ、被制御デバイス４８０ａに例示したようにターゲット空間２００を構築する１つ以上の共通特徴点Ｑ１ｓ〜Ｑ５ｓを備えている。一例において、共通特徴点Ｑ１ｓ〜Ｑ４ｓは、平面を形成できるように被制御デバイス４８０ａの４隅に対応している。他の例において共通特徴点Ｑ５ｓは、被制御デバイス４８０ａのいずれかのスイッチが存在する部位に対応している。
【００５３】
単体カメラ４０１〜４０７は、人物および被制御デバイス４０１〜４０７をさまざまな角度から撮影できるように配置している。図６ではユーザが、被制御デバイス４８０ａを操作するために共通特徴点Ｑ５ｓに対して指差しジェスチャをしている。このとき指差しジェスチャは、ユーザの額の両目の中央に対応する位置に設定した共通特徴点Ｐ１ｓと指先に設定した共通特徴点Ｐ２ｓを通過する指差し直線４９０が、１次元の認識空間１００を形成する。
【００５４】
被制御デバイス４８０ａのＱ１ｓ〜Ｑ４ｓが形成する平面または共通特徴点Ｑ５ｓは、ターゲット空間２００を形成する。指差し直線４９０が形成する認識空間１００は、ユーザが何らかの意図をもって形成したものであり、指差し直線４９０はユーザがその存在および領域を認識している空間といえる。ターゲット空間２００が認識空間１００に帰属することは、ユーザが意図する空間にターゲット空間２００が存在することを意味している。制御装置４３０は指差しジェスチャが形成する認識空間１００を通じて被制御デバイス４８０ａに対するユーザの意思を認識することができる。
【００５５】
このような認識空間１００を通じたターゲット空間２００の間接的な認識方法は、共通特徴点Ｐ１ｓ、Ｐ２ｓ、Ｑ１ｓ〜Ｑ５ｓのグローバル座標における絶対座標の取得を不要にする。さらに、共通特徴点Ｐ２ｓを含み指差し直線４９０に垂直な平面４９１を補助的に構築することができる。平面４９０は図１に示した平面１００ｂに対応しており、制御装置４３０が人物またはジェスチャをトラッキングして有効な指差しジェスチャを認識するためのトラッキング空間を画定する。
【００５６】
図７は、制御装置４３０の構成を示す機能ブロック図である。制御装置４３０は、入力部４３１、ジェスチャ認識部４３３、デバイス認識部４３５、帰属性判別部４３７、出力部４３９、キャリブレーション実行部４４１および特徴点登録部４４３を含んでいる。制御装置４３０の各要素は、コンピュータを構成するＣＰＵ、システム・メモリ、不揮発性メモリ、および入出力デバイスなどのハードウェア資源およびＣＰＵが実行するソフトウェア資源で実現することができる。なお、ソフトウェア資源は、制御装置４３０の図示しない記憶装置に格納しておくか、ネットワーク４３０を通じてサーバからダウンロードすることができる。
【００５７】
入力部４３１は、単体カメラ４０１〜４０７から、カメラの識別子と撮影時刻を示すタイムスタンプの付いたフレーム・シーケンスを受け取ってジェスチャ認識部４３３またはキャリブレーション実行部４４１に送る。特徴点登録部４４３は、人物、指差しジェスチャ、指差しジェスチャの共通特徴点および被制御デバイス４８０ａ〜４８０ｄの共通特徴点のテンプレート、および被制御デバイス４８０ａ〜４８０ｄの識別子を格納している。
【００５８】
制御装置４３０は、ユーザの指示によりキャリブレーション・モードと制御モードのいずれかで動作する。ジェスチャ認識部４３３、デバイス認識部４３５、および帰属性判別部４３７は制御モードで動作し、キャリブレーション実行部４４１はキャリブレーション・モードで動作する。入力部４３１はキャリブレーション・モードのときにフレームをキャリブレーション実行部４４１に送り、制御モードのときにジェスチャ認識部４３３に送る。
【００５９】
キャリブレーション実行部４４１は、非特許文献１に記載する方法またはその他の周知の方法で簡易キャリブレーションを実行して、各単体カメラ４０１〜４０７のカメラ座標のグローバル座標に対する回転行列を計算する。キャリブレーション実行部４４１は回転行列をジェスチャ認識部４３３およびデバイス認識部４３５に送る。ユーザは、単体カメラ４０１〜４０７の位置および姿勢を変更するたびにおよび単体カメラの台数を増やすたびに簡易キャリブレーションを実行させる。
【００６０】
ジェスチャ認識部４３３は、単体カメラ４０１〜４０７の複数のフレームのなかから最も認識の確率が高いフレームを選択して、人物および指差しジェスチャを認識する。ジェスチャ認識部４３３は、平面４９１で仕切られたトラッキング空間を画定する。ジェスチャ認識部４３３はトラッキング空間で行われた指差しジェスチャを認識したときに、式（３）、（４）で説明したように共通特徴点Ｐ１ｓ、Ｐ２ｓの画像座標（Ｕｌ，Ｖｌ）、（Ｕｒ，Ｖｒ）を計算する。ジェスチャ認識部４３３は画像座標を計算したときに、単体カメラ４０１〜４０７の識別子、共通特徴点Ｐ１ｓ、Ｐ２ｓの識別子および画像座標、およびタイムスタンプを帰属性判別部４３７に送り、さらにデバイス認識部４３５に各単体カメラ４０１〜４０７のフレームを送る。
【００６１】
デバイス認識部４３５は、単体カメラ４０１〜４０７のフレームのなかから最も認識の確率が高いフレームを選択して被制御デバイス４８０ａ〜４８０ｄを認識し、共通特徴点Ｑ１ｓ〜Ｑ５ｓの画像座標（Ｕｌ，Ｖｌ）、（Ｕｒ，Ｖｒ）を計算する。デバイス認識部４３５は、単体カメラ４０１〜４０７の識別子、共通特徴点Ｑ１ｓ〜Ｑ５ｓの識別子および画像座標、およびタイムスタンプを帰属性判別部４３７に送る。
【００６２】
帰属性判別部４３７は、タイムスタンプの時刻が同一かあるいは所定の閾値未満のフレームが含む共通特徴点から式（５）でジェスチャの共通特徴点Ｐ１ｓ、Ｐ２ｓのグローバル座標を計算して式（６）の指差し直線４９０の式を特定する。さらに、帰属性判別部４３７は、被制御デバイス４８０ａの共通特徴点Ｑ１ｓ〜Ｑ５ｓのグローバル座標から、指差し直線４９０に対する被制御デバイス４８０ａの帰属性を判別する。
【００６３】
帰属性を判別した帰属性判別部４３７は、特徴点登録部４４３を参照して取得した被制御デバイス４８０ａの識別子を出力部４３９に送る。帰属性は、共通特徴点Ｑ１ｓないしＱ４ｓが形成する平面と指差し直線４９０が交差するかどうか、あるいは、共通特徴点Ｑ５ｓが指差し直線４９０に帰属するか否かで判別することができる。出力部４３９はネットワーク４２０を通じてまたはＮＦＣ通信などで、識別子に対応する被制御デバイス４８０ａに制御信号を出力する。
【００６４】
［制御システムの動作］
図８はデバイス制御システム４００の動作を示すフローチャートである。ブロック５０１でユーザは特徴点登録部４４３に、制御に必要な共通特徴点のテンプレートを格納する。ブロック５０３で、単体カメラ４０１〜４０７を被写体の撮影に都合がよい位置に自由な姿勢で配置する。ブロック５０５でユーザが制御装置４３０に指示してキャリブレーション・モードで動作させ、簡易キャリブレーションを実行する。制御装置４３０は、外部パラメータの平行移動ベクトルは推定しないが回転行列を推定する。
【００６５】
ブロック５０７で制御装置４３０が制御モードで動作すると、ブロック５０９でジェスチャ認識部４３３は任意のタイイングでユーザが行う指差しジェスチャを認識するために、単体カメラ４０１〜４０７が撮影した単一または複数の人物のトラッキングを開始する。人物またはジェスチャのトラッキング、ジェスチャの認識、被制御デバイス４８０ａ〜４８０ｄの認識、共通特徴点の座標計算、および帰属性の判別などには電力を含めて多量のコンピュータ資源を消費する。
【００６６】
したがって制御装置４３０がトラッキング空間を限定して、その範囲を外れたジェスチャはトラッキングの対象から除外することができれば無駄に資源を消費しないため有益である。ここでは被制御デバイス４８０ａ〜４８０ｄを制御するための指差しジェスチャを、トラッキング空間を画定する目的にも利用する。ただし、被制御デバイス４８０ａ〜４８０ｄを制御する指差しジェスチャとトラッキング空間を画定するジェスチャは異なっていてもよい。
【００６７】
ブロック５１１で、ユーザがトラッキング空間を画定するための指差しジェスチャをする。被制御デバイス４８０ａ〜４８０ｄを制御するための指差しジェスチャとトラッキング空間を画定するための指差しジェスチャを区別するために、ユーザは指差しジェスチャの前に制御装置４３０にトラッキング空間の画定をする指示をすることができる。その後ユーザは指差しジェスチャを自分の行動範囲の境界を画定する平面４９１を構築するために行う。ジェスチャ認識部４３３は、指先の共通特徴点Ｐ２ｓを通り指差し直線４９０に垂直な法線を有する平面４９１を設定する。
【００６８】
ユーザは自分の周囲の異なる方向に対する複数回の指差しジェスチャをして、周りを囲む複数の平面４９１を設定しトラッキング空間を画定してもよい。ジェスチャ認識部４３３は、共通特徴点Ｐ２ｓを通過する１つまたは複数の平面４９１の内側に人物が存在する場合に限り、ジェスチャを認識してステレオ・マッチングによる共通特徴点Ｐ１ｓ、Ｐ２ｓの画像座標を計算する。
【００６９】
したがって、人物が平面４９１で画定された空間の内側に存在しない場合は、ジェスチャ認識部４３３は、ジェスチャの認識および共通特徴点Ｐ１ｓ、Ｐ２ｓの座標計算をしない。さらにデバイス認識部４３５および帰属性判別部４３７も動作しないため画像座標やグローバル座標をユーザの位置とは無関係に継続的に計算する場合に比べて消費電力とコンピュータ資源の節約をすることができる。
【００７０】
ブロック５１３でジェスチャ認識部４３３はデバイス制御のための指差しジェスチャを認識する。ブロック５１４でジェスチャ認識部４３３は、指差しジェスチャを構成する共通特徴点Ｐ１ｓ、Ｐ２ｓの画像座標を計算して帰属性判別部４３７に送る。ブロック５１５でデバイス認識部４３５は、被制御デバイス４８０ａ〜４８０ｄの共通特徴点の画像座標Ｑ１ｓ〜Ｑ５ｓを計算して帰属性判別部４３７に送る。
【００７１】
ブロック５１７で帰属性判別部４３７は、撮影時刻が最も近い２つのフレームでステレオ・マッチングをして指差しジェスチャの共通特徴点Ｐ１ｓ、Ｐ２ｓのグローバル座標を計算する。さらに帰属性判別部４３７は、共通特徴点Ｐ１ｓ、Ｐ２ｓを通過する指差し直線４９０のパラメータを計算して認識空間１００を画定する。
【００７２】
ブロック５１９で帰属性判別部４３７は、撮影時刻が最も近い２つのフレームでステレオ・マッチングをして被制御デバイス４８０ａ〜４８０ｄの共通特徴点Ｑ１ｓ〜Ｑ５ｓのグローバル座標を計算する。ブロック５２１で帰属性判別部４３７は、認識した共通特徴点Ｑ１ｓ〜Ｑ５ｓの、指差し直線４９０に対する帰属性を判別する。ここでは、被制御デバイス４８０ａを構成する共通特徴点Ｑ１ｓ〜Ｑ４ｓが形成する平面または共通特徴点Ｑ５ｓの指差し直線４９０に対する帰属性を判別する。
【００７３】
ブロック５２３で帰属性判別部４３７はネットワーク４２０を通じて帰属性を判別した被制御デバイス４８０ａに対して制御信号を送る。制御信号は、一例において、停止している被制御デバイス４８０ａを動作させ、動作している被制御デバイス４８０ａを停止させる信号とすることができる。あるいは制御信号は、被制御デバイス４８０ａのスクリーンが表示する画面を変更する信号とすることができる。
【００７４】
これまで、デバイス制御システム４００を指差しジェスチャによる被制御デバイスの制御に適用する例を説明したが、本発明は認識空間１００が３次元の場合にも適用できる。一例では、設置場所の制約や障害物があるために一般的な赤外線監視装置が設置できないような場所にデバイス制御システム４００を設置する。監視区域に認識空間１００を構築することで、ターゲット空間２００となる人物や動物が認識空間１００に入った場合にアラートを出すことができる。この場合は認識空間１００のグローバル座標は固定であるが、ターゲット空間２００のグローバル座標は時間的に変化する。このとき、画像認識をして人物や動物の識別を同時に行うことで、所定の監視区域への進入を人物や動物の特定も含めて行うことができる。
【００７５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００７６】
１００  認識空間
１００ａ  認識空間を構成する直線
１００ｂ、１００ｃ  認識空間を構成する平面
１００ｄ  認識空間を構成する三角形１００ｄ
１００ｅ  認識空間を構成する立体
２００  ターゲット空間
２００ａ  ターゲット空間を構成する線分
２００ｂ  ターゲット空間を構成する三角形
２００ｃ  ターゲット空間を構成する立体
３００  ステレオ・カメラ
３０１、３０３、４０１〜４０７  単体カメラ
３０５ａ、３０５ｂ  仮想画像面
４００  デバイス制御システム
４８０ａ〜４８０ｄ  被制御デバイス
４９０  指差し直線
４９１  ジェスチャ認識する空間を画定する平面
Ｐ１〜Ｐ９  認識空間の共通特徴点
Ｐ１ｓ、Ｐ２ｓ  指差しジェスチャの共通特徴点
Ｑ１〜Ｑ９、Ｑｎ  ターゲット空間の共通特徴点
Ｑ１ｓ〜Ｑ５ｓ  被制御デバイス４８０ａの共通特徴点
Ｌ  基線長
ａ、ｂ、ｃ  平行移動ベクトル
【図１】
2016151841.tif 000008
【図２】
2016151841.tif 000009
【図３】
2016151841.tif 000010
【図４】
2016151841.tif 000011
【図５】
2016151841.tif 000012
【図６】
2016151841.tif 000013
【図７】
2016151841.tif 000014
【図８】
2016151841.tif 000015