APP下载

基于图像局部方差的亮度矫正下番茄表面缺陷检测方法

2023-10-24何婷婷姚继超张钟莉莉芦天罡岳焕芳

食品与机械 2023年9期
关键词:矫正番茄区块

何婷婷姚继超张钟莉莉芦天罡岳焕芳

(1. 山西农业大学,山西 太谷 030801;2. 北京市农林科学院智能装备技术研究中心,北京 100097;3. 山东省聊城市水利事业发展和保障中心,山东 聊城 252000;4. 北京市数字农业农村促进中心,北京 100101;5. 北京市农业技术推广站,北京 100029)

表面缺陷是决定番茄品质分级的重要因素,准确检测出番茄表面的缺陷区域,对于保障番茄品质分级工作具有重要的意义。对番茄的表面损伤检测中国仍然以人工检测为主,不仅检测效率低而且会对番茄果实造成二次损伤,此外,由于人的主观差异带来的分级不稳定的情况同样值得关注。在此背景基础下,基于机器视觉的无接触检测方法在番茄表面损伤的定位与识别工作中具有广泛的应用前景。

采用阈值分割技术提取缺陷的方法在果蔬表面缺陷检测上的应用较为普遍[1-2],但分割后的图像存在花萼与茎疤、高亮区域与缺陷区域共存的现象。为了更准确地提取样本表面的损伤区域,在进行缺陷区域分割前进行花萼与茎疤检测[3-4]和表面亮度矫正[5-6]等处理是必要的。经过花萼与茎疤检测和亮度矫正后的图像表面缺陷区域与正常区域的颜色和纹理有较明显的差异[7],可采用图像分割方法对处理后的样本图像进行缺陷分割。Cao[8]使用Otsu分割方法对苹果表面的腐烂区域进行识别,但由于缺陷边缘与其相邻正常区域的对比度较低,导致缺陷提取不完整且缺陷区域存在“毛边”。燕红文[9]使用区域生长算法对番茄的损伤区域进行分割,但需要根据试验结果不断调整种子像素值和相似阈值以获取准确的损伤区域,试验步骤繁琐且耗时较长。此外,基于图像分割的缺陷区域提取方法无法完整提取连续大面积分布的缺陷区域,故部分学者提出使用基于图像局部像素差异的方法来提取果蔬表面的缺陷区域。Hassan等[10]通过遍历图像像素,计算各像素与其±0°,±45°,±90°,±135°角上相邻像素的差值来判定橄榄的缺陷区域。Beyaz等[11]通过使用每个像素周围的局部一阶图像统计选择的局部自适应阈值来对橄榄图像进行二值化,以确定缺陷的位置。遍历图像像素进行缺陷区域判断可以准确定位缺陷区域,但是耗时长。针对此问题,马大国等[12]将木材图像进行分块,对每一块图像进行多方向多尺度Gabor变换并统计其系数的均值和方差作为特征,实现了木材表面缺陷的准确定位与识别。郭慧等[13]将刨花板灰度图像划分成若干图像块,使用灰度共生矩阵参数对各图像的纹理进行表征,通过分层聚类算法将不同纹理特征的区域区分开。根据已发表的文献,这种基于图像分块技术的局部特征统计方法目前主要应用于木材表面缺陷的检测。

研究拟以番茄为研究对象,采用图像分块技术将番茄图像划分为若干个互不重叠的图像块,计算每个图像块的像素方差用于表征该区域的像素变化,以此来定位番茄表面缺陷的位置,通过计算缺陷面积占番茄图像总面积的比例作为特征,使用SVM模型进行缺陷检测,以期实现番茄表面缺陷的准确、高效的识别。

1 材料与方法

基于机器视觉的果蔬缺陷检测通常基于4个步骤来实现,如图1所示。试验从图像采集开始,采集的图像经过图像处理操作以便进行分析,果蔬缺陷检测的精度通常取决于缺陷区域的颜色或纹理特征提取结果。

图1 试验流程

1.1 图像采集

番茄样本采摘于北京市大兴区宏福农业科技有限公司的连栋温室,品种为Cappricia,其果面缺陷的类型包括刺伤、病斑、裂纹和脐腐等。试验所用的番茄图像均由图2所示的图像采集装置捕获。选择不同成熟度的健康和缺陷番茄的图像共500张作为训练集进行缺陷检测训练,另准备健康和缺陷番茄图像各50张用于验证。

