CN110309786B - 一种基于深度视频的哺乳母猪姿态转换识别方法 - Google Patents
一种基于深度视频的哺乳母猪姿态转换识别方法 Download PDFInfo
- Publication number
- CN110309786B CN110309786B CN201910596270.6A CN201910596270A CN110309786B CN 110309786 B CN110309786 B CN 110309786B CN 201910596270 A CN201910596270 A CN 201910596270A CN 110309786 B CN110309786 B CN 110309786B
- Authority
- CN
- China
- Prior art keywords
- conversion
- posture
- frame
- lying
- sow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种用于深度视频的哺乳母猪姿态转换识别方法,步骤为:深度视频质量增强;用改进的3D Mask R‑CNN算法检测、跟踪母猪并识别母猪姿态,选取每帧中概率最大的姿态类别,形成姿态序列;根据姿态序列的变化频率进行疑似转换片段粗定位,并利用前后帧各类姿态的概率方差细定位疑似转换片段的起始帧和结束帧;设计三阶段上下文深度运动特征图,以提取疑似转换片段的运动特征;将提取到的特征输入CNN模型进行转换/非转换片段识别,输出识别结果。本发明能在光线变化及夜间场景下,自动识别定位长段视频中的母猪姿态转换,为母猪的高危行为识别打下基础。
Description
技术领域
本发明涉及视频识别技术领域,特别涉及一种基于深度视频的哺乳母猪姿态转换识别方法。
背景技术
在养猪场集中饲养环境下,母猪的姿态转换是造成仔猪死亡的主要因素之一,姿态转换的频率和持续时间与其母性好坏密切相关。传统方法一般是采用人工远程观察视频统计、分析母猪的姿态转换行为,该种方法费时耗力,并且拥有强主观性。基于计算机视觉的母猪姿态转换行为的自动识别在克服以上人工远程观察缺点的同时,还可对其母性行为特质和规律提供基础研究信息,并防止仔猪踩压死亡,提高仔猪生存率,有利于提升我国生猪产业智能化决策水平。
传感器技术已被用于监测母猪姿态,如公开号为CN105850773A的专利公开了一种基于微惯性传感器的生猪姿态监测装置。公开号为CN106326919A的专利通过微惯性传感器MPU-6050,磁力计传感器HMC5833实时采集生猪的加速度、角速度和姿态角信息,采用BP神经网络对生猪的站、走、卧、躺行为进行分类。为克服母猪应激、传感器脱落或损坏等影响,计算机视觉开始用于获取母猪姿态信息。公开号为CN104881636A的专利用猪的二值图像和深度图像对猪的躺卧行为进行识别;公开号为CN108830144A的专利用改进的Faster R-CNN模型识别了深度图像中母猪的站立、坐立、俯卧、腹卧和侧卧姿态。但上述发明均限于基于静态图像的姿态识别。
而哺乳母猪姿态转换行为是从一个姿态变换到另一个姿态的行为,涉及到转换的前后姿态及转换过程。由于未充分利用行为的时间序列信息,已有的静态图像目标检测算法难以直接用于行为识别,需从视频帧序列中自动分析正在进行的姿态转换行为。公开号为CN109711389A的专利提出了基于Faster R-CNN和HMM的哺乳母猪姿态转换识别方法。该方法通过Faster R-CNN检测母猪并形成母猪的姿态类别序列,然后以滑动窗口中姿态变化的频次定位疑似转换片段,继而提取疑似转换片段中母猪不同部分的高度序列,由HMM识别姿态转换。但该方法缺点在于:(1)母猪检测时未利用视频帧间时序信息,影响了母猪定位和姿态分类精度;(2)基于滑动窗口的方法导致疑似转换片段的时间定位精度不高;(3)在疑似转换片段中,仅提取了高度序列特征,未充分利用姿态转换的上下文信息以及母猪的外形特征,降低了转换与非转换片段的分类精度。可见,基于计算机视觉识别猪的姿态转换行为仍面临极大的挑战。
因此,提供一种适用于全天候未剪切视频的母猪姿态转换行为识别的方法是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于深度视频的哺乳母猪姿态转换识别方法,能够充分利用行为的时间序列信息,克服自由栏场景下,母猪姿态转换行为过程中姿态的不确定性和身体的形变,及仔猪运动的影响,准确识别出母猪的姿态转换。为实现上述目的其具体方案如下:
本发明公开了一种用于深度视频的哺乳母猪姿态转换识别方法,包括如下步骤:
S1、采集母猪的深度视频,并建立母猪姿态转换识别视频库;
S2、建立改进的3D Mask R-CNN母猪检测、跟踪及姿态识别模型;
S3、用改进的3D Mask R-CNN对深度视频中的母猪进行检测、跟踪并识别母猪姿态。选取每帧中概率最大的姿态类别,形成母猪姿态序列,用姿态类别波动频次粗定位母猪姿态序列中的疑似转换片段,根据前后帧各类姿态的概率方差细定位疑似转换片段的起始帧和结束帧;
S4、在疑似转换片段中,设计三阶段上下文深度运动特征图3C-DMM(three-stagecontext depth motion map),以提取疑似转换片段的运动特征;
S5、将提取到的3C-DMM特征输入CNN姿态转换识别模型进行转换/非转换片段识别,获得识别结果。
3D Mask R-CNN利用卷积、池化提取视频帧的时空特征,较好地克服了自由栏场景下,母猪姿态转换行为过程中姿态的不确定性和身体的形变,及仔猪对哺乳母猪姿态转换行为识别的影响。本发明通过改进的3D Mask R-CNN对母猪检测、跟踪并识别姿态,在此基础上,设计3C-DMM特征图,以提取疑似转换片段的运动特征,由CNN模型识别姿态转换。
优选的,所述步骤S1的具体过程如下:
S11、数据采集:实时采集获取俯视母猪深度视频;
S12、构建数据库:剔除母猪身体缺失、相机抖动的视频段,构建训练集、验证集和测试集;
S13、采用中值滤波对深度视频逐帧预处理,再通过限制对比度自适应直方图均衡化的方法提高视频帧对比度;
S14、构建改进的3D Mask R-CNN模型的训练集、验证集和测试集,对改进的3DMask R-CNN模型的训练集、验证集和测试集数据进行手工标注,即标注出母猪在视频帧中的边界框和姿态类别(对于母猪处于姿态转换的视频,仅标注边界框);
S15、构建CNN姿态转换识别模型的训练集、验证集和测试集,对CNN姿态转换识别模型的训练集、验证集和测试集数据进行手工标注,即标注出母猪在视频中发生的转换/非转换行为。
优选的,所述步骤S2包括训练改进的3D Mask R-CNN模型,具体过程如下:
S21、选择ResNet-18作为基础网络,通过Detectron框架进行模型训练;
S22、在RoIAlign阶段后,除了已有的3D Classification Head之外,新添加一个头部2D Classification Head,其中3D Classification Head用于检测与跟踪母猪,新增的2D Classification Head用于识别母猪姿态。
其中,RoIAlign阶段会从L(本发明取L=3)个时间切片的特征图中对每个时间切片提取感兴趣区域,再将感兴趣区域在时间维度上进行串联形成大小为L×R×R的特征图,R为RoIAlign输出的分辨率,本发明取R=7。3D Classification Head由一个3D ResNet块组成,输入大小为L×R×R,2D Classification Head由一个2D ResNet块组成,输入大小为1×R×R,与RoIAlign阶段输出的特征图维度不一致,本发明通过抽取特征图的中间切片作为输入解决该问题。
S23、基础网络的参数采用center初始化;
其中,改进的3D Mask R-CNN的卷积核均为3D,而预训练模型的卷积核均为2D,维度不一致,因此在初始化时用2D卷积核的权值初始化3D卷积核的中间切片,其余切片的权值均设置为0。
S24、根据深度视频中母猪的尺寸,将锚点面积设置为962、1282和1602,长宽比设置为1:1、1:3和3:1;
S25、模型训练分两个阶段:第一阶段设置Track cls输出类别数为2,包括母猪和背景,对基础网络、TPN、3D Classification Head三个参数进行微调,2D ClassificationHead部分参数固定不变;第二阶段剔除了改进的3DMask R-CNN训练集和验证集中母猪发生姿态转换的片段,设置Pose cls输出类别数为5,包括背景、站立、坐立、趴卧和侧卧,仅对2DClassification Head参数进行微调,其余部分参数固定不变;其中,对参数进行微调的方法采用随机梯度下降法和反向传播算法。
其中,第一阶段微调参数过程前9000次迭代学习率为0.001,第9000-11000次迭代学习率为0.0001,后1000次迭代学习率为0.00001;第二阶段微调参数过程前3000次学习率为0.001,后续每迭代1000次学习率减少10倍。冲量为0.9,权值的衰减系数为5×10-4,mini-batch为256。
优选的,所述步骤S3的具体过程如下:
S31、用改进的3D Mask R-CNN对深度视频中的母猪进行检测与跟踪并识别母猪姿态,输出每帧母猪的检测框及4类姿态概率,其中检测框由3D Classification Head的reg层输出,4类姿态概率由2D Classification Head的pose cls层输出;此处4类姿态指的是站立、坐立、趴卧和侧卧姿态;
S32、选取每帧中概率最大的姿态类别,形成姿态序列。以长度为5帧、步长为1帧的中值滤波对姿态序列进行修正。根据姿态序列的变化频率粗定位疑似转换片段,本发明采用滑动窗口的方式(窗口长度为20帧,步长为1帧)计算每个窗口内姿态序列的变化次数,选取变化次数大于等于3的片段作为疑似转换片段,其余片段作为单一姿态片段;
S33、细定位疑似转换片段的起始帧和结束帧。根据公式(1)计算疑似转换片段内每一帧与前后两帧的概率方差,其中Pt表示第t帧4类姿态的概率,sum(x)表示对矩阵x所有元素相加求和。设tfirst为疑似转换片段内首次概率方差Vt大于0.1的视频帧,tlast为疑似转换片段内最后一次概率方差Vt大于0.1的视频帧,在tfirst、tlast的基础上再向外扩张N帧,用于获取转换前后的上下文信息,则细定位后的疑似转换片段起始帧和结束帧分别为tfirst-N和tlast+N,形成疑似转换片段;
优选的,所述步骤S4的具体过程如下:
S41、在疑似转换片段中,用改进的3D Mask R-CNN输出结果提取母猪检测与跟踪的外接矩形框;
S42、设计3C-DMM特征图,提取疑似转换片段外接矩形内的运动特征,具体过程如下:
S421、初始化三张特征图,用于存储疑似转换片段3C-DMM特征,特征图大小与外接矩形相同,特征图中所有元素均初始化为0。
S422、根据公式(2)-(7),计算疑似转换片段外接矩形内的3C-DMM特征。其中T为疑似转换片段长度,It为疑似转换片段中第t帧外接矩形内的灰度,公式(2)-(4)为3C-DMM特征的计算公式,公式(5)-(7)为系数Wr(t)、Wg(t)、Wb(t)的计算公式。
优选的,所述步骤S5的具体过程如下:
S51、训练CNN姿态转换识别模型,具体过程如下:
S511、对CNN姿态转换识别模型的训练集、验证集和测试集提取3C-DMM特征,其中,分别对训练集、验证集做顺时针90°、180°和270°旋转以及水平、垂直镜像扩增,对测试集不扩增;
S512、选择CaffeNet作为网络结构,设置模型最终输出类别为9(非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧、侧卧转趴卧),通过Detectron框架进行模型训练;
S513、采用随机梯度下降法和反向传播算法微调参数,对网络层采用高斯分布初始化。
其中,微调参数过程选择最大迭代次数为104,初始学习率为0.005,每迭代2000次学习率减少2倍,冲量为0.9,权值的衰减系数为5×10-4,mini-batch为512,对网络层采用均值为0,标准差为0.1的高斯分布初始化。
S52、将步骤S422提取到的特征输入至CNN姿态转换识别模型,输出9个类别(非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧、侧卧转趴卧)的概率;
S53、根据输出结果中概率最大的类别对疑似转换片段分类,合并非转换片段(类别为非转换的疑似转换片段)和单一姿态片段,输出最终结果。
优选的,所述最终预测结果是各种姿态及姿态转换的起始帧和结束帧。
优选的,所述训练集是指用来训练改进的3D Mask R-CNN和CNN姿态转换识别模型的数据集;所述验证集是指在训练过程中,用来优化网络结构参数和模型参数的数据集,选择最优模型;所述测试集是指用来测试模型性能,并进行性能评价。
优选的,所述单一姿态片段是指母猪保持同一姿态的片段,所述疑似转换片段是指母猪可能发生姿态转换的片段,疑似转换片段进一步分为非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧和侧卧转趴卧共9个类别。
优选的,所述单一姿态包括:站立、坐、趴卧和侧卧。所述姿态转换包括:站立转坐立,站立转卧,坐立转卧,卧转站立,卧转坐立,坐立转站立,趴卧转侧卧和侧卧转趴卧。
优选的,改进的3D Mask R-CNN训练集和验证集的视频长度为60-120帧,仅用于训练模型检测、跟踪母猪并识别母猪姿态。在实际中,改进的3D Mask R-CNN可应用于任意长度的视频段。
与现有技术相比,本发明技术方案的有益效果是:
(1)本发明建立一个哺乳母猪姿态转换识别视频库,该数据库包含了猪舍场景下,母猪日常生活中的各种行为姿态俯视视频,所有视频的拍摄高度、背景、尺度等方面都各有差异,该数据库为以后的母猪行为分析、算法设计等提供数据支持;
(2)本发明基于3D Mask R-CNN和CNN,采用部分母猪视频训练改进的3D Mask R-CNN模型和CNN姿态转换识别模型,采用部分母猪视频作为验证集,提高模型的泛化性能,解决了在复杂环境下,如光线、小猪运动、猪体尺寸不同等因素下,母猪姿态转换识别难的问题;
(3)本发明在改进3D Mask R-CNN模型的基础上,通过融合3C-DMM、CNN模型等算法,实现深度视频中哺乳母猪姿态转换的自动识别,为后续分析母猪母性行为特质和规律提供基础研究信息;
(4)该发明适用于全天候的母猪监控,可为母猪行为自动化检测识别等研究打下基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种用于深度视频的哺乳母猪姿态转换识别方法的流程图;
图2为公式(5)-(7)中Wr(t)、Wg(t)、Wb(t)的变化曲线;
图3附图为本发明改进的3D Mask R-CNN模型的结构示意图;
图4附图为本发明CNN姿态转换识别模型的网络结构图;
图5附图为本发明疑似转换片段细定位示意图;
图6附图为本发明在不同交并比阈值下的成功率(success rate);
图7附图为本发明分段结果与人工分段在部分片段上的对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为克服自由栏场景下,母猪姿态转换行为过程中姿态的不确定性和身体的形变,及仔猪对哺乳母猪姿态转换行为识别的影响,本发明利用目标检测-跟踪-行为分析的方法研究母猪姿态转换行为识别。以深度视频为母猪姿态转换识别的数据源,采用改进的3DMask R-CNN检测、跟踪并识别母猪姿态,设计三阶段上下文深度运动特征图对母猪可能发生姿态转换的片段进行特征提取,最后将特征输入CNN模型进行转换/非转换片段识别。试验验证了本文方法能适用于全天候未剪切视频的母猪姿态转换行为识别,可为母猪行为自动化检测识别等研究打下基础。
参见图1为本发明的流程图,该方法在Ubuntu16.04操作系统下,基于NvidiaTesla K80的GPU硬件平台上搭建Detectron深度学习框架,进行改进的3D Mask R-CNN和CNN模型的训练和测试,并在Matlab下完成母猪姿态转换的自动识别。
具体实现为:
步骤一、采集母猪的深度视频,并建立母猪姿态转换识别视频数据库;
步骤二、建立改进的3D Mask R-CNN母猪检测、跟踪及姿态识别模型;
步骤三、用改进的3D Mask R-CNN对深度视频中的母猪进行检测、跟踪并识别母猪姿态。选取每帧中概率最大的姿态类别,形成母猪姿态序列,用姿态类别波动频次粗定位母猪姿态序列中的疑似转换片段,根据前后帧各类姿态的概率方差细定位疑似转换片段的起始帧和结束帧;
步骤四、在疑似转换片段中,设计三阶段上下文深度运动特征图(3C-DMM,three-stage context depth motion map),以提取疑似转换片段的运动特征;
步骤五、将提取到的3C-DMM特征输入CNN姿态转换识别模型进行转换/非转换片段识别,合并单一姿态片段和非转换片段,获得识别结果。
表1 3D Mask R-CNN和CNN模型训练集、验证集和测试集的构建
所述步骤一,采集母猪的深度视频,并建立母猪姿态转换识别视频库,具体包括:
1)将摄像机固定到实地猪栏正上方,调整至适宜高度(230-250cm),以获取完整的猪栏区域。用USB连接至电脑视频获取系统,实时获取俯视母猪视频,并保存至本地硬盘,共采集123段母猪俯视深度视频,视频分辨率为512×424像素。随机挑选45段视频构建数据库训练集,38段视频构建数据库验证集,剩余40段视频构建数据库测试集。
2)构建改进的3D Mask R-CNN训练集、验证集和测试集,详见表1。对训练集、验证集和测试集数据进行手工标注,即标注出母猪在视频帧中的边界框和姿态类别(对于母猪处于姿态转换的视频,仅标注边界框)。
3)构建CNN姿态转换识别模型的训练集、验证集和测试集,详见表1。对训练集、验证集和测试集数据进行手工标注,即标注出母猪在视频中发生的转换/非转换行为。
4)采用中值滤波的方法对视频逐帧进行预处理,窗口大小为5×5,再通过限制对比度自适应直方图均衡化的方法提高视频帧对比度,其中结构元大小设置为16×16,截断系数取0.01。
所述步骤二,建立改进的3D Mask R-CNN母猪检测、跟踪及姿态识别模型,具体包括:
1)改进的3D Mask R-CNN模型的训练基于Detectron框架,选择ResNet-18作为基础网络,在RoIAlign阶段后,除了已有的3D Classification Head之外,新添加一个头部2DClassification Head,其中3D Classification Head用于检测、跟踪母猪,新增的2DClassification Head用于识别母猪姿态,图3为改进的3D Mask R-CNN模型的结构示意图,其中Reg loss用于训练跟踪框回归,Track cls loss用于训练母猪和背景的分类,Posecls loss用于训练四类姿态与背景的分类。考虑到RoIAlign阶段会从L(本发明取L=3)个时间切片的特征图中对每个时间切片提取感兴趣区域,再将感兴趣区域在时间维度上进行串联形成大小为L×R×R的特征图,R为RoIAlign输出的分辨率,本发明取R=7。3DClassification Head由一个3D ResNet块组成,输入大小为L×R×R,2D ClassificationHead由一个2D ResNet块组成,输入大小为1×R×R,与RoIAlign阶段输出的特征图维度不一致,本发明通过抽取特征图的中间切片作为输入解决该问题。
2)模型训练分两个阶段,第一阶段设置迭代次数12000,Track cls输出类别数为2(母猪和背景),对基础网络、TPN、3D Classification Head三个部分微调参数,2DClassification Head部分参数固定不变;微调参数过程前9000次迭代学习率为0.001,第9000-11000次迭代学习率为0.0001,后1000次迭代学习率为0.00001。第二阶段剔除了训练集和验证集中母猪发生姿态转换的片段(训练集剩余60段,验证集剩余40段,第一阶段无剔除操作),设置迭代次数5000,Pose cls输出类别数为5(背景、站立、坐立、趴卧和侧卧),仅对2D Classification Head部分微调参数,其余部分参数固定不变;微调参数过程前3000次学习率为0.001,后续每迭代1000次学习率减少10倍。两个阶段均设置冲量为0.9,权值的衰减系数为5×10-4,mini-batch为256。基础网络的参数采用center初始化,即用预训练模型初始化3D卷积核的中间切片,其余切片的权值均设置为0。根据深度视频中母猪的尺寸,将锚点面积设置为962、1282和1602,长宽比设置为1:1、1:3和3:1。当检测框与人工标注框交并比超过阈值0.7并且类别一致,则认为检测结果正确。
所述步骤三,用改进的3D Mask R-CNN对深度视频中的母猪进行检测、跟踪并识别母猪姿态,选取每帧中概率最大的姿态类别,形成母猪姿态序列,用姿态类别波动频次粗定位母猪姿态序列中的疑似转换片段,根据前后帧各类姿态的概率方差细定位疑似转换片段的起始帧和结束帧,具体包括:
1)将深度视频输入至训练好的改进3D Mask R-CNN模型进行检测,输出每帧母猪的检测框及4类姿态概率,其中检测框由3D Classification Head的reg层输出,4类姿态概率由2D Classification Head的pose cls层输出。在对深度视频逐帧进行3D Mask R-CNN检测时,每连续三张图像产生2000个候选管道并行输入至3D Classification Head和2DClassification Head,仅保留Track cls层输出母猪概率最高的管道,并计算该管道中间切片对应四类姿态的概率(即Pose cls层输出的概率)。
2)选取每帧中概率最大的姿态类别,形成姿态序列。以长度为5帧、步长为1帧的中值滤波对姿态序列进行修正。采用滑动窗口的方法(窗口长度为20帧,步长为1帧)计算每个窗口内姿态序列的变化次数,选取变化次数大于等于3的片段作为疑似转换片段,其余片段作为单一姿态片段。
3)细定位疑似转换片段的起始帧和结束帧。根据公式(1)计算疑似转换片段内每一帧与前后两帧的概率方差,其中Pt表示第t帧4类姿态的概率,sum(x)表示对矩阵x所有元素相加求和。设tfirst为疑似转换片段内首次概率方差Vt大于0.1的视频帧,tlast为疑似转换片段内最后一次概率方差Vt大于0.1的视频帧,在tfirst、tlast的基础上再向外扩张10帧,用于获取转换前后的上下文信息,则细定位后的疑似转换片段起始帧和结束帧分别为tfirst-10和tlast+10,形成疑似转换片段,见图5。图中红线中间部分为人工标注的转换片段,蓝色中间部分为粗定位结果,绿色中间部分为细定位结果,可见细定位后的结果与人工标注更为接近;
所述步骤四,根据改进的3D Mask R-CNN的检测、跟踪结果,设计3C-DMM特征图,提取疑似转换片段外接矩形内的运动特征,具体包括:
1)在疑似转换片段中,用改进的3D Mask R-CNN输出结果提取母猪检测与跟踪的外接矩形框。即统计疑似转换片段所有跟踪框的最大横坐标Xmax、最小横坐标Xmin、最大纵坐标Ymax、最小纵坐标Ymin,则外接矩形的左上角的坐标和右下角的坐标分别为(Xmin,Ymin)和(Xmax,Ymax)。
2)设计3C-DMM特征图,提取疑似转换片段外接矩形内的运动特征。首先初始化三张特征图,用于存储疑似转换片段3C-DMM特征。特征图大小与外接矩形相同,特征图中所有元素均初始化为0。根据公式(2)-(7),计算疑似转换片段外接矩形内的3C-DMM特征,其中T为疑似转换片段长度,It为疑似转换片段中第t帧外接矩形内的灰度,公式(2)-(4)为3C-DMM特征的计算公式,公式(5)-(7)为系数Wr(t)、Wg(t)、Wb(t)的计算公式。图2为公式(5)-(7)中Wr(t)、Wg(t)、Wb(t)的变化曲线。
所述步骤五,将提取到的特征输入CNN姿态转换识别模型进行识别,合并单一姿态片段和非转换片段,获得识别结果,具体包括:
1)训练CNN姿态转换识别模型,对步骤一所建立的CNN姿态转换识别模型训练集、验证集和测试集提取3C-DMM特征,分别对训练集、验证集做顺时针90°、180°和270°旋转以及水平、垂直镜像扩增,对测试集不扩增;选择CaffeNet作为网络结构,设置模型最终输出类别为9(非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧、侧卧转趴卧),通过Detectron框架对提取的CNN姿态转换识别模型训练集、验证集和测试集的3C-DMM特征进行模型训练;对网络层参数采用高斯分布初始化,通过随机梯度下降法和反向传播算法微调参数。微调参数过程选择最大迭代次数为104,初始学习率为0.005,每迭代2000次学习率减少2倍,冲量为0.9,权值的衰减系数为5×10-4,mini-batch为512,对网络层采用均值为0,标准差为0.1的高斯分布初始化。图4为CaffeNet的网络结构图,图像输入大小为227×227,经过卷积、池化、全连接等操作后,最终输出长度为9的向量,对应本发明设置的9个类别。
2)将步骤四提取到的特征输入至CNN姿态转换识别模型,输出9个类别(非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧、侧卧转趴卧)的概率;
3)根据输出结果中概率最大的类别对疑似转换片段分类,将非转换片段(类别为非转换的疑似转换片段)标记为单一姿态片段,与其他单一姿态片段合并。
4)对于合并后的单一姿态片段类别,根据其姿态序列中占比最大的姿态进行分类,即统计每种姿态在姿态序列中出现的次数,选择出现次数最多的姿态作为该段单一姿态片段的类别,输出最终结果。
单一姿态包括:站立、坐立、趴卧和侧卧;姿态转换包括:站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧和侧卧转趴卧,定义如表所示。
表2哺乳母猪姿态及姿态转换介绍
下面详细说明本发明的实验结果:
为验证本发明对母猪目标跟踪、姿态和姿态转换分类的准确性,本发明分别统计了改进的3D Mask R-CNN模型的成功定位率(Success Plot)、四类姿态的mAP和CNN姿态转换识别模型的分类准确率。各指标具体定义如公式(8)-(11)所示,式中nIoU>α表示检测框与人工标注框交并比大于α的视频帧,∑t为测试集总帧数,Pq(r)为分类器对类别q的precision-recall函数,Q为类别数,nij表示人工判别为i类而模型识别为j类的片段数,Sum(SCS)为疑似转换片段总段数。
accuracyCNN=∑inii/Sum(SCS) (11)
图6是不同交并比阈值下的成功率,当α=0.7时为97.46,当α=0.8时为95.83,成功定位率为0.9434,而公开号为CN109711389A的专利在α=0.7时成功率为97.40,在α=0.8时为94.83%,成功定位率为0.9351,可见本发明的定位精度更高。表明该算法对母猪目标具有较强的跟踪能力。改进的3DMask R-CNN模型对四类姿态的mAP为0.9264,识别精度较高。对于测试集的所有姿态转换片段(共97段,由人工挑选),CNN姿态转换识别模型能正确分类其中90段,准确率为92.78%。表为CNN姿态转换识别模型对测试集所有姿态转换片段的分类混淆矩阵,其中NONE表示无转换。
本发明主要采用召回率和准确率评价算法最终结果,各指标具体定义如公式(12)、(13)所示,式中sR@1,tIoU>β表示算法分段与人工分段中,类别一致且交并比大于β的姿态转换片段,∑sG表示测试集中的所有姿态转换片段,∑sR为算法识别的姿态转换片段,β的取值范围均为[0,1],本文选择β=0.5作为阈值。
accuracy=∑sR@1,tIoU>β/∑sR (12)
recall=∑sR@1,tIoU>β/∑sG (13)
采用上述指标对测试集(40段未剪切长视频)的分段效果进行计算。表为本发明的姿态转换识别混淆矩阵,其中ST2SI表示站立转坐立,ST2LY表示站立转卧,SI2LY表示坐立转,LY2ST表示卧转站立,SI2ST表示坐立转站立,VL2LL表示趴卧转侧卧,LL2VL表示侧卧转趴卧。测试集中共出现97次转换,本发明共识别出95次转换,其中有88个姿态转换片段分类正确且tIoU大于0.5,经计算,可得本发明的准确率为92.6%,召回率为90.7%,与公开号为CN109711389A的专利相比召回率提升了2.86个百分点。本发明能有效识别母猪的8类姿态转换,而公开号为CN109711389A的专利仅将母猪的姿态转换分为4类,与之相比类别数更多,分类更为细致。
表3 CNN姿态转换识别模型混淆矩阵
表4本发明在测试集的姿态转换识别混淆矩阵(tIoU>0.5)
以上对本发明所提供的一种基于深度视频的哺乳母猪姿态转换识别方法及自动化标定方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (7)
1.一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,包括如下步骤:
S1、采集母猪的深度视频,并建立母猪姿态转换识别视频库;
S2、建立改进的3DMaskR-CNN母猪检测、跟踪及姿态识别模型;包括:
S21、选择ResNet-18作为基础网络,通过Detectron框架进行模型训练;
S22、在RoIAlign阶段后,除了已有的3DClassificationHead之外,新添加一个头部2DClassificationHead,其中3DClassificationHead用于检测与跟踪母猪,新增的2DClassificationHead用于识别母猪姿态;
S23、基础网络的参数采用center初始化;
S24、根据深度视频中母猪的尺寸,设置锚点面积和长宽比;
S25、模型训练分两个阶段:第一阶段设置Trackcls输出类别数为2,包括母猪和背景,对基础网络、TPN、3DClassificationHead三个参数进行微调,2DClassificationHead部分参数固定不变;第二阶段剔除了改进的3DMask R-CNN训练集和验证集中母猪发生姿态转换的片段,设置Posecls输出类别数为5,包括背景、站立、坐立、趴卧和侧卧,仅对2DClassificationHead参数进行微调,其余部分参数固定不变;其中,对参数进行微调的方法采用随机梯度下降法和反向传播算法;
S3、用改进的3DMaskR-CNN对深度视频中的母猪进行检测、跟踪并识别母猪姿态;选取每帧中概率最大的姿态类别,形成母猪姿态序列,用姿态类别波动频次粗定位母猪姿态序列中的疑似转换片段,根据前后帧各类姿态的概率方差细定位疑似转换片段的起始帧和结束帧;包括:
S31、用改进的3DMaskR-CNN对深度视频中的母猪进行检测与跟踪并识别母猪姿态,输出每帧母猪的检测框及4类姿态概率,其中检测框由3DClassificationHead的reg层输出,4类姿态概率由2DClassificationHead的pose cls层输出;
S32、选取每帧中概率最大的姿态类别,形成母猪姿态序列,采用中值滤波对姿态序列进行修正;采用滑动窗口的方式计算每个窗口内姿态序列的变化次数,根据姿态类别的变化频率粗定位疑似转换片段,选取变化次数大于或等于3的片段作为疑似转换片段,其余片段作为单一姿态片段;
S33、细定位疑似转换片段的起始帧和结束帧,根据公式(1)计算疑似转换片段内每一帧与前后两帧的概率方差,
其中,Pt表示第t帧4类姿态的概率,Pt+i表示第t+i帧4类姿态的概率;sum(x)表示对矩阵x所有元素相加求和;设tfirst为疑似转换片段内首次概率方差Vt大于0.1的视频帧,tlast为疑似转换片段内最后一次概率方差Vt大于0.1的视频帧;在tfirst、tlast的基础上再向外扩张N帧,用于获取转换前后的上下文信息,则细定位后的疑似转换片段起始帧和结束帧分别为tfirst-N和tlast+N,形成疑似转换片段;
S4、在疑似转换片段中,设计三阶段上下文深度运动特征图3C-DMM,以提取疑似转换片段的运动特征;包括:
S41、在疑似转换片段中,用改进的3DMaskR-CNN输出结果提取母猪检测与跟踪的外接矩形框;
S42、设计3C-DMM特征图,提取疑似转换片段外接矩形框内的运动特征,具体过程如下:
S421、初始化三张特征图,用于存储疑似转换片段3C-DMM特征,特征图大小与外接矩形框相同,特征图中所有元素均初始化为0:
S422、根据公式(2)-(7),计算疑似转换片段外接矩形框内的3C-DMM特征,
其中,T为疑似转换片段长度,It为疑似转换片段中第t帧外接矩形内的灰度,t表示第t帧,公式(2)-(4)为3C-DMM特征的计算公式,公式(5)-(7)为系数Wr(t)、Wg(t)、Wb(t)的计算公式;
S5、将提取到的3C-DMM特征输入CNN姿态转换识别模型进行转换片段/非转换片段识别,获得识别结果。
2.根据权利要求1所述的一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,所述步骤S1的具体过程如下:
S11、实时采集获取俯视母猪深度视频;
S12、剔除母猪身体缺失、相机抖动的视频段,构建训练集、验证集和测试集;
S13、采用中值滤波对深度视频逐帧预处理,再通过限制对比度自适应直方图均衡化的方法提高视频帧对比度;
S14、构建改进的3DMaskR-CNN训练集、验证集和测试集,对改进的3DMaskR-CNN训练集、验证集和测试集数据进行手工标注,即标注出母猪在视频帧中的边界框和姿态类别,对于母猪处于姿态转换的视频,仅标注边界框;
S15、构建CNN姿态转换识别模型的训练集、验证集和测试集,对CNN姿态转换识别模型的训练集、验证集和测试集数据进行手工标注,即标注出母猪在视频中发生的转换行为/非转换行为。
3.根据权利要求1所述的一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,所述步骤S5的具体过程如下:
S51、训练CNN姿态转换识别模型,具体过程如下:
S511、对CNN姿态转换识别模型的训练集、验证集和测试集提取3C-DMM特征,其中,分别对训练集、验证集做顺时针90°、180°和270°旋转以及水平、垂直镜像扩增,对测试集不扩增;
S512、选择CaffeNet作为网络结构,设置模型最终输出类别为9,包括非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧、侧卧转趴卧,通过Detectron框架进行模型训练;
S513、采用随机梯度下降法和反向传播算法微调参数,对网络层采用高斯分布初始化;
S52、将3C-DMM特征输入至CNN姿态转换识别模型,输出所述9个类别的概率;
S53、根据输出结果中概率最大的类别对疑似转换片段分类,合并非转换片段和单一姿态片段,输出最终结果。
4.根据权利要求3所述的一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,所述最终结果是各种姿态及姿态转换的起始帧和结束帧。
5.根据权利要求2所述的一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,所述训练集是指用来训练改进的3DMaskR-CNN和CNN模型的数据集;所述验证集是指在训练过程中,用来优化网络结构参数和模型参数的数据集,选择最优模型;所述测试集是指用来测试模型性能,并进行性能评价。
6.根据权利要求1所述的一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,所述单一姿态片段是指母猪保持同一姿态的片段,所述疑似转换片段是指母猪可能发生姿态转换的片段,疑似转换片段进一步分为非转换、站立转坐立、站立转卧、坐立转卧、卧转站立、卧转坐立、坐立转站立、趴卧转侧卧和侧卧转趴卧共9个类别。
7.根据权利要求1所述的一种基于深度视频的哺乳母猪姿态转换识别方法,其特征在于,所述单一姿态包括:站立、坐立、趴卧和侧卧;所述姿态转换包括:站立转坐立,站立转卧,坐立转卧,卧转站立,卧转坐立,坐立转站立,趴卧转侧卧和侧卧转趴卧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910596270.6A CN110309786B (zh) | 2019-07-03 | 2019-07-03 | 一种基于深度视频的哺乳母猪姿态转换识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910596270.6A CN110309786B (zh) | 2019-07-03 | 2019-07-03 | 一种基于深度视频的哺乳母猪姿态转换识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309786A CN110309786A (zh) | 2019-10-08 |
CN110309786B true CN110309786B (zh) | 2023-04-07 |
Family
ID=68078918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910596270.6A Active CN110309786B (zh) | 2019-07-03 | 2019-07-03 | 一种基于深度视频的哺乳母猪姿态转换识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309786B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101291B (zh) * | 2020-09-27 | 2024-01-30 | 成都睿畜电子科技有限公司 | 一种牲畜的护理方法、装置、介质及电子设备 |
CN112101297B (zh) * | 2020-10-14 | 2023-05-30 | 杭州海康威视数字技术股份有限公司 | 训练数据集确定方法、行为分析方法、装置、系统及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844797A (zh) * | 2017-09-27 | 2018-03-27 | 华南农业大学 | 一种基于深度图像的哺乳母猪姿态自动识别的方法 |
CN107679491B (zh) * | 2017-09-29 | 2020-05-19 | 华中师范大学 | 一种融合多模态数据的3d卷积神经网络手语识别方法 |
CN108830144B (zh) * | 2018-05-03 | 2022-02-22 | 华南农业大学 | 一种基于改进Faster-R-CNN的哺乳母猪姿态识别方法 |
CN109508684B (zh) * | 2018-11-21 | 2022-12-27 | 中山大学 | 一种视频中人体行为识别的方法 |
CN109508907A (zh) * | 2018-12-24 | 2019-03-22 | 中国科学院合肥物质科学研究院 | 基于深度学习与远程视频的奶牛体况智能评分系统 |
CN109711389B (zh) * | 2019-01-16 | 2023-06-23 | 华南农业大学 | 一种基于Faster R-CNN和HMM的哺乳母猪姿态转换识别方法 |
CN109766856B (zh) * | 2019-01-16 | 2022-11-15 | 华南农业大学 | 一种双流RGB-D Faster R-CNN识别哺乳母猪姿态的方法 |
-
2019
- 2019-07-03 CN CN201910596270.6A patent/CN110309786B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110309786A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830144B (zh) | 一种基于改进Faster-R-CNN的哺乳母猪姿态识别方法 | |
CN110348376B (zh) | 一种基于神经网络的行人实时检测方法 | |
CN110334765B (zh) | 基于注意力机制多尺度深度学习的遥感影像分类方法 | |
CN108830145B (zh) | 一种基于深度神经网络的人数统计方法及存储介质 | |
CN109711389B (zh) | 一种基于Faster R-CNN和HMM的哺乳母猪姿态转换识别方法 | |
CN106778595B (zh) | 基于高斯混合模型的人群中异常行为的检测方法 | |
CN106960195B (zh) | 一种基于深度学习的人群计数方法及装置 | |
CN106845374B (zh) | 基于深度学习的行人检测方法及检测装置 | |
KR101964397B1 (ko) | 정보처리장치 및 정보처리방법 | |
KR100647322B1 (ko) | 객체의 모양모델 생성장치 및 방법과 이를 이용한 객체의특징점 자동탐색장치 및 방법 | |
CN113065558A (zh) | 一种结合注意力机制的轻量级小目标检测方法 | |
CN110532970B (zh) | 人脸2d图像的年龄性别属性分析方法、系统、设备和介质 | |
CN105022982A (zh) | 手部运动识别方法和装置 | |
CN111914917A (zh) | 一种基于特征金字塔网络和注意力机制的目标检测改进算法 | |
CN110287777B (zh) | 一种自然场景下的金丝猴躯体分割算法 | |
CN113076871A (zh) | 一种基于目标遮挡补偿的鱼群自动检测方法 | |
US12039733B2 (en) | Method for identifying individuals of oplegnathus punctatus based on convolutional neural network | |
CN109190458B (zh) | 一种基于深度学习的小人头检测方法 | |
CN113221710A (zh) | 基于神经网络的排水管道缺陷识别方法、装置、设备及介质 | |
CN110309786B (zh) | 一种基于深度视频的哺乳母猪姿态转换识别方法 | |
CN107392251B (zh) | 一种使用分类图片提升目标检测网络性能的方法 | |
CN112581540A (zh) | 一种大场景下基于人体姿态估计的相机标定方法 | |
CN109165636A (zh) | 一种基于部件级多特征融合的珍稀鸟类稀疏识别方法 | |
CN113435355A (zh) | 多目标奶牛身份识别方法及系统 | |
CN113313107A (zh) | 一种斜拉桥缆索表面多类型病害智能检测和识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |