基于深度学习算法的鹌鹑蛋新鲜度检测研究
1. 研究背景与目标
不同国家采用了不同的新鲜度标准。例如,欧盟采用气室大小作为评估禽蛋新鲜度的参数,而巴西则采用哈夫单位(HU)。本研究旨在开发一种基于深度学习算法的计算机视觉模型,利用热成像微相机快速、无损地检测鹌鹑蛋气室,以此对不新鲜的鹌鹑蛋进行分类。研究假设是,由于蛋壳的气体传输,热成像相机可以检测到因气室增大导致的蛋重损失,从而通过快速无损的方式实现机器视觉系统对鹌鹑蛋新鲜度的检测。
2. 材料与方法
2.1 实验环境
- 使用从当地杂货店收集的日本鹌鹑蛋(Coturnix japonica),以标签上的保质期作为新鲜度的终点参考。
- 实验在日本筑波大学的生物生产与机械实验室进行,时间为夏季中期,日平均温度范围为24 - 32°C。
- 研究方法分为两个阶段:一是通过像素测量评估气室大小;二是利用热成像图像进行深度学习目标检测,自动分类不新鲜的鸡蛋。
2.2 热成像
- 使用FLIR® Model VUE™ 336热成像相机收集鹌鹑蛋的辐射图像。该相机传感器分辨率为336 × 256像素,光谱波段范围为7.5 - 13.5μm,尺寸为2.26″(5.74 cm)× 1.75″(4.44 cm)。
- 热成像相机通过解释目标与环境相互作用时发射的红外辐射强度来生成图像,其图像受大气传输、红外反射和目标发射波长的影响。获取物体信息的三个关键变量是目标的大小、距离和相机角度。
- 与光学相机相比,热成像相机的主要优点是无需依赖光线,常用于夜间视觉和体温测量。但与传统相机相比,它存在分辨率低、成本高的局限性,且提供的是相对温度,需要经过数据处理或校准才能获得绝对测量值。
2.3 数据集收集
- 随机从当地杂货店收集了390个鹌鹑蛋,其中8个有裂缝,剩余382个用于实验。
-
将鸡蛋分为三组:
- 第一组174个鸡蛋,在17°C的常规冰箱中连续储存60天,相对湿度为45%。分别在第30天、第50天和第60天取出进行图像采样,该数据集用于训练基于视觉的目标检测算法。
- 第二组148个鸡蛋,用于评估气室大小,因为气室会因老化而增大,导致蛋重损失,两者可能存在相关性。
- 第三组60个鸡蛋,用于测试预测模型。该组在与第一组相同的条件下储存,并在保质期后15天进行评估。通过煮鸡蛋并纵向切割来直观确认气室大小。
2.4 气室评估方法
- 为了关联气室增大与蛋重损失,对第二组鸡蛋进行实验。在购买后立即(第1天)和加速老化10天后(将鸡蛋置于夏季室温下,平均温度27°C,湿度60%)分别称重。
- 通过三条线段测量两点之间的像素距离,以减少误差和像素长度转换的主观性。
-
采用皮尔逊相关系数计算加速老化期间蛋重和气室大小变化之间的关系,公式如下:
[r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2\sum_{i=1}^{n}(y_i - \bar{y})^2}}]
其中,r是相关系数,$x_i$和$y_i$分别是x和y变量样本(面积和重量),$\bar{x}$和$\bar{y}$是x - y样本变量的平均值。
2.5 基于深度学习的目标检测算法
- 深度学习(DL)使用深度神经网络处理涉及大数据的非线性问题,创建预测模型。与传统机器学习方法相比,DL在处理多维数据时更快、更准确,例如图像分类、分割和定位。
-
YOLO是一种深度学习目标检测算法,使用单个卷积神经网络(CNN)在图像中定位感兴趣的目标,并将目标分类视为回归问题。自发布以来,YOLO已经发展出多个系列,如YOLOv5、YOLOv6和YOLOv7。
- YOLOv5使用CSPDarknet53作为骨干网络,PANet和修改后的FPN作为颈部网络,YOLO层作为头部网络,损失函数为二元交叉熵和对数损失函数,训练框架为PyTorch。
- YOLOv7引入了扩展高效层聚合网络(E - ELAN),提高了特征提取效率,在MS COCO数据集上的mAP表现优于之前的版本。其骨干网络为E - ELAN,颈部网络为CSPSPP + (ELAN, E - ELAN) PAN,头部网络为YOLOR,损失函数为二元交叉熵,训练框架为PyTorch。
- EfficientDet由Google Research发布,具有轻量级模型、高精度和多尺度可扩展性的特点,适用于检测小目标和低终端设备。其骨干网络为EfficientNet,颈部网络为BiFPN,头部网络为Box prediction net,损失函数为焦点损失,训练框架为TensorFlow。
三种算法的基本架构对比如下:
| 模型 | 骨干网络 | 颈部网络 | 头部网络 | 损失函数 | 训练框架 |
| — | — | — | — | — | — |
| YOLOv5 | CSPDarknet53 | PANet,修改后的FPN | YOLO层 | 二元交叉熵和对数损失函数 | PyTorch |
| YOLOv7 | E - ELAN | CSPSPP + (ELAN, E - ELAN) PAN | YOLOR | 二元交叉熵 | PyTorch |
| EfficientDet | EfficientNet | BiFPN | Box prediction net | 焦点损失 | TensorFlow |
2.6 数据标注
- 使用第一组的174个鸡蛋(共522张图像,来自第30天、第50天和第60天)训练YOLO和EfficientDet算法。假设储存30天后的鸡蛋都不新鲜,通过空间、像素和CutMix等增强技术扩大图像数据集,以提高模型的泛化能力和特征提取效果。
2.7 训练参数
- 将总共3610张图像的训练数据集按70:30的比例分为训练集(2527张)和验证集(1083张)。
-
使用不同的框架训练模型:
- EfficientDet在运行Windows® 10™ 64位的个人计算机上训练,配置为Intel® Xeon™ E5 - 1607处理器、32GB RAM、NVIDIA® GTX 1650™ 4GB GPU,Python版本3.8.5,CUDA 10.1,cuDNN 7.6.5,OpenCV 4.4.0,Tensor - Flow 2.3.1和TensorFlow - GPU 2.3.1。
- YOLOv5和YOLOv7在Google Collab云环境中训练,使用PyTorch 1.11.0 + cu102和16GB GPU Tesla T4。
各算法的训练参数如下:
| 算法 | 批量大小 | 输入大小 | 动量 | 迭代次数 |
| — | — | — | — | — |
| YOLOv5 | 16 | 640 × 640 | 0.937 | 30个周期 |
| YOLOv7 | 16 | 640 × 640 | 0.937 | 30个周期 |
| EfficientDet | 4 | 512 × 512 | 0.899 | 30,000步 |
2.8 评估指标
采用以下常见指标来验证模型并比较结果:
- 精度(P):真阳性(TP)检测与假阳性(FP)检测的比例。
- 召回率(R):真阳性(TP)检测与假阴性(FN)检测的比例。
- F1分数:表示精度和召回率之间的平衡,是比较模型效果的良好指标。
- 平均精度(AP)和mAP@0.5:用于评估模型训练参数,是PASCAL VOC挑战中采用的指标。
相关公式如下:
[P = \frac{TP}{TP + FP}]
[R = \frac{TP}{TP + FN}]
[F1 = \frac{2 \times P \times R}{P + R}]
3. 实验结果
3.1 相关性测试
-
对储存鸡蛋的重量和气室大小进行了数据探索分析,结果如下表所示:
| 指标 | 高度(mm) | 第1天像素长度 | 第10天像素长度 | 第1天气室面积 | 第10天气室面积 | 第1天重量(g) | 第10天重量(g) |
| — | — | — | — | — | — | — | — |
| 平均值 | 30.993 | 147.678 | 141.122 | 40.464 | 93.763 | 9.902 | 9.282 |
| 标准差 | 1.306 | 16.963 | 18.897 | 32.071 | 59.454 | 0.930 | 0.968 | -
对重量和气室大小进行皮尔逊相关性统计分析,结果如下表所示:
| 重量差异(均值) | 像素面积差异(均值) | 观察次数 | 自由度(n - 2) | T统计量 | 相关系数(r) | p值 |
| — | — | — | — | — | — | — |
| -0.620 | 53.300 | 148 | 146 | 17.47713 | -0.82256 | 1.3 × 10 - 37 | -
结果表明,重量和气室大小之间存在负相关关系($R^2 = 0.6766$),即蛋重减少时,气室大小增加。
3.2 计算机视觉模型预测
-
训练结果 :
-
对三种模型(YOLOv5、YOLOv7和EfficientDet)进行训练评估,IoU为0.5时的评估结果如下表所示:
| 模型 | 精度(P) | 召回率(R) | F1分数 | mAP@0.50 |
| — | — | — | — | — |
| YOLOv5 | 0.99 | 0.99 | 0.99 | 99.5% |
| YOLOv7 | 0.97 | 0.98 | 0.97 | 99.4% |
| EfficientDet | 0.95 | 0.73 | 0.82 | 95.0% | -
测试数据集的准确性评估指标如下表所示:
| 模型 | 总边界框 | 真阳性(TP) | 真阴性(TN) | 假阳性(FP) | 假阴性(FN) |
| — | — | — | — | — | — |
| YOLOv5 | 39 | 33 | 22 | 6 | 5 |
| YOLOv7 | 44 | 37 | 22 | 7 | 1 |
| EfficientDet | 29 | 29 | 22 | 0 | 9 | -
不同阈值下测试数据集的准确性评估结果如下表所示:
| 模型 | 精度(P) | 召回率(R) | F1分数 |
| — | — | — | — |
| YOLOv5 | 0.85 | 0.87 | 0.86 |
| YOLOv7 | 0.84 | 0.97 | 0.90 |
| EfficientDet | 1 | 0.76 | 0.86 |
-
-
保质期重新验证 :
| 模型 | 总鸡蛋数 | 不新鲜(边界框) | DL新鲜(TN + FN) | 真阴性(TN) | DL重新验证率 | 真实重新验证率 | 重新验证误差 |
| — | — | — | — | — | — | — | — |
| YOLOv5 | 60 | 39 | 27 | 22 | 45.00% | 36.67% | 8.33% |
| YOLOv7 | 60 | 44 | 23 | 22 | 38.33% | 36.67% | 1.67% |
| EfficientDet | 60 | 29 | 31 | 22 | 51.67% | 36.67% | 15.00% |
综上所述,本研究通过热成像相机和深度学习算法实现了对鹌鹑蛋新鲜度的快速无损检测。在三种模型中,YOLOv7表现最佳,其次是YOLOv5和EfficientDet。然而,热成像相机的低分辨率限制了检测的准确性,未来需要在热传感技术和算法优化方面进一步改进,以提高检测效率和准确性。同时,不同网络大小和训练参数会影响模型的性能,在选择最佳模型时需要进行全面比较。
4. 讨论
- 热成像技术优势 :本研究采用热成像相机并提出新方法,依据气室大小检测鸡蛋新鲜度。热成像相机能解读经大气传输的红外波长强度。由于二氧化碳比大气空气重,在冷鸡蛋与温暖室温形成的温度对比下,气室中的二氧化碳和其他气体成分会产生可被热成像相机辐射传感器检测到的光谱特征,此方法被称为“热成像对比技术”。该技术能轻松、快速且有效地识别不新鲜鸡蛋,结合深度学习目标检测算法,可用于工业级的实时高通量应用。
- 未考虑因素 :研究期间未测量储存期内蛋白或蛋黄的pH值。不过,相关文献表明,对于鸡蛋,蛋白的pH值可能比蛋黄略有升高,且在可控大气系统中注入二氧化碳可减少这种变化。此外,基因型、鹌鹑饲料成分、疾病、亲代鸡群年龄和环境条件等因素也可能影响蛋白和蛋黄的化学变化。
- 对鹌鹑产业的意义 :能够进行实时无损分析的方法有助于鹌鹑养殖和产后处理过程,保障消费者的质量和安全。研究发现,同一组中的部分鸡蛋新鲜度不如其他鸡蛋,推测这可能与蛋壳成分(如厚度和硬度)的差异有关。
- 相关性测试误差分析 :在相关性测试中,实际测量和像素测量的标准差差异较大,这是因为像素测量依赖于手动标记点的连线,连接鸡蛋上下点的线条可能会改变像素长度。为减少误差,采用三次连线并取平均值的方法确定像素长度。
- 深度学习模型性能比较 :通过深度学习目标检测,能够高精度地预测不新鲜的鹌鹑蛋。比较三种模型,YOLOv7效果最佳,其次是YOLOv5和EfficientDet。随着各领域对图像识别和定位应用需求的增加,基于深度学习的模型也在不断升级。
- 算法与设备的权衡 :深度学习算法的改进可降低不新鲜鸡蛋重新分类的误差。但由于热成像相机分辨率较低,进一步改进热传感技术可提高基于深度学习的计算机视觉系统的效率和准确性,因此需要权衡设备和算法之间的关系。
- 训练参数影响 :训练深度学习模型时,一些参数会影响模型的速度和准确性,其中网络大小最为重要。YOLOv5和YOLOv7的网络大小均设置为640 × 640像素,因其架构相同,但由于硬件资源(特别是GPU处理能力)的限制,批量大小有所不同。EfficientDet的最小网络大小为512 × 512,这是由其可扩展特征架构决定的,批量大小适合TensorFlow处理。不同的网络大小会产生不同的结果,因此在选择最佳模型以实现所开发系统时,全面比较各种模型和预训练模型至关重要。
5. 总结与展望
- 研究成果总结 :本研究成功利用热成像相机和深度学习算法实现了对鹌鹑蛋新鲜度的快速无损检测。通过相关性测试,明确了蛋重和气室大小之间的负相关关系。在计算机视觉模型预测方面,对YOLOv5、YOLOv7和EfficientDet三种模型进行了训练和评估,结果显示YOLOv7在各项指标上表现最优,能够更准确地识别不新鲜的鹌鹑蛋。
- 研究局限性 :热成像相机的低分辨率是影响检测准确性的主要因素,限制了深度学习算法的性能发挥。此外,研究未考虑储存期内蛋白和蛋黄pH值的变化以及其他可能影响鸡蛋新鲜度的因素,如基因型、饲料成分等。
-
未来研究方向
:
- 技术改进 :进一步提高热成像相机的分辨率,优化热传感技术,以增强对鸡蛋气室特征的捕捉能力,从而提高检测的准确性和可靠性。
- 算法优化 :持续探索和改进深度学习算法,结合更多的特征信息,如鸡蛋的颜色、纹理等,提高模型的泛化能力和适应性。
- 多因素综合考虑 :在后续研究中,纳入更多影响鸡蛋新鲜度的因素,建立更全面的评估模型,为鹌鹑蛋的质量检测提供更科学的依据。
- 实际应用推广 :将研究成果应用于实际的鹌鹑养殖和产后处理过程中,进行大规模的验证和优化,推动该技术在鹌鹑产业中的广泛应用。
通过本研究,为鹌鹑蛋新鲜度检测提供了一种新的方法和思路,未来的研究有望进一步完善该技术,为鹌鹑产业的发展提供有力支持。
6. 流程图
graph LR
A[收集鹌鹑蛋] --> B[分组]
B --> B1[第一组:训练数据集]
B --> B2[第二组:气室评估]
B --> B3[第三组:测试数据集]
B1 --> C1[储存并采样图像]
B2 --> C2[加速老化实验]
B3 --> C3[储存并评估]
C1 --> D1[数据标注与增强]
C2 --> D2[气室大小与重量相关性分析]
C3 --> D3[煮蛋确认气室大小]
D1 --> E[训练深度学习模型]
E --> F[模型评估]
F --> G[结果分析与总结]
7. 关键步骤总结
- 数据收集 :随机收集鹌鹑蛋,去除有裂缝的蛋后分组,分别用于训练、气室评估和测试。
- 热成像采集 :使用特定型号的热成像相机采集鹌鹑蛋的辐射图像。
- 气室评估 :通过加速老化实验,测量蛋重和气室大小的变化,计算两者的相关性。
- 模型训练 :选择YOLOv5、YOLOv7和EfficientDet三种深度学习模型,进行数据标注、增强和训练。
- 模型评估 :采用精度、召回率、F1分数等指标评估模型性能,比较不同模型的优劣。
- 结果分析 :分析实验结果,总结研究成果和局限性,提出未来研究方向。
8. 表格汇总
| 类别 | 模型 | 骨干网络 | 颈部网络 | 头部网络 | 损失函数 | 训练框架 | 批量大小 | 输入大小 | 动量 | 迭代次数 |
|---|---|---|---|---|---|---|---|---|---|---|
| 算法架构 | YOLOv5 | CSPDarknet53 | PANet,修改后的FPN | YOLO层 | 二元交叉熵和对数损失函数 | PyTorch | 16 | 640 × 640 | 0.937 | 30个周期 |
| 算法架构 | YOLOv7 | E - ELAN | CSPSPP + (ELAN, E - ELAN) PAN | YOLOR | 二元交叉熵 | PyTorch | 16 | 640 × 640 | 0.937 | 30个周期 |
| 算法架构 | EfficientDet | EfficientNet | BiFPN | Box prediction net | 焦点损失 | TensorFlow | 4 | 512 × 512 | 0.899 | 30,000步 |
| 训练评估(IoU = 0.5) | YOLOv5 | - | - | - | - | - | - | - | - | 精度0.99,召回率0.99,F1分数0.99,mAP@0.50 99.5% |
| 训练评估(IoU = 0.5) | YOLOv7 | - | - | - | - | - | - | - | - | 精度0.97,召回率0.98,F1分数0.97,mAP@0.50 99.4% |
| 训练评估(IoU = 0.5) | EfficientDet | - | - | - | - | - | - | - | - | 精度0.95,召回率0.73,F1分数0.82,mAP@0.50 95.0% |
| 测试数据集评估 | YOLOv5 | - | - | - | - | - | - | - | - | 总边界框39,真阳性33,真阴性22,假阳性6,假阴性5 |
| 测试数据集评估 | YOLOv7 | - | - | - | - | - | - | - | - | 总边界框44,真阳性37,真阴性22,假阳性7,假阴性1 |
| 测试数据集评估 | EfficientDet | - | - | - | - | - | - | - | - | 总边界框29,真阳性29,真阴性22,假阳性0,假阴性9 |
| 不同阈值评估 | YOLOv5 | - | - | - | - | - | - | - | - | 精度0.85,召回率0.87,F1分数0.86 |
| 不同阈值评估 | YOLOv7 | - | - | - | - | - | - | - | - | 精度0.84,召回率0.97,F1分数0.90 |
| 不同阈值评估 | EfficientDet | - | - | - | - | - | - | - | - | 精度1,召回率0.76,F1分数0.86 |
| 保质期重新验证 | YOLOv5 | - | - | - | - | - | - | - | - | 总鸡蛋数60,不新鲜39,DL新鲜27,真阴性22,DL重新验证率45.00%,真实重新验证率36.67%,重新验证误差8.33% |
| 保质期重新验证 | YOLOv7 | - | - | - | - | - | - | - | - | 总鸡蛋数60,不新鲜44,DL新鲜23,真阴性22,DL重新验证率38.33%,真实重新验证率36.67%,重新验证误差1.67% |
| 保质期重新验证 | EfficientDet | - | - | - | - | - | - | - | - | 总鸡蛋数60,不新鲜29,DL新鲜31,真阴性22,DL重新验证率51.67%,真实重新验证率36.67%,重新验证误差15.00% |
超级会员免费看
1万+

被折叠的 条评论
为什么被折叠?



