JP4916167B2 - 指標識別方法及び指標識別装置 - Google Patents

指標識別方法及び指標識別装置 Download PDF

Info

Publication number
JP4916167B2
JP4916167B2 JP2005362371A JP2005362371A JP4916167B2 JP 4916167 B2 JP4916167 B2 JP 4916167B2 JP 2005362371 A JP2005362371 A JP 2005362371A JP 2005362371 A JP2005362371 A JP 2005362371A JP 4916167 B2 JP4916167 B2 JP 4916167B2
Authority
JP
Japan
Prior art keywords
index
information
detected
captured image
index identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005362371A
Other languages
English (en)
Other versions
JP2007164631A (ja
Inventor
和樹 武本
清秀 佐藤
晋二 内山
雅博 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005362371A priority Critical patent/JP4916167B2/ja
Priority to US11/610,797 priority patent/US7847844B2/en
Publication of JP2007164631A publication Critical patent/JP2007164631A/ja
Application granted granted Critical
Publication of JP4916167B2 publication Critical patent/JP4916167B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、現実空間中に配置された指標を、現実空間を撮像した画像から検出、識別する技術に関する。
例えば現実空間と仮想空間とを融合表示する複合現実感システムにおいて、現実空間を撮像する撮像部(以下、カメラとも言う)の位置姿勢計測が必要となる。従来、現実空間中に予め配置した指標(例えば特定の形状及び色を有する物体)を利用したカメラの位置姿勢計測技術として、非特許文献1乃至3や特許文献1等において開示されているような技術が知られている。
非特許文献1乃至3においては、現実空間中の既知の位置に予め正方形の指標を配置し、指標を含む現実空間をカメラで撮像した画像から、指標を検出する。そして、正方形指標の4頂点の画像中の座標と、既知の絶対座標とを基にして、カメラの位置姿勢を測定(推定)している。ただし、正方形は、その中心点(対角線の交点)を通り、面に垂直な軸を回転軸として90度毎の回転対称形であることから、画像中の頂点座標からだけでは指標の向きを判別できない。そのため、指標の内部に、指標の向きを判別するためのさらなる特徴(例えば方向性のあるパターン)が設けられている。
さらに、指標を複数利用する場合、カメラで撮像した画像のみに基づいて複数の指標を同定する必要があるため、指標の内部にはさらに指標毎に異なる固有のパターンや符号などの図形情報が埋め込まれている。このような正方形指標は、画像上における特定色領域の重心点1点のみを特徴とするような画像指標に比べ、各マーカに識別用の情報(以後、識別情報と呼ぶ)があるため、多数配置しても誤識別しにくいという特性がある。しかし、識別情報の量と精度は撮像画像のみに依存しているため、量子化誤差、カメラノイズ、指標に落ちる影などで指標の識別情報の誤認識が起こり、結果として指標を誤識別する可能性があった。
この、識別情報の誤認識の可能性について、図3を用いて説明する。図3(a)は、指標301を正面から見た状態を示す図である。指標301は、正方形の外形を有する、平板状の形態を有している。そして、黒枠201aの内部に識別情報として2次元バーコード部201bを配置した構成を有する。従って、指標301の画像から、2次元バーコード部201bを認識することにより識別情報を得ることができるという特徴を持つ。
この指標301が、図3(b)のように、カメラの視軸と指標301の法線201cの方向とのなす角度が90度に近い状態で撮像され、撮像画像から指標内部のバーコードの読み込みが行われたとする。この場合、2次元バーコード部201bは非常に歪んだ状態であるため、量子化誤差等の要因によりコードの認識に失敗する可能性がある。2次元バーコードの認識に失敗した場合は、指標が誤識別される。
また、図3(c)のように、指標301の2次元バーコード部201bに影などの想定しない色情報302がノイズとして現れた場合にもコードの認識に失敗し、結果的に指標が誤識別される場合がある。
この誤識別によるカメラ位置姿勢計測結果への影響には2種類ある。一つは、従来定義されている指標として認識されないため、カメラの位置姿勢を求めるための情報としては使われず、計測精度が低下するという影響である。特に、指標が1つしか撮像されていない状況では、カメラの位置姿勢を求められない状況に陥る。
もう一つは、認識した識別情報が、別の場所に配置されている他の指標の識別情報と重複している場合である。この場合は、別の場所に配置されている指標だと誤認識(誤同定)されるため、カメラの位置姿勢を正しく求められない(誤った位置姿勢が得られる)状況に陥る。
非特許文献3および特許文献1では、このような誤識別を防ぐために、2次元バーコード内部に誤り判定用のコードを持ち、認識結果に誤りがある場合は指標として利用しないように対処している。
また、指標の識別情報の誤り検出だけではなく、ハミング符号のような誤り訂正符号を指標の2次元バーコードとして用いると、誤りを検出すると同時に1ビットであればコードの修正を行うこともできる。また、JIS X 0510 (1999)で規格化されているQRコードのように、誤り訂正機能をより強化したリードソロモン符号を用いて複数ビットの誤り訂正を画像情報のみから行うことも可能である。
特開2000−82108号公報 加藤, Billinghurst, 浅野, 橘: マーカー追跡に基づく拡張現実感システムとそのキャリブレーション, 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-616, Dec. 1999. X. Zhang, S. Fronz, N. Navab: Visual marker detection and decoding in AR systems: A comparative study, Proc. of International Symposium on Mixed and Augmented Reality (ISMAR'02), pp.97-106, 2002. 暦本 純一, "2次元マトリックスコードを利用した拡張現実感システムの構成手法", インタラクティブシステムとソフトウェア IV, 近代科学社, 1996. I. Skrypnyk, D. G. Lowe: Scene Modeling, Recognition and Tracking with Invariant Image Features, Proc. International Symposium on Mixed and Augmented Reality (ISMAR'04), pp. 110-119, 2004.
ハミング符号のような、比較的簡単な誤り訂正機能を用いたコードを識別情報として持つ指標では、コード認識時に一定数以上の誤りがあると、誤りを検出・訂正できない場合がある。例えば、ハミング符号化された2次元コードを識別情報として持つ指標であれば、複数ビットの誤りが発生すると、誤りを正しく訂正することができない。この場合は、正しい識別情報が得られず、誤った識別情報で指標の同定が行われる。
また、QRコードのような、誤り訂正機能を強化した符号化手法を採用した指標では、複数ビットの誤りが起こっても誤り訂正が可能である。しかし、ハミング符号のような比較的簡単な誤り訂正符号を用いた指標に比べて、
・誤り訂正の演算が複雑であるため、認識処理に時間がかかること、
・ビット数を多くしなければ高度な符号化ができないため、指標内に広い2次元バーコード領域を持つ必要があること、
などの課題がある。
これらの課題は、非特許文献3および特許文献1に記載されるような、指標の特徴点を用いて、指標を基準とする座標系上のカメラの位置姿勢を求める手法においては、
・カメラ位置姿勢算出処理の実時間性を損なう、
・カメラ位置姿勢を求める指標として要求される指標全体のサイズを小さくすることができない、
という制限をもたらす。
カメラ位置姿勢を求めるときに指標の最小サイズが小さいほど、配置の柔軟性が高いため多く配置できる。さらに、サイズの大きい指標に比べて複数の指標を同時に撮像しやすくなり、カメラ位置姿勢計測精度の向上が期待できる。これらの理由により、小さい指標を用いることが好ましく、QRコードのような、指標内部のコード量を増やすことで誤り訂正機能を強化する符号を識別情報として持つ指標は、カメラ位置姿勢を求めるための指標としては適していない。
本発明は、このような従来技術の課題に鑑みてなされたものであり、撮像画像から検出された指標を精度良く識別可能な指標識別方法及び指標識別装置を提供することを主な目的とする。
上述の目的は、以下の方法もしくは装置によって達成される。
すなわち現実空間を撮像した撮像画像を取得する画像取得工程と、撮像画像から1つ以上の指標を検出する指標検出工程と、検出された指標から、当指標を識別するための指標識別情報を認識する認識工程と、認識結果の信頼度を算出する信頼度算出工程と、指標識別情報の認識結果を検証するための検証情報であって、撮像画像に基づかない検証情報を取得する検証情報取得工程と、検証情報に基づいて、認識結果を検証又は修正する検証工程とを備え、検証工程は、信頼度算出工程で算出された信頼度に応じて、検証工程で行う処理を変更することを特徴とする指標識別方法。
または、現実空間を撮像した撮像画像を取得する画像取得手段と、撮像画像から1つ以上の指標を検出する指標検出手段と、検出された指標から、当指標を識別するための指標識別情報を認識する認識手段と、認識結果の信頼度を算出する信頼度算出手段と、指標識別情報の認識結果を検証するための検証情報であって、撮像画像に基づかない検証情報を取得する検証情報取得手段と、検証情報に基づいて、認識結果を検証又は修正する検証手段とを備え、検証手段が、信頼度算出手段によって算出された信頼度に応じて、実行する処理を変更することを特徴とする指標識別装置。
また、上述の目的は、以下の方法もしくは装置によって達成される。
すなわち、現実空間を撮像した撮像画像を取得する画像取得工程と、撮像画像から1つ以上の指標を検出する指標検出工程と、検出された指標が設置または設定されている物体に対する、撮像画像を撮像した撮像装置の配置情報を取得する配置情報取得工程と、検出された指標から、当指標を識別するための第1の指標識別情報を認識する認識工程と、検出された指標を識別するための第2の指標識別情報を、撮像画像からの認識以外の手段で取得する指標識別情報取得工程と、認識工程で認識された第1の指標識別情報と、指標識別情報取得工程で取得された第2の指標識別情報とを比較して、検出された指標の識別を行う指標識別工程とを備え、指標識別情報取得工程は、配置情報取得工程で取得された撮像装置の配置情報と、検出された指標の物体上における配置情報とに基づいて、第2の指標識別情報を取得することを特徴とする指標識別方法。
または、現実空間を撮像した撮像画像を取得する画像取得手段と、撮像画像から1つ以上の指標を検出する指標検出手段と、検出された指標が設置または設定されている物体に対する、撮像画像を撮像した撮像装置の配置情報を取得する配置情報取得手段と、検出された指標から、当指標を識別するための第1の指標識別情報を認識する認識手段と、検出された指標を識別するための第2の指標識別情報を、撮像画像からの認識以外の手段で取得する指標識別情報取得手段と、認識手段で認識された第1の指標識別情報と、指標識別情報取得手段で取得された第2の指標識別情報とを比較して、検出された指標の識別を行う指標識別手段とを備え、指標識別情報取得手段は、配置情報取得手段で取得された撮像装置の配置情報と、検出された指標の物体上における配置情報とに基づいて、第2の指標識別情報を取得することを特徴とする指標識別装置。
このような構成により、本発明によれば、従来では誤識別が発生する状況においても正しく指標を識別することができる可能性が向上し、精度良い指標の識別が可能となる。
以下、添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
<第1の実施形態>
図1は、本実施形態に係る指標識別装置の構成例を示すブロック図である。
まず、本実施形態の指標識別装置が識別する指標は、現実空間にあらかじめ配置された、識別情報を持つ指標である。ここでは、好適な指標の例として、図2及び図3に示すような、正方形の外形を有し、配置される場所(背景)とは異なる色の枠201aと、枠201a内部の2次元バーコード部201bを備える指標301を用いるものとする。2次元バーコード部201bは、図2に示すように、4×4の16領域(ビット割り当て領域)で構成される。
図4は、このような指標を、撮像する現実空間中の床と壁に、それぞれ、指標301A(識別コード0)、301B(識別コード10)として配置した状態を示している。
なお、図2に示す2次元バーコード部201bのビット割り当て領域のうち、0番、3番、12番、15番は、指標の法線を軸とする回転(指標の向き)を識別するためのコードとして利用するものとする。そして、これらビットは、常に白、白、背景との区別色、白、の順番で色が設定されているものとする(この4ビットを、以下、方向性付与形状とも呼ぶ)。他のビット割り当て領域はハミング符号化され、残り12ビットのうち4ビットをチェックビットとして使用する。すなわち、指標の識別コードとして使用できるビット数は、チェックビット(4ビット)と指標の向きを示すビット(4ビット)を除く8ビットとなり、256種の識別コードが生成できる。
カメラ101は、現実空間を撮像できるカメラであり、例えばCCDやCMOSセンサを撮像素子として有するビデオカメラである。
指標検出部102は、カメラ101の撮像画像をキャプチャし、色や形状など、予め定められた指標に関する情報に基づき、指標と思われる領域(以下、検出指標とも言う)を画像から検出する。
識別コード認識部103は、検出指標内部の4×4の2次元バーコード部(以降コード部と呼ぶ)201bを認識する。まず、コード部201bの方向性付与形状を検出して指標の画像面における方向を算出し、さらに、コード部201bの残りの領域から、ハミング符号でコード化された識別コードを認識する。
まず、指標検出部102で検出された検出指標から、識別情報ビットとチェックビットを認識する。次に、識別情報ビットと、各頂点の座標等の検出情報を求め、さらに、チェックビットを用いて、識別情報ビットの誤り検出処理と、必要なら1ビット訂正処理を行う。さらに、検出された夫々の指標は、指標候補リストに登録される。
信頼度算出部104は、検出された指標毎に以下の信頼度を求める。まず、識別コード認識部103から指標の検出情報を入力し、1ビットの誤りが検出され、訂正された場合は信頼度を0.5に、訂正されなかった場合は信頼度を1に設定する。また、「画像上における指標の外形を表す四角形が内包する画素数Se」と「撮像画像全体の画素数Sp」の商Se/Spの値を信頼度に積算した結果を信頼度としてもよい。また、「画像上における指標の外形を表す四角形の4辺のうち最短となる辺の画素数Le」と「撮像画像の短辺の画素数Lp」の商Le/Lpの計算結果を、さらに積算した結果を信頼度としてもよい。
すなわち、
(1)誤り訂正の有無に応じて決定される信頼度(0.5又は1)
(2)(1)の値に、Se/Spを乗じた値
(3)(2)の値に、Le/Lpを乗じた値
のいずれかを信頼度として使用することができる。
なお、信頼度はこれら3種(誤り訂正の有無に応じた信頼度、Se/Sp、Le/Lp)の他の組み合わせであってもよいし、他の値であっても良い。すなわち、撮像画像から指標の識別情報が正しく検出できる度合いを表すことが可能な任意の値を信頼度として利用できる。
カメラ姿勢センサ107は、カメラ101に固定された姿勢計測センサであり、本実施形態においては、例えば米国InterSense社のInertiaCube2などのジャイロセンサを用いる。
カメラ姿勢計測部108は、カメラ姿勢センサ107の計測値を受け、指標姿勢計算部109に出力する。
指標姿勢計算部109は、指標情報保持部105内に保存されている指標の姿勢のうち、識別コード認識部103から与えられる、検出された指標の識別コードに対応する指標(指標Aとする)の姿勢Rwmを取得する。そして、カメラ姿勢計測部108の計測値Rwcを用い、カメラの視点位置を原点とし、撮像面をxy座標、視軸をz軸負へのベクトルとおいた3次元座標系(カメラ座標系と呼ぶ)における、指標Aの姿勢Rcmを求める。なお、本実施形態においては、指標情報保持部105に記録されている指標の配置姿勢Rwm及びカメラ姿勢計測部108から得られる姿勢Rwcは3×3の行列で表現されているものとする。カメラ座標系における指標の姿勢Rcmは以下の式(1)により求める。
Rcm = Rwc-1・Rwm (1)
ここで、Rwc-1はRwcの逆行列である。
指標姿勢推定部110は、指標検出部102と識別コード認識部103で得られた指標の頂点の画像座標と方向とを用いて、カメラ座標系における指標の姿勢Rcm'を求める。この具体的な方法の例については後述する。
本実施形態における指標識別部106は、信頼度算出部104の信頼度を基にして、指標姿勢計算部109で得た指標の姿勢Rcmと指標姿勢推定部110で得た指標の姿勢Rcm'とを比較した結果により、指標の識別を行う。
指標情報保持部105には、現実空間に配置されている指標の各々について、指標の同定及び方向の認識を行うために必要な情報をあらかじめ記憶しておく。具体的には、配置位置(例えば中心点の3次元座標)、頂点の3次元座標、正方形1辺の大きさ、識別コード番号、配置姿勢Rwm。また、指標の方向を特定するための情報(例えば方向性付与形状に最も近い正方形頂点の座標や頂点IDなど)、方向性付与形状に関する情報(形状や色に関する情報など)などである。なお、指標の位置や座標、姿勢は、基準とする3次元座標系(基準座標系と呼ぶ)における値が記憶される。
また、指標の同定が行われた後の、夫々の指標の頂点の3次元座標と、画像中の2次元座標との対応リストを保持し、必要に応じて外部に出力する。なお、ここで挙げた登録項目は単なる例示であり、使用する指標や指標の識別方法に応じて、これ以外の情報を登録することもあれば、より少ない項目で済む場合もある。
指標識別部106は、信頼度算出部104で算出される信頼度に基づいて、識別コード認識部103が認識した検出指標の識別コードをそのまま用いるか、指標情報保持部105の情報を利用して識別コードを検証するか、のどちらかを選択する。検証を選択した場合には検証処理を実行し、検証の結果、誤った識別コードを有すると判定した検出指標を、誤識別指標として削除する。
図6Aは、本実施形態における指標識別装置の処理の詳細を示すフローチャートである。
ステップS601では、カメラ姿勢センサ107で得た計測値をカメラ姿勢計測部108に入力し、さらに、カメラ姿勢計測部108がカメラ101の基準座標系における姿勢Rwcを指標姿勢計算部109へ入力する。なお、ステップS601で得られたカメラ姿勢Rwcは、最終的なカメラ位置姿勢を推定するための情報に用いるなど、指標の識別処理以外の用途で使用してもよい。
ステップS602では、カメラ101により現実空間を撮像する。
ステップS603では、指標検出部102が、得られた撮像画像から指標を検出するための一工程として、外周正方形を検出し、頂点と中心点の座標を算出する。これは、どのような方法を用いても構わないが、例えば以下のような方法がある。
まず、指標の明度を背景と異なるものとしておき、明度による二値化を行った後にラベリング処理にて連続領域を求める。図4のカメラ101と指標301A、301Bの配置で撮像された画像を二値化した結果を示す模式図を図5に示す。その連続領域のラベル外周を折れ線近似することにより外周の四角形を検出する。このようにして得られた四角形の頂点の画像座標を求め、さらに対角線の交点を求めることにより中心点の画像座標を求める。
例えば、図5に示す二値化画像に対しては、指標301Aの指標外形ABCDと指標301Bの指標外形EFGHの四角形頂点と中心点OA、OBが検出される。
ステップS604では、識別コード認識部103が、まず、ステップS603で得た指標の候補となる検出指標の夫々について、四角形領域の中心点と4頂点を取得し、各指標の内部のコード部201を読み出す。さらに、識別コード認識部103が、ステップS604で読み出した指標のコード部のうち、頂点に最も近い4つのビット割り当て領域を参照する。そして、3つが白で1つが黒である場合、黒の位置をビット割り当て領域の12番とみなし、そのビット領域に最も近い頂点を図2に示す指標の左下の頂点とみなす。
また、頂点に近い4つのビット割り当て領域を参照し、白3個、黒1個とならない場合は指標以外のものが検出されたと判断して、当該検出指標を指標候補リストには登録しない。さらに、当該検出指標の方向が決定されたため、頂点に近い4つの領域を除く残りの12ビットからチェックビット4ビットと識別コード8ビットを決定する。さらに識別コード認識部103が、チェックビットを用いて、識別コードの検査を行う。このとき、ビット誤りがない場合は指標候補リストに登録する。また、1ビットの誤りが検出された場合は、識別コード認識部103が、ハミング符号の性質に基づき、該当するビットの訂正を行って識別コードを決定してから指標候補リストに登録する。この処理をすべての検出指標に対して行い、指標候補リストを出力する。
ステップS605では、指標姿勢計算部109が、指標候補リスト中の夫々の検出指標に対して、ステップS604で求めた識別コードに基づいて、式(1)を用いてRcmを算出し、指標候補リスト中の各要素(検出指標)に対応付けて算出値を保持させる。
ステップS606では、信頼度算出部104が、指標候補リスト中の夫々の検出指標に対して、識別コード認識部103で得られた識別コードの誤り検出結果を入力する。そして、1ビットの誤りが検出された場合は信頼度を0.5に、誤りが検出されなかった場合は信頼度を1に設定する。
さらに、
・誤り検出結果から得た信頼度
指標検出部102から画像入力して求めた
・「画像上における指標の外形を表す四角形が内包する画素数Se」と「撮像画像全体の画素数Sp」の商Se/Spの値
・「指標の4辺のうち最短となる辺の長さLe」と「撮像画像の短辺の画素数Lp」の商Le/Lpの値
3つの値の積として最終的な信頼度(上述の信頼度(3))を算出し、得られた信頼度の値を指標候補リスト中の各要素に対応付けて保持する。
ステップS607では、指標姿勢推定部110が、
・指標検出部102で得た、指標候補リスト中の夫々の検出指標の画像上における頂点の2次元座標値
・ステップS604で得た指標の頂点の対応情報
から、検出指標のカメラ座標系における姿勢の行列Rcm'を求め、指標候補リスト中の各要素に値を対応付けて保持させる。
撮像された平面上の4点の2次元座標値から、カメラ座標系における姿勢を求める方法は、どのような方法を用いても構わないが、例えば、本実施形態では非特許文献1の方法を用いる。すなわち、まず、画像上の4頂点ABCDから、ABを通る直線と、DCを通る直線、すなわち向かい合う平行2辺の直線の方程式を求める。そして、これらの2つの直線とカメラの透視投影変換行列(予め求めておく)とを用いて、2つの直線を含む2平面の式(カメラ座標系)を得る。この2平面の法線ベクトルNAB、NDCの外積(NAB×NDC)が、平行2辺AB,DCのカメラ座標系における方向ベクトルU1とする。
もう一組の向かい合う平行2辺BCとDAにおいても同様の処理を行い、2平面の法線ベクトルの外積(NBC×NDA)を、平行2辺DB,DAのカメラ座標系における方向ベクトルU2とする。
これにより指標の隣り合う2辺の方向ベクトルU1,U2が求められるので、この2つの方向ベクトルの外積方向をV3とする。このV3を垂直軸とし、U1,U2を含む平面内で、なす角度が直角になり、かつ、U1からV1,U2からV2への夫々の変更角度が等しくなるようなベクトルV1,V2を決定する。このとき、[V1 tV2 tV3 t]がカメラ座標系における指標の姿勢Rcm'となる。
ステップS608では、指標識別部106が、指標候補リスト中の夫々の検出指標に対して、ステップS605で得たRcmと、ステップS606で得た当該検出指標の信頼度と、ステップS607で得たRcm'とを用いて識別コードの検証を行う。これは、指標の識別又は同定に相当する。ここで、不適合と判断された検出指標は、指標候補リストから削除する。
ステップS609では、以上の処理の結果得られた指標候補リスト中の夫々の検出指標の情報を、指標情報保持部105の対応リストに記録する。また、必要に応じてI/F(不図示)を介して外部に出力する。ここで、指標検出の情報は、識別コード、ステップS604で得た指標の各頂点2次元画像座標値、指標情報保持部105内の各頂点の3次元座標値である。
次に、指標識別部106における識別処理であるステップS608の詳細について、図6Bに示すフローチャートを用いて説明する。
本実施形態に係る指標識別部106では、画像情報に基づいて同定された指標が本当にその指標であるかどうか(識別コードの読出し誤りが生じていないかどうか)を、カメラと指標との間の相対的な姿勢の関係に基づいて検証する。さらに、本来同定されるべき指標(図4の場合であれば指標301B)が、指標の識別に用いるカメラ姿勢センサ107の出力誤差により同定されなくなることを防ぐために、信頼度に応じて処理の分岐を行う。
InertiaCube2等の姿勢センサは、時間の経過に伴って蓄積されるドリフト誤差を有しているため、出力される姿勢計測値は、真の姿勢とは異なった、誤差を有する姿勢となる場合がある。そのため、信頼度に係わらず、姿勢センサの測定値に基づく姿勢のチェックを行った場合には、姿勢センサの誤差の影響により本来同定されるべき検出指標が同定されなくなる虞がある。
この点に関し、本実施形態に係る指標識別方法では、信頼度が高い指標については指標の姿勢を比較せず、撮像画像から検出、識別したコード(識別コード)を信頼することで、姿勢センサの誤差の影響を受けることなく正しく指標を識別することができる。この、信頼度に基づいて識別情報の検証の実施の有無を決定することで、指標の識別を正しく行う工程が、以下に述べるステップにより実施される。
ステップS610では、指標識別部106が、注目する検出指標の信頼度を参照し、指標の信頼度に応じて当該検出指標に行う処理を決定する。指標の信頼度が予め定めた閾値よりも低い場合は、識別コードが誤っている可能性が高いと判断してステップS611に処理を移す。指標の信頼度が閾値より高い場合は、識別コードが十分に信頼できるものであると判断して処理を終了する。
ステップS611では、指標識別部106が、ステップS607で得たカメラ座標系における指標の姿勢Rcm'とステップS605で得た指標の姿勢Rcmの類似性を調べる。ここで類似性が高い場合は、ステップS604で認識した指標の識別コードが正しいと判断し、処理を終了する。
一方、類似性が低い場合は、ステップS612において、ステップS604で認識した指標の識別コードが間違っていると判断し、注目検出指標を指標候補リストから削除する。
以上の処理を、指標候補リスト中の夫々の検出指標に対して実行する。
なお、ステップS611で行う姿勢の類似の判定方法に特に制限はない。例えば、RcmからRcm'への変換を行う回転行列を求めて、さらに回転軸と回転角に変換し、その回転角の大きさの差が閾値以下であれば類似度が高いと判定することができる。また、RcmとRcm'の夫々をクオータニオン表現に変換し、4次元球面上における点間の球面上での距離が閾値以下であれば類似性が高いと判定してもよい。或いは、RcmとRcm'の夫々を特異値分解して得られた夫々の特異値ベクトルの距離が閾値以下であれば類似性が高いと判定しても良いし、Rcm・Rcm'-1が単位行列に近いかどうかを評価してもよい。
本実施形態では、ステップS607、ステップS605で、各々でカメラ座標系における指標の姿勢Rcm、Rcm'を求め、ステップS611で両者を比較した。しかし、指標情報保持部105内で定義された指標の姿勢と、検出した姿勢を比較できる方法であれば、カメラ座標系における指標の姿勢を用いなくてもよい。
例えば、指標を基準とする指標座標系(例えば、図3(a)の頂点Jを原点とし、ベクトルJKをX軸、法線方向をY軸、ベクトルJMをZ軸とする直交座標系)を定義する。そして、指標座標系におけるカメラの姿勢RmcをステップS605、ステップS607で求め、両者を比較してもよい。この場合、ステップS605ではRcm-1の計算によって目的の姿勢Rmcを求める。ここで、Rcm-1はカメラ座標系におけるマーカ姿勢Rcmの逆行列を示している。また、ステップS607では、Rcm'の逆行列Rcm'-1を求める。
また、基準座標系におけるカメラ姿勢Rwcを比較の基準としてもよい。この場合は、ステップS605で、センサ計測値により求めたカメラ姿勢を用いる。また、ステップS607では、Rwc'=Rwm・Rcm'-1として算出する。ここでRwmは、指標情報保持部105に記録されている指標の姿勢である。
なお、ステップS611と同様な処理を信頼度の高い検出指標に対しても実行して、姿勢が一致しない場合は、カメラ姿勢センサ107に誤差があると判断し、利用者に警告を出すような構成としてもよい。
以上のように、本実施形態によれば、2次元画像処理以外の手段として、指標情報保持部105内の指標の姿勢情報と、カメラ姿勢センサ107から得られるカメラ101の姿勢情報とを用い、指標の識別情報を検証する。従って、撮像画像から得られる情報のみに依存して識別した場合に起こりうる誤識別を回避することができる。また、撮像画像から得られた情報の信頼度を、撮像画像中で検出された指標特徴点の長さと、画像上における検出指標内部の画素数と、ハミング符号によって符号化されたコード部のチェックビットとを複合的に用いて算出する。これにより、信頼度の、判断材料としての信頼性を高めている。さらに、信頼度に応じて識別コードの検証処理の実施を判断することで、識別に利用するカメラ姿勢計測値に誤差が生じていたとしても、正しく検出されている指標が誤識別として削除されてしまうことを回避できるようになる。
<第2の実施形態]>
第1の実施形態においては、ハミング符号で符号化された識別コードをコード部に持つ指標を用いて、識別情報の検証又は修正を行っていた。しかし、識別コードは、ハミング符号で符号化されることが必須ではなく、他の方法で符号化されていても良い。要するに、複数の指標を識別するための情報を有する指標であれば特に制限無く適用可能である。
例えば、コード部をグレイコードで符号化された1次元バーコードにより構成した指標を用いてもよい。本実施形態では、このグレイコードで符号化された指標と、あらかじめ空間中に配置した指標の識別情報を記録したデータを用いることで、指標の誤識別を防ぐ方法について述べる。
図7は、本実施形態に係る指標識別装置の構成例を示すブロック図であり、第1の実施形態と類似の構成には同じ参照数字を付してある。
本実施形態においては、識別コードを画像情報から識別可能な指標を用いることを特徴とするが、上述のように、好適な指標の例として、図10に示すような、グレイコードを識別コードとして持つ正方形形状の指標を用いる。
具体的には、図10(b)に示すような、
・背景と明度の大きく異なる色の正方形形状801(指標外形と呼ぶ)の領域内部に、コード部を構成する、4ビットのグレイコードを配置するための4つのビット割り当て領域0〜3(803)を持ち、
・指標の空間中における方向を示す正方形802(方向性付与形状と呼ぶ)が、指標外形の一頂点近傍に、かつ指標外形とは別個に認識できるように配置された、
指標を利用する。
この指標は、指標外形801の正方形の頂点と、内部の4ビットの識別コードと、上下左右の方向を一意に定める方向性付与形状802とから構成される。なお、本実施形態において、方向性付与形状802は、指標外形801の正方形の一辺の1/6の長さを一辺の長さとする正方形とする。指標外形801と方向性付与形状802との位置関係を指標の配置位置と共に指標情報保持部105に登録しておくことによって、画像上における指標の座標情報から指標の識別コードの読み出しを可能にする。さらに、検出した指標の識別コードを用いることで、現実空間に複数個配置した指標の中から、撮像画像中の検出指標を同定(識別)することを可能とする。
なお、空間中には、0〜15の16種の識別コードのうち、夫々の差分が2以上となる識別コードを選択して配置する必要がある。例えば、0番の識別コードを配置するのならば、1番と2番を使用せず、3番以降を選択し、0、3、6、9、12、15のように各識別コード間に2つ以上の差を設ける必要がある。この制限により、空間中に配置できる指標は最大6種類となる。
また、本実施形態における指標の内部に配置されるグレイコードとは、図10(c)のグレイコード表に示すようなコードパターンを持つ識別のためのコードである。このグレイコードは、隣接するコード間のハミング距離が1になるため、識別コード認識時に空間的に隣接するコードを画像上で読み間違えても正しいコードと間違えたコードの差分が1になる可能性が高いという特徴を持つ。すなわち、コードを修正する場合に、正しい識別コードとして隣接するコードを選択することで修正ができる可能性が高い。コード修正処理の詳細については後述する。
図10(c)のコード表は、各列(0〜3)が各コードのビットパターン(0(黒)/1(白))を示しており、各行(0〜15)が16種類のコードを表している。列0〜3は、図10(b)のビット割り当て領域0〜3に対応しており、図10(a)のグレイコードマーカの例のコードは白、黒、白、黒(画素値1,0,1,0)であるため識別コード「6」を示している。
カメラ101は第1の実施形態と同等の機能を果たすカメラである。
指標検出部102は、第1の実施形態と同等の機能を持ち、撮像画像から指標の候補領域を抽出する。
本実施形態における識別コード認識部103は、検出指標周辺にある方向性付与形状を検出して指標の方向性を算出し、さらに、指標の内部にあるグレイコードでコード化された識別コードを認識する。詳細な認識処理手順については後述する。
信頼度算出部104は、識別コードの認識結果の信頼度を算出する。この信頼度により、識別コードを修正する処理を行うかどうかを決定する。本実施形態においては、撮像画像上で検出指標の4辺のうち一番短い辺の長さLeと、撮像画像の短辺の画素数Lp(解像度640画素×480画素の撮像画像であれば480)との比を計算することで信頼度を決定する。信頼度の算出処理の詳細は後述する。
指標情報保持部105は、第1の実施形態と同等の機能を持ち、指標の配置情報等を必要に応じて情報を入出力する。
指標識別部106は、信頼度算出部104で算出される信頼度に基づいて、検出指標の識別コードをそのまま用いるか、指標情報保持部105の情報を利用して識別コードを修正して用いるか、のどちらかを選択する。修正を選択した場合には修正処理を実行し修正後の識別コードを得る。最後に決定された識別コードによって、検出指標を同定する。本実施形態においては、信頼度算出部104で算出される信頼度が所定の閾値よりも低い場合は、指標情報保持部105から入力された識別コード番号と、検出指標で得られた識別コード番号を比較して、差分が最小となる識別コードを選択する。信頼度に基づく処理の選択、指標の同定処理の詳細については後述する。
なお、識別コード認識部103、信頼度算出部104、指標識別部106を合わせて識別モジュール707と呼ぶ。
図8は、本実施形態の指標識別装置を適用して指標識別する現実空間の様子を模式的に示す図である。図8において、2つの指標801A、801Bは図のように現実空間の床と壁にそれぞれ配置されており、その指標の大きさや配置(基準とする座標系における位置姿勢)などの情報を指標情報保持部105に記録しておく。カメラ101は自由に移動可能であり、図8では、カメラ101が指標801Bに対して正対する位置に近い場所にあり、指標801Aの法線901Aとカメラ101の視軸101Aが90度に近い角度をなしていることを示している。
次に、上記構成を備える指標識別装置が行う処理について、図11、図12に示したフローチャートを参照して説明する。
ステップS1101では、カメラ101により現実空間を撮像する。
ステップS1102では、第1の実施形態におけるステップS603と同様に、指標検出部102が、得られた撮像画像から指標を検出するための一工程として、二値化画像を生成して外周正方形を検出し、頂点と中心点の座標を算出する。
例えば、図9に示す二値化画像に対しては、指標801Aの指標外形ABCD、指標801Aの方向性付与形状802A、指標801Bの指標外形EFGH、指標801Bの方向性付与形状802B、の四角形の頂点と中心点が検出される。
ステップS1103では、指標検出部102が、指標検出の次の工程として、ステップS1102で得られた四角形の各頂点の周辺に、方向性付与形状が存在するかどうかを確認し、指標の方向を決定して、指標候補として指標候補リストに登録する。例えば、各四角形の中心点の距離、同一直線上にある2辺の長さ比率、四角形内の画素数比率などにより、指標外形と方向性付与形状とを対応づけてもよい。
このようにして、指標外形と方向性付与形状とが対応づけられた「正方形指標の頂点の画像座標値」、「正方形指標の中心点の画像座標値」、「方向性付与形状との距離が最短の頂点位置の情報」を1組として指標候補リストに登録する。例えば、図9の二値画像にからは、「指標801Aの頂点ABCDの画像座標値、指標801Aの中心点の画像座標値、頂点D」及び、「指標801Bの頂点EFGHの画像座標値、指標801Bの中心点の画像座標値、頂点E」が指標候補リストに登録される。
ステップS1104では、ステップS1103で得られた指標候補リスト内の夫々の指標候補が、検出された順番に識別モジュール707に個別に出力される。
ステップS1105では、識別モジュール707において、撮像画像から検出された指標候補に対して指標のコードパターン認識及び識別処理が行われる。コードパターンの認識、識別処理の詳細については後述する。
ステップS1106では、指標候補リスト内に識別処理未完了の指標候補がある場合は、処理がステップS1104に移される。指標候補すべての識別処理が完了した場合は処理をステップS1107に移す。
ステップS1107では、指標情報保持部105に記録した識別情報を指標識別部106から出力して処理を終了する。
図12は、本実施形態における識別モジュール707が行う認識・識別処理(図11のフローチャートのステップS1105)の詳細を示すフローチャートである。
ステップS1201において、識別コード認識部103により、指標検出部102から入力された検出指標のコード部から、識別コードを読み出す(認識する)。
図13は、識別コード認識部103のコード認識の処理を説明する模式図である。まず、当該指標候補の4頂点のうち、方向性付与形状802に一番近い頂点をSとし、他の頂点を時計回りにTUVと割り当てる。さらに、SV及びTUの中点を求め、P、Qとする。そして、直線PQを3:9に分割する点1301における画素値(0又は1)を読み出し、図10(b)のビット割り当て領域0のビット値とする。同様に、直線PQを5:7に分割する点1302、7:5に分割する点1303、9:3に分割する点1304における画素値を、それぞれ図10(b)のビット割り当て領域の1番、2番、3番の値とする。このようにして割り当てたビット列を、図10(c)のグレイコード表に当てはめることで識別コードを認識する。
ステップS1203において、指標識別部106が、指標情報保持部105内に保存されている複数の識別コードの中に、ステップS1201で得た識別コードと同一のものがあるかを判定する。同一の識別コードがある場合は、ステップS1201で得た識別コードの誤認識はないと判断する。そして、当該指標の画像上における頂点座標を、指標情報保持部105内の識別コードが一致する指標頂点の3次元座標値に対応づけて指標情報保持部105の対応リストに記録する。また、指標情報保持部105内に保存されている識別コードの中にステップS1201で得た識別コードと一致するものがない場合は、ステップS1204に処理を移す。
ステップS1204において、信頼度算出部104が、画像上における正方形指標(なお、画像中には正方形ではなく四角形として写る)の4辺の画像上での長さを検出する。さらに、1つの指標において最短の辺の長さを求めて、最短の辺の長さLe(画素数)と撮像画像の短辺の画素数Lp(解像度640×480画素の撮像画像であれば480)の商Le/Lpを得て、これを当該指標候補の信頼度とする。
さらに、信頼度が閾値以上であるかどうかを判定し、閾値以上の場合は、識別コードが十分に信頼できるものであると判断する。そして、当該指標の画像上における頂点座標を、指標情報保持部105内の識別コードが一致する指標頂点の3次元座標値に対応づけて指標情報保持部105の対応リストに記録する。また、信頼度が閾値を越えない場合は、識別コードの認識を間違えている可能性が高いと判断して、ステップS1205に処理を移す。
ステップS1205において、指標識別部106が、ステップS1201で得た識別コードと指標情報保持部105内に保存されている複数の識別コードの夫々との差を求め、差の絶対値(差分と呼ぶ)が1のコードがあるかどうかを判別する。コードの差分を調査する理由は、量子化誤差等によりコードが誤認識されても、上述のように、グレイコードであれば正しい識別コードとの差が1である可能性が高いという特徴を活かした修正を行うためである。つまり、ステップS1201で得た識別コードとの差分が1の(隣接する)識別コードが指標情報保持部105内にあれば、それが正しい識別コードである可能性が高い。
そのため、差分が1の隣接する識別コードが指標情報保持部105に存在する場合は、ステップS1206で、注目指標候補の識別コードを、ステップS1205で隣接すると判定された、指標情報保持部105内に保存されている識別コードの値に修正する。さらに、注目指標候補の画像上における頂点座標を、指標情報保持部105内の識別コードが一致する指標頂点の3次元座標値に対応づけて指標情報保持部105の対応リストに記録する。また、ステップS1205で、差分が1の識別コードが存在しない場合には、識別コードの検証及び修正ができないと判断し、ステップS1207に処理を移す。
ステップS1207おいて、指標識別部106が、指標候補リストから注目指標候補を削除し、処理を終了する。
このステップS1201乃至ステップS1207までの処理を、図9の二値画像を用いてさらに具体的に説明する。識別モジュール707には、指標候補リストに格納されている指標801A及び指標801Bの投影像の検出情報が個別に入力される。
指標801Bの場合は、ステップS1201により、図13で示す1301、1302、1303、1304における画素値として1111が読み出され、識別コード「0」の指標として正しく識別されているものとする。次に、ステップS1203において、ステップS1201で得た識別コード「0」に対応する指標が、指標情報保持部105内にあることを確認する。そして、識別コード「0」の検出指標の情報と、指標情報保持部105内の識別コード「0」の指標情報とが対応リストに登録される。すなわち、図9の画像中で検出されている指標候補である指標801Bの投影像が、識別コード「0」を有する指標801Bの投影像であるということが同定される。
指標801Aの場合も指標801Bと同様に、ステップS1201によりコードの読み出しが行なわれる。しかし、指標801Aは、指標の法線とカメラの視軸が90度に近い状態にある。そのため、発明が解決しようとする課題で述べたように、本来、図13で示す1301〜1304における画素値として1010(識別コード「6」)が認識されるべきところ、量子化誤差により1000(識別コード「5」)と誤認識される。
従来は、この時点で識別コード「5」の指標として識別される。しかし、指標情報保持部105には識別コード「5」の指標情報がないため同定されない。従って、指標801Aはカメラ位置姿勢を求めるための指標として取り扱われない。そのため、結果的にカメラ位置姿勢が求められない場合や、位置姿勢の推定精度が低くなる場合があった。
これに対し、本実施形態における指標識別部106では、ステップS1203以降の処理により、さらに信頼度算出部104に問い合わせて識別コードの認識の信頼性を確認し、さらに識別コードの修正を試みる。
ステップS1203では、指標識別部106が、画像から検出された識別コード「5」について、指標情報保持部105内に格納されているかどうかを判定する。指標情報保持部105内には、図8で示すように、あらかじめ空間に配置された指標801A(識別コード「6」)及び指標801B(識別コード「0」)の情報が格納されている。そして、ステップS1201で得た識別コード「5」がないため、ステップS1204に処理を移す。
ステップS1204では、信頼度算出部104が、図9で示す指標801Aの4辺AB、BC、CD、DAの長さ(画素数)を検出する。そして、最短の長さである辺DAの長さ(40画素とする)を、撮像画像の短辺の画素数(480画素とする)で割った商0.08を信頼度として保存する。次に、信頼度に応じて処理を決める。予め設定されている閾値が例えば0.1であるとすると、信頼度が閾値以下であると判定され、ステップS1205に処理を移す。閾値の具体的な値は、指標の種類などに応じて予め求めておくことができる。
ステップS1205では、指標識別部106が、指標情報保持部105内に、ステップS1201で得た識別コード「5」との差分が1の識別コードを持つ指標の存在の有無を判定する。ここでは、指標識別部106が、指標情報保持部105に識別コード「6」の指標情報が存在することを検出したものとすると、ステップS1206において、ステップS1201で得た識別コード「5」を識別コード「6」に修正する。さらに、修正後の識別コード「6」を用いて指標を対応づける。
ここで、識別コード「5」を有する指標Nが、指標801A、801B以外に新たに配置されていて、識別コードの誤認識が生じ得ない程に撮像画像内で確実に撮像されている状況を考える。このとき、指標Nの識別コードが正しく「5」として認識されたとすると、ステップS1203において、指標情報処理部105が保持する指標の識別コードとの照合を行った結果、対応する指標がないと判定される。
もし、ステップS1204の信頼度による処理の振り分けがなく、全ての指標候補に修正処理(ステップS1205、ステップS1206)を実施してしまう処理であれば、識別コード「5」は正しく認識されているにもかかわらず「6」に修正されてしまう。つまり、誤識別が発生する。これに対し、本実施形態に係る指標識別処理では、信頼度が高い場合には修正を行わないという判断がなされるため、確実に撮像されている指標Nに対しては識別コードの修正処理を行わない。
なお、この処理で、指標Nの識別コード「5」が、指標情報処理部105の保持する指標801Bの識別コード「6」に隣接することを検知して、「指標Nの信頼度が低くなった場合に、誤識別が起こる可能性がある」ことを警告として出力してもよい。
つまり、信頼度が高い場合、でも、S1205の処理を行ない、差分が1以内の指標が存在した場合には、S1206で修正を行う代わりに、上述の警告を行うようにしても良い。
以上のように、本実施形態によれば、2次元画像処理以外の手段として、グレイコードの特性及び指標情報保持部105内の指標の情報を用い、誤認識された識別情報を修正することで誤識別を回避することができる。また、検出指標の最も短い辺の長さLeを用いて信頼度を算出し、信頼度が高いと判断された指標候補に対しては、識別情報をそのまま用いて指標を識別する。また、信頼度が低いと判断された指標候補に対しては、指標情報保持部105内の指標の情報とグレイコードの特性とを用いて指標の識別コードの修正を行って識別する。このように、信頼度に応じて、2次元画像処理以外の手段で識別コードの修正処理の実施を判断することにより、指標をより正しく識別することができる。
<変形例1>
上述の実施形態においては、カメラの姿勢をジャイロセンサで計測して、指標の識別情報を検証するための情報の一部として用いた。しかし、本発明においてジャイロセンサを用いることは必須でなく、誤識別を防ぐ任意の2次元画像処理以外の手段を適用可能である。
例えば、ジャイロセンサの代りに磁気センサ等の6自由度センサをカメラに取り付けても良い。この場合、6自由度センサのカメラ計測値を用い、指標の空間中での配置情報を基にして指標をCG等により撮像画像上に投影し、投影像と、実写像との位置や向きやサイズなど、見え方を比較することで指標の識別情報を検証してもよい。
このように、2次元画像処理のみでは誤識別が発生してしまう場合において、2次元画像処理以外の手段で識別情報を検証することにより、誤識別を改善することができる。また、撮像画像から指標を検出したときの信頼性が高い指標は、指標の識別情報を検証せずにそのまま用いることで、磁気センサの誤差によって生じる誤識別をも改善できる。
図14は、本変形例に係る指標識別装置の構成例を示すブロック図である。図14において、図1のブロック図と同様の構成には同じ参照数字を付した。
カメラ位置姿勢センサ1401は、カメラに取り付けられた6自由度センサであり、本変形例においてはPolhemus社製のFASTRAKを使用する。
カメラ位置姿勢計測部1402は、カメラ位置姿勢センサ1401から得たカメラ位置姿勢を指標座標投影計算部1403に出力する。
指標座標投影計算部1403は、カメラ101の位置姿勢値と、指標情報保持部105に記録されている指標の3次元座標情報とから、カメラ101が撮像していると思われる指標の、カメラ101の画像面上での投影位置を計算する。以下、画像面(撮像面とも言う)上に投影した指標を投影指標という。
本変形例における指標識別部106は、信頼度算出部104で得た信頼度に基づいて、画像から検出された指標の中心点の画像座標と指標の画像上での方向と、指標座標投影部1403で得た、投影指標の中心点と画像上での方向とを比較して指標の識別を行う。
その他のブロックについては、第1の実施形態と同等の機能を持つため、説明を省略する。
図15Aは、本変形例における処理の詳細を示すフローチャートである。図6Aに指名した第1の実施形態と同じ処理ステップに関しては同じ番号で示している。
ステップS1501では、カメラ位置姿勢センサ1401からカメラ位置姿勢計測部1402にカメラ位置姿勢が入力される。
ステップS1502では、カメラ位置姿勢計測部1402が、カメラの位置姿勢計測結果からビューイング変換を4×4の変換行列の形で計算する。ビューイング変換とは、現実世界に固定され設定された座標系を基準座標系としたときの、カメラ座標系と基準座標系との間の座標変換のことであり、より具体的には世界座標系の座標値からカメラ座標系の座標値への変換である。すなわち、このビューイング変換を求めておくことによって、基準座標系上にある座標値からカメラ座標系の座標値への変換を容易に計算することが可能となる。
ステップS602では、第1の実施形態と同様に、カメラ101により現実空間を撮像する。
ステップS603では、第1の実施形態と同様に、指標検出部102が、得られた撮像画像から指標を検出するための一工程として、外周正方形を検出し、頂点と中心点の座標を算出する。
ステップS604では、第1の実施形態と同様に、識別コード認識部103が、指標内部の識別コードを認識し、さらに指標の方向を決定し、指標候補リストを作成して出力する。
ステップS606では、信頼度算出部104が、第1の実施形態と同様に、指標候補リスト中の夫々の検出指標に対して当該検出指標の信頼度を算出する。
ステップS1503では、指標座標投影計算部1403が、指標候補リスト中の夫々の検出指標に対して、以下の処理を行う。まず、ステップS604で得られた識別コードを基に、指標情報保持部105に記録されている基準座標系における当該検出指標の中心点と頂点の位置(座標)を、ステップS1502で得られたビューイング変換を利用してカメラ座標系へと変換する。さらに、カメラ101の透視投影変換計算を行うことによって、それぞれの撮像面上での推定位置(投影座標)を計算する。ここで、当然個々の頂点はそれぞれ別々に区別して記録されているため、その個々の頂点を撮像面に投影して得られる投影座標においても、各々がどの頂点を投影したものであるのかも明らかである。なお、カメラ101の透視投影変換は、カメラ101のレンズ焦点距離や主点(投影中心)位置によって一意に定まるものであり、本変形例を実施する前に予め求められているものとする。
ステップS1504では、指標識別部106が、指標候補リスト中の夫々検出指標に対して、ステップS606で得た当該検出指標の信頼度と、ステップS1503で得た指標の中心点と頂点の投影座標とを用いて識別コードの検証を行う。そして、不適合と判断された検出指標を指標候補リストから削除する。
ステップS609では、以上の処理の結果得られた指標候補リスト中の夫々の検出指標の情報が、指標情報保持部105の対応リストに記録され、必要に応じてI/F(不図示)を介して外部に出力される。ここで、検出指標の情報は、識別コード、ステップS604で得た指標の各頂点2次元画像座標値、指標情報保持部105内の各頂点の3次元座標値である。
次に、指標識別部106がステップS1504で行う識別処理の詳細について、図15Bを用いて説明する。以下の処理は、指標候補リスト中の夫々の検出指標に対して実行される。図15Bにおいても、図6Bで説明した第1の実施形態と同じ処理ステップには同じ参照数字を付した。
ステップS610では、第1の実施形態と同様に、指標の信頼度に応じて当該検出指標の処理を決定する。指標の信頼度が閾値以下の場合は、識別コードを誤認識している可能性が高いと判断してステップS1505に処理を移す。指標の信頼度が閾値より高い場合は、認識した識別コードが十分に信頼できると判断して処理を終了する。
ステップS1505では、指標識別部106が、類似性の判断を行う。まず、ステップS603で得た検出指標の中心点の座標と、ステップS1503で得た投影指標の中心点の位置を比較する。画像上における指標位置の比較は、例えば、2点間の画像上における距離を画像座標における位置の類似性として算出してもよい。さらに、当該検出指標の画像上における方向と、投影指標の画像上における方向を比較する。画像上における各指標の方向を比較する方法としては、例えば以下のようなものがある。
(1)ステップS1503で得た指標の中心点の投影座標から、図2に示す指標301内のコード部201のビット割り当て領域の12番に近い頂点座標を投影したときの投影座標へのベクトル
(2)ステップS604で検出した指標の中心点からコード部201のビット割り当て領域の12番(方向性付与形状の4ビット領域のうち色が背景との区別色になっているビット)に近い頂点へのベクトル
の内積を、方向の類似性として算出する。
このようにして求めた位置の類似性と方向の類似性の夫々が、予め定められた閾値以下の場合はステップS612に処理を移し、類似性が高い場合は処理を終了する。
ステップS612では、ステップS604で認識した指標の識別コードが間違っていると判断し、指標候補リストから注目検出指標を削除する。
なお、ステップS1505と同様な処理を信頼度の高い検出指標に対しても実行して、指標の位置と向きの類似性が低い場合は、位置姿勢センサに誤差があると判断し、利用者に警告を出すような構成としてもよい。
また、本変形例は、画像上における指標の位置と方向の類似性を用いて指標の識別情報を検証することに限定されるものではなく、画像上における指標の見え方を特徴として検証する方法であれば適用可能である。例えば、指標の画像座標系におけるサイズ(四角形の面積など)の推定値(頂点の投影座標から算出)と、検出値(頂点の検出座標から算出)との間の類似性などに基づいて検証することができる。また、指標の位置と方向とを同時に用いる必要はなく、指標の位置、方向、画像座標系におけるサイズなど、指標の見え方の少なくとも1つに基づいて検証する方法を用いることができる。
<変形例2>
変形例1においては、6自由度センサを用いてカメラの位置姿勢を計測し、指標情報保持部105内の配置情報を用いて指標を撮像画像上に投影し、撮像画像上における指標の見え方を用いて指標の識別情報を検証した。しかし、カメラ位置姿勢に対して、指標がどのように配置されているか、という情報を用いて検証するような構成としてもよい。
本変形例では、現在のカメラ位置姿勢に対する指標の相対的な配置情報を用いる例として、カメラの視野内に指標があるか否か、及び、指標の法線方向と視軸方向のなす角度が一定値以内か否か、の2つの情報を用いて指標情報を検証する。
本変形例は、変形例1を基にして以下の変更を加えればよい。すなわち、指標座標投影計算部1403が実施する処理ステップS1503において、指標の透視投影変換を省く。また、指標識別部106の処理の一部であるステップS1505において、カメラ座標系における指標の位置姿勢を基に識別コードを検証するような処理、例えば以下のような処理を実施する。
先ず、指標座標投影計算部1403で得た指標の3次元位置が、カメラの想定する視野内にあるか否かを判定する。これは、例えば、カメラ101の透視投影変換の情報を用いて、指標の中心点と各頂点の3次元座標値全てが、透視投影変換の情報(カメラ101のレンズ焦点距離や主点位置)から決定されるビューボリューム内に含まれているかどうかを判定すればよい。
次に、指標がカメラから見える向きを向いているか否かを判定する。これは、例えば、指標の法線方向とカメラの視軸方向とのなす角度が所定範囲内にあるか否かによって判定することができる。指標の法線方向とカメラの視軸方向とのなす角度については、例えば、各方向ベクトルの内積によって求めればよい。
また、指標の法線方向は、あらかじめ指標情報保持部105に保持していてもよいし、図3に示す各頂点JKMLに対応する各頂点の3次元座標値から求めたベクトルJKとベクトルKLの外積値を用いても良い。
なお、指標位置がカメラの視野内に含まれるか否かという検証と、指標の法線方向と視軸方向のなす角度が一定値以内であるか否かという検証の双方を実行することは必ずしも必須ではなく、夫々の処理のうちの何れか一方を実行する構成であってもよい。また、カメラと指標の配置関係に基づく他の基準(例えば、カメラから指標までの距離が閾値以内にあるか否かといった基準)によって判定を行っても良い。さらに、変形例1における画像上での見え方に関する情報による検証を併用することも可能である。
<変形例3>
変形例1では、識別コード認識部103で得た識別コードが正しいか否かの検証を、当該識別コードに対応する指標の配置情報を用いて推定した画像上の位置に投影した指標の見え方と、実際に撮像画像から検出されている指標の見え方との比較により行っている。同様な検証方法を実現する他の構成として、以下の方法がある。まず、指標情報保持部105内に登録されている全ての指標の配置情報を用い、夫々の投影指標の見え方を推定する。そして、撮像画像から検出された指標と、画像上における見え方が類似している投影指標の識別コード(第二の識別コード)を得て、画像から認識した識別コード(第一の識別コード)と統合することで、最終的に採用する識別コードを決定してもよい。
本変形例は、変形例1を基にして以下の変更を加えることにより実現できる。まず、ステップS1503において、指標情報保持部105内に登録されている全ての指標の配置情報を用いて、夫々の指標の画像上における見え方(投影指標)を推定する。さらに、ステップS1505の処理において、全投影指標に対して検出指標との類似性を判定し、最も類似性が高い指標の識別コードを検出指標に対応する識別コード(第二の識別コード)だと判断する。さらに、その結果として得られた第二の識別コードと、撮像画像から認識した識別コード(第一の識別コード)とを比較し、両者の識別コードが一致するか否かによって以降の処理を決定する。すなわち、一致した場合は識別コードが正しいと判定して終了し、一致しない場合には識別コードが誤っていると判定してステップS612へ進むようにする。なお、ステップS1505において、全ての投影指標の類似性が閾値以上にならない場合は、ステップS612において指標候補リストから注目検出指標を削除する。
なお、6自由度位置姿勢センサの計測の信頼度等を他の手段によって得ることもできる。その場合、他の手段で得た信頼度に基づいて第二の識別コードの信頼度を求め、ステップS1505において、第二の識別コードの信頼度が高い場合には第一の識別コードとの比較を行わずに第二の識別コードを採用するような構成とすることができる。
<変形例4>
変形例2においては、識別コード認識部103で得た識別コードが正しいか否かの検証を、当該識別コードに対応する指標の配置情報を用いて推定したカメラと指標との相対的な位置や姿勢の関係に基づいて行っている。同様な検証方法を実現する他の構成として、以下の方法がある。まず、指標情報保持部105内に登録されている全ての指標の配置情報を用いて夫々の指標のカメラに対する相対的な位置や姿勢を推定する。そして、一定の条件を満たす指標の識別コード(第二の識別コード)を得て、撮像画像から認識した識別コード(第一の識別コード)と統合することで、最終的に採用する識別コードを決定してもよい。
本変形例は、変形例2を基にして以下の変更を加えることにより実現できる。まず、ステップS1503において、指標情報保持部105内に登録されている全ての指標の配置情報を用いて、夫々の指標のカメラとの間の相対的な位置と姿勢を推定する。さらに、ステップS1505の処理において、全指標に対して、夫々の指標の中心点と各頂点の3次元座標値が、現在のカメラが想定する視野内に含まれるか否かを検証する。さらに、指標の法線方向とカメラの視軸方向とのなす角度が閾値内であるかという検証を実施する。そして、これらの2つの検証を満たす指標が1つだった場合は、その指標の識別コードを対応する識別コード(第二の識別コード)だと判断し、以下、変形例3と同様な処理を実行する。なお、ステップS1505において、2つの検証を通る指標が1つもない場合は、ステップS612において指標候補リストから注目検出指標を削除する。
また、2つの検証を満たす指標が複数あった場合は、同定せずに指標候補リストから注目検出指標を削除してもよいし、2つの検証を満たす指標を変形例3のように画像面に投影し、投影指標の画像上での見え方の情報を用いて同定してもよい。
<変形例5>
第1及び第2の実施形態では、信頼度に応じて2次元画像処理以外の手段で指標の識別情報を検証又は修正することを判定していたが、信頼度に依存せず常に検証又は修正を実施するような構成としてもよい。
例えば、姿勢センサの精度が良く、姿勢センサの誤差を原因とする指標の誤識別が起こらない場合は、信頼度に応じて指標の識別処理を区別しなくてもよい。
本変形例では、第1の実施形態において、信頼度に関係なく2次元画像処理以外の手段を用いて指標の識別情報を検証する指標識別装置について説明する。
本変形例は、第1の実施形態を基にして以下の変更を加えることで実現できる。すなわち、第1の実施形態における構成から、信頼度算出部104を除き、指標識別部106では、信頼度によらず、常に検出指標の検証を行う。さらに、処理ステップでは、第1の実施形態のステップS606及びステップS610を除き、常にステップS611乃至ステップS612の処理を実行すればよい。
<変形例6>
変形例1では、6自由度センサを用いて指標の識別情報を検証していた。しかし、本発明において識別情報の検証に姿勢センサや6自由度センサは必須でなく、指標の識別情報を正しく得るための情報であれば位置や姿勢以外の情報を適用可能である。例えば、直前の撮像画像(以降、前フレームの画像と呼ぶ)を用いて算出されたカメラ101の位置姿勢を用いて現在の撮像画像に写る指標を識別してもよい。
本変形例は、変形例1を基にして以下の変更を加えることにより実現できる。すなわち、変形例1の指標識別装置の構成からカメラ位置姿勢センサ1401を除き、カメラ位置姿勢計測部1402に、前フレームの撮像画像から得た同定後の指標のデータ(対応リスト)を入手し、これに基づいてカメラ101の位置姿勢を入力すればよい。
指標の対応リストからカメラの位置姿勢を求める方法としては、例えば、非特許文献3等のカメラ位置姿勢同定方法を用いることができる。非特許文献3のカメラ位置姿勢同定方法とは、すなわち、外形が正方形であることを利用して、その制約条件下で各頂点をカメラの画像座標系に投影したときの誤差を最小化するようなカメラの位置姿勢成分を推定する方法である。このようにして得たカメラ位置姿勢を基に、変形例1と同様に指標の配置情報を撮像画像に投影し、検出された指標の情報と比較を行うことができる。
<変形例7>
変形例6では、前フレームで得たカメラ位置姿勢を用いて、指標の識別情報を検証していた。しかし、例えば、複数の指標のうち、撮像画像内で既に識別できた一部の指標を基にカメラ101の位置姿勢を推定し、推定されたカメラ位置姿勢を用いて指標を識別してもよい。例えば、信頼度の高い指標候補の情報を、カメラ位置姿勢計測部1402に入力し、カメラ位置姿勢を得た後に、信頼度の低い指標の識別を行ってもよい。
<変形例8>
第1及び第2の実施形態においては、正方形の外形を有し、内部にコード領域を持つ指標を用いていたが、特定の外形をもつ指標を用いる必要はなく、特許文献1に記載されるような、外形を持たない指標(マーカ)を用いてもよい。
本変形例におけるマーカ120は、特許文献1に掲載されている指標を用いる。すなわち、長方形のバーと4点の特徴点と特徴点内部の2次元バーコード部から構成される。
この場合、第1の実施形態における指標検出部102及び識別コード認識部103の代わりに、特許文献1に記載されるような、2次元コードデータの検出処理を用いればよい。すなわち、撮像画像の2値化を行い、黒色画素連結領域を決定する。さらに、認識処理の基準となる長方形のロゴマークセル部を検出し、所定の探索範囲内のコーナーセルを検出して、検出した各4点を第1の実施形態の指標外形301の頂点として登録する。その他の処理は、第1の実施形態と同様の処理を行えばよいため説明を省略する。
<変形例9>
第1及び第2の実施形態においては、正方形の外形を有し、内部にバーコード領域を持つ指標を用いていたが、非特許文献1に記載されるような、内部に識別用の固有のパターンを持つ指標を用いても良い。
このような指標を用いる場合には、第1の実施形態における識別コード認識部103の代わりに、非特許文献1に記載されるようなテンプレートマッチングの検出処理を用いればよい。すなわち、撮像画像に写る指標外形の4頂点内にあるパターンを画像として取得する。さらに、ホモグラフィ変換によりパターンを正方形形状に正規化し、指標情報保持部105内にあらかじめ登録されている、パターンのテンプレート画像を探索することにより識別情報を認識する。
つまり、指標情報保持部105には、第1の実施形態における指標の情報の他に、空間中に配置した各指標の内部に印刷されたパターンのテンプレート画像を登録しておく。その他の処理は、第1の実施形態と同様でよいため説明を省略する。
<変形例10>
第1及び第2の実施形態においては、人為的に作成した指標を用いていたが、自然特徴を指標として用いてもよい。例えば、非特許文献4に開示されているSIFT(Scale Invariant Feature Transformation)特徴量のように、シーンの自然特徴の撮像画像から、その自然特徴に固有な識別子を一意に取得可能な特徴量を指標として用いることができる。このような特徴量について同定を行う場合、変形例2や変形例4で示した検証方法を適用することができる。例えば、自然特徴の3次元位置と、カメラの大まかな位置姿勢からその自然特徴が視野に含まれているかどうかに基づいて、画像情報のみから得た識別子の検証を行うことが可能である。
<他の実施形態>
なお、上述の実施形態及び変形例においては、理解を容易にするため、カメラ及び3次元姿勢センサ又は3次元位置姿勢センサを含む指標識別装置について説明したが、これらは指標識別装置に必須ではない。すなわち、カメラを位置姿勢計測又は3次元姿勢計測し、また、撮像は他の装置で行い、他の装置から計測結果と撮像画像を取得する構成であってもよい。また、リアルタイムに処理を行う場合だけでなく、記録された3次元位置計測結果と、撮像画像とを用いて識別処理を行うことももちろん可能である。
また、上述の実施形態及び変形例においては、カメラに6自由度位置姿勢センサが装着されており、指標は環境中の既知の位置に固定されている場合について説明した。しかし、指標は必ずしも環境中に固定されている必要は無く、移動可能な物体に取り付けられていても良い。この場合、指標を取り付けた物体にも6自由度位置姿勢センサを装着し、物体に対するカメラの相対的な位置姿勢を計測すれば、固定された指標と同様に取り扱うことができる。また、カメラが環境中の既知の位置に固定されていて、指標を有する物体のみが移動するような状況であっても同様であり、カメラと物体の大まかな相対位置姿勢が計測できる状況であれば、同様な効果を有する検証を行うことができることはいうまでもない。
なお、前述した実施形態の機能を実現するコンピュータプログラムを、コンピュータを含むシステム或いは装置のコンピュータが実行することによって同等の機能が達成される場合も本発明に含む。コンピュータを含むシステム又はコンピュータへのプログラムの供給は、記録媒体から直接行っても、有線/無線通信を用いて行っても良い。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体がある。また、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW等の光/光磁気記憶媒体、不揮発性の半導体メモリなどもある。
有線/無線通信を用いたプログラムの供給方法としては、以下のような方法がある。コンピュータネットワーク上のサーバに、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムデータファイル)を記憶する。そして、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法である。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。プログラムデータファイルとしては、本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等でよい。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してダウンロードさせることによって供給することもできる。この場合、その鍵情報を使用することにより、暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されるだけでなく、他のプログラムを利用することによって実施形態の機能を実現してもよい。例えば、プログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行うことで、前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードや、コンピュータに接続された機能拡張ユニットで実行されることで前述した実施形態の機能が実現されてもよい。具体的には、機能拡張ボードや機能拡張ユニットが備えるメモリやCPUによってプログラムが実行され、実際の処理の一部または全部を担っても良い。
第1の実施形態に係る指標識別装置の構成例を示すブロック図である。 第1の実施形態に係る指標識別装置が識別する指標の例を示す図である。 指標を、撮像する現実空間中の床と壁に配置し、それを指標識別装置のカメラで撮像している状態を模式的に示す図である。 図4のカメラ101で撮像された画像を二値化した結果を示す模式図である。 第1の実施形態に係る指標識別装置の処理を説明するフローチャートである。 図6AのステップS608の処理を説明するフローチャートである。 第2の実施形態に係る指標識別装置の構成例を示すブロック図である。 第2の実施形態に係る指標識別装置を適用して指標識別する現実空間の様子を模式的に示す図である。 図8のカメラ101で撮像された画像を二値化した結果を示す模式図である。 第2の実施形態で用いる指標を説明する図である。 第2の実施形態に係る指標識別装置の処理を説明するフローチャートである。 第2の実施形態における識別モジュール707が行う認識・識別処理の詳細を示すフローチャートである。 第2の実施形態における識別コード認識処理を説明する模式図である。 変形例1に係る指標識別装置の構成例を示すブロック図である。 変形例1に係る指標識別装置の処理を説明するフローチャートである。 図15AにおけるステップS1504の処理を説明するフローチャートである。

