南京农业大学学报  2021, Vol. 44 Issue (1): 194-200   PDF    
http://dx.doi.org/10.7685/jnau.202003027
0

文章信息

谢忠红, 刘悦怡, 宋子阳, 徐焕良
XIE Zhonghong, LIU Yueyi, SONG Ziyang, XU Huanliang
基于时序运动特征的奶牛爬跨行为识别研究
Research on recognition of crawling behavior of cows based on temporal motion features
南京农业大学学报, 2021, 44(1): 194-200
Journal of Nanjing Agricultural University, 2021, 44(1): 194-200.
http://dx.doi.org/10.7685/jnau.202003027

文章历史

收稿日期: 2020-03-13
基于时序运动特征的奶牛爬跨行为识别研究
谢忠红 , 刘悦怡 , 宋子阳 , 徐焕良     
南京农业大学人工智能学院, 江苏 南京 210095
摘要[目的]为了尽早发现发情奶牛并及时进行配种,提高养殖场的经济效益,本文研究了基于机器视觉的奶牛爬跨行为识别。[方法]选取3种行为视频:侧爬跨101段,追随191段,行走343段,合计635段视频,构建VideoROI_set_Extended数据集。针对每一个视频段,在分割出奶牛目标后,使用最小外接矩形(包含运动奶牛对象),计算最小外接矩形框的高度(Height,H),宽度(Width,W)和纵横比(Height/Width,Z)3个特征;以时间(T)为横轴,绘制3条奶牛运动时序曲线,并基于Improve Freeman编码法对3条曲线分别进行编码;最后将VideoROI_set_Extended视频集以8:2的比例进行随机划分后,使用K最近邻分类器(K-nearest neighbor,KNN)和BP神经网络分类器(back propagation neural network,BP)2种分类器对时序曲线进行训练和识别。[结果]采样数m=10和角度数n=6时,使用KNN分类器进行识别,单一特征Z 10次的平均识别正确率达到97.64%;组合特征W&H&Z的时序曲线识别效果最好,KNN分类器的识别正确率达到99.21%。[结论]本文提出的基于时序运动特征的奶牛爬跨行为识别方法能够有效识别奶牛的侧爬跨行为,为计算机自动识别爬跨行为的奶牛提供依据。
关键词   爬跨行为   发情行为   时序运动曲线   Improve Freeman编码   
Research on recognition of crawling behavior of cows based on temporal motion features
XIE Zhonghong, LIU Yueyi, SONG Ziyang, XU Huanliang    
College of Artificial Intelligence, Nanjing Agricultural University, Nanjing 210095, China
Abstract: [Objectives] In order to improve the economic efficiency of the farm, find the cows in estrus and breed them in time, a research on the recognition of crawling behavior of cows based on machine vision was proposed in this article. [Methods] Three types of behavioral videos were selected:101 video clips of side crawling, 191 video clips of following, and 343 video clips of walking. The VideoROI_set_Extended dataset containing 635 video clips was constructed. For each video segment, the cow object was segmented, and the moving cow object was contained by the smallest bounding rectangle. The three characteristics of the minimum bounding rectangle height(height, H), width(width, W), and aspect ratio(height/width, Z)were all calculated; With time(T)as the horizontal axis, 3 cow motion timing curves were drawn. Based on the Improved Freeman coding method, 3 curves were coded; Finally, after the VideoROI_set_Extended video set was randomly divided at a ratio of 8:2, K-Nearest Neighbor(KNN)and Back Propagation Neural Network(BP)classifiers were used to train and recognize the cow's motion curve. [Results] When the number of samples m was 10 and the number of angles n was 6, based on the aspect ratio feature(Z), the KNN classifier was used for recognition, and the average recognition accuracy rate of 10 times was 97.64%. Based on the combined feature(W&H&Z), the KNN classifier was used for recognition, and the average recognition accuracy rate of 10 times was 99.21%. [Conclusions] The method for identifying the crawling behavior of cows based on time-series motion characteristics proposed in this paper can effectively realize the lateral crawling behavior of cows. This research will provide a basis for automatically identifying the crawling behavior of dairy cows.
Keywords: cow    crawling behavior    estrus behavior    time-series motion curvet    Improve Freeman coding   

