基于超像素特征的苹果采摘机器人果实分割方法

2019-12-06 03:03刘晓洋赵德安贾伟宽阮承治
农业机械学报 2019年11期
关键词:正确率像素背景

刘晓洋 赵德安 贾伟宽 阮承治 姬 伟

(1.江苏大学电气信息工程学院, 镇江 212013; 2.山东师范大学信息科学与工程学院, 济南 250358;3.武夷学院机电工程学院, 武夷山 354300)

0 引言

苹果是我国产量最高的水果,根据2019年中国统计年鉴数据显示,2017年中国苹果总产量达4 139万t。苹果采摘作业是一种劳动力密集型和时间密集型工作。为推进农业生产的自动化,采用苹果采摘机器人替代人工进行果实采摘是农业发展的必然趋势[1-3]。在自然非结构化的环境下,果实由于着色不均或受光线影响增加了识别和分割的难度。

根据果实和背景的色差并结合阈值分割的方法是一种常用的果实分割方法[4-5]。这种类型分割方法的核心思想是在RGB、Lab、HSV、HSI和YCbCr等颜色空间中寻找背景和目标差异较大的颜色通道,或者根据不同颜色通道间的运算构造出背景和目标差异较大的图像,再进行阈值分割[6-8]。吕继东等[9]采用R-G色差结合Otsu动态阈值法实现了对苹果的快速分割。卢军等[10]采用R-B色差结合Otsu动态阈值法实现了对成熟柑橘的初步分割。司永胜等[11]将满足公式R-G>0和(R-G)/(G-B)>1的像素点划分为苹果像素点实现了果实的分割。THENDRAL等[12]采用Lab颜色空间中的a分量,实现了对成熟柑橘的分割。该类型方法因简单、快速、运算量少,且不涉及复杂运算,便于在多种硬件平台上实现,而得到广泛运用。但是,其缺点同样明显,该类算法只能适应特定的光线环境,对于自然环境下多变的光线环境识别效果不佳。此外,该类型算法难以对背景中所有景物实现有效的分离。例如,在利用R-G色差法结合Otsu自动阈值法对成熟苹果进行分割时,难以将果实与嫩枝和土壤等景物进行有效分离。

相较于以上基于色差与阈值分割的果实分割算法,基于多种特征和智能分类算法的果实分割方法具有更好的分割效果[13-15]。TEIXID等[16]采集2种树枝样本、5种树叶样本和4种果实样本,根据不同像素点样本在RGB颜色空间的分布,建立11种线性颜色模型,以实现对桃子果实的分割。JI等[17]首先筛选出一批可能是苹果的像素点,然后以像素点之间在RGB颜色空间的欧氏距离作为相似性衡量标准,采用区域生长法对苹果果实进行初步分割,再通过生长区域的颜色纹理特征,采用SVM法对其进行分类,实现对果实的分割。LIU等[18]根据每个像素的RGB值和HSI值,采用反向传播神经网络(Back propagation neural network, BPNN)进行分类,初步分割出夜间的苹果果实,并根据已分割果实周围像素的相对位置和颜色差,采用BPNN进行再次分割,得到果实边缘较暗的部分,实现对夜间果实的完整分割。

以上算法在初步分割阶段仅考虑了单个像素的特征,而未考虑相邻像素之间的潜在联系。超像素分割算法是一种充分考虑邻接像素位置关系的分割算法。常见的超像素分割算法包含以Graph-based和Graph Cuts为代表的基于图论的方法与以分水岭算法和SLIC为代表的基于梯度下降的算法。徐伟悦等[19]采用FSLIC算法进行了自然场景下成熟苹果的分割,并取得了良好的效果。任守纲等[20]采用超像素分割算法对黄瓜叶部病害图像进行分割,并运用显著性检测算法实现病虫害的识别。孙龙清等[21]结合分水岭算法提出改进的Graph Cuts算法,实现了对生猪图像的分割。超像素分割方法能够有效避免因单个像素突变带来的分割误差。

果实与背景差异越大,越容易分割,由于果实品种的差异,以及果园种植管理方面的差异,大部分果实在成熟状态也难以均匀着色,并且在实际的识别中还要受到光线等多方面因素干扰。针对苹果果实的分割问题,本文提出一种基于超像素特征的果实分割方法。该方法首先将整幅图像分割成若干超像素单元,然后提取超像素的颜色和纹理特征并用智能分类算法SVM对超像素进行分类,最后根据超像素之间的邻接关系对分类结果进行修正,从而实现对果实的分割。

