【解決手段】卵の特徴を表す特徴量を入力する入力層40、中間層50、及び卵が所定の卵分類26に属する可能性を推定結果として出力する出力層60により構成されるニューラルネットワークを用いた推定部6と、出力層60のバイアスBの大きさを前記卵分類26ごとに調整する調整部16とを備える。調整部16は、ユーザに提示される卵分類26ごとのレベル設定用の操作画面を備えたユーザインタフェースに設けられる。
卵の特徴を表す特徴量を入力する入力層、中間層、及び前記卵が所定の卵分類に属する可能性を推定結果として出力する出力層により構成されるニューラルネットワークを用いた推定部と、
前記出力層のバイアスの大きさを前記卵分類ごとに調整する調整部とを備える、卵分類装置。
【背景技術】
【0002】
卵を選別して包装するGPセンター(Grading and Packing Center)では、卵は、集荷され、洗浄された後、容器に収容され、出荷される。その過程において、卵は、重量が計測されるとともに、卵殻上の汚れの有無、卵殻の割れの有無、血卵等の内部異常の有無等が検査され、計量結果や検査結果に基づいて分類される。
【0003】
検査の一例として、複数の波長の透過率を用いて血卵判定を行う検査装置が知られている(下記特許文献1を参照)。詳述すれば、まず、この検査装置は、マルチスペクトルカメラにより得られる各波長の画像の平均透過率を求める。そして、特定波長の平均透過率と基準波長の透過率の比を予め定めた閾値と比較して血卵判定を行う。この場合、閾値の調整、すなわち、GPセンターなど現場での感度調整(判定レベル設定)が可能である。
【0004】
開発環境と現場の動作環境では、原卵の差(例えば、卵黄色の違い)、装置内の部品自体の性能や装置の汚れ・劣化による差(例えば、光源の明るさの違いや受光部の感度の違い)などにより、状況が異なるため、正常卵の誤判定や異常卵の見逃しが発生してしまう。そのため、現場での感度調整の要望は大きい。なお、このような要望は、他の原理を用いる卵の検査装置においても同様に存在する。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について、
図1〜
図3を参照して説明する。本実施形態にかかる卵分類装置10は、卵Eを選別して包装するGPセンターで用いられる。卵分類装置10は、例えば、透過光を用いて、異常卵か否かを分類するための卵検査装置である。卵分類装置10は、例えば、卵Eが血卵、みだれ卵、無黄卵または腐敗卵などの内部異常卵であるか否かを判定する。
【0013】
図1は卵分類装置10のハード構成の一例を示すブロック図である。卵分類装置10は、情報処理を行う分析部1と、搬送される各卵Eに対して光を照射する光照射部2と、卵Eを透過した光を受ける受光部3とを備える。分析部1は、コンピュータを用いて構成されており、記憶部13と、制御部14と、ユーザインタフェース15を備える。記憶部13は、学習済モデル8を格納する。制御部14は、CPU等によって構成され、各種プログラムを実行することで卵分類装置10の動作を制御する。ユーザインタフェース15は、操作画面9を備える。ユーザインタフェース15は、卵分類装置10とは別に構成された外部の表示デバイスに画像を表示する画像信号を送出するものであってもよい。
【0014】
また、卵分類装置10は、調整部16をさらに備える。調整部16は、学習済モデル8を用いて分析する際に、状況に応じてユーザが推定結果を操作するためのもので、ユーザインタフェース15に設けられる。
【0015】
学習装置20のハードウェア構成は、卵分類装置10のハード構成に準ずるが調整部16は備えない。学習装置20のユーザインタフェース15の操作画面9では、卵分類装置10から収集した透過光量データ25に対してラベル付けの作業を行う。学習装置20は、透過光量データ25と卵分類26とが関連付けられたデータを学習用データセット21として格納する。
【0016】
図2に示すように、学習システム30は、卵分類装置10と、学習装置20とを含む。学習システム30が実行する処理は、学習済モデル8を生成する学習工程と、生成された学習済モデル8に基づいて検査対象の卵Eの分類を推定する推定工程とに分けられる。
【0017】
まず、学習装置20は、卵分類装置10から透過光量データ25を取得する。収集された透過光量データ25の各々には、卵分類26がラベル付けされる。ここでいう「卵分類26」とは、卵Eの検査結果を区別するためのカテゴリーを意味する。卵分類26がラベル付けされた透過光量データ25は、学習用データセット21として学習装置20に蓄積される。
【0018】
本実施形態では、卵分類26は、正常卵と、血卵と、みだれ卵と、腐敗卵に分類される。これらの分類は一例であり、学習用データセット21で規定される卵分類26の種類は、1種類であってもよいし、2種類以上であってもよい。卵分類26のラベルは、入力デバイスを用いて手動で入力される。
【0019】
学習装置20は、学習用データセット21を用いて予め定められた学習処理を実行し、透過光量データ25と卵分類26との間の相関関係を学習する。学習処理により、透過光量データ25の入力を受けて卵分類26を出力する学習済モデル8が生成される。卵分類装置10は、生成された学習済モデル8を記憶する。
【0020】
卵分類装置10は、分類対象の卵Eについて透過光量データ4を取得すると、これに基づいて、学習済モデル8を用いて、当該透過光量データ4から分類対象の卵分類26を推定する。
【0021】
学習装置20は、学習工程を実現するための構成として、学習用データセット21と、特徴量抽出部22と、推定部23(学習処理中における人工知能モデル)と、パラメータ更新部24とを含む。
【0022】
特徴量抽出部22は、透過光量データ25から、卵Eの内部の特徴を表す複数の特徴量を抽出する。この特徴量は、卵分類26に相関する指標を意味する。特徴量抽出部22は、後述する特徴量抽出部5に準ずる。
【0023】
推定部23は、特徴量抽出部22から特徴量の入力を受けて、卵Eが予め定められた複数の卵分類26の各々に属する可能性を推定結果として出力する。推定部23は、後述する推定部6に準ずる。
【0024】
パラメータ更新部24は、推定部23から出力される推定結果と、学習用データセット21に含まれるラベルとを比較し、当該推定結果がラベルによって示される正解値に近付くように、推定部23の内部パラメータ(たとえば、重みやバイアスB)を更新する。パラメータの更新は、たとえば、誤差逆伝播法により実現される。
【0025】
卵分類装置10は、推定工程を実現するための構成として、特徴量抽出部5と、推定部6(学習処理が完了した人工知能モデル)と、判定部7を含む。
【0026】
特徴量抽出部5は、検査対象の卵Eの透過光量データ4を取得し、複数の特徴量を抽出する。透過光量データ4は、卵分類装置10の光照射部2が検査対象の卵Eに光を照射し、受光部3が検査対象の卵Eを透過した光を受けることで取得される。
【0027】
推定部6は、特徴量抽出部5によって抽出された複数の特徴量の入力を受けて、検査対象の卵Eが予め定められた複数の卵分類26のそれぞれに属する可能性を推定結果として出力する。推定部6は、入力層40と、中間層50と、出力層60を備えたニューラルネットワークを用いる。なお、ニューラルネットワークとして、畳みこみニューラルネットワーク(CNN)または再帰型ニューラルネットワーク(RNN)を用いてもよい。中間層50は複数層であってもよい。出力層60を構成するユニット数は、卵分類26の種類数に応じて決められるが、一例として、「正常卵」、「血卵」、「みだれ卵」、「腐敗卵」の4種類のいずれかに分類する場合、4つとなる。4つの分類クラスの場合、クラスkである確率の推定値y
kは、次式で計算される。
【数1】
ここで、V、Cは、学習済のパラメータであり、Zは中間層50の出力ベクトルである。記号<A|B>はベクトルAとBの内積である。添え字の1〜4は、それぞれ「正常卵」、「血卵」、「みだれ卵」、「腐敗卵」に対応する。
【0028】
判定部7は、推定部6から出力される推定結果に基づいて、予め定められた複数の卵分類26の中から、検査対象の卵Eが属する卵分類26を特定する。
【0029】
卵分類装置10は、さらに調整部16を含む。調整部16は、出力層60のバイアスBの大きさを卵分類26ごとに調整する。以下、バイアスBの値をαとして、前記(式1)のC
kを以下の(式2)のようにC
k’に置き換えて詳述する。
C
k’=C
k+α (式2)
ここで、αが正ならばy
kの値は大きくなり、他は小さくなる。逆に、αが負ならばy
kは小さくなり、他は大きくなる。具体的には、「正常卵」に対して推定結果が「血卵」と誤判定される正常卵誤判定が増えた場合には、C
1(正常卵)の値を大きくしC
2(血卵)の値を小さくすることで、正常卵誤判定率を下げることができる。すなわち、C
kの値を調整して判定の強弱を変えることができる。C
kの値の調整により、y
kのグラフがシフトするためである。なお、(式2)の代わりに、(式3)のようなαを設定してもよく、その場合には、αが1よりも大ならばy
kの値は大きくなり、αが1よりも小ならばy
kは小さくなる。
C
k’=α・C
k (式3)
【0030】
調整部16は、ユーザに提示される卵分類26ごとのレベル設定用の操作画面9を備えたユーザインタフェース15に設けられる。
図3は、操作画面9の一例である。
図3は、卵殻色と異常の種類別に判定レベルを設定した表であり、卵殻色と異常の種類ごとに判定レベルが個別に設定されている。判定レベルは、異常卵を検出する感度を意味し、たとえば1〜8までの8段階設けられており、レベル8が最も検出感度が高い。判定レベルの大小は、αの値(言い換えれば、(式1)のC
kの値)の大小と紐付けられており、判定レベルを変更することによって、αの値が変更される。
【0031】
以上説明したように、本実施形態の卵分類装置10は、推定部6と、調整部16とを備える。推定部6は、ニューラルネットワークを用いたもので、卵Eの特徴を表す特徴量を入力する入力層40、中間層50、及び卵Eが所定の卵分類26に属する可能性を推定結果として出力する出力層60により構成される。調整部16は、出力層60のバイアスBの大きさを前記卵分類26ごとに調整する。このようなものであるため、一般的な再学習というアプローチではなく、(式1)におけるC
kの値を調整して判定の強弱を変えて、容易に正常卵誤判定率を下げることができる。
【0032】
調整部16は、ユーザに提示される卵分類26ごとのレベル設定用の操作画面9を備えたユーザインタフェース15に設けられる。そのため、推定工程に用いる卵分類装置10の状況に合わせて視覚的に調整できる。特に、卵殻色のカテゴリー別、異常の種類別に判定レベルの調整ができるので、学習済モデル8を基にしつつも、個々のGPセンターの事情に合わせることが可能となる。
【0033】
<実験>
以下、卵分類装置10の一例による卵Eの分類について確認をするための実験を行った。
【0034】
卵殻色が白色の卵Eを65個入手し、偶数番目の卵E(32個)と、奇数番目の卵E(33個)に分けた。偶数番目の卵Eによって学習済モデル8を作成し、その学習済モデル8を使って奇数番目の卵Eを判定する。2層のニューラルネットワークを用いた。入力層40には、特徴量として、受光部3で得られた吸光度スペクトルのうち、514nm〜714nmにおける1波長ごとの吸光度を入力した。中間層50はノードを3つに設定した。出力層60には、正常卵である確率と、血卵である確率と、みだれ卵である確率と、腐敗卵である確率との4つが出力され、出力結果に基づいて分類を行った。
【0035】
学習工程で用いられる光照射部2及び受光部3(以下「基準機」と記す。)と、推定工程で用いられる光照射部2及び受光部3(以下「製品機」と記す。)では、光照射部2の明るさや受光部3の感度の違いがある。また、製品機での光量制御の不具合や、光路上の汚れなど、基準機よりも製品機が正の方向に変化する要因と、負の方向に変化する要因とが存在する。そのため、ここでは、基準機で得られた吸光度と製品機で得られた吸光度との差を、上述した(式2)のαを変化させて実験を行う。
【0036】
図4は、αを正の方向に変化させたとき、具体的には0.05、0.1、0.2、0.3、0.4、0.5にそれぞれ変化させたときの結果である。表中の「機械の判定」は、卵分類装置10の判定部7の判定結果を示す。
図4より、αが0.1より正の方向に変化させたとき、正常卵誤判定が発生する。なお、α=0.1とは、光照射部2から受光部3にいたる光路に付着した汚れによる透過光量の減光率が25%程度に相当する。
【0037】
図5は、αを負の方向に変化させたとき、具体的には-0.1、-0.2、-0.3、-0.4、-0.5にそれぞれ変化させたときの結果である。この場合は、正常卵誤判定は生じなかった。しかし、α=-0.3より負の方向に変化させたとき、異常卵の分類に錯誤が生じた。
【0038】
なお、本発明は上述した実施形態に限られない。
【0039】
卵分類26は、汚れの有無、汚れの種類、汚れの程度、卵殻の破損の有無、破損の程度、孵化途中卵の場合の胚の生死や性別などであってもよい。卵Eの特徴を表す特徴量は、卵Eに打撃を付与することによって発生する音のデータまたは振動データから抽出してもよいし、卵Eを撮影することによって得られる画像データから抽出してもよい。
【0040】
今回開示された実施の形態は例示であってこれに制限されるものではない。本発明は上記で説明した範囲ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲でのすべての変更が含まれることが意図される。