説明

学習装置および方法、認識装置および方法、並びにプログラム

【課題】処理速度、制度を向上させた画像認識を行う。
【解決手段】多重解像度画像生成部22は、入力された画像から、複数の解像度(スケール係数)が異なる画像を生成する。スケール係数の異なる画像に対して、フィルタ処理が施される。フィルタは、例えば、ガウス幅σ=1のガウス関数のフィルタである。複数の画像に対してフィルタ処理を施すが、ガウス幅の異なる複数のフィルタを用いて処理を行うのではないために、処理の低減をはかることができる。本発明は、画像から対象物を認識する認識装置や認識装置のための学習を行う学習装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は学習装置および方法、認識装置および方法、並びにプログラムに関し、特に、画像から、より確実に対象物体を検出できるようにした学習装置および方法、認識装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、画像から人を検出する技術は、主にセキュリティや車載用途のために研究開発されてきた(例えば、非特許文献1,2参照)。非特許文献1,2においては、画像から人を検出(認識)するための主な特徴量として、エッジ抽出により得られる特徴量が用いられている。これらの技術においては、エッジ抽出で得られた特徴量の様々な変化形が新たな特徴量として定義されて、人の認識が行われる。
【0003】
例えば、非特許文献1では、エッジのある小領域内の方向のヒストグラムをとることで特徴量が得られ、この特徴量を用いることで多少の輪郭の歪みなどに強くなるという利点がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Navneet Dalal and Bill Triggs「Histograms of Oriented Gradients for Human Detection」CVPR2005
【非特許文献2】B. Wu and R. Nevatia「Detection of multiple, partially occluded humans in a single image by bayesian combination of edgelet part detectors」In Proc. 10th Int. Conf. Computer Vision, 2005
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記した画像から人などを検出する方法では、輪郭の特徴を利用して物体を検出するが、より精度良く検出が行われるようにすることが望まれている。
【0006】
本発明は、このような状況に鑑みてなされたものであり、より精度良く人などの対象物を検出できるようにするものである。
【課題を解決するための手段】
【0007】
本発明の一側面の学習装置は、入力された画像から異なる解像度の画像を生成する生成手段と、前記生成手段により生成された画像から、処理対象とする特徴点を抽出する抽出手段と、前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算する計算手段と、前記特徴量を用いた統計学習により、前記画像から所定の対象物体を検出するための識別器を生成する識別器生成手段とを備え、前記フィルタは、複数の領域を有し、前記計算手段は、その領域内の差分の差分値を前記特徴量とする。
【0008】
前記所定のフィルタの前記領域は、矩形であるようにすることができる。
【0009】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の総和を計算するようにすることができる。
【0010】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の最大値を計算するようにすることができる。
【0011】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値の総和または平均値を算出し、その総和または平均値の差分を算出し、その差分値の絶対値を前記特徴量とするようにすることができる。
【0012】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、その値の差分を算出し、その差分値の絶対値を前記特徴量とするようにすることができる。
【0013】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、そのヒストグラムの和が1となるように正規化し、正規化されたヒストグラムの値の差分を算出し、その差分値の絶対値を前記特徴量とするようにすることができる。
【0014】
前記計算手段は、基準となる特徴点に対して適用したフィルタを、その基準となる特徴点の近傍に位置する複数の特徴点に対しても適用し、それらの複数の特徴点から算出された特徴量の総和または平均値を、前記基準となる特徴点の特徴量とするようにすることができる。
【0015】
本発明の一側面の学習方法は、入力された画像から異なる解像度の画像を生成し、生成された画像から、特徴点を抽出し、前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、前記特徴量を用いた統計学習により、前記画像から所定の対象物体を検出するための識別器を生成するステップを含み、前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする。
【0016】
本発明の一側面の第1のプログラムは、入力された画像から異なる解像度の画像を生成し、生成された画像から、特徴点を抽出し、前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、前記特徴量を用いた統計学習により、前記画像から所定の対象物体を検出するための識別器を生成するステップを含み、前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする処理を実行するコンピュータが読み取り可能なプログラム。
【0017】
本発明の一側面の学習装置および方法、並びに第1のプログラムにおいては、入力された画像から異なる解像度の画像が生成され、その生成された画像から、処理対象とする特徴点が抽出され、特徴点に所定のフィルタを用いたフィルタ処理を施すことで、特徴点の特徴量が計算され、特徴量を用いた統計学習により、画像から所定の対象物体が検出されるための識別器が生成される。また、そのフィルタは、複数の領域を有し、その領域内の差分の差分値が特徴量とされるためのフィルタである。
【0018】
本発明の一側面の認識装置は、入力された画像から異なる解像度の画像を生成する生成手段と、前記生成手段により生成された画像毎に、特徴点を抽出する抽出手段と、前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算する計算手段と、統計学習により得られた、画像から所定の対象物体を検出するための識別器に、前記特徴量を代入し、前記入力された画像から、前記対象物体を検出する検出手段とを備え、前記フィルタは、複数の領域を有し、前記計算手段は、その領域内の差分の差分値を前記特徴量とする。
【0019】
前記フィルタの前記領域は、矩形であるようにすることができる。
【0020】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の総和を計算するようにすることができる。
【0021】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の最大値を計算するようにすることができる。
【0022】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値の総和または平均値を算出し、その総和または平均値の差分を算出し、その差分値の絶対値を前記特徴量とするようにすることができる。
【0023】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、その値の差分を算出し、その差分値の絶対値を前記特徴量とするようにすることができる。
【0024】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、そのヒストグラムの和が1となるように正規化し、正規化されたヒストグラムの値の差分を算出し、その差分値の絶対値を前記特徴量とするようにすることができる。
【0025】
前記計算手段は、基準となる特徴点に対して適用したフィルタを、その基準となる特徴点の近傍に位置する複数の特徴点に対しても適用し、それらの複数の特徴点から算出された特徴量の総和または平均値を、前記基準となる特徴点の特徴量とするようにすることができる。
【0026】
本発明の一側面の認識方法は、入力された画像から異なるスケール係数の画像を生成し、生成された画像から、特徴点を抽出し、前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、統計学習により得られた、画像から所定の対象物体を検出するための識別器に、前記特徴量を代入し、前記入力された画像から、前記対象物体を検出するステップを含み、前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする。
【0027】
本発明の一側面の第2のプログラムは、入力された画像から異なるスケール係数の画像を生成し、生成された画像から、特徴点を抽出し、前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、統計学習により得られた、画像から所定の対象物体を検出するための識別器に、前記特徴量を代入し、前記入力された画像から、前記対象物体を検出するステップを含み、前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする処理を実行するコンピュータが読み取り可能なプログラム。
【0028】
本発明の一側面の認識装置および方法、並びに第2のプログラムにおいては、入力された画像から異なる解像度の画像が生成され、その生成された画像から、特徴点が抽出され、その抽出された特徴点に所定のフィルタを用いたフィルタ処理が施されることで、特徴点の特徴量が計算され、統計学習により得られた、画像から所定の対象物体を検出するための識別器に、特徴量が代入され、入力された画像から、対象物体が検出される。適用されるフィルタは、複数の領域を有し、その領域内の差分の差分値を特徴量とするためのフィルタとされる。
【発明の効果】
【0029】
本発明の一側面によれば、精度良く対象物を検出することが可能となる。
【図面の簡単な説明】
【0030】
【図1】本発明を適用した識別システムの一実施の形態の構成を示す図である。
【図2】特徴量計算部の詳細な構成例を示す図である。
【図3】ステアラブルフィルタについて説明する図である。
【図4】矩形のフィルタについて説明するための図である。
【図5】識別器生成部の詳細な構成例を示す図である。
【図6】学習処理を説明するフローチャートである。
【図7】特徴量計算処理を説明するフローチャートである。
【図8】識別器生成処理を説明するフローチャートである。
【図9】識別器の生成について説明する図である。
【図10】特徴点の抽出について説明する図である。
【図11】特徴量を説明する図である。
【図12】特徴点のペア毎の特徴量のサンプリングについて説明する図である。
【図13】弱識別器の設定について説明する図である。
【図14】他の矩形のフィルタについて説明するための図である。
【図15】特徴量計算部の他の構成例を示す図である。
【図16】他の矩形のフィルタについて説明するための図である。
【図17】特徴量計算部の他の構成例を示す図である。
【図18】他の矩形のフィルタについて説明するための図である。
【図19】特徴量計算部の他の構成例を示す図である。
【図20】物体検出処理について説明するためのフローチャートである。
【図21】記録媒体について説明するための図である。
【発明を実施するための形態】
【0031】
以下に、本発明の実施の形態について図面を参照して説明する。
【0032】
[システム構成について]
図1は、本発明を適用した物体識別システムの一実施の形態の構成例を示すブロック図である。この物体識別システムは、学習装置11、識別器記録部12、および認識装置13からなり、入力された画像における、対象物体として例えば人間の画像のある領域を認識させるものである。
【0033】
学習装置11は、入力された学習画像に基づいて、認識装置13において画像上における対象物体の有無を識別する処理を行うときに用いられる識別器を生成し、識別器記録部12に記録させる。認識装置13は、識別器記録部12に記録されている識別用特徴量および識別器を用いて、入力された入力画像に対象物体の画像が存在するか否かを識別し、その識別結果を出力する。
【0034】
学習装置11は、画像入力部21、多重解像度画像生成部22、特徴点抽出部23、特徴量計算部24、および識別器生成部25から構成される。
【0035】
多重解像度画像生成部22は、画像入力部21により入力された学習画像から、互いに解像度の異なる複数の画像を生成し、それらの画像を多重解像度画像として特徴点抽出部23に供給する。例えば、レベルL1乃至レベルL8までの8つの解像度の階層の多重解像度画像が生成される。ここでは、レベルL1の多重解像度画像が最も解像度が高く、レベルL1からレベルL8まで順番に多重解像度画像の解像度が低くなるものとする。
【0036】
特徴点抽出部23は、多重解像度画像生成部22で生成された多重解像度画像を構成する各画像(学習画像)から、その学習画像の画素のいくつかを識別器を生成するときに用いられる特徴点として抽出し、抽出した特徴点と学習画像とを特徴量計算部24に供給する。ここで、識別器とは、統計学習により生成された、複数の弱識別器からなる強い識別器であり、例えば物体の輪郭を利用して、入力された画像中に物体の画像の領域が存在するか否かを識別するときに用いられる。
【0037】
特徴量計算部24は、特徴点抽出部23からの学習画像に基づいて、例えばステアラブルフィルタ(Steerable Filter)を用いたフィルタ処理により、特徴点毎に、抽出された輪郭を示す特徴量を計算し、求められた特徴量と学習画像とを識別器生成部25に供給する。識別器生成部25は、特徴量計算部24から供給された学習画像および特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、対象物体である例えば人を認識する識別器を生成する。また、識別器生成部26は、生成した識別器を識別器記憶部12に供給する。
【0038】
認識装置13は、画像入力部31、多重解像度画像生成部32、特徴点抽出部33、特徴量計算部34、識別計算部35、および識別結果出力部36から構成されている。認識装置13の画像入力部31乃至特徴量計算部34のそれぞれは、対象物体を認識しようとする入力画像に対して、学習装置11の画像入力部21乃至特徴量計算部24のそれぞれと同様の処理を行うものであるので、その詳細な説明は省略する。
【0039】
識別計算部35は、識別器記録部12に記録されている識別用特徴量および識別器を読み出す。また、識別計算部35は、特徴量計算部34からの特徴量のうちの識別用特徴量に対応するものを、読み出した識別器に代入して演算を行う。識別結果出力部36は、識別計算部35における演算結果を取得し、その演算結果に基づいて、対象物体が入力画像で認識されたか否かの識別結果を出力する。
【0040】
特徴点抽出部23(33)、特徴量計算部24(34)は、どのようなフィルタを用いるかにより内部構成や、どのような処理を実行するかが異なる。まず、微分関数を用いたフィルタを適用した場合について説明する。
【0041】
[フィルタとして微分関数を用いた場合について]
図2は、図1の特徴量計算部24のより詳細な構成例を示す図である。特徴量計算部34は、特徴量計算部24と同様の構成を有するため、ここでは、特徴量計算部24の構成を例にあげて説明する。特徴量計算部24は、1次フィルタ処理部51、2次フィルタ処理部52、3次フィルタ処理部53、および特徴量生成部54から構成される。また、特徴点抽出部23からの学習画像は、1次フィルタ処理部51乃至特徴量生成部54に供給され、特徴点は、1次フィルタ処理部51乃至3次フィルタ処理部53に供給される。
【0042】
1次フィルタ処理部51は、供給された特徴点毎に、特徴点に対してガウス関数Gの1次微分関数G1によりフィルタ処理を施して特徴量を抽出し、特徴量生成部54に供給する。ここで、ガウス関数G、および1次微分関数G1は、次式(1)および式(2)により示される。
【0043】
【数1】


