您好, 访客   登录/注册

融合超像素分割算法与肢体特征的奶牛躯干精确分割方法

来源:用户上传      作者:

  摘要:为了实现奶牛躯干的精确分割,以荷斯坦奶牛为研究对象,首先采用超像素分割算法(simple linear iterative cluster,简称SLIC)与显著性分析相结合的方法获得完整奶牛目标;然后通过设置傅里叶描述子以平滑Canny算子边缘检测的奶牛轮廓;最后采用基于奶牛肢体特征的分割点提取方法提取各分割点并依次连接生成奶牛躯干的分割线。为了验证本研究结果的有效性,使用试验图像库中随机抽取的20幅图像进行了测试,试验结果表明,本研究所提取的奶牛目标与手动提取目标的平均重叠率为96.83%,可以实现不同背景下奶牛目标的准确分割。本研究所提出的奶牛躯干分割方法的平均重叠率为99.86%,表明该方法在奶牛躯干精确分割中准确率较高且相对稳定,可以实现不同站立体态奶牛的高精度分割。
   关键词:奶牛;躯干分割;SLIC算法;显著性分析;傅里叶描述子
   中图分类号: TP391.41  文献标志码: A  文章编号:1002-1302(2020)15-0253-07
   奶牛的头部、颈部、躯干及四肢包含着诸多奶牛的运动信息,开展奶牛躯干的精细分割方法研究,可为奶牛体态检测、体况评价、运动评分、目标识别及行为分析等研究奠定基础,对于提升奶牛养殖场的现代化和智能化水平具有重要的促进作用[1-5]。
  在奶牛目标识别、分割、行为分析等方面,国内外研究已经取得了大量成果。在奶牛行为识别方面,Martiskainen等使用三轴加速度计和支持向量机(support vector machine,简称SVM)方法,实现了奶牛站立、躺卧、反刍、进食、正常行走和跛行等行为的识别,平均识别正确率为78.00%[6]。顾静秋等提出了一种基于图像熵的奶牛目标识别方法[7],利用最小包围盒面积识别奶牛连续7 d的运动量,该方法对奶牛发情、蹄病行为的识别率超过80.00%。Ahn等提出了基于运动历史图像特征的SVM分类器识别奶牛行为,识别准确率为72.00%[8]。在奶牛目标分割与躯干精确分割方面,金一初等将奶牛图像转换到LUV颜色空间并对各子块进行块内颜色聚类,基于奶牛颜色和纹理特征对子块作区域生长,实现了奶牛目标的分割,准确率在80.00%以上[9]。Nahari等利用局部阈值分割与K-means聚类算法相结合的方法将奶牛图像分为2簇并提取奶牛目标,分割结果优于局部阈值分割与边缘检测相结合的方法[10]。赵凯旋等基于深度圖像的机器学习方法,选取不同采样半径下的像素点带阈值局部二值式序列作为深度特征值,并用决策树森林机器学习方法实现了奶牛躯干的精细分割,平均识别率为95.15%[11]。李国强等提出了基于奶牛骨架特征的肢体分割方法,在提取奶牛肢体骨架的基础上,以骨架分叉点作为奶牛肢体的分解线来分割奶牛肢体,该方法对各肢体分解的平均正确率为95.09%[12]。
  综上所述,在动物躯干分割方面,基于深度图像的奶牛分割方法易受图像背景环境、光照及奶牛毛色变化等因素的影响[13];轮廓提取算法得到的轮廓冗余信息较多,不利于躯干分割点提取[14];角点检测算法存在误差较大等问题[15-17]。针对上述问题,本研究拟从奶牛目标提取方法、奶牛轮廓提取方法及奶牛躯干分割方法这3个方面展开研究。通过结合SLIC算法与显著性分析方法提取奶牛目标,并采用Canny算子获得奶牛目标轮廓,再设定傅里叶描述子个数得到相对平滑的奶牛目标轮廓。最后,利用奶牛肢体特征提取奶牛躯干部位的分割特征点,并按照设定的约束条件生成分割线,以期实现奶牛躯干的精确分割,为进行奶牛体况评价、体姿和体态监管等研究奠定基础。
  1 材料与方法
  1.1 试验材料
  本研究试验数据采集于陕西省杨凌高新农业示范区杨凌科元克隆股份有限公司的奶牛养殖场,采用布置于牛场的DS-2DM1-714圆顶摄像机(海康威视,中国杭州)的监控视频作为原始试验数据。为方便后续研究,所有奶牛图像分辨率统一设置为670×420像素,JPEG格式。图像库共包含210幅不同姿态的奶牛图像,其中,奶牛抬头图像90幅,低头图像120幅。在210幅图像中,奶牛四肢存在重叠的图像80幅。本研究使用的计算机配置如下:Intel Core i3 CPU,i3-330 M,内存2 GB,显卡为NVDIA GeForce G 310M,所有算法均在MATLAB 2017a上运行。
  1.2 方法
  1.2.1 基于SLIC算法的奶牛目标分割 SLIC算法首先确定超像素种子点。若图像有N个像素点,预计分割为K个相同超像素,则每个超像素的大小为N/K,相邻种子点的距离为S=sqrt(N/K)。然后计算种子点的3×3邻域内所有像素点的梯度值,将种子点移到邻域内梯度值最小的区域,在每个种子点周围的邻域内为每个像素点分配标签[18]。其次利用{L,a*,b*,X,Y}向量计算距离度量,如公式(1)~公式(3)所示:
  式中:NS=S=sqrt(N/K)为类内最大空间距离,Nc为设定的最大颜色距离,dc为颜色距离,dS为空间距离,D′为像素点与聚类中心的距离。同一个像素点可被多个种子点搜索,取每一个像素点与周围种子点之间的距离最小值所对应的种子点作为标记像素点,可通过多次迭代减少误差。SLIC算法将图像转换为La*b*颜色空间,在XY坐标下提取图像{L,a*,b*,X,Y}向量并构造距离度量标准[19],对各像素进行局部聚类处理,可以较好地保持目标轮廓。
  基于上述方法分割的结果见图1,示例为奶牛处于低头姿态的图像,图1-a为奶牛的原始图像,图1-b为提取出的奶牛目标。其中图1-c、图1-e、图1-g所示像素块K个数分别选用80、200、500个像素块分割图像,其对应的显著性分析结果如图1-d、图1-f、图1-h所示。可见当选择 K=80时分割结果不够精细,且显著性检测结果中目标部分区域与背景环境相连,无法实现奶牛目标的完整分割;K=200、K=500时分割结果更加准确且可以较好地分割奶牛目标;考虑到算法执行效率因素,本研究选择K=200进行分割。   1.2.2 显著性检测与阈值分割 目标的准确识别是奶牛躯干分割的基础。显著性检测通过模拟人类的视觉注意机制来筛选图像中显著的目标,将显著区域作为目标输出。利用SLIC算法将图像分为K个像素块,将任一像素块Pi与其他像素块Pj在La*b*空间作对比,差距越大像素块Pi越显著。同时利用显著性区域越相似的区域距离越接近的原理计算2像素块间的差异值,如公式(4)所示。
   对奶牛SLIC超像素分割结果显著性检测结果见图2-a。为得到完整的奶牛目标,采用自适应大津法对奶牛显著性图进行分割,结果见图2-b,可见目标分割完整,可为奶牛的轮廓提取与躯干分割奠定良好基础。
  1.2.3 奶牛边缘轮廓提取检测算法 目标轮廓的准确提取是奶牛躯干精确分割的前提。本研究使用Sobel算子与Canny算子提取奶牛图像轮廓的结果见图3,可见Canny算子对边缘点定位较好,所提取的结果对轮廓细节信息响应较强,因此,本研究采用Canny算子提取奶牛边缘轮廓。
  1.2.4 基于傅里叶描述子的奶牛边缘平滑 Canny算子提取的奶牛轮廓上毛刺等冗余信息较多,影响对轮廓特征点的提取。因此,本研究采用傅里叶描述子平滑奶牛轮廓[20-21]。傅里叶描述子的关键是确定合适的傅里叶描述子个数P,在能够表达原始轮廓的前提下得到尽可能平滑的轮廓[22]。随着P的减小,边界细节会被删减从而得到更为平滑的轮廓。分别令P=240、P=80、P=50、P=30、P=15、P=8,得到的图像轮廓结果如图4所示。图4-a、图4-b分别使用240、80个傅里叶描述子描述奶牛轮廓,显示的轮廓边界与图像原始边界对应紧密,图4-c、图4-d减少描述边缘的傅里叶描述子个数,显示的边界图像相对平滑,并且保留了图像的基本形状。图4-e、图4-f出现了失真,边界的主要特征丢失。利用傅里叶描述子描绘图像边缘要求在选择傅里叶描述子个数时,既要保留边缘的主要特征,又要保证边缘相对平滑,使得图像特征描述最优,因此本研究P选择为50个。
  1.3 奶牛肢体精确分割
  1.3.1 基于肢体特征的奶牛轮廓分割点提取 本研究提出基于肢体特征的方式提取奶牛肢体特征点,即利用奶牛躯干、四肢、头部与颈部的几何形状特征对肢体各部位分割点进行提取。具体描述如下:
  1.3.1.1 躯干分割点提取 奶牛躯干形态近似于椭圆形且占据奶牛整体大部分区域。在奶牛轮廓内部拟合最大椭圆,拟合椭圆近似为奶牛的躯干部
  位,利用奶牛轮廓最大内接矩形得到最大内接矩形与奶牛轮廓的交点即为奶牛躯干的分割点。从图5可以看出,当奶牛抬头时,最大内接矩形的左上角点和左下角点与奶牛轮廓相交即为奶牛颈部与躯干的分割点。当奶牛俯首时,由于最大内接矩形左下角点与奶牛轮廓不相交,故此时只取最大内接矩形左上角点作为躯干分割上角点,下角点由四肢分割点提取算法提取,方式如公式(2)所述。
  1.3.1.2 四肢分割点提取 根据奶牛四肢的分割点位于奶牛四肢轮廓线距图像下边框距离最大处的特点,将奶牛四肢轮廓描绘成轮廓曲线。对轮廓曲线的峰值点进行标记,所标记的峰值点即为奶牛四肢的分割特征点。
  1.3.1.3 头部与颈部分割点提取 奶牛俯首时上颈部轮廓线与下颈部轮廓线近似平行,而头部轮廓线则成聚拢状。通过检测平行线截止位置,即为奶牛俯身时奶牛头部与颈部的分割点。奶牛抬头时,颈部长度较短,分割点相对不明显,但颈部长度近似与奶牛头部长度相近。因此采用奶牛头颈部位中值点作为奶牛抬头时头部与颈部分割特征点。
  1.3.2 奶牛躯干分割线生成 针对特征点的位置特征,首先将其头部特征点相连接,形成分割线来分割奶牛头部与颈部,即连接图6-a、图6-c中A、B 2点。其次,当奶牛俯首时,轮廓最大内接矩形的左上交点C点与奶牛四肢分割点D点作为奶牛颈部与躯干的分割点;当奶牛抬头时,取轮廓最大内接矩形的左上交点C点与左下交点D点作为奶牛颈部与躯干的分割点。最后分割奶牛四肢部位,即连接图6中D、F 2点分割奶牛前肢,若存在E点则过E点向上做垂线将奶牛前肢分割为左前肢与右前肢,连接G、J 2点分割奶牛后肢,若存在I点则过I点向上做垂线将奶牛后肢分割为左后肢与右后肢。分割线连接方式如图6-b、图6-d所示。
  2 结果与分析
  2.1 评价指标
  本研究采用的评价指标为假阴系数、假阳系数以及重叠率。
  重叠率w为分割结果目标S1与奶牛真实目标S2的重叠面积与奶牛真实目标S2面积的比值,如公式(10)所示,其值越高则说明分割效果越好。
  2.2.1 重疊率 试验结果表明,采用SLIC算法与显著性分析算法提取的奶牛目标与手动提取的奶牛目标平均重叠率为96.83%。并且在躯干分割结果中,奶牛头部分割结果w高达99.77%;颈部分割结果w高达99.80%;躯干分割结果w高达99.70%;左前肢分割结果w高达99.95%;右前肢分割结果w高达99.95%;左后肢分割结果w高达99.93%;右后肢分割结果w高达99.92%,其中w最小为99.70%,最大为99.95%。
  2.2.2 假阴系数 奶牛头部分割结果中a值平均为2.00×10-3;颈部分割结果中a值平均为1.60×10-3;躯干分割结果中a值平均为1.70×10-3;左前肢分割结果中a值平均为2.00×10-4;右前肢分割结果中a值平均为2.00×10-4;左后肢分割结果中a值平均为4.00×10-4;右后肢分割结果中a值平均为4.00×10-4;总体平均值为9.29×10-4。
  2.2.3 假阳系数 奶牛头部分割结果中b值平均为5.00×10-4;颈部分割结果中b值平均为2.00×10-3;躯干分割结果中b值平均为1.60×10-3;左前肢分割结果中b值平均为5.00×10-4;右前肢分割结果中b值平均为2.00×10-4;左后肢分割结果中b值平均为3.00×10-3;右后肢分割结果中b值平均为2.00×10-4;总体平均值为1.14×10-3。   2.2.4 误差分析 对奶牛头部、颈部、躯干、左前肢、右前肢、左后肢及右后肢分别进行误差分析的结果如图7至图9所示,其横坐标为奶牛图像序号,纵坐标分别为假阴系数、假阳系数及重叠率。
   从图7-a可见,第14幅图像头部a值最大为4.90×10-3,而其所对应的假阳系数、重叠率远低于平均值,说明该图像头部分割结果包含于奶牛头部真实部位,因此该算法头部颈部分割线较真实分界线偏向头部;对奶牛右前肢分割结果中,绝大多数图像假阴系数均小于或等于假阴系数平均值,方差为5.59×10-8,相对而言较大,说明该算法在奶牛右前肢分割结果中准确率较高、稳定性相对较差。第6幅图像颈部重叠率最高,而其对应的a值为0.00,且假阳系数低于分割结果的平均值假阳系数,说明该幅图像颈部分割效果最佳。从图7、图8、图9综合可以看出,本研究算法在奶牛躯干分割结果误差分析中平均假阴系数与平均假阳系数近似相等且重叠率较高,说明本研究算法分割的躯干部位与奶牛躯干实际面积近似相等,误差较小;此外,本研究算法对奶牛左前肢的分割结果中,95.00%以上的奶牛图像前肢分割结果w高达99.92%以上,且假阴系数与假阳系数较低,可以较好地实现奶牛躯干与左前肢的精确分割。
   从图9可以看出,本研究算法对奶牛左后肢的分割结果中第18~20幅图像奶牛左后肢的分割结果均具有很高的重叠率,a值均为0.00,说明奶牛左后肢的分割结果具有较高的准确率且分割结果完全包含了奶牛左后肢的真实部位,而其假阳系数较低却均不为零说明该算法分割其左后肢结果中仍有极小部分溢出,该误差可能是由于手动分割奶牛目标产生误差或在奶牛目标分割算法中产生误差等原因所导致。
  3 讨论与结论
  本研究提取的奶牛目标与手动提取的奶牛重叠率为96.83%,表明该方法具有较好的目标提取效果。基于奶牛肢体特征的分割点提取方法所得到奶牛躯干分割效果较好,其平均重叠率为99.86%,平均假阴系数为9.29×10-4,平均假阳系数为1.14×10-3。表明该方法在奶牛躯干精确分割中准确率较高且相对稳定,可以实现不同体态奶牛的高精度分割,为进行奶牛体况评价、体姿和体态监管等研究奠定基础。
  李国强等基于骨架特征的奶牛肢体分解方法[12]与本研究的目的相似,其中本研究方法定义了重叠率来验证奶牛肢体的分割是否准确。本研究算法对头部、颈部、躯干、前肢、后肢的分割正确率均能分别高7.61%、10.00%、2.95%、1.48%、2.11%。同时,本研究未考虑奶牛四肢遮挡、奶牛间的相互遮挡及栏杆遮挡的问题,如何将本方法应用于更加复杂的奶牛养殖环境,尚需进一步分析。
  本研究以荷斯坦奶牛为研究对象,从奶牛目标提取、轮廓提取、躯干分割3部分展开,较好地实现了奶牛躯干的精确分割。主要结论:(1)将SLIC分割算法与显著性分析算法相结合能够较好地实现奶牛目标的准确分割,其准确率为96.83%,可为奶牛躯干的精确分割奠定基础。(2)在Canny算子提取的奶牛目标轮廓基础上,通过设定合适的傅里叶描述子个数,可以较好地平滑奶牛目标轮廓,为奶牛躯干分割及分割点的选择奠定基础。(3)采用基于奶牛肢体特征的分割点提取方法,在提取奶牛目标躯干分割特征点的基础上,通过设定的分割点连接规则,可较好地实现奶牛躯干的精确分割。(4)本研究未考虑奶牛遮挡等更为复杂的情况,如何将本方法加以改进,使之更加符合复杂的奶牛养殖环境需求,尚需进一步研究。
  参考文献:
  [1]Yan J J,Yu Y A,Zhu X Y,et al. Object detection by labeling superpixels[C]//IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2015:5107-5116.
  [2]Donghun Yeo,Son J,Han B,et al. Superpixel-based tracking-by-segmentation using markov chains[C]//IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2017:1812-1821.
  [3]何东健,孟凡昌,赵凯旋,等. 基于视频分析的犊牛基本行为识别[J]. 农业机械学报,2016,47(9):294-300.
  [4]张满囤,单新媛,于 洋,等. 基于小波變换和改进KPCA的奶牛个体识别研究[J]. 浙江农业学报,2017,29(12):2000-2008.
  [5]黄文明,张 勇,郭海明,等. 荷斯坦后备奶牛生长发育规律的研究进展[J]. 畜牧与兽医,2016,48(5):131-135.
  [6]Martiskainen P,Jrvinen M,Jukka-Pekka S,et al. Cow behaviour pattern recognition using a three-dimensional accelerometer and support vector machines[J]. Applied Animal Behaviour Science,2009,119(1/2):32-38.
  [7]顾静秋,王志海,高荣华,等. 基于融合图像与运动量的奶牛行为识别方法[J]. 农业机械学报,2017,48(6):145-151.
  [8]Ahn S J,Ko D M,Choi K S. Cow behavior recognition using motion history image feature[C]. International Conference Image Analysis and Recognition,2017.   [9]金一初,马 燕. 奶牛图像的分割算法研究[J]. 电子设计工程,2011,19(2):81-84,88.
  [10]Nahari R V,Jauhari A,Hidayat R,et al. Image segmentation of cows using thresholding and K-Means method[J]. International Journal of Advanced Engineering,Management and Science,2017,3(9):913-918.
  [11]赵凯旋,李国强,何东健. 基于机器学习的奶牛深度图像身体区域精细分割方法[J]. 农业机械学报,2017,48(4):173-179.
  [12]李国强,何东健,赵凯旋,等. 基于骨架特征的奶牛肢体分解方法研究[J]. 中国农业科技导报,2017,19(7):87-94.
  [13]郭 浩,王 鹏,马 钦,等. 基于深度图像的奶牛体型评定指标获取技术[J]. 农业机械学报,2013,44(增刊1):273-276,229.
  [14]Duan H B,Lu G. Elitist chemical reaction optimization for Contour-Based target recognition in aerial images[J]. IEEE Transactions on Geoscience and Remote Sensing,2015,53(5):2845-2859.
  [15]Lyu P,Cong Y,Wu W H,et al. Multi-oriented scene text detection via corner localization and region segmentation[C]. IEEE/CVF Conference on Computer Vision and Pattern Recognition,2018.
  [16]许佳佳,张 叶,张 赫. 基于改进Harris-SIFT算子的快速图像配准算法[J]. 电子测量与仪器学报,2015,29(1):48-54.
  [17]Zhang W C,Shui P L. Contour-based corner detection via angle difference of principal directions of anisotropic Gaussian directional derivatives[J]. Pattern Recognition,2015,48(9):2785-2797.
  [18]Li Z Q,Chen J S. Superpixel segmentation using Linear Spectral Clustering[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2015:1356-1363.
  [19]李 智,曲長文,周 强,等. 基于SLIC超像素分割的SAR图像海陆分割算法[J]. 雷达科学与技术,2017,15(4):354-358.
  [20]Sokic E,Konjicija S. Phase preserving Fourier descriptor for shape-based image retrieval[J]. Signal Processing:Image Communication,2016,40:82-96.
  [21]Heng L,Liu Z W,Huang Y L,et al. Quaternion generic fourier descriptor for color object recognition[J]. Pattern Recognition,2015,48(12):3895-3903.
  [22]邸馨瑶,焦 林,宋怀波. 基于优选傅里叶描述子的粘连条锈病孢子图像分割方法研究[J]. 计算机应用与软件,2018,35(3):193-198.
转载注明来源:https://www.xzbu.com/1/view-15313244.htm