WO2014092193A1 - 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置 - Google Patents

画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置 Download PDF

Info

Publication number
WO2014092193A1
WO2014092193A1 PCT/JP2013/083531 JP2013083531W WO2014092193A1 WO 2014092193 A1 WO2014092193 A1 WO 2014092193A1 JP 2013083531 W JP2013083531 W JP 2013083531W WO 2014092193 A1 WO2014092193 A1 WO 2014092193A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
feature point
feature
feature vector
pixels
Prior art date
Application number
PCT/JP2013/083531
Other languages
English (en)
French (fr)
Inventor
林 建一
巧 松井
Original Assignee
株式会社コンセプト
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
Priority claimed from JP2012272980A external-priority patent/JP5500400B1/ja
Priority claimed from JP2013112323A external-priority patent/JP5500404B1/ja
Application filed by 株式会社コンセプト filed Critical 株式会社コンセプト
Priority to JP2014552105A priority Critical patent/JP6332865B2/ja
Publication of WO2014092193A1 publication Critical patent/WO2014092193A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/467Encoded features or binary features, e.g. local binary patterns [LBP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/95Pattern authentication; Markers therefor; Forgery detection

Abstract

 FAST特徴点を中心とする局所領域の輝度分布特性を効果的に特徴ベクトルに反映させるとともに特徴ベクトルの計算コストをより低減して処理を高速化しつつ、特徴ベクトルの充分なマッチングの精度及び安定性を確保する。 輝度配向ベクトルOriの始点から終点側へ延びた半直線に最も距離が近い小円周上の画素をP0とし、この画素P0の方向の延長線上且つ大円周上の画素をQ0とし、画素P0から反時計回りに1画素ごとの小円周上の画素をそれぞれ画素P1~P7とし、画素Q0から反時計回りに1画素ごとの小円周上の画素をそれぞれ画素Q1~Q16とし、局所領域画像Gxの特徴ベクトルVfを、Vf=α(F00,F01,..,Ff7)として求める。ここに、ベクトル成分Fijは、Fij=I(Qj)-I(Pi)であり、I(x)は画素xの輝度であり、αは、特徴ベクトルVfのノルムを正規化するための係数である。

Description

画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置
 本発明は、輝度画像上の自然特徴点を中心とする局所領域の回転不変性特徴ベクトルを求め、これを参照マップ内の回転不変性特徴ベクトルとのマッチングにより、該参照マップ内の対応する特徴点座標を取得し、取得した複数の特徴点座標に関する情報を出力する画像処理装置、画像処理方法及び画像処理プログラムに関する。本発明は、特に、カメラを備えたスマートフォンに拡張現実画像を表示するのに好適な画像処理装置、画像処理方法及び画像処理プログラムに関する。
 本発明は、輝度画像上の自然特徴点を中心とする局所領域においてスケール不変性かつ回転不変性を有する特徴ベクトルを求める機能を備えた画像処理装置及びそのプログラムに関する。
 本発明は、カメラ及びコンピュータを備え、ゲーム用カードの真偽判定機能を備えたスマートフォン、ハンドヘルドゲーム機、PDA、ノートパソコンなどのカメラ付き移動端末装置及びプログラムに関する。
 カメラを備えたスマートフォンの性能向上とFAST(Features from Accelerated Segment Test)コーナー検出法などの画像処理技術の向上に伴い、マーカレスAR(Augmented Reality:拡張現実)をスマートフォンで実現可能になった。
 FASTコーナー検出法によれば、1画像内の自然特徴点を多数、高速に検出することができる。これら特徴点を、予め求めた参照マップ内の特徴点とマッチングすることにより、3次元座標をカメラ画像の2次元座標に投影するカメラパラメータを推定することができる。また、推定したパラメータに基づき、3Dモデルをカメラ画像に投影した(カメラ画像にCG画像を重畳した)AR画像を生成することができる。このマッチングを行うために、各特徴点を中心とする局所特徴ベクトルを記述する必要がある。
 下記特許文献1には、画像の回転に強い特徴ベクトルを、コントラストによらずに算出することができる特徴ベクトル算出方法が開示されている。
 また、下記非特許文献1には、そこでのテストの結果、下記非特許文献2のBRIEF(Binary Robust Independent Elementary Features)という手法が最速であると記載されている。
 カメラを備えたスマートフォンの性能向上と、FAST(Features from Accelerated Segment Test)コーナー検出法などの画像処理技術の向上とに伴い、マーカレスAR(Augmented Reality:拡張現実)がスマートフォンで実現可能になった。
 FASTコーナー検出法によれば、1画像内の自然特徴点を多数、高速に検出することができる。これら特徴点を、予め求めた参照データ内の特徴点とマッチングすることにより、3次元座標をカメラ画像の2次元座標に投影するカメラパラメータを推定することができ、このカメラパラメータに基づき、3Dモデルをカメラ画像に投影した(カメラ画像にCG画像を重畳した)AR画像を生成することができる。このマッチングを行うために、各特徴点を中心とする局所特徴ベクトルを記述する必要がある。
 下記特許文献1には、スケール不変性及び回転不変性を有する局所特徴ベクトルを、コントラストによらずに算出することができる局所特徴ベクトル算出方法が開示されている。
 また、下記非特許文献1には、そこでのテストの結果、下記非特許文献2のBRIEF(Binary Robust  Independent Elementary Features)という手法が最速であると記載されている。
 カードゲーム、例えばトレーディングカードゲームは、プレイヤー同士が、購入するなどして入手したカードを用いる遊戯である。近年では、そうしたカードを専用の装置に読み取らせる事で、装置を用いない場合よりも更に多様な遊び方を提供する事が増えている。この装置としては、スマートフォンやハンドヘルドゲーム機などがあり、装置に含まれたカメラを用いて、現実のカードを読み取ることで、デジタルゲームの中においてインセンティブが得られるようにしたものがある。
 しかし、カードをスキャナ等で読み取った画像を、インターネットなどを通じて入手し、プリンタで印刷してカードを偽造することで、カードを実際に購入する事なく、本物のカードを持っているかのようにゲームソフトに誤判断させる事が容易にできる。
 このため、クレジットカードや紙幣などを読み取る装置に備えられた専用の真偽判定手段を備えていない、上記のような限られた機能の装置においても、特別なハードウェアを追加すること無く、カードの真偽判定を行うことができるようにすることが要求されている。
 下記特許文献2には、セキュリティ確保のために、ホログラムに白色照明光を入射させたとき、白色照明光の回折角に応じてピーク波長が異なる特性をホログラムの真偽判定に利用する体積ホログラム記録体が開示されている。
特開2012-38290号公報 特開2004-94202号公報
特徴記述子比較レポート:http://computer-vision-talks.com/2011/08/feature-descriptor-comparison-report/ BRIEF:http://cvlab.epfl.ch/~lepetit/papers/calonder#pami11.pdf ランダムフォレスト:http://link.springer.com/article/10.1023%2FA%3A1010933404324?LI=true ICP:http://hal.inria.fr/docs/00/07/48/99/PDF/RR-1658.pdf
 しかしながら、特許文献1に係る特徴量算出装置は、特徴点を中心とするp個の円の円周上の画素データを検出する同心円検出部と、各画素データにおける画素値の勾配の角度と支配的勾配との差分値に円の半径の平方根を乗じた重み付き差分値をそれぞれ算出する重み付き差分値算出部と、重み付き差分値についてのq個の階級を有する度数分布を作成する度数分布作成部と、各円についての各度数を成分とするq次元のベクトルから、p×q次元の記述子ベクトルを算出する記述子ベクトル算出部とを設ける必要がある。そのため、特許文献1に係る特徴量算出装置では、SIFT(Scale Invariant Feature Transform)や、これよりも高速なSURFよりも計算コストを低減できるものの、計算コストが比較的大きくなる。
 また、非特許文献2に係るBRIEFでは、特徴点を中心とする円内の2画素の輝度差を2値化したものを特徴ベクトルの成分とするので、特徴ベクトルの次元数とビット長とが等しくなって省メモリにはなる。しかしながら、高速化の点では、次の理由により、非特許文献2に係るBRIEFは充分とは言えない。すなわち、例えば128次元の特徴ベクトルを生成する場合、BRIEFでは特徴ベクトルを128ビットで表現できるものの、例えば640x480画素の画像中の該円内のランダムな128回の画素サンプリングが必要になり、キャッシング回数が増え、重い処理となるからである。また、非特許文献2に係るBRIEFは回転不変性を有しない。さらに、非特許文献2に係るBRIEFでは、上記2値化により、接近した特徴ベクトル間の区別が困難になるので、カメラ画像から取得した特徴ベクトルと参照特徴ベクトルとのマッチングの精度及び安定性、すなわち特徴点識別性が低下する。
 本発明の目的は、このような問題点に鑑み、FAST特徴点を中心とする局所領域の輝度分布特性を効果的に特徴ベクトルに反映させるとともに特徴ベクトルの計算コストをより低減して処理を高速化しつつ、特徴ベクトルのマッチングの精度及び安定性(特徴点識別性)を、カメラ位置・姿勢推定上又は画像検索上、充分確保することが可能な画像処理装置、画像処理方法及び画像処理プログラムを提供することにある。
 しかしながら、スケール不変性及び回転不変性を有する局所特徴ベクトルを求める処理は、計算コストが比較的大きく、特に、スケール不変性を持たせるためには複数の画像スケールそれぞれで画像処理を行う必要があるので、計算コストが増大する原因となる。
 より具体的には、特許文献1に係る特徴量算出装置は、特徴点を中心とするp個の円の円周上の画素データを検出する同心円検出部と、各画素データにおける画素値の勾配の角度と支配的勾配との差分値に円の半径の平方根を乗じた重み付き差分値をそれぞれ算出する重み付き差分値算出部と、重み付き差分値についてのq個の階級を有する度数分布を作成する度数分布作成部と、各円についての各度数を成分とするq次元のベクトルから、p×q次元の記述子ベクトルを算出する記述子ベクトル算出部とを設ける必要がある。そのため、特許文献1に係る特徴量算出装置は、SIFT(Scale Invariant Feature Transform)や、これよりも高速なSURFよりも計算コストを低減できるものの、計算コストが比較的大きくなる。
 また、非特許文献2に係るBRIEFでは、特徴点を中心とする円内の2画素の輝度差を2値化したものを局所特徴ベクトルの成分とするので、局所特徴ベクトルの次元数とビット長とが等しくなって省メモリにはなる。しかしながら、高速化の点では、次の理由により、非特許文献2に係るBRIEFは充分とは言えない。すなわち、例えば128次元の局所特徴ベクトルを生成する場合、非特許文献2のBRIEFは局所特徴ベクトルを128ビットで表現できるものの、例えば640x480画素の画像中における該円内のランダムな128回の画素サンプリングが必要になる。そのため、キャッシング回数が増え、重い処理となる。また、非特許文献2のBRIEFは回転不変性を有しない。さらに、非特許文献2に係るBRIEFでは、上記2値化により、接近した局所特徴ベクトル間の区別が困難になるので、カメラ画像から取得した局所特徴ベクトルと参照局所特徴ベクトルとのマッチングの精度及び安定性、すなわち特徴点識別性が低下する。
 さらに、例えば文字や記号などの画像に関する情報をデータベースで検索する場合、従来法では特徴点間の局所特徴ベクトルによる識別性が比較的低いので、画像認識率が低くなる。
 本発明の目的は、このような問題点に鑑み、スケール不変性及び回転不変性を持つ局所特徴ベクトルを、より低い計算コストで求める構成を備えた画像処理装置及びプログラムを提供することにある。
 本発明の他の目的は、画像から生成した局所特徴ベクトルの識別性をより向上させる構成を備えた画像処理装置及びプログラムを提供することにある。
 しかし、この特許文献2には、どのような画像処理を行えば、真偽判定をより正確に行うことができるかについて、開示されていない。
 本発明の目的は、このような問題点に鑑み、特別な真偽判定用ハードウェア手段を装置に追加すること無く、画像処理により、ゲーム用カードの真偽判定を正確に行うことが可能なカメラ付き移動端末装置及びプログラムを提供することにある。
 本発明による画像処理装置の第1態様では、カメラと、該カメラで撮像されたフレーム画像と参照マップとプログラムとが格納された記憶装置と、プロセッサと、出力装置とを備え、該参照マップは複数の特徴点のそれぞれについて特徴点の第1座標系内座標(3次元又は2次元)と回転不変性特徴ベクトルとを含み、該プログラムは該プロセッサに対し、
(a)グレースケールの該フレーム画像又は該フレーム画像をグレースケール化した画像である輝度画像に対しFASTコーナー検出法により特徴点の輝度画像上第2座標系内2次元座標を検出させ、
(b)検出された各特徴点を中心とする局所領域の輝度配向を求めさせ、
(c)該輝度配向を基準として該局所領域の回転不変性特徴ベクトルを求めさせ、
(d)求めた該回転不変性特徴ベクトルと該参照マップ内の回転不変性特徴ベクトルとのマッチングにより、該参照マップ内の対応する特徴点座標を取得させ、
(e)処理(d)で取得した複数の特徴点座標に関する情報を該出力装置に供給する、画像処理装置において、該プログラムは該プロセッサに対し、処理(c)において、
 該特徴点を中心とする第1の半径の円周上の画素のうち等画素間隔のn個の画素Pi、i=0~n-1の輝度I(Pi)及び該特徴点を中心とする、該第1の半径より大きい第2の半径の円周上の画素のうち等画素間隔のm≧nなるm個の画素Qj、j=0~2m-1の輝度I(Qj)を、該輝度配向を基準として所定順にサンプリングさせるとともに、この順に対応した全サンプル画素の組み合わせ(Pi,Qj)のそれぞれの両画素の輝度値の差を成分とするnxm次元のベクトルを求めさせ、
該ベクトルのノルムを所定値に正規化したものを、該回転不変性特徴ベクトルとして求めさせる。
 本発明による画像処理装置の第2態様では、該プログラムは該プロセッサに対し、処理(b)において、
該特徴点を中心とする第3の半径の円周上の画素のうち等画素間隔のp個の画素Ri、i=0~p-1及び該特徴点を中心とする、該第3の半径より大きい第4の半径の円周上の画素のうち等画素間隔のq≧pなるq個の画素Sj、j=0~q-1の全組み合わせ(Ri,Sj)について、該組み合わせの両画素の輝度値I(Ri)とI(Sj)との差に、該画素Riと該画素Sjとの一方から他方への正規化された方位ベクトルを乗じたものの総和のベクトルの方向を、該輝度配向として求めさせる。
 上記第1及び第2態様において、好ましい第1~4半径、円周上サンプリング画素間隔(等画素間隔)、m、n、p及びqの範囲は、カメラの解像度や被写体に応じて定まるものであり、特定の値に限定されるものではない。
 しかし、一般的に、第1~4の半径が大き過ぎる場合、円周上サンプリング画素間隔がこの半径に対し広過ぎると、輝度配向ベクトルの変動幅が大きくなって特徴ベクトルの安定性が悪くなる。他方、第1~4の半径が大き過ぎる場合、円周上サンプリング画素間隔が狭過ぎると、特徴ベクトルの次元数が大きくなって計算コスト及びモリ使用量が増加して好ましくない。また、第1及び第3(小さい方の円周)の半径が最小の2画素だと円周が滑らかにならないので、同様に特徴ベクトルの安定性が悪くなる。現在のカメラ付スマートフォンの場合、一般的な被写体に対する小さい方の円周半径の好ましい範囲は3~4画素である。
 また、一般的に、第1の半径と第3の半径とを等しくし、第2の半径と第4の半径とを等しくすれば、輝度配向ベクトル算出における円周上輝度サンプリングでのキャッシュ結果を特徴ベクトル算出時に用いることができるので、特徴ベクトルの計算効率が高くなる。同様に、第1の半径と第3の半径とをFASTコーナー検出法での円周半径に等しくすれば、特徴ベクトルの計算効率がさらに高くなる。
 また、n、m、p及びqの値は、2の冪乗であることが好ましい。その理由は、次の通りである。例えばnについて、輝度配向ベクトルの向きによらず円周上輝度を画一的にサンプリングして配列Pに代入しておき、該向きに応じサンプリング開始位置に対応した配列要素のインデックスiの値oを定め、特徴ベクトル計算のループ処理において、インデックスiをoから1だけインクリメントし、i=nになったら次はi=0とし、さらにiを0らo-1まで1つずつインクリメントして循環する。0から始まるループ変数をj、剰余(mode)演算子を%、論理積演算子を&とすると、nが2の冪乗である場合、i=(j+o)%nはi=(j+o)&(n-1)で計算できるので、iの値を決定するためi=nであるか否かでジャンプする余分な条件ジャンプ命令を用いずに論理積演算子を用いてインデックスiを高速計算できる。
 また、特徴ベクトルの次元数が低すぎると特徴点識別性が悪化する。n、m、p及びqについては、n=m、p=qであってもよい。
 したがって、n及びmの好ましい値の組(n,m)は、(8,8)、(8,16)又は(16,16)であり、p、qの好ましい値の組は、(16,16)、(16,32)又は(32,32)である。
 本発明による画像処理装置の第3態様では、プロセッサと、データ及びプログラムが格納される記憶装置とを備え、該データは濃淡画像を含み、該プログラムは該プロセッサに対し該データに含まれる複数の局所特徴量を生成させる特徴ベクトル生成プログラムを含む画像処理装置において、
 該特徴ベクトル生成プログラムは該プロセッサに対し、
 (a)該濃淡画像に対しコーナポイントである特徴点の座標を検出させ、
 (b)検出された各特徴点である第1特徴点から近い順の所定数の第2特徴点のそれぞれと該第1特徴点とのペア特徴点を選択させ、
 (c)各ペア特徴点について、該第1特徴点と該第2特徴点との間の距離Lを求めさせ、
 (d)該第1特徴点を中心とし該距離Lに比例した第1半径の円周上の画素のうち等画素間隔のn個(n≧4)の画素のそれぞれを含む画素領域Pi、i=0~n-1の平均第1輝度I(Pi)を、該距離Lの線方向を基準として所定順にサンプリングさせ、それぞれと該第1特徴点を含む画素領域の輝度との差と、
 該第2特徴点を中心とし該距離Lに比例した第2半径の円周上の画素のうち等画素間隔のm個(m≧4)の画素のそれぞれを含む画素領域Qi、i=0~m-1の平均第2輝度I(Qj)を、該距離Lの線方向を基準として所定順にサンプリングさせ、それぞれと該第2特徴点を含む画素領域の輝度との差と、
 を成分とする、正規化された局所特徴ベクトルを求めさせ、
 該画素領域の画素数の平方根は該距離Lに略比例している。
 ここに、濃淡画像は、例えばグレースケール画像又はカラー画像単色成分画像であり、RGB画像のR,G,Bチャネルの1つ以上のチャンネルそれぞれの濃淡画像であってもよい。コーナポイントは、例えばFASTコーナ検出法又はHarrisオペレータを用いたコーナ検出法により検出される。平均輝度は累積加算輝度を含む概念である。また、局所特徴ベクトルの表現は、上記距離Lの線方向に関し成分が所定順に配置されておればよく、前者の輝度差成分と後者の輝度差成分とを交互に配置したものなどであってもよい。
 本発明による画像処理装置の第4態様では、第3態様において、m及びnはいずれも8、16又は32である。
 本発明によるカメラ付き移動端末装置の第5態様では、プロセッサと、プログラム及びホログラム認識用情報が格納される記憶装置と、カメラと、表示装置と、指示入力手段とを備え、該プログラムは該プロセッサに対し、該指示入力手段からの指示入力に応答して、該カメラで被写体を撮像させてその画像データを該記憶装置に格納させるとともに該表示装置に表示させ、該画像データと該ホログラム認識用情報とに基づいて、該カメラに対する、ホログラムが貼着されたゲーム用カードの相対的な位置・姿勢を認識させ追跡させるカメラ付き移動端末装置であって、
 該プログラムは該プロセッサに対しさらに、
 (a)該ホログラム認識用情報と該位置・姿勢とに基づいて推定される画像データ上ホログラム領域を抽出させ、
 (b)該位置・姿勢の姿勢の角度変化が設定値を超える毎に、該ホログラム領域の色の変化の評価値を求めさせ、
 (c)該評価値の平均値に基づいて、該ゲーム用カードの真偽を判定させる。
 本発明によるカメラ付き移動端末装置の第6態様では、第5態様において、該プログラムは該プロセッサに対しさらに、ユーザに対し該カメラの正面にかざしたゲーム用カードを傾斜させる指示を、該表示装置に表示させる。
 本発明によるカメラ付き移動端末装置の第7態様では、第5又は6態様において、該プログラムは該プロセッサに対しステップ(b)において、
 該角度変化が設定値を超える毎の、時間的に隣り合う2つの該ホログラム領域の対応するカラー画素の色変化量が所定値を超えているものをカウントさせ、該ホログラム領域の全画素数に対するカウント値の比に対応した値を該評価値として求めさせる。
 本発明によるカメラ付き移動端末装置の第8態様では、第7態様において、該プログラムは該プロセッサに対しステップ(b)において、該時間的に隣り合う2つの該ホログラム領域のサイズが互いに同一になるように補完法で正規化した後に、該対応するピクセルの色変化量を求めさせる。
 上記第1態様の構成によれば、FASTコーナー検出法による特徴点を中心とする第1の半径の円周上の画素のうち等画素間隔のn個の画素Pi、i=0~n-1の輝度I(Pi)及び該特徴点を中心とする、該第1の半径より大きい第2の半径の円周上の画素のうち等画素間隔のm≧nなるm個の画素Qj、j=0~2m-1の輝度I(Qj)を、輝度配向を基準として所定順にサンプリングさせる。また、サンプリングさせた順に対応した全サンプル画素の組み合わせ(Pi,Qj)それぞれの両画素の輝度値の差を成分とするnxm次元のベクトルを求め、該ベクトルのノルムを所定値に正規化したものを、該回転不変性特徴ベクトルとして求める。そのため、(m+n)個の画素サンプリングに基づく比較的簡単な計算でnxm次元のベクトルを作成することができる。また、FASTコーナー検出法による特徴点を中心とする局所領域の輝度分布特性が特徴ベクトルに効果的に反映される。これにより、特徴ベクトルと、参照特徴ベクトルとのマッチングは精度上及び安定性上問題になることなく、従来よりも計算コストを低減して、特徴ベクトルをより高速に求めることが可能になるという効果を奏し、特にスマートフォンのような処理性能が比較的低い画像処理装置に好適である。
 また、特徴ベクトルの各成分が両円周上の輝度値の差であることと、特徴ベクトルのノルムが正規化されていることから、特徴ベクトルが照明の変化に殆ど影響されない。さらに、輝度配向を基準として特徴ベクトルの成分が配置されているので、特徴ベクトルが回転不変性を有し、リアルタイム画像処理上充分な上記マッチングの精度及び安定性を確保可能となるという効果を奏する。
 上記第2態様の構成によれば、該特徴点を中心とする第3の半径の円周上の画素のうち等画素間隔のp個の画素Ri、i=0~p-1及び該特徴点を中心とする、該第3の半径より大きい第4の半径の円周上の画素のうち等画素間隔のq>pなるq個の画素Sj、j=0~q-1の全組み合わせ(Ri,Sj)について、該組み合わせの両画素の輝度値I(Ri)とI(Sj)との差に、該画素Riと該画素Sjとの一方から他方への正規化された方位ベクトルを乗じたものの総和のベクトルの方向を、該輝度配向として求める。そのため、(p+q)個の画素サンプリングに基づく比較的簡単な計算で該輝度配向を求めることができる。また、FASTコーナー検出法による特徴点を中心とする局所領域の輝度分布特性が輝度配向決定に効果的に反映され、これにより、特徴ベクトルの回転不変性を確保することができる。また、従来よりもさらに計算コストを低減して、特徴ベクトルをさらに高速に求めることが可能になるという効果を奏する。
 上記第3態様の構成によれば、上記のようにペア特徴点を選択し局所特徴ベクトルを求めるので、スケール不変性及び回転不変性を持つ局所特徴ベクトルを、従来より低い計算コストで求めることができるという効果を奏する。
 また、画像の特徴点間に基づく局所特徴ベクトルを生成するので、文字や記号などのフレーム画像であっても、局所特徴ベクトルの識別性が向上し、結果としてフレーム画像の識別性等を向上させることが可能となるという効果を奏する。
 上記第4態様の構成によれば、m及びnはいずれも2の冪乗であるので、局所特徴ベクトルをより高速に求めることができるという効果を奏する。
 上記第5態様の構成によれば、拡張現実(AR)の技術を用いて、画像処理によりカメラに対するゲーム用カードの相対的な位置・姿勢を認識し、該位置・姿勢の姿勢の角度変化が設定値を超える毎に、画像処理により該ゲーム用カード上のホログラム領域の色の変化の評価値を求める。また、上記第5態様の構成によれば、該評価値の平均値に基づいて、該ゲーム用カードの真偽を判定する。これにより、特別なハードウェアを追加することなく、該ゲーム用カードがコピーによる偽造であるか否かを比較的正確に判定することができるという効果を奏する。
 上記第6態様の構成によれば、ユーザに対し該カメラの正面にかざしたゲーム用カードを傾斜させる指示を表示するので、ユーザは容易にこれに対処することができるという効果を奏する。
 上記第7態様の構成によれば、該角度変化が設定値を超える毎の、時間的に隣り合う2つの該ホログラム領域の対応するカラー画素の色変化量が所定値を超えているものをカウントし、該ホログラム領域の全画素数に対するカウント値の比に対応した値を該評価値として求める。これにより、上記真偽判定をさらに正確に行うことができるという効果を奏する。
 上記第8態様の構成によれば、該時間的に隣り合う2つの該ホログラム領域のサイズが互いに同一になるように補完法で正規化した後に、該対応するピクセルの色変化量を求める。これにより、上記真偽判定をさらに正確に行うことができるという効果を奏する。
 本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。
本発明の実施例1に係る画像処理装置のハードウェア構成を示す概略ブロック図である。 フレーム画像を処理してAR画像を生成する処理を示す機能ブロック図である。 図2中の主処理部による処理を示す概略フローチャートである。 図2中の特徴ベクトル化部での処理を示す概略フローチャートである。 フローチャートのステップS451及びステップS452の処理の説明図である。 フローチャートのS451及びステップS452の処理の説明図である。 図2中の特徴点検出部により検出された特徴点を、輝度画像上にドットで示す説明図である。 左側の輝度画像上の1つの特徴点と、これを中心とする局所領域画像及び図2中のアフィン変換部で作成された複数の局所領域画像の一部と、各局所領域画像の特徴ベクトルとを対応させて示す説明図である。 局所領域画像及び特徴ベクトルの成分に係る棒グラフを示す説明図である。 特徴点IDがそれぞれID01、ID02、ID03、・・・である、それぞれ複数の特徴ベクトルを示す説明図である。 参照マップ内の特徴ベクトルの全集合からランダムに抽出した部分集合毎のツリーからなるランダムフォレストの識別器をその入出力と対応付けて示す説明図である。 参照マップの生成に用いた画像(右上隅の画像)上の特徴点と、これに対応するAR画像生成用フレーム画像(左側画像)上の特徴点とを直線で結んだ対応関係を示す説明図である。 参照マップの生成に用いた画像(右上隅の画像)上の特徴点と、これに対応するAR画像生成用フレーム画像(左側画像)上の特徴点とを直線で結んだ対応関係を示す説明図である。 本発明の実施例2に係る画像処理装置のハードウェア構成を示す概略ブロック図である。 1フレーム画像内の局所特徴ベクトルを生成する処理手順を示すフローチャートである。 文字画像と、その上に各特徴点に関するペア特徴点の特徴点間を直線で連結したものとを示す説明図である。 図12Aの一部を拡大したペア特徴点説明図である。 図11におけるステップS23の局所特徴ベクトル処理に関する説明図である。 図11におけるステップS24の処理に関する説明図である。 局所領域画像及び特徴ベクトルの成分に係る棒グラフを示す説明図である。 実施例2の方法を用いた実施例3に係る画像処理装置の概略機能ブロック図である。 図16中における主処理部が実行するメインルーチンの概略フローチャートである。 図16中におけるマッチング処理部が実行するクラスID推定処理の概略フローチャートである。 クラスID及びフレーム画像IDでラベルされた同一ペア特徴点に関する局所特徴ベクトルの説明図である。 参照データ内の局所特徴ベクトルの全集合からランダムに抽出した部分集合毎のツリーからなるランダムフォレストの識別器をその入出力と対応付けて示す説明図である。 白鳥の写真と「Swan」の文字列とを含む印刷物の撮影画像に対して、図16の処理を行い、その途中結果を可視化した画像を含む説明図である。 白鳥の写真と「Swan」の文字列とを含む印刷物の撮影画像に対して、図16の処理を行い、その途中結果を可視化した画像を含む説明図である。 白鳥の写真と「Swan」の文字列とを含む印刷物の撮影画像に対して、図16の処理を行い、その途中結果を可視化した画像を含む説明図である。 白鳥の写真と「Swan」の文字列とを含む印刷物の撮影画像に対して、図16の処理を行い、その途中結果を可視化した画像を含む説明図である。 本発明が適用された画像処理システムの概略説明図である。 図24中の移動端末装置のハードウェア構成を示す概略ブロック図である。 図25の移動端末装置の概略機能ブロック図である。 図26のカード真偽判定部による処理を示す概略フローチャートである。 図27のステップS309及びステップS310の処理説明図である。 図27のステップS309及びステップS310の処理説明図である。 ステップS309で正規化された両矩形領域を示す説明図である。 ステップS309で正規化された両矩形領域を示す説明図である。 図27のステップS310の処理の詳細を示すフローチャートである。
 以下、一の画像処理装置に係る実施の形態を実施例1で、他の画像処理装置に係る実施の形態を実施例2、3で、移動端末装置に係る実施の形態を実施例4で説明する。
 図1は、本発明の実施例1に係る画像処理装置10のハードウェア構成を示す概略ブロック図であって、この実施例1で必要な構成要素のみを示す。画像処理装置10は例えば、カメラを備えたスマートフォン、PDA等の携帯端末装置、ノートパソコン、デスクトップパソコンなどである。
 画像処理装置10では、その本体部20において、プロセッサ21がバス22を介して記憶装置23、入力インターフェイス24、カメラインターフェイス25及びディスプレイインターフェイス26に結合されている。プロセッサ21は、内部キャッシュメモリを備えている。入力インターフェイス24には、入力装置30が結合されている。カメラインターフェイス25には、カメラ31が結合されている。ディスプレイインターフェイス26には、出力装置としての表示装置32が結合されている。他の出力装置としての通信部27には、アンテナ33が結合されている。
 入力装置30は、対話型入力装置であって、タッチパネル、ポインティングデバイス若しくはキーボード又はこれらの組み合わせで構成されている。通信部27は、電波を介して外部モニタ又はインターネットと結合するためのインターフェイスを備えている。
 記憶装置23にはプログラム及びデータが格納されている。プログラムは、プロセッサ21に対し、入力装置30から入力インターフェイス24を介したユーザの指示又は設定値の選択若しくは入力を受け付けさせる。プログラムは、プロセッサ21に対し、受け付けさせた入力に応じて、ARアプリケーションを起動させ、カメラ31で被写体を撮像させてそのフレーム画像を順次、一時的に記憶装置23内に格納させる。プログラムは、プロセッサ21に対し、記憶装置23内に格納させたフレーム画像を処理させて、カメラ31の位置姿勢を推定させる。プログラムは、プロセッサ21に対し、推定させたカメラ31の位置姿勢に基づき、フレーム画像にCGを重畳させたAR画像を生成させる。プログラムは、プロセッサ21に対し、生成させたAR画像を、ディスプレイインターフェイス26に供給させることにより表示装置32に表示させる。また、プログラムは、プロセッサ21に対し、生成させたAR画像を、通信部27に供給させることにより外部のモニタに表示させる。あるいは、プログラムは、プロセッサ21に対し、生成させたAR画像を、ブラウザ等のネットワークソフトを介して、通信部27に供給させることにより、外部のサーバ又は基地局を介して、通信相手に当該AR画像を送信させる。
 図2は主に、上記フレーム画像を処理してAR画像を生成する処理を示す機能ブロック図である。図2中、角丸矩形のブロックMi及びM0~M8は、図1の記憶装置23のデータ領域の一部である。
 画像入力部4iは、オペレーティングシステムを介しカメラ31からフィールド画像を順次取得してバッファ領域Miに格納し、2フィールドで1フレーム(例えば640x480画素)のカラー画像を格納する。バッファ領域Miは、ダブルバッファであり、一方のバッファと他方のバッファとに交互に順次フレーム画像を格納(上書き)する。
 グレースケール化部41は、バッファ領域Mi内の、現在上書きしていない方のバッファのフレーム画像を、グレースケール化して8ビット1チャンネルの輝度画像に変換しながら、これをバッファ領域M0に格納する。バッファ領域M0もダブルバッファである。グレースケール化部41は、画像入力部4iと同様に一方のバッファと他方のバッファとに交互に順次、輝度画像を格納(上書き)する。以下、これら一方及び他方のバッファに格納された画像をそれぞれ輝度画像G0及びG1と称す。
 画像入力部4i及びグレースケール化部41は、それぞれイベントドリブンにより実行されて、主処理部40と並列実行される。
 主処理部40は、フレーム画像及びその輝度画像を画像処理するメインルーチンに対応する。図3は、図2中の主処理部40による処理を示す概略フローチャートである。ステップS42、S43、S45~S51は、それぞれ図2中のブロック42、43、45~51の各機能部に対応する。
 ステップS42は、前処理であり、アプリケーション起動後の初期段階で行われる。ステップS43、S45及びS46は、その後の最初のAR用フレーム画像及びその輝度画像(これを輝度画像G1とする)に対するAR画像処理(初期認識処理)である。ステップS47~S51におけるループ処理は、この後に順次取得するフレーム画像及びその輝度画像に対するAR画像処理(トラッキング処理)である。
 図2において、参照マップ作成部42は、後述の特徴点検出部43を介し輝度画像上の特徴点を検出し、これに特徴点IDを付与する。図5は、図2中の特徴点検出部43により検出された特徴点を、輝度画像G1上にドットで示す説明図である。
 参照マップ作成部42は、後述の特徴ベクトル化部45を介し、特徴点を中心とする局所領域の特徴ベクトルを求める。参照マップ作成部42は、後述の輝度画像間テンプレートマッチングで特徴点を追跡し、単眼ステレオ視により各特徴点の3次元座標Posを復元し、各特徴点のID、3次元座標Pos及び特徴ベクトルを1組にした参照マップM4を作成する。
 参照マップ作成部42はまた、アフィン変換部44を介し、特徴点を中心とする該局所領域の画像をアフィン変換した局所領域画像群M2を作成する。参照マップ作成部42は、アフィン変換したそれぞれの局所領域画像に対し、特徴ベクトル化部45を介して特徴ベクトルを求める。参照マップ作成部42は、求めた特徴ベクトルを、その特徴点IDの特徴ベクトルとして、参照マップM4に追加する。即ち、1つの特徴点IDに対し異なる複数のカメラ視点それぞれの局所領域画像における特徴ベクトルが含まれる。
 図6は、左側の輝度画像上の1つの特徴点と、これを中心とする局所領域画像及び図2中のアフィン変換部44で作成された複数の局所領域画像の一部と、各局所領域画像の特徴ベクトルVとを対応させて示す説明図である。
 アフィン変換部44は、予め設定された複数のアフィン変換行列それぞれで、局所領域画像に対しアフィン変換を施す。これにより、参照マップ作成部42は、カメラ31の位置・姿勢を変更した場合に得られる複数の局所領域画像を、画像処理で生成する。
 より具体的には、アフィン変換部44は、まずカメラ31の姿勢を変えずに奥行きを変更した場合に得られる局所領域画像G2に対応した局所領域画像をアフィン変換で自動生成する。ここでの局所領域画像は、例えば、局所領域画像G2の幅及び高さをそれぞれ1/√2倍し、さらに1/√2倍し、さらに1/√2倍したそれぞれの局所領域画像G3、G4及びG5である。アフィン変換部44は、これら局所領域画像G2~G5それぞれについてさらに、カメラ31の奥行きを変えずに姿勢を変えたものに相当する局所領域画像を、アフィン変換で自動生成する。
 次に、上記初期認識処理について説明する。
 特徴点検出部43は、グレースケール化部41で生成された輝度画像G1に対し、FASTコーナー検出法により特徴点を検出する。特徴点検出部43は、輝度画像G1内の座標系において、検出した特徴点それぞれの座標を取得して、2次元座標群M1に追加する。
 特徴ベクトル化部45は、輝度画像G1内の特徴点を中心とする局所領域画像Gxを特徴ベクトル化して、特徴ベクトル群M3に追加する。
 図4Aは、図2中の特徴ベクトル化部45での処理を示す概略フローチャートである。図4B及び図4Cはそれぞれ、このフローチャートのステップS451及びS452での処理の説明図である。
 図4B及び図4Cの局所領域画像Gxでは、複雑化を避けるため、画像が省略されている。升目で区切られた小矩形は、画素を示している。ハッチングを施した中央の画素は、特徴点を示している。
 ここで、FASTコーナー検出法は、注目画素を中心とし、正の閾値をthとし、例えば半径3画素の円周上における16個の画素の輝度値を、(注目画素の輝度値)-thより小さければ暗い、(注目画素の輝度値)+thより大きければ明るい、これらの間の値であれば類似と3値化する。FASTコーナー検出法は、3値化した16個の画素の輝度値のうち、連続して例えば9画素以上が明るい又は暗いと判定された場合に、注目画素がコーナーの特徴点であると判定するものである。したがって、FASTコーナー検出法による特徴点は、その局所領域において、円周上輝度配向性を有している。
 そこで、この特徴点を中心とする半径3画素及び6画素の点線で示す円周上の画素をそれぞれ、図示のように、画素R0~Rf及び画素S0~S1fとする。符号R及びSに付加した番号は、16進数表記である。
 図4AのステップS451において、プロセッサ21は、バッファメモリ上の画素R0~Rf及び画素S0~S1fの輝度値をサンプリングすることによりプロセッサ21内にキャッシングする。次いで、プロセッサ21は、画素Riと画素Sjとの全ての組み合わせ(Ri,Sj)について、輝度配向ベクトルOriを、
    1f  f
Ori=Σ  Σ(I(Sj)-I(Ri))(Ri-Sj)
    j=0  i=0
として求める。上式右辺のRi及びSjはそれぞれ、特徴点を始点とする画素Ri及びSjの位置ベクトルを示している。また、I(x)は画素xの輝度である。輝度配向ベクトルOriの計算においては、X-Y直交座標系のX成分及びY成分それぞれが求められる。
 このような輝度配向ベクトルOriは、輝度値の差がベクトルの係数となっているので、照明の変化に影響されにくい。
 また、このような比較的簡単に求められる輝度配向ベクトルOriを用いても、後述の特徴ベクトルの回転不変性は確保される。そのため、従来よりも計算コストを低減して、より高速に輝度配向ベクトルOriを求めることが可能になる。
 計算コストを低減できる理由は、数十~200程度の特徴ベクトルそれぞれについて、640x480画素構成の輝度画像から、16+32=48個の画素サンプリングを行えばよいので、画素サンプリングにおける比較的重い処理であるプロセッサ21内へのキャッシング回数が少なくなるからである。また、小円周及び大円周それぞれの上における画素数が2の冪乗であるので、上述のインデックス計算において、特徴ベクトル毎の16x32=512回のループ処理を高速化することができるからである。
 なお、小円周又は大円周をFASTコーナー検出時の円周と一致させることにより、その画素サンプリング結果を共通に用いることができるので、さらに処理を高速化することができる。
 次に、ステップS452において、図4Cに示すように、プロセッサ21は、求めた輝度配向ベクトルOriの始点から終点側へ延びた半直線に最も距離が近い(輝度配向ベクトルOriと小円周上の画素の位置ベクトルとの内積が最大となる)小円周上の画素をP0とする。ステップS452において、プロセッサ21は、画素P0から反時計回り(又は時計回り)に1画素ごとの小円周上の画素をそれぞれ画素P1~P7とする。ステップS452において、プロセッサ21は、特徴点から画素P0の方向の延長線上且つ大円周上の画素をQ0とする。ステップS452において、プロセッサ21は、画素Q0から反時計回り(又は時計回り)に1画素ごとの小円周上の画素をそれぞれ画素Q1~Q16とする。プロセッサ21は、局所領域画像Gxの特徴ベクトルVを、
 V=α(F00,F01,..,F0f,F10,F11,・・・,Ff7)
として求める。ここに、ベクトル成分Fijは、Fij=I(Qj)-I(Pi)である。また、αは、特徴ベクトルVのノルムの値を、例えば符号付8ビット整数の最大値である127(ノルムの平方が16129)に正規化するための係数である。
 プログラム上の実際の計算では、図4Bの画素R0~Rf及びS0~S1fにおけるサンプリング結果を用い、Q0~Qfの替わりにS6、S8、・・・、S4が用いられ、P0~P7の替わりにR3、R5、・・・、R1が用いられる。また、画素配列のインデックスは、輝度配向ベクトルOriに依存せず、画一的に変化するループ変数の値を上述のように論理積演算で循環的に変化させる。
 ここで、正規化前の特徴ベクトルの第k成分をV[k]、輝度I(Ri)をR[i]、輝度I(Sj)をS[j]、計算開始位置の輝度配列要素をR[o]、S[2*o](図4BのOriの場合、o=3)とする。16進数の前に0xを付加してC言語で表記した場合、正規化前の特徴ベクトル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]
    ]
  ]