【0044】
【数2】

【0045】
式(1)において、σはガウス幅を示している。式(2)において、θは任意の角度を示し、計算したいフィルタの方向を示している。
【0046】
例えば、1次フィルタ処理部51は、ガウス関数Gのガウス幅σを3つの所定値(例えば、ガウス幅σ1,σ2,σ3=1,2,4)に変化させ、ガウス幅σ毎に所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について式(2)を計算する。
【0047】
なお、方向θは4方向に限らず、8方向、例えばpiを8方向に等分したときの各方向などとしてもよい。また、従来は、上記したように、複数のガウス幅を用いて処理を行っていたが、本実施の形態においては、後述するように、ガウス幅は1つだけ用意しておけば良い。換言すれば、ガウス幅を変化させる必要がない。よって、上記では、“ガウス幅を3つの所定値に変化させ、ガウス幅σ毎に所定の4方向について式(2)を計算する”と記載したが、本実施の形態においては、設定されているガウス幅σにおいて所定の方向の4方向について式(2)を計算するだけでよい。
【0048】
よって、複数のガウス幅毎に計算する必要がないため、計算量を低減させることが可能となる。このようなことは、他のフィルタ、例えば、2次フィルタ処理部52、3次フィルタ処理部53においても同様である。
【0049】
2次フィルタ処理部52は、供給された特徴点毎に、特徴点に対してガウス関数Gの2次微分関数G2によりフィルタ処理を施して特徴量を抽出し、特徴量生成部54に供給する。次式(3)は、2次微分関数G2を示しており、式(3)においてθは任意の角度を示している。
【0050】
【数3】

【0051】
また、式(3)における係数k2i(θ)(但し、i=1,2,3)は、次式(4)で示される関数である。
【0052】
【数4】

【0053】
例えば、2次フィルタ処理部52は、ガウス関数Gの所定のガウス幅σにおいて、所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について式(3)を計算する。
【0054】
3次フィルタ処理部53は、供給された特徴点毎に、特徴点に対してガウス関数Gの3次微分関数G3によりフィルタ処理を施して特徴量を抽出し、特徴量生成部54に供給する。次式(5)は、3次微分関数G3を示しており、式(5)においてθは任意の角度を示している。
【0055】
【数5】

【0056】
また、式(5)における係数k3i(θ)(但し、i=1,2,3)は、次式(6)で示される関数である。
【0057】
【数6】

【0058】
例えば、3次フィルタ処理部53は、ガウス関数Gの所定のガウス幅σにおいて、所定の4方向(例えば、θ=θ1,θ2,θ3,θ4)について、式(5)を計算する。
【0059】
特徴量生成部54は、1次フィルタ処理部51、2次フィルタ処理部52、および3次フィルタ処理部53のそれぞれから供給された、4つの方向θについて計算された各特徴点の特徴量の供給を受け、供給された合計12個(=3(次数)×4(方向))の特徴量を並べて特徴点における特徴量とする。
【0060】
また、各フィルタ処理部には、多重解像度画像生成部22から異なる解像度の複数の画像が供給されるため、各画像から4つの方向θについて計算された各特徴点の特徴量も供給される。この供給される特徴量は、多重解像度画像生成部22が生成する画像の枚数に依存し、例えば、レベル1からレベル8までの8枚の画像が生成される場合、8枚分の4つの方向θについて計算された各特徴点の特徴量が供給されることになる。
【0061】
また、特徴量生成部54は、生成した特徴量と、供給された学習画像とを識別器生成部25に供給する。
【0062】
このように、特徴量計算部24では、ガウス関数を微分して得られる、方向θに選択性を持つフィルタ(基底関数)が用いられて、微分の次数毎に異なる特徴量(輪郭)が抽出され、特徴量とされている。
【0063】
特徴量の抽出にステアラブルフィルタを用いる場合、図3に示すように、方向θおよびガウス幅σの異なるフィルタを用意すれば、それらのフィルタの線形結合により、任意の方向θのフィルタ、すなわちガウス関数Gの微分関数Gn(但し、n=1,2,3)を表現することができる。
【0064】
図3において、図中、左側の一番上の列の画像は、図中、左から順番にガウス幅σ=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°)を表している。
【0065】
また、図中、右側の横方向の列のうちの一番上の列の画像は、図中、左側から順番に、ガウス幅σ=1である場合における1次微分関数G1(θ)のθを0,1/8pi,2/8pi,3/8pi,4/8pi,5/8pi,6/8pi,7/8piとしたものを表している。
【0066】
同様に、図中、右側の横方向の各列の画像は、図中、上から二番目から下方向に順番に、ガウス幅σ=2である場合における1次微分関数G1(θ)、ガウス幅σ=4である場合における1次微分関数G1(θ)、ガウス幅σ=1である場合における2次微分関数G2(θ)、ガウス幅σ=2である場合における2次微分関数G2(θ)、ガウス幅σ=4である場合における2次微分関数G2(θ)、ガウス幅σ=1である場合における3次微分関数G3(θ)、ガウス幅σ=2である場合における3次微分関数G3(θ)、およびガウス幅σ=4である場合における3次微分関数G3(θ)を示している。そして、それらの各列の画像は、図中、左側から順番に微分関数の方向θを0,1/8pi,2/8pi,3/8pi,4/8pi,5/8pi,6/8pi,7/8piとしたものを表している。
【0067】
例えば、図中、左側のフィルタである1次微分関数G1(0°)および1次微分関数G1(90°)を用いることで、図中、右側の上から二番目の列の各方向θにおける1次微分関数G1(θ)を表すことができる。同様に、図中、左側の2次微分関数G2を用いて、図中、右側の上から5番目の列に示す各方向θにおける2次微分関数G2(θ)を表すことができ、図中、左側の3次微分関数G3を用いて、図中、右側の上から8番目の列に示す各方向θにおける3次微分関数G3(θ)を表すことができる。すなわち、各次元の任意の方向の微分関数は、その次元より1だけ多い数の基底関数があれば、それらの基底関数の線形結合により表現することができる。
【0068】
図4は、他のフィルタの例を示す図である。図4に示したフィルタは、それぞれ、矩形が組み合わされたフィルタである。図4において、フィルタ101−1乃至101−16は、1次微分関数G1を表す。フィルタ102−1乃至102−16は、それぞれ、フィルタ101−1乃至101−16に対する2次微分関数G2を表す。さらに、フィルタ103−1乃至103−16は、それぞれ、フィルタ101−1乃至101−16に対する3次微分関数G3を表す。
【0069】
フィルタ101−1は、所定の大きさを有するフィルタであり、図中右側が白色領域とされ、図中左側が黒色領域とされたフィルタである。フィルタ101−2乃至101−5は、それぞれ、フィルタ101−1と異なる大きさのフィルタであるが、フィルタ101−1と同じく図中右側が白色領域とされ、図中左側が黒色領域とされたフィルタである。
【0070】
なお、ここでは、白色領域や黒色領域との表現を用いるが、白色や黒色に限定されることを意味するのではない。すなわち、フィルタとして用いられるのは、異なる色の領域であればよく、色自体に限定はない。そのため、ここでは、白色と黒色を例にあげて説明をする。
【0071】
また、白色領域と黒色領域を入れ替えたフィルタとすることも可能である。例えば、フィルタ101−1の白色領域と黒色領域を入れ替え、図中、左側が白色領域、右側が黒色領域とすることも可能である。しかしながら、後述するように、本実施の形態においては、フィルタが適用されて算出された値の絶対値を特徴量とする。このことにより、領域を入れ替えていないフィルタと領域を入れ替えたフィルタの両方のフィルタを適用した場合と同様の効果を得られるように構成されている。
【0072】
フィルタ101−6乃至101−10は、それぞれ異なる大きさのフィルタであり、図中上側が白色領域とされ、図中下側が黒色領域とされたフィルタである。フィルタ101−11乃至101−13は、それぞれ異なる大きさのフィルタであり、図中左上がりの斜めの形状であり、図中上側が白色領域とされ、図中下側が黒色領域とされたフィルタである。フィルタ101−14乃至101−16は、それぞれ異なる大きさのフィルタであり、図中右上がりの斜めの形状であり、図中上側が白色領域とされ、図中下側が黒色領域とされたフィルタである。
【0073】
このような1次微分関数G1を表すフィルタ101−1乃至101−16は、エッジ成分の抽出に適している。フィルタ101−1乃至101−16は、隣あった領域との輝度平均の差分が計算されるので、例えば、白い領域から黒い領域に変化するところにエッジがあるといった意味あいになる。
【0074】
フィルタ102−1は、所定の大きさを有するフィルタであり、図中左から順に、白色領域、黒色領域、白色領域とされたフィルタである。フィルタ102−2乃至102−5は、それぞれ、フィルタ102−1と異なる大きさのフィルタであるが、フィルタ102−1と同じく、図中左から順に、白色領域、黒色領域、白色領域とされたフィルタである。
【0075】
フィルタ102−6乃至102−10は、それぞれ異なる大きさのフィルタであり、図中上から順に、白色領域、黒色領域、白色領域とされたフィルタである。フィルタ102−11乃至102−13は、それぞれ異なる大きさのフィルタであり、図中左上がりの斜めの形状であり、図中上から順に、白色領域、黒色領域、白色領域とされたフィルタである。フィルタ102−14乃至102−16は、それぞれ異なる大きさのフィルタであり、図中右上がりの斜めの形状であり、図中上から順に、白色領域、黒色領域、白色領域とされたフィルタである。
【0076】
このような2次微分関数G2を表すフィルタ102−1乃至102−16は、バー成分(棒形状の成分)の抽出に適している。
【0077】
フィルタ103−1は、所定の大きさを有するフィルタであり、図中左から順に、黒色領域、白色領域、黒色領域、白色領域とされたフィルタである。フィルタ103−2乃至103−5は、それぞれ、フィルタ103−1と異なる大きさのフィルタであるが、フィルタ103−1と同じく、図中左から順に、黒色領域、白色領域、黒色領域、白色領域とされたフィルタである。
【0078】
フィルタ103−6乃至103−10は、それぞれ異なる大きさのフィルタであり、図中上から順に、白色領域、黒色領域、白色領域、黒色領域とされたフィルタである。フィルタ103−11乃至103−13は、それぞれ異なる大きさのフィルタであり、図中左上がりの斜めの形状であり、図中上から順に、白色領域、黒色領域、白色領域、黒色領域とされたフィルタである。フィルタ103−14乃至103−16は、それぞれ異なる大きさのフィルタであり、図中右上がりの斜めの形状であり、図中上から順に、白色領域、黒色領域、白色領域、黒色領域とされたフィルタである。
【0079】
このような3次微分関数G3を表すフィルタ103−1乃至103−16は、人の足のような形状を抽出するのに適している。
【0080】
[識別器生成部の構成について]
図5は、図1の識別器生成部25のより詳細な構成例を示すブロック図である。識別器生成部25は、サンプリング部61、重み設定部62、並び替え部63、識別器設定部64、識別器選択部65、および重み更新部66から構成される。
【0081】
サンプリング部61は、重み設定部62により設定される学習画像単位の重みに応じて、特徴点のペア毎に、複数の学習画像のそれぞれの同じ位置の特徴点のペアの特徴量から、M個の特徴量をサンプリングして並び替え部63に供給する。
【0082】
並び替え部63は、各特徴点のペアについて、サンプリングされたM個の特徴量を昇順、または降順に並び替えて識別器設定部64に供給する。
【0083】
識別器設定部64は、特徴量が抽出された学習画像に認識しようとする対象物体が含まれているか否かを示す正誤情報に基づいて、昇順、または降順に並び替えられた各ペアの特徴量のそれぞれについて、閾値を変化させながら誤り率計算部64aを制御して、誤り率を計算させ、誤り率が最小となるように閾値を設定する(この閾値が、弱識別器として設定される)。さらに、識別器設定部64は、弱識別器毎の誤り率を識別器選択部65に供給する。
【0084】
学習画像には、その学習画像に対象物体が含まれているか否かを示す正誤情報(ラベル)が付加されており、識別器設定部64は、特徴量計算部24から供給された学習画像に付加されている正誤情報に基づいて、弱識別器の設定を行う。
【0085】
識別器選択部65は、弱識別器のうち、誤り率が最小となる弱識別器を選択して、弱識別器からなる識別器を更新し、最終的な識別器および各弱識別器に対応する特徴量を識別器記憶部12に供給する。さらに、識別器選択部65は、選択した弱識別器の誤り率に基づいて信頼度を計算し、重み更新部66に供給する。
【0086】
重み更新部66は、供給された信頼度に基づいて学習画像毎の重みを再計算するとともに、重みを正規化して更新し、更新結果を重み設定部62に供給する。重み設定部62は、重み更新部66より供給されてくる重みの更新結果に基づいて、学習画像単位の重みを設定する。
【0087】
[学習処理について]
次に、学習装置11で行われる学習処理について説明を加える。学習装置11に学習画像が入力され、識別器の生成が指示されると、学習装置11は、学習処理を開始して統計学習により識別器を生成する。以下、図6乃至8のフローチャートを参照して、学習装置11による学習処理について説明する。
【0088】
ステップS11において、多重解像度画像生成部22は、入力された学習画像から、多重解像度画像を生成する。上記したように、多重解像度画像生成部22は、例えば、レベルL1乃至レベルL8までの8つの解像度の階層の多重解像度画像を生成し、その生成した画像を特徴点抽出部23に供給する。特徴点抽出部23は、それぞれ、供給される多重解像度画像(異なる解像度の複数の画像)のうちの1つの画像を、処理対象の学習画像として、ステップS11以下の処理を実行し、複数の画像毎に繰り返しステップS11以下の処理を実行する。
【0089】
ステップS12において、特徴点抽出部23は、入力された学習画像から特徴点を抽出する。例えば、特徴点抽出部23に図9Aに示す学習画像が入力された場合、特徴点抽出部23は、図9Bに示すように、学習画像において所定の間隔で並んでいる画素を、特徴点として抽出する。なお、図9Bにおいて、学習画像上の円は特徴点とされた画素を表している。
【0090】
図9Aおよび図9Bに示す学習画像は、図中、横方向に32画素、縦方向に64画素からなる学習画像であり、特徴点抽出部23は、学習画像上の画素を、横方向および縦方向に2画素おきに特徴点とする画素として選択する。これにより、学習画像において、図中、横方向に12画素、縦方向に28画素、合計336(=12×28)画素が特徴点として選択される。
【0091】
特徴点抽出部23は、学習画像から特徴点を抽出すると、抽出した特徴点と、入力された学習画像とを特徴量計算部24に供給する。
【0092】
ステップS13において、特徴量計算部24は、特徴量計算処理を行い、特徴点抽出部23から供給された特徴点および学習画像に基づいて、各特徴点の特徴量を計算する。ここで、図8のフローチャートを参照して、ステップS13の処理に対応する特徴量計算処理について説明する。
【0093】
ステップS51において、特徴量計算部24、より詳細には、特徴量計算部24の1次フィルタ処理部51、2次フィルタ処理部52、および3次フィルタ処理部53は、それぞれ特徴点抽出部23から供給されてきた特徴点のうち、未処理の特徴点の1つを注目画素として選択する。このとき、1次フィルタ処理部51、2次フィルタ処理部52、および3次フィルタ処理部53がそれぞれ用いるフィルタは、図3に示したフィルタであっても良いし、図4に示したフィルタであっても良い。または、両方用いても良い。
【0094】
ステップS52において、特徴量計算部24は、方向θqを示すカウンタqを1とする。これにより、方向θqはθ1とされる。
【0095】
ステップS53において、1次フィルタ処理部51は、1次フィルタ処理を行う。すなわち、1次フィルタ処理部51は、処理対象となる注目画素の画素値に基づいて、ガウス幅をσ=1とし、かつ方向をθqとして式(2)を演算し、フィルタ処理した結果を特徴量生成部54に供給する。すなわち、式(2)における方向θがθqとされて演算が行われ、輪郭が抽出される。
【0096】
なお、“ガウス幅をσ=1として”と記述したが、本実施の形態の場合、ガウス幅は、σ=1と固定されている(予め1つのガウス幅のフィルタが設定されている)ため、この“ガウス幅をσ=1として”という処理は省略することが可能である。すなわち、本実施の形態においては、ガウス幅σが1のフィルタの方向をθqとして式(2)を演算するという処理が、ステップS53において実行されることになる。また、ここでは、ガウス幅σをσ=1として説明を続けるが、予め用意されているフィルタのガウス幅は、σ=1以外のガウス幅でも勿論良い。
【0097】
ステップS54において、2次フィルタ処理部52は、2次フィルタ処理を行う。すなわち、2次フィルタ処理部52は、注目画素の画素値に基づいて、ガウス幅σ=1のフィルタの方向をθqとして式(3)を演算し、フィルタ処理した結果を特徴量生成部54に供給する。すなわち、式(3)における方向θがθqとされて演算が行われ、輪郭が抽出される。
【0098】
ステップS55において、3次フィルタ処理部53は、3次フィルタ処理を行う。すなわち、3次フィルタ処理部53は、注目画素の画素値に基づいて、ガウス幅σ=1のフィルタの方向をθqとして式(5)を演算し、フィルタ処理した結果を特徴量生成部54に供給する。すなわち、式(5)における方向θがθqとされて演算が行われ、輪郭が抽出される。
【0099】
ステップS56において、特徴量計算部24は、方向θqがθ4であるか否か、すなわちカウンタq=4であるか否かを判定する。ステップS56において、方向θqがθ4でないと判定された場合、ステップS57において、特徴量計算部24は、カウンタqをインクリメントする。例えば、カウンタq=1であった場合、カウンタqがインクリメントされてq=2とされ、これにより方向θqはθ2とされる。カウンタqがインクリメントされると、処理はステップS53に戻り、上述した処理が繰り返される。
【0100】
これに対して、ステップS56において、方向θqがθ4であると判定された場合、ステップS58において、特徴量生成部54は、1次フィルタ処理部51、2次フィルタ処理部52、および3次フィルタ処理部53から供給された演算結果を特徴量として合成し、1つの特徴点に対する特徴量を生成する。
【0101】
特徴量は、以下の式(7)または式(8)で求められる。
【数7】


