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