このような計算は、上記輝度配向ベクトルOriの計算においても同様である。
 Fijが輝度値の差であるので、特徴ベクトルVは、照明の変化に影響されにくい。また、特徴ベクトルVのノルムが正規化されているので、さらに照明の変化に影響されにくい。
 また、このような比較的簡単に求められる特徴ベクトルVを用いても、特徴ベクトルと、参照特徴ベクトルとのマッチングは、精度上及び安定性上問題になることがない。そのため、従来よりも計算コストを低減して、特徴ベクトルを高速に求めることが可能になる。
 計算コストを低減できる理由は、数十~200程度の特徴ベクトルそれぞれについて、640x480画素構成の輝度画像から、16+8=24個の画素サンプリングを行えばよいので、画素サンプリングでの比較的重い処理であるプロセッサ21のキャッシング回数が少なくなるからである。また、計算コストを低減できる理由は、小円周上及び大円周上それぞれの画素数が2の冪乗であるので、上述のインデックス計算において、特徴ベクトル毎の16x8=128回のループ処理を高速化できるからである。
 なお、輝度配向ベクトルOri算出時のサンプリング結果を用いることができるので、画像処理装置10は、画素サンプリングをさらに高速化することができる。
 また、特徴ベクトルと、参照特徴ベクトルとのマッチングが精度上及び安定性上充分である理由は、結果として、FASTコーナー検出法による特徴点を中心とする局所領域の輝度分布特性が特徴ベクトルVに効果的に反映されるからである。
 プロセッサ21の周波数速度を上記非特許文献1に記載のテスト結果で用いられた2.6GHzにして、本実施例の128次元特徴ベクトル計算時間を実測した結果、128次元特徴ベクトル計算時間は、特徴点512個当たり2-3msecであった。これに対し、上記非特許文献1のテスト結果では、最速のBRIEFでも、128次元特徴ベクトル計算時間は、特徴点512個当たり64次元で約5-8msecである。両テスト条件の詳細は一致しないが、本実施例における128次元特徴ベクトル計算時間の方が約2倍早いといえる。
 プロセッサ21は、局所領域画像群M2内の他の全ての局所領域画像についても上記同様にして特徴ベクトルVを求める。
 図7における(A)~(D)は何れも、同一特徴点を中心とする局所領域画像であって、特徴点に対するカメラ31の奥行きを同一にし、カメラ31の姿勢を変えた場合の画像を示す。図7における(E)~(H)はそれぞれ、図7における(A)~(D)の特徴ベクトルの棒グラフによる成分表示である。局所領域画像中の直線は、輝度配向ベクトルOriを示す。
 同様に、図7における(I)~(L)は何れも、他の同一特徴点を中心とする局所領域画像であって、特徴点に対するカメラ31の奥行きを同一にし、カメラ31の姿勢を変えた場合の画像を示す。図7における(M)~(P)はそれぞれ、図7における(I)~(L)の特徴ベクトルVのコンピュータによる棒グラフ成分表示である。局所領域画像中の直線は、輝度配向ベクトルOriを示す。
 これら図7における(A)~(H)の実測画像から、特徴ベクトルVは、特徴点に対するカメラ31の奥行きが同一であれば、カメラ31の姿勢に殆ど依存しない(回転不変性を有する)ことが分かる。
 図2に戻って、説明を続ける。マッチング部46は、特徴ベクトル群M3内の1つの特徴ベクトルVと、参照マップM4内の特徴ベクトルVとのマッチングを行なう。マッチング部46は、特徴ベクトル群M3内の何れの特徴ベクトルVが特徴ベクトルVと最も類似するもの又は類似すると推定できるものに対応する参照マップM4内の3次元座標Posを、特徴ベクトルVの3次元座標と推定する。この処理を、マッチング部46は、特徴ベクトル群M3内の全特徴ベクトルVそれぞれについて行う。
 特徴点が1つの輝度画像内に多数存在し、かつ、1つの特徴点に複数の特徴ベクトルVが存在する。そのため、特徴ベクトルV間の類似度として、例えば、特徴ベクトルV間の内積を直接1つずつ計算すると、計算コストが膨大になる。
 そこで、マッチング部46は、決定木を特徴ベクトルVの識別器(分類器)として用いることにより、マッチングを高速に行う。決定木としては、複数のツリーを用いたランダムフォレスト(Random Forest)を用いる。その理由は、使用時に高速動作すること、マルチクラス識別器であること及び識別精度が比較的高いことである。また、その理由は、識別精度とメモリ使用量とがトレードオフになるが、そのパラメータがほぼツリーの数で調整できること(ツリーが少数(多数)であると識別精度は低い(高い)が、メモリ使用量は小(大))である。
 特徴ベクトルVの各成分を2値化しない理由は、決定木を用いることにより、2値化とは無関係にマッチングを高速に行うことができることと、2値化による特徴ベクトルVの識別力低下を避けるためである。
 上記参照マップ作成部42は、ランダムフォレスト識別器を学習しておく。すなわち、参照マップ作成部42は、参照マップM4内の特徴ベクトルVの全集合から、特徴点IDが同一であるか否かを考慮せずにランダムに複数の特徴ベクトルVの部分集合(各部分集合の要素数は互いに同一)を決定する。参照マップ作成部42は、決定した複数の特徴ベクトルVの部分集合をツリーの分岐ノードで分割する分割関数f(V)と、分割の境界を定める閾値tとをランダムに決定する。参照マップ作成部42は、情報利得が最大になるように学習して、ランダムに決定した分割関数f(V)のパラメータと、閾値tとを更新する。また、参照マップ作成部42は、各ツリーの各リーフノードに、特徴点ID毎の確率Prを対応付けておく(リーフノードに対応付けられていない特徴点IDの確率は0)。
 参照マップ作成部42は、特徴ベクトルVに対し、各ツリーを辿って、リーフノードで特徴点ID毎の確率を取得し、全ツリーでの特徴点ID毎の確率の総和が最大になる特徴点IDを、ランダムフォレスト識別器の出力とする。
 図8Aは、特徴点IDがそれぞれID01、ID02、ID03、・・・である、それぞれ複数の特徴ベクトルVを示す説明図である。図8Bは、参照マップ内の特徴ベクトルVの全集合からランダムに抽出した部分集合毎のツリーからなるランダムフォレストの識別器をその入出力と対応付けて示す説明図である。
 マッチング部46は、マッチングした特徴ベクトルVの特徴点IDに対応した参照マップM4内の3次元座標Posと、これに対応した特徴点の2次元座標群M1内の2次元座標posとを対応させた3次元/2次元座標対M5を得る。
 ランダムフォレスト識別器は、マッチング結果を高速に得ることができるが、マッチング結果を保証するものではない。マッチング結果は誤識別を含むので、マッチング結果から誤識別を取り除く必要がある。
 そこで、マッチング部46は、ランザック(RANSAC:RANdom SAmple Consensus)により、マッチング外れに対応した特徴点を決定する。マッチング部46は、決定した特徴点の3次元座標を除外する。マッチング部46は、3次元座標を除外して、残った3次元座標Posと、これに対応した2次元座標群M1内の2次元座標posとを対応させた3次元/2次元座標対M5を得る。
 すなわち、マッチング部46は、3次元/2次元座標対M5からランダムに例えば6座標対を取り出し、後述のカメラパラメータ推定部47を介して、3行4列のカメラパラメータ行列M7を推定する。マッチング部46は、推定したカメラパラメータ行列M7で斉次3次元座標Posを斉次2次元座標posxに変換する。マッチング部46は、変換した斉次2次元座標posxと、3次元/2次元座標対M5内の2次元座標posとを対応させ、この対応関係を最小二乗法で直線近似したとき偏差が所定値を超えるもの(外れ値)の個数を求める。マッチング部46は、上記の処理を複数回繰り返す。マッチング部46は、外れ値の個数が最も少なかったカメラパラメータ行列M7で、3次元/2次元座標対M5の全3次元座標Posをそれぞれ2次元座標に変換し、同様にして外れ値を決定し、それらの3次元座標を除外する。マッチング部46は、残った3次元座標Posと、これに対応した2次元座標群M1内の2次元座標posとを対応させた3次元/2次元座標対M5を得る。
 カメラパラメータ推定部47は、この3次元/2次元座標対M5を、最小二乗法を用いたICP(Iterative Closest Point)アルゴリズムに対する入力として、斉次3次元座標Posを画像上斉次2次元座標に変換する3行4列の斉次変換行列であるカメラパラメータ行列M7を決定する。
 オーバーレイ部48は、予め登録されている3次元モデルM6を、カメラパラメータ行列M7で、輝度画像G1に対応するバッファ領域Mi内のフレーム画像上に投影することにより、重畳画像M8を生成する。画像出力部49は、オーバーレイ部48が生成した重畳画像M8を、図1のディスプレイインターフェイス26に供給して表示装置32に表示させる。
 以上の処理により、フレーム画像に対する最初のAR画像処理が終了する。
 今度は、次のフレーム画像に対するAR画像処理に移る。次に実行されるAR画像処理を簡単化して高速化するため、テンプレート画像設定部50は、上記のように最終的にマッチングされた輝度画像G1上の特徴点を中心とする例えば9×9画素のブロックをテンプレート画像とする。
 テンプレートマッチング部51は、このテンプレート画像と、次のフレーム画像の輝度画像G0内の対応する所定範囲内の9×9画素ブロックとの領域マッチングを行うことにより、最も類似度の高い輝度画像G0内のブロックを決定する。テンプレートマッチング部51は、決定したブロックの中心画素の2次元座標を求める。テンプレートマッチング部51は、求めた中心画素の2次元座標を、テンプレート画像に対応した特徴点の3次元座標Posと対応させて、輝度画像G0に対する3次元/2次元座標pos対M5を取得する。
 次に、カメラパラメータ推定部47の処理に移り、以下上記と同様にして、重畳画像M8を表示装置32に表示させる。
 その後、画像処理装置10は、輝度画像G0と輝度画像G1とを交互に入れ替え、同様にフレーム画像もこれに対応して入れ替える毎に、図3のステップS46~S51のループ処理を1回行うことにより、カメラ31の現在の位置姿勢に対応したAR画像を表示装置32に表示する。
 図9Aは、参照マップM4の生成に用いた画像(右上隅の画像)上の特徴点と、最初のAR画像生成用フレーム画像(左側画像)上の特徴点とを直線で結んだ対応関係を示す説明図である。同様に、図9Bは、参照マップM4の生成に用いた画像(右上隅の画像)上の特徴点と、その後のフレーム画像(左側画像)上の特徴点とを直線で結んだ対応関係を示す説明図である。
 線で結ばれていないフレーム画像上の特徴点は、上記マッチングの外れで除外された3次元座標に対応する特徴点である。検出された特徴点の数に対する、マッチングすることができた特徴点の数(マッチング精度又は認識率)は、通常のカメラ位置姿勢変化に対し、大略70~90%である。これにより、本実施例1における比較的簡単で高速処理が可能な回転不変性特徴ベクトルVの決定方法は、AR画像処理として問題がないことが判明した(認識率は特徴ベクトルVの決定方法及び識別器の選定に依存)。
 本発明に係る特徴ベクトルV自体はスケール不変性を有しない。しかし、画像処理装置10は、予め設定された複数のアフィン変換行列それぞれで、アフィン変換部44により、特徴点を中心とする局所領域画像を変形する。画像処理装置10は、これにより、カメラ31の位置・姿勢を変更した場合に得られる複数の局所領域画像を生成し、それぞれの回転不変性特徴ベクトルVをマッチング対象とする。そのため、特徴ベクトルVは、マッチング処理上はスケール不変性及びカメラ姿勢不変性を有している。
 また、画像処理装置10は、マッチング前に特徴ベクトル化部45側で1つの特徴点に対し1つの特徴ベクトルのみ作成すればよいので、処理をさらに高速化できる。
 以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記複数の実施例で述べた構成要素の他の組み合わせ、各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
 例えば、上記実施例1では、図4B及び図4Cにおける小円周及び大円周の半径をそれぞれ3画素及び6画素とした。しかし、小円周及び大円周の半径は、これらの値に限定されるものではない。また、小円周及び大円周の半径は、マッチング部46が外れ値を除く際にマッチング精度を求めることができるので、マッチング精度がより高くなるように、動的に変更されてもよい。
 また、参照マップM4内を含む全ての特徴点について一律に、図4AのステップS451の輝度配向ベクトルOriの符号を逆にしたり、ステップS452の特徴ベクトルVの成分の順番を変更したりしてもよい(マッチング上問題とならない)。但し、計算速度上は、円周上一方向に順に画素輝度値をサンプリングした方が好ましい。
 本発明は、例えば写真画像を撮影し、撮影した写真画像における特徴点を、参照マップ内の複数の写真画像における特徴点とマッチングして画像検索する場合にも適用できる。この場合、参照マップ内の特徴点座標は2次元であり、3行4列のカメラパラメータ行列の替わりに3行3列のホモグラフィ行列が用いられる。
 マッチング部46で用いる識別器は、ランダムフォレスト識別器に限定されない。マッチング部46で用いる識別器は、高速かつある程度以上マッチング精度が得られるものであればよく、バギングやブースティングなどのアンサンブル学習アルゴリズムを用いた識別器や、単一の決定木を用いた識別器であってもよい。
 また、本発明は、上記アフィン変換等を行わずに、ガウシアンピラミッドなどを用いた公知のスケールで特徴ベクトルV決定用の大円周半径を決定することにより、特徴ベクトルVをスケール不変性にする構成であってもよい。この場合も、本発明は、特徴ベクトルV算出の計算コストを従来よりも小さくすることができ、また、参照マップM4内のマッチング対象数を低減することができるので、スケール不変化を含めた特徴ベクトルVの算出と、マッチングとの合計の計算コストを従来よりも低減することができる。
 さらに、参照マップM4は、アプリケーション起動後に上記のように参照マップ作成部42により自動生成される替わりに、アプリケーション起動前に予め自動又は手動で作成しておいたものを登録するものであってもよい。この場合、参照マップM4内の特徴ベクトルは、各特徴点の上記アフィン変換局所領域画像の替わりに、各特徴点について、互いに異なる複数のカメラ位置姿勢それぞれに対応した、すなわち互いに異なる複数のカメラ視点それぞれに対応した、特徴点を中心とする実際の局所領域画像に基づき、作成されてもよい。また、アプリケーション起動後に、シーンの変化に応じて参照マップM4を更新する構成であってもよい。
 また、テンプレート画像設定部50及びテンプレートマッチング部51での処理対象を、輝度画像の替わりにカラーのフレーム画像とすることにより、マッチング精度を向上させてもよい。
 また、カメラ31の内部パラメータを予め決定しておき、カメラパラメータ推定部47においてカメラ31の位置姿勢を定める6個の外部パラメータのみを決定する構成であってもよい。カメラパラメータ推定部47又はテンプレートマッチング部51において、特徴点群を剛体とみなし、3次元/2次元座標対M5を3組以上の対応データとし、カメラ31の位置姿勢を定める6個のパラメータを決定することにより、実質的にカメラパラメータ推定部47でカメラパラメータ行列M7を推定する構成であってもよい。
 さらに、3次元座標系は、シーンの背景に固定されたワールド座標系に限定されない。3次元座標系は、カメラ31に対する相対的なものであればよく、カメラ31の位置姿勢が変化するローカル座標系であってもよいことは勿論である。
 また、本発明の適用範囲は3次元モデルをフレーム画像に重畳するものに限定されない。本発明は、認識された複数の特徴点の3次元座標の組で識別される対象に応じたテキスト、記号、符号、図形又は画像などの情報を、フレーム画像に重畳し又は重畳せずに、表示装置や通信部に出力する構成に適用することができる。また、本発明は、類似する複数の特徴点の組を含む画像を画像データベースから検索する構成に適用することができる。
 図10は、本発明の実施例2に係る画像処理装置210のハードウェア構成を示す概略ブロック図であって、この実施例2で必要な構成要素のみを示す。画像処理装置210は例えば、カメラを備えたスマートフォン、PDA等の携帯端末装置、ノートパソコン、デスクトップパソコンなどである。
 画像処理装置210では、その本体部220において、プロセッサ221がバス222を介して記憶装置223、入力インターフェイス224、カメラインターフェイス225及びディスプレインターフェイス226に結合されている。プロセッサ221は、内部キャッシュメモリを備えている。入力インターフェイス224には、入力装置230が結合されている。カメラインターフェイス225には、カメラ231が結合されている。ディスプレインターフェイス226には、出力装置としての表示装置232が結合されている。他の出力装置としての通信部227には、アンテナ233が結合されている。
 入力装置230は、対話型入力装置であって、タッチパネル、ポインティングデバイス若しくはキーボード又はこれらの組み合わせで構成されている。通信部227は、電波を介して外部モニタ又はインターネットと結合するためのインターフェイスを備えている。
 記憶装置223には、プログラム及びデータが格納されている。プログラムは、プロセッサ221に対し、入力装置230から入力インターフェイス224を介したユーザの指示又は設定値の選択若しくは入力を受け付けさせる。プログラムは、プロセッサ221に対し、受け付けさせた入力に応じて、アプリケーションを起動させ、カメラ231で被写体、例えば、図書館の本の表紙又は看板を撮像させる。プログラムは、プロセッサ221に対し、カメラ231で撮像させたフレーム画像(静止画)を記憶装置223内に格納させ、記憶装置223に格納させたフレーム画像から複数の局所特徴ベクトルを生成させる。プログラムは、プロセッサ221に対し、生成させた複数の局所特徴ベクトルと記憶装置223内の参照データとに基づいて、フレーム画像を識別させる。プログラムは、プロセッサ221に対し、識別させたフレーム画像に関する情報、例えば、該図書館に蔵書されている関連する本の情報又は看板に関する詳細情報を記憶装置223から読み出させて、ディスプレインターフェイス226を介し、表示装置232に表示させる。或いは、プログラムは、プロセッサ221に対し、カメラ231で店内又は通販カタログの商品を撮像させ、同様にして、撮像させた商品に関する情報を表示装置232に表示させる。
 本実施例2の特徴は、図11に示す処理である。図11は、1フレーム画像内の局所特徴ベクトルVを生成する処理手順を示すフローチャートである。以下、括弧内は図中のステップ識別符号を示す。
 (S20)プロセッサ221は、1フレーム画像内で注目画素をラスタースキャンしながら、特徴点をFASTコーナー検出法により検出する。
 FASTコーナー検出法は、注目画素を中心とし、正の閾値をthとし、例えば半径3画素の円周上における16個の画素の輝度値を、(注目画素の輝度値)-thより小さければ暗い、(注目画素の輝度値)+thより大きければ明るい、これらの間の値であれば類似の3つに3値化する。FASTコーナー検出法は、3値化した16個の画素の輝度値のうち、連続して例えば9画素以上が明るい又は暗いと判定された場合に、注目画素がコーナーの特徴点であると判定する。
 (S21)以下、プロセッサ221は、ステップS20で検出した各特徴点(注目特徴点)について、S22からS24迄のループ処理を行う。
 (S22)プロセッサ221は、注目特徴点(第1特徴点)について、注目特徴点から距離が短い順に所定数nの特徴点を第2特徴点とする。プロセッサ221は、第1特徴点と、第2特徴点それぞれとのn組のペア特徴点を選択する。nは、n≧1であって、各第1特徴点について共通の値である。
 図12Aは、各特徴点について、n=4とし、第1特徴点とそれぞれの第2特徴点との間を直線で連結(ペアを連結)した説明図である。図13は、図12A中の一部を拡大した説明図である。
 プロセッサ221は、ステップS22で求めた各ペア特徴点についてステップS23及びステップS24の処理を行う。
 (S23)プロセッサ221は、ペア特徴点の特徴点間距離Lを算出し、例えば図13に示すように第1特徴点2350と第2特徴点2351との間の距離Lを算出する。プロセッサ221は、第1特徴点2350を中心とする距離Lに比例した半径の第1サンプリング円2352、及び、第2特徴点2351を中心とする距離Lに比例した半径の第2サンプリング円2353を決定する。
 図13における第1サンプリング円2352の半径及び第2サンプリング円2353の半径に関する比例定数は、例えば1であり、各特徴点について共通である。なお、第1サンプリング円2352の半径と第2サンプリング円2353の半径に関する該比例定数は、互いに異なるものを用いてもよい。
 図14は、図13における第1サンプリング円2352及び第2サンプリング円2353と異なる第1サンプリング円2C1及び第2サンプリング円2C2を示している。第1サンプリング円2C1及び第2サンプリング円2C2にそれぞれ対応する第1特徴点236及び第2特徴点237は、第1サンプリング円2352及び第2サンプリング円2353にそれぞれ対応する第1特徴点2350及び第2特徴点2351と異なる。また、第1サンプリング円2C1の半径及び第2サンプリング円2C2の半径における比例定数は、第1サンプリング円2352の半径及び第2サンプリング円2353の半径における比例定数と異なる。
 (S24)プロセッサ221は、第1サンプリング円2C1上の画素のうち、等画素間隔に配列するN個(N≧4)の画素それぞれを中心とする領域の平均輝度をサンプリングする。例えば、プロセッサ221は、第1サンプリング円2C1上の画素のうち、例えば16個の画素それぞれを中心とする矩形画素領域P0~P9、Pa~Pfそれぞれの平均輝度I(Pi)、i=0~fを、第1特徴点236から第2特徴点237へ向かう方向ベクトル(又は直線Lの方向)を基準として、所定順に、例えば反時計回りの方向にサンプリングする。プロセッサ221は、図14では平均輝度I(P1),I(P2)、・・・、I(Pf)、I(P0)をこの順にサンプリングする。プロセッサ221は、サンプリングした平均輝度I(P1),I(P2)、・・・、I(Pf)、I(P0)それぞれと、第1特徴点236を中心とする矩形画素領域(ハッチングで示す領域)の平均輝度I1との差を、サンプリング順に並べる。
 同様に、プロセッサ221は、第2特徴点237から第1特徴点236へ向かう方向ベクトル(又は直線Lの方向)を基準として所定順に、例えば反時計回りの方向に、第2サンプリング円2C2上の画素における平均輝度をサンプリングする。プロセッサ221は、図14では平均輝度I(Q9),I(Qa)、・・・、I(Qf)、I(Q0)、・・・、I(Q8)をこの順にサンプリングする。プロセッサ221は、サンプリングした平均輝度I(Q9),I(Qa)、・・・、I(Qf)、I(Q0)、・・・、I(Q8)それぞれと、第2特徴点237を中心とする矩形画素領域(ハッチングで示す領域)の平均輝度I2との差を、サンプリング順に並べる。
 プロセッサ221は、第1サンプリング円2C1及び第2サンプリング円2C2それぞれに係る平均輝度と、第1特徴点236及び第2特徴点237それぞれに係る平均輝度I1、I2との差を正規化したものを、ペア特徴点36、37に関する局所特徴ベクトルとして求める。すなわち、プロセッサ221は、局所特徴ベクトルVを、
 V=α(I(P1)-I1,I(P2)-I1,・・・,I(Pf)-I1、I(P0)-I1,I(Q9),I(Qa)-I2,・・・,I(Qf))-I2,I(Q0)-I2,・・・,I(Q8)-I2)
