(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024031552
(43)【公開日】2024-03-07
(54)【発明の名称】メロンの等級判定システム、メロンの等級判定方法、メロンの等級判定システム用プログラムおよび記録媒体
(51)【国際特許分類】
G06V 10/82 20220101AFI20240229BHJP
G06T 7/00 20170101ALI20240229BHJP
G01N 21/85 20060101ALI20240229BHJP
【FI】
G06V10/82
G06T7/00 350C
G01N21/85 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022135193
(22)【出願日】2022-08-26
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人科学技術振興機構、創発的研究支援事業「マルチモーダルフェノタイピングによる適応型情報協働栽培手法の確立」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】500181865
【氏名又は名称】株式会社大和コンピューター
(71)【出願人】
【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
(74)【代理人】
【識別番号】100136098
【弁理士】
【氏名又は名称】北野 修平
(74)【代理人】
【識別番号】100137246
【弁理士】
【氏名又は名称】田中 勝也
(74)【代理人】
【識別番号】100158861
【弁理士】
【氏名又は名称】南部 史
(74)【代理人】
【識別番号】100194674
【弁理士】
【氏名又は名称】青木 覚史
(72)【発明者】
【氏名】小池 誠
(72)【発明者】
【氏名】小川 晋
(72)【発明者】
【氏名】峰野 博史
(72)【発明者】
【氏名】田代 貴志
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA05
2G051AB01
2G051AB07
2G051BA20
2G051CA04
2G051DA08
2G051EA11
2G051EA12
2G051EB05
2G051ED21
5L096AA02
5L096CA04
5L096DA04
5L096EA45
5L096FA46
5L096HA11
5L096JA03
5L096JA22
5L096KA04
(57)【要約】
【課題】メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができるメロンの等級判定システムを提供する。
【解決手段】メロンの等級判定システムは、撮影部と、サーバーと、を備える。撮影部は、メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、撮影データ取得部により取得された撮影データをサーバーに送信する送信部と、を含む。サーバーは、送信部により送信された撮影データを受信する受信部と、受信部により受信した撮影データをメロンの全周画像データに変換する画像変換部と、メロンの等級の判定の熟練者がアノテーションを行ったデータを用いてメロンの輪郭特徴ベクトルとメロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、画像変換部により変換されたメロンの全周画像データからメロンの等級を判定する判定部と、判定部により判定されたメロンの等級を報知するよう制御する報知制御部と、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
メロンの等級を判定するメロンの等級判定システムであって、
メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備え、
前記撮影部は、
前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、
前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、
前記サーバーは、
前記送信部により送信された前記撮影データを受信する受信部と、
前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部と、
前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部と、
前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部と、を含む、メロンの等級判定システム。
【請求項2】
前記判定部は、前記メロンの全周画像データから類似度または距離しきい値を判断することにより前記メロンの等級を判定する、請求項1に記載のメロンの等級判定システム。
【請求項3】
前記報知制御部は、前記判定部により判定された前記メロンの等級を、ディスプレイを用いて表示することおよび音声を発することのうちの少なくともいずれか一方により報知するよう制御する、請求項1または請求項2に記載のメロンの等級判定システム。
【請求項4】
前記撮影部は、360°回転可能であり、前記メロンを載置する回転テーブルによる撮影および前記メロンに対して回転可能なカメラによる前記メロンの外観の撮影のうちの少なくともいずれか一方を含む、請求項1または請求項2に記載のメロンの等級判定システム。
【請求項5】
前記撮影部は、RGBカメラを含み、
前記映像取得部は、前記RGBカメラにより前記メロンの外観の360°撮影データを取得する、請求項1または請求項2に記載のメロンの等級判定システム。
【請求項6】
メロンの等級を判定するメロンの等級判定方法であって、
前記メロンの外観を360°撮影して撮影データを取得する工程と、
前記撮影データを前記メロンの全周画像データに変換する工程と、
前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、変換された前記メロンの全周画像データから前記メロンの等級を判定する工程と、
判定された前記メロンの等級を報知するよう制御する工程と、を含む、メロンの等級判定方法。
【請求項7】
前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備えメロンの等級を判定するメロンの等級判定システムに用いられるメロンの等級判定システム用プログラムであって、
前記サーバーを、
前記送信部により送信された前記撮影データを受信する受信部、
前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部、
前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部、および
前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部として機能させる、メロンの等級判定システム用プログラム。
【請求項8】
前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備えメロンの等級を判定するメロンの等級判定システムに用いられ、コンピューター読み取り可能な記録媒体であって、
前記サーバーを、
前記送信部により送信された前記撮影データを受信する受信部、
前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部、
前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部、および
前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部として機能させる、メロンの等級判定システム用プログラムを記録したコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、メロンの等級判定システム、メロンの等級判定方法、メロンの等級判定システム用プログラムおよび記録媒体に関するものである。
【背景技術】
【0002】
プリンスメロンの等級を判定するプリンスメロンの選別装置が知られている(例えば特許文献1参照)。特許文献1に開示のプリンスメロンの選別装置は、プリンスメロンの最大断面積およびその表面に存在する緑色スジ状の模様部分の面積を算出し、算出結果をそれぞれ所定の設定値と比較することによってプリンスメロンの外観、大きさによる等階級判定を行う判定手段を備えることとしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
高級果物として知られるメロンは、果実の見栄え等、外見の品質が重要視されており、出荷時には形状や色合い、ネットの模様、傷の有無等を加味した等級の選別が行われている。一般的に、このような外観検査は、経験豊富な生産者(熟練生産者)の目視によって行われている。そのため、等級の判断を行う熟練生産者の経験や主観によるところが大きく、複数の熟練生産者の間での等級付けの一貫性が保ちにくいこと、並びに手作業であるため、作業に多くの労力を有し、非効率であることが課題となる。
【0005】
そこで、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができるメロンの等級判定システムを提供することを目的の1つとする。
【課題を解決するための手段】
【0006】
本開示に従ったメロンの等級判定システムは、メロンの等級を判定するメロンの等級判定システムであって、メロンの外観を撮影する撮影部と、撮影部により撮影されたメロンの外観に基づいてメロンの等級を判定するサーバーと、を備える。撮影部は、メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、撮影データ取得部により取得された撮影データをサーバーに送信する送信部と、を含む。サーバーは、送信部により送信された撮影データを受信する受信部と、受信部により受信した撮影データをメロンの全周画像データに変換する画像変換部と、メロンの等級の判定の熟練者がアノテーションを行ったデータを用いてメロンの輪郭特徴ベクトルとメロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、画像変換部により変換されたメロンの全周画像データからメロンの等級を判定する判定部と、判定部により判定されたメロンの等級を報知するよう制御する報知制御部と、を含む。
【発明の効果】
【0007】
上記メロンの等級判定システムによれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態1におけるメロンの等級判定システムの外観を示す概念図である。
【
図2】
図2は、
図1に示すメロンの等級判定システムの構成を示すブロック図である。
【
図3】
図3は、A等級、B等級、C等級およびD等級の4つの等級に分けられたメロンMの外観を示す図である。
【
図4】
図4は、A等級、B等級、C等級およびD等級の4つの等級に分けられたメロンMの表面を拡大して示す図である。
【
図5】
図5は、メロンの等級判定システムを用いてメロンの等級を判定する際の代表的な構成を示すフローチャートである。
【
図6】
図6は、受信した撮影データを輪郭画像と網目画像に変換した状態を示す図である。
【
図7】
図7は、メロンの等級判定モデルの学習アーキテクチャを示す図である。
【
図8】
図8は、輪郭情報の算出状態を示す図である。
【
図9】
図9(a)および
図9(b)は、クラス別マージンを用いた埋め込みを示す図である。
【
図10】
図10は、250エポック学習を行った時点のデータ拡張で生成された画像例を示す図である。
【発明を実施するための形態】
【0009】
[実施形態の概要]
本開示に係るメロンの等級判定システムは、メロンの等級を判定するメロンの等級判定システムであって、メロンの外観を撮影する撮影部と、撮影部により撮影されたメロンの外観に基づいてメロンの等級を判定するサーバーと、を備える。撮影部は、メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、撮影データ取得部により取得された撮影データをサーバーに送信する送信部と、を含む。サーバーは、送信部により送信された撮影データを受信する受信部と、受信部により受信した撮影データをメロンの全周画像データに変換する画像変換部と、メロンの等級の判定の熟練者がアノテーションを行ったデータを用いてメロンの輪郭特徴ベクトルとメロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、画像変換部により変換されたメロンの全周画像データからメロンの等級を判定する判定部と、判定部により判定されたメロンの等級を報知するよう制御する報知制御部と、を含む。
【0010】
本開示に係るメロンの等級判定システムによると、上記構成の判定部を含む。判定部は、メロンの等級の判定の熟練者がアノテーションを行ったデータを用いてメロンの輪郭特徴ベクトルとメロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて判定を行っているため、その判定結果は、一貫性を有するものとなり、熟練生産者の判定と同程度の精度となる。したがって、上記メロンの等級判定システムによれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0011】
上記メロンの等級判定システムにおいて、判定部は、メロンの全周画像データから類似度または距離しきい値を判断することによりメロンの等級を判定してもよい。このようにすることにより、より精度よく判定することができる。
【0012】
上記メロンの等級判定システムにおいて、報知制御部は、判定部により判定されたメロンの等級を、ディスプレイを用いて表示することおよび音声を発することのうちの少なくともいずれか一方により報知するよう制御してもよい。このようにすることにより、判定した等級を視覚的および聴覚の少なくともいずれか一方にて報知することができ、容易に判定された等級を把握することができる。
【0013】
上記メロンの等級判定システムにおいて、撮影部は、360°回転可能であり、前記メロンを載置する回転テーブルによる撮影およびメロンに対して回転可能なカメラによるメロンの外観の撮影のうちの少なくともいずれか一方を含んでもよい。このようにすることにより、回転テーブルおよびカメラの少なくともいずれか一方を回転させてメロンの外観を360°撮影する際の効率化を図ることができ、利便性の向上を図ることができる。
【0014】
上記メロンの等級判定システムにおいて、撮影部は、RGBカメラを含んでもよい。映像取得部は、RGBカメラによりメロンの外観の360°映像データを取得してもよい。このようにすることにより、フルカラーによる高精度の撮影が可能になり、より等級の判定に望ましい画像を取得することができる。したがって、より判定の精度の向上を図ることができる。
【0015】
本開示に係るメロンの等級判定方法は、メロンの等級を判定するメロンの等級判定方法であって、前記メロンの外観を360°撮影して撮影データを取得する工程と、前記撮影データを前記メロンの全周画像データに変換する工程と、前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、変換された前記メロンの全周画像データから前記メロンの等級を判定する工程と、判定された前記メロンの等級を報知するよう制御する工程と、を含む。
【0016】
上記メロンの等級判定方法によれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0017】
本開示に係るメロンの等級判定システム用プログラムは、前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備えメロンの等級を判定するメロンの等級判定システムに用いられるメロンの等級判定システム用プログラムであって、前記サーバーを、前記送信部により送信された前記撮影データを受信する受信部、前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部、前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部、および前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部として機能させる、メロンの等級判定システム用プログラムである。
【0018】
上記メロンの等級判定システム用プログラムによれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0019】
本開示に係る記録媒体は、前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備えメロンの等級を判定するメロンの等級判定システムに用いられ、コンピューター読み取り可能な記録媒体であって、前記サーバーを、前記送信部により送信された前記撮影データを受信する受信部、前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部、前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部、および前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部として機能させる、メロンの等級判定システム用プログラムを記録したコンピューター読み取り可能な記録媒体である。
【0020】
上記記録媒体によれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0021】
[実施形態の具体例]
次に、本開示のメロンの等級判定システムの具体的な実施の形態の一例を、図面を参照しつつ説明する。以下の図面において同一または相当する部分には同一の参照番号を付しその説明は繰返さない。
【0022】
(実施の形態1)
本開示の実施の形態1におけるメロンの等級判定システムの構成について説明する。
図1は、実施の形態1におけるメロンの等級判定システムの外観を示す概念図である。
図2は、
図1に示すメロンの等級判定システムの構成を示すブロック図である。
【0023】
図1および
図2を参照して、実施の形態1におけるメロンの等級判定システム10は、メロンMの外観を撮影し、撮影した画像に基づいてメロンの等級を判定する。
【0024】
メロンの等級判定システム10は、撮影部11と、サーバー21と、を含む。撮影部11は、撮影部11自身を制御する撮影側制御部12と、撮影部11と外部機器とを接続するための撮影側ネットワークインターフェース部13と、撮影部11においてデータを記憶するメモリ14と、メロンMの外観を撮影するRGBカメラ15と、撮影対象となるメロンMに光を照射するLED照明16と、回転可能であり、撮影対象となるメロンMを載置する回転テーブル17と、を含む。メモリ14およびRGBカメラ15は、メロンMの外観を360°撮影して撮影データを取得する撮影データ取得部として機能する。撮影部11は、サーバー21と通信可能に構成されている。撮影側ネットワークインターフェース部13は、データを送信する送信部およびデータを受信する受信部として機能する。なお、撮影部11とサーバー21とは、例えばネットワークを介して接続可能な構成であってもよいし、有線または無線により接続可能な構成であってもよい。本実施形態においては、撮影部11は、サーバー21とWi-Fi接続によりデータの授受が可能な構成となっている。
【0025】
撮影部11は、メロンMを撮影する際にメロンMを収容する箱18を含む。箱18は、略直方体形状である。箱18には、上側を構成する壁に開口19が設けられている。この開口19を通じて、撮影対象、すなわち、等級判定対象となるメロンMの箱18内への収容および箱18外への取り出しを行う。すなわち、開口19は、ユーザーがメロンMの出し入れが可能な大きさおよび位置に設けられている。箱18の内壁の色は、黒色である。すなわち、箱18は、暗室を構成する。また、メロンMの外観撮影時には、開口19は閉じられる。箱18内の所定の箇所には、RGBカメラ15と、LED照明16と、回転テーブル17と、が設置される。
【0026】
撮影時には、メロンMは回転テーブル17上に載置される。LED照明16は、回転テーブル17上に載置されたメロンMに照明を当てることができる。RGBカメラ15は、箱18内に取り付けられており、回転テーブル17上に載置されたメロンMの外観を撮影することができる。撮影時においては、LED照明16により回転テーブル17上に載置されたメロンMに光が当てられた状態で、回転テーブル17が回転(自転)する。RGBカメラ15は、いわゆる定点撮影であり、回転テーブル17の回転により、メロンMの外観が360°撮影される。なお、回転テーブル17は、質量計も兼ねており、回転テーブル17上に載置されたメロンMの質量も測定することができる。なお、回転テーブル17が回転する構成ではなく、RGBカメラ15が撮影対象となるメロンMの外観を360°撮影するよう回転するよう構成してもよい。もちろん、双方とも回転可能な構成としてもよい。また、動画ではなく、静止画を連続的に撮影することにより、メロンMの360°の外観の画像を撮影することにしてもよい。この場合、例えば、45°ずつ回転させて合計8枚の写真画像からメロンMの360°全周画像データを導出することにしてもよい。
【0027】
次に、サーバー21の構成について説明する。サーバー21は、サーバー21自身を制御するサーバー制御部22と、サーバー21と外部機器とを接続するためのサーバーネットワークインターフェース部23と、サーバー21においてデータを記憶するサーバーハードディスク24と、を含む。サーバーネットワークインターフェース部23は、データを送信する送信部およびデータを受信する受信部として機能する。また、サーバー制御部22は、画像変換部25と、判定部26と、報知制御部27と、を含む。画像変換部25は、受信部としてのサーバーネットワークインターフェース部23により受信したメロンの撮影データ、すなわち、外観の360°映像データをメロンの全周画像データに変換する。判定部26は、メロンMの等級の判定の熟練者がアノテーションを行ったデータを用いて、メロンの輪郭特徴ベクトルとメロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、画像変換部25により変換されたメロンの全周画像データから類似度を判断し、メロンの等級を判定する。報知制御部27は、判定部26により判定されたメロンの等級を報知するよう制御する。これらの構成については、後に詳述する。
【0028】
メロンの等級判定システム10は、さらにディスプレイ29を含む。ディスプレイ29は、サーバー21に接続されており、サーバー21内のデータを表示することができる。
【0029】
次に、メロンの等級判定システム10において判定されるメロンMの等級について簡単に説明する。
図3は、A等級、B等級、C等級およびD等級の4つの等級に分けられたメロンMの外観を示す図である。
図4は、A等級、B等級、C等級およびD等級の4つの等級に分けられたメロンMの表面を拡大して示す図である。
図3および
図4を参照して、A等級は高品質であり、網目の密度が均一であり果実の形状に歪みが少ない。B等級は中品質であり、網目の乱れが目立つものの、果実の形状に歪みが少ない。C等級は低品質であり、扁平、面長、凸状といった果実の形状の歪みがある。D等級は低品質であり、果実に傷、汚れ、黒カビ、著しい網目の乱れがある。なお、C等級は形状で判断されるため、網目は不問である。
【0030】
このような等級付けにおける優先順位は、D>C>B>A等級の順となり、品質が低い等級が優先される(例としてCとDの特徴を持ったメロンはD等級となる)。また、A、B、D等級は網目の特徴によって判断され、C等級のみ果実の形状の特徴によって決定される。なお、網目の密度や形状の歪みについて定量的な判断基準はない。
【0031】
次に、本実施形態におけるメロンの等級判定システム10を用いてメロンの等級を判定する方法について説明する。
図5は、メロンの等級判定システム10を用いてメロンの等級を判定する際の代表的な構成を示すフローチャートである。
【0032】
図5を参照して、まず、メロンMの等級の判定を要望するユーザーは、開口19を利用してメロンMを箱18内の回転テーブル17上に載置する。その後、開口19を閉鎖し、メロンMの等級の判定を開始するようスタートボタンを押下する。スタートボタンの押下を検知すれば(
図5において、ステップS11において、YES、以下「ステップを省略する。」)、メロンMの等級の判定を開始する。具体的には、以下の処理を行う。
【0033】
まず、スタートボタンの押下を検知すると、メロンMの外観の撮影を開始する(S12)。具体的には、LED照明16をオンにしてメロンMの表面に照明を当てる。そして、回転テーブル17の回転を開始すると共にRGBカメラ15により映像の撮影を開始する。
【0034】
回転テーブル17を360°回転させて、メロンMの外観を撮影する。そして、メロンMの外観の全周分、すなわち、360°分の外観の画像を撮影して撮影を終了する(S13)。映像取得部として機能するメモリ14は、メロンの外観を360°撮影して撮影データ、すなわち、映像データを取得する。その後、取得した映像データを、撮影側ネットワークインターフェース部13によりサーバー21に送信する(S14)。
【0035】
次に、サーバー21側の処理について説明する。サーバー21は、撮影部11から送信された撮影データをサーバーネットワークインターフェース部23により受信する(S15)。そして、受信した撮影データを処理する。具体的には、まず、画像変換部25により、受信した撮影データを輪郭画像と網目画像に変換する(S16)。
【0036】
図6は、受信した撮影データを輪郭画像と網目画像に変換した状態を示す図である。
図6を参照して、受信した360°の全周映像データ31から果実の向きが45°ごとになるように合計8フレームを画像として切り出す。切り出したフレーム画像に対して背景領域と果実領域とを区別できるように画像の2値化を行う。そして、果実柳雄域に対し、収縮処理と膨張処理とを各20回適用することで、果実領域画像から細い茎部分のみを消去して、輪郭画像32を生成する。
【0037】
また、網目画像については、360°の全周映像データ31から先頭の1フレームを画像として切り出す。切り出したフレーム画像に対し、背景画像と果実領域とを区別できるように画像の2値化を行う。次に、2値化画像に対し、楕円フィッティングを行い、果実の中心座標、高さ、幅の情報を取得する。そして、中心座標を中心に幅1ピクセルで高さ分の領域を切り出す。これを全599フレームに対して行い、各フレームで切り出した画像を横方向に連結し、幅599ピクセルの画像を生成する。なお、この方法は簡易的なパノラマ画像を生成する方法と同じである。最後に、生成した画像を縦112×横448ピクセルにリサイズして網目画像33とする。
【0038】
このようにして、画像変換部25は、受信した360°映像データから輪郭画像32および網目画像33に変換する。次に、変換された輪郭画像32および網目画像33から、メロンMの等級を判定する(S17)。
【0039】
ここでまず、メロンの等級判定モデルの学習アーキテクチャについて説明する。
図7は、メロンの等級判定モデルの学習アーキテクチャを示す図である。
図7を参照して、メロンの等級判定モデルは、大別すると輪郭画像から輪郭画像特徴ベクトルに変換する部分と網目画像から網目特徴ベクトルに変換する部分から構成され、最終的には両特徴ベクトルを結合し線形変換後にL2正規化したものをメロン1玉の特徴ベクトルとする。ここで、等級判定に関係するその他の特徴量を組み合わせてもよい。なお、メロン1玉のデータxに対する正解ラベルを4等級とすると、y∈{0,1,2,3}であるが、それとは別に輪郭画像と網目画像に対しても、それぞれラベルを付与する。輪郭画像x
Shapeのラベルy
Shape∈{0,1}は、画像がC等級であるかないかを表し、網目画像x
NetのラベルyNet{0,1,2}は、画像がA、B、Dのどの等級であるかを表す。
【0040】
輪郭画像から輪郭画像ベクトルへの埋め込みは、輪郭画像から算出した輪郭情報の統計量を使用する。
図8は、輪郭情報の算出状態を示す図である。
図8に示す通り、輪郭画像41から矢印42で示す果実の横幅、矢印43で示す高さ、幅/高さから算出されるアスペクト比、矢印46a,46b,46c,46d,46eで示す10°ごとの果実中心44から輪郭45までの長さを算出し、全8枚の平均値、最小値、最大値、標準偏差を求める。ここで、等級判定に関係するそのほかの統計量を組み合わせてもよい。なお、矢印46aは、部位1の長さを示し、矢印46bは、部位2の長さを示し、矢印46cは、部位3の長さを示し、矢印46dは、部位4の長さを示し、矢印46eは、部位36の長さを示す。部位については、メロンMを周方向に36分割した場合のそれぞれの位置に対応するものである。次に、算出した全ての統計量の中から、ランダムフォレスト等を用いた再帰的特徴量削減法を用いて、果実の形状に歪みのあるC等級yShapeの判定に有効な7つの統計量を選択する。表1に輪郭画像から算出した統計量の選ばれた統計量を示す。表1中の下線は、特徴量選択で選ばれた特徴量を示す。なお、この特徴量選択は、ArcFace等を用いた学習を行う前に実施しておき、以降、
図7のEmbeddingモジュールでは入力された輪郭画像に対し、7つの輪郭特徴量の算出だけを行う。
【表1】
【0041】
網目特徴ベクトルの抽出は、網目画像から画像全体の特徴を抽出するのではなく、画像の等級を表す数~数十ピクセルの局所的なクラス固有の特徴を検出することが目的である。したがって、MC-Loss(Mutual-Channel Loss)(損失関数)を使い、畳み込みニューラル・ネットワーク(CNN(Convolutional Neural Network))により構成されたエンコーダを学習する。ただし、損失関数はMC-Lossに限定されない。まず、入力となる網目画像は、エンコーダによって特徴マップに変換される。この時、CNNの畳み込み層の最終層が出力する抽象度の高い特徴マップを使用するのではなく、局所的な特徴を用いるため抽象度の低い中間の畳み込み層の出力を使用する。例えば、ResNet50を使用する場合、Conv5ブロックの7×7の特徴マップを用いるのではなく、1つ手前のConv4ブロックの14×14の特徴マップを用いる。
【0042】
変換された特徴マップを、高さH、幅W、チャンネル数NとしてF∈R
W×H×Nとする。この時、MC-Lossを用いる場合はN=C×εとなるよう設定する必要がある。ここでCは分類クラスの数で、εはクラス毎の特徴マップのチャンネル数である。その結果、クラスiに対応する特徴マップは、Fi∈Rε×W×H,i=0,1,…,C-1と表すことができる。MC-Lossではこの特徴マップに対し損失を次のように定義する。
【数1】
L
dis(F)はエンコーダが抽出した特徴の識別性に関する損失で、クロスエントロピー損失関数L
CEを用いて次のように表す。
【数2】
ここで、L
CE(y,y‘)は正解ラベルyとモデルの推定ラベルy’のクロスエントロピー損失である。また、関数g(・)は次のように定義する。
【数3】
ここで、Mi=diag(Maski),Maksi∈R
εであり、関数diag(・)は引数のベクトルを対角行列の体格成分に配置する。この時、Maskiの半分(ランダムに選択されたε/2分)を0とし、もう半分を1とする。言い換えると、数3の[Mi・Fi]はクラス別の特徴マップFiのチャンネルの半分を0に置き換えることであり、チャンネル単位のドロップアウトと考えることができる。
【0043】
Ldiv(F)は抽出した特徴の多様性に関する損失で、数4で表す。
【数4】
ここで、関数h(・)は次のように定義する。
【数5】
このLdivはエンコーダによって抽出されたクラス毎の特徴マップが、チャンネル方向で重複していない場合にボーナスを与える。具体的には、数1で表す通り、パラメータλを掛けた値が損失から減算される。この損失関数はエンコーダがなるべく重複のない多様な特徴抽出を学習するように作用する。
【0044】
その後、Activation Mapを生成する。Activation Mapは、特徴マップを集約することで画像空間上のどの部位の特徴がモデルの推定結果に寄与しているかを可視化する。これは説明可能なAI(XAI)技術の一つとして知られており、Class activation map(CAM)では、Activation Map:A∈R
W×H×Cをエンコーダが出力する特徴マップと全結合層の重みを用いて算出している。本システムでは、エンコーダが出力する各クラスの特徴マップFiにカーネルサイズ1×1の最大プーリングを適用した後、クラス間でSoftmaxを計算することで求める。Activation Mapは特徴空間W×H上で、各クラスに対する寄与度をチャンネル方向の合計が1.0になるように表現したマップである。さらに、各クラスのActivation Mapを集約したものをGlobal Activation Map:GA∈R
W×Hとし、Aに最大プーリングを再度適用することで求める。よってGAは、あるクラス固有の特徴が反映された部位の値が大きく、どのクラスともとれる部位の値が小さくなるように表現したマップと言える。
【数6】
【数7】
本システムでは、エンコーダが出力する特徴マップに対しGAを掛け合わせた後、全体平均プーリング(GAP)でチャンネルごとに平均値を取り出しベクトル化したものを網目の特徴ベクトルとする。また、Aを後述する画像データ拡張の手法として用いる。
【0045】
輪郭特徴ベクトルと網目特徴ベクトルを連結し、線形変換後にL2正規化したベクトルをメロンの特徴ベクトルF
ALL∈R
N+7とする。この特徴ベクトルを、ArcFaceを用いてベクトルの類似度を指標とした角度距離空間上に埋め込む。ArcFaceの損失関数は次の式で表すことができる。
【数8】
【数9】
ここで、cosθyは特徴ベクトルF
ALLとその正解ラベルyに対応する重みベクトルWyとのなす角度を表す。また、sとmはハイパーパラメータである。ただし、本システムではマージンに少し変更を加え、クラス毎に値を設定可能とした。これにより、
図9に示すように灰色の領域がクラス間のマージン領域となり、この領域を避けて特徴ベクトルが埋め込まれる。クラス毎に異なるマージン領域を設定することで、特徴ベクトルを埋め込む領域を調整することが可能となる。なお、
図9(a)および
図9(b)は、クラス別マージンを用いた埋め込みを示す図である。
図9(a)は、同一マージンmの場合を示し、
図9(b)は、クラス別マージンmi>mjの場合を示す。また、符号51および符号54において、特徴ベクトルFi
ALLを示し、符号52および符号55でFj
ALLを示す、符号53および符号56で灰色の領域を示す。今回扱うメロンは、A等級は比較的均一な品質でありクラス内のばらつきが少なく、逆にC等級やD等級は傷など様々な不良パターンが存在するため、クラス内のばらつきが大きいことが経験上分かっている。そこで、データの性質に合わせ、クラス内のばらつきが少ないデータは埋め込む領域を小さく、クラス内のばらつきが大きいデータは埋め込む領域を大きく取ることで過学習の軽減を図る。
【0046】
最後に、MC-Lossの損失とArcFaceの損失にハイパーパラメータα={0.0~1.0}を掛けて合計した値を、モデル全体の損失Lとして学習を行う。
【数10】
データ拡張は過学習を抑制するテクニックとして、画像認識モデルの学習に広く適用されている。本システムにおいても、学習に使用できるデータ数が少ない中、過学習を抑制するためにデータ拡張が有効であると考える。本システムでは、入力される網目画像に対し基本的なデータ拡張手法であるカラージッタ、ランダム反転(上下/左右)、画像ローリング(横軸方向)など、網目の見た目が大きく変わらない変換を適用する。さらに、2つの画像を組み合わせるデータ拡張についても検討する。網目画像の場合、ラベル情報を反映した網目の特徴が極一部にした存在しないため、CutMixのようにランダムに画像を切り出す手法だと、元ラベルを正しく反映した画像を生成することができない。そこで、AGDAと同様に、Activation Mapを用いて等級判定に大きく寄与した特徴が存在する部位のみを切り出す方法を採用する。ただし、ADGAでは元画像の対象部位をマスクするのみであったが、本システムでは2枚の画像を組み合わせ新しい画像を生成する。具体的には、拡張対象の画像xnに対し、元画像xmとそのActivation Map:Amをmと言いて、新たな画像xnを次の通り生成し学習データに加える。
【数11】
ここで、判定部26における判定について説明する。すなわち、学習済みモデルを用いて等級を判定する方法について、2つの方法を考えた。等級の判定には、学習済みモデルが出力する特徴ベクトルF
ALLを使用する。また、映像データから画像に変換する際の画像の前処理等のプロセスは学習時と同様に行うこととする。
【0047】
最大類似度による判定については、以下の通りである。事前に学習データを用いて、各クラスの平均特徴ベクトルREF
i=0,1,…,C-1を求めておく。判定対象のメロンの特徴ベクトルFn
ALLと平均特徴ベクトルREF
iのコサイン類似度を求め、最も似ている平均特徴ベクトルのクラスをそのメロンの等級yn‘とする。
【数12】
距離しきい値による判定については、以下の通りである。最大類似度による判定と同様に、事前に平均特徴ベクトルを求めておき、判定対象のメロンの特徴ベクトルと平均特徴ベクトルのコサイン距離を求め、クラス毎のしきい値T
i=0,1,…,C-1との比較により等級を判定する。クラス数C=4の場合の判定方法を次に示す。どの等級を優先的に判断するかは、判断対象によって調整可能である。メロンの場合は、D>C>B>A(3>2>1>0)の順に判断する。
【数13】
【数14】
しきい値を用いた判定のメリットは、運用時にD等級の判定を少し厳しくするなど、運用に合わせた事後調整が可能になることである。
【0048】
このようにしてメロンの等級を判定する。判定後、報知制御部27は、判定されたメロンの等級を報知するよう制御する。具体的には、サーバー21に接続されたディスプレイ29上に等級を表示することにより報知する(S18)。
【0049】
このようなメロンの等級判定システム10によると、上記構成の判定部26を含む。判定部26は、深層学習モデルに基づいて判定を行っているため、その判定結果は、一貫性を有するものとなり、熟練生産者の判定と同程度の精度となる。したがって、上記メロンの等級判定システム10によれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0050】
本実施形態によると、判定部26は、メロンの全周画像データから類似度または距離しきい値を判断することによりメロンの等級を判定している。よって、より精度よく判定することができる。
【0051】
本実施形態によると、報知制御部27は、判定部26により判定されたメロンの等級を、ディスプレイ29を用いて表示することにより報知するよう制御している。よって、判定した等級を視覚的に報知することができ、容易に判定された等級を把握することができる。
【0052】
本実施形態によると、撮影部11は、360°回転可能であり、メロンを載置する回転テーブル17を含む。よって、メロンの外観を360°撮影する際の効率化を図ることができ、利便性の向上を図ることができる。なお、撮影部11は、360°回転可能であり、メロンを載置する回転テーブル17による撮影およびメロンに対して回転可能なカメラによるメロンの外観の撮影のうちの少なくともいずれか一方を含んでもよい。このようにすることにより、回転テーブル17およびカメラの少なくともいずれか一方を回転させてメロンの外観を360°撮影する際の効率化を図ることができ、利便性の向上を図ることができる。なお、カメラはモノクロ画像が撮影可能なものであってもよい。また、回転テーブル17を回転させながら、カメラについても例えば、回転テーブル17と逆向きに回転させて撮影することにしてもよい。
【0053】
本実施形態によると、撮影部11は、RGBカメラ15を含む。映像取得部としてのメモリ14は、RGBカメラによりメロンの外観の360°映像データを取得する。よって、フルカラーによる高精度の撮影が可能になり、より等級の判定に望ましい画像を取得することができる。したがって、より判定の精度の向上を図ることができる。
【0054】
(他の実施の形態)
なお、上記実施の形態においては、報知制御部は、判定されたメロンMの等級をディスプレイに表示することにより報知することとしたが、これに限らず、報知制御部は、音声によりメロンMの等級を報知することにしてもよい。すなわち、報知制御部は、判定部により判定されたメロンの等級を、ディスプレイを用いて表示することおよび音声を発することのうちの少なくともいずれか一方により報知するよう制御してもよい。このようにすることにより、判定した等級を視覚的および聴覚の少なくともいずれか一方にて報知することができ、容易に判定された等級を把握することができる。なお、表示に加えて音声で報知することとしてもよい。また、報知制御部による報知と共にサーバーハードディスクに判定結果を記憶するよう制御してもよい。
【0055】
また、本開示に係るメロンの等級判定方法は、メロンの等級を判定するメロンの等級判定方法であって、前記メロンの外観を360°撮影して撮影データを取得する工程と、前記撮影データを前記メロンの全周画像データに変換する工程と、前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、変換された前記メロンの全周画像データから前記メロンの等級を判定する工程と、判定された前記メロンの等級を報知するよう制御する工程と、を含む。
【0056】
上記メロンの等級判定方法によれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0057】
また、本開示に係るメロンの等級判定システム用プログラムは、前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備えメロンの等級を判定するメロンの等級判定システムに用いられるメロンの等級判定システム用プログラムであって、前記サーバーを、前記送信部により送信された前記撮影データを受信する受信部、前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部、前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部、および前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部として機能させる、メロンの等級判定システム用プログラムである。
【0058】
上記メロンの等級判定システム用プログラムによれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【0059】
また、本開示に係る記録媒体は、前記メロンの外観を360°撮影して撮影データを取得する撮影データ取得部と、前記撮影データ取得部により取得された前記撮影データを前記サーバーに送信する送信部と、を含み、メロンの外観を撮影する撮影部と、前記撮影部により撮影された前記メロンの外観に基づいて前記メロンの等級を判定するサーバーと、を備えメロンの等級を判定するメロンの等級判定システムに用いられ、コンピューター読み取り可能な記録媒体であって、前記サーバーを、前記送信部により送信された前記撮影データを受信する受信部、前記受信部により受信した前記撮影データを前記メロンの全周画像データに変換する画像変換部、前記メロンの等級の判定の熟練者がアノテーションを行ったデータを用いて前記メロンの輪郭特徴ベクトルと前記メロンの網目特徴ベクトルへの変換を学習した深層学習モデルに基づいて、前記画像変換部により変換された前記メロンの全周画像データから前記メロンの等級を判定する判定部、および前記判定部により判定された前記メロンの等級を報知するよう制御する報知制御部として機能させる、メロンの等級判定システム用プログラムを記録したコンピューター読み取り可能な記録媒体である。
【0060】
上記記録媒体によれば、メロンの等級判定を熟練生産者と同等の精度で一貫性をもって実行することができる。
【実施例0061】
基礎実験で使用したデータセットは、上記撮影部11で撮影した各等級122玉とアノテーションされていない80玉のメロン全周映像データである。データの取得は、2021年から2021年12月にわたり18回実施され、等級ラベルのアノテーションは同一の熟練生産者によって実施されている。
【0062】
本実験で使用する等級判定モデルは、輪郭特徴として表1の下線で示した7つの特徴量を使用し、網目特徴を抽出するエンコーダは、ImageNetで事前学習されたResNet50を用いた。MC-Lossに関わる設定として、エンコーダへの入力画像サイズは、114×448×3のカラー画像とし、ハイパーパラメータε=5,λ=10とした。エンコーダはResNet50の畳み込み層Conv4ブロックの後に畳み込み層を1層追加し、7×28×15の特徴マップを出力する。ArcFaceに関わる設定として、ハイパーパラメータs=10,m=[0.8,0.4,0.4,0.4],α=2とした。学習は、モーメンタム=0.9に設定したSDGを使用し、パッチサイズは32、学習率は0.001としエポックごとにe-0.01減衰させ250エポック学習させた。テストデータに対する等級判定のプロセスは、上記に述べた最大類似度による判定で行った。
【0063】
本システムを用いた等級判定精度に関する実験を行った。この実験では、各等級122玉のデータを用い、学習用データとして各等級N∈{32,52,72,92}玉、テスト用データとして各等級30玉を用いた。まず、学習用データを用いて等級判定を行った。これを、交差検証法を用いて3回行い、学習に使用したデータ数別の正答率を調べた。また、比較対象として、通常のResNet50とViT-B/16を用いた場合と、人間の熟練生産者が判断した場合について実験を行った熟練生産者の実験では、メロン全周映像を見て等級を判断してもらった。また、ResNet50とViT-B/16を用いた実験では、どちらもImageNetの事前学習モデルを用い、網目画像を入力歳輪郭特徴ベクトルはGAP後に連結して、一般的な分類問題としてファインチューニングを行った。
【0064】
学習の結果、全てのモデルで損失の収束を確認できた。学習データ数別の正答率を表2に示す。最も正答率が高かったのは82.1%で、提案したモデル(N=92)をAGDAありで学習した場合であった。人間の熟練生産者が判定した場合でも84.9%であることから、人間に近い精度で等級を判定できていることが確認できる。また、少ないデータ数(N=32)であっても比較対象としたモデルより、提案したモデルの方が高い精度で判定できることが確認できた。
【表2】
【0065】
クラス別マージンを用いた特徴ベクトルの埋め込みと、等級判定精度の関係について実験を行った。学習用データ数N∈{32,92}として、マージンなしm=[0.0,0.0,0.0,0.0]から、全クラスマージンありm=[0.8,0.8,0.8,0.8]の間でマージンの付け方を変え、ADGAなしで学習を行った。これを、交差検証法を用いて3回行い、マージン別の正答率を求めた。
【表3】
クラス別マージンの正答率を表3に示す。学習データ数によらず、A等級のみマージンを大きく、その他の等級のマージンを半分に設定した場合が最も正答率が高い結果となった。マージンがない場合は、クラス間の識別性が低く正答率が低くなり、逆にマージンが大きすぎる場合は、学習データに対するクラス間の識別性は高くなるが、テストデータが学習データから離れた位置に分布する傾向が見られ等級判定精度も低下したと考えられる。A等級のみマージンを大きく、それ以外を半分とした場合は、比較的学習データとテストデータが同じ領域に分布している。
【0066】
AGDAの有効性とデータ拡張された画像の妥当性について確認する。250エポック学習を行った時点のデータ拡張で生成された画像例を
図10に示す。
図10は、250エポック学習を行った時点のデータ拡張で生成された画像例を示す図である。
図10においては、3つの画像61,62,63を示しており、
図10中の点線64,65,66,67はそれぞれ、Activation Mapを用いて合成された部位である。
【0067】
上記表2の実験結果から、AGDAありの提案モデルとなしの提案モデルの結果を比較することで、データ拡張の適用により正答率が平均0.9%向上することが確認できた。また、
図10から、生成される画像が元ラベルの特徴表現を反映した自然な網目画像となっていることが確認できた。
【0068】
等級判定モデルを用いた判定結果が、熟練生産者の感覚とどの程度一致しているかを検証するため、モデル判定結果に対し定性評価を行った。上記の実験の結果から、アノテーションを行った熟練生産者であっても、後日改めて等級判定を行うと15%程度誤ってしまうことが分かった。メロンの中には、熟練生産者であってもどの等級に分類するか迷ってしまう個体も含まれている。そこで、データセットを使った正答率の評価に加え、定性的な評価も実施することとした。判定対象となるメロン映像データと等級判定モデルの判定結果を熟練生産者に提示し、モデルの判断の妥当性を4段階で評価してもらう。
【0069】
1 判断が一致している。
2 一致していないが許容できる。
3 一致していないし許容し難い。
4 明らかに間違っている(見当違いである)。
【表4】
【0070】
2名の熟練生産者に対し、アノテーションしていない各80玉に対するモデルの判定結果を評価してもらった結果を表4に示す。熟練生産者の評価が「1」であった割合を一致率、「1または2」であった割合を許容率として評価を行ったところ、一致率は71.3%であり許容率83.8%であった。また、D等級では許容率は100%であり、熟練生産者の判断と一致していることが確認できた。
【0071】
今回開示された実施の形態はすべての点で例示であって、どのような面からも制限的なものではないと理解されるべきである。本発明の範囲は、特許請求の範囲によって規定され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10 メロンの等級判定システム、11 撮影部、12 撮影側制御部、13 撮影側ネットワークインターフェース部、14 メモリ、15 RGBカメラ、16 LED照明、17 回転テーブル、18 箱、19 開口、21 サーバー、22 サーバー制御部、23 サーバーネットワークインターフェース部、サーバーハードディスク、25 画像変換部、26 判定部、27 報知制御部、29 ディスプレイ、31 全周映像データ、32,41 輪郭画像、33 網目画像、42,43,46a,46b,46c,46d,46e 矢印、44 果実中心、45 輪郭、51,52,53,54,55,56 符号、61,62,63 画像、64,65,66,67 点線。