(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022114352
(43)【公開日】2022-08-05
(54)【発明の名称】人工知能(AI)による推定システム、学習データ生成装置、学習装置、摘果対象物推定装置、学習システム、及び、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220729BHJP
G06T 7/174 20170101ALI20220729BHJP
G06N 20/00 20190101ALI20220729BHJP
【FI】
G06T7/00 350C
G06T7/174
G06N20/00 130
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021010624
(22)【出願日】2021-01-26
(11)【特許番号】
(45)【特許公報発行日】2021-11-10
(71)【出願人】
【識別番号】591184046
【氏名又は名称】株式会社アドイン研究所
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】佐々木 浩二
(72)【発明者】
【氏名】井上 和治
(72)【発明者】
【氏名】岩渕 葵
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA05
5L096FA02
5L096GA10
5L096GA59
5L096HA11
5L096KA04
(57)【要約】 (修正有)
【課題】農作物の摘果作業における摘果対象物を高精度に推定するAIを提供する。
【解決手段】学習データ生成装置と、学習装置と、摘果対象物推定装置を有する推定システム501であって、学習データ生成装置は、農作物の摘果前(第1)と後(第2)を示す画像データを入力し両者の差異となる対象物体を摘果対象物として抽出する抽出部と、その抽出結果を含む第1学習データを用いて学習して摘果対象物を推定する生成部と、生成部からの推定結果画像データを識別して第2学習データを生成する識別部とを備える。学習装置は、第2学習データにより、摘果対象物の推定結果画像データを生成する生成部と、学習データと比較に基づく識別結果を生成部へフィードバックさせて学習モデルを学習させる識別部とを有する学習部を備える。摘果対象物推定装置は、摘果前を示す未知画像データから学習済みモデルにより、摘果対象物を推定する。
【選択図】
図20
【特許請求の範囲】
【請求項1】
学習データを生成する学習データ生成装置、生成部と識別部を有し、かつ、前記学習データを用いて学習モデルを学習させる学習装置、及び、前記学習装置が学習させた学習済みモデルを用いる摘果対象物推定装置を有する推定システムであって、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第1学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別部と
を備え、
前記学習装置は、
前記第2学習データを入力する学習データ入力部と、
前記第2学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する前記生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて前記学習モデルを学習させる前記識別部と
を備え、
前記摘果対象物推定装置は、
未知の摘果前の農作物を示す未知画像データを入力する画像データ入力部と、
前記学習済みモデルにより、前記摘果対象物を推定する推定部と、
前記推定部による推定結果を出力する出力部と
を備える推定システム。
【請求項2】
前記学習装置は、
前記対象物体と、前記対象物体以外とを区別して示すマスク画像データを生成するマスク画像データ生成部を更に備える
請求項1に記載の推定システム。
【請求項3】
前記マスク画像データ生成部は、
前記対象物体を識別するインスタンスセグメンテーションを行う前記マスク画像データを生成する
請求項2に記載の推定システム。
【請求項4】
前記学習装置は、
前記対象物体をイラスト化するイラスト化処理部を更に備える
請求項1乃至3のいずれか1項に記載の推定システム。
【請求項5】
前記学習装置において、
前記第1入力画像データ、及び、前記第2入力画像データは、
複数の視点で撮影される動画、又は、複数の静止画を示す画像データであって、前記農作物の全周を示す
請求項1乃至4のいずれか1項に記載の推定システム。
【請求項6】
前記学習装置において、
前記生成部、及び、前記識別部は、
敵対的生成ネットワークを構成し、
前記生成部は、
前記識別部に本物と識別されるのを狙って前記推定結果画像データを生成し、
前記識別部は、
前記抽出結果を示す本物であるか、又は、前記生成部に生成された前記推定結果画像データである偽物であるかを識別し、
前記生成部、及び、前記識別部は、
前記識別部によって本物であると識別した前記推定結果画像データを前記第2学習データとして生成する
請求項1乃至5のいずれか1項に記載の推定システム。
【請求項7】
生成部と識別部を有する学習モデルを学習させる学習装置であって、
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物における摘果対象物を推定した結果を示す推定結果画像データを生成する前記生成部と、
前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて前記学習モデルを学習させる前記識別部と
を備える学習装置。
【請求項8】
請求項7に記載の学習装置が学習させた学習済みモデルを用いる摘果対象物推定装置であって、
未知の摘果前の農作物を示す未知画像データを入力する画像データ入力部と、
前記学習済みモデルにより、前記摘果対象物を推定する推定部と、
前記推定部による推定結果を出力する出力部と
を備える摘果対象物推定装置。
【請求項9】
対象物体と、前記対象物体以外とを区別して示すマスク画像データを生成するマスク画像データ生成部を更に備える
請求項8に記載の摘果対象物推定装置。
【請求項10】
前記第1入力画像データにおける対象物体をイラスト化するイラスト化処理部を更に備える
請求項8又は9に記載の摘果対象物推定装置。
【請求項11】
請求項1に記載の学習データ生成装置、
及び、
請求項7に記載の学習装置を有する
学習システム。
【請求項12】
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第1学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別部と
を備える学習データ生成装置。
【請求項13】
コンピュータに学習データ生成方法を実行させるためのプログラムであって、
コンピュータが、摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力手順と、
コンピュータが、前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出手順と、
コンピュータが、前記抽出手順による抽出結果を含む第1学習データで学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成手順と、
コンピュータが、前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別手順と
を実行させるためのプログラム。
【請求項14】
生成部と識別部を有するコンピュータに学習方法を実行させるためのプログラムであって、
コンピュータが、摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力手順と、
コンピュータが、前記農作物における摘果対象物を推定した結果を示す推定結果画像データを生成する生成手順と、
コンピュータが、前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて学習モデルを学習させる識別手順と
を実行させるためのプログラム。
【請求項15】
請求項14に記載のプログラムを実行して学習させた学習済みモデルを用いるコンピュータに推定方法を実行させるためのプログラムであって、
コンピュータが、未知の摘果前の農作物を示す未知画像データを入力する画像データ入力手順と、
コンピュータが、前記学習済みモデルにより、前記摘果対象物を推定する推定手順と、
コンピュータが、前記推定手順による推定結果を出力する出力手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AIによる推定システム、学習データ生成装置、学習装置、摘果対象物推定装置、学習システム、及び、プログラムに関する。
【背景技術】
【0002】
人工知能(Artificial Intelligence、以下「AI」という。)により、現状等に基づき推定、又は、様々な対象物を認識する技術が知られている。
【0003】
例えば、コンベアにロボットハンドを設置した工場等に用いるロボットシステムがある。具体的には、ロボットシステムは、まず、カメラによって物体を撮影する。撮影後、撮影された画像に基づき、物体が画像認識される。そして、ロボットシステムは、撮影した画像に基づき、物体の重心位置を計算する。このように計算される重心位置に基づき、ロボットシステムは、ロボットハンドで物体を把持する正確な位置等を決定する。このようにして、ロボットハンドで物体を安定して把持する技術が知られている(例えば、特許文献1等を参照)。
【0004】
また、AIによる物体の認識は、農業の場面にも用いられる。具体的には、ぶどうの摘粒作業において、AIが粒数を自動的に判定する技術が知られている(例えば、非特許文献1等を参照)。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】庄司健一,“「ぶどうの粒いくつある?」を自動判定するAI来夏実用化へ~山梨大学と農業生産法人が共同開発”,[online],2020年8月17日,DG Lab Haus,[令和2年12月2日検索],インターネット,<URL:https://media.dglab.com/2020/08/17-grape-01/>
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記の特許文献1に記載のような技術は、工場内等の照明環境を想定した技術である。すなわち、工場内等といった照明環境は、撮影、及び、画像認識等の処理を行うのに、野外等の自然光の下といった照明環境と比較して、光等の条件が安定している環境である場合が多い。したがって、工場内等の照明環境を想定した技術は、農作物を扱う等の照明環境には適用させにくい課題がある。
【0008】
また、上記の非特許文献1に記載のような技術において、AIを学習させるには、学習データを十分に確保することになる。特に、AIを高精度化させるには、大量の学習データを確保するのが望ましい。ゆえに、上記の非特許文献1に記載のような技術では、摘果対象物をAIで高精度に推定するのが難しい課題がある。
【0009】
本発明は、農作物の摘果作業における摘果対象物をAIで高精度に推定することを目的とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するため、本発明の一態様における、
学習データを生成する学習データ生成装置、生成部と識別部を有し、かつ、前記学習データを用いて学習モデルを学習させる学習装置、及び、前記学習装置が学習させた学習済みモデルを用いる摘果対象物推定装置を有する推定システムでは、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記第1入力画像データ、及び、前記抽出部による抽出結果のセットを第1学習データとして学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別部と
を備え、
前記学習装置は、
前記第2学習データを入力する学習データ入力部と、
前記第2学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する前記生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて前記学習モデルを学習させる前記識別部と
を備え、
前記摘果対象物推定装置は、
未知の摘果前の農作物を示す未知画像データを入力する画像データ入力部と、
前記学習済みモデルにより、前記摘果対象物を推定する推定部と、
前記推定部による推定結果を出力する出力部と
を備える。
【発明の効果】
【0011】
本発明によれば、農作物の摘果作業における摘果対象物を高精度にAIで推定できる。
【図面の簡単な説明】
【0012】
【
図1】AI用の学習データ生成装置の全体構成例を示す図である。
【
図2】情報処理装置のハードウェア構成例を示す図である。
【
図4】敵対的生成ネットワークの構成例を示す図である。
【
図8】インスタンスセグメンテーションの処理例、及び、マスク画像データの例を示す図である。
【
図10】イラスト化された画像データ、又は、マスク画像データの変形例を示す図である。
【
図14】学習装置によって学習を行う構成の例を示す図である。
【
図16】摘果対象物推定装置の構成例を示す図である。
【
図17】摘果対象物推定装置によって推定を行う構成の例を示す図である。
【
図18】摘果対象物推定装置の機能構成例を示す図である。
【
図19】学習システムの機能構成例を示す図である。
【
図20】推定システムの機能構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、添付する図面を参照して、具体例を説明する。なお、以下の説明において、図面に記載する符号は、符号が同一の場合には同一の要素を指す。
【0014】
[第1実施形態]
図1は、AI用の学習データ生成装置の全体構成例を示す図である。例えば、AI用の学習データ生成装置(以下「学習データ生成装置10」という。)は、以下のように用いる。
【0015】
学習データ生成装置10は、例えば、以下のような情報処理装置等である。
【0016】
[情報処理装置のハードウェア構成例]
図2は、情報処理装置のハードウェア構成例を示す図である。例えば、学習データ生成装置10は、Central Processing Unit(CPU、以下「CPU10H1」という。)、記憶装置10H2、インタフェース10H3、入力装置10H4、及び、出力装置10H5等を有するハードウェア構成である。また、学習データ生成装置10は、Graphics Processing Unit(GPU、以下「GPU10H6」という。)を有するハードウェア構成であるのが望ましい。
【0017】
CPU10H1は、演算装置及び制御装置の例である。例えば、CPU10H1は、プログラム、又は、操作等に基づいて演算を行う。
【0018】
記憶装置10H2は、メモリ等の主記憶装置である。なお、記憶装置10H2は、SSDSolid State Drive(SSD)、又は、ハードディスク等の補助記憶装置があってもよい。
【0019】
インタフェース10H3は、ネットワーク、又は、ケーブル等を介して外部装置とデータを送受信する。例えば、インタフェース10H3は、コネクタ、又は、アンテナ等である。
【0020】
入力装置10H4は、ユーザによる操作を入力する装置である。例えば、入力装置10H4は、マウス、又は、キーボード等である。
【0021】
出力装置10H5は、ユーザに対して処理結果等を出力する装置である。例えば、出力装置10H5は、ディスプレイ等である。
【0022】
GPU10H6は、画像処理用の演算装置である。なお、GPU10H6は、グラフィックコントローラ等と呼ばれる場合もある。特に、GPU10H6は、画像処理をリアルタイムに行う場合、又は、学習における並列計算等に用いる。
【0023】
なお、学習データ生成装置10は、上記以外のハードウェア資源を内部、又は、外部に更に有するハードウェア構成であってもよい。また、学習データ生成装置10は、複数の装置であってもよい。
【0024】
[農作物、対象物体、摘果対象物、及び、摘果作業について]
学習データ生成装置10は、摘果作業を行う前の農作物(以下、摘果作業前の状態の農作物を「第1農作物12」という。)をカメラ11で撮影した画像データ(以下「第1入力画像データ11D1」という。)を入力する。なお、カメラ11等の撮影装置は、学習データ生成装置10が有する構成でもよい。
【0025】
さらに、学習データ生成装置10は、摘果作業を行った後の農作物(以下、摘果作業後の状態の農作物を「第2農作物13」という。)をカメラ11で撮影した画像データ(以下「第2入力画像データ11D2」という。)を入力する。
【0026】
以下、第1入力画像データ11D1、及び、第2入力画像データ11D2をまとめて単に「入力画像データ」という場合がある。
【0027】
第1入力画像データ11D1、及び、第2入力画像データ11D2は、動画、静止画、又は、これらの組み合わせである。また、動画の形式で入力する場合には、例えば、動画を構成する複数のフレームのうち、1枚、又は、所定数のフレームを切り出して、入力画像データとする。
【0028】
摘果作業は、農作物が有する、若しくは、農作物の周辺に存在する実、花、葉、又は、これらの組み合わせ(以下「対象物体」という。)を間引く作業である。すなわち、摘果作業は、摘粒、摘果、摘花、又は、これらの組み合わせとなる作業である。
【0029】
以下、対象物体のうち、摘果作業で間引く対象を「摘果対象物」という。つまり、摘果作業は、複数の対象物体のうち、いくつかの摘果対象物を選んで間引く作業である。なお、図では、摘果対象物を「×」で示し、間引かれた状態であることを示す。ただし、対象物体と、摘果対象物とをどのように区別して示すかの形式は問わない。
【0030】
作業者14は、対象物体のうち、どれを摘果対象物とするかを決定する。
【0031】
例えば、摘果対象物は、同じ農作物であっても、目的により、異なる場合がある。まず、目的は、例えば、農作物に全体的に日当たりが均等となるようにする、味を調整する、農作物がある程度密集するようにする、農作物が所定の大きさに収まるようにする、又は、収穫時に農作物の見栄え(色、形状、傷がついている対象物体を少なく、又は、これらを総合した外観等である。)が良くなるようにする等である。
【0032】
作業者14は、摘果の目的に基づき、第1農作物12に対して、見本となる摘果作業を行う。そして、作業者14は、摘果作業の前後を別々に撮影する。このような各々の撮影により、入力画像データが生成される。
【0033】
また、入力画像データは、摘果の目的、又は、農作物の種類等によって別々に撮影する。すなわち、目的によって摘果作業の内容が異なる場合がある。ゆえに、入力画像データは、目的、又は、農作物の種類等に応じて別々に生成する。なお、作業者14は、見本となる摘果作業を示すため、例えば、熟練の農業者等である。
【0034】
第1入力画像データ11D1、及び、第2入力画像データ11D2を比較すると、学習データ生成装置10等は、どの箇所の対象物体を摘果対象物とするか、及び、どの程度の量を摘果対象物とするか等が把握できる。
【0035】
農作物は、例えば、トマト等といった実を実らせる農作物である。以下、農作物がトマトである場合を例に説明する。ただし、農作物は、トマトに限られない。例えば、農作物は、柿、さくらんぼ、苺、葡萄、又は、蜜柑等の果物である。又は、農作物は、花、若しくは、野菜等でもよい。なお、農作物がトマト等であっても、摘果対象物には、実の周辺に存在する葉、又は、茎等が含まれてもよい。
【0036】
以上のように撮影される第1入力画像データ11D1、及び、第2入力画像データ11D2が学習データ生成装置10に入力される。次に、第1入力画像データ11D1、及び、第2入力画像データ11D2が入力されると、学習データ生成装置10は、全体処理により、学習用の画像データ(以下「学習データ15」という。)を生成する。このように生成される学習データ15を入力し、AI16は、学習を行う。
【0037】
[全体処理例]
図3は、第1実施形態の全体処理例を示す図である。
【0038】
ステップS0301では、作業者14は、第1入力画像データ11D1を撮影する。すなわち、作業者14は、摘果作業を行う前に第1農作物12を撮影して、第1入力画像データ11D1を生成する。
【0039】
ステップS0302では、作業者14は、摘果作業を行う。この摘果作業により、第1農作物12は、摘果対象物が排除された状態となり、第2農作物13となる。このような摘果作業の後、ステップS0303が行われる。
【0040】
ステップS0303では、作業者14は、第2入力画像データ11D2を撮影する。すなわち、作業者14は、摘果作業を行った後に第2農作物13を撮影して、第2入力画像データ11D2を生成する。
【0041】
ステップS0304では、学習データ生成装置10は、第1入力画像データ11D1、及び、第2入力画像データ11D2を入力する。
【0042】
ステップS0305では、学習データ生成装置10は、摘果対象物を抽出する。例えば、学習データ生成装置10は、第1入力画像データ11D1、及び、第2入力画像データ11D2を比較して、第1入力画像データ11D1が示すすべての対象物体のうち、第2入力画像データ11D2上では無くなっている対象物体を摘果対象物と抽出する。
【0043】
したがって、抽出結果は、摘果対象物の位置を示す画像データ等の形式となる。具体的には、抽出結果は、第1入力画像データ11D1を加工して、摘果対象物の領域を所定の色で塗り潰す、又は、ハッチングする等によって示す。
【0044】
なお、抽出結果は、画像データ形式に限られず、摘果対象物を特定できればよい。例えば、抽出において、対象物体を認識する場合には、各々の対象物体に対し、識別番号、又は、画像データにおける座標値(図心等の代表値でもよい。)が設定される。このような識別番号、又は、座標値等を指定して摘果対象物を特定する形式で、抽出結果は生成されてもよい。
【0045】
ただし、学習データ生成装置10は、識別番号等のデータがあれば、抽出結果を示す画像データが生成できるとする。以下、抽出結果は、画像データの形式である例で説明する。
【0046】
なお、抽出結果は、ユーザによる指定、訂正、又は、追加がされてもよい。
【0047】
ステップS0306では、学習データ生成装置10は、抽出結果を示す画像データ等を学習データとし、学習を行う。
【0048】
学習データは、抽出結果等を示す画像データ等、すなわち、イラスト化された形式の画像等である。ただし、学習データは、複数の形式の画像データでもよい。学習データの形式は、後述する。
【0049】
なお、学習は、繰り返し行われてもよい。すなわち、学習は、後述するステップS0307、及び、ステップS0308が所定の精度を確保して実行できる程度に繰り返されてもよい。
【0050】
ステップS0307では、学習データ生成装置10は、推定結果画像データを生成する。
【0051】
ステップS0308では、学習データ生成装置10は、推定結果画像データを識別する。
【0052】
ステップS0307、及び、ステップS0308は、例えば、以下のような構成で実現されるのが望ましい。
【0053】
[敵対的生成ネットワーク(Generative Adversarial Networks、以下「GAN」という。)による画像データの生成と識別の例]
図4は、敵対的生成ネットワークの構成例を示す図である。例えば、学習データ生成装置10は、抽出部10F2、生成部10F3、及び、識別部10F4等により、以下のような構成であるのが望ましい。
【0054】
GANは、図示するように、生成部10F3が生成する画像データと、抽出部10F2による抽出結果を示す画像データを識別部10F4が見分ける構成である。
【0055】
生成部10F3は、敵対的生成ネットワークにおける生成器(Generator、生成ネットワーク等とも呼ばれる。)となる。すなわち、生成部10F3は、画像データを作り出すニューラルネットワークモデルである。
【0056】
識別部10F4は、敵対的生成ネットワークにおける識別器(Discriminator、識別ネットワーク等とも呼ばれる。)となる。すなわち、識別部10F4は、画像データが生成器によって生成された画像データであるか否かを識別するニューラルネットワークモデルである。
【0057】
以下、GANを構成する生成器、及び、識別器の学習に用いる学習データを「第1学習データ」という。一方で、全体処理によって生成される、すなわち、識別部10F4の識別結果に基づき、出力する学習データを「第2学習データ」という。
【0058】
図示するGANでは、抽出結果を示す画像データ(以下単に「抽出結果20」という。)が「本物」となる。また、抽出結果20は、生成部10F3の「見本」にもなる。すなわち、生成部10F3は、例えば、いくつかの抽出結果20を第1学習データとして事前に学習し、ある程度の精度で抽出結果20に似せた画像データを生成できる構成とする。
【0059】
一方で、生成部10F3が生成する摘果作業の内容を推定した結果を示す画像データ(以下「推定結果画像データ21」という。)が「偽物」である。
【0060】
ステップS0307では、生成部10F3は、推定結果画像データ21を生成する。
【0061】
推定結果画像データ21は、抽出結果20を真似て生成する画像データである。したがって、推定結果画像データ21は、抽出結果20と同様の形式であって、摘果対象物を特定する画像データである。このように、生成部10F3は、「偽物」である推定結果画像データ21を識別部10F4に「本物」と識別させるのを狙って生成する。
【0062】
ただし、推定結果画像データ21は、生成部10F3が生成する画像データであるため、実在する農作物を示す画像データではない。このように、生成部10F3、及び、識別部10F4、すなわち、GANは、合成画像データを生成する。
【0063】
また、推定結果画像データ21は、抽出結果20が示す摘果作業を別の農作物において再現する。すなわち、推定結果画像データ21は、すべての対象物体のうち、摘果対象物となる対象物体を推定した結果を示す。
【0064】
生成部10F3は、事前に、抽出結果20等を第1学習データにして摘果作業のパターン等を学習する。したがって、生成部10F3は、未知の農作物を示す第1入力画像データ11D1が入力されると、まず、事前の学習により、第1入力画像データ11D1が示す対象物体を認識できる。
【0065】
次に、生成部10F3は、事前の学習により、認識した対象物体のうち、どの位置にある対象物体を摘果対象物するか、又は、どの程度の量を摘果対象物とするか等を推定できる。そして、生成部10F3は、これらの推定結果を画像データの形式で示し、推定結果画像データ21を生成する。
【0066】
ステップS0308では、抽出結果20、及び、推定結果画像データ21を混ぜ、識別部10F4は、「本物」であるか、又は、「偽物」であるかを識別する。
【0067】
生成部10F3は、できる限り「本物」と識別部10F4に識別されるように推定結果画像データ21を生成するように、画像処理等を学習する。一方で、識別部10F4は、フィードバック等に基づき、「偽物」を「偽物」と識別できる精度を高めるように学習する。
【0068】
具体的には、識別部10F4による識別結果に対し、第1学習データには、識別対象となった画像データが「本物」であるか、又は、「偽物」であるかの「正解」を示すデータ(以下「正解データ22」という。)が用意される。そして、識別結果と正解データ22を照合すると、識別部10F4が正しい識別であったか否かを評価できる。
【0069】
このような評価、及び、識別結果等が生成部10F3にフィードバック(Feedback)されると、生成部10F3は、識別部10F4に「本物」と識別されるのを狙って、推定結果画像データ21を生成するように学習できる。すなわち、生成部10F3は、フィードバックによって「本物」と識別されやすい「偽物」を生成できるように学習する。
【0070】
また、評価が識別部10F4にフィードバックされると、識別部10F4は、「偽物」を「偽物」と識別できる精度を高めるように学習できる。すなわち、識別部10F4は、フィードバックによって、「偽物」を見逃す、又は、「偽物」を「本物」と誤認する確率を低くするように学習する。
【0071】
なお、学習データ生成装置10は、事前にステップS0306による第1学習データに基づく学習を繰り返す、学習処理を行って、生成部10F3、及び、識別部10F4にある程度の精度を持たせてもよい。
【0072】
そして、識別部10F4によって「本物」と識別される程度の品質で生成された推定結果画像データ21を第2学習データとする。このように、学習データ15を生成すると、AI16が学習に用いる第2学習データを増やすことができる。
【0073】
一方で、識別部10F4によって「偽物」と識別された推定結果画像データ21は、「再利用」の対象とする。すなわち、「偽物」と識別された推定結果画像データは、学習が不十分な結果である。
【0074】
そこで、例えば、「偽物」と識別された推定結果画像データに対して、「本物」と識別させるように、不十分な点を修正する操作を行う。このように、手動で操作された内容を反映させた画像データ等により、生成部10F3にフィードバックさせる等の処理が「再利用」となる。このような「再利用」がされると、生成部10F3は、不十分な点を学習し、より「本物」と識別されやすい推定結果画像データ21を生成できる。
【0075】
なお、「再利用」は、生成部10F3の学習に用いるに限られない。例えば、「再利用」は、手動で操作された内容を反映させた画像データを学習データ15に加える等でもよい。ただし、「再利用」が難しい場合には、「偽物」と識別された推定結果画像データは、破棄されてもよい。
【0076】
なお、図示するようなGANは、AI16の学習に用いる学習データ15を生成する。このように生成される第2学習データは、農作物の摘果箇所を推定するAI用であり、人による目視で評価される画像データとは異なる。
【0077】
例えば、一般的な風景等を撮影した場合には、画像データには、人の目視では判断しにくいような微小な色の変化等が存在する場合がある。このような変化は、人の目視による評価ではあまり重視されない。一方で、コンピュータによる評価では、画素値の変動等を計算すると把握できる場合がある。このように、画像データの生成は、コンピュータによる評価を意識するか、又は、人の目視による評価を意識するかにより、重視する評価項目等が異なる場合がある。
【0078】
[撮影方法の例]
第1入力画像データ11D1、及び、第2入力画像データ11D2等の入力画像データは、例えば、以下のように撮影されるのが望ましい。
【0079】
図5は、撮影方法の例を示す図である。以下、図において上下方向を「Z軸方向」とする。Z軸方向は、いわゆる重力方向である。また、図において、主に左右方向を「X軸方向」とする。X軸方向は、農作物に対して正面に向かい合った状態で右手方向とする。さらに、奥行き方向を「Y軸方向」とする。
【0080】
以下、第1農作物12を撮影する場合を例に説明する。
【0081】
入力画像データは、Z軸回りに複数の視点で撮影するのが望ましい。すなわち、入力画像データは、第1農作物12をできるだけ様々な視点で示す画像データであるのが望ましい。
【0082】
具体的には、カメラ11は、光軸を第1農作物12に向けて、Z軸を中心に回転するように(いわゆるYaw軸回転である。図において「Yaw」で示す回転である。)動画で撮影するのが望ましい。
【0083】
このように撮影すると、第1農作物12を全周方向から撮影できる。なお、入力画像データは、360°のうち、3視点程度を撮影する静止画等でもよい。
【0084】
摘果作業は、農作物の全体的な形状、又は、日当たり等を気にして行う場合がある。したがって、摘果対象物は、様々な角度に存在する場合がある。ゆえに、カメラ11は、1つの視点では、すべての摘果対象物を撮影できない場合もある。そのため、入力画像データは、できるだけ死角がないように様々な視点で撮影されるのが望ましい。
【0085】
なお、入力画像データは、X軸回りに複数の視点で更に撮影するのがより望ましい。例えば、カメラ11は、光軸を第1農作物12に向けて、第1農作物12の正面となる視点、第1農作物12を下から撮影する視点(いわゆる見上げ視点である。)、及び、第1農作物12の背面となる視点等で撮影する。
【0086】
このように、カメラ11は、X軸を中心に回転するように(いわゆるPitch軸回転である。図において「Pitch」で示す回転である。)撮影するのが望ましい。
【0087】
また、第2入力画像データ11D2も同様に撮影されるのが望ましい。
【0088】
以上のように、Pitch、又は、Yawの回転を行って複数の視点で農作物を撮影して入力画像データが撮影されるのが望ましい。このような撮影であると、農作物の全体の形状を整える摘果作業、又は、農作物の日当たりの良さを整える摘果作業等を入力画像データから把握できる。
【0089】
また、入力画像データは、異なる気象条件、又は、異なる周囲物の配置等の条件下で撮影されてもよい。つまり、入力画像データは、季節又は天候等により、異なる周囲環境、又は、異なる照明条件下で撮影された状態を示すのが望ましい。
【0090】
[第2実施形態]
第2実施形態は、第1実施形態と比較すると、全体処理が以下のようになる点が異なる。
【0091】
図6は、第2実施形態の全体処理例を示す図である。以下、第1実施形態と異なる点を中心に説明し、重複する説明を省略する。第2実施形態における全体処理は、第1実施形態における全体処理と比較すると、ステップS0601を行う点が異なる。
【0092】
ステップS0601では、学習データ生成装置10は、摘果対象物を抽出する。具体的には、学習データ生成装置10は、以下のような抽出処理を行って摘果対象物を抽出する。
【0093】
図7は、抽出処理の例を示す図である。例えば、ステップS0601は、以下のような処理を行う。
【0094】
ステップS0701では、学習データ生成装置10は、第1マスク画像データを生成する。
【0095】
第1マスク画像データは、後段のステップS0702で行うインスタンスセグメンテーション(Instance Segmentation)用の学習において学習データとなるマスク画像データである。すなわち、第1マスク画像データは、「見本」となる画像データである。
【0096】
なお、第1マスク画像データは、画像データ内の一部、又は、全部を塗り潰す等のマスクする領域を指定するデータでもよい。
【0097】
以下、第1マスク画像データをインスタンスセグメンテーション用の学習データとし、かつ、インスタンスセグメンテーションにより生成されるマスク画像データを「第2マスク画像データ」という。なお、マスク画像データの詳細は後述する。
【0098】
ステップS0702では、学習データ生成装置10は、インスタンスセグメンテーションの学習を行う。
【0099】
ステップS0703では、学習データ生成装置10は、インスタンスセグメンテーションを評価する。
【0100】
ステップS0704では、学習データ生成装置10は、インスタンスセグメンテーションを行う第2マスク画像データを生成する。
【0101】
例えば、インスタンスセグメンテーション、及び、マスク画像データの生成は以下のような処理である。
【0102】
図8は、インスタンスセグメンテーションの処理例、及び、マスク画像データの例を示す図である。以下、
図8(A)に示す第1入力画像データ11D1を例に説明する。
【0103】
例えば、第1入力画像データ11D1に、第1物体31、第2物体32、第3物体33、及び、第4物体34の4つの対象物体が撮影されたとする。
【0104】
図8(B)は、インスタンスセグメンテーションの実行結果、及び、インスタンスセグメンテーションにより生成されるマスク画像データ40の例を示す図である。
【0105】
インスタンスセグメンテーションは、例えば、
図8(A)に示す第1入力画像データ11D1に対して処理を実行することで、
図8(B)に示すマスク画像データ40を生成する処理である。
【0106】
具体的には、インスタンスセグメンテーションは、第1入力画像データ11D1において、物体の検出、及び、検出した複数の物体を別々の物体と識別する処理である。
【0107】
図8(B)に示す例は、第1物体31、第2物体32、第3物体33、及び、第4物体34を示す領域(以下、画像データにおいて対象物体を示す領域を「第1領域」という。)と、第1物体31、第2物体32、第3物体33、及び、第4物体34以外の領域(以下「第2領域」という。例えば、第2領域は背景等である。)とを2色で区別して示すマスク画像データ40の例である。
【0108】
具体的には、
図8(B)に示すように、マスク画像データ40において、第1領域は、白色で示す領域である。一方で、マスク画像データ40において、第2領域は、黒色で示す領域である。このように、マスク画像データ40は、例えば、第1領域、及び、第2領域を二値化して異なる色で示す画像データである。
【0109】
なお、マスク画像データ40は、
図8(B)に示すような形式に限られない。例えば、第1領域、及び、第2領域をどのような色にするか等は事前に設定でき、他の色の組み合わせでもよい。また、マスク画像データ40は、色で領域を区別する形式に限られず、例えば、ハッチングの有無、又は、識別データで区別する等の形式でもよい。
【0110】
学習データ生成装置10は、マスク画像データ40を第1入力画像データ11D1に適用すると、第1領域を抽出した画像データを生成できる。すなわち、マスク画像データ40を参照すると、学習データ生成装置10は、第1入力画像データ11D1において、対象物体を認識し、対象物体を抽出した画像データを生成できる。
【0111】
マスク画像データ40を利用すると、第1入力画像データ11D1が示す背景等を削除できる。すなわち、学習において、背景等といった対象物体以外のデータを排除できると、AIが、摘果作業において重要でない物体、又は、背景等を無駄に学習してしまうのを防ぐことができる。
【0112】
このように、マスク画像データ40は、背景等を第2領域とする等のように、第1領域以外をマスク化ができる画像データであるのが望ましい。
【0113】
また、マスク画像データ40は、同じ種類の対象物体であっても、個々の対象物体を識別できる。すなわち、マスク画像データ40を適用すると、
図8(B)に示すように、第1物体31、第2物体32、第3物体33、及び、第4物体34を第1対象物体41、第2対象物体42、第3対象物体43、及び、第4対象物体44のように、異なる物体と識別できる。
【0114】
例えば、セマンティックセグメンテーション(Semantic Segmentation)の処理であると、第1対象物体41、第2対象物体42、第3対象物体43、及び、第4対象物体44は、同じ物体又はカテゴリーに分類され、区別されない場合が多い。
【0115】
一方で、インスタンスセグメンテーションの処理であると、1つの対象物体を示す複数の画素をまとめて1つの物体と識別し、かつ、同じ種類であっても異なる物体であれば、別の物体であると識別できる。
【0116】
すなわち、インスタンスセグメンテーションの処理を行うと、画像データ内において同じ種類の複数の対象物体がある場合には、いわゆるラベリング(labeling)が可能となる。例えば、
図8(B)に示す例では、第1対象物体41、第2対象物体42、第3対象物体43、及び、第4対象物体44が異なる識別番号等で管理できる。
【0117】
したがって、ステップS0702における学習は、対象物体を精度良く識別できる程度に行われる。そして、ステップS0703における評価は、対象物体を抽出する精度等を評価する。このようなステップS0702、及び、ステップS0703が行われると、ステップS0704で、学習データ生成装置10は、インスタンスセグメンテーションを行う第2マスク画像データを生成できる。
【0118】
そして、インスタンスセグメンテーションの評価結果によっては、ステップS0701乃至ステップS0703は繰り返し実行される。すなわち、「学習処理」、及び、
図7に示す処理は、ある程度の精度が確保されるまで繰り返し実行され、その後、十分な学習が完了している状態下において、「生成処理」、及び、
図7に示す処理が行われてもよい。
【0119】
なお、学習データ生成装置10は、ステップS0705のように、イラスト化を更に行うのが望ましい。例えば、イラスト化は以下のような処理である。
【0120】
図9は、イラスト化の処理例を示す図である。以下、
図9(A)に示すような写真形式の第1入力画像データ11D1を入力する場合を例に説明する。
【0121】
図9(A)に示す例は、画像データの中央部分(図において果実が撮影されている部分である。以下「対象物体領域51」という。)に、対象物体が存在する例を示す。例えば、対象物体領域51に写る対象物体は、インスタンスセグメンテーション等の物体認識により識別される。
【0122】
イラスト化の処理は、例えば、第1入力画像データ11D1を入力し、
図9(B)に示すような画像データ(以下「イラスト化画像データ50」という。)を生成する処理である。
【0123】
図9(B)は、イラスト化画像データ50の例を示す図である。
【0124】
イラスト化画像データ50は、対象物体の領域を所定の色で塗り潰す。例えば、
図9(B)に示すように、イラスト化画像データ50は、ハッチングで示す、対象物体の領域を塗り潰した画像データである。
【0125】
以下、
図9(B)に示す例において、対象物体の領域と識別され、イラスト化の処理で塗り潰す領域を「塗り潰し領域52」という。
【0126】
さらに、イラスト化画像データ50は、塗り潰し領域52以外の領域(背景等を示す領域である。)を白色(塗り潰し領域52とは異なる色で塗り潰す等である。)とする。
【0127】
このように、イラスト化の処理は、対象物体の領域と、それ以外の領域を所定の色で色分けする処理等である。このように、イラスト化の処理を行うと、画像データにおけるRGB値又は輝度値等が単純化できる。
【0128】
第1入力画像データ11D1のような写真形式の画像データであると、人の目には分かりにくい細かなRGB値、又は、輝度値等の変化がある場合が多い。
【0129】
例えば、トマトの果実は、単純には赤色の1色である。このような対象物体を示す場合において、写真形式の画像データであると、同じ対象物体における赤色を示す画素は、細かくRGB値等の画素値が変化する場合がある。このような細かなRGB値等の変化は、学習の対象としない方がよい場合が多い。
【0130】
そこで、イラスト化の処理は、対象物体を同じ色で統一して示す等の処理を行う。具体的には、第1入力画像データ11D1に対して、インスタンスセグメンテーション等を行うと、対象物体と識別できる画素がグルーピング化される。
【0131】
そして、イラスト化の処理は、このように同じグルーピング化された画素を同じ色で塗り潰す処理である。さらに、イラスト化の処理は、背景等の領域を対象物体の領域とは異なる色で別の色に塗り潰す処理である。
【0132】
なお、イラスト化の処理は、画像データを単純化する処理であれば、所定の色で塗り潰す以外の処理であってもよい。例えば、イラスト化の処理は、背景等を単色にする等でもよい。また、イラスト化の処理は、色で塗り潰すに代えて、ハッチング等を用いる処理でもよい。
【0133】
このように、画像データをイラスト化すると、抽出結果等を単純化して表現できる。抽出結果は、対象物体の位置、及び、形状等が大まかに表現できればよい場合が多い。すなわち、抽出結果には、細かな色の変化、及び、背景等のデータが不要な場合が多い。
【0134】
そこで、対象物体を単色で簡略に示す方が、写真形式等と比較して、学習の妨げとなる要素を排除し、精度良く学習できる。すなわち、イラスト化された画像データを学習データに摘果作業をAIに学習させると、AIは、摘果作業に重要な特徴量を精度良く学習できる。
【0135】
また、写真形式等の画像データより、イラスト化された画像データの方が、色の表現等が簡略であるため、データ量を少なくできる。
【0136】
図10は、イラスト化された画像データ、又は、マスク画像データの変形例を示す図である。例えば、マスク画像データは、
図10(B)又は
図10(C)のように生成されてもよい。以下、
図10(A)に示す第1入力画像データ11D1を例に説明する。
【0137】
図10(A)は、林檎の4つの果実を対象物体にする第1入力画像データ11D1の例を示す図である。以下、学習データ生成装置10は、このような第1入力画像データ11D1を入力し、学習データ生成装置10は、インスタンスセグメンテーション等を行う例で説明する。
【0138】
例えば、
図8に示すインスタンスセグメンテーションを行う場合には、第2マスク画像データは、
図10(B)に示すように生成される。
【0139】
一方で、第2マスク画像データは、
図10(C)に示すように生成されてもよい。
【0140】
図10(B)は、4つの対象物体をまとめて1つの画像データで示す形式の例を示す図である。このように、第2マスク画像データは、複数の対象物体を1つの画像データで示してもよい。
【0141】
図10(C)は、4つの対象物体を対象物体ごとに分けた4つの画像データとし、画像データ群の形式とする例を示す図である。このように、第2マスク画像データは、対象物体ごとに、画像データを分けて、複数の画像データ群で1つの第2マスク画像データとする画像データ群の形式でもよい。
【0142】
以上のように、マスク画像データ、又は、イラスト化して生成する画像データは、複数の対象物体をまとめて1つの画像データとしてもよいし、又は、対象物体ごとに別々に分けて画像データ群としてもよい。
【0143】
[抽出結果の例]
図11は、対象物体の認識例を示す図である。以下、
図11(A)に示す第1入力画像データ11D1を例に説明する。
【0144】
図11(A)に示す対象物体を扱う場合には、学習データ生成装置10は、対象物体の形状、色、又は、これらの組み合わせ等を事前に学習する。このような学習を行うと、例えば、学習データ生成装置10は、
図11(B)又は
図11(C)のように対象物体を認識できる。
【0145】
図11(B)、及び、
図11(C)は、対象物体を認識した位置、及び、範囲等を破線で囲んで示す例である。なお、認識結果は、
図11(B)、及び、
図11(C)以外の形式で出力されてもよい。
【0146】
図11(B)は、対象物体を認識した結果の第1例を示す図である。例えば、
図11(B)に示すように、対象物体は、第1対象物体101、第2対象物体102、第3対象物体103、第4対象物体104、第5対象物体105、第6対象物体106、及び、第7対象物体107のように、学習データ生成装置10によって認識される。
【0147】
また、対象物体は、例えば、
図11(C)のような形式で認識されてもよい。
【0148】
図11(C)は、対象物体を認識した結果の第2例を示す図である。第2例は、対象物体ごとに認識結果を別々の画像データに分ける形式の例である。具体的には、学習データ生成装置10は、第1対象物体101、第2対象物体102、第3対象物体103、第4対象物体104、第5対象物体105、第6対象物体106、及び、第7対象物体107の認識結果を対象物体ごとに分けて出力する。
【0149】
なお、対象物体の認識結果は、
図11(B)又は
図11(C)に示すように、画像データの形式にされなくともよい。すなわち、対象物体の認識結果は、中間生成物であり、対象物体が画像データ内において占める位置、大きさ、範囲、数、又は、座標等のパラメータ(統計値、又は、代表値を用いる場合を含む。)を学習データ生成装置10が把握できる形式であればよい。
【0150】
したがって、学習データ生成装置10は、認識結果を示すパラメータを内部に記憶し、図示するような画像データ等を出力しなくともよい。
【0151】
ステップS0306では、学習データ生成装置10は、学習データを用いて学習モデルを学習させる。例えば、学習データは、ステップS0601で生成する画像データ、すなわち、イラスト化した画像データ等である。なお、学習データは、学習データは、複数の形式の画像データでもよい。学習データの詳細は後述する。
【0152】
[全体処理の処理結果例]
図12は、全体処理の処理結果例を示す図である。以下、
図12(A)及び
図12(B)を摘果前及び摘果後とする場合を例に説明する。
【0153】
図12(A)は、第1入力画像データ11D1の例を示す図である。
【0154】
図12(B)は、第2入力画像データ11D2の例を示す図である。
【0155】
図12(C)は、第2学習データの例を示す図である。
【0156】
以下、第1入力画像データ11D1において、すなわち、摘果作業の前において、
図12(A)に示すように、第1対象物体101、第2対象物体102、第3対象物体103、第4対象物体104、第5対象物体105、第6対象物体106、及び、第7対象物体107の7つの対象物体がある例とする。
【0157】
一方で、第2入力画像データ11D2において、すなわち、摘果作業が行われた後において、
図12(B)に示すように、第2対象物体102、第3対象物体103、第4対象物体104、及び、第6対象物体106の4つの対象物体が摘果対象物となり、摘果対象物が摘果される例とする。
【0158】
このように、第1入力画像データ11D1、及び、第2入力画像データ11D2を比較すると、摘果対象物が抽出できる。このような抽出結果を学習すると、学習データ生成装置10は、未知の第1入力画像データ11D1が入力されると、摘果作業を推定し、推定結果画像データを生成できる。
【0159】
このように生成される推定結果画像データ等が学習データ15となる。そして、AI16は、学習データ15等を第2学習データとし、摘果作業を学習する。
【0160】
図12(C)は、対象物体を点線で囲んで示す形式の例を示す図である。また、
図12(C)は、摘果対象物をハッチングで示す形式の例を示す図である。
【0161】
なお、第2学習データは、
図12(C)に示す形式に限られない。すなわち、第2学習データは、摘果対象物の位置、数、配置、形状、又は、範囲等をAI16が学習できればよい。したがって、第2学習データは、摘果対象物、及び、対象物体を他の形式で特定してもよい。
【0162】
[第3実施形態]
図13は、学習装置の構成例を示す図である。第1実施形態等と比較すると、第3実施形態における学習データ生成装置10等の構成は、例えば、第1実施形態と同様である。一方で、学習装置301は、情報処理装置等である。なお、学習データ生成装置10、及び、学習装置301は同じ情報処理装置等でもよい。
【0163】
第3実施形態は、第1実施形態、又は、第2実施形態における構成により生成された学習データ15等を用いて学習モデル302を学習させて学習済みモデル303を生成する。
【0164】
以下、学習中、又は、学習が行われる前のAIを単に「学習モデル302」という。一方で、ある程度、第2学習データによる学習が行われた後のAIを「学習済みモデル303」という。
【0165】
学習装置301は、学習データ15を入力する。そして、学習装置301は、学習データ15により、学習モデル302を学習させる。
【0166】
なお、学習には、学習データ15以外のデータが用いられてもよい。例えば、学習装置301は、第1入力画像データ11D1、及び、第2入力画像データ11D2等も入力して、学習モデル302を学習させてもよい。ほかにも、学習装置301は、抽出結果等の形式で第2学習データを入力してもよい。
【0167】
以上のように、学習装置301は、学習モデル302を学習させて学習済みモデル303を生成する。このような学習済みモデル303が生成できると、摘果対象物を推定するAIが実現できる。
【0168】
具体的には、学習装置301は、例えば、以下のような構成である。
【0169】
図14は、学習装置によって学習を行う構成の例を示す図である。図示するように、学習モデル302は、少なくとも生成部10F3、及び、識別部10F4を備える構成である。
【0170】
そして、生成部10F3、及び、識別部10F4は、敵対的生成ネットワークにおける生成器、及び、識別器である。
【0171】
まず、学習装置301は、第1入力画像データ11D1を入力する。
【0172】
次に、生成部10F3は、第1入力画像データ11D1が示す対象物体のうち、摘果対象物となる対象物体を推定する。そして、生成部10F3は、推定結果画像データ21を生成する。以下、
図12(C)と同様に、対象物体を点線で囲んで示し、かつ、対象物体のうち、摘果対象物をハッチングで示す形式の例で説明する。
【0173】
次に、推定結果画像データ21が生成されると、識別部10F4は、推定結果画像データ21に対して、識別を行う。そして、識別部10F4は、学習データ15を「正解」とし、推定結果画像データ21の識別を行う。
【0174】
具体的には、まず、推定結果画像データ21は、摘果対象物の位置、及び、数等を示す。一方で、学習データ15も、推定結果画像データ21と同様に、摘果対象物の位置、及び、数等を示す。
【0175】
以下に説明する例では、識別部10F4は、推定結果画像データ21を参照して、摘果対象物の位置、及び、数がどちらも学習データ15と一致すると、「正解」と識別する。
【0176】
一方で、識別部10F4は、推定結果画像データ21が示す摘果対象物の位置、及び、数のうち、少なくともどちらか一方が学習データ15と異なると、「誤答」と識別する。
【0177】
そして、識別部10F4は、少なくとも生成部10F3に「正解」、又は、「誤答」の識別結果をフィードバックさせる。このように、フィードバックは、識別部10F4から少なくとも生成部10F3に、識別結果を伝える処理等である。
【0178】
なお、生成部10F3の学習のため、フィードバックは、識別部10F4による識別の過程、識別の基準、又は、識別の途中で生成した中間データ等を伝えてもよい。すなわち、フィードバックは、識別結果を出力するまでの過程、及び、途中で生成されたデータ等も識別結果とセットで伝えてもよい。そして、生成部10F3は、フィードバックされる識別結果を参照して学習する。なお、他にセットでデータが送信される場合には、生成部10F3は、セットのデータも参照して学習してもよい。
【0179】
具体的には、
図14に示す例では、推定結果画像データ21、及び、学習データ15は、7個の対象物体から摘果対象物を選択して示す。そして、推定結果画像データ21による推定結果、及び、学習データ15による「正解」を比較すると、この例は、中央に位置する対象物体(図において、差異151で示す対象物体である。)が摘果対象物となるか否かが異なる。
【0180】
ゆえに、推定結果画像データ21、及び、学習データ15の比較結果は、摘果対象物の数、及び、差異151の判断結果が異なるため、差異があると識別される。したがって、比較結果に基づき、摘果対象物の数、及び、位置がいずれも基準とする学習データ15と異なるため、識別部10F4は、「誤答」と識別する。
【0181】
なお、識別部10F4による識別は、基準に対して許容範囲があってもよい。例えば、数は、基準に対して2個以下であれば許容する等と設定されてもよい。このような許容範囲の設定である場合には、差異151の差異だけであれば、識別部10F4は、「正解」と識別する。また、学習において、設定できる項目があってもよい。
【0182】
そして、例えば、生成部10F3が生成する複数の推定結果画像データ21を専門家が見て、評価が行われる。具体的には、生成部10F3が100枚の推定結果画像データ21を生成し、専門家が推定結果画像データ21を見て100枚ともすべて問題ないと判断すれば、生成部10F3等は学習が完了したと評価される。
【0183】
以上のような生成、及び、識別のフィードバックを繰り返すと、学習装置301は、推定結果画像データ21の生成精度を高くできる。
【0184】
なお、学習装置301は、生成、又は、識別において、摘果対象物を抽出するのが望ましい。具体的には、学習装置301は、生成、又は、識別において、マスク画像データの生成、及び、イラスト化等の処理を行う。
【0185】
このように、画像データをマスクする、イラスト化する、又は、両方の処理を行って、抽出を行うと、抽出結果等を単純化して表現できる。そして、抽出結果は、対象物体の位置、及び、形状等が大まかに表現できればよい場合が多い。すなわち、抽出結果には、細かな色の変化、摘果作業に関係の薄い被写体、及び、背景等のデータが不要な場合が多い。
【0186】
特に、農作物がある環境は、周囲の環境をAIの学習用、及び、撮影用に調整しにくい場合も多い。また、農作物がある環境は、不意に関係の薄い被写体も入り込みやすい環境である場合が多い。したがって、画像データをマスクする処理により、このような外乱を少なくできると、AIは、摘果作業の内容を把握するのに重要な特徴量を精度良く学習できる。
【0187】
また、対象物体をイラスト化して単色で簡略に示す、又は、重要な部分に絞った画像データとする方が、写真形式等と比較して、摘果作業の内容を学習する妨げとなる要素を排除し、精度良く学習できる。すなわち、画像データに対して抽出処理を前処理として施して、摘果作業をAIに学習させると、AIは、摘果作業の内容を把握するのに重要な特徴量を精度良く学習できる。
【0188】
なお、識別部10F4は、推定結果画像データ21、識別結果、及び、学習データ15等で学習して識別の精度を向上させてもよい。
【0189】
また、学習データ15は、学習データ生成装置10が生成したデータでもよいし、第1入力画像データ11D1を操作して生成したデータでもよいし、又は、これらの組み合わせでもよい。
【0190】
さらに、推定結果画像データ21、及び、学習データ15の形式は、図示する形式に限られない。すなわち、推定結果画像データ21、及び、学習データ15の形式は、摘果作業の内容が特定できればよい。例えば、推定結果画像データ21、及び、学習データ15の形式は、摘果対象物の位置、及び、数等の内容を数値(画像内の座標又は数量等を示す。)を用いる形式等でもよい。
【0191】
なお、識別の基準は、摘果対象物の位置、及び、数に限られず、他の基準でもよい。そして、何を基準にして識別するかも学習の対象となってよい。また、何を基準にして識別するかは、人が設定できてもよい。
【0192】
[機能構成例]
図15は、学習装置の機能構成例を示す図である。例えば、学習装置301は、画像データ入力部10F1、学習データ入力部301F1、生成部10F3、及び、識別部10F4等を備える機能構成である。なお、学習装置301は、抽出部10F2、マスク画像データ生成部10F5、及び、イラスト化処理部10F6を更に備える機能構成であるのが望ましい。以下、図示する機能構成を例に説明する。
【0193】
画像データ入力部10F1は、第1入力画像データ11D1を入力する画像データ入力手順を行う。例えば、画像データ入力部10F1は、カメラ11、及び、インタフェース10H3等で実現する。
【0194】
生成部10F3は、推定結果画像データ21を生成する生成手順を行う。例えば、生成部10F3は、CPU10H1等で実現する。
【0195】
識別部10F4は、学習データ15と比較して、推定結果画像データ21を識別して、識別結果を生成部10F3へフィードバックさせて学習モデル302を学習させる識別手順を行う。例えば、識別部10F4は、CPU10H1等で実現する。
【0196】
推定結果画像データ21、及び、学習データ15は、どちらか一方、又は、両方が抽出部10F2、マスク画像データ生成部10F5、及び、イラスト化処理部10F6により、マスク画像データを生成する、イラスト化する、又は、両方の処理を行う抽出処理がされるのが望ましい。
【0197】
このように、摘果対象物が抽出されると、単純に農作物を撮影した画像データをそのまま用いる場合等と比較して、学習モデル302は、摘果対象物等の重要な特徴量を精度良く学習できる。すなわち、学習装置301は、学習モデル302を学習させて、摘果作業を精度良く推定できる学習済みモデル303を生成できる。
【0198】
[第4実施形態]
図16は、摘果対象物推定装置の構成例を示す図である。以下、未知の摘果前の農作物を示す画像データの例を「未知画像データ401」という。
【0199】
第4実施形態は、第3実施形態による学習によって生成された学習済みモデル303を実行する実施形態である。以下、学習済みモデル303を用いる摘果対象物推定装置を「摘果対象物推定装置402」とする。
【0200】
摘果対象物推定装置402は、例えば、スマートフォン等の情報処理装置である。なお、学習済みモデル303は、他のサーバ装置等が用いる構成であって、摘果対象物推定装置402は、サーバ装置と通信して学習済みモデル303による推定結果を取得し、出力する構成でもよい。
【0201】
具体的には、学習済みモデル303は、ネットワーク等を介して配布される。なお、学習済みモデル303は、アプリケーションソフト等に組み込まれる形式等でもよい。このように配布される学習済みモデル303を摘果対象物推定装置402にインストールすると、摘果対象物推定装置402は、図示するような推定、及び、推定結果の出力等ができる状態となる。
【0202】
未知画像データ401は、摘果対象物推定装置402が撮影する画像データである。また、未知画像データ401が示す農作物は、摘果作業が行われる前の状態である。このように、未知画像データ401が示す農作物は、第1実施形態、又は、第2実施形態において、学習の対象となった農作物とは異なる「未知」の農作物である。
【0203】
なお、摘果対象物推定装置402は、推定において、摘果対象物を抽出するのが望ましい。具体的には、摘果対象物推定装置402は、推定において、マスク画像データの生成、及び、イラスト化等の処理を行うのが望ましい。このような摘果対象物の抽出が行われると、摘果対象物推定装置402は、推定を精度良くできる。
【0204】
摘果対象物推定装置402は、未知画像データ401に基づき、対象物体を識別する。そして、摘果対象物推定装置402は、学習済みモデル303により、摘果対象物を推定する。例えば、推定結果は、Augmented Reality(AR、拡張現実)の形式等で出力される。具体的には、摘果対象物推定装置402は、出力画面403をユーザ404に対して表示する。
【0205】
出力画面403は、未知画像データ401の上に「×」を重ねて表示して、摘果対象物をユーザ404に伝える画面である。なお、出力は、他の表示形式、又は、音声を用いる等の形式でもよい。
【0206】
なお、摘果対象物推定装置402は、例えば、「最適化項目設定」の操作画面(以下単に「設定画面405」という。)等により、項目を受け付ける構成があるのが望ましい。
【0207】
摘果作業は、いわゆる好みに応じて行われる場合がある。そこで、設定画面405は、好み等を設定するインタフェースである。
【0208】
設定画面405は、「甘味」、「酸味」、「サイズ(全体)」、「サイズ(粒)」、「色」、「均一性」、及び、「ケースに入る形状にする。」等の項目を設定する例である。なお、項目、及び、設定形式は事前に定める。
【0209】
「甘味」、及び、「酸味」は、収穫時の農作物の味を調整する項目である。
【0210】
「サイズ(全体)」は、収穫時の農作物の全体的なサイズを調整する項目である。例えば、「サイズ(全体)」は、複数の実を有する農作物等の場合に、複数の実による全体的なバランス等を調整するのに用いる。
【0211】
「サイズ(実)」は、収穫時の農作物の1つの実当たりのサイズを調整する項目である。例えば、「サイズ(実)」は、複数の実を有する農作物等の場合に、1つ当たりの実の大きさ等を調整するのに用いる。
【0212】
「色」は、収穫時の農作物の色を調整する項目である。
【0213】
「均一性」は、収穫時の農作物の実の大きさを均一にするかを調整する項目である。
【0214】
「ケースに入る形状にする」は、出荷に用いる所定の形状に収まるサイズにするか否かを調整する項目である。このように、項目は、チェックボックス形式で入力されてもよい。
【0215】
また、「ケースに入る形状にする」は、例えば、「縦(mm)×横(mm)×高さ(mm)のケースに入るように」等のように、ケースのサイズが数値で指定できる形式等でもよい。
【0216】
これらの項目は、摘果作業で調整できる項目である。また、どのような摘果作業を行うと、どの項目に影響するかは、学習(すなわち、第3実施形態である。)において、学習データに入力される。例えば、農作物が甘くなる摘果作業、又は、農作物を大きくする摘果作業等のように、学習モデルは摘果作業の目的ごとに学習する。したがって、学習済みモデルは、項目を最適化する摘果作業を特定できる。また、程度(例えば、甘さ、又は、大きさ等である。)は、例えば、数値等で入力する。
【0217】
なお、項目を受け付ける受付部は、設定画面405に限られない。すなわち、設定できる項目は、図示する以外の項目があってもよい。また、受付部は、タスクバー、又は、チェックボックス以外のインタフェースでよい。例えば、受付部は、テキストボックス等で入力するインタフェースでよい。さらに、最適化する項目は、固定であってもよい。
【0218】
図17は、摘果対象物推定装置によって推定を行う構成の例を示す図である。例えば、学習済みモデル302は、第3実施形態による学習後、第3実施形態で用いた敵対的生成ネットワークを構成する生成部10F3、及び、識別部10F4のうち、識別部10F4を取り除いた構成である。
【0219】
すなわち、摘果対象物推定装置402は、未知画像データ401を入力すると、未知画像データ401が示す対象物体に適した摘果作業を推定する。そして、摘果対象物推定装置402は、推定結果を示す推定結果画像データ21を出力する。
【0220】
なお、識別部10F4は、機能が停止していればよい。すなわち、学習済みモデル302は、学習モデル302と同様に識別部10F4を有しても、識別部10F4を停止させればよい。一方で、学習済みモデル302は、識別部10F4を取り除く、又は、識別部10F4がない構成とし、識別部10F4の構成が全くなくともよい。
【0221】
[機能構成例]
図18は、摘果対象物推定装置の機能構成例を示す図である。例えば、摘果対象物推定装置402は、画像データ入力部10F1、推定部402F1、及び、出力部402F2等を備える機能構成である。なお、摘果対象物推定装置402は、抽出部10F2、マスク画像データ生成部10F5、及び、イラスト化処理部10F6を更に備える機能構成であるのが望ましい。以下、図示する機能構成を例に説明する。
【0222】
画像データ入力部10F1は、第1入力画像データ11D1を入力する画像データ入力手順を行う。例えば、画像データ入力部10F1は、カメラ11、及び、インタフェース10H3等で実現する。
【0223】
推定部402F1は、学習済みモデル303により、摘果対象物を推定する推定手順を行う。例えば、推定部402F1は、CPU10H1等で実現する。
【0224】
例えば、推定部402F1は、生成部10F3等で構成する。
【0225】
出力部402F2は、推定結果を出力する出力手順を行う。例えば、出力部402F2は、出力装置10H5等で実現する。
【0226】
未知画像データ401は、抽出部10F2、マスク画像データ生成部10F5、及び、イラスト化処理部10F6により、マスク画像データを生成する、イラスト化する、又は、両方の処理を行う抽出処理がされるのが望ましい。
【0227】
推定においても、学習した要素にできるだけ注目した方が、摘果対象物推定装置402は、摘果対象物等を精度良く推定できる。
【0228】
このように、未知画像データ401において摘果対象物が抽出されると、単純に農作物を撮影した画像データをそのまま用いる場合等と比較して、摘果対象物推定装置402は、摘果対象物等を精度良く推定できる。
【0229】
[学習システムの機能構成例]
図19は、機能構成例を示す図である。例えば、学習データ生成装置10は、画像データ入力部10F1、抽出部10F2、生成部10F3、及び、識別部10F4等を備える機能構成である。また、学習データ生成装置10は、図示するように、マスク画像データ生成部10F5、及び、イラスト化処理部10F6等を更に備える機能構成であるのが望ましい。
【0230】
画像データ入力部10F1は、第1入力画像データ11D1、及び、第2入力画像データ11D2を入力する画像データ入力手順を行う。例えば、画像データ入力部10F1は、カメラ11、及び、インタフェース10H3等で実現する。
【0231】
抽出部10F2は、対象物体のうち、第1入力画像データ11D1、及び、第2入力画像データ11D2の差異となる対象物体を摘果対象物として抽出する抽出手順を行う。例えば、抽出部10F2は、CPU10H1等で実現する。
【0232】
生成部10F3は、抽出結果を示す画像データを第1学習データとして学習し、かつ、推定結果画像データを生成する生成手順を行う。例えば、生成部10F3は、CPU10H1等で実現する。
【0233】
識別部10F4は、推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別手順を行う。例えば、識別部10F4は、CPU10H1等で実現する。
【0234】
マスク画像データ生成部10F5は、対象物体、及び、対象物体以外を区別して示すマスク画像データを生成するマスク画像データ生成手順を行う。例えば、マスク画像データ生成部10F5は、CPU10H1等で実現する。
【0235】
イラスト化処理部10F6は、対象物体、及び、対象物体以外をイラスト化するイラスト化手順を行う。例えば、イラスト化処理部10F6は、CPU10H1等で実現する。
【0236】
以上のように、学習データ生成装置10は、学習データ15等の第2学習データを生成する。このように、第2学習データを生成できると、学習データを人手で生成する場合等と比較して、農作物の摘果箇所を推定するAI用の学習データを用意する作業負荷を軽減できる。例えば、農作物の摘果箇所を推定するAI用の学習データは、少なくとも数千枚の画像データを用意する必要がある。このような用意を行うには、少なくとも1年乃至数年程度の準備期間を要する場合が多い。
【0237】
特に、農作物は、屋外等のように、いわゆる自然光下で撮影される場合が多い。このような照明環境下は、工場等より、照明環境が安定しない条件の場合が多い。具体的には、日光等は、人為的に調整するのが難しい。ゆえに、自然光は、工場等の照明等と比較して、光の強さ、向き、又は、影の有無等といった様々な条件が変動する。ゆえに、農作物を対象とする撮影は、照明環境が工場内等の屋内と比較して条件が厳しい場合が多い。このような外乱の多い条件下でAIを用いる場合には、特に学習データが多いのが望ましい。
【0238】
なお、準備期間は、対象とする農作物の周期によって異なる。
【0239】
さらに、AIの推定精度を十分に高めようとするのであれば、学習データは、更に多く準備されるのが望ましい。例えば、バーニーおじさんのルール(Uncle Bernie‘s rule)等に基づくと、AIの学習には、ニューラルネットワークにおけるパラメータ数の10倍以上の学習データを準備するのが望ましい。したがって、農作物の摘果箇所を推定するAI用の学習データは、数万枚乃至数十万枚以上の画像データが準備されるのが望ましい場合もある。
【0240】
準備する学習データの量が多くなれば、学習データを実物の農作物を撮影して生成する場合には、準備期間が長くなり、作業負荷も大きくなりやすい。このように、作業負荷が大きくなると、開発コストの増大、及び、開発の長期化等の原因になる。
【0241】
一方で、本実施形態のように、学習データを生成できると、少ない作業負荷で多くの学習データを用意できる。したがって、学習データを用意する作業負荷を軽減できる。
【0242】
学習装置301は、例えば、学習データ入力部301F1、及び、学習部301F2等を備える機能構成である。
【0243】
学習データ入力部301F1は、第2学習データを入力する学習データ入力手順を行う。例えば、学習データ入力部301F1は、インタフェース10H3等で実現する。
【0244】
学習部301F2は、第2学習データにより、学習モデル302を学習させる学習手順を行う。例えば、学習部301F2は、CPU10H1等で実現する。
【0245】
以上のように、学習装置301は、学習データ生成装置10が生成する第2学習データ等を用いて学習モデル302を学習させる。このような学習により、学習装置301は、摘果対象物を推定する学習済みモデル303を生成できる。例えば、学習済みモデル303は、以下のように摘果対象物推定装置402が用いる。
【0246】
摘果対象物推定装置402は、画像データ入力部10F1、推定部402F1、及び、出力部402F2等を備える機能構成である。
【0247】
画像データ入力部10F1は、未知画像データ401を入力する画像データ入力手順を行う。例えば、画像データ入力部10F1は、カメラ11、及び、インタフェース10H3等で実現する。
【0248】
推定部402F1は、学習済みモデル303により、摘果対象物を推定する推定手順を行う。例えば、推定部402F1は、CPU10H1等で実現する。
【0249】
出力部402F2は、推定結果を出力する出力手順を行う。例えば、出力部402F2は、出力装置10H5等で実現する。
【0250】
以上のように、摘果対象物推定装置402は、学習済みモデル303を実装すると、学習済みモデル303により、摘果作業の内容を推定し、摘果対象物(なお、位置、数、又は、候補等の情報を含む。)を推定できる。このような推定結果が出力されると、ユーザ404は、初心者等であっても、推定結果を参照して、適切な摘果作業を行うことができる。すなわち、ユーザ404が初心者等であっても、推定結果を参照すると、摘果作業で残す果実と、摘果する果実とが把握できる。
【0251】
学習システム500は、例えば、学習データ生成装置10、学習装置301、及び、摘果対象物推定装置402の備える機能構成のうち、いずれかの機能構成を備える。
【0252】
具体的には、学習システム500は、学習データ生成装置10、及び、学習装置301等の複数の情報処理装置で構成する。このような学習システム500であると、学習データを生成し、かつ、学習モデル302を学習させて学習済みモデル303を生成できる。
【0253】
なお、学習システム500は、複数の情報処理装置に限られず、1台の情報処理装置であってもよい。
【0254】
また、学習システム500は、学習装置301、及び、摘果対象物推定装置402の組み合わせでもよい。
【0255】
[推定システムの機能構成例]
図20は、推定システムの機能構成例を示す図である。例えば、推定システム501は、学習データ生成装置10、学習装置301、及び、摘果対象物推定装置402等で構成する。ただし、推定システム501は、学習データ生成装置10がなくともよい。すなわち、推定システム501は、学習データ15に、撮影した画像データを用いる、学習データ生成装置10が生成した画像データを用いる、及び、両方を用いるのうち、いずれでもよい。
【0256】
なお、学習モデル302、及び、学習済みモデル303(学習済みモデル303を利用するプログラムを含む。)は、複製されて学習装置301、及び、摘果対象物推定装置402等が複数であってもよい。
【0257】
学習装置301は、例えば、画像データ入力部10F1、学習データ入力部301F1、学習部301F2、抽出部10F2、マスク画像データ生成部10F5、及び、イラスト化処理部10F6等を備える機能構成である。
【0258】
画像データ入力部10F1は、第1入力画像データ11D1を入力する画像データ入力手順を行う。例えば、画像データ入力部10F1は、カメラ11、及び、インタフェース10H3等で実現する。
【0259】
学習データ入力部301F1は、学習データ15を入力する学習データ入力手順を行う。例えば、学習データ入力部301F1は、インタフェース10H3等で実現する。
【0260】
学習部301F2は、学習データ15に基づき、学習モデル302を学習させる学習手順を行う。例えば、学習部301F2は、CPU10H1等で実現する。
【0261】
抽出部10F2は、第1入力画像データ11D1、及び、学習データ15において、対象物体、又は、摘果対象物を抽出する抽出手順を行う。例えば、抽出部10F2は、CPU10H1等で実現する。
【0262】
第1入力画像データ11D1、及び、学習データ15は、どちらか一方、又は、両方が抽出部10F2、マスク画像データ生成部10F5、及び、イラスト化処理部10F6により、マスク画像データを生成する、イラスト化する、又は、両方の処理を行う抽出処理がされるのが望ましい。
【0263】
このように、対象物体、又は、摘果対象物等が抽出されると、単純に農作物を撮影した画像データをそのまま用いる場合等と比較して、学習モデル302は、摘果対象物等の重要な特徴量を精度良く学習できる。すなわち、学習装置301は、学習モデル302を学習させて、摘果作業を精度良く推定できる学習済みモデル303を生成できる。
【0264】
以上のように、推定システム501は、学習部301F2により、学習モデル302を学習させて、学習済みモデル303を生成する。このように、生成された学習済みモデル303が、ネットワーク等を介して、摘果対象物推定装置402に送られる。
【0265】
摘果対象物推定装置402は、画像データ入力部10F1、抽出部10F2、マスク画像データ生成部10F5、イラスト化処理部10F6、推定部402F1、及び、出力部402F2等を備える機能構成である。
【0266】
画像データ入力部10F1は、未知画像データ401を入力する画像データ入力手順を行う。例えば、画像データ入力部10F1は、カメラ11、及び、インタフェース10H3等で実現する。
【0267】
抽出部10F2は、未知画像データ401において、対象物体、又は、摘果対象物を抽出する抽出手順を行う。例えば、抽出部10F2は、CPU10H1等で実現する。
【0268】
推定部402F1は、学習済みモデル303により、摘果対象物を推定する推定手順を行う。例えば、推定部402F1は、CPU10H1等で実現する。
【0269】
出力部402F2は、推定結果を出力する出力手順を行う。例えば、出力部402F2は、出力装置10H5等で実現する。
【0270】
以上のように、推定システム501では、まず、学習装置301が学習モデル302を学習させて、学習済みモデル303を生成する。次に、推定システム501では、このように生成された学習済みモデル303が摘果対象物推定装置402に配布される。
【0271】
摘果対象物推定装置402は、学習済みモデル303を実装すると、学習済みモデル303により、摘果作業の内容を推定し、摘果対象物(なお、位置、数、又は、候補等の情報を含む。)を推定できる。このような推定結果が出力されると、ユーザ404は、初心者等であっても、推定結果を参照して、適切な摘果作業を行うことができる。
【0272】
すなわち、ユーザ404が初心者等であっても、推定結果を参照すると、摘果作業で残す果実と、摘果する果実とが把握できる。また、例えば、学習装置301がクラウド環境等を利用する場合には、データの収集、及び、学習済みモデル303の配布等を速やかに行うことができる。
【0273】
[学習データの形式について]
第1学習データ、及び、第2学習データ等の学習データは、農作物を抽出した形式の画像データを用いるのが望ましい。ただし、抽出は、複数の段階に分けて行ってもよい。このような場合において、学習装置301は、抽出において、途中の段階となる形式の画像データ等を学習データに含めてもよい。
【0274】
例えば、抽出処理は、第1段階乃至第3段階の3段階に分けて行うとする。
【0275】
第1段階は、入力された状態、すなわち、写真の形式(ただし、ホワイトバランス等の調整がされてもよい。)の画像データである。
【0276】
第2段階は、農作物以外の箇所を背景とし、背景をマスクした形式の画像データである。例えば、背景は白色(マスクにより、どのような色にするかは設定する。)にマスク化される。
【0277】
第3段階は、農作物等をイラスト化した形式の画像データである。
【0278】
学習データは、上記の第1段階乃至第3段階のうち、どの段階の画像データでもよい。また、学習データは、上記の第1段階乃至第3段階のうち、どの段階の画像データだけでなく、複数の段階、すなわち、抽出処理がされる前と後の両方の画像データでもよい。
【0279】
マスク化等で農作物が抽出された形式の画像データであると、学習装置301は、学習モデルに摘果対象物を精度良く学習できる。
【0280】
一方で、学習データは、写真等の形式の画像データを含むのが望ましい場合もある。例えば、イラスト化すると、画像データは、対象物体に発生している傷等(例えば、日当たりが悪い、塩害、腐食、病気、外傷、又は、虫食い等を原因とする。また、変色等でもよい。)を省略する場合がある。これに対し、摘果作業は、傷等がある対象物体を優先的に摘果する場合もある。このような摘果作業のためのAIは、第1段階、又は、第2段階等の形式、すなわち、傷等を表示する形式の画像データで学習するのが望ましい。したがって、学習データは、摘果作業の好み等に応じて形式が選択されてもよい。
【0281】
このように、学習データは、複数段階の画像データであると、学習装置301は、より好みに合致した摘果作業を学習モデルに学習させることができる。
【0282】
[AIについて]
AIは、例えば、以下のようなネットワーク構造で画像データ等を処理する。
【0283】
図21は、ネットワーク構造例を示す図である。例えば、AIは、入力層L1、隠れ層L2、及び、出力層L3を有するネットワーク構造を有してもよい。
【0284】
具体的には、AIは、図示するようなConvolution Neural Network(畳み込みニューラルネットワーク、CNN)等を有するネットワーク構造である。
【0285】
入力層L1は、入力データDINを入力する層である。
【0286】
隠れ層L2は、入力層L1から入力される入力データDINに対して、畳み込み、プーリング、正規化、又は、これらの組み合わせ等の処理を行う層である。
【0287】
出力層L3は、隠れ層L2で処理された結果を出力データDOUTで出力する層である。例えば、出力層L3は、全結合層等で構成される。
【0288】
畳み込み(Convolution)は、例えば、フィルタ、マスク、又は、カーネル(以下単に「フィルタ」という。)等に基づいて、画像、又は、画像に対して所定の処理を行って生成される特徴マップ等に対して、フィルタ処理を行って、特徴マップを生成する処理である。
【0289】
具体的には、フィルタは、フィルタ係数(「重み」又は「パラメータ」等という場合もある。)を画像又は特徴マップの画素値に乗じる計算をするのに用いるデータである。なお、フィルタ係数は、学習又は設定等により定まる値である。
【0290】
そして、畳み込みの処理は、画像又は特徴マップを構成する画素のそれぞれの画素値に、フィルタ係数を乗じる計算を行い、計算結果を構成要素とする特徴マップを生成する処理である。
【0291】
このように、畳み込みの処理が行われると、画像又は特徴マップの特徴が抽出できる。特徴は、例えば、エッジ成分、又は、対象とする画素の周辺を統計処理した結果等である。
【0292】
また、畳み込みの処理が行われると、対象とする画像又は特徴マップが示す被写体等が、上下にずれる、左右にずれる、斜めにずれる、回転、又は、これらの組み合わせとなる画像又は特徴マップであっても同様の特徴が抽出できる。
【0293】
プーリング(Pooling)は、対象とする範囲に対して、平均の計算、最小値の抽出、又は、最大値の抽出等の処理を行って、特徴を抽出して特徴マップを生成する処理である。すなわち、プーリングは、maxプーリング、又は、avgプーリング等である。
【0294】
なお、畳み込み、及び、プーリングは、ゼロパディング(Zero Padding)等の前処理があってもよい。
【0295】
以上のような、畳み込み、プーリング、又は、これらの組み合わせによって、いわゆるデータ量削減効果、合成性、又は、移動不変性等が獲得できる。
【0296】
正規化(Normalization)は、例えば、分散及び平均値を揃える処理等である。なお、正規化は、局所的に行う場合を含む。そして、正規化が行われるとは、データは、所定の範囲内の値等になる。ゆえに、以降の処理においてデータの扱いが容易にできる。
【0297】
全結合(Fully connected)は、特徴マップ等のデータを出力に落とし込む処理である。
【0298】
例えば、出力は、「YES」又は「NO」等のように、出力が2値の形式である。このような出力形式では、全結合は、2種類のうち、いずれかの結論となるように、隠れ層L2で抽出される特徴に基づいてノードを結合する処理である。
【0299】
一方で、出力が3種類以上ある場合等には、全結合は、いわゆるソフトマックス関数等を行う処理である。このようにして、全結合により、最尤推定法等によって分類(確率を示す出力を行う場合を含む。)を行うことができる。
【0300】
[その他の実施形態]
学習データ生成装置10、学習装置301、及び、摘果対象物推定装置402は、異なる種類の情報処理装置であってもよい。すなわち、学習データ生成装置10、学習装置301、及び、摘果対象物推定装置402は、異なるハードウェア構成であってもよい。
【0301】
学習データは、教師データ、又は、訓練データ等と呼ばれる場合もある。
【0302】
実施形態は、上記の実施形態を組み合わせたものでもよい。すなわち、学習データを生成する装置、学習モデルに対して学習処理を行って学習済みモデルを生成する装置、及び、学習済みモデルを用いて実行処理を行う装置は、同じ装置でもよいし、異なる装置であってもよい。このように、学習モデルの学習、及び、学習済みモデルによる実行は、同一の情報処理装置で行われなくともよい。すなわち、学習モデルの学習、及び、学習済みモデルによる実行は、異なる情報処理装置で行われてもよい。
【0303】
なお、異なる装置である場合には、互いの装置は、例えば、ネットワーク等を介して、学習データ、又は、学習済みモデル等のデータを送受信する。
【0304】
ゆえに、学習済みモデルは、学習によって生成された後、ネットワーク等を介して、プログラム等の形式で配信され、学習された情報処理装置とは異なる装置で実行されてもよい。なお、他の情報処理装置において学習して生成された学習モデルに対し、追加して学習が行われてもよい。
【0305】
なお、学習データは、データ拡張(data augmentation)が行われてもよい。具体的には、学習データは、画像データの場合には、画像データが示す画像の一部を切り出して新たなデータを生成する等のデータ拡張がされてもよい。
【0306】
同様に、データ拡張は、例えば、回転、スライド、データの一部せん断、左右反転、上下反転、歪みを加える、歪みを補正する、濃淡の変更、色の補正、ノイズを減らす、ノイズを加える、フィルタをかける、拡大、縮小、エッジの強調、又は、これらの組み合わせとなる処理等を画像データに対してランダムに適用する処理である。
【0307】
このようにデータ拡張により、学習データを増やせると、学習モデルの学習に用いる学習データを増やすことができる。
【0308】
実施形態では、バッチノーマライゼーション(Batch Normalization)、又は、ドロップアウト等といった過学習(「過剰適合」又は「過適合」等ともいう。overfitting)を軽減化させる処理が行われてもよい。ほかにも、次元削減等の処理が行われてもよい。
【0309】
学習モデル、及び、学習済みモデル等におけるネットワーク構造は、CNNのネットワーク構造に限られない。例えば、ネットワーク構造は、RNN(再帰型ニューラルネットワーク、Recurrent Neural Network)、LSTM(Long Short-Term Memory)、又は、Transformer等の構成を有してもよい。
【0310】
また、学習モデル、及び、学習済みモデルは、ハイパパラメータを有する構成であってもよい。すなわち、学習モデル、及び、学習済みモデルは、一部の設定をユーザが行う構成でもよい。
【0311】
ほかにも、例えば、グラフ(頂点、及び、辺で構成されるデータである。)を扱う場合には、学習モデル、及び、学習済みモデルは、Graph Neural Network(グラフニューラルネットワーク、GNN)等の構造を有してもよい。
【0312】
また、学習モデル、及び、学習済みモデルは、他の機械学習を利用してもよい。例えば、学習モデル、及び、学習済みモデルは、教師なしのモデルにより、正規化等を前処理で行ってもよい。
【0313】
本発明は、上記に例示する学習データ生成方法、学習方法、推定方法、又は、上記に示す処理と等価な処理を実行するプログラム(ファームウェア、及び、プログラムに準ずるものを含む。以下単に「プログラム」という。)で実現されてもよい。
【0314】
すなわち、本発明は、コンピュータに対して指令を行って所定の結果が得られるように、プログラミング言語等で記載されたプログラム等で実現されてもよい。なお、プログラムは、処理の一部をIntegrated Circuit(集積回路、IC)等のハードウェア又はGraphics Processing Unit(GPU)等の演算装置等で実行する構成であってもよい。
【0315】
プログラムは、コンピュータが有する演算装置、制御装置、及び、記憶装置等を協働させて上記に示す処理等をコンピュータに実行させる。すなわち、プログラムは、主記憶装置等にロードされて、演算装置に命令を発して演算を行わせてコンピュータを動作させる。
【0316】
また、プログラムは、コンピュータが読み込み可能な記録媒体、又は、ネットワーク等の電気通信回線を介して提供されてもよい。
【0317】
本発明は、複数の装置で構成されるシステムで実現されてもよい。すなわち、複数のコンピュータによるシステムは、上記に示す処理を冗長、並列、分散、又は、これらの組み合わせとなるように実行してもよい。したがって、本発明は、上記に示すハードウェア構成以外の装置、及び、上記に示す装置以外のシステムで実現されてもよい。
【0318】
なお、本発明は、上記に例示する各実施形態に限定されない。したがって、本発明は、技術的な要旨を逸脱しない範囲で、構成要素の追加、又は、変形が可能である。ゆえに、特許請求の範囲に記載された技術思想に含まれる技術的事項のすべてが本発明の対象となる。なお、上記に例示する実施形態は、実施において好適な具体例である。そして、当業者であれば、開示した内容から様々な変形例を実現で可能であって、このような変形例は、特許請求の範囲に記載された技術的範囲に含まれる。
【符号の説明】
【0319】
10 :学習データ生成装置
10F1 :画像データ入力部
10F2 :抽出部
10F3 :生成部
10F4 :識別部
10F5 :マスク画像データ生成部
10F6 :イラスト化処理部
11 :カメラ
11D1 :第1入力画像データ
11D2 :第2入力画像データ
12 :第1農作物
13 :第2農作物
14 :作業者
15 :学習データ
20 :抽出結果
21 :推定結果画像データ
22 :正解データ
31 :第1物体
32 :第2物体
33 :第3物体
34 :第4物体
40 :マスク画像データ
41 :第1対象物体
42 :第2対象物体
43 :第3対象物体
44 :第4対象物体
50 :イラスト化画像データ
51 :対象物体領域
52 :塗り潰し領域
101 :第1対象物体
102 :第2対象物体
103 :第3対象物体
104 :第4対象物体
105 :第5対象物体
106 :第6対象物体
107 :第7対象物体
301 :学習装置
301F1 :学習データ入力部
301F2 :学習部
302 :学習モデル
303 :学習済みモデル
401 :未知画像データ
402 :摘果対象物推定装置
402F1 :推定部
402F2 :出力部
403 :出力画面
404 :ユーザ
405 :設定画面
500 :学習システム
【手続補正書】
【提出日】2021-07-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
学習データを生成する学習データ生成装置、生成部と識別部を有し、かつ、前記学習データを用いて学習モデルを学習させる学習装置、及び、前記学習装置が学習させた学習済みモデルを用いる摘果対象物推定装置を有する推定システムであって、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第1学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別部とを備え、
前記学習装置は、
前記第2学習データを入力する学習データ入力部と、
前記第2学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する前記生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて前記学習モデルを学習させる前記識別部とを備え、
前記摘果対象物推定装置は、
未知の摘果前の農作物を示す未知画像データを入力する画像データ入力部と、
前記学習済みモデルにより、前記摘果対象物を推定する推定部と、
前記推定部による推定結果を出力する出力部とを備える推定システム。
【請求項2】
前記学習装置は、
前記対象物体と、前記対象物体以外とを区別して示すマスク画像データを生成するマスク画像データ生成部を更に備える請求項1に記載の推定システム。
【請求項3】
前記マスク画像データ生成部は、
前記対象物体を識別するインスタンスセグメンテーションを行う前記マスク画像データを生成する請求項2に記載の推定システム。
【請求項4】
前記学習装置は、
前記対象物体をイラスト化するイラスト化処理部を更に備える請求項1乃至3のいずれか1項に記載の推定システム。
【請求項5】
前記学習装置において、
前記第1入力画像データ、及び、前記第2入力画像データは、
複数の視点で撮影される動画、又は、複数の静止画を示す画像データであって、前記農作物の全周を示す請求項1乃至4のいずれか1項に記載の推定システム。
【請求項6】
前記学習装置において、
前記生成部、及び、前記識別部は、
敵対的生成ネットワークを構成し、
前記生成部は、
前記識別部に本物と識別されるのを狙って前記推定結果画像データを生成し、
前記識別部は、
前記抽出結果を示す本物であるか、又は、前記生成部に生成された前記推定結果画像データである偽物であるかを識別し、
前記生成部、及び、前記識別部は、
前記識別部によって本物であると識別した前記推定結果画像データを前記第2学習データとして生成する請求項1乃至5のいずれか1項に記載の推定システム。
【請求項7】
学習データを生成する学習データ生成装置、及び、前記学習データを用いて学習モデルを学習させる学習装置を有する学習システムであって、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第1学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別部と
を備え、
前記学習装置は、
前記第2学習データを入力する学習データ入力部と、
前記第2学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記学習装置の生成部へフィードバックさせて前記学習モデルを学習させる識別部と
を備える学習システム。
【請求項8】
摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第1学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別部とを備える学習データ生成装置。
【請求項9】
コンピュータに学習データ生成方法を実行させるためのプログラムであって、
コンピュータが、摘果前の農作物を示す画像データである第1入力画像データ、及び、摘果後の前記農作物を示す画像データである第2入力画像データを入力する画像データ入力手順と、
コンピュータが、前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第1入力画像データ、及び、前記第2入力画像データの差異となる対象物体を摘果対象物として抽出する抽出手順と、
コンピュータが、前記抽出手順による抽出結果を含む第1学習データで学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成手順と、
コンピュータが、前記推定結果画像データを識別して、識別結果に基づき第2学習データを生成する識別手順とを実行させるためのプログラム。