目录

摘要

推扫式高光谱成像系统的应用

快照式高光谱成像系统的应用

总结

参考文献


摘要

肉类掺假常见于用低价肉代替高价肉获取非法利益,它不但影响了食品的质量,甚至会威胁到人们的健康。目前的检测手段一般是取样后送样检测,很难实时实地得到检测结果。红肉是指在烹饪前呈现岀红色的肉,如猪、牛、羊肉等,作为日常生活中最常见的肉,避免肉类掺假,消除对人们健康威胁的重要性不言而喻。

推扫式高光谱成像系统的应用

推扫式高光谱成像系统可以获得较高的光谱分辨率,一般做法是将样品放在传送带上,从而获取整个物体的高光谱图像。早在2012年,研究人员就研究了推扫式高光谱相机对猪、牛、羊肉的区分能力,他们对提取的光谱特征进行二阶导数预处理,选择不同肉类光谱差异较大处的波长作为特征波长(光谱的二阶导数被用来研究特定波长的光谱差异,因为预处理后数据相对于原始光谱模式的波段强度和峰位置保持不变,从而对加性和乘性效应进行校正),并采用偏最小二乘判别分析(PLS-DA)进行分类。采用的像素级分类方法导致得到的分类图中包含了许多“椒盐噪声”即错误分类的像素点,作者采用多数投票方法用以得到最终的分类图。

研究人员在2018年提出了一种新的解决方案,即将像素级分类方法转换为面向对象的分类方法,同时利用图像的空间信息,用以提高高光谱分类模型的性能。文章基于现实中红肉的几种状态,建立一个分类模型来区分羊肉与其它红肉(猪肉和牛肉)以及脂肪,实验流程具体如下:

 1.数据采集。采购肉类样品集总数为45个,其中羊肉17个,牛肉13个,猪肉13个。将样本随机分成30个训练组(羊肉12个,牛肉9个,猪肉9个),其余样本用于评价。提取每一种肌肉类型的碎片并放入设计好的框架中,图一显示了其中的4个框架,每个框架包含4 * 4个格子,放有特定的肉的类型。将框架放置在传送带上,设置好相应的速度,利用高光谱相机(Xenics XEV a 1.7-320: Xenics nv)获取不同肉类在548-1701 nm光谱范围内的235个波段的光谱数据。从图二可以看到,脂肪与红肉之间差异较大,且不同的物理处理方式也会造成物体反射率曲线的差异。

图1 框架1至框架4(从上至下)为真实和伪彩色图像,其中FSUP是新鲜红肉的缩写,FSP是透明袋包装的新鲜红肉,FRUP是冷冻的无包装肉,FRPF是冷冻包装肉,THUP是融化后的包装肉。框架里F格子代表脂肪,L代表羊肉,B代表牛肉,P代表猪肉(Mahmoud Al-Sarayreh)

图2 不同状态下不同类别肉类的光谱曲线(Mahmoud Al-Sarayreh)

2.选取样本点。一般情况下,样本的选择为人工从每个类中选择roi并进行平均得到其光谱曲线,这种样本选择方法效率较低且不鲁棒,因此作者引入简单迭代线性聚类(SLIC)超像素分割算法用以生成HSI图像的超像素分割图。超像素分割的主要思路是根据像素在特征空间的距离以及视觉特征评价指标定义像素间的相似性,并将部分像素汇集在一起,将整个图像区域划分为数个子区域,每个超像素中的像素拥有相似的局部光谱特征。此外,超像素还反映了图像中的局部空间特征(如纹理特征等)。由于HSI图像维数较高,一般先对其进行主成分分析获取前几个主成分后再进行超像素分割。图三为实验流程,超像素分割图可见图三(c),可以看到不同种类肉类之间的边界得到很好地区分。

图3 一种用于提取纹理特征的高光谱图像ROI提取表示(Mahmoud Al-Sarayreh)

(a)肉类肌肉的异质高光谱图像;(b)图像的前五个主成分图像;(c) HSI图像的超像素分割图

3.提取光谱特征。为了降低计算成本,文章利用Kennard-Stone将每个超像素采样到一个具有代表性的像素子集作为最终的建模样本,并对样本进行了Savitzky-Golay预处理以及L2和标准正态变量变换(SNV)标准化处理。

