(57)【要約】【課題】複数の移動体が隣接して存在する場合であっても、それらを個別の移動体として検出できるようにした移動体の検出装置を提供する。【解決手段】基準画像ＢＩの輝度が所定レベル以上変化した画素を抽出してなるエッジ画像ＥＩから、さらに移動体までの距離（移動体距離）に対応する画素を抽出して移動体距離画像ＴＤｅＩを生成し、移動体距離画像ＴＤｅＩ内の画素数を累計したヒストグラムが最大となる位置を中心線として前記移動体距離画像ＴＤｅＩに輪郭抽出領域Ｔを設定すると共に、前記エッジ画像ＥＩに基づいて輪郭抽出領域Ｔの中心線ＣＬを補正し、補正された輪郭抽出領域ＣＴ内において移動体の輪郭を抽出して移動体を検出する。【選択図】  図４
2004302905.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像手段で時系列にステレオ視して得た複数の撮像画像に基づいて移動体の輪郭を抽出し、前記移動体を検出する移動体の検出装置において、
ａ．前記複数の撮像画像の視差に基づいて撮像対象までの距離を示す距離画像を生成する距離画像生成手段、
ｂ．時系列に入力される前記撮像画像間の差分を求めて差分画像を生成する差分画像生成手段、
ｃ．前記撮像画像の輝度が所定レベル以上変化する画素を抽出してエッジ画像を生成するエッジ画像生成手段、
ｄ．前記距離画像と差分画像に基づいて前記移動体が存在すると推定される位置までの距離を示す移動体距離を設定する移動体距離設定手段、
ｅ．前記エッジ画像から前記移動体距離に対応する画素を抽出して移動体距離画像を生成する移動体距離画像生成手段、
ｆ．前記移動体距離画像内の画素数を累計してヒストグラム化する画素累計手段、
ｇ．前記累計した画素数が最大となる位置を中心線として前記移動体距離画像に、前記移動体の輪郭の抽出を実行すべき輪郭抽出領域を設定する輪郭抽出領域設定手段、
ｈ．前記エッジ画像に基づいて前記輪郭抽出領域の中心線を補正する中心線補正手段、
および
ｉ．前記中心線が補正された輪郭抽出領域内において前記移動体の輪郭を抽出して前記移動体を検出する移動体検出手段、
を備えることを特徴とする移動体の検出装置。
【請求項２】
さらに、
ｊ．前記撮像対象から所定の色彩を抽出して所定色彩領域画像を生成する所定色彩画像生成手段、
および
ｋ．前記所定の色彩の配置パターンを複数記憶させたデータベース、
を備えると共に、前記中心線補正手段は、前記所定色彩領域画像と前記所定の色彩の配置パターンを比較し、最も近似する配置パターンに基づいて前記輪郭抽出領域の中心線を補正することを特徴とする請求項１項記載の移動体の検出装置。
【請求項３】
前記移動体検出手段は、前記移動体の輪郭を動的輪郭モデルによって抽出することを特徴とする請求項１項または２項記載の移動体の検出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は移動体の検出装置に関し、より詳しくは、撮像した画像に基づき、物体や人などの移動体を検出する移動体の検出装置に関する。
【０００２】
【従来の技術】
撮像した画像に基づいて移動体を検出する装置として、従来、例えば特許文献１に記載される技術が知られている。かかる技術にあっては、時系列に入力された撮像画像間の差分を求め、輝度に変化が生じた領域を移動体として検出すると共に、その輪郭を複数の領域に分割して抽出し、分割して抽出した輪郭に基づいて移動体全体の輪郭形状を抽出するようにしている。
【０００３】
【特許文献１】
特開平６−１３８１３７号公報（第５頁、段落００３５から００３９など）
【０００４】
【発明が解決しようとする課題】
上記した従来技術にあっては、時系列に入力された撮像画像間の差分を求め、輝度に変化が生じた領域を移動体として検出していることから、複数の物体が隣接して移動する場合、即ち、複数の移動体が隣接して存在する場合、それらを１つの移動体として検出してしまうおそれがあった。
【０００５】
従って、この発明の目的は上記した不都合を解消し、複数の移動体が隣接して存在する場合であっても、それらを個別の移動体として検出できるようにした移動体の検出装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記した課題を解決するために、請求項１項においては、複数の撮像手段で時系列にステレオ視して得た複数の撮像画像に基づいて移動体の輪郭を抽出し、前記移動体を検出する移動体の検出装置において、前記複数の撮像画像の視差に基づいて撮像対象までの距離を示す距離画像を生成する距離画像生成手段、時系列に入力される前記撮像画像間の差分を求めて差分画像を生成する差分画像生成手段、前記撮像画像の輝度が所定レベル以上変化する画素を抽出してエッジ画像を生成するエッジ画像生成手段、前記距離画像と差分画像に基づいて前記移動体が存在すると推定される位置までの距離を示す移動体距離を設定する移動体距離設定手段、前記エッジ画像から前記移動体距離に対応する画素を抽出して移動体距離画像を生成する移動体距離画像生成手段、前記移動体距離画像内の画素数を累計してヒストグラム化する画素累計手段、前記累計した画素数が最大となる位置を中心線として前記移動体距離画像に前記移動体の輪郭の抽出を実行すべき輪郭抽出領域を設定する輪郭抽出領域設定手段、前記移動体距離画像に前記エッジ画像を重ねて前記輪郭抽出領域の中心線を補正する中心線補正手段、および前記中心線が補正された輪郭抽出領域内において前記移動体の輪郭を抽出して前記移動体を検出する移動体検出手段、を備えるように構成した。
【０００７】
このように、請求項１項にあっては、ステレオ視して得た複数の撮像画像の視差に基づく撮像対象までの距離を示す距離画像と、時系列に入力される撮像画像間の差分をとった差分画像と、撮像画像の輝度が所定レベル以上変化する画素を抽出したエッジ画像とを生成し、前記距離画像と差分画像に基づいて前記移動体が存在すると推定される位置までの距離を示す移動体距離を設定し、前記エッジ画像から前記移動体距離に対応する画素を抽出して移動体距離画像を生成し、前記移動体距離画像内の画素数を累計してヒストグラム化し、前記累計した画素数が最大となる位置を中心線として前記移動体距離画像に、前記移動体の輪郭の抽出を実行すべき輪郭抽出領域を設定すると共に、前記エッジ画像に基づいて前記輪郭抽出領域の中心線を補正し、前記中心線が補正された輪郭抽出領域内において前記移動体の輪郭を抽出して前記移動体を検出するように構成したので、移動体の輪郭の抽出を、移動体が個別に存在する領域に限定して行うことができ、よって複数の移動体が隣接して存在する場合であっても、それらを個別の移動体として検出することができる。
【０００８】
さらに、前記エッジ画像に基づいて中心線を補正する、より具体的には、移動体の輪郭によく合致したエッジ画像のピークに前記中心線を位置させるように構成したので、累計した画素数が最大となる位置と移動体の中心が一致しない場合であっても、輪郭抽出領域に移動体（個別の移動体）全体を収めることができ、よって隣接して存在する複数の移動体を、個別の移動体として精度良く検出することができる。
【０００９】
尚、この明細書において「移動体」とは、人などの生物であっても良いし、非生物であっても良い。また、物体の一部（人でいえば腕や足など）であるか全部（人でいえば全身）であるかも問わない。
【００１０】
また、請求項２項にあっては、さらに、前記撮像対象から所定の色彩を抽出して所定色彩領域画像を生成する所定色彩画像生成手段、および前記所定の色彩の配置パターンを複数記憶させたデータベース、を備えると共に、前記中心線補正手段は、前記所定色彩領域画像と前記所定の色彩の配置パターンを比較し、最も近似する配置パターンに基づいて前記輪郭抽出領域の中心線を補正するように構成した。
【００１１】
このように、請求項２項にあっては、さらに前記撮像対象から所定の色彩を抽出して所定色彩領域画像を生成すると共に、前記所定色彩領域画像とデータベースに記憶された所定の色彩の配置パターンを比較し、最も近似する配置パターンに基づいて前記輪郭抽出領域の中心線を補正するように構成した、より具体的には、エッジ画像のピークが複数存在する場合において、中心線を位置させるべきピークを所定の色彩（例えば肌色）の配置パターンに基づいて判定するように構成したので、エッジ画像のピークが複数存在する場合であっても、中心線を移動体の中心に正確に位置させることができ、よって隣接して存在する複数の移動体を、個別の移動体として一層精度良く検出することができる。
【００１２】
また、請求項３項にあっては、前記移動体検出手段は、前記移動体の輪郭を動的輪郭モデルによって抽出するように構成した。
【００１３】
上記した請求項１項および２項の構成により、移動体が個別に存在する領域を正確に絞り込むことができるため、比較的処理が複雑な動的輪郭モデル、いわゆるスネーク（Ｓｎａｋｅｓ）を用いて移動体の輪郭を抽出する場合であっても、演算処理を軽減させて実時間で処理することが可能となる。
【００１４】
【発明の実施の形態】
以下、添付図面を参照してこの発明の一つの実施の形態に係る移動体の検出装置を説明する。
【００１５】
尚、この実施の形態においては、移動体の検出装置を、２足歩行ロボットに搭載した場合を例にとって説明する。図１はその２足歩行ロボット（以下「ロボット」という）１の正面図、図２はその側面図である。
【００１６】
図１に示すように、ロボット１は、２本の脚部２を備えると共に、その上方には上体（基体）３が設けられる。上体３の上部には頭部４が設けられると共に、上体３の両側には２本の腕部５が連結される。また、図２に示すように、上体３の背部には格納部６が設けられ、その内部には歩行制御ＥＣＵや画像処理ＥＣＵ（電子制御ユニット。後述）およびロボット１の関節を駆動する電動モータのバッテリ電源（図示せず）などが収容される。尚、図１および図２に示すロボット１は、内部構造を保護するためのカバーが取着されたものを示す。
【００１７】
図３を参照して上記したロボット１の内部構造を関節を中心に説明する。
【００１８】
図示の如く、ロボット１は、左右それぞれの脚部２に６個の関節を備える。計１２個の関節は、腰部の脚回旋用の鉛直軸（Ｚ軸あるいは重力軸）まわりの関節１０Ｒ，１０Ｌ（右側をＲ、左側をＬとする。以下同じ）、股（腰部）のロール方向（Ｘ軸まわり）の関節１２Ｒ，１２Ｌ、股（腰部）のピッチ方向（Ｙ軸まわり）の関節１４Ｒ，１４Ｌ、膝部のピッチ方向（Ｙ軸まわり）の関節１６Ｒ，１６Ｌ、足首のピッチ方向（Ｙ軸まわり）の関節１８Ｒ，１８Ｌ、および同ロール方向（Ｘ軸まわり）の関節２０Ｒ，２０Ｌから構成される。脚部２Ｒ（Ｌ）の下部には足平（足部）２２Ｒ，２２Ｌが取着される。
【００１９】
このように、脚部２は、股関節（腰関節）１０Ｒ（Ｌ），１２Ｒ（Ｌ），１４Ｒ（Ｌ）、膝関節１６Ｒ（Ｌ）、および足関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）から構成される。股関節と膝関節は大腿リンク２４Ｒ（Ｌ）で、膝関節と足関節は下腿リンク２６Ｒ（Ｌ）で連結される。
【００２０】
脚部２は股関節を介して上体３に連結されるが、図３では上体３を上体リンク２８として簡略的に示す。前記したように、上体３には腕部５が連結される。腕部５は、肩部のピッチ方向の関節３０Ｒ，３０Ｌ、同ロール方向の関節３２Ｒ，３２Ｌ、腕の回旋用の鉛直軸まわりの関節３４Ｒ，３４Ｌ、肘部のピッチ軸まわりの関節３６Ｒ，３６Ｌ、手首回旋用の鉛直軸まわりの関節３８Ｒ，３８Ｌから構成される。手首の先にはハンド（エンドエフェクタ）４０Ｒ，４０Ｌが取着される。
【００２１】
このように、腕部５は、肩関節３０Ｒ（Ｌ），３２Ｒ（Ｌ），３４Ｒ（Ｌ）、肘関節３６Ｒ（Ｌ）、手首関節３８Ｒ（Ｌ）から構成される。また肩関節と肘関節とは上腕部リンク４２Ｒ（Ｌ）で、肘関節とハンドとは下腕部リンク４４Ｒ（Ｌ）で連結される。
【００２２】
頭部４は、鉛直軸まわりの首関節４６およびそれと直交する軸で頭部４を回転させる頭部揺動機構４８から構成される。頭部４の内部には、２個のＣＣＤカメラ（撮像手段）５０Ｒ（Ｌ）が、左右に並列してステレオ視（複眼視）自在に取りつけられる。ＣＣＤカメラ５０Ｒ（Ｌ）がそれぞれ撮像して得た画像（カラー画像）は画像処理ＥＣＵ８０に送られ、そこで後述する移動体の検出処理が行われる。尚、ＣＣＤカメラ５０Ｒ（Ｌ）はそれぞれ、３２０×２４０の画素を備えると共に、水平６０度、垂直４０度の視野を有する。
【００２３】
ロボット１は、上記の如く、左右の脚部２Ｒ（Ｌ）について合計１２の自由度を与えられ、歩行中にこれらの１２個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に３次元空間を歩行させることができる。また、腕部５も左右の腕についてそれぞれ５つの自由度を与えられ、これらの関節を適宜な角度で駆動することで所望の作業を行わせることができる。
【００２４】
また、足関節の下方の足部２２Ｒ（Ｌ）には公知の６軸力センサ５４Ｒ（Ｌ）が取着され、ロボットに作用する外力の内、接地面からロボットに作用する床反力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００２５】
さらに、上体３には傾斜センサ５６が設置され、鉛直軸に対する傾きとその角速度を示す信号を出力する。さらに、各関節を駆動する電動モータ（図示省略）には、その回転量を検出するロータリエンコーダ（図示省略）が設けられる。
【００２６】
６軸力センサ５４Ｒ（Ｌ）などのセンサ出力や画像処理ＥＣＵ８０の出力は、歩行制御ＥＣＵ６０に送られる。
【００２７】
歩行制御ＥＣＵ６０は、その内部のＲＯＭ（図示省略）に格納されているデータや上記した各センサおよび画像処理ＥＣＵ８０の出力に基づいて各関節の駆動に必要な制御値（操作量）を算出して各関節を駆動する電動モータに出力する。
【００２８】
図４は、画像処理ＥＣＵ８０の動作を機能的に示すブロック図である。
【００２９】
以下、同図を参照して説明する。
【００３０】
図示の如く、画像処理ＥＣＵ８０の動作は、左右のＣＣＤカメラ５０Ｒ，５０Ｌから入力された画像を解析する入力画像解析ブロック８０Ａと、解析された画像から移動体を検出する移動体検出ブロック８０Ｂとで構成される。
【００３１】
入力画像解析ブロック８０Ａは、距離画像生成部８０ａと、差分画像生成部８０ｂと、エッジ画像生成部８０ｃと、肌色領域画像生成部８０ｄとからなる。
【００３２】
距離画像生成部８０ａは、同時刻に左側のＣＣＤカメラ５０Ｌと右側のＣＣＤカメラ５０Ｒで撮像された２つの画像の視差に基づき、ロボット１から撮像対象までの距離（奥行き）を示す距離画像ＤｅＩを生成する。具体的には、距離画像生成部８０ａは、左側のＣＣＤカメラ５０Ｌを基準カメラとし、この基準とされた左側のＣＣＤカメラ５０Ｌで撮像された画像（以下「基準画像ＢＩ」という）と、右側のＣＣＤカメラ５０Ｒで同時刻に撮像された画像（以下「同時刻画像」という）とを、所定の大きさのブロック（例えば１６×１６画素）でブロックマッチングし、基準画像からの視差を計測すると共に、計測した視差の大きさ（視差量）を基準画像の各画素に対応付けて距離画像ＤｅＩを生成する。尚、視差は、その値が大きいほどＣＣＤカメラ５０Ｒ（Ｌ）から近いことを示し、小さいほど遠く離れていることを示す。
【００３３】
図５に、左側のＣＣＤカメラ５０Ｌで撮像された基準画像ＢＩ示す。以降、図５に示す３人の人（人間）が撮像された画像に基づいて説明を続ける。尚、基準画像ＢＩにおいて、右側（図に向かって右側）の人を人Ａとし、中央の人を人Ｂとし、左側の人を人Ｃとする。図示の如く、人Ａは、右手Ａｒｈを頭部Ａｈの右横に挙げている。また、人Ａと人Ｂは、実空間において、ＣＣＤカメラ５０Ｒ（Ｌ）から１．６３ｍだけ離間した位置に起立しており、人Ｃは、ＣＣＤカメラ５０Ｒ（Ｌ）から１．９６ｍだけ離間した位置に起立しているものとする。
【００３４】
図６に、距離画像生成部８０ａで生成された距離画像ＤｅＩを示す。距離画像ＤｅＩは、視差を画素値として表現するため、図６に示すように、ＣＣＤカメラ５０Ｒ（Ｌ）に近いほど明るく（人Ａ、人Ｂ）、遠いほど暗い（人Ｃ）画像になる。尚、図６では、理解の便宜のため、画像の濃淡を斜線の間隔を相違させることによって示す。即ち、図６においては、斜線の間隔が広い領域ほど明るく（近く）、間隔が狭い領域ほど暗い（遠い）ことを意味する。また、黒く塗られた点は、人Ａ，Ｂ，Ｃより遠く離れている（視差が小さい）ことを示す。
【００３５】
図４の説明に戻ると、差分画像生成部８０ｂは、左側のＣＣＤカメラ５０Ｌで時系列に撮像された２つの基準画像ＢＩの差分をとり、差分画像ＤｉＩを生成する。具体的には、差分画像生成部８０ｂは、左側のＣＣＤカメラ５０Ｌで時系列（時刻ｔと時刻ｔ＋Δｔ）に撮像された２つの基準画像ＢＩの差分を求め、差のあった画素には動き（移動）のあった画素として画素値１を与えると共に、差のなかった画素には動き（移動）のなかった画素として画素値０を与えることで、差分画像ＤｉＩを生成する。尚、差分画像生成部８０ｂでは、生成した差分画像ＤｉＩに対してさらにメディアンフィルタなどの適宜なフィルタ処理を施すことにより、ノイズを除去する。また、ロボット１が移動することによって時刻ｔと時刻ｔ＋Δｔの基準画像ＢＩ内の背景が変化する場合は、ＣＣＤカメラ５０Ｌの移動量に基づいて時刻ｔ＋Δｔに撮像した基準画像ＢＩを補正することで、移動体の動きのみを差分として検出するようにする。
【００３６】
図７に、差分画像生成部８０ｂで生成された差分画像ＤｉＩを示す。同図において、黒で示す領域が画素値１を与えた領域、即ち、動きのあった画素を示し、白で示す領域が画素値０を与えた領域、即ち、動きのなかった画素を示す。従って同図は、時刻ｔから時刻ｔ＋Δｔまでの間に、人Ａの右手Ａｒｈや頭部Ａｈ、人Ｂの右手Ｂｒｈに最も大きな動き（移動）が生じたことを示す。
【００３７】
図４の説明に戻ると、エッジ画像生成部８０ｃは、左側のＣＣＤカメラ５０Ｌで撮像された基準画像ＢＩに基づいてエッジ画像ＥＩを生成する。具体的には、エッジ画像生成部８０ｃは、前記基準画像ＢＩの輝度が所定レベル以上変化する画素をエッジとして検出し、検出したエッジのみからなるエッジ画像ＥＩを生成する。尚、エッジの検出は、より具体的には、画像全体に所定の重み係数を有するオペレータ（Ｓｏｖｅｌオペレータなど）を当て、対応する画素輝度値の積を算出し、行または列単位で隣の線分と所定値以上の差を有する線分をエッジとして検出することによって行う。
【００３８】
図８に、エッジ画像生成部８０ｃで生成されたエッジ画像ＥＩを示す。図示の如く、輝度が大きく変化する背景と各人Ａ，Ｂ，Ｃの境界線が、エッジとして検出される。
【００３９】
図４の説明に戻ると、肌色領域画像生成部８０ｄは、左側のＣＣＤカメラ５０Ｌで撮像された基準画像ＢＩから肌色の領域を抽出して肌色領域画像ＣＩを生成する。具体的には、肌色領域画像生成部８０ｄは、前記基準画像ＢＩをＲＧＢ値（Ｒｅｄ，Ｇｒｅｅｎ，Ｂｌｕｅ）からＨＬＳ空間（色相、明度、彩度）に変換し、色相、明度および彩度の全てが予め設定された肌色に関するしきい値を超えた画素に肌色を呈する画素として画素値１を与え、他の画素に肌色以外の色彩を呈する画素として画素値０を与えることで、肌色領域画像ＣＩを生成する。また、肌色領域画像生成部８０ｄでは、生成した肌色領域画像ＣＩに対してさらにメディアンフィルタなどの適宜なフィルタ処理を施すことにより、ノイズを除去する。
【００４０】
図９に、肌色領域画像生成部８０ｄで生成された肌色領域画像ＣＩを示す。同図において、黒で示す領域が画素値１を与えた領域、即ち、肌色を呈する画素を示し、白で示す領域が画素値０を与えた領域、即ち、肌色以外の色彩を呈する画素を示す。図示の如く、基準画像ＢＩのうち、人Ａ，Ｂ，Ｃの肌色部分（肌が露出した部分）、即ち、それぞれの頭部（より詳しくは顔部）Ａｈ，Ｂｈ，Ｃｈと、人Ａ，Ｂの右手（より詳しくは手のひら）Ａｒｈ，Ｂｒｈと、人Ａ，Ｂの左手（より詳しくは手のひら）Ａｌｈ，Ｂｌｈが肌色領域として抽出される。尚、人Ｃの両手は、図５に示す如く体の後ろで組まれていることから、肌色領域として抽出されない。
【００４１】
図４の説明に戻ると、移動体検出ブロック８０Ｂは、移動体距離設定部８０ｅと、移動体距離画像生成部８０ｆと、輪郭抽出領域設定部８０ｇと、中心線補正部８０ｈと、移動体検出部８０ｉと、距離画像更新部８０ｊとからなる。
【００４２】
移動体距離設定部８０ｅは、前記した距離画像ＤｅＩと差分画像ＤｉＩに基づいて移動体（人Ａ，Ｂ，Ｃ）が存在すると推定される位置までの距離（以下「移動体距離」という）を設定する。具体的には、移動体距離設定部８０ｅは、距離画像ＤｅＩで表された視差（距離）ごとに、その視差に対応する位置にある差分画像ＤｉＩの画素数を累計すると共に、累計値が最大となる視差（距離）に移動体が存在していると推定し、移動体距離として設定する。
【００４３】
図７に示した差分画像では、人Ａの右手Ａｒｈや頭部Ａｈ、人Ｂの右手Ｂｒｈに最も大きな動き（移動）が生じていることから、図６に示す距離画像ＤｅＩにおいて、ＣＣＤカメラ５０Ｒ（Ｌ）から１．６３ｍの距離を示す視差が移動体距離として設定されることになる。尚、移動体距離設定部８０ｅは、入力された距離画像ＤｅＩと差分画像ＤｉＩを、画像処理ＥＣＵ内の図示しないＲＡＭに記憶させる。
【００４４】
図４の説明を続けると、移動体距離設定部８０ｅで設定された移動体距離は、移動体距離画像生成部８０ｆに送出される。移動体距離画像生成部８０ｆは、エッジ画像ＥＩから前記移動体距離に対応する画素を抽出して移動体距離画像ＴＤｅＩを生成する。
【００４５】
具体的には、移動体距離画像生成部８０ｆは、前記移動体距離±αの視差の幅（奥行き）を、最も動きの大きい移動体が存在する視差の範囲として設定する。ここで、αの値は、移動体を人と仮定した場合、例えば０．５ｍに設定される。従って、図１０に示すように、移動体距離画像ＴＤｅＩには、人Ａ，Ｂを示すエッジの他、人Ａ，Ｂから０．３３ｍ後方に位置する人Ｃを示すエッジも抽出される。一方、それより後方に位置する背景を示すエッジは、削除される。
【００４６】
移動体距離画像生成部８０ｆで生成された移動体距離画像ＴＤｅＩは、輪郭抽出領域設定部８０ｇに送出される。輪郭抽出領域設定部８０ｇは、前記移動体距離画像ＴＤｅＩ内の画素数を累計してヒストグラム化すると共に、累計した画素数が最大となる位置を中心線として、移動体距離画像ＴＤｅＩに、移動体の輪郭の抽出を実行すべき輪郭抽出領域を設定する。
【００４７】
具体的には、輪郭抽出領域設定部８０ｇは、移動体距離画像生成部８０ｆで生成された移動体距離画像ＴＤｅＩの垂直方向の画素数を累計し、ヒストグラム化する。図１１に、移動体距離画像ＴＤｅＩの垂直方向の画素（符号ＰＥ）と、作成したヒストグラム（符号Ｈ）を示す。尚、同図（および後述の図１２と図１３）において、理解の便宜のため、画素ＰＥの背景に図５で示した基準画像ＢＩを重畳して示す。
【００４８】
輪郭抽出領域設定部８０ｇは、さらに、作成したヒストグラムＨが最大となる位置に中心線ＣＬを設定する。そして、設定した中心線ＣＬを中心に、図１２に示す如く、移動体の輪郭の抽出（後述）を実行すべき輪郭抽出領域Ｔを設定する。より具体的には、中心線ＣＬを中心として水平方向に所定の幅を有すると共に、垂直方向に所定の幅を有する範囲を、輪郭抽出領域Ｔとして設定する。
【００４９】
これにより、移動体（人Ａと人Ｂ）が隣接して存在している場合であっても、それらを個別の移動体として分割した上で輪郭の抽出を実行することができる。尚、水平方向の所定の幅は、移動体を人と仮定した場合、肩幅程度の値、具体的には０．５ｍに設定する。また、垂直方向の所定の幅は、移動体までの距離とカメラパラメータ（ＣＣＤカメラ５０Ｒ（Ｌ）のパン、チルト角など）の値に基づき、移動体を十分に覆うことのできる範囲（移動体を人と仮定した場合、例えば２．０ｍ）に設定する。
【００５０】
ここで、ヒストグラムＨが最大となる位置を輪郭抽出領域Ｔの中心に設定するのは、そこに移動体の中心（図１２を例にとって説明すれば、人Ａの頭部Ａｈ）が存在すると考えられるためである。しかしながら、移動体距離画像ＴＤｅＩは、エッジ画像ＥＩをベースとして生成されているため、頭部と背景の境界線付近に多くの画素が存在する。
【００５１】
従って、図１２に示すように、ヒストグラムＨが最大となる位置、即ち、中心線ＣＬが、頭部（人Ａの頭部Ａｈ）の中心から端部方向へとずれる場合がある。輪郭抽出領域Ｔは、検出すべき移動体に対応した大きさの範囲に設定されるため、中心線ＣＬが移動体の中心からずれると、図１２に示すように、移動体の一部（人Ａの右手Ａｒｈ）が輪郭抽出領域Ｔの外方に突出してしまい、移動体を正確に検出できないおそれがある。尚、輪郭抽出領域Ｔを拡大すれば移動体の全てを領域内に収めることができるが、輪郭抽出領域Ｔは、移動体の輪郭の抽出が行われる領域であるので、処理の負担上、領域を拡大するのは好ましくない。
【００５２】
そこで、この実施の形態にあっては、輪郭抽出領域Ｔが適正な位置となるように、輪郭抽出領域設定部８０ｇで設定した中心線ＣＬを補正するようにした。
【００５３】
図４の説明に戻ると、輪郭抽出領域設定部８０ｇで設定された中心線ＣＬと輪郭抽出領域Ｔは、中心線補正部８０ｈに送出され、そこで前記エッジ画像ＥＩに基づいて中心線ＣＬの位置と輪郭抽出領域Ｔが補正される。
【００５４】
具体的には、中心線補正部８０ｈは、エッジ画像ＥＩと、中心線ＣＬおよび輪郭抽出領域Ｔが設定された移動体距離画像ＴＤｅＩを入力し、エッジ画像ＥＩと移動体距離画像ＴＤｅＩを重ね合わせて中心線ＣＬを補正する。
【００５５】
エッジ画像ＥＩは、移動体の外形線によく合致しているため、前記中心線ＣＬを、エッジ画像ＥＩで垂直方向のピークが現れる位置（即ち、移動体で最も高い位置に存在する頭部の中心）に補正することで、中心線ＣＬを移動体の中心に正確に位置させることができる。
【００５６】
しかしながら、図８の人Ａのように、手を頭部と同じ高さ付近まで挙げている場合などにあっては、エッジ画像ＥＩに複数のピークが存在するため、どのピークを頭部として認識すべきかという問題が生じる。
【００５７】
そこで、中心線補正部８０ｈでは、前記した肌色領域画像生成部８０ｄで生成された肌色領域画像ＣＩを入力し、入力した肌色領域画像ＣＩを、データベースＤＢ（図１３に示す）に記憶された複数の肌色領域の配置パターンと比較すると共に、最も近似する配置パターンに基づき、頭部として認識すべきエッジ画像のピークを判定するようにした。尚、データベースＤＢは、画像処理ＥＣＵ８０内の図示しないＲＯＭに格納される。
【００５８】
上記について敷衍すると、データベースＤＢには、図１３に示す如く、頭部（顔部）と手（手のひら）からなる肌色領域（斜線で示す）の配置パターンが複数記憶される。肌色領域の配置パターンとしては、例えば、頭部の横に手を位置させる（パターン１）、手を頭部より上方に挙げる（パターン２）、握手を求める位置に手を配置する（パターン３）、などのパターンが記憶される。中心線補正部８０ｈは、それら配置パターンと肌色領域画像ＣＩとを比較し、最も近似する配置パターンを選択することで、肌色領域画像ＣＩにおいて、どの肌色領域が頭部を表しているのかを判定することができる。尚、データベースＤＢに記憶された各パターンは、前記移動体距離設定部８０ｅで設定された移動体距離に応じて適宜補正されることは言うまでもない。
【００５９】
そして、中心線補正部８０ｈは、頭部と認識された肌色領域画像ＣＩの肌色領域に対応するエッジ画像ＥＩのピークに、前記した輪郭抽出領域Ｔの中心線ＣＬを位置させる（補正する）。これにより、エッジ画像ＥＩのピークが複数存在する場合であっても、中心線ＣＬを移動体の中心に正確に位置させることができる。図１４に、補正後の中心線ＣＣＬと輪郭抽出領域ＣＴを示す。
【００６０】
図４の説明に戻ると、中心線補正部８０ｈで設定された補正後の中心線ＣＣＬと輪郭抽出領域ＣＴは、移動体検出部８０ｉに送出される。
【００６１】
移動体検出部８０ｉは、補正後の輪郭抽出領域ＣＴ内において、公知の動的輪郭モデル（スネーク：Ｓｎａｋｅｓ）によって移動体（人Ａ）の輪郭（図１４で符号Ｏで示す）を抽出して移動体を検出する。また、図１４に示す如く、移動体の重心位置（輪郭Ｏを含む内部領域の重心位置）を算出すると共に、ロボット１から移動体の重心位置までの距離［ｍ］と方向［ｄｅｇ］を算出する。
【００６２】
移動体検出部８０ｉで抽出された移動体の輪郭Ｏ、および算出されたロボット１から移動体の重心位置までの距離と方向は、移動体情報として歩行制御ＥＣＵ６０に送出される。歩行制御ＥＣＵ６０は、入力された移動体情報に基づき、必要であれば、ロボット１を停止させる、あるいは移動体を回避させるように、ロボット１の各関節を駆動する電動モータを作動させる。尚、ロボット１の歩容の生成手法に関しては、本出願人が先に提案した特開２００２−３２６１７３号公報などに詳しく記載されているため、ここでの説明は省略する。
【００６３】
また、移動体検出部８０ｉで算出された移動体情報は、距離画像更新部８０ｊにも送出される。距離画像更新部８０ｊは、移動体検出部８０ｉで算出された移動体情報に基づき、移動体距離設定部８０ｅで記憶させた距離画像ＤｅＩを更新する。
【００６４】
具体的には、輪郭Ｏを含む内部領域に対応する距離画像ＤｅＩの画素値を０に設定する。換言すれば、輪郭の抽出が完了した移動体の存在領域を、距離画像ＤｅＩから削除する。距離画像更新部８０ｊによって距離画像ＤｅＩを更新されると、その情報は更新情報として移動体距離設定部８０ｅに送出される。これにより、上述の移動体の検出処理を継続することで、次回以降の処理において、人Ｂや人Ｃを個別の移動体として検出することができる。
【００６５】
このように、この実施の形態にあっては、基準画像ＢＩの輝度が所定レベル以上変化した画素を抽出してなるエッジ画像ＥＩから、さらに移動体までの距離（移動体距離）に対応する画素を抽出して移動体距離画像ＴＤｅＩを生成し、移動体距離画像ＴＤｅＩ内の画素数を累計したヒストグラムが最大となる位置を中心線として前記移動体距離画像ＴＤｅＩに輪郭抽出領域Ｔを設定すると共に、前記移動体距離画像ＴＤｅＩにエッジ画像ＥＩを重ねて輪郭抽出領域Ｔの中心線ＣＬを補正し、補正された輪郭抽出領域ＣＴ内において移動体の輪郭を抽出して移動体を検出するように構成したので、移動体の輪郭の抽出を、移動体が個別に存在する領域に限定して行うことができ、よって複数の移動体が隣接して存在する場合であっても、それらを個別の移動体として検出することができる。
【００６６】
また、移動体距離画像ＴＤｅＩにエッジ画像ＥＩを重ねて中心線ＣＬを補正する、換言すれば、移動体の輪郭によく合致したエッジ画像ＥＩのピークに前記中心線ＣＬを位置させるように構成したので、累計した画素数が最大となる位置と移動体の中心が一致しない場合であっても、前記輪郭抽出領域（補正後の輪郭抽出領域ＣＴ）に移動体（個別の移動体）全体を収めることができ、よって隣接して存在する複数の移動体を、個別の移動体として精度良く検出することができる。
【００６７】
さらに、基準画像ＢＩから肌色を抽出して肌色領域画像ＣＩを生成すると共に、前記肌色領域画像ＣＩとデータベースＤＢに記憶された肌色領域の配置パターンを比較し、最も近似する配置パターンに基づいて輪郭抽出領域Ｔの中心線ＣＬを補正する、換言すれば、エッジ画像ＥＩのピークが複数存在する場合において、中心線ＣＬを位置させるべきピークを肌色領域の配置パターンに基づいて判定するように構成したので、エッジ画像ＥＩのピークが複数存在する場合であっても、中心線ＣＬを移動体の中心に正確に位置させることができ、よって隣接して存在する複数の移動体を、個別の移動体として一層精度良く検出することができる。
【００６８】
また、移動体が個別に存在する領域を正確に絞り込むことができるため、比較的処理が複雑な動的輪郭モデル（スネーク）を用いて移動体の輪郭を抽出する場合であっても、演算処理を軽減させて実時間で処理することが可能となる。
【００６９】
以上のように、この発明の一つの実施の形態にあっては、複数の撮像手段（左右のＣＣＤカメラＲ（Ｌ））で時系列にステレオ視して得た複数の撮像画像に基づいて移動体の輪郭を抽出し、前記移動体を検出する移動体（人Ａ，Ｂ，Ｃ）の検出装置において、前記複数の撮像画像の視差（具体的には、左側のＣＣＤカメラ５０Ｌで撮像した基準画像ＢＩと右側のＣＣＤカメラ５０Ｒで撮像した同時刻画像の視差）に基づいて撮像対象までの距離を示す距離画像ＤｅＩを生成する距離画像生成手段（距離画像生成部８０ａ）、時系列（ｔ，ｔ＋Δｔ）に入力される前記撮像画像（基準画像ＢＩ）間の差分を求めて差分画像ＤｉＩを生成する差分画像生成手段（差分画像生成部８０ｂ）、前記撮像画像（基準画像ＢＩ）の輝度が所定レベル以上変化する画素を抽出してエッジ画像ＥＩを生成するエッジ画像生成手段（エッジ画像生成部８０ｃ）、前記距離画像ＤｅＩと差分画像ＤｉＩに基づいて前記移動体が存在すると推定される位置までの距離を示す移動体距離を設定する移動体距離設定手段（移動体距離設定部８０ｅ）、前記エッジ画像ＥＩから前記移動体距離に対応する画素を抽出して移動体距離画像ＴＤｅＩを生成する移動体距離画像生成手段（移動体距離画像生成部８０ｆ）、前記移動体距離画像ＴＤｅＩ内の画素数を累計してヒストグラム化する（ヒストグラムＨを作成する）画素累計手段（輪郭抽出領域設定部８０ｇ）、前記累計した画素数が最大となる位置を中心線ＣＬとして前記移動体距離画像ＴＤｅＩに、前記移動体の輪郭の抽出を実行すべき輪郭抽出領域Ｔを設定する輪郭抽出領域設定手段（輪郭抽出領域設定部８０ｇ）、前記エッジ画像ＥＩに基づいて前記輪郭抽出領域Ｔの中心線ＣＬを補正する中心線補正手段（中心線補正部８０ｈ）、および前記中心線ＣＬが補正された輪郭抽出領域Ｔ内において前記移動体の輪郭Ｏ（人Ａの輪郭）を抽出して前記移動体を検出する移動体検出手段（移動体検出部８０ｉ）、を備えるように構成した。
【００７０】
さらに、前記撮像対象（基準画像ＢＩ）から所定の色彩（肌色領域）を抽出して所定色彩領域画像（肌色領域画像ＣＩ）を生成する所定色彩画像生成手段（肌色領域画像生成部８０ｄ）、および前記所定の色彩の配置パターンを複数記憶させたデータベースＤＢ、を備えると共に、前記中心線補正手段（中心線補正部８０ｈ）は、前記所定色彩領域画像と前記所定の色彩の配置パターンを比較し、最も近似する配置パターンに基づいて前記輪郭抽出領域Ｔの中心線ＣＬを補正するように構成した。
【００７１】
また、前記移動体検出手段（移動体検出部８０ｉ）は、前記移動体の輪郭Ｏを動的輪郭モデル（スネーク）によって抽出するように構成した。
【００７２】
尚、上記において、基準画像ＢＩから肌色領域を抽出して肌色領域画像ＣＩを生成するようにしたが、移動体の特徴（特に姿勢の特徴）を認識できる色彩であれば、他の色彩であっても良い。
【００７３】
【発明の効果】
請求項１項にあっては、ステレオ視して得た複数の撮像画像の視差に基づく撮像対象までの距離を示す距離画像と、時系列に入力される撮像画像間の差分をとった差分画像と、撮像画像の輝度が所定レベル以上変化する画素を抽出したエッジ画像とを生成し、前記距離画像と差分画像に基づいて前記移動体が存在すると推定される位置までの距離を示す移動体距離を設定し、前記エッジ画像から前記移動体距離に対応する画素を抽出して移動体距離画像を生成し、前記移動体距離画像内の画素数を累計してヒストグラム化し、前記累計した画素数が最大となる位置を中心線として前記移動体距離画像に、前記移動体の輪郭の抽出を実行すべき輪郭抽出領域を設定すると共に、前記エッジ画像を重ねて前記輪郭抽出領域の中心線を補正し、前記中心線が補正された輪郭抽出領域内において前記移動体の輪郭を抽出して前記移動体を検出するように構成したので、移動体の輪郭の抽出を、移動体が個別に存在する領域に限定して行うことができ、よって複数の移動体が隣接して存在する場合であっても、それらを個別の移動体として検出することができる。
【００７４】
さらに、前記エッジ画像に基づいて中心線を補正する、より具体的には、移動体の輪郭によく合致したエッジ画像のピークに前記中心線を位置させるように構成したので、累計した画素数が最大となる位置と移動体の中心が一致しない場合であっても、輪郭抽出領域に移動体（個別の移動体）全体を収めることができ、よって隣接して存在する複数の移動体を、個別の移動体として精度良く検出することができる。
【００７５】
請求項２項においては、さらに前記撮像対象から所定の色彩を抽出して所定色彩領域画像を生成すると共に、前記所定色彩領域画像とデータベースに記憶された所定の色彩の配置パターンを比較し、最も近似する配置パターンに基づいて前記輪郭抽出領域の中心線を補正するように構成した、より具体的には、エッジ画像のピークが複数存在する場合において、中心線を位置させるべきピークを所定の色彩（例えば肌色）の配置パターンに基づいて判定するように構成したので、エッジ画像のピークが複数存在する場合であっても、輪郭抽出領域の中心線を移動体の中心に正確に位置させることができ、よって隣接して存在する複数の移動体を、個別の移動体として一層精度良く検出することができる。
【００７６】
請求項３項にあっては、請求項１項および２項で記載される構成により、移動体が個別に存在する領域を正確に絞り込むことができるため、比較的処理が複雑な動的輪郭モデル（スネーク）を用いて移動体の輪郭を抽出する場合であっても、演算処理を軽減させて実時間で処理することが可能となる。
【図面の簡単な説明】
【図１】この発明の一つの実施の形態に係る移動体の検出装置が搭載される、２足歩行ロボットの正面図である。
【図２】図１に示す２足歩行ロボットの右側面図である。
【図３】図１に示す２足歩行ロボットの内部構造を関節を中心に全体的に示す概略図である。
【図４】図３に示す画像処理ＥＣＵの構成を機能的に示すブロック図である。
【図５】図４に示すＣＣＤカメラのうち、左側のＣＣＤカメラで撮像した基準画像を示す説明図である。
【図６】図４に示す距離画像生成部で生成される距離画像を示す説明図である。
【図７】図４に示す差分画像生成部で生成される差分画像を示す説明図である。
【図８】図４に示すエッジ画像生成部で生成されるエッジ画像を示す説明図である。
【図９】図４に示す肌色領域画像生成部で生成される肌色領域画像を示す説明図である。
【図１０】図４に示す移動体距離画像生成部で生成される移動体距離画像を示す説明図である。
【図１１】図４に示す輪郭抽出領域設定部で設定されるヒストグラムと中心線を示す説明図である。
【図１２】図４に示す輪郭抽出領域設定部で設定される輪郭抽出領域を示す説明図である。
【図１３】図４に示す中心線補正部で使用されるデータベースを示す説明図である。
【図１４】図４に示す中心線補正部で補正された中心線と輪郭抽出領域を示す説明図である。
【符号の説明】
１        ２足歩行ロボット
２        脚部
３        上体
５        腕部
５０Ｒ    （右側の）ＣＣＤカメラ（撮像手段）
５０Ｌ    （左側の）ＣＣＤカメラ（撮像手段）
８０      画像処理ＥＣＵ
８０ａ    距離画像生成部（距離画像生成手段）
８０ｂ    差分画像生成部（差分画像生成手段）
８０ｃ    エッジ画像生成部（エッジ画像生成手段）
８０ｄ    肌色領域画像生成部（所定色彩領域画像生成手段）
８０ｅ    移動体距離設定部（移動体距離設定手段）
８０ｆ    移動体距離画像生成部（移動体距離画像生成手段）
８０ｇ    輪郭抽出領域設定部（画素累計手段、輪郭抽出領域設定手段）
８０ｈ    中心線補正部（中心線補正手段）
８０ｉ    移動体検出部（移動体検出手段）
Ａ        人（移動体）
ＢＩ      基準画像（撮像画像）
Ｂ        人（移動体）
Ｃ        人（移動体）
ＣＩ      肌色領域画像（所定色彩領域画像）
ＣＬ      中心線
ＤＢ      データベース
ＤｅＩ    距離画像
ＤｉＩ    差分画像
ＥＩ      エッジ画像
Ｏ        輪郭
Ｔ        輪郭抽出領域
ＴＤｅＩ  移動体距離画像
【図１】
2004302905.tif 000003
【図２】
2004302905.tif 000004
【図３】
2004302905.tif 000005
【図４】
2004302905.tif 000006
【図５】
2004302905.tif 000007
【図６】
2004302905.tif 000008
【図７】
2004302905.tif 000009
【図８】
2004302905.tif 000010
【図９】
2004302905.tif 000011
【図１０】
2004302905.tif 000012
【図１１】
2004302905.tif 000013
【図１２】
2004302905.tif 000014
【図１３】
2004302905.tif 000015
【図１４】
2004302905.tif 000016