针对奶牛发情行为的自动识别, 国内外学者已做过一些研究。Ahn等[1]基于运动历史图像提取奶牛移动量特征信息, 使用支持向量机分类的准确率为72%。顾静秋等[2]提取视频帧实时捕获奶牛爬跨行为特征, 融合运动量实现实时监测奶牛发情, 准确率超过80%, 漏检率最低为3.28%。何东健等[3]通过改进目标检测算法, 提取奶牛质心、轮廓等特征, 采用快速聚类算法, 实现犊牛躺、站、走和跑跳的识别, 准确率分别为100%、96.17%、95.85%和97.26%。张子儒[4]将奶牛爬跨时的姿态和躯体上扬的运动特性作为爬跨行为的特征表示, 使用多种分类器进行识别, 平均识别准确率达到90.9%。

通过观察奶牛爬跨行为后发现, 包含爬跨奶牛与被爬跨奶牛的几何形状会发生有规律的变化。本研究以时间为横轴, 以包含奶牛对象的几何形状特征为纵轴, 构建表示运动行为特征的时序曲线, 并对曲线进行分段、编码, 最终使用分类器进行行为识别, 有助于辅助判断发情奶牛, 提高养殖效益。

1 材料与方法 1.1 图像采集

奶牛视频拍摄于内蒙古自治区鄂尔多斯市鄂托克旗渠畔村某小型奶牛养殖场, 奶牛场长为180 m, 宽165 m, 其中A1、A2、A3和A4为摄像头的安装位置, 摄像头安装在距离地面1.8 m的位置, 与水平面的夹角是45°(图 1)。拍摄对象是该养殖场中12至24个月的22头美国荷斯坦奶牛。拍摄时间为2016年7月31日至8月1日、8月22日至8月24日、9月1日至9月20日的00:00—24:00以及2017年8月31日至9月16日的00:00—24:00, 获取6 000个视频段。使用海康威视监控摄像头(型号为DS-2CD4032FWD-SDI)拍摄, 采集的视频以MP4的格式存储, 分辨率为1 920×1 080(水平×垂直), 帧速为每秒25.00帧。

图 1 养殖场景 Fig. 1 Breeding scene WT:Water tank.
1.2 奶牛爬跨视频数据集

观察奶牛的爬跨视频, 发现有3种视角的爬跨行为:正面爬跨、背面爬跨和侧面爬跨。本次捕获的视频主要是侧面爬跨, 因此主要研究侧面爬跨行为的自动识别。侧面爬跨可分为3个阶段:1)爬跨初期, 奶牛a紧紧追随奶牛b; 2)爬跨中期, 奶牛a抬起前半身爬上奶牛b的后半身; 3)爬跨后期, 2头奶牛恢复紧紧追随行走状态[5]

图 2 奶牛爬跨行为的3个阶段 Fig. 2 Three stages of cow crawling behavior
2 基于时序运动特征的奶牛爬跨行为识别 2.1 奶牛爬跨行为的图像特征提取

基于时序运动特征的奶牛爬跨行为识别流程见图 3。分析奶牛爬跨行为运动视频可以发现:随着时间的推移, 包含奶牛的最小外接矩形连通域会发生有规律的形变(图 4), 因此本次研究以时间为横轴, 以包含奶牛对象的几何形状特征为纵轴, 构建表示运动行为特征的时序曲线, 最终进行行为识别。

图 3 爬跨行为识别流程图 Fig. 3 Crawling behavior recognition flow chart
图 4 包含爬跨奶牛的最小外接矩形的时序变化曲线 Fig. 4 Trend of the smallest circumscribed rectangle of the cows with crawling behavior
2.2 运动视频中运动目标几何特征时序变化曲线