1. 背景框架 2. 光源 3. 相机支架 4. 相机与镜头 5. 番茄样本 6. 计算机

1.2 图像处理

番茄图像的背景、花萼与茎疤以及表面高亮区域都可能影响缺陷区域提取结果,因此在进行缺陷检测前,剔除这些干扰因素是必要的。通过颜色空间转换来增强番茄果实颜色强度,而后根据番茄果体与其他干扰区域的像素差异,采用阈值分割方法提取干扰区域进行相应的剔除或矫正操作。

1.2.1 背景去除 在试验设置的图像采集条件下,番茄目标与背景能够明显区分,使用简单阈值分割方法就可以将番茄目标与背景分离。为了突出番茄轮廓并降低背景像素,将RGB图像转换至与设备无关的HSV和LAB颜色空间下进行显示,使用S+L图像进行Otsu分割,实现番茄目标提取。

1.2.2 花萼与茎疤检测 由于番茄的花萼和茎疤与缺陷的颜色和纹理相似,因此在进行缺陷区域检测和提取时,有必要将花萼和茎疤与检测区域分离,以检测真实的缺陷。为了准确检测并剔除花萼和茎疤,采用1.5G—R法来增加番茄红色果体与花萼和茎疤的对比度,分割阈值由式(1)计算。

(1)

式中:

T——分割阈值,像素;

μmxr——图像中重复次数最多的像素值;

μmean——图像像素均值。

1.2.3 高亮区域矫正 在基于颜色和纹理的水果表面缺陷检测研究中,水果表面的高亮区域同样会造成健康或缺陷区域的误识别,因此有必要对番茄表面的高亮区域进行亮度矫正。亮度矫正的前提是实现高亮区域的准确定位和提取,对番茄图像的B分量图进行简单阈值分割以获取其表面的高亮区域,分割阈值为B分量的图像直方图的中值。完成高亮区域提取后,采用Telea[14]提出的图像快速修复方法来矫正番茄图像中高亮区域的亮度,该方法通过将高亮区域邻近的像素邻域中所有已知像素的归一化加权和代替原区域像素的方法来矫正高亮区域亮度。在选择权重时,对于靠近待矫正点的像素、靠近边界的法线和位于边界轮廓上的像素,给予更多的权重。

图像处理的流程和每个步骤的处理结果如图3所示。可以看出,所用的图像处理方法在背景去除、花萼与茎疤检测和高亮区域亮度矫正3个处理阶段均取得较好的效果。

而后,将处理后的番茄图像划分成若干子区块,计算每个子区快的像素方差与设定阈值进行比较,大于阈值的区域像素被设置为1,否则设为0,遍历所有子区块,得到所有包含缺陷区域的图像块。

1.3 缺陷区域提取

研究提出一种基于图像局部方差的缺陷区域分割方法来定位番茄表面的缺陷区域。该方法将图形划分为互不重叠的固定大小的矩形块,通过统计分析所有矩形块内的像素方差和纹理变化,进而确定缺陷的具体位置[15]。

为了方便选择子区域块的大小以及统计缺陷区域面积等特征,在划分子区块前,将图像大小统一设置为512×512,并将番茄图像划分成若干子区块,计算每个子区块的方差作为分类特征,大于指定阈值的子区块被提取出来,否则舍弃,具体步骤:

(1) 将番茄图像划分为m×n个区块,其大小根据缺陷区域大小进行选择,按式(2)计算每个矩形块的方差σ2。

(2)

式中:

σ2——矩形块的方差;

i——子区块内每个像素点的灰度值;

μ——子区块的平均灰度值,μ=ΣiPi;

Pi——像素值i在子区块内出现的概率,Pi=Ni/N;

Ni——子区块内i的像素个数;

N——子区块的像素总数。

(2) 建立空白图像I(512,512),并将其划分成m×n个矩形块与番茄图像的子区块位置一一对应,将方差σ2大于设定阈值σ0的子区块内的像素指定为1,否则,指定像素为0。

(3) 遍历所有子区块,将图像I作为缺陷区域分割的掩膜图像与原始图像进行按位与处理,就可以提取出番茄表面的缺陷区域。

分割阈值σ0的确定方法为,寻找番茄轮廓的最大内接圆,确定其圆心和半径R,将R分成M份,从圆心开始以K×R/M(1≤k≤M)的半径向外画圆,分别计算各圆环区域的图像方差,以M个方差的平均值作为最终的缺陷分割阈值。

1.4 缺陷识别模型与评价指标

