JP2015158837A - 動体検出装置、動体検出方法及び制御プログラム - Google Patents

動体検出装置、動体検出方法及び制御プログラム Download PDF

Info

Publication number
JP2015158837A
JP2015158837A JP2014033901A JP2014033901A JP2015158837A JP 2015158837 A JP2015158837 A JP 2015158837A JP 2014033901 A JP2014033901 A JP 2014033901A JP 2014033901 A JP2014033901 A JP 2014033901A JP 2015158837 A JP2015158837 A JP 2015158837A
Authority
JP
Japan
Prior art keywords
detection
moving object
image
region
imaging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014033901A
Other languages
English (en)
Other versions
JP6177708B2 (ja
Inventor
健太 西行
Kenta Nishiyuki
健太 西行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014033901A priority Critical patent/JP6177708B2/ja
Priority to PCT/JP2015/054118 priority patent/WO2015129501A1/ja
Publication of JP2015158837A publication Critical patent/JP2015158837A/ja
Application granted granted Critical
Publication of JP6177708B2 publication Critical patent/JP6177708B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Abstract

【課題】動体の検出精度を向上することが可能な技術を提供する。
【解決手段】第1特定部32は、第1検出頻度マップでの検出頻度が第1のしきい値以上の部分撮像領域を、動体が存在する可能性が高い第1領域として特定する。背景モデル更新部35は、判定期間において入力される入力画像200が用いられた動体検出部31での動体の検出結果と、第1特定部32で特定される第1領域とに基づいて、キャッシュモデル記憶部6内の背景画像情報候補を背景画像情報として背景モデル500に登録するか否かを判定する。背景モデル更新部35は、微動検出部33で物体の微動が検出されたとき、入力画像における微動発生領域の画像から得られた画像情報であって、背景モデル500に背景画像情報として登録されている画像情報を、当該背景モデル500から削除する。
【選択図】図2

Description

本発明は、動体の検出技術に関する。
特許文献1及び非特許文献1〜3にも記載されているように、人等の動体の検出技術に関して従来から様々な技術が提案されている。
特開2012−14302号公報
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
動体を検出する際には、その精度の向上が望まれている。
そこで、本発明は上述の点に鑑みて成されたものであり、動体の検出精度を向上することが可能な技術を提供することを目的とする。
本発明に係る動体検出装置の一態様は、背景画像情報を含む背景モデルを記憶する第1記憶部と、前記背景モデルと入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する動体検出部と、前記動体検出部での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第1検出頻度マップを生成し、当該複数の部分撮像領域のうち、当該第1検出頻度マップでの当該検出頻度が第1のしきい値以上あるいは当該第1のしきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第1領域として特定する第1特定部と、入力画像に基づいて前記撮像領域での物体の微動を検出する微動検出部と、前記微動検出部で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第2領域を特定する第2特定部と、第2記憶部と、前記背景モデルを更新する背景モデル更新部とを備え、前記背景モデル更新部は、入力画像に含まれる、前記動体検出部が動体を検出した部分撮像領域の画像から得られた画像情報を背景画像情報候補として前記第2記憶部に記憶し、前記背景モデル更新部は、その期間に入力される入力画像の枚数で表され、前記第1のしきい値よりも小さい判定期間において入力される入力画像が用いられた前記動体検出部での動体の検出結果と、前記第1特定部で特定される前記第1領域とに基づいて、前記第2記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定し、前記背景モデル更新部は、前記微動検出部で物体の微動が検出されたとき、入力画像における前記第2領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する。
また、本発明に係る動体検出装置の一態様では、前記第1特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第1非検出頻度マップを生成し、前記第1特定部は、前記複数の部分撮像領域のうち、前記第1非検出頻度マップでの前記非検出頻度が第2のしきい値以上あるいは当該第2のしきい値よりも大きい部分撮像領域についての、前記第1検出頻度マップの前記検出頻度及び前記第1非検出頻度マップの前記非検出頻度をクリアする。
また、本発明に係る動体検出装置の一態様では、前記第1特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第2検出頻度マップと、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第2非検出頻度マップとを生成し、前記第1特定部は、前記複数の部分撮像領域のうち、前記第2非検出頻度マップでの前記非検出頻度が、前記第2のしきい値よりも大きい第3のしきい値以上あるいは当該第3のしきい値よりも大きい部分撮像領域についての、前記第2検出頻度マップの前記検出頻度及び前記第2非検出頻度マップの前記非検出頻度をクリアし、前記第1特定部は、前記微動検出部で物体の微動が検出されたとき、前記第2領域についての前記第2検出頻度マップの前記検出頻度を、前記第1検出頻度マップに対して当該第2領域についての値としてコピーする。
また、本発明に係る動体検出装置の一態様では、前記撮像領域の明るさの変化を検出する検出部がさらに設けられ、前記微動検出部は、前記検出部において前記撮像領域の明るさの変化が検出されたときには、物体の微動の検出を行わない。
また、本発明に係る動体検出装置の一態様では、前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像に含まれる動体領域に対してラベリング処理を行い、当該ラベリング処理によって得られたラベリング領域に基づいて前記撮像領域において物体の微動があるか否かを判断する。
また、本発明に係る動体検出装置の一態様では、前記微動検出部は、前記ラベリング領域についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する。
また、本発明に係る動体検出装置の一態様では、前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する。
また、本発明に係る動体検出方法の一態様は、(a)第1記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、(b)前記工程(a)での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第1検出頻度マップを生成する工程と、(c)前記複数の部分撮像領域のうち、前記第1検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第1領域として特定する工程と、(d)入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、(e)前記工程(d)で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第2領域を特定する工程と、(f)入力画像に含まれる、前記工程(a)で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第2記憶部に記憶する工程と、(g)その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程(a)での動体の検出結果と、前記工程(c)で特定される前記第1領域とに基づいて、前記第2記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、(h)前記工程(d)で物体の微動が検出されたとき、入力画像における前記第2領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程とを備える。
また、本発明に係る制御プログラムの一態様は、動体検出装置を制御するための制御プログラムであって、前記動体検出装置に、(a)第1記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、(b)前記工程(a)での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第1検出頻度マップを生成する工程と、(c)前記複数の部分撮像領域のうち、前記第1検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第1領域として特定する工程と、(d)入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、(e)前記工程(d)で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第2領域を特定する工程と、(f)入力画像に含まれる、前記工程(a)で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第2記憶部に記憶する工程と、(g)その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程(a)での動体の検出結果と、前記工程(c)で特定される前記第1領域とに基づいて、前記第2記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、(h)前記工程(d)で物体の微動が検出されたとき、入力画像における前記第2領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程とを実行させるためのものである。
本発明によれば、動体の検出精度が向上する。
動体検出装置の構成を示す図である。 画像処理部の構成を示す図である。 撮像領域の一例を示す図である。 背景モデルの一例を示す図である。 コードワードの一例を示す図である。 動体検出装置の動作を示すフローチャートである。 動体検出装置の動作を示すフローチャートである。 動体検出装置の動作を示すフローチャートである。 動体検出装置の動作を説明するための図である。 画像ベクトルと背景ベクトルとの関係を示す図である。 検出頻度マップの一例を示す図である。 非検出頻度マップの一例を示す図である。 動体検出装置の動作を示すフローチャートである。 動体検出装置の動作を示すフローチャートである。 撮像領域において人が微動する様子を模式的に示す図である。 マップ補正処理を説明するための図である。 動体検出装置の動作を示すフローチャートである。 撮像領域において検出対象物が存在する可能性が高い領域の一例を示す図である。 動体検出結果の一例を示す図である。 第1検出頻度マップの一例を示す図である。 動体検出結果の一例を示す図である。 動体検出結果の一例を示す図である。 動体検出装置の動作を示すフローチャートである。 微動検出処理を説明するための図である。 微動検出処理を説明するための図である。 動体検出装置の動作を示すフローチャートである。 動体検出装置の動作を示すフローチャートである。 変形例に係る動体検出装置の構成を示す図である。 変形例に係る動体検出装置の動作を示すフローチャートである。
<動体検出装置の動作の概要>
図1は動体検出装置1の構成を示すブロック図である。動体検出装置1は、入力される画像に基づいて、当該画像に写る撮像領域、つまり当該画像を撮像する撮像部の撮像領域(視野範囲)に存在する動体を検出する。
本実施の形態では、検出対象の動体は、例えば人である。動体検出装置1は、入力される画像に含まれる動体画像(動体を示す画像)を検出することによって、動体検出、つまり当該画像に写る撮像領域に存在する動体を検出する。
動体検出装置1の動作段階として、準備段階と実動作段階とが存在する。動体検出装置1は、準備段階において、時系列で撮像されかつ撮像された順で入力される複数枚の入力画像を用いて、背景モデルの生成処理を実行する。背景モデルは、同一のシーン(被写体)を撮影して得られた複数枚の入力画像に含まれる情報が集められて構成されたモデルである。背景モデルは、後述の動体検出処理において、時系列で撮像されかつ撮像された順で入力される各入力画像から動体画像を検出する際に利用される。なお、背景モデルの生成処理が実行される準備段階は「学習段階」とも呼ばれる。以後、背景モデルの生成で使用される入力画像を「基準画像」と呼び、動体画像の検出の対象となる入力画像を「検出対象画像」と呼ぶことがある。
動体検出装置1では、背景モデルの生成が完了すると、動作段階が準備段階から実動作段階へと移行する。動体検出装置1は、実動作段階において、入力画像に対して動体画像の検出を行う動体検出処理と、後述する第1検出頻度マップ、第2検出頻度マップ、第1非検出頻度マップ及び第2非検出頻度マップを更新するマップ更新処理と、物体の微動を検出する微動検出処理と、第1検出頻度マップを補正するマップ補正処理と、背景モデルを更新する背景モデル更新処理とを行う。なお、本実施の形態では、検出対象の動体は人であるが、人以外の動体、例えば人以外の動物であっても良い。
<動体検出装置の構成>
図1に示されるように、動体検出装置1は、画像入力部2と、画像処理部3と、検出結果出力部4と、背景モデル記憶部5と、キャッシュモデル記憶部6とを備えている。図2は画像処理部3の構成を示すブロック図である。
画像入力部2は、動体検出装置1の外部から入力される入力画像200を画像処理部3に入力する。入力画像200は撮像部で撮像された撮像画像である。画像入力部2に対しては、時系列で撮像された複数枚の入力画像200が撮像された順で入力される。入力画像200の大きさは、例えば、320画素×240画素(QVGA)となっている。
図3は、入力画像200に写る撮像領域10、つまり入力画像200を撮像する撮像部の撮像領域(視野範囲)10の一例を示す図である。図3に示される撮像領域10には、被写体として会議室100が含まれている。したがって、この場合には、動体検出装置1に入力される入力画像200は、会議室100を示す画像となる。会議室100では、複数の机101と複数の椅子102が床の中央部を取り囲むように並べられており、複数の机101の外側が通路103となっている。そして、会議室100では、壁の一部にカーテン104が設けられている。本実施の形態に係る動体検出装置1は、例えば、会議室100を示す入力画像200に対して動体画像の検出を行うことによって、会議室100に存在する人を検出する。
画像処理部3は、画像入力部2から入力される入力画像200に対して様々な画像処理を行う。画像処理部3は、CPU300と記憶部310を備えている。記憶部310は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の、CPU300が読み取り可能な非一時的な記録媒体で構成されている。記憶部310には、動体検出装置1を制御するための制御プログラム311が記憶されている。CPU300が記憶部310内の制御プログラム311を実行することによって、画像処理部3には様々な機能ブロックが形成される。
なお記憶部310は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。記憶部310は、例えば、小型のハードディスクドライブ及びSSD(Solid State Drive)等を備えていても良い。
図2に示されるように、画像処理部3には、背景モデル生成部30、動体検出部31、第1特定部32、微動検出部33、第2特定部34及び背景モデル更新部35等の複数の機能ブロックが形成される。これらの機能ブロックは、CPUがプログラムを実行することによって実現されるのではなく、論理回路を用いたハードウェア回路で実現されても良い。
背景モデル生成部30は、画像入力部2から順次入力される複数枚の入力画像200(複数枚の基準画像200)を用いて、背景画像情報を含む背景モデル500を生成する。背景モデル生成部30によって生成された背景モデル500は背景モデル記憶部5に記憶される。背景モデル更新部35は、背景モデル記憶部5内の背景モデル500の更新を行う。
動体検出部31は、画像入力部2から入力される入力画像200と、背景モデル記憶部5内の背景モデル500とを用いて、入力画像200中の動体画像を検出する。言い換えれば、動体検出部31は、入力画像200と背景モデル500とを用いて、当該入力画像200に写る撮像領域10に存在する動体を検出する。
第1特定部32は、動体検出部31での動体検出の検出結果に基づいて、撮像領域10において動体が存在する可能性が高い領域を特定する。具体的には、第1特定部32は、動体検出部31での検出結果に基づいて、検出頻度マップと非検出頻度マップを生成し、これらのマップを用いて撮像領域10において動体が存在する可能性が高い領域を特定する。検出頻度マップは、撮像領域10における複数の領域での動体の検出頻度の分布を示している。非検出頻度マップは、撮像領域10における複数の領域での動体の非検出頻度の分布を示している。本実施の形態では、後述するように、2種類の検出頻度マップ(第1及び第2検出頻度マップ)と、2種類の非検出頻度マップ(第1及び第2非検出頻度マップ)が生成される。
微動検出部33は、入力画像に基づいて、撮像領域10での物体の微動を検出する。第2特定部34は、微動検出部33で物体の微動が検出されたとき、撮像領域10において物体の微動が生じている領域を特定する。以後、当該領域を「微動発生領域」と呼ぶことがある。
背景モデル記憶部5は、背景モデル生成部30で生成される背景モデル500を記憶する。キャッシュモデル記憶部6は、後述するキャッシュモデルを記憶する。背景モデル記憶部5及びキャッシュモデル記憶部6のそれぞれは、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)またはハードディスク(HD)等の書き換え可能な記憶手段で構成される。なお本例では、背景モデル記憶部5とキャッシュモデル記憶部6とはハードウェア的に独立しているが、一つの記憶装置が有する記憶領域の一部を背景モデル記憶部5として使用し、当該記憶領域の他の一部をキャッシュモデル記憶部6として使用しても良い。
検出結果出力部4は、動体検出部31での動体検出の検出結果を外部に出力する。検出結果出力部4は、例えば、撮像領域10の様子、つまり撮像領域10に存在する被写体(図3の例では会議室100)の様子をリアルタイムで表示する表示部を備えており、当該表示部において、動体が検出された領域を色等で表示することによって、動体検出の検出結果を外部に出力する。また、検出結果出力部4は、検出結果を音声等の音で外部に出力しても良い。また、検出結果出力部4は、検出結果を示す信号を、外部装置に対して出力することによって、当該検出結果を外部に出力しても良い。この場合には、外部装置は、検出結果に応じた動作を実行する。例えば、外部装置は、警報を発生する。あるいは、撮像領域10が図3の会議室100である場合には、外部装置は、会議室100の照明器具を制御して、人が存在する領域だけ明るくする。また、外部装置は、会議室100の空調機を制御して、人が存在する領域だけ冷却したり、暖めたりする。
<準備段階(背景モデル生成処理)>
次に動体検出装置1の準備段階で行われる背景モデル生成処理について説明する。図4は背景モデル500を説明するための図である。本実施の形態では、撮像領域10において人が存在しないとき(会議室100が利用されていないとき)に撮像部で撮像された入力画像200が、背景モデル500の生成で使用される基準画像200となっている。背景モデル生成処理では、A枚(A≧2)の基準画像200に基づいて背景モデル500が生成される。
本実施の形態では、撮像領域10は、複数の矩形の撮像ブロック(部分撮像領域)に分割される。入力画像200に含まれる、ある撮像ブロックの画像を示す領域を「画像ブロック」と呼ぶと、入力画像200は、撮像領域10を構成する複数の撮像ブロックの画像をそれぞれ示す複数の画像ブロックで構成される。本実施の形態では、一つの画像ブロックの大きさは、例えば、3画素×3画素となっている。例えば、入力画像200に、人の手を示す画像が含まれているとすると、当該画像には数個の画像ブロックが含まれる。以後、撮像ブロックと、入力画像200における、当該撮像ブロックの画像を示す画像ブロックとに関して、当該撮像ブロックを、当該画像ブロックに対応する撮像ブロックと呼ぶことがある。
図4に示されるように、背景モデル500には、複数の撮像ブロックBKにそれぞれ対応する複数のコードブック(Codebook)CBが含まれる。各コードブックCBには、画像情報と、当該画像情報に関連する関連情報とを含むコードワード(Codeword)CWが含まれている。コードブックCBに含まれるコードワードCWは、一枚の入力画像200における、当該コードブックCBが対応する撮像ブロックBKの画像を示す画像ブロックに基づいて生成される。各コードブックCBには複数のコードワードCWが含まれている。以後、背景モデル500中のコードワードCWに含まれる画像情報を「背景画像情報」と呼ぶことがある。
図4において砂地のハッチングが示されているコードブックCBには、3枚の基準画像200a〜200cに基づいてそれぞれ生成された3つのコードワードCW1〜CW3が含まれている。コードブックCBに含まれるコードワードCW1は、基準画像200aにおける、当該コードブックCBが対応する撮像ブロックBKの画像を示す画像ブロックに基づいて生成される。コードブックCBに含まれるコードワードCW2は、基準画像200bにおける、当該コードブックCBが対応する撮像ブロックBKの画像を示す画像ブロックに基づいて生成される。そして、コードブックCBに含まれるコードワードCW3は、基準画像200cにおける、当該コードブックCBが対応する撮像ブロックBKの画像を示す画像ブロックに基づいて生成される。
図5はコードワードCWを説明するための図である。コードワードCWには、当該コードワードCWを含むコードブックCBが対応する撮像ブロックの画像を示す画像ブロックの画像情報、つまり当該画像ブロックを構成する複数の画素の画素値PVが、背景画像情報として含まれている。そして、コードワードCWには、関連情報として、最新一致時刻Teとコードワード生成時刻Tiとが含まれている。後述するように、背景モデル500に含まれるコードワードCW中の画像情報については、検出対象画像200から取得された画像情報と一致する否かが判定される。コードワードCWに含まれる最新一致時刻Teは、当該コードワードCWに含まれる画像情報と、検出対象画像200から取得された画像情報とが一致すると判定された最新の時刻を示している。また、コードワードCWに含まれるコードワード生成時刻Tiは、当該コードワードCWが生成された時刻を示している。
図6は、このような背景モデル500が生成される背景モデル生成処理を示すフローチャートである。図6に示される背景モデル生成処理は、背景モデル記憶部5に背景モデル500が記憶されていないときに実行される。
図6に示されるように、ステップs1において、背景モデル生成部30は、画像入力部2から基準画像200が画像処理部3に入力されると、ステップs2において、撮像領域10のある撮像ブロックを注目撮像ブロックとし、注目撮像ブロックに対応するコードブックCBが背景モデル記憶部5に記憶されているか否かを判定する。
背景モデル生成部30は、注目撮像ブロックに対応するコードブックCBが背景モデル記憶部5に記憶されていないと判定すると、ステップs3において、ステップs1で入力された基準画像200に基づいて、注目撮像ブロックに対応するコードブックCBを生成して背景モデル記憶部5に記憶する。
具体的には、背景モデル生成部30は、ステップs1で入力された基準画像200における、注目撮像ブロックの画像を示す画像ブロックから画像情報を取得する。そして、背景モデル生成部30は、取得した画像情報を背景画像情報として含むコードワードCWを生成し、当該コードワードCWを含むコードブックCBを背景モデル記憶部5に記憶する。このコードワードCWに含まれる最新一致時刻Teは、暫定的に、コードワード生成時刻Tiと同じ時刻に設定される。
一方で、背景モデル生成部30は、注目撮像ブロックに対応するコードブックCBが背景モデル記憶部5に記憶されていると判定すると、ステップs4において、ステップs1で入力された基準画像200における、注目撮像ブロックの画像を示す画像ブロックから画像情報を取得する。そして、背景モデル生成部30は、背景モデル記憶部5が記憶している、注目撮像ブロックに対応するコードブックCBに含まれる各コードワードCW中の背景画像情報と、取得した画像情報とが一致するか否かを判定する。つまり、背景モデル生成部30は、注目撮像ブロックに対応するコードブックCBに含まれるコードワードCWにおいて、取得した画像情報と一致する背景画像情報を含むコードワードCWが存在するか否かを判定する。
ステップs4での判定の結果、ステップs5において、注目撮像ブロックに対応するコードブックCBに含まれる各コードワードCW中の背景画像情報と、取得した画像情報とが一致しない場合には、つまり、注目撮像ブロックに対応するコードブックCBに含まれるコードワードCWにおいて、取得した画像情報と一致する背景画像情報を含むコードワードCWが存在しない場合には、ステップs6において、背景モデル生成部30は、ステップs4で基準画像200から取得した画像情報を背景画像情報として含むコードワードCWを生成する。このコードワードCWに含まれる最新一致時刻Teは、暫定的に、コードワード生成時刻Tiと同じ時刻に設定される。そして、背景モデル生成部30は、生成したコードワードCWを、背景モデル記憶部5が記憶する、注目撮像ブロックに対応するコードブックCBに追加する。これにより、注目撮像ブロックに対応するコードブックCBには新しい背景画像情報が追加される。
一方で、ステップs5において、注目撮像ブロックに対応するコードブックCBに含まれるコードワードCW中の背景画像情報と、取得した画像情報とが一致する場合には、つまり、注目撮像ブロックに対応するコードブックCBに含まれるコードワードCWにおいて、取得した画像情報と一致する背景画像情報を含むコードワードCWが存在する場合には、ステップs6は実行されずに、ステップs7が実行される。ステップs7において、背景モデル生成部30は、撮像領域10における全ての撮像ブロックについて処理が行われた否か、つまり、全ての撮像ブロックを注目撮像ブロックに設定したか否かを判定する。ステップs7での判定の結果、処理が行われていない撮像ブロックが存在する場合には、背景モデル生成部30は、未だ処理が行われていない撮像ブロックを新たな注目撮像ブロックとして、ステップs2以降を実行する。
一方で、ステップs7での判定の結果、撮像領域10における全ての撮像ブロックについて処理が行われている場合には、背景モデル生成部30は、ステップs8において、A枚の基準画像200に対して同様の処理が行われたか否かを判定する。背景モデル生成部30は、ステップs8での判定の結果、処理を行った基準画像200の枚数がA枚よりも少ない場合には、ステップs1において画像処理部3に対して新たに入力される基準画像200に対して、ステップs2以下の処理を実行する。背景モデル生成部30は、ステップs8での判定の結果、処理を行った基準画像200の枚数がA枚である場合には、背景モデル生成処理を終了する。これにより、上述のような背景モデル500が背景モデル記憶部5内に生成される。
<実動作段階>
次に動体検出装置1の実動作段階での動作について説明する。図7は、動体検出装置1の実動作段階での概略動作を示すフローチャートである。動体検出装置1では、背景モデル生成処理が終了すると、図7に示される処理が実行される。
図7に示されるように、ステップs11において画像入力部2から入力画像200が画像処理部3に入力されると、当該入力画像200を処理対象として、ステップs12〜s16までの一連の処理が実行される。
ステップs12において、画像処理部3は、処理対象の入力画像200に対して動体画像の検出を行う動体検出処理を行う。そして、ステップs13において、画像処理部3は、ステップs12での動体検出処理の結果に基づいて、第1及び第2検出頻度マップと第1及び第2非検出頻度マップの更新を行うマップ更新処理を行う。そして、ステップs14において、画像処理部3は、撮像領域での物体の微動を検出し、撮像領域において物体の微動が生じている領域(微動発生領域)を特定する微動検出処理を行う。その後、ステップs15において、画像処理部3は、ステップs14での処理の結果に基づいて、第1検出頻度マップの補正を行うマップ補正処理を行う。そして、画像処理部3は、ステップs16において、補正後の第1検出頻度マップ等を用いて、背景モデル記憶部5内の背景モデル500を更新する背景モデル更新処理を行う。
その後、ステップs11において、画像入力部2から画像処理部3に新たな入力画像200(新たな検出対象画像200)が入力されると、当該入力画像200を新たな処理対象として、ステップs12〜s16までの一連の処理が実行される。その後、画像処理部3は同様に動作する。
このように、本実施の形態に係る動体検出装置1では、入力画像200が入力されるたびに、動体検出処理、マップ更新処理、微動検出処理、マップ補正処理及び背景モデル更新処理がこの順番で実行される。
<動体検出処理>
次にステップs12での動体検出処理について詳しく説明する。図8は動体検出処理を示すフローチャートである。図8に示されるように、ステップs121において、動体検出部31は、撮像領域10のある撮像ブロック(例えば、撮像領域10における左上の撮像ブロック)を注目撮像ブロックとし、上述のステップs11で入力された処理対象の入力画像200(検出対象画像200)における、注目撮像ブロックの画像を示す画像ブロック(以後、「注目画像ブロック」と呼ぶことがある)に対して動体画像の検出を行う。つまり、動体検出部31は、注目撮像ブロックに動体が存在するか否かを検出する。
本実施の形態に係る動体検出では、入力画像200中の注目画像ブロックから取得される画像情報と、背景モデル500における、注目撮像ブロックに対応するコードブックCBに含まれる各コードワードCW中の背景画像情報とが一致するか否かが判定されることによって、注目画像ブロックが動体画像であるか否かが判定される。以後、注目撮像ブロックに対応するコードブックCBを「注目コードブックCB」と呼ぶことがある。また、注目コードブックCBに含まれるコードワードCWを「注目コードワードCW」と呼ぶことがある。動体検出の具体的手法については後述する。
ステップs121が実行されると、ステップs122において、動体検出部31は、ステップs121での動体検出の結果を記憶する。そして、動体検出部31は、ステップs123において、撮像領域10における全ての撮像ブロックについて処理が行われた否か、つまり、全ての撮像ブロックを注目撮像ブロックに設定したか否かを判定する。ステップs123での判定の結果、処理が行われていない撮像ブロックが存在する場合には、動体検出部31は、未だ処理が行われていない撮像ブロックを新たな注目撮像ブロックとして、ステップs121以降を実行する。一方で、ステップs123での判定の結果、撮像領域10における全ての撮像ブロックについて処理が行われている場合には、つまり、入力画像200の全領域に対して動体画像の検出が完了している場合には、動体検出部31は動体検出処理を終了する。これにより、動体検出部31には、入力画像200を構成する複数の画像ブロックに対する動体画像の検出の結果が記憶される。つまり、動体検出部31には、撮像領域10を構成する複数の撮像ブロックに対する動体検出の結果が記憶される。この検出結果は、検出結果出力部4に入力される。
<動体検出の詳細>
次にステップs121での動体検出の具体的手法について図9及び10を用いて説明する。図9は、入力画像200の注目画像ブロック及び背景モデル500の注目コードワードCWのそれぞれからベクトルを抽出する様子を表した図である。図10は、入力画像200の注目画像ブロックから抽出されたベクトルと、背景モデル500の注目コードワードCWから抽出されたベクトルとの関係を示す図である。
本実施の形態では、入力画像200中の注目画像ブロックの画像情報がベクトルとして扱われる。また、背景モデル500中の各注目コードワードCWについて、当該注目コードワードCWに含まれる背景画像情報がベクトルとして扱われる。そして、注目画像ブロックの画像情報についてのベクトルと、各注目コードワードCWの背景画像情報についてのベクトルとが、同じ方向を向いているか否かに基づいて、注目画像ブロックが動体画像であるか否かが判定される。この2種類のベクトルが同じ方向を向いている場合には、注目画像ブロックの画像情報と、各注目コードワードCWの背景画像情報とは一致すると考えることができる。したがって、この場合には、入力画像200中の注目画像ブロックは、背景を示す画像と変わらず、動体画像ではないと判定される。一方、2種類のベクトルが同じ方向を向いていない場合には、注目画像ブロックの画像情報と、各注目コードワードCWの背景画像情報とは一致しないと考えることができる。したがって、この場合には、入力画像200中の注目画像ブロックは、背景を示す画像ではなく、動体画像であると判定される。
具体的には、動体検出部31は、入力画像200中の注目画像ブロックに含まれる複数の画素の画素値を成分とした画像ベクトルxを生成する。図9には、9個の画素を有する注目画像ブロック210の各画素の画素値を成分とした画像ベクトルxが示されている。図9の例では、各画素は、R(赤)、G(緑)及びB(青)の画素値を有しているため、画像ベクトルxは、27個の成分で構成されている。
同様に、動体検出部31は、背景モデル500の注目コードブックCBに含まれる注目コードワードCW中の背景画像情報を用いて、背景画像情報に関するベクトルである背景ベクトルを生成する。図9に示される注目コードワードCWの背景画像情報510には、9個の画素についての画素値が含まれている。したがって、当該9個の画素についての画素値を成分とした背景ベクトルxが生成される。背景ベクトルxについては、注目コードブックCBに含まれる複数のコードワードCWのそれぞれから生成される。したがって、一つの画像ベクトルxに対して複数の背景ベクトルxが生成される。
上述のように、画像ベクトルxと各背景ベクトルxとが同じ方向を向いている場合、入力画像200中の注目画像ブロックは、背景を示す画像と変わらないことになる。しかしながら、画像ベクトルx及び各背景ベクトルxには、ある程度のノイズ成分が含まれていると考えられることから、画像ベクトルxと各背景ベクトルxとが完全に同じ方向を向いていなくても、入力画像200中の注目画像ブロックは背景を示す画像であると判定することができる。
そこで、本実施の形態では、画像ベクトルx及び各背景ベクトルxに、ある程度のノイズ成分が含まれていることを考慮して、画像ベクトルxと各背景ベクトルxとが完全に同じ方向を向いていない場合であっても、入力画像200中の注目画像ブロックは背景を示す画像であると判定する。
画像ベクトルx及び背景ベクトルxにノイズ成分が含まれていると仮定すると、真のベクトルuに対する画像ベクトルxと背景ベクトルxとの関係は、図10のように表すことができる。本実施の形態では、画像ベクトルxと背景ベクトルxとが、どの程度同じ方向を向いているかを示す評価値として、以下の(1)で表される評価値Dを考える。
Figure 2015158837
そして、行列Xを画像ベクトルxと背景ベクトルxとを用いて、式(2)のように表すと、評価値Dは、2×2行列XXの非ゼロの最小固有値となる。したがって、評価値Dについては解析的に求めることができる。なお、評価値Dが2×2行列XXの非ゼロの最小固有値となることについては、上記の非特許文献3に記載されている。
Figure 2015158837
上述のように、一つの画像ベクトルxに対して複数の背景ベクトルxが生成されることから、画像ベクトルxと背景ベクトルxとを用いて表される評価値Dの値も、背景ベクトルxの数と同じ数だけ得られることになる。
入力画像200中の注目画像ブロックが動体画像であるか否かの判定は、評価値Dの複数の値のうちの最小値Cと、評価値Dの複数の値についての平均値μ及び標準偏差σとを用いて表される、以下の式(3)で示される動体判定式が用いられる。この動体判定式はチェビシェフ(Chebyshev)の不等式と呼ばれる。
Figure 2015158837
ここで、式(3)のkは定数であって、入力画像200を撮像する撮像部の撮像環境(撮像部が設置される環境)等に基づいて定められる値である。定数kは実験等によって決定される。
動体検出部31は、動体判定式(不等式)を満たす場合、画像ベクトルxと各背景ベクトルxとが同じ方向を向いていないと考えて、注目画像ブロックは、背景を示す画像ではなく、動体画像であると判定する。一方で、動体検出部31は、動体判定式を満たさない場合、画像ベクトルxと各背景ベクトルxとは同じ方向を向いていると考えて、注目画像ブロックは動体画像ではなく、背景を示す画像であると判定する。
このように、本実施の形態では、注目画像ブロックから得られた画像ベクトルの方向と、各注目コードワードCWから得られた背景ベクトルの方向とが、同じか否かに基づいて動体検出が行われているため、本実施の形態に係る動体検出手法は、日照変化あるいは照明変化などの撮像領域10での明るさの変化に対して比較的頑健な動体検出手法である。以後、動体画像であると判定された画像ブロックを「動体画像ブロック」と呼ぶことがある。
<検出頻度マップ及び非検出頻度マップ>
図11,12は検出頻度マップ600及び非検出頻度マップ610の一例をそれぞれ示す図である。検出頻度マップ600には、撮像領域10を構成する複数の撮像ブロックBKのそれぞれについての動体(検出対象物)700の検出頻度601が含まれている。一方で、非検出頻度マップ610には、撮像領域10を構成する複数の撮像ブロックBKのそれぞれについての動体(検出対象物)700の非検出頻度611が含まれている。
検出頻度マップ600では、それに含まれる複数の検出頻度601が行列状に配置されている。ある撮像ブロックBKについての動体700の検出頻度601は、検出頻度マップ600において、撮像領域10での当該撮像ブロックBKの位置と同じ位置に配置されている。同様に、非検出頻度マップ610では、それに含まれる複数の非検出頻度611が行列状に配置されている。ある撮像ブロックBKについての動体700の非検出頻度611は、非検出頻度マップ610において、撮像領域10での当該撮像ブロックBKの位置と同じ位置に配置されている。
第1特定部32は、入力画像200に含まれるある画像ブロックが動体画像であると動体検出部31で判定されると、つまり、当該画像ブロックに対応する撮像ブロックに動体700が存在すると判定されると、検出頻度マップ600における、当該画像ブロックに対応する撮像ブロックBKについての動体700の検出頻度601を1つ増加する。
また第1特定部32は、入力画像200に含まれるある画像ブロックが動体画像でないと動体検出部31で判定されると、つまり、当該画像ブロックに対応する撮像ブロックに動体700が存在しないと判定されると、非検出頻度マップ610における、当該画像ブロックに対応する撮像ブロックBKについての動体700の非検出頻度611を1つ増加する。
図11,12には、撮像領域10を構成する複数の撮像ブロックBKのうち、中央の下側の2つの撮像ブロックBKにおいて動体(人)700が静止している場合に生成される検出頻度マップ600及び非検出頻度マップ610の一例が示されている。図11に示される検出頻度マップ600では、動体700が存在する2つの撮像ブロックBKについての動体700の検出頻度601が大きくなっている。一方で、図12に示される非検出頻度マップ610では、動体700が存在する2つの撮像ブロックBK以外の各撮像ブロックBKについての動体700の非検出頻度611が大きくなっている。
このような検出頻度マップ600では、動体700が頻繁に検出される撮像ブロックBKについての検出頻度601は大きくなる。したがって、検出頻度マップ600を参照することによって、撮像領域10において動体700が存在する可能性が高い領域を特定することができる。撮像領域10において、例えば、人の通路が存在する場合には、当該通路に対応する撮像ブロックについての検出頻度が大きくなり、当該撮像ブロックに人が存在する可能性が高いことが理解できる。
また非検出頻度マップ610では、動体700があまり検出されない撮像ブロックBKについての非検出頻度611は大きくなる。したがって、非検出頻度マップ610を参照することによって、撮像領域10において動体700が存在しない可能性が高い領域を特定することができる。
本実施の形態では、後述するように、非検出頻度マップ610において、ある撮像ブロックBKについての非検出頻度611がクリア用しきい値よりも大きくなると、検出頻度マップ600において、当該ある撮像ブロックBKについての検出頻度601がクリアされて零に設定される。このとき、非検出頻度マップ610における当該撮像ブロックBKについての非検出頻度611もクリアされて零に設定される。
また本実施の形態では、2種類の検出頻度マップ600と2種類の非検出頻度マップ610が使用される。具体的には、互いに対を成す第1検出頻度マップ600及び第1非検出頻度マップ610と、互いに対を成す第2検出頻度マップ600及び第2非検出頻度マップ610とが使用される。以後、第1及び第2検出頻度マップ600をそれぞれ「第1検出頻度マップ600a」及び「第2検出頻度マップ600b」と呼び、第1及び第2非検出頻度マップ610をそれぞれ「第1非検出頻度マップ610a」及び「第2非検出頻度マップ610b」と呼ぶ。
第1非検出頻度マップ610aにおいて、ある撮像ブロックBKについての非検出頻度611が第1のクリア用しきい値よりも大きくなると、第1検出頻度マップ600aにおいて、当該ある撮像ブロックBKについての検出頻度601がクリアされて零に設定される。このとき、第1非検出頻度マップ610aにおける当該撮像ブロックBKについての非検出頻度611もクリアされて零に設定される。また、第2非検出頻度マップ610bにおいて、ある撮像ブロックBKについての非検出頻度611が第2のクリア用しきい値よりも大きくなると、第2検出頻度マップ600bにおいて、当該ある撮像ブロックBKについての検出頻度601がクリアされて零に設定される。このとき、第2非検出頻度マップ610bにおける当該撮像ブロックBKについての非検出頻度611もクリアされて零に設定される。
本実施の形態では、第2のクリア用しきい値が、第1のクリア用しきい値よりも大きく設定される。例えば、第2のクリア用しきい値は、第1のクリア用しきい値の数十倍に設定される。具体的な数値例としては、第1のクリア用しきい値は例えば“50”に設定され、第2のクリア用しきい値は例えば“1000”に設定される。これにより、第2検出頻度マップ600bの検出頻度がクリアされる間隔は、第1検出頻度マップ600aの検出頻度がクリアされる間隔よりも長くなる。つまり、第2検出頻度マップ600bの検出頻度は、第1検出頻度マップ600aの検出頻度よりもクリアされにくくなる。
<マップ更新処理>
次にステップs13でのマップ更新処理について説明する。図13はマップ更新処理を示すフローチャートである。ステップs12において、処理対象の入力画像200に対して動体検出処理が行われると、第1特定部32は、ステップs131において、処理対象の入力画像200を構成する複数の画像ブロックのうち、動体検出部31で動体画像であると判定された画像ブロックを特定する。つまり、第1特定部32は、処理対象の入力画像200を構成する複数の画像ブロックにそれぞれ対応する複数の撮像ブロックにおいて、動体検出部31が動体が存在すると判定した撮像ブロックを特定する。
次にステップs132において、第1特定部32は、第1及び第2検出頻度マップ600a,600bのそれぞれにおいて、動体が存在すると判定された撮像ブロックでの動体の検出頻度を1つ増加させる。そして、ステップs133において、第1特定部32は、第1及び第2非検出頻度マップ610a,610bのそれぞれにおいて、動体が存在すると判定された撮像ブロック以外の撮像ブロック、つまり動体が存在しないと判定された撮像ブロックでの動体の非検出頻度を1つ増加させる。なお、ステップs132,s133の実行順序を入れ替えても良い。
次にステップs134において、第1特定部32は第1検出頻度マップ600aのクリア処理を行う。具体的には、第1特定部32は、まず、第1非検出頻度マップ610aにおいて、第1のクリア用しきい値よりも大きい非検出頻度が存在するかを判定する。そして、第1特定部32は、第1のクリア用しきい値よりも大きい非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第1検出頻度マップ600aでの検出頻度をクリアして零に設定する。このとき、第1特定部32は、第1非検出頻度マップ610aでの当該非検出頻度をクリアして零に設定する。なお、第1特定部32は、第1非検出頻度マップ610aにおいて、第1のクリア用しきい値以上の非検出頻度が存在するかを判定し、当該非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第1検出頻度マップ600aでの検出頻度をクリアして零に設定しても良い。
ステップs134が実行されると、第1特定部32はステップs135において第2検出頻度マップ600bのクリア処理を行う。具体的には、第1特定部32は、まず、第2非検出頻度マップ610bにおいて、第2のクリア用しきい値よりも大きい非検出頻度が存在するかを判定する。そして、第1特定部32は、第2のクリア用しきい値よりも大きい非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第2検出頻度マップ600bでの検出頻度をクリアして零に設定する。このとき、第1特定部32は、第2非検出頻度マップ610bでの当該非検出頻度をクリアして零に設定する。なお、第1特定部32は、第2非検出頻度マップ610bにおいて、第2のクリア用しきい値以上の非検出頻度が存在するかを判定し、当該非検出頻度が存在する場合には、当該非検出頻度に対応する撮像ブロックについての第2検出頻度マップ600bでの検出頻度をクリアして零に設定しても良い。また、ステップs134,s135の実行順序は入れ替えても良い。
以後、第1特定部32は、次の新たな処理対象の入力画像200に対して動体検出処理が実行されるたびに、その動体検出処理の結果に基づいてステップs131〜s135を実行する。
<微動検出処理>
次にステップs14での微動検出処理について説明する。図14は微動検出処理を示すフローチャートである。図14に示されるように、ステップs141において、微動検出部33は、処理対象の入力画像200に基づいて、撮像領域10での物体の微動を検出する検出処理を行う。本実施の形態では、微動検出部33は、例えば、動体検出部31での検出結果に基づいて、処理対象の入力画像200に含まれる動体領域(動体画像であると判定された全領域)に対してラベリング処理を行い、当該ラベリング処理によって得られたラベリング領域に基づいて撮像領域10において物体の微動があるか否かを判断する。
ステップs141において、撮像領域10での物体の微動が検出されなければ、微動検出処理は終了する。一方で、ステップs141において、撮像領域10での物体の微動が検出されれば、ステップs142において、第2特定部34は、第2検出頻度マップ600bを用いて、撮像領域10において物体の微動が生じている領域(微動発生領域)を特定する。具体的には、第2特定部34は、撮像領域10を構成する複数の撮像ブロックBKにおいて、物体の微動が発生している撮像ブロックBKを特定する。
ここで、人等の動体は、静止しているといっても完全に静止していることはほとんど無く、微動することがある。例えば、机に座っている人や、通路で立ち止まって他の人と話をしている人は、その全体的な位置はほとんど変化しないものの(巨視的にはほとんど静止しているものの)、手(腕や手の指)、頭、体、脚等が微動する。図15は、撮像領域10において人701が微動する様子を模式的に示す図である。一方で、椅子、机等の背景となる物体は、移動することはあるものの、移動した後においてはほぼ完全に静止する。
本実施の形態では、撮像領域10において物体の微動が検出されたときに微動発生領域を特定し、当該微動発生領域を、検出対象である動体が撮像領域10において存在している領域と見なしている。図15には、微動発生領域750が斜線で示されている。なお、微動検出処理の詳細については後述する。
<マップ補正処理>
次にステップs15でのマップ補正処理について説明する。マップ補正処理では、微動検出部33で物体の微動が検出されると、第1特定部32が、第2特定部34で特定された微動発生領域についての第2検出頻度マップ600bの検出頻度を、第1検出頻度マップ600aに対して当該微動発生領域についての値としてコピーするコピー処理を行う。このコピー処理によって、第1検出頻度マップ600aが補正される。図16は当該コピー処理の一例を示す図である。
図16に示される第2検出頻度マップ600bは、上述の図15に示される例に対応している。また、図16に示される補正前の第1検出頻度マップ600aも上述の図15に示される例に対応している。図16に示される第2検出頻度マップ600bにおいて太線で囲まれる検出頻度601は、図15に示される微動発生領域750での動体の検出頻度である。また、図16に示される補正前の第1検出頻度マップ600aにおいて太線で囲まれる検出頻度601は、図15に示される微動発生領域750での動体の検出頻度である。
上述のように、第1のクリア用しきい値は小さく設定されることから、第1検出頻度マップ600aにおける、ある撮像ブロックBKについての検出頻度は、当該撮像ブロックBKに動体が存在しなくなると、すぐにクリアされる。したがって、図16に示されるように、補正前の第1検出頻度マップ600aにおける、微動発生領域750についての検出頻度は比較的小さい値を示す。よって、補正前の第1検出頻度マップ600aにおいては、人が存在する撮像ブロックBKについての検出頻度が小さくなり、当該第1検出頻度マップ600aから、人が存在する可能性が高い領域を適切に特定できない可能性がある。
一方で、第2のクリア用しきい値は大きく設定されることから、第2検出頻度マップ600bにおける、ある撮像ブロックBKについての検出頻度は、当該撮像ブロックBKに動体が存在しなくなっても、すぐにはクリアされない。したがって、図16に示されるように、第2検出頻度マップ600bにおける、微動発生領域750についての検出頻度は比較的大きい値を示す。
そこで、本実施の形態では、図16に示されるように、第1特定部32は、微動発生領域750についての第2検出頻度マップ600bの検出頻度(太線で囲まれた検出頻度)を、第1検出頻度マップ600aに対して当該微動発生領域750についての値としてコピーする。これにより、補正後の第1検出頻度マップ600aにおいては人が存在する撮像ブロックBKについての検出頻度が大きくなり、当該第1検出頻度マップ600aから、人が存在する可能性が高い領域を適切に特定することができる。
本実施の形態では、第1特定部32は、補正後の第1検出頻度マップ600aにおいて、検出頻度がしきい値よりも大きい検出頻度を特定する。そして、第1特定部32は、しきい値よりも大きい検出頻度に対応する撮像ブロックBKを、撮像領域10において動体が存在する可能性が高い領域とする。つまり、第1特定部32は、補正後の第1検出頻度マップ600aにおいて、撮像ブロックBKについて動体の検出頻度がしきい値よりも大きい場合には、当該撮像ブロックBKには動体が存在する可能性が高いと判定する。なお、第1特定部32は、しきい値以上の検出頻度に対応する撮像ブロックBKを、撮像領域10において動体が存在する可能性が高い領域としても良い。以後、補正後の第1検出頻度マップ600aの検出頻度と比較されるしきい値を「判定用しきい値」と呼ぶ。
<背景モデル更新処理>
次にステップs16での背景モデル更新処理について説明する。背景モデル更新処理では、キャッシュモデルを記憶するキャッシュモデル記憶部6が使用される。キャッシュモデルには、背景モデル500に登録される背景画像情報の候補である背景画像情報候補が含められる。
ここで、撮像領域では、日照変化あるいは照明変化などによって、明るさが変化することがある。撮像領域での明るさが変化すると、入力画像200の画像情報が変化することから、動体検出部31は、入力画像200に含まれる、背景を示す画像ブロックを誤って動体画像であると判定する可能性がある。したがって、動体検出部31において動体画像あると判定された画像ブロックの画像情報が、実際には背景の画像情報である可能性がある。
そこで、本実施の形態では、背景モデル更新部35は、動体検出部31において動体画像であると判定された画像ブロックの画像情報を背景画像情報候補として、いったんキャッシュモデルに登録する。そして、背景モデル更新部35は、登録判定期間に入力される複数枚の入力画像200に基づいて、キャッシュモデルに登録した背景候補画像情報が、背景の画像情報であるか否かを判定する。背景モデル更新部35は、キャッシュモデルに登録した背景画像情報候補が背景の画像情報であると判定すると、当該背景画像情報候補を背景画像情報として背景モデル500に登録する。つまり、背景モデル更新部35は、登録判定期間に入力される入力画像200に基づいて、キャッシュモデル記憶部6に記憶した背景画像情報候補を背景画像情報として背景モデル500に登録するか否かを判定する。
図17は背景モデル更新処理を示すフローチャートである。図17に示されるように、ステップs161において、背景モデル更新部35は、撮像領域のある撮像ブロックを注目撮像ブロックとし、上述のステップs11で入力された処理対象の入力画像200における、注目撮像ブロックの画像を示す画像ブロック(注目画像ブロック)が動体検出部31において動体画像であると判定されたか否かを判定する。ステップs161において、注目画像ブロックが動体検出部31において動体画像ではないと判定されたと判断されると、つまり、注目画像ブロックの画像情報が、背景モデル500中の各注目コードワードCWの背景画像情報と一致すると判定されると、背景モデル更新部35はステップs162を実行する。
ステップs162では、背景モデル更新部35は、注目画像ブロックの画像情報と一致すると判定された背景画像情報を含む、背景モデル500中のコードワードCWの最新一致時刻Teを現在時刻に変更する。
一方で、ステップs161において、注目画像ブロックが動体検出部31において動体画像であると判定されたと判断されると、背景モデル更新部35はステップs163を実行する。ステップs163では、キャッシュモデルの更新が行われる。具体的には、背景モデル更新部35は、注目画像ブロックの画像情報が、キャッシュモデル記憶部6内のキャッシュモデルに含まれる各注目コードワードCWに含まれていない場合には、当該画像情報を背景画像情報候補として含むコードワードCWを生成してキャッシュモデル内の注目コードブックCBに登録する。このコードワードCWには、画像情報(背景画像情報候補)以外にも、最新一致時刻Te及びコードワード生成時刻Tiが含まれている。ステップs163で生成されたコードワードCWに含まれる最新一致時刻Teは、暫定的に、コードワード生成時刻Tiと同じ時刻に設定される。また背景モデル更新部35は、注目画像ブロックの画像情報が、キャッシュモデル記憶部6内のキャッシュモデルに含まれる注目コードワードCWに含まれている場合には、つまり、注目画像ブロックの画像情報と一致する背景画像情報候補を含む注目コードワードCWがキャッシュモデルに含まれている場合には、キャッシュモデルにおける、当該背景画像情報候補を含むコードワードCW中の最新一致時刻Teを現在時刻に変更する。
このように、ステップs163では、不足している画像情報を含むコードワードCWのキャッシュモデルへの追加、あるいはキャッシュモデル中のコードワードCWの最新一致時刻Teの更新が行われる。
なお、ステップs163において、背景モデル更新部35は、キャッシュモデル記憶部6内のキャッシュモデルに、注目撮像ブロックに対応するコードブックCBが登録されていない場合には、注目画像ブロックの画像情報を背景画像情報候補として含むコードワードCWを生成し、当該コードワードCWを含むコードブックCBを生成してキャッシュモデルに登録する。
ステップs162あるいはステップs163が実行されると、ステップs164において、背景モデル更新部35は、撮像領域における全ての撮像ブロックについて処理が行われた否か、つまり、全ての撮像ブロックを注目撮像ブロックに設定したか否かを判定する。ステップs164において、処理が行われていない撮像ブロックが存在すると判定された場合には、背景モデル更新部35は、未だ処理が行われていない撮像ブロックを新たな注目撮像ブロックとして、ステップs161以降を実行する。一方で、ステップs164において、撮像領域における全ての撮像ブロックについて処理が行われたと判定されると、背景モデル更新部35はステップs165を実行する。
ステップs165では、キャッシュモデルに含まれる、最新一致時刻Teが所定期間更新されていないコードワードCWが削除される。つまり、キャッシュモデル中のコードワードCWに含まれる画像情報が、ある程度の期間、入力画像200から取得された画像情報と一致しない場合には、当該コードワードCWが削除される。コードワードCWに含まれる画像情報が、背景の画像情報である場合には、つまり入力画像200に含まれる、背景を示す画像から取得された画像情報である場合には、当該コードワードCW中の最新一致時刻Teは頻繁に更新されることから、最新一致時刻Teが所定期間更新されていないコードワードCWに含まれる画像情報については、入力画像200に含まれる動体画像から取得された画像情報である可能性が高いと考えることができる。最新一致時刻Teが所定期間更新されていないコードワードCWがキャッシュモデルから削除されることによって、動体画像の画像情報がキャッシュモデルから削除される。以後、この所定期間を「削除判定用期間」と呼ぶことがある。削除判定用期間は、撮像領域での明るさの変化、及びポスターの設置あるいは机の配置変更などの環境の変化等による画像情報の変化と、検出対象とする人等の動体が動くときに生じる画像情報の変化とを区別するために予め設定される期間である。例えば、入力画像200を撮像する撮像部の撮像フレームレートが30fpsであり、撮像領域10が会議室100(図4参照)であるとすると、削除判定用期間は、数フレーム〜数十フレーム分の入力画像200が入力される期間に設定される。
ステップs165において、キャッシュモデルに含まれる、最新一致時刻Teが削除判定用期間更新されていないコードワードCWが削除されると、背景モデル更新部35はステップs166を実行する。ステップs166では、背景モデル更新部35は、キャッシュモデルに登録されているコードワードCWのうち、キャッシュモデルに登録されてから登録判定期間経過しているコードワードCWを特定する。ステップs163では、コードワードCWが生成されると、当該コードワードCWはすぐにキャッシュメモリに登録されることから、コードワードCWがキャッシュモデル内に登録された時刻として、当該コードワードCWに含まれるコードワード生成時刻Tiを使用することができる。
登録判定期間は削除判定用期間よりも大きな値に設定される。登録判定期間は、削除判定用期間よりも例えば数倍程度大きな値に設定される。本実施の形態では、登録判定期間はフレーム数で表されるものとする。つまり、登録判定期間は、その期間に入力される入力画像200の枚数で表されるものとする。登録判定期間が例えば“50”であるとすると、登録判定期間は、50フレーム分の入力画像200(50枚の入力画像200)が入力される期間となる。
ステップs166が実行されると、ステップs167において、補正後の第1検出頻度マップ600aが用いられた背景モデル登録判定処理が行われる。背景モデル登録判定処理では、ステップs166で特定されたコードワードCWを、背景モデル記憶部5内の背景モデル500に登録するか否かが決定される。以下に背景モデル登録判定処理について詳細に説明する。
背景モデル登録判定処理では、まず第1特定部32が、上述のようにして、補正後の第1検出頻度マップ600aを用いて、撮像領域10において動体が存在する可能性が高い領域を特定する。
図18は補正後の第1検出頻度マップ600aの一例を示す図である。判定用しきい値=100とすると、図18に示される補正後の第1検出頻度マップ600aでは、一番右の列の下から一行目と二行目の2つの検出頻度が判定用しきい値よりも大きくなっている。したがって、撮像領域10において、一番右の列の下から一行目と二行目の撮像ブロックBKから成る領域(斜線で示された領域)が、撮像領域10において動体が存在する可能性が高い領域120となる。
なお、第1特定部32は、補正後の第1検出頻度マップ600aにおいて、判定用しきい値よりも大きい検出頻度が存在しない場合には、撮像領域10において動体が存在する可能性が高い領域が存在しないと判定する。
第1特定部32において、撮像領域10において動体が存在する可能性が高い領域が特定されると、背景モデル更新部35は、ステップs166で特定された各コードワードCWについて、当該コードワードCWを背景モデル500に登録するか否かを、第1特定部32の特定結果に基づいて決定する。
具体的には、背景モデル更新部35は、ステップs166で特定されたコードワードCWに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、第1特定部32で特定された、撮像領域10において動体が存在する可能性が高い領域に含まれる場合には、つまり、当該撮像ブロックに動体が存在する可能性が高い場合には、当該コードワードCWを背景モデル500に登録しないと決定する。
一方で、背景モデル更新部35は、ステップs166で特定されたコードワードCWに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、第1特定部32で特定された、撮像領域10において動体が存在する可能性が高い領域に含まれない場合には、つまり、当該撮像ブロックに動体が存在する可能性が高くない場合には、当該コードワードCWを背景モデル500に登録すると決定する。
なお、第1特定部32において、撮像領域10において動体が存在する可能性が高い領域が存在しないと判定された場合には、背景モデル更新部35は、ステップs166で特定されたコードワードCWのすべてを背景モデル500に登録すると決定する。
背景モデル更新部35は、背景モデル500に登録すると決定されたコードワードCWを、背景モデル500内の当該コードワードCWに対応するコードブロックCBに登録する。そして、背景モデル更新部35は、背景モデル500に登録したコードワードCWをキャッシュモデルから削除する。
上記の説明から理解できるように、本実施の形態では、背景モデル更新部35は、登録判定期間において入力される入力画像200が用いられた動体検出部31での動体の検出結果に基づいて、キャッシュメモリに登録したコードワードCWを背景モデル500に登録するか否かを判定している。つまり、背景モデル更新部35は、登録判定期間において入力される入力画像200が用いられた動体検出部31での動体の検出結果に基づいて、キャッシュメモリに登録した背景画像情報候補を背景画像情報として背景モデル500に登録するか否かを判定している。これにより、動体検出部31において動体画像であると誤って判定された画像ブロックの画像情報を、背景画像情報として背景モデル500に適切に登録することができる。よって、背景モデル500を適切に更新することができ、動体検出部31での動体検出の精度が向上する。
また、本実施の形態とは異なり、キャッシュモデルに登録されているコードワードCWのうち、キャッシュモデルに登録されてから登録判定期間経過しているコードワードCWを無条件で背景モデル500に登録する場合には、キャッシュモデルに登録された、動体画像の画像情報を含むコードワードCWが背景モデル500に登録される可能性がある。具体的には、撮像領域において動体が一時的に静止している場合には、撮像領域における、当該動体が存在する撮像ブロックの画像を示す画像ブロックの画像情報が変化しにくい。したがって、キャッシュモデルに登録された、当該動体を示す動体画像の画像情報を含むコードワードCWが、キャッシュモデルから長時間削除されずに、最終的には背景モデル500に登録される可能性がある。これにより、動体検出部31での動体検出の精度が劣化する可能性がある。
そこで、本実施の形態では、キャッシュモデルに登録されてから登録判定期間経過しているコードワードCWを無条件で背景モデル500に登録するのではなく、上述のように、補正後の第1検出頻度マップ600aを用いて当該コードワードCWを背景モデル500に登録するか否かを決定している。これにより、動体画像の画像情報を含むコードワードCWが誤って背景モデル500に登録されることを抑制することができる。以下にこの点について詳細に説明する。
上述のように、第1特定部32は、補正後の第1検出頻度マップ600aを用いて、撮像領域10において動体が存在する可能性が高い撮像ブロックを特定している。入力画像200に含まれる、動体が存在する可能性が高い撮像ブロックの画像を示す画像ブロックの画像情報については、動体画像の画像情報である可能性が高い。したがって、キャッシュモデルに登録されてから登録判定期間経過しているコードワードCWであっても、当該コードワードCWに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、動体が存在する可能性が高い撮像ブロックであれば、当該コードワードCWの画像情報は動体画像の画像情報である可能性が高い。よって、本実施の形態のように、キャッシュモデルに登録されてから登録判定期間経過しているコードワードCWであっても、当該コードワードCWに含まれる画像情報が取得された画像ブロックに対応する撮像ブロックが、動体が存在する可能性が高い撮像ブロックであれば、当該コードワードCWを背景モデル500に追加しないことによって、動体画像の画像情報を含むコードワードCWが誤って背景モデル500に追加されることを抑制することができる。
このように、本実施の形態では、背景モデル更新部35が、登録判定期間において入力される入力画像200が用いられた動体検出部31での動体の検出結果と、第1特定部32で特定される、撮像領域10において動体が存在する可能性が高い領域とに基づいて、キャッシュメモリに登録した背景画像情報候補を背景画像情報として背景モデル500に登録するか否かを判定しているため、動体検出部31での動体検出の精度を向上することができる。
ステップs167が終了すると、ステップs168において、背景モデル更新部35は、背景モデル500に含まれるコードワードCWにおいて、入力画像200の画像情報と所定期間にわたって一致しなかった背景画像情報を含むコードワードCWを削除する。つまり、背景モデル更新部35は、背景モデル500に含まれる、最新一致時刻Teが所定期間更新されていないコードワードCWを削除する。これにより、撮像領域10において、時系列的な撮像環境の変化により既に背景ではなくなった撮像ブロックの画像から取得された画像情報を含むコードワードCWを背景モデル500から削除することができる。よって、背景モデル500の情報量を低減することができる。
ステップs168が終了すると、ステップs169において、背景モデル更新部35は、ステップs14において微動検出部33が物体の微動を検出したか否かを判断する。ステップs169において、微動検出部33が物体の微動を検出していないと判断されると、背景モデル更新処理は終了する。
一方で、ステップs169において、微動検出部33が物体の微動を検出したと判断されると、ステップs170において、背景モデル更新部35は、ステップs14で特定された微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル500に登録されている画像情報を、当該背景モデル500から削除する。具体的には、背景モデル更新部35は、微動発生領域に含まれる各撮像ブロックについて、背景モデル500に登録されている、当該撮像ブロックに対応するコードブックに含まれるコードワードのうち、それに含まれる最新一致時刻Teが比較的新しいコードワードを削除する。例えば、背景モデル更新部35は、微動発生領域に含まれる各撮像ブロックについて、背景モデル500に登録されている、当該撮像ブロックに対応するコードブックに含まれるコードワードのうち、それに含まれる最新一致時刻Teが現在時刻よりも数フレーム以内にあるコードワードを削除する。ステップs170が終了すると、背景モデル更新処理が終了する。
このような背景モデルの更新処理を行うことによって、撮像領域10での明るさの変化等の撮像環境の変化が生じた場合であっても、撮像環境の変化に追従した背景モデル500を用いて動体検出を行うことができる。よって、動体検出の精度が向上する。
<登録判定期間と第1検出頻度マップに関する判定用しきい値との関係>
本実施の形態では、登録判定期間は、撮像領域において動体が存在する可能性が高い領域を特定する際に使用される判定用しきい値よりも小さく設定されている。例えば、登録判定期間は“50”に設定され、判定用しきい値は“100”に設定される。
ここで、本実施の形態とは異なり、登録判定期間が判定用しきい値よりも大きい場合について考える。この場合には、撮像領域において椅子や机等の静止物体が初めて現れたとき、当該静止物体についての画像情報は背景モデル500に登録されていないことから、当該静止物体の画像は動体画像として判定され、当該静止物体についての画像情報はキャッシュモデルに一旦登録される。その後、当該静止物体の画像は、動体画像であると判定され続けると、登録判定期間が経過する前に、当該静止物体が存在する撮像ブロックについての第1検出頻度マップ600aの検出頻度が判定用しきい値を越えることになる。これにより、当該静止物体が存在する撮像ブロックは、動体が存在する可能性が高い領域として判定される。そうすると、キャッシュモデルに登録されている、当該静止物体についての画像情報は、登録判定期間を経過したとしても、背景モデル500には登録されなくなる。よって、当該静止物体の画像はいつまでも動体画像として判定され、動体検出の精度が劣化する可能性がある。
一方で、本実施の形態のように、登録判定期間が判定用しきい値よりも小さい場合には、静止物体が存在する撮像ブロックについての第1検出頻度マップ600aの検出頻度が判定用しきい値を越える前に、登録判定期間が経過することから、静止物体についての画像情報が背景画像情報として背景モデル500に登録される。よって、静止物体の画像はいつまでも動体画像であると判定されることを抑制することができ、動体検出の精度を向上することができる。
本実施の形態のように、静止物体の画像がいつまでも動体画像であると判定されることを抑制するために、登録判定期間を判定用しきい値よりも小さく設定すると、動体画像の画像情報が誤って背景モデル500に登録されることがある。
例えば、ある動体が撮像ブロックに初めて現れた場合、当該動体についての画像情報は背景モデル500に登録されていないことから、当該撮像ブロックに対応する画像ブロックは動体画像として判定され、当該画像ブロックから得られた画像情報(以後、「第1画像情報」と呼ぶ)はキャッシュモデルに一旦登録される。その後、当該撮像ブロックに対応する画像ブロックが動体画像であると判定され続けると、当該撮像ブロックについての第1検出頻度マップ600aの検出頻度が判定用しきい値を越える前に、登録判定期間が経過して、キャッシュモデル内の第1画像情報(動体画像の画像情報)が背景画像情報として誤って背景モデル500に登録される。以後、当該撮像ブロックに対応する画像ブロックは動体画像でないと判定され、動体検出の精度が劣化する可能性がある。
そこで、本実施の形態では、上述のステップs169において物体の微動が検出されたと判定された場合には、ステップs170において、微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル500に登録されている画像情報を当該背景モデル500から削除している。微動発生領域は、撮像領域において動体が存在する領域であると考えることができることから、微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル500に登録されている画像情報(上記の例では、対応する最新一致時刻Teが比較的新しい画像情報)を当該背景モデル500から削除することによって、背景画像情報として誤って背景モデル500に登録された、動体画像から得られた画像情報を当該背景モデル500から削除することができる。よって、登録判定期間を判定用しきい値よりも小さく設定したことに起因して動体検出の精度が劣化するということを抑制することができる。
<検出頻度マップのクリア処理のメリットについて>
第1検出頻度マップ600aに含まれる検出頻度は、ステップs12での動体検出処理において、当該検出頻度に対応する撮像ブロックでの動体の存在が検出されるたびに増加する。したがって、検出頻度をクリアしない場合には、撮像領域でのレイアウトの変更等によって現在は動体が存在する可能性は高くない撮像ブロックについての検出頻度が判定用しきい値よりも大きい状態が発生する可能性が高くなる。
一方で、ある撮像ブロックについて、動体が存在する可能性が高い状態からそうではない状態へ遷移すると、第1非検出頻度マップ610aでの当該撮像ブロックの非検出頻度が大きくなる。
そこで、本実施の形態では、上述のマップ更新処理のステップs134において、第1非検出頻度マップ610aにおいて第1のクリア用しきい値よりも大きい非検出頻度に対応する撮像ブロックについての第1検出頻度マップ600aでの検出頻度をクリアしている。これにより、現在は動体が存在する可能性が高くない撮像ブロックについての検出頻度が判定用しきい値よりも大きい状態が発生することを抑制することができる。したがって、第1検出頻度マップ600aを用いて撮像領域10において動体が存在する可能性が高い領域を正確に特定することができる。よって、動体画像の画像情報が背景モデル500に登録されることをさらに抑制することができる。その結果、動体検出の精度がさらに向上する。
なお、第2検出頻度マップ600bにおいても、撮像領域10でのレイアウトの変更等によって現在は動体が存在する可能性は高くない撮像ブロックについての検出頻度が大きい状態が発生することを抑制するために、上述のステップs135において、第2検出頻度マップ600bの検出頻度を、第2非検出頻度マップ610bを用いてクリアしている。
<マップ補正処理のメリットについて>
第1非検出頻度マップ610aの非検出頻度と比較される第1のクリア用しきい値が大きい場合には、撮像領域10でのレイアウトの変更等によって現在は動体が存在する可能性は高くない撮像ブロックについての検出頻度がなかなかクリアされないことから、当該検出頻度が判定用しきい値よりも大きい状態が発生する可能性が高くなる。したがって、このような状態の発生を抑制するためには、第1のクリア用しきい値はできる限り小さい方が好ましい。
一方で、第1のクリア用しきい値が小さく設定されると、第1検出頻度マップ600aにおける、ある撮像ブロックBKについての検出頻度は、当該撮像ブロックBKに動体が存在しなくなるとすぐにクリアされる。したがって、上述のように、第1検出頻度マップ600a(補正前の第1検出頻度マップ600a)においては、微動が生じる人が存在する撮像ブロックBKについての検出頻度が小さくなり、当該第1検出頻度マップ600aから、人が存在する可能性が高い領域を適切に特定できない可能性がある。
そこで、本実施の形態では、上述のステップs15において、微動発生領域についての第2検出頻度マップ600bの検出頻度を、第1検出頻度マップ600aに対して当該微動発生領域についての値としてコピーしている。これにより、第1のクリア用しきい値が小さく設定されたとしても、補正後の第1検出頻度マップ600aにおいては、人が存在する撮像ブロックBKについての検出頻度が大きくなり、補正後の第1検出頻度マップ600aから、人が存在する可能性が高い領域を適切に特定することができる。よって、撮像領域において動体が存在する可能性が高い領域を適切に特定することができる。その結果、動体検出の精度がより向上する。
以上のように、本実施の形態に係る動体検出装置1では、背景モデル更新部35が、登録判定期間において入力される入力画像200が用いられた動体検出部31での動体の検出結果と、第1特定部32で特定される、撮像領域10において動体が存在する可能性が高い領域とに基づいて、キャッシュメモリに登録した背景画像情報候補を背景画像情報として背景モデル500に登録するか否かを判定しているため、動体検出部31での動体検出の精度を向上することができる。
また、本実施の形態では、登録判定期間が判定用しきい値よりも小さく設定されていることから、入力画像200に含まれる、静止物体の画像がいつまでも動体画像であると判定されることを抑制することができる。一方で、本実施の形態では、微動発生領域の画像から得られた画像情報であって、背景画像情報として背景モデル500に登録されている画像情報が当該背景モデル500から削除されることから、背景画像情報として誤って背景モデル500に登録された、動体画像から得られた画像情報を当該背景モデル500から削除することができる。よって、動体検出の精度がさらに向上する。
図19は動体検出部31での動体検出の結果の一例を示す図である。図19には、動体検出部31が入力画像200から検出した動体領域800が入力画像200に重ねて示されている。図19に示される入力画像200には、被写体の画像として、床910に複数のダンボール920と複数の椅子930が配置された部屋900の画像が含まれている。部屋900の壁940には図示しない窓が設けられている。部屋900には二人の人990a,990bが存在している。図19の例では、部屋900に存在する人990a,990bのそれぞれが、動体領域800として適切に検出されている。
図20は、部屋900において、人990a,990bが図19に示される位置で静止している場合の補正後の第1検出頻度マップ600aを示す図である。図20では床910及び壁940が破線で示されている。図20では、理解し易いように、検出頻度の大きさを例えば第1段階から第3段階の3段階に分けて補正後の第1検出頻度マップ600aを示している。図20に示される補正後の第1検出頻度マップ600aにおいては、検出頻度が、最も大きい第3段階に属する領域については左上がりのハッチングが示されており、2番目に大きい第2段階に属する領域については右上がりのハッチングが示されている。そして、図20に示される補正後の第1検出頻度マップ600aにおいては、検出頻度が、最も小さい第1段階に属する領域についてはハッチングが示されていない。図20に示される補正後の第1検出頻度マップ600aにおいては、撮像領域10における、人990a,990bが存在する領域についての検出頻度が大きくなっている。
図21は、本実施の形態とは異なり、背景モデル500の更新に第1検出頻度マップ600aが使用されない場合での動体検出部31での動体検出の結果の一例を示す図である。図21には、動体検出部31が入力画像200から検出した動体領域800が入力画像200に重ねて示されている。図21に示される入力画像200では、二人の人990a,990bが二つの椅子930にそれぞれ座っている。図21に示される動体検出結果では、人990aは動体領域800として検出されているものの、人990bは動体領域800として検出されていない。
図22は、本実施の形態での動体検出結果の一例を示す図である。図22に示されるように、背景モデル500の更新に補正後の第1検出頻度マップ600aが使用された場合には、人990a,990bのそれぞれが動体領域800として適切に検出されている。
<微動検出処理の詳細について>
以下に、微動検出処理についての3つの具体例について説明する。
<第1の例>
第1の例では、物体の微動の検出にラベリング処理が使用される。図23は、微動検出処理の第1の例を示すフローチャートである。
図23に示されるように、第1の例では、ステップs241において、微動検出部33は、ステップs12での動体検出処理の結果に基づいて、処理対象の入力画像200を構成する複数の画像ブロックにおいて動体画像であると判断された画像ブロック(動体画像ブロック)から成る動体領域を特定する。
次にステップs242において、微動検出部33は、処理対象の入力画像200に含まれる動体領域に対して4連結あるいは8連結等を用いたラベリング処理を行う。これにより、隣接する複数の動体画像ブロックが連結して一つのラベリング領域となる。動体領域は少なくとも一つのラベリング領域で構成される。動体領域に含まれるラベリング領域は、動体領域に含まれる独立領域(島領域)であるとも言える。以後、当該ラベリング領域を「動体ラベリング領域」と呼ぶ。
次にステップs243において、微動検出部33は、ステップs242で得られた少なくとも一つの動体ラベリング領域において、面積が小さい動体ラベリング領域が存在するか否かを判断する。具体的には、微動検出部33は、ステップs242で得られた少なくとも一つの動体ラベリング領域において、それに含まれる画素の数が所定数よりも小さい動体ラベリング領域が存在するか否かを判断する。撮像領域において物体の微動が生じている場合には、当該撮像領域の画像を示す入力画像200に含まれる動体領域に対してラベリング処理を行うと、面積が小さい動体ラベリング領域が得られる。したがって、ステップs242で得られた少なくとも一つの動体ラベリング領域において、面積が小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定できる。
微動検出部33は、面積が小さい動体ラベリング領域、つまりそれに含まれる画素の数が所定数よりも小さい動体ラベリング領域が存在しない場合には、ステップs244において、撮像領域において物体の微動が発生していないと判断する。ステップs244において、撮像領域で物体の微動が発生していないと判断されると、微動検出処理は終了する。
一方で、微動検出部33は、面積が小さい動体ラベリング領域が存在する場合には、ステップs245において、撮像領域において物体の微動が発生していると判断する。
なお、あまりにも小さい動体ラベリング領域、例えば数画素程度しか含まれない動体ラベリング領域はノイズによって発生したと考えることができる。したがって、微動検出部33は、ステップs242で得られた少なくとも一つの動体ラベリング領域において、それに含まれる画素の数が第1所定数よりも小さく、第2所定数(<第1所定数)よりも大きいラベリング領域が存在する場合に、撮像領域において物体の微動が発生していると判断しても良い。第2所定数は例えば“10”未満に設定される。
ステップs245が実行されると、第2特定部34は、ステップs246において、第2検出頻度マップ600bを2値化して2値化マップを生成する。つまり、第2特定部34は、第2検出頻度マップ600bに含まれる各検出頻度としきい値とを比較して、しきい値よりも大きい検出頻度を例えば“1”に置き換え、しきい値以下の検出頻度を例えば“0”に置き換えて2値化マップを生成する。以後、2値化マップにおける、“1”を示す領域を「第1領域」と呼ぶ。第1領域は、第2検出頻度マップ600bにおいて、検出頻度が比較的大きい領域である。
次にステップs247において、第2特定部34は、2値化マップの第1領域に対して4連結あるいは8連結等を用いたラベリング処理を行う。これにより、2値化マップの第1領域は、少なくとも一つのラベリング領域に分けられる。以後、当該ラベリング領域を「頻度ラベリング領域」と呼ぶ。頻度ラベリング領域は、第2検出頻度マップ600bにおいて検出頻度が比較的大きい一塊の領域(独立領域あるいは島領域)である。
次にステップs248において、第2特定部34は、ステップs247で得られた少なくとも一つの頻度ラベリング領域に基づいて、撮像領域での微動発生領域を特定する。具体的には、第2特定部34は、頻度ラベリング領域に対応する撮像ブロックが、ステップs243で特定された、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを含む場合には、当該頻度ラベリング領域に対応する撮像ブロックを微動発生領域とする。
なお、第2特定部34は、ステップs247で得られた少なくとも一つの頻度ラベリング領域の中に、それに対応する撮像ブロックが、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを含むような頻度ラベルリング領域が存在しない場合には、面積が小さい動体ラベリング領域に対応する撮像ブロックを微動発生領域とする。
また、第2特定部34は、ステップs243において、面積が小さい動体ラベリング領域が複数特定された場合には、複数の当該動体ラベリング領域のそれぞれについて、当該動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域が存在するか否かを判定する。
図24は入力画像200の動体領域に対するラベリング処理の結果の一例を示す図である。図24の例では、複数の画像ブロック211から成る入力画像200中の動体領域は2つの動体ラベリング領域220a,220bに分けられている。そして、動体ラベリング領域220aが、面積の小さい動体ラベリング領域となっている。また図24には、面積の小さい動体ラベリング領域220aに対応する2つの撮像ブロックBKaが斜線で示されている。
図25は2値化マップ650の第1領域に対するラベリング処理の結果の一例を示す図である。図25の例では、2値化マップ650の第1領域は2つの頻度ラベリング領域660a,660bに分けられている。また図25には、頻度ラベリング領域660aに対応する4つの撮像ブロックBKbが斜線で示されている。
ここで、ステップs242でのラベリング処理の結果、図24に示される、面積の小さい動体ラベリング領域220aが得られ、ステップs247でのラベリング処理の結果、図25に示される頻度ラベリング領域660a,660bが得られたとする。この場合には、頻度ラベリング領域660a,660bのうち、頻度ラベリング領域660aに対応する4つの撮像ブロックBKbが、面積が小さい動体ラベリング領域220aに対応する2つの撮像ブロックBKaのすべてを含んでいることから、ステップs248では、頻度ラベリング領域660aに対応する4つの撮像ブロックBKbが微動発生領域とされる。
このように第1の例では、撮像領域での物体の微動が検出されると、第2検出頻度マップ600bを2値化して得られる2値化マップの第1領域に対してラベリング処理が行われている。そして、当該ラベリング処理によって得られた頻度ラベリング領域のうち、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域に対応する撮像ブロックが、撮像領域において物体の微動が生じている領域とされている。
検出頻度がクリアされにくい第2検出頻度マップ600bでは、物体の微動が発生している撮像ブロックに対応する検出頻度は大きな値を示す。したがって、第2検出頻度マップ600bを2値化することによって得られた2値化マップでは、“1”を示す第1領域が、物体の微動が発生している撮像ブロックに対応する可能性が高い。
一方で、第2検出頻度マップ600bの検出頻度はクリアされにくいことから、第2検出頻度マップ600bにおいては、物体の微動が過去には発生していたものの、現在は発生していない撮像ブロックに対応する検出頻度も大きな値を示すことがある。したがって、2値化マップの第1領域には、物体の微動が発生していない撮像ブロックに対応する領域が含まれる可能性がある。
よって、2値化マップの第1領域に対応する撮像ブロックを無条件に微動発生領域とすると、正確な微動発生領域を特定することが難しくなる。
面積が小さい動体ラベリング領域に対応する撮像ブロックでは、物体の微動が発生しており、互いに隣接する複数の撮像ブロックに渡って存在する物体が微動する場合には、当該複数の撮像ブロックについての第2検出頻度マップ600bの検出頻度は大きな値を示す。したがって、2値化マップの第1領域(2値化マップにおいて検出頻度が大きい領域)のうち、面積が小さい動体ラベリング領域に対応する部分を含む独立領域、言い換えれば、面積が小さい動体ラベリング領域に対応する部分を含む頻度ラベリング領域については、物体の微動が発生している撮像ブロックに対応した領域であると考えることができる。
そこで、本例では、上記のように、2値化マップの第1領域に対してラベリング処理を行い、それによって得られた頻度ラベリング領域(検出頻度が大きい一塊の領域)のうち、面積が小さい動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域に対応する撮像ブロックを微動発生領域としている。
<第2の例>
第2の例では、物体の微動の検出に動きベクトルが使用される。動きベクトルは「オプティカルフロー」あるいは「速度ベクトル」とも呼ばれる。図26は、微動検出処理の第2の例を示すフローチャートである。
図26に示されるように、第2の例では、ステップs251において、微動検出部33は、ステップs12での動体検出処理の結果に基づいて、処理対象の入力画像200に含まれる各動体画像ブロックについての動きベクトルを求める。この動きベクトルは、処理対象の入力画像200と、それよりも一つ前の入力画像200とを用いて、例えばブロックマッチング法によって求めることができる。
次にステップs252において、微動検出部33は、処理対象の入力画像200において、同一あるいは近似する動きベクトルを有し、かつ隣接する複数の動体画像ブロックを特定する。そして、微動検出部33は、特定した当該複数の動体画像ブロックから成る領域を、同一の物体を示す同一物体領域とする。ここでは、少なくとも一つの同一物体領域が求められる。つまり、処理対象の入力画像200中の動体領域には、少なくとも一つの同一物体領域が含まれている。
次にステップs253において、微動検出部33は、ステップs252で求めた少なくとも一つの同一物体領域において、面積が小さい同一物体領域が存在するか否かを判断する。具体的には、微動検出部33は、ステップs252で求めた少なくとも一つの同一物体領域において、それに含まれる画素の数が所定数よりも小さい同一物体領域が存在するか否かを判断する。撮像領域において物体の微動が生じている場合には、当該撮像領域の画像を示す入力画像200中の動体領域には、面積が小さい同一物体領域が生じることから、ステップs252で得られた少なくとも一つの同一物体領域において、面積が小さい同一物体領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定できる。
微動検出部33は、面積が小さい同一物体領域、つまりそれに含まれる画素の数が所定数よりも小さい同一物体領域が存在しない場合には、ステップs254において、撮像領域において物体の微動が発生していないと判断する。ステップs254において、撮像領域において物体の微動が発生していないと判断されると、微動検出処理は終了する。
一方で、微動検出部33は、面積が小さい同一物体領域が存在する場合には、ステップs255において、撮像領域において物体の微動が発生していると判断する。
なお、あまりにも小さい同一物体領域はノイズによって発生したと考えることができる。したがって、第1の例と同様に、微動検出部33は、ステップs252で得られた少なくとも一つの同一物体領域において、それに含まれる画素の数が第1所定数よりも小さく、第2所定数よりも大きい同一物体領域が存在する場合に、撮像領域において物体の微動が発生していると判断しても良い。
ステップs255が実行されると、第2特定部34は、ステップs256において、上記のステップs246と同様に、第2検出頻度マップ600bを2値化して2値化マップを生成する。
次にステップs257において、第2特定部34は、上記のステップs247と同様に、2値化マップの第1領域に対して4連結あるいは8連結等を用いたラベリング処理を行う。これにより、2値化マップの第1領域は、少なくとも一つの頻度ラベリング領域に分けられる。
次にステップs258において、第2特定部34は、ステップs257で得られた少なくとも一つの頻度ラベリング領域に基づいて、撮像領域での微動発生領域を特定する。具体的には、第2特定部34は、頻度ラベリング領域に対応する撮像ブロックが、ステップs253で特定された、面積が小さい同一物体領域に対応する撮像ブロックのすべてを含む場合には、当該頻度ラベリング領域に対応する撮像ブロックを微動発生領域とする。
なお、第2特定部34は、ステップs257で得られた少なくとも一つの頻度ラベリング領域の中に、それに対応する撮像ブロックが、面積が小さい同一物体領域に対応する撮像ブロックのすべてを含むような頻度ラベリング領域が存在しない場合には、面積が小さい同一物体領域に対応する撮像ブロックを微動発生領域とする。
また、第2特定部34は、ステップs253において、面積が小さい同一物体領域が複数特定された場合には、複数の当該同一物体領域のそれぞれについて、当該同一物体領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域が存在するか否かを判定する。
ここで、上記のように、第2検出頻度マップ600bを2値化することによって得られた2値化マップでは、“1”を示す第1領域が、物体の微動が発生している撮像ブロックに対応する可能性が高い。一方で、2値化マップの第1領域には、物体の微動が発生していない撮像ブロックに対応する領域が含まれる可能性もある。したがって、2値化マップの第1領域に対応する撮像ブロックを無条件に微動発生領域とすると、正確な微動発生領域を特定することが難しくなる。
面積が小さい同一物体領域に対応する撮像ブロックでは、物体の微動が発生しており、互いに隣接する複数の撮像ブロックに渡って存在する物体が微動する場合には、当該複数の撮像ブロックについての第2検出頻度マップ600bの検出頻度は大きな値を示す。したがって、2値化マップの第1領域のうち、面積が小さい同一物体領域に対応する部分を含む独立領域、言い換えれば、面積が小さい同一物体領域に対応する部分を含む頻度ラベリング領域については、物体の微動が発生している撮像ブロックに対応した領域であると考えることができる。
そこで、本例では、上記のように、2値化マップの第1領域に対してラベリング処理を行い、それによって得られた頻度ラベリング領域のうち、面積が小さい同一物体領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域に対応する撮像ブロックを微動発生領域としている。
<第3の方法>
第3の例では、物体の微動の検出にラベリング処理と動きベクトルとが使用される。図27は、微動検出処理の第3の例を示すフローチャートである。
図27に示されるように、第3の例では、ステップs261において、微動検出部33は、上述のステップs241と同様に、処理対象の入力画像200に含まれる動体領域を特定する。次にステップs252において、微動検出部33は、上述のステップs242と同様に、処理対象の入力画像200に含まれる動体領域に対してラベリング処理を行う。
次にステップs263において、微動検出部33は、ステップs262でのラベリング処理で得られた少なくとも一つの動体ラベリング領域についての動きベクトルを求める。動体ラベリング領域を構成する複数の動体画像ブロックについての動きベクトルを第2の例のように求めて、当該動きベクトルの平均値を、当該動体ラベリング領域の動きベクトルとすることができる。
次にステップs264において、微動検出部33は、ステップs262でのラベリング処理で得られた少なくとも一つの動体ラベリング領域において、動きベクトルの大きさ(動き量)が小さい動体ラベリング領域が存在するか否かを判断する。具体的には、微動検出部33は、ステップs262で得られた少なくとも一つの動体ラベリング領域において、その大きさが所定値よりも小さい動きベクトルを有する動体ラベリング領域が存在するか否かを判断する。撮像領域において物体の微動が生じている場合には、当該撮像領域の画像を示す入力画像200に含まれる動体領域に対してラベリング処理を行うと、動きベクトルの大きさが小さい動体ラベリング領域が得られることから、ステップs262で得られた少なくとも一つの動体ラベリング領域において、動きベクトルの大きさが小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定できる。
微動検出部33は、動きベクトルの大きさが小さい動体ラベリング領域が存在しない場合には、ステップs265において、撮像領域において物体の微動が発生していないと判断する。ステップs265において、撮像領域において物体の微動が発生していないと判断されると、微動検出処理は終了する。
一方で、微動検出部33は、動きベクトルの大きさが小さい動体ラベリング領域が存在する場合には、ステップs266において、撮像領域において物体の微動が発生していると判断する。
なお、動きベクトルの大きさがあまりにも小さい動体ラベリング領域はノイズによって発生したと考えることができる。したがって、微動検出部33は、ステップs262で得られた少なくとも一つの動体ラベリング領域において、その動きベクトルの大きさが、第1所定値よりも小さく、第2所定値(<第1所定値)よりも大きいラベリング領域が存在する場合に、撮像領域において物体の微動が発生していると判断しても良い。
ステップs266が実行されると、第2特定部34は、ステップs267において、上述のステップs246と同様に、第2検出頻度マップ600bを2値化して2値化マップを生成する。次にステップs268において、第2特定部34は、上述のステップs247と同様に、2値化マップの第1領域に対してラベリング処理を行う。
次にステップs269において、第2特定部34は、ステップs268でのラベリング処理で得られた少なくとも一つの頻度ラベリング領域に基づいて、撮像領域での微動発生領域を特定する。具体的には、第2特定部34は、頻度ラベリング領域に対応する撮像ブロックが、ステップs264で特定された、動きベクトルの大きさが小さい動体ラベリング領域に対応する撮像ブロックのすべてを含む場合には、当該頻度ラベリング領域に対応する撮像ブロックを微動発生領域とする。
なお、第2特定部34は、ステップs268で得られた少なくとも一つの頻度ラベリング領域の中に、それに対応する撮像ブロックが、動きベクトルの大きさが小さい動体ラベリング領域に対応する撮像ブロックのすべてを含むような頻度ラベルリング領域が存在しない場合には、動きベクトルの大きさが小さい動体ラベリング領域に対応する撮像ブロックを微動発生領域とする。
また、第2特定部34は、ステップs264において、動きベクトルが小さい動体ラベリング領域が複数特定された場合には、複数の当該動体ラベリング領域のそれぞれについて、当該動体ラベリング領域に対応する撮像ブロックのすべてを、それに対応する撮像ブロックが含むような頻度ラベリング領域が存在するか否かを判定する。
このように、本例では、動きベクトルの大きさが小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定している。人等の動体が全体的に微動する場合には、面積が小さい動体ラベリング領域が得られない可能性がある。本例では、動きベクトルの大きさが小さい動体ラベリング領域が存在するか否かを判断することによって、撮像領域において物体の微動が発生しているか否かを特定しているから、このような場合であても、撮像領域において物体の微動が発生しているか否かを正しく判断することができる。
以上のように、撮像領域において微動発生領域を特定することによって、静止している、人等の動体と、背景物体とを適切に区別することができる。その結果、動体検出の精度が向上する。
<変形例>
日照変化あるいは照明変化などの撮像領域10での明るさの変化(変動も含む)が生じた場合には、動体検出の精度が低下する可能性があることから、撮像領域での物体の微動を適切に検出できない可能性がある。撮像領域での物体の微動を適切に検出できない場合に、微動物体検出処理及びマップ補正処理が実行されると、動体検出の精度がさらに低下する可能がある。
そこで、本変形例に係る動体検出装置1は、撮像領域10での明るさの変化が生じた場合には、微動物体検出処理及びマップ補正処理を実行しない。これにより、撮像領域での物体の微動が適切に検出できないことに起因する、動体検出の精度の低下を抑制することができる。
図28は本変形例に係る動体検出装置1の構成を示すブロック図である。本変形例に係る動体検出装置1は、上述の実施の形態に係る動体検出装置1において、検出部36をさらに設けたものである。検出部36は、撮像領域での明るさの変化を検出する。
図29は本変形例に係る動体検出装置1の動作を示すフローチャートである。本変形例に係る動体検出装置1では、背景モデル生成処理が終了すると、図29に示される処理が実行される。
図29に示されるように、本変形例に係る動体検出装置1では、上述のステップs11、ステップs12(動体検出処理)及びステップs13(マップ更新処理)が順番に実行される。
次にステップs17において、本変形例に係る動体検出装置1では、検出部36が、撮像領域での明るさの変化を検出する検出処理を行う。ステップs17において、検出部36が撮像領域での明るさの変化を検出しない場合には、動体検出装置1は、微動物体検出処理(ステップs14)、マップ補正処理(ステップs15)及び背景モデル更新処理(ステップs16)を順次実行する。
一方で、ステップs17において、検出部36が撮像領域での明るさの変化を検出した場合には、動体検出装置1は、微動物体検出処理及びマップ補正処理を実行せずに、背景モデル更新処理を実行する。この場合の背景モデル更新処理においては、微動物体検出処理が実行されていないことから、上述のステップs170は実行されない。
このように、撮像領域での明るさの変化が生じた場合に、物体の微動を検出しないようにすることによって、物体の微動が適切に検出されないことに起因する、動体検出の精度の劣化を抑制することができる。
撮像領域での明るさの変化の検出方法については様々な方法が考えられる。以下に、撮像領域での明るさの変化の検出方法についての具体例を説明する。
<第1の方法>
撮像領域での明るさが変化すると、入力画像200全体で画像情報が変化することがあり、入力画像200での動体領域の割合が大きくなることがある。
そこで、検出部36は、処理対象の入力画像200での動体領域の割合がしきい値よりも大きい場合に、撮像領域において明るさの変化が発生したと判断する。処理対象の入力画像200中の動体領域の割合Rdは、処理対象の入力画像200での動体領域の画素数をPd、当該入力画像200の全画素数をPaとすると、以下の式(4)で表される。
Figure 2015158837
入力画像200中の動体領域の画素数Pdは、当該入力画像200に含まれる動体画像ブロックの数に、1つの画像ブロックに含まれる画素数を乗じることによって得ることができる。
<第2の方法>
入力画像200を撮像する撮像部の撮像環境(撮像部が設置される環境)等によっては、撮像領域での明るさが変化した場合、入力画像200において画像情報が変化した領域全体での面積はそれほど大きくはないものの、入力画像200全体に渡って、画像情報が変化した領域が繋がって広がることがある。
そこで、検出部36は、上記のステップs242と同様に、処理対象の入力画像200に含まれる動体領域に対してラベリング処理を行う。そして、検出部36は、当該ラベリング処理によって得られたラベリング領域の外接矩形を求める。検出部36は、求めたラベリング領域において、その外接矩形の面積がしきい値よりも大きいラベリング領域が存在する場合には、撮像領域において明るさの変化が発生したと判断する。
<第3の方法>
上記の第1及び第2の方法では、撮像領域において明るさが急激に変化したことは検出できるものの、撮像領域において明るさが徐々に変化する場合には、撮像領域での明るさの変化を検出することが難しい。また、第1及び第2の方法では、撮像領域において明るさが大きくなったり小さくなったりするような変化、つまり撮像領域での明るさの変動を検出することは難しい。撮像領域において明るさが徐々に変化する場合や、撮像領域において明るさが変動する場合には、複数枚の入力画像200の間での画面全体の平均輝度値は不安定となる。
そこで、検出部36は、以下の式(5)を用いて、処理対象の入力画像200と、それよりも前の入力画像200とで構成された(N+1)枚の入力画像200の間での画像全体の平均輝度値についての不安定度Vを求める(N≧1)。そして、検出部36は、求めた不安定度Vがしきい値よりも大きい場合には、撮像領域において明るさの変化が発生したと判断する。
Figure 2015158837
式(5)中のviは、(N+1)枚の入力画像200に対して古いものから順に0番からN番までの番号をそれぞれ付与した場合のi番目(0≦i≦N)の入力画像200全体での平均輝度値を示している。また式(5)中のMは、(N+1)枚の入力画像200についての平均輝度値の平均値を示しており、以下の式(6)で表される。
Figure 2015158837
検出部36は、式(5)の代わりに以下の式(7)を用いても良い。
Figure 2015158837
検出部36は、上記の第1乃至第3の方法のうちの少なくとも一つの方法を用いて、撮像領域での明るさの変化を検出する。検出部36が、第1乃至第3の方法のうちの複数の方法を用いて撮像領域での明るさの変化を検出する場合には、当該複数の方法のうちのいずれかの方法で撮像領域での明るさの変化が検出された場合には、微動物体検出処理及びマップ補正処理が実行されなくなる。
<その他の変形例>
撮像領域の環境が、会議室などのように動体の動きが少ない環境である場合には、第1検出頻度マップ600aについての判定用しきい値は、第1非検出頻度マップ610aについての第1のクリア用しきい値よりも大きい方が望ましい。動体の動きが少ない環境では、動体が同じ場所に留まる可能性が高いことから、動体が存在する可能性が高い撮像ブロックの検出頻度は大きくなりやすい。このような環境において、判定用しきい値を小さくすると、動体がたまたま少しだけ留まった撮像ブロックについて、動体が存在する可能性が高いと誤って判断する可能性がある。よって、撮像領域10の環境が動体の動きが少ない環境である場合には、判定用しきい値を大きくする。
また、撮像領域の環境が、人通りの多い場所など、動体の動きが多い環境である場合には、判定用しきい値は第1のクリア用しきい値よりも小さい方が望ましい。動体の動きが多い環境では、動体が同じ場所に留まる可能性は低い。したがって、動体が存在する可能性が高い撮像ブロックであっても、当該撮像ブロックの検出頻度は大きくなりにくい。このような環境において、判定用しきい値を大きくすると、動体が存在する可能性が高い領域を適切に特定できない可能性がある。よって、撮像領域10の環境が動体の動きが多い環境である場合には、判定用しきい値を小さくする。
また、上記の例では、画像ブロックの大きさを、3画素×3画素としていたが、これに限定されず、画像ブロックの大きさは、4画素×4画素、または5画素×5画素としてもよい。
また、上記の例では、ある画像ブロックについてのコードワードCWには、当該ある画像ブロック内の全ての画素の画素値が画像情報として含まれている場合を例示したが、これに限定されず、コードワードCWには、画像情報として画像ブロック内の全ての画素の画素値が含まれていなくてもよい。具体的には、画像ブロックの大きさが、3画素×3画素であった場合、コードワードCWには、5画素分の画素値が画像情報として含まれていてもよい。このように、コードワードCW内の情報量を減らすことによって、処理量を低減することができるので、動体検出処理を高速化することができる。
また、上記の例では、入力画像200中の各画素が、R(赤)、G(緑)及びB(青)のそれぞれの画素値を有している場合を想定していたが、これに限定されない。具体的には、入力画像200中の各画素の画素値は、RGB以外の他の色空間を用いて表されていてもよい。例えば、入力画像200がYUV形式の画像データである場合、輝度信号Y並びに2つの色差信号U,Vが、各画素の画素値として用いられることになる。
以上のように、動体検出装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
1 動体検出装置
5 背景モデル記憶部
6 キャッシュモデル記憶部
31 動体検出部
32 第1特定部
33 微動検出部
34 第2特定部
35 背景モデル更新部
36 検出部
311 制御プログラム

