説明

オブジェクト判別装置、方法、及びプログラム

【課題】オブジェクト判別装置において、重複する差分計算を回避する。
【解決手段】判別器13は、それぞれが、入力画像における少なくとも1組の2点間の差分を求め、求めた差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別器を含む。判別器13では、複数の弱判別器がカスケード接続されている。差分画像生成手段15は、弱判別器で差分を求めるべき画像の2点間の位置関係に応じたずれ量を設定し、入力画像と入力画像を設定したずれ量だけずらした画像との差分画像を生成する。複数の弱判別器のうちの少なくとも一部は、差分画像を参照して差分を取得し、スコアを求める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクト判別装置、方法、及びプログラムに関し、更に詳しくは、画像中に検出対象のオブジェクトが含まれているか否かを判別するオブジェクト判別装置、方法、及びプログラムに関する。
【背景技術】
【0002】
コンピュータなどの計算機を用いて、写真画像などのデジタル画像から顔等の所定の対象物(オブジェクト)を検出する方法が種々提案されている。画像から対象物を検出する方法としては、例えば比較的古くから利用されているテンプレートマッチングの手法が知られている。また、近年、ブースティング(boosting)と呼ばれる機械学習の手法を用いて判別器を構成し、その判別器を用いて画像から対象物を検出手法も注目されている。ブースティングを用いた判別器の学習、及び、その判別器を用いたオブジェクト検出は、例えば特許文献1や特許文献2に記載されている。
【0003】
一般に、ブースティング学習により生成された判別器は、複数の、例えば数百から数千の弱判別器を有する。それら複数の弱判別器を直列に接続(カスケード接続)することで1つの判別器(強判別器)が構成される。一般に、弱判別器は、真の分類と若干の相関を有する分類器として定義される。各弱判別器は、特徴量計算を行い、その特徴量に基づくスコアを求める。強判別器は、カスケード接続された全ての弱判別器で求められたスコアの合計を所定のしきい値でしきい値処理し、合計スコアがしきい値以上のとき、処理対象画像に検出対象のオブジェクトが現れていると判断する。
【0004】
弱判別器における特徴量計算は、2点(2つの領域)間の画素値の差分が基本である。各弱判別器は、差分計算に関する複数の基本特徴タイプの何れかで差分計算を行い、入力画像から検出対象物の存在に関するスコアを求める。差分計算に関する基本特徴タイプは、例えば横方向に並ぶ2点間の差分、縦方向に並ぶ2点間の差分、斜め方向に並ぶ2点間の差分など、テンプレート内の2点間の相対的な位置関係で定義することができる。基本特徴タイプが2点間の位置関係を複数ペア(2ペア、3ペア、・・・)で持ち、弱判別器がその組み合わせに応じて特徴量を計算する場合もある。2ペアの場合は4点参照、3ペアの場合は6点参照となる。
【0005】
オブジェクト検出装置は、例えば、640×480画素の検出対象の画像に対して、32×32画素のテンプレート(ウィンドウ)を1画素単位又は2数画素単位でラスタスキャンし、テンプレートの各位置で切り出される部分画像を強判別器に与える。強判別器は、初段側から順次に弱判別器による判別を行い、最終段に到達したときの各弱判別器のスコアの合計をしきい値処理する。強判別器は、スコア合計がしきい値以上のとき、テンプレートにより切り出される32×32画素の位置に、検出対象のオブジェクトが現れている旨を出力する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−47965号公報
【特許文献2】特開2007−128127号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
通常、強判別器では、各弱判別器においてその段までのスコアをしきい値処理し、スコアがしきい値より低いとき、後段の弱判別器の処理を行わずに処理を終了するアーリーリジェクト判断(early reject判断)が行われる。アーリーリジェクト(早期終了)を行うことで、検出対象のオブジェクトが含まれないことが明らかな画像に対しては、直列接続された数千の弱判別器のうちの比較的早い段階で処理を終了することができ、最終段の弱判別器まで処理を行う場合に比して処理を高速化できる。特許文献1及び2にも記載されるように、一般に、学習により生成された弱判別器は、重み付き正答率が高い順に線形結合され、1つの強判別器が構成される。言い換えれば、学習により生成された複数の判別器を、判別に有効な順に直列接続することで、強判別器が構成される。
【0008】
ところで、近年、検出対象オブジェクトのおおよその位置とサイズとを高速に推定する技術が開発されている。この技術を、強判別器の前処理として用い、前処理において抽出されたエリアの画像を強判別器の処理対象画像として用いることを考える。その場合、前処理において抽出されるエリアのほとんどが検出対象オブジェクトのエリアとなるものと考えられるため、弱判別器の初期の段階で早期終了となることは少なく、ほとんどのケースで、弱判別器の最終段近くまで処理が進行することになると考えられる。従って、早期終了を行っても処理高速化の効果は大きくない。むしろ、各弱識別器で早期終了の判断(条件分岐処理)を行うことで、パイプライン処理の乱れ(ハザード)が生じ、処理高速化の阻害要因となる。
【0009】
早期終了の思想は、検出対象オブジェクトと背景の領域割合との大きな開きがベースとなっている。つまり、画像の大部分が背景領域で、検出対象オブジェクトが少ないという事前知識(仮定)をおいている。一般的な処理系においては、早期終了判断により処理を高速化できる。しかし、オブジェクトが存在する確率が高い部分を対象に強判別器の処理を行うような場合は、上記したように早期終了判断が高速化の阻害要因になることを、本発明者は見出した。
【0010】
早期終了を行わないとすると、毎回、カスケード接続された例えば数千の弱判別器において差分計算を行う必要がある。テンプレートを、画像内で走査することを考えると、以前のテンプレートの位置においてある弱判別器において差分計算された画素(オブジェクトが存在すると推定された部分の周辺の画像における画素)の2点が、別のテンプレートの位置において別の弱判別器で重複して差分計算されることがある。例えば、ある弱判別器Aが、テンプレート内の相対座標で(x,y)の位置と(x+1,y)の位置との差分計算を行い、別の弱判別器Bが(x+3,y+3)の位置と(x+4,y+3)の位置との差分計算を行う場合を考える。テンプレートが、x方向に+3、y方向に+3だけ移動したとすると、移動後の相対座標位置(x,y)は、移動前のテンプレートの位置における相対座標位置(x+3,y+3)と重なる。移動前のテンプレートの位置において、弱判別器Bが、(x+3,y+3)の位置と(x+4,y+3)の位置との差分計算を既に行っているものの、テンプレートの移動後、弱判別器Aは、同じ差分計算を繰り返し行わなければならない。このように、テンプレートを移動したときに、個別の弱判別器において同じ差分計算を繰り返し行う必要があり、同じ差分計算を繰り返し行わなければならない分だけ、処理時間が無駄に長くなっていた。
【0011】
本発明は、上記に鑑み、重複する差分計算を避けることができ、その分だけ処理を高速化できるオブジェクト判別装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明は、それぞれが、入力画像における少なくとも1組の2点間の差分を求め、該求めた差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別器がカスケード接続された強判別器と、前記弱判別器で差分を求めるべき画像の2点間の位置関係に応じたずれ量を設定し、前記入力画像と前記入力画像を前記設定したずれ量だけずらした画像との差分画像を生成する差分画像生成手段とを備え、前記複数の弱判別器のうちの少なくとも一部が、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得し、前記スコアを求めるものであることを特徴とするオブジェクト判別装置を提供する。
【0013】
前記強判定器が、前記入力画像内でテンプレートを所定の走査順で走査し、該走査されたテンプレートの各位置について前記複数の弱判別器における処理を実行する構成とすることができる。
【0014】
本発明においては、前記差分画像生成手段が、前記複数の弱判別器で差分を求めるべき複数の2点間の位置関係に応じたずれ量を順次に設定し、各ずれ量に対応した複数の差分画像を生成することとすることができる。
【0015】
本発明においては、前記差分画像生成手段が、前記複数の弱判別器で差分を求めるべき全ての2点間の位置関係に応じたずれ量を順次に設定し、前記複数の弱判別器のそれぞれが、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得する構成を採用することができる。
【0016】
前記強判別器は、前記カスケード接続された弱判別器の初段から最終段まで、早期終了を行うことなく各弱判別器における処理を実行してもよい。
【0017】
前記複数の弱判別器のそれぞれが、差分計算に関する複数の基本特徴タイプの何れかで前記少なくとも1組の2点間の差分を求め、前記強判別器では、前記基本特徴タイプが同じ弱判別器が連続して並べられている構成を採用してもよい。
【0018】
前記強判別器では、基本特徴タイプが同じ弱判別器が複数あるとき、該基本特徴タイプが同じ複数の弱判別器が、各弱判別器における差分計算の際の画像の参照位置に従った並び順で並べられている構成とすることができる。
【0019】
上記に代えて、前記強判別器では、各弱判別器における差分計算の際の画像の参照位置に従った並び順で前記弱判別器が並べられている構成を採用してもよい。
【0020】
本発明のオブジェクト判別装置では、処理対象の画像からオブジェクトの位置を推定して該推定したオブジェクトの位置の周辺の画像を切り出し、該切り出した画像をそれぞれ前記強判別器及び前記差分画像生成手段に前記入力画像として与えるオブジェクト候補点検出手段を更に備える構成を採用することができる。
【0021】
前記オブジェクト候補点検出手段が、オブジェクトの輪郭形状に対応したフィルタ特性を有する平滑化フィルタを画像に畳み込む処理を繰り返し行い、前記フレーム画像からスケールが異なる複数枚の平滑化画像を生成する平滑化処理手段と、前記複数枚の平滑化画像のうち、スケールが互いに異なる2枚の平滑化画像間の差分画像を、スケールを変えつつ複数枚生成する差分画像生成手段と、前記複数枚の差分画像を合算し合算画像を生成する合算手段と、前記合算画像における画素値に基づいてオブジェクトの位置を推定する位置推定手段と、前記フレーム画像から前記推定された位置の周辺の領域の画像を切り出す部分画像生成手段とを含む構成としてもよい。
【0022】
前記平滑化処理手段がスケールσからσa×k(a及びkは2以上の整数)までのa×k枚の平滑化画像L(x,y,σ)(i=1〜a×k)を生成し、前記差分画像生成手段が、スケールσからσまでのk枚の差分画像G(x,y,σ)(j=1〜k)を、それぞれスケールσの平滑化画像L(x,y,σ)とスケールσj×aの平滑化画像L(x,y,σj×a)との差分に基づいて生成することとしてもよい。
【0023】
上記に代えて、前記平滑化処理手段がスケールσからσ(rは3以上の整数)までのr枚の平滑化画像L(x,y,σ)(i=1〜r)を生成し、前記差分画像生成手段が、スケールσからσk−p(pは1以上の整数)までのk−p枚の差分画像G(x,y,σ)(j=1〜k−p)を、それぞれスケールσの平滑化画像L(x,y,σ)とスケールσj+pの平滑化画像L(x,y,σj+p)との差分に基づいて生成することとしてもよい。
【0024】
本発明は、また、それぞれが、入力画像における少なくとも1組の2点間の差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別をカスケードに実行するステップと、前記入力画像と、該入力画像を前記弱判別で差分を求めるべき画像の2点間の位置関係に応じたずれ量だけずらした画像との差分画像を生成するステップとを有し、前記複数の弱判別をカスケードに実行するステップの少なくとも一部において、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得し、前記スコアを求めることを特徴とするオブジェクト判別方法を提供する。
【0025】
更に本発明は、コンピュータに、それぞれが、入力画像における少なくとも1組の2点間の差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別をカスケードに実行する手順と、前記入力画像と、該入力画像を前記弱判別で差分を求めるべき画像の2点間の位置関係に応じたずれ量だけずらした画像との差分画像を生成するステップを手順とを実行させ、コンピュータに、前記複数の弱判別をカスケードに実行する手順の少なくとも一部において、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得し、前記スコアを求める手順を実行させるためのプログラムを提供する。
【発明の効果】
【0026】
本発明のオブジェクト判別装置、方法、及びプログラムは、入力画像と、弱判別で差分を求めるべき画像の2点間の位置関係に応じたずれ量だけ入力画像をずらした画像との差分画像を生成し、弱判別において、差分画像を参照して差分を取得する。各弱判別において個別に差分計算を行う場合、テンプレート移動の前後で入力画像の同じ位置の差分が重複して計算されることがある。本発明では、差分画像を参照することで差分が取得できるため、複数の弱判別において差分計算が重複して実行されるのを避けることができ、処理の高速化を図ることができる。
【図面の簡単な説明】
【0027】
【図1】本発明の第1実施形態のオブジェクト判別装置を示すブロック図。
【図2】判別器の構成を示すブロック図。
【図3】オブジェクト判別装置の動作手順を示すフローチャート。
【図4】差分画像生成の手順を示すフローチャート。
【図5】オブジェクト候補点検出手段の構成例を示すブロック図。
【図6】オブジェクト候補点検出手段の動作手順を示すフローチャート。
【図7】(a)及び(b)は、基本特徴タイプを例示する図。
【図8】本発明の第2実施形態のオブジェクト判別装置で用いられる判別器を示すブロック図。
【図9】判別器の構成に用いられる判別器構成装置を示すブロック図。
【図10】(a)は学習後の判別器を示すブロック図、(b)は再配置後の判別器を示すブロック図。
【図11】(a)は、基本特徴タイプ1における弱判別器の並び順を示すブロック図、(b)は、テンプレート内での各弱判別器の画像の参照位置を示す図。
【図12】本発明の第3実施形態における判別器の構成に用いる判別器構成装置を示すブロック図。
【発明を実施するための形態】
【0028】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態のオブジェクト判別装置を示す。オブジェクト判別装置10は、画像入力手段11、オブジェクト候補点検出手段12、判別器13、ルックアップテーブル14、及び差分画像生成手段15を備える。オブジェクト判別装置10内の各部の機能は、例えばコンピュータ(プロセッサ)が所定のプログラムに従って処理を実行することで実現可能である。オブジェクト判別装置10は、例えばカメラに組み込まれ、カメラで撮影すべき画像に検出対象のオブジェクトが存在するか否かの判別を行う。
【0029】
画像入力手段11は、処理対象の画像を入力する。画像入力手段11は、例えば640×480画素の画像を処理対象画像として入力する。画像入力手段11は、例えば動画像を構成する各画像(各フレームの画像)を所定のレートで順次に入力してもよい。オブジェクト候補点検出手段12は、処理対象画像から、所定のアルゴリズムで検出対象オブジェクトのおおよその位置を推定する。また、オブジェクト候補点検出手段12は、オブジェクトのサイズを推定する。オブジェクト候補点検出手段12は、処理対象画像から、オブジェクトが存在すると推定される位置の周辺の画像を切り出し、切り出した画像を、推定したサイズに応じて拡大/縮小する。なお、画像入力手段11は、入力された処理対象画像に対して、例えばノイズの除去やフレーム間の輝度変動の抑制などの所定の画像処理を施し、処理後の画像をオブジェクト候補点検出手段12に入力するようにしてもよい。
【0030】
判別器13は、オブジェクト候補点検出手段12から、オブジェクト候補点検出手段12が切り出した、オブジェクトが存在すると推定される位置の周辺の画像を入力する。判別器13は、それぞれが、入力画像から検出対象物の存在に関するスコアを求める複数の弱判別器を含む。複数の弱判別器をカスケード接続することで、判別器(強判別器)13が構成される。判別器13は、各弱判別器により求められたスコアの合計をしきい値処理し、入力画像に検出対象のオブジェクトが存在しているか否かを判別する。
【0031】
判別器13は、入力画像のサイズがテンプレートのサイズよりも大きいときは、入力画像内でテンプレートをラスタスキャンして入力画像からテンプレートのサイズに相当する画像を切り出し、その切り出した画像を順次に弱判別器に与える。判別器13は、走査されたテンプレートの各位置について、複数の弱判別器における処理を実行する。判別器13は、カスケード接続された弱判別器の初段から最終段まで、早期終了を行うことなく各弱判別器における処理を実行する。
【0032】
図2は、判別器13の構成を示す。判別器13は、カスケード接続された複数の弱判別器16を含んでいる。各弱判別器16は、入力画像における少なくとも1組の2点間の差分を求め、求めた差分に基づいて検出対象物の存在に関するスコアを求める。判別器13は、テンプレートの大きさ、例えば32×32画素の大きさの画像中に検出対象のオブジェクトが存在する場合の画像と存在しない場合の画像とを用いて、機械学習を用いて生成される。各弱判別器16は、差分計算に関する複数の基本特徴タイプの何れかで、少なくとも1組の2点間の差分を求める。各弱判別器16が何れの基本特徴タイプで差分を求めるかは、学習のプロセスにおいて決まる。
【0033】
弱判別器16が求める差分は、2つの画素位置の画素値の差分でもよく、或いは2つの領域の画素値の差分でもよい。領域間の画素値の差分は、領域内の画素値の合計の差分でもよいし、領域内の画素値の平均値の差分でもよい。各弱判別器16は、差分に基づいてスコアを求める。各弱判別器16は、前段の弱判別器16までのスコアの累計に自身が求めたスコアを加算し、次段の弱判別器16に渡す。この処理を最終段の弱判別器16まで行い、最終的に得られたスコアが、判別器13における検出対象オブジェクトの存在に関するスコアとなる。
【0034】
図1に戻り、差分画像生成手段15は、判別器13への入力画像と、その入力画像を、弱判別器16(図2)で差分を求めるべき画像の2点間の位置関係に応じたずれ量だけずらした画像との差分画像を生成する。差分画像生成手段15は、いくつかの弱判別器16で差分を求めるべき2点間の位置関係に応じた複数のずれ量を順次に設定し、各ずれ量に対応した複数の差分画像を生成する。カスケード接続された複数の弱判別器16のうちの少なくとも一部は、差分画像を参照して差分を取得し、取得した差分に基づいてスコアを求める。
【0035】
ルックアップテーブル14は、弱判別器16における差分計算で求まる特徴空間と、検出対象のオブジェクトの存在に関するスコアとの関係を保持する。ルックアップテーブル14は、例えば判別器13の学習の際に、基本特徴タイプごとに生成される。各弱判別器16は、求めた差分に基づいて、自身の基本特徴タイプに対して用意されたルックアップテーブルを参照し、求めた差分からスコアを求める。例えば、弱判別器16が3組の差分(6点参照)を求めるものである場合、弱判別器16は、1組目の差分値をα、2組目の差分値をβ、3組目の差分値をγとして、(α,β,γ)を特徴空間として求める。弱判別器16は、ルックアップテーブルの配列要素[α][β][γ]を参照し、その配列要素に格納されている値をスコアとして取得する。
【0036】
図3は、オブジェクト判別装置10の動作手順を示す。画像入力手段11は、処理対象の画像を入力する(ステップA1)。オブジェクト候補点検出手段12は、処理対象画像におけるオブジェクトが存在すると推定される位置の周辺の画像を部分画像として生成する(ステップA2)。オブジェクト候補点検出手段12の具体的な構成例、及びその手順については後述する。オブジェクト候補点検出手段12は、例えばテンプレートのサイズより大きなサイズの画像を、部分画像として生成する。
【0037】
差分画像生成手段15は、オブジェクト候補点検出手段12が生成した部分画像に基づいて差分画像を生成する(ステップA3)。図4は、差分画像生成の手順を示す。差分画像生成手段15は、オブジェクト候補点検出手段12から、オブジェクト候補点検出手段12が生成した部分画像、すなわちオブジェクトが存在すると推定される位置の周辺の画像を入力する(ステップB1)。
【0038】
差分画像生成手段15は、画像の相対的なずれ量を設定する(ステップB2)。差分画像生成手段15は、ステップB2では、弱判別器16で計算されるべき差分ピッチをずれ量として設定する。言い換えれば、弱判別器16で差分を求めるべき画像の2点間の位置関係に応じたずれ量を設定する。差分画像生成手段15は、ステップB1で入力した画像の各画素と、その入力画像をステップB2で設定したずれ量だけずらした画像の各画素との差分を求め、その差分値を画素値とする差分画像を生成する(ステップB3)。
【0039】
差分画像生成手段15は、判別器13を構成する弱判別器16で差分を求めるべき全ての2点間の位置関係に応じたずれ量をステップB2で設定したか否かを判断する(ステップB4)。差分画像生成手段15は、全てのずれ量を設定したと判断すると、差分画像の生成を終了する。差分画像生成手段15は、未設定のずれ量があると判断するとステップB2に戻り、未設定のずれ量のうちの1つを設定する。差分画像生成手段15は、ステップB2からステップB4を繰り返し実行することで、弱判別器16で差分を求めるべき複数の2点間の位置関係に応じたずれ量を順次に設定し、各ずれ量に対応した複数の差分画像を生成する。
【0040】
図3に戻り、判別器13は、テンプレートの初期位置を設定する(ステップA4)。判別器13は、例えば入力画像であるオブジェクト候補点検出手段12が生成した部分画像の原点(0,0)をテンプレートの初期位置として決定する。判別器13は、入力画像からテンプレートのサイズの画像を切り出し(ステップA5)、切り出した画像をカスケード接続された弱判別器16の初段に与え、弱判別器16による処理を開始する。
【0041】
弱判別器16は、ステップA3で生成された差分画像から、少なくとも1組の2点間の差分を取得する(ステップA6)。弱判別器16は、ステップA6では、ステップA3で生成された複数の差分画像のうち、差分を求めるべき画像の2点間の位置関係に対応したずれ量で生成された差分画像を参照して差分を取得する。弱判別器16は、求めた差分に基づいてルックアップテーブル14を参照し、スコアを求める(ステップA7)。弱判別器16は、前段の弱判別器16までのスコアにステップA7で求めたスコアを加算する(ステップA8)。
【0042】
判別器13は、カスケード接続された弱判別器16の最終段まで処理を行ったか否かを判断する(ステップA9)。最終段に到達していないときは、処理を次の段に進め(ステップA10)、ステップA6に戻り、次の段の弱判別器16による処理を継続する。判別器13では、各段の弱判別器16がステップA6からステップA8を実行し、処理が次の段に進んでいく。判別器13は、最終段の弱判別器16まで処理を終えたと判断すると、最終段で得られたスコアの合計と、所定のしきい値とを比較する(ステップA11)。判別器13は、スコア合計がしきい値以上であれば、ステップA5で切り出された画像部分に検出対象のオブジェクトが現れていると判断し、オブジェクトの位置を出力して(ステップA12)、処理を終了する。
【0043】
判別器13は、ステップA11でスコア合計がしきい値よりも小さいと判断すると、現在のテンプレートの位置にオブジェクトが存在しないと判断し、テンプレートの位置を移動させる(ステップA13)。テンプレート移動後、ステップA5に戻り、入力画像から移動後のテンプレートの位置で画像を切り出す。判別器13は、切り出した画像をカスケード接続された弱判別器16の初段に与え、ステップA6からステップA10を実行することで、移動後のテンプレートの位置に検出対象のオブジェクトが存在するか否かの判別を実行する。判別器13は、ステップA5からステップA11、ステップA13を、テンプレートが最終スキャン位置に到達するまで繰り返し実行し、オブジェクト候補点検出手段12が生成した部分画像にオブジェクトが現れているか否かを判別する。
【0044】
なお、図4に示す手順では、差分画像生成手段15が、判別器13を構成する弱判別器16で差分を求めるべき全ての2点間の位置関係に応じたずれ量で差分画像を生成するものとして説明したが、これには限定されない。例えば2点間の位置関係に使用頻度に応じて、使用頻度が低いものについては差分画像を生成しなくてもよい。弱判別器16は、自身が差分を求めるべき2点間の位置関係に対応した差分画像が存在しないときは、差分画像を参照するのに代えて、入力画像から差分値を計算すればよい。
【0045】
続いて、オブジェクト候補点検出手段12の具体的な構成例を説明する。図5は、オブジェクト候補点検出手段12の構成例を示す。オブジェクト候補点検出手段12は、前処理手段21、平滑化処理手段22、差分画像生成手段23、合算手段24、位置推定手段25、サイズ推定手段26、及び部分画像生成手段27を有する。オブジェクト候補点検出手段12は、画像内の特定パターン、例えば人物の頭部が存在すると推定される位置の周辺の画像を部分画像として切り出す。以下ではオブジェクト候補点検出手段12が、オブジェクトが存在すると推定される位置を1つ推定し、その周辺の画像を部分画像として切り出すものとして説明を行う。
【0046】
前処理手段21は、解像度変換手段51と動き領域抽出手段52とを有する。解像度変換手段51は、動画像を構成するフレーム画像を所定の解像度に低解像度化する。解像度変換手段51は、例えば画像の解像度を縦横それぞれ1/8倍に変換する。
【0047】
動き領域抽出手段52は、動画像を構成するフレーム画像から動き領域を抽出し動き領域抽出画像を生成する。動き領域の抽出には、例えば背景画像やフレーム間画像の差分を算出するなど任意の手法を用いることができる。動き領域抽出手段52は、抽出された動きの量に応じて、動きがある領域ほど白く(階調値が高く)、動きが少ない領域ほど黒く(階調値が低く)なるようなグレースケール画像を動き領域抽出画像として生成する。動き領域抽出手段52は、例えば階調数256のグレースケール画像に対して所定の関数に従って階調を変換し、白から黒までの階調数を減少させるコントラスト低減処理を実施してもよい。動き領域抽出手段52は、グレースケール画像に代えて、動き領域を白、背景領域を黒にするような2値化画像を動き領域抽出画像として生成してもよい。
【0048】
平滑化処理手段22には、前処理手段21で前処理された画像P(x,y)、すなわち解像度が低解像度化され、動き領域が抽出された画像が入力される。平滑化処理手段22は、平滑化フィルタを画像に畳み込む処理を繰り返し行うことにより、スケールが異なる複数枚の平滑化画像L(x,y,σ)を生成する。
【0049】
平滑化処理手段22は、まず画像P(x,y)に平滑化フィルタを畳み込むことで平滑化画像L(x,y,σ)を生成し、その平滑化画像L(x,y,σ)に更に平滑化フィルタを畳み込むことでスケールσの平滑化画像+(x,y,σ)を生成する。平滑化処理手段22は、以降同様に平滑化フィルタの畳み込みを繰り返し行い、任意のスケールσの平滑化画像L(x,y,σ)から次のスケールσq+1の平滑化画像L(x,y,σq+1)を生成する。
【0050】
平滑化画像L(x,y,σ)におけるスケール番号iは、平滑化フィルタを畳み込んだ回数に相当する。平滑化処理手段22は、例えばスケールが異なるa×k枚(a及びkはそれぞれ2以上の整数)の平滑化画像L(x,y,σ)〜L(x,y,σa×k)を生成する。平滑化処理手段22は、例えばa=2、k=30とすれば2×30=60枚の平滑化画像L(x,y,σ)〜(x,y,σ60)を生成する。
【0051】
平滑化フィルタには、例えばガウシアンフィルタを用いることができる。平滑化フィルタは、例えば検出対象であるオブジェクトの輪郭形状に合わせたフィルタ特性となる3×3オペレータから成る。例えば判別器13(図1)で検出対象とするオブジェクトが人物の頭部であれば、平滑化フィルタとして、人物の頭部の輪郭形状に沿って下側のフィルタ係数が小さくなる特性(オメガ形状)を有するフィルタを用いる。このような平滑化フィルタを用いることで、人物の頭部の輪郭形状を有する領域を強調し、それ以外の領域は抑制された平滑化処理を実現できる。
【0052】
なお、フィルタの形状はオメガ形状には限定されず、例えば特開2003−248824号公報等に記載されたものなど、他の公知技術を適用することも可能である。例えば検出対象のオブジェクトの形状が円形、三角形、四角形などの場合には、それぞれのオブジェクト形状に合わせたフィルタ特性を有する平滑化フィルタを用いて平滑化処理を施せばよい。
【0053】
差分画像生成手段23は、平滑化処理手段22が生成した複数枚の平滑化画像L(x,y,σ)を入力し、スケールが互いに異なる2つの平滑化画像間の差分画像G(x,y,σ)を、スケールを変えつつ複数枚生成する。ここで、差分画像G(x,y,σ)におけるスケール番号jの最大値は、平滑化画像Lにおけるスケールσの最大値(例えばa×k)よりは小さい。差分画像生成手段23は、例えばスケール番号jに応じたスケールだけ離れた平滑化画像間の差分画像を生成する。具体的には、差分画像生成手段23は、例えば下記式1を用いて差分画像G(x,y,σ)を生成することができる。
G(x,y,σ)=L(x,y,σ)−L(x,y,σj×a)・・・(1)
差分画像は、差分値の絶対値であってもよい。
【0054】
上記の式1の定義からわかるように、差分画像G(x,y,σ)は、スケールσの平滑化画像と、スケールσj×aの平滑化画像との差分として定義される。例えばa=2、k=30とすると、差分画像生成手段23は、スケールσとσ、スケールσとσ、スケールσとσ、・・・、スケールσ30とσ60の組み合わせからなる30枚の差分画像G(x,y,σ)〜(x,y,σ30)を生成する。式1に従って差分画像G(x,y,σ)を生成する場合、jは1〜kの値を取る。すなわち、差分画像生成手段23は、k枚の差分画像G(x,y,σ)〜(x,y,σ)を生成する。
【0055】
差分画像生成手段23は、上記に代えて、一定のスケールだけ離れた平滑化画像間の差分を差分画像として生成してもよい。差分画像生成手段23は、例えばスケールσの平滑化画像と、スケールσj+pの平滑化画像(pは1以上の整数)との差分を差分画像(x,y,σ)として生成してもよい。具体的には、差分画像生成手段23は、下記式2を用いて差分画像G(x,y,σ)を生成してもよい。
G(x,y,σ)=L(x,y,σ)−L(x,y,σj+p)・・・(2)
この場合、平滑化画像の枚数をr(r:3以上の整数)枚とすると、jは1〜r−pの値を取る。すなわち差分画像生成手段23は、r−p枚の差分画像G(x,y,σ)〜(x,y,σr−p)を生成する。具体的には、r=60で、p=30の場合、差分画像生成手段23は、スケールσとσ31、スケールσとσ32、スケールσとσ33、・・・、スケールσ30とσ60の組み合わせからなる30枚の差分画像G(x,y,σ)〜(x,y,σ30)を生成する。
【0056】
合算手段24は、差分画像生成手段23が生成した複数枚の差分画像G(x,y,σ)を合算し、合算画像AP(x,y)を生成する。位置推定手段25は、合算画像AP(x,y)における画素値に基づいてオブジェクトの位置を推定する。位置推定手段25は、例えば合算画像AP(x,y)において画素値(差分値を合計した値)が最も大きくなる位置を調べ、その位置をオブジェクトの位置として推定する。
【0057】
サイズ推定手段26は、複数枚の差分画像G(x,y,σ)の画素値を比較し、最大の画素値を有する差分画像のスケールに基づいて、検出すべきオブジェクトのサイズを推定する。サイズ推定手段26は、例えば最大の画素値(差分値)を有する差分画像の生成元となった2枚の平滑化画像のうちのスケールが小さい方の平滑化画像内のスケールに基づいてオブジェクトのサイズを推定する。すなわちサイズ推定手段26は、式1又は式2に従って生成される複数枚の差分画像G(x,y,σ)のうちで、最大の差分値を有するスケールσを求め、求めたスケールσに基づいてオブジェクトの位置を推定する。
【0058】
上記のオブジェクトの位置及びサイズの推定について説明する。平滑化処理手段22は、オブジェクト形状に合わせたフィルタ特性を有する平滑化フィルタを用いて平滑化画像L(x,y,σ)を生成しており、この平滑化画像L(x,y,σ)は、特定の形状を持つ領域が強調され、他の領域が抑制された画像となる。例えば平滑化処理を数十回行ったときでも平滑化画像内にオブジェクトの輪郭成分が残るが、スケールσが大きくなるほど、オブジェクトの領域はボケていくと共に広がっていく。
【0059】
平滑化画像L(x,y,σ)におけるオブジェクトの形状及びサイズは、入力画像内のオブジェクトの形状及びサイズとそれぞれ一致していると仮定する。この平滑化画像L(x,y,σ)でのオブジェクト形状及びサイズの顕著性を算出するために、あるスケールの平滑化画像に対して、そのスケールよりもスケールが大きい平滑化画像を背景として設定する。すなわちスケールσの平滑化画像L(x,y,σ)対して、式1ではスケールσj×aの平滑化画像L(x,y,σj×a)を背景画像として設定し、式2ではスケールσj+pの平滑化画像L(x,y,σj+p)を背景として設定する。そして、式1又は式2に従って、スケールσの平滑化画像と背景画像として設定する平滑化画像との差分画像G(x,y,σ)が、スケールσの平滑化画像L(x,y,σ)におけるオブジェクトの顕著性として算出される。このように差分画像生成手段23においてオブジェクトの顕著性を数値化し、位置推定手段25及びサイズ推定手段26において、差分画像生成手段23において数値化されたオブジェクトの顕著性に基づいて、オブジェクトの位置及びサイズをそれぞれ推定する。
【0060】
ここで、画像内においてオブジェクトが理想形状、すなわちフィルタ特性に最も合致した形状であって、かつ背景にノイズがない差分画像が、他の差分画像に比べて最大の信号を有する。言い換えれば、前処理済みの画像P(x,y)内のオブジェクトを構成する各画素の成分がオブジェクトの領域にほぼ等しくなるまで広がったとき、差分画像G(x,y,σ)内の差分値は最大となる。例えば画像P(x,y)内のオブジェクトが直径10画素の円形画素から構成される場合、複数の差分画像のうちで、j=10の差分画像G(x,y,σ10)(式1ではL(x,y,σ10)−L(x,y,σa×10)、式2ではL(x,y,σ10)−L(x,y,σ10+p))における差分値が、他の差分画像における差分値に比べて大きな値を有することになる。
【0061】
一方で、実際に画像内に映し出されるオブジェクトは、カメラとオブジェクトの位置関係や個体差などに応じて映り方が異なり、オブジェクトの輪郭形状及びサイズは理想形状になるとは限らない。つまり、オブジェクトの輪郭形状及びサイズは変動する。そこで、位置推定手段25は、複数の差分画像G(x,y,σ)を合算した合算画像AP(x,y)を用いてオブジェクトの位置を推定する。このようにすることで、オブジェクトの変動を吸収しながらオブジェクトの位置を推定できる。つまり、サイズが小さいオブジェクトからサイズが大きいオブジェクトに含まれる様々な輪郭形状の変動を持つオブジェクトに対して、平滑化画像を加算した合算画像AP(x,y)から最大値を検出することにより、変動を吸収しながら位置推定を行うことができる。
【0062】
また、上述したように、式1、式2におけるスケール番号jは、画像P(x,y)内における検出対象のオブジェクトのサイズに対応するパラメータである。オブジェクトのサイズが小さい場合にはスケール番号jが小さい差分画像G(x,y,σ)から最大値が検出され、オブジェクトのサイズが大きい場合にはスケール番号jが大きい差分画像G(x,y,σ)から最大値が検出される。サイズ推定手段26は、この性質を利用し、複数の差分画像の間で差分値同士を比較し、最大の差分値となる差分画像のスケール番号、すなわち平滑化処理の繰り返し回数からオブジェクトのサイズを推定する。
【0063】
部分画像生成手段27は、位置推定手段25から推定されたオブジェクトの位置を入力し、サイズ推定手段26から推定されたオブジェクトのサイズを入力する。部分画像生成手段27は、入力画像(フレーム画像)からオブジェクトが存在すると推定される位置の周辺の画像を部分画像として切り出す。また部分画像生成手段27は、切り出した部分画像を、推定されたサイズに応じた倍率で拡大/縮小する。推定されたサイズに応じた倍率で拡大/縮小することで、オブジェクトのサイズの変動を吸収することができる。
【0064】
図6は、オブジェクト候補点検出手段12の動作手順を示す。前処理手段21は、画像入力手段11(図1)からフレーム画像を受け取り、フレーム画像に対して前処理を行う(ステップC1)。すなわち、解像度変換手段51がフレーム画像を所定の解像度にまで低解像度化し、動き領域抽出手段52が低解像度化されたフレーム画像から動き領域を抽出する。前処理手段21は、前処理後の画像、すなわち解像度が低解像度化され、動き領域が白で背景領域が黒となるようにグレースケール化された画像P(x,y)を平滑化処理手段22に入力する。なお、前処理手段21における解像度変換及び動き領域抽出の何れか一方、又は双方を省略しても構わない。双方を省略する場合、フレーム画像を平滑化処理手段22に入力すればよい。
【0065】
平滑化処理手段22は、画像P(x,y)を入力し、画像P(x,y)に平滑化フィルタを畳み込む処理を繰り返すことで、スケールが異なる複数の平滑化画像L(x,y,σ)を生成する(ステップC2)。平滑化処理手段22は、フレーム画像そのものに対して平滑化フィルタを畳み込んでもよい。差分画像生成手段23は、スケールが異なる2つの平滑化画像間の差分を計算し、差分画像G(x,y,σ)を生成する(ステップC3)。差分画像生成手段23は、例えば式1を用いて、a×k枚の平滑化画像L(x,y,σ)からスケール番号1〜kのk枚の差分画像G(x,y,σ)〜(x,y,σ)を生成する。あるいは差分画像生成手段23は、式2を用いて、r枚の平滑化画像L(x,y,σ)からスケール番号1〜r−pのr−p枚の差分画像G(x,y,σ)〜(x,y,σr−p)を生成する。
【0066】
合算手段24は、差分画像生成手段23が生成した複数の差分画像を合算し、合算画像AP(x,y)を生成する(ステップC4)。合算手段24は、例えば差分画像生成手段23で生成されたk枚の差分画像G(x,y,σ)〜(x,y,σ)の各画素値を全て加算する。位置推定手段25は、合算画像AP(x,y)に基づいて、オブジェクトが存在する位置を推定する(ステップC5)。位置推定手段25は、例えば合算画像AP(x,y)を構成する各画素位置の画素値(差分の合算値)を比較し、合算画像において最大の画素値を有する画素位置をオブジェクトの位置として推定する。
【0067】
なお、合算手段24は、全ての差分画像を合算する必要はない。合算手段24は、例えば全k枚の差分画像のうちの任意数、及び任意のスケール番号の差分画像を合算してもよい。合算手段24は、例えば吸収したいサイズ変動幅に応じて、加算処理に用いる差分画像の数(合算する差分画像のスケール)を変更してもよい。例えば、検出対象のオブジェクトの種類に応じて吸収したいサイズ変動幅を設定しておき、あるオブジェクトについては、スケール番号が小さい、具体的にはスケール番号1、2の差分画像G(x,y,σ)、(x,y,σ)を合算から除外して、スケール番号3〜kの差分画像G(x,y,σ)〜(x,y,σ)を合算してもよい。また、合算手段24が、スケール番号1から、kよりも小さい任意のスケール番号までの差分画像(x,y,σ)を合算してもよい。
【0068】
サイズ推定手段26は、複数の差分画像G(x,y,σ)に基づいて、オブジェクトのサイズを推定する(ステップC6)。サイズ推定手段26は、例えばk枚の差分画像間で、位置推定手段25で推定されたオブジェクトの位置の周辺の画素の画素値(差分値)を比較する。サイズ推定手段26は、最大の画素値を与える差分画像のスケールを特定する。あるいはサイズ推定手段26は、推定されたオブジェクトの位置の周辺だけではなく、差分画像の全画素の画素値を比較し、最大の画素値を与える差分画像のスケールを特定してもよい。平滑化処理を行うことで画像内の像がどの程度広がるか(ボケるか)は既知であるため、差分最大を与えるスケールが判明すれば、そのスケール番号に基づいてオブジェクトのサイズが推定できる。また、上述のように検出対象であるオブジェクトは変動するため、サイズ推定手段26は、最も大きい差分値を有する差分画像から推定したサイズ±α(αは所定の値)をオブジェクトのサイズとして推定するようにしてもよい。
【0069】
部分画像生成手段27は、推定されたオブジェクトの位置及びサイズを利用して、フレーム画像におけるオブジェクトが存在すると推定される位置の周辺の画像を部分画像として生成する(ステップS7)。部分画像生成手段27は、例えばフレーム画像からオブジェクトが存在すると推定される位置の周辺の画像を切り出し、切り出した画像を、推定されたオブジェクトのサイズに応じて拡大/縮小する。推定されたオブジェクトのサイズに応じて拡大/縮小を行うことで、部分画像におけるオブジェクトの大きさを、判別器13で使用されるテンプレートにおけるオブジェクトの大きさに適合させることができる。部分画像生成手段27は、生成した部分画像を判別器13へ出力する。判別器13は、部分画像生成手段27により生成された部分画像に対して、検出対象のオブジェクトの存在に関する詳細な判別処理を実行する。
【0070】
比較例としてDOG(Differential Of Gaussian)画像を用いたオブジェクトの位置推定を考えると、DOG画像を用いた位置推定では隣接するスケールの平滑化画像間の差分を全て求める必要があり、生成する必要がある差分画像の枚数が多くなる。図5に示すオブジェクト候補点検出手段12を用いる場合、あるスケールの平滑化画像と、そのスケールから所定スケールだけ離れたスケールの平滑化画像との差分を差分画像として生成すればよく、DOG画像を用いた位置推定に比して、差分画像の生成枚数を少なくすることができる。このため、効率的に精度良くオブジェクトの位置を推定することができる。また、図5に示す構成のオブジェクト候補点検出手段12では、多重解像度画像を生成しなくてもオブジェクトのサイズの推定することができ、効率的にオブジェクトのサイズを推定することができる。
【0071】
特に、平滑化処理手段22においてa×k枚の平滑化画像L(x,y,σ)〜(x,y,σa×k)を生成し、差分画像生成手段23において、式1用いて、スケールσの平滑化画像L(x,y,σ)とスケールσa×jの平滑化画像L(x,y,σa×j)との差分を差分画像G(x,y,σ)として求める場合、オブジェクトのサイズの様々な変動に合わせて、オブジェクトの位置を精度よく推定することができる。また、オブジェクトのサイズの推定を精度よく行うことができる。
【0072】
なお、上記の説明では、動き領域抽出手段52が動き領域(オブジェクト)を白、背景領域を黒とするようなグレースケール化処理又は2値化処理を行うものとして説明したが、動き領域抽出手段52の動作はこれには限定されない。例えば動き領域抽出手段52は、動き領域を黒、背景領域を白とするようなグレースケール化処理又は2値化処理を行ってもよい。その場合には、位置推定手段25は、合算画像AP(x,y)において、画素値が最小となる画素位置を、オブジェクトの位置として推定すればよい。また、サイズ推定手段26は、複数の差分画像のうちで最小の画素値(差分値)を与える差分画像のスケールに基づいて、オブジェクトのサイズを推定すればよい。
【0073】
また、上記の説明では、オブジェクト候補点検出手段12が動画像からオブジェクトが存在すると推定される位置を1つだけ推定する例を説明したが、これには限定されない。オブジェクト候補点検出手段12において、複数のオブジェクトの存在を推定し、オブジェクトが存在すると推定された複数の位置の周辺の画像をそれぞれ部分画像を切り出してもよい。例えばオブジェクト候補点検出手段12において位置を推定すべきオブジェクトの数をMとする。その場合、位置推定手段25は、合算画像AP(x,y)の画素値を大きい順に並べ、上位M個の画素位置を各オブジェクトの位置として推定し、各位置の周辺の画像を部分画像として切り出せばよい。つまり、合算画像AP(x,y)において画素値が大きい順にM個の画素位置をオブジェクトの位置として推定すればよい。サイズ推定手段26は、推定されたM個のオブジェクトの位置の周辺において、最大の画素値を与える差分画像のスケールに基づいて、各オブジェクトのサイズを推定すればよい。
【0074】
次いで、本実施形態における効果を説明する。本実施形態では、判別器13における処理に先立って、弱判別器16で求めるべき差分の位置関係に対応した2点間の差分を差分画像として生成してく。各弱判別器16は、個別に差分計算を行うのに代えて、あらかじめ生成しておいた差分画像を参照して差分画像から差分値を取得する。各弱判別器16において個別に差分計算を行う場合、位置関係が同じ2点間の差分を計算する複数の弱判別器16において、テンプレートの移動前後で、入力画像の同じ位置の差分が個別に重複して計算される。本実施形態では、弱判別器16は差分画像を参照することで差分値を取得できるため、テンプレートを移動したときに、同じ位置関係の2点間の差分計算が重複して実行されるのを避けることができる。本実施形態では、重複した差分計算を避けることができるため、差分処理の計算回数を削減することができ、判別処理を高速化をすることができる。
【0075】
以下、具体例を用いて説明する。図7(a)及ぶ(b)は、弱判別器16における差分計算に関する基本特徴タイプを示す。(a)及び(b)に示す基本特徴タイプA、Bは、それぞれ3つの画素のペアの差分として定義される。(a)に示す基本特徴タイプAと(b)に示す基本特徴タイプBとは、ペア間の画素の位置関係は両者で異なるものの、各ペアにおいて横方向に1画素分離れた画素間で差分計算を行うという点で共通している。学習の結果、判別器13が、(a)に示す基本特徴タイプAで差分計算を行う弱判別器16と、(b)に示す基本特徴タイプBで差分計算を行う弱判別器16とを、それぞれ20個ずつ含むこととなったとする。
【0076】
差分画像を用いない場合、テンプレートのサイズを32画素×32画素とすると、この32×32の領域内で、基本特徴タイプAの弱判別器16、及び基本特徴タイプBの弱判別器16においてそれぞれ20か所の差分計算がされることになる。基本特徴タイプA及びBはそれぞれ3つのペアについて差分計算を行うため、テンプレート内では、(20+20)×3=120回の差分計算が行われることになる。このテンプレートを縦方向及び横方向にそれぞれ32画素の範囲で1画素ずつずらして走査すると、テンプレートの各位置で120回の差分計算が行われることから、トータルの差分の計算回数は120×32×32=122880回となる。
【0077】
一方、差分画像を用いる場合、テンプレートの走査範囲が上記と同じ範囲であるとすれば、差分処理が必要なエリアは64画素×64画素(テンプレートのサイズ32画素+走査幅32画素=64画素)のエリアになり、差分画像の生成に際して、64×64=4096回の差分計算が必要である。基本特徴タイプAと基本特徴タイプBとは、共に横方向に1画素離れた画素ペアの差分を計算するため、基本特徴タイプAの弱判別器16と基本特徴タイプBの弱判別器16とは、共通の差分画像を参照すればよい。差分画像を用いる場合、4096回の差分計算を行うことで、基本特徴タイプAの弱判別器16と基本特徴タイプBの弱判別器16とにおける処理が実現でき、各弱判別器において個別の差分計算を行う場合に比して、差分計算の回数を大幅に削減できる。また、差分画像の生成において、例えば着目画素の位置をラスタスキャンして差分計算を行うことで、各弱判別器16において個別に差分計算を行う場合に比して画像の参照箇所を局所化することができ、これによりキャッシュヒットの向上を見込むことができる。キャッシュがヒットすることで、差分画像生成を効率よく行うことができる。
【0078】
また、本実施形態では、オブジェクト候補点検出手段12を用いており、オブジェクトが存在する可能性が高い画像部分を判別器13に入力している。本実施形態では、オブジェクトが存在する確率が高い画像部分を判別器13で処理するため、各弱判別器16で早期終了の判断を行わずに、複数の弱判別器16を最終段まで一括で実行することが好ましい。早期終了を行わない場合、各弱判別器16で分岐判断が発生しないため、パイプラインの乱れが生じない。更に、早期終了を行わないことで、判別器13における処理時間を一定の時間に保つことができる効果もある。
【0079】
続いて、本発明の第2実施形態を説明する。第2実施形態におけるオブジェクト判別装置の構成は、図1に示す第1実施形態のオブジェクト判別装置10の構成と同様である。本実施形態では、判別器13において、基本特徴タイプが同じ複数の弱判別器16(図2)が連続してカスケード接続される。その他の点は、第1実施形態と同様である。
【0080】
図8は、第2実施形態のオブジェクト判別装置で用いられる判別器を示す。判別器13aでは、例えば図8に示すように、基本特徴タイプ1、基本特徴タイプ2、及び基本特徴タイプ3の弱判別器16がそれぞれまとめられ、連続してカスケード接続されている。また、判別器13aでは、基本特徴タイプ1の弱判別器16のグループに次に基本特徴タイプ2の弱判別器のグループが配置され、基本特徴タイプ2の弱判別器16のグループの次に基本特徴タイプ3の弱判別器16のグループが配置されている。
【0081】
図9は、判別器13aの構成に用いられる判別器構成装置30を示す。学習結果入力手段31は、機械学習を用いて学習された複数の弱判別器16を入力する。グループ化手段32は、学習により得られた複数の弱判別器16を、基本特徴タイプに応じて複数のグループにグループ化する。グループ化手段32は、複数の弱判別器16を、例えば基本特徴タイプごとにグループ化する。再配置手段33は、同じグループに所属する弱判別器16が連続して並ぶように複数の弱判別器をカスケード接続し、判別器13aを構成する。判別器構成装置30の各部の機能は、例えばコンピュータが所定のプログラムに従って処理を実行することで実現できる。
【0082】
図10(a)は学習後の判別器を示し、(b)は再配置後の判別器を示す。一般に、学習により得られた弱判別器は、重み付き正答率が高い順に、つまり判別に有効な順に並んでいる。図10(a)は、複数の弱判別器が判別に有効な順にカスケード接続された状態を示している。再配置手段33は、図10(b)に示すように、判別器13aにおいて、基本特徴タイプが同じ弱判別器が連続して配置されるように学習済みの弱判別器を並び替える。並び替えを行うことで、例えば学習後の判別器(図10(a))において初段を構成していた弱判別器が、再配置後の判別器13a(図10(b))の中段に配置され、学習後の判別器において中段を構成していた弱判別器が、再配置後の判別器13aの初段に配置され得る。
【0083】
ここで、図1に示すルックアップテーブル14には、基本特徴タイプごとに生成されたルックアップテーブルが格納されており、基本特徴タイプが同じ弱判別器16は、同じルックアップテーブルを参照してスコアを求める。通常、判別器13aの処理を実現するプロセッサにはキャッシュメモリが備えられており、そのキャッシュメモリには、弱判別器16が参照したルックアップテーブルの参照箇所に近い部分が格納されることになる。
【0084】
弱判別器を、判別に有効な順にカスケード接続した一般的な判別器(強判別器)では、ある段の弱判別器の基本特徴タイプとその次の段の弱判別器の基本特徴タイプとが異なっていることが多い。その場合、ある段の弱判別器の処理において、その弱判別器が参照するルックアップテーブルの一部がキャッシュメモリに格納されたとしても、その次の段の弱判別器の処理においてキャッシュがヒットすることはあまり期待できない。これに対し、基本特徴タイプが同じ弱判別器が連続して並ぶ場合、同じ基本特徴タイプの弱判別器16が連続して処理を行う間は同じルックアップテーブルが参照されることになり、キャッシュがヒットする確率の向上が見込める
【0085】
本実施形態では、オブジェクト判別装置10は、基本特徴タイプが同じ弱判別器16が連続して並べられている判別器13aを用いて画像に検出対象のオブジェクトが存在するか否かの判別を行う。このようにすることで、同じ基本特徴タイプの弱判別器16を連続して並べない場合に比して、ルックアップテーブルの参照において参照の局所化を図ることができ、キャッシュヒットの確率を上げることができる。本実施形態では、第1実施形態で得られる効果に加えて、キャッシュがヒットした分だけ、処理を高速化できる。特に、主に組み込み系で用いられるようなローパワーの処理系では、キャッシュヒットの有無が処理時間に与える影響は大きく、キャッシュをヒットさせることで処理時間を大幅に短縮することができる。
【0086】
引き続き、本発明の第3実施形態を説明する。本実施形態におけるオブジェクト判別装置の構成は、図1に示す第1実施形態のオブジェクト判別装置10の構成と同様である。本実施形態では、強判別器13a(図8)において、基本特徴タイプが同じ複数の弱判別器16が、各弱判別器16における差分計算の際の画像の参照位置に従った並び順で並べられる。その他の点は、第2実施形態と同様である。
【0087】
図11(a)は、基本特徴タイプ1における弱判別器の並び順を示し、(b)は、テンプレート内での各弱判別器の画像の参照位置を示している。基本特徴タイプ1は、横方向(x方向)に並ぶ2つの画素の差分であるとする。図11(b)は、差分計算のタイプが基本特徴体タイプ1の複数の弱判別器16のうちのいくつかにおける画像の参照位置を示している。基本特徴タイプ1の複数の弱判別器16は、図11(a)に示すように、各弱判別器16における差分計算の際の画像の参照位置に従った順序でカスケード接続される。
【0088】
例えば、基本特徴タイプ1の複数の弱判別器16は、各弱判別器16における差分計算の際の画像の参照位置がラスタスキャン走査順に従って現れるように並べられている。図8に示す判別器13における基本特徴タイプ2の複数の弱判別器16、及び、基本特徴タイプ3の複数の弱判別器16も、基本特徴タイプ1と同様に、弱判別器16が、差分計算の際の画像の参照位置がラスタスキャン走査順に従って現れるように並べられている。
【0089】
図12は、本実施形態における判別器の構成に用いる判別器構成装置30aを示している。学習結果入力手段31は、機械学習を用いて学習された複数の弱判別器16を入力する。グループ化手段32は、学習により得られた複数の弱判別器16を、基本特徴タイプに応じて複数のグループにグループ化する。グループ化手段32は、複数の弱判別器16を、例えば基本特徴タイプごとにグループ化する。ソート手段34は、同じグループに所属する弱判別器16を、差分計算の際の画像の参照位置に従ってソートする。再配置手段33は、ソート手段34でソートされた順初に従って、グループごとに複数の弱判別器をカスケード接続し、判別器を構成する。
【0090】
ソート手段34は、例えば、弱判別器16が差分計算の際に参照する複数の参照位置のうちで最も原点(画像の左上)に近い参照位置を、その弱判別器16が差分計算の際に参照する画像の参照位置としてソートを行う。具体的に、弱判別器16が3組の差分(6点参照)を求めるものである場合、ソート手段34は、6点のうちでもっとも原点に違い参照点の位置を、その弱判別器16における差分計算の際の画像の参照位置としてソートを行うことができる。あるいは6点の参照点のうちの任意の1つを、差分計算の際の画像の参照位置としてソートを行ってもよい。また、弱判別器16における複数の参照点の重心位置、例えば6点の参照点の重心位置を、差分計算の際の画像の参照位置としてソートを行ってもよい。
【0091】
ここで、単に基本特徴タイプに応じてグループ分けを行っただけであれば、基本特徴タイプは同じでも、ある段の弱判別器における差分計算の際の画像の参照箇所とその次の段の弱判別器における差分計算の際の画像の参照箇所とが離れている場合が多いと考えられる。その場合、ある段の弱判別器の処理において、その弱判別器が差分を求める際に参照する位置付近の画像がキャッシュメモリに格納されたとしても、その次の段の弱判別器が差分を求める際に画像のキャッシュがヒットすることはない。
【0092】
本実施形態では、複数の弱判別器16を、差分計算の際の画像の参照位置に従った並び順でカスケード接続した判別器13を用いる。弱判別器16が画像の参照箇所に従った並び順で並べられている場合、後段の弱判別器16が前段の弱判別器16の参照箇所と近い部分を参照して差分を求め、画像のキャッシュがヒットする可能性がある。ルックアップテーブルの参照の局所化だけでなく、画像についても参照の局所化を図ることができ、差分を求める際の画像参照を効率的に行うことが可能である。
【0093】
なお、第2実施形態では、基本特徴タイプごとにグループ化を行い、全ての基本特徴タイプについて、同じ基本特徴タイプの弱判別器16が連続してカスケード接続されるものとして説明したが、これには限定されない。必ずしも、全ての基本特徴タイプについて、同じ基本特徴タイプの弱判別器16が連続して並んでいる必要はない。例えば、基本特徴タイプの使用頻度に応じて、いくつかの基本特徴タイプはグループ化の対象から除外し、除外した基本特徴タイプの弱判別器16については連続してカスケード接続しないという構成も可能である。
【0094】
また、第3実施形態では、基本特徴タイプでグループ化した後に、弱判別器16を差分計算の際の画像の参照位置に応じて並べる例について説明したが、これには限定されない。例えば、基本特徴タイプでグループ化せずに、弱判別器16を差分計算の際の画像の参照位置に応じて並べてもよい。すなわち、各弱判別器16における差分計算の際の画像の参照位置に従った並び順で複数の弱判別器16をカスケード接続し、判別器13を構成してもよい。その場合でも、画素値参照の際のキャッシュヒットの向上を見込むことができ、処理の高速化が可能である。
【0095】
上記各実施形態では、判別器13が早期終了を行わないこととして説明を行ったが、判別器13において早期終了を行ってもよい。例えば、数千の弱判別器を、数百の弱判別器ごとにブロック化し、ブロックごとに早期終了の判断を行うようにしてもよい。その場合は、同一ブロック内で、基本特徴タイプが同じ弱判別器が連続して並ぶように、複数の弱判別器をカスケード接続すればよい。または、ブロックごとに、差分計算の際の画像の参照箇所に従った並び順で弱判別器を並べればよい。その場合、ブロック内の処理において参照の局所化を図ることができ、ブロック内で弱判別器が判別に有効な順に並んでいる場合に比して、処理時間を短縮できる。ブロックごとに基本特徴量タイプの母集団を変えて学習し、複数ブロックから構成させる強判別器を構成することも可能であり、その場合、ブロックごとに最後に1回だけ早期終了判断を行ってもよい。
【0096】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のオブジェクト判別装置、方法、及びプログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【符号の説明】
【0097】
10:オブジェクト判別装置
11:画像入力手段
12:オブジェクト候補点検出手段
13:判別器(強判別器)
14:ルックアップテーブル
15:差分画像生成手段
16:弱判別器
21:前処理手段
22:平滑化処理手段
23:差分画像生成手段
24:合算手段
25:位置推定手段
26:サイズ推定手段
27:部分画像生成手段
30:判別器構成装置
31:学習結果入力手段
32:グループ化手段
33:再配置手段
34:ソート手段
51:解像度変換手段
52:動き領域抽出手段