【数8】

【0102】
式(7)、式(8)において、Gd,θは、式(2)などと同じく、任意の角度θにおけるガウス関数Gのd次微分関数である。また、I(xi,yi,si)のうち、(xi,yi)は、処理対象とされている特徴点の画像内での座標を表し、(si)は、多重解像度画像を構成する画像のうち、処理対象とされている画像のスケールを表す。
【0103】
式(7)は、任意の角度θにおけるガウス関数Gのd次微分関数と特徴量を畳込み演算し、その絶対値をΣで総和を演算する式である。式(8)は、任意の角度θにおけるガウス関数Gのd次微分関数と特徴量を畳込み演算し、その絶対値をmaxで最大値をとる式である。
【0104】
式(7)と式(8)は、ともに、特徴量を算出する式であるが、式(7)は、局所的なエネルギーを計算する式であり、式(8)は、局所的な最大値を計算する式である。ここで、この式の意味ついて説明を加える。
【0105】
上記したような処理により、任意の角度における関数とスケールで抽出されたフィルタ係数を特徴量として、教師あり統計学習を行い、人などの対象物を検出する検出識別器を生成できる。しかしながら、この検出識別器では、例えば、人の着ている服装と背景の関係に依存する特徴量となってしまう。また、人のように歪みや変形の大きな認証対象に関しては、特徴量として選択性がありすぎる。よって、これらのことを吸収して処理する必要があり、それぞれの特徴量を不変性のある特徴量にする必要がある。
【0106】
“人の着ている服装と背景に関係に依存する特徴量”を、不変性のある特徴量にするには、フィルタ処理後の出力値の絶対値を演算することで解決することができる。絶対値を演算することで、人の輪郭に近い特徴量が抽出できる。さらに本実施の形態においては、1次微分関数、2次微分関数、さらに3次微分関数を演算し、それぞれ絶対値の演算を行っている。よって、1次微分関数による絶対値だけで演算を行う場合に比べて、はるかに精度を良くすることができ、不変性を有する特徴量を算出できるようになる。
【0107】
また、“人のように歪みや変形の大きな認証対象に関しては、特徴量として選択性がありすぎる”といったことに対しては、位置ずれによる不変演算を行うことで、そのようなこと吸収した特徴量を演算できるようになる。位置ずれによる不変演算とは、例えば、人の顔の輪郭を検出したとき、顔の形によらずその輪郭の長さはほぼ同じになるといったことを利用した演算である。換言すれば、輪郭の所定の部分に注目したとき、その部分が位置的にずれても、例えば、ほぼ丸顔の人の輪郭が位置的に移動し、細長い顔の人の輪郭に重なるようにしたときに、位置がずれただけで、その長さなどの値は不変であるとみなせる演算である。
【0108】
このような演算として、式(7)のように、総和が演算される。総和を演算することにより、例えば、人の顔の輪郭の総和が演算されることになる。または、式(8)のように、最大値が演算される。最大値を演算することにより、例えば、人の顔の輪郭のうちの最大値が演算されることになる。
【0109】
ここでは、総和と最大値という2つの演算を示した。換言すれば、上記したように、式(7)に基づき、局所的なエネルギーを計算する演算か、式(8)に基づき、局所的な最大値を計算する演算を示した。この他にも、局所的な最大値を有する点の周辺の局所的なエネルギーを計算する演算が行われるようにしても良い。これは、式(8)の演算結果を受けて、式(7)の演算を行うようなイメージである。または、局所的なエネルギーの周辺の最大値を計算する演算が行われるようにしても良い。これは、式(7)の演算結果を受けて、式(8)の演算を行うようなイメージである。具体的な式は示さないが、このような演算で特徴量が算出されるようにしても良い。
【0110】
ここで、図10を参照して特徴量の算出についてさらに説明を加える。図10に示した画像201を、処理対象とされている画像とする。この画像201は、学習時においては学習対象とされた画像であり、認識においては、認識対象とされた画像である。画像201に対して、フィルタ101−1でフィルタリングの処理を行った結果が、画像202である。
【0111】
この画像202は、次式(9)で算出された特徴量を画像に反映した画像である。
【数9】


式(9)は、式(7)の演算において、総和と絶対値を演算しないのが式(9)である。
【0112】
画像203は、次式(10)に基づく演算の結果、算出された特徴量を画像に反映した画像である。
【数10】


