JP2012089076A - 画像処理装置および方法、並びにプログラム - Google Patents
画像処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2012089076A JP2012089076A JP2010237577A JP2010237577A JP2012089076A JP 2012089076 A JP2012089076 A JP 2012089076A JP 2010237577 A JP2010237577 A JP 2010237577A JP 2010237577 A JP2010237577 A JP 2010237577A JP 2012089076 A JP2012089076 A JP 2012089076A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- feature
- image
- unit
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】より簡単かつ迅速に画像から特徴量を抽出できるようにする。
【解決手段】xy方向に分離可能なガウシアンステアラブルフィルタを構成する各基底フィルタを、矩形フィルタで近似する。さらに、近似により得られた矩形フィルタであるフィルタR1xとフィルタR1yを線形結合することで、近似的に得られるガウシアンステアラブルフィルタを記録する。特徴量の抽出時においては、特徴量の抽出対象となる画像から、インテグラルイメージを生成し、このインテグラルイメージを参照することで、フィルタR1xとフィルタR1yの演算を行なう。そして、それらのフィルタの演算結果を線形結合することにより、近似的に得られたガウシアンステアラブルフィルタによるフィルタ処理の出力を得る。本発明は、画像処理装置に適用することができる。
【選択図】図6
【解決手段】xy方向に分離可能なガウシアンステアラブルフィルタを構成する各基底フィルタを、矩形フィルタで近似する。さらに、近似により得られた矩形フィルタであるフィルタR1xとフィルタR1yを線形結合することで、近似的に得られるガウシアンステアラブルフィルタを記録する。特徴量の抽出時においては、特徴量の抽出対象となる画像から、インテグラルイメージを生成し、このインテグラルイメージを参照することで、フィルタR1xとフィルタR1yの演算を行なう。そして、それらのフィルタの演算結果を線形結合することにより、近似的に得られたガウシアンステアラブルフィルタによるフィルタ処理の出力を得る。本発明は、画像処理装置に適用することができる。
【選択図】図6
Description
本発明は画像処理装置および方法、並びにプログラムに関し、特に、より簡単かつ迅速に画像から特徴量を抽出できるようにした画像処理装置および方法、並びにプログラムに関する。
従来、画像から特定の物体を検出する物体認識等の画像処理では、フィルタが用いられて画像から所望の特徴の特徴量が抽出されることが多い。
例えば、特徴量として任意の線分の方向を抽出する方法として、ガボアフィルタを用いる手法がよく知られている(例えば、非特許文献1参照)。ガボアフィルタは2次元のフィルタであるが、このガボアフィルタを用いて線分の方向を抽出する場合には、様々な方向や周波数に対応するために、多数のフィルタを保持しておく必要がある。例えば、8方向5周波数であれば、40種類のフィルタが必要となる。
そこで特徴量を抽出するにあたり、計算時間とメモリの使用容量を低減させるために、Gaussian Derivatives(ガウス関数の導関数)を効率的に計算するSteerable Filters法も提案されている(例えば、非特許文献2参照)。
この方法では、8方向のフィルタを用いて、各方向の特徴量を抽出するのに、(導関数の次数(微分次数)+1)個の基底フィルタを保持していればよい。例えば、1次導関数であれば2個の基底フィルタ、2次導関数であれば3個の基底フィルタがあればよい。さらに、この方法では、フィルタ処理の演算を速くするために、x,yの2方向に分離可能なフィルタが用いられており、メモリの記録容量を節約することもできる。
また、フィルタを用いた特徴量の抽出方法として、矩形フィルタを用いて回転フィルタの演算を行なう方法も提案されている(例えば、非特許文献3参照)。例えば、回転フィルタの演算を行なって得られた所定の特徴点の特徴量と、近傍の他の特徴点の特徴量とを組み合わせれば、局所特徴量を構成することもできる。このような局所特徴量は物体認識で多く用いられており(例えば、非特許文献4参照)、局所特徴量の算出を高速化できれば、物体認識の高速化につながるため、高い効果が期待できるようになる。
Javier Movellan「Tutorial on Gabor Filters」インターネット〈http://mplab.ucsd.edu/tutorials/gabor.pdf〉
W.Freeman and E.Adelson「The Design and Use of Steerable Filters」PAMI, 1991
Lienhart, R. and Maydt, J.「An extended set of Haar-like features for rapid object detection」ICIP02, pp. I: 900-903, 2002
David G. Lowe「Distinctive image features from scale-invariant keypoints」International Journal of Computer Vision, 60, 2 (2004), pp. 91-110
しかしながら、上述した技術では、画像から所望の特徴の特徴量を、簡単かつ迅速に抽出することはできなかった。
例えばSteerable Filters法では、所望の画素点のフィルタ出力を求めるためには、多くの画素点(多くの場合、画像上の全画素点となる)においてフィルタの演算をし、それらの演算結果を用いて、隣接する画素点のフィルタ出力値も演算しなければならなかった。すなわち、フィルタ出力を得るには、多くの演算処理が必要であった。
また、矩形フィルタを用いて回転フィルタの演算を行なう方法では、回転フィルタの方向として、45度刻みの方向のフィルタ出力しか得ることができず、所望する特徴の特徴量が得られない場合があった。つまり、任意の方向のフィルタ出力を得ることができなかった。
本発明は、このような状況に鑑みてなされたものであり、画像から所望の特徴の特徴量を、より簡単かつ迅速に抽出することができるようにするものである。
本発明の一側面の画像処理装置は、複数の矩形フィルタを基底フィルタとして、前記複数の前記矩形フィルタを線形結合することで近似的に得られたガウシアンステアラブルフィルタを記録する記録手段と、入力画像に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行うことで、前記入力画像から特徴量を抽出するフィルタ処理手段とを備える。
画像処理装置には、前記入力画像のインテグラルイメージを生成するインテグラルイメージ生成手段をさらに設け、前記フィルタ処理手段には、前記インテグラルイメージの画素の画素値を参照して、前記入力画像に対する前記矩形フィルタを用いたフィルタ処理の演算を行い、前記複数の前記矩形フィルタのそれぞれの演算結果を線形結合することにより、前記ガウシアンステアラブルフィルタを用いたフィルタ処理の演算を行なわせることができる。
前記矩形フィルタは、互いに垂直な2方向に分離可能なガウシアンステアラブルフィルタの基底フィルタを近似することにより得られるフィルタとすることができる。
画像処理装置には、認識対象が含まれる学習画像、および前記認識対象が含まれない学習画像から抽出された前記特徴量を用いた統計学習により得られた識別器と、前記入力画像から抽出された前記特徴量とに基づいて、前記入力画像から前記認識対象を検出する検出手段をさらに設けることができる。
画像処理装置には、前記入力画像上の注目画素に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行って、前記注目画素の主方向を計算する主方向計算手段と、前記主方向により定まる前記入力画像上の前記注目画素近傍のいくつかの画素から抽出された前記特徴量と、前記注目画素から抽出された前記特徴量とを合成し、前記注目画素における最終的な前記特徴量とする特徴量生成手段とをさらに設け、前記検出手段には、前記特徴量生成手段により生成された前記最終的な前記特徴量と、前記識別器とに基づいて、前記認識対象を検出させることができる。
画像処理装置には、前記入力画像上の注目画素に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行って、前記注目画素の主方向を計算する主方向計算手段と、前記入力画像上において、前記主方向が前記注目画素における前記主方向と同じ方向であり、かつ前記注目画素から最も近い画素をペアリング画素として検出するペアリング画素検出手段と、前記注目画素から抽出された前記特徴量、前記注目画素における前記主方向、前記ペアリング画素から抽出された前記特徴量、および前記ペアリング画素における前記主方向を合成し、前記注目画素における最終的な前記特徴量とする特徴量生成手段とをさらに設け、前記検出手段には、前記特徴量生成手段により生成された前記最終的な前記特徴量と、前記識別器とに基づいて、前記認識対象を検出させることができる。
本発明の一側面の画像処理方法またはプログラムは、複数の矩形フィルタを基底フィルタとして、前記複数の前記矩形フィルタを線形結合することで近似的に得られたガウシアンステアラブルフィルタを記録手段から読み出して、入力画像に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行うことで、前記入力画像から特徴量を抽出するステップを含む。
本発明の一側面においては、複数の矩形フィルタを基底フィルタとして、前記複数の前記矩形フィルタを線形結合することで近似的に得られたガウシアンステアラブルフィルタが記録手段から読み出されて、入力画像に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行うことで、前記入力画像から特徴量が抽出される。
本発明の一側面によれば、画像から所望の特徴の特徴量を、より簡単かつ迅速に抽出することができる。
以下、図面を参照して、本発明を適用した実施の形態について説明する。
〈本発明の概要〉
まず、本発明を適用した特徴量の抽出方法について説明する。
まず、本発明を適用した特徴量の抽出方法について説明する。
例えば、ガウシアンステアラブルフィルタ(Gaussian Steerable Filters)と呼ばれるガウス関数の導関数を利用したフィルタでは、任意の方向のフィルタ出力を、基底出力の線形結合で表現できることが知られている。
いま、互いに直交するx方向およびy方向を軸とするxy座標系において、x座標とy座標をx,yとすると、ガウス関数Gは次式(1)で表される。なお、式(1)において、σはガウス幅を示している。
そして、このようなガウス関数Gの各方向および各次数の導関数とラプラシアンは、次式(2)乃至式(9)で表される。
すなわち、式(2)乃至式(5)は、x方向の1次導関数、y方向の1次導関数、x方向の2次導関数、およびy方向の2次導関数を示している。また、式(6)は、x方向の1次導関数をさらにy方向に微分して得られた2次導関数を示している。さらに、式(7)乃至式(9)は、x方向の3次導関数、y方向の3次導関数、およびラプラシアンを示している。
例えば、x方向の1次導関数Gxがフィルタとして用いられる場合、画像上の注目する画素を中心とする所定領域内の画素ごとに、導関数Gxが用いられて、それらの画素ごとの係数が算出される。そして、所定領域の各画素の画素値に算出された係数が乗算され、係数が乗算された画素値の和が、注目する画素のフィルタ処理後の画素値(フィルタ出力値)とされる。
ここで、画素ごとの係数は、上述の所定領域の互いに直交する2つの方向をxy座標系のx方向およびy方向に対応させたときの画素の位置を示す座標(x,y)を、1次導関数Gxに代入して得られる値とされる。
以下において、所定の関数を用いたフィルタとは、上述した導関数Gxを用いたフィルタと同様に、その関数と各画素の位置とから、各画素に乗算される係数が定められるフィルタであるものとして、説明を続ける。
ところで、x方向およびy方向を0度および90度の方向とし、任意の角度をθとすると、ガウス関数Gのθ方向のn次導関数Gn(θ)は、次式(10)で表される。
なお、式(10)における係数kni(θ)は、n=1,2,3である場合、それぞれ次式(11)、式(12)、および式(13)で示される関数とされる。
すなわち、導関数Gn(θ)の次数nが1である場合、ガウス関数Gのθ方向の1次導関数G1(θ)は、次式(14)で表される。このような関数の微分方向θは、フィルタの方向を示している。この方向θを変化させることは、ガウス関数Gの導関数をxy平面上においてθだけ回転させることに対応する。
同様に、導関数Gn(θ)の次数nが2である場合、ガウス関数Gのθ方向の2次導関数G2(θ)は、次式(15)で表される。なお、式(15)における係数k2i(θ)(但し、i=1,2,3)は、式(16)で示される関数である。
さらに、導関数Gn(θ)の次数nが3である場合、ガウス関数Gのθ方向の3次導関数G3(θ)は、次式(17)で表される。なお、式(17)における係数k3i(θ)(但し、i=1,2,3,4)は、式(18)で示される関数である。
このようなガウス関数Gのθ方向のn次導関数Gn(θ)を用いたフィルタが、ガウシアンステアラブルフィルタ(Gaussian Steerable Filters)と呼ばれるフィルタである。
ガウシアンステアラブルフィルタを用いる場合には、例えば図1に示すように、方向θおよびガウス幅σの異なるいくつかの基底フィルタ(基底関数)を用意すれば、それらの基底フィルタの線形結合により、任意の方向θのフィルタを表現することができる。より具体的には、n次導関数Gn(θ)を用いたフィルタを得るには、(n+1)個の基底フィルタがあればよい。
図1において、1番上の列の画像は、左から順番にガウス幅σ=1である場合における1次導関数G1(0°)および1次導関数G1(90°)のフィルタを表している。
より詳細には、これらの画像はフィルタのカーネルであり、画像上の各画素の画素値が、その画素に対応する位置にある、フィルタ処理される画像の画素に乗算されるフィルタ係数である。なお、フィルタの画像における図中、横方向および縦方向は、xy座標系のx方向およびy方向に対応している。
これらの1次導関数G1(0°)と1次導関数G1(90°)のフィルタを基底とすれば、上述した式(14)で示されるように、任意の方向θの1次導関数G1(θ)のフィルタを得ることができる。
同様に、図中、中央に並ぶ画像は、左から順番にガウス幅σ=1である場合における2次導関数G2(0°)のフィルタ、2次導関数G2(60°)のフィルタ、2次導関数G2(120°)のフィルタ、およびラプラシアンを表している。
2次導関数G2(0°)、2次導関数G2(60°)、および2次導関数G2(120°)のフィルタを基底として用いれば、式(15)に示したように、任意の方向θの2次導関数G2(θ)のフィルタを得ることができる。
さらに、図中、下側に並ぶ画像は、左から順番にガウス幅σ=1である場合における3次導関数G3(0°)、3次導関数G3(45°)、3次導関数G3(90°)、および3次導関数G3(135°)のフィルタを表している。これらの4つの3次導関数のフィルタを基底として用いれば、式(17)に示したように、任意の方向θの3次導関数G3(θ)のフィルタを得ることができる。
また、ガウス関数Gにおけるガウス幅σを変化させると、各n次導関数Gn(θ)のフィルタを得るための基底フィルタの大きさも変化する。
例えば、ガウス幅σを2とすると、各基底フィルタは図2に示すようになる。すなわち、図2において、1番上の列の画像は、左から順番にガウス幅σ=2である場合における1次導関数G1(0°)および1次導関数G1(90°)のフィルタを表している。
また、図中、中央に並ぶ画像は、左から順番にガウス幅σ=2である場合における2次導関数G2(0°)のフィルタ、2次導関数G2(60°)のフィルタ、2次導関数G2(120°)のフィルタ、およびラプラシアンを表している。
同様に、図中、下側に並ぶ画像は、左から順番にガウス幅σ=2である場合における3次導関数G3(0°)、3次導関数G3(45°)、3次導関数G3(90°)、および3次導関数G3(135°)のフィルタを表している。
さらに例えば、ガウス幅σを4とすると、各基底フィルタは図3に示すようになる。すなわち、図3において、1番上の列の画像は、左から順番にガウス幅σ=4である場合における1次導関数G1(0°)および1次導関数G1(90°)のフィルタを表している。
また、図中、中央に並ぶ画像は、左から順番にガウス幅σ=4である場合における2次導関数G2(0°)のフィルタ、2次導関数G2(60°)のフィルタ、2次導関数G2(120°)のフィルタ、およびラプラシアンを表している。
同様に、図中、下側に並ぶ画像は、左から順番にガウス幅σ=4である場合における3次導関数G3(0°)、3次導関数G3(45°)、3次導関数G3(90°)、および3次導関数G3(135°)のフィルタを表している。
このような各導関数Gn(θ)の3次元形状は、図4に示すようになる。なお、図4において、図中、左上には1次導関数G1(θ)の形状が示されており、右上には2次導関数G2(θ)の形状が示されている。また、図中、左下には3次導関数G3(θ)の形状が示されており、右下にはラプラシアンの形状が示されている。
例えば図4では、図中、右斜め上方向はx方向に対応し、左斜め上方向はy方向に対応している。また、図中、縦方向は各導関数の値(出力値)を示しており、各位置における導関数の値が、その位置と対応する位置にある、フィルタ処理される画像の画素に乗算されるフィルタ係数となる。
以上のように図1乃至図3に示した基底フィルタを用いれば、ガウス関数Gの任意の方向のn次導関数Gn(θ)を用いたフィルタの出力を、少ない計算で効率的に求めることができる。しかしながら、これらの基底フィルタを用いた演算では、2次元の畳み込みが行なわれるため、それなりに時間がかかってしまう。
これに対して、ガウス関数の導関数をx方向およびy方向に分離することができれば、フィルタ処理の演算として、1次元の畳み込み演算を2度行えばよいことになり、フィルタ処理の演算時間をより短くすることができるようになる。
例えば、次式(19)に示すxy座標系上の2次元のガウス関数Gσ(x,y)を考えると、このガウス関数Gσ(x,y)はx方向とy方向とに分離することができる。なお、式(19)において、σはガウス幅である。
このガウス関数Gσ(x,y)は、変数yを含まず変数xのみを含む項と、変数xを含まず変数yのみを含む項との積で表されており、ガウス関数Gσ(x,y)をx方向とy方向に分離できることが分かる。一般にx方向とy方向の2方向に分離可能なフィルタは、xySeparableなフィルタと呼ばれ、Hij=Fi×Gjのようなかたちで表現される。
このようにフィルタが2方向に分離可能であることは、2次元のカーネルで畳み込んだ演算結果と、1次元のカーネルでx方向とy方向に畳み込んだ演算結果が同じであることを示している。x方向とy方向に分離可能なフィルタは、計算時間の大幅な短縮と、カーネル用のメモリの削減という大きな利点を有している。
ところで、上述したガウス関数Gのn次導関数Gn(θ)のフィルタをx方向とy方向に分離することを考えた場合、図1乃至図3に示したフィルタを基底フィルタとすると、n次導関数Gn(θ)のフィルタをx方向とy方向に分離できないことが分かる。
例えば、図1に示した2次導関数G2(60°)、2次導関数G2(120°)、3次導関数G3(45°)、および3次導関数G3(135°)のフィルタは、x方向とy方向に分離することができない。
これに対して、例えば図5に示すように、ガウス関数Gをx方向またはy方向に微分して得られる導関数のフィルタを基底フィルタとして用いれば、x方向とy方向に分離可能な、任意方向θのn次導関数Gn(θ)のフィルタを得ることができる。
図5において、左側1番上の列の画像は、左から順番にガウス関数Gのx方向の1次導関数Gx、およびy方向の1次導関数Gyのフィルタを表している。
より詳細には、これらの画像はフィルタのカーネルであり、画像上の各画素の画素値が、その画素に対応する位置にある、フィルタ処理される画像の画素に乗算されるフィルタ係数である。なお、フィルタの画像における図中、横方向および縦方向は、xy座標系のx方向およびy方向に対応している。また、1次導関数Gx、および1次導関数Gyは、それぞれ上述した式(2)および式(3)で表される関数である。
1次導関数Gxと1次導関数Gyを用いたフィルタを基底フィルタとし、次式(20)に示すように、これらの基底フィルタの出力値の線形結合を求めれば、ガウス関数Gの任意の方向θの1次導関数G1(θ)を用いたフィルタを得ることができる。このフィルタは、x方向とy方向に分離可能なものである。
同様に、図5の左側の上から2番目の列の画像は、左から順番にガウス関数Gのx方向の2次導関数Gxx、xy方向の2次導関数Gxy、およびy方向の2次導関数Gyyのフィルタを表している。2次導関数Gxx、2次導関数Gyy、および2次導関数Gxyは、それぞれ上述した式(4)乃至式(6)で表される関数である。
これらの2次導関数Gxx、2次導関数Gyy、および2次導関数Gxyを用いたフィルタを基底とし、次式(21)に示すように、これらの基底フィルタの出力値の線形結合を求めれば、ガウス関数Gの任意の方向θの2次導関数G2(θ)を用いたフィルタを得ることができる。このフィルタは、x方向とy方向に分離可能なものである。
また、図5の左側の上から3番目の列の画像は、左から順番にガウス関数Gのx方向の3次導関数Gxxx、3次導関数Gxxy、3次導関数Gxyy、およびy方向の3次導関数Gyyyのフィルタを表している。
ここで、3次導関数Gxxxおよび3次導関数Gyyyは、上述した式(7)および式(8)で表される関数である。また、3次導関数Gxxyは、2次導関数Gxxをさらにy方向に微分して得られる導関数であり、3次導関数Gxyyは、2次導関数Gxyをさらにy方向に微分して得られる導関数である。
これらの3次導関数Gxxx、3次導関数Gxxy、3次導関数Gxyy、および3次導関数Gyyyを用いたフィルタを基底とし、次式(22)に示すように、これらの基底フィルタの出力値の線形結合を求めれば、ガウス関数Gの任意の方向θの3次導関数G3(θ)を用いたフィルタを得ることができる。このフィルタも、x方向とy方向に分離可能なものである。
さらに、図5の左側の1番下の列の画像は、左から順番にガウス関数Gのx方向の4次導関数Gxxxx、4次導関数Gxxxy、4次導関数Gxxyy、4次導関数Gxyyy、およびy方向の4次導関数Gyyyyのフィルタを表している。
ここで、4次導関数Gxxxyは、3次導関数Gxxxをさらにy方向に微分して得られる導関数であり、4次導関数Gxxyyは、3次導関数Gxxyをさらにy方向に微分して得られる導関数である。また、4次導関数Gxyyyは、3次導関数Gxyyをさらにy方向に微分して得られる導関数である。
これらの5つの4次導関数を用いたフィルタを基底とし、次式(23)に示すように、これらの基底フィルタの出力値の線形結合を求めれば、ガウス関数Gの任意の方向θの4次導関数G4(θ)を用いたフィルタを得ることができる。このフィルタも、x方向とy方向に分離可能なものである。
なお、図5に示される各フィルタは、より詳細には、2つの1次元のフィルタのセットを2次元のフィルタで表現したものである。例えば、3次導関数Gxxyのフィルタによる演算は、x方向に2次導関数Gxxのフィルタでフィルタ処理した後、y方向に1次導関数Gyのフィルタでフィルタ処理することに対応する。
このように図5における場合においても、図1における場合と同様にn次導関数Gn(θ)を用いたガウシアンステアラブルフィルタを得るには、(n+1)個の基底フィルタがあればよい。
また、図5の右側には、ガウス関数Gのガウス幅σを変化させたときの基底フィルタ等が示されている。例えば、矢印W11に示される画像は、ガウス幅σが異なる2つのガウス分布を示す画像である。
また、矢印W12に示される画像には、ガウス幅σが異なる場合における導関数Gxと導関数Gyのフィルタのセットが、図中、上下に並べられて示されている。同様に、矢印W13に示される画像には、ガウス幅σが異なる場合における導関数Gxx、導関数Gxy、および導関数Gyyのフィルタのセットが、図中、上下に並べられて示されている。さらに、矢印W14に示される画像には、ガウス幅σが異なる場合における導関数Gxxx、導関数Gxxy、導関数Gxyy、および導関数Gyyyのフィルタのセットが、図中、上下に並べられて示されている。
以上のように、x方向およびy方向に分離可能な式(20)乃至式(23)の各導関数のフィルタを用いれば、より簡単かつ迅速に画像に対するフィルタ処理の演算を行なうことができる。
ここで、図5に示した各基底フィルタを、より演算量の少ない矩形フィルタで近似することができれば、フィルタ処理の演算や、その演算時に必要となるメモリの記録容量をさらに低減させることができる。
そこで、本発明を適用した特徴量抽出処理においては、図6に示すように、図5に示した各基底フィルタが、矩形フィルタであるレクタングルフィルタで近似されて、これらのレクタングルフィルタを用いたフィルタ処理により、画像から特徴量が抽出される。
すなわち、図6の左側の1番上の列には、左から順番にガウス関数Gの1次導関数Gx、および1次導関数Gyのフィルタが並べられている。本発明を適用した特徴量抽出処理では、これらの1次導関数Gx、および1次導関数Gyのフィルタは、図6中、右側の1番上の列に並べられているフィルタR1xおよびフィルタR1yに置き換えられる。
ここで、フィルタR1xのカーネルには、フィルタ係数としての画素値が「1」である画素からなる矩形の領域D1と、画素値が「−1」である画素からなる矩形の領域D2とがあり、カーネルにおけるその他の領域の画素の画素値は「0」である。
例えば、1次導関数Gxのフィルタ(以下、適宜、フィルタGxと称する)のカーネルと、フィルタR1xのカーネルとが同じ大きさであり、フィルタGxのカーネルを構成する画素の画素値の取り得る値の範囲が−1から1であるとする。
この場合、フィルタGxのカーネル上の画素のうち、画素値が「1/2」以上である画素からなる矩形の領域D1’(図示せず)が特定され、領域D1’と同じ位置にある、フィルタR1xのカーネル上の領域が、画素値が「1」である画素からなる領域D1とされる。
なお、領域D1’とされる領域は、フィルタGxの画素値の最大値の半分以上の値を画素値としてもつ画素の領域に限らず、特定の値以上の画素値をもつ画素からなる領域とされればよい。また、以下、矩形フィルタのカーネル上において、領域D1のように、画素値が「1」である画素からなる矩形領域を、白色領域とも称することとする。
さらに、フィルタGxのカーネル上の画素のうち、画素値が「−1/2」以下である画素からなる矩形の領域D2’(図示せず)が特定され、領域D2’と同じ位置にあるフィルタR1xのカーネル上の領域が、画素値が「−1」である画素からなる領域D2とされる。
なお、領域D2’とされる領域は、フィルタGxの画素値の最小値の半分以下の値を画素値としてもつ画素の領域に限らず、特定の値以下の画素値をもつ画素からなる領域とされればよい。また、以下、矩形フィルタのカーネル上において、領域D2のように、画素値が「−1」である画素からなる矩形領域を、黒色領域とも称することとする。
同様に、フィルタR1yのカーネルにも黒色領域である領域D3と、白色領域である領域D4とがあり、カーネルにおけるその他の領域の画素の画素値は「0」とされている。このフィルタR1yは、導関数Gyのフィルタに対して、フィルタR1xにおける場合と同様の近似を行なうことで得られた矩形フィルタである。
このように、本発明を適用した特徴量抽出処理では、上述した式(20)における導関数Gxおよび導関数Gyのフィルタが、近似により得られたフィルタR1xおよびフィルタR1yに置き換えられる。
すなわち、次式(24)に示すように、フィルタR1xとフィルタR1yが基底フィルタとされ、これらの基底フィルタの出力値の線形結合により得られる関数が、ガウス関数Gの任意の方向θの1次導関数F1(θ)とされる。この1次導関数F1(θ)のフィルタは、矩形フィルタを基底として線形結合することにより近似的に得られた、ガウシアンステアラブルフィルタである。
具体的には、画像上の注目画素に対するフィルタ処理が行われる場合、画像上の注目画素を含むカーネルと同じ大きさの領域内の各画素の画素値に対して、その画素と同じ位置にあるフィルタR1xの画素の画素値(フィルタ係数)が乗算される。そして、フィルタ係数が乗算された各画素値の和が、フィルタR1xによるフィルタ処理の出力値とされる。
さらに、フィルタR1xと同様の処理が行われてフィルタR1yによるフィルタ処理の出力値が求められ、その出力値にsinθが乗算された値と、フィルタR1xによるフィルタ処理の出力値にcosθが乗算された値との和が、注目画素の新たな画素値とされる。つまり、得られた和の値が方向θの1次導関数F1(θ)のフィルタの出力値とされる。
また、図6の左側の上から2番目の列には、左から順番にガウス関数Gの2次導関数Gxx、2次導関数Gxy、および2次導関数Gyyのフィルタが並べられている。本発明を適用した特徴量抽出処理では、これらの2次導関数Gxx、2次導関数Gxy、および2次導関数Gyyのフィルタは、図6中、右側の上から2番目の列に並べられているフィルタR2xx、フィルタR2xy、およびフィルタR2yyに置き換えられる。
フィルタR2xxのカーネルには、白色領域である領域D5、黒色領域である領域D6、および白色領域である領域D7が並べられて設けられている。また、フィルタR2xyのカーネルには、黒色領域である領域D8、白色領域である領域D9および領域D10、並びに黒色領域である領域D11が設けられている。さらに、フィルタR2yyのカーネルには、白色領域である領域D12、黒色領域である領域D13、および白色領域である領域D14が並べられて設けられている。
これらのフィルタR2xx、フィルタR2xy、およびフィルタR2yyは、導関数Gxx、導関数Gxy、および導関数Gyyに対して、フィルタR1xにおける場合と同様の近似を行なうことで得られた矩形フィルタである。なお、これらのフィルタのカーネル上において、白色領域でも黒色領域でもない領域の画素の画素値は「0」とされる。
本発明を適用した特徴量抽出処理では、上述した式(21)における導関数Gxx乃至導関数Gyyのフィルタが、近似により得られたフィルタR2xx乃至フィルタR2yyに置き換えられる。
すなわち、次式(25)に示すように、フィルタR2xx、フィルタR2xy、およびフィルタR2yyが基底フィルタとされ、これらの基底フィルタの出力値の線形結合により得られる関数が、ガウス関数Gの任意の方向θの2次導関数F2(θ)とされる。この2次導関数F2(θ)のフィルタは、矩形フィルタを基底として線形結合することにより近似的に得られた、ガウシアンステアラブルフィルタである。
さらに、図6の左側の1番下の列には、左から順番にガウス関数Gの3次導関数Gxxx、3次導関数Gxxy、3次導関数Gxyy、および3次導関数Gyyyのフィルタが並べられている。本発明を適用した特徴量抽出処理では、これらの3次導関数Gxxx乃至3次導関数Gyyyのフィルタは、図6中、右側の1番下の列に並べられているフィルタR3xxx、フィルタR3xxy、フィルタR3xyy、およびフィルタR3yyyに置き換えられる。
フィルタR3xxxのカーネルには、白色領域である領域D15、黒色領域である領域D16、白色領域である領域D17、および黒色領域である領域D18が並べられて設けられている。また、フィルタR3xxyのカーネルには、黒色領域である領域D19、白色領域である領域D20、黒色領域である領域D21、白色領域である領域D22、黒色領域である領域D23、および白色領域である領域D24が設けられている。
フィルタR3xyyのカーネルには、白色領域である領域D25、黒色領域である領域D26、白色領域である領域D27、黒色領域である領域D28、白色領域である領域D29、および黒色領域である領域D30が並べられて設けられている。さらに、フィルタR3yyyのカーネルには、黒色領域である領域D31、白色領域である領域D32、黒色領域である領域D33、および白色領域である領域D34が設けられている。
これらのフィルタR3xxx、フィルタR3xxy、フィルタR3xyy、およびフィルタR3yyyは、導関数Gxxx、導関数Gxxy、導関数Gxyy、および導関数Gyyyに対し、フィルタR1xにおける場合と同様の近似を行なうことで得られた矩形フィルタである。なお、これらのフィルタのカーネル上において、白色領域でも黒色領域でもない領域の画素の画素値は「0」とされる。
本発明を適用した特徴量抽出処理では、上述した式(22)における導関数Gxxx乃至導関数Gyyyのフィルタが、近似により得られたフィルタR3xxx乃至フィルタR3yyyに置き換えられる。
すなわち、次式(26)に示すように、フィルタR3xxx、フィルタR3xxy、フィルタR3xyy、およびフィルタR3yyyが基底フィルタとされ、これらの基底フィルタの出力値の線形結合により得られる関数が、ガウス関数Gの任意の方向θの3次導関数F3(θ)とされる。この3次導関数F3(θ)のフィルタは、矩形フィルタを基底として線形結合することにより近似的に得られた、ガウシアンステアラブルフィルタである。
以上のように、矩形フィルタ(Rectangle Steerable Filters)を基底として近似的に求められた、ガウス関数Gのn次導関数Fn(θ)のフィルタを用いれば、画像から所望の特徴の特徴量をより簡単かつ迅速に抽出することができる。
しかも、n次導関数Fn(θ)のフィルタの基底フィルタは矩形フィルタであるので、基底フィルタを用いたフィルタ処理に、インテグラルイメージを用いると、さらにフィルタ処理の演算を迅速に行なうことができるようになる。
例えば、図7の左側に示す画像P11に対して、1次導関数F1(θ)のフィルタを用いたフィルタ処理を行うために、画像P11に対して、フィルタR1xによりフィルタ処理を施す場合を考える。
そのような場合、まず画像P11のインテグラルイメージが生成される。インテグラルイメージは、画像P11と同じ大きさの画像であり、インテグラルイメージ上の画素の画素値は、その画素と同じ位置にある画像P11上の画素と、画像P11の特定の一頂点とを頂点として有する矩形領域内の画素の画素値の総和とされる。
例えば画像P11上の画素Q11に注目した場合、画像P11の図中、左上の頂点と、画素Q11とを頂点として有する領域D51について、領域D51内にある各画素の画素値の総和が求められる。そして、求められた総和の値が、インテグラルイメージにおける、画素Q11と同じ位置の画素の画素値とされる。
インテグラルイメージが生成されると、次にインテグラルイメージの画素の画素値が参照されて、フィルタR1xによるフィルタ処理の演算が行なわれる。
例えば、画像P11上において、画素Q11を中心とするフィルタR1xのカーネルと同じ大きさの領域を領域FD(図示せず)とする。この場合、実質的には以下の処理が行われる。
すなわち、領域FDとフィルタR1xのカーネルとを重ねたときに、領域FDにおいて領域D1と同じ位置にある領域FDa内の画素の画素値に、フィルタ係数「1」が乗算されて、それらの画素値の和Waが算出される。また、領域FDにおいて領域D2と同じ位置にある領域FDb内の画素の画素値に、フィルタ係数「−1」が乗算されて、それらの画素値の和Wbが算出され、これらの和Waと和Wbの和が、フィルタR1xによるフィルタ処理後の画素Q11の画素値とされる。
ここで、本発明を適用した特徴量抽出処理では、和Waと和Wbの絶対値が、インテグラルイメージが用いられて算出される。
例えば、図中、右側に示すように画像P11上の領域FDaが、点PA乃至点PDを頂点とする領域であるとすると、和Waの絶対値は、画像P11上の領域FDa内の画素の画素値の総和である。一方、画像P11の点PDと同じ位置にあるインテグラルイメージの画素の画素値は、画像P11の図中、左上の頂点と点PDとを頂点として有する矩形領域の画素の画素値の総和である。
したがって、画像P11上の点PA乃至点PDと同じ位置にある、インテグラルイメージの画素の画素値を画素値IA乃至画素値IDとすると、画素値IDと画素値IAの和から、画素値IBと画素値ICの和を減算することにより、和Waの絶対値が求まる。同様にして、インテグラルイメージの4点(画素)を参照すれば和Wbの絶対値も求まり、これらの和Waの絶対値と和Wbの絶対値の差分から、フィルタR1xによるフィルタ処理後の画素Q11の画素値が求まることになる。
このように、インテグラルイメージを利用して矩形フィルタの演算を行なえば、フィルタ処理の演算をさらに迅速に行なうことができるようになる。
以上において説明した、本発明を適用した特徴量抽出処理と、従来の他のフィルタを用いた特徴量抽出処理とを比較すると、図8に示すようになる。
図8では、従来のフィルタとしてガボアフィルタ(Gabor Filters)と、ステアラブルフィルタ(Steerable Filters)が例として挙げられて、本発明を適用したn次導関数Fn(θ)のフィルタ(Rectangle Steerable Filters)と比較されている。
まず、各フィルタを構成する基底フィルタの数として、ガボアフィルタは2次元のフィルタが、(フィルタの方向の数×周波数の数)個だけ必要であり、ステアラブルフィルタは、1次元のフィルタが、(2方向×基底数)個だけ必要となる。これに対して、n次導関数Fn(θ)のフィルタでは、各次数の導関数Fn(θ)について、基底フィルタの白色領域と黒色領域の位置および大きさを特定する矩形パラメータがあればよく、フィルタを記録しておくメモリの必要な記録容量が少なくて済む。
また、フィルタ処理の演算中にメモリに記録させておくデータとして、ガボアフィルタでは、2次元の各基底フィルタを記録しておく必要がある。ステアラブルフィルタではx方向およびy方向の1次元の基底フィルタのそれぞれについて、それらの基底フィルタによるフィルタ処理の演算結果を記録しておく必要がある。これに対して、n次導関数Fn(θ)のフィルタでは、インテグラルイメージだけを記録しておけばよい。
さらに、ガボアフィルタを用いた場合、フィルタ処理時には2次元の畳み込み演算が行なわれるため、その演算速度は遅くなってしまう。また、ステアラブルフィルタを用いたフィルタ処理では、1次元の畳み込み演算が2度行なわれるので、ガボアフィルタを用いる場合よりは演算速度が速くなる。これに対して、n次導関数Fn(θ)のフィルタを用いた場合には、インテグラルイメージ上の4画素を参照するだけであるので、フィルタ処理の演算を高速に行なうことができる。
〈第1の実施の形態〉
[人識別システムの構成例]
次に、上述したn次導関数Fn(θ)のフィルタを利用した特徴量抽出処理を、画像から所望の対象物体を検出する人識別システムに適用した実施の形態について説明する。
[人識別システムの構成例]
次に、上述したn次導関数Fn(θ)のフィルタを利用した特徴量抽出処理を、画像から所望の対象物体を検出する人識別システムに適用した実施の形態について説明する。
図9は、本発明を適用した人識別システムの一実施の形態の構成例を示す図である。この人識別システムは、学習装置11、識別器記録部12、および認識装置13からなり、入力された画像における、対象物体としての人間の画像のある領域を認識させるものである。
学習装置11は、入力された学習画像に基づいて、認識装置13において画像上における対象物体の有無を識別する処理を行うときに用いられる、識別用特徴量および統合識別器を生成し、識別器記録部12に記録させる。認識装置13は、識別器記録部12に記録されている識別用特徴量および統合識別器を用いて、入力された入力画像に対象物体である人の画像が存在するか否かを識別し、その識別結果を出力する。
学習装置11は、服装特徴点抽出部21、服装特徴量計算部22、服装識別器生成部23、輪郭特徴点抽出部24、輪郭特徴量計算部25、輪郭識別器生成部26、および統合識別器生成部27から構成される。
服装特徴点抽出部21は、入力された学習画像から、その学習画像の画素のいくつかを服装識別器を生成するときに用いられる服装特徴点として抽出し、抽出した服装特徴点と学習画像とを服装特徴量計算部22に供給する。ここで、服装識別器とは、統計学習により生成された、複数の弱識別器からなる強い識別器であり、人の服装の特徴を利用して、入力された画像中に人の画像の領域が存在するか否かを識別するときに用いられる。
服装特徴量計算部22は、服装特徴点抽出部21からの各服装特徴点について、その服装特徴点と、他の服装特徴点とを1つのペアとするペアリングを行う。また、服装特徴量計算部22は、服装特徴点抽出部21からの学習画像に基づいて、服装特徴点のペアごとに、任意の2つの領域のテクスチャの距離を示す服装特徴量を計算し、求められた服装特徴量と学習画像とを服装識別器生成部23に供給する。
服装識別器生成部23は、服装特徴量計算部22から供給された学習画像および服装特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、対象物体である人を認識する服装識別器を生成する。また、服装識別器生成部23は、生成した服装識別器を統合識別器生成部27に供給する。
輪郭特徴点抽出部24は、入力された学習画像から、その学習画像の画素のいくつかを輪郭識別器を生成するときに用いられる輪郭特徴点として抽出し、抽出した輪郭特徴点と学習画像とを輪郭特徴量計算部25に供給する。ここで、輪郭識別器とは、統計学習により生成された、複数の弱識別器からなる強い識別器であり、人の輪郭を利用して、入力された画像中に人の画像の領域が存在するか否かを識別するときに用いられる。
輪郭特徴量計算部25は、輪郭特徴点抽出部24からの学習画像に基づいて、上述したn次導関数Fn(θ)のフィルタを用いたフィルタ処理により、輪郭特徴点ごとに、抽出された輪郭を示す輪郭特徴量を計算し、求められた輪郭特徴量と学習画像とを輪郭識別器生成部26に供給する。輪郭識別器生成部26は、輪郭特徴量計算部25から供給された学習画像および輪郭特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、対象物体である人を認識する輪郭識別器を生成する。また、輪郭識別器生成部26は、生成した輪郭識別器を統合識別器生成部27に供給する。
統合識別器生成部27は、服装識別器生成部23からの服装識別器と、輪郭識別器生成部26からの輪郭識別器とを統合して統合識別器を生成し、生成した統合識別器を識別器記録部12に供給して記録させる。また、統合識別器生成部27は、統合識別器を用いて対象物体の認識を行うときに用いられる服装特徴点のペアの服装特徴量、および輪郭特徴点の輪郭特徴量を、識別用特徴量として識別器記録部12に供給し、記録させる。
また、認識装置13は、服装特徴点抽出部31、服装特徴量計算部32、輪郭特徴点抽出部33、輪郭特徴量計算部34、識別計算部35、および識別結果出力部36から構成される。なお、認識装置13の服装特徴点抽出部31乃至輪郭特徴量計算部34のそれぞれは、対象物体を認識しようとする入力画像に対して、学習装置11の服装特徴点抽出部21、服装特徴量計算部22、輪郭特徴点抽出部24、および輪郭特徴量計算部25のそれぞれと同様の処理を行うものであるので、その説明は省略する。
識別計算部35は、識別器記録部12に記録されている識別用特徴量および統合識別器を読み出す。また、識別計算部35は、服装特徴量計算部32からの服装特徴量、および輪郭特徴量計算部34からの輪郭特徴量のうちの識別用特徴量に対応するものを、読み出した統合識別器に代入して演算を行う。識別結果出力部36は、識別計算部35における演算結果を取得し、その演算結果に基づいて、対象物体が入力画像で認識されたか否かの識別結果を出力する。
[服装識別器生成部の構成例]
次に、図10を参照して、図9の服装識別器生成部23のより詳細な構成例について説明する。図10は、服装識別器生成部23のより詳細な構成例を示す図である。
次に、図10を参照して、図9の服装識別器生成部23のより詳細な構成例について説明する。図10は、服装識別器生成部23のより詳細な構成例を示す図である。
服装識別器生成部23は、サンプリング部61、重み設定部62、並び替え部63、識別器設定部64、識別器選択部65、および重み更新部66から構成される。
サンプリング部61は、重み設定部62により設定される学習画像単位の重みに応じて、服装特徴点のペアごとに、複数の学習画像のそれぞれの同じ位置の服装特徴点のペアの服装特徴量から、M個の服装特徴量をサンプリングして並び替え部63に供給する。
並び替え部63は、各服装特徴点のペアについて、サンプリングされたM個の服装特徴量を昇べきの順、または降べきの順に並び替えて識別器設定部64に供給する。
識別器設定部64は、服装特徴量が抽出された学習画像に認識しようとする対象物体が含まれているか否かを示す正誤情報に基づいて、昇べきの順、または降べきの順に並び替えられた各ペアの服装特徴量のそれぞれについて、閾値を変化させながら誤り率計算部64aを制御して、誤り率を計算させ、誤り率が最小となるように閾値を設定する(この閾値が、弱識別器として設定される)。さらに、識別器設定部64は、弱識別器ごとの誤り率を識別器選択部65に供給する。
なお、より詳細には、学習画像には、その学習画像に対象物体が含まれているか否かを示す正誤情報(ラベル)が付加されており、識別器設定部64は、服装特徴量計算部22から供給された学習画像に付加されている正誤情報に基づいて、弱識別器の設定を行う。
識別器選択部65は、弱識別器のうち、誤り率が最小となる弱識別器を選択して、弱識別器からなる服装識別器を更新し、最終的な服装識別器および各弱識別器に対応する服装特徴量を統合識別器生成部27に供給する。さらに、識別器選択部65は、選択した弱識別器の誤り率に基づいて信頼度を計算し、重み更新部66に供給する。
重み更新部66は、供給された信頼度に基づいて学習画像ごとの重みを再計算すると共に、重みを正規化して更新し、更新結果を重み設定部62に供給する。重み設定部102は、重み更新部66より供給されてくる重みの更新結果に基づいて、学習画像単位の重みを設定する。
なお、図9の輪郭識別器生成部26は、図10に示した服装識別器生成部23と同様の構成とされるため、その図示および説明は省略する。
[輪郭特徴量計算部の構成例]
また、図11は、図9の輪郭特徴量計算部25のより詳細な構成例を示す図である。
また、図11は、図9の輪郭特徴量計算部25のより詳細な構成例を示す図である。
輪郭特徴量計算部25は、フィルタ記録部91、インテグラルイメージ生成部92、インテグラルイメージ記録部93、主方向計算部94、1次フィルタ処理部95、2次フィルタ処理部96、3次フィルタ処理部97、および特徴量生成部98から構成される。
フィルタ記録部91は、上述したn次導関数Fn(θ)を用いたフィルタを記録している。より詳細には、フィルタ記録部91は、1次導関数F1(θ)、2次導関数F2(θ)、および3次導関数F3(θ)の各基底フィルタのそれぞれにおける、白色領域と黒色領域を特定する矩形パラメータを記録している。
インテグラルイメージ生成部92は、輪郭特徴点抽出部24から供給された学習画像のインテグラルイメージを生成し、インテグラルイメージ記録部93に供給して記録させる。インテグラルイメージ記録部93は、記録しているインテグラルイメージを、適宜、主方向計算部94乃至3次フィルタ処理部97に供給する。
主方向計算部94は、輪郭特徴点抽出部24から供給された輪郭特徴点ごとに、輪郭特徴点における主方向α(=atan(F1(90°)/F1(0°)))を求め、1次フィルタ処理部95乃至3次フィルタ処理部97に供給する。
すなわち、主方向計算部94は、フィルタ記録部91に記録されている1次導関数F1(θ)のフィルタを用いて、インテグラルイメージ記録部93に記録されているインテグラルイメージを参照し、輪郭特徴点に対して1次導関数F1(0°)のフィルタを用いたフィルタ処理を行う。同様にして、主方向計算部94は、輪郭特徴点に対して1次導関数F1(90°)のフィルタを用いたフィルタ処理を行い、それらのフィルタ処理の結果の比を求め、その比のアークタンジェントを求めることにより、主方向αを算出する。
1次フィルタ処理部95は、輪郭特徴点抽出部24から供給された輪郭特徴点ごとに、輪郭特徴点に対して1次導関数F1(θ)のフィルタによりフィルタ処理を施して特徴量を抽出し、特徴量生成部98に供給する。
より詳細には、図12に示すように、輪郭特徴点の画素が注目画素J1であり、注目画素J1に対して水平方向(x方向に対応)に5画素、および垂直方向(y方向に対応)に5画素だけ離れている学習画像上の各画素を、画素J2乃至画素J5とする。
この場合、1次フィルタ処理部95は、図13に示すように、学習画像上において、注目画素J1を中心として、主方向計算部94から供給された主方向αだけ画素J2乃至画素J5を回転させ、回転後の画素J2乃至画素J5を画素J2’乃至画素J5’とする。
そして、1次フィルタ処理部95は、1次導関数F1(θ)のフィルタのガウス幅σと方向θを変化させながら、注目画素J1と画素J2’乃至画素J5’に対して、1次導関数F1(θ)のフィルタを用いたフィルタ処理を行い、その演算結果を特徴量とする。
このとき、1次フィルタ処理部95は、インテグラルイメージ記録部93に記録されているインテグラルイメージを参照し、フィルタ記録部91に記録されている1次導関数F1(θ)のフィルタを用いて、フィルタ処理を行う。
例えば、1次フィルタ処理部95は、ガウス幅σを3つの所定値(例えば、ガウス幅σ1,σ2,σ3=1,2,4)に変化させ、ガウス幅σごとに所定の4方向(例えば、θ=θ1+α,θ2+α,θ3+α,θ4+α)について、フィルタ処理を行う。ここで、αは、上述の主方向αである。
したがって、1つの輪郭特徴点(注目画素J1)について、60(=5(画素)×3(ガウス幅)×4(方向))個の特徴量が抽出されることになる。なお、特徴量が抽出される画素J2’乃至画素J5’は、主方向αにより定まる、注目画素J1近傍の画素であれば、どのような画素であってもよい。
2次フィルタ処理部96は、輪郭特徴点抽出部24から供給された輪郭特徴点ごとに、輪郭特徴点に対して2次導関数F2(θ)のフィルタによりフィルタ処理を施して特徴量を抽出し、特徴量生成部98に供給する。
2次フィルタ処理部96においても、1次フィルタ処理部95における場合と同様に、主方向計算部94からの主方向αにより定まる5つの画素について、3つのガウス幅σごとに、4つの方向に対してフィルタ処理が行われる。このとき、2次フィルタ処理部96は、インテグラルイメージ記録部93に記録されているインテグラルイメージを参照し、フィルタ記録部91に記録されている2次導関数F2(θ)のフィルタを用いて、フィルタ処理を行う。
3次フィルタ処理部97は、輪郭特徴点抽出部24から供給された輪郭特徴点ごとに、輪郭特徴点に対して3次導関数F3(θ)のフィルタによりフィルタ処理を施して特徴量を抽出し、特徴量生成部98に供給する。
3次フィルタ処理部97においても、1次フィルタ処理部95における場合と同様に、主方向計算部94からの主方向αにより定まる5つの画素について、3つのガウス幅σごとに、4つの方向に対してフィルタ処理が行われる。このとき、3次フィルタ処理部97は、インテグラルイメージ記録部93に記録されているインテグラルイメージを参照し、フィルタ記録部91に記録されている3次導関数F3(θ)のフィルタを用いて、フィルタ処理を行う。
特徴量生成部98は1次フィルタ処理部95、2次フィルタ処理部96、および3次フィルタ処理部97からの特徴量を並べて、輪郭特徴点における輪郭特徴量とし、輪郭特徴量と、輪郭特徴点抽出部24からの学習画像とを輪郭識別器生成部26に供給する。
このように、輪郭特徴量計算部25では、ガウス関数の導関数を近似して得られた、方向θおよびガウス幅σに選択性を持つフィルタが用いられて、導関数の次数ごとに異なる特徴量(輪郭)が抽出され、輪郭特徴量とされる。
なお、図9の輪郭特徴量計算部34は、図11の輪郭特徴量計算部25と同様の構成とされるため、その図示および説明は省略する。
[学習処理の説明]
ところで、学習装置11に学習画像が入力され、統合識別器の生成が指示されると、学習装置11は、学習処理を開始して統計学習により統合識別器を生成する。以下、図14のフローチャートを参照して、学習装置11による学習処理について説明する。
ところで、学習装置11に学習画像が入力され、統合識別器の生成が指示されると、学習装置11は、学習処理を開始して統計学習により統合識別器を生成する。以下、図14のフローチャートを参照して、学習装置11による学習処理について説明する。
ステップS11において、服装特徴点抽出部21は、入力された学習画像から服装特徴点を抽出して、抽出した服装特徴点および学習画像を服装特徴量計算部22に供給する。
ステップS12において、服装特徴量計算部22は、服装特徴点抽出部21から供給された服装特徴点と学習画像とに基づいて、各服装特徴点について、服装特徴点のペアリングを行う。
ステップS13において、服装特徴量計算部22は、ペアリングによりペアとされた服装特徴点の各ペアについて服装特徴量を計算し、これにより得られた服装特徴量および学習画像を服装識別器生成部23に供給する。
例えば、図15に示す学習画像が服装特徴点抽出部21に入力された場合、服装特徴点抽出部21は、予め定められたマージン(のりしろ)と、サンプリングスキップ数とに基づいて、学習画像から服装特徴点を抽出する。なお、図15において、学習画像上の円は、服装特徴点とされた画素を示している。
ここで、マージンとは、学習画像において、学習画像の端から服装特徴点の抽出の対象となる領域までの画素数をいう。また、サンプリングスキップ数とは、服装特徴点とされる学習画像上の画素と画素との間隔をいう。
したがって、例えばマージンが5画素であり、サンプリングスキップ数が5画素である場合、服装特徴点抽出部21は、学習画像の端から5画素以内の位置にある画素からなる領域を学習画像から除外し、残りの領域E11を服装特徴点の抽出の対象とする。そして、服装特徴点抽出部21は、領域E11内の画素のうち、互いに5画素だけ離れている位置の画素を服装特徴点として抽出する。つまり、図中、縦方向または横方向に互いに隣り合う服装特徴点間の距離は5画素とされ、各服装特徴点は、領域E11内の画素とされる。
次に、服装特徴量計算部22は、予め定められた最小半径および最大半径に基づいて、各服装特徴点のペアリングを行う。例えば、最小半径がR11であり、最大半径がR12である場合、所定の服装特徴点KT1に注目したとき、服装特徴量計算部22は、服装特徴点KT1からの距離が、最小半径R11以上であり、かつ最大半径R12以内である全ての服装特徴点について、その服装特徴点と、服装特徴点KT1とを1つのペアとする。
したがって、例えば、服装特徴点KT1からの距離が、最小半径R11以上であり、かつ最大半径R12以内である服装特徴点がN個存在する場合、N個の服装特徴点のペアが得られることになる。服装特徴量計算部22は、全ての服装特徴点について、他の服装特徴点とのペアリングを行う。
さらに、服装特徴量計算部22は、ペアリングにより得られた服装特徴点の各ペアについて、ペアとなる各服装特徴点を中心とする所定の形の所定の大きさの領域同士のテクスチャの距離を服装特徴量として計算する。
例えば、図15に示す服装特徴点KT1と服装特徴点KT2とのペアについての服装特徴量をSAD(Sum of Absolute Distance)により求める場合、服装特徴量計算部22は、服装特徴点KT1を中心とする所定の領域を領域TX1とし、服装特徴点KT2を中心とする領域TX1と同じ大きさの領域を領域TX2とする。そして、服装特徴量計算部22は、領域TX1内の画素の画素値と、その画素に対応する領域TX2内の画素の画素値との差分の絶対値和を求め、求められた差分の絶対値和を服装特徴量とする。
なお、服装特徴量は、SADに限らず、SSD(Sum of Square Distance)や、正規化相関などとされてもよい。
このようにして、服装特徴量計算部22は、学習画像から抽出された服装特徴点の各ペアについて、服装特徴量を求める。なお、より詳細には、学習装置11には、対象物体が含まれているいくつかの学習画像と、対象物体が含まれていないいくつかの学習画像とからなる複数の学習画像が入力される。そして、入力された学習画像ごとに、服装特徴点の抽出および服装特徴量の計算が行われる。
したがって、例えばM個(但し、Mは自然数)の学習画像PI1乃至学習画像PIMが学習装置11に入力された場合には、図16に示すように、M個の学習画像PIi(但し、1≦i≦M)について、服装特徴点のペアごとの服装特徴量が得られる。
図16では、1つの四角形は、1つの服装特徴点のペアの服装特徴量を表している。また、図中、縦方向に並べられた四角形の列は、1つの学習画像PIi(但し、1≦i≦M)から得られた服装特徴量の列を表しており、1つの列には、その学習画像PIiから得られた服装特徴点のペアの数だけ服装特徴量が並んでいる。つまり、1つの学習画像PIiから得られた服装特徴点のペアの数が、その学習画像PIiの服装特徴量の次元となる。
さらに、各学習画像PIiの服装特徴量の列の図中、下側には、その学習画像PIiに対象物体が含まれているか否かを示すラベル(正誤情報)が示されている。例えば、学習画像PI1の服装特徴量の列の図中、下側に示されるラベル「+1」は、学習画像PI1に対象物体が含まれることを表しており、学習画像PIMの服装特徴量の列の図中、下側に示されるラベル「−1」は、学習画像PIMに対象物体が含まれていないことを表している。
図14のフローチャートの説明に戻り、ステップS13において、服装特徴量が求められると、ステップS14において、服装識別器生成部23は、服装識別器生成処理を行って、服装識別器を生成する。
ここで、図17のフローチャートを参照して、ステップS14の処理に対応する服装識別器生成処理について説明する。
ステップS51において、重み設定部62は、例えば、図16で示される学習画像PIi(1≦i≦M)毎の重みWiを全て1/Mに初期化し、識別器選択部65は、カウンタjを1に、弱識別器の和からなる服装識別器R(x)を0にそれぞれ初期化する。
ここで、iは、図16における学習画像PIiを識別するものであり、1≦i≦Mである。ステップS51の処理により、全ての学習画像PIiの重みWiは、いずれも正規化された同一の重み(=1/M)とされる。また、カウンタjは、予め定められた、服装識別器R(x)を更新する回数を示している。
ステップS52において、サンプリング部61は、各服装特徴点のペアごとに、複数の学習画像PIiのそれぞれの同じ位置の服装特徴点のペアの服装特徴量から、学習画像PIiの重みWiに応じて、M個の服装特徴量を選択し、並び替え部63に供給する。
例えば、服装特徴量計算部22からサンプリング部61に、図18に示すように、M個の学習画像PI1乃至学習画像PIMの服装特徴量が供給されたとする。図18では、図中、横方向に学習画像PIi(但し、1≦i≦M)から得られた服装特徴量が並べられており、学習画像を表す文字PIiの図中、左側の数字「+1」または「−1」は、その学習画像PIiに付加されたラベル(正誤情報)を示している。
すなわち、図中、一番上側に横方向に並んでいる(A1,A2,A3,・・・,AN)は、学習画像PI1の服装特徴点の各ペアの服装特徴量のそれぞれを表しており、学習画像PI1を示す文字「PI1」の図中、左側の文字「+1」は、学習画像PI1に対象物体が含まれている旨のラベルを表している。
同様に、図中、上から二番目の横方向に並んでいる(B1,B2,B3,・・・,BN)は、学習画像PI2の服装特徴点の各ペアの服装特徴量のそれぞれを表しており、学習画像PI2を示す文字「PI2」の図中、左側の文字「+1」は、学習画像PI2に対象物体が含まれている旨のラベルを表している。
また、図中、上から三番目の横方向に並んでいる(C1,C2,C3,・・・,CN)は、学習画像PI3の服装特徴点の各ペアの服装特徴量のそれぞれを表しており、文字「PI3」の図中、左側の文字「−1」は、学習画像PI3に対象物体が含まれていない旨のラベルを表している。さらに、図中、上からM番目の横方向に並んでいる(M1,M2,M3,・・・,MN)は、学習画像PIMの服装特徴点の各ペアの服装特徴量のそれぞれを表しており、文字「PIM」の図中、左側の文字「−1」は、学習画像PIMに対象物体が含まれていない旨のラベルを表している。
このように、図18の例では、1つの学習画像PIiからは、服装特徴点のN個のペアのそれぞれの服装特徴量が得られる。また、図18では、縦方向に並んだM個の服装特徴量Ak乃至服装特徴量Mk(但し、1≦k≦N)が1つのグループGrkとされており、このグループGrkに属す服装特徴量は、各学習画像PIiにおける同じ位置の服装特徴点のペアの服装特徴量とされている。
例えば、グループGr1は、縦方向に並んだ服装特徴量A1乃至服装特徴量M1からなり、服装特徴量A1が求められる学習画像PI1のペアとなる2つの服装特徴点と、グループGr1に属す他の服装特徴量、例えば服装特徴量M1が求められる学習画像PIMのペアとなる2つの服装特徴点とは、学習画像上の同じ位置にある。なお、以下において、各学習画像PIiにおける服装特徴点のペアであって、グループGrk(1≦k≦N)に属す服装特徴量が求められるペアをペアkと称する。
サンプリング部61に、図18に示される学習画像PIiごとの服装特徴量が供給された場合、サンプリング部61は、ペアkごと、つまりグループGrkごとに、そのグループに属す服装特徴量から学習画像PIiの重みWiに応じて、M個の服装特徴量を抽選で選択する。例えば、サンプリング部61は、重みWiに応じて、グループGr1に属す服装特徴量A1乃至服装特徴量M1から、M個の服装特徴量を選択する。なお、最初の処理においては、いずれの重みWiも1/Mであり、等しいため、M個が抽選されると、確率的には全ての服装特徴量が選択されることになる。そのため、ここでは、最初の処理では各グループGrkにおいて、全ての服装特徴量が選択されたものとする。もちろん、実際には、同一の服装特徴量が重複して選択されることもある。
なお、重みWiは、服装特徴点のペアごとのエラー計算に用いることもできる。この場合、データ重み係数(重みWi)がエラー値に掛け合わされてエラー計算が行われる。
ステップS53において、並び替え部63は、N個のグループGrkのそれぞれについて、グループGrk、つまりペアkごとに選択されたM個の服装特徴量を昇べきの順、または降べきの順に並び替えて、識別器設定部64に供給する。例えば、図18のグループGr1に属す服装特徴量から選択された、M個の服装特徴量が順番に並び替えられる。
ステップS54において、識別器設定部64は、服装特徴量計算部22から供給された学習画像に付加されている正誤情報(ラベル)に基づいて、グループGrkごと、つまり服装特徴点のペアkごとに、閾値を変化させながら誤り率計算部64aを制御して、誤り率ejkを計算させ、誤り率ejkが最小となるように閾値を設定する。
ここで、服装特徴点のペアkごとの閾値thjkが、1個の弱識別器fjkとなる。識別器設定部64は、弱識別器fjkごとの誤り率ejkを識別器選択部65に供給する。すなわち、N個のペアkのそれぞれに対して、N個の弱識別器fjkのそれぞれが設定され、N個の弱識別器fjkのそれぞれについて誤り率ejkが求められることになる。なお、弱識別器fjkは、認識しようとする対象物体を含む場合「+1」を出力し、認識しようとする対象物体を含まない場合「−1」を出力する関数である。
例えば、図19に示すように、j=1であって、服装特徴点のペアk=1の服装特徴量がL1,A1,C1,B1,・・・,M1の順に並べられた場合、閾値th11が服装特徴量A1とC1の間に設定される。そして、閾値th11より小さい範囲では、認識しようとする対象物体がないと認識され(「−1」で示されている範囲)、閾値th11より大きい範囲では、認識しようとする対象物体があると認識される(「+1」で示されている範囲)とき、図中の点線で囲まれた服装特徴量A1は、認識しようとする対象物体が含まれた学習画像の服装特徴量であるので、エラーであるとみなされる。また、服装特徴量C1,M1は、逆に、認識しようとする対象物体が含まれていない学習画像の服装特徴量であるので、エラーであるとみなされる。
図19の例では、閾値th11は、誤り率ejkが最小となる位置に設定されている。例えば、図19に示す閾値th11が、誤り率ejkが最小となる位置ではない場合には、識別器設定部64は、閾値th11の位置を変化させて、各位置における誤り率ejkを参照しながら、誤り率ejkが最小となる閾値th11の位置を探し出し、その位置を閾値th11の位置とする。
誤り率計算部64aは、以下の式(27)で示されるように、学習画像の正誤情報(ラベル)に基づいて、エラーであるとみなされた服装特徴量が抽出された学習画像の重みWiを加算し、誤り率ejkを計算する。
ここで、y≠fjkはエラーとなっている服装特徴点のペアkの条件を示しており、Ewは、エラーの発生したペアkにおける重みが加算されることを示している。
ステップS55において、識別器選択部65は、識別器設定部64から供給されたペアkごとのN個の誤り率ejkに基づいて、N個の弱識別器fjkのうち、誤り率ejkが最小となる弱識別器fjkを選択する。そして、識別器選択部65は、識別器設定部64から選択した弱識別器fjkを取得する。
ステップS56において、識別器選択部65は、選択した弱識別器fjkの誤り率ejkに基づいて、以下の式(28)で示される信頼度cjを計算し、計算結果を重み更新部66に供給する。
なお、式(28)において、ejは、誤り率ejkのうち、選択された弱識別器fjkの誤り率ejk、つまりN個の誤り率ejkのうちの最小の誤り率ejkを示している。また、以下において、ステップS55の処理において選択されたペアkの弱識別器を、弱識別器fjとも称し、その弱識別器fjkの誤り率ejkを誤り率ejとも称する。
ステップS57において、重み更新部66は、供給された信頼度cjに基づいて、以下の式(29)を計算することで、学習画像PIiごとに重みWiを再計算すると共に、全ての重みWiを正規化して更新し、更新結果を重み設定部62に供給する。重み設定部62は、重み更新部66より供給されてくる重みの更新結果に基づいて、学習画像ごとの重みを設定する。
すなわち、式(29)においては、エラーの発生した服装特徴量を含む学習画像の重みWiが大きくなることが示されている。
ステップS58において、識別器選択部65は、新たに求められた弱識別器fjを用いて、保持している服装識別器R(x)を更新する。すなわち、識別器選択部65は、次式(30)を計算することで服装識別器R(x)を更新する。
R(x)=R’(x)+cj×fj(x) ・・・(30)
なお、式(30)において、R’(x)は、識別器選択部65が保持している更新前の服装識別器を表しており、fj(x)は、新たに求められた弱識別器fjを表している。すなわち、識別器選択部65は、保持している服装識別器に、信頼度cjが乗算されて重み付けされた、新たに求められた弱識別器を加算することで服装識別器を更新する。
ステップS59において、識別器選択部65は、誤り率ejkが最小となる弱認識器fjkに対応する服装特徴点のペアkの服装特徴量を、識別用特徴量として保持する。
ステップS60において、識別器選択部65は、カウンタjがL以上であるか否かを判定する。ステップS60において、カウンタjがL以上でないと判定された場合、ステップS61において、識別器選択部65は、カウンタjをインクリメントする。そして、その後、処理はステップS52に戻り、上述した処理が繰り返される。
すなわち、新たに設定された学習画像ごとの重みWiが用いられて、N個のペアkについて、新たな弱識別器fjkが設定され、それらの弱識別器fjkから誤り率ejkが最小となる弱認識器fjkが選択される。そして、選択された弱認識器fjkにより、服装識別器が更新される。
これに対して、ステップS60において、カウンタjがL以上であると判定された場合、ステップS62において、識別器選択部65は、保持している服装識別器および識別用特徴量を統合識別器生成部27に出力する。そして、その後、処理は図14のステップS15に進む。
以上の処理により、L個の比較的誤り率の低い弱識別器fj(1≦j≦L)からなる服装識別器が統合識別器生成部27に供給されるとともに、それぞれの弱識別器fjで使用されるべき服装特徴点のペアkの服装特徴量が統合識別器生成部27に供給される。ここでLは、L≦Nである。
なお、式(30)の服装識別器を用いて、服装特徴量を代入した服装識別器が正である場合に「+1」を出力し、服装識別器が負である場合に「−1」を出力する識別器(関数)を生成すると、その識別器は、L個の弱識別器の多数決により、認識しようとする対象物体の有無を出力する関数であると言える。また、図17のフローチャートを参照して説明した弱識別器を学習処理により重み付けしつつ付加することを繰り返し、識別器を生成する学習処理は、Descrete Adaboost Algorithmと呼ばれている。
すなわち、以上の服装識別器生成処理により、誤り率の高い学習画像の服装特徴量の重みが順次大きくなり、誤り率の低い服装特徴量の重みが小さくなるように、服装特徴点のペアごとに弱識別器と誤り率が計算される処理が繰り返されることになる。したがって、繰り返し処理(ステップS52乃至S61の処理)の中で、弱識別器を設定する際に選択される服装特徴量(ステップS52で選択される服装特徴量)は、徐々に誤り率の高いものが選択されやすくなる。その結果、認識し難い学習画像の服装特徴量がより多く選択され、最終的に高い認識率にすることが可能となる。
また、繰り返し処理(ステップS52乃至S61の処理)の中で、識別器選択部65は、常に誤り率の最も低いペアに対応する弱識別器を選択することになる。したがって、学習処理の繰り返しにより、常に信頼度の最も高い服装特徴点のペアについての弱識別器が選択されて服装識別器に加算されることになる。つまり、処理が繰り返されるごとに精度の高い弱識別器が、服装識別器に順次加算されることになる。
さらに、服装識別器は、服装特徴量を用いて画像に対象物体としての人が含まれているか否かを識別する識別器である。そして、服装識別器を構成する各弱識別器に代入される服装特徴量に対応する服装特徴点のペアは、服装特徴点のペアのうち、入力された画像から対象物体を検出するのに適したペアである。
例えば、服装識別器に代入される服装特徴量に対応するペアは、図20に示すように、画像中の対象物体としての人の周囲にある服装特徴点のペアとされている。図20では、点線の直線は、ペアとなる2つの服装特徴点を結ぶ直線を表しており、その点線の端を中心とする四角形は、服装特徴量を求めるときに用いられるテクスチャの領域を表している。
図20の例では、画像上の人が身に着けている、その人の上半身の洋服内にある2つの服装特徴点からなり、テクスチャ間の距離、つまり服装特徴量が小さくなるペアや、人の洋服内の服装特徴点と、人ではなく背景上の服装特徴点とからなり、服装特徴量が大きくなるペアなどが選択されていることが分かる。
図14のフローチャートの説明に戻り、ステップS15において、輪郭特徴点抽出部24は、入力された学習画像から輪郭特徴点を抽出する。
例えば、輪郭特徴点抽出部24に図21Aに示す学習画像が入力された場合、輪郭特徴点抽出部24は、図21Bに示すように、学習画像において所定の間隔で並んでいる画素を、輪郭特徴点として抽出する。なお、図21Bにおいて、学習画像上の円は輪郭特徴点とされた画素を表している。
図21Aおよび図21Bに示す学習画像は、図中、横方向に32画素、縦方向に64画素からなる学習画像であり、輪郭特徴点抽出部24は、学習画像上の画素を、横方向および縦方向に2画素おきに輪郭特徴点とする画素として選択する。これにより、学習画像において、図中、横方向に12画素、縦方向に28画素、合計336(=12×28)画素が輪郭特徴点として選択される。
輪郭特徴点抽出部24は、学習画像から輪郭特徴点を抽出すると、抽出した輪郭特徴点と、入力された学習画像とを輪郭特徴量計算部25に供給する。
ステップS16において、輪郭特徴量計算部25は、輪郭特徴量計算処理を行い、輪郭特徴点抽出部24から供給された輪郭特徴点および学習画像に基づいて、各輪郭特徴点の輪郭特徴量を計算する。
ここで、図22のフローチャートを参照して、ステップS16の処理に対応する輪郭特徴量計算処理について説明する。
ステップS101において、インテグラルイメージ生成部92は、輪郭特徴点抽出部24から供給された学習画像に基づいて、学習画像のインテグラルイメージを生成し、インテグラルイメージ記録部93に供給する。インテグラルイメージ記録部93は、インテグラルイメージ生成部92から供給されたインテグラルイメージを一時的に記録する。
ステップS102において、輪郭特徴量計算部25、より詳細には、主方向計算部94、1次フィルタ処理部95、2次フィルタ処理部96、および3次フィルタ処理部97は、輪郭特徴点抽出部24から供給された輪郭特徴点のうち、未処理の輪郭特徴点の1つを注目画素として選択する。
ステップS103において、主方向計算部94は、インテグラルイメージ記録部93に記録されているインテグラルイメージを参照して、注目画素における主方向αを計算し、1次フィルタ処理部95乃至3次フィルタ処理部97に供給する。
例えば主方向計算部94は、フィルタ記録部91から取得した1次導関数F1(θ)のフィルタのガウス幅σをσ3とし、注目画素に対して1次導関数F1(0°)および1次導関数F1(90°)のフィルタを用いたフィルタ処理を行うことで、主方向αを求める。
ステップS104において、輪郭特徴量計算部25は、方向θqを示すカウンタqを1とする。これにより、方向θqはθ1とされる。
ステップS105において、輪郭特徴量計算部25は、ガウス幅σpを示すカウンタpを1とする。これにより、ガウス幅σpはσ1とされる。
ステップS106において、1次フィルタ処理部95は、1次フィルタ処理を行う。すなわち、1次フィルタ処理部95は、主方向計算部94から供給された主方向αに基づいて、フィルタ処理の対象となる図13の注目画素J1と画素J2’乃至画素J5’とを特定する。
また、1次フィルタ処理部95は、フィルタ記録部91から取得した1次導関数F1(θ)のフィルタにおけるガウス幅σをσpとするとともに、方向θをθq+αとする。そして、1次フィルタ処理部95は、インテグラルイメージ記録部93に記録されたインテグラルイメージを参照しながら、学習画像上の注目画素J1と画素J2’乃至画素J5’の各画素に対して、1次導関数F1(θq+α)のフィルタを用いたフィルタ処理を行う。
例えば、1次フィルタ処理部95は、フィルタR1xおよびフィルタR1yのそれぞれを用いて、注目画素J1に対するフィルタ処理を行い、それらのフィルタ処理の結果得られた画素値を、上述した式(24)にしたがって線形結合する。具体的には、1次フィルタ処理部95は、フィルタR1xを用いたフィルタ処理結果にcos(θq+α)を乗じた値と、フィルタR1yを用いたフィルタ処理結果にsin(θq+α)を乗じた値とを加算し、得られた値を注目画素J1についての特徴量とする。
1次フィルタ処理部95は、注目画素J1における場合と同様の処理を行って、画素J2’乃至画素J5’の各画素の特徴量を計算し、注目画素J1と画素J2’乃至画素J5’の各画素から得られた特徴量を、特徴量生成部98に供給する。
ステップS107において、2次フィルタ処理部96は、2次フィルタ処理を行う。
すなわち、2次フィルタ処理部96は、主方向計算部94から供給された主方向αに基づいて、フィルタ処理の対象となる図13の注目画素J1と画素J2’乃至画素J5’とを特定する。
また、2次フィルタ処理部96は、フィルタ記録部91から取得した2次導関数F2(θ)のフィルタにおけるガウス幅σをσpとするとともに、方向θをθq+αとする。そして、2次フィルタ処理部96は、インテグラルイメージ記録部93に記録されたインテグラルイメージを参照しながら、学習画像上の注目画素J1と画素J2’乃至画素J5’の各画素に対して、2次導関数F2(θq+α)のフィルタを用いたフィルタ処理を行う。
例えば、2次フィルタ処理部96は、フィルタR2xx、フィルタR2xy、およびフィルタR2yyのそれぞれを用いて、注目画素J1に対するフィルタ処理を行い、それらのフィルタ処理の結果得られた画素値を、上述した式(25)にしたがって線形結合する。具体的には、2次フィルタ処理部96は、フィルタR2xxを用いたフィルタ処理結果にcos2(θq+α)を乗じた値、フィルタR2xyを用いたフィルタ処理結果に-2cos(θq+α)sin(θq+α)を乗じた値、およびフィルタR2yyを用いたフィルタ処理結果にsin2(θq+α)を乗じた値を加算し、得られた値を注目画素J1についての特徴量とする。
2次フィルタ処理部96は、注目画素J1における場合と同様の処理を行って、画素J2’乃至画素J5’の各画素の特徴量を計算し、注目画素J1と画素J2’乃至画素J5’の各画素から得られた特徴量を、特徴量生成部98に供給する。
ステップS108において、3次フィルタ処理部97は、3次フィルタ処理を行う。
すなわち、3次フィルタ処理部97は、主方向計算部94から供給された主方向αに基づいて、フィルタ処理の対象となる図13の注目画素J1と画素J2’乃至画素J5’とを特定する。
また、3次フィルタ処理部97は、フィルタ記録部91から取得した3次導関数F3(θ)のフィルタにおけるガウス幅σをσpとするとともに、方向θをθq+αとする。そして、3次フィルタ処理部97は、インテグラルイメージ記録部93に記録されたインテグラルイメージを参照しながら、学習画像上の注目画素J1と画素J2’乃至画素J5’の各画素に対して、3次導関数F3(θq+α)のフィルタを用いたフィルタ処理を行う。
例えば、3次フィルタ処理部97は、フィルタR3xxx、フィルタR3xxy、フィルタR3xyy、およびフィルタR3yyyのそれぞれを用いて、注目画素J1に対するフィルタ処理を行い、それらのフィルタ処理の結果得られた画素値を、上述した式(26)にしたがって線形結合する。
具体的には、3次フィルタ処理部97は、フィルタR3xxx乃至フィルタR3yyyを用いたフィルタ処理結果のそれぞれに、cos3(θq+α)、-3cos2(θq+α)sin(θq+α)、3cos(θq+α)sin2(θq+α)、および-sin3(θq+α)のそれぞれを乗じて、その結果得られた各値の和を注目画素J1についての特徴量とする。3次フィルタ処理部97は、注目画素J1における場合と同様の処理を行って、画素J2’乃至画素J5’の各画素の特徴量を計算し、注目画素J1と画素J2’乃至画素J5’の各画素から得られた特徴量を、特徴量生成部98に供給する。
このように、主方向αに応じて特徴量を抽出する画素の位置を変化(回転)させることで、学習画像上の対象物体の回転に対して、不変な特徴量を得ることができる。また、特徴量の抽出に、インテグラルイメージと矩形フィルタを用いることで、より簡単かつ迅速に特徴量を抽出することができる。
ステップS109において、輪郭特徴量計算部25は、ガウス幅σpがσ3であるか、つまりカウンタp=3であるか否かを判定する。ステップS109において、ガウス幅σpがσ3でないと判定された場合、ステップS110において、輪郭特徴量計算部25は、カウンタpをインクリメントする。例えば、カウンタp=1であった場合、カウンタpがインクリメントされてp=2とされ、これによりガウス幅σpはσ2とされる。カウンタpがインクリメントされると、処理はステップS106に戻り、上述した処理が繰り返される。
一方、ステップS109において、ガウス幅σpがσ3であると判定された場合、ステップS111において、輪郭特徴量計算部25は、方向θqがθ4であるか否か、つまりカウンタq=4であるか否かを判定する。
ステップS111において、方向θqがθ4でないと判定された場合、ステップS112において、輪郭特徴量計算部25は、カウンタqをインクリメントする。例えば、カウンタq=1であった場合、カウンタqがインクリメントされてq=2とされ、これにより方向θqはθ2とされる。カウンタqがインクリメントされると、処理はステップS105に戻り、上述した処理が繰り返される。
これに対して、ステップS111において、方向θqがθ4であると判定された場合、処理はステップS113に進む。ステップS113において、特徴量生成部98は、1次フィルタ処理部95、2次フィルタ処理部96、および3次フィルタ処理部97から供給された演算結果を輪郭特徴量として合成し、1つの輪郭特徴点に対する輪郭特徴量を生成する。
ステップS114において、輪郭特徴量計算部25は、全ての輪郭特徴点について処理が終了したか否かを判定する。例えば、輪郭特徴点抽出部24から供給された全ての輪郭特徴点について、輪郭特徴量が求められた場合、処理が終了したと判定される。
ステップS114において、全ての輪郭特徴点について処理が終了していないと判定された場合、処理はステップS102に戻り、次の輪郭特徴点が注目画素として選択される。
これに対して、ステップS114において、全ての輪郭特徴点について処理が終了したと判定された場合、特徴量生成部98は、輪郭特徴点抽出部24から供給された学習画像と、生成された各輪郭特徴点の輪郭特徴量とを輪郭識別器生成部26に供給する。そして、その後、処理は図14のステップS17に進む。
なお、以上においては、輪郭特徴点と、その周辺の画素とから、n次導関数Fn(θq+α)のフィルタが用いられて特徴量が抽出されると説明したが、輪郭特徴点のみから、n次導関数Fn(θq)のフィルタが用いられて特徴量が抽出されるようにしてもよい。
図14のフローチャートの説明に戻り、各輪郭特徴点の輪郭特徴量が求められると、ステップS17において、輪郭識別器生成部26は、輪郭特徴量計算部25から供給された学習画像および輪郭特徴量に基づいて、輪郭識別器生成処理を行い、輪郭識別器を生成する。なお、この輪郭識別器生成処理は、図17を参照して説明した服装識別器生成処理と同様であるので、その説明は省略する。
すなわち、服装識別器生成処理と輪郭識別器生成処理とは、処理対象となる特徴量が服装特徴量であるか、または輪郭特徴量であるかという点のみが異なる。したがって、輪郭識別器生成処理においては、最も誤り率の低い輪郭特徴点の輪郭特徴量に対応する弱識別器の和から輪郭識別器が生成される。輪郭識別器生成部26は、生成した輪郭識別器および識別用特徴量を統合識別器生成部27に出力する。
ステップS18において、統合識別器生成部27は、服装識別器生成部23から供給された服装識別器と、輪郭識別器生成部26から供給された輪郭識別器とを統合して統合識別器を生成する。
例えば、Adaboostによる統計学習処理により得られた識別器は、弱識別器の線形結合により表現されるので、統合識別器生成部27は、服装識別器と輪郭識別器とをLate Fusion方式により統合する。
具体的には、統合識別器生成部27は、次式(31)を計算することで、服装識別器R(x)と輪郭識別器T(x)とを線形結合し、識別器和U(x)を求める。
U(x)=β・R(x)+γ・T(x) ・・・(31)
なお、式(31)において、βおよびγは所定の定数、つまりチューニングパラメータであり、例えば統計学習処理に用いられる学習画像に対する識別率などにより求められる。また、輪郭識別器T(x)は、式(30)により示される服装識別器R(x)と同様に、信頼度が乗算された弱識別器の和とされる。
さらに、統合識別器生成部27は、求められた識別器和U(x)を用いて、次式(32)により示される統合識別器を生成する。
統合識別器=sign(U(x)) ・・・(32)
なお、式(32)において、sign(U(x))は、識別器和U(x)が正の場合、認識しようとする対象物体が、入力画像中に存在することを示す「+1」を出力し、識別器和U(x)が負の場合、認識しようとする対象物体が、入力画像中に存在しないことを示す「−1」を出力する関数である。
このようにして、統合識別器が生成されると、統合識別器生成部27は、生成した統合識別器を識別器記録部12に供給して記録させる。また、統合識別器生成部27は、服装識別器生成部23から供給された識別用特徴量に、輪郭識別器生成部26から供給された識別用特徴量を付加して最終的な識別用特徴量とし、最終的な識別用特徴量を識別器記録部12に供給して記録させ、学習処理は終了する。
以上のようにして、学習装置11は、学習画像から服装特徴点を抽出して、服装特徴点のペアの服装特徴量を求め、統計学習により服装識別器を生成するとともに、学習画像から輪郭特徴点を抽出して輪郭特徴量を求め、統計学習により輪郭識別器を生成する。そして、学習装置11は、服装識別器と輪郭識別器とを線形結合により統合して、統合識別器を生成する。
このように、服装識別器と輪郭識別器とを統合して統合識別器を生成することで、画像からより確実に対象物体を検出できる統合識別器を提供することができる。すなわち、統合識別器は、対象物体の服装の特徴を利用した服装識別器と、対象物体の輪郭を利用した輪郭識別器とが統合されたものであるので、入力された画像から、少なくとも一方の特徴量を充分に抽出することができれば、画像から対象物体を検出することができる。
画像から対象物体としての人を検出する場合、対象物体としての人は、服装が変化しても、人として検出されるべきである。そのため、従来は、人の服装の輝度によらない特徴量として、輪郭だけが用いられて画像からの人の検出が行われていた。
これに対して、学習装置11では、人の服装の特徴を利用した、人の服装のパターンの変化に対して不変な服装特徴量が、画像からの人の検出に用いられている。この服装特徴量は、統計的に、人が上半身(シャツ)で同じテクスチャの繰り返しのパターンであり、下半身(ズボン)で同じテクスチャの繰り返しのパターンである洋服を着用することが多いことに着目し、新たに定義された特徴量である。
つまり、服装特徴量は、画像上の任意の2つの領域のテクスチャ、すなわち輝度のパターンの似ている度合い(類似度)を示している。例えば、人の上半身の2つの領域間のテクスチャの類似度は高く、上半身と下半身や、人の服装と背景とのテクスチャの類似度は低い。学習装置11では、このような2つの領域のテクスチャの類似度を利用して、画像から人を検出する服装識別器が用いられ、統合識別器が生成される。
したがって、例えば、入力された画像から輪郭が充分に抽出できなくても、画像から2つの領域のテクスチャの類似の特徴を充分に抽出できれば、統合識別器を用いて、画像から人を検出することができる。逆に、画像中において、人の着用している洋服が繰り返しでないパターンの服であったり、バッグなどで洋服が部分的に隠れていたりする場合には、画像からテクスチャの類似の特徴を充分に抽出できない恐れがあるが、画像から輪郭を充分に抽出することができれば、統合識別器により画像から人を検出することができる。
[人検出処理の説明]
ところで、認識装置13に入力画像が入力され、対象物体としての人の検出が指示されると、認識装置13は、人検出処理を開始して、入力画像から対象物体を検出する。以下、図23のフローチャートを参照して、認識装置13による人検出処理について説明する。
ところで、認識装置13に入力画像が入力され、対象物体としての人の検出が指示されると、認識装置13は、人検出処理を開始して、入力画像から対象物体を検出する。以下、図23のフローチャートを参照して、認識装置13による人検出処理について説明する。
なお、ステップS151の処理乃至ステップS153の処理のそれぞれは、図14のステップS11の処理乃至ステップS13の処理のそれぞれと同様であるので、その説明は省略する。すなわち、服装特徴点抽出部31は、入力された入力画像から服装特徴点を抽出し、服装特徴量計算部32は、服装特徴点抽出部31により抽出された服装特徴点のペアリングを行って、各ペアの服装特徴量を計算する。そして、服装特徴量計算部32は、各ペアについて求めた服装特徴量を識別計算部35に供給する。
ステップS154において、輪郭特徴点抽出部33は、図14のステップS15の処理と同様の処理を行い、入力された入力画像から輪郭特徴点を抽出し、入力画像とともに輪郭特徴量計算部34に供給する。
ステップS155において、輪郭特徴量計算部34は、輪郭特徴点抽出部33からの入力画像および輪郭特徴点に基づいて、輪郭特徴量計算処理を行い、各輪郭特徴点の輪郭特徴量を計算する。そして、輪郭特徴量計算部34は、求められた輪郭特徴量を識別計算部35に供給する。なお、この輪郭特徴量計算処理は、図22を参照して説明した輪郭特徴量計算処理と同様の処理であるため、その説明は省略する。
ステップS156において、識別計算部35は、識別器記録部12から識別用特徴量および統合識別器を読み出して、読み出した統合識別器に特徴量を代入して計算する。すなわち、識別計算部35は、服装特徴量計算部32からの服装特徴量、および輪郭特徴量計算部34からの輪郭特徴量のうちの識別用特徴量に対応するものを、式(32)により示される統合識別器に代入して演算を行う。
ここで、統合識別器を構成する弱識別器に代入される特徴量は、識別用特徴量とされた特徴量が求められた、学習画像の服装特徴点のペアまたは輪郭特徴点と同じ位置にある、入力画像上の服装特徴点のペアまたは輪郭特徴点から求められた特徴量である。また、識別用特徴量とされる特徴量は、統計学習処理時において、統合識別器を構成する弱識別器の設定に用いられた特徴量である。
式(32)の演算が行われると、その演算の結果として、入力画像中に対象物体としての人が存在することを示す「+1」、または入力画像中に対象物体としての人が存在しないことを示す「−1」が得られる。識別計算部35は、統合識別器での演算結果を識別結果出力部36に供給する。
ステップS157において、識別結果出力部36は、識別計算部35からの演算結果に基づいて、人の検出結果を出力し、人検出処理は終了する。すなわち、対象物体が入力画像で認識されたか否かの識別結果が出力される。
例えば、対象物体が入力画像で認識されたか否かの識別結果として、図24に示すように、対象物体としての人が検出された領域に枠が表示された入力画像が、識別結果出力部36に表示されるようにしてもよい。
図24に示す入力画像は、対象物体としての2人の人が写っている画像であり、入力画像には、それぞれの人を囲む枠が表示されている。この場合、識別結果出力部36にも入力画像が入力され、識別計算部35は、演算結果とともに入力画像における対象物体が検出された領域を示す情報を識別結果出力部36に供給する。すると、識別結果出力部36は、識別計算部35からの演算結果および領域を示す情報に基づいて、入力画像から対象物体が検出された場合には、入力画像とともに、対象物体が検出された領域を囲む枠を表示する。
このようにして、認識装置13は、入力画像から服装特徴点を抽出して、服装特徴点のペアの服装特徴量を求めるとともに、入力画像から輪郭特徴点を抽出して輪郭特徴量を求める。そして、認識装置13は、求めた服装特徴量および輪郭特徴量と、識別器記録部12に記録されている統合識別器とを用いて、入力画像から対象物体を検出する。
このように、服装特徴量および輪郭特徴量を用いて入力画像から対象物体を検出することで、より確実に画像から対象物体を検出することができる。すなわち、入力画像から服装特徴量または輪郭特徴量の少なくとも何れか一方を充分に抽出することができれば、入力画像から対象物体を確実に検出することができる。
なお、以上においては、対象物体として人を検出すると説明したが、対象物体は、人に限らず、物体の表面のパターンが、同じテクスチャの繰り返しのパターンとなるものであれば、どのようなものであってもよい。
また、以上においては、Descrete Adaboost Algorithmに基づいて、統計学習処理を実行する例について説明してきたが、それ以外のBoosting Algorithmを適用するようにしてもよく、例えば、Gentle Adaboost Algorithmを用いるようにしてもよい。Descrete Adaboost Algorithmと、Gentle Adaboost Algorithmとは、前者の識別器の出力結果が離散変量であるのに対して、後者は、連続変量である点で異なる。しかしながら、前者においては、信頼度が乗じられるため、出力結果は、実質的に連続変量として扱われており、本質的に処理の違いはない。
さらに、その他、SVM(Support Vector Machine)やBaysianなどにより統計学習処理を行い、服装識別器や輪郭識別器を生成するようにしてもよい。なお、統計学習処理において、Adaboostなどで特徴量(服装特徴量または輪郭特徴量)を選択するようにすると、認識装置13における統合識別器を用いた人の検出時に、より高速に処理を行うことができるようになる。
〈第2の実施の形態〉
[画像処理システムの構成例]
次に、本発明を適用した他の実施の形態について説明する。
[画像処理システムの構成例]
次に、本発明を適用した他の実施の形態について説明する。
図25は、本発明を適用した画像処理システムの一実施の形態の構成を示す図である。
本発明を適用した画像処理システムは、画像中の対象物体を認識させる、いわゆる画像認識処理を実現させるものである。
学習装置131は、認識しようとする対象物体が含まれている画像からなる複数の学習用モデル画像と、認識しようとする対象物体が含まれている画像、および対象物体が含まれていない画像のいずれもが含まれている複数の学習用入力画像とに基づいて、画像認識装置132による画像認識処理において必要とされる認識用特徴量と、識別器を生成し、それぞれ認識用特徴量記録部133、および識別器記録部134に記録させる。
画像認識装置132は、入力画像に基づいて、認識用特徴量記録部133に記録されている認識用特徴量と、識別器記録部134に記録されている識別器に基づいて、入力画像中に対象物体が存在するか否かを判定する。
学習装置131の特徴点抽出部151は、例えば、Harris Corner Ditectorなどからなり、学習用モデル画像の各画素について特徴を有する位置、すなわち特徴点を抽出し、特徴量抽出部152に供給する。
特徴量抽出部152は、特徴点抽出部151より供給される特徴点のそれぞれについて、n次導関数Fn(θ)のフィルタを用いたフィルタ処理により特徴量を抽出し、特徴点ペアリング部153に供給する。
特徴点ペアリング部153は、特徴量抽出部152より供給される各特徴点の特徴量のうち、後述する主方向の情報に基づいて、2個の特徴点をペアリングし、それぞれの特徴量を1個の特徴量(以下、学習用モデル特徴量とも称する)として、学習用モデル特徴量記録部154に記録させる。
特徴点抽出部155、特徴量抽出部156、および特徴点ペアリング部157は、学習用入力画像に対して、特徴点抽出部151、特徴量抽出部152、および特徴点ペアリング部153と同様の処理を実行するものであるので、その説明は省略する。なお、以下、特徴点ペアリング部157から特徴量選択部158に供給される、学習用入力画像から抽出された2個の特徴点の特徴量がペアリングされて得られた特徴量を、学習用入力特徴量とも称するものとする。
特徴量選択部158は、学習用モデル特徴量記録部154に記録されている学習用モデル特徴量ごとに、最も相関の高い学習用入力特徴量を選択し、識別器生成部159に供給する。
なお、特徴点抽出部151、特徴量抽出部152、および特徴点ペアリング部153は、複数の学習用モデル画像より学習用モデル特徴量を抽出して学習用モデル特徴量記録部154に記録させる。この際、学習用モデル画像を区別することはない。一方、特徴量選択部158は、学習用入力画像のそれぞれについて区別して学習用入力特徴量を選択して、識別器生成部159に供給する。
識別器生成部159は、学習用モデル特徴量ごとに、最も相関の高い学習用入力特徴量を用いてAdaboostによる統計学習処理を実行し、対象物体を認識する識別器を生成して、識別器記録部134に記録させる。この際、識別器生成部159は、識別器の学習の過程で、対象物体を認識するのに大きく影響する学習用モデル特徴量のみを抽出し、認識用特徴量として認識用特徴量記録部133に記録させる。
特徴点抽出部171、特徴量抽出部172、および特徴点ペアリング部173は、対象物体を認識しようとする入力画像に対して、特徴点抽出部151、特徴量抽出部152、および特徴点ペアリング部153と同様の処理を実行するものであるので、その説明は省略する。なお、以下、特徴点ペアリング部173から特徴量選択部174に供給される、入力画像から抽出された2個の特徴点の特徴量がペアリングされて得られた特徴量を、入力特徴量とも称するものとする。
特徴量選択部174は、認識用特徴量記録部133に記録されている認識用特徴量ごとに、最も相関の高い入力特徴量を選択し、識別計算部175に供給する。
識別計算部175は、識別器記録部134に記録されている識別器を読み出して、特徴量選択部174から供給された入力特徴量を、識別器に代入して演算を行い、その演算結果を識別結果出力部176に供給する。識別結果出力部176は、識別計算部175より供給される演算結果に基づいて、対象物体が入力画像で認識されたか否かの認識結果を出力する。
[特徴量抽出部の構成例]
また、図25の特徴量抽出部152は、より詳細には図26に示すように構成される。すなわち、特徴量抽出部152は、フィルタ記録部201、インテグラルイメージ生成部202、インテグラルイメージ記録部203、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、主方向計算部207、および特徴量生成部208から構成される。
また、図25の特徴量抽出部152は、より詳細には図26に示すように構成される。すなわち、特徴量抽出部152は、フィルタ記録部201、インテグラルイメージ生成部202、インテグラルイメージ記録部203、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、主方向計算部207、および特徴量生成部208から構成される。
なお、フィルタ記録部201乃至インテグラルイメージ記録部203は、図11のフィルタ記録部91乃至インテグラルイメージ記録部93と同様であるので、その説明は省略する。この例では、インテグラルイメージ記録部203には、学習用モデル画像から生成されたインテグラルイメージが記録されることになる。
1次フィルタ処理部204は、特徴点抽出部151から供給された特徴点ごとに、特徴点に対して1次導関数F1(θ)のフィルタによりフィルタ処理を施して特徴量を抽出し、特徴量生成部208に供給する。
より詳細には、特徴点の画素と、その画素に対して水平方向(x方向に対応)に5画素、および垂直方向(y方向に対応)に5画素だけ離れている学習用モデル画像上の4つの画素とのそれぞれから、特徴量が抽出される。つまり、特徴量が抽出される画素は、学習用モデル画像において、図12の注目画素J1および画素J2乃至画素J5に対応する画素である。以下、特徴量が抽出されるこれらの画素を、適宜、注目画素J1および画素J2乃至画素J5とも称することとする。
1次フィルタ処理部204は、1次導関数F1(θ)のフィルタのガウス幅σと方向θを変化させながら、注目画素J1と画素J2乃至画素J5に対して、1次導関数F1(θ)のフィルタを用いたフィルタ処理を行い、その演算結果を特徴量とする。
このとき、1次フィルタ処理部204は、インテグラルイメージ記録部203に記録されているインテグラルイメージを参照し、フィルタ記録部201に記録されている1次導関数F1(θ)のフィルタを用いて、フィルタ処理を行う。
例えば、1次フィルタ処理部204は、ガウス幅σを3つの所定値(例えば、ガウス幅σ1,σ2,σ3=1,2,4)に変化させ、ガウス幅σごとに所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について、フィルタ処理を行う。
したがって、1つの特徴点(注目画素J1)について、60(=5(画素)×3(ガウス幅)×4(方向))個の特徴量が抽出されることになる。
2次フィルタ処理部205は、特徴点抽出部151から供給された特徴点ごとに、特徴点に対して2次導関数F2(θ)のフィルタによりフィルタ処理を施して特徴量を抽出し、特徴量生成部208に供給する。
2次フィルタ処理部205においても、1次フィルタ処理部204における場合と同様に、特徴点である注目画素J1と、その周囲の画素J2乃至画素J5について、3つのガウス幅σごとに、4つの方向に対してフィルタ処理が行われる。このとき、2次フィルタ処理部205は、インテグラルイメージ記録部203に記録されているインテグラルイメージを参照し、フィルタ記録部201に記録されている2次導関数F2(θ)のフィルタを用いて、フィルタ処理を行う。
3次フィルタ処理部206は、特徴点抽出部151から供給された特徴点ごとに、特徴点に対して3次導関数F3(θ)のフィルタによりフィルタ処理を施して特徴量を抽出し、特徴量生成部208に供給する。
3次フィルタ処理部206においても、1次フィルタ処理部204における場合と同様に、特徴点である注目画素J1と、その周囲の画素J2乃至画素J5について、3つのガウス幅σごとに、4つの方向に対してフィルタ処理が行われる。このとき、3次フィルタ処理部206は、インテグラルイメージ記録部203に記録されているインテグラルイメージを参照し、フィルタ記録部201に記録されている3次導関数F3(θ)のフィルタを用いて、フィルタ処理を行う。
主方向計算部207は、特徴点抽出部151から供給された特徴点ごとに、ガウス幅σを上述した3個の所定値の最大値、つまりガウス幅σ=σ3として主方向α(=atan(F1(90°)/F1(0°)))を求める。主方向計算部207は、求めた主方向αを特徴量として特徴量生成部208に供給する。
すなわち、主方向計算部207は、フィルタ記録部201に記録されている1次導関数F1(θ)のフィルタを用いて、インテグラルイメージ記録部203に記録されているインテグラルイメージを参照し、特徴点に対して1次導関数F1(0°)のフィルタを用いたフィルタ処理を行う。同様にして、主方向計算部207は、特徴点に対して1次導関数F1(90°)のフィルタを用いたフィルタ処理を行い、それらのフィルタ処理の結果の比を求め、その比のアークタンジェントを求めることにより、主方向αを算出する。
特徴点の特徴量の主方向αは、ガウス関数Gのx方向(0°方向)の1次導関数F1(0°)と、y方向(90°方向)の1次導関数F1(90°)により決定される値である。
例えば、図27の左側に示されるように、画素J2乃至画素J5が、水平方向および垂直方向に平行で、かつ注目画素J1から等距離に位置するような状態で、注目画素J1の主方向が角度αであったとする。この状態から、図27の右側に示すように、注目画素J1に対して画素J2乃至画素J5が、それぞれ角度αだけ回転移動するようなことがあっても、主方向はαから2αとなるだけである。したがって、特徴点における特徴量は、特徴点を中心とした回転に対して不変である。
特徴量生成部208は、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、および主方向計算部207から供給された特徴量を並べて、特徴点における特徴量とし、特徴点ペアリング部153に供給する。このとき、特徴量生成部208は、各特徴点の位置の情報についても併せて特徴点ペアリング部153に供給する。
1つの特徴点と、その特徴点の周囲の4画素とからは、導関数の次数ごとに4つの方向θについて、それぞれ3つのガウス幅σの特徴量が抽出され、さらに特徴点からは主方向αも特徴量として抽出される。したがって、1つの特徴点からは、合計181個(=3(次数)×5(画素数)×4(方向θ)×3(ガウス幅σ)+1(主方向)のパラメータが特徴量として抽出されることになる。なお、このような各特徴点の特徴量は、特徴点を中心として回転不変であるため、特に回転不変局所記述子とも称される。
[特徴点ペアリング部の構成例]
次に、図28を参照して、特徴点ペアリング部153の構成について説明する。
次に、図28を参照して、特徴点ペアリング部153の構成について説明する。
特徴量バッファ231は、特徴量抽出部152から供給された特徴量を特徴点に対応付けて一旦記録する。主方向抽出部232は、特徴量バッファ231に記録されている特徴点の特徴量ごとに、主方向αの情報を抽出し、特徴点の情報とともに同一主方向特徴量検索部233に供給する。
同一主方向特徴量検索部233は、主方向抽出部232から供給された主方向αの情報に基づいて、特徴点(注目画素)の主方向αに対して、主方向の角度が所定の角度(α−φ)乃至角度(α+φ)の範囲内である他の特徴点のうち、注目画素から最も近い位置にある特徴点をペアリング特徴点として検索する。そして、同一主方向特徴量検索部233は、注目画素とされている特徴点とペアリング特徴点とを特徴量合成部234に供給する。
例えば、図29に示すように、特徴点V1乃至特徴点V6が存在するものとする。なお、図29においては、各特徴点V1乃至特徴点V6から伸びている矢印が各特徴点における主方向であるものとする。注目画素となる特徴点V1における主方向αに対して、主方向が、角度(α−φ)乃至角度(α+φ)の範囲内である特徴点は、特徴点V5である。したがって、図29において、同一主方向特徴量検索部233は、特徴点V1と、特徴点V1のペアリング特徴点としての特徴点V5とを特徴量合成部234に供給する。同一主方向特徴量検索部233は、特徴点ごとに、ペアリング特徴点を抽出して、特徴量合成部234に供給する。
特徴量合成部234は、同一主方向特徴量検索部233から供給された各特徴点と、そのペアリング特徴点との特徴量を特徴量バッファ231から読み出して合成し、ペアリング特徴量とする。特徴量合成部234は、得られたペアリング特徴量を学習用モデル特徴量として、学習用モデル特徴量記録部154に記録させる。
すなわち、特徴点ペアリング部153は、図29の特徴点V1の特徴量を、特徴点V1における特徴量と、特徴点V1の主方向αに対して、主方向が角度α±φの範囲である特徴点であって、最も近い位置に存在する特徴点V5における特徴量とを併せたものとする。したがって、特徴点1点についてn次導関数Fn(θ)のフィルタにより得られるパラメータが181個であるので、特徴点がペアリングされることにより各特徴点の特徴量(ペアリング特徴量)のパラメータは362個となる。つまり、ここでは、各特徴点における主方向という幾何学的な弱い拘束により決定される2個の特徴点の特徴量が、1個の特徴点の特徴量(ペアリング特徴量)として扱われることになる。
結果として、学習用モデル特徴量記録部154には、各特徴点について362個のパラメータからなる特徴量が学習用モデル特徴量として記録されることになる。
なお、上述したように、特徴点抽出部155乃至特徴点ペアリング部157については、特徴点抽出部151乃至特徴点ペアリング部153と同様の構成となっている。特徴点抽出部151乃至特徴点ペアリング部153では、認識対象物体を含んだ画像からなる学習用モデル画像が対象とされるのに対して、特徴点抽出部155乃至特徴点ペアリング部157では、認識対象物体を含む画像と、含まない画像からなる学習用入力画像に対して同様の処理が行われる。
[特徴量選択部の構成例]
次に、図30を参照して、特徴量選択部158の構成について説明する。
次に、図30を参照して、特徴量選択部158の構成について説明する。
ペアリング特徴量記録部261は、特徴点ペアリング部157から供給された学習用入力画像から抽出されたペアリング特徴量を特徴点毎に一時的に記録する。相関係数生成部262は、学習用モデル特徴量記録部154に記録されているペアリング特徴量ごとに、ペアリング特徴量記録部261に記録されている各ペアリング特徴量との相関係数を生成し、最大相関係数探索部263に供給する。
より具体的には、ペアリング特徴量が、n次元のパラメータから構成される場合(今の場合、n=362である)、各特徴点における特徴量は、n次元のベクトルであるとみなすことができる。
例えば、学習用モデル特徴量記録部154にN個の特徴点(複数の学習用モデル画像の特徴点)に対応するN個のペアリング特徴量(学習用モデル特徴量)が記録されているとする。また、ペアリング特徴量記録部261にS個の特徴点(1個の学習用入力画像の特徴点)に対応するS個のペアリング特徴量(学習用入力特徴量)が記録されているとする。
このような場合、相関係数生成部262は、学習用モデル特徴量であるN個のn次元のベクトルgi(i=1,2,3,・・・N)のそれぞれに対して、学習用入力特徴量であるS個のn次元のベクトルhj(j=1,2,3,・・・S)との内積を求める。そして、相関係数生成部262は、ベクトルgi,hjのそれぞれの長さの積で除することにより相関係数を計算し、それぞれ最大相関係数探索部263に供給する。すなわち、学習用モデル特徴量であるN個のベクトルgiのそれぞれについて、学習用入力特徴量であるS個のベクトルhjのそれぞれとの相関係数Dijが求められることになる。
相関係数は、具体的には(ベクトルgi・ベクトルhj)/(|ベクトルgi|×|ベクトルhj|)で表される。ここで、「(ベクトルgi・ベクトルhj)」はベクトルgiとベクトルhjとの内積を示し、「|ベクトルgi|」および「|ベクトルhj|」は、それぞれベクトルgiおよびベクトルhjの絶対値を示している。
最大相関係数探索部263は、相関係数生成部262から供給された相関係数のうち、学習用モデル特徴量ごとに(ベクトルgiごとに)、最大の相関係数Dijとなるものを探索し、探索結果を選択部264に供給する。
選択部264は、最大相関係数探索部263から供給された各学習用モデル特徴量の最大の相関係数Dijを構成する学習用入力特徴量(ベクトルhj)を選択し、識別器生成部159に供給する。すなわち、今の場合、学習用モデル特徴量がN個である(ベクトルgi(i=1,2,3,・・・N))ことが前提であるので、1個の学習用入力画像につき、N個の学習用モデル特徴量のそれぞれに対して、最も相関の高い学習用入力特徴量が選択されることになる。換言すれば、ベクトルgi(i=1,2,3,・・・N)について、最も相関の高いベクトルhjが選択されることになる。
[識別器生成部の構成例]
次に、図31を参照して、識別器生成部159の構成について説明する。なお、上述した特徴量選択部158により1個の学習用入力画像毎にN個の学習用入力特徴量が選択される。そのため、複数のM個の学習用入力画像が用いられた場合、識別器生成部159にはM個の学習用入力画像ごとに、N個の学習用モデル特徴量のそれぞれについて、最も相関の高い学習用入力特徴量が供給されてくることになる。換言すれば、M個の学習用入力画像毎に、N個の学習用モデル特徴量のそれぞれに対して最も相関の高い学習用入力特徴量をパラメータとしたN次元のベクトルが生成されていることになる。
次に、図31を参照して、識別器生成部159の構成について説明する。なお、上述した特徴量選択部158により1個の学習用入力画像毎にN個の学習用入力特徴量が選択される。そのため、複数のM個の学習用入力画像が用いられた場合、識別器生成部159にはM個の学習用入力画像ごとに、N個の学習用モデル特徴量のそれぞれについて、最も相関の高い学習用入力特徴量が供給されてくることになる。換言すれば、M個の学習用入力画像毎に、N個の学習用モデル特徴量のそれぞれに対して最も相関の高い学習用入力特徴量をパラメータとしたN次元のベクトルが生成されていることになる。
識別器生成部159は、サンプリング部291、重み設定部292、並び替え部293、識別器設定部294、識別器選択部295、および重み更新部296から構成され、識別器設定部294は、誤り率計算部294aを備えている。
なお、サンプリング部291乃至識別器設定部294、および重み更新部296は、図10のサンプリング部61乃至識別器設定部64、および重み更新部66と同様であるので、その説明は省略する。ここで、識別器設定部294では、N個の学習用入力特徴量に応じたN個の弱識別器が設定され、N個のそれぞれについて誤り率が求められることになる。
識別器選択部295は、N個の弱識別器のうち、誤り率が最小となる弱識別器を選択して、識別器記録部134に記録させると共に、弱識別器に対応する学習用モデル特徴量を学習用モデル特徴量記録部154から読み出し、認識用特徴量記録部133に記録させる。さらに、識別器選択部295は、選択した弱識別器の誤り率に基づいて信頼度を計算し、重み更新部296に供給する。
[学習処理の説明]
次に、図32のフローチャートを参照して、学習装置131による学習処理について説明する。
次に、図32のフローチャートを参照して、学習装置131による学習処理について説明する。
ステップS181において、特徴点抽出部151は、入力される複数の学習用モデル画像から、特徴点としてハリスコーナ点などを抽出し、特徴量抽出部152に供給する。
ステップS182において、特徴量抽出部152は、学習用モデル画像特徴量抽出処理を実行し、供給された特徴点における特徴量を各学習用モデル画像から抽出し、特徴点ペアリング部153に供給する。
ここで、図33のフローチャートを参照して、特徴量抽出部152による学習用モデル画像特徴量抽出処理について説明する。
ステップS211において、インテグラルイメージ生成部202は、供給された学習用モデル画像に基づいて、学習用モデル画像のインテグラルイメージを生成し、インテグラルイメージ記録部203に供給する。インテグラルイメージ記録部203は、インテグラルイメージ生成部202から供給されたインテグラルイメージを一時的に記録する。
ステップS212において、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、および主方向計算部207は、それぞれ特徴点抽出部151から供給された特徴点の情報のうち、未処理の特徴点を注目画素として選択する。
ステップS213において、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、および主方向計算部207は、注目画素に対応する参照画素を抽出する。すなわち、上述した注目画素J1に対して、図27の画素J2乃至画素J5が参照画素として抽出される。つまり、この場合、注目画素を含む5画素が処理対象画素として抽出されることになる。
ステップS214において、1次フィルタ処理部204、2次フィルタ処理部205、および3次フィルタ処理部206は、注目画素および参照画素からなる処理対象画素のうち未処理の処理対象画素を選択する。
ステップS215において、方向θを示すカウンタqが1に初期化される。従って、この時点では、方向θqは方向θ1となる。
ステップS216において、ガウス幅σを示すカウンタpが1に初期化される。従って、この時点では、ガウス幅σpはガウス幅σ1となる。
ステップS217において、1次フィルタ処理部204は、1次フィルタ処理を行う。すなわち、1次フィルタ処理部204は、フィルタ記録部201から取得した1次導関数F1(θ)のフィルタにおけるガウス幅σをσpとするとともに、方向θをθqとする。そして、1次フィルタ処理部204は、インテグラルイメージ記録部203に記録されたインテグラルイメージを参照しながら、学習用モデル画像上の処理対象画素に対して、1次導関数F1(θq)のフィルタを用いたフィルタ処理を行う。1次フィルタ処理部204は、フィルタ処理により得られた特徴量を特徴量生成部208に供給する。
ステップS218において、2次フィルタ処理部205は、2次フィルタ処理を行う。
すなわち、2次フィルタ処理部205は、フィルタ記録部201から取得した2次導関数F2(θ)のフィルタにおけるガウス幅σをσpとするとともに、方向θをθqとする。そして、2次フィルタ処理部205は、インテグラルイメージ記録部203に記録されたインテグラルイメージを参照しながら、学習用モデル画像上の処理対象画素に対して、2次導関数F2(θq)のフィルタを用いたフィルタ処理を行う。2次フィルタ処理部205は、フィルタ処理により得られた特徴量を特徴量生成部208に供給する。
ステップS219において、3次フィルタ処理部206は、3次フィルタ処理を行う。
すなわち、3次フィルタ処理部206は、フィルタ記録部201から取得した3次導関数F3(θ)のフィルタにおけるガウス幅σをσpとするとともに、方向θをθqとする。そして、3次フィルタ処理部206は、インテグラルイメージ記録部203に記録されたインテグラルイメージを参照しながら、学習用モデル画像上の処理対象画素に対して、3次導関数F3(θq)のフィルタを用いたフィルタ処理を行う。3次フィルタ処理部206は、フィルタ処理により得られた特徴量を特徴量生成部208に供給する。
なお、ステップS217乃至ステップS219において、処理対象となる画素は、ステップS214において選択された画素である。このように、特徴量の抽出に、インテグラルイメージと矩形フィルタを用いることで、より簡単かつ迅速に特徴量を抽出することができるようになる。
ステップS220において、ガウス幅σpがσ3であるか否かが判定され、ガウス幅σpがσ3ではないと判定された場合、ステップS221において、カウンタpは、1インクリメントされ、処理はステップS217に戻る。
また、ステップS220において、ガウス幅σpがσ3であると判定された場合、処理は、ステップS222に進む。
ステップS222において、方向θqが方向θ4であるか否かが判定され、方向θqが方向θ4ではないと判定された場合、ステップS223において、カウンタqは1インクリメントされ、処理はステップS216に戻る。
また、ステップS222において、方向θqが方向θ4であると判定された場合、処理はステップS224に進む。
ステップS224において、1次フィルタ処理部204、2次フィルタ処理部205、および3次フィルタ処理部206は、注目画素および参照画素の全てについて、特徴量が抽出される処理がなされたか否かを判定する。ステップS224において、まだ、注目画素および参照画素の全てにおいて、処理がなされていないと判定された場合、処理はステップS214に戻り、上述した処理が繰り返される。
一方、ステップS224において、注目画素および参照画素の全てにおいて処理がなされたと判定された場合、処理はステップS225に進む。
ステップS225において、主方向計算部207は、インテグラルイメージ記録部203に記録されているインテグラルイメージを参照して、注目画素(特徴点)における主方向αを計算し、特徴量生成部208に供給する。
例えば主方向計算部207は、フィルタ記録部201から取得した1次導関数F1(θ)のフィルタのガウス幅σをσ3とし、注目画素に対して1次導関数F1(0°)と1次導関数F1(90°)のフィルタを用いたフィルタ処理を行うことで、主方向αを求める。
ステップS226において、特徴量生成部208は、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、および主方向計算部207から供給された特徴量を合成し、1個の特徴点に対する特徴量を生成する。
ステップS227において、1次フィルタ処理部204、2次フィルタ処理部205、3次フィルタ処理部206、および主方向計算部207は、全ての特徴点について処理が終了したか否かを判定する。ステップS227において、まだ全ての特徴点について処理が終了していないと判定された場合、処理は、ステップS212に戻り、上述した処理が繰り返される。
これに対して、ステップS227において、全ての特徴点について処理が終了したと判定された場合、学習用モデル画像特徴量抽出処理は終了し、その後、処理は図32のステップS183に進む。以上の処理により、複数の認識対象を含む画像における特徴点の特徴量が抽出されたことになる。
ここで、図32のフローチャートの説明に戻る。
ステップS183において、特徴点ペアリング部153は、ステップS182の学習用モデル画像特徴量抽出処理により、複数の学習用モデル画像の特徴点から抽出された特徴量の情報を用いて、学習用モデル画像特徴量ペアリング処理を実行する。この学習用モデル画像特徴量ペアリング処理により、各特徴点の特徴量と、各特徴点の主方向の条件に基づいたペアリング特徴点の特徴量とがペアリング(合成)され、ペアリング特徴量が生成される。
ここで、図34のフローチャートを参照して、特徴点ペアリング部153による学習用モデル画像特徴量ペアリング処理について説明する。
ステップS251において、特徴量バッファ231は、特徴量抽出部152から供給された特徴量を特徴点に対応付けて記録する。
ステップS252において、主方向抽出部232は、特徴量バッファ231に記録された各特徴点の特徴量から主方向の情報を抽出し、同一主方向特徴量検索部233に供給する。
ステップS253において、同一主方向特徴量検索部233は、処理対象とする未処理の特徴点の主方向の情報を決定する。
ステップS254において、同一主方向特徴量検索部233は、処理対象として決定した未処理の特徴点の主方向と同一の主方向の特徴点を1個検索し、検索結果となる特徴点と、処理対象の特徴点とを特徴量合成部234に供給する。より詳細には、同一主方向特徴量検索部233は、処理対象として決定した未処理の特徴点の主方向が角度αである場合、その他の特徴点の主方向α’がα−φ<α’<α+φの範囲であるとき、同一主方向の特徴点とみなす。
なお、複数の同一主方向の特徴点が検索された場合、処理対象とする特徴点から最も近い位置に存在する特徴点が検索される。また、主方向α’が、α−φ<α’<α+φの範囲となる特徴点が検索されない場合、同一主方向特徴量検索部233は、主方向α’が、α−φ<α’<α+φの範囲に最も近い特徴点を検索する。
ステップS255において、特徴量合成部234は、処理対象となっている特徴点の特徴量と、処理対象となっている特徴点と主方向が同一の特徴点の特徴量とを合成し、処理対象となっている特徴点の特徴量(ペアリング特徴量)とする。特徴量合成部234は、得られたペアリング特徴量を学習用モデル特徴量記録部154に供給する。
ステップS256において、同一主方向特徴量検索部233は、処理対象とする未処理の特徴点があるか否かを判定し、未処理の特徴点があると判定された場合、処理はステップS253に戻る。
一方、ステップS256において、未処理の特徴点がないと判定された場合、学習用モデル画像特徴量ペアリング処理は終了し、処理は図32のステップS184に進む。
以上の処理により、全ての特徴点の特徴量と、全ての特徴点における同一主方向の特徴点の特徴量とがペアリングされる。結果として、各特徴点における特徴量には、特徴点における主方向に応じた特徴量が付加されることになるため、特徴点毎に特徴量に幾何学的な弱い拘束が付加されることになる。
ここで、図32のフローチャートの説明に戻る。
ステップS184において、学習用モデル特徴量記録部154は、特徴点ペアリング部153から供給された特徴点ごとに、特徴点の特徴量と、主方向に基づいてペアリングされた特徴点の特徴量とが合成されたペアリング特徴量を記録する。
ステップS181乃至S184の処理により、複数の学習用モデル画像における特徴点のペアリング特徴量が、学習用モデル特徴量記録部154に記録されることになる。
ステップS185において、特徴点抽出部155は、入力される学習用入力画像から、特徴点としてハリスコーナ点などを抽出し、特徴量抽出部156に供給する。
ステップS186において、特徴量抽出部156は、学習用入力画像特徴量抽出処理を実行し、供給された特徴点における特徴量を各学習用入力画像から抽出して、特徴点ペアリング部157に供給する。なお、学習用入力画像特徴量抽出処理は、図33の学習用モデル画像特徴量抽出処理と同様であるので、その説明は省略する。
ステップS187において、特徴点ペアリング部157は、学習用入力画像特徴量ペアリング処理を実行し、主方向が同一で、かつ距離の近い位置に存在する2個の特徴点における特徴量をペアリングしてペアリング特徴量を生成し、特徴量選択部158に供給する。
なお、学習用入力画像特徴量ペアリング処理は、図34の学習用モデル画像特徴量ペアリング処理と同様であるので、その説明は省略する。
ステップS188において、特徴量選択部158は特徴量選択処理を実行し、各学習用入力画像について、学習用モデル特徴量ごとに学習用入力特徴量(何れもペアリング特徴量)を選択して識別器生成部159に供給する。なお、ステップS186乃至S188の処理については、何れの処理においても、処理結果は、学習用入力画像ごとに区別されて出力される。
ここで、図35のフローチャートを参照して、特徴量選択処理について説明する。
ステップS271において、ペアリング特徴量記録部261は特徴点ペアリング部157から供給された、学習用入力画像から抽出されたペアリング特徴量を、各学習用入力画像の全ての特徴点について一時的に取得し、記録する。
ステップS272において、相関係数生成部262は、ペアリング特徴量記録部261に記録された学習用入力特徴量に対応する学習用入力画像のうち、未処理の学習用入力画像を選択する。
ステップS273において、相関係数生成部262は、学習用モデル特徴量記録部154に記録されている未処理の学習用モデル特徴量を読み出す。
ステップS274において、相関係数生成部262は、ステップS272の処理で選択された学習用入力画像の学習用入力特徴量のうち、未処理の学習用入力特徴量(ペアリング特徴量)を選択する。
ステップS275において、相関係数生成部262は、ステップS273の処理で選択された学習用モデル特徴量と、ステップS274の処理で選択された学習用入力画像における学習用入力特徴量との相関係数を生成し、最大相関係数探索部263に供給する。
ステップS276において、相関係数生成部262は、ステップS272の処理で選択された学習用入力画像における学習用入力特徴量のうち、未処理の学習用入力特徴量が存在するか否かを判定し、存在する場合、処理はステップS274に戻る。
ステップS276において、未処理の学習用入力特徴量がないと判定された場合、処理はステップS277に進む。ステップS277において、最大相関係数探索部263は、相関係数生成部262から供給された相関係数のうち最大相関係数を探索し、選択部264に供給する。選択部264は、最大相関係数となるペアリング特徴量を、ペアリング特徴量記録部261から取得する。
ステップS278において、相関係数生成部262は、未処理の学習用モデル特徴量が学習用モデル特徴量記録部154に記録されているか否かを判定し、例えば、未処理の学習用モデル特徴量があると判定された場合、処理はステップS273に戻る。
ステップS278において、未処理の学習用モデル特徴量が学習用モデル特徴量記録部154に記録されていないと判定された場合、ステップS279において、相関係数生成部262は、未処理の学習用入力画像があるか否かを判定する。
ステップS279において、未処理の学習用入力画像があると判定された場合、処理はステップS272に戻り、上述した処理が繰り返される。
ステップS279において、未処理の学習用入力画像がないと判定された場合、特徴量選択処理は終了し、その後、処理は図32のステップS189に進む。以上の処理により、学習用入力画像1個ごとに、学習用モデル特徴量記録部154に記録されている学習用モデル特徴量のそれぞれに最も相関の高い学習用入力特徴量が抽出されることになる。
すなわち、例えば、学習用モデル特徴量記録部154に、図36の上部で示されるようにX個の学習用モデル画像PM1乃至PMxのそれぞれの特徴点より抽出されるN個のモデル特徴量が記録されているものとする。ここで、認識しようとする対象物体は、学習用モデル画像PM1乃至PMxの全ての画像に含まれている自動車の画像である。
特徴量選択処理により、例えば図36の下部で示されるM個の学習用入力画像PI1乃至PIMのそれぞれについて、特徴点毎に最も相関の高いN個の入力特徴量のベクトル(A1,A2,・・・AN),(B1,B2,・・・BN),・・・,(M1,M2,・・・MN)が構成され、識別器生成部159に出力されることになる。ここで、学習用入力画像PI1乃至PIMには、認識しようとする対象物体を含むものと含まないものが有り、図36においては、認識しようとする対象物体を含む学習用入力画像PIiについては「+1」と表記されており、認識しようとする対象物体を含まない学習用入力画像PIiについては「−1」と表記されている。
ここで、図32のフローチャートの説明に戻る。
ステップS189において、識別器生成部159は、特徴量選択処理により選択された学習用入力特徴量を用いて、識別器生成処理を実行する。識別器生成処理により識別器が生成されると、生成された識別器が識別器記録部134に記録されると共に、生成された識別器を使用するための学習用モデル特徴量が読み出され、認識用特徴量として認識用特徴量記録部133に記録される。
ここで、図37のフローチャートを参照して、識別器生成部159による識別器生成処理について説明する。
ステップS291において、重み設定部292は、例えば、図36で示される学習用入力画像PIi毎の重みWiを全て1/Mに初期化すると共に、カウンタjを1に、識別器H(x)を0にそれぞれ初期化する。ここで、iは、図36における学習用入力画像PIiを識別するものであり、1<i<Mである。
ステップS292において、サンプリング部291は、学習用モデル特徴量が抽出される特徴点k(k=1,2,3,・・・N)毎に、学習用入力画像PIiの重みWiに応じて学習用入力特徴量をM個選択し、並び替え部293に供給する。
例えば、図18における例と同様に、特徴点kの学習用入力特徴量は、グループGrkを構成する(Ak,Bk,Ck,・・・Mk)である。サンプリング部291は、特徴点k毎に、各学習用入力画像PIiに設定された重みに応じて、学習用入力特徴量をM個抽選で抽出する。
ステップS293において、並び替え部293は、N個の特徴点のそれぞれについてサンプリングされたM個の特徴量のグループGrk毎に、学習用入力特徴量を昇べきの順、または降べきの順に並び替えて、識別器設定部294に供給する。
ステップS294において、識別器設定部294は、学習用入力特徴量が抽出された学習用入力画像に認識しようとする対象物体が含まれている画像であるか否かを示す情報に基づいて、特徴点k毎に、閾値を変化させながら誤り率計算部294aを制御して、誤り率ejkを計算させ、誤り率ejkが最小となるように閾値を設定する。なお、誤り率ejkは、上述した式(27)と同様の計算により求められる。
ここで、特徴点k毎の閾値thjkが、1個の弱識別器fjkとなる。識別器設定部294は、弱識別器毎の誤り率ejkを識別器選択部295に供給する。すなわち、各特徴点kに対して弱識別器fjkが設定され、N個の弱識別器fjkのそれぞれについて誤り率ejkが求められることになる。ここで、弱識別器fjkは、認識しようとする対象物体を含む場合「+1」を出力し、認識しようとする対象物体を含まない場合「−1」を出力する関数である。
ステップS295において、識別器選択部295は、N個の弱識別器fjkのうち、誤り率ejkが最小となる弱識別器fjkを選択する。
ステップS296において、識別器選択部295は、選択した弱識別器fjkの誤り率ejk(=ej)に基づいて、上述した式(28)と同様の演算を行なって信頼度cjを計算し、計算結果を重み更新部296に供給する。
ステップS297において、重み更新部296は、供給された信頼度cjに基づいて、上述した式(29)と同様の演算を行なって、学習用入力画像毎に重みWiを再計算すると共に、全ての重みWiを正規化して更新し、更新結果を重み設定部292に供給する。重み設定部292は、重み更新部296から供給された重みの更新結果に基づいて、学習用入力画像毎の重みを設定する。
ステップS298において、識別器選択部295は、新たに求められた弱識別器fjk(以下、弱識別器fjとも称する)を用いて、識別器記録部134が記録している識別器H(x)を更新する。すなわち、識別器選択部295は、次式(33)を計算することで識別器H(x)を更新する。
H(x)=H’(x)+cj×fj(x) ・・・(33)
なお、式(33)において、H’(x)は、識別器記録部134が記録している更新前の識別器を表しており、fj(x)は、新たに求められた弱識別器fjを表している。
また、より詳細には、識別器記録部134には、sign(H(x))の形式で、識別器H(x)が記録されている。ここで、sign(Y)は、Yが正の場合、認識しようとする対象物体が、入力画像中に存在することを示す「+1」を出力し、Yが負の場合、認識しようとする対象物体が、入力画像中に存在しないことを示す「−1」を出力する関数である。
ステップS299において、識別器選択部295は、弱識別器fjkの特徴点kに対応する学習用モデル特徴量を学習用モデル特徴量記録部154から読み出し、認識用特徴量記録部133に記録させる。
ステップS300において、識別器選択部295は、カウンタjがLより大きいか否かを判定し、Lよりも大きくないと判定された場合、処理はステップS301に進み、カウンタjが1インクリメントされる。そして、その後、処理はステップS292に戻り、上述した処理が繰り返される。
ステップS300において、カウンタjがLよりも大きいと判定された場合、識別器生成処理は終了する。識別器生成処理が終了すると、図32の学習処理も終了する。
以上の処理により、L個の比較的誤り率の低い弱識別器fj(1<j<L)からなる識別器H(x)が識別器記録部134に記録されると共に、それぞれの弱識別器fjで使用されるべき特徴点kの学習用モデル特徴量が認識用特徴量記録部133に記録される。ここで、Lは、L≦Nである。
なお、識別器記録部134に、sign(H(x))の形式で記録されている識別器は、L個の弱識別器の多数決により、認識しようとする対象物体の有無を出力する関数であると言える。
以上の学習処理により、特徴点毎に幾何学的な拘束が付加された特徴量を用いて、誤り率ejの低いL個の弱識別器fj(1<j<L)からなる識別器H(x)が生成されることになる。結果として、信頼度の高い弱識別器のみからなる識別器が構成されることになるので、限られた個数の弱識別器で信頼度の高い識別器を構成することが可能となり、後述する画像認識処理における演算処理量を低減させつつ、認識精度を向上させることが可能となる。
さらに、学習の過程において使用される各特徴点の特徴量は、特徴点における回転不変な特徴量と、主方向が同一で、かつ最も近い位置の特徴点における特徴量とがペアリングされた特徴量である。そのため、空間的に弱い幾何学的な拘束を含んだ学習がなされることになり、例えば、認識対象となる物体が回転していたり、視点が異なるような画像であっても認識することが可能となる。
[画像認識処理]
次に、図38のフローチャートを参照して、画像認識装置132による画像認識処理について説明する。
次に、図38のフローチャートを参照して、画像認識装置132による画像認識処理について説明する。
ステップS321において、特徴点抽出部171は、認識しようとする対象物体の有無を認識しようとする入力画像より、特徴点としてハリスコーナ点などを抽出し、特徴量抽出部172に供給する。
ステップS322において、特徴量抽出部172は、入力画像特徴量抽出処理を実行し、供給された特徴点における特徴量を入力画像より抽出して、特徴点ペアリング部173に供給する。なお、入力画像特徴量抽出処理は、図33の学習用モデル画像特徴量抽出処理と同様であるので、その説明は省略する。
ステップS323において、特徴点ペアリング部173は、入力画像特徴量ペアリング処理を実行し、主方向の条件に応じて2個の特徴点における特徴量をペアリングして、ペアリング特徴量を生成する。なお、入力画像特徴量ペアリング処理は、図34の学習用モデル画像特徴量ペアリング処理と同様であるので、その説明は省略する。
ステップS324において、特徴量選択部174は、認識用特徴量記録部133に記録された特徴量を用いて、特徴量選択処理を実行して特徴量を選択し、識別計算部175に供給する。なお、特徴量選択処理は、学習用モデル特徴量記録部154に記録されている特徴量を用いる点と、認識用特徴量記録部133に記録された特徴量を用いる点で異なるが、その他の処理については、図35の特徴量選択処理と同様であるので、その説明は、省略する。
ステップS325において、識別計算部175は、識別器記録部134に記録されている識別器を読み出し、特徴量選択部174から供給された入力画像の特徴量に基づいて、識別器を計算する。すなわち、上述したように、特徴量選択部174から供給された特徴量(入力特徴量)は、識別器H(x)を構成する弱識別器fjの計算に必要な特徴量であるので、識別計算部175は、供給された特徴量を各弱識別器fjに代入して識別器H(x)を計算する。そして、識別計算部175は、識別器H(x)の計算結果を識別結果出力部176に供給する。
ステップS326において、識別結果出力部176は、識別計算部175から供給された計算結果に基づいて、認識しようとする対象物体の有無の判定結果を出力する。
すなわち、識別計算部175より供給されてくる計算結果は、sign(H(x))の演算結果である。したがって、演算結果として「+1」が供給されてきた場合、認識しようとする対象物体が入力画像に含まれているという結果が出力される。また、演算結果として「−1」が供給されてきた場合、認識しようとする対象物体が入力画像に含まれていないという結果が出力される。
以上の処理により、識別器H(x)が用いられて、入力画像から対象物体が検出される。このように、学習により得られた識別器H(x)を用いて対象物体の検出を行なうことで、より高い精度で対象物体を検出することが可能となる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図39は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、キーボード、マウス、マイクロホンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507、ハードディスクや不揮発性のメモリなどよりなる記録部508、ネットワークインターフェースなどよりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511を駆動するドライブ510が接続されている。
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 学習装置, 12 識別器記録部, 13 認識装置, 25 輪郭特徴量計算部, 34 輪郭特徴量計算部, 91 フィルタ記録部, 92 インテグラルイメージ生成部, 94 主方向計算部, 95 1次フィルタ処理部, 96 2次フィルタ処理部, 97 3次フィルタ処理部, 131 学習装置, 132 画像認識装置, 152 特徴量抽出部, 156 特徴量抽出部, 172 特徴量抽出部, 201 フィルタ記録部, 202 インテグラルイメージ生成部, 204 1次フィルタ処理部, 205 2次フィルタ処理部, 206 3次フィルタ処理部, 207 主方向計算部
Claims (8)
- 複数の矩形フィルタを基底フィルタとして、前記複数の前記矩形フィルタを線形結合することで近似的に得られたガウシアンステアラブルフィルタを記録する記録手段と、
入力画像に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行うことで、前記入力画像から特徴量を抽出するフィルタ処理手段と
を備える画像処理装置。 - 前記入力画像のインテグラルイメージを生成するインテグラルイメージ生成手段をさらに備え、
前記フィルタ処理手段は、前記インテグラルイメージの画素の画素値を参照して、前記入力画像に対する前記矩形フィルタを用いたフィルタ処理の演算を行い、前記複数の前記矩形フィルタのそれぞれの演算結果を線形結合することにより、前記ガウシアンステアラブルフィルタを用いたフィルタ処理の演算を行なう
請求項1に記載の画像処理装置。 - 前記矩形フィルタは、互いに垂直な2方向に分離可能なガウシアンステアラブルフィルタの基底フィルタを近似することにより得られるフィルタである
請求項2に記載の画像処理装置。 - 認識対象が含まれる学習画像、および前記認識対象が含まれない学習画像から抽出された前記特徴量を用いた統計学習により得られた識別器と、前記入力画像から抽出された前記特徴量とに基づいて、前記入力画像から前記認識対象を検出する検出手段をさらに備える
請求項2に記載の画像処理装置。 - 前記入力画像上の注目画素に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行って、前記注目画素の主方向を計算する主方向計算手段と、
前記主方向により定まる前記入力画像上の前記注目画素近傍のいくつかの画素から抽出された前記特徴量と、前記注目画素から抽出された前記特徴量とを合成し、前記注目画素における最終的な前記特徴量とする特徴量生成手段と
をさらに備え、
前記検出手段は、前記特徴量生成手段により生成された前記最終的な前記特徴量と、前記識別器とに基づいて、前記認識対象を検出する
請求項4に記載の画像処理装置。 - 前記入力画像上の注目画素に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行って、前記注目画素の主方向を計算する主方向計算手段と、
前記入力画像上において、前記主方向が前記注目画素における前記主方向と同じ方向であり、かつ前記注目画素から最も近い画素をペアリング画素として検出するペアリング画素検出手段と、
前記注目画素から抽出された前記特徴量、前記注目画素における前記主方向、前記ペアリング画素から抽出された前記特徴量、および前記ペアリング画素における前記主方向を合成し、前記注目画素における最終的な前記特徴量とする特徴量生成手段と
をさらに備え、
前記検出手段は、前記特徴量生成手段により生成された前記最終的な前記特徴量と、前記識別器とに基づいて、前記認識対象を検出する
請求項4に記載の画像処理装置。 - 複数の矩形フィルタを基底フィルタとして、前記複数の前記矩形フィルタを線形結合することで近似的に得られたガウシアンステアラブルフィルタを記録する記録手段と、
入力画像に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行うことで、前記入力画像から特徴量を抽出するフィルタ処理手段と
を備える画像処理装置の画像処理方法であって、
前記フィルタ処理手段が、前記記録手段から読み出した前記ガウシアンステアラブルフィルタを用いて前記フィルタ処理を行い、前記入力画像から前記特徴量を抽出する
ステップを含む画像処理方法。 - 複数の矩形フィルタを基底フィルタとして、前記複数の前記矩形フィルタを線形結合することで近似的に得られたガウシアンステアラブルフィルタを記録手段から読み出して、入力画像に対して、前記ガウシアンステアラブルフィルタを用いたフィルタ処理を行うことで、前記入力画像から特徴量を抽出する
ステップを含む処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237577A JP2012089076A (ja) | 2010-10-22 | 2010-10-22 | 画像処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237577A JP2012089076A (ja) | 2010-10-22 | 2010-10-22 | 画像処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012089076A true JP2012089076A (ja) | 2012-05-10 |
Family
ID=46260606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010237577A Withdrawn JP2012089076A (ja) | 2010-10-22 | 2010-10-22 | 画像処理装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012089076A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014065607A1 (ko) * | 2012-10-26 | 2014-05-01 | 에스케이텔레콤 주식회사 | 영상보정의 가속화를 위한 영상보정 장치 및 그 방법 |
JP2015170317A (ja) * | 2014-03-10 | 2015-09-28 | 富士通株式会社 | 識別関数特定装置、識別関数特定プログラム、識別関数特定方法および生体認証装置 |
-
2010
- 2010-10-22 JP JP2010237577A patent/JP2012089076A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014065607A1 (ko) * | 2012-10-26 | 2014-05-01 | 에스케이텔레콤 주식회사 | 영상보정의 가속화를 위한 영상보정 장치 및 그 방법 |
KR20140053503A (ko) * | 2012-10-26 | 2014-05-08 | 에스케이텔레콤 주식회사 | 영상보정의 가속화를 위한 영상보정 장치 및 그 방법 |
US9691141B2 (en) | 2012-10-26 | 2017-06-27 | Sk Telecom Co., Ltd. | Image correction device for accelerating image correction and method for same |
KR101958910B1 (ko) | 2012-10-26 | 2019-03-15 | 에스케이 텔레콤주식회사 | 영상보정의 가속화를 위한 영상보정 장치 및 그 방법 |
JP2015170317A (ja) * | 2014-03-10 | 2015-09-28 | 富士通株式会社 | 識別関数特定装置、識別関数特定プログラム、識別関数特定方法および生体認証装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4670976B2 (ja) | 学習装置および方法、認識装置および方法、プログラム、並びに記録媒体 | |
Das et al. | Towards solving the deepfake problem: An analysis on improving deepfake detection using dynamic face augmentation | |
Cheng et al. | BING: Binarized normed gradients for objectness estimation at 300fps | |
JP5041229B2 (ja) | 学習装置および方法、認識装置および方法、並びにプログラム | |
Zhu et al. | A text detection system for natural scenes with convolutional feature learning and cascaded classification | |
Alsmadi et al. | Fish recognition based on robust features extraction from size and shape measurements using neural network | |
Wang et al. | Saliency detection by multiple-instance learning | |
Seo et al. | Training-free, generic object detection using locally adaptive regression kernels | |
US8885926B2 (en) | Image and data segmentation | |
JP4547639B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP4720913B2 (ja) | 学習装置、学習方法、識別装置、識別方法、及び、プログラム | |
JP6692049B2 (ja) | 識別装置および識別方法 | |
JP4623387B2 (ja) | 学習装置および方法、認識装置および方法、並びにプログラム | |
Yaakob et al. | An insect classification analysis based on shape features using quality threshold ARTMAP and moment invariant | |
JP2011118694A (ja) | 学習装置および方法、認識装置および方法、並びにプログラム | |
He et al. | Automatic magnetic resonance image prostate segmentation based on adaptive feature learning probability boosting tree initialization and CNN-ASM refinement | |
Zitnick et al. | The role of image understanding in contour detection | |
CN110400322A (zh) | 基于颜色和三维几何信息的水果点云分割方法 | |
WO2020003150A2 (en) | Image based novelty detection of material samples | |
CN107918773A (zh) | 一种人脸活体检测方法、装置及电子设备 | |
Burget et al. | Trainable segmentation based on local-level and segment-level feature extraction | |
Shen et al. | Gestalt rule feature points | |
JP2012089076A (ja) | 画像処理装置および方法、並びにプログラム | |
CN110532915B (zh) | 基于法向量方位角局部熵的三维人脸遮挡判别方法 | |
Zhu et al. | Foreground object sensing for saliency detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140107 |