采用支持向量机(Support vector machine, SVM)对番茄表面缺陷进行检测,SVM本质上是一个二分类器,包括线性、多项式、sigmoid和高斯4个常见核函数,能够处理多种分类问题,且适用于小样本的分类[16-17]。试验以每张番茄图像提取的表面缺陷区域面积占番茄图像总面积的比例为SVM模型的输入来检测番茄是否存在表面缺陷,将番茄分为健康番茄与缺陷番茄两类,使用50个健康番茄和50个缺陷番茄来验证所提方法的适用性。

1.5 试验工作平台

试验工作平台包括硬件与软件平台两个部分,硬件配置为英特尔酷睿 i5-11400H CPU处理器,内存为16.0 GB,RTX 3050显卡。软件开发平台为Windows 11 64 位操作系统下,整个试验基于OpenCV 3.4.2.16开源软件库实现,编程语言为 Python,特征数据使用Excel进行处理与分析。

2 结果与讨论

2.1 缺陷区域提取可视化分析

采用图像局部像素方差法分别对亮度矫正前后的番茄图像进行缺陷区域提取,结果如图4所示。从图4可以看出,由于高亮区域与番茄缺陷在颜色上具有较强的相似性,因此在未进行高亮区域亮度矫正时,表面存在小面积高亮区域的番茄图像能够提取出比较完整的缺陷区域,而表面分布有大面积高亮区域的番茄图像存在部分高亮区域被误分割为缺陷的情况。经过高亮区域亮度矫正后,番茄表面的缺陷区域被完整地分割出来,且结果图中的非缺陷区域非常少,可忽略不计。将基于亮度矫正的缺陷区域提取算法应用于50幅缺陷番茄图像进行验证(图5),该算法在未进行矫正的番茄图像集上准确率和均方根误差(RMSE)分别为61.47%和27.34,精度较低;而在经过亮度矫正的图像上分别获得了89.21%的准确率和9.13的RMSE,相对于亮度矫正前,准确率提高了27.74个百分点,RMSE降低了18.21。

图4 番茄表面缺陷区域提取结果

为了验证所提方法对番茄表面缺陷提取的准确度,将所提方法的缺陷提取结果分别与全局阈值分割、动态阈值分割和区域生长算法进行比较(图5)。可以看出,全局阈值分割方法对番茄表面的缺陷区域的分割效果最差,由于缺陷区域和正常区域的对比度明显小于番茄果体和黑色背景,故该方法无法将对比度较小的缺陷和正常区域区分开。基于动态阈值的分割方法能够基本确定番茄表面的缺陷位置,但无法提取与健康区域颜色接近的缺陷,并且会忽略番茄轮廓边缘位置处与健康颜色差异明显的缺陷。相对而言,基于区域生长算法的分割方法能够更准确地分割缺陷区域,然而对于颜色和纹理较浅的缺陷区域,该方法仍不能准确检测并完整地分割出来。从图5可以看出,相比传统的图像分割算法,基于图像局部方差的缺陷区分割方法不仅能够准确检测出颜色、纹理与正常区域相似的小面积缺陷,并且可以完整地提取番茄表面存在连续分布的多区域缺陷。

2.2 缺陷识别精度分析

使用SVM模型对番茄表面缺陷检测的结果如表1所示。可以看出,4个SVM对番茄表面缺陷检测的平均准确率按照线性-SVM<多项式-SVM

表1 缺陷检测结果

3 结论

针对基于颜色的阈值分割方法难以提取与果体颜色差异不明显和连续分布有大面积缺陷的问题,提出一种考虑亮度矫正下基于图像局部方差的番茄表面缺陷检测方法。采用阈值分割和图像快速修复方法对番茄图像进行图像处理,以去除可能会对缺陷检测造成干扰的背景、花萼与茎疤以及高亮区域等因素。

经过亮度矫正,缺陷区域的提取准确率比亮度矫正前提高了27.74%。以缺陷区域面积占比为输入的高斯-SVM模型在缺陷检测方面的性能最优,其平均检测准确率为96%,对健康和缺陷番茄的检测准确率均超过90%。结果表明,该方法可以用于番茄产后检测过程中对表面缺陷的识别。

猜你喜欢

矫正番茄区块
番茄炒蛋
秋茬番茄“疑难杂症”如何挽救
番茄果实“起棱”怎么办
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
“体态矫正”到底是什么?
矫正牙齿,不只是为了美
矫正牙齿,现在开始也不迟