一种棉花裂铃期自动检测方法
技术领域
本发明属于数字图像处理和农业气象观测交叉的领域,具体涉及到一种棉花裂铃期自动检测方法。
背景技术
棉花是我国主要的经济作物之一,中国的棉花产量也处于世界领先地位。棉花的裂铃期是棉花生长中的一个重要的发育期,该发育期是棉花产量品质形成的关键期,因此也是棉田管理的重要时期。在此期,棉花根系活动逐渐减弱,吸收养分的能力明显下降,生产上的重点是保根叶、防早衰、增铃重和防病虫。因此,棉花裂铃期的监测和识别就显得十分的重要。棉农可以根据棉花的生长情况及时的对棉田进行施肥及防病虫等处理,对于保障和增加棉花的总产量有着积极的意义。总而言之,棉花的裂铃期是农业气象观测的一个重要内容。
长期以来,主要采用人工观测记录的方式对棉花发育期相关信息进行记录,观测结果由于会受到观测员主观因素的影响,导致误差比较大;与此同时,由于棉花的生长周期较长,棉花种植的范围较广,单一地利用人工进行观测的方法耗时耗力。目前尚无方法能自动观测棉花裂铃期,并进行预报。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于图像的棉花裂铃期自动识别方法,其目的在于能够利用田间实时获取的棉花数字图像准确地检测出棉花是否进入裂铃期,由此解决目前尚无自动化的技术问题。
为实现上述目的,按照本发明,提供了一种棉花裂铃期自动检测方法,包括以下步骤:
(1)获取图片中棉桃位置:采集棉田图像,并将所述图像纳入棉田图像序列;将棉田图像序列中的所有图像,按照一定步长,拆分成M×N像素子图像;对所有子图像,使用棉桃分类器判断是否包含棉桃:对于包含棉桃的子图像,记录其在原图像中的位置作为最终棉桃位置;所述棉桃分类器按照如下方法建立:选择M×N像素的图片作为训练的正负样本,其中正样本为不同姿态的棉桃图片,负样本为棉田中非棉桃图片,提取SIFT特征量,训练支持向量机,使得支持向量机假阳性率最低,从而构建棉桃分类器;
(2)分割棉桃图像:在步骤(1)中采集的棉田图像中,获取所有最终棉桃位置的子图像,采用RGB颜色模式或HSI颜色模式转换为灰度图像,然后将灰度图像转换成连续的二值图像,采用形态学图像处理方法检测棉桃边缘,分割棉桃图像;
(3)判断裂铃期:对于步骤(2)分割出的棉桃图像,进行白色裂缝检测,并提取白色裂缝,根据白色裂缝的形状特征,判断是否为棉桃裂缝;如果出现棉桃裂缝则认为进入裂铃期,否则认为没有进入裂铃期。
优选地,所述棉花裂铃期自动检测方法,其所述棉桃分类器正样本为边缘轮廓清晰的、饱满的、人眼也可观察到裂铃状况的棉桃图片。
优选地,所述棉花裂铃期自动检测方法,对SIFT特征量进行局部约束线性编码。
优选地,所述棉花裂铃期自动检测方法,其步骤(1)包括以下子步骤:
(1-1)采集棉田图像,并将所述图像纳入棉田图像序列;
(1-2)粗搜索棉桃位置:
首先,按照一定粗搜索顺序,以粗搜索步长将棉田图像序列中的所有图像拆分成M×N像素的子图像;然后,使用棉桃分类器对拆分得到的子图像进行判断,得到每个子图像的标记值;最后,记录其标记值超过粗搜索阈值的子图像位置,作为粗搜索棉桃位置;
(1-3)细搜索棉桃位置
首先,对于每一个粗搜索棉桃位置,将粗搜索棉桃位置附近一定大小的范围作为细搜索范围;然后,在细搜索范围内,按照一定细搜索顺序,以细搜索步长将图像拆分成M×N像素的子图像;接下来,使用棉桃分类器对拆分得到的子图像进行判断,得到每个子图像的标记值;最后,记录其标记值超过细搜索阈值的子图像位置,作为细搜索棉桃位置;
(1-4)记录并跟踪棉桃位置
对步骤(1-3)中记录的细搜索棉桃位置,采用非极大值抑制去除冗余的棉桃位置,只保留棉桃分类器标记值最大的位置作为棉桃最终位置,并记录该位置作为棉桃位置;
(1-5)获取所有棉桃位置
记录序列中所有图像的棉桃位置作为最终棉桃位置,在步骤(1-1)采集的棉田图像中,选择最终棉桃位置的子图像作为后续分割棉桃处理。
优选地,所述棉花裂铃期自动检测方法,其步骤(1-1)所述的棉田图像为棉田纵向前视图,其光强度和棉桃分类器训练样本相同,由不低于400万像素的相机采集,所述相机离地面高0.3米,焦距14毫米,向北设置,水平拍摄;优选图像采集时刻为20时。
优选地,所述棉花裂铃期自动检测方法,其步骤(1-2)所述的粗拆分顺序为从左到右,从上到下;所述粗搜索步长为30像素;所述粗搜索阈值为使得假阳性率为6%~9%的棉桃分类器阈值。
优选地,所述棉花裂铃期自动检测方法,其步骤(1-3)所述的细搜索范围为粗搜索棉桃位置向右向下各扩展5像素的图像区域;所述细拆分顺序为从左到右,从上到下;所述细搜索步长为1像素;所述细搜索阈值为使得假阳性率为1%以内的棉桃分类器阈值。
优选地,所述棉花裂铃期自动检测方法,其步骤(2)包括以下子步骤:
(2-1)判断棉桃位置:当棉桃位置处于整幅图像上1/3的区域内,则保留RGB颜色模式的棉桃位置子图像;否则,将其转换为HSI颜色模式的棉桃位置子图像;
(2-2)获取棉桃灰度图像:对于RGB颜色模式的棉桃位置子图像,选择RGB颜色模式中的绿色分量图像转换成灰度图像;对于HSI颜色模式的棉桃位置子图像,选择HSI颜色模式中的饱和度分量图像转换成灰度图像;
(2-3)获取棉桃二值图像:设定阈值,将棉桃位置子图像灰度图像转换成二值图像;
(2-4)获取棉桃初步分割图像:首先,将所述二值化的图像中的多个连通域中间孔洞填充,获得连通区域;然后,使用边缘检测器,对棉桃位置子图像灰度图像进行边缘检测,获得棉桃图像边缘;最后,对所述二值图像的连通区域和棉桃图像边缘进行交运算,得到棉桃初步分割图像;
(2-5)获得棉桃细分割图像:对于棉桃初步分割图像,利用形态学图像处理方法进行细图像分割,最终得到棉桃分割图像。
优选地,所述棉花裂铃期自动检测方法,其步骤(2-4)所述的边缘检测器为canny边缘检测器。
优选地,所述棉花裂铃期自动检测方法,其步骤(3)包括以下子步骤:
(3-1)在分割出来的棉桃内部区域中提取白色图像:在已经分割好的棉桃区域,采用环境自适应分割方法、超绿算子分割方法、基于Mean Shift的作物图像分割方法等方法,再次进行白色分割;
(3-2)检测白色裂缝:对于步骤(3-1)中分割出的白色图像,提取其最小外接矩形的长宽比或其最小外接椭圆的长短轴比,作为形状特征描述子;设置阈值,保留其形状特征描述子大于或等于阈值的白色图像作为白色裂缝;
(3-3)判断棉花是否到达裂铃期:在一个棉桃位置子图像中,统计白色裂缝个数,如果白色裂缝个数大于或等于1,则判断棉田进入裂铃期;否则,对下一次拍摄的棉田图像,重复步骤(1)至步骤(3)。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于本发明自动对所采集的实时前视棉花田间图像进行图像处理,利用机器学习的方法构建棉桃分类器,并且结合裂铃期棉桃形态学特征的变化,利用颜色模式转换和形态学图像处理方法,进而判断棉花是否进入裂铃期。该方法以棉花棉桃的开裂状况作为判断依据,实时地对棉花生长期进行判断,检测结果准确率高,对棉花的农事活动具有重要的指导意义。
同时,本发明采用SIFT特征量是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;不仅如此,SIFT特征独特性好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配。
优选方案,选择边缘轮廓清晰的、饱满的、人眼也可观察到裂铃状况的棉桃图片作为正样本,能显著提高分类器的分类效果,从而从复杂的棉田图像中,准确的检测到棉桃位置子图像。
优选方案,采用LLC编码方法,对SIFT特征进行编码,可大幅缩短棉桃检测时间。
优选方案,采用粗搜索和细搜索相结合的方法,能在保证棉桃检测准确性的前提下,缩短棉桃检测时间。
优选方案,根据棉桃位置,采用不同的颜色模式做图像处理,能最大限度地保证棉桃图像分割的准确性。
优选方案,在棉桃内部检测白色裂缝,能避免非棉桃区域中的白色裂缝图像干扰,降低假阳性率,从而准确观测棉桃裂铃期。
附图说明
图1是本发明提供的棉花裂铃期自动检测方法流程图;
图2是棉田2012年8月24日20点拍摄的棉花田间纵向前视图;
图3是实施例2粗搜索棉桃位置图;
图4是实施例2的最终棉桃位置图;
图5是实施例2待分割棉桃图像;
图6是在RGB颜色模式下对棉桃位置子图像处理结果图;
图7是实施例2检测白色裂缝的结果图;
图8是棉田2012年8月31日20点拍摄的棉花田间纵向前视图;
图9是实施例3粗搜索棉桃位置图;
图10是实施例3的最终棉桃位置图;
图11是实施例3待分割棉桃图像;
图12是在HSI颜色模式下对棉桃位置子图像处理结果图;
图13是实施例2检测白色裂缝的结果图。
其中,图6(a)是实施例2边缘检测结果图像,图6(b)是实施例2初步分割好的棉桃图像,图6(c)是实施例2形态学腐蚀操作后的棉桃图像,图6(d)是实施例2获得最大连通域的图像,图6(e)是实施例2最终分割棉桃二值图像,图6(f)是实施例2最终分割棉桃图像;
图7(a)是实施例2白色分割结果图像,图7(b)是实施例2白色裂缝检测结果图像;
图12(a)是实施例3边缘检测结果图像,图12(b)是实施例2初步分割好的棉桃图像,图12(c)是实施例3形态学腐蚀操作后的棉桃图像,图12(d)是实施例3获得最大连通域的图像,图12(e)是实施例3最终分割棉桃二值图像,图12(f)是实施例3最终分割棉桃图像;
图13(a)是实施例3白色分割结果图像,图13(b)是实施例3白色裂缝检测结果图像。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供的一种棉花裂铃期自动检测方法,包括以下步骤:
(1)获取图片中棉桃位置
棉桃位置,是指包含棉桃的棉田子图像,优选为90×90的棉田子图像范围。
(1-1)采集棉田图像
本发明中所优选的棉田图像序列是每天20时(即晚上8时)的棉田纵向前视图像。图像采集要求:相机离地面高0.3米,焦距14毫米,水平拍摄方向向北,与地平线夹角为0度,分辨率不低于400万像素。由于棉花的生长需要强烈的光照,棉桃和叶片光滑的表面会产生镜面反射,会对棉桃和白色裂缝的识别造成负面的影响。因此在以固定位置和姿态拍摄的全天不同时刻的纵向前视图中,我们选择对每一天20时采集的图像进行图像处理,从而提高识别准确性,降低了棉花裂铃期识别的难度。
将采集的棉田图像纳入棉田图像序列。
(1-2)粗搜索棉桃位置。
首先按照一定粗搜索顺序,以粗搜索步长将棉田图像序列中的所有图像拆分成M×N像素的子图像。使用棉桃分类器对拆分得到的子图像进行判断,得到每个子图像的标记值。记录其标记值超过设置的粗搜索阈值的子图像位置,作为粗搜索棉桃位置。
粗搜索顺序影响到搜索程序设计,粗搜索顺序优选从左到右,从上到下;粗搜索步长影响到棉桃搜索的时间和精度,步长越大拆分速度越快精度越低,步长越小拆分速度越慢精度越高,粗搜索步长优选30像素;粗搜索阈值,影响到粗搜索的性能,粗搜索阈值越高,特异性越高,敏感度越低,粗搜索阈值越低,特异性越低,敏感度越高,为了平衡敏感性和特异性选择,使得假阳性率为6%~9%的棉桃分类器阈值作为粗搜索阈值。假阳性率为6%~9%时的阈值均可,阈值的具体确定方式可以根据图片大小和精度需求自行调节。
(1-3)细搜索棉桃位置
对于每一个粗搜索棉桃位置,将其附近一定大小的范围作为细搜索范围。在细搜索范围内,按照细搜索顺序,以细搜索步长将图像拆分成M×N像素子图像。使用棉桃分类器对拆分得到的子图像进行判断,得到每个子图像的标记值。设置细搜索阈值,记录其标记值超过细搜索阈值的子图像位置,作为细搜索棉桃位置。
细搜索范围,影响棉桃搜索速度,优选细搜索范围为粗搜索棉桃位置向右向下各扩展5像素的图像区域;细搜索顺序影响到搜索程序设计,细搜索顺序优选从左到右,从上到下;细搜索步长影响到棉桃搜索的时间和精度,步长越大拆分速度越快精度越低,步长越小拆分速度越慢精度越高,由于细搜索要求搜索精度较高,且搜索范围较小,因此优选细搜索步长为1像素;细搜索阈值,影响到细搜索的性能,细搜索阈值越高,特异性越高,敏感度越低,细搜索阈值越低,特异性越低,敏感度越高,为保证搜索到的棉桃为真实的棉桃,选择使得假阳性率为1%以内的棉桃分类器阈值作为细搜索阈值。使得假阳性为1%以内的棉桃分类器阈值均可,阈值的具体确定方式可以根据图片大小和精度需求自行调节。
(1-4)记录并跟踪棉桃位置。
由于受风向、叶片遮挡及相机抖动而引起的棉桃位置偏移的影响,也为了降低棉桃的漏检率,设置的细搜索步长不能较小,避免同一个棉桃在一幅图中被多次检测到,对细搜索的结果,采用非极大值抑制的方法去除冗余的棉桃位置,即在细搜索范围内记录的棉桃位置,只保留棉桃分类器标记值最大的位置作为棉桃最终位置,并记录该位置作为棉桃位置。
(1-5)获取所有棉桃位置。
记录图像序列中所有图像中的棉桃位置作为最终棉桃位置,在步骤(1-1)所采集的图像中,选择最终棉桃位置的子图像作为后续分割棉桃处理。
由于相机是固定的,棉桃的生长状况也相对稳定,因此对于以同一个场景作为取景对象的序列图像而言,选择对已检测到的所有棉桃位置进行跟踪观测,可以更进一步确保棉桃的检测率,降低漏检率,同时可以比较全面的跟踪观测棉桃的生长发育情况,减少由于风向、叶片生长造成的遮挡以及其他因素的影响。
所述棉桃分类器按照以下方法构建:
首先,M×N像素的图片作为训练的正负样本。其中正样本为不同姿态的棉桃图片,为了降低假阳性率,只选择边缘轮廓较为清晰的、饱满的、人眼也可观察到裂铃状况的棉桃图片,以便开裂后可观察到棉桃的裂缝;选取拍摄棉田纵向前视图中非棉桃的子图像图片作为训练的负样本。训练的正负样本要与棉桃图像相适应,能清楚完整的反映棉桃形貌,其优选图像大小90×90像素。
然后,提取已获得的正负样本图片中的SIFT特征量,并将SIFT特征量进行局部约束线性编码,获得输入分类器的正训练样本和负训练样本特征量。SIFT(scale invariantfeature transform)特征量,即尺度不变特征变换特征量,参见文献David G.Lowe.Objectrecognition from local scale-invariant features[C].International Conferenceon Computer Vision,Corfu,Greece,1999(9):1150-1157.和文献DavidG.Lowe.Distinctive Image Features from Scale-Invariant Keypoints[C].International Journal of Computer Vision,60,2(2004):91-110。为了提高算法的效率,采用LLC(Locality-constrained Linear Coding)即局部约束线性编码,对提取的SIFT特征进行编码,得到编码后重构的局部特征。对于特征编码,有硬投票、稀疏编码等方法,其中LLC编码是基于特征袋(bag-of-features)模型或码书(codebook)模型的一种编码特征方法,在对自然图像的分类任务中表现优异。参见文献Wang J J,Yang J C,Yu K,etal.Locality-constrained linear coding for image classification[C].IEEEConference on Computer Vision and Pattern Recognition(CVPR).2010:3360-3367。SIFT特征经由LLC编码得到的特征仅仅是局部特征,相当于是LLC编码对原始的SIFT特征进行了重构。
最后,使用支持向量机(SVM)作为分类器,选择径向基(RBF)核函数,输入正训练样本和负训练样本的特征量,对分类器进行训练,获得棉桃分类器。支持向量机SVM(SupportVector Machine)是Vapnik于1995年首先提出的。作为一种可训练的机器学习方法,SVM在解决小样本、非线性及高维模式中具有一定的优势。支持向量机方法是根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳的折中,以期获得最好的推广能力(泛化能力)。由于图像的限制,所获得的多姿态的棉桃正样本个数不多,使用SVM方法进行训练可以获得合适的棉桃分类器。如果扩大正样本和负样本的容量,会得到分类效果更好的棉桃分类器。
(2)分割出棉桃图像
步骤(1-1)获取的棉田图像中包含有天空、棉花植株、土地、杂草等丰富的内容,不同位置处生长的棉桃所处的局部环境相应的也比较复杂且不尽相同,故子图像内的环境因素还是会影响分割的效果。因此我们在不同的颜色模式中对子图像中的棉桃进行分割处理,获得棉桃图像。
(2-1)判断棉桃的位置。
将处于不同位置处的棉桃放到不同的颜色模式中进行图像处理。
如果棉桃位置处于整幅图像上1/3的区域内,则认为棉桃图像与天空接触,则就在RGB颜色模式中对棉桃位置子图像进行处理,保留RGB颜色模式的棉桃位置子图像;否则,认为棉桃图像不与天空接触,则将棉桃位置子图像从RGB颜色模式转换到HSI颜色模式进行处理,即将其转换为HSI颜色模式的棉桃位置子图像。
(2-2)获取棉桃灰度图像。
在RGB空间中分割出棉桃:
将棉桃位置的矩形框内的子图像,转换到RGB颜色模式,即彩色图像转换为红、绿、蓝分量图像。为了使图像分割处理的效果达到最佳,选择RGB颜色模式中的绿色分量图像作处理,即将棉桃位置子图像RGB彩色图像转换成灰度图像。
在HSI空间中分割出棉桃:
将棉桃位置的矩形框内的子图像,转换到HSI颜色模式,即色度、饱和度、亮度分量图像。为了使图像分割处理的效果达到最佳,选择HSI颜色模式中的饱和度分量图像作处理,即将棉桃位置子图像彩色图像转换成灰度图像并将其进行直方图均衡化操作,获得棉桃灰度图像。
(2-3)获取棉桃二值图像。
将棉桃位置子图像灰度图像,按照设定的阈值,转换成二值图像:由于我们要的到的棉桃区域是一个大的连通域,因此为了要保证棉桃连通域的完整及后续操作方便,凡是灰度值大于阈值的像素,则将该像素的灰度值变为0,否则将该像素的灰度值变为255,使得大的连通区域为白色的图像作为棉桃二值图像,否则将图像取反作为棉桃二值图像。
(2-4)获取棉桃初步分割图像。
首先,将所述二值化的图像中的多个连通域中间孔洞填充,获得连通区域;然后,使用边缘检测器,如canny边缘检测器,对棉桃位置子图像灰度图像进行边缘检测,获得棉桃图像边缘;最后,对所述二值图像的连通区域和棉桃图像边缘进行交运算,得到棉桃初步分割图像。
(2-5)获得棉桃细分割图像。
对于棉桃初步分割图像利用形态学图像处理方法进行细图像分割,最终得到棉桃分割图像。
(3)判断裂铃期。
(3-1)在分割出来的棉桃内部区域中提取白色图像。
在已经分割好的棉桃区域再次进行白色分割,具体的分割方法可以采用环境自适应分割方法、超绿算子分割方法、基于Mean Shift的作物图像分割方法等方法。(参见[1]Lei F.Tian.Environmentally adaptive segmentation algorithm for outdoor imagesegmentation.Computers and electronics in agriculture,1998,21:153~168);[2]D.M.Woebbecke,G.E.Meyer,K.Von Bargen,D.A.Mortensen.Color Indices for weedidentification under various soil,residue,and lightingconditions.Transactions of the ASAE,1995,38(1):259~269);[3]Zheng L,Zhang J,Wang Q.Mean-shift-based color segmentation of images containing greenvegetation.Computers and Electronics in Agriculture,2009,65:93-98.)
(3-2)检测白色裂缝。
利用分割方法在棉桃细分割图像上进行白色检测,辅之以白色裂缝自身“狭长性”的形状特点对棉桃区域进行分割。
由于叶片高度反光及分割精确度的影响,白色分割操作后检测到的白色并不都是棉桃裂铃后出现的白色裂缝,因此要根据所要分割的连通域的形状特征对图像进行处理。
对于步骤(3-1)中分割出的白色图像,提取其最小外接矩形的长宽比或其最小外接椭圆的长短轴比,作为形状特征描述子;保留其形状特征描述子大于或等于所设定的阈值的白色图像作为白色裂缝。
形状特征描述子可以采用傅里叶描述子、离心率、连通域最小外接矩形(或椭圆)的长宽比(长短轴比)等等。
优选方案,依据要检测到的白色连通域(白色裂缝)的形状特征,利用白色裂缝自身“狭长性”对检测到的白色区域进行分割,对应选择的形状描述子为连通域最小外接椭圆的长短轴比,将长短轴比小于阈值的白色连通域去掉,保留长短轴比大于或等于所设定阈值的连通域。
(3-3)判断棉花是否到达裂铃期。
在得到最终分割好的白色裂缝图像之后,统计白色裂缝(白色狭长连通域)的个数。由于用于训练的每个正样本中都只包含一个棉桃,因此在使用训练后得到的分类器对图像进行检测时,每次检测到的包含有棉桃的矩形区域中棉桃的个数只有一个。一个棉桃最多会有5条裂缝,但可能由于会受到拍摄棉桃角度的影响,从图像中可以观察到的裂缝可能只有1~2条。因此,如果检测到有白色裂缝即判定棉花进入裂铃期;否则,判定棉花没有进入裂铃期。
以下为实施例:
实施例1
构建棉桃分类器:
首先,选择大小为90×90像素的图片作为训练的正负样本。其中,正样本为不同姿态的棉桃图片,棉桃图片中的棉桃边缘轮廓清晰、饱满、人眼也可观察到裂铃状况;负样本为棉田纵向前视图中非棉桃的子图像图片。
然后,提取已获得的正负样本图片中的SIFT特征量,并将SIFT特征量进行局部约束线性(LLC)编码,获得输入分类器的正训练样本和负训练样本特征量。
最后,使用支持向量机(SVM)作为分类器,选择径向基(RBF)核函数,输入正训练样本和负训练样本的特征量,对分类器进行训练,获得棉桃分类器。
实施例2
使用本发明提供的方法判断图2中的棉花是否进入裂铃期:
(1)获取图片中棉桃位置.
(1-1)采集棉田纵向前视图图像序列。
相机离地面高0.3米,焦距14毫米,水平拍摄方向向北,与地平线夹角为0度,分辨率400万像素,采集20时(即晚上8时)的棉田纵向前图像,如图2所示。
(1-2)粗搜索棉桃位置。
首先按照自上而下从左到右的顺序,以30像素为步长,将步骤(1-1)中获得的图像拆分得到90×90像素的子图像。使用实施例1中得到的棉桃分类器对所述子图像进行判断,得到每个子图像的标记值。设置粗搜索阈值为假阳性率在6%至9%时的棉桃分类器阈值。记录其标记值超过粗搜索阈值的子图像位置,作为粗搜索棉桃位置,如图3所示。
(1-3)细搜索棉桃位置
对于图3中每一个粗搜索棉桃位置,将粗搜索棉桃位置附近向右向下各扩展5像素的图像区域作为细搜索范围。在细搜索范围内,按照从左到右从上到下的顺序,以1像素步长将图像拆分成90×90像素的子图像。使用实施例1中得到的棉桃分类器对拆分得到的子图像进行判断,得到每个子图像的标记值。设置细搜索阈值为假阳性率等于1%时的棉桃分类器阈值,记录其标记值超过细搜索阈值的子图像位置,作为细搜索棉桃位置。
(1-4)记录并跟踪棉桃位置。
对于步骤(1-2)粗搜索得到的每一个粗搜索棉桃位置,其扩展的搜索范围内所有的细搜索棉桃位置进行极大值约束,即将其中所有的细搜索棉桃位置按照其棉桃分类器给出的标记值进行排序,只保留标记值最大的细搜索棉桃位置,作为棉桃最终位置,并记录该位置作为棉桃位置。
(1-5)获取所有棉桃位置。
在棉田纵向前视图像中,对所记录的检测当天之前检测到的所有最终棉桃位置子图像进行后续的分割棉桃图像处理,如图4所示。
(2)分割出棉桃图像。
(2-1)判断棉桃的位置。
如图5所示,其中黑框内是要检测的棉桃,棉桃位置处于整幅图像上部三分之一范围内,认为棉桃与天空接触,在RGB颜色模式对棉桃位置的子图像进行处理。
(2-2)获取棉桃灰度图像。
将棉桃位置的矩形框内的子图像,转换到RGB颜色模式,即彩色图像转换为红、绿、蓝分量图像。选择RGB颜色模式中的绿色分量图像作处理,将棉桃位置子图像RGB彩色图像转换成灰度图像。
(2-3)获取棉桃二值图像。
设定阈值为240,将棉桃位置子图像灰度图像转换成二值图像:由于我们要的到的棉桃区域是一个大的连通域,因此为了要保证棉桃连通域的完整及后续操作方便,凡是灰度值大于阈值的像素,则将该像素的灰度值变为0,否则将该像素的灰度值变为255。
(2-4)获取棉桃初步分割图像。
将二值化的图像中的多个连通域中间的孔洞填充,从而获得大的连通区域。使用canny边缘检测器,对棉桃位置子图像灰度图像进行边缘检测,如图6(a)所示,并进行交运算,得到棉桃初步分割图像,如图6(b)所示。
(2-5)获得棉桃细分割图像。
对于棉桃初步分割图像利用形态学图像处理方法进行细图像分割,最终得到棉桃分割图像。
首先对图像进行腐蚀操作,选择3×3像素大小的矩形框作为腐蚀所用的结构元素,这是因为交运算后的图像不能很好的区分两个不同的连通域,对图像进行腐蚀操作之后,虽然会减小连通域的面积,但是可以将最大的棉桃连通域与其他的小连通域尽可能的分隔开,如图6(c)所示。
然后找到对图像进行腐蚀操作后得到的最大的连通域,将整个连通域内的像素灰度值标记为0,矩形区域中的其他像素的灰度值标记为1,如图6(d)所示。
接着对图像进行膨胀操作,选择4×4像素大小的矩形框作为膨胀所用的结构元素,并填补这个最大连通域中的孔洞。为了尽可能保持腐蚀和膨胀操作后的目标物体形状不变,膨胀操作所使用的结构元素要与腐蚀操作所使用的结构元素相同,选择4×4像素大小的矩形框作为腐蚀所用的结构元素,得到棉桃区域灰度值为0,矩形区域其他位置灰度值为1的二值图像,如图6(e)所示。
最后,将获得的二值图像与棉桃位置子图像RGB图像的每个通道做点乘,最终获得分割好的棉桃图像,如图6(f)所示。
(3)判断裂铃期。
(3-1)在分割出来的棉桃内部区域中检测白色裂缝。
在已经分割好的棉桃区域,采用环境自适应分割方法,再次进行白色分割,目的是为了检测并提取棉桃中的白色裂缝,分割的结果如图7(a)所示。
(3-2)检测白色裂缝。
依据要检测到的白色连通域(白色裂缝)的形状特征,利用白色裂缝自身“狭长性”对检测到的白色区域进行分割,对应选择的形状描述子为连通域最小外接椭圆的长短轴比,设置阈值为5.8,将长短轴比小于阈值的白色连通域去掉,保留长短轴比大于或等于阈值的连通域。
(3-2)判断棉花是否到达裂铃期。
在得到最终分割好的白色裂缝图像之后,统计白色裂缝(白色狭长连通域)的个数,如图7(b)所示。没有检测到裂缝,棉花没进入裂铃期。
实施例3
使用本发明提供的方法判断图8中的棉花是否进入裂铃期:
(1)获取图片中棉桃位置:
(1-1)采集棉田图像
相机离地面高0.3米,焦距14毫米,水平拍摄方向向北,与地平线夹角为0度,分辨率400万像素,采集20时(即晚上8时)的棉田纵向前图像,如图8所示。
(1-2)粗搜索棉桃位置。
首先按照自上而下从左到右的顺序,以30像素为步长,将步骤(1-1)中获得的图像拆分得到90×90像素的子图像。使用实施例1中得到的棉桃分类器对所述子图像进行判断,得到每个子图像的标记值。设置粗搜索阈值为假阳性率等于9%时的棉桃分类器阈值。记录其标记值超过粗搜索阈值的子图像位置,作为粗搜索棉桃位置,如图9所示。
(1-3)细搜索棉桃位置
对于图9中每一个粗搜索棉桃位置,将粗搜索棉桃位置附近向右向下各扩展5像素的图像区域作为细搜索范围。在细搜索范围内,按照从左到右从上到下的顺序,以1像素步长将图像拆分成90×90像素的子图像。使用实施例1中得到的棉桃分类器对拆分得到的子图像进行判断,得到每个子图像的标记值。设置细搜索阈值为假阳性率等于1%时的棉桃分类器阈值,记录其标记值超过细搜索阈值的子图像位置,作为细搜索棉桃位置。
(1-4)记录并跟踪棉桃位置。
对于步骤(1-2)粗搜索得到的每一个粗搜索棉桃位置,其扩展的搜索范围内所有的细搜索棉桃位置进行极大值约束,即将其中所有的细搜索棉桃位置按照其棉桃分类器给出的标记值进行排序,只保留标记值最大的细搜索棉桃位置,作为棉桃最终位置,并记录该位置作为棉桃位置。
(1-5)获取所有棉桃位置。
在棉田纵向前视图像中,对所记录的检测当天之前检测到的所有最终棉桃位置子图像进行后续的分割棉桃图像处理,如图10所示。
(2)分割出棉桃图像。
(2-1)判断棉桃的位置。
如图11所示,其中黑框内是待检测的棉桃,棉桃位置处于整幅图像中下部三分之二范围内,认为棉桃不与天空接触,在HSI颜色模式中对棉桃位置子图像进行处理。
(2-2)获取棉桃灰度图像。
将棉桃位置的矩形框内的子图像,转换到HSI颜色模式,即色度、饱和度、亮度分量图像。为了使图像分割处理的效果达到最佳,选择HSI颜色模式中的饱和度分量图像作处理,即将棉桃位置子图像彩色图像转换成灰度图像并将其进行直方图均衡化操作,获得棉桃灰度图像。
(2-3)获取棉桃二值图像。
设定阈值为240,将棉桃位置子图像灰度图像转换成二值图像:由于我们要的到的棉桃区域是一个大的连通域,因此为了要保证棉桃连通域的完整及后续操作方便,凡是灰度值大于阈值的像素,则将该像素的灰度值变为0,否则将该像素的灰度值变为255。
(2-4)获取棉桃初步分割图像。
将二值化的图像中的多个连通域中间的孔洞填充,从而获得大的连通区域。使用canny边缘检测器,对棉桃位置子图像灰度图像进行边缘检测,如图12(a)所示,并进行交运算,得到棉桃初步分割图像,如图12(b)所示。
(2-5)获得棉桃细分割图像。
对于棉桃初步分割图像利用形态学图像处理方法进行细图像分割,最终得到棉桃分割图像。
首先对图像进行腐蚀操作,选择3×3像素大小的矩形框作为腐蚀所用的结构元素,这是因为交运算后的图像不能很好的区分两个不同的连通域,对图像进行腐蚀操作之后,虽然会减小连通域的面积,但是可以将最大的棉桃连通域与其他的小连通域尽可能的分隔开,如图12(c)所示。
然后找到对图像进行腐蚀操作后得到的最大的连通域,将整个连通域内的像素灰度值标记为0,矩形区域中的其他像素的灰度值标记为1,如图12(d)所示。
接着对图像进行膨胀操作,选择4×4像素大小的矩形框作为膨胀所用的结构元素,并填补这个最大连通域中的孔洞。为了尽可能保持腐蚀和膨胀操作后的目标物体形状不变,膨胀操作所使用的结构元素要与腐蚀操作所使用的结构元素相同,选择4×4像素大小的矩形框作为腐蚀所用的结构元素,得到棉桃区域灰度值为0,矩形区域其他位置灰度值为1的二值图像,如图12(e)所示。
最后,将获得的二值图像与棉桃位置子图像RGB图像的每个通道做点乘,最终获得分割好的棉桃图像,如图12(f)所示。
(3)判断裂铃期。
(3-1)在分割出来的棉桃内部区域中检测白色裂缝。
在已经分割好的棉桃区域,采用环境自适应分割方法,再次进行白色分割,目的是为了检测并提取棉桃中的白色裂缝,分割的结果如图13(a)所示。
(3-2)检测白色裂缝。
依据要检测到的白色连通域(白色裂缝)的形状特征,利用白色裂缝自身“狭长性”对检测到的白色区域进行分割,对应选择的形状描述子为连通域最小外接椭圆的长短轴比,设置阈值为5.8,将长短轴比小于阈值的白色连通域去掉,保留长短轴比大于或等于阈值的连通域。
(3-2)判断棉花是否到达裂铃期。
在得到最终分割好的白色裂缝图像之后,统计白色裂缝(白色狭长连通域)的个数,如图13(b)所示。检测到一条裂缝,棉花进入裂铃期。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。