(57)【特許請求の範囲】
【請求項１】
撮像装置で撮像して得られた撮像画像を用いて移動体を検出する移動体検出装置において、
透視変換行列を用いて撮像画像を複数の画素で構成される鳥瞰画像に変換する変換手段と、
該変換手段で変換した鳥瞰画像の画素値に基づいて該鳥瞰画像上の移動体候補領域を抽出する抽出手段と、
前記移動体候補領域の境界の近傍で列状をなした列状画素それぞれの位置から所定の向きで走査した所定数の画素のうち前記移動体候補領域内に含まれる画素数に基づいて、前記列状画素を移動体の一部として検出する検出手段と
を備えることを特徴とする移動体検出装置。
【請求項２】
前記移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の下辺で列状をなす下辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１計数手段と、
該第１計数手段で計数した画素数が第１閾値以上である下辺画素の位置を特定する第１特定手段と、
前記矩形領域の下辺で列状をなす下辺画素それぞれの位置から移動体の長さ方向に対応する向きに第２所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第２計数手段と、
該第２計数手段で計数した画素数が第２閾値以上である下辺画素の位置を特定する第２特定手段と
を備え、
前記検出手段は、
前記第１特定手段及び第２特定手段で特定した下辺画素の位置に基づいて移動体の幅を検出するように構成してあることを特徴とする請求項１に記載の移動体検出装置。
【請求項３】
前記検出手段で検出した移動体の幅の右端から縦方向に列状をなした右端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第３計数手段と、
該第３計数手段で計数した画素数が前記第１閾値以上である右端画素の位置を特定する第３特定手段と、
前記移動体の幅の左端から縦方向に列状をなした左端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第４計数手段と、
該第４計数手段で計数した画素数が前記第１閾値以上である左端画素の位置を特定する第４特定手段と
を備え、
前記検出手段は、
前記第３特定手段及び第４特定手段で特定した右端画素及び左端画素の位置に基づいて移動体の長さを検出するように構成してあることを特徴とする請求項２に記載の移動体検出装置。
【請求項４】
前記検出手段で検出した移動体の幅の右端から縦方向に列状をなした右端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第３計数手段と、
該第３計数手段で計数した画素数が前記第１閾値以上である右端画素の位置を特定する第３特定手段と、
前記移動体の幅の右端から縦方向に列状をなした右端画素それぞれの位置から左横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第５計数手段と、
該第５計数手段で計数した画素数が第３閾値以上である右端画素の位置を特定する第５特定手段と
を備え、
前記検出手段は、
前記第３特定手段及び第５特定手段で特定した右端画素の位置に基づいて移動体の長さを検出するように構成してあることを特徴とする請求項２に記載の移動体検出装置。
【請求項５】
前記検出手段で検出した移動体の幅の左端から縦方向に列状をなした左端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第４計数手段と、
該第４計数手段で計数した画素数が前記第１閾値以上である左端画素の位置を特定する第４特定手段と、
前記移動体の幅の左端から縦方向に列状をなした左端画素それぞれの位置から右横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第６計数手段と、
該第６計数手段で計数した画素数が第３閾値以上である左端画素の位置を特定する第６特定手段と
を備え、
前記検出手段は、
前記第４特定手段及び第６特定手段で特定した左端画素の位置に基づいて移動体の長さを検出するように構成してあることを特徴とする請求項２に記載の移動体検出装置。
【請求項６】
前記移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の右辺で列状をなす右辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第７計数手段と、
該第７計数手段で計数した画素数が第１閾値以上である右辺画素の位置を特定する第７特定手段と、
前記矩形領域の右辺で列状をなす右辺画素それぞれの位置から左横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第８計数手段と、
該第８計数手段で計数した画素数が第３閾値以上である右辺画素の位置を特定する第８特定手段と
を備え、
前記検出手段は、
前記第７特定手段及び第８特定手段で特定した右辺画素の位置に基づいて移動体の長さを検出するようにしてあり、
前記検出手段で検出した移動体の長さの下端から横方向に列状をなした下端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第９計数手段と、
該第９計数手段で計数した画素数が前記第１閾値以上である下端画素の位置を特定する第９特定手段と、
前記移動体の長さの上端から横方向に列状をなした上端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１０計数手段と、
該第１０計数手段で計数した画素数が前記第１閾値以上である上端画素の位置を特定する第１０特定手段と
をさらに備え、
前記検出手段は、
前記第９特定手段及び第１０特定手段で特定した下端画素及び上端画素の位置に基づいて移動体の幅を検出するように構成してあることを特徴とする請求項１に記載の移動体検出装置。
【請求項７】
前記移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の左辺で列状をなす左辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１１計数手段と、
該第１１計数手段で計数した画素数が第１閾値以上である左辺画素の位置を特定する第１１特定手段と、
前記矩形領域の左辺で列状をなす左辺画素それぞれの位置から右横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１２計数手段と、
該第１２計数手段で計数した画素数が第３閾値以上である左辺画素の位置を特定する第１２特定手段と
を備え、
前記検出手段は、
前記第１１特定手段及び第１２特定手段で特定した左辺画素の位置に基づいて移動体の長さを検出するようにしてあり、
前記検出手段で検出した移動体の長さの下端から横方向に列状をなした下端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１３計数手段と、
該第１３計数手段で計数した画素数が前記第１閾値以上である下端画素の位置を特定する第１３特定手段と、
前記移動体の長さの上端から横方向に列状をなした上端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１４計数手段と、
該第１４計数手段で計数した画素数が前記第１閾値以上である上端画素の位置を特定する第１４特定手段と
をさらに備え、
前記検出手段は、
前記第１３特定手段及び第１４特定手段で特定した下端画素及び上端画素の位置に基づいて移動体の幅を検出するように構成してあることを特徴とする請求項１に記載の移動体検出装置。
【請求項８】
前記検出手段で検出した幅及び長さに基づいて移動体の存在領域を特定する存在領域特定手段を備えることを特徴とする請求項３乃至請求項７のいずれか１項に記載の移動体検出装置。
【請求項９】
前記検出手段で検出した幅及び長さに基づいて車種を判定する車種判定手段を備えることを特徴とする請求項３乃至請求項８のいずれか１項に記載の移動体検出装置。
【請求項１０】
請求項１に記載の移動体検出装置と、該移動体検出装置へ撮像画像を出力する撮像装置とを備えることを特徴とする移動体検出システム。
【請求項１１】
コンピュータに、撮像装置で撮像して得られた撮像画像を用いて移動体を検出させるためのコンピュータプログラムにおいて、
コンピュータに、
透視変換行列を用いて撮像画像を複数の画素で構成される鳥瞰画像に変換するステップと、
変換した鳥瞰画像の画素値に基づいて該鳥瞰画像上の移動体候補領域を抽出するステップと、
前記移動体候補領域の境界の近傍で列状をなした列状画素それぞれの位置から所定の向きで走査した所定数の画素のうち前記移動体候補領域内に含まれる画素数に基づいて、前記列状画素を移動体の一部として検出するステップと
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置で撮像して得られた撮像画像を用いて移動体を検出する移動体検出装置、該移動体検出装置を備える移動体検出システム及び該移動体検出装置をコンピュータで実現するためのコンピュータプログラムに関する。
【背景技術】
【０００２】
道路を走行する車両あるいは横断歩道を歩行する歩行者などの移動体をビデオカメラなどの撮像装置で撮像し、移動体を検出する装置や交通流を計測する装置が検討されている。また、車両の運転者からは死角となる場所に存在する車両又は歩行者などの移動体の情報を路側インフラ装置から車両側へ提供することで未然に交通事故を抑止する路車協調型安全運転支援システムの検討が進められている。
【０００３】
例えば、道路の側に設置されたカメラで道路を撮影し、その映像情報に基づいて複数のサンプル点の輝度を決定し、空間微分処理を行ってエッジを強調することで、車体の色の違い、あるいは外部の明るさによる影響を受けずに車両の車頭を検出することができる交通流計測処理装置が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３０７６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示されているような従来の装置にあっては、道路の側に設置されたカメラで道路上の車両の前方斜め方向から車両を撮像する。このため、カメラの画角などの条件次第で撮像した車両の一部が隣接車線に重なった状態となる。このため、実際には隣接車線を走行する車両が存在しないにも関わらず、隣接車線にも車両が存在すると判定する場合も起こり得る。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであり、従来よりもさらに精度良く移動体を検出することができる移動体検出装置、該移動体検出装置を備える移動体検出システム及び前記移動体検出装置をコンピュータで実現するためのコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１発明に係る移動体検出装置は、撮像装置で撮像して得られた撮像画像を用いて移動体を検出する移動体検出装置において、透視変換行列を用いて撮像画像を複数の画素で構成される鳥瞰画像に変換する変換手段と、該変換手段で変換した鳥瞰画像の画素値に基づいて該鳥瞰画像上の移動体候補領域を抽出する抽出手段と、前記移動体候補領域の境界の近傍で列状をなした列状画素それぞれの位置から所定の向きで走査した所定数の画素のうち前記移動体候補領域内に含まれる画素数に基づいて、前記列状画素を移動体の一部として検出する検出手段とを備えることを特徴とする。
【０００８】
第２発明に係る移動体検出装置は、第１発明において、前記移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の下辺で列状をなす下辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１計数手段と、該第１計数手段で計数した画素数が第１閾値以上である下辺画素の位置を特定する第１特定手段と、前記矩形領域の下辺で列状をなす下辺画素それぞれの位置から移動体の長さ方向に対応する向きに第２所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第２計数手段と、該第２計数手段で計数した画素数が第２閾値以上である下辺画素の位置を特定する第２特定手段とを備え、前記検出手段は、前記第１特定手段及び第２特定手段で特定した下辺画素の位置に基づいて移動体の幅を検出するように構成してあることを特徴とする。
【０００９】
第３発明に係る移動体検出装置は、第２発明において、前記検出手段で検出した移動体の幅の右端から縦方向に列状をなした右端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第３計数手段と、該第３計数手段で計数した画素数が前記第１閾値以上である右端画素の位置を特定する第３特定手段と、前記移動体の幅の左端から縦方向に列状をなした左端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第４計数手段と、該第４計数手段で計数した画素数が前記第１閾値以上である左端画素の位置を特定する第４特定手段とを備え、前記検出手段は、前記第３特定手段及び第４特定手段で特定した右端画素及び左端画素の位置に基づいて移動体の長さを検出するように構成してあることを特徴とする。
【００１０】
第４発明に係る移動体検出装置は、第２発明において、前記検出手段で検出した移動体の幅の右端から縦方向に列状をなした右端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第３計数手段と、該第３計数手段で計数した画素数が前記第１閾値以上である右端画素の位置を特定する第３特定手段と、前記移動体の幅の右端から縦方向に列状をなした右端画素それぞれの位置から左横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第５計数手段と、該第５計数手段で計数した画素数が第３閾値以上である右端画素の位置を特定する第５特定手段とを備え、前記検出手段は、前記第３特定手段及び第５特定手段で特定した右端画素の位置に基づいて移動体の長さを検出するように構成してあることを特徴とする。
【００１１】
第５発明に係る移動体検出装置は、第２発明において、前記検出手段で検出した移動体の幅の左端から縦方向に列状をなした左端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第４計数手段と、該第４計数手段で計数した画素数が前記第１閾値以上である左端画素の位置を特定する第４特定手段と、前記移動体の幅の左端から縦方向に列状をなした左端画素それぞれの位置から右横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第６計数手段と、該第６計数手段で計数した画素数が第３閾値以上である左端画素の位置を特定する第６特定手段とを備え、前記検出手段は、前記第４特定手段及び第６特定手段で特定した左端画素の位置に基づいて移動体の長さを検出するように構成してあることを特徴とする。
【００１２】
第６発明に係る移動体検出装置は、第１発明において、前記移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の右辺で列状をなす右辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第７計数手段と、該第７計数手段で計数した画素数が第１閾値以上である右辺画素の位置を特定する第７特定手段と、前記矩形領域の右辺で列状をなす右辺画素それぞれの位置から左横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第８計数手段と、該第８計数手段で計数した画素数が第３閾値以上である右辺画素の位置を特定する第８特定手段とを備え、前記検出手段は、前記第７特定手段及び第８特定手段で特定した右辺画素の位置に基づいて移動体の長さを検出するようにしてあり、前記検出手段で検出した移動体の長さの下端から横方向に列状をなした下端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第９計数手段と、該第９計数手段で計数した画素数が前記第１閾値以上である下端画素の位置を特定する第９特定手段と、前記移動体の長さの上端から横方向に列状をなした上端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１０計数手段と、該第１０計数手段で計数した画素数が前記第１閾値以上である上端画素の位置を特定する第１０特定手段とをさらに備え、前記検出手段は、前記第９特定手段及び第１０特定手段で特定した下端画素及び上端画素の位置に基づいて移動体の幅を検出するように構成してあることを特徴とする。
【００１３】
第７発明に係る移動体検出装置は、第１発明において、前記移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の左辺で列状をなす左辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１１計数手段と、該第１１計数手段で計数した画素数が第１閾値以上である左辺画素の位置を特定する第１１特定手段と、前記矩形領域の左辺で列状をなす左辺画素それぞれの位置から右横方向に第３所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１２計数手段と、該第１２計数手段で計数した画素数が第３閾値以上である左辺画素の位置を特定する第１２特定手段とを備え、前記検出手段は、前記第１１特定手段及び第１２特定手段で特定した左辺画素の位置に基づいて移動体の長さを検出するようにしてあり、前記検出手段で検出した移動体の長さの下端から横方向に列状をなした下端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１３計数手段と、該第１３計数手段で計数した画素数が前記第１閾値以上である下端画素の位置を特定する第１３特定手段と、前記移動体の長さの上端から横方向に列状をなした上端画素それぞれの位置から移動体の高さ方向に対応する向きに前記第１所定数の画素を走査して前記移動体候補領域内に含まれる画素数を計数する第１４計数手段と、該第１４計数手段で計数した画素数が前記第１閾値以上である上端画素の位置を特定する第１４特定手段とをさらに備え、前記検出手段は、前記第１３特定手段及び第１４特定手段で特定した下端画素及び上端画素の位置に基づいて移動体の幅を検出するように構成してあることを特徴とする。
【００１４】
第８発明に係る移動体検出装置は、第３発明乃至第７発明のいずれか１つにおいて、前記検出手段で検出した幅及び長さに基づいて移動体の存在領域を特定する存在領域特定手段を備えることを特徴とする。
【００１５】
第９発明に係る移動体検出装置は、第３発明乃至第８発明のいずれか１つにおいて、前記検出手段で検出した幅及び長さに基づいて車種を判定する車種判定手段を備えることを特徴とする。
【００１６】
第１０発明に係る移動体検出システムは、前述の発明に係る移動体検出装置と、該移動体検出装置へ撮像画像を出力する撮像装置とを備えることを特徴とする。
【００１７】
第１１発明に係るコンピュータプログラムは、コンピュータに、撮像装置で撮像して得られた撮像画像を用いて移動体を検出させるためのコンピュータプログラムにおいて、コンピュータに、透視変換行列を用いて撮像画像を複数の画素で構成される鳥瞰画像に変換するステップと、変換した鳥瞰画像の画素値に基づいて該鳥瞰画像上の移動体候補領域を抽出するステップと、前記移動体候補領域の境界の近傍で列状をなした列状画素それぞれの位置から所定の向きで走査した所定数の画素のうち前記移動体候補領域内に含まれる画素数に基づいて、前記列状画素を移動体の一部として検出するステップとを実行させることを特徴とする。
【００１８】
第１発明、第１０発明及び第１１発明にあっては、変換手段は、透視変換行列を用いて撮像画像を複数の画素で構成される鳥瞰画像に変換する。撮像画像の座標を（ｕ、ｖ）とし、その行列Ｍで表す。また、ワールド座標を（Ｘｗ、Ｙｗ、Ｚｗ）とし、その行列をＷで表す。透視変換行列をＰとすると、Ｍ＝Ｐ・Ｗの関係を有する。ここで、透視変換行列Ｐは、（３×３）の行列であり、透視変換行列Ｐの各要素は、ビデオカメラ（撮像装置）の設置高さ、ビデオカメラの張り出し長、ビデオカメラ下から車両の検出（計測）領域の位置（距離）などを計測することにより算出することができる。鳥瞰画像（以下、変換画像とも称する）は、道路を真上から見た画像であり、鳥瞰画像の座標を（ｘ、ｙ）とすると、ｘ＝Ｋ・Ｘｗ、ｙ＝Ｋ・Ｙｗの関係が成り立つ。すなわち、撮像画像（ｕ、ｖ）から透視変換行列Ｐを用いてワールド座標（Ｘｗ、Ｙｗ、Ｚｗ）を求め、Ｘｗ、Ｙｗから鳥瞰画像（ｘ、ｙ）を求めることができる。
【００１９】
抽出手段は、鳥瞰画像の画素値に基づいて、鳥瞰画像上で移動体候補領域を抽出する。鳥瞰画像には、車両などの移動体以外に路面、白線、影などの情報も含まれているので、これらの車両以外の情報は除外する。例えば、画像上の注目画素とその周辺画素との画素値の差分を符号化した周辺増分符号を用いた画像処理、背景画像との差分を用いる画像処理、時間経過の変化の時間差分を用いる画像処理などを用いて、移動体候補領域を抽出することができる。鳥瞰座標（ｘ、ｙ）は、ワールド座標において高さＺｗ＝０であるので、移動体候補領域は、道路の路面上に投影された移動体の候補領域である。
【００２０】
検出手段は、抽出された移動体候補領域の境界の近傍で列状をなした列状画素それぞれの位置から所定の向きで走査した所定数の画素のうち、移動体候補領域内に含まれる画素数に基づいて、列状画素を移動体の一部として検出する。移動体候補領域の境界は、必ずしも直線状ではなく、複数の線分及び曲線で構成される。そこで、例えば、移動体候補領域の全部又は大部分を縦横四辺で囲む矩形状の矩形領域を設定し、矩形領域の境界上で縦（上下）又は横（左右）に列状をなした列状画素を特定する。矩形領域とするのは、路面を上から見た画像上では車両などの移動体の輪郭は矩形状をなすからである。また、所定の向きは、移動体の形状を三次元モデルとして、移動体の高さ方向（鳥瞰画像では斜め上方向）、移動体の長さ方向（鳥瞰画像では縦上方向）、移動体の幅方向（鳥瞰画像では横左右方向）となる。また、所定数の画素は、例えば、移動体の高さ、長さ及び幅に相当する鳥瞰画像上の画素数である。
【００２１】
例えば、列状画素から移動体の高さ方向（車高方向とも称する）に沿って車高相当の画素数（又は画像上の距離）の画素を走査（探索）し、移動体候補領域内に存在する画素数を計数する。計数した画素数が所定の閾値以上である場合、当該列状画素は移動体を構成する画素であると判定することができる。同様に、列状画素から移動体の長さ方向（車長方向とも称する）に沿って車長相当の画素数（又は画像上の距離）の画素を走査（探索）し、移動体候補領域内に存在する画素数を計数する。計数した画素数が所定の閾値以上である場合、当該列状画素は移動体を構成する画素であると判定することができる。また、列状画素から移動体の幅方向（車幅方向とも称する）に沿って車幅相当の画素数（又は画像上の距離）の画素を走査（探索）し、移動体候補領域内に存在する画素数を計数する。計数した画素数が所定の閾値以上である場合、当該列状画素は移動体を構成する画素であると判定することができる。
【００２２】
上述のようにして移動体の一部であるとして検出された列状画素が複数隣接して存在する場合、移動体の幅方向（横方向、左右方向）、長さ方向（縦方向、上下方向）の範囲（寸法）を検出することができ、移動体を路面に投影した高さがゼロの領域を検出することができるので、隣接車線に重なることなく、従来よりもさらに精度良く移動体を検出することができる。
【００２３】
第２発明にあっては、第１計数手段は、抽出された移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の下辺で列状をなす下辺画素（列状画素）それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して、移動体候補領域内に含まれる画素数を計数する。第１所定数は、移動体の高さ（例えば、１．７ｍなど）に相当する鳥瞰画像上の画素数とすることができる。高さ方向は、以下のようにして求めることができる。すなわち、撮像画像上の路面（高さが０）上の点Ｂの座標をＢ（ｕ１、ｖ１）とし、点Ｂから移動体の高さ（Ｈ）分の位置にある点Ｃの座標をＣ（ｕ２、ｖ２）とする。座標Ｂ（ｕ１、ｖ１）を透視変換行列Ｐでワールド座標（Ｘｗ１、Ｙｗ１）に変換し、変換したワールド座標（Ｘｗ１、Ｙｗ１）から鳥瞰画像（変換画像）上の座標ＢＢ（ｘ１、ｙ１）を求める。次に、点Ｂに相当するワールド座標（Ｘｗ１、Ｙｗ１）から、高さＨを加味した点Ｃに相当するワールド座標（Ｘｗ１、Ｙｗ１、Ｈ）を求め、透視変換行列Ｐを用いて撮像画像上の点Ｃの座標Ｃ（ｕ２、ｖ２）を求める。座標Ｃ（ｕ２、ｖ２）を透視変換行列Ｐでワールド座標（Ｘｗ２、Ｙｗ２）に変換し、変換したワールド座標（Ｘｗ２、Ｙｗ２）から鳥瞰画像（変換画像）上の座標ＣＣ（ｘ２、ｙ２）を求める。鳥瞰画像上の座標ＢＢから座標ＣＣの向きが、移動体の高さ方向を示し、座標ＢＢと座標ＣＣとの間の画素数が第１所定数となる。
【００２４】
第１特定手段は、計数された画素数が第１閾値以上である下辺画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該下辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該下辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である下辺画素が隣接して複数存在する場合、特定された下辺画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。
【００２５】
第２計数手段は、矩形領域の下辺で列状をなす下辺画素それぞれの位置から移動体の長さ方向に対応する向き（縦方向）に第２所定数の画素を走査して、移動体候補領域内に含まれる画素数を計数する。第２所定数は、移動体の長さ（例えば、４．３ｍなど）に相当する鳥瞰画像上の画素数とすることができる。第２特定手段は、計数した画素数が第２閾値以上である下辺画素の位置を特定する。計数した画素数が第２閾値以上である場合、当該下辺画素は、移動体領域を構成する画素であると判定することができる。例えば、計数した画素数が第２閾値以上である下辺画素が隣接して複数存在する場合、特定された下辺画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。
【００２６】
検出手段は、第１特定手段及び第２特定手段で特定した下辺画素の位置に基づいて移動体の幅（車幅）を検出する。例えば、第１特定手段で特定した下辺画素の範囲（位置）と第２特定手段で特定した下辺画素の範囲（位置）の両方に共通の範囲（位置）を移動体の幅（移動体の一部）として検出する。下辺画素のうち、当該下辺画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該下辺画素の位置から移動体の長さ分の位置までの画素が移動体候補領域にあると判定された下辺画素を特定することにより、移動体候補領域内の高さが０の位置にある下辺画素のうち、当該下辺画素の位置に対して車高分の位置及び車長分の位置にある画素も移動体候補領域内にあると判定された下辺画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００２７】
第３発明にあっては、第３計数手段は、検出された幅（車幅）の右端から縦方向に列状をなした（画像上で上向きのライン上に存在する）右端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。右端画素は、例えば、車幅の右端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。高さ方向及び第１所定数は、前述と同様、鳥瞰画像上の座標ＢＢから座標ＣＣの向きが、移動体の高さ方向を示し、座標ＢＢと座標ＣＣとの間の画素数が第１所定数となる。
【００２８】
第３特定手段は、計数された画素数が第１閾値以上である右端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該右端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該右端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である右端画素が隣接して複数存在する場合、特定された右端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００２９】
第４計数手段は、検出された幅（車幅）の左端から縦方向に列状をなした（画像上で上向きのライン上に存在する）左端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。左端画素は、例えば、車幅の左端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【００３０】
第４特定手段は、計数された画素数が第１閾値以上である左端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該左端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該左端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である左端画素が隣接して複数存在する場合、特定された左端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００３１】
検出手段は、第３特定手段及び第４特定手段で特定した右端画素及び左端画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、第３特定手段で特定した右端画素の範囲（上下方向の位置）と第４特定手段で特定した左端画素の範囲（上下方向の位置）の両方に共通の範囲（上下方向の位置）を移動体の長さ、すなわち車長（移動体の一部）として検出する。右端画素のうち、当該右端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された右端画素、かつ左端画素のうち、当該左端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された左端画素を特定することにより、移動体候補領域内の高さが０の位置にある車長方向に沿った右端画素及び左端画素のうち、当該右端画素及び左端画素の位置に対して車高分の位置にある画素も移動体候補領域内にあると判定された右端画素及び左端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００３２】
第４発明にあっては、第３計数手段は、検出された幅（車幅）の右端から縦方向に列状をなした（画像上で上向きのライン上に存在する）右端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。右端画素は、例えば、車幅の右端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。高さ方向及び第１所定数は、前述と同様、鳥瞰画像上の座標ＢＢから座標ＣＣの向きが、移動体の高さ方向を示し、座標ＢＢと座標ＣＣとの間の画素数が第１所定数となる。
【００３３】
第３特定手段は、計数された画素数が第１閾値以上である右端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該右端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該右端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である右端画素が隣接して複数存在する場合、特定された右端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００３４】
第５計数手段は、検出された幅（車幅）の右端から縦方向に列状をなした（画像上で上向きのライン上に存在する）右端画素それぞれの位置から左横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。右端画素は、例えば、車幅の右端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。第３所定数は、移動体の幅（例えば、１．８ｍなど）に相当する鳥瞰画像上の画素数とすることができる。
【００３５】
第５特定手段は、計数された画素数が第３閾値以上である右端画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該右端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該右端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第３閾値以上である右端画素が隣接して複数存在する場合、特定された右端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００３６】
検出手段は、第３特定手段及び第５特定手段で特定した右端画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、第３特定手段で特定した右端画素の範囲（位置）と第５特定手段で特定した右端画素の範囲（位置）の両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出する。右端画素のうち、当該右端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該右端画素の位置から移動体の車幅分の位置までの画素が移動体候補領域にあると判定された右端画素を特定することにより、移動体候補領域内の高さが０の位置にある右端画素のうち、当該右端画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にある右端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００３７】
第５発明にあっては、第４計数手段は、検出された幅（車幅）の左端から縦方向に列状をなした（画像上で上向きのライン上に存在する）左端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。左端画素は、例えば、車幅の左端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【００３８】
第４特定手段は、計数された画素数が第１閾値以上である左端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該左端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該左端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である左端画素が隣接して複数存在する場合、特定された左端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００３９】
第６計数手段は、検出された幅（車幅）の左端から縦方向に列状をなした（画像上で上向きのライン上に存在する）左端画素それぞれの位置から右横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。検出された車幅の左端から上向きのライン上に存在する左端画素それぞれの位置から右横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。左端画素は、例えば、車幅の左端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。第３所定数は、移動体の幅（例えば、１．８ｍなど）に相当する鳥瞰画像上の画素数とすることができる。
【００４０】
第６特定手段は、計数された画素数が第３閾値以上である左端画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該左端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該左端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第３閾値以上である左端画素が隣接して複数存在する場合、特定された左端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００４１】
検出手段は、第４特定手段及び第６特定手段で特定した左端画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、第４特定手段で特定した左端画素の範囲（位置）と第６特定手段で特定した左端画素の範囲（位置）の両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出する。左端画素のうち、当該左端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該左端画素の位置から移動体の車幅分の位置までの画素が移動体候補領域にあると判定された左端画素を特定することにより、移動体候補領域内の高さが０の位置にある左端画素のうち、当該左端画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にある左端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００４２】
第６発明にあっては、第７計数手段は、移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の右辺で列状をなす右辺画素（列状画素）それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第１所定数は、移動体の高さ（例えば、１．７ｍなど）に相当する鳥瞰画像上の画素数とすることができる。高さ方向は、以下のようにして求めることができる。すなわち、撮像画像上の路面（高さが０）上の点Ｂの座標をＢ（ｕ１、ｖ１）とし、点Ｂから移動体の高さ（Ｈ）分の位置にある点Ｃの座標をＣ（ｕ２、ｖ２）とする。座標Ｂ（ｕ１、ｖ１）を透視変換行列Ｐでワールド座標（Ｘｗ１、Ｙｗ１）に変換し、変換したワールド座標（Ｘｗ１、Ｙｗ１）から鳥瞰画像（変換画像）上の座標ＢＢ（ｘ１、ｙ１）を求める。次に、点Ｂに相当するワールド座標（Ｘｗ１、Ｙｗ１）から、高さＨを加味した点Ｃに相当するワールド座標（Ｘｗ１、Ｙｗ１、Ｈ）を求め、透視変換行列Ｐを用いて撮像画像上の点Ｃの座標Ｃ（ｕ２、ｖ２）を求める。座標Ｃ（ｕ２、ｖ２）を透視変換行列Ｐでワールド座標（Ｘｗ２、Ｙｗ２）に変換し、変換したワールド座標（Ｘｗ２、Ｙｗ２）から鳥瞰画像（変換画像）上の座標ＣＣ（ｘ２、ｙ２）を求める。鳥瞰画像上の座標ＢＢから座標ＣＣの向きが、移動体の高さ方向を示し、座標ＢＢと座標ＣＣとの間の画素数が第１所定数となる。
【００４３】
第７特定手段は、計数された画素数が第１閾値以上である右辺画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該右辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該右辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である右辺画素が隣接して複数存在する場合、特定された右辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００４４】
第８計数手段は、矩形領域の右辺で列状をなす右辺画素それぞれの位置から左横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第８特定手段は、計数された画素数が第３閾値以上である前記右辺画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該右辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該右辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第３閾値以上である右辺画素が隣接して複数存在する場合、特定された右辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００４５】
検出手段は、第７特定手段及び第８特定手段で特定した右辺画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、第７特定手段で特定した右辺画素の範囲（位置）と第８特定手段で特定した右辺画素の範囲（位置）の両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出する。右辺画素のうち、当該右辺画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該右辺画素の位置から移動体の幅分の位置までの画素が移動体候補領域にあると判定された右辺画素を特定することにより、移動体候補領域内の高さが０の位置にある右辺画素のうち、当該右辺画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にあると判定された右辺画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００４６】
第９計数手段は、検出された長さ（車長）の下端から横方向に列状をなした（画像上で左向きのライン上に存在する）下端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。下端画素は、例えば、車長の下端から左向きのラインが矩形領域の左辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【００４７】
第９特定手段は、計数された画素数が第１閾値以上である下端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該下端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該下端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である下端画素が隣接して複数存在する場合、特定された下端画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。
【００４８】
第１０計数手段は、検出された長さ（車長）の上端から横方向に列状をなした（画像上で左向きのライン上に存在する）上端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。上端画素は、例えば、車長の上端から左向きのラインが矩形領域の左辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【００４９】
第１０特定手段は、計数された画素数が第１閾値以上である上端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該上端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該上端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である上端画素が隣接して複数存在する場合、特定された上端画素の範囲が移動体領域（例えば、車尾の部分、車幅方向の輪郭）となる。
【００５０】
検出手段は、第９特定手段及び第１０特定手段で特定した下端画素及び上端画素の位置に基づいて移動体の車幅を検出する。例えば、第９特定手段で特定した下端画素の範囲（左右方向の位置）と第１０特定手段で特定した上端画素の範囲（上下方向の位置）の両方に共通の範囲（上下方向の位置）を移動体の車幅（移動体の一部）として検出する。下端画素のうち、当該下端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された下端画素、かつ上端画素のうち、当該上端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された上端画素を特定することにより、移動体候補領域内の高さが０の位置にある車幅方向に沿った下端画素及び上端画素のうち、当該下端画素及び上端画素の位置に対して車高分の位置にある画素も移動体候補領域内にあると判定された下端画素及び上端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００５１】
第７発明にあっては、第１１計数手段は、移動体候補領域の一部又は全部を縦横四辺で囲む矩形領域の左辺で列状をなす左辺画素（列状画素）それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第１所定数は、移動体の高さ（例えば、１．７ｍなど）に相当する鳥瞰画像上の画素数とすることができる。高さ方向は、以下のようにして求めることができる。すなわち、撮像画像上の路面（高さが０）上の点Ｂの座標をＢ（ｕ１、ｖ１）とし、点Ｂから移動体の高さ（Ｈ）分の位置にある点Ｃの座標をＣ（ｕ２、ｖ２）とする。座標Ｂ（ｕ１、ｖ１）を透視変換行列Ｐでワールド座標（Ｘｗ１、Ｙｗ１）に変換し、変換したワールド座標（Ｘｗ１、Ｙｗ１）から鳥瞰画像（変換画像）上の座標ＢＢ（ｘ１、ｙ１）を求める。次に、点Ｂに相当するワールド座標（Ｘｗ１、Ｙｗ１）から、高さＨを加味した点Ｃに相当するワールド座標（Ｘｗ１、Ｙｗ１、Ｈ）を求め、透視変換行列Ｐを用いて撮像画像上の点Ｃの座標Ｃ（ｕ２、ｖ２）を求める。座標Ｃ（ｕ２、ｖ２）を透視変換行列Ｐでワールド座標（Ｘｗ２、Ｙｗ２）に変換し、変換したワールド座標（Ｘｗ２、Ｙｗ２）から鳥瞰画像（変換画像）上の座標ＣＣ（ｘ２、ｙ２）を求める。鳥瞰画像上の座標ＢＢから座標ＣＣの向きが、移動体の高さ方向を示し、座標ＢＢと座標ＣＣとの間の画素数が第１所定数となる。
【００５２】
第１１特定手段は、計数された画素数が第１閾値以上である左辺画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該左辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該左辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である左辺画素が隣接して複数存在する場合、特定された左辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００５３】
第１２計数手段は、矩形領域の左辺で列状をなす左辺画素それぞれの位置から右横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第１２特定手段は、計数された画素数が第３閾値以上である左辺画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該左辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該左辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第３閾値以上である左辺画素が隣接して複数存在する場合、特定された左辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【００５４】
検出手段は、第１１特定手段及び第１２特定手段で特定した左辺画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、第１１特定手段で特定した左辺画素の範囲（位置）と第１２特定手段で特定した左辺画素の範囲（位置）の両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出する。左辺画素のうち、当該左辺画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該左辺画素の位置から移動体の幅分の位置までの画素が移動体候補領域にあると判定された左辺画素を特定することにより、移動体候補領域内の高さが０の位置にある左辺画素のうち、当該左辺画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にあると判定された左辺画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００５５】
第１３計数手段は、検出された長さ（車長）の下端から横方向に列状をなした（画像上で右向きのライン上に存在する）下端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。下端画素は、例えば、車長の下端から右向きのラインが矩形領域の右辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【００５６】
第１３特定手段は、計数された画素数が第１閾値以上である下端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該下端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該下端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である下端画素が隣接して複数存在する場合、特定された下端画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。
【００５７】
第１４計数手段は、検出された長さ（車長）の上端から横方向に列状をなした（画像上で右向きのライン上に存在する）上端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。上端画素は、例えば、車長の上端から右向きのラインが矩形領域の右辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【００５８】
第１４特定手段は、計数された画素数が第１閾値以上である上端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該上端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該上端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である上端画素が隣接して複数存在する場合、特定された上端画素の範囲が移動体領域（例えば、車尾の部分、車幅方向の輪郭）となる。
【００５９】
検出手段は、第１３特定手段及び第１４特定手段で特定した下端画素及び上端画素の位置に基づいて移動体の幅（車幅）を検出する。例えば、第１３特定手段で特定した下端画素の範囲（左右方向の位置）と第１４特定手段で特定した上端画素の範囲（上下方向の位置）の両方に共通の範囲（上下方向の位置）を移動体の車幅（移動体の一部）として検出する。下端画素のうち、当該下端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された下端画素、かつ上端画素のうち、当該上端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された上端画素を特定することにより、移動体候補領域内の高さが０の位置にある車幅方向に沿った下端画素及び上端画素のうち、当該下端画素及び上端画素の位置に対して車高分の位置にある画素も移動体候補領域内にあると判定された下端画素及び上端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【００６０】
第８発明にあっては、検出した幅（車幅）及び長さ（車長）に基づいて移動体の存在領域を特定する。検出した車幅及び車長により囲まれる領域が移動体の存在領域である。これにより、例えば、道路上の計測領域（例えば、感知ループ）に移動体が存在するか否かを精度良く判定することができる。
【００６１】
第９発明にあっては、検出した幅（車幅）及び長さ（車長）に基づいて車種を判定する。例えば、車幅が２．４ｍ以上であって車長が６ｍ以上の車両は大型と判定することができ、車幅が２．４ｍ未満又は車長が６ｍ未満の車両は小型と判定することができる。
【発明の効果】
【００６２】
本発明によれば、移動体を路面に投影した高さがゼロの領域を検出することができるので、隣接車線に重なることなく、従来よりもさらに精度良く移動体を検出することができる。
【図面の簡単な説明】
【００６３】
【図１】本実施の形態の移動体検出システムの構成の一例を示すブロック図である。
【図２】撮像画像の一例を示す説明図である。
【図３】鳥瞰画像の一例を示す説明図である。
【図４】鳥瞰画像上で抽出された移動体候補領域の一例を示す説明図である。
【図５】鳥瞰画像の一部を示す説明図である。
【図６】注目画素を含む周辺画素の輝度値の一例を示す説明図である。
【図７】注目画素の周辺増分符号の算出例を示す説明図である。
【図８】注目画素の周辺増分符号を模式的に表した説明図である。
【図９】マスク処理の一例を示す説明図である。
【図１０】移動体候補領域の抽出方法の一例を示す説明図である。
【図１１】車両の高さ方向の算出方法の一例を示す模式図である。
【図１２】下辺画素から車高方向へ画素を計数する一例を示す模式図である。
【図１３】下辺画素から車長方向へ画素を計数する一例を示す模式図である。
【図１４】右端画素から車高方向へ画素を計数する一例を示す模式図である。
【図１５】左端画素から車高方向へ画素を計数する一例を示す模式図である。
【図１６】本実施の形態の移動体検出装置により特定された車両領域の一例を示す説明図である。
【図１７】本実施の形態の移動体検出装置の移動体検出の第１例の処理手順を示すフローチャートである。
【図１８】本実施の形態の移動体検出装置の移動体検出の第１例の処理手順を示すフローチャートである。
【図１９】下辺画素から車高方向へ画素を計数する一例を示す模式図である。
【図２０】下辺画素から車長方向へ画素を計数する一例を示す模式図である。
【図２１】右端画素から車高方向へ画素を計数する一例を示す模式図である。
【図２２】右端画素から車幅方向へ画素を計数する一例を示す模式図である。
【図２３】本実施の形態の移動体検出装置の移動体検出の第２例の処理手順を示すフローチャートである。
【図２４】本実施の形態の移動体検出装置の移動体検出の第２例の処理手順を示すフローチャートである。
【図２５】右辺画素から車高方向へ画素を計数する一例を示す模式図である。
【図２６】右辺画素から車幅方向へ画素を計数する一例を示す模式図である。
【図２７】下端画素から車高方向へ画素を計数する一例を示す模式図である。
【図２８】上端画素から車高方向へ画素を計数する一例を示す模式図である。
【図２９】本実施の形態の移動体検出装置の移動体検出の第３例の処理手順を示すフローチャートである。
【図３０】本実施の形態の移動体検出装置の移動体検出の第３例の処理手順を示すフローチャートである。
【図３１】撮像画像の他の例を示す説明図である。
【発明を実施するための形態】
【００６４】
以下、本発明を実施の形態を示す図面に基づいて説明する。図１は本実施の形態の移動体検出システムの構成の一例を示すブロック図である。移動体検出システムは、移動体検出装置１００及び撮像装置２００などを備える。なお、撮像装置２００は、複数備える構成でもよい。移動体検出装置１００は、装置全体を制御する制御部１０１、インタフェース部１０２、鳥瞰画像生成部１０３、移動体候補領域抽出部１０４、画素計数部１０５、画素位置特定部１０６、移動体検出部１０７、移動体存在領域特定部１０８、移動体種別判定部１０９、記憶部１１０などを備える。なお、移動体検出装置１００は、撮像装置２００と一体をなす構成であってもよい。
【００６５】
撮像装置２００は、例えば、ビデオカメラ又はカメラであり、道路を視野として、所定の高さ、レンズの光軸方向（例えば、俯角及び回転角）などの撮像条件が設定された状態で道路付近の所要の地点に設置してある。撮像装置２００は、撮像して得られた撮像データを映像信号（アナログ信号）としてインタフェース部１０２へ送出する。
【００６６】
インタフェース部１０２は、入力された映像信号をデジタル信号に変換し、変換したデジタル信号を撮像画像（入力画像データ）として記憶部１１０に記憶する。インタフェース部１０２を介して撮像装置２００から入力された撮像画像は、撮像装置２００のフレームレート（撮像時点の間隔、例えば、１秒間に３０フレーム）と同期して、１フレーム単位の画像データとして記憶部１１０に記憶される。
【００６７】
図２は撮像画像の一例を示す説明図である。図２の例では、撮像装置２００を道路の路肩近傍から所要の高さに設けてあり、道路を走行する車両の左前方から車両を撮像する。なお、撮像装置２００の設置個所は、図２の例に限定されるものではなく、また、道路を走行する車両の右前方から車両を撮像してもよく、あるいは車両の進行方向前方から撮像することもできる。
【００６８】
図２中、破線で示した矩形状の領域Ｓは、後述の透視変換行列により鳥瞰画像（変換画像）に変換される領域を示す。また、撮像画像の右下を原点として撮像画像の座標を座標（ｕ、ｖ）で表す。撮像画像の限定は図２の例に限定されない。また、撮像画像の大きさ（サイズ）は、例えば、２４０×３２０画素であるが、撮像画像の大きさはこれに限定されるものではない。
【００６９】
鳥瞰画像生成部１０３は、撮像画像を鳥瞰画像に変換する変換手段としての機能を有する。鳥瞰画像生成部１０３は、透視変換行列Ｐを用いて撮像画像を複数の画素で構成される鳥瞰画像に変換する。
【００７０】
図３は鳥瞰画像の一例を示す説明図である。図３に示すように、鳥瞰画像は、路面を真上から見た画像である。鳥瞰画像の右下を原点として鳥瞰画像の座標を座標（ｘ、ｙ）で表す。鳥瞰画像は、図１の撮像画像のうち、破線Ｓで示した範囲を真上から見た画像に射影変換したものである。図３においては、実線の領域で示すように、図１の撮像画像上での車両、路面の白線、影などが変換されて映っている。また、図３において、破線Ｐで示した範囲は、車両などの移動体の存在を計測する計測領域（例えば、感知ループ）である。なお、本実施の形態では、鳥瞰画像を変換画像とも称する。
【００７１】
透視変換行列による画像変換について説明する。なお、透視変換行列は透視投影行列とも称する。また変換は射影変換とも称する。撮像画像の座標を（ｕ、ｖ）とし、その行列を式（１）のようにＭで表す。
【００７２】
【数１】
0005387625.tif 000002
【００７３】
また、ワールド座標を（Ｘｗ、Ｙｗ、Ｚｗ）とし、その行列を式（２）のようにＷで表す。透視変換行列をＰとすると、式（３）のようにＭ＝Ｐ・Ｗの関係を有する。ここで、透視変換行列Ｐは、式（４）で示すように、（３×３）の行列であり、透視変換行列Ｐの各要素は、ビデオカメラ（撮像装置）の設置高さ、ビデオカメラの張り出し長、ビデオカメラ下から車両の検出（計測）領域の位置（距離）などを計測することにより算出することができる。
【００７４】
鳥瞰画像は、道路を真上から見た画像であり、鳥瞰画像の座標を（ｘ、ｙ）とし、その行列を式（５）のようにＶで表す。鳥瞰画像の座標（ｘ、ｙ）については、式（６）で表すように、ｘ＝Ｋ・Ｘｗ、ｙ＝Ｋ・Ｙｗの関係が成り立つ。ここで、Ｋは適宜設定される係数である。すなわち、撮像画像（ｕ、ｖ）から透視変換行列Ｐを用いてワールド座標（Ｘｗ、Ｙｗ、Ｚｗ）を求め、Ｘｗ、Ｙｗから鳥瞰画像（ｘ、ｙ）を求めることができる。
【００７５】
移動体候補領域抽出部１０４は、鳥瞰画像上で移動体候補領域を抽出する抽出手段としての機能を有し、鳥瞰画像の画素値に基づいて、鳥瞰画像上で移動体候補領域を抽出する。鳥瞰画像には、車両などの移動体以外に路面、白線、影などの情報も含まれているので、これらの車両以外の情報は除外する。なお、移動体候補領域は、車両候補領域とも称する。
【００７６】
図４は鳥瞰画像上で抽出された移動体候補領域の一例を示す説明図である。図４において、符号Ｖで示される領域が移動体候補領域であり、図３の鳥瞰画像と比較すると、路面上の白線、影などが除外されていることが分かる。
【００７７】
移動体候補領域の抽出には、例えば、画像上の注目画素とその周辺画素との画素値の差分を符号化した周辺増分符号を用いた画像処理、背景画像との差分を用いる画像処理、時間経過の変化の時間差分を用いる画像処理などを用いて、移動体候補領域を抽出することができる。鳥瞰座標（ｘ、ｙ）は、ワールド座標において高さＺｗ＝０であるので、移動体候補領域は、道路の路面上に投影された移動体の候補領域である。以下、一例として、周辺増分符号を用いた例について説明する。
【００７８】
図５は鳥瞰画像の一部を示す説明図であり、図６は注目画素を含む周辺画素の輝度値の一例を示す説明図であり、図７は注目画素の周辺増分符号の算出例を示す説明図であり、図８は注目画素の周辺増分符号を模式的に表した説明図である。図５は、図２に示す鳥瞰画像の一部を取り出したものである。図中、斜線部は路面であり、白抜きの部分は路面に描かれた図柄の一部である。また、図５中の中央の画素を注目画素とする。
【００７９】
図６は、注目画素とその周辺画素の輝度値を示す。図６の例では、周辺画素は、注目画素に隣接する８画素（注目画素を中心とする３×３画素から注目画素を除いた画素）である。輝度値は、例えば、０から２５５までの数値で表すことができ、数値が大きいほど輝度が高い。図６の例では、注目画素の輝度値が１４０であり、その周辺画素の輝度値は、右隣接画素から反時計周りの順に、２１７、２１６、１１０、１３４、１２９、１３０、１１９、２１１である。なお、輝度値は一例であって、これに限定されるものではない。
【００８０】
周辺増分符号の算出は、注目画素の輝度値と、注目画素の８近傍の周辺画素の輝度値とを比較し、それぞれの周辺画素の輝度値ａが、注目画素の輝度値ｗとの間で、ｗ＋α＜ａであれば、その周辺画素の位置に対応する符号成分を１（有効）とする。また、ｗ＋α≧ａであれば、その周辺画素の位置に対応する符号成分を０（無効）とする。ここで、αは差分閾値であって適宜設定することができ、例えば、α＝２０とすることができる。
【００８１】
上述の算出方法に従った場合、図６の例で示す注目画素の周辺増分符号は、図７に示すようになる。すなわち、注目画素の８近傍の周辺画素を右隣接画素から反時計周りの順に、Ａ１、Ａ２、…Ａ８とする。図６及び図７から、周辺画素Ａ１の輝度値ａは２１７であり、注目画素ｗの輝度値は１４０であるから、ｗ＋α＜ａの関係を満たす。従って、周辺画素Ａ１に対応する符号成分は１（有効）となる。同様にして他の周辺画素の符号成分を求めると、注目画素の周辺増分符号（Ａ８  Ａ７  …Ａ１）は、（１１０００００１）となり、８ビットの情報を用いて符号化したものとなる。８ビットの二進符号を１０進符号に変換することで、周辺増分符号は、１９３として表すこともできる。
【００８２】
図７に示すように、８近傍の周辺画素のうち、右隣の周辺画素Ａ１と、右上及び右下の周辺画素Ａ８の符号成分が１（有効）であるので、これを模式的に表すと、図８のようになる。すなわち、周辺増分符号を、注目画素を中心として、符号成分が有効である周辺画素の方向に放射状に伸びた線分で表すこともできる。このようにして、撮像画像上の注目画素を順番に走査することで、撮像画像上のすべての画素を符号化することができる。
【００８３】
上述のように、撮像画像差分符号としての周辺増分符号は、注目画素とその周辺の各周辺画素との差分（輝度値の差分）の大小に応じた有効又は無効を示す符号成分を有する。そして、差分の符号化は、周辺画素のそれぞれに対応させて、差分（ａ−ｗ）が所定の差分閾値αより大きい場合には、有効（例えば、１）、差分（ａ−ｗ）が差分閾値α以下の場合には、無効（例えば、０）というようにすることができる。なお、上述の例では、差分（ａ−ｗ）を増分として符号化したものであるが、これに限定されるものではなく、差分（ｗ−ａ）を減分として符号化することもできる。
【００８４】
記憶部１１０は、背景画像差分符号としてのマスク符号を記憶している。マスク符号は、周辺増分符号と同様の方法で生成することができる。すなわち、マスク符号は、車両が存在しないときに撮像された背景画像の任意の画素毎に、当該任意の画素とその周辺の周辺画素との画素値の差分を符号化したものである。そして、マスク符号は、周辺増分符号と同様に、任意の画素と各周辺画素との差分の大小に応じた有効又は無効を示す符号成分を有する。
【００８５】
移動体候補領域抽出部１０４は、注目画素の周辺増分符号（撮像画像周辺差分符号）を、当該注目画素に対応する背景画像上の画素のマスク符号（背景画像周辺差分符号）でマスク処理する。以下、マスク処理の方法について説明する。
【００８６】
図９はマスク処理の一例を示す説明図である。図９Ａは入力画像（鳥瞰画像）の周辺増分符号の一例を示し、図９Ｂは背景画像（マスク符号画像）のマスク符号の一例を示し、図９Ｃはマスク処理後画像の周辺増分符号を示す。また、図中、各画素に記載された放射状の線分は、図８で例示した周辺増分符号を模式化したものである。図９の例では、入力画像（鳥瞰画像）注目画素の周辺増分符号の有効成分と、当該注目画素に対応する背景画像上の画素のマスク符号の有効成分とがすべて同一である場合（完全一致に相当する）、当該有効成分をすべて除去して、入力画像の各注目画素の周辺増分符号をマスク処理する。例えば、８個の符号成分を（Ａ８、Ａ７、…Ａ１）とした場合に、周辺増分符号の有効成分をＡ４、Ａ３、Ａ２、Ａ１とし、マスク符号の有効成分をＡ４、Ａ３、Ａ２としたときには、両者の有効成分がすべて一致しないので、周辺増分符号は除去されず、マスク処理を行った後のマスク処理後撮像画像周辺差分符号の有効成分は、Ａ４、Ａ３、Ａ２、Ａ１すべてが残る。これにより、鳥瞰画像の特徴量である周辺増分符号が除去されにくくなり、マスク処理後の移動体の特徴量を残すことができ、精度良く移動体候補領域を抽出することができる。
【００８７】
図１０は移動体候補領域の抽出方法の一例を示す説明図である。図１０は便宜上、鳥瞰画像の一部を示し、図１０において、升目の１つは画素を示す。また、横線が付された画素は、周辺増分符号が除去されずに残存している画素を示す。移動体候補領域抽出部１０４は、鳥瞰画像内の画素のうち、周辺増分符号が除去されずに残存する画素の数に応じて、移動体候補領域を抽出する。例えば、図１０に示すように、周辺増分符号が残っている画素は、移動体候補領域であるとし、周辺増分符号が残っていない画素は、移動体候補領域ではないと判定し、周辺増分符号が残っている画素を連結して移動体候補領域を抽出する。
【００８８】
このように、本実施の形態のマスク処理は、入力画像（鳥瞰画像）中に、背景と考えられる周辺増分符号が存在する場合に、当該周辺増分符号を除外（無効、又は有効でないものと）する。背景画像そのものではなく背景画像のマスク符号を用いることにより、従来の差分処理に比べて、車両などの移動体の検出の精度が向上する。
【００８９】
移動体検出部１０７は、移動体を検出する検出手段としての機能を有し、移動体候補領域抽出部１０４で抽出された移動体候補領域の境界の近傍で列状をなした列状画素それぞれの位置から所定の向きで走査した所定数の画素のうち、移動体候補領域内に含まれる画素数に基づいて、列状画素を移動体の一部として検出する。
【００９０】
移動体候補領域の境界は、必ずしも直線状ではなく、複数の線分及び曲線で構成される。そこで、例えば、移動体候補領域の全部又は大部分を縦横四辺で囲む矩形状の矩形領域を設定し、矩形領域の境界上で縦（上下）又は横（左右）に列状をなした列状画素を特定する。矩形領域とするのは、路面を上から見た鳥瞰画像上では車両などの移動体の輪郭は矩形状（例えば、長方形）をなすからである。また、所定の向きは、移動体の形状を三次元モデルとして、移動体の高さ方向（鳥瞰画像では斜め上方向）、移動体の長さ方向（鳥瞰画像では縦上方向）、移動体の幅方向（鳥瞰画像では横左右方向）となる。また、所定数の画素は、例えば、移動体の高さ、長さ及び幅に相当する鳥瞰画像上の画素数である。
【００９１】
例えば、列状画素から移動体の高さ方向（車高方向とも称する）に沿って車高相当の画素数（又は鳥瞰画像上の距離）の画素を走査（探索）し、移動体候補領域内に存在する画素数を計数する。計数した画素数が所定の閾値以上である場合、当該列状画素は移動体を構成する（例えば、移動体の輪郭の一部の）画素であると判定することができる。
【００９２】
同様に、列状画素から移動体の長さ方向（車長方向とも称する）に沿って車長相当の画素数（又は画像上の距離）の画素を走査（探索）し、移動体候補領域内に存在する画素数を計数する。計数した画素数が所定の閾値以上である場合、当該列状画素は移動体を構成する（例えば、移動体の輪郭の一部の）画素であると判定することができる。
【００９３】
また、列状画素から移動体の幅方向（車幅方向とも称する）に沿って車幅相当の画素数（又は画像上の距離）の画素を走査（探索）し、移動体候補領域内に存在する画素数を計数する。計数した画素数が所定の閾値以上である場合、当該列状画素は移動体を構成する（例えば、移動体の輪郭の一部の）画素であると判定することができる。
【００９４】
上述のようにして移動体の一部であるとして検出された列状画素が複数隣接して存在する場合、移動体の幅方向（横方向、左右方向）、長さ方向（縦方向、上下方向）の範囲（寸法）を検出することができ、移動体を路面に投影した高さがゼロの領域を検出することができるので、隣接車線に重なることなく、従来よりもさらに精度良く移動体を検出することができる。
【００９５】
以下、移動体の検出方法について説明する。移動体の検出処理は、抽出された移動体候補領域の中から移動体（車両）の範囲を決定するための処理であり、（１）車両の高さ方向の算出、（２）有効車幅の算出、（３）有効車長の算出などの処理を含む。
【００９６】
まず、車両の高さ方向の算出について説明する。車両の高さ方向の算出とは、高さが０（路面上）の点（鳥瞰画像上の点）に対する車高分の位置にある点（鳥瞰画像上の点）の座標を算出することである。なお、車両の高さ方向を算出するのは、前述のように、列状画素から移動体の高さ方向に沿って車高相当の画素数の画素を走査（探索）するので、走査（探索）の方向と終点を特定するためである。なお、車両の高さ方向の算出は、移動体検出部１０７で行うことができる。
【００９７】
図１１は車両の高さ方向の算出方法の一例を示す模式図である。図１１に示すように、座標（ｕ、ｖ）で表される撮像画像と、撮像画像を変換し、座標（ｘ、ｙ）で表される鳥瞰画像を模式的に示す。撮像画像上では、一例として車両が映っている。撮像画像上で点Ｂは車両の高さが０の位置を示す点であり、点Ｃは、点Ｂに対して車高分の位置を示す。また、撮像画像上の点Ｂ、Ｃに対応する鳥瞰画像上の点をＢＢ、ＣＣとする。車両の高さ方向の算出とは、点ＢＢの座標が分かっているときに、点ＣＣの座標を求めることである。以下、その方法を説明する。
【００９８】
図１１に示すように、撮像画像上の点Ｂ（ｕ１、ｖ１）は、投影変換行列Ｐによりワールド座標（Ｘｗ１、Ｙｗ１）に変換することができる。点Ｂは高さが０であるので、ワールド座標の高さ成分Ｚｗ１は０となる。そして、ワールド座標（Ｘｗ１、Ｙｗ１）から鳥瞰画像上の点ＢＢ（ｘ１、ｙ１）を求めることができる。
【００９９】
次に点Ｃの座標を求めるため、ワールド座標（Ｘｗ１、Ｙｗ１）をワールド座標（Ｘｗ１、Ｙｗ１、Ｈ）とする。Ｈは、車高分の高さであり、例えば、１．７ｍである。ワールド座標（Ｘｗ１、Ｙｗ１、Ｈ）は、投影変換行列Ｐにより撮像画像上の点Ｃ（ｕ２、ｖ２）に変換することができる。
【０１００】
そして、撮像画像上の点Ｃ（ｕ２、ｖ２）は、投影変換行列Ｐによりワールド座標（Ｘｗ２、Ｙｗ２、Ｚｗ２）に変換することができ、ワールド座標（Ｘｗ２、Ｙｗ２）から鳥瞰画像上の点ＣＣ（ｘ２、ｙ２）を求めることができる。このようにして、鳥瞰画像上の任意の点の座標に対する車高分の位置の座標を求めることができる。
【０１０１】
次に、有効車幅の算出方法について説明する。画素計数部１０５は、列状画素（例えば、下辺画素、左辺画素、右辺画素、上端画素、下端画素、左端画素、右端画素など）それぞれの位置から所定の向き（例えば、車高方向、車長方向、車幅方向など）で走査（探索）した所定数の画素のうち移動体候補領域内に含まれる画素数を計数する計数手段としての機能を有する。
【０１０２】
画素位置特定部１０６は、画素計数部１０５で、それぞれの列状画素について画素数を計数した結果、計数された画素数が所定の閾値以上である列状画素の位置（範囲）を特定する特定手段としての機能を有する。
【０１０３】
図１２は下辺画素から車高方向へ画素を計数する一例を示す模式図であり、図１３は下辺画素から車長方向へ画素を計数する一例を示す模式図である。図１２及び図１３に示す処理により有効車幅を算出することができる。図１２及び図１３においては、移動体候補領域を便宜上、図示のように簡略化している。また、移動体候補領域の全部を囲むように矩形領域を設定する。なお、矩形領域は、移動体候補領域の全部ではなく、一部（大部分）を囲むように設定することもできる。
【０１０４】
図１２に示すように、画素計数部１０５は、矩形領域の下辺で列状をなす下辺画素（列状画素）それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して、移動体候補領域内に含まれる画素数を計数する。図１２の例では、便宜上、下辺画素をＧ１、Ｇ２、…、Ｇ９の９画素とした。第１所定数は、移動体の高さ（例えば、１．７ｍなど）に相当する鳥瞰画像上の画素数とすることができる。高さ方向は、前述の図１１に例示した方法で求めることができる。すなわち、図１１において、鳥瞰画像上の座標ＢＢから座標ＣＣの向きが、移動体の高さ方向を示し、座標ＢＢと座標ＣＣとの間の画素数が第１所定数となる。
【０１０５】
画素位置特定部１０６は、計数された画素数が第１閾値以上である下辺画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該下辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該下辺画素は、移動体領域を構成する画素ではないと判定することができる。第１閾値は、車高方向に対応する方向に画素を走査（探索）する場合の閾値であり、例えば、第１所定数の８０％、あるいは計数された画素数の平均値の８０％、あるいは両方の条件を満足する値とすることができる。
【０１０６】
例えば、計数した画素数が第１閾値以上である下辺画素が隣接して複数存在する場合、特定された下辺画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。図１２の例では、下辺画素Ｇ１、…、Ｇ９のうち、計数した画素数が第１閾値以上である下辺画素がＧ４、Ｇ５、…、Ｇ９であるとすると、下辺画素Ｇ４〜Ｇ９で構成される線分を車両の輪郭の一部（車幅）として検出することができる。
【０１０７】
次に、図１３に示すように、画素計数部１０５は、矩形領域の下辺画素それぞれの位置から移動体の長さ方向に対応する向き（画像上縦上向き）に第２所定数の画素を走査して、移動体候補領域内に含まれる画素数を計数する。第２所定数は、移動体の長さ（例えば、４．３ｍなど）に相当する鳥瞰画像上の画素数とすることができる。
【０１０８】
画素位置特定部１０６は、計数された画素数が第２閾値以上である下辺画素の位置を特定する。計数した画素数が第２閾値以上である場合、当該下辺画素は、移動体領域を構成する画素であると判定することができる。第２閾値は、車長方向に対応する方向に画素を走査（探索）する場合の閾値であり、例えば、第２所定数の８０％、あるいは計数された画素数の平均値の８０％、あるいは両方の条件を満足する値とすることができる。
【０１０９】
例えば、計数した画素数が第２閾値以上である下辺画素が隣接して複数存在する場合、特定された下辺画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。図１３の例では、下辺画素Ｇ１、…、Ｇ９のうち、計数した画素数が第２閾値以上である下辺画素がＧ３、Ｇ５、…、Ｇ８であるとすると、下辺画素Ｇ３〜Ｇ８で構成される線分を車両の輪郭の一部（車幅）として検出することができる。
【０１１０】
移動体検出部１０７は、画素位置特定部１０６で特定した下辺画素の位置に基づいて移動体の幅（車幅）を検出する。例えば、図１２に例示するように車高方向に沿って走査（探索）することにより特定された下辺画素の範囲（位置）と、図１３に示すように車長方向に沿って走査（探索）することにより特定された下辺画素の範囲（位置）との両方に共通の範囲（位置）を移動体の車幅（移動体の一部）として検出する。図１２では、Ｇ４〜Ｇ９が有効な範囲として特定され、図１３ではＧ３〜Ｇ８が有効な範囲として特定されているので、両者で共通の範囲であるＧ４〜Ｇ８が車両の車幅であると検出することができる。
【０１１１】
下辺画素のうち、当該下辺画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該下辺画素の位置から移動体の長さ分の位置までの画素が移動体候補領域にあると判定された下辺画素を特定することにより、移動体候補領域内の高さが０の位置にある下辺画素のうち、当該下辺画素の位置に対して車高分の位置及び車長分の位置にある画素も移動体候補領域内にあると判定された下辺画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１１２】
次に、有効車長の算出方法について説明する。有効車長の算出には、図１２、図１３で求めた有効車幅を用いる。
【０１１３】
図１４は右端画素から車高方向へ画素を計数する一例を示す模式図であり、図１５は左端画素から車高方向へ画素を計数する一例を示す模式図である。図１４及び図１５において、移動体候補領域及び矩形領域は、図１２及び図１３において例示したものと同一である。
【０１１４】
図１４に示すように、画素計数部１０５は、図１２及び図１３で例示した処理により検出された幅（車幅）の右端から縦方向に列状をなした（画像上で上向きのライン上に存在する）右端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。右端画素は、例えば、車幅の右端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。高さ方向及び第１所定数は、図１２及び図１３で例示した処理と同様である。
【０１１５】
画素位置特定部１０６は、計数された画素数が第１閾値以上である右端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該右端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該右端画素は、移動体領域を構成する画素ではないと判定することができる。
【０１１６】
例えば、計数した画素数が第１閾値以上である右端画素が隣接して複数存在する場合、特定された右端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。図１４の例では、右端画素Ｇ１、…、Ｇ１１のうち、計数した画素数が第１閾値以上である右端画素がＧ１、Ｇ２、…、Ｇ８であるとすると、右端画素Ｇ１〜Ｇ８で構成される線分を車両の輪郭の一部（車長）として検出することができる。
【０１１７】
次に、図１５に示すように、画素数計数部１０５は、検出された車幅（車頭幅）の左端から縦方向に列状をなした（画像上で上向きのライン上に存在する）左端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。左端画素は、例えば、車幅の左端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【０１１８】
画素位置特定部１０６は、計数された画素数が第１閾値以上である左端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該左端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該左端画素は、移動体領域を構成する画素ではないと判定することができる。
【０１１９】
例えば、計数した画素数が第１閾値以上である左端画素が隣接して複数存在する場合、特定された左端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。図１５の例では、左端画素Ｇ１、…、Ｇ１１のうち、計数した画素数が第１閾値以上である左端画素がＧ１、Ｇ２、…、Ｇ９であるとすると、左端画素Ｇ１〜Ｇ９で構成される線分を車両の輪郭の一部（車長）として検出することができる。
【０１２０】
移動体検出部１０７は、画素位置特定部１０６で特定した右端画素及び左端画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、図１４に例示するように車高方向に沿って走査（探索）することにより特定された右端画素の範囲（位置）と、図１５に示すように、車高方向に沿って走査（探索）することにより特定された左端画素の範囲（位置）との両方に共通の範囲（位置）を移動体の車幅（移動体の一部）として検出する。図１４では、Ｇ１〜Ｇ８が有効な範囲として特定され、図１５ではＧ１〜Ｇ９が有効な範囲として特定されているので、両者で共通の範囲であるＧ１〜Ｇ８が車両の車長であると検出することができる。
【０１２１】
右端画素のうち、当該右端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された右端画素、かつ左端画素のうち、当該左端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された左端画素を特定することにより、移動体候補領域内の高さが０の位置にある車長方向に沿った右端画素及び左端画素のうち、当該右端画素及び左端画素の位置に対して車高分の位置にある画素も移動体候補領域内にあると判定された右端画素及び左端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１２２】
移動体存在領域特定部１０８は、検出された幅（車幅）及び長さ（車長）に基づいて移動体の存在領域を特定する。図１６は本実施の形態の移動体検出装置１００により特定された車両領域の一例を示す説明図である。図１６に示すように、車両領域（移動体領域）は、検出した車幅及び車長により囲まれる領域であり、当該領域が移動体の存在領域である。これにより、例えば、道路上の計測領域（例えば、感知ループ）に移動体が存在するか否かを精度良く判定することができる。
【０１２３】
移動体種別判定部１０９は、検出された幅（車幅）及び長さ（車長）に基づいて車種を判定する。例えば、車幅が２．４ｍ以上であって車長が６ｍ以上の車両は大型と判定することができ、車幅が２．４ｍ未満又は車長が６ｍ未満の車両は小型と判定することができる。なお、車種の判定条件は、上述の例に限定されるものではない。
【０１２４】
次に、本実施の形態の移動体検出装置１００の動作について説明する。図１７及び図１８は本実施の形態の移動体検出装置１００の移動体検出の第１例の処理手順を示すフローチャートである。以下の説明では便宜上、処理の主体を制御部１０１として説明する。
【０１２５】
制御部１０１は、撮像画像を取得し（Ｓ１１）、取得した撮像画像を鳥瞰画像に変換する（Ｓ１２）。制御部１０１は、鳥瞰画像上で車両候補領域（移動体候補領域）を抽出し（Ｓ１３）、抽出した車両候補領域を囲む矩形領域を設定する（Ｓ１４）。
【０１２６】
制御部１０１は、矩形領域の下辺の各画素（下辺画素）から車高方向に所定数の画素を走査（探索）して車両候補領域内の画素数を計数する（Ｓ１５）。制御部１０１は、矩形領域の下辺の各画素（下辺画素）から車長方向に所定数の画素を走査（探索）して車両候補領域内の画素数を計数する（Ｓ１６）。
【０１２７】
制御部１０１は、車高方向及び車長方向それぞれの車両候補領域内の画素数が所定の閾値（第１閾値及び第２閾値）以上である下辺の画素（下辺画素）の範囲を車幅として検出する（Ｓ１７）。
【０１２８】
制御部１０１は、検出した車幅の右端から画像上で縦上方に沿った右端ラインの各画素（右端画素）から車高方向に所定数の画素を走査して車両候補領域内の画素数を計数する（Ｓ１８）。制御部１０１は、検出した車幅の左端から画像上で縦上方に沿った左端ラインの各画素（左端画素）から車高方向に所定数の画素を走査して車両候補領域内の画素数を計数する（Ｓ１９）。
【０１２９】
制御部１０１は、車高方向の車両候補領域内の画素数が所定の閾値以上である右端ライン及び左端ラインの画素（右端画素及び左端画素）の範囲を車長として検出する（Ｓ２０）。制御部１０１は、検出した車幅及び車長に基づいて、車両領域を特定するとともに（Ｓ２１）、車種を判定し（Ｓ２２）、処理を終了する。
【０１３０】
移動体検出装置１００は、ＣＰＵ、ＲＡＭなどを備えた汎用コンピュータを用いて実現することもできる。すなわち、図１７及び図１８に示すような、各処理手順を定めたコンピュータプログラムをＤＶＤなどの記録媒体に記録しておく。そして、当該記録媒体に記録したコンピュータプログラムを光ディスク装置等で読み込ませることにより、コンピュータに備えられたＲＡＭにロードし、コンピュータプログラムをＣＰＵで実行することにより、コンピュータ上で移動体検出装置を実現することができる。
【０１３１】
上述の図１２〜図１５で例示した処理（第１例）は、矩形領域の下辺に存在する下辺画素から車高方向及び車長方向に走査（探索）して車幅を検出し、検出した車幅の右端ライン上に存在する右端画素及び検出した車幅の左端ライン上に存在する左端画素から車高方向に走査（探索）して車長を検出するものであったが、車幅及び車長の検出方法は、これに限定されるものではない。以下、他の例について説明する。
【０１３２】
第２例は、第１例と異なり、矩形領域の下辺で列状をなす下辺画素から車高方向及び車長方向に走査（探索）して車幅を検出し、検出した車幅の右端ライン上に存在する右端画素から車高方向及び車幅方向に走査（探索）して車長を検出するものである。
【０１３３】
図１９は下辺画素から車高方向へ画素を計数する一例を示す模式図であり、図２０は下辺画素から車長方向へ画素を計数する一例を示す模式図である。図１９は図１２と同一であり、図２０は図１３と同様であるので、車幅の検出方法の説明は省略する。
【０１３４】
図１９及び図２０の場合も図１２及び図１３の場合と同様に、移動体検出部１０７は、画素位置特定部１０６で特定した下辺画素の位置に基づいて移動体の車幅を検出する。例えば、図１９に例示するように車高方向に沿って走査（探索）することにより特定された下辺画素の範囲（位置）と、図２０に示すように車長方向に沿って走査（探索）することにより特定された下辺画素の範囲（位置）との両方に共通の範囲（位置）を移動体の車幅（移動体の一部）として検出する。図１９では、Ｇ４〜Ｇ９が有効な範囲として特定され、図２０ではＧ３〜Ｇ８が有効な範囲として特定されているので、両者で共通の範囲であるＧ４〜Ｇ８が車両の車幅であると検出することができる。
【０１３５】
図２１は右端画素から車高方向へ画素を計数する一例を示す模式図であり、図２２は右端画素から車幅方向へ画素を計数する一例を示す模式図である。図２１及び図２２において、移動体候補領域及び矩形領域は、図１９及び図２０において例示したものと同一である。
【０１３６】
図２１に示すように、画素計数部１０５は、図１２及び図１３で例示した処理により検出された幅（車幅）の右端から縦方向に列状をなした（画像上で上向きのライン上に存在する）右端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。右端画素は、例えば、車幅の右端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。高さ方向及び第１所定数は、図１２及び図１３で例示した処理と同様である。
【０１３７】
画素位置特定部１０６は、計数された画素数が第１閾値以上である右端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該右端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該右端画素は、移動体領域を構成する画素ではないと判定することができる。
【０１３８】
例えば、計数した画素数が第１閾値以上である右端画素が隣接して複数存在する場合、特定された右端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。図２１の例では、右端画素Ｇ１、…、Ｇ１１のうち、計数した画素数が第１閾値以上である右端画素がＧ１、Ｇ２、…、Ｇ８であるとすると、右端画素Ｇ１〜Ｇ８で構成される線分を車両の輪郭の一部（車長）として検出することができる。
【０１３９】
次に、図２２に示すように、画素計数部１０５は、検出された車幅の右端から縦方向に列状をなした（画像上で上向きのライン上に存在する）右端画素それぞれの位置から左横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第３所定数は、移動体の幅（例えば、１．８ｍなど）に相当する鳥瞰画像上の画素数とすることができる。
【０１４０】
画素位置特定部１０６は、計数された画素数が第３閾値以上である右端画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該右端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該右端画素は、移動体領域を構成する画素ではないと判定することができる。
【０１４１】
例えば、計数した画素数が第３閾値以上である右端画素が隣接して複数存在する場合、特定された右端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。図２２の例では、右端画素Ｇ１、…、Ｇ１１のうち、計数した画素数が第３閾値以上である右端画素がＧ１、Ｇ２、…、Ｇ９であるとすると、右端画素Ｇ１〜Ｇ９で構成される線分を車両の輪郭の一部（車長）として検出することができる。
【０１４２】
移動体検出部１０７は、画素位置特定部１０６で特定した右端画素の位置に基づいて移動体の車長を検出する。例えば、図２１に例示するように車高方向に沿って走査（探索）することにより特定された右端画素の範囲（位置）と、図２２に示すように、車幅方向に沿って走査（探索）することにより特定された右端画素の範囲（位置）との両方に共通の範囲（位置）を移動体の車幅（移動体の一部）として検出する。図２１では、Ｇ１〜Ｇ８が有効な範囲として特定され、図２２ではＧ１〜Ｇ９が有効な範囲として特定されているので、両者で共通の範囲であるＧ１〜Ｇ８が車両の車長であると検出することができる。
【０１４３】
右端画素のうち、当該右端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該右端画素の位置から移動体の車幅分の位置までの画素が移動体候補領域にあると判定された右端画素を特定することにより、移動体候補領域内の高さが０の位置にある右端画素のうち、当該右端画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にある右端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１４４】
図２３及び図２４は本実施の形態の移動体検出装置１００の移動体検出の第２例の処理手順を示すフローチャートである。以下の説明では便宜上、処理の主体を制御部１０１として説明する。
【０１４５】
制御部１０１は、撮像画像を取得し（Ｓ３１）、取得した撮像画像を鳥瞰画像に変換する（Ｓ３２）。制御部１０１は、鳥瞰画像上で車両候補領域（移動体候補領域）を抽出し（Ｓ３３）、抽出した車両候補領域を囲む矩形領域を設定する（Ｓ３４）。
【０１４６】
制御部１０１は、矩形領域の下辺の各画素（下辺画素）から車高方向に所定数の画素を走査（探索）して車両候補領域内の画素数を計数する（Ｓ３５）。制御部１０１は、矩形領域の下辺の各画素（下辺画素）から車長方向に所定数の画素を走査（探索）して車両候補領域内の画素数を計数する（Ｓ３６）。
【０１４７】
制御部１０１は、車高方向及び車長方向それぞれの車両候補領域内の画素数が所定の閾値（第１閾値、第２閾値）以上である下辺の画素（下辺画素）の範囲を車幅として検出する（Ｓ３７）。
【０１４８】
制御部１０１は、検出した車幅の右端から画像上で縦上方に沿った右端ラインの各画素（右端画素）から車高方向に所定数の画素を走査して車両候補領域内の画素数を計数する（Ｓ３８）。制御部１０１は、前述の右端ラインの各画素（右端画素）から車幅方向（横左向き）に所定数の画素を走査して車両候補領域内の画素数を計数する（Ｓ３９）。
【０１４９】
制御部１０１は、車高方向及び車幅方向の車両候補領域内の画素数が所定の閾値以上（第１閾値及び第３閾値）である右端ラインの画素（右端画素）の範囲を車長として検出する（Ｓ４０）。制御部１０１は、検出した車幅及び車長に基づいて、車両領域を特定するとともに（Ｓ４１）、車種を判定し（Ｓ４２）、処理を終了する。
【０１５０】
次に、第３例として、矩形領域の右辺で列状をなす右辺画素から車高方向及び車幅方向に走査（探索）して車長を検出し、検出した車長の下端ライン上に存在する下端画素及び検出した車長の上端ライン上に存在する上端画素から車高方向に走査（探索）して車幅を検出することもできる。以下、第３例について説明する。
【０１５１】
図２５は右辺画素から車高方向へ画素を計数する一例を示す模式図であり、図２６は右辺画素から車幅方向へ画素を計数する一例を示す模式図である。図２５に示すように、画素計数部１０５は、矩形領域の右辺で列状をなす右辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。高さ方向及び第１所定数は、図１２及び図１３で例示した処理と同様である。
【０１５２】
画素位置特定部１０６は、計数された画素数が第１閾値以上である右辺画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該右辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該右辺画素は、移動体領域を構成する画素ではないと判定することができる。第１閾値は、第１所定数の８０％、あるいは計数された画素数の平均値の８０％、あるいは両方の条件を満足する値とすることができる。
【０１５３】
例えば、計数した画素数が第１閾値以上である右辺画素が隣接して複数存在する場合、特定された右辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。図２５の例では、右辺画素Ｇ１、…、Ｇ１１のうち、計数した画素数が第１閾値以上である右辺画素がＧ１、Ｇ２、…、Ｇ７であるとすると、右辺画素Ｇ１〜Ｇ７で構成される線分を車両の輪郭の一部（車長）として検出することができる。
【０１５４】
次に、図２６に示すように、画素計数部１０５は、矩形領域の右辺で列状をなす右辺画素それぞれの位置から左横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第３所定数は、移動体の幅（例えば、１．８ｍなど）に相当する鳥瞰画像上の画素数とすることができる。
【０１５５】
画素位置特定部１０６は、計数された画素数が第３閾値以上である右辺画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該右辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該右辺画素は、移動体領域を構成する画素ではないと判定することができる。第３閾値は、例えば、第３所定数の８０％、あるいは計数された画素数の平均値の８０％、あるいは両方の条件を満足する値とすることができる。
【０１５６】
例えば、計数した画素数が第３閾値以上である右辺画素が隣接して複数存在する場合、特定された右辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。図２６の例では、右辺画素Ｇ１、…、Ｇ１１のうち、計数した画素数が第３閾値以上である右辺画素がＧ１、Ｇ２、…、Ｇ９であるとすると、右辺画素Ｇ１〜Ｇ９で構成される線分を車両の輪郭の一部（車長）として検出することができる。
【０１５７】
移動体検出部１０７は、画素位置特定部１０６で特定した右辺画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、図２５に例示するように車高方向に沿って走査（探索）することにより特定された右辺画素の範囲（位置）と、図２６に示すように、車幅方向に沿って走査（探索）することにより特定された右辺画素の範囲（位置）との両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出する。図２５では、Ｇ１〜Ｇ７が有効な範囲として特定され、図２６ではＧ１〜Ｇ９が有効な範囲として特定されているので、両者で共通の範囲であるＧ１〜Ｇ７が車両の車長であると検出することができる。
【０１５８】
右辺画素のうち、当該右辺画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該右辺画素の位置から移動体の車幅分の位置までの画素が移動体候補領域にあると判定された右辺画素を特定することにより、移動体候補領域内の高さが０の位置にある右辺画素のうち、当該右辺画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にある右辺画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１５９】
次に、有効車幅の算出方法について説明する。有効車幅の算出には、図２５及び図２６で求めた有効車長を用いる。
【０１６０】
図２７は下端画素から車高方向へ画素を計数する一例を示す模式図であり、図２８は上端画素から車高方向へ画素を計数する一例を示す模式図である。図２７及び図２８において、移動体候補領域及び矩形領域は、図２５及び図２６において例示したものと同一である。
【０１６１】
画素計数部１０５は、検出された長さ（車長）の下端から横方向に列状をなした（画像上で左向きのライン上に存在する）下端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。下端画素は、例えば、車長の下端から左向きのラインが矩形領域の左辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【０１６２】
画素位置特定部１０６は、計数された画素数が第１閾値以上である下端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該下端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該下端画素は、移動体領域を構成する画素ではないと判定することができる。
【０１６３】
例えば、計数した画素数が第１閾値以上である下端画素が隣接して複数存在する場合、特定された下端画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。図２７の例では、下端画素Ｇ１、…、Ｇ９のうち、計数した画素数が第９閾値以上である下端画素がＧ４、Ｇ５、…、Ｇ９であるとすると、下端画素Ｇ４〜Ｇ９で構成される線分を車両の輪郭の一部（車幅）として検出することができる。
【０１６４】
画素計数部１０５は、検出された車長の上端から横方向に列状をなした（画像上で左向きのライン上に存在する）上端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。上端画素は、例えば、車長の上端から左向きのラインが矩形領域の左辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【０１６５】
画素位置特定部１０６は、計数された画素数が第１閾値以上である上端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該上端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該上端画素は、移動体領域を構成する画素ではないと判定することができる。
【０１６６】
例えば、計数した画素数が第１閾値以上である上端画素が隣接して複数存在する場合、特定された上端画素の範囲が移動体領域（例えば、車尾の部分、車幅方向の輪郭）となる。図２８の例では、上端画素Ｇ１、…、Ｇ９のうち、計数した画素数が第１閾値以上である上端画素がＧ３、Ｇ５、…、Ｇ７であるとすると、上端画素Ｇ３〜Ｇ７で構成される線分を車両の輪郭の一部（車幅）として検出することができる。
【０１６７】
移動体検出部１０７は、特定された下端画素及び上端画素の位置に基づいて移動体の幅（車幅）を検出する。例えば、図２７に例示するように車高方向に沿って走査（探索）することにより特定された下端画素の範囲（位置）と、図２８に示すように、車高方向に沿って走査（探索）することにより特定された上端画素の範囲（位置）との両方に共通の範囲（位置）を移動体の車幅（移動体の一部）として検出する。図２７では、Ｇ４〜Ｇ９が有効な範囲として特定され、図２８ではＧ３〜Ｇ７が有効な範囲として特定されているので、両者で共通の範囲であるＧ４〜Ｇ７が車両の車幅であると検出することができる。
【０１６８】
下端画素のうち、当該下端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された下端画素、かつ上端画素のうち、当該上端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された上端画素を特定することにより、移動体候補領域内の高さが０の位置にある車幅方向に沿った下端画素及び上端画素のうち、当該下端画素及び上端画素の位置に対して車高分の位置にある画素も移動体候補領域内にあると判定された下端画素及び上端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１６９】
図２９及び図３０は本実施の形態の移動体検出装置１００の移動体検出の第３例の処理手順を示すフローチャートである。以下の説明では便宜上、処理の主体を制御部１０１として説明する。
【０１７０】
制御部１０１は、撮像画像を取得し（Ｓ５１）、取得した撮像画像を鳥瞰画像に変換する（Ｓ５２）。制御部１０１は、鳥瞰画像上で車両候補領域（移動体候補領域）を抽出し（Ｓ５３）、抽出した車両候補領域を囲む矩形領域を設定する（Ｓ５４）。
【０１７１】
制御部１０１は、矩形領域の右辺の各画素（右辺画素）から車高方向に所定数の画素を走査（探索）して車両候補領域内の画素数を計数する（Ｓ５５）。制御部１０１は、矩形領域の右辺の各画素（右辺画素）から車幅方向に所定数の画素を走査（探索）して車両候補領域内の画素数を計数する（Ｓ５６）。
【０１７２】
制御部１０１は、車高方向及び車幅方向それぞれの車両候補領域内の画素数が所定の閾値（第１閾値及び第３閾値）以上である右辺の画素（右辺画素）の範囲を車長として検出する（Ｓ５７）。
【０１７３】
制御部１０１は、検出した車長の下端から左方（横左方）に沿った下端ラインの各画素（下端画素）から車高方向に所定数の画素を走査して車両候補領域内の画素数を計数する（Ｓ５８）。制御部１０１は、検出した車長の上端から左方（横左方）に沿った上端ラインの各画素（下端画素）から車高方向に所定数の画素を走査して車両候補領域内の画素数を計数する（Ｓ５９）。
【０１７４】
制御部１０１は、車高方向の車両候補領域内の画素数が所定の閾値（第１閾値）以上である下端ラインの画素（下端画素）の範囲及び上端ラインの画素（上端画素）の範囲を幅（車幅）として検出する（Ｓ６０）。制御部１０１は、検出した車幅及び車長に基づいて、車両領域を特定するとともに（Ｓ６１）、車種を判定し（Ｓ６２）、処理を終了する。
【０１７５】
上述の実施の形態では、図２に例示するように、走行する車両を左前方から撮像して得られた撮像画像を用いるので、車両の前方と左側方（鳥瞰画像では移動体候補領域を囲む矩形領域の下辺及び右辺）部分が他の輪郭よりも一層鮮明に映し出すことができる。このため、上述の例では、矩形領域の下辺画素、右辺画素、あるいは右端画素を基準にして画素を走査（探索）する構成を用いた。しかし、撮像装置の設置条件は、図２の例に限定されるものではない。
【０１７６】
図３１は撮像画像の他の例を示す説明図である。図３１の例では、撮像装置２００を道路の路肩近傍から所要の高さに設けてあり、道路を走行する車両の右前方から車両を撮像した場合を示す。図３１中、破線で示した矩形状の領域Ｓは、透視変換行列により鳥瞰画像（変換画像）に変換される領域を示す。また、撮像画像の左下を原点として撮像画像の座標を座標（ｕ、ｖ）で表す。
【０１７７】
図３１で例示する撮像画像の場合、鳥瞰画像上で抽出した移動体候補領域は、図４に例示するような座標ｙの増加方向に沿って左方向へ傾くような形状ではなく、座標ｙの増加方向に沿って右方向へ傾くような形状となる。すなわち、車両の前方と右側方（鳥瞰画像では移動体候補領域を囲む矩形領域の下辺及び左辺）部分が他の輪郭よりも一層鮮明に映し出すことができる。
【０１７８】
従って、撮像画像が図３１のような場合には、図２１及び図２２で例示した右端画素に代えて、左端画素を用いればよい。
【０１７９】
すなわち、画素計数部１０５は、検出された車幅の左端から縦方向に列状をなした（画像上で上向きのライン上に存在する）左端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。左端画素は、例えば、車幅の左端から上向きのラインが矩形領域の上辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【０１８０】
画素位置特定部１０６は、計数された画素数が第１閾値以上である左端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該左端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該左端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である左端画素が隣接して複数存在する場合、特定された左端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【０１８１】
また、画素計数部１０５は、検出された車幅の左端から縦方向に列状をなした（画像上で上向きのライン上に存在する）左端画素それぞれの位置から右横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。検出された車幅の左端から上向きのライン上に存在する左端画素それぞれの位置から右横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。第３所定数は、移動体の幅（例えば、１．８ｍなど）に相当する鳥瞰画像上の画素数とすることができる。
【０１８２】
画素位置特定部１０６は、計数された画素数が第３閾値以上である左端画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該左端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該左端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第３閾値以上である左端画素が隣接して複数存在する場合、特定された左端画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【０１８３】
移動体検出部１０７は、特定された左端画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、車高方向に沿って走査して特定した左端画素の範囲（位置）と、車幅方向に沿って走査して特定した左端画素の範囲（位置）の両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出することができる。
【０１８４】
左端画素のうち、当該左端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定され、かつ当該左端画素の位置から移動体の車幅分の位置までの画素が移動体候補領域にあると判定された左端画素を特定することにより、移動体候補領域内の高さが０の位置にある左端画素のうち、当該左端画素の位置に対して車高分の位置及び車幅分の位置にある画素も移動体候補領域内にある左端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１８５】
同様に、撮像画像が図３１のような場合には、図２５及び図２６で例示した右辺画素に代えて、左辺画素を用いればよい。
【０１８６】
すなわち、画素計数部１０５は、矩形領域の左辺で列状をなす左辺画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。
【０１８７】
画素位置特定部１０６は、計数された画素数が第１閾値以上である左辺画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該左辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該左辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である左辺画素が隣接して複数存在する場合、特定された左辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【０１８８】
画素計数部１０５は、矩形領域の左辺で列状をなす左辺画素それぞれの位置から右横方向に第３所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。
【０１８９】
画素位置特定部１０６は、計数された画素数が第３閾値以上である左辺画素の位置を特定する。計数した画素数が第３閾値以上である場合、当該左辺画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第３閾値未満である場合、当該左辺画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第３閾値以上である左辺画素が隣接して複数存在する場合、特定された左辺画素の範囲が移動体領域（例えば、車長の部分、車長方向の輪郭）となる。
【０１９０】
移動体検出部１０７は、特定した左辺画素の位置に基づいて移動体の長さ（車長）を検出する。例えば、車高方向に沿って走査して特定した左辺画素の範囲（位置）と車幅方向に沿って走査して特定した左辺画素の範囲（位置）の両方に共通の範囲（位置）を移動体の車長（移動体の一部）として検出することができる。
【０１９１】
そして、検出した長さ（車長）に基づいて車幅を求める場合は、以下の処理を行うことができる。すなわち、画素計数部１０５は、検出された車長の下端から横方向に列状をなした（画像上で右向きのライン上に存在する）下端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。下端画素は、例えば、車長の下端から右向きのラインが矩形領域の右辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【０１９２】
画素位置特定部１０６は、計数された画素数が第１閾値以上である下端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該下端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該下端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である下端画素が隣接して複数存在する場合、特定された下端画素の範囲が移動体領域（例えば、車頭の部分、車幅方向の輪郭）となる。
【０１９３】
そして、画素計数部１０５は、検出された車長の上端から横方向に列状をなした（画像上で右向きのライン上に存在する）上端画素それぞれの位置から移動体の高さ方向に対応する向きに第１所定数の画素を走査して移動体候補領域内に含まれる画素数を計数する。上端画素は、例えば、車長の上端から右向きのラインが矩形領域の右辺と交差する位置までに存在する画素とすることができる。矩形領域内で探索すれば十分であるからである。
【０１９４】
画素位置特定部１０６は、計数された画素数が第１閾値以上である上端画素の位置を特定する。計数した画素数が第１閾値以上である場合、当該上端画素は、移動体領域を構成する画素であると判定することができ、計数した画素数が第１閾値未満である場合、当該上端画素は、移動体領域を構成する画素ではないと判定することができる。例えば、計数した画素数が第１閾値以上である上端画素が隣接して複数存在する場合、特定された上端画素の範囲が移動体領域（例えば、車尾の部分、車幅方向の輪郭）となる。
【０１９５】
移動体検出部１０７は、特定した下端画素及び上端画素の位置に基づいて移動体の幅（車幅）を検出する。例えば、特定した下端画素の範囲（左右方向の位置）と特定した上端画素の範囲（上下方向の位置）の両方に共通の範囲（上下方向の位置）を移動体の車幅（移動体の一部）として検出することができる。
【０１９６】
下端画素のうち、当該下端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された下端画素、かつ上端画素のうち、当該上端画素の位置から移動体の高さ分の位置までの画素が移動体候補領域にあると判定された上端画素を特定することにより、移動体候補領域内の高さが０の位置にある車幅方向に沿った下端画素及び上端画素のうち、当該下端画素及び上端画素の位置に対して車高分の位置にある画素も移動体候補領域内にあると判定された下端画素及び上端画素だけを特定することができるので、高さが０の移動体領域（移動体が路面に投影された画像）を構成する画素を精度良く検出することができる。
【０１９７】
以上に開示された実施の形態及び実施例は、全ての点で例示であって制限的なものではないと考慮されるべきである。本発明の範囲は、以上の実施の形態及び実施例ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての修正や変形を含むものと意図される。
【符号の説明】
【０１９８】
２００  撮像装置
１０１  制御部
１０２  インタフェース部
１０３  鳥瞰画像生成部
１０４  移動体候補領域抽出部
１０５  画素計数部
１０６  画素位置特定部
１０７  移動体検出部
１０８  移動体存在領域特定部
１０９  移動体種別判定部
１１０  記憶部
【図１】
0005387625.tif 000003
【図２】
0005387625.tif 000004
【図３】
0005387625.tif 000005
【図４】
0005387625.tif 000006
【図５】
0005387625.tif 000007
【図６】
0005387625.tif 000008
【図７】
0005387625.tif 000009
【図８】
0005387625.tif 000010
【図９】
0005387625.tif 000011
【図１０】
0005387625.tif 000012
【図１１】
0005387625.tif 000013
【図１２】
0005387625.tif 000014
【図１３】
0005387625.tif 000015
【図１４】
0005387625.tif 000016
【図１５】
0005387625.tif 000017
【図１６】
0005387625.tif 000018
【図１７】
0005387625.tif 000019
【図１８】
0005387625.tif 000020
【図１９】
0005387625.tif 000021
【図２０】
0005387625.tif 000022
【図２１】
0005387625.tif 000023
【図２２】
0005387625.tif 000024
【図２３】
0005387625.tif 000025
【図２４】
0005387625.tif 000026
【図２５】
0005387625.tif 000027
【図２６】
0005387625.tif 000028
【図２７】
0005387625.tif 000029
【図２８】
0005387625.tif 000030
【図２９】
0005387625.tif 000031
【図３０】
0005387625.tif 000032
【図３１】
0005387625.tif 000033