(57)【特許請求の範囲】
【請求項１】
学習データを生成する学習データ生成装置、生成部と識別部を有し、かつ、前記学習データを用いて学習モデルを学習させる学習装置、及び、前記学習装置が学習させた学習済みモデルを用いる摘果対象物推定装置を有する推定システムであって、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第１入力画像データ、及び、摘果後の前記農作物を示す画像データである第２入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第１入力画像データ、及び、前記第２入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第１学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第２学習データを生成する識別部とを備え、
前記学習装置は、
前記第２学習データを入力する学習データ入力部と、
前記第２学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する前記生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて前記学習モデルを学習させる前記識別部とを備え、
前記摘果対象物推定装置は、
未知の摘果前の農作物を示す未知画像データを入力する画像データ入力部と、
前記学習済みモデルにより、前記摘果対象物を推定する推定部と、
前記推定部による推定結果を出力する出力部とを備える推定システム。
【請求項２】
前記学習装置は、
前記対象物体と、前記対象物体以外とを区別して示すマスク画像データを生成するマスク画像データ生成部を更に備える請求項１に記載の推定システム。
【請求項３】
前記マスク画像データ生成部は、
前記対象物体を識別するインスタンスセグメンテーションを行う前記マスク画像データを生成する請求項２に記載の推定システム。
【請求項４】
前記学習装置は、
前記対象物体をイラスト化するイラスト化処理部を更に備える請求項１乃至３のいずれか１項に記載の推定システム。
【請求項５】
前記学習装置において、
前記第１入力画像データ、及び、前記第２入力画像データは、
複数の視点で撮影される動画、又は、複数の静止画を示す画像データであって、前記農作物の全周を示す請求項１乃至４のいずれか１項に記載の推定システム。
【請求項６】
前記学習装置において、
前記生成部、及び、前記識別部は、
敵対的生成ネットワークを構成し、
前記生成部は、
前記識別部に本物と識別されるのを狙って前記推定結果画像データを生成し、
前記識別部は、
前記抽出結果を示す本物であるか、又は、前記生成部に生成された前記推定結果画像データである偽物であるかを識別し、
前記生成部、及び、前記識別部は、
前記識別部によって本物であると識別した前記推定結果画像データを前記第２学習データとして生成する請求項１乃至５のいずれか１項に記載の推定システム。
【請求項７】
学習データを生成する学習データ生成装置、及び、前記学習データを用いて学習モデルを学習させる学習装置を有する学習システムであって、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第１入力画像データ、及び、摘果後の前記農作物を示す画像データである第２入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第１入力画像データ、及び、前記第２入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第１学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第２学習データを生成する識別部と
を備え、
前記学習装置は、
前記第２学習データを入力する学習データ入力部と、
前記第２学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記学習装置の生成部へフィードバックさせて前記学習モデルを学習させる識別部と
を備える学習システム。
【請求項８】
摘果前の農作物を示す画像データである第１入力画像データ、及び、摘果後の前記農作物を示す画像データである第２入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第１入力画像データ、及び、前記第２入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記抽出部による抽出結果を含む第１学習データを用いて学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第２学習データを生成する識別部とを備える学習データ生成装置。
【請求項９】
コンピュータに学習データ生成方法を実行させるためのプログラムであって、
コンピュータが、摘果前の農作物を示す画像データである第１入力画像データ、及び、摘果後の前記農作物を示す画像データである第２入力画像データを入力する画像データ入力手順と、
コンピュータが、前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第１入力画像データ、及び、前記第２入力画像データの差異となる対象物体を摘果対象物として抽出する抽出手順と、
コンピュータが、前記抽出手順による抽出結果を含む第１学習データで学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成手順と、
コンピュータが、前記推定結果画像データを識別して、識別結果に基づき第２学習データを生成する識別手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＩによる推定システム、学習データ生成装置、学習装置、摘果対象物推定装置、学習システム、及び、プログラムに関する。
【背景技術】
【０００２】
人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、以下「ＡＩ」という。）により、現状等に基づき推定、又は、様々な対象物を認識する技術が知られている。
【０００３】
例えば、コンベアにロボットハンドを設置した工場等に用いるロボットシステムがある。具体的には、ロボットシステムは、まず、カメラによって物体を撮影する。撮影後、撮影された画像に基づき、物体が画像認識される。そして、ロボットシステムは、撮影した画像に基づき、物体の重心位置を計算する。このように計算される重心位置に基づき、ロボットシステムは、ロボットハンドで物体を把持する正確な位置等を決定する。このようにして、ロボットハンドで物体を安定して把持する技術が知られている（例えば、特許文献１等を参照）。
【０００４】
また、ＡＩによる物体の認識は、農業の場面にも用いられる。具体的には、ぶどうの摘粒作業において、ＡＩが粒数を自動的に判定する技術が知られている（例えば、非特許文献１等を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１９−１８５２０４号公報
【非特許文献】
【０００６】
【非特許文献１】庄司健一，“「ぶどうの粒いくつある？」を自動判定するＡＩ来夏実用化へ〜山梨大学と農業生産法人が共同開発”，［ｏｎｌｉｎｅ］，２０２０年８月１７日，ＤＧ  Ｌａｂ  Ｈａｕｓ，［令和２年１２月２日検索］，インターネット，＜ＵＲＬ：https://media.dglab.com/2020/08/17-grape-01/＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の特許文献１に記載のような技術は、工場内等の照明環境を想定した技術である。すなわち、工場内等といった照明環境は、撮影、及び、画像認識等の処理を行うのに、野外等の自然光の下といった照明環境と比較して、光等の条件が安定している環境である場合が多い。したがって、工場内等の照明環境を想定した技術は、農作物を扱う等の照明環境には適用させにくい課題がある。
【０００８】
また、上記の非特許文献１に記載のような技術において、ＡＩを学習させるには、学習データを十分に確保することになる。特に、ＡＩを高精度化させるには、大量の学習データを確保するのが望ましい。ゆえに、上記の非特許文献１に記載のような技術では、摘果対象物をＡＩで高精度に推定するのが難しい課題がある。
【０００９】
本発明は、農作物の摘果作業における摘果対象物をＡＩで高精度に推定することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、本発明の一態様における、
学習データを生成する学習データ生成装置、生成部と識別部を有し、かつ、前記学習データを用いて学習モデルを学習させる学習装置、及び、前記学習装置が学習させた学習済みモデルを用いる摘果対象物推定装置を有する推定システムでは、
前記学習データ生成装置は、
摘果前の農作物を示す画像データである第１入力画像データ、及び、摘果後の前記農作物を示す画像データである第２入力画像データを入力する画像データ入力部と、
前記農作物の実、花、葉、又は、これらの組み合わせである対象物体のうち、前記第１入力画像データ、及び、前記第２入力画像データの差異となる対象物体を摘果対象物として抽出する抽出部と、
前記第１入力画像データ、及び、前記抽出部による抽出結果のセットを第１学習データとして学習し、かつ、前記摘果対象物を推定した結果を示す推定結果画像データを生成する生成部と、
前記推定結果画像データを識別して、識別結果に基づき第２学習データを生成する識別部と
を備え、
前記学習装置は、
前記第２学習データを入力する学習データ入力部と、
前記第２学習データにより、摘果対象物を推定した結果を示す推定結果画像データを生成する前記生成部と、
前記学習データと比較して、前記推定結果画像データを識別して、識別結果を前記生成部へフィードバックさせて前記学習モデルを学習させる前記識別部と
を備え、
前記摘果対象物推定装置は、
未知の摘果前の農作物を示す未知画像データを入力する画像データ入力部と、
前記学習済みモデルにより、前記摘果対象物を推定する推定部と、
前記推定部による推定結果を出力する出力部と
を備える。
【発明の効果】
【００１１】
本発明によれば、農作物の摘果作業における摘果対象物を高精度にＡＩで推定できる。
【図面の簡単な説明】
【００１２】
【図１】ＡＩ用の学習データ生成装置の全体構成例を示す図である。
【図２】情報処理装置のハードウェア構成例を示す図である。
【図３】第１実施形態の全体処理例を示す図である。
【図４】敵対的生成ネットワークの構成例を示す図である。
【図５】撮影方法の例を示す図である。
【図６】第２実施形態の全体処理例を示す図である。
【図７】抽出処理の例を示す図である。
【図８】インスタンスセグメンテーションの処理例、及び、マスク画像データの例を示す図である。
【図９】イラスト化の処理例を示す図である。
【図１０】イラスト化された画像データ、又は、マスク画像データの変形例を示す図である。
【図１１】対象物体の認識例を示す図である。
【図１２】全体処理の処理結果例を示す図である。
【図１３】学習装置の構成例を示す図である。
【図１４】学習装置によって学習を行う構成の例を示す図である。
【図１５】学習装置の機能構成例を示す図である。
【図１６】摘果対象物推定装置の構成例を示す図である。
【図１７】摘果対象物推定装置によって推定を行う構成の例を示す図である。
【図１８】摘果対象物推定装置の機能構成例を示す図である。
【図１９】学習システムの機能構成例を示す図である。
【図２０】推定システムの機能構成例を示す図である。
【図２１】ネットワーク構造例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付する図面を参照して、具体例を説明する。なお、以下の説明において、図面に記載する符号は、符号が同一の場合には同一の要素を指す。
【００１４】
［第１実施形態］
図１は、ＡＩ用の学習データ生成装置の全体構成例を示す図である。例えば、ＡＩ用の学習データ生成装置（以下「学習データ生成装置１０」という。）は、以下のように用いる。
【００１５】
学習データ生成装置１０は、例えば、以下のような情報処理装置等である。
【００１６】
［情報処理装置のハードウェア構成例］
図２は、情報処理装置のハードウェア構成例を示す図である。例えば、学習データ生成装置１０は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ、以下「ＣＰＵ１０Ｈ１」という。）、記憶装置１０Ｈ２、インタフェース１０Ｈ３、入力装置１０Ｈ４、及び、出力装置１０Ｈ５等を有するハードウェア構成である。また、学習データ生成装置１０は、Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＧＰＵ、以下「ＧＰＵ１０Ｈ６」という。）を有するハードウェア構成であるのが望ましい。
【００１７】
ＣＰＵ１０Ｈ１は、演算装置及び制御装置の例である。例えば、ＣＰＵ１０Ｈ１は、プログラム、又は、操作等に基づいて演算を行う。
【００１８】
記憶装置１０Ｈ２は、メモリ等の主記憶装置である。なお、記憶装置１０Ｈ２は、ＳＳＤＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）、又は、ハードディスク等の補助記憶装置があってもよい。
【００１９】
インタフェース１０Ｈ３は、ネットワーク、又は、ケーブル等を介して外部装置とデータを送受信する。例えば、インタフェース１０Ｈ３は、コネクタ、又は、アンテナ等である。
【００２０】
入力装置１０Ｈ４は、ユーザによる操作を入力する装置である。例えば、入力装置１０Ｈ４は、マウス、又は、キーボード等である。
【００２１】
出力装置１０Ｈ５は、ユーザに対して処理結果等を出力する装置である。例えば、出力装置１０Ｈ５は、ディスプレイ等である。
【００２２】
ＧＰＵ１０Ｈ６は、画像処理用の演算装置である。なお、ＧＰＵ１０Ｈ６は、グラフィックコントローラ等と呼ばれる場合もある。特に、ＧＰＵ１０Ｈ６は、画像処理をリアルタイムに行う場合、又は、学習における並列計算等に用いる。
【００２３】
なお、学習データ生成装置１０は、上記以外のハードウェア資源を内部、又は、外部に更に有するハードウェア構成であってもよい。また、学習データ生成装置１０は、複数の装置であってもよい。
【００２４】
［農作物、対象物体、摘果対象物、及び、摘果作業について］
学習データ生成装置１０は、摘果作業を行う前の農作物（以下、摘果作業前の状態の農作物を「第１農作物１２」という。）をカメラ１１で撮影した画像データ（以下「第１入力画像データ１１Ｄ１」という。）を入力する。なお、カメラ１１等の撮影装置は、学習データ生成装置１０が有する構成でもよい。
【００２５】
さらに、学習データ生成装置１０は、摘果作業を行った後の農作物（以下、摘果作業後の状態の農作物を「第２農作物１３」という。）をカメラ１１で撮影した画像データ（以下「第２入力画像データ１１Ｄ２」という。）を入力する。
【００２６】
以下、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２をまとめて単に「入力画像データ」という場合がある。
【００２７】
第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２は、動画、静止画、又は、これらの組み合わせである。また、動画の形式で入力する場合には、例えば、動画を構成する複数のフレームのうち、１枚、又は、所定数のフレームを切り出して、入力画像データとする。
【００２８】
摘果作業は、農作物が有する、若しくは、農作物の周辺に存在する実、花、葉、又は、これらの組み合わせ（以下「対象物体」という。）を間引く作業である。すなわち、摘果作業は、摘粒、摘果、摘花、又は、これらの組み合わせとなる作業である。
【００２９】
以下、対象物体のうち、摘果作業で間引く対象を「摘果対象物」という。つまり、摘果作業は、複数の対象物体のうち、いくつかの摘果対象物を選んで間引く作業である。なお、図では、摘果対象物を「×」で示し、間引かれた状態であることを示す。ただし、対象物体と、摘果対象物とをどのように区別して示すかの形式は問わない。
【００３０】
作業者１４は、対象物体のうち、どれを摘果対象物とするかを決定する。
【００３１】
例えば、摘果対象物は、同じ農作物であっても、目的により、異なる場合がある。まず、目的は、例えば、農作物に全体的に日当たりが均等となるようにする、味を調整する、農作物がある程度密集するようにする、農作物が所定の大きさに収まるようにする、又は、収穫時に農作物の見栄え（色、形状、傷がついている対象物体を少なく、又は、これらを総合した外観等である。）が良くなるようにする等である。
【００３２】
作業者１４は、摘果の目的に基づき、第１農作物１２に対して、見本となる摘果作業を行う。そして、作業者１４は、摘果作業の前後を別々に撮影する。このような各々の撮影により、入力画像データが生成される。
【００３３】
また、入力画像データは、摘果の目的、又は、農作物の種類等によって別々に撮影する。すなわち、目的によって摘果作業の内容が異なる場合がある。ゆえに、入力画像データは、目的、又は、農作物の種類等に応じて別々に生成する。なお、作業者１４は、見本となる摘果作業を示すため、例えば、熟練の農業者等である。
【００３４】
第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２を比較すると、学習データ生成装置１０等は、どの箇所の対象物体を摘果対象物とするか、及び、どの程度の量を摘果対象物とするか等が把握できる。
【００３５】
農作物は、例えば、トマト等といった実を実らせる農作物である。以下、農作物がトマトである場合を例に説明する。ただし、農作物は、トマトに限られない。例えば、農作物は、柿、さくらんぼ、苺、葡萄、又は、蜜柑等の果物である。又は、農作物は、花、若しくは、野菜等でもよい。なお、農作物がトマト等であっても、摘果対象物には、実の周辺に存在する葉、又は、茎等が含まれてもよい。
【００３６】
以上のように撮影される第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２が学習データ生成装置１０に入力される。次に、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２が入力されると、学習データ生成装置１０は、全体処理により、学習用の画像データ（以下「学習データ１５」という。）を生成する。このように生成される学習データ１５を入力し、ＡＩ１６は、学習を行う。
【００３７】
［全体処理例］
図３は、第１実施形態の全体処理例を示す図である。
【００３８】
ステップＳ０３０１では、作業者１４は、第１入力画像データ１１Ｄ１を撮影する。すなわち、作業者１４は、摘果作業を行う前に第１農作物１２を撮影して、第１入力画像データ１１Ｄ１を生成する。
【００３９】
ステップＳ０３０２では、作業者１４は、摘果作業を行う。この摘果作業により、第１農作物１２は、摘果対象物が排除された状態となり、第２農作物１３となる。このような摘果作業の後、ステップＳ０３０３が行われる。
【００４０】
ステップＳ０３０３では、作業者１４は、第２入力画像データ１１Ｄ２を撮影する。すなわち、作業者１４は、摘果作業を行った後に第２農作物１３を撮影して、第２入力画像データ１１Ｄ２を生成する。
【００４１】
ステップＳ０３０４では、学習データ生成装置１０は、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２を入力する。
【００４２】
ステップＳ０３０５では、学習データ生成装置１０は、摘果対象物を抽出する。例えば、学習データ生成装置１０は、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２を比較して、第１入力画像データ１１Ｄ１が示すすべての対象物体のうち、第２入力画像データ１１Ｄ２上では無くなっている対象物体を摘果対象物と抽出する。
【００４３】
したがって、抽出結果は、摘果対象物の位置を示す画像データ等の形式となる。具体的には、抽出結果は、第１入力画像データ１１Ｄ１を加工して、摘果対象物の領域を所定の色で塗り潰す、又は、ハッチングする等によって示す。
【００４４】
なお、抽出結果は、画像データ形式に限られず、摘果対象物を特定できればよい。例えば、抽出において、対象物体を認識する場合には、各々の対象物体に対し、識別番号、又は、画像データにおける座標値（図心等の代表値でもよい。）が設定される。このような識別番号、又は、座標値等を指定して摘果対象物を特定する形式で、抽出結果は生成されてもよい。
【００４５】
ただし、学習データ生成装置１０は、識別番号等のデータがあれば、抽出結果を示す画像データが生成できるとする。以下、抽出結果は、画像データの形式である例で説明する。
【００４６】
なお、抽出結果は、ユーザによる指定、訂正、又は、追加がされてもよい。
【００４７】
ステップＳ０３０６では、学習データ生成装置１０は、抽出結果を示す画像データ等を学習データとし、学習を行う。
【００４８】
学習データは、抽出結果等を示す画像データ等、すなわち、イラスト化された形式の画像等である。ただし、学習データは、複数の形式の画像データでもよい。学習データの形式は、後述する。
【００４９】
なお、学習は、繰り返し行われてもよい。すなわち、学習は、後述するステップＳ０３０７、及び、ステップＳ０３０８が所定の精度を確保して実行できる程度に繰り返されてもよい。
【００５０】
ステップＳ０３０７では、学習データ生成装置１０は、推定結果画像データを生成する。
【００５１】
ステップＳ０３０８では、学習データ生成装置１０は、推定結果画像データを識別する。
【００５２】
ステップＳ０３０７、及び、ステップＳ０３０８は、例えば、以下のような構成で実現されるのが望ましい。
【００５３】
［敵対的生成ネットワーク（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ、以下「ＧＡＮ」という。）による画像データの生成と識別の例］
図４は、敵対的生成ネットワークの構成例を示す図である。例えば、学習データ生成装置１０は、抽出部１０Ｆ２、生成部１０Ｆ３、及び、識別部１０Ｆ４等により、以下のような構成であるのが望ましい。
【００５４】
ＧＡＮは、図示するように、生成部１０Ｆ３が生成する画像データと、抽出部１０Ｆ２による抽出結果を示す画像データを識別部１０Ｆ４が見分ける構成である。
【００５５】
生成部１０Ｆ３は、敵対的生成ネットワークにおける生成器（Ｇｅｎｅｒａｔｏｒ、生成ネットワーク等とも呼ばれる。）となる。すなわち、生成部１０Ｆ３は、画像データを作り出すニューラルネットワークモデルである。
【００５６】
識別部１０Ｆ４は、敵対的生成ネットワークにおける識別器（Ｄｉｓｃｒｉｍｉｎａｔｏｒ、識別ネットワーク等とも呼ばれる。）となる。すなわち、識別部１０Ｆ４は、画像データが生成器によって生成された画像データであるか否かを識別するニューラルネットワークモデルである。
【００５７】
以下、ＧＡＮを構成する生成器、及び、識別器の学習に用いる学習データを「第１学習データ」という。一方で、全体処理によって生成される、すなわち、識別部１０Ｆ４の識別結果に基づき、出力する学習データを「第２学習データ」という。
【００５８】
図示するＧＡＮでは、抽出結果を示す画像データ（以下単に「抽出結果２０」という。）が「本物」となる。また、抽出結果２０は、生成部１０Ｆ３の「見本」にもなる。すなわち、生成部１０Ｆ３は、例えば、いくつかの抽出結果２０を第１学習データとして事前に学習し、ある程度の精度で抽出結果２０に似せた画像データを生成できる構成とする。
【００５９】
一方で、生成部１０Ｆ３が生成する摘果作業の内容を推定した結果を示す画像データ（以下「推定結果画像データ２１」という。）が「偽物」である。
【００６０】
ステップＳ０３０７では、生成部１０Ｆ３は、推定結果画像データ２１を生成する。
【００６１】
推定結果画像データ２１は、抽出結果２０を真似て生成する画像データである。したがって、推定結果画像データ２１は、抽出結果２０と同様の形式であって、摘果対象物を特定する画像データである。このように、生成部１０Ｆ３は、「偽物」である推定結果画像データ２１を識別部１０Ｆ４に「本物」と識別させるのを狙って生成する。
【００６２】
ただし、推定結果画像データ２１は、生成部１０Ｆ３が生成する画像データであるため、実在する農作物を示す画像データではない。このように、生成部１０Ｆ３、及び、識別部１０Ｆ４、すなわち、ＧＡＮは、合成画像データを生成する。
【００６３】
また、推定結果画像データ２１は、抽出結果２０が示す摘果作業を別の農作物において再現する。すなわち、推定結果画像データ２１は、すべての対象物体のうち、摘果対象物となる対象物体を推定した結果を示す。
【００６４】
生成部１０Ｆ３は、事前に、抽出結果２０等を第１学習データにして摘果作業のパターン等を学習する。したがって、生成部１０Ｆ３は、未知の農作物を示す第１入力画像データ１１Ｄ１が入力されると、まず、事前の学習により、第１入力画像データ１１Ｄ１が示す対象物体を認識できる。
【００６５】
次に、生成部１０Ｆ３は、事前の学習により、認識した対象物体のうち、どの位置にある対象物体を摘果対象物するか、又は、どの程度の量を摘果対象物とするか等を推定できる。そして、生成部１０Ｆ３は、これらの推定結果を画像データの形式で示し、推定結果画像データ２１を生成する。
【００６６】
ステップＳ０３０８では、抽出結果２０、及び、推定結果画像データ２１を混ぜ、識別部１０Ｆ４は、「本物」であるか、又は、「偽物」であるかを識別する。
【００６７】
生成部１０Ｆ３は、できる限り「本物」と識別部１０Ｆ４に識別されるように推定結果画像データ２１を生成するように、画像処理等を学習する。一方で、識別部１０Ｆ４は、フィードバック等に基づき、「偽物」を「偽物」と識別できる精度を高めるように学習する。
【００６８】
具体的には、識別部１０Ｆ４による識別結果に対し、第１学習データには、識別対象となった画像データが「本物」であるか、又は、「偽物」であるかの「正解」を示すデータ（以下「正解データ２２」という。）が用意される。そして、識別結果と正解データ２２を照合すると、識別部１０Ｆ４が正しい識別であったか否かを評価できる。
【００６９】
このような評価、及び、識別結果等が生成部１０Ｆ３にフィードバック（Ｆｅｅｄｂａｃｋ）されると、生成部１０Ｆ３は、識別部１０Ｆ４に「本物」と識別されるのを狙って、推定結果画像データ２１を生成するように学習できる。すなわち、生成部１０Ｆ３は、フィードバックによって「本物」と識別されやすい「偽物」を生成できるように学習する。
【００７０】
また、評価が識別部１０Ｆ４にフィードバックされると、識別部１０Ｆ４は、「偽物」を「偽物」と識別できる精度を高めるように学習できる。すなわち、識別部１０Ｆ４は、フィードバックによって、「偽物」を見逃す、又は、「偽物」を「本物」と誤認する確率を低くするように学習する。
【００７１】
なお、学習データ生成装置１０は、事前にステップＳ０３０６による第１学習データに基づく学習を繰り返す、学習処理を行って、生成部１０Ｆ３、及び、識別部１０Ｆ４にある程度の精度を持たせてもよい。
【００７２】
そして、識別部１０Ｆ４によって「本物」と識別される程度の品質で生成された推定結果画像データ２１を第２学習データとする。このように、学習データ１５を生成すると、ＡＩ１６が学習に用いる第２学習データを増やすことができる。
【００７３】
一方で、識別部１０Ｆ４によって「偽物」と識別された推定結果画像データ２１は、「再利用」の対象とする。すなわち、「偽物」と識別された推定結果画像データは、学習が不十分な結果である。
【００７４】
そこで、例えば、「偽物」と識別された推定結果画像データに対して、「本物」と識別させるように、不十分な点を修正する操作を行う。このように、手動で操作された内容を反映させた画像データ等により、生成部１０Ｆ３にフィードバックさせる等の処理が「再利用」となる。このような「再利用」がされると、生成部１０Ｆ３は、不十分な点を学習し、より「本物」と識別されやすい推定結果画像データ２１を生成できる。
【００７５】
なお、「再利用」は、生成部１０Ｆ３の学習に用いるに限られない。例えば、「再利用」は、手動で操作された内容を反映させた画像データを学習データ１５に加える等でもよい。ただし、「再利用」が難しい場合には、「偽物」と識別された推定結果画像データは、破棄されてもよい。
【００７６】
なお、図示するようなＧＡＮは、ＡＩ１６の学習に用いる学習データ１５を生成する。このように生成される第２学習データは、農作物の摘果箇所を推定するＡＩ用であり、人による目視で評価される画像データとは異なる。
【００７７】
例えば、一般的な風景等を撮影した場合には、画像データには、人の目視では判断しにくいような微小な色の変化等が存在する場合がある。このような変化は、人の目視による評価ではあまり重視されない。一方で、コンピュータによる評価では、画素値の変動等を計算すると把握できる場合がある。このように、画像データの生成は、コンピュータによる評価を意識するか、又は、人の目視による評価を意識するかにより、重視する評価項目等が異なる場合がある。
【００７８】
［撮影方法の例］
第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２等の入力画像データは、例えば、以下のように撮影されるのが望ましい。
【００７９】
図５は、撮影方法の例を示す図である。以下、図において上下方向を「Ｚ軸方向」とする。Ｚ軸方向は、いわゆる重力方向である。また、図において、主に左右方向を「Ｘ軸方向」とする。Ｘ軸方向は、農作物に対して正面に向かい合った状態で右手方向とする。さらに、奥行き方向を「Ｙ軸方向」とする。
【００８０】
以下、第１農作物１２を撮影する場合を例に説明する。
【００８１】
入力画像データは、Ｚ軸回りに複数の視点で撮影するのが望ましい。すなわち、入力画像データは、第１農作物１２をできるだけ様々な視点で示す画像データであるのが望ましい。
【００８２】
具体的には、カメラ１１は、光軸を第１農作物１２に向けて、Ｚ軸を中心に回転するように（いわゆるＹａｗ軸回転である。図において「Ｙａｗ」で示す回転である。）動画で撮影するのが望ましい。
【００８３】
このように撮影すると、第１農作物１２を全周方向から撮影できる。なお、入力画像データは、３６０°のうち、３視点程度を撮影する静止画等でもよい。
【００８４】
摘果作業は、農作物の全体的な形状、又は、日当たり等を気にして行う場合がある。したがって、摘果対象物は、様々な角度に存在する場合がある。ゆえに、カメラ１１は、１つの視点では、すべての摘果対象物を撮影できない場合もある。そのため、入力画像データは、できるだけ死角がないように様々な視点で撮影されるのが望ましい。
【００８５】
なお、入力画像データは、Ｘ軸回りに複数の視点で更に撮影するのがより望ましい。例えば、カメラ１１は、光軸を第１農作物１２に向けて、第１農作物１２の正面となる視点、第１農作物１２を下から撮影する視点（いわゆる見上げ視点である。）、及び、第１農作物１２の背面となる視点等で撮影する。
【００８６】
このように、カメラ１１は、Ｘ軸を中心に回転するように（いわゆるＰｉｔｃｈ軸回転である。図において「Ｐｉｔｃｈ」で示す回転である。）撮影するのが望ましい。
【００８７】
また、第２入力画像データ１１Ｄ２も同様に撮影されるのが望ましい。
【００８８】
以上のように、Ｐｉｔｃｈ、又は、Ｙａｗの回転を行って複数の視点で農作物を撮影して入力画像データが撮影されるのが望ましい。このような撮影であると、農作物の全体の形状を整える摘果作業、又は、農作物の日当たりの良さを整える摘果作業等を入力画像データから把握できる。
【００８９】
また、入力画像データは、異なる気象条件、又は、異なる周囲物の配置等の条件下で撮影されてもよい。つまり、入力画像データは、季節又は天候等により、異なる周囲環境、又は、異なる照明条件下で撮影された状態を示すのが望ましい。
【００９０】
［第２実施形態］
第２実施形態は、第１実施形態と比較すると、全体処理が以下のようになる点が異なる。
【００９１】
図６は、第２実施形態の全体処理例を示す図である。以下、第１実施形態と異なる点を中心に説明し、重複する説明を省略する。第２実施形態における全体処理は、第１実施形態における全体処理と比較すると、ステップＳ０６０１を行う点が異なる。
【００９２】
ステップＳ０６０１では、学習データ生成装置１０は、摘果対象物を抽出する。具体的には、学習データ生成装置１０は、以下のような抽出処理を行って摘果対象物を抽出する。
【００９３】
図７は、抽出処理の例を示す図である。例えば、ステップＳ０６０１は、以下のような処理を行う。
【００９４】
ステップＳ０７０１では、学習データ生成装置１０は、第１マスク画像データを生成する。
【００９５】
第１マスク画像データは、後段のステップＳ０７０２で行うインスタンスセグメンテーション（Ｉｎｓｔａｎｃｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ）用の学習において学習データとなるマスク画像データである。すなわち、第１マスク画像データは、「見本」となる画像データである。
【００９６】
なお、第１マスク画像データは、画像データ内の一部、又は、全部を塗り潰す等のマスクする領域を指定するデータでもよい。
【００９７】
以下、第１マスク画像データをインスタンスセグメンテーション用の学習データとし、かつ、インスタンスセグメンテーションにより生成されるマスク画像データを「第２マスク画像データ」という。なお、マスク画像データの詳細は後述する。
【００９８】
ステップＳ０７０２では、学習データ生成装置１０は、インスタンスセグメンテーションの学習を行う。
【００９９】
ステップＳ０７０３では、学習データ生成装置１０は、インスタンスセグメンテーションを評価する。
【０１００】
ステップＳ０７０４では、学習データ生成装置１０は、インスタンスセグメンテーションを行う第２マスク画像データを生成する。
【０１０１】
例えば、インスタンスセグメンテーション、及び、マスク画像データの生成は以下のような処理である。
【０１０２】
図８は、インスタンスセグメンテーションの処理例、及び、マスク画像データの例を示す図である。以下、図８（Ａ）に示す第１入力画像データ１１Ｄ１を例に説明する。
【０１０３】
例えば、第１入力画像データ１１Ｄ１に、第１物体３１、第２物体３２、第３物体３３、及び、第４物体３４の４つの対象物体が撮影されたとする。
【０１０４】
図８（Ｂ）は、インスタンスセグメンテーションの実行結果、及び、インスタンスセグメンテーションにより生成されるマスク画像データ４０の例を示す図である。
【０１０５】
インスタンスセグメンテーションは、例えば、図８（Ａ）に示す第１入力画像データ１１Ｄ１に対して処理を実行することで、図８（Ｂ）に示すマスク画像データ４０を生成する処理である。
【０１０６】
具体的には、インスタンスセグメンテーションは、第１入力画像データ１１Ｄ１において、物体の検出、及び、検出した複数の物体を別々の物体と識別する処理である。
【０１０７】
図８（Ｂ）に示す例は、第１物体３１、第２物体３２、第３物体３３、及び、第４物体３４を示す領域（以下、画像データにおいて対象物体を示す領域を「第１領域」という。）と、第１物体３１、第２物体３２、第３物体３３、及び、第４物体３４以外の領域（以下「第２領域」という。例えば、第２領域は背景等である。）とを２色で区別して示すマスク画像データ４０の例である。
【０１０８】
具体的には、図８（Ｂ）に示すように、マスク画像データ４０において、第１領域は、白色で示す領域である。一方で、マスク画像データ４０において、第２領域は、黒色で示す領域である。このように、マスク画像データ４０は、例えば、第１領域、及び、第２領域を二値化して異なる色で示す画像データである。
【０１０９】
なお、マスク画像データ４０は、図８（Ｂ）に示すような形式に限られない。例えば、第１領域、及び、第２領域をどのような色にするか等は事前に設定でき、他の色の組み合わせでもよい。また、マスク画像データ４０は、色で領域を区別する形式に限られず、例えば、ハッチングの有無、又は、識別データで区別する等の形式でもよい。
【０１１０】
学習データ生成装置１０は、マスク画像データ４０を第１入力画像データ１１Ｄ１に適用すると、第１領域を抽出した画像データを生成できる。すなわち、マスク画像データ４０を参照すると、学習データ生成装置１０は、第１入力画像データ１１Ｄ１において、対象物体を認識し、対象物体を抽出した画像データを生成できる。
【０１１１】
マスク画像データ４０を利用すると、第１入力画像データ１１Ｄ１が示す背景等を削除できる。すなわち、学習において、背景等といった対象物体以外のデータを排除できると、ＡＩが、摘果作業において重要でない物体、又は、背景等を無駄に学習してしまうのを防ぐことができる。
【０１１２】
このように、マスク画像データ４０は、背景等を第２領域とする等のように、第１領域以外をマスク化ができる画像データであるのが望ましい。
【０１１３】
また、マスク画像データ４０は、同じ種類の対象物体であっても、個々の対象物体を識別できる。すなわち、マスク画像データ４０を適用すると、図８（Ｂ）に示すように、第１物体３１、第２物体３２、第３物体３３、及び、第４物体３４を第１対象物体４１、第２対象物体４２、第３対象物体４３、及び、第４対象物体４４のように、異なる物体と識別できる。
【０１１４】
例えば、セマンティックセグメンテーション（Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ）の処理であると、第１対象物体４１、第２対象物体４２、第３対象物体４３、及び、第４対象物体４４は、同じ物体又はカテゴリーに分類され、区別されない場合が多い。
【０１１５】
一方で、インスタンスセグメンテーションの処理であると、１つの対象物体を示す複数の画素をまとめて１つの物体と識別し、かつ、同じ種類であっても異なる物体であれば、別の物体であると識別できる。
【０１１６】
すなわち、インスタンスセグメンテーションの処理を行うと、画像データ内において同じ種類の複数の対象物体がある場合には、いわゆるラベリング（ｌａｂｅｌｉｎｇ）が可能となる。例えば、図８（Ｂ）に示す例では、第１対象物体４１、第２対象物体４２、第３対象物体４３、及び、第４対象物体４４が異なる識別番号等で管理できる。
【０１１７】
したがって、ステップＳ０７０２における学習は、対象物体を精度良く識別できる程度に行われる。そして、ステップＳ０７０３における評価は、対象物体を抽出する精度等を評価する。このようなステップＳ０７０２、及び、ステップＳ０７０３が行われると、ステップＳ０７０４で、学習データ生成装置１０は、インスタンスセグメンテーションを行う第２マスク画像データを生成できる。
【０１１８】
そして、インスタンスセグメンテーションの評価結果によっては、ステップＳ０７０１乃至ステップＳ０７０３は繰り返し実行される。すなわち、「学習処理」、及び、図７に示す処理は、ある程度の精度が確保されるまで繰り返し実行され、その後、十分な学習が完了している状態下において、「生成処理」、及び、図７に示す処理が行われてもよい。
【０１１９】
なお、学習データ生成装置１０は、ステップＳ０７０５のように、イラスト化を更に行うのが望ましい。例えば、イラスト化は以下のような処理である。
【０１２０】
図９は、イラスト化の処理例を示す図である。以下、図９（Ａ）に示すような写真形式の第１入力画像データ１１Ｄ１を入力する場合を例に説明する。
【０１２１】
図９（Ａ）に示す例は、画像データの中央部分（図において果実が撮影されている部分である。以下「対象物体領域５１」という。）に、対象物体が存在する例を示す。例えば、対象物体領域５１に写る対象物体は、インスタンスセグメンテーション等の物体認識により識別される。
【０１２２】
イラスト化の処理は、例えば、第１入力画像データ１１Ｄ１を入力し、図９（Ｂ）に示すような画像データ（以下「イラスト化画像データ５０」という。）を生成する処理である。
【０１２３】
図９（Ｂ）は、イラスト化画像データ５０の例を示す図である。
【０１２４】
イラスト化画像データ５０は、対象物体の領域を所定の色で塗り潰す。例えば、図９（Ｂ）に示すように、イラスト化画像データ５０は、ハッチングで示す、対象物体の領域を塗り潰した画像データである。
【０１２５】
以下、図９（Ｂ）に示す例において、対象物体の領域と識別され、イラスト化の処理で塗り潰す領域を「塗り潰し領域５２」という。
【０１２６】
さらに、イラスト化画像データ５０は、塗り潰し領域５２以外の領域（背景等を示す領域である。）を白色（塗り潰し領域５２とは異なる色で塗り潰す等である。）とする。
【０１２７】
このように、イラスト化の処理は、対象物体の領域と、それ以外の領域を所定の色で色分けする処理等である。このように、イラスト化の処理を行うと、画像データにおけるＲＧＢ値又は輝度値等が単純化できる。
【０１２８】
第１入力画像データ１１Ｄ１のような写真形式の画像データであると、人の目には分かりにくい細かなＲＧＢ値、又は、輝度値等の変化がある場合が多い。
【０１２９】
例えば、トマトの果実は、単純には赤色の１色である。このような対象物体を示す場合において、写真形式の画像データであると、同じ対象物体における赤色を示す画素は、細かくＲＧＢ値等の画素値が変化する場合がある。このような細かなＲＧＢ値等の変化は、学習の対象としない方がよい場合が多い。
【０１３０】
そこで、イラスト化の処理は、対象物体を同じ色で統一して示す等の処理を行う。具体的には、第１入力画像データ１１Ｄ１に対して、インスタンスセグメンテーション等を行うと、対象物体と識別できる画素がグルーピング化される。
【０１３１】
そして、イラスト化の処理は、このように同じグルーピング化された画素を同じ色で塗り潰す処理である。さらに、イラスト化の処理は、背景等の領域を対象物体の領域とは異なる色で別の色に塗り潰す処理である。
【０１３２】
なお、イラスト化の処理は、画像データを単純化する処理であれば、所定の色で塗り潰す以外の処理であってもよい。例えば、イラスト化の処理は、背景等を単色にする等でもよい。また、イラスト化の処理は、色で塗り潰すに代えて、ハッチング等を用いる処理でもよい。
【０１３３】
このように、画像データをイラスト化すると、抽出結果等を単純化して表現できる。抽出結果は、対象物体の位置、及び、形状等が大まかに表現できればよい場合が多い。すなわち、抽出結果には、細かな色の変化、及び、背景等のデータが不要な場合が多い。
【０１３４】
そこで、対象物体を単色で簡略に示す方が、写真形式等と比較して、学習の妨げとなる要素を排除し、精度良く学習できる。すなわち、イラスト化された画像データを学習データに摘果作業をＡＩに学習させると、ＡＩは、摘果作業に重要な特徴量を精度良く学習できる。
【０１３５】
また、写真形式等の画像データより、イラスト化された画像データの方が、色の表現等が簡略であるため、データ量を少なくできる。
【０１３６】
図１０は、イラスト化された画像データ、又は、マスク画像データの変形例を示す図である。例えば、マスク画像データは、図１０（Ｂ）又は図１０（Ｃ）のように生成されてもよい。以下、図１０（Ａ）に示す第１入力画像データ１１Ｄ１を例に説明する。
【０１３７】
図１０（Ａ）は、林檎の４つの果実を対象物体にする第１入力画像データ１１Ｄ１の例を示す図である。以下、学習データ生成装置１０は、このような第１入力画像データ１１Ｄ１を入力し、学習データ生成装置１０は、インスタンスセグメンテーション等を行う例で説明する。
【０１３８】
例えば、図８に示すインスタンスセグメンテーションを行う場合には、第２マスク画像データは、図１０（Ｂ）に示すように生成される。
【０１３９】
一方で、第２マスク画像データは、図１０（Ｃ）に示すように生成されてもよい。
【０１４０】
図１０（Ｂ）は、４つの対象物体をまとめて１つの画像データで示す形式の例を示す図である。このように、第２マスク画像データは、複数の対象物体を１つの画像データで示してもよい。
【０１４１】
図１０（Ｃ）は、４つの対象物体を対象物体ごとに分けた４つの画像データとし、画像データ群の形式とする例を示す図である。このように、第２マスク画像データは、対象物体ごとに、画像データを分けて、複数の画像データ群で１つの第２マスク画像データとする画像データ群の形式でもよい。
【０１４２】
以上のように、マスク画像データ、又は、イラスト化して生成する画像データは、複数の対象物体をまとめて１つの画像データとしてもよいし、又は、対象物体ごとに別々に分けて画像データ群としてもよい。
【０１４３】
［抽出結果の例］
図１１は、対象物体の認識例を示す図である。以下、図１１（Ａ）に示す第１入力画像データ１１Ｄ１を例に説明する。
【０１４４】
図１１（Ａ）に示す対象物体を扱う場合には、学習データ生成装置１０は、対象物体の形状、色、又は、これらの組み合わせ等を事前に学習する。このような学習を行うと、例えば、学習データ生成装置１０は、図１１（Ｂ）又は図１１（Ｃ）のように対象物体を認識できる。
【０１４５】
図１１（Ｂ）、及び、図１１（Ｃ）は、対象物体を認識した位置、及び、範囲等を破線で囲んで示す例である。なお、認識結果は、図１１（Ｂ）、及び、図１１（Ｃ）以外の形式で出力されてもよい。
【０１４６】
図１１（Ｂ）は、対象物体を認識した結果の第１例を示す図である。例えば、図１１（Ｂ）に示すように、対象物体は、第１対象物体１０１、第２対象物体１０２、第３対象物体１０３、第４対象物体１０４、第５対象物体１０５、第６対象物体１０６、及び、第７対象物体１０７のように、学習データ生成装置１０によって認識される。
【０１４７】
また、対象物体は、例えば、図１１（Ｃ）のような形式で認識されてもよい。
【０１４８】
図１１（Ｃ）は、対象物体を認識した結果の第２例を示す図である。第２例は、対象物体ごとに認識結果を別々の画像データに分ける形式の例である。具体的には、学習データ生成装置１０は、第１対象物体１０１、第２対象物体１０２、第３対象物体１０３、第４対象物体１０４、第５対象物体１０５、第６対象物体１０６、及び、第７対象物体１０７の認識結果を対象物体ごとに分けて出力する。
【０１４９】
なお、対象物体の認識結果は、図１１（Ｂ）又は図１１（Ｃ）に示すように、画像データの形式にされなくともよい。すなわち、対象物体の認識結果は、中間生成物であり、対象物体が画像データ内において占める位置、大きさ、範囲、数、又は、座標等のパラメータ（統計値、又は、代表値を用いる場合を含む。）を学習データ生成装置１０が把握できる形式であればよい。
【０１５０】
したがって、学習データ生成装置１０は、認識結果を示すパラメータを内部に記憶し、図示するような画像データ等を出力しなくともよい。
【０１５１】
ステップＳ０３０６では、学習データ生成装置１０は、学習データを用いて学習モデルを学習させる。例えば、学習データは、ステップＳ０６０１で生成する画像データ、すなわち、イラスト化した画像データ等である。なお、学習データは、学習データは、複数の形式の画像データでもよい。学習データの詳細は後述する。
【０１５２】
［全体処理の処理結果例］
図１２は、全体処理の処理結果例を示す図である。以下、図１２（Ａ）及び図１２（Ｂ）を摘果前及び摘果後とする場合を例に説明する。
【０１５３】
図１２（Ａ）は、第１入力画像データ１１Ｄ１の例を示す図である。
【０１５４】
図１２（Ｂ）は、第２入力画像データ１１Ｄ２の例を示す図である。
【０１５５】
図１２（Ｃ）は、第２学習データの例を示す図である。
【０１５６】
以下、第１入力画像データ１１Ｄ１において、すなわち、摘果作業の前において、図１２（Ａ）に示すように、第１対象物体１０１、第２対象物体１０２、第３対象物体１０３、第４対象物体１０４、第５対象物体１０５、第６対象物体１０６、及び、第７対象物体１０７の７つの対象物体がある例とする。
【０１５７】
一方で、第２入力画像データ１１Ｄ２において、すなわち、摘果作業が行われた後において、図１２（Ｂ）に示すように、第２対象物体１０２、第３対象物体１０３、第４対象物体１０４、及び、第６対象物体１０６の４つの対象物体が摘果対象物となり、摘果対象物が摘果される例とする。
【０１５８】
このように、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２を比較すると、摘果対象物が抽出できる。このような抽出結果を学習すると、学習データ生成装置１０は、未知の第１入力画像データ１１Ｄ１が入力されると、摘果作業を推定し、推定結果画像データを生成できる。
【０１５９】
このように生成される推定結果画像データ等が学習データ１５となる。そして、ＡＩ１６は、学習データ１５等を第２学習データとし、摘果作業を学習する。
【０１６０】
図１２（Ｃ）は、対象物体を点線で囲んで示す形式の例を示す図である。また、図１２（Ｃ）は、摘果対象物をハッチングで示す形式の例を示す図である。
【０１６１】
なお、第２学習データは、図１２（Ｃ）に示す形式に限られない。すなわち、第２学習データは、摘果対象物の位置、数、配置、形状、又は、範囲等をＡＩ１６が学習できればよい。したがって、第２学習データは、摘果対象物、及び、対象物体を他の形式で特定してもよい。
【０１６２】
［第３実施形態］
図１３は、学習装置の構成例を示す図である。第１実施形態等と比較すると、第３実施形態における学習データ生成装置１０等の構成は、例えば、第１実施形態と同様である。一方で、学習装置３０１は、情報処理装置等である。なお、学習データ生成装置１０、及び、学習装置３０１は同じ情報処理装置等でもよい。
【０１６３】
第３実施形態は、第１実施形態、又は、第２実施形態における構成により生成された学習データ１５等を用いて学習モデル３０２を学習させて学習済みモデル３０３を生成する。
【０１６４】
以下、学習中、又は、学習が行われる前のＡＩを単に「学習モデル３０２」という。一方で、ある程度、第２学習データによる学習が行われた後のＡＩを「学習済みモデル３０３」という。
【０１６５】
学習装置３０１は、学習データ１５を入力する。そして、学習装置３０１は、学習データ１５により、学習モデル３０２を学習させる。
【０１６６】
なお、学習には、学習データ１５以外のデータが用いられてもよい。例えば、学習装置３０１は、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２等も入力して、学習モデル３０２を学習させてもよい。ほかにも、学習装置３０１は、抽出結果等の形式で第２学習データを入力してもよい。
【０１６７】
以上のように、学習装置３０１は、学習モデル３０２を学習させて学習済みモデル３０３を生成する。このような学習済みモデル３０３が生成できると、摘果対象物を推定するＡＩが実現できる。
【０１６８】
具体的には、学習装置３０１は、例えば、以下のような構成である。
【０１６９】
図１４は、学習装置によって学習を行う構成の例を示す図である。図示するように、学習モデル３０２は、少なくとも生成部１０Ｆ３、及び、識別部１０Ｆ４を備える構成である。
【０１７０】
そして、生成部１０Ｆ３、及び、識別部１０Ｆ４は、敵対的生成ネットワークにおける生成器、及び、識別器である。
【０１７１】
まず、学習装置３０１は、第１入力画像データ１１Ｄ１を入力する。
【０１７２】
次に、生成部１０Ｆ３は、第１入力画像データ１１Ｄ１が示す対象物体のうち、摘果対象物となる対象物体を推定する。そして、生成部１０Ｆ３は、推定結果画像データ２１を生成する。以下、図１２（Ｃ）と同様に、対象物体を点線で囲んで示し、かつ、対象物体のうち、摘果対象物をハッチングで示す形式の例で説明する。
【０１７３】
次に、推定結果画像データ２１が生成されると、識別部１０Ｆ４は、推定結果画像データ２１に対して、識別を行う。そして、識別部１０Ｆ４は、学習データ１５を「正解」とし、推定結果画像データ２１の識別を行う。
【０１７４】
具体的には、まず、推定結果画像データ２１は、摘果対象物の位置、及び、数等を示す。一方で、学習データ１５も、推定結果画像データ２１と同様に、摘果対象物の位置、及び、数等を示す。
【０１７５】
以下に説明する例では、識別部１０Ｆ４は、推定結果画像データ２１を参照して、摘果対象物の位置、及び、数がどちらも学習データ１５と一致すると、「正解」と識別する。
【０１７６】
一方で、識別部１０Ｆ４は、推定結果画像データ２１が示す摘果対象物の位置、及び、数のうち、少なくともどちらか一方が学習データ１５と異なると、「誤答」と識別する。
【０１７７】
そして、識別部１０Ｆ４は、少なくとも生成部１０Ｆ３に「正解」、又は、「誤答」の識別結果をフィードバックさせる。このように、フィードバックは、識別部１０Ｆ４から少なくとも生成部１０Ｆ３に、識別結果を伝える処理等である。
【０１７８】
なお、生成部１０Ｆ３の学習のため、フィードバックは、識別部１０Ｆ４による識別の過程、識別の基準、又は、識別の途中で生成した中間データ等を伝えてもよい。すなわち、フィードバックは、識別結果を出力するまでの過程、及び、途中で生成されたデータ等も識別結果とセットで伝えてもよい。そして、生成部１０Ｆ３は、フィードバックされる識別結果を参照して学習する。なお、他にセットでデータが送信される場合には、生成部１０Ｆ３は、セットのデータも参照して学習してもよい。
【０１７９】
具体的には、図１４に示す例では、推定結果画像データ２１、及び、学習データ１５は、７個の対象物体から摘果対象物を選択して示す。そして、推定結果画像データ２１による推定結果、及び、学習データ１５による「正解」を比較すると、この例は、中央に位置する対象物体（図において、差異１５１で示す対象物体である。）が摘果対象物となるか否かが異なる。
【０１８０】
ゆえに、推定結果画像データ２１、及び、学習データ１５の比較結果は、摘果対象物の数、及び、差異１５１の判断結果が異なるため、差異があると識別される。したがって、比較結果に基づき、摘果対象物の数、及び、位置がいずれも基準とする学習データ１５と異なるため、識別部１０Ｆ４は、「誤答」と識別する。
【０１８１】
なお、識別部１０Ｆ４による識別は、基準に対して許容範囲があってもよい。例えば、数は、基準に対して２個以下であれば許容する等と設定されてもよい。このような許容範囲の設定である場合には、差異１５１の差異だけであれば、識別部１０Ｆ４は、「正解」と識別する。また、学習において、設定できる項目があってもよい。
【０１８２】
そして、例えば、生成部１０Ｆ３が生成する複数の推定結果画像データ２１を専門家が見て、評価が行われる。具体的には、生成部１０Ｆ３が１００枚の推定結果画像データ２１を生成し、専門家が推定結果画像データ２１を見て１００枚ともすべて問題ないと判断すれば、生成部１０Ｆ３等は学習が完了したと評価される。
【０１８３】
以上のような生成、及び、識別のフィードバックを繰り返すと、学習装置３０１は、推定結果画像データ２１の生成精度を高くできる。
【０１８４】
なお、学習装置３０１は、生成、又は、識別において、摘果対象物を抽出するのが望ましい。具体的には、学習装置３０１は、生成、又は、識別において、マスク画像データの生成、及び、イラスト化等の処理を行う。
【０１８５】
このように、画像データをマスクする、イラスト化する、又は、両方の処理を行って、抽出を行うと、抽出結果等を単純化して表現できる。そして、抽出結果は、対象物体の位置、及び、形状等が大まかに表現できればよい場合が多い。すなわち、抽出結果には、細かな色の変化、摘果作業に関係の薄い被写体、及び、背景等のデータが不要な場合が多い。
【０１８６】
特に、農作物がある環境は、周囲の環境をＡＩの学習用、及び、撮影用に調整しにくい場合も多い。また、農作物がある環境は、不意に関係の薄い被写体も入り込みやすい環境である場合が多い。したがって、画像データをマスクする処理により、このような外乱を少なくできると、ＡＩは、摘果作業の内容を把握するのに重要な特徴量を精度良く学習できる。
【０１８７】
また、対象物体をイラスト化して単色で簡略に示す、又は、重要な部分に絞った画像データとする方が、写真形式等と比較して、摘果作業の内容を学習する妨げとなる要素を排除し、精度良く学習できる。すなわち、画像データに対して抽出処理を前処理として施して、摘果作業をＡＩに学習させると、ＡＩは、摘果作業の内容を把握するのに重要な特徴量を精度良く学習できる。
【０１８８】
なお、識別部１０Ｆ４は、推定結果画像データ２１、識別結果、及び、学習データ１５等で学習して識別の精度を向上させてもよい。
【０１８９】
また、学習データ１５は、学習データ生成装置１０が生成したデータでもよいし、第１入力画像データ１１Ｄ１を操作して生成したデータでもよいし、又は、これらの組み合わせでもよい。
【０１９０】
さらに、推定結果画像データ２１、及び、学習データ１５の形式は、図示する形式に限られない。すなわち、推定結果画像データ２１、及び、学習データ１５の形式は、摘果作業の内容が特定できればよい。例えば、推定結果画像データ２１、及び、学習データ１５の形式は、摘果対象物の位置、及び、数等の内容を数値（画像内の座標又は数量等を示す。）を用いる形式等でもよい。
【０１９１】
なお、識別の基準は、摘果対象物の位置、及び、数に限られず、他の基準でもよい。そして、何を基準にして識別するかも学習の対象となってよい。また、何を基準にして識別するかは、人が設定できてもよい。
【０１９２】
［機能構成例］
図１５は、学習装置の機能構成例を示す図である。例えば、学習装置３０１は、画像データ入力部１０Ｆ１、学習データ入力部３０１Ｆ１、生成部１０Ｆ３、及び、識別部１０Ｆ４等を備える機能構成である。なお、学習装置３０１は、抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６を更に備える機能構成であるのが望ましい。以下、図示する機能構成を例に説明する。
【０１９３】
画像データ入力部１０Ｆ１は、第１入力画像データ１１Ｄ１を入力する画像データ入力手順を行う。例えば、画像データ入力部１０Ｆ１は、カメラ１１、及び、インタフェース１０Ｈ３等で実現する。
【０１９４】
生成部１０Ｆ３は、推定結果画像データ２１を生成する生成手順を行う。例えば、生成部１０Ｆ３は、ＣＰＵ１０Ｈ１等で実現する。
【０１９５】
識別部１０Ｆ４は、学習データ１５と比較して、推定結果画像データ２１を識別して、識別結果を生成部１０Ｆ３へフィードバックさせて学習モデル３０２を学習させる識別手順を行う。例えば、識別部１０Ｆ４は、ＣＰＵ１０Ｈ１等で実現する。
【０１９６】
推定結果画像データ２１、及び、学習データ１５は、どちらか一方、又は、両方が抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６により、マスク画像データを生成する、イラスト化する、又は、両方の処理を行う抽出処理がされるのが望ましい。
【０１９７】
このように、摘果対象物が抽出されると、単純に農作物を撮影した画像データをそのまま用いる場合等と比較して、学習モデル３０２は、摘果対象物等の重要な特徴量を精度良く学習できる。すなわち、学習装置３０１は、学習モデル３０２を学習させて、摘果作業を精度良く推定できる学習済みモデル３０３を生成できる。
【０１９８】
［第４実施形態］
図１６は、摘果対象物推定装置の構成例を示す図である。以下、未知の摘果前の農作物を示す画像データの例を「未知画像データ４０１」という。
【０１９９】
第４実施形態は、第３実施形態による学習によって生成された学習済みモデル３０３を実行する実施形態である。以下、学習済みモデル３０３を用いる摘果対象物推定装置を「摘果対象物推定装置４０２」とする。
【０２００】
摘果対象物推定装置４０２は、例えば、スマートフォン等の情報処理装置である。なお、学習済みモデル３０３は、他のサーバ装置等が用いる構成であって、摘果対象物推定装置４０２は、サーバ装置と通信して学習済みモデル３０３による推定結果を取得し、出力する構成でもよい。
【０２０１】
具体的には、学習済みモデル３０３は、ネットワーク等を介して配布される。なお、学習済みモデル３０３は、アプリケーションソフト等に組み込まれる形式等でもよい。このように配布される学習済みモデル３０３を摘果対象物推定装置４０２にインストールすると、摘果対象物推定装置４０２は、図示するような推定、及び、推定結果の出力等ができる状態となる。
【０２０２】
未知画像データ４０１は、摘果対象物推定装置４０２が撮影する画像データである。また、未知画像データ４０１が示す農作物は、摘果作業が行われる前の状態である。このように、未知画像データ４０１が示す農作物は、第１実施形態、又は、第２実施形態において、学習の対象となった農作物とは異なる「未知」の農作物である。
【０２０３】
なお、摘果対象物推定装置４０２は、推定において、摘果対象物を抽出するのが望ましい。具体的には、摘果対象物推定装置４０２は、推定において、マスク画像データの生成、及び、イラスト化等の処理を行うのが望ましい。このような摘果対象物の抽出が行われると、摘果対象物推定装置４０２は、推定を精度良くできる。
【０２０４】
摘果対象物推定装置４０２は、未知画像データ４０１に基づき、対象物体を識別する。そして、摘果対象物推定装置４０２は、学習済みモデル３０３により、摘果対象物を推定する。例えば、推定結果は、Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ（ＡＲ、拡張現実）の形式等で出力される。具体的には、摘果対象物推定装置４０２は、出力画面４０３をユーザ４０４に対して表示する。
【０２０５】
出力画面４０３は、未知画像データ４０１の上に「×」を重ねて表示して、摘果対象物をユーザ４０４に伝える画面である。なお、出力は、他の表示形式、又は、音声を用いる等の形式でもよい。
【０２０６】
なお、摘果対象物推定装置４０２は、例えば、「最適化項目設定」の操作画面（以下単に「設定画面４０５」という。）等により、項目を受け付ける構成があるのが望ましい。
【０２０７】
摘果作業は、いわゆる好みに応じて行われる場合がある。そこで、設定画面４０５は、好み等を設定するインタフェースである。
【０２０８】
設定画面４０５は、「甘味」、「酸味」、「サイズ（全体）」、「サイズ（粒）」、「色」、「均一性」、及び、「ケースに入る形状にする。」等の項目を設定する例である。なお、項目、及び、設定形式は事前に定める。
【０２０９】
「甘味」、及び、「酸味」は、収穫時の農作物の味を調整する項目である。
【０２１０】
「サイズ（全体）」は、収穫時の農作物の全体的なサイズを調整する項目である。例えば、「サイズ（全体）」は、複数の実を有する農作物等の場合に、複数の実による全体的なバランス等を調整するのに用いる。
【０２１１】
「サイズ（実）」は、収穫時の農作物の１つの実当たりのサイズを調整する項目である。例えば、「サイズ（実）」は、複数の実を有する農作物等の場合に、１つ当たりの実の大きさ等を調整するのに用いる。
【０２１２】
「色」は、収穫時の農作物の色を調整する項目である。
【０２１３】
「均一性」は、収穫時の農作物の実の大きさを均一にするかを調整する項目である。
【０２１４】
「ケースに入る形状にする」は、出荷に用いる所定の形状に収まるサイズにするか否かを調整する項目である。このように、項目は、チェックボックス形式で入力されてもよい。
【０２１５】
また、「ケースに入る形状にする」は、例えば、「縦（ｍｍ）×横（ｍｍ）×高さ（ｍｍ）のケースに入るように」等のように、ケースのサイズが数値で指定できる形式等でもよい。
【０２１６】
これらの項目は、摘果作業で調整できる項目である。また、どのような摘果作業を行うと、どの項目に影響するかは、学習（すなわち、第３実施形態である。）において、学習データに入力される。例えば、農作物が甘くなる摘果作業、又は、農作物を大きくする摘果作業等のように、学習モデルは摘果作業の目的ごとに学習する。したがって、学習済みモデルは、項目を最適化する摘果作業を特定できる。また、程度（例えば、甘さ、又は、大きさ等である。）は、例えば、数値等で入力する。
【０２１７】
なお、項目を受け付ける受付部は、設定画面４０５に限られない。すなわち、設定できる項目は、図示する以外の項目があってもよい。また、受付部は、タスクバー、又は、チェックボックス以外のインタフェースでよい。例えば、受付部は、テキストボックス等で入力するインタフェースでよい。さらに、最適化する項目は、固定であってもよい。
【０２１８】
図１７は、摘果対象物推定装置によって推定を行う構成の例を示す図である。例えば、学習済みモデル３０２は、第３実施形態による学習後、第３実施形態で用いた敵対的生成ネットワークを構成する生成部１０Ｆ３、及び、識別部１０Ｆ４のうち、識別部１０Ｆ４を取り除いた構成である。
【０２１９】
すなわち、摘果対象物推定装置４０２は、未知画像データ４０１を入力すると、未知画像データ４０１が示す対象物体に適した摘果作業を推定する。そして、摘果対象物推定装置４０２は、推定結果を示す推定結果画像データ２１を出力する。
【０２２０】
なお、識別部１０Ｆ４は、機能が停止していればよい。すなわち、学習済みモデル３０２は、学習モデル３０２と同様に識別部１０Ｆ４を有しても、識別部１０Ｆ４を停止させればよい。一方で、学習済みモデル３０２は、識別部１０Ｆ４を取り除く、又は、識別部１０Ｆ４がない構成とし、識別部１０Ｆ４の構成が全くなくともよい。
【０２２１】
［機能構成例］
図１８は、摘果対象物推定装置の機能構成例を示す図である。例えば、摘果対象物推定装置４０２は、画像データ入力部１０Ｆ１、推定部４０２Ｆ１、及び、出力部４０２Ｆ２等を備える機能構成である。なお、摘果対象物推定装置４０２は、抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６を更に備える機能構成であるのが望ましい。以下、図示する機能構成を例に説明する。
【０２２２】
画像データ入力部１０Ｆ１は、第１入力画像データ１１Ｄ１を入力する画像データ入力手順を行う。例えば、画像データ入力部１０Ｆ１は、カメラ１１、及び、インタフェース１０Ｈ３等で実現する。
【０２２３】
推定部４０２Ｆ１は、学習済みモデル３０３により、摘果対象物を推定する推定手順を行う。例えば、推定部４０２Ｆ１は、ＣＰＵ１０Ｈ１等で実現する。
【０２２４】
例えば、推定部４０２Ｆ１は、生成部１０Ｆ３等で構成する。
【０２２５】
出力部４０２Ｆ２は、推定結果を出力する出力手順を行う。例えば、出力部４０２Ｆ２は、出力装置１０Ｈ５等で実現する。
【０２２６】
未知画像データ４０１は、抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６により、マスク画像データを生成する、イラスト化する、又は、両方の処理を行う抽出処理がされるのが望ましい。
【０２２７】
推定においても、学習した要素にできるだけ注目した方が、摘果対象物推定装置４０２は、摘果対象物等を精度良く推定できる。
【０２２８】
このように、未知画像データ４０１において摘果対象物が抽出されると、単純に農作物を撮影した画像データをそのまま用いる場合等と比較して、摘果対象物推定装置４０２は、摘果対象物等を精度良く推定できる。
【０２２９】
［学習システムの機能構成例］
図１９は、機能構成例を示す図である。例えば、学習データ生成装置１０は、画像データ入力部１０Ｆ１、抽出部１０Ｆ２、生成部１０Ｆ３、及び、識別部１０Ｆ４等を備える機能構成である。また、学習データ生成装置１０は、図示するように、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６等を更に備える機能構成であるのが望ましい。
【０２３０】
画像データ入力部１０Ｆ１は、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２を入力する画像データ入力手順を行う。例えば、画像データ入力部１０Ｆ１は、カメラ１１、及び、インタフェース１０Ｈ３等で実現する。
【０２３１】
抽出部１０Ｆ２は、対象物体のうち、第１入力画像データ１１Ｄ１、及び、第２入力画像データ１１Ｄ２の差異となる対象物体を摘果対象物として抽出する抽出手順を行う。例えば、抽出部１０Ｆ２は、ＣＰＵ１０Ｈ１等で実現する。
【０２３２】
生成部１０Ｆ３は、抽出結果を示す画像データを第１学習データとして学習し、かつ、推定結果画像データを生成する生成手順を行う。例えば、生成部１０Ｆ３は、ＣＰＵ１０Ｈ１等で実現する。
【０２３３】
識別部１０Ｆ４は、推定結果画像データを識別して、識別結果に基づき第２学習データを生成する識別手順を行う。例えば、識別部１０Ｆ４は、ＣＰＵ１０Ｈ１等で実現する。
【０２３４】
マスク画像データ生成部１０Ｆ５は、対象物体、及び、対象物体以外を区別して示すマスク画像データを生成するマスク画像データ生成手順を行う。例えば、マスク画像データ生成部１０Ｆ５は、ＣＰＵ１０Ｈ１等で実現する。
【０２３５】
イラスト化処理部１０Ｆ６は、対象物体、及び、対象物体以外をイラスト化するイラスト化手順を行う。例えば、イラスト化処理部１０Ｆ６は、ＣＰＵ１０Ｈ１等で実現する。
【０２３６】
以上のように、学習データ生成装置１０は、学習データ１５等の第２学習データを生成する。このように、第２学習データを生成できると、学習データを人手で生成する場合等と比較して、農作物の摘果箇所を推定するＡＩ用の学習データを用意する作業負荷を軽減できる。例えば、農作物の摘果箇所を推定するＡＩ用の学習データは、少なくとも数千枚の画像データを用意する必要がある。このような用意を行うには、少なくとも１年乃至数年程度の準備期間を要する場合が多い。
【０２３７】
特に、農作物は、屋外等のように、いわゆる自然光下で撮影される場合が多い。このような照明環境下は、工場等より、照明環境が安定しない条件の場合が多い。具体的には、日光等は、人為的に調整するのが難しい。ゆえに、自然光は、工場等の照明等と比較して、光の強さ、向き、又は、影の有無等といった様々な条件が変動する。ゆえに、農作物を対象とする撮影は、照明環境が工場内等の屋内と比較して条件が厳しい場合が多い。このような外乱の多い条件下でＡＩを用いる場合には、特に学習データが多いのが望ましい。
【０２３８】
なお、準備期間は、対象とする農作物の周期によって異なる。
【０２３９】
さらに、ＡＩの推定精度を十分に高めようとするのであれば、学習データは、更に多く準備されるのが望ましい。例えば、バーニーおじさんのルール（Ｕｎｃｌｅ  Ｂｅｒｎｉｅ‘ｓ  ｒｕｌｅ）等に基づくと、ＡＩの学習には、ニューラルネットワークにおけるパラメータ数の１０倍以上の学習データを準備するのが望ましい。したがって、農作物の摘果箇所を推定するＡＩ用の学習データは、数万枚乃至数十万枚以上の画像データが準備されるのが望ましい場合もある。
【０２４０】
準備する学習データの量が多くなれば、学習データを実物の農作物を撮影して生成する場合には、準備期間が長くなり、作業負荷も大きくなりやすい。このように、作業負荷が大きくなると、開発コストの増大、及び、開発の長期化等の原因になる。
【０２４１】
一方で、本実施形態のように、学習データを生成できると、少ない作業負荷で多くの学習データを用意できる。したがって、学習データを用意する作業負荷を軽減できる。
【０２４２】
学習装置３０１は、例えば、学習データ入力部３０１Ｆ１、及び、学習部３０１Ｆ２等を備える機能構成である。
【０２４３】
学習データ入力部３０１Ｆ１は、第２学習データを入力する学習データ入力手順を行う。例えば、学習データ入力部３０１Ｆ１は、インタフェース１０Ｈ３等で実現する。
【０２４４】
学習部３０１Ｆ２は、第２学習データにより、学習モデル３０２を学習させる学習手順を行う。例えば、学習部３０１Ｆ２は、ＣＰＵ１０Ｈ１等で実現する。
【０２４５】
以上のように、学習装置３０１は、学習データ生成装置１０が生成する第２学習データ等を用いて学習モデル３０２を学習させる。このような学習により、学習装置３０１は、摘果対象物を推定する学習済みモデル３０３を生成できる。例えば、学習済みモデル３０３は、以下のように摘果対象物推定装置４０２が用いる。
【０２４６】
摘果対象物推定装置４０２は、画像データ入力部１０Ｆ１、推定部４０２Ｆ１、及び、出力部４０２Ｆ２等を備える機能構成である。
【０２４７】
画像データ入力部１０Ｆ１は、未知画像データ４０１を入力する画像データ入力手順を行う。例えば、画像データ入力部１０Ｆ１は、カメラ１１、及び、インタフェース１０Ｈ３等で実現する。
【０２４８】
推定部４０２Ｆ１は、学習済みモデル３０３により、摘果対象物を推定する推定手順を行う。例えば、推定部４０２Ｆ１は、ＣＰＵ１０Ｈ１等で実現する。
【０２４９】
出力部４０２Ｆ２は、推定結果を出力する出力手順を行う。例えば、出力部４０２Ｆ２は、出力装置１０Ｈ５等で実現する。
【０２５０】
以上のように、摘果対象物推定装置４０２は、学習済みモデル３０３を実装すると、学習済みモデル３０３により、摘果作業の内容を推定し、摘果対象物（なお、位置、数、又は、候補等の情報を含む。）を推定できる。このような推定結果が出力されると、ユーザ４０４は、初心者等であっても、推定結果を参照して、適切な摘果作業を行うことができる。すなわち、ユーザ４０４が初心者等であっても、推定結果を参照すると、摘果作業で残す果実と、摘果する果実とが把握できる。
【０２５１】
学習システム５００は、例えば、学習データ生成装置１０、学習装置３０１、及び、摘果対象物推定装置４０２の備える機能構成のうち、いずれかの機能構成を備える。
【０２５２】
具体的には、学習システム５００は、学習データ生成装置１０、及び、学習装置３０１等の複数の情報処理装置で構成する。このような学習システム５００であると、学習データを生成し、かつ、学習モデル３０２を学習させて学習済みモデル３０３を生成できる。
【０２５３】
なお、学習システム５００は、複数の情報処理装置に限られず、１台の情報処理装置であってもよい。
【０２５４】
また、学習システム５００は、学習装置３０１、及び、摘果対象物推定装置４０２の組み合わせでもよい。
【０２５５】
［推定システムの機能構成例］
図２０は、推定システムの機能構成例を示す図である。例えば、推定システム５０１は、学習データ生成装置１０、学習装置３０１、及び、摘果対象物推定装置４０２等で構成する。ただし、推定システム５０１は、学習データ生成装置１０がなくともよい。すなわち、推定システム５０１は、学習データ１５に、撮影した画像データを用いる、学習データ生成装置１０が生成した画像データを用いる、及び、両方を用いるのうち、いずれでもよい。
【０２５６】
なお、学習モデル３０２、及び、学習済みモデル３０３（学習済みモデル３０３を利用するプログラムを含む。）は、複製されて学習装置３０１、及び、摘果対象物推定装置４０２等が複数であってもよい。
【０２５７】
学習装置３０１は、例えば、画像データ入力部１０Ｆ１、学習データ入力部３０１Ｆ１、学習部３０１Ｆ２、抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６等を備える機能構成である。
【０２５８】
画像データ入力部１０Ｆ１は、第１入力画像データ１１Ｄ１を入力する画像データ入力手順を行う。例えば、画像データ入力部１０Ｆ１は、カメラ１１、及び、インタフェース１０Ｈ３等で実現する。
【０２５９】
学習データ入力部３０１Ｆ１は、学習データ１５を入力する学習データ入力手順を行う。例えば、学習データ入力部３０１Ｆ１は、インタフェース１０Ｈ３等で実現する。
【０２６０】
学習部３０１Ｆ２は、学習データ１５に基づき、学習モデル３０２を学習させる学習手順を行う。例えば、学習部３０１Ｆ２は、ＣＰＵ１０Ｈ１等で実現する。
【０２６１】
抽出部１０Ｆ２は、第１入力画像データ１１Ｄ１、及び、学習データ１５において、対象物体、又は、摘果対象物を抽出する抽出手順を行う。例えば、抽出部１０Ｆ２は、ＣＰＵ１０Ｈ１等で実現する。
【０２６２】
第１入力画像データ１１Ｄ１、及び、学習データ１５は、どちらか一方、又は、両方が抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、及び、イラスト化処理部１０Ｆ６により、マスク画像データを生成する、イラスト化する、又は、両方の処理を行う抽出処理がされるのが望ましい。
【０２６３】
このように、対象物体、又は、摘果対象物等が抽出されると、単純に農作物を撮影した画像データをそのまま用いる場合等と比較して、学習モデル３０２は、摘果対象物等の重要な特徴量を精度良く学習できる。すなわち、学習装置３０１は、学習モデル３０２を学習させて、摘果作業を精度良く推定できる学習済みモデル３０３を生成できる。
【０２６４】
以上のように、推定システム５０１は、学習部３０１Ｆ２により、学習モデル３０２を学習させて、学習済みモデル３０３を生成する。このように、生成された学習済みモデル３０３が、ネットワーク等を介して、摘果対象物推定装置４０２に送られる。
【０２６５】
摘果対象物推定装置４０２は、画像データ入力部１０Ｆ１、抽出部１０Ｆ２、マスク画像データ生成部１０Ｆ５、イラスト化処理部１０Ｆ６、推定部４０２Ｆ１、及び、出力部４０２Ｆ２等を備える機能構成である。
【０２６６】
画像データ入力部１０Ｆ１は、未知画像データ４０１を入力する画像データ入力手順を行う。例えば、画像データ入力部１０Ｆ１は、カメラ１１、及び、インタフェース１０Ｈ３等で実現する。
【０２６７】
抽出部１０Ｆ２は、未知画像データ４０１において、対象物体、又は、摘果対象物を抽出する抽出手順を行う。例えば、抽出部１０Ｆ２は、ＣＰＵ１０Ｈ１等で実現する。
【０２６８】
推定部４０２Ｆ１は、学習済みモデル３０３により、摘果対象物を推定する推定手順を行う。例えば、推定部４０２Ｆ１は、ＣＰＵ１０Ｈ１等で実現する。
【０２６９】
出力部４０２Ｆ２は、推定結果を出力する出力手順を行う。例えば、出力部４０２Ｆ２は、出力装置１０Ｈ５等で実現する。
【０２７０】
以上のように、推定システム５０１では、まず、学習装置３０１が学習モデル３０２を学習させて、学習済みモデル３０３を生成する。次に、推定システム５０１では、このように生成された学習済みモデル３０３が摘果対象物推定装置４０２に配布される。
【０２７１】
摘果対象物推定装置４０２は、学習済みモデル３０３を実装すると、学習済みモデル３０３により、摘果作業の内容を推定し、摘果対象物（なお、位置、数、又は、候補等の情報を含む。）を推定できる。このような推定結果が出力されると、ユーザ４０４は、初心者等であっても、推定結果を参照して、適切な摘果作業を行うことができる。
【０２７２】
すなわち、ユーザ４０４が初心者等であっても、推定結果を参照すると、摘果作業で残す果実と、摘果する果実とが把握できる。また、例えば、学習装置３０１がクラウド環境等を利用する場合には、データの収集、及び、学習済みモデル３０３の配布等を速やかに行うことができる。
【０２７３】
［学習データの形式について］
第１学習データ、及び、第２学習データ等の学習データは、農作物を抽出した形式の画像データを用いるのが望ましい。ただし、抽出は、複数の段階に分けて行ってもよい。このような場合において、学習装置３０１は、抽出において、途中の段階となる形式の画像データ等を学習データに含めてもよい。
【０２７４】
例えば、抽出処理は、第１段階乃至第３段階の３段階に分けて行うとする。
【０２７５】
第１段階は、入力された状態、すなわち、写真の形式（ただし、ホワイトバランス等の調整がされてもよい。）の画像データである。
【０２７６】
第２段階は、農作物以外の箇所を背景とし、背景をマスクした形式の画像データである。例えば、背景は白色（マスクにより、どのような色にするかは設定する。）にマスク化される。
【０２７７】
第３段階は、農作物等をイラスト化した形式の画像データである。
【０２７８】
学習データは、上記の第１段階乃至第３段階のうち、どの段階の画像データでもよい。また、学習データは、上記の第１段階乃至第３段階のうち、どの段階の画像データだけでなく、複数の段階、すなわち、抽出処理がされる前と後の両方の画像データでもよい。
【０２７９】
マスク化等で農作物が抽出された形式の画像データであると、学習装置３０１は、学習モデルに摘果対象物を精度良く学習できる。
【０２８０】
一方で、学習データは、写真等の形式の画像データを含むのが望ましい場合もある。例えば、イラスト化すると、画像データは、対象物体に発生している傷等（例えば、日当たりが悪い、塩害、腐食、病気、外傷、又は、虫食い等を原因とする。また、変色等でもよい。）を省略する場合がある。これに対し、摘果作業は、傷等がある対象物体を優先的に摘果する場合もある。このような摘果作業のためのＡＩは、第１段階、又は、第２段階等の形式、すなわち、傷等を表示する形式の画像データで学習するのが望ましい。したがって、学習データは、摘果作業の好み等に応じて形式が選択されてもよい。
【０２８１】
このように、学習データは、複数段階の画像データであると、学習装置３０１は、より好みに合致した摘果作業を学習モデルに学習させることができる。
【０２８２】
［ＡＩについて］
ＡＩは、例えば、以下のようなネットワーク構造で画像データ等を処理する。
【０２８３】
図２１は、ネットワーク構造例を示す図である。例えば、ＡＩは、入力層Ｌ１、隠れ層Ｌ２、及び、出力層Ｌ３を有するネットワーク構造を有してもよい。
【０２８４】
具体的には、ＡＩは、図示するようなＣｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（畳み込みニューラルネットワーク、ＣＮＮ）等を有するネットワーク構造である。
【０２８５】
入力層Ｌ１は、入力データＤＩＮを入力する層である。
【０２８６】
隠れ層Ｌ２は、入力層Ｌ１から入力される入力データＤＩＮに対して、畳み込み、プーリング、正規化、又は、これらの組み合わせ等の処理を行う層である。
【０２８７】
出力層Ｌ３は、隠れ層Ｌ２で処理された結果を出力データＤＯＵＴで出力する層である。例えば、出力層Ｌ３は、全結合層等で構成される。
【０２８８】
畳み込み（Ｃｏｎｖｏｌｕｔｉｏｎ）は、例えば、フィルタ、マスク、又は、カーネル（以下単に「フィルタ」という。）等に基づいて、画像、又は、画像に対して所定の処理を行って生成される特徴マップ等に対して、フィルタ処理を行って、特徴マップを生成する処理である。
【０２８９】
具体的には、フィルタは、フィルタ係数（「重み」又は「パラメータ」等という場合もある。）を画像又は特徴マップの画素値に乗じる計算をするのに用いるデータである。なお、フィルタ係数は、学習又は設定等により定まる値である。
【０２９０】
そして、畳み込みの処理は、画像又は特徴マップを構成する画素のそれぞれの画素値に、フィルタ係数を乗じる計算を行い、計算結果を構成要素とする特徴マップを生成する処理である。
【０２９１】
このように、畳み込みの処理が行われると、画像又は特徴マップの特徴が抽出できる。特徴は、例えば、エッジ成分、又は、対象とする画素の周辺を統計処理した結果等である。
【０２９２】
また、畳み込みの処理が行われると、対象とする画像又は特徴マップが示す被写体等が、上下にずれる、左右にずれる、斜めにずれる、回転、又は、これらの組み合わせとなる画像又は特徴マップであっても同様の特徴が抽出できる。
【０２９３】
プーリング（Ｐｏｏｌｉｎｇ）は、対象とする範囲に対して、平均の計算、最小値の抽出、又は、最大値の抽出等の処理を行って、特徴を抽出して特徴マップを生成する処理である。すなわち、プーリングは、ｍａｘプーリング、又は、ａｖｇプーリング等である。
【０２９４】
なお、畳み込み、及び、プーリングは、ゼロパディング（Ｚｅｒｏ  Ｐａｄｄｉｎｇ）等の前処理があってもよい。
【０２９５】
以上のような、畳み込み、プーリング、又は、これらの組み合わせによって、いわゆるデータ量削減効果、合成性、又は、移動不変性等が獲得できる。
【０２９６】
正規化（Ｎｏｒｍａｌｉｚａｔｉｏｎ）は、例えば、分散及び平均値を揃える処理等である。なお、正規化は、局所的に行う場合を含む。そして、正規化が行われるとは、データは、所定の範囲内の値等になる。ゆえに、以降の処理においてデータの扱いが容易にできる。
【０２９７】
全結合（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）は、特徴マップ等のデータを出力に落とし込む処理である。
【０２９８】
例えば、出力は、「ＹＥＳ」又は「ＮＯ」等のように、出力が２値の形式である。このような出力形式では、全結合は、２種類のうち、いずれかの結論となるように、隠れ層Ｌ２で抽出される特徴に基づいてノードを結合する処理である。
【０２９９】
一方で、出力が３種類以上ある場合等には、全結合は、いわゆるソフトマックス関数等を行う処理である。このようにして、全結合により、最尤推定法等によって分類（確率を示す出力を行う場合を含む。）を行うことができる。
【０３００】
［その他の実施形態］
学習データ生成装置１０、学習装置３０１、及び、摘果対象物推定装置４０２は、異なる種類の情報処理装置であってもよい。すなわち、学習データ生成装置１０、学習装置３０１、及び、摘果対象物推定装置４０２は、異なるハードウェア構成であってもよい。
【０３０１】
学習データは、教師データ、又は、訓練データ等と呼ばれる場合もある。
【０３０２】
実施形態は、上記の実施形態を組み合わせたものでもよい。すなわち、学習データを生成する装置、学習モデルに対して学習処理を行って学習済みモデルを生成する装置、及び、学習済みモデルを用いて実行処理を行う装置は、同じ装置でもよいし、異なる装置であってもよい。このように、学習モデルの学習、及び、学習済みモデルによる実行は、同一の情報処理装置で行われなくともよい。すなわち、学習モデルの学習、及び、学習済みモデルによる実行は、異なる情報処理装置で行われてもよい。
【０３０３】
なお、異なる装置である場合には、互いの装置は、例えば、ネットワーク等を介して、学習データ、又は、学習済みモデル等のデータを送受信する。
【０３０４】
ゆえに、学習済みモデルは、学習によって生成された後、ネットワーク等を介して、プログラム等の形式で配信され、学習された情報処理装置とは異なる装置で実行されてもよい。なお、他の情報処理装置において学習して生成された学習モデルに対し、追加して学習が行われてもよい。
【０３０５】
なお、学習データは、データ拡張（ｄａｔａ  ａｕｇｍｅｎｔａｔｉｏｎ）が行われてもよい。具体的には、学習データは、画像データの場合には、画像データが示す画像の一部を切り出して新たなデータを生成する等のデータ拡張がされてもよい。
【０３０６】
同様に、データ拡張は、例えば、回転、スライド、データの一部せん断、左右反転、上下反転、歪みを加える、歪みを補正する、濃淡の変更、色の補正、ノイズを減らす、ノイズを加える、フィルタをかける、拡大、縮小、エッジの強調、又は、これらの組み合わせとなる処理等を画像データに対してランダムに適用する処理である。
【０３０７】
このようにデータ拡張により、学習データを増やせると、学習モデルの学習に用いる学習データを増やすことができる。
【０３０８】
実施形態では、バッチノーマライゼーション（Ｂａｔｃｈ  Ｎｏｒｍａｌｉｚａｔｉｏｎ）、又は、ドロップアウト等といった過学習（「過剰適合」又は「過適合」等ともいう。ｏｖｅｒｆｉｔｔｉｎｇ）を軽減化させる処理が行われてもよい。ほかにも、次元削減等の処理が行われてもよい。
【０３０９】
学習モデル、及び、学習済みモデル等におけるネットワーク構造は、ＣＮＮのネットワーク構造に限られない。例えば、ネットワーク構造は、ＲＮＮ（再帰型ニューラルネットワーク、Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ）、又は、Ｔｒａｎｓｆｏｒｍｅｒ等の構成を有してもよい。
【０３１０】
また、学習モデル、及び、学習済みモデルは、ハイパパラメータを有する構成であってもよい。すなわち、学習モデル、及び、学習済みモデルは、一部の設定をユーザが行う構成でもよい。
【０３１１】
ほかにも、例えば、グラフ（頂点、及び、辺で構成されるデータである。）を扱う場合には、学習モデル、及び、学習済みモデルは、Ｇｒａｐｈ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（グラフニューラルネットワーク、ＧＮＮ）等の構造を有してもよい。
【０３１２】
また、学習モデル、及び、学習済みモデルは、他の機械学習を利用してもよい。例えば、学習モデル、及び、学習済みモデルは、教師なしのモデルにより、正規化等を前処理で行ってもよい。
【０３１３】
本発明は、上記に例示する学習データ生成方法、学習方法、推定方法、又は、上記に示す処理と等価な処理を実行するプログラム（ファームウェア、及び、プログラムに準ずるものを含む。以下単に「プログラム」という。）で実現されてもよい。
【０３１４】
すなわち、本発明は、コンピュータに対して指令を行って所定の結果が得られるように、プログラミング言語等で記載されたプログラム等で実現されてもよい。なお、プログラムは、処理の一部をＩｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（集積回路、ＩＣ）等のハードウェア又はＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＧＰＵ）等の演算装置等で実行する構成であってもよい。
【０３１５】
プログラムは、コンピュータが有する演算装置、制御装置、及び、記憶装置等を協働させて上記に示す処理等をコンピュータに実行させる。すなわち、プログラムは、主記憶装置等にロードされて、演算装置に命令を発して演算を行わせてコンピュータを動作させる。
【０３１６】
また、プログラムは、コンピュータが読み込み可能な記録媒体、又は、ネットワーク等の電気通信回線を介して提供されてもよい。
【０３１７】
本発明は、複数の装置で構成されるシステムで実現されてもよい。すなわち、複数のコンピュータによるシステムは、上記に示す処理を冗長、並列、分散、又は、これらの組み合わせとなるように実行してもよい。したがって、本発明は、上記に示すハードウェア構成以外の装置、及び、上記に示す装置以外のシステムで実現されてもよい。
【０３１８】
なお、本発明は、上記に例示する各実施形態に限定されない。したがって、本発明は、技術的な要旨を逸脱しない範囲で、構成要素の追加、又は、変形が可能である。ゆえに、特許請求の範囲に記載された技術思想に含まれる技術的事項のすべてが本発明の対象となる。なお、上記に例示する実施形態は、実施において好適な具体例である。そして、当業者であれば、開示した内容から様々な変形例を実現で可能であって、このような変形例は、特許請求の範囲に記載された技術的範囲に含まれる。
【符号の説明】
【０３１９】
１０        ：学習データ生成装置
１０Ｆ１    ：画像データ入力部
１０Ｆ２    ：抽出部
１０Ｆ３    ：生成部
１０Ｆ４    ：識別部
１０Ｆ５    ：マスク画像データ生成部
１０Ｆ６    ：イラスト化処理部
１１        ：カメラ
１１Ｄ１    ：第１入力画像データ
１１Ｄ２    ：第２入力画像データ
１２        ：第１農作物
１３        ：第２農作物
１４        ：作業者
１５        ：学習データ
２０        ：抽出結果
２１        ：推定結果画像データ
２２        ：正解データ
３１        ：第１物体
３２        ：第２物体
３３        ：第３物体
３４        ：第４物体
４０        ：マスク画像データ
４１        ：第１対象物体
４２        ：第２対象物体
４３        ：第３対象物体
４４        ：第４対象物体
５０        ：イラスト化画像データ
５１        ：対象物体領域
５２        ：塗り潰し領域
１０１      ：第１対象物体
１０２      ：第２対象物体
１０３      ：第３対象物体
１０４      ：第４対象物体
１０５      ：第５対象物体
１０６      ：第６対象物体
１０７      ：第７対象物体
３０１      ：学習装置
３０１Ｆ１  ：学習データ入力部
３０１Ｆ２  ：学習部
３０２      ：学習モデル
３０３      ：学習済みモデル
４０１      ：未知画像データ
４０２      ：摘果対象物推定装置
４０２Ｆ１  ：推定部
４０２Ｆ２  ：出力部
４０３      ：出力画面
４０４      ：ユーザ
４０５      ：設定画面
５００      ：学習システム
【要約】      （修正有）【課題】農作物の摘果作業における摘果対象物を高精度に推定するＡＩを提供する。【解決手段】学習データ生成装置と、学習装置と、摘果対象物推定装置を有する推定システム５０１であって、学習データ生成装置は、農作物の摘果前（第１）と後（第２）を示す画像データを入力し両者の差異となる対象物体を摘果対象物として抽出する抽出部と、その抽出結果を含む第１学習データを用いて学習して摘果対象物を推定する生成部と、生成部からの推定結果画像データを識別して第２学習データを生成する識別部とを備える。学習装置は、第２学習データにより、摘果対象物の推定結果画像データを生成する生成部と、学習データと比較に基づく識別結果を生成部へフィードバックさせて学習モデルを学習させる識別部とを有する学習部を備える。摘果対象物推定装置は、摘果前を示す未知画像データから学習済みモデルにより、摘果対象物を推定する。【選択図】図２０【図１】
0006964316.tif 000002
【図２】
0006964316.tif 000003
【図３】
0006964316.tif 000004
【図４】
0006964316.tif 000005
【図５】
0006964316.tif 000006
【図６】
0006964316.tif 000007
【図７】
0006964316.tif 000008
【図８】
0006964316.tif 000009
【図９】
0006964316.tif 000010
【図１０】
0006964316.tif 000011
【図１１】
0006964316.tif 000012
【図１２】
0006964316.tif 000013
【図１３】
0006964316.tif 000014
【図１４】
0006964316.tif 000015
【図１５】
0006964316.tif 000016
【図１６】
0006964316.tif 000017
【図１７】
0006964316.tif 000018
【図１８】
0006964316.tif 000019
【図１９】
0006964316.tif 000020
【図２０】
0006964316.tif 000021
【図２１】
0006964316.tif 000022