(57)【要約】【課題】画像における被写体の動きや周囲の動きの影響を受けにくい特徴量を生成することができる技術を提供する。【解決手段】特徴点検出部10は、入力画像から特徴点を検出する。画素情報生成部30は、入力画像において特徴点の周辺の画素値から画素情報を生成する。特徴点画素情報分布生成部40は、特徴点を含む第1の領域の画素情報の第1の分布を生成する。サブ特徴点検出部50は、特徴点の周辺におけるサブ特徴点を検出する。サブ特徴点画素情報分布生成部60は、サブ特徴点を含む第2の領域の画素情報の第2の分布を生成する。特徴量生成部70は、第1の分布と第2の分布とに基づいて、特徴点における特徴量を生成する。【選択図】図１
2015035105.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から特徴点を検出する特徴点検出部と、
前記入力画像において前記特徴点の周辺の画素値から画素情報を生成する画素情報生成部と、
前記特徴点を含む第1の領域の前記画素情報の第1の分布を生成する特徴点画素情報分布生成部と、
前記特徴点の周辺における特徴点であるサブ特徴点を検出するサブ特徴点検出部と、
前記サブ特徴点を含む第2の領域の前記画素情報の第2の分布を生成するサブ特徴点画素情報分布生成部と、
前記第1の分布と前記第2の分布とに基づいて、前記特徴点における特徴量を生成する特徴量生成部と、
を具備することを特徴とする特徴量生成装置。
【請求項２】
前記サブ特徴点画素情報分布生成部は、前記サブ特徴点検出部が検出する前記サブ特徴点の数に応じて、前記第2の領域の分割数を決定し、分割後の領域数が決定した分割数となるように前記第2の領域を分割し、分割後の領域ごとに前記第2の分布を生成することを特徴とする請求項１に記載の特徴量生成装置。
【請求項３】
前記サブ特徴点画素情報分布生成部は、前記サブ特徴点検出部が検出する前記サブ特徴点の数に応じて、前記第2の領域の分割サイズを決定し、分割後の領域のサイズが決定した分割サイズとなるように前記第2の領域を分割し、分割後の領域ごとに前記第2の分布を生成することを特徴とする請求項１に記載の特徴量生成装置。
【請求項４】
前記サブ特徴点検出部は、前記特徴点検出部が検出した前記特徴点の特徴評価値よりも特徴評価値が低い点を前記サブ特徴点の候補とすることを特徴とする請求項１に記載の特徴量生成装置。
【請求項５】
前記サブ特徴点検出部は、前記サブ特徴点の候補の中で、特徴評価値が所定値よりも高い1つもしくは複数の点を前記サブ特徴点と決定することを特徴とする請求項４に記載の特徴量生成装置。
【請求項６】
前記特徴量生成部は、前記第1の分布と、複数の前記サブ特徴点の各々の特徴評価値に基づく順番で複数の前記サブ特徴点の各々に係る前記第2の分布を並べた分布とを組み合わせた集合を前記特徴点における特徴量とすることを特徴とする請求項１に記載の特徴量生成装置。
【請求項７】
前記画素情報生成部は、前記入力画像において前記特徴点の周辺の画素値の勾配の角度と長さを含む勾配ベクトルを前記画素情報として生成することを特徴とする請求項１に記載の特徴量生成装置。
【請求項８】
前記サブ特徴点画素情報分布生成部は、前記画素情報生成部が生成した勾配ベクトルのうち、前記第2の領域の画素の前記勾配ベクトルを要素とし、角度に対する長さの累計の分布を示すヒストグラムを前記第2の分布として生成することを特徴とする請求項７に記載の特徴量生成装置。
【請求項９】
前記特徴点画素情報分布生成部は、前記画素情報生成部が生成した勾配ベクトルのうち、前記第1の領域の画素の前記勾配ベクトルを要素とし、角度に対する長さの累計の分布を示すヒストグラムを前記第1の分布として生成することを特徴とする請求項８に記載の特徴量生成装置。
【請求項１０】
前記画素情報生成部は、前記入力画像の輝度値および色情報の少なくとも一方を前記画素値として用いて前記画素情報を生成することを特徴とする請求項１に記載の特徴量生成装置。
【請求項１１】
前記画素情報生成部は、RAW画像を前記入力画像として用いて前記画素情報を生成することを特徴とする請求項１に記載の特徴量生成装置。
【請求項１２】
前記入力画像において前記特徴点の周辺の各画素の画素値の勾配の角度に基づいて前記特徴点の主方向を算出し、当該主方向に応じて前記入力画像を回転する主方向調整部をさらに具備し、
前記画素情報生成部は、前記主方向調整部が回転した前記入力画像において前記特徴点の周辺の画素値から画素情報を生成する
ことを特徴とする請求項１に記載の特徴量生成装置。
【請求項１３】
入力画像から特徴点を検出するステップと、
前記入力画像において前記特徴点の周辺の画素値から画素情報を生成するステップと、
前記特徴点を含む第1の領域の前記画素情報の第1の分布を生成するステップと、
前記特徴点の周辺における特徴点であるサブ特徴点を検出するステップと、
前記サブ特徴点を含む第2の領域の前記画素情報の第2の分布を生成するステップと、
前記第1の分布と前記第2の分布とに基づいて、前記特徴点における特徴量を生成するステップと、
を具備することを特徴とする特徴量生成方法。
【請求項１４】
入力画像から特徴点を検出するステップと、
前記入力画像において前記特徴点の周辺の画素値から画素情報を生成するステップと、
前記特徴点を含む第1の領域の前記画素情報の第1の分布を生成するステップと、
前記特徴点の周辺における特徴点であるサブ特徴点を検出するステップと、
前記サブ特徴点を含む第2の領域の前記画素情報の第2の分布を生成するステップと、
前記第1の分布と前記第2の分布とに基づいて、前記特徴点における特徴量を生成するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の特徴点の特徴量を生成する技術に関する。
【背景技術】
【０００２】
画像上の特徴点は、一般に、画素構造がユニークな、対応のとりやすい点のことである。例えば、角や線の交わりが特徴点である。複数の画像間の特徴点同士のマッチング情報を用いた動体追跡や、カメラ位置推定、ステレオビジョン技術等が広く使われている。また、特徴量は、各特徴点の固有の値であり、マッチング時における特徴点同士の類似度の算出や画像認識に用いられる。
【０００３】
特徴量の算出方法として、特許文献1には、SIFT（Scale Invariant Feature Transformation）と称される方法が記載されている。これは、特徴点周囲の一定の領域内の画素の輝度勾配ベクトルの分布を示す128次元のベクトルを特徴量とする方法である。この方法により算出される特徴量は、画像の回転，スケール変化，照明変化に強い。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６７１１２９３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の方法では、常に特徴点近傍の一定の矩形領域の画素情報から特徴量が生成されている。このため、生成された特徴量は被写体の動きに弱く、矩形領域内の画素構造が変化すると、同じ特徴点における特徴量が大きく変化する。カメラ位置推定や動体追跡においては、被写体の動きや視点の変化が頻繁に起こる。このため、従来の方法では、複数の画像において同じ被写体の特徴点が、背景などの周囲の構造がわずかに変化することで同一点と見なされずに、マッチング精度が下がる可能性がある。
【０００６】
本発明は、上述した課題に鑑みてなされたものであって、画像における被写体の動きや周囲の動きの影響を受けにくい特徴量を生成することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するためになされたもので、入力画像から特徴点を検出する特徴点検出部と、前記入力画像において前記特徴点の周辺の画素値から画素情報を生成する画素情報生成部と、前記特徴点を含む第1の領域の前記画素情報の第1の分布を生成する特徴点画素情報分布生成部と、前記特徴点の周辺における特徴点であるサブ特徴点を検出するサブ特徴点検出部と、前記サブ特徴点を含む第2の領域の前記画素情報の第2の分布を生成するサブ特徴点画素情報分布生成部と、前記第1の分布と前記第2の分布とに基づいて、前記特徴点における特徴量を生成する特徴量生成部と、を具備することを特徴とする特徴量生成装置である。
【０００８】
また、本発明は、入力画像から特徴点を検出するステップと、前記入力画像において前記特徴点の周辺の画素値から画素情報を生成するステップと、前記特徴点を含む第1の領域の前記画素情報の第1の分布を生成するステップと、前記特徴点の周辺からサブ特徴点を検出するステップと、前記サブ特徴点を含む第2の領域の前記画素情報の第2の分布を生成するステップと、前記第1の分布と前記第2の分布とに基づいて、前記特徴点における特徴量を生成するステップと、を具備することを特徴とする特徴量生成方法である。
【０００９】
また、本発明は、入力画像から特徴点を検出するステップと、前記入力画像において前記特徴点の周辺の画素値から画素情報を生成するステップと、前記特徴点を含む第1の領域の前記画素情報の第1の分布を生成するステップと、前記特徴点の周辺からサブ特徴点を検出するステップと、前記サブ特徴点を含む第2の領域の前記画素情報の第2の分布を生成するステップと、前記第1の分布と前記第2の分布とに基づいて、前記特徴点における特徴量を生成するステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、特徴点を含む第1の領域の画素情報の第1の分布と、サブ特徴点を含む第2の領域の画素情報の第2の分布とに基づいて、特徴点における特徴量を生成することによって、画像における被写体の動きや周囲の動きの影響を受けにくい特徴量を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第1の実施形態による特徴量生成装置の構成を示すブロック図である。
【図２】本発明の第1の実施形態による特徴量生成装置の処理の手順を示すフローチャートである。
【図３】本発明の第1の実施形態における勾配ヒストグラムを生成する概念を示す参考図である。
【図４】本発明の第1の実施形態における注目特徴点とサブ特徴点を示す参考図である。
【図５】本発明の第1の実施形態による特徴量生成装置の構成を示すブロック図である。
【図６】本発明の第1の実施形態による特徴量生成装置の処理の手順を示すフローチャートである。
【図７】本発明の第2の実施形態において、サブ特徴点の数に応じて局所領域の数を変える場合の局所領域を示す参考図である。
【図８】本発明の第2の実施形態において、サブ特徴点の数に応じて局所領域のサイズを変える場合の局所領域を示す参考図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、本発明の実施形態を説明する。
【００１３】
（第1の実施形態）
まず、本発明の第1の実施形態を説明する。図1は、本実施形態による特徴量生成装置の構成を示している。図1に示す特徴量生成装置は、特徴点検出部10、主方向調整部20、画素情報生成部30、特徴点画素情報分布生成部40、サブ特徴点検出部50、サブ特徴点画素情報分布生成部60、特徴量生成部70を有する。
【００１４】
以下、各ブロックの機能を説明する。特徴量生成装置には、特徴量を生成する処理の対象である入力画像が外部から入力され、装置内の図示していないメモリに一時記憶される。各ブロックは、適宜、メモリに記憶された入力画像を用いて処理を行う。
【００１５】
特徴点検出部10は、入力画像から特徴点を検出する。より具体的には、特徴点検出部10は、入力画像を用いて、コーナーやエッジの強さを示す特徴評価値を算出し、算出した特徴評価値が高い点を特徴点として検出し、検出した特徴点の座標（以下、特徴点座標と記載）を出力する。
【００１６】
主方向調整部20は、入力画像において特徴点の周辺の各画素の画素値の勾配の角度に基づいて特徴点の主方向を算出し、当該主方向に応じて入力画像を回転し、回転画像を生成する。より具体的には、主方向調整部20は、特徴点検出部10が検出した特徴点座標付近の画素値の勾配の角度を算出し、算出した角度の中で多数を占める角度を主方向として検出する。さらに、主方向調整部20は、入力画像から特徴点座標を中心とする所定の大きさの領域を切り出し、検出した主方向の角度に応じて、切り出した領域の画像を回転させることにより回転画像を生成する。切り出す領域は、後段の特徴点画素情報分布生成部40、サブ特徴点画素情報分布生成部60が画素情報の分布を生成する際に使うデータを含む領域とする。
【００１７】
画素情報生成部30は、主方向調整部20が生成した回転画像において特徴点の周辺の画素値から画素情報を生成する。より具体的には、画素情報生成部30は、主方向調整部20が生成した回転画像において特徴点の周辺の画素値の勾配の角度と長さを含む勾配ベクトルを画素情報として生成する。画素情報は、このように、画素値の勾配の角度と長さなど、各画素の固有の情報である。画素情報生成部30は、主方向調整部20が生成した回転画像の輝度値および色情報（例えば色差情報Cr，Cb）の少なくとも一方を画素値として用いて画素情報を生成してもよい。また、画素情報生成部30は、撮像素子から出力された画像であるRAW画像を入力画像として用いて画素情報を生成してもよい。
【００１８】
特徴点画素情報分布生成部40は、特徴点を含む領域（第1の領域）の画素情報の分布（第1の分布）を生成する。より具体的には、特徴点画素情報分布生成部40は、特徴点座標を含む小領域内の画素情報に基づいて、特徴点における画素情報の分布を生成する。例えば、特徴点画素情報分布生成部40は、画素情報生成部30が生成した勾配ベクトルのうち、特徴点を含む領域の画素の勾配ベクトルを要素とし、角度に対する長さの累計の分布を示すヒストグラムを第1の分布として生成する。
【００１９】
サブ特徴点検出部50は特徴点の周辺におけるサブ特徴点を検出する。より具体的には、サブ特徴点検出部50は、主方向調整部20が生成した回転画像のうち、特徴点を中心とする所定の範囲内から、特徴点以外に特徴的な点であるサブ特徴点を検出し、検出したサブ特徴点の座標（以下、サブ特徴点座標と記載）を出力する。このとき、サブ特徴点検出部50は、特徴点検出部10が検出した特徴点の特徴評価値よりも特徴評価値が低い点をサブ特徴点の候補とする。また、サブ特徴点検出部50は、サブ特徴点の候補の中で、特徴評価値が所定値よりも高い1つもしくは複数の点をサブ特徴点と決定する。
【００２０】
サブ特徴点画素情報分布生成部60は、サブ特徴点を含む領域（第2の領域）の画素情報の分布（第2の分布）を生成する。より具体的には、サブ特徴点画素情報分布生成部60は、サブ特徴点座標を含む小領域内の画素情報に基づいて、各サブ特徴点における画素情報の分布を生成する。例えば、サブ特徴点画素情報分布生成部60は、画素情報生成部30が生成した勾配ベクトルのうち、サブ特徴点を含む領域の画素の勾配ベクトルを要素とし、角度に対する長さの累計の分布を示すヒストグラムを第2の分布として生成する。
【００２１】
特徴量生成部70は、特徴点の画素情報の分布と、サブ特徴点の画素情報の分布とに基づいて、特徴点における特徴量を生成する。より具体的には、特徴量生成部70は、特徴点の画素情報の分布とサブ特徴点の画素情報の分布とのそれぞれの要素を組み合わせた集合を、特徴点の特徴量として出力する。例えば、特徴量生成部70は、特徴点の画素情報の分布と、複数のサブ特徴点の各々の特徴評価値に基づく順番で複数のサブ特徴点の各々に係る画素情報の分布を並べた分布とを組み合わせた集合を特徴点における特徴量として出力する。
【００２２】
次に、図2を参照して、特徴量生成装置による特徴量生成処理について具体的に説明する。図2は、特徴量生成処理の手順を示している。特徴量生成装置は、入力画像が供給されて、特徴量の生成が指示されると、特徴量生成処理を開始する。
【００２３】
ステップS1において、処理が開始されると、ステップS2において、特徴点検出部10は、入力画像から特徴点の位置を検出する。例えば特徴点検出部10は、特徴の強さを示す特徴評価値を算出する方法（HarrisCornerDetecter等）を用い、特徴評価値が所定の閾値以上の点、あるいは、特徴評価値が上位から数えて所定数以内の点を特徴点として検出する。
【００２４】
続いて、ステップS3において、特徴点検出部10は、検出した特徴点の1つを選択し、選択した特徴点（以降、注目特徴点と記載）の座標を後段の主方向調整部20へ出力する。
【００２５】
続いて、注目特徴点の主方向を求める処理が行われる。主方向は、注目特徴点付近の画素の勾配の角度の中で多数を占める支配的な角度である。
【００２６】
より具体的には、ステップS4において、主方向調整部20は、注目特徴点付近の複数画素それぞれに対して輝度値の勾配の角度を算出する。なお、勾配の角度を生成するのに用いるデータは、輝度値に限らず、色情報や、RAW画像の画素値でもよい。座標位置(x,y)の画素の勾配の角度θ(x,y)は以下の(1)式で算出される。(1)式において、座標位置(x,y)の画素に隣接する画素の輝度値はI(x−1,y)、I(x＋1,y)、I(x,y−1)、I(x,y＋1)と表される。角度の基準方向は画像の上方向（Y方向）であり、左回りに角度が増加する。
【００２７】
【数１】
2015035105.tif 000003
【００２８】
続いて、ステップS5において、主方向調整部20は、ステップS4で生成した勾配の角度をビン（ヒストグラムの横軸）とし、勾配の角度の数を度数（ヒストグラムの縦軸）とするヒストグラムを生成し、生成したヒストグラムにおいて度数が最大となる勾配の角度を注目特徴点の主方向と決定する。
【００２９】
続いて、ステップS6において、主方向調整部20は、ステップS5で求めた主方向に基づいて入力画像を回転させる。より具体的には、主方向調整部20は、入力画像の注目特徴点を中心とする所定のサイズの領域を切り出し、注目特徴点を中心として、主方向の角度とは反対方向に主方向の角度の大きさだけ、切り出した領域を回転させて回転画像を生成する。回転後の回転画像における注目特徴点の主方向は画像の上方向となる。主方向調整部20は、回転画像を後段の画素情報生成部30、サブ特徴点検出部50へ出力する。画像を切り出す領域のサイズは、後段で画素情報の分布の生成に用いる領域が含まれるサイズである。例えば本実施形態では、回転画像を生成するために入力画像から切り出される領域は32画素×32画素の矩形領域である。
【００３０】
以上のステップS4〜S6の処理からなる主方向調整を行うことで、後段の画素情報生成部30が、被写体の回転に対して不変な画素情報を生成することができる。特徴点の主方向の角度に基づいて画像を回転させることで、回転後の特徴点の主方向は、被写体の回転によらず常に同じ方向を向く。後段の画素情報生成部30が生成する画素値の輝度勾配ベクトルは、主方向の角度に応じて回転した画像から生成されるため、輝度勾配ベクトルの角度は主方向とのなす角度（主方向を基準方向とする角度）になる。このため、被写体が回転した場合でも、同一の被写体であれば、輝度勾配ベクトルを構成する角度は常に同じ角度を示すことになる。これによって、被写体の回転による特徴量の変化を低減することができる。上記では被写体の回転を想定した説明を行ったが、画像を撮像した装置自体が回転する場合も、上記と同様に、その回転に応じた主方向調整が行われるため、装置自体の回転による特徴量の変化を低減することができる。
【００３１】
続いて、ステップS7において、画素情報生成部30は、ステップS6で生成された回転画像の輝度値に基づいて、輝度値の勾配ベクトルである輝度勾配ベクトルを生成する。座標位置(x,y)の輝度勾配ベクトルの長さNorm(x,y)と角度Gradient(x,y)はそれぞれ以下の(2)式、(3)式により算出される。(2)式、(3)式において、回転画像はRと表され、隣接する画素の輝度値はR(x−1,y)、R(x＋1,y)、R(x,y−1)、R(x,y＋1)と表される。また、角度は45度の倍数に量子化され、0度〜315度の45度刻みの8つの角度で表される。
【００３２】
【数２】
2015035105.tif 000004
【００３３】
続いて、ステップS8において、特徴点画素情報分布生成部40は、注目特徴点を含む小領域の輝度勾配ベクトルの分布を表すヒストグラム（以下、勾配ヒストグラムと記載）を生成する。小領域のサイズは、特徴点が識別できる範囲で小さめのサイズが望ましい。図3は、勾配ヒストグラムを生成する概念を示している。図3(a)は、ステップS6で生成された回転画像において、勾配ヒストグラムを生成する小領域R0の例を示している。図3(a)中の小さい丸印は画素を示している。本実施形態では、例えば図3(a)に示すように、勾配ヒストグラムを生成する小領域R0は、注目特徴点P0を中心とする12×12画素の矩形領域である。また、本実施形態では、小領域を16分割した3×3画素の領域が局所領域と定義される。
【００３４】
1つの局所領域につき、1つのヒストグラム（以下、局所ヒストグラムと記載）が生成される。この局所ヒストグラムは、局所領域中の輝度勾配ベクトルの角度に対する長さの累計を表す。図3(b)は、1つの局所領域内の各画素の輝度勾配ベクトルから生成された局所ヒストグラムの例を示している。図3(b)に示すように、局所ヒストグラムのビンは角度であり、度数は輝度勾配ベクトルの長さの累計である。輝度勾配ベクトルの角度は8方向の角度で表されているため、1つの局所ヒストグラムのビン数は8となる。同一の角度に対して複数の輝度勾配ベクトルの長さが対応する場合、その角度における局所ヒストグラムの度数は、複数の輝度勾配ベクトルの長さの累計（総和）である。
【００３５】
図3(c)は、勾配ヒストグラムの例を示している。特徴点画素情報分布生成部40は、16個の局所領域のそれぞれについて局所ヒストグラムを生成し、生成した16個の局所ヒストグラムを連結することにより注目特徴点の勾配ヒストグラムを生成する。1個の局所ヒストグラムのビン数は8であるので、図3(c)に示すように、ビン数8×16＝128のヒストグラムが注目特徴点の勾配ヒストグラムである。以上の処理により、注目特徴点の勾配ヒストグラムが完成する。
【００３６】
続いて、ステップS9において、サブ特徴点検出部50は、サブ特徴点を検出する。サブ特徴点は、注目特徴点周辺の特徴的な点であり、サブ特徴点の数Nは本実施形態の例では2である。
【００３７】
より具体的には、サブ特徴点検出部50は、主方向調整部20が生成した回転画像における注目特徴点を中心とする所定の範囲内でサブ特徴点を検出する。検出方法には、HarrisCornerDetecterなどの特徴評価値算出方法が用いられる。サブ特徴点検出部50は、算出した特徴評価値が所定の閾値以上である点をサブ特徴点の候補とし、サブ特徴点の候補の中で特徴評価値が上位の点（1点または複数点）をサブ特徴点として選択する。
【００３８】
このとき設定される閾値は、例えば前述したステップS2で特徴点検出部10が用いる特徴評価値の閾値よりも低い閾値である。これによって、特徴評価値が低い点でもサブ特徴点となりうる。なぜなら、閾値が高いとサブ特徴点が検出されないことが考えられ、その場合、最終的な特徴量の次元数が少なくなり、特徴点の特性が出にくくなるためである。ただし、閾値を指定しない、もしくは閾値が低すぎる場合、特徴評価値が同程度の点が多く発生し、別の画像の同じ特徴点の特徴量を生成する際に、異なるサブ特徴点が選ばれて、特徴量が不安定になる可能性が高いため、所定以上の閾値を設けることが望ましい。本実施形態の例では、サブ特徴点は2点であり、特徴評価値が高い順にサブ特徴点に1〜2の番号が付与される。
【００３９】
続いて、ステップS10において、図示していない制御部が、処理を行うサブ特徴点の番号iの初期化を行う。すなわち、番号iの値が1に設定される。
【００４０】
続いて、ステップS11において、図示していない制御部が、i番目のサブ特徴点の有無を判断する。i番目のサブ特徴点が存在する場合には、処理がステップS12に進む。
【００４１】
ステップS12において、サブ特徴点画素情報分布生成部60は、画素情報生成部30が生成した輝度勾配ベクトルを用いて、i番目のサブ特徴点の勾配ヒストグラムを生成する。この勾配ヒストグラムの生成は、i番目のサブ特徴点座標を中心とする小領域に対して、前述したステップS8で勾配ヒストグラムを生成する方法と同様の方法で行われる。
【００４２】
図4は、回転画像上の注目特徴点とサブ特徴点の例を示している。図4中の小さい丸印は画素を示している。回転画像Img1の中央に注目特徴点P0が設定され、注目特徴点P0の周辺に2点のサブ特徴点P1，P2が設定されている。注目特徴点P0を含む12×12画素の矩形領域が、勾配ヒストグラムを生成するのに用いる小領域R0である。同様に、サブ特徴点P1，P2を含む12×12画素の矩形領域がそれぞれ、勾配ヒストグラムを生成するのに用いる小領域R1，R2である。小領域R0，R1，R2のそれぞれを16分割した、破線で示される領域が局所領域である。ステップS12では、サブ特徴点それぞれについて、注目特徴点と同様に、サブ特徴点を含む小領域の輝度勾配ベクトルの勾配ヒストグラムが生成される。
【００４３】
ステップS11において、サブ特徴点の検出を行った範囲内に特徴評価値が閾値以上の点がなく、i番目のサブ特徴点が存在しない場合、処理はステップS13に進む。ステップS13において、サブ特徴点画素情報分布生成部60は、度数がすべて0の勾配ヒストグラムを生成する。もしくは、存在しないサブ特徴点の勾配ヒストグラムを生成せずに、ステップS8で生成した特徴点の勾配ヒストグラムを最終的な注目特徴点の特徴量としてもよい。i番目のサブ特徴点の勾配ヒストグラムが完成した後、処理はステップS14に進む。
【００４４】
ステップS14において、図示していない制御部は、すべてのサブ特徴点の処理が終了したか否かを判断する。サブ特徴点の処理が終了していない場合、処理はステップS15に進む。ステップS15において、図示していない制御部は、処理するサブ特徴点の番号iをインクリメント（1増加）する。この後、処理はステップS11に戻り、次のサブ特徴点の勾配ヒストグラムの生成処理が行われる。すべてのサブ特徴点の処理が終了した場合、処理はステップS16に進む。
【００４５】
ステップS16において、特徴量生成部70は、注目特徴点の勾配ヒストグラムと2つのサブ特徴点の勾配ヒストグラムとを並べてそれらを連結し、ビン数128×3＝384のヒストグラムを生成する。このとき、例えば注目特徴点の勾配ヒストグラムの後に2つのサブ特徴点の勾配ヒストグラムが並べられる。また、サブ特徴点の勾配ヒストグラムは、例えばサブ特徴点の各々の特徴評価値に基づく順番（例えば、特徴評価値が高い順）に並べられる。特徴評価値が高い順にヒストグラムを並べることで、別の画像から同じ特徴点の特徴量を生成する場合も、ヒストグラムが同じ順序で並びやすいため、特徴量が安定する。
【００４６】
以上の方法で生成したビン数384のヒストグラムが注目特徴点の特徴量となり、1つの特徴点の特徴量生成処理が完了する。続いて、ステップS17において、図示していない制御部は、ステップS2〜S16の処理をすべての特徴点に対して行ったか否かを判断する。ステップS2〜S16の処理を行っていない特徴点がある場合、処理はステップS3に戻り、次の特徴点に対してステップS2〜S16の処理が行われる。すべての特徴点の処理が完了した場合、ステップS18において、特徴量生成処理が終了する。
【００４７】
上記の例では、2点のサブ特徴点が検出されるが、1点のみのサブ特徴点が検出されてもよいし、3点以上のサブ特徴点が検出されてもよい。
【００４８】
以上のように、狭い範囲のデータを用いて生成した特徴量を複数組み合わせて1つの特徴量とすることで、注目する特徴点の周りに変化があった場合でも、特徴量の変化量を抑えることができる。
【００４９】
本実施形態による特徴量生成装置を構成する各ブロックの機能は、例えば図示していないROMに記憶されているプログラムを、特徴量生成装置のコンピュータ（CPU）が読み込んで実行することにより、ソフトウェアの機能として実現してもよい。また、このプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により特徴量生成装置に伝送されることで特徴量生成装置に入力されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる、いわゆる差分ファイル（差分プログラム）であってもよい。
【００５０】
上記の説明では、特徴量生成装置が主方向調整部20を有しているが、特徴量生成装置が主方向調整部20を有していなくてもよい。図5は、本実施形態による特徴量生成装置の変形例の構成を示している。図5に示す特徴量生成装置は、特徴点検出部10、画素情報生成部30、特徴点画素情報分布生成部40、サブ特徴点検出部50、サブ特徴点画素情報分布生成部60、特徴量生成部70を有する。
【００５１】
特徴点検出部10が検出した特徴点の座標（特徴点座標）は画素情報生成部30、サブ特徴点検出部50に出力される。画素情報生成部30は、入力画像において特徴点の周辺の画素値から画素情報を生成する。サブ特徴点検出部50は、入力画像において特徴点の周辺からサブ特徴点を検出する。画素情報生成部30、サブ特徴点検出部50が回転画像ではなく入力画像に対して処理を行うことを除いて、図5に示す特徴量生成装置が行う処理は、図1に示す特徴量生成装置が行う処理と同様である。
【００５２】
図6は、図5に示す特徴量生成装置が行う特徴量生成処理の手順を示している。図2に示した処理におけるステップS4〜S6の処理が削除され、ステップS7の処理がステップS7’の処理に変更されている。図6に示す処理では、ステップS3で特徴点が選択された後、ステップS7’において、画素情報生成部30は、入力画像の輝度値から輝度勾配ベクトルを生成する。上記以外については、図2に示した処理と同様である。
【００５３】
図5に示す特徴量生成装置は、被写体の回転または装置自体の回転による特徴量の変化を低減する処理（図2のステップS4〜S6の処理）を行わないが、回転以外については、画像における被写体の動きや周囲の動きの影響を受けにくい特徴量を生成することができる。
【００５４】
上述したように、本実施形態によれば、特徴点を含む小領域（第1の領域）の画素情報の分布（第1の分布）である特徴点の勾配ヒストグラムと、サブ特徴点を含む小領域（第2の領域）の画素情報の分布（第2の分布）であるサブ特徴点の勾配ヒストグラムとに基づいて、特徴点における特徴量を生成することによって、画像における被写体の動きや周囲の動きの影響を受けにくい、ロバストな特徴量を生成することができる。
【００５５】
また、特徴点の特徴評価値よりも特徴評価値が低い点をサブ特徴点の候補とすることによって、強い特徴点が少ない領域でもサブ特徴点が検出できるようになるため、特徴量の情報が減ることを防ぐことができる。
【００５６】
また、サブ特徴点の候補の中で、特徴評価値が所定値よりも高い1つもしくは複数の点をサブ特徴点と決定することによって、より強いサブ特徴点が選択されるため、最終的な特徴量の個性が強くなる。このため、別の画像で同じ特徴点の特徴量を生成する際に、同じサブ特徴点が検出される可能性が高くなり、特徴量の安定性が上がる。
【００５７】
また、特徴点の勾配ヒストグラムと、複数のサブ特徴点の各々の特徴評価値に基づく順番で複数のサブ特徴点の各々に係る勾配ヒストグラムを並べたものとを組み合わせた集合を特徴点における特徴量とすることによって、別の画像においてサブ特徴点の位置関係が変わった場合でも、写っている点が同じであれば、特徴量における勾配ヒストグラムの順番は同じとなる。このため、周囲の動きに対してロバストな特徴量を生成することができる。
【００５８】
また、入力画像において特徴点の周辺の画素値の勾配の角度と長さを含む勾配ベクトルを画素情報として生成することによって、照明の変化にロバストな特徴量を生成することができる。
【００５９】
また、画素情報生成部30が生成した勾配ベクトルのうち、サブ特徴点を中心とする小領域の画素の勾配ベクトルを要素とし、角度に対する長さの累計の分布を示す勾配ヒストグラムを生成することによって、照明変化にロバストなサブ特徴点の情報を含んだ特徴量を生成することができる。
【００６０】
また、画素情報生成部30が生成した勾配ベクトルのうち、特徴点を中心とする領域の画素の勾配ベクトルを要素とし、角度に対する長さの累計の分布を示すヒストグラムを生成することによって、照明変化にロバストな特徴点の情報を含んだ特徴量を生成することができる。
【００６１】
また、画素情報を生成する際の画素値として輝度情報のみを用いることで、色が同じ場合でも明るさの違う特徴点の特性が反映された特徴量を、少ないデータ量で生成することができる。また、画素情報を生成する際の画素値として色情報のみを用いることで、輝度が同じ場合でも色変化のある特徴点の特性が反映された特徴量を、少ないデータ量で生成することができる。また、画素情報を生成する際の画素値として輝度情報と色情報を用いることで、色情報も輝度情報も加味した特徴量を生成することができる。
【００６２】
また、RAW画像を入力画像として用いて画素情報を生成することによって、少ないデータ量で、色情報も輝度情報も加味した集合を探索することができる。
【００６３】
また、入力画像において特徴点の周辺の各画素の画素値の勾配の角度に基づいて特徴点の主方向を算出し、当該主方向に応じて入力画像を回転することによって、被写体の回転や装置自体の回転に対してロバストな特徴量を生成することができる。
【００６４】
（第2の実施形態）
次に、本発明の第2の実施形態を説明する。本実施形態による特徴量生成装置の構成は、図1に示す特徴量生成装置の構成と同様である。本実施形態では、勾配ヒストグラムを生成する際の局所領域の数やサイズは可変である。
【００６５】
例えば、サブ特徴点画素情報分布生成部60は、サブ特徴点検出部50が検出するサブ特徴点の数に応じて、サブ特徴点を中心とする小領域の分割数を決定し、分割後の領域数が決定した分割数となるように小領域を分割し、分割後の局所領域ごとにサブ特徴点の勾配ヒストグラムを生成する。あるいは、サブ特徴点画素情報分布生成部60は、サブ特徴点検出部50が検出するサブ特徴点の数に応じて、サブ特徴点を中心とする小領域の分割サイズを決定し、分割後の領域のサイズが決定した分割サイズとなるように小領域を分割し、分割後の局所領域ごとに勾配ヒストグラムを生成する。
【００６６】
また、特徴点画素情報分布生成部40は、サブ特徴点画素情報分布生成部60が決定した分割数に応じて、特徴点を中心とする小領域の分割数を決定する。より具体的には、特徴点画素情報分布生成部40は、特徴点を中心とする小領域の分割数を、サブ特徴点画素情報分布生成部60が決定した分割数と同じ数に決定する。
【００６７】
あるいは、特徴点画素情報分布生成部40は、サブ特徴点画素情報分布生成部60が決定した小領域の分割サイズに応じて、特徴点を中心とする小領域の分割サイズを決定する。より具体的には、特徴点画素情報分布生成部40は、特徴点を中心とする小領域の分割サイズを、サブ特徴点画素情報分布生成部60が決定した分割サイズと同じサイズに決定する。
【００６８】
図7は、サブ特徴点の数に応じて局所領域の数を変える場合の局所領域の例を示している。図7中の小さい丸印は画素を示している。回転画像Img11の中央に注目特徴点P10が設定され、注目特徴点P10の周辺に3点のサブ特徴点P11，P12，P13が設定されている。注目特徴点P10を含む12×12画素の矩形領域が、勾配ヒストグラムを生成するのに用いる小領域R10である。同様に、サブ特徴点P11，P12，P13を含む12×12画素の矩形領域がそれぞれ、勾配ヒストグラムを生成するのに用いる小領域R11，R12，R13である。小領域R10，R11，R12，R13のそれぞれを12分割した、破線で示される領域が局所領域である。
【００６９】
サブ特徴点の数が3、局所領域の数が12個の場合、1つの局所ヒストグラムのビン数が8であれば、1つの勾配ヒストグラムのビン数は12×8＝96となる。このビン数が、サブ特徴点3点と注目特徴点1点の合計4点分必要となるので、注目特徴点の最終的な特徴量の次元は、96×4＝384次元となる。このため、サブ特徴点の数を第1の実施形態における2から増やした場合でも、特徴量の次元数を第1の実施形態における次元数と同じ次元数に抑えることができる。特徴量の次元数は、注目特徴点およびサブ特徴点の合計数と局所領域の数との積に比例するため、サブ特徴点の数を増やしても、局所領域の数を減らせば、特徴量の次元数の増加を抑えることが可能となる。
【００７０】
特徴量生成装置の図示していないメモリには、小領域（図7の小領域R10，R11，R12，R13）の大きさに関する情報や、特徴量の次元数に関する情報、1つの局所ヒストグラムのビン数に関する情報が格納されている。サブ特徴点画素情報分布生成部60は、サブ特徴点検出部50が検出するサブ特徴点の数と、小領域の大きさ（12×12画素）と、特徴量の次元数（384次元）と、1つの局所ヒストグラムのビン数（8）とに応じて、局所領域の数を決定する。例えばサブ特徴点の数が2である場合、サブ特徴点2点と注目特徴点1点の合計3点分のビン数は384÷3＝128となる。1つの局所ヒストグラムのビン数が8であるため、局所領域の数は128÷8＝16となる。また、サブ特徴点の数が3である場合、サブ特徴点3点と注目特徴点1点の合計4点分のビン数は384÷4＝96となる。1つの局所ヒストグラムのビン数が8であるため、局所領域の数は96÷8＝12となる。
【００７１】
図8は、サブ特徴点の数に応じて局所領域のサイズを変える場合の局所領域の例を示している。図8中の小さい丸印は画素を示している。回転画像Img21の中央に注目特徴点P20が設定され、注目特徴点P20の周辺に4点のサブ特徴点P21，P22，P23，P24が設定されている。注目特徴点P20を含む8×8画素の矩形領域が、勾配ヒストグラムを生成するのに用いる小領域R20である。同様に、サブ特徴点P21，P22，P23，P24を含む8×8画素の矩形領域がそれぞれ、勾配ヒストグラムを生成するのに用いる小領域R21，R22，R23，R24である。小領域R20，R21，R22，R23，R24のそれぞれを16分割した、破線で示される領域が局所領域である。
【００７２】
サブ特徴点の数が5、局所領域のサイズが2×2＝4画素の場合、特徴量を生成するために使うデータを得る画素の数は4×16×5＝320画素となる。第1の実施形態（図4）における画素の数は9×16×3＝432画素である。このため、第1の実施形態に比べて、特徴量を生成するために使うデータを得る画素の数を減らすことが可能となる。このように、サブ特徴点の数に応じて局所領域のサイズを変えることで、特徴量を生成するための計算量やデータ転送量を増やすことなく、サブ特徴点の数を増やした特徴量を生成することが可能となる。
【００７３】
特徴量生成装置の図示していないメモリには、小領域（図8の小領域R20，R21，R22，R23，R24）における局所領域の数（16）に関する情報が格納されている。サブ特徴点画素情報分布生成部60は、サブ特徴点検出部50が検出するサブ特徴点の数と、小領域における局所領域の数（16）に関する情報とに応じて、局所領域のサイズを決定する。サブ特徴点の数が2である場合、例えば局所領域のサイズは12×12画素となる。この場合の画素の数は上記のように432画素である。また、サブ特徴点の数が5である場合、5個のサブ特徴点と16個の局所領域に対して、画素の数が432画素を超えないような局所領域のサイズが決定される。この結果、例えば局所領域のサイズが2×2＝4画素として決定される。
【００７４】
上述したように、本実施形態によれば、サブ特徴点の数に応じて、サブ特徴点を中心とする小領域の分割数を決定し、分割後の領域数が決定した分割数となるように小領域を分割し、分割後の局所領域ごとにサブ特徴点の勾配ヒストグラムを生成することによって、特徴量の次元数を一定の数に保つことができる。このため、記憶領域の使用量や処理時間を変えずに、画像に適した特徴量を生成することができる。
【００７５】
また、サブ特徴点の数に応じて、サブ特徴点を中心とする小領域の分割サイズを決定し、分割後の領域のサイズが決定した分割サイズとなるように小領域を分割し、分割後の局所領域ごとに勾配ヒストグラムを生成することによって、サブ特徴点の数を増やしたとしても、特徴量を生成する際の計算量を増やさずに特徴量を生成することができる。
【００７６】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００７７】
10  特徴点検出部、20  主方向調整部、30  画素情報生成部、40  特徴点画素情報分布生成部、50  サブ特徴点検出部、60  サブ特徴点画素情報分布生成部、70  特徴量生成部
【図１】
2015035105.tif 000005
【図２】
2015035105.tif 000006
【図３】
2015035105.tif 000007
【図４】
2015035105.tif 000008
【図５】
2015035105.tif 000009
【図６】
2015035105.tif 000010
【図７】
2015035105.tif 000011
【図８】
2015035105.tif 000012