CN116543462A - 基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法 - Google Patents
基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法 Download PDFInfo
- Publication number
- CN116543462A CN116543462A CN202310510211.9A CN202310510211A CN116543462A CN 116543462 A CN116543462 A CN 116543462A CN 202310510211 A CN202310510211 A CN 202310510211A CN 116543462 A CN116543462 A CN 116543462A
- Authority
- CN
- China
- Prior art keywords
- image
- dairy cows
- video
- key points
- cow
- 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.)
- Pending
Links
- 235000013365 dairy product Nutrition 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000006399 behavior Effects 0.000 title claims abstract description 45
- 210000000988 bone and bone Anatomy 0.000 title claims abstract description 30
- 230000036541 health Effects 0.000 title claims abstract description 20
- 241000283690 Bos taurus Species 0.000 claims abstract description 157
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 54
- 239000013598 vector Substances 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 37
- 208000009144 Pure autonomic failure Diseases 0.000 claims description 30
- 239000013312 porous aromatic framework Substances 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 20
- 238000013527 convolutional neural network Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 claims description 16
- 230000036544 posture Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000003862 health status Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 4
- 239000004973 liquid crystal related substance Substances 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 239000000654 additive Substances 0.000 claims description 3
- 230000000996 additive effect Effects 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000010191 image analysis Methods 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 3
- 230000007480 spreading Effects 0.000 claims description 2
- 238000003892 spreading Methods 0.000 claims description 2
- 230000033001 locomotion Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 7
- 210000003414 extremity Anatomy 0.000 description 26
- 238000009395 breeding Methods 0.000 description 16
- 230000001488 breeding effect Effects 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 10
- 241001465754 Metazoa Species 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 6
- 230000008447 perception Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000009194 climbing Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 239000008267 milk Substances 0.000 description 4
- 235000013336 milk Nutrition 0.000 description 4
- 210000004080 milk Anatomy 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 210000000003 hoof Anatomy 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241000282849 Ruminantia Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000035622 drinking Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 244000144972 livestock Species 0.000 description 1
- 230000006742 locomotor activity Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 230000035764 nutrition Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000007170 pathology Effects 0.000 description 1
- 230000035479 physiological effects, processes and functions Effects 0.000 description 1
- 208000012802 recumbency Diseases 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000011272 standard treatment Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/08—Learning methods
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A40/00—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
- Y02A40/70—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in livestock or poultry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Image Analysis (AREA)
Abstract
本发明公开基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,涉及视频行为识别技术领域,包括以下步骤:步骤一:摄像头采集图像,送到终端处理,人工标注并检测奶牛骨骼关键点;步骤二:采用Bottom‑up姿态估计方法算法获取奶牛的姿态,Bottom‑up姿态估计方法包括特征提取、地标定位、部位分组以及跟踪;特征提取:使用双线性插值的并行算法对图像进行处理,使用BatchNormalization进行批数据标准化,使用self‑attentiongating突出感兴趣区域的显著特征,改进了U‑net特征提取网络模型;本发明采用骨骼标定技术应用到奶牛来识别奶牛行为,增加了识别准确度并提高了创新性;和骨架数据相比,其他模态会产生更多的计算消耗,且在面对复杂背景以及人体尺度变化、视角变化和运动速度变化时鲁棒性不足。
Description
技术领域
本发明涉及视频行为识别技术领域,具体涉及基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法。
背景技术
奶牛养殖业现代化水平逐步提高,2019年中国牛奶产量为3201.2万吨,同比增长4.1%。2020年全国奶牛规模养殖(存栏量100头以上的奶牛养殖场)比重将近70%,奶牛数量6150千头,牛奶产量为3440万吨,同比增加7.5%。随着人们生活水平的提高,对奶制品的需求及质量都有了较高的要求。虽然我国的乳品行业发展十分迅速,但仍然存在诸多问题,其中,信息化程度低,规模化养殖下的精细管理粗糙及奶牛应激行为的快速感知、调控能力不足是阻碍奶牛养殖业发展的重要原因。目前,我国奶牛养殖将加快从粗放的散养向标准化、规模化养殖发展,更加注重养殖过程中的精细化、科学化管理,我国奶牛养殖业必将进入新的发展阶段。
动物行为是动物对来自环境或其机体本身刺激所产生的反应,动物的生理、病理、营养等内在状态会影响其外在行为。基本运动行为包含躺卧、站立、行走、饮水、进食,这些基本运动行为间接反映了奶牛的健康状态。奶牛有其自身的生活习性和行为特点,奶牛养殖过程中,奶牛繁殖检测和奶牛健康状态具有重要地位。正确了解、掌握奶牛的基本运动行为,以期实现对奶牛养殖过程中健康状态的智能感知,有利于奶牛疾病的预防及诊治,对提高养殖场经济效益及奶牛福利养殖具有重要意义。因此,开展无接触、无应激的奶牛基本运动行为的实时感知,对提高奶牛养殖业现代化水平具有重要意义。
利用视频分析技术进行动物行为的智能感知已成为精准畜牧领域的研究热点,为实现对奶牛健康状态信息的自动获取,对奶牛的无接触智能监测是奶牛养殖业信息获取智能化发展的一个重要方向,其中视频分析与图像处理技术受到了越来越多研究人员的关注。本研究开发一种在线实时目标奶牛基本运动行为识别算法,通过对自然环境下奶牛监控视频并将骨骼作为关键点进行分析,实现在线奶牛检测、跟踪及躺卧行为的实时识别。因此,开展基于深度学习的奶牛基本运动行为识别,对奶牛规模化精细养殖、健康状态智能感知及提升奶牛福利养殖具有十分重要的意义。奶牛福利随着奶牛业的不断发展,奶牛舒适度已经成为影响奶牛生产性能的瓶颈。越来越多的奶牛养殖者已然认识到,改善舒适度不只能够提升动物福利,还能够显著提高各项基金项目的成果。
目前常见的奶牛基本运动行为识别方法会存在以下问题:(1)耗费大量人力物力,人工成本高,工作效率低,管理难度大;(2)受环境噪声干扰严重,监测质量难以保证;(3)容易造成应激反应导致行为误判断。基于接触式传感器的方式虽然精度较高,但却存在系统硬件成本高,系统维护困难的问题,采集的信息多为奶牛外部物理参量,难以识别奶牛的高级行为。本研究针对上述问题采样智能视频监控,可以在人工参与最少的前提下进行实时监测,准确率非常高,是提高奶牛养殖管理水平的有效手段。目前,基于视频分析的动物行为感知方面的研究,受到越来越多研究者的高度关注。
发明内容
本发明的目的在于提供基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,解决了目前常见的奶牛基本运动行为识别方法会存在耗费大量人力物力,人工成本高,工作效率低,管理难度大;受环境噪声干扰严重,监测质量难以保证;容易造成应激反应导致行为误判断的问题。
本发明是通过以下技术方案解决上述技术问题的,本发明包括以下步骤:
步骤一:摄像头采集图像,送到终端处理,人工标注并检测奶牛骨骼关键点;
步骤二:采用Bottom-up姿态估计方法算法获取奶牛的姿态,Bottom-up姿态估计方法包括特征提取、地标定位、部位分组以及跟踪;
特征提取:
使用双线性插值的并行算法对图像进行处理,使用BatchNormalization进行批数据标准化,使用self-attentiongating突出感兴趣区域的显著特征,改进了U-net特征提取网络模型,进而输出CMs与PAF的特征;
地标定位:
通过视频中对奶牛标注的二维骨骼关键点中生成置信图,通过运算符对单个可信度图进行聚合生成网络预测的真实可信度图,进而定位骨架结点;
部位分组:
检测出众多的骨骼关键点之后,对众多的骨骼关键点进行聚类处理,将不同奶牛的多个骨骼关键点连接,聚类产生多个奶牛个体,得到多个奶牛的姿态;
跟踪:
在每一帧图像中检测奶牛的proposals→关键点→相邻帧相似性,且跟踪整段视频,利用时空信息构建姿态流;
步骤三:运用Bottom-up姿态估计方法得到结果后,得到改进的U-net网络,训练cnn-gru网络进行行为分类;
步骤四:利用所采集数据库中奶牛图像训练并测试网络性能,实现通过视频的骨骼关键点判断奶牛的行为。
优选的,步骤二中的双线性插值算法:已知二维平面上的函数的四函數值Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)以及Q22=(x2,y2)四个点;首先在y方向进行线性插值,得到R1与R2,然后在x方向进行两次线性插值,得到P点,即得到所要的f(x,y)二维坐标;
y方向进行线性插值:
x方向单线性插值:
将x方向单线性插值的结果带入y方向进行线性插值,即得到:
f(x,y)=f(Q11)(x2-x)(y2-y)+f(Q21)(x-x1)(y2-y)+f(Q12)(x2-x)(y-y1)+f(Q22)(x-x1)(y-y1)
图像信息存储在nW*nH的二维数组中,用n个进程处理该图像,令其中一个主进程负责初始化,发送处理前数据以及接收处理后数据等操作,剩下的n-1个从进程负责对图像数据进行插值并将插值后的数据发送给主进程等操作,即多个进程同时对图像进行处理,完成双线性插值的并行算法对图像进行处理;
对于图像的边界处,每个进程都多处理边界处一行的数据,即可对多个进程处理的数据能够完全覆盖整个图像。
优选的,步骤二中的BatchNormalization对每一维度进行标准化处理:
Input:Values of x over a mini-batch:B={x1...m};
Parameters to be learner:γ,β
Output:{yi=BNγ,β(xi)}
其操作可以分为两步:
首先对m个x进行标准化,得到平均单位方差为零的分布;
然后再对进行scaleandshift,缩放并平移到新的分布y,具有新的均值β方差γ。
优选的,为了应对不同的图像大小,保证经过卷积后的特征图与原来的图尺寸一致,加入Padding,即Padding=SAME。输出特征图的长与宽计算公式如下:
其中,Wout为输出特征图的大小,Win为输入特征图的大小,F为卷积核大小,stride为卷积步长,Padding为特征图填充的圈数。
优选的,步骤二中的self-attentiongating在基于CNN的标准图像分析模型中用于密集标签预测,Attentioncoefficient突出显著的图像区域和抑制任务无关的特征响应,/>和featuremap的乘法是Element-wise;加性注意力的公式为:
其中,是Relu函数,/>是Sigmoid函数,Wg、Wx、ψ均是卷积操作,bg、bψ均是对应卷积的偏置项。
优选的,在步骤二中的地标定位具体步骤为:首先为每头奶牛生成单独的置信度图xj,k是图像中k头牛的身体部位j的groundtruth位置;位置/>的值定义为:
其中,σ控制峰值的扩散,通过最大运算符对单个可信度图进行的聚合生成网络预测的真实可信度图;
采用最大置信图代替平均值,因此附近峰顶的精度仍然明线。
优选的,在步骤二中的部位分组首先对输入图像分别预测关键点的热度图和PAF,其次根据关键点和肢体最二分匹配进行关联,最终得到图像中所有奶牛的姿态;
算法流程:
首先由卷积网络分析处理图像,生成一组特征映射F,然后输入到每个分支的第一阶段,当前阶段的置信图St和向量场Lt由输入F和上一阶段输出共同决定,即:
其中ρt和ft是用于阶段推理的CNN;
为了指导网络迭代地预测第一分支中的身体部位和第二分支中的PAF的置信度图,在每个阶段的末尾应用两个损失函数,分别在每个分支处应用一个损失函数,在估计的预测与GTmap和PAF之间使用L2损失,对损失函数进行空间加权,解决某些数据集不能完全标记所有奶牛,在阶段t的两个分支处的损失函数分别为:
W表示一个二值mask,非目标位置W=0,位置p无标住W(p)为零,W(p)带星号的表示groundtruth,不带星号的表示预测值;计算loss采用L2loss;置信图采用求最大值;
f是整体目标函数,其中关键点和肢体的groundtruth用高斯函数设置;
PAF的groundtruth设计:
每个PAF是每个肢体的一个二维矢量场,一个二维矢量编码从肢体的一个部分指向另一个部分的方向,每种类型的肢体都有一个相应的PAF连接其相关的两个身体部分;
其中采用n表示关键点,k表示第k个牛,x表示关键点的位置partaffinityvectorfield,Lm,k(p)的计算方式如下:
其中P为某一肢体上的任意一点,如P点在第k个奶牛的肢体c上,那么在P点处置为向量V,否则为0;其中即两关键点之间的单位向量;
判断P点在不在肢体c上公式:
0≤v·(p-xn1,k)≤lc,k and|v⊥·(p-xn,k)|≤σl
两个关键点之间的长度:lc,k=||xn2,k-xn1,k||2,肢体的宽度为σl;
当多头奶牛肢体重合时,公式如下:
P点位置重叠的奶牛个数为k,qm(p)是位置P处不为0的vector个数;
PAF部位亲和场整个区域所有像素的编码向量求和平均组成了PAF,训练时如果P点在部位区域内,P点向量的groundtruth就是归一化的向量v,如果不在就是零向量;由于多人图像中有很多个潜在的躯体部位,最终用来做判断的是所有躯体部位对应的向量场的求和平均;另外需要判断关键点之间的“亲和”度,好进行最后的组合,用来表示,再用对两个部位的位置进行插补:
其中,n1与n2为两个候选位置,p(u)为两个奶牛身体部位n1和n2间插入的位置;
根据PAFs做多奶牛预测:
用a与b表示关键点的个数,用一个0到1之间的变量表示两个关键点之间是否是相连,那么所有可能z的组成一个集合;
其中,E为测试时做线积分得到的“相关性置信度”,Ed为对于肢体而言的图中所有“相关性置信度”,Eab为a和b之间的“相关性置信度”,z为两个关键点之间是否有边,a为第n1个关节集合中第a个点,b为第n2个关节集合中第b个点;
选择最小数量的边来获得奶牛姿势的生成树骨架而不是使用完整图,其次,进一步将匹配问题分解为一组二分匹配子问题,并独立地确定相邻树节点中的匹配,最终,优化公式可以总结为各个肢体c上E的总和:
优选的,在步骤二中的跟踪具体步骤为:对每一帧图像进行目标检测,将每一帧图像中相同的目标关联构成PF;
使用Pi j表示第j帧中第i个pose,其候选匹配集是τ(Pi j),即:
τ(Pi j)={P|dc(P,Pi j)≤ε},s.t.P∈Ωj+1
为了优化pose选择,对如下目标函数最大化:
s.t.Q0=Pi t
s.t.Qi∈τ(Qi-1)
s(Qi)=sbox(Qi)+mean(spose(Qi))+max(spose(Qi))
然后通过求解最优化问题来获得最优的t到t+T帧的PF;把PF作为NMS处理的基础单元,确定指示同一个奶牛的两个姿势流之间的距离;
计算得到PoseFlow之间的得分之后,对其进行整合,将dPF按传统方法进行NMS,它的关键点的坐标和分数可以通过下式计算:
and/>
优选的,在学习到的模型下,输入行为矩阵X所属的类别Ck可以用下式计算:
and/>
其中,C为类别的数量,T为测试序列的长度,O为输出的向量,ht为模型的输出,并且概率最高的类别被作为最终的分类结果。
优选的,卷积神经网络的训练过程分为:阶段一:数据由低层次向高层次传播的阶段,即前向传播阶段;阶段二:当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播训练的阶段,即反向传播阶段;具体的训练过程为:
S1:网络进行权值的初始化;
S2:输入数据经过卷积层、下采样层与全连接层的向前传播得到输出值;
S3:求出网络的输出值与目标值之间的误差;
S4:当误差大于期望值时,将误差传回网络中,依次求得全连接层、下采样层与卷积层的误差;当误差等于或小于期望值时,结束训练,固定权值与阈值;
S5:根据求得误差进行权值更新,并进入到S3。
与现有技术比较本发明的有益效果在于:
1、采用骨骼标定技术应用到奶牛来识别奶牛行为,增加了识别准确度并提高了创新性;和骨架数据相比,其他模态会产生更多的计算消耗,且在面对复杂背景以及人体尺度变化、视角变化和运动速度变化时鲁棒性不足;
2、使用了深度学习网络根据奶牛卧躺行为来自行判断奶牛的健康状况,这有效的完善了养殖系统,相较于人工检测,增加了奶牛健康监控的准确性和实时性,极大的降低了人工投入;
3、建立了部分奶牛视频监控的数据库,可以为多种奶牛研究提供数据,增加了奶牛研究的科学性。
附图说明
图1为本发明中奶牛的关键点及骨架结构示意图;
图2为未知函数f在点P值的坐标图;
图3为并行算法的思路框架图;
图4为AttentionGate(AG)的具体结构框图;
图5为两分支多级CNN的体系结构框图;
图6为PAF的groundtruth计算示意图;
图7为卷积神经网络的计算过程示意图;
图8为卷积神经网络的训练过程的框图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
实施例一
本实施例提供一种技术方案:基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,包括以下步骤:
步骤一:摄像头采集图像,送到终端处理,人工标注并检测奶牛骨骼关键点;
通过一个侧视的奶牛结构模型来描述奶牛的骨架位置,布置了四个红外摄像机和一个鱼眼摄像机,采集不同场景下的奶牛运动数据;
如图1所示,采用侧视奶牛结构模型来描述奶牛关节(关键点)的位置,将奶牛的头部(Head_top)、颈部(Neck)、肩部(Shoulder)、髋部(Hip)、左前肘(LFL_root)、左前膝(LF_knee)、左前蹄(LF_hoof)、右前肘(RFL_root)、右前膝(RF_knee)、右前蹄(RF_hoof)、左后肘(LBL_root)、左后膝(LB_knee)、左后蹄(LB_hoof)、右后肘(RBL_root)、右后膝(RB_knee)和右后蹄(RB_hoof)这16个连接骨架的关节部位设置为待检测的关键身体部位;
牛的躺卧行为类别有爬卧与横(躺)卧;
①.爬卧:左、右侧交替;但第一次爬卧多以左侧居多,也就是身体向左侧扭曲,头向右侧弯曲着回到中间线上,爬卧多伴随反刍;
②.横(躺)卧:如同人的侧卧,刚进食后的第一次侧卧,多在反复几次的爬卧之后,而且几乎全部是左侧在下,四肢伸展放松,有时站起来活动一会,再次横卧几乎100%是右侧在下;横卧时一般不反刍,闭目休息,横卧一般是在极度舒适、安静、有一定空间、没有其他牛打扰的情况下才发生;
步骤二:采用Bottom-up姿态估计方法算法获取奶牛的姿态,Bottom-up姿态估计方法包括特征提取、地标定位、部位分组以及跟踪;
特征提取:
使用双线性插值算法的并行实现替代了双线性插值算法,提高了算法处理图像的速率和效率,使用BatchNormalization来进行批数据标准化,使用self-attentiongating突出感兴趣区域(ROI)的显著特征,增强特征提取网络模型的性能,改进了U-net特征提取网络模型,进而输入PAF和CMs的特征;
双线性插值算法的并行为:如图2所示,如需求出未知函数f在点P=(x,y)的值,已知函数函數值Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)以及Q22=(x2,y2)四个点;
首先在y方向进行线性插值,得到R1和R2,然后x方向进行两次线性插值,得到P点,即可得到所要的结果f(x,y)的值(注:线性插值结果与插值顺序无关);
①.y方向进行线性插值:
②.x方向单线性插值:
将x方向单线性插值的结果带入y方向进行线性插值,即得到:
f(x,y)=f(Q11)(x2-x)(y2-y)+f(Q21)(x-x1)(y2-y)+f(Q12)(x2-x)(y-y1)+f(Q22)(x-x1)(y-y1)
并行算法用多个进程同时处理图像,改变了用一个进程处理图像的传统做法,高效的利用CPU的同时,运算的过程中在尽量做到负载平衡,有效的提高算法处理图像的效率和速度;
如图3所示,假设图像信息存储在一个nW*nH的二维数组里面,并且用n个进程处理该图像,那么令其中一个主进程负责初始化,发送处理前数据以及接收处理后数据等操作,剩下的n-1个从进程负责对图像数据进行插值并将插值后的数据发送给主进程等操作,多个进程就可以同时对图像进行处理,即能够提高图像处理的速度;对于图像的边界处,采用重叠一行的方法来处理,即每个进程都多处理边界处一行的数据,这样就能保证多个进程处理的数据能够完全覆盖整个图像;又因为矩阵是按行存储的,所以按行将图像信息分配给n-1个进程的方法处理起来比较简单,但是这样并不一定能保证负载平衡,而且考虑到从进程处理数据时主进程闲置的情况,本算法规定分配给每个从进程nH/n行的数据,分配给主进程nH%n行的数据,这样在尽可能做到负载平衡的同时也提高了处理器的利用率。
BatchNormalization:与普通的数据标准化类似,是将分散的数据统一的一种做法,也是优化神经网络的一种方法;BatchNormalization不需要太依赖dropout,具有某种正则作用,可以减少过拟合;
“输入X拥有d个维度,对每一维度进行标准化处理”,假设输入的x是RGB三通道的彩色图像,即d=3,其中就代表R通道所对应的特征矩阵,依此类推,分别标准化三个通道。
Input:Values of x over a mini-batch:B={x1...m};
Parameters to be learner:γ,β
Output:{yi=BNγ,β(xi)}
其操作可以分为两步:
①.Standardization:首先对m个x进行Standardization,得到zeromeanunitvariance的分布。
②.scaleandshift:然后再对进行scaleandshift,缩放并平移到新的分布y,具有新的均值β方差γ。
为了应对不同的图像大小,保证经过卷积后的特征图与原来的图尺寸一致,加入Padding,即Padding=SAME。输出特征图的长与宽计算公式如下:
其中,Wout为输出特征图的大小,Win为输入特征图的大小,F为卷积核大小,stride为卷积步长,Padding为特征图填充的圈数。
引入AttentionGate:采用AttentionGate模型自动学习区分目标的外形和尺寸,AttentionGate的模型在训练时会学会抑制不相关的区域,突出有用的显著特征;本申请提出一种新颖的self-attentiongating模块,提出基于网格的AG,使注意力系数更能凸显局部区域的特征,该模块可以在基于CNN的标准图像分析模型中用于密集标签预测,如图4所示。
Attentioncoefficient是为了突出显著的图像区域和抑制任务无关的特征响应,/>和featuremap的乘法是Element-wise的(对应元素逐个相乘),加性注意力的公式为:
结合结构来一起分析,是Relu函数,/>是Sigmoid函数,Wg、Wx、ψ均是卷积操作,bg、bψ均是对应卷积的偏置项(所以发现Wx无偏置),Fint一般比Fg、Fl要小。
地标定位:
通过视频中对奶牛标注的二维骨骼关键点中生成置信图,通过运算符对单个可信度图进行聚合生成网络预测的真实可信度图,进而定位骨架结点;
本申请采取置信图(CM)进行奶牛的身体部位的定位和识别,从标注的二维关键点中生成置信图S*;理想情况下,如图像中出现了一头奶牛,如果其相应部位可见,每个置信度图中就应该有一个峰值;如果图像中出现了多头牛,那么每头牛k的每个可见部位j都应该有一个峰值对应。
首先为每头奶牛生成单独的置信度图xj,k是图像中k头牛的身体部位j的groundtruth位置;位置/>的值定义为:
其中σ控制峰值的扩散;通过最大运算符对单个可信度图进行的聚合生成网络预测的真实可信度图。
采用最大置信图代替平均值,因此附近峰顶的精度仍然明线。
部位分组:
检测出众多的骨骼关键点之后,对众多的骨骼关键点进行聚类处理,将不同奶牛的多个骨骼关键点连接,聚类产生多个奶牛个体,得到多个奶牛的姿态;
跟踪:
本申请采取自顶向下的多奶牛姿态跟踪方法,在每一帧中检测奶牛的proposals→关键点→相邻帧相似性,跟踪整个视频。利用时空信息构建姿态流,降低不要确定性,以显示提高跟踪任务。首先对每一帧进行目标检测,将每一帧中相同的目标关联构成PF;
Pi j表示第j帧中第i个pose,它的候选匹配集是τ(Pi j)
τ(Pi j)={P|dc(P,Pi j)≤ε},s.t.P∈Ωj+1
为了优化pose选择,对如下目标函数最大化:
s.t.Q0=Pi t
s.t.Qi∈τ(Qi-1)
s(Qi)=sbox(Qi)+mean(spose(Qi))+max(spose(Qi))
然后通过求解最优化问题来获得最优的t到t+T帧的PF。
进行参数化姿态非最大抑制(NMS)为解决冗余,把PF作为NMS处理的基础单元,确定指示同一个奶牛的两个姿势流之间的距离。
dPF(ya,yb)=median[{df(Pa 1.Pb 1),...,df(Pa N.Pb N)}]
计算的到了PoseFlow之间的得分之后,就需要进行整合了,把一些交叉的,部分交叉的,重叠的进行整合优化.将dPF传统方法进行NMS,它的关键点的坐标和分数可以通过下式计算:
and/>
步骤三:运用Bottom-up姿态估计方法得到结果后,得到改进的U-net网络,训练cnn-gru网络进行行为分类;
卷积神经网络是机器视觉任务中最为流行的深度学习工具之一,已经被广泛应用于物体识别、目标检测和行为分析等任务中。目前常用的卷积神经网络有常被用于语音信号处理的一维卷积模型、用于图片分析的二维卷积模型和用于视频分析的三维卷积模型。以二维神经网络为例,它使用一组滤波器对输入数据以滑窗的方式进行滤波,整个过程正如将输入数据和滤波器权重做卷积操作,故得名卷积神经网络。卷积神经网络的实现特点使得它只能处理规则的网格结构的数据,这一点天然与机器视觉契合。再加上每一个滤波器使用的参数较少,通常在每层可以使用数百个滤波器对图像进行滤波,这使得它已经成为机器视觉任务中主要的空间特征提取手段,如图7所示,描述了二维卷积网络的运算过程。
步骤四:利用所采集数据库中奶牛图像训练并测试网络性能,实现通过视频的骨骼关键点判断奶牛的行为;
如图8所示,卷积神经网络的训练过程分为:阶段一:数据由低层次向高层次传播的阶段,即前向传播阶段;阶段二:当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播训练的阶段,即反向传播阶段;具体的训练过程为:
S1:网络进行权值的初始化;
S2:输入数据经过卷积层、下采样层与全连接层的向前传播得到输出值;
S3:求出网络的输出值与目标值之间的误差,即偏量e;
S4:当误差大于期望值时,将误差传回网络中,依次求得全连接层、下采样层与卷积层的误差,各层的误差可以理解为对于网络的总误差,网络应承担多少;当误差等于或小于期望值时,结束训练,固定权值与阈值;
S5:根据求得误差进行权值更新,并进入到S3;
经过卷积神经网络的训练之后,可精准自动的识别奶牛的行为,再依据奶牛的行为自动判断奶牛的健康状况。
实施例二
本实施例是在上述实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:许多实例的图像中,检测到的地标被分为与每个个体相关的不同集合。对于部位分组问题,不仅需要获取地表位置,还要更多的信息。本申请使用基于Bottom-up的奶牛骨骼关键点检测算法的主要部分关键点聚类和关键点检测,其中关键点检测和单只奶牛的关键点检测方法上是差不多的,区别在于这里的关键点检测需要将图片中所有类别的所有关键点全部检测出来,然后对这些关键点进行聚类处理,将不同奶牛的不同关键点连接在一块,从而聚类产生不同的个体。本文使用PAF,PartAffinityFields部位亲和场,组合多人画面中分散的关节点。
算法流程:
首先对输入图像分别预测关键点的热度图和PAF,其次根据关键点和肢体最二分匹配进行关联,最终得到图中牧场中所有奶牛的所有姿态;如图5所示。
图像首先由卷积网络(由VGG-19的前10层初始化并finetune)分析处理图像,生成一组特征映射F,然后输入到每个分支的第一阶段当前阶段的置信图St和向量场Lt由输入F和上一阶段输出共同决定,即:
/>
其中ρt和ft是用于阶段推理的CNN;
为了指导网络迭代地预测第一分支中的身体部位和第二分支中的PAF的置信度图,在每个阶段的末尾应用两个损失函数,分别在每个分支处应用一个损失函数,在估计的预测与GTmap和PAF之间使用L2损失,对损失函数进行空间加权,解决某些数据集不能完全标记所有奶牛,在阶段t的两个分支处的损失函数分别为:
W表示一个二值mask,非目标位置W=0,位置p无标住W(p)为零,否则W(p)带星号的表示groundtruth,不带星号的表示预测值;计算loss采用L2loss;置信图采用求max,而不是平均。
f是整体目标函数,其中关键点和肢体的groundtruth用高斯函数设置。
PAF的groundtruth设计:
同时保留了整个肢体支持区域的位置和方向信息。每个PAF是每个肢体的一个二维矢量场,对于属于特定肢体区域的每个像素,一个二维矢量编码了从肢体的一个部分指向另一个部分的方向。每种类型的肢体都有一个相应的PAF连接其相关的两个身体部分,如图6所示。
其中用n表示关键点,k表示第k个牛,x表示关键点的位置part affinity vectorfield,Lm,k(p)的计算方式如下:
上述公式理解:对于点P,如果点P在第k头奶牛的肢体c上,那么在P点处置为向量V,否则为0;其中即两关键点之间的单位向量。
判断P点在不在肢体c上公式:
0≤v·(p-xn1,k)≤lc,k and|v⊥·(p-xn,k)|≤σl
两个关键点之间的长度:lc,k=||xn2,k-xn1,k||2,肢体的宽度为σl
当多奶牛肢体重合时,公式如下:
P位置重叠的奶牛的个数为k,qm(p)是位置P处不为零的vector的个数。
测试时,对于两个候选位置n1,n2,通过如下方式计算关联置信分数,实际中通过采样均匀间隔近似积分对于两个候选部位位置n1和n2,从PAFs中取样,Lm表示的是沿着线段去衡量它们间联系的置信度;
PAF部位亲和场整个区域所有像素的编码向量求和平均组成了PAF。训练时,如P点在部位区域内,P点的向量的groundtruth就是归一化的向量v,如果不在就是零向量。由于多人图像中有很多个潜在的躯体部位,最终用来做判断的是所有躯体部位对应的向量场的求和平均。另外还需要判断关键点之间的“亲和”度,好进行最后的组合,用来表示,再用对两个部位的位置进行插补:
p(u)为两个奶牛身体部位n1和n2间插入的位置:
根据PAFs做多奶牛预测:
用a,b表示关键点,的个数,用一个0到1之间的变量表示两个关键点之间是否是相连,所有可能z的组成一个集合,该集合是一个图形的每条边用作为权重,目标为使用匈牙利算法最大化所有边的总和。
其中,E为测试时做线积分得到的“相关性置信度”(可以理解为“是否要相连”),Ed为指对于肢体来讲的图中所有“相关性置信度”,Eab为a和b之间的“相关性置信度”,z为指两个关键点之间是否有边,a表示第n1个关节集合中第a个点,b表示第n2个关节集合中第b个点。
本文采用匈牙利算法获取最好的匹配,选择最小数量的边来获得奶牛姿势的生成树骨架而不是使用完整图,其次,进一步将匹配问题分解为一组二分匹配子问题,并独立地确定相邻树节点中的匹配。
最终,优化公式可以总结为各个肢体c上的E的总和:
实施例三
本实施例通过实例进行说明:本研究使用监控视频作为原始数据,每个视频时长大约30分钟;本实施例视频片段是从300个原视频中挑选出来的,剔除了无目标的视频;五个场景下的视频,分别人工标注了3000帧,并且按照视频时长9:1的比例划分为训练集和验证集;为了提高姿态估计算法的鲁棒性,使用了数据增强算法来丰富训练集,每一帧视频随机旋转一个角度,角度区间为-15°-15°;
根据奶牛不同姿态下所呈现出的部位遮挡情况,被遮挡的部位与可视部位分别区别标注,奶牛的关键点人工标注;
摄像头采集图像,送到终端处理,首先进行语义分割和关键点检测,然后送入Unet网络进行特征提取,之后进行地标定位,部件分组和跟踪,将最终数据送入tensorflow进行行为识别及分类,最后通过判断奶牛各行为在一天中所占时间比例来判断奶牛的健康状况。
本申请对奶牛进行动态视频监控,然后通过对奶牛的骨骼标定,保存所有带有奶牛骨骼标定后的照片并传回系统,利用卷积神经网络能够准确识别卧躺行为,通过后台筛选排序从而判断奶牛的卧躺时间,从而监视奶牛的健康情况。采用骨骼标定技术、深度学习、图像处理技术,具有鲜明的地区特色和广泛的应用前景,对于大型奶牛场的养殖自动化、智能化具有重要意义。
本申请制出的产品最终进行封装,只需在奶牛养殖基地放入摄像头,与终端相连,操作启动终端程序,进入封装系统,打开摄像头,终端就可以自动识别奶牛行为并且判断时长,如发现异常将会发出警告,从而实现低成本,全自动的健康奶牛养殖。
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。
Claims (10)
1.基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于:包括以下步骤:
步骤一:摄像头采集图像,送到终端处理,人工标注并检测奶牛骨骼关键点;
步骤二:采用Bottom-up姿态估计方法算法获取奶牛的姿态,Bottom-up姿态估计方法包括特征提取、地标定位、部位分组以及跟踪;
特征提取:
使用双线性插值的并行算法对图像进行处理,使用BatchNormalization进行批数据标准化,使用self-attentiongating突出感兴趣区域的显著特征,改进了U-net特征提取网络模型,进而输出CMs与PAF的特征;
地标定位:
通过视频中对奶牛标注的二维骨骼关键点中生成置信图,通过运算符对单个可信度图进行聚合生成网络预测的真实可信度图,进而定位骨架结点;
部位分组:
检测出众多的骨骼关键点之后,对众多的骨骼关键点进行聚类处理,将不同奶牛的多个骨骼关键点连接,聚类产生多个奶牛个体,得到多个奶牛的姿态;
跟踪:
在每一帧图像中检测奶牛的proposals→关键点→相邻帧相似性,且跟踪整段视频,利用时空信息构建姿态流;
步骤三:运用Bottom-up姿态估计方法得到结果后,得到改进的U-net网络,训练cnn-gru网络进行行为分类;
步骤四:利用所采集数据库中奶牛图像训练并测试网络性能,实现通过视频的骨骼关键点判断奶牛的行为。
2.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,步骤二中的双线性插值算法:已知二维平面上的函数的四函數值Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)以及Q22=(x2,y2)四个点;首先在y方向进行线性插值,得到R1与R2,然后在x方向进行两次线性插值,得到P点,即得到所要的f(x,y)二维坐标;
y方向进行线性插值:
x方向单线性插值:
将x方向单线性插值的结果带入y方向进行线性插值,即得到:
f(x,y)=f(Q11)(x2-x)(y2-y)+f(Q21)(x-x1)(y2-y)+f(Q12)(x2-x)(y-y1)+f(Q22)(x-x1)(y-y1)
图像信息存储在nW*nH的二维数组中,用n个进程处理该图像,令其中一个主进程负责初始化,发送处理前数据以及接收处理后数据等操作,剩下的n-1个从进程负责对图像数据进行插值并将插值后的数据发送给主进程等操作,即多个进程同时对图像进行处理,完成双线性插值的并行算法对图像进行处理;
对于图像的边界处,每个进程都多处理边界处一行的数据,即可对多个进程处理的数据能够完全覆盖整个图像。
3.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,步骤二中的BatchNormalization对每一维度进行标准化处理:
Input:Values of x over a mini-batch:B={x1...m};
Parameters to be learner:γ,β
Output:{yi=BNγ,β(xi)}
其操作可以分为两步:
首先对m个x进行标准化,得到平均单位方差为零的分布;
然后再对进行scaleandshift,缩放并平移到新的分布y,具有新的均值β方差γ。
4.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,为了应对不同的图像大小,保证经过卷积后的特征图与原来的图尺寸一致,加入Padding,即Padding=SAME。输出特征图的长与宽计算公式如下:
其中,Wout为输出特征图的大小,Win为输入特征图的大小,F为卷积核大小,stride为卷积步长,Padding为特征图填充的圈数。
5.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,步骤二中的self-attentiongating在基于CNN的标准图像分析模型中用于密集标签预测,Attentioncoefficient突出显著的图像区域和抑制任务无关的特征响应,/>和featuremap的乘法是Element-wise;加性注意力的公式为:
其中,是Relu函数,/>是Sigmoid函数,Wg、Wx、ψ均是卷积操作,bg、bψ均是对应卷积的偏置项。
6.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,在步骤二中的地标定位具体步骤为:首先为每头奶牛生成单独的置信度图xj,k是图像中k头牛的身体部位j的groundtruth位置;位置/>的值定义为:
其中,σ控制峰值的扩散,通过最大运算符对单个可信度图进行的聚合生成网络预测的真实可信度图;
采用最大置信图代替平均值,因此附近峰顶的精度仍然明线。
7.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,在步骤二中的部位分组首先对输入图像分别预测关键点的热度图和PAF,其次根据关键点和肢体最二分匹配进行关联,最终得到图像中所有奶牛的姿态;
算法流程:
首先由卷积网络分析处理图像,生成一组特征映射F,然后输入到每个分支的第一阶段,当前阶段的置信图St和向量场Lt由输入F和上一阶段输出共同决定,即:
其中ρt和ft是用于阶段推理的CNN;
为了指导网络迭代地预测第一分支中的身体部位和第二分支中的PAF的置信度图,在每个阶段的末尾应用两个损失函数,分别在每个分支处应用一个损失函数,在估计的预测与GT map和PAF之间使用L2损失,对损失函数进行空间加权,解决某些数据集不能完全标记所有奶牛,在阶段t的两个分支处的损失函数分别为:
W表示一个二值mask,非目标位置W=0,位置p无标住W(p)为零,W(p)带星号的表示groundtruth,不带星号的表示预测值;计算loss采用L2loss;置信图采用求最大值;
f是整体目标函数,其中关键点和肢体的groundtruth用高斯函数设置;
PAF的groundtruth设计:
每个PAF是每个肢体的一个二维矢量场,一个二维矢量编码从肢体的一个部分指向另一个部分的方向,每种类型的肢体都有一个相应的PAF连接其相关的两个身体部分;
其中采用n表示关键点,k表示第k个牛,x表示关键点的位置part affinity vectorfield,Lm,k(p)的计算方式如下:
其中P为某一肢体上的任意一点,如P点在第k个奶牛的肢体c上,那么在P点处置为向量V,否则为0;其中即两关键点之间的单位向量;
判断P点在不在肢体c上公式:
0≤v·(p-xn1,k)≤lc,kand|v⊥·(p-xn,k)|≤σl
两个关键点之间的长度:lc,k=||xn2,k-xn1,k||2,肢体的宽度为σl;
当多头奶牛肢体重合时,公式如下:
P点位置重叠的奶牛个数为k,qm(p)是位置P处不为0的vector个数;
PAF部位亲和场整个区域所有像素的编码向量求和平均组成了PAF,训练时如果P点在部位区域内,P点向量的groundtruth就是归一化的向量v,如果不在就是零向量;由于多人图像中有很多个潜在的躯体部位,最终用来做判断的是所有躯体部位对应的向量场的求和平均;另外需要判断关键点之间的“亲和”度,好进行最后的组合,用来表示,再用对两个部位的位置进行插补:
其中,n1与n2为两个候选位置,p(u)为两个奶牛身体部位n1和n2间插入的位置;
根据PAFs做多奶牛预测:
用a与b表示关键点的个数,用一个0到1之间的变量表示两个关键点之间是否是相连,那么所有可能z的组成一个集合;
其中,E为测试时做线积分得到的“相关性置信度”,Ed为对于肢体而言的图中所有“相关性置信度”,Eab为a和b之间的“相关性置信度”,z为两个关键点之间是否有边,a为第n 1个关节集合中第a个点,b为第n2个关节集合中第b个点;
选择最小数量的边来获得奶牛姿势的生成树骨架而不是使用完整图,其次,进一步将匹配问题分解为一组二分匹配子问题,并独立地确定相邻树节点中的匹配,最终,优化公式可以总结为各个肢体c上E的总和:
8.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,在步骤二中的跟踪具体步骤为:对每一帧图像进行目标检测,将每一帧图像中相同的目标关联构成PF;
使用Pi j表示第j帧中第i个pose,其候选匹配集是τ(Pi j),即:
τ(Pi j)={P|dc(P,Pi j)≤ε},s.t.P∈Ωj+1
为了优化pose选择,对如下目标函数最大化:
s.t.Q0=Pi t
s.t.Qi∈τ(Qi-1)
s(Qi)=sbox(Qi)+mean(spose(Qi))+max(spose(Qi))
然后通过求解最优化问题来获得最优的t到t+T帧的PF;把PF作为NMS处理的基础单元,确定指示同一个奶牛的两个姿势流之间的距离;
dPF(ya,yb)=median[{df(Pa 1.Pb 1),...,df(Pa N.Pb N)}]
计算得到PoseFlow之间的得分之后,对其进行整合,将dPF按传统方法进行NMS,它的关键点的坐标和分数可以通过下式计算:
and/>
9.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,在学习到的模型下,输入行为矩阵X所属的类别Ck可以用下式计算:
and/>
其中,C为类别的数量,T为测试序列的长度,O为输出的向量,ht为模型的输出,并且概率最高的类别被作为最终的分类结果。
10.根据权利要求1所述的基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法,其特征在于,卷积神经网络的训练过程分为:阶段一:数据由低层次向高层次传播的阶段,即前向传播阶段;阶段二:当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播训练的阶段,即反向传播阶段;具体的训练过程为:
S1:网络进行权值的初始化;
S2:输入数据经过卷积层、下采样层与全连接层的向前传播得到输出值;
S3:求出网络的输出值与目标值之间的误差;
S4:当误差大于期望值时,将误差传回网络中,依次求得全连接层、下采样层与卷积层的误差;当误差等于或小于期望值时,结束训练,固定权值与阈值;
S5:根据求得误差进行权值更新,并进入到S3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310510211.9A CN116543462A (zh) | 2023-05-08 | 2023-05-08 | 基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310510211.9A CN116543462A (zh) | 2023-05-08 | 2023-05-08 | 基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116543462A true CN116543462A (zh) | 2023-08-04 |
Family
ID=87457228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310510211.9A Pending CN116543462A (zh) | 2023-05-08 | 2023-05-08 | 基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116543462A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197902A (zh) * | 2023-11-07 | 2023-12-08 | 华南农业大学 | 一种母猪分娩智能预测系统及方法 |
-
2023
- 2023-05-08 CN CN202310510211.9A patent/CN116543462A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197902A (zh) * | 2023-11-07 | 2023-12-08 | 华南农业大学 | 一种母猪分娩智能预测系统及方法 |
CN117197902B (zh) * | 2023-11-07 | 2024-01-30 | 华南农业大学 | 一种母猪分娩智能预测系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alvarez et al. | Body condition estimation on cows from depth images using Convolutional Neural Networks | |
Arivazhagan et al. | Mango leaf diseases identification using convolutional neural network | |
Zhang et al. | Real-time sow behavior detection based on deep learning | |
Gjergji et al. | Deep learning techniques for beef cattle body weight prediction | |
Lin et al. | The pest and disease identification in the growth of sweet peppers using faster R-CNN and mask R-CNN | |
Zou et al. | A segmentation network for smart weed management in wheat fields | |
CN116543462A (zh) | 基于视频骨骼的奶牛行为识别判断奶牛健康状况的方法 | |
Sabri et al. | Nutrient deficiency detection in maize (Zea mays L.) leaves using image processing | |
Gan et al. | Spatiotemporal graph convolutional network for automated detection and analysis of social behaviours among pre-weaning piglets | |
CN115019391A (zh) | 基于YOLOv5和C3D的仔猪吃奶行为检测系统 | |
Xu et al. | Automatic quantification and assessment of grouped pig movement using the XGBoost and YOLOv5s models | |
Tenorio et al. | Automatic visual estimation of tomato cluster maturity in plant rows | |
Zhang et al. | Early lameness detection in dairy cattle based on wearable gait analysis using semi-supervised LSTM-autoencoder | |
Hu et al. | Parallel channel and position attention-guided feature pyramid for pig face posture detection | |
Maheshwari et al. | Performance analysis of mango leaf disease using machine learning technique | |
Surige et al. | IoT-based monitoring system for oyster mushroom farming | |
CN116977862A (zh) | 一种植物生长阶段视频检测方法 | |
Sun et al. | A recognition method of cattle and sheep based on convolutional neural network | |
Akbar et al. | A comprehensive review on deep learning assisted computer vision techniques for smart greenhouse agriculture | |
Gao et al. | Adaptive cow movement detection using evolving spiking neural network models | |
Yeşil et al. | Recognition of Hereford and Simmental cattle breeds via computer vision. | |
Duan et al. | Feed weight estimation model for health monitoring of meat rabbits based on deep learning | |
Zin et al. | A deep learning method of edge-based cow region detection and multiple linear classification | |
Feng et al. | A Method of Body Condition Scoring for Dairy Cows Based on Lightweight Convolution Neural Network | |
Singh et al. | Implementation of Plant Leaf Diseases Detection and Classification using Image Processing Techniques |
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 |