以下、本発明の実施の形態(以下実施形態という)である対象物検知装置1、及び学習装置2について、図面に基づいて説明する。対象物検知装置1は、例えば、監視空間から得られた監視画像等を入力画像とし、当該入力画像に現れる対象物を検知する。本実施形態では人の上半身を対象物として検知する例を説明する。対象物検知装置1は例えば、監視画像において、人の上半身を検出することで侵入者を検知し、侵入者を検知すると異常信号を出力する。学習装置2は、対象物検知装置1を学習データに基づいて学習させるものであり、具体的には対象物検知装置1に用いる識別器を学習により生成する。
[対象物検知装置]
図1は、実施形態に係る対象物検知装置1の概略のブロック構成図である。対象物検知装置1は、画像入力部10、記憶部11、画像処理部12及び出力部13を含んで構成される。画像入力部10、記憶部11及び出力部13は画像処理部12と接続される。
画像入力部10は、監視カメラであり、監視空間内に設置される。例えば、監視カメラは監視空間の天井部に監視空間を俯瞰して設置される。当該監視カメラは、監視空間を所定の時間間隔で撮影し、各画素が多階調の画素値で表現される監視画像を順次、画像処理部12へ出力する。以下、画像入力部10にて取得され画像処理部12に入力される画像を入力画像と称する。
記憶部11は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク等の記憶装置であり、画像処理部12で使用されるプログラムやデータを記憶する。記憶部11はこれらプログラム、データを画像処理部12との間で入出力する。記憶部11に記憶されるデータには、部分識別器110、全体識別器111が含まれる。
部分識別器110は、セルごとに設けられた識別器であり、後述する学習装置2によって多数の標本画像に基づいて生成・学習される。記憶部11は部分識別器110として、識別関数を表す情報を記憶する。セルは、対象物体像に応じた形状の枠領域の一部範囲であって、当該枠領域内に複数設定される。後述するように部分識別器110はT段(T≧1)構成となっており、各段にセルの数だけの部分識別器110が設けられる。
全体識別器111は、部分識別器の各段に対応して設けられた全体識別関数であり、後述する学習装置2によって多数の標本画像に基づいて生成・学習される。記憶部11は全体識別器111として、各全体識別関数を表す情報を記憶する。
画像処理部12はDSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置を用いて構成される。画像処理部12は、画像入力部10からの入力画像を処理して人の存在有無を判定し、人を検知すると異常信号を出力部13へ出力する処理を行う。具体的には、画像処理部12は、記憶部11からプログラムを読み出して実行し、後述する検知処理部120、異常判定部121として機能する。
検知処理部120は、記憶部11に記憶された部分識別器110、全体識別器111を用いて、入力画像における対象物の存在を判定する。検知処理部120の詳細については後述する。
異常判定部121は、検知処理部120により対象物の存在が判定されると、侵入異常が検知されたとして異常信号を出力部13へ出力する。
出力部13は、外部装置と接続され、当該外部装置へ異常信号を出力するインターフェース回路である。外部装置は、侵入者の存在を警報するスピーカー、ブザー又はランプ等の警報表示手段や、通信網を介して接続される遠隔地のセンタ装置等である。
図2は、検知処理部120の概略の構成を示すブロック図である。検知処理部120は前段部30と後段部32との2段構成を有し、その後ろに対象物判定部34が設けられる。
前段部30には、複数の部分識別器300からなる部分識別器群302が少なくとも1つ設けられ、さらに、部分識別器群302ごとに中間特徴作成部304が設けられる。
後段部32は、各部分識別器群302に対応した全体識別器である弱識別器306が設けられ、さらに各弱識別器306の出力を加算合成して出力する加算器308を備える。ここで、後段部32は、部分識別器群302それぞれに対応した全体識別器である弱識別器306を組み合わせた強識別器を構成する。つまり、後段部32は弱識別器306の出力を線形結合して評価値を生成するものであり、弱識別器306より上位の全体識別器であると見ることができる。そこで、以下、強識別器である後段部32を全体識別器Hと呼ぶこととする。一方、第tの弱識別器306は全体識別器Hの一部機能をなす全体識別関数ftと表現する。
図3は、以下説明する入力画像40、枠領域42及びセル44を模式的に示した説明図である。検知処理部120は、検知対象物の画像に応じた形状の枠領域(窓領域)42を、例えばラスタ走査により入力画像40の各所に順次設定し、当該枠領域42内の画像における対象物体像の有無を判定する。本実施形態では、対象物を人の上半身とすることに対応して枠領域42の形状は正方形に設定し、大きさは幅(画像水平方向)64×高さ(画像垂直方向)64ピクセルとする。当該枠領域42内に複数のセル(小領域)44が設定される。
セル44は、それぞれ枠領域の一部範囲であり、互いに位置が異なるように配置され、全部のセルで枠領域の全体がカバーされる。すなわち、枠領域の任意の位置にいずれかのセルが設定される。本実施形態では、セルを16×16ピクセルの正方形とし、隣同士が幅方向及び高さ方向に8ピクセルずつオーバーラップするように枠領域内に配置する。この配置では、枠領域の水平方向、垂直方向それぞれに7個のセルが配列され、枠領域全体に49個のセルc1〜c49が設定される。図3の右側に拡大して示す枠領域42に49個のセル44(セルc1〜c49)の配列順序を示した。なお、図3では上述のセル相互のオーバーラップは表していない。
図2に示すように、枠領域42にセルを49個設定するのに対応して、各部分識別器群302は49個の部分識別器300からなる。ここで第tの部分識別器群の第jセルに対応する部分識別器300をMt,j、また部分識別器Mt,jの出力をyt,jと表記する。なお、部分識別器群302の個数をT(Tは1以上の整数)と表す。Tは後述の学習装置2での学習により決定される。複数の部分識別器群のそれぞれは互いに異なる学習条件にて、後述の学習装置で学習されたものである。この構成により各セルに対する識別性能が向上するので対象物の隠蔽に対する検知精度が向上する。
部分識別器Mt,jは、セルjに包含される画像から抽出された情報を入力される。具体的には、検知処理部120は、各セルjの特徴量としてヒストグラム・オブ・オリエンティッド・グラディエント(HOG:Histograms of Oriented Gradients)特徴(Navneet Dalal and Bill Triggs, "Histograms of Oriented Gradients for Human Detection", In Proceedings of IEEE Conference Computer Vision and Pattern Recognition 2005)を算出し、各部分識別器群302の第j部分識別器Mt,jに並列に入力する。HOG特徴量は36次元のベクトルで表される。
各部分識別器Mt,jは、後述する学習装置2による学習で生成された部分識別関数を備え、当該部分識別関数を用いて、セルcjのHOG特徴から、枠領域内の画像が対象物である人が撮された対象物画像か、対象物が撮されていない非対象物画像かを識別するためのスカラ量であるスコア(セル識別指標値)yt,jを算出する。
第t部分識別器群に対応した中間特徴作成部304は、これらのスコアを並べた49次元ベクトルである中間特徴量yt=[yt,1,yt,2,・・・,yt,49]を生成して、対応する全体識別関数ftに入力する。
各全体識別関数ftは、セルの個数に対応した49次元空間にて定義される関数である。当該全体識別関数ftは学習装置2により予め生成される。学習装置2は多数の標本画像を学習データとして用い、学習により全体識別関数ftを生成する。各全体識別関数ftは、標本画像である複数の対象物画像を第t部分識別器群に入力して得られる中間特徴量ytの分布に応じた対象物側分布関数と、標本画像である複数の非対象物画像を第t部分識別器群に入力して得られる中間特徴量ytの分布に応じた非対象物側分布関数との一方又は両方を用いて構成される。前述したように、複数の部分識別器群はそれぞれ学習条件ごとに設けられ、これに対応し全体識別関数も学習条件ごとに設けられている。この構成により検知精度の向上が図られている。
図4は中間特徴量yを変数とする全体識別関数f
t(y)の例を説明する模式的なグラフである。図4(a)は、枠領域の画像について中間特徴量として或るベクトルyが得られたときに当該枠領域の画像が対象物画像posである事後確率についての事後分布関数p
t(pos|y)(曲線50)と、当該ベクトルyが得られたときに枠領域の画像が非対象物画像negである事後確率とについての確率分布関数p
t(neg|y)(曲線52)とを示している。図4(a)において横軸はベクトルyを模式的に1次元で表したものであり、yの任意の1つの成分(セル識別指標値)に対する関数変化を表していると見てもよい。縦軸は各事後確率の値である。また、図4(b)は、それらの差p
t(pos|y)−p
t(neg|y)を同じく横軸をベクトルyに対応付けて表している(曲線54)。これより関数[p
t(pos|y)−p
t(neg|y)]は、枠領域における対象物体像の有無を判定するための指標値(全体識別指標値)を与える全体識別関数f
tとして用いることが可能である。この関数f
tは次式のように計算される。
(1−1)式から(1−2)式への変形には、ベイズの定理(Bayes' theorem)を用いている。ここで、Pt(pos),Pt(neg)はそれぞれ対象物画像である事前確率、非対象物画像である事前確率である。pt(y|pos)、pt(y|neg)はそれぞれ枠領域内の画像が対象物画像pos、非対象物画像negであるときに中間特徴量としてベクトルyが得られる確率を与える確率密度関数であり、それぞれ上述した対象物側分布関数、非対象物側分布関数を用いて値を求めることができる。
また、全体識別関数f
tを次式で表される対数の形式での事後分布関数の差を用いて定義することもできる。
このようにして全体識別器Hでは、全体識別関数ftを用いて中間特徴量ytから枠領域内における対象物体像の有無を判定するための全体識別指標値が算出される。全体識別器Hは加算器308によって各全体識別関数ftの出力値(スカラ)の線形和を求め、評価値として対象物判定部34へ出力する。
対象物判定部34は当該評価値を、予め設定された閾値と比較して枠領域における対象物体像の有無を判定する。
上述の(1−1)式、又は(3)式で定義される全体識別関数ftを用いた場合、ftはft>0ならば対象物体像が有ることを示し、ft<0ならば対象物体像が無いことを示すと解することができる。すなわち、ftに関する対象物体像の有無識別の閾値は0である。これは各全体識別関数ft(t=1〜T)を同様に定義すれば、加算器308から出力される評価値H(y)に対する対象物判定部34の閾値も0に設定することができることを意味する。
なお、上述のようなH(y)に対する閾値設定の単純さがなくなる可能性はあるが、図4(a)から分かるように原理的にはpt(pos|y)、pt(neg|y)の一方、つまり対象物側分布関数、非対象物側分布関数の一方のみを用いて、対象物体像の有無を識別するための全体識別関数ftを定義することも可能である。
次に対象物検知装置1の動作を説明する。図5は、対象物検知装置1における画像監視処理の概略のフロー図である。例えば、装置の管理者が電源を投入すると対象物検知装置1の各部が動作を始める。画像入力部10は所定の時間間隔で(例えば1秒おきに)監視空間を撮像し、撮像した画像を画像処理部12に入力する。画像処理部12は画像が入力されるたびにS20〜S50の処理を繰り返す。
画像が入力されると(S20)、画像処理部12は、図2〜図4を用いて上述した検知処理部120の動作により、入力画像から対象物の検出を行い、その有無の判定結果を出力する(S30)。
対象物の検知処理S30が終わると、画像監視処理は対象物の検知の有無に応じて(S40)、警報処理を行う(S50)。すなわち、検知処理部120が対象物を検知した旨の判定結果を出力すると(S40にて「YES」)、異常判定部121は異常信号を出力部13へ出力し、出力部13に警報を出力させる(S50)。
以上の処理を終えると、処理は再びステップS20へ戻される。
以上説明した対象物検知装置1は、セルの数と対応した次元数の多次元空間にて定義される全体識別関数により全セルの部分識別指標値を利用した対象物検知を行うので、特定の一部セルに隠蔽が生じても検知精度が大幅に低下しない。そのため隠蔽による対象物の検知漏れを減少させることができる。
[学習装置]
図6は、本発明の実施形態に係る学習装置2の概略のブロック構成図である。学習装置2は、記憶部20、信号処理部21及び出力部22を含んで構成される。記憶部20及び出力部22は信号処理部21と接続される。
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク等の記憶装置であり、信号処理部21で使用されるプログラムやデータを記憶する。記憶部20はこれらプログラム、データを信号処理部21との間で入出力する。記憶部20に記憶されるデータには、標本画像200、部分特徴量201、部分識別器202、中間特徴量203、全体識別器204、学習条件205が含まれる。
標本画像200は、対象物検知装置1の学習に用いる画像であり、当該学習に先立って予め記憶される。標本画像200は、検知対象物である人の上半身が撮像された多数の対象物画像200p(ポジティブ・サンプル)と、検知対象物以外の背景などが撮像された多数の非対象物画像200n(ネガティブ・サンプル)とからなる。対象物画像200p、非対象物画像200nはそれぞれは数千枚程度用意される。対象物画像200pの枚数をNpos、非対象物画像200nの枚数をNnegと表す。対象物画像200p及び非対象物画像200nはいずれも64×64ピクセルの基準サイズに予め揃えられている。
部分特徴量201は、各標本画像200から算出されるセルごとの特徴量である。部分特徴量201としてHOG特徴ベクトルを用いる。以降の説明で、第jセルの部分特徴量201をxjと表す。また、i枚目の標本画像から算出された第jセルの部分特徴量201をxi,jと表し、さらに当該標本画像が対象物画像200pか非対象物画像200nかを区別する場合には、対象物画像200pから算出されたものをxpi,j、非対象物画像200nから算出されたものをxni,jと表記する。
部分識別器202は、セルごとに部分特徴量201を用いて生成・学習される識別器である。部分識別器202は1又は複数段構成(段数T)となっており、1段ずつ学習・生成され、また各段にてセルの数だけ学習・生成される。部分識別器202の段は対象物検知装置1における部分識別器群302に対応する。以下、総称的には部分識別器をMと表記し、また段(t)、セル(j)別の個々の部分識別器は対象物検知装置1での説明と同じくMt,jと表記する。
中間特徴量203は、部分特徴量201を入力としてセルごとの部分識別器から得られる出力値を要素としたベクトルである。本実施形態では49次元ベクトルとなる。ここでは、部分特徴量xi,jを部分識別器Mt,jに入力したときの出力値をyi,j、また、i枚目の標本画像200に対して得られる中間特徴量をyi=[yi,1,yi,2,…,yi,49]と表す。なお、この中間特徴量の表記は上述の対象物検知装置1の説明で用いたyt,yt,jという表記と似ているが、それぞれの添え字iとtとは異なる意味を有していることに留意する。
全体識別器204は、中間特徴量203を用いて生成される識別器であり、複数の部分識別器202の出力を識別結果に統合するための識別器である。この全体識別器204は対象物検知装置1の全体識別器Hに相当し、以下、同一の表記を用いる。全体識別器204は、部分識別器202の段数と同じT個の全体識別関数206を含む。全体識別関数206は、部分識別器202の各段に対応して設けられており、それぞれ対応する第t段(t=1〜T)の部分識別器202の出力の統合を行うものであり、上述の対象物検知装置1の全体識別関数ftに相当し、以下、同一の表記を用いる。
学習条件(重み)205は部分識別器202の学習に用いる条件である。具体的には学習条件205は各標本画像200に対する重みであり、部分識別器202の段ごとに異なる条件が設定される。以降、第t段の部分識別器202の学習におけるi枚目の標本画像200に対する重みをwt,iと表記する。
信号処理部21はDSP、MCU等の演算装置を用いて構成される。信号処理部21は、記憶部20からプログラムを読み出して実行し、後述する特徴量算出部210、部分識別器学習部211、中間特徴分布算出部212、全体識別器生成部213、識別器追加部214として機能する。信号処理部21は記憶部20から標本画像200を読み出して部分識別器M及び全体識別器Hの生成・学習を行い、学習結果を記憶部20に記憶させる。
特徴量算出部210は、標本画像200のそれぞれをセルに分割して各セルの部分特徴量201を算出し、算出した部分特徴量201を部分識別器学習部211に入力する。
上述のように部分特徴量201としてHOG特徴量を用いる。HOG特徴は濃度勾配分布の情報であり、特徴量算出部210は、HOG特徴ベクトルは次のように算出する。まず、セルを構成する各ピクセルについてエッジの強度と方向とを計算する。ここで、方向は20°ごとの9方向に量子化する。1ピクセルがRGBの3成分からなるカラー画像の場合は、各成分について強度を計算し、強度が最大である成分についての計算結果をそのピクセルの強度及び方向とする。セルを2×2分割した4つの領域それぞれについて、方向ごとの強度の重み付きヒストグラムを作成する。そして、ヒストグラムの値をベクトルの要素として並べて、9方向×4領域=36次元のHOG特徴ベクトルが作成される。なお、当該ベクトルのノルムは1に正規化する。
算出された部分特徴量201は、同一の標本画像を用いた処理ごとに計算することによる処理量増大を避けるため、セルと対応付けて記憶部20に保存される。
部分識別器学習部211は、特徴量算出部210から入力される各セルの部分特徴量201を用いて当該セルごとに部分識別器Mを生成・学習し、学習後の部分識別器Mを記憶部20に記憶させる。
学習アルゴリズムとしては、公知のディスクリート・アダブースト(Discrete AdaBoost;Robert E.Schapire,Yoram Singer,"Improved Boosting Algorithms Using Confidence-rated Predictions",Machine Learning,Vol.37,No.3)、やサポート・ベクター・マシーン(SVM;Support Vector Machine)等を用いることができる。
部分識別器Mの学習は誤り率が予め設定された目標値(部分目標値)を下回るまで反復して行われ、これにより、学習された部分識別器Mのそれぞれは一定以上の識別率を有する。例えば、対象物及び非対象物の誤り率に対してそれぞれ15%程度の値を部分目標値に設定することができる。
学習は第1段の部分識別器群から順番に実施される。各段階では標本画像200に対する重みが適宜設定され、これにより、各段にて異なる部分識別器Mt,jが学習される。例えば、第1段階(t=1)では、各対象物画像200pに均等な重みw1,i=0.5/Npos(i=1〜Npos)が設定され、また、各非対象物画像200nに均等な重みw1,i=0.5/Nneg(i=1〜Nneg)が予め設定される。また、第2段階以降(t>1)では各標本画像200に識別器追加部214から入力された重みwt,i(i=1〜Npos+Nneg)が設定される。
学習された第jセルの部分識別器Mt,jは、第jセルの部分特徴量xjを入力されると当該部分特徴量xjが対象物又は非対象物である度合いyj(スカラ)を出力する。例えば、ディスクリート・アダブーストを用いて学習された部分識別器Mjは、部分特徴量xjが対象物のものであるときに正の尤度を出力し、部分特徴量xjが対象物として尤もらしければ尤もらしいほど大きな尤度を出力する。他方、部分特徴量xjが対象物のものでないとき、部分識別器Mjは負の尤度を出力し、部分特徴量xjが非対象物として尤もらしければ尤もらしいほど小さな尤度を出力する。
中間特徴分布算出部212は、部分識別器学習部211によって学習された各セルの部分識別器Mt,jに、複数の対象物画像200p及び複数の非対象物画像200nから特徴量算出部210によって算出された当該セルの部分特徴量201を入力する。そして、各部分識別器Mt,jの出力値の分布を近似する所定の関数を、対象物の部分特徴量201を入力した場合と非対象物の部分特徴量201を入力した場合とに分けて算出し、算出された関数を全体識別器生成部213へ出力する。部分識別器Mt,jの出力値の分布は確率密度に応じた特性を示し、本実施形態では当該関数は正規分布関数とし、当該正規分布関数を平均値及び分散値をパラメータとして表す。但し、これらの関数近似を行うにあたり、中間特徴分布算出部212は、各出力値に当該値と対応する各標本画像200の重みwによる重みに応じて近似を行う。
図7は中間特徴分布算出部212による処理を説明する模式図である。中間特徴分布算出部212は、人が撮像されているNpos枚の対象物画像200pそれぞれの第1セルから算出された部分特徴量xpi,1(i=1〜Npos)を、部分識別器Mt,1に入力してNpos個の出力値yi,1を算出させ、当該出力値yi,1の平均値及び分散値を算出する。この平均値及び分散値により、対象物画像200pの第1セルに対する出力値yi,1を近似する正規分布関数60−1が特定される。
同様に中間特徴分布算出部212は、人が撮像されていないNneg枚の非対象物画像200nそれぞれの第1セルから算出された部分特徴量xni,1(i=1〜Nneg)を部分識別器Mt,1に入力してNneg個の出力値yi,1を算出させ、当該出力値yi,1の平均値及び分散値を算出する。この平均値及び分散値により、非対象物画像200nの第1セルに対する出力値yi,1を近似する正規分布関数61−1が特定される。
中間特徴分布算出部212は、第2セル以降についても同様の処理を行い、対象物画像200pの任意の第jセル(j=1〜49)に対する出力値を近似する正規分布関数60−j及び非対象物画像200nの任意の第jセルに対する出力値を近似する正規分布関数61−jそれぞれを表す平均値及び分散値を算出する。
その結果、中間特徴分布算出部212から上記平均値に関する出力として、対象物に係る上記平均値を成分とする平均値ベクトルμposと非対象物に係る上記平均値を成分とする平均値ベクトルμnegとが得られる。各平均値ベクトルμpos及びμnegは各セルに対応した平均値を成分とし、セル数に等しい次元を有する。また、中間特徴分布算出部212は上記分散に関し、対象物に係る上記分散を対角成分とする共分散行列Σposと非対象物に係る上記分散を対角成分とする共分散行列Σnegとを出力する。各共分散行列Σpos及びΣnegは各セルに対応した分散を対角成分とし、セル数×セル数の次元を有する。
これら平均値ベクトルと共分散行列との組によって、セル数だけの次元を有した多次元正規分布が定義される。当該多次元正規分布は中間特徴量に関する上述の確率密度関数pt(y|pos)及びpt(y|neg)を表す。
なお、上述した共分散行列Σpos及びΣnegは対角行列である。すなわち、非対角成分が0であり、共分散を考慮していない。しかし、互いに異なる2つのセルからなる各組み合わせについて共分散を算出し、非対角成分に非零の値を有する共分散行列Σpos及びΣnegを用いてpt(y|pos)及びpt(y|neg)を表す多次元正規分布を定義してもよい。このように非対角成分の共分散を計算した共分散行列を使用することによって、非対角成分が0である共分散行列を用いた場合より中間特徴量の分布を精度良く近似することができる。
例えばセル1とセル2との共分散を計算する場合、人が撮像されている対象物画像200pの第1セルから計算した画像特徴を入力とした時の部分識別器Mt,1の出力値yi,1(i=1〜Npos)と、第2セルから計算した画像特徴を入力とした時の部分識別器Mt,2の出力値yi,2(i=1〜Npos)とからセル1とセル2との共分散を算出する。当該共分散を全てのセルの組み合わせについて計算する。計算された異なるセル間の共分散を共分散行列の非対角成分に設定する。同様に非対象物のセル間の共分散を計算しΣnegの非対角成分に設定する。
図8は、中間特徴分布の特質を説明する模式図である。グラフ70及びグラフ71はそれぞれ、標本画像200の第1セル及び第2セルから算出された部分特徴量201の分布のイメージを表したものである。白抜きの楕円が対象物画像200pの部分特徴量201の分布を表し、斜線の楕円が非対象物画像200nの部分特徴量201の分布を表す。特徴空間は実際には36次元であるが便宜上、3次元だけ図示している。いずれも対象物に係る分布と非対象物に係る分布とが散り散りに分布をしており、これらの特徴空間において対象物を非対象物と識別するのは困難であることが分かる。
発明者は、対象物を人とした標本画像200のHOG特徴を用いて学習した部分識別器Mの出力を観測したところ、各セルの出力値の分布が正規分布にて良好に近似できることを見出した。つまり一定以上の識別率を有する部分識別器Mの出力値の分布においては、対象物に係る分布と非対象物に係る分布とがそれぞれ1つにまとまる性質がある。
このことは中間特徴量の分布、すなわち全セルを併せた分布においても対象物に係る分布と非対象物に係る分布とがそれぞれ1つにまとまることを意味する。
グラフ72は、中間特徴分布算出部212により算出された確率密度関数により表される中間特徴量の分布のイメージを表したものである。白抜きの楕円が対象物画像200pの中間特徴量の分布を表し、斜線の楕円が非対象物画像200nの中間特徴量の分布を表す。どちらの分布も多次元正規分布で近似され、それぞれが1つにまとまっており、中間特徴量の特徴空間では、対象物を非対象物と識別することが容易化されることが分かる。なお、特徴空間は実際には49次元であるが2次元だけ図示している。
全体識別器生成部213は、中間特徴分布算出部212から入力された中間特徴量の確率密度関数pt(y|pos)及びpt(y|neg)から全体識別器Hの識別基準である全体識別関数ftを算出して記憶部20に記憶させる。この全体識別関数ftは上述の(1−2)式を用いて算出される。
ここで事前確率Pt(pos)及びPt(neg)の初期値としてP1(pos)=P1(neg)=0.5を予め設定する。これにより、中間特徴分布算出部212により得られるp1(y|pos)及びp1(y|neg)を用いて全体識別関数f1を算出可能である。また、t>1の場合についてPt(pos)及びPt(neg)を重みwt,iに応じて適宜設定すれば同様に第2段以降の全体識別関数ftの算出が可能である。
上述のようにして中間特徴量の関数に基づいて生成される全体識別関数fは、セルごとに学習された部分識別器Mを取捨選択せずに各部分識別器Mによる識別結果を全て反映させた識別を行うことができる。つまり、対象物の特徴が強く現れる特定のセルに対して強く依存しない識別を行うことができる。これにより例えば、対象物の特徴が強く現れる特定のセルが隠蔽されたとしても、残りの部分識別器の集積により検知精度の維持を図ることができる。
識別器追加部214は、部分識別器群及び全体識別関数の段数の増加を行う。上述したように全体識別器Hは複数の全体識別関数fの線形結合とすることでその精度を改善できる。しかし、これから生成する第(t+1)段を、既に生成されている第1〜t段の部分識別器M及び識別関数fと同じ学習条件で学習を行ったのでは精度は改善されない。そこで、識別器追加部214は、部分識別器の既生成の段での学習に用いたものとは異なる学習条件を定め、当該学習条件を用いて追加の部分識別器M及び全体識別関数fを生成させる。
例えば、学習条件は学習する際の各標本画像の重みであり、識別器追加部214は、部分識別器の追加段に対する学習条件を定めるに際し、既生成の段の部分識別器及び全体識別器を用いて標本画像における対象物体像の有無の判定を行い、誤った判定結果が得られた標本画像の重みを正しい判定結果が得られた標本画像の重みよりも重く設定する。
すなわち、識別器追加部214は、既生成の段の部分識別器M及び全体識別器Hからなる図2の構成の検知処理部120をエミュレートし、当該検知処理部120による標本画像200のそれぞれに対する識別結果を求める。そして、識別結果が誤である標本画像200に偏らせた重みを各標本画像200に設定し、この重み設定にて部分識別器学習部211に追加の部分識別器Mt+1,jを学習させると共に全体識別器生成部213に当該追加の部分識別器Mt+1,jに適合した追加の全体識別関数ft+1を生成させる。
対象物画像200pに対する重み設定は以下に示す(4−1)式又は(4−2)式に従って行い、非対象物画像200nに対する重み設定は以下に示す(5−1)式又は(5−2)式に従って行う。
対象物画像200pに関してはH及びfの出力が負(非対象物であるとの識別結果)のときに識別結果が誤りであり、非対象物画像200nに関してはH及びfの出力が正(対象物であるとの識別結果)のときに識別結果が誤りである。(4−1)式、(4−2)式、(5−1)式及び(5−2)式の右辺の指数の符号は、識別結果が誤りである場合に大きな重みを算出させるように設定している。
(4−1)式又は(5−1)式を用いる場合は、特徴量算出部210により算出された部分特徴量201を部分識別器Mに入力してH(yi)を算出させればよい。また、(4−2)式又は(5−2)式を用いる場合は、中間特徴分布算出部212が部分識別器学習部211に算出させた出力値yiを記憶部20に記憶させておき、これらの出力値yiを全体識別関数fに入力してft(yi)を算出させればよい。
なお、識別器追加部214は、上記式にしたがって重みを更新後、最後に重みの合計が1になるように正規化を行う。
追加は無制限に行うのではなく、識別器追加部214は全体識別器Hの誤り率が予め設定された全体目標値を下回ったとき、又は段数tが予め設定された段数上限値Ttに達したときに追加を停止する。例えば、対象物の誤り率に対しては0.05%程度の全体目標値、非対象物の誤り率に対しては0.01%程度の全体目標値を設定することができる。また、Ttは例えば50程度に設定することができる。
出力部22は、生成・学習された部分識別器202及び全体識別器204を学習装置2の外部へ出力するUSB端子、CDドライブ、ネットワークアダプタ等のインターフェース回路、及びそれぞれのドライバ・プログラムからなる。外部出力された各データは対象物検知装置1に入力される。
次に学習装置2の動作を説明する。図9は学習装置2の概略の動作を示すフロー図である。まず、信号処理部21は特徴量算出部210により標本画像200の部分特徴量201を算出する(S1)。すなわち、特徴量算出部210は記憶部20から標本画像200を順次読み出して当該標本画像200をセルに分割し、各セルの部分特徴量201を算出する。特徴量算出部210は算出した部分特徴量201のそれぞれに、その元となった標本画像200のインデックスi、当該標本画像200が対象物画像200pであるか非対象物画像200nであるかを表すクラス識別子、及びセルのインデックスj(セル・インデックス)を付与して記憶部20に記憶させる。
次に、信号処理部21は段数tを1に初期化する(S2)。また、標本画像200のそれぞれに対する重みに予め設定された初期値を設定する(S3)。設定された重みのそれぞれは、設定対象の標本画像200のインデックス(標本インデックス)を付与され、記憶部20に記憶される。
続いて、信号処理部21は部分識別器学習部211により、各セルの部分識別器Mt,jを生成し、学習用データとして、各標本画像から生成した当該セルの部分特徴量201、及び当該各部分特徴量201に対応する重みを記憶部20から読み出す。そして、読み出した学習用データに、予め設定されたディスクリート・アダブースト等の学習アルゴリズムを適用して部分識別器Mt,jの学習を行う(S4)。学習された部分識別器Mt,jは、段数のインデックスt(段数インデックス)及びセルのインデックスjを付与され、記憶部20に記憶される。
信号処理部21は中間特徴分布算出部212により、ステップS4にて学習された各セルの部分識別器202のそれぞれに、当該セルの部分特徴量201を改めて入力して中間特徴量203を収集する(S5)。すなわち、中間特徴分布算出部212は、各部分識別器Mt,jに、当該部分識別器Mt,jと同一のセル・インデックスjが付与された部分特徴量201を入力して出力値yi,jを求め、当該出力値yi,jをその元となった部分特徴量201と同一のセル・インデックス、クラス識別子と対応付けて記憶部20に記憶させる。
中間特徴分布算出部212は、標本画像200ごとの部分特徴量201全てについて、上述の出力値yi,jを求める処理を終えると、記憶部20から標本画像200ごとの出力値yi,jをそれに対応付けられているセル・インデックス及びクラス識別子と共に読み出して、読み出した出力値群の平均値、分散値及び出力値群の間の共分散を算出する。これにより、対象物画像200pの中間特徴量の確率密度関数pt(y|pos)と非対象物画像200nの中間特徴量の確率密度関数pt(y|neg)が算出される(S6)。中間特徴分布算出部212は算出結果を信号処理部21の全体識別器生成部213に入力する。
全体識別器生成部213は、入力された関数pt(y|pos)及びpt(y|neg)を(1−2)式に適用して全体識別関数ftを生成し、生成された全体識別関数ftを段数インデックスtと対応付けて記憶部20の全体識別器204に記憶させる(S7)。
こうして全体識別器Hが生成(t=1)または追加(t>1)されると、信号処理部21は識別器追加部214により、段数tを段数上限値Ttと比較し(S8)、tがTtに達していれば学習を終了する。
一方、tがTtに達していなければ、識別器追加部214は全体識別器Hの誤り率を算出する(S9)。まず、識別器追加部214は、各標本画像に対する全体識別器Hの出力値である評価値を算出する。全体識別器Hは全体識別関数ftの線形結合であり、評価値はH(yi)=Σft(yi)で与えられるH(yi)である。ここでΣはtについての総和を意味する。具体的には、識別器追加部214は、記憶部20から標本インデックスiが共通する中間特徴量yi,jを読み出し、ステップS7にて定められたた全体識別関数ftにこれらを入力して出力値ft(yi)を算出させる。そして、t=1であれば出力値ft(yi)を評価値とし、これをその算出に用いた中間特徴量と同一の標本インデックスi及びクラス識別子と対応付けて記憶部20に新規記憶させる。また、t>1であれば出力値ft(yi)を、対応する記憶部20の評価値H(yi)に加算して書き戻す。識別器追加部214は当該処理を全標本インデックスiに対して行った後、クラス識別子が「pos」である評価値H(yi)を記憶部20から順次読み出して検知閾値である0より小さい評価値H(yi)を計数し、計数結果をNposで除して対象物側の誤り率を算出する。さらに識別器追加部214は、クラス識別子が「neg」である評価値H(yi)を記憶部20から順次読み出して0以上である評価値H(yi)を計数し、計数結果をNnegで除して非対象物側の誤り率を算出する。
識別器追加部214は、対象物側の誤り率及び非対象物側の誤り率のそれぞれを全体目標値と比較し(S10)、両者が共に全体目標値を下回っていれば学習を終了する。
一方、対象物側の誤り率及び非対象物側の誤り率のいずれかが全体目標値を下回っていなければ、識別器の追加となる。この場合、識別器追加部214は、次段の追加に備えて学習条件205、すなわち各標本画像200の重みwを変更する(S11)。具体的には、識別器追加部214は、ステップS9にて算出された評価値H(yi)を順次、記憶部20から読み出し、クラス識別子が「pos」である評価値H(yi)には(4−1)式を適用して新たな重みwt+1,iを算出し、クラス識別子が「neg」である評価値H(yi)には(5−1)式を適用して新たな重みwt+1,iを算出して、算出された各重みwt+1,iを記憶部20に記憶させる。
学習条件を変更した識別器追加部214は、段数tを1だけ増加させ(S12)、処理をステップS4へ戻すことで部分識別器学習部211及び全体識別器生成部213に次段の追加を行わせる。
上述の実施形態では、特徴量算出部210は部分特徴量201として輝度勾配の分布を表すHOG特徴を算出した。しかし、本発明において、部分特徴量201はHOG特徴に限られず、他の様々な画像特徴量を用いることができる。例えば、特徴量算出部210は輝度値の分布を表すハール・ライク(Haar-Like)特徴(Paul Viola and Michael Jones,"Rapid object detection using a boosted cascade of simple features", In Proceedings of IEEE Conference Computer Vision and Pattern Recognition,vol.1,pp.511-518,2001)を算出するものであってもよい。
また、上述の実施形態では、複数の全体識別関数fを並列接続して対象物検知装置1を構成した。これに対し、複数の全体識別器Hを直列接続したカスケード構造を有する対象物検知装置1の構成を採用することもできる。カスケード構造の場合、識別器追加部214は、前段までに学習された全体識別器Hが正しく対象物と判定した対象物画像200pと、当該全体識別器Hが誤って対象物と判定した非対象物画像200nとに学習データを制限する学習条件の変更を行って次段の学習を行う。
さらに、関数pt(y|pos)及びpt(y|neg)を正規分布に似た形状の他の関数で近似してもよい。例えば、ロジスティック分布のように、正規分布に類似した対称な釣鐘型の関数を用いることも可能である。また、検知対象物が人である場合には、中間特徴量の分布が正規分布で通常は好適に近似可能であるが、入力画像の取得環境が特殊である、或いはか検知対象物が人以外の物であるなど、必ずしも正規分布が好適な近似関数とならない場合には、他の好適な近似関数を採用することができる。