以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.本実施形態の概要
図1に示すように、カメラで人物を撮影したとする。左側の画像では人物は顔を真っ直ぐ立てており、右側の画像では人物は顔を右に傾けている。画像認識を行う際、これらの画像を異なるシーンの画像として区別したいというニーズがある。このような場合、顔の向きに依存して値が変化する回転依存特徴量を用いればよい。
しかしながら、図2に示すようにカメラを回転させた場合にも回転依存特徴量は変化する。即ち、カメラを回転させると、画像の上方向UDに対して被写体が回転するため、天地方向TDに依存して回転依存特徴量が変化してしまう。そのため、同一のシーンを撮影しているにも関わらず、同一のシーンとして認識できないという課題がある。なお以下では、「回転依存特徴量」を単に「特徴量」とも呼ぶ。
天地方向TDに依存しない特徴量を求める手法として、上述した特許文献1がある。しかしながら、特許文献1の手法では、天地方向TDの補正において、処理負荷が大きい画像回転を用いているという課題がある。
そこで図3に示すように、本実施形態の画像処理装置は、入力画像を取得する画像取得部200と、入力画像の天地方向を表す天地情報を取得する天地情報取得部210と、入力画像の部分領域における特徴量を天地情報に基づいて算出する特徴量処理部100と、を含む。そして、特徴量処理部100は、特徴量の算出において、部分領域内に設定した空間的な順序を用いた又は部分領域内の画素値に基づいて求めた回転依存の情報を、天地方向に基づいて回転変換する処理を行う。
このようにすれば、入力画像を回転させることなく、天地方向TDに依存しない特徴量を求めることができる。これにより、入力画像の上方向UDと天地方向TDが一致しない場合(図2の右方向、左方向、下方向)でも、部分領域において、画像回転よりも小さい処理コストで、上方向UDと天地方向TDが一致する場合(図2の正位置)と同一の特徴量を出力できる。
具体的には、部分領域内に設定した空間的な順序を用いた回転依存の情報とは、特徴量処理部100が部分領域内の画素や領域に対応付けて設定した情報であり、画像の回転に伴って回転する情報である。この情報を、天地方向TDが画像の上方向UDに一致するように回転変換し、特徴量の天地方向TDへの依存性を補正する。
例えば、後述するLBPでは、ビットを並べる順番は部分領域内の画素に対応付けられた空間的な順序の情報である。或は、後述するHOGでは、部分領域を分割したセル領域のヒストグラムを結合し、部分領域のヒストグラムとする。この結合の順番は、セル領域に対応付けられた空間的な順序の情報である。このような画素やセル領域と順番の対応付けを、天地方向TDに応じて並び替える(回転変換する)ことで、LBP、HOGを回転補正する。これらの例では、順番を変換するだけなので、画像回転に比べて非常に軽い処理負荷で実行できる。
また、部分領域内の画素値に基づいて求めた回転依存の情報とは、特徴量処理部100が部分領域内の画像を処理(例えば変換、微分、統計、量子化、フィルタリング等の処理)して求めた回転依存の情報である。この情報を天地方向TDに応じて回転変換し、特徴量の天地方向TDへの依存性を補正する。
例えば、後述するLBPのヒストグラムでは、LBPは各画素における局所的な回転依存の情報である。また、ヒストグラムはLBPの値をビンとしており、そのビンも回転依存の情報である。或は、後述する勾配ベクトルや、それを量子化した角度指数は、各画素における局所的な回転依存の情報である。或は、後述するHOGでは、角度指数をビンとしており、そのビンは回転依存の情報である。このような勾配ベクトルや角度指数を天地方向TDに応じて回転変換し、又はヒストグラムのビンを天地方向TDに応じて入れ替える(回転変換する)ことで、LBPのヒストグラム、HOGを回転補正できる。これらの例では、LBPや角度指数、勾配ベクトル、ヒストグラムのビンを変換するだけなので、画像回転に比べて非常に軽い処理負荷で実行できる。
ここで、天地方向とは、画像に写った被写体の天地を表す方向である。天地は例えば上下であり、重力の方向(鉛直方向)が下方向、その反対方向が上方向である。なお図2では、上方向(天)を天地方向TDとしているが、これに限定されず、例えば下方向等の、被写体の天地に対して固定された方向であればよい。
また、回転依存とは、画像の回転により特徴量が変化することである。画像の回転は、画像の一部での(局所的な)回転であってもよいし、画像全体での(大局的な)回転であってもよい。回転は、例えば画像内の所定の方向を基準とする角度変化である。所定の方向は、例えば、カメラを通常の正位置で構えたときの上方向UDである。
2.第1実施形態
2.1.撮像装置、画像処理装置
次に、本実施形態の詳細について説明する。図2に示すように、天地方向TDが上方向UDに一致した「正位置」の画像と、天地方向TDが上方向UDに対して「右方向」、「下方向」、「左方向」に回転した画像と、を例に説明する。なお、天地方向TDは、これに限定されず、これらの中間の角度で傾いた場合等にも本実施形態を適用できる。
図4に、撮像装置の構成例と、第1実施形態における画像処理装置の構成例を示す。撮像装置は、画像処理装置10、撮像部20、天地方向センサー30を含む。
撮像部20は、被写体の画像を撮像し、その画像を画像処理装置10へ入力する。例えば、撮像部20は光学系と撮像センサー(例えばCCD、CMOSセンサー等)で構成される。
天地方向センサー30は、カメラに対する重力方向を検出し、その検出した方向を天地情報(即ち、天地方向の情報)として画像処理装置10へ入力する。例えば、天地方向センサー30は重力センサー(加速度センサー)で構成される。
画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210を含む。
画像取得部200は、撮像部20から入力画像を取得する処理を行う。取得処理とは、例えば撮像部20から転送されるデジタルの画像データを受信する処理である。或は、撮像部20からアナログの画像信号が転送され、それをA/D変換する処理である。或は、撮像部20から転送された画像に対して、基本的な画像処理(例えばOB処理、ホワイトバランス処理、階調処理等)を行うことである。
天地情報取得部210は、天地方向センサー30から天地情報を取得する処理を行う。取得処理とは、例えば天地方向センサー30から転送されるデジタルのセンサー出力を受信する処理である。或は、天地方向センサー30からアナログのセンサー出力が転送され、それを処理(A/D変換等)して天地方向の情報に変換する処理である。なお、天地情報取得部210は、天地方向センサー30の代わりに入力画像から天地方向を判定し、天地情報を取得してもよい。この場合、天地方向センサー30を省略可能である。
特徴量処理部100は、情報回転補正部110、特徴量算出部120を含む。詳細は図5〜図8で後述するが、第1実施形態では、特徴量としてLBPを用いる。まず、情報回転補正部110が、画素に対応付けた順番を天地情報に基づいて回転変換し(図6)、次に、特徴量算出部120が、その変換した順番でビットを並べてLBPを求める(図7)。
なお、上記では画像処理装置10を撮像装置に適用した場合を例に説明したが、例えば画像処理装置10を情報処理装置(PC)等で別体に構成することも可能である。この場合、画像取得部200は、画像ファイルを入力画像として取得する。また、天地情報取得部210は、画像ファイルに関連づけられた天地情報を取得する。
2.2.特徴量処理部
特徴量処理部100が行う処理の詳細について説明する。まず、本実施形態で特徴量として用いるLBPについて説明する。
図5に示すように、3×3ピクセルの領域を部分領域とする。部分領域の中心画素が注目画素pc(x,y)であり、その周囲の8画素が周辺画素pi(x,y)(i=0,1,…,7)である。注目画素pc(x,y)と各周辺画素pi(x,y)との輝度値の大小関係を比較し、その大小関係を表すビットFiを求める。即ち、図7に示すp0等のように、周辺画素piの輝度値が注目画素pcの輝度値以上である場合には、ビットFi=1である。p2等のように、周辺画素piの輝度値が注目画素pcの輝度値未満である場合には、ビットFi=0である。通常のLBPでは、このビットFiをLSB側から順に並べ、8ビットのビット列F7F6F5・・・F0=10011011とする。
ここで、(x,y)は画像上の直交座標であり、例えばxは水平走査方向の座標であり、yは垂直走査方向の座標である。
次に、特徴量処理部100が行う処理を説明する。情報回転補正部110は、図6に示すように、天地情報に基づいて周辺画素piに対して順番(順序)を設定する。この画素の順番は、基準の順番を天地方向TDの回転の分だけ回転変換したものである。即ち、天地方向TDに対して固定された順番である。例えば、正位置の場合、左上を開始位置(順番“0”)として時計回りに順番を設定する。右方向、下方向、左方向の場合、正位置の順番を基準として、時計回りに90度ずつ開始位置をずらした順番を設定する。情報回転補正部は予め右方向、下方向、左方向の場合に対して回転変換を行った順番をROMなどのテーブルに保持し、天地方向TDに対応した順番を設定してもよい。
特徴量算出部120は、情報回転補正部110が設定した順番に従ってビットFiを並べ、そのビット列を、回転補正された特徴量として出力する。例えば右方向の順番を例にとると、図7に示すビットFiを、図6に示す右方向の順番に従ってF1F0F7F6F5F4F3F2と並べ、ビット列11100110を求める。このビット列は、天地方向TDに従って回転された順番で並んでいるので、画像の上方向UDに対して天地方向TDがどの方向を向いていても、同一のビット列が求められる。
より具体的には、情報回転補正部110は、図8に示す対応付けnjを天地方向に応じて取得し、特徴量算出部120は、その対応付けnjを用いて、下式(1)により注目画素pc(x,y)での特徴量F(x,y)を求める。
図8に示す対応付けnjは、周辺画素pnjにj番目(j=0,1,…,7)の順番が設定されることを意味する。例えば右方向のn0=2を例にとると、画素p2(右上の画素)は0番目に設定される(図6参照)。なお、情報回転補正部110は、不図示のメモリー等から天地方向TDに応じた対応付けnjを読み出してもよいし、基準(例えば正位置)の対応付けnjを天地方向TDに応じて変換処理してもよい。
なお、上記では部分領域を3×3ピクセルとしたが、本実施形態はこれに限定されず、例えば部分領域を5×5ピクセルや、7×7ピクセルに設定してもよい。
以上の第1実施形態によれば、特徴量処理部100は、回転依存の情報(周辺画素piに設定した順番)を天地方向TDに基づいて回転変換する処理を行う情報回転補正部110と、その回転変換された回転依存の情報に基づいて、部分領域(3×3ピクセル)における特徴量(LBP)を算出する特徴量算出部120と、を有する。
このようにすれば、回転依存の情報を天地方向TDに依存しない情報に補正することができるので、その情報を用いて天地方向TDに依存しない特徴量を求めることが可能となる。この補正した特徴量は、カメラを回転させただけでは変化せず、天地方向TDに対して画像が回転したときに変化するので、カメラの回転に関わらず高精度なシーン判別を実現できる。
また、本実施形態では、情報回転補正部110は、回転依存の情報として部分領域内の画素(周辺画素pi)に順番(“0”〜“7”)を設定し、その順番を天地方向TDに基づいて並び替える(図6等)。そして特徴量算出部120は、部分領域内の画素値に基づいて二値化処理(輝度値の大小比較)を行って各画素(pi)についてビットデータ(Fi)を求め、並び替えられた順番でビットデータを並べたビット列データ(LBP)を特徴量として求める(図7等)。
このようにすれば、周辺画素piに設定した順番を並び変え、その順番でビットデータを並べることで、部分領域のテクスチャ情報に関する特徴量(LBP)に対して回転補正を行うことができる。このような順番の並び変えは簡素な処理であるため、小さい処理コストで回転補正を実現できる。
3.第2実施形態
図9に、第2実施形態における画像処理装置の構成例を示す。画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210を含む。なお、上述した実施形態で説明した構成要素と同一の構成要素については、同一の符号を付し、適宜説明を省略する。
特徴量処理部100は、特徴量算出部120、特徴量回転補正部140を含む。第1実施形態とは異なり、まず、特徴量算出部120が部分領域における特徴量を算出し、次に、特徴量回転補正部140が天地情報に基づいて特徴量の回転補正を行う。
具体的には、特徴量として、第1実施形態と同様にLBPを用いる。例えば、注目画素pc及び周辺画素piの輝度値が、図10に示す通りであるとする。図11に示すように、特徴量算出部120は、輝度値の大小関係を示すビットFiを求める。第2実施形態では、このビットFiを天地方向TDに依らない順番で並べ、ビット列F7F6F5・・・F0=10011011を求める。即ち、下式(2)により注目画素pc(x,y)での特徴量F(x,y)を算出する。
図12に示すように、特徴量回転補正部140は、天地方向TDに応じてビット列の並び替え(例えば循環シフト)を行う。具体的には、正位置の場合、特徴量回転補正部140は特徴量算出部120が出力した特徴量をそのまま出力する。右方向の場合、特徴量回転補正部140は、ビット列をLSB側に2ビットシフト(又はMSB側に6ビットシフト)させる。得られたビット列は、右上から時計回りにp0〜p7を割り振った場合のビット列と同じである。同様に、下方向の場合、ビット列をLSB側(又はMSB側)に4ビットシフトさせる。左方向の場合、ビット列をLSB側に6ビット(又はMSB側に2ビット)シフトさせる。
以上の第2実施形態によれば、特徴量処理部100は、部分領域(3×3ピクセル)における特徴量(LBP)を算出する特徴量算出部120と、回転依存の情報(ビットの並び順)を天地方向TDに基づいて回転変換する処理を、特徴量算出部120により算出された特徴量に対して行い、特徴量を回転補正する特徴量回転補正部140と、を有する。
このようにすれば、特徴量を求めた後に、その特徴量に含まれる回転依存の情報(ビットの並び順)を天地方向TDに依存しない情報に補正できる。これにより、天地方向TDに依存しない特徴量を求めることが可能となる。この補正した特徴量により、カメラの回転に関わらず高精度なシーン判別を実現できる。
また本実施形態では、特徴量算出部120は、部分領域内の画素値に基づいて二値化処理(輝度値の大小比較)を行って各画素(周辺画素pi)についてビットデータ(Fi)を求める(図11)。特徴量算出部120は、そのビットデータを所定の順番(“0”〜“7”)で並べたビット列データ(LBP)を特徴量として求める(図11)。そして、特徴量回転補正部140は、ビット列データにおけるビットデータの並び順を回転依存の情報として天地方向TDに基づいて並び替え、特徴量を回転補正する(図12)。
このようにすれば、ビット列データにおけるビットデータ(Fi)の並び順を並び変えることで、部分領域のテクスチャ情報に関する特徴量(LBP)に対して回転補正を行うことができる。このようなビットの並び変え(例えば循環的なビットシフト)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。
4.第3実施形態
図13に、第3実施形態における画像処理装置の構成例を示す。画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210を含む。特徴量処理部100は、特徴量算出部120、特徴量回転補正部140を含む。なお、上述した実施形態で説明した構成要素と同一の構成要素については、同一の符号を付し、適宜説明を省略する。
特徴量算出部120は、図11に示すように、30×30ピクセルの部分領域を設定し、その部分領域におけるLBPのヒストグラムを特徴量として算出する。具体的には、特徴量算出部120は、セル特徴量算出部121、ヒストグラム算出部122を含む。
セル特徴量算出部121は、部分領域を1×1ピクセルのセル領域(画素)に分割する。部分領域内には、30×30個のセル領域が存在することになる。そして、セル特徴量算出部121は、各セル領域のLBPをセル特徴量として算出する。LBPの算出手法は第2実施形態と同様であり、第3実施形態では、そのLBPをセル領域での特徴量として扱う。
ヒストグラム算出部122は、下式(3)によりヒストグラムを作成する。fkは、k番のセル領域におけるLBPの値である。k=1,2,…,900であり、部分領域の各セル領域に割り当てられている。Hiは、ヒストグラムのビンであり、LBPの値がiであるセル領域の個数である。LBPは8ビットのビット列なので、取りうる値は0から255となる。即ち、i=0,1,…,255である。
特徴量回転補正部140は、天地方向TDに基づいて特徴量Hiの各次元を並び替えることで特徴量の回転補正を行う。並び替えにおいては、補正前の第i次元が回転補正後の第j次元に対応するとする。jからiへの対応は、予め天地方向TD毎にテーブルを作成することで行う。このテーブルをmj=i(j=0,1,…,255)とする。
図15に示すように、例えば、天地方向TDが右方向であり、LBPがi=1(10)=00000001(2)である場合を考える。このセル特徴量は天地方向TDに依存しており、回転補正が必要である。即ち、天地方向TDが上を向くように90度左に回転し、左上から時計回りにビットを並べ、天地方向TDに依存しないLBPとしてj=64(10)=01000000(2)が得られる。これにより、j=64のテーブルはm64=1であることが分かる。同様にして、全てのjについてテーブルmj=iを用意しておく。
特徴量回転補正部140は、テーブルmjを用いて、下式(4)により特徴量Hiを回転補正し、回転補正後の特徴量Hj’を出力する。図15の例では、回転補正後のビンH64’を回転補正前のビンH1に置き換える。
なお、上記では部分領域の大きさを30×30ピクセルとしたが、本実施形態はこれに限定されず、部分領域は種々の大きさに設定できる。
以上の第3実施形態によれば、特徴量算出部120は、部分領域(30×30ピクセル)内の各画素について回転依存の特徴量(LBP)を算出し、その回転依存の特徴量をビン(Hi)とするヒストグラムを部分領域の特徴量として求める(図14)。そして、特徴量回転補正部140は、ヒストグラムのビンを回転依存の情報として天地方向TDに基づいて並び替え、部分領域の特徴量を回転補正する(図15)。
このようにすれば、部分領域を更にセル領域に分割し、各セル領域で計算したセル特徴量を用いて計算される特徴量(セル特徴量の値をビンとするヒストグラム)に対して、回転補正を行うことができる。ヒストグラムのビンの並び変え(テーブルmj=iを用いた変換)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。
5.第4実施形態
5.1.角度指数の算出処理、補正処理
図16に、第4実施形態における画像処理装置の構成例を示す。画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210を含む。特徴量処理部100は、特徴量算出部120、特徴量回転補正部140を含む。なお、上述した実施形態で説明した構成要素と同一の構成要素については、同一の符号を付し、適宜説明を省略する。
特徴量算出部120は、図17に示すように、30×30ピクセルの部分領域を設定し、更に部分領域を10×10ピクセルのセル領域に分割する。部分領域内にはセル領域が3×3個存在することになる。特徴量算出部120は、各セル領域について勾配ベクトルのヒストグラム(セル特徴量)を求め、そのヒストグラムを結合し、部分領域の特徴量として出力する。具体的には、特徴量算出部120は、セル特徴量算出部121、勾配ベクトル算出部123、ノルム算出部124、角度指数算出部125、角度指数回転補正部126、セル特徴量結合部127を含む。
勾配ベクトル算出部123は、入力画像における各画素(x,y)の輝度値I(x,y)を求める。そして、下式(5)により、画素(x,y)における勾配ベクトル(h(x,y),v(x,y))を算出する。
ノルム算出部124は、下式(6)により、画素(x,y)における勾配ベクトルのノルムn(x,y)を算出する。
角度指数算出部125は、勾配ベクトルの方向を量子化し、画素(x,y)における角度指数を算出する。即ち、図18に示すように、360度を45度ずつの8つの範囲に分割し、各範囲に“0”〜“7”の角度指数を割り当てる。例えば、x軸を含む範囲を開始位置として時計回りに順に“0”〜“7”を割り当てる。角度指数算出部125は、勾配ベクトルの方向を回転角(例えばx軸を基準とする時計回りの回転角)で表し、その回転角を上記の割り当てで角度指数に変換する。角度指数の個数は8個としたが、本実施形態ではこれに限定されず、その他の分割数を用いてもよい。
角度指数回転補正部126は、角度指数算出部125が出力した角度指数を、天地情報に基づいて回転補正する。具体的には、撮像時の天地方向TDが正位置の場合は、角度指数算出部125が出力した角度指数をそのまま出力する。天地方向TDが右方向、下方向、左方向の場合には、図19に示す対応で角度指数を変換し、角度指数の回転補正を行う。この変換は、例えばルックアップテーブルにより実現してもよいし、或は、演算により変換を行ってもよい。
図19の対応は、次のようにして決定する。図20を用いて、右方向の場合を例にとり説明する。天地方向TDに対する依存性を補正したいので、天地方向TDに対して角度指数の割り当てが固定されていればよい。そこで、天地方向TDが正位置の場合の角度指数を右に90度回転させる。この割り当てで量子化できれば、天地方向TDが右方向であっても、天地方向TDに依存しない角度指数が求まることになる。即ち、この2つの割り当てを比較し、その角度指数の対応を決定し、その対応で角度指数を変換することで、天地方向TDに依存しない角度指数に補正できる。天地方向TDが他の方向の場合も、同様にして対応を決定する。
5.2.ヒストグラムの算出処理、補正処理
図21に示すように、セル特徴量算出部121は、勾配ベクトルのノルムと角度指数に基づいてヒストグラムを作成し、そのヒストグラムをセル特徴量として出力する。具体的には、セル領域内で勾配ベクトルのノルムを角度指数毎に集計して加算することで、角度指数の個数である8次元分のヒストグラムを作成する。或は、セル特徴量算出部121は、セル領域内で角度指数の頻度を集計することで、8次元分のヒストグラムを作成してもよい。
セル特徴量結合部127は、セル特徴量を結合してHOGを作成し、そのHOGを部分領域の特徴量として出力する。具体的には、図22に示すように、3×3個のセル領域に順番(番号)を設定し、その順番でセル領域のヒストグラムを結合し、8×9次元のヒストグラムをHOGとして作成する。順番は、例えばラスター的に割り当てる。即ち、左上を基準として右方向に順番に“0”〜“2”を割り当て、1段下のセル領域に同様に“3”〜“5”を割り当て、更に1段下のセル領域に同様に“6”〜“8”を割り当てる。結合の際には、例えば、次元の低い側から順にセル領域“0”〜“8”のヒストグラムを並べる。
特徴量回転補正部140は、特徴量算出部120が出力した特徴量を、天地情報に基づいてセル特徴量単位で並び替え、特徴量の回転補正を行う。具体的には、天地方向TDが正位置の場合、特徴量回転補正部140は、特徴量算出部120が出力したHOGをそのまま出力する。天地方向TDが右方向、下方向、左方向の場合には、図23に示すように、HOGの中でセル領域のヒストグラムを並び替え、HOGを回転補正する。
この並び替えは、セル領域に割り当てた順番を天地方向TDに応じて変換することに対応している。図24を用いて、右方向の場合を例に説明する。天地方向TDに対する依存性を補正したいので、天地方向TDに対してセル領域の順番の割り当てが固定されていればよい。そこで、天地方向TDが正位置の場合の順番を右に90度回転させる。この割り当てでセル領域のヒストグラムを連結できれば、天地方向TDが右方向であっても、天地方向TDに依存しないHOGが求まることになる。即ち、この2つの割り当てを比較し、その順番の対応を決定し、その対応でセル領域のヒストグラムを並び替えることで、天地方向TDに依存しないHOGに補正できる。天地方向TDが他の方向の場合も、同様にして対応を決定する。
なお、上記では部分領域の大きさを30×30ピクセルとし、セル領域の大きさを10×10ピクセルとしたが、本実施形態はこれに限定されず、部分領域及びセル領域は種々の大きさに設定できる。
以上の第4実施形態によれば、特徴量算出部120は、部分領域(30×30ピクセル)を複数の分割領域(10×10ピクセルのセル領域)に分割する(図17)。特徴量算出部120は、各分割領域内の各画素での特徴量(勾配ベクトルの角度指数)を算出し(図18)、その各画素での特徴量をビンとする各分割領域でのヒストグラムを求める(図21)。特徴量算出部120は、複数の分割領域に順番(“0”〜“8”)を設定し、その順番で各分割領域でのヒストグラムを結合して部分領域の特徴量(セル領域でのヒストグラム、セル特徴量)を求める(図22)。そして、特徴量回転補正部140は、結合したヒストグラムにおいて各分割領域のヒストグラムの並び順を天地方向TDに基づいて並び替え、部分領域の特徴量を回転補正する(図23)。
このようにすれば、部分領域を更にセル領域に分割し、各セル領域で計算したセル特徴量を結合することで計算される特徴量に対して、回転補正を行うことができる。ヒストグラムの結合順を並び変える処理(図24のような対応を用いた変換)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。
また本実施形態では、特徴量算出部120は、各画素について回転依存の特徴量(勾配ベクトルの角度指数)を回転依存の情報として算出する(図18)。そして、特徴量算出部120は、その回転依存の特徴量を天地方向TDに基づいて回転変換する処理を行い(図19)、処理後の回転依存の特徴量に基づいて各分割領域のヒストグラムを求める(図21)。
このようにすれば、セル特徴量が回転依存である場合に、各画素についての回転依存の特徴量(角度指数)を天地方向TDに基づいて回転補正することで、天地方向TDに依存しないセル特徴量を求めることができる。
また本実施形態では、特徴量算出部120は、各画素(x,y)について画素値(輝度値)の勾配ベクトル(h(x,y),v(x,y))を算出する勾配ベクトル算出部123と、勾配ベクトルの方向を量子化した角度指数を回転依存の特徴量として算出する角度指数算出部125と、その角度指数を天地方向TDに基づいて回転変換する処理を行う角度指数回転補正部126と、を有する(図16)。
このようにすれば、部分領域の勾配情報を用いた特徴量を回転補正することができる。具体的には、勾配ベクトルのノルムを各角度指数で加算したヒストグラム(HOG)を作成する際に、角度指数を回転補正することで天地方向TDに依存しないHOGを作成できる。勾配ベクトルの角度指数を変換する処理(図19、図20のような対応を用いた変換)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。例えば、ルックアップテーブルを用いて角度指数を回転補正することにより、演算器の使用を削減することができる。
6.第5実施形態
図25に、第5実施形態における画像処理装置の構成例を示す。画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210を含む。特徴量処理部100は、特徴量算出部120、特徴量回転補正部140を含む。なお、上述した実施形態で説明した構成要素と同一の構成要素については、同一の符号を付し、適宜説明を省略する。
第5実施形態では、第4実施形態と同様に、特徴量としてHOGを用いる。第4実施形態と異なるのは、特徴量算出部120が、角度指数の回転補正でなく勾配ベクトルの回転補正を行う点である。具体的には、特徴量算出部120は、セル特徴量算出部121、勾配ベクトル算出部123、ノルム算出部124、角度指数算出部125、セル特徴量結合部127、勾配ベクトル回転補正部128を含む。
勾配ベクトル回転補正部128は、天地情報に基づいて勾配ベクトルを回転補正し、それを回転補正勾配ベクトルとして出力する。即ち、下式(7)により、勾配ベクトル(h(x,y),v(x,y))を回転補正勾配ベクトル(h’(x,y), v’(x,y))に変換する。
この変換は、図26に示すように勾配ベクトルの回転変換である。その回転角度は、正位置での天地方向TDを基準とする天地方向TDの回転角度と同じである。これにより、天地方向TDに依存しない勾配ベクトルに変換される。
以下の処理は第4実施形態と同様である。即ち、ノルム算出部124が回転補正勾配ベクトルのノルムを算出し、角度指数算出部125が回転補正勾配ベクトルを角度指数に量子化し、セル特徴量算出部121がノルム及び角度指数をヒストグラム化してセル特徴量を求め、セル特徴量結合部127がセル特徴量を結合してHOGを出力し、特徴量回転補正部140が天地方向TDに応じてセル特徴量の結合順を並び替え、HOGを回転補正する。
以上の第5実施形態によれば、特徴量算出部120は、各画素(x,y)について画素値(輝度値)の勾配ベクトル(h(x,y),v(x,y))を回転依存の特徴量として算出する勾配ベクトル算出部123と、勾配ベクトルを天地情報に基づいて回転変換する処理を行う勾配ベクトル回転補正部128と、その回転変換された勾配ベクトル(h’(x,y), v’(x,y))の方向を量子化した角度指数を算出する角度指数算出部125と、を有する。
このようにすれば、部分領域の勾配情報を用いた特徴量(勾配ベクトル)を回転補正することができる。具体的には、勾配ベクトルを天地方向TDに基づいて回転し、その勾配ベクトルでHOGを作成することにより、天地方向TDに依存しないHOGを作成できる。勾配ベクトルの回転(図26のような変換)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。例えば、演算器を用いて勾配ベクトルを回転補正することにより、ルックアップテーブルの使用を削減(メモリー容量を節約)することができる。
7.第6実施形態
図27に、第6実施形態における画像処理装置の構成例を示す。画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210を含む。特徴量処理部100は、特徴量算出部120、特徴量回転補正部140を含む。なお、上述した実施形態で説明した構成要素と同一の構成要素については、同一の符号を付し、適宜説明を省略する。
第6実施形態では、第4実施形態と同様に、特徴量としてHOGを用いる。第4実施形態と異なるのは、特徴量算出部120が、角度指数の回転補正でなくセル特徴量の回転補正を行う点である。具体的には、特徴量算出部120は、セル特徴量算出部121、勾配ベクトル算出部123、ノルム算出部124、角度指数算出部125、セル特徴量結合部127、セル特徴量回転補正部129を含む。
セル特徴量回転補正部129は、セル特徴量算出部121が出力したセル特徴量を天地情報に基づいて回転補正する。即ち、天地方向TDが正位置の場合には、セル特徴量算出部121が出力した8次元のヒストグラムをそのまま出力する。天地方向TDが右方向、下方向、左方向の場合には、図28に示すように、8次元のヒストグラムの次元(角度指数のビン)を並び替え、回転補正セル特徴量として出力する。図28において、例えば「角度指数0」の記載は、図21のヒストグラムにおける角度指数0のビンに対応している。
この並び替えは、第4実施形態における角度指数の変換と結果的に同じである。右方向の場合を例に説明する。図19で説明したように、角度指数を変換する場合には、例えば角度指数“0”は“6”に変換される。これは、元の角度指数“0”が7番目のビン(“0”番があるので“6”は第7次元)になることを意味する。図28に示すように、ビンを並び替える場合も、角度指数“0”のビンが7番目のビンに並び替えられており、角度指数の変換と同一の結果となっている。
以上の第6実施形態によれば、特徴量算出部120は、各画素(x,y)について回転依存の特徴量(勾配ベクトルの角度指数)を算出し、その回転依存の特徴量をビンとする各分割領域のヒストグラムを各分割領域の特徴量(セル特徴量)として求める。そして、特徴量算出部120は、その各分割領域のヒストグラムにおいてビンを回転依存の情報として天地方向TDに基づいて並び替え、各分割領域の特徴量を回転補正する(図28)。
このようにすれば、セル特徴量であるヒストグラムが回転依存である場合に、ヒストグラムのビンを天地方向TDに基づいて回転補正することで、天地方向TDに依存しないセル特徴量を求めることができる。このようなビンの並び変え(図28の対応を用いた変換)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。
また、本実施形態では、特徴量算出部120は、各画素(x,y)について画素値(輝度値)の勾配ベクトル(h(x,y),v(x,y))を算出する勾配ベクトル算出部123と、その勾配ベクトルの方向を量子化した角度指数(“0”〜“7”)を回転依存の特徴量として算出する角度指数算出部125と、を有する。
このようにすれば、勾配ベクトルを用いたセル特徴量(セル領域のヒストグラム)を回転補正することができる。具体的には、セル領域のヒストグラムにおいて、天地方向TDに基づいてビンを並び変えることにより、天地方向TDに依存しないセル特徴量を作成できる。このようなビンの並び変え(図28の対応を用いた変換)は簡素な処理であるため、小さい処理コストで回転補正を実現できる。
8.第7実施形態
図29に、第7実施形態における画像処理装置の構成例を示す。画像処理装置10は、特徴量処理部100、画像取得部200、天地情報取得部210、辞書データ保持部220を含む。特徴量処理部100は、特徴量算出部120と特徴量探索部150を含む。なお、上述した実施形態で説明した構成要素と同一の構成要素については、同一の符号を付し、適宜説明を省略する。
第7実施形態では、第1〜第6実施形態で説明した種々の特徴量を用いることができる。第1〜第6実施形態と異なる点は、辞書データを探索して特徴量を決定する点と、特徴量でなく辞書データを回転補正する点である。なお、以下では特徴量が第3〜第6実施形態のようなヒストグラムである場合を例に説明する。
辞書データ保持部220は、特徴量の配列を辞書データとして保持する。辞書データ内の特徴量は、LBPのヒストグラムやHOGである。辞書データは、次のようにして予め作成する。即ち、多数のサンプル画像から特徴量を抽出し、その特徴量に対して例えばk平均法等の統計処理を行い、特徴量の配列を作成する。以下では、区別のために、特徴量算出部120が出力した特徴量を対象特徴量と呼び、辞書データ中の特徴量を辞書特徴量と呼ぶ。
特徴量算出部120は、入力画像の特徴量を算出し、対象特徴量として出力する。このとき、天地情報に基づく回転補正は行わない。対象特徴量は、辞書特徴量と同一タイプのヒストグラムである。
特徴量探索部150は、辞書データの中から対象特徴量に最も類似した辞書特徴量を探索する。特徴量探索部150は、辞書特徴量を探索する際に、辞書特徴量を天地情報に基づいて回転補正し、その回転補正した辞書特徴量と対象特徴量の類似度を求める。ヒストグラムの回転補正は、第3〜第6実施形態と同様の手法により行う。
類似度としては、例えば、下式(8)により対象特徴量FAiと回転補正された辞書特徴量Dn,iとの距離dnを算出する。FAi、Dn,iは、ヒストグラムの第iのビンであり、ヒストグラムをN次元とすると、i=1,2,…,Nである。Dn,iの“n”は、辞書データの配列中の番号であり、配列中のn番目のデータであることを表す。
特徴量探索部150は、例えば距離dnが小さいほど類似度が高いとして、距離dnが最小となる配列の番号“n”を出力する。
なお、上記では特徴量探索部150が辞書特徴量を回転補正する場合を例に説明したが、本実施形態はこれに限定されない。例えば、辞書データ保持部220は、天地方向TDが正位置の場合の特徴量だけでなく、天地方向TDが右方向、下方向、左方向の場合の予め回転補正された特徴量を保持しもよい。そして、特徴量探索部150は、天地情報に基づいて天地方向TDに対応する辞書特徴量を辞書データ保持部220から取り出してもよい。
以上の第7実施形態によれば、画像処理装置10は、入力画像を取得する画像取得部200と、入力画像の天地方向TDを表す天地情報を取得する天地情報取得部210と、入力画像の部分領域における特徴量(対象特徴量FAi)を算出する特徴量処理部100と、予め作成した複数の特徴量の配列である辞書データを保持する辞書データ保持部220と、を含む。そして、特徴量処理部100は、辞書データ内の特徴量(辞書特徴量)を天地方向TDに基づいて回転補正し、その回転補正した辞書データ内の特徴量(Dn,i)の中から、部分領域における特徴量(FAi)に最も類似した(距離dnが最も小さい)特徴量を探索する。
このようにすれば、部分領域において計算した特徴量を辞書データに対応づける処理において、画像の上下方向(上方向UD)と天地方向TDが一致しない場合であっても、正しく対応付けを行うことができる。辞書データの回転補正は、第1〜第6実施形態で説明したように順番やセルの並び変え等の簡素な処理であるため、小さい処理コストで回転補正を実現できる。また、予め回転補正した辞書データを保持する場合には、回転補正処理が不要のため、演算器の使用を削減できる。
9.ソフトウェア
以上に説明した実施形態では、画像処理装置10を構成する各部をハードウェアで構成することとしたが、本実施形態はこれに限定されない。例えば、撮像装置を用いて予め取得された画像と天地情報に対して、CPUが各部の処理を行う構成とし、CPUがプログラムを実行することによってソフトウェアとして実現することとしてもよい。あるいは、各部が行う処理の一部をソフトウェアで構成することとしてもよい。
この場合、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものである。情報記憶媒体は、CD−ROMやUSBメモリーの他、MOディスクやDVDディスク、フレキシブルディスク(FD)、光磁気ディスク、ICカード等を含む「可搬用の物理媒体」、コンピューターシステムの内外に備えられるHDDやRAM、ROM等の「固定用の物理媒体」、モデムを介して接続される公衆回線や、他のコンピューターシステム又はサーバーが接続されるローカルエリアネットワーク又は広域エリアネットワーク等のように、プログラムの送信に際して短期にプログラムを記憶する「通信媒体」等、コンピューターシステムによって読み取り可能なプログラムを記録するあらゆる記録媒体を含む。
即ち、プログラムは、上記の記録媒体にコンピューター読み取り可能に記録されるものであり、コンピューターシステム(操作部、処理部、記憶部、出力部を備える装置)は、このような記録媒体からプログラムを読み出して実行することで画像処理装置を実現する。なお、プログラムは、コンピューターシステムによって実行されることに限定されるものではなく、他のコンピューターシステム又はサーバーがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
以上、本発明を適用した実施形態およびその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。