式(10)は、式(9)の演算結果の絶対値を算出する式である。
【0113】
画像203は、画像202を生成したときに用いられたフィルタ101−1の領域を反転したフィルタ101−1’を用いて処理した場合と同等の画像である。フィルタ101−1’は、図中左側が白色領域であり、図中右側が黒色領域とされたフィルタであり、フィルタ101−1の領域を反転したフィルタである。
【0114】
フィルタ101−1を適用し、式(9)に基づく絶対値を算出しない式に基づいて算出された特徴量を反映した画像は、例えば、白から黒に変化する部分(輪郭)が抽出された画像202となる。フィルタ101−1’を適用し、式(10)に基づく絶対値を算出する式に基づいて算出された特徴量を反映した画像は、例えば、黒から白に変化する部分(輪郭)が抽出された画像203となる。このように、方向が異なるだけで、同じ輪郭を抽出することができる。
【0115】
さらに、図10に示した画像204は、複数のフィルタ101−1を適用し、式(7)に基づく演算で、フィルタ毎の算出された値の総和を演算した結果(特徴量)を画像に反映した画像である。複数のフィルタ101−1と記述したが、同一のフィルタ101−1が、複数の位置(画素)に対して適用されるということを示している。換言すれば、フィルタ101−1aが所定の画素aに対して適用された場合、その画素aの近傍に位置する画素b乃至fのそれぞれに対してフィルタ101−1が適用された演算が行われる。ここでは、異なる位置に適用されるフィルタを区別するために、a乃至fの添え字を付して記述する。
【0116】
フィルタ101−1aが適用され、式(10)に基づく演算が行われ、特徴量Aが算出される。同じく、フィルタ101−1bが適用され、式(10)に基づく演算が行われ、特徴量Bが算出され、フィルタ101−1cが適用され、式(10)に基づく演算が行われ、特徴量Cが算出される。
【0117】
さらに、同様に、フィルタ101−1dが適用され、式(10)に基づく演算が行われ、特徴量Dが算出され、フィルタ101−1eが適用され、式(10)に基づく演算が行われ、特徴量Eが算出され、フィルタ101−1fが適用され、式(10)に基づく演算が行われ、特徴量Fが算出される。このようにして算出された特徴量A乃至Fが加算されて、特徴量が算出される。この加算された特徴量が、基準とされた画素aに対する特徴量とされる。
【0118】
なおここでは、加算された特徴量(すなわち、総和)が、基準とされた画素aに対する特徴量とされるとして説明をしたが、加算された特徴量を、処理対象とされた特徴点の数で除算した値、すなわち平均値が特徴量とされるようにしても良い。
【0119】
このような特徴量は、位置ずれ、回転、大きさの変化などに強い特徴量である。この場合、異なる位置にフィルタを適用することで、それぞれの特徴量が算出されるわけだが、その、それぞれの特徴量は、例えば、画像内における所定の物体の輪郭を抽出するための特徴量となる。輪郭が異なる位置毎に抽出されることで、輪郭自体がぼけた感じになる。このぼけ具合を利用することで、位置ずれ、回転、大きさの変化などを吸収することができ、位置ずれ、回転、大きさの変化などに強い特徴量とすることが可能となる。
【0120】
図10を参照した説明では、式(10)を適用した場合を例にあげて説明したが、式(8)を適用した場合も、上記した場合と同様に特徴量を算出することが可能であるため、ここでは、その説明は省略する。
【0121】
図7に示したフローチャートの説明に戻る。ステップS58において、このような演算により、各特徴点から特徴量が算出される。そして、ステップS59において、特徴量計算部24は、全ての特徴点について処理が終了したか否かを判定する。例えば、特徴点抽出部23から供給された全ての特徴点について、特徴量が求められた場合、処理が終了したと判定される。
【0122】
ステップS59において、全ての特徴点について処理が終了していないと判定された場合、処理はステップS51に戻り、次の特徴点が注目画素として選択される。
【0123】
これに対して、ステップS59において、全ての特徴点について処理が終了したと判定された場合、特徴量生成部54は、特徴点抽出部23から供給された学習画像と、生成された各特徴点の特徴量とを識別器生成部26に供給する。そして、その後、処理は図6のステップS14に進む。
【0124】
なお、学習画像からの特徴量の抽出には、ステアラブルフィルタに限らず、ガボアフィルタなどが用いられるようにしてもよい。
【0125】
図6のフローチャートの説明に戻り、各特徴点の特徴量が求められると、ステップS14において、識別器生成部26は、特徴量計算部24から供給された学習画像および特徴量に基づいて、識別器生成処理を行い、識別器を生成する。このステップS14において実行される識別器生成処理について、図8のフローチャートを参照して説明する。
【0126】
ステップS101において、重み設定部62は、例えば、図11で示される学習画像PIi(1≦i≦M)毎の重みWiを全て1/Mに初期化し、識別器選択部65は、カウンタjを1に、弱識別器の和からなる識別器R(x)を0にそれぞれ初期化する。
【0127】
ここで、iは、図11における学習画像PIiを識別するものであり、1≦i≦Mである。ステップS101の処理により、全ての学習画像PIiの重みWiは、いずれも正規化された同一の重み(=1/M)とされる。また、カウンタjは、予め定められた、識別器R(x)を更新する回数を示している。
【0128】
ステップS102において、サンプリング部61は、各特徴点のペア毎に、複数の学習画像PIiのそれぞれの同じ位置の特徴点のペアの特徴量から、学習画像PIiの重みWiに応じて、M個の特徴量を選択し、並び替え部63に供給する。
【0129】
例えば、特徴量計算部24からサンプリング部61に、図12に示すように、M個の学習画像PI1乃至学習画像PIMの特徴量が供給されたとする。図12では、図中、横方向に学習画像PIi(但し、1≦i≦M)から得られた特徴量が並べられており、学習画像を表す文字PIiの図中、左側の数字「+1」または「−1」は、その学習画像PIiに付加されたラベル(正誤情報)を示している。
【0130】
すなわち、図中、一番上側に横方向に並んでいる(A1,A2,A3,・・・,AN)は、学習画像PI1の特徴点の各ペアの特徴量のそれぞれを表しており、学習画像PI1を示す文字「PI1」の図中、左側の文字「+1」は、学習画像PI1に対象物体が含まれている旨のラベルを表している。
【0131】
同様に、図中、上から二番目の横方向に並んでいる(B1,B2,B3,・・・,BN)は、学習画像PI2の特徴点の各ペアの特徴量のそれぞれを表しており、学習画像PI2を示す文字「PI2」の図中、左側の文字「+1」は、学習画像PI2に対象物体が含まれている旨のラベルを表している。
【0132】
また、図中、上から三番目の横方向に並んでいる(C1,C2,C3,・・・,CN)は、学習画像PI3の特徴点の各ペアの特徴量のそれぞれを表しており、文字「PI3」の図中、左側の文字「−1」は、学習画像PI3に対象物体が含まれていない旨のラベルを表している。さらに、図中、上からM番目の横方向に並んでいる(M1,M2,M3,・・・,MN)は、学習画像PIMの特徴点の各ペアの特徴量のそれぞれを表しており、文字「PIM」の図中、左側の文字「−1」は、学習画像PIMに対象物体が含まれていない旨のラベルを表している。
【0133】
このように、図12の例では、1つの学習画像PIiからは、特徴点のN個のペアのそれぞれの特徴量が得られる。また、図12では、縦方向に並んだM個の特徴量Ak乃至特徴量Mk(但し、1≦k≦M)が1つのグループGrkとされており、このグループGrkに属す特徴量は、各学習画像PIiにおける同じ位置の特徴点のペアの特徴量とされている。
【0134】
例えば、グループGr1は、縦方向に並んだ特徴量A1乃至特徴量M1からなり、特徴量A1が求められる学習画像PI1のペアとなる2つの特徴点と、グループGr1に属す他の特徴量、例えば特徴量M1が求められる学習画像PIMのペアとなる2つの特徴点とは、学習画像上の同じ位置にある。なお、以下において、各学習画像PIiにおける特徴点のペアであって、グループGrk(1≦k≦N)に属す特徴量が求まめられるペアをペアkと称する。
【0135】
サンプリング部61に、図12に示される学習画像PIi毎の特徴量が供給された場合、サンプリング部61は、ペアk毎、すなわちグループGrk毎に、そのグループに属す特徴量から学習画像PIiの重みWiに応じて、M個の特徴量を抽選で選択する。例えば、サンプリング部61は、重みWiに応じて、グループGr1に属す特徴量A1乃至特徴量M1から、M個の特徴量を選択する。なお、最初の処理においては、いずれの重みWiも1/Mであり、等しいため、M個が抽選されると、確率的には全ての特徴量が選択されることになる。そのため、ここでは、最初の処理では各グループGrkにおいて、全ての特徴量が選択されたものとする。もちろん、実際には、同一の特徴量が重複して選択されることもある。
【0136】
なお、重みWiは、特徴点のペア毎のエラー計算に用いることもできる。この場合、データ重み係数(重みWi)がエラー値に掛け合わされてエラー計算が行われる。
【0137】
ステップS103において、並び替え部63は、N個のグループGrkのそれぞれについて、グループGrk、すなわちペアk毎に選択されたM個の特徴量を昇順、または降順に並び替えて、識別器設定部64に供給する。例えば、図12のグループGr1に属す特徴量から選択された、M個の特徴量が順番に並び替えられる。
【0138】
ステップS104において、識別器設定部64は、特徴量計算部24から供給された学習画像に付加されている正誤情報(ラベル)に基づいて、グループGrk毎、すなわち特徴点のペアk毎に、閾値を変化させながら誤り率計算部64aを制御して、以下の式(11)で示すように誤り率ejkを計算させ、誤り率ejkが最小となるように閾値を設定する。
【0139】
ここで、特徴点のペアk毎の閾値thjkが、1個の弱識別器fjkとなる。識別器設定部64は、弱識別器fjkごとの誤り率ejkを識別器選択部65に供給する。すなわち、N個のペアkのそれぞれに対して、N個の弱識別器fjkのそれぞれが設定され、N個の弱識別器fjkのそれぞれについて誤り率ejkが求められることになる。なお、弱識別器fjkは、認識しようとする対象物体を含む場合「+1」を出力し、認識しようとする対象物体を含まない場合「−1」を出力する関数である。
【0140】
例えば、図13に示すように、j=1であって、特徴点のペアk=1の特徴量がL1,A1,C1,B1,・・・,M1に昇順、または、降順に並べられた場合、閾値th11が特徴量A1とC1の間に設定される。そして、閾値th11より小さい範囲では、認識しようとする対象物体がないと認識され(「−1」で示されている範囲)、閾値th11より大きい範囲では、認識しようとする対象物体があると認識される(「+1」で示されている範囲)とき、図中の点線で囲まれた特徴量A1は、認識しようとする対象物体が含まれた学習画像の特徴量であるので、エラーであるとみなされる。また、特徴量C1,M1は、逆に、認識しようとする対象物体が含まれていない学習画像の特徴量であるので、エラーであるとみなされる。
【0141】
図13の例では、閾値th11は、誤り率ejkが最小となる位置に設定されている。例えば、図13に示す閾値th11が、誤り率ejkの最小となる位置ではない場合には、識別器設定部64は、閾値th11の位置を変化させて、各位置における誤り率ejkを参照しながら、誤り率ejkが最小となる閾値th11の位置を探し出し、その位置を閾値th11の位置とする。
【0142】
誤り率計算部64aは、以下の式(11)で示されるように、学習画像の正誤情報(ラベル)に基づいて、エラーであるとみなされた特徴量が抽出された学習画像の重みWiを加算し、誤り率ejkを計算する。
【0143】
【数11】

【0144】
ここで、y≠fjkはエラーとなっている特徴点のペアkの条件を示しており、Ewは、エラーの発生したペアkにおける重みが加算されることを示している。
【0145】
ステップS105において、識別器選択部65は、識別器設定部64から供給されたペアk毎のN個の誤り率ejkに基づいて、N個の弱識別器fjkのうち、誤り率ejkが最小となる弱識別器fjkを選択する。そして、識別器選択部65は、識別器設定部64から選択した弱識別器fjkを取得する。
【0146】
ステップS106において、識別器選択部65は、選択した弱識別器fjkの誤り率ejkに基づいて、以下の式(12)で示される信頼度cjを計算し、計算結果を重み更新部66に供給する。
【0147】
【数12】

【0148】
なお、式(12)において、ejは、誤り率ejkのうち、選択された弱識別器fjkの誤り率ejk、すなわちN個の誤り率ejkのうちの最小の誤り率ejkを示している。また、以下において、ステップS105の処理において選択されたペアkの弱識別器を、弱識別器fjとも称し、その弱識別器fjの誤り率ejkを誤り率ejとも称する。
【0149】
ステップS107において、重み更新部66は、供給された信頼度cjに基づいて、以下の式(13)を計算することで、学習画像PIi毎に重みWiを再計算するとともに、全ての重みWiを正規化して更新し、更新結果を重み設定部62に供給する。重み設定部62は、重み更新部66より供給されてくる重みの更新結果に基づいて、学習画像毎の重みを設定する。
【0150】
【数13】