1 图像获取

实验所用图像在徐州市丰县大沙河镇苹果经济示范园进行分时段拍摄。具体拍摄时间为07:00、12:00、15:00和19:00前后。相机在距离果树1~2 m范围内围绕果树进行不同角度的拍摄。其中,夜间拍摄时采用LED光源进行补光。图像拍摄工具为佳能 IXUS 275HS型相机,相机采用CMOS (Complementary metal oxide semiconductor) 图像传感器。图像分辨率为3 000像素×4 000像素,保存为jpg格式,24位彩色图像。文中所有实验程序采用Matlab 2018b编写,并在个人计算机上运行。该计算机配有主频为3.00 GHz的Intel i5-7400 CPU和8.00 GB内存,并安装有64位的Windows 10 操作系统。

实验共采集400幅苹果图像,其中白天采集图像300幅,夜间采集图像100幅。所拍摄图像中的果实、枝、叶和其他景物如图1所示。从图1a可以看出,苹果果实的着色不均匀甚至部分果实还套有透明的塑膜袋,同时在拍摄过程中苹果果实难以避免地受到光线、阴影等影响。图1b显示苹果树树叶的正面和背面的颜色也不相同,有的树叶因为病变呈现红褐色。图1c展示了果树的嫩枝和老枝,二者在纹理和颜色上也有着较大差别。图1d展示了图像中可能出现的其他景物,从左至右依次是裸露的土壤、落叶、过曝的天空、夜间的黑暗背景和夜间的土壤。

图1 采集图像中的典型景物Fig.1 Typical objects in collected images

从以上分析可以看出,影响图像分割的主要因素有图像中景物的多样性、相同景物所呈现的不同特性以及拍摄中光线的干扰。这些因素都为图像的分割增加了难度。

2 超像素聚类

本节采用简单线性迭代聚类(Simple linear iterative clustering,SLIC)算法将图像分割成若干超像素单元,并通过实验确定恰当的超像素数量。

2.1 SLIC算法

SLIC算法是一种超像素聚类算法[22]。超像素是指具有相似纹理、颜色和亮度等特征的相邻像素构成的具有一定视觉意义的不规则像素块。ACHANTA等[23]提出SLIC算法,该算法是将图像像素在Lab颜色空间3个颜色分量的值和每个像素在直角坐标系下的2维位置坐标组成N(N为图像像素点的总数)个5维特征向量,然后对5维向量构造距离度量标准并进行聚类。

一幅图像设定的超像素数目K(即将一幅图像分割为约K个超像素)对分割效果有较大影响。图2是当K=400时采用SLIC算法对分辨率降为600像素×800像素的图像进行分割的效果图。图中红色渔网状线条为SLIC算法产生的图像分割线(分割线的实际像素宽度为0,为了方便在图中展示,采用1像素宽度表示分割线),图两侧的子图为4个超像素区域的放大图。从图中可以看出SLIC算法产生的超像素边缘大部分区域和景物的实际边缘是重合的,但是存在部分边缘不完全重合现象。当一个超像素中包含多种不同景物时,会给超像素的分类造成困难,也会影响最后果实的识别精度。因此需要选择一个合适的K值,以减少该状况造成的误差。

图2 K=400时SLIC算法的分割效果图Fig.2 Sample image segmented by SLIC when K was 400

2.2 K的选择

为寻找一个较为合理的K值,在采集的400幅图像中随机选取100幅图像,并采用选取不同K值的SLIC算法对其进行聚类分割。由于实验目标是将果实从背景中分割出来,因此实验只关心果实部分是否被错误分割。将超像素边缘和果实边缘不完全重合的超像素定义为错误分割的超像素并将其挑选出来,最后统计这些超像素中苹果像素点占苹果所有像素的比例。错误分割超像素挑选的具体步骤如下:

(1)复制原图,如图3a所示,并对副本图像中的果实用红色进行标记,如图3b所示。

(2)利用采用不同K值的SLIC算法对原图进行分割,得到如图3c中所示的被分割成超像素的二值图像。

(3)从标记图像中提取出果实区域,得到如图3d所示的果实掩模图像。

(4)将图3c中的每个超像素逐个与图3d中的区域分别做交集运算。若图3c中的单个超像素与图3c中区域的交集小于自身面积的20%,则将该超像素定义为背景超像素;若大于80%则定义为果实超像素;若在20%~80%之间则定义为错误分割超像素。