观察发现:随着时间的推移, 包含奶牛的最小外界矩形的形变可以刻画奶牛的运动行为, 因此抽取最小外接矩形的3个特征:宽度(W)、高度(H)和纵横比(Z)。以时间(T)作为横坐标, 分别以这3个形状特征为纵坐标, 画出时序变化曲线, 以此拟合奶牛运动行为。时间间隔为5帧, 3条时序曲线为W=f1(T)、H=f2(T)和Z=f3(T)。图 5展示了奶牛的爬跨行为、追随行为以及行走行为所对应的时序曲线。

图 5 奶牛爬跨行为(A)、追随行为(B)和行走行为(C)对应的3种时序曲线(纵坐标高度和宽度的单位为像素) Fig. 5 Three time-series curves corresponding to cow walking behavior(the unit of height and width are pixels)
2.3 基于时序变化曲线的运动特征抽取 2.3.1 曲线分段

观察奶牛爬跨行为视频段, 爬跨行为持续时间有长有短, 绘制多组完整爬跨行为所生成的曲线后发现, 曲线的变化趋势具有相似性(图 6)。观察曲线1可发现, 在爬跨初期, 2头奶牛处于跟随状态, 纵横比较小, 且变化缓慢; 在爬跨中期, 处于后方的奶牛爬跨在前方的奶牛背上, 纵横比增大并持续一段时间; 进入爬跨后期, 2头奶牛又再次进入跟随状态, 纵横比减小, 变化趋于平缓。

图 6 时长不同的完整爬跨行为所对应的时序曲线 Fig. 6 Time-series curves corresponding to complete crawling behavior of different time lengths

图 7可见:y1=f1(T)和y2=f2(T)为仿真行为相同但时长不同的2条纵横比特征时序曲线, 2条曲线变化趋势具有相似性。研究中沿横坐标方向对2条曲线进行等间隔采样, 间隔数n=10, 则每条曲线可以得到10个采样点; 然后将相邻的采样点首尾相连, 得到1个矢量序列。曲线y1和曲线y2所得到的矢量序列具有相似性。

图 7 仿真时序曲线y1和y2(T=10, n=10) Fig. 7 Simulation time-series curves y1 and y2
2.3.2 编码

图 7得出时序曲线对应的矢量序列的方向在区间[-90°, 90°], 本文对Freeman编码方法[6-7]进行改进, 设计了一种Improved Freeman编码方法:1)将[-90°, 90°]均分为m个区间; 2)从90°开始, 沿顺时方向为每个区间进行编码, 依次为1, 2, 3, …, m-1, m(图 8)。

图 8 改进的Freeman编码方法 Fig. 8 Improved Freeman encoding method

从视频集VideoROI_set_Extended中选2个长度不同的完整爬跨视频, 绘制对应高度曲线, 视频1的编码为[3 3 2 3 3 3 3 4 5 4], 视频2的编码为[3 3 3 3 3 3 4 4 5 4]。可以看出这2条曲线, 变化趋势相似, 编码也具有相似性(图 9)。

图 9 包含爬跨行为的最小外接矩形的高度变化对应的时序曲线 Fig. 9 Time series curve corresponding to the height change of the smallest circumscribed rectangle including crawling behavior
2.4 试验结果与分析 2.4.1 试验数据

与爬跨行为易发生混淆的另外2种行为是:1)2只奶牛追随; 2)单只奶牛快步行走。因此研究中主要截取这3种行为的视频, 定义视频数据集为VideoROI_set。其中爬跨视频为17段(完整的爬跨视频有14段, 非完整的爬跨视频3段), 追随视频29段, 行走30段, 合计96段。

视频扩充:以1/2、2/3、3/4的比例截取视频中的曲线HWZ值, 再以特殊参数-1补齐特征值。如按照1/2比例截取{W1, W2, …, Wn}, 将得到{W1, W2, …, Wn/2, …, -1, -1, -1}和{-1, -1, -1, …, Wn/2, Wn/2+1, …, Wn}2组宽度时序曲线。针对非完整爬跨视频, 通过特殊参数-1, 将曲线数据补充为完整爬跨曲线。

