系留球载光学影像的草原牲畜数量自动核算方法
2021-12-12马灵玲王宇航黎荆梅腾格尔欧阳光洲张远平牛沂芳郑青川李子扬
汪 琪,马灵玲*,王 宁,王宇航,2,黎荆梅,腾格尔,欧阳光洲,张远平,敖 磊,牛沂芳,郑青川,李子扬
(1.中国科学院空天信息创新研究院 定量遥感信息技术重点实验室,北京 100094;2.中国科学院大学 电子电气与通信工程学院,北京 100049;3.内蒙古北方重工业集团有限公司,内蒙古 包头 014033)
0 引言
草地载畜量是草地畜牧科学管理的核心指标之一,开展草原放牧型牲畜数量的精准分类核算是评估草地实际载畜能力、评估草原资源风险的重要前提。传统基于地面调查的牲畜核算方式工作量大、耗时长、准确度低[1-3]。遥感手段具备“站得高,看得远”的优势,为区域和全国尺度的草原资源快速、高频次普查提供了有力支持,也是未来生态草牧业发展的重要方法[4-5]。
星载观测是理想的数据来源,但其数据分辨率通常与大型放牧型牲畜的尺寸在同一量级[6-8],导致基于此类数据获取牲畜数量的可靠性不高,相应模型验证不足,在实际推广与应用中存在着较大局限性。以无人机为代表的机载观测手段可以根据需求来获取高分辨率的牲畜影像[9],但无人机获取数据的效率较低,无法持续观测。
系留气球可提供定点驻空的观测平台,具有载重量大、驻空时间长的特点,可对部署地的周边区域进行持续监测,在800 m驻空高度理想条件下,监控范围可覆盖周边约100 km2的区域,对于重点地区的草地载畜量监测具有重要应用价值[10-12]。对无人机影像中的动物检测与数量核算,研究人员已开展了相关的研究[13-15]。然而,与垂直或近垂直下视的星载及机载成像不同,系留气球载荷通常是以较大的倾角斜视观测,获取的目标特征与垂直下视时具有较大差异;同时,由于不同区域成像距离的不同,获取图像的分辨率也存在差异,对基于影像的牲畜信息提取算法带来了较大挑战,特别是对于聚集度高的牲畜群,在影像分辨率不高时出现明显的模糊与粘连现象,常用的目标个体检测识别方法难以适用。
本文针对基于系留气球观测平台下的草原牲畜数量核算需求,为解决球载成像载荷获取的牲畜影像分辨率不足及成像环境干扰下导致的目标模糊与粘连效应对牲畜检测带来的困难,提出基于异常检测与模糊均值聚类的球载可见光影像牲畜数量核算方法,首先通过异常检测算法区分牲畜目标与草地背景,然后采用形态学方法去除噪声点,最后利用模糊均值聚类算法计算目标的中心位置并进行数量统计。基于2种球载光学相机载荷获取的牲畜影像的试验表明,本文方法牲畜数量核算准确度达到90%以上,且对不同观测角度具有良好的适应性,相比基于深度学习算法的牲畜检测与数量核算,在精度上具有明显提升。
1 异常检测与模糊均值聚类算法
1.1 谱段扩展下的RX异常检测算法
异常检测是多光谱/高光谱影像中小目标检测的经典算法,是一种无监督检测方法,旨在将光谱响应曲线与周围背景有差异的位置信息与背景和噪声分离[16]。良好的异常检测器可以有效地确定异常和背景之间的差异,同时抑制背景。抑制背景的关键过程是选择合适的方法来有效地表示背景。异常检测中经典的RX异常检测器使用背景协方差矩阵表示背景信息,具有环境适应性强、检测效率高的优点,适合不同倾角和分辨率下的球载影像目标检测。
对于本文使用的3波段彩色影像,由于波段数较少,对异常检测算法效果造成影响,因此本文采取波段扩展策略,将每个波段扩展成4个波段,具体方法为:将原波段划分为2 pixel×2 pixel的小方格覆盖,每个方格内的4个像素值依次作为新的4个波段中同样位置的像素值,再将新的4个波段影像通过插值方法变换为与原波段同样空间大小。通过该方法将3波段数据变换为12波段数据,再进行RX异常检测。
RX异常检测器基于以下假设:数据空间白化,异常目标和背景类别遵循具有不同均值向量和相同协方差矩阵的高斯分布,其中目标的光谱和背景的协方差未知。在RX异常检测器中,背景协方差矩阵的逆用于测量观察到的异常像素和背景之间的统计差异。该过程可以认为是具有椭圆分布的测试像素和背景的“球化”或“白化”,产生具有球形分布但具有不同中心的相应测试像素和背景。然后可以将RX异常检测器建立为测试像素与白化空间中的背景之间的欧几里德距离,实际是原始空间中的马哈拉诺比斯距离。基于此,RX算法首先分析均值和方差的2个统计量,然后将其与设定的阈值进行比较,以确定是否是异常值。
设图像数据总波段数为P,则包含M个像素点的背景数据可以表示为一个P×M的矩阵X=[x1x2…xM],其中Xi=[X1i,X2i,…,Xpi]T,xi=[x1i,x2i,…,xpi]T,表示每一个像素点的光谱,设H0为目标不存在,H1为目标存在:
(1)
式中,x为待检测点的光谱向量;n表示背景噪声向量;s为目标光谱向量。RX算法的表达式为:
(2)
简化得到:
(3)
式中,x为要检测的像素的光谱数据;μb为背景窗口的平均值;Cb为背景窗口协方差矩阵;λ为判定阈值。可以看出,RX算子实际上计算了待检测点的光谱与背景窗口的平均矢量之间的马氏距离。
1.2 形态学处理算法
通过异常检测提取出目标区域后,可能存在如下问题:① 将同一个目标分离成相近的多个目标,需要进行合并;② 检测出小面积的孤立噪声点,需要进行去除。因此使用形态学操作对图像进行修正,对目标形状进行一定程度的恢复。
形态学建立在数学格论和拓扑学上,是用于图像分析的一种常用手段,其基本运算包括腐蚀和膨胀[17]。实际应用中很少单独使用基本运算对图像进行分析,往往使用腐蚀和膨胀运算的组合进行分析,其中开闭运算是形态学的一对有效的对偶运算。
设集合A与集合B,当A被B腐蚀,将其记为AΘB,腐蚀操作可以去除所有无法容纳结构元素B的A部分,数学表示如下:
AΘB={x,y|(B)xy⊆A}。
(4)
设集合A与集合B,当A被B膨胀,将其记为A⊕B,膨胀操作可以连接A的可以被结构元素B击中的部分,数学表示如下:
A⊕B={x,y|(B)xy∩A≠∅}。
(5)
腐蚀与膨胀运算的常用组合是开运算与闭运算。开运算是对图像先进行腐蚀后进行膨胀,可以消除图像中小于结构元素的孤立部分,同时并不明显改变其面积。闭运算是对图像先进行膨胀后进行腐蚀,可以填充背景无法包含于结构元素的细小孔洞,同时并不明显改变其面积。
1.3 基于模糊均值聚类的粘连目标提取算法
对于粘连区域,根据区域面积初步估计目标数量,通过模糊均值聚类算法提取每个目标的位置,统计目标数量[18]。模糊均值聚类算法是一个迭代寻优的过程,其模糊聚类的表达函数为对如下条件极值的求解:
(6)
式中,Z={z1,z2,…,zn}表示样本总数为n的模糊集合;m为模糊集合中的元素分成的类别数;C={c1,c2,…,cm}为每个类别的聚类中心;U表示模糊隶属度矩阵;s∈[1,∞)为模糊加权系数;uij表示第i个元素对第j类的隶属度。
引入n个拉格朗日因子,利用拉格朗日乘数法将条件极值转化为无条件极值问题,即:
∀j=1,2,…,n。
(7)
对变量ci,uij分别进行求导,得到每个变量的极值点:
(8)
(9)
给出初始化聚类中心,对式(8)和式(9)进行反复迭代使式(6)中的目标函数达到最小值。算法具体步骤如下:
① 初始化聚类中心;
② 计算隶属度函数uij;
③ 更新聚类中心ci;
④ 重复步骤②,③,直到uij收敛。
2 实验结果与分析
2.1 实验数据
实验数据为呼伦贝尔特泥河农场系留气球草畜观测实验中获取的可见光牲畜影像数据,最大升球高度为300 m。试验中基于系留气球平台获取数据的位置与范围如图1所示。
图1 试验中获取数据的位置与范围Fig.1 Location and scope of the data obtained in the experiment
相机载荷有2种,分别为球载可见-红外双通道视频相机与球载大幅宽可见光相机,如图2所示。球载可见-红外双通道视频相机图像分辨率为1 920 pixel×1 080 pixel,最大地面分辨率为0.02 m@1 km,具有30倍变焦能力,获取视频的最大帧率为25帧/秒,共获取视频图像30 610帧,图3为拍摄的一幅包含羊群的影像。球载大幅宽可见光相机图像分辨率为11 664 pixel×8 750 pixel,地面分辨率为0.04 m@1 km,共获取图像5 715幅,图4为拍摄的一幅包含羊群的影像。获取的图像对应成像载荷倾斜角0°~85°不等(以垂直下视为0°),目标距成像载荷距离300~2 000 m不等。
(a) 球载可见-红外双通道 视频相机
图3 球载可见-红外双通道视频相机拍摄的牲畜影像 (倾斜角60.9°,距离约540 m)Fig.3 Livestock image taken by the visible-infrared dual channel video camera (tilt angle:60.9°, distance:about 540 m)
2.2 算法流程
本文提出的基于异常检测与模糊均值聚类的球载可见光影像牲畜数量核算方法流程如图5所示。
图5 本文算法流程Fig.5 Flow chart of the proposed algorithm
首先对输入的球载相机获取的影像进行预处理,由于球载平台在成像过程中存在平台抖动、对焦不准等因素造成图像质量的下降,影响牲畜目标提取,因此采用对比度拉伸、去噪、锐化等方法对图像进行预处理,提升图像质量,便于目标提取与数量统计。然后通过异常检测算法对谱段扩展后的数据进行目标提取,将目标与背景进行区分,并使用形态学操作对图像进行修正,对目标形状进行一定程度的恢复。对于处理得到的二值目标图像,统计每个连通区域的位置和面积大小,设置单个目标的面积范围,对于目标区域面积在该范围内的视为孤立目标,提取每个质心位置,计算孤立目标面积均值,统计目标数量;对于粘连区域,根据区域面积初步估计目标数量,通过模糊均值聚类算法提取每个目标的位置,统计目标数量,最终得到影像中的牲畜数量核算值。
2.3 基于谱段扩展的RX异常检测算法效果对比
RX异常检测算法探测的是基于光谱维度上的统计异常信息,具有效率高、不需要先验信息的优点。对于高空间分辨率的3波段彩色影像,光谱维度信息不足,使用RX算法的效果不佳,本文采用波段扩展的方式通过牺牲部分空间分辨率的方式增加谱段信息。对于地物,一般空间相邻像元的光谱信息具有高度相关性,这是应用该方法的理论基础。为说明该方法的有效性,补充了对比实验图,对于同一幅牲畜目标影响,直接使用RX异常检测方法与使用改进后的RX异常检测算法得到的效果如图6所示。
(a) 羊群图像
由图6可以看出,直接对原始3波段影像使用RX异常检测方法会提取出大量伪目标,而改进后的方法提取效果有明显改善。
2.4 实验结果分析
基于球载观测试验中获取的包含牛羊群的光学影像,对本文提出的自动牲畜数量核算方法进行测试验证,将算法自动提取的结果与人工识别结果进行对比,计算提取精度:
(10)
由于牲畜群影像分辨率较低,存在明显的遮挡和粘连现象,人工提取数量也存在一定的不确定性,采用多人独立提取结果取平均的方式作为人工识别结果。球载可见-红外双通道视频相机拍摄的一景牲畜影像提取结果如图7所示,图7中为聚集度较低的羊群目标,人工核算数量为199只,算法提取的数量为187只,数量核算精度94.0%。
(a) 羊群影像
球载大幅宽可见光相机拍摄的一景牲畜影像提取结果如图8所示,图8中为聚集度较高的羊群目标,人工核算数量为240只,算法提取的数量为217只,数量核算精度90.4%。由于该影像中羊群目标清晰度较低,粘连程度较高,核算精度较上一景影像有所下降。
(a) 羊群影像
对试验区域周边约3 km2范围内获取的球载2型相机影像中的牛羊目标进行数量核算,将算法提取结果与人工结果进行比对。为进一步说明本文算法的有效性,同时采用基于机载影像样本构建的深度学习算法进行牛羊目标检测并进行数量核算,对比数量核算精度[19]。该模型为利用无人机下视拍摄数据构建的草原牛羊检测模型(http:∥218.202.104.82:5806/vid),模型框架为Mask RCNN,训练样本为13 803 张影像块中的4 229 头牛、10 174 只羊目标。基于深度学习算法对羊群和牛群目标的检测结果如图9所示。
(a) 羊群影像
由图9可以看出,基于个体检测的深度学习算法,对于像素面积较大的牛检测识别率高,而对于较小的羊检测识别率低。
表1是采用本文算法以及深度学习算法得到的牛羊数量核算结果,所有影像中共计有羊1 376只,牛273头;本文算法核算出羊1 245只,牛289头,核算精度分别为90.5%,94.1%,总计核算精度93.0%;作为对比,深度学习算法对羊和牛的核算精度分别为71.5%,89.7%,总计核算精度77.9%。2种算法对于牛群的数量核算精度高于羊群,是因为牛群个体目标更大,且目标更为分散,有利于检测识别。本文算法核算精度较深度学习算法有显著优势,特别是对于体型更小、聚集度更高的羊群目标,核算精度提升更为明显。
表1 本文算法与深度学习算法对牛羊核算精度对比
随着观测角度的增大,目标距离更远,目标在图像中的分辨率降低,且目标的遮挡粘连现象更为显著,对数量核算精度产生影响。为分析本文算法对不同观测角度下牲畜目标核算的适应性,选取不同观测角度下的羊群目标影像,采用本文算法与深度学习算法分别进行目标检测与数量核算,结果如表2所示。
表2 不同观测角度下本文算法与深度学习算法对羊群核算精度对比
对于60.9°,71.3°,83.9°三种观测角度,本文算法对羊群目标数量核算精度分别为94.9%,90.9%,90.4%,深度学习算法的数量核算精度分别为83.7%,76.5%,62.9%。可以看出,随着观测角度的增大,深度学习算法的数量核算精度出现了较为明显的下降,而本文算法精度下降较小,对于不同观测角度显示出较好的适应性。
相比于其他深度学习算法,本文方法的优越性主要体现在:① 深度学习方法需要大量的样本库支持,且对样本的质量和属性有较高要求,使用条件较为严格,如实验中基于无人机下视拍摄数据构建的模型在倾斜角度下的球载影像中的效果不佳,本文算法不依赖于训练样本,具有较好的环境适应性;② 对于密集型目标的检测,深度学习方法精度不高,文献[10]中也进行了讨论,本文算法更侧重于目标密集粘连时的处理,在密集目标数量核算精度上具有更显著的优势。
3 结束语
本文面向草原牲畜数量核算需求,针对球载成像载荷获取的牲畜影像分辨率不足及成像环境干扰导致的目标模糊与粘连效应对牲畜检测与数量核算的问题,提出了一种基于异常检测与模糊均值聚类的球载可见光影像牲畜数量核算方法。基于2种球载光学相机载荷获取的牲畜影像中对1 376只羊与273头牛的数量核算试验结果表明,本文方法对羊和牛的数量核算精度分别为90.5%,94.1%,总计核算精度93.0%,比目前主流的深度学习目标检测算法的核算精度(77.9%)有明显提升;同时对不同观测角度下的牲畜数量核算表明,深度学习算法在大观测角度下出现了明显下降,本文算法在较大观测角(83.9°)下仍表现出较高的核算精度(90.4%)。因此,本文提出的基于异常检测与模糊均值聚类的牲畜数量核算方法对不同大倾角观测下的球载可见光影像具有良好的适应性,适用于球载平台的牲畜数量核算,对草原牲畜数量核算与草地载畜量估计应用具有重要价值。本文算法侧重于目标数量的核算,在计算时已经事先人工将牛群和羊群的影像进行了分类筛选,故未在算法中进行物种的自动区分。下一步工作将考虑利用检测出目标的光谱、纹理及空间分布等特性在检测目标的同时进行快速物种识别。此外,针对分辨率更低(亚米级)的光学卫星影像,研究本算法模型的可传递性,实现星空一体化草原牲畜的目标检测与数量核算,在草牧业应用上发挥更大的作用。