之所以留出20%的容忍阈值,是考虑到人工标记的误差和SLIC算法导致的微小偏差。图3e为错误分割的超像素掩模,图3f是以图3e为掩膜在原图中提取的错误分割超像素。

图3 提取和果实相关的错误分割区域步骤Fig.3 Steps of extracting superpixels segmented falsely

图4为当K为不同值时,图像被错误分割的超像素中果实像素占果实总像素的比率。从图中可以看出,随着K的增加,该比率总体呈下降趋势。但是K越大,意味着一幅图像被分割为超像素越多,则每个超像素越小,这不但会增加后续分类的计算量,也会失去超像素聚类的意义。由图4可看出,当K<600时,比率下降较快,当K>600时,下降幅度明显减小。因此选取K=600作为SLIC算法分割中的超像素数目。图5为K=600时SLIC算法分割的结果。对比图2可以看出,图5分割更加精确,错分的比率更小。

图4 果实超像素单元被错误分割的比率Fig.4 Ratios of superpixels segmented falsely

图5 K=600时SLIC算法的分割效果图Fig.5 Sample image segmented by SLIC when K was 600

3 超像素分类

SLIC算法已将图像分割为600个左右的超像素单元,因此只要对超像素进行分类并筛选出属于目标水果的超像素就能将目标果实从复杂的背景中分割出来。由于超像素的形状是不规则的,因此在图像分类中只考查超像素的颜色和纹理特征,并采用支持向量机(Support vector machine,SVM)分类[24]方法对超像素进行分类。

SVM算法是一种有监督的学习方法,因此需要事先提取果实超像素和背景超像素的颜色和纹理特征对SVM进行训练。从采集的400幅图像中选取100幅图像用于样本超像素的采集。样本超像素的采集方法与图3所示的选取错误分割超像素的方法相同,共采集果实超像素1 272个,背景超像素3 854个。其中80%(1 018个)的果实超像素和3 083个背景超像素用于SVM分类器的训练,剩余的超像素用于分类器的测试。图6为用于训练的部分超像素示意图。

图6 部分样本超像素示意图Fig.6 Sketch of part of superpixel samples

3.1 特征提取

用于超像素分类的颜色特征是超像素的一个重要特征,常用的颜色模型有RGB、HSV、HSI、Lab、YCbCr、YIQ、CMYK等。实验选用3种具有代表性的颜色模型RGB、Lab、HSI,并提取它们中每个颜色分量的均值组成超像素的颜色特征向量C=(R,G,B,L,a,b,H,S,I)。

由于超像素的形状是不规则的矩形,因此采用灰度直方图统计特征对超像素的纹理进行描述,具体包括均值m、标准差σ、平滑度Rs、一致性U4个描述子。纹理特征提取过程中首先将彩色的超像素转换为灰度图像,然后根据超像素中每个像素的灰度值绘制灰度直方图,最后根据直方图计算出4个纹理描述子组成纹理特征向量E=(m,σ,Rs,U)。最后将颜色特征向量和纹理特征向量组合成一个向量,并进行归一化从而实现对超像素的特征描述。

3.2 SVM分类

实验采用基于Gaussian(高斯)核函数的SVM分类器对超像素特征向量进行训练分类,并设果实超像素为正样本标记为“+1”,背景超像素为负样本标记为“-1”。采用测试样本对训练好的SVM进行测试得到每个超像素的置信度,若置信度小于0,则其被判别为背景超像素,分类标签为“-1”, 若超像素置信度大于0,则其被判别为果实超像素,分类标签为“+1”。测试结果显示果实超像素的分类正确率仅为80.78%,背景超像素的分类正确率为99.22%,总的分类正确率为94.63%。

从以上分类数据可以看出,分类器的分类误差较大,尤其是果实超像素的分类误差。这是由于训练样本集是人工选取的,缺乏一定的代表性,不易区分的超像素在样本集中比重较少。因此为进一步改进分类的正确率,实验新增难例样本集。难例样本集的建立是通过重新选取100幅苹果图像并利用SLIC算法分割后,采用上述训练好的SVM对每个超像素进行分类,并将错误分类的果实超像素和背景超像素加入难例训练集。根据原样本集和难例样本集重新对SVM进行训练并采用同样的测试样本集进行测试,测试结果显示果实超像素的分类正确率为98.73%,背景超像素的分类正确率为99.32%,总的分类正确率为98.91%。

