(57)【要約】【課題】卵を従来よりも適切に分類することを可能にする卵分類装置、卵分類方法及びコンピュータプログラムを提供する。【解決手段】卵分類装置は、卵を撮影した画像を表す画像データを取得する画像データ取得部と、卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する第１判定部と、卵の状態の判定結果に応じて、卵の分類先を決定する決定部とを備える。【選択図】図７
2020148621.tif 000002
【特許請求の範囲】
【請求項１】
卵を分類する卵分類装置において、
卵を撮影した画像を表す画像データを取得する画像データ取得部と、
卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する第１判定部と、
卵の状態の判定結果に応じて、卵の分類先を決定する決定部と
を備えることを特徴とする卵分類装置。
【請求項２】
前記判定結果は、卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を表すこと
を特徴とする請求項１に記載の卵分類装置。
【請求項３】
前記画像データ取得部は、容器に収容された状態の卵を撮影した画像を表す画像データを取得し、
前記判定結果は、卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を表すこと
を特徴とする請求項１に記載の卵分類装置。
【請求項４】
前記第１判定部が判定した卵の状態を表す情報を出力する出力部
を更に備えることを特徴とする請求項１乃至３のいずれか一つに記載の卵分類装置。
【請求項５】
予め定められたルールに基づいて、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する第２判定部を更に備え、
前記決定部は、前記第１判定部による判定結果及び前記第２判定部による判定結果に応じて、卵の分類先を決定すること
を特徴とする請求項１乃至４のいずれか一つに記載の卵分類装置。
【請求項６】
状態が判明している卵について、状態を表す情報を受け付ける受付部と、
同一の卵について前記画像データ取得部が取得した画像データ及び前記受付部が受け付けた前記情報を含むデータを教師データとして、前記学習モデルの再学習を行う再学習部と
を更に備えることを特徴とする請求項１乃至５のいずれか一つに記載の卵分類装置。
【請求項７】
品質を指定する情報を取得する第１情報取得部と、
取得した前記情報に応じて、前記第１判定部で用いるべき学習モデルを複数の学習モデルの中から選択するか、又は前記決定部で前記判定結果に応じて卵の分類先を決定する基準を調整する第１調整部を更に備えること
を特徴とする請求項１乃至６のいずれか一つに記載の卵分類装置。
【請求項８】
推定される産卵からの経過時間を表す情報を取得する第２情報取得部と、
取得した前記情報に応じて、前記第１判定部で用いるべき学習モデルを複数の学習モデルの中から選択するか、又は前記決定部で前記判定結果に応じて卵の分類先を決定する基準を調整する第２調整部を更に備えること
を特徴とする請求項１乃至７のいずれか一つに記載の卵分類装置。
【請求項９】
卵を分類する卵分類方法において、
卵を撮影した画像を表す画像データを取得し、
卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、取得した画像データに応じて、卵の状態を判定し、
卵の状態の判定結果に応じて、卵の分類先を決定すること
を特徴とする卵分類方法。
【請求項１０】
コンピュータに、卵を分類するための処理を実行させるコンピュータプログラムにおいて、
卵を撮影した画像を表す画像データ及び前記卵の状態を表す情報を含む教師データを用いて学習された学習モデルによって、取得された画像データに応じて、卵の状態を判定するステップと、
卵の状態の判定結果に応じて、卵の分類先を決定するステップと、
を含む処理を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、卵を分類する卵分類装置、卵分類方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
卵殻を有する卵は、集荷された後、洗浄され、大きさに応じて分類され、容器に収容され、出荷される。以下、卵殻を有する卵を単に卵と言う。卵は、例えば、鶏卵である。卵には、鶏卵以外の卵殻を有する卵も含まれ得る。卵は、出荷前に、汚れの有無、汚れの程度、卵殻の破損の有無、及び破損の程度が検査される。また、卵が血卵、みだれ卵、無黄卵又は腐敗卵等の内部異常卵であるか否かが検査される。検査の結果に応じて、卵は出荷前に分類される。例えば、卵殻が破損した卵、及び洗浄後も卵殻に汚れが付着している卵は、別の出荷先用の卵等、破損及び汚れの無い卵とは別の分類先に分類される。卵の検査を行うために、種々の装置が開発されている。特許文献１には、卵を撮影した画像に基づいて卵殻の汚れの有無を判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７３４６２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
卵殻の色は同一ではなく、白色又は褐色等、種々の色を有する卵がある。また、卵には、破損又は汚れとは異なる模様又は突起物を有するものがある。卵を分類する際には、これらの種々の卵が混在することがあり、卵の画像に基づいて卵を正確に検査して分類することが困難になることがある。
【０００５】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、卵を従来よりも適切に分類することを可能にする卵分類装置、卵分類方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る卵分類装置は、卵を分類する卵分類装置において、卵を撮影した画像を表す画像データを取得する画像データ取得部と、卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する第１判定部と、卵の状態の判定結果に応じて、卵の分類先を決定する決定部とを備えることを特徴とする。
【０００７】
本発明に係る卵分類装置は、前記判定結果は、卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を表すことを特徴とする。
【０００８】
本発明に係る卵分類装置は、前記画像データ取得部は、容器に収容された状態の卵を撮影した画像を表す画像データを取得し、前記判定結果は、卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を表すことを特徴とする。
【０００９】
本発明に係る卵分類装置は、前記第１判定部が判定した卵の状態を表す情報を出力する出力部を更に備えることを特徴とする。
【００１０】
本発明に係る卵分類装置は、予め定められたルールに基づいて、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する第２判定部を更に備え、前記決定部は、前記第１判定部による判定結果及び前記第２判定部による判定結果に応じて、卵の分類先を決定することを特徴とする。
【００１１】
本発明に係る卵分類装置は、状態が判明している卵について、状態を表す情報を受け付ける受付部と、同一の卵について前記画像データ取得部が取得した画像データ及び前記受付部が受け付けた前記情報を含むデータを教師データとして、前記学習モデルの再学習を行う再学習部とを更に備えることを特徴とする。
【００１２】
本発明に係る卵分類装置は、品質を指定する情報を取得する第１情報取得部と、取得した前記情報に応じて、前記第１判定部で用いるべき学習モデルを複数の学習モデルの中から選択するか、又は前記決定部で前記判定結果に応じて卵の分類先を決定する基準を調整する第１調整部を更に備えることを特徴とする。
【００１３】
本発明に係る卵分類装置は、推定される産卵からの経過時間を表す情報を取得する第２情報取得部と、取得した前記情報に応じて、前記第１判定部で用いるべき学習モデルを複数の学習モデルの中から選択するか、又は前記決定部で前記判定結果に応じて卵の分類先を決定する基準を調整する第２調整部を更に備えることを特徴とする。
【００１４】
本発明に係る卵分類方法は、卵を分類する卵分類方法において、卵を撮影した画像を表す画像データを取得し、卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、取得した画像データに応じて、卵の状態を判定し、卵の状態の判定結果に応じて、卵の分類先を決定することを特徴とする。
【００１５】
本発明に係るコンピュータプログラムは、コンピュータに、卵を分類するための処理を実行させるコンピュータプログラムにおいて、卵を撮影した画像を表す画像データ及び前記卵の状態を表す情報を含む教師データを用いて学習された学習モデルによって、取得された画像データに応じて、卵の状態を判定するステップと、卵の状態の判定結果に応じて、卵の分類先を決定するステップと、を含む処理を実行させることを特徴とする。
【００１６】
本発明においては、卵分類装置は、卵を撮影した画像を表す画像データを取得し、学習モデルによって、画像データに応じて卵の状態を判定し、判定結果に応じて卵の分類先を決定する。卵の状態を判定するために学習モデルを利用することにより、正確に卵の状態を判定し、適切に卵を分類することが可能となる。
【００１７】
本発明の一形態においては、卵分類装置は、卵の状態として、卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を判定する。卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類は、卵の品質に大きく影響する。これらの卵の状態に応じて卵を分類することにより、適切な品質の卵を選別することが可能となる。
【００１８】
本発明の一形態においては、卵分類装置は、容器に収容された状態の卵を撮影した画像を表す画像データに応じて、卵の状態として、卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を判定する。卵が容器に収容された状態でも、卵の状態を判定して卵を分類することにより、低品質の卵が出荷されることを防止することが可能となる。
【００１９】
本発明の一形態においては、卵分類装置は、判定した卵の状態を表す情報を出力する。これにより、使用者が卵の状態を知ることができる。また、他の装置が卵を分類するために卵の状態の判定結果を利用することができる。
【００２０】
本発明の一形態においては、卵分類装置は、ルールに基づいた判定と学習モデルを用いた判定とを組み合わせることにより、適切な判定を行い、適切に卵を分類することが可能となる。
【００２１】
本発明の一形態においては、卵分類装置は、判明している卵の状態を表す情報と、当該卵を撮影した画像を表す画像データとを教師データとして学習モデルの再学習を行う。実際の卵の状態に応じて学習モデルが再学習され、より正確に卵の状態を判定することができるように学習モデルが更新される。
【００２２】
本発明の一形態においては、卵分類装置は、指定された卵の品質に応じて、卵の状態を判定するために用いる学習モデルを調整するか、又は卵の分類先を決定するための基準を調整する。これにより、必要な品質の卵が得られるように適切に卵を分類することが可能となる。
【００２３】
本発明の一形態においては、卵分類装置は、推定される産卵からの経過時間に応じて、卵の状態を判定するために用いる学習モデルを調整するか、又は卵の分類先を決定するための基準を調整する。これにより、適切に卵を分類することを可能にする。
【発明の効果】
【００２４】
本発明にあっては、状態の異なる種々の卵が混在する中でも、より正確に卵の状態を判定し、より適切に卵を分類することが可能となる等、優れた効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】卵を分類して出荷するために用いられる卵分類システムの構成例を示す模式図である。
【図２】破卵検出装置の機能構成例を示すブロック図である。
【図３】画像取得部の構成例を示す模式図である。
【図４】破卵検出装置の分析部が行う卵を分類するための処理の手順を示すフローチャートである。
【図５】判定処理の手順を示すフローチャートである。
【図６】学習モデルの機能構成例を示す概念図である。
【図７】卵画像分析装置の機能構成例を示すブロック図である。
【図８】画像取得部の構成例を示す模式図である。
【図９】卵を分類するための処理の手順を示すフローチャートである。
【図１０】判定処理の手順を示すフローチャートである。
【図１１】学習モデルの機能構成例を示す概念図である。
【図１２】設定処理の手順を示すフローチャートである。
【図１３】容器内画像分析装置の機能構成例を示すブロック図である。
【図１４】画像取得部の構成例を示す模式図である。
【図１５】学習モデルの機能構成例を示す概念図である。
【図１６】再学習の処理の手順を示すフローチャートである。
【図１７】再学習の際に表示部に表示される画面例を示す模式図である。
【図１８】再学習の際に表示部に表示される他の画面例を示す模式図である。
【図１９】学習を外部で行う卵画像分析装置の機能構成例を示すブロック図である。
【図２０】記憶装置の内部構成例を示すブロック図である。
【発明を実施するための形態】
【００２６】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
図１は、卵を分類して出荷するために用いられる卵分類システム１００の構成例を示す模式図である。多数の卵が養鶏場等の生産場から集荷され、卵分類システム１００で処理される。卵分類システム１００は、卵を線状に搬送する搬送装置１１を備えている。搬送装置１１は、多数の卵を載置され、載置された卵を搬送する搬送路を用いて構成されている。搬送装置１１は、例えば、多数のローラを備えたコンベヤであり、ローラ上に卵が載置され、ローラが移動することによって卵を搬送する。図１には卵の搬送方向を矢印で示している。集荷された多数の卵は、搬送装置１１によって搬送され、搬送されながら種々の処理を受ける。
【００２７】
卵は、長径方向が搬送方向に交差するように、搬送路上に載置される。卵は、長径方向に沿った軸を回転軸として回転しながら搬送される。例えば、卵が載置されたローラが回転することによって、卵が回転させられる。卵は、搬送方向に沿って複数の卵が列状に並んだ状態で搬送される。また、卵は、搬送方向に交差する方向に複数の列が並んだ状態で搬送される。
【００２８】
搬送装置１１には、移動量検出装置３６が接続されている。移動量検出装置３６は、搬送装置１１の動作を測定し、搬送装置１１の動作に基づいて、搬送装置１１で搬送されている個々の卵の移動量を検出する。例えば、移動量検出装置３６は、ローラコンベヤが有する個々のローラの通過を検出するセンサを備え、センサの検出結果に基づいて各ローラの移動を検出する。移動量検出装置３６は、検出したローラの移動に基づいて、搬送されている個々の卵の移動量を検出する。更に、移動量検出装置３６は、個々の卵の移動量を表す情報を出力する。
【００２９】
卵分類システム１００は、洗浄機３１を備える。洗浄機３１は、搬送装置１１で搬送される卵を洗浄する。卵分類システム１００は、破卵検出装置４１を備える。破卵検出装置４１は、洗浄された後で搬送される卵に含まれる破卵を検出する。破卵は、卵殻が破損した卵である。破卵検出装置４１は、夫々の卵の画像を撮像し、画像解析により、卵が破卵であるか否かを判定する。また、破卵検出装置４１は、破卵と判定した卵を搬送装置１１から排除する。また、破卵検出装置４１は、卵殻の破損の程度を判定してもよい。卵分類システム１００は、乾燥機３２を備える。乾燥機３２は、搬送装置１１で搬送される卵を乾燥させる。
【００３０】
卵分類システム１００は、卵画像分析装置４２を備えている。卵画像分析装置４２は、搬送装置１１で搬送される夫々の卵の画像を撮像し、画像解析により、卵の状態を判定する。例えば、卵画像分析装置４２は、卵を撮像した画像に基づいて、卵殻の色、卵殻の汚れの有無、汚れの程度、汚れの種類、又は表面性状を判定する。また、卵画像分析装置４２は、卵を撮像した画像に基づいて、卵の形状又はサイズを計測してもよい。例えば、卵画像分析装置４２は、卵を撮像した画像から、卵の形状を表す値として、卵の長径及び短径を計測する。例えば、卵画像分析装置４２は、卵のサイズを表す値として、卵を撮像した画像中の卵の面積を計測する。卵画像分析装置４２は、夫々の卵の状態を表す情報を出力する。
【００３１】
卵分類システム１００は、サイズ測定器３３を備えている。サイズ測定器３３は、搬送装置１１で搬送される夫々の卵のサイズを計測する。例えば、サイズ測定器３３は、発光器及び受光器を有し、発光器からの光が卵に遮られて受光器で受光できない時間を計測し、計測した時間と搬送装置１１による卵の移動速度とに基づいて、卵の搬送方向の長さを計測する。
【００３２】
卵分類システム１００は、打撃分析装置５を備えている。打撃分析装置５は、搬送装置１１で搬送される夫々の卵に対して打撃を付与し、打撃によって発生する現象を測定し、測定結果に基づいて卵殻の状態を判定する。例えば、打撃分析装置５は、卵に打撃を付与することによって発生する現象を表す打撃データ及び卵殻の状態を表す情報を含む教師データを用いて学習された学習モデルを有している。打撃分析装置５は、卵に打撃を付与することによって発生する現象を表す打撃データを取得し、学習モデルによって、取得した打撃データに基づいて卵殻の状態を判定し、判定結果に応じて卵の分類先を決定する。打撃分析装置５は、打撃によって発生する音を測定する。また、打撃分析装置５は、測定結果に基づいて、卵殻の破損の有無、破損の大きさの程度、卵殻の厚み、卵殻の強度、又は卵殻の剛性等を判定する。打撃分析装置５は、卵殻の状態を表す情報を出力する。
【００３３】
卵分類システム１００は、搬送装置１１で搬送される卵を殺菌する殺菌機３４を備えている。例えば、殺菌機３４は、卵に紫外線を照射することによって、卵殻表面を殺菌する。洗浄機３１、破卵検出装置４１、乾燥機３２、卵画像分析装置４２、計量機３５、打撃分析装置５及び殺菌機３４は、搬送装置１１の搬送路に沿って配置されている。卵分類システム１００は、卵の重量を計量する計量機３５を備えている。計量機３５は搬送装置１１の搬送路の終端付近に配置されている。破卵検出装置４１及び卵画像分析装置４２については、後ほど詳細に説明する。
【００３４】
卵分類システム１００は、卵を線状に搬送する分配装置１２を備えている。分配装置１２は、キャリアを備え、計量機３５で重量を計量された後の卵をキャリアで搬送する。例えば、キャリアは、個別に卵を載置させて移動するバケット、又は、個別に卵を掴んで持ち運ぶフィンガ及びアームである。分配装置１２には、分配装置１２を制御する制御装置３７が接続されている。制御装置３７は、各卵の位置を特定し、卵を載置させたバケットの底を開くか、卵を掴んだフィンガを動作させることにより、卵をキャリアの外へ放出させることができる。
【００３５】
卵分類システム１００は、透過光分析装置６を備えている。透過光分析装置６は、分配装置１２で搬送される夫々の卵に対して光を照射し、卵を透過した光に基づいて夫々の卵の内部の状態を判定する。例えば、透過光分析装置６は、卵の内部の状態を表す情報及び卵を透過した光を表す透過光データを含む教師データを用いて学習された深層学習モデルを有している。透過光分析装置６は、卵を透過した光を表す透過光データを取得し、深層学習モデルによって、取得した透過光データに基づいて卵の内部の状態を判定し、判定結果に応じて卵の分類先を決定する。例えば、透過光分析装置６は、卵が血卵、みだれ卵、無黄卵又は腐敗卵等の内部異常卵であるか否かを判定する。また、例えば、透過光分析装置６は、卵の異常の種類又は異常の程度を判定する。
【００３６】
本実施形態では、移動量検出装置３６、卵画像分析装置４２、サイズ測定器３３、打撃分析装置５、計量機３５、透過光分析装置６及び制御装置３７を用いて、搬送装置１１及び分配装置１２で搬送される複数の卵を分類する。移動量検出装置３６、卵画像分析装置４２、サイズ測定器３３、打撃分析装置５、計量機３５、透過光分析装置６及び制御装置３７は、互いに接続されている。卵画像分析装置４２、打撃分析装置５、及び透過光分析装置６は、判定結果に基づいて、夫々の卵を分類すべき分類先を決定する。例えば、分類先は、出荷先の異なる卵のグループである。例えば、卵画像分析装置４２は、卵殻の汚れに応じて卵を分類し、打撃分析装置５は、卵殻の破損に応じて卵を分類し、透過光分析装置６は、内部の異常に応じて卵を分類する。卵画像分析装置４２、打撃分析装置５、及び透過光分析装置６は、夫々の卵の分類先を示す情報を出力する。
【００３７】
卵分類システム１００は、分配装置１２と交差する複数のコンベヤを備えている。図１には、分配装置１２と交差するコンベヤ１３及び１４を示す。分配装置１２と交差する夫々のコンベヤは夫々の分類先に対応する。例えば、コンベヤ１３は、一般の商店へ出荷されるべき卵に分類された卵が搬送され、コンベヤ１４は、卵殻の破損等のために一般の商店以外へ出荷されるべき卵に分類された卵が搬送される。分配装置１２に交差するコンベヤの数は３個以上であってもよい。出荷されない卵が搬送されるコンベヤがあってもよい。制御装置３７は、卵画像分析装置４２、サイズ測定器３３、打撃分析装置５、計量機３５及び透過光分析装置６のうちの少なくとも一つからの情報を受け付け、夫々の卵の位置を特定し、分配装置１２を制御して、夫々の卵の分類先に対応するコンベヤへ卵を移動させる。このようにして、卵が分類される。また、卵分類システム１００は、一般の商店へ出荷されるべき卵について、さらに卵のグレード（例えば、卵殻の色、色の均一性、卵殻の表面性状、又は卵殻の模様等）別に卵を分類してもよい。
【００３８】
分配装置１２から放出された卵は、コンベヤ１３上で容器に収容されて出荷されるものとする。コンベヤ１３上には、容器内画像分析装置４３が配置されている。また、コンベヤ１３上には、賞味期限等の卵に関する情報を記載したラベルを容器内に収容するか、又は容器若しくは卵に貼り付ける機能を有するラベル配置装置があってもよい。
【００３９】
容器内画像分析装置４３は、容器に収容された卵の画像を撮像し、画像解析により、容器中の卵の状態を判定する。例えば、容器内画像分析装置４３は、画像に基づいて、容器中の卵の卵殻の汚れの有無、汚れの程度、汚れの種類、卵殻の破損の有無、又は破損の程度を判定する。容器内画像分析装置４３は、判定した卵の状態に応じて、容器中の卵を分類すべき分類先を決定する。一つの容器に収容された複数の卵は、容器ごとに同一の分類先へ分類される。例えば、汚れ又は卵殻の破損によって出荷すべきでない卵が容器に収容されていれば、その容器に収容された卵は出荷すべきでない卵に分類される。容器内画像分析装置４３は、夫々の容器について分類先を示す情報を出力する。容器内画像分析装置４３については、後ほど詳細に説明する。
【００４０】
卵分類システム１００は、卵の分類に関係する情報を入力される入力装置３８を備えている。例えば、入力装置３８は、使用者が操作するキーボード等の操作部を備え、使用者が操作部を操作することにより情報が入力される。例えば、入力装置３８は、通信インタフェースを備え、通信インタフェースを通じて情報が入力される。例えば、入力装置３８は、卵分類システム１００外の図示しない通信ネットワークに接続されており、通信ネットワークを介して情報が入力される。入力装置３８は、卵画像分析装置４２、打撃分析装置５、透過光分析装置６及び容器内画像分析装置４３に接続されている。
【００４１】
入力装置３８には、出荷すべき卵の品質を指定する情報が入力される。例えば、生産場から集荷された卵の状態に応じた品質を指定する情報が入力装置３８へ入力される。また、例えば、顧客からの要求に応じた品質を指定する情報が入力装置３８へ入力される。入力装置３８は、入力された情報を、卵画像分析装置４２、打撃分析装置５、透過光分析装置６及び容器内画像分析装置４３へ出力する。卵画像分析装置４２、打撃分析装置５、透過光分析装置６及び容器内画像分析装置４３は、入力装置３８から出力された情報を受け付け、受け付けた情報に応じて、卵の分類先を決定するための基準を調整する。例えば、集荷された卵の状態に特定の傾向がある場合に、その傾向がある卵を分類するための基準が用いられる。例えば、特定の用途のために要求された卵の数が多い場合に、その用途のための卵を多く確保できるように基準が調整される。また、例えば、要求された品質の高低に応じて基準が調整される。
【００４２】
また、入力装置３８は、卵が産卵されてからの経過時間に関する情報が入力されてもよい。例えば、入力装置３８は、卵が産卵されてから卵分類システム１００へ搬入されるまでの経過時間の推定値を表す情報が入力される。また、例えば、入力装置３８は、生産場にて飼育されている家禽の点灯管理時間及び卵分類システム１００への卵の搬入時刻を表す情報が入力される。家禽は光感受性が非常に高く、産卵時刻は光線の管理や飼料摂取と密接な関係にある。従って、家禽の産卵タイミングを点灯管理によってある程度調整することが可能である。つまり、明暗周期より産卵時刻を推定することができる。入力装置３８は、入力された情報が表す照明の時刻から産卵時刻の推定値を計算し、産卵時刻の推定値と卵が搬入された時刻とに基づいて、産卵から搬入までの経過時間の推定値を計算する。
【００４３】
入力装置３８は、卵が産卵されてからの経過時間を表す情報を、卵画像分析装置４２、打撃分析装置５、透過光分析装置６及び容器内画像分析装置４３へ出力する。産卵からの経過時間によって、卵を撮影した画像、卵に打撃を付与したときに発生する現象、及び卵の透過光は、若干変化する。卵画像分析装置４２、打撃分析装置５、透過光分析装置６及び容器内画像分析装置４３は、入力装置３８から出力された情報を受け付け、受け付けた情報に応じて、卵の分類先を決定するための基準を調整する。
【００４４】
図１に示した卵分類システム１００の構成は一例であり、卵分類システム１００の構成は図１に示した例に限るものではない。卵分類システム１００に含まれる複数の装置は、図１に示した順とは異なる順番で配置されていてもよい。卵分類システム１００は、図１に示した各装置の一部を備えていなくてもよい。例えば、卵分類システム１００は、洗浄機３１および乾燥機３２を備えていなくてもよい。卵分類システム１００により分類された卵は、出荷されずに保管されてもよい。
【００４５】
本実施形態では、破卵検出装置４１、卵画像分析装置４２及び容器内画像分析装置４３は、卵分類装置に対応する。破卵検出装置４１、卵画像分析装置４２及び容器内画像分析装置４３は、卵分類方法を実行する。まず、破卵検出装置４１について説明する。図２は、破卵検出装置４１の機能構成例を示すブロック図である。破卵検出装置４１は、情報処理を行う分析部４１１と、搬送装置１１により搬送される卵を撮影した画像を取得する画像取得部４１３とを備えている。画像取得部４１３は分析部４１１に接続されている。
【００４６】
分析部４１１は、コンピュータを用いて構成されている。分析部４１１は、演算部４１１１と、演算に伴って発生する一時的なデータを記憶するメモリ４１１２と、光ディスク等の記録媒体４１０から情報を読み取るドライブ部４１１３と、ハードディスク等の不揮発性の記憶部４１１４とを備えている。演算部４１１１は、例えばＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）、又はマルチコアＣＰＵを用いて構成されている。また、演算部４１１１は、量子コンピュータを用いて構成されていてもよい。メモリ４１１２は、例えばＲＡＭ（Random Access Memory）である。また、分析部４１１は、卵を撮影した画像を表す画像データに応じて卵の状態を判定するために用いられる学習モデル４１１５を備えている。また、分析部４１１は、使用者からの操作を受け付ける操作部４１１６と、画像を表示する表示部４１１７と、インタフェース部４１１８とを備えている。インタフェース部４１１８は、移動量検出装置３６と接続されている。分析部４１１は、インタフェース部４１１８を介して、移動量検出装置３６との間で情報を入出力する。
【００４７】
演算部４１１１は、記録媒体４１０に記録されたコンピュータプログラム４１２をドライブ部４１１３に読み取らせ、読み取ったコンピュータプログラム４１２を記憶部４１１４に記憶させる。演算部４１１１は、記憶部４１１４に記憶されたコンピュータプログラム４１２に従った処理を実行する。なお、コンピュータプログラム４１２は、分析部４１１の外部からダウンロードされてもよい。この場合は、分析部４１１はドライブ部４１１３を備えていなくてもよい。
【００４８】
学習モデル４１１５は、画像データに応じて卵の状態を判定する処理を行うための学習済みの学習モデルである。学習モデル４１１５は、コンピュータプログラム４１２に従って演算部４１１１が情報処理を実行することにより実現される。また、学習モデル４１１５は、プロセッサと、必要なプログラム及びデータを記憶するメモリとを含んで構成されていてもよい。また、学習モデル４１１５は、量子コンピュータを用いて実現されてもよい。
【００４９】
図３は、画像取得部４１３の構成例を示す模式図である。画像取得部４１３は、搬送装置１１により搬送される卵２を照明する照明部４１３２と、照明された卵２を撮影する撮影部４１３１とを有している。照明部４１３２は、ＬＥＤ（発光ダイオード；light emitting diode）等の光源を用いて構成されている。照明部４１３２は、発光し、卵２へ光を照射する。例えば、照明部４１３２は赤外光を卵２へ照射する。撮影部４１３１は、撮像素子を用いて構成されている。照明部４１３２は、例えば搬送される卵２よりも下に配置されている。撮影部４１３１は、例えば搬送される卵２よりも上に配置されている。撮影部４１３１は、卵２を透過した光を用いて、卵２を撮影する。
【００５０】
卵２の搬送方向は、図３中の左右方向である。卵２が搬送される向きを白矢印で示している。卵２は、搬送装置１１に含まれる複数のローラ１０１に載置されている。ローラ１０１は、回転する。ローラ１０１が回転することにより、卵２も回転する。図３中には、ローラ１０１及び卵２の回転する向きを矢印で示している。卵２は、搬送装置１１に搬送されながら、照明部４１３２によって照明され、撮影部４１３１によって撮影される。撮影された画像には、複数の卵２が映っている。撮影部４１３１は、搬送される卵２を複数回撮影する。即ち、卵２は、搬送されながら複数回撮影される。また、卵２は回転しながら複数回撮影される。このため、卵２は、回転軸周りの複数の部分が撮影される。
【００５１】
画像取得部４１３は、複数の列が並んだ状態で搬送される多数の卵２を撮影することができるようになっている。例えば、撮影部４１３１は、複数の列に含まれる複数の卵２を同時に撮影する。撮影された画像には、複数列の卵２が映っている。また、画像取得部４１３は、一つの撮影部４１３１で一つの卵２を撮影してもよく、複数の撮影部４１３１を備え、複数の撮影部４１３１で一つの卵２を複数回撮影してもよい。画像取得部４１３は、ミラー、レンズ及び光学フィルタ等の図示しない光学部品を含んでいてもよい。画像取得部４１３は、照明部４１３２を有さず、外部からの光を利用してもよい。
【００５２】
撮影部４１３１は、卵２を撮影した画像を表す画像データを作成する。このとき、撮影部４１３１は、モノクロ画像を表す画像データを作成する。このようにして、画像取得部４１３は、卵２を撮影した画像を取得し、卵２を撮影した画像を表す画像データを分析部４１１へ入力する。画像取得部４１３は、画像データ取得部に対応する。なお、画像取得部４１３は、卵２で反射した反射光、又は蛍光を用いて卵２を撮影した画像を取得する形態であってもよい。また、画像取得部４１３は、反射光を用いて卵２を撮影した画像、透過光を用いて卵２を撮影した画像、及び蛍光を用いて卵２を撮影した画像のうち、複数の画像を取得する形態であってもよい。
【００５３】
分析部４１１は、画像データに基づいて、夫々の卵２の状態を判定し、判定結果に応じて、夫々の卵２の分類先を決定する処理を行う。判定される卵２の状態は、具体的には、卵殻の破損の有無又は破損の大きさの程度である。卵殻の破損の有無及び破損の大きさに応じて、卵２を撮影した際に得られる画像は異なる。このため、画像データに応じて卵２の状態を判定することが可能である。なお、卵分類システム１００は、破卵と判定した卵を排除する排除部４１５を備える。排除部４１５は、搬送装置１１により搬送される卵２を搬送装置１１から排除するための機構を有する。例えば、搬送装置１１の搬送路に孔が設けられており、排除部４１５は、搬送路の孔を開閉する構成となっている。排除部４１５が搬送路の孔を開放した場合、卵２は孔から落下し、搬送装置１１から排除される。
【００５４】
図４は、破卵検出装置４１の分析部４１１が行う卵２を分類するための処理の手順を示すフローチャートである。以下、ステップをＳと略す。分析部４１１の演算部４１１１は、コンピュータプログラム４１２に従って以下の処理を実行する。分析部４１１は、インタフェース部４１１８で移動量検出装置３６からの情報を受け付け、演算部４１１１は、移動量検出装置３６からの情報に基づいて夫々の卵２の位置を特定する。演算部４１１１は、位置を特定した一の卵２についての画像データを画像取得部４１３から取得する（Ｓ１１）。演算部４１１１は、画像データを記憶部４１１４に記憶する。
【００５５】
演算部４１１１は、次に、画像データに基づいて、卵２の状態を判定する判定処理を行う（Ｓ１２）。図５は、判定処理の手順を示すフローチャートである。演算部４１１１は、ルールベースで卵２の状態を判定する（Ｓ１２１）。Ｓ１２１では、演算部４１１１は、予め定められているルールに基づいて、画像データに応じて卵殻の破損の有無又は破損の大きさの程度を判定する。演算部４１１１は、従来知られている方法により、卵２の状態を判定する処理を行ってよい。例えば、演算部４１１１は、卵２の画像からエッジ検出により卵殻の破損を検出し、画像に含まれる破損の大きさと所定の閾値との比較に基づいて、卵殻の破損の大きさの程度を判定する。Ｓ１２１の処理は、第２判定部に対応する。
【００５６】
演算部４１１１は、次に、学習モデル４１１５を用いて卵２の状態を判定する（Ｓ１２２）。学習モデル４１１５は、卵２を撮影した画像を表す画像データと卵２の卵殻の破損の有無又は破損の大きさの程度を表す情報とを含む教師データを用いて、画像データから卵２の卵殻の破損の有無又は破損の大きさの程度を判定するように、予め学習がなされている。例えば、学習モデル４１１５は、ニューラルネットワークを用いている。
【００５７】
図６は、学習モデル４１１５の機能構成例を示す概念図である。学習モデル４１１５は、夫々に複数のノードを有する入力層、中間層及び出力層を備えたニューラルネットワークを用いる。入力層は、画像データが入力される複数のノード４１４１を有する。例えば、画像に含まれる各画素での画素値が、いずれかのノード４１４１へ入力される。中間層は、入力層のノード４１４１から入力されるデータにパラメータを用いて演算する複数のノード４１４２を有する。複数のノード４１４２は、出力層に含まれる複数のノード４１４３へデータを出力する。出力層は、中間層のノード４１４２から演算されたデータを受け付け、卵２の状態を出力する複数のノード４１４３を有する。例えば、一のノード４１４３は、卵殻に破損が存在する確率をスコアとして出力し、他のノード４１４３は、破損の大きさがある大きさである確率をスコアとして出力する。図６には、中間層が一層である例を示しているが、中間層は複数層であってもよい。学習モデル４１１５は、ニューラルネットワークとして、畳みこみニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）、又は再帰型ニューラルネットワーク（ＲＮＮ：Recurrent Neural Network）を用いてもよい。
【００５８】
学習モデル４１１５は、教師データを用いて予め学習がなされている。卵殻に破損及び汚れの無い多数の卵２を含む、状態が判明している多数の卵２について、画像データが取得され、教師データが作成される。教師データには、各卵２の状態を表す情報と各卵２を撮影した画像を表す画像データとが含まれる。教師データに含まれる各卵２についての画像データが入力層の各ノード４１４１へ入力され、教師データに含まれる情報が示す各卵２の状態に合致したスコアを出力層の各ノード４１４３が出力されるように、各ノードの演算のパラメータが調整される学習がなされている。例えば、学習では、出力層の各ノード４１４３の出力値及び教師データから期待される出力値を変数とする誤差関数により誤差を計算し、誤差逆伝搬法によって当該誤差が最小となるように、各ノードの演算のパラメータを調整している。
【００５９】
学習モデル４１１５の学習は破卵検出装置４１で行ってもよい。例えば、状態が判明している卵２の画像データを画像取得部４１３で取得することで教師データが作成され、分析部４１１が学習のための情報処理を実行する。代替的に、破卵検出装置４１の外部から教師データが入力され、分析部４１１が学習のための情報処理を実行してもよい。代替的に、破卵検出装置４１の外部にある学習装置で学習が行われ、学習の結果に基づいて学習モデル４１１５が作成されていてもよい。学習装置は、コンピュータを用いて構成される。卵２の画像データが取得され、画像データが取得された後の卵２の状態が調べられ、画像データと調べられた卵２の状態を表す情報とを含む教師データが作成されてもよい。学習装置は、教師データを入力され、学習を行ってもよい。学習装置は、画像データと卵２の状態を表す情報とを入力され、入力されたデータ及び情報を含む教師データを作成し、作成した教師データを用いて学習を行ってもよい。
【００６０】
学習モデル４１１５は、反射光又は蛍光を用いて卵２を撮影した画像を表す画像データが入力され、卵２の状態を出力する形態であってもよい。或いは、学習モデル４１１５は、反射光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルと、透過光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルと、蛍光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルのうち、複数の学習モデルを含んでいてもよい。
【００６１】
演算部４１１１は、学習モデル４１１５の出力に応じて、卵２の状態を判定する。例えば、演算部４１１１は、卵殻に破損が存在する確率が所定の閾値未満である場合に卵殻に破損が無いと判定し、卵殻に破損が存在する確率が所定の閾値以上である場合に卵殻に破損があると判定する。例えば、演算部４１１１は、スコアが最大の値になる破損の大きさを、卵殻の破損の大きさの程度であると判定する。また、演算部４１１１は、反射光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力と、透過光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力と、蛍光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力とのうち、複数の出力を組み合わせて、卵２の状態を判定してもよい。
【００６２】
演算部４１１１は、次に、Ｓ１２１での判定結果及びＳ１２２での判定結果に基づいて、卵２の状態の判定結果を確定する（Ｓ１２３）。Ｓ１２３では、Ｓ１２１のルールベースでの判定結果とＳ１２２の学習モデル４１１５を用いた判定結果とを組み合わせて、卵２の状態の判定結果を確定する。例えば、Ｓ１２１で卵２の状態が不明であるという判定が可能であるとしておき、演算部４１１１は、Ｓ１２１での判定結果が不明でない場合はＳ１２３ではＳ１２１での判定結果を採用し、Ｓ１２１での判定結果が不明である場合は、Ｓ１２２の処理を行い、Ｓ１２３ではＳ１２２での判定結果を採用する。また、例えば、演算部４１１１は、Ｓ１２２の処理で得られたスコアと所定の閾値とを比較し、比較結果に応じて、Ｓ１２１での判定結果とＳ１２２での判定結果とのどちらを採用するのかを決定する。また、例えば、演算部４１１１は、Ｓ１２２の処理を先に行い、スコアの値が所定の閾値未満である等、Ｓ１２２で卵２の状態が不明である場合に、Ｓ１２１の処理を行ってＳ１２３ではＳ１２１での判定結果を採用し、Ｓ１２２での判定結果が不明でない場合はＳ１２３ではＳ１２２での判定結果を採用する。例えば、演算部４１１１は、Ｓ１２１及びＳ１２２で卵２の状態が複数の状態の夫々である確率を表すスコアを生成し、Ｓ１２１及びＳ１２２で得られたスコアを合計、平均又は重み付平均等の所定の計算方法で組み合わせた組み合わせスコアを計算し、組み合わせスコアに基づいて判定結果を確定する。Ｓ１２３が終了した後、演算部４１１１は、処理をメインの処理へ戻す。ルールベースでの判定と学習モデル４１１５を用いた判定とを組み合わせることにより、適切な判定を行うことができる。なお、Ｓ１２の処理では、ルールベースでの判定を行わず、学習モデル４１１５を用いた判定の処理のみを行ってもよい。
【００６３】
演算部４１１１は、次に、卵２の状態の判定結果を出力する（Ｓ１３）。Ｓ１３では、演算部４１１１は、判定結果を含む画像を表示部４１１７に表示させる。例えば、演算部４１１１は、卵殻に破損の無い卵２の数、卵殻に破損のある卵２の数、又は卵殻の破損の程度が所定の範囲に含まれる卵２の数を表示部４１１７に表示する。演算部４１１１は、Ｓ１２１のルールベースでの判定結果とＳ１２２の学習モデル４１１５を用いた判定結果との夫々を表示部４１１７に表示させてもよい。
【００６４】
演算部４１１１は、次に、卵２の状態の判定結果に応じて、卵２の分類先を決定する（Ｓ１４）。例えば、演算部４１１１は、卵殻の破損の大きさが所定の基準を超過している場合の卵２の分類先と、卵殻に破損が無い場合の卵２の分類先と、卵殻の破損の大きさが所定の基準以下である場合の卵２の分類先とをそれぞれ決定する。Ｓ１４の処理は決定部に対応する。
【００６５】
演算部４１１１は、次に、破卵に分類された卵２を搬送装置１１から排除する（Ｓ１５）。Ｓ１５では、演算部４１１１は、破卵に分類された卵２の位置を特定し、排除部４１５に、破卵に分類された卵２を排除させる。例えば、排除部４１５は、破卵に分類された卵２が搬送路の孔の上を通過するタイミングで、搬送路の孔を開放する。破卵に分類された卵２は、孔から落下し、搬送装置１１から排除される。破卵ではないグループに分類された卵２については、排除部４１５による排除は行われない。分析部４１１は、Ｓ１１〜Ｓ１５の処理を、搬送装置１１で搬送される複数の卵２の夫々について実行する。分析部４１１は、複数の卵２についての処理を順次的に行ってもよく、並列に行ってもよい。なお、破卵検出装置４１は、Ｓ１５の処理を行わず、インタフェース部４１１８を通じて、卵２の分類先を表す分類先データを破卵検出装置４１の外部へ出力する処理を行ってもよい。制御装置３７は、出力された分類先データを取得し、分類先データに基づいて、破卵に分類された卵２を特定し、分類してもよい。
【００６６】
次に、卵画像分析装置４２について説明する。図７は、卵画像分析装置４２の機能構成例を示すブロック図である。卵画像分析装置４２は、情報処理を行う分析部４２１と、搬送装置１１により搬送される卵２を撮影した画像を取得する画像取得部４２３とを備えている。画像取得部４２３は分析部４２１に接続されている。
【００６７】
分析部４２１は、コンピュータを用いて構成されている。分析部４２１は、演算部４２１１と、メモリ４２１２と、ドライブ部４２１３と、不揮発性の記憶部４２１４とを備えている。演算部４２１１は、例えばＣＰＵ、ＧＰＵ、マルチコアＣＰＵ、又は量子コンピュータを用いて構成されていてもよい。メモリ４２１２は、例えばＲＡＭである。また、分析部４２１は、卵２を撮影した画像を表す画像データに応じて卵２の状態を判定するために用いられる学習モデル４２１５を備えている。
【００６８】
また、分析部４２１は、使用者からの操作を受け付ける操作部４２１６と、画像を表示する表示部４２１７と、インタフェース部４２１８とを備えている。操作部４２１６は、使用者からの操作を受け付けることにより、テキスト等の情報を受け付ける。操作部４２１６は、例えば、タッチパネル、キーボード又はポインティングデバイスである。表示部４２１７は、例えば液晶ディスプレイ又はＥＬディスプレイ（Electroluminescenct Display）である。また、分析部４２１は、通信部を備え、通信部を通じて、分析部４２１外のスマートフォン等の操作部から情報を受け付け、分析部４２１外のスマートフォン等の表示部に画像を表示する機能を有していてもよい。インタフェース部４２１８は、移動量検出装置３６及び入力装置３８と接続されている。分析部４２１は、インタフェース部４２１８を介して、移動量検出装置３６及び入力装置３８との間で情報を入出力する。
【００６９】
演算部４２１１は、光ディスク等の記録媒体４２０に記録されたコンピュータプログラム４２２をドライブ部４２１３に読み取らせ、読み取ったコンピュータプログラム４２２を記憶部４２１４に記憶させる。演算部４２１１は、記憶部４２１４に記憶されたコンピュータプログラム４２２に従った処理を実行する。例えば、演算部４２１１は、必要に応じてコンピュータプログラム４２２を記憶部４２１４からメモリ４２１２へロードし、ロードしたコンピュータプログラム４２２に従って、分析部４２１に必要な処理を実行する。なお、コンピュータプログラム４２２は、分析部４２１の外部からダウンロードされてもよい。この場合は、分析部４２１はドライブ部４２１３を備えていなくてもよい。
【００７０】
学習モデル４２１５は、画像データに応じて卵２の状態を判定する処理を行うための学習済みの学習モデルである。学習モデル４２１５は、コンピュータプログラム４２２に従って演算部４２１１が情報処理を実行することにより実現される。また、学習モデル４２１５は、プロセッサと、必要なプログラム及びデータを記憶するメモリとを含んで構成されていてもよい。また、学習モデル４２１５は、量子コンピュータを用いて実現されてもよい。
【００７１】
図８は、画像取得部４２３の構成例を示す模式図である。画像取得部４２３は、搬送装置１１により搬送される卵２を照明する照明部４２３２と、照明された卵２を撮影する撮影部４２３１とを有している。照明部４２３２は、蛍光灯又はＬＥＤ等の光源を用いて構成されている。照明部４２３２は、発光し、卵２へ光を照射する。撮影部４２３１は、撮像素子を用いて構成されており、カラー画像を撮影する。照明部４２３２及び撮影部４２３１は、例えば、搬送される卵２の上側に配置されている。撮影部４２３１は、卵２で反射した反射光を用いて、卵２を撮影する。
【００７２】
卵２の搬送方向は、図８中の左右方向である。卵２が搬送される向きを白矢印で示している。照明部４２３２及び撮影部４２３１は、卵２よりも上にある位置に配置されている。図８中には、搬送装置１１に含まれるローラ１０１を示している。卵２は、複数のローラ１０１に載置されている。ローラ１０１は、回転する。ローラ１０１が回転することにより、卵２も回転する。図８中には、ローラ１０１及び卵２の回転する向きを矢印で示している。卵２は、搬送装置１１に搬送されながら、照明部４２３２によって照明され、撮影部４２３１によって撮影される。撮影された画像には、複数の卵２が映っている。撮影部４２３１は、搬送される卵２を複数回撮影する。即ち、卵２は、搬送されながら複数回撮影される。また、卵２は回転しながら複数回撮影される。このため、卵２は、回転軸周りの複数の部分が撮影される。
【００７３】
画像取得部４２３は、複数の列が並んだ状態で搬送される多数の卵２を撮影することができるようになっている。例えば、撮影部４２３１は、複数の列に含まれる複数の卵２を同時に撮影する。撮影された画像には、複数列の卵２が映っている。また、画像取得部４２３は、一つの撮影部４２３１で一つの卵２を撮影してもよく、複数の撮影部４２３１で一つの卵２を複数回撮影してもよい。画像取得部４２３は、ミラー、レンズ及び光学フィルタ等の図示しない光学部品を含んでいてもよい。画像取得部４２３は、照明部４２３２を有さず、外部からの光を利用してもよい。
【００７４】
撮影部４２３１は、卵２を撮影した画像を表す画像データを作成する。このとき、撮影部４２３１は、カラー画像を表す画像データを作成する。このようにして、画像取得部４２３は、卵２を撮影した画像を取得し、卵２を撮影した画像を表す画像データを分析部４２１へ入力する。画像取得部４２３は、画像データ取得部に対応する。なお、画像取得部４２３は、卵２を透過した透過光を用いて卵２を撮影した画像、又は励起された卵２の蛍光を用いて卵２を撮影した画像を取得する形態であってもよい。また、画像取得部４２３は、反射光を用いて卵２を撮影した画像、透過光を用いて卵２を撮影した画像、及び蛍光を用いて卵２を撮影した画像のうち、複数の画像を取得する形態であってもよい。
【００７５】
分析部４２１は、画像データに基づいて、夫々の卵２の状態を判定し、判定結果に応じて、夫々の卵２の分類先を決定する処理を行う。判定される卵２の状態は、具体的には、卵殻の色、色の均一性、卵殻の汚れの有無、汚れの程度、汚れの種類、卵殻の破損の有無、破損の程度、卵殻の奇形の有無、奇形の種類、卵殻の表面性状、卵殻の模様、又は卵殻上の印字である。卵殻の色には、白色、淡褐色又は褐色等がある。汚れの程度は、卵２内での汚れの大きさ又は汚れの色の濃さ等を意味する。汚れの種類には、スポット状の黄色汚れ、茶色汚れ、白色汚れ、灰色汚れ若しくは黒色汚れ、又はしみ状に広がったしみ汚れ等がある。卵殻の奇形は、卵殻の形状が標準的な形状と異なっていること、又は極大卵や極小卵等がある。卵殻の表面性状には、卵殻の表面が平滑であること、又は卵殻の表面に突起若しくはざらつきがあること等がある。卵殻の模様には、無地、そばかす模様、又は斑点模様等がある。画像データは、卵２の状態に応じて異なる。このため、画像データに応じて卵２の状態を判定することが可能である。
【００７６】
従来、画像データに応じて卵２の状態を判定する技術が知られている。画像データの彩度若しくは明度又は各色の画素の卵２内の分布から、卵殻の色、卵殻の汚れの有無、汚れの程度、又は汚れの種類を判定する。同様に、卵殻の破損の有無、破損の程度、卵殻の色の均一性、卵殻の表面性状、卵殻の模様、又は卵殻上の印字も、各色の分布から判定することができる。また、画像に含まれる卵殻の形状から、卵殻の奇形の有無、又は奇形の種類を判定することができる。このように、画像データに応じて卵２の状態を判定することができる。
【００７７】
卵画像分析装置４２の分析部４２１は、卵２を分類するための処理を行う。図９は、卵２を分類するための処理の手順を示すフローチャートである。分析部４２１の演算部４２１１は、コンピュータプログラム４２２に従って以下の処理を実行する。分析部４２１は、インタフェース部４２１８で移動量検出装置３６からの情報を受け付け、演算部４２１１は、移動量検出装置３６からの情報に基づいて夫々の卵２の位置を特定する。演算部４２１１は、位置を特定した一の卵２についての画像データを画像取得部４２３から取得する（Ｓ２１）。Ｓ２１では、演算部４２１１は、位置を特定した卵２を撮影した撮影部４２３１から画像データを取得し、複数回の撮影の夫々に関する画像データを夫々の撮影部４２３１から取得する。即ち、演算部４２１１は、一の卵２について、撮影複数回分の画像データを取得する。演算部４２１１は、画像データを記憶部４２１４に記憶する。演算部４２１１は、次に、卵２を分類するための設定を行う設定処理を行う（Ｓ２２）。設定処理の詳細については後述する。演算部４２１１は、Ｓ２１とＳ２２との処理を逆の順で実行してもよい。
【００７８】
演算部４２１１は、次に、画像データに基づいて、卵２の状態を判定する判定処理を行う（Ｓ２３）。図１０は、判定処理の手順を示すフローチャートである。演算部４２１１は、ルールベースで卵２の状態を判定する（Ｓ２３１）。Ｓ２３１では、演算部４２１１は、予め定められているルールに基づいて、画像データに応じて卵２の状態を判定する。演算部４２１１は、従来知られている方法により、卵２の状態を判定する処理を行ってよい。例えば、演算部４２１１は、Ｒ、Ｇ及びＢの画像中の画素値の分布に基づいて、卵２の卵殻の色、卵殻の色の均一性、卵殻の汚れの有無、汚れの程度、汚れの種類、卵殻の破損の有無、破損の程度、卵殻の表面性状、卵殻の模様、又は卵殻上の印字を判定する。例えば、演算部４２１１は、画像に含まれる卵殻の形状から、卵２の卵殻の奇形の有無、又は奇形の種類を判定する。演算部４２１１は、撮影複数回分の画像データの全てを利用してもよく、一部のみを利用してもよい。Ｓ２３１の処理は、第２判定部に対応する。
【００７９】
演算部４２１１は、次に、学習モデル４２１５を用いて卵２の状態を判定する（Ｓ２３２）。学習モデル４２１５は、卵２を撮影した画像を表す画像データと卵２の卵殻の色、色の均一性、卵殻の汚れの有無、汚れの程度、汚れの種類、卵殻の破損の有無、破損の程度、卵殻の奇形の有無、奇形の種類、卵殻の表面性状、卵殻の模様、又は卵殻上の印字を表す情報とを含む教師データを用いて、画像データから卵２の卵殻の色、色の均一性、卵殻の汚れの有無、汚れの程度、汚れの種類、卵殻の破損の有無、破損の程度、卵殻の奇形の有無、奇形の種類、卵殻の表面性状、卵殻の模様、又は卵殻上の印字を判定するように、予め学習がなされている。例えば、学習モデル４２１５は、ニューラルネットワークを用いている。
【００８０】
図１１は、学習モデル４２１５の機能構成例を示す概念図である。学習モデル４２１５は、ニューラルネットワークを用いる。入力層は、画像データが入力される複数のノード４２４１を有する。例えば、撮影複数回分の画像データの夫々が、いずれかのノード４２４１へ入力される。入力層へは、画像データに加えて、品質を指定する情報、産卵からの経過時間を表す情報の少なくとも１つが入力されてもよい。中間層は、入力層のノード４２４１から入力されるデータにパラメータを用いて演算する複数のノード４２４２を有する。複数のノード４２４２は、出力層に含まれる複数のノード４２４３へデータを出力する。出力層は、中間層のノード４２４２から演算されたデータを受け付け、卵２の状態を出力する複数のノード４２４３を有する。例えば、一のノード４２４３は、卵２の卵殻の色が特定の色である確率をスコアとして出力し、他のノード４２４３は、卵殻に汚れが存在する確率をスコアとして出力し、更に他のノード４２４３は、汚れの程度が所定の程度である確率をスコアとして出力し、更に他のノード４２４３は、汚れの種類が特定の種類である確率をスコアとして出力する。例えば、ノード４２４３は、卵殻の色の均一性が特定の状態である確率、卵殻に破損が存在する確率、破損の程度が所定の程度である確率、卵殻が奇形である確率、卵殻の奇形が特定の種類である確率、卵殻の表面性状が所定の種類である確率、卵殻の模様が所定の種類である確率、又は卵殻上に所定の印字が存在する確率をスコアとして出力する。中間層は複数層であってもよい。学習モデル４２１５は、ニューラルネットワークとして、ＣＮＮ又はＲＮＮを用いてもよい。
【００８１】
学習モデル４２１５は、教師データを用いて予め学習がなされている。卵殻に汚れ及び奇形の無い多数の卵２を含む、状態が判明している多数の卵２について、画像データが取得され、教師データが作成される。教師データには、各卵２の状態を表す情報と各卵２を撮影した画像を表す画像データとが含まれる。教師データに含まれる各卵２についての画像データが入力層の各ノード４２４１へ入力され、教師データに含まれる情報が示す各卵２の状態に合致したスコアを出力層の各ノード４２４３が出力されるように、各ノードの演算のパラメータが調整される学習がなされている。例えば、学習では、出力層の各ノード４２４３の出力値及び教師データから期待される出力値を変数とする誤差関数により誤差を計算し、誤差逆伝搬法によって当該誤差が最小となるように、各ノードの演算のパラメータを調整している。
【００８２】
学習モデル４２１５の学習は卵画像分析装置４２で行ってもよい。例えば、状態が判明している卵２の画像データを画像取得部４２３で取得することで教師データが作成され、分析部４２１が学習のための情報処理を実行する。代替的に、卵画像分析装置４２の外部から教師データが入力され、分析部４２１が学習のための情報処理を実行してもよい。代替的に、卵画像分析装置４２の外部にある学習装置で学習が行われ、学習の結果に基づいて学習モデル４２１５が作成されていてもよい。学習装置は、コンピュータを用いて構成される。卵２の画像データが取得され、画像データが取得された後の卵２の状態が調べられ、画像データと調べられた卵２の状態を表す情報とを含む教師データが作成されてもよい。学習装置は、教師データを入力され、学習を行ってもよい。学習装置は、画像データと卵２の状態を表す情報とを入力され、入力されたデータ及び情報を含む教師データを作成し、作成した教師データを用いて学習を行ってもよい。
【００８３】
学習モデル４２１５は、透過光又は蛍光を用いて卵２を撮影した画像を表す画像データが入力され、卵２の状態を出力する形態であってもよい。或いは、学習モデル４２１５は、反射光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルと、透過光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルと、蛍光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルとのうち、複数の学習モデルを含んでいてもよい。
【００８４】
演算部４２１１は、学習モデル４２１５の出力に応じて、卵２の状態を判定する。例えば、演算部４２１１は、スコアが最大の値になる色を卵２の卵殻の色とする。例えば、演算部４２１１は、スコアが最大の値になる卵殻の色の均一性の状態を、卵２の卵殻の色の均一性であると判定する。例えば、演算部４２１１は、卵殻に汚れが存在する確率が所定の閾値以上である場合に卵殻に汚れがあると判定し、卵殻に汚れが存在する確率が所定の閾値未満である場合に卵殻に汚れは無いと判定する。例えば、演算部４２１１は、スコアが最大の値になる汚れの程度を、卵殻の汚れの程度であると判定する。例えば、演算部４２１１は、スコアが最大の値になる汚れの種類を、卵殻の汚れの種類であると判定する。例えば、演算部４２１１は、卵殻が奇形である確率が閾値以上である場合に卵殻が奇形であると判定し、卵殻が奇形である確率が所定の閾値未満である場合に卵殻は奇形ではないと判定する。例えば、演算部４２１１は、スコアが最大の値になる奇形の種類を、卵殻の奇形の種類であると判定する。例えば、演算部４２１１は、スコアが最大の値になる卵殻の表面性状の種類を、卵２の卵殻の表面性状の種類であると判定する。例えば、演算部４２１１は、スコアが最大の値になる卵殻の模様の種類を、卵２の卵殻の模様の種類であると判定する。卵殻の破損の有無、破損の程度、及び卵殻上の印字についても同様である。
【００８５】
また、学習モデル４２１５は、卵殻の色を判定するための学習モデル、卵殻の色の均一性を判定するための学習モデル、卵殻の汚れの有無を判定するための学習モデル、卵殻の汚れの程度を判定するための学習モデル、卵殻の汚れの種類を判定するための学習モデル、卵殻の破損の有無を判定するための学習モデル、卵殻の破損の程度を判定するための学習モデル、卵殻の奇形の有無を判定するための学習モデル、卵殻の奇形の種類を判定するための学習モデル、卵殻の表面性状を判定するための学習モデル、卵殻の模様を判定するための学習モデル、又は卵殻上の印字を判定するための学習モデルを、個別に含んでいてもよい。Ｓ２３２では、演算部４２１１は、夫々の学習モデルを用いて夫々の判定を行う。
【００８６】
学習モデル４２１５の入力層には、撮影複数回分の画像データの全てが入力されてもよく、一部のみが入力されてもよい。また、演算部４２１１は、反射光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力と、透過光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力と、蛍光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力とのうち、複数の出力を組み合わせて、卵２の状態を判定してもよい。Ｓ２３２の処理は、第１判定部に対応する。Ｓ２３１の処理とＳ２３２の処理とは逆の順番で実行されてもよく、並列に実行されてもよい。
【００８７】
演算部４２１１は、次に、Ｓ２３１での判定結果及びＳ２３２での判定結果に基づいて、卵２の状態の判定結果を確定する（Ｓ２３３）。Ｓ２３３では、Ｓ２３１のルールベースでの判定結果とＳ２３２の学習モデル４２１５を用いた判定結果とを組み合わせて、卵２の判定結果を確定する。ルールベースでの判定結果と学習モデルを用いた判定結果とを組み合わる方法は、Ｓ１２３での処理と同様である。Ｓ２３３が終了した後、演算部４２１１は、処理をメインの処理へ戻す。ルールベースでの判定と学習モデル４２１５を用いた判定とを組み合わせることにより、適切な判定を行うことができる。なお、Ｓ２３の処理では、ルールベースでの判定を行わず、学習モデル４２１５を用いた判定の処理のみを行ってもよい。
【００８８】
演算部４２１１は、次に、卵２の状態の判定結果を出力する（Ｓ２４）。Ｓ２４では、演算部４２１１は、判定結果を含む画像を表示部４２１７に表示させる。例えば、演算部４２１１は、夫々の色の卵殻を有する卵２の数、卵殻の色の均一性が夫々の状態にある卵２の数、卵殻に汚れの無い卵２の数、汚れのある卵２の数、汚れの程度が所定の範囲に含まれる卵２の数、夫々の種類の汚れのある卵２の数、卵殻に破損の無い卵２の数、破損のある卵２の数、破損の程度が所定の範囲に含まれる卵２の数、奇形の卵殻を有する卵２の数、夫々の種類の奇形のある卵２の数、夫々の種類の表面性状を有する卵２の数、夫々の種類の模様を有する卵２の数、又は卵殻上に所定の印字がある卵２の数を表示部４２１７に表示する。演算部４２１１は、Ｓ２３１のルールベースでの判定結果とＳ２３２の学習モデル４２１５を用いた判定結果との夫々を表示部４２１７に表示させてもよい。使用者は、表示部４２１７に表示された内容を確認することにより、搬送装置１１で搬送されている卵２の状態を知ることができる。また、演算部４２１１は、インタフェース部４２１８を通じて、卵２の状態を表すデータを卵画像分析装置４２の外部へ出力する。例えば、透過光分析装置６は、卵殻の色又は汚れの有無等の卵２の状態を表すデータを取得し、取得したデータを利用した処理を行う。
【００８９】
演算部４２１１は、次に、卵２の状態の判定結果に応じて、卵２の分類先を決定する（Ｓ２５）。例えば、演算部４２１１は、卵２を色別に分類する。例えば、演算部４２１１は、卵２の卵殻の汚れの程度が所定の基準を超過している場合に、卵２の分類先は、加工用の卵２のグループ等、商店へ出荷される卵２とは用途の異なる卵２のグループであると決定する。例えば、演算部４２１１は、卵殻に汚れが無い場合、又は汚れの程度が所定の基準以下である場合に、卵２の分類先は一般の商店へ出荷可能な卵２のグループであると決定する。また、演算部４２１１は、卵殻の色の均一性、卵殻の汚れの種類、卵殻の破損の有無、破損の程度、卵殻の奇形の有無、奇形の種類、卵殻の表面性状、卵殻の模様、又は卵殻上の印字に応じて卵２を分類してもよい。Ｓ２５の処理は決定部に対応する。
【００９０】
演算部４２１１は、次に、インタフェース部４２１８を通じて、卵２の分類先を表す分類先データを卵画像分析装置４２の外部へ出力する（Ｓ２６）。Ｓ２６の処理は、出力部に対応する。制御装置３７は、分類先データを取得し、分類先データに基づいて分配装置１２を制御し、卵２の分類先に対応するコンベヤ上の容器へ卵２を移動させることにより、卵２の分配を行う。演算部４２１１は、以上で卵２を分類するための処理を終了する。分析部４２１は、Ｓ２１〜Ｓ２６の処理を、搬送装置１１で搬送される複数の卵２の夫々について実行する。分析部４２１は、複数の卵２についての処理を順次的に行ってもよく、並列に行ってもよい。
【００９１】
次に、Ｓ２２の設定処理を説明する。図１２は、設定処理の手順を示すフローチャートである。演算部４２１１は、出荷すべき卵２の品質を指定する情報を取得する（Ｓ２２１）。集荷された卵２の状態に応じた卵２の品質（例えば、ロット情報等）が、入力装置３８で設定され、Ｓ２２１では、演算部４２１１は、入力装置３８から、設定された品質を指定する情報をインタフェース部４２１８を通じて受け付ける。又は、顧客からの要求に応じた品質を指定する情報が入力装置３８へ入力され、演算部４２１１は、入力装置３８から、品質を指定する情報をインタフェース部４２１８を通じて受け付ける。Ｓ２２１の処理は、第１情報取得部に対応する。
【００９２】
出荷すべき卵２の品質に応じて、卵２の分類先を決定するための基準は調整される必要がある。卵２の分類先を決定するための基準を調整することにより、必要な品質の卵２が得られるように適切に卵２を分類することが可能となる。或いは、出荷すべき卵２の品質に応じて、卵２の状態を判定するために用いる学習モデル４２１５を調整することによっても、判定した卵２の状態に応じて適切に卵２を分類することが可能となる。
【００９３】
演算部４２１１は、次に、卵２の産卵からの経過時間を表す情報を取得する（Ｓ２２２）。Ｓ２２２では、演算部４２１１は、入力装置３８から、卵２が産卵されてからの経過時間の推定値を表す情報をインタフェース部４２１８を通じて受け付ける。又は、演算部４２１１は、入力装置３８から、生産場にて飼育されている家禽を照明する時刻及び卵２が搬入された時刻を表す情報を受け付け、受け付けた情報に基づいて産卵からの経過時間の推定値を計算してもよい。Ｓ２２２の処理は、第２情報取得部に対応する。
【００９４】
産卵されてからの経過時間に応じて、卵２の状態は変化する。例えば、経過時間が長くなるのに応じて、洗卵時の洗い残しに伴うしみが残りやすく、汚れの出現率が高くなる。このため、産卵されてからの経過時間に応じて、卵２を撮影した際に得られる画像は異なる。正確に卵２の状態を判定し、適切に卵２を分類するためには、卵２が産卵されてからの経過時間に応じて、卵２の状態を判定するために用いる学習モデル４２１５を調整することが望ましい。或いは、判定された卵２の状態に応じて卵２の分類先を決定するための基準を、卵２が産卵されてからの経過時間に応じて調整することによっても、適切に卵２を分類することが可能となる。
【００９５】
演算部４２１１は、次に、Ｓ２３２の処理で用いるべき学習モデルを選択する（Ｓ２２３）。学習モデル４２１５は、パラメータの異なる複数の学習モデルを含んでいる。Ｓ２２３では、演算部４２１１は、学習モデル４２１５が含んでいる複数の学習モデルから、Ｓ２３２の処理で用いるべき学習モデルを選択する。より詳しくは、演算部４２１１は、出荷すべき卵２の品質及び産卵からの経過時間に応じて、適切な学習モデルを選択する。Ｓ２３２の処理では、Ｓ２２３で選択された学習モデルが使用され、適切に卵２の状態が判定される。
【００９６】
演算部４２１１は、次に、Ｓ２５の処理で用いるべき卵２の分類の基準を調整する（Ｓ２２４）。Ｓ２２４では、演算部４２１１は、出荷すべき卵２の品質及び産卵からの経過時間に応じて、卵２の分類の基準を調整する。例えば、演算部４２１１は、卵２の分類先を決定するために利用される卵殻の汚れの基準を、変更する。Ｓ２５の処理では、Ｓ２２４で調整された基準が使用され、適切に卵２の分類先が決定される。Ｓ２２３及びＳ２２４の処理は、第１調整部及び第２調整部に対応する。Ｓ２２４が終了した後、演算部４２１１は、処理をメインの処理へ戻す。
【００９７】
なお、演算部４２１１は、Ｓ２２３及びＳ２２４の処理の内、いずれか一方のみを実行してもよい。また、演算部４２１１は、Ｓ２２１及びＳ２２２の処理の内、いずれか一方のみを実行し、実行した処理で取得した情報に基づいてＳ２２３又はＳ２２４の処理を実行してもよい。また、Ｓ２２１及びＳ２２２の処理で取得される情報は、複数の卵２に共通する情報であるので、演算部４２１１は、各卵２について行うＳ２１及びＳ２３〜Ｓ２６の処理とは別に、Ｓ２２の処理を行ってもよい。例えば、複数の卵２を搬送する前に、分析部４２１は、Ｓ２２の処理を行う。
【００９８】
また、卵画像分析装置４２は、卵２の形状又はサイズを計測してもよい。演算部４２１１は、画像データに対して画像解析を行うことにより、画像データに基づいて、卵２の形状を表す値として、卵２の長径及び短径を計測する。又は、演算部４２１１は、画像データに対して画像解析を行うことにより、画像データに基づいて、卵２のサイズを表す値として、画像中の卵２の面積を計測する。演算部４２１１は、計測した卵２の形状又はサイズを表す情報を、インタフェース部４２１８から出力する。例えば、打撃分析装置５がインタフェース部４２１８に接続されており、打撃分析装置５は、卵２の形状又はサイズを表す情報を取得し、卵殻の状態を判定する処理で利用する。
【００９９】
次に、容器内画像分析装置４３について説明する。図１３は、容器内画像分析装置４３の機能構成例を示すブロック図である。容器内画像分析装置４３は、情報処理を行う分析部４３１と、容器に収容された複数の卵２を撮影した画像を取得する画像取得部４３３とを備えている。画像取得部４３３は分析部４３１に接続されている。
【０１００】
分析部４３１は、コンピュータを用いて構成されている。分析部４３１は、演算部４３１１と、メモリ４３１２と、ドライブ部４３１３と、不揮発性の記憶部４３１４とを備えている。演算部４３１１は、例えばＣＰＵ、ＧＰＵ、マルチコアＣＰＵ、又は量子コンピュータを用いて構成されていてもよい。メモリ４３１２は、例えばＲＡＭである。また、分析部４３１は、卵２を撮影した画像を表す画像データに応じて卵２の状態を判定するために用いられる学習モデル４３１５を備えている。また、分析部４３１は、使用者からの操作を受け付ける操作部４３１６と、画像を表示する表示部４３１７と、インタフェース部４３１８とを備えている。インタフェース部４３１８は、移動量検出装置３６及び入力装置３８と接続されている。分析部４３１は、インタフェース部４３１８を介して、移動量検出装置３６及び入力装置３８との間で情報を入出力する。
【０１０１】
演算部４３１１は、光ディスク等の記録媒体４３０に記録されたコンピュータプログラム４３２をドライブ部４３１３に読み取らせ、読み取ったコンピュータプログラム４３２を記憶部４３１４に記憶させる。演算部４３１１は、記憶部４３１４に記憶されたコンピュータプログラム４３２に従った処理を実行する。なお、コンピュータプログラム４３２は、分析部４３１の外部からダウンロードされてもよい。この場合は、分析部４３１はドライブ部４３１３を備えていなくてもよい。
【０１０２】
学習モデル４３１５は、画像データに応じて卵２の状態を判定する処理を行うための学習済みの学習モデルである。学習モデル４３１５は、コンピュータプログラム４３２に従って演算部４３１１が情報処理を実行することにより実現される。また、学習モデル４３１５は、プロセッサと、必要なプログラム及びデータを記憶するメモリとを含んで構成されていてもよい。また、学習モデル４３１５は、量子コンピュータを用いて実現されてもよい。
【０１０３】
図１４は、画像取得部４３３の構成例を示す模式図である。画像取得部４３３は、容器２０に収容された複数の卵２を照明する照明部４３３２と、容器２０に収容された複数の卵２を撮影する撮影部４３３１とを有している。照明部４３３２は光源を用いて構成されている。照明部４３３２は、発光し、複数の卵２を収容した容器２０へ光を照射する。撮影部４３３１は、卵２及び容器２０で反射した反射光を用いて、卵２を撮影する。図１４中には、光を矢印で示す。照明部４３３２及び撮影部４３３１は、例えば、コンベヤ１３を搬送される容器２０の上側に配置されている。なお、照明部４３３２は、容器２０を介して卵２に光を照射してもよい。また、撮影部４３３１は、容器２０を介して卵２を撮影してもよい。
【０１０４】
撮影部４３３１は、容器２０に収容された複数の卵２を撮影した画像を表す画像データを作成する。撮影部４３３１は、画像データを分析部４３１へ入力する。画像取得部４３３は、画像データ取得部に対応する。画像取得部４３３は、ミラー、レンズ及び光学フィルタ等の図示しない光学部品を含んでいてもよい。画像取得部４３３は、照明部４３３２を有さず、外部からの光を利用してもよい。なお、画像取得部４３３は、卵２を透過した透過光又は蛍光を用いて卵２を撮影した画像を取得する形態であってもよい。また、画像取得部４３３は、反射光を用いて卵２を撮影した画像、透過光を用いて卵２を撮影した画像、及び蛍光を用いて卵２を撮影した画像のうち、複数の画像を取得する形態であってもよい。
【０１０５】
分析部４３１は、画像データに基づいて、容器２０に収容された卵２の状態を判定し、判定結果に応じて、容器２０に収容された卵２の分類先を決定する処理を行う。判定される卵２の状態は、具体的には、卵殻の破損の有無、破損の大きさの程度、卵殻の汚れの有無、汚れの程度、又は汚れの種類である。卵２を撮影した際に得られる画像は、卵２の状態に応じて異なる。このため、画像データに応じて、容器２０に収容された卵２の状態を判定することが可能である。
【０１０６】
容器内画像分析装置４３の分析部４３１が行う卵２を分類するための処理の手順は、図９のフローチャートで示したＳ２１〜Ｓ２６の処理と同様である。分析部４３１の演算部４３１１は、コンピュータプログラム４３２に従って以下の処理を実行する。演算部４３１１は、移動量検出装置３６からの情報に基づいて、卵２を収容した容器２０の位置を特定する。演算部４３１１は、位置を特定した一の容器２０についての画像データを画像取得部４３３から取得する（Ｓ２１）。演算部４３１１は、画像データを記憶部４３１４に記憶する。演算部４３１１は、次に、卵２を分類するための設定を行う設定処理を行う（Ｓ２２）。
【０１０７】
設定処理の手順は、図１２のフローチャートで示したＳ２２１〜Ｓ２２４の処理と同様である。演算部４３１１は、出荷すべき卵２の品質を指定する情報を取得する（Ｓ２２１）。例えば、演算部４３１１は、入力装置３８から、品質を指定する情報をインタフェース部４３１８を通じて受け付ける。
【０１０８】
演算部４３１１は、次に、Ｓ２３２の処理で用いるべき学習モデルを選択する（Ｓ２２３）。学習モデル４３１５は、パラメータの異なる複数の学習モデルを含んでいる。Ｓ２２３では、演算部４３１１は、学習モデル４３１５が含んでいる複数の学習モデルから、Ｓ２３２の処理で用いるべき学習モデルを選択する。より詳しくは、演算部４３１１は、出荷すべき卵２の品質に応じて、適切な学習モデルを選択する。
【０１０９】
演算部４３１１は、次に、Ｓ２５の処理で用いるべき卵２の分類の基準を調整する（Ｓ２２４）。Ｓ２２４では、演算部４３１１は、出荷すべき卵２の品質に応じて、卵２の分類の基準を調整する。例えば、演算部４３１１は、卵２の分類先を決定するために利用される卵殻の破損の程度の基準、又は卵殻の汚れの基準を、変更する。
【０１１０】
なお、演算部４３１１は、環境を表す情報を取得して、処理で用いるべき学習モデルを選択するか、又は卵２の分類の基準を調整してもよい。演算部４３１１は、環境を表す情報として、容器２０の種類を表す容器情報を取得する。容器内画像分析装置４３は、環境を表す情報を取得する環境情報取得部を備える。例えば、環境情報取得部は、使用者からの操作を受け付ける操作部４３１６である。演算部４３１１は、Ｓ２２３の処理において、環境情報取得部で取得した情報に応じて、判定処理で用いるべき学習モデルを複数の学習モデルの中から選択する。又は、演算部４３１１は、Ｓ２２４の処理において、環境情報取得部で取得した情報に応じて、判定結果に応じて卵２の分類先を決定する基準を調整する。
【０１１１】
Ｓ２２４が終了した後、演算部４３１１は、処理をメインの処理へ戻す。なお、演算部４３１１は、Ｓ２２３及びＳ２２４の処理の内、いずれか一方のみを実行してもよい。また、演算部４３１１は、Ｓ２２１〜Ｓ２２２の処理の内、一部のみを実行し、実行した処理で取得した情報に基づいてＳ２２３又はＳ２２４の処理を実行してもよい。演算部４３１１は、Ｓ２１とＳ２２との処理を逆の順で実行してもよい。また、演算部４３１１は、各容器２０について行うＳ２１及びＳ２３〜Ｓ２６の処理とは別に、Ｓ２２の処理を行ってもよい。例えば、複数の卵２を搬送する前に、演算部４３１１は、Ｓ２２の処理を行う。
【０１１２】
演算部４３１１は、次に、画像データに基づいて、容器２０に収容された卵２の状態を判定する判定処理を行う（Ｓ２３）。判定処理の手順は、図１０のフローチャートで示したＳ２３１〜Ｓ２３３の処理と同様である。演算部４３１１は、ルールベースで卵２の状態を判定する（Ｓ２３１）。Ｓ２３１では、演算部４３１１は、予め定められているルールに基づいて、画像データに応じて容器２０に収容された卵２の状態を判定する。演算部４３１１は、従来知られている方法により、卵２の状態を判定する処理を行ってよい。例えば、演算部４３１１は、従来の画像処理により、卵殻の破損の有無、破損の大きさの程度、卵殻の汚れの有無、汚れの程度、又は汚れの種類を判定する。
【０１１３】
演算部４３１１は、次に、学習モデル４３１５を用いて、容器２０に収容された卵２の状態を判定する（Ｓ２３２）。学習モデル４３１５は、容器２０に収容された卵２を撮影した画像を表す画像データと卵殻の破損の有無、破損の大きさの程度、卵殻の汚れの有無、汚れの程度、又は汚れの種類を表す情報とを含む教師データを用いて、画像データから卵殻の破損の有無、破損の大きさの程度、卵殻の汚れの有無、汚れの程度、又は汚れの種類を判定するように、予め学習がなされている。例えば、学習モデル４３１５は、ニューラルネットワークを用いている。
【０１１４】
図１５は、学習モデル４３１５の機能構成例を示す概念図である。学習モデル４３１５は、ニューラルネットワークを用いる。入力層は、画像データが入力される複数のノード４３４１を有する。例えば、容器２０に収容された複数の卵２を撮影した画像に含まれる各画素での画素値が、いずれかのノード４３４１へ入力される。入力層へは、画像データに加えて、品質を指定する情報が入力されてもよい。中間層は、入力層のノード４３４１から入力されるデータにパラメータを用いて演算する複数のノード４３４２を有する。複数のノード４３４２は、出力層に含まれる複数のノード４３４３へデータを出力する。出力層は、中間層のノード４３４２から演算されたデータを受け付け、卵２の状態を出力する複数のノード４３４３を有する。例えば、一のノード４３４３は、卵殻に破損が存在する確率をスコアとして出力し、他のノード４３４３は、破損の大きさがある大きさである確率をスコアとして出力する。例えば、更に他のノード４３４３は、卵２に汚れが存在する確率をスコアとして出力し、更に他のノード４３４３は、汚れの程度が所定の程度である確率をスコアとして出力し、更に他のノード４３４３は、汚れの種類が特定の種類である確率をスコアとして出力する。中間層は複数層であってもよい。学習モデル４３１５は、ニューラルネットワークとして、ＣＮＮ又はＲＮＮを用いてもよい。
【０１１５】
学習モデル４３１５は、教師データを用いて予め学習がなされている。卵殻に破損及び汚れの無い多数の卵２を含む、状態が判明している多数の卵２について、卵２が容器２０に収容された状態で画像データが取得され、教師データが作成される。容器２０に収容された複数の卵２の状態を表す情報と容器２０に収容された複数の卵２を撮影した画像を表す画像データとが含まれる。教師データに含まれる各卵２についての画像データが入力層の各ノード４２４１へ入力され、教師データに含まれる情報が示す各卵２の状態に合致したスコアを出力層の各ノード４３４３が出力されるように、各ノードの演算のパラメータが調整される学習がなされている。例えば、学習では、出力層の各ノード４３４３の出力値及び教師データから期待される出力値を変数とする誤差関数により誤差を計算し、誤差逆伝搬法によって当該誤差が最小となるように、各ノードの演算のパラメータを調整している。
【０１１６】
学習モデル４３１５の学習は容器内画像分析装置４３で行ってもよい。例えば、状態が判明している卵２が容器２０に収容された状態で画像データを画像取得部４３３で取得することで教師データが作成され、分析部４３１が学習のための情報処理を実行する。代替的に、容器内画像分析装置４３の外部から教師データが入力され、分析部４３１が学習のための情報処理を実行してもよい。代替的に、容器内画像分析装置４３の外部にある学習装置で学習が行われ、学習の結果に基づいて学習モデル４３１５が作成されていてもよい。学習装置は、コンピュータを用いて構成される。容器２０に収容された複数の卵２の画像データが取得され、画像データが取得された後の卵２の状態が調べられ、画像データと調べられた卵２の状態を表す情報とを含む教師データが作成されてもよい。学習装置は、教師データを入力され、学習を行ってもよい。学習装置は、画像データと卵２の状態を表す情報とを入力され、入力されたデータ及び情報を含む教師データを作成し、作成した教師データを用いて学習を行ってもよい。
【０１１７】
学習モデル４３１５は、透過光又は蛍光を用いて卵２を撮影した画像を表す画像データが入力され、卵２の状態を出力する形態であってもよい。或いは、学習モデル４３１５は、反射光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルと、透過光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルと、蛍光を用いて卵２を撮影した画像を表す画像データが入力される学習モデルとのうち、複数の学習モデルを含んでいてもよい。
【０１１８】
演算部４３１１は、学習モデル４３１５の出力に応じて、卵２の状態を判定する。例えば、演算部４３１１は、卵殻に破損が存在する確率が所定の閾値未満である場合に卵殻に破損が無いと判定し、卵殻に破損が存在する確率が所定の閾値以上である場合に卵殻に破損があると判定する。例えば、演算部４３１１は、スコアが最大の値になる破損の大きさを、卵殻の破損の大きさの程度であると判定する。例えば、演算部４３１１は、卵殻に汚れが存在する確率が所定の閾値以上である場合に卵殻に汚れがあると判定し、卵殻に汚れが存在する確率が所定の閾値未満である場合に卵殻に汚れは無いと判定する。例えば、演算部４３１１は、スコアが最大の値になる汚れの程度を、卵殻の汚れの程度であると判定する。例えば、演算部４３１１は、スコアが最大の値になる汚れの種類を、卵殻の汚れの種類であると判定する。
【０１１９】
また、学習モデル４３１５は、卵殻の破損の有無を判定するための学習モデル、卵殻の破損の大きさの程度を判定するための学習モデル、卵殻の汚れの有無を判定するための学習モデル、卵殻の汚れの程度を判定するための学習モデル、又は卵殻の汚れの種類を判定するための学習モデルを、個別に含んでいてもよい。Ｓ２３２では、演算部４３１１は、夫々の学習モデルを用いて夫々の判定を行う。
【０１２０】
また、演算部４３１１は、反射光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力と、透過光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力と、蛍光を用いて卵２を撮影した画像を表す画像データを入力した学習モデルの出力とのうち、複数の出力を組み合わせて、卵２の状態を判定してもよい。Ｓ２３２では、演算部４３１１は、Ｓ２２３で選択された学習モデルを使用する。Ｓ２３１の処理とＳ２３２の処理とは逆の順番で実行されてもよく、並列に実行されてもよい。
【０１２１】
演算部４３１１は、次に、Ｓ２３１での判定結果及びＳ２３２での判定結果に基づいて、容器２０に収容された卵２の状態の判定結果を確定する（Ｓ２３３）。Ｓ２３３では、Ｓ２３１のルールベースでの判定結果とＳ２３２の学習モデル４３１５を用いた判定結果とを組み合わせて、卵２の判定結果を確定する。ルールベースでの判定結果と学習モデルを用いた判定結果とを組み合わる方法は、Ｓ１２３での処理と同様である。Ｓ２３３が終了した後、演算部４３１１は、処理をメインの処理へ戻す。ルールベースでの判定と学習モデル４３１５を用いた判定とを組み合わせることにより、適切な判定を行うことができる。
【０１２２】
演算部４３１１は、次に、容器２０に収容された卵２の状態の判定結果を出力する（Ｓ２４）。Ｓ２４では、演算部４３１１は、判定結果を含む画像を表示部４３１７に表示させる。例えば、演算部４３１１は、卵殻に破損のある卵２の数、又は卵殻に汚れのある卵２の数を表示部４３１７に表示する。演算部４３１１は、Ｓ２３１のルールベースでの判定結果とＳ２３２の学習モデル４３１５を用いた判定結果との夫々を表示部４３１７に表示させてもよい。
【０１２３】
演算部４３１１は、次に、容器２０に収容された卵２の状態の判定結果に応じて、容器２０に収容された卵２の分類先を決定する（Ｓ２５）。演算部４３１１は、容器２０単位で卵２の分類先を決定する。例えば、演算部４３１１は、容器２０に収容された複数の卵２の中に卵殻の破損の程度が所定の基準を超過している卵２がある場合、又は卵殻の汚れの程度が所定の基準を超過している卵２がある場合に、当該容器２０を特定し、一般の商店へ出荷される容器２０とは別の場所へ移動させる。例えば、容器２０に収容された全ての卵２に卵殻の破損及び汚れが無い、又は全ての卵２の卵殻の破損の程度若しくは汚れの程度が所定の基準以下である場合に、容器２０に収容された複数の卵２の分類先は一般の商店へ出荷可能な卵２のグループであると決定する。また、演算部４３１１は、卵殻の汚れの種類に応じて卵２を分類してもよい。Ｓ２５では、演算部４３１１は、Ｓ２２４で調整した卵２の分類の基準を用いて、処理を実行する。
【０１２４】
演算部４３１１は、次に、インタフェース部４３１８を通じて、容器２０に収容された卵２の分類先を表す分類先データを出力する（Ｓ２６）。例えば、演算部４３１１は、卵２の分類先を表す画像を表示部４３１７に表示させる。容器２０に収容された卵２が商店へ出荷される卵２には適さない卵２に分類されることを表す画像が表示部４３１７に表示された場合は、使用者は、卵２を容器２０から取り出す。なお、卵分類システム１００は、商店へ出荷される卵２には適さない卵２が収容された容器２０を取り分ける図示しない装置を備えてもよい。この装置は、容器内画像分析装置４３から出力された分類先データに基づいて、容器２０を取り分ける。分析部４３１は、Ｓ２１〜Ｓ２６の処理を、コンベヤ１３を搬送される容器２０の夫々について実行する。分析部４３１は、複数の容器２０についての処理を順次的に行ってもよく、並列に行ってもよい。
【０１２５】
以上詳述した如く、本実施形態においては、破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３は、卵２を撮影した画像を表す画像データを取得し、学習モデルによって、画像データに応じて卵２の状態を判定し、判定結果に応じて卵２の分類先を決定する。卵２の状態を判定するために学習モデルを利用することにより、状態の異なる種々の卵２が混在する中でも、より正確に卵２の状態を判定し、より適切に卵２を分類することが可能となる。また、本実施形態においては、破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３は、卵２の状態として、卵殻の破損の有無、卵殻の破損の程度、卵殻の色、色の均一性、卵殻の汚れの有無、汚れの程度、汚れの種類、卵殻の奇形の有無、奇形の種類、卵殻の表面性状、卵殻の模様、又は卵殻上の印字を判定する。これらの卵２の状態は、卵２の品質に大きく影響する。これらの卵２の状態に応じて卵２を分類することにより、適切な品質の卵２を選別することが可能となる。
【０１２６】
また、容器内画像分析装置４３は、容器２０に収容した卵２を撮影した画像を表す画像データに応じて卵２の状態を判定し、卵２を分類する。容器２０に収容した卵２は、出荷直前の状態であり、容器２０に収容された複数の卵２の中に卵殻が破損した卵２又は卵殻に汚れのある卵２が混入していた場合は、複数の卵２からなる製品の品質が低下する。卵２が容器２０に収容された状態で卵殻の破損の程度、卵殻の汚れの程度、又は卵殻の汚れの種類を判定して卵２を分類することにより、低品質の卵２が出荷されることを防止することが可能となる。
【０１２７】
本実施形態では、卵画像分析装置４２は、学習モデル４２１５を再学習することが可能である。卵画像分析装置４２の分析部４２１は、再学習のための処理を実行する。図１６は、再学習の処理の手順を示すフローチャートである。分析部４２１の演算部４２１１は、コンピュータプログラム４２２に従って以下の処理を実行する。再学習を行う際には、状態が判明している卵２を撮影した画像を表す画像データを取得し、卵２の状態を表す情報と取得した画像データとを教師データとして、再学習を行う。まず、使用者は、搬送装置１１を停止させた状態で、状態が判明している卵２を搬送装置１１の搬送路上に配置する。分析部４２１は、使用者が操作部４２１６を操作することによって、卵２の状態を表す情報を含む、卵２の状態が判明している卵２に関する設定を受け付ける（Ｓ４１）。演算部４２１１は、受け付けた設定の内容を表すデータを記憶部４２１４に記憶する。Ｓ４１の処理は受付部に対応する。
【０１２８】
図１７は、再学習の際に表示部４２１７に表示される画面例を示す模式図である。図１７は、操作部４２１６及び表示部４２１７がタッチパネルを構成している例を示しており、画面中には操作部４２１６の一部である操作ボタンが含まれている。図１７Ａは、設定時に表示部４２１７に表示される画面の例を示す。使用者が操作部４２１６を操作することによって設定が入力される。配置される卵２の状態を表す情報が入力される。図１７には、卵２の卵殻の色が白色であり、卵２の状態の種類が茶色汚れであり、卵２の状態のレベルがＬｖ３であることが入力された例を示す。Ｌｖはレベルを意味している。レベルの数値は卵殻の汚れの程度を表しており、数値が大きいほど卵殻の汚れの程度は大規模になる。図１７Ａの例では、卵殻の色が白色であり卵殻の汚れの種類が茶色汚れであり汚れの程度がＬｖ３である卵２が配置されるという設定が入力されている。
【０１２９】
演算部４２１１は、次に、画像データを取得する（Ｓ４２）。Ｓ４２では、図１７Ａに示す画面上で使用者が開始ボタンを押下する等、使用者が操作部４２１６を操作することにより、演算部４２１１は、画像データの取得の指示を受け付ける。搬送装置１１は卵２を搬送し、演算部４２１１は、Ｓ２１の処理と同様にして、画像取得部４２３から、夫々の卵２を撮影した画像を表した画像データを取得する。演算部４２１１は、画像データを記憶部４２１４に記憶する。
【０１３０】
演算部４２１１は、次に、判定処理を行う（Ｓ４３）。Ｓ４３では、図１７Ａに示す画面上で使用者が終了ボタンを押下する等、使用者が操作部４２１６を操作することにより、演算部４２１１は、判定の指示を受け付ける。演算部４２１１は、Ｓ２３の処理と同様にして、取得した画像データに基づいて卵２の状態を判定する判定処理を行う。演算部４２１１は、卵２の状態の判定結果を表示部４２１７に表示させる。図１７Ｂは、判定結果が表示された画面例を示す。卵２の夫々について、卵２の状態の判定結果が示されている。正常卵は、卵殻に汚れが無いことを意味している。図１７Ｂに示す例では、設定された卵殻の汚れの程度がＬｖ３であるのに対して、判定結果がＬｖ３とは異なっている卵２が多く、正確に判定が行われていないことが示唆されている。
【０１３１】
演算部４２１１は、次に、画像データのチェックを行う（Ｓ４４）。画像取得部４２３等の機器の不具合、又は迷光等によって、画像データが異常になることがある。画像データが異常である場合は、画像データを利用した再学習は不正確な学習になる。このため、画像データのチェックが必要となる。Ｓ４４では、図１７Ｂに示す画面上で使用者がチェックボタンを押下する等、使用者が操作部４２１６を操作することにより、演算部４２１１は、チェックの指示を受け付ける。演算部４２１１は、機器の不具合の有無を判定するか、又は所定の基準に基づいて画像データに異常があるか否かを判定する等の方法により、画像データのチェックを行う。
【０１３２】
演算部４２１１は、次に、チェックの結果、画像データに異常があったか否かを判定する（Ｓ４５）。異常があった場合は（Ｓ４５：ＹＥＳ）、異常があったことを表示部４２１７に表示させ、処理を終了する。異常が無かった場合は（Ｓ４５：ＮＯ）、異常が無かったことを表示部４２１７に表示させ、次に、再学習の処理を行う（Ｓ４６）。
【０１３３】
図１７Ｃは、画像データに異常が無かった場合の画面例を示す。画像データに異常が無いことが表示されており、教示ボタンが使用可能になっている。図１７Ｃに示す画面上で使用者が教示ボタンを押下する等、使用者が操作部４２１６を操作することにより、演算部４２１１は、再学習の指示を受け付ける。図１７Ｄは、画像データに異常がある場合の画面例を示す。画像データに異常があることが表示されている。教示ボタンが使用できないようになっており、使用者は再学習の指示を入力することができない。
【０１３４】
Ｓ４６では、演算部４２１１は、Ｓ４１で受け付けた設定に含まれる卵２の状態を表す情報と、Ｓ４２で取得した各卵２についての画像データとの関係を教師データとして、学習モデル４２１５の機械学習を行う。学習モデル４２１５は、画像データが入力層のノード４２４１へ入力され、設定に応じた卵２の状態が出力層のノード４２４３から出力されることができるように、教師データに基づいて中間層の各ノード４２４２のパラメータを調整する機械学習を行う。機械学習によって、再学習された学習モデル４２１５が得られる。Ｓ４６の処理は再学習部に対応する。
【０１３５】
分析部４２１は、以上で再学習の処理を終了する。Ｓ４１〜Ｓ４６の処理は必要に応じて実行される。Ｓ４１〜Ｓ４６の処理では、複数の卵２についての画像データの何れかに異常があれば学習モデル４２１５の再学習を行わない。代替的に、分析部４２１は、画像データに異常のある卵２と画像データに異常の無い卵２との両方がある場合に、画像データに異常の無い卵２のみについて再学習を行ってもよい。
【０１３６】
図１７には状態が同じカテゴリーに分けられる複数の卵２を用いて再学習を行う例を示したが、卵画像分析装置４２は、状態が異なるカテゴリーに分けられる複数の卵２を用いて再学習を行う形態であってもよい。図１８は、再学習の際に表示部４２１７に表示される他の画面例を示す模式図である。複数の列に並べられる複数の卵２の夫々について、卵殻の色、汚れの種類及び汚れの程度が入力されている。卵２が配置される位置を示すために、複数の列の一つを構成している列Ｎｏが入力されている。図１７に示した例と同様にして、画像データが取得され、判定が行われ、画像データのチェックが行われ、各卵２の状態を表す情報と各卵２を撮影した画像を表す画像データとを教師データとして、再学習が行われる。
【０１３７】
図１７及び図１８には、卵殻の色及び汚れに関して再学習を行う例を示したが、卵画像分析装置４２は、卵殻の破損の有無、破損の程度、卵殻の色の均一性、卵殻の奇形の有無、奇形の種類、卵殻の表面性状、卵殻の模様、又は卵殻上の印字に関して再学習を行ってもよい。また、再学習の処理では、卵画像分析装置４２は、卵２を撮影した画像を表す画像データを先に取得し、後から卵２の状態に関する設定を行ってもよい。又は、卵画像分析装置４２は、卵２の状態を当初設定した状態の内容とは異なる内容に修正してから、再学習を行ってもよい。
【０１３８】
なお、卵画像分析装置４２は、学習を外部で行う形態であってもよい。図１９は、学習を外部で行う卵画像分析装置４２の機能構成例を示すブロック図である。分析部４２１は、通信部４２１９を備える。通信部４２１９は、インターネット等の通信ネットワークＮに接続する。通信ネットワークＮには、記憶装置７が接続されている。分析部４２１は、通信部４２１９により、通信ネットワークＮを介して記憶装置７との間で通信を行う。
【０１３９】
図２０は、記憶装置７の内部構成例を示すブロック図である。記憶装置７は、サーバ装置等のコンピュータである。記憶装置７は、演算部７１と、メモリ７２と、ハードディスク等の不揮発性の記憶部７３と、通信部７４とを備えている。通信部７４は、通信ネットワークＮに接続する。記憶部７３は、コンピュータプログラム７３１を記憶している。演算部７１は、コンピュータプログラム７３１に従って処理を実行する。
【０１４０】
Ｓ４６では、分析部４２１は、Ｓ４１で受け付けた設定に含まれる卵２の状態を表す情報とＳ４２で取得した各卵２についての画像データとを含む教師データを、記憶装置７へ送信する。記憶装置７は、通信部７４で教師データを受信し、演算部７１は教師データを記憶部７３に記憶する。演算部７１は、教師データを用いて、学習モデルの機械学習を行い、学習モデルの学習結果を表した学習結果データを記憶部７３に記憶する。更に、演算部７１は、通信部７４に卵画像分析装置４２へ学習結果データを送信させる。分析部４２１は、通信部４２１９で学習結果データを受信し、演算部４２１１は、学習結果データに基づいて学習モデル４２１５を更新する。このようにして、学習モデル４２１５の再学習が行われる。
【０１４１】
破卵検出装置４１及び容器内画像分析装置４３でも、卵画像分析装置４２と同様にＳ４１〜Ｓ４６の処理を実行することにより、学習モデルの再学習を行うことができる。破卵検出装置４１は、学習モデル４１１５の再学習を行う。容器内画像分析装置４３は、学習モデル４３１５の再学習を行う。
【０１４２】
以上詳述した如く、本実施形態においては、破卵検出装置４１、卵画像分析装置４２及び容器内画像分析装置４３は、卵２の状態を表す情報を受け付け、卵２を撮影した画像を表す画像データを取得し、卵２の状態を表す情報及び画像データを教師データとして学習モデルの再学習を行う。実際の卵２の状態に応じて学習モデルが再学習されるので、より正確に卵２の状態を判定することができるように学習モデルが更新される。このため、より正確に卵２の状態を判定し、より適切に卵２を分類することが可能となる。
【０１４３】
本実施形態においては、破卵検出装置４１、卵画像分析装置４２及び容器内画像分析装置４３が自身で卵２の状態を判定する形態を示したが、卵分類システム１００は、破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３の外部で卵２の状態を判定する形態であってもよい。例えば、学習済みの学習モデルを含んだ判定装置が破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３の外部に設けられている。破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３は、画像データを取得し、画像データを判定装置へ入力する。判定装置は、学習モデルによって、入力された画像データに応じて、卵２の状態を判定する。判定装置は、判定結果を破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３へ入力し、破卵検出装置４１、卵画像分析装置４２又は容器内画像分析装置４３は、入力された判定結果に応じて、卵２の分類先を決定する。判定装置は、コンピュータを用いて構成されている。判定装置は、複数のコンピュータで構成されてもよく、クラウドを利用して実現されてもよい。
【０１４４】
本発明は上述した実施の形態の内容に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。即ち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態も本発明の技術的範囲に含まれる。
【０１４５】
（付記１）
卵を分類するための卵分類システムにおいて、
卵の分類先を決定する第１の卵分類装置及び第２の卵分類装置と、
前記第１の卵分類装置又は前記第２の卵分類装置が決定した分類先に応じて、卵を分配する分配装置とを備え、
前記第１の卵分類装置は、
卵を撮影した画像を表す画像データを取得する画像データ取得部と、
卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する判定部と、
卵の状態の判定結果に応じて、卵の分類先を決定する決定部とを有し、
前記第２の卵分類装置は、卵に打撃を付与することによって発生する現象を表す打撃データ及び卵殻の状態を表す情報を含む教師データを用いて学習された学習モデルを有し、卵に打撃を付与することによって発生する現象を表す打撃データを取得し、前記学習モデルによって、取得した前記打撃データに基づいて卵殻の状態を判定し、卵殻の状態の判定結果に応じて、卵の分類先を決定すること
を特徴とする卵分類システム。
【０１４６】
（付記２）
卵の分類先を決定する第３の卵分類装置を更に備え、
前記第３の卵分類装置は、卵の内部の状態を表す情報及び前記卵を透過した光を表す透過光データを含む教師データを用いて学習された深層学習モデルを有し、卵を透過した光を表す透過光データを取得し、前記深層学習モデルによって、取得した前記透過光データに基づいて卵の内部の状態を判定し、卵の内部の状態の判定結果に応じて、卵の分類先を決定し、
前記分配装置は、前記第１の卵分類装置、前記第２の卵分類装置又は前記第３の卵分類装置が決定した分類先に応じて、卵を分配すること
を特徴とする付記１に記載の卵分類システム。
【０１４７】
（付記３）
卵を分類するための卵分類システムにおいて、
卵の分類先を決定する第１の卵分類装置及び第３の卵分類装置と、
前記第１の卵分類装置又は前記第３の卵分類装置が決定した分類先に応じて、卵を分配する分配装置とを備え、
前記第１の卵分類装置は、
卵を撮影した画像を表す画像データを取得する画像データ取得部と、
卵の状態を表す情報及び前記卵についての画像データを含む教師データを用いて学習された学習モデルによって、前記画像データ取得部が取得した画像データに応じて、卵の状態を判定する判定部と、
卵の状態の判定結果に応じて、卵の分類先を決定する決定部とを有し、
前記第３の卵分類装置は、卵の内部の状態を表す情報及び前記卵を透過した光を表す透過光データを含む教師データを用いて学習された深層学習モデルを有し、卵を透過した光を表す透過光データを取得し、前記深層学習モデルによって、取得した前記透過光データに基づいて卵の内部の状態を判定し、卵の内部の状態の判定結果に応じて、卵の分類先を決定すること
を特徴とする卵分類システム。
【符号の説明】
【０１４８】
１１  搬送装置
１２  分配装置
１３、１４  コンベヤ
２  卵
２０  容器
４１  破卵検出装置
４２  卵画像分析装置
４３  容器内画像分析装置
４１１、４２１、４３１  分析部
４１１１、４２１１、４３１１  演算部
４１１５、４２１５、４３１５  学習モデル
４１２、４２２、４３２  コンピュータプログラム
４１３、４２３、４３３  画像取得部
４１３１、４２３１、４３３１  撮影部
４１３２、４２３２、４３３２  照明部
７  記憶装置
Ｎ  通信ネットワーク
【図１】
2020148621.tif 000003
【図２】
2020148621.tif 000004
【図３】
2020148621.tif 000005
【図４】
2020148621.tif 000006
【図５】
2020148621.tif 000007
【図６】
2020148621.tif 000008
【図７】
2020148621.tif 000009
【図８】
2020148621.tif 000010
【図９】
2020148621.tif 000011
【図１０】
2020148621.tif 000012
【図１１】
2020148621.tif 000013
【図１２】
2020148621.tif 000014
【図１３】
2020148621.tif 000015
【図１４】
2020148621.tif 000016
【図１５】
2020148621.tif 000017
【図１６】
2020148621.tif 000018
【図１７】
2020148621.tif 000019
【図１８】
2020148621.tif 000020
【図１９】
2020148621.tif 000021
【図２０】
2020148621.tif 000022