APP下载

一种去柄鲜香菇视觉分级系统设计

2021-04-07刘亚川胡新宇

食品与机械 2021年3期
关键词:包边高斯图像处理

汪 威 刘亚川 吕 斌 胡新宇

(湖北工业大学机械工程学院,湖北 武汉 430068)

机器视觉与图像处理作为一种无损检测方法[1],在农产品检测方面应用广泛。其主要是通过对采集到的农产品图像进行大小、形状、颜色和表面缺陷等特征提取,给予其约束条件以达到分级的目的。Pauly等[2]利用机器视觉技术根据芒果的形状特征对芒果进行分级,其分级准确率达83.3%。杨涛等[3]提出了从成熟度、质量、形状3方面综合评估草莓等级,其分级准确率达90%以上;王阳阳等[4]利用同态滤波和改进的 K-means算法解决了苹果分级过程中,光线不均导致的表面反光和阴影问题。钟小华等[5]设计了一种利用镜面反射原理的红枣表面信息采集机构,能够采集红枣全表面的特征。Innocent等[6]开发了一种从深度图像中提取2D和3D特征的算法来估算番茄的体积和重量。香菇(shiitake mushroom)可分为花菇、冬菇和香覃,文章主要研究对象为冬菇。夏青[7]对干香菇进行了正反面识别、菇柄识别、破损识别以及纹理识别等方面的研究,但主要是对不同种类的香菇进行分类。Wang等[8]提出了一种基于分水岭算法的图像算法对白蘑菇进行分级,该算法消除了阴影和叶柄对图像的影响。综上,多数研究均是根据香菇的基本形状进行分级,对其细节的研究较少,大部分细节研究都是针对香菇的破损,没有对香菇各区域的细节进行研究;且分级均是针对干香菇,而对鲜香菇的分级研究较少,并且这些对鲜香菇的研究中仅是对香菇大小分级,未考虑其他特征,分级效果并不理想。研究拟以去柄鲜香菇为对象,基于机器视觉技术,利用颜色特征建立高斯混合模型,对香菇图像不同区域进行识别,再提取各区域的几何特征参数,根据相关标准设立分级标准,实现香菇的智能分级,旨在提高香菇分级的效率与准确率,以代替人工分级。

1 系统总体设计及工作流程

香菇分级系统主要由视觉子系统、上料机构、皮带线、翻面机构和分拨机构等组成(图1)。其中上料机构为振料盘,将散乱的待分级香菇有序地排列并输送至皮带线上。皮带线利用差速原理拉开香菇个体间距,使其能逐一通过视觉检测区域,并保证工业相机的视野范围内只出现一个待检对象。视觉系统包含两组由光源、工业镜头、工业相机和相应的算法软件构成的视觉检测工位,两组视觉检测工位之间装有一套香菇翻面机构。两组视觉检测工位分别承担香菇正、反两面的视觉检测功能,利用图像处理算法判定被检香菇等级。在视觉系统下游,沿皮带运行方向依次布置3组分料机构,可最多实现对香菇4个等级的分拨。分拨机构主要由步进电机和拨片构成,以达到最高拨5次/s的设计要求。香菇分级系统的工作流程如图2所示。

2 香菇分级的图像处理算法设计

2.1 香菇等级判定依据

去柄后的香菇主要分为菌盖、菌褶和包边等部分[9](见图3)。香菇等级主要与其直径、圆度、包边厚度、均匀性及占比等参数有关,文中将香菇分为4个等级,其评判依据如表1所示。

1. 工控机 2. 千兆网线 3. 工业相机 4. 环形光源 5. 传感器 6. 试验香菇 7. 上料机构 8. 调速器 9. 步进电机 10. 传送带 11. 翻转机构 12. 分拨机构 13. PLC控制器图1 香菇分级系统机械结构图Figure 1 Mechanical structure of Shiitake grading system

图2 香菇分级系统工作流程图Figure 2 Shiitake grading system workflow

图3 香菇各区域名称类别Figure 3 Description of each area name of shiitake

表1 香菇等级评判依据

2.2 视觉系统的工作流程

香菇分级视觉系统通过彩色工业相机获取香菇图像,根据表1中的分级要求,先将香菇从背景中分离,然后分割出菌盖、包边和菌褶,再对各特征指标进行量化,最终实现分级。其中,香菇区域的分割是图像处理的关键步骤。