Claims (20)

  1. 現実空間を撮像した撮像画像を取得する画像取得工程と、
    前記撮像画像から1つ以上の指標を検出する指標検出工程と、
    前記検出された指標から、当該指標を識別するための指標識別情報を認識する認識工程と、
    前記認識結果の信頼度を算出する信頼度算出工程と、
    前記指標識別情報の認識結果を検証するための検証情報であって、前記撮像画像に基づかない検証情報を取得する検証情報取得工程と、
    前記検証情報に基づいて、前記認識結果を検証又は修正する検証工程と
    を備え
    前記検証工程は、前記信頼度算出工程で算出された前記信頼度に応じて、前記検証工程で行う処理を変更することを特徴とする指標識別方法。
  2. 前記検証工程は、前記信頼度が前記認識結果を信頼するに足りないときにのみ前記認識結果の検証又は修正を行うことを特徴とする請求項に記載の指標識別方法。
  3. 前記信頼度算出工程は、前記信頼度を、前記検出された指標の複数の特徴点の、前記撮像画像における位置関係を用いて算出することを特徴とする請求項に記載の指標識別方法。
  4. 前記信頼度算出工程は、前記複数の特徴点の位置関係として、前記撮像画像における前記複数の特徴点間の距離を用いることを特徴とする請求項に記載の指標識別方法。
  5. 前記指標識別情報は、前記指標の予め定められた領域中に濃淡または色によって表現される情報であって、前記認識工程は、前記予め定められた領域の明度または色を検出することにより、前記識別情報を認識することを特徴とする請求項乃至請求項のいずれか1項に記載の指標識別方法。
  6. 前記指標識別情報が、淡又は色により表現された、誤り訂正可能な符号によるコードであり、
    前記認識工程は、前記認識した前記指標識別情報に誤りがあれば訂正を行うと共に、
    前記信頼度算出工程は、前記認識工程で前記訂正が行われたか否かを前記信頼度に反映させることを特徴とする請求項乃至請求項のいずれか1項に記載の指標識別方法。
  7. 前記信頼度算出工程は、前記信頼度を、前記検出された指標の、前記撮像画像中に占める画素数を用いて算出することを特徴とする請求項乃至請求項のいずれか1項に記載の指標識別方法。
  8. 前記指標が設置または設定されている物体に対する、前記撮像画像を撮像した撮像装置の配置情報を取得する配置情報取得工程をさらに有し、
    前記検証情報取得工程は、前記配置情報取得工程で取得された前記撮像装置の配置情報と、前記認識工程で認識された前記指標識別情報に対応する指標の、前記物体上における配置情報とに基づいて前記検証情報を取得することを特徴とする、請求項1乃至請求項のいずれか1項記載の指標識別方法。
  9. 前記検証情報取得工程は、前記配置情報取得工程で取得された前記撮像装置の配置情報と、前記認識工程で認識された前記指標識別情報に対応する指標の、前記物体上における配置情報とに基づいて、前記撮像画像上における前記検出された指標の見え方に関する情報の推定値を前記検証情報として算出し、
    前記検証工程は、前記検出された指標の前記撮像画像上における見え方に関する情報の検出値と、前記検証情報取得工程で算出された前記推定値との比較によって、前記認識工程における前記指標識別情報の認識結果の検証を行うことを特徴とする請求項に記載の指標識別方法。
  10. 前記検証情報取得工程は、前記配置情報取得工程で取得された前記撮像装置の配置情報と、前記認識工程で認識された前記指標識別情報に対応する指標の、前記物体上における配置情報とに基づいて、前記撮像装置に対する前記指標の相対的な位置および/または姿勢の推定値を前記検証情報として算出し、
    前記検証工程は、前記検証情報取得工程で取得された前記指標の位置および/または姿勢の推定値に基づいて、前記認識工程における前記指標識別情報の認識結果の検証を行うことを特徴とする請求項に記載の指標識別方法。
  11. 現実空間を撮像した撮像画像を取得する画像取得工程と、
    前記撮像画像から1つ以上の指標を検出する指標検出工程と、
    前記検出された指標が設置または設定されている物体に対する、前記撮像画像を撮像した撮像装置の配置情報を取得する配置情報取得工程と、
    前記検出された指標から、当該指標を識別するための第1の指標識別情報を認識する認識工程と、
    前記検出された指標を識別するための第2の指標識別情報を、前記撮像画像からの認識以外の手段で取得する指標識別情報取得工程と、
    前記認識工程で認識された第1の指標識別情報と、前記指標識別情報取得工程で取得された第2の指標識別情報とを比較して前記検出された指標の識別を行う指標識別工程とを備え
    前記指標識別情報取得工程は、前記配置情報取得工程で取得された前記撮像装置の配置情報と、前記検出された指標の前記物体上における配置情報とに基づいて、前記第2の指標識別情報を取得することを特徴とする指標識別方法。
  12. 前記指標識別情報取得工程は、前記配置情報取得工程で取得された前記撮像装置の配置情報と、前記検出された指標の前記物体上における配置情報とに基づいて、前記撮像画像における前記検出された指標の見え方に関する情報の推定値を算出し、前記指標検出工程における、前記検出された指標の前記撮像画像における見え方に関する情報の検出値と比較することによって前記検出された指標の同定を行い、前記第の指標識別情報を得ることを特徴とする請求項11に記載の指標識別方法。
  13. 前記指標識別情報取得工程は、前記配置情報取得工程で取得された前記撮像装置の配置情報と、前記検出された指標の前記物体上における配置情報とに基づいて、前記撮像装置に対する前記検出された指標の相対的な位置および/または姿勢の推定値を算出し、該推定値を利用して前記第の指標識別情報を得ることを特徴とする請求項11に記載の指標識別方法。
  14. 前記指標の前記撮像画像における見え方に関する情報とは、前記撮像画像における前記検出された指標の位置、向き、大きさの1つ以上を含むことを特徴とする、請求項または請求項12に記載の指標識別方法。
  15. 前記配置情報取得工程は、前記物体および/または前記撮像装置に装着された、位置および/または姿勢センサを利用して、前記撮像装置の配置情報を取得することを特徴とする請求項乃至請求項14のいずれか1項に記載の指標識別方法。
  16. 前記配置情報取得工程は、過去に識別された指標の情報を用いて、前記撮像装置の配置情報を推定することを特徴とする請求項乃至請求項14のいずれか1項に記載の指標識別方法。
  17. 現実空間を撮像した撮像画像を取得する画像取得手段と、
    前記撮像画像から1つ以上の指標を検出する指標検出手段と、
    前記検出された指標から、当該指標を識別するための指標識別情報を認識する認識手段と、
    前記認識結果の信頼度を算出する信頼度算出手段と、
    前記指標識別情報の認識結果を検証するための検証情報であって、前記撮像画像に基づかない検証情報を取得する検証情報取得手段と、
    前記検証情報に基づいて、前記認識結果を検証又は修正する検証手段と
    を備え
    前記検証手段が、前記信頼度算出手段によって算出された前記信頼度に応じて、実行する処理を変更することを特徴とする指標識別装置。
  18. 現実空間を撮像した撮像画像を取得する画像取得手段と、
    前記撮像画像から1つ以上の指標を検出する指標検出手段と、
    前記検出された指標が設置または設定されている物体に対する、前記撮像画像を撮像した撮像装置の配置情報を取得する配置情報取得手段と、
    前記検出された指標から、当該指標を識別するための第1の指標識別情報を認識する認識手段と、
    前記検出された指標を識別するための第2の指標識別情報を、前記撮像画像からの認識以外の手段で取得する指標識別情報取得手段と、
    前記認識手段で認識された第1の指標識別情報と、前記指標識別情報取得手段で取得された第2の指標識別情報とを比較して、前記検出された指標の識別を行う指標識別手段とを備え、
    前記指標識別情報取得手段は、前記配置情報取得手段で取得された前記撮像装置の配置情報と、前記検出された指標の前記物体上における配置情報とに基づいて、前記第2の指標識別情報を取得することを特徴とする指標識別装置。
  19. コンピュータに、請求項1乃至請求項16のいずれか1項に記載の指標識別方法を実行させるためのコンピュータプログラム。
  20. 請求項19記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2005362371A 2005-12-15 2005-12-15 指標識別方法及び指標識別装置 Expired - Fee Related JP4916167B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005362371A JP4916167B2 (ja) 2005-12-15 2005-12-15 指標識別方法及び指標識別装置