式(13)においては、エラーの発生した特徴量を含む学習画像の重みWiが大きくなることが示されている。
【0151】
ステップS108において、識別器選択部65は、新たに求められた弱識別器fjを用いて、保持している識別器R(x)を更新する。すなわち、識別器選択部65は、次式(14)を計算することで識別器R(x)を更新する。
【0152】
R(x)=R’(x)+cj×fj(x) ・・・(14)
【0153】
式(14)において、R’(x)は、識別器選択部65が保持している更新前の識別器を表しており、fj(x)は、新たに求められた弱識別器fjを表している。すなわち、識別器選択部65は、保持している識別器に、信頼度cjが乗算されて重み付けされた、新たに求められた弱識別器を加算することで識別器を更新する。
【0154】
ステップS109において、識別器選択部65は、誤り率ejkが最小となる弱認識器fjkに対応する特徴点のペアkの特徴量を、識別用特徴量として保持する。
【0155】
ステップS110において、識別器選択部65は、カウンタjがL以上であるか否かを判定する。ステップS110において、カウンタjがL以上でないと判定された場合、ステップS111において、識別器選択部65は、カウンタjをインクリメントする。そして、その後、処理はステップS102に戻り、上述した処理が繰り返される。
【0156】
すなわち、新たに設定された学習画像毎の重みWiが用いられて、N個のペアkについて、新たな弱識別器fjkが設定され、それらの弱識別器fjkから誤り率ejkが最小となる弱認識器fjkが選択される。そして、選択された弱認識器fjkにより、識別器が更新される。
【0157】
これに対して、ステップS110において、カウンタjがL以上であると判定された場合、ステップS112において、識別器選択部65は、保持している識別器および識別用特徴を識別器記憶部12に出力する。
【0158】
以上の処理により、L個の比較的誤り率の低い弱識別器fj(1≦j≦L)からなる識別器が識別器記憶部12に供給されるとともに、それぞれの弱識別器fjで使用されるべき特徴点のペアkの特徴量が識別器記憶部12に供給される。ここでLは、L≦Nである。
【0159】
なお、式(14)の識別器を用いて、特徴量を代入した識別器が正である場合に「+1」を出力し、識別器が負である場合に「−1」を出力する識別器(関数)を生成すると、その識別器は、L個の弱識別器の多数決により、認識しようとする対象物体の有無を出力する関数であると言える。また、図7のフローチャートを参照して説明した弱識別器を学習処理により重み付けしつつ付加することを繰り返し、識別器を生成する学習処理は、Discrete Adaboost Algorithmと呼ばれている。
【0160】
すなわち、以上の識別器生成処理により、誤り率の高い学習画像の特徴量の重みが順次大きくなり、誤り率の低い特徴量の重みが小さくなるように、特徴点のペア毎に弱識別器と誤り率が計算される処理が繰り返されることになる。したがって、繰り返し処理(ステップS102乃至S111の処理)の中で、弱識別器を設定する際に選択される特徴量(ステップS102で選択される特徴量)は、徐々に誤り率の高いものが選択されやすくなるので、認識し難い特徴量が繰り返されるほどに選択されて学習が繰り返されることになるため、認識し難い学習画像の特徴量がより多く選択されることになり、最終的に高い認識率にすることが可能となる。
【0161】
また、繰り返し処理(ステップS102乃至S111の処理)の中で、識別器選択部65は、常に誤り率の最も低いペアに対応する弱識別器を選択することになるので、学習処理の繰り返しにより、常に信頼度の最も高い特徴点のペアについての弱識別器が選択されて識別器に加算されることになり、繰り返される毎に精度の高い弱識別器が順次加算されることになる。
【0162】
さらに、識別器は、特徴量を用いて画像に対象物体としての人が含まれているか否かを識別する識別器である。そして、識別器を構成する各弱識別器に代入される特徴量に対応する特徴点のペアは、特徴点のペアのうち、入力された画像から対象物体を検出するのに適したペアである。
【0163】
上述したように、入力された画像を、異なる解像度の画像にし、その異なる解像度の画像に対してフィルタ処理を施すことにより、計算効率を向上させることが可能となり、処理速度を向上させることが可能となる。よって、例えば、リアルタイムに人などの対象物を認識することが可能となる。
【0164】
例えば、複数のスケールの画像に、複数のフィルタを用いた処理を行うと、多くのフィルタ演算を必要とし、処理時間や処理能力が増大してしまう可能性があった。しかしながら本実施の形態のように、複数のスケールの画像に、1つのフィルタを用いた処理を行うため、換言すれば、畳み込みが1スケールですむため、多くの演算を必要とせず処理を行えるため、処理速度を向上させることが可能となる。
【0165】
また、マルチスケールフィルタの場合、周波数が低くなる(ガウス幅σが大きくなる)と、畳み込み演算に時間がかかるが、本実施の形態によれば、上記したように、1つのガウス幅でフィルタを構成することが可能であり、複数のガウス幅のフィルタを用意する必要がなく、複数のガウス幅のフィルタで演算する必要がない。よって、本実施の形態によれば、仮に、最も高周波のフィルタを1つだけ用意して処理したとしても、マルチスケールフィルタの場合に比べて、はるかに処理速度を向上させることが可能となる。
【0166】
[フィルタとして領域平均差分値を用いた場合について]
上記した例では、フィルタとして、図3や図4に示したような形状を有するフィルタを用いる場合を例にあげて説明した。次に、図14に示したような形状のフィルタを用いた場合について説明を加える。
【0167】
図14に示したフィルタAは、所定の大きさの画像301(その画像内の所定の大きさの領域301)に、所定の間隔をあけて配置された、同じ大きさの領域302と領域303を有している。なお、以下の説明において、領域の大きさは、一例を示すものであり、限定を示すものではなく、例えば、領域302と領域303は、異なる大きさの領域であっても良い。
【0168】
領域302と領域303は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。この配置も一例であり、領域間の間隔や配置位置、その配置方向など、限定を表すものではない。
【0169】
フィルタAは、領域302内に位置する画素の画素値の総和(総和302とする)と、領域303内に位置する画素の画素値の総和(総和303とする)がそれぞれ算出され、その総和302から総和303が減算され、その差分値を特徴量とするためのフィルタである。総和302と総和303の差分の差分値の絶対値が特徴量とされることで、差分値の符号に依存する特徴量とならないため、絶対値が算出されるように構成されることが好ましい。
【0170】
図14においては、白色で示した領域(フィルタAでは、領域302)から、黒色で示した領域(フィルタAでは、領域303)が減算されるとして説明を続ける。また、領域内の画素値の総和が算出されるとして説明をするが、総和ではなく、平均値でも良い。
【0171】
図14に示したフィルタBは、所定の大きさの画像311(その画像内の所定の大きさの領域311)に、所定の間隔をあけて配置された、異なる大きさの領域312と領域313を有している。また、領域312と領域313は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0172】
フィルタBは、領域312内に位置する画素の画素値の総和から、領域313内に位置する画素の画素値の総和の差分を算出することで特徴量を算出するフィルタである。
【0173】
領域312と領域313は、異なる大きさであるので、例えば、領域312からは連続的に画素値を読み出し、領域313からは間引いて画素値を読み出すことで、領域内から読み出される画素値の個数を同一にして差分値が算出される。または、多重解像度画像が生成されるため、複数の多重解像度画像を用いて処理することで差分値が算出されるようにしても良い。
【0174】
例えば、領域313が、領域312の4倍の大きさであったとする。また、領域312を基準として、その領域312が適用される画像を基準画像とする。このとき、領域313が適用される画像は、基準画像の4倍に拡大された画像(多重解像度画像)とされる。このように多重解像度画像を利用することで、領域内から読み出される画像の個数などを同一にし、差分値が算出される。
【0175】
図14に示したフィルタCは、所定の大きさの画像321(その画像内の所定の大きさの領域321)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域322乃至325を有している。また、領域322は、横方向(四角形を構成する長辺が、図中横方向)に配置され、領域323乃至325は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0176】
フィルタCが適用された場合、まず、領域322内に位置する画素の画素値の総和(総和322とする)と、領域323内に位置する画素の画素値の総和(総和323とする)が算出され、総和322と総和323を加算した加算値(加算値322とする)が算出される。また同様に、領域324内に位置する画素の画素値の総和(総和324とする)と、領域325内に位置する画素の画素値の総和(総和325とする)が算出され、総和324と総和325を加算した加算値(加算値324とする)が算出される。
【0177】
加算値322と加算値324が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタCは、その算出された絶対値を特徴量とするフィルタである。領域322乃至325は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域322乃至325がそれぞれ適用され、領域内の総和が算出される。
【0178】
図14に示したフィルタDは、所定の大きさの画像331(その画像内の所定の大きさの領域331)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域332乃至334を有している。また、領域332は、横方向(四角形を構成する長辺が、図中横方向)に配置され、領域333,334は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域333と領域334の一部分は、重なった状態で配置されている。
【0179】
フィルタDが適用された場合、領域332内に位置する画素の画素値の総和(総和332とする)と、領域333内に位置する画素の画素値の総和(総和333とする)が算出され、総和332と総和333を加算した加算値(加算値332とする)が算出される。また同様に、領域334内に位置する画素の画素値の総和(総和334とする)が算出される。
【0180】
加算値332と加算値334が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタDは、その算出された絶対値を特徴量とするフィルタである。領域332乃至335は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域332乃至334がそれぞれ適用され、領域内の総和が算出される。
【0181】
図14に示したフィルタEは、所定の大きさの画像341(その画像内の所定の大きさの領域341)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域342と領域343を有している。また、領域342と領域343は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域342は、領域343に含まれる状態(全てが重なった状態)で配置されている。
【0182】
フィルタEが適用された場合、まず、領域342内に位置する画素の画素値の総和(総和342とする)が算出され、領域343内に位置する画素の画素値の総和(総和343とする)が算出される。総和342と総和343が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタEは、その算出された絶対値を特徴量とするフィルタである。領域342と領域343は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域342、領域343がそれぞれ適用され、領域内の総和が算出される。
【0183】
図14に示したフィルタFは、所定の大きさの画像351(その画像内の所定の大きさの領域351)に、所定の間隔をあけて配置された、同一の大きさの領域352と領域353を有している。また、領域352は、領域351内で斜めに配置され、その傾きは、図14に示した例では、図中右側が上になるような傾きである。また、領域353は、縦方向(四角形を構成する長辺が、図中縦方向)に配置されている。
【0184】
フィルタFが適用された場合、まず、領域352内に位置する画素の画素値の総和(総和352とする)が算出され、領域353内に位置する画素の画素値の総和(総和353とする)が算出される。総和352と総和353が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタFは、その算出された絶対値を特徴量とするフィルタである。
【0185】
図14に示したフィルタGは、所定の大きさの画像361(その画像内の所定の大きさの領域361)に、所定の間隔をあけて配置された、異なる大きさの領域362と領域363を有している。また、領域362と領域363は、ともに領域361内で斜めに配置され、その傾きは、図14に示した例では、図中右側が上になるような傾きである。
【0186】
フィルタGが適用された場合、領域362内に位置する画素の画素値の総和(総和362とする)が算出され、領域363内に位置する画素の画素値の総和(総和363とする)が算出される。総和362と総和363が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタGは、その算出された絶対値を特徴量とするフィルタである。領域362と領域363は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域362、領域363がそれぞれ適用され、領域内の総和が算出される。
【0187】
図14に示したフィルタHは、所定の大きさの画像371(その画像内の所定の大きさの領域371)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域372乃至375を有している。また、領域372乃至374は、領域371内で斜めに配置され、その傾きは、図14に示した例では、図中左側が上になるような傾きである。また、領域375は、領域371内で斜めに配置され、その傾きは、図14に示した例では、図中右側が上になるような傾きである。
【0188】
フィルタHが適用された場合、領域372内に位置する画素の画素値の総和(総和372とする)と、領域373内に位置する画素の画素値の総和(総和373とする)が算出され、総和372と総和373を加算した加算値(加算値372とする)が算出される。また同様に、領域374内に位置する画素の画素値の総和(総和374とする)と、領域375内に位置する画素の画素値の総和(総和375とする)が算出され、総和374と総和375を加算した加算値(加算値374とする)が算出される。
【0189】
加算値372と加算値374が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタHは、その算出された絶対値を特徴量とするフィルタである。領域372乃至375は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域372乃至375がそれぞれ適用され、領域内の総和が算出される。
【0190】
図14に示したフィルタIは、所定の大きさの画像381(その画像内の所定の大きさの領域381)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域382乃至384を有している。また、領域382は、領域381内で斜めに配置され、その傾きは、図14に示した例では、図中左側が上になるような傾きである。領域383,384は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域383と領域384の一部分は、重なった状態で配置されている。
【0191】
フィルタIが適用された場合、領域382内に位置する画素の画素値の総和(総和382とする)と、領域383内に位置する画素の画素値の総和(総和383とする)が算出され、総和382と総和383を加算した加算値(加算値382とする)が算出される。また同様に、領域384内に位置する画素の画素値の総和(総和384とする)を算出する。
【0192】
加算値382と加算値384が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタIは、その算出された絶対値を特徴量とするフィルタである。領域382乃至385は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域382乃至384がそれぞれ適用され、領域内の総和が算出される。
【0193】
図14に示したフィルタJは、所定の大きさの画像391(その画像内の所定の大きさの領域391)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域392と領域393を有している。また、領域392は、領域391内で斜めに配置され、その傾きは、図14に示した例では、図中右側が上になるような傾きである。また、領域393は、縦方向(四角形を構成する長辺が、図中縦方向)に配置されている。
【0194】
フィルタJが適用された場合、領域392内に位置する画素の画素値の総和(総和392とする)が算出され、領域393内に位置する画素の画素値の総和(総和393とする)が算出される。総和392と総和393が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタJは、その算出された絶対値を特徴量とするフィルタである。領域392と領域393は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域392、領域393がそれぞれ適用され、領域内の総和が算出される。
【0195】
このように、図14に示したフィルタは、2以上の領域を備え、領域内の画素値の総和(または平均値)が算出され、その算出された総和の差分値の絶対値を特徴量とするようなフィルタである。また、それぞれの領域は、矩形とされ、その配置位置は、連続する(隣接する)必要性はなく、離れた位置に配置されていても良い。さらに、多重解像度画像を生成し、利用することで、異なる大きさの領域を有するフィルタを構成することも可能である。
【0196】
図15は、図14に示したようなフィルタを用いた場合の特徴量計算部24の構成を示す図である。図15に示した特徴量計算部24は、画素値加算部411と差分値算出部412を備える。画素値加算部411は、特徴点抽出部23(図1)から供給される特徴点の画素値を加算する。
【0197】
例えば、フィルタA(図14)が用いられる場合、特徴点抽出部23は、領域302内に位置する画素を特徴点として抽出するとともに、その特徴点の画素値を特徴量計算部24の画素値加算部411に供給する。画素値加算部411は、供給される画素値を足し合わせることで、領域302内の画素値の総和を算出する。同様に、特徴点抽出部23は、領域303内に位置する画素を特徴点として抽出するとともに、その特徴点の画素値を特徴量計算部24の画素値加算部411に供給する。画素値加算部411は、供給される画素値を足し合わせることで、領域303内の画素値の総和を算出する。
【0198】
また、画素値加算部411は、例えば、フィルタCのように、2以上の領域を備えるフィルタで特徴量を算出するときには、各領域の画素値の総和を、必要に応じて加算するといった処理も行う。例えば、フィルタCが適用された場合、領域322の総和と領域323の総和が加算され、領域324の総和と領域325の総和が加算されるという処理も、画素値加算部411は行う。
【0199】
なお、フィルタBのような領域321と領域313の大きさが異なるような場合、特徴点抽出部23は、特徴点を抽出する画像(画素値を読み出す画像)を、領域の大きさに適した画像とするために、多重解像度画像生成部22で生成される多重解像度画像から、領域の大きさに適した多重解像度画像を選択するという処理も含まれる。または、多重解像度画像生成部22は、特徴点抽出部23が適用するフィルタの領域に適した多重解像度画像を生成し、供給するように構成される。
【0200】
特徴量計算部24の画素値加算部411により算出された総和は、差分値算出部412に供給される。差分値算出部412は、供給された総和同士の差分を演算し、その差分値の絶対値を特徴量として、識別器生成部25に供給する。
【0201】
このようにして算出された特徴量を用いて、識別器生成部25は識別器を生成する。識別器生成部25は、図5に示した識別器生成部25と同様の構成とすることができ、その処理は、図8のフローチャートを参照して説明したので、ここでは、その説明を省略する。
【0202】
[フィルタとしてヒストグラムを用いた場合について]
上記した例では、フィルタとして、図3、図4、または図14に示したような形状を有するフィルタを用いる場合を例にあげて説明した。次に、図16に示したような形状のフィルタを用いた場合について説明を加える。
【0203】
図16に示したフィルタAは、所定の大きさの画像501(その画像内の所定の大きさの領域501)に、所定の間隔をあけて配置された、同じ大きさの領域502と領域503を有している。また、領域502と領域503は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0204】
フィルタAが適用された場合、領域502内に位置する画素の画素値からヒストグラムが作成され、その値(値502とする)が算出される。同様に、領域503内に位置する画素の画素値からヒストグラムが作成され、その値(値503とする)が算出される。そして、値502から値503が減算されることで差分値が算出される。フィルタAは、その差分値を特徴量とするフィルタである。
【0205】
値502と値503の差分の差分値の絶対値が特徴量とされることで、差分値の符号に依存する特徴量とならないため、絶対値が算出されるように構成されることが好ましい。以下の説明においては、絶対値が算出されるとして説明する。
【0206】
図16においては、白色で示した領域(フィルタAでは、領域502)から算出された値から、黒色で示した領域(フィルタAでは、領域503)から算出された値が減算されるとして説明を続ける。また、領域内の画素値のヒストグラムの値が算出されるとして説明をするが、ヒストグラムとしては、SIFT(Scale-Invariant Feature Transform)や、HOG(Histograms of Oriented Gradients)に基づくヒストグラムを用いることが可能である。
【0207】
図16に示したフィルタBは、所定の大きさの画像511(その画像内の所定の大きさの領域511)に、所定の間隔をあけて配置された、異なる大きさの領域512と領域513を有している。また、領域512と領域513は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0208】
フィルタBが適用された場合、領域512内に位置する画素の画素値からヒストグラムが作成され、その値(値512とする)が算出される。また、同様に、領域513内に位置する画素の画素値からヒストグラムが作成され、その値(値513とする)が算出される。そして、値512と値513の差分値が算出され、その差分値の絶対値がさらに算出される。フィルタBは、算出された絶対値を特徴量とすることで、特徴量を算出するためのフィルタである。
【0209】
領域512と領域513は、異なる大きさであるので、例えば、領域512からは連続的に画素値を読み出し、領域513からは間引いて画素値を読み出すことで、領域内から読み出される画素値の個数を同一にして差分値が算出される。または、多重解像度画像が生成されるため、複数の多重解像度画像を用いて処理することで差分値が算出されるようにしても良い。すなわち、例えば、領域513が、領域512の4倍の大きさであったとする。また、領域512を基準として、その領域512が適用される画像を基準画像とする。このとき、領域513が適用される画像は、基準画像の4倍に拡大された画像(多重解像度画像)とされる。このように多重解像度画像を利用することで、領域内から読み出される画像の個数などを同一にし、差分値が算出される。
【0210】
図16に示したフィルタCは、所定の大きさの画像521(その画像内の所定の大きさの領域521)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域522乃至525を有している。また、領域522は、横方向(四角形を構成する長辺が、図中横方向)に配置され、領域523乃至525は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0211】
フィルタCが適用された場合、領域522内に位置する画素の画素値からヒストグラムが作成され、その値(値522とする)が算出される。同様に、領域523内に位置する画素の画素値のヒストグラムが作成され、その値(値523とする)が算出される。そして、値522と値523を加算した加算値(加算値322とする)が算出される。
【0212】
また同様に、領域524内に位置する画素の画素値からヒストグラムが作成され、その値(値524とする)が算出される。同様に、領域525内に位置する画素の画素値のヒストグラムが作成され、その値(値525とする)が算出される。そして、値524と値525を加算した加算値(加算値524とする)が算出される。
【0213】
加算値522と加算値524が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタCは、その算出された絶対値を特徴量とするフィルタである。領域522乃至525は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域522乃至525がそれぞれ適用され、領域内のヒストグラムが作成され、その値が算出される。
【0214】
図16に示したフィルタDは、所定の大きさの画像531(その画像内の所定の大きさの領域531)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域532乃至534を有している。また、領域532は、横方向(四角形を構成する長辺が、図中横方向)に配置され、領域533,534は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域533と領域534の一部分は、重なった状態で配置されている。
【0215】
フィルタDが適用された場合、領域532内に位置する画素の画素値からヒストグラムが作成され、その値(値532とする)が算出される。同様に、領域533内に位置する画素の画素値のヒストグラムが作成され、その値(値533とする)が算出される。そして、値532と値533が加算された加算値(加算値532とする)が算出される。また同様に、領域534内に位置する画素の画素値からヒストグラムが作成され、その値(値534とする)が算出される。
【0216】
加算値532と加算値534が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタDは、その算出された絶対値を特徴量とするフィルタである。領域532乃至535は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域532乃至534がそれぞれ適用され、領域内のヒストグラムの値が算出される。
【0217】
図16に示したフィルタEは、所定の大きさの画像541(その画像内の所定の大きさの領域541)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域542と領域543を有している。また、領域542と領域543は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域542は、領域543に含まれる状態(全てが重なった状態)で配置されている。
【0218】
フィルタEが適用された場合、領域542内に位置する画素の画素値からヒストグラムが作成され、その値(値542とする)が算出され、領域543内に位置する画素の画素値からヒストグラムが作成され、その値(値543とする)が算出される。値542と値543が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタEは、その算出された絶対値を特徴量とするフィルタである。領域542と領域543は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域542、領域543がそれぞれ適用され、領域内のヒストグラムの値が算出される。
【0219】
図16に示したフィルタFは、所定の大きさの画像551(その画像内の所定の大きさの領域551)に、所定の間隔をあけて配置された、同一の大きさの領域552と領域553を有している。また、領域552は、領域551内で斜めに配置され、その傾きは、図16に示した例では、図中右側が上になるような傾きである。また、領域553は、縦方向(四角形を構成する長辺が、図中縦方向)に配置されている。
【0220】
フィルタFが適用された場合、領域552内に位置する画素の画素値からヒストグラムが作成され、その値(値552とする)が算出され、領域553内に位置する画素の画素値からヒストグラムが作成され、その値(値553とする)が算出される。値552と値553が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタFは、その算出された絶対値を特徴量とするフィルタである。
【0221】
図16に示したフィルタGは、所定の大きさの画像561(その画像内の所定の大きさの領域561)に、所定の間隔をあけて配置された、異なる大きさの領域562と領域563を有している。また、領域562と領域563は、ともに領域561内で斜めに配置され、その傾きは、図16に示した例では、図中右側が上になるような傾きである。
【0222】
フィルタGが適用された場合、領域562内に位置する画素の画素値からヒストグラムが作成され、その値(値562とする)が算出され、領域563内に位置する画素の画素値からヒストグラムが作成され、その値(値563とする)が算出される。値562と値563が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタGは、その算出された絶対値を特徴量とするフィルタである。領域562と領域563は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域562、領域563がそれぞれ適用され、領域内のヒストグラムの値が算出される。
【0223】
図16に示したフィルタHは、所定の大きさの画像571(その画像内の所定の大きさの領域571)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域572乃至575を有している。また、領域572乃至574は、領域571内で斜めに配置され、その傾きは、図16に示した例では、図中左側が上になるような傾きである。また、領域575は、領域571内で斜めに配置され、その傾きは、図16に示した例では、図中右側が上になるような傾きである。
【0224】
フィルタHが適用された場合、領域572内に位置する画素の画素値からヒストグラムが作成され、その値(値572とする)が算出される。同様に、領域573内に位置する画素の画素値のヒストグラムが作成され、その値(値573とする)が算出される。そして、値572と値573が加算された加算値(加算値572とする)が算出される。
【0225】
また同様に、領域574内に位置する画素の画素値からヒストグラムが作成され、その値(値574とする)が算出される。同様に、領域575内に位置する画素の画素値のヒストグラムが作成され、その値(値575とする)が算出される。そして、値574と値575が加算された加算値(加算値574とする)が算出される。
【0226】
加算値572と加算値574が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタHは、その算出された絶対値を特徴量とするフィルタである。領域572乃至575は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域572乃至575がそれぞれ適用され、領域内のヒストグラムの値が算出される。
【0227】
図16に示したフィルタIは、所定の大きさの画像586(その画像内の所定の大きさの領域586)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域582乃至584を有している。また、領域582は、領域581内で斜めに配置され、その傾きは、図16に示した例では、図中左側が上になるような傾きである。領域583,584は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域583と領域584の一部分は、重なった状態で配置されている。
【0228】
フィルタIが適用された場合、領域582内に位置する画素の画素値からヒストグラムが作成され、その値(値582とする)が算出される。同様に、領域583内に位置する画素の画素値のヒストグラムが作成され、その値(値583とする)が算出される。そして、値582と値583が加算された加算値(加算値582とする)が算出される。また同様に、領域584内に位置する画素の画素値からヒストグラムが作成され、その値(値584とする)が算出される。
【0229】
加算値582と加算値584が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタIは、その算出された絶対値を特徴量とするフィルタである。領域582乃至585は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域582乃至584がそれぞれ適用され、領域内のヒストグラムの値が算出される。
【0230】
図16に示したフィルタJは、所定の大きさの画像591(その画像内の所定の大きさの領域591)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域592と領域593を有している。また、領域592は、領域591内で斜めに配置され、その傾きは、図16に示した例では、図中右側が上になるような傾きである。また、領域593は、縦方向(四角形を構成する長辺が、図中縦方向)に配置されている。
【0231】
フィルタJが適用された場合、領域592内に位置する画素の画素値からヒストグラムが作成され、その値(値592とする)が算出され、領域593内に位置する画素の画素値からヒストグラムが作成され、その値(値593とする)が算出される。値592と値593が算出されると、それらの差分が算出され、その差分値の絶対値が算出される。フィルタJは、その算出された絶対値を特徴量とするフィルタである。領域592と領域593は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域592、領域593がそれぞれ適用され、領域内のヒストグラムの値が算出される。
【0232】
このように、図16に示したフィルタは、2以上の領域を備え、領域内の画素値のヒストグラムが作成され、その値が算出され、その算出された値の差分値の絶対値を特徴量とするようなフィルタである。また、それぞれの領域は、矩形とされ、その配置位置は、連続する(隣接する)必要性はなく、離れた位置に配置されていても良い。さらに、多重解像度画像を生成し、利用することで、異なる大きさの領域を有するフィルタを構成することも可能である。
【0233】
なお、上述した実施の形態においては、2以上の領域を備え、領域内の画素値のヒストグラムが作成されるとしたが、ヒストグラムの和が1になるように正規化することでヒストグラムの値が算出されるようにしても良い。ヒストグラムの和が1になるように正規化され、その正規化後のヒストグラムの値が用いられ、上記したような演算、すなわち、領域間の差分が算出され、絶対値が算出されるという演算が行われるようにしても良い。
【0234】
そのように、ヒストグラムの和が1になるように正規化することで、例えば、フィルタBのような異なる領域の領域512と領域513を備えるようなフィルタを適用した場合であっても、同じ尺度で比較することが可能となる。同じ尺度で比較するとは、例えば、同一の解像度の多重解像度画像を用いて処理することなどを意味する。同一の解像度の多重解像度画像を用いて処理することで、複数の解像度の多重解像度画像を用いて処理する場合よりも、処理工程を減らすことができ、処理速度を向上させることが可能になる。
【0235】
図17は、図16に示したようなフィルタを用いた場合の特徴量計算部24の構成を示す図である。図17に示した特徴量計算部24は、ヒストグラム作成部611と差分値算出部612を備える。ヒストグラム作成部611は、特徴点抽出部23(図1)から供給される特徴点の画素値からヒストグラムを作成し、その値を算出する。
【0236】
例えば、フィルタA(図16)が適用される場合、特徴点抽出部23は、領域502内に位置する画素を特徴点として抽出するとともに、その特徴点の画素値を特徴量計算部24のヒストグラム作成部611に供給する。ヒストグラム作成部611は、供給される画素値からヒストグラムを作成し、その値を算出する。同様に、特徴点抽出部23は、領域503内に位置する画素を特徴点として抽出するとともに、その特徴点の画素値を特徴量計算部24のヒストグラム作成部611に供給する。ヒストグラム作成部611は、供給される画素値からヒストグラムを作成し、その値を算出する。
【0237】
また、ヒストグラム作成部611は、例えば、フィルタCのように、2以上の領域を備えるフィルタで特徴量を算出するときには、各領域の画素値のヒストグラムの値を、必要に応じて加算するといった処理も行う。例えば、フィルタCが適用された場合、領域522のヒストグラムの値と領域523のヒストグラムの値が加算され、領域524のヒストグラムの値と領域525のヒストグラムの値が加算されるという処理も、ヒストグラム作成部611は行う。
【0238】
なお、フィルタBのような領域521と領域513の大きさが異なるような場合、特徴点抽出部23は、特徴点を抽出する画像(画素値を読み出す画像)を、領域の大きさに適した画像とするために、多重解像度画像生成部22で生成される多重解像度画像から、領域の大きさに適した多重解像度画像を選択するという処理も含まれる。または、多重解像度画像生成部22は、特徴点抽出部23が適用するフィルタの領域に適した多重解像度画像を生成し、供給するように構成されている。
【0239】
または、ヒストグラム作成部611が、ヒストグラムの和が1となるように正規化を行うように構成されている場合、異なる大きさのフィルタを適用した場合であっても、同一の解像度の多重解像度画像を用いて処理することができる。このような場合、特徴点抽出部23は、多重解像度画像生成部22から供給される多重解像度画像のうち、1の多重解像度画像を選択し、その選択された多重解像度画像から特徴点を抽出し、ヒストグラム作成部611に供給する。また、このようにした場合、ヒストグラム生成部611は、複数の多重解像度画像を用いて、それぞれの多重解像度画像に対して、同一のフィルタを適用して、特徴量を算出するようにしても良い。
【0240】
特徴量計算部24のヒストグラム作成部611により算出されたヒストグラムの値は、差分値算出部612に供給される。差分値算出部612は、供給されたヒストグラムの値同士の差分を演算し、その差分値の絶対値を特徴量として、識別器生成部25に供給する。
【0241】
このようにして算出された特徴量を用いて、識別器生成部25は識別器を生成する。識別器生成部25は、図5に示した識別器生成部25と同様の構成とすることができ、その処理は、図8のフローチャートを参照して説明したので、ここでは、その説明を省略する。
【0242】
[フィルタとして領域差分値を用いた場合について]
上記した例では、フィルタとして、図3、図4、図14、図16に示したような形状を有するフィルタを用いる場合を例にあげて説明した。次に、図18に示したような形状のフィルタを用いた場合について説明を加える。
【0243】
図18に示したフィルタAは、所定の大きさの画像701(その画像内の所定の大きさの領域701)に、所定の間隔をあけて配置された、同じ大きさの領域702と領域703を有している。また、領域702と領域703は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0244】
フィルタAは、領域702内に位置する画素の画素値と、領域703内に位置する画素の画素値との差分値が算出され、その差分値が特徴量とされるフィルタである。領域702と領域703が同一の大きさの領域である場合、領域内の対応する位置に位置する画素同士が比較対象とされ、その差分値が算出される。
【0245】
差分値の絶対値が特徴量とされることで、差分値の符号に依存する特徴量とならないため、絶対値が算出されるように構成されることが好ましい。以下の説明においては、絶対値が算出されるとして説明を続ける。また、画素値として輝度値を用いることができる。
【0246】
図18に示したフィルタBは、所定の大きさの画像711(その画像内の所定の大きさの領域711)に、所定の間隔をあけて配置された、異なる大きさの領域712と領域713を有している。また、領域712と領域713は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0247】
フィルタBは、領域712内に位置する画素の画素値と、領域713内に位置する画素の画素値との差分が算出されることで特徴量が算出されるようにするためのフィルタである。
【0248】
領域712と領域713は、異なる大きさであるので、例えば、領域712からは連続的に画素値を読み出し、領域713からは間引いて画素値を読み出すことで、領域内から読み出される画素値の個数を同一にして差分値が算出される。または、多重解像度画像が生成されるため、複数の多重解像度画像を用いて処理することで差分値が算出されるようにしても良い。すなわち、例えば、領域713が、領域712の4倍の大きさであったとする。また、領域712を基準として、その領域712が適用される画像を基準画像とする。このとき、領域713が適用される画像は、基準画像の4倍に拡大された画像(多重解像度画像)とされる。このように多重解像度画像を利用することで、領域内から読み出される画像の個数などを同一にし、差分値が算出される。
【0249】
図18に示したフィルタCは、所定の大きさの画像721(その画像内の所定の大きさの領域721)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域722乃至725を有している。また、領域722は、横方向(四角形を構成する長辺が、図中横方向)に配置され、領域723乃至725は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。
【0250】
フィルタCが適用された場合、領域722内に位置する画素の画素値と、領域723内に位置する画素の画素値、領域724内に位置する画素の画素値、および領域725内に位置する画素値の差分値を算出する。このように2以上の領域がフィルタに含まれる場合、基準となる領域に位置する画素値から、順に、他の領域に位置する画素値が減算されることで差分値が算出される。または、2つの領域から画素値の差分値が算出され、差分値同士の差分値がさらに算出されるようにしても良い。
【0251】
図18に示すフィルタは、所定の領域に位置する画素値同士の差分値を算出することで特徴量を算出するのであり、その差分値の出し方、例えば、どの領域からどの領域の差分値を算出するかなどは、適宜変更可能である。また、そのような差分値の出し方も、フィルタの特徴の1つとして利用することができる。
【0252】
例えば、領域322から領域323、領域324、領域325の順で減算する場合と、領域322から領域323、領域324、領域325の順で減算する場合とで、異なる特徴量が取得でき、それらの特徴量の違いから、検出できる物体や輪郭が異なる可能性がある。よって、同一のフィルタであっても、差分値の算出の仕方など変えて学習するようにしても良い。他のフィルタについても同様に、算出の仕方については様々な仕方が適用可能であるが、以下の説明においては、所定の領域を基準とし、その領域から順次減算されることで差分値が算出されるとして説明を続ける。
【0253】
図18に示したフィルタDは、所定の大きさの画像731(その画像内の所定の大きさの領域731)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域732乃至734を有している。また、領域732は、横方向(四角形を構成する長辺が、図中横方向)に配置され、領域733,734は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域733と領域734の一部分は、重なった状態で配置されている。
【0254】
フィルタDが適用された場合、領域732内に位置する画素の画素値、領域733内に位置する画素値、および領域734内に位置する画素値の差分値が算出され、その差分値の絶対値が算出される。フィルタDは、その算出される絶対値を特徴量とするためのフィルタである。領域732乃至733は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域732乃至734がそれぞれ適用され、領域内の画素値同士の差分値が算出される。
【0255】
図18に示したフィルタEは、所定の大きさの画像741(その画像内の所定の大きさの領域741)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域742と領域743を有している。また、領域742と領域743は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域742は、領域743に含まれる状態(全てが重なった状態)で配置されている。
【0256】
フィルタEは、領域742内に位置する画素の画素値、領域743内に位置する画素の画素値との差分値が算出され、その差分値の絶対値を特徴量とするためのフィルタである。領域742と領域743は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域742、領域743がそれぞれ適用され、領域内の画素値同士の差分値が算出される。
【0257】
図18に示したフィルタFは、所定の大きさの画像751(その画像内の所定の大きさの領域751)に、所定の間隔をあけて配置された、同一の大きさの領域752と領域753を有している。また、領域752は、領域751内で斜めに配置され、その傾きは、図18に示した例では、図中右側が上になるような傾きである。また、領域753は、縦方向(四角形を構成する長辺が、図中縦方向)に配置されている。
【0258】
フィルタFは、領域752内に位置する画素の画素値と、領域753内に位置する画素の画素値との差分値が算出され、その差分値の絶対値を特徴量とするためのフィルタである。フィルタFでは、領域752が斜め方向に配置されているが、領域752が領域753と同一方向に配置されていると仮定したときに、領域内の画素の位置が、対応している位置に存在している画素同士が比較され、差分値が算出される。
【0259】
図18に示したフィルタGは、所定の大きさの画像761(その画像内の所定の大きさの領域761)に、所定の間隔をあけて配置された、異なる大きさの領域762と領域763を有している。また、領域762と領域763は、ともに領域761内で斜めに配置され、その傾きは、図18に示した例では、図中右側が上になるような傾きである。
【0260】
フィルタGは、領域762内に位置する画素の画素値と、領域763内に位置する画素の画素値との差分値が算出され、その差分値の絶対値を特徴量とするためのフィルタである。領域762と領域763は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域762、領域763がそれぞれ適用され、領域内の画素値同士の差分値が算出される。
【0261】
図18に示したフィルタHは、所定の大きさの画像771(その画像内の所定の大きさの領域771)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域772乃至775を有している。また、領域772乃至774は、領域771内で斜めに配置され、その傾きは、図18に示した例では、図中左側が上になるような傾きである。また、領域775は、領域771内で斜めに配置され、その傾きは、図18に示した例では、図中右側が上になるような傾きである。
【0262】
フィルタHは、領域762内に位置する画素の画素値、領域763内に位置する画素の画素値、領域764内に位置する画素の画素値、および領域765内に位置する画素の画素値との差分値が算出され、その差分値の絶対値を特徴量とするためのフィルタである。領域772乃至775は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域772乃至775がそれぞれ適用され、領域内の画素値同士の差分値が算出される。
【0263】
図18に示したフィルタIは、所定の大きさの画像786(その画像内の所定の大きさの領域786)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域782乃至784を有している。また、領域782は、領域781内で斜めに配置され、その傾きは、図18に示した例では、図中左側が上になるような傾きである。領域783,784は、ともに縦方向(四角形を構成する長辺が、同一方向であり、その方向が図中縦方向)に配置されている。また、領域783と領域784の一部分は、重なった状態で配置されている。
【0264】
フィルタIは、領域782内に位置する画素の画素値、領域783内に位置する画素の画素値、および領域783内に位置する画素の画素値との差分値が算出され、その差分値の絶対値を特徴量とするためのフィルタである。領域782乃至785は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域782乃至784がそれぞれ適用され、領域内の画素値同士の差分値が算出される。
【0265】
図18に示したフィルタJは、所定の大きさの画像791(その画像内の所定の大きさの領域791)に、所定の間隔をあけて配置された、異なる大きさ(同一の大きさの領域でも良い)の領域792と領域793を有している。また、領域792は、領域791内で斜めに配置され、その傾きは、図18に示した例では、図中右側が上になるような傾きである。また、領域793は、縦方向(四角形を構成する長辺が、図中縦方向)に配置されている。また、領域793は領域794に含まれる状態(重なる状態)で配置されている。
【0266】
フィルタJは、領域792内に位置する画素の画素値、領域793内に位置する画素の画素値、および領域783内に位置する画素の画素値との差分値が算出され、その差分値の絶対値を特徴量とするためのフィルタである。領域792と領域793は、それぞれ異なる大きさの領域のため、フィルタBのところで説明したように、各領域の大きさにあった多重解像度画像に対して、領域792、領域793がそれぞれ適用され、領域内の画素値同士の差分値が算出される。
【0267】
このように、図18に示したフィルタは、2以上の領域を備え、領域内の画素値同士の差分値が算出され、その算出された差分値の絶対値を特徴量とするようなフィルタである。また、それぞれの領域は、矩形とされ、その配置位置は、連続する(隣接する)必要性はなく、離れた位置に配置されていても良い。さらに、多重解像度画像を生成し、利用することで、異なる大きさの領域を有するフィルタを構成することも可能である。
【0268】
図19は、図18に示したようなフィルタを用いた場合の特徴量計算部24の構成を示す図である。図19に示した特徴量計算部24は、画素値減算部811を含む構成とされている。画素値減算部811は、特徴点抽出部23(図1)から供給される特徴点の画素値を加算する。
【0269】
例えば、フィルタA(図18)が用いられる場合、特徴点抽出部23は、領域702内に位置する画素を特徴点として抽出するとともに、その特徴点の画素値を特徴量計算部24の画素値減算部811に供給する。また、同様に、特徴点抽出部23は、領域703内に位置する画素を特徴点として抽出するとともに、その特徴点の画素値を特徴量計算部24の画素値減算部811に供給する。画素値減算部811は、供給される画素値の一方から他方を減算する。さらに、画素値減算部811は、その減算結果(差分値)の絶対値を算出し、特徴量として、識別器生成部25に出力する。
【0270】
また、画素値減算部811は、例えば、フィルタCのように、2以上の領域を備えるフィルタで特徴量を算出するときには、領域の画素値の差分値から、他の領域の画素値をさらに減算するといった処理も行う。例えば、フィルタCが適用された場合、領域722と領域723の画素値同士の差分値が算出され、その後、領域724、領域745の画素値が順に減算されるという処理も、画素値減算部811は行う。
【0271】
なお、フィルタBのような領域721と領域713の大きさが異なるような場合、特徴点抽出部23は、特徴点を抽出する画像(画素値を読み出す画像)を、領域の大きさに適した画像とするために、多重解像度画像生成部22で生成される多重解像度画像から、領域の大きさに適した多重解像度画像を選択するという処理も含まれる。または、多重解像度画像生成部22は、特徴点抽出部23が適用するフィルタの領域に適した多重解像度画像を生成し、供給するように構成されている。
【0272】
このようにして算出された特徴量を用いて、識別器生成部25は識別器を生成する。識別器生成部25における処理は、図8のフローチャートを参照して説明したので、ここでは、その説明を省略する。
【0273】
[変形例]
上述したフィルタは、それぞれ個々に、所定の画像に対して適用されるようにしても良いし、複数のフィルタが組み合わされて所定の画像に対して適用されるようにしても良い。
【0274】
[認識処理について]
次に、学習の結果を用いて、例えば、人などの対象物を検出(認識)するときの処理について説明を加える。認識装置13に入力画像が入力され、対象物体としての人の検出が指示されると、認識装置13は、人検出処理を開始して、入力画像から対象物体を検出する。以下、図20のフローチャートを参照して、認識装置13による人検出処理について説明する。
【0275】
なお、認識装置13の画像入力部31乃至特徴量計算部34は、学習装置11の画像入力部21乃至特徴量計算部24と同様に構成することが可能である。よって、上述した学習装置11の画像入力部21乃至特徴量計算部24に関する説明や、フィルタなどの説明は、認識装置13に対しても適用できる説明であり、同様の説明となるため、その詳細な説明は省略する。
【0276】
ステップS151において、認識装置13の画像入力部31(図1)に認識対象となる画像が入力され、多重解像度画像生成部32に供給されると、多重解像度画像生成部32により、多重解像度画像が生成される。この処理は、例えば、上述したステップS11(図6)の処理と同様に行われ、その詳細な説明は既にしたので、ここではその説明を省略する。
【0277】
なお、多重解像度画像生成部32で多重解像度画像を生成するとき、学習装置11の多重解像度画像生成部22が生成する多重解像度画像と同じスケール(解像度)の画像を生成するようにする。このように学習時のスケール係数(解像度に関する情報)と、認識時のスケール係数を合わせておくことで、認識時に効率の良いスキャンを行うことが可能となる。
【0278】
ステップS152において、特徴点抽出部33は、図6のステップS12の処理と同様の処理を行い、入力された入力画像から特徴点を抽出し、入力画像とともに特徴量計算部34に供給する。よって、どのようなフィルタが用いられているかにより、抽出される特徴点の位置や、個数などは異なる。また、適用される多重解像度画像も、フィルタに適した画像が適用される。
【0279】
ステップS153において、特徴量計算部34は、特徴点抽出部33からの入力画像および特徴点に基づいて、特徴量計算処理を行い、各特徴点の特徴量を計算する。そして、特徴量計算部34は、求められた特徴量を識別計算部35に供給する。なお、この特徴量計算処理は、図7を参照して説明した特徴量計算処理と同様の処理であるため、その説明は省略する。また、特徴量計算処理を行うときのフィルタは、上記したようなフィルタ、例えば、図14に示したフィルタAなど、様々なフィルタを用いることが、本発明においては可能である。
【0280】
ステップS154において、識別計算部35は、識別器記録部12から識別用特徴量および識別器を読み出して、読み出した識別器に特徴量を代入して計算する。すなわち、識別計算部35は、特徴量計算部34からの特徴量のうちの識別用特徴量に対応するものを、式(7)または式(8)により示される識別器に代入して演算を行う。
【0281】
ここで、識別器を構成する弱識別器に代入される特徴量は、識別用特徴量とされた特徴量が求められた、学習画像の特徴点のペアまたは特徴点と同じ位置にある、入力画像上の特徴点のペアまたは特徴点から求められた特徴量である。また、識別用特徴量とされる特徴量は、統計学習処理時において、識別器を構成する弱識別器の設定に用いられた特徴量である。
【0282】
例えば、式(7)の演算が行われると、その演算の結果として、入力画像中に対象物体としての人が存在することを示す「+1」、または入力画像中に対象物体としての人が存在しないことを示す「−1」が得られる。識別計算部35は、識別器での演算結果を識別結果出力部36に供給する。
【0283】
ステップS155において、識別結果出力部36は、識別計算部35からの演算結果に基づいて、物体(人)の検出結果を出力し、物体検出処理は終了する。すなわち、対象物体が入力画像で認識されたか否かの識別結果が出力される。
【0284】
例えば、対象物体が入力画像で認識されたか否かの識別結果として、対象物体としての人が検出された領域に枠が表示された入力画像などが、識別結果出力部36に表示されるようにしてもよい。
【0285】
このようにして、認識装置13は、入力画像から特徴点を抽出して、特徴点のペアの特徴量を求めるとともに、入力画像から特徴点を抽出して特徴量を求める。そして、認識装置13は、求めた特徴量および特徴量と、識別器記録部12に記録されている識別器とを用いて、入力画像から対象物体を検出する。
【0286】
このように、特徴量を用いて入力画像から対象物体を検出することで、より確実に画像から対象物体を検出することができる。
【0287】
[記録媒体について]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0288】
図21は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記憶部1008、通信部1009、及びドライブ1010が接続されている。
【0289】
入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記憶部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1011を駆動する。
【0290】
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
【0291】
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0292】
コンピュータでは、プログラムは、リムーバブルメディア1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
【0293】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0294】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0295】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0296】
11 学習装置, 12 識別器記録部, 13 認識装置, 21 画像入力部, 22 多重解像度画像生成部, 23 特徴点抽出部, 24 特徴量計算部, 25 識別器生成部, 31 画像入力部, 32 多重解像度画像生成部, 33 特徴点抽出部, 34 特徴量計算部, 35 識別計算部, 36 識別結果出力部