最终扩增后的VideoROI_set_Extended包含爬跨视频101段, 追随视频191段, 行走视频为343段, 合计635段, 以8:2的比例对训练集和测试集随机划分。

2.4.2 试验环境和参数设置

试验设备为惠普笔记本, Intel(R)Core(TM)i7-7700HQ CPU, 8G内存, Windows10操作系统, 编程语言为python。

分类器为BP神经网络和KNN。BP神经网络分类器的隐藏层结点数为15, 学习率为0.01, 误差精度为10-5; KNN分类器中k设置为5。研究中所有得到的识别率均为10次试验后平均识别率[8-10]

2.4.3 参数选择及结果分析

对时序曲线等间隔采样个数n和方向编码角度个数m可能对分类准确率影响较大。因此研究中取n=10, 20, 30, 40;m=6, 12, 18, 24, 30, 36, 42, 48。

表 1 使用KNN、BP神经网络分类器的特征识别结果比较(m=6) Table 1 The comparison of recognition results of feature using KNN(K-nearest neighbor)and BP(back propagation)neural network classifiers(m=6)
特征
Feature
分类器Classifier
KNN BP
10 20 30 10 20 30
W 86.61 94.48 96.88 89.14 91.71 92.29
H 92.91 93.70 95.27 94.86 94.86 91.43
Z 97.64 98.42 97.42 96.51 96.19 94.92
W&H&Z 99.21 98.82 97.80 97.99 96.86 95.43

1) 确定特征组

m=6, n={10, 20, 30}, 使用KNN和BP神经网络2个分类器, 基于WHZW&H&Z这4种特征进行分类试验, 结果如表 1所示。

表 1可知, 方向编码角度个数m确定时, 间隔采样个数n=10, 20, 30时, BP神经网络和KNN分类器均是W&H&Z特征识别结果最好, KNN分类器10次的平均识别正确率为98.61%, BP神经网络分类器10次的平均识别正确率为96.76%。

这是因为W&H&Z特征融合了WHZ 3种特征, 丰富了爬跨行为过程的描述。KNN分类器的识别率平均为98.61%。单一特征Z表现最优, KNN分类器10次的平均识别正确率为97.83%, BP神经网络分类器10次的平均识别正确率为95.87%。

2) 采样数n对识别率的影响

基于特征W&H&ZZ, 进一步分析间隔采样数n对识别率的影响, 采用中等间隔采样数n=10, 20, 30进行试验。

图 10可以看出:W&H&ZZ特征的识别率随采样数n的增加呈下降趋势, n=10时, 平均识别效果为最好。分析编码特点, 可以推测:随着n增加编码细化后, 有可能会引入异常点, 使容错率变小, 因此本文选择n为10。

图 10 W&H&Z(A)和Z(B)特征在不同间隔采样数(n)下的识别率(m=6) Fig. 10 Recognition rate of feature W&H&Z(A)and Z(B)under different segment number(m=6)

3) 角度数m对识别率的影响

采样数n=10时, 分析角度数m对识别率的影响。从图 11可以看出:随着角度数m的增加, 基于KNN和BP神经网络2个分类器进行识别, W&H&Z特征和Z特征的识别结果趋势相同, 即:随m的增大识别率逐渐降低, 但降幅不明显; 在m=42时明显下降, 而后识别率上升。原因可能是随m增大, 曲线描述更加细化, 会引入异常点, 造成波动, 使容错率变小。整体上随着角度数m的增大识别正确率呈下降趋势。因此本次研究选择角度数m=6。

图 11 m取不同值时特征W&H&Z(A)和Z(B)的识别率(n=10) Fig. 11 Recognition rate of feature W&H&Z(A)and Z(B)when m takes different values(n=10)
3 结论

基于计算机视觉的奶牛爬跨行为的自动识别, 本文提出了一种以最小外接矩形包含运动目标, 获取奶牛的形状特征, 并生成时序曲线的特征抽取方法。结果表明:间隔采样数n=10, 角度数m=6时, 使用KNN分类器, 融合特征W&H&Z识别正确率最高, 10次平均识别率为99.21%。