Claims (9)

  1. 背景画像情報を含む背景モデルを記憶する第1記憶部と、
    前記背景モデルと入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する動体検出部と、
    前記動体検出部での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第1検出頻度マップを生成し、当該複数の部分撮像領域のうち、当該第1検出頻度マップでの当該検出頻度が第1のしきい値以上あるいは当該第1のしきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第1領域として特定する第1特定部と、
    入力画像に基づいて前記撮像領域での物体の微動を検出する微動検出部と、
    前記微動検出部で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第2領域を特定する第2特定部と、
    第2記憶部と、
    前記背景モデルを更新する背景モデル更新部と
    を備え、
    前記背景モデル更新部は、入力画像に含まれる、前記動体検出部が動体を検出した部分撮像領域の画像から得られた画像情報を背景画像情報候補として前記第2記憶部に記憶し、
    前記背景モデル更新部は、その期間に入力される入力画像の枚数で表され、前記第1のしきい値よりも小さい判定期間において入力される入力画像が用いられた前記動体検出部での動体の検出結果と、前記第1特定部で特定される前記第1領域とに基づいて、前記第2記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定し、
    前記背景モデル更新部は、前記微動検出部で物体の微動が検出されたとき、入力画像における前記第2領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する、動体検出装置。
  2. 請求項1に記載の動体検出装置であって、
    前記第1特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第1非検出頻度マップを生成し、
    前記第1特定部は、前記複数の部分撮像領域のうち、前記第1非検出頻度マップでの前記非検出頻度が第2のしきい値以上あるいは当該第2のしきい値よりも大きい部分撮像領域についての、前記第1検出頻度マップの前記検出頻度及び前記第1非検出頻度マップの前記非検出頻度をクリアする、動体検出装置。
  3. 請求項2に記載の動体検出装置であって、
    前記第1特定部は、前記動体検出部での検出結果に基づいて、前記複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第2検出頻度マップと、前記複数の部分撮像領域のそれぞれについての動体の非検出頻度を示す第2非検出頻度マップとを生成し、
    前記第1特定部は、前記複数の部分撮像領域のうち、前記第2非検出頻度マップでの前記非検出頻度が、前記第2のしきい値よりも大きい第3のしきい値以上あるいは当該第3のしきい値よりも大きい部分撮像領域についての、前記第2検出頻度マップの前記検出頻度及び前記第2非検出頻度マップの前記非検出頻度をクリアし、
    前記第1特定部は、前記微動検出部で物体の微動が検出されたとき、前記第2領域についての前記第2検出頻度マップの前記検出頻度を、前記第1検出頻度マップに対して当該第2領域についての値としてコピーする、動体検出装置。
  4. 請求項3に記載の動体検出装置であって、
    前記撮像領域の明るさの変化を検出する検出部をさらに備え、
    前記微動検出部は、前記検出部において前記撮像領域の明るさの変化が検出されたときには、物体の微動の検出を行わない、動体検出装置。
  5. 請求項1乃至請求項4のいずれか一つに記載の動体検出装置であって、
    前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像に含まれる動体領域に対してラベリング処理を行い、当該ラベリング処理によって得られたラベリング領域に基づいて前記撮像領域において物体の微動があるか否かを判断する、動体検出装置。
  6. 請求項5に記載の動体検出装置であって、
    前記微動検出部は、前記ラベリング領域についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する、動体検出装置。
  7. 請求項1乃至請求項4のいずれか一つに記載の動体検出装置であって、
    前記微動検出部は、前記動体検出部での検出結果に基づいて、入力画像についての動きベクトルを取得し、当該動きベクトルに基づいて前記撮像領域において物体の微動があるか否かを判断する、動体検出装置。
  8. (a)第1記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、
    (b)前記工程(a)での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第1検出頻度マップを生成する工程と、
    (c)前記複数の部分撮像領域のうち、前記第1検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第1領域として特定する工程と、
    (d)入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、
    (e)前記工程(d)で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第2領域を特定する工程と、
    (f)入力画像に含まれる、前記工程(a)で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第2記憶部に記憶する工程と、
    (g)その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程(a)での動体の検出結果と、前記工程(c)で特定される前記第1領域とに基づいて、前記第2記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、
    (h)前記工程(d)で物体の微動が検出されたとき、入力画像における前記第2領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程と
    を備える、動体検出方法。
  9. 動体検出装置を制御するための制御プログラムであって、
    前記動体検出装置に、
    (a)第1記憶部が記憶する、背景画像情報を含む背景モデルと、入力画像とを用いて、当該入力画像に写る撮像領域に存在する動体を検出する工程と、
    (b)前記工程(a)での検出結果に基づいて、前記撮像領域を構成する複数の部分撮像領域のそれぞれについての動体の検出頻度を示す第1検出頻度マップを生成する工程と、
    (c)前記複数の部分撮像領域のうち、前記第1検出頻度マップでの前記検出頻度がしきい値以上あるいは当該しきい値よりも大きい部分撮像領域を、動体が存在する可能性が高い第1領域として特定する工程と、
    (d)入力画像に基づいて前記撮像領域での物体の微動を検出する工程と、
    (e)前記工程(d)で物体の微動が検出されたとき、前記撮像領域において物体の微動が生じている第2領域を特定する工程と、
    (f)入力画像に含まれる、前記工程(a)で動体が検出された部分撮像領域の画像から得られた画像情報を背景画像情報候補として第2記憶部に記憶する工程と、
    (g)その期間に入力される入力画像の枚数で表され、前記しきい値よりも小さい判定期間において入力される入力画像が用いられた前記工程(a)での動体の検出結果と、前記工程(c)で特定される前記第1領域とに基づいて、前記第2記憶部内の背景画像情報候補を背景画像情報として前記背景モデルに登録するか否かを判定する工程と、
    (h)前記工程(d)で物体の微動が検出されたとき、入力画像における前記第2領域の画像から得られた画像情報であって、前記背景モデルに背景画像情報として登録されている画像情報を、当該背景モデルから削除する工程と
    を実行させるための制御プログラム。