として求める。αは、特徴ベクトルVのノルムの値を、例えば符号付8ビット整数の最大値である127(ノルムの平方が16129)に正規化するための係数である。また、各成分の符号は、上記と逆であってもよい。また、各成分の符号は、第2サンプリング円2C2に関してのみ上記と逆であってもよい。
 上記各矩形画素領域は、正方形領域であって、その一辺の長さが距離Lに略比例している。ここに略比例とは、量子化誤差が含まれることを意味している。
 プロセッサ221は、1フレーム内の全特徴点それぞれについて、ステップS21~ステップS25の処理を行うので、上記第2特徴点237と第1特徴点236とを互いに入れ替えた場合の局所特徴ベクトルも算出することになる。
 このようにして求められた局所特徴ベクトルは、カメラ231の光軸の方向及びカメラ231の位置を一定にし、光軸の回りにカメラ231を回転させても不変であり、かつ、この光軸方向へカメラ231をスライドさせても不変である。すなわち、この局所特徴ベクトルは、スケール不変性及び回転不変性を持っている。
 図15は、局所領域画像及び特徴ベクトルVの成分に係る棒グラフを示す説明図である。図15における(A)~(D)は、何れも共通の第1特徴点2380及び異なる第2特徴点2381を有する特徴点ペアを点で示す局所領域画像である。図15における(E)~(H)は、それぞれ図15における(A)~(D)の特徴点ペアに関する局所特徴ベクトルの成分を棒グラフで表示している。
 ここで、上記の正規化前の局所特徴ベクトルVの第k成分をV[k]、輝度I(Pi)をR[i]、第1特徴点236の輝度をI1、計算開始位置の輝度配列要素をR[o](図14の場合、o=1)とする。ベクトルVの第1サンプリング円2C1に関する成分は、16進数の前に0xを付加して、C言語で表記した場合、次の簡単なループ処理で計算される。
    for(i=0;i<16;i++){V[i]=S[(i+o)&0x1f] -I1};
 ここに、&は論理積演算子である。一般に、剰余(mode)演算子を%とすると、nが2の冪乗である場合、i=(j+o)%nはi=(j+o)&(n-1)で計算できる。従って、上記ループ処理のように、iの値を決定するためにi=nであるか否かでジャンプする余分な条件ジャンプ命令を用いずに、論理積演算子&を用いてインデックスiを高速計算することができる。
 特徴ベクトルVの第2サンプリング円2C2に関する成分についても上記と同様である。 
 局所特徴ベクトルVは、各成分が輝度値の差であるので、照明の変化に影響されにくい。また、局所特徴ベクトルVは、局所特徴ベクトルVのノルムが正規化されているので、さらに照明の変化に影響されにくい。さらに、局所特徴ベクトルVの各成分は画素領域の平均輝度値(後でベクトルVが正規化されるので、これは累積加算値でよい)を用いて計算されているので、局所特徴ベクトルVのSN比を比較的大きくすることができる。
 上記のような正規化された局所特徴ベクトルVは、以下の実施例3で用いられる。
 図16は、実施例2の方法を用いた実施例3に係る画像処理装置210の概略機能ブロック図である。この画像処理装置210のハードウェア構成は、実施例2の図10に示すハードウェア構成と同一である。
 図16中、角丸矩形のブロック2Mi及びバッファ領域2M0~2M5は、図10の記憶装置223内のデータ領域の一部である。
 主処理部240は、フレーム画像及びその輝度画像を画像処理するメインルーチンに対応する。図17は、図16中における主処理部240が実行するメインルーチンの概略フローチャートである。ステップS24i、S241、S243、S245~S248は、それぞれ図16中のブロック24i、241、243、245~248の各機能部に対応する。
 図16において、画像入力部24i、バッファ領域2Mi、グレースケール化部241、バッファ領域2M0、特徴点検出部243、2次元座標記憶部2M1及び局所特徴ベクトル生成部245は、実施例2においても用いられる。すなわち、画像入力部24iは、オペレーティングシステムを介して、カメラ231からシャッターオン時のカラーのフレーム画像G0(例えば640x480画素)を取得し、取得したフレーム画像G0をバッファ領域2Miに格納する。また、グレースケール化部241は、バッファ領域2Mi内のフレーム画像G0をグレースケール化して、8ビット1チャンネルの輝度画像(フレーム画像)G1に変換し、変換した輝度画像G1をバッファ領域2M0に格納する。特徴点検出部243は、図11におけるステップS20と同じ処理を行って、各特徴点の2次元座標を取得し、取得した各特徴点の2次元座標を2次元座標記憶部2M1に格納する。局所特徴ベクトル生成部245は、2次元座標記憶部2M1内の各特徴点に対し図11におけるステップS21~S25の処理を行って局所特徴ベクトルを生成し、生成した局所特徴ベクトルを局所特徴ベクトル記憶部2M3に追加する。
 参照データ記憶部2M4には、予め、検索で用いられる参照データが格納されている。参照データは、参照データ作成部242、アフィン変換部244、局所領域画像記憶部2M2及び局所特徴ベクトルを生成する上記の構成を用いて、以下のようにして生成される。
 すなわち、参照データ作成部242は、輝度画像G1から、図14に示すような各ペア特徴点の第1サンプリング円2C1及び第2サンプリング円2C2を含む局所領域画像を切り出し、切り出した局所領域画像を局所領域画像群G2として局所領域画像記憶部2M2に追加する。参照データ作成部242は、局所特徴ベクトル生成部245に図11のステップS21~S25の処理を実行させることにより、局所領域画像群G2における各ペア特徴点の局所特徴ベクトル(参照局所特徴ベクトル)を求める。参照データ作成部242は、求めた局所特徴ベクトルVを参照データ記憶部2M4に追加する。
 参照データ作成部242はまた、局所領域画像群G2それぞれの画像から、カメラ231の奥行き及び姿勢を変えたものに相当する複数の局所領域画像をアフィン変換部244に自動生成させる。参照データ作成部242は、生成させた複数の局所領域画像を局所領域画像群G2に加えるとともに、各局所領域画像について上記と同様にして局所特徴ベクトルVを求め、求めた局所特徴ベクトルVを参照データ記憶部2M4に追加する。
 すなわち、参照データ作成部242は、アフィン変換部244を介し、局所領域画像群G2の各局所領域画像を、奥行きを変えずに光軸方向を変えることに相当する複数のマトリックスそれぞれでアフィン変換して、新たな局所領域画像群を生成する。参照データ作成部242は、生成した新たな局所領域画像群を局所領域画像群G2に追加する。参照データ作成部242は、生成した各局所領域画像について局所特徴ベクトル生成部245を介し同様にして局所特徴ベクトルVを求め、求めた局所特徴ベクトルVを参照データ記憶部2M4に追加する。参照データ作成部242はさらに、局所領域画像群G2それぞれを、奥行きのみを長くすることに相当する複数のマトリックスそれぞれでアフィン変換した画像群、すなわち、縮小した局所領域画像、例えば、幅及び高さをそれぞれ1/√2倍し、さらに1/√2倍し、さらに1/√2倍したそれぞれの局所領域画像群G3、G4及びG5を生成する。参照データ作成部242は、生成したそれぞれの局所領域画像について、局所特徴ベクトル生成部245を介し同様にして局所特徴ベクトルVを求め、求めた局所特徴ベクトルVを参照データ記憶部2M4に追加する。
   
 参照データ作成部242は、参照データ記憶部2M4において、アフィン変換の有無に拘わらず同一のペア特徴点に関する局所特徴ベクトルそれぞれに、同一のクラスID(CID)を対応付ける。すなわち、参照データ記憶部2M4には、例えば図19Aに示すように、1つのペア特徴点に対して、異なる複数のカメラ視点それぞれにおける局所特徴ベクトルV、例えばV0101、V0102、V0103、・・・が、同一クラスID、例えばCID01でクラス分けされている。
 参照データ記憶部2M4にはさらに、各CIDが属するフレーム画像ID(FID)が対応付けられている。例えば、CID01はFID01、FID12が対応付けられている。これは、FID01、FID12それぞれのフレーム画像にCID01が含まれていることを意味する。
 参照データ記憶部2M4にはまた、各FIDにそれぞれ対応付けられた上記情報、例えば関連する本の情報、看板の詳細情報又は商品情報などが含まれている。
 マッチング部246は、決定木を局所特徴ベクトルVの識別器(分類器)として備えている。決定木としては、複数のツリーを用いたランダムフォレスト(Random Forest)を用いる。その理由は、ランダムフォレストが使用時に高速動作すること、マルチクラス識別器であること及び識別精度が比較的高いことである。また、その理由は、識別精度とメモリ使用量とがトレードオフになるが、そのパラメータがほぼツリーの数で調整できること(ツリーが少数(多数)であると識別精度は低い(高い)が、メモリ使用量は小(大))である。
 局所特徴ベクトルVの各成分を2値化しないのは、決定木を用いることにより、2値化とは無関係にマッチングを高速に行うことができることと、2値化による局所特徴ベクトルの識別力低下を避けるためである。
 マッチング部246は、ランダムフォレスト識別器を学習しておく。すなわち、マッチング部246は、参照データ記憶部2M4内の局所特徴ベクトルVの全集合から、クラスIDが同一であるか否かを考慮せずにランダムに複数の局所特徴ベクトルVの部分集合(各部分集合の要素数は互いに同一)を決定する。マッチング部246は、図19Bに示すように、決定した複数の局所特徴ベクトルの部分集合をツリーの分岐ノードで分割する分割関数f(V)と、分割の境界を定める閾値tとをランダムに決定する。マッチング部246は、情報利得が最大になるように学習して、ランダムに決定した分割関数f(V)のパラメータと、閾値tとを更新する。また、マッチング部246は、各ツリーの各リーフノードに、クラスID毎の確率Prを対応付けておく(リーフノードに対応付けられていないクラスIDの確率は0)。
 マッチング部246は、各局所特徴ベクトルVについて、ランダムフォレストの各ツリーを辿って、リーフノードでクラスID毎の確率を取得し、全ツリーでのクラスID毎の確率の総和が最大になるクラスIDを、ランダムフォレスト識別器の出力とする。
 すなわち、マッチング部246は、局所特徴ベクトル記憶部2M3内における各局所特徴ベクトルVに対し、図18に示すステップS210~S215の処理を行って局所特徴ベクトルVのクラスIDを推定する。
 (S210)プロセッサ221は、横軸をクラスIDとし、縦軸を頻度(正確には確率値の累積加算値)とする空のヒストグラムをフレーム画像IDヒストグラム記憶部2M5に生成する。以下、ランダムフォレストの各ツリーについて、ステップS211~S214の処理を行う。
 (S212)プロセッサ221は、局所特徴ベクトルVに対し、ツリーを上から下へ辿り、その際、ツリーの各ノードにおいて、局所特徴ベクトルVの対応する成分と、その閾値tと、分割関数f(V)とに基づいて、どちらの子ノードへ分岐するかを決定する。プロセッサ221は、リーフノードで得られるクラスIDの確率分布から、確率値が大きい順に、例えば3つのクラスIDを決定する。
 (S213)プロセッサ221は、これらの3つのクラスIDの確率値を、ステップS210で生成したヒストグラムに追加する。
 (S215)プロセッサ221は、ヒストグラム上の最頻値を、この局所特徴ベクトルVの特徴点のクラスIDと推定する(図19B参照)。
 (S216)プロセッサ221(マッチング部246)は、推定したクラスID(CID)に対応するフレーム画像ID(FID)、例えば図19Aの左側のクラスIDであるID01に対応したFID01及びFID12を、参照データ記憶部2M4から取得する。プロセッサ221は、フレーム画像IDヒストグラム記憶部2M5内のフレーム画像ID(FID)で識別されるカウンタを、1だけインクリメントする。
 マッチング部246が局所特徴ベクトル記憶部2M3内の各局所特徴ベクトルVに対し図18に示す処理を行った後、フレーム画像ID推定部247は、次の処理を実行する。フレーム画像ID推定部247は、フレーム画像IDヒストグラム記憶部2M5内のカウンタ値が最大のフレーム画像IDを、バッファ領域2Mi内のフレーム画像のFIDと推定する。
 フレーム画像IDの情報出力部248は、推定されたフレーム画像IDに対応した情報を参照データ記憶部2M4から取り出し、取り出した情報を表示装置232に出力する。
 次に、マッチング部246が実行する処理の試験結果を説明する。
 図20~図23は、白鳥の写真と「Swan」の文字列とを含む印刷物の撮影画像に対して、図16の処理を行い、その途中結果を可視化した画像を含む説明図である。
 図20は、白鳥の写真と「Swan」の文字列とを含む印刷物の入力画像と、該入力画像から抽出された特徴点ペアと、各特徴点ペアの特徴点間を接続した直線とを示す可視化画像の説明図である。
 図21~図23はいずれも、参照画像上の特徴点と、図20中の入力画像上の特徴点とをマッチング部246でマッチングさせ、マッチングした特徴点間を直線で接続した説明図である。図21は、入力画像を縮小、回転した参照画上の特徴点と、認識対象である図20中の画像上の特徴点とをマッチング部246でマッチングさせ、マッチングした特徴点間を直線で接続した説明図である。図22は、入力画像を縮小、回転し、射影変換した参照画上の特徴点と、認識対象である図20中の画像上の特徴点とをマッチング部246でマッチングさせ、マッチングした特徴点間を直線で接続した説明図である。図23は、入力画像を回転し、図21の場合よりも縮小した参照画上の特徴点と、認識対象である図20中の画像上の特徴点とをマッチング部246でマッチングさせ、マッチングした特徴点間を直線で接続した図である。ここに参照画像は、この画像から上記参照データが得られる画像である。
 図21及び図22の参照画像上における特徴点ペアは、いずれも137対である。137対うち、図21では111対(81%)がマッチングに成功し、図22では93対(68%)がマッチングに成功した。図23の参照画像上における特徴点ペアは36対であり、これら36対のうち29対(80%)がマッチングに成功した。
 以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
 例えば、マッチング部246で用いる識別器は、ランダムフォレスト識別器に限定されない。マッチング部246で用いる識別器は、高速かつある程度以上マッチング精度が得られるものであればよく、バギングやブースティングなどのアンサンブル学習アルゴリズムを用いた識別器、単一の決定木を用いた識別器などであってもよい。
 また、参照データ記憶部2M4に記憶される参照データは、アプリケーション起動後に参照データ作成部242により自動生成される構成であってもよい。
 さらに、本発明は、拡張現実(AR)表示装置などにも適用することができる。
 図24は、本発明が適用された画像処理システムの概略説明図である。
 移動端末装置310は、カメラ及びコンピュータを備えたスマートフォン、ハンドヘルドゲーム機、PDA、ノートパソコンなどである。
 ユーザは、移動端末装置310を操作して、トレーディングカード登録プログラムを起動させる。移動端末装置310はこれに応答して、カメラを起動し、その撮影画像をリアルタイムで表示するとともに、ユーザに対しカメラにトレーディングカード311をかざさせる指示を表示する。
 移動端末装置310は、トレーディングカード311を認識すると、ユーザに対しトレーディングカード311を回転(傾斜)させる指示を表示する。また、移動端末装置310は、移動端末装置310のカメラに対するトレーディングカード311の相対的な位置・姿勢を推定する。
 トレーディングカード311には、所定位置にホログラム312が貼着されている。移動端末装置310は、該所定位置と該位置・姿勢とに基づき、画像データ上におけるホログラム312に対応する領域を抽出する。ホログラム312は、レインボーホログラムであり、白色照明光の入射に対する回折角に応じてピーク波長が変化する。
 移動端末装置310は、該位置・姿勢のうちの姿勢の角度変化が設定値を超える毎に、該ホログラム領域の色の変化の評価値(スコア)を求め、所定数の該評価値の平均値に基づいて、トレーディングカード311の真偽を判定する。
 トレーディングカード311には、トレーディングカード311のIDに対応するドットパターンを含む2次元コード313が印刷されている。移動端末装置310は、トレーディングカード311が真であると判定すると、2次元コード313の画像からトレーディングカード311のIDを読み取る。移動端末装置310は、トレーディングカード311のIDを移動端末装置310のユーザ情報とともに、基地局314及びネットワーク315を介して、サーバ316に送信する。
 サーバ316は、トレーディングカード311のIDに対応したトレーディングカード311のグラフィックデータ及び属性データを、ネットワーク315及び基地局314を介して、移動端末装置310に返信する。移動端末装置310は、トレーディングカード311のグラフィックデータ及び属性データをカードセットに追加する。これより、移動端末装置310は、トレーディングカード311を用いて対戦したり、トレーディングカード311を他人のトレーディングカード311と交換したりすることを可能にする。
 図25は、図24中の移動端末装置310のハードウェア構成を示す概略ブロック図であって、この実施例4で必要な構成要素のみを示す。
 移動端末装置310では、その本体部320において、プロセッサ321がバス322を介して記憶部323、入力インターフェイス324、カメラインターフェイス325、ディスプレインターフェイス326及びネットワークアダプタ327に結合されている。入力インターフェイス324には、入力部330が結合されている。カメラインターフェイス325には、カメラ331が結合されている。ディスプレインターフェイス326には、表示部332が結合されている。ネットワークアダプタ327には、アンテナ333が結合されている。
 入力部330は、対話型入力部であって、タッチパネル、ポインティングデバイス若しくはキーボード又はこれらの組み合わせで構成されている。ネットワークアダプタ327は、電波を介してイントラネット又はインターネットと結合するためのインターフェイスを備えている。
 記憶部323にはプログラム及びデータが格納されている。このプログラムは、プロセッサ321に対し、入力部330から入力インターフェイス324を介したユーザの指示入力を受け付けさせる。プログラムは、プロセッサ321に対し、受け付けさせた指示入力に応じて、アプリケーションを起動させ、カメラ331でトレーディングカード311を含む被写体を撮像させて、撮像させたフレーム画像を記憶部323内に格納させ、表示部332に表示させる。プログラムは、プロセッサ321に対し、このフレーム画像に対し、上述のような処理を行わせてトレーディングカード311の真偽判定を行わせる。また、プログラムは、プロセッサ321に対し、ネットワークアダプタ327、アンテナ333及び図24の基地局314、ネットワーク315を介して、サーバ316と上述のように通信させる。プログラムは、プロセッサ321に対し、トレーディングカード311のグラフィックデータ等をサーバ316から受信し、受信したグラフィックデータ等をカードセットに追加させる。
 図26は、図25の移動端末装置310の概略機能ブロック図である。
 主制御部340は、サブルーチンとしてのブロック341~345に対するメインルーチンを実行する機能部である。データ3M0~3M3は、記憶部323内のデータ領域に格納される。
 ユーザインターフェイス(UI)部41は、主制御部340からの指示に応じた内容、例えばアプリケーションの機能選択画面を表示部332に表示させ、入力部330からの指示入力を受け付けてイベントを発生させる。これにより、ユーザインターフェイス(UI)部41は、入力内容、例えば選択された「カード登録」を、主制御部340に通知する。主制御部340は、「カード登録」の選択に応答して、カメラ331を動作させて、画像入力部342を介して、フレーム画像3M0を記憶部323内のバッファに一時保存させる。主制御部340は、グレースケール化部343を介して、RGB(赤、緑、青)のフレーム画像3M0をグレースケールのフレーム画像3M1に変換させ、変換させたグレースケールのフレーム画像3M1を記憶部323内のバッファに一時保存させる。
 上記バッファはいずれもダブルバッファであり、交互に選択される一方のバッファにおいて新しいフレーム画像で古いフレーム画像が上書きされるとともに、他方のバッファにおいて1つ前のフレーム画像3M0及びフレーム画像3M1が画像処理対象とされる。主制御部340は、UI部341を介して、フレーム画像3M0の更新毎に、フレーム画像3M0を表示部332に表示させる。
 主制御部340は、カード真偽判定部344を介して、フレーム画像3M0、3M1、ホログラム認識用情報3M2及びカード認識結果3M3の内容に基づいて、トレーディングカード311の真偽を判定する。カード認識結果3M3は、後述の、カード真偽判定部344による途中の処理結果である。主制御部340は、トレーディングカード311が真であるとカード真偽判定部344により判定された場合、その他の処理部345を介して、上述のように、サーバ316と通信を行ってトレーディングカード311のグラフィックデータ等を受信し、これをカードセットに追加する。
 図27は、図26のカード真偽判定部344による処理を示す概略フローチャートである。以下、括弧内は図中のステップ識別符号である。
 (S300)プロセッサ321は、以下で使用される変数及びカード認識結果3M3の内容を初期化する。
 (S301)プロセッサ321は、表示部332の画面の一部に、「トレーディングカードをカメラの正面にかざして下さい。」というテキストを表示させる。表示部332におけるテキストの表示は、次のテキストの表示まで維持される。
 (S302)プロセッサ321は、フレーム画像3M0、3M1を処理対象とする。
 (S303)プロセッサ321は、ホログラム認識用情報3M2を参照し、フレーム画像3M1からトレーディングカード311を認識し、カメラ331に対するトレーディングカード311の位置・姿勢を推定する。
 このホログラム認識用情報3M2は、間接的又は直接的にホログラム312を認識するための、図24に示すトレーディングカード311若しくは2次元コード313のサイズ情報又はホログラム312の枠のサイズ情報SIと、トレーディングカード311、2次元コード313又はホログラム312の枠に対するホログラム312の相対的な位置情報PIとを含んでいる。
 プロセッサ321は、サイズ情報SIと、画像上のトレーディングカード311、2次元コード313又はホログラム312の枠とを対応させて、トレーディングカード311の座標系を決定し、決定した座標系に対する移動端末装置310のカメラ331の位置・姿勢(カメラパラメータ)を推定する。これにより、プロセッサ321は、カメラ331に対するトレーディングカード311の位置・姿勢を求める。
 プロセッサ321は、カメラ331の光軸(Z軸)がトレーディングカード311の中央点を通っていると仮定し、前記位置・姿勢の姿勢を極座標(r,θ,φ)で表したときのθを、トレーディングカード311に対するカメラ331の角度として求める。換言すれば、ユーザに対し角度θのみが変化する方向に、トレーディングカード311は傾斜される。
 (S304)プロセッサ321は、ステップS303で、トレーディングカード311を認識でき且つトレーディングカード311の位置・姿勢を推定することができた場合、ステップS305へ処理を進める。プロセッサ321は、ステップS303で、トレーディングカード311を認識できず、トレーディングカード311の位置・姿勢を推定することができなかった場合、ステップS302へ処理を戻す。
 (S305)プロセッサ321は、ステップS304が初回であればステップS306へ処理を進める。プロセッサ321は、ステップS304が初回でなければステップS307へ処理を進める。
 (S306)プロセッサ321は、表示部332の画面の上記一部に、「トレーディングカードを傾斜させて下さい。」というテキストを表示させる。
 (S307)プロセッサ321は、今回ステップS304で肯定判定されたときのフレーム画像3M1についての角度θ=θcと、前回ステップS311でホログラム認識用情報3M2に保存された角度θpとの差Δθ=θc-θpが設定値A0を超えているか否かを判定する。プロセッサ321は、超えていると判定した場合、ステップS308へ処理を進める。プロセッサ321は、超えていないと判定した場合、ステップS302へ処理を戻す。
 (S308)プロセッサ321は、ホログラム認識用情報3M2を参照し、フレーム画像3M0からホログラム312の領域を抽出する。そのために、プロセッサ321は、フレーム画像3M0上のホログラム312の領域における4つのコーナー点を決定すればよい。
 (S309)図28A及び図28Bを参照して説明する。プロセッサ321は、領域350と、前回ステップS308で抽出し、ステップS311でカード認識結果3M3に保存した領域351とが、互いに同一矩形領域352、353になるように、領域350、351を図形変換する。換言すれば、プロセッサ321は、領域350、351を、補完法を用いて正規化する。プロセッサ321は、変換後の画素サイズを互いに同一にし、変換前と変換後とに対応する画素の値を同一にし、未定の画素値を補完法により決定する。なお、変換後の矩形領域352、353は、所定の正方形であってもよい。
 (S310)プロセッサ321は、矩形領域352及び矩形領域353のペアに基づいて、後述のように、ペア間の色差に関する評価値(スコア)SCを算出する。但し、プロセッサ321は、初回の場合、ペアが存在しないので、この処理をスルーする。
 (S311)プロセッサ321は、ステップS307で判定に用いた角度θcと、ステップS308で抽出した領域と、ステップS310で算出したスコアSCとを、カード認識結果3M3に保存する。プロセッサ321は、評価用画像枚数Nを1だけインクリメントする。このNは、ステップS300で0に初期化されている。
 (S312)プロセッサ321は、評価用画像枚数Nが設定値N0である場合、ステップS313へ処理を進める。プロセッサ321は、評価用画像枚数Nが設定値N0でない場合、ステップS302へ処理を戻す。
 (S313)プロセッサ321は、ステップS311でカード認識結果3M3に保存された全てのスコアSCの平均値SCmを算出する。
 (S314)プロセッサ321は、スコア平均値SCmが設定値SC0を超えている場合、トレーディングカード311は真であると判定する。プロセッサ321は、スコア平均値SCmが設定値SC0を超えていない場合、トレーディングカード311は偽と判定する。
 次に、図27のステップS310の処理の詳細を、図28C及び図28D並びに図29を参照して説明する。
 (S320)プロセッサ321は、図28C及び図28Dに示す、ステップS309で正規化された両矩形領域352、353の全カラー画素について、互いに対応する位置のペア毎に、以下のステップS321~S325の処理を行う。
 (S321)プロセッサ321は、カラー画素354及びカラー画素355のR(赤)G(緑)B(青)値をYUV値のUVに変換する。ここにYは輝度であり、U及びVはそれぞれ(B-Y)及び(R-Y)を定数倍した色差である。
 (S322)プロセッサ321は、次式で表される色変化量Dを算出する。
 D=(カラー画素354のU-カラー画素355のU) 2+(カラー画素354のV-カラー画素355のV) 2
   (S323)プロセッサ321は、色変化量Dが設定値D0を超えている場合(又は設定範囲内である場合)、ステップS324へ処理を進める。プロセッサ321は色変化量Dが設定値D0を超えていない場合(又は設定範囲内でない場合)、ステップS325へ処理を進める。
 (S324)プロセッサ321は、カウンタCを1だけインクリメントする。カウンタCは、ステップS300で0に初期化されている。
 (S325)プロセッサ321は、全ピクセルについて処理が終わっていない場合、ステップS320へ処理を戻して、カラー画素354及びカラー画素355を次のカラー画素に更新する。プロセッサ321は、全ピクセルについて処理が終わっている場合、ステップS326へ処理を進める。
 (S326)プロセッサ321は、スコアSC=k*C/C0を算出する。ここにkは、k>1なる整数、例えば255であり、C0は矩形領域352の全画素数である。
 以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
 例えば、移動端末装置310は、図24におけるトレーディングカード311が2次元コード313を備えていない場合、その替わりに、トレーディングカード311上の画像の所定領域の自然特徴点を取得してもよい。移動端末装置310は、それぞれの自然特徴点を中心とする局所領域の特徴量(局所特徴量)のセットを、トレーディングカード311のID情報としてサーバ316に送信し、サーバ316に登録されたトレーディングカード311のID情報と最も類似するものに対応したトレーディングカード311のIDを取得するようにしてもよい。
 また、色変化量Dは、HSV色空間の色相Hを用いて、
 D=(カラー画素354のH-カラー画素355のH)