本研究的局限性在于爬跨行为视频均选用了以侧爬跨运动视频, 并未讨论正面爬跨、反面爬跨等可能出现的多种情况, 今后将会进一步增加从不同方向爬跨的视频段, 扩展数据集。

参考文献(References)
[1]
Ahn S J, Ko D M, Choi K S. Cow behavior recognition using motion history image feature[M]//Lecture Notes in Computer Science. Cham: Springer International Publishing, 2017: 626-633.
[2]
顾静秋, 王志海, 高荣华, 等. 基于融合图像与运动量的奶牛行为识别方法[J]. 农业机械学报, 2017, 48(6): 145-151.
Gu J Q, Wang Z H, Gao R H, et al. Recognition method of cow behavior based on combination of image and activities[J]. Transactions of the Chinese Society for Agricultural Machinery, 2017, 48(6): 145-151 (in Chinese with English abstract).
[3]
何东健, 孟凡昌, 赵凯旋, 等. 基于视频分析的犊牛基本行为识别[J]. 农业机械学报, 2016, 47(9): 294-300.
He D J, Meng F C, Zhao K X, et al. Recognition of calf basic behaviors based on video analysis[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(9): 294-300 (in Chinese with English abstract).
[4]
张子儒.基于视频分析的奶牛发情信息检测方法研究[D].杨凌: 西北农林科技大学, 2018.
Zhang Z R. Research on detection of cow estrus information based on video analysis[D]. Yangling: Northwest A&F University, 2018(in Chinese with English abstract).
[5]
赵凯旋, 何东健. 基于卷积神经网络的奶牛个体身份识别方法[J]. 农业工程学报, 2015, 31(5): 181-187.
Zhao K X, He D J. Recognition of individual dairy cattle based on convolutional neural networks[J]. Transactions of the Chinese Society of Agricultural Engineering, 2015, 31(5): 181-187 (in Chinese with English abstract).
[6]
李国和, 江希. 一种时序曲线的表示和识别方法[J]. 计算机工程与应用, 2007(31): 236-239.
Li G H, Jiang X. Method of time-sequence curve's expression and its recognition[J]. Computer Engineering and Applications, 2007(31): 236-239 (in Chinese with English abstract). DOI:10.3321/j.issn:1002-8331.2007.31.070
[7]
裴姗, 章腾. 基于Freeman链码的几何图形识别算法[J]. 计算技术与自动化, 2018, 37(3): 115-117, 154.
Pei S, Zhang T. Recognition algorithm for geometry figure based on freeman chain code[J]. Computing Technology and Automation, 2018, 37(3): 115-117, 154 (in Chinese with English abstract).
[8]
王登铭.基于PSO-BP神经网络的柱塞泵故障诊断方法的研究[D].南京: 东南大学, 2018.
Wang D M. Research on fault diagnosis method of axial piston pump based on PSO-BP neural network[D]. Nanjing: Southeast University, 2018(in Chinese with English abstract).
[9]
张开兴, 吕高龙, 贾浩, 等. 基于图像处理和BP神经网络的玉米叶部病害识别[J]. 中国农机化学报, 2019, 40(8): 122-126.
Zhang K X, Lü G L, Jia H, et al. Identification of corn leaf disease based on image processing and BP neural network[J]. Journal of Chinese Agricultural Mechanization, 2019, 40(8): 122-126 (in Chinese with English abstract).
[10]
肖佳琳, 岳殿武, 赵政铎, 等. 基于遗传算法优化BP神经网络的可见光定位[J]. 光电子·激光, 2019, 30(8): 810-816.
Xiao J L, Yue D W, Zhao Z D, et al. A visible light localization algorithm based on BP neural network optimized by genetic algorithm[J]. Journal of Optoelectronics·Laser, 2019, 30(8): 810-816 (in Chinese with English abstract).