(57)【要約】【課題】勾配の推定精度をより向上させる。【解決手段】勾配推定装置は、取得部と、抽出部と、算出部と、を備える。取得部は、平面を撮影した第１画像と第２画像とを取得する。抽出部は、第１画像から平面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、第２画像から第１画素に対応する第２画素を抽出する。算出部は、第１画素と第２画素との一致度が大きくなるように第１画像および第２画像の少なくとも一方を変換することにより、平面の勾配の大きさを算出する。【選択図】図２
2019102007.tif 000002
【特許請求の範囲】
【請求項１】
平面を撮影した第１画像と第２画像とを取得する取得部と、
前記第１画像から前記平面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出部と、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記平面の勾配の大きさを算出する算出部と、
を備える勾配推定装置。
【請求項２】
前記抽出部は、前記勾配方向と異なる方向のエッジ上の画素を、前記第１画素として抽出する、
請求項１に記載の勾配推定装置。
【請求項３】
前記算出部は、前記第１画素を含む領域の特徴量と前記第２画素を含む領域の特徴量との類似度に基づき、前記第１画素と前記第２画素の一致度を決定する、
請求項１に記載の勾配推定装置。
【請求項４】
前記算出部は、前記類似度に基づいて、相互に類似する前記第１画素と前記第２画素とを対応づけ、対応づけた前記第１画素と前記第２画素の画像上での距離が小さいほど大きくなる前記一致度を決定する、
請求項３に記載の勾配推定装置。
【請求項５】
前記算出部は、前記類似度が大きいほど大きい値となる前記一致度を決定する、
請求項３に記載の勾配推定装置。
【請求項６】
前記算出部は、前記平面の勾配の大きさを示す複数の推定値を用いて前記第１画像を変換し、複数の前記推定値のうち、前記一致度が他の推定値より大きい推定値を、前記平面の勾配の大きさとして算出する、
請求項１に記載の勾配推定装置。
【請求項７】
前記算出部は、前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像を変換する変換パラメータを求め、前記変換パラメータから前記平面の勾配の大きさを算出する、
請求項１に記載の勾配推定装置。
【請求項８】
画像内の領域を設定する設定部をさらに備え、
前記抽出部は、設定された前記領域に対応する前記第１画像の領域から前記第１画素を抽出し、設定された前記領域に対応する前記第２画像の領域から前記第２画素を抽出する、
請求項１に記載の勾配推定装置。
【請求項９】
前記設定部は、前記勾配方向に並ぶ複数の領域を設定し、
前記算出部は、複数の前記領域それぞれについて勾配の大きさを算出し、複数の前記領域について算出した複数の勾配の大きさの変化をさらに算出する、
請求項８に記載の勾配推定装置。
【請求項１０】
前記平面の勾配方向を決定する決定部をさらに備え、
前記抽出部は、決定された勾配方向と異なる方向のオブジェクトの境界を示す前記第１画素を抽出する、
請求項１に記載の勾配推定装置。
【請求項１１】
平面を撮影した第１画像と第２画像とを取得する取得ステップと、
前記第１画像から前記平面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出ステップと、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記平面の勾配の大きさを算出する算出ステップと、
を含む勾配推定方法。
【請求項１２】
コンピュータを、
平面を撮影した第１画像と第２画像とを取得する取得部と、
前記第１画像から前記平面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出部と、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記平面の勾配の大きさを算出する算出部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、勾配推定装置、勾配推定方法およびプログラムに関する。
【背景技術】
【０００２】
複数の画像を使用した路面などの平面の勾配を推定する技術が知られている。例えば、設定した路面候補領域における２枚の画像の輝度差がなくなるように、一方の画像を画像変換した変換パラメータから勾配を推定する技術が提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】杉本  茂樹他、“ステレオ画像を用いた高速な平面パラメータ推定法”、情報処理学会論文誌、Vol.48、No.SIG1、pp.24-34、2007年2月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、勾配の推定精度が低下する場合があった。例えば、２枚の画像を取得した撮影装置（カメラ）の位置および姿勢に誤差がある状況では、路面の勾配方向に伸びる白線の影響が強くなり、勾配の推定精度が大きく減少する場合があった。
【課題を解決するための手段】
【０００５】
実施形態の勾配推定装置は、取得部と、抽出部と、算出部と、を備える。取得部は、平面を撮影した第１画像と第２画像とを取得する。抽出部は、第１画像から平面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、第２画像から第１画素に対応する第２画素を抽出する。算出部は、第１画素と第２画素との一致度が大きくなるように第１画像および第２画像の少なくとも一方を変換することにより、平面の勾配の大きさを算出する。
【図面の簡単な説明】
【０００６】
【図１】実施形態の移動体の例を示す図。
【図２】第１の実施形態の移動体の機能構成の例を示す図。
【図３】取得される画像の一例を示す図。
【図４】平面の勾配方向の決定方法を説明するための図。
【図５】平面の勾配方向の決定方法を説明するための図。
【図６】平面の勾配方向の決定方法を説明するための図。
【図７】抽出される画素の一例を示す図。
【図８】画像変換の一例を示す図。
【図９】画像変換の一例を示す図。
【図１０】第１の実施形態における勾配推定処理のフローチャート。
【図１１】第２の実施形態の移動体の機能構成の例を示す図。
【図１２】設定される候補領域の一例を示す図。
【図１３】設定される候補領域の一例を示す図。
【図１４】設定される候補領域の一例を示す図。
【図１５】設定される候補領域の一例を示す図。
【図１６】設定される候補領域の一例を示す図。
【図１７】複数の候補領域を設定した例を示す図。
【図１８】第２の実施形態における勾配推定処理のフローチャート。
【図１９】第１または第２の実施形態にかかる勾配推定装置のハードウェア構成図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかる勾配推定装置の好適な実施形態を詳細に説明する。以下では、移動体が勾配推定装置を備える例を説明するが、適用可能な例はこれに限られない。
【０００８】
（第１の実施形態）
第１の実施形態にかかる勾配推定装置は、平面を撮影した２つの画像から、平面の勾配方向と異なる方向に並ぶ画素を抽出し、抽出した画素がより一致するように画像を変換することにより、平面の勾配（勾配の大きさ）を推定する。これにより、例えば勾配方向に伸びる白線の影響を低減させ、勾配の推定精度をより向上させることが可能となる。
【０００９】
図１は、本実施形態の移動体１０の一例を示す図である。
【００１０】
移動体１０は、勾配推定装置２０と、出力部１０Ａと、センサ１０Ｂと、入力装置１０Ｃと、動力制御部１０Ｇと、動力部１０Ｈと、を備える。
【００１１】
勾配推定装置２０は、画像内に撮影された平面の勾配を推定する。平面は、例えば移動体１０の移動方向に存在する路面、地面、水面、床面、壁面、および、天井面などを含む。勾配推定装置２０は、例えば、専用または汎用コンピュータである。本実施形態では、勾配推定装置２０が、移動体１０に搭載されている場合を一例として説明する。
【００１２】
移動体１０は、移動可能な物体である。移動体１０は、例えば、車両（自動二輪車、自動四輪車、自転車）、台車、ロボット、船舶、飛翔体（飛行機、無人航空機（ＵＡＶ：Ｕｎｍａｎｎｅｄ  Ａｅｒｉａｌ  Ｖｅｈｉｃｌｅ）など）である。移動体１０は、例えば、人による運転操作を介して走行する移動体や、人による運転操作を介さずに自動的に走行（自律走行）可能な移動体である。自動走行可能な移動体は、例えば、自動運転車両である。本実施形態の移動体１０は、自律走行可能な車両である場合を一例として説明する。
【００１３】
なお、勾配推定装置２０は、移動体１０に搭載された形態に限定されない。勾配推定装置２０は、静止物に搭載されていてもよい。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、ガードレール、ポール、駐車車両、道路標識、などである。また、勾配推定装置２０は、クラウド上で処理を実行するクラウドサーバに搭載されていてもよい。
【００１４】
出力部１０Ａは、各種情報を出力する。例えば出力部１０Ａは、各種処理による出力情報を出力する。
【００１５】
出力部１０Ａは、例えば、出力情報を送信する通信機能、出力情報を表示する表示機能、出力情報を示す音を出力する音出力機能、などを備える。例えば、出力部１０Ａは、通信部１０Ｄと、ディスプレイ１０Ｅと、スピーカ１０Ｆと、を含む。
【００１６】
通信部１０Ｄは、外部装置と通信する。通信部１０Ｄは、ＶＩＣＳ（登録商標）通信回路やダイナミックマップ通信回路である。通信部１０Ｄは、出力情報を外部装置へ送信する。また、通信部１０Ｄは、道路情報などを外部装置から受信する。道路情報は、信号、標識、周囲の建物、各車線の道幅、レーン中心線などである。道路情報は、記憶部２０Ｂに記憶されていてもよい。
【００１７】
ディスプレイ１０Ｅは、出力情報を表示する。ディスプレイ１０Ｅは、例えば、公知のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）や投影装置やライトなどである。スピーカ１０Ｆは、出力情報を示す音を出力する。
【００１８】
センサ１０Ｂは、移動体１０の走行環境を取得するセンサである。走行環境は、例えば、移動体１０の観測情報や、移動体１０の周辺情報である。センサ１０Ｂは、例えば、外界センサや内界センサである。
【００１９】
内界センサは、観測情報を観測するセンサである。観測情報は、例えば、移動体１０の加速度、移動体１０の速度、移動体１０の角速度を含む。
【００２０】
内界センサは、例えば、慣性計測装置（ＩＭＵ：Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）、加速度センサ、速度センサ、ロータリエンコーダ、などである。ＩＭＵは、移動体１０の三軸加速度および三軸角速度を含む観測情報を観測する。
【００２１】
外界センサは、移動体１０の周辺情報を観測する。外界センサは、移動体１０に搭載されていてもよいし、該移動体１０の外部（例えば、他の移動体や外部装置など）に搭載されていてもよい。
【００２２】
周辺情報は、移動体１０の周辺の状況を示す情報である。移動体１０の周辺とは、該移動体１０から予め定めた範囲内の領域である。この範囲は、外界センサの観測可能な範囲である。この範囲は、予め設定すればよい。
【００２３】
周辺情報は、例えば、移動体１０の周辺の撮影画像および距離情報などである。なお、周辺情報は、移動体１０の位置情報を含んでいてもよい。撮影画像は、撮影によって得られる撮影画像データである（以下、単に、撮影画像と称する場合がある）。距離情報は、移動体１０から対象までの距離を示す情報である。対象は、外界における、外界センサによって観測可能な箇所である。位置情報は、相対位置であってもよいし、絶対位置であってもよい。
【００２４】
外界センサは、例えば、撮影によって撮影画像を得る撮影装置、距離センサ（ミリ波レーダ、レーザセンサ、距離画像センサ）、位置センサ（ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、無線通信装置）などである。
【００２５】
撮影画像は、画素ごとに画素値を規定したデジタル画像データや、画素毎にセンサ１０Ｂからの距離を規定したデプスマップなどである。レーザセンサは、例えば、水平面に対して平行に設置された二次元ＬＩＤＡＲ（Ｌａｓｅｒ  Ｉｍａｇｉｎｇ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）センサや、三次元ＬＩＤＡＲセンサである。
【００２６】
入力装置１０Ｃは、ユーザからの各種指示や情報入力を受け付ける。入力装置１０Ｃは、例えば、マウスやトラックボール等のポインティングデバイス、または、キーボード等の入力デバイスである。また、入力装置１０Ｃは、ディスプレイ１０Ｅと一体的に設けられたタッチパネルにおける入力機能であってもよい。
【００２７】
動力制御部１０Ｇは、動力部１０Ｈを制御する。動力部１０Ｈは、移動体１０に搭載された、駆動するデバイスである。動力部１０Ｈは、例えば、エンジン、モータ、車輪、などである。
【００２８】
動力部１０Ｈは、動力制御部１０Ｇの制御によって駆動する。例えば、動力制御部１０Ｇは、勾配推定装置２０で生成された出力情報や、センサ１０Ｂから得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角などの制御を行う。例えば、動力制御部１０Ｇは、移動体１０が所望の速度で移動するように、勾配推定装置２０により推定された勾配の大きさに応じてアクセル量およびブレーキ量を調整する。
【００２９】
次に、移動体１０の電気的構成について詳細に説明する。図２は、移動体１０の構成の一例を示すブロック図である。
【００３０】
移動体１０は、勾配推定装置２０と、出力部１０Ａと、センサ１０Ｂと、入力装置１０Ｃと、動力制御部１０Ｇと、動力部１０Ｈと、を備える。出力部１０Ａは、上述したように、通信部１０Ｄと、ディスプレイ１０Ｅと、スピーカ１０Ｆと、を含む。
【００３１】
勾配推定装置２０、出力部１０Ａ、センサ１０Ｂ、入力装置１０Ｃ、および動力制御部１０Ｇは、バス１０Ｉを介して接続されている。動力部１０Ｈは、動力制御部１０Ｇに接続されている。
【００３２】
勾配推定装置２０は、記憶部２０Ｂと、処理部２００と、を有する。すなわち、出力部１０Ａ、センサ１０Ｂ、入力装置１０Ｃ、動力制御部１０Ｇ、処理部２００、および記憶部２０Ｂは、バス１０Ｉを介して接続されている。
【００３３】
なお、記憶部２０Ｂ、出力部１０Ａ（通信部１０Ｄ、ディスプレイ１０Ｅ、スピーカ１０Ｆ）、センサ１０Ｂ、入力装置１０Ｃ、および動力制御部１０Ｇ、の少なくとも１つは、有線または無線で処理部２００に接続すればよい。また、記憶部２０Ｂ、出力部１０Ａ（通信部１０Ｄ、ディスプレイ１０Ｅ、スピーカ１０Ｆ）、センサ１０Ｂ、入力装置１０Ｃ、および動力制御部１０Ｇの少なくとも１つと、処理部２００と、をネットワークを介して接続してもよい。
【００３４】
記憶部２０Ｂは、各種データを記憶する。記憶部２０Ｂは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部２０Ｂは、勾配推定装置２０の外部に設けてもよい。また、記憶部２０Ｂは、移動体１０の外部に設けてもよい。例えば、記憶部２０Ｂを、クラウド上に設置されたサーバ装置に配置してもよい。
【００３５】
また、記憶部２０Ｂは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部２０Ｂを、複数の記憶媒体から構成してもよい。
【００３６】
処理部２００は、取得部２０１と、決定部２０２と、抽出部２０３と、算出部２０４と、を有する。
【００３７】
処理部２００における各処理機能は、コンピュータによって実行可能なプログラムの形態で記憶部２０Ｂへ記憶されている。処理部２００は、プログラムを記憶部２０Ｂから読出、実行することで、各プログラムに対応する機能部を実現するプロセッサである。
【００３８】
各プログラムを読み出した状態の処理部２００は、図２の処理部２００内に示された各機能部を有することになる。図２においては単一の処理部２００によって、取得部２０１、決定部２０２、抽出部２０３、および、算出部２０４が実現されるものとして説明する。
【００３９】
なお、各機能の各々を実現するための独立した複数のプロセッサを組み合わせて処理部２００を構成してもよい。この場合、各プロセッサがプログラムを実行することにより各機能を実現する。また、各処理機能がプログラムとして構成され、１つの処理回路が各プログラムを実行する場合であってもよいし、特定の機能が専用の独立したプログラム実行回路に実装される場合であってもよい。
【００４０】
なお、本実施形態および後述する実施形態において用いる「プロセッサ」との文言は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）、プログラマブル論理デバイス（例えば、単純プログラマブル論理デバイス（Ｓｉｍｐｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＳＰＬＤ）、複合プログラマブル論理デバイス（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＣＰＬＤ）、および、フィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ））の回路を意味する。
【００４１】
プロセッサは、記憶部２０Ｂに保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶部２０Ｂにプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
【００４２】
取得部２０１は、平面を撮影した画像（第１画像、第２画像）を取得する。例えば取得部２０１は、勾配を計測する領域の平面が撮影され、かつ、画像を撮影した撮影装置（カメラ）の位置と姿勢が付与されている少なくとも２枚以上の画像を取得する。取得部２０１は、カメラが撮影した画像を当該カメラから直接取得してもよいし、記憶媒体等に保存された画像を取得してもよい。なお、例えば画像を解析することにより撮影装置の位置および姿勢を算出（推定）できる場合には、取得部２０１は、撮影装置の位置および姿勢が付与されていない画像を取得してもよい。
【００４３】
図３は、取得される画像の一例を示す図である。図３は、自動車（移動体１０の一例）のフロントガラスに前向きにカメラを設置し、勾配を推定する領域４２１を撮影した画像の例を示す。画像４１１は、例えば時刻（ｔ−１）の位置で自動車４０１から撮影した画像を表す。画像４１２は、例えば時刻ｔの位置で自動車４０２から撮影した画像を表す。自動車４０２は、例えば、大きさ４２３を有する勾配に移動した自動車４０１に相当する。画像４１２は、勾配を推定する領域４２１に対応する領域４２２を含む。
【００４４】
なお図３の例では、異なる時刻に撮影された２枚の画像を用いているが、処理対象となる２枚の画像はこれに限られるものではない。同じ平面を撮影した２枚の画像であれば、どのような画像であってもよい。例えば、ステレオカメラなどにより同時刻に撮影された２枚の画像を用いてもよい。
【００４５】
図２に戻り、決定部２０２は、取得した画像上での平面の勾配方向を決定する。図４は、平面の勾配方向の決定方法を説明するための図である。例えば決定部２０２は、図４に示すように、実世界の三次元空間上での画像取得位置から勾配を推定する領域４２１に向かう直線の方向５０１を画像上に投影した方向５０２を、画像上での平面の勾配方向として決定する。
【００４６】
平面の勾配方向の決定方法はこれに限られるものではなく、どのような方法を用いてもよい。例えば決定部２０２は、図５に示すように、画像の隅（例えば画像の下端部）から消失点６０１へ向かう方向６０２を平面の勾配方向と決定してもよい。決定部２０２は、図６に示すように、画像上での移動体１０の進行方向を平面の勾配方向と決定してもよい。カメラの設置する向きが予めわかっている場合は、平面の勾配方向を予め固定して設定しておくこともできる。例えば、撮影方向が平面と平行で移動体１０の移動方向となるようにカメラが設置されている場合は、決定部２０２は、画像の下から上へ向かう方向を勾配方向であると予め設定することができる。
【００４７】
抽出部２０３は、決定した勾配方向と異なる方向の画素（画素列）を画像から抽出する。例えば抽出部２０３は、２枚の画像のうち一方（第１画像）から、この画像内に撮影されたオブジェクトの境界のうち、平面の勾配方向と異なる方向の境界を示す画素（第１画素）を抽出する。また抽出部２０３は、２枚の画像のうち他方（第２画像）から、第１画素に対応する画素（第２画素）を抽出する。例えば抽出部２０３は、第２画像から、この画像内に撮影されたオブジェクトの境界のうち、平面の勾配方向と異なる方向の境界を示す画素（第２画素）を抽出してもよい。
【００４８】
抽出部２０３は、第１画素の座標と同じ座標にある、第２画像の座標上の画素を第３画素として抽出し、第３画素周辺を探索することで、第１画素と一致する第２画素を対応する画素として抽出してもよい。具体的には、第１画素周囲の画素を使用してブロックマッチングなどの手法で探索できる。そのほか、抽出部２０３は、第２画像上で、輝度変化が大きい点を特徴点として抽出し、第１画素周辺の特徴量と最も類似する特徴点の中心画素を、第１画素と対応する第２画素として抽出してもよい。
【００４９】
勾配方向と異なる方向は、例えば、勾配の推定精度に影響する画素を排除できる範囲の方向として予め定めておけばよい。例えば、勾配方向に垂直な方向から予め定められた範囲内の方向を、勾配方向と異なる方向とすることができる。これにより、例えば路面上に路面の進行方向に引かれた白線などの、勾配方向（または勾配方向に近い方向）に延びる境界を排除することができる。また、排除ではなく、影響を少なくするため、垂直に近いほど後述する一致度に対する影響が強くなるように重みを付けることもできる。例えば、重みの最大値と最小値を設定しておき、勾配方向と垂直な場合に最大値、勾配方向と平行な場合に最小値を与え、角度に応じて線形に重みを付けるということもできる。
【００５０】
勾配方向と異なる方向のオブジェクトの境界は、例えば、路面上に生じた割れ目、進行方向を示す線以外の線（停止線など）、および、進行方向に引かれた破線（破線のセンターラインなど）などのオブジェクトの境界のうち、進行方向と異なる方向の境界である。
【００５１】
オブジェクトの境界は、例えば、エッジ検出処理により検出することができる。すなわち抽出部２０３は、勾配方向と異なる方向のエッジ上の画素を、勾配方向と異なる方向の画素として抽出する。エッジ検出処理により、勾配方向に強い輝度変化がある画素が抽出できる。
【００５２】
図７は、抽出される画素の一例を示す図である。図７は、勾配方向が画像の上下方向である場合に抽出された、輝度変化が強い画素（エッジ）８０１〜８０４の例を示す。画素８０１および８０２は、破線のセンターラインに相当するオブジェクトの境界として検出される画素の例である。画素８０３および８０４は、路面上に生じた割れ目に相当するオブジェクトの境界として検出される画素の例である。このように、抽出する画素（画素列）は複数であってもよいし、１つであってもよい。
【００５３】
勾配方向が画像の上下方向である場合は、上下方向に対して垂直である左右方向のエッジ上の画素が、より強い輝度変化がある画素となる。上下方向が勾配方向である場合、抽出部２０３は、例えば水平方向のエッジを検出するソーベルフィルタなどのエッジ検出フィルタを用いて、閾値より大きくなる水平方向エッジを検出し、エッジ上の画素を勾配方向と異なる方向の画素として抽出する。
【００５４】
なお勾配方向と異なる方向の画素の抽出方法はこれに限られるものではない。例えば車線検出機能（レーン検出機能）が備えられている場合であれば、抽出部２０３は、画像から検出されるエッジのうち、車線検出機能で検出された車線に対応する白線以外のエッジを、勾配方向と異なる方向の画素として抽出してもよい。また、入力された画像から勾配方向と異なる方向の画素を抽出して出力するように事前に学習された学習モデルを用いて、取得された画像から、勾配方向と異なる方向の画素を求めるように構成してもよい。学習モデルは、ニューラルネットワークモデルなどの、どのような形式のモデルであってもよい。
【００５５】
図２に戻り、算出部２０４は、抽出された画素を用いて、平面の勾配の大きさ（勾配の角度）を算出する。例えば算出部２０４は、２枚の画像のうち一方（第１画像）から抽出された画素（第１画素）と、他方（第２画像）から抽出された画素（第２画素）と、の一致度が、変換前より大きくなるように２枚の画像の少なくとも一方を変換する。算出部２０４は、一致度がより大きくなるときの平面の勾配の大きさを、勾配の大きさの推定値として出力する。
【００５６】
以下に、勾配の大きさの推定方法（算出方法）の具体例について説明する。以下では、２枚の画像のうち一方の画像を変換し、他方の画像との一致度を判定する場合を例に説明する。
【００５７】
算出部２０４は、ある勾配角度ｐと、画像間の相対位置変化を示す並進ベクトルＴと、姿勢変化を示す回転行列Ｒと、から算出できるホモグラフィ行列Ｈ（ｐ）を用いて、２枚の画像のうち一方を変換する。算出部２０４は、変換した画像と、他方の画像との一致度がより大きくなるような勾配角度ｐを、勾配角度（勾配の大きさ）として推定する。
【００５８】
ホモグラフィ行列Ｈ（ｐ）は、例えば、非特許文献１の射影変換行列Ｐ（（１）式）と同様に表すことができる。非特許文献１の平面の法線ベクトルｎ、回転行列Ｒ、および、平行移動ベクトルｔが、本実施形態の勾配角度ｐ、回転行列Ｒ、および、並進ベクトルＴに対応する。回転行列Ｒおよび並進ベクトルＴは、例えば、画像に付与された撮影装置の位置および姿勢から求めることができる。平面までの距離は、例えば、撮影装置の設置高さに応じた固定値とすることができる。
【００５９】
図８および図９は、画像変換の一例を示す図である。図８は、図３の画像４１１および画像４１２のうち、画像４１１を変換して画像９１２を生成する場合の例を示す。また図８は、並進ベクトルＴ、および、回転行列Ｒに誤差がなく、推定する勾配角度ｐが真値と等しい場合の例を示す。位置および姿勢（並進ベクトルＴ、回転行列Ｒ）と、推定した平面の勾配角度に誤差がない場合は、推定する平面領域の画像（例えば、画像４１２内の領域４２２と、変換後の画像９１２内の領域９２２）は一致する。
【００６０】
図９は、並進ベクトルＴ、および、回転行列Ｒに誤差があり、推定する勾配角度ｐが真値と等しくない場合の例を示す。画像１０１２−１の実線部は、勾配角度ｐの真値と異なるｐ１から算出されるホモグラフィ行列Ｈ（ｐ１）で変換した画像を示す。破線部は、対応付け結果を見やすくするために表示している画像４１２である。なお図９には、比較対象とする画像４１２も重ねて表示されている。矢印１０２１−１は、画像１０１２−１内の勾配方向と異なる方向の画素と、画像４１２内の勾配方向と異なる方向の画素と、の対応づけ結果を示す。画像１０１２−２は、勾配角度ｐの真値に近いｐ２から算出されるホモグラフィ行列Ｈ（ｐ２）で変換した画像を示す。矢印１０２１−２は、画像１０１２−２内の勾配方向と異なる方向の画素と、画像４１２内の勾配方向と異なる方向の画素と、の対応づけ結果を示す。
【００６１】
このように、算出部２０４は、一致度を算出するために、勾配方向と異なる方向の画素を画像間で対応づける。例えば、算出部２０４は、画素周囲の特徴量が類似する領域を画像上で対応づける。画素周囲とは、例えば、画素を含む所定範囲の領域である。
【００６２】
特徴量は、画像の輝度そのものでもよいし、画素周囲の輝度の配置から計算される正規化相互相関（ＺＮＣＣ：Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）、および、ＡＫＡＺＥ（Ａｃｃｅｌｅｒａｔｅｄ  ＫＡＺＥ）などの特徴量でもよい。
【００６３】
図９に示すように、通常は、並進ベクトルＴと回転行列Ｒに誤差が生じるため、勾配角度ｐをｐ１、ｐ２のように変化させても、画素が完全に一致することはない。算出部２０４は、例えば勾配角度ｐを変化させ、対応づけた画素の画像上での距離の合計が最も短くなる勾配角度ｐによって変換した画像を、最も一致度が大きい画像とする。算出部２０４は、最も一致度が大きい画像に変換する勾配角度ｐを、勾配の大きさの推定値として出力する。このように、算出部２０４は、勾配角度（勾配の大きさ）を示す複数の推定値を用いて一方の画像を変換し、他方の画像との一致度を算出する。算出部２０４は、複数の推定値のうち、一致度が他の推定値より大きい推定値を出力する。
【００６４】
勾配の大きさの推定方法はこれに限られるものではない。変換した画像と比較対象の画像との一致度がより大きくなるような勾配の大きさを算出可能な方法であればどのような方法を適用してもよい。
【００６５】
例えば算出部２０４は、画像上での距離の合計を出す際に、対応づけの際の特徴量の距離が短い（特徴量間の類似度が大きい）ほど、距離が短くなるように、距離に重み係数をかけてもよい。算出部２０４は、対応づけた画素の特徴量の類似度が大きいほど大きい値となる一致度を用いてもよい。算出部２０４は、非特許文献１に記載されているように、画像変換の変換パラメータ（ホモグラフィ行列Ｈ（ｐ））を求めた後に変換パラメータを分解することにより平面パラメータを算出する方法を用いてもよい。
【００６６】
図９の例では、勾配角度ｐ１を推定値とした場合、特徴量の距離、および、画像上での対応位置の距離（矢印１０２１−１の長さ）が長くなる。一方、勾配角度ｐ２を推定値とした場合、特徴量の距離、および、画像上での対応位置の距離（矢印１０２１−２の長さ）が、勾配角度ｐ１を推定値とした場合より短くなる。例えば算出部２０４は、一致度がより大きくなる勾配角度ｐ２を、勾配の大きさの推定値として出力する。
【００６７】
次に、このように構成された第１の実施形態にかかる勾配推定装置２０による勾配推定処理について図１０を用いて説明する。図１０は、第１の実施形態における勾配推定処理の一例を示すフローチャートである。
【００６８】
まず取得部２０１は、平面を撮影した２枚の画像を取得する（ステップＳ１０１）。決定部２０２は、取得した画像上での平面の勾配方向を決定する（ステップＳ１０２）。抽出部２０３は、決定された勾配方向と異なる方向の画素を、２枚の画像それぞれから抽出する（ステップＳ１０３）。例えば抽出部２０３は、画像内の勾配方向と異なる方向に延びるエッジを抽出する。算出部２０４は、２枚の画像のうち少なくとも一方を変換する（ステップＳ１０４）。算出部２０４は、他方の画像に対する一致度がより大きくなる画像に基づき、勾配の大きさを算出する（ステップＳ１０５）。
【００６９】
推定された勾配の大きさは、例えば、移動体１０の移動の制御に用いられてもよい。例えば動力制御部１０Ｇは、勾配の大きさに応じて移動体１０の加速度などを制御する。撮影画像に基づく他の機能が備えられている場合に、推定された勾配の大きさに応じて、この機能の動作を制御するように構成してもよい。例えば、平面上の障害物を検出する機能（障害物検出機能）が備えられている場合は、推定された勾配の大きさに応じて、障害物検出機能の適用可否を判断してもよい。
【００７０】
このように、第１の実施形態にかかる勾配推定装置では、平面の勾配方向と異なる方向に並ぶ画素の一致度を判定することにより、平面の勾配の大きさを推定する。これにより、例えば勾配方向に伸びる白線の影響を低減させ、勾配の推定精度をより向上させることが可能となる。
【００７１】
（第２の実施形態）
第２の実施形態にかかる勾配推定装置は、勾配の大きさを推定するために用いる画像内の領域を設定可能とする。
【００７２】
図１１は、第２の実施形態の移動体１０−２の構成の一例を示すブロック図である。移動体１０−２は、勾配推定装置２０−２と、出力部１０Ａと、センサ１０Ｂと、入力装置１０Ｃと、動力制御部１０Ｇと、動力部１０Ｈと、を備える。勾配推定装置２０−２は、記憶部２０Ｂと、処理部２００−２と、を有する。
【００７３】
第２の実施形態では、処理部２００−２内に設定部２０５−２を追加したこと、および、抽出部２０３−２の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる勾配推定装置２０のブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００７４】
設定部２０５−２は、画像内の領域を設定する。設定する領域は、例えば平面を含む領域の候補となる候補領域である。設定する候補領域は１つでもよいし、複数であってもよい。例えば設定部２０５−２は、勾配方向に並ぶ複数の領域を候補領域に設定してもよい。設定部２０５−２は、設定した候補領域を抽出部２０３−２に出力する。
【００７５】
設定部２０５−２は、画像上の予め設定された領域を候補領域としてもよいし、求めたい平面の候補位置が変化した際に、変化後の候補位置に候補領域を設定してもよい。例えば、移動体１０−２が移動する速度に応じて、勾配を求めたい位置までの距離を変更するとともに、候補領域の画像上での位置を上下方向に移動させてもよい。図１２および図１３は、設定される候補領域の一例を示す図である。図１２は、移動体１０−２により近い位置の勾配を推定するために、候補領域１２０１が画像の下部に設定された例を示している。図１３は、図１２より遠い位置の勾配を推定するために、候補領域１３０１が画像の上方向に移動された例を示している。
【００７６】
設定部２０５−２は、候補領域を拡大または縮小して設定してもよい。図１４は、縮小して設定された候補領域１４０１の一例を示す図である。図１４に示すように、設定部２０５−２は、勾配の上方向に移動する場合に候補領域を縮小して設定してもよい。
【００７７】
設定部２０５−２は、路面のパターンと照合する方法などにより画像から路面を検出し、検出した路面内に限定して候補領域を設定してもよい。図１５および図１６は、路面内に設定される候補領域の一例を示す図である。図１５の候補領域１５０１は、移動体１０−２により近い位置の勾配を推定するために、画像の下部に、路面の形状に沿って台形状に設定された候補領域の例を示す。図１６の候補領域１６０１は、図１５より遠い位置の勾配を推定するために、画像の上方向に移動され、路面の形状に沿って台形状に設定された候補領域の例を示す。
【００７８】
図１７は、複数の候補領域を設定した例を示す図である。図１７では、２つの候補領域１７０１、１７０２が設定された例が示されている。
【００７９】
図１１に戻り、抽出部２０３−２は、各画像について、設定部２０５−２により設定された領域から、勾配方向と異なる方向の画素を抽出する点が、第１の実施形態の抽出部２０３と異なる。
【００８０】
次に、このように構成された第２の実施形態にかかる勾配推定装置２０−２による勾配推定処理について図１８を用いて説明する。図１８は、第２の実施形態における勾配推定処理の一例を示すフローチャートである。
【００８１】
ステップＳ２０１からステップＳ２０２は、第１の実施形態にかかる勾配推定装置２０におけるステップＳ１０１からステップＳ１０２までと同様の処理なので、その説明を省略する。
【００８２】
設定部２０５−２は、取得された画像内に、平面の候補領域を設定する（ステップＳ２０３）。抽出部２０３−２は、設定された候補領域を対象として、エッジの抽出処理を実行する（ステップＳ２０４）。
【００８３】
ステップＳ２０５からステップＳ２０６は、第１の実施形態にかかる勾配推定装置２０におけるステップＳ１０４からステップＳ１０５までと同様の処理なので、その説明を省略する。
【００８４】
なお、複数の候補領域が設定された場合は、算出部２０４は、各領域について勾配の大きさを推定し、推定値を出力する。例えば算出部２０４は、各領域に対して推定された勾配の大きさをそのまま出力する。算出部２０４は、各領域の勾配の大きさの差（勾配の大きさの変化）を算出し、差が閾値と比べて大きい場合に、勾配の大きさの変化点が存在することを示す出力情報を出力してもよい。また、変化点が存在した領域の画像上での位置から、変化点までの距離を出力してもよい。
【００８５】
このように、第２の実施形態にかかる勾配推定装置では、勾配の大きさを推定するために用いる画像内の領域を設定する。これにより、平面の勾配の大きさの推定精度をさらに向上させることができる。
【００８６】
なお、上記各実施形態では、カメラが平面に対して水平前向きに設置されていることを仮定して説明した。カメラの設置方向が異なる場合は、設置方向に合わせて水平、垂直、上下、および、左右の向きを変更すればよい。
【００８７】
以上説明したとおり、第１から第２の実施形態によれば、平面の勾配方向と異なる方向の画素を対応づける画像変換結果を利用することで、勾配方向に特徴的な部位を一致させることができる。この結果、平面の勾配の大きさの推定の精度を向上させること、および、勾配の推定を頑健に実行すること、が可能となる。
【００８８】
次に、第１または第２の実施形態にかかる勾配推定装置のハードウェア構成について図１９を用いて説明する。図１９は、第１または第２の実施形態にかかる勾配推定装置のハードウェア構成例を示す説明図である。
【００８９】
第１または第２の実施形態にかかる勾配推定装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００９０】
第１または第２の実施形態にかかる勾配推定装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００９１】
第１または第２の実施形態にかかる勾配推定装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００９２】
さらに、第１または第２の実施形態にかかる勾配推定装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施形態にかかる勾配推定装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９３】
第１または第２の実施形態にかかる勾配推定装置で実行されるプログラムは、コンピュータを上述した勾配推定装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００９４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９５】
１０、１０−２  移動体
１０Ａ  出力部
１０Ｂ  センサ
１０Ｃ  入力装置
１０Ｄ  通信部
１０Ｅ  ディスプレイ
１０Ｆ  スピーカ
１０Ｇ  動力制御部
１０Ｈ  動力部
１０Ｉ  バス
２０、２０−２  勾配推定装置
２０Ｂ  記憶部
２００、２００−２  処理部
２０１  取得部
２０２  決定部
２０３、２０３−２  抽出部
２０４  算出部
２０５−２  設定部
【図１】
2019102007.tif 000003
【図２】
2019102007.tif 000004
【図３】
2019102007.tif 000005
【図４】
2019102007.tif 000006
【図５】
2019102007.tif 000007
【図６】
2019102007.tif 000008
【図７】
2019102007.tif 000009
【図８】
2019102007.tif 000010
【図９】
2019102007.tif 000011
【図１０】
2019102007.tif 000012
【図１１】
2019102007.tif 000013
【図１２】
2019102007.tif 000014
【図１３】
2019102007.tif 000015
【図１４】
2019102007.tif 000016
【図１５】
2019102007.tif 000017
【図１６】
2019102007.tif 000018
【図１７】
2019102007.tif 000019
【図１８】
2019102007.tif 000020
【図１９】
2019102007.tif 000021
【手続補正書】
【提出日】平成30年9月18日(2018.9.18)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物体の表面を撮影した第１画像と第２画像とを取得する取得部と、
前記第１画像から前記表面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出部と、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記表面の勾配の大きさを算出する算出部と、
を備える勾配推定装置。
【請求項２】
前記抽出部は、前記勾配方向と異なる方向のエッジ上の画素を、前記第１画素として抽出する、
請求項１に記載の勾配推定装置。
【請求項３】
前記算出部は、前記第１画素を含む領域の特徴量と前記第２画素を含む領域の特徴量との類似度に基づき、前記第１画素と前記第２画素の一致度を決定する、
請求項１に記載の勾配推定装置。
【請求項４】
前記算出部は、前記類似度に基づいて、相互に類似する前記第１画素と前記第２画素とを対応づけ、対応づけた前記第１画素と前記第２画素の画像上での距離が小さいほど大きくなる前記一致度を決定する、
請求項３に記載の勾配推定装置。
【請求項５】
前記算出部は、前記類似度が大きいほど大きい値となる前記一致度を決定する、
請求項３に記載の勾配推定装置。
【請求項６】
前記算出部は、前記表面の勾配の大きさを示す複数の推定値を用いて前記第１画像を変換し、複数の前記推定値のうち、前記一致度が他の推定値より大きい推定値を、前記表面の勾配の大きさとして算出する、
請求項１に記載の勾配推定装置。
【請求項７】
前記算出部は、前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像を変換する変換パラメータを求め、前記変換パラメータから前記表面の勾配の大きさを算出する、
請求項１に記載の勾配推定装置。
【請求項８】
画像内の領域を設定する設定部をさらに備え、
前記抽出部は、設定された前記領域に対応する前記第１画像の領域から前記第１画素を抽出し、設定された前記領域に対応する前記第２画像の領域から前記第２画素を抽出する、
請求項１に記載の勾配推定装置。
【請求項９】
前記設定部は、前記勾配方向に並ぶ複数の領域を設定し、
前記算出部は、複数の前記領域それぞれについて勾配の大きさを算出し、複数の前記領域について算出した複数の勾配の大きさの変化をさらに算出する、
請求項８に記載の勾配推定装置。
【請求項１０】
前記表面の勾配方向を決定する決定部をさらに備え、
前記抽出部は、決定された勾配方向と異なる方向のオブジェクトの境界を示す前記第１画素を抽出する、
請求項１に記載の勾配推定装置。
【請求項１１】
物体の表面を撮影した第１画像と第２画像とを取得する取得ステップと、
前記第１画像から前記表面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出ステップと、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記表面の勾配の大きさを算出する算出ステップと、
を含む勾配推定方法。
【請求項１２】
コンピュータを、
物体の表面を撮影した第１画像と第２画像とを取得する取得部と、
前記第１画像から前記表面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出部と、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記表面の勾配の大きさを算出する算出部と、
として機能させるためのプログラム。
【請求項１３】
物体の表面を撮影した第１画像と第２画像とを取得する取得部と、
前記第１画像から前記表面の勾配方向と異なる方向のオブジェクトの境界を示す第１画素を抽出し、前記第２画像から前記第１画素に対応する第２画素を抽出する抽出部と、
前記第１画素と前記第２画素との一致度が大きくなるように前記第１画像および前記第２画像の少なくとも一方を変換することにより、前記表面の勾配の大きさを算出する算出部と、
前記勾配の大きさに基づいて移動体の移動を制御する制御部と、
を備える制御システム。