US11/610,797 US7847844B2 (en) 2005-12-15 2006-12-14 Information processing apparatus and method for determining whether a detected index is an index included in sensed image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005362371A JP4916167B2 (ja) 2005-12-15 2005-12-15 指標識別方法及び指標識別装置

Publications (2)

Publication Number Publication Date
JP2007164631A JP2007164631A (ja) 2007-06-28
JP4916167B2 true JP4916167B2 (ja) 2012-04-11

Family

ID=38172829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005362371A Expired - Fee Related JP4916167B2 (ja) 2005-12-15 2005-12-15 指標識別方法及び指標識別装置

Country Status (2)

Country Link
US (1) US7847844B2 (ja)
JP (1) JP4916167B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4739004B2 (ja) * 2005-12-15 2011-08-03 キヤノン株式会社 情報処理装置及び情報処理方法
JP5403861B2 (ja) * 2006-11-06 2014-01-29 キヤノン株式会社 情報処理装置、情報処理方法
JP4898464B2 (ja) * 2007-01-17 2012-03-14 キヤノン株式会社 情報処理装置および方法
JP2008261755A (ja) * 2007-04-12 2008-10-30 Canon Inc 情報処理装置、情報処理方法
GB2451436B (en) * 2007-07-27 2012-09-19 Hewlett Packard Development Co An encoder and decoder and methods of encoding and decoding sequence information
GB2452508A (en) * 2007-09-05 2009-03-11 Sony Corp Generating a three-dimensional representation of a sports game
JP4956375B2 (ja) * 2007-10-30 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
JP4876056B2 (ja) * 2007-11-16 2012-02-15 キヤノン株式会社 画像処理装置、画像処理方法
JP5149725B2 (ja) * 2008-07-22 2013-02-20 キヤノン株式会社 画像処理装置及びその制御方法
JP5182182B2 (ja) * 2009-03-25 2013-04-10 株式会社デンソーウェーブ 色補正方法及び撮像システム
JP5638789B2 (ja) * 2009-11-12 2014-12-10 株式会社野村総合研究所 標識使用方法
WO2012001793A1 (ja) 2010-06-30 2012-01-05 富士通株式会社 画像処理プログラムおよび画像処理装置
JP5178860B2 (ja) * 2011-02-24 2013-04-10 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
JP4967065B2 (ja) 2011-02-24 2012-07-04 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP2011134343A (ja) 2011-02-24 2011-07-07 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP4989768B2 (ja) 2011-02-24 2012-08-01 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP5026604B2 (ja) 2011-02-24 2012-09-12 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
JP5016723B2 (ja) 2011-02-24 2012-09-05 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
US9305361B2 (en) * 2011-09-12 2016-04-05 Qualcomm Incorporated Resolving homography decomposition ambiguity based on orientation sensors
US8798357B2 (en) * 2012-07-09 2014-08-05 Microsoft Corporation Image-based localization
US20140047393A1 (en) * 2012-08-07 2014-02-13 Samsung Electronics Co., Ltd. Method and portable apparatus with a gui
US20140253540A1 (en) * 2013-03-07 2014-09-11 Yoav DORI Method and system of incorporating real world objects into a virtual environment
US9870565B2 (en) * 2014-01-07 2018-01-16 Joshua Migdal Fraudulent activity detection at a barcode scanner by verifying visual signatures
US9715515B2 (en) * 2014-01-31 2017-07-25 Microsoft Technology Licensing, Llc External data access with split index
JP6218237B2 (ja) * 2014-06-09 2017-10-25 Kddi株式会社 撮影画像を平行化する画像変換プログラム、装置及び方法
US10373335B1 (en) * 2014-07-10 2019-08-06 Hrl Laboratories, Llc System and method for location recognition and learning utilizing convolutional neural networks for robotic exploration
US10574665B2 (en) * 2016-09-29 2020-02-25 AVAST Software s.r.o. System and method for determining device proximity

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW434520B (en) * 1998-06-30 2001-05-16 Sony Corp Two-dimensional code recognition processing method, device therefor and medium
JP3794463B2 (ja) 1998-06-30 2006-07-05 ソニー株式会社 多次元コード認識処理方法、多次元コード認識処理装置、および多次元コード認識処理プログラム
JP4794708B2 (ja) * 1999-02-04 2011-10-19 オリンパス株式会社 3次元位置姿勢センシング装置
US6956503B2 (en) * 2002-09-13 2005-10-18 Canon Kabushiki Kaisha Image display apparatus, image display method, measurement apparatus, measurement method, information processing method, information processing apparatus, and identification method
EP1521213A3 (en) * 2003-09-30 2006-08-30 Canon Kabushiki Kaisha Index identification method and apparatus
JP2005107247A (ja) * 2003-09-30 2005-04-21 Canon Inc 位置姿勢推定方法および装置
JP4282067B2 (ja) * 2003-09-30 2009-06-17 キヤノン株式会社 指標識別方法および装置
JP4502361B2 (ja) * 2003-09-30 2010-07-14 キヤノン株式会社 指標姿勢検出方法および装置
JP3871693B2 (ja) * 2004-02-16 2007-01-24 健治 吉田 ドットパターンを用いたセキュリティシステム
US7467061B2 (en) * 2004-05-14 2008-12-16 Canon Kabushiki Kaisha Information processing method and apparatus for finding position and orientation of targeted object
JP4914038B2 (ja) * 2004-11-04 2012-04-11 キヤノン株式会社 情報処理方法および装置
JP4859205B2 (ja) * 2005-02-04 2012-01-25 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP4250620B2 (ja) * 2005-07-29 2009-04-08 キヤノン株式会社 情報処理方法および装置
JP4739004B2 (ja) * 2005-12-15 2011-08-03 キヤノン株式会社 情報処理装置及び情報処理方法
JP5063023B2 (ja) * 2006-03-31 2012-10-31 キヤノン株式会社 位置姿勢補正装置、位置姿勢補正方法

