JP2004012233A - 農作物検出装置および農作物検出方法 - Google Patents
農作物検出装置および農作物検出方法 Download PDFInfo
- Publication number
- JP2004012233A JP2004012233A JP2002164533A JP2002164533A JP2004012233A JP 2004012233 A JP2004012233 A JP 2004012233A JP 2002164533 A JP2002164533 A JP 2002164533A JP 2002164533 A JP2002164533 A JP 2002164533A JP 2004012233 A JP2004012233 A JP 2004012233A
- Authority
- JP
- Japan
- Prior art keywords
- crop
- dimensional object
- dimensional
- distance
- ground
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Landscapes
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Measurement Of Optical Distance (AREA)
Abstract
【課題】地面上において所定方向に並ぶ農作物を検出する。
【解決手段】距離センサは、作業領域内における距離の二次元的な分布を距離データとして出力する。地形認識部11は、距離データに基づき、作業領域内の地面の位置を認識する。立体物検出部12は、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データを立体物データとして選別する。そして、この立体物データに基づき作業領域内に存在する立体物が検出される。農作物検出部13は、検出された立体物に関する実空間上の位置を算出し、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物を農作物として検出する。
【選択図】 図1
【解決手段】距離センサは、作業領域内における距離の二次元的な分布を距離データとして出力する。地形認識部11は、距離データに基づき、作業領域内の地面の位置を認識する。立体物検出部12は、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データを立体物データとして選別する。そして、この立体物データに基づき作業領域内に存在する立体物が検出される。農作物検出部13は、検出された立体物に関する実空間上の位置を算出し、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物を農作物として検出する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置および農作物検出方法に関する。
【0002】
【従来の技術】
近年、単眼カメラ、ステレオカメラ、或いは、ミリ波レーダといった各種センサを用いた監視装置が注目されている。この類の監視装置は、センサによって所定の監視領域内の景色を撮像またはスキャンし、これにより得られた情報に基づいて、監視領域内の状況を認識する。
【0003】
このような監視装置は、その認識能力を利用して、自動車の走行制御、鉄道線路における踏切内への侵入車両(侵入者)の監視、地形認識等さまざまな目的で幅広く用いられている。また、さらには、農耕地の作物に関し収穫・薬剤散布・雑草除去などの作業を自動的に行う作業用車両において、この認識能力を利用して、これらの車両の走行制御を行うことも考えられている。
【0004】
なお、特開平9−238510号公報には、耕耘機にカメラを取り付けて、耕耘する地面を撮像し、画像を解析して既耕地と未耕地との境界を検出する手法が開示されている。また、特開平5−154424号公報には、地面に誘導ケーブルを埋設し、農作業用の自走式機体が誘導ケーブルから放射される電磁波を検出することにより、誘導ケーブルに沿って走行する自走式機体が開示されている。
【0005】
【発明が解決しようとする課題】
しかしながら、上述した従来技術は、カメラを用いて耕地を解析することはできるものの、農作物のある耕地において農作物を検出することはできない。また、誘導ケーブルを埋設する手法は、ケーブルを埋設しなければならず、経済的な負担が大きく、煩雑な作業が必要とされるので好ましくない。また、作物の位置が変化した場合には、それにともないケーブルを埋設し直さなければならず、保守作業の負担が大きいなどの問題がある。
【0006】
また、上述した監視装置を作業用車両の車両制御に適用する場合、この監視装置は、監視領域内の状況、すなわち、農作物を有効に認識することが重要となる。農作物を認識するためには、前提として地面の認識が正確に行われる必要がある。なぜならば、この認識された地面に基づき、地面と農作物との切り分けが行われるからである。しかしながら、従来の認識技術では、地面は一つの面として捉えられているので、地面の起伏が正確に把握されていないので、地面と農作物との切り分けを行うことが難しい。さらに、農作物を認識するためには、農作物と、農作物でないもの、例えば、雑草や背景などとの切り分けも十分に行われる必要がある。すなわち、従来の監視装置を単に農作業車に転用することでは、車両の走行制御を十分に行うことは難しい。
【0007】
本発明は、このような事情に鑑みてなされたものであり、その目的は、地面上において所定方向に並ぶ農作物を検出することである。
【0008】
また、本発明の別の目的は、地面上の作物の位置を認識することにより、作業用車両を正確に制御することである。
【0009】
【課題を解決するための手段】
かかる課題を解決するために、第1の発明は、作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置において、距離センサと、地形認識部と、立体物検出部と、農作物検出部とを有する農作物検出装置を提供する。かかる農作物検出装置において、距離センサは、作業領域内における距離の二次元的な分布を距離データとして出力する。地形認識部は、距離データに基づき、作業領域内の地面の位置を認識する。立体物検出部は、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データを立体物データとして選別する。そして、この立体物データに基づき作業領域内に存在する立体物が検出される。農作物検出部は、検出された立体物に関する実空間上の位置を算出し、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物を農作物として検出する。
【0010】
ここで、第1の発明において、地形認識部は、二次元的な平面において、距離データを複数の区分に分割し、この分割された区分のそれぞれにおいて、以下の処理を行うことが好ましい。まず、距離データに基づき1区分に関する高さ群が算出され、算出された高さ群について高さに関する頻度分布が算出される。そして、この算出された頻度分布に基づき、頻度分布が算出された区分に関する地面の高さが特定される。
【0011】
また、第1の発明において、農作物検出部は、実空間上において、検出された立体物の距離が接近している立体物同士でグループを構成し、この構成されたグループのそれぞれにおいて、立体物の並び方向を特定するとともに、立体物の並び方向が一致するグループを農作物として検出することが好ましい。この場合、立体物の並び方向は、グループを構成する立体物の位置に基づき算出された近似直線により特定されることが望ましい。あるいは、第1の発明において、農作物検出部は、距離データに基づき特定される実空間上での距離方向と、検出された立体物の位置に基づき算出された近似直線とが一致する立体物を選別し、この選別された立体物を農作物として検出するとが好ましい。この場合、上述した近似直線は、ハフ変換、または、最小二乗法により算出されることが望ましい。
【0012】
さらに、第1の発明において、距離センサは、作業領域を含む景色を撮像することにより、一対の撮像画像を出力するステレオカメラ、或いは、レーザレーダであることが好ましい。
【0013】
また、第2の発明は、作業領域内の距離の二次元的な分布を示す距離データを用いて、当該作業領域内において所定方向に並んだ農作物を検出する農作物検出方法を提案する。かかる農作物検出方法において、第1のステップでは、距離データに基づき、作業領域内の地面の位置が認識される。第2のステップでは、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データが立体物データとして選別される。第3のステップでは、選別された立体物データに基づき作業領域内に存在する立体物が検出される。第4のステップでは、検出された立体物に関する実空間上の位置が算出される。第5のステップでは、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物が農作物として検出される。
【0014】
ここで、第2の発明において、第1のステップは、二次元的な平面において、距離データを複数の区分に分割し、分割された区分のそれぞれにおいて、以下の処理を行うことが好ましい。まず、距離データに基づき1区分に関する高さ群が算出され、算出された高さ群について高さに関する頻度分布が算出される。そして、算出された頻度分布に基づき、頻度分布が算出された区分に関する地面の高さが特定される。
【0015】
また、第2の発明において、第5のステップは、以下に示すステップを有することが好ましい。まず、ステップとして、実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成する。更なるステップとして、構成されたグループのそれぞれにおいて、立体物の並び方向を特定する。そして、更なるステップとして、立体物の並び方向が一致するグループを農作物として検出する。あるいは、第5のステップは、以下に示すステップを有することが好ましい。まず、ステップとして、距離データに基づき特定される実空間上での距離方向と、検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別する。そして、更なるステップとして、この選別された立体物を農作物として検出する。
【0016】
【発明の実施の形態】
(第1の実施の形態)
図1は、第1の実施形態にかかる農作物検出装置のブロック構成図である。この農作物検出装置1は、距離センサとして機能するステレオカメラを用いて、作業領域内に写し出された農作物を検出する。また、農作物検出装置1は、この検出された農作物に基づき、農作業用車両(以下、単に「車両」と称す)前方の農作物の状況を認識し、車両の走行制御を行う。ステレオカメラは、例えば、車両前部に取り付けられて、図2に示すように、作業領域内の農作物を含む景色を撮像する。同図に示す撮像画像には、車両の進行方向に関して両側に、所定方向(図中では進行方向と略同一方向)に並んだ農作物が写し出されている。このステレオカメラは、一対のカメラ2,3で構成されており、それぞれのカメラ2,3には、イメージセンサ(例えば、CCDまたはCMOSセンサ等)が内蔵されている。メインカメラ2は、ステレオ画像処理を行う際に必要な基準画像(右画像)を撮像し、サブカメラ3は、比較画像(左画像)を撮像する。互いの同期が取れている状態において、カメラ2,3から出力された各アナログ画像は、A/Dコンバータ4,5により、所定の輝度階調(例えば、256階調のグレースケール)のデジタル画像に変換される。
【0017】
デジタル化された一対の画像データは、画像補正部6において、輝度の補正や画像の幾何学的な変換等が行われる。通常、一対のカメラ2,3の取付位置は、程度の差はあるものの誤差が存在するため、それに起因したずれが左右の各画像に生じている。このずれを補正するために、アフィン変換等を用いて、画像の回転や平行移動等の幾何学的な変換が行われる。
【0018】
このような画像処理を経て、メインカメラ2より基準画像データが得られ、サブカメラ3より比較画像データが得られる。これらの画像データ(ステレオ画像データ)は、各画素の輝度値(0〜255)の集合である。ここで、画像データによって規定される画像平面は、i−j座標系で表現され、画像の左下隅を原点として、水平方向をi座標軸、垂直方向をj座標軸とする。一フレーム(一画像の表示単位)相当のステレオ画像データは、後段のステレオ画像処理部7に出力されるとともに、後段の画像データメモリ8に格納される。この画像データメモリ8に格納されたステレオ画像データは、適宜呼び出され、作業領域内の認識において利用することもできる。
【0019】
ステレオ画像処理部7は、基準画像データと比較画像データとに基づいて、一フレーム相当の撮像画像に関する距離データを算出する。ここで、「距離データ」とは、画像データによって規定される画像平面において小領域毎に算出された視差dの集合であり、個々の視差dは画像平面上の位置(i,j)と対応付けられている。換言すれば、距離データは、作業領域内における距離の二次元的な分布である。それぞれの視差dは、基準画像の一部を構成する所定面積(例えば、4×4画素)の画素ブロック毎に1つ算出される。
【0020】
図3は、基準画像に設定される画素ブロックの説明図である。例えば、基準画像が200×512画素で構成されている場合、一フレーム相当の撮像画像から、画素ブロックPBijの個数相当(50×128個)の視差群が算出され得る。周知のように、視差dは、その算出単位である画素ブロックPBijに関する水平方向のずれ量であり、画素ブロックPBijに写し出された対象物までの距離と大きな相関がある。すなわち、画素ブロックPBij内に写し出されている対象物がカメラ2,3に近いほど、この画素ブロックPBijの視差dは大きくなり、対象物が遠いほど視差dは小さくなる(無限に遠い場合、視差dは0になる)。
【0021】
ある画素ブロックPBij(相関元)に関する視差dを算出する場合、この画素ブロックPBijの輝度特性と相関を有する領域(相関先)を比較画像において特定する。上述したように、カメラ2,3から対象物までの距離は、基準画像と比較画像との間における水平方向のずれ量として現れる。したがって、比較画像において相関先を探索する場合、相関元となる画素ブロックPijのj座標と同じ水平線(エピポーラライン)上を探索すればよい。ステレオ画像処理部7は、相関元のi座標を基準に設定された所定の探索範囲内において、エピポーラライン上を一画素ずつシフトしながら、相関元と相関先の候補との間の相関性を順次評価する(ステレオマッチング)。そして、原則として、最も相関が高いと判断される相関先(相関先の候補の内のいずれか)の水平方向のずれ量を、その画素ブロックPBijの視差dとする。
【0022】
2つの画素ブロックの相関は、例えば、シティブロック距離CBを算出することにより評価することができる。数式1は、シティブロック距離CBの基本形を示す。同数式において、p1ijは一方の画素ブロックのij番目の画素の輝度値であり、p2ijは他方の画素ブロックのij番目の輝度値である。シティブロック距離CBは、位置的に対応した輝度値p1ij,p2ijの差(絶対値)の画素ブロック全体における総和であって、その差が小さいほど両画素ブロックの相関が大きいことを意味している。
【数1】
CB=Σ|p1ij−p2ij|
【0023】
基本的に、エピポーラライン上に存在する画素ブロック毎に算出されたシティブロック距離CBのうち、その値が最小となる画素ブロックが相関先と判断される。このようにして特定された相関先と相関元との間のずれ量が視差dとなる。なお、シティブロック距離CBを算出するステレオ画像処理部7のハードウェア構成については、特開平5−114099号公報に開示されているので、必要ならば参照されたい。このような処理を経て算出された距離データ、すなわち、画像上の位置(i,j)と対応付けられた視差dの集合は、距離データメモリ9に格納される。
【0024】
マイクロコンピュータ10は、CPU、ROM、RAM、入出力インターフェース等で構成されているが、これを機能的に捉えた場合、地形認識部11、立体物検出部12、農作物検出部13および制御部14を有する。地形認識部11は、距離データメモリ9から距離データDijを読み出し、この距離データDijに基づき、作業領域内の地面の位置を認識する。そして、この認識された地面の位置(正確には、地面の高さhnm)は、立体物検出部12に出力される。立体物検出部12は、地形認識部11により認識された地面の位置に基づき、実空間上において、距離データDijのうち地面より高い位置に存在する距離データDijを立体物データとして選別する。そして、選別された立体物データに基づき、作業領域内に存在する立体物が検出される。そして、検出された立体物(正確には、立体物を規定するパラメータ)が農作物検出部13に出力される。農作物検出部13は、検出された立体物に関する実空間上での位置を算出し、この算出された位置に基づき、所定方向に並ぶ立体物を農作物として検出する。この検出された農作物(正確には、農作物を規定するパラメータ)は、制御部14に出力される。制御部14は、農作物の検出結果に基づき、必要に応じて、図示しない警報装置や車両に関する制御装置等の制御を行う。
【0025】
図4は、農作物の検出手順を示したフローチャートである。本ルーチンは、所定の間隔で呼び出され、マイクロコンピュータ10によって実行される。まず、ステップ1において、地形認識部11は、1フレーム相当の距離データDijを読み込むとともに、この距離データDijに基づき、作業領域内の地面の位置(すなわち、地形)を認識する。以下、詳細な地形認識処理の手順を説明する。
【0026】
まず、読み込んだ距離データDijが複数の区分に分割される。具体的には、まず、画像データにより規定される画像平面上の座標位置に対応する二次元的な平面において、距離データDijが、縦方向に延在する短冊状に切断(分割)される。そして、この分割された距離データDijのそれぞれにおいて、短冊内に含まれる視差群に基づき実空間上での距離がそれぞれ算出される。実空間上での距離は、周知の座標変換式に基づき、一義的に算出可能である。このとき、ステレオカメラの位置を基準に設定された実空間の座標系は、ステレオカメラの中央真下の地面を原点として、ステレオカメラにおけるカメラ基線長の延長方向をx軸、取り付け高さ方向をy軸、視線方向(距離方向)をz軸とする。つぎに、算出された距離のそれぞれが、距離方向(z方向)に所定の距離間隔で区切られて、複数の区間毎の距離に分割される。以上の処理により、距離データDijが、短冊数×距離区間数相当の複数の区分に分割される。
【0027】
そして、分割された区分のそれぞれを処理対象として、以下に述べる処理が繰り返し実行される。以下、説明において、分割された区分のそれぞれを特定するべく、分割された短冊毎に1〜nの番号を横方向(二次元平面において、i座標の増加方向)に昇順で割り当てる。そして、この番号が割り当てられた短冊のそれぞれにおいて、分割された区間毎に1〜mの番号を距離方向(z方向)に昇順で割り当てる。なお、後述する立体物検出部12により分割される距離データDijに関する区分との差を明確にするための、この地形認識部11によって分割された区分を「第1の区分S1nm」と称する。
【0028】
まず、距離データDijに基づき、1区分に関する高さ群が算出される。この高さ群は、処理対象とする第1の区分S1nm内に含まれる距離データDijによって算出される実空間上の高さyの集合である。実空間上の高さyは、距離データDijに基づき、具体的には、視差dと、この視差dに対応付けられた座標位置(j座標)とに基づき、周知の座標変換式により一義的に算出される。
【0029】
つぎに、算出された高さ群について高さyに関するヒストグラム(頻度分布)が算出される。図5は、ヒストグラムの一例を示す説明図である。同図に示すように、頻度分布は、例えば、高さyを縦軸として、予め設定された幅(例えば、0.1m)の区間で、この縦軸が区切られている。そして、縦軸の区間のそれぞれにおいて、高さ群に含まれる区間相当の高さyの個数がそれぞれ数えられる。これにより、区間のそれぞれに関する度数が求められ、頻度分布が算出される。
【0030】
そして、地形認識部11は、算出された頻度分布に基づき、この頻度分布が算出された第1の区分S1nmに関する地面の高さ(以下、単に「地面高さ」と称する)hnmを特定する。
【0031】
一般に、ステレオ画像処理において、輝度のバラツキが少ない地面では、ステレオマッチングを行う際に、地面を含む画素ブロックPBijの輝度特性が比較的単調であるため、距離データDijが得られにくいという問題がある。なぜならば、この画素ブロックPBijの輝度特性と相関を有する領域(相関先)を比較画像において特定することが困難だからである。すなわち、処理対象としている第1の区分S1nmにおいて、地面に関する高さyの値は高さ群に含まれ難い。しかしながら、この第1の区分S1nm内に農作物などの立体物が存在すると、地面から起立している部位(すなわち、根本より上方)には距離データDijが存在することとなる。そこで、算出された頻度分布において、ある程度の度数を有する高さyの中で、最も値が小さい高さyminを、農作物の根元の高さと考えることができる。そして、この高さymin付近を地面の高さと見なすことで、地面高さhnmを特定することができると考えられる。
【0032】
また、第1の区分S1nmの中に地面に相当する距離データDijが含まれている場合、頻度分布において、地面高さhnmは、ある程度の度数を有する高さyの中で、最も値が小さい高さyminが、これに該当するはずである。なぜならば、実空間上において、地面は、高さが最も低い位置に存在するものであり、これよりも小さい値の高さyは高さ群内には基本的に存在しないからである。このため、頻度分布において、地面より低い高さyにおいて、度数が現れることはない。
【0033】
以上のことに鑑みて、頻度分布において、度数を有する高さyの中で最も値が小さい高さyminを、地面高さhnmとして特定することができるはずである。しかしながら、ステレオマッチングによって算出される距離データDijは、ミスマッチング等の影響によって、誤差データを含むことがある。このような誤差データの一態様として、ある実空間上の位置に立体物が存在しないにも拘わらず、その位置に値をもったデータが算出されてしまうことがある。例えば、図5に示す頻度分布の下側には、少数の度数があり、これらはミスマッチングデータである。
【0034】
そこで、地形認識部11は、頻度分布において、所定しきい値Th以上の度数を有する高さyの中で最も値が小さい高さyminが存在するか否かを判断する。なお、この判断基準を与えるしきい値Thは、上述したミスマッチングデータを排除し得る程度の大きさに設定されている。この判断で肯定された場合には、この頻度分布が算出された第1の区分S1nmに関する地面高さhnmとして、高さyminが特定される。一方、この判断で否定された場合には、地面高さhnmの特定は行われない。ただし、この地面高さhnmが特定されなかった第1の区分の位置(n,m)が、第1の区分S1nm’として記憶される。
【0035】
そして、上述した地面高さhnmの算出処理が、分割された全ての第1の区分S1nmに関して行われると、次の処理に進む。
【0036】
次の処理として、地面高さhnmが特定されていない第1の区分S1nm’に関する地面高さhnmを、周囲の第1の区分S1nmに関する地面高さhnmに基づいて補間する内挿処理が行われる。より詳細には、記憶された区分Snm’の位置(n,m)が特定され、周囲の区分Snmに対応する地面高さhnmに基づき、この区分Snm’に対応する地面高さhnmが統計的に補間される。
【0037】
なお、上述した処理で地面高さhnmの特定を行った場合、ある第1の区分S1nmでは、地面に相当する距離データDijが存在しないことも考えられる。すなわち、所定しきい値以上の度数を有する高さyの中で最も値が小さい高さyminが、立体物の高さを示していることも考えられる。そこで、地形認識部11は、周囲の第1の区分S1nmに関する地面高さhnmとは異なる地面高さhnmを有する第1の区分S1nmを特定する。そして、この特定された第1の区分S1nmに関する地面高さhnmが、周囲の第1の区分S1nmに関する地面高さhnmに基づいて補正される。
【0038】
以上の処理により、分割された第1の区分S1nmのそれぞれに関する最適な地面高さhnmが特定される。これにより、第1の区分S1nmの位置と、当該第1の区分S1nmに関する地面高さhnmとを考慮することで、作業領域内の地形が認識可能となる。
【0039】
つぎに、ステップ2において、立体物検出部12は、距離データメモリ9から距離データDijを読み込とともに、この距離データDijと、地形認識部11により認識された地面の位置とに基づき、作業領域内に存在する立体物を検出する。
【0040】
図6は、ステップ2における詳細な立体物の検出処理を示したフローチャートである。まず、ステップ20において、距離データDijが、二次元的な平面において、縦方向に延在する短冊状に切断されることにより、複数の区分に分割される。この分割された距離データDijの区分は、上述した地形認識部11によって分割された短冊状の区分と位置的に一致している。ただし、両区分は、必ずしも位置的に一致している必要はないが、両者が一致していることで区分間の対応が取れるので、地面より上に位置する距離データDijを特定する際に計算処理の簡素化を図る上で好ましい。
【0041】
そして、立体物検出部12は、分割された区分のそれぞれを処理対象として、以下に述べる処理を繰り返し実行する。なお、説明において、分割された区分のそれぞれを特定するため、分割された区分毎に1〜nの番号を横方向(二次元平面において、i座標の増加方向)に昇順で割り当てる。また、この立体物検出部12によって分割される区分を、以下、「第2の区分S2n」と称する。ここで、次のステップとして、第2の区分S2nの位置を特定するループ変数として、1がセットされる(ステップ21)。これにより、水平方向に並んだ複数の第2の区分S2nのうち、一番左端の第2の区分S2nが選択される。
【0042】
ステップ22において、この第2の区分S2n内に存在する距離データDijに基づき、実空間上の位置が算出される。具体的には、まず、第2の区分S2nに含まれる距離データDijデータの中から、任意の距離データDij(例えば、(i,j)位置が最も原点に近いデータ)が選択される。そして、選択された距離データDijについて、周知の座標変換式に基づき、実空間上の三次元位置(x,y,z)が算出される。そして、同様の処理が繰り返し実行されて、第2の区分S2n内全ての距離データDijに関する三次元位置が算出される。
【0043】
そして、ステップ23において、実空間上において地面の位置より高い位置に存在する距離データDijが、立体物データとして選別される。ここで、立体物検出部12は、この算出された実空間上の位置(x,y,z)に対応する地面の高さ(地面高さhnm)を、地形認識部11からの情報に基づき特定する。この対応する地面高さhnmは、第1の区分S1nmに分割された距離データDijにおいて、座標変換された距離データDijに対応する第1の区分S1nmを特定することで、一義的に求めることができる。そして、特定された第1の区分S1nmに関する地面高さhnmと、座標変換された距離データDijの高さyとが比較される。このとき、座標変換された距離データDijの高さyが地面高さhnmより高い(値が大きい)場合には、その実空間上の位置(x,y,z)が立体物データとして選別される。そして、全ての距離データDijに関する三次元位置について、同様の処理が繰り返し実行されて、立体物データ(x,y,z)が適宜選別される。これにより、第1の実施形態では、地面上の立体物と推定されるデータ、すなわち、地面よりも高くデータが、立体物データとして選別される。
【0044】
なお、このとき、距離データDijの高さyが車両の高さより上にあるデータについて、立体物検出部12は、これを取り扱わないとしてもよい。なぜならば、車両より高い位置に存在する立体物は、それを無視しても車両制御に関する影響は少ないからである。例えば、車両より高い位置に障害物が存在しても、その高さより低い車高の車両はその下をくぐり抜けることができる。
【0045】
そして、ステップ24において、抽出された立体物データの距離zに関し、ヒストグラム(頻度分布)が作成される。この頻度分布は、図5に示した頻度分布と基本的に同じであるが、距離zを縦軸として、予め設定された幅(例えば、1.0m)の区間でこの縦軸が区切られている。そして、縦軸の区間のそれぞれにおいて、立体物データに含まれる区間相当の距離zの個数がそれぞれ数えられる。これにより、区間のそれぞれに関する度数が求められ、頻度分布が算出される。
【0046】
ステップ25において、この頻度分布に関し、分布の度数が所定のしきい値以上で、かつ、最頻距離となる区間があるか否かが判断される。一般に、ステレオマッチングによって算出される距離画像データDpは、ミスマッチング等の影響によって、誤差データを含むことが多い。そこで、作成された距離頻度分布において、予め設定したしきい値以上かつ最大値をとる区間があれば、その区間に立体物が存在すると判断し、また、度数の最大値が判定値以下の場合は物体が存在しないと判断することが好ましい。なぜならば、ある程度の大きさの立体物がある場合には、その区間の度数が大きくなる傾向があり、一方、物体が何も存在しない場合には、たとえ誤ったデータが存在したとしても、発生する度数が小さくなる傾向があるからである。これにより、データに多少のノイズが含まれている場合においても、この影響を最小限にして立体物を検出することができる。
【0047】
この判断で肯定された場合、ステップ26に進み、この第2の区分S2nには立体物が存在すると特定される。そして、その区間内に存在する各距離zの平均値または代表値、或いは、該当する区間の中間値が、その立体物までの距離Zとして算出される。一方、この判断で否定された場合、ステップ27に進み、この第2の区分S2nには立体物が存在しないと特定される。
【0048】
そして、ステップ28において、分割された全ての第2の区分S2nに関して立体物検出処理が行われたか否かが判断される。この判断で肯定された場合、立体物検出部12はこのルーチンを抜ける。一方、この判断で否定された場合、ステップ29に進み、ループ変数S2nとして、S2n+1がセットされる。そして、分割された全ての第2の区分S2nのそれぞれについて、立体物検出処理が行われる。
【0049】
ステップ3において、農作物検出部13は、農作物を検出する。図7は、ステップ3における詳細な農作物検出手順を示すフローチャートである。まず、ステップ30において、検出された立体物のそれぞれに関する実空間上の位置が算出される。図8は、x−z平面における立体物の位置を示した説明図である。同図において、立体物の位置が、x−z平面上にプロットして示されている。立体物の実空間上の位置は、第2の区分S2nのそれぞれにおいて算出された、立体物の距離Zに対応する実空間上の位置である。実区間上の位置の算出手法としては、例えば、距離Zに対応する立体物データより特定される実空間上の位置(複数存在する場合には、この重心位置)を立体物の位置として算出するといった如くである。
【0050】
ステップ31において、検出された立体物の距離が接近しているものがまとめられて、グループに分けられる。この処理では、隣接する一対の第2の区分S2nにおける立体物の距離Zがそれぞれ比較される。そして、両区分の立体物までの距離Zの差異が判定値以下の場合には、この両区分の立体物が同一の立体物と見なされ、グループにまとめられる。換言すれば、検出された立体物の距離が近接する立体物同士でグループが構成される。一方、判定値を超えている場合には、両区分の立体物は別々の立体物と見なされ、そこでグループが分けられる。
【0051】
具体的には、まず、最初の第2の区分S2n(例えば左端(以下、「区分S21」と称する))を調べ、立体物が検出されている場合には、距離Z(以下、「距離Z1」と称する)が読み込まれる。そして、この立体物について、グループG1が割り当てられ、距離Z1がこれに対応付けられる。
【0052】
次に、右隣の第2の区分S2n(仮に、これを「区分S22」と称する)を調べる。この第2の区分S22において、立体物が検出されていない場合には、先に読み込まれた第2の区分S21に関する立体物は、この区分S21内で完結しているものと見なされる。そして、この区分S21で検出された立体物はグループG1として、そのグループが確定される。
【0053】
一方、第2の区分S22で立体物が検出されている場合には、この区分S22に関する距離Z(以下、「距離Z2」と称する)が読み込まれる。そして、先に読み込まれた区分S21の距離Z1と、右隣の区分S22の距離Z2の差が計算されて、この差が判定値以下であるか否かが判断される。この判断で肯定された場合、すなわち、立体物の距離が互いに接近している場合には、区分S22で検出された立体物は、グループG1に属すると判断される。そして、この区分S22に関する立体物について、区分S22と同一のグループG1が割り当てられ、Z1とZ2との平均値として、その距離が対応付けられる。一方、この判断で否定された場合、すなわち、立体物同士の距離が離れている場合には、区分S22で検出された立体物は、先に検出されたグループG1とは異なる立体物であると判断される。そして、先に読み込まれた区分S21で検出された立体物はグループG1として、そのグループが確定される。また、この区分S22で検出された立体物は、新しいグループG2が割り当てられ、距離Z2がこれに対応付けられる。
【0054】
次に、第2の区分S22の右隣の第2の区分S2nが調べられ、そして、この処理が全ての第2の区分S2nについて行われて、立体物のグループ化が行われる。以上のグループ化処理により、例えば、図8に示すように、立体物が7個のグループにまとめられる。同図には、z軸に関して左側に、z軸とほぼ平行するグループ1〜3、z軸に関して右側に、z軸とほぼ平行するグループ4〜6、および、z軸に直交した方向にグループ7が示されている。
【0055】
次に、ステップ32において、検出された立体物の並び方向が特定される。第1の実施形態では、立体物の並び方向は、まとめられたグループのそれぞれにおいて、グループを構成する立体物の位置に基づき算出された近似直線として特定される。近似直線の算出手法としては、最小二乗法、または、ハフ変換など、周知の手法が用いられる。
【0056】
ステップ33において、特定された並び方向が一致するか否かが判断される。この判断では、ステップ32において特定されたグループの並び、すなわち、算出された近似直線の向き(ベクトル成分)を互いに比較し、向きの相違が判定値以下であるか否かにより判断することができる。この判断で肯定された場合、すなわち、全てのグループにおいて並び方向が近似する場合には、ステップ35に進む。一方、この判断で否定判定された場合、すなわち、並び方向が異なるグループが存在する場合には、ステップ34に進む。そして、ステップ34において、並び方向が異なるグループが、まとめらたグループから除外される。
【0057】
ステップ35において、この並び方向が一致するグループが農作物として検出される。一般に、農作物は、多数の農作物が一方向に並ぶという特徴がある。本実施形態では、認識すべき対象である農作物について、この特徴を利用することにより、農作物と、農作物でないものとの切り分けを行っている。これにより、図8に示したように、農作物の列の間から遠方に見える森などの背景(グループ7)を、農作物と切り分けて認識することができる。換言すれば、算出された農作物に関する位置に基づき、所定方向に並ぶ立体物が農作物として検出される。なお、本実施形態において、農作物とそうでないものとの切り分けは、立体物の並び(すなわち、近似直線)が完全に向きが一致している状態のみを指すものではなく、並び方向がほぼ一致していると見なせる状態をも含む。したがって、ステップ34における判定値は、このような状態をも含む程度の大きさに設定されている。
【0058】
農作物検出部13は、検出された農作物を、グループ毎の傾き、或いは、グループ端部の実空間上の位置などのパラメータによって規定し、この農作物を規定するパラメータが制御部14に対して出力される。以上の農作物検出処理に基づき、制御部14は、例えば、車両と農作物との距離が短くなり、オペレータへの警報が必要な状況では、モニタやスピーカ等の警報装置を動作させて、オペレータへの注意を喚起する。また、このような状況で車両を減速させるべく、ブレーキの作動、エンジン出力の低下、或いは、車両の進行方向を変更させるべく、操舵角変更等の車両制御を行うことができる。
【0059】
以上説明したように、第1の実施形態の農作物検出装置1によれば、距離データの区分毎に地面の高さが求められているので、地面の形状を正確に把握することができる。これにより、認識された地面と、地面上に存在する立体物とを正確に認識することができる。また、特に、検出された立体物の中から、所定方向に並ぶことを条件として農作物を特定することにより、農作物とそうでないものとの切り分けを正確に行うことができる。これにより、認識された農作物の状況を考慮することで、車両側の制御を容易かつ正確に行うことができる。また、第1の実施形態では、地面から上部までの幅の広いデータ(縦短冊の第2の区分S2n)を用いて農作物を検出しているので、背丈の高い農作物の全体としての位置を検出する上で好ましい。例えば、超音波センサなどを車両前部に取り付けて、農作物を検出すると、センサを取り付けた位置での農作物しか検出できないという問題がある。しかしながら、第1の実施形態によれば、これらの問題を解決することができる。
【0060】
(第2の実施形態)
図9は、ステップ2における詳細な立体物検出処理の別の手順を示すフローチャートである。第2の実施形態にかかる農作物検出手順が、第1の実施形態に係る手順と相違する点は、ステップ2,3の処理についてである。この第2の実施形態にかかる農作物検出は、例えば、背丈の小さな農作物を検出する上で有効な手法である。
【0061】
以下、農作物の検出手順に関して説明を行うが、図4に示した農作物の認識手順と同様の手順については、ここでの説明を省略する。なお、第2の実施形態では、前提として、車両の進行方向は、予め農作物の並び方向と略平行になっているものとする。まず、ステップ20aにおいて、読み込まれた距離データDijに基づき、周知の座標変換式により実空間上の位置(x,y,z)が算出される。
【0062】
そして、ステップ21aにおいて、実空間上において地面の位置より高い位置に存在する距離データDijが、立体物データとして選別される。ここで、立体物検出部12は、算出された実空間上の位置(x,y,z)に対応する地面の高さ(地面高さhnm)を、地形認識部11からの情報に基づきそれぞれ特定する。この地面高さhnmは、第1の区分S1nmに分割された距離データDijにおいて、座標変換された距離データDijに対応する第1の区分S1nmを特定することで、一義的に求めることができる。そして、地面高さhnmと、座標変換された距離データDijの高さyとが比較される。このとき、座標変換された距離データDijの高さyが地面高さhnmより高い(値が大きい)場合には、その実空間上の位置(x,y,z)が立体物データとして選別される。そして、全ての距離データDijについて、同様の処理が繰り返し実行されて、立体物データが適宜選別される。
【0063】
そして、ステップ22aにおいて、この選別された立体物データのそれぞれを処理対象として、立体物データの距離が接近しているものがまとめられて、グループに分けられる。このステップ22aでは、まず、ある立体物データが選択されて、この立体物データについて、グループG1が割り当てられるとともに、実空間上の位置(x1、y1、z1)がこれに対応付けられる。
【0064】
次に、新たな立体物データが選択されて、この立体物データの実空間上の位置(x2,y2,z2)が特定される。そして、先に割り当てられたグループG1と、この位置(x2,y2,z2)との実空間上の距離Lが算出されて、この距離Lが判定値以下であるか否かが判断される。この判断で肯定された場合には、この選択された新たな立体物データはグループG1に属する、と判断される。そして、この新たな立体物データについて、先に選択された立体物データと同一のグループG1が割り当てられて、このグループG1の位置として、(x1,y1,z1)と(x2,y2,z2)との中心位置がこれに対応付けられる。一方、この判断で否定された場合には、この立体物はグループG1とは異なる立体物である、と判断される。そして、先に選択された立体物データはグループG1として、グループが確定される。また、新たに選択された立体物データは、新しいグループG2が割り当てられ、位置(x2,y2,z2)がこれに対応付けられる。
【0065】
なお、新たな立体物データを選択した際に、既に複数のグループが存在する場合には、グループまでの距離Lが最短となるグループに対して、上述した処理が行われる。そして、この処理が全ての立体物データについて行われ、立体物データが複数のグループにまとめられる。なお、この処理は、距離画像のグループ化手法として周知な手法であり、本明細書ではこれ以上の説明を省略する。
【0066】
そして、ステップ23aにおいて、グループ化された立体物データのそれぞれが立体物として特定される。以上の立体物検出処理により、例えば、図10に示すような、複数のグループが立体物として特定されている。同図には、作業領域内に立体物として存在する農作物や雑草等などがグループとして概略的に表されている。
【0067】
図11は、ステップ3における別の農作物の検出処理の詳細な手順を示すフローチャートである。まず、ステップ30aにおいて、立体物の実空間上での位置が算出される。この立体物の位置は、先に特定されたグループのそれぞれにおいて、グループの重心位置を算出することにより、一義的に特定することができる。
【0068】
そして、ステップ31aにおいて、z方向と、立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせが選別される。ここで、z方向とは、距離データに基づき特定される実空間上での距離方向をいう。このステップ31aでは、検出された立体物を任意の組み合わせで抽出することにより、ハフ変換、最小二乗法など周知の手法により近似直線が特定される。そして、算出された近似直線の向き(ベクトル成分)とz方向とを互いに比較し、向きの相違が判定値以下であるか否かにより、z方向と近似直線とが一致するか否かが判断される。そして、この判断で肯定された場合に、近似直線を構成する立体物のそれぞれが、組み合わせとして選別される。
【0069】
なお、本実施形態において、z軸方向と一致する近似直線とは、完全に向きが一致しいている状態のみを指すものではなく、z軸方法とほぼ平行と見なせる状態をも含む。したがって、このステップ31aにおける判定値は、このような状態をも含む程度の大きさに設定されている。
【0070】
そして、ステップ32aにおいて、選択された立体物が農作物として検出される。すなわち、第1の実施形態と同様、算出された農作物に関する位置に基づき、所定方向(第2の実施形態では、z方向)に並ぶ立体物が農作物として検出される。図12は、立体物と近似直線との関係を示した説明図である。上述したように、農作物は、作業領域内において、多数の農作物が一方向に並んでいるという特徴がある。また、前提として、車両の進行方向(すなわち、ステレオカメラの視線方向(z方向))は、農作物の並び方向と一致している。これにより、第2の実施形態では、z方向とその並び方向が一致するか否かにより、農作物と、農作物でないものとの切り分けを行っている。図12に示す例では、農作物の列の間に存在する雑草等が、農作物と切り分けられて区別されている。
【0071】
以上説明したように、第2の実施形態によれば、第1の実施形態と同様な効果を奏するとともに、背丈の低い農作物についても、農作物を精度よく認識することができる。また、農作物の一つ一つを区別して、その概略的な形状と位置を把握することができる。
【0072】
なお、第1の実施形態では、二次元平面に加えて、距離方向を加味した三次元空間において、距離データDijを複数の区分Snmに分割している。これにより、立体物に相当する距離データDijは、同一の区分Snm内に分類されるので、上述した立体物の足元の検出をする上で有利である。しかしながら、距離データDijを単に二次元平面上において、行列状に分割するような区分であってもよい。この形態によれば、区分Snmの分類の際に、距離を算出する必要がないので、計算処理の簡素化を図る上で有利である。
【0073】
また、本実施形態では、一例として、車両制御と関連付け、農作物検出装置1を説明したが、本発明は、これに限定されるものではない。例えば、農作物検出装置1は、作業領域内に固定的に取り付けられて、単に農作物を検出することを目的としてもよい。
【0074】
また、ステレオカメラは、画像データを出力するカメラとしての機能と、ステレオ画像処理部7と協働して、距離データDijを出力する距離センサとしての機能とを有する。しかしながら、本発明は、ステレオカメラに限定されるものではなく、レーザレーダを使用することもできる。レーザレーダは、作業領域内をスキャンすることによって、距離の二次元的な分布を示す距離データDijを出力する。また、この距離データDijは、予めカメラ2,3の撮影範囲を距離センサでスキャンして、そのスキャン結果を画像上でのi−j座標に対応付けたテーブルとして格納していてもよい。
【発明の効果】
このように、本発明によれば、検出された立体物のうち、所定方向に並ぶことを条件として農作物を検出している。これにより、農作物とそうでないものとの切り分けを行うことができるので、農作物のみを精度よく検出することができる。
【図面の簡単な説明】
【図1】第1の実施形態にかかる農作物検出装置のブロック構成図
【図2】1フレームの画像を示す説明図
【図3】基準画像に設定される画素ブロックの説明図
【図4】農作物の検出手順を示したフローチャート
【図5】ヒストグラムの一例を示す説明図
【図6】立体物検出手順を示したフローチャート
【図7】農作物検出手順を示したフローチャート
【図8】x−z平面における立体物の位置を示した説明図
【図9】立体物検出手順の別の手順を示すフローチャート
【図10】グループ化された立体物を示す説明図
【図11】農作物検出手順の別の手順を示すフローチャート
【図12】立体物と近似直線との関係を示した説明図
【符号の説明】
1 農作物検出装置
2 メインカメラ
3 サブカメラ
4 A/Dコンバータ
5 A/Dコンバータ
6 画像補正部
7 ステレオ画像処理部
8 画像データメモリ
9 距離データメモリ
10 マイクロコンピュータ
11 地形認識部
12 立体物検出部
13 農作物検出部
14 制御部
【発明の属する技術分野】
本発明は、作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置および農作物検出方法に関する。
【0002】
【従来の技術】
近年、単眼カメラ、ステレオカメラ、或いは、ミリ波レーダといった各種センサを用いた監視装置が注目されている。この類の監視装置は、センサによって所定の監視領域内の景色を撮像またはスキャンし、これにより得られた情報に基づいて、監視領域内の状況を認識する。
【0003】
このような監視装置は、その認識能力を利用して、自動車の走行制御、鉄道線路における踏切内への侵入車両(侵入者)の監視、地形認識等さまざまな目的で幅広く用いられている。また、さらには、農耕地の作物に関し収穫・薬剤散布・雑草除去などの作業を自動的に行う作業用車両において、この認識能力を利用して、これらの車両の走行制御を行うことも考えられている。
【0004】
なお、特開平9−238510号公報には、耕耘機にカメラを取り付けて、耕耘する地面を撮像し、画像を解析して既耕地と未耕地との境界を検出する手法が開示されている。また、特開平5−154424号公報には、地面に誘導ケーブルを埋設し、農作業用の自走式機体が誘導ケーブルから放射される電磁波を検出することにより、誘導ケーブルに沿って走行する自走式機体が開示されている。
【0005】
【発明が解決しようとする課題】
しかしながら、上述した従来技術は、カメラを用いて耕地を解析することはできるものの、農作物のある耕地において農作物を検出することはできない。また、誘導ケーブルを埋設する手法は、ケーブルを埋設しなければならず、経済的な負担が大きく、煩雑な作業が必要とされるので好ましくない。また、作物の位置が変化した場合には、それにともないケーブルを埋設し直さなければならず、保守作業の負担が大きいなどの問題がある。
【0006】
また、上述した監視装置を作業用車両の車両制御に適用する場合、この監視装置は、監視領域内の状況、すなわち、農作物を有効に認識することが重要となる。農作物を認識するためには、前提として地面の認識が正確に行われる必要がある。なぜならば、この認識された地面に基づき、地面と農作物との切り分けが行われるからである。しかしながら、従来の認識技術では、地面は一つの面として捉えられているので、地面の起伏が正確に把握されていないので、地面と農作物との切り分けを行うことが難しい。さらに、農作物を認識するためには、農作物と、農作物でないもの、例えば、雑草や背景などとの切り分けも十分に行われる必要がある。すなわち、従来の監視装置を単に農作業車に転用することでは、車両の走行制御を十分に行うことは難しい。
【0007】
本発明は、このような事情に鑑みてなされたものであり、その目的は、地面上において所定方向に並ぶ農作物を検出することである。
【0008】
また、本発明の別の目的は、地面上の作物の位置を認識することにより、作業用車両を正確に制御することである。
【0009】
【課題を解決するための手段】
かかる課題を解決するために、第1の発明は、作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置において、距離センサと、地形認識部と、立体物検出部と、農作物検出部とを有する農作物検出装置を提供する。かかる農作物検出装置において、距離センサは、作業領域内における距離の二次元的な分布を距離データとして出力する。地形認識部は、距離データに基づき、作業領域内の地面の位置を認識する。立体物検出部は、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データを立体物データとして選別する。そして、この立体物データに基づき作業領域内に存在する立体物が検出される。農作物検出部は、検出された立体物に関する実空間上の位置を算出し、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物を農作物として検出する。
【0010】
ここで、第1の発明において、地形認識部は、二次元的な平面において、距離データを複数の区分に分割し、この分割された区分のそれぞれにおいて、以下の処理を行うことが好ましい。まず、距離データに基づき1区分に関する高さ群が算出され、算出された高さ群について高さに関する頻度分布が算出される。そして、この算出された頻度分布に基づき、頻度分布が算出された区分に関する地面の高さが特定される。
【0011】
また、第1の発明において、農作物検出部は、実空間上において、検出された立体物の距離が接近している立体物同士でグループを構成し、この構成されたグループのそれぞれにおいて、立体物の並び方向を特定するとともに、立体物の並び方向が一致するグループを農作物として検出することが好ましい。この場合、立体物の並び方向は、グループを構成する立体物の位置に基づき算出された近似直線により特定されることが望ましい。あるいは、第1の発明において、農作物検出部は、距離データに基づき特定される実空間上での距離方向と、検出された立体物の位置に基づき算出された近似直線とが一致する立体物を選別し、この選別された立体物を農作物として検出するとが好ましい。この場合、上述した近似直線は、ハフ変換、または、最小二乗法により算出されることが望ましい。
【0012】
さらに、第1の発明において、距離センサは、作業領域を含む景色を撮像することにより、一対の撮像画像を出力するステレオカメラ、或いは、レーザレーダであることが好ましい。
【0013】
また、第2の発明は、作業領域内の距離の二次元的な分布を示す距離データを用いて、当該作業領域内において所定方向に並んだ農作物を検出する農作物検出方法を提案する。かかる農作物検出方法において、第1のステップでは、距離データに基づき、作業領域内の地面の位置が認識される。第2のステップでは、認識された地面の位置に基づき、実空間上において、地面の位置より高い位置に存在する距離データが立体物データとして選別される。第3のステップでは、選別された立体物データに基づき作業領域内に存在する立体物が検出される。第4のステップでは、検出された立体物に関する実空間上の位置が算出される。第5のステップでは、算出された立体物に関する実空間上の位置に基づき、所定方向に並ぶ立体物が農作物として検出される。
【0014】
ここで、第2の発明において、第1のステップは、二次元的な平面において、距離データを複数の区分に分割し、分割された区分のそれぞれにおいて、以下の処理を行うことが好ましい。まず、距離データに基づき1区分に関する高さ群が算出され、算出された高さ群について高さに関する頻度分布が算出される。そして、算出された頻度分布に基づき、頻度分布が算出された区分に関する地面の高さが特定される。
【0015】
また、第2の発明において、第5のステップは、以下に示すステップを有することが好ましい。まず、ステップとして、実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成する。更なるステップとして、構成されたグループのそれぞれにおいて、立体物の並び方向を特定する。そして、更なるステップとして、立体物の並び方向が一致するグループを農作物として検出する。あるいは、第5のステップは、以下に示すステップを有することが好ましい。まず、ステップとして、距離データに基づき特定される実空間上での距離方向と、検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別する。そして、更なるステップとして、この選別された立体物を農作物として検出する。
【0016】
【発明の実施の形態】
(第1の実施の形態)
図1は、第1の実施形態にかかる農作物検出装置のブロック構成図である。この農作物検出装置1は、距離センサとして機能するステレオカメラを用いて、作業領域内に写し出された農作物を検出する。また、農作物検出装置1は、この検出された農作物に基づき、農作業用車両(以下、単に「車両」と称す)前方の農作物の状況を認識し、車両の走行制御を行う。ステレオカメラは、例えば、車両前部に取り付けられて、図2に示すように、作業領域内の農作物を含む景色を撮像する。同図に示す撮像画像には、車両の進行方向に関して両側に、所定方向(図中では進行方向と略同一方向)に並んだ農作物が写し出されている。このステレオカメラは、一対のカメラ2,3で構成されており、それぞれのカメラ2,3には、イメージセンサ(例えば、CCDまたはCMOSセンサ等)が内蔵されている。メインカメラ2は、ステレオ画像処理を行う際に必要な基準画像(右画像)を撮像し、サブカメラ3は、比較画像(左画像)を撮像する。互いの同期が取れている状態において、カメラ2,3から出力された各アナログ画像は、A/Dコンバータ4,5により、所定の輝度階調(例えば、256階調のグレースケール)のデジタル画像に変換される。
【0017】
デジタル化された一対の画像データは、画像補正部6において、輝度の補正や画像の幾何学的な変換等が行われる。通常、一対のカメラ2,3の取付位置は、程度の差はあるものの誤差が存在するため、それに起因したずれが左右の各画像に生じている。このずれを補正するために、アフィン変換等を用いて、画像の回転や平行移動等の幾何学的な変換が行われる。
【0018】
このような画像処理を経て、メインカメラ2より基準画像データが得られ、サブカメラ3より比較画像データが得られる。これらの画像データ(ステレオ画像データ)は、各画素の輝度値(0〜255)の集合である。ここで、画像データによって規定される画像平面は、i−j座標系で表現され、画像の左下隅を原点として、水平方向をi座標軸、垂直方向をj座標軸とする。一フレーム(一画像の表示単位)相当のステレオ画像データは、後段のステレオ画像処理部7に出力されるとともに、後段の画像データメモリ8に格納される。この画像データメモリ8に格納されたステレオ画像データは、適宜呼び出され、作業領域内の認識において利用することもできる。
【0019】
ステレオ画像処理部7は、基準画像データと比較画像データとに基づいて、一フレーム相当の撮像画像に関する距離データを算出する。ここで、「距離データ」とは、画像データによって規定される画像平面において小領域毎に算出された視差dの集合であり、個々の視差dは画像平面上の位置(i,j)と対応付けられている。換言すれば、距離データは、作業領域内における距離の二次元的な分布である。それぞれの視差dは、基準画像の一部を構成する所定面積(例えば、4×4画素)の画素ブロック毎に1つ算出される。
【0020】
図3は、基準画像に設定される画素ブロックの説明図である。例えば、基準画像が200×512画素で構成されている場合、一フレーム相当の撮像画像から、画素ブロックPBijの個数相当(50×128個)の視差群が算出され得る。周知のように、視差dは、その算出単位である画素ブロックPBijに関する水平方向のずれ量であり、画素ブロックPBijに写し出された対象物までの距離と大きな相関がある。すなわち、画素ブロックPBij内に写し出されている対象物がカメラ2,3に近いほど、この画素ブロックPBijの視差dは大きくなり、対象物が遠いほど視差dは小さくなる(無限に遠い場合、視差dは0になる)。
【0021】
ある画素ブロックPBij(相関元)に関する視差dを算出する場合、この画素ブロックPBijの輝度特性と相関を有する領域(相関先)を比較画像において特定する。上述したように、カメラ2,3から対象物までの距離は、基準画像と比較画像との間における水平方向のずれ量として現れる。したがって、比較画像において相関先を探索する場合、相関元となる画素ブロックPijのj座標と同じ水平線(エピポーラライン)上を探索すればよい。ステレオ画像処理部7は、相関元のi座標を基準に設定された所定の探索範囲内において、エピポーラライン上を一画素ずつシフトしながら、相関元と相関先の候補との間の相関性を順次評価する(ステレオマッチング)。そして、原則として、最も相関が高いと判断される相関先(相関先の候補の内のいずれか)の水平方向のずれ量を、その画素ブロックPBijの視差dとする。
【0022】
2つの画素ブロックの相関は、例えば、シティブロック距離CBを算出することにより評価することができる。数式1は、シティブロック距離CBの基本形を示す。同数式において、p1ijは一方の画素ブロックのij番目の画素の輝度値であり、p2ijは他方の画素ブロックのij番目の輝度値である。シティブロック距離CBは、位置的に対応した輝度値p1ij,p2ijの差(絶対値)の画素ブロック全体における総和であって、その差が小さいほど両画素ブロックの相関が大きいことを意味している。
【数1】
CB=Σ|p1ij−p2ij|
【0023】
基本的に、エピポーラライン上に存在する画素ブロック毎に算出されたシティブロック距離CBのうち、その値が最小となる画素ブロックが相関先と判断される。このようにして特定された相関先と相関元との間のずれ量が視差dとなる。なお、シティブロック距離CBを算出するステレオ画像処理部7のハードウェア構成については、特開平5−114099号公報に開示されているので、必要ならば参照されたい。このような処理を経て算出された距離データ、すなわち、画像上の位置(i,j)と対応付けられた視差dの集合は、距離データメモリ9に格納される。
【0024】
マイクロコンピュータ10は、CPU、ROM、RAM、入出力インターフェース等で構成されているが、これを機能的に捉えた場合、地形認識部11、立体物検出部12、農作物検出部13および制御部14を有する。地形認識部11は、距離データメモリ9から距離データDijを読み出し、この距離データDijに基づき、作業領域内の地面の位置を認識する。そして、この認識された地面の位置(正確には、地面の高さhnm)は、立体物検出部12に出力される。立体物検出部12は、地形認識部11により認識された地面の位置に基づき、実空間上において、距離データDijのうち地面より高い位置に存在する距離データDijを立体物データとして選別する。そして、選別された立体物データに基づき、作業領域内に存在する立体物が検出される。そして、検出された立体物(正確には、立体物を規定するパラメータ)が農作物検出部13に出力される。農作物検出部13は、検出された立体物に関する実空間上での位置を算出し、この算出された位置に基づき、所定方向に並ぶ立体物を農作物として検出する。この検出された農作物(正確には、農作物を規定するパラメータ)は、制御部14に出力される。制御部14は、農作物の検出結果に基づき、必要に応じて、図示しない警報装置や車両に関する制御装置等の制御を行う。
【0025】
図4は、農作物の検出手順を示したフローチャートである。本ルーチンは、所定の間隔で呼び出され、マイクロコンピュータ10によって実行される。まず、ステップ1において、地形認識部11は、1フレーム相当の距離データDijを読み込むとともに、この距離データDijに基づき、作業領域内の地面の位置(すなわち、地形)を認識する。以下、詳細な地形認識処理の手順を説明する。
【0026】
まず、読み込んだ距離データDijが複数の区分に分割される。具体的には、まず、画像データにより規定される画像平面上の座標位置に対応する二次元的な平面において、距離データDijが、縦方向に延在する短冊状に切断(分割)される。そして、この分割された距離データDijのそれぞれにおいて、短冊内に含まれる視差群に基づき実空間上での距離がそれぞれ算出される。実空間上での距離は、周知の座標変換式に基づき、一義的に算出可能である。このとき、ステレオカメラの位置を基準に設定された実空間の座標系は、ステレオカメラの中央真下の地面を原点として、ステレオカメラにおけるカメラ基線長の延長方向をx軸、取り付け高さ方向をy軸、視線方向(距離方向)をz軸とする。つぎに、算出された距離のそれぞれが、距離方向(z方向)に所定の距離間隔で区切られて、複数の区間毎の距離に分割される。以上の処理により、距離データDijが、短冊数×距離区間数相当の複数の区分に分割される。
【0027】
そして、分割された区分のそれぞれを処理対象として、以下に述べる処理が繰り返し実行される。以下、説明において、分割された区分のそれぞれを特定するべく、分割された短冊毎に1〜nの番号を横方向(二次元平面において、i座標の増加方向)に昇順で割り当てる。そして、この番号が割り当てられた短冊のそれぞれにおいて、分割された区間毎に1〜mの番号を距離方向(z方向)に昇順で割り当てる。なお、後述する立体物検出部12により分割される距離データDijに関する区分との差を明確にするための、この地形認識部11によって分割された区分を「第1の区分S1nm」と称する。
【0028】
まず、距離データDijに基づき、1区分に関する高さ群が算出される。この高さ群は、処理対象とする第1の区分S1nm内に含まれる距離データDijによって算出される実空間上の高さyの集合である。実空間上の高さyは、距離データDijに基づき、具体的には、視差dと、この視差dに対応付けられた座標位置(j座標)とに基づき、周知の座標変換式により一義的に算出される。
【0029】
つぎに、算出された高さ群について高さyに関するヒストグラム(頻度分布)が算出される。図5は、ヒストグラムの一例を示す説明図である。同図に示すように、頻度分布は、例えば、高さyを縦軸として、予め設定された幅(例えば、0.1m)の区間で、この縦軸が区切られている。そして、縦軸の区間のそれぞれにおいて、高さ群に含まれる区間相当の高さyの個数がそれぞれ数えられる。これにより、区間のそれぞれに関する度数が求められ、頻度分布が算出される。
【0030】
そして、地形認識部11は、算出された頻度分布に基づき、この頻度分布が算出された第1の区分S1nmに関する地面の高さ(以下、単に「地面高さ」と称する)hnmを特定する。
【0031】
一般に、ステレオ画像処理において、輝度のバラツキが少ない地面では、ステレオマッチングを行う際に、地面を含む画素ブロックPBijの輝度特性が比較的単調であるため、距離データDijが得られにくいという問題がある。なぜならば、この画素ブロックPBijの輝度特性と相関を有する領域(相関先)を比較画像において特定することが困難だからである。すなわち、処理対象としている第1の区分S1nmにおいて、地面に関する高さyの値は高さ群に含まれ難い。しかしながら、この第1の区分S1nm内に農作物などの立体物が存在すると、地面から起立している部位(すなわち、根本より上方)には距離データDijが存在することとなる。そこで、算出された頻度分布において、ある程度の度数を有する高さyの中で、最も値が小さい高さyminを、農作物の根元の高さと考えることができる。そして、この高さymin付近を地面の高さと見なすことで、地面高さhnmを特定することができると考えられる。
【0032】
また、第1の区分S1nmの中に地面に相当する距離データDijが含まれている場合、頻度分布において、地面高さhnmは、ある程度の度数を有する高さyの中で、最も値が小さい高さyminが、これに該当するはずである。なぜならば、実空間上において、地面は、高さが最も低い位置に存在するものであり、これよりも小さい値の高さyは高さ群内には基本的に存在しないからである。このため、頻度分布において、地面より低い高さyにおいて、度数が現れることはない。
【0033】
以上のことに鑑みて、頻度分布において、度数を有する高さyの中で最も値が小さい高さyminを、地面高さhnmとして特定することができるはずである。しかしながら、ステレオマッチングによって算出される距離データDijは、ミスマッチング等の影響によって、誤差データを含むことがある。このような誤差データの一態様として、ある実空間上の位置に立体物が存在しないにも拘わらず、その位置に値をもったデータが算出されてしまうことがある。例えば、図5に示す頻度分布の下側には、少数の度数があり、これらはミスマッチングデータである。
【0034】
そこで、地形認識部11は、頻度分布において、所定しきい値Th以上の度数を有する高さyの中で最も値が小さい高さyminが存在するか否かを判断する。なお、この判断基準を与えるしきい値Thは、上述したミスマッチングデータを排除し得る程度の大きさに設定されている。この判断で肯定された場合には、この頻度分布が算出された第1の区分S1nmに関する地面高さhnmとして、高さyminが特定される。一方、この判断で否定された場合には、地面高さhnmの特定は行われない。ただし、この地面高さhnmが特定されなかった第1の区分の位置(n,m)が、第1の区分S1nm’として記憶される。
【0035】
そして、上述した地面高さhnmの算出処理が、分割された全ての第1の区分S1nmに関して行われると、次の処理に進む。
【0036】
次の処理として、地面高さhnmが特定されていない第1の区分S1nm’に関する地面高さhnmを、周囲の第1の区分S1nmに関する地面高さhnmに基づいて補間する内挿処理が行われる。より詳細には、記憶された区分Snm’の位置(n,m)が特定され、周囲の区分Snmに対応する地面高さhnmに基づき、この区分Snm’に対応する地面高さhnmが統計的に補間される。
【0037】
なお、上述した処理で地面高さhnmの特定を行った場合、ある第1の区分S1nmでは、地面に相当する距離データDijが存在しないことも考えられる。すなわち、所定しきい値以上の度数を有する高さyの中で最も値が小さい高さyminが、立体物の高さを示していることも考えられる。そこで、地形認識部11は、周囲の第1の区分S1nmに関する地面高さhnmとは異なる地面高さhnmを有する第1の区分S1nmを特定する。そして、この特定された第1の区分S1nmに関する地面高さhnmが、周囲の第1の区分S1nmに関する地面高さhnmに基づいて補正される。
【0038】
以上の処理により、分割された第1の区分S1nmのそれぞれに関する最適な地面高さhnmが特定される。これにより、第1の区分S1nmの位置と、当該第1の区分S1nmに関する地面高さhnmとを考慮することで、作業領域内の地形が認識可能となる。
【0039】
つぎに、ステップ2において、立体物検出部12は、距離データメモリ9から距離データDijを読み込とともに、この距離データDijと、地形認識部11により認識された地面の位置とに基づき、作業領域内に存在する立体物を検出する。
【0040】
図6は、ステップ2における詳細な立体物の検出処理を示したフローチャートである。まず、ステップ20において、距離データDijが、二次元的な平面において、縦方向に延在する短冊状に切断されることにより、複数の区分に分割される。この分割された距離データDijの区分は、上述した地形認識部11によって分割された短冊状の区分と位置的に一致している。ただし、両区分は、必ずしも位置的に一致している必要はないが、両者が一致していることで区分間の対応が取れるので、地面より上に位置する距離データDijを特定する際に計算処理の簡素化を図る上で好ましい。
【0041】
そして、立体物検出部12は、分割された区分のそれぞれを処理対象として、以下に述べる処理を繰り返し実行する。なお、説明において、分割された区分のそれぞれを特定するため、分割された区分毎に1〜nの番号を横方向(二次元平面において、i座標の増加方向)に昇順で割り当てる。また、この立体物検出部12によって分割される区分を、以下、「第2の区分S2n」と称する。ここで、次のステップとして、第2の区分S2nの位置を特定するループ変数として、1がセットされる(ステップ21)。これにより、水平方向に並んだ複数の第2の区分S2nのうち、一番左端の第2の区分S2nが選択される。
【0042】
ステップ22において、この第2の区分S2n内に存在する距離データDijに基づき、実空間上の位置が算出される。具体的には、まず、第2の区分S2nに含まれる距離データDijデータの中から、任意の距離データDij(例えば、(i,j)位置が最も原点に近いデータ)が選択される。そして、選択された距離データDijについて、周知の座標変換式に基づき、実空間上の三次元位置(x,y,z)が算出される。そして、同様の処理が繰り返し実行されて、第2の区分S2n内全ての距離データDijに関する三次元位置が算出される。
【0043】
そして、ステップ23において、実空間上において地面の位置より高い位置に存在する距離データDijが、立体物データとして選別される。ここで、立体物検出部12は、この算出された実空間上の位置(x,y,z)に対応する地面の高さ(地面高さhnm)を、地形認識部11からの情報に基づき特定する。この対応する地面高さhnmは、第1の区分S1nmに分割された距離データDijにおいて、座標変換された距離データDijに対応する第1の区分S1nmを特定することで、一義的に求めることができる。そして、特定された第1の区分S1nmに関する地面高さhnmと、座標変換された距離データDijの高さyとが比較される。このとき、座標変換された距離データDijの高さyが地面高さhnmより高い(値が大きい)場合には、その実空間上の位置(x,y,z)が立体物データとして選別される。そして、全ての距離データDijに関する三次元位置について、同様の処理が繰り返し実行されて、立体物データ(x,y,z)が適宜選別される。これにより、第1の実施形態では、地面上の立体物と推定されるデータ、すなわち、地面よりも高くデータが、立体物データとして選別される。
【0044】
なお、このとき、距離データDijの高さyが車両の高さより上にあるデータについて、立体物検出部12は、これを取り扱わないとしてもよい。なぜならば、車両より高い位置に存在する立体物は、それを無視しても車両制御に関する影響は少ないからである。例えば、車両より高い位置に障害物が存在しても、その高さより低い車高の車両はその下をくぐり抜けることができる。
【0045】
そして、ステップ24において、抽出された立体物データの距離zに関し、ヒストグラム(頻度分布)が作成される。この頻度分布は、図5に示した頻度分布と基本的に同じであるが、距離zを縦軸として、予め設定された幅(例えば、1.0m)の区間でこの縦軸が区切られている。そして、縦軸の区間のそれぞれにおいて、立体物データに含まれる区間相当の距離zの個数がそれぞれ数えられる。これにより、区間のそれぞれに関する度数が求められ、頻度分布が算出される。
【0046】
ステップ25において、この頻度分布に関し、分布の度数が所定のしきい値以上で、かつ、最頻距離となる区間があるか否かが判断される。一般に、ステレオマッチングによって算出される距離画像データDpは、ミスマッチング等の影響によって、誤差データを含むことが多い。そこで、作成された距離頻度分布において、予め設定したしきい値以上かつ最大値をとる区間があれば、その区間に立体物が存在すると判断し、また、度数の最大値が判定値以下の場合は物体が存在しないと判断することが好ましい。なぜならば、ある程度の大きさの立体物がある場合には、その区間の度数が大きくなる傾向があり、一方、物体が何も存在しない場合には、たとえ誤ったデータが存在したとしても、発生する度数が小さくなる傾向があるからである。これにより、データに多少のノイズが含まれている場合においても、この影響を最小限にして立体物を検出することができる。
【0047】
この判断で肯定された場合、ステップ26に進み、この第2の区分S2nには立体物が存在すると特定される。そして、その区間内に存在する各距離zの平均値または代表値、或いは、該当する区間の中間値が、その立体物までの距離Zとして算出される。一方、この判断で否定された場合、ステップ27に進み、この第2の区分S2nには立体物が存在しないと特定される。
【0048】
そして、ステップ28において、分割された全ての第2の区分S2nに関して立体物検出処理が行われたか否かが判断される。この判断で肯定された場合、立体物検出部12はこのルーチンを抜ける。一方、この判断で否定された場合、ステップ29に進み、ループ変数S2nとして、S2n+1がセットされる。そして、分割された全ての第2の区分S2nのそれぞれについて、立体物検出処理が行われる。
【0049】
ステップ3において、農作物検出部13は、農作物を検出する。図7は、ステップ3における詳細な農作物検出手順を示すフローチャートである。まず、ステップ30において、検出された立体物のそれぞれに関する実空間上の位置が算出される。図8は、x−z平面における立体物の位置を示した説明図である。同図において、立体物の位置が、x−z平面上にプロットして示されている。立体物の実空間上の位置は、第2の区分S2nのそれぞれにおいて算出された、立体物の距離Zに対応する実空間上の位置である。実区間上の位置の算出手法としては、例えば、距離Zに対応する立体物データより特定される実空間上の位置(複数存在する場合には、この重心位置)を立体物の位置として算出するといった如くである。
【0050】
ステップ31において、検出された立体物の距離が接近しているものがまとめられて、グループに分けられる。この処理では、隣接する一対の第2の区分S2nにおける立体物の距離Zがそれぞれ比較される。そして、両区分の立体物までの距離Zの差異が判定値以下の場合には、この両区分の立体物が同一の立体物と見なされ、グループにまとめられる。換言すれば、検出された立体物の距離が近接する立体物同士でグループが構成される。一方、判定値を超えている場合には、両区分の立体物は別々の立体物と見なされ、そこでグループが分けられる。
【0051】
具体的には、まず、最初の第2の区分S2n(例えば左端(以下、「区分S21」と称する))を調べ、立体物が検出されている場合には、距離Z(以下、「距離Z1」と称する)が読み込まれる。そして、この立体物について、グループG1が割り当てられ、距離Z1がこれに対応付けられる。
【0052】
次に、右隣の第2の区分S2n(仮に、これを「区分S22」と称する)を調べる。この第2の区分S22において、立体物が検出されていない場合には、先に読み込まれた第2の区分S21に関する立体物は、この区分S21内で完結しているものと見なされる。そして、この区分S21で検出された立体物はグループG1として、そのグループが確定される。
【0053】
一方、第2の区分S22で立体物が検出されている場合には、この区分S22に関する距離Z(以下、「距離Z2」と称する)が読み込まれる。そして、先に読み込まれた区分S21の距離Z1と、右隣の区分S22の距離Z2の差が計算されて、この差が判定値以下であるか否かが判断される。この判断で肯定された場合、すなわち、立体物の距離が互いに接近している場合には、区分S22で検出された立体物は、グループG1に属すると判断される。そして、この区分S22に関する立体物について、区分S22と同一のグループG1が割り当てられ、Z1とZ2との平均値として、その距離が対応付けられる。一方、この判断で否定された場合、すなわち、立体物同士の距離が離れている場合には、区分S22で検出された立体物は、先に検出されたグループG1とは異なる立体物であると判断される。そして、先に読み込まれた区分S21で検出された立体物はグループG1として、そのグループが確定される。また、この区分S22で検出された立体物は、新しいグループG2が割り当てられ、距離Z2がこれに対応付けられる。
【0054】
次に、第2の区分S22の右隣の第2の区分S2nが調べられ、そして、この処理が全ての第2の区分S2nについて行われて、立体物のグループ化が行われる。以上のグループ化処理により、例えば、図8に示すように、立体物が7個のグループにまとめられる。同図には、z軸に関して左側に、z軸とほぼ平行するグループ1〜3、z軸に関して右側に、z軸とほぼ平行するグループ4〜6、および、z軸に直交した方向にグループ7が示されている。
【0055】
次に、ステップ32において、検出された立体物の並び方向が特定される。第1の実施形態では、立体物の並び方向は、まとめられたグループのそれぞれにおいて、グループを構成する立体物の位置に基づき算出された近似直線として特定される。近似直線の算出手法としては、最小二乗法、または、ハフ変換など、周知の手法が用いられる。
【0056】
ステップ33において、特定された並び方向が一致するか否かが判断される。この判断では、ステップ32において特定されたグループの並び、すなわち、算出された近似直線の向き(ベクトル成分)を互いに比較し、向きの相違が判定値以下であるか否かにより判断することができる。この判断で肯定された場合、すなわち、全てのグループにおいて並び方向が近似する場合には、ステップ35に進む。一方、この判断で否定判定された場合、すなわち、並び方向が異なるグループが存在する場合には、ステップ34に進む。そして、ステップ34において、並び方向が異なるグループが、まとめらたグループから除外される。
【0057】
ステップ35において、この並び方向が一致するグループが農作物として検出される。一般に、農作物は、多数の農作物が一方向に並ぶという特徴がある。本実施形態では、認識すべき対象である農作物について、この特徴を利用することにより、農作物と、農作物でないものとの切り分けを行っている。これにより、図8に示したように、農作物の列の間から遠方に見える森などの背景(グループ7)を、農作物と切り分けて認識することができる。換言すれば、算出された農作物に関する位置に基づき、所定方向に並ぶ立体物が農作物として検出される。なお、本実施形態において、農作物とそうでないものとの切り分けは、立体物の並び(すなわち、近似直線)が完全に向きが一致している状態のみを指すものではなく、並び方向がほぼ一致していると見なせる状態をも含む。したがって、ステップ34における判定値は、このような状態をも含む程度の大きさに設定されている。
【0058】
農作物検出部13は、検出された農作物を、グループ毎の傾き、或いは、グループ端部の実空間上の位置などのパラメータによって規定し、この農作物を規定するパラメータが制御部14に対して出力される。以上の農作物検出処理に基づき、制御部14は、例えば、車両と農作物との距離が短くなり、オペレータへの警報が必要な状況では、モニタやスピーカ等の警報装置を動作させて、オペレータへの注意を喚起する。また、このような状況で車両を減速させるべく、ブレーキの作動、エンジン出力の低下、或いは、車両の進行方向を変更させるべく、操舵角変更等の車両制御を行うことができる。
【0059】
以上説明したように、第1の実施形態の農作物検出装置1によれば、距離データの区分毎に地面の高さが求められているので、地面の形状を正確に把握することができる。これにより、認識された地面と、地面上に存在する立体物とを正確に認識することができる。また、特に、検出された立体物の中から、所定方向に並ぶことを条件として農作物を特定することにより、農作物とそうでないものとの切り分けを正確に行うことができる。これにより、認識された農作物の状況を考慮することで、車両側の制御を容易かつ正確に行うことができる。また、第1の実施形態では、地面から上部までの幅の広いデータ(縦短冊の第2の区分S2n)を用いて農作物を検出しているので、背丈の高い農作物の全体としての位置を検出する上で好ましい。例えば、超音波センサなどを車両前部に取り付けて、農作物を検出すると、センサを取り付けた位置での農作物しか検出できないという問題がある。しかしながら、第1の実施形態によれば、これらの問題を解決することができる。
【0060】
(第2の実施形態)
図9は、ステップ2における詳細な立体物検出処理の別の手順を示すフローチャートである。第2の実施形態にかかる農作物検出手順が、第1の実施形態に係る手順と相違する点は、ステップ2,3の処理についてである。この第2の実施形態にかかる農作物検出は、例えば、背丈の小さな農作物を検出する上で有効な手法である。
【0061】
以下、農作物の検出手順に関して説明を行うが、図4に示した農作物の認識手順と同様の手順については、ここでの説明を省略する。なお、第2の実施形態では、前提として、車両の進行方向は、予め農作物の並び方向と略平行になっているものとする。まず、ステップ20aにおいて、読み込まれた距離データDijに基づき、周知の座標変換式により実空間上の位置(x,y,z)が算出される。
【0062】
そして、ステップ21aにおいて、実空間上において地面の位置より高い位置に存在する距離データDijが、立体物データとして選別される。ここで、立体物検出部12は、算出された実空間上の位置(x,y,z)に対応する地面の高さ(地面高さhnm)を、地形認識部11からの情報に基づきそれぞれ特定する。この地面高さhnmは、第1の区分S1nmに分割された距離データDijにおいて、座標変換された距離データDijに対応する第1の区分S1nmを特定することで、一義的に求めることができる。そして、地面高さhnmと、座標変換された距離データDijの高さyとが比較される。このとき、座標変換された距離データDijの高さyが地面高さhnmより高い(値が大きい)場合には、その実空間上の位置(x,y,z)が立体物データとして選別される。そして、全ての距離データDijについて、同様の処理が繰り返し実行されて、立体物データが適宜選別される。
【0063】
そして、ステップ22aにおいて、この選別された立体物データのそれぞれを処理対象として、立体物データの距離が接近しているものがまとめられて、グループに分けられる。このステップ22aでは、まず、ある立体物データが選択されて、この立体物データについて、グループG1が割り当てられるとともに、実空間上の位置(x1、y1、z1)がこれに対応付けられる。
【0064】
次に、新たな立体物データが選択されて、この立体物データの実空間上の位置(x2,y2,z2)が特定される。そして、先に割り当てられたグループG1と、この位置(x2,y2,z2)との実空間上の距離Lが算出されて、この距離Lが判定値以下であるか否かが判断される。この判断で肯定された場合には、この選択された新たな立体物データはグループG1に属する、と判断される。そして、この新たな立体物データについて、先に選択された立体物データと同一のグループG1が割り当てられて、このグループG1の位置として、(x1,y1,z1)と(x2,y2,z2)との中心位置がこれに対応付けられる。一方、この判断で否定された場合には、この立体物はグループG1とは異なる立体物である、と判断される。そして、先に選択された立体物データはグループG1として、グループが確定される。また、新たに選択された立体物データは、新しいグループG2が割り当てられ、位置(x2,y2,z2)がこれに対応付けられる。
【0065】
なお、新たな立体物データを選択した際に、既に複数のグループが存在する場合には、グループまでの距離Lが最短となるグループに対して、上述した処理が行われる。そして、この処理が全ての立体物データについて行われ、立体物データが複数のグループにまとめられる。なお、この処理は、距離画像のグループ化手法として周知な手法であり、本明細書ではこれ以上の説明を省略する。
【0066】
そして、ステップ23aにおいて、グループ化された立体物データのそれぞれが立体物として特定される。以上の立体物検出処理により、例えば、図10に示すような、複数のグループが立体物として特定されている。同図には、作業領域内に立体物として存在する農作物や雑草等などがグループとして概略的に表されている。
【0067】
図11は、ステップ3における別の農作物の検出処理の詳細な手順を示すフローチャートである。まず、ステップ30aにおいて、立体物の実空間上での位置が算出される。この立体物の位置は、先に特定されたグループのそれぞれにおいて、グループの重心位置を算出することにより、一義的に特定することができる。
【0068】
そして、ステップ31aにおいて、z方向と、立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせが選別される。ここで、z方向とは、距離データに基づき特定される実空間上での距離方向をいう。このステップ31aでは、検出された立体物を任意の組み合わせで抽出することにより、ハフ変換、最小二乗法など周知の手法により近似直線が特定される。そして、算出された近似直線の向き(ベクトル成分)とz方向とを互いに比較し、向きの相違が判定値以下であるか否かにより、z方向と近似直線とが一致するか否かが判断される。そして、この判断で肯定された場合に、近似直線を構成する立体物のそれぞれが、組み合わせとして選別される。
【0069】
なお、本実施形態において、z軸方向と一致する近似直線とは、完全に向きが一致しいている状態のみを指すものではなく、z軸方法とほぼ平行と見なせる状態をも含む。したがって、このステップ31aにおける判定値は、このような状態をも含む程度の大きさに設定されている。
【0070】
そして、ステップ32aにおいて、選択された立体物が農作物として検出される。すなわち、第1の実施形態と同様、算出された農作物に関する位置に基づき、所定方向(第2の実施形態では、z方向)に並ぶ立体物が農作物として検出される。図12は、立体物と近似直線との関係を示した説明図である。上述したように、農作物は、作業領域内において、多数の農作物が一方向に並んでいるという特徴がある。また、前提として、車両の進行方向(すなわち、ステレオカメラの視線方向(z方向))は、農作物の並び方向と一致している。これにより、第2の実施形態では、z方向とその並び方向が一致するか否かにより、農作物と、農作物でないものとの切り分けを行っている。図12に示す例では、農作物の列の間に存在する雑草等が、農作物と切り分けられて区別されている。
【0071】
以上説明したように、第2の実施形態によれば、第1の実施形態と同様な効果を奏するとともに、背丈の低い農作物についても、農作物を精度よく認識することができる。また、農作物の一つ一つを区別して、その概略的な形状と位置を把握することができる。
【0072】
なお、第1の実施形態では、二次元平面に加えて、距離方向を加味した三次元空間において、距離データDijを複数の区分Snmに分割している。これにより、立体物に相当する距離データDijは、同一の区分Snm内に分類されるので、上述した立体物の足元の検出をする上で有利である。しかしながら、距離データDijを単に二次元平面上において、行列状に分割するような区分であってもよい。この形態によれば、区分Snmの分類の際に、距離を算出する必要がないので、計算処理の簡素化を図る上で有利である。
【0073】
また、本実施形態では、一例として、車両制御と関連付け、農作物検出装置1を説明したが、本発明は、これに限定されるものではない。例えば、農作物検出装置1は、作業領域内に固定的に取り付けられて、単に農作物を検出することを目的としてもよい。
【0074】
また、ステレオカメラは、画像データを出力するカメラとしての機能と、ステレオ画像処理部7と協働して、距離データDijを出力する距離センサとしての機能とを有する。しかしながら、本発明は、ステレオカメラに限定されるものではなく、レーザレーダを使用することもできる。レーザレーダは、作業領域内をスキャンすることによって、距離の二次元的な分布を示す距離データDijを出力する。また、この距離データDijは、予めカメラ2,3の撮影範囲を距離センサでスキャンして、そのスキャン結果を画像上でのi−j座標に対応付けたテーブルとして格納していてもよい。
【発明の効果】
このように、本発明によれば、検出された立体物のうち、所定方向に並ぶことを条件として農作物を検出している。これにより、農作物とそうでないものとの切り分けを行うことができるので、農作物のみを精度よく検出することができる。
【図面の簡単な説明】
【図1】第1の実施形態にかかる農作物検出装置のブロック構成図
【図2】1フレームの画像を示す説明図
【図3】基準画像に設定される画素ブロックの説明図
【図4】農作物の検出手順を示したフローチャート
【図5】ヒストグラムの一例を示す説明図
【図6】立体物検出手順を示したフローチャート
【図7】農作物検出手順を示したフローチャート
【図8】x−z平面における立体物の位置を示した説明図
【図9】立体物検出手順の別の手順を示すフローチャート
【図10】グループ化された立体物を示す説明図
【図11】農作物検出手順の別の手順を示すフローチャート
【図12】立体物と近似直線との関係を示した説明図
【符号の説明】
1 農作物検出装置
2 メインカメラ
3 サブカメラ
4 A/Dコンバータ
5 A/Dコンバータ
6 画像補正部
7 ステレオ画像処理部
8 画像データメモリ
9 距離データメモリ
10 マイクロコンピュータ
11 地形認識部
12 立体物検出部
13 農作物検出部
14 制御部
Claims (12)
- 作業領域内において所定方向に並ぶ農作物を検出する農作物検出装置において、
前記作業領域内における距離の二次元的な分布を距離データとして出力する距離センサと、
前記距離データに基づき、前記作業領域内の地面の位置を認識する地形認識部と、
前記認識された地面の位置に基づき、実空間上において、当該地面の位置より高い位置に存在する前記距離データを立体物データとして選別するとともに、当該立体物データに基づき前記作業領域内に存在する立体物を検出する立体物検出部と、
前記検出された立体物に関する実空間上の位置を算出し、当該算出された立体物に関する実空間上の位置に基づき、前記所定方向に並ぶ前記立体物を農作物として検出する農作物検出部と
を有することを特徴とする農作物検出装置。 - 前記地形認識部は、二次元的な平面において、前記距離データを複数の区分に分割し、前記分割された区分のそれぞれにおいて、前記距離データに基づき1区分に関する高さ群を算出し、前記算出された高さ群について高さに関する頻度分布を算出するとともに、前記算出された頻度分布に基づき、当該頻度分布が算出された区分に関する地面の高さを特定することを特徴とする請求項1に記載された農作物検出装置。
- 前記農作物検出部は、実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成し、当該構成されたグループのそれぞれにおいて、立体物の並び方向を特定するとともに、前記立体物の並び方向が一致するグループを農作物として検出することを特徴とする請求項1または2に記載された農作物検出装置。
- 前記立体物の並び方向は、前記グループを構成する立体物の位置に基づき算出された近似直線により特定されることを特徴とする請求項3に記載された農作物検出装置。
- 前記農作物検出部は、前記距離データに基づき特定される実空間上での距離方向と、前記検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別し、当該選別された立体物を農作物として検出することを特徴とする請求項1または2に記載された農作物検出装置。
- 前記近似直線は、ハフ変換、または、最小二乗法により算出されることを特徴とする請求項4または5に記載された農作物検出装置。
- 前記距離センサは、前記作業領域を含む景色を撮像することにより、一対の撮像画像を出力するステレオカメラであることを特徴とする請求項1から6のいずれかに記載された農作物検出装置。
- 前記距離センサは、レーザレーダであることを特徴とする請求項1から6のいずれかに記載された農作物検出装置。
- 作業領域内の距離の二次元的な分布を示す距離データを用いて、当該作業領域内において所定方向に並んだ農作物を検出する農作物検出方法において、
前記距離データに基づき、前記作業領域内の地面の位置を認識する第1のステップと、
前記認識された地面の位置に基づき、実空間上において、当該地面の位置より高い位置に存在する前記距離データを立体物データとして選別する第2のステップと、
前記選別された立体物データに基づき前記作業領域内に存在する立体物を検出する第3のステップと、
前記検出された立体物に関する実空間上の位置を算出する第4のステップと、前記算出された立体物に関する実空間上の位置に基づき、前記所定方向に並ぶ前記立体物を農作物として検出する第5のステップと
を有することを特徴とする農作物検出方法。 - 前記第1のステップは、二次元的な平面において、前記距離データを複数の区分に分割し、前記分割された区分のそれぞれにおいて、前記距離データに基づき1区分に関する高さ群を算出し、前記算出された高さ群について高さに関する頻度分布を算出するとともに、前記算出された頻度分布に基づき、当該頻度分布が算出された区分に関する地面の高さを特定することを特徴とする請求項9に記載された農作物検出方法。
- 前記第5のステップは、
実空間上において、前記検出された立体物の距離が接近している立体物同士でグループを構成するステップと、
前記構成されたグループのそれぞれにおいて、立体物の並び方向を特定するステップと、
前記立体物の並び方向が一致するグループを農作物として検出するステップとを有することを特徴とする請求項9または10に記載された農作物検出方法。 - 前記第5のステップは、
前記距離データに基づき特定される実空間上での距離方向と、前記検出された立体物の位置に基づき算出された近似直線とが一致する立体物の組み合わせを選別するステップと、
前記選別された立体物を農作物として検出するステップと
を有することを特徴とする請求項9または10に記載された農作物検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002164533A JP2004012233A (ja) | 2002-06-05 | 2002-06-05 | 農作物検出装置および農作物検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002164533A JP2004012233A (ja) | 2002-06-05 | 2002-06-05 | 農作物検出装置および農作物検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004012233A true JP2004012233A (ja) | 2004-01-15 |
Family
ID=30432652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002164533A Abandoned JP2004012233A (ja) | 2002-06-05 | 2002-06-05 | 農作物検出装置および農作物検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004012233A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004028728A (ja) * | 2002-06-25 | 2004-01-29 | Fuji Heavy Ind Ltd | 地形認識装置および地形認識方法 |
JP2006235972A (ja) * | 2005-02-24 | 2006-09-07 | Toyota Motor Corp | 検出装置 |
JP2012110255A (ja) * | 2010-11-22 | 2012-06-14 | National Agriculture & Food Research Organization | 果柄切断装置 |
JP2012198688A (ja) * | 2011-03-18 | 2012-10-18 | Fujitsu Ltd | 農作物画像処理プログラム、農作物画像処理方法及び農作物画像処理装置 |
JP2016053903A (ja) * | 2014-09-04 | 2016-04-14 | 国立研究開発法人農業・食品産業技術総合研究機構 | 植物群落構造解析システム |
JP2017136012A (ja) * | 2016-02-03 | 2017-08-10 | 小橋工業株式会社 | 作業機及び作業システム |
JP2017161363A (ja) * | 2016-03-09 | 2017-09-14 | 株式会社デンソー | 区画線認識装置 |
JP2019106104A (ja) * | 2017-12-14 | 2019-06-27 | 学校法人立命館 | 自律移動システム及びコントローラ |
JP2020012692A (ja) * | 2018-07-17 | 2020-01-23 | 株式会社Soken | 距離画像生成装置 |
EP3605063A4 (en) * | 2017-03-23 | 2020-04-22 | Nec Corporation | VEGETATION INDEX CALCULATION DEVICE, VEGETATION INDEX CALCULATION METHOD, AND COMPUTER-READABLE RECORDING MEDIUM |
JP2021027833A (ja) * | 2020-11-11 | 2021-02-25 | 小橋工業株式会社 | 作業機及び作業システム |
-
2002
- 2002-06-05 JP JP2002164533A patent/JP2004012233A/ja not_active Abandoned
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004028728A (ja) * | 2002-06-25 | 2004-01-29 | Fuji Heavy Ind Ltd | 地形認識装置および地形認識方法 |
JP2006235972A (ja) * | 2005-02-24 | 2006-09-07 | Toyota Motor Corp | 検出装置 |
JP2012110255A (ja) * | 2010-11-22 | 2012-06-14 | National Agriculture & Food Research Organization | 果柄切断装置 |
JP2012198688A (ja) * | 2011-03-18 | 2012-10-18 | Fujitsu Ltd | 農作物画像処理プログラム、農作物画像処理方法及び農作物画像処理装置 |
JP2016053903A (ja) * | 2014-09-04 | 2016-04-14 | 国立研究開発法人農業・食品産業技術総合研究機構 | 植物群落構造解析システム |
JP2017136012A (ja) * | 2016-02-03 | 2017-08-10 | 小橋工業株式会社 | 作業機及び作業システム |
JP2017161363A (ja) * | 2016-03-09 | 2017-09-14 | 株式会社デンソー | 区画線認識装置 |
EP3605063A4 (en) * | 2017-03-23 | 2020-04-22 | Nec Corporation | VEGETATION INDEX CALCULATION DEVICE, VEGETATION INDEX CALCULATION METHOD, AND COMPUTER-READABLE RECORDING MEDIUM |
US11348272B2 (en) | 2017-03-23 | 2022-05-31 | Nec Corporation | Vegetation index calculation apparatus, vegetation index calculation method, and computer readable recording medium |
JP2019106104A (ja) * | 2017-12-14 | 2019-06-27 | 学校法人立命館 | 自律移動システム及びコントローラ |
JP7153895B2 (ja) | 2017-12-14 | 2022-10-17 | 学校法人立命館 | 自律移動システム及びコントローラ |
JP2020012692A (ja) * | 2018-07-17 | 2020-01-23 | 株式会社Soken | 距離画像生成装置 |
JP7133378B2 (ja) | 2018-07-17 | 2022-09-08 | 株式会社Soken | 距離画像生成装置 |
JP2021027833A (ja) * | 2020-11-11 | 2021-02-25 | 小橋工業株式会社 | 作業機及び作業システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1655620B1 (en) | Obstacle detection using stereo vision | |
US10129521B2 (en) | Depth sensing method and system for autonomous vehicles | |
JP4573977B2 (ja) | 監視システムの距離補正装置、および監視システムの消失点補正装置 | |
US7460686B2 (en) | Security monitor device at station platform | |
US7321669B2 (en) | Method and apparatus for refining target position and size estimates using image and depth data | |
JP2003083742A (ja) | 監視システムの距離補正装置および距離補正方法 | |
JP4032843B2 (ja) | 監視システムおよび監視方法、当該監視システムにおける距離補正装置および距離補正方法 | |
JPH10143659A (ja) | 物体検出装置 | |
JP2014197378A (ja) | 物体検出装置、移動体機器制御システム及び物体検出用プログラム | |
KR101326943B1 (ko) | 추월차량 경고 시스템 및 추월차량 경고 방법 | |
CN110717445B (zh) | 一种用于自动驾驶的前车距离跟踪系统与方法 | |
JP2004012233A (ja) | 農作物検出装置および農作物検出方法 | |
JP6524529B2 (ja) | 建築限界判定装置 | |
JP4067340B2 (ja) | 対象物認識装置および対象物認識方法 | |
JP4956099B2 (ja) | 壁検出装置 | |
JP4548181B2 (ja) | 障害物検出装置 | |
JP4150218B2 (ja) | 地形認識装置および地形認識方法 | |
JP2007280387A (ja) | 物体移動の検出方法及び検出装置 | |
JP4696925B2 (ja) | 画像処理装置 | |
JP6014867B2 (ja) | 画像処理装置 | |
JP4171282B2 (ja) | 地形認識装置および地形認識方法 | |
JP7022040B2 (ja) | オブジェクト識別装置、方法およびプログラム | |
JP4099011B2 (ja) | 監視装置および監視方法 | |
JP2004069437A (ja) | テストチャート、ステレオカメラの位置ずれ検査装置および位置ずれ検査方法 | |
JP6719328B2 (ja) | 車外監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050602 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20060831 |