样本训练的目的是对香菇进行区域分割,首先由人工或者利用传统的区域分割算法将有限的样本分为背景、菌盖、菌褶和包边4个区域。颜色是区域划分的重要特征,其中菌盖和包边的颜色特征一致,但由于菌盖与菌褶互斥,即不出现在同一样本图像中。因此可根据样本图像中菌褶颜色特征的分布情况区分样本图像中的菌盖和包边,因此利用高斯混合模型[10]实现对图像区域的分割。假设不同区域的颜色特征服从混合高斯分布(GMM),根据之前已划分好区域的样本图像进行模型训练,估计GMM参数。将GMM中所有可能存在的结果储存于查找表(LUT)中,输入实时香菇图像,使用查找表对多通道图像进行像素分类,即可得到香菇图像的区域分割结果。最终的分级部分则根据分割后的香菇区域图像,提取香菇等级相关的特征参数,根据相关标准设置香菇分级标准。其工作流程如图4所示。

2.3 区域分割

2.3.1 图像预处理 为简化训练样本的制作,将有限个具有各种特征的香菇图像进行组合,制作成一张训练图片如图5所示。

先将原始图像由RGB色彩空间转换为HSI[11]色彩空间。在传统的RGB颜色空间中,任何颜色都可由分量 R、G、B 不同的取值表示,3个分量间具有较强的相关性,在香菇图像分割中很难将各区域进行分割。HSI颜色空间即色调、饱和度、亮度。相比原始的RGB图像,HSI图像对颜色信息的利用率更高,在香菇图像区域分割时更容易将各区域进行分隔。香菇训练图像的HSI各分量图像如图6所示。

图4 视觉系统工作流程图Figure 4 Vision system workflow

图5 香菇训练图像Figure 5 Shiitake training image

分别对图6中3个通道的图像进行阈值分割、膨胀腐蚀等处理,再根据形状、特征选择区域等图像处理后,将训练图像中的各个区域进行分割,分割结果如图7所示。

2.3.2 香菇区域分割的GMM建模与求解 在采集到的彩色香菇图像中,所有的像素颜色特征组合成一个高斯混合模型。将香菇图像分为菌盖(包边)、菌褶、背景3个部分,设置的高斯混合模型由K=3个高斯分布组成,其中每一个高斯分布都是该高斯混合模型的子分布。其是由H、S、I 3个维度的颜色特征组成的多维数据的单高斯模型,其样本数据可记作x=[xH,xS,xI]。求解其中每一个高斯模型的期望、方差及其在混合模型中的概率,即该高斯混合模型的训练。

图6 训练图像的HSI各分量图像Figure 6 HSI component image of training image

图7 香菇训练图像区域分割结果Figure 7 Region segmentation results of mushroom training image

对于单高斯模型,当样本数据x为一维数据时,高斯分布遵从概率密度函数:

(1)

式中:

μ——数据均值(期望);

σ——数据标准差。

针对香菇彩色图像,像素的样本数据x是一个包含H、S、I 3个通道多维数据的三维矢量,即当x=[xH,xS,xI]时,高斯分布遵从概率密度函数:

(2)

式中:

μ——3个通道的平均矢量(即平均色调、平均饱和度、平均亮度);

∑——一个3×3的协方差矩阵,对角线上的元素表征3个维度上变量的方差;

D——数据维度,取3。

混合模型是一个可以用来表示在总体分布中含有K个子分布的概率模型。高斯混合模型的概率分布为:

(3)

式中:

K——混合模型中子模型数量,取K=3;

φ(x|θk)——第k个子模型的高斯分布密度函数(即菌盖、菌褶和背景中某个区域中像素的高斯分布密度函数)。

式(3)中,参数θ=(μk,σk,φk)T,即每个子模型的期望、方差、在混合模型中的概率。求解出θ即可完成高斯混合模型的训练[12]。

对于单高斯模型,一般使用最大似然法估计参数θ的值。

θ=argmaxθLθ。

(4)

因为香菇图像中每个像素的颜色特征都是独立的,故在计算中每个数据点也可以看成是独立的,则其似然函数即为概率密度函数。

(5)

式中:

xj——第j个观测数据,j=1,2,3,…,N。