Also Published As

Publication number Publication date
US20070139321A1 (en) 2007-06-21
JP2007164631A (ja) 2007-06-28
US7847844B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
JP4916167B2 (ja) 指標識別方法及び指標識別装置
JP4739004B2 (ja) 情報処理装置及び情報処理方法
US7676079B2 (en) Index identification method and apparatus
CN106372702B (zh) 一种定位标识及其定位方法
JP5084167B2 (ja) 位置姿勢計測方法及び装置
US8019114B2 (en) Position and orientation measurement method and apparatus
US7974462B2 (en) Image capture environment calibration method and information processing apparatus
US20100289797A1 (en) Position and orientation estimation apparatus and method
KR100821431B1 (ko) 정보 처리 방법, 정보 처리 장치, 및 기록매체
JP2008309631A (ja) 情報処理方法及び情報処理装置
US20130141461A1 (en) Augmented reality camera registration
US20070125862A1 (en) Two-dimensional code, and method and apparatus for detecting two-dimensional code
JP2010134649A (ja) 情報処理装置、その処理方法及びプログラム
US8170339B2 (en) Image processing apparatus and image processing method
KR20180105875A (ko) 단일 영상을 이용한 카메라 캘리브레이션 방법 및 이를 위한 장치
KR20140060575A (ko) 배향 센서들에 기초한 호모그래피 분해 모호성의 해결
US20050069172A1 (en) Index identifying method and system
US20150370348A1 (en) Active triangulation calibration
JP4282067B2 (ja) 指標識別方法および装置
Fiala Artag fiducial marker system applied to vision based spacecraft docking
JP4804125B2 (ja) 2次元コード、2次元コード検出方法、および2次元コード検出装置
JP4497880B2 (ja) 指標識別方法および装置
Gava et al. A Unifying Structure from Motion Framework for Central Projection Cameras
JP2014215821A (ja) 情報処理装置、情報処理方法及びプログラム
JP2010118002A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4916167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees