(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024152009
(43)【公開日】2024-10-25
(54)【発明の名称】コンピュータプログラム、卵判定方法、学習済モデル生成方法、及び卵判定装置
(51)【国際特許分類】
G06V 10/80 20220101AFI20241018BHJP
G06T 7/00 20170101ALI20241018BHJP
G06V 20/68 20220101ALI20241018BHJP
G01N 21/17 20060101ALI20241018BHJP
【FI】
G06V10/80
G06T7/00 350B
G06V20/68
G01N21/17 A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023065888
(22)【出願日】2023-04-13
(71)【出願人】
【識別番号】597017812
【氏名又は名称】株式会社ナベル
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】泉 祥
【テーマコード(参考)】
2G059
5L096
【Fターム(参考)】
2G059AA03
2G059BB11
2G059DD12
2G059DD13
2G059EE01
2G059FF01
2G059FF11
2G059KK04
2G059MM01
5L096AA02
5L096AA06
5L096BA03
5L096CA04
5L096CA17
5L096DA02
5L096EA43
5L096FA02
5L096FA06
5L096FA59
5L096FA64
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096JA11
5L096JA16
5L096KA04
(57)【要約】
【課題】卵の気室の形状が正常であるか否かを高い精度で判定することができるコンピュータプログラム、卵判定方法、学習済モデル生成方法、及び卵判定装置を提供する。
【解決手段】コンピュータプログラムは、卵を撮影した画像を取得し、取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、取得した形状情報に基づいて、気室の形状が正常であるか否かを判定する処理をコンピュータに実行させる。
【選択図】
図7
【特許請求の範囲】
【請求項1】
卵を撮影した画像を取得し、
取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、
境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、
取得した形状情報に基づいて、気室の形状が正常であるか否かを判定する
処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項2】
同一の卵を複数の方向から撮影した複数の画像を取得し、
前記複数の画像の夫々から生成した境界線画像を前記学習済モデルへ入力し、前記学習済モデルが出力する形状情報を取得することにより、前記複数の画像に応じた複数の形状情報を取得し、
前記複数の形状情報の内で、気室の形状が異常であることを最も強く示している単一の形状情報に基づいて、気室の形状が正常であるか否かを判定する
処理をコンピュータに実行させることを特徴とする請求項1に記載のコンピュータプログラム。
【請求項3】
取得した画像に基づいて、卵が死卵又は無精卵であるか否か、卵の気室の位置、又は卵の発育状態を、他の学習済モデルを用いて判定し、
取得した画像に基づいて、気室の大きさ、気室の傾き、又は卵の向きを、予め定められたルールに従って判定する
処理をコンピュータに実行させることを特徴とする請求項1に記載のコンピュータプログラム。
【請求項4】
取得した画像に基づいて、卵が死卵又は無精卵であるか否かを判定し、
卵が死卵又は無精卵ではない場合に、前記学習済モデルを用いて、気室の形状が正常であるか否かを判定し、
取得した画像に基づいて、卵の発育状態を判定し、
気室の形状及び卵の発育状態が正常であると判定した場合に、卵が正常卵であると判定する
処理をコンピュータに実行させることを特徴とする請求項1に記載のコンピュータプログラム。
【請求項5】
卵を撮影した画像を取得し、
取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、
境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、
取得した形状情報に基づいて、気室の形状が正常であるか否かを判定する
ことを特徴とする卵判定方法。
【請求項6】
卵を撮影した画像から生成した、卵に含まれる気室と他の領域との境界線を示す境界線画像、及び気室の形状が正常であるか否かを示す形状情報を含んだ訓練データを取得し、
前記訓練データを用いた学習により、境界線画像を入力した場合に形状情報を出力する学習済モデルを生成する
ことを特徴とする学習済モデル生成方法。
【請求項7】
演算部を備え、
前記演算部は、
卵を撮影した画像を取得し、
取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、
境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、
取得した形状情報に基づいて、気室の形状が正常であるか否かを判定する
ことを特徴とする卵判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、卵の状態を判定するためのコンピュータプログラム、卵判定方法、学習済モデル生成方法、及び卵判定装置に関する。
【背景技術】
【0002】
鶏卵等の家禽の卵の内、有精卵は、繁殖又はワクチン生産等、食用以外の用途に利用されることがある。従来、このような有精卵の状態を検査することが行われている。例えば、卵の気室の形状が検査される。気室の形状が異常である場合は、孵化途中での発育状態が異常である可能性がある。このため、気室の形状が異常である卵は異常と判定される。例えば、検査によって正常と判定された卵が利用され、異常と判定された卵は廃棄される。特許文献1には、卵を透過した光を用いて卵を撮影した画像に基づいて卵の状態を判定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的とするところは、卵の気室の形状が正常であるか否かを高い精度で判定することができるコンピュータプログラム、卵判定方法、学習済モデル生成方法、及び卵判定装置を提供することにある。
【課題を解決するための手段】
【0005】
本発明の一形態に係るコンピュータプログラムは、卵を撮影した画像を取得し、取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、取得した形状情報に基づいて、気室の形状が正常であるか否かを判定する処理をコンピュータに実行させることを特徴とする。
【0006】
本発明の一形態に係るコンピュータプログラムは、同一の卵を複数の方向から撮影した複数の画像を取得し、前記複数の画像の夫々から生成した境界線画像を前記学習済モデルへ入力し、前記学習済モデルが出力する形状情報を取得することにより、前記複数の画像に応じた複数の形状情報を取得し、前記複数の形状情報の内で、気室の形状が異常であることを最も強く示している単一の形状情報に基づいて、気室の形状が正常であるか否かを判定する処理をコンピュータに実行させることを特徴とする。
【0007】
本発明の一形態に係るコンピュータプログラムは、取得した画像に基づいて、卵が死卵又は無精卵であるか否か、卵の気室の位置、又は卵の発育状態を、他の学習済モデルを用いて判定し、取得した画像に基づいて、気室の大きさ、気室の傾き、又は卵の向きを、予め定められたルールに従って判定する処理をコンピュータに実行させることを特徴とする。
【0008】
本発明の一形態に係るコンピュータプログラムは、取得した画像に基づいて、卵が死卵又は無精卵であるか否かを判定し、卵が死卵又は無精卵ではない場合に、前記学習済モデルを用いて、気室の形状が正常であるか否かを判定し、取得した画像に基づいて、卵の発育状態を判定し、気室の形状及び卵の発育状態が正常であると判定した場合に、卵が正常卵であると判定する処理をコンピュータに実行させることを特徴とする。
【0009】
本発明の一形態に係る卵判定方法は、卵を撮影した画像を取得し、取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、取得した形状情報に基づいて、気室の形状が正常であるか否かを判定することを特徴とする。
【0010】
本発明の一形態に係る学習済モデル生成方法は、卵を撮影した画像から生成した、卵に含まれる気室と他の領域との境界線を示す境界線画像、及び気室の形状が正常であるか否かを示す形状情報を含んだ訓練データを取得し、前記訓練データを用いた学習により、境界線画像を入力した場合に形状情報を出力する学習済モデルを生成することを特徴とする。
【0011】
本発明の一形態に係る卵判定装置は、演算部を備え、前記演算部は、卵を撮影した画像を取得し、取得した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルへ、生成した境界線画像を入力し、前記学習済モデルが出力する形状情報を取得し、取得した形状情報に基づいて、気室の形状が正常であるか否かを判定することを特徴とする。
【0012】
本発明の一形態においては、卵を撮影した画像から、卵に含まれる気室と他の領域との境界線を示す境界線画像を生成し、境界線画像を入力した場合に気室の形状が正常であるか否かを示す形状情報を出力する学習済モデルを用いて、卵の気室の形状を判定する。境界線の形状に応じて、高い精度で卵の気室の形状が正常であるか又は異常であるかを判定することが可能となる。
【0013】
本発明の一形態においては、複数の方向から卵を撮影した画像が取得され、各画像に基づいて形状情報が取得され、気室の形状が異常であることを他よりも強く示している単一の形状情報に基づいて、気室の形状が判定される。気室の形状は、方向によって異なることがある。ある方向で気室の形状が異常であれば、他の方向で気室の形状が正常であっても、全体として気室の形状は異常であるとみなされる。気室の形状が異常であることを他よりも強く示している形状情報に基づいて気室の形状が正常であれば、全ての方向で気室の形状は正常であり、気室の形状は正常であるとみなすことができる。このため、卵の気室の形状が正常であるか又は異常であるかを正確に判定することができる。
【0014】
本発明の一形態においては、卵が死卵又は無精卵であるか否かの判定と、卵の気室の位置の判定と、孵化途中での発育状態の判定とを、他の学習済モデルを用いて行う。また、卵画像に基づいて、気室の大きさ、気室の傾き、又は卵の向きを、予め定められたルールに従って判定する。判定内容に応じた適切な方法で卵の状態が判定される。
【0015】
本発明の一形態においては、卵を撮影した画像に基づいて、卵が死卵又は無精卵ではないと判定された場合に、卵の気室の形状が判定され、卵の発育状態が判定される。気室の形状及び卵の発育状態が正常である場合に、卵が正常卵であると判定される。適切な順番で卵の状態が判定され、卵が正常卵であるか否かが高い精度で判定される。
【発明の効果】
【0016】
本発明にあっては、卵の気室の形状が正常であるか否かを高い精度で判定することが可能となる等、優れた効果を奏する。
【図面の簡単な説明】
【0017】
【
図2】卵の状態を判定するための卵判定システムの構成例を示すブロック図である。
【
図3】卵撮影装置の構成例を示す模式的平面図である。
【
図6】発光パターンの例を示す模式的平面図である。
【
図7】卵判定装置の内部の構成例を示すブロック図である。
【
図8】第1学習済モデル、第2学習済モデル、第3学習済モデル及び第4学習済モデルの機能を示す概念図である。
【
図10】学習装置の内部の機能構成例を示すブロック図である。
【
図11】学習装置が実行する処理の手順の例を示すフローチャートである。
【
図12】卵判定装置が実行する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
本実施形態では、卵は鶏卵等の家禽の卵である。
図1は、卵の模式的断面図である。
図1には、鋭端を下側にした卵1の断面を示す。卵1では、卵殻11の内側に卵殻膜12が存在し、卵殻膜12の内側に、卵黄、卵白及び胚等を含む内容物13が存在する。また、卵殻11の内側には、空気の層である気室14が存在する。卵殻膜12は内膜及び外膜からなり、気室14は内膜と外膜との間に存在する。気室14は、卵1の鈍端付近に位置する。
【0019】
本実施形態では、卵1が正常卵であるか又は異常卵であるかを判定する。正常卵は、有精卵であり、孵化に向けて適切に発育している孵化途中卵である。異常卵には、未授精になっている無精卵、及び発育が行われておらず既に死亡している死卵が含まれる。異常卵には、気室14の大きさが過大になっている卵、気室14の形状が異常である卵、及び気室14の位置が異常である卵が含まれる。気室14の形状が異常な状態には、内容物13が存在する領域と気室14との境界がくぼんでいる状態が含まれる。気室14の位置が異常である状態には、気室14が卵1の鈍端ではなく側面に位置している状態、及び気室14が卵1内で傾斜して配置されている状態が含まれる。また、異常卵には、卵1が倒立している状態が含まれる。
【0020】
図2は、卵の状態を判定するための卵判定システムの構成例を示すブロック図である。卵判定システム20は、卵を撮影した卵画像を作成する卵撮影装置2と、卵画像に基づいて卵の状態を判定する卵判定装置3とを含んでいる。卵撮影装置2は、卵に光を当て、卵を透過した光を用いて卵を撮影する。卵を透過した光が用いられるので、卵画像は、卵の内部の構造を反映した画像となる。卵判定装置3は、卵撮影装置2に接続されている。卵判定装置3は、卵判定方法を実行する。
【0021】
図3は、卵撮影装置2の構成例を示す模式的平面図である。卵撮影装置2は、複数の卵1を搬送する搬送路21を備えている。搬送方向は矢印で示されている。例えば、搬送路21はローラコンベアである。搬送路21は、複数列に配置された複数の卵1を保持する卵トレイ211が載置され、卵トレイ211を搬送することによって、複数の卵1を搬送する。搬送路21は、複数の卵トレイ211を順次搬送する。卵トレイ211は、複数の卵1が載置され、各卵1を保持する。
図3に示す例では、卵トレイ211は、六列の卵1を保持し、各列で六個の卵1を保持する。
【0022】
本実施形態の卵撮影装置2では、
図3に示すように、搬送路21において搬送方向に沿って複数の撮影エリアA1~A3が設定されている。
図3では、3つの撮影エリアA1~A3である第1の撮影エリアA1、第2の撮影エリアA2及び第3の撮影エリアA3が設定された例を示している。各撮影エリアA1~A3には、遮光板22が配置されている。遮光板22は、撮影エリアA1~A3の夫々を、1列目~3列目に含まれる卵1が位置する手前側と、4列目~6列目に含まれる卵1が位置する奥側とに分割する。
【0023】
ここで、各撮影エリアA1~A3において、搬送される卵トレイ211上の卵1は、遮光板22により、手前側の1列目~3列目の卵1と、奥側の4列目~6列目の卵1とに分けられる。つまり、卵トレイ211上の1列目~3列目の卵1は、各撮影エリアA1~A3において遮光板22の手前側で搬送され、卵トレイ211上の4列目~6列目の卵1は、各撮影エリアA1~A3において遮光板22の奥側で搬送される。
【0024】
卵撮影装置2は、卵1を撮影する複数の撮影部23と、卵撮影装置2の各部の動作を制御する制御部25とを備えている。撮影部23は、CCD(Charge Coupled Device )センサ又はCMOS(Complementary Metal-Oxide Semiconductor )センサ等の撮像素子を有し、卵1をカラー撮影したカラー画像を生成するカメラである。撮影部23は、各撮影エリアA1~A3の手前側及び奥側の夫々に配置されている。
【0025】
制御部25は、プロセッサ、内部メモリ、入出力インタフェース、AD(Analog-to-Digital)変換器等を有するコンピュータにより構成されている。制御部25は、内部メモリに格納されたコンピュータプログラムに基づいて、プロセッサ及び周辺機器が協働することにより、卵撮影装置2の各部の動作を制御する。制御部25は、物理的に1つのコンピュータにより構成されてもよく、物理的に分離した複数のコンピュータにより構成されてもよい。
【0026】
図4及び
図5は、卵撮影装置2の構成例を示す模式図である。
図4は、卵撮影装置2を搬送方向から見た図であり、
図5は、卵撮影装置2を搬送方向に直交する方向から見た図である。卵撮影装置2は、各撮影エリアA1~A3において、所定の列に配置された複数の卵1を持ち上げるリフト部26と、リフト部26により持ち上げられた複数の卵1に光を照射する複数の光源27とを備えている。光源27は、白色光を発光する。例えば、光源27は、LED(Light Emitting Diode)を用いて構成されている。
【0027】
リフト部26は、各撮影エリアA1~A3において遮光板22に対して手前側及び奥側の夫々に設けられている。リフト部26は、複数の撮影エリアA1~A3において互いに異なる列に配置された複数の卵1を持ち上げるように構成されている。具体的には、第1の撮影エリアA1の2つのリフト部26は、卵トレイ211上の3列目及び6列目に配置された複数の卵1を持ち上げる構成になっている。第2の撮影エリアA2の2つのリフト部26は、卵トレイ211上の2列目及び5列目に配置された複数の卵1を持ち上げる構成になっている。第3の撮影エリアA3の2つのリフト部26は、卵トレイ211上の1列目及び4列目に配置された複数の卵1を持ち上げる構成になっている。
【0028】
また、リフト部26は、搬送路21の下方に設けられており、搬送路21上の卵トレイ211に対して昇降移動可能に設けられている。リフト部26は、搬送路21において卵トレイ211が各撮影エリアA1~A3で停止した状態で、卵トレイ211の下方から上方に向かって移動し、卵トレイ211上の所定の列に配置された複数の卵1の下部に接触し、接触した複数の卵1を持ち上げる。具体的には、リフト部26は、複数の卵1夫々に対応して設けられた支持部261と、支持部261が設けられた連結部材262と、連結部材262を昇降移動させるアクチュエータ263とを備えている。アクチュエータ263は、例えば、エアシリンダである。アクチュエータ263は、制御部25により制御され、複数の支持部261を卵トレイ211に対して昇降移動させる。
【0029】
複数の光源27は、一列に配置された複数の卵1に対応して設けられ、複数の卵1の内部に対して光を照射するものである。本実施形態では、光源27は、一列に配置された複数の卵1の夫々に対して上下から光を照射する構成になっている。即ち、一つの卵1に対して上下二つの光源27が設けられている。
【0030】
複数の光源27は、リフト部26により持ち上げられた複数の卵1に対して上方から光を照射する複数の上部光源271と、リフト部26により持ち上げられた複数の卵1に対して下方から光を照射する複数の下部光源272とを有している。上部光源271及び下部光源272は、各撮影エリアA1~A3において、リフト部26に対応して設けられている。複数の上部光源271及び複数の下部光源272は、後述するように、制御部25により制御され、互いに同期して発光パターン(点灯及び消灯)が制御される。
【0031】
複数の上部光源271は、リフト部26により持ち上げられる複数の卵1の上方に設けられている。ここで、各上部光源271には、リフト部26により持ち上げられた卵1の上端部を取り囲むように接触するキャップ部273が設けられている。このキャップ部273は、卵1の形状のばらつきを吸収するために弾性変形可能な材質により構成されている。各上部光源271は、キャップ部273を介して卵1の内部に上方から光を照射する。さらに、各上部光源271は、昇降ガイド部24により卵1のサイズに合わせて昇降移動可能に設けられている。
【0032】
複数の下部光源272は、リフト部26における複数の支持部261の内部に設けられている。支持部261は、卵1の下端部に接触する円環状の接触部264を有している。各下部光源272は、支持部261の接触部264を介して卵1の内部に下方から光を照射する。
図4及び
図5では、上部光源271及び下部光源272から卵1へ照射する光を矢印で示している。
【0033】
リフト部26は、複数の卵1を持ち上げて、それら複数の卵1が支持部261及びキャップ部273により挟まれた状態で、卵1を所定角度ずつ回転することが可能に構成されている。具体的には、リフト部26は、卵1を90度ずつ(0度→90度→180度→270度)回転することができるように構成されている。
【0034】
連結部材262に対して各支持部261が回転可能に設けられており、各支持部261が歯付きベルト等を用いた回転伝達部265で連結されている。回転伝達部265をモータ等のアクチュエータ266で駆動することにより、一列に配置された複数の支持部261が同期して90度ずつ回転する。アクチュエータ266は、制御部25により制御されて、複数の支持部261を回転させる。撮影部23は、リフト部26によって持ち上げられた複数の卵1を撮影する。
【0035】
撮影部23は、
図3及び
図4に示すように、各撮影エリアA1~A3において遮光板22に対して手前側及び奥側の夫々に設けられ、遮光板22を背景として複数の卵1を撮影できるように配置されている。例えば、第1の撮影エリアA1の手前側では、撮影部23は、遮光板22を背景として3列目の複数の卵1を撮影し、第1の撮影エリアA1の奥側では、撮影部23は、遮光板22を背景として6列目の複数の卵1を撮影する。第2の撮影エリアA2の手前側では、撮影部23は2列目の複数の卵1を撮影し、第2の撮影エリアA2の奥側では、撮影部23は5列目の複数の卵1を撮影する。第3の撮影エリアA3の手前側では、撮影部23は1列目の複数の卵1を撮影し、第3の撮影エリアA3の奥側では、撮影部23は4列目の複数の卵1を撮影する。撮影部23は、制御部25により制御されて、複数の卵1を撮影する。撮影部23が撮影した画像は、卵判定装置3へ入力される。
【0036】
制御部25は、搬送路21の稼動及び停止、リフト部26の昇降移動及び回転移動、複数の光源27の点灯及び消灯、並びに撮影部23による撮影の制御を行う。制御部25は、複数の光源27を制御して、互いに隣り合う2つの光源27の両方が同時に発光しない複数の発光パターンを切り替えながら、各光源27を発光させる。
【0037】
図6は、発光パターンの例を示す模式的平面図である。
図6では、リフト部26によって持ち上げられる卵1の列212を破線で囲んで示す。また、列212に含まれる複数の卵1の中で光源27から光を照射される卵1を太線で示す。制御部25は、
図6に示す第1発光パターンと第2発光パターンとを交互に切り替えながら、各光源27を発光させる。
【0038】
第1発光パターンでは、手前側に一列に配置された複数の光源27の内、搬送方向に沿った上流から偶数番目の光源27を発光させ、奥側に一列に配置された複数の光源27の内、搬送方向に沿った上流から奇数番目の光源27を発光させる。第2発光パターンでは、手前側に一列に配置された複数の光源27の内、搬送方向に沿った上流から奇数番目の光源27を発光させ、奥側に一列に配置された複数の光源27の内、搬送方向に沿った上流から偶数番目の光源27を発光させる。
【0039】
制御部25は、撮影部23を制御して、複数の発光パターン夫々において、複数の卵1を撮影する。第1発光パターンにおいて撮影された画像と、第2発光パターンにおいて撮影された画像とが取得されることによって、列212に含まれる複数の卵1の全てを撮影した画像が取得される。
【0040】
卵撮影装置2の動作を説明する。制御部25は、搬送路21を制御して、複数の卵トレイ211を各撮影エリアA1~A3に搬送して停止させる。卵撮影装置2は、各撮影エリアA1~A3に設けられた2つのリフト部26により、所定の列212に配置された複数の卵1を持ち上げる。第1の撮影エリアA1では、6列目の複数の卵1と、3列目の複数の卵1とが持ち上げられ、第2の撮影エリアA2では、5列目の複数の卵1と、2列目の複数の卵1とが持ち上げられ、第3の撮影エリアA3では、4列目の複数の卵1と、1列目の複数の卵1とが持ち上げられる。
【0041】
制御部25は、第1発光パターンで光源27を発光させる。手前側では、上流から偶数番目の卵1に光が照射され、奥側では、上流から奇数番目の卵1に光が照射される。各卵1に光が照射された状態で、撮影部23は、複数の卵1を撮影する。制御部25は、次に、第2発光パターンで光源27を発光させる。手前側では、上流から奇数番目の卵1に光が照射され、奥側では、上流から偶数番目の卵1に光が照射される。各卵1に光が照射された状態で、撮影部23は、複数の卵1を撮影する。このようにして、回転角度0度の状態(搬送された状態のまま)における各発光パターンの画像(0度画像)が撮影される。
【0042】
制御部25は、リフト部26の支持部261を90度ずつ回転させること毎に、複数の光源27を第1発光パターン及び第2発光パターンで発光させ、撮影部23は、各発光パターンにおいて複数の卵1を撮影する。これにより、90度回転させた状態における各発光パターンの画像(90度画像)、180度回転させた状態における各発光パターンの画像(180度画像)、及び270度回転させた状態における各発光パターンの画像(270度画像)が撮影される。
【0043】
制御部25は、撮影部23が4種類の角度(4方向)における各発光パターンの画像を撮影した後に、リフト部26を下降させて、持ち上げていた複数の卵1を卵トレイ211に戻す。また、制御部25は、4種類の角度(4方向)における各発光パターンの画像を、卵判定装置3へ送信する。制御部25が卵判定装置3へ送信する画像はカラー画像である。
【0044】
各撮影エリアA1~A3における以上の動作が終了した後、制御部25は、搬送路21を制御して、卵トレイ211を次の撮影エリアA1~A3に搬送して停止させる。第3の撮影エリアA3での検査が終了した卵トレイ211は、第3の撮影エリアA3の下流側に搬出される。卵トレイ211が各撮影エリアA1~A3に停止した後は、前述したように、リフト部26が所定の列212に配置された複数の卵1を持ち上げ、撮影部23が4種類の角度における各発光パターンの画像を撮影する。
【0045】
卵撮影装置2が以上の一連の動作を行うことにより、卵トレイ211上の異なる列に配置された複数の卵1が順次撮影され、卵トレイ211に収容された全ての卵1が撮影される。また、卵撮影装置2は、搬送路21に複数の卵トレイ211を順次送り出すことによって、複数の卵トレイ211における各列に配置された複数の卵1を順次撮影することができる。
【0046】
本実施形態では、互いに隣り合う2つの光源27の両方が同時に発光しない発光パターンにおいて複数の卵1が撮影されるので、卵1を撮影した画像には、隣接する卵1からの光が入り込み難くなる。このため、卵1を撮影した画像は、隣接する卵1からの光に影響され難くなる。よって、卵判定装置3は、卵1を撮影した画像に基づいて精度良く卵1の状態を判定することができる。
【0047】
なお、光源27は、上部光源271又は下部光源272の何れか一方のみを有し、卵1に対して上又は下の何れか一方のみから光を照射する形態であってもよい。卵撮影装置2は、各エリアA1~A3にリフト部26を複数設け、卵トレイ211における異なる列に配置された卵1をリフト部26で順次持ち上げることができる形態であってもよい。各エリアA1~A3は、手前側と奥側との二つの領域に分割されるのではなく、単一の領域で構成された形態であってもよい。
【0048】
本実施形態では、各撮影エリアA1~A3での発光パターン及び発光パターンの順番が同一である例を示したが、撮影エリアによって発光パターンが互いに異なっていてもよく、発光パターンの順番が互いに異なっていてもよい。本実施形態では、リフト部26が卵トレイ211に対して昇降移動することで卵1を持ち上げる例を示したが、卵撮影装置2は、卵トレイ211がリフト部26に対して昇降移動することによって卵1を持ち上げる形態であってもよい。
【0049】
本実施形態では、複数の光源27が1つ飛ばしで発光する2つの発光パターンを切り替える例を示したが、卵撮影装置2は、互いに隣り合う2つの光源27が同時に発光しない複数の発光パターンを切り替える形態であればよい。例えば、卵撮影装置2は、複数の光源27が2つ飛ばしで発光する3つの発光パターンを切り替える形態であってもよい。
【0050】
本実施形態では、卵トレイ211から所定の一列に配置された複数の卵1を持ち上げ、持ち上げた複数の卵1を撮影する例を示したが、卵撮影装置2は、一列に配置された複数の卵1を持ち上げること無く検査する形態であってもよい。例えば、卵撮影装置2は、予め複数の卵Eを一列に配置した状態とし、その一列に配置された複数の卵1を撮影する形態であってもよ。例えば、卵撮影装置2は、予め複数の卵1を一列に配置した状態で搬送路21に卵1を搬送させ、所定の撮影エリアで卵1を停止させつつ卵1を撮影する形態であってもよい。
【0051】
図7は、卵判定装置3の内部の構成例を示すブロック図である。卵判定装置3は、パーソナルコンピュータ又はサーバ装置等のコンピュータを用いて構成されている。卵判定装置3は、演算部31と、メモリ32と、記憶部33と、読取部34と、操作部35と、表示部36と、入力部37とを備えている。演算部31は、例えばCPU(Central Processing Unit )、GPU(Graphics Processing Unit)、又はマルチコアCPUを用いて構成されている。演算部31は、量子コンピュータを用いて構成されていてもよい。メモリ32は、演算に伴って発生する一時的なデータを記憶する。メモリ32は、例えばRAM(Random Access Memory)である。記憶部33は、不揮発性であり、例えばハードディスク又は不揮発性半導体メモリである。読取部34は、光ディスク又は可搬型メモリ等の記録媒体30から情報を読み取る。
【0052】
操作部35は、使用者からの操作を受け付けることにより、テキスト等の情報の入力を受け付ける。操作部35は、例えばキーボード、ポインティングデバイス又はタッチパネルである。表示部36は、画像を表示する。表示部36は、例えば液晶ディスプレイ又はELディスプレイ(Electroluminescent Display)である。操作部35及び表示部36は、一体になっていてもよい。入力部37は、外部からのデータの入力を受け付ける。入力部37は、例えば入力インタフェース又は通信部である。入力部37は、卵撮影装置2に接続されており、卵1を撮影した画像を卵撮影装置2から入力される。
【0053】
演算部31は、記録媒体30に記録されたコンピュータプログラム331を読取部34に読み取らせ、読み取ったコンピュータプログラム331を記憶部33に記憶させる。演算部31は、コンピュータプログラム331に従って、卵判定装置3の機能を実現するための処理を実行する。コンピュータプログラム331は、予め記憶部33に記憶されているか、又は卵判定装置3の外部からダウンロードされてもよい。この場合は、卵判定装置3は読取部34を備えていなくてもよい。
【0054】
コンピュータプログラム331は、単一のコンピュータ上で、又は一つのサイトにおいて配置されるか、若しくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。即ち、卵判定装置3は、複数のコンピュータで構成されてもよく、コンピュータプログラム331は、通信ネットワークを介して接続された複数のコンピュータ上で実行されてもよい。卵判定装置3は、クラウドサーバを用いて構成されていてもよい。
【0055】
卵判定装置3は、卵1の状態を判定するために用いられる第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335を備えている。第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335は、コンピュータプログラム331に従って演算部31が処理を実行することにより実現される。記憶部33は、各学習済モデルを実現するために必要なデータを記憶している。例えば、第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335は、ニューラルネットワークを用いて実現される。より詳しくは、第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335は、CNN(Convolutional Neural Network)を用いて実現される。CNNとして、例えば、AlexNetモデルが用いられる。ResNet(Residual Network)等のAlexNetモデル以外のニューラルネットワークが用いられてもよい。各学習済モデルは、サポートベクターマシン等、ニューラルネットワーク以外のモデルを用いて実現されてもよい。
【0056】
第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335は、ハードウェアを用いて構成されていてもよい。例えば、夫々の学習済モデルは、プロセッサと、必要なプログラムおよびデータを記憶するメモリとを含んだハードウェアにより構成されていてもよい。又は、第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335は、量子コンピュータを用いて実現されてもよい。或いは、第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335は卵判定装置3の外部に設けられており、卵判定装置3は、外部の各学習済モデルを利用して処理を実行する形態であってもよい。例えば、各学習済モデルはクラウドを利用して実現されてもよい。
【0057】
図8は、第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335の機能を示す概念図である。第1学習済モデル332は、入力チャンネル数が三であり、卵1を撮影したカラー画像のR(赤)成分からなるR画像、G(緑)成分からなるG画像、及びB(青)成分からなるB画像が入力される。第1学習済モデル332は、R画像、G画像及びB画像が入力された場合に卵1が死卵である確信度を示す死卵情報、及び卵1が無精卵である確信度を示す無精卵情報を出力するように、予め学習されている。死卵情報は、値が大きいほど、卵1が死卵である確信度が高いことを示し、無精卵情報は、値が大きいほど、卵1が無精卵である確信度が高いことを示す。
【0058】
死卵及び無精卵は、内部の構造が孵化途中卵とは異なるので、卵1を撮影した画像は、卵1が死卵又は無精卵であるか否かに応じて変化する。このため、卵1を撮影した画像に応じて死卵情報及び無精卵情報を出力する第1学習済モデル332を生成することが可能である。
【0059】
第2学習済モデル333は、入力チャンネル数が三である。第2学習済モデル333は、卵1を撮影した画像のR画像、G画像及びB画像が入力された場合に卵1の気室の位置が異常であって気室が卵1の側面に位置していることの確信度を示す位置情報を出力するように、予め学習されている。位置情報は、値が大きいほど、気室が卵1の側面に位置していることの確信度が高いことを示す。気室が側面に位置している卵は、気室が正常な位置にある卵に比べて、内部の構造が異なるので、卵1を撮影した画像は、気室が卵1の側面に位置しているか否かに応じて変化する。このため、卵1を撮影した画像に応じて位置情報を出力する第2学習済モデル333を生成することが可能である。
【0060】
第3学習済モデル334は、入力チャンネル数が一つであり、卵1内の気室と他の領域との境界線を示すモノクロの境界線画像が入力された場合に卵1の気室の形状が異常である確信度を示す形状情報を出力するように、予め学習されている。卵1内の気室と他の領域との境界線が略直線状ではなく大きくくぼんだ形状になっている場合に、気室の形状は異常であるとされる。形状情報は、気室の形状が異常であることの確信度を示す値からなり、値が大きいほど、気室の形状が異常である確信度が高いことを示す。気室の形状が異常な卵では、境界線の形状が正常な卵に比べて変化するので、境界線画像は、気室の形状が異常であるか否かに応じて変化する。このため、境界線画像に応じて形状情報を出力する第3学習済モデル334を生成することが可能である。
【0061】
孵化途中での発育状態が異常である場合、
図1に示すような卵1の内容物13が、正常な卵に比べて変形し、内容物13の変形に応じて気室14の形状も変形することがある。このとき、気室14と内容物13との境界線も変形する。気室は空洞であるので、卵画像内で気室の領域は他の領域とは明確に色が異なる。例えば、気室の領域は白色の領域となる。このため、卵画像から気室と他の領域との境界線を抽出することが可能である。
【0062】
図9は、境界線画像の例を示す模式図である。
図9には、正常な卵1から得られた境界線画像と、異常な卵1から得られた境界線画像とを示している。
図9に示すように、正常な卵1では、境界線は略直線状であるのに対し、異常な卵1では、境界線は大きくくぼんだ形状になることがある。境界線の形状が異常である場合は、気室の形状が異常であり、卵1の発育状態が異常である可能性がある。このため、境界線画像に基づいて気室の形状を判定し、気室の形状が異常である場合に卵1が異常卵であると判定することにより、発育状態が異常である可能性のある卵1を排除することができる。
【0063】
第4学習済モデル335は、入力チャンネル数が三であり、卵1を撮影した画像のG画像が夫々の入力チャンネルへ入力された場合に孵化途中卵の発育状態を示す発育情報を出力するように、予め学習されている。発育情報は、孵化途中卵の発育状態が異常であることの確信度を示す値からなり、値が大きいほど、孵化途中卵の発育状態が異常であることの確信度が高いことを示す。
【0064】
発育状態が異常な卵では、卵の内部の構造が正常な卵とは異なるので、卵1を撮影した画像は、発育状態に応じて異なる。例えば、卵1の内部に発生する血管が発達している程度が、発育状態に応じて異なり、卵1を撮影した画像に含まれる血管の状態が発育状態に応じて異なる。特に、画像に含まれる血管の部分には、R成分、G成分及びB成分の内でG成分が多く含まれており、G画像は、卵1内の血管の状態、即ち卵1の発育状態の変化に応じて、大きく変化する。このため、卵1を撮影した画像のG画像に応じて発育情報を出力する第4学習済モデル335を生成することが可能である。
【0065】
第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335の学習は、学習装置4によって行われる。
図10は、学習装置4の内部の機能構成例を示すブロック図である。学習装置4は、サーバ装置又はパーソナルコンピュータ等のコンピュータである。学習装置4は、演算部41と、メモリ42と、記憶部43と、読取部44と、操作部45と、表示部46とを備えている。演算部41は、例えばCPU、GPU、又はマルチコアCPUを用いて構成されている。演算部41は、量子コンピュータを用いて構成されていてもよい。メモリ42は、演算に伴って発生する一時的なデータを記憶する。メモリ42は、例えば、RAMである。読取部44は、光ディスク又は可搬型メモリ等の記録媒体40から情報を読み取る。記憶部43は、不揮発性であり、例えば、ハードディスク又は不揮発性半導体メモリである。
【0066】
操作部45は、使用者からの操作を受け付けることにより情報の入力を受け付ける。操作部45は、例えばキーボード、ポインティングデバイス又はタッチパネルである。表示部46は、画像を表示する。表示部46は、例えば液晶ディスプレイ又はELディスプレイである。
【0067】
コンピュータプログラム431は、単一のコンピュータ上で、又は一つのサイトにおいて配置されるか、若しくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。即ち、学習装置4は、複数のコンピュータで構成されてもよく、コンピュータプログラム431は、通信ネットワークを介して接続された複数のコンピュータ上で実行されてもよい。学習装置4は、クラウドサーバを用いて構成されていてもよい。
【0068】
学習装置4は、学習済モデル生成方法を実行する。即ち、学習装置4は、機械学習を行うことにより、第1学習済モデル332、第2学習済モデル333、第3学習済モデル334及び第4学習済モデル335を生成する。以下に、学習装置4が第3学習済モデル334を生成する処理を説明する。
【0069】
学習装置4は、第3学習済モデル334の素となる学習モデル432を備えている。学習装置4は、学習モデル432を学習させて第3学習済モデル334を生成する。学習モデル432は、コンピュータプログラム331に従って演算部31が処理を実行することにより実現される。学習モデル432は、ニューラルネットワークを用いて実現され、より詳しくは、CNNを用いて実現されており、例えば、CNNとしてAlexNetモデルが用いられる。学習モデル432の入力チャンネル数は一つである。学習モデル432は、ハードウェアを用いて構成されていてもよい。
【0070】
記憶部43は、学習モデル432を学習させて第3学習済モデル334を生成するための訓練データ433を記憶する。訓練データ433には、卵1内の気室と他の領域との境界線を示すモノクロの境界線画像と、卵1の気室の形状が正常であるか異常であるかを示した情報とを関連付けたデータセットが記録されている。境界線画像は、卵を透過した光を用いて卵を撮影した画像から気室と他の領域との境界線を抽出したモノクロの画像である。例えば、卵を撮影した画像からB画像を生成し、B画像の画面を二値化することによりモノクロ画像を生成し、モノクロ画像内でエッジ検出を行うことにより境界線を検出し、検出した境界線を示したモノクロの境界線画像を生成する。例えば、卵撮影装置2により生成された画像から生成された境界線画像が訓練データ433に記録されている。気室の形状が正常であるか異常であるかは、予め決定されている。例えば、境界線画像を確認した人が、気室の形状が正常であるか又は異常であるかを決定し、気室の形状が正常であるか異常であるかを示した情報が生成される。訓練データ433には複数のデータセットが記録されている。
【0071】
図11は、学習装置4が実行する処理の手順の例を示すフローチャートである。以下、ステップをSと略す。演算部41がコンピュータプログラム431に従って情報処理を実行することにより、学習装置4は以下の処理を実行する。演算部41が記憶部43に記憶している訓練データ433を読み出すことにより、学習装置4は、訓練データ433を取得する(S11)。S11において、学習装置4は、訓練データ433を外部から入力されることにより、訓練データ433を取得してもよい。
【0072】
学習装置4は、次に、訓練データ433を用いて学習モデル432を学習させることにより、第3学習済モデル334を生成する(S12)。S12では、演算部41は、第3学習済モデル334の基となる学習モデル432へ、訓練データ433に記録されている境界線画像を入力する。学習モデル432は、境界線画像の入力に応じて、演算を行い、形状情報を出力する。形状情報は、値が大きいほど、気室の形状が異常であることの確信度が高いことを示す。
【0073】
演算部41は、学習モデル432が出力した形状情報と、入力された境界線画像に関連付けられた、気室の形状が正常であるか異常であるかを示した情報との誤差が小さくなるように、学習モデル432の演算のパラメータを調整する。即ち、演算部41は、入力された境界線画像に関連付けられた情報が気室の形状が正常であることを示している場合は形状情報の値が小さくなり、入力された境界線画像に関連付けられた情報が気室の形状が異常であることを示している場合は形状情報の値が大きくなるように、パラメータを調整する。例えば、演算部41は、誤差逆伝播法によりパラメータを調整する。
【0074】
演算部41は、訓練データ433に記録された複数のデータセットを用いて処理を繰り返して、学習モデル432のパラメータを調整することにより、学習モデル432の機械学習を行う。このように学習モデル432の演算のパラメータを調整することによって、第3学習済モデル334を生成する。演算部41は、調整された最終的なパラメータを記憶部43に記憶する。S12が終了した後は、学習装置4は、処理を終了する。
【0075】
S11~S12により生成された第3学習済モデル334は、卵判定装置3に備えられている。例えば、S12で調整された最終的なパラメータが、入力部37を通じて卵判定装置3へ入力され、記憶部33に記憶される。記憶されたパラメータを利用した情報処理を演算部31が実行することにより、第3学習済モデル334が実現される。なお、卵判定装置3は、学習装置4の機能を兼ねていてもよい。
【0076】
第1学習済モデル332、第2学習済モデル333及び第4学習済モデル335も、同様に学習装置で生成される。R画像、G画像及びB画像と、卵が死卵又は無精卵であるか否かを示す情報とを関連付けたデータセットが記録された訓練データを用いた学習により、第1学習済モデル332が生成される。R画像、G画像及びB画像と、卵の気室が鈍端ではなく側面に位置しているか否かを示す情報とを関連付けたデータセットが記録された訓練データを用いた学習により、第2学習済モデル333が生成される。G画像と、孵化途中卵の発育状態が正常であるか異常であるかを示した情報とを関連付けたデータセットが記録された訓練データを用いた学習により、第4学習済モデル335が生成される。
【0077】
以下に、卵判定装置3が卵1の状態を判定する処理を説明する。
図12は、卵判定装置3が実行する処理の手順を示すフローチャートである。演算部31がコンピュータプログラム331に従って情報処理を実行することにより、卵判定装置3は以下の処理を実行する。卵判定装置3は、卵1を撮影した卵画像を取得する(S201)。
【0078】
卵撮影装置2の撮影部23が撮影した画像は、卵判定装置3へ入力される。卵判定装置3は、入力された画像を記憶部33に記憶する。撮影部23が撮影した画像には、複数の卵1の画像が含まれる。本実施形態で説明した例では、撮影部23が撮影した画像には、光を照射された三個の卵1の画像と、光を照射されていない三個の卵1の画像とが含まれる。同じ卵1について、光を照射された当該卵1を含む画像と、光を照射されていない当該卵1を含む画像とが存在する。また、同じ卵1について、回転した角度が異なる四つの画像(0度画像、90度画像、180度画像及び270度画像)が存在する。
【0079】
S201では、演算部31は、一つの卵1について、撮影部23が撮影した画像から、光を照射された卵1の画像を抽出する。このとき、演算部31は、回転した角度が異なる四つの画像(0度画像、90度画像、180度画像及び270度画像)を抽出する。このようにして、演算部31は、一つの卵1について、卵1を撮影した四つの卵画像を取得する。卵画像は、カラー画像であり、複数の画素からなり、各画素についてRGBの各成分の画素値を含んでいる。
【0080】
卵判定装置3は、次に、卵1が死卵又は無精卵であるか否かを判定する(S202)。S202では、演算部31は、卵画像を第1学習済モデル332へ入力する。このとき、演算部31は、卵画像のR成分からなるR画像、G成分からなるG画像、及びB成分からなるB画像を生成し、R画像、G画像及びB画像を第1学習済モデル332の三つの入力チャンネルへ入力する。第1学習済モデル332は、卵画像の入力に応じて、演算を行い、卵1が死卵である確信度を示す死卵情報、及び卵1が無精卵である確信度を示す無精卵情報を出力する。演算部31は、第1学習済モデル332が出力した死卵情報及び無精卵情報を取得する。演算部31は、四つの卵画像(0度画像、90度画像、180度画像及び270度画像)を夫々に第1学習済モデル332へ入力し、夫々の卵画像について死卵情報及び無精卵情報を取得する。
【0081】
演算部31は、取得した死卵情報及び無精卵情報に基づいて、卵1が死卵又は無精卵であるか否かを判定する。演算部31は、四つの卵画像について得られた死卵情報及び無精卵情報を総合的に評価して、判定を行う。具体的には、演算部31は、得られた四つの死卵情報の平均値を計算し、死卵情報の平均値が所定の閾値を超過する場合に卵1が死卵であると判定し、死卵情報の平均値が閾値を超過しない場合に卵1は死卵ではないと判定する。また、演算部31は、得られた四つの無精卵情報の平均値を計算し、無精卵情報の平均値が所定の閾値を超過する場合に卵1が無精卵であると判定し、無精卵情報の平均値が所定の閾値を超過しない場合に卵1は無精卵ではないと判定する。
【0082】
死卵を判定するための閾値と無精卵を判定するための閾値は、同一であってもよく、異なっていてもよい。演算部31は、死卵情報の平均値が閾値以上である場合に卵1は死卵であると判定してもよく、無精卵情報の平均値が閾値以上である場合に卵1が無精卵であると判定してもよい。
【0083】
卵1が死卵又は無精卵である場合(S202:YES)、卵判定装置3は、卵1は異常卵であると判定する(S212)。演算部31は、卵1が異常卵であることを報知するための画像を表示部36に表示してもよい。卵1が死卵ではなく無精卵でもない場合は(S202:NO)、卵判定装置3は、卵1の気室の大きさが正常であるか否かを判定する(S203)。S203では、演算部31は、卵画像に基づいて、気室の大きさが正常であるか否かを、予め定められたルールに従って判定する。例えば、演算部31は、二値化処理により卵画像をモノクロ画像へ変換し、モノクロ画像中の白色領域の面積を計算する。白色領域は、気室に対応する。演算部31は、四つの卵画像について白色領域の面積を計算し、計算した四つの面積の最小値を除いた和を計算し、計算した和の値が所定の閾値を超過する場合に、気室の大きさが過大であると判定する。
【0084】
気室の大きさが過大である場合に、演算部31は、卵1の気室の大きさが異常であると判定する。計算した和の値が所定の閾値を超過しない場合に、演算部31は、卵1の気室の大きさが正常であると判定する。演算部31は、計算した和の値が所定の閾値以上である場合に気室の大きさが過大であると判定してもよい。
【0085】
卵1の気室の大きさが異常である場合(S203:NO)、卵判定装置3は、処理をS212へ進める。卵1の気室の大きさが正常である場合は(S203:YES)、卵判定装置3は、卵1の気室の位置が正常であるか否かを判定する(S204)。S204では、演算部31は、卵画像を第2学習済モデル333へ入力する。このとき、演算部31は、卵画像のR画像、G画像及びB画像を生成し、R画像、G画像及びB画像を第2学習済モデル333の三つの入力チャンネルへ入力する。第2学習済モデル333は、卵画像の入力に応じて、演算を行い、気室が卵1の側面に位置していることの確信度を示す位置情報を出力する。演算部31は、第2学習済モデル333が出力した位置情報を取得する。演算部31は、四つの卵画像(0度画像、90度画像、180度画像及び270度画像)を夫々に第2学習済モデル333へ入力し、夫々の卵画像について位置情報を取得する。
【0086】
演算部31は、取得した位置情報に基づいて、卵1の気室の位置が正常であるか否かを判定する。演算部31は、四つの卵画像に応じて得られた四つの位置情報の内の最大値が所定の閾値を超過する場合に、気室が卵1の側面に位置していると判定する。何れかの角度で気室の位置が異常であれば、位置の異常が判定される。四つの位置情報の内の最大値が所定の閾値を超過しない場合に、演算部31は、気室は卵1の側面に位置していないと判定する。
【0087】
気室が卵1の側面に位置している場合に、演算部31は、卵1の気室の位置が異常であると判定する。気室が卵1の側面に位置していない場合に、演算部31は、卵1の気室の位置が正常であると判定する。演算部31は、四つの位置情報の内の最大値が閾値以上である場合に気室が卵1の側面に位置していると判定してもよい。
【0088】
卵1の気室の位置が異常である場合(S204:NO)、卵判定装置3は、処理をS212へ進める。卵1の気室の位置が正常である場合は(S204:YES)、卵判定装置3は、卵1内の気室と他の領域との境界線を示すモノクロの境界線画像を生成する(S205)。
【0089】
S205では、演算部31は、卵画像からB画像を生成し、生成したB画像の画面を二値化することにより、モノクロ画像を生成する。演算部31は、RGBの三つの成分の値の合計値を二値化する等、その他の方法で卵画像からモノクロ画像を生成してもよい。演算部31は、生成したモノクロ画像内でエッジ検出を行うことにより、境界線を検出する。演算部31は、検出した境界線を示したモノクロの境界線画像を生成する。
図1に示すように、卵殻11及び卵殻膜12の内側に存在する内容物13と卵1内の空気の層である気室14との境界線が、境界線画像によって示される。演算部31は、四つの卵画像(0度画像、90度画像、180度画像及び270度画像)の夫々から、境界線画像を生成する。
【0090】
卵判定装置3は、境界線画像を第3学習済モデル334へ入力する(S206)。S206では、生成した境界線画像を第3学習済モデル334へ入力する。第3学習済モデル334は、境界線画像の入力に応じて、演算を行い、卵1の気室の形状が異常である確信度を示す形状情報を出力する。演算部31は、四つの卵画像(0度画像、90度画像、180度画像及び270度画像)に応じた四つの境界線画像の夫々を第3学習済モデル334へ入力し、第3学習済モデル334は四つの境界線画像に応じた四つの形状情報を出力する。
【0091】
卵判定装置3は、次に、形状情報を取得する(S207)。S207では、演算部31は、第3学習済モデル334が出力した形状情報を取得する。このとき、演算部31は、四つの境界線画像に応じた四つの形状情報を取得する。卵判定装置3は、形状情報に基づいて、卵1の気室の形状が正常であるか否かを判定する(S208)。演算部31は、四つの境界線画像に応じて得られた四つの形状情報の内の最大値が所定の閾値を超過する場合に、気室の形状が異常であると判定する。演算部31は、四つの形状情報の内の最大値が所定の閾値を超過しない場合に、気室の形状が正常であると判定する。
【0092】
形状情報が閾値を超過する状態は、卵1内に含まれる気室と他の領域との境界線が略直線状ではなく大きくくぼんだ形状になっている。気室の形状は、卵1を撮影する方向(角度)によって異なることがある。ある方向で気室の形状が異常であれば、他の方向で気室の形状が正常であっても、全体として気室の形状は異常であるとみなされる。四つの形状情報の内で値が最大になっている単一の形状情報は、気室の形状が異常であることを最も強く示している。この形状情報の最大値に基づいて気室の形状が正常であれば、全ての方向で気室の形状は正常であり、気室の形状は正常とみなすことができる。形状情報の最大値に基づいて気室の形状が異常であれば、気室の形状は異常とみなすことができる。四つの形状情報の内の最大値を用いて判定を行うことにより、卵1の気室の形状を正確に判定することができる。なお、演算部31は、四つの形状情報の内の最大値が閾値以上である場合に、卵1の発育状態が異常であると判定してもよい。演算部31は、四つの形状情報の内の最大値に基づいた判定以外の方法を用いて、形状情報に基づいて、卵1の気室の形状が正常であるか否かを判定してもよい。例えば、演算部31は、四つの形状情報の値の平均に応じて、卵1の気室の形状が正常であるか否かを判定してもよい。
【0093】
卵1の気室の形状が異常である場合(S208:NO)、卵判定装置3は、処理をS212へ進める。卵1の気室の形状が正常である場合は(S208:YES)、卵判定装置3は、卵1の気室が傾斜しているか又は卵1が倒立しているか否かを判定する(S209)。S209では、演算部31は、卵画像に基づいて、気室が傾斜しているか否かを予め定められたルールに従って判定する。例えば、演算部31は、二値化処理により卵画像をモノクロ画像へ変換し、卵1の形状を楕円に近似し、モノクロ画像から、水平線又は鉛直線に対する長軸の角度を取得する。演算部31は、モノクロ画像から、卵1内に含まれる気室と他の領域との境界線を抽出し、境界線を直線で近似し、水平線又は鉛直線に対する境界線の角度を取得する。境界線が直線で近似できない卵1はS208で排除されているので、角度の取得が容易である。
【0094】
演算部31は、卵1の長軸に対する境界線の角度を計算する。演算部31は、四つの卵画像について長軸に対する境界線の角度を計算し、計算した四つの角度の最大値が所定の閾値を超過する場合に、卵1の気室が傾斜していると判定する。計算した四つの角度の最大値が閾値を超過しない場合に、演算部31は、卵1の気室は傾斜していないと判定する。演算部31は、計算した四つの角度の最大値が閾値以上である場合に卵1の気室が傾斜していると判定してもよい。このようにして、卵判定装置3は、気室の傾きを判定する。
【0095】
S209では、また、演算部31は、卵1が倒立しているか否かを予め定められたルールに従って判定する。例えば、演算部31は、卵画像の上半分のモノクロ画像を生成し、モノクロ画像中の白色領域の面積を計算する。演算部31は、卵画像の下半分のモノクロ画像を生成し、モノクロ画像中の白色領域の面積を計算する。演算部31は、四つの卵画像について、上半分の白色領域の面積と、下半分の白白領域の面積とを計算し、四つの上半分の白色領域の面積の最小値を除いた和を計算し、四つの下半分の白色領域の面積の最小値を除いた和を計算する。
【0096】
演算部31は、四つの上半分の白色領域の面積の最小値を除いた和が所定の閾値未満であり、四つの下半分の白色領域の面積の最小値を除いた和が所定の閾値を超過する場合に、卵1が倒立していると判定する。四つの上半分の白色領域の面積の最小値を除いた和が閾値未満ではない場合、又は四つの下半分の白色領域の面積の最小値を除いた和が閾値を超過しない場合は、演算部31は、卵1が倒立していないと判定する。二つの閾値は、同一であってもよく、異なっていてもよい。演算部31は、四つの上半分の白色領域の面積の最小値を除いた和が所定の閾値以下であり、四つの下半分の白色領域の面積の最小値を除いた和が所定の閾値以上である場合に、卵1が倒立していると判定してもよい。このようにして、卵判定装置3は、卵1の向きを判定する。
【0097】
卵1の気室が傾斜している場合、又は卵1が倒立している場合は(S209:YES)、卵判定装置3は、処理をS212へ進める。卵1の気室が傾斜しておらず卵1が倒立していない場合は(S209:NO)、卵判定装置3は、卵1の発育状態が正常であるか否かを判定する(S210)。S210では、演算部31は、卵画像のR画像、G画像及びB画像を生成し、同一の三つのG画像を、第4学習済モデル335の三つの入力チャンネルへ入力する。第4学習済モデル335は、三つのG画像の入力に応じて、演算を行い、孵化途中卵の発育状態を示す発育情報を出力する。四つの卵画像(0度画像、90度画像、180度画像及び270度画像)の夫々について、演算部31は、G画像を第4学習済モデル335へ入力し、第4学習済モデル335は発育情報を出力する。
【0098】
演算部31は、第4学習済モデル335が出力した発育情報を取得する。このとき、演算部31は、四つの卵画像に応じて四つの発育情報を取得する。演算部31は、四つの発育情報を正規化し、その値が最も小さい二つの発育情報の和を計算し、計算した和の値が所定の閾値を超過する場合に、卵1の発育状態が異常であると判定する。計算した和の値が閾値以下である場合に、演算部31は、卵1の発育状態が正常であると判定する。
【0099】
孵化途中卵の発育状態は、卵1を撮影する方向(角度)によって異なることがある。ある方向では発育状態が異常であっても、他の方向では発育状態が正常であれば、全体として発育状態は正常である。四つの発育情報の内で値が最も小さい二つの発育情報に基づいて発育状態が正常であれば、発育状態は正常とみなすことができる。これら二つの発育情報に基づいて発育状態が異常であれば、全ての角度で発育状態が異常となり、発育状態は異常とみなすことができる。値が最も小さい二つの発育情報の和を用いて判定を行うことにより、卵1の発育状態を正確に判定することができる。なお、演算部31は、値が最も小さい二つの発育情報の和が閾値以上である場合に、卵1の発育状態が異常であると判定してもよい。
【0100】
卵1の発育状態が異常である場合(S210:NO)、卵判定装置3は、処理をS212へ進める。卵1の発育状態が正常である場合は(S210:YES)、卵判定装置3は、卵1は正常卵であると判定する(S211)。演算部31は、卵1が正常卵であることを報知するための画像を表示部36に表示してもよい。S211又はS212が終了した後は、卵判定装置3は、処理を終了する。
【0101】
S201~S212の処理で行われる種々の判定で用いられる夫々の閾値は、記憶部33に予め記憶されているか、又はコンピュータプログラム331に含まれている。各閾値は、使用者が操作部35を操作することによって入力されてもよい。卵判定装置3は、S201~S212の処理を、卵撮影装置2で撮影した夫々の卵1について実行する。このようにして、夫々の卵1が正常であるか否かが判定される。この後、正常卵と判定された卵1と、異常卵と判定された卵1とは、分離され、別々に取り扱われる。例えば、異常卵と判定された卵1は廃棄され、正常卵と判定された卵1は繁殖又はワクチン生産等に利用される。
【0102】
以上詳述した如く、本実施形態においては、卵判定装置3は、第3学習済モデル334へ、モノクロの境界線画像を入力し、第3学習済モデル334が出力した形状情報に基づいて、卵1の気室の形状を判定する。気室の形状を判定する他の方法として、カラーの卵画像を入力した場合に形状情報を出力する学習済モデルを用いることが考えられる。カラーの卵画像に比べて、境界線画像に含まれている情報には、境界線の形状以外の情報が少ない。境界線画像を入力される第3学習済モデル334を用いた判定では、カラーの卵画像を用いた判定に比べて、境界線の形状以外の情報による影響が少なく、境界線の形状に応じた正確な判定が可能となる。
【0103】
また、モノクロの境界線画像は、カラーの卵画像に比べて境界線の形状が明確になる。このため、境界線画像を入力される第3学習済モデル334を用いた判定では、明確な境界線の形状に応じた判定が可能となる。従って、本実施形態では、高い精度で卵1の気室の形状が正常であるか又は異常であるかを判定することが可能となる。高い精度で卵1の気室の形状を判定することによって、気室の形状が異常であり発育状態が異常である可能性のある卵1を精度良く排除することが可能となる。
【0104】
本実施形態では、卵判定装置3は、卵1が死卵又は無精卵であるか否かの判定を第1学習済モデル332を用いて行い、卵1の気室の位置の判定を第2学習済モデル333を用いて行い、卵1の発育状態の判定を第4学習済モデル335を用いて行う。また、卵判定装置3は、卵画像に基づいて、気室の大きさ、気室の傾き、又は卵1の向きを、ルールに従って判定する。判定内容に応じた適切な方法で卵1の状態が判定され、卵1の状態が高い精度で判定される。
【0105】
本実施形態では、卵判定装置3は、卵1が死卵又は無精卵であるか否かの判定、気室の大きさの判定、気室の位置の判定、気室の形状の判定、気室の傾き又は卵1の向きの判定、卵1の発育状態の判定の順に、判定を行う。卵1が死卵又は無精卵ではない場合にその他の判定が行われる等、適切な順番で卵1の状態が判定され、卵1が正常卵であるか否かが高い精度で判定される。
【0106】
本実施形態においては、卵1を回転させながら4種類の角度における画像を取得する形態を示したが、卵撮影装置2は、4種類未満又は4種類を超過する複数種類の角度における卵1の画像を取得する形態であってもよい。本実施形態においては、卵画像の単一成分画像としてG画像を第4学習済モデル335へ入力する形態を示したが、卵判定装置3は、単一成分画像としてR画像又はB画像を用いる形態であってもよい。即ち、第4学習済モデル335は、同一の三つのR画像又はB画像を入力された場合に発育情報を出力するように予め学習されている形態であってもよい。単一成分画像としてR画像又はB画像を用いる形態であっても、卵1の状態を判定することが可能である。
【0107】
本発明は上述した実施の形態の内容に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。即ち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態も本発明の技術的範囲に含まれる。
【0108】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
【符号の説明】
【0109】
1 卵
2 卵撮影装置
3 卵判定装置
31 演算部
33 記憶部
331 コンピュータプログラム
332 第1学習済モデル
333 第2学習済モデル
334 第3学習済モデル
335 第4学習済モデル
4 学習装置