单高斯模型中,观测数据可能属于HSI中任意一维的数据,即x=xH或x=xS或x=xI。

由于图像分辨率较高,故每个点发生的概率都很小,乘积也会变得极其小,不利于计算和观察,因此通常用Maximum Log-Likelihood计算:

(6)

对于高斯混合模型而言,Log-Likelihood函数为:

(7)

因此,无法使用单高斯模型的最大似然法进行求导,求得使likelihood最大的参数,因为每个像素点属于哪个区域是未知的,即某个像素属于不同区域的概率是隐变量。因此使用EM算法进行求解。EM算法是一种迭代算法,1977年由Dempster等[13]总结提出,用于含有隐变量的概率模型参数的最大似然估计。

利用EM算法迭代更新高斯混合模型参数的方法如下:

先初始化参数(μ,∑,π)。

E步:求期望E(γjk|X,θ),j=1,2,3,…,N。其中,γjk表示香菇图像中第j个像素数据属于第k个子模型的概率。

依据初始化的参数求解γjk:

(8)

M步:求解参数的极大值,计算新一轮迭代的模型参数,分别如式(9)~式(11)所示。

(9)

(10)

(11)

其中,计算∑k时用到的是该论更新过的μk。重复计算E步和M步直至收敛,即找到高斯混合模型的参数。

2.3.3 香菇图像的区域分割 香菇图像区域分割中,使用查找表对多通道图像进行像素分类。LUT是用简单的查询操作替换运行时的计算步骤。由于从内存中提取数值比计算快,所以得到的速度提升效果很显著。

读取上一步高斯混合模型训练结果,建立一个LUT,将GMM的每一个可能的响应都存储至LUT中。将相机实时拍摄的图像转换为HSI色彩空间,再重新组合为多通道图像。使用LUT对该多通道图像进行像素分类,因为不再需要对每个图像点的类别进行估计,因此像素分类的速度得到了很大的提高。分别对每一个像素点进行像素分类,即完成了香菇的图像区域分割。

2.4 分级标准的量化

要实现香菇分级,需对分级标准进行量化,根据NY/T 1061—2006以及相关特征参数和人工分级结果,特制定香菇的量化分级标准流程如图8所示。

2.4.1 正反面的判断 由表1可知,关于香菇分级的特征参数多在香菇的反面,所以先对香菇的正反面进行判断。判断香菇的正反面可通过图像中菌褶的面积占比进行确定。通常香菇的菌褶只存在于香菇背面,可通过菌褶面积占比识别香菇的正反,分别计算香菇整体和菌褶面积,记为Sentire和Slamella,定义rLE=Slamella/Sentire作为正反面的识别因子。如设当rLE<0.1时,当前图像为正面,反之则为背面。

图8 香菇分级量化标准Figure 8 Classification and quantification standards

2.4.2 直径和圆度 以香菇轮廓区域的形心为起始点,等角度间距δA引出直线段,每条直线段的终点为其与香菇轮廓边缘的交点,一般设δA=1°,如图9所示。

图9 香菇图像和由线段组成的轮廓图Figure 9 Shiitake image and outline composed ofline segments

设直线段的长度为L=[L0,L1,…,LN],N=360/δA。则定义香菇直径D和圆度C为:

D=uL,

(12)

(13)

(14)

(15)

其中,C的值越接近于1,圆度越好。

2.4.3 破损或畸形度的计算 香菇的破损或畸形主要体现在菌褶区域,计算香菇的破损度可以将香菇菌褶区域的图像进行凸包性转换。凸包是将二维平面上的点集最外层的点连接起来构成的凸多边形,其能包含点集中所有的点。对香菇轮廓图像进行凸包性转换可以方便地计算破损区域面积。香菇整体区域和经凸包转换后的区域示意图如图10所示。

对图10(b)和图10(c)两个区域进行减法运算,所得区域即定义为香菇的缺陷部分(见图11)。

将香菇破损区域面积定义为Sbroken,香菇的破损率可定义为tbroken,并按式(16)计算。

(16)

2.4.4 包边厚度、均匀性及占比 香菇菌盖外翻至背面的部分称为包边,包边厚度、均匀性和占比是影响香菇等级的重要因素。其包边示意图如图12所示。

图10 破损香菇轮廓和凸包转换后的轮廓Figure 10 The contour of the damaged Shiitake and the contour after the convex hull conversion