と表してもよいし、これらのいずれかのDの関数であってもよい。
 また、ユーザに対しカード11を傾斜させる方向を上記の場合の方向と直角をなす方向にして、角度θの代わりに角度φが用いられてもよい。
 ステップS307において、プロセッサ321は、ループ処理の都度、位置・姿勢の姿勢の角度変化が設定値A0を超えているか否かを判定する。しかし、ステップS307において、プロセッサ321は、カメラ331に対するトレーディングカード311の角度に対応する複数の設定値を設定しておいて、ループ処理の都度、位置・姿勢の姿勢の角度変化がそれぞれの設定値を超えているか否かを判定してもよい。
 10          画像処理装置
 23          記憶装置
 24          入力インターフェイス
 25          カメラインターフェイス
 26          ディスプレイインターフェイス
 27          通信部
 30          入力装置
 31          カメラ
 32          表示装置
 33          アンテナ
 4i          画像入力部
 40          主処理部
 41          グレースケール化部
 42          参照マップ作成部
 43          特徴点検出部
 44          アフィン変換部
 45          特徴ベクトル化部
 46          マッチング部
 47          カメラパラメータ推定部
 48          オーバーレイ部
 49          画像出力部
 50          テンプレート画像設定部
 51          テンプレートマッチング部
 Mi、M0       バッファ領域
 M1          2次元座標群
 M2          局所領域画像群
 M3          特徴ベクトル群
 M4          参照マップ
 M5          3次元/2次元座標対
 M6          3次元モデル
 M7          カメラパラメータ行列
 M8          重畳画像
 Ri、Sj、Pi、Qj 画素
 210         画像処理装置
 220         本体部
 221         プロセッサ
 222         バス
 223         記憶装置
 224         入力インターフェイス
 225         カメラインターフェイス
 226         ディスプレインターフェイス
 227         通信部
 230         入力装置
 231         カメラ
 232         表示装置
 233         アンテナ
 24i         画像入力部
 240         主処理部
 241         グレースケール化部
 242         参照データ作成部
 243         特徴点検出部
 244         アフィン変換部
 245         局所特徴ベクトル生成部
 246         マッチング部
 247         フレーム画像ID推定部
 248         フレーム画像IDの情報出力部
 2340、2350、236、2380 第1特徴点
 2341~2344、2351、237、2381 第2特徴点
 2352、2C1    第1サンプリング円
 2353、2C2    第2サンプリング円
 P0~Pf、Q0~Qf 領域
 2Mi、2M0     バッファ領域
 2M1         2次元座標記憶部
 2M2         局所領域画像記憶部
 2M3         局所特徴ベクトル記憶部
 2M4         参照データ記憶部
 2M5         フレーム画像IDヒストグラム記憶部
 310         移動端末装置
 311         トレーディングカード
 312         ホログラム
 313         2次元コード
 314         基地局
 315         ネットワーク
 316         サーバ
 320         本体部
 321         プロセッサ
 322         バス
 323         記憶部
 324         入力インターフェイス
 325         カメラインターフェイス
 326         ディスプレインターフェイス
 327         ネットワークアダプタ
 330         入力部
 331         カメラ
 332         表示部
 333         アンテナ
 340         主制御部
 341         UI部
 342         画像入力部
 343         グレースケール化部
 344         カード真偽判定部
 345         その他の処理部
 350、351     領域
 352、353     矩形領域
 354、355     カラー画素
 3M0、3M1     フレーム画像
 3M2         ホログラム認識用情報
 3M3         カード認識結果

