李小红,褚毅宏,毛育志,尹冠军,聂 叶,焦 富✉
(1. 贵州茅台酒股份有限公司,贵州 仁怀 564500;2. 迩言(上海)科技有限公司,上海 200000)
高粱是我国的主要杂粮作物之一,也是酿造白酒的最佳原料[1]。高粱籽粒质量的优劣直接关系着酿造白酒的品质。高粱的质量指标主要有容重、不完善粒、杂质、水分等[2]。目前在高粱质量参数不完善粒的检测识别中基本采用人工检测方法[3-4],该方法存在重复性差、检测速度慢、主观因素强和耗时费力等缺点。不能满足高粱不完善粒快速准确检测的需求。仪器法代替人工感官检测是粮食检测行业发展的重点、难点和必然趋势。
目前在粮食的不完善粒检测方面自动识别方法有基于图像特征的机器视觉技术[5-6]、基于高光谱的成像技术[7-8]、基于声学原理的检测技术[9]、近红外光谱[10]等检测方法。但基本应用于小麦、玉米、稻谷等粮食作物[5,11-12],而高粱不完善粒的自动识别技术相关文献报道极少。本文采用视觉成像系统收集各种类型高粱粒的成像,利用梯度图求取高粱的所在区域的掩膜图像,基于深度卷积神经网络识别技术建立了高粱不完善粒(生霉、虫蚀、发芽、破碎等不完善粒)的识别模型,该方法解决了高粱籽粒小带来的成像识别问题,同时满足了高粱中不完善粒的快速准确无损检测,为白酒酿造企业原料质量监控提供了技术参考。
高粱样本若干;高粱完善粒与不完善粒的挑选由质检员人工检测,分别选出完善粒、霉变粒、虫蚀粒、发芽粒、破损粒等样本各100 g。
目前市场上的仪器采图采用单面或者双面拍照。这样的采图方式往往会漏拍部分含缺陷的籽粒,或者是缺陷拍出来表现的不够完整;另外籽粒之间的堆叠也可能造成预处理分割时籽粒的不完整,基于这些考虑,本文采用了迩言(上海)科技有限公司的一种可以逐粒下料的4个面拍照采样的粮食不完善率检测仪。
设备采用360°分布的四个摄像头对高粱颗粒逐粒拍照,摄像头采用的是工业相机,光源采用面光源呈360°均匀分布于摄像头中间。高粱颗粒经振动器逐粒呈自由落体方式落入图像采集区域进行采集拍照。
设备整个硬件系统由放料模块、振动下料模块、控制模块组件、图像采集模块、样品收集模块、称重模块组成。软件部分包括人机交互界面接口、串口通信模块、自动识别模块、数据管理模块等组成。串口通信模块主要实现软件上位机与控制部分板卡进行通信控制;图像采集模块以颗粒触发光电传感器的方式来触发式的拍照采集;自动识别模块将图像采集模块获取的图片进行识别;数据管理模块对识别的结果进行存储和展示。大致的系统流程图如图1所示。
图1 设备系统流程图Fig.1 Equipment system flow chart
1.3.1 图像采集
分别采集高粱中的完善粒、霉变粒、虫蚀粒、发芽粒、破碎粒、擦皮粒等类型的样品,分类进样,通过视觉成像系统,逐粒检测,360°图像采集,实时采集各种不完善粒样品信息,每粒高粱得到 4张图像,收集各种类型的样品照片共约168 543张。
1.3.2 目标图像获取
由于图像采集系统采用的是工业相机,处于工业相机景深范围外的大部分背景为黑色背景,这为图片中高粱所在区域的提取提供了很大的方便,考虑到图片背景等原因,本文采用梯度图求取粮食所在区域的掩膜图像。通过掩膜图像对高粱图像进行目标框的识别,利用目标框截取高粱图像,然后通过填充(padding)和放缩(resize)的方法得到300*300像素的高粱图片。
图像识别是指利用计算机对图像进行处理、分析和理解。图像识别的主要流程分为四个步骤:图像采集、图像预处理、特征提取、图像识别。图像识别是以图像的主要特征为基础来进行识别,每个图像都有它的特征,如字母A有个尖,P有个圈、而Y的中心有个锐角等。计算机视觉从传统的低级特征提取到深度学习提取特征经历了几十年的发展。基于计算机视觉的发展历程,本文分别从单一特征识别、基于机器学习多特征融合的图像识别、基于深度学习的图像识别、基于细粒度分类的图像识别对高粱不完善粒的识别进行了研究。
图像最底层的特征包括颜色特征、形状特征、纹理特征等,这些在所分析的对象不复杂的时候就可以满足图像识别的要求。比如高粱的破损,直观上可以用长、宽、长宽比或白色像素面积去做筛选,但是针对粮食这种生物特征波动较大的对象,仅仅用这些基础的特征去判断破损还远远不够。从高粱的实物来观察,有很多体型较小的高粱颗粒的长宽比特征与破损颗粒的长宽比特征有差异,然而从所采样的图片中任取完善粒 100粒,破损粒100粒,对它们做长宽比的统计,统计如图2所示。完善粒与破损粒的长宽比分布有很大的重叠,所以长宽比很难识别出完善与破损。同理,从红缨子高粱的颗粒来看,也有很多长的比较白的高粱,仅用白色像素去做破损的判断也欠妥,另外反光的影响也会导致颜色分析出现偏差。
图2 长宽比分布Fig.2 Distribution of aspect ratio
从上一节的示例中可以看出,单一的特征识别存在大量误判的问题,不适用于这类应用场景。破损颗粒综合了长、宽、长宽比、白色像素这些特征,甚至还表现出了边缘的非凸性。通过分析高粱的不完善粒特征可以知道,高粱不完善粒的识别属于多特征融合图像识别的范畴。可以借助于高粱的形态特征、颜色特征和纹理等特征对不完善粒情况进行综合评价。本方法借助于以上三类特征进行主成分分析,通过特征参数的优选,最后建立 SVM 模型,实现对高粱不完善粒的分类[16]。该方法的训练精度和测试精度见表1所示,由表中数据可以看出该方法的识别精度不高。
表1 算法训练与验证精度Table 1 Algorithm training and validation accuracy
从 2.2节中可以看出,基于机器学习的多特征融合图像识别技术相比于2.1节中的单一特征技术在图像识别上能实现一定程度的高粱不完善粒分类。但是精度比较低。
基于深度学习的图像识别技术虽然也是融合了图像的多个特征进行识别,但是不同于基于机器学习的多特征融合技术需要人工提取图像的特征,深度学习则通过不断的学习拟合自动的去学习图像的特征。卷积神经网络(CNN)是一类包含卷积计算并且含有深层次结构的深度学习网络[13],在图像分类和分割、目标检测等方面的应用中表现出色[14]。CNN网络模型主要包含卷积层、池化层、全连接层,其中常用的图像分类卷积神经网络模型有 Alexnet、VGGnet、inception net、Resnet、SeNet等。
高粱不完善粒的识别需要识别出高粱中的完善粒和不完善粒类别,这本质上属于图像分类的课题。但是高粱不完善粒的识别融合了粗粒度和细粒度分类的问题,同时还存在多标签的问题(即某一粒高粱可能同时具备几种不完善类别的标签)。为了简化建模的方法,本方法选用前文提到的常见的图像分类卷积神经网络来对高粱进行识别,为减少计算成本,本方法采用基于SeNet框架的Se-Resnet50[17]网络进行识别研究。该方法的训练精度和测试精度见表1所示,由表中数据可知该方法有比较高的识别精度。
为满足更精细化的图像类别预测需求,模型不能只停留在宏观尺度上进行粗略类别划分,而是要进入更加微观的尺度“洞察秋毫”。而这种微观尺度的分类任务称之为细粒度图像分类。细粒度图像分类是近年来CV领域的一个热门研究方向。细粒度图像的类别划分更加细化,类别之间差异更加细微,只能借助于微小的局部差异才能对不同类别进行区分。近些年来针对细粒度分类问题,涌现出很多优秀的网络,比如MG-CNN、Bilinear-CNN、ST-CNN、RA-CNN,WS-DAN,TASN等。本文采用TASN[18]网络来做预测分析。该方法的训练精度和测试精度见表1所示,由表中数据可知该方法较之前提到的方法精度都达到了最优。
由 2.1节的分析可以看出基于单一特征的图像识别技术没有很明显的识别特征,后续将不再做该方法的验证。
按照人工不完善粒检测标准,分别采集高粱中的完善粒、霉变粒、虫蚀粒、发芽粒、破碎粒等类型的样品,分类进样采集图片。如图3所示为高粱不完善粒、完善粒和杂质样图示例。
图3 不完善粒、完善粒和杂质示例Fig.3 Example of imperfect granules,perfect granules and impurities
由经验丰富的检验人员人工挑选各种类型的样品照片共约168 543张,其中完善粒96 836张、擦皮粒4 183张、破损粒63 921张、虫蚀粒252张、生霉粒521张、生芽粒2 280张,杂质550张。
从收集的图片数量可看出,这是典型的长尾分布。训练时用到一些常见的数据增强方法和均衡数据策略来训练和调整参数。
3.2.1 验证集精度
将所收集到的数据按 4∶1划分训练集和验证集,分别对章节2中提到的SVM、Se-Resnet50、TASN做训练分析。三种算法训练和验证的结果见表1。
3.2.2 准确性验证
为了验证算法在线实时检测的准确性,在仪器中采集一个样本的图片后,分别用这些算法进行识别,结合数据库中存储的像素面积来折算仪器的不完善率。
具体实验步骤如下:
1. 实验选取了 12组实验高粱样品,根据GB/T 5494—2019《粮油检验 粮食、油料的杂质、不完善粒检验》,每组样品净重为 50 g,测试前18目过筛,筛除细小的碎粒和粉尘。
2. 利用本文所述仪器进行图像采集拍照,得到每一粒高粱的4个方向的高清图片。
3. 利用章节2中所述算法,计算不完善粒比率。
4. 利用仪器中数据库存储的每一粒的像素面积信息校准折算高粱各项的不完善率。
5. 人工检测样品计算不完善率。
6. 比较不完善率的差异,见表2。
表2 算法实验数据表Table 2 Algorithm experiment data table %
根据GB/T 5494—2019《粮油检验 粮食、油料的杂质、不完善粒检验》中不完善率的检验方法,仪器基于自带的自动分拣系统称重计算高粱不完善率。从表中看出深度学习的检测结果跟人工的值比较接近,与人工的平均误差在 0.48%,满足高粱不完善率检测的偏差要求。
3.2.3 重复性验证
从模型验证精度和跟人工对比的人机差精度,最终选择TASN网络部署到设备上,部署采用Tensorrt加速的技术,最终仪器检测时间控制在了5分钟以内。为了验证整机的重复性,根据LS/T 6402—2017《粮油检验 设备和方法标准适用性验证及结果评价一般原则》对37份样品进行n=6次重复检测,该模型检测的不完善率相对标准偏差(RSD%)为 0.0%~1%,平均 0.46%,重复性小于0.5%。
本研究从酿酒企业的需求出发,以高粱不完善粒检测作为课题,选用了迩言(上海)科技有限公司的一款基于逐粒 360°拍照采图的粮食不完善率检测仪。在图像识别上,分别采用单一特征、机器学习、粗粒度图像分类、细粒度图像分类的技术进行了研究,开发了基于视觉成像系统与深度卷积神经网络模型的高粱不完善率快速检测仪。该仪器能够对高粱不完善粒(霉变粒、虫蚀粒、发芽粒、破损粒、擦皮粒)进行快速的无损识别,相比于传统人工检测方法极大地提高了高粱不完善粒的检测效率。另外,该方法同样适用于其他粮食的检测,为其他粮种检测仪器的开发提供方法和参考。