为了解决高光谱高维数据带来的冗余性,文章采用递归特征消除(RFE)和随机森林(RF)算法来选择最显著的波长以区分不同种类红肉。具体做法为:在递归中,利用RFE选择一组特征波段并剔除其余的波段。然后,利用提取的特征波段拟合RF分类器,并根据分类性能表现对所选特征进行排序。最后,递归过程会对每个特征波段进行评级以反映其在特定分类任务中的重要性。文章根据不同状态的红肉建立了五个RFE-RF模型,将不同模型筛选出的特征波长组合在一起并去除重复值,得到样本的特征光谱。

  4.提取空间特征。高光谱图像中包含丰富的空间信息,文章利用主成分分析(PCA)提取高光谱数据的前五个主成分用于生成超像素分割图。对于每个超像素,使用超像素掩模对其质心像素周围20*20的邻域窗口进行掩码以获得ROI(以避免不同肉类之间的重叠)。提取在五个RFE-RF模型中重要程度排名均为最高的六个波段,计算每个ROI在这六个波段上的CLCM矩阵进而提取纹理特征。

  5.分类。最后,将提取的光谱和空间信息结合到一起并输入到支持向量机(SVM)分类器中得到最终的分类结果。定量结果可见表一,可以看到高光谱成像技术可以有效检测红肉成分并且不会被肉的状态影响。而相较于原始数据,两种归一化方法均获得了不同程度的精度增长。同样地,SNV-norm-texture方法取得了最高的分类精度,说明利用空间特征提高分类器的性能是可行的。分类图如图四所示。

表1 不同特征提取方法在对不同状态肉类上的分类结果(Mahmoud Al-Sarayreh)

图4 分类结果图(Mahmoud Al-Sarayreh)

快照式高光谱成像系统的应用

此后,研究人员又探索了快照式高光谱成像在红肉分类中的应用,他们将每张图像采样到若干具有代表性的样本中进行建模,并开发了一种用于对快照HSI图像数据进行分类的深度学习模型。具体实验流程如下,

1.数据采集。采购140个样品,包括羊肉(50)、牛肉(55)和猪肉(35),并随机分为训练组和测试组。利用25个波段的 XIMEA 快照式高光谱相机获取传送带上样本的HSI图像如图五所示。一个图像序列覆盖一个样本的全部区域,共收集了600张图像,这为基于深度学习的模型构建了一个充分的数据集。

图5 不同时间节点获取的图像(Mahmoud Al-Sarayreh)

2.选取样本点。与前文的思路相同,作者采用SLIC方法对HSI图像进行分割,同时将图像手工标记为肉类和脂肪类作为真实图,然后对应每个超像素的质心坐标将此超像素划分为肉、脂肪或背景,提取每个质心周围的S × S × λ(λ为波段数)三维窗口的光谱特征。

3.3D-CNN模型。作者提出的深度模型由9层分层结构组成:输入层是一个S × S × λ大小的3D窗口(窗口大小由寻优结果得到),一组四个具有不同核表示的3D卷积层(结构为两个连续的卷积块),以及两个3D最大池化层,用于对每个卷积块的特征图进行降采样。然后将提取的CNN特征与全连通的密集层连接,作为红肉类型的特征提取器。最后,添加了一个输出层作为一个完全连接的softmax层。为了避免模型过拟合,在池化和全连接层之后添加三个dropout层。在训练阶段,使用了Adam optimizer,具体结构如表二所示,

表2 提出的深度模型的结构和规格(Mahmoud Al-Sarayreh)

4.分类。将文章方法与PLS-DA和SVM进行对比,对比方法在每个质心周围均提取一个大小为5 × 5 × 25的窗口,计算每个窗口的平均值即一个大小为25 × 1的特征向量作为模型的输入,并进行了参数优化。得到的分类结果如表三所示,3D-CNN方法得到了最高的分类精度,同时其获得的高F1值也表明模型在鉴别肉类时具有较好的鲁棒性。

表3 各方法得到的分类结果(Mahmoud Al-Sarayreh)

最后作者对提出的深度模型进行了进一步的验证:对于一组相同的窗口数据,提取其经3D-CNN第8层全连通层处理后的输出向量进行PCA,同样对不进行其它处理的此组窗口原始数据进行PCA,绘制前两个主成分的散点图如图六所示,可以看到相较于原始光谱特征,深度模型提取的特征各类之间的可分离性较好。

图6 PCA散点图,用于可视化类之间的分离。左:原始光谱特征的前两个PCA分量。右:3D-CNN模型提取的学习特征的前两个PCA分量。(Mahmoud Al-Sarayreh)

总结

实验表明,推扫式和快照式高光谱相机均能够有效检测红肉掺假。近年来,深度模型逐渐取代了传统的机器学习模型,因为它们可以提供了更为显著的准确性水平和广泛的检测范围。然而,缺乏大型的数据库来训练模型,限制了深度模型的应用。快照式高光谱相机可以在较短的时间内获取丰富的高光谱数据,有效解决了构建深度模型面临的问题,具有很大的应用潜力。

参考文献

https://www.sciencedirect.com/science/article/abs/pii/S1466856412001026

Detection of Adulteration in Red Meat Species Using Hyperspectral Imaging | SpringerLink

Deep Spectral-spatial Features of Snapshot Hyperspectral Images for Red-meat Classification | IEEE Conference Publication | IEEE Xplore

https://www.sciencedirect.com/science/article/abs/pii/S0956713520302486#!

https://www.sciencedirect.com/science/article/pii/S2665927122000880#bib6