最后综合SLIC算法和SVM超像素分类对剩下的100幅图像进行分割测试,部分分割效果如图7所示。

图7 本文方法的果实分割效果Fig.7 Examples of fruit segmentation by proposed method

从图7中可以看出,SVM能够准确地分类绝大部分的超像素单元,但是每幅图像仍然存在个别错误分类的超像素。对分类正确率的分析表明,该数据的虚高是由于测试样本的总量较大导致的。在实际的图像分类中,一幅图像会被分成600个左右的超像素,平均一幅图像约有6.54个超像素被错误分类。因此,超像素的分类正确率仍然具有进一步提高的空间。

4 超像素分类修正

为了进一步提高超像素分类的正确率,需要对错误分类的超像素进行分析。表1列举了部分错误分类的超像素及分类数据。从表中示意图可以看出,被错误分类的超像素不管是从颜色上还是纹理上都存在较大的相似性,即使人工进行识别也难以分辨。在现有图像特征难以分辨的情况下,实验发现不同超像素之间的邻接关系能够在一定程度上作为超像素类别判断的依据。通过观察分割后的图像发现,一个完整的苹果由多个超像素组成,这些超像素的邻接关系和其他超像素有明显的区别,每个果实超像素都与多个相同属性的超像素相邻。但是被错误分成果实的超像素则相对孤立,与之相邻的相同属性的超像素较少。

表1 部分错误分类的超像素
Tab.1 Part of superpixels classified falsely

为了定量地描述不同碎片在二维空间中的关系,需要建立一个区域邻接图(Region adjacency graph, RAG)来表达不同超像素区域之间的邻接关系。区域邻接图是一个M×M的二值矩阵,M为超像素的数量。F为一幅区域邻接图,若F(i,j)=1(i,j=1,2,…,M),则表示第i个图像碎片与第j个图像碎片相邻,若为0则不相邻,具体邻接图生成方式如图8所示。

图8 区域邻接图生成示意图Fig.8 Sketch of region adjacency graph

根据区域邻接图的描述,统计每个被误判为果实超像素的区域周围相邻的果实超像素的数量。根据3.2节中100幅图像分割的统计结果显示,绝大多数被误判为果实超像素的区域周围相邻的果实超像素数量为0或1。而每个被正确分类的果实超像素周围相邻的果实超像素数量都在2个及以上。根据此统计数据,进行以下操作:

图9 图像分割修正示例Fig.9 Examples of modified image segmentation

(1)为滤除被判别为果实超像素的背景超像素干扰,统计每幅分割后的图像中每个果实超像素相邻的果实超像素的数量,若为0或1,则将该超像素滤除。

(2)为了将被判别为背景超像素的果实超像素修正,统计每幅分割后图像中每个背景超像素周围相邻的果实超像素数量,若大于2且该背景超像素的置信度在-1~0之间,则将该背景超像素重新判别为果实超像素。

(3)进行一次滤除或增加果实超像素后,更新区域邻接图并重复步骤(1)、(2),直到超像素分类结果不再变化。

需要注意的是,由于部分距离较远或者遮挡严重的苹果在图像中所占面积较小,在其被分割后只由1~3个超像素组成,由于其邻接关系与被错误分类的果实超像素邻接关系相同,从而被滤除。但是由于其难以被在当前位置的机器所采摘,因此将其同样视作背景滤除并不会对机器采摘产生影响。在进行区域邻接图修正后,提高了每幅图像的超像素分类正确率,通过对30幅图像的统计,得到平均每幅图像所有超像素的分类正确率为99.62%,即平均每幅图像被错误分类的超像素数量为2.28个。

图9展示了修正前后的图像分割效果,为了清晰地表示每个超像素之间的邻接关系,采用二值化图像并结合SLIC算法分割线对分割后的图像效果进行展示。对比图9b和图9c可以看出,经过修正后,消除了孤立的超像素并减少了部分被错误分类的果实超像素,进一步改善了图像分割效果。

5 实验对比

