(57)【要約】【課題】画像の領域に応じた更新を可能にした識別器を用いた物体検出装置を提供する。【解決手段】物体検出装置１は、画像を取得する画像取得部２と、画像取得部２から入力された画像において順次設定される検出窓から検出窓領域画像を取り込む検出窓領域選択手段３０と、検出窓領域画像に検出対象物が存在するか否かを判定する固定識別器３４及び学習識別器３６と、を有し、検出窓の設定位置に対応する固定識別器３４及び学習識別器３６を用いて検出窓領域画像に検出対象物が存在するか否かを判定し、検出窓の設定位置に対応する固定識別器３４及び学習識別器３６を検出窓の設定位置に応じて識別器更新手段３７により更新する。【選択図】図１
2010170199.tif 000002
【特許請求の範囲】
【請求項１】
監視領域を撮影した画像から検出対象物を検出する物体検出装置であって、
前記画像を取得する画像取得部と、
前記画像取得部から入力された前記画像において順次設定される検出窓から検出窓領域画像を取り込む検出窓領域選択手段と、
前記検出窓の設定位置に対応する識別器を設定する識別器設定手段と、
前記検出窓領域画像に検出対象物が存在するか否かを判定する前記識別器と、
前記識別器設定手段にて設定している識別器を当該検出窓領域画像にて算出した情報に基づき更新する識別器更新手段と、
を有することを特徴とした物体検出装置。
【請求項２】
前記識別器は、前記検出窓領域画像に検出対象物が存在するか否かを判定する強識別器を直列に複数段接続したカスケード型識別器を有し、
前記識別器更新手段は、前記強識別器を用いない段がある場合に前記カスケード型識別器の使用段数を減少させることを特徴とした請求項１に記載の物体検出装置。
【請求項３】
前記識別器は、前記監視領域を撮影した画像から前記検出窓の設定位置に応じて学習した情報を用いて前記検出窓領域画像に検出対象物が存在するか否かを判定する学習識別器を前記カスケード型識別器の後段に有し、
前記識別器更新手段は、前記カスケード型識別器の判定結果と前記学習識別器の判定結果とが一致しない場合に前記カスケード型識別器の使用段数を増加させることを特徴とした請求項２に記載の物体検出装置。
【請求項４】
前記識別器は、前記監視領域を撮影した画像から前記検出窓の設定位置に応じて学習した情報を用いて前記検出窓領域画像に検出対象物が存在するか否かを判定する学習識別器を有し、
前記識別器更新手段は、前記検出窓領域画像を用いて前記学習識別器の学習を行うことを特徴とした請求項１に記載の物体検出装置。
【請求項５】
順次設定される前記検出窓の設定位置は、予め前記画像を複数の領域に分割した分割領域のいずれかに対応させられ、
前記識別器設定手段は、前記検出窓の設定位置に対応する前記分割領域ごとに同一の前記識別器を設定することを特徴とした請求項１乃至請求項４の何れか一項に記載の物体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から検出対象物を検出する物体検出装置に関する。
【背景技術】
【０００２】
画像内に検出対象物に対応した画像領域が含まれるか否かを検出する物体検出装置が知られている。
【０００３】
従来、入力された画像からリアルタイムに異常画像を学習し、監視対象を撮影した画像における異常を検出する物体検出装置が提案されている。例えば、特許文献１には、連続して入力された映像に対して逐次学習を行い、かつ、リアルタイムに非定常映像を検出する検出装置であって、非定常度合いを判定する辞書データを教師なし学習法にて随時学習し更新する検出装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９９２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、画像全体を物体検出装置の学習の単位としているため、画像の部分領域ごとに適した学習をすることができない。例えば、ハンガーが掛けられた画像が映っている領域と壁だけが映っている領域とを有する画像など、異なる物体の画像を含む複数の部分領域を有する１つの画像から学習を行う場合であっても、部分領域ごとに区別することなく画像全体を単位として学習を行う。このような学習の結果を用いると、画像内の検出対象物の検出の精度の向上に限界がある。
【０００６】
本発明は、画像の領域に応じた更新を可能にした識別器を用いた物体検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様の物体検出装置は、監視領域を撮影した画像から検出対象物を検出する物体検出装置であって、前記画像を取得する画像取得部と、前記画像取得部から入力された前記画像において順次設定される検出窓から検出窓領域画像を取り込む検出窓領域選択手段と、前記検出窓の設定位置に対応する識別器を設定する識別器設定手段と、前記検出窓領域画像に検出対象物が存在するか否かを判定する前記識別器と、前記識別器設定手段にて設定している識別器を当該検出窓領域画像にて算出した情報に基づき更新する識別器更新手段と、を有することを特徴とする。
【０００８】
前記識別器は、前記検出窓領域画像に検出対象物が存在するか否かを判定する強識別器を直列に複数段接続したカスケード型識別器を有し、識別器更新手段は前記強識別器を用いない段がある場合に前記カスケード型識別器の使用段数を減少させてもよい。
【０００９】
前記識別器は、前記監視領域を撮影した画像から前記検出窓の設定位置に応じて学習した情報を用いて前記検出窓領域画像に検出対象物が存在するか否かを判定する学習識別器を前記カスケード型識別器の後段に有し、前記識別器更新手段は、前記カスケード型識別器の判定結果と前記学習識別器の判定結果とが一致しない場合に前記カスケード型識別器の使用段数を増加させてもよい。
【００１０】
また、前記識別器は、前記監視領域を撮影した画像から前記検出窓の設定位置に応じて学習した情報を用いて前記検出窓領域画像に検出対象物が存在するか否かを判定する学習識別器を有し、前記識別器更新手段は、前記検出窓領域画像を用いて前記学習識別器の学習を行ってもよい。
【００１１】
また、順次設定される前記検出窓の設定位置は、予め前記画像を複数の領域に分割した分割領域のいずれかに対応させられ、前記識別器設定手段は、前記検出窓の設定位置に対応する前記分割領域ごとに同一の前記識別器を設定することが好適である。
【発明の効果】
【００１２】
本発明によると、画像の領域に応じた更新を可能にした識別器を用いた物体検出装置を提供できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態における物体検出装置の構成例を示す機能ブロック図である。
【図２】物体の検出処理を説明する図である。
【図３】識別器の構成例を示す図である。
【図４】類似度ヒストグラムの例を示す図である。
【図５】類似度ヒストグラムの更新方法を説明する図である。
【図６】物体検出装置での処理の例を示すフローチャートである。
【図７】物体検出装置での検出窓領域の位置設定処理の例を示すフローチャートである。
【図８】物体検出装置での識別処理の例を示すフローチャートである。
【図９】物体検出装置での更新処理の例を示すフローチャートである。
【図１０】物体検出装置での判定処理の例を示すフローチャートである。
【図１１】物体検出装置で初期設定時に行われる識別器の更新処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施の形態における物体検出装置１は、図１に示すように、画像取得部２、信号処理部３、記憶部４及び出力部５を含んで構成される。物体検出装置１は、所定の監視空間を撮像した監視画像を取得し、画像内に撮像された人や物等の検出対象物を検出する。画像取得部２、信号処理部３、記憶部４及び出力部５は互いに情報伝達可能に接続される。
【００１５】
なお、本実施の形態では、画像内に写った人を検出対象物とする例について説明する。ただし、これに限定されるものではなく、流通化に置かれる商品等の物品、通行する車等を検出する場合等にも適用することができる。
【００１６】
画像取得部２は、ＣＣＤ素子やＣ−ＭＯＳ素子等の撮像素子、光学系部品、アナログ／デジタル変換器等を含んで構成される所謂監視カメラを含む。また、画像取得部２は、インターネットのネットワークを介して画像を取得するものであってもよい。画像取得部２は、撮像した画像を信号処理部３へ送信する。画像を取得する間隔は一定の時間間隔でなくてもよい。
【００１７】
画像は、例えば、幅３２０ピクセル、高さ２４０ピクセル、各ピクセルがＲ（赤）、Ｇ（緑）、Ｂ（青）をそれぞれ２５６階調で表現したカラー画像である。
【００１８】
信号処理部３は、ＣＰＵ、ＤＳＰ、ＭＣＵ、ＩＣ等の演算回路を含んで構成される。信号処理部３は、画像取得部２、記憶部４及び出力部５と情報伝達可能に接続される。信号処理部３は、検出窓領域選択手段３０、検出窓制御手段３２、固定識別器３４、学習識別器３６、識別器更新手段３７、判定手段３８、識別器設定手段３９等の各手段での処理を記述したプログラムを記憶部４から読み出して実行することによりコンピュータを各手段として機能させる。
【００１９】
図２を参照し、信号処理部３は、画像取得部２より得られた入力画像２００から検出対象物を検出する。説明の都合上、画像２００の左上を原点Ｘ＝０，Ｙ＝０とし、横方向にＸ軸、縦方向にＹ軸とし、Ｘ軸は右方向、Ｙ軸は下方向に正に増加するものとする。入力画像２００には、領域２０３，２０４の位置に検出対象物（人）が写っており、矩形２０１，２０２は検出窓領域を示している。
【００２０】
物体検出装置１は、検出窓領域を少しずつずらしながら走査し、検出窓領域に人が写っている否かを判定する。矢印は、検出窓領域をずらす際の左上の座標を示すものであり、検出窓領域は画像２００全体を漏れなく探索するように走査する。領域２０３，２０４にある矩形は、検出処理の結果、人であると判定された検出窓領域（人候補領域）を示す。人が写っている画像領域付近では、人であると判定される検出窓領域が複数出てくる場合があるが、検出窓領域をまとめる処理を行うことで最終的な検出窓領域（図２中の太線：人領域）を得る。また、領域２０５にある矩形は、検出対象物である人に似た洋服が掛かったハンガーが写された領域を示している。
【００２１】
検出窓領域選択手段３０は、検出窓領域の幅と高さを決定する。画像内に様々な大きさで写る人に対応するため検出窓領域の幅と高さを変更しながら、検出窓領域を走査して画像内に人が写っているか否かを判定する。なお、検出窓領域の幅と高さは、検出対象物の画像上での大きさを考慮して、予め記憶部４に１又は複数を記憶している。ただし、予め幅と高さを記憶していなくとも、所定の規則に従って決定してもよい。
【００２２】
検出窓制御手段３２は、検出窓領域をずらす間隔（走査間隔）を決定し、決定した走査間隔に基づいて検出窓領域をずらす。
【００２３】
固定識別器３４は、検出窓領域内の画像がどれだけ人に似ているか、類似度を計算する。固定識別器３４は、多数の「人」の画像データ、「人以外」の画像データを用いて予め学習させる。
【００２４】
類似度は、図３に示す処理手順で計算される。図１に記載している固定識別器３４、学習識別器３６、識別器更新手段３７の具体例を図３ではカスケード型識別器３２０、学習識別器３３０及び識別器更新手段３３２としてそれぞれ示す。
【００２５】
まず、入力画像から切り出された検出窓領域内の画像が、カスケード型識別器３２０に入力される。カスケード型識別器３２０は、強識別器３２１，３２２，３２３のような複数の強識別器が直列に並んだ識別器である（ここではＮ個の強識別器が直列に並んでいる例を示す）。個々の強識別器は、ヒストグラム・オブ・オリエンティッド・グラディエント(ＨＯＧ：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)を用いてアダブースト(AdaBoost)で予め学習させる。すなわち、検出対象物である人の様々な画像と人が写っていない画像を大量に用意し、各画像に対して検出対象物の画像であるか否か正解付けを行っておき、これらのデータを用いて両者が識別できるようにアダブーストで学習させる。類似度を計算するときは、各強識別器は、入力された画像からＨＯＧ特徴を計算し、アダブーストで選択された特徴量より類似度を計算する。
【００２６】
強識別器３２１〜３２３はあらかじめ計算する順序が決まっており、最初に計算する強識別器３２１が１、次に計算する強識別器３２２が２・・・Ｎのように各強識別器には計算する順番と同じ番号を割り当てる。
【００２７】
各強識別器３２１〜３２３は、検出窓領域として切り出された画像を入力とし、類似度を計算する。最先の強識別器３２１以外の強識別器３２２，３２３等は、前段で計算された類似度が閾値より大きい場合のみ（図中Ｔの矢印）、類似度を計算する。閾値以下の場合（図中Ｆの矢印）、識別器更新手段３３２にて学習識別器３３０の更新を行う。閾値は、例えば０に設定し、０より大きければ人に似ており、０以下であれば人に似ていないと判定する。以下、類似度を算出した強識別器の個数を判定段数という。
【００２８】
学習識別器３３０は、カスケード型識別器３２０の各強識別器の類似度を入力として、人か否かを判定する。
【００２９】
学習識別器３３０は、カスケード型識別器３２０で最後の強識別器において人と判定（図中Ｔの矢印）した場合のみ判定を行う。本実施の形態の例では、「最後の強識別器」とは、記憶部４に記憶された使用段数４４の値が表す番号の強識別器である。カスケード型識別器３２０で「人」の可能性が高いときのみ、すなわち最終段の強識別器で求めた類似度が閾値より大きい場合（図中Ｔの矢印）に学習識別器３３０にて判定を行う。学習識別器３３０は、カスケード型識別器３２０において判定段数までの強識別器で得られた類似度Ｓｎ（ｎは１〜Ｍ：Ｍは判定段数（１≦Ｍ≦Ｎ））を入力とする。カスケード型識別器３２０の各強識別器で求めた類似度を並べてベクトル表現したものを類似度ベクトルＳ＝（１番目の強識別器の類似度，２番目の強識別器の類似度，・・・，Ｍ番目の強識別器の類似度）＝（Ｓ１，Ｓ２，・・・，ＳＭ）とする。
【００３０】
類似度ベクトルＳが得られたときの「人」である確率Ｐ（人｜Ｓ）、類似度Ｓが得られたときの「人以外」である確率Ｐ（人以外｜Ｓ）を計算し、Ｐ（人｜Ｓ）＞Ｐ（人以外｜Ｓ）なら「人」と判定し、そうでなければ「人以外」と判定する。
【００３１】
Ｐ（人｜Ｓ）とＰ（人以外｜Ｓ）の計算はベイズの定理より数式（１），（２）で求めることができる。
【数１】
2010170199.tif 000003
【００３２】
ここで、Ｐ（Ｓ｜人）は、「人」の場合の類似度Ｓが得られる確率（尤度）、Ｐ（Ｓ｜人以外）は「人以外」の場合の類似度Ｓが得られる確率（尤度）である。Ｐ（人）は「人」がどのくらいの確率で検出窓領域に含まれるかを表した事前確率、同様にＰ（人以外）は検出窓領域に「人以外」がどのくらいの確率で含まれているかを表した事前確率である。事前に検出窓領域に「人」、「人以外」が含まれる確率はわからないため、事前確率Ｐ（人）＝Ｐ（人以外）＝０．５と仮定する。Ｐ（人以外｜Ｓ）＝１−Ｐ（人｜Ｓ）という関係があるので、Ｐ（人｜Ｓ）を求めれば、Ｐ（人以外｜Ｓ）は容易に求められる。以下では、Ｐ（人｜Ｓ）を学習識別器３３０での類似度という。
【００３３】
各強識別器の類似度を要素とした確率変数ベクトルｓを用意すると、「人」の類似度ベクトルｓの分布Ｐ（ｓ｜人）と「人以外」の類似度ベクトルｓの分布Ｐ（ｓ｜人以外）が求まればＰ（人｜ｓ）を計算できる。類似度ベクトルｓは多次元データだが、各強識別器の類似度ｓｎは独立であると仮定すると、Ｐ（ｓ｜人）及びＰ（ｓ｜人以外）は数式（３），（４）で求められる。
【数２】
2010170199.tif 000004
【００３４】
ここで、Ｐ（ｓｍ｜人）はｍ番目の強識別器の「人」の類似度の分布であり、Ｐ（ｓｍ｜人以外）はｍ番目の強識別器の「人以外」の類似度の分布である。
【００３５】
本実施の形態では、全ビン（区切り）の類似度の分布の和が１になるようなヒストグラムで、「人」の類似度の分布及び「人以外」の類似度の分布を表現する。それぞれのヒストグラムは、記憶部４の類似度ヒストグラム４２に格納される。ただし、類似度の分布はヒストグラムに限らず、正規分布や混合正規分布などで表現してもよい。
【００３６】
「人」の類似度ヒストグラム４２は、予め用意した「人」を含む画像である学習用データを用いて各強識別器の類似度の分布を求めることによって構成する。本実施の形態では、「人」の類似度ヒストグラム４２については逐次学習を行わないが更新してもよい。「人以外」の類似度ヒストグラム４２は、監視カメラを設置した時の最初の数フレームの画像には人が含まれていないと仮定し、そのとき得られる各強識別器の類似度の分布を求めることによって構成する。その後、カスケード型識別器３２０又は学習識別器３３０において検出窓領域が「人以外」と判定されたときにカスケード型識別器３２０で求められた類似度を用いて「人以外」の類似度ヒストグラム４２を逐次更新する。
【００３７】
カスケード型識別器３２０の強識別器の数がＮ＝２の場合における類似度ヒストグラム４２の例を図４に示す。類似度ヒストグラム４０１は、１番目の強識別器の類似度ｓ１における「人」の類似度の分布４０２：Ｐ（ｓ１｜人）と「人以外」の類似度の分布４０３：Ｐ（ｓ１｜人以外）からなる。類似度ヒストグラム４１１は、２番目の強識別器の類似度ｓ２における「人」の類似度の分布４１２：Ｐ（ｓ２｜人）と「人以外」の類似度の分布４１３：Ｐ（ｓ２｜人以外）からなる。４つの類似度ヒストグラム４０２，４０３，４１２，４１３は、全ビンの類似度の分布の合計が１になるようにそれぞれ正規化されている。
【００３８】
カスケード型識別器３２０のみで判定する場合、各強識別器で求められた類似度が予め定められた閾値（例えば、０に設定）より大きいと「人」と判定されるが、学習識別器３３０では得られた各強識別器の類似度と、過去の類似度ヒストグラム４２から確率を計算し、適応的に判定できる。
【００３９】
例として、「人」、「人以外」の類似度の分布が図４に示す類似度ヒストグラム４０１，４１１で表される場合、１段目の強識別器の類似度がＳ１＝１．０、２段目の強識別器の類似度がＳ２＝１．０であったときについて説明する。１段目及び２段目の強識別器における閾値が０である場合、１段目及び２段目の強識別器のいずれにおいても類似度が閾値を超えているのでカスケード型識別器３２０では「人」と判定される。一方、学習識別器３３０では、類似度ベクトルＳ＝（１．０，１．０）が得られたときの「人」である確率：Ｐ（人｜Ｓ＝（１．０，１．０））＝Ｐ（Ｓ１＝１．０｜人）×Ｐ（Ｓ２＝１．０｜人）×Ｐ（人）／Ａと、「人以外」である確率：Ｐ（人以外｜Ｓ＝（１．０，１．０））＝１−Ｐ（人｜Ｓ＝（１．０，１．０））を算出する。ただし、Ａ＝Ｐ（Ｓ｜人）×Ｐ（人）＋Ｐ（Ｓ｜人以外）×Ｐ（人以外）である。図４に示すヒストグラム４０１，４１１に基づくとＰ（人｜Ｓ＝（１．０，１．０））＜Ｐ（人以外｜Ｓ＝（１．０，１．０））となるので、学習識別器３３０では「人以外」と判定される。
【００４０】
物体検出装置の設置環境の特性にあわせた類似度ヒストグラムを構築できれば、カスケード型識別器３２０からの類似度の算出結果に基づいて学習識別器３３０においてより確度の高い判定を行うことができる。
【００４１】
学習識別器３３０で判定後、学習識別器３３０を識別器更新手段３３２により更新する。また、類似度管理手段３３４において類似度及び検出窓領域の大きさ（幅及び高さ）と中心座標を関連付けて判定情報履歴４０として記憶部４に記憶させる。
【００４２】
識別器更新手段３３２は、判定結果に応じて学習識別器３３０の類似度ヒストグラムを更新する。本実施の形態では、各強識別器で求められた類似度が閾値以下（図３中の矢印Ｆ）の場合に識別器更新手段３３２にて学習識別器３３０の更新を行う。また、カスケード型識別器３２０にて強識別器で求められた類似度が閾値を超えていても（図３中Ｔの矢印）、学習識別器３３０にて「人以外」と判定（図３中Ｆの矢印）された場合にも、学習識別器３３０の更新を行う。すなわち、「人以外」の類似度ヒストグラム４２のみを更新の対象とし、「人」の類似度ヒストグラム４２は更新しない。また、カスケード型識別器３２０の何段目の強識別器まで使用するかを表す使用段数について、カスケード型識別器３２０と学習識別器３３０の判定結果より更新する。更新後の使用段数は、使用段数４４として記憶部４に記憶される。
【００４３】
識別器更新手段３３２は、一時刻前までに得られた類似度ヒストグラム４２を現時刻に得られたデータで更新する。識別器更新手段３３２による更新処理には、例えば図５に示すように、αブレンディングが用いられる。図５は、学習識別器３３０のｎ番目の「人以外」の類似度ヒストグラム４２を更新する処理を示しており、前時刻までの更新前の類似度ヒストグラム５０１及び現時刻で得られたデータによる更新された類似度ヒストグラム５０２を表している。
【００４４】
検出窓領域に人の画像が含まれているか否かを判定した際、カスケード型識別器３２０では「人」と判定され学習識別器３３０では「人以外」と判定されたとする。このときのｎ番目の強識別器の類似度が０．８のときのｎ番目の強識別器に対応する類似度ヒストグラム５０１の更新方法を示す。まず、更新前の類似度ヒストグラム５０１の各ビンを（１．０−α）倍する。その後、現時刻に得られた類似度０．８に相当するビンにα分の重みを足す（図５中、ビン５０３の斜線部分）。αは予め定められたパラメータである。αが大きいと過去の情報の影響がより早く小さくなり、αが小さいと過去の情報の影響をより長く受けるものとなる。初めて更新を行う際、すなわち類似度ヒストグラム５０１が空の状態の場合、得られたデータが該当するビンの値を１とする。ただし、このようにすると最初に得られたデータの影響が大きいため、更新回数が少ないうちはαを比較的大きな値に設定し、更新回数が多くなるにつれてだんだん小さな値に設定するなどしてもよい。
【００４５】
識別器更新手段３３２は、また、カスケード型識別器３２０と学習識別器３３０の判定結果によってカスケード型識別器３２０の使用段数を更新する。本実施の形態では、カスケード型識別器３２０の使用段数を以下の［例１］に示す方針に従って変更する。
【００４６】
［例１］
・カスケード型識別器３２０の判定結果と学習識別器３３０の判定結果とが異なる状態がある程度以上続いた場合に、使用段数４４の値を１だけ増加させる。本例では、使用段数４４の値を１だけ増加させているが、これに限るものではなく、増加をさせることが可能な段数であれば任意に決めてもよい。
・カスケード型識別器３２０において現在設定されている使用段数４４の強識別器が、連続して使用されていない回数（すなわち、カスケード型識別器３２０の判定段数が連続して使用段数４４未満である回数）を数えて、この回数が所定の閾値以上になった場合に、使用段数４４の値を１だけ減少させる。ただし、使用段数４４の設定値を減少させる数は、１に限らず任意に決定してもよい。
【００４７】
なお、使用段数４４の初期値は、例えば、カメラを設置した直後の初期設定時に数フレーム分の入力画像を処理し、処理した際に使用した強識別器の最大段数を用いる。
【００４８】
ここで、図１に戻って、判定手段３８は、判定情報履歴４０として記憶されている検出窓領域の大きさ（幅、高さ）と中心座標、学習識別器３３０の類似度を用いて、最終的に画像内のどこに人が写っているかを決定する。判定情報履歴４０に含まれるデータの中で、学習識別器３３０の類似度が閾値（例えば、０．８に設定）以上の検出窓領域を人候補領域として抽出する。人候補領域がない場合は入力画像中に人領域はないということで終了する。
【００４９】
人候補領域があった場合、検出窓領域の大きさと中心座標を用いて、一定以上（例えば、検出窓領域の面積の半分以上）の領域が重なっている人候補領域を纏める。纏めた人候補領域の中で学習識別器３３０の類似度が一番高い検出窓領域を人領域として選択する。纏めた領域毎に選択された検出窓領域を人領域とし、出力部５に選択された検出窓領域の情報を出力する。
【００５０】
識別器設定手段３９は、検出窓制御手段３２で設定された検出窓領域の位置に対応した識別器を、検出窓領域に人の画像が含まれているか否かを判定する処理で用いる識別器として設定する。例えば、識別器設定手段３９は、検出窓領域の位置座標に応じて、カスケード型識別器３２０の使用段数４４及び学習識別器３３０の「人以外」の類似度ヒストグラム４２を設定する。当該検出窓領域の画像に対するカスケード型識別器３２０の類似度算出処理は識別器設定手段３９が設定した使用段数４４を用いて行われる。同様に、当該検出領域の画像に対する学習識別器３３０の類似度算出処理は識別器設定手段３９が設定した「人以外」の類似度ヒストグラム４２を用いて行われる。
【００５１】
図２の画像２１１を例にとり、検出窓領域に対応した識別器の設定について説明する。図２の画像２１１は、入力画像２００に対応し、入力画像２００を矩形領域で分割領域１，２，…，１２に分割される。各分割領域の位置座標及び大きさは予め記憶部４に記憶させておく。さらに、記憶部４には、分割領域１，２，…，１２ごとに、カスケード型識別器３２０の使用段数４４及び学習識別器３３０の「人以外」の類似度ヒストグラム４２が記憶される。識別器設定手段３９は、検出窓領域の位置座標に対応する分割領域の「人以外」の類似度ヒストグラム４２及び使用段数４４を記憶部４から読み出す。カスケード型識別器３２０及び学習識別器３３０は、識別器設定手段３９が記憶部４から読み出した使用段数４４及び「人以外」の類似度ヒストグラム４２をそれぞれ用いて各処理を行う。なお、本実施の形態では、「人」の類似度ヒストグラム４２はどの分割領域でも同一のものを使用する。
【００５２】
また、識別器更新手段３３２による更新処理においても、検出窓領域の位置座標に対応する分割領域の類似度ヒストグラム４２及び使用段数４４を更新する。これにより、検出窓領域の位置に対応する分割領域の「人以外」の類似度ヒストグラム４２を用いて入力画像２００の分割領域ごとの学習識別器３３０が構築され、更に分割領域ごとにカスケード型識別器３２０の使用段数４４が設定される。よって、分割領域に応じてカスケード型識別器３２０及び学習識別器３３０を最適化できる。
【００５３】
なお、入力画像２００を分割する態様は図２の画像２１１に例示する態様に限られない。例えば、分割領域の数を図２の画像２１１と比較して増減させてもよいし、各分割領域の形状を矩形領域としなくてもよい。また例えば、すべての分割領域が同じ大きさを有していなくてもよい。
【００５４】
また、識別器設定手段３９は、検出窓領域の位置だけでなく、検出窓の大きさ（幅、高さ）も考慮して識別器の設定を行ってもよい。例えば、検出窓の大きさによって異なる態様で入力画像２００を分割した分割領域を予め設定しておき、検出窓の大きさと各分割領域との組み合わせごとに、「人以外」の類似度ヒストグラム４２及び使用段数４４を記憶部４に記憶させておく。識別器設定手段３９は、検出窓領域選択手段３０が決定した検出窓の大きさと検出窓領域の位置座標に対応する分割領域との組み合わせに対応する「人以外」の類似度ヒストグラム４２及び使用段数４４を記憶部４から読み出す。そして、読み出された使用段数４４及び「人以外」の類似度ヒストグラム４２を用いて、カスケード型識別器３２０及び学習識別器３３０の各処理が行われる。
【００５５】
記憶部４は、ＲＯＭやＲＡＭ等のメモリ装置で構成される。記憶部４は、信号処理部３からアクセス可能に接続される。記憶部４は、各種プログラム、各種データを記憶することができ、信号処理部３からの要求に応じてこれらの情報を読み書きする。記憶部４は、類似度管理手段３３４として機能し、判定情報履歴４０として検出窓領域の大きさ（幅、高さ）と中心座標及び学習識別器３３０の類似度の３つの情報を関連付けて記憶する。また、カスケード型識別器３２０に含まれる強識別器毎に、各強識別器の番号に対応付けて「人」と「人以外」の類似度ヒストグラム４２を記憶する。さらに、記憶部４は、カスケード型識別器３２０の現在の使用段数４４を記憶する。なお、類似度ヒストグラム４２及び使用段数４４は、入力画像２００を分割した分割領域ごとに記憶される。
【００５６】
出力部５は、報知音を出力する音響出力手段や入力画像を表示する表示手段を含んで構成することができる。判定手段３８で人領域が検出された場合、スピーカー、ブザー等の音響出力手段で警報を鳴らしたり、ディスプレイ等の外部表示装置に入力画像を表示したりする。また、出力部５は、コンピュータをネットワークや電話回線に接続するためのインターフェースを含んでもよい。この場合、出力部５は、電話回線やインターネット等の情報伝達手段を介して、センタ装置（図示しない）に入力画像や人領域の情報を送出する。なお、センタ装置は、画像内の検出対象物を監視するセンタ等に設置されるホストコンピュータである。
【００５７】
以下、物体検出装置１における処理について、図６のフローチャートを参照して説明する。
【００５８】
ステップＳ１０では、画像取得部２において画像を取得し、信号処理部３に画像が送信される。画像の取得タイミングは決まった時間間隔とする。
【００５９】
ステップＳ２０では、検出窓領域の大きさ（幅と高さ）を決定する。検出窓領域の大きさを予め設定した複数の大きさに順次変更しつつ、各大きさの検出窓領域で画像全体を走査する。また、本実施の形態では検出窓領域は矩形としたので大きさとして幅と高さのみを決定すればよいが、検出窓領域は任意の形状であってよく、その場合には形状と大きさを決定する。この処理は検出窓領域選択手段３０にて行われる。
【００６０】
ステップＳ３０からステップＳ５０の処理は、ステップＳ２０で設定した検出窓領域の大きさで画像全体を走査し終わるまで繰り返す。
【００６１】
ステップＳ３０では、検出窓領域の位置を決定する。この処理は検出窓制御手段３２で行う。この処理は、図７に示すフローチャートに沿って行われる。なお、検出窓領域の左上の座標を開始点と呼び、決定すべき検出窓領域の開始点を（ＳＸ，ＳＹ）、前回の検出窓領域の開始点を（ＢＸ，ＢＹ）とする。
【００６２】
図７を参照し、ステップＳ３０１では、検出窓領域の大きさが変更されたか否かの判定を行う。検出窓領域の大きさが変更された直後の場合は、ステップＳ３０５において検出窓領域の開始点（ＳＸ，ＳＹ）を（０，０）に設定してステップＳ４０に移行する。検出窓領域の大きさ変更後、初めての処理でない場合にはステップＳ３０２へ移行する。
【００６３】
ステップＳ３０２では、前回の検出窓領域の開始点（ＢＸ，ＢＹ）を読み出す。ステップＳ３０３では、ステップＳ３０２で読み出した前回の検出窓領域の開始点（ＢＸ，ＢＹ）から画像の右端まで走査したか否かを判定する。前記の検出窓領域で画像の右端まで走査が終了した場合、すなわち検出窓領域の右端ＢＸ＋Ｗ（但し、Ｗは検出窓領域の幅）が画像の右端に一致した場合にはステップＳ３０６において検出窓領域の開始点を（ＳＸ，ＳＹ）＝（０，ＢＹ＋ｑ）と設定し、ステップＳ４０へ移行する。ただし、ｑは予め定めた定数とする。例えば、入力画像が幅３２０ピクセル、高さ２４０ピクセルの場合にはｑ＝４ピクセルに設定する。右端まで走査していない場合にはステップＳ３０４に移行する。
【００６４】
ステップＳ３０４では、Ｘ方向に検出窓領域をｐピクセルずらし、Ｙ方向にはずらさないように検出窓領域の開始点（ＳＸ，ＳＹ）を決定する。すなわち、検出窓領域の開始点（ＳＸ，ＳＹ）＝（ＢＸ＋ｐ，ＢＹ）とする。ただし、ｐは予め定めた定数とする。例えば、入力画像が幅３２０ピクセル、高さ２４０ピクセルの場合にはｐ＝４ピクセルに設定する。その後、ステップＳ３５（図６）に移行する。
【００６５】
ステップＳ３５では、識別器設定手段３９は、検出窓領域の位置に対応した識別器を設定する。本実施の形態では、入力画像２００を予め分割した分割領域のうち検出窓領域の位置座標に対応する分割領域について記憶部４に記憶された「人以外」の類似度ヒストグラム４２及び使用段数４４を記憶部４から読み出す。また、「人」の類似度ヒストグラム４２については検出窓領域の位置座標によらず共通のものを記憶部４から読み出す。
【００６６】
なお、以下の説明において、「人以外」の類似度ヒストグラム４２及び使用段数４４について述べる場合、特に断りがなければ現在の検出窓領域の位置座標に対応する分割領域についての「人以外」の類似度ヒストグラム４２及び使用段数４４を指すこととする。
【００６７】
ステップＳ４０では、ステップＳ３０にて設定された検出窓領域内の画像がどれだけ人に似ているかを示す類似度を求める。これは、図３に示したカスケード型識別器３２０及び学習識別器３３０の識別処理である。識別処理について図８のフローチャートを用いて説明する。
【００６８】
ステップＳ４０１では、現在の検出窓領域からＨＯＧ特徴量を計算する。ただし、この処理はステップＳ１０とステップＳ２０との間で、入力画像の各ピクセルのエッジの強度と角度を計算し、エッジの角度毎のインテグラル画像を作成しておくことでより高速に計算することが可能になる。
【００６９】
ステップＳ４０２からステップＳ４０５がカスケード型識別器３２０の処理である。ステップＳ４０２では、使用段数４４の値が表す段数分の強識別器を調査し終わったか否かの判定を行う。使用段数４４の段数分の強識別器で調査し終わった場合はステップＳ４０６に移行し、終わっていない場合にはステップＳ４０３に移行し、次の強識別器での調査を行う。ステップＳ４０３では、検出窓領域内の画像が人に似ているか否かを判定するための類似度を計算する。
【００７０】
ステップＳ４０４では、ステップＳ４０３において計算した類似度を判定した強識別器の番号と共に一時的な記憶領域に記憶する。これはステップＳ４０７における学習識別器３３０での類似度計算やステップＳ５０の更新処理にて用いられる。
【００７１】
ステップＳ４０５では、ステップＳ４０３において計算した類似度が予め設定した閾値より大きいか否かを判定する。閾値より大きい場合にはステップＳ４０２に移行し、閾値以下の場合には、後述する学習識別器３３０の類似度をステップＳ５０１の閾値以下として記憶させ、ステップＳ５０に移行する。
【００７２】
ステップＳ４０６からＳ４０８が学習識別器３３０の処理である。ステップＳ４０６では、カスケード型識別器３２０の判定段数までの強識別器の類似度ヒストグラム４２の中で、更新回数が基準値以上である「人以外」の類似度ヒストグラム４２を抽出する。これは、更新回数が少ない類似度ヒストグラム４２を使用すると、学習識別器３３０で算出される類似度の信頼性が低くなるためである。そこで、基準値以上更新されている類似度ヒストグラム４２と、それに対応するステップＳ４０４で記憶された強識別器の類似度を用いて学習識別器３３０での類似度を算出する。
【００７３】
ステップＳ４０７では、学習識別器３３０にて類似度を計算する。類似度の計算は数式（１）のＰ（人｜Ｓ）を用いる。ステップＳ４０８では、ステップＳ４０７で算出された類似度を検出窓領域の大きさ（幅と高さ）と中心座標とに関連付けて判定情報履歴４０として記憶部４に記憶し、ステップＳ５０へ移行する。
【００７４】
ステップＳ５０では、類似度ヒストグラム４２及び使用段数４４の更新処理を行う。これは識別器更新手段３７にてなされる。更新処理は、図９のフローチャートに沿って行われる。ステップＳ５０１からステップＳ５０２までが類似度ヒストグラム４２の更新処理であり、ステップＳ５０４以降が使用段数４４の更新処理である。なお、本実施の形態では、類似度ヒストグラム４２の更新処理において、「人以外」の類似度ヒストグラム４２を更新し、「人」の類似度ヒストグラム４２は更新しない。
【００７５】
ステップＳ５０１では、ステップＳ４０７にて学習識別器３３０で算出された類似度が閾値より大きい場合は「人」である可能性が高いので類似度ヒストグラム４２の更新処理は行わず、ステップＳ５０８へ移行する。
【００７６】
ステップＳ５０２では、カスケード型識別器３２０に含まれる各強識別器に対応する「人以外」の類似度ヒストグラム４２を図８のステップＳ４０４にて記憶した類似度にて更新する。したがって、今回判定に使用した強識別器に対応する類似度ヒストグラム４２のみが更新される。ここでは、「人以外」の類似度ヒストグラム４２を更新する。更新方法は、上述の識別器更新手段３３２の説明の通りである。更新処理後、ステップＳ５０４へ移行する。
【００７７】
ステップＳ５０４において、現在設定されている使用段数４４に対応する強識別器が連続して未使用である回数（以下、「連続未使用回数」と呼ぶ）のチェックを行う。連続未使用回数が予め設定された閾値Ｔｕｎ回より大きい場合は、ステップＳ５０９において使用段数４４の設定値を１だけ減少させる。閾値Ｔｕｎ以下の場合、ステップＳ５０５へ移行する。なお、本実施の形態では、現在設定されている使用段数４４に対応する強識別器が未使用である連続回数に基づき「１」だけ使用段数４４を減少させているが、現在設定されている使用段数４４までの各段における強識別器個々の未使用回数が閾値Ｔｕｎ回より大きい強識別器の数だけ使用段数４４の設定値を減少させてもよい。
【００７８】
ステップＳ５０５において、判定回数が閾値Ｔｊｃ回より大きく、かつ不一致回数が閾値Ｔｅｒより大きく、かつ現在の使用段数４４の値が予め記憶部４に記憶された強識別器の最大番号でない場合は、ステップＳ５０６において使用段数４４の設定値を１だけ増加させる。ここで、判定回数は、使用段数４４が更新されてからカスケード型識別器３２０で判定処理を行った回数を表す。また、不一致回数は、カスケード型識別器３２０の判定結果と学習識別器３３０の判定結果とが不一致である回数である。
【００７９】
不一致回数は、例えば、使用段数４４が更新されてからカスケード型識別器３２０で行われた判定処理のうち、以下の［例２］に示す基準で「不一致」とされた回数であってよい。
【００８０】
［例２］
・カスケード型識別器３２０で「人以外」と判定
→  一致（本実施の形態では、カスケード型識別器３２０で「人以外」と判定した場合、学習識別器３３０で判定は行わないが、この場合は一致したとする。）
・カスケード型識別器３２０で「人」と判定かつ学習識別器３３０で「人」と判定
→  一致
・カスケード型識別器３２０で「人」と判定かつ学習識別器３３０で「人以外」と判定
→  不一致
【００８１】
なお、連続未使用回数、判定回数、及び不一致回数の各値は、現在の検出窓領域の位置座標に対応する分割領域の使用段数４４に関連づけて記憶部４に記憶され、識別器更新手段３７は、記憶部４を参照して各値の読み出し及び変更（後述）を行う。ステップＳ５０５において条件が満たされない場合、ステップＳ５０８へ移行する。
【００８２】
ステップＳ５０７では、ステップＳ５０６またはステップＳ５０９において使用段数４４の値が更新された後、判定回数、連続未使用回数及び不一致回数をそれぞれ０にセットする初期化を行い、ステップＳ６０へ移行する。
【００８３】
ステップＳ５０８は、使用段数４４の値の更新がない場合に行われる処理である。ステップＳ５０８では、判定回数を１増加させ、連続未使用回数については、判定段数と使用段数４４とが一致すれば初期化（０にセット）し、そうでなければ１増加させる。また、今回のカスケード型識別器３２０と学習識別器３３０の判定結果が不一致であれば不一致回数を１増加させ、そうでなければ不一致回数の値を変更しない。ステップＳ５０８の後ステップＳ６０へ移行する。
【００８４】
再び図６を参照し、ステップＳ６０では、すべての大きさの検出窓領域について検出処理が終了したか否かを判定する。すべての大きさの検出窓領域について調査が終わった場合はステップＳ７０に処理を移行させ、そうでない場合はステップＳ２０に処理を戻す。
【００８５】
ステップＳ７０では、ステップＳ５０で求めた判定情報履歴４０に記憶されている各検出窓領域の大きさ（幅と高さ）と中心座標及び学習識別器３３０の類似度から最終的に人が写っている位置を決定する。この処理は判定手段３８でなされる。判定処理は、図１０のフローチャートに沿って行われる。
【００８６】
ステップＳ７０１〜Ｓ７０２の処理はステップＳ５０で求めた判定情報履歴４０として記憶されているすべての検出窓領域について行う。ステップＳ７０１では、学習識別器３３０で求められた学習識別器３３０の類似度が閾値より大きいか否かを判定し、条件を満たす場合にはステップＳ７０２に移行し、そうでない場合には次の検出窓領域について判定を行う。ステップＳ７０２では、ステップＳ７０１で条件を満たした検出窓領域を人候補領域に追加する。
【００８７】
判定情報履歴４０に記憶された情報に対してステップＳ７０１〜Ｓ７０２を繰り返すことで求められた人候補領域は、図２に示すように、人が写っている領域の近くに領域２０３，２０４のように複数抽出される場合がある。ステップＳ７０３〜Ｓ７０５では、複数の人候補領域から人領域を最終的に選択する。
【００８８】
ステップＳ７０３では、人候補領域として抽出された検出窓領域の大きさと中心座標を用いて、一定以上（例えば、検出窓領域の面積の半分以上）の領域が重なっている人候補領域をグループとして纏める。ステップＳ７０４では、ステップＳ７０３で作成されたグループ毎に人候補領域の中で学習識別器３３０の類似度が一番高い検出窓領域を人領域として選択する。ステップＳ７０５では、ステップＳ７０４で選択された検出窓領域を人領域とし、ステップＳ８０に移行する。
【００８９】
ステップＳ８０では、ステップＳ７０において判定された人領域を基に、人領域が１つでもあれば、判定された人領域の検知窓情報を画像と共に異常信号として出力する。この処理は出力部５にてなされる。
【００９０】
監視カメラ設置時の初期設定の処理について以下に説明する。初期設定時には、監視カメラの撮像領域内に人がいないという仮定のもと、入力画像の分割領域ごとに、各強識別器に対応する「人以外」の類似度ヒストグラム４２の登録及び使用段数４４の初期値の登録を行う。初期設定処理は、監視カメラを設置してから予め定めた枚数の画像を処理して終了するものとする。
【００９１】
初期設定処理は、図６の検知処理時のフローチャートにおいてステップＳ７０及びＳ８０を除き、ステップＳ４０及びＳ５０を若干変更した処理となる。また、ステップＳ４０及びＳ５０の処理は、相違点のみを説明する。
【００９２】
ステップＳ４０では、図８においてステップＳ４０１からＳ４０５までの処理を行い、ステップＳ４０２の判定結果がＹＥＳである場合はステップＳ４０６〜Ｓ４０８の処理を行わず、ステップＳ５０へ移行する。なお、初期設定時には使用段数４４が決まっていないため、ステップＳ４０２では、予め記憶部４に記憶された使用可能な強識別器の個数の最大値（すなわち、強識別器の最大番号）を使用段数として用いて判定処理を行う。
【００９３】
初期設定時の識別器更新処理（ステップＳ５０）について、図１１を用いて説明する。
【００９４】
ステップＳ５５１において、ステップＳ４０において得られた判定段数までの強識別器の類似度を用いて、対応する強識別器の「人以外」の類似度ヒストグラム４２を更新する。更新処理後、ステップＳ５５２へ移行する。
【００９５】
ステップＳ５５２では、今回の処理がカスケード型識別器３２０における初めての判定処理であるか否かのチェックを行い、初めての判定処理であれば、ステップＳ５５４において、今回の判定段数を使用段数４４として記憶部４に記憶させる。初めての判定ではない場合はステップＳ５５３へ移行する。
【００９６】
ステップＳ５５３で、今回の判定段数が記憶部４に記憶された使用段数４４の値より大きければ、ステップＳ５５４において今回の判定段数を使用段数４４として記憶部４に記憶させる。今回の判定段数が記憶された使用段数４４の値以下の場合、処理はステップＳ６０に移行する。
【００９７】
ステップＳ５５２〜Ｓ５５４の処理により、初期設定が完了したカスケード型識別器３２０で使用された強識別器の段数の最大値が使用段数４４の初期値として設定される。
【００９８】
上述の実施の形態では、物体検出装置１の各部の機能を１つのコンピュータで実現する態様を説明したがこれに限定されるものではない。物体検出装置１の各部の機能は一般的なコンピュータをプログラムにより制御することによって実現できるものであり、これらの装置の各機能を適宜組み合わせて１つのコンピュータで処理させてもよいし、各機能をネットワーク等で接続された複数のコンピュータで分散処理させてもよい。
【符号の説明】
【００９９】
１  物体検出装置、２  画像取得部、３  信号処理部、４  記憶部、５  出力部、３０  検出窓領域選択手段、３２  検出窓制御手段、３４  固定識別器、３６  学習識別器、３７  識別器更新手段、３８  判定手段、３９  識別器設定手段、４０  判定情報履歴、４２  類似度ヒストグラム、４４  使用段数、３１０  検出窓切出手段、３２０  カスケード型識別器、３２１，３２２，３２３  強識別器、３３０  学習識別器、３３２  識別器更新手段、３３４  類似度管理手段。
【図１】
2010170199.tif 000005
【図２】
2010170199.tif 000006
【図３】
2010170199.tif 000007
【図４】
2010170199.tif 000008
【図５】
2010170199.tif 000009
【図６】
2010170199.tif 000010
【図７】
2010170199.tif 000011
【図８】
2010170199.tif 000012
【図９】
2010170199.tif 000013
【図１０】
2010170199.tif 000014
【図１１】
2010170199.tif 000015