(57)【特許請求の範囲】
【請求項１】
車両走行の目標となる方向の地面を撮像する撮像部と、
車両走行中に前記撮像部により異なる位置で撮像した複数の撮像画像を処理し、車両走行の目標となる目標追従ラインを導出する画像処理部と、
前記目標追従ラインに沿って走行するように車両の走行を制御する走行制御部と、を備え、
前記画像処理部は、
前記撮像画像において複数の画素値から構成されて直線状に並ぶ複数の基準領域を設定する基準領域設定部と、
前記基準領域が設定された前記撮像画像とは異なる位置で新たに撮像された撮像画像において前記基準領域と実空間上で同じ領域であるとして検出された参照領域の撮像画像上の位置情報を算出する基準領域追跡部と、
前記参照領域の複数の位置情報にもとづいて実空間上の地面の凹凸を検出する凹凸検出部と、
検出された前記凹凸にもとづいて前記目標追従ラインを生成する目標追従ライン生成部と、
前記撮像画像に含まれる地平線を設定する地平線設定部と、を有し、
前記基準領域設定部は、一列の前記基準領域の集合を前記地平線に平行に設定することを特徴とする走行制御装置。
【請求項２】
前記凹凸検出部は、前記参照領域の撮像画像上の位置情報の分布によって、前記基準領域の実空間上の地面の高さ分布を算出し、前記高さ分布にもとづいて前記凹凸を検出することを特徴とする請求項１に記載の走行制御装置。
【請求項３】
前記目標追従ライン生成部は、新たな撮像画像ごとに前記目標追従ラインを生成することを特徴とする請求項１または２に記載の走行制御装置。
【請求項４】
前記基準領域設定部は、前記撮像部から新たな撮像画像を受け取った場合に新たな前記基準領域を設定することを特徴とする請求項１から３のいずれかに記載の走行制御装置。
【請求項５】
前記凹凸検出部は、前記基準領域を設定した前記撮像画像と異なる位置で撮像した前記撮像画像において複数の前記参照領域の位置の比較により実空間上の地面の凹凸を検出することを特徴とする請求項１から４のいずれかに記載の走行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行を制御する走行制御装置に関する。
【背景技術】
【０００２】
農用車両による播種、移植、畝立て、畦塗りおよび資材散布などの作業では、その作業の精度や能率向上のためや、それ以降の管理や収穫などの作業のために、各行程を直進かつ平行に行うことが重要である。これらの作業は広い圃場で長時間にわたることが多く、やり直すことができない作業もあるため、作業者への肉体的、精神的な負担が大きく、熟練を必要とする。そのため、農用車両を自動的に直進する技術へのニーズが多い。
【０００３】
車両の自動走行を制御する技術として、以下に示すような技術がある。たとえば、特許文献１には、進行方向前方にある目標ランプをカメラにより撮像し、画像処理により目標ランプを検出して、目標ランプに向かって自動走行する走行制御装置が開示される。
【０００４】
特許文献２には、ＧＰＳシステム、光ファィバジャィロ及び地磁気方位センサをトラクタに搭載し、トラクタの位置、方位情報及び車両傾斜を検出して、往復直進作業などを行うべく定めた作業経路を無人走行する無人作業方法が開示される。
【０００５】
特許文献３には、田植機の左右には緑色を選択して透過する光学フィルターを備えたビデオカメラが設けられ、ビデオカメラにより既植苗列を撮影して既植苗列と田植機との位置関係を判定し、苗列の距離を所定値に維持するようアクチュエータを駆動する田植機が開示される。
【０００６】
特許文献４には、車両に搭載されたステレオカメラで圃場を撮像し、生成された距離画像を解析して地面の位置を検出し、地面より高い立体物を農作物候補をとして抽出し、農作物候補の並び方から農作物の列を検出する農作物検出装置が開示される。
【０００７】
特許文献５には、自動車の前方に単眼カメラを搭載し、移動前に撮像した画像上の物体を、移動後に撮像した画像から探索し、移動前後の物体の方向と自動車の移動量から物体の位置を検出する測距機能付き車載カメラシステムが開示される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−２００６７４号公報
【特許文献２】特開平１０−６６４０５号公報
【特許文献３】特開平９−１５４３１３号公報
【特許文献４】特開２００４−１２２３３号公報
【特許文献５】特開２００６−３４９５５４号公報
【非特許文献１】川西亮輔、外２名、”全方位カメラを用いた同一特徴点の複数計測結果の統合による環境モデリング”、第１３回画像センシングシンポジウム講演論文集
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１において目標ランプを設定して目標ランプに向かって自動走行を制御しているが、その１行程目の走行を終えた後、２行程目の自動走行を制御する技術が求められている。特許文献２において、ＧＰＳシステム、光ファィバジャィロ及び地磁気方位センサを用いているためコストがかかる。
【００１０】
本発明はこうした状況に鑑みてなされたものであり、その目的は、車両を自動走行させる制御を簡易にすることができる走行制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある態様の走行制御装置は、車両走行の目標となる方向の地面を撮像する撮像部と、車両走行中に撮像部により異なる位置で撮像した複数の撮像画像を処理し、車両走行の目標となる目標追従ラインを導出する画像処理部と、目標追従ラインに沿って走行するように車両の走行を制御する走行制御部と、を備える。画像処理部は、撮像画像において複数の画素値から構成されて直線状に並ぶ複数の基準領域を設定する基準領域設定部と、基準領域が設定された撮像画像とは異なる位置で新たに撮像された撮像画像において基準領域と実空間上で同じ領域である参照領域を抽出または検出して撮像画像上の位置情報を算出する基準領域追跡部と、参照領域の複数の位置情報にもとづいて実空間上の地面の凹凸を検出する凹凸検出部と  検出された凹凸にもとづいて目標追従ラインを生成する目標追従ライン生成部と、を有する。
【００１２】
この態様によると、撮像部により撮像した撮像画像から、実空間上の地面の凹凸、たとえば畦や畝を検出し、畦や畝に沿った自動走行を制御できる。基準領域は、実空間上では地面の高さが異なるものの、撮像画像上では直線状に並ぶように基準領域設定部により設定される。撮像部の撮像位置が変化すると、実空間上の地面の高さの差が撮像画像上の各参照領域の相対的な位置に表出するため、参照領域の位置情報をもとに撮像画像から地面の凹凸を検出することができる。また、撮像画像を画像処理することで目標追従ラインを算出できるため、自動走行を簡易に低コストで実現できる。
【発明の効果】
【００１３】
本発明によれば、走行制御装置において車両を自動走行させる制御を簡易にすることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る走行制御装置の側面図である。
【図２】走行制御装置の上面図である。
【図３】実施形態に係るＥＣＵの機能構成を示す図である。
【図４】実施形態に係る画像処理部の機能構成を示す図である。
【図５】基準領域追跡部における基準領域の探索方法を説明するための図である。
【図６】図６（ａ）は、基準領域を設定した第１撮像画像を示す図であり、図６（ｂ）は、新たに撮像された第２撮像画像であって、基準領域の位置と基準領域に対応する参照領域を示す図である。
【図７】図７（ａ）および（ｂ）は、図６（ａ）および（ｂ）に示す撮像画像を写真で示す図である。
【図８】基準領域について説明するための図である。
【図９】図９（ａ）は、地面の高さの分布を示す第２撮像画像の図であり、図９（ｂ）は、特徴的な凹凸および目標追従ラインを示す第２撮像画像の図である。
【図１０】図１０（ａ）および（ｂ）は、図９（ａ）および（ｂ）に示す撮像画像を写真で示す図である。
【図１１】撮像画像から地面の高さ分布を算出する方法を説明するための図である。
【図１２】車両に設けられたマーカについて説明する図である。
【図１３】目標追従ラインを算出する画像処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１５】
作業車両は、通常の一般車両と比べて、牽引力および旋回力に優れる一方、直進性能が低い場合がある。また、運転者は、作業車両の後部に備えられる作業機の作業状態を確認するため、後方に振り返りつつ、直進運転をすることを強いられる。農場によっては５００ｍ以上の長さがあり、この距離を直進させるのは運転者の負担が大きい。そこで、実施形態の走行制御装置は、進行方向を撮像した画像から畝や畦など走行の目標となるラインを算出し、そのラインに追従して車両を自動的に走行させることで、運転者の負担を軽減させる。
【００１６】
図１は、実施形態に係る走行制御装置２０の側面図である。図２は、走行制御装置２０の上面図である。図面の説明において同一の要素には同一の符号を付し、重複する説明を適宜省略する。車両１は、車両客室３、左前輪８ａと右前輪８ｂ（以下、総称する場合は「前輪８」という）、左後輪１０ａと右後輪１０ｂ（以下、総称する場合は「後輪１０」という）、作業機１６を有する。走行制御装置２０は、車両１に搭載され、左ブレーキ機構６ａと右ブレーキ機構（不図示）（以下、総称する場合は「ブレーキ機構６」という）、カメラ１１、ＥＣＵ（Electronic control unit）１２、操舵駆動機構１４およびステアリング機構１５を備える。
【００１７】
車両１は、農用トラクタや土木用作業車両などの作業車両であってよく、車両１の後方には作業機１６が取り付けられる。作業機１６は、たとえば、圃場４において播種や畝立てなどの作業をする。
【００１８】
ステアリング機構１５は、ステアリングホイール（不図示）、ステアリングシャフト（不図示）、およびステアリングシャフトの動きを前輪の動きに変換するギヤ装置（不図示）と、を有する。ステアリング機構１５は、ハンドルとしてのステアリングホイールの回動を前輪８の転舵運動に変換する。ステアリングホイールは、車両客室３内に設けられ、運転者によって回動操作される。ステアリングシャフトは、ステアリングホイールとともに回転するように一端がステアリングホイールに連結されており、ステアリングホイールの回転をギヤ装置に伝達する回転軸として機能する。
【００１９】
操舵駆動機構１４は、舵角センサ（不図示）およびモータ（不図示）を備える。操舵駆動機構１４は、モータを駆動し、ステアリング機構１５に転舵力を与える。舵角センサは、ステアリングシャフトや前輪８などに設けられ、ステアリングホイールの操舵角および操舵方向を検出する。操舵駆動機構１４はＥＣＵ１２に接続されている。舵角センサの検出値は、ＥＣＵ１２に出力される。なお、操舵駆動機構１４は、液圧式であってよく、液圧ポンプを駆動して、ステアリング機構１５に転舵力を与えてよい。
【００２０】
ブレーキ機構６は、運転者のブレーキペダル（不図示）の操作量に応じて後輪１０に制動力を与える。ブレーキペダルは、左後輪用ブレーキペダルと右後輪用ブレーキペダルを有する。運転者が各ブレーキペダルを操作することで、左後輪１０ａと右後輪１０ｂに対して個別に制動力を与えることができる。たとえば、車両１を右方向に旋回するとき、運転者が、右後輪用ブレーキペダルを踏み込んで右後輪１０ｂに制動力を与えることで、右後輪１０ｂを軸として車両１を小回りさせることができる。ブレーキ機構６は、ＥＣＵ１２に接続され、ＥＣＵ１２により後輪１０に与える制動力を制御される。なお、車両１の前輪８に、ブレーキ機構は無くてよい。更に、ブレーキ機構６はＥＣＵ１２に接続され、ＥＣＵ１２によって左または右のブレーキ機構６が動作され、車両１を旋回させることができる。
【００２１】
車両客室３の上部には、単眼のカメラ１１が配置される。カメラ１１は、撮像部として機能し、車両走行の目標となる進行方向の地面および地平線を撮像する。カメラ１１は、撮像した画像をＥＣＵ１２に出力する。
【００２２】
図２では、１行程目の畝を作成し終え、２行程目の畝を車両１が作成している状態を示し、圃場４に１行程目の畝の段差２４と２行程目の畝の段差２６が作成されている。また、車両１に設けられたマーカ１８により、３行程目の畝を作成する際に基準となる窪んだライン２８が形成されている。
【００２３】
図２に示す車両１は、カメラ１１によりライン２２を走行の目標となる目標追従ラインとして検出して、ライン２２に沿って走行するように制御されている。ライン２２は１行程目の畝を作成したときにマーカ１８により作成された窪んだラインであり、１行程目の畝の段差２４に沿っている。
【００２４】
運転者がＥＣＵ１２に接続された自動走行スイッチ（不図示）をオンしたときの車両１の位置を車両１の初期位置といい、走行制御装置２０による走行制御を開始する位置をいう。運転者は１行程目の畝を作成した後、自動走行スイッチをオフし、車両１を操舵して方向転換し、次の畝を作成するための位置に車両１を移動させ、自動走行スイッチをオンして、走行制御装置２０により自動走行を開始して２行程目の畝を作成する。
【００２５】
なお、運転者による自動走行スイッチのオン／オフにより、走行制御装置２０による走行制御が実行／停止される。たとえば運転者が自動走行スイッチをオンすると、ＥＣＵ１２は、カメラ１１から出力された撮像画像から段差２４やライン２２を目標追従ラインとして検出し、目標追従ラインに追従する走行制御が実行される。
【００２６】
ＥＣＵ１２は、撮像された撮像画像を処理する画像処理手段として機能し、車両１の走行を制御する走行制御手段として機能する。ＥＣＵ１２は、各種演算処理を実行するＣＰＵ、各種制御プログラムを格納するＲＯＭ、データ格納やプログラム実行のためのワークエリアとして利用されるＲＡＭ、エンジン停止時にも記憶内容を保持できるバックアップＲＡＭ等の不揮発性メモリ、入出力インターフェース、各種センサ等から入力されたアナログ信号をデジタル信号に変換して取り込むためのＡ／Ｄコンバータ、計時用のタイマ等を備えるものである。なお、画像処理手段と走行制御手段は、それぞれ画像処理装置と走行制御装置とする、別のユニットであってよい。
【００２７】
図３は、実施形態に係るＥＣＵ１２の機能構成を示す。ＥＣＵ１２は、画像取得部３０、画像処理部３２、記憶部３４および走行制御部３６を備える。画像取得部３０は、カメラ１１が所定の撮像周期で撮像した撮像画像を取得する。
【００２８】
画像処理部３２は、画像取得部３０から受け取った撮像画像を処理する。画像処理部３２は、撮像画像からライン２２を導出し、走行制御部３６に供給する。記憶部３４には撮像画像の情報が記憶される。
【００２９】
走行制御部３６は、操舵駆動機構１４を介して操舵を制御する操舵制御部と、ブレーキ機構６を介して制動力を制御して旋回力を発生させるブレーキ制御部とを備える。ブレーキ制御部は、左右の後輪１０に設けられたブレーキ機構６の制動力を独立に制御して旋回力を発生させる。操舵制御部は、操舵駆動機構１４を駆動し、前輪８の操舵を制御する。
【００３０】
走行制御部３６は、画像処理部３２から受け取ったライン２２に沿って車両１の初期位置から走行するように制御する。走行制御部３６は、車両１がライン２２に並行して走行するように前輪８を操舵する。なお走行制御部３６の操舵は、特開２０１０−２００６７４号公報に記載の走行制御方法によって、車両１のヨー角および横偏差にもとづいて車両の走行を制御してよい。
【００３１】
図４は、実施形態に係る画像処理部３２の機能構成を示す。画像処理部３２は、地平線設定部３８、基準領域設定部４０、テンプレート生成部４２、基準領域追跡部４４、凹凸検出部４８、および目標追従ライン生成部５０を有する。
【００３２】
地平線設定部３８は、撮像画像上の地平線を設定する。たとえば地平線設定部３８は、水平角度を検出するセンサの検出結果から撮像した時のカメラ１１の水平角度を取得し、撮像時の水平角度をもとに撮像画像上の横方向に伸びる境界線を地平線として設定する。
【００３３】
基準領域設定部４０は、撮像画像の複数の画素値から構成される複数の基準領域を設定する。一つの基準領域は、例えば縦１０画素、横５画素の領域である。基準領域設定部４０に設定される複数の基準領域は、直線状に一列に配列された集合である。直線状の基準領域の集合は、新たな撮像画像ごとに新たに設定され、複数列になる。これにより、目標追従ラインを更新でき、目標追従ラインに誤差が生じてもその影響を抑えることができる。基準領域の画素値および位置情報は記憶部３４に記憶される。
【００３４】
新たに撮像された撮像画像では、車両１が移動して撮像位置が異なるため、基準領域と実空間上で同じ領域は拡大および変形する、とくに縦方向に大きく変形する。そこで、テンプレート生成部４２は、基準領域にもとづいてテンプレートを生成する。テンプレートは、基準領域の画素値に拡大、変形、補間などの処理にて生成される。
【００３５】
基準領域のテンプレートは記憶された基準領域をもとに、同じ領域であると判定されるたびに、撮像画像毎のテンプレートの変位量に応じて補間されて記憶部３４に記憶される。これは、車両１が進行するにつれて、新たな撮像画像上のテンプレートと同じ領域が拡大していくからである。なお、テンプレート生成部４２は、新たな撮像画像において基準領域と実空間上の同じであると検出された参照領域の画素値と位置情報により、新たなテンプレートを生成してもよい。これにより、テンプレートと、新たな撮像画像における基準領域と実空間上同じ領域との誤差を抑えることができる。テンプレート生成部４２は、テンプレートと基準領域の差が所定値以上に大きくなると、基準領域およびそのテンプレートを破棄し、追跡を終了してよい。
【００３６】
基準領域追跡部４４は、新たな撮像画像が取得されるたびに、設定された基準領域のテンプレートと同じ画素値分布を持つ領域があるか追跡する。新たな撮像画像において基準領域と実空間上の同じ領域は、基準領域と無限遠点とを結ぶ放射線の直線上を移動すると推定され、その線上にテンプレートの推定位置を設定する。基準領域追跡部４４は、推定位置の周囲の領域に対し、テンプレートと同じような輝度分布をもつ領域があるかどうか探索する。
【００３７】
基準領域追跡部４４は、テンプレートと、新たな撮像画像上のウィンドウで取り出した領域との画素値が、正規化相関法などの手法を用いて、一致度が所定レベル以上で、かつ最も高い領域を、テンプレートと実空間上の同じ領域であると判定して参照領域とする。また基準領域追跡部４４は、１画素単位より小さい画素単位まで参照領域の位置を探索することも可能である。図５を用いてその探索方法の詳細を説明する。
【００３８】
図５は、基準領域追跡部４４における基準領域の探索方法を説明するための図である。図５の縦軸は、テンプレートと新たな撮像画像上のウィンドウとの画素値の一致度を示し、横軸は、ウィンドウの位置を示す。たとえばウィンドウ位置ｓ１、ウィンドウ位置ｓ２、ウィンドウ位置ｓ３は１画素ずつ移動して設定される。
【００３９】
図５に示すように、ウィンドウ位置ｓ２は、１画素単位の探索において基準領域追跡部４４によりテンプレートと最も一致度が高い領域であると検出されている。最も一致度が高いウィンドウ位置ｓ２と、２番目に一致度が高いウィンドウ位置ｓ１との間に、参照領域の正確なウィンドウ位置ｓ４があると推測される。ウィンドウ位置ｓ２とウィンドウ位置ｓ３を結ぶ直線ｌ１と、ウィンドウ位置ｓ１を通り直線ｌ１に対して縦軸に線対称である直線ｌ２と、の交点の位置が、参照領域の正確なウィンドウ位置ｓ４である。このように、基準領域追跡部４４は１画素未満の単位で詳細に参照領域の画素位置を算出することができる。ここに示した探索方法以外に、１画素未満の単位で探索する他の探索方法を用いてもよい。
【００４０】
図４に戻る。凹凸検出部４８は、基準領域の位置情報と、新たな撮像画像において基準領域と実空間上で同じ領域である参照領域の複数の位置情報にもとづいて、基準領域の集合の実空間上の地面の高さ分布を算出する。詳細な凹凸算出方法は後述する。基準領域設定部４０において直線状の基準領域の集合を複数列設定しているため、高さ分布もその集合の列数に応じた数だけ算出される。地面の高さ分布をもとに地面の凹凸を算出するため、天候などの要因による土壌表面の色の変化に影響されずに精度良く地面の凹凸を算出できる。
【００４１】
凹凸検出部４８は、算出した高さ分布から特徴的な地面の凹凸をそれぞれ検出する。たとえば凹凸検出部４８は、高さのデータ列を最小二乗法で直線に近似し、近似した直線から所定値以上大きく分散している高さを有する部分を凹凸として抽出する。最初に基準領域を直線状に設定しているため、凹凸を精度良く検出することができる。凹凸検出部４８は、検出した凹凸の位置情報および形状を記憶部３４に記憶させる。凹凸検出部４８は、検出した凹凸の位置情報および形状をもとに、凹凸を検出した基準領域とは別の基準領域の高さ分布から、パターンマッチングの手法を用いて同様な凹凸形状を持つ部分を検出する。
【００４２】
目標追従ライン生成部５０は、実空間上で同じ種類の凹凸であると判定された各高さ分布の凹凸をつないで目標追従ラインを生成する。目標追従ラインは複数生成されてよく、目標追従ライン生成部５０は複数の目標追従ラインをもとに消失点の位置を算出してよい。目標追従ライン生成部５０は、生成した目標追従ラインを走行制御部３６に送出する。このように画像処理部３２において、車両１の走行の目標となるライン２２を導出できる。撮像画像を参照して画像処理について詳細に説明する。
【００４３】
図６（ａ）は、基準領域を設定した第１撮像画像６０を示す図であり、図６（ｂ）は、ある時間を経過して新たに撮像された第２撮像画像６８であって、基準領域の位置と基準領域と実空間上で同じ領域を示す図である。また、図７（ａ）および（ｂ）は、図６（ａ）および（ｂ）に示す撮像画像を写真で示す図である。第１撮像画像６０および第２撮像画像６８には、地平線６２、畝６４および畦６６が撮像されている。地平線６２上には進行方向の目標となる消失点が畝６４および畦６６の延長にある。
【００４４】
図６（ａ）には、設定された基準領域が第１集合１０２、第２集合１０４および第３集合１０６として示されている。すなわち、基準領域の直線状の一列の集合が３本設定されており、１つの集合において基準領域は１００個以上設定される。第１集合１０２、第２集合１０４および第３集合１０６は、地平線６２に平行であり、実空間上で等間隔になるように設定されている。これにより、各基準領域と地平線の距離が一定となり、凹凸検出部４８により凹凸を容易に検出できる。ここで基準領域の第１集合１０２について図８を参照して説明する。
【００４５】
図８は、基準領域について説明するための図である。基準領域の第１集合１０２の一部を示している。第１集合１０２に含まれる基準領域１１４は、縦方向に１０画素、横方向に５画素の大きさである。基準領域１１４には基準領域１１４の位置の基準となる基準画素１１７が含まれる。たとえば基準画素１１７は、いずれも基準領域１１４の下端中央に設定され、位置情報が記憶される。基準領域設定部４０により基準領域１１４が設定された場合、テンプレート生成部４２によりテンプレート１１６が生成される。
【００４６】
新たな撮像画像において基準領域１１４に対応する領域は拡大および変形するため、その変化に応じたテンプレート１１６が基準領域１１４をもとにして生成される。またテンプレート１１６の推定位置１１７ａも算出される。テンプレート１１６は、車速や撮像周期により算出される車両１の移動距離に応じて基準領域１１４から変形されてよい。
【００４７】
図６に戻る。図６（ｂ）に示す第２撮像画像６８では、基準領域追跡部４４により追跡された基準領域と同じ領域であるウィンドウの位置が示される。また、図６（ｂ）には、第１撮像画像における各基準領域の位置を示す。基準領域追跡部４４によって第１集合１０２の各基準領域は、第１集合１０８の各ウィンドウに移動したことが検出され、第２集合１０４の各基準領域は、第２集合１１０の各ウィンドウに移動したことが検出され、第３集合１０６の各基準領域は、第３集合１１２の各ウィンドウに移動したことが検出される。
【００４８】
図６（ａ）に示すように第３集合１０６の基準領域の縦座標はｊａであり、地平線６２の縦座標はｊｖである。ここで画像上のｉｊ座標を説明する。図６（ａ）に示すように画像の左下隅を原点とし、上方向にｊ座標、右方向にｉ座標を設定する。ｉｊ座標の単位は画素であり、図６および後述する図９に例示する画像は、横６４０画素、縦４８０画素のサイズである。第３集合１０６の基準領域は、いずれも縦座標ｊａである。図６（ｂ）に示すように、地面の高い地点の参照領域の縦座標はｊｂｈであり、畦６６の低い地点の参照領域の縦座標はｊｂｌである。
【００４９】
畝６４や畦６６が存在する位置の基準領域は、第２撮像画像６８において他の基準領域と比べて縦方向の移動量が小さい。これは畝６４や畦６６などの溝の底の部分はカメラ１１からの距離が遠くなり、撮像画像上の移動が小さくなるためである。このように直線であった基準領域の集合の縦方向の位置が、新たな撮像画像では地面の凹凸に応じて直線上の位置から変化する。
【００５０】
図９（ａ）は、地面の高さの分布を示す第２撮像画像６８の図であり、図９（ｂ）は、特徴的な凹凸および目標追従ラインを示す第２撮像画像６８の図である。また、図１０（ａ）および（ｂ）は、図９（ａ）および（ｂ）に示す撮像画像を写真で示す図である。図９（ａ）では、図６（ｂ）に示す第１集合１０８の基準領域の位置情報から導出した第１高さ分布１１８と、第２集合１１０の基準領域の位置情報から導出した第２高さ分布１２０と、第３集合１１２の基準領域の位置情報から導出した第３高さ分布１２２とを示す。
【００５１】
第１高さ分布１１８は、直線状の基準領域の第１集合１０２が設定された実空間上の地面の高さ分布を示す。凹凸検出部４８により算出された高さ分布は、畝６４および畦６６の位置で凹んでいる。ここで、高さ分布の算出方法を図１１を参照しつつ説明する。
【００５２】
図１１は、撮像画像から地面の高さ分布を算出する方法を説明するための図である。第１撮像画像６０を撮像したカメラ位置Ｃａおよび、第２撮像画像６８を撮像したカメラ位置Ｃｂの高さＣＡＨは既知である。カメラ１１が向く方向は水平方向である。
【００５３】
車両１は、第１撮像画像６０から第２撮像画像６８を撮像するまでの間に移動した距離Ｚ０は車速や撮像周期によっても算出できる。例えば、高さＧｌの平坦な地面の上に高さｄＨの畝が存在したとする。この畝の地面からの高さｄＨが求まれば、高さ分布を算出できる。
【００５４】
カメラ位置Ｃａから撮像した撮像画像には、角度θａの方向に畝の上の領域Ｐｈおよび平坦な地面の上の領域Ｐｌがあり、撮像画像上では同じ縦座標にあるが、領域Ｐｈおよび領域Ｐｌは実空間では異なる高さである。カメラ１１から基準領域Ｐｈ、基準領域Ｐｌまでの実空間上の水平距離Ｚａｈ、Ｚａｌは下式で計算される。
Ｚａｌ＝ＣＡＨ／ｔａｎ（θａ） ・・・（１）
Ｚａｈ＝（ＣＡＨ−ｄＨ）／ｔａｎ（θａ） ・・・（２）
また、画像との関係は、式（３）で計算される。ここで、ＰＷＶは１画素の垂直方向の視野角のｔａｎ値である。
ｔａｎ（θａ）＝ＰＷＶ（ｊｖ−ｊａ） ・・・（３）
【００５５】
車両が距離Ｚ０ほど前進した点Ｃｂの位置から実空間上の領域Ｐｈ、領域Ｐｌを見ると、上から見下ろす形となり、その方向には差異が生じる。領域Ｐｈ、領域Ｐｌにおいて、それぞれの角度をθｂｈ、θｂｌl、撮像画像上の縦座標をｊｂｈ、ｊｂｌを用いて実空間上の水平距離Ｚｂｈ、Ｚｂｌは （１）〜（３）式と同様に下式の関係になる。
Ｚｂｌ＝ＣＡＨ／ｔａｎ（θｂｌ） ・・・（４）
Ｚｂｈ＝（ＣＡＨ−ｄＨ）／ｔａｎ（θｂｈ） ・・・（５）
ｔａｎ（θｂｌ）＝ＰＷＶ（ｊｖ−ｊｂｌ） ・・・（６）
ｔａｎ（θｂｈ）＝ＰＷＶ（ｊｖ−ｊｂｈ） ・・・（７）
【００５６】
領域Ｐｈと領域Ｐｌの水平距離Ｚｈｌは変化しないので、下式が得られる。
Ｚｈｌ＝Ｚａｌ−Ｚａｈ＝Ｚｂｌ−Ｚｂｈ              ・・・（８）
（８）式に（１）（２）（４）（５）式を代入して高低差ｄＨで整理すると（９）式になる。
【数１】
0005952611.tif 000002
・・・（９）
【００５７】
（９）式に（３）（６）（７）式を代入すると（１０）式になり、ｊｂｈを（１１）式のように書きかえて整理すると（１２）式になる。ｄｊは、領域Ｐｈと領域Ｐｌの第２撮像画像６８上の縦座標の差である。（１２）式を見ると走行距離Ｚ０とカメラ１１の視野角ＰＷＶの値が直接的には不要となる点が注目される。
【数２】
0005952611.tif 000003
・・・（１０）
ｊｂｈ＝ｊｂｌ−ｄｊ ・・・（１１）
【数３】
0005952611.tif 000004
・・・（１２）
【００５８】
ここで、ＣＡＨ＝１９７０ｍｍ、ｊｖ＝３８０画素、ｊａ＝２５０画素、ｊｂｌ＝２３０画素を（１２）式に代入すると（１３）式になる。
【数４】
0005952611.tif 000005
・・・（１３）
高さｄＨは縦座標差ｄｊに依存する値となる。基準領域を横一直線に設定しているため、同じ集合であれば（ｊｖ−ｊａ）の値は変化せず、ｄｊの値の分布のみからその地面の高さ分布が算出できる。また参照領域の縦座標ｊｂｌ、ｊｂｈを図５で説明した１画素未満の単位までの座標の探索方法で算出することにより、いっそう精度良く高さ分布を算出できる。
【００５９】
領域Ｐｌの撮像画像上の縦座標差ｄｊを式（１１）により算出するにあたって、領域Ｐｈは、領域Ｐｌの横方向に隣の領域であってよく、横座標で中央に位置する領域であってよい。また、縦座標差ｄｊは、領域Ｐｌの縦座標と、同じ集合の参照領域の縦座標の平均値との差であってもよい。また、同じ集合の参照領域の位置情報から最少二乗法により標準直線を算出し、その標準直線と、領域Ｐｌの縦座標との差により縦座標差ｄｊを算出してもよい。このような領域Ｐｈを比較対象となる領域といい、比較領域は、領域Ｐｌと同じ集合の参照領域から定められ、任意の参照領域であってよく、同じ参照領域の集合を平均化または標準化した参照領域であってよい。これにより、元は直線状に設定した基準領域から、撮像位置が移動したことによる参照領域の縦方向の相対的な位置の比較により算出された縦座標差ｄｊにもとづいて高さ分布を算出することができる。
【００６０】
第１撮像画像６０と第２撮像画像６８では地平線６２の位置が異なり、地平線の縦座標ｊｖは変化し、また検出値に誤差を生じる場合もある。しかしながら基準領域の集合を同じ時刻に地平線６２と平行に設定しているため、式（１２）に示す高低差ｄＨを計算する方法において、（ｊｖ−ｊａ）の項には同じ値と同じ誤差が入力されるため、高さ分布に全体的な拡大および縮小の誤差が生じても、相対的な誤差を抑えることができる。このため高さ分布の形状から畝や畦、マーカ跡などの特定の形状の検出などを高い精度で行うことが可能となる。また、高さ分布に誤差による不規則な凹凸が減るので、特徴的な凹凸の抽出にも有利となる。
【００６１】
なお、各参照領域は高さ方向(縦座標)のみでなく、前後方向の位置Ｚ、左右方向(横座標)の位置Ｘの３次元位置も下式で計算される。
Ｚ＝（ＣＡＨ−ｄＨ）／（ＰＷＶ・（ｊｖ−ｊｂｈ））        ・・・（１４）
Ｘ＝Ｚ・ＰＷＨ（ｉｂｈ−ｉｖ）                          ・・・（１５）
ここで、ＰＷＨは１画素の水平方向の視野角のｔａｎ値、ｉｂｈ は第２撮像画像６８の参照領域の横座標、ｉｖは撮像画像上の中央の横座標であって、車両の前方正面の横座標である。これにより、目標追従ラインの三次元位置も算出できる。ここで、３次元空間でのＸＹＺ座標は次のように設定する。まず、カメラ１１の直下の地面上を原点とし、垂直上向きにＹ座標または高さＨ、車両の前方正面方向をＺ座標、左右方向をＸ座標とする。
【００６２】
このように図９（ａ）に示す高さ分布を参照領域の縦座標にもとづいて算出することができる。次に凹凸検出部４８は高さ分布から特徴的な凹凸を抽出する。図９（ｂ）には、第３高さ分布１２２から第１凹部１２２ａおよび第２凹部１２２ｂが抽出されている。カメラ１１に近い位置の高さ分布では、基準領域の位置が大きく変化するため、凹凸が検出しやすい。凹凸検出部４８は、第１凹部１２２ａおよび第２凹部１２２ｂの形状を記憶する。
【００６３】
次に、凹凸検出部４８は、第３高さ分布１２２の第１凹部１２２ａおよび第２凹部１２２ｂと同じ凹部を第１高さ分布１１８および第２高さ分布１２０に対してパターンマッチングを行うことによって検出する。これにより、第１高さ分布１１８から第１凹部１１８ａおよび第２凹部１２０ｂが抽出され、第２高さ分布１２０から第１凹部１２０ａおよび第２凹部１２０ｂが抽出される。
【００６４】
図９（ｂ）に示すように目標追従ライン生成部５０は、第１凹部１１８ａ、第１凹部１２０ａおよび第１凹部１２２ａをつないで第１目標追従ライン７２を算出し、第２凹部１１８ｂ、第２凹部１２０ｂおよび第２凹部１２２ｂをつないで第２目標追従ライン７４を算出し、記憶する。第１目標追従ライン７２および第２目標追従ライン７４の交点に消失点７０（無限遠点）が検出される。目標追従ライン生成部５０は、第１目標追従ライン７２および第２目標追従ライン７４の情報を走行制御部３６に出力する。画像処理部３２は、画像取得部３０から新たな撮像画像を受け取るごとに目標追従ラインを算出して走行制御部３６に出力する。
【００６５】
ここで、実空間上でカメラ１１から遠方の位置に基準領域を設定したときは、縦座標ｊａと縦座標ｊｂｌの変化は小さく、縦座標差ｄｊの値も小さい。このため式（１２）の分母の(ｊａ−ｊｂｌ＋ｄｊ)”の値はゼロに近くなり、高低差ｄＨが乱れる可能性がある。よって、ｊａとｊｂｌの変化量が２０画素程度になるまで車両１を所定距離前進させて撮像した撮像画像を用いて高さ分布を算出することが好ましい。
【００６６】
車両１が大きく前進してｊａとｊｂｌの差が大きくなると、ｄｊの値も比例的に大きくなり、基準領域追跡部４４での検出結果は安定する。しかし、テンプレートの生成処理において、元の基準領域からの変形量も大きくなり、テンプレートの誤差が大きくなる。このテンプレートの生成処理で生じた誤差が、基準領域追跡部４４での検出結果に悪影響する程度が大きくなる。そのため、基準領域設定部４０は、所定の条件を満たすと該基準領域を破棄する。所定の条件として、例えば基準領域設定部４０は基準領域に対するテンプレートの拡大率が所定値を越えると、基準領域を破棄し、その基準領域の集合の追跡を終了する。また、所定の条件として、例えば基準領域設定部４０は、車両１の進行距離が所定距離を越えると基準領域を破棄し、その基準領域の集合の追跡を終了してよい。
【００６７】
図１２は、車両１に設けられたマーカ１８について説明する図である。図２にも図示するが、図１２には車両１の左方向または右方向に張り出したマーカ１８が図示される。マーカ１８の先端は地面に接触しており、マーカ１８は車両１の移動とともに地面に溝を形成する。車両走行時に、作業機１６によって作業跡８２が形成されるとともに、マーカ１８によってマーカ溝８０が作業跡８２と平行に形成される。マーカ溝８０は、次の行程の目標となる。
【００６８】
ここでマーカ溝８０などは、そのおおまかな形状が既知である。このように予め推測できる形状は、その登録形状を記憶部３４に登録させ、パターンマッチングにより高さ分布から一致度が所定レベル以上高い部分を同じ領域であると判定して検出してよい。これにより容易に追跡すべき地面の凹凸を検出することができる。
【００６９】
図１３は、目標追従ラインを算出する画像処理のフローチャートを示す図である。画像取得部３０は、自動走行スイッチがオンであるか判定し（Ｓ１０）、オフであれば本処理を終了する（Ｓ１０のＮ）。スイッチがオンであれば（Ｓ１０のＹ）、画像取得部３０は新たな撮像画像を取得し、画像処理部３２に撮像画像の情報を出力する（Ｓ１２）。
【００７０】
画像処理部３２の地平線設定部３８は、撮像画像における地平線の位置を検出する（Ｓ１４）。基準領域設定部４０は、新たな撮像画像に複数の基準領域を、直線状に一列に配列して設定する（Ｓ１６）。
【００７１】
テンプレート生成部４２は、設定された基準領域に応じたテンプレートを車両走行距離にもとづいてそれぞれ生成する（Ｓ１８）。なおテンプレート生成部４２は、テンプレートの拡大率が所定値を越える場合、設定された基準領域を破棄してよい。
【００７２】
基準領域追跡部４４は、車両走行中に新たな撮像画像において設定した基準領域と実空間上で同じ領域を追跡する（Ｓ２０）。基準領域追跡部４４は、テンプレートと新たな撮像画像の参照領域とを比較して所定レベル以上一致すると判定すれば、基準領域と実空間上で同じ領域であると判定し、撮像画像上の参照領域の位置情報を記憶する。
【００７３】
凹凸検出部４８は、参照領域の複数の位置情報にもとづいて高さ分布を算出する（Ｓ２２）。凹凸検出部４８は、参照領域の縦座標の位置情報と他の参照領域の縦座標の位置情報の差にもとづいて高さ分布を算出する。
【００７４】
凹凸検出部４８、算出した高さ分布から特徴的な凹凸を検出する（Ｓ２４）。目標追従ライン生成部５０は、同じ凹凸をつないで目標追従ラインを生成する（Ｓ２６）。目標追従ライン生成部５０は、生成した目標追従ラインの情報を走行制御部３６に出力する。これにより、車両走行の目標となる目標追従ラインを生成することができる。ステレオカメラの視差で立体物を検出する方法と比較して、遠くの位置の凹凸を精度良く検出でき、単眼カメラを用いることでステレオカメラよりコストを抑えることができる。また、複数列に設定した地面の高さに着目することで、畝が部分的に途切れても目標追従ラインを算出することができる。
【００７５】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素の組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７６】
また、車両１の位置が初期位置にある場合、検出されたヨー角によって、車両１の向きがライン２２に平行であるかどうかを判定してよい。車両１の向きがライン２２に平行でなければ、走行制御部３６は、後輪１０の一方に制動力を与え、車両１の向きがライン２２に平行になるように車両１を旋回させてよい。
【００７７】
また、走行制御装置２０は、撮像時の車両のロール角を検出するセンサ、車両のピッチ角を検出するセンサを有してよい。画像処理部３２は、新たな撮像画像を取得すると、該撮像画像の撮像時の車両状態（ロール角およびピッチ角）にもとづいて新たな撮像画像を補正してもよい。地平線設定部３８は、補正した撮像画像から水平線を検出する。これにより、撮像画像ごとの水平線の位置ずれを抑えることができる。
【００７８】
実施形態では、基準領域を横方向（水平方向）に直線状に設定する態様を説明したが、これに限られない。直線状に基準領域を設定するのであれば、縦方向（鉛直方向）に設定してもよく、放射線状に斜めに設定してもよい。たとえば基準領域を斜め方向に直線に設定した場合、各参照領域の位置座標から最少二乗法により標準直線を算出し、その標準直線と、任意の参照領域の縦座標との差により縦座標差を算出して、高さ分布を算出することができる。
【符号の説明】
【００７９】
１  車両、  ３  車両客室、  ４  圃場、  ６  ブレーキ機構、  ８  前輪、  １０  後輪、  １１  カメラ、  １２  ＥＣＵ、  １４  操舵駆動機構、  １５  ステアリング機構、  １６  作業機、  １８  マーカ、  ２０  走行制御装置、  ３０  画像取得部、  ３２  画像処理部、  ３４  記憶部、  ３６  走行制御部、  ３８  地平線設定部、  ４０  基準領域設定部、  ４２  テンプレート生成部、  ４４  基準領域追跡部、  ４６  高さ算出部、  ４８  凹凸検出部、  ５０  目標追従ライン生成部、  ６０  第１撮像画像、  ６２  地平線、  ６４  畝、  ６６  畦、  ６８  第２撮像画像、  ７０  消失点、  ７２  第１目標追従ライン、  ７４  第２目標追従ライン、  ８０  マーカ溝、  ８２  作業跡、  １０２  第１集合、  １０４  第２集合、  １０６  第３集合、  １０８  第１集合、  １１０  第２集合、  １１２  第３集合、  １１４  基準領域、  １１６  テンプレート、  １１８  第１高さ分布、  １２０  第２高さ分布、  １２２  第３高さ分布。
【図１】
0005952611.tif 000006
【図２】
0005952611.tif 000007
【図３】
0005952611.tif 000008
【図４】
0005952611.tif 000009
【図５】
0005952611.tif 000010
【図６】
0005952611.tif 000011
【図８】
0005952611.tif 000012
【図９】
0005952611.tif 000013
【図１１】
0005952611.tif 000014
【図１２】
0005952611.tif 000015
【図１３】
0005952611.tif 000016
【図７】
0005952611.tif 000017
【図１０】
0005952611.tif 000018