(57)【要約】      （修正有）【課題】物体（人物）が比較的長い期間静止している場合でも、物体が背景モデルに同化することを抑制し、正確な物体の数の計数を可能とする。【解決手段】物体検出処理部３では、固定カメラ１で撮影された入力画像と背景モデルとを、複数の画素からなるブロックに分割し、各ブロック毎に物体の輪郭に対応する物体領域を抽出する。また、この輪郭部分の内側の領域を埋めるように膨張処理を行うとともに、この膨張処理による物体領域の過剰検出を抑制する収縮処理を行う。荷重値テーブル生成部５は、物体の数に対する各画素の寄与率を表す荷重値を求めて荷重値テーブルを生成する。物体計数部６は、物体領域中の画素の荷重値を積算して物体の数を計数する。【選択図】図６
2011186719.tif 000002
【特許請求の範囲】
【請求項１】
物体検出の対象範囲に対して所定の俯角をもって設置された画像入力装置により撮影される入力画像に基づいて、背景モデルを構築するとともに、前記入力画像と背景モデルとに基づいて、前記入力画像中に物体が存在する物体領域を検出する物体検出処理手段と、
前記画像入力装置の幾何的条件に基づいて、前記入力画像中の各画素に物体が存在した場合における物体の数に対する各画素の寄与率を表す荷重値を求めて荷重値テーブルを生成する荷重値テーブル生成手段と、
前記物体領域の画素の荷重値を積算して、前記入力画像中に存在する物体の数を計数する物体計数手段と、
を有する物体検出装置において、
上記物体検出処理手段が、
前記入力画像と背景モデルとを、複数の画素からなるブロックに分割し、各ブロック毎に、前記入力画像と背景モデルとの類似度に基づいて、物体の輪郭に対応する物体領域を抽出し、
この物体の輪郭の内側の領域を物体領域に補正するように、前記物体の輪郭に対応する物体領域の膨張処理を行い、
かつ、この膨張処理による物体領域の過剰な膨張を抑制するように、前記膨張処理後の物体領域の収縮処理を行う、
ことを特徴とする物体検出装置。
【請求項２】
前記膨張処理及び収縮処理を経ることによって、隣接する物体間の非物体領域が物体領域として過剰に検出される結合領域が発生する確率を求め、この確率に基づいて、前記物体計数手段により計数される物体の数を補正する物体数補正手段を有することを特徴とする請求項１に記載の物体検出装置。
【請求項３】
前記物体検出処理手段は、前記画像入力装置の幾何的条件に基づいて、入力画像中の平均的な物体の大きさを算出し、物体の縦幅と横幅のうちで短い方の長さに基づいて、前記ブロックの大きさを設定することを特徴とする請求項１又は請求項２に記載の物体検出装置。
【請求項４】
前記物体検出処理手段は、
前記画像入力装置の幾何的条件に基づいて、入力画像中の平均的な物体の大きさを算出し、物体の縦幅と横幅のうちで短い方の長さに基づいて、各ブロックに対する物体の大きさが所定レベルとなるように、前記入力画像と背景モデルの大きさを拡大もしくは縮小した上で、各ブロック毎に物体を検出し、
前記物体計数手段は、検出結果を元の大きさへ戻した後、物体の数を計数することを特徴とする請求項１又は２に記載の物体検出装置。
【請求項５】
コンピュータに請求項１〜４のいずれかに記載の各手段を実行させるプログラムとしたことを特徴とする物体検出プログラム。
【請求項６】
物体検出の対象範囲に対して所定の俯角をもって設置された画像入力装置により撮影される入力画像に基づいて、背景モデルを構築する背景モデル構築ステップと、
前記入力画像と背景モデルとに基づいて、前記入力画像中に物体が存在する物体領域を検出する物体検出処理ステップと、
前記画像入力装置の幾何的条件に基づいて、前記入力画像中の各画素に物体が存在した場合における物体の数に対する各画素の寄与率を表す荷重値を求めて荷重値テーブルを生成する荷重値テーブル生成ステップと、
前記物体領域の画素の荷重値を積算して、前記入力画像中に存在する物体の数を計数する物体計数ステップと、
を有する物体検出方法において、
上記物体検出処理ステップが、
前記入力画像と背景モデルとを、複数の画素からなるブロックに分割し、各ブロック毎に、前記入力画像と背景モデルとの類似度に基づいて、物体の輪郭に対応する物体領域を抽出し、
この物体の輪郭の内側の領域を物体領域に補正するように、前記物体の輪郭に対応する物体領域の膨張処理を行い、
かつ、この膨張処理による物体領域の過剰な膨張を抑制するように、前記膨張処理後の物体領域の収縮処理を行う、
ことを特徴とする物体検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、固定カメラ等の画像入力装置で撮影された入力画像中に存在する物体の領域を検出し、その入力画像中の物体の数を計数する物体検出装置、物体検出方法及び物体検出プログラムに関し、特に、雑踏中の人物のように、静止していてもふらつき等によって手足、足先や頭部などの輪郭部分が微動する物体の計数に好適な技術に関する。
【背景技術】
【０００２】
固定カメラ等からの入力画像（映像）から物体の数を計数（計測）する手法として、特許文献１に記載のものが公知である。このものでは、撮影に使用するカメラの姿勢や位置などを含む幾何的条件に基づいて、入力画像中の各画素に物体が存在する場合における、物体の数に対する各画素の寄与率に相当する荷重値を全画素に対して求める一方、入力画像から物体を除く背景モデルを構築し、これら入力画像と背景モデルとの差分により、物体が存在する物体領域を求めている。そして、この物体領域を構成する画素の荷重値を積算することによって、入力画像中に存在する物体の数を計測している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２９４７５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記背景モデルは、例えば時系列に撮影された複数枚の入力画像の平均を用いて生成され、更に、屋外における時間的な照明の変化（朝と夜の明るさの違い）を除外するため、定期的に更新される。そのため、物体としての人物が長期的にその場に留まる場合、物体の移動を検出できずに物体が背景に同化し易く、物体の検出漏れを招くおそれがある。また、同様に類似した物体が多数存在する場合、物体間の差異が小さいために、過去に同一箇所に存在した類似物体が背景として取り込まれ易く、やはり物体の検出漏れを招き易い。
【課題を解決するための手段】
【０００５】
人物などが長期的に静止・滞留する場合、一般的には完全な静止状態になることは無く、ふらつきなどにより、手先や足先などの輪郭部分では微少な動きの変化が現れる。本発明ではこの点に着目し、物体の輪郭を抽出した上で、膨張処理及び収縮処理を行うことで、長期的に静止・滞留する物体が存在する場合や、同様に類似した物体が多数存在する場合であっても、物体が背景に同化することによる検出漏れを低減し、物体の数を正確に計数するものである。
【０００６】
すなわち、本発明に係る物体検出装置は、物体検出の対象範囲に対して所定の俯角をもって設置された画像入力装置により撮影される入力画像に基づいて、背景モデルを構築するとともに、前記入力画像と背景モデルとに基づいて、前記入力画像中に物体が存在する物体領域を検出する物体検出処理手段と、前記画像入力装置の幾何的条件に基づいて、前記入力画像中の各画素に物体が存在した場合における物体の数に対する各画素の寄与率を表す荷重値を求めて荷重値テーブルを生成する荷重値テーブル生成手段と、前記物体領域を構成する画素の荷重値を積算して、前記入力画像中に存在する物体の数を計数する物体計数手段と、を有するものである。
【０００７】
そして、本発明では、上記物体検出処理手段が、前記入力画像と背景モデルとを、複数の画素からなるブロックに分割し、各ブロック毎に、前記入力画像と背景モデルとの類似度に基づいて、物体の輪郭に対応する物体領域を抽出し、この物体の輪郭の内側の領域を物体領域に補正するように、前記物体の輪郭に対応する物体領域の膨張処理を行い、かつ、この膨張処理による物体領域の過剰な膨張を抑制するように、前記膨張処理後の物体領域の収縮処理を行う、ことを特徴としている。
【０００８】
このように、入力画像と背景モデルとの類似度に基づく物体領域の検出を、物体に対して適切な大きさに設定された複数の画素を含むブロック単位で定量的に行うことで、例えば個々の画素単位で細かく物体領域の検出を行う場合に比して、物体の形状に対する追従性は低下するものの、個々の画素の誤検出による影響を相殺・吸収することができるために、微小な変動を生じる物体の輪郭を確実に抽出することが可能となる。そして、膨張処理により物体の輪郭の内側の領域を物体領域として補正し、かつ、収縮処理によって、膨張処理による物体領域の過剰な膨張を抑制することで、物体領域を適切に検出することができる。これにより、物体が背景モデルに同化することによる物体の検出漏れを抑制し、正確な物体の数の計数が可能となる。
【０００９】
但し、膨張処理及び収縮処理を経ることによって、隣接する物体間の非物体領域が物体領域として過剰に検出される結合領域が不可避的に発生し、この結合領域の分、物体の数が過剰に計数される、という新たな問題が生じる。そこで好ましくは、前記結合領域が発生する確率を求め、この確率に基づいて、前記物体計数手段により計数される物体の数を低下側へ補正する。これによって、結合領域の分、過剰に計数される物体の数を抑制することが可能となる。
【００１０】
上述したように、物体領域の検出精度や物体の輪郭の抽出精度は、物体の大きさとブロックの大きさとの相関関係に大きく依存しており、物体に対してブロック（格子）が小さ過ぎると、図１（Ａ）に示すように、物体の輪郭の内側に存在する物体未検出のブロックの数が多くなり、上述した膨張処理により輪郭内部の欠損部分を埋める補正が困難となる。
【００１１】
従って、好ましくは、前記画像入力装置の幾何的条件に基づいて、入力画像中の平均的な物体の大きさを算出し、この平均的な物体の縦幅と横幅のうちで短い方の長さに基づいて、前記ブロックの大きさを設定する。具体的には、この平均的な物体の縦幅と横幅のうちで短い方の長さに対してブロックの一辺の長さが１／２〜１／３の範囲内となるように、ブロックの大きさを自動的に調整・設定する。
【００１２】
あるいは、ブロックを一定の大きさとして、入力画像や背景モデルを拡大もしくは縮小するようにしても良い。すなわち、前記画像入力装置の幾何的条件に基づいて、入力画像中の平均的な物体の大きさを算出し、この平均的な物体の縦幅と横幅のうちで短い方の長さに基づいて、各ブロックに対する物体の大きさが所定レベルとなるように、前記入力画像と背景モデルの大きさを拡大もしくは縮小した上で、各ブロック毎に物体を検出する。この場合、前記物体計数手段は、検出結果を元の大きさへ戻した後、物体の数を計数することとなる。
【００１３】
上述した各処理内容は、例えば、プログラムの形態としてコンピュータにより実行され、このプログラムは適宜な記録媒体に記録することができる。
【発明の効果】
【００１４】
以上のように本発明によれば、複数の画素を含むブロック単位で物体領域を検出することによって物体の輪郭を抽出し、かつ、この物体の輪郭の内側を埋める膨張処理並びに過度な膨張を抑制する収縮処理を行うことで、人物などの物体が比較的長い期間、その場に滞留・静止する場合や、長期的な照明変動に対応するために背景モデルの更新を行った場合においても、人物のふらつきなどにより不可避的に微動を生じる物体の輪郭を抽出して、検出対象の物体を背景モデルから分離し、適切な物体領域の検出並びに物体の数の計数を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】（Ａ）がブロックサイズが小さい場合、（Ｂ）がブロックサイズが大きい場合における物体として検出される領域の概念を示す説明図。
【図２】モルフォロジー演算による膨張処理（Ａ）と収縮処理（Ｂ）の一例を示す説明図。
【図３】収縮処理による物体周辺の過剰検出画素の抑制の一例を示す説明図。
【図４】膨張処理及び収縮処理により残存する物体の結合領域を示す説明図。
【図５】膨張処理により物体の結合が発生する可能性のある領域を示す説明図。
【図６】本発明に係る画像蓄積部を含む場合の基本構成を簡略的に示す構成図。
【図７】本発明に係る画像蓄積部を含まない場合の基本構成を簡略的に示す構成図。
【図８】本発明の第１実施例に係る制御処理の流れを示すフローチャート。
【図９】本発明の第２実施例に係る制御処理の流れを示すフローチャート。
【図１０】本発明の第３実施例に係る制御処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１６】
以下、本発明の好ましい実施形態について図面を参照して詳細に説明する。先ず、図１〜図５を参照して、基本的な原理・概念について説明する。
【００１７】
人物などが長期的にその場に静止・滞留する場合、一般的には完全な静止状態になることは無く、ふらつきなどによって、手先、足先や頭部などの輪郭部分では微少な動きの変化が現れる。この点に着目し、固定カメラ等の画像入力装置により撮影される入力画像（単に「画像」とも呼ぶ）と背景モデル（以下、単に「背景」とも呼ぶ）とを、複数の画素からなる格子状のブロック（「格子」とも呼ぶ）毎に比較することにより、このような微少な変化を伴う物体の輪郭を抽出し、この物体の輪郭に対して後述する膨張処理並びに収縮処理を施すことによって、実際の物体に応じた適切な物体領域の検出を可能とするものである。つまり、複数の画素からなるブロック単位で物体領域を検出することで、長期的な照明変動に対応するために背景更新を行ったような場合においても、画像中の物体のふらつき等による物体の輪郭部分の微少な変化を検出し、検出対象の物体の輪郭を背景と分離して確実に抽出することができる。従って、類似した物体が複数存在する場合においても、類似した物体間の微少な差異を検出することが可能となる。
【００１８】
図１に本発明の一実施形態に係る物体検出の第一段階の概念図を示す。任意の画像と背景モデルとを、それぞれ正方格子状の適宜な大きさのブロック１０に区切り、各ブロック１０毎に、入力画像と背景モデルとを比較することで、各ブロック１０、つまりはブロック１０内に含まれる全ての画素が物体領域か否かを検出する。人物のような移動物体１１の場合、ふらつきなどの微少な変化により、物体１１の輪郭・周辺領域では、背景と物体領域が変動するため、複数画素から構成される各ブロック１０単位で、入力画像と背景モデルとを比較することで、図１の右側白抜き部分１２に示すように、物体領域として物体１１の輪郭部分を抽出することができる。
【００１９】
ここで、ブロック１０の大きさは任意の大きさに設定可能であるが、物体１１の大きさに対し、ブロック１０が小さ過ぎる場合には、図１（Ａ）に示すように、物体の輪郭部分１２の内側に位置する物体として検出されない未検出領域１３となるブロック数が増加し、後述する膨張処理による補正が困難となる。従って、ブロック１０は一定以上の大きさを持つこととし、且つ後述の膨張処理による未検出領域の補正のため、画像中で一様な大きさとする。
【００２０】
物体表面の変化が乏しい場合、図１に示すように、物体の輪郭部分１２は物体領域として検出されるものの、物体内側の領域１３では物体の移動・変化がほとんど起こらないため、複数画素を含むブロック毎の比較であっても、物体が背景モデルに同化して検出することはできない。そこで、このような検出できない物体の輪郭部分１２の内側の未検出領域１３を、物体領域として補正・検出するため、図２に示すように、例えば公知のモルフォロジー（ｍｏｒｐｈｏｌｏｇｙ）演算を用いた膨張処理、更にはこの膨張処理による過度な物体領域の膨張を低減するための収縮処理を行う。モルフォロジー演算の膨張処理により、物体の輪郭に対応する領域１２の内側の未検出領域１３を物体領域として補正し、その後の収縮処理によって、膨張処理により過剰検出された物体周辺の領域１２Ａを抑制する。このとき、モルフォロジー演算の膨張処理、収縮処理に使用する構造要素としてのブロックは、例えば３画素×３画素の正方格子とし、膨張処理、収縮処理を正方格子の１辺の画素数の半分の回数（１辺１０画素の場合は５回）ずつ繰り返し実行することにより、未検出領域１３が物体領域として検出される。図３に示すように、格子状に分割された複数画素を含む各ブロック毎に比較を行うことによって、過剰検出される物体周辺画素についても、モルフォロジー演算の収縮処理によって、実際の物体の大きさに応じた適宜な大きさの物体領域に抑制することができる。
【００２１】
図４は、画像中の複数の物体１１が一定の範囲内に近接して存在した場合の例である。ここで、一定の範囲内とは、モルフォロジー演算の膨張処理により物体同士が結合する結合領域１４を生じ得る物体間の距離に相当する。モルフォロジー演算の膨張処理により結合した画素は、その後の収縮処理でも元の状態に戻らないため、物体領域として検出され、物体及び物体の数の過剰検出の原因となる。そこで、このような膨張処理による物体の結合が発生する確率を計算し、過剰検出による誤差を補正する必要がある。画像中の物体の大きさは、実際の物体の大きさ、カメラの焦点距離、及びカメラから物体までの距離により変動するが、事前に物体の大きさやカメラから移動する物体までの距離を計測することはできないため、ここでは簡易的に平均的な大きさの物体が画像中で一様に存在すると仮定し、実空間ではなく画像中に存在する物体の平均的な大きさを用いて、物体の結合する確率を計算する。
【００２２】
モルフォロジー演算の性質上、膨張処理により結合が発生するのは、物体の斜め方向を除く、図５に示す物体の上下左右の方向の領域β１〜β４のみとなる。例えば、ある物体１１の右側の領域β２と、隣接する他の物体（図示省略）の左側の領域β４と、の間の距離が所定レベルより近い場合に、膨張処理による結合が発生し、同様に、物体１１の左側の領域部β４と他の物体の右側の領域β２、ある物体１１の上側の領域β１と他の物体の下側の領域β３、ある物体１１の下側の領域β３と他の物体の上側の領域β１、のそれぞれの領域間の距離が近い場合に結合が発生する。このことから、ある画素（ｘ，ｙ）について、結合による誤差が発生する確率は、該当する画素が物体ではなく、且つ前述の膨張処理により結合する組合せの場合となる。物体が１つだけ存在し、ある画素（ｘ，ｙ）が物体ではない確率Ｐ１'（ｘ，ｙ）は、画像中の平均的な物体面積（画素数）をα、画像全体の面積（画素数）をＡとした場合、以下の式（１）により表すことができる。
Ｐ１'（ｘ，ｙ）＝１−α／Ａ…（１）
また、物体が２つ存在し、ある画素（ｘ，ｙ）が物体では無い確率Ｐ１''（ｘ，ｙ）は、Ｐ１'の確率に対して、１つ目の物体以外の領域に２つ目の物体が存在しない確率であるため、画像中における物体の床面積（画素数）の平均値をａとすると、以下の式（２）で表すことができる。
Ｐ１''（ｘ，ｙ）＝Ｐ１'（ｘ，ｙ）×｛１−α／（Ａ−ａ）｝…（２）
上記の式（１）、式（２）より、物体がＮ個存在する場合に、ある画素（ｘ，ｙ）が物体では無い確率Ｐ１（ｘ，ｙ）を一般化すると、以下の式により表すことができる。
【００２３】
【数１】
2011186719.tif 000003
【００２４】
物体の数Ｎは、例えば、物体面積αと、上記の特許文献１により求められるカメラと床面との幾何的な関係から求められる荷重値と、に基づいて算出される。
【００２５】
なお、物体検出の対象範囲を画像全体ではなく、画像の一部に対してのみ行う場合には、物体検出の面積Ａの値を、画像全体の面積ではなく、対象範囲の面積（画素数）として算出すれば良い。
【００２６】
画像入力装置の幾何学条件、つまり焦点距離、画像中心、レンズ歪みなどの内部パラメータと、姿勢と位置を含む外部パラメータと、更には物体検出の対象範囲と、が変更されなければ、α、Ａ、ａは固定値となり、Ｐ１（ｘ，ｙ）はＮに依存する関数となる。Ｎは物体検出の対象範囲における物体の数となることから、計測対象となる撮影範囲の床面積や物体の大きさが固定されていれば、最大数が大きく変更されることはない。従って、Ｎの上限値を決定することも容易であり、事前にＮを１から上限値まで変えたＰ１（ｘ，ｙ）を計算し、テーブル化しておくことにより、処理を高速化することも可能となる。
【００２７】
次に、膨張処理により結合する各領域を、図５に示すβ１、β２、β３、β４とすると、膨張処理により結合する確率は、物体Ａのβ１の領域が、この物体Ａとは異なる他の物体（以降、物体Ｘ）のβ３の領域と２つ以上重なる領域と考えられる。ここで、物体Ａと物体Ｘの大きさが、画像中の平均的な物体の大きさであるという仮定を用いると、以下の式（４），（５）に示すように、物体Ａと物体Ｘそれぞれのβ１とβ３、β２とβ４は、同じ面積になる。
β１＝β３＝β'    …（４）
β２＝β４＝β''  …（５）
以上のことから、ある画素（ｘ，ｙ）が膨張処理により結合しない確率は、β'またはβ''が一つも存在しない、あるいは一つしか存在しない確率である。ある画素（ｘ，ｙ）にβ'またはβ''が一つも存在しない確率Ｐｂ０１（ｘ，ｙ）、Ｐｂ０２（ｘ，ｙ）は、それぞれ以下の式（６），（７）で表すことができる。
Ｐｂ０１（ｘ，ｙ）＝２×（１−β'／Ａ）＾Ｎ    …（６）
Ｐｂ０２（ｘ，ｙ）＝２×（１−β''／Ａ）＾Ｎ  …（７）
また、ある画素（ｘ，ｙ）にβ'またはβ''が一つしか存在しない確率Ｐｂ１１（ｘ，ｙ）、Ｐｂ１２（ｘ，ｙ）は、以下の式（８），（９）で表すことができる。
Ｐｂ１１（ｘ，ｙ）＝２×Ｎ×β'／Ａ×（１−β'／Ａ）＾（Ｎ−１）    …（８）
Ｐｂ１２（ｘ，ｙ）＝２×Ｎ×β''／Ａ×（１−β''／Ａ）＾（Ｎ−１）…（９）
上記の式（６）〜（９）を用いると、ある画素（ｘ，ｙ）にβ'またはβ''が二つ以上存在する確率Ｐ２（ｘ，ｙ）は、下式（１０）で表すことができる。
Ｐ２（ｘ，ｙ）＝１−｛Ｐｂ０１（ｘ，ｙ）＋Ｐｂ０２（ｘ，ｙ）＋Ｐｂ１１（ｘ，ｙ）＋Ｐｂ１２（ｘ，ｙ）｝…（１０）
式（３）および式（１０）より、ある画素（ｘ，ｙ）が膨張処理により結合する確率Ｐ（ｘ，ｙ）は、下式（１１）として表すことができる。
Ｐ（ｘ，ｙ）＝Ｐ１（ｘ，ｙ）×Ｐ２（ｘ，ｙ）  …（１１）
ここで、Ｐ１（ｘ，ｙ）とＰ２（ｘ，ｙ）のうち、Ｐ１（ｘ，ｙ）は、物体の数Ｎが大きくなるほど小さくなる特性のもので、Ｐ２（ｘ，ｙ）は、物体の数Ｎが大きくなるほど大きくなる特性のものである。従って、これらのＰ１（ｘ，ｙ）とＰ２（ｘ，ｙ）とを掛け合わせることで、最終的な確率Ｐ（ｘ，ｙ）は、物体の数Ｎがある所定レベルに達するまでは、物体の数Ｎが大きくなるほど大きくなり、所定レベルを超えると、物体の数Ｎが大きくなるほど減少する特性のものとなる。
【００２８】
物体領域として検出された画素数のうち、確率Ｐ（ｘ，ｙ）により導き出される画素数は、膨張処理により結合が発生し、収縮処理により収縮されずに過剰に検出されている画素と考えることができる。ここで、画像中の物体の大きさを平均的な物体の大きさとして仮定しているため、画素数と物体数には比例関係が成り立ち、式（１１）により表される過剰検出される確率は、画素に対するものとしてではなく、物体数としてとらえることもできる。そこで、下式（１２）に示すように、物体数Ｎに対し、式（１１）により算出した確率Ｐ（ｘ，ｙ）を用いた補正を行うことで、過剰検出を考慮した物体数Ｎ'を導き出すことができる。
【００２９】
図６は、本発明に係る基本構成の一例を示す図である。図６において、１は画像入力装置としての固定カメラ、２はカメラ１で取得した画像を蓄積する画像蓄積部、３は画像蓄積部２に蓄積された画像から背景モデルを生成し、複数画素を含む各ブロック毎に背景モデルと入力画像と比較を行うことによって、物体の輪郭部分を物体を含む領域として検出し、検出した領域に対して輪郭内部の欠損部分を埋める膨張処理や、膨張処理により過剰検出した部分を低減する収縮処理などの、誤差低減処理を行う物体検出処理部である。
【００３０】
背景モデルの生成については公知の手法を用いることができ、例えば複数フレームの画像を平均して作成することができる。背景モデルの生成は必ずしも全ての画像入力時に行う必要は無く、背景モデルを一時的に保持することで、過去に生成した背景モデルを使用し、任意の間隔で背景モデルを更新可能とする。
【００３１】
４はカメラ１の内部パラメータ（焦点距離、画像中心、レンズ歪みなど）、外部パラメータ（姿勢と位置）などのカメラ情報（幾何的条件）を入力するカメラ情報入力部である。５は前記カメラ情報入力部４から入力された内部パラメータ、外部パラメータと実空間中の３次元点を対応付けた透視投影の関係を前提として、観測される画像上の各画素に投影される視体積のうち物体の体積に寄与する体積を算出し、その画素が物体の数にどれだけ寄与するかを数量的に表す寄与率としての荷重値を全ての画素に対して求めて荷重値テーブルを生成する荷重値テーブル算出手段としての荷重値テーブル生成部である。
【００３２】
６は、前記物体検出処理部３により検出された物体を含む領域の各画素と前記荷重値テーブル生成部５で得た各画素の荷重値から物体数を計測する物体計数部である。つまり、物体計数部６では、物体領域内の画素の荷重値を積算することで、物体の数が計数される。
【００３３】
７は、前記物体検出処理部３により検出された物体を含む領域の各画素と、前記物体計数部６で計測された物体数とに基づいて、前記物体検出処理部３の誤差低減処理（膨張・収縮処理）により不可避的に生じる物体間の結合領域に起因する物体数の過剰検出の発生確率を算出し、この確率に基づいて、計測された物体数に対して再度誤差の補正を行い、物体数を再算出する物体数補正手段としての誤差補正部である。
【００３４】
８は、誤差補正部で再算出された物体数を出力する物体数出力部である。尚、前記物体検出処理部３、荷重値テーブル生成部５、物体計数部６および誤差補正部７における各処理は、たとえば周知のコンピュータシステムにより実行可能である。画像蓄積部２には、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用してもよく、あるいは、ネットワークを介してリモートなデータ資源を利用する形態でも構わない。
【００３５】
図７は、本発明に係る基本構成の他の例を示している。この例ように、蓄積部などの記憶装置、記録媒体を持たずにリアルタイムでの処理を行う構成とすることも可能である。図７において、図６と同一部分は同一符号をもって示し、重複する説明を適宜省略する。図７の例では、前記画像蓄積部２は省略しており、代わりに物体検出処理部３において背景モデルを保持し、カメラ１から入力された画像に対して背景モデルを更新する。このとき、背景モデルの更新は必ずしも全ての画像入力時に行う必要は無く、１枚以上の任意の間隔で設定可能とする。
【００３６】
次に、図６、図７の装置の各部の処理の流れを図８のフローチャートに沿って説明する。まず全体の流れを説明すると、ステップＳ１においてカメラ１で撮影した画像を取り込む。ここで、図６の場合は、取り込んだ画像を画像蓄積部２へ蓄積する。次にステップＳ２において、前記取り込んだ画像から物体検出処理部３にて背景モデルを生成、あるいは更新する。次にステップＳ３で未処理の画像の有無を判定し、未処理の画像が存在する場合にはステップＳ４へ進み、前記背景モデルと入力された未処理の画像との間で、複数の画素を含む各ブロック毎の比較により、物体の輪郭に対応する領域を、物体を含む領域として検出する。つまり、複数の画素を含む各ブロック毎に、背景モデルと入力画像との間で、正規化相関による類似度を算出し、この類似度が所定レベルに達していない場合に、当該ブロックの入力画像を物体領域と判定・検出し、このブロック内の全ての画素を、物体が存在する画素として検出する。
【００３７】
次にステップＳ５において、前記物体を含む領域に対して、上述したように、物体輪郭部分の内側の欠損部分を物体領域として検出する膨張処理や、この膨張処理によって過剰検出される物体領域を低減・縮小する収縮処理を行い、物体領域の誤差を低減する。これらステップＳ３からステップＳ５の処理は、図６、図７の物体検出処理部３において行われる。
【００３８】
次にステップＳ１０において、ステップＳ９で生成された荷重値テーブルをもとに、ステップＳ５により検出された物体を含む領域内に存在する画素の荷重値を加算つまり積算して、この積算値を物体の数として計数・計測する。これらの処理は、図６、図７の物体計数部６で行われる。このとき、ステップＳ９で生成される荷重値テーブルは、ステップＳ６で入力されるカメラ情報、ステップＳ７で入力・設定されるカメラパラメータなどの幾何的条件に基づいて、ステップＳ８において各画素毎に算出される。荷重値テーブルはカメラの設置位置に依存するため、カメラの設置以降であれば、物体数計測の前に事前に算出しておくことができる。
【００３９】
次にステップＳ１１において、上述した膨張処理と収縮処理を経ることによって、隣接する物体間の非物体領域が物体領域として過剰に検出される結合領域の分、過剰に計数される物体の数を抑制するように、物体の数を補正する。つまり、ステップＳ１０で計測された物体数と、ステップＳ５で算出された物体を含む領域の画素数と、に基づいて、計測された物体数の誤差を算出し、計測された物体数に対して誤差の補正を行う。具体的には、上記の式（１２）を用いて、過剰検出を考慮した物体数Ｎ'を求める。このステップＳ１１の処理は、図６、図７の誤差補正部７で行われる。そして、ステップＳ１２において、ステップＳ１１で補正された物体数Ｎ'を出力する。ステップＳ１２の処理は図６、図７の物体数出力部８で行われる。
【００４０】
以下、各処理の詳細を説明する。カメラ１を経由して取得された画像は画像蓄積部２に蓄積され、画像蓄積部２から取り出した画像に基づき、物体検出処理部３にて背景モデルを更新する。このとき、背景モデルの更新は、１枚以上の任意の間隔で行うこととする。例えば複数フレームの画像を平均して背景モデルを作成する場合には、複数回の更新によって背景モデルが完全に更新されるまでの時間が、上記「任意の間隔」に相当し、屋外であれば５〜１０分、屋内であれば３０分程度に設定される。
【００４１】
次に、取り出した画像と更新した背景モデルをそれぞれ格子状のブロック（格子）に分割し、複数の画素を含む各ブロック毎に、入力画像と背景モデルの位置的に対応するブロック内の各画素を用いて、正規化相互相関による類似度を算出する。この類似度は、０〜１の間の値であり、屋内もしくは屋外などのカメラの設置環境（幾何的条件）に応じて求められる。この類似度と、上記のカメラの設置環境等に応じて実験により予め設定しておいた閾値と、の比較処理を行い、一定以下の類似度を持つブロックが、物体領域として検出される。
【００４２】
全てのブロックについて類似度の算出，閾値処理を終えたのち、図２に示すモルフォロジー演算の膨張処理によって、物体領域として検出された物体輪郭部分の内側の未検出領域の欠損を物体領域として補正し、次いで収縮処理により、膨張処理により過剰検出された領域や、ブロック単位での演算により、過剰に検出されてしまった領域を縮小・低減する補正を行う。ここでモルフォロジー演算以降は、ブロック毎の演算ではなく、画素単位での膨張処理、収縮処理の演算を行う。
【００４３】
次に、物体検出処理部３で検出された物体領域と、荷重値テーブル生成部５にて生成された荷重値テーブルとから、物体計数部６において、物体領域に含まれる画素に対し、その荷重値を積算することで、画像中に含まれる物体数を計数する。
【００４４】
ここで、固定されたカメラを前提とし、カメラ情報入力部４にて入力されたカメラの３次元位置、ならびにカメラの姿勢を表す回転角度、およびカメラの焦点距離（以降、カメラ情報）が、全て既知であるものとする。荷重値テーブル生成部５では、カメラ情報入力部４にて入力されたカメラ情報から、画像空間と３次元実空間との対応付けを行い、ある画素に物体が存在した場合の物体表面の全画素数に対する割合を、荷重値として算出する。物体計数部６では、物体検出処理部３で検出された物体領域に対応する荷重値テーブルの値を積算することにより、画像全体に含まれる物体数を算出する。ここで、物体検出処理部３では、図４に示すようにモルフォロジー演算の膨張処理により、本来物体領域ではない結合領域も、物体領域として検出される可能性がある。そのため、この結合領域による物体数の過剰検出を抑制するように、誤差補正部７にて物体数を補正する。誤差補正部７では、物体計数部６で算出された物体数や、画像全体の画素数、画像中に存在する平均的な物体の大きさ、物体検出処理部３で検出された物体領域の画素数に基づいて、上述した式（１）から式（１１）に示すように、結合確率Ｐ（ｘ，ｙ）を算出する。算出したＰ（ｘ，ｙ）は結合による誤差の発生確率に相当するため、誤差補正部７ではＰ（ｘ，ｙ）と物体計数部６で算出された物体数Ｎを用いて、上述した式（１２）により、補正後の物体数Ｎ'を算出する。物体数出力部８では、この補正後の物体数Ｎ'を誤差補正部７から取得し、最終的な物体数として出力する。
【００４５】
再び図８を参照して、本発明の第１実施例について説明する。本実施例の処理内容は、大きく分けて、事前に設置したカメラ情報に基づき荷重値テーブルを算出するルーチンと、それに基づき入力画像から物体数を計数するフローと、により大略構成される。
【００４６】
まず、荷重値テーブルを算出するルーチンでは、事前に設置したカメラの情報、カメラパラメータをステップＳ６およびステップＳ７により入力し、それぞれの値に基づいてステップＳ８において荷重値を各画素毎に算出し、算出した荷重値とカメラパラメータに基づいてステップＳ９において荷重値テーブルを生成する。荷重値テーブルには、入力画像の各画素に対して、物体表面積の占める割合を荷重値として記録し、また、算出に使用したカメラパラメータも記録される。
【００４７】
一方物体数を計数するフローにおける物体検出処理では、まずステップＳ１においてカメラ１からの入力画像を取得し、取得した入力画像を元にステップＳ２において背景モデルの構築を行う。このとき、背景モデルは全ての入力画像に対して生成されるわけではなく、事前に設定した処理間隔に基づいて、背景モデルの更新も行えるものとする。また、並行して未処理の入力画像があるかどうかの判定をステップＳ３にて行い、未処理の入力画像がある場合にはステップＳ４の処理へ移り、未処理の入力画像が無い場合にはステップＳ１の処理へ移る。
【００４８】
ステップＳ４ではステップＳ２にて生成または更新した背景モデル、及び入力画像をそれぞれ格子状のブロックに分割し、分割した全てのブロックに対してブロック内の画素数を元に正規化相互相関を用いて背景モデルと入力画像との比較を行う。ここで、正規化相互相関の値が事前に設定した一定の値以下の場合は、背景との差分が大きいため、物体領域として判定され、一定の値を超えた場合は、背景との差分が少ないことから、物体以外の領域として判定される。続いてステップＳ５においてモルフォロジ演算の膨張、収縮処理により、格子状に分割比較したことにより発生する欠損や過剰検出を抑制する処理を行う。次いで、ステップＳ５において補正を行った物体領域、ステップＳ９において事前に作成された荷重値テーブルに基づき、ステップＳ１０において物体数を計数する。次いで、ステップＳ１１においてステップＳ５において補正を行った物体領域およびステップＳ１０において算出した物体数から、図４に示すステップＳ５の処理により発生する物体の結合による過剰検出領域の発生確率を算出する。最後にステップＳ１２においてステップＳ１１により算出した誤差発生確率に基づいてステップＳ１０において算出した物体数の補正を行い、物体数を計数する。
【００４９】
前記第１実施例では、入力画像と背景モデルとの比較に正規化相互相関を用いており、その際のブロックのサイズは任意としていた。しかしながら、図１に示すように、物体の大きさに対してブロック１０のサイズが小さ過ぎると、物体検出処理部３における欠損の補正処理（膨張処理）を行う際に、物体輪郭部分の内部の欠損を補正しきれない。また、固定カメラを用い、カメラ情報入力部４によりカメラ情報が入力されれば、入力画像中に存在する物体の平均的な大きさを算出することができる。
【００５０】
そこで、図９に示す第２実施例においては、物体領域検出ステップＳ４Ａがカメラ情報入力ステップＳ６からカメラ情報を受け取り、受け取ったカメラ情報に基づき、平均的な物体の大きさを算出し、入力画像と背景モデルとの比較に使用するブロックの大きさを自動で決定する。例えば、検出したい対象の物体が画像の中心に最も近い状態で映し出されているものと仮定し、当該物体の大きさを平均的な物体の大きさとして用いる。ここで、物体周辺領域では物体の微少なふらつきなどにより検出が可能となることから、ブロックの大きさは、図１に示すように対象となる物体の画像中の縦幅、横幅のうちで短い長さの寸法に対し、３分の１から２分の１の範囲の大きさとすることで、ふらつきにより検出される物体の輪郭周辺を除く物体中心部分の物体領域として検出されない欠損領域も、概ねブロック１つ分の大きさとなり、物体検出処理部３における欠損の補正処理により良好な補正が可能となる。
【００５１】
前記第１実施例および前記第２実施例では、正規化相互相関を用いるブロックサイズを任意としている。ブロックサイズが大きいほど、１つのブロック内の情報量（画素数）が増加することから、微少な変化を捉え易くなるが、一方で１つのブロックあたりの演算量が増加するという問題がある。そこで、第３実施例では、図１０に示すように、画像サイズ変更ステップＳ１３及びステップＳ１４を新たに追加している。画像サイズ変更ステップＳ１３では、カメラ情報入力ステップＳ６からの情報を受け取り、受け取ったカメラ情報に基づき、平均的な物体の大きさを算出し、ステップＳ１で取得される入力画像の大きさを変更し、ブロックの大きさを変えずに相対的なブロックの大きさを変更する。このとき、前記第２実施例と同様に、ブロックの大きさが対象となる物体の画像中の縦幅、横幅のうちで長い方の長さ寸法の３分の１から２分の１の大きさになるように、入力画像の大きさを変更することで、物体中心の欠損もブロック概ね１つ分となり、物体検出処理部３における欠損の補正処理による良好な補正が可能となる。荷重値テーブルは元の大きさの入力画像に基づいて作成されているため、物体検出処理部で検出された物体領域は、ステップＳ５による欠損、過剰検出の補正処理後の画像サイズ変更ステップＳ１４によって、元の入力画像の大きさに戻した後、ステップＳ１０へ進み、物体計数部６により物体数の計数を行う。この画像サイズ変更ステップＳ１４では、上記の画像サイズ変更ステップＳ１３と同様に、カメラ情報入力ステップＳ６からの情報を受け取り、この情報に基づいて、画像サイズを元に戻せば良い。
【００５２】
なお、本発明は、上述した物体検出装置の各部の処理内容の一部又は全部を、コンピュータを機能させるプログラムとして構成することもできる。
【符号の説明】
【００５３】
１…カメラ（画像入力装置）
２…画像蓄積部
３…物体検出処理部（物体検出処理手段）
４…カメラ情報入力部
５…荷重値テーブル生成部（荷重値テーブル生成手段）
６…物体計数部（物体計数手段）
７…誤差補正部（物体数補正手段）
８…物体数出力部
【図６】
2011186719.tif 000004
【図７】
2011186719.tif 000005
【図８】
2011186719.tif 000006
【図９】
2011186719.tif 000007
【図１０】
2011186719.tif 000008
【図１】
2011186719.tif 000009
【図２】
2011186719.tif 000010
【図３】
2011186719.tif 000011
【図４】
2011186719.tif 000012
【図５】
2011186719.tif 000013