JP2014033901A 2014-02-25 2014-02-25 動体検出装置、動体検出方法及び制御プログラム Expired - Fee Related JP6177708B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014033901A JP6177708B2 (ja) 2014-02-25 2014-02-25 動体検出装置、動体検出方法及び制御プログラム
PCT/JP2015/054118 WO2015129501A1 (ja) 2014-02-25 2015-02-16 動体検出装置、動体検出方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014033901A JP6177708B2 (ja) 2014-02-25 2014-02-25 動体検出装置、動体検出方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2015158837A true JP2015158837A (ja) 2015-09-03
JP6177708B2 JP6177708B2 (ja) 2017-08-09

Family

ID=54008824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014033901A Expired - Fee Related JP6177708B2 (ja) 2014-02-25 2014-02-25 動体検出装置、動体検出方法及び制御プログラム

Country Status (2)

Country Link
JP (1) JP6177708B2 (ja)
WO (1) WO2015129501A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017107407A (ja) * 2015-12-10 2017-06-15 株式会社メガチップス 画像処理装置、制御プログラム及び前景画像特定方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017101124A1 (zh) * 2015-12-19 2017-06-22 张北江 一种监控系统中背景识别的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140307A (ja) * 2007-12-07 2009-06-25 Glory Ltd 人物検出装置
JP2012234494A (ja) * 2011-05-09 2012-11-29 Canon Inc 画像処理装置、画像処理方法、及びプログラム
JP2013254291A (ja) * 2012-06-06 2013-12-19 Mega Chips Corp 動体検出装置、動体検出方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140307A (ja) * 2007-12-07 2009-06-25 Glory Ltd 人物検出装置
JP2012234494A (ja) * 2011-05-09 2012-11-29 Canon Inc 画像処理装置、画像処理方法、及びプログラム
JP2013254291A (ja) * 2012-06-06 2013-12-19 Mega Chips Corp 動体検出装置、動体検出方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017107407A (ja) * 2015-12-10 2017-06-15 株式会社メガチップス 画像処理装置、制御プログラム及び前景画像特定方法