推扫式和快照式高光谱成像系统在红肉掺假检测中的应用相关推荐

  1. 高光谱成像技术在果蔬品质检测中的应用

    在当前市场经济背景下,食品安全问题是消费者最为关心的问题之一,尤其是果蔬产品,农药残留问题和品质问题直接关系着消费者的权益和人身安全.针对传统化学检测的缺陷,本文结合高光谱成像技术,对其在果蔬品质与安 ...

  2. loo-cv验证matlab,高光谱成像系统的基本原理,高光谱成像技术在红肉食用品质中的应用进展...

    摘要:高光谱成像技术是一种集光谱技术与计算机视觉技术为一体的无损检测技术,该项技术能快速.全面.无损地获取肉品的内外部信息,在红肉食用品质的检测中具有广泛应用.本文在简述高光谱成像原理的基础上,详述近 ...

  3. 摆扫式(whisk broom)和推扫式(push broom)卫星传感器

    目前,我们卫星传感器主要有两大类型:摆扫式(whisk broom)和推扫式(push broom).为了更好的理解和使用卫星影像数据,我们需要简单了解下这两种传感器工作原理. 摆扫式:Whisk B ...

  4. 高精度快照式高光谱成像

    最近看了些高光谱方面的资料,异想天开,有了个想法.然而,没空去实现它,因此将它分享出来!希望给相关领域的同行一点小启发.想法不是很完善,开源出来就是想让大家一起讨论讨论. 面阵相机和DOE能够实现快照 ...

  5. BI业务分析思维:供应链生产制造策略(一) “推式” 、 “拉式”

    在生产制造行业的商业智能BI数据分析.业务需求梳理过程中,对BI顾问或者BA的最大的挑战就是对业务的理解.其中就包含了供应链相关方面的专业知识,需要我们的顾问从宏观上了解这家企业的供应链.生产制造策略 ...

  6. 响应式web(四):使用Netty作为web容器,基于注解的WebFlux阻塞式与响应式实现

    目录 使用 WebFlux,针对IO密集度比较高的系统,性能会有提升. 使用 Netty 作为 web 容器:注释掉spring-boot-starter-web,启动就默认用的 netty 而不是 ...

  7. 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在Java中的使用示例

    场景 设计模式-单例模式-饿汉式单例模式.懒汉式单例模式.静态内部类在Java中的使用示例: 设计模式-单例模式-饿汉式单例模式.懒汉式单例模式.静态内部类在Java中的使用示例_霸道流氓气质的博客- ...

  8. 搭建机器人电控系统——PID算法——位置式、增量式、模糊式PID

    PID算法 PID算法介绍,不同系数仿真,优缺点 位置式.增量式.模糊式PID 大林算法.史密斯算法和PID算法的区别 文章目录 PID算法 位置式PID和增量式PID 位置式PID: 增量式PID: ...

  9. PID的增量式与位置式

    前言 在刚接触到PID控制器的时候,我对增量式,位置式这些其实也是很懵的,然后又有什么速度环啊,位置环啊,电流环啊-巴拉巴拉一堆的,但是现在理解起来其实也就利用一些简简单单的离散数据运算出期望罢了. ...

最新文章

  1. 计算机视觉中的自注意力
  2. 3.strcpy使用注意(3)
  3. 【BZOJ-1127】KUP 悬线法 + 贪心
  4. Android4大组件
  5. 不显示调用super_让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第11篇
  6. linux中Cron定时任务系统命令详解
  7. vue根据屏幕大小适配表格高度
  8. 51单片机redefinition_lcd12864程序在keil中出现好多重新定义,尝试了很多办法都改不了,求助大家了...
  9. json mysql php_PHP MySQL连接表作为JSON
  10. 软件项目验收测试报告-软件项目验收流程
  11. jquery日历插件 途牛_为开发者准备的10款最好的jQuery日历插件
  12. c语言 随机生成数独,数独高效随机生成算法的研究与实现
  13. 数据库基础(面试常见题)
  14. select into from 和 insert into select的使用
  15. 【详细教程】App inventor连接阿里云平台(APP显示STM32发来的温湿度数据等)
  16. DS18B20温度采集报警系统,原理及汇编、C语言实现
  17. react 实现问卷调查(单选题目、多选题目)
  18. work转换html,翻转换图.html · 张斯佗罗夫柯基/personal work notes - Gitee.com
  19. 苏宁易购网址爬虫爬取商品信息及图片
  20. Leetcode 414. 第三大的数(详解 C语言实现)

热门文章

  1. 北大郭炜教授《程序与算法(二)算法基础》学习笔记
  2. 整理近期微信公众收藏的文章,持续更新..(2018.4.10)
  3. python字符编码使用的是什么编码_不可不知的Python字符编码使用技巧(上)
  4. 想升级Mac新版本,无奈内存空间不够该怎么办?
  5. 项目管理 | 项目团队组建的过程是怎样的?
  6. 巴塔机器人_【机器人大战a攻略】超级机器人大战V全SR怎么获得-挖辣椒攻略
  7. 成年人最大的自律:白天多赚钱,晚上多读书
  8. C# 含runat=server属性 select控件的value和text赋值(实际值和显示文本)
  9. 集成电路中的测试概述(一)
  10. “智”和“慧”的区别是什么?