(57)【要約】  ＦＡＳＴ特徴点を中心とする局所領域の輝度分布特性を効果的に特徴ベクトルに反映させるとともに特徴ベクトルの計算コストをより低減して処理を高速化しつつ、特徴ベクトルの充分なマッチングの精度及び安定性を確保する。  輝度配向ベクトルＯｒｉの始点から終点側へ延びた半直線に最も距離が近い小円周上の画素をＰ０とし、この画素Ｐ０の方向の延長線上且つ大円周上の画素をＱ０とし、画素Ｐ０から反時計回りに１画素ごとの小円周上の画素をそれぞれ画素Ｐ１〜Ｐ７とし、画素Ｑ０から反時計回りに１画素ごとの小円周上の画素をそれぞれ画素Ｑ１〜Ｑ１６とし、局所領域画像Ｇｘの特徴ベクトルＶｆを、Ｖｆ＝α（Ｆ００，Ｆ０１，．．，Ｆｆ７）として求める。ここに、ベクトル成分Ｆｉｊは、Ｆｉｊ＝Ｉ（Ｑｊ）−Ｉ（Ｐｉ）であり、Ｉ（ｘ）は画素ｘの輝度であり、αは、特徴ベクトルＶｆのノルムを正規化するための係数である。
2014092193.tif 000002
【特許請求の範囲】
【請求項１】
カメラと、該カメラで撮像されたフレーム画像と参照マップとプログラムとが格納された記憶装置と、プロセッサと、出力装置とを備え、該参照マップは複数の特徴点のそれぞれについて特徴点の第１座標系内座標と回転不変性特徴ベクトルとを含み、該プログラムは該プロセッサに対し、
（ａ）グレースケールの該フレーム画像又は該フレーム画像をグレースケール化した画像である輝度画像に対しＦＡＳＴコーナー検出法により特徴点の輝度画像上第２座標系内座標を検出させ、
（ｂ）検出された各特徴点を中心とする局所領域の輝度配向を求めさせ、
（ｃ）該輝度配向を基準として該局所領域の回転不変性特徴ベクトルを求めさせ、
（ｄ）求めた該回転不変性特徴ベクトルと該参照マップ内の回転不変性特徴ベクトルとのマッチングにより、該参照マップ内の対応する特徴点座標を取得させ、
（ｅ）処理（ｄ）で取得した複数の特徴点座標に関する情報を該出力装置に供給する、画像処理装置において、該プログラムは該プロセッサに対し、処理（ｃ）において、
該特徴点を中心とする第１の半径の円周上の画素のうち等画素間隔のｎ個の画素Ｐｉ、ｉ＝０〜ｎ−１の輝度Ｉ（Ｐｉ）及び該特徴点を中心とする、該第１の半径より大きい第２の半径の円周上の画素のうち等画素間隔のｍ≧ｎなるｍ個の画素Ｑｊ、ｊ＝０〜２ｍ−１の輝度Ｉ（Ｑｊ）を、該輝度配向を基準として所定順にサンプリングさせるとともに、この順に対応した全サンプル画素の組み合わせ（Ｐｉ，Ｑｊ）のそれぞれの両画素の輝度値の差を成分とするｎｘｍ次元のベクトルを求めさせ、
該ベクトルのノルムを所定値に正規化したものを、該回転不変性特徴ベクトルとして求めさせる、
ことを特徴とする画像処理装置。
【請求項２】
該プログラムは該プロセッサに対し、処理（ｂ）において、
該特徴点を中心とする第３の半径の円周上の画素のうち等画素間隔のｐ個の画素Ｒｉ、ｉ＝０〜ｐ−１及び該特徴点を中心とする、該第３の半径より大きい第４の半径の円周上の画素のうち等画素間隔のｑ≧ｐなるｑ個の画素Ｓｊ、ｊ＝０〜ｑ−１の全組み合わせ（Ｒｉ，Ｓｊ）について、該組み合わせの両画素の輝度値Ｉ（Ｒｉ）とＩ（Ｓｊ）との差に、該画素Ｒｉと該画素Ｓｊとの一方から他方への正規化された方位ベクトルを乗じたものの総和のベクトルの方向を、該輝度配向として求めさせる、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
該第３の半径は該第１の半径に等しく３画素又は４画素であり、該第４の半径は該第２の半径に等しく、ｎ及びｍの値の組（ｎ，ｍ）は、（８，８）、（８，１６）又は（１６，１６）であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
該記憶装置にはさらに、被合成対象である３次元モデル、画像又は情報が格納され、
該プログラムは該プロセッサに対し処理（ｅ）において、
処理（ｂ）で検出された特徴点の座標とこれに対応する、処理（ｄ）で取得した座標とを、３組以上対応させて、該第１座標系の座標を該第２座標系の座標に変換するパラメータを推定させ、該パラメータに基づき該被合成対象を該フレーム画像に投影させ、該投影されたフレーム画像を含む画像のデータを、該複数の特徴点座標に関する情報として該出力装置に供給させる、
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像処理装置。
【請求項５】
該参照マップはさらに、特徴点毎の特徴点ＩＤと、回転不変性特徴ベクトルを入力とし特徴点ＩＤを出力とするランダムフォレスト識別器とを有し、
該参照マップに含まれる回転不変性特徴ベクトルは、各特徴点について、互いに異なる複数のカメラ視点のそれぞれに対応した特徴ベクトルをマッチング対象として含み、
処理（ｄ）では、求めた該回転不変性特徴ベクトルを該識別器に入力して特徴点ＩＤを推定させ、該特徴点ＩＤに対応した、該参照マップ内の特徴点座標を取得させ、ランザックにより、マッチング外れに対応した特徴点の座標を、該取得した特徴点座標から除外することにより、該マッチングを行う、
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像処理装置。
【請求項６】
プロセッサが請求項１乃至５のいずれか１つに記載の画像処理装置の該プログラムを実行することを特徴とする画像処理方法。
【請求項７】
請求項１乃至５のいずれか１つに記載の画像処理装置の該プログラムを有することを特徴とする画像処理プログラム。
【請求項８】
プロセッサと、データ及びプログラムが格納される記憶装置とを備え、該データは濃淡画像を含み、該プログラムは該プロセッサに対し該データに含まれる複数の局所特徴量を生成させる特徴ベクトル生成プログラムを含む画像処理装置において、
該特徴ベクトル生成プログラムは該プロセッサに対し、
（ａ）該濃淡画像に対しコーナポイントである特徴点の座標を検出させ、
（ｂ）検出された各特徴点である第１特徴点から近い順の所定数の第２特徴点のそれぞれと該第１特徴点とのペア特徴点を選択させ、
（ｃ）各ペア特徴点について、該第１特徴点と該第２特徴点との間の距離Ｌを求めさせ、
（ｄ）該第１特徴点を中心とし該距離Ｌに比例した第１半径の円周上の画素のうち等画素間隔のｎ個（ｎ≧４）の画素のそれぞれを含む画素領域Ｐｉ、ｉ＝０〜ｎ−１の平均第１輝度Ｉ（Ｐｉ）を、該距離Ｌの線方向を基準として所定順にサンプリングさせ、それぞれと該第１特徴点を含む画素領域の輝度との差と、
該第２特徴点を中心とし該距離Ｌに比例した第２半径の円周上の画素のうち等画素間隔のｍ個（ｍ≧４）の画素のそれぞれを含む画素領域Ｑｉ、ｉ＝０〜ｍ−１の平均第２輝度Ｉ（Ｑｊ）を、該距離Ｌの線方向を基準として所定順にサンプリングさせ、それぞれと該第２特徴点を含む画素領域の輝度との差と、
を成分とする、正規化された局所特徴ベクトルを求めさせ、
該画素領域の画素数の平方根は該距離Ｌに略比例している
ことを特徴とする画像処理装置。
【請求項９】
ｍ及びｎはいずれも８、１６又は３２である
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
カメラをさらに備え、
該濃淡画像は、該カメラで撮像されたフレーム画像をグレースケール化した画像である
ことを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１１】
該データはさらに、各参照濃淡画像について、該特徴ベクトル生成プログラムで生成した局所特徴ベクトルを参照局所特徴ベクトルとしてクラスＩＤと対応付けたものと該参照濃淡画像に関する情報とを含み、該プログラムはさらに画像検索プログラムを含み、
該画像検索プログラムは、該プロセッサに対し、
（ｅ）検索濃淡画像に対しステップ（ｄ）で求めた各局所特徴ベクトルについて、該局所特徴ベクトルに対応する、該参照データ内のクラスＩＤを、該局所特徴ベクトルと該参照データ内の参照局所特徴ベクトルとのマッチングにより決定させ、該クラスＩＤが属する参照濃淡画像のカウンタをインクリメントさせ、
（ｆ）カウンタ値が最大の参照濃淡画像に関する、該参照データ内の情報を、該検索濃淡画像の情報として出力させる、
ことを特徴とする画像処理装置。
【請求項１２】
該画像検索プログラムは、該プロセッサに対し、ステップ（ｅ）において、局所特徴ベクトルを入力としクラスＩＤを出力とする識別器により、該クラスＩＤを決定させる、
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
拡張現実表示装置である
ことを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１４】
請求項８乃至１３のいずれか１つに記載の画像処理装置を構成するプログラム。
【請求項１５】
プロセッサと、プログラム及びホログラム認識用情報が格納される記憶装置と、カメラと、表示装置と、指示入力手段とを備え、該プログラムは該プロセッサに対し、該指示入力手段からの指示入力に応答して、該カメラで被写体を撮像させてその画像データを該記憶装置に格納させるとともに該表示装置に表示させ、該画像データと該ホログラム認識用情報とに基づいて、該カメラに対する、ホログラムが貼着されたゲーム用カードの相対的な位置・姿勢を認識させるカメラ付き移動端末装置であって、
該プログラムは該プロセッサに対しさらに、
（ａ）該ホログラム認識用情報と該位置・姿勢とに基づいて推定される画像データ上ホログラム領域を抽出させ、
（ｂ）該位置・姿勢の姿勢の角度変化が設定値を超える毎に、該ホログラム領域の色の変化の評価値を求めさせ、
（ｃ）該評価値の平均値に基づいて、該ゲーム用カードの真偽を判定させる、
ことを特徴とするカメラ付き移動端末装置。
【請求項１６】
該プログラムは該プロセッサに対しさらに、ユーザに対し該カメラの正面にかざしたゲーム用カードを傾斜させる指示を、該表示装置に表示させる、
ことを特徴とする請求項１５に記載のカメラ付き移動端末装置。
【請求項１７】
該プログラムは該プロセッサに対しステップ（ｂ）において、
該角度変化が設定値を超える毎の、時間的に隣り合う２つの該ホログラム領域の対応するカラー画素の色変化量が所定値を超えているものをカウントさせ、該ホログラム領域の全画素数に対するカウント値の比に対応した値を該評価値として求めさせる、
ことを特徴とする請求項１５又は１６に記載のカメラ付き移動端末装置。
【請求項１８】
該プログラムは該プロセッサに対しステップ（ｂ）において、該時間的に隣り合う２つの該ホログラム領域のサイズが互いに同一になるように補完法で正規化した後に、該対応するピクセルの色変化量を求めさせる、
ことを特徴とする請求項１７に記載のカメラ付き移動端末装置。
【請求項１９】
スマートフォン又はハンドヘルドゲーム機であることを特徴とする請求項１５乃至１８のいずれか１つに記載のカメラ付き移動端末装置。
【請求項２０】
請求項１５乃至１９のいずれか１つに記載のカメラ付き移動端末装置を構成するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輝度画像上の自然特徴点を中心とする局所領域の回転不変性特徴ベクトルを求め、これを参照マップ内の回転不変性特徴ベクトルとのマッチングにより、該参照マップ内の対応する特徴点座標を取得し、取得した複数の特徴点座標に関する情報を出力する画像処理装置、画像処理方法及び画像処理プログラムに関する。本発明は、特に、カメラを備えたスマートフォンに拡張現実画像を表示するのに好適な画像処理装置、画像処理方法及び画像処理プログラムに関する。【０００２】
本発明は、輝度画像上の自然特徴点を中心とする局所領域においてスケール不変性かつ回転不変性を有する特徴ベクトルを求める機能を備えた画像処理装置及びそのプログラムに関する。【０００３】
本発明は、カメラ及びコンピュータを備え、ゲーム用カードの真偽判定機能を備えたスマートフォン、ハンドヘルドゲーム機、ＰＤＡ、ノートパソコンなどのカメラ付き移動端末装置及びプログラムに関する。
【背景技術】
【０００４】
カメラを備えたスマートフォンの性能向上とＦＡＳＴ（Features from Accelerated Segment Test）コーナー検出法などの画像処理技術の向上に伴い、マーカレスＡＲ（Augmented Reality：拡張現実）をスマートフォンで実現可能になった。【０００５】
ＦＡＳＴコーナー検出法によれば、１画像内の自然特徴点を多数、高速に検出することができる。これら特徴点を、予め求めた参照マップ内の特徴点とマッチングすることにより、３次元座標をカメラ画像の２次元座標に投影するカメラパラメータを推定することができる。また、推定したパラメータに基づき、３Ｄモデルをカメラ画像に投影した（カメラ画像にＣＧ画像を重畳した）ＡＲ画像を生成することができる。このマッチングを行うために、各特徴点を中心とする局所特徴ベクトルを記述する必要がある。【０００６】
下記特許文献１には、画像の回転に強い特徴ベクトルを、コントラストによらずに算出することができる特徴ベクトル算出方法が開示されている。【０００７】
また、下記非特許文献１には、そこでのテストの結果、下記非特許文献２のＢＲＩＥＦ（Binary Robust Independent Elementary Features）という手法が最速であると記載されている。【０００８】
カメラを備えたスマートフォンの性能向上と、ＦＡＳＴ（Ｆｅａｔｕｒｅｓ  ｆｒｏｍ  Ａｃｃｅｌｅｒａｔｅｄ  Ｓｅｇｍｅｎｔ  Ｔｅｓｔ）コーナー検出法などの画像処理技術の向上とに伴い、マーカレスＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：拡張現実）がスマートフォンで実現可能になった。【０００９】
ＦＡＳＴコーナー検出法によれば、１画像内の自然特徴点を多数、高速に検出することができる。これら特徴点を、予め求めた参照データ内の特徴点とマッチングすることにより、３次元座標をカメラ画像の２次元座標に投影するカメラパラメータを推定することができ、このカメラパラメータに基づき、３Ｄモデルをカメラ画像に投影した（カメラ画像にＣＧ画像を重畳した）ＡＲ画像を生成することができる。このマッチングを行うために、各特徴点を中心とする局所特徴ベクトルを記述する必要がある。【００１０】
下記特許文献１には、スケール不変性及び回転不変性を有する局所特徴ベクトルを、コントラストによらずに算出することができる局所特徴ベクトル算出方法が開示されている。【００１１】
また、下記非特許文献１には、そこでのテストの結果、下記非特許文献２のＢＲＩＥＦ（Ｂｉｎａｒｙ  Ｒｏｂｕｓｔ    Ｉｎｄｅｐｅｎｄｅｎｔ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｅａｔｕｒｅｓ）という手法が最速であると記載されている。【００１２】
カードゲーム、例えばトレーディングカードゲームは、プレイヤー同士が、購入するなどして入手したカードを用いる遊戯である。近年では、そうしたカードを専用の装置に読み取らせる事で、装置を用いない場合よりも更に多様な遊び方を提供する事が増えている。この装置としては、スマートフォンやハンドヘルドゲーム機などがあり、装置に含まれたカメラを用いて、現実のカードを読み取ることで、デジタルゲームの中においてインセンティブが得られるようにしたものがある。【００１３】
しかし、カードをスキャナ等で読み取った画像を、インターネットなどを通じて入手し、プリンタで印刷してカードを偽造することで、カードを実際に購入する事なく、本物のカードを持っているかのようにゲームソフトに誤判断させる事が容易にできる。【００１４】
このため、クレジットカードや紙幣などを読み取る装置に備えられた専用の真偽判定手段を備えていない、上記のような限られた機能の装置においても、特別なハードウェアを追加すること無く、カードの真偽判定を行うことができるようにすることが要求されている。【００１５】
下記特許文献２には、セキュリティ確保のために、ホログラムに白色照明光を入射させたとき、白色照明光の回折角に応じてピーク波長が異なる特性をホログラムの真偽判定に利用する体積ホログラム記録体が開示されている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１２−３８２９０号公報
【特許文献２】特開２００４−９４２０２号公報
【非特許文献】
【００１７】
【非特許文献１】特徴記述子比較レポート：http://computer-vision-talks.com/2011/08/feature-descriptor-comparison-report/
【非特許文献２】ＢＲＩＥＦ：http://cvlab.epfl.ch/~lepetit/papers/calonder#pami11.pdf
【非特許文献３】ランダムフォレスト：http://link.springer.com/article/10.1023%2FA%3A1010933404324?LI=true
【非特許文献４】ＩＣＰ：http://hal.inria.fr/docs/00/07/48/99/PDF/RR-1658.pdf
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、特許文献１に係る特徴量算出装置は、特徴点を中心とするｐ個の円の円周上の画素データを検出する同心円検出部と、各画素データにおける画素値の勾配の角度と支配的勾配との差分値に円の半径の平方根を乗じた重み付き差分値をそれぞれ算出する重み付き差分値算出部と、重み付き差分値についてのｑ個の階級を有する度数分布を作成する度数分布作成部と、各円についての各度数を成分とするｑ次元のベクトルから、ｐ×ｑ次元の記述子ベクトルを算出する記述子ベクトル算出部とを設ける必要がある。そのため、特許文献１に係る特徴量算出装置では、ＳＩＦＴ（Scale Invariant Feature Transform）や、これよりも高速なＳＵＲＦよりも計算コストを低減できるものの、計算コストが比較的大きくなる。【００１９】
また、非特許文献２に係るＢＲＩＥＦでは、特徴点を中心とする円内の２画素の輝度差を２値化したものを特徴ベクトルの成分とするので、特徴ベクトルの次元数とビット長とが等しくなって省メモリにはなる。しかしながら、高速化の点では、次の理由により、非特許文献２に係るＢＲＩＥＦは充分とは言えない。すなわち、例えば１２８次元の特徴ベクトルを生成する場合、ＢＲＩＥＦでは特徴ベクトルを１２８ビットで表現できるものの、例えば６４０ｘ４８０画素の画像中の該円内のランダムな１２８回の画素サンプリングが必要になり、キャッシング回数が増え、重い処理となるからである。また、非特許文献２に係るＢＲＩＥＦは回転不変性を有しない。さらに、非特許文献２に係るＢＲＩＥＦでは、上記２値化により、接近した特徴ベクトル間の区別が困難になるので、カメラ画像から取得した特徴ベクトルと参照特徴ベクトルとのマッチングの精度及び安定性、すなわち特徴点識別性が低下する。【００２０】
本発明の目的は、このような問題点に鑑み、ＦＡＳＴ特徴点を中心とする局所領域の輝度分布特性を効果的に特徴ベクトルに反映させるとともに特徴ベクトルの計算コストをより低減して処理を高速化しつつ、特徴ベクトルのマッチングの精度及び安定性（特徴点識別性）を、カメラ位置・姿勢推定上又は画像検索上、充分確保することが可能な画像処理装置、画像処理方法及び画像処理プログラムを提供することにある。【００２１】
しかしながら、スケール不変性及び回転不変性を有する局所特徴ベクトルを求める処理は、計算コストが比較的大きく、特に、スケール不変性を持たせるためには複数の画像スケールそれぞれで画像処理を行う必要があるので、計算コストが増大する原因となる。【００２２】
より具体的には、特許文献１に係る特徴量算出装置は、特徴点を中心とするｐ個の円の円周上の画素データを検出する同心円検出部と、各画素データにおける画素値の勾配の角度と支配的勾配との差分値に円の半径の平方根を乗じた重み付き差分値をそれぞれ算出する重み付き差分値算出部と、重み付き差分値についてのｑ個の階級を有する度数分布を作成する度数分布作成部と、各円についての各度数を成分とするｑ次元のベクトルから、ｐ×ｑ次元の記述子ベクトルを算出する記述子ベクトル算出部とを設ける必要がある。そのため、特許文献１に係る特徴量算出装置は、ＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）や、これよりも高速なＳＵＲＦよりも計算コストを低減できるものの、計算コストが比較的大きくなる。【００２３】
また、非特許文献２に係るＢＲＩＥＦでは、特徴点を中心とする円内の２画素の輝度差を２値化したものを局所特徴ベクトルの成分とするので、局所特徴ベクトルの次元数とビット長とが等しくなって省メモリにはなる。しかしながら、高速化の点では、次の理由により、非特許文献２に係るＢＲＩＥＦは充分とは言えない。すなわち、例えば１２８次元の局所特徴ベクトルを生成する場合、非特許文献２のＢＲＩＥＦは局所特徴ベクトルを１２８ビットで表現できるものの、例えば６４０ｘ４８０画素の画像中における該円内のランダムな１２８回の画素サンプリングが必要になる。そのため、キャッシング回数が増え、重い処理となる。また、非特許文献２のＢＲＩＥＦは回転不変性を有しない。さらに、非特許文献２に係るＢＲＩＥＦでは、上記２値化により、接近した局所特徴ベクトル間の区別が困難になるので、カメラ画像から取得した局所特徴ベクトルと参照局所特徴ベクトルとのマッチングの精度及び安定性、すなわち特徴点識別性が低下する。【００２４】
さらに、例えば文字や記号などの画像に関する情報をデータベースで検索する場合、従来法では特徴点間の局所特徴ベクトルによる識別性が比較的低いので、画像認識率が低くなる。【００２５】
本発明の目的は、このような問題点に鑑み、スケール不変性及び回転不変性を持つ局所特徴ベクトルを、より低い計算コストで求める構成を備えた画像処理装置及びプログラムを提供することにある。【００２６】
本発明の他の目的は、画像から生成した局所特徴ベクトルの識別性をより向上させる構成を備えた画像処理装置及びプログラムを提供することにある。【００２７】
しかし、この特許文献２には、どのような画像処理を行えば、真偽判定をより正確に行うことができるかについて、開示されていない。【００２８】
本発明の目的は、このような問題点に鑑み、特別な真偽判定用ハードウェア手段を装置に追加すること無く、画像処理により、ゲーム用カードの真偽判定を正確に行うことが可能なカメラ付き移動端末装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００２９】
本発明による画像処理装置の第１態様では、カメラと、該カメラで撮像されたフレーム画像と参照マップとプログラムとが格納された記憶装置と、プロセッサと、出力装置とを備え、該参照マップは複数の特徴点のそれぞれについて特徴点の第１座標系内座標（３次元又は２次元）と回転不変性特徴ベクトルとを含み、該プログラムは該プロセッサに対し、
（ａ）グレースケールの該フレーム画像又は該フレーム画像をグレースケール化した画像である輝度画像に対しＦＡＳＴコーナー検出法により特徴点の輝度画像上第２座標系内２次元座標を検出させ、
（ｂ）検出された各特徴点を中心とする局所領域の輝度配向を求めさせ、
（ｃ）該輝度配向を基準として該局所領域の回転不変性特徴ベクトルを求めさせ、
（ｄ）求めた該回転不変性特徴ベクトルと該参照マップ内の回転不変性特徴ベクトルとのマッチングにより、該参照マップ内の対応する特徴点座標を取得させ、
（ｅ）処理（ｄ）で取得した複数の特徴点座標に関する情報を該出力装置に供給する、画像処理装置において、該プログラムは該プロセッサに対し、処理（ｃ）において、
該特徴点を中心とする第１の半径の円周上の画素のうち等画素間隔のｎ個の画素Ｐｉ、ｉ＝０〜ｎ−１の輝度Ｉ（Ｐｉ）及び該特徴点を中心とする、該第１の半径より大きい第２の半径の円周上の画素のうち等画素間隔のｍ≧ｎなるｍ個の画素Ｑｊ、ｊ＝０〜２ｍ−１の輝度Ｉ（Ｑｊ）を、該輝度配向を基準として所定順にサンプリングさせるとともに、この順に対応した全サンプル画素の組み合わせ（Ｐｉ，Ｑｊ）のそれぞれの両画素の輝度値の差を成分とするｎｘｍ次元のベクトルを求めさせ、
該ベクトルのノルムを所定値に正規化したものを、該回転不変性特徴ベクトルとして求めさせる。【００３０】
本発明による画像処理装置の第２態様では、該プログラムは該プロセッサに対し、処理（ｂ）において、
該特徴点を中心とする第３の半径の円周上の画素のうち等画素間隔のｐ個の画素Ｒｉ、ｉ＝０〜ｐ−１及び該特徴点を中心とする、該第３の半径より大きい第４の半径の円周上の画素のうち等画素間隔のｑ≧ｐなるｑ個の画素Ｓｊ、ｊ＝０〜ｑ−１の全組み合わせ（Ｒｉ，Ｓｊ）について、該組み合わせの両画素の輝度値Ｉ（Ｒｉ）とＩ（Ｓｊ）との差に、該画素Ｒｉと該画素Ｓｊとの一方から他方への正規化された方位ベクトルを乗じたものの総和のベクトルの方向を、該輝度配向として求めさせる。【００３１】
上記第１及び第２態様において、好ましい第１〜４半径、円周上サンプリング画素間隔（等画素間隔）、ｍ、ｎ、ｐ及びｑの範囲は、カメラの解像度や被写体に応じて定まるものであり、特定の値に限定されるものではない。【００３２】
しかし、一般的に、第１〜４の半径が大き過ぎる場合、円周上サンプリング画素間隔がこの半径に対し広過ぎると、輝度配向ベクトルの変動幅が大きくなって特徴ベクトルの安定性が悪くなる。他方、第１〜４の半径が大き過ぎる場合、円周上サンプリング画素間隔が狭過ぎると、特徴ベクトルの次元数が大きくなって計算コスト及びモリ使用量が増加して好ましくない。また、第１及び第３（小さい方の円周）の半径が最小の２画素だと円周が滑らかにならないので、同様に特徴ベクトルの安定性が悪くなる。現在のカメラ付スマートフォンの場合、一般的な被写体に対する小さい方の円周半径の好ましい範囲は３〜４画素である。【００３３】
また、一般的に、第１の半径と第３の半径とを等しくし、第２の半径と第４の半径とを等しくすれば、輝度配向ベクトル算出における円周上輝度サンプリングでのキャッシュ結果を特徴ベクトル算出時に用いることができるので、特徴ベクトルの計算効率が高くなる。同様に、第１の半径と第３の半径とをＦＡＳＴコーナー検出法での円周半径に等しくすれば、特徴ベクトルの計算効率がさらに高くなる。【００３４】
また、ｎ、ｍ、ｐ及びｑの値は、２の冪乗であることが好ましい。その理由は、次の通りである。例えばｎについて、輝度配向ベクトルの向きによらず円周上輝度を画一的にサンプリングして配列Ｐに代入しておき、該向きに応じサンプリング開始位置に対応した配列要素のインデックスiの値oを定め、特徴ベクトル計算のループ処理において、インデックスiをoから１だけインクリメントし、ｉ＝ｎになったら次はi=０とし、さらにiを０らo-1まで１つずつインクリメントして循環する。０から始まるループ変数をj、剰余（mode）演算子を%、論理積演算子を&とすると、ｎが２の冪乗である場合、i=(j＋o)%ｎはi=(j＋o)&（ｎ−１）で計算できるので、ｉの値を決定するためｉ＝ｎであるか否かでジャンプする余分な条件ジャンプ命令を用いずに論理積演算子を用いてインデックスｉを高速計算できる。【００３５】
また、特徴ベクトルの次元数が低すぎると特徴点識別性が悪化する。ｎ、ｍ、ｐ及びｑについては、ｎ＝ｍ、ｐ＝ｑであってもよい。【００３６】
したがって、ｎ及びｍの好ましい値の組（ｎ，ｍ）は、（８，８）、（８，１６）又は（１６，１６）であり、ｐ、ｑの好ましい値の組は、（１６，１６）、（１６，３２）又は（３２，３２）である。【００３７】
本発明による画像処理装置の第３態様では、プロセッサと、データ及びプログラムが格納される記憶装置とを備え、該データは濃淡画像を含み、該プログラムは該プロセッサに対し該データに含まれる複数の局所特徴量を生成させる特徴ベクトル生成プログラムを含む画像処理装置において、
該特徴ベクトル生成プログラムは該プロセッサに対し、
（ａ）該濃淡画像に対しコーナポイントである特徴点の座標を検出させ、
（ｂ）検出された各特徴点である第１特徴点から近い順の所定数の第２特徴点のそれぞれと該第１特徴点とのペア特徴点を選択させ、
（ｃ）各ペア特徴点について、該第１特徴点と該第２特徴点との間の距離Ｌを求めさせ、
（ｄ）該第１特徴点を中心とし該距離Ｌに比例した第１半径の円周上の画素のうち等画素間隔のｎ個（ｎ≧４）の画素のそれぞれを含む画素領域Ｐｉ、ｉ＝０〜ｎ−１の平均第１輝度Ｉ（Ｐｉ）を、該距離Ｌの線方向を基準として所定順にサンプリングさせ、それぞれと該第１特徴点を含む画素領域の輝度との差と、
該第２特徴点を中心とし該距離Ｌに比例した第２半径の円周上の画素のうち等画素間隔のｍ個（ｍ≧４）の画素のそれぞれを含む画素領域Ｑｉ、ｉ＝０〜ｍ−１の平均第２輝度Ｉ（Ｑｊ）を、該距離Ｌの線方向を基準として所定順にサンプリングさせ、それぞれと該第２特徴点を含む画素領域の輝度との差と、
を成分とする、正規化された局所特徴ベクトルを求めさせ、
該画素領域の画素数の平方根は該距離Ｌに略比例している。【００３８】
ここに、濃淡画像は、例えばグレースケール画像又はカラー画像単色成分画像であり、RGB画像のR,G,Bチャネルの１つ以上のチャンネルそれぞれの濃淡画像であってもよい。コーナポイントは、例えばＦＡＳＴコーナ検出法又はＨａｒｒｉｓオペレータを用いたコーナ検出法により検出される。平均輝度は累積加算輝度を含む概念である。また、局所特徴ベクトルの表現は、上記距離Ｌの線方向に関し成分が所定順に配置されておればよく、前者の輝度差成分と後者の輝度差成分とを交互に配置したものなどであってもよい。【００３９】
本発明による画像処理装置の第４態様では、第３態様において、ｍ及びｎはいずれも８、１６又は３２である。【００４０】
本発明によるカメラ付き移動端末装置の第５態様では、プロセッサと、プログラム及びホログラム認識用情報が格納される記憶装置と、カメラと、表示装置と、指示入力手段とを備え、該プログラムは該プロセッサに対し、該指示入力手段からの指示入力に応答して、該カメラで被写体を撮像させてその画像データを該記憶装置に格納させるとともに該表示装置に表示させ、該画像データと該ホログラム認識用情報とに基づいて、該カメラに対する、ホログラムが貼着されたゲーム用カードの相対的な位置・姿勢を認識させ追跡させるカメラ付き移動端末装置であって、
該プログラムは該プロセッサに対しさらに、
（ａ）該ホログラム認識用情報と該位置・姿勢とに基づいて推定される画像データ上ホログラム領域を抽出させ、
（ｂ）該位置・姿勢の姿勢の角度変化が設定値を超える毎に、該ホログラム領域の色の変化の評価値を求めさせ、
（ｃ）該評価値の平均値に基づいて、該ゲーム用カードの真偽を判定させる。【００４１】
本発明によるカメラ付き移動端末装置の第６態様では、第５態様において、該プログラムは該プロセッサに対しさらに、ユーザに対し該カメラの正面にかざしたゲーム用カードを傾斜させる指示を、該表示装置に表示させる。【００４２】
本発明によるカメラ付き移動端末装置の第７態様では、第５又は６態様において、該プログラムは該プロセッサに対しステップ（ｂ）において、
該角度変化が設定値を超える毎の、時間的に隣り合う２つの該ホログラム領域の対応するカラー画素の色変化量が所定値を超えているものをカウントさせ、該ホログラム領域の全画素数に対するカウント値の比に対応した値を該評価値として求めさせる。【００４３】
本発明によるカメラ付き移動端末装置の第８態様では、第７態様において、該プログラムは該プロセッサに対しステップ（ｂ）において、該時間的に隣り合う２つの該ホログラム領域のサイズが互いに同一になるように補完法で正規化した後に、該対応するピクセルの色変化量を求めさせる。
【発明の効果】
【００４４】
上記第１態様の構成によれば、ＦＡＳＴコーナー検出法による特徴点を中心とする第１の半径の円周上の画素のうち等画素間隔のｎ個の画素Ｐｉ、ｉ＝０〜ｎ−１の輝度Ｉ（Ｐｉ）及び該特徴点を中心とする、該第１の半径より大きい第２の半径の円周上の画素のうち等画素間隔のｍ≧ｎなるｍ個の画素Ｑｊ、ｊ＝０〜２ｍ−１の輝度Ｉ（Ｑｊ）を、輝度配向を基準として所定順にサンプリングさせる。また、サンプリングさせた順に対応した全サンプル画素の組み合わせ（Ｐｉ，Ｑｊ）それぞれの両画素の輝度値の差を成分とするｎｘｍ次元のベクトルを求め、該ベクトルのノルムを所定値に正規化したものを、該回転不変性特徴ベクトルとして求める。そのため、（ｍ＋ｎ）個の画素サンプリングに基づく比較的簡単な計算でｎｘｍ次元のベクトルを作成することができる。また、ＦＡＳＴコーナー検出法による特徴点を中心とする局所領域の輝度分布特性が特徴ベクトルに効果的に反映される。これにより、特徴ベクトルと、参照特徴ベクトルとのマッチングは精度上及び安定性上問題になることなく、従来よりも計算コストを低減して、特徴ベクトルをより高速に求めることが可能になるという効果を奏し、特にスマートフォンのような処理性能が比較的低い画像処理装置に好適である。【００４５】
また、特徴ベクトルの各成分が両円周上の輝度値の差であることと、特徴ベクトルのノルムが正規化されていることから、特徴ベクトルが照明の変化に殆ど影響されない。さらに、輝度配向を基準として特徴ベクトルの成分が配置されているので、特徴ベクトルが回転不変性を有し、リアルタイム画像処理上充分な上記マッチングの精度及び安定性を確保可能となるという効果を奏する。【００４６】
上記第２態様の構成によれば、該特徴点を中心とする第３の半径の円周上の画素のうち等画素間隔のｐ個の画素Ｒｉ、ｉ＝０〜ｐ−１及び該特徴点を中心とする、該第３の半径より大きい第４の半径の円周上の画素のうち等画素間隔のｑ＞ｐなるｑ個の画素Ｓｊ、ｊ＝０〜ｑ−１の全組み合わせ（Ｒｉ，Ｓｊ）について、該組み合わせの両画素の輝度値Ｉ（Ｒｉ）とＩ（Ｓｊ）との差に、該画素Ｒｉと該画素Ｓｊとの一方から他方への正規化された方位ベクトルを乗じたものの総和のベクトルの方向を、該輝度配向として求める。そのため、（ｐ＋ｑ）個の画素サンプリングに基づく比較的簡単な計算で該輝度配向を求めることができる。また、ＦＡＳＴコーナー検出法による特徴点を中心とする局所領域の輝度分布特性が輝度配向決定に効果的に反映され、これにより、特徴ベクトルの回転不変性を確保することができる。また、従来よりもさらに計算コストを低減して、特徴ベクトルをさらに高速に求めることが可能になるという効果を奏する。【００４７】
上記第３態様の構成によれば、上記のようにペア特徴点を選択し局所特徴ベクトルを求めるので、スケール不変性及び回転不変性を持つ局所特徴ベクトルを、従来より低い計算コストで求めることができるという効果を奏する。【００４８】
また、画像の特徴点間に基づく局所特徴ベクトルを生成するので、文字や記号などのフレーム画像であっても、局所特徴ベクトルの識別性が向上し、結果としてフレーム画像の識別性等を向上させることが可能となるという効果を奏する。【００４９】
上記第４態様の構成によれば、ｍ及びｎはいずれも２の冪乗であるので、局所特徴ベクトルをより高速に求めることができるという効果を奏する。【００５０】
上記第５態様の構成によれば、拡張現実（ＡＲ）の技術を用いて、画像処理によりカメラに対するゲーム用カードの相対的な位置・姿勢を認識し、該位置・姿勢の姿勢の角度変化が設定値を超える毎に、画像処理により該ゲーム用カード上のホログラム領域の色の変化の評価値を求める。また、上記第５態様の構成によれば、該評価値の平均値に基づいて、該ゲーム用カードの真偽を判定する。これにより、特別なハードウェアを追加することなく、該ゲーム用カードがコピーによる偽造であるか否かを比較的正確に判定することができるという効果を奏する。【００５１】
上記第６態様の構成によれば、ユーザに対し該カメラの正面にかざしたゲーム用カードを傾斜させる指示を表示するので、ユーザは容易にこれに対処することができるという効果を奏する。【００５２】
上記第７態様の構成によれば、該角度変化が設定値を超える毎の、時間的に隣り合う２つの該ホログラム領域の対応するカラー画素の色変化量が所定値を超えているものをカウントし、該ホログラム領域の全画素数に対するカウント値の比に対応した値を該評価値として求める。これにより、上記真偽判定をさらに正確に行うことができるという効果を奏する。【００５３】
上記第８態様の構成によれば、該時間的に隣り合う２つの該ホログラム領域のサイズが互いに同一になるように補完法で正規化した後に、該対応するピクセルの色変化量を求める。これにより、上記真偽判定をさらに正確に行うことができるという効果を奏する。【００５４】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施例１に係る画像処理装置のハードウェア構成を示す概略ブロック図である。
【図２】フレーム画像を処理してＡＲ画像を生成する処理を示す機能ブロック図である。
【図３】図２中の主処理部による処理を示す概略フローチャートである。
【図４Ａ】図２中の特徴ベクトル化部での処理を示す概略フローチャートである。
【図４Ｂ】フローチャートのステップＳ４５１及びステップＳ４５２の処理の説明図である。
【図４Ｃ】フローチャートのＳ４５１及びステップＳ４５２の処理の説明図である。
【図５】図２中の特徴点検出部により検出された特徴点を、輝度画像上にドットで示す説明図である。
【図６】左側の輝度画像上の１つの特徴点と、これを中心とする局所領域画像及び図２中のアフィン変換部で作成された複数の局所領域画像の一部と、各局所領域画像の特徴ベクトルとを対応させて示す説明図である。
【図７】局所領域画像及び特徴ベクトルの成分に係る棒グラフを示す説明図である。
【図８Ａ】特徴点ＩＤがそれぞれＩＤ０１、ＩＤ０２、ＩＤ０３、・・・である、それぞれ複数の特徴ベクトルを示す説明図である。
【図８Ｂ】参照マップ内の特徴ベクトルの全集合からランダムに抽出した部分集合毎のツリーからなるランダムフォレストの識別器をその入出力と対応付けて示す説明図である。
【図９Ａ】参照マップの生成に用いた画像（右上隅の画像）上の特徴点と、これに対応するＡＲ画像生成用フレーム画像（左側画像）上の特徴点とを直線で結んだ対応関係を示す説明図である。
【図９Ｂ】参照マップの生成に用いた画像（右上隅の画像）上の特徴点と、これに対応するＡＲ画像生成用フレーム画像（左側画像）上の特徴点とを直線で結んだ対応関係を示す説明図である。
【図１０】本発明の実施例２に係る画像処理装置のハードウェア構成を示す概略ブロック図である。
【図１１】１フレーム画像内の局所特徴ベクトルを生成する処理手順を示すフローチャートである。
【図１２Ａ】文字画像と、その上に各特徴点に関するペア特徴点の特徴点間を直線で連結したものとを示す説明図である。
【図１２Ｂ】図１２Ａの一部を拡大したペア特徴点説明図である。
【図１３】図１１におけるステップＳ２３の局所特徴ベクトル処理に関する説明図である。
【図１４】図１１におけるステップＳ２４の処理に関する説明図である。
【図１５】局所領域画像及び特徴ベクトルの成分に係る棒グラフを示す説明図である。
【図１６】実施例２の方法を用いた実施例３に係る画像処理装置の概略機能ブロック図である。
【図１７】図１６中における主処理部が実行するメインルーチンの概略フローチャートである。
【図１８】図１６中におけるマッチング処理部が実行するクラスＩＤ推定処理の概略フローチャートである。
【図１９Ａ】クラスＩＤ及びフレーム画像ＩＤでラベルされた同一ペア特徴点に関する局所特徴ベクトルの説明図である。
【図１９Ｂ】参照データ内の局所特徴ベクトルの全集合からランダムに抽出した部分集合毎のツリーからなるランダムフォレストの識別器をその入出力と対応付けて示す説明図である。
【図２０】白鳥の写真と「Ｓｗａｎ」の文字列とを含む印刷物の撮影画像に対して、図１６の処理を行い、その途中結果を可視化した画像を含む説明図である。
【図２１】白鳥の写真と「Ｓｗａｎ」の文字列とを含む印刷物の撮影画像に対して、図１６の処理を行い、その途中結果を可視化した画像を含む説明図である。
【図２２】白鳥の写真と「Ｓｗａｎ」の文字列とを含む印刷物の撮影画像に対して、図１６の処理を行い、その途中結果を可視化した画像を含む説明図である。
【図２３】白鳥の写真と「Ｓｗａｎ」の文字列とを含む印刷物の撮影画像に対して、図１６の処理を行い、その途中結果を可視化した画像を含む説明図である。
【図２４】本発明が適用された画像処理システムの概略説明図である。
【図２５】図２４中の移動端末装置のハードウェア構成を示す概略ブロック図である。
【図２６】図２５の移動端末装置の概略機能ブロック図である。
【図２７】図２６のカード真偽判定部による処理を示す概略フローチャートである。
【図２８Ａ】図２７のステップＳ３０９及びステップＳ３１０の処理説明図である。
【図２８Ｂ】図２７のステップＳ３０９及びステップＳ３１０の処理説明図である。
【図２８Ｃ】ステップＳ３０９で正規化された両矩形領域を示す説明図である。
【図２８Ｄ】ステップＳ３０９で正規化された両矩形領域を示す説明図である。
【図２９】図２７のステップＳ３１０の処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００５６】
以下、一の画像処理装置に係る実施の形態を実施例１で、他の画像処理装置に係る実施の形態を実施例２、３で、移動端末装置に係る実施の形態を実施例４で説明する。
【実施例１】
【００５７】
図１は、本発明の実施例１に係る画像処理装置１０のハードウェア構成を示す概略ブロック図であって、この実施例１で必要な構成要素のみを示す。画像処理装置１０は例えば、カメラを備えたスマートフォン、ＰＤＡ等の携帯端末装置、ノートパソコン、デスクトップパソコンなどである。【００５８】
画像処理装置１０では、その本体部２０において、プロセッサ２１がバス２２を介して記憶装置２３、入力インターフェイス２４、カメラインターフェイス２５及びディスプレイインターフェイス２６に結合されている。プロセッサ２１は、内部キャッシュメモリを備えている。入力インターフェイス２４には、入力装置３０が結合されている。カメラインターフェイス２５には、カメラ３１が結合されている。ディスプレイインターフェイス２６には、出力装置としての表示装置３２が結合されている。他の出力装置としての通信部２７には、アンテナ３３が結合されている。【００５９】
入力装置３０は、対話型入力装置であって、タッチパネル、ポインティングデバイス若しくはキーボード又はこれらの組み合わせで構成されている。通信部２７は、電波を介して外部モニタ又はインターネットと結合するためのインターフェイスを備えている。【００６０】
記憶装置２３にはプログラム及びデータが格納されている。プログラムは、プロセッサ２１に対し、入力装置３０から入力インターフェイス２４を介したユーザの指示又は設定値の選択若しくは入力を受け付けさせる。プログラムは、プロセッサ２１に対し、受け付けさせた入力に応じて、ＡＲアプリケーションを起動させ、カメラ３１で被写体を撮像させてそのフレーム画像を順次、一時的に記憶装置２３内に格納させる。プログラムは、プロセッサ２１に対し、記憶装置２３内に格納させたフレーム画像を処理させて、カメラ３１の位置姿勢を推定させる。プログラムは、プロセッサ２１に対し、推定させたカメラ３１の位置姿勢に基づき、フレーム画像にＣＧを重畳させたＡＲ画像を生成させる。プログラムは、プロセッサ２１に対し、生成させたＡＲ画像を、ディスプレイインターフェイス２６に供給させることにより表示装置３２に表示させる。また、プログラムは、プロセッサ２１に対し、生成させたＡＲ画像を、通信部２７に供給させることにより外部のモニタに表示させる。あるいは、プログラムは、プロセッサ２１に対し、生成させたＡＲ画像を、ブラウザ等のネットワークソフトを介して、通信部２７に供給させることにより、外部のサーバ又は基地局を介して、通信相手に当該ＡＲ画像を送信させる。【００６１】
図２は主に、上記フレーム画像を処理してＡＲ画像を生成する処理を示す機能ブロック図である。図２中、角丸矩形のブロックＭｉ及びＭ０〜Ｍ８は、図１の記憶装置２３のデータ領域の一部である。【００６２】
画像入力部４ｉは、オペレーティングシステムを介しカメラ３１からフィールド画像を順次取得してバッファ領域Ｍｉに格納し、２フィールドで１フレーム（例えば６４０ｘ４８０画素）のカラー画像を格納する。バッファ領域Ｍｉは、ダブルバッファであり、一方のバッファと他方のバッファとに交互に順次フレーム画像を格納（上書き）する。【００６３】
グレースケール化部４１は、バッファ領域Ｍｉ内の、現在上書きしていない方のバッファのフレーム画像を、グレースケール化して８ビット１チャンネルの輝度画像に変換しながら、これをバッファ領域Ｍ０に格納する。バッファ領域Ｍ０もダブルバッファである。グレースケール化部４１は、画像入力部４ｉと同様に一方のバッファと他方のバッファとに交互に順次、輝度画像を格納（上書き）する。以下、これら一方及び他方のバッファに格納された画像をそれぞれ輝度画像Ｇ０及びＧ１と称す。【００６４】
画像入力部４ｉ及びグレースケール化部４１は、それぞれイベントドリブンにより実行されて、主処理部４０と並列実行される。【００６５】
主処理部４０は、フレーム画像及びその輝度画像を画像処理するメインルーチンに対応する。図３は、図２中の主処理部４０による処理を示す概略フローチャートである。ステップＳ４２、Ｓ４３、Ｓ４５〜Ｓ５１は、それぞれ図２中のブロック４２、４３、４５〜５１の各機能部に対応する。【００６６】
ステップＳ４２は、前処理であり、アプリケーション起動後の初期段階で行われる。ステップＳ４３、Ｓ４５及びＳ４６は、その後の最初のＡＲ用フレーム画像及びその輝度画像（これを輝度画像Ｇ１とする）に対するＡＲ画像処理（初期認識処理）である。ステップＳ４７〜Ｓ５１におけるループ処理は、この後に順次取得するフレーム画像及びその輝度画像に対するＡＲ画像処理（トラッキング処理）である。【００６７】
図２において、参照マップ作成部４２は、後述の特徴点検出部４３を介し輝度画像上の特徴点を検出し、これに特徴点ＩＤを付与する。図５は、図２中の特徴点検出部４３により検出された特徴点を、輝度画像Ｇ１上にドットで示す説明図である。【００６８】
参照マップ作成部４２は、後述の特徴ベクトル化部４５を介し、特徴点を中心とする局所領域の特徴ベクトルを求める。参照マップ作成部４２は、後述の輝度画像間テンプレートマッチングで特徴点を追跡し、単眼ステレオ視により各特徴点の３次元座標Ｐｏｓを復元し、各特徴点のＩＤ、３次元座標Ｐｏｓ及び特徴ベクトルを１組にした参照マップＭ４を作成する。【００６９】
参照マップ作成部４２はまた、アフィン変換部４４を介し、特徴点を中心とする該局所領域の画像をアフィン変換した局所領域画像群Ｍ２を作成する。参照マップ作成部４２は、アフィン変換したそれぞれの局所領域画像に対し、特徴ベクトル化部４５を介して特徴ベクトルを求める。参照マップ作成部４２は、求めた特徴ベクトルを、その特徴点ＩＤの特徴ベクトルとして、参照マップＭ４に追加する。即ち、１つの特徴点ＩＤに対し異なる複数のカメラ視点それぞれの局所領域画像における特徴ベクトルが含まれる。【００７０】
図６は、左側の輝度画像上の１つの特徴点と、これを中心とする局所領域画像及び図２中のアフィン変換部４４で作成された複数の局所領域画像の一部と、各局所領域画像の特徴ベクトルＶとを対応させて示す説明図である。【００７１】
アフィン変換部４４は、予め設定された複数のアフィン変換行列それぞれで、局所領域画像に対しアフィン変換を施す。これにより、参照マップ作成部４２は、カメラ３１の位置・姿勢を変更した場合に得られる複数の局所領域画像を、画像処理で生成する。【００７２】
より具体的には、アフィン変換部４４は、まずカメラ３１の姿勢を変えずに奥行きを変更した場合に得られる局所領域画像Ｇ２に対応した局所領域画像をアフィン変換で自動生成する。ここでの局所領域画像は、例えば、局所領域画像Ｇ２の幅及び高さをそれぞれ１／√２倍し、さらに１／√２倍し、さらに１／√２倍したそれぞれの局所領域画像Ｇ３、Ｇ４及びＧ５である。アフィン変換部４４は、これら局所領域画像Ｇ２〜Ｇ５それぞれについてさらに、カメラ３１の奥行きを変えずに姿勢を変えたものに相当する局所領域画像を、アフィン変換で自動生成する。【００７３】
次に、上記初期認識処理について説明する。【００７４】
特徴点検出部４３は、グレースケール化部４１で生成された輝度画像Ｇ１に対し、ＦＡＳＴコーナー検出法により特徴点を検出する。特徴点検出部４３は、輝度画像Ｇ１内の座標系において、検出した特徴点それぞれの座標を取得して、２次元座標群Ｍ１に追加する。【００７５】
特徴ベクトル化部４５は、輝度画像Ｇ１内の特徴点を中心とする局所領域画像Ｇｘを特徴ベクトル化して、特徴ベクトル群Ｍ３に追加する。【００７６】
図４Ａは、図２中の特徴ベクトル化部４５での処理を示す概略フローチャートである。図４Ｂ及び図４Ｃはそれぞれ、このフローチャートのステップＳ４５１及びＳ４５２での処理の説明図である。【００７７】
図４Ｂ及び図４Ｃの局所領域画像Ｇｘでは、複雑化を避けるため、画像が省略されている。升目で区切られた小矩形は、画素を示している。ハッチングを施した中央の画素は、特徴点を示している。【００７８】
ここで、ＦＡＳＴコーナー検出法は、注目画素を中心とし、正の閾値をｔｈとし、例えば半径３画素の円周上における１６個の画素の輝度値を、（注目画素の輝度値）−ｔｈより小さければ暗い、（注目画素の輝度値）＋ｔｈより大きければ明るい、これらの間の値であれば類似と３値化する。ＦＡＳＴコーナー検出法は、３値化した１６個の画素の輝度値のうち、連続して例えば９画素以上が明るい又は暗いと判定された場合に、注目画素がコーナーの特徴点であると判定するものである。したがって、ＦＡＳＴコーナー検出法による特徴点は、その局所領域において、円周上輝度配向性を有している。【００７９】
そこで、この特徴点を中心とする半径３画素及び６画素の点線で示す円周上の画素をそれぞれ、図示のように、画素Ｒ０〜Ｒｆ及び画素Ｓ０〜Ｓ１ｆとする。符号Ｒ及びＳに付加した番号は、１６進数表記である。【００８０】
図４ＡのステップＳ４５１において、プロセッサ２１は、バッファメモリ上の画素Ｒ０〜Ｒｆ及び画素Ｓ０〜Ｓ１ｆの輝度値をサンプリングすることによりプロセッサ２１内にキャッシングする。次いで、プロセッサ２１は、画素Ｒｉと画素Ｓｊとの全ての組み合わせ（Ｒｉ，Ｓｊ）について、輝度配向ベクトルＯｒｉを、
1f    f
Ｏｒｉ＝Σ    Σ（Ｉ（Ｓｊ）−Ｉ（Ｒｉ））（Ｒｉ−Ｓｊ）
j=0  i=0
として求める。上式右辺のＲｉ及びＳｊはそれぞれ、特徴点を始点とする画素Ｒｉ及びＳｊの位置ベクトルを示している。また、Ｉ（ｘ）は画素ｘの輝度である。輝度配向ベクトルＯｒｉの計算においては、Ｘ−Ｙ直交座標系のＸ成分及びＹ成分それぞれが求められる。【００８１】
このような輝度配向ベクトルＯｒｉは、輝度値の差がベクトルの係数となっているので、照明の変化に影響されにくい。【００８２】
また、このような比較的簡単に求められる輝度配向ベクトルＯｒｉを用いても、後述の特徴ベクトルの回転不変性は確保される。そのため、従来よりも計算コストを低減して、より高速に輝度配向ベクトルＯｒｉを求めることが可能になる。【００８３】
計算コストを低減できる理由は、数十〜２００程度の特徴ベクトルそれぞれについて、６４０ｘ４８０画素構成の輝度画像から、１６＋３２＝４８個の画素サンプリングを行えばよいので、画素サンプリングにおける比較的重い処理であるプロセッサ２１内へのキャッシング回数が少なくなるからである。また、小円周及び大円周それぞれの上における画素数が２の冪乗であるので、上述のインデックス計算において、特徴ベクトル毎の１６ｘ３２＝５１２回のループ処理を高速化することができるからである。【００８４】
なお、小円周又は大円周をＦＡＳＴコーナー検出時の円周と一致させることにより、その画素サンプリング結果を共通に用いることができるので、さらに処理を高速化することができる。【００８５】
次に、ステップＳ４５２において、図４Ｃに示すように、プロセッサ２１は、求めた輝度配向ベクトルＯｒｉの始点から終点側へ延びた半直線に最も距離が近い（輝度配向ベクトルＯｒｉと小円周上の画素の位置ベクトルとの内積が最大となる）小円周上の画素をＰ０とする。ステップＳ４５２において、プロセッサ２１は、画素Ｐ０から反時計回り（又は時計回り）に１画素ごとの小円周上の画素をそれぞれ画素Ｐ１〜Ｐ７とする。ステップＳ４５２において、プロセッサ２１は、特徴点から画素Ｐ０の方向の延長線上且つ大円周上の画素をＱ０とする。ステップＳ４５２において、プロセッサ２１は、画素Ｑ０から反時計回り（又は時計回り）に１画素ごとの小円周上の画素をそれぞれ画素Ｑ１〜Ｑ１６とする。プロセッサ２１は、局所領域画像Ｇｘの特徴ベクトルＶを、
Ｖ＝α（Ｆ００，Ｆ０１，．．，Ｆ０ｆ，Ｆ１０，Ｆ１１，・・・，Ｆｆ７）
として求める。ここに、ベクトル成分Ｆｉｊは、Ｆｉｊ＝Ｉ（Ｑｊ）−Ｉ（Ｐｉ）である。また、αは、特徴ベクトルＶのノルムの値を、例えば符号付８ビット整数の最大値である１２７（ノルムの平方が１６１２９）に正規化するための係数である。【００８６】
プログラム上の実際の計算では、図４Ｂの画素Ｒ０〜Ｒｆ及びＳ０〜Ｓ１ｆにおけるサンプリング結果を用い、Ｑ０〜Ｑｆの替わりにＳ６、Ｓ８、・・・、Ｓ４が用いられ、Ｐ０〜Ｐ７の替わりにＲ３、Ｒ５、・・・、Ｒ１が用いられる。また、画素配列のインデックスは、輝度配向ベクトルＯｒｉに依存せず、画一的に変化するループ変数の値を上述のように論理積演算で循環的に変化させる。【００８７】
ここで、正規化前の特徴ベクトルの第ｋ成分をV[ｋ]、輝度Ｉ（Ｒｉ）をR[i]、輝度Ｉ（Ｓｊ）をS[j]、計算開始位置の輝度配列要素をR[o]、S[2*o]（図４ＢのＯｒｉの場合、o=3）とする。１６進数の前に0xを付加してＣ言語で表記した場合、正規化前の特徴ベクトルVは、次のような簡単なループ処理で計算される。【００８８】
for (i=0; i<8; i++) [
for(j=0; j<16; j++)[
V[16*i+j] = S[(2*j+2*o)&0x1f] -R[(2*i+o)&0x0f]
]
]
このような計算は、上記輝度配向ベクトルＯｒｉの計算においても同様である。【００８９】
Ｆｉｊが輝度値の差であるので、特徴ベクトルＶは、照明の変化に影響されにくい。また、特徴ベクトルＶのノルムが正規化されているので、さらに照明の変化に影響されにくい。【００９０】
また、このような比較的簡単に求められる特徴ベクトルＶを用いても、特徴ベクトルと、参照特徴ベクトルとのマッチングは、精度上及び安定性上問題になることがない。そのため、従来よりも計算コストを低減して、特徴ベクトルを高速に求めることが可能になる。【００９１】
計算コストを低減できる理由は、数十〜２００程度の特徴ベクトルそれぞれについて、６４０ｘ４８０画素構成の輝度画像から、１６＋８＝２４個の画素サンプリングを行えばよいので、画素サンプリングでの比較的重い処理であるプロセッサ２１のキャッシング回数が少なくなるからである。また、計算コストを低減できる理由は、小円周上及び大円周上それぞれの画素数が２の冪乗であるので、上述のインデックス計算において、特徴ベクトル毎の１６ｘ８＝１２８回のループ処理を高速化できるからである。【００９２】
なお、輝度配向ベクトルＯｒｉ算出時のサンプリング結果を用いることができるので、画像処理装置１０は、画素サンプリングをさらに高速化することができる。【００９３】
また、特徴ベクトルと、参照特徴ベクトルとのマッチングが精度上及び安定性上充分である理由は、結果として、ＦＡＳＴコーナー検出法による特徴点を中心とする局所領域の輝度分布特性が特徴ベクトルＶに効果的に反映されるからである。【００９４】
プロセッサ２１の周波数速度を上記非特許文献１に記載のテスト結果で用いられた2.6GHzにして、本実施例の128次元特徴ベクトル計算時間を実測した結果、128次元特徴ベクトル計算時間は、特徴点512個当たり2-3msecであった。これに対し、上記非特許文献１のテスト結果では、最速のBRIEFでも、128次元特徴ベクトル計算時間は、特徴点512個当たり64次元で約5-8msecである。両テスト条件の詳細は一致しないが、本実施例における128次元特徴ベクトル計算時間の方が約2倍早いといえる。【００９５】
プロセッサ２１は、局所領域画像群Ｍ２内の他の全ての局所領域画像についても上記同様にして特徴ベクトルＶを求める。【００９６】
図７における(Ａ)〜（Ｄ）は何れも、同一特徴点を中心とする局所領域画像であって、特徴点に対するカメラ３１の奥行きを同一にし、カメラ３１の姿勢を変えた場合の画像を示す。図７における(Ｅ)〜（Ｈ）はそれぞれ、図７における(Ａ)〜（Ｄ）の特徴ベクトルの棒グラフによる成分表示である。局所領域画像中の直線は、輝度配向ベクトルＯｒｉを示す。【００９７】
同様に、図７における(Ｉ)〜（Ｌ）は何れも、他の同一特徴点を中心とする局所領域画像であって、特徴点に対するカメラ３１の奥行きを同一にし、カメラ３１の姿勢を変えた場合の画像を示す。図７における(Ｍ)〜（Ｐ）はそれぞれ、図７における(Ｉ)〜（Ｌ）の特徴ベクトルＶのコンピュータによる棒グラフ成分表示である。局所領域画像中の直線は、輝度配向ベクトルＯｒｉを示す。【００９８】
これら図７における(Ａ)〜（Ｈ）の実測画像から、特徴ベクトルＶは、特徴点に対するカメラ３１の奥行きが同一であれば、カメラ３１の姿勢に殆ど依存しない（回転不変性を有する）ことが分かる。【００９９】
図２に戻って、説明を続ける。マッチング部４６は、特徴ベクトル群Ｍ３内の１つの特徴ベクトルＶと、参照マップＭ４内の特徴ベクトルＶとのマッチングを行なう。マッチング部４６は、特徴ベクトル群Ｍ３内の何れの特徴ベクトルＶが特徴ベクトルＶと最も類似するもの又は類似すると推定できるものに対応する参照マップＭ４内の３次元座標Ｐｏｓを、特徴ベクトルＶの３次元座標と推定する。この処理を、マッチング部４６は、特徴ベクトル群Ｍ３内の全特徴ベクトルＶそれぞれについて行う。【０１００】
特徴点が１つの輝度画像内に多数存在し、かつ、１つの特徴点に複数の特徴ベクトルＶが存在する。そのため、特徴ベクトルＶ間の類似度として、例えば、特徴ベクトルＶ間の内積を直接１つずつ計算すると、計算コストが膨大になる。【０１０１】
そこで、マッチング部４６は、決定木を特徴ベクトルＶの識別器（分類器）として用いることにより、マッチングを高速に行う。決定木としては、複数のツリーを用いたランダムフォレスト（Random Forest）を用いる。その理由は、使用時に高速動作すること、マルチクラス識別器であること及び識別精度が比較的高いことである。また、その理由は、識別精度とメモリ使用量とがトレードオフになるが、そのパラメータがほぼツリーの数で調整できること(ツリーが少数（多数）であると識別精度は低い（高い）が、メモリ使用量は小（大）)である。【０１０２】
特徴ベクトルＶの各成分を２値化しない理由は、決定木を用いることにより、２値化とは無関係にマッチングを高速に行うことができることと、２値化による特徴ベクトルＶの識別力低下を避けるためである。【０１０３】
上記参照マップ作成部４２は、ランダムフォレスト識別器を学習しておく。すなわち、参照マップ作成部４２は、参照マップＭ４内の特徴ベクトルＶの全集合から、特徴点ＩＤが同一であるか否かを考慮せずにランダムに複数の特徴ベクトルＶの部分集合（各部分集合の要素数は互いに同一）を決定する。参照マップ作成部４２は、決定した複数の特徴ベクトルＶの部分集合をツリーの分岐ノードで分割する分割関数ｆ（Ｖ）と、分割の境界を定める閾値ｔとをランダムに決定する。参照マップ作成部４２は、情報利得が最大になるように学習して、ランダムに決定した分割関数ｆ（Ｖ）のパラメータと、閾値ｔとを更新する。また、参照マップ作成部４２は、各ツリーの各リーフノードに、特徴点ＩＤ毎の確率Ｐｒを対応付けておく（リーフノードに対応付けられていない特徴点ＩＤの確率は０）。【０１０４】
参照マップ作成部４２は、特徴ベクトルＶに対し、各ツリーを辿って、リーフノードで特徴点ＩＤ毎の確率を取得し、全ツリーでの特徴点ＩＤ毎の確率の総和が最大になる特徴点ＩＤを、ランダムフォレスト識別器の出力とする。【０１０５】
図８Ａは、特徴点ＩＤがそれぞれＩＤ０１、ＩＤ０２、ＩＤ０３、・・・である、それぞれ複数の特徴ベクトルＶを示す説明図である。図８Ｂは、参照マップ内の特徴ベクトルＶの全集合からランダムに抽出した部分集合毎のツリーからなるランダムフォレストの識別器をその入出力と対応付けて示す説明図である。【０１０６】
マッチング部４６は、マッチングした特徴ベクトルＶの特徴点ＩＤに対応した参照マップＭ４内の３次元座標Ｐｏｓと、これに対応した特徴点の２次元座標群Ｍ１内の２次元座標ｐｏｓとを対応させた３次元／２次元座標対Ｍ５を得る。【０１０７】
ランダムフォレスト識別器は、マッチング結果を高速に得ることができるが、マッチング結果を保証するものではない。マッチング結果は誤識別を含むので、マッチング結果から誤識別を取り除く必要がある。【０１０８】
そこで、マッチング部４６は、ランザック（RANSAC：RANdom SAmple Consensus）により、マッチング外れに対応した特徴点を決定する。マッチング部４６は、決定した特徴点の３次元座標を除外する。マッチング部４６は、３次元座標を除外して、残った３次元座標Ｐｏｓと、これに対応した２次元座標群Ｍ１内の２次元座標ｐｏｓとを対応させた３次元／２次元座標対Ｍ５を得る。【０１０９】
すなわち、マッチング部４６は、３次元／２次元座標対Ｍ５からランダムに例えば６座標対を取り出し、後述のカメラパラメータ推定部４７を介して、３行４列のカメラパラメータ行列Ｍ７を推定する。マッチング部４６は、推定したカメラパラメータ行列Ｍ７で斉次３次元座標Ｐｏｓを斉次２次元座標ｐｏｓｘに変換する。マッチング部４６は、変換した斉次２次元座標ｐｏｓｘと、３次元／２次元座標対Ｍ５内の２次元座標ｐｏｓとを対応させ、この対応関係を最小二乗法で直線近似したとき偏差が所定値を超えるもの（外れ値）の個数を求める。マッチング部４６は、上記の処理を複数回繰り返す。マッチング部４６は、外れ値の個数が最も少なかったカメラパラメータ行列Ｍ７で、３次元／２次元座標対Ｍ５の全３次元座標Ｐｏｓをそれぞれ２次元座標に変換し、同様にして外れ値を決定し、それらの３次元座標を除外する。マッチング部４６は、残った３次元座標Ｐｏｓと、これに対応した２次元座標群Ｍ１内の２次元座標ｐｏｓとを対応させた３次元／２次元座標対Ｍ５を得る。【０１１０】
カメラパラメータ推定部４７は、この３次元／２次元座標対Ｍ５を、最小二乗法を用いたＩＣＰ（Iterative Closest Point）アルゴリズムに対する入力として、斉次３次元座標Ｐｏｓを画像上斉次２次元座標に変換する３行４列の斉次変換行列であるカメラパラメータ行列Ｍ７を決定する。【０１１１】
オーバーレイ部４８は、予め登録されている３次元モデルＭ６を、カメラパラメータ行列Ｍ７で、輝度画像Ｇ１に対応するバッファ領域Ｍｉ内のフレーム画像上に投影することにより、重畳画像Ｍ８を生成する。画像出力部４９は、オーバーレイ部４８が生成した重畳画像Ｍ８を、図１のディスプレイインターフェイス２６に供給して表示装置３２に表示させる。【０１１２】
以上の処理により、フレーム画像に対する最初のＡＲ画像処理が終了する。【０１１３】
今度は、次のフレーム画像に対するＡＲ画像処理に移る。次に実行されるＡＲ画像処理を簡単化して高速化するため、テンプレート画像設定部５０は、上記のように最終的にマッチングされた輝度画像Ｇ１上の特徴点を中心とする例えば９×９画素のブロックをテンプレート画像とする。【０１１４】
テンプレートマッチング部５１は、このテンプレート画像と、次のフレーム画像の輝度画像Ｇ０内の対応する所定範囲内の９×９画素ブロックとの領域マッチングを行うことにより、最も類似度の高い輝度画像Ｇ０内のブロックを決定する。テンプレートマッチング部５１は、決定したブロックの中心画素の２次元座標を求める。テンプレートマッチング部５１は、求めた中心画素の２次元座標を、テンプレート画像に対応した特徴点の３次元座標Ｐｏｓと対応させて、輝度画像Ｇ０に対する３次元／２次元座標ｐｏｓ対Ｍ５を取得する。【０１１５】
次に、カメラパラメータ推定部４７の処理に移り、以下上記と同様にして、重畳画像Ｍ８を表示装置３２に表示させる。【０１１６】
その後、画像処理装置１０は、輝度画像Ｇ０と輝度画像Ｇ１とを交互に入れ替え、同様にフレーム画像もこれに対応して入れ替える毎に、図３のステップＳ４６〜Ｓ５１のループ処理を１回行うことにより、カメラ３１の現在の位置姿勢に対応したＡＲ画像を表示装置３２に表示する。【０１１７】
図９Ａは、参照マップＭ４の生成に用いた画像（右上隅の画像）上の特徴点と、最初のＡＲ画像生成用フレーム画像（左側画像）上の特徴点とを直線で結んだ対応関係を示す説明図である。同様に、図９Ｂは、参照マップＭ４の生成に用いた画像（右上隅の画像）上の特徴点と、その後のフレーム画像（左側画像）上の特徴点とを直線で結んだ対応関係を示す説明図である。【０１１８】
線で結ばれていないフレーム画像上の特徴点は、上記マッチングの外れで除外された３次元座標に対応する特徴点である。検出された特徴点の数に対する、マッチングすることができた特徴点の数（マッチング精度又は認識率）は、通常のカメラ位置姿勢変化に対し、大略７０〜９０％である。これにより、本実施例１における比較的簡単で高速処理が可能な回転不変性特徴ベクトルＶの決定方法は、ＡＲ画像処理として問題がないことが判明した（認識率は特徴ベクトルＶの決定方法及び識別器の選定に依存）。【０１１９】
本発明に係る特徴ベクトルＶ自体はスケール不変性を有しない。しかし、画像処理装置１０は、予め設定された複数のアフィン変換行列それぞれで、アフィン変換部４４により、特徴点を中心とする局所領域画像を変形する。画像処理装置１０は、これにより、カメラ３１の位置・姿勢を変更した場合に得られる複数の局所領域画像を生成し、それぞれの回転不変性特徴ベクトルＶをマッチング対象とする。そのため、特徴ベクトルＶは、マッチング処理上はスケール不変性及びカメラ姿勢不変性を有している。【０１２０】
また、画像処理装置１０は、マッチング前に特徴ベクトル化部４５側で１つの特徴点に対し１つの特徴ベクトルのみ作成すればよいので、処理をさらに高速化できる。【０１２１】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記複数の実施例で述べた構成要素の他の組み合わせ、各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。【０１２２】
例えば、上記実施例１では、図４Ｂ及び図４Ｃにおける小円周及び大円周の半径をそれぞれ３画素及び６画素とした。しかし、小円周及び大円周の半径は、これらの値に限定されるものではない。また、小円周及び大円周の半径は、マッチング部４６が外れ値を除く際にマッチング精度を求めることができるので、マッチング精度がより高くなるように、動的に変更されてもよい。【０１２３】
また、参照マップＭ４内を含む全ての特徴点について一律に、図４ＡのステップＳ４５１の輝度配向ベクトルＯｒｉの符号を逆にしたり、ステップＳ４５２の特徴ベクトルＶの成分の順番を変更したりしてもよい（マッチング上問題とならない）。但し、計算速度上は、円周上一方向に順に画素輝度値をサンプリングした方が好ましい。【０１２４】
本発明は、例えば写真画像を撮影し、撮影した写真画像における特徴点を、参照マップ内の複数の写真画像における特徴点とマッチングして画像検索する場合にも適用できる。この場合、参照マップ内の特徴点座標は２次元であり、３行４列のカメラパラメータ行列の替わりに３行３列のホモグラフィ行列が用いられる。【０１２５】
マッチング部４６で用いる識別器は、ランダムフォレスト識別器に限定されない。マッチング部４６で用いる識別器は、高速かつある程度以上マッチング精度が得られるものであればよく、バギングやブースティングなどのアンサンブル学習アルゴリズムを用いた識別器や、単一の決定木を用いた識別器であってもよい。【０１２６】
また、本発明は、上記アフィン変換等を行わずに、ガウシアンピラミッドなどを用いた公知のスケールで特徴ベクトルＶ決定用の大円周半径を決定することにより、特徴ベクトルＶをスケール不変性にする構成であってもよい。この場合も、本発明は、特徴ベクトルＶ算出の計算コストを従来よりも小さくすることができ、また、参照マップＭ４内のマッチング対象数を低減することができるので、スケール不変化を含めた特徴ベクトルＶの算出と、マッチングとの合計の計算コストを従来よりも低減することができる。【０１２７】
さらに、参照マップＭ４は、アプリケーション起動後に上記のように参照マップ作成部４２により自動生成される替わりに、アプリケーション起動前に予め自動又は手動で作成しておいたものを登録するものであってもよい。この場合、参照マップＭ４内の特徴ベクトルは、各特徴点の上記アフィン変換局所領域画像の替わりに、各特徴点について、互いに異なる複数のカメラ位置姿勢それぞれに対応した、すなわち互いに異なる複数のカメラ視点それぞれに対応した、特徴点を中心とする実際の局所領域画像に基づき、作成されてもよい。また、アプリケーション起動後に、シーンの変化に応じて参照マップＭ４を更新する構成であってもよい。【０１２８】
また、テンプレート画像設定部５０及びテンプレートマッチング部５１での処理対象を、輝度画像の替わりにカラーのフレーム画像とすることにより、マッチング精度を向上させてもよい。【０１２９】
また、カメラ３１の内部パラメータを予め決定しておき、カメラパラメータ推定部４７においてカメラ３１の位置姿勢を定める６個の外部パラメータのみを決定する構成であってもよい。カメラパラメータ推定部４７又はテンプレートマッチング部５１において、特徴点群を剛体とみなし、３次元／２次元座標対Ｍ５を３組以上の対応データとし、カメラ３１の位置姿勢を定める６個のパラメータを決定することにより、実質的にカメラパラメータ推定部４７でカメラパラメータ行列Ｍ７を推定する構成であってもよい。【０１３０】
さらに、３次元座標系は、シーンの背景に固定されたワールド座標系に限定されない。３次元座標系は、カメラ３１に対する相対的なものであればよく、カメラ３１の位置姿勢が変化するローカル座標系であってもよいことは勿論である。【０１３１】
また、本発明の適用範囲は３次元モデルをフレーム画像に重畳するものに限定されない。本発明は、認識された複数の特徴点の３次元座標の組で識別される対象に応じたテキスト、記号、符号、図形又は画像などの情報を、フレーム画像に重畳し又は重畳せずに、表示装置や通信部に出力する構成に適用することができる。また、本発明は、類似する複数の特徴点の組を含む画像を画像データベースから検索する構成に適用することができる。
【実施例２】
【０１３２】
図１０は、本発明の実施例２に係る画像処理装置２１０のハードウェア構成を示す概略ブロック図であって、この実施例２で必要な構成要素のみを示す。画像処理装置２１０は例えば、カメラを備えたスマートフォン、ＰＤＡ等の携帯端末装置、ノートパソコン、デスクトップパソコンなどである。【０１３３】
画像処理装置２１０では、その本体部２２０において、プロセッサ２２１がバス２２２を介して記憶装置２２３、入力インターフェイス２２４、カメラインターフェイス２２５及びディスプレインターフェイス２２６に結合されている。プロセッサ２２１は、内部キャッシュメモリを備えている。入力インターフェイス２２４には、入力装置２３０が結合されている。カメラインターフェイス２２５には、カメラ２３１が結合されている。ディスプレインターフェイス２２６には、出力装置としての表示装置２３２が結合されている。他の出力装置としての通信部２２７には、アンテナ２３３が結合されている。【０１３４】
入力装置２３０は、対話型入力装置であって、タッチパネル、ポインティングデバイス若しくはキーボード又はこれらの組み合わせで構成されている。通信部２２７は、電波を介して外部モニタ又はインターネットと結合するためのインターフェイスを備えている。【０１３５】
記憶装置２２３には、プログラム及びデータが格納されている。プログラムは、プロセッサ２２１に対し、入力装置２３０から入力インターフェイス２２４を介したユーザの指示又は設定値の選択若しくは入力を受け付けさせる。プログラムは、プロセッサ２２１に対し、受け付けさせた入力に応じて、アプリケーションを起動させ、カメラ２３１で被写体、例えば、図書館の本の表紙又は看板を撮像させる。プログラムは、プロセッサ２２１に対し、カメラ２３１で撮像させたフレーム画像（静止画）を記憶装置２２３内に格納させ、記憶装置２２３に格納させたフレーム画像から複数の局所特徴ベクトルを生成させる。プログラムは、プロセッサ２２１に対し、生成させた複数の局所特徴ベクトルと記憶装置２２３内の参照データとに基づいて、フレーム画像を識別させる。プログラムは、プロセッサ２２１に対し、識別させたフレーム画像に関する情報、例えば、該図書館に蔵書されている関連する本の情報又は看板に関する詳細情報を記憶装置２２３から読み出させて、ディスプレインターフェイス２２６を介し、表示装置２３２に表示させる。或いは、プログラムは、プロセッサ２２１に対し、カメラ２３１で店内又は通販カタログの商品を撮像させ、同様にして、撮像させた商品に関する情報を表示装置２３２に表示させる。【０１３６】
本実施例２の特徴は、図１１に示す処理である。図１１は、１フレーム画像内の局所特徴ベクトルＶを生成する処理手順を示すフローチャートである。以下、括弧内は図中のステップ識別符号を示す。【０１３７】
（Ｓ２０）プロセッサ２２１は、１フレーム画像内で注目画素をラスタースキャンしながら、特徴点をＦＡＳＴコーナー検出法により検出する。【０１３８】
ＦＡＳＴコーナー検出法は、注目画素を中心とし、正の閾値をｔｈとし、例えば半径３画素の円周上における１６個の画素の輝度値を、（注目画素の輝度値）−ｔｈより小さければ暗い、（注目画素の輝度値）＋ｔｈより大きければ明るい、これらの間の値であれば類似の３つに３値化する。ＦＡＳＴコーナー検出法は、３値化した１６個の画素の輝度値のうち、連続して例えば９画素以上が明るい又は暗いと判定された場合に、注目画素がコーナーの特徴点であると判定する。【０１３９】
（Ｓ２１）以下、プロセッサ２２１は、ステップＳ２０で検出した各特徴点（注目特徴点）について、Ｓ２２からＳ２４迄のループ処理を行う。【０１４０】
（Ｓ２２）プロセッサ２２１は、注目特徴点（第１特徴点）について、注目特徴点から距離が短い順に所定数ｎの特徴点を第２特徴点とする。プロセッサ２２１は、第１特徴点と、第２特徴点それぞれとのｎ組のペア特徴点を選択する。ｎは、ｎ≧１であって、各第１特徴点について共通の値である。【０１４１】
図１２Ａは、各特徴点について、ｎ＝４とし、第１特徴点とそれぞれの第２特徴点との間を直線で連結（ペアを連結）した説明図である。図１３は、図１２Ａ中の一部を拡大した説明図である。【０１４２】
プロセッサ２２１は、ステップＳ２２で求めた各ペア特徴点についてステップＳ２３及びステップＳ２４の処理を行う。【０１４３】
（Ｓ２３）プロセッサ２２１は、ペア特徴点の特徴点間距離Ｌを算出し、例えば図１３に示すように第１特徴点２３５０と第２特徴点２３５１との間の距離Ｌを算出する。プロセッサ２２１は、第１特徴点２３５０を中心とする距離Ｌに比例した半径の第１サンプリング円２３５２、及び、第２特徴点２３５１を中心とする距離Ｌに比例した半径の第２サンプリング円２３５３を決定する。【０１４４】
図１３における第１サンプリング円２３５２の半径及び第２サンプリング円２３５３の半径に関する比例定数は、例えば１であり、各特徴点について共通である。なお、第１サンプリング円２３５２の半径と第２サンプリング円２３５３の半径に関する該比例定数は、互いに異なるものを用いてもよい。【０１４５】
図１４は、図１３における第１サンプリング円２３５２及び第２サンプリング円２３５３と異なる第１サンプリング円２Ｃ１及び第２サンプリング円２Ｃ２を示している。第１サンプリング円２Ｃ１及び第２サンプリング円２Ｃ２にそれぞれ対応する第１特徴点２３６及び第２特徴点２３７は、第１サンプリング円２３５２及び第２サンプリング円２３５３にそれぞれ対応する第１特徴点２３５０及び第２特徴点２３５１と異なる。また、第１サンプリング円２Ｃ１の半径及び第２サンプリング円２Ｃ２の半径における比例定数は、第１サンプリング円２３５２の半径及び第２サンプリング円２３５３の半径における比例定数と異なる。【０１４６】
（Ｓ２４）プロセッサ２２１は、第１サンプリング円２Ｃ１上の画素のうち、等画素間隔に配列するＮ個（Ｎ≧４）の画素それぞれを中心とする領域の平均輝度をサンプリングする。例えば、プロセッサ２２１は、第１サンプリング円２Ｃ１上の画素のうち、例えば１６個の画素それぞれを中心とする矩形画素領域Ｐ０〜Ｐ９、Ｐａ〜Ｐｆそれぞれの平均輝度Ｉ（Ｐｉ）、ｉ＝０〜ｆを、第１特徴点２３６から第２特徴点２３７へ向かう方向ベクトル（又は直線Ｌの方向）を基準として、所定順に、例えば反時計回りの方向にサンプリングする。プロセッサ２２１は、図１４では平均輝度Ｉ（Ｐ１），Ｉ（Ｐ２）、・・・、Ｉ（Ｐｆ）、Ｉ（Ｐ０）をこの順にサンプリングする。プロセッサ２２１は、サンプリングした平均輝度Ｉ（Ｐ１），Ｉ（Ｐ２）、・・・、Ｉ（Ｐｆ）、Ｉ（Ｐ０）それぞれと、第１特徴点２３６を中心とする矩形画素領域（ハッチングで示す領域）の平均輝度Ｉ１との差を、サンプリング順に並べる。
同様に、プロセッサ２２１は、第２特徴点２３７から第１特徴点２３６へ向かう方向ベクトル（又は直線Ｌの方向）を基準として所定順に、例えば反時計回りの方向に、第２サンプリング円２Ｃ２上の画素における平均輝度をサンプリングする。プロセッサ２２１は、図１４では平均輝度Ｉ（Ｑ９），Ｉ（Ｑａ）、・・・、Ｉ（Ｑｆ）、Ｉ（Ｑ０）、・・・、Ｉ（Ｑ８）をこの順にサンプリングする。プロセッサ２２１は、サンプリングした平均輝度Ｉ（Ｑ９），Ｉ（Ｑａ）、・・・、Ｉ（Ｑｆ）、Ｉ（Ｑ０）、・・・、Ｉ（Ｑ８）それぞれと、第２特徴点２３７を中心とする矩形画素領域（ハッチングで示す領域）の平均輝度Ｉ２との差を、サンプリング順に並べる。
プロセッサ２２１は、第１サンプリング円２Ｃ１及び第２サンプリング円２Ｃ２それぞれに係る平均輝度と、第１特徴点２３６及び第２特徴点２３７それぞれに係る平均輝度Ｉ１、Ｉ２との差を正規化したものを、ペア特徴点３６、３７に関する局所特徴ベクトルとして求める。すなわち、プロセッサ２２１は、局所特徴ベクトルＶを、
Ｖ＝α（Ｉ（Ｐ１）−Ｉ１，Ｉ（Ｐ２）−Ｉ１，・・・，Ｉ（Ｐｆ）−Ｉ１、Ｉ（Ｐ０）−Ｉ１，Ｉ（Ｑ９），Ｉ（Ｑａ）−Ｉ２，・・・，Ｉ（Ｑｆ））−Ｉ２，Ｉ（Ｑ０）−Ｉ２，・・・，Ｉ（Ｑ８）−Ｉ２）
として求める。αは、特徴ベクトルＶのノルムの値を、例えば符号付８ビット整数の最大値である１２７（ノルムの平方が１６１２９）に正規化するための係数である。また、各成分の符号は、上記と逆であってもよい。また、各成分の符号は、第２サンプリング円２Ｃ２に関してのみ上記と逆であってもよい。【０１４７】
上記各矩形画素領域は、正方形領域であって、その一辺の長さが距離Ｌに略比例している。ここに略比例とは、量子化誤差が含まれることを意味している。【０１４８】
プロセッサ２２１は、１フレーム内の全特徴点それぞれについて、ステップＳ２１〜ステップＳ２５の処理を行うので、上記第２特徴点２３７と第１特徴点２３６とを互いに入れ替えた場合の局所特徴ベクトルも算出することになる。【０１４９】
このようにして求められた局所特徴ベクトルは、カメラ２３１の光軸の方向及びカメラ２３１の位置を一定にし、光軸の回りにカメラ２３１を回転させても不変であり、かつ、この光軸方向へカメラ２３１をスライドさせても不変である。すなわち、この局所特徴ベクトルは、スケール不変性及び回転不変性を持っている。【０１５０】
図１５は、局所領域画像及び特徴ベクトルＶの成分に係る棒グラフを示す説明図である。図１５における（Ａ）〜（Ｄ）は、何れも共通の第１特徴点２３８０及び異なる第２特徴点２３８１を有する特徴点ペアを点で示す局所領域画像である。図１５における（Ｅ）〜（Ｈ）は、それぞれ図１５における（Ａ）〜（Ｄ）の特徴点ペアに関する局所特徴ベクトルの成分を棒グラフで表示している。【０１５１】
ここで、上記の正規化前の局所特徴ベクトルＶの第ｋ成分をＶ［ｋ］、輝度Ｉ（Ｐｉ）をＲ［ｉ］、第１特徴点２３６の輝度をＩ１、計算開始位置の輝度配列要素をＲ［ｏ］（図１４の場合、ｏ＝１）とする。ベクトルＶの第１サンプリング円２Ｃ１に関する成分は、１６進数の前に０ｘを付加して、Ｃ言語で表記した場合、次の簡単なループ処理で計算される。【０１５２】
ｆｏｒ（ｉ＝０；ｉ＜１６；ｉ＋＋）｛Ｖ［ｉ］＝Ｓ［（ｉ＋ｏ）＆０ｘ１ｆ］  −Ｉ１｝；
ここに、＆は論理積演算子である。一般に、剰余（ｍｏｄｅ）演算子を％とすると、ｎが２の冪乗である場合、ｉ＝（ｊ＋ｏ）％ｎはｉ＝（ｊ＋ｏ）＆（ｎ−１）で計算できる。従って、上記ループ処理のように、ｉの値を決定するためにｉ＝ｎであるか否かでジャンプする余分な条件ジャンプ命令を用いずに、論理積演算子＆を用いてインデックスｉを高速計算することができる。【０１５３】
特徴ベクトルＶの第２サンプリング円２Ｃ２に関する成分についても上記と同様である。  
局所特徴ベクトルＶは、各成分が輝度値の差であるので、照明の変化に影響されにくい。また、局所特徴ベクトルＶは、局所特徴ベクトルＶのノルムが正規化されているので、さらに照明の変化に影響されにくい。さらに、局所特徴ベクトルＶの各成分は画素領域の平均輝度値（後でベクトルＶが正規化されるので、これは累積加算値でよい）を用いて計算されているので、局所特徴ベクトルＶのＳＮ比を比較的大きくすることができる。【０１５４】
上記のような正規化された局所特徴ベクトルＶは、以下の実施例３で用いられる。
【実施例３】
【０１５５】
図１６は、実施例２の方法を用いた実施例３に係る画像処理装置２１０の概略機能ブロック図である。この画像処理装置２１０のハードウェア構成は、実施例２の図１０に示すハードウェア構成と同一である。【０１５６】
図１６中、角丸矩形のブロック２Ｍｉ及びバッファ領域２Ｍ０〜２Ｍ５は、図１０の記憶装置２２３内のデータ領域の一部である。【０１５７】
主処理部２４０は、フレーム画像及びその輝度画像を画像処理するメインルーチンに対応する。図１７は、図１６中における主処理部２４０が実行するメインルーチンの概略フローチャートである。ステップＳ２４ｉ、Ｓ２４１、Ｓ２４３、Ｓ２４５〜Ｓ２４８は、それぞれ図１６中のブロック２４ｉ、２４１、２４３、２４５〜２４８の各機能部に対応する。【０１５８】
図１６において、画像入力部２４ｉ、バッファ領域２Ｍｉ、グレースケール化部２４１、バッファ領域２Ｍ０、特徴点検出部２４３、２次元座標記憶部２Ｍ１及び局所特徴ベクトル生成部２４５は、実施例２においても用いられる。すなわち、画像入力部２４ｉは、オペレーティングシステムを介して、カメラ２３１からシャッターオン時のカラーのフレーム画像Ｇ０（例えば６４０ｘ４８０画素）を取得し、取得したフレーム画像Ｇ０をバッファ領域２Ｍｉに格納する。また、グレースケール化部２４１は、バッファ領域２Ｍｉ内のフレーム画像Ｇ０をグレースケール化して、８ビット１チャンネルの輝度画像（フレーム画像）Ｇ１に変換し、変換した輝度画像Ｇ１をバッファ領域２Ｍ０に格納する。特徴点検出部２４３は、図１１におけるステップＳ２０と同じ処理を行って、各特徴点の２次元座標を取得し、取得した各特徴点の２次元座標を２次元座標記憶部２Ｍ１に格納する。局所特徴ベクトル生成部２４５は、２次元座標記憶部２Ｍ１内の各特徴点に対し図１１におけるステップＳ２１〜Ｓ２５の処理を行って局所特徴ベクトルを生成し、生成した局所特徴ベクトルを局所特徴ベクトル記憶部２Ｍ３に追加する。【０１５９】
参照データ記憶部２Ｍ４には、予め、検索で用いられる参照データが格納されている。参照データは、参照データ作成部２４２、アフィン変換部２４４、局所領域画像記憶部２Ｍ２及び局所特徴ベクトルを生成する上記の構成を用いて、以下のようにして生成される。【０１６０】
すなわち、参照データ作成部２４２は、輝度画像Ｇ１から、図１４に示すような各ペア特徴点の第１サンプリング円２Ｃ１及び第２サンプリング円２Ｃ２を含む局所領域画像を切り出し、切り出した局所領域画像を局所領域画像群Ｇ２として局所領域画像記憶部２Ｍ２に追加する。参照データ作成部２４２は、局所特徴ベクトル生成部２４５に図１１のステップＳ２１〜Ｓ２５の処理を実行させることにより、局所領域画像群Ｇ２における各ペア特徴点の局所特徴ベクトル（参照局所特徴ベクトル）を求める。参照データ作成部２４２は、求めた局所特徴ベクトルＶを参照データ記憶部２Ｍ４に追加する。【０１６１】
参照データ作成部２４２はまた、局所領域画像群Ｇ２それぞれの画像から、カメラ２３１の奥行き及び姿勢を変えたものに相当する複数の局所領域画像をアフィン変換部２４４に自動生成させる。参照データ作成部２４２は、生成させた複数の局所領域画像を局所領域画像群Ｇ２に加えるとともに、各局所領域画像について上記と同様にして局所特徴ベクトルＶを求め、求めた局所特徴ベクトルＶを参照データ記憶部２Ｍ４に追加する。【０１６２】
すなわち、参照データ作成部２４２は、アフィン変換部２４４を介し、局所領域画像群Ｇ２の各局所領域画像を、奥行きを変えずに光軸方向を変えることに相当する複数のマトリックスそれぞれでアフィン変換して、新たな局所領域画像群を生成する。参照データ作成部２４２は、生成した新たな局所領域画像群を局所領域画像群Ｇ２に追加する。参照データ作成部２４２は、生成した各局所領域画像について局所特徴ベクトル生成部２４５を介し同様にして局所特徴ベクトルＶを求め、求めた局所特徴ベクトルＶを参照データ記憶部２Ｍ４に追加する。参照データ作成部２４２はさらに、局所領域画像群Ｇ２それぞれを、奥行きのみを長くすることに相当する複数のマトリックスそれぞれでアフィン変換した画像群、すなわち、縮小した局所領域画像、例えば、幅及び高さをそれぞれ１／√２倍し、さらに１／√２倍し、さらに１／√２倍したそれぞれの局所領域画像群Ｇ３、Ｇ４及びＧ５を生成する。参照データ作成部２４２は、生成したそれぞれの局所領域画像について、局所特徴ベクトル生成部２４５を介し同様にして局所特徴ベクトルＶを求め、求めた局所特徴ベクトルＶを参照データ記憶部２Ｍ４に追加する。
【０１６３】
参照データ作成部２４２は、参照データ記憶部２Ｍ４において、アフィン変換の有無に拘わらず同一のペア特徴点に関する局所特徴ベクトルそれぞれに、同一のクラスＩＤ（ＣＩＤ）を対応付ける。すなわち、参照データ記憶部２Ｍ４には、例えば図１９Ａに示すように、１つのペア特徴点に対して、異なる複数のカメラ視点それぞれにおける局所特徴ベクトルＶ、例えばＶ０１０１、Ｖ０１０２、Ｖ０１０３、・・・が、同一クラスＩＤ、例えばＣＩＤ０１でクラス分けされている。【０１６４】
参照データ記憶部２Ｍ４にはさらに、各ＣＩＤが属するフレーム画像ＩＤ（ＦＩＤ）が対応付けられている。例えば、ＣＩＤ０１はＦＩＤ０１、ＦＩＤ１２が対応付けられている。これは、ＦＩＤ０１、ＦＩＤ１２それぞれのフレーム画像にＣＩＤ０１が含まれていることを意味する。【０１６５】
参照データ記憶部２Ｍ４にはまた、各ＦＩＤにそれぞれ対応付けられた上記情報、例えば関連する本の情報、看板の詳細情報又は商品情報などが含まれている。【０１６６】
マッチング部２４６は、決定木を局所特徴ベクトルＶの識別器（分類器）として備えている。決定木としては、複数のツリーを用いたランダムフォレスト（Random Forest）を用いる。その理由は、ランダムフォレストが使用時に高速動作すること、マルチクラス識別器であること及び識別精度が比較的高いことである。また、その理由は、識別精度とメモリ使用量とがトレードオフになるが、そのパラメータがほぼツリーの数で調整できること（ツリーが少数（多数）であると識別精度は低い（高い）が、メモリ使用量は小（大））である。【０１６７】
局所特徴ベクトルＶの各成分を２値化しないのは、決定木を用いることにより、２値化とは無関係にマッチングを高速に行うことができることと、２値化による局所特徴ベクトルの識別力低下を避けるためである。【０１６８】
マッチング部２４６は、ランダムフォレスト識別器を学習しておく。すなわち、マッチング部２４６は、参照データ記憶部２Ｍ４内の局所特徴ベクトルＶの全集合から、クラスＩＤが同一であるか否かを考慮せずにランダムに複数の局所特徴ベクトルＶの部分集合（各部分集合の要素数は互いに同一）を決定する。マッチング部２４６は、図１９Ｂに示すように、決定した複数の局所特徴ベクトルの部分集合をツリーの分岐ノードで分割する分割関数ｆ（Ｖ）と、分割の境界を定める閾値ｔとをランダムに決定する。マッチング部２４６は、情報利得が最大になるように学習して、ランダムに決定した分割関数ｆ（Ｖ）のパラメータと、閾値ｔとを更新する。また、マッチング部２４６は、各ツリーの各リーフノードに、クラスＩＤ毎の確率Ｐｒを対応付けておく（リーフノードに対応付けられていないクラスＩＤの確率は０）。【０１６９】
マッチング部２４６は、各局所特徴ベクトルＶについて、ランダムフォレストの各ツリーを辿って、リーフノードでクラスＩＤ毎の確率を取得し、全ツリーでのクラスＩＤ毎の確率の総和が最大になるクラスＩＤを、ランダムフォレスト識別器の出力とする。【０１７０】
すなわち、マッチング部２４６は、局所特徴ベクトル記憶部２Ｍ３内における各局所特徴ベクトルＶに対し、図１８に示すステップＳ２１０〜Ｓ２１５の処理を行って局所特徴ベクトルＶのクラスＩＤを推定する。【０１７１】
（Ｓ２１０）プロセッサ２２１は、横軸をクラスＩＤとし、縦軸を頻度（正確には確率値の累積加算値）とする空のヒストグラムをフレーム画像ＩＤヒストグラム記憶部２Ｍ５に生成する。以下、ランダムフォレストの各ツリーについて、ステップＳ２１１〜Ｓ２１４の処理を行う。【０１７２】
（Ｓ２１２）プロセッサ２２１は、局所特徴ベクトルＶに対し、ツリーを上から下へ辿り、その際、ツリーの各ノードにおいて、局所特徴ベクトルＶの対応する成分と、その閾値ｔと、分割関数ｆ（Ｖ）とに基づいて、どちらの子ノードへ分岐するかを決定する。プロセッサ２２１は、リーフノードで得られるクラスＩＤの確率分布から、確率値が大きい順に、例えば３つのクラスＩＤを決定する。【０１７３】
（Ｓ２１３）プロセッサ２２１は、これらの３つのクラスＩＤの確率値を、ステップＳ２１０で生成したヒストグラムに追加する。【０１７４】
（Ｓ２１５）プロセッサ２２１は、ヒストグラム上の最頻値を、この局所特徴ベクトルＶの特徴点のクラスＩＤと推定する（図１９Ｂ参照）。【０１７５】
（Ｓ２１６）プロセッサ２２１（マッチング部２４６）は、推定したクラスＩＤ（ＣＩＤ）に対応するフレーム画像ＩＤ（ＦＩＤ）、例えば図１９Ａの左側のクラスＩＤであるＩＤ０１に対応したＦＩＤ０１及びＦＩＤ１２を、参照データ記憶部２Ｍ４から取得する。プロセッサ２２１は、フレーム画像ＩＤヒストグラム記憶部２Ｍ５内のフレーム画像ＩＤ（ＦＩＤ）で識別されるカウンタを、１だけインクリメントする。【０１７６】
マッチング部２４６が局所特徴ベクトル記憶部２Ｍ３内の各局所特徴ベクトルＶに対し図１８に示す処理を行った後、フレーム画像ＩＤ推定部２４７は、次の処理を実行する。フレーム画像ＩＤ推定部２４７は、フレーム画像ＩＤヒストグラム記憶部２Ｍ５内のカウンタ値が最大のフレーム画像ＩＤを、バッファ領域２Ｍｉ内のフレーム画像のＦＩＤと推定する。【０１７７】
フレーム画像ＩＤの情報出力部２４８は、推定されたフレーム画像ＩＤに対応した情報を参照データ記憶部２Ｍ４から取り出し、取り出した情報を表示装置２３２に出力する。【０１７８】
次に、マッチング部２４６が実行する処理の試験結果を説明する。【０１７９】
図２０〜図２３は、白鳥の写真と「Ｓｗａｎ」の文字列とを含む印刷物の撮影画像に対して、図１６の処理を行い、その途中結果を可視化した画像を含む説明図である。
図２０は、白鳥の写真と「Ｓｗａｎ」の文字列とを含む印刷物の入力画像と、該入力画像から抽出された特徴点ペアと、各特徴点ペアの特徴点間を接続した直線とを示す可視化画像の説明図である。
図２１〜図２３はいずれも、参照画像上の特徴点と、図２０中の入力画像上の特徴点とをマッチング部２４６でマッチングさせ、マッチングした特徴点間を直線で接続した説明図である。図２１は、入力画像を縮小、回転した参照画上の特徴点と、認識対象である図２０中の画像上の特徴点とをマッチング部２４６でマッチングさせ、マッチングした特徴点間を直線で接続した説明図である。図２２は、入力画像を縮小、回転し、射影変換した参照画上の特徴点と、認識対象である図２０中の画像上の特徴点とをマッチング部２４６でマッチングさせ、マッチングした特徴点間を直線で接続した説明図である。図２３は、入力画像を回転し、図２１の場合よりも縮小した参照画上の特徴点と、認識対象である図２０中の画像上の特徴点とをマッチング部２４６でマッチングさせ、マッチングした特徴点間を直線で接続した図である。ここに参照画像は、この画像から上記参照データが得られる画像である。【０１８０】
図２１及び図２２の参照画像上における特徴点ペアは、いずれも１３７対である。１３７対うち、図２１では１１１対（８１％）がマッチングに成功し、図２２では９３対（６８％）がマッチングに成功した。図２３の参照画像上における特徴点ペアは３６対であり、これら３６対のうち２９対（８０％）がマッチングに成功した。【０１８１】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。【０１８２】
例えば、マッチング部２４６で用いる識別器は、ランダムフォレスト識別器に限定されない。マッチング部２４６で用いる識別器は、高速かつある程度以上マッチング精度が得られるものであればよく、バギングやブースティングなどのアンサンブル学習アルゴリズムを用いた識別器、単一の決定木を用いた識別器などであってもよい。【０１８３】
また、参照データ記憶部２Ｍ４に記憶される参照データは、アプリケーション起動後に参照データ作成部２４２により自動生成される構成であってもよい。【０１８４】
さらに、本発明は、拡張現実（ＡＲ）表示装置などにも適用することができる。
【実施例４】
【０１８５】
図２４は、本発明が適用された画像処理システムの概略説明図である。【０１８６】
移動端末装置３１０は、カメラ及びコンピュータを備えたスマートフォン、ハンドヘルドゲーム機、ＰＤＡ、ノートパソコンなどである。【０１８７】
ユーザは、移動端末装置３１０を操作して、トレーディングカード登録プログラムを起動させる。移動端末装置３１０はこれに応答して、カメラを起動し、その撮影画像をリアルタイムで表示するとともに、ユーザに対しカメラにトレーディングカード３１１をかざさせる指示を表示する。【０１８８】
移動端末装置３１０は、トレーディングカード３１１を認識すると、ユーザに対しトレーディングカード３１１を回転（傾斜）させる指示を表示する。また、移動端末装置３１０は、移動端末装置３１０のカメラに対するトレーディングカード３１１の相対的な位置・姿勢を推定する。【０１８９】
トレーディングカード３１１には、所定位置にホログラム３１２が貼着されている。移動端末装置３１０は、該所定位置と該位置・姿勢とに基づき、画像データ上におけるホログラム３１２に対応する領域を抽出する。ホログラム３１２は、レインボーホログラムであり、白色照明光の入射に対する回折角に応じてピーク波長が変化する。【０１９０】
移動端末装置３１０は、該位置・姿勢のうちの姿勢の角度変化が設定値を超える毎に、該ホログラム領域の色の変化の評価値（スコア）を求め、所定数の該評価値の平均値に基づいて、トレーディングカード３１１の真偽を判定する。【０１９１】
トレーディングカード３１１には、トレーディングカード３１１のＩＤに対応するドットパターンを含む２次元コード３１３が印刷されている。移動端末装置３１０は、トレーディングカード３１１が真であると判定すると、２次元コード３１３の画像からトレーディングカード３１１のＩＤを読み取る。移動端末装置３１０は、トレーディングカード３１１のＩＤを移動端末装置３１０のユーザ情報とともに、基地局３１４及びネットワーク３１５を介して、サーバ３１６に送信する。【０１９２】
サーバ３１６は、トレーディングカード３１１のＩＤに対応したトレーディングカード３１１のグラフィックデータ及び属性データを、ネットワーク３１５及び基地局３１４を介して、移動端末装置３１０に返信する。移動端末装置３１０は、トレーディングカード３１１のグラフィックデータ及び属性データをカードセットに追加する。これより、移動端末装置３１０は、トレーディングカード３１１を用いて対戦したり、トレーディングカード３１１を他人のトレーディングカード３１１と交換したりすることを可能にする。【０１９３】
図２５は、図２４中の移動端末装置３１０のハードウェア構成を示す概略ブロック図であって、この実施例４で必要な構成要素のみを示す。【０１９４】
移動端末装置３１０では、その本体部３２０において、プロセッサ３２１がバス３２２を介して記憶部３２３、入力インターフェイス３２４、カメラインターフェイス３２５、ディスプレインターフェイス３２６及びネットワークアダプタ３２７に結合されている。入力インターフェイス３２４には、入力部３３０が結合されている。カメラインターフェイス３２５には、カメラ３３１が結合されている。ディスプレインターフェイス３２６には、表示部３３２が結合されている。ネットワークアダプタ３２７には、アンテナ３３３が結合されている。【０１９５】
入力部３３０は、対話型入力部であって、タッチパネル、ポインティングデバイス若しくはキーボード又はこれらの組み合わせで構成されている。ネットワークアダプタ３２７は、電波を介してイントラネット又はインターネットと結合するためのインターフェイスを備えている。【０１９６】
記憶部３２３にはプログラム及びデータが格納されている。このプログラムは、プロセッサ３２１に対し、入力部３３０から入力インターフェイス３２４を介したユーザの指示入力を受け付けさせる。プログラムは、プロセッサ３２１に対し、受け付けさせた指示入力に応じて、アプリケーションを起動させ、カメラ３３１でトレーディングカード３１１を含む被写体を撮像させて、撮像させたフレーム画像を記憶部３２３内に格納させ、表示部３３２に表示させる。プログラムは、プロセッサ３２１に対し、このフレーム画像に対し、上述のような処理を行わせてトレーディングカード３１１の真偽判定を行わせる。また、プログラムは、プロセッサ３２１に対し、ネットワークアダプタ３２７、アンテナ３３３及び図２４の基地局３１４、ネットワーク３１５を介して、サーバ３１６と上述のように通信させる。プログラムは、プロセッサ３２１に対し、トレーディングカード３１１のグラフィックデータ等をサーバ３１６から受信し、受信したグラフィックデータ等をカードセットに追加させる。【０１９７】
図２６は、図２５の移動端末装置３１０の概略機能ブロック図である。【０１９８】
主制御部３４０は、サブルーチンとしてのブロック３４１〜３４５に対するメインルーチンを実行する機能部である。データ３Ｍ０〜３Ｍ３は、記憶部３２３内のデータ領域に格納される。【０１９９】
ユーザインターフェイス（ＵＩ）部４１は、主制御部３４０からの指示に応じた内容、例えばアプリケーションの機能選択画面を表示部３３２に表示させ、入力部３３０からの指示入力を受け付けてイベントを発生させる。これにより、ユーザインターフェイス（ＵＩ）部４１は、入力内容、例えば選択された「カード登録」を、主制御部３４０に通知する。主制御部３４０は、「カード登録」の選択に応答して、カメラ３３１を動作させて、画像入力部３４２を介して、フレーム画像３Ｍ０を記憶部３２３内のバッファに一時保存させる。主制御部３４０は、グレースケール化部３４３を介して、ＲＧＢ（赤、緑、青）のフレーム画像３Ｍ０をグレースケールのフレーム画像３Ｍ１に変換させ、変換させたグレースケールのフレーム画像３Ｍ１を記憶部３２３内のバッファに一時保存させる。【０２００】
上記バッファはいずれもダブルバッファであり、交互に選択される一方のバッファにおいて新しいフレーム画像で古いフレーム画像が上書きされるとともに、他方のバッファにおいて１つ前のフレーム画像３Ｍ０及びフレーム画像３Ｍ１が画像処理対象とされる。主制御部３４０は、ＵＩ部３４１を介して、フレーム画像３Ｍ０の更新毎に、フレーム画像３Ｍ０を表示部３３２に表示させる。【０２０１】
主制御部３４０は、カード真偽判定部３４４を介して、フレーム画像３Ｍ０、３Ｍ１、ホログラム認識用情報３Ｍ２及びカード認識結果３Ｍ３の内容に基づいて、トレーディングカード３１１の真偽を判定する。カード認識結果３Ｍ３は、後述の、カード真偽判定部３４４による途中の処理結果である。主制御部３４０は、トレーディングカード３１１が真であるとカード真偽判定部３４４により判定された場合、その他の処理部３４５を介して、上述のように、サーバ３１６と通信を行ってトレーディングカード３１１のグラフィックデータ等を受信し、これをカードセットに追加する。【０２０２】
図２７は、図２６のカード真偽判定部３４４による処理を示す概略フローチャートである。以下、括弧内は図中のステップ識別符号である。【０２０３】
（Ｓ３００）プロセッサ３２１は、以下で使用される変数及びカード認識結果３Ｍ３の内容を初期化する。【０２０４】
（Ｓ３０１）プロセッサ３２１は、表示部３３２の画面の一部に、「トレーディングカードをカメラの正面にかざして下さい。」というテキストを表示させる。表示部３３２におけるテキストの表示は、次のテキストの表示まで維持される。【０２０５】
（Ｓ３０２）プロセッサ３２１は、フレーム画像３Ｍ０、３Ｍ１を処理対象とする。【０２０６】
（Ｓ３０３）プロセッサ３２１は、ホログラム認識用情報３Ｍ２を参照し、フレーム画像３Ｍ１からトレーディングカード３１１を認識し、カメラ３３１に対するトレーディングカード３１１の位置・姿勢を推定する。【０２０７】
このホログラム認識用情報３Ｍ２は、間接的又は直接的にホログラム３１２を認識するための、図２４に示すトレーディングカード３１１若しくは２次元コード３１３のサイズ情報又はホログラム３１２の枠のサイズ情報ＳＩと、トレーディングカード３１１、２次元コード３１３又はホログラム３１２の枠に対するホログラム３１２の相対的な位置情報ＰＩとを含んでいる。【０２０８】
プロセッサ３２１は、サイズ情報ＳＩと、画像上のトレーディングカード３１１、２次元コード３１３又はホログラム３１２の枠とを対応させて、トレーディングカード３１１の座標系を決定し、決定した座標系に対する移動端末装置３１０のカメラ３３１の位置・姿勢（カメラパラメータ）を推定する。これにより、プロセッサ３２１は、カメラ３３１に対するトレーディングカード３１１の位置・姿勢を求める。【０２０９】
プロセッサ３２１は、カメラ３３１の光軸（Ｚ軸）がトレーディングカード３１１の中央点を通っていると仮定し、前記位置・姿勢の姿勢を極座標（ｒ，θ，φ）で表したときのθを、トレーディングカード３１１に対するカメラ３３１の角度として求める。換言すれば、ユーザに対し角度θのみが変化する方向に、トレーディングカード３１１は傾斜される。【０２１０】
（Ｓ３０４）プロセッサ３２１は、ステップＳ３０３で、トレーディングカード３１１を認識でき且つトレーディングカード３１１の位置・姿勢を推定することができた場合、ステップＳ３０５へ処理を進める。プロセッサ３２１は、ステップＳ３０３で、トレーディングカード３１１を認識できず、トレーディングカード３１１の位置・姿勢を推定することができなかった場合、ステップＳ３０２へ処理を戻す。【０２１１】
（Ｓ３０５）プロセッサ３２１は、ステップＳ３０４が初回であればステップＳ３０６へ処理を進める。プロセッサ３２１は、ステップＳ３０４が初回でなければステップＳ３０７へ処理を進める。【０２１２】
（Ｓ３０６）プロセッサ３２１は、表示部３３２の画面の上記一部に、「トレーディングカードを傾斜させて下さい。」というテキストを表示させる。【０２１３】
（Ｓ３０７）プロセッサ３２１は、今回ステップＳ３０４で肯定判定されたときのフレーム画像３Ｍ１についての角度θ＝θcと、前回ステップＳ３１１でホログラム認識用情報３Ｍ２に保存された角度θpとの差Δθ＝θc−θpが設定値Ａ０を超えているか否かを判定する。プロセッサ３２１は、超えていると判定した場合、ステップＳ３０８へ処理を進める。プロセッサ３２１は、超えていないと判定した場合、ステップＳ３０２へ処理を戻す。【０２１４】
（Ｓ３０８）プロセッサ３２１は、ホログラム認識用情報３Ｍ２を参照し、フレーム画像３Ｍ０からホログラム３１２の領域を抽出する。そのために、プロセッサ３２１は、フレーム画像３Ｍ０上のホログラム３１２の領域における４つのコーナー点を決定すればよい。【０２１５】
（Ｓ３０９）図２８Ａ及び図２８Ｂを参照して説明する。プロセッサ３２１は、領域３５０と、前回ステップＳ３０８で抽出し、ステップＳ３１１でカード認識結果３Ｍ３に保存した領域３５１とが、互いに同一矩形領域３５２、３５３になるように、領域３５０、３５１を図形変換する。換言すれば、プロセッサ３２１は、領域３５０、３５１を、補完法を用いて正規化する。プロセッサ３２１は、変換後の画素サイズを互いに同一にし、変換前と変換後とに対応する画素の値を同一にし、未定の画素値を補完法により決定する。なお、変換後の矩形領域３５２、３５３は、所定の正方形であってもよい。【０２１６】
（Ｓ３１０）プロセッサ３２１は、矩形領域３５２及び矩形領域３５３のペアに基づいて、後述のように、ペア間の色差に関する評価値（スコア）ＳＣを算出する。但し、プロセッサ３２１は、初回の場合、ペアが存在しないので、この処理をスルーする。【０２１７】
（Ｓ３１１）プロセッサ３２１は、ステップＳ３０７で判定に用いた角度θcと、ステップＳ３０８で抽出した領域と、ステップＳ３１０で算出したスコアＳＣとを、カード認識結果３Ｍ３に保存する。プロセッサ３２１は、評価用画像枚数Ｎを１だけインクリメントする。このＮは、ステップＳ３００で０に初期化されている。【０２１８】
（Ｓ３１２）プロセッサ３２１は、評価用画像枚数Ｎが設定値Ｎ０である場合、ステップＳ３１３へ処理を進める。プロセッサ３２１は、評価用画像枚数Ｎが設定値Ｎ０でない場合、ステップＳ３０２へ処理を戻す。【０２１９】
（Ｓ３１３）プロセッサ３２１は、ステップＳ３１１でカード認識結果３Ｍ３に保存された全てのスコアＳＣの平均値ＳＣmを算出する。【０２２０】
（Ｓ３１４）プロセッサ３２１は、スコア平均値ＳＣmが設定値ＳＣ０を超えている場合、トレーディングカード３１１は真であると判定する。プロセッサ３２１は、スコア平均値ＳＣmが設定値ＳＣ０を超えていない場合、トレーディングカード３１１は偽と判定する。【０２２１】
次に、図２７のステップＳ３１０の処理の詳細を、図２８Ｃ及び図２８Ｄ並びに図２９を参照して説明する。【０２２２】
（Ｓ３２０）プロセッサ３２１は、図２８Ｃ及び図２８Ｄに示す、ステップＳ３０９で正規化された両矩形領域３５２、３５３の全カラー画素について、互いに対応する位置のペア毎に、以下のステップＳ３２１〜Ｓ３２５の処理を行う。【０２２３】
（Ｓ３２１）プロセッサ３２１は、カラー画素３５４及びカラー画素３５５のＲ（赤）Ｇ（緑）Ｂ（青）値をＹＵＶ値のＵＶに変換する。ここにＹは輝度であり、Ｕ及びＶはそれぞれ（Ｂ−Ｙ）及び（Ｒ−Ｙ）を定数倍した色差である。【０２２４】
（Ｓ３２２）プロセッサ３２１は、次式で表される色変化量Ｄを算出する。【０２２５】
Ｄ＝（カラー画素３５４のＵ−カラー画素３５５のＵ） 2＋（カラー画素３５４のＶ−カラー画素３５５のＶ） 2
（Ｓ３２３）プロセッサ３２１は、色変化量Ｄが設定値Ｄ０を超えている場合（又は設定範囲内である場合）、ステップＳ３２４へ処理を進める。プロセッサ３２１は色変化量Ｄが設定値Ｄ０を超えていない場合（又は設定範囲内でない場合）、ステップＳ３２５へ処理を進める。【０２２６】
（Ｓ３２４）プロセッサ３２１は、カウンタＣを１だけインクリメントする。カウンタＣは、ステップＳ３００で０に初期化されている。【０２２７】
（Ｓ３２５）プロセッサ３２１は、全ピクセルについて処理が終わっていない場合、ステップＳ３２０へ処理を戻して、カラー画素３５４及びカラー画素３５５を次のカラー画素に更新する。プロセッサ３２１は、全ピクセルについて処理が終わっている場合、ステップＳ３２６へ処理を進める。【０２２８】
（Ｓ３２６）プロセッサ３２１は、スコアＳＣ＝ｋ*Ｃ／Ｃ０を算出する。ここにｋは、ｋ＞１なる整数、例えば２５５であり、Ｃ０は矩形領域３５２の全画素数である。【０２２９】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。【０２３０】
例えば、移動端末装置３１０は、図２４におけるトレーディングカード３１１が２次元コード３１３を備えていない場合、その替わりに、トレーディングカード３１１上の画像の所定領域の自然特徴点を取得してもよい。移動端末装置３１０は、それぞれの自然特徴点を中心とする局所領域の特徴量（局所特徴量）のセットを、トレーディングカード３１１のＩＤ情報としてサーバ３１６に送信し、サーバ３１６に登録されたトレーディングカード３１１のＩＤ情報と最も類似するものに対応したトレーディングカード３１１のＩＤを取得するようにしてもよい。【０２３１】
また、色変化量Ｄは、ＨＳＶ色空間の色相Ｈを用いて、
Ｄ＝（カラー画素３５４のＨ−カラー画素３５５のＨ）
と表してもよいし、これらのいずれかのＤの関数であってもよい。【０２３２】
また、ユーザに対しカード１１を傾斜させる方向を上記の場合の方向と直角をなす方向にして、角度θの代わりに角度φが用いられてもよい。【０２３３】
ステップＳ３０７において、プロセッサ３２１は、ループ処理の都度、位置・姿勢の姿勢の角度変化が設定値Ａ０を超えているか否かを判定する。しかし、ステップＳ３０７において、プロセッサ３２１は、カメラ３３１に対するトレーディングカード３１１の角度に対応する複数の設定値を設定しておいて、ループ処理の都度、位置・姿勢の姿勢の角度変化がそれぞれの設定値を超えているか否かを判定してもよい。
【符号の説明】
【０２３４】
１０                    画像処理装置
２３                    記憶装置
２４                    入力インターフェイス
２５                    カメラインターフェイス
２６                    ディスプレイインターフェイス
２７                    通信部
３０                    入力装置
３１                    カメラ
３２                    表示装置
３３                    アンテナ
４ｉ                    画像入力部
４０                    主処理部
４１                    グレースケール化部
４２                    参照マップ作成部
４３                    特徴点検出部
４４                    アフィン変換部
４５                    特徴ベクトル化部
４６                    マッチング部
４７                    カメラパラメータ推定部
４８                    オーバーレイ部
４９                    画像出力部
５０                    テンプレート画像設定部
５１                    テンプレートマッチング部
Ｍｉ、Ｍ０              バッファ領域
Ｍ１                    ２次元座標群
Ｍ２                    局所領域画像群
Ｍ３                    特徴ベクトル群
Ｍ４                    参照マップ
Ｍ５                    ３次元／２次元座標対
Ｍ６                    ３次元モデル
Ｍ７                    カメラパラメータ行列
Ｍ８                    重畳画像
Ｒｉ、Ｓｊ、Ｐｉ、Ｑｊ  画素
２１０                  画像処理装置
２２０                  本体部
２２１                  プロセッサ
２２２                  バス
２２３                  記憶装置
２２４                  入力インターフェイス
２２５                  カメラインターフェイス
２２６                  ディスプレインターフェイス
２２７                  通信部
２３０                  入力装置
２３１                  カメラ
２３２                  表示装置
２３３                  アンテナ
２４ｉ                  画像入力部
２４０                  主処理部
２４１                  グレースケール化部
２４２                  参照データ作成部
２４３                  特徴点検出部
２４４                  アフィン変換部
２４５                  局所特徴ベクトル生成部
２４６                  マッチング部
２４７                  フレーム画像ＩＤ推定部
２４８                  フレーム画像ＩＤの情報出力部
２３４０、２３５０、２３６、２３８０  第１特徴点
２３４１〜２３４４、２３５１、２３７、２３８１  第２特徴点
２３５２、２Ｃ１        第１サンプリング円
２３５３、２Ｃ２        第２サンプリング円
Ｐ０〜Ｐｆ、Ｑ０〜Ｑｆ  領域
２Ｍｉ、２Ｍ０          バッファ領域
２Ｍ１                  ２次元座標記憶部
２Ｍ２                  局所領域画像記憶部
２Ｍ３                  局所特徴ベクトル記憶部
２Ｍ４                  参照データ記憶部
２Ｍ５                  フレーム画像ＩＤヒストグラム記憶部
３１０                  移動端末装置
３１１                  トレーディングカード
３１２                  ホログラム
３１３                  ２次元コード
３１４                  基地局
３１５                  ネットワーク
３１６                  サーバ
３２０                  本体部
３２１                  プロセッサ
３２２                  バス
３２３                  記憶部
３２４                  入力インターフェイス
３２５                  カメラインターフェイス
３２６                  ディスプレインターフェイス
３２７                  ネットワークアダプタ
３３０                  入力部
３３１                  カメラ
３３２                  表示部
３３３                  アンテナ
３４０                  主制御部
３４１                  ＵＩ部
３４２                  画像入力部
３４３                  グレースケール化部
３４４                  カード真偽判定部
３４５                  その他の処理部
３５０、３５１          領域
３５２、３５３          矩形領域
３５４、３５５          カラー画素
３Ｍ０、３Ｍ１          フレーム画像
３Ｍ２                  ホログラム認識用情報
３Ｍ３                  カード認識結果
【図１】
2014092193.tif 000003
【図２】
2014092193.tif 000004
【図３】
2014092193.tif 000005
【図４Ａ】
2014092193.tif 000006
【図４Ｂ】
2014092193.tif 000007
【図４Ｃ】
2014092193.tif 000008
【図８Ａ】
2014092193.tif 000009
【図８Ｂ】
2014092193.tif 000010
【図１０】
2014092193.tif 000011
【図１１】
2014092193.tif 000012
【図１４】
2014092193.tif 000013
【図１６】
2014092193.tif 000014
【図１７】
2014092193.tif 000015
【図１８】
2014092193.tif 000016
【図１９Ａ】
2014092193.tif 000017
【図１９Ｂ】
2014092193.tif 000018
【図２４】
2014092193.tif 000019
【図２５】
2014092193.tif 000020
【図２６】
2014092193.tif 000021
【図２７】
2014092193.tif 000022
【図２８Ａ】
2014092193.tif 000023
【図２８Ｂ】
2014092193.tif 000024
【図２８Ｃ】
2014092193.tif 000025
【図２８Ｄ】
2014092193.tif 000026
【図２９】
2014092193.tif 000027
【図５】
2014092193.tif 000028
【図６】
2014092193.tif 000029
【図７】
2014092193.tif 000030
【図９Ａ】
2014092193.tif 000031
【図９Ｂ】
2014092193.tif 000032
【図１２Ａ】
2014092193.tif 000033
【図１２Ｂ】
2014092193.tif 000034
【図１３】
2014092193.tif 000035
【図１５】
2014092193.tif 000036
【図２０】
2014092193.tif 000037
【図２１】
2014092193.tif 000038
【図２２】
2014092193.tif 000039
【図２３】
2014092193.tif 000040
【国際調査報告】
2014092193.tif 000041
2014092193.tif 000042
2014092193.tif 000043
2014092193.tif 000044