基于图像处理与深度学习的苹果检测分级
作者: 项辉宇 黄恩浩 冷崇杰 张勇
摘 要:苹果质量备受人们的关注,如何精准高效地对苹果质量进行检测分级是目前这一领域研究的重要内容。基于Matlab软件设计自动化程序,采集图像进行图像处理。通过视觉检测平台采集图片、对图片预处理、将处理后的图像进行大小、颜色、缺陷3方面检测,分别得到每项检测后的等级A、B、C,汇总单项等级得到整个苹果质量等级。出于自动识别及分级的目的,运用深度学习的方法,对获取到的图像进行特征提取,训练分类器,最终实现对苹果总体质量的评级,并以图像检测结果作为标准测试其准确率。综合上述分析提出一种基于深度学习的苹果质量检测及分级方法,该方法可准确快速地对苹果进行分级,能很好地完成实验目的,同时也体现出深度学习在图像处理方面的快速发展与重要性,并为其在其他领域的应用提供思路。
关键词:Matlab;自动化;图像处理;深度学习;分类器
Apple Detection and Classification Based on Image Processing and Deep Learning
XIANG Huiyu, HUANG Enhao*, LENG Chongjie, ZHANG Yong
(Artificial Intelligence Academy, Beijing Technology and Business University, Beijing 100048, China)
Abstract: The quality of apples has attracted much attention. How to accurately and efficiently test and grade the quality of apples is also an important part of the current research in this field. An automated program was designed based on Matlab software to collect images for image processing. Collect pictures through the visual inspection platform, preprocess the pictures, and test the processed images for size, color and defects, and obtain the grades A, B and C after each inspection, and summarize the individual grades to obtain the entire apple quality grade. For the purpose of automatic identification and grading, the method of deep learning is used to extract the features of the obtained images, train the classifier, and finally achieve the overall quality rating of apple, and use the image detection results as the standard to test its accuracy. Based on the above analysis, an apple quality detection and classification method based on deep learning is proposed, which can accurately and quickly classify apples, and can well accomplish the purpose of the experiment. which shows the rapid development and importance of deep learning in image processing, and provides ideas for its application in other fields.
Keywords: Matlab; automation; image processing; deep learning; classifier
在苹果的质量检测方面,国外的研究较为先进,可准确检测苹果的外观,并对内部缺陷等问题进行深入研究。国内对于苹果等水果的检测主要采用人工识别的方法,近年来也出现一些运用图像处理自动识别的方法,但不够准确、高效。1984年,Thylor R.W.等提出了用模拟摄像机检测苹果的外部损伤;1989年Rehkugler G.E.和Throop J.A.提出一种基于损伤面积和表面灰度的新算法;Kazuhiro Nakano等通过神经网络对苹果的颜色进行分级。国内的研究者们在21世纪也纷纷投入此项研究中。项辉宇等[1]使用Halcon对苹果的外部与特征进行图像处理的研究,该方法可较好地完成缺陷等外部特征的识别检测;高辉等[2]采用亮度校正与机器视觉结合的方法对苹果的缺陷进行快速检测,该方法较为清晰且准确率较高;周雨帆等[3]采用轻量级卷积神经网络,大幅减少了模型参数和训练时间,对苹果的表面缺陷检测取得了较好的效果。在传统研究方法中,多数学者对检测识别进行了探究,但如何在识别到分级的整个过程中做到完全自动化还没有很好的解决方
案[4-5]。因此,本研究尝试采用卷积神经网络(Convolutional Neural Networks,CNN)与分类器(Support Vector Machine,SVM)相结合的方法,对比图像识别方法的结果,检测其准确率,并为深度学习在其他领域的新应用提供思路与理论基础。
1 材料与方法
1.1 材料与仪器
苹果的来源:放置一段时间的市售红富士苹果;维视视觉检测(MV-BDP200型),维视数字图像技术有限公司。
1.2 方法
1.2.1 苹果特征检测
(1)特征检测整体流程。苹果的大小、颜色、缺陷检测的总体流程如图1所示,其中缺陷检测是3项检测中最重要的,因此也是内容最复杂的。
图像增强是将原图像中的感兴趣特征放大,让图像更清晰,更好地达到检测的需要。图像复原是利用模糊函数将图像的模糊部分去除,还原图像。图像灰度处理是将彩色图片转化成灰白图片,为后续图片的其他处理做准备工作。图像二值化是将得到的灰度化图像,通过设定阈值门限进行分割,高于阈值的像素值变为1,低于阈值的像素值变为0,从而使图像只有两个值。图像的平滑处理有3种最主要的方法,即中值滤波法、邻域平均法和高斯滤波法,综合考虑各方法的优缺点,并根据本实验希望得到清晰、平滑、精准的预处理图的目的选择最适合于本次研究的高斯滤波法。高斯滤波法是目前应用最广泛的平滑图像方法,能够非常有效地抑制噪声,达到平滑图像的目的。高斯滤波器输出的是滤波窗口内所有像素的平均值,它的模板系数随着距模板中心的距离增大而减小,这使高斯滤波器具有很大优势,因此它对图像的模糊程度比其他几种滤波器要小。由图2可以看出,经过图像增强以及滤波过后的图片,特征清晰度更高。
(2)大小检测。通过苹果在图像中的面积对整体大小进行检测。利用imfill函数,填充二值图像中的空洞区域bw=imfill(~bw,‘holes’);利用bwarea函数计算面积bwarea(bw)。
(3)颜色检测。在检测水果颜色时,需要找到适合的颜色模板,目前常用的颜色模板有RGB、HIS、HSV和HSB等,本实验选取HSV模型检测苹果的颜色信息。苹果的颜色检测主要通过图像的H分量展示,详见图3。
(4)缺陷检测。苹果的缺陷检测是3项检测中最重要的,也是复杂程度最高的。在实验中主要采用边缘检测求出缺陷的区域从而识别。在图像边缘检测过程中,涉及Sobel算子、Canny算子、Laplacian算子、Prewitt算子和Roberts算子等一系列非常重要的检测算子,其优缺点见表1。
Roberts算子是最简单的算子之一,是一种使用局部差分算子来寻找边缘的算子。对角线上两个相邻像素之间的差异用于近似梯度幅度以检测边缘。检测垂直边缘的效果优于倾斜边缘,定位精度高,对噪声更敏感,无法抑制噪声的影响。Roberts边缘算子是一个2×2模板,它使用对角线方向上两个相邻像素之间的差异。从图像处理的实际效果来看,边缘定位准确,对噪声敏感。Roberts算子的模板及算法原理如式(1)、式(2)所示,对于输入图像f(x,y),使用Roberts算子后输出的目标图像
为G(x,y)。
(1)
(2)
Roberts算子是2×2算子模板。式(3)、式(4)所示的2个卷积核形成了Roberts算子。
(3)
(4)
图像中的每一个点都用这2个核做卷积。Sobel算子对传入的图像像素执行卷积。卷积的本质是求梯度值,或给一个加权平均,权重就是所谓的卷积核;生成新像素的灰度值作阈值计算来确定边缘信息。Sobel算子认为邻域内的像素点对当前像素点的影响是不等价的,因此不同距离的像素点权重不同,对算子结果的影响也不同。一般来说,距离越远,影响越小。运算原理如式(5)、式(6)、式(7)。
(5)
(6)
(7)
其中,Gx是对原图x方向上的卷积,Gy是对原图y方向上的卷积,代入A,则最终得到的G就是(x,y)处的像素值。Sobel算子在两个方向上的检测效果见图4。
在表面效应方面,Canny算法是对Sobel等算子效应的进一步细化和更准确的定位。Canny算法步骤如下。
使用高斯滤波器,以平滑图像,滤除噪声。二维高斯分布公式如下:
(8)
计算图像中每个像素点的梯度幅值和方向。此步骤方法与Sobel算子非常类似。运用一对卷积阵列,使用式(9)、式(10)、式(11)计算梯度幅值和方向,梯度幅值近似到4个可能的角度之一(一般为0,45,90和135)。
(9)
(10)
(11)
应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。这一步也是使Canny算子优于Sobel算子最重要的步骤。
应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
确定出一定是边的像素点,然后遍历这些一定是边的像素点的8邻域,找到是否存在灰度值在minvalue与maxvalue之间可能是边的像素点。如果此像素点可能是边并且又在肯定是边的像素点的8邻域内,则将其标记为一定是边的像素点。将这些一定是边的像素点连接起来就是边缘。
1.2.2 分级系统及基于深度学习的苹果质量自动评级
(1)单项分级。先将检测到的苹果大小、颜色、缺陷进行单项分级。①大小(面积bw)。当bw≥30 000时显示为A级果;当1 000