复杂背景下目标树叶的分割与补缺
2018-08-08黎双文刘鑫磊李丰果
黎双文,梁 耀,刘鑫磊,李丰果
(华南师范大学物理与电信工程学院/广东省量子调控工程与材料重点实验室,广东 广州 510006)
树叶是树木的重要器官,反映了树木的多种生长信息。为了避免背景信息对目标树叶提取的影响,往往将目标树叶从树上采摘下来,并配以简单的背景获得图像,然后运用不同的算法对目标树叶的特征进行提取[1-5]。但是对目标树叶进行采摘会对树木造成损伤,理想的做法是直接对自然生长状态的目标树叶进行拍摄。但是直接获得目标树叶图像的同时往往会碰到复杂的背景(如树叶、枝干、天空、建筑等),由于背景复杂,使得对目标树叶分割难度成倍增加。当前还没有一种普适的算法实现复杂背景下目标树叶的分割和特征信息的提取,因此复杂背景对目标树叶的分割算法及其有效性是当前这一领域研究的热点和难点。毕于慧等[6]在CIE Lab空间对植物复杂背景下的彩色图像进行矢量变换,再利用改进的几何活动轮廓模型进行分割,通过对比大大减少了运算所需的迭代次数,但并末对运算时间进行对比。Xia等[7]提出利用结合多层感知器的主动轮廓模型对复杂背景下的辣椒叶片彩色图像进行分割,但是要预先对叶片形状进行建模且不适用于多种叶片。Wang等[8]对枣叶复杂背景的图像进行分割时,提出了一种融合最大类间方差法和Canny 算子边缘检测的方法,但是该方法并不适用于各种叶片且成功率较低。高理文等[9]对复杂背景的图像进行分割时对目标图像进行人工标记叶边缘点和叶外点,然后对标记图像进行分水岭分割并取得较好的结果,但是其自动化程度不高。在复杂背景下目标树叶分割的研究中[10],我们发现分割后的目标树叶边缘会出现缺口,边缘缺口直接影响了分割的错分率;同时运行时间较长,在一定程度上限制了实时监测等方面的应用。为了解决上述问题,本研究提出利用凸包填充法对目标树叶边缘的缺口部分进行补缺,以降低目标树叶分割的错分率;利用模糊C聚类去除与目标树叶颜色差异较大的绿色背景,以减少后续算法的运算量,提高分割算法的运行效率。
1 基本原理
1.1 超绿算法
超绿算法(extra-green algorithm,EXG)[11]是一种通过增加绿色通道的权重,扩大植物绿色部分与非绿色背景之间的对比度,从而实现对绿色植物进行分割的方法。其中,超绿特征值为2G-B-R,R、G、B分别表示彩色图像中的红色、绿色、蓝色通道,超绿算法可用如下公式表示:
式中,T为阈值,本研究设为0,其中EXG为灰度值。当超绿特征值大于阈值T小于255时用超绿特征值表示,当超绿特征值≥255时统一为255,当超绿特征值≤阈值T时为0。
1.2 模糊C聚类
模糊C聚类(uzzy C-cluster algorithm,FCM)通过对图像中的像素点与c个聚类中心的隶属度和欧氏距离的乘积进行加权距离求和,并通过对加权距离(即目标函数)进行不断迭代,使得类内相似度最大,类间相似度最小,从而达到对图像进行分割的目的[12-14]。
设X = {x1,x2,x3,…,xn}为像素点集,n为X中像素点的总数目。分类结果可用c×n的隶属度矩阵U = [uij]来表示,其中uij( 0≤uij≤1 )表示像素点j对聚类中心i的隶属程度。对c个聚类中心
欧氏距离dij表示第j个像素点到第i个聚类中心的距离。
目标函数可表示为:
式中,m为模糊权重系数,其取值范围为1 式中,λj为拉格朗日乘子,V = [vi]表示由c个聚类中心组成的集合。通过对式(4)中uij、vi、λj求偏导并使其偏导为0,即可得其最优解。此时, 模糊C聚类的算法步骤如下: (1)根据前景和背景的特点取c=2,并分别选取灰度值为50和250的某个像素点为其初始聚类中心V(0);(2)由步骤(1)中的初始聚类中心V(0),通过式(2)和式(5)计算其隶属度矩阵U(r),r为迭代次数;(3)由隶属度矩阵U(r),通过式(6)计算新的聚类中心集合Vr= [vir];(4)根据式(2)和式(6)由Vr得到新的隶属度矩阵 U(r+1);(5)如果 U(r+1)- U(r)≤ε(ε≤0.01)则停止迭代运算,否则r = r + 1返回步骤(3)进行迭代。 1.3.1 腐蚀运算 腐蚀运算可以消除小于结构元素的点,即可以用来消除目标物体边缘与背景存在的连通部分。形态学操作可用式(7)表示: 式中,f为原图,b为结构原素,若结构元素b平移x后仍位于f的集合中,则原点处对应的像素点与目标图像的像素点值一致。 1.3.2 膨胀运算 膨胀运算主要用来扩展物体的边界点和使一些相邻距离较短的区域进行连接,形态学操作可用式(8)表示: 从式(8)可知,若结构元素b平移x后与f的交集不为空集,则原点处对应的像素点与目标图像的像素点值一致。 1.3.3 底帽变换 底帽变换即用闭运算的结果减去原图像,得到被闭运算填充的谷底部分,由于这一部分位于图像较暗的区域,也称为黑帽变换。形态学操作可用式(9)表示: f·b为形态学闭运算,可用式(10)表示: 从式(10)可知,闭运算是一种对图像进行先膨胀后腐蚀的形态学操作,具有连接邻近物体、填充物体内部细小空洞和平滑边界的作用。图1为底帽变换的示意图,波动曲线表示底帽变换前的灰度变化,实心圆曲线表示用结构元素大小为15的圆形结构元素闭运算后的灰度变化。从图1可以看出,底帽变换得到被闭运算填充的谷底部分,突出了原图像中的暗区域。 图1 底帽变换示意图 平面点集凸包[17]算法步骤: (1)选取平面点集中y坐标值最小的点为坐标原点,如果y坐标最小的点有多个,则选取x轴最左边的点为坐标原点po。然后,对平面集中所有的点进行极坐标变换,计算极坐标上各点与po连线辐角的大小。如果存在两个或两个以上幅角大小相同的点,则优先选取最接近po的点,如图2A的p3和p4。将辐角按非降序进行排序 p = { p1,p2, …,pn-1}。 (2)按排序结果依次对极坐标上的点进行扫描。设当前的栈顶元素(即最后一个进栈的数据)为pk,此时扫描的元素为pl,若pj、pk、pl构成一个左旋路径,则表明此路径构成凸边,pl为新的栈顶元素,把pl压入堆栈(即为一暂时存储数据的存储区域)中,如图2B所示。若pj、pk、pl构成一个右旋路径,则pk为凸包内的点,将pk从堆栈中移出,此时重新判断pk前两个堆栈元素pi,pj与pl构成的路径方向,重复此判断和处理,直至pl与后面堆栈中的元素构成左旋路径为止,如图2C所示。 (3)对极坐标上所有点进行判断和处理,直至返回坐标原点po为止,如图2D所示。 图2 Graham扫描法计算凸包 以下为凸包在目标树叶分割中的应用说明,图3A(彩插四)为通过本文算法分割出来的目标树叶。从图3A可以看出,分割后的目标树叶的边缘和叶脉处出现了缺口,对该图进行内部填充(对每一行目标树叶进行扫描,提取每一行像素点值为1的坐标位置的最大值和最小值,并使两坐标位置间像素点的值为1)后结果如图3B(彩插四)所示。从图3B可以看出,目标树叶边缘处仍存在缺口,对缺口采用凸包填充法进行补缺,补缺过程如下:先对目标树叶构造一个最小外接矩形(如图3C,彩插四),由于该树叶叶尖部分的形状比较尖细,如果直接对整片树叶进行凸包填充可能会造成过分割的现象,因此可以将图3C分为上下两部分,如图3D、E(彩插四)所示,其中下部分为叶尖部分,如图3C红色虚线方框所示。对上下两部分用Convhull函数进行凸包处理(红色圈内),如图3D、E所示,其中图3I(彩插四)为图3D蓝色虚线方框的局部放大图。对图3D、E分别构造相应的最小外接矩形的全1矩阵,然后利用Inpolygon函数判断外接矩形中的点,若点位于凸包内则保持1不变,若点在凸包外则将其设为0,填充后的结果如图3F、G(彩插四)所示。将图3F、G与原图匹配并相加即可得到填充后的目标树叶,结果如图3H(彩插四)所示。 对目标树叶进行分割,分割流程如图4所示:(1)对原彩色图像利用超绿算法进行初步分割;(2)对初步分割的图像,利用模糊C聚类进行再次分割;(3)对原彩色图像的灰度图进行底帽变换,并进行Otsu运算;(4)对步骤(2)和(3)得到的图像进行异或运算,得到较完整的目标树叶轮廓;(5)利用腐蚀和比较连通区域的大小将目标树叶单独分离出来;(6)对步骤(5)分离的目标树叶进行凸包填充,利用原图像的坐标信息对分割出来的目标树叶进行匹配叠加,得到目标树叶的彩色图像。 图4 目标树叶分割流程 图5A(彩插四)中含有天空、树枝和其他树叶的复杂背景,对于非绿色的背景部分可以利用超绿算法进行去除,结果如图5B(彩插四)所示。从图5B可以看到天空、树枝等非绿色背景,利用超绿算法可以有效去除,但对其他与目标树叶颜色相似的绿色背景却无法去除。对于与目标树叶颜色差异较大的绿色背景部分,可以利用原图像的坐标信息对图5B进行匹配叠加,得到超绿处理后的彩色图像,结果如图5C(彩插四)所示,再利用模糊C聚类进行去除,结果如图5D(彩插四)所示。由图5D可知,以上算法还不能将目标树叶单独地分割出来,对于与目标树叶颜色差异较小的绿色背景,可利用目标树叶的边缘信息对其进行去除。对图5A的灰度图像进行底帽变换,结果如图5E(彩插四)所示,从图5E可以看出目标树叶的边缘轮廓,为了突出目标树叶的边缘轮廓和减少错分现象,需要对图5E进行Otsu运算,结果如图5F(彩插四)所示。为了更准确地将目标树叶分割出来,将聚类结果与边缘信息结合起来,需要对图5D和图5F进行异或运算,即参与运算的两个值相同为0、否则为1,结果如图5G(彩插四)所示。为避免目标树叶边缘处与背景还存在连通部分,可以通过形态学腐蚀运算将目标树叶从复杂背景中分离出来。为了得到单独的目标树叶,可以通过比较连通区域大小的方法将其单独提取出来,结果如图5H(彩插四)所示,从图5H还可以看到提取出来的目标树叶内部和边缘处存在部分缺口的情况,为此需利用内部填充法和凸包填充法对图5H进行填充,填充后的结果如图5I(彩插四)所示。利用原图像图5A的坐标信息对图5I)进行匹配叠加,得到单一背景的目标树叶彩色图像(图5J,彩插四)。 3.2.1 错分率分析 为了验证算法的有效性,利用错分率(ME)[18-19]评价复杂背景下目标树叶分割的准确率,错分率可用式(11)计算。 本研究算法分割的目标树叶像素数用V表示,Photoshop软件分割的目标树叶的像素数用VP表示。 |V∩VP|表示目标树叶被正确分割的像素数。 M * N表示像素的总数,即图像大小。表示目标树叶的分割准确率,ME值越小,表明本研究算法分割的误差越小,分割效果越好。采用Photoshop软件对目标树叶进行分割并将其二值图像作为评价标准(即上式中的VP)与本研究算法进行比较。其中,本研究算法分割的目标树叶的缺口部分如图6(彩插四)中红色椭圆虚线所示,红色箭头指向为其局部放大图;对缺口部分进行补缺后如图中黑色椭圆虚线所示,黑色箭头指向为其局部放大图。表1为图6所示的5个样本补缺前和补缺后的错分率,通过比较连通区域大小提取到的目标树叶的错分率均小于3.94%,对提取到的目标树叶利用凸包填充法对缺口部分进行补缺后其错分率显著降低,错分率均小于2.84%(表1)。从图6可以看出,目标树叶补缺后还能较好地保留其边缘细节。 表1 目标树叶错分率比较 3.2.2 运行效率分析 为了提高分割的运行效率,在超绿算法的基础上引入模糊C聚类算法。模糊C聚类算法可以去除与目标树叶颜色差异较大的绿色背景,减少了后面异或运算和腐蚀运算的运算量。图7A(彩插四)为没有引入模糊C聚类算法的分割效果图,图7B(彩插四)为引入模糊C聚类算法的分割效果图。图7C(彩插四)和图7D(彩插四)分别为图7A和B红色虚红方框的放大图。从图7C和D可以看出,图7D的连通区域显著少于图7C的连通区域。连通区域的减少,减少了算法对连通区域进行比较和排序的运算量,从而提高了算法的运行效率。 本研究的试验环境为i5-6500、3.2GHZ处理器、4G内存。表2为图7(彩插四)所示5个样本未引入模糊C聚类算法和引入聚类算法的运行效率。从表2可以看出,在超绿算法对原图像进行分割的基础上引入模糊C聚类算法后可显著减少后续算法的运算量,提高了算法的运行效率,提高效率最高可达16.65%。 表2 样本运算效率 众所周知,对自然生长状态下,植物树叶的分割和特征信息的提取不得不面对复杂背景。复杂背景对目标树叶的分割带来极大的挑战和不确定性。李凯等[20]提出一种粒子群优化算法和K-means聚类算法混合的分割算法对复杂背景棉花叶片图像进行分割;董本志等[21]提出一种叶片区域的快速多阈值提取方法对自然环境下的植物叶片进行分割。这些算法与我们前期工作一致,分割得到的目标树叶边缘处都出现了缺口。在我们的前期工作中由于背景的复杂性,导致算法的运行效率不高。本研究集中在算法的准确性和运算效率两个方面进行研究,在对复杂背景下目标树叶分割的基础[10]上,提出了在超绿算法的基础上结合模糊C聚类算法来去除与目标树叶颜色差异较大的绿色背景,减少了后续算法的运算量,分割效率平均提高了13.82%。为提高目标树叶分割的准确性,对分割后目标树叶边缘处的缺口部分采用凸包填充法进行补缺,补缺后错分率显著降低,错分率平均降低了1.05%。运行效率的提高,有利于对目标树叶进行实时监测。 经过多次试验研究发现,本研究所采用的算法存在过分割的现象,对于算法的普适性还没有深入研究。因此,下一步主要集中研究本文提出算法的普适性以及进一步提高算法的运行效率,以使其应用在实际的在线监测中。1.3 形态学运算
1.4 凸包填充法
2 目标树叶分割步骤与流程
3 结果与分析
3.1 目标树叶的分割
3.2 分割错分率和运行效率的分析
4 结语