説明

画像処理装置、画像処理方法、および、プログラム

【課題】誤検出を抑制した、頑強な不動体検出を行う。
【解決手段】取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、生成部により生成された背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部を備え、現画像において、生成される背景とは異なる部分の画像である動体が検出され、動体が、所定の一定時間以上停止しているかどうかが判定される。一定時間以上停止している動体である一時停止オブジェクトが映る一時停止画像と、現画像とが用いられて、現画像の画素について、所定の時間以上変化がない、背景とは異なる不動体であることの確からしさを表す不動体信頼度が求められる。求められた不動体信頼度に基づいて、現画像から、不動体が検出される。本技術は、例えば、物体の置き去りや持ち去り等を検出する不動体の検出に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、画像処理装置、画像処理方法、および、プログラムに関し、特に、例えば、不動体の検出、すなわち、物体が置き去りにされたことや、物体が持ち去られたことの検出において、誤検出を抑制することができるようにする画像処理装置、画像処理方法、および、プログラムに関する。
【背景技術】
【0002】
例えば、公共の場所に、不審物が置き去りにされたことや、ショールームに展示されている展示品が持ち去られたことを検出する技術として、画像に、背景でない部分であって、動いていない部分を、不動体として検出(検知)する方法がある。
【0003】
不動体を検出する不動体検出方法としては、画像から、静止領域を検出し、新たに検出された静止領域を背景として登録することで、複数の背景の作成を行い、静止物体の前に静止物体が現れ、2つの静止物体が重なっても、その2つの静止物体を分離して検出することができる方法が提案されている(例えば、特許文献1)。
【0004】
また、不動体検出方法としては、複数の時間スケールで、背景の更新等の処理を行うことで、外乱に対する頑健性を保証している方法が提案されている(例えば、特許文献2)。
【0005】
なお、特許文献1に記載の不動体検出方法では、木々のゆれ等が、誤って、静止物体(不動体)として検出される。さらに、特許文献1に記載の不動体検出方法は、静止物体を分離するために、多種の特徴量を計算し、さらにクラスタリングをする必要があるため、演算量が多く、リアルタイム処理には適しているとは言い難い。
【0006】
また、特許文献2に記載の不動体検出方法では、2つの静止物体が重なっている場合に、2つの静止物体が、不動体として、適切に検出されることは、保証されない。
【0007】
また、動体検知や不動体検知などに代表される背景画像を利用した検知技術は、人や車など物体が頻繁に通過するような領域においては、正常な背景が生成されずに、誤った結果が得られる場合があった。このような場合に対処するために、特許文献3においては、各画素の変動具合として輝度値の分散を計算することで、処理可能な有効領域か否かを判断することが提案されている。そして、有効でないと判断された領域を除外して処理を行う背景差分方法が提案されている。
【0008】
しかしながら、特許文献3で提案されている方法では、輝度値の標準偏差(分散)により有効領域を判定しているため、本当に背景が作る事が困難である状況だけを分別することができない。例えば、背景を多項分布を用いて検出するようにした場合、人が頻繁に通過するような状況は背景を作成しづらいが、ライトの点滅のような輝度値の差が大きい状況などであれば背景は作成可能である。特許文献3で提案されている方法では、輝度値の分散から判断しているため、これらを同じ「有効でない領域」と判定してしまう。そのために、背景作成が困難で検知できない領域かどうかを判定できず、精度良く背景を生成することができない可能性がある。
【0009】
また、特許文献4では、各画素の時系列の変化を中間クラスや不安定クラスなどに判定する処理を行うことが提案されている。しかしながら、この判断方法では、複数の分布の重みだけで不安定か安定かが判断されているため、短時間で変化が起こった領域なのか、本当に頻繁に通過するため困難な領域なのかの判断が困難である。よって、この場合も、精度良く背景を生成することができない可能性があった。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】国際公開第2009/005141号パンフレット
【特許文献2】特開2008-257693号公報
【特許文献3】特開2004-265291号公報
【特許文献4】特開2006-331306号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
不動体検出方法としては、誤検出を抑制して、不動体を、高精度に検出することができる方法の提案が要請されている。
【0012】
本技術は、このような状況に鑑みてなされたものであり、誤検出を抑制した、頑強な不動体検出を行うことができるようにするものである。
【課題を解決するための手段】
【0013】
本技術の一側面の画像処理装置は、取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、前記生成部により生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部とを備える。
【0014】
前記背景モデルは、所定の座標における輝度値とその輝度値が現れた頻度を関連付けた分布から構成され、前記判断部は、前記頻度が最も高い分布が所定の値より大きい場合、信頼度の高い背景が生成できると判断するようにすることができる。
【0015】
前記所定の値は、前記多項分布の項数と、前記背景モデルの更新回数から算出される値であるようにすることができる。
【0016】
前記判断部により信頼度の高い背景が生成できないと判断された領域を、ユーザに提示するようにすることができる。
【0017】
現画像において、前記生成部により生成される背景とは異なる部分の画像である動体を検出する動体検出部と、前記動体が、所定の一定時間以上停止しているかどうかを判定する一時停止判定部と、一定時間以上停止している前記動体である一時停止オブジェクトが映る一時停止画像と、前記現画像とを用いて、前記現画像の画素について、所定の時間以上変化がない、前記背景とは異なる部分の画像である不動体であることの確からしさを表す不動体信頼度を求める信頼度処理部と、前記不動体信頼度に基づいて、前記現画像から、不動体を検出する不動体検出部とをさらに備えるようにすることができる。
【0018】
本技術の一側面の画像処理方法は、取得される映像から、多項分布の背景モデルを生成し、背景を生成し、生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断するステップを含む。
【0019】
本技術の一側面のプログラムは、取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、前記生成部により生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部として、コンピュータを機能させる。
【0020】
本技術の一側面の画像処理装置、画像処理方法、およびプログラムにおいては、取得された映像から、多項分布の背景モデルが生成され、生成された背景モデルから、信頼度の高い背景が生成できるか否かが判断される。
【0021】
なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【0022】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【0023】
本技術によれば、誤検出を抑制した、頑強な不動体検出を行うことができる。
【図面の簡単な説明】
【0024】
【図1】本技術を適用した不動体検出装置の一実施の形態の構成例を示すブロック図である。
【図2】不動体検出装置の処理の概要を説明する図である。
【図3】背景モデルについて説明するための図である。
【図4】背景モデルの生成について説明するためのフローチャートである。
【図5】背景モデルについて説明するための図である。
【図6】背景モデルについて説明するための図である。
【図7】背景モデルについて説明するための図である。
【図8】動体検出部31の構成例を示すブロック図である。
【図9】動体検出部31において動体を検出する原理を説明する図である。
【図10】一時停止判定部32の処理を説明する図である。
【図11】信頼度処理部35の処理を説明する図である。
【図12】信頼度処理部35による不動体信頼度の更新の概要を説明する図である。
【図13】信頼度処理部35による不動体信頼度の更新の詳細を説明する図である。
【図14】信頼度処理部35により更新される不動体信頼度C(X)の変化を示す図である。
【図15】信頼度処理部35による不動体信頼度C(X)の初期値C0の設定を説明する図である。
【図16】不動体検出装置の処理(不動体検出処理)を説明するフローチャートである。
【図17】不動体検出装置の他の構成例を示すブロック図である。
【図18】不動体検出装置の処理を説明する図である。
【図19】不動体信頼度C(X)が単調減少している場合に、画素Xを、不動体として検出することを制限することを説明する図である。
【図20】記憶部34及び36に、それぞれ、3枚の一時停止画像、及び、信頼度画像が記憶される場合の、不動体検出装置の処理を説明する図である。
【図21】ネットワークカメラの構成例を示すブロック図である。
【図22】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0025】
[本技術を適用した不動体検出装置の一実施の形態]
図1は、本技術の画像処理装置を適用した不動体検出装置の一実施の形態の構成例を示すブロック図である。
【0026】
図1において、不動体検出装置は、画像取得部11、背景生成部21、処理困難領域判断部22、動体検出部31、一時停止判定部32、一時停止画像処理部33、記憶部34、信頼度処理部35、記憶部36、不動体検出部37、及び、不動体提示部38を有し、不動体を検出(検知)して提示する。
【0027】
画像取得部11は、所定のレートの画像(動画像)を取得して出力する。すなわち、画像取得部11は、例えば、カメラであり、所定のレートで、カメラが設置されたショールーム等の所定の場所の画像を撮影して出力する。また、画像取得部11は、例えば、図示せぬカメラ等から、所定の場所を撮影した画像を取得し、その画像を高精細化する画像処理等を行って出力する。
【0028】
なお、画像取得部11において取得する画像は、カラー画像であってもよいし、白黒画像であってもよい。ここでは、画像取得部11において取得する画像は、白黒画像であるとする。この場合、以下の説明において、画素値は、輝度値となる。
【0029】
画像取得部11が出力する画像は、背景生成部21、動体検出部31、一時停止画像処理部33、信頼度処理部35、及び、不動体提示部38に供給される。
【0030】
背景生成部21は、画像取得部11から供給される最新の画像である現画像等を用いて、背景(画像)を生成し、処理困難領域判断部22と信頼度処理部35に供給する。
【0031】
処理困難領域判断部22は、正常に背景が生成されない領域を検出し、そのような領域を、不動体提示部38に供給する。不動体提示部38により、正常に背景が生成されない領域が、ユーザに提示される。
【0032】
動体検出部31は、画像取得部11からの現画像において、背景とは異なる部分の画像である動体(画像)を検出し、その動体に外接する最小の矩形の領域である動体領域を、一時停止判定部32、及び、一時停止画像処理部33に供給する。
【0033】
一時停止判定部32は、動体検出部31からの動体領域に含まれる動体が、所定の一定時間以上停止(以下、一時停止ともいう)しているかどうかを判定し、動体が一時停止していると判定した場合、その一時停止している動体の動体領域内の画像を、一時停止しているオブジェクト(一時停止オブジェクト)が映る一時停止画像に映る一時停止オブジェクトとしてコピーし、一時停止画像処理部33に供給する。
【0034】
一時停止画像処理部33は、一時停止判定部32から供給される一時停止オブジェクトを、記憶部34に登録する(記憶させる)。すなわち、記憶部34は、一時停止画像を記憶する、例えば、フレームメモリであり、一時停止画像処理部33は、記憶部34に記憶されている画像(一時停止画像)の、一時停止判定部32からの一時停止オブジェクトの領域内の画素の画素値を、その一時停止オブジェクトの画素値に更新する。
【0035】
また、一時停止画像処理部33は、画像取得部11からの現画像と、動体検出部31からの動体(動体領域)とを用いて、記憶部34に記憶された一時停止画像を更新する。すなわち、一時停止画像処理部33は、記憶部34に登録(記憶)された一時停止画像に映る一時停止オブジェクトのうちの、動体検出部31からの動体でない画素の画素値を、記憶部34に登録された一時停止画像(一時停止オブジェクト)と、画像取得部11からの現画像との重み付け加算により更新する。
【0036】
具体的には、現画像である時刻tの画像の画素Xの画素値を、It(X)と、1時刻前の時刻t-1の記憶部34に記憶された一時停止画像の画素Xの画素値を、Pt-1(X)と、一時停止画像処理部33において時刻tに求められる更新後の一時停止画像の画素Xの画素値を、Pt(X)と、それぞれ表すこととすると、一時停止画像処理部33は、記憶部34に記憶された一時停止画像に映る一時停止オブジェクトの画素のうちの、動体の画素については、式(1)に従い、動体でない画素については、式(2)に従い、時刻tの一時停止画像(更新後の一時停止画像)の画素Xの画素値Pt(X)を求める。
【0037】
Pt(X)=Pt-1(X)
・・・(1)
Pt(X)=(1−α’)Pt-1(X)+αIt(X)
・・・(2)
【0038】
式(2)に従った一時停止画像の更新によれば、日差しや照明の変化等に起因して、画像取得部11で取得される画像の画面全体の輝度が変化する状況等において、記憶部34に記憶された一時停止画像に映る一時停止オブジェクトの輝度(画素値)を、なるべく現在の輝度(現画像の輝度)に近づけるように、適切に更新することができ、その結果、画像の輝度の変化に対する頑強性を向上させ、不動体検出を高精度に行うことができる。
【0039】
なお、式(1)によれば、一時停止画像に映る一時停止オブジェクトのうちの、現画像の動体と重なる部分については、画素値は、更新されない(そのままの値にされる)が、これは、例えば、一時停止オブジェクトの手前側を、歩行者等の動体が横切った場合に、一時停止オブジェクトの画素値が、動体である歩行者の画素値に上書き(更新)されることを防止するためである。
【0040】
信頼度処理部35は、画像取得部11からの現画像、背景生成部21からの背景、及び、記憶部34に記憶された一時停止画像を用いて、現画像の各画素(又は、隣接する幾つかの画素ごと)について、所定の時間以上変化がない、背景とは異なる部分の画像である不動体であることの確からしさを表す不動体信頼度を求め、記憶部36に登録する(記憶させる)。
【0041】
記憶部36は、信頼度処理部35からの、現画像の各画素についての不動体信頼度を画素値とする信頼度画像を記憶する。
【0042】
不動体検出部37は、記憶部36に記憶された信頼度画像に基づいて、現画像から、不動体を検出し、不動体提示部38に供給する。
【0043】
すなわち、不動体検出部37は、記憶部36に記憶された信頼度画像の画素値である不動体信頼度を、閾値によって2値化し(閾値以上の不動体信頼度を1とするとともに、閾値未満の不動体信頼度を0とし)、2値化信頼度画像を求める。
【0044】
さらに、不動体検出部37は、2値化信頼度画像について、画素値が1の画素(不動体信頼度が閾値以上の画素)と、その画素に隣接する8近傍の画素のうちの、画素値が1の画素とに、同一のラベルを付すラベリングを行うことにより、画素値が1の画素で構成される領域に外接する最小の矩形の領域を、不動体の領域(不動体領域)として検出する。
【0045】
そして、不動体検出部37は、不動体領域としての矩形のサイズ(横と縦の画素数)、及び、その矩形の中心(重心)や左上の点の座標等の不動体(領域)を指定する情報を解析し(求め)、不動体情報として、不動体提示部38に供給する。
【0046】
不動体提示部38は、不動体検出部37からの不動体情報に基づき、画像取得部11からの現画像を必要に応じて用いて、不動体(が検出された旨)を提示する。
【0047】
すなわち、不動体提示部38は、不動体検出部37から不動体情報が供給されると、不動体が検出された旨を、音声や、画像、ランプの点滅や点灯等によって、ユーザに提示(報知)する。
【0048】
また、不動体提示部38は、画像取得部11からの現画像に、不動体検出部37からの不動体情報によって特定される不動体領域を囲む枠のOSD(On Screen Display)を重畳し、図示せぬ表示装置に表示させる。
【0049】
なお、不動体提示部38では、不動体(不動体領域)が、所定のサイズSA以上である場合にのみ、不動体の提示を行うことができる。また、不動体提示部38では、不動体が、所定のサイズSA以下である場合にのみ、不動体の提示を行うことができる。さらに、不動体提示部38では、不動体が、ある所定のサイズSA以上で、かつ、他の所定のサイズSB(>SA)以下である場合にのみ、不動体の提示を行うことができる。所定のサイズSAやSBは、例えば、ユーザが、不動体検出装置を操作することで設定することが出来る。
【0050】
図2は、図1の不動体検出装置の処理の概要を説明する図である。すなわち、図2は、図1の画像取得部11で取得される画像の時系列の例を示している。図2において、時刻t1の画像には、家と、その家の近傍に植えてある木とが映っている。
【0051】
時刻t1の後の時刻t2の画像には、家、及び、木の他、時刻t2に、家の前に駐車された自動車が映っているとともに、画面上の右から左方向に歩いている歩行者が、画面の右側に映っている。
【0052】
時刻t2の後の時刻t3の画像には、家、木、及び、自動車と、歩行によって、画面上の左側に移動した歩行者とが映っている。
【0053】
そして、時刻t3の後の時刻t4では、歩行者は、画面内を通り過ぎており、その結果、時刻t4の画像では、家、木、及び、自動車は映っているが、歩行者は消えている。
【0054】
この場合、図1の不動体検出装置では、時刻t1の画像を背景(画像)として、時刻t2から駐車した状態のまま動かない、背景とは異なる部分の自動車(の画像)が、不動体として検出される。また、図1の不動体検出装置では、歩行者は、歩行によって移動している動体であり、不動体としては、検出されない。
【0055】
以上のように、図1の不動体検出装置では、画像において、所定の時間以上変化がない、背景とは異なる部分が、不動体として検出される。
【0056】
したがって、図1の不動体検出装置では、例えば、図2に示したように、家、及び、木が映っている時刻t1の画像が背景である場合において、自動車が、家の前に駐車され、そのまま置き去りにされたときに、その置き去りにされた自動車が、不動体として検出される他、例えば、家、木、及び、駐車してある自動車が映っている時刻t4の画像が背景である場合において、駐車してある自動車が持ち去られたときに、その持ち去られた自動車(が映っていた部分)が、不動体として検出される。
【0057】
[背景生成部21]
図3Aは、背景生成部21により生成される背景モデルの一例を示す図である。図3Aに示した背景モデルにおいて、横軸は輝度値を表し、縦軸は重み(出現頻度)を表す。図3Aに示した背景モデルは、3項分布で背景をモデリングした例である。ここでは、3項分布を例にあげて説明するが、3項に限らず、多項であっても良い。また、3項分布とは、図3Aに示したように、分布の山が3個できる分布であり、ここでは、図中左側から順に、1項目、2項目、3項目と適宜記載する。
【0058】
図3Aに示した背景モデルは、所定の画素の時間方向に対して作成される。図3Bに示すように、各分布は、平均輝度値、重み、範囲の3つの指標を含む。1つの分布の横幅は、平均輝度値を中央とした所定の範囲を示す。この範囲内に含まれる輝度値が現れた頻度が、1つの分布の高さとして表される。この平均輝度値を中心とする範囲は、固定値として説明を続けるが、また、各分布で同一の範囲が用いられるとして説明を続けるが、可変値が用いられたり、各分布で異なる範囲が用いられたりするようにしても良い。
【0059】
また、各項に分散など、いわゆる混合正規分布を利用した背景作成手法で知られるものに必要なパラメータを持ち合わせるように構成することも可能であり、同じ分布とみなす範囲をそれに応じ変化するパラメータとしても良い。
【0060】
背景モデルの生成について説明する。まず画像取得部11により、カメラなどの撮影装置により撮影された映像や、他の再生デバイスからの入力信号などの映像が取得される。取得された映像には、必要に応じて画像のノイズ除去や高解像化処理などの信号処理が施され、背景生成部21に供給される。
【0061】
背景生成部21は、供給される時系列の映像信号を解析することで背景のモデリングを行う。この背景の推定の際に画素毎に、図3に示した多項分布の背景モデルが作成される。画素毎に生成されるため、例えば、100フレームが処理された時点では100個の画素の輝度値から生成された背景モデルとなる。また、1フレームが100画素から構成されている場合、図3に示したような背景モデルが、画素毎に100個生成されることになる。
【0062】
図4のフローチャートを参照し、背景生成部21が行う背景モデルの生成について説明する。ステップS1において現フレームの輝度値(処理対象とされた所定の座標の画素の輝度値)が所属する分布が探される。まず各分布における平均輝度値と現フレームの輝度値が一番近い分布が求められ、その一番近い分布の範囲内に現フレームの輝度値が含まれるか否かが判断され、含まれる場合、その分布が所属する分布とされる。このような探索の結果、現フレームの輝度値が所属する分布が発見されたか否かが、ステップS2において判断される。
【0063】
既に、何フレームかが処理され、図3Aに示す背景モデルがあるとする。現在の輝度値が、図5Aの示すように、所定の分布内に属する輝度値である場合と、図5Bに示すように所定の分布外に属する輝度値である場合とが考えられる。図5Aに示したように、現在の輝度値が所定の分布内に属する輝度値である場合、ステップS2において、所属する分布が発見されたと判断され、ステップS3に処理が進められる。
【0064】
ステップS3において、現在の輝度値が所属すると探し出された分布が更新される。図6を参照し、更新について説明する。図6Aは、図5Aと同じ背景モデルであり、2項目の分布に現在の輝度値が含まれると探し出されたときを示す。この場合、2項目の分布の輝度平均値と重み(頻度)が更新される。図6Bは、更新後の背景モデルを示す。図6Bに示したように、更新後の2項目の分布の度数は、図6Aに示した更新前の2項目の分布の度数と比較し、度数が増えていることがわかる。また、現在の輝度値は、図6Aに示した更新前の2項目の分布の右端に位置していたが、図6Bに示した更新後の2項目の分布の略中央(略平均輝度値)に位置している。
【0065】
平均輝度値の更新は、次式(3)に基づいて行われる。すなわち、現画像である時刻tの画像の位置Xの画素(以下、画素Xとも記載する)の画素値を、It(X)と、背景生成部21において1時刻前の時刻t-1に生成された背景の画素Xの画素値を、Bt-1(X)と、背景生成部21において時刻tに生成される背景の画素Xの画素値を、Bt(X)と、それぞれ表すこととすると、背景生成部21は、例えば、式(3)に従い、時刻tの背景の画素Xの画素値Bt(X)を求める。
【0066】
Bt(X)=(1−α)Bt-1(X)+αIt(X)
・・・(3)
【0067】
ここで、式(3)において、係数αは、式0<α<1.0で表される範囲の値である。
【0068】
式(3)によれば、背景生成部21では、(ほぼ)等価的に、過去のある時刻t-ΔT+1から、現在の時刻tまでの時間ΔT分の画像の重み付け加算によって背景が求められ、画素毎に、図6に示したような背景モデルが生成される。
【0069】
式(3)に従って求められる背景は、係数αを小さくすると、長い周期で更新される背景となる。すなわち、式(3)の係数αを小さい値にした場合には、画像に変化があっても、その変化後の状態が長時間続かないと、背景に反映されない。
【0070】
また、式(3)に従って求められる背景は、係数αを大きくすると、短い周期で更新される背景となる。すなわち、式(3)の係数αを大きい値にした場合には、画像に変化があると、その変化後の状態が短時間続けば、背景に反映される。
【0071】
いま、少なくとも、時間mだけ動かなかった物体を、不動体として検出する場合の、その時間mを、不動体認知時間mということとすると、背景生成部21において生成する背景を更新する周期は、不動体認知時間mよりも長い時間である、例えば、不動体認知時間mの5倍程度とすることが望ましい。
【0072】
すなわち、係数αは、画像に変化があっても、その変化後の状態が、不動体認知時間mの5倍程度だけ続くと、背景に反映されるような値に設定される。
【0073】
ここで、不動体認知時間mは、例えば、ユーザが、図1の不動体検出装置を操作することにより設定することができ、背景生成部21は、不動体認知時間mに応じて、係数αを設定する。
【0074】
なお、背景生成部21において、背景を生成する方法は、式(3)を用いる方法に限定されるものではない。すなわち、背景生成部21では、例えば、Gausian Mixture Model(重み付き混合正規分布)を用いて、背景を作成する方法等を採用することができる。
【0075】
このような式(3)に基づいて平均輝度値が更新される。
【0076】
度数(頻度)の更新は、次式(4)に基づいて行われる。更新前の頻度をWs(t,X)とし、更新後の頻度をWs(t+1,X)とすると、頻度は次式(4)で求められる。
Ws(t+1,X)=Ws(t,X)+(N−1) ・・・(4)
式(4)において、Nは項数を表す。ここでは、3項分布を例にあげて説明しているため、N=3となる。
【0077】
なおここでは、式(4)に基づいて頻度が算出されるとして説明を続けるが、(N−1)の部分は、この場合、2(=3−1)と固定値となり、この固定値は、“2”以外の数値であっても良い。例えば、“1”でも良い。
【0078】
ステップS3において、分布の更新が行われた場合、その更新回数も、記憶される。この更新回数は、処理されたフレーム数の累計となる。
【0079】
このように、処理対象とされている現フレーム内の画素の輝度値が、既に作成されている背景モデルの分布内に所属する場合、所属すると判断された分布の頻度と平均輝度値が更新される。一方で、ステップS2において、処理対象とされている現フレーム内の画素の輝度値が所属する分布は発見されなかったと判断された場合、ステップS4に処理は進められる。
【0080】
ステップS4において、不必要な分布が削除され、新しい分布が作成される。このステップS4における処理について、図7を参照して説明する。図7Aは、図5Aと同じ背景モデルであり、2項目の分布と3項目の分布の間に現在の輝度値が含まれると探し出されたときを示す。このように、現在の輝度値が所属する分布が背景モデルにない場合、その時点での背景モデルの中で、一番重み(頻度)が低い分布が探し出され、その分布が削除される。
【0081】
図7Aに示した例では、3項目の分布の重みが一番低いため、この3項目の分布が削除される。そして、新たに、現在の輝度値を平均輝度値とする分布が作成される。このように、分布の削除と作成が行われた後(更新後)の背景モデルを、図7Bに示す。図7Bに示したように、3項目の分布が削除され、現在の輝度値を平均輝度値とし、その平均輝度値を中央に所定の範囲を有する分布が3項目の分布として新たに作成される。
【0082】
この新たに作成される分布の重みは、式(4)における(N−1)の値と同じ値に設定されている。上記したように、N=3のときには、新たに作成される分布の重みは、2とされる。また、(N−1)が、“1”といった固定値にされている場合、その固定値に設定されている。なお、更新されるときの重みと新たに作成されるときの重みは、同一の値に限定されるわけではなく、異なる値に設定されていても良い。
【0083】
このように、各画素における背景モデルが生成され、背景(画像)として、処理困難領域判断部22と信頼度処理部35に供給される。
【0084】
[動体検出部31]
図8は、図1の動体検出部31の構成例を示すブロック図である。図8において、動体検出部31は、背景生成部51、背景差分画像生成部52、過去画像記憶部53、過去差分画像生成部54、連続性カウント画像生成部55、動体候補領域画像生成部56、及び、検出部57を有し、画像取得部11(図1)からの現画像から、移動している物体や、短い時間だけ静止している物体等の、背景と異なる部分である動体を検出する。
【0085】
ここで、図8の動体検出部31は、例えば、特開2006-107457号公報に記載されている方法で、動体を検出する。但し、動体検出部31において動体を検出する方法は、特に限定されるものではない。
【0086】
図8において、画像取得部11からの現画像は、背景生成部51、背景差分画像生成部52、過去画像記憶部53、及び、検出部57に供給される。
【0087】
背景生成部51は、画像取得部11からの現画像を用いて、例えば、図1の背景生成部21と同様に、式(3)に従って、背景を生成し、背景差分画像生成部52に供給する。
【0088】
なお、背景生成部51では、動体の誤検出を抑制するために、図1の背景生成部21で生成される背景よりも短い周期で更新される背景が生成される。すなわち、図1の背景生成部21で生成される背景の更新の周期が、例えば、1時間であるとすると、背景生成部51では、例えば、15秒程度の周期で更新される背景が生成される。
【0089】
したがって、背景生成部51では、式(3)の係数αとして、図1の背景生成部21で用いられる値よりも大きな値が設定される。
【0090】
ここで、背景生成部51では、現画像に映る動体(の表示)を抑制した、ある程度の時間静止している状態の画像が、背景として生成される。
【0091】
一方、図1の背景生成部21では、例えば、3分間等の所定の時間以上変化がない、背景とは異なる不動体を検出するために、不動体であるために変化しないことが要求される最小の時間(上述の3分間等)に比較して、十分長い時間静止している状態の画像が、背景として生成される。
【0092】
なお、背景生成部51では、図1の背景生成部21と同様の周期で更新される背景を生成することができる。この場合、不動体検出装置には、背景生成部21及び51のうちのいずれか一方だけを設けるだけでよい。
【0093】
背景差分画像生成部52は、画像取得部11からの現画像と、背景生成部51からの背景との各画素の画素値の差分絶対値を画素値とする背景差分画像を生成して、検出部57に供給する。
【0094】
一方、過去画像記憶部53は、画像取得部11から供給される現画像として供給される画像を順次記憶することにより、現在から過去に遡ったN+1時刻分の画像、すなわち、最新の時刻(現在時刻)tの画像である現画像と、時刻t-Nないしt-1の画像である過去画像とを記憶する。
【0095】
過去画像記憶部53に記憶された時刻tの画像(現画像)と、時刻t-Nないしt-1の画像(過去画像)とは、過去差分画像生成部54に供給される。
【0096】
過去差分画像生成部54は、現画像と、各時刻t-nの過去画像との各画素の画素値の差分値を画素値とする過去差分画像を生成し(n=1,2,・・・,N)、連続性カウント画像生成部55に供給する。
【0097】
連続性カウント画像生成部55は、時刻t-N,t-(N+1),・・・,t-1それぞれの過去画像から求められたN枚の過去差分画像の各画素について、画素値(差分値)の連続性を判断するためのカウントを行い、そのカウント値を画素値とする連続性カウント画像を生成して、動体候補領域画像生成部56に供給する。
【0098】
動体候補領域画像生成部56は、連続性カウント画像生成部55からの連続性カウント画像(の各画素の画素値)を閾値によって2値化することにより、動体が映っている画素の候補の画素値を1とするとともに、他の画素の画素値を0とした動体候補領域画像を生成し、検出部57に供給する。
【0099】
検出部57は、背景差分画像生成部52からの背景差分画像と、動体候補領域画像生成部56からの動体候補領域画像とに基づき、現画像において、動体が映っている領域を検出する。
【0100】
さらに、検出部57は、画像取得部11からの現画像から、動体が映っている領域を囲む最小の矩形の外接領域の画像を、動体領域としてコピーし、図1の一時停止判定部32、及び、一時停止画像処理部33に供給する。
【0101】
図9は、図8の動体検出部31において動体を検出する原理を説明する図である。すなわち、図9A、図9B、及び、図9Cは、現画像と、時刻t-N,t-(N+1),・・・,t-1それぞれの過去画像との各画素の画素値の差分値を画素値とするN枚の過去差分画像のある画素Xの画素値(現在画像と過去画像との画素値の差分値)の例を示している。
【0102】
なお、図9A、図9B、及び、図9Cにおいて、横軸は、過去差分画像を求めるのに用いた過去画像の時刻を表し、縦軸は、過去差分画像の画素Xの画素値(現在画像と過去画像との画素値の差分値)を表している。
【0103】
時刻t-Nないしtの各画像の画素Xに、移動する物体が映っていない場合、N枚の過去差分画像の画素Xの画素値(差分値)としては、図9Aに示すように、比較的小さな値が継続する。
【0104】
一方、時刻t-Nないしtの中のある時刻t'に、画素Xに、移動する物体が映り始め、現画像でも、画素Xに、その物体が映っている場合、図9Bに示すように、時刻t'より前の時刻の過去差分画像の画素Xの画素値(差分値)としては、比較的大きな値が継続し、時刻t'以後の時刻の過去差分画像の画素Xの画素値(差分値)は、比較的小さな値になる。
【0105】
また、時刻t-Nないしtの画像の画素Xに、木の葉や波が映っており、その木の葉や波が揺らいでいる場合、図9Cに示すように、N枚の過去差分画像の画素Xの画素値(差分値)は、大きな値や小さな値に変動する。
【0106】
したがって、N枚の過去差分画像の画素Xの画素値(差分値)を、閾値によって2値化し、閾値を超える画素値が、ある程度の時間連続する画素を、動体が映っている画素として検出することにより、木の葉や波の揺らぎ、日差しの急激な変化による輝度の変化等の外乱を、誤って、動体として検出(誤検出)することを防止することができる。
【0107】
そこで、図8の動体検出部31では、連続性カウント画像生成部55において、時刻t-N,t-(N+1),・・・,t-1それぞれの過去画像から求められたN枚の過去差分画像の各画素について、画素値が連続して閾値を超える回数(過去差分画像の枚数)をカウントし、そのカウント値を画素値とする連続性カウント画像を生成して、動体候補領域画像生成部56に供給する。
【0108】
ここで、動体候補領域画像生成部56は、図8で説明したように、連続性カウント画像生成部55からの連続性カウント画像の各画素の画素値を閾値によって2値化した動体候補領域画像を生成する。
【0109】
画素Xに動体が映っている場合には、N枚の過去差分画像の画素Xの画素値(差分値)として、比較的大きな値が継続(連続)し、連続性カウント画像の画素Xの画素値が、閾値を超えるので、画素値が閾値を超える連続性カウント画像の画素、すなわち、画素値が1になっている動体候補領域画像の画素を検出することにより、動体(が映っている画素)を検出することができる。
【0110】
ところで、物体が、位置Xから位置Yに移動した場合には、連続性カウント画像の画素X及びYのいずれの画素値も、閾値を超える。したがって、画素値が1になっている動体候補領域画像の画素を、動体として検出する場合には、画素X及びYの両方が、動体として検出される。
【0111】
しかしながら、物体が、位置Xから位置Yに移動した場合には、現画像において、画素Yには、移動後の物体が映っているが、画素Xについては、物体は移動してしまっており、映っていない。
【0112】
したがって、物体が、位置Xから位置Yに移動した場合には、現画像からの動体の検出にあたっては、画素X及びYの両方を、動体として検出するのではなく、現画像において移動後の物体が映っている画素Yを、動体として検出し、現画像において移動後の物体が映っていない画素Xは、動体として検出すべきでない。
【0113】
そこで、図8の動体検出部31では、画素値が1になっている動体候補領域画像の画素のうちの、現画像に、移動後の物体が映っている画素だけを、動体として検出する(移動前の物体が映っていた画素は、動体として検出しない)。
【0114】
すなわち、図8の動体検出部31では、上述したように、背景差分画像生成部52において、画像取得部11からの現画像と、背景生成部51からの背景との各画素の画素値の差分絶対値を画素値とする背景差分画像を生成して、検出部57に供給する。
【0115】
背景差分画像の画素値(差分絶対値)は、現画像と背景とに違いがある画素ほど、大きな値になるので、すなわち、例えば、背景には映っていないが現画像には映っている物体の画素ほど、大きな値になるので、背景差分画像(の各画素の画素値)を閾値によって2値化することにより、背景には映っていないが現画像には映っている物体の画素の画素値が1で、他の画素の画素値が0の画像(以下、2値化背景差分画像ともいう)を得ることができる。
【0116】
2値化背景差分画像において、背景には映っていないが現画像には映っている物体の画素の画素値は1になっているので、2値化背景差分画像において、画素値が1になっており、動体候補領域画像でも、画素値が1になっている画素を検出することにより、現画像に、移動後の物体が映っている画素だけを、動体として検出することができる。
【0117】
検出部57は、以上のように、背景差分画像生成部52からの背景差分画像(から得られる2値化背景差分画像)と、動体候補領域画像生成部56からの動体候補領域画像とに基づき、現画像に、移動後の物体が映っている画素だけを、動体として検出する。
【0118】
以上のような動体検出部31では、背景になかった物体が現れた場合(例えば、物体が置き去りにされた場合)、現画像において、その物体が映っている部分が、動体として検出されるが、背景に存在していた物体が消えた場合(例えば、物体が持ち去られた場合)、現画像において、背景に存在していた物体が映っていた部分が、動体として検出される。
【0119】
[一時停止判定部32]
図10は、図1の一時停止判定部32の処理を説明する図である。一時停止判定部32は、動体検出部31からの(動体領域に含まれる)動体が、所定の一定時間以上停止する一時停止をしているかどうかを判定する。
【0120】
動体が一時停止しているかどうかの判定では、動体が停止している停止状態にあるかどうかの停止状態判定と、停止状態が、所定の一定時間(上述の不動体認知時間mと同程度か、又は、多少短い時間)以上継続したかどうかを判定する継続判定とが行われる。
【0121】
すなわち、一時停止判定部32は、動体検出部31で検出される動体のトラッキングにより、時刻tの画像(現画像)から検出された動体と、その動体と同一の動体であるであるとして、1時刻前の時刻t-1の画像から検出された動体とを用いて、停止状態判定を行う。
【0122】
停止状態判定では、現画像から検出された動体と、例えば、時刻t-1等の前の時刻(過去の時刻)の画像から検出された動体との位置ずれ量が、位置ずれ量の閾値TH1未満であるかどうかが判定される。
【0123】
ここで、位置ずれ量としては、例えば、現画像から検出された動体の矩形の動体領域の中心(重心)の座標(位置)を、(cx,cy)と表すとともに、時刻t-1の画像から検出された動体の矩形の動体領域の中心の座標を、(cx_p,cy_p)と表すこととすると、位置ずれ量は、例えば、式|cx-cx_p|+|cy-cy_p|で表すことができる。
【0124】
この場合、停止状態判定では、式|cx-cx_p|+|cy-cy_p|<TH1を満たすかどうかが判定される。
【0125】
現画像から検出された動体と、時刻t-1の画像から検出された動体との位置ずれ量が、位置ずれ量の閾値TH1未満である場合には、連続して停止状態にあることをカウントする変数snumが、1だけインクリメントされる。
【0126】
また、現画像から検出された動体と、時刻t-1の画像から検出された動体との位置ずれ量が、位置ずれ量の閾値TH1未満でない場合には、変数snumが、0にリセットされる。
【0127】
そして、継続判定では、変数snumが、所定の一定時間に相当する時間の閾値TH2より大(以上)であるかどうかが判定される。
【0128】
変数snumが閾値TH2より大である場合、現画像から検出された動体は、一時停止している(一時停止状態である)と判定され、変数snumが閾値TH2より大でない場合、現画像から検出された動体は、一時停止していない(一時停止状態でない)と判定される。
【0129】
以上のように、一時停止判定部32では、現画像から検出された動体と、現画像の1時刻前の画像から検出された動体との位置ずれ量が閾値TH1以内であることが、時間の閾値TH2以上だけ連続した場合に、現画像から検出された動体が、所定の一定時間以上停止している一時停止状態であると判定される。
【0130】
一時停止判定部32は、現画像から検出された動体が、所定の一定時間以上停止している一時停止状態であると判定すると、その動体に、一時停止状態であることを表す値である1をセットした一時停止フラグisPauseを割り当てる。
【0131】
そして、一時停止判定部32は、1がセットされた一時停止フラグisPauseが割り当てられている動体を、一時停止しているオブジェクトである一時停止オブジェクトとして、一時停止画像処理部33に供給する。
【0132】
一時停止画像処理部33は、一時停止判定部32から供給される一時停止オブジェクトを、記憶部34に記憶されている一時停止画像に、上書きする形で登録する(記憶させる)。
【0133】
なお、人(人間)については、一時停止オブジェクト、ひいては、不動体として検出する対象から除外したい場合がある。本件発明者の経験上、人については、比較的、短時間に、輝度が変化するので、現画像から検知される動体が、比較的、短時間に、輝度が変化する動体である場合には、一時停止判定部32において、一時停止していると判定されても、一時停止オブジェクトとしない(記憶部34に登録しない)ことにより、人が、不動体として検出されることを防止することができる。
【0134】
[信頼度処理部35]
図11は、図1の信頼度処理部35の処理を説明する図である。信頼度処理部35は、図1で説明したように、画像取得部11からの現画像、背景生成部21からの背景、及び、記憶部34に記憶された一時停止画像を用いて、現画像の各画素について、不動体信頼度を求め、記憶部36に登録する(記憶させる)。
【0135】
ここで、図11に示すように、現画像に、家と木、自動車、及び、歩行者が映っているとする。また、図11においては、現画像に映る家と木が、背景であり、自動車が、不動体であり、歩行者が、動体としての動いている物体であるとする。この場合、記憶部34には、図11に示すように、不動体である自動車が一時停止オブジェクトとして映る一時停止画像が記憶される。
【0136】
いま、現画像の、不動体である自動車が映るある画素(以下、不動体画素ともいう)Xに注目すると、現画像の不動体画素(位置Xの画素)Xの画素値Iと、一時停止画像の不動体画素(位置Xの画素)Xの画素値Pとは、同様の値(一致、又は、ほぼ一致する値)になる。
【0137】
また、一時停止画像の不動体画素Xの画素値Pと、背景の不動体画素(位置Xの画素)Xの画素値Bとは、同様の値にはならない。
【0138】
さらに、現画像の不動体画素Xの画素値Iと、背景の不動体画素Xの画素値Bとは、やはり、同様の値にならない。
【0139】
一方、現画像の、背景である、例えば、家が映る画素(以下、背景画素ともいう)X'に注目すると、現画像の背景画素X'の画素値Iと、一時停止画像の背景画素X'の画素値Pとは、同様の値にはならない。
【0140】
さらに、一時停止画像の背景画素X'の画素値Pと、背景の背景画素X'の画素値Bとは、やはり、同様の値にはならない。但し、現画像の背景画素X'の画素値Iと、背景の背景画素X'の画素値Bとは、同様の値になる。
【0141】
一方、現画像の、動体である、歩行者が映る画素(以下、動体画素ともいう)X''に注目すると、現画像の動体画素X''の画素値Iと、一時停止画像の動体画素X''の画素値Pとは、同様の値にはならない。
【0142】
さらに、一時停止画像の動体画素X''の画素値Pと、背景の動体画素X''の画素値Bとは、やはり、同様の値にはならず、現画像の動体画素X''の画素値Iと、背景の動体画素X''の画素値Bとも、同様の値にはならない。
【0143】
これは、現画像において、図11に示すように、動体画素が、動体である歩行者が不動体である自動車の手前にいる場合の、その動体が映っている画素であっても、同様である。
【0144】
以上のように、現画像の位置Xの画素が、不動体画素、背景画素、及び、動体画素のうちのいずれであるかによって、現画像、一時停止画像、及び、背景それぞれの位置Xの画素の画素値どうしの大小関係が異なるので、その大小関係に基づいて、現画像の位置Xの画素が、不動体画素であることの確からしさである不動体信頼度を見積もることができる。
【0145】
そこで、信頼度処理部35は、現画像の各画素(各位置Xの画素)Xについて、現画像、背景、及び、一時停止画像の画素Xの画素値どうしの大小関係に基づいて、不動体信頼度を求める。
【0146】
すなわち、信頼度処理部35は、例えば、図1の不動体検出装置の電源がオンにされたときに、記憶部36に記憶された信頼度画像(不動体信頼度を画素値とする画像)の各画素値を、例えば0にリセットする。
【0147】
そして、信頼度処理部35は、記憶部34に、一時停止オブジェクトが、新たに登録(記憶)されると、すなわち、現画像から、新たな一時停止オブジェクトが得られると、記憶部36に記憶された信頼度画像のうちの、新たな一時停止オブジェクトを構成する各画素について、不動体信頼度の初期値C0を設定する(記憶部36に記憶させる(登録する))。
【0148】
さらに、信頼度処理部35は、新たな現画像が得られるごとに(フレームごとに)、現画像の各画素の不動体画素らしさを判定し、その判定結果に基づいて、記憶部36に記憶された信頼度画像の画素値である不動体信頼度を更新する。
【0149】
図12は、信頼度処理部35による不動体信頼度の更新の概要を説明する図である。いま、現画像の位置Xの画素の画素値を、I(X)と、一時停止画像の位置Xの画素の画素値を、P(X)と、背景の位置Xの画素の画素値を、B(X)と表すこととする。
【0150】
図11で説明したように、現画像の位置Xの画素が、不動体画素である場合には、画素値I(X)と画素値P(X)とは、同様の値になり、画素値P(X)と画素値B(X)とは、同様の値にはならず、画素値I(X)と画素値B(X)とは、同様の値にならない。
【0151】
また、現画像の位置Xの画素が、背景画素である場合には、画素値I(X)と画素値P(X)とは、同様の値にはならず、画素値P(X)と画素値B(X)とは、同様の値にはならず、画素値I(X)と画素値B(X)とは、同様の値になる。
【0152】
さらに、現画像の位置Xの画素値が、動体画素である場合には、画素値I(X)と画素値P(X)とは、同様の値にはならず、画素値P(X)と画素値Bとは、同様の値にはならず、画素値I(X)と画素値B(X)とは、同様の値にはならない。
【0153】
そこで、信頼度処理部35は、図12Aに示すように、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th未満であり、画素値I(X)と画素値B(X)との差分絶対値|I(X)-B(X)|が、閾値th以上であり、かつ、画素値B(X)と画素値P(X)との差分絶対値|B(X)-P(X)|が、閾値th以上である場合には、現画像の画素(位置Xの画素)Xは、不動体画素である可能性が高いので、その画素Xについての不動体信頼度C(X)の更新量ΔC(X)を、例えば、+1に設定し、不動体信頼度C(X)を、式C(X)=C(X)+ΔC(X)に従って更新する(不動体信頼度C(X)をインクリメントする)。
【0154】
さらに、信頼度処理部35は、図12Bに示すように、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th以上であり、画素値P(X)と画素値B(X)との差分絶対値|P(X)-B(X)|が、閾値th以上であり、かつ、画素値B(X)と画素値I(X)との差分絶対値|B(X)-I(X)|が、閾値th未満であるか、又は、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th未満であり、画素値P(X)と画素値B(X)との差分絶対値|P(X)-B(X)|が、閾値th未満であり、かつ、画素値B(X)と画素値I(X)との差分絶対値|B(X)-I(X)|が、閾値th未満である場合には、現画像の画素Xは、背景画素である可能性が高いので、その画素Xについての不動体信頼度C(X)の更新量ΔC(X)を、例えば、-1に設定し、不動体信頼度C(X)を、式C(X)=C(X)+ΔC(X)に従って更新する(不動体信頼度C(X)をデクリメントする)。
【0155】
ここで、本実施の形態では、記憶部34に記憶される一時停止オブジェクトは、矩形の形状をしているため、一時停止オブジェクトの一部には、背景が含まれることがある。一時停止オブジェクトに背景が含まれる場合に、その背景が映っている位置Xの画素については、画素値I(X),P(X)、及び、B(X)は、同様の値になるため、信頼度処理部35は、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th以上であり、画素値P(X)と画素値B(X)との差分絶対値|P(X)-B(X)|が、閾値th以上であり、かつ、画素値B(X)と画素値I(X)との差分絶対値|B(X)-I(X)|が、閾値th未満である場合だけでなく、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th未満であり、画素値P(X)と画素値B(X)との差分絶対値|P(X)-B(X)|が、閾値th未満であり、かつ、画素値B(X)と画素値I(X)との差分絶対値|B(X)-I(X)|が、閾値th未満である場合、つまり、画素値I(X),P(X)、及び、B(X)が、同様の値である場合にも、現画像の画素Xが、背景画素である可能性が高いとして、不動体信頼度C(X)をデクリメントする。
【0156】
また、信頼度処理部35は、図12Cに示すように、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th以上であり、画素値P(X)と画素値B(X)との差分絶対値|P(X)-B(X)|が、閾値th以上であり、かつ、画素値B(X)と画素値I(X)との差分絶対値|B(X)-I(X)|が、閾値th以上である場合、つまり、画素値I(X),P(X)、及び、B(X)それぞれが、比較的異なる値である場合には、現画像の画素Xが、不動体画素でも、背景画素でもない可能性が高いとして、すなわち、例えば、動体画素である可能性が高いとして、その画素Xについての不動体信頼度C(X)の更新量ΔC(X)を、例えば、0に設定し、不動体信頼度C(X)を、式C(X)=C(X)+ΔC(X)に従って更新する(不動体信頼度C(X)をそのまま維持する)。
【0157】
ここで、現画像の画素Xが、動体画素である可能性が高いのにもかかわらず、その画素Xについての不動体信頼度C(X)をデクリメントしないのは、図11に示したように、現画像において、画素X(X'')が、動体である歩行者が不動体である自動車の手前にいる場合の、その動体が映っている動体画素であることがあるからである。
【0158】
すなわち、画素Xが、動体である歩行者が不動体である自動車の手前にいる場合の、その動体が映っている動体画素であるときには、その後、動体である歩行者が、不動体である自動車の前を通り過ぎると、画素Xは、不動体である自動車が映っている不動体画素となる。
【0159】
したがって、ある時刻の画像において、画素Xが、動体である歩行者が不動体である自動車の手前にいる場合の、その動体が映っている動体画素であっても、画素Xは、その後の時刻の画像において、不動体画素となることがあるので、そのようなケースにおいて、画素Xについての不動体信頼度C(X)をデクリメントすると、不動体画素が不動体として検出されなくなるおそれがあり、これを防止するためである。
【0160】
図13は、信頼度処理部35による不動体信頼度の更新の詳細を説明する図である。信頼度処理部35は、式|I(X)-P(X)|<th、式|P(X)-B(X)|<th、及び、式|I(X)-B(X)|<thのそれぞれが満たされる(Yes)か、満たされない(No)かを判定し、その判定結果に基づいて、図13に示すように、不動体信頼度C(X)を、インクリメント(増加)させるか、デクリメント(減少)させるか、又は、そのまま維持する(増減しない)。
【0161】
すなわち、いま、式|I(X)-P(X)|<thが、満たされる場合と満たされない場合とを、それぞれ、[Yes,,]と[No,,]と表すこととする。同様に、式|P(X)-B(X)|<thが、満たされる場合と満たされない場合とを、それぞれ、[,Yes,]と[,No,]と表すとともに、式|I(X)-B(X)|が、満たされる場合と満たされない場合とを、それぞれ、[,,Yes]と[,,No]と表すこととする。
【0162】
この場合、例えば、[Yes,Yes,Yes]は、式|I(X)-P(X)|<th、式|P(X)-B(X)|<th、及び、式|I(X)-B(X)|<thのすべてが満たされることを表す。
【0163】
信頼度処理部35は、[Yes,Yes,Yes]の場合、不動体信頼度C(X)を、例えば、1だけデクリメントし、[Yes,No,No]の場合、不動体信頼度C(X)を、例えば、1だけインクリメントし、[No,No,Yes]の場合、不動体信頼度C(X)を、例えば、1だけデクリメントし、[No,No,No]の場合、不動体信頼度C(X)を、そのまま維持し、[No,Yes,No]の場合、不動体信頼度C(X)を、例えば、1だけデクリメントし、その他の場合(Other)、不動体信頼度C(X)を、例えば、1だけデクリメントする。
【0164】
なお、不動体信頼度C(X)を更新する更新量(インクリメント、及び、デクリメントする量)は、1に限定されるものではない。すなわち、信頼度処理部35では、[Yes,Yes,Yes]の場合、不動体信頼度C(X)を、例えば、2だけデクリメントし、[Yes,No,No]の場合、不動体信頼度C(X)を、例えば、1だけインクリメントし、[No,No,Yes]の場合、不動体信頼度C(X)を、例えば、2だけデクリメントし、[No,No,No]の場合、不動体信頼度C(X)を、そのまま維持し、[No,Yes,No]の場合、不動体信頼度C(X)を、例えば、2だけデクリメントし、その他の場合(Other)、不動体信頼度C(X)を、例えば、1だけデクリメントすることができる。
【0165】
また、以上においては、現画像の画素値I(X)、一時停止画像の画素値P(X)、及び、背景の画素値B(X)の3つの画素値の大小関係に基づいて、不動体信頼度C(X)を更新することとしたが、不動体信頼度C(X)は、その他、例えば、現画像の画素値I(X)、及び、一時停止画像の画素値P(X)の2つの画素値の大小関係に基づいて更新することができる。
【0166】
すなわち、例えば、式|I(X)-P(X)|<thが満たされる場合には、画素Xが不動体画素であるとして、不動体信頼度C(X)をインクリメントし、式|I(X)-P(X)|<thが満たされない場合には、画素Xが不動体画素でないとして、不動体信頼度C(X)をデクリメントすることができる。
【0167】
現画像の画素値I(X)、及び、一時停止画像の画素値P(X)の2つの画素値の大小関係に基づいて、不動体信頼度C(X)を更新する場合には、現画像の画素値I(X)、一時停止画像の画素値P(X)、及び、背景の画素値B(X)の3つの画素値の大小関係に基づいて、不動体信頼度C(X)を更新する場合に比較して、不動体を検出する精度が劣化するが、不動体検出装置を、背景生成部21を設けずに(小型に)構成することができる。
【0168】
図14は、信頼度処理部35により更新される不動体信頼度C(X)の変化を示す図である。図14Aは、画素Xが、不動体画素である場合の、その画素Xについての不動体信頼度C(X)の変化を示している。
【0169】
画素Xが、不動体画素である場合において、一時停止判定部32において、画素Xが一時停止していると判定されると、その画素X(の画素値)が、一時停止オブジェクトとして、記憶部34に記憶される。
【0170】
画素Xが、一時停止オブジェクトとして、記憶部34に記憶されると、信頼度処理部35は、その画素Xについての不動体信頼度C(X)として、記憶部36に、初期値C0を設定する(記憶させる)。画素Xが、不動体画素である場合には、その画素Xについての不動体信頼度C(X)が、時間の経過とともに増加していく(インクリメントされる)。
【0171】
したがって、画素Xが、不動体画素である場合には、その画素Xについての不動体信頼度C(X)は、初期値C0が設定されてから、ある程度の時間が経過すると、不動体検出部37(図1)で行われる2値化に用いられる閾値th_conf以上の値となり、その結果、不動体検出部37において、画素Xは、不動体として検出される。
【0172】
図14Bは、画素Xが、揺らいでる木の葉等が映っている外乱がある画素である場合の、その画素Xについての不動体信頼度C(X)の変化を示している。
【0173】
一時停止判定部32では、揺らいでる木の葉等が映っている外乱がある画素Xが、外乱の影響により、誤って、一時停止していると判定されることがあり、この場合、画素X(の画素値)は、一時停止オブジェクトとして、記憶部34に記憶される。
【0174】
そして、画素Xが、一時停止オブジェクトとして、記憶部34に記憶されると、信頼度処理部35は、その画素Xについての不動体信頼度C(X)として、記憶部36に、初期値C0を設定する。
【0175】
以上のように、画素Xについての不動体信頼度C(X)に、初期値C0が設定されても、画素Xが、揺らいでる木の葉等が映っている外乱がある画素である場合には、その画素Xについての不動体信頼度C(X)の更新では、不動体信頼度C(X)のインクリメントや、デクリメント、値の維持が、いわばランダムに行われる。
【0176】
したがって、画素Xについての不動体信頼度C(X)は、時間が経過しても、初期値C0からそれほど変化せず、閾値th_conf以上の値にはならない。
【0177】
その結果、不動体検出部37において、画素Xは、不動体として検出されないので、外乱がある画素が不動体として誤検出されることを抑制することができる。
【0178】
図15は、図1の信頼度処理部35による不動体信頼度C(X)の初期値C0の設定を説明する図である。信頼度処理部35は、記憶部34に、一時停止オブジェクトが、新たに登録(記憶)されると、すなわち、現画像から、新たな一時停止オブジェクトが得られると、その一時停止オブジェクトを構成する各画素について、不動体信頼度C(X)の初期値C0を設定する。
【0179】
すなわち、信頼度処理部35は、記憶部36に記憶されている、不動体信頼度C(X)を画素値とする信頼度画像の画素のうちの、一時停止オブジェクトの画素(と同一位置にある画素)の画素値として、初期値C0を記憶させる(登録する)。この場合、記憶部36に記憶されている信頼度画像の画素値は、初期値C0によって上書きされる。
【0180】
ところで、既に、一時停止オブジェクトAが得られており、その一時停止オブジェクトAについて、信頼度画像の、一時停止オブジェクトAの領域内の画素に、画素値としての不動体信頼度が記憶されている場合において、一時停止オブジェクトAに、少なくとも一部が重なるような一時停止オブジェクトBが、新たに得られたとする。
【0181】
この場合、新たな一時停止オブジェクトBについて、信頼度画像の、一時停止オブジェクトBの領域(図15において、太線で囲む領域)内の画素に、画素値としての不動体信頼度の初期値C0を、何らの制限もなしに記憶させると、既に、初期値C0よりも大きな値になっている、一時停止オブジェクトAについての不動体信頼度が、初期値C0に上書きされることがある。
【0182】
既に、初期値C0よりも大きな値になっている、一時停止オブジェクトAについての不動体信頼度が、初期値C0に上書きされた場合、例えば、その上書き前の不動体信頼度が、既に、閾値th_conf以上になっているときには、それまで不動体として検出されていた、一時停止オブジェクトAの一部が、突然、不動体として検出されなくなる不都合が生じる。
【0183】
そこで、信頼度処理部35は、記憶部36に記憶されている信頼度画像の画素値に、初期値C0を記憶させる場合に、その画素の画素値が、既に、初期値C0以上になっているときには、その初期値C0以上の画素値の画素の画素値を、そのまま維持し、初期値C0を記憶させない(上書きを制限する)。
【0184】
すなわち、信頼度処理部35は、一時停止オブジェクトが新たに得られた場合に、信頼度画像の、新たな一時停止オブジェクトの領域内の画素のうちの、画素値が初期値C0未満の画素にだけ、初期値C0を記憶させる(設定する)。
【0185】
これにより、信頼度画像において、既に、初期値C0よりも大きな値になっている画素値が、初期値C0に上書きされ、不動体が検出されなくなることを防止することができる。
【0186】
[不動体検出装置の処理]
図16は、図1の不動体検出装置の処理(不動体検出処理)を説明するフローチャートである。
【0187】
画像取得部11は、最新の画像を取得し、現画像として、背景生成部21、動体検出部31、一時停止画像処理部33、信頼度処理部35、及び、不動体提示部38に供給する。
【0188】
背景生成部21は、画像取得部11から現画像が供給されると、ステップS11において、その現画像を用い、式(3)に従って、背景を生成(更新)し、信頼度処理部35に供給して、処理は、ステップS12に進む。
【0189】
ステップS12では、動体検出部31が、画像取得部11からの現画像から、動体を検出する動体検出処理を行い、処理は、ステップS13に進む。
【0190】
ステップS13では、動体検出部31は、直前のステップS12の動体検出処理で、動体が検出されたかどうかを判定する。
【0191】
ステップS13において、動体が検出されていないと判定された場合、処理は、ステップS14ないしS16をスキップして、ステップS17に進む。
【0192】
また、ステップS13において、動体が検出されたと判定された場合、動体検出部31は、現画像から検出した動体(の動体領域)を、一時停止判定部32、及び、一時停止画像処理部33に供給して、処理は、ステップS14に進む。
【0193】
ステップS14では、一時停止判定部32は、動体検出部31からの動体が一時停止しているかどうかを判定する。
【0194】
ステップS14において、動体が一時停止していないと判定された場合、処理は、ステップS15及びS16をスキップして、ステップS17に進む。
【0195】
また、ステップS14において、動体が一時停止していると判定された場合、一時停止判定部32は、その一時停止している動体を、一時停止オブジェクトとして、一時停止画像処理部33に供給し、処理は、ステップS15に進む。
【0196】
ステップS15では、一時停止処理部33は、一時停止判定部32からの一時停止オブジェクトを、記憶部34に登録し、すなわち、記憶部34に記憶された一時停止画像の、一時停止オブジェクトに対応する領域に、その一時停止オブジェクトを記憶させ、処理は、ステップS16に進む。
【0197】
ステップS16では、信頼度処理部35は、直前のステップS15で記憶部34に記憶された一時停止オブジェクトについて、記憶部36に記憶された信頼度画像の、一時停止オブジェクトに対応する領域の画素に、不動体信頼度の初期値C0を記憶させ(設定し)、処理は、ステップS17に進む。
【0198】
ステップS17では、一時停止画像処理部33は、画像取得部11からの現画像と、動体検出部31からの動体とを用い、式(1)及び式(2)に従って、記憶部34に記憶された一時停止画像(に映る一時停止オブジェクト)を更新し、処理は、ステップS18に進む。
【0199】
ステップS18では、信頼度処理部35は、画像取得部11からの現画像、背景生成部21からの背景、及び、記憶部34に記憶された一時停止画像を用い、図11ないし図14で説明したように、記憶部36に記憶された信頼度画像の画素値である不動体信頼度を更新し、処理は、ステップS19に進む。
【0200】
ステップS19では、不動体検出部37は、記憶部36に記憶された信頼度画像に基づいて、現画像から、不動体を検出する検出処理を行って、処理は、ステップS20に進む。
【0201】
すなわち、検出処理では、不動体検出部37は、記憶部36に記憶された信頼度画像の画素値である不動体信頼度を、閾値th_confによって2値化し、2値化信頼度画像を求める。
【0202】
さらに、不動体検出部37は、2値化信頼度画像について、画素値が1の画素(不動体信頼度が閾値th_conf以上の画素)と、その画素に隣接する8近傍の画素のうちの、画素値が1の画素とに、同一のラベルを付すラベリングを行うことにより、画素値が1の画素で構成される領域に外接する最小の矩形の領域を、不動体の領域(不動体領域)として検出する。
【0203】
ステップS20では、不動体検出部37は、直前のステップS19での検出処理で、不動体が検出されたかどうかを判定する。
【0204】
ステップS20において、不動体が検出されていないと判定された場合、処理は、ステップS21をスキップして、ステップS22に進む。
【0205】
また、ステップS20において、不動体が検出されたと判定された場合、不動体検出部37は、不動体(不動体領域)のサイズ、及び、中心の座標等を求め、不動体情報として、不動体提示部38に供給して、処理は、ステップS21に進む。
【0206】
ステップS21では、不動体提示部38は、不動体検出部37からの不動体情報に基づき、画像取得部11からの現画像を必要に応じて用いて、不動体(が検出された旨)を提示し、処理は、ステップS22に進む。
【0207】
ステップS22では、一時停止画像処理部33は、記憶部36に記憶された信頼度画像を参照し、その画素値である不動体信頼度が、初期値C0より小さい、例えば、0になっている、記憶部34に記憶された一時停止オブジェクトを削除する。
【0208】
すなわち、一時停止画像処理部33は、記憶部34に記憶された一時停止オブジェクトの画素のうちの、不動体信頼度が0になっている画素の画素値を、例えば、0等にする。
【0209】
その後、画像取得部11から、背景生成部21、動体検出部31、一時停止画像処理部33、信頼度処理部35、及び、不動体提示部38に、新たな現画像が供給されるのを待って、処理は、ステップS22からステップS11に戻り、以下、同様の処理が繰り返される。
【0210】
以上のように、図1の不動体検出装置では、動体が一時停止しているかどうかを判定し、一時停止している動体である一時停止オブジェクトが映る一時停止画像と、現画像とを、少なくとも用いて、不動体信頼度を更新(生成)し、その不動体信頼度に基づいて、不動体を検出するので、誤検出を抑制した、頑強な不動体検出を行うことができる。
【0211】
[誤検出を防ぐ処理について]
以上のように、図1の不動体検出装置では、誤検出を抑制した、頑強な不動体検出を行うことができるが、取得される画像(処理対象とされる画像)が、以下のような画像である場合、不動体検出が正常に行えない可能性がある。そのような不動体検出を正常に行えない領域を検出し、より誤検出を抑制した、頑強な不動体検出を行うことができるようにするための処理について説明を加える。
【0212】
不動体検出が正常に行えない可能性がある画像とは、例えば、交差点を撮影しているようなカメラから取得された画像のように、多数の人や車が往来する領域が存在する画像である。このような多数の人や車が往来する領域がある画像の場合、背景が正常に生成されずに、不動体の誤検出が行われてしまう可能性がある。
【0213】
そこで、そのような領域を検出し、適切な処理ができるようにする。適切な処理とは、後述するように、例えば、不動体提示部38により、そのような領域をユーザに提示し、ユーザに認識させることである。背景が正常に生成されない領域は、処理困難領域判断部22により検出される。処理困難領域判断部22は、背景生成部21により生成される背景モデルを用いて処理困難な領域を検出する。
【0214】
背景モデルは、図3乃至7を参照して説明したように、画素毎に生成される。背景モデルとしては、例えば、3項分布の場合、図3Aに示したような背景モデルが生成される。ここで、再度背景モデルについて説明を加える。
【0215】
例えば、同一の静止画像、例えば、図2の時刻t1のときの画像が、100フレーム連続するような映像を処理した場合を考える。このような場合、所定の画素の輝度値は、100フレームで同一であるため、その画素の背景モデルを生成した場合、1つの分布だけが存在し、その分布の重みは処理したフレーム数に応じた比較的大きな値(例えば、重みが1づつ増加する設定の場合、100)になっている背景モデルが生成される。静止画像でなくても、背景のような画像であれば、このような背景モデルが生成されると想定できる。
【0216】
また、図2の時刻t1の画像のように、家と木が映っている画像を撮影し続けた映像であり、木が揺らいでいるような場合、家の所定の位置の壁を注視したとき、その壁が見えているときとその壁に揺らいだ木の葉が見えているときとがある。このような領域を見たとき、壁と木の葉が交互に見える状態である。このような領域から得られる背景モデルは、壁の画素の輝度値の分布と、木の葉の画素の輝度値の分布が存在する背景モデルが生成される可能性が高い。
【0217】
このように、背景と判断される画像(領域)から得られる背景モデルは、1または2などの少ない分布を有し、その各分布の重みは、比較的高い数値となることが予想される。また、1つの分布は、所定の範囲の輝度値を含むため、多少の輝度値の変化であれば、その範囲内に吸収することができる。また、図4のフローチャートを参照して説明したように、分布の更新、削除、生成といった処理が行われるため、背景の輝度値が変化しても、背景モデルの分布の状況が急激に変化するようなことはないとされる。
【0218】
よって、背景と判断される画像から得られる背景モデルは、高い重みを有する分布が存在している背景モデルである。このような背景モデルが存在する領域は、背景が正常に生成され、不動体の誤検出が行われる可能性が低い領域である。
【0219】
これに対して、車や人などの動体が頻繁に往来するような輝度値の変化が激しい領域から得られる背景モデルは、輝度値の変化が激しいために、背景モデルの輝度値の分布が分散し、1つの分布の重みは低い数値となる。このような背景モデルが存在する領域は、背景が正常に生成されずに、不動体の誤検出が行われる可能性がある領域である。
【0220】
このような不動体の誤検出が行われる可能性がある領域(画素)を、処理困難領域判断部22は検出する。ここでは、不動体の誤検出が行われる可能性がある領域であり、不動体が検出されたとしても、その検出の信頼度が低い領域を、処理不可能な領域と記述する。換言すれば、信頼度の高い背景との比較で、不動体が検出されることで、信頼度の高い不動体が検出されるが、そのような信頼度の高い背景を生成することが困難な領域を、処理不可能な領域と記述する。
【0221】
逆に、不動体の検出が正常に行われる可能性が高い領域であり、その検出の信頼度が高い領域を、処理可能な領域と記述する。
【0222】
処理可能な領域であるか、処理不可能な領域であるかの判断は、上記した説明から明らかなように、生成された背景モデルのうち、重みが一番高い分布の重みと、更新した回数により判断することができる。ここでは、重みが一番高い分布の重みが、更新した回数と項数より計算される閾値よりも高い場合に、処理可能と判断され、それ以外の場合には処理不可能と判断されるとして説明を続ける。
【0223】
具体的には、生成された背景モデルの分布のうち最も重みの高い分布の重みをWh(t,X)とし、判断がされるときまでに分布が更新された回数をC(t,X)とし、背景モデルで表現する分布の数をNとした場合、以下の式(5)で処理可能な領域の画素か否かが判断される。
【0224】
If Wh(t,X)>β×C(t,X)/N :処理可能
Else:処理不可能
・・・(5)
【0225】
式(5)におけるβは、調整のパラメータであり通常の場合は1に設定される。背景モデルが、3項分布の場合、N=3となる。C(t,X)は、分布が更新された回数であるが、例えば、100フレームが処理された結果、得られた背景モデルの場合、100となる。よって、分布が更新された回数とは、処理対象とされた累計のフレーム数となる。
【0226】
式(5)に基づいて、処理可能な領域(画素)であるか否かが判断されるようにしても良いし、式(5)における不等号の右辺を、所定の閾値(固定値)として、重みがその所定の閾値以上であれば、処理可能な領域(画素)であると判断されるようにしても良い。
【0227】
また、ここでは、画素毎に背景モデルが生成され、その生成された背景モデルが用いられて、式(5)に基づき処理可能であるか否かが判断されるとして説明した。すなわちこの場合、画素毎に、その画素が処理可能な画素であるか否かを判断していることになる。画素毎ではなく、所定の領域のブロック単位で、まとめて処理可能であるか否かを判断するように構成することも可能である。
【0228】
このようにして、処理可能と判断された画素、およびその画素を含む領域は、背景を正常に生成できるため、そのまま後段の処理を続けても問題ないが、処理不可能と判断された画像(領域)は、背景を正常に生成できず、不動体の検出が正常に行えない可能性があるため、そのような領域に対しては、適切な処理を行う必要がある。
【0229】
ここでは、適切な処理として、ユーザに処理不可能と判断された領域を提示するとして説明する。処理困難領域判断部22からの出力は、不動体提示部38に供給される。不動体提示部38は、上述したように、不動体検出部37からの不動体情報に基づき、不動体が検出された旨を提示する。その提示は、例えば、画像取得部11からの現画像に、不動体検出部37からの不動体情報によって特定される不動体領域を囲む枠のOSD(On Screen Display)を重畳し、図示せぬ表示装置に表示させることで行われるとして説明した。
【0230】
この不動体が検出された領域と同じく、処理不可能と判断された領域も、画像取得部11からの現画像に、囲む枠のOSD(On Screen Display)を重畳し、図示せぬ表示装置に表示させることで、ユーザに提示されるようにしても良い。換言すれば、不動体と処理不可能な領域が、ユーザに提示される。このようにして提示された処理不可能な領域を確認することで、ユーザは、そのような領域に仮に不動体が検出されたことが提示されていても、その不動体の検出の信頼度は低いことを認識することができる。そのような信頼度の低い不動体に対する対処はしないという判断も、ユーザは行うことが可能となる。
【0231】
ユーザが確認することで、仮に、処理不可能領域ではないとユーザが判断した場合、そのユーザの指示によりリセットするなどの処理を実行することが可能となる。また、ユーザが確認することで、処理不可能領域であると判断した場合、ユーザが、その領域の提示を停止させたり、他の提示方法に変えたりすることができるようにしても良い。例えば、処理不可能領域が、ユーザが確認した結果、その後も処理不可能領域である可能性が高いような場合に、そのような領域が提示され続けると、目障りになることも考えられる。よって、そのような提示がされないように設定したり、塗りつぶして表示されるように設定したりできるようにしても良い。
【0232】
また、ネットワークなどで接続されている他の装置に対して処理不可能な領域を通知し、通知を受け取った他の装置側で、自由な表示方法に加工してユーザ側に提示したり、他の処理をしたりするようにしても良い。このような場合、検出された処理不可能な領域を1、処理可能な領域を0と表現した画像を生成し、その画像をメタデータとしてネットワークを介して他の装置に送信するように構成することができる。
【0233】
また上記した式(5)において、βはパラメータであるとした。このパラメータであるβを、ユーザが設定できるようにしても良い。パラメータを設定する際、数値をユーザが直接設定できるようにしても良い。
【0234】
または、ユーザにわかりやすいように、例えば、高、中、弱などの複数の段階で設定可能にしておいても良い。そして、高のパラメータになるほど、βの値が大きな値になるように変更されるように設定しておく。例えば、このように高、中、弱の三段階が設定された場合、βの値として、高の場合は2、中の場合は1、弱の場合は0.5などのパラメータが設定されるようにする。
【0235】
βの値が1より大きな値に設定されることで、式(5)の不等号の右辺の値が大きくなるため、不等号が成立しないケースが増え、処理不可能と判断される画素が増える可能性がある。例えば、車の往来は激しくないが、不動体が検出される可能性が低い所などを、処理不可能な画素(領域)として判断させたい場合など、βの値は大きな値に設定される。
【0236】
このようにユーザにパラメータを入力してもらうことによりユーザの使用環境に応じた推定も可能となり、その推定を用いた処理なども可能となる。このように、ユーザがパラメータを設定したり、上記した処理不可能領域の表示の仕方などに係わる設定をしたりすることができるようにした場合、図17に示すように、パラメータ設定部81を設け、パラメータ設定部81により設定されたパラメータが、処理困難領域判断部22に供給されるような構成とする。
【0237】
パラメータ設定部81は、ユーザが設定したパラメータなどを取得する機能を有する。例えば、キーボードなどの操作部を含む構成とすることができる。パラメータ設定部81により設定されたパラメータが、処理困難領域判断部22に供給され、処理困難領域判断部22が、供給されたパラメータを、式(5)のβの値として代入し、処理を行う。このように、ユーザによりパラメータが設定されるようにしても良い。
【0238】
なお、上述した実施の形態においては、処理不可能な画素(領域)をユーザに提示するとして説明したが、提示するだけでなく、そのような領域を処理しないように設定することも可能である。例えば、処理困難領域判断部22により、処理不可能な領域と判断された領域に関する情報が、動体検出部31や不動体検出部37など、不動体検出装置の各部に供給されるような構成とする(不図示)。そのような構成とし、例えば、動体検出部31において、処理不可能な領域を処理しない(その領域からは動体を検出しない)ように設定し、処理しないように構成することも可能である。
【0239】
このように構成することで、不動体検出装置における処理負担の軽減をはかることが可能となる。このように、処理不可能な領域は処理しないように設定するのは、ユーザにより、処理不可能な領域が確認され、ユーザの了承を得た後に設定されるようにすることも可能である。
【0240】
[不動体検出装置の処理について]
図18を参照し、再度、図1の不動体検出装置の処理を説明する。以下の説明においては、処理不可能な画素(領域)は検出されないとして説明を続ける。
【0241】
図18は、幾つかの時刻t1ないしt8それぞれの現画像、一時停止画像、及び、背景の例を示している。図18において、時刻t1では、現画像には、木だけが映っており、背景生成部21において、現画像と同様の木だけが映っている画像が、背景として生成されている。また、一時停止画像には、何らの一時停止オブジェクトも映っていない。
【0242】
時刻t1の後の時刻t2では、右から左の方向に移動する自動車が現れ始めており、現画像には、木とともに、右側に、現れ始めた自動車が映っている。現画像に映っている自動車は、動体検出部31において、動体として検出される。また、背景生成部21では、まだ、自動車の影響を受けず、木だけが映っている画像が、背景として生成されている。
【0243】
時刻t2の後の時刻t3では、移動していた自動車が停止(ストップ)し、現画像には、木とともに、左側に、停止した自動車が映っている。停止した自動車は、動体検出部31において、動体として検出され続けるが、まだ、停止した直後であるため、一時停止判定部32において、まだ、一時停止しているとは判定されず、一時停止画像には反映されていない。また、背景生成部21では、まだ、自動車の影響を受けず、木だけが映っている画像が、背景として生成されている。
【0244】
時刻t3の後の時刻t4では、自動車が停止し続けており、現画像には、時刻t3の場合と同様に、木とともに、左側に、停止した自動車が映っている。そして、時刻t4では、自動車が、所定の一定時間だけ停止し続けており、一時停止判定部32において、一時停止していると判定され、一時停止画像処理部33において、一時停止オブジェクトとして、記憶部34に記憶された一時停止画像に登録(反映)されている。これにより、一時停止画像は、一時停止オブジェクトである自動車が映った画像になっている。
【0245】
さらに、時刻t4では、一時停止オブジェクトとしての自動車が、記憶部34に記憶されたことにより、信頼度処理部35において、記憶部36に記憶された信頼度画像の、一時停止オブジェクトとしての自動車に対応する領域の画素の画素値に、不動体信頼度の初期値C0が設定される。
【0246】
また、時刻t4では、背景生成部21において、まだ、自動車の影響を受けず、木だけが映っている画像が、背景として生成されている。
【0247】
時刻t4から、その後の時刻t5までの間、自動車が停止し続けており、時刻t5の現画像には、時刻t3及びt4の場合と同様に、木とともに、左側に、停止した自動車が映っている。さらに、記憶部34には、一時停止オブジェクトとしての自動車が映った一時停止画像が記憶され続けており、背景生成部21において、まだ、自動車の影響を受けず、木だけが映っている画像が、背景として生成されている。
【0248】
したがって、時刻t4から時刻t5にかけては、現画像の、一時停止オブジェクトとしての自動車が映っている画素Xについては、現画像の画素Xの画素値I(X)、一時停止画像の画素Xの画素値P(X)、及び、背景の画素Xの画素値B(X)に関して、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th未満になり、画素値I(X)と画素値B(X)との差分絶対値|I(X)-B(X)|が、閾値th以上になり、かつ、画素値B(X)と画素値P(X)との差分絶対値|B(X)-P(X)|が、閾値th以上になるので、信頼度処理部35において、図12Aで説明したように、記憶部46に記憶された信頼度画像の画素X(位置Xの画素)の画素値である不動体信頼度C(X)がインクリメントされていく。
【0249】
そして、時刻t5において、現画像の、一時停止オブジェクトとしての自動車が映っている画素Xについての不動体信頼度C(X)が、閾値th_confとなり、その結果、不動体検出部37において、現画像の、一時停止オブジェクトとしての自動車が、不動体として検出されている。
【0250】
時刻t5の後の時刻t6では、自動車が停止し続けており、時刻t6の現画像には、時刻t3ないしt5の場合と同様に、木とともに、左側に、停止した自動車が映っている。さらに、記憶部34には、一時停止オブジェクトとしての自動車が映った一時停止画像が記憶され続けている。
【0251】
さらに、時刻t6では、自動車が停止した時刻t3から、不動体認知時間mの5倍等の相当の時間が経過しており、そのため、背景生成部21において、停止している自動車の影響を受けた、木と自動車が映っている画像が、背景として生成されている。
【0252】
時刻t6から、その後の時刻t7までの間、自動車が停止し続けており、時刻t7の現画像には、時刻t3ないしt6の場合と同様に、木とともに、左側に、停止した自動車が映っている。さらに、記憶部34には、自動車が映った一時停止画像が記憶され続けており、背景生成部21においては、自動車の影響を受けた、木と自動車が映っている画像が、背景として生成されている。
【0253】
したがって、時刻t6から時刻t7にかけては、現画像の自動車が映っている画素Xについては、現画像の画素Xの画素値I(X)、一時停止画像の画素Xの画素値P(X)、及び、背景の画素Xの画素値B(X)に関して、画素値I(X)と画素値P(X)との差分絶対値|I(X)-P(X)|が、閾値th未満になり、画素値I(X)と画素値B(X)との差分絶対値|I(X)-B(X)|が、閾値th未満になり、かつ、画素値B(X)と画素値P(X)との差分絶対値|B(X)-P(X)|が、閾値th未満になるので、信頼度処理部35において、図12Bで説明したように、記憶部46に記憶された信頼度画像の画素X(位置Xの画素)の画素値である不動体信頼度C(X)がデクリメントされていく。
【0254】
そして、時刻t7において、現画像の自動車が映っている画素Xについての不動体信頼度C(X)が、閾値th_conf未満となり、その結果、不動体検出部37において、現画像の自動車が、不動体として検出されなくなる。
【0255】
その後も、自動車が停止し続けており、これにより、現画像の自動車が映っている画素Xについての不動体信頼度C(X)がデクリメントされ続ける。
【0256】
そして、時刻t7の後の時刻t8では、現画像の自動車が映っている画素Xについての不動体信頼度C(X)が0になり、一時停止画像処理部33において、不動体信頼度が0になった、記憶部34に記憶された自動車が削除(消去)される。
【0257】
ここで、上述の場合には、画素Xについての不動体信頼度C(X)が、閾値th_conf以上である場合には、その画素Xを不動体として検出することとしたが、画素Xについての不動体信頼度C(X)が、閾値th_conf以上であっても、不動体信頼度C(X)が単調減少している場合には、画素Xを、不動体として検出することを制限すること(不動体として検出しないこと)ができる。
【0258】
すなわち、図1の不動体検出装置では、例えば、図18で説明したように、不動体である自動車が、停止し続け、背景に反映されると、自動車が映っている画素Xについての不動体信頼度C(X)が、デクリメントされ続け、閾値th_conf未満になると、自動車が、不動体として検出されなくなる。
【0259】
したがって、停止し続けている自動車が、背景に反映された後は、自動車が映っている画素についての不動体信頼度は、単調減少し、その後、不動体信頼度が、閾値th_conf未満になるのを待って、自動車が、不動体として検出されなくなるのであるから、結局、自動車が映っている画素についての不動体信頼度が単調減少しているということは、将来的に、自動車が、不動体として検出されなくなることを意味する。
【0260】
そこで、画素Xについての不動体信頼度C(X)が、閾値th_conf以上であっても、不動体信頼度C(X)が単調減少している場合には、画素Xを、不動体として検出することを制限することができる。
【0261】
図19は、不動体信頼度C(X)が単調減少している場合に、画素Xを、不動体として検出することを制限することを説明する図である。図19は、不動体信頼度C(X)を示す図である。
【0262】
不動体検出部37では、図19に示すように、画素Xについての不動体信頼度C(X)が、閾値th_conf以上であっても、所定の時間Δtだけ連続して減少(単調減少)した場合には、その後、画素Xを、不動体として検出することが制限される。
【0263】
なお、不動体検出部37では、その他、例えば、画素Xの不動体信頼度C(X)が、閾値th-conf未満であっても、所定の時間Δtだけ連続して増加(単調増加)した場合には、画素Xを、不動体として検出することができる。
【0264】
[複数枚の一時停止画像、及び、信頼度画像]
上述の場合には、記憶部34及び36(図1)に、それぞれ、1枚(1画面分の)一時停止画像、及び、信頼度画像が記憶されることを暗黙の前提としたが、記憶部34及び36には、それぞれ、複数枚の一時停止画像、及び、信頼度画像を記憶させることができる。
【0265】
図20は、記憶部34及び36に、それぞれ、3枚の一時停止画像、及び、信頼度画像が記憶される場合の、図1の不動体検出装置の処理を説明する図である。
【0266】
なお、複数枚の一時停止画像P#iと、複数枚の信頼度画像Q#iとは、同一の枚数だけ用意される。また、1枚の一時停止画像P#iと、1枚の信頼度画像Q#iとは、対応付けられて、1組として使用される。
【0267】
いま、記憶部34に、3枚の一時停止画像P#1,P#2,P#3が記憶されるとともに、記憶部36に、一時停止画像P#1,P#2,P#3それぞれと組になる信頼度画像Q#1,Q#2,Q#3が記憶されることとする。
【0268】
一時停止画像処理部33は、記憶部34に、一時停止判定部32からの新たな一時停止オブジェクトを登録する場合、記憶部36の信頼度画像Q#1ないしQ#3の中から、一時停止オブジェクトに対応する領域の不動体信頼度がすべて0になっている1枚の信頼度画像Q#iを検出する。
【0269】
そして、一時停止画像処理部33は、記憶部34の一時停止画像P#1ないしP#3のうちの、一時停止オブジェクトに対応する領域の不動体信頼度がすべて0になっている信頼度画像Q#iと組になっている一時停止画像P#iに、新たな一時停止オブジェクトを登録(上書き)する。
【0270】
図20では、信頼度画像Q#1ないしQ#3の中で、新たな一時停止オブジェクトに対応する領域の不動体信頼度がすべて0になっているのは、信頼度画像Q#3だけであり、そのため、その信頼度画像Q#3と組になっている一時停止画像P#3に、新たな一時停止オブジェクトが登録されている。
【0271】
なお、信頼度画像Q#1ないしQ#3の中に、一時停止オブジェクトに対応する領域の不動体信頼度がすべて0になっている信頼度画像が存在しない場合には、信頼度画像Q#1ないしQ#3の中で、例えば、一時停止オブジェクトに対応する領域の不動体信頼度の平均値が最小の信頼度画像が検出され、その信頼度画像と組になっている一時停止画像に、新たな一時停止オブジェクトが登録される。
【0272】
また、一時停止画像処理部33は、記憶部34に記憶された一時停止画像P#1ないしP#3それぞれについて、1枚の一時停止画像の場合と同様に、式(1)及び式(2)に従った更新を、独立に行う。
【0273】
信頼度処理部35は、記憶部34に記憶された一時停止画像P#iに、一時停止オブジェクトが新たに登録された場合に、記憶部36に記憶された信頼度画像Q#1ないしQ#3のうちの、一時停止オブジェクトが新たに登録された一時停止画像P#iと組になっている信頼度画像Q#iの画素値としての不動体信頼度だけを、1枚の信頼度画像の場合と同様に、初期値C0に設定する。
【0274】
そして、信頼度処理部35は、記憶部36に記憶された信頼度画像Q#1ないしQ#3それぞれの不動体信頼度を、その信頼度画像Q#iと組になっている一時停止画像P#iを用いて、1枚の信頼度画像の場合と同様に、独立に更新する。
【0275】
不動体検出部37は、記憶部36に記憶された信頼度画像Q#1ないしQ#3それぞれについて、その信頼度画像Q#iを用いて、1枚の信頼度画像の場合と同様に、不動体を、独立に検出する。
【0276】
以上のように、複数枚の一時停止画像、及び、信頼度画像を用いることにより、不動体が、最大で、その複数枚と同一の数だけ重なっている場合であっても、その重なっている不動体を、分離して検出することができる。
【0277】
[本技術を適用したネットワークカメラについて]
上述した不動体を検出する不動体検出装置は、例えば、図21に示すネットワークカメラの一部に含まれる構成とすることも可能である。図21に示したネットワークカメラは、撮像部91、撮像信号処理部92、撮像データ処理部93、画像処理部94、および伝送部95から構成される。
【0278】
撮像部91により撮像された映像の信号は、撮像信号処理部92に供給され、高精細化の処理などの画像処理が施される。画像処理が施された信号は、撮像データ処理部93に供給され、伝送部95による伝送に合わした圧縮方式で圧縮処理が施され、伝送部95によりネットワークを介して他の装置に送信される。
【0279】
また撮像信号処理部92からの信号は画像処理部94にも供給される。画像処理部94は、図1または図17に示した不動体検出装置を含み、検出した不動体の情報や、背景として信頼度が低い領域の情報などを、例えば、メタデータとして伝送部95に供給する。伝送部95は、供給されたメタデータを、撮像データ処理部93からの撮像データとともにネットワークを介して他の装置に送信する。
【0280】
このような構成のネットワークカメラに、本技術を適用した不動体検出装置を適用できる。また、図示はしないが、信号処理ICなどにも、本技術を適用できる。また、図22に示すコンピュータにも、本技術を適用できる。
【0281】
[本技術を適用したコンピュータの説明]
【0282】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0283】
そこで、図22は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0284】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0285】
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0286】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0287】
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0288】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0289】
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0290】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0291】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0292】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0293】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0294】
すなわち、例えば、本実施の形態では、不動体提示部38において、不動体検出部37から不動体情報が供給されると、不動体が検出された旨を、音声や、画像、ランプの点滅や点灯等によって、ユーザに提示(報知)することとしたが、不動体検出部37で得られた不動体情報は、画像取得部11で取得された画像とともに、その画像のメタデータとして、ネットワークを介して送信することができる。
【0295】
また、本実施の形態では、不動体検出部37において、記憶部36に記憶された信頼度画像の、画素値である不動体信頼度が閾値以上の画素の画素値を1とするとともに、画素値(不動体信頼度)が閾値未満の画素の画素値を0とする2値化を行うことで、2値化信頼度画像を求めることとしたが、2値化信頼度画像は、その他、例えば、信頼度画像の、画素値(不動体信頼度)が閾値以上の画素であり、かつ、一時停止オブジェクトが映る画素として、記憶部34に記憶されてから所定の設定時間以上が経過している画素の画素値を1とするとともに、他の画素の画素値を0とする2値化を行うこと等によって求めることができる。
【0296】
また、図1の不動体検出装置は、例えば、撮影した画像をネットワークを介して伝送することができるネットワークカメラや、アナログ画像をネットワーク化する機器(アナログ画像をネットワークを介して伝送する機器、PC(Personal Computer)のアプリケーション、その他の機器に適用可能である。
【0297】
ここで、本明細書において、「以上」や「以下」は、「より大きい」や「未満」であってもよく、逆に、「より大きい」や「未満」は、「以上」や「以下」であってもよい。
【0298】
また、本技術は、以下のような構成をとることもできる。
【0299】
(1)
取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、
前記生成部により生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部と
を備える画像処理装置。
(2)
前記背景モデルは、所定の座標における輝度値とその輝度値が現れた頻度を関連付けた分布から構成され、
前記判断部は、前記頻度が最も高い分布が所定の値より大きい場合、信頼度の高い背景が生成できると判断する
前記(1)に記載の画像処理装置。
(3)
前記所定の値は、前記多項分布の項数と、前記背景モデルの更新回数から算出される値である
前記(2)に記載の画像処理装置。
(4)
前記判断部により信頼度の高い背景が生成できないと判断された領域を、ユーザに提示する
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)
現画像において、前記生成部により生成される背景とは異なる部分の画像である動体を検出する動体検出部と、
前記動体が、所定の一定時間以上停止しているかどうかを判定する一時停止判定部と、
一定時間以上停止している前記動体である一時停止オブジェクトが映る一時停止画像と、前記現画像とを用いて、前記現画像の画素について、所定の時間以上変化がない、前記背景とは異なる部分の画像である不動体であることの確からしさを表す不動体信頼度を求める信頼度処理部と、
前記不動体信頼度に基づいて、前記現画像から、不動体を検出する不動体検出部と
をさらに備える前記(1)に記載の画像処理装置。
(6)
取得される映像から、多項分布の背景モデルを生成し、背景を生成し、
生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する
ステップを含む画像処理方法。
(7)
取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、
前記生成部により生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部と
して、コンピュータを機能させるためのプログラム。
【符号の説明】
【0300】
11 画像取得部, 21 背景生成部, 22 処理困難領域判断部, 31 動体検出部, 32 一時停止判定部, 33 一時停止画像処理部, 34 記憶部, 35 信頼度処理部, 36 記憶部, 37 不動体検出部, 38 不動体提示部, 51 背景生成部, 52 背景差分画像生成部, 53 過去画像記憶部, 54 過去差分画像生成部, 55 連続性カウント画像生成部, 56 動体候補領域画像生成部, 57 検出部

