(57)【要約】【課題】路面の高さの検出精度を向上させることができる路面検出装置を提供すること。【解決手段】実施形態にかかる路面検出装置は、車両が走行する路面を含む撮像領域を撮像するステレオカメラから出力された撮像画像データを取得する画像取得部と、撮像画像データに基づいて、ステレオカメラの視点での路面の表面形状を含む撮像領域の３次元モデルを生成する３次元モデル生成部と、３次元モデルから平面を推定し、平面の法線ベクトルの向き及びステレオカメラに対する平面の高さ位置を、路面の法線ベクトルの向きの正解値およびステレオカメラに対する路面の高さ位置の正解値にそれぞれ整合させるように３次元モデルを補正する補正部と、を備える。【選択図】図４
2020090138.tif 000002
【特許請求の範囲】
【請求項１】
車両が走行する路面を含む撮像領域を撮像するステレオカメラから出力された撮像画像データを取得する画像取得部と、
前記撮像画像データに基づいて、前記ステレオカメラの視点での前記路面の表面形状を含む前記撮像領域の３次元モデルを生成する３次元モデル生成部と、
前記３次元モデルから平面を推定し、前記平面の法線ベクトルの向き及び前記ステレオカメラに対する前記平面の高さ位置を、前記路面の法線ベクトルの向きの正解値および前記ステレオカメラに対する前記路面の高さ位置の正解値にそれぞれ整合させるように前記３次元モデルを補正する補正部と、を備える、
路面検出装置。
【請求項２】
前記補正部は、
平面の法線ベクトルの向きを前記路面の法線ベクトルの向きの正解値に整合させた後、前記ステレオカメラに対する前記平面の高さ位置を前記ステレオカメラに対する前記路面の高さ位置の正解値に整合させるように前記３次元モデルの全体を補正する、
請求項１に記載の路面検出装置。
【請求項３】
前記補正部は、
前記路面の法線ベクトルの向きの正解値および前記ステレオカメラに対する前記路面の高さ位置の正解値を、前記ステレオカメラのキャリブレーション時に決定された値に基づいて取得する、
請求項２に記載の路面検出装置。
【請求項４】
コンピュータに、
車両が走行する路面を含む撮像領域を撮像するステレオカメラから出力された撮像画像データを取得する画像取得ステップと、
前記撮像画像データに基づいて、前記ステレオカメラの視点での前記路面の表面形状を含む前記撮像領域の３次元モデルを生成する３次元モデル生成ステップと、
前記３次元モデルから平面を推定し、前記平面の法線ベクトルの向き及び前記ステレオカメラに対する前記平面の高さ位置を、前記路面の法線ベクトルの向きの正解値および前記ステレオカメラに対する前記路面の高さ位置の正解値にそれぞれ整合させるように前記３次元モデルを補正する補正ステップと、を実行させるための、
路面検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、路面検出装置に関する。
【背景技術】
【０００２】
従来、車両が走行する路面を含む撮像領域を撮像するステレオカメラ等の撮像部から出力された撮像画像データに基づいて、撮像部に対する路面の高さ位置などといった路面の状態を検出する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６２０９６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような従来の技術では、車両の揺れに伴う撮像部の揺れを考慮していない。撮像部の揺れが発生すると、実際には平坦な路面が、撮像画像データ上では凹凸が存在する路面として検出されるので、路面の検出精度が悪くなることがある。
【課題を解決するための手段】
【０００５】
本発明の実施形態にかかる路面検出装置は、一例として、車両が走行する路面を含む撮像領域を撮像するステレオカメラから出力された撮像画像データを取得する画像取得部と、前記撮像画像データに基づいて、前記ステレオカメラの視点での前記路面の表面形状を含む前記撮像領域の３次元モデルを生成する３次元モデル生成部と、前記３次元モデルから平面を推定し、前記平面の法線ベクトルの向き及び前記ステレオカメラに対する前記平面の高さ位置を、前記路面の法線ベクトルの向きの正解値および前記ステレオカメラに対する前記路面の高さ位置の正解値にそれぞれ整合させるように前記３次元モデルを補正する補正部と、を備える。
【０００６】
よって、一例としては、路面の検出精度の悪化を抑制することができる。
【０００７】
前記補正部は、さらに、平面の法線ベクトルの向きを前記路面の法線ベクトルの向きの正解値に整合させた後、前記ステレオカメラに対する前記平面の高さ位置を前記ステレオカメラに対する前記路面の高さ位置の正解値に整合させるように前記３次元モデルの全体を補正する。
【０００８】
よって、一例としては、補正を簡単に実行することができる。
【０００９】
前記補正部は、さらに、前記路面の法線ベクトルの向きの正解値および前記ステレオカメラに対する前記路面の高さ位置の正解値を、前記ステレオカメラのキャリブレーション時に決定された値に基づいて取得する。
【００１０】
よって、一例としては、正解値を容易に取得することができる。
【００１１】
本発明の実施形態にかかる路面検出プログラムは、コンピュータに、車両が走行する路面を含む撮像領域を撮像するステレオカメラから出力された撮像画像データを取得する画像取得ステップと、前記撮像画像データに基づいて、前記ステレオカメラの視点での前記路面の表面形状を含む前記撮像領域の３次元モデルを生成する３次元モデル生成ステップと、前記３次元モデルから平面を推定し、前記平面の法線ベクトルの向き及び前記ステレオカメラに対する前記平面の高さ位置を、前記路面の法線ベクトルの向きの正解値および前記ステレオカメラに対する前記路面の高さ位置の正解値にそれぞれ整合させるように前記３次元モデルを補正する補正ステップと、を実行させる。
【００１２】
よって、一例としては、路面の検出精度の悪化を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態にかかる路面検出装置を搭載する車両の車室の一部が透視された状態の一例を示す斜視図である。
【図２】図２は、実施形態にかかる路面検出装置を搭載する車両の一例を示す平面図である。
【図３】図３は、実施形態にかかるＥＣＵの構成およびその周辺構成の一例を示すブロック図である。
【図４】図４は、実施形態にかかるＥＣＵで実現されるソフトウェア構成を例示した図である。
【図５】図５は、実施形態にかかるＥＣＵの路面検出機能の概要について説明する図である。
【図６】図６は、実施形態にかかるＥＣＵの路面検出機能の詳細について説明する図である。
【図７】図７は、実施形態にかかるＥＣＵの路面検出機能の詳細について説明する図である。
【図８】図８は、実施形態にかかるＥＣＵの路面検出機能の詳細について説明する図である。
【図９】図９は、実施形態にかかるＥＣＵの路面検出処理の手順の一例を示すフロー図である。
【図１０】図１０は、実施形態にかかるＥＣＵと比較例にかかる構成とによる平坦な路面の検出結果である。
【発明を実施するための形態】
【００１４】
以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成、ならびに当該構成によってもたらされる作用、結果、および効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成に基づく種々の効果や、派生的な効果のうち、少なくとも１つを得ることが可能である。
【００１５】
［実施形態］
実施形態の構成について、図１〜図１０を用いて説明する。
【００１６】
（車両の構成）
図１は、実施形態にかかる路面検出装置を搭載する車両１の車室２ａの一部が透視された状態の一例を示す斜視図である。図２は、実施形態にかかる路面検出装置を搭載する車両１の一例を示す平面図である。
【００１７】
実施形態の車両１は、例えば、不図示の内燃機関を駆動源とする自動車、すなわち内燃機関自動車であってもよいし、不図示の電動機を駆動源とする自動車、すなわち電気自動車や燃料電池自動車等であってもよいし、それらの双方を駆動源とするハイブリッド自動車であってもよいし、他の駆動源を備えた自動車であってもよい。また、車両１は、種々の変速装置を搭載することができ、内燃機関や電動機を駆動するのに必要な種々の装置、例えばシステムや部品等を搭載することができる。また、車両１における車輪３の駆動に関わる装置の方式や、数、レイアウト等は、種々に設定することができる。
【００１８】
図１に示すように、車体２は、不図示の乗員が乗車する車室２ａを構成している。車室２ａ内には、乗員としての運転者の座席２ｂに臨む状態で、操舵部４、加速操作部５、制動操作部６、変速操作部７等が設けられている。操舵部４は、例えば、ダッシュボード２４から突出したステアリングホイールである。加速操作部５は、例えば、運転者の足下に位置されたアクセルペダルである。制動操作部６は、例えば、運転者の足下に位置されたブレーキペダルである。変速操作部７は、例えば、センターコンソールから突出したシフトレバーである。なお、操舵部４、加速操作部５、制動操作部６、変速操作部７等は、これらには限定されない。
【００１９】
また、車室２ａ内には、表示装置８、および音声出力装置９が設けられている。音声出力装置９は、例えば、スピーカである。表示装置８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＯＥＬＤ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｔ  Ｄｉｓｐｌａｙ）等である。表示装置８は、例えば、タッチパネル等、透明な操作入力部１０で覆われている。乗員は、操作入力部１０を介して表示装置８の表示画面に表示される画像を視認することができる。また、乗員は、表示装置８の表示画面に表示される画像に対応した位置で、手指等で操作入力部１０を触れたり押したり動かしたりして操作することで、操作入力を実行することができる。これらの表示装置８、音声出力装置９、操作入力部１０等は、例えば、ダッシュボード２４の車幅方向、すなわち左右方向の中央部に位置されたモニタ装置１１に設けられている。モニタ装置１１は、スイッチ、ダイヤル、ジョイスティック、押しボタン等の不図示の操作入力部を有することができる。また、モニタ装置１１とは異なる車室２ａ内の他の位置に不図示の音声出力装置を設けることができる。またさらに、モニタ装置１１の音声出力装置９と他の音声出力装置から、音声を出力することができる。なお、モニタ装置１１は、例えば、ナビゲーションシステムやオーディオシステムと兼用されうる。
【００２０】
図１、図２に示すように、車両１は、例えば、四輪自動車であり、左右二つの前輪３Ｆと、左右二つの後輪３Ｒとを有する。これら４つの車輪３は、いずれも転舵可能に構成されうる。
【００２１】
また、車体２には、複数の撮像部１５として、例えば４つの撮像部１５ａ〜１５ｄが設けられている。撮像部１５は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＩＳ（ＣＭＯＳ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ）等の撮像素子を内蔵するデジタル式のステレオカメラである。ステレオカメラは複数台のカメラで物体を同時に撮影し、各カメラで得られた物体の画像上での位置の違い、つまり、視差から、その物体の位置や立体的な形状を検出する。これにより、画像に含まれる路面等の形状情報を３次元情報として取得することができる。
【００２２】
撮像部１５は、所定のフレームレートで撮像画像データを出力することができる。撮像画像データは動画データであってもよい。撮像部１５は、それぞれ、広角レンズまたは魚眼レンズを有し、水平方向には例えば１４０°以上２２０°以下の範囲を撮影することができる。また、撮像部１５の光軸は斜め下方に向けて設定されている場合もある。これにより、撮像部１５は、車両１が移動可能な路面や物体を含む車両１の外部の周辺の環境を逐次撮影し、撮像画像データとして出力する。ここで、物体は、車両１の走行時等に障害物となり得る岩、樹木、人間、自転車、他の車両等である。
【００２３】
撮像部１５ａは、例えば、車体２の後側の端部２ｅに位置され、リアハッチのドア２ｈのリアウインドウの下方の壁部に設けられている。撮像部１５ｂは、例えば、車体２の右側の端部２ｆに位置され、右側のドアミラー２ｇに設けられている。撮像部１５ｃは、例えば、車体２の前側、すなわち車両前後方向の前方側の端部２ｃに位置され、フロントバンパやフロントグリル等に設けられている。撮像部１５ｄは、例えば、車体２の左側の端部２ｄに位置され、左側のドアミラー２ｇに設けられている。
【００２４】
（ＥＣＵのハードウェア構成）
次に、図３を用いて、実施形態のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１４、及びＥＣＵ１４の周辺構成について説明する。図３は、実施形態にかかるＥＣＵ１４の構成およびその周辺構成を示すブロック図である。
【００２５】
図３に示すように、路面検出装置としてのＥＣＵ１４の他、モニタ装置１１、操舵システム１３、ブレーキシステム１８、舵角センサ１９、アクセルセンサ２０、シフトセンサ２１、車輪速センサ２２等は、電気通信回線としての車内ネットワーク２３を介して電気的に接続されている。車内ネットワーク２３は、例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）として構成されている。
【００２６】
ＥＣＵ１４は、車内ネットワーク２３を通じて制御信号を送ることで、操舵システム１３、ブレーキシステム１８等を制御することができる。また、ＥＣＵ１４は、車内ネットワーク２３を介して、トルクセンサ１３ｂ、ブレーキセンサ１８ｂ、舵角センサ１９、アクセルセンサ２０、シフトセンサ２１、車輪速センサ２２等の検出結果や、操作入力部１０等の操作信号等を、受け取ることができる。
【００２７】
また、ＥＣＵ１４は、複数の撮像部１５で得られた画像データに基づいて演算処理や画像処理を実行し、より広い視野角の画像を生成したり、車両１を上方から見た仮想的な俯瞰画像を生成したりすることができる。
【００２８】
ＥＣＵ１４は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４ａ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４ｂ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４ｃ、表示制御部１４ｄ、音声制御部１４ｅ、フラッシュメモリ等であるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）１４ｆ等を有している。
【００２９】
ＣＰＵ１４ａは、例えば、表示装置８で表示される画像に関連した画像処理や、車両１の目標位置の決定、車両１の移動経路の演算、物体との干渉の有無の判断、車両１の自動制御、自動制御の解除等の、各種の演算処理および制御を実行することができる。ＣＰＵ１４ａは、ＲＯＭ１４ｂ等の不揮発性の記憶装置にインストールされ記憶されたプログラムを読み出し、当該プログラムにしたがって演算処理を実行することができる。かかるプログラムには、ＥＣＵ１４において路面検出処理を実現するためのコンピュータプログラムである路面検出プログラムが含まれる。
【００３０】
ＲＡＭ１４ｃは、ＣＰＵ１４ａでの演算で用いられる各種のデータを一時的に記憶する。
【００３１】
表示制御部１４ｄは、ＥＣＵ１４での演算処理のうち、主として、撮像部１５で得られた画像データを用いた画像処理や、表示装置８で表示される画像データの合成等を実行する。
【００３２】
音声制御部１４ｅは、ＥＣＵ１４での演算処理のうち、主として、音声出力装置９で出力される音声データの処理を実行する。
【００３３】
ＳＳＤ１４ｆは、書き換え可能な不揮発性の記憶部であって、ＥＣＵ１４の電源がオフされた場合にあってもデータを記憶することができる。
【００３４】
なお、ＣＰＵ１４ａや、ＲＯＭ１４ｂ、ＲＡＭ１４ｃ等は、同一パッケージ内に集積されうる。また、ＥＣＵ１４は、ＣＰＵ１４ａに代えて、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等の他の論理演算プロセッサや論理回路等が用いられる構成であってもよい。また、ＳＳＤ１４ｆに代えてＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）が設けられてもよいし、ＳＳＤ１４ｆやＨＤＤは、ＥＣＵ１４とは別に設けられてもよい。
【００３５】
操舵システム１３は、アクチュエータ１３ａと、トルクセンサ１３ｂとを有し、少なくとも二つの車輪３を操舵する。すなわち、操舵システム１３は、ＥＣＵ１４等によって電気的に制御されて、アクチュエータ１３ａを動作させる。操舵システム１３は、例えば、電動パワーステアリングシステムや、ＳＢＷ（Ｓｔｅｅｒ  ｂｙ  Ｗｉｒｅ）システム等である。操舵システム１３は、アクチュエータ１３ａによって操舵部４にトルク、すなわちアシストトルクを付加して操舵力を補ったり、アクチュエータ１３ａによって車輪３を転舵したりする。この場合、アクチュエータ１３ａは、一つの車輪３を転舵してもよいし、複数の車輪３を転舵してもよい。また、トルクセンサ１３ｂは、例えば、運転者が操舵部４に与えるトルクを検出する。
【００３６】
ブレーキシステム１８は、例えば、ブレーキのロックを抑制するＡＢＳ（Ａｎｔｉ−ｌｏｃｋ  Ｂｒａｋｅ  Ｓｙｓｔｅｍ）や、コーナリング時の車両１の横滑りを抑制する横滑り防止装置（ＥＳＣ：Ｅｌｅｃｔｒｏｎｉｃ  Ｓｔａｂｉｌｉｔｙ  Ｃｏｎｔｒｏｌ）、ブレーキ力を増強させブレーキアシストを実行する電動ブレーキシステム、ＢＢＷ（Ｂｒａｋｅ  ｂｙ  Ｗｉｒｅ）等である。ブレーキシステム１８は、アクチュエータ１８ａを介して、車輪３ひいては車両１に制動力を与える。また、ブレーキシステム１８は、左右の車輪３の回転差などからブレーキのロックや、車輪３の空回り、横滑りの兆候等を検出して、各種制御を実行することができる。ブレーキセンサ１８ｂは、例えば、制動操作部６の可動部の位置を検出するセンサである。ブレーキセンサ１８ｂは、可動部としてのブレーキペダルの位置を検出することができる。ブレーキセンサ１８ｂは、変位センサを含む。
【００３７】
舵角センサ１９は、例えば、ステアリングホイール等の操舵部４の操舵量を検出するセンサである。舵角センサ１９は、例えば、ホール素子などを用いて構成される。ＥＣＵ１４は、運転者による操舵部４の操舵量や、自動操舵時の各車輪３の操舵量等を、舵角センサ１９から取得して各種制御を実行する。なお、舵角センサ１９は、操舵部４に含まれる回転部分の回転角度を検出する。舵角センサ１９は、角度センサの一例である。
【００３８】
アクセルセンサ２０は、例えば、加速操作部５の可動部の位置を検出するセンサである。アクセルセンサ２０は、可動部としてのアクセルペダルの位置を検出することができる。アクセルセンサ２０は、変位センサを含む。
【００３９】
シフトセンサ２１は、例えば、変速操作部７の可動部の位置を検出するセンサである。シフトセンサ２１は、可動部としての、レバーや、アーム、ボタン等の位置を検出することができる。シフトセンサ２１は、変位センサを含んでもよいし、スイッチとして構成されてもよい。
【００４０】
車輪速センサ２２は、車輪３の回転量や単位時間当たりの回転数を検出するセンサである。車輪速センサ２２は、検出した回転数を示す車輪速パルス数をセンサ値として出力する。車輪速センサ２２は、例えば、ホール素子などを用いて構成されうる。ＥＣＵ１４は、車輪速センサ２２から取得したセンサ値に基づいて車両１の移動量などを演算し、各種制御を実行する。なお、車輪速センサ２２は、ブレーキシステム１８に設けられている場合もある。その場合、ＥＣＵ１４は、車輪速センサ２２の検出結果を、ブレーキシステム１８を介して取得する。
【００４１】
なお、上述した各種センサやアクチュエータの構成や、配置、電気的な接続形態等は、一例であって、種々に設定および変更することができる。
【００４２】
（ＥＣＵのソフトウェア構成）
次に、図４を用いて、実施形態のＥＣＵ１４の機能を示すソフトウェア構成について説明する。図４は、実施形態にかかるＥＣＵ１４で実現されるソフトウェア構成を例示した図である。図４に示される機能は、ソフトウェアとハードウェアとの協働によって実現される。すなわち、図４に示される例において、ＥＣＵ１４の路面検出装置としての機能は、ＣＰＵ１４ａがＲＯＭ１４ｂなどに記憶された路面検出プログラムを読み出して実行した結果として実現される。
【００４３】
図４に示すように、路面検出装置としてのＥＣＵ１４は、画像取得部４０１、３次元モデル生成部４０２、補正部４０３、および記憶部４０４を備える。上述のＣＰＵ１４ａは、プログラムにしたがって処理を実行することにより、画像取得部４０１、３次元モデル生成部４０２、および補正部４０３等として機能する。ＲＡＭ１４ｃやＲＯＭ１４ｂなどは記憶部４０４として機能する。なお、上記各部の機能の少なくとも一部は、ハードウェアによって実現されてもよい。
【００４４】
画像取得部４０１は、車両１の周辺領域を撮像する複数の撮像部１５から複数の撮像画像データを取得する。撮像部１５の撮像領域には車両１が走行する路面が含まれ、撮像画像データには路面の表面形状等が含まれる。
【００４５】
３次元モデル生成部４０２は、画像取得部４０１が取得した撮像画像データから３次元モデルを生成する。３次元モデルは、車両１が走行する路面を含む路面の表面形状等の路面状態に応じて複数の点が３次元に配置された３次元点群である。
【００４６】
補正部４０３は、３次元モデル生成部４０２が生成した３次元モデルの傾きを補正する。３次元モデルは、車体２の向き等の車両１の状態を基準に生成される。このため、車両１が傾いている場合であっても、路面等の状況を正しく反映した状態となるよう補正部４０３が補正する。
【００４７】
記憶部４０４には、各部の演算処理で用いられるデータや、演算処理の結果のデータ等が記憶される。また、記憶部４０４には、車両１の工場出荷の際などに撮像部１５等に対して行われるキャリブレーションデータが記憶される。
【００４８】
（ＥＣＵの機能例）
次に、図５を用いて、実施形態のＥＣＵ１４の機能例について説明する。図５は、実施形態にかかるＥＣＵ１４の路面検出機能の概要について説明する図である。
【００４９】
前提として、車両１の工場出荷の際などには、撮像画像が正しく得られるよう撮像部１５に対してキャリブレーションが行われる。キャリブレーションは、たとえば光軸補正などを含んでいる。このキャリブレーションにより、撮像部１５の視点を基準として、路面に対して垂直な法線ベクトルと、路面の高さ位置とが決定される。ＥＣＵ１４による路面検出においては、撮像部１５の視点を基準とする路面の法線ベクトル及び路面の高さ位置が正解値として用いられる。このような正解値に基づき、撮像部１５による撮像画像データから、路面等の所定点までの距離および所定点の高さを適正に算出することができる。
【００５０】
つまり、例えば、図５（ａ）に示すように、主に車両１前方の撮像部１５ｃで撮像された撮像画像データに基づき路面の状態が検出される。例えば、撮像部１５ｃで撮像された撮像画像データのうち、車両１に最も近い路面の所定点Ｐ１〜Ｐ３までの距離および高さに基づく路面状態は、その時点で車両１が位置している路面、つまり、車両１の真下の路面の状態と見做される。ここでは、車両１に対して平行で平坦な路面が検出される。
【００５１】
また、撮像部１５ｃで撮像された撮像画像データのうち、車両１からやや離れた路面の所定点Ｐ４〜Ｐ６までの距離および高さに基づき、車両１のやや前方の路面の状態が検出される。ここでは、車両１が位置している路面に対して平行で平坦な路面が検出される。
【００５２】
また例えば、図５（ｂ）に示すように、路面の所定点Ｐ４〜Ｐ６までの距離および高さに基づき、車両１が位置する平坦な路面のやや前方に、所定高さの物体Ｔが検出される。
【００５３】
また例えば、図５（ｃ）に示すように、路面の所定点Ｐ４〜Ｐ６までの距離および高さに基づき、車両１が位置する平坦な路面のやや前方に、上り坂等の傾斜路が検出される。
【００５４】
また例えば、図５（ｄ）に示すように、下り坂等の傾斜路に車両１が位置しているときは、路面の所定点Ｐ１〜Ｐ３までの距離および高さに基づき、車両１に対して平行で平坦な路面が検出される。また、路面の所定点Ｐ４〜Ｐ６までの距離および高さに基づき、車両１が位置している路面に対して平行で平坦な路面が検出される。つまり、重力方向に対する路面の傾斜とは関係なく、車両１の現在位置の路面が車両１に対して平行であるものとして路面の状態の検出が行われる。
【００５５】
このように、実施形態のＥＣＵ１４は、キャリブレーションにより決定された路面の法線ベクトルＶｃの向きを正解値、つまり、路面の法線ベクトルＶｒの向いているべき方向として用いる。すなわち、今回、検出された路面に対して垂直な法線ベクトルＶｒの向きが、正解値である法線ベクトルＶｃの向きと一致しているものと推定する。また、キャリブレーションにより決定された路面の高さ位置Ｈｃを正解値、つまり、路面のあるべき高さとして用い、高さ位置Ｈｃと一致しない高さを持ったものを検出する。上記の例のように、高さ位置Ｈｃと一致しない高さを持ったものとは、例えば、路面に落ちている小石等の物体または路面自体の凹凸等である。図５（ｃ）の例のように、車両１が位置する路面とは異なる傾斜を持った他の路面の場合もある。
【００５６】
なお、路面状態の検出に用いられる路面の情報は、上述の所定点Ｐ１〜Ｐ６に限られない。ＥＣＵ１４は、例えば撮像部１５ｃが撮像可能な範囲の全域に亘って路面の情報を取得し、路面の状態を特定する。
【００５７】
次に、図６〜図８を用いて、実施形態のＥＣＵ１４の機能の更に詳細について説明する。図６〜図８は、実施形態にかかるＥＣＵ１４の路面検出機能の詳細について説明する図である。ＥＣＵ１４による以下の処理は、主に車両１前方の撮像部１５ｃにより撮像された撮像画像データに基づき行われる。上述のように、撮像画像データは、ＥＣＵ１４の画像取得部４０１により取得される。
【００５８】
まずは、路面に対して車両１が平行な姿勢を保っているときの様子について説明する。
【００５９】
図６（ａ）に示すように、３次元モデル生成部４０２は、画像取得部４０１が取得した撮像画像データに基づき３次元モデルＭを生成する。３次元モデルＭでは、路面、路面自体が有する凹凸、および路面上の物体等の各種対象物が、車両１から各種対象物までの距離および各種対象物の高さに応じて、３次元に配置された複数の点に変換されている。
【００６０】
補正部４０３は、３次元モデル生成部４０２が生成した３次元モデルＭから路面の位置および向きを推定する。路面の位置および向きは、路面が凹凸及び他の物体等を含まない理想的な平坦性を有する平面であるものとして推定される。このような平面は、例えばＲＡＮＳＡＣ等のロバスト推定を用いて決定することができる。ロバスト推定では、得られた観測値が外れ値を含む場合に、その外れ値を除外して観測対象の法則性を推定する。すなわち、ここでは、３次元モデルＭが含む凹凸及び他の物体等を示す点Ｐｘ、Ｐｙ、Ｐｚを除外し、３次元モデルＭにおける各位置および各向きの平坦性を推定することにより、所定の位置で所定の方向を向いた平面が得られる。
【００６１】
図６（ｂ）に示すように、補正部４０３は、上記のように推定された平面Ｒに垂直な法線ベクトルＶｒを算出する。また、補正部４０３は、平面Ｒの法線ベクトルＶｒの向きと、キャリブレーションにより決定された正解値としての法線ベクトルＶｃの向きとを一致させたうえで、キャリブレーションにより決定された正解値としての高さ位置Ｈｃを基準に、３次元モデルＭに含まれる３次元点群全体の高さ位置を補正する。補正された３次元モデルＭにおいては、外れ値として除外された点Ｐｘ、Ｐｙ、Ｐｚが高さ位置Ｈｃとは一致せず、路面において所定高さを有する凹凸として示される。
【００６２】
図６（ｂ）においては、平面Ｒの法線ベクトルＶｒの向きと正解値としての法線ベクトルＶｃの向きとは一致しており、補正部４０３によるこのような補正は不要に思われる。しかし、図６の例は、あくまで理想的な例である。車両１には、路面の凹凸等の影響を受けて常に揺れが生じる可能性があり、法線ベクトルＶｃに対する平面Ｒの法線ベクトルＶｒの傾きは常に変化しうる。
【００６３】
そこで、車両１に揺れが生じたときの様子について説明する。
【００６４】
図７は、路上の物体に車両１が乗り上げた様子を示している。このとき、実際に傾いているのは車両１の方であるが、撮像部１５が撮像した撮像画像データ上では、車両１に対して右側の路面がせり上がり、左側の路面が落ち込んだ状態となるはずである。
【００６５】
図７（ａ）に示すように、３次元モデル生成部４０２は、画像取得部４０１が取得した撮像画像データに基づき３次元モデルＭを生成する。
【００６６】
図７（ｂ）に示すように、補正部４０３は、３次元モデル生成部４０２が生成した３次元モデルＭから平面Ｒの位置および向きを推定する。そして、補正部４０３は、推定された平面Ｒの法線ベクトルＶｒを算出する。図７（ｂ）に示す例では、平面Ｒの法線ベクトルＶｒと正解値としての法線ベクトルＶｃとは一致していない。
【００６７】
図８（ａ）に示すように、補正部４０３は、平面Ｒの法線ベクトルＶｒと正解値としての法線ベクトルＶｃとが一致するよう、平面Ｒの法線ベクトルＶｒの傾きを補正する。換言すれば、補正部４０３は、車両１の前後左右の軸に対して平面Ｒが平行になる向きに、平面Ｒの法線ベクトルＶｒをオフセット処理する。
【００６８】
図８（ｂ）に示すように、補正部４０３は、正解値としての高さ位置Ｈｃに平面Ｒの高さ位置を合わせる。このとき、３次元モデルＭに含まれる３次元点群全体の高さ位置を補正する。換言すれば、３次元点群全体の高さ位置が撮像部１５ｃを視点とする高さ位置に補正される。
【００６９】
これにより、３次元点群のうち平面Ｒに含まれる点は、車両１に対して平行な仮想の路面と高さ位置Ｈｃにおいて重なり合うこととなる。また、３次元点群のうち路面の凹凸及び他の物体等を示す点Ｐｘ、Ｐｙ、Ｐｚは、仮想の路面とは重なり合わず、所定高さを有する凹凸として示される。
【００７０】
（ＥＣＵによる路面検出処理の例）
次に、図９を用いて、実施形態のＥＣＵ１４による路面検出処理の例について説明する。図９は、実施形態にかかるＥＣＵ１４の路面検出処理の手順の一例を示すフロー図である。
【００７１】
図９に示すように、ＥＣＵ１４の画像取得部４０１は、撮像部１５が撮像した撮像画像データを取得する（ステップＳ１０１）。以下に述べる路面状態の検出においては、主に車両１前方に設置された撮像部１５ｃが撮像した撮像画像データが用いられる。撮像画像データは、好ましくは動画データである。
【００７２】
３次元モデル生成部４０２は、主に撮像部１５ｃが撮像した撮像画像データから３次元に複数の点が配置された３次元モデルＭを生成する（ステップＳ１０２）。３次元モデルＭは、路面自体の凹凸および路面上の物体等を含む路面の凹凸状態を含む。
【００７３】
補正部４０３は、生成された３次元モデルＭから平面Ｒの位置および向きを特定する（Ｓ１０３）。つまり、補正部４０３は、３次元モデルＭからロバスト推定等の演算により所定の位置および向きを有する平面Ｒを推定する。推定された平面Ｒは凹凸状態を示すデータを含まない。
【００７４】
補正部４０３は、特定された平面Ｒに対する法線ベクトルＶｒを算出する（ステップＳ１０４）。
【００７５】
補正部４０３は、平面Ｒの法線ベクトルＶｒの傾きを補正する（ステップＳ１０５）。具体的には、補正部４０３は、必要に応じて平面Ｒの法線ベクトルＶｒを所定角度傾けて、平面Ｒの法線ベクトルＶｒを正解値としての法線ベクトルＶｃに対して垂直な向きとなるよう補正する。
【００７６】
補正部４０３は、３次元モデルＭ全体の高さ位置を補正する（ステップＳ１０６）。つまり、補正部４０３は、正解値としての高さ位置Ｈｃに基づき、３次元モデルＭ全体の高さ位置を補正する。３次元モデルＭ全体の高さ位置は、３次元モデルＭに含まれる３次元点群の全ての位置を、平面Ｒに含まれる３次元点群の移動距離に応じた距離、相対的に移動させることで補正される。
【００７７】
補正部４０３のステップＳ１０３〜Ｓ１０６までの処理により、法線ベクトルを基準として、車両１に対して平面Ｒが水平となるよう３次元モデルが補正される。これにより、３次元点群の中から平面Ｒを示すものと推定された点が仮想の路面の高さ位置Ｈｃと重なり合い、それ以外の点が所定高さを有する路面の凹凸として判別される。路面において所定の高さを有する凹凸は、路面自体の凹凸、路面上の物体、車両１が位置する路面と異なる傾斜を持った傾斜路等の他の路面であり得る。
【００７８】
以上により、実施形態のＥＣＵ１４による路面検出処理が終了する。
【００７９】
（比較例）
例えば、比較例として、上述した実施形態のような補正を実施しない構成を想定する。このような比較例では、車両が移動している際には、路面状況や運転者の操作によって、車両が上下左右に揺れ動いてしまう。ステレオカメラの視点では、路面が常時揺れ動いていることとなり、路面の所定位置における高さの検出精度が悪化してしまう。瞬間的な車両の揺れにより、存在しない凹凸等があたかも存在するかのように検知されてしまう場合もある。
【００８０】
実施形態のＥＣＵ１４は、３次元モデルから演算により求められる平面Ｒを推定し、法線ベクトルＶｃ及び高さ位置Ｈｃを正解値として、推定された平面Ｒの法線ベクトルＶｒの向き及び平面Ｒの高さ位置がこれらに一致するよう３次元モデルＭを補正する。これにより、車両１の揺れの影響を抑制して路面の高さの検出精度を向上させることができる。
【００８１】
図１０は、実施形態にかかるＥＣＵ１４と比較例にかかる構成とによる平坦な路面の検出結果のグラフである。図１０のグラフの横軸は車両の進行方向を示し、縦軸は路面の凹凸を示している。路面をゼロ点とし、ゼロ点を挟んで上方向が凸（プラス）側であり、下方向が凹（マイナス）側である。
【００８２】
図１０に示すように、３次元モデルの補正を行わない比較例の構成では、平坦な路面を車両が走行しているにもかかわらず、２つの大きな凸部が検知されている。それに対し、実施形態のＥＣＵ１４では、略平坦な路面状態が検出されている。
【００８３】
実施形態のＥＣＵ１４は、このように、精度よく路面の凹凸の高さを検出することができる。このため、実施形態のＥＣＵ１４は、例えば、車両１の駐車支援システム及びサスペンション制御システム等に適用され得る。
【００８４】
例えば、車両１の駐車支援システムにおいては、路面の凹凸の高さを正確に把握することで、所定経路を通る際の車両１の移動方向を正確に予測することができる。これにより、車両１をより確実に目標とする駐車スペースに誘導することができる。
【００８５】
また、車両１のサスペンション制御システムにおいては、路面の凹凸の高さを正確に把握することで、所定経路を通る際の車両１の揺れを正確に予測することができる。これにより、より確実に車両１の揺れを抑制することができる。
【００８６】
［その他の実施形態］
上述の実施形態のＥＣＵ１４で実行される路面検出プログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、路面検出プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける形で提供されてもよい。
【００８７】
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。
【符号の説明】
【００８８】
１…車両、８…表示装置、１４…ＥＣＵ、１５…撮像部、４０１…画像取得部、４０２…３次元モデル生成部、４０３…補正部、４０４…記憶部、Ｈｃ…高さ位置、Ｍ…３次元モデル、Ｒ…平面、Ｖｃ，Ｖｒ…法線ベクトル。
【図１】
2020090138.tif 000003
【図２】
2020090138.tif 000004
【図３】
2020090138.tif 000005
【図４】
2020090138.tif 000006
【図５】
2020090138.tif 000007
【図６】
2020090138.tif 000008
【図７】
2020090138.tif 000009
【図８】
2020090138.tif 000010
【図９】
2020090138.tif 000011
【図１０】
2020090138.tif 000012