【特許請求の範囲】
【請求項1】
それぞれが、入力画像における少なくとも1組の2点間の差分を求め、該求めた差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別器がカスケード接続された強判別器と、
前記弱判別器で差分を求めるべき画像の2点間の位置関係に応じたずれ量を設定し、前記入力画像と前記入力画像を前記設定したずれ量だけずらした画像との差分画像を生成する差分画像生成手段とを備え、
前記複数の弱判別器のうちの少なくとも一部が、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得し、前記スコアを求めるものであることを特徴とするオブジェクト判別装置。
【請求項2】
前記強判定器が、前記入力画像内でテンプレートを所定の走査順で走査し、該走査されたテンプレートの各位置について前記複数の弱判別器における処理を実行するものであることを特徴とする請求項1に記載のオブジェクト判別装置。
【請求項3】
前記差分画像生成手段が、前記複数の弱判別器で差分を求めるべき複数の2点間の位置関係に応じたずれ量を順次に設定し、各ずれ量に対応した複数の差分画像を生成するものであることを特徴とする請求項1又は2に記載のオブジェクト判別装置。
【請求項4】
前記差分画像生成手段が、前記複数の弱判別器で差分を求めるべき全ての2点間の位置関係に応じたずれ量を順次に設定するものであり、前記複数の弱判別器のそれぞれが、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得するものであることを特徴とする請求項3に記載のオブジェクト判別装置。
【請求項5】
前記強判別器が、前記カスケード接続された弱判別器の初段から最終段まで、早期終了を行うことなく各弱判別器における処理を実行するものであることを特徴とする請求項1から4何れかに記載のオブジェクト判別装置。
【請求項6】
前記複数の弱判別器のそれぞれが、差分計算に関する複数の基本特徴タイプの何れかで前記少なくとも1組の2点間の差分を求めるものであり、前記強判別器では、前記基本特徴タイプが同じ弱判別器が連続して並べられていることを特徴とする請求項1から5何れかに記載のオブジェクト判別装置。
【請求項7】
前記強判別器では、基本特徴タイプが同じ弱判別器が複数あるとき、該基本特徴タイプが同じ複数の弱判別器が、各弱判別器における差分計算の際の画像の参照位置に従った並び順で並べられていることを特徴とする請求項6に記載のオブジェクト判別装置。
【請求項8】
前記強判別器では、各弱判別器における差分計算の際の画像の参照位置に従った並び順で前記弱判別器が並べられていることを特徴とする請求項1から5何れかに記載のオブジェクト判別装置。
【請求項9】
処理対象の画像からオブジェクトの位置を推定して該推定したオブジェクトの位置の周辺の画像を切り出し、該切り出した画像をそれぞれ前記強判別器及び前記差分画像生成手段に前記入力画像として与えるオブジェクト候補点検出手段を更に備えることを特徴とする請求項1から8何れかに記載のオブジェクト判別装置。
【請求項10】
前記オブジェクト候補点検出手段が、
オブジェクトの輪郭形状に対応したフィルタ特性を有する平滑化フィルタを画像に畳み込む処理を繰り返し行い、前記フレーム画像からスケールが異なる複数枚の平滑化画像を生成する平滑化処理手段と、
前記複数枚の平滑化画像のうち、スケールが互いに異なる2枚の平滑化画像間の差分画像を、スケールを変えつつ複数枚生成する差分画像生成手段と、
前記複数枚の差分画像を合算し合算画像を生成する合算手段と、
前記合算画像における画素値に基づいてオブジェクトの位置を推定する位置推定手段と、
前記フレーム画像から前記推定された位置の周辺の領域の画像を切り出す部分画像生成手段とを含むものであること特徴とする請求項9に記載のオブジェクト判別装置。
【請求項11】
前記平滑化処理手段がスケールσからσa×k(a及びkは2以上の整数)までのa×k枚の平滑化画像L(x,y,σ)(i=1〜a×k)を生成し、前記差分画像生成手段が、スケールσからσまでのk枚の差分画像G(x,y,σ)(j=1〜k)を、それぞれスケールσの平滑化画像L(x,y,σ)とスケールσj×aの平滑化画像L(x,y,σj×a)との差分に基づいて生成するものであることを特徴とする請求項10に記載のオブジェクト判別装置。
【請求項12】
前記平滑化処理手段がスケールσからσ(rは3以上の整数)までのr枚の平滑化画像L(x,y,σ)(i=1〜r)を生成し、前記差分画像生成手段が、スケールσからσk−p(pは1以上の整数)までのk−p枚の差分画像G(x,y,σ)(j=1〜k−p)を、それぞれスケールσの平滑化画像L(x,y,σ)とスケールσj+pの平滑化画像L(x,y,σj+p)との差分に基づいて生成するものであることを特徴とする請求項10に記載のオブジェクト判別装置。
【請求項13】
それぞれが、入力画像における少なくとも1組の2点間の差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別をカスケードに実行するステップと、
前記入力画像と、該入力画像を前記弱判別で差分を求めるべき画像の2点間の位置関係に応じたずれ量だけずらした画像との差分画像を生成するステップとを有し、
前記複数の弱判別をカスケードに実行するステップの少なくとも一部において、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得し、前記スコアを求めることを特徴とするオブジェクト判別方法。
【請求項14】
コンピュータに、
それぞれが、入力画像における少なくとも1組の2点間の差分に基づいて検出対象物の存在に関するスコアを求める複数の弱判別をカスケードに実行する手順と、
前記入力画像と、該入力画像を前記弱判別で差分を求めるべき画像の2点間の位置関係に応じたずれ量だけずらした画像との差分画像を生成するステップを手順とを実行させ、
コンピュータに、前記複数の弱判別をカスケードに実行する手順の少なくとも一部において、前記差分画像を参照して前記少なくとも1組の2点間の差分を取得し、前記スコアを求める手順を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図7】
image rotate


【公開番号】特開2012−128623(P2012−128623A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−278914(P2010−278914)
【出願日】平成22年12月15日(2010.12.15)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】