Also Published As

Publication number Publication date
JP6177708B2 (ja) 2017-08-09
WO2015129501A1 (ja) 2015-09-03

Similar Documents

Publication Publication Date Title
JP4542207B1 (ja) 移動体検出方法および移動体検出装置
JP6024658B2 (ja) 物体検出装置、物体検出方法及びプログラム
EP2965262A1 (en) Method for detecting and tracking objects in sequence of images of scene acquired by stationary camera
KR101414670B1 (ko) 온라인 랜덤 포레스트 및 파티클 필터를 이용한 열 영상에서의 객체 추적 방법
JP2019145174A (ja) 画像処理システム、画像処理方法及びプログラム記憶媒体
US10540592B2 (en) Program generation apparatus and program generation method
US10762372B2 (en) Image processing apparatus and control method therefor
US10614336B2 (en) Method, system, and computer-readable recording medium for image-based object tracking
JP6177708B2 (ja) 動体検出装置、動体検出方法及び制御プログラム
US10643096B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US11288816B2 (en) Image detection device, image detection method and storage medium storing program
JP2019067377A (ja) 画像処理装置及び方法及び監視システム
WO2015146582A1 (ja) エリア状態推定装置、エリア状態推定方法および環境制御システム
KR102161212B1 (ko) 움직임 검출 시스템 및 방법
JP6350331B2 (ja) 追尾装置、追尾方法及び追尾プログラム
JP2014142760A (ja) 画像検出装置及び制御プログラム並びに画像検出方法
CN108711164B (zh) 一种基于LBP和Color特征的运动检测方法
JP6378483B2 (ja) 検出装置、検出対象物の検出方法及び制御プログラム
JP6162492B2 (ja) 動体検出装置、動体検出方法及び制御プログラム
JP6362939B2 (ja) 検出装置、検出方法及び制御プログラム
A Alashbi et al. Deep-Learning-CNN for Detecting Covered Faces with Niqab
JP2020071717A (ja) 情報処理装置、情報処理方法及びプログラム
JP6468642B2 (ja) 情報端末装置
JP6266461B2 (ja) 対象検出装置
JP2017084363A (ja) 陰影検出装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170712

R150 Certificate of patent or registration of utility model

Ref document number: 6177708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees