(57)【要約】【課題】動体の検出精度を向上することが可能な技術を提供する。【解決手段】第１特定部３２は、第１検出頻度マップでの検出頻度が第１のしきい値以上の部分撮像領域を、動体が存在する可能性が高い第１領域として特定する。背景モデル更新部３５は、判定期間において入力される入力画像２００が用いられた動体検出部３１での動体の検出結果と、第１特定部３２で特定される第１領域とに基づいて、キャッシュモデル記憶部６内の背景画像情報候補を背景画像情報として背景モデル５００に登録するか否かを判定する。背景モデル更新部３５は、微動検出部３３で物体の微動が検出されたとき、入力画像における微動発生領域の画像から得られた画像情報であって、背景モデル５００に背景画像情報として登録されている画像情報を、当該背景モデル５００から削除する。【選択図】図２
2015158837.tif 000002
【特許請求の範囲】
【請求項１】
背景画像情報を含む背景モデルを記憶する第１記憶部と、
前記背景モデルと入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する動体検出部と、
前記動体検出部での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第１検出頻度マップを生成し、当該複数の部分撮像領域のうち、当該第１検出頻度マップでの当該検出頻度が第１のしきい値以上あるいは当該第１のしきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第１領域として特定する第１特定部と、
入力画像に基づいて前記撮像領域での物体の微動を検出する微動検出部と、
前記微動検出部で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第２領域を特定する第２特定部と、
第２記憶部と、
前記背景モデルを更新する背景モデル更新部と
を備え、
前記背景モデル更新部は、入力画像に含まれる、前記動体検出部が動体を検出した部分撮像領域の画像から得られた画像情報を背景画像情報候補として前記第２記憶部に記憶し、
前記背景モデル更新部は、その期間に入力される入力画像の枚数で表され、前記第１のしきい値よりも小さい判定期間において入力される入力画像が用いられた前記動体検出部での動体の検出結果と、前記第１特定部で特定される前記第１領域とに基づいて、前記第２記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定し、
前記背景モデル更新部は、前記微動検出部で物体の微動が検出されたとき、入力画像における前記第２領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する、動体検出装置。
【請求項２】
請求項１に記載の動体検出装置であって、
前記第１特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第１非検出頻度マップを生成し、
前記第１特定部は、前記複数の部分撮像領域のうち、前記第１非検出頻度マップでの前記非検出頻度が第２のしきい値以上あるいは当該第２のしきい値よりも大きい部分撮像領域についての、前記第１検出頻度マップの前記検出頻度及び前記第１非検出頻度マップの前記非検出頻度をクリアする、動体検出装置。
【請求項３】
請求項２に記載の動体検出装置であって、
前記第１特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第２検出頻度マップと、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第２非検出頻度マップとを生成し、
前記第１特定部は、前記複数の部分撮像領域のうち、前記第２非検出頻度マップでの前記非検出頻度が、前記第２のしきい値よりも大きい第３のしきい値以上あるいは当該第３のしきい値よりも大きい部分撮像領域についての、前記第２検出頻度マップの前記検出頻度及び前記第２非検出頻度マップの前記非検出頻度をクリアし、
前記第１特定部は、前記微動検出部で物体の微動が検出されたとき、前記第２領域についての前記第２検出頻度マップの前記検出頻度を、前記第１検出頻度マップに対して当該第２領域についての値としてコピーする、動体検出装置。
【請求項４】
請求項３に記載の動体検出装置であって、
前記撮像領域の明るさの変化を検出する検出部をさらに備え、
前記微動検出部は、前記検出部において前記撮像領域の明るさの変化が検出されたときには、物体の微動の検出を行わない、動体検出装置。
【請求項５】
請求項１乃至請求項４のいずれか一つに記載の動体検出装置であって、
前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像に含まれる動体領域に対してラベリング処理を行い、当該ラベリング処理によって得られたラベリング領域に基づいて前記撮像領域において物体の微動があるか否かを判断する、動体検出装置。
【請求項６】
請求項５に記載の動体検出装置であって、
前記微動検出部は、前記ラベリング領域についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する、動体検出装置。
【請求項７】
請求項１乃至請求項４のいずれか一つに記載の動体検出装置であって、
前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する、動体検出装置。
【請求項８】
（ａ）第１記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、
（ｂ）前記工程（ａ）での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第１検出頻度マップを生成する工程と、
（ｃ）前記複数の部分撮像領域のうち、前記第１検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第１領域として特定する工程と、
（ｄ）入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、
（ｅ）前記工程（ｄ）で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第２領域を特定する工程と、
（ｆ）入力画像に含まれる、前記工程（ａ）で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第２記憶部に記憶する工程と、
（ｇ）その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程（ａ）での動体の検出結果と、前記工程（ｃ）で特定される前記第１領域とに基づいて、前記第２記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、
（ｈ）前記工程（ｄ）で物体の微動が検出されたとき、入力画像における前記第２領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程と
を備える、動体検出方法。
【請求項９】
動体検出装置を制御するための制御プログラムであって、
前記動体検出装置に、
（ａ）第１記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、
（ｂ）前記工程（ａ）での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第１検出頻度マップを生成する工程と、
（ｃ）前記複数の部分撮像領域のうち、前記第１検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第１領域として特定する工程と、
（ｄ）入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、
（ｅ）前記工程（ｄ）で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第２領域を特定する工程と、
（ｆ）入力画像に含まれる、前記工程（ａ）で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第２記憶部に記憶する工程と、
（ｇ）その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程（ａ）での動体の検出結果と、前記工程（ｃ）で特定される前記第１領域とに基づいて、前記第２記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、
（ｈ）前記工程（ｄ）で物体の微動が検出されたとき、入力画像における前記第２領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程と
を実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動体の検出技術に関する。
【背景技術】
【０００２】
特許文献１及び非特許文献１〜３にも記載されているように、人等の動体の検出技術に関して従来から様々な技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４３０２号公報
【非特許文献】
【０００４】
【非特許文献１】K.Kim,T.Chalidabhongse,D.Harwood,and L.Davis,“Real-time foreground-background segmentation using codebook model”Real-Time Imaging,vol.11,no.3,pp.172-185,Jun.2005.
【非特許文献２】P.Guha,D.Palai,K.S.Venkatesh,and A.Mukerjee,“A Multiscale Co-linearity Statistic Based Approach To Robust Background Modeling.”ACCV,2006.
【非特許文献３】R.Mester,T.Aach,and L.Dumbgen,“Illumination-invariant change detection using a statistical colinearity criterion”Proceedings of the 23rd DAGM-Symposium on Pattern Recognition,Springer-Verlag(2001)170-177
【発明の概要】
【発明が解決しようとする課題】
【０００５】
動体を検出する際には、その精度の向上が望まれている。
【０００６】
そこで、本発明は上述の点に鑑みて成されたものであり、動体の検出精度を向上することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る動体検出装置の一態様は、背景画像情報を含む背景モデルを記憶する第１記憶部と、前記背景モデルと入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する動体検出部と、前記動体検出部での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第１検出頻度マップを生成し、当該複数の部分撮像領域のうち、当該第１検出頻度マップでの当該検出頻度が第１のしきい値以上あるいは当該第１のしきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第１領域として特定する第１特定部と、入力画像に基づいて前記撮像領域での物体の微動を検出する微動検出部と、前記微動検出部で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第２領域を特定する第２特定部と、第２記憶部と、前記背景モデルを更新する背景モデル更新部とを備え、前記背景モデル更新部は、入力画像に含まれる、前記動体検出部が動体を検出した部分撮像領域の画像から得られた画像情報を背景画像情報候補として前記第２記憶部に記憶し、前記背景モデル更新部は、その期間に入力される入力画像の枚数で表され、前記第１のしきい値よりも小さい判定期間において入力される入力画像が用いられた前記動体検出部での動体の検出結果と、前記第１特定部で特定される前記第１領域とに基づいて、前記第２記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定し、前記背景モデル更新部は、前記微動検出部で物体の微動が検出されたとき、入力画像における前記第２領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する。
【０００８】
また、本発明に係る動体検出装置の一態様では、前記第１特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第１非検出頻度マップを生成し、前記第１特定部は、前記複数の部分撮像領域のうち、前記第１非検出頻度マップでの前記非検出頻度が第２のしきい値以上あるいは当該第２のしきい値よりも大きい部分撮像領域についての、前記第１検出頻度マップの前記検出頻度及び前記第１非検出頻度マップの前記非検出頻度をクリアする。
【０００９】
また、本発明に係る動体検出装置の一態様では、前記第１特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第２検出頻度マップと、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第２非検出頻度マップとを生成し、前記第１特定部は、前記複数の部分撮像領域のうち、前記第２非検出頻度マップでの前記非検出頻度が、前記第２のしきい値よりも大きい第３のしきい値以上あるいは当該第３のしきい値よりも大きい部分撮像領域についての、前記第２検出頻度マップの前記検出頻度及び前記第２非検出頻度マップの前記非検出頻度をクリアし、前記第１特定部は、前記微動検出部で物体の微動が検出されたとき、前記第２領域についての前記第２検出頻度マップの前記検出頻度を、前記第１検出頻度マップに対して当該第２領域についての値としてコピーする。
【００１０】
また、本発明に係る動体検出装置の一態様では、前記撮像領域の明るさの変化を検出する検出部がさらに設けられ、前記微動検出部は、前記検出部において前記撮像領域の明るさの変化が検出されたときには、物体の微動の検出を行わない。
【００１１】
また、本発明に係る動体検出装置の一態様では、前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像に含まれる動体領域に対してラベリング処理を行い、当該ラベリング処理によって得られたラベリング領域に基づいて前記撮像領域において物体の微動があるか否かを判断する。
【００１２】
また、本発明に係る動体検出装置の一態様では、前記微動検出部は、前記ラベリング領域についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する。
【００１３】
また、本発明に係る動体検出装置の一態様では、前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する。
【００１４】
また、本発明に係る動体検出方法の一態様は、（ａ）第１記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、（ｂ）前記工程（ａ）での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第１検出頻度マップを生成する工程と、（ｃ）前記複数の部分撮像領域のうち、前記第１検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第１領域として特定する工程と、（ｄ）入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、（ｅ）前記工程（ｄ）で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第２領域を特定する工程と、（ｆ）入力画像に含まれる、前記工程（ａ）で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第２記憶部に記憶する工程と、（ｇ）その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程（ａ）での動体の検出結果と、前記工程（ｃ）で特定される前記第１領域とに基づいて、前記第２記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、（ｈ）前記工程（ｄ）で物体の微動が検出されたとき、入力画像における前記第２領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程とを備える。
【００１５】
また、本発明に係る制御プログラムの一態様は、動体検出装置を制御するための制御プログラムであって、前記動体検出装置に、（ａ）第１記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、（ｂ）前記工程（ａ）での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第１検出頻度マップを生成する工程と、（ｃ）前記複数の部分撮像領域のうち、前記第１検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第１領域として特定する工程と、（ｄ）入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、（ｅ）前記工程（ｄ）で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第２領域を特定する工程と、（ｆ）入力画像に含まれる、前記工程（ａ）で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第２記憶部に記憶する工程と、（ｇ）その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程（ａ）での動体の検出結果と、前記工程（ｃ）で特定される前記第１領域とに基づいて、前記第２記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、（ｈ）前記工程（ｄ）で物体の微動が検出されたとき、入力画像における前記第２領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程とを実行させるためのものである。
【発明の効果】
【００１６】
本発明によれば、動体の検出精度が向上する。
【図面の簡単な説明】
【００１７】
【図１】動体検出装置の構成を示す図である。
【図２】画像処理部の構成を示す図である。
【図３】撮像領域の一例を示す図である。
【図４】背景モデルの一例を示す図である。
【図５】コードワードの一例を示す図である。
【図６】動体検出装置の動作を示すフローチャートである。
【図７】動体検出装置の動作を示すフローチャートである。
【図８】動体検出装置の動作を示すフローチャートである。
【図９】動体検出装置の動作を説明するための図である。
【図１０】画像ベクトルと背景ベクトルとの関係を示す図である。
【図１１】検出頻度マップの一例を示す図である。
【図１２】非検出頻度マップの一例を示す図である。
【図１３】動体検出装置の動作を示すフローチャートである。
【図１４】動体検出装置の動作を示すフローチャートである。
【図１５】撮像領域において人が微動する様子を模式的に示す図である。
【図１６】マップ補正処理を説明するための図である。
【図１７】動体検出装置の動作を示すフローチャートである。
【図１８】撮像領域において検出対象物が存在する可能性が高い領域の一例を示す図である。
【図１９】動体検出結果の一例を示す図である。
【図２０】第１検出頻度マップの一例を示す図である。
【図２１】動体検出結果の一例を示す図である。
【図２２】動体検出結果の一例を示す図である。
【図２３】動体検出装置の動作を示すフローチャートである。
【図２４】微動検出処理を説明するための図である。
【図２５】微動検出処理を説明するための図である。
【図２６】動体検出装置の動作を示すフローチャートである。
【図２７】動体検出装置の動作を示すフローチャートである。
【図２８】変形例に係る動体検出装置の構成を示す図である。
【図２９】変形例に係る動体検出装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
＜動体検出装置の動作の概要＞
図１は動体検出装置１の構成を示すブロック図である。動体検出装置１は、入力される画像に基づいて、当該画像に写る撮像領域、つまり当該画像を撮像する撮像部の撮像領域（視野範囲）に存在する動体を検出する。
【００１９】
本実施の形態では、検出対象の動体は、例えば人である。動体検出装置１は、入力される画像に含まれる動体画像（動体を示す画像）を検出することによって、動体検出、つまり当該画像に写る撮像領域に存在する動体を検出する。
【００２０】
動体検出装置１の動作段階として、準備段階と実動作段階とが存在する。動体検出装置１は、準備段階において、時系列で撮像されかつ撮像された順で入力される複数枚の入力画像を用いて、背景モデルの生成処理を実行する。背景モデルは、同一のシーン（被写体）を撮影して得られた複数枚の入力画像に含まれる情報が集められて構成されたモデルである。背景モデルは、後述の動体検出処理において、時系列で撮像されかつ撮像された順で入力される各入力画像から動体画像を検出する際に利用される。なお、背景モデルの生成処理が実行される準備段階は「学習段階」とも呼ばれる。以後、背景モデルの生成で使用される入力画像を「基準画像」と呼び、動体画像の検出の対象となる入力画像を「検出対象画像」と呼ぶことがある。
【００２１】
動体検出装置１では、背景モデルの生成が完了すると、動作段階が準備段階から実動作段階へと移行する。動体検出装置１は、実動作段階において、入力画像に対して動体画像の検出を行う動体検出処理と、後述する第１検出頻度マップ、第２検出頻度マップ、第１非検出頻度マップ及び第２非検出頻度マップを更新するマップ更新処理と、物体の微動を検出する微動検出処理と、第１検出頻度マップを補正するマップ補正処理と、背景モデルを更新する背景モデル更新処理とを行う。なお、本実施の形態では、検出対象の動体は人であるが、人以外の動体、例えば人以外の動物であっても良い。
【００２２】
＜動体検出装置の構成＞
図１に示されるように、動体検出装置１は、画像入力部２と、画像処理部３と、検出結果出力部４と、背景モデル記憶部５と、キャッシュモデル記憶部６とを備えている。図２は画像処理部３の構成を示すブロック図である。
【００２３】
画像入力部２は、動体検出装置１の外部から入力される入力画像２００を画像処理部３に入力する。入力画像２００は撮像部で撮像された撮像画像である。画像入力部２に対しては、時系列で撮像された複数枚の入力画像２００が撮像された順で入力される。入力画像２００の大きさは、例えば、３２０画素×２４０画素（ＱＶＧＡ）となっている。
【００２４】
図３は、入力画像２００に写る撮像領域１０、つまり入力画像２００を撮像する撮像部の撮像領域（視野範囲）１０の一例を示す図である。図３に示される撮像領域１０には、被写体として会議室１００が含まれている。したがって、この場合には、動体検出装置１に入力される入力画像２００は、会議室１００を示す画像となる。会議室１００では、複数の机１０１と複数の椅子１０２が床の中央部を取り囲むように並べられており、複数の机１０１の外側が通路１０３となっている。そして、会議室１００では、壁の一部にカーテン１０４が設けられている。本実施の形態に係る動体検出装置１は、例えば、会議室１００を示す入力画像２００に対して動体画像の検出を行うことによって、会議室１００に存在する人を検出する。
【００２５】
画像処理部３は、画像入力部２から入力される入力画像２００に対して様々な画像処理を行う。画像処理部３は、ＣＰＵ３００と記憶部３１０を備えている。記憶部３１０は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等の、ＣＰＵ３００が読み取り可能な非一時的な記録媒体で構成されている。記憶部３１０には、動体検出装置１を制御するための制御プログラム３１１が記憶されている。ＣＰＵ３００が記憶部３１０内の制御プログラム３１１を実行することによって、画像処理部３には様々な機能ブロックが形成される。
【００２６】
なお記憶部３１０は、ＲＯＭ及びＲＡＭ以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。記憶部３１０は、例えば、小型のハードディスクドライブ及びＳＳＤ（Solid State Drive）等を備えていても良い。
【００２７】
図２に示されるように、画像処理部３には、背景モデル生成部３０、動体検出部３１、第１特定部３２、微動検出部３３、第２特定部３４及び背景モデル更新部３５等の複数の機能ブロックが形成される。これらの機能ブロックは、ＣＰＵがプログラムを実行することによって実現されるのではなく、論理回路を用いたハードウェア回路で実現されても良い。
【００２８】
背景モデル生成部３０は、画像入力部２から順次入力される複数枚の入力画像２００（複数枚の基準画像２００）を用いて、背景画像情報を含む背景モデル５００を生成する。背景モデル生成部３０によって生成された背景モデル５００は背景モデル記憶部５に記憶される。背景モデル更新部３５は、背景モデル記憶部５内の背景モデル５００の更新を行う。
【００２９】
動体検出部３１は、画像入力部２から入力される入力画像２００と、背景モデル記憶部５内の背景モデル５００とを用いて、入力画像２００中の動体画像を検出する。言い換えれば、動体検出部３１は、入力画像２００と背景モデル５００とを用いて、当該入力画像２００に写る撮像領域１０に存在する動体を検出する。
【００３０】
第１特定部３２は、動体検出部３１での動体検出の検出結果に基づいて、撮像領域１０において動体が存在する可能性が高い領域を特定する。具体的には、第１特定部３２は、動体検出部３１での検出結果に基づいて、検出頻度マップと非検出頻度マップを生成し、これらのマップを用いて撮像領域１０において動体が存在する可能性が高い領域を特定する。検出頻度マップは、撮像領域１０における複数の領域での動体の検出頻度の分布を示している。非検出頻度マップは、撮像領域１０における複数の領域での動体の非検出頻度の分布を示している。本実施の形態では、後述するように、２種類の検出頻度マップ（第１及び第２検出頻度マップ）と、２種類の非検出頻度マップ（第１及び第２非検出頻度マップ）が生成される。
【００３１】
微動検出部３３は、入力画像に基づいて、撮像領域１０での物体の微動を検出する。第２特定部３４は、微動検出部３３で物体の微動が検出されたとき、撮像領域１０において物体の微動が生じている領域を特定する。以後、当該領域を「微動発生領域」と呼ぶことがある。
【００３２】
背景モデル記憶部５は、背景モデル生成部３０で生成される背景モデル５００を記憶する。キャッシュモデル記憶部６は、後述するキャッシュモデルを記憶する。背景モデル記憶部５及びキャッシュモデル記憶部６のそれぞれは、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）またはハードディスク（ＨＤ）等の書き換え可能な記憶手段で構成される。なお本例では、背景モデル記憶部５とキャッシュモデル記憶部６とはハードウェア的に独立しているが、一つの記憶装置が有する記憶領域の一部を背景モデル記憶部５として使用し、当該記憶領域の他の一部をキャッシュモデル記憶部６として使用しても良い。
【００３３】
検出結果出力部４は、動体検出部３１での動体検出の検出結果を外部に出力する。検出結果出力部４は、例えば、撮像領域１０の様子、つまり撮像領域１０に存在する被写体（図３の例では会議室１００）の様子をリアルタイムで表示する表示部を備えており、当該表示部において、動体が検出された領域を色等で表示することによって、動体検出の検出結果を外部に出力する。また、検出結果出力部４は、検出結果を音声等の音で外部に出力しても良い。また、検出結果出力部４は、検出結果を示す信号を、外部装置に対して出力することによって、当該検出結果を外部に出力しても良い。この場合には、外部装置は、検出結果に応じた動作を実行する。例えば、外部装置は、警報を発生する。あるいは、撮像領域１０が図３の会議室１００である場合には、外部装置は、会議室１００の照明器具を制御して、人が存在する領域だけ明るくする。また、外部装置は、会議室１００の空調機を制御して、人が存在する領域だけ冷却したり、暖めたりする。
【００３４】
＜準備段階（背景モデル生成処理）＞
次に動体検出装置１の準備段階で行われる背景モデル生成処理について説明する。図４は背景モデル５００を説明するための図である。本実施の形態では、撮像領域１０において人が存在しないとき（会議室１００が利用されていないとき）に撮像部で撮像された入力画像２００が、背景モデル５００の生成で使用される基準画像２００となっている。背景モデル生成処理では、Ａ枚（Ａ≧２）の基準画像２００に基づいて背景モデル５００が生成される。
【００３５】
本実施の形態では、撮像領域１０は、複数の矩形の撮像ブロック（部分撮像領域）に分割される。入力画像２００に含まれる、ある撮像ブロックの画像を示す領域を「画像ブロック」と呼ぶと、入力画像２００は、撮像領域１０を構成する複数の撮像ブロックの画像をそれぞれ示す複数の画像ブロックで構成される。本実施の形態では、一つの画像ブロックの大きさは、例えば、３画素×３画素となっている。例えば、入力画像２００に、人の手を示す画像が含まれているとすると、当該画像には数個の画像ブロックが含まれる。以後、撮像ブロックと、入力画像２００における、当該撮像ブロックの画像を示す画像ブロックとに関して、当該撮像ブロックを、当該画像ブロックに対応する撮像ブロックと呼ぶことがある。
【００３６】
図４に示されるように、背景モデル５００には、複数の撮像ブロックＢＫにそれぞれ対応する複数のコードブック（Codebook）ＣＢが含まれる。各コードブックＣＢには、画像情報と、当該画像情報に関連する関連情報とを含むコードワード（Codeword）ＣＷが含まれている。コードブックＣＢに含まれるコードワードＣＷは、一枚の入力画像２００における、当該コードブックＣＢが対応する撮像ブロックＢＫの画像を示す画像ブロックに基づいて生成される。各コードブックＣＢには複数のコードワードＣＷが含まれている。以後、背景モデル５００中のコードワードＣＷに含まれる画像情報を「背景画像情報」と呼ぶことがある。
【００３７】
図４において砂地のハッチングが示されているコードブックＣＢには、３枚の基準画像２００ａ〜２００ｃに基づいてそれぞれ生成された３つのコードワードＣＷ１〜ＣＷ３が含まれている。コードブックＣＢに含まれるコードワードＣＷ１は、基準画像２００ａにおける、当該コードブックＣＢが対応する撮像ブロックＢＫの画像を示す画像ブロックに基づいて生成される。コードブックＣＢに含まれるコードワードＣＷ２は、基準画像２００ｂにおける、当該コードブックＣＢが対応する撮像ブロックＢＫの画像を示す画像ブロックに基づいて生成される。そして、コードブックＣＢに含まれるコードワードＣＷ３は、基準画像２００ｃにおける、当該コードブックＣＢが対応する撮像ブロックＢＫの画像を示す画像ブロックに基づいて生成される。
【００３８】
図５はコードワードＣＷを説明するための図である。コードワードＣＷには、当該コードワードＣＷを含むコードブックＣＢが対応する撮像ブロックの画像を示す画像ブロックの画像情報、つまり当該画像ブロックを構成する複数の画素の画素値ＰＶが、背景画像情報として含まれている。そして、コードワードＣＷには、関連情報として、最新一致時刻Ｔｅとコードワード生成時刻Ｔｉとが含まれている。後述するように、背景モデル５００に含まれるコードワードＣＷ中の画像情報については、検出対象画像２００から取得された画像情報と一致する否かが判定される。コードワードＣＷに含まれる最新一致時刻Ｔｅは、当該コードワードＣＷに含まれる画像情報と、検出対象画像２００から取得された画像情報とが一致すると判定された最新の時刻を示している。また、コードワードＣＷに含まれるコードワード生成時刻Ｔｉは、当該コードワードＣＷが生成された時刻を示している。
【００３９】
図６は、このような背景モデル５００が生成される背景モデル生成処理を示すフローチャートである。図６に示される背景モデル生成処理は、背景モデル記憶部５に背景モデル５００が記憶されていないときに実行される。
【００４０】
図６に示されるように、ステップｓ１において、背景モデル生成部３０は、画像入力部２から基準画像２００が画像処理部３に入力されると、ステップｓ２において、撮像領域１０のある撮像ブロックを注目撮像ブロックとし、注目撮像ブロックに対応するコードブックＣＢが背景モデル記憶部５に記憶されているか否かを判定する。
【００４１】
背景モデル生成部３０は、注目撮像ブロックに対応するコードブックＣＢが背景モデル記憶部５に記憶されていないと判定すると、ステップｓ３において、ステップｓ１で入力された基準画像２００に基づいて、注目撮像ブロックに対応するコードブックＣＢを生成して背景モデル記憶部５に記憶する。
【００４２】
具体的には、背景モデル生成部３０は、ステップｓ１で入力された基準画像２００における、注目撮像ブロックの画像を示す画像ブロックから画像情報を取得する。そして、背景モデル生成部３０は、取得した画像情報を背景画像情報として含むコードワードＣＷを生成し、当該コードワードＣＷを含むコードブックＣＢを背景モデル記憶部５に記憶する。このコードワードＣＷに含まれる最新一致時刻Ｔｅは、暫定的に、コードワード生成時刻Ｔｉと同じ時刻に設定される。
【００４３】
一方で、背景モデル生成部３０は、注目撮像ブロックに対応するコードブックＣＢが背景モデル記憶部５に記憶されていると判定すると、ステップｓ４において、ステップｓ１で入力された基準画像２００における、注目撮像ブロックの画像を示す画像ブロックから画像情報を取得する。そして、背景モデル生成部３０は、背景モデル記憶部５が記憶している、注目撮像ブロックに対応するコードブックＣＢに含まれる各コードワードＣＷ中の背景画像情報と、取得した画像情報とが一致するか否かを判定する。つまり、背景モデル生成部３０は、注目撮像ブロックに対応するコードブックＣＢに含まれるコードワードＣＷにおいて、取得した画像情報と一致する背景画像情報を含むコードワードＣＷが存在するか否かを判定する。
【００４４】
ステップｓ４での判定の結果、ステップｓ５において、注目撮像ブロックに対応するコードブックＣＢに含まれる各コードワードＣＷ中の背景画像情報と、取得した画像情報とが一致しない場合には、つまり、注目撮像ブロックに対応するコードブックＣＢに含まれるコードワードＣＷにおいて、取得した画像情報と一致する背景画像情報を含むコードワードＣＷが存在しない場合には、ステップｓ６において、背景モデル生成部３０は、ステップｓ４で基準画像２００から取得した画像情報を背景画像情報として含むコードワードＣＷを生成する。このコードワードＣＷに含まれる最新一致時刻Ｔｅは、暫定的に、コードワード生成時刻Ｔｉと同じ時刻に設定される。そして、背景モデル生成部３０は、生成したコードワードＣＷを、背景モデル記憶部５が記憶する、注目撮像ブロックに対応するコードブックＣＢに追加する。これにより、注目撮像ブロックに対応するコードブックＣＢには新しい背景画像情報が追加される。
【００４５】
一方で、ステップｓ５において、注目撮像ブロックに対応するコードブックＣＢに含まれるコードワードＣＷ中の背景画像情報と、取得した画像情報とが一致する場合には、つまり、注目撮像ブロックに対応するコードブックＣＢに含まれるコードワードＣＷにおいて、取得した画像情報と一致する背景画像情報を含むコードワードＣＷが存在する場合には、ステップｓ６は実行されずに、ステップｓ７が実行される。ステップｓ７において、背景モデル生成部３０は、撮像領域１０における全ての撮像ブロックについて処理が行われた否か、つまり、全ての撮像ブロックを注目撮像ブロックに設定したか否かを判定する。ステップｓ７での判定の結果、処理が行われていない撮像ブロックが存在する場合には、背景モデル生成部３０は、未だ処理が行われていない撮像ブロックを新たな注目撮像ブロックとして、ステップｓ２以降を実行する。
【００４６】
一方で、ステップｓ７での判定の結果、撮像領域１０における全ての撮像ブロックについて処理が行われている場合には、背景モデル生成部３０は、ステップｓ８において、Ａ枚の基準画像２００に対して同様の処理が行われたか否かを判定する。背景モデル生成部３０は、ステップｓ８での判定の結果、処理を行った基準画像２００の枚数がＡ枚よりも少ない場合には、ステップｓ１において画像処理部３に対して新たに入力される基準画像２００に対して、ステップｓ２以下の処理を実行する。背景モデル生成部３０は、ステップｓ８での判定の結果、処理を行った基準画像２００の枚数がＡ枚である場合には、背景モデル生成処理を終了する。これにより、上述のような背景モデル５００が背景モデル記憶部５内に生成される。
【００４７】
＜実動作段階＞
次に動体検出装置１の実動作段階での動作について説明する。図７は、動体検出装置１の実動作段階での概略動作を示すフローチャートである。動体検出装置１では、背景モデル生成処理が終了すると、図７に示される処理が実行される。
【００４８】
図７に示されるように、ステップｓ１１において画像入力部２から入力画像２００が画像処理部３に入力されると、当該入力画像２００を処理対象として、ステップｓ１２〜ｓ１６までの一連の処理が実行される。
【００４９】
ステップｓ１２において、画像処理部３は、処理対象の入力画像２００に対して動体画像の検出を行う動体検出処理を行う。そして、ステップｓ１３において、画像処理部３は、ステップｓ１２での動体検出処理の結果に基づいて、第１及び第２検出頻度マップと第１及び第２非検出頻度マップの更新を行うマップ更新処理を行う。そして、ステップｓ１４において、画像処理部３は、撮像領域での物体の微動を検出し、撮像領域において物体の微動が生じている領域（微動発生領域）を特定する微動検出処理を行う。その後、ステップｓ１５において、画像処理部３は、ステップｓ１４での処理の結果に基づいて、第１検出頻度マップの補正を行うマップ補正処理を行う。そして、画像処理部３は、ステップｓ１６において、補正後の第１検出頻度マップ等を用いて、背景モデル記憶部５内の背景モデル５００を更新する背景モデル更新処理を行う。
【００５０】
その後、ステップｓ１１において、画像入力部２から画像処理部３に新たな入力画像２００（新たな検出対象画像２００）が入力されると、当該入力画像２００を新たな処理対象として、ステップｓ１２〜ｓ１６までの一連の処理が実行される。その後、画像処理部３は同様に動作する。
【００５１】
このように、本実施の形態に係る動体検出装置１では、入力画像２００が入力されるたびに、動体検出処理、マップ更新処理、微動検出処理、マップ補正処理及び背景モデル更新処理がこの順番で実行される。
【００５２】
＜動体検出処理＞
次にステップｓ１２での動体検出処理について詳しく説明する。図８は動体検出処理を示すフローチャートである。図８に示されるように、ステップｓ１２１において、動体検出部３１は、撮像領域１０のある撮像ブロック（例えば、撮像領域１０における左上の撮像ブロック）を注目撮像ブロックとし、上述のステップｓ１１で入力された処理対象の入力画像２００（検出対象画像２００）における、注目撮像ブロックの画像を示す画像ブロック（以後、「注目画像ブロック」と呼ぶことがある）に対して動体画像の検出を行う。つまり、動体検出部３１は、注目撮像ブロックに動体が存在するか否かを検出する。
【００５３】
本実施の形態に係る動体検出では、入力画像２００中の注目画像ブロックから取得される画像情報と、背景モデル５００における、注目撮像ブロックに対応するコードブックＣＢに含まれる各コードワードＣＷ中の背景画像情報とが一致するか否かが判定されることによって、注目画像ブロックが動体画像であるか否かが判定される。以後、注目撮像ブロックに対応するコードブックＣＢを「注目コードブックＣＢ」と呼ぶことがある。また、注目コードブックＣＢに含まれるコードワードＣＷを「注目コードワードＣＷ」と呼ぶことがある。動体検出の具体的手法については後述する。
【００５４】
ステップｓ１２１が実行されると、ステップｓ１２２において、動体検出部３１は、ステップｓ１２１での動体検出の結果を記憶する。そして、動体検出部３１は、ステップｓ１２３において、撮像領域１０における全ての撮像ブロックについて処理が行われた否か、つまり、全ての撮像ブロックを注目撮像ブロックに設定したか否かを判定する。ステップｓ１２３での判定の結果、処理が行われていない撮像ブロックが存在する場合には、動体検出部３１は、未だ処理が行われていない撮像ブロックを新たな注目撮像ブロックとして、ステップｓ１２１以降を実行する。一方で、ステップｓ１２３での判定の結果、撮像領域１０における全ての撮像ブロックについて処理が行われている場合には、つまり、入力画像２００の全領域に対して動体画像の検出が完了している場合には、動体検出部３１は動体検出処理を終了する。これにより、動体検出部３１には、入力画像２００を構成する複数の画像ブロックに対する動体画像の検出の結果が記憶される。つまり、動体検出部３１には、撮像領域１０を構成する複数の撮像ブロックに対する動体検出の結果が記憶される。この検出結果は、検出結果出力部４に入力される。
【００５５】
＜動体検出の詳細＞
次にステップｓ１２１での動体検出の具体的手法について図９及び１０を用いて説明する。図９は、入力画像２００の注目画像ブロック及び背景モデル５００の注目コードワードＣＷのそれぞれからベクトルを抽出する様子を表した図である。図１０は、入力画像２００の注目画像ブロックから抽出されたベクトルと、背景モデル５００の注目コードワードＣＷから抽出されたベクトルとの関係を示す図である。
【００５６】
本実施の形態では、入力画像２００中の注目画像ブロックの画像情報がベクトルとして扱われる。また、背景モデル５００中の各注目コードワードＣＷについて、当該注目コードワードＣＷに含まれる背景画像情報がベクトルとして扱われる。そして、注目画像ブロックの画像情報についてのベクトルと、各注目コードワードＣＷの背景画像情報についてのベクトルとが、同じ方向を向いているか否かに基づいて、注目画像ブロックが動体画像であるか否かが判定される。この２種類のベクトルが同じ方向を向いている場合には、注目画像ブロックの画像情報と、各注目コードワードＣＷの背景画像情報とは一致すると考えることができる。したがって、この場合には、入力画像２００中の注目画像ブロックは、背景を示す画像と変わらず、動体画像ではないと判定される。一方、２種類のベクトルが同じ方向を向いていない場合には、注目画像ブロックの画像情報と、各注目コードワードＣＷの背景画像情報とは一致しないと考えることができる。したがって、この場合には、入力画像２００中の注目画像ブロックは、背景を示す画像ではなく、動体画像であると判定される。
【００５７】
具体的には、動体検出部３１は、入力画像２００中の注目画像ブロックに含まれる複数の画素の画素値を成分とした画像ベクトルｘｆを生成する。図９には、９個の画素を有する注目画像ブロック２１０の各画素の画素値を成分とした画像ベクトルｘｆが示されている。図９の例では、各画素は、Ｒ（赤）、Ｇ（緑）及びＢ（青）の画素値を有しているため、画像ベクトルｘｆは、２７個の成分で構成されている。
【００５８】
同様に、動体検出部３１は、背景モデル５００の注目コードブックＣＢに含まれる注目コードワードＣＷ中の背景画像情報を用いて、背景画像情報に関するベクトルである背景ベクトルを生成する。図９に示される注目コードワードＣＷの背景画像情報５１０には、９個の画素についての画素値が含まれている。したがって、当該９個の画素についての画素値を成分とした背景ベクトルｘｂが生成される。背景ベクトルｘｂについては、注目コードブックＣＢに含まれる複数のコードワードＣＷのそれぞれから生成される。したがって、一つの画像ベクトルｘｆに対して複数の背景ベクトルｘｂが生成される。
【００５９】
上述のように、画像ベクトルｘｆと各背景ベクトルｘｂとが同じ方向を向いている場合、入力画像２００中の注目画像ブロックは、背景を示す画像と変わらないことになる。しかしながら、画像ベクトルｘｆ及び各背景ベクトルｘｂには、ある程度のノイズ成分が含まれていると考えられることから、画像ベクトルｘｆと各背景ベクトルｘｂとが完全に同じ方向を向いていなくても、入力画像２００中の注目画像ブロックは背景を示す画像であると判定することができる。
【００６０】
そこで、本実施の形態では、画像ベクトルｘｆ及び各背景ベクトルｘｂに、ある程度のノイズ成分が含まれていることを考慮して、画像ベクトルｘｆと各背景ベクトルｘｂとが完全に同じ方向を向いていない場合であっても、入力画像２００中の注目画像ブロックは背景を示す画像であると判定する。
【００６１】
画像ベクトルｘｆ及び背景ベクトルｘｂにノイズ成分が含まれていると仮定すると、真のベクトルｕに対する画像ベクトルｘｆと背景ベクトルｘｂとの関係は、図１０のように表すことができる。本実施の形態では、画像ベクトルｘｆと背景ベクトルｘｂとが、どの程度同じ方向を向いているかを示す評価値として、以下の（１）で表される評価値Ｄ２を考える。
【００６２】
【数１】
2015158837.tif 000003
【００６３】
そして、行列Ｘを画像ベクトルｘｆと背景ベクトルｘｂとを用いて、式（２）のように表すと、評価値Ｄ２は、２×２行列ＸＸＴの非ゼロの最小固有値となる。したがって、評価値Ｄ２については解析的に求めることができる。なお、評価値Ｄ２が２×２行列ＸＸＴの非ゼロの最小固有値となることについては、上記の非特許文献３に記載されている。
【００６４】
【数２】
2015158837.tif 000004
【００６５】
上述のように、一つの画像ベクトルｘｆに対して複数の背景ベクトルｘｂが生成されることから、画像ベクトルｘｆと背景ベクトルｘｂとを用いて表される評価値Ｄ２の値も、背景ベクトルｘｂの数と同じ数だけ得られることになる。
【００６６】
入力画像２００中の注目画像ブロックが動体画像であるか否かの判定は、評価値Ｄ２の複数の値のうちの最小値Ｃと、評価値Ｄ２の複数の値についての平均値μ及び標準偏差σとを用いて表される、以下の式（３）で示される動体判定式が用いられる。この動体判定式はチェビシェフ（Chebyshev）の不等式と呼ばれる。
【００６７】
【数３】
2015158837.tif 000005
【００６８】
ここで、式（３）のｋは定数であって、入力画像２００を撮像する撮像部の撮像環境（撮像部が設置される環境）等に基づいて定められる値である。定数ｋは実験等によって決定される。
【００６９】
動体検出部３１は、動体判定式（不等式）を満たす場合、画像ベクトルｘｆと各背景ベクトルｘｂとが同じ方向を向いていないと考えて、注目画像ブロックは、背景を示す画像ではなく、動体画像であると判定する。一方で、動体検出部３１は、動体判定式を満たさない場合、画像ベクトルｘｆと各背景ベクトルｘｂとは同じ方向を向いていると考えて、注目画像ブロックは動体画像ではなく、背景を示す画像であると判定する。
【００７０】
このように、本実施の形態では、注目画像ブロックから得られた画像ベクトルの方向と、各注目コードワードＣＷから得られた背景ベクトルの方向とが、同じか否かに基づいて動体検出が行われているため、本実施の形態に係る動体検出手法は、日照変化あるいは照明変化などの撮像領域１０での明るさの変化に対して比較的頑健な動体検出手法である。以後、動体画像であると判定された画像ブロックを「動体画像ブロック」と呼ぶことがある。
【００７１】
＜検出頻度マップ及び非検出頻度マップ＞
図１１，１２は検出頻度マップ６００及び非検出頻度マップ６１０の一例をそれぞれ示す図である。検出頻度マップ６００には、撮像領域１０を構成する複数の撮像ブロックＢＫのそれぞれについての動体（検出対象物）７００の検出頻度６０１が含まれている。一方で、非検出頻度マップ６１０には、撮像領域１０を構成する複数の撮像ブロックＢＫのそれぞれについての動体（検出対象物）７００の非検出頻度６１１が含まれている。
【００７２】
検出頻度マップ６００では、それに含まれる複数の検出頻度６０１が行列状に配置されている。ある撮像ブロックＢＫについての動体７００の検出頻度６０１は、検出頻度マップ６００において、撮像領域１０での当該撮像ブロックＢＫの位置と同じ位置に配置されている。同様に、非検出頻度マップ６１０では、それに含まれる複数の非検出頻度６１１が行列状に配置されている。ある撮像ブロックＢＫについての動体７００の非検出頻度６１１は、非検出頻度マップ６１０において、撮像領域１０での当該撮像ブロックＢＫの位置と同じ位置に配置されている。
【００７３】
第１特定部３２は、入力画像２００に含まれるある画像ブロックが動体画像であると動体検出部３１で判定されると、つまり、当該画像ブロックに対応する撮像ブロックに動体７００が存在すると判定されると、検出頻度マップ６００における、当該画像ブロックに対応する撮像ブロックＢＫについての動体７００の検出頻度６０１を１つ増加する。
【００７４】
また第１特定部３２は、入力画像２００に含まれるある画像ブロックが動体画像でないと動体検出部３１で判定されると、つまり、当該画像ブロックに対応する撮像ブロックに動体７００が存在しないと判定されると、非検出頻度マップ６１０における、当該画像ブロックに対応する撮像ブロックＢＫについての動体７００の非検出頻度６１１を１つ増加する。
【００７５】
図１１，１２には、撮像領域１０を構成する複数の撮像ブロックＢＫのうち、中央の下側の２つの撮像ブロックＢＫにおいて動体（人）７００が静止している場合に生成される検出頻度マップ６００及び非検出頻度マップ６１０の一例が示されている。図１１に示される検出頻度マップ６００では、動体７００が存在する２つの撮像ブロックＢＫについての動体７００の検出頻度６０１が大きくなっている。一方で、図１２に示される非検出頻度マップ６１０では、動体７００が存在する２つの撮像ブロックＢＫ以外の各撮像ブロックＢＫについての動体７００の非検出頻度６１１が大きくなっている。
【００７６】
このような検出頻度マップ６００では、動体７００が頻繁に検出される撮像ブロックＢＫについての検出頻度６０１は大きくなる。したがって、検出頻度マップ６００を参照することによって、撮像領域１０において動体７００が存在する可能性が高い領域を特定することができる。撮像領域１０において、例えば、人の通路が存在する場合には、当該通路に対応する撮像ブロックについての検出頻度が大きくなり、当該撮像ブロックに人が存在する可能性が高いことが理解できる。
【００７７】
また非検出頻度マップ６１０では、動体７００があまり検出されない撮像ブロックＢＫについての非検出頻度６１１は大きくなる。したがって、非検出頻度マップ６１０を参照することによって、撮像領域１０において動体７００が存在しない可能性が高い領域を特定することができる。
【００７８】
本実施の形態では、後述するように、非検出頻度マップ６１０において、ある撮像ブロックＢＫについての非検出頻度６１１がクリア用しきい値よりも大きくなると、検出頻度マップ６００において、当該ある撮像ブロックＢＫについての検出頻度６０１がクリアされて零に設定される。このとき、非検出頻度マップ６１０における当該撮像ブロックＢＫについての非検出頻度６１１もクリアされて零に設定される。
【００７９】
また本実施の形態では、２種類の検出頻度マップ６００と２種類の非検出頻度マップ６１０が使用される。具体的には、互いに対を成す第１検出頻度マップ６００及び第１非検出頻度マップ６１０と、互いに対を成す第２検出頻度マップ６００及び第２非検出頻度マップ６１０とが使用される。以後、第１及び第２検出頻度マップ６００をそれぞれ「第１検出頻度マップ６００ａ」及び「第２検出頻度マップ６００ｂ」と呼び、第１及び第２非検出頻度マップ６１０をそれぞれ「第１非検出頻度マップ６１０ａ」及び「第２非検出頻度マップ６１０ｂ」と呼ぶ。
【００８０】
第１非検出頻度マップ６１０ａにおいて、ある撮像ブロックＢＫについての非検出頻度６１１が第１のクリア用しきい値よりも大きくなると、第１検出頻度マップ６００ａにおいて、当該ある撮像ブロックＢＫについての検出頻度６０１がクリアされて零に設定される。このとき、第１非検出頻度マップ６１０ａにおける当該撮像ブロックＢＫについての非検出頻度６１１もクリアされて零に設定される。また、第２非検出頻度マップ６１０ｂにおいて、ある撮像ブロックＢＫについての非検出頻度６１１が第２のクリア用しきい値よりも大きくなると、第２検出頻度マップ６００ｂにおいて、当該ある撮像ブロックＢＫについての検出頻度６０１がクリアされて零に設定される。このとき、第２非検出頻度マップ６１０ｂにおける当該撮像ブロックＢＫについての非検出頻度６１１もクリアされて零に設定される。
【００８１】
本実施の形態では、第２のクリア用しきい値が、第１のクリア用しきい値よりも大きく設定される。例えば、第２のクリア用しきい値は、第１のクリア用しきい値の数十倍に設定される。具体的な数値例としては、第１のクリア用しきい値は例えば“５０”に設定され、第２のクリア用しきい値は例えば“１０００”に設定される。これにより、第２検出頻度マップ６００ｂの検出頻度がクリアされる間隔は、第１検出頻度マップ６００ａの検出頻度がクリアされる間隔よりも長くなる。つまり、第２検出頻度マップ６００ｂの検出頻度は、第１検出頻度マップ６００ａの検出頻度よりもクリアされにくくなる。
【００８２】
＜マップ更新処理＞
次にステップｓ１３でのマップ更新処理について説明する。図１３はマップ更新処理を示すフローチャートである。ステップｓ１２において、処理対象の入力画像２００に対して動体検出処理が行われると、第１特定部３２は、ステップｓ１３１において、処理対象の入力画像２００を構成する複数の画像ブロックのうち、動体検出部３１で動体画像であると判定された画像ブロックを特定する。つまり、第１特定部３２は、処理対象の入力画像２００を構成する複数の画像ブロックにそれぞれ対応する複数の撮像ブロックにおいて、動体検出部３１が動体が存在すると判定した撮像ブロックを特定する。
【００８３】
次にステップｓ１３２において、第１特定部３２は、第１及び第２検出頻度マップ６００ａ，６００ｂのそれぞれにおいて、動体が存在すると判定された撮像ブロックでの動体の検出頻度を１つ増加させる。そして、ステップｓ１３３において、第１特定部３２は、第１及び第２非検出頻度マップ６１０ａ，６１０ｂのそれぞれにおいて、動体が存在すると判定された撮像ブロック以外の撮像ブロック、つまり動体が存在しないと判定された撮像ブロックでの動体の非検出頻度を１つ増加させる。なお、ステップｓ１３２，ｓ１３３の実行順序を入れ替えても良い。
【００８４】
次にステップｓ１３４において、第１特定部３２は第１検出頻度マップ６００ａのクリア処理を行う。具体的には、第１特定部３２は、まず、第１非検出頻度マップ６１０ａにおいて、第１のクリア用しきい値よりも大きい非検出頻度が存在するかを判定する。そして、第１特定部３２は、第１のクリア用しきい値よりも大きい非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第１検出頻度マップ６００ａでの検出頻度をクリアして零に設定する。このとき、第１特定部３２は、第１非検出頻度マップ６１０ａでの当該非検出頻度をクリアして零に設定する。なお、第１特定部３２は、第１非検出頻度マップ６１０ａにおいて、第１のクリア用しきい値以上の非検出頻度が存在するかを判定し、当該非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第１検出頻度マップ６００ａでの検出頻度をクリアして零に設定しても良い。
【００８５】
ステップｓ１３４が実行されると、第１特定部３２はステップｓ１３５において第２検出頻度マップ６００ｂのクリア処理を行う。具体的には、第１特定部３２は、まず、第２非検出頻度マップ６１０ｂにおいて、第２のクリア用しきい値よりも大きい非検出頻度が存在するかを判定する。そして、第１特定部３２は、第２のクリア用しきい値よりも大きい非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第２検出頻度マップ６００ｂでの検出頻度をクリアして零に設定する。このとき、第１特定部３２は、第２非検出頻度マップ６１０ｂでの当該非検出頻度をクリアして零に設定する。なお、第１特定部３２は、第２非検出頻度マップ６１０ｂにおいて、第２のクリア用しきい値以上の非検出頻度が存在するかを判定し、当該非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第２検出頻度マップ６００ｂでの検出頻度をクリアして零に設定しても良い。また、ステップｓ１３４，ｓ１３５の実行順序は入れ替えても良い。
【００８６】
以後、第１特定部３２は、次の新たな処理対象の入力画像２００に対して動体検出処理が実行されるたびに、その動体検出処理の結果に基づいてステップｓ１３１〜ｓ１３５を実行する。
【００８７】
＜微動検出処理＞
次にステップｓ１４での微動検出処理について説明する。図１４は微動検出処理を示すフローチャートである。図１４に示されるように、ステップｓ１４１において、微動検出部３３は、処理対象の入力画像２００に基づいて、撮像領域１０での物体の微動を検出する検出処理を行う。本実施の形態では、微動検出部３３は、例えば、動体検出部３１での検出結果に基づいて、処理対象の入力画像２００に含まれる動体領域（動体画像であると判定された全領域）に対してラベリング処理を行い、当該ラベリング処理によって得られたラベリング領域に基づいて撮像領域１０において物体の微動があるか否かを判断する。
【００８８】
ステップｓ１４１において、撮像領域１０での物体の微動が検出されなければ、微動検出処理は終了する。一方で、ステップｓ１４１において、撮像領域１０での物体の微動が検出されれば、ステップｓ１４２において、第２特定部３４は、第２検出頻度マップ６００ｂを用いて、撮像領域１０において物体の微動が生じている領域（微動発生領域）を特定する。具体的には、第２特定部３４は、撮像領域１０を構成する複数の撮像ブロックＢＫにおいて、物体の微動が発生している撮像ブロックＢＫを特定する。
【００８９】
ここで、人等の動体は、静止しているといっても完全に静止していることはほとんど無く、微動することがある。例えば、机に座っている人や、通路で立ち止まって他の人と話をしている人は、その全体的な位置はほとんど変化しないものの（巨視的にはほとんど静止しているものの）、手（腕や手の指）、頭、体、脚等が微動する。図１５は、撮像領域１０において人７０１が微動する様子を模式的に示す図である。一方で、椅子、机等の背景となる物体は、移動することはあるものの、移動した後においてはほぼ完全に静止する。
【００９０】
本実施の形態では、撮像領域１０において物体の微動が検出されたときに微動発生領域を特定し、当該微動発生領域を、検出対象である動体が撮像領域１０において存在している領域と見なしている。図１５には、微動発生領域７５０が斜線で示されている。なお、微動検出処理の詳細については後述する。
【００９１】
＜マップ補正処理＞
次にステップｓ１５でのマップ補正処理について説明する。マップ補正処理では、微動検出部３３で物体の微動が検出されると、第１特定部３２が、第２特定部３４で特定された微動発生領域についての第２検出頻度マップ６００ｂの検出頻度を、第１検出頻度マップ６００ａに対して当該微動発生領域についての値としてコピーするコピー処理を行う。このコピー処理によって、第１検出頻度マップ６００ａが補正される。図１６は当該コピー処理の一例を示す図である。
【００９２】
図１６に示される第２検出頻度マップ６００ｂは、上述の図１５に示される例に対応している。また、図１６に示される補正前の第１検出頻度マップ６００ａも上述の図１５に示される例に対応している。図１６に示される第２検出頻度マップ６００ｂにおいて太線で囲まれる検出頻度６０１は、図１５に示される微動発生領域７５０での動体の検出頻度である。また、図１６に示される補正前の第１検出頻度マップ６００ａにおいて太線で囲まれる検出頻度６０１は、図１５に示される微動発生領域７５０での動体の検出頻度である。
【００９３】
上述のように、第１のクリア用しきい値は小さく設定されることから、第１検出頻度マップ６００ａにおける、ある撮像ブロックＢＫについての検出頻度は、当該撮像ブロックＢＫに動体が存在しなくなると、すぐにクリアされる。したがって、図１６に示されるように、補正前の第１検出頻度マップ６００ａにおける、微動発生領域７５０についての検出頻度は比較的小さい値を示す。よって、補正前の第１検出頻度マップ６００ａにおいては、人が存在する撮像ブロックＢＫについての検出頻度が小さくなり、当該第１検出頻度マップ６００ａから、人が存在する可能性が高い領域を適切に特定できない可能性がある。
【００９４】
一方で、第２のクリア用しきい値は大きく設定されることから、第２検出頻度マップ６００ｂにおける、ある撮像ブロックＢＫについての検出頻度は、当該撮像ブロックＢＫに動体が存在しなくなっても、すぐにはクリアされない。したがって、図１６に示されるように、第２検出頻度マップ６００ｂにおける、微動発生領域７５０についての検出頻度は比較的大きい値を示す。
【００９５】
そこで、本実施の形態では、図１６に示されるように、第１特定部３２は、微動発生領域７５０についての第２検出頻度マップ６００ｂの検出頻度（太線で囲まれた検出頻度）を、第１検出頻度マップ６００ａに対して当該微動発生領域７５０についての値としてコピーする。これにより、補正後の第１検出頻度マップ６００ａにおいては人が存在する撮像ブロックＢＫについての検出頻度が大きくなり、当該第１検出頻度マップ６００ａから、人が存在する可能性が高い領域を適切に特定することができる。
【００９６】
本実施の形態では、第１特定部３２は、補正後の第１検出頻度マップ６００ａにおいて、検出頻度がしきい値よりも大きい検出頻度を特定する。そして、第１特定部３２は、しきい値よりも大きい検出頻度に対応する撮像ブロックＢＫを、撮像領域１０において動体が存在する可能性が高い領域とする。つまり、第１特定部３２は、補正後の第１検出頻度マップ６００ａにおいて、撮像ブロックＢＫについて動体の検出頻度がしきい値よりも大きい場合には、当該撮像ブロックＢＫには動体が存在する可能性が高いと判定する。なお、第１特定部３２は、しきい値以上の検出頻度に対応する撮像ブロックＢＫを、撮像領域１０において動体が存在する可能性が高い領域としても良い。以後、補正後の第１検出頻度マップ６００ａの検出頻度と比較されるしきい値を「判定用しきい値」と呼ぶ。
【００９７】
＜背景モデル更新処理＞
次にステップｓ１６での背景モデル更新処理について説明する。背景モデル更新処理では、キャッシュモデルを記憶するキャッシュモデル記憶部６が使用される。キャッシュモデルには、背景モデル５００に登録される背景画像情報の候補である背景画像情報候補が含められる。
【００９８】
ここで、撮像領域では、日照変化あるいは照明変化などによって、明るさが変化することがある。撮像領域での明るさが変化すると、入力画像２００の画像情報が変化することから、動体検出部３１は、入力画像２００に含まれる、背景を示す画像ブロックを誤って動体画像であると判定する可能性がある。したがって、動体検出部３１において動体画像あると判定された画像ブロックの画像情報が、実際には背景の画像情報である可能性がある。
【００９９】
そこで、本実施の形態では、背景モデル更新部３５は、動体検出部３１において動体画像であると判定された画像ブロックの画像情報を背景画像情報候補として、いったんキャッシュモデルに登録する。そして、背景モデル更新部３５は、登録判定期間に入力される複数枚の入力画像２００に基づいて、キャッシュモデルに登録した背景候補画像情報が、背景の画像情報であるか否かを判定する。背景モデル更新部３５は、キャッシュモデルに登録した背景画像情報候補が背景の画像情報であると判定すると、当該背景画像情報候補を背景画像情報として背景モデル５００に登録する。つまり、背景モデル更新部３５は、登録判定期間に入力される入力画像２００に基づいて、キャッシュモデル記憶部６に記憶した背景画像情報候補を背景画像情報として背景モデル５００に登録するか否かを判定する。
【０１００】
図１７は背景モデル更新処理を示すフローチャートである。図１７に示されるように、ステップｓ１６１において、背景モデル更新部３５は、撮像領域のある撮像ブロックを注目撮像ブロックとし、上述のステップｓ１１で入力された処理対象の入力画像２００における、注目撮像ブロックの画像を示す画像ブロック（注目画像ブロック）が動体検出部３１において動体画像であると判定されたか否かを判定する。ステップｓ１６１において、注目画像ブロックが動体検出部３１において動体画像ではないと判定されたと判断されると、つまり、注目画像ブロックの画像情報が、背景モデル５００中の各注目コードワードＣＷの背景画像情報と一致すると判定されると、背景モデル更新部３５はステップｓ１６２を実行する。
【０１０１】
ステップｓ１６２では、背景モデル更新部３５は、注目画像ブロックの画像情報と一致すると判定された背景画像情報を含む、背景モデル５００中のコードワードＣＷの最新一致時刻Ｔｅを現在時刻に変更する。
【０１０２】
一方で、ステップｓ１６１において、注目画像ブロックが動体検出部３１において動体画像であると判定されたと判断されると、背景モデル更新部３５はステップｓ１６３を実行する。ステップｓ１６３では、キャッシュモデルの更新が行われる。具体的には、背景モデル更新部３５は、注目画像ブロックの画像情報が、キャッシュモデル記憶部６内のキャッシュモデルに含まれる各注目コードワードＣＷに含まれていない場合には、当該画像情報を背景画像情報候補として含むコードワードＣＷを生成してキャッシュモデル内の注目コードブックＣＢに登録する。このコードワードＣＷには、画像情報（背景画像情報候補）以外にも、最新一致時刻Ｔｅ及びコードワード生成時刻Ｔｉが含まれている。ステップｓ１６３で生成されたコードワードＣＷに含まれる最新一致時刻Ｔｅは、暫定的に、コードワード生成時刻Ｔｉと同じ時刻に設定される。また背景モデル更新部３５は、注目画像ブロックの画像情報が、キャッシュモデル記憶部６内のキャッシュモデルに含まれる注目コードワードＣＷに含まれている場合には、つまり、注目画像ブロックの画像情報と一致する背景画像情報候補を含む注目コードワードＣＷがキャッシュモデルに含まれている場合には、キャッシュモデルにおける、当該背景画像情報候補を含むコードワードＣＷ中の最新一致時刻Ｔｅを現在時刻に変更する。
【０１０３】
このように、ステップｓ１６３では、不足している画像情報を含むコードワードＣＷのキャッシュモデルへの追加、あるいはキャッシュモデル中のコードワードＣＷの最新一致時刻Ｔｅの更新が行われる。
【０１０４】
なお、ステップｓ１６３において、背景モデル更新部３５は、キャッシュモデル記憶部６内のキャッシュモデルに、注目撮像ブロックに対応するコードブックＣＢが登録されていない場合には、注目画像ブロックの画像情報を背景画像情報候補として含むコードワードＣＷを生成し、当該コードワードＣＷを含むコードブックＣＢを生成してキャッシュモデルに登録する。
【０１０５】
ステップｓ１６２あるいはステップｓ１６３が実行されると、ステップｓ１６４において、背景モデル更新部３５は、撮像領域における全ての撮像ブロックについて処理が行われた否か、つまり、全ての撮像ブロックを注目撮像ブロックに設定したか否かを判定する。ステップｓ１６４において、処理が行われていない撮像ブロックが存在すると判定された場合には、背景モデル更新部３５は、未だ処理が行われていない撮像ブロックを新たな注目撮像ブロックとして、ステップｓ１６１以降を実行する。一方で、ステップｓ１６４において、撮像領域における全ての撮像ブロックについて処理が行われたと判定されると、背景モデル更新部３５はステップｓ１６５を実行する。
【０１０６】
ステップｓ１６５では、キャッシュモデルに含まれる、最新一致時刻Ｔｅが所定期間更新されていないコードワードＣＷが削除される。つまり、キャッシュモデル中のコードワードＣＷに含まれる画像情報が、ある程度の期間、入力画像２００から取得された画像情報と一致しない場合には、当該コードワードＣＷが削除される。コードワードＣＷに含まれる画像情報が、背景の画像情報である場合には、つまり入力画像２００に含まれる、背景を示す画像から取得された画像情報である場合には、当該コードワードＣＷ中の最新一致時刻Ｔｅは頻繁に更新されることから、最新一致時刻Ｔｅが所定期間更新されていないコードワードＣＷに含まれる画像情報については、入力画像２００に含まれる動体画像から取得された画像情報である可能性が高いと考えることができる。最新一致時刻Ｔｅが所定期間更新されていないコードワードＣＷがキャッシュモデルから削除されることによって、動体画像の画像情報がキャッシュモデルから削除される。以後、この所定期間を「削除判定用期間」と呼ぶことがある。削除判定用期間は、撮像領域での明るさの変化、及びポスターの設置あるいは机の配置変更などの環境の変化等による画像情報の変化と、検出対象とする人等の動体が動くときに生じる画像情報の変化とを区別するために予め設定される期間である。例えば、入力画像２００を撮像する撮像部の撮像フレームレートが３０ｆｐｓであり、撮像領域１０が会議室１００（図４参照）であるとすると、削除判定用期間は、数フレーム〜数十フレーム分の入力画像２００が入力される期間に設定される。
【０１０７】
ステップｓ１６５において、キャッシュモデルに含まれる、最新一致時刻Ｔｅが削除判定用期間更新されていないコードワードＣＷが削除されると、背景モデル更新部３５はステップｓ１６６を実行する。ステップｓ１６６では、背景モデル更新部３５は、キャッシュモデルに登録されているコードワードＣＷのうち、キャッシュモデルに登録されてから登録判定期間経過しているコードワードＣＷを特定する。ステップｓ１６３では、コードワードＣＷが生成されると、当該コードワードＣＷはすぐにキャッシュメモリに登録されることから、コードワードＣＷがキャッシュモデル内に登録された時刻として、当該コードワードＣＷに含まれるコードワード生成時刻Ｔｉを使用することができる。
【０１０８】
登録判定期間は削除判定用期間よりも大きな値に設定される。登録判定期間は、削除判定用期間よりも例えば数倍程度大きな値に設定される。本実施の形態では、登録判定期間はフレーム数で表されるものとする。つまり、登録判定期間は、その期間に入力される入力画像２００の枚数で表されるものとする。登録判定期間が例えば“５０”であるとすると、登録判定期間は、５０フレーム分の入力画像２００（５０枚の入力画像２００）が入力される期間となる。
【０１０９】
ステップｓ１６６が実行されると、ステップｓ１６７において、補正後の第１検出頻度マップ６００ａが用いられた背景モデル登録判定処理が行われる。背景モデル登録判定処理では、ステップｓ１６６で特定されたコードワードＣＷを、背景モデル記憶部５内の背景モデル５００に登録するか否かが決定される。以下に背景モデル登録判定処理について詳細に説明する。
【０１１０】
背景モデル登録判定処理では、まず第１特定部３２が、上述のようにして、補正後の第１検出頻度マップ６００ａを用いて、撮像領域１０において動体が存在する可能性が高い領域を特定する。
【０１１１】
図１８は補正後の第１検出頻度マップ６００ａの一例を示す図である。判定用しきい値＝１００とすると、図１８に示される補正後の第１検出頻度マップ６００ａでは、一番右の列の下から一行目と二行目の２つの検出頻度が判定用しきい値よりも大きくなっている。したがって、撮像領域１０において、一番右の列の下から一行目と二行目の撮像ブロックＢＫから成る領域（斜線で示された領域）が、撮像領域１０において動体が存在する可能性が高い領域１２０となる。
【０１１２】
なお、第１特定部３２は、補正後の第１検出頻度マップ６００ａにおいて、判定用しきい値よりも大きい検出頻度が存在しない場合には、撮像領域１０において動体が存在する可能性が高い領域が存在しないと判定する。
【０１１３】
第１特定部３２において、撮像領域１０において動体が存在する可能性が高い領域が特定されると、背景モデル更新部３５は、ステップｓ１６６で特定された各コードワードＣＷについて、当該コードワードＣＷを背景モデル５００に登録するか否かを、第１特定部３２の特定結果に基づいて決定する。
【０１１４】
具体的には、背景モデル更新部３５は、ステップｓ１６６で特定されたコードワードＣＷに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、第１特定部３２で特定された、撮像領域１０において動体が存在する可能性が高い領域に含まれる場合には、つまり、当該撮像ブロックに動体が存在する可能性が高い場合には、当該コードワードＣＷを背景モデル５００に登録しないと決定する。
【０１１５】
一方で、背景モデル更新部３５は、ステップｓ１６６で特定されたコードワードＣＷに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、第１特定部３２で特定された、撮像領域１０において動体が存在する可能性が高い領域に含まれない場合には、つまり、当該撮像ブロックに動体が存在する可能性が高くない場合には、当該コードワードＣＷを背景モデル５００に登録すると決定する。
【０１１６】
なお、第１特定部３２において、撮像領域１０において動体が存在する可能性が高い領域が存在しないと判定された場合には、背景モデル更新部３５は、ステップｓ１６６で特定されたコードワードＣＷのすべてを背景モデル５００に登録すると決定する。
【０１１７】
背景モデル更新部３５は、背景モデル５００に登録すると決定されたコードワードＣＷを、背景モデル５００内の当該コードワードＣＷに対応するコードブロックＣＢに登録する。そして、背景モデル更新部３５は、背景モデル５００に登録したコードワードＣＷをキャッシュモデルから削除する。
【０１１８】
上記の説明から理解できるように、本実施の形態では、背景モデル更新部３５は、登録判定期間において入力される入力画像２００が用いられた動体検出部３１での動体の検出結果に基づいて、キャッシュメモリに登録したコードワードＣＷを背景モデル５００に登録するか否かを判定している。つまり、背景モデル更新部３５は、登録判定期間において入力される入力画像２００が用いられた動体検出部３１での動体の検出結果に基づいて、キャッシュメモリに登録した背景画像情報候補を背景画像情報として背景モデル５００に登録するか否かを判定している。これにより、動体検出部３１において動体画像であると誤って判定された画像ブロックの画像情報を、背景画像情報として背景モデル５００に適切に登録することができる。よって、背景モデル５００を適切に更新することができ、動体検出部３１での動体検出の精度が向上する。
【０１１９】
また、本実施の形態とは異なり、キャッシュモデルに登録されているコードワードＣＷのうち、キャッシュモデルに登録されてから登録判定期間経過しているコードワードＣＷを無条件で背景モデル５００に登録する場合には、キャッシュモデルに登録された、動体画像の画像情報を含むコードワードＣＷが背景モデル５００に登録される可能性がある。具体的には、撮像領域において動体が一時的に静止している場合には、撮像領域における、当該動体が存在する撮像ブロックの画像を示す画像ブロックの画像情報が変化しにくい。したがって、キャッシュモデルに登録された、当該動体を示す動体画像の画像情報を含むコードワードＣＷが、キャッシュモデルから長時間削除されずに、最終的には背景モデル５００に登録される可能性がある。これにより、動体検出部３１での動体検出の精度が劣化する可能性がある。
【０１２０】
そこで、本実施の形態では、キャッシュモデルに登録されてから登録判定期間経過しているコードワードＣＷを無条件で背景モデル５００に登録するのではなく、上述のように、補正後の第１検出頻度マップ６００ａを用いて当該コードワードＣＷを背景モデル５００に登録するか否かを決定している。これにより、動体画像の画像情報を含むコードワードＣＷが誤って背景モデル５００に登録されることを抑制することができる。以下にこの点について詳細に説明する。
【０１２１】
上述のように、第１特定部３２は、補正後の第１検出頻度マップ６００ａを用いて、撮像領域１０において動体が存在する可能性が高い撮像ブロックを特定している。入力画像２００に含まれる、動体が存在する可能性が高い撮像ブロックの画像を示す画像ブロックの画像情報については、動体画像の画像情報である可能性が高い。したがって、キャッシュモデルに登録されてから登録判定期間経過しているコードワードＣＷであっても、当該コードワードＣＷに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、動体が存在する可能性が高い撮像ブロックであれば、当該コードワードＣＷの画像情報は動体画像の画像情報である可能性が高い。よって、本実施の形態のように、キャッシュモデルに登録されてから登録判定期間経過しているコードワードＣＷであっても、当該コードワードＣＷに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、動体が存在する可能性が高い撮像ブロックであれば、当該コードワードＣＷを背景モデル５００に追加しないことによって、動体画像の画像情報を含むコードワードＣＷが誤って背景モデル５００に追加されることを抑制することができる。
【０１２２】
このように、本実施の形態では、背景モデル更新部３５が、登録判定期間において入力される入力画像２００が用いられた動体検出部３１での動体の検出結果と、第１特定部３２で特定される、撮像領域１０において動体が存在する可能性が高い領域とに基づいて、キャッシュメモリに登録した背景画像情報候補を背景画像情報として背景モデル５００に登録するか否かを判定しているため、動体検出部３１での動体検出の精度を向上することができる。
【０１２３】
ステップｓ１６７が終了すると、ステップｓ１６８において、背景モデル更新部３５は、背景モデル５００に含まれるコードワードＣＷにおいて、入力画像２００の画像情報と所定期間にわたって一致しなかった背景画像情報を含むコードワードＣＷを削除する。つまり、背景モデル更新部３５は、背景モデル５００に含まれる、最新一致時刻Ｔｅが所定期間更新されていないコードワードＣＷを削除する。これにより、撮像領域１０において、時系列的な撮像環境の変化により既に背景ではなくなった撮像ブロックの画像から取得された画像情報を含むコードワードＣＷを背景モデル５００から削除することができる。よって、背景モデル５００の情報量を低減することができる。
【０１２４】
ステップｓ１６８が終了すると、ステップｓ１６９において、背景モデル更新部３５は、ステップｓ１４において微動検出部３３が物体の微動を検出したか否かを判断する。ステップｓ１６９において、微動検出部３３が物体の微動を検出していないと判断されると、背景モデル更新処理は終了する。
【０１２５】
一方で、ステップｓ１６９において、微動検出部３３が物体の微動を検出したと判断されると、ステップｓ１７０において、背景モデル更新部３５は、ステップｓ１４で特定された微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル５００に登録されている画像情報を、当該背景モデル５００から削除する。具体的には、背景モデル更新部３５は、微動発生領域に含まれる各撮像ブロックについて、背景モデル５００に登録されている、当該撮像ブロックに対応するコードブックに含まれるコードワードのうち、それに含まれる最新一致時刻Ｔｅが比較的新しいコードワードを削除する。例えば、背景モデル更新部３５は、微動発生領域に含まれる各撮像ブロックについて、背景モデル５００に登録されている、当該撮像ブロックに対応するコードブックに含まれるコードワードのうち、それに含まれる最新一致時刻Ｔｅが現在時刻よりも数フレーム以内にあるコードワードを削除する。ステップｓ１７０が終了すると、背景モデル更新処理が終了する。
【０１２６】
このような背景モデルの更新処理を行うことによって、撮像領域１０での明るさの変化等の撮像環境の変化が生じた場合であっても、撮像環境の変化に追従した背景モデル５００を用いて動体検出を行うことができる。よって、動体検出の精度が向上する。
【０１２７】
＜登録判定期間と第１検出頻度マップに関する判定用しきい値との関係＞
本実施の形態では、登録判定期間は、撮像領域において動体が存在する可能性が高い領域を特定する際に使用される判定用しきい値よりも小さく設定されている。例えば、登録判定期間は“５０”に設定され、判定用しきい値は“１００”に設定される。
【０１２８】
ここで、本実施の形態とは異なり、登録判定期間が判定用しきい値よりも大きい場合について考える。この場合には、撮像領域において椅子や机等の静止物体が初めて現れたとき、当該静止物体についての画像情報は背景モデル５００に登録されていないことから、当該静止物体の画像は動体画像として判定され、当該静止物体についての画像情報はキャッシュモデルに一旦登録される。その後、当該静止物体の画像は、動体画像であると判定され続けると、登録判定期間が経過する前に、当該静止物体が存在する撮像ブロックについての第１検出頻度マップ６００ａの検出頻度が判定用しきい値を越えることになる。これにより、当該静止物体が存在する撮像ブロックは、動体が存在する可能性が高い領域として判定される。そうすると、キャッシュモデルに登録されている、当該静止物体についての画像情報は、登録判定期間を経過したとしても、背景モデル５００には登録されなくなる。よって、当該静止物体の画像はいつまでも動体画像として判定され、動体検出の精度が劣化する可能性がある。
【０１２９】
一方で、本実施の形態のように、登録判定期間が判定用しきい値よりも小さい場合には、静止物体が存在する撮像ブロックについての第１検出頻度マップ６００ａの検出頻度が判定用しきい値を越える前に、登録判定期間が経過することから、静止物体についての画像情報が背景画像情報として背景モデル５００に登録される。よって、静止物体の画像はいつまでも動体画像であると判定されることを抑制することができ、動体検出の精度を向上することができる。
【０１３０】
本実施の形態のように、静止物体の画像がいつまでも動体画像であると判定されることを抑制するために、登録判定期間を判定用しきい値よりも小さく設定すると、動体画像の画像情報が誤って背景モデル５００に登録されることがある。
【０１３１】
例えば、ある動体が撮像ブロックに初めて現れた場合、当該動体についての画像情報は背景モデル５００に登録されていないことから、当該撮像ブロックに対応する画像ブロックは動体画像として判定され、当該画像ブロックから得られた画像情報（以後、「第１画像情報」と呼ぶ）はキャッシュモデルに一旦登録される。その後、当該撮像ブロックに対応する画像ブロックが動体画像であると判定され続けると、当該撮像ブロックについての第１検出頻度マップ６００ａの検出頻度が判定用しきい値を越える前に、登録判定期間が経過して、キャッシュモデル内の第１画像情報（動体画像の画像情報）が背景画像情報として誤って背景モデル５００に登録される。以後、当該撮像ブロックに対応する画像ブロックは動体画像でないと判定され、動体検出の精度が劣化する可能性がある。
【０１３２】
そこで、本実施の形態では、上述のステップｓ１６９において物体の微動が検出されたと判定された場合には、ステップｓ１７０において、微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル５００に登録されている画像情報を当該背景モデル５００から削除している。微動発生領域は、撮像領域において動体が存在する領域であると考えることができることから、微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル５００に登録されている画像情報（上記の例では、対応する最新一致時刻Ｔｅが比較的新しい画像情報）を当該背景モデル５００から削除することによって、背景画像情報として誤って背景モデル５００に登録された、動体画像から得られた画像情報を当該背景モデル５００から削除することができる。よって、登録判定期間を判定用しきい値よりも小さく設定したことに起因して動体検出の精度が劣化するということを抑制することができる。
【０１３３】
＜検出頻度マップのクリア処理のメリットについて＞
第１検出頻度マップ６００ａに含まれる検出頻度は、ステップｓ１２での動体検出処理において、当該検出頻度に対応する撮像ブロックでの動体の存在が検出されるたびに増加する。したがって、検出頻度をクリアしない場合には、撮像領域でのレイアウトの変更等によって現在は動体が存在する可能性は高くない撮像ブロックについての検出頻度が判定用しきい値よりも大きい状態が発生する可能性が高くなる。
【０１３４】
一方で、ある撮像ブロックについて、動体が存在する可能性が高い状態からそうではない状態へ遷移すると、第１非検出頻度マップ６１０ａでの当該撮像ブロックの非検出頻度が大きくなる。
【０１３５】
そこで、本実施の形態では、上述のマップ更新処理のステップｓ１３４において、第１非検出頻度マップ６１０ａにおいて第１のクリア用しきい値よりも大きい非検出頻度に対応する撮像ブロックについての第１検出頻度マップ６００ａでの検出頻度をクリアしている。これにより、現在は動体が存在する可能性が高くない撮像ブロックについての検出頻度が判定用しきい値よりも大きい状態が発生することを抑制することができる。したがって、第１検出頻度マップ６００ａを用いて撮像領域１０において動体が存在する可能性が高い領域を正確に特定することができる。よって、動体画像の画像情報が背景モデル５００に登録されることをさらに抑制することができる。その結果、動体検出の精度がさらに向上する。
【０１３６】
なお、第２検出頻度マップ６００ｂにおいても、撮像領域１０でのレイアウトの変更等によって現在は動体が存在する可能性は高くない撮像ブロックについての検出頻度が大きい状態が発生することを抑制するために、上述のステップｓ１３５において、第２検出頻度マップ６００ｂの検出頻度を、第２非検出頻度マップ６１０ｂを用いてクリアしている。
【０１３７】
＜マップ補正処理のメリットについて＞
第１非検出頻度マップ６１０ａの非検出頻度と比較される第１のクリア用しきい値が大きい場合には、撮像領域１０でのレイアウトの変更等によって現在は動体が存在する可能性は高くない撮像ブロックについての検出頻度がなかなかクリアされないことから、当該検出頻度が判定用しきい値よりも大きい状態が発生する可能性が高くなる。したがって、このような状態の発生を抑制するためには、第１のクリア用しきい値はできる限り小さい方が好ましい。
【０１３８】
一方で、第１のクリア用しきい値が小さく設定されると、第１検出頻度マップ６００ａにおける、ある撮像ブロックＢＫについての検出頻度は、当該撮像ブロックＢＫに動体が存在しなくなるとすぐにクリアされる。したがって、上述のように、第１検出頻度マップ６００ａ（補正前の第１検出頻度マップ６００ａ）においては、微動が生じる人が存在する撮像ブロックＢＫについての検出頻度が小さくなり、当該第１検出頻度マップ６００ａから、人が存在する可能性が高い領域を適切に特定できない可能性がある。
【０１３９】
そこで、本実施の形態では、上述のステップｓ１５において、微動発生領域についての第２検出頻度マップ６００ｂの検出頻度を、第１検出頻度マップ６００ａに対して当該微動発生領域についての値としてコピーしている。これにより、第１のクリア用しきい値が小さく設定されたとしても、補正後の第１検出頻度マップ６００ａにおいては、人が存在する撮像ブロックＢＫについての検出頻度が大きくなり、補正後の第１検出頻度マップ６００ａから、人が存在する可能性が高い領域を適切に特定することができる。よって、撮像領域において動体が存在する可能性が高い領域を適切に特定することができる。その結果、動体検出の精度がより向上する。
【０１４０】
以上のように、本実施の形態に係る動体検出装置１では、背景モデル更新部３５が、登録判定期間において入力される入力画像２００が用いられた動体検出部３１での動体の検出結果と、第１特定部３２で特定される、撮像領域１０において動体が存在する可能性が高い領域とに基づいて、キャッシュメモリに登録した背景画像情報候補を背景画像情報として背景モデル５００に登録するか否かを判定しているため、動体検出部３１での動体検出の精度を向上することができる。
【０１４１】
また、本実施の形態では、登録判定期間が判定用しきい値よりも小さく設定されていることから、入力画像２００に含まれる、静止物体の画像がいつまでも動体画像であると判定されることを抑制することができる。一方で、本実施の形態では、微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル５００に登録されている画像情報が当該背景モデル５００から削除されることから、背景画像情報として誤って背景モデル５００に登録された、動体画像から得られた画像情報を当該背景モデル５００から削除することができる。よって、動体検出の精度がさらに向上する。
【０１４２】
図１９は動体検出部３１での動体検出の結果の一例を示す図である。図１９には、動体検出部３１が入力画像２００から検出した動体領域８００が入力画像２００に重ねて示されている。図１９に示される入力画像２００には、被写体の画像として、床９１０に複数のダンボール９２０と複数の椅子９３０が配置された部屋９００の画像が含まれている。部屋９００の壁９４０には図示しない窓が設けられている。部屋９００には二人の人９９０ａ，９９０ｂが存在している。図１９の例では、部屋９００に存在する人９９０ａ，９９０ｂのそれぞれが、動体領域８００として適切に検出されている。
【０１４３】
図２０は、部屋９００において、人９９０ａ，９９０ｂが図１９に示される位置で静止している場合の補正後の第１検出頻度マップ６００ａを示す図である。図２０では床９１０及び壁９４０が破線で示されている。図２０では、理解し易いように、検出頻度の大きさを例えば第１段階から第３段階の３段階に分けて補正後の第１検出頻度マップ６００ａを示している。図２０に示される補正後の第１検出頻度マップ６００ａにおいては、検出頻度が、最も大きい第３段階に属する領域については左上がりのハッチングが示されており、２番目に大きい第２段階に属する領域については右上がりのハッチングが示されている。そして、図２０に示される補正後の第１検出頻度マップ６００ａにおいては、検出頻度が、最も小さい第１段階に属する領域についてはハッチングが示されていない。図２０に示される補正後の第１検出頻度マップ６００ａにおいては、撮像領域１０における、人９９０ａ，９９０ｂが存在する領域についての検出頻度が大きくなっている。
【０１４４】
図２１は、本実施の形態とは異なり、背景モデル５００の更新に第１検出頻度マップ６００ａが使用されない場合での動体検出部３１での動体検出の結果の一例を示す図である。図２１には、動体検出部３１が入力画像２００から検出した動体領域８００が入力画像２００に重ねて示されている。図２１に示される入力画像２００では、二人の人９９０ａ，９９０ｂが二つの椅子９３０にそれぞれ座っている。図２１に示される動体検出結果では、人９９０ａは動体領域８００として検出されているものの、人９９０ｂは動体領域８００として検出されていない。
【０１４５】
図２２は、本実施の形態での動体検出結果の一例を示す図である。図２２に示されるように、背景モデル５００の更新に補正後の第１検出頻度マップ６００ａが使用された場合には、人９９０ａ，９９０ｂのそれぞれが動体領域８００として適切に検出されている。
【０１４６】
＜微動検出処理の詳細について＞
以下に、微動検出処理についての３つの具体例について説明する。
【０１４７】
＜第１の例＞
第１の例では、物体の微動の検出にラベリング処理が使用される。図２３は、微動検出処理の第１の例を示すフローチャートである。
【０１４８】
図２３に示されるように、第１の例では、ステップｓ２４１において、微動検出部３３は、ステップｓ１２での動体検出処理の結果に基づいて、処理対象の入力画像２００を構成する複数の画像ブロックにおいて動体画像であると判断された画像ブロック（動体画像ブロック）から成る動体領域を特定する。
【０１４９】
次にステップｓ２４２において、微動検出部３３は、処理対象の入力画像２００に含まれる動体領域に対して４連結あるいは８連結等を用いたラベリング処理を行う。これにより、隣接する複数の動体画像ブロックが連結して一つのラベリング領域となる。動体領域は少なくとも一つのラベリング領域で構成される。動体領域に含まれるラベリング領域は、動体領域に含まれる独立領域（島領域）であるとも言える。以後、当該ラベリング領域を「動体ラベリング領域」と呼ぶ。
【０１５０】
次にステップｓ２４３において、微動検出部３３は、ステップｓ２４２で得られた少なくとも一つの動体ラベリング領域において、面積が小さい動体ラベリング領域が存在するか否かを判断する。具体的には、微動検出部３３は、ステップｓ２４２で得られた少なくとも一つの動体ラベリング領域において、それに含まれる画素の数が所定数よりも小さい動体ラベリング領域が存在するか否かを判断する。撮像領域において物体の微動が生じている場合には、当該撮像領域の画像を示す入力画像２００に含まれる動体領域に対してラベリング処理を行うと、面積が小さい動体ラベリング領域が得られる。したがって、ステップｓ２４２で得られた少なくとも一つの動体ラベリング領域において、面積が小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定できる。
【０１５１】
微動検出部３３は、面積が小さい動体ラベリング領域、つまりそれに含まれる画素の数が所定数よりも小さい動体ラベリング領域が存在しない場合には、ステップｓ２４４において、撮像領域において物体の微動が発生していないと判断する。ステップｓ２４４において、撮像領域で物体の微動が発生していないと判断されると、微動検出処理は終了する。
【０１５２】
一方で、微動検出部３３は、面積が小さい動体ラベリング領域が存在する場合には、ステップｓ２４５において、撮像領域において物体の微動が発生していると判断する。
【０１５３】
なお、あまりにも小さい動体ラベリング領域、例えば数画素程度しか含まれない動体ラベリング領域はノイズによって発生したと考えることができる。したがって、微動検出部３３は、ステップｓ２４２で得られた少なくとも一つの動体ラベリング領域において、それに含まれる画素の数が第１所定数よりも小さく、第２所定数（＜第１所定数）よりも大きいラベリング領域が存在する場合に、撮像領域において物体の微動が発生していると判断しても良い。第２所定数は例えば“１０”未満に設定される。
【０１５４】
ステップｓ２４５が実行されると、第２特定部３４は、ステップｓ２４６において、第２検出頻度マップ６００ｂを２値化して２値化マップを生成する。つまり、第２特定部３４は、第２検出頻度マップ６００ｂに含まれる各検出頻度としきい値とを比較して、しきい値よりも大きい検出頻度を例えば“１”に置き換え、しきい値以下の検出頻度を例えば“０”に置き換えて２値化マップを生成する。以後、２値化マップにおける、“１”を示す領域を「第１領域」と呼ぶ。第１領域は、第２検出頻度マップ６００ｂにおいて、検出頻度が比較的大きい領域である。
【０１５５】
次にステップｓ２４７において、第２特定部３４は、２値化マップの第１領域に対して４連結あるいは８連結等を用いたラベリング処理を行う。これにより、２値化マップの第１領域は、少なくとも一つのラベリング領域に分けられる。以後、当該ラベリング領域を「頻度ラベリング領域」と呼ぶ。頻度ラベリング領域は、第２検出頻度マップ６００ｂにおいて検出頻度が比較的大きい一塊の領域（独立領域あるいは島領域）である。
【０１５６】
次にステップｓ２４８において、第２特定部３４は、ステップｓ２４７で得られた少なくとも一つの頻度ラベリング領域に基づいて、撮像領域での微動発生領域を特定する。具体的には、第２特定部３４は、頻度ラベリング領域に対応する撮像ブロックが、ステップｓ２４３で特定された、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを含む場合には、当該頻度ラベリング領域に対応する撮像ブロックを微動発生領域とする。
【０１５７】
なお、第２特定部３４は、ステップｓ２４７で得られた少なくとも一つの頻度ラベリング領域の中に、それに対応する撮像ブロックが、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを含むような頻度ラベルリング領域が存在しない場合には、面積が小さい動体ラベリング領域に対応する撮像ブロックを微動発生領域とする。
【０１５８】
また、第２特定部３４は、ステップｓ２４３において、面積が小さい動体ラベリング領域が複数特定された場合には、複数の当該動体ラベリング領域のそれぞれについて、当該動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域が存在するか否かを判定する。
【０１５９】
図２４は入力画像２００の動体領域に対するラベリング処理の結果の一例を示す図である。図２４の例では、複数の画像ブロック２１１から成る入力画像２００中の動体領域は２つの動体ラベリング領域２２０ａ，２２０ｂに分けられている。そして、動体ラベリング領域２２０ａが、面積の小さい動体ラベリング領域となっている。また図２４には、面積の小さい動体ラベリング領域２２０ａに対応する２つの撮像ブロックＢＫａが斜線で示されている。
【０１６０】
図２５は２値化マップ６５０の第１領域に対するラベリング処理の結果の一例を示す図である。図２５の例では、２値化マップ６５０の第１領域は２つの頻度ラベリング領域６６０ａ，６６０ｂに分けられている。また図２５には、頻度ラベリング領域６６０ａに対応する４つの撮像ブロックＢＫｂが斜線で示されている。
【０１６１】
ここで、ステップｓ２４２でのラベリング処理の結果、図２４に示される、面積の小さい動体ラベリング領域２２０ａが得られ、ステップｓ２４７でのラベリング処理の結果、図２５に示される頻度ラベリング領域６６０ａ，６６０ｂが得られたとする。この場合には、頻度ラベリング領域６６０ａ，６６０ｂのうち、頻度ラベリング領域６６０ａに対応する４つの撮像ブロックＢＫｂが、面積が小さい動体ラベリング領域２２０ａに対応する２つの撮像ブロックＢＫａのすべてを含んでいることから、ステップｓ２４８では、頻度ラベリング領域６６０ａに対応する４つの撮像ブロックＢＫｂが微動発生領域とされる。
【０１６２】
このように第１の例では、撮像領域での物体の微動が検出されると、第２検出頻度マップ６００ｂを２値化して得られる２値化マップの第１領域に対してラベリング処理が行われている。そして、当該ラベリング処理によって得られた頻度ラベリング領域のうち、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域に対応する撮像ブロックが、撮像領域において物体の微動が生じている領域とされている。
【０１６３】
検出頻度がクリアされにくい第２検出頻度マップ６００ｂでは、物体の微動が発生している撮像ブロックに対応する検出頻度は大きな値を示す。したがって、第２検出頻度マップ６００ｂを２値化することによって得られた２値化マップでは、“１”を示す第１領域が、物体の微動が発生している撮像ブロックに対応する可能性が高い。
【０１６４】
一方で、第２検出頻度マップ６００ｂの検出頻度はクリアされにくいことから、第２検出頻度マップ６００ｂにおいては、物体の微動が過去には発生していたものの、現在は発生していない撮像ブロックに対応する検出頻度も大きな値を示すことがある。したがって、２値化マップの第１領域には、物体の微動が発生していない撮像ブロックに対応する領域が含まれる可能性がある。
【０１６５】
よって、２値化マップの第１領域に対応する撮像ブロックを無条件に微動発生領域とすると、正確な微動発生領域を特定することが難しくなる。
【０１６６】
面積が小さい動体ラベリング領域に対応する撮像ブロックでは、物体の微動が発生しており、互いに隣接する複数の撮像ブロックに渡って存在する物体が微動する場合には、当該複数の撮像ブロックについての第２検出頻度マップ６００ｂの検出頻度は大きな値を示す。したがって、２値化マップの第１領域（２値化マップにおいて検出頻度が大きい領域）のうち、面積が小さい動体ラベリング領域に対応する部分を含む独立領域、言い換えれば、面積が小さい動体ラベリング領域に対応する部分を含む頻度ラベリング領域については、物体の微動が発生している撮像ブロックに対応した領域であると考えることができる。
【０１６７】
そこで、本例では、上記のように、２値化マップの第１領域に対してラベリング処理を行い、それによって得られた頻度ラベリング領域（検出頻度が大きい一塊の領域）のうち、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域に対応する撮像ブロックを微動発生領域としている。
【０１６８】
＜第２の例＞
第２の例では、物体の微動の検出に動きベクトルが使用される。動きベクトルは「オプティカルフロー」あるいは「速度ベクトル」とも呼ばれる。図２６は、微動検出処理の第２の例を示すフローチャートである。
【０１６９】
図２６に示されるように、第２の例では、ステップｓ２５１において、微動検出部３３は、ステップｓ１２での動体検出処理の結果に基づいて、処理対象の入力画像２００に含まれる各動体画像ブロックについての動きベクトルを求める。この動きベクトルは、処理対象の入力画像２００と、それよりも一つ前の入力画像２００とを用いて、例えばブロックマッチング法によって求めることができる。
【０１７０】
次にステップｓ２５２において、微動検出部３３は、処理対象の入力画像２００において、同一あるいは近似する動きベクトルを有し、かつ隣接する複数の動体画像ブロックを特定する。そして、微動検出部３３は、特定した当該複数の動体画像ブロックから成る領域を、同一の物体を示す同一物体領域とする。ここでは、少なくとも一つの同一物体領域が求められる。つまり、処理対象の入力画像２００中の動体領域には、少なくとも一つの同一物体領域が含まれている。
【０１７１】
次にステップｓ２５３において、微動検出部３３は、ステップｓ２５２で求めた少なくとも一つの同一物体領域において、面積が小さい同一物体領域が存在するか否かを判断する。具体的には、微動検出部３３は、ステップｓ２５２で求めた少なくとも一つの同一物体領域において、それに含まれる画素の数が所定数よりも小さい同一物体領域が存在するか否かを判断する。撮像領域において物体の微動が生じている場合には、当該撮像領域の画像を示す入力画像２００中の動体領域には、面積が小さい同一物体領域が生じることから、ステップｓ２５２で得られた少なくとも一つの同一物体領域において、面積が小さい同一物体領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定できる。
【０１７２】
微動検出部３３は、面積が小さい同一物体領域、つまりそれに含まれる画素の数が所定数よりも小さい同一物体領域が存在しない場合には、ステップｓ２５４において、撮像領域において物体の微動が発生していないと判断する。ステップｓ２５４において、撮像領域において物体の微動が発生していないと判断されると、微動検出処理は終了する。
【０１７３】
一方で、微動検出部３３は、面積が小さい同一物体領域が存在する場合には、ステップｓ２５５において、撮像領域において物体の微動が発生していると判断する。
【０１７４】
なお、あまりにも小さい同一物体領域はノイズによって発生したと考えることができる。したがって、第１の例と同様に、微動検出部３３は、ステップｓ２５２で得られた少なくとも一つの同一物体領域において、それに含まれる画素の数が第１所定数よりも小さく、第２所定数よりも大きい同一物体領域が存在する場合に、撮像領域において物体の微動が発生していると判断しても良い。
【０１７５】
ステップｓ２５５が実行されると、第２特定部３４は、ステップｓ２５６において、上記のステップｓ２４６と同様に、第２検出頻度マップ６００ｂを２値化して２値化マップを生成する。
【０１７６】
次にステップｓ２５７において、第２特定部３４は、上記のステップｓ２４７と同様に、２値化マップの第１領域に対して４連結あるいは８連結等を用いたラベリング処理を行う。これにより、２値化マップの第１領域は、少なくとも一つの頻度ラベリング領域に分けられる。
【０１７７】
次にステップｓ２５８において、第２特定部３４は、ステップｓ２５７で得られた少なくとも一つの頻度ラベリング領域に基づいて、撮像領域での微動発生領域を特定する。具体的には、第２特定部３４は、頻度ラベリング領域に対応する撮像ブロックが、ステップｓ２５３で特定された、面積が小さい同一物体領域に対応する撮像ブロックのすべてを含む場合には、当該頻度ラベリング領域に対応する撮像ブロックを微動発生領域とする。
【０１７８】
なお、第２特定部３４は、ステップｓ２５７で得られた少なくとも一つの頻度ラベリング領域の中に、それに対応する撮像ブロックが、面積が小さい同一物体領域に対応する撮像ブロックのすべてを含むような頻度ラベリング領域が存在しない場合には、面積が小さい同一物体領域に対応する撮像ブロックを微動発生領域とする。
【０１７９】
また、第２特定部３４は、ステップｓ２５３において、面積が小さい同一物体領域が複数特定された場合には、複数の当該同一物体領域のそれぞれについて、当該同一物体領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域が存在するか否かを判定する。
【０１８０】
ここで、上記のように、第２検出頻度マップ６００ｂを２値化することによって得られた２値化マップでは、“１”を示す第１領域が、物体の微動が発生している撮像ブロックに対応する可能性が高い。一方で、２値化マップの第１領域には、物体の微動が発生していない撮像ブロックに対応する領域が含まれる可能性もある。したがって、２値化マップの第１領域に対応する撮像ブロックを無条件に微動発生領域とすると、正確な微動発生領域を特定することが難しくなる。
【０１８１】
面積が小さい同一物体領域に対応する撮像ブロックでは、物体の微動が発生しており、互いに隣接する複数の撮像ブロックに渡って存在する物体が微動する場合には、当該複数の撮像ブロックについての第２検出頻度マップ６００ｂの検出頻度は大きな値を示す。したがって、２値化マップの第１領域のうち、面積が小さい同一物体領域に対応する部分を含む独立領域、言い換えれば、面積が小さい同一物体領域に対応する部分を含む頻度ラベリング領域については、物体の微動が発生している撮像ブロックに対応した領域であると考えることができる。
【０１８２】
そこで、本例では、上記のように、２値化マップの第１領域に対してラベリング処理を行い、それによって得られた頻度ラベリング領域のうち、面積が小さい同一物体領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域に対応する撮像ブロックを微動発生領域としている。
【０１８３】
＜第３の方法＞
第３の例では、物体の微動の検出にラベリング処理と動きベクトルとが使用される。図２７は、微動検出処理の第３の例を示すフローチャートである。
【０１８４】
図２７に示されるように、第３の例では、ステップｓ２６１において、微動検出部３３は、上述のステップｓ２４１と同様に、処理対象の入力画像２００に含まれる動体領域を特定する。次にステップｓ２５２において、微動検出部３３は、上述のステップｓ２４２と同様に、処理対象の入力画像２００に含まれる動体領域に対してラベリング処理を行う。
【０１８５】
次にステップｓ２６３において、微動検出部３３は、ステップｓ２６２でのラベリング処理で得られた少なくとも一つの動体ラベリング領域についての動きベクトルを求める。動体ラベリング領域を構成する複数の動体画像ブロックについての動きベクトルを第２の例のように求めて、当該動きベクトルの平均値を、当該動体ラベリング領域の動きベクトルとすることができる。
【０１８６】
次にステップｓ２６４において、微動検出部３３は、ステップｓ２６２でのラベリング処理で得られた少なくとも一つの動体ラベリング領域において、動きベクトルの大きさ（動き量）が小さい動体ラベリング領域が存在するか否かを判断する。具体的には、微動検出部３３は、ステップｓ２６２で得られた少なくとも一つの動体ラベリング領域において、その大きさが所定値よりも小さい動きベクトルを有する動体ラベリング領域が存在するか否かを判断する。撮像領域において物体の微動が生じている場合には、当該撮像領域の画像を示す入力画像２００に含まれる動体領域に対してラベリング処理を行うと、動きベクトルの大きさが小さい動体ラベリング領域が得られることから、ステップｓ２６２で得られた少なくとも一つの動体ラベリング領域において、動きベクトルの大きさが小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定できる。
【０１８７】
微動検出部３３は、動きベクトルの大きさが小さい動体ラベリング領域が存在しない場合には、ステップｓ２６５において、撮像領域において物体の微動が発生していないと判断する。ステップｓ２６５において、撮像領域において物体の微動が発生していないと判断されると、微動検出処理は終了する。
【０１８８】
一方で、微動検出部３３は、動きベクトルの大きさが小さい動体ラベリング領域が存在する場合には、ステップｓ２６６において、撮像領域において物体の微動が発生していると判断する。
【０１８９】
なお、動きベクトルの大きさがあまりにも小さい動体ラベリング領域はノイズによって発生したと考えることができる。したがって、微動検出部３３は、ステップｓ２６２で得られた少なくとも一つの動体ラベリング領域において、その動きベクトルの大きさが、第１所定値よりも小さく、第２所定値（＜第１所定値）よりも大きいラベリング領域が存在する場合に、撮像領域において物体の微動が発生していると判断しても良い。
【０１９０】
ステップｓ２６６が実行されると、第２特定部３４は、ステップｓ２６７において、上述のステップｓ２４６と同様に、第２検出頻度マップ６００ｂを２値化して２値化マップを生成する。次にステップｓ２６８において、第２特定部３４は、上述のステップｓ２４７と同様に、２値化マップの第１領域に対してラベリング処理を行う。
【０１９１】
次にステップｓ２６９において、第２特定部３４は、ステップｓ２６８でのラベリング処理で得られた少なくとも一つの頻度ラベリング領域に基づいて、撮像領域での微動発生領域を特定する。具体的には、第２特定部３４は、頻度ラベリング領域に対応する撮像ブロックが、ステップｓ２６４で特定された、動きベクトルの大きさが小さい動体ラベリング領域に対応する撮像ブロックのすべてを含む場合には、当該頻度ラベリング領域に対応する撮像ブロックを微動発生領域とする。
【０１９２】
なお、第２特定部３４は、ステップｓ２６８で得られた少なくとも一つの頻度ラベリング領域の中に、それに対応する撮像ブロックが、動きベクトルの大きさが小さい動体ラベリング領域に対応する撮像ブロックのすべてを含むような頻度ラベルリング領域が存在しない場合には、動きベクトルの大きさが小さい動体ラベリング領域に対応する撮像ブロックを微動発生領域とする。
【０１９３】
また、第２特定部３４は、ステップｓ２６４において、動きベクトルが小さい動体ラベリング領域が複数特定された場合には、複数の当該動体ラベリング領域のそれぞれについて、当該動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域が存在するか否かを判定する。
【０１９４】
このように、本例では、動きベクトルの大きさが小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定している。人等の動体が全体的に微動する場合には、面積が小さい動体ラベリング領域が得られない可能性がある。本例では、動きベクトルの大きさが小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定しているから、このような場合であても、撮像領域において物体の微動が発生しているか否かを正しく判断することができる。
【０１９５】
以上のように、撮像領域において微動発生領域を特定することによって、静止している、人等の動体と、背景物体とを適切に区別することができる。その結果、動体検出の精度が向上する。
【０１９６】
＜変形例＞
日照変化あるいは照明変化などの撮像領域１０での明るさの変化（変動も含む）が生じた場合には、動体検出の精度が低下する可能性があることから、撮像領域での物体の微動を適切に検出できない可能性がある。撮像領域での物体の微動を適切に検出できない場合に、微動物体検出処理及びマップ補正処理が実行されると、動体検出の精度がさらに低下する可能がある。
【０１９７】
そこで、本変形例に係る動体検出装置１は、撮像領域１０での明るさの変化が生じた場合には、微動物体検出処理及びマップ補正処理を実行しない。これにより、撮像領域での物体の微動が適切に検出できないことに起因する、動体検出の精度の低下を抑制することができる。
【０１９８】
図２８は本変形例に係る動体検出装置１の構成を示すブロック図である。本変形例に係る動体検出装置１は、上述の実施の形態に係る動体検出装置１において、検出部３６をさらに設けたものである。検出部３６は、撮像領域での明るさの変化を検出する。
【０１９９】
図２９は本変形例に係る動体検出装置１の動作を示すフローチャートである。本変形例に係る動体検出装置１では、背景モデル生成処理が終了すると、図２９に示される処理が実行される。
【０２００】
図２９に示されるように、本変形例に係る動体検出装置１では、上述のステップｓ１１、ステップｓ１２（動体検出処理）及びステップｓ１３（マップ更新処理）が順番に実行される。
【０２０１】
次にステップｓ１７において、本変形例に係る動体検出装置１では、検出部３６が、撮像領域での明るさの変化を検出する検出処理を行う。ステップｓ１７において、検出部３６が撮像領域での明るさの変化を検出しない場合には、動体検出装置１は、微動物体検出処理（ステップｓ１４）、マップ補正処理（ステップｓ１５）及び背景モデル更新処理（ステップｓ１６）を順次実行する。
【０２０２】
一方で、ステップｓ１７において、検出部３６が撮像領域での明るさの変化を検出した場合には、動体検出装置１は、微動物体検出処理及びマップ補正処理を実行せずに、背景モデル更新処理を実行する。この場合の背景モデル更新処理においては、微動物体検出処理が実行されていないことから、上述のステップｓ１７０は実行されない。
【０２０３】
このように、撮像領域での明るさの変化が生じた場合に、物体の微動を検出しないようにすることによって、物体の微動が適切に検出されないことに起因する、動体検出の精度の劣化を抑制することができる。
【０２０４】
撮像領域での明るさの変化の検出方法については様々な方法が考えられる。以下に、撮像領域での明るさの変化の検出方法についての具体例を説明する。
【０２０５】
＜第１の方法＞
撮像領域での明るさが変化すると、入力画像２００全体で画像情報が変化することがあり、入力画像２００での動体領域の割合が大きくなることがある。
【０２０６】
そこで、検出部３６は、処理対象の入力画像２００での動体領域の割合がしきい値よりも大きい場合に、撮像領域において明るさの変化が発生したと判断する。処理対象の入力画像２００中の動体領域の割合Ｒｄは、処理対象の入力画像２００での動体領域の画素数をＰｄ、当該入力画像２００の全画素数をＰａとすると、以下の式（４）で表される。
【０２０７】
【数４】
2015158837.tif 000006
【０２０８】
入力画像２００中の動体領域の画素数Ｐｄは、当該入力画像２００に含まれる動体画像ブロックの数に、１つの画像ブロックに含まれる画素数を乗じることによって得ることができる。
【０２０９】
＜第２の方法＞
入力画像２００を撮像する撮像部の撮像環境（撮像部が設置される環境）等によっては、撮像領域での明るさが変化した場合、入力画像２００において画像情報が変化した領域全体での面積はそれほど大きくはないものの、入力画像２００全体に渡って、画像情報が変化した領域が繋がって広がることがある。
【０２１０】
そこで、検出部３６は、上記のステップｓ２４２と同様に、処理対象の入力画像２００に含まれる動体領域に対してラベリング処理を行う。そして、検出部３６は、当該ラベリング処理によって得られたラベリング領域の外接矩形を求める。検出部３６は、求めたラベリング領域において、その外接矩形の面積がしきい値よりも大きいラベリング領域が存在する場合には、撮像領域において明るさの変化が発生したと判断する。
【０２１１】
＜第３の方法＞
上記の第１及び第２の方法では、撮像領域において明るさが急激に変化したことは検出できるものの、撮像領域において明るさが徐々に変化する場合には、撮像領域での明るさの変化を検出することが難しい。また、第１及び第２の方法では、撮像領域において明るさが大きくなったり小さくなったりするような変化、つまり撮像領域での明るさの変動を検出することは難しい。撮像領域において明るさが徐々に変化する場合や、撮像領域において明るさが変動する場合には、複数枚の入力画像２００の間での画面全体の平均輝度値は不安定となる。
【０２１２】
そこで、検出部３６は、以下の式（５）を用いて、処理対象の入力画像２００と、それよりも前の入力画像２００とで構成された（Ｎ＋１）枚の入力画像２００の間での画像全体の平均輝度値についての不安定度Ｖを求める（Ｎ≧１）。そして、検出部３６は、求めた不安定度Ｖがしきい値よりも大きい場合には、撮像領域において明るさの変化が発生したと判断する。
【０２１３】
【数５】
2015158837.tif 000007
【０２１４】
式（５）中のｖｉは、（Ｎ＋１）枚の入力画像２００に対して古いものから順に０番からＮ番までの番号をそれぞれ付与した場合のｉ番目（０≦ｉ≦Ｎ）の入力画像２００全体での平均輝度値を示している。また式（５）中のＭは、（Ｎ＋１）枚の入力画像２００についての平均輝度値の平均値を示しており、以下の式（６）で表される。
【０２１５】
【数６】
2015158837.tif 000008
【０２１６】
検出部３６は、式（５）の代わりに以下の式（７）を用いても良い。
【０２１７】
【数７】
2015158837.tif 000009
【０２１８】
検出部３６は、上記の第１乃至第３の方法のうちの少なくとも一つの方法を用いて、撮像領域での明るさの変化を検出する。検出部３６が、第１乃至第３の方法のうちの複数の方法を用いて撮像領域での明るさの変化を検出する場合には、当該複数の方法のうちのいずれかの方法で撮像領域での明るさの変化が検出された場合には、微動物体検出処理及びマップ補正処理が実行されなくなる。
【０２１９】
＜その他の変形例＞
撮像領域の環境が、会議室などのように動体の動きが少ない環境である場合には、第１検出頻度マップ６００ａについての判定用しきい値は、第１非検出頻度マップ６１０ａについての第１のクリア用しきい値よりも大きい方が望ましい。動体の動きが少ない環境では、動体が同じ場所に留まる可能性が高いことから、動体が存在する可能性が高い撮像ブロックの検出頻度は大きくなりやすい。このような環境において、判定用しきい値を小さくすると、動体がたまたま少しだけ留まった撮像ブロックについて、動体が存在する可能性が高いと誤って判断する可能性がある。よって、撮像領域１０の環境が動体の動きが少ない環境である場合には、判定用しきい値を大きくする。
【０２２０】
また、撮像領域の環境が、人通りの多い場所など、動体の動きが多い環境である場合には、判定用しきい値は第１のクリア用しきい値よりも小さい方が望ましい。動体の動きが多い環境では、動体が同じ場所に留まる可能性は低い。したがって、動体が存在する可能性が高い撮像ブロックであっても、当該撮像ブロックの検出頻度は大きくなりにくい。このような環境において、判定用しきい値を大きくすると、動体が存在する可能性が高い領域を適切に特定できない可能性がある。よって、撮像領域１０の環境が動体の動きが多い環境である場合には、判定用しきい値を小さくする。
【０２２１】
また、上記の例では、画像ブロックの大きさを、３画素×３画素としていたが、これに限定されず、画像ブロックの大きさは、４画素×４画素、または５画素×５画素としてもよい。
【０２２２】
また、上記の例では、ある画像ブロックについてのコードワードＣＷには、当該ある画像ブロック内の全ての画素の画素値が画像情報として含まれている場合を例示したが、これに限定されず、コードワードＣＷには、画像情報として画像ブロック内の全ての画素の画素値が含まれていなくてもよい。具体的には、画像ブロックの大きさが、３画素×３画素であった場合、コードワードＣＷには、５画素分の画素値が画像情報として含まれていてもよい。このように、コードワードＣＷ内の情報量を減らすことによって、処理量を低減することができるので、動体検出処理を高速化することができる。
【０２２３】
また、上記の例では、入力画像２００中の各画素が、Ｒ（赤）、Ｇ（緑）及びＢ（青）のそれぞれの画素値を有している場合を想定していたが、これに限定されない。具体的には、入力画像２００中の各画素の画素値は、ＲＧＢ以外の他の色空間を用いて表されていてもよい。例えば、入力画像２００がＹＵＶ形式の画像データである場合、輝度信号Ｙ並びに２つの色差信号Ｕ，Ｖが、各画素の画素値として用いられることになる。
【０２２４】
以上のように、動体検出装置１は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０２２５】
１  動体検出装置
５  背景モデル記憶部
６  キャッシュモデル記憶部
３１  動体検出部
３２  第１特定部
３３  微動検出部
３４  第２特定部
３５  背景モデル更新部
３６  検出部
３１１  制御プログラム
【図１】
2015158837.tif 000010
【図２】
2015158837.tif 000011
【図３】
2015158837.tif 000012
【図４】
2015158837.tif 000013
【図５】
2015158837.tif 000014
【図６】
2015158837.tif 000015
【図７】
2015158837.tif 000016
【図８】
2015158837.tif 000017
【図９】
2015158837.tif 000018
【図１０】
2015158837.tif 000019
【図１１】
2015158837.tif 000020
【図１２】
2015158837.tif 000021
【図１３】
2015158837.tif 000022
【図１４】
2015158837.tif 000023
【図１５】
2015158837.tif 000024
【図１６】
2015158837.tif 000025
【図１７】
2015158837.tif 000026
【図１８】
2015158837.tif 000027
【図１９】
2015158837.tif 000028
【図２０】
2015158837.tif 000029
【図２１】
2015158837.tif 000030
【図２２】
2015158837.tif 000031
【図２３】
2015158837.tif 000032
【図２４】
2015158837.tif 000033
【図２５】
2015158837.tif 000034
【図２６】
2015158837.tif 000035
【図２７】
2015158837.tif 000036
【図２８】
2015158837.tif 000037
【図２９】
2015158837.tif 000038