(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241022BHJP
G06Q 50/02 20240101ALI20241022BHJP
【FI】
G06T7/00 640
G06Q50/02
(21)【出願番号】P 2021558252
(86)(22)【出願日】2020-10-28
(86)【国際出願番号】 JP2020040521
(87)【国際公開番号】W WO2021100429
(87)【国際公開日】2021-05-27
【審査請求日】2023-09-01
(31)【優先権主張番号】P 2019208266
(32)【優先日】2019-11-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110003410
【氏名又は名称】弁理士法人テクノピア国際特許事務所
(74)【代理人】
【識別番号】100116942
【氏名又は名称】岩田 雅信
(74)【代理人】
【識別番号】100167704
【氏名又は名称】中川 裕人
(72)【発明者】
【氏名】綱島 宣浩
【審査官】松永 隆志
(56)【参考文献】
【文献】特開2012-198688(JP,A)
【文献】特開2007-043919(JP,A)
【文献】特開平03-272607(JP,A)
【文献】特開平02-182231(JP,A)
【文献】米国特許第9489576(US,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06Q 50/02
(57)【特許請求の範囲】
【請求項1】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部を備
え、
前記ロウ決定部は、
ロウ候補の上付近にある作物らしい領域の大きさから作物サイズを算出し、
算出された作物サイズからロウ候補上の作物候補を検出し、
検出した作物候補の間隔から前記画像データ上の作物間隔を算出し、
決定した作物間隔からロウ候補の確からしさを決定し、
決定した確からしさを用いて誤検出と判定したロウ候補を除外したうえでロウを決定する処理を行う
情報処理装置。
【請求項2】
前記ロウ決定部は、
前記作物検出の結果に基づいてロウ候補を検出
する
請求項1に記載の情報処理装置。
【請求項3】
前記ロウ決定部は、前記画像データ内で、曲線を含むロウの決定を行う
請求項1
又は請求項2に記載の情報処理装置。
【請求項4】
前記ロウ決定部は、前記画像データを分割し、分割画像毎にロウ検出を行い、分割画像のロウ検出のラインを結合することで、曲線を含むロウ候補を設定する
請求項1から請求項3のいずれかに記載の情報処理装置。
【請求項5】
前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部を備えた
請求項1から請求項4のいずれかに記載の情報処理装置。
【請求項6】
前記出力情報生成部は、
前記ロウ決定部が決定したロウにある作物数をカウントし、画像データ内に存在している作物の総数をカウントする
請求項5に記載の情報処理装置。
【請求項7】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部と、
前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部と、を備え、
前記出力情報生成部は、
前記ロウ決定部が求めた作物間隔を用いて作物の欠落箇所のカウントを行
う
情報処理装置。
【請求項8】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部と、
前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部と、を備え、
前記出力情報生成部は、
前記ロウ決定部が求めた作物間隔を用いて作物の欠落箇所のカウントを行い、
作物の欠落箇所のカウント結果を用いて、理想的な作付け数と実際の作付けの比である作物割合の算出を行
う
情報処理装置。
【請求項9】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部と、
前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部と、を備え、
前記出力情報生成部は、
配置間隔の値が所定値以下の作物の組を検出し、該当する作物の組を提示する出力情報を生成する
情報処理装置。
【請求項10】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部と、
前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部と、を備え、
前記出力情報生成部は、
配置間隔の値が所定値以下の作物の数を検出し、当該数を反映させた予測収穫量の算出を行う
情報処理装置。
【請求項11】
前記出力情報生成部は、
前記ロウ決定部が決定したロウの位置に基づいて、作付けの有効面積の算出を行う
請求項5から請求項10のいずれかに記載の情報処理装置。
【請求項12】
前記出力情報生成部は、
複数の画像データのそれぞれから求められる出力情報を用いて、代表出力情報の算出を行う
請求項5から請求項10のいずれかに記載の情報処理装置。
【請求項13】
同一圃場の画像データについての算出データの存在を確認し、算出データが存在する場合は、当該算出データを用いて処理を行う
請求項1から請求項12のいずれかに記載の情報処理装置。
【請求項14】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部を備え、
画像データから算出した算出データが、同一圃場の他の画像データについて得られた代表算出データに基づく許容範囲から外れた値であった場合、代表算出データの値を適用する
情報処理装置。
【請求項15】
圃場のマップデータを用いて、前記画像データにおける作付けの有効範囲を判定する
請求項1から請求項14のいずれかに記載の情報処理装置。
【請求項16】
前記ロウ決定部が決定したロウを提示する制御を行うとともに、ユーザ操作を検知するユーザインタフェース制御部を備え、
前記ロウ決定部は、検知されたユーザ操作に応じてロウ決定の変更を行う
請求項1から請求項15のいずれかに記載の情報処理装置。
【請求項17】
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定する
ロウ決定処理として、
ロウ候補の上付近にある作物らしい領域の大きさから作物サイズを算出し、
算出された作物サイズからロウ候補上の作物候補を検出し、
検出した作物候補の間隔から前記画像データ上の作物間隔を算出し、
決定した作物間隔からロウ候補の確からしさを決定し、
決定した確からしさを用いて誤検出と判定したロウ候補を除外したうえでロウを決定する処理を行う
情報処理方法。
【請求項18】
圃場を撮像した画像データ内で作物検出を
行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定する
ロウ決定処理として、
ロウ候補の上付近にある作物らしい領域の大きさから作物サイズを算出し、
算出された作物サイズからロウ候補上の作物候補を検出し、
検出した作物候補の間隔から前記画像データ上の作物間隔を算出し、
決定した作物間隔からロウ候補の確からしさを決定し、
決定した確からしさを用いて誤検出と判定したロウ候補を除外したうえでロウを決定する処理を
を情報処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は情報処理装置、情報処理方法、プログラムに関し、特に作物の育成に関する情報の生成に好適な技術に関する。
【背景技術】
【0002】
近年、農場の大規模化によって、作物の自動作付けが行われるようになってきている。自動作付けにおいて、作物が正しく作付けされたか、あるいは、作物が期待通りに育成しているかを確認するのは非常に重要である。作物が期待通りに作付け、育成されていない箇所がある場合は、そこに再作付けなどを行い、最終的な収穫量の最適化を図ることがある。
【0003】
一方で、ドローン等の飛行体に搭載したカメラなどによる空からの撮像技術の発達で、大規模農場において、人手で農地を見回る作業を省き、作業の簡略化、自動化する試みがなされている。上記した作付けの不具合の検出もこのような空撮技術によって自動化が行われるようになってきている。
特許文献1には、圃場を撮像し、植生状態のリモートセンシングを行う技術に関して開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、作付けの不具合の確認には、空撮された画像から、作物数をカウントすればよいのであるが、空撮画像から作物を精度良くカウントすることは難しい。
また画像処理によって作物のカウントを行う場合、画像においてロウ(畝や作付けのライン)を指定することで、カウント精度を上げることができるが、そのためには畑の領域やロウの方向、ロウの位置などを手入力する必要があり、多くの画像を処理する場合に非常に手間がかかる。
【0006】
そこで本開示では、空撮された画像から画像処理によって作物数のカウント等を行うことを、手間がかからず容易に実行できるようにする技術を提案する。
【課題を解決するための手段】
【0007】
本技術に係る情報処理装置は、圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部を備える。
圃場に関する画像データにおいて作物の部分を検出する。これに基づいて画像データにおけるロウを決定する。
【0008】
上記した本技術に係る情報処理装置においては、前記ロウ決定部は、前記作物検出の結果に基づいてロウ候補を検出し、各ロウ候補における作物間隔に基づいてロウとしての確からしさを計算し、確からしさの計算結果に基づいてロウを決定することが考えられる。
作物検出として作物らしい領域の検出を行うことで、作物の並びとしてのロウが推定できるので、それをロウ候補とする。各ロウ候補については、作物間隔に基づいて確からしさを判定する。
【0009】
上記した本技術に係る情報処理装置においては、前記ロウ決定部は、ロウ候補の上付近にある作物らしい領域の大きさから作物サイズを算出し、算出された作物サイズからロウ候補上の作物候補を検出し、検出した作物候補の間隔から前記画像データ上の作物間隔を算出し、決定した作物間隔からロウ候補の確からしさを決定し、決定した確からしさを用いて誤検出と判定したロウ候補を除外したうえでロウを決定する処理を行うことが考えられる。
作物検出として作物らしい領域から生育サイズを推定することで、画像データ上の作物間隔を適切に判定できる。そのような作物間隔からロウ候補の確からしさを判定する。
【0010】
上記した本技術に係る情報処理装置においては、前記ロウ決定部は、前記画像データ内で、曲線を含むロウの決定を行うことが考えられる。
即ちロウを直線に限定せず、曲線、或いは一部曲線のロウも検出し、画像データ上でのロウとして決定する。
【0011】
上記した本技術に係る情報処理装置においては、前記ロウ決定部は、前記画像データを分割し、分割画像毎にロウ検出を行い、分割画像のロウ検出のラインを結合することで、曲線を含むロウ候補を設定することが考えられる。
即ち直線、曲線、或いは一部曲線のロウを、分割画像の短い直線を用いて検出できるようにする。
【0012】
上記した本技術に係る情報処理装置においては、前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部を備えることが考えられる。
作物の生育に関する出力情報とは、例えば単位面積あたりの作物数、予測収穫量、作物割合など、圃場の管理に用いることができる情報である。
【0013】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、前記ロウ決定部が決定したロウにある作物数をカウントし、画像データ内に存在している作物の総数をカウントすることが考えられる。
ロウ決定がされた場合に、そのロウの上にある植物部分として、作物の個数をカウントする。
【0014】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、前記ロウ決定部が求めた作物間隔を用いて作物の欠落箇所のカウントを行うことが考えられる。
作物間隔が求められることで、本来あるべき作物が無い箇所としての欠落箇所が推定できることになる。
【0015】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、前記ロウ決定部が求めた作物間隔を用いて作物の欠落箇所のカウントを行い、作物の欠落箇所のカウント結果を用いて、理想的な作付け数と実際の作付けの比である作物割合の算出を行うことが考えられる。
理想的な作付け数とは、種を蒔いた箇所の全てで作物が生育したとした場合に集計される作物数となる。そして欠落箇所が求められることで、理想的な作付け数が求められ、それによって実際の作付けのとの比を求めることができる。
作物割合は発芽した作物の割合であり、例えば発芽割合、発芽率などと言い換えることもできる。
【0016】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、前記ロウ決定部が決定したロウの位置に基づいて、作付けの有効面積の算出を行うことが考えられる。
作付けの有効面積とは、実際に作付けが行われる範囲の面積であり、例えば圃場の内で、作付けが行われない範囲を除いた面積である。
【0017】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、複数の画像データのそれぞれから求められる出力情報を用いて、代表出力情報の算出を行うことが考えられる。
代表出力情報とは、例えば作物数、収穫量、作物割合などの出力情報について、複数の各画像データから求められたものの平均値、中央値、重心値などである。
【0018】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、配置間隔の値が所定値以下の作物の組を検出し、該当する作物の組を提示する出力情報を生成することが考えられる。
配置間隔とは作物が生えている場所の間隔である。配置間隔が近い作物どうしを検出し、例えば表示上で識別できるような出力情報を生成する。
【0019】
上記した本技術に係る情報処理装置においては、前記出力情報生成部は、配置間隔の値が所定値以下の作物の数を検出し、当該数を反映させた予測収穫量の算出を行うことが考えられる。
配置間隔が近い作物は生育が劣化するため、通常にカウントして予測収穫量を求めることは適切ではない。そこで配置間隔が近い作物の数を予測収穫量の算出に反映させる。
【0020】
上記した本技術に係る情報処理装置においては、同一圃場の画像データについての算出データの存在を確認し、算出データが存在する場合は、当該算出データを用いて処理を行うことが考えられる。
例えば或る圃場について、一連の撮像動作により撮像した複数の画像データが存在する場合や、或いはほぼ同じ時期に撮像した複数の画像データが存在する場合などで、そのうちの一つの画像データについて算出した作物間隔、育成サイズ、ロウ間隔などの算出データが存在する場合、その算出データは他の画像データについてのロウ決定処理や出力情報演算処理においても使用できる。
【0021】
上記した本技術に係る情報処理装置においては、画像データから算出した算出データが、同一圃場の他の画像データについて得られた代表算出データに基づく許容範囲から外れた値であった場合、代表算出データの値を適用することが考えられる。
例えば或る圃場について、一連の撮像動作により撮像した複数の画像データが存在する場合や、或いはほぼ同じ時期に撮像した複数の画像データが存在する場合などでは、一つの画像データについて算出した作物間隔、育成サイズ、ロウ間隔などが、他の画像データから求めた値とかけ離れている場合は、平均値や中央値などとされる代表算出データの値を使用するようにする。
【0022】
上記した本技術に係る情報処理装置においては、圃場のマップデータを用いて、前記画像データにおける作付けの有効範囲を判定することが考えられる。
例えば農場主が所有している圃場のマップデータを用いて、画像データにおける有効範囲を判定する。
【0023】
上記した本技術に係る情報処理装置においては、前記ロウ決定部が決定したロウを提示する制御を行うとともに、ユーザ操作を検知するユーザインタフェース制御部を備え、前記ロウ決定部は、検知されたユーザ操作に応じてロウ決定の変更を行うことが考えられる。
例えば画像データ上で、決定したロウを明示するなどの表示を行い、ユーザが確認できるようにする。
【0024】
本技術に係る情報処理方法は、圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定する。
これにより情報処理装置において作物の情報を算出精度に貢献するロウの特定を人手を介さずに容易に実現できる。
本技術に係るプログラムは、上記方法の処理を情報処理装置に実行させるプログラムである。これによりユーザの手間をかけずに精度の良い出力情報を生成するコンピュータ装置の実現が容易となる。
【図面の簡単な説明】
【0025】
【
図1】本技術の実施の形態のセンシングシステムの説明図である。
【
図2】圃場におけるロウ及び撮像範囲の説明図である。
【
図3】実施の形態の情報処理装置のハードウエア構成のブロック図である。
【
図4】実施の形態の情報処理装置の機能構成の説明図である。
【
図5】実施の形態の情報処理装置の一連の処理を示すフローチャートである。
【
図6】第1の実施の形態の処理例のフローチャートである。
【
図7】実施の形態の作物らしさを示す画像の説明図である。
【
図9】実施の形態のロウ候補の直線のプロジェクション計算の説明図である。
【
図10】実施の形態のロウ上の作物箇所の検出の説明図である。
【
図11】実施の形態のロウ候補の絞り込みの説明図である。
【
図12】第2の実施の形態の処理例のフローチャートである。
【
図13】第2の実施の形態の欠落箇所の説明図である。
【
図14】第3の実施の形態のロウの有効範囲の説明図である。
【
図15】第3の実施の形態の処理例のフローチャートである。
【
図16】第4の実施の形態の処理例のフローチャートである。
【
図17】第5の実施の形態の処理例のフローチャートである。
【
図18】第5の実施の形態の他の処理例のフローチャートである。
【
図19】第6の実施の形態の処理例のフローチャートである。
【
図20】第7の実施の形態の処理例のフローチャートである。
【
図21】第8の実施の形態の処理例のフローチャートである。
【
図22】第9の実施の形態のダブルと呼ばれる状態の説明図である。
【
図23】第9の実施の形態の処理例のフローチャートである。
【
図24】第9の実施の形態のダブルの表示例の説明図である。
【
図25】第9の実施の形態の他の処理例のフローチャートである。
【
図26】第10の実施の形態の処理例のフローチャートである。
【
図27】第10の実施の形態のユーザインタフェース例の説明図である。
【発明を実施するための形態】
【0026】
以下、実施の形態を次の順序で説明する。
<1.センシングシステムの構成>
<2.情報処理装置の構成>
<3.情報処理装置の処理>
<4.第1の実施の形態>
<5.第2の実施の形態>
<6.第3の実施の形態>
<7.第4の実施の形態>
<8.第5の実施の形態>
<9.第6の実施の形態>
<10.第7の実施の形態>
<11.第8の実施の形態>
<12.第9の実施の形態>
<13.第10の実施の形態>
<14.まとめ及び変形例>
【0027】
<1.センシングシステムの構成>
まず実施の形態のセンシングシステムについて説明する。
図1はセンシングシステムを構成する情報処理装置1と、例えばドローンのような小型の飛行体200に搭載された撮像装置220を示している。
【0028】
飛行体200は、例えば操作者の無線操縦、或いは自動操縦等により、圃場300の上空を移動することができる。
飛行体200には撮像装置220が例えば下方を撮像するようにセットされている。飛行体200が、所定の経路で圃場300の上空を移動する際に、撮像装置220は例えば定期的に静止画撮像を行う。
【0029】
なお、飛行体200が比較的低空(例えば高度10mから20m程度など)で飛行することで、1枚の撮像画像は、圃場300の一部が写るものとなる。
短時間間隔で静止画撮像を行うことで、撮像した各画像のスティッチ処理を行って、圃場全体を映し出した合成画像を得ることもできる。しかし本実施の形態のセンシングの場合は、必ずしもそのようなことは必要なく、例えば圃場300において離散的な領域が、センシングのサンプルとして撮像されて複数の画像データが得られればよい。
【0030】
飛行体200に搭載される撮像装置220は、可視光イメージセンサ(R(赤)、G(緑)、B(青)の可視光を撮像するイメージセンサ)、NIR(Near Infra Red:近赤外域)画像撮像用のカメラ、複数の波長帯の画像撮像を行うマルチスペクトラムカメラ(Multi Spectrum Camera)、ハイパースペクトラムカメラ、フーリエ変換赤外分光光度計(FTIR:Fourier Transform Infrared Spectroscopy)、赤外線センサなどが想定される。もちろん複数種類のカメラ(センサ)が飛行体200に搭載されてもよい。
マルチスペクトラムカメラとしては、例えばNIR画像とR(赤)画像の撮像を行うもので、得られる画像からNDVI(Normalized Difference Vegetation Index)が算出できるものが用いられることも想定される。NDVIとは植物らしさを表す植生指数であり、植生の分布状況や活性度を示す指標とすることができる。
NDVIはR画像とNIR画像から求めることができる。即ちNDVIの値は、
NDVI=(NIR-R)/(NIR+R)
として求められる。
【0031】
撮像装置220で撮像されて得られる画像には、タグ情報が付加されている。タグ情報には撮像日時情報や、GPS(Global Positioning System)データとしての位置情報(緯度/経度情報)、撮像時の飛行体200の飛行高度の情報、撮像装置情報(カメラの個体識別情報や機種情報等)、各画像データの情報(画サイズ、波長、撮像パラメータ等の情報)などが含まれている。
【0032】
このような飛行体200に装着された撮像装置220により撮像された画像データやタグ情報は情報処理装置1に取得される。
例えば撮像装置220と情報処理装置1の無線通信やネットワーク通信などにより画像データやタグ情報が受け渡される。ネットワークとしては例えばインターネット、ホームネットワーク、LAN(Local Area Network)等、衛星通信網、その他の各種のネットワークが想定される。
或いは撮像装置220に装着されていた記録媒体(例えばメモリカードなど)が情報処理装置1側で読み取られるなどの態様で画像データやタグ情報が情報処理装置1に受け渡される。
【0033】
情報処理装置1は画像データやタグ情報を用いて、圃場300を計測対象とした分析情報を生成する。また分析結果をユーザに対して、画像として提示する処理を行う。
具体的には、画像データに写された作物のカウント等を行い、それに基づいて、例えば作物数、単位面積あたりの作物数、予測収穫量、作物割合など、圃場の管理に用いることができる情報を生成し、ユーザに提示することができる。
【0034】
情報処理装置1は、例えばPC(Personal Computer)やFPGA(Field-Programmable Gate Array)、或いはスマートフォンやタブレットなどの端末装置などとして実現される。
なお、
図1では情報処理装置1は撮像装置220とは別体のものとしているが、例えば撮像装置220を含むユニット内に情報処理装置1となる演算装置(マイクロコンピュータ等)を設けてもよい。
【0035】
ここで本実施の形態のセンシングシステムの場合、特に画像データ上で圃場300における「ロウ」とされる箇所を自動的に決定し、その決定に基づいて作付けされた作物のカウントを行う。
ロウとは、作物が作付けされたラインのことであり、例えば圃場300において種植えのために形成される畝もロウの一種である。また特に畝のように土を盛り上げた状態としたものに限らず、平地に種を蒔いていったときに形成されるラインもロウである。例えばトラクター(播種機)で種まきをしたときに形成される、植え付けのラインがロウと呼ばれる。
【0036】
図2Aには、圃場300に形成されたロウ301を模式的に示している。例えば種まきから日にちが立つことで、種が発芽して、図示のように作物の葉が並んでいるラインがロウ301となる。
本実施の形態の場合、飛行体200が移動しながら撮像装置220によって圃場300が撮像されていくが、適宜タイミングで例えば図中の撮像範囲SP1、SP2のように、各所が撮像されることになる。例えば1フレームの静止画撮像画像として撮像範囲SP1の画像データや、撮像範囲SP2の画像データが撮像装置220によって得られていき、これらが情報処理装置1に取り込まれる。
【0037】
なお、
図2Aは直線状のロウ301を示しているが、ロウ301は、必ずしも常に直線とは限らない。直線状のロウ301が圃場300の端などで曲がる場合がある。また圃場300の形状や種まきの際の経路、障害物などにより、ロウ301は一部がカーブする場合もあるし、例えばスパイラル状、同心円状にロウ301が形成される場合もある。
図2Bでは、このようにロウ301がカーブする状態を示している。
【0038】
<2.情報処理装置の構成>
以上のセンシングシステムにおいて撮像装置220からの画像データを取得して処理を行う情報処理装置1について説明する。
【0039】
図3は情報処理装置1のハードウエア構成を示している。情報処理装置1は、CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53を有して構成される。
CPU51は、ROM52に記憶されているプログラム、または記憶部59からRAM53にロードされたプログラムに従って各種の処理を実行する。RAM53にはまた、CPU51が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU51、ROM52、およびRAM53は、バス54を介して相互に接続されている。このバス54にはまた、入出力インタフェース55も接続されている。
【0040】
入出力インタフェース55には、液晶パネル或いは有機EL(Electroluminescence)パネルなどよりなる表示部56、キーボード、マウスなどよりなる入力部57、スピーカ58、記憶部59、通信部60などが接続可能である。
【0041】
表示部56は情報処理装置1と一体でも良いし別体の機器でもよい。
表示部56では、CPU51の指示に基づいて表示画面上に撮像画像や各種の計算結果等の表示が行われる。また表示部56はCPU51の指示に基づいて、各種操作メニュー、アイコン、メッセージ等、即ちGUI(Graphical User Interface)としての表示を行う。
【0042】
入力部57は、情報処理装置1を使用するユーザが用いる入力デバイスを意味する。
例えば入力部57としては、キーボード、マウス、キー、ダイヤル、タッチパネル、タッチパッド、リモートコントローラ等の各種の操作子や操作デバイスが想定される。
入力部57によりユーザの操作が検知され、入力された操作に応じた信号はCPU51によって解釈される。
【0043】
記憶部59は例えばHDD(Hard Disk Drive)や固体メモリなどの記憶媒体より構成される。記憶部59には、例えば撮像装置220により撮像された画像データやタグ情報、その他の各種情報が記憶される。また各種処理のためのプログラムデータの格納にも記憶部59は用いられる。
【0044】
通信部60は、インターネットを含むネットワークを介しての通信処理や、周辺各部の機器との間の通信を行う。
この通信部60は例えば撮像装置220との通信を行う通信デバイスとされる場合もある。
【0045】
入出力インタフェース55にはまた、必要に応じてドライブ61が接続され、メモリカード等のストレージデバイス62が装着され、データの書込や読出が行われる。
例えばストレージデバイス62から読み出されたコンピュータプログラムが、必要に応じて記憶部59にインストールされたり、CPU51で処理したデータが記憶されたりする。もちろんドライブ61は、磁気ディスク、光ディスク、光磁気ディスク等のリムーバブル記憶媒体に対する記録再生ドライブとされてもよい。これら磁気ディスク、光ディスク、光磁気ディスク等もストレージデバイス62の一態様である。
【0046】
なお、実施の形態の情報処理装置1は、
図3のようなハードウエア構成の情報処理装置(コンピュータ装置)1が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN等によりシステム化されていてもよいし、インターネット等を利用したVPN(Virtual Private Network)等により遠隔地に配置されたものでもよい。複数のコンピュータ装置には、クラウドコンピューティングサービスによって利用可能なコンピュータ装置が含まれてもよい。
またこの
図3の情報処理装置1は、据え置き型、ノート型等のパーソナルコンピュータ、タブレット端末やスマートフォン等の携帯端末として実現できる。さらには情報処理装置1としての機能を有する測定装置、テレビジョン装置、モニタ装置、撮像装置、設備管理装置等の電子機器でも、本実施の形態の情報処理装置1を搭載することができる。
【0047】
例えばこのようなハードウエア構成の情報処理装置1では、CPU51による演算機能や、ROM52、RAM53、記憶部59による記憶機能、通信部60やドライブ61によるデータ取得機能、表示部56などによる出力機能を有し、インストールされたソフトウエアが機能することで、
図4のような機能構成を備えるようにされる。
【0048】
即ち情報処理装置1には
図4に示す画像取得部2、ロウ決定部4、出力情報生成部5、ユーザインタフェース制御部6(以下「ユーザインタフェース」を「UI」と表記する)、記録制御部7が設けられる。
これらの処理機能はCPU51で起動されるソフトウエアにより実現される。
そのソフトウエアを構成するプログラムは、ネットワークからダウンロードされたり、ストレージデバイス62(例えばリムーバブル記憶媒体)から読み出されたりして
図3の情報処理装置1にインストールされる。或いはそのプログラムが記憶部59等に予め記憶されていてもよい。そしてCPU51において当該プログラムが起動されることで、上記各部の機能が発現する。
また各機能の演算経過や結果の記憶は、例えばRAM53の記憶領域や記憶部59の記憶領域を用いて実現される。
【0049】
画像取得部2は、処理対象としての画像データ及び画像データに付随するタグ情報を取得する機能である。例えば撮像装置220で撮像された画像データは、記憶部59などに保存されるが、CPU51が特定の画像データを読み出して、計算処理の対象とする。
【0050】
ロウ決定部4は、圃場300を撮像した画像データ、即ち画像取得部2が処理対象とした画像データ内で作物検出を行い、その画像データ内でロウ301(即ち画像上でロウ301が写されている部分)を作物検出の結果に基づいて決定する処理機能である。
【0051】
出力情報生成部5は、圃場300の状態を示す情報を生成する演算を行う機能である。
例えば出力情報生成部5は、画像データに写されている作物のカウントや、作物のカウント数に基づいて単位面積(例えば1エーカーなど)あたりの作物数、予測収穫量、作物割合などの計算を行う。
【0052】
UI制御部6は、例えば表示部56の表示制御や、入力部57により入力される操作情報の取得処理などを行う機能である。即ちUI制御部6は、画像や出力情報生成部5により算出された情報の提示や、ユーザ操作の認識などを行う。
【0053】
記録制御部7は、出力情報生成部5により算出された情報などの記憶部59への保存の制御を行う機能である。
【0054】
なお、出力情報生成部5により算出された作物数、予測収穫量、作物割合などの情報は、記憶部59へ保存されるほか、通信部60により外部機器に送信されるようにしてもよい。その意味で情報処理装置1は、図示していないが、出力情報生成部5が算出した出力情報を送信する通信制御部としての機能を備えてもよい。
【0055】
<3.情報処理装置の処理>
情報処理装置1の基本的な処理例を、
図5を参照して説明する。
図5は、CPU51が処理対象とした画像データに対して必要な演算処理を行い、出力情報を生成して出力するまでの一連の処理を示している。この処理はCPU51が
図4に示した機能を備えることで実現される。即ちステップS50は画像取得部2、ステップS100からステップS130はロウ決定部4、ステップS140は出力情報生成部5、ステップS150はUI制御部6(又は記録制御部7、又は不図示の通信制御部)の機能による処理となる。
【0056】
CPU51はステップS50で処理対象の画像データを特定する。
ステップS100でCPU51は、処理対象とした画像データについて、画像内で作物らしい領域の検出を行う。
ステップS110でCPU51は、画像内でロウと推定される箇所をロウ候補として検出する。このロウ候補の検出は、ステップS100で検出した作物らしい領域の検出結果を用いて行うことになる。
【0057】
ステップS120でCPU51は、ロウ候補における作物の検出を行う。この場合、作物を検出して間隔を判定するものとなる。
ステップS130でCPU51は、画像内におけるロウを決定する。
【0058】
ステップS140でCPU51は、出力情報を算出する処理を行う。例えば画像内の作物数、単位面積あたりの作物数、作物割合、予測収穫量などを算出する。
ステップS150でCPU51は、算出した出力情報を出力する処理を行う。例えば出力情報を表示部56で表示させたり、記憶部59やストレージデバイス62に記録させたり、通信部60により外部機器に送信させたりする処理である。
【0059】
この
図5のような一連の処理の具体例を、第1から第10の実施の形態として以下説明していく。
なお各実施の形態の処理の説明では、記述の処理と同様の処理は同一のステップ番号を付し、重複した説明を避ける。
【0060】
<4.第1の実施の形態>
図5の処理の具体的な例として
図6の処理例を説明する。これは、
図5のステップS120、S140の処理の詳細な例を示すものである。また各ステップS50、S100、S110、S130、S150の各処理についても詳述する。
【0061】
ステップS50でCPU51は、は飛行体200に搭載された撮像装置220で空撮された画像データの1つを処理対象として特定する。この場合の画像データは、RGB(赤、緑、青)カメラによるカラー画像データでもよいし、IR(近赤外)データ及びR(赤)データとしての画像データでもよい。またIR(近赤外)データ及びR(赤)データから求められる上述したNDVI画像データであってもよい。
【0062】
ステップS100でCPU51は、これらの画像データについて、画像内で作物らしい領域の検出を行う。
例えばRGBカメラで撮像した画像を用いる場合の検出手法としてG画素検出を説明する。
作物は主に葉で構成され、葉は一般的に、緑色をしているので、RGBのカラー画像から緑色の領域を検出する。緑色の領域の検出については、例えば、画像中のある画素におけるRGBの各成分を比較して、G(緑)が一番高い画素のみを検出すればよい。
あるいは、RGBをHSVなどの明度、彩度、色相の空間に変換する。そして、色相値の緑色にある幅を持った領域を設けることによって、領域内の色相を持つ画素を検出してもよい。
【0063】
次に、近赤外と赤を撮像した画像を用いる場合の検出手法としてNDVI画像に対する閾値検出について説明する。
作物(植物)の分布を示す指数であるNDVIは近赤外と赤から計算され、±1の値域をとり、作物はNDVI値が高く、土壌などはNDVIが低い。そのためIRデータとRデータからNDVI画像を作成し、閾値処理によって作物らしい画素を検出する。
なお既にNDVI画像が存在する場合は、上述のようにステップS50でNDVI画像を取得し、ステップS100では、閾値処理によって作物らしい画素を検出すればよい。
【0064】
以上のいずれかの処理のみで作物らしい領域を検出してもよいが、上記の2つの処理(G画素検出、NDVI画像に対する閾値検出)を、入力画像の持つ情報の種類に合わせて選択し、作物らしい領域の検出を行うようにしてもよい。
【0065】
例えば
図7Aのような画像が処理対象として入力された場合を考える。
図7Aの画像は、作物310がロウ上に並んで植えられている画像であるが、いくつか欠落(作物310があるべきなのに存在しない箇所)があり、また、雑草315のような、作物以外の植物がロウ以外の箇所に存在する画像である。
【0066】
そして、上述のG画素検出、又はNDVI画像に対する閾値検出として得られる、作物らしい領域の検出結果は、
図7Bのように、入力された画像と同じサイズの画像に、画素毎に作物らしい(白)、もしくは、作物らしくない(黒)、の2値で表現されたものとなる。白画素部分は、植物が写っているとされる画素領域であるが、この場合、作物310だけでなく雑草315の部分も作物らしい領域とされる。
【0067】
なお、このような結果を得るための上記の閾値を1つではなく複数設定してもよい。
例えば、NDVI値についての閾値を2つ設定し、「作物らしい」もしくは「作物らしくない」の2種類に加えて、「作物かそれ以外かは不明」の3値にしてもよい。
【0068】
また、ロウは実際には視認できるラインが存在するわけではないため、
図7Aのような画像には表れないが、この場合は、作物310が図の上下方向に並ぶラインがロウである。もちろんロウは畝などにより物理的に視認できる場合もある。
CPU51は、以降、画像内でロウを探索する処理を行うことになる。
【0069】
ステップS110でCPU51はロウ候補の検出を行う。
ロウは一般的には直線であるので、画像内の作物310の並びの直線を検出する。直線の検出には、ハフ変換やRANSAC(Random Sample Consensus)などを用いる。
上記した作物らしい画素(
図7Bの白画素部分)を通る直線をロウ候補として検出する。ロウの本数や方向は未知であるので、ここでは、
図8の破線K1から破線K7のように画像内でロウらしい直線をすべてロウ候補として検出しておく。
【0070】
次にCPU51はステップS121で、作物サイズを算出する。
まず、あるロウ候補の直線について、直線付近にある作物らしい画素を直線に沿ってプロジェクションを行う。具体的には、ロウ候補の直線に平行な任意の直線を仮定し、その直線上にある作物らしい画素の数をカウントする。これによって、ロウ候補の直線に垂直な方向に対する作物らしい画素の分布を得ることができる。
図9に、
図8の左端の破線K1で示すロウ候補の直線のプロジェクションを計算した例を示す。ロウ候補の直線は作物らしい画素を通るように検出されているので、この分布は、中央付近で最も高くなり、中央から離れていくにつれて下がっていく。そして、この分布に対して、ある閾値thSを設定し、閾値以上となる幅WSを作物サイズとして推定する。閾値thSとしては、例えば中央値の半分とすることが考えられる。
【0071】
このような処理をすべてのロウ候補の直線(破線K1から破線K7)に対して行い、作物サイズを算出(推定)する。
同じ時期に作付けされた作物は、ほぼ同じ大きさであると考えられるので、算出したすべてのロウ候補の作物サイズの平均値、中央値などの値を作物サイズSSとして決定する。
あるいは、任意のロウ候補の直線付近にある作物らしい画素のプロジェクションをすべて合計して、閾値処理によって、一意に作物サイズSSを決定してもよい。
【0072】
次にCPU51はステップS122で、ロウ上の作物箇所を検出する。
この場合、まず算出した作物サイズに応じて、ロウ上に参照領域RAを設定する。
図10Aに参照領域RAの例を示している。参照領域RAは、例えば、作物サイズSSを直径とした円領域でもよいし、作物サイズSSを1辺とした正方形領域でもよい。もちろん他の形状でもよい。
この参照領域RAをロウ候補の直線(
図10Cの破線K1から破線K7)に沿って動かしながら順次、作物箇所を決定していく。例えば
図10Bのように参照領域RAを破線K1に沿って動かしながら、それぞれの参照領域RAの箇所が作物箇所であるか否かを判定する。例えば参照領域RA内の作物らしい画素数をカウントして、カウント数が或る閾値thC以上の場合には、参照領域RAの位置を作物箇所CSとして決定する。この場合の閾値thCは、例えば、参照領域RAの面積の半分や2/3などに設定すればよい。
図10Cにロウ候補上の作物箇所CSを検出した例を示している。
【0073】
次にCPU51はステップS123で、ロウ上での作物間隔を決定する。入力された処理対象の画像において、任意のロウ上で作物は等間隔に作付けされていると考えられる場合、画像上での作物間隔を決定する。
まず、任意のロウ候補の直線において、上記した処理で検出された作物箇所CSについて、隣にある作物箇所までの距離を計算する。すべての作物箇所CSにおいて、隣の作物箇所CSまでの距離を計算し、その平均値あるいは中央値などを、処理対象の画像における作物間隔として決定する。
【0074】
次にCPU51はステップS124で、ロウ候補(破線K1から破線K7)のそれぞれについての確からしさを計算する。
正しいロウ上には、作物が均等に植えられているので、算出した作物間隔を用いて、正しい作物間隔で作付けされた作物の組の数をカウントする。
「作物の組」とは、隣り合う2つの作物のことであり、この場合の処理上では、隣り合う2つの作物箇所CSのことに相当する。つまり正しい作物間隔となっている、2つの作物箇所CSの組の数をカウントする。
作物間隔が正しいかどうかの判定は、作物間の距離が上記した作物間隔に対して誤差範囲内であるとする。ここでの誤差範囲とは例えば20%などを予め設定しておく。
【0075】
例えば
図11Aには、4つの作物箇所CSを示しており、この場合、「作物の組」としては3つの組GP1,GP2,GP3が存在する。ここで各組GP1,GP2,GP3の作物間隔が距離BT1,BT2,BT3としたときに、距離BT1,BT2は正しい作物間隔、距離BT3は正しくない作物間隔であるとしたら、正しい作物間隔となっている作物の組の数は「2」となる。
このようにCPU51は、正しい作物間隔で作付けされた作物の組みの数を、各ロウ候補について算出し、その値をロウ候補の確からしさの値として設定する。そしてその値が大きい方がロウらしいと定義する。
【0076】
次にCPU51はステップS130で、ロウ候補のうちで正しいロウを決定する。例えば次の(P1)から(P3)の手順の処理を行う。
【0077】
(P1) ロウは基本的には交差しないので、交差している2本のロウ候補を探し、2本のロウ候補の内、確からしさが低い方のロウ候補を削除する。
これを交差するロウ候補が無くなるまで繰り返す。
【0078】
(P2) 上記(P1)の処理で残された各ロウ候補の線の傾きを算出し、その平均値あるいは中央値などを画像全体のロウの傾きとして求める。各ロウは平行に配置されているので、求めたロウの傾きから許容範囲以上にズレた傾きとなっているロウ候補を削除する。なおズレの許容範囲は、例えば角度差が10度以内などとして予め設定しておく。
【0079】
(P3) 絞り込まれたロウ候補の間隔の平均値あるいは中央値から、ロウ間隔を算出する。そして、上記(P1)(P2)の処理で残された各ロウ候補のうちで、算出したロウ間隔と比べて近い間隔(例えばロウ間隔の80%以下など)となっているロウ候補を、確からしさが低いロウ候補であるとして削除する。
【0080】
このような処理により、例えば
図11Bのように、破線K1,K2,K3,K4で示すロウ候補が確からしいロウ候補として残る。この場合、交差したロウ候補が除去されただけでなく、雑草などによって検出された誤ったロウ候補も除去されることになる。
CPU51はこれらの残ったロウ候補を、画像上におけるロウであると決定する。
【0081】
CPU51はステップS141で、ロウとして決定した直線上にある作物箇所CSの数を集計し、処理対象の画像内の作物数とする。
ロウを検出しているため、雑草などのロウ外もランダムに生えている植物と、ロウ上に生えている作物と区別することができため、作物数のカウントを精度よく実行できることになる。
【0082】
ステップS150でCPU51は、集計した作物数を出力情報として出力する処理を行う。例えばCPU51は、作物数の情報を表示部56で表示させたり、記憶部59やストレージデバイス62に記録させたり、通信部60により外部機器に送信させたりする処理を行う。
またCPU51は、ロウの数や位置、作物箇所CSなど、作物数を計算するまでに求められている情報を補助情報として出力してもよい。
【0083】
なお、以上の作物数のカウントは、処理対象の画像データに写されている作物数のカウントとなり、従って撮像範囲の面積によって全体数が変動してしまう。例えば飛行体200の高度や撮像装置220の画角などにより大きく変動する。
そこでカウントした作物数を、単位面積あたりの作物数に換算することも有効である。例えば画像データとともに取得したタグ情報から、撮像時の飛行高度や画角の値を取得し、処理対象の画像データの撮像範囲の面積を算出する。そして算出した撮像範囲の面積と、単位面積(例えば1エーカーなど)との比を求め、比に相当する係数をカウント数に乗算することで、単位面積あたりの作物数を求めることができる。ステップS150でCPU51は、この単位面積あたりの作物数の情報を出力するようにしてもよい。
【0084】
<5.第2の実施の形態>
上記の第1の実施の形態では画像内の作物数を出力情報とすることを述べたが、作物数は撮像範囲の面積に依存するので扱いにくい場合がある。
そこで、撮像範囲の面積に依存しない、作物割合を算出する。ここでいう作物割合とは、作付けが一定のルールで行われる場合(例えば、ロウ間の幅は等間隔、ロウ上の作物間隔は等間隔など)、理想的な作付け数と実際の作付け数の比で表される。例えば、
作物割合=(実際の作付け数)/(理想的な作付け数)
とすることができる。従って発芽率と言い換えることもできる。
第1の実施の形態で検出した作物数は、実際の作付け数(発芽した数)であるので、作物割合を求めるためには、理想的な作付け数を求める必要がある。
【0085】
理想的な作付け数は、ロウ間の幅とロウ上の作物間隔が分かれば計算することができる。
図5のステップS120で
図6のステップS121からステップS123の処理を行うとすると、作物間隔を計算しているので、例えば
図5のステップS140として作物割合を計算する場合、理想的な作付け数の計算のために、既に求めた作物間隔の値を利用できる。
理想的な作付け数とは、ロウ上の作物間隔毎の箇所の全てに作物が観測される状態であるため、画像上で、作物間隔毎の箇所の数をカウントすれば、それが理想的な作付け数となる。この理想的な作付け数に対して実際にカウントした作物の数が作物割合となり、例えば「何%の出来」などとしての作物割合を求めることができる。
【0086】
但し、ロウ間の幅と作物間隔に誤差があった場合、理想的な作付け数はこれら2つの値を積算して求めるので誤差の影響が大きくなる。そこで、誤差の影響を減らすために
図12に示す手順で作物割合を算出してもよい。
図12の処理は例えばステップS140においてCPU51が出力情報算出の一つとして実行する処理である。
【0087】
まずステップS142でCPU51は作物の欠落箇所を検出する。
理想的な作付け数は、検出された実際の作物数に、本来は作物があるはずの位置に作物がない欠落箇所の数を加えればよい。欠落箇所の数を次のようにして求める。
【0088】
ロウ上で隣り合う作物の間隔が、第1の実施の形態で説明したような画像処理によって計算した作物間隔よりも十分に長い場合、その間に、欠落箇所があると考えられる。そこで、隣り合う作物の間隔を「d」、計算した作物間隔を「D」とすると、欠落箇所の数nは次式で表される。
n=(d-(d%D))/D-1 (1)
【0089】
演算子“%”は、a%bでaをbで割った余りを計算するとする。式(1)を用いると、隣り合う作物の間隔が計算した作物間隔の2倍であるとき、n=1となり、1つの欠落箇所があると計算される。
また、ロウのラインの画像上の端部では、隣り合う作物の間隔が定義できないので、ロウと画像端の交点に仮の作物を配置し、仮の作物と隣り合う作物の間隔を求め、式(1)を用いて欠落箇所の総数を算出する。
図13に処理対象の画像上で検出される欠落箇所FPを示している。
【0090】
CPU51は
図12のステップS143で、処理対象の画像データ内の全てのロウ上の欠落箇所FPの数を総計する。
欠落箇所FPの数(N)と作物数(P)が分かったことにより理想的な作付け数はP+Nとして求められる。
そしてCPU51は、ステップS144で作物割合Rを次式で求めることができる。
R=P/(P+N)×100[%] (2)
【0091】
CPU51はステップS140で、このような作物割合Rを出力情報の一つとして算出し、ステップS150で出力する。
【0092】
<6.第3の実施の形態>
第3の実施の形態として、作付けの有効面積を求める手法について述べる。
ロウ間が等間隔で配置されている場合、任意のロウに対して、ロウ間の半分の距離を基準にしてロウの有効範囲を示すことができる。例えば、
図14では処理対象の画像データにおける画像上で、破線K1,K2,K3,K4で示すロウの中心ラインから、ロウ間の半分の距離内に含まれる範囲に斜線を付し、斜線部とならない部分を黒塗りとしている。この黒塗りの部分は、作付けが行われない領域と考えることができる。
【0093】
そこでCPU51はステップS140の出力情報の算出の際に、その一つの処理として
図15のような処理を行うことが考えられる。
ステップS145でCPU51は、ロウ間の距離を算出する。先に
図6のステップS130で処理(P3)として説明したようにロウ間隔を算出していれば、それを用いればよい。
【0094】
ステップS146でCPU51はロウの有効範囲を特定する。例えばロウの中心ラインから、ロウ間の半分の距離内に含まれる部分を有効範囲とする。即ち
図14の斜線を付した部分である。
ステップS147でCPU51は作付けの有効面積を算出する。これは、黒塗り部分を除いた有効範囲の面積を求めることになる。
【0095】
CPU51は、このように求めた作付けの有効面積を、出力情報の一つとして算出し、ステップS150で出力する。
この作付けの有効面積は、ロウの間で作付けが行われない部分を除いた面積となり、例えば作物数などの情報とともに出力することで、圃場管理に有用な情報となる。
【0096】
また、撮像環境、具体的には、撮像時の高度、カメラの画角、カメラの撮像角度などがタグ情報から取得できれば、農地を平面とした場合の撮像面積を算出することができる。この撮像面積とロウの有効範囲から、作物面積を算出することもできる。
以上の手法は、画像内に畑以外の領域、例えば、あぜ道、用水路などが写っているときに正しい作物面積を求めるために用いることが好適である。
【0097】
<7.第4の実施の形態>
第4の実施の形態は、非直線のロウにも対応可能とする例である。
第1の実施の形態では、ロウ候補を直線で算出する例を述べたが、ロウは必ずしも直線であるとは限らない。特に農地の端では、ロウは農地の周囲の形状に沿って曲げられることがある。例えば
図2Bのようなロウ301も存在する。そこで曲線部分を有する曲がったロウも検出できるようにすることが望ましい。
【0098】
曲がったロウを検出するには曲線を検出すればよい。曲線の検出は、第1の実施の形態で挙げた、ハフ変換やRANSACでも可能である。しかしながら、直線であれは求めるパラメータは傾きと切片の2つだけであるのに対して、2次曲線だとパラメータは3つ、3次曲線だとパラメータは4つと増えていき、ハフ変換やRANSACでは探索するパラメータの次元が増えることで処理時間が膨大になってしまう。
【0099】
そこで、画像を分割し、分割した画像毎に第1の実施の形態で述べたロウの検出を行う。
図16に処理手順を示す。CPU51は
図5、
図6のステップS110において
図16の処理を行うようにする。
ステップS111でCPU51は意匠の画像データについて複数の領域に分割する。分割数は任意であるが、例えば方形の画像を方形に4分割、9分割、16分割、32分割、64分割などが考えられる。
【0100】
ステップS112でCPU51は、分割した領域毎に、作物らしい領域の並びとしての直線を検出する、即ち短い直線で近似することで、領域内でロウの可能性のある直線を求める。
【0101】
ステップS113でCPU51は、各領域で検出された直線を、元の画像での前後左右関係を合致させた状態で結合する。即ち各領域で近似して見つけた短い直線をつなげることで、曲線を表現する。分割した画像間での直線の連結については、分割した画像端同士での直線の位置が近いもの同士を対応付けすることで行う。
【0102】
ステップS114でCPU51は、連結したラインをロウ候補として設定する。例えばカーブの部分が短い直線の線分の結合で表現されたロウ候補が設定できることになる。このように設定されたロウ候補に対して、
図5のステップS120(
図6のステップS121からステップS124)の処理を経て、ステップS130でロウを決定する。
【0103】
以上の処理で、比較的容易な処理で、曲線を含むロウの検出もできる。
なお、以上の手法の場合、カーブが多い場合やカーブの曲率が大きい場合などは、画像の分割数が多いほうが、正確なロウのプロットに有利となる。従って、センシングする圃場300のロウの状態に応じて適切な処理を行うために、画像の分割数を変更できるようにすることも考えられる。
【0104】
また画像の分割は画像を単純に切り取っても良いが、分割画像をオーバーラップさせながら切り取ってもよい。オーバーラップさせた場合の直線の連結は、画像端での距離ではなくオーバーラップしている領域内での直線間の距離を用いればよい。
また、検出した複数の直線で構成されているロウを、ロウ上の作物位置から、最小二乗近似で近似曲線を算出してもよい。
【0105】
<8.第5の実施の形態>
第5の実施の形態は圃場300のマップ情報を利用する例である。
第1の実施の形態では画像全体の作物を検出していたが、画像を撮像した際の撮像装置220の位置(飛行体200の位置)と、農家が持っている圃場300の有効区域のマップを重ね合わせて、畑の有効領域を求めて置き、その有能領域のみでロウや作物の検出を行うようにする。
【0106】
図17や
図18のような処理例が考えられる。
図17の処理では、CPU51はステップS301でマップ情報を取得する。
ステップS302でCPU51は、取得していた複数の画像データのそれぞれについて、位置情報や画角、撮像角度などの情報から撮像範囲を求め、マップ上にプロットする。ここでいう複数の画像データとは、例えば1回のフライトで飛行体200を移動させながら定期的に撮像することで得られた各画像データのことである。即ちセンシングのためのサンプルとした画像である。
【0107】
CPU51はステップS303で、マップにより判定できる有効範囲内の画像データのみを抽出する。抽出した画像データは
図5,
図6等において処理対象の画像データとなりうるものとする。
【0108】
即ちマップ情報上で、サンプルとされた複数の画像データの撮像範囲をプロットすることで、例えば撮像範囲があぜ道や圃場外などのロウが存在しない場所となっている画像データを判別することができる。そのような画像データを、作物カウントのための処理対象とならないようにするものである。
【0109】
図18は、例えば
図5のステップS140の処理に適用できる例である。特には作付けの有効面積を求める場合に用いる処理とすることができる。
例えばCPU51は1枚の処理対象の画像について、
図5のステップS130までの処理を行い、ステップS140で出力情報を算出する処理を行っているとする。この際に、
図18の処理も行って、作付けの有効面積を求める。
【0110】
CPU51はステップS1401で、マップ情報を取得する。
ステップS1402でCPU51は、マップ情報に現在処理対象としている画像データを重ね合わせる。即ち画像データの撮像範囲をマップ上に投影するような処理である。
【0111】
ステップS1403でCPU51は、ロウの有効範囲を特定する。これは撮像範囲のうちで、ロウが形成されている範囲を特定するものとなる。例えばマップ上で、あぜ道や圃場300の外となっている領域を除外して、ロウが形成されている範囲を特定する。
【0112】
ステップS1404でCPU51は、作付けの有効面積を算出する。つまり当該処理対象としている画像データ内におけるロウの有効範囲のみが、当該画像における作付けの有効面積となる。
このように求めた有効範囲は、第3の実施の形態で述べた有効面積として用いることができる。
【0113】
<9.第6の実施の形態>
第1の実施の形態では、1枚の画像データ上の作物数を求めていた。これを複数の画像データでの処理結果の平均値あるいは中央値などを用いて、作物数などの値の信頼度を上げてもよい。
ここでいう複数枚とは、飛行体200に搭載された撮像装置220で、移動しながら撮像した、同じ場所付近ではあるが異なる場所を撮像した画像データでもよいし、同じ場所で日時を変えて撮像した画像データでもよい。
【0114】
図19に処理例を示す。これは例えば
図5のステップS140で行われる処理例の1つである。
ステップS1410でCPU51は、複数の画像データの出力情報を取得する。例えば複数の画像データから算出された作物数、単位面積あたりの作物数、作物割合、などである。
ステップS1411でCPU51は、代表値を算出する。例えば作物数の場合、複数の画像データから算出された作物数の平均値、中央値、或いは重心値などを求め、それを代表値とする。
ステップS1412でCPU51は、求めた代表値を代表出力情報として設定する。
【0115】
例えば所要数の各画像データについて、それぞれ
図5の処理を行う場合に、最後の画像データについての処理の際におけるステップS140でこのような処理を行い、代表出力情報を生成して出力することが考えられる。
【0116】
<10.第7の実施の形態>
第7の実施の形態は他の画像データから求めた情報を利用する例である。
例えば
図6の第1の実施の形態の処理では、作物サイズ、作物間隔、ロウ間隔などを画像データ毎に別々に画像処理によって求めることになる。
一方で、飛行体200で同じ圃場300、あるいは同じ時期、あるいは同じ機材で、複数枚の画像を撮像した場合、作物サイズ、作物間隔、ロウ間隔などはほぼ同じ場合であると考えられる。
そこで、複数枚撮像された画像データの内1枚、あるいは一部の複数枚の画像データから検出した作物サイズやロウ間隔(一部の複数枚の画像を用いた場合は、作物サイズ、作物間隔、ロウ間隔などのそれぞれの平均値、中央値、重心値など)を、その他の画像に適用するとよい。
【0117】
図20に処理例を示す。これは
図6を変形した処理例であり、ステップS51を加えたものである。
CPU51はステップS50で処理対象とする1枚の画像データを特定したら、ステップS51で、既に他の画像データにおいて作物間隔が算出済みであるか否かを確認する。
ここでいう他の画像データとは、例えば同じフライトで撮像された他の画像データなど、同時期の同一圃場300を撮像した画像データである。
【0118】
作物間隔が算出済みであれば、CPU51はステップS124以降に進み、ロウの確からしさを求めてステップS130でロウを決定する。
作物間隔が算出済みでなければ、CPU51はステップS100からステップS123の処理で作物間隔を求めてからステップS124以降に進むようにする。
このような処理により、処理演算の効率化を図ることができる。
【0119】
<11.第8の実施の形態>
第8の実施の形態は、画像データから算出された作物サイズ、作物間隔、ロウ間隔などの値が、何らかの原因で不適切な値となった際に代表値で置き換える例である。
この第8の実施の形態では、第1の実施の形態と同じように、画像データ毎にそれぞれ、
図6の全ての処理を行う。
そして、画像データ毎に検出された作物サイズ、作物間隔、ロウ間隔などの代表値(平均値、中央値、或いは重心値など)を計算し、その値から大きく外れている算出結果が得ている画像データについては、作物サイズ、作物間隔、ロウ間隔の代表値を用いて再処理を行う。
【0120】
図21に処理例を示す。例えばCPU51は、画像データ毎について
図6のステップS50からステップS141までの処理を行う。但しステップS150はその時点では実行しないことが考えられる。
そして全ての画像データについて
図6のステップS50からステップS141までの処理を終えたら、
図21の検証処理を行う。
【0121】
CPU51はステップS400で代表値算出を行う。
この場合、CPU51は各画像データについて得られた作物サイズSSや作物間隔の値を取得し、それらの代表値を算出する。ここで言う全ての画像データとは、処理対象として採用した全ての画像データという意味である。例えば1回のフライトで得られた複数の画像データの全て或いは一部として、一旦
図6の処理で処理対象として採用した画像データの全てという意味である。
【0122】
代表値を求めたら、CPU51はステップS401で、検証対象の1枚の画像データを特定する。
ステップS402でCPU51は、特定した1枚の画像データについて検証処理を行う。具体的には、その画像データにおいて算出された作物サイズSSの値が、作物サイズSSの代表値を基準にして設定した許容範囲内にあるか否かを判定する。またその画像データにおいて算出された作物間隔の値が、作物間隔の代表値を基準にして設定した許容範囲内にあるか否かを判定する。
もちろんロウ間隔が求められている場合は、ロウ間隔についても同様に判定を行ってもよい。
【0123】
判定結果として許容範囲外の値が検出された場合は、CPU51はステップS403からステップS404に進み、その画像データを再処理対象として設定する。
ステップS405では、全ての画像データについて、以上の処理を終えたかを確認し、終えていなければステップS401に戻って、次の画像データの検証を行う。
CPU51は全ての画像データについて以上の検証を終えたら
図21の処理を終了する。
【0124】
CPU51はこのような検証処理のあとで、再処理対象となった画像データについては、
図6のステップS50からステップS141までの処理を再度行う。その際には、許容範囲がとされた作物サイズSSや作物間隔の値は、代表値を適用して処理を行うようにする。
【0125】
再処理対象とならなかった画像データについては、当初の処理で求められた出力情報(例えば作物数、単位面積あたりの作物数、作物割合、予測収穫量など)を、そのまま有効な出力情報とする。再処理対象となった画像データについては、再処理で求められた出力情報を有効な出力情報とする。
このようにすることで、本来、大きな変化がないと考えられる作物サイズや作物間隔、ロウ間隔などが、何らかの原因で大きく変動し、結果として作物数、単位面積あたりの作物数、作物割合などの出力情報に不正確な値が生じてしまうことを防止できる。
【0126】
<12.第9の実施の形態>
第9の実施の形態は、「ダブル」と呼ばれる、非常に近接して植え付けられた作物に対応する例である。
第1の実施の形態では、ロウ上にある作物位置を検出して、作物数を集計した。しかしながら、
図22のように、一部の作物の位置がお互いに非常に近い場合がある。例えばダブル320として示す一対の作物箇所CSで示される作物である。
【0127】
このようなお互いに近い位置に作物がある場合、そのまま成長するとお互いに栄養分や日照を奪い合って、それぞれの作物の収穫量が減ってしまうことがある。そのような事態を避けるためには、位置が近い2つの作物の位置を提示し、対策を促せばよい。
【0128】
そこでCPU51は、例えば
図5のステップS140において
図23の処理を行う。
ステップS1421でCPU51は、配置間隔が所定閾値以下の作物の組を検出する。即ちダブルの状態にある作物の組を検出する。ここで言う所定閾値とは、算出された作物間隔を基準にして、その1/3以下の値など、ダブル320であると判定する適切な値とする。所定閾値はユーザが入力してもよいし、予め設定してもよい。
【0129】
CPU51はステップS1422で、検出したダブル320を提示する情報を生成する。
例えば作物の位置を示す画像として
図24のような画像を生成するが、ダブル320の部分は通常の作物と色を変えたり、マーキングの形を変えたりした画像を生成する。
このような画像が出力情報とされることで、圃場300の管理者は、ダブル320の状態にある作物を容易に認識でき、対処できるようになる。
【0130】
但し、ダブル320の状態を、そのまま放置することもある。その場合は、収穫量の予測に修正を加える必要がある。
そこで例えば
図5のステップS140において
図25の処理を行うようにする。
CPU51はステップS1431で、カウントした作物数Pを取得する。
ステップS1432でCPU51は、配置間隔が所定閾値以下の作物の組を検出する。即ちダブルの状態にある作物の組を検出する。所定閾値は上記
図23の場合と同様である。
そしてステップS1433でCPU51は近接した作物、即ちダブル320とされる作物の数Mを取得する。これは配置間隔が所定閾値以下の作物の組の数の2倍となる(1つの組で2つの作物のため)。
【0131】
ステップS1434でCPU51は予測収穫量の算出を行う。
一般的に、収穫量の予測は(作物数)×(作物一本あたりの平均収穫量)で計算できる。しかしながら、お互いに近い位置の作物については、1より小さい定数(例えば0.7など)を補正計数として掛けて、計算すればよい。具体的には、作物数をP、お互いが近い位置にある作物数をM、作物一本あたりの平均収穫量をK、お互いに近い位置の作物の平均収穫量の補正計数をμとすると、収穫量Hの予測は次の式で行える。
H=K(P-M)+μKM (3)
【0132】
このような処理により、ダブルの状態の作物も考慮した精度のよい予測収穫量の算出が可能となる。
【0133】
<13.第10の実施の形態>
第10の実施の形態は、例えば
図6の処理過程で決定したロウを、UI制御部6の機能により、ユーザが確認でき、また操作できるようにするものである。
図26に処理例を示す。これは
図6の処理にステップS500からステップS503を加えたものである。
【0134】
ステップS130までの処理でロウを決定したら、CPU51はステップS500で、決定したロウをユーザに提示させる処理を行う。
例えば
図27Aのように、画像データ上に決定したロウを示すロウ提示線350を重ねたような提示画像データを生成し、これを表示部56或いは外部装置で表示させる。
そしてステップS501でユーザ操作を待機する。
即ちCPU51は、ユーザが画像上でロウ提示線350を指定したり、その削除やラインの修正等の編集操作を行ったりすることができるようにUI処理を行う。
【0135】
ユーザがロウの編集操作を行った場合、CPU51はステップS502でロウの変更を行う。例えばユーザが、あるロウ提示線350を指定して削除するような操作を行った場合、そのロウを、決定したロウから除外する処理を行い、またそれを提示させる。
例えば
図27Aの画像に対してユーザが右端のカーブしたロウ提示線350を指定して削除する操作を行った場合、CPU51は当該ロウ提示線350に相当する部分をロウではないものとする。また
図27Bのように当該ロウ提示線350を消去した画像を表示部56等によりユーザに提示させる。
ユーザがOK操作を行った場合は、CPU51は、その時点のロウ提示線350で示されるラインのロウとしての決定状態を維持し、ステップS503からステップS141に進む。
【0136】
このような処理を行うことで、ユーザがロウの自動検出の確認を行うことができ、例えば圃場300の状態や作物の種別などにより、ロウ検出の精度が低下したような場合にも対処できる。
【0137】
<14.まとめ及び変形例>
以上の実施の形態によれば次のような効果が得られる。
実施の形態の情報処理装置1は、圃場300を撮像した画像データ内で作物検出を行い、画像データ内で、作物の植え付けが行われたラインであるロウを、作物検出の結果に基づいて決定するロウ決定部4を備えている。
これによりロウを、圃場300を撮像した画像データから自動的に判定できることになる。従って、ロウを特定するためにユーザ入力や、データ転送などの手間が不要となり、例えば圃場の状態をチェックするためのシステムとして、極めて使用性がよいシステムを実現できる。
【0138】
実施の形態では、ロウ決定部4は、作物検出の結果に基づいてロウ候補を検出し、各ロウ候補における作物間隔に基づいてロウとしての確からしさを計算し、確からしさの計算結果に基づいてロウを決定する例を述べた(
図6参照)。
ロウの決定に関し、まずは、作物(植物)が存在する部分は、ロウの候補となり得る。作物の存在を基準とすることで、ロウ(作物の並び)の候補を多数求めることで、或るロウの検出を逃すことを排除できる。そしてロウ候補の中から確からしさを計算することで精度のよいロウ検出が実現できる。特に作物間隔を基準とすることで、確からしさを求めやすい。もちろん、ロウが平行に並ぶことなども考慮すれば、より精度を高めることができる。
そして画像上でロウを精度よく検出することで、雑草などのランダムに生えている植物と作物と区別することもできるようになる。
【0139】
第1の実施の形態で詳述したように、ロウ決定部4は、ロウ候補の上付近にある作物らしい領域の大きさから作物サイズSSを算出し、算出された作物サイズSSからロウ候補上の作物候補を検出し、検出した作物候補の間隔から画像データ上の作物間隔を算出し、決定した作物間隔からロウ候補の確からしさを決定し、決定した確からしさを用いて誤検出と判定したロウ候補を除外する。即ち誤って検出されたロウ候補を除外する。その上でロウを決定する処理を行う。
作物間隔によってロウ候補について確からしさを判定する場合、その作物間隔の精度が高いことも重要となる。実施の形態の処理では、推定された作物サイズからロウ候補上の作物候補を検出している。つまり育成サイズも加味して作物間隔を検出し、それによりロウ候補の確からしさを決定することで、より精度の高いロウの決定が可能になる。
【0140】
第4の実施の形態で述べたように、ロウ決定部4は、画像データ内で、曲線を含むロウの決定を行うようにもする。
即ちロウを直線に限定せず、曲線、或いは一部曲線のロウも検出し、画像データ上でのロウとして決定する。
圃場300でのロウは、必ずしも常に直線とは限らない。直線状のロウが圃場300の端などで曲がる場合がある。また圃場300の形状や種まきの際の経路、障害物などにより、ロウは一部がカーブする場合もあるし、例えばスパイラル状、同心円状にロウが形成される場合もある。
曲線状態も含むものとしてロウ決定を行うことで、実情に合致したロウ決定を行うことが可能となる。
【0141】
第4の実施の形態で述べたように、ロウ決定部4は、画像データを分割し、分割画像毎にロウ検出を行い、分割画像のロウ検出のラインを結合することで、曲線を含むロウ候補を設定することができる(
図16参照)。
画像分割することで、ロウの部分を短い直線で近似することができる。この短い近似直線を接続すれば、カーブを含むロウを簡易な処理で検出でき、システムの処理負担を軽減できる。例えば二次曲線や三次曲線の近似を行う場合、ハフ変換やRANSACでは探索するパラメータの次元が増えることで処理時間が膨大になってしまうが、そのような処理負担を軽減して曲線のロウを検出できる。
【0142】
実施の形態の情報処理装置1は、ロウ決定部4で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部5を備えている。
作物の生育に関する出力情報とは、例えば作物数、単位面積あたりの作物数、予測収穫量、作物割合など、圃場300の管理に用いることができる情報である。
画像上のロウの情報を用いることで、画像上の植物を、ロウ上の作物か、ロウ以外の雑草かを区別することができる。従って例えば作物数、単位面積あたりの作物数、予測収穫量、作物割合などの計算を、精度よく行うことができるようになる。
そして出力情報生成部5が圃場300の状態、例えば単位面積の作物数、予測収穫量、作物割合などの計算を行うことで、圃場のスタッフにとって有用な圃場の状態を示す情報を提供するシステムを構築できる。
【0143】
第1の実施の形態では、出力情報生成部5は、ロウ決定部4が決定したロウにある作物数をカウントし、画像データ内に存在している作物の総数をカウントする例を挙げた。
ロウを決定した上で作物をカウントすることで、ロウから外れている植物、つまり雑草などを誤ってカウントに含めることがなくなり、作物カウントの精度を向上させることができる。
そして画像データ内の作物の総数がわかれば、画像に写されている範囲の面積と単位面積(例えば1エーカー)の比を係数とすれば、単位面積あたりの作物数が算出できる。ロウを精度良く決定し、その上で作物カウントを行うことで、算出した単位面積あたりの作物数も精度の良い数字となる。
【0144】
第2の実施の形態で述べたように、出力情報生成部5は、ロウ決定部4が求めた作物間隔を用いて作物の欠落箇所のカウントを行う例がある。
作物間隔が求められることで、本来あるべき作物がない箇所としての欠落箇所が推定できることになる。
そして欠落箇所のカウントを行うことにより、本来作物が発芽すべきであるのに発芽していない箇所の検出、集計ができ、圃場管理に用いる情報とすることができる。
【0145】
また第2の実施の形態で述べたように、出力情報生成部5は、ロウ決定部4が求めた作物間隔を用いて作物の欠落箇所のカウントを行い、作物の欠落箇所のカウント結果を用いて、理想的な作付け数と実際の作付けの比である作物割合の算出を行うようにしてもよい(
図12参照)。
理想的な作付け数とは、種を蒔いた箇所の全てで作物が生育したとした場合に集計される作物数となる。そして欠落箇所が求められることで、理想的な作付け数が求められ、それによって実際の作付けのとの比を求めることができる。
作物割合は発芽した作物の割合であり、例えば発芽割合、発芽率などと言い換えることもできる。
ロウ上の作物数をカウントした作物数は、画像データに写されている圃場の面積(撮影面積)に依存するので、農場管理のための情報として扱いにくい場合がありえる。飛行体200の高度や撮像装置220のレンズ状態(画角)により撮影面積が変動することで、集計される作物数も変動するためである。
そこで撮影面積に依存しない、作物割合を算出することが望ましい場合がある。
作物割合を求めることで、撮影面積に依存しない状態で、圃場の作物状態の評価を行う指標を提供できることになる。例えば作物数の情報が扱いにくい場合に好適な情報となる。
【0146】
第3の実施の形態で述べたように、出力情報生成部5は、ロウ決定部4が決定したロウの位置に基づいて、作付けの有効面積の算出を行うようにしてもよい(
図15参照)。
作付けの有効面積とは、実際に作付けが行われる範囲の面積であり、換言すれば圃場の内で、作付けが行われない範囲を除いた面積である。
ロウを決定することで、ロウ間隔から作付けの有効面積を求めることが可能になる。
また、作付けの有効面積を求めることによれば、実際のロウの範囲に応じた収穫率や作物割合を求めることや、あぜ道、用水路などが画像に写っているときにそれらを除外した有効面積を用いて圃場管理により有用な情報を提供することができるようになる。例えば単位面積あたりの作物数、作物割合、収穫予想量などを、より実際の圃場300の状態に即して求めることができる。
【0147】
第6の実施の形態で述べたように、出力情報生成部5は、複数の画像データのそれぞれから求められる出力情報を用いて、代表出力情報の算出を行う(
図19参照)。
複数の画像データのそれぞれから得られた出力情報の平均値、中央値、重心値などとして代表出力情報を生成することで、より情報の信頼度を上げることができる。
【0148】
第9の実施の形態で述べたように、出力情報生成部5は、配置間隔の値が所定値以下の作物の組を検出し、該当する作物の組を提示する出力情報を生成する(
図22、
図23、
図24参照)。
圃場管理において「ダブル」と呼称される、ロウ上で極めて近接して生えている作物は、生育が劣化し、収穫量が減ってしまう場合がある。そこで圃場管理に用いる情報として、配置間隔が近い作物を提示する。これにより管理者は容易に「ダブル」に対処できるようになる。
【0149】
第9の実施の形態で述べたように、出力情報生成部5は、配置間隔の値が所定値以下の作物の数を検出し、当該数を反映させた予測収穫量の算出を行うようにしてもよい(
図25参照)。
これにより「ダブル」の状態の作物数を考慮して予測収穫量の算出ができ、情報精度を高めることができる。
【0150】
第7の実施の形態で述べたように、情報処理装置1は、同一圃場の画像データについての算出データの存在を確認し、算出データが存在する場合は、当該算出データを用いて処理を行うようにしてもよい(
図20参照)。
例えば或る圃場300について、一連の撮像動作により、或いはほぼ同じ時期に撮像した複数の画像データが存在する場合、一の画像データについて算出した作物間隔、育成サイズ、ロウ間隔などの算出データが存在する場合、その算出データは他の画像データについてのロウ決定処理や出力情報演算処理においても使用できる。
図20のように、一の画像データについて算出した作物間隔を用いれば、ロウ決定部4は、他の画像データについて例えば
図6のステップS100からステップS123の処理を省略できるため、ロウ決定の処理を効率化できる。
また別の例としては、一の画像データについて算出した作物サイズSSを用いても、ロウ決定部4は、他の画像データについて例えば
図6のステップS100からステップS121の処理を省略できるためロウ決定の処理を効率化できる。
またさらに別の例として、一の画像データについて算出したロウ間距離の算出データを用いれば、出力情報生成部5は、他の画像データについて例えば
図15のステップS145の処理を省略できるため、有効面積算出の処理を効率化できる。
【0151】
第8の実施の形態で述べたように、画像データから算出した算出データが、同一の圃場300の他の画像データについて得られた代表算出データに基づく許容範囲から外れた値であった場合、代表算出データの値を適用することができる(
図21参照)。
一の画像データについて算出した作物サイズや作物間隔が通常想定される範囲を外れた値である場合、算出値は何らかのエラーと考え、代表算出データを用いることで、ロウ決定処理や有効面積算出処理を適正化できる。
【0152】
第5の実施の形態で述べたように、圃場300のマップデータを用いて、画像データにおける作付けの有効範囲を判定することができる(
図17,
図18参照)。
例えば農場主が所有している圃場のマップデータを用いて、画像データにおける有効範囲を判定する。
圃場300の形状やあぜ道などは固定であることが通常であるため、マップデータが存在する場合、それを有効利用できる。マップデータを入力することで、画像データが圃場300の作付けの範囲を写しているか否かということや、画像データ内でのあぜ道などを判定することができ、ロウ決定部4によるロウ決定処理や、出力情報生成部5による作付けの有効面積の算出に利用できる。
【0153】
第10の実施の形態で述べた例では、ロウ決定部4が決定したロウを提示する制御を行うとともに、ユーザ操作を検知するUI制御部6を備え、ロウ決定部4は、検知されたユーザ操作に応じてロウ決定の変更を行うようにした(
図26,
図27参照)。
画像データ上でロウ301を提示することなどにより、ユーザは情報処理装置1が画像から自動検出したロウの状態を確認できる。もし何らかの誤検出があった場合は、必要な操作を行うことでロウを修正できる。これにより、正確なロウが特定され、作物数などの出力情報の精度を向上させることができる。
【0154】
実施の形態では、撮像装置220は、無線操縦又は自動操縦が可能な飛行体200に搭載されている例を挙げた。
無線操縦又は自動操縦が可能な飛行体200としてはいわゆるドローン、小型無線操縦固定翼飛行機、小型無線操縦ヘリコプタなどがある。
【0155】
実施の形態のプログラムは、情報処理装置1に、圃場300を撮像した画像データ内で作物検出を行う処理と、その画像データ内で、作物の植え付けが行われたラインであるロウを、作物検出の結果に基づいて決定する処理とを実行させる。
即ち
図5、
図6等で説明した処理を情報処理装置に実行させるプログラムである。
【0156】
このようなプログラムにより本実施の形態の情報処理装置1の実現が容易となる。
そしてこのようなプログラムはコンピュータ装置等の機器に内蔵されている記録媒体や、CPUを有するマイクロコンピュータ内のROM等に予め記憶しておくことができる。あるいはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記憶)しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
【0157】
なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
【0158】
なお本技術は以下のような構成も採ることができる。
(1)
圃場を撮像した画像データ内で作物検出を行い、前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定するロウ決定部を備えた
情報処理装置。
(2)
前記ロウ決定部は、
前記作物検出の結果に基づいてロウ候補を検出し、
各ロウ候補における作物間隔に基づいてロウとしての確からしさを計算し、
確からしさの計算結果に基づいてロウを決定する
上記(1)に記載の情報処理装置。
(3)
前記ロウ決定部は、
ロウ候補の上付近にある作物らしい領域の大きさから作物サイズを算出し、
算出された作物サイズからロウ候補上の作物候補を検出し、
検出した作物候補の間隔から前記画像データ上の作物間隔を算出し、
決定した作物間隔からロウ候補の確からしさを決定し、
決定した確からしさを用いて誤検出と判定したロウ候補を除外したうえでロウを決定する処理を行う
上記(1)又は(2)に記載の情報処理装置。
(4)
前記ロウ決定部は、前記画像データ内で、曲線を含むロウの決定を行う
上記(1)から(3)のいずれかに記載の情報処理装置。
(5)
前記ロウ決定部は、前記画像データを分割し、分割画像毎にロウ検出を行い、分割画像のロウ検出のラインを結合することで、曲線を含むロウ候補を設定する
上記(1)から(4)のいずれかに記載の情報処理装置。
(6)
前記ロウ決定部で決定されたロウの情報を用いて、作物の生育に関する出力情報を生成する出力情報生成部を備えた
上記(1)から(5)のいずれかに記載の情報処理装置。
(7)
前記出力情報生成部は、
前記ロウ決定部が決定したロウにある作物数をカウントし、画像データ内に存在している作物の総数をカウントする
上記(6)に記載の情報処理装置。
(8)
前記出力情報生成部は、
前記ロウ決定部が求めた作物間隔を用いて作物の欠落箇所のカウントを行う
上記(6)又は(7)に記載の情報処理装置。
(9)
前記出力情報生成部は、
前記ロウ決定部が求めた作物間隔を用いて作物の欠落箇所のカウントを行い、
作物の欠落箇所のカウント結果を用いて、理想的な作付け数と実際の作付けの比である作物割合の算出を行う
上記(6)から(8)のいずれかに記載の情報処理装置。
(10)
前記出力情報生成部は、
前記ロウ決定部が決定したロウの位置に基づいて、作付けの有効面積の算出を行う
上記(6)から(9)のいずれかに記載の情報処理装置。
(11)
前記出力情報生成部は、
複数の画像データのそれぞれから求められる出力情報を用いて、代表出力情報の算出を行う
上記(6)から(10)のいずれかに記載の情報処理装置。
(12)
前記出力情報生成部は、
配置間隔の値が所定値以下の作物の組を検出し、該当する作物の組を提示する出力情報を生成する
上記(6)から(11)のいずれかに記載の情報処理装置。
(13)
前記出力情報生成部は、
配置間隔の値が所定値以下の作物の数を検出し、当該数を反映させた予測収穫量の算出を行う
上記(6)から(12)のいずれかに記載の情報処理装置。
(14)
同一圃場の画像データについての算出データの存在を確認し、算出データが存在する場合は、当該算出データを用いて処理を行う
上記(1)から(13)のいずれかに記載の情報処理装置。
(15)
画像データから算出した算出データが、同一圃場の他の画像データについて得られた代表算出データに基づく許容範囲から外れた値であった場合、代表算出データの値を適用する
上記(1)から(14)のいずれかに記載の情報処理装置。
(16)
圃場のマップデータを用いて、前記画像データにおける作付けの有効範囲を判定する
上記(1)から(15)のいずれかに記載の情報処理装置。
(17)
前記ロウ決定部が決定したロウを提示する制御を行うとともに、ユーザ操作を検知するユーザインタフェース制御部を備え、
前記ロウ決定部は、検知されたユーザ操作に応じてロウ決定の変更を行う
上記(1)から(16)のいずれかに記載の情報処理装置。
(18)
圃場を撮像した画像データ内で作物検出を行い、
前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定する
情報処理方法。
(19)
圃場を撮像した画像データ内で作物検出を行う処理と、
前記画像データ内で、作物の植え付けが行われたラインであるロウを、前記作物検出の結果に基づいて決定する処理と、
を情報処理装置に実行させるプログラム。
【符号の説明】
【0159】
1 情報処理装置
2 画像取得部
4 ロウ決定部
5 出力情報生成部
6 UI制御部
7 記録制御部
51 CPU
56 表示部
57 入力部
59 記憶部
60 通信部
200 飛行体
220 撮像装置
300 圃場
301 ロウ
310 作物
315 雑草
350 ロウ提示線