Claims (20)

  1.  カメラと、該カメラで撮像されたフレーム画像と参照マップとプログラムとが格納された記憶装置と、プロセッサと、出力装置とを備え、該参照マップは複数の特徴点のそれぞれについて特徴点の第1座標系内座標と回転不変性特徴ベクトルとを含み、該プログラムは該プロセッサに対し、
     (a)グレースケールの該フレーム画像又は該フレーム画像をグレースケール化した画像である輝度画像に対しFASTコーナー検出法により特徴点の輝度画像上第2座標系内座標を検出させ、
     (b)検出された各特徴点を中心とする局所領域の輝度配向を求めさせ、
     (c)該輝度配向を基準として該局所領域の回転不変性特徴ベクトルを求めさせ、
     (d)求めた該回転不変性特徴ベクトルと該参照マップ内の回転不変性特徴ベクトルとのマッチングにより、該参照マップ内の対応する特徴点座標を取得させ、
     (e)処理(d)で取得した複数の特徴点座標に関する情報を該出力装置に供給する、画像処理装置において、該プログラムは該プロセッサに対し、処理(c)において、
     該特徴点を中心とする第1の半径の円周上の画素のうち等画素間隔のn個の画素Pi、i=0~n-1の輝度I(Pi)及び該特徴点を中心とする、該第1の半径より大きい第2の半径の円周上の画素のうち等画素間隔のm≧nなるm個の画素Qj、j=0~2m-1の輝度I(Qj)を、該輝度配向を基準として所定順にサンプリングさせるとともに、この順に対応した全サンプル画素の組み合わせ(Pi,Qj)のそれぞれの両画素の輝度値の差を成分とするnxm次元のベクトルを求めさせ、
     該ベクトルのノルムを所定値に正規化したものを、該回転不変性特徴ベクトルとして求めさせる、
     ことを特徴とする画像処理装置。
  2.  該プログラムは該プロセッサに対し、処理(b)において、
     該特徴点を中心とする第3の半径の円周上の画素のうち等画素間隔のp個の画素Ri、i=0~p-1及び該特徴点を中心とする、該第3の半径より大きい第4の半径の円周上の画素のうち等画素間隔のq≧pなるq個の画素Sj、j=0~q-1の全組み合わせ(Ri,Sj)について、該組み合わせの両画素の輝度値I(Ri)とI(Sj)との差に、該画素Riと該画素Sjとの一方から他方への正規化された方位ベクトルを乗じたものの総和のベクトルの方向を、該輝度配向として求めさせる、
     ことを特徴とする請求項1に記載の画像処理装置。
  3.  該第3の半径は該第1の半径に等しく3画素又は4画素であり、該第4の半径は該第2の半径に等しく、n及びmの値の組(n,m)は、(8,8)、(8,16)又は(16,16)であることを特徴とする請求項2に記載の画像処理装置。
  4.  該記憶装置にはさらに、被合成対象である3次元モデル、画像又は情報が格納され、
     該プログラムは該プロセッサに対し処理(e)において、
     処理(b)で検出された特徴点の座標とこれに対応する、処理(d)で取得した座標とを、3組以上対応させて、該第1座標系の座標を該第2座標系の座標に変換するパラメータを推定させ、該パラメータに基づき該被合成対象を該フレーム画像に投影させ、該投影されたフレーム画像を含む画像のデータを、該複数の特徴点座標に関する情報として該出力装置に供給させる、
     ことを特徴とする請求項1乃至3のいずれか1つに記載の画像処理装置。
  5.  該参照マップはさらに、特徴点毎の特徴点IDと、回転不変性特徴ベクトルを入力とし特徴点IDを出力とするランダムフォレスト識別器とを有し、
     該参照マップに含まれる回転不変性特徴ベクトルは、各特徴点について、互いに異なる複数のカメラ視点のそれぞれに対応した特徴ベクトルをマッチング対象として含み、
     処理(d)では、求めた該回転不変性特徴ベクトルを該識別器に入力して特徴点IDを推定させ、該特徴点IDに対応した、該参照マップ内の特徴点座標を取得させ、ランザックにより、マッチング外れに対応した特徴点の座標を、該取得した特徴点座標から除外することにより、該マッチングを行う、
     ことを特徴とする請求項1乃至4のいずれか1つに記載の画像処理装置。
  6.  プロセッサが請求項1乃至5のいずれか1つに記載の画像処理装置の該プログラムを実行することを特徴とする画像処理方法。
  7.  請求項1乃至5のいずれか1つに記載の画像処理装置の該プログラムを有することを特徴とする画像処理プログラム。
  8.  プロセッサと、データ及びプログラムが格納される記憶装置とを備え、該データは濃淡画像を含み、該プログラムは該プロセッサに対し該データに含まれる複数の局所特徴量を生成させる特徴ベクトル生成プログラムを含む画像処理装置において、
     該特徴ベクトル生成プログラムは該プロセッサに対し、
     (a)該濃淡画像に対しコーナポイントである特徴点の座標を検出させ、
     (b)検出された各特徴点である第1特徴点から近い順の所定数の第2特徴点のそれぞれと該第1特徴点とのペア特徴点を選択させ、
     (c)各ペア特徴点について、該第1特徴点と該第2特徴点との間の距離Lを求めさせ、
     (d)該第1特徴点を中心とし該距離Lに比例した第1半径の円周上の画素のうち等画素間隔のn個(n≧4)の画素のそれぞれを含む画素領域Pi、i=0~n-1の平均第1輝度I(Pi)を、該距離Lの線方向を基準として所定順にサンプリングさせ、それぞれと該第1特徴点を含む画素領域の輝度との差と、
     該第2特徴点を中心とし該距離Lに比例した第2半径の円周上の画素のうち等画素間隔のm個(m≧4)の画素のそれぞれを含む画素領域Qi、i=0~m-1の平均第2輝度I(Qj)を、該距離Lの線方向を基準として所定順にサンプリングさせ、それぞれと該第2特徴点を含む画素領域の輝度との差と、
     を成分とする、正規化された局所特徴ベクトルを求めさせ、
     該画素領域の画素数の平方根は該距離Lに略比例している
     ことを特徴とする画像処理装置。
  9.  m及びnはいずれも8、16又は32である
     ことを特徴とする請求項8に記載の画像処理装置。
  10.  カメラをさらに備え、
     該濃淡画像は、該カメラで撮像されたフレーム画像をグレースケール化した画像である
     ことを特徴とする請求項8又は9に記載の画像処理装置。
  11.  該データはさらに、各参照濃淡画像について、該特徴ベクトル生成プログラムで生成した局所特徴ベクトルを参照局所特徴ベクトルとしてクラスIDと対応付けたものと該参照濃淡画像に関する情報とを含み、該プログラムはさらに画像検索プログラムを含み、
     該画像検索プログラムは、該プロセッサに対し、
     (e)検索濃淡画像に対しステップ(d)で求めた各局所特徴ベクトルについて、該局所特徴ベクトルに対応する、該参照データ内のクラスIDを、該局所特徴ベクトルと該参照データ内の参照局所特徴ベクトルとのマッチングにより決定させ、該クラスIDが属する参照濃淡画像のカウンタをインクリメントさせ、
     (f)カウンタ値が最大の参照濃淡画像に関する、該参照データ内の情報を、該検索濃淡画像の情報として出力させる、
     ことを特徴とする画像処理装置。
  12.  該画像検索プログラムは、該プロセッサに対し、ステップ(e)において、局所特徴ベクトルを入力としクラスIDを出力とする識別器により、該クラスIDを決定させる、
     ことを特徴とする請求項11に記載の画像処理装置。
  13.  拡張現実表示装置である
     ことを特徴とする請求項8又は9に記載の画像処理装置。
  14.  請求項8乃至13のいずれか1つに記載の画像処理装置を構成するプログラム。
  15.  プロセッサと、プログラム及びホログラム認識用情報が格納される記憶装置と、カメラと、表示装置と、指示入力手段とを備え、該プログラムは該プロセッサに対し、該指示入力手段からの指示入力に応答して、該カメラで被写体を撮像させてその画像データを該記憶装置に格納させるとともに該表示装置に表示させ、該画像データと該ホログラム認識用情報とに基づいて、該カメラに対する、ホログラムが貼着されたゲーム用カードの相対的な位置・姿勢を認識させるカメラ付き移動端末装置であって、
     該プログラムは該プロセッサに対しさらに、
     (a)該ホログラム認識用情報と該位置・姿勢とに基づいて推定される画像データ上ホログラム領域を抽出させ、
     (b)該位置・姿勢の姿勢の角度変化が設定値を超える毎に、該ホログラム領域の色の変化の評価値を求めさせ、
     (c)該評価値の平均値に基づいて、該ゲーム用カードの真偽を判定させる、
     ことを特徴とするカメラ付き移動端末装置。
  16.  該プログラムは該プロセッサに対しさらに、ユーザに対し該カメラの正面にかざしたゲーム用カードを傾斜させる指示を、該表示装置に表示させる、
     ことを特徴とする請求項15に記載のカメラ付き移動端末装置。
  17.  該プログラムは該プロセッサに対しステップ(b)において、
     該角度変化が設定値を超える毎の、時間的に隣り合う2つの該ホログラム領域の対応するカラー画素の色変化量が所定値を超えているものをカウントさせ、該ホログラム領域の全画素数に対するカウント値の比に対応した値を該評価値として求めさせる、
     ことを特徴とする請求項15又は16に記載のカメラ付き移動端末装置。
  18.  該プログラムは該プロセッサに対しステップ(b)において、該時間的に隣り合う2つの該ホログラム領域のサイズが互いに同一になるように補完法で正規化した後に、該対応するピクセルの色変化量を求めさせる、
     ことを特徴とする請求項17に記載のカメラ付き移動端末装置。
  19.  スマートフォン又はハンドヘルドゲーム機であることを特徴とする請求項15乃至18のいずれか1つに記載のカメラ付き移動端末装置。
  20.  請求項15乃至19のいずれか1つに記載のカメラ付き移動端末装置を構成するプログラム。