【特許請求の範囲】
【請求項1】
取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、
前記生成部により生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部と
を備える画像処理装置。
【請求項2】
前記背景モデルは、所定の座標における輝度値とその輝度値が現れた頻度を関連付けた分布から構成され、
前記判断部は、前記頻度が最も高い分布が所定の値より大きい場合、信頼度の高い背景が生成できると判断する
請求項1に記載の画像処理装置。
【請求項3】
前記所定の値は、前記多項分布の項数と、前記背景モデルの更新回数から算出される値である
請求項2に記載の画像処理装置。
【請求項4】
前記判断部により信頼度の高い背景が生成できないと判断された領域を、ユーザに提示する
請求項1に記載の画像処理装置。
【請求項5】
現画像において、前記生成部により生成される背景とは異なる部分の画像である動体を検出する動体検出部と、
前記動体が、所定の一定時間以上停止しているかどうかを判定する一時停止判定部と、
一定時間以上停止している前記動体である一時停止オブジェクトが映る一時停止画像と、前記現画像とを用いて、前記現画像の画素について、所定の時間以上変化がない、前記背景とは異なる部分の画像である不動体であることの確からしさを表す不動体信頼度を求める信頼度処理部と、
前記不動体信頼度に基づいて、前記現画像から、不動体を検出する不動体検出部と
をさらに備える請求項1に記載の画像処理装置。
【請求項6】
取得される映像から、多項分布の背景モデルを生成し、背景を生成し、
生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する
ステップを含む画像処理方法。
【請求項7】
取得される映像から、多項分布の背景モデルを生成し、背景を生成する生成部と、
前記生成部により生成された前記背景モデルから、信頼度の高い背景が生成できるか否かを判断する判断部と
して、コンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−65151(P2013−65151A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−202748(P2011−202748)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】