【特許請求の範囲】
【請求項1】
入力された画像から異なる解像度の画像を生成する生成手段と、
前記生成手段により生成された画像から、処理対象とする特徴点を抽出する抽出手段と、
前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算する計算手段と、
前記特徴量を用いた統計学習により、前記画像から所定の対象物体を検出するための識別器を生成する識別器生成手段と
を備え、
前記フィルタは、複数の領域を有し、前記計算手段は、その領域内の差分の差分値を前記特徴量とする
学習装置。
【請求項2】
前記所定のフィルタの前記領域は、矩形である
請求項1に記載の学習装置。
【請求項3】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の総和を計算する
請求項1に記載の学習装置。
【請求項4】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の最大値を計算する
請求項1に記載の学習装置。
【請求項5】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値の総和または平均値を算出し、その総和または平均値の差分を算出し、その差分値の絶対値を前記特徴量とする
請求項1に記載の学習装置。
【請求項6】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、その値の差分を算出し、その差分値の絶対値を前記特徴量とする
請求項1に記載の学習装置。
【請求項7】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、そのヒストグラムの和が1となるように正規化し、正規化されたヒストグラムの値の差分を算出し、その差分値の絶対値を前記特徴量とする
請求項1に記載の学習装置。
【請求項8】
前記計算手段は、基準となる特徴点に対して適用したフィルタを、その基準となる特徴点の近傍に位置する複数の特徴点に対しても適用し、それらの複数の特徴点から算出された特徴量の総和または平均値を、前記基準となる特徴点の特徴量とする
請求項1に記載の学習装置。
【請求項9】
入力された画像から異なる解像度の画像を生成し、
生成された画像から、特徴点を抽出し、
前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、
前記特徴量を用いた統計学習により、前記画像から所定の対象物体を検出するための識別器を生成する
ステップを含み、
前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする
学習方法。
【請求項10】
入力された画像から異なる解像度の画像を生成し、
生成された画像から、特徴点を抽出し、
前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、
前記特徴量を用いた統計学習により、前記画像から所定の対象物体を検出するための識別器を生成する
ステップを含み、
前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする
処理を実行するコンピュータが読み取り可能なプログラム。
【請求項11】
入力された画像から異なる解像度の画像を生成する生成手段と、
前記生成手段により生成された画像から、特徴点を抽出する抽出手段と、
前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算する計算手段と、
統計学習により得られた、画像から所定の対象物体を検出するための識別器に、前記特徴量を代入し、前記入力された画像から、前記対象物体を検出する検出手段と
を備え、
前記フィルタは、複数の領域を有し、前記計算手段は、その領域内の差分の差分値を前記特徴量とする
認識装置。
【請求項12】
前記フィルタの前記領域は、矩形である
請求項11に記載の認識装置。
【請求項13】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の総和を計算する
請求項11に記載の認識装置。
【請求項14】
前記計算手段は、任意の角度におけるガウス関数の所定の次数の微分関数における畳み込み演算を実行し、その演算結果の絶対値の最大値を計算する
請求項11に記載の認識装置。
【請求項15】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値の総和または平均値を算出し、その総和または平均値の差分を算出し、その差分値の絶対値を前記特徴量とする
請求項11に記載の認識装置。
【請求項16】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、その値の差分を算出し、その差分値の絶対値を前記特徴量とする
請求項11に記載の認識装置。
【請求項17】
前記計算手段は、前記複数の領域毎に、領域内に位置する画素の画素値からヒストグラムを作成し、そのヒストグラムの和が1となるように正規化し、正規化されたヒストグラムの値の差分を算出し、その差分値の絶対値を前記特徴量とする
請求項11に記載の認識装置。
【請求項18】
前記計算手段は、基準となる特徴点に対して適用したフィルタを、その基準となる特徴点の近傍に位置する複数の特徴点に対しても適用し、それらの複数の特徴点から算出された特徴量の総和または平均値を、前記基準となる特徴点の特徴量とする
請求項11に記載の認識装置。
【請求項19】
入力された画像から異なるスケール係数の画像を生成し、
生成された画像から、特徴点を抽出し、
前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、
統計学習により得られた、画像から所定の対象物体を検出するための識別器に、前記特徴量を代入し、前記入力された画像から、前記対象物体を検出する
ステップを含み、
前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする
認識方法。
【請求項20】
入力された画像から異なるスケール係数の画像を生成し、
生成された画像から、特徴点を抽出し、
前記特徴点に所定のフィルタを用いたフィルタ処理を施すことで、前記特徴点の特徴量を計算し、
統計学習により得られた、画像から所定の対象物体を検出するための識別器に、前記特徴量を代入し、前記入力された画像から、前記対象物体を検出する
ステップを含み、
前記フィルタは、複数の領域を有し、その領域内の差分の差分値を前記特徴量とする
処理を実行するコンピュータが読み取り可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2011−118694(P2011−118694A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−275815(P2009−275815)
【出願日】平成21年12月3日(2009.12.3)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】