(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022118484
(43)【公開日】2022-08-15
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220805BHJP
G06Q 50/02 20120101ALI20220805BHJP
G06Q 10/04 20120101ALI20220805BHJP
A01G 7/00 20060101ALI20220805BHJP
【FI】
G06T7/00 350B
G06Q50/02
G06Q10/04
A01G7/00 603
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021015052
(22)【出願日】2021-02-02
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度国立研究開発法人情報通信研究機構「高度通信・放送研究開発委託研究/データ連携・利活用による地域課題解決のための実証型研究開発(第3回)AI・IoTを活用した北海道における次世代施設栽培の確立」、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000126115
【氏名又は名称】エア・ウォーター株式会社
(71)【出願人】
【識別番号】504193837
【氏名又は名称】国立大学法人室蘭工業大学
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】堀江 達郎
(72)【発明者】
【氏名】小林 洋介
(72)【発明者】
【氏名】渡邉 真也
(72)【発明者】
【氏名】岸上 順一
(72)【発明者】
【氏名】須藤 秀紹
(72)【発明者】
【氏名】佐藤 和彦
【テーマコード(参考)】
5L049
5L096
【Fターム(参考)】
5L049AA04
5L049CC01
5L096AA06
5L096BA08
5L096BA18
5L096CA04
5L096DA01
5L096DA02
5L096EA07
5L096EA35
5L096FA16
5L096FA53
5L096HA11
5L096KA04
(57)【要約】
【課題】準備に要する労力を抑えつつ農作物の実の個数を予測するための技術を提供すること。
【解決手段】情報処理装置は、学習用画像のラベルから当該学習用画像に対応する範囲の農作物の実の個数の実測値を取得し(ステップS204)、当該学習用画像から、農作物の実の個数ごとに実を囲む領域を認識する(ステップS206)。そして、情報処理装置は、上記実測値を利用して、認識された領域の数から、学習用画像に対応する範囲の農作物の実の個数の推定値を導出し(ステップS208)、上記実測値および上記推定値を用いて、農作物の実の個数を予測するための予測モデルの機械学習を実行する(ステップS210)。そして、情報処理装置は、予測用画像から認識された農作物の実の個数ごとの領域の数を上記予測モデルに適用することによって、当該予測用画像に対応する範囲内の農作物の実の個数の予測値を導出する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
学習用画像に対応する範囲の農作物の実の個数の実測値を取得する取得手段と、
前記学習用画像から、農作物の実の個数ごとに実を囲む領域を認識する認識手段と、
前記実測値、および、前記認識手段が認識した領域の数を用いて導出される農作物の実の個数の推定値を用いて、農作物の実の個数を予測するための予測モデルの機械学習を実行する学習手段と、
予測用画像から前記認識手段によって認識された農作物の実の個数ごとの領域の数を前記予測モデルに適用することによって、前記予測用画像に対応する範囲内の農作物の実の個数の予測値を導出する予測手段と、を備える情報処理装置。
【請求項2】
前記学習手段は、前記予測モデルの機械学習に、農作物の圃場の環境に関する値をさらに利用し、
前記予測手段は、農作物の圃場の環境に関する値をさらに前記予測モデルに適用して、前記予測値を導出する、請求項1に記載の情報処理装置。
【請求項3】
前記環境に関する値は、農作物の圃場の日射量に関する値を含む、請求項2に記載の情報処理装置。
【請求項4】
前記機械学習では、前記学習用画像に付与された農作物の実の個数ごとの領域を表す情報が利用される、請求項1~請求項3のいずれか1項に記載の情報処理装置。
【請求項5】
前記予測用画像から認識した、農作物の実の個数ごとに実を囲む領域を表示する表示手段をさらに備えている、請求項1~請求項4のいずれか1項に記載の情報処理装置。
【請求項6】
前記学習用画像から、農作物の実を1個ずつ囲む領域を認識する第2の認識手段をさらに備え、
前記学習手段は、前記予測モデルの機械学習に、前記第2の認識手段が認識した領域の数から導出される、農作物の実の個数の第2の推定値をさらに利用し、
前記予測手段は、前記予測用画像から前記第2の認識手段によって認識された、農作物の実を1個ずつ囲む領域の数を前記予測モデルにさらに適用することによって、前記予測値を導出する、請求項1~請求項5のいずれか1項に記載の情報処理装置。
【請求項7】
コンピュータによって実行される方法であって、
学習用画像に対応する範囲の農作物の実の個数の実測値を取得するステップと、
前記学習用画像から、農作物の実の個数ごとに実を囲む領域を認識するステップと、
前記認識するステップにおいて認識された領域の数から、前記学習用画像に対応する範囲の農作物の実の個数の推定値を導出するステップと、
前記実測値および前記推定値を用いて、農作物の実の個数を予測するための予測モデルの機械学習を実行するステップと、
予測用画像から認識された農作物の実の個数ごとの領域の数を前記予測モデルに適用することによって、前記予測用画像に対応する範囲内の農作物の実の個数の予測値を導出するステップと、を備える情報処理方法。
【請求項8】
前記機械学習を実行するステップは、前記予測モデルの機械学習に、農作物の圃場の環境に関する値をさらに利用し、
前記予測値を導出するステップは、農作物の圃場の環境に関する値をさらに前記予測モデルに適用して、前記予測値を導出する、請求項7に記載の情報処理方法。
【請求項9】
前記環境に関する値は、農作物の圃場の日射量に関する値を含む、請求項8に記載の情報処理方法。
【請求項10】
前記機械学習では、前記学習用画像に付与された農作物の実の個数ごとの領域を表す情報が利用される、請求項7~請求項9のいずれか1項に記載の情報処理方法。
【請求項11】
前記予測用画像から認識された、農作物の実の個数ごとに実を囲む領域を表示するステップをさらに備える、請求項7~請求項10のいずれか1項に記載の情報処理方法。
【請求項12】
前記学習用画像から、農作物の実を1個ずつ囲む領域を認識するステップをさらに備え、
前記機械学習を実行するステップは、
前記学習用画像から認識された農作物の実を1個ずつ囲む領域の数を用いて、農作物の実の個数の第2の推定値を導出することを含み、
前記予測モデルの機械学習に、前記第2の推定値をさらに利用し、
前記予測値を導出するステップは、前記予測用画像から認識された農作物の実を1個ずつ囲む領域の数を前記予測モデルにさらに適用することによって、前記予測値を導出する、請求項7~請求項11のいずれか1項に記載の情報処理方法。
【請求項13】
コンピュータによって実行されることにより、前記コンピュータに、請求項7~請求項12のいずれか1項に記載の情報処理方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、圃場の画像を利用した、農作物の実の個数の予測に関する。
【背景技術】
【0002】
従来、圃場において栽培される農作物の収穫量の予測について種々の技術が提案されている。たとえば、特許第6673442号公報(特許文献1)は、複数の栽培ベッドの間を作業移動車が走行しながらカメラで植物の果実を撮影し、果実判別装置により成熟した果実の総数をカウントし、成熟果実を収穫する複数の作業者それぞれの作業能力に合わせた仮収穫個数を演算し、当該仮収穫個数に基づいて、栽培室内における各作業者の作業領域を設定する、収穫システムを開示している。
【0003】
また、特開2020-24672号公報(特許文献2)は、圃場において撮影された画像から収穫されるぶどうの房の推定値を導出する学習済みモデルの学習を実行し、当該学習済みモデルを利用して圃場の画像から収穫されるぶどうの房の数の推定値を導出し、導出された房の数の推定値から重量の推定値を導出する情報処理装置を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6673442号公報
【特許文献2】特開2020-24672号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されたように、画像から果実の総数をカウントするには、作業者の多大な能力を必要とする。特許文献2に記載された技術は、機械学習モデルを利用するという点ではカウント動作の軽減が期待される。しかしながら、農作物の中には、収穫量として重量より実の個数が重要であるものがある一方で、特許文献2に開示された技術は、推定値として房の数と重量を導出するものであって、実の個数を導出するものではない。仮に、特許文献1に記載された技術を機械学習モデルを利用する技術を組合せようとした場合、学習用のデータの準備において、アノテーションとして、学習用画像に実の1個ずつの領域をタグ付けするという多大な労力を必要とされる。
【0006】
本開示は、係る実情に鑑み考え出されたものであり、その目的は、準備に要する労力を抑えつつ農作物の実の個数を予測するための技術を提供することである。
【課題を解決するための手段】
【0007】
本開示のある局面に従うと、学習用画像に対応する範囲の農作物の実の個数の実測値を取得する取得手段と、学習用画像から、農作物の実の個数ごとに実を囲む領域を認識する認識手段と、実測値、および、認識手段が認識した領域の数を用いて導出される農作物の実の個数の推定値を用いて、農作物の実の個数を予測するための予測モデルの機械学習を実行する学習手段と、予測用画像から認識手段によって認識された農作物の実の個数ごとの領域の数を予測モデルに適用することによって、予測用画像に対応する範囲内の農作物の実の個数の予測値を導出する予測手段と、を備える情報処理装置が提供される。
【0008】
学習手段は、予測モデルの機械学習に、農作物の圃場の環境に関する値をさらに利用してもよい。予測手段は、農作物の圃場の環境に関する値をさらに予測モデルに適用して、予測値を導出してもよい。
【0009】
環境に関する値は、農作物の圃場の日射量に関する値を含んでいてもよい。
機械学習では、学習用画像に付与された農作物の実の個数ごとの領域を表す情報が利用されてもよい。
【0010】
情報処理装置は、予測用画像から認識した、農作物の実の個数ごとに実を囲む領域を表示する表示手段を備えていても良い。
【0011】
情報処理装置は、学習用画像から、農作物の実を1個ずつ囲む領域を認識する第2の認識手段をさらに備えていてもよい。学習手段は、予測モデルの機械学習に、第2の認識手段が認識した領域の数から導出される、農作物の実の個数の第2の推定値をさらに利用してもよい。予測手段は、予測用画像から第2の認識手段によって認識された、農作物の実を1個ずつ囲む領域の数を予測モデルにさらに適用することによって、予測値を導出してもよい。
【0012】
本開示の他の局面に従うと、コンピュータによって実行される方法であって、学習用画像に対応する範囲の農作物の実の個数の実測値を取得するステップと、学習用画像から、農作物の実の個数ごとに実を囲む領域を認識するステップと、認識するステップにおいて認識された領域の数から、学習用画像に対応する範囲の農作物の実の個数の推定値を導出するステップと、実測値および推定値を用いて、農作物の実の個数を予測するための予測モデルの機械学習を実行するステップと、予測用画像から認識された農作物の実の個数ごとの領域の数を予測モデルに適用することによって、予測用画像に対応する範囲内の農作物の実の個数の予測値を導出するステップと、を備える情報処理方法が提供される。
【0013】
機械学習を実行するステップは、予測モデルの機械学習に、農作物の圃場の環境に関する値をさらに利用してもよい。予測値を導出するステップは、農作物の圃場の環境に関する値をさらに予測モデルに適用して、予測値を導出してもよい。
【0014】
環境に関する値は、農作物の圃場の日射量に関する値を含んでいてもよい。
機械学習では、学習用画像に付与された農作物の実の個数ごとの領域を表す情報が利用されてもよい。
【0015】
予測用画像から認識された、農作物の実の個数ごとに実を囲む領域を表示するステップをさらに備える。
【0016】
情報処理方法は、学習用画像から、農作物の実を1個ずつ囲む領域を認識するステップをさらに備えていてもよい。機械学習を実行するステップは、学習用画像から認識された農作物の実を1個ずつ囲む領域の数を用いて、農作物の実の個数の第2の推定値を導出することを含んでいてもよく、予測モデルの機械学習に、第2の推定値をさらに利用してもよい。予測値を導出するステップは、予測用画像から認識された農作物の実を1個ずつ囲む領域の数を予測モデルにさらに適用することによって、予測値を導出してもよい。
【0017】
本開示のさらに他の局面に従うと、コンピュータによって実行されることにより、コンピュータに、上記の情報処理方法を実行させる、プログラムが提供される。
【発明の効果】
【0018】
本開示のある局面によれば、画像を利用した農作物の実の個数の予測において、農作物の実の個数ごとに付された領域の情報が利用される。これにより、アノテーションでは、2個以上の実が1つの領域としてまとまって扱われながら、予測値として、農作物の実の個数が導出される。したがって、アノテーション作業に必要とされる労力を軽減しつつ、農作物の実の個数の予測が可能になる。
【図面の簡単な説明】
【0019】
【
図1】情報処理装置100のハードウェア構成の一例を示す模式図である。
【
図2】情報処理装置100の機能ブロックを示す図である。
【
図3】認識部205による認識結果を表示する画面の一例を示す図である。
【
図4】情報処理装置100によって実行されるメインルーチンの一例を示すフローチャートである。
【
図5】
図4のステップS200のサブルーチンのフローチャートである。
【
図6】
図4のステップS400のサブルーチンのフローチャートである。
【
図7】情報処理装置100による予測について、その精度を説明するための図である。
【
図8】情報処理装置100の機能ブロックの1つ目の変形例を示す図である。
【
図9】変形例(1)における学習処理のサブルーチンのフローチャートである。
【
図10】変形例(1)における予測処理のサブルーチンのフローチャートである。
【
図11】情報処理装置100による予測について、その精度を説明するための図である。
【
図12】情報処理装置100の機能ブロックの2つ目の変形例を示す図である。
【
図13】第1認識部2051による認識結果を表示する画面の一例を示す図である。
【
図14】変形例(2)における学習処理のサブルーチンのフローチャートである。
【
図15】変形例(2)における予測処理のサブルーチンのフローチャートである。
【
図16】情報処理装置100による予測について、その精度を説明するための図である。
【発明を実施するための形態】
【0020】
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【0021】
[情報処理装置のハードウェア構成]
図1は、情報処理装置100のハードウェア構成の一例を示す模式図である。情報処理装置100は、圃場において撮影された画像から、トマトなどの農作物の実の房に相当する領域を認識する。情報処理装置100は、各房に相当する領域を、房を構成すると考えられる実の個数ごとに認識する。そして、情報処理装置100は、領域の認識結果を利用して、上記画像に対応する範囲の実の個数の予測結果を導出する。
【0022】
情報処理装置100が予測の対象とする農作物は、トマトに限定されず、リンゴまたはみかんなどの、その実を1個ずつ扱われる農作物であればいかなる農作物であってもよい。
【0023】
図1を参照して、情報処理装置100は、制御装置101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェイス104と、表示インターフェイス105と、入力インターフェイス107と、記憶装置120とを含む。これらのコンポーネントは、バス110に接続される。
【0024】
制御装置101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。
【0025】
制御装置101は、学習用プログラム122、および、予測用プログラム124などの、各種プログラムを実行することで情報処理装置100の動作を制御する。一実現例では、これらのプログラムは記憶装置120に格納されている。これらのプログラムの少なくとも一つは、外部のサーバに格納されていてもよく、制御装置101は、API(Application Programming Interface)を利用してこれらのプログラムを実行してもよい。
【0026】
通信インターフェイス104には、LAN(Local Area Network)やアンテナなどが接続される。情報処理装置100は、通信インターフェイス104を介して、外部機器との間でデータをやり取りする。情報処理装置100は、通信インターフェイス104を介してサーバから各種のプログラムをダウンロードできるように構成されていてもよい。
【0027】
表示インターフェイス105には、ディスプレイ106が接続される。表示インターフェイス105は、制御装置101などからの指令に従って、ディスプレイ106に対して、画像を表示するための画像信号を送出する。ディスプレイ106は、たとえば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、またはその他の表示機器である。ディスプレイ106は、情報処理装置100と一体的に構成されてもよいし、情報処理装置100とは別に構成されてもよい。
【0028】
入力インターフェイス107には、入力デバイス108が接続される。入力デバイス108は、たとえば、マウス、キーボード、タッチパネル、またはユーザの操作を受け付けることが可能なその他の装置である。入力デバイス108は、情報処理装置100と一体的に構成されてもよいし、情報処理装置100とは別に構成されてもよい。
【0029】
記憶装置120は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。記憶装置120は、各種のプログラムおよび当該プログラムの実行に利用されるデータを格納する。これらのプログラムおよび/またはデータの格納場所は、記憶装置120に限定されず、制御装置101の記憶領域(たとえば、キャッシュメモリなど)、ROM102、RAM103、外部機器(たとえば、サーバ)であってもよい。
【0030】
[機能ブロック]
図2は、情報処理装置100の機能ブロックを示す図である。
図2に示されるように、情報処理装置100は、情報取得部201、学習部202、パラメータ格納部203、予測部204、および、出力部207として機能する。予測部204は、認識部205と個数導出部206とを含む。
【0031】
情報処理装置100は、予測モデルを含み、学習用データ210を利用して当該予測モデルの機械学習を実行する。情報処理装置100は、また、当該予測モデルを利用して、予測対象の動画220を入力されると、当該予測対象の動画220に対応する範囲における、当該動画の撮影時から2週間後に収穫されるトマトの個数の予測値を出力する。
【0032】
学習用データ210に含まれる動画は、たとえば、移動車両に搭載されたカメラで撮影された圃場の動画(以下、「元の動画」とも称する)に基づいて生成される。一例では、元の動画はavi形式で生成され、当該元の動画に対し調整が実施される。調整は、MP4形式への形式変換、圃場を撮影した時間部分の切り出し、ひずみ補正、および、農作物以外の部分(移動車両の車体など)を除くトリミングを含む。学習用データ210に含まれる動画は、調整後の動画に対し、当該動画の各フレームに上述のラベル(領域の位置、各領域に囲まれる実の個数、等)が付与されることによって生成される。
【0033】
予測対象の動画220も、学習用データ210に含まれる動画と同様に、上記カメラで撮影された圃場の動画に対して、上記調整が実施されることによって生成される。
【0034】
情報取得部201は、学習用データ210のラベルからトマトの個数の実測値を抽出して、学習部202へと出力する。実測値は、学習用データ210に含まれる動画が対応する範囲の、当該動画の撮影時から2週間後に実際に収穫されたトマトの個数である。
【0035】
学習部202は、たとえば、予測モデルの機械学習を実行する。パラメータ格納部203は、学習部202による機械学習において設定される、予測モデルのパラメータを格納する。
【0036】
予測部204は、画像の入力を受け付け、そして、入力された画像から、当該画像に対応する範囲において当該画像の撮影時から2週間後に収穫されるトマトの実の個数の、推定値または予測値を導出する。予測部204は、予測モデルを含む。本明細書では、形式的に、予測モデルの学習段階において予測部204が導出するトマトの実の個数を「推定値」と呼び、予測モデルの利用段階において予測部204が導出するトマトの実の個数を「予測値」と呼ぶ。
【0037】
予測部204において、認識部205は、入力された画像から、トマトを囲む領域を、囲まれるトマトの個数ごとに認識する。認識部205は、たとえばYOLO(You Only Look Once)等の物体認識のアルゴリズムに従って、入力された画像において上記領域を認識する。認識部205は、領域の認識結果を個数導出部206へ出力する。認識部205の認識結果は、画像から認識された1以上のそれぞれの領域を表す情報と、各領域に囲まれるトマトの個数を表す情報とを含む。個数導出部206は、認識部205から出力された認識結果を予測モデルに適用することによって、上記の推定値または予測値を算出する。
【0038】
予測モデルは、次の式(1)で表されるような線形回帰モデルであってもよい。
f(x)=αx …(1)
式(1)において、αは、機械学習において更新される係数である。機械学習において更新された値αは、パラメータ格納部203に格納される。式(1)において、xは目的変数f(x)の説明変数であり、次の式(2)で表される。
【0039】
x=pA+qB+rC+… …(2)
式(2)において、A,B,Cのそれぞれは、認識された領域の数を表す。A,B,Cのそれぞれが対応する領域は、囲うトマトの個数が互いに異なる。たとえば、Aは1個のトマトの実を囲う領域の数であり、Bは2個のトマトの実を囲う領域の数であり、Cは3個のトマトの実を囲う領域の数である。p,q,rのそれぞれは、A,B,Cのそれぞれの係数である。p,q,rのそれぞれは、予め定められた値であってもよいし、機械学習において更新される値であってもよい。機械学習において更新される場合、機械学習における更新後のp,q,rは、パラメータ格納部203に格納される。
【0040】
式(2)の右辺の項の数は、予測モデルが認識対象とする領域の種類(種類ごとに領域によって囲まれるトマトの個数が異なる)の数を表す。たとえば、予測モデルの認識対象が、実が1個の領域、実が2個の領域、および、実が3個の領域である場合、式(2)の右辺の項の数は、次の式(2X)で示されるように「3」である。式(2X)において、Aは、実が1個の領域の数を表す。また、Bは実が2個の領域の数を、Cは実が3個の領域の数を、それぞれ表す。
【0041】
x=pA+qB+rC …(2X)
出力部207は、予測部204が導出した予測値をディスプレイ106に表示することなどによって出力する。
【0042】
情報取得部201、学習部202、予測部204、および出力部207のそれぞれは、制御装置101が所与のプログラムを実行することによって実現されてもよい。より具体的には、予測部204として、制御装置101は、YOLO等の物体認識用のプログラムを実行することによって認識部205として機能してもよく、予測用プログラム124を実行することによって個数導出部206として機能してもよい。また、制御装置101は、学習用プログラム122を実行することによって、学習部202として機能してもよい。学習用プログラム122と予測用プログラム124とが、モデルの学習から利用までの処理を一貫して制御する、1つのアプリケーションプログラムとして構成されてもよい。
【0043】
[領域の認識]
図3は、認識部205による認識結果を表示する画面の一例を示す図である。
図3に示された画面300では、圃場において撮影された画像に、認識された領域を表す枠が重畳されている。画面300は、複数の枠を含み、当該複数の枠のそれぞれには、当該枠のサイズを表す数値(たとえば、「20.76」「30.45」等)が付記されている。枠に囲まれるトマトの実の個数は、1個の場合もあれば、2個の場合もあれば、3個の場合もある。すなわち、認識部205は、1個の実を囲う領域、2個の実を囲う領域、および、3個の実を囲う領域のそれぞれを互いに区別して認識し得る。認識部205が認識する領域の種類は、これらの3種類に限定されない。認識される領域の種類は、2種類以下であってもよいし、4種類以上であってもよい。また、認識部205は、認識される領域に含まれる実の個数は、1個~3個に限定されず、4個以上であってもよい。
【0044】
[情報処理装置の流れ]
<メインルーチン>
図4は、情報処理装置100によって実行されるメインルーチンの一例を示すフローチャートである。情報処理装置100では、制御装置101が所与のプログラムを実行することによって
図4に示される処理を実施してもよい。
【0045】
図4を参照して、ステップS100にて、情報処理装置100は、予測モデルの学習の指示を入力されたか否かを判断する。ユーザは、たとえば入力デバイス108を操作することによって、情報処理装置100に学習の指示を入力できる。
【0046】
情報処理装置100は、予測モデルの学習の指示を入力されたと判断すると(ステップS100にてYES)、ステップS200へ制御を進め、そうでなければ(ステップS100にてNO)、ステップS300へ制御を進める。
【0047】
ステップS200にて、情報処理装置100は、予測モデルの学習を実行する。ステップS200の処理内容については、
図5を参照して後述する。その後、情報処理装置100は、ステップS300へ制御を進める。
【0048】
ステップS300にて、情報処理装置100は、(トマトの収穫量の)予測の指示を入力されたか否かを判断する。ユーザは、たとえば入力デバイス108を操作することによって、情報処理装置100に予測の指示を入力できる。
【0049】
情報処理装置100は、予測の指示を入力されたと判断すると(ステップS300にてYES)、ステップS400へ制御を進め、そうでなければ(ステップS300にてNO)、ステップS100へ制御を戻す。
【0050】
ステップS400にて、情報処理装置100は、予測モデルを利用した予測を実行する。ステップS400の処理内容については、
図6を参照して後述する。その後、情報処理装置100は、ステップS100へ制御を戻す。
【0051】
<学習処理>
図5は、
図4のステップS200のサブルーチンのフローチャートである。
【0052】
図5を参照して、ステップS202にて、情報処理装置100は、学習用データ210を読み込む。
【0053】
ステップS204にて、情報処理装置100は、学習用データ210から実測値を抽出する。ステップS204の制御は、情報取得部201の機能として実現されてもよい。
【0054】
ステップS206にて、情報処理装置100は、学習用データ210に含まれる画像(動画を構成する1以上のフレーム画像のそれぞれ)に対して画像認識を実行する。当該画像認識では、実の個数ごとに、トマトを囲む領域が認識される。ステップS206の制御は、認識部205の機能として実現されてもよい。
【0055】
ステップS208にて、情報処理装置100は、ステップS206における認識結果を式(2)に適用し、さらに、式(2)に従って導出された値xを式(1)に適用することによって、トマトの収穫量について上記した推定値を導出する。
【0056】
ステップS210にて、情報処理装置100は、ステップS204で取得された実測値とステップS208で取得された推定値とを用いて予測モデルの機械学習を実行し、当該機械学習の結果として、予測モデルにおけるパラメータ(たとえば、式(1)のα)を更新し、更新後のパラメータをパラメータ格納部203に格納する。その後、情報処理装置100は、機械学習について予め定められた学習回数の学習が完了するまでステップS202へ制御を戻す。上記学習回数の学習が完了すると、情報処理装置100は、制御を
図4のステップS300へ進める。
【0057】
以上、
図5を参照して説明された処理は、予測モデルの学習手順の単なる一例である。上述の実測値と推定値を利用して予測モデルの学習処理が実行される限り、その具体的な手順は
図5に示されたものに限定されない。
【0058】
<予測処理>
図6は、
図4のステップS400のサブルーチンのフローチャートである。
【0059】
図6を参照して、ステップS402にて、情報処理装置100は、予測対象の動画220を読み込む。
【0060】
ステップS404にて、情報処理装置100は、ステップS402において読み込まれた動画を構成する1以上のフレーム画像に対して画像認識を実行する。ステップS404における画像認識では、ステップS206における画像認識と同様に、実の個数ごとに、トマトを囲む領域が認識される。ステップS404の制御は、認識部205の機能として実現されてもよい。
【0061】
ステップS406にて、情報処理装置100は、ステップS404における認識結果を式(2)に適用し、さらに、式(2)に従って導出された値xを式(1)に適用することによって、トマトの収穫量について上記した予測値を導出する。
【0062】
ステップS408にて、情報処理装置100は、導出された予測値を、たとえばディスプレイ106に表示することによって、出力する。その後、情報処理装置100は、制御を
図4のステップS100に戻す。
【0063】
情報処理装置100は、ステップS408にて、さらに、予測対象の動画220をステップS404における認識結果とともに再生するためのボタンを、ディスプレイ106に表示してもよい。当該ボタンに対してクリック等の操作がなされることにより、情報処理装置100は、予測対象の動画220を上記認識結果とともに再生してもよい。認識結果は、
図3を参照して説明されたような、画像に重畳された枠であってもよく、枠のサイズを表す数値を伴っていてもよい。さらに、表示される枠は、各枠が囲う実の個数に従って異なる態様で表示されてもよい。たとえば、1個の実を囲う枠はピンク色で、2個の実を囲う枠はオレンジ色で、3個の実を囲う枠は黄緑色で、それぞれ表示されてもよい。
【0064】
<まとめ>
以上説明された本実施の形態において、情報処理装置100は、学習用画像のラベルから当該学習用画像に対応する範囲の農作物の実の個数の実測値を取得する(ステップS204)。一方、情報処理装置100は、当該学習用画像から、農作物の実の個数ごとに実を囲む領域を認識する(ステップS206)。そして、情報処理装置100は、上記実測値を利用して、認識された領域の数(上述のA,B,C等)から、学習用画像に対応する範囲の農作物の実の個数の推定値を導出する(ステップS208)。情報処理装置100は、上記実測値および上記推定値を用いて、農作物の実の個数を予測するための予測モデルの機械学習を実行する(ステップS210)。
【0065】
そして、情報処理装置100は、予測用画像(予測対象の動画220)から認識された農作物の実の個数ごとの領域の数を上記予測モデルに適用することによって、当該予測用画像に対応する範囲内の農作物の実の個数の予測値を導出する(ステップS406)。情報処理装置100は、導出された予測値を、ディスプレイ106に表示する等によって出力する(ステップS408)。
【0066】
図7は、情報処理装置100による予測について、その精度を説明するための図である。
図7のグラフG10は、ある圃場について、2020年4月(「2020-04」)から同年10月(「2020-10」)までの間、7日ごとに算出された収穫量の予測値および実測値を示す。予測値は実線(線L11)で示され、実測値は一点鎖線(L12)で示されている。なお、
図7に示された予測値および実測値のそれぞれは、情報処理装置100が導出した予測値の個数および情報処理装置100が取得した実測値の個数のそれぞれが単位個数当たりの重量を利用して変換された重量で示されている。
【0067】
図7から理解されるように、予測値は、2020年4月の第2週および同年8月の第2週で実測値を比較的大きく上回り、また、2020年8月の第1週で実測値を比較的大きく下回ったものの、全体としての誤差は、MAPE(平均絶対誤差率)=38.27程度という好適な結果を示した。
【0068】
[変形例(1)]
上述の実施の形態に対する1つ目の変形例について説明する。
【0069】
<機能ブロック>
図8は、情報処理装置100の機能ブロックの1つ目の変形例を示す図である。
図8の例では、
図2の例と比較して、情報処理装置100はさらに環境データ格納部208として機能する。環境データ格納部208は、圃場の環境データが格納される。
【0070】
環境データの一例は、日射量に関する値であり、たとえば全天日射量である。情報処理装置100は、学習用データ210および予測対象の動画220のそれぞれに対応する日および場所(都道府県、市区町村、等)の全天日射量を、たとえば気象庁のホームページにアクセスすることによって取得し得る。環境データは、全天日射量の代わりに、または、全天日射量に加えて、気温、風速、飽差、および/または、二酸化炭素濃度を表す指標であってもよい。また、農作物が水耕栽培で栽培されるものである場合、環境データは、水耕栽培に関わる「給・排液量」を表す指標を含んでもよいし、植物観察結果である「葉長や茎の太さ」を表す指標を含んでもよい。
【0071】
環境データの他の例は、気温であってもよいし、最高気温であってもよいし、最低気温であってもよいし、最高気温と最低気温の差であってもよいし、平均湿度であてもよい。
【0072】
本変形例に利用される予測モデルの一例を、以下に式(1-1)として示す。
f(x)=α1x1+α2x2+α3x3+… …(1-1)
式(1-1)のx1は、上述の説明において式(2)として示されたxと同様に、2以上の種類の領域のそれぞれが認識された数(A,B,C等)の関数であり、より具体的には、以下の式(2-1)で表される。
【0073】
x1=pA+qB+rC …(2-1)
式(1-1)の右辺の2項目以降の各項は、環境データを表す変数(x2、x3、等)と、当該変数に付された係数(たとえば、α2、α3、等)との積によって構成される。係数は、機械学習において更新され得る。更新後の係数(パラメータ)は、パラメータ格納部203に格納される。
【0074】
式(1-1)で表される予測モデルにおいて、2項目以降の項の数は、利用される環境データの種類の数によって規定される。たとえば、環境データとして1種類の変数が利用される場合には、予測モデルは次の式(1-1-1)で表され、右辺は2つの項を含み、2項目以降の項の数は「1」である。
【0075】
f(x)=α1x1+α2x2 …(1-1-1)
また、環境データとして3種類の変数が利用される場合には、予測モデルは次の式(1-1-2)で表され、右辺は4つの項を含み、2項目以降の項の数は「3」である。
【0076】
f(x)=α
1x
1+α
2x
2+α
3x
3+α
4x
4 …(1-1-2)
<処理の流れ>
変形例(1)では、メインルーチン(
図4)には変更は無いが、学習処理(
図5)および予測処理(
図6)において変更が生じる。以下に、変形例(1)のそれぞれの処理について、変更点を中心に説明する。
【0077】
<処理の流れ:学習処理>
図9は、変形例(1)における学習処理のサブルーチンのフローチャートである。
図9の処理は、
図5の処理と比較して、ステップS207の制御をさらに含む。ステップS207にて、情報処理装置100は、学習用データ210に対応する場所の環境データを環境データ格納部208から取得する。
【0078】
そして、ステップS208にて、情報処理装置100は、式(1-1)等を参照して説明された予測モデルに、領域の認識結果(ステップS206)とともに、ステップS207にて取得した環境データを適用して、推定値を導出する。
【0079】
すなわち、
図9の処理では、推定値の導出において、予測モデルの変数として、学習用データ210が対応する場所の環境データが利用される。
【0080】
<処理の流れ:予測処理>
図10は、変形例(1)における予測処理のサブルーチンのフローチャートである。
図10の処理は、
図6の処理と比較して、ステップS405の制御をさらに含む。ステップS405にて、情報処理装置100は、予測対象の動画220に対応する場所の環境データを環境データ格納部208から取得する。予測対象の動画220に対応する場所と学習用データ210に対応する場所とは、同じであってもよいし、異なっていてもよい。
【0081】
そして、ステップS406にて、情報処理装置100は、式(1-1)等を参照して説明された予測モデルに、領域の認識結果(ステップS404)とともに、ステップS405にて取得した環境データを適用して、予測値を導出する。
【0082】
すなわち、
図10の処理では、予測値の導出において、予測モデルの変数として、学習用データ210が対応する場所の環境データが利用される。
【0083】
<まとめ>
以上説明された変形例(1)では、予測モデルが環境データに対応する項を含み、これにより、予測モデルの学習処理、および、予測モデルを利用した収穫量の予測に圃場の環境の影響が考慮され得る。
【0084】
図11は、情報処理装置100による予測について、その精度を説明するための図である。
図11のグラフG20は、予測モデルとして上述の式(1-1-1)が採用され、環境データの変数(x
2)として全天日射量が利用された場合の結果に対応する。
【0085】
グラフG20は、
図7のグラフG10と同様に、2020年4月(「2020-04」)から同年10月(「2020-10」)までの間、7日ごとに算出された収穫量の予測値および実測値を示す。予測値は実線(線L21)で示され、実測値は一点鎖線(L22)で示されている。予測値および実測値のそれぞれは、予測値および実測値のそれぞれの個数が単位個数当たりの重量を利用して変換された重量で示されている。
【0086】
図11から理解されるように、予測値は、2020年9月の第2週において実測値を比較的大きく上回ったものの、全体としての誤差は、MAPE(平均絶対誤差率)=15.17程度という好適な結果を示した。なお、
図11の例に関するMAPEの値は、
図7の例に関して上述したMAPEの値(38.27程度)よりも低く、これにより、予測モデルに環境データの項を含めることにより、予測精度が向上し得るという知見が得られた。
【0087】
[変形例(2)]
上述の実施の形態に対する2つ目の変形例について説明する。
【0088】
<機能ブロック>
図12は、情報処理装置100の機能ブロックの2つ目の変形例を示す図である。
図12の例では、
図2の例と比較して、認識部205の代わりに、第1認識部2051と第2認識部2052とを含む。第1認識部2051は、画像において農作物の実を1個ずつ認識する。第2認識部2052は、認識部205と同様に、農作物の実を囲む領域を個数ごとに認識する。第1認識部2051および第2認識部2052のそれぞれは、制御装置101がYOLO等の物体認識用のアルゴリズムに従ったプログラムを実行することによって実現されてもよい。
【0089】
図13は、第1認識部2051による認識結果を表示する画面の一例を示す図である。
図13に示された画面1300では、圃場において撮影された画像に、認識された実を表す枠が重畳されている。画面1300は、複数の枠を含み、当該複数の枠のそれぞれは、当該枠のサイズを表す数値(たとえば、「0.48」「0.51」など)が付記されている。
【0090】
図12に戻って、個数導出部206が実の個数の推定値および予測値の導出に利用する予測モデルは、次の式(3)として表される。
【0091】
f(x)=α1xone+α2xmulti …(3)
式(3)において、xoneは、第1認識部2051の認識結果を利用した、農作物の実の個数として算出される変数である。たとえば、学習用データ210に含まれる動画が複数のフレーム画像を含む場合、xoneは、当該複数のフレーム画像のそれぞれにおいて認識された実の個数の合計値である。また、予測対象の動画220が複数のフレーム画像を含む場合、xoneは、当該複数のフレーム画像のそれぞれにおいて認識された実の個数の合計値である。
【0092】
xmultiは、上述の式(2)に従ってxが求められたのと同様に、次の式(2A)に従って求められる。
【0093】
xmulti=pA+qB+rC+… …(2A)
式(2A)におけるA,B,C等の変数およびp,q,r等の定数は、それぞれ、式(2)について説明されたのと同様の変数および定数である。
【0094】
図12の例は、
図2の例に対して、予測モデルに利用する変数として農作物の実を1個ずつ認識する認識結果を利用する点で相違するが、それ以外の点、すなわち、推定値および予測値は
図2の例と同様に利用することができるため、重複する説明はここでは繰り返さない。
【0095】
<処理の流れ>
変形例(2)では、メインルーチン(
図4)には変更は無いが、学習処理(
図5)および予測処理(
図6)において変更が生じる。以下に、変形例(2)のそれぞれの処理について、変更点を中心に説明する。
【0096】
<処理の流れ:学習処理>
図14は、変形例(2)における学習処理のサブルーチンのフローチャートである。
図14の処理は、
図5の処理と比較して、ステップS205の制御をさらに含む。ステップS205にて、情報処理装置100は、学習用データ210に含まれる画像(動画を構成する1以上のフレーム画像のそれぞれ)に対して、第1認識部2051による画像認識を実行する。すなわち、第1認識部2051は、画像に対して1個の実を含む領域を検索する画像認識を実行し、その結果を個数導出部206へと出力する。
【0097】
ステップS206にて、情報処理装置100は、
図2の認識部205が実の個数ごとに領域を認識するのと同様に、第2認識部2052による画像認識を実行する。第2認識部2052は、画像において、実の個数ごとに、実を囲う領域を検索することによって画像認識を実行し、その結果を個数導出部206へと出力する。
【0098】
ステップS208にて、情報処理装置100は、第1認識部2051からの認識結果と第2認識部2052からの認識結果を予測モデル(式(3))に適用することによって、推定値を導出する。
【0099】
<処理の流れ:予測処理>
図15は、変形例(2)における予測処理のサブルーチンのフローチャートである。
図15の処理は、
図6の処理と比較して、ステップS403の制御をさらに含む。ステップS403にて、情報処理装置100は、予測対象の動画220に含まれる画像(動画を構成する1以上のフレーム画像のそれぞれ)に対して、第1認識部2051による画像認識を実行する。すなわち、第1認識部2051は、画像に対して1個の実を含む領域を検索する画像認識を実行し、その結果を個数導出部206へと出力する。
【0100】
ステップS404にて、情報処理装置100は、
図2の認識部205が実の個数ごとに領域を認識するのと同様に、第2認識部2052による画像認識を実行する。第2認識部2052は、画像において、実の個数ごとに、実を囲う領域を検索することによって画像認識を実行し、その結果を個数導出部206へと出力する。
【0101】
ステップS406にて、情報処理装置100は、第1認識部2051からの認識結果と第2認識部2052からの認識結果を予測モデル(式(3))に適用することによって、予測値を導出する。
【0102】
<まとめ>
以上説明された変形例(2)では、予測モデルは、2種類の画像認識の結果を利用する。2種類の画像認識とは、実ごとに領域を認識する画像認識(第1認識部2051)、および、実の個数ごとに領域を認識する画像認識(第2認識部2052)である。
【0103】
図16は、情報処理装置100による予測について、その精度を説明するための図である。
図16のグラフG30は、予測モデルとして上述の式(3)が採用された場合の結果に対応する。
【0104】
グラフG30は、
図7のグラフG10と同様に、2020年4月(「2020-04」)から同年10月(「2020-10」)までの間、7日ごとに算出された収穫量の予測値および実測値を示す。予測値は実線(線L31)で示され、実測値は一点鎖線(L32)で示されている。予測値および実測値のそれぞれは、予測値および実測値のそれぞれの個数が単位個数当たりの重量を利用して変換された重量で示されている。
【0105】
図16の予測値の全体としての誤差は、MAPE(平均絶対誤差率)=26.71程度という好適な結果を示した。なお、
図16の例に関するMAPEの値は、
図7の例に関して上述したMAPEの値(38.27程度)よりも低く、これにより、予測モデルが上述の2種類の画像認識の結果を利用することにより、1種類の画像認識の結果のみを利用する場合(第2認識部2052のみ)よりも予測精度が向上し得るという知見が得られた。
【符号の説明】
【0106】
100 情報処理装置、101 制御装置、122 学習用プログラム、124 予測用プログラム、201 情報取得部、202 学習部、203 パラメータ格納部、204 予測部、205 認識部、206 個数導出部、207 出力部、208 環境データ格納部、300,1300 画面、2051 第1認識部、2052 第2認識部。