本发明涉及图像处理领域,更具体地,涉及一种复杂背景叶片图像的全自动分割方法。
背景技术:
药用植物,是中药材的主要来源,是中医药治病救人的物质基础。然而,近年来,由于生态环境的恶化,药用植物资源显著萎缩。加强对药用植物的保护迫在眉睫。
如果能深入地摸清濒危药用植物的地理分布,构建地理信息资源库,对于野生药用植物的保护、引种和利用等,将会起到重要的支撑作用。然而,由于一般人难以在复杂的野外生态环境中鉴别植物的类别,所以,现行的资源调查,也只能采取抽样选点的方式,离全面深入的调查还有一定距离。即便如此,已经是耗费了巨大的人力物力。
拍摄植物叶片图像,继而进行机器鉴别的设想,让更多的只具有初步基础的人员在野外通过简单的手机操作就能相对准确地鉴定当前植物的种类。和多数的图像识别问题一样,叶片图像的分割是第一道难关。现有的一种复杂背景药用植物叶片图像的准确分割方法,该方法需要人工的参与;
基于叶片图像的植物机器鉴别的研究,已有许多报道。按其图像采集的方式,可分为两种,一是把叶片摘下来,再拍摄或扫描,得到简单背景叶片图像。其优点是图像容易分割,分割准确率高;缺点是对植物造成损伤。现有研究多采用这种方式。二是直接拍摄枝干上的叶片,得到复杂背景叶片图像。优点是不对植物造成任何损伤;缺点是图像中除了目标叶片外,还含有枝干、泥土、其他叶片等背景对象,分割难度大,分割准确率低,严重影响了后续分类识别的准确性。
由于无损性优势,研究基于复杂背景叶片图像的机器鉴别是重点。那么,复杂背景叶片图像的准确分割,就是首要解决的问题。尽管当前的深度学习分类方法,可以实现图像到类别的映射。但是,植物叶片图像样本很难均衡地扩充到较大数量。小部分种类常见,大部分种类难找,有些还可遇不可求。这种情况下,深度学习分类方法的适用性有待验证。而且,如果能准确地进行图像分割,剔除图像背景,也就是干扰项,不管后续使用何种分类方法,也都是大有好处的。
图像分割方法有很多。有些需要人工参与。我们前一阶段对这一类的方法进行了深度的研究,并提出了一种有人工参与的高准确率的复杂背景叶片图像分割方法。但需要人工参与还是影响了用户的体验。显然,全自动的方法更受欢迎。
现有的全自动的图像分割方法也有许多,著名的有:
OTSU,是由日本学者OTSU于1979年提出的一种对图像进行二值化的阈值分割方法。该方法以最大类间方差为准则,选择最优的分割阈值。该方法对噪音和目标大小十分敏感,仅对前景和背景对比度明显的图像产生较好的分割效果。
Mean shift,是基于核密度估计的爬山算法,可用于聚类、图像分割、跟踪等。图像分割就是求每一个像素点的类标号。类标号取决于它在特征空间所属的cluster。对于每一个cluster,首先得有个类中心。mean shift认为是概率密度(probalility density function)的极大值点就是类中心。Mean shift和OTSU类似,对于前景和背景对比度明显的图像,分割效果很好;否则,效果较差。
GraphCut方法把图像分割问题与图的最小割(min cut)问题相关联。基于图论的分割方法的本质就是以最小化Cost为目标去移除特定的边,将图划分为若干子图从而实现分割。Cost中包含区域项和边界项。它处理像素值存在明显差异的图像有优势,但对复杂背景图像,前景和背景较接近的图像,效果较差。
近年来,深度学习迅速发展。深度学习图像分割方法FCN(Fully Convolutional Networks)也应运而生。并屡在各种复杂的图像分割问题上表现出优越的性能。FCN被以“像素-像素”、“端-端”的方式来训练(trained end-to-end,pixels-to-pixels on semantic segmentation),实现了对图像的像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。如果不考虑时间和内存的限制,理论上,它可以接受任意尺寸的输入图像。但FCN也有不足之处:①得到的结果还是不够精细,对图像中的细节不敏感。②仅仅对各个像素进行分类,没有充分考虑像素与像素之间的关系。
另外一种经典分割方法——标记分水岭分割。它不受目标区域形状的限制,非常适合形状各异的多种类别叶片图像的分割。并且,它也非常适用于复杂背景的情形。只要输入的前景标记图像和背景标记图像准确,它往往能获得很好的分割结果。但如何准确地获得前景标记图像和背景标记图像,是一大难题。很多时候,只能采取人工参与的方式。
技术实现要素:
本发明提供一种复杂背景叶片图像的全自动分割方法,实现在复杂背景中药用植物叶片的全自动分割。
为解决上述技术问题,本发明的技术方案如下:
一种复杂背景叶片图像的全自动分割方法,包括以下步骤:
S1:对原始叶片图像利用最大类间方差法进行前置简单分割;
S2:将所述原始叶片图像分别转换为HIS、Lab模型的表示形式,得到各分量图像,再在所述各分量图像的最大类间方差法分割结果中检测背景标记,并依据预设标准,选择其中一个背景标记作为最优背景标记;
S3:在原始叶片图像上检测前景标记;
S4:整理前景标记和背景标记,使用标记分水岭分割方法进行分割,得到最终分割图像。
优选地,步骤S1具体包括以下步骤:
S1.1:将彩色RGB的原始叶片图像缩小至预设的尺寸,得到图像currentImage,具体为:
计算ratio=(1200×900)/(原始叶片图像的行数×原始叶片图像的列数);
若ratio小于1,则把图像以ratio的开平方的值为倍数缩小,若ratio不小于1,无需缩小;得到图像currentImage;实际中,若需要使用其他的尺度,则可调整ratio的计算参数;
S1.2:把图像currentImage分别转换为HIS、Lab模型的表示形式,判断在H分量图像、S分量图像、a分量图像、b分量图像中前景颜色与背景颜色是否存在过大的差异,若是,记录对应的优胜系数coef和判断标志flat,输出分割图像BW;具体为:
S1.2.1:对各分量图像,采用最大类间方差法(OTSU)分割,得到对应的分割图像BW;
S1.2.2:计算各分割图像BW四边框的像素中,值为“1”的像素所占比例frameCof;
S1.2.3:计算各分割图像BW中值为“1”的像素的数量area;
S1.2.4:在各分割图像BW,删除所有小面积区域,保留面积最大的唯一区域;
S1.2.5:计算步骤S1.2.4后的图像BW中值为“1”的像素的数量targetArea;
S1.2.6:把targetArea与area的比值作为foregroundCoef;
S1.2.7:若frameCof<0.1且foregroundCoef>0.9,则认为是前景和背景颜色存在过大的差异,设置flat为1,并以(1-frameCof)*foregroundCoef作为优胜系数coef;若frameCof≥0.1或foregroundCoef≤0.9,把S1.2.4后的图像BW取反,重做S1.2.2至S1.2.6步,再判断是否frameCof<0.1且foregroundCoef>0.9,若是,设置flat为1,以(1-frameCof)*foregroundCoef作为优胜系数coef,否则设置flat为0;
S1.3:若步骤S1.2中每一个分量图像得到的判断标志flat均为0,则进入步骤S2;若有一个以上判断标志flat,则取优胜系数coef最大者对应的分割图像BW作为图像logicImage;
S1.4:检测图像logicImage的前景区域伸展到四边框的情况有多少处,若超过3处,进入步骤S2;若不超过3处,进入步骤S1.5;
一般来说,拍摄叶片的时候,会尽量完整拍摄,不大可能出现叶片触及边框的情况。偶尔叶柄过长,或叶尖较细长,伸展到了边框,那已经是极大容忍下的接纳了。因而,如果出现触及边框超过3次,那这个logicImage肯定不能作为分割结果。
S1.5:在图像logicImage的中部,裁剪一块长度为图像logicImage长度的0.6倍,宽度也占同样比例的子图logicImageCrop,子图logicImageCrop的四边框分别与图像logicImage的四边框平行,且两者的中心点重合;计算子图logicImageCrop中值为“1”的像素点的个数logicImageCropArea;计算logicImage中值为“1”的像素点的个数logicImageArea,计算logicImageCropArea与logicImageArea的比值,若不大于0.5,进入步骤S2;若大于0.5,进入步骤S1.6;
这步的目的是检测logicImage中,前景区域是否过小且位于图像边框的附近,若属于这种情况,则放弃此分割结果。因为拍摄叶片图像时,往往都会把叶片拍摄在图像中央,且会占据图像的大部分范围,而不会出现前述的情况。
S1.6:对图像logicImage进行闭运算;
S1.7:对步骤S1.6后的图像logicImage进行孔洞填充,得到分割结果。
优选地,步骤S2具体包括以下步骤:
S2.1:设置可信前景尺度参数para;
S2.2:分别在H分量图像、S分量图像、a分量图像、b分量图像对应的每一个分割图像BW上,检测背景标记,具体包括:
S2.2.1:在分割图像BW的中部,裁剪一块长度为分量图像长度的para×2倍,宽度也占同样比例的子图credibleForeground,所述子图credibleForeground的四边框分别与分割图像BW的四边框平行,子图credibleForeground的中心点与分割图像BW的中心点重合;这是因为拍摄叶片图像时,往往都会把叶片拍摄在图像中央,且会占据图像的大部分范围;因而,目标叶片较大可能覆盖了图像中央的小片区域。
S2.2.2:计算子图credibleForeground中,值为“1”的像素所占比例coefOfCredibleForeground;
S2.2.3:若coefOfCredibleForeground在区间[0.2,0.8]内,则该分割图像BW的分割准确性不适合在该分割图像BW检测背景标记,结束检测过程,返回检测失败消息;
S2.2.4:若coefOfCredibleForeground小于0.2,把该分割图像BW另存为图像backgroundCandidate,把该分割图像BW取反的结果存储为图像BW;若coefOfCredibleForeground不小于0.2,把该分割图像BW取反的结果存储为图像backgroundCandidate;
S2.2.5:计算图像BW四边框的像素中,值为“1”的像素所占比例frameCof;
S2.2.6:如果frameCof大于0.6,则认为此图像BW的分割准确性存疑,结束本检测过程,返回检测失败消息;<