IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニーセミコンダクタソリューションズ株式会社の特許一覧

特開2024-65130情報処理装置、情報処理方法及びプログラム
<>
  • 特開-情報処理装置、情報処理方法及びプログラム 図1
  • 特開-情報処理装置、情報処理方法及びプログラム 図2
  • 特開-情報処理装置、情報処理方法及びプログラム 図3
  • 特開-情報処理装置、情報処理方法及びプログラム 図4
  • 特開-情報処理装置、情報処理方法及びプログラム 図5
  • 特開-情報処理装置、情報処理方法及びプログラム 図6
  • 特開-情報処理装置、情報処理方法及びプログラム 図7
  • 特開-情報処理装置、情報処理方法及びプログラム 図8
  • 特開-情報処理装置、情報処理方法及びプログラム 図9
  • 特開-情報処理装置、情報処理方法及びプログラム 図10
  • 特開-情報処理装置、情報処理方法及びプログラム 図11
  • 特開-情報処理装置、情報処理方法及びプログラム 図12
  • 特開-情報処理装置、情報処理方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024065130
(43)【公開日】2024-05-15
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06T 7/50 20170101AFI20240508BHJP
   G01B 11/14 20060101ALI20240508BHJP
【FI】
G06T7/50
G01B11/14 H
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021042580
(22)【出願日】2021-03-16
(71)【出願人】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(72)【発明者】
【氏名】正根寺 崇史
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA04
2F065AA06
2F065BB02
2F065CC11
2F065DD01
2F065DD02
2F065FF01
2F065FF04
2F065JJ03
2F065JJ26
2F065MM06
2F065QQ31
5L096AA06
5L096BA04
5L096CA02
5L096DA02
5L096FA66
5L096FA69
5L096HA02
5L096HA08
(57)【要約】
【課題】単眼による精度の高い距離測定を実現する。
【解決手段】情報処理装置は、記憶部と、処理部と、を備える。前記処理部は、第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、前記仮想直線の間の実際の距離を取得し、前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
記憶部と、処理部と、を備え、
前記処理部は、
第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、
前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、
前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、
前記仮想直線の間の実際の距離を取得し、
前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、
情報処理装置。
【請求項2】
前記処理部は、
前記仮想直線と前記下端との交差する点に基づいて、画像内の前記第2方向の下端における前記第1方向の前記仮想直線の幅と、現実の前記複数の直線の幅との比率を取得する、
請求項1に記載の情報処理装置。
【請求項3】
前記処理部は、
前記対象の下端の前記第2方向における座標値を取得し、
前記対象の前記第2方向における下端の座標値における前記仮想直線の間の前記第1方向における幅と、前記画像の下端における前記仮想直線の前記第1方向における幅と、の比に基づいて、前記対象までの距離を算出する、
請求項1に記載の情報処理装置。
【請求項4】
前記処理部は、
前記仮想直線の幅が一定値であるとして、前記対象までの距離を算出する、
請求項3に記載の情報処理装置。
【請求項5】
前記処理部は、
前記複数の直線の少なくとも一部から、複数の消失点を検出し、
前記複数の消失点が所定範囲内にない場合には、前記対象までの間に傾斜が変化する箇所が存在することを検出する、
請求項1に記載の情報処理装置。
【請求項6】
前記処理部は、
前記複数の消失点が所定範囲内にない場合に、前記複数の消失点の位置のずれから、変化する前記傾斜の程度を算出する、
請求項5に記載の情報処理装置。
【請求項7】
前記処理部は、
さらに、前記傾斜の変化に基づいて、前記対象までの距離を測定する、
請求項6に記載の情報処理装置。
【請求項8】
前記処理部は、
HDマップ(高精度3次元地図データ)に基づいて、前記対象の位置における前記仮想直線の間の幅を補正し、前記対象までの距離を算出する、
請求項1に記載の情報処理装置。
【請求項9】
前記処理部は、
前記画像における前記仮想直線の幅に対する前記対象の幅に基づいて、前記対象の現実の幅を測定する、
請求項1に記載の情報処理装置。
【請求項10】
前記画像は、映像情報のフレームとして取得された画像であり、
前記処理部はさらに、
前記画像における1又は複数の過去のフレームの画像を用いて、少なくとも1つの処理を実行する、
請求項1に記載の情報処理装置。
【請求項11】
処理部により、
第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、
前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、
前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、
前記仮想直線の間の実際の距離を取得し、
前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、
情報処理方法。
【請求項12】
コンピュータに実行させると、
第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、
前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、
前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、
前記仮想直線の間の実際の距離を取得し、
前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
距離測定は、車載カメラ、ロボット制御等の広い分野において必要な技術であり、種々の研究開発が進められている。この測距技術は、多くの場合、ステレオカメラにより撮像された画像等を用いて実装されている。2以上の複数のカメラを用いて測距することにより精度の高い測定が実現できるためである。
【0003】
一方で、2以上のカメラを用いる場合には、これらのカメラ同士を所定距離離れた位置に配置することによるキャプチャ側の配置の問題がある。複数のカメラを用いることによりキャリブレーションが必要となり、このキャリブレーションは、振動、温度等の状況により変更する必要があり、このキャリブレーションの変更を適切に適用する必要がある。また、複数のカメラから取得したデータを同じタイミングで処理する必要があるため、情報処理を実行するプロセッサ等においても処理の軽減が求められる。この他、複数のカメラを測距装置に搭載することにより、カメラ自体のコストがその分だけ高くなるという問題もある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007-240316号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本開示では、単眼による精度の高い距離測定を実現する情報処理装置を提供する。
【課題を解決するための手段】
【0006】
一実施形態によれば、情報処理装置は、記憶部と、処理部と、を備える。前記処理部は、第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、前記仮想直線の間の実際の距離を取得し、前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する。
【0007】
前記処理部は、前記仮想直線と前記下端との交差する点に基づいて、画像内の前記第2方向の下端における前記第1方向の前記仮想直線の幅と、現実の前記複数の直線の幅との比率を取得してもよい。
【0008】
前記処理部は、前記対象の下端の前記第2方向における座標値を取得し、前記対象の前記第2方向における下端の座標値における前記仮想直線の間の前記第1方向における幅と、前記画像の下端における前記仮想直線の前記第1方向における幅と、の比に基づいて、記対象までの距離を算出してもよい。
【0009】
前記処理部は、前記仮想直線の幅が一定値であるとして、前記対象までの距離を算出してもよい。
【0010】
前記処理部は、前記複数の直線の少なくとも一部から、複数の消失点を検出し、前記複数の消失点が所定範囲内にない場合には、前記対象までの間に傾斜が変化する箇所が存在することを検出してもよい。
【0011】
前記処理部は、前記複数の消失点が所定範囲内にない場合に、前記複数の消失点の位置のずれから、変化する前記傾斜の程度を算出してもよい。
【0012】
前記処理部は、さらに、前記傾斜の変化に基づいて、前記対象までの距離を測定してもよい。
【0013】
前記処理部は、HDマップ(高精度3次元地図データ)に基づいて、前記対象の位置における前記仮想直線の間の幅を補正し、前記対象までの距離を算出してもよい。
【0014】
前記処理部は、前記画像における前記仮想直線の幅に対する前記対象の幅に基づいて、前記対象の現実の幅を測定してもよい。
【0015】
前記画像は、映像情報のフレームとして取得された画像であってもよく、前記処理部はさらに、前記画像における1又は複数の過去のフレームの画像を用いて、少なくとも1つの処理を実行してもよい。
【0016】
検出する前記直線の少なくとも一部は、道路上の白線であってもよい。
【0017】
検出する前記直線の少なくとも一部は、ガードレールの上端又は下端であってもよい。
【0018】
検出する前記直線の少なくとも一部は、道路端であってもよい。
【0019】
前記対象は、人又は動物であってもよい。
【0020】
前記対象は、自動車であってもよい。
【0021】
前記対象は、障害物であってもよい。
【0022】
一実施形態によれば、情報処理方法は、処理部により、第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、前記仮想直線の間の実際の距離を取得し、前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する。
【0023】
情報処理方法は、上記に記載の情報処理装置の各ステップを実行する方法のうち少なくとも1ステップを含んでもよい。
【0024】
一実施形態によれば、プログラムは、コンピュータに実行させると、第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、前記仮想直線の間の実際の距離を取得し、前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、ことを実行する。
【0025】
プログラムは、コンピュータに、上記に記載の情報処理装置の各ステップを実行する方法のうち少なくとも1ステップを含む方法を実行させてもよい。
【図面の簡単な説明】
【0026】
図1】一実施形態に係る情報処理装置の構成を示すブロック図。
図2】カメラのピッチと垂直方向の位置のずれを示すグラフ。
図3】一実施形態に係る基準幅から対象の位置の取得を示す図。
図4】一実施形態に係る仮想直線の取得を示す図。
図5】一実施形態に係る情報処理装置の処理を示すフローチャート。
図6】一実施形態に係る情報処理装置の構成を示すブロック図。
図7】一実施形態に係る対象幅の測定を示す図。
図8】一実施形態に係る情報処理装置の構成を示すブロック図。
図9】一実施形態に係る勾配の変化検出を示す図。
図10】一実施形態に係る勾配の変動の算出を示す図。
図11】一実施形態に係る情報処理装置の構成を示すブロック図。
図12】車両制御システムの概略的な構成の一例を示すブロック図。
図13】車外情報検出部及び撮像部の設置位置の一例を示す説明図。
【発明を実施するための形態】
【0027】
以下、図面を参照して本開示における実施形態の説明をする。図面は、説明のために用いるものであり、実際の装置における各部の構成の形状、サイズ、又は、他の構成とのサイズの比等が図に示されている通りである必要はない。また、図面は、簡略化して書かれているため、図に書かれている以外にも実装上必要な構成は、適切に備えるものとする。また、明細書中等に、「以上」「以下」等の文言が用いられているかもしれないが、これは適宜適切に「より大きい(高い、多い)」「より小さい(低い、少ない)」と読み替えることが可能であり、逆も同様である。
【0028】
以下においては、自動車の車載装置を用いて説明するが、本願の適用範囲は、自動車の車載装置に限定されるものではない。例えば、ドローン、ロボット等に適用することもできる。
【0029】
(第1実施形態)
図1は、一実施形態に係る情報処理装置の構成を示すブロック図である。情報処理装置1は、撮像部100と、記憶部102と、画像処理部104と、仮想直線取得部106と、基準幅取得部108と、距離算出部110と、を備える。情報処理装置1は、撮像部100から取得した画像又は映像の情報に基づいて、対象となる障害物までの距離を測定する。対象は、人、動物、自動車、障害物等のものであるが、これに限定されるものではない。例えば、自転車に乗った人等も対象とすることができる。
【0030】
撮像部100は、例えば、カメラを備えて構成される。カメラは、例えば、自動車の前方の状態を画像、映像情報として取得するように自動車に搭載される。図1においては、情報処理装置1に撮像部100が備えられる形態としているが、これには限られない。例えば、情報処理装置1の外部に撮像部100が備えられていてもよい。撮像部100は、第1方向及び第1方向に交わる第2方向にアレイ状に受光画素を有し、この受光画素が受光した光を光電変換する信号に基づいて、第1方向及び第2方向にアレイ状の画素を有する画像を取得する。
【0031】
記憶部102は、撮像部100が取得した情報、及び、距離測定に必要な情報が格納される。情報処理装置1の少なくとも一部の機能が、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実現される場合には、記憶部102は、このソフトウェアに関するプログラム、実行ファイル等を格納してもよい。記憶部102は、非一時的な記憶領域を備えていてもよい。また、記憶部102は、フレームバッファ等の一時的な記憶領域を備えていてもよい。
【0032】
画像処理部104は、撮像部100が取得した画像、映像情報等に対して適切な画像処理を施す。画像処理部104は、例えば、撮像部100の光学系による歪みを補正する。歪みの補正は、撮像部100により予め設定されているパラメータ等により実行されてもよい。このパラメータ等は、任意のタイミング、又は、所定のタイミングで更新できるもであってもよい。
【0033】
仮想直線取得部106は、画像処理部104が処理した画像について、画像の下方から上方へと向かっている複数の直線、半直線、線分等を抽出する。例えば、仮想直線取得部106は、画像における下方(例えば、画像の下半分、下1/4といった所定領域であってもよいし、これ以外の領域を設定してもよい)に存在する線分を抽出する。抽出する線分等は、例えば、水平方向と垂直方向における傾きが所定角度範囲(例えば、60°~120°、70°~110°等で、これらに限られるものではない)に含まれるものに限定してもよい。所定角度範囲は、画像の左右の位置に依存する範囲であってもよい。抽出した線分に基づいて、仮想直線取得部106は、仮想直線を取得する。この処理についての詳細は、後述にて図面を用いて説明する。
【0034】
基準幅取得部108は、画像の下端における仮想直線の幅に基づいて、仮想直線間の幅と、自動車の前方の現実の状態における直線間との幅との比率を取得する。画像の下端において基準幅の比率を取得するのは、撮像部100のカメラのピッチ方向の影響を、道路を映している画像においては、他の領域よりも受けづらいためである。なお、画像の下端まで直線が続いている場合には、仮想直線を求める前に、画像処理部104が出力した画像に基づいて基準幅の比率を取得してもよい。また、この基準幅の比率の取得は、1フレームごと、すなわち、入力された画像の全てに対して実行される必要はなく、例えば、所定のタイミングごとに実行したり、仮想直線が大きく変化した場合に実行したり、と、実行のタイミングを適切な範囲で任意に変更することも可能である。
【0035】
図2は、カメラから物体までの実際の距離と、実際の距離において撮像される物体の位置のずれと、の関係をピッチのずれに基づいて示す図である。この図に示すように、ピッチのずれに対する現実の物体の位置のずれは、物体の位置がカメラに近いほど小さくなる。一般的に、通常走行時におけるピッチは、±1°程度のずれが生じるが、これに対する画像下端における長さのずれは、±3~4%程度であり、距離測定において大きな影響を及ぼさない。
【0036】
図1に戻り、距離算出部110は、仮想直線取得部106が取得した仮想直線及び基準幅取得部108が取得した基準幅比に基づいて、対象までの距離を算出する。
【0037】
図3は、基準幅比率から物体の距離を求める一例を示す図である。例えば、人が対象Oとして撮影された場合に、この対象Oとの距離を測定することについて説明する。撮像面の垂線と、撮像面から垂直に焦点距離fの点と、撮像面における幅yとにより直角三角形を形成する。この図3に示すように、距離算出部110は、例えば、対象Oを検出した矩形の下端、又は、対象Oを検出した領域の下端における垂直座標を取得してもよい。対象Oのこの他の位置における垂直座標を取得してもよいが、例えば、車載に用いる情報処理装置1である場合、安全に配慮して距離が一番短く取得される下端の位置とすることが望ましい。
【0038】
図に示すように、対象Oの距離における撮像面と平行な直線と、撮像面の垂線を含む相似な直角三角形を形成する。このように定義すると、対象Oまでの距離は、以下のように示すことができる。
【数1】
【0039】
距離算出部110は、この(1)式におけるYを固定値、例えば、車線幅として固定とすることにより、対象Oの位置における仮想直線の幅に基づいて対象Oまでの距離を取得することができる。例えば、対象Oの位置(以下、対象Oの垂直方向における画像の下側の位置を単に位置ということもある)における仮想直線の幅が撮像面においてuピクセルで取得されたとする。すなわち、画像において、対象Oの位置における仮想直線の幅がuピクセルであったとする。この場合、y = u × (ピクセルピッチ又はピクセル幅)とすることができる。ピクセルのピッチ又はピクセルの幅は、撮像部100の構成により取得することができる固定値である。このため、(1)式を用いることにより、距離算出部110は、対象Oまでの距離を算出することができる。
【0040】
距離算出部110により算出された距離を対象Oまでの距離として、情報処理装置1は、出力する。複数の対象がある場合には、対象ごとに距離を測定して出力してもよい。例えば、車線幅は、法律等により決められた値であることが多い。このため、車線幅を固定値、例えば、一般道では3m、高速道路では3.5m等とすることにより、適切に対象Oまでの距離を測定することができる。なお、対象の抽出は、各種特徴量を用いる等、適切な方法を用いることが可能である。
【0041】
また、車線幅は、距離測定する対象までは同じであると定義する一方で、画像下端での車線幅を適切に取得する形態としてもよい。例えば、撮像部100に備えられる車載カメラにおいて車のボンネットの一部が下端に撮像される場合には、このボンネットの一部の大きさ(固定値)に基づいて、仮想直線の画像下端における幅を算出してもよい。また、高速道路においては、自車がいるレーンによって車線幅が異なることがある。このような場合に対応するべく、自車のいるレーンにより、仮想直線の画像下端における幅を設定する態様としてもよい。車線幅は、道路によって異なることもある。このような場合には、例えば、GPS(Global Positioning System)等から受信した情報、CAN(Controller Area Network)等を介して取得した位置情報に基づいて、データベース等から車線幅を取得してもよい。もちろん、レーンごとの車線幅を取得することも可能である。
【0042】
別の例として、基準幅取得部108は、画像の下端と、仮想直線との交点に基づいて、基準となる車線幅を求めてもよい。これは、撮像部100の設置される位置が固定されていることから、画像下端における車線の幅が、画像処理部104により処理された画像においては、測定可能であるためである。このように、基準幅取得部108は、実際の車線と、仮想直線の間の幅との比率を求めるのではなく、車線幅又は仮想直線の間の実際の距離を取得してもよい。この場合にも上記の式等は同様の処理を実行することができる。
【0043】
次に、仮想直線取得部106による仮想直線の取得について説明する。道路が直進しており、車線が直進している場合には、種々の白線検出等の検出方法により取得した直線を仮想直線と同等のものとして利用することができる。このような場合には、仮想直線を取得する必要はない。
【0044】
一方で、道路がカーブしている場合には、白線検出した結果は、カーブした形状となる。このような場合、上記のように車線幅から距離を検出することが困難となる。例えば、対象Oの存在する領域(水平、垂直含む)の手前側を通る白線の法線を求めることが必要となる。このような複雑な演算は、フレームレートにより制限される実時間内の処理では困難なことが多い。このような場合には、仮想直線を検出する方法が有効となる。
【0045】
図4は、一実施形態に係る仮想直線の算出について説明するための図である。なお、以下において、図4に示されるように第1方向及び第2方向を定義することがある。すなわち、車線等の幅は、同一の第2方向の座標を有する第1方向における距離を示す。また、下端の位置等は、第2方向の座標値を示す。例えば、画像の下端が第2方向における座標の0であり、この座標値に基づいて、ピクセルごとに上方へいくほど座標値が増加する形態としてもよい。
【0046】
図は、例えば、画像処理部104により歪み等が補正された後の画像を示す。仮想直線取得部106は、種々の白線検出手法のうち1つを用いて、白線検出を実行する。白線検出は、所定角度範囲の傾きを有する範囲内において実行されてもよい。検出された白線のうち、所定領域、限定されない一例として、画像の下1/4といった領域等における直線のフィッティングを行い、仮想直線を取得する。このフィッティングも、種々の方法を用いることができる。
【0047】
このように仮想直線を取得することにより、カーブしている道路においても適切に対象までの距離を測定することが可能となる。例えば、対象Oの画像内における下端の垂直位置における仮想直線同士の幅を用いて(1)式により対象Oまでの距離を測定してもよい。この場合、上記と同様に、距離算出部110は、対象Oの検出された矩形の下端、又は、対象Oの下端を基準にした仮想直線同士の幅を取得することが望ましい。
【0048】
図5は、本実施形態に係る情報処理装置1の処理の一例を示すフローチャートである。
【0049】
まず、撮像部100は、画像を取得する(S100)。上述したように、撮像部100は、情報処理装置1に備えられてもよいし、外部に備えられていてもよい。外部に備えられている場合には、情報処理装置1は、本ステップにおいて撮像部100から画像を受信等することにより取得する。
【0050】
次に、画像処理部104は、画像処理を実行する(S102)。画像取得と、画像処理との間に、記憶部102に画像データが格納されてもよい。この場合、画像処理部104は、記憶部102に格納されている画像データを読み込み、画像処理を実行する。適切に処理された画像は、記憶部102に再度格納されてもよい。
【0051】
次に、仮想直線取得部106は、画像処理された画像において仮想直線を取得する(S104)。なお、白線検出等により白線が直線として検出されている場合には、このステップは省略し、検出された白線を以下の処理に用いてもよい。すなわち、この処理は、任意に省略することができる。
【0052】
次に、基準幅取得部108は、車線の幅、又は、仮想直線同士の幅に対する車線の幅の比率を取得する(S106)。基準幅取得部108は、白線検出の結果に基づいて、画像の下端において車線幅等を取得してもよい。仮想直線が取得されている場合には、基準幅取得部108は、仮想直線と画像下端との交点の位置に基づいて、画像の下端における車線幅を取得してもよい。
【0053】
次に、距離算出部110は、対象を検出し、この検出結果と上記の各ステップで取得されたデータ等に基づいて、対象までの距離を測定する(S108)。例えば、距離算出部110は、上述したように検出された対象を表す矩形領域の下端の位置に基づいて距離を算出する。また、距離算出部110は、対象が複数検出された場合には、複数の対象について距離を取得してもよい。
【0054】
このように、画像を用いて対象までの距離を測定する。これらの処理は、例えば、フレームごとに繰り返されてもよい。また、S106の処理は、フレームごとに実行される必要はない。例えば、所定のフレームごとに、S106の処理が実行されてもよい。また、別の例として、過去のフレームの情報を用いてS102からS108までの少なくとも1つの処理を実行してもよい。例えば、過去フレームと現フレームとの画像における差異に基づいて、仮想直線を取得、補正したり、斜線幅を取得、補正したり、距離を取得、補正したりしてもよい。
【0055】
以上のように、本実施形態によれば、単眼カメラを用いて適切に高精度な対象までの距離測定を実現することが可能となる。この結果、複数のカメラを用いることによる金銭的及び搭載位置等のコストを削減することができる。さらに、複数カメラを用いた場合における煩雑なキャリブレーション処理、また、複数カメラのデータを取り扱いに関する演算コストをも削減することができる。
【0056】
(第2実施形態)
上述の情報処理装置1と同じデータを用いることにより、対象の幅を推定することも可能である。
【0057】
図6は、本実施形態に係る情報処理装置1を示すブロック図である。情報処理装置1は、図1の構成に加えて、対象幅取得部112を備えてもよい。対象幅取得部112は、基準幅取得部108が取得した車線の幅及び対象の画像上の幅に基づいて、対象の幅を取得する。
【0058】
対象幅取得部112は、対象の下端(前述の実施形態と同様に検出された矩形の下端でもよい)の垂直座標における車線同士の画素数及び対象の下端の幅の画素数を取得する。
【0059】
図7は、本実施形態における情報処理装置1において取得された画像の一例を示す。車線同士の距離は、例えば、図7においては、3.5mで固定されている。このため、対象の位置における車線の幅[pixel]と、対象の幅[pixel]と、に基づいて、対象の幅[m]を測定することができる。
【0060】
例えば、図に示すように、対象の位置における車線幅が140ピクセル、対象の幅が120ピクセルである場合には、3.5[m] × 120 / 140 = 3.0[m]と求めることができる。
【0061】
このように、本実施形態によれば、対象の幅も同様のステップで求めることが可能となる。例えば、このように対象の幅を取得することにより、道路走行中における対象の車の種別を取得することもできる。車の種別を取得することにより、ADAS(Advanced Driver-Assistance Systems)に用いるデータとして利用することも可能である。
【0062】
(第3実施形態)
上記のように仮想直線を用いることにより、撮像している画像において傾斜の変動がある場合にも対象との距離を測定することができる。本実施形態においては、道路の勾配が変化する場合における情報処理装置1の処理について説明する。
【0063】
勾配が変化する場合には、対象の高さによらず対象の幅、車線幅は、前述の実施形態と同様に取得することができるが、対象までの直線距離は、勾配により異なるものとなる。このため、勾配に関する情報を取得し、直線距離を算出する必要がある。
【0064】
図8は、本実施形態における情報処理装置1を示すブロック図である。情報処理装置1は、前述の第1実施形態の情報処理装置1に加え、消失点取得部114と、勾配算出部116と、を備える。なお、第2実施形態における情報処理装置1に加えて消失点取得部114と、勾配算出部116と、を備える構成であってもよい。
【0065】
消失点取得部114は、画像から検出された直線、半直線、線分に基づいて、消失点を取得する。消失点の取得は、一般的な手法で実行されてもよい。消失点の取得には、仮想直線取得部106が取得した仮想直線に関する情報を用いてもよく、例えば、消失点取得部114は、仮想直線取得部106が取得した仮想直線同士が交わる点を算出し、この点を消失点として取得してもよい。消失点取得部114は、例えば、画像下端からの直線に基づいて、第1消失点を検出する。そして、白線検出を行った結果において、画像内における傾きが所定値以上に変動する箇所で、そこから上部における直線検出等により、第2消失点を検出してもよい。
【0066】
勾配算出部116は、取得された消失点から、勾配が変化する位置及び勾配の変化度合いを算出する。算出方法については、後述にて詳しく説明する。
【0067】
図9は、複数の消失点が検出される一例を示す図である。この図に示すように、画像内で勾配が大きく変動する場合、異なる位置に消失点が発生する。そこで、仮想直線取得部106により、勾配が変動する前後において消失点の位置を検出する。例えば、仮想直線取得部106は、画像を第2方向において所定領域ごとに分割しておき、当該領域内における線分等の検出を実行してもよい。そして、それぞれの領域において検出された傾きの差又は比が所定値を越える場合には、それぞれに対して仮想直線を取得してもよい。
【0068】
消失点取得部114は、取得された複数組の仮想直線から、複数の消失点を取得する。図9の場合、下端からの仮想直線の組による第1消失点と、上方の仮想直線の組による第2消失点と、を抽出する。そして、これらの消失点の第2方向における距離を画素単位で抽出する。
【0069】
図10は、図9のような勾配の変動を有する道路について、その横からの断面図を模式的に示す図である。実線が道路を表し、点線が消失点の方向を示す。この図には、例えば、撮像面が示されている。この図から、以下の式により勾配の変動値を取得することができる。
【数2】
f[m]及びピクセルピッチは、カメラの構成により取得できる値であり、diff[pix]は、上記の説明により取得することが可能である。このため、(2)式に基づいて、道路の勾配の変動がどの程度であるかを算出することが可能となる。
【0070】
白線の検出結果と、車線の幅により、カメラからどの距離までが勾配が変化せず、どこから勾配が変化するかを取得することが可能となる。この結果、これらの距離と勾配により、対象までの距離を距離算出部110が算出することが可能となる。
【0071】
また、計算を簡略化し、以下のように対象までの距離を算出することも可能である。
【数3】
Xは、(1)式に基づいて、対象Oの位置における車線幅から求められた距離であり、θは、(2)式に基づいて求められた勾配である。(3)式により、対象Oまでの直線距離を近似して求める形態としてもよい。
【0072】
以上のように、画像内において勾配の変動がある場合であっても、LiDAR(Light Detection and Ranging)等の他のセンサ等が必要となる情報がない場合でも、単眼カメラにおいて精度のよい対象までの距離計測を実現することが可能となる。
【0073】
なお、消失点の検出は、多くの方法においてブレが発生することがある。このようなブレの影響を少なくするために、例えば、図9における第2消失点が、第1消失点から破線で示す所定範囲内にない場合に、第2消失点から勾配を求めるようにしてもよい。このブレは、第2方向のみにおいて考慮してもよい。
【0074】
(第4実施形態)
前述した各実施形態においては、車線の幅は一定であるという仮定の下、距離測定を実行していた。しかしながら、場所によっては車線の幅は一定ではないことがある。このような場合、前述の各実施形態における距離測定方法では、距離の算出誤差が生じることを回避するのは困難である。そこで、本実施形態における距離計測は、このような場合にも対応しようとするものである。
【0075】
図11は、本実施形態に係る情報処理装置1を示すブロック図である。情報処理装置1は、図1の構成に加え、さらにマップ読込部118を備える。なお、第2実施形態又は第3実施形態に係る情報処理装置1にマップ読込部118を備えている構成であってもよい。
【0076】
マップ読込部118は、外部又は記憶部102からマップを読み込む。マップ読込部118が読み込むマップは、例えば、HDマップであってもよい。このマップには、車線幅の情報が記録されている。マップ読込部118は、自車の現在の位置に基づいて周辺のマップを適切なタイミングで読み込む。自車の現在の位置は、情報処理装置1に備えられるGPS受信装置(図示しない)から取得してもよいし、ハンドル等の積分値により読み込んでもよいし、SLAM(Simultaneous Localization and Mapping)等の技術により取得されてもよい。
【0077】
距離算出部110は、取得したマップに基づいて、画像における車線幅が一定であるか否かを確認した上で、対象までの距離を測定する。
【0078】
HDマップを用いる場合には、自車からの距離により車線幅が一定であるか否かを確認することができる。このため、距離算出部110は、車線幅が一定であると仮定した上で、一度対象までの距離を測定する。そして、この距離がHDマップから取得された車線幅が一定ではない距離に属する場合には、HDマップから取得された車線幅に基づいて、距離を再計算する。距離算出部110は、例えば、対象の位置における車線幅と、画像下端における車線幅との比率に基づいて、対象までの距離を再計算する。一例として、車線が一定であると仮定して算出された距離に、(対象の位置における車線幅) / (画像下端おける車線幅)を積算することにより、車線幅を考慮した距離に補正することができる。
【0079】
このようにマップ読込部118が読み込んだ車線幅により距離算出部110が距離を補正することができる。
【0080】
車線幅が画像において手前側より奥側が狭くなっており、対象が奥側に存在する場合には、対象の位置は、実際の位置よりも遠くに検出される。このため、車線幅を一定として算出した対象の位置は、実際の位置よりも遠く算出され、車線幅が変動した位置よりも奥であると検出される。この場合には、距離算出部110は、車線幅が変動した向こう側に対象があることを検知して、対象の距離の再計算を実行する。そして、この際計算により、精度の高い距離測定を実行することができる。
【0081】
逆に、車線幅が画像において手前側より奥側が広くなっており、対象が奥側に存在する場合には、対象の位置は、実際の位置よりも近くに検出される。この場合、車線幅が一定として検出した場合の距離に基づいてHDマップにおける車線幅が変動する位置と比較しても、車線幅が変化する前の位置と判断される可能性がある。このような場合には、再計算されないことがある。
【0082】
距離測定の精度を求める上に置いては、車線幅が変動する可能性がある範囲においては、車線幅が一定である距離と、車線幅が変動した後の距離とを算出し、これらの距離と、自車と変動位置との距離とに基づいて、求めた複数の距離から実際の距離を選択する態様としてもよい。
【0083】
以上のように、本実施形態によれば、車線幅が変化する場合においても、適切に対象までの距離を測定することができる。
【0084】
なお、このようにHDマップを用いる場合には、基準幅取得部108により基準となる車線幅を取得することなく対象までの距離を測定する態様とすることもできる。すなわち、基準となる画像下端における仮想直線間の距離を、HDマップ上における自車位置から読み取った値とすることが可能となる。
【0085】
上記においては、車線として説明したが、これは車線ではなくてもよい。例えば、道路脇に備えられるガードレールの上端又は下端を直線として検出してもよい。別の例としては、道路端を直線として検出してもよい。道路端は、例えば、高速道路であれば中央分離帯や側壁と道路面との設置面、一般道であれば、側道、歩行者道との境界を検出する形態であってもよい。
【0086】
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
【0087】
図12は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図12に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
【0088】
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図12では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
【0089】
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
【0090】
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
【0091】
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
【0092】
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
【0093】
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
【0094】
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
【0095】
ここで、図13は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
【0096】
なお、図13には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
【0097】
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
【0098】
図12に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
【0099】
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
【0100】
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
【0101】
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
【0102】
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
【0103】
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(登録商標)(Global System of Mobile communications)、WiMAX(登録商標)、LTE(登録商標)(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
【0104】
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
【0105】
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
【0106】
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
【0107】
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
【0108】
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
【0109】
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
【0110】
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
【0111】
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図12の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【0112】
なお、図12に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
【0113】
なお、図1等を用いて説明した本実施形態に係る情報処理装置1の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【0114】
以上説明した車両制御システム7000において、図1等を用いて説明した本実施形態に係る情報処理装置1は、図12に示した応用例の車外情報検出ユニット7400、撮像部7410及び車外情報検出部7420の少なくとも一部に適用することができる。
【0115】
また、図1等を用いて説明した情報処理装置1の少なくとも一部の構成要素は、図12に示した車外情報検出ユニット7400、撮像部7410及び車外情報検出部7420の少なくとも一部のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1等を用いて説明した情報処理装置1が、図12に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
【0116】
前述した実施形態は、以下のような形態としてもよい。
【0117】
(1)
記憶部と、処理部と、を備え、
前記処理部は、
第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、
前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、
前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、
前記仮想直線の間の実際の距離を取得し、
前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、
情報処理装置。
【0118】
(2)
前記処理部は、
前記仮想直線と前記下端との交差する点に基づいて、画像内の前記第2方向の下端における前記第1方向の前記仮想直線の幅と、現実の前記複数の直線の幅との比率を取得する、
(1)に記載の情報処理装置。
【0119】
(3)
前記処理部は、
前記対象の下端の前記第2方向における座標値を取得し、
前記対象の前記第2方向における下端の座標値における前記仮想直線の間の前記第1方向における幅と、前記画像の下端における前記仮想直線の前記第1方向における幅と、の比に基づいて、前記対象までの距離を算出する、
(1)又は(2)に記載の情報処理装置。
【0120】
(4)
前記処理部は、
前記仮想直線の幅が一定値であるとして、前記対象までの距離を算出する、
(3)に記載の情報処理装置。
【0121】
(5)
前記処理部は、
前記複数の直線の少なくとも一部から、複数の消失点を検出し、
前記複数の消失点が所定範囲内にない場合には、前記対象までの間に傾斜が変化する箇所が存在することを検出する、
(1)から(4)のいずれかに記載の情報処理装置。
【0122】
(6)
前記処理部は、
前記複数の消失点が所定範囲内にない場合に、前記複数の消失点の位置のずれから、変化する前記傾斜の程度を算出する、
(5)に記載の情報処理装置。
【0123】
(7)
前記処理部は、
さらに、前記傾斜の変化に基づいて、前記対象までの距離を測定する、
(6)に記載の情報処理装置。
【0124】
(8)
前記処理部は、
HDマップ(高精度3次元地図データ)に基づいて、前記対象の位置における前記仮想直線の間の幅を補正し、前記対象までの距離を算出する、
(1)から(7)のいずれかに記載の情報処理装置。
【0125】
(9)
前記処理部は、
前記画像における前記仮想直線の幅に対する前記対象の幅に基づいて、前記対象の現実の幅を測定する、
(1)から(8)のいずれかに記載の情報処理装置。
【0126】
(10)
前記画像は、映像情報のフレームとして取得された画像であり、
前記処理部はさらに、
前記画像における1又は複数の過去のフレームの画像を用いて、少なくとも1つの処理を実行する、
(1)から(9)のいずれかに記載の情報処理装置。
【0127】
(11)
検出する前記直線の少なくとも一部は、道路上の白線である、
(1)から(10)のいずれかに記載の情報処理装置。
【0128】
(12)
検出する前記直線の少なくとも一部は、ガードレールの上端又は下端である、
(1)から(11)のいずれかに記載の情報処理装置。
【0129】
(13)
検出する前記直線の少なくとも一部は、道路端である、
(1)から(12)のいずれかに記載の情報処理装置。
【0130】
(14)
前記対象は、人又は動物である、
(1)から(13)のいずれかに記載の情報処理装置。
【0131】
(15)
前記対象は、自動車である、
(1)から(14)のいずれかに記載の情報処理装置。
【0132】
(16)
前記対象は、障害物である、
(1)から(15)のいずれかに記載の情報処理装置。
【0133】
(17)
処理部により、
第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、
前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、
前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、
前記仮想直線の間の実際の距離を取得し、
前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、
情報処理方法。
【0134】
(18)
(2)から(16)に記載の情報処理装置の各ステップを実行する方法のうち少なくとも1ステップを含む、
(17)に記載の情報処理方法。
【0135】
(19)
コンピュータに実行させると、
第1方向及び前記第1方向に交わる第2方向にアレイ状に画素を有する画像を取得し、
前記画像の前記第2方向における下端から上方へ向けて所定角度範囲内の傾きを有して延伸される複数の直線の少なくとも一部を検出し、
前記複数の直線について、検出された少なくとも一部から、仮想直線を取得し、
前記仮想直線の間の実際の距離を取得し、
前記画像における、前記仮想直線に対する対象の位置及び前記対象の位置における前記仮想直線の間の幅から、前記対象までの距離を測定する、
プログラム。
【0136】
(20)
コンピュータに、
(2)から(16)に記載の情報処理装置の各ステップを実行する方法のうち少なくとも1ステップを含む方法を実行させる、
(19)に記載のプログラム。
【0137】
本開示の態様は、前述した実施形態に限定されるものではなく、想到しうる種々の変形も含むものであり、本開示の効果も前述の内容に限定されるものではない。各実施形態における構成要素は、適切に組み合わされて適用されてもよい。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
【符号の説明】
【0138】
1: 情報処理装置、
100: 撮像部、102: 記憶部、104: 画像処理部、106: 仮想直線取得部、108: 基準幅取得部、110: 距離算出部、
112: 対象幅取得部、
114: 消失点取得部、116: 勾配算出部、
118: マップ読込部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13