1.一种计算机视觉的母猪哺乳行为识别方法,其特征在于,包括以下步骤:
1)采集哺乳期母猪和仔猪的俯视视频,并获取光流图像序列;
2)根据每帧的光流分布特征,计算哺乳运动像素的运动强度、占空比和空间聚集度,提取关键帧;
3)采用DeepLab深度网络分割关键帧中的母猪和仔猪,并利用形状匹配算法及母猪和仔猪空间分布特征,自动定位出哺乳的时空感兴趣区域;
4)在时空感兴趣区域中设置识别单元,提取识别单元中仔猪的运动特征,特征包括仔猪运动分布指数特征和基于母猪腹线的法线方向光流的仔猪吸吮运动特征;
5)将识别单元中提取的仔猪运动特征输入SVM分类模型,实现母猪哺乳行为自动识别。
2.根据权利要求1所述的一种计算机视觉的母猪哺乳行为识别方法,其特征在于:在步骤1)中,采集哺乳期母猪和仔猪的俯视视频,并获取光流图像序列,包括以下步骤:
1.1)在猪舍正上方安装摄像头,摄像头安装高度为2.5-2.7m处,获取包含1只母猪和9-
13头仔猪的哺乳期母猪和仔猪的俯视视频,视频帧分辨率为960×540像素,帧率为5帧/秒;
1.2)利用光流法计算原始图像序列的光流图像序列。
3.根据权利要求1所述的一种计算机视觉的母猪哺乳行为识别方法,其特征在于:在步骤2)中,根据每帧的光流分布特征,计算哺乳运动像素的运动强度、占空比和空间聚集度,提取关键帧,包括以下步骤:
2.1)母猪与仔猪哺乳运动像素点光流强度阈值设定:利用直方图法统计哺乳及非哺乳像素光流特征强度,获得哺乳运动像素点光流强度Inur≥2且Inur≤30;
2.2)计算哺乳运动像素占空比Onur,公式如下:
式中,Nnur表示哺乳运动像素点个数,Ntotal表示该光流图像所有运动像素点个数;
2.3)计算运动像素点个数低阈值 和高阈值 公式如下:
式中, 表示所有仔猪标准像素面积,npiglets表示仔猪个数,Nsow表示母猪标准像素面积;
2.4)计算运动聚集程度指数:计算所有运动像素之间的欧式距离的平均;
2.5)时间序列关键帧提取:如果某视频帧的哺乳运动像素占空比Onur>0.86且运动聚集程度指数Ag<3.0×105且运动像素点个数满足 则该帧为关键帧。
4.根据权利要求1所述的一种计算机视觉的母猪哺乳行为识别方法,其特征在于:在步骤3)中,采用DeepLab深度网络分割关键帧中的母猪和仔猪,并利用形状匹配算法及母猪和仔猪空间分布特征,自动定位出符合哺乳时母猪和仔猪空间分布的时空感兴趣区域,包括以下步骤:
3.1)将关键帧序列输入预设的DeepLab深度网络,实现所述关键帧中母猪和仔猪的分割与分类;其中,在将关键帧序列输入预设的DeepLab深度网络之前,需先对预设的DeepLab深度网络进行训练,具体如下:获取带有像素类别标记的原始视频帧;
将带有像素类别标记的原始视频帧和对应的原始视频帧输入预设的DeepLab深度网络,对预设的DeepLab深度网络进行训练;
3.2)计算分割结果中的母猪身体的质心位置,并以该质心位置为中心,获取包含母猪身体的外围矩形区域;
3.3)采用形状匹配算法,并根据预设带有乳腺区域标识的侧卧母猪形状模板,在上述矩形区域中进行形状匹配,并根据输出的匹配个数和位置坐标、角度参数,获取满足侧卧形状的视频帧;其中,预设带有乳腺区域标识的侧卧母猪形状模板是指构建的母猪侧卧时的形状模板,并人工记录模板中乳腺区域的位置;
3.4)在提取的侧卧视频帧中,根据上述获取的位置坐标、角度以及匹配模板中的乳腺区域标识,定位出母猪侧卧帧中的母猪乳腺区域,并通过最小二乘法拟合母猪腹部曲线,获取乳腺区域母猪的腹部曲线;
3.5)将拟合的母猪腹部曲线向外扩充,扩充宽度为仔猪身体长度的一半,扩充的区域即为时空感兴趣区域。
5.根据权利要求1所述的一种计算机视觉的母猪哺乳行为识别方法,其特征在于:在步骤4)中,在时空感兴趣区域中设置识别单元,提取识别单元中仔猪的运动特征,特征包括仔猪运动分布指数特征和基于母猪腹线的法线方向光流的仔猪吸吮运动特征,包括以下步骤:
4.1)在原始哺乳母猪视频中依次设置识别单元,若连续30s中至少有15s的视频帧中存在感兴趣区域,则将其设置为一个识别单元;
4.2)将感兴趣区域中的仔猪看作一个整体,计算感兴趣区域中仔猪运动像素个数Npiglets,即为感兴趣区域中光流强度不小于2且属于仔猪的像素点个数;
4.3)计算仔猪运动像素分布指数 其中,Nall_piglets为所有仔猪的像素点个数;
4.4)按照上述计算仔猪运动像素分布指数公式,依次计算识别单元中每一个感兴趣区域中的仔猪运动像素分布指数,并取其中值作为识别单元中的仔猪运动像素分布指数特征Ounit;
4.5)将感兴趣区域等分成3个子区域,分别选取每个子区域的腹线的中点,并计算中点的法线;
4.6)统计与法线方向夹角小于或等于±45°扇形区域中“向下”的像素个数ndown,与法线反方向夹角小于或等于±45°区域中“向上”的像素个数nup,及剩余其它方向的像素点个数nhorizon;
4.7)分别将3个子区域的nup求和,得到整个感兴趣区域“向上”的像素个数Nup,类似地,得到整个感兴趣区域“向下”和水平的像素个数Ndown和Nhorizon,并将Nup,Ndown和Nhorizon中的最大者所在扇区方向作为感兴趣区域中仔猪运动的全局方向;
4.8)依次统计识别单元中感兴趣区域的仔猪运动方向,获取仔猪运动方向变化向量其中,di表示具有相同仔猪运动方向的连续感兴趣区域个数,n表示识别单元中仔猪运动方向变化次数;
4.9)计算仔猪运动方向变化向量的方差作为识别单元的基于母猪腹线的法线方向光流的仔猪吸吮运动特征Dunit。
6.根据权利要求1所述的一种计算机视觉的母猪哺乳行为识别方法,其特征在于:在步骤5)中,将识别单元中提取的仔猪运动特征输入预设的SVM分类模型,实现母猪哺乳行为自动识别,包括以下步骤:
5.1)先对预设SVM分类模型进行训练,具体如下:
获取带有行为标记的识别单元;
对带有行为标记的识别单元中的光流图像序列样本进行特征提取,获得与所述带有行为标记的识别单元中的光流图像序列样本对应的光流特征;
将所述光流特征输入预设的SVM分类模型,对预设的SVM分类模型进行训练;
5.2)将识别单元中提取的仔猪运动特征输入SVM分类模型,并根据SVM分类模型的输出结果对母猪哺乳行为进行识别。