(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023093283
(43)【公開日】2023-07-04
(54)【発明の名称】卵表面の欠陥検出システム
(51)【国際特許分類】
G01N 21/85 20060101AFI20230627BHJP
G06T 7/00 20170101ALI20230627BHJP
【FI】
G01N21/85 Z
G06T7/00 610B
G06T7/00 350B
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2022025147
(22)【出願日】2022-02-21
(31)【優先権主張番号】P 2021208292
(32)【優先日】2021-12-22
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】597017812
【氏名又は名称】株式会社ナベル
(72)【発明者】
【氏名】孟 林
(72)【発明者】
【氏名】南部 隆彦
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA01
2G051AB01
2G051AB07
2G051CA04
2G051CA07
2G051EB05
2G051EC01
5L096BA03
5L096CA02
5L096DA02
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
【課題】エッジ付近の汚れも検出可能なシステムを提供する。
【解決手段】本発明のシステムは、撮像部3と、推定部42と、特定部44とを備える。撮像部3は、搬送部2で搬送される複数の卵Eを一度に撮影する。推定部42は、撮像部3が撮影した画像データを、卵Eの表面の欠陥を教師データとする深層学習を用いて生成した物体検出モデルにより推定する。特定部44は、推定部42における推定結果に基づいて、搬送部2上の複数の卵Eの中から表面に欠陥のある卵Eを特定する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
搬送部で搬送される複数の卵を一度に撮影する撮像部と、
前記撮像部が撮影した画像データを、卵の表面の欠陥を教師データとする深層学習を用いて生成した物体検出モデルにより推定する推定部と、
前記推定部における推定結果に基づいて、搬送部上の複数の卵の中から表面に欠陥のある卵を特定する特定部とを備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、卵の表面の欠陥を検出するシステムに関するものである。
【背景技術】
【0002】
表面の欠陥を有する卵は、製品から取り除かれる。表面の欠陥の一例として、卵の表面の汚れが挙げられる。例えば、特許文献1に記載のシステムは、複数の卵を搬送する搬送部と、搬送部上の複数の卵を撮影する撮像部と、撮像部が撮影した画像データの各卵が汚卵であるか否かを検査する検査部を備える。
【0003】
このシステムは、まず、画像に対して各画素の輝度値の差をとり、エッジ検出処理を行うことで、検査対象卵画像を抽出している。その後、抽出された検査対象卵画像に所定の加工を施して、汚れ箇所を抽出し、その面積または範囲に基づいて、汚卵か否かを判定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のものは、エッジ検出処理を行うために、エッジ付近の汚れを見逃しやすいという問題点があった。
【0006】
本発明は、エッジ付近の汚れも検出可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のシステムは、搬送部で搬送される複数の卵を一度に撮影する撮像部と、撮像部が撮影した画像データを、卵の表面の欠陥を教師データとする深層学習を用いて生成した物体検出モデルにより推定する推定部と、前記推定部における推定結果に基づいて、搬送部上の複数の卵の中から表面に欠陥のある卵を特定する特定部とを備える。
【0008】
ここで、「卵の表面の欠陥」とは、例えば、黒い汚れ、白い汚れ、黄色い汚れ、しみ、割れである。
【発明の効果】
【0009】
本発明によれば、エッジ付近の汚れも検出可能なシステムを提供できる。
【0010】
この発明の上記及び他の目的、特徴、局面及び利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態にかかるシステムが適用される選別装置を示す平面図である。
【
図2】同実施形態にかかるシステムを示す側面図である。
【
図3】同実施形態にかかるシステムを示す平面図である。
【
図5】同実施形態にかかるシステムの構成図である。
【
図6】同実施形態にかかる推定部での処理により検出・識別される欠陥のデータが記録されるテーブルの一例である。
【
図7】同実施形態にかかるシステムの処理を示すフローチャートである。
【
図8】同実施形態の撮像部で撮影された画像の一例に対して複数の信頼度で比べた推定結果の表示の一例である。
【
図9】同実施形態の撮像部で撮影された画像の他の一例に対する推定結果の表示の一例である。
【
図10】ピンク色の卵の検出結果の表示の一例である。
【発明を実施するための形態】
【0012】
以下、一実施形態について図面を用いて説明する。
【0013】
本実施形態のシステムは、
図1に示すような卵の選別装置10に用いられる。卵の選別装置10は、第一搬送部11と、第一検査部12と、計量部13と、第二搬送部14と、第二検査部15と、分配部16と、第三搬送部17とを備える。なお、卵の選別装置10上の卵Eの移動距離を検知する方法は、この分野で知られた種々の方法(例えば、クロック信号を用いるもの等)を適用できる。
【0014】
第一搬送部11は、例えば、卵Eを6列で搬送する。第一搬送部11は、卵Eを横向きに搬送する。第一検査部12は、第一搬送部11上で、画像等を用いて卵Eの検査を行う。第一検査部12は、例えば、卵Eにひび、割れ、汚れがあるか否かを検査する。
【0015】
第二搬送部14は、例えば、卵Eを1列で搬送する。第二搬送部14は、卵Eを縦向きに搬送する。第二検査部15は、第二搬送部14上で、画像等を用いて卵Eの検査を行う。第二検査部15は、例えば、卵Eにひび、割れ、汚れ、内部異常があるか否かを検査する。
【0016】
分配部16は、計量部13で測定された卵重に基づいて、卵Eを各ゲートに振り分ける。分配部16は、第一の検査部4または第二の検査部4での検査結果に基づいて、卵Eを所定のゲートに振り分ける。
図1の選別装置では、例えば、上流側のゲート18で割れがある卵Eを集め、下流側のゲート19で汚れがある卵Eを集める。
【0017】
第三搬送部17は、トレイまたは容器を搬送する。第三搬送部17は、分配部16から卵Eを受け取る。第三搬送部17は、分配部16で振り分けられた卵Eが、トレイまたは容器に所定個数ずつ収容される。
【0018】
本実施形態のシステムは、搬送部2と、撮像部3と、検査部4と、排除部5とを備える。
【0019】
搬送部2は、複数の卵Eを搬送する。本実施形態では、搬送部2は、複数列に並んだローラ(第一搬送部11の一例)である。搬送部2は、隣り合う卵Eの間を一定距離の間隔を保って搬送する。卵Eは、搬送部2上で整然と並べられている。搬送部2は、卵Eを回転させて運ぶ。搬送部2は、搬送速度が変更可能なものである。なお、搬送部2は、カップ状のキャリア(第二搬送部14の一例)であってもよい。
【0020】
撮像部3は、搬送部2上の複数の卵Eを撮影する。本実施形態では、撮像部3は、例えば、カラーカメラである。撮像部3は、第一搬送部11の上方に設けられている。撮像部3は、
図1の第一検査部12に設けられている。撮像部3は、複数列×複数行の卵Eを一度に撮影する。撮像部3は、一つの卵Eに対して、複数回撮影する。撮像部3は、一つの卵Eに対して、複数の角度から撮影する。撮像部3は、卵Eを撮影するタイミングが、搬送部2の搬送速度に基づいて決められている。より具体的に説明すれば、撮像部3は、前述したクロック信号に基づいて、撮影タイミングが制御されている。
【0021】
検査部4は、コンピュータを用いて構成される。検査部4は、画像取得部41と、推定部42と、記憶部43と、特定部44と、出力部45とを備える。
【0022】
画像取得部41は、撮像部3が撮影した画像データを取得する。画像取得部41は、推定部42に接続されている。
【0023】
推定部42は、撮像部3が撮影した画像データを物体検出モデルにより推定する。物体検出モデルは、卵Eの表面の欠陥を教師データとする深層学習を用いて生成する。物体検出モデルは、学習モデル記憶部43に予め記憶されている。本実施形態では、物体検出モデルは、YOLO(You Only Look Once)等の、物体検出型のニューラルネットワーク等を想定している。なお、物体検出モデルは、YOLOとは異なる技術によって欠陥検出を行ってもよい。
【0024】
例えば、YOLOの処理は、概ね以下のようになる。まず、入力画像がS*Sの領域に
分割される。次に、それぞれの領域内における物体のクラス確率が導出される。そして、B個(ハイパーパラメータ)のバウンディングボックスのパラメータと信頼度とが算出される。バウンディングボックスは、物体領域を囲む四角形である。信頼度とは、予測と正解のバウンディングボックスの一致度である。物体検出には、物体のクラス確率と、各バウンディングボックスの信頼度との積が用いられる。YOLOにおいて、画像データは、CNN(Conventional Neural Network)層に入力され、複数団の全結合層を経て結果が出力される。出力は、信頼度を含むバウンディングボックスのパラメータである。
【0025】
図6は、推定部42が作成するデータの一例である。データは、画像IDと、欠陥IDと、バウンディングボックスの座標と、種別と、信頼度を含む。
【0026】
記憶部43は、学習モデルを記憶している。学習モデルは、教師データを用いて予め学習がなされている。欠陥が判明している複数個の卵Eについて、画像データが取得され、教師データが作成される。教師データには、各卵Eの欠陥を表す情報と、欠陥箇所をバウンディングボックスで抽出した画像データとが含まれる。
【0027】
卵Eは自然物であり、卵Eの欠陥の種類や大きさも様々である。卵Eの欠陥を表す情報は、例えば、赤い卵における黒い汚れ、白い汚れ、黄色い汚れ、しみ、または、割れなどであり、白い卵における黒い汚れ、黄色い汚れ、しみ、または、割れなどである。なお、照明の反射、水濡れ、そばかす模様、突起、印字は、卵Eの欠陥ではない。これらが卵Eの欠陥ではないことを学習させてもよい。印字は、例えば、農場やGPセンターなどの場所で、インクを用いて卵殻表面に付される賞味期限などの数字や文字である。
【0028】
教師データに含まれる画像データが入力層の各ノードに入力され、教師データに含まれる情報が示す卵Eの欠陥に合致したスコアを出力層の各ノードに出力されるように、各ノードの演算のパラメータが調整される学習がなされている。
【0029】
特定部44は、推定部42における推定結果に基づいて、搬送部2上の複数の卵Eの中から表面に欠陥のある卵Eを特定する。特定部44は、上述したクロック信号(移動距離検知部の一例)から得られる卵Eの位置情報を用いる。特定部44は、卵Eの位置情報と、推定部42から得られる欠陥の位置情報とを用いて、表面に欠陥のある卵Eを特定する。
【0030】
出力部45は、特定部44で特定された卵Eの情報を排除部5へ出力する。具体的には、出力部45は、欠陥を有する卵Eの搬送部2上での位置情報と、欠陥の種別を出力する。欠陥の種別は、例えば、「汚れ」と「割れ」の2種類に分ける。「汚れ」には、赤い卵についての黒い汚れ、白い汚れ、黄色い汚れ、しみなど、または、白い卵における黒い汚れ、黄色い汚れ、しみなどが含まれる。「割れ」には、卵殻のひび、卵殻の一部がなくなって穴が空いたものなどが含まれる。出力部45は、欠陥の種別に応じて、特定された卵Eの分類先を決定してもよい。なお、分類先は2種類には限られず、汚れや割れの程度や種類別に細分化してもよい。
【0031】
排除部5は、出力部45から出力された情報に基づいて、卵Eを排除する。例えば、排除部5は、上流側のゲート18で割れがある卵Eを排除する。排除部5は、下流側のゲート19で汚れがある卵Eを排除する。特定部44で特定されなかった卵E、すなわち、汚れも割れも有していない卵Eは、分配部16が通常のゲートに放出し、第三搬送部17上のトレイまたは容器に収容される。卵Eの欠陥ではないもの、すなわち、照明の反射、水濡れ、そばかす模様、突起のいずれかを有するもの、印字された正常卵は、分配部16が通常のゲートに放出し、第三搬送部17上のトレイまたは容器に収容される。
【0032】
【0033】
まず、画像取得部41が、卵Eの画像を取得すると(ステップS1)、推定部42は欠陥を推定する(ステップS2)。例えば、
図6にあるように、欠陥IDが「1」の欠陥は、バウンディングボックスの左下座標、及び右上座標が算出され、種別が「黒い汚れ」、信頼度が「0.74」であると推定される。
【0034】
信頼度が閾値を超えると(ステップS3)、特定部44は、当該欠陥を有する卵Eを特定する(ステップS4)。具体的には、特定部44は、推定部42から得られるバウンディングボックスの座標情報と、移動距離検知部の一例であるクロック信号から得られる卵Eの位置情報に基づいて、卵Eを特定する。
【0035】
その後、出力部45は、特定された卵Eを制御する信号を出力する(ステップS5)。具体的には、出力部45は、「黒い汚れ」が付着していると特定された卵Eを、第一搬送部11及び第二搬送部14で搬送した後、下流側のゲート19に設定された排除部5が排除する。
【0036】
(実施例)
次に、本実施形態を用いたシステムの一実施例を説明する。
【0037】
本実施例では、YOLOv4に卵Eの検出を学習させたモデルを深層学習プロセッサに展開する。言い換えれば、ターゲット検出手段であるYOLOv4を利用して欠陥のある卵Eを識別し、深層学習プロセッサを用いて欠陥のある卵Eを選別する。
【0038】
YOLOv4は、予測バウンディングボックスを生成せずに直接オブジェクトを検出し、検出速度と精度をうまくバランスさせた能力を有する。また、YOLOv4の検出速度は非常に速いため、卵Eの汚れを検出するのにも適している。
【0039】
深層学習プロセッサは、エッジデバイスとして採用される。深層学習プロセッサは、小型でパワフルな、組み込み可能なコンピュータである。しかし、YOLOv4のサイズが大きいため、一部の深層学習プロセッサでは速度が落ちてしまう。そのため、リアルタイム検出の高速性を確保するために、ニューラルネットワークを用いた演算を行うためのツールを使ってアプリケーションに合わせてネットワークを最適化することが好ましい。
【0040】
<実験1>
ここでは、データセットとして220枚の画像を用意した。その中には、赤い卵の画像が110枚、白い卵の画像が110枚含まれる。データセットは、汚れた箇所に手動でラベルを付ける。
【0041】
赤い卵は、「黒い汚れ」、「白い汚れ」、「黄色い汚れ」、「しみ」、「割れ」についてラベルが付けられる。なお、汚れではない「そばかす模様」や「照明の反射」や「水濡れ」が検出精度に影響を与える場合がある。
【0042】
白い卵は、「黒い汚れ」、「黄色い汚れ」、「しみ」、「割れ」についてラベルが付けられる。なお、汚れではない「照明の反射」が「突起」が検出精度に影響を与える場合がある。
【0043】
限られたデータセットを使って、あらゆる状況を識別できるモデルを学習するために、小さな汚れた点にはできるだけラベルを付けている。なお、本実施例では、欠陥の種類を分けてラベル付けしていない。すなわち、赤い卵が、黒い汚れ、白い汚れ、黄色い汚れ、しみ、割れのいずれかを有していれば「欠陥あり」のラベルを付け、白い卵が、黒い汚れ、黄色い汚れ、しみ、割れのいずれかを有していれば「欠陥あり」のラベルを付ける。したがって、予測結果も、欠陥の有無の予測である。
【0044】
モデルを学習した後、学習した重みを用いてモデルをテストする。テストデータセットでは、結果が3つのカテゴリに分けられる。3つのカテゴリは、True Positive(TP)と、False Positive(FP)と、False Negative(FN)である。
【0045】
TPは、「陽性のクラスである」という予測が、「真」であることを示す。言い換えれば、汚れを「有する」クラスに対して、汚れを「有する」と推定する「正解」である。
【0046】
FPは、「陽性のクラスである」という予測が、「偽」であることを示す。言い換えれば、汚れを「有しない」クラスに対して、汚れを「有する」と推定する「誤判定」である。
【0047】
FNは、「陰性のクラスである」という予測が、「偽」であることを示す。言い換えれば、汚れを「有する」クラスに対して、汚れを「有しない」と推定する「見逃し」である。
【0048】
モデルの性能を検証するために、Precision、Recall、Mean Average Precision(mAP)などの重要な評価基準を用いる。これらのうち、Precisionはモデルの予測精度を評価し、Recallはモデルが完全にターゲットを探索できたかどうかを示す。また、全カテゴリのAP(Accuracy Rate)とは、曲線と座標軸で囲まれた領域のことである。全カテゴリのAPを算出し、その精勤値を各カテゴリのmAPとした。
【0049】
Precision,Recall、F1-score、AP、mAPの定義を以下に示す。
【0050】
Precisionは、全検出数(「正解」TPと「誤判定」FP)に対する「正解」TPの割合である。
【数1】
【0051】
Recallは、関連するオブジェクトの数(「正解」TPと「見逃し」FN)に対する「正解」TPの比率である。
【数2】
【0052】
F1-scoreは、PrecisionとRecallの調和平均である。
【数3】
【数4】
【数5】
ここで、p(r)は、異なるPrecisionの割合rの下での対応するRecallの割合pである。APiは、i番目のカテゴリの検出精度の割合である。Nは、カテゴリの数である。
【0053】
一般的な物体検出とは異なり、画像内の卵Eにある汚れた箇所は非常に小さく、識別するのは困難である。汚れた卵Eの検出に最適な閾値とIOUの値を得るために、具体的には、テストセットにおいて、信頼度スコアをそれぞれ0.4、0.6、0.8に設定し、IOUをそれぞれ0.2、0.35、0.5、0.65に固定した。比較結果を表1、表2、表3に示す。
【表1】
【表2】
【表3】
【0054】
IOU値が大きくなるにつれて、評価基準が大きく変化している。つまり、3つの閾値に関して、各モデルの評価基準はいずれも下降傾向にある。また、TPの値が減少し、FPやFNの値が増加している。これらの値の変化は評価基準にも影響を与えており、Precisionの低下などが見られる。表から、IOUが0.2と0.35の場合、評価基準が比較的高くなっていることがわかる。しかし、予測ボックスと実施調査ボックスのIOUが小さすぎたため、検出速度が低下してしまった。そのため、汚卵の予測には説得力がなかった。また一方で、IOUを0.65に設定した場合、検出性能が約15%低下している。つまり、検出性能が非常に悪く、多くの汚れた箇所を検出することができなかった。そこで、バランスを保つためにIOUを0.5とし、IOUと検出性能が良好になるようにした。
【0055】
また、
図8は、閾値を0.4、0.6、0.8と変えて学習したモデルのテスト結果である。閾値の増加に伴い、予測されるバウンディングボックスの数が徐々に少なくなっている。これは、精度の低い予測ボックスがフィルタリングされて、画像に表示されないためである。閾値を0.4に設定すると、他の状況に比べてより正確な予測ボックスが得られることがわかる。赤い卵の場合は、閾値を上げるたびに予測ボックスが1つ減る。一方、白い卵の場合は、閾値が0.4のときに生成される予測ボックスは閾値が0.8のときよりも4つ多くなる。より良い性能を得るために、IOUを0.5に、信頼度スコアをそれぞれ0.4、0.6、0.8に設定した。汚れた箇所の数の検出が目的ではなく、その卵に汚れがあるか否かの検出が目的である。1つの卵の卵殻に複数の汚れた箇所を含む場合もあり、この場合は汚れた卵が1つとしてカウントする。この基準にしたがって、TP、FP、FN、Precision、Recall、F1-scoreを手動で算出した結果が、表4である。
【表4】
【0056】
その結果、信頼度スコアが高くなるにつれて、Recall、F1―score、TP、FPが減少し、FNが増加した。これらの比較により、信頼度スコアが0.8に設定されている場合、Precisionが最大値となることがわかる。また、信頼度スコアが0.4に設定されている場合、RecallとF1―scoreが最大値となることがわかる。したがって、より良い性能を得ることができる信頼度スコア0.4を選択した。
【0057】
数1~数5の式から、FNの値が評価基準に影響を与えることが推測される。そこで、信頼度スコアを0.00001に設定して、FNが大量に発生する原因を探った。その結果を
図9に示す。
【0058】
検知の過程で、信頼度スコアが0.00001よりも大きい予測バウンディングボックスが生成される。これらの予測バウンディングボックスは、予測画像には表示されない。しかし、テスト前にIOUと閾値を手動で調整することで、良好な検出性能を得ることができる。記事ではIOUを0.5とし、信頼度スコアを0.4に設定した。その結果、信頼度スコアが0.4よりも低い予測バウンディングボックスはフィルタリングされる。しかし、これらのボックスは役に立たないわけではないが、その影響は、結果を大きく左右することになり、テストに要する時間も長くなる。
【0059】
図8の観察結果と上記の分析結果から、過剰なFNは小さすぎるラベルが原因であると結論づけた。できるだけ多くの汚れ箇所に複数の小さなラベルを付けることを選択した。小さな汚れ箇所に関しては、ラベルもできるだけ小さくする。これにより、学習されたモデルは、汚卵を検出する際には役立たない予測バウンディングボックスを大量に生成することになり、結果的に評価基準が低くなり、速度も遅くなる。同様に、大きな汚れ箇所の認識率も低くなる。大きな汚れ箇所に関しては、モデルは多くの小さな汚れ箇所を検出することになる。他の検出結果によると、ラベルが小さいことで、卵Eの殻の突出した部分や、色が変化した部分を汚れと認識することができる。
【0060】
次に、深層学習プロセッサでのアクセラレーションについては、ニューラルネットワークを用いた演算を行うためのツールを採用して、モデルの推論と定量化を高速化し、実行することに成功した。定量化処理の後、モデルは深層学習プロセッサ上で2.3fpsの速度に達した。
【0061】
実験の結果、IOUを0.5に設定し、信頼度スコアを0.5に設定した場合に、最もすぐれた検出性能が得られることがわかった。さらに、ラベルの大きさが評価基準に与える影響についても考えられる。ラベルが小さすぎると、モデルが多くの正解データを認識してしまい、結果的にFNの数が増えてしまう。その結果、精度が落ちるだけでなく、リアルタイムの検出速度が遅くなってしまう可能性がある。ラベル付けの際には、特に小さい物体の場合、ターゲットのコア部分だけをラベル付けするのではなく、ターゲット周辺の情報も含めたスペースを残すことで、モデルのロバスト性や評価基準、特にmAPやPrecisionを向上させることができる。
【0062】
<実験2:データセットを拡張した実験>
モデルの汎用性を高めるために、卵のデータの再収集を行った。市販売されている卵の種類を考慮し、ピンク色の卵のデータの収集を追加した。本実験ではK-meansの手法を利用するとアンカーボックスを生成し、YOLOv4で訓練した。また、新しいデータセットを用いてYOLOv3とYOLOv4を訓練し、実験結果と新しいアンカーボックスを用いてYOLOv4と比較、モデルの汎用性と精度の検証を行った。
【0063】
再収集データセットとして、訓練セット1649枚、検証セット411枚、テストデータ18枚、全部で2078枚の画像を用意した。
【0064】
<実験条件>
重要なのは汚れた点の数ではなく、卵が汚れているかどうかである。1つの卵の殻に複数の汚れた点があったとしても、それは1つの汚れた卵にしか関与していないのである。この基準に従って、検証セットのデータを手動で計算し、前の実験基準と同様に、汚れた箇所が1つ以上ある卵を汚れたと判断した。三つのモデルでテストした実験結果を比較し、TP、FP、FN、Precision、RecallとF1-score評価指標を算出した。
【0065】
<学習条件>
学習回数:500,500回;
学習率:0.0013;
バッチサイズ:1;
Momentum parameter:0.949;
Decay coefficient:0.005;
【0066】
<実験結果>
IoUを0.5、信頼度スコアを0.4、0.6、0.8にそれぞれ設定した。YOLOv3の実験結果は表5に示している。
【表5】
【0067】
IoUを0.5、信頼度スコアを0.4、0.6、0.8にそれぞれ設定した。YOLOv4の実験結果は表6に示している。
【表6】
【0068】
IoUを0.5、信頼度スコアを0.4、0.6、0.8にそれぞれ設定した。新しいアンカーボックスを用いたYOLOv4の実験結果は表7に示している。
【表7】
【0069】
表8には、実験1のYOLOv4モデル(YOLOv4_ver1)と実験2のアンカーボックスを用いたYOLOv4モデル(YOLOv4_ac)それぞれに対して、実験2で得たテストデータを評価した結果を示す。
【表8】
【0070】
表5と表6を比較すると、IoUが0.5、信頼度スコアが0.4のときに最もPrecisionが高く、信頼度スコアが高くになるにつれて、Precisionが低下しており、実験1の結果と一致している。しかし、表7では、信頼度スコアが0.4,0.6までは同様の傾向がみられるものの、0.8のときにPrecisionが最大となった。
【0071】
Precisionだけでなく、Recallの指標も重要である。表5,6,7を比較すると、新しいアンカーボックスを用いたYOLOv4モデルで、信頼度スコアが0.4のときに最もよいRecallが得られる(表7)。これらのことから、汚れた卵を検出するために最適なパラメータ設定を、IoUが0.5、信頼度スコアが0.4とする。
【0072】
表8を見ると、モデル(YOLOv4_ver1)より、モデル(YOLOv4_ac)のPrecisionが約5%向上し、Recall,F1-scoreについても大幅に改善された。この理由として、実験2ではデータセットが充実していたこと、アンカーボックスを利用したことが挙げられる。
【0073】
図10、
図11、
図12はモデルYOLOv4_ver1の評価結果である。それぞれ、
図10はピンク色の卵の検出結果で、
図11は赤色の卵の検出結果で、
図12は白色の卵の検出結果である。以上によると、アンカーボックスを用いたYOLOv4モデルは最もよいパフォーマンスを持つ。
【0074】
なお、本発明は上述した実施形態に限られない。
【0075】
システムは、図示した選別装置以外の卵Eの生産設備に適用してもよい。撮像部3は、トレイまたはパックなどの容器に入った状態の卵Eを撮影するものであってもよい。
【0076】
推定部42は、汚れの種類まで分類しないものであってもよく、汚れの有無のみを推定するものであってもよい。
【0077】
今回開示された実施の形態は例示であってこれに制限されるものではない。本発明は上記で説明した範囲ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0078】
本発明は、卵の表面の欠陥を検出するシステムに利用することができる。
【符号の説明】
【0079】
10…卵の選別装置
11…第一搬送部
12…第一検査部
13…計量部
14…第二搬送部
15…第二検査部
16…分配部
17…第三搬送部
18…上流側のゲート
19…下流側のゲート
2…搬送部
3…撮像部
4…検査部
41…画像取得部
42…推定部
43…記憶部
44…特定部
45…出力部
5…排除部