(57)【要約】【課題】マーカとマーカの観測物とが正対する場合でも、マーカの位置姿勢を正確に計測することができるシステムを提供する。【解決手段】マイクロレンズアレイを用いたマーカと、マーカを撮影するカメラと、計算機とを備える位置姿勢検出システムであって、マーカは、マイクロレンズアレイとこのマイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマークが配列されたマーク列とによってモアレパターンを生じるように構成されたレンズエリアと、４つの基準点とを備える。４つの基準点に基づいてマーカの位置姿勢を判定し、モアレパターンを解析して、モアレパターンによってレンズエリアに出現する統合マークの中心とマーカの観測点とを結ぶ直線がマーカに対して成す角度を算出し、算出された角度を用いてマーカの位置姿勢を修正する位置姿勢検出システム。【選択図】図８
2014102246.tif 000002
【特許請求の範囲】
【請求項１】
マイクロレンズアレイを用いたマーカと、前記マーカを撮影するカメラと、前記カメラが撮影した前記マーカの画像を含むマーカ画像を受信する計算機と、を備える位置姿勢検出システムであって、
前記マーカは、
前記マイクロレンズアレイと、前記マイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマークが配列されたマーク列とによって、モアレ（干渉縞）パターンを生じるように構成されたレンズエリアと、
４つの基準点と、
を備え、
前記計算機は、
前記マーカ画像に含まれる前記４つの基準点に基づいて、前記マーカの位置姿勢を判定する位置姿勢判定部と、
前記モアレパターンを解析して、前記モアレパターンによって前記レンズエリアに出現するマークであって前記複数のマークと相似形状のマークである統合マークの中心と前記マーカの観測点とを結ぶ直線が前記マーカに対して成す角度を算出する角度算出部と、
前記角度算出部において算出された前記角度を用いて、前記位置姿勢判定部において判定された前記マーカの前記位置姿勢を修正する位置姿勢修正部と、
を備えることを特徴とする位置姿勢検出システム。
【請求項２】
前記位置姿勢判定部は、
前記マーカ画像中における前記マーカの画像を含む画像領域を拡大して前記４つの基準点の重心を算出した後、前記マーカの画像を含む画像領域を元のサイズにリサイズして、前記基準点の重心をサブピクセル精度で判定することにより、前記マーカ画像中における前記４つの基準点の位置を検出し、
検出された前記マーカ画像中における前記４つの基準点の位置を用いて前記マーカの前記位置姿勢を判定すること
を特徴とする請求項１に記載の位置姿勢検出システム。
【請求項３】
前記マーカは正方形状であり、
前記角度算出部は、前記４つの基準点が正方形の４隅に位置し、かつ前記マーカに正対する方向から観察される外観と同一となるように、前記マーカの画像を変換することを特徴とする請求項１又は２に記載の位置姿勢検出システム。
【請求項４】
前記角度算出部は、
前記マーカ画像中における前記マーカの前記レンズエリアの画像を含む画像領域を拡大して前記統合マークの位置を算出した後、前記レンズエリアの画像を含む画像領域を元のサイズにリサイズして、前記統合マークの位置をサブピクセル精度で判定するマーク位置判定部を有し、
前記マーク位置判定部で判定された前記統合マークの位置を用いて、前記角度を算出すること
を特徴とする請求項１から３のいずれか一項に記載の位置姿勢検出システム。
【請求項５】
前記マーク位置判定部は、前記レンズエリアの画像を二値化処理して領域分割した後の画像において黒色部分の面積が最大である領域の重心を前記統合マークの位置とすることを特徴とする請求項４に記載の位置姿勢検出システム。
【請求項６】
前記統合マークは十字型であり、
前記マーク位置判定部は、複数のサンプリング点が十字型に並んだサンプリング点集合を用いて前記レンズエリアの画像内をスキャンし、各サンプリング点の計測値の合計が最大または最小であるサンプリング点の集合の中心位置を前記統合マークの位置とすることを特徴とする請求項４に記載の位置姿勢検出システム。
【請求項７】
前記角度算出部は、前記複数のマークが配列された二次元平面上における前記統合マークの位置を所定の線形の変換式を用いて変換することによって前記角度を算出し、
前記位置姿勢修正部は、前記位置姿勢判定部において判定された前記マーカの前記位置姿勢から算出される点Pvrを、前記統合マークの中心と前記マーカの観測点とを結ぶ直線上の点Pvcであって前記レンズエリアの中心からの距離が前記レンズエリアの中心と前記点Pvrとの距離と同一である点Pvcとするような回転行列を算出し、前記回転行列の逆行列を前記マーカの前記位置姿勢を示す行列に乗算することで前記マーカの前記位置姿勢を修正すること
を特徴とする請求項１から６のいずれか一項に記載の位置姿勢検出システム。
【請求項８】
請求項１から７のいずれか一項に記載の位置姿勢検出システムと、前記位置姿勢検出システムの前記マーカが付されたポインタによって指し示されるスクリーンと、を備えるポインタシステムであって、
前記位置姿勢修正部によって修正された前記マーカの前記位置姿勢に基づいて、前記マーカの垂線と前記スクリーンとの交点を判定する交点判定部と、
前記交点を前記スクリーン上に表示する表示部と、
を備えるポインタシステム。
【請求項９】
マイクロレンズアレイと前記マイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマークが配列されたマーク列とによってモアレ（干渉縞）パターンを生じるように構成されたレンズエリアと４つの基準点とを備えるマーカと、前記マーカを撮影するカメラと、前記カメラが撮影した前記マーカの画像を含むマーカ画像を受信する計算機と、を備える位置姿勢検出システムが実行する方法であって、
前記計算機が、前記マーカ画像に含まれる前記４つの基準点に基づいて、前記マーカの位置姿勢を判定するステップと、
前記計算機が、前記モアレパターンを解析して、前記モアレパターンによって前記レンズエリアに出現するマークであって前記複数のマークと相似形状のマークである統合マークの中心と前記マーカの観測点とを結ぶ直線が前記マーカに対して成す角度を算出するステップと、
前記計算機が、算出された前記角度を用いて、前記マーカの前記位置姿勢を修正するステップと、
を含むことを特徴とする方法。
【請求項１０】
マイクロレンズアレイと前記マイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマークが配列されたマーク列とによってモアレ（干渉縞）パターンを生じるように構成されたレンズエリアと４つの基準点とを備えるマーカが付されたポインタと、前記マーカを撮影するカメラと、前記カメラが撮影した前記マーカの画像を含むマーカ画像を受信する一または複数の計算機と、前記ポインタによって指し示されるスクリーンと、を備えるポインタシステムが実行する方法であって、
前記一または複数の計算機が、前記マーカ画像に含まれる前記４つの基準点に基づいて、前記マーカの位置姿勢を判定するステップと、
前記一または複数の計算機が、前記モアレパターンを解析して、前記モアレパターンによって前記レンズエリアに出現するマークであって前記複数のマークと相似形状のマークである統合マークの中心と前記マーカの観測点とを結ぶ直線が前記マーカに対して成す角度を算出するステップと、
前記一または複数の計算機が、算出された前記角度を用いて、前記マーカの前記位置姿勢を修正するステップと、
前記一または複数の計算機が、修正された前記マーカの前記位置姿勢に基づいて、前記マーカの垂線と前記スクリーンとの交点を判定するステップと、
前記一または複数の計算機が、前記交点を前記スクリーン上に表示するステップと、
を含むことを特徴とする方法。
【請求項１１】
マイクロレンズアレイと前記マイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマークが配列されたマーク列とによってモアレ（干渉縞）パターンを生じるように構成されたレンズエリアと４つの基準点とを備えるマーカと、前記マーカを撮影するカメラと、前記カメラが撮影した前記マーカの画像を含むマーカ画像を受信する計算機と、を備えるコンピュータシステムに位置姿勢検出処理を実行させるためのプログラムであって、前記コンピュータシステムに、
前記計算機が、前記マーカ画像に含まれる前記４つの基準点に基づいて、前記マーカの位置姿勢を判定するステップと、
前記計算機が、前記モアレパターンを解析して、前記モアレパターンによって前記レンズエリアに出現するマークであって前記複数のマークと相似形状のマークである統合マークの中心と前記マーカの観測点とを結ぶ直線が前記マーカに対して成す角度を算出するステップと、
前記計算機が、算出された前記角度を用いて、前記マーカの前記位置姿勢を修正するステップと、
を実行させるためのプログラム。
【請求項１２】
マイクロレンズアレイと前記マイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマークが配列されたマーク列とによってモアレ（干渉縞）パターンを生じるように構成されたレンズエリアと４つの基準点とを備えるマーカが付されたポインタと、前記マーカを撮影するカメラと、前記カメラが撮影した前記マーカの画像を含むマーカ画像を受信する一または複数の計算機と、前記ポインタによって指し示されるスクリーンと、を備えるコンピュータシステムに仮想的レーザポインティング処理を実行させるためのプログラムであって、前記コンピュータシステムに、
前記一または複数の計算機が、前記マーカ画像に含まれる前記４つの基準点に基づいて、前記マーカの位置姿勢を判定するステップと、
前記一または複数の計算機が、前記モアレパターンを解析して、前記モアレパターンによって前記レンズエリアに出現するマークであって前記複数のマークと相似形状のマークである統合マークの中心と前記マーカの観測点とを結ぶ直線が前記マーカに対して成す角度を算出するステップと、
前記一または複数の計算機が、算出された前記角度を用いて、前記マーカの前記位置姿勢を修正するステップと、
前記一または複数の計算機が、修正された前記マーカの前記位置姿勢に基づいて、前記マーカの垂線と前記スクリーンとの交点を判定するステップと、
前記一または複数の計算機が、前記交点を前記スクリーン上に表示するステップと、
を実行させるためのプログラム。
【請求項１３】
請求項１１または１２に記載のプログラムを記憶するプログラム記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体に付することが可能なマーカを用いた位置姿勢検出システムに関する。
【背景技術】
【０００２】
ARマーカは、安価なカメラと合わせてAugmented Realityを簡単に実現する有用なツールであり、ARToolKit（非特許文献１）をはじめ複数種類のものが存在する。従来の平面視覚マーカの多くは、射影変換の原理を用いた三次元幾何計算によりマーカの位置・姿勢を算出する。例えば、位置関係が既知の四点（マーカの四隅等）を抽出し、画像上でのそれらの位置からカメラとマーカの相対的な位置・姿勢を一意に決定する（以下、「従来のマーカの位置姿勢検出手法」、「従来手法」等と称する）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】"ARToolKit"、［online］、［平成２４年１０月２３日検索］、インターネット〈URL：http://www.hitl.washington.edu/artoolkit/〉
【非特許文献２】Y.Uematsu and H.Saito, "Improvement of Accuracy for 2D Marker-Based Tracking Using Particle Filter", in Proc. 17th Intl. Conf. Artificial Reality and Telexistence 2007, pp.183-189, 2007.
【非特許文献３】Grapac Japan、“３Ｄ印刷素材・印刷／加工”、［online］、［平成２４年１０月２３日検索］、インターネット〈URL：http://www.grapac.co.jp/print/print.html〉
【非特許文献４】M. G. Lippmann: Epreuves reversibles donnant la sensation du relief, J. Phys. (Paris) 7, 821-825 (1908).
【非特許文献５】F.Dunn and I.Parberry, "3D Math Primer for Graphics and Game Development, 2nd Edition", A K Peters/CRC Press, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような方式では、画像上での検出点のずれが姿勢推定精度に影響する。特にマーカとマーカの観測物（観測者）とが正対したとき、つまりマーカ平面と観測物（観測者）のマーカに対する視線とが垂直に近い位置関係のとき、視線が傾いているときに比べてマーカの見かけの角度変化が大きくなり、マーカの姿勢の推定精度が悪化する（非特許文献２）。この「マーカの正面付近からマーカが観測されるときの姿勢推定精度の悪化」は従来のARマーカに共通する性質であり、原理的に解決困難な問題である。フィルタ技術によって推定値の安定化はできても、推定値の「正しさ」を保証することは難しい。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明の一態様では、新しい計測原理を導入することで上記の問題を解決する。本発明の一態様に係る位置姿勢検出システムに用いられるARマーカは、マイクロレンズアレイによって生成されるモアレ（干渉縞）パターンをもつ。このモアレパターンがマーカを見る角度に応じて変化するため、画像処理によってモアレパターンを解析することでマーカに対する視線の角度の情報を抽出できる。この本発明の一態様によって提案される新しいARマーカを用いることで、マーカの正面付近からマーカが観測される場合でも従来のARマーカでは困難なレベルの精度で安定した姿勢推定を実現する。
【発明の効果】
【０００６】
本発明の一態様によれば、マーカの正面付近からマーカが観測される場合でも、高精度で安定したマーカの姿勢推定が可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る位置姿勢検出システムに用いられるARマーカであるArrayMarkのプロトタイプの一例を示す図である。
【図２】本発明の一実施形態に係るArrayMarkのデザインの一例を示す図である。
【図３】本発明の一実施形態に係るArrayMarkにおけるレンズエリアの構造の一例を示す図である。
【図４】本発明の一実施形態に係るArrayMarkにおけるマイクロレンズと＋記号の位置関係の一例を示す図である。
【図５】本発明の一実施形態に係るArrayMarkにおけるレンズエリアの実例としての顕微鏡写真を示す図である。
【図６】本発明の一実施形態に係るArrayMarkにおける視線角度に応じた＋マークの見た目の動きの様子を示す図である。
【図７】本発明の一実施形態に係るArrayMarkにおけるパターン変化の原理を示す概略図である。
【図８】本発明の一実施形態に係る位置姿勢検出システムにおける姿勢推測の処理手順を示す図である。
【図９】本明細書中における「視線角度」の定義について説明する図である。
【図１０】本発明の一実施形態に係る位置姿勢検出方法における＋マークの位置からの視線角度の計算方法について説明する図である。
【図１１】本発明の一実施形態に係る位置姿勢検出方法における視線角度に応じた＋マークの位置の変化の一例を示す図である。
【図１２】＋マークの位置から計算される視点の計算方法について説明する図である。
【図１３】本発明の一実施形態に係る位置姿勢検出方法における姿勢の修正の計算方法について説明する図である。
【図１４】本発明の一実施形態に係る位置姿勢検出システムの性能検証を行った際の測定環境を示す図である。
【図１５】本発明の一実施形態に係る位置姿勢検出方法と従来の位置姿勢検出方法の性能を比較した図である。
【図１６】本発明の一実施形態に係る位置姿勢検出方法と従来の位置姿勢検出方法の性能を比較した図である。
【図１７】本発明の一実施形態に係る位置姿勢検出方法と従来の位置姿勢検出方法の性能を比較した図である。
【図１８】本発明の一実施形態に係る位置姿勢検出システムを利用したアプリケーションの具体例を示す図である。
【図１９】本発明の一実施形態に係る位置姿勢検出システムを利用したアプリケーションの具体例を示す図である。
【図２０】本発明の一実施形態に係る位置姿勢検出システムの構成の一例を示す図である。
【図２１】本発明の一実施形態に係る位置姿勢検出システムの処理の一例を示すフロー図である。
【図２２】本発明の他の実施形態に係る位置姿勢検出システムを利用したアプリケーションの構成の一例を示す図である。
【図２３】本発明の一の実施形態に係る位置姿勢検出システムに含まれる各装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について詳述する。
【０００９】
［マイクロレンズアレイを用いた高精度ARマーカ］
（ArrayMarkのデザイン）
図１は、本実施形態に係る位置姿勢検出システムに用いられるARマーカであるArrayMarkの一例を示す。図１に示されるArrayMark１００は、正方形の板状のマーカである。また、ArrayMark１００の外枠（フレーム）の正方形の一辺の長さは15mmである。ArrayMarkのデザインの一例を図２に示す。図２に示されるArrayMarkは、画像変換と初期の位置・姿勢推定を行うための４つの基準点（Reference points）１２０ａ、１２０ｂ、１２０ｃ、１２０ｄを備える。また、マーカ１００の向きを識別するため、１つの基準点（本例では基準点１２０ａ）は他の３つ（本例では基準点１２０ｂ、１２０ｃ、１２０ｄ）より小さくなっている。マーカ１００は、その中央に、二次元のモアレパターンが表示される円形のレンズエリア１１０を備える。マーカを識別するためのＩＤは、例えば、ArrayMark１００の脇に何らかのパターンを導入すること等で実装可能である。
【００１０】
（レンズエリアの構造）
図３にレンズエリア１１０の構造を示す。多くの“＋”記号１１１がマイクロレンズアレイ１１２の裏面に印刷されている。図４はマイクロレンズアレイ１１２を構成する各レンズと＋記号１１１の位置関係を示す図である。＋記号１１１の配列はマイクロレンズアレイ１１２の配列と相似であるが、本実施形態に係るArrayMarkでは、一例として、マイクロレンズアレイ１１２のレンズ配列のピッチよりも、＋記号１１１の配列のピッチは少し小さくなっている。なお、マイクロレンズアレイ１１２のレンズ配列のピッチと＋記号１１１の配列のピッチの大小関係が逆の場合は、レンズエリア１１０に出現する＋マーク（後述）の移動する向きが逆になるが、これは本質的な問題ではない。つまり、＋記号１１１の配列のピッチのほうがマイクロレンズアレイ１１２のそれより少し大きくなるようになっていても良い。
【００１１】
なお、図３等に示されるArrayMarkにおける＋記号は、一例であって、これに限定されない。例えば、＋記号の代わりに円形のマークやドット型のマークが採用されてもよい。
【００１２】
本実施形態に係るArrayMark１００においては、レンズのちょうど中央（真下）に＋記号が印刷されているレンズをセンターレンズ１１３と呼ぶ。センターレンズ１１３から遠ざかるほど、マイクロレンズアレイ１１２と＋記号１１１との位相差は大きくなる。図５にレンズエリアの顕微鏡写真の一例を示す。
【００１３】
（ArrayMarkの挙動とその原理）
まず、本実施形態に係るArrayMarkの挙動について説明する。図６に視線角度に応じてレンズエリア１１０に出現する＋マーク１１５の見た目の動きの様子を示す。図７はパターン変化の原理を示す概略図である。マイクロレンズアレイ１１２を構成する各レンズは、それぞれ、各レンズに対応する（小さい）＋記号１１１について、＋記号１１１の異なる部分を拡大する。ここで、マーカ１００のレンズエリア１１０に現れる大きな＋マーク１１５は、各レンズによって拡大された各＋記号の各部分が統合されることで生成されるイメージである。これは、一次元モアレ効果の拡張である二次元のモアレ効果で生成される。これは３次元表示で用いられるintegral-imagingの技術（例えば、非特許文献４）と同じ機構をもつ。本実施形態に係る位置姿勢検出システムでは、この機構は、視線角度を求めるために使用される。（本明細書中、各レンズに対応する＋記号１１１は“＋記号”、複数の＋記号１１１の各部分が拡大され、統合されてレンズエリア１１０に出現する大きい＋マーク１１５を“＋マーク”とそれぞれ呼称して区別する。）
【００１４】
［位置姿勢推定アルゴリズム］
本実施形態に係る位置姿勢検出システムでは下記の手順によってArrayMarkの位置・姿勢を推定する（図８参照）。
A) ４つの基準点１２０ａ、１２０ｂ、１２０ｃ、１２０ｄを用いて六自由度の位置・姿勢を計算する。
B) ＋マーク１１５の位置を検出する。
C) 視線角度を計算する。
D) 視線角度の情報を用いて三自由度の姿勢成分を修正する。
【００１５】
上記のステップB)〜D)はArrayMarkを正面付近から観測したときに、ArrayMarkの姿勢をより高精度に求めるために実行される。
【００１６】
以下、各ステップA)〜D)について詳述する。
【００１７】
（A. ４つの基準点を用いて六自由度の位置・姿勢を計算する）
このフェーズは下記の手順で実行する。
1) カメラ２００によって撮影されたマーカ１００を含むマーカ画像１５０について、輪郭検出処理によりマーカ１００の画像に該当する矩形領域を検出する。
2) 1)で検出された領域を囲む矩形領域１５１を設定する。
3) 2)で設定された矩形領域１５１を一定の大きさにリサイズする。
4) 3)でリサイズされた画像（矩形領域）を二値化し領域分割する。
5) 面積、幅、縦横比のフィルタによって画像中の４つの基準点１２０を検出する。
6) 検出された４つの基準点１２０を、それらの位置関係を用いてラベリングする。
7) 原画像中での各基準点の位置を計算する。
8) 7)で計算された４つの基準点の位置を用い、画像平面から実空間のマーカ１００への同次変換行列を求める。
【００１８】
（B. ＋マークの検出）
9) 6)でラベリングされた４つの基準点１２０が正方形の四隅にくるような透視変換を計算する。
10) 3)でリサイズされた画像を、9)の変換によってマーカ１００を正面から見たときのような歪みのない画像に変換する。そのときの画像サイズは300pixel×300pixelになるようにする。
11) 10)の処理が実行された画像を二値化し、図８に示される画像マスク１３０によってマスク処理をし、白い画像に貼り付ける。
12) 10)の処理が実行された画像に、図８に示される画像マスク１３０によってマスク処理をし、黒い画像に貼り付ける。
13) 11)の処理が実行された画像を領域分割し、黒い部分の面積が最大の領域およびその重心を検出する。これを＋マーク１１５の粗位置とする。
14) 12)の処理が実行された画像において＋マーク１１５の粗位置の周りに64pixel×64pixelの探索領域を設定する。
15) 12)の処理が実行された画像において、図８に示されるサンプリング点集合（十字型）で輝度値のスキャンを行う。スキャンはサンプリング点集合の中心が14)で設定された探索領域の中にある範囲で行う。輝度vdは下記によって計算される。
vd＝有効サンプリング点の輝度値の合計／有効サンプリング点の数
【００１９】
ここで、「有効」とはレンズエリア１１０の中にサンプリング点があることを意味する。この結果、最も低いvdの値を出した＋字型のサンプリング点の位置を＋マーク１１５の精密位置とする。
【００２０】
また、モノクロの輝度値の代替例として、特定の色に着目した輝度値等が採用されてもよい。例えば、＋マークの色が赤である場合は、サンプリング点の計測値を画像の三原色ＲＧＢのうちのＲとし、計測値の合計が最大の位置を＋マークの位置としてもよい。
【００２１】
また、マーカの二次元モアレパターンによって出現するマークが＋マーク以外である場合は、上述したサンプリング点の集合の形は、そのマークの形状に合わせた形状であってよい。
【００２２】
（C. 視線角度の計算）
本明細書中においては、「視線」（Visual line）を、＋マーク１１５の中心と観測視点（Viewpoint）を結ぶ直線と定義する（図９）。また、「視線角度」θvc,φvcは、図９に示されるように定義される。θvcは“π/2−仰角”、φvcは“方位角”に相当する。すなわち、「視線角度」は、モアレパターンによってレンズエリア１１０に出現するマークであって複数のマーク（＋記号１１１）と相似形状のマーク（＋マーク１１５）の中心と、マーカ１００の観測点（例えば、カメラ２００の撮影位置）とを結ぶ直線である視線が、マーカ１００に対して成す角度と言うこともできる。また、図４に示すようなマイクロレンズ１１２と＋パターン１１１の位置関係により、(θvc, φvc)の組は＋マーク１１５の位置(xc, yc)と一対一に対応する。
【００２３】
本実施形態において、＋マーク１１５の位置(xc, yc)と視線角度θvc, φvcとの関係は以下の式(1)〜(5)の通りである（図１０）。
【００２４】
【数１】
2014102246.tif 000003
【００２５】
なお、図面中において「crisscross」とは、＋マーク１１５のことである。また、kはマーカ１００の実測によって求められる所定の定数である。
【００２６】
式(4)は線形であると仮定されている（図１１に、φvc=0のときのxcとθvcの関係を示す）。また、マーカ１００の使用時にはセンターレンズ１１３の二次元平面上の位置(xc0, yc0)が既知である必要がある。このデータは、例えば、マーカ１１０が工場で検査されるときにマーカ１１０に付加されるようになっていてもよい。
【００２７】
（D. 視線角度を用いた三自由度の姿勢の修正）
上記A.で求められる六自由度のArrayMark１００の位置・姿勢のうち、三自由度の姿勢成分を修正することでArrayMark１００の六自由度の位置・姿勢が求められる。
【００２８】
その修正は、以下の式(6)で行われる。
【００２９】
【数２】
2014102246.tif 000004
【００３０】
ここで、HAMはArrayMarkの六自由度の位置・姿勢を表現する同次変換行列（HTM）であり、HCMは上記ステップA.で求めたHTMである。RmodはHCMの回転成分を修正するHTMである。HCMは上記A.においてすでに計算されているので、Rmodをいかにして計算するかがポイントである。この点について以下に説明する。
【００３１】
姿勢修正の概念は、「間違った視点（Pvr）を正しい視点（Pvc）に引き戻す」というものである（図１２、図１３）。ここで、「正しい視点」とは＋マーク１１５を計測することで得られる観測視点のことである。
【００３２】
1) ＋マークを利用した観測視点の推定
(1) θvcとφvcから視線Lvcを求める。
【００３３】
(2) Lvc上にあり、マーカ１００の原点（レンズエリア１１０の中心）からの距離がdである点Pvcを求め、これを正しい視点とする。ここで、dは、マーカ１００の原点と、HCMから求まる視点Pvrとの距離である。
【００３４】
2) 姿勢修正量の計算
PvrからPvcへの姿勢修正は、ある回転軸周りの角度ρの回転として表現できる。回転軸ベクトルa=(ax, ay, az)Tは、以下の式(7)で計算できる。
【００３５】
【数３】
2014102246.tif 000005
【００３６】
ここで、“O”はArrayMark１００の原点（レンズエリア１１０の中心）である。Hρを、回転変換を表すHTMとすると、これは、以下の式(8)となる。
【００３７】
【数４】
2014102246.tif 000006
【００３８】
ここで、c=cosρ、s=sinρ、C=(1-cosρ)である（非特許文献５）。Rmodは、以下の式(9)によって計算される。
【００３９】
【数５】
2014102246.tif 000007
【００４０】
これにより、式(6)を用いてArrayMark１００の位置姿勢を計算することができる。ここで、式(6)は＋マーク１１５が検出できるときのみ利用可能である。よって、＋マーク１１５が検知できないときは、HAMの代わりにHCMをArrayMark１００の六自由度の位置・姿勢とするになっていてもよい。
【００４１】
図２０は、本実施形態に係る位置姿勢検出システムの構成の一例を示す図である。図２０に示される位置姿勢検出システム１は、マーカ１００と、カメラ２００と、計算機３００とを備える。
【００４２】
マーカ１００は、マイクロレンズアレイと、このマイクロレンズアレイを構成する複数のレンズ間のピッチと相似に複数のマーク（＋記号１１１）が配列されたマーク列とによって、モアレパターンを生じるように構成されたレンズエリア１１０と、４つの基準点１２０とを備える。
【００４３】
カメラ２００はマーカ１００を撮影して、撮影されたマーカ１００を含む画像を計算機３００に送信する。
【００４４】
計算機３００は、位置姿勢判定部３１０と、角度算出部３２０と、位置姿勢修正部３３０とを備える。
【００４５】
位置姿勢判定部３１０は、マーカ画像に含まれる４つの基準点１２０に基づいて、マーカ１００の位置姿勢を判定する。具体的には、例えば、位置姿勢判定部３１０は、上記A.の処理を実行する。
【００４６】
角度算出部３２０は、モアレパターンを解析して、モアレパターンによってレンズエリア１１０に出現する複数の＋記号１１１と相似形状のマークである＋マーク１１５の中心とマーカ１００の観測点とを結ぶ直線である視線Lvcが、マーカ１００に対して成す角度である視線角度θvc,φvcを算出する。具体的には、例えば、角度算出部３２０は、上記B.およびC.の処理を実行する。
【００４７】
位置姿勢修正部３３０は、角度算出部３２０において算出された視線角度を用いて、位置姿勢判定部３１０において判定されたマーカ１００の位置姿勢を修正する。具体的には、例えば、位置姿勢修正部３３０は、上記D.の処理を実行する。
【００４８】
また、ある代替例として、位置姿勢判定部３１０は、マーカ画像中におけるマーカ１００の画像を含む画像領域を拡大して４つの基準点１２０の重心を算出した後、マーカの画像を含む画像領域を元のサイズにリサイズして、基準点１２０の重心をサブピクセル精度で判定することにより、マーカ画像中における４つの基準点１２０の位置を検出し、この検出されたマーカ画像中における４つの基準点１２０の位置を用いてマーカ１００の位置姿勢を判定するようになっていてもよい。
【００４９】
また、他の代替例として、角度算出部３２０は、マーカ画像中におけるマーカ１００のレンズエリア１１０の画像を含む画像領域を拡大して＋マーク１１５の位置を算出した後、レンズエリア１１０の画像を含む画像領域を元のサイズにリサイズして、＋マーク１１５の位置をサブピクセル精度で判定するマーク位置判定部３２１を有し、マーク位置判定部３２１で判定された＋マーク１１５の位置を用いて、視線角度を算出するようになっていてもよい。
【００５０】
図２１は、本実施形態に係る位置姿勢検出システムの処理の一例を示すフロー図である。
【００５１】
位置姿勢判定部３１０は、カメラ２００で撮影されたマーカ１００の画像を含むマーカ画像に含まれる４つの基準点１２０に基づいて、マーカ１００の位置姿勢を判定する（ステップＳ１０１）。
【００５２】
角度算出部３２０は、モアレパターンを解析して、モアレパターンによってレンズエリア１１０に出現する複数の＋記号と相似形状のマークである＋マーク１１５の位置を算出する（ステップ１０３）。さらに、角度算出部３２０は、算出された＋マーク１１５の中心とマーカ１００の観測点とを結ぶ直線（視線Lvc）がマーカ１００に対して成す視線角度θvc, φvcを算出する（ステップＳ１０５）。
【００５３】
位置姿勢修正部３３０は、ステップＳ１０５において算出された視線角度を用いて、ステップＳ１０１において判定されたマーカ１００の初期の位置姿勢を修正する（ステップＳ１０７）。
【００５４】
［ArrayMarkの性能検証］
従来手法と比較しつつ、本実施形態に係る位置姿勢検出システムの性能を検証した。
【００５５】
（測定環境）
図１４は、本実施形態に係る位置姿勢検出システムの性能検証を行った際の測定環境を示す図である。まず、ArrayMarkの試験片を回転テーブルに乗せた。回転軸の方向はマーカ座標で (-1 1 0)T である。ビジョンセンサはUSB2.0 CMOSカメラのARTCAM-036SS-BW(ARTRAYCO., LTD.)である。画像解像度は752x480[pixel]であり、すべての計算処理はラップトップコンピュータ（CPU 64bit, 2.8GHz, RAM 8GB）によって行った。処理プログラムはC/C++言語で記述した。画像処理にはOpenCV2.3ライブラリを用いた。測定は通常のオフィス照明環境下で行った。
【００５６】
（測定結果）
計算速度
一つのArrayMarkの位置姿勢推定は、上記にて説明したラップトップコンピュータで28[Hz]程度の速度で実行できた。
【００５７】
画像上での最小サイズ
通常照明下で安定したマーカ認識を行うためには、画像上で約20[pixel]以上のマーカのサイズが必要であった。
【００５８】
姿勢推定誤差
ArrayMarkを±1[deg]ずつ回転させながら姿勢推定を行った。姿勢誤差は、マーカ座標の各軸ベクトルの真値と推定値との角度差の絶対値によって評価した。その標準偏差も測定し、誤差バーで表示した。比較のため、従来手法による姿勢推定も同時に行った。ArrayMarkの画像上でのサイズは92[pixel]であった（図１５）。
【００５９】
この結果により、正面付近から観測したとき従来手法による姿勢推定は誤差が大きく不安定である一方、ArrayMarkは高精度で安定した姿勢推定が可能なことが示された。
【００６０】
測定可能な角度範囲
視線角度がある値以上に大きくなると、＋マーク１１５はレンズエリア１１３の外に出てしまう。本測定においては、＋マーク１１５を検知可能な視線角度θvcの最大値は約10[deg]であった（ただし、この視線角度の値は一例であり、マーカ１００の構造などによって異なる）。そこで、例えば、＋マーク１１５の検知できる範囲では本発明の一実施形態に係るArrayMarkの位置姿勢検出方法で、それ以外では従来の位置姿勢検出方法で、というように姿勢推定の手法を視線角度に応じて切り替えるというアプローチを採用してもよい。
【００６１】
距離に対するロバスト性
観測距離に対する本発明の一実施形態に係る姿勢推定の精度の変化を調べた。姿勢誤差はマーカ１００の垂線ベクトルの真値と推定値との角度誤差で評価した。結果を図１６に示す。これより、本発明の一実施形態に係る姿勢推定の精度は観測距離が長くなってもそれほど悪化しないことが分かる。
【００６２】
照明条件に対するロバスト性
照明強度に対する本発明の一実施形態に係る姿勢推定の精度の変化を調べた。誤差評価の仕方は前節と同様である。結果を図１７に示す。これより、本発明の一実施形態に係る姿勢推定の誤差は照明が暗くなってもそれほど悪化しないことが分かる。
【００６３】
［アプリケーション例］
図１８および図１９は、本実施形態に係る位置姿勢検出システムを利用したアプリケーションの具体例を示す図である。
【００６４】
図１８は、バーチャルレーザーポインターの例である。カメラ１８０４とスクリーン１８０３の相対位置関係が既知であれば、ユーザが手に持って操作するポインタ１８０１に付されたマーカから垂線方向に出ている破線１８０２で表される仮想的なレーザービームがスクリーン１８０３の何処に当たるかを計算することができる。従来のマーカの姿勢検出は精度が悪いため、スクリーン１８０３に表示される仮想的なビームが大きく揺れてしまっていたが、本実施形態に係るマーカの姿勢検出方法によれば安定したポインタ表示が可能となる。
【００６５】
また、図１９は、自動駐車制御の例である。自動車や移動ロボット等の移動体１９０１に搭載されたカメラ１９０２によって、駐車位置付近に設置されたマーカが付されているマーカポスト１９０３を観測することで、自動車等の移動体１９０１の位置および姿勢を正確に検知し、自動での駐車や車庫入れを実現することができる。
【００６６】
また、位置姿勢検出システムからは、検出されたマーカの位置および姿勢が、（必要に応じて）マーカを識別するＩＤとともに外部の電子機器等に通信等によって出力される。そして、図１８および図１９に示されるように、外部の電子機器等は、位置姿勢検出システムから受信したマーカの位置および姿勢を、各種のアプリケーションに利用することが可能である。
【００６７】
図２２は、本発明の一実施形態に係る位置姿勢検出システムを利用したアプリケーションの構成の一例を示す図である。図２２は、一例として、図１８に示されるバーチャルレーザーポインターの構成例を示す。図２２に示される位置姿勢検出システムは、マーカ１００と、カメラ２００と、計算機３００と、交点判定部４１０と、表示部４２０と、スクリーン５００とを備える。
【００６８】
ここで、マーカ１００と、カメラ２００と、計算機３００は、図２０に示される位置姿勢検出システムの構成と同様である。
【００６９】
交点判定部４１０は、位置姿勢修正部３３０によって修正されたマーカ１００の位置姿勢に基づいて、マーカ１００の垂線とスクリーン５００との交点を判定する。
【００７０】
表示部４２０は、交点判定部４１０によって判定された交点をスクリーン５００上に表示する。
【００７１】
図２３は、本発明の一実施形態に係る位置姿勢検出システムに含まれる各装置のハードウェア構成の一例を示す図である。
【００７２】
図２３に示されるように、位置姿勢検出システムに含まれる各装置は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ１３、ＲＡＭ１５、ハードディスク１７等の記憶デバイス、ディスプレイが接続されるためのディスプレイインタフェース１９、キーボードやマウス等のユーザの入力操作のためのユーザ入力デバイス２１、ネットワークと接続されるためのネットワークインタフェース２３、リムーバブルメディアが接続されるためのリムーバブルメディアインタフェース２５、プリンタが接続されるためのプリンタインタフェース２７、等の一般的なコンピュータ装置の構成と同様の構成により実現されうる。各装置は、上述した各処理を実行するためのマーカ認識プログラムを、例えば、ハードディスク１７等の記憶装置に記憶している。そして、ＣＰＵ１１がハードディスク１７等に記憶されているプログラムを読み出して実行することによって、上述した各処理が実現されうる。また、各処理に使用される各種のデータは、各装置のハードディスク１７やＲＡＭ１５等に随時記憶されうる。
【００７３】
［まとめ］
上記説明したように、本実施形態に係る位置姿勢検出システムにおいては、従来とは異なる全く新しい原理により、マーカを正面付近から観測したときでも高精度かつ安定な姿勢推定が可能なARマーカ（ArrayMark）および、姿勢推定のための画像処理アルゴリズムが提供される。また、本実施形態に係るARマーカは、従来よりも精度の高いCGの重畳表示が必要なアプリケーション等で非常に有用である。
【００７４】
ここまで、本発明の一実施形態について説明したが、本発明は上述した実施形態に限定されず、その技術的思想の範囲内において種々異なる形態にて実施されてよいことは言うまでもない。
【００７５】
また、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、各請求項により画される発明の特徴の組み合わせに限定されるものではなく、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【符号の説明】
【００７６】
１  位置姿勢検出システム
１１  ＣＰＵ
１３  ＲＯＭ
１５  ＲＡＭ
１７  ハードディスク
１９  ディスプレイインタフェース
２１  ユーザ入力デバイス
２３  ネットワークインタフェース
２５  リムーバブルメディアインタフェース
２７  プリンタインタフェース
１００  マーカ
１１０  レンズエリア
１１１  ＋記号
１１２  マイクロレンズアレイ
１１３  センターレンズ
１１５  ＋マーク
１２０ａ、１２０ｂ、１２０ｃ、１２０ｄ  基準点
２００  カメラ
３００  計算機
３１０  位置姿勢判定部
３２０  角度算出部
３２１  マーク位置判定部
３３０  位置姿勢修正部
４１０  交点判定部
４２０  表示部
５００  スクリーン
１８０１  ポインタ
１８０２  破線（仮想的なレーザービーム）
１８０３  スクリーン
１８０４  カメラ
１９０１  移動体（自動車、移動ロボット等）
１９０２  カメラ
１９０３  マーカポスト
【図２】
2014102246.tif 000008
【図７】
2014102246.tif 000009
【図１１】
2014102246.tif 000010
【図１５】
2014102246.tif 000011
【図２０】
2014102246.tif 000012
【図２１】
2014102246.tif 000013
【図２２】
2014102246.tif 000014
【図２３】
2014102246.tif 000015
【図１】
2014102246.tif 000016
【図３】
2014102246.tif 000017
【図４】
2014102246.tif 000018
【図５】
2014102246.tif 000019
【図６】
2014102246.tif 000020
【図８】
2014102246.tif 000021
【図９】
2014102246.tif 000022
【図１０】
2014102246.tif 000023
【図１２】
2014102246.tif 000024
【図１３】
2014102246.tif 000025
【図１４】
2014102246.tif 000026
【図１６】
2014102246.tif 000027
【図１７】
2014102246.tif 000028
【図１８】
2014102246.tif 000029
【図１９】
2014102246.tif 000030