以下、実施形態に係る検出装置、検出方法、検出プログラムおよび情報処理システムについて説明する。
実施形態に係る検出装置、検出方法、検出プログラムおよび情報処理システムは、例えば搭載した車載カメラで撮像した画像から、自車両の移動領域である道路と、道路を横断する人である横断者とを検出し、横断者が検出された位置に応じて、将来的に横断者が存在することが予測される横断者存在範囲を設定する。横断者存在範囲を用いることで、運転者に、横断歩道など安全地帯以外を横断する横断者に対する注意を促すことが可能となる。
図1は、各実施形態に共通して適用可能な検出装置のハードウェア構成の例を示す。図1において、検出装置10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ストレージ104と、入出力I/F105と、通信I/F106と、表示制御部107と、位置取得装置108と、カメラI/F109とを備え、これら各部がバス100により互いに通信可能に接続される。
CPU101は、ROM102やストレージ104に予め記憶されるプログラムに従い、RAM103をワークメモリとして動作して、この検出装置10の全体の動作を制御する。すなわち、CPU101を含むコンピュータが検出装置10に搭載される。ストレージ104は、ハードディスクドライブや不揮発性の半導体メモリ(フラッシュメモリ)であり、CPU101が動作するためのプログラムや、種々のデータが記憶される。
入出力I/F105は、例えばUSB(Universal Serial Bus)であり、外部機器との間でデータの送受信を行うためのインターフェイスである。キーボードやポインティングデバイス(マウスなど)の入力デバイスをこの入出力I/F105に接続することができる。また、CD(Compact Disk)やDVD(Digital Versatile Disk)といったディスク記憶媒体の読み出しなどを行うドライブ装置をこの入出力I/F105に接続してもよい。表示制御部107は、CPU101によりプログラムに従い生成された表示制御信号を、LCD(Liquid Crystal Display)などを表示デバイスとして用いたディスプレイ120が表示可能な表示信号に変換して出力する。
通信I/F106は、LAN(Local Area Network)やインターネットなどのネットワークに対する通信を制御する。
位置取得装置108は、現在位置を、示す位置情報を取得する。位置情報は、例えば緯度および経度を用いて表される。位置情報は、さらに、高度を含んでもよい。位置取得装置108は、例えばGNSS(Global Navigation Satellite System)を利用して現在位置を取得する。これに限らず、位置取得装置108は、無線LAN位置情報システムや、車載センサを利用した自己位置推定システムを用いて現在位置を取得してもよい。
カメラ110は、カメラI/F109の制御に従い撮像を行い、画像信号を出力する。カメラI/F109は、CPU101の命令に従いカメラ110を制御し、カメラ110から出力される画像信号を取り込み、撮像画像として出力する。
カメラ110は、例えば車載され、自車両の進行方向の、自車両が走行可能な移動領域が撮像画像に含まれるように設置する。図2は、各実施形態に係る、カメラ110で撮像された撮像画像の例を示す。図2において、撮像画像200は、例えば自車両が走行している道路である移動領域201の画像を含む。また、図2の例では、撮像画像200は、移動領域201上の標示である標示202、移動領域201を横断する人203、および、移動領域201上の他車両204の画像をそれぞれ含んでいる。なお、図2の例では、標示202は、横断歩道を示している。
カメラ110は、可視光領域の光を撮像するのに限らず、赤外領域の光を撮像可能な赤外線カメラ、紫外領域の光を撮像可能な紫外線カメラを用いてもよい。また、図1では、検出装置10に1台のカメラ110が接続されるように示されているが、これはこの例に限定されない。例えば、検出装置10に複数台のカメラ110を接続し、各カメラ110を異なる方向、例えば、自車両の前方、後方および側方それぞれに向けて設置してもよい。以下では、検出装置10に、自車両の進行方向を撮像するように設置された1台のカメラ110が接続されるものとする。
(第1の実施形態)
第1の実施形態について説明する。図3は、第1の実施形態に係る検出装置の機能を説明するための一例の機能ブロック図である。図3において、検出装置10aは、画像取得部11と、検出部12と、算出部13と、設定部14と、表示部15とを含む。これら画像取得部11、検出部12、算出部13、設定部14および表示部15は、CPU101上で動作する検出プログラムにより実現される。これに限らず、画像取得部11、検出部12、算出部13、設定部14および表示部15の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
画像取得部11は、カメラ110により撮像された撮像画像を取得する。検出部12は、画像取得部11により取得された撮像画像から、少なくとも、人203の画像と、移動領域201の画像と、移動領域201上の標示202の画像とを検出する。以下では、適宜、「人203の画像を取得する」を、例えば「人203を取得する」などのように記述する。
算出部13は、検出部12により、人203および移動領域201が検出され、且つ、検出された人203が移動領域201上に存在すると判定された場合に、検出された人203が横断者であるとして、撮像画像に基づき、自車両から横断者までの距離である横断者距離を算出する。設定部14は、検出部12による検出結果と、算出部13で算出された横断者距離とを用いて、横断者が存在すると推定される横断者存在範囲を設定する。
表示部15は、設定部14で設定された横断者存在範囲を、ディスプレイ120に表示させる。例えば、表示部15は、ディスプレイ120に撮像画像200を表示させ、この撮像画像200に対して横断者存在範囲をオーバーラップさせて表示させることができる。これに限らず、表示部15は、位置取得装置108で取得された現在位置に基づき、現在位置を含む地図を表示させ、この地図上に横断者存在範囲を表示させることも考えられる。
図4は、第1の実施形態に係る検出処理を示す一例のフローチャートである。ステップS100で、画像取得部11は、カメラ110により撮像された撮像画像を取得する。ステップS100で画像取得部11に撮像画像が取得されると、処理はステップS101およびステップS102に移行される。
ステップS101で、検出部12は、ステップS100で取得された撮像画像から人203を検出する。また、ステップS102で、検出部12は、ステップS100で取得された撮像画像から移動領域201を取得する。ステップS101およびステップS102で人203および移動領域201が検出されると、処理がステップS103に移行される。
なお、図4では、ステップS101およびステップS102の処理が並列的に実行されるように示したが、これはこの例に限定されず、ステップS101およびステップS102を順次に実行してもよい。この場合、ステップS101およびステップS102の順序は、任意で構わない。
ステップS103で、算出部13は、ステップS101およびステップS102で人203および移動領域201が共に検出された場合に、人203が移動領域201上に存在するか否かを判定する。算出部13は、人203が移動領域201上に存在すると判定した場合、この人203が横断者である(ステップS103、Yes)として、処理をステップS104に移行させる。
一方、ステップS103で、算出部13は、ステップS101およびステップS102で人203および移動領域201のうち少なくとも一方が検出されないか、または、ステップS101およびステップS102で人203および移動領域201が検出され、検出された人203が移動領域201外に存在する場合(ステップS103、No)に、図4のフローチャートによる一連の処理を終了させる。
ステップS104で、算出部13は、撮像画像200と、カメラ110の水平に対する設置角度とに基づき、自車両(カメラ110)から横断者(人203)までの距離を算出する。次のステップS105で、設定部14は、ステップS104で算出された横断者までの距離を用いて、横断者が存在すると推定される範囲である横断者存在範囲を設定する。設定された横断者存在範囲は、例えば撮像画像200と共にディスプレイ120に表示させることができる。
次に、上述の図4のフローチャートにおける各処理について、より詳細に説明する。先ず、ステップS101の、検出部12による、撮像画像200に含まれる人203の画像を検出する処理について説明する。人203の検出には、人らしさを表す評価値を計算し、その評価値が設定した閾値以上となる場合、人であると判定する。
図5は、第1の実施形態に係る、検出部12による人203の検出処理を示す一例のフローチャートである。ステップS1010で、検出部12は、ステップS100で取得された撮像画像200に対して、人検出を行うための検出範囲を設定する。検出範囲は、例えば撮像画像200の全域でもよいし、撮像画像200の一部でもよい。例えば、撮像画像200の上端部分および下端部分を除いた領域を、検出範囲として設定することができる。また、マスク画像を予め準備しておき、マスク画像によって設定領域を指定してもよい。検出部12は、検出範囲内所定位置に検出窓を設定する。検出窓の大きさおよび形状は、特に限定されない。以下では、検出窓が矩形であるものとして説明する。
次のステップS1011で、検出部12は、検出範囲内での処理が終了したか否かを判定する。若し、終了したと判定した場合(ステップS1011、Yes)、図5のフローチャートによる一連の処理が終了される。終了していないと判定した場合(ステップS1011、No)、処理がステップS1012に移行される。
ステップS1012で、検出部12は、撮像画像200に設定された検出窓領域内の特徴量を算出する。検出部12は、特徴量として、例えば、HOG(Histograms of Oriented Gradients)特徴量を用いることができる。ステップS1013で、検出部12は、ステップS1011で算出した特徴量に基づき、識別器を用いて人らしさを表す評価値を算出する。検出部12は、識別器として、例えば、SVM(Support Vector Machine)を用いることができる。
検出部12は、次のステップS1014で、ステップS1012で算出した評価値が予め設定した閾値以上であるか否かを判定する。検出部12は、評価値が閾値未満であると判定した場合(ステップS1014、No)、処理をステップS1016に移行させる。
一方、検出部12は、ステップS1014で評価値が閾値以上であると判定した場合(ステップS1014、Yes)、処理をステップS1015に移行させ、検出窓内に人203が含まれると判定する。具体的には、例えば、非特許文献1に開示されている技術を用いて、検出対象の位置を検出する。ステップS1015の処理の後、処理がステップS1016に移行される。
ステップS1016で、検出部12は、検出窓を移動させ、処理をステップS1011に戻す。
次に、図4のフローチャートにおけるステップS102の、検出部12による、撮像画像200に含まれる移動領域201の画像を検出する処理について説明する。検出部12は、移動領域201の検出には、例えば、カメラ110の設置姿勢を予め取得し、道路面(移動領域201)の幅を一定と仮定したときに、道路面が写り込む領域を設置姿勢に基づき算出することができる。設置姿勢は、例えば、カメラ110の俯角や、カメラ110の撮像方向の自車両の進行方向に対する角度、カメラ110の設置高さを含む。これに限らず、検出部12は、カメラ110の設置位置から、撮像画像200内に移動領域201が含まれる領域を予め設定し、設定した領域内でハフ変換などによって直線を検出し、消失点付近を通る2本の直線によって囲まれる領域を移動領域201として検出してもよい。
次に、図4のフローチャートにおけるステップS103の、算出部13による、人203が移動領域201内に存在するか否かの判定処理について説明する。算出部13は、ステップS101およびステップS102で検出部12が検出した人203と移動領域201とを用いて、人203が移動領域201内に存在するか否かを判定する。存在すると判定した場合、その人203を横断者であると見做す。
例えば、算出部13は、検出部12が図5のフローチャートのステップS1015で人203が含まれると判定した検出窓の下端が移動領域201に含まれるか否かに基づき、人203が移動領域201内に存在するか否かを判定することができる。この例では、当該検出窓の下端が移動領域201に含まれる場合に、人203が移動領域201内に存在すると判定できる。
また例えば、ステップS1015で人203が含まれると判定した検出窓内で、さらに人203の足領域を検出し、検出された足領域が移動領域201に含まれるか否かに基づき、人203が移動領域201内に存在するか否かを判定することができる。この例では、足領域が移動領域201に含まれる場合に、人203が移動領域201内に存在すると判定できる。
足領域の検出には、人検出において説明した方法を利用することが可能である。例えば、検出部12は、撮像画像200から特徴量を求め、求めた特徴量に基づき、識別器を用いて足領域らしさを表す評価値を算出する。この評価値を閾値判定することで、足領域を検出する。
次に、図4のフローチャートにおけるステップS104の、算出部13による、人203と自車両(カメラ110)との間の距離を算出する処理について説明する。例えば、自車両がカメラ110を2台以上搭載している場合、ステレオ法によって、カメラ110と横断者(人203)との間の距離を容易に求めることができる。
自車両が1台のカメラ110を搭載している場合、カメラ110の設置姿勢を利用することで、横断者の足領域の、撮像画像200上での位置を示す足位置情報に基づき、カメラ110と横断者との間の距離を計算できる。
図6を用いて、第1の実施形態に係る、1台のカメラ110の設置姿勢を利用した距離の算出方法について説明する。図6において、焦点距離fのカメラ110が、路面500から高さhの位置に、撮像方向503を俯角θとして設置されたものとする。焦点距離fの位置で撮像方向503に直角に交わる直線502は、カメラ110による仮想的な撮像画像200を示す。また、値pは、撮像画像200の中心すなわち撮像方向503と直線502との交点を基準とした人501の足領域の位置を示す。
この場合、カメラ110からの垂線が路面500と交わる位置から人501の足領域までの距離dは、下記の式(1)にて算出できる。
次に、図4のフローチャートによるステップS105の、設定部14による横断者存在範囲の設定処理について説明する。設定部14は、ステップS105で、検出部12の検出結果と、算出部13にて算出されたカメラ110と横断者(人203)との間の距離dとから、横断者が存在すると推定される範囲を設定する。すなわち、設定部14は、横断者の観測を行った時刻ではなく、その時刻以降において、同一もしくは異なる横断者が存在すると推定される範囲である横断者存在範囲を設定する。
このように、横断者が将来的に存在し得る範囲を設定し記憶しておくことで、横断者が検出された時刻以降は、横断者を実際に検出する前に、予め運転者への注意喚起が可能になる。
設定部14は、先ず、予め設定した大きさの範囲を、横断者が検出された位置を中心に設定し、横断者存在範囲とする。横断者が検出された位置は、例えば、カメラ110の位置から、カメラ110の水平面での撮像方向に向けて、上述したステップS104で算出された距離dの位置である。
図7は、第1の実施形態に係る横断者存在範囲の形状の例を、2次元地図上で示す。図7(a)は、横断者検出位置210を中心として、所定の半径の円形状に設定した横断者存在範囲211aの例を示す。図7(b)は、横断者検出位置210を中心として、所定の辺の長さを持つ矩形(この例では正方形)状に設定した横断者存在範囲211bの例を示す。また、図7(c)は、横断者検出位置210を中心として、道路212の形状に合わせて設定した横断者存在範囲211cの例を示す。
横断者存在範囲の大きさは、例えば図7(a)に示す円形状の横断者存在範囲211aの場合、半径を道路の幅の数倍程度とすることが考えられる。例えば、道路の幅が10mであれば、横断者存在範囲211aの半径を数10m(例えば20m乃至30m程度)とすることが考えられる。
第1の実施形態では、さらに、検出部12の検出結果に応じて、横断者存在範囲の大きさを変更する。一例として、撮像画像200から検出された標示202(横断歩道)と横断者との距離関係に基づき横断者存在範囲の大きさを変更することができる。
図8のフローチャートを用いて、第1の実施形態に係る、標示202と横断者との距離関係に基づき横断者存在範囲の大きさを変更する処理の例について説明する。ステップS1051で、検出部12は、移動領域201から、標示202の一つとして例えば横断歩道領域を検出する。
検出部12は、横断歩道領域の検出方法として、例えば人検出において説明した方法を利用することができる。例えば、検出部12は、撮像画像から特徴量を求め、求めた特徴量に基づき、識別器を用いて横断歩道らしさを表す評価値を算出する。この評価値を閾値判定することで、横断歩道領域を検出する。特徴量としては、上述したHOG特徴量に限らず、明度差を有効に利用できる特徴量としてガボール特徴を用いることもできる。
検出部12は、ステップS1052で、横断歩道領域の検出に成功したか否かを判定する。横断歩道領域の検出に成功したと判定した場合(ステップS1052、Yes)、処理をステップS1053に移行させる。一方、検出に失敗したと判定した場合(ステップS1052、No)、図8のフローチャートによる一連の処理が終了される。
ステップS1053で、算出部13は、カメラ110から、ステップS1052で検出された横断歩道領域までの距離を算出する。標示202は、路面すなわち移動領域201上に存在するため、この距離は、上述した式(1)を用いて算出できる。次のステップS1054で、算出部13は、図4のフローチャートにおけるステップS104で算出した距離と、ステップS1053で算出した横断歩道領域までの距離とに基づき、標示202と横断者(人203)との間の距離Dを算出する。
次のステップS1055で、設定部14は、ステップS1054で算出した距離Dが閾値未満であるか否かを判定する。設定部14は、距離Dが閾値以上であると判定した場合(ステップS1055、No)、図8のフローチャートによる一連の処理を終了させる。一方、設定部14は、ステップS1055で、距離Dが閾値未満であると判定した場合(ステップS1055、Yes)、処理をステップS1056に移行させる。
ステップS1056で、設定部14は、距離Dの値に応じて、横断者存在範囲の大きさを調整する。第1の実施形態では、設定部14は、一定の割合で横断者存在範囲を小さくする。
例えば、設定部14は、距離Dと横断者存在範囲の大きさとが反比例するよう調整する。この場合、図7(a)に示す円形状の横断者存在範囲211aであれば、距離Dと横断者存在範囲211aの半径とが反比例するように調整することが考えられる。これに限らず、設定部14は、横断者存在範囲の大きさが距離Dの二乗に反比例するようにしてもよい。さらに、設定部14は、距離Dが閾値以上の場合に、距離Dに応じて横断者存在範囲を拡大してもよい。
このように、第1の実施形態によれば、自車両が走行中の道路において、横断歩道外を横断する横断者が検出された場合に、検出された横断者の位置に対して所定の大きさの横断者存在範囲を設定している。このように設定された横断者存在範囲を用いることで、運転者に対して、横断者が存在し得る範囲を提示することができ、運転者に注意を促すことができる。
(第1の実施形態の変形例)
第1の実施形態の変形例について説明する。図9は、第1の実施形態の変形例に係る検出装置の機能を説明するための一例の機能ブロック図である。なお、図9において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。
図9において、検出装置10a’は、図3に示した検出装置10aに対して位置情報取得部16が追加されている。位置情報取得部16は、位置取得装置108を用いて現在位置を取得する。位置情報取得部16は、取得した位置情報を設定部14に渡す。また、位置情報取得部16は、画像取得部11からの撮像画像取得の通知に応じて、撮像画像を取得した位置を取得し、当該位置を示す位置情報を設定部14に渡す。例えば、設定部14は、設定した横断者存在範囲に位置情報取得部16から渡された位置情報を付加することで、図7に示したような、2次元地図上での横断者存在範囲の表示を表示部15に行わせることができる。
また、設定した横断者存在範囲の情報を、位置情報と関連付けて例えはストレージ104に記憶しておくようにできる。この場合、記憶された位置情報に近い位置を自車両が走行した際に、その時点で実際に横断者が検出されていないが、横断者が存在する可能性があるとして、横断者存在範囲を運転者に提示することが可能となり、これにより、運転者に注意を促すことができる。
(第2の実施形態)
次に、第2の実施形態について説明する。図10は、第2の実施形態に係る検出装置の機能を説明するための一例の機能ブロック図である。なお、図10において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。
図10において、検出装置10bは、図3に示した検出装置10aに対して年齢推定部21と、停車車両認識部22とが追加されている。年齢推定部21は、算出部13が図4のステップS103で求めた横断者について、撮像画像200内の横断者の画像に基づき属性情報を認識し、認識された属性情報から当該横断者の年齢を推定する。また、検出装置10bにおいて、検出部12は、画像取得部11に取得された撮像画像200から、移動領域201に存在する他車両204をさらに検出する。停車車両認識部22は、検出部12が検出した他車両204が停車中であるか否かを認識する。
設定部14は、設定した横断者存在範囲の大きさを、年齢推定部21で推定された横断者の年齢に応じて変更する。また、設定部14は、停車車両認識部22で認識された他車両204と、算出部13が求めた横断者との位置関係を求め、求めた位置関係に応じて、横断者存在範囲の大きさを変更する。
図11は、第2の実施形態に係る検出処理を示す一例のフローチャートである。なお、図11のフローチャートは、上述した図4のフローチャートにおけるステップS105の処理により横断者存在範囲が設定された後に実行される。
ステップS201で、年齢推定部21は、算出部13により求められた横断者について、横断者の画像から属性情報を認識し、認識した属性情報に基づき当該横断者の年齢を推定する。次のステップS202で、停車車両認識部22は、検出部12により検出された他車両204が停車中の車両であるか否かを認識する。なお、これらステップS201およびステップS202の処理は、順序を入れ替えてもよいし、並列的に処理を実行してもよい。
次のステップS203で、設定部14は、ステップS201で年齢推定部21に推定された年齢が、所定の年齢範囲外の年齢であるか否かを判定する。設定部14は、推定された年齢が所定の年齢範囲内であると判定した場合(ステップS203、No)、処理をステップS205に移行させる。一方、設定部14は、推定された年齢が所定の年齢範囲外であると判定した場合(ステップS203、Yes)、処理をステップS204に移行させる。
ステップS204で、設定部14は、図4のフローチャートのステップS105において設定された横断者存在範囲を拡大する。そして、処理をステップS205に移行させる。
ステップS203の判定処理は、横断者が高齢者および低年齢者のうち何れかであるか否かを判定するもので、所定の年齢範囲は、例えば、10歳以上60歳未満に設定する。この場合、推定された年齢が10歳未満、または、60歳以上で、所定の年齢範囲外であると判定され、処理がステップS204に移行され、横断者存在範囲が拡大される。高齢者や低年齢者は、それ以外の年齢の者(一般成人とする)と比較して、動きが遅い(例えば高齢者および低年齢者)、あるいは、動きが不確定(例えば低年齢者)であると考えられる。そのため、横断者が高齢者や低年齢者であると推定される場合に、ステップS204で横断者存在範囲を拡大し、運転者への注意を促す効果を向上させる。
ステップS205で、停車車両認識部22は、ステップS202の認識結果に従い、検出部12で検出された他車両204が停車中であるか否かを判定する。停車車両認識部22は、他車両204が停車中ではない、すなわち、移動中であると判定した場合(ステップS205、No)、図11のフローチャートによる一連の処理を終了させる。一方、停車車両認識部22は、検出された他車両204が停車中であると判定した場合(ステップS205、Yes)、処理をステップS206に移行させる。
ステップS206で、設定部14は、停車中であると認識された他車両204と、横断者との、撮像画像200上での位置関係に基づき、横断者存在範囲の大きさを調整する。そして、図11のフローチャートによる一連の処理を終了させる。
次に、ステップS201の、年齢推定部21による年齢推定処理について説明する。年齢推定部21は、検出部12が検出した横断者の属性情報を、横断者の画像に基づき認識する。横断者の属性情報としては、例えば横断者の性別、皮膚色、身長、服装、持ち物、身体的特徴などが考えられる。年齢推定部21は、横断者について認識した属性情報に基づき、当該横断者の年齢を推定する。例えば、年齢推定部21は、横断者の属性情報のうち、身長に基づき年齢を推定することができる。この場合、横断者の身長が所定以下で、横断者が高齢者または低年齢者であると推定することが考えられる。
横断者の身長は、図4のステップS104で算出部13がカメラ110から横断者までの距離を算出した方法を応用して認識することが可能である。例えば、横断者の画像から、横断者の足領域と頭領域とを認識し、認識された足領域および頭領域の撮像画像200内での位置と、横断者の足領域までの距離とに基づき身長を認識する。一例として、身長の閾値を設定し、閾値身長の撮像画像200内での高さ(画素数)を、各距離に応じて予め求めておく。横断者の足領域から頭領域までの高さと、距離とに基づき、横断者の身長を算出することができる。
これに限らず、横断者の移動速度に基づき横断者の年齢を推定することも可能である。この場合、横断者を時系列で追跡して移動速度を求め、求めた移動速度が設定した閾値以下の場合に、横断者が高齢者または低年齢者であると判定することが考えられる。
次に、ステップS202の、停車車両認識部22による停車車両の認識処理について説明する。停車車両認識部22は、検出部12で検出された他車両204を時系列で追跡し、その移動量に基づき他車両204が移動しているか、停車中かを判定する。図4のフローチャートにおけるステップS104の処理と同様に、他車両204の下端の領域に基づきカメラ110から他車両204までの距離を算出できる。これにより、他車両204を時系列で追跡し、他車両204までの距離を時系列で順次求めていくことで、他車両204の、自車両に対する相対的な速度を計算することができ、これを移動量としてもよい。
次に、ステップS206の、他車両204と横断者との撮像画像200上の位置関係に応じた処理について説明する。設定部14は、停車車両認識部22が他車両204が停車中であると認識した場合、この停車中の他車両204と横断者との間の距離に応じて横断者存在範囲の大きさを調整する。ここで、停車中の他車両204と横断者との間の距離は、撮像画像200上での距離でもよいし、他車両204および横断者それぞれについて上述したように算出した実距離でもよい。
設定部14は、例えば、撮像画像200上における横断者の足位置と、停車車両領域の下端位置とを用いて、横断者と停車車両との撮像画像200内での位置関係を求める。
図12および図13を用いて、横断者と停車車両との撮像画像200内での位置関係について説明する。図12に例示するように、撮像画像200内で検出された横断者(人203)の足位置220と、停車車両(他車両204)の下端位置221との間の、撮像画像200における水平方向の座標値の差分を幅Δwとし、垂直方向の座標値の差分を高さΔhとする。また、設定部14は、これら幅Δwおよび高さΔhに対して、それぞれ閾値を設定する。
図13(a)は、幅Δwが閾値以上の例を示す。また、図13(b)は、高さΔhが閾値以上の例を示す。設定部14は、幅Δwおよび高さΔhがそれぞれ閾値以下の場合に、他車両204と横断者との実空間上での距離が近いと判定する。この場合、設定部14は、横断者存在範囲を例えば拡大する。また例えば、設定部14は、幅Δwおよび高さΔhがそれぞれ閾値以上の場合に、他車両204と横断者との実空間上での距離が遠いと判定する。この場合、設定部14は、横断者存在範囲を例えば縮小する。設定部14は、これら以外の場合には、ステップS206での横断者存在範囲の調整を行わない。
なお、横断者と停車車両との位置関係の判定方法は、上述の例に限定されない。例えば、高さΔhおよび幅Δwのうち少なくとも一方が閾値以上の場合に、他車両204と横断者との距離が遠いと判定することが考えられる。
このように、第2の実施形態では、第1の実施形態の処理により設定した横断者存在範囲を、横断者の属性情報や、横断者と停車中の車両との距離に基づき、さらに調整するようにしている。そのため、運転者に対して、より的確に注意を促すことができる。
(第3の実施形態)
次に、第3の実施形態について説明する。図14は、第3の実施形態に係る情報処理システムの一例の構成を示す。図14において、情報処理システムは、データベース(DB)61を含むサーバ装置60を備え、1以上の検出装置10c、10c、…が無線通信によりネットワーク51に接続し、ネットワーク51を介してサーバ装置60と通信を行う。AP50は、各検出装置10c、10c、…が無線通信によりネットワーク51に接続するための中継装置である。検出装置10cが行う無線通信は、所定の通信相手との間でのデータ通信が可能であれば、通信方式は特に限定されないが、無線LAN(Local Area Network)を用いることができる。
第3の実施形態では、このような構成において、各検出装置10cは、設定した横断者存在範囲の情報を、当該横断者存在範囲を設定した位置を示す位置情報と関連付けて、RAM103やストレージ104に記憶する。各検出装置10cは、横断者存在範囲および位置情報の組が記憶された後に、他の横断者存在範囲および位置情報の組が取得された場合に、取得された位置情報が記憶された横断者存在範囲に含まれるか否かを判定する。
また、各検出装置10cは、RAM103やストレージ104に記憶した横断者存在範囲の情報と位置情報との組をサーバ装置60に送信する。サーバ装置60は、各検出装置10cから送信された横断者存在範囲の情報と位置情報との組をDB61に蓄積的に記憶する。また、サーバ装置60は、DB61に記憶した横断者存在範囲の情報と位置情報との組を各検出装置10cに対して送信する。
これらにより、各検出装置10cが搭載された車両の運転者は、例えば自車両が過去に走行したことのない位置における横断者存在範囲を知ることが可能となり、未走行の場所であっても運転に注意を払うことができる。
図15は、第3の実施形態に係る検出装置10cの機能を説明するための一例の機能ブロック図である。なお、図15において、上述した図9と共通する部分には同一の符号を付して、詳細な説明を省略する。
図15において、検出装置10cは、図9に示した検出装置10a’に対して、記憶部31と、送信部32と、受信部33とが追加されている。記憶部31は、RAM103やストレージ104に対する書き込みおよび読み出しを制御して、情報の記憶、読み出しを行う。送信部32は、記憶部31に記憶された情報を無線通信により送信する。受信部33は、無線通信により送信された情報を受信し、記憶部31に渡す。
なお、図15の構成に対し、上述の図10で示した年齢推定部21および停車車両認識部22をさらに追加し、横断者の推測される年齢や、横断者と停車車両との位置関係などに基づき、設定された横断者存在範囲を調整してもよい。
図16は、第3の実施形態に係るサーバ装置60の機能を説明するための一例の機能ブロック図である。なお、サーバ装置60は、ハードウェアとしては、CPU、ROM、RAM、ストレージ、通信I/Fなどを備えた一般的なコンピュータとして構成可能であるため、ここでの詳細な説明を省略する。サーバ装置60は、単独の装置として構成されるのに限定されず、例えば複数台の装置に機能が分散されてもよい。
図16において、サーバ装置60は、受信部62と、送信部63と、記憶部64とを含む。記憶部64は、DB61に対する書き込みおよび読み出しを制御して、情報の記憶、読み出しを行う。受信部62は、ネットワーク51を介して送信された情報を受信し、受信した情報を記憶部64に渡す。送信部63は、記憶部64に記憶された情報をネットワーク51を介して送信する。
図17は、第3の実施形態に係る検出装置10cにおける処理を示す一例のフローチャートである。ステップS300で、画像取得部11は、撮像画像を取得する。このとき、画像取得部11は、撮像画像を取得した旨を位置情報取得部16に通知する。次のステップS301で、位置情報取得部16は、画像取得部11からの画像取得通知に応じて、現在位置を示す位置情報を取得する。
次のステップS302で、設定部14は、ステップS300で取得された撮像画像に基づき横断者存在範囲を設定する。すなわち、図4のフローチャートを用いて説明したように、検出部12は、画像取得部11で取得された撮像画像から人203と移動領域201とを検出する(図4のステップS101およびステップS102)。算出部13は、検出部12により検出された人203が、移動領域201上に存在する場合に、人203を横断者であると見做し(図4のステップS103)、撮像画像とカメラ110の設置姿勢とに基づき、カメラ110から横断者までの距離を算出する(図4のステップS104)。設定部14は、算出された距離を用いて、横断者存在範囲を設定する。
次のステップS303で、記憶部31は、ステップS301で取得された撮像時の位置情報と、ステップS302で設定された横断者存在範囲を示す情報とを関連付けて、この位置情報と横断者存在範囲との第1の組を記憶する。ここで、横断者存在範囲を示す情報は、横断者存在範囲の大きさと、検出された横断者の位置を示す情報とを含む。横断者の位置は、撮像時の現在位置と、カメラ110から横断者までの距離に基づき求めることができる。
次のステップS304で、送信部32は、記憶部31に記憶された位置情報と横断者存在範囲の第1の組を、サーバ装置60に向けて送信する。ここで、送信部32は、位置情報と横断者存在範囲の第1の組が記憶部31に記憶される毎に、この記憶された位置情報と横断者存在範囲の第1の組を送信することができる。また、送信部32は、一定時間毎などに、複数の位置情報と横断者存在範囲の第1の組を纏めて送信してもよい。
送信部32により送信された位置情報と横断者存在範囲の第1の組は、ネットワーク51を介して、サーバ装置60において、受信部62により受信される。サーバ装置60は、受信部62が受信した位置情報と横断者存在範囲の第1の組を、記憶部64により、第2の組としてDB61に蓄積的に記憶する。また、サーバ装置60は、検出装置10cからの位置情報と横断者存在範囲の第1の組を受信すると、記憶部64により、DB61に記憶された1以上の位置情報と横断者存在範囲の第2の組を読み出す。送信部63は、記憶部64により読み出された位置情報と横断者存在範囲との第2の組を、受信した位置情報と横断者存在範囲の第1の組の送信元の検出装置10cに送信する。送信部63は、1以上の第2の組を送信することができる。
図17のステップS305で、検出装置10cは、受信部33により、サーバ装置60からの通信、すなわち、サーバ装置60から送信された位置情報と横断者存在範囲の第2の組が受信されるのを待機する。受信部33は、サーバ装置60からの通信が無ければ処理をステップS305に戻し、サーバ装置60からの通信を受信すると、処理をステップS306に移行させる。
ステップS306で、受信部33は、サーバ装置60から送信された位置情報と横断者存在範囲の第2の組を受信する。次のステップS307で、受信部33は、受信した位置情報と横断者存在範囲との第2の組を選別し、選別された位置情報と横断者存在範囲との第2の組を、記憶部31に蓄積的に記憶させる。すなわち、記憶部31には、検出装置10cにおいて取得および設定された位置情報と横断者存在範囲との第1の組と、サーバ装置60から送信され検出装置10cにおいて受信および選別された位置情報と横断者存在範囲との第2の組とが記憶されることになる。
例えば、受信部33は、位置情報取得部16により現在位置を取得し、サーバ装置60から受信した1以上の位置情報と横断者存在範囲との第2の組から、位置情報が現在位置に対して一定距離以内の位置情報と横断者存在範囲との第2の組を選別して、記憶部31に記憶させることができる。また、受信部33は、サーバ装置60から受信した1以上の位置情報と横断者存在範囲との第2の組から、位置情報が現在位置に対して一定距離以上の位置情報と横断者存在範囲との第2の組を記憶部31に記憶させないようにしてもよい。受信部33は、受信した1以上の位置情報と横断者存在範囲との第2の組のうち、記憶部31に記憶しなかった1以上の位置情報と横断者存在範囲との第2の組を、例えば破棄する。
さらに、記憶部31は、新たに取得および設定された位置情報と横断者存在範囲との第1の組や、サーバ装置60から送信された位置情報と横断者存在範囲との第2の組を記憶させる際に、既に記憶されている位置情報と横断者存在範囲との第1および第2の組のうち、時系列の古い、所定数の位置情報と横断者存在範囲との組を削除してもよい。
さらにまた、サーバ装置60側において、位置情報と横断者存在範囲との第2の組を常時送信し、検出装置10cにおいて、受信部33は、送信された位置情報と横断者存在範囲との第2の組を一定時間毎に受信するようにしてもよい。また、サーバ装置60側において、記憶部64により記憶された位置情報と横断者存在範囲との第2の組のうち、位置情報が、検出装置10cから送信された位置情報に対して一定距離以内の位置情報と横断者存在範囲との第2の組を選択して、検出装置10cに送信してもよい。
ステップS307の処理が終了すると、図17のフローチャートによる一連の処理が終了される。
第3の実施形態に係る検出装置10cは、位置情報取得部16が図17のフローチャートのステップS301で取得した位置情報と、ステップS307で記憶部31により記憶された位置情報と横断者存在範囲との組とに基づき、当該検出装置10cが搭載された自車両の現在位置が、1以上の横断者存在範囲の何れかに含まれるか否かを判定する判定部をさらに備えることができる。判定部は、判定結果を自車両の運転者に通知する。
図18は、第3の実施形態に係る、検出装置10cのディスプレイ120に表示される横断者存在範囲の例を示す。図18の例では、ディスプレイ120に対して、自車両301を含む地図300が表示された例である。地図300は、例えば、検出装置10cが備える位置取得装置108が取得する現在位置を示す情報と、例えばストレージ104に予め記憶した地図情報とに基づき、表示部15により表示される。
図18において、検出装置10cは、表示部15により、記憶部31に記憶された位置情報と横断者存在範囲との第1および第2の組のうち、自車両301の位置に対して一定距離以内の横断者存在範囲を、地図300上に表示させる。図18の例では、横断者存在範囲310、311および312の3つの横断者存在範囲が、地図300上の道路などとは異なる表示方法で、この例では、表示色を異ならせて地図300上に表示されている。自車両301の運転者は、この表示に基づき、自車両301の進行方向の一定範囲が例えば横断者存在範囲311であることを、自車両301が当該横断者存在範囲311に到達する以前に知ることができ、横断者に対して事前に注意を払うことができる。
また、各横断者存在範囲310、311および312について、記憶部31により記憶された回数または数をそれぞれ計数し、各横断者存在範囲310、311および312の表示方法を、計数結果の計数値に応じて更に変えてもよい。
横断者存在範囲の計数方法の例について説明する。例えば、上述した判定部は、画像取得部11が取得した撮像画像に基づく横断者存在範囲を設定部14が設定した場合に、当該撮像画像を取得した位置を示す位置情報を位置情報取得部16から取得する。判定部は、記憶部31により記憶されている位置情報と横断者存在範囲との組に、取得した位置情報が示す位置を範囲内に含む横断者存在範囲を含む組が存在するか否かを判定する。判定部は、存在すると判定した場合、記憶部31に記憶される当該組の計数値をインクリメントする。判定部の機能は、例えば設定部14の機能に含めることができる。
図18の例では、例えば計数値に対して第1の閾値と、第1の閾値よりも低い値の第2の閾値とを設け、各横断者存在範囲310、311および312の各計数値を、第1および第2の閾値と比較した結果に応じて、各横断者存在範囲310、311および312の表示色を変えている。一例として、計数値が大きいほど、その横断者存在範囲に横断者が存在する可能性が高いとして、より危険度が高いことを示す表示を行う。
具体的には、図18において、横断者存在範囲310、311および312のうち、計数値が第1の閾値よりも大きい、例えば横断者存在範囲311は危険度が高いことを示す色(例えば赤色)、計数値が第1の計数値未満且つ第2の係数値以上の、例えば横断者存在範囲310は危険度が中程度であることを示す色(例えば黄色)、計数値が第2の閾値未満の、例えば横断者存在範囲312は危険度が低いことを示す色(例えば緑色)としている。
この場合、閾値は、2個に限らず、3個以上でもよいし、1個でもよい。また、閾値は、時間帯や季節、気象状況などによって変更してもよい。例えば、時間帯によって閾値を変更し、夜間を昼間よりも低い閾値として、運転者に対して夜間により注意を促すようにすることが考えられる。
なお、計数される回数または数は、自車両301に搭載される検出装置10cにより設定され記憶部31に記憶された横断者存在範囲の回数または数と、サーバ装置60から送信されて記憶部31に記憶された横断者存在範囲の回数または数とを含むことができる。これに限らず、計数される回数または数は、自車両301に搭載される検出装置10cにより設定され記憶部31に記憶された横断者存在範囲の回数または数のみであってもよい。
このように、各横断者存在範囲310〜312が記憶部31により記憶された回数または数の計数結果の計数値に応じて、各横断者存在範囲310、311および312の表示方法を異ならせることで、運転者に対して、注意すべき範囲をより明確に示すことが可能となる。
また、上述では、位置情報取得部16で取得された位置情報に基づく地図300に対して各横断者存在範囲310〜312を表示させているが、これはこの例に限定されない。例えば、表示部15は、画像取得部11が取得した撮像画像に対して各横断者存在範囲310〜312をオーバーラップさせて表示させてもよい。
(他の実施形態)
なお、各実施形態に係る検出処理を実行するための検出プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、検出プログラムを、ROM102に予め記憶させて提供してもよい。
さらに、各実施形態に係る検出処理を実行するための検出プログラムを、インターネットなどの通信ネットワークに接続されたコンピュータ上に格納し、通信ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、各実施形態および変形例に係る検出処理を実行するための検出プログラムを、インターネットなどの通信ネットワーク経由で提供または配布するように構成してもよい。
各実施形態および変形例に係る検出処理を実行するための検出プログラムは、第1の実施形態の場合、例えば上述した各部(画像取得部11、検出部12、算出部13、設定部14および表示部15)を含むモジュール構成となっており、実際のハードウェアとしてはCPU101が例えばストレージ104から当該検出プログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM103)上にロードされ、各部が主記憶装置上に生成されるようになっている。
なお、各実施形態は、上述したそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。