图11 香菇破损区域Figure 11 Damaged area of shiitake

图12 包边示意图Figure 12 Schematic diagram ofturned edge

操作步骤同2.4.2,得到一个由N条直线段组合成的图像,其中N=360/δA,一般设δ=1°。将此图像与香菇包边区域相交,可得由N条线段组成的线段环,如图13所示。

包边厚度分布如图14所示。

计算图13轮廓环中所有线段长度,分别定义为l=[l0,l1,…,lN],包边厚度则为所有线段长度的平均值,则定义香菇包边厚度d为:

d=ul,

(17)

(18)

香菇包边的均匀性可用标准差S表示:

(19)

其中,将香菇包边部分的面积定义为Sedge,香菇包边部分所占香菇整体的比例越大,则香菇品质越高,定义香菇包边占比为tedge,则:

(20)

3 试验与验证

3.1 香菇分级系统的搭建

为验证文中提出的分级方法,搭建了一套香菇智能分拣系统样机。视觉部分采用IMI的716 G彩色工业相机,分辨率1 280×960,白色环形LED光源,焦距为8 mm 的工业相机镜头,采用Gige以太网传输图像。工控机主要配置为Intel i7-7700K CPU,NVIDIA GTX1080Ti GPU,16 GB RAM,64位 Windows 7操作系统。

采用VS2015 C++与QT作为开发平台,借助Halcon图像处理算法库,开发分级系统软件,其主要界面如图15所示。

图13 香菇包边轮廓的线段环Figure 13 Line segment ring of the mushroom turned edge

图14 包边线段长度分布直方图Figure 14 Histogram of the length distribution of the turned edge line

图15 软件操作界面Figure 15 GUI of software

3.2 试验

3.2.1 与人工分级结果对比 选取1 000个香菇进行分级测试,设置香菇等级划分为Ⅰ级、Ⅱ级、Ⅲ级、Ⅳ级4类。同时,设定人工肉眼分级作为对照组,其分级结果见表2。

表2 系统分级与人工分级结果对比

由表2可知,与人工分级相比,香菇自动分级系统的整体准确率达96%以上。同时进行了系统分选速度测试试验,将震料盘上料速度与传送带输送速度均调整为最高,自动分级系统对1 000个香菇完成分级花费时间290 s,平均速度为3.4个/s,而人工手动分级的平均速度为0.7个/s,自动分级系统的平均速度为人工的5倍,且人工分级出现了后期速度变慢的问题。

3.2.2 图像处理速度稳定性试验 为验证不同香菇图像处理速度的稳定性以及不同等级的香菇图像处理速度的差异性,选取已分级好的不同等级的香菇图像各20张,输入至分级系统,计算图像处理时间,其结果见表3。由表3可知,不同等级香菇的平均图像处理时间基本无显著差异,说明图像处理速度的稳定性较高。

表3 香菇图像处理时间统计

基于机器视觉的香菇自动分级系统速度快、准确率高,可以充分满足食品工业的生产要求。相对于人工手动分级,香菇自动分级系统不仅速度快而且可以长时间工作并保持较高的工作效率,且不存在主观偶然性,分级标准永远保持一致。

4 结论

设计了一种基于机器视觉的香菇自动分级系统。在计算机视觉的基础上,利用高斯混合模型(GMM)对香菇图像进行区域分割,并结合LUT将香菇图像分割成菌盖、菌褶以及背景区域。结果表明:香菇自动分级系统的分级速度快、效率高、分级结果准确,可以有效替代人工分级并满足食品工业企业的生产需要。但是目前的分级准确率和分级速度还有提升的空间,后续可以通过提高震料盘上料速度和皮带线的运行速度,改进算法,有望将准确率提高至99%以上、分级速度达5个/s以上。此外,试验仅测试了香菇中的冬菇,后续将增加对其他香菇品种的研究。

猜你喜欢

包边高斯图像处理
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
某SUV尾门包边模设计及应用*
浅议机器人包边在新车型中的应用分析
新型包边工艺在样车试制过程中的应用及质量控制
数学王子高斯
试制汽车门盖包边工艺及包边质量控制
基于ARM嵌入式的关于图像处理的交通信号灯识别
天才数学家——高斯
机器学习在图像处理中的应用