(57)【要約】【課題】人物とステレオカメラとの距離が大きい場合の誤差を低減できる人物検出方法およびそれを用いた人物追跡方法を提供する。【解決手段】ステップＳ１において、ステレオカメラは、人物の各点に対して、視差の計測を行う。ステップＳ２において、ステレオカメラは、得られた視差画像から、各点について、ステレオカメラと人物との距離であるステレオ距離を算出する。ステップＳ３において、コンピュータは、ステレオカメラにより算出されたステレオ距離を用いて、世界座標系における上記の人物表面上の全ての点の座標を算出する。ステップＳ４においては、ステレオカメラと点Ｐの誤差の広がりとの幾何関係からσcx，σcyを算出する。ステップＳ５においては、点の個数に対して、ステレオ距離に基づく重みσczを付け、Ｚ軸方向の投影即ち点の個数の加算を行う。【選択図】図２
2005215908.tif 000002
【特許請求の範囲】
【請求項１】
人物をステレオカメラを用いて検出する人物検出方法であって、
前記ステレオカメラから得られる画像情報を処理することにより床面上に起立した人物の表面上の点と前記ステレオカメラとの距離であるステレオ距離を求める工程と、
前記ステレオ距離に基づき前記点を前記床面に平行な平面上における面として広げた前記点の広がりを求める工程と、
前記広がりを前記人物の前記起立方向に加算することにより和を得る加算工程と、
前記和からなるヒストグラムから前記人物を検出する工程と
を備える人物検出方法。
【請求項２】
請求項１に記載の人物検出方法であって、
前記加算工程において、前記広がりは、前記ステレオ距離に基づく重みを与えて加算される
人物検出方法。
【請求項３】
請求項１又は請求項２に記載の人物検出方法を用いて検出された人物を追跡する人物追跡方法であって、
第一人物と第二人物との距離である人物間距離が所定の閾値より小さい場合には、前記第一人物の前記人物検出方法を用いて検出された追跡位置と前記第二人物の前記人物検出方法を用いて検出された追跡位置とに前記人物間距離を大きくする向きに修正を行う
人物追跡方法。
【請求項４】
請求項３に記載の人物追跡方法であって、
前記修正は、前記人物間距離の一次関数で表される大きさを有する
人物追跡方法。
【請求項５】
請求項１又は請求項２に記載の人物検出方法を用いて検出された人物を追跡する人物追跡方法であって、
第一人物が第二人物による隠蔽領域内にいる場合には前記第一人物に対して前記人物検出方法を用いた追跡ではなく頭部追跡を行う
人物追跡方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人物検出方法およびそれを用いた人物追跡方法に関し、特に、床面上に起立した人物をステレオカメラを用いて検出する技術に関する。
【背景技術】
【０００２】
従来から、ステレオカメラ等を用いて得られた画像を処理することによる人物検出および人物追跡が行われている。
【０００３】
例えば、特許文献１には、横断歩道上の人物をステレオカメラを用いて検出する手法が開示されている。また、特許文献２には、３次元データを特定平面に投影し、投影された面積より混雑度を計測する手法が開示されている。また、特許文献３には、複数のステレオカメラを用いて人物検出および人物追跡を行う手法が開示されている。
【０００４】
【特許文献１】特開２００２−２４９８６号公報
【特許文献２】特開２００１−３４８８３号公報
【非特許文献１】依田  育士、他１名、”ユビキタスステレオビジョンによる実時間実環境ヒューマンセンシング”、［online］、平成１５年６月１３日、画像センシング技術研究会、［平成１６年１月９日検索］、インターネット＜ＵＲＬ： http://www.media.eng.hokudai.ac.jp/~liuxj/bak/pdf/F-19.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ステレオカメラを用いて得られた画像を処理する場合には、計測される人物とステレオカメラとの距離が大きくなると、誤差が大きくなってしまうという問題点があった。
【０００６】
本発明は以上の問題点を解決するためになされたものであり、人物とステレオカメラとの距離が大きい場合の誤差を低減できる人物検出方法およびそれを用いた人物追跡方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る人物検出方法は、人物をステレオカメラを用いて検出する人物検出方法であって、前記ステレオカメラから得られる画像情報を処理することにより床面上に起立した人物の表面上の点と前記ステレオカメラとの距離であるステレオ距離を求める工程と、前記ステレオ距離に基づき前記点を前記床面に平行な平面上における面として広げた前記点の広がりを求める工程と、前記広がりを前記人物の前記起立方向に加算することにより和を得る加算工程と、前記和からなるヒストグラムから前記人物を検出する工程とを備える。
【発明の効果】
【０００８】
本発明に係る人物検出方法は、人物をステレオカメラを用いて検出する人物検出方法であって、前記ステレオカメラから得られる画像情報を処理することにより床面上に起立した人物の表面上の点と前記ステレオカメラとの距離であるステレオ距離を求める工程と、前記ステレオ距離に基づき前記点を前記床面に平行な平面上における面として広げた前記点の広がりを求める工程と、前記広がりを前記人物の前記起立方向に加算することにより和を得る加算工程と、前記和からなるヒストグラムから前記人物を検出する工程とを備えるので、ステレオ距離による誤差を低減できる。従って、ヒストグラム上に安定したピークを得ることができるので、精度をより高めることができる。また、ステレオ距離による誤差を低減できることにより、ステレオカメラを設置するときに、人物との距離を考慮する必要がなくなるので、ステレオカメラの設置場所に関する制限を緩和することができる。
【発明を実施するための最良の形態】
【０００９】
＜実施の形態１＞
実施の形態１に係る人物検出方法においては、起立した人物は床面に対して垂直方向に長い棒状の物体であると仮定できることに着目し、人物表面上の点を床面に投影しその点の個数のヒストグラムを作成する。また、このヒストグラムの作成においては、ステレオカメラからの距離が大きい点ほど視差に対する誤差が大きくなることを考慮し、ステレオカメラからの距離に基づき広がりや重みを与えることを特徴とする。
【００１０】
図１において、ステレオカメラ１０は、ベースラインＤだけ離れたカメラ１０Ｌおよびカメラ１０Ｒを有し、床面３０上に起立した人物４０の身長よりも高い高さＢを有する位置に固定されている。また、ステレオカメラ１０には、ステレオカメラ１０から得られる画像情報を処理するコンピュータ２０が接続されている。
【００１１】
次に、図２のフローチャートを用いて、本実施の形態に係る人物検出方法を説明する。
【００１２】
まず、ステップＳ１において、コンピュータ２０は、ステレオカメラ１０から得られる画像情報に基づき、人物４０表面上の点に対して、視差ｄの計測を行う。ここで、点とは、三次元空間を所定の解像度に基づき分割した場合の計測の最小単位のことである。また、この視差ｄは、人物４０表面上の全ての点（人物４０の表面のうち影で計測できない点や黒塗り部分等の画像情報の存在しない点を除く）において、計測される。これにより、コンピュータ２０は、人物４０について、解像度に等しい分解能を有する視差画像すなわち密な視差画像を得る。この視差画像は、カメラ１０Ｌ，１０Ｒに対応した二枚の画像から計算により得られる一枚の画像である。
【００１３】
次に、ステップＳ２において、コンピュータ２０は、得られた視差画像から、各点において、ステレオカメラ１０と人物４０との距離であるステレオ距離を算出する。
【００１４】
なお、算出されたこのステレオ距離と、人物４０の実身長Ｈとからは、図１に示されるような立体視画像４５が得られる。ここで、人物４０の実身長Ｈは、既存の手法により観測してもよく、または一般的な平均値（日本人であれば約１６４ｃｍ）を用いてもよい。この立体視画像４５から、人物４０の画像上の身長である画像身長ｈが得られる。
【００１５】
次に、ステップＳ３において、コンピュータ２０は、算出された各点のステレオ距離を用いて、世界座標系における上記の人物４０表面上の全ての点の座標を算出する。図１においては、この世界座標系は、ＸＹＺ座標系として示されている。図１において、床面３０はＸＹ平面に対応し、ベースラインＤはＹ軸に平行であり、ステレオカメラ１０から見て奥行方向がＸ軸に一致し、人物４０はＺ軸方向に起立している。
【００１６】
次に、ステップＳ４〜Ｓ５において、コンピュータ２０は、上記の人物４０表面上の全ての点（以下では、これらの点を任意の点Ｐで代表させ説明を行う）を、床面３０上すなわちＸＹ平面上に投影することによりヒストグラムを作成する。具体的には、図３に示すように、床面３０を、ヒストグラムを作成する単位となる領域であるビン５０（図３においては、点線で囲まれた矩形）に分割し、全てのビン５０上の全てのＺ座標において、それぞれ、点Ｐが存在するかどうか（すなわち、任意のビン５０の任意のＺ座標において、人物４０表面が計測されるどうか）を確認する。そして、確認された点Ｐの個数をビン５０毎にＺ軸方向に加算する。これにより、加算された点Ｐの個数が比較的に多いビン５０においては、人物４０（の表面）が存在していると判断することができる。即ち、投影される点Ｐの個数のヒストグラムのピークから人物２０の位置を求めることができる。
【００１７】
このとき、上述したように、ステレオ距離が大きくなるほど、算出される点Ｐの座標の誤差は大きくなる。図４に、ステレオ距離と点Ｐの座標の誤差との関係を示す。視差ｄの誤差Δｄに対する点Ｐの誤差は、矩形６０の各辺の長さで表され、ステレオ距離が大きくなるほど大きくなる。
【００１８】
そこで、上記の誤差の影響を低減するために、本発明においては、以下に説明するように、点Ｐの座標に、誤差に対応させて、ステレオ距離に基づく広がりを与える。
【００１９】
図３に示すように、点Ｐの広がり７０は、ステレオカメラ１０からの距離に基づく長さσcx，σcyを有する辺からなる矩形で表される。このσcx，σcyは、図４における矩形６０各辺の長さにそれぞれ対応している。すなわち、広がり７０は、ステレオ距離が大きい場合には大きく、ステレオ距離が小さい場合には小さい。
【００２０】
ステップＳ４においては、図４におけるステレオカメラ１０と矩形６０との幾何関係（即ち、ステレオカメラ１０と広がり７０との幾何関係）から導かれる以下の式（１），（２）を用いることによりσcx，σcyを算出する。
【００２１】
σcx＝ξσd／ｄ2・・・（１）
σcy＝Ｄσd／ｄ・・・（２）
ここで、ξは、ξ＝ｄｚ（ｚは点ＰのＺ座標）を満たす定数であり、σdは、一般的なステレオ計測における誤差標準偏差を表す定数である。また、式（１）は、ｚ＝ξ／ｄで表される式に対してｄの１次のテーラー展開を行うことにより求められる。式（１），（２）において、ステレオ距離が大きい場合には、視差ｄは小さくなるので、σcx，σcyは、いずれも大きくなる。すなわち、広がり７０は、ステレオ距離に基づき点Ｐを床面３０に平行な平面上に面として広げたものである。
【００２２】
この式（１），（２）から算出されたσcx，σcyを用いることにより、広がり７０に相当するビン５０の位置（図３において広がり７０の下方に存在しているビン５０の位置）を算出することができる。即ち、所定のビン５０の上方において、所定のＺ座標に広がり７０が存在する場合には、当該Ｚ座標において点Ｐが存在しているものとし個数に加算する。
【００２３】
図５は、床面３０上方から広がり７０を視た場合の概念図である。広がり７０は、Ｚ座標毎に積み重ねられ、ステップＳ５において床面３０に投影されその個数が加算される。この加算された値が所定のビン５０においてピークを有する場合には、当該ビン５０の位置を用いて人物４０の位置を求めることができる。
【００２４】
ステップＳ５においては、前述の画像身長ｈを用いた以下の式（３）で表されるσczを、点Ｐの一個に対応する値として用いることにより、点Ｐの個数（すなわち広がり７０の個数）に対してステレオ距離に基づく重みを付け、Ｚ軸方向の投影即ち点Ｐの個数の加算を行う。
【００２５】
σcz＝ｋvote／ｈ・・・（３）
ここで、ｋvoteは定数であり、投影される点Ｐの個数（すなわち広がり７０の個数）の総和に基づき定められる。例えば、ピーク値を１とする場合には、ｋvote＝１と定め、濃淡画像をヒストグラムとするような場合には、ｋvote＝２５５と定められる。
【００２６】
人物４０の画像身長ｈは、ステレオ距離が大きくなるほど小さくなるので、式（３）におけるσczは、ステレオ距離が大きくなるほど大きくなる。ヒストグラム上では、ピークの位置に加算される点Ｐの個数は画像身長ｈに等しいので、予めｈで割ってから加算することで、ピーク値を一定値ｋvoteとすることができる。即ち、式（３）は、式（１），（２）から求められた広がり７０に対して、ステレオ距離に基づき、Ｚ方向に対する重み（言い換えると、擬似的な高さ）を与えている。これにより、ステレオ距離に依らずピーク値を一定に保つことができる。
【００２７】
また、人物４０がステレオカメラ１０の真下にいる場合にｈ＝０となりσczが発散してしまうことを防ぐために、所定の閾値Δを用いて、ｈ≧Δの場合には式（３）を適用し、ｈ＜Δの場合には、以下の式（４）を適用することにしてもよい。
【００２８】
σcz＝ｋvote／Δ・・・（４）
次に、ステップＳ６において、全ての点ＰについてステップＳ３〜Ｓ５が実行されたかどうかを確認する。実行されていない場合にはステップＳ３に進み、実行された場合には一連の処理が終了する。
【００２９】
このように、本実施の形態に係る人物検出方法においては、点Ｐを床面３０に投影するときにステレオ距離に基づく広がりや高さ（重み）を与えるので、ステレオ距離による誤差を低減できる。従って、ヒストグラム上に安定したピークを得ることができるので、精度をより高めることができる。また、ステレオ距離による誤差を低減できることにより、ステレオカメラ１０を設置するときに、人物２０との距離を考慮する必要がなくなるので、ステレオカメラ１０の設置場所に関する制限を緩和することができる。
【００３０】
なお、上記の説明においては、σcx，σcyを用いて説明を行ったが、式（１），（２）に限らず、点Ｐがステレオ距離に基づく広がりを有しておればよい。例えば、図４における矩形６０の各辺の長さに代えて、矩形６０に内接する四辺形の各辺の長さを用いてもよい。誤差Δｄに対する点Ｐの誤差は、矩形６０に内接する四辺形の各辺の長さを用いることでより正確に表すことができるので、さらに精度を高めることが可能となる。また、σczについても、式（３），式（４）で表されるものに限らず、ステレオ距離に基づく高さ（重み）を有していればよい。
【００３１】
＜実施の形態２＞
実施の形態１に係る人物検出方法を用いることにより、人物追跡を行うことが可能となる。即ち、床面３０に投影されたヒストグラムのピークの位置を人物４０の位置と仮定し、このピークの位置を時々刻々更新していくことにより、人物４０を追跡する。コンピュータ２０内のＣＰＵは、コンピュータ２０内のメモリに予め記憶されたソフトウェアに含まれる複数の追跡手段を用いて、この追跡を行う。この追跡手段は、二以上のピークが検出された場合（すなわち二人以上の人物４０が存在する場合）は、各ピークにそれぞれ対応して、カルマンフィルタ等の既存の手法を用いることにより、ピークを追跡する。
【００３２】
しかし、二人以上の人物４０において、互いの距離が近い場合には、各人物４０に対応する複数のピークが重なり合うので、一つの大きなピークとして結合してしまうことがある。このような場合においては、二人以上の人物４０を一人と誤って認識してしまうので、うまく追跡できない場合があるという問題点がある。
【００３３】
そこで、実施の形態２に係る人物追跡方法においては、人物４０同士が所定の距離よりも近づいた場合には、各人物４０に対応する追跡位置（コンピュータ２０での認識位置）を、互いに遠ざかる向きに修正することを特徴とする。
【００３４】
図６は、本実施の形態に係る人物追跡方法を示すフローチャートである。
【００３５】
まず、ステップＳ１１において、追跡位置ｉと追跡位置ｊとの距離に対応する実際の人物間距離ａを算出する。ここで、追跡位置ｉ，ｊは、検出された任意の人物４０である人物４０ｉ（第一人物），４０ｊ（第二人物）それぞれに対応する追跡位置である。
【００３６】
次に、ステップＳ１２において、算出された人物間距離ａと予め定められた所定の閾値δとを比較する。この閾値δは、人物４０の平均的なサイズを用いて、例えば４００ｍｍ程度に定めてもよい。
【００３７】
ステップＳ１２の比較において、ａ＜δである場合には、ステップＳ１３へ進み、追跡位置ｉを、追跡位置ｊから遠ざかる向きへ、例えば（δ−ａ）／２だけ修正する。即ち、人物４０ｉの追跡位置は、人物４０ｊの追跡位置との間の距離を大きくする向きに、当該距離の一次関数で表される修正量を与えられる。これにより、擬似的に、追跡位置ｉと追跡位置ｊとの間に反発力を働かせることができる。
【００３８】
ステップＳ１２の比較において、ａ＜δでない場合（即ちａ≧δである場合）には、追跡位置の修正は不要であるので、ステップＳ１３をスキップし、ステップＳ１４へ進む。
【００３９】
次にステップＳ１４において、全ての追跡位置についてステップＳ１１〜Ｓ１３を実行したかどうかを確認し、実行されていなければステップＳ１１に進み、実行されていれば一連の処理を終了する。
【００４０】
このように、本実施の形態に係る人物追跡方法においては、人物４０ｉの追跡位置は、人物４０ｊの追跡位置との間の距離に基づき互いの位置を遠ざける向きに修正される。従って、各人物４０に対応する複数のピークが重なり合った場合においても、二人以上の人物４０を一人として誤って認識してしまうことを防ぐことができる。
【００４１】
また、与えられる修正量は、人物間距離ａの一次関数で表されるので、バランスを保ちながら滑らかな修正を行うことができる。
【００４２】
なお、上記の説明においては、修正量が（δ−ａ）／２である場合について説明したが、（δ−ａ）／２に限らず、人物４０ｉと人物４０ｊとの間の距離を大きくする向きに修正するものであればよい。
【００４３】
＜実施の形態３＞
実施の形態２に係る人物追跡方法においては、人物４０ｉの追跡位置を人物４０ｊの追跡位置との間の距離に基づき修正する（追跡位置ｉと追跡位置ｊとの間に擬似的に反発力を働かせる）ことにより、各人物４０に対応する複数のピークが重なり合った場合においても二人以上の人物４０を一人として誤って認識してしまうことを防いでいる。
【００４４】
実施の形態３に係る人物追跡方法においては、図７に示されるような人物４０ｊによる隠蔽領域（ステレオカメラ１０から見て影になっている部分）８０を考慮することにより、上記と同様の効果を奏することを特徴とする。
【００４５】
図７は、本実施の形態に係る人物追跡方法を示すフローチャートである。
【００４６】
まず、ステップＳ２１において、人物４０ｊとステレオカメラ１０との幾何関係より、人物４０ｊの隠蔽領域８０のＸ，Ｙ，Ｚ座標を全て算出する。
【００４７】
次に、ステップＳ２２において、人物４０ｉの位置座標を隠蔽領域８０のＸ，Ｙ，Ｚ座標と比較することにより、人物４０ｉが隠蔽領域８０内にあるかどうかを判断する。
【００４８】
ステップＳ２２の判断において、人物４０ｉが隠蔽領域８０内にある場合には、ステップＳ２３に進む。そして、実施の形態１により得られるヒストグラムのピークを追跡するのではなく、既存の手法を用いて人物４０ｉの頭部追跡を行う。
【００４９】
上述したように、ステレオカメラ１０は、床面３０上に起立した人物４０の身長よりも高い高さＢを有する位置に設置されているので、図７に示すように、人物４０ｉの胴体が隠蔽領域８０内に入った場合においても、人物４０ｉの頭部は隠蔽領域８０内に入っていない場合が多い。従って、人物４０ｉの胴体が隠蔽領域８０内に入った場合には、一時的に頭部追跡に切り換えることにより、二人以上の人物４０を一人として誤って認識してしまうことを防ぐことができる。
【００５０】
次に、ステップＳ２４において、人物４０ｉの実身長Ｈ（実施の形態１において前述したように、実際の観測値であっても一般的な平均値であってもよい）と、既存の手法により得られる画像上の頭部の位置とから、人物４０ｉの位置を算出する。これにより、一連の処理が終了する。
【００５１】
ステップＳ２２の判断において、人物４０ｉが人物４０ｊの隠蔽領域８０内にない場合には、ステップＳ２５に進み、実施の形態２で説明したような本発明の手法を用いて人物４０ｉの追跡を行う。そして、ステップＳ２６に進み、実施の形態１で説明したような本発明の手法を用いて人物４０ｉの位置を計算する。これにより、一連の処理が終了する。
【００５２】
このように、本実施の形態に係る人物追跡方法においては、人物４０ｉが人物４０ｊの隠蔽領域８０内に入った場合には、ヒストグラムのピークを追跡するのではなく、頭部追跡を行う。従って、実施の形態２と同様に、各人物４０に対応する複数のピークが重なり合った場合においても、二人以上の人物４０を一人として誤って認識してしまうことを防ぐことができる。
【００５３】
なお、実際には、頭部追跡とその３次元位置、距離情報の床面への投影３次元位置を統合する必要があるが、これは例えば隠蔽状態による重み付け和などの方法を採用することができる。また、頭部追跡などは、例えば一般によく知られている更新型テンプレートマッチなどの画像処理技術や、頭部シルエットを抽出する画像処理技術を用いることができる。
【図面の簡単な説明】
【００５４】
【図１】実施の形態１に係る人物検出方法を示す斜視図である。
【図２】実施の形態１に係る人物検出方法を示すフローチャートである。
【図３】実施の形態１に係る人物検出方法を示す上面図である。
【図４】実施の形態１に係る人物検出方法を示す上面図である。
【図５】実施の形態１に係る人物検出方法を示す概念図である。
【図６】実施の形態２に係る人物追跡方法を示すフローチャートである。
【図７】実施の形態３に係る人物追跡方法を示す斜視図である。
【図８】実施の形態３に係る人物追跡方法を示すフローチャートである。
【符号の説明】
【００５５】
１０  ステレオカメラ、１０Ｌ，１０Ｒ  カメラ、２０  コンピュータ、３０  床面、４０  人物、４５  立体視画像、５０  ビン、６０  矩形、７０  広がり、８０  隠蔽領域、Ｂ  高さ、ｄ  視差、Ｄ  ベースライン、ｈ  画像身長、Ｈ  実身長、Ｐ  点、δ，Δ  閾値。
【図１】
2005215908.tif 000003
【図２】
2005215908.tif 000004
【図３】
2005215908.tif 000005
【図４】
2005215908.tif 000006
【図５】
2005215908.tif 000007
【図６】
2005215908.tif 000008
【図７】
2005215908.tif 000009
【図８】
2005215908.tif 000010