色差法与基于BPNN的苹果图像分割方法是较为常见的图像分割方法。色差法采用的是R-G(RGB颜色空间的红色分量与绿色分量的差)与最大类间方差(Otsu)法相结合的方法,即首先通过R-G运算获得果实与背景差异较大的灰度图像,然后采用Otsu算法对灰度图像进行二值化,从而实现果实分割。基于BPNN的苹果分割方法采用BPNN对每个像素5×5邻域内所有像素在RGB、Lab和HSI颜色空间中每个颜色分量的均值进行训练和分类,从而实现果实的分割,BPNN的拓扑结构为9×13×1的3层网络结构,即9个输入层节点,13个隐含层节点和1个输出层节点。该方法需要进行有监督的训练,在各类超像素样本中选取2 000个果实像素和5 000个背景像素,并提取其5×5邻域内所有像素的颜色特征输入BPNN网络进行训练。BPNN网络训练根据Levenberg-Marquard方法进行权值和偏差更新,采用均方差衡量分类误差,最大迭代次数1 000次,初始动量0.001,目标误差精度为1×10-5。

3种方法的主要区别在于,色差法运用的是像素级图像特征,基于BPNN的图像分割方法采用的是包含邻域像素的图像特征,而本文所提出的方法更进一步采用超像素图像特征。色差法和基于BPNN的图像分割方法通常会采用形态学方法对分割结果进行进一步优化,而此处为比较采用不同等级像素特征对分割效果的影响,不进行形态学优化。采用这两种方法对图7a中图像进行分割,分割效果分别如图10a和图10b所示。对比同样未经邻接关系修正的图7b可以看出,随着所采用的像素特征等级的提高,总体上分割效果也逐步提高。

图10 两种方法的分割效果Fig.10 Segmentation results of two kinds of comparison methods

为了进一步定量描述3种方法的分割效果,实验对图像中的景物重新定义。果实为前景设为正,其他景物为背景设为负,前景像素被判别为前景设为真正(X),背景像素被判别为前景设为假正(Y),前景像素被判别为背景设为假负(Z)。准确率V的计算公式为

V=X/(X+Y)

(1)

表示所有被检测为前景像素的像素点中真正的前景像素所占的比率,反映了图像分割算法的查准率。召回率W的计算公式为

W=X/(X+Z)

(2)

表示所有前景像素中被正确判别的像素所占的比率,反映了图像分割算法的查全率。

实验选取3.2节中用于测试的100幅图像并对图像中的果实和背景进行人工标记,然后分别采用色差法、BPNN分割方法以及本文方法对图像进行分割,并且与人工标记的图像进行对比,分别计算分割后图像准确率V、召回率W和一幅图像的平均分割时间T,结果如表2所示。从表中可以看出,无论是V还是W,本文所述方法都显著优于其他算法。色差法由于只采用了单个像素的颜色特征,对不同景物的分辨能力不足,因此存在较多的误识别和漏识别,从而导致V和W在三者中最低。 基于BPNN的分割方法,通过综合邻域像素的颜色特征提高对不同景物的分辨能力。而本文提出的方法以超像素为单位对图像进行分割,不仅能够提取颜色特征,还能够方便地提取纹理特征,从而进一步提高分割效果。但是从三者的运行时间对比可以看出,色差法因为运算简单,运行速度最快并超出其他算法一个数量级;基于BPNN的分割方法因为需要重复提取邻域像素的图像特征,运行效率不高,因此较本文方法稍慢。总体来说,本文方法虽然运算复杂,但是检测精度高且基本满足实时性需求。

表2 分割结果对比Tab.2 Comparison of segmentation results

6 结论

(1)提出了基于超像素特征的图像分割方法,从信息量上分析,超像素所包含的信息大于单个像素所含有的信息,有利于改善图像分割效果。采用SLIC算法将图像分为内部属性相对一致的超像素单元,然后根据超像素的颜色和纹理特征,采用SVM对其进行分类,最后根据超像素间的邻接关系对分割结果进行进一步修正。

(2)通过实验发现,本文方法对超像素的分类正确率为99.62%,即平均每幅图像约有2.28个超像素被错误分类。对比采用像素级特征的算法,采用超像素特征的算法在分割准确率和召回率上均具有较好的表现。本文方法在进行邻接关系修正前,图像分割的准确率为0.921 4,召回率为0.856 5,平均分割识别一幅图像耗时0.608 7 s。

猜你喜欢
正确率像素背景
像素前线之“幻影”2000
个性化护理干预对提高住院患者留取痰标本正确率的影响
“新四化”背景下汽车NVH的发展趋势
《论持久战》的写作背景
门诊分诊服务态度与正确率对护患关系的影响
黑洞背景知识
“像素”仙人掌
生意
生意
高像素不是全部