(57)【要約】【課題】地面上において所定方向に並ぶ農作物を検出する。【解決手段】距離センサは、作業領域内における距離の二次元的な分布を距離データとして出力する。地形認識部１１は、距離データに基づき、作業領域内の地面の位置を認識する。立体物検出部１２は、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データを立体物データとして選別する。そして、この立体物データに基づき作業領域内に存在する立体物が検出される。農作物検出部１３は、検出された立体物に関する実空間上の位置を算出し、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物を農作物として検出する。【選択図】　図１
2004012233.tif 000002
【特許請求の範囲】
【請求項１】
作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置において、
前記作業領域内における距離の二次元的な分布を距離データとして出力する距離センサと、
前記距離データに基づき、前記作業領域内の地面の位置を認識する地形認識部と、
前記認識された地面の位置に基づき、実空間上において、当該地面の位置より高い位置に存在する前記距離データを立体物データとして選別するとともに、当該立体物データに基づき前記作業領域内に存在する立体物を検出する立体物検出部と、
前記検出された立体物に関する実空間上の位置を算出し、当該算出された立体物に関する実空間上の位置に基づき、前記所定方向に並ぶ前記立体物を農作物として検出する農作物検出部と
を有することを特徴とする農作物検出装置。
【請求項２】
前記地形認識部は、二次元的な平面において、前記距離データを複数の区分に分割し、前記分割された区分のそれぞれにおいて、前記距離データに基づき１区分に関する高さ群を算出し、前記算出された高さ群について高さに関する頻度分布を算出するとともに、前記算出された頻度分布に基づき、当該頻度分布が算出された区分に関する地面の高さを特定することを特徴とする請求項１に記載された農作物検出装置。
【請求項３】
前記農作物検出部は、実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成し、当該構成されたグループのそれぞれにおいて、立体物の並び方向を特定するとともに、前記立体物の並び方向が一致するグループを農作物として検出することを特徴とする請求項１または２に記載された農作物検出装置。
【請求項４】
前記立体物の並び方向は、前記グループを構成する立体物の位置に基づき算出された近似直線により特定されることを特徴とする請求項３に記載された農作物検出装置。
【請求項５】
前記農作物検出部は、前記距離データに基づき特定される実空間上での距離方向と、前記検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別し、当該選別された立体物を農作物として検出することを特徴とする請求項１または２に記載された農作物検出装置。
【請求項６】
前記近似直線は、ハフ変換、または、最小二乗法により算出されることを特徴とする請求項４または５に記載された農作物検出装置。
【請求項７】
前記距離センサは、前記作業領域を含む景色を撮像することにより、一対の撮像画像を出力するステレオカメラであることを特徴とする請求項１から６のいずれかに記載された農作物検出装置。
【請求項８】
前記距離センサは、レーザレーダであることを特徴とする請求項１から６のいずれかに記載された農作物検出装置。
【請求項９】
作業領域内の距離の二次元的な分布を示す距離データを用いて、当該作業領域内において所定方向に並んだ農作物を検出する農作物検出方法において、
前記距離データに基づき、前記作業領域内の地面の位置を認識する第１のステップと、
前記認識された地面の位置に基づき、実空間上において、当該地面の位置より高い位置に存在する前記距離データを立体物データとして選別する第２のステップと、
前記選別された立体物データに基づき前記作業領域内に存在する立体物を検出する第３のステップと、
前記検出された立体物に関する実空間上の位置を算出する第４のステップと、前記算出された立体物に関する実空間上の位置に基づき、前記所定方向に並ぶ前記立体物を農作物として検出する第５のステップと
を有することを特徴とする農作物検出方法。
【請求項１０】
前記第１のステップは、二次元的な平面において、前記距離データを複数の区分に分割し、前記分割された区分のそれぞれにおいて、前記距離データに基づき１区分に関する高さ群を算出し、前記算出された高さ群について高さに関する頻度分布を算出するとともに、前記算出された頻度分布に基づき、当該頻度分布が算出された区分に関する地面の高さを特定することを特徴とする請求項９に記載された農作物検出方法。
【請求項１１】
前記第５のステップは、
実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成するステップと、
前記構成されたグループのそれぞれにおいて、立体物の並び方向を特定するステップと、
前記立体物の並び方向が一致するグループを農作物として検出するステップとを有することを特徴とする請求項９または１０に記載された農作物検出方法。
【請求項１２】
前記第５のステップは、
前記距離データに基づき特定される実空間上での距離方向と、前記検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別するステップと、
前記選別された立体物を農作物として検出するステップと
を有することを特徴とする請求項９または１０に記載された農作物検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置および農作物検出方法に関する。
【０００２】
【従来の技術】
近年、単眼カメラ、ステレオカメラ、或いは、ミリ波レーダといった各種センサを用いた監視装置が注目されている。この類の監視装置は、センサによって所定の監視領域内の景色を撮像またはスキャンし、これにより得られた情報に基づいて、監視領域内の状況を認識する。
【０００３】
このような監視装置は、その認識能力を利用して、自動車の走行制御、鉄道線路における踏切内への侵入車両（侵入者）の監視、地形認識等さまざまな目的で幅広く用いられている。また、さらには、農耕地の作物に関し収穫・薬剤散布・雑草除去などの作業を自動的に行う作業用車両において、この認識能力を利用して、これらの車両の走行制御を行うことも考えられている。
【０００４】
なお、特開平９−２３８５１０号公報には、耕耘機にカメラを取り付けて、耕耘する地面を撮像し、画像を解析して既耕地と未耕地との境界を検出する手法が開示されている。また、特開平５−１５４４２４号公報には、地面に誘導ケーブルを埋設し、農作業用の自走式機体が誘導ケーブルから放射される電磁波を検出することにより、誘導ケーブルに沿って走行する自走式機体が開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来技術は、カメラを用いて耕地を解析することはできるものの、農作物のある耕地において農作物を検出することはできない。また、誘導ケーブルを埋設する手法は、ケーブルを埋設しなければならず、経済的な負担が大きく、煩雑な作業が必要とされるので好ましくない。また、作物の位置が変化した場合には、それにともないケーブルを埋設し直さなければならず、保守作業の負担が大きいなどの問題がある。
【０００６】
また、上述した監視装置を作業用車両の車両制御に適用する場合、この監視装置は、監視領域内の状況、すなわち、農作物を有効に認識することが重要となる。農作物を認識するためには、前提として地面の認識が正確に行われる必要がある。なぜならば、この認識された地面に基づき、地面と農作物との切り分けが行われるからである。しかしながら、従来の認識技術では、地面は一つの面として捉えられているので、地面の起伏が正確に把握されていないので、地面と農作物との切り分けを行うことが難しい。さらに、農作物を認識するためには、農作物と、農作物でないもの、例えば、雑草や背景などとの切り分けも十分に行われる必要がある。すなわち、従来の監視装置を単に農作業車に転用することでは、車両の走行制御を十分に行うことは難しい。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、その目的は、地面上において所定方向に並ぶ農作物を検出することである。
【０００８】
また、本発明の別の目的は、地面上の作物の位置を認識することにより、作業用車両を正確に制御することである。
【０００９】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明は、作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置において、距離センサと、地形認識部と、立体物検出部と、農作物検出部とを有する農作物検出装置を提供する。かかる農作物検出装置において、距離センサは、作業領域内における距離の二次元的な分布を距離データとして出力する。地形認識部は、距離データに基づき、作業領域内の地面の位置を認識する。立体物検出部は、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データを立体物データとして選別する。そして、この立体物データに基づき作業領域内に存在する立体物が検出される。農作物検出部は、検出された立体物に関する実空間上の位置を算出し、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物を農作物として検出する。
【００１０】
ここで、第１の発明において、地形認識部は、二次元的な平面において、距離データを複数の区分に分割し、この分割された区分のそれぞれにおいて、以下の処理を行うことが好ましい。まず、距離データに基づき１区分に関する高さ群が算出され、算出された高さ群について高さに関する頻度分布が算出される。そして、この算出された頻度分布に基づき、頻度分布が算出された区分に関する地面の高さが特定される。
【００１１】
また、第１の発明において、農作物検出部は、実空間上において、検出された立体物の距離が接近している立体物同士でグループを構成し、この構成されたグループのそれぞれにおいて、立体物の並び方向を特定するとともに、立体物の並び方向が一致するグループを農作物として検出することが好ましい。この場合、立体物の並び方向は、グループを構成する立体物の位置に基づき算出された近似直線により特定されることが望ましい。あるいは、第１の発明において、農作物検出部は、距離データに基づき特定される実空間上での距離方向と、検出された立体物の位置に基づき算出された近似直線とが一致する立体物を選別し、この選別された立体物を農作物として検出するとが好ましい。この場合、上述した近似直線は、ハフ変換、または、最小二乗法により算出されることが望ましい。
【００１２】
さらに、第１の発明において、距離センサは、作業領域を含む景色を撮像することにより、一対の撮像画像を出力するステレオカメラ、或いは、レーザレーダであることが好ましい。
【００１３】
また、第２の発明は、作業領域内の距離の二次元的な分布を示す距離データを用いて、当該作業領域内において所定方向に並んだ農作物を検出する農作物検出方法を提案する。かかる農作物検出方法において、第１のステップでは、距離データに基づき、作業領域内の地面の位置が認識される。第２のステップでは、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データが立体物データとして選別される。第３のステップでは、選別された立体物データに基づき作業領域内に存在する立体物が検出される。第４のステップでは、検出された立体物に関する実空間上の位置が算出される。第５のステップでは、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物が農作物として検出される。
【００１４】
ここで、第２の発明において、第１のステップは、二次元的な平面において、距離データを複数の区分に分割し、分割された区分のそれぞれにおいて、以下の処理を行うことが好ましい。まず、距離データに基づき１区分に関する高さ群が算出され、算出された高さ群について高さに関する頻度分布が算出される。そして、算出された頻度分布に基づき、頻度分布が算出された区分に関する地面の高さが特定される。
【００１５】
また、第２の発明において、第５のステップは、以下に示すステップを有することが好ましい。まず、ステップとして、実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成する。更なるステップとして、構成されたグループのそれぞれにおいて、立体物の並び方向を特定する。そして、更なるステップとして、立体物の並び方向が一致するグループを農作物として検出する。あるいは、第５のステップは、以下に示すステップを有することが好ましい。まず、ステップとして、距離データに基づき特定される実空間上での距離方向と、検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別する。そして、更なるステップとして、この選別された立体物を農作物として検出する。
【００１６】
【発明の実施の形態】
（第１の実施の形態）
図１は、第１の実施形態にかかる農作物検出装置のブロック構成図である。この農作物検出装置１は、距離センサとして機能するステレオカメラを用いて、作業領域内に写し出された農作物を検出する。また、農作物検出装置１は、この検出された農作物に基づき、農作業用車両（以下、単に「車両」と称す）前方の農作物の状況を認識し、車両の走行制御を行う。ステレオカメラは、例えば、車両前部に取り付けられて、図２に示すように、作業領域内の農作物を含む景色を撮像する。同図に示す撮像画像には、車両の進行方向に関して両側に、所定方向（図中では進行方向と略同一方向）に並んだ農作物が写し出されている。このステレオカメラは、一対のカメラ２，３で構成されており、それぞれのカメラ２，３には、イメージセンサ（例えば、ＣＣＤまたはＣＭＯＳセンサ等）が内蔵されている。メインカメラ２は、ステレオ画像処理を行う際に必要な基準画像（右画像）を撮像し、サブカメラ３は、比較画像（左画像）を撮像する。互いの同期が取れている状態において、カメラ２，３から出力された各アナログ画像は、Ａ／Ｄコンバータ４，５により、所定の輝度階調（例えば、２５６階調のグレースケール）のデジタル画像に変換される。
【００１７】
デジタル化された一対の画像データは、画像補正部６において、輝度の補正や画像の幾何学的な変換等が行われる。通常、一対のカメラ２，３の取付位置は、程度の差はあるものの誤差が存在するため、それに起因したずれが左右の各画像に生じている。このずれを補正するために、アフィン変換等を用いて、画像の回転や平行移動等の幾何学的な変換が行われる。
【００１８】
このような画像処理を経て、メインカメラ２より基準画像データが得られ、サブカメラ３より比較画像データが得られる。これらの画像データ（ステレオ画像データ）は、各画素の輝度値（０〜２５５）の集合である。ここで、画像データによって規定される画像平面は、ｉ−ｊ座標系で表現され、画像の左下隅を原点として、水平方向をｉ座標軸、垂直方向をｊ座標軸とする。一フレーム（一画像の表示単位）相当のステレオ画像データは、後段のステレオ画像処理部７に出力されるとともに、後段の画像データメモリ８に格納される。この画像データメモリ８に格納されたステレオ画像データは、適宜呼び出され、作業領域内の認識において利用することもできる。
【００１９】
ステレオ画像処理部７は、基準画像データと比較画像データとに基づいて、一フレーム相当の撮像画像に関する距離データを算出する。ここで、「距離データ」とは、画像データによって規定される画像平面において小領域毎に算出された視差ｄの集合であり、個々の視差ｄは画像平面上の位置（ｉ，ｊ）と対応付けられている。換言すれば、距離データは、作業領域内における距離の二次元的な分布である。それぞれの視差ｄは、基準画像の一部を構成する所定面積（例えば、４×４画素）の画素ブロック毎に１つ算出される。
【００２０】
図３は、基準画像に設定される画素ブロックの説明図である。例えば、基準画像が２００×５１２画素で構成されている場合、一フレーム相当の撮像画像から、画素ブロックＰＢｉｊの個数相当（５０×１２８個）の視差群が算出され得る。周知のように、視差ｄは、その算出単位である画素ブロックＰＢｉｊに関する水平方向のずれ量であり、画素ブロックＰＢｉｊに写し出された対象物までの距離と大きな相関がある。すなわち、画素ブロックＰＢｉｊ内に写し出されている対象物がカメラ２，３に近いほど、この画素ブロックＰＢｉｊの視差ｄは大きくなり、対象物が遠いほど視差ｄは小さくなる（無限に遠い場合、視差ｄは０になる）。
【００２１】
ある画素ブロックＰＢｉｊ（相関元）に関する視差ｄを算出する場合、この画素ブロックＰＢｉｊの輝度特性と相関を有する領域（相関先）を比較画像において特定する。上述したように、カメラ２，３から対象物までの距離は、基準画像と比較画像との間における水平方向のずれ量として現れる。したがって、比較画像において相関先を探索する場合、相関元となる画素ブロックＰｉｊのｊ座標と同じ水平線（エピポーラライン）上を探索すればよい。ステレオ画像処理部７は、相関元のｉ座標を基準に設定された所定の探索範囲内において、エピポーラライン上を一画素ずつシフトしながら、相関元と相関先の候補との間の相関性を順次評価する（ステレオマッチング）。そして、原則として、最も相関が高いと判断される相関先（相関先の候補の内のいずれか）の水平方向のずれ量を、その画素ブロックＰＢｉｊの視差ｄとする。
【００２２】
２つの画素ブロックの相関は、例えば、シティブロック距離ＣＢを算出することにより評価することができる。数式１は、シティブロック距離ＣＢの基本形を示す。同数式において、ｐ１ｉｊは一方の画素ブロックのｉｊ番目の画素の輝度値であり、ｐ２ｉｊは他方の画素ブロックのｉｊ番目の輝度値である。シティブロック距離ＣＢは、位置的に対応した輝度値ｐ１ｉｊ，ｐ２ｉｊの差（絶対値）の画素ブロック全体における総和であって、その差が小さいほど両画素ブロックの相関が大きいことを意味している。
【数１】
ＣＢ＝Σ｜ｐ１ｉｊ−ｐ２ｉｊ｜
【００２３】
基本的に、エピポーラライン上に存在する画素ブロック毎に算出されたシティブロック距離ＣＢのうち、その値が最小となる画素ブロックが相関先と判断される。このようにして特定された相関先と相関元との間のずれ量が視差ｄとなる。なお、シティブロック距離ＣＢを算出するステレオ画像処理部７のハードウェア構成については、特開平５−１１４０９９号公報に開示されているので、必要ならば参照されたい。このような処理を経て算出された距離データ、すなわち、画像上の位置（ｉ，ｊ）と対応付けられた視差ｄの集合は、距離データメモリ９に格納される。
【００２４】
マイクロコンピュータ１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力インターフェース等で構成されているが、これを機能的に捉えた場合、地形認識部１１、立体物検出部１２、農作物検出部１３および制御部１４を有する。地形認識部１１は、距離データメモリ９から距離データＤｉｊを読み出し、この距離データＤｉｊに基づき、作業領域内の地面の位置を認識する。そして、この認識された地面の位置（正確には、地面の高さｈｎｍ）は、立体物検出部１２に出力される。立体物検出部１２は、地形認識部１１により認識された地面の位置に基づき、実空間上において、距離データＤｉｊのうち地面より高い位置に存在する距離データＤｉｊを立体物データとして選別する。そして、選別された立体物データに基づき、作業領域内に存在する立体物が検出される。そして、検出された立体物（正確には、立体物を規定するパラメータ）が農作物検出部１３に出力される。農作物検出部１３は、検出された立体物に関する実空間上での位置を算出し、この算出された位置に基づき、所定方向に並ぶ立体物を農作物として検出する。この検出された農作物（正確には、農作物を規定するパラメータ）は、制御部１４に出力される。制御部１４は、農作物の検出結果に基づき、必要に応じて、図示しない警報装置や車両に関する制御装置等の制御を行う。
【００２５】
図４は、農作物の検出手順を示したフローチャートである。本ルーチンは、所定の間隔で呼び出され、マイクロコンピュータ１０によって実行される。まず、ステップ１において、地形認識部１１は、１フレーム相当の距離データＤｉｊを読み込むとともに、この距離データＤｉｊに基づき、作業領域内の地面の位置（すなわち、地形）を認識する。以下、詳細な地形認識処理の手順を説明する。
【００２６】
まず、読み込んだ距離データＤｉｊが複数の区分に分割される。具体的には、まず、画像データにより規定される画像平面上の座標位置に対応する二次元的な平面において、距離データＤｉｊが、縦方向に延在する短冊状に切断（分割）される。そして、この分割された距離データＤｉｊのそれぞれにおいて、短冊内に含まれる視差群に基づき実空間上での距離がそれぞれ算出される。実空間上での距離は、周知の座標変換式に基づき、一義的に算出可能である。このとき、ステレオカメラの位置を基準に設定された実空間の座標系は、ステレオカメラの中央真下の地面を原点として、ステレオカメラにおけるカメラ基線長の延長方向をｘ軸、取り付け高さ方向をｙ軸、視線方向（距離方向）をｚ軸とする。つぎに、算出された距離のそれぞれが、距離方向（ｚ方向）に所定の距離間隔で区切られて、複数の区間毎の距離に分割される。以上の処理により、距離データＤｉｊが、短冊数×距離区間数相当の複数の区分に分割される。
【００２７】
そして、分割された区分のそれぞれを処理対象として、以下に述べる処理が繰り返し実行される。以下、説明において、分割された区分のそれぞれを特定するべく、分割された短冊毎に１〜ｎの番号を横方向（二次元平面において、ｉ座標の増加方向）に昇順で割り当てる。そして、この番号が割り当てられた短冊のそれぞれにおいて、分割された区間毎に１〜ｍの番号を距離方向（ｚ方向）に昇順で割り当てる。なお、後述する立体物検出部１２により分割される距離データＤｉｊに関する区分との差を明確にするための、この地形認識部１１によって分割された区分を「第１の区分Ｓ１ｎｍ」と称する。
【００２８】
まず、距離データＤｉｊに基づき、１区分に関する高さ群が算出される。この高さ群は、処理対象とする第１の区分Ｓ１ｎｍ内に含まれる距離データＤｉｊによって算出される実空間上の高さｙの集合である。実空間上の高さｙは、距離データＤｉｊに基づき、具体的には、視差ｄと、この視差ｄに対応付けられた座標位置（ｊ座標）とに基づき、周知の座標変換式により一義的に算出される。
【００２９】
つぎに、算出された高さ群について高さｙに関するヒストグラム（頻度分布）が算出される。図５は、ヒストグラムの一例を示す説明図である。同図に示すように、頻度分布は、例えば、高さｙを縦軸として、予め設定された幅（例えば、０．１ｍ）の区間で、この縦軸が区切られている。そして、縦軸の区間のそれぞれにおいて、高さ群に含まれる区間相当の高さｙの個数がそれぞれ数えられる。これにより、区間のそれぞれに関する度数が求められ、頻度分布が算出される。
【００３０】
そして、地形認識部１１は、算出された頻度分布に基づき、この頻度分布が算出された第１の区分Ｓ１ｎｍに関する地面の高さ（以下、単に「地面高さ」と称する）ｈｎｍを特定する。
【００３１】
一般に、ステレオ画像処理において、輝度のバラツキが少ない地面では、ステレオマッチングを行う際に、地面を含む画素ブロックＰＢｉｊの輝度特性が比較的単調であるため、距離データＤｉｊが得られにくいという問題がある。なぜならば、この画素ブロックＰＢｉｊの輝度特性と相関を有する領域（相関先）を比較画像において特定することが困難だからである。すなわち、処理対象としている第１の区分Ｓ１ｎｍにおいて、地面に関する高さｙの値は高さ群に含まれ難い。しかしながら、この第１の区分Ｓ１ｎｍ内に農作物などの立体物が存在すると、地面から起立している部位（すなわち、根本より上方）には距離データＤｉｊが存在することとなる。そこで、算出された頻度分布において、ある程度の度数を有する高さｙの中で、最も値が小さい高さｙｍｉｎを、農作物の根元の高さと考えることができる。そして、この高さｙｍｉｎ付近を地面の高さと見なすことで、地面高さｈｎｍを特定することができると考えられる。
【００３２】
また、第１の区分Ｓ１ｎｍの中に地面に相当する距離データＤｉｊが含まれている場合、頻度分布において、地面高さｈｎｍは、ある程度の度数を有する高さｙの中で、最も値が小さい高さｙｍｉｎが、これに該当するはずである。なぜならば、実空間上において、地面は、高さが最も低い位置に存在するものであり、これよりも小さい値の高さｙは高さ群内には基本的に存在しないからである。このため、頻度分布において、地面より低い高さｙにおいて、度数が現れることはない。
【００３３】
以上のことに鑑みて、頻度分布において、度数を有する高さｙの中で最も値が小さい高さｙｍｉｎを、地面高さｈｎｍとして特定することができるはずである。しかしながら、ステレオマッチングによって算出される距離データＤｉｊは、ミスマッチング等の影響によって、誤差データを含むことがある。このような誤差データの一態様として、ある実空間上の位置に立体物が存在しないにも拘わらず、その位置に値をもったデータが算出されてしまうことがある。例えば、図５に示す頻度分布の下側には、少数の度数があり、これらはミスマッチングデータである。
【００３４】
そこで、地形認識部１１は、頻度分布において、所定しきい値Ｔｈ以上の度数を有する高さｙの中で最も値が小さい高さｙｍｉｎが存在するか否かを判断する。なお、この判断基準を与えるしきい値Ｔｈは、上述したミスマッチングデータを排除し得る程度の大きさに設定されている。この判断で肯定された場合には、この頻度分布が算出された第１の区分Ｓ１ｎｍに関する地面高さｈｎｍとして、高さｙｍｉｎが特定される。一方、この判断で否定された場合には、地面高さｈｎｍの特定は行われない。ただし、この地面高さｈｎｍが特定されなかった第１の区分の位置（ｎ，ｍ）が、第１の区分Ｓ１ｎｍ’として記憶される。
【００３５】
そして、上述した地面高さｈｎｍの算出処理が、分割された全ての第１の区分Ｓ１ｎｍに関して行われると、次の処理に進む。
【００３６】
次の処理として、地面高さｈｎｍが特定されていない第１の区分Ｓ１ｎｍ’に関する地面高さｈｎｍを、周囲の第１の区分Ｓ１ｎｍに関する地面高さｈｎｍに基づいて補間する内挿処理が行われる。より詳細には、記憶された区分Ｓｎｍ’の位置（ｎ，ｍ）が特定され、周囲の区分Ｓｎｍに対応する地面高さｈｎｍに基づき、この区分Ｓｎｍ’に対応する地面高さｈｎｍが統計的に補間される。
【００３７】
なお、上述した処理で地面高さｈｎｍの特定を行った場合、ある第１の区分Ｓ１ｎｍでは、地面に相当する距離データＤｉｊが存在しないことも考えられる。すなわち、所定しきい値以上の度数を有する高さｙの中で最も値が小さい高さｙｍｉｎが、立体物の高さを示していることも考えられる。そこで、地形認識部１１は、周囲の第１の区分Ｓ１ｎｍに関する地面高さｈｎｍとは異なる地面高さｈｎｍを有する第１の区分Ｓ１ｎｍを特定する。そして、この特定された第１の区分Ｓ１ｎｍに関する地面高さｈｎｍが、周囲の第１の区分Ｓ１ｎｍに関する地面高さｈｎｍに基づいて補正される。
【００３８】
以上の処理により、分割された第１の区分Ｓ１ｎｍのそれぞれに関する最適な地面高さｈｎｍが特定される。これにより、第１の区分Ｓ１ｎｍの位置と、当該第１の区分Ｓ１ｎｍに関する地面高さｈｎｍとを考慮することで、作業領域内の地形が認識可能となる。
【００３９】
つぎに、ステップ２において、立体物検出部１２は、距離データメモリ９から距離データＤｉｊを読み込とともに、この距離データＤｉｊと、地形認識部１１により認識された地面の位置とに基づき、作業領域内に存在する立体物を検出する。
【００４０】
図６は、ステップ２における詳細な立体物の検出処理を示したフローチャートである。まず、ステップ２０において、距離データＤｉｊが、二次元的な平面において、縦方向に延在する短冊状に切断されることにより、複数の区分に分割される。この分割された距離データＤｉｊの区分は、上述した地形認識部１１によって分割された短冊状の区分と位置的に一致している。ただし、両区分は、必ずしも位置的に一致している必要はないが、両者が一致していることで区分間の対応が取れるので、地面より上に位置する距離データＤｉｊを特定する際に計算処理の簡素化を図る上で好ましい。
【００４１】
そして、立体物検出部１２は、分割された区分のそれぞれを処理対象として、以下に述べる処理を繰り返し実行する。なお、説明において、分割された区分のそれぞれを特定するため、分割された区分毎に１〜ｎの番号を横方向（二次元平面において、ｉ座標の増加方向）に昇順で割り当てる。また、この立体物検出部１２によって分割される区分を、以下、「第２の区分Ｓ２ｎ」と称する。ここで、次のステップとして、第２の区分Ｓ２ｎの位置を特定するループ変数として、１がセットされる（ステップ２１）。これにより、水平方向に並んだ複数の第２の区分Ｓ２ｎのうち、一番左端の第２の区分Ｓ２ｎが選択される。
【００４２】
ステップ２２において、この第２の区分Ｓ２ｎ内に存在する距離データＤｉｊに基づき、実空間上の位置が算出される。具体的には、まず、第２の区分Ｓ２ｎに含まれる距離データＤｉｊデータの中から、任意の距離データＤｉｊ（例えば、（ｉ，ｊ）位置が最も原点に近いデータ）が選択される。そして、選択された距離データＤｉｊについて、周知の座標変換式に基づき、実空間上の三次元位置（ｘ，ｙ，ｚ）が算出される。そして、同様の処理が繰り返し実行されて、第２の区分Ｓ２ｎ内全ての距離データＤｉｊに関する三次元位置が算出される。
【００４３】
そして、ステップ２３において、実空間上において地面の位置より高い位置に存在する距離データＤｉｊが、立体物データとして選別される。ここで、立体物検出部１２は、この算出された実空間上の位置（ｘ，ｙ，ｚ）に対応する地面の高さ（地面高さｈｎｍ）を、地形認識部１１からの情報に基づき特定する。この対応する地面高さｈｎｍは、第１の区分Ｓ１ｎｍに分割された距離データＤｉｊにおいて、座標変換された距離データＤｉｊに対応する第１の区分Ｓ１ｎｍを特定することで、一義的に求めることができる。そして、特定された第１の区分Ｓ１ｎｍに関する地面高さｈｎｍと、座標変換された距離データＤｉｊの高さｙとが比較される。このとき、座標変換された距離データＤｉｊの高さｙが地面高さｈｎｍより高い（値が大きい）場合には、その実空間上の位置（ｘ，ｙ，ｚ）が立体物データとして選別される。そして、全ての距離データＤｉｊに関する三次元位置について、同様の処理が繰り返し実行されて、立体物データ（ｘ，ｙ，ｚ）が適宜選別される。これにより、第１の実施形態では、地面上の立体物と推定されるデータ、すなわち、地面よりも高くデータが、立体物データとして選別される。
【００４４】
なお、このとき、距離データＤｉｊの高さｙが車両の高さより上にあるデータについて、立体物検出部１２は、これを取り扱わないとしてもよい。なぜならば、車両より高い位置に存在する立体物は、それを無視しても車両制御に関する影響は少ないからである。例えば、車両より高い位置に障害物が存在しても、その高さより低い車高の車両はその下をくぐり抜けることができる。
【００４５】
そして、ステップ２４において、抽出された立体物データの距離ｚに関し、ヒストグラム（頻度分布）が作成される。この頻度分布は、図５に示した頻度分布と基本的に同じであるが、距離ｚを縦軸として、予め設定された幅（例えば、１．０ｍ）の区間でこの縦軸が区切られている。そして、縦軸の区間のそれぞれにおいて、立体物データに含まれる区間相当の距離ｚの個数がそれぞれ数えられる。これにより、区間のそれぞれに関する度数が求められ、頻度分布が算出される。
【００４６】
ステップ２５において、この頻度分布に関し、分布の度数が所定のしきい値以上で、かつ、最頻距離となる区間があるか否かが判断される。一般に、ステレオマッチングによって算出される距離画像データＤｐは、ミスマッチング等の影響によって、誤差データを含むことが多い。そこで、作成された距離頻度分布において、予め設定したしきい値以上かつ最大値をとる区間があれば、その区間に立体物が存在すると判断し、また、度数の最大値が判定値以下の場合は物体が存在しないと判断することが好ましい。なぜならば、ある程度の大きさの立体物がある場合には、その区間の度数が大きくなる傾向があり、一方、物体が何も存在しない場合には、たとえ誤ったデータが存在したとしても、発生する度数が小さくなる傾向があるからである。これにより、データに多少のノイズが含まれている場合においても、この影響を最小限にして立体物を検出することができる。
【００４７】
この判断で肯定された場合、ステップ２６に進み、この第２の区分Ｓ２ｎには立体物が存在すると特定される。そして、その区間内に存在する各距離ｚの平均値または代表値、或いは、該当する区間の中間値が、その立体物までの距離Ｚとして算出される。一方、この判断で否定された場合、ステップ２７に進み、この第２の区分Ｓ２ｎには立体物が存在しないと特定される。
【００４８】
そして、ステップ２８において、分割された全ての第２の区分Ｓ２ｎに関して立体物検出処理が行われたか否かが判断される。この判断で肯定された場合、立体物検出部１２はこのルーチンを抜ける。一方、この判断で否定された場合、ステップ２９に進み、ループ変数Ｓ２ｎとして、Ｓ２ｎ＋１がセットされる。そして、分割された全ての第２の区分Ｓ２ｎのそれぞれについて、立体物検出処理が行われる。
【００４９】
ステップ３において、農作物検出部１３は、農作物を検出する。図７は、ステップ３における詳細な農作物検出手順を示すフローチャートである。まず、ステップ３０において、検出された立体物のそれぞれに関する実空間上の位置が算出される。図８は、ｘ−ｚ平面における立体物の位置を示した説明図である。同図において、立体物の位置が、ｘ−ｚ平面上にプロットして示されている。立体物の実空間上の位置は、第２の区分Ｓ２ｎのそれぞれにおいて算出された、立体物の距離Ｚに対応する実空間上の位置である。実区間上の位置の算出手法としては、例えば、距離Ｚに対応する立体物データより特定される実空間上の位置（複数存在する場合には、この重心位置）を立体物の位置として算出するといった如くである。
【００５０】
ステップ３１において、検出された立体物の距離が接近しているものがまとめられて、グループに分けられる。この処理では、隣接する一対の第２の区分Ｓ２ｎにおける立体物の距離Ｚがそれぞれ比較される。そして、両区分の立体物までの距離Ｚの差異が判定値以下の場合には、この両区分の立体物が同一の立体物と見なされ、グループにまとめられる。換言すれば、検出された立体物の距離が近接する立体物同士でグループが構成される。一方、判定値を超えている場合には、両区分の立体物は別々の立体物と見なされ、そこでグループが分けられる。
【００５１】
具体的には、まず、最初の第２の区分Ｓ２ｎ（例えば左端（以下、「区分Ｓ２１」と称する））を調べ、立体物が検出されている場合には、距離Ｚ（以下、「距離Ｚ１」と称する）が読み込まれる。そして、この立体物について、グループＧ１が割り当てられ、距離Ｚ１がこれに対応付けられる。
【００５２】
次に、右隣の第２の区分Ｓ２ｎ（仮に、これを「区分Ｓ２２」と称する）を調べる。この第２の区分Ｓ２２において、立体物が検出されていない場合には、先に読み込まれた第２の区分Ｓ２１に関する立体物は、この区分Ｓ２１内で完結しているものと見なされる。そして、この区分Ｓ２１で検出された立体物はグループＧ１として、そのグループが確定される。
【００５３】
一方、第２の区分Ｓ２２で立体物が検出されている場合には、この区分Ｓ２２に関する距離Ｚ（以下、「距離Ｚ２」と称する）が読み込まれる。そして、先に読み込まれた区分Ｓ２１の距離Ｚ１と、右隣の区分Ｓ２２の距離Ｚ２の差が計算されて、この差が判定値以下であるか否かが判断される。この判断で肯定された場合、すなわち、立体物の距離が互いに接近している場合には、区分Ｓ２２で検出された立体物は、グループＧ１に属すると判断される。そして、この区分Ｓ２２に関する立体物について、区分Ｓ２２と同一のグループＧ１が割り当てられ、Ｚ１とＺ２との平均値として、その距離が対応付けられる。一方、この判断で否定された場合、すなわち、立体物同士の距離が離れている場合には、区分Ｓ２２で検出された立体物は、先に検出されたグループＧ１とは異なる立体物であると判断される。そして、先に読み込まれた区分Ｓ２１で検出された立体物はグループＧ１として、そのグループが確定される。また、この区分Ｓ２２で検出された立体物は、新しいグループＧ２が割り当てられ、距離Ｚ２がこれに対応付けられる。
【００５４】
次に、第２の区分Ｓ２２の右隣の第２の区分Ｓ２ｎが調べられ、そして、この処理が全ての第２の区分Ｓ２ｎについて行われて、立体物のグループ化が行われる。以上のグループ化処理により、例えば、図８に示すように、立体物が７個のグループにまとめられる。同図には、ｚ軸に関して左側に、ｚ軸とほぼ平行するグループ１〜３、ｚ軸に関して右側に、ｚ軸とほぼ平行するグループ４〜６、および、ｚ軸に直交した方向にグループ７が示されている。
【００５５】
次に、ステップ３２において、検出された立体物の並び方向が特定される。第１の実施形態では、立体物の並び方向は、まとめられたグループのそれぞれにおいて、グループを構成する立体物の位置に基づき算出された近似直線として特定される。近似直線の算出手法としては、最小二乗法、または、ハフ変換など、周知の手法が用いられる。
【００５６】
ステップ３３において、特定された並び方向が一致するか否かが判断される。この判断では、ステップ３２において特定されたグループの並び、すなわち、算出された近似直線の向き（ベクトル成分）を互いに比較し、向きの相違が判定値以下であるか否かにより判断することができる。この判断で肯定された場合、すなわち、全てのグループにおいて並び方向が近似する場合には、ステップ３５に進む。一方、この判断で否定判定された場合、すなわち、並び方向が異なるグループが存在する場合には、ステップ３４に進む。そして、ステップ３４において、並び方向が異なるグループが、まとめらたグループから除外される。
【００５７】
ステップ３５において、この並び方向が一致するグループが農作物として検出される。一般に、農作物は、多数の農作物が一方向に並ぶという特徴がある。本実施形態では、認識すべき対象である農作物について、この特徴を利用することにより、農作物と、農作物でないものとの切り分けを行っている。これにより、図８に示したように、農作物の列の間から遠方に見える森などの背景（グループ７）を、農作物と切り分けて認識することができる。換言すれば、算出された農作物に関する位置に基づき、所定方向に並ぶ立体物が農作物として検出される。なお、本実施形態において、農作物とそうでないものとの切り分けは、立体物の並び（すなわち、近似直線）が完全に向きが一致している状態のみを指すものではなく、並び方向がほぼ一致していると見なせる状態をも含む。したがって、ステップ３４における判定値は、このような状態をも含む程度の大きさに設定されている。
【００５８】
農作物検出部１３は、検出された農作物を、グループ毎の傾き、或いは、グループ端部の実空間上の位置などのパラメータによって規定し、この農作物を規定するパラメータが制御部１４に対して出力される。以上の農作物検出処理に基づき、制御部１４は、例えば、車両と農作物との距離が短くなり、オペレータへの警報が必要な状況では、モニタやスピーカ等の警報装置を動作させて、オペレータへの注意を喚起する。また、このような状況で車両を減速させるべく、ブレーキの作動、エンジン出力の低下、或いは、車両の進行方向を変更させるべく、操舵角変更等の車両制御を行うことができる。
【００５９】
以上説明したように、第１の実施形態の農作物検出装置１によれば、距離データの区分毎に地面の高さが求められているので、地面の形状を正確に把握することができる。これにより、認識された地面と、地面上に存在する立体物とを正確に認識することができる。また、特に、検出された立体物の中から、所定方向に並ぶことを条件として農作物を特定することにより、農作物とそうでないものとの切り分けを正確に行うことができる。これにより、認識された農作物の状況を考慮することで、車両側の制御を容易かつ正確に行うことができる。また、第１の実施形態では、地面から上部までの幅の広いデータ（縦短冊の第２の区分Ｓ２ｎ）を用いて農作物を検出しているので、背丈の高い農作物の全体としての位置を検出する上で好ましい。例えば、超音波センサなどを車両前部に取り付けて、農作物を検出すると、センサを取り付けた位置での農作物しか検出できないという問題がある。しかしながら、第１の実施形態によれば、これらの問題を解決することができる。
【００６０】
（第２の実施形態）
図９は、ステップ２における詳細な立体物検出処理の別の手順を示すフローチャートである。第２の実施形態にかかる農作物検出手順が、第１の実施形態に係る手順と相違する点は、ステップ２，３の処理についてである。この第２の実施形態にかかる農作物検出は、例えば、背丈の小さな農作物を検出する上で有効な手法である。
【００６１】
以下、農作物の検出手順に関して説明を行うが、図４に示した農作物の認識手順と同様の手順については、ここでの説明を省略する。なお、第２の実施形態では、前提として、車両の進行方向は、予め農作物の並び方向と略平行になっているものとする。まず、ステップ２０ａにおいて、読み込まれた距離データＤｉｊに基づき、周知の座標変換式により実空間上の位置（ｘ，ｙ，ｚ）が算出される。
【００６２】
そして、ステップ２１ａにおいて、実空間上において地面の位置より高い位置に存在する距離データＤｉｊが、立体物データとして選別される。ここで、立体物検出部１２は、算出された実空間上の位置（ｘ，ｙ，ｚ）に対応する地面の高さ（地面高さｈｎｍ）を、地形認識部１１からの情報に基づきそれぞれ特定する。この地面高さｈｎｍは、第１の区分Ｓ１ｎｍに分割された距離データＤｉｊにおいて、座標変換された距離データＤｉｊに対応する第１の区分Ｓ１ｎｍを特定することで、一義的に求めることができる。そして、地面高さｈｎｍと、座標変換された距離データＤｉｊの高さｙとが比較される。このとき、座標変換された距離データＤｉｊの高さｙが地面高さｈｎｍより高い（値が大きい）場合には、その実空間上の位置（ｘ，ｙ，ｚ）が立体物データとして選別される。そして、全ての距離データＤｉｊについて、同様の処理が繰り返し実行されて、立体物データが適宜選別される。
【００６３】
そして、ステップ２２ａにおいて、この選別された立体物データのそれぞれを処理対象として、立体物データの距離が接近しているものがまとめられて、グループに分けられる。このステップ２２ａでは、まず、ある立体物データが選択されて、この立体物データについて、グループＧ１が割り当てられるとともに、実空間上の位置（ｘ１、ｙ１、ｚ１）がこれに対応付けられる。
【００６４】
次に、新たな立体物データが選択されて、この立体物データの実空間上の位置（ｘ２，ｙ２，ｚ２）が特定される。そして、先に割り当てられたグループＧ１と、この位置（ｘ２，ｙ２，ｚ２）との実空間上の距離Ｌが算出されて、この距離Ｌが判定値以下であるか否かが判断される。この判断で肯定された場合には、この選択された新たな立体物データはグループＧ１に属する、と判断される。そして、この新たな立体物データについて、先に選択された立体物データと同一のグループＧ１が割り当てられて、このグループＧ１の位置として、（ｘ１，ｙ１，ｚ１）と（ｘ２，ｙ２，ｚ２）との中心位置がこれに対応付けられる。一方、この判断で否定された場合には、この立体物はグループＧ１とは異なる立体物である、と判断される。そして、先に選択された立体物データはグループＧ１として、グループが確定される。また、新たに選択された立体物データは、新しいグループＧ２が割り当てられ、位置（ｘ２，ｙ２，ｚ２）がこれに対応付けられる。
【００６５】
なお、新たな立体物データを選択した際に、既に複数のグループが存在する場合には、グループまでの距離Ｌが最短となるグループに対して、上述した処理が行われる。そして、この処理が全ての立体物データについて行われ、立体物データが複数のグループにまとめられる。なお、この処理は、距離画像のグループ化手法として周知な手法であり、本明細書ではこれ以上の説明を省略する。
【００６６】
そして、ステップ２３ａにおいて、グループ化された立体物データのそれぞれが立体物として特定される。以上の立体物検出処理により、例えば、図１０に示すような、複数のグループが立体物として特定されている。同図には、作業領域内に立体物として存在する農作物や雑草等などがグループとして概略的に表されている。
【００６７】
図１１は、ステップ３における別の農作物の検出処理の詳細な手順を示すフローチャートである。まず、ステップ３０ａにおいて、立体物の実空間上での位置が算出される。この立体物の位置は、先に特定されたグループのそれぞれにおいて、グループの重心位置を算出することにより、一義的に特定することができる。
【００６８】
そして、ステップ３１ａにおいて、ｚ方向と、立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせが選別される。ここで、ｚ方向とは、距離データに基づき特定される実空間上での距離方向をいう。このステップ３１ａでは、検出された立体物を任意の組み合わせで抽出することにより、ハフ変換、最小二乗法など周知の手法により近似直線が特定される。そして、算出された近似直線の向き（ベクトル成分）とｚ方向とを互いに比較し、向きの相違が判定値以下であるか否かにより、ｚ方向と近似直線とが一致するか否かが判断される。そして、この判断で肯定された場合に、近似直線を構成する立体物のそれぞれが、組み合わせとして選別される。
【００６９】
なお、本実施形態において、ｚ軸方向と一致する近似直線とは、完全に向きが一致しいている状態のみを指すものではなく、ｚ軸方法とほぼ平行と見なせる状態をも含む。したがって、このステップ３１ａにおける判定値は、このような状態をも含む程度の大きさに設定されている。
【００７０】
そして、ステップ３２ａにおいて、選択された立体物が農作物として検出される。すなわち、第１の実施形態と同様、算出された農作物に関する位置に基づき、所定方向（第２の実施形態では、ｚ方向）に並ぶ立体物が農作物として検出される。図１２は、立体物と近似直線との関係を示した説明図である。上述したように、農作物は、作業領域内において、多数の農作物が一方向に並んでいるという特徴がある。また、前提として、車両の進行方向（すなわち、ステレオカメラの視線方向（ｚ方向））は、農作物の並び方向と一致している。これにより、第２の実施形態では、ｚ方向とその並び方向が一致するか否かにより、農作物と、農作物でないものとの切り分けを行っている。図１２に示す例では、農作物の列の間に存在する雑草等が、農作物と切り分けられて区別されている。
【００７１】
以上説明したように、第２の実施形態によれば、第１の実施形態と同様な効果を奏するとともに、背丈の低い農作物についても、農作物を精度よく認識することができる。また、農作物の一つ一つを区別して、その概略的な形状と位置を把握することができる。
【００７２】
なお、第１の実施形態では、二次元平面に加えて、距離方向を加味した三次元空間において、距離データＤｉｊを複数の区分Ｓｎｍに分割している。これにより、立体物に相当する距離データＤｉｊは、同一の区分Ｓｎｍ内に分類されるので、上述した立体物の足元の検出をする上で有利である。しかしながら、距離データＤｉｊを単に二次元平面上において、行列状に分割するような区分であってもよい。この形態によれば、区分Ｓｎｍの分類の際に、距離を算出する必要がないので、計算処理の簡素化を図る上で有利である。
【００７３】
また、本実施形態では、一例として、車両制御と関連付け、農作物検出装置１を説明したが、本発明は、これに限定されるものではない。例えば、農作物検出装置１は、作業領域内に固定的に取り付けられて、単に農作物を検出することを目的としてもよい。
【００７４】
また、ステレオカメラは、画像データを出力するカメラとしての機能と、ステレオ画像処理部７と協働して、距離データＤｉｊを出力する距離センサとしての機能とを有する。しかしながら、本発明は、ステレオカメラに限定されるものではなく、レーザレーダを使用することもできる。レーザレーダは、作業領域内をスキャンすることによって、距離の二次元的な分布を示す距離データＤｉｊを出力する。また、この距離データＤｉｊは、予めカメラ２，３の撮影範囲を距離センサでスキャンして、そのスキャン結果を画像上でのｉ−ｊ座標に対応付けたテーブルとして格納していてもよい。
【発明の効果】
このように、本発明によれば、検出された立体物のうち、所定方向に並ぶことを条件として農作物を検出している。これにより、農作物とそうでないものとの切り分けを行うことができるので、農作物のみを精度よく検出することができる。
【図面の簡単な説明】
【図１】第１の実施形態にかかる農作物検出装置のブロック構成図
【図２】１フレームの画像を示す説明図
【図３】基準画像に設定される画素ブロックの説明図
【図４】農作物の検出手順を示したフローチャート
【図５】ヒストグラムの一例を示す説明図
【図６】立体物検出手順を示したフローチャート
【図７】農作物検出手順を示したフローチャート
【図８】ｘ−ｚ平面における立体物の位置を示した説明図
【図９】立体物検出手順の別の手順を示すフローチャート
【図１０】グループ化された立体物を示す説明図
【図１１】農作物検出手順の別の手順を示すフローチャート
【図１２】立体物と近似直線との関係を示した説明図
【符号の説明】
１　　　農作物検出装置
２　　　メインカメラ
３　　　サブカメラ
４　　　Ａ／Ｄコンバータ
５　　　Ａ／Ｄコンバータ
６　　　画像補正部
７　　　ステレオ画像処理部
８　　　画像データメモリ
９　　　距離データメモリ
１０　　　マイクロコンピュータ
１１　　　地形認識部
１２　　　立体物検出部
１３　　　農作物検出部
１４　　　制御部
【図１】
2004012233.tif 000003
【図２】
2004012233.tif 000004
【図３】
2004012233.tif 000005
【図４】
2004012233.tif 000006
【図５】
2004012233.tif 000007
【図６】
2004012233.tif 000008
【図７】
2004012233.tif 000009
【図８】
2004012233.tif 000010
【図９】
2004012233.tif 000011
【図１０】
2004012233.tif 000012
【図１１】
2004012233.tif 000013
【図１２】
2004012233.tif 000014