PCT/JP2013/083531 2012-12-14 2013-12-13 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置 WO2014092193A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014552105A JP6332865B2 (ja) 2013-05-28 2013-12-13 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2012-272980 2012-12-14
JP2012272980A JP5500400B1 (ja) 2012-12-14 2012-12-14 画像処理装置、画像処理方法及び画像処理プログラム
JP2013-112323 2013-05-28
JP2013112323A JP5500404B1 (ja) 2013-05-28 2013-05-28 画像処理装置及びそのプログラム
JP2013205806 2013-09-30
JP2013-205806 2013-09-30

Publications (1)

Publication Number Publication Date
WO2014092193A1 true WO2014092193A1 (ja) 2014-06-19

Family

ID=50934472

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/083531 WO2014092193A1 (ja) 2012-12-14 2013-12-13 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置

Country Status (1)

Country Link
WO (1) WO2014092193A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016033776A (ja) * 2014-07-31 2016-03-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 大規模画像データベースの高速検索手法
WO2017094761A1 (ja) * 2015-11-30 2017-06-08 凸版印刷株式会社 識別方法、ならびに識別媒体
CN110298785A (zh) * 2019-06-29 2019-10-01 北京字节跳动网络技术有限公司 图像美化方法、装置及电子设备
EP3575884A1 (en) * 2018-05-31 2019-12-04 Thales Dis France SA Method to remotely authenticate an official document
CN110543798A (zh) * 2019-08-12 2019-12-06 阿里巴巴集团控股有限公司 二维码的识别方法及装置
CN111507119A (zh) * 2019-01-31 2020-08-07 北京骑胜科技有限公司 标识码识别方法、装置、电子设备及计算机可读存储介质
CN111657858A (zh) * 2019-03-07 2020-09-15 株式会社日立制作所 图像诊断装置、图像处理方法和程序
CN112084363A (zh) * 2020-08-31 2020-12-15 广东小天才科技有限公司 一种适用于图搜的图像处理方法、电子设备及存储介质
CN113192003A (zh) * 2021-03-26 2021-07-30 宁波大学 一种拼接图像质量评价方法
US20220187092A1 (en) * 2019-05-06 2022-06-16 Samsung Electronics Co., Ltd. Electronic device for acquiring location information on basis of image, and method for operating same
CN114972660A (zh) * 2022-08-01 2022-08-30 山东星绘时空智能科技有限公司 一种基于倾斜摄影的实景三维图核实分析系统
WO2022214001A1 (zh) * 2021-04-08 2022-10-13 北京字跳网络技术有限公司 视频防抖处理方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086926A (ja) * 2007-09-28 2009-04-23 Kddi Corp 画像認識方法および装置
JP2009259277A (ja) * 2009-08-03 2009-11-05 Mitsubishi Electric Corp 画像読取装置
JP2011008687A (ja) * 2009-06-29 2011-01-13 Sharp Corp 画像処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086926A (ja) * 2007-09-28 2009-04-23 Kddi Corp 画像認識方法および装置
JP2011008687A (ja) * 2009-06-29 2011-01-13 Sharp Corp 画像処理装置
JP2009259277A (ja) * 2009-08-03 2009-11-05 Mitsubishi Electric Corp 画像読取装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUICHI YOSHIDA ET AL.: "Realtime mobile AR with fast object recognition framework", INTERACTION 2011 YOKOSHU, 11 March 2011 (2011-03-11) *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016033776A (ja) * 2014-07-31 2016-03-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 大規模画像データベースの高速検索手法
US10482370B2 (en) 2015-11-30 2019-11-19 Toppan Printing Co., Ltd. Identification method and identification medium
CN108292456A (zh) * 2015-11-30 2018-07-17 凸版印刷株式会社 识别方法以及识别介质
JPWO2017094761A1 (ja) * 2015-11-30 2018-09-27 凸版印刷株式会社 識別方法、ならびに識別媒体
EP3385924A4 (en) * 2015-11-30 2018-12-26 Toppan Printing Co., Ltd. Identification method and identification medium
WO2017094761A1 (ja) * 2015-11-30 2017-06-08 凸版印刷株式会社 識別方法、ならびに識別媒体
CN108292456B (zh) * 2015-11-30 2020-11-27 凸版印刷株式会社 识别方法以及识别介质
EP3575884A1 (en) * 2018-05-31 2019-12-04 Thales Dis France SA Method to remotely authenticate an official document
CN111507119B (zh) * 2019-01-31 2024-02-06 北京骑胜科技有限公司 标识码识别方法、装置、电子设备及计算机可读存储介质
CN111507119A (zh) * 2019-01-31 2020-08-07 北京骑胜科技有限公司 标识码识别方法、装置、电子设备及计算机可读存储介质
CN111657858A (zh) * 2019-03-07 2020-09-15 株式会社日立制作所 图像诊断装置、图像处理方法和程序
CN111657858B (zh) * 2019-03-07 2023-08-01 株式会社日立制作所 图像诊断装置、图像处理方法和存储介质
US20220187092A1 (en) * 2019-05-06 2022-06-16 Samsung Electronics Co., Ltd. Electronic device for acquiring location information on basis of image, and method for operating same
CN110298785A (zh) * 2019-06-29 2019-10-01 北京字节跳动网络技术有限公司 图像美化方法、装置及电子设备
CN110543798B (zh) * 2019-08-12 2023-06-20 创新先进技术有限公司 二维码的识别方法及装置
CN110543798A (zh) * 2019-08-12 2019-12-06 阿里巴巴集团控股有限公司 二维码的识别方法及装置
CN112084363A (zh) * 2020-08-31 2020-12-15 广东小天才科技有限公司 一种适用于图搜的图像处理方法、电子设备及存储介质
CN113192003A (zh) * 2021-03-26 2021-07-30 宁波大学 一种拼接图像质量评价方法
CN113192003B (zh) * 2021-03-26 2023-04-28 宁波大学 一种拼接图像质量评价方法
WO2022214001A1 (zh) * 2021-04-08 2022-10-13 北京字跳网络技术有限公司 视频防抖处理方法、装置、电子设备和存储介质
CN114972660A (zh) * 2022-08-01 2022-08-30 山东星绘时空智能科技有限公司 一种基于倾斜摄影的实景三维图核实分析系统
CN114972660B (zh) * 2022-08-01 2022-10-25 山东星绘时空智能科技有限公司 一种基于倾斜摄影的实景三维图核实分析系统

Similar Documents

Publication Publication Date Title
WO2014092193A1 (ja) 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置
US10319107B2 (en) Remote determination of quantity stored in containers in geographical region
US10607362B2 (en) Remote determination of containers in geographical region
Bi et al. Fast copy-move forgery detection using local bidirectional coherency error refinement
Aguilera et al. Learning cross-spectral similarity measures with deep convolutional neural networks
Luo et al. Spatio-temporal feature extraction and representation for RGB-D human action recognition
US20160012317A1 (en) Systems, methods, and devices for image matching and object recognition in images using template image classifiers
Deng et al. High-performance visual tracking with extreme learning machine framework
EP4085369A1 (en) Forgery detection of face image
Phimoltares et al. Face detection and facial feature localization without considering the appearance of image context
CN112686812A (zh) 银行卡倾斜矫正检测方法、装置、可读存储介质和终端
Biadgie et al. Feature detector using adaptive accelerated segment test
JP5500400B1 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
Iodice et al. Salient feature based graph matching for person re-identification
CN112149690A (zh) 一种基于生物图像特征识别的溯源方法和溯源系统
JP5500404B1 (ja) 画像処理装置及びそのプログラム
Donoser et al. Robust planar target tracking and pose estimation from a single concavity
JP6332865B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置
Rana et al. Learning-based adaptive tone mapping for keypoint detection
CN117437691A (zh) 一种基于轻量化网络的实时多人异常行为识别方法及系统
Zhang et al. Water reflection detection using a flip invariant shape detector
Dong et al. Superpixel-based local features for image matching
Mamalet et al. Embedded facial image processing with convolutional neural networks
Xu et al. Coin recognition method based on SIFT algorithm
Qiu et al. An adaptive kernel‐based target tracking method based on multiple features fusion

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13862311

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014552105

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13862311

Country of ref document: EP

Kind code of ref document: A1