掌桥专利:专业的专利平台
掌桥专利
首页

基于边缘计算的仔猪吃奶行为监测系统

文献发布时间:2023-06-19 09:54:18


基于边缘计算的仔猪吃奶行为监测系统

技术领域

本发明涉及图像处理技术、目标识别技术、边缘计算技术及网络传输技术,具体地讲是一种基于基于边缘计算的仔猪吃奶行为监测系统。

背景技术

云计算技术能很好地解决互联网终端设备对计算资源的渴求与自身资源受限的矛盾,形成强大的集中式计算规模效益,推动万物互联的物联网技术迅速发展。然而固定化的传输方式无法满足多样化的需求,移动云计算技术应运而生。但网络终端设备数量的急剧增加会导致云计算中心计算压力过大、数据传输延迟高无法满足实时应用要求、终端节点传输能耗高等问题。越来越多的数据在网络中的边缘设备产生,利用边缘计算技术直接在边缘设备上进行数据处理可以有效减轻中心服务器的负担,保障数据的安全性。

我国规模化养猪场数量不断增加,养殖规模的不断扩大,猪场信息数据的日产生量也会出现爆发式增长,若所有的数据均依赖云端服务器进行处理,这不仅会产生信息安全问题,形成数据冗余,一旦云服务器出现问题,边缘设备将无法继续有效工作,造成经济损失。

发明内容

本发明针对背景技术中存在的问题,提出了一种基于边缘计算的仔猪吃奶行为监测系统。本申请主要分为算法设计与硬件移植两个部分。(1)算法部分主要采用yolov4-tiny为主干模型,通过已采集到的俯拍哺乳期母猪与仔猪视频,处理得到仔猪吃奶行为数据集。哺乳区域的标注位置为--母猪为侧卧姿态时,前肢到后肢的腹部乳房区域。标注完成后按比例划分训练集、测试集和验证集图片,建立数据集。利用yolov4-tiny网络训练数据集,得到仔猪--哺乳区域检测模型。根据仔猪检测框与哺乳区域检测框的位置关系以及时序位置分析建立仔猪吃奶行为检测模型。(2)硬件移植部分采用Jetson nano嵌入式设备作为边缘核心处理器,通过摄像头采集仔猪的实时数据传入Jetson nano进行处理,构建数据边缘计算平台。视频解码处理通过Deepstream框架进行,yolov4-tiny模型通过模型剪枝与结构转换,形成Tensorrt网络下的运行结构,进一步减小模型大小并提升模型运算效率,最终将Tensorrt结构下的yolov4-tiny部署到Jetson nano嵌入式结构,完成实时的边缘设备计算。最后,将Jetson nano上处理得到的结构化数据分别传输至本地服务器与云服务器,从而确保数据的安全以及系统响应效率。最终实现边缘计算的仔猪吃奶行为监测系统,确保系统功能的安全性与高效性。

技术方案:

一种基于边缘计算的仔猪吃奶行为监测系统,它包括:

-数据采集层:包括若干摄像头,由摄像头采集视频数据;

-数据处理层:包括若干Jetson nano嵌入式设备,单个Jetson nano嵌入式设备接收若干摄像头采集的视频数据,进行实时数据处理与传输;

-数据传输层:通过网络节点将多个Jetson nano嵌入式设备发送的数据传输至数据存储层;

-数据存储层:包括云服务器、本地服务器和其他设备,对处理后的数据进行分类存储,在服务器中对每类的所属数据进行清洗和重组,把处理后的结果送至数据展示层。

-数据展示层:包括移动/PC端,将数据存储层发送的数据进行用户端的可视化展示。

优选的,系统基于仔猪吃奶检测算法:使用yolov4-tiny为主干网络,通过yolov4-tiny算法识别仔猪与母猪哺乳区的目标检测框,根据两种检测框的不同位置关系以及时序关系,进行仔猪吃奶行为的判断。

具体的,仔猪目标检测框的四个点分别为a、b、c、d,对应坐标为(X

S1、采集母猪产床上的仔猪与母猪俯拍数据;

S2、对数据进行清洗、筛选,删除无关图片,对图片进行标注,标注标签分别为仔猪与哺乳区域,仔猪目标以矩形框进行标注,哺乳区域以母猪为侧卧姿态时,前肢到后肢的腹部乳房区域进行标注,并根据8:2比例划分训练集与测试集图片,构建仔猪与母猪哺乳区域的目标检测数据集;

S3、用yolov4-tiny模型对数据集进行训练得到仔猪--哺乳区域目标检测模型;

S4、使用仔猪--哺乳区域目标检测模型得到多个仔猪目标检测框与一个哺乳区域目标检测框;

S5、根据连续时间内的仔猪目标检测框中心位置变化幅度来判断仔猪是否在运动;

S6、判定仔猪为运动状态后,计算仔猪目标检测框与母猪哺乳区域目标检测相交面积s;相交面积/仔猪目标检测框面积大于设定阈值时判定为疑似吃奶行为;

S7、通过仔猪目标检测框的长与哺乳区域检测框的长之间的夹角关系判定仔猪是否为吃奶行为。

优选的,S5中,仔猪目标检测框中心位置变化幅度如下:

S5-1、仔猪目标检测框的中心点坐标为

S5-2、中心点坐标变化计算公式为

优选的,S6中,计算两个目标检测框的相交面积的计算流程为:

S6-1、判断是否相交:对两个目标检测框的Y轴坐标(Y

min(Y

(Y

max(Y

(Y

S6-2、计算获得相交点坐标;

S6-3、联立仔猪目标检测框的两个端点获得相交面积s。

优选的,S7中,夹角计算方法为:

S7-1、选取仔猪目标检测框与哺乳区域检测框之间的一个交点o,以及两个检测框上对应的角点坐标c和B,o点坐标为:

oc向量为:

oB向量为:

S7-2、夹角∠o=arccos∠o{[(X

优选的,Jetson nano嵌入式设备配备GPU,采用NVIDIA开发的Tensorrt框架,将检测模型转换为Tensorrt框架下运行的格式。

优选的,系统执行边缘计算:

首先通过摄像头采集实时视频数据传输给Jetson nano嵌入式设备进行数据处理,Jetson nano通过Deepstream框架对多路视频数据进行解码和切片处理;

之后采用Tensorrt网络加速后的yolov4-tiny模型对处理后的数据进行推理检测,得出相应结果;

最后根据处理结果自动化决策是否触发报警,同时通过网络节点,将处理后的数据传输至本地服务器和云服务器进行分类存储。

优选的,Jetson nano配置无线网卡模块,上位机与Jetson nano嵌入式设备接入统一网络节点,然后上位机利用SSH协议与Jetson nano设备进行通讯,并控制和读取Jetson nano实时状态。

本发明的有益效果

(1)提出一种新的仔猪吃奶行为监测方法,为智能化养殖提供技术支持。

(2)通过对深度学习算法的嵌入式部署,实现边缘计算模式下的仔猪吃奶行为识别任务,能够有效减少中心服务器的运行压力、提升运行速度、保证数据的安全性,同时确保在中心服务器出现故障的情况下,整个系统的基本功能可以继续运行,从而降低可能带来的经济损失。

(3)部分小型养殖场对智能化养殖装备的需求中可能不需要调用昂贵的云服务器,采用边缘计算模式对仔猪进行目标识别摆脱对云服务器的依赖,可以使得本系统更好地适用于不同规模的养殖场。

(4)将图像采集设备与数据处理设备进行集成,并利用无线传输模式进行数据传输与系统控制,能够实现便捷式安装,可以有效减少系统的安装成本与安装的工作量。

(5)用户通过不同客户端对数据进行查询,界面提供整体和分栏数据展示,可以满足养殖人员不同的个性化需求,更加方便、高效地查询到自己想要的信息。

附图说明

图1为本发明的系统框架图

图2为仔猪目标检测框与哺乳区域目标检测框长边夹角示意图

图3为仔猪吃奶算法流程图

图4为边缘计算部分总体流程图

图5为Jetson nano数据处理流程图

图6为网络传输部分框架图

图7为数据存储与可视化框架图

图8为数据存储与展示结构图

图9为服务器数据处理流程图

图10为Tensorrt模型生成流程图

图11为本发明的系统工作流程图

具体实施方式

下面结合实施例对本发明作进一步说明,但本发明的保护范围不限于此:

结合图1,本专利“基于边缘计算的仔猪吃奶行为监测系统”以yolov4-tiny为主干网络构建仔猪吃奶行为识别模型,以Jetson nano嵌入式设备作为核心处理器,开发基于Jetson nano的仔猪吃奶行为监测平台,构建边缘计算模式下的仔猪信息采集系统。可作为高效、安全的、便捷的新一代智慧养殖系统。基于边缘计算的仔猪吃奶行为监测系统主要包括边缘计算部分、网络传输部分、数据存储部分和数据可视化部分。边缘计算部分由数据采集模块和数据处理模块组成,数据采集模块是采用摄像头采集母猪产床上的实时视频数据,将采集到的实时视频数据传输至Jetson nano嵌入式设备,在Jetson nano上实现对数据流的解析、处理与传输。每台Jetson nano设备理论上最多同时支持8路摄像头的实时数据处理与传输。将处理完成后的结构化数据打包,利用网络传输部分,将处理后的数据结果传输至本地服务器与云服务器进行存储,在云服务器中对结构化数据结果进行清洗与重组,将结果发送至移动端进行展示。

结合图11,系统整体运行流程为:

Step1:多路摄像头采集多路视频数据

Step2:Jetson nano自带各类数据接口均不超过8路,因此通过多路视频转换接口将多路视频信号转换为单路输入

Step3:利用上位机监控Jetson nano对视频流数据进行读取与处理

Step4:Jetson nano检测是否存在需要报警事项,若存在需要报警的事项则执行本地报警动作,同时将处理后的数据结果发送至云服务器和本地服务器

Step5:服务器将数据进行清洗、存储,并根据客户端请求将相应数据发送至客户端进行可视化显示。

系统功能说明:

(1)视频采集部分

主要由多路摄像头和多路视频转换接口组成,首先通过多路摄像头采集多路视频数据,利用多路视频转换接口将多路视频流转换成单路视频流输入至Jetson nano嵌入式设备。

(2)边缘计算部分

主要由Jetson nano嵌入式设备组成,将深度学习算法进行模型转换后部署至Jetson nano上,利用Deepstream将多路视频信号进行解码,通过部署完成的深度学习算法实现仔猪吃奶行为检测,并根据检测结果判定是否进行本地报警动作,同时将处理后的结果数据传输至无线网关节点。

(3)上位机控制部分

上位机通过SSH协议与Jetson nano嵌入式设备进行通讯,监测并控制Jetsonnano设备的运行。

(4)网络传输部分

主要由无线网关节点组成,通过WiFi协议连通Jetson nano、本地设备与服务器,数据通过无线网络进行传输。

(5)数据存储部分

通过服务器接收处理过后的数据图像,并建立客户端响应接口,对客户端的数据请求作出响应,发送处理后信息。

(6)数据可视化部分

设计客户端使用程序,接收数据并进行可视化展示,为用户提供实时数据查询和历史数据查询功能,方便用户对猪舍进行管理。

模型构建部分首先是采集俯拍情况下的哺乳期母猪与仔猪视频,选取仔猪吃奶时间段视频并且按帧对视频进行截取,清洗得到的帧数据,并将其以一定比例划分训练集、测试集和验证集,构建仔猪吃奶行为检测数据集。构建yolov4-tiny网络,并导入建立好的数据集进行yolov4-tiny仔猪--哺乳区目标检测模型。通过仔猪--哺乳区目标检测模型可以在仔猪出现吃奶行为时,检测出仔猪目标检测框与哺乳区目标检测框。根据仔猪目标检测框与哺乳区目标检测框的位置关系以及时序关系进行仔猪吃奶行为算法的建立。边缘计算部分首先通过摄像头采集实时视频数据传输给Jetson nano设备进行数据处理,Jetsonnano通过Deepstream框架对多路视频数据进行解码和切片处理,之后采用Tensorrt网络加速后的yolov4-tiny模型对处理后的数据进行推理检测,得出相应结果。随后根据处理结果自动化决策是否触发报警,同时通过网络节点,将处理后的数据传输至本地服务器和云服务器进行分类存储。在服务器中对每类的所属数据进行清洗和重组,把处理后的结果送至移动或PC端,完成用户端的可视化数据展示。通过该边缘计算模式下的仔猪吃奶行为监测系统能够对哺乳期仔猪的吃奶行为进行高效、准确的行为识别,满足智慧养殖的需求,同时在边缘计算模式下能够确保数据的安全性,防止中心服务器出现问题的情况下整体系统瘫痪的情况,减少可能带来的经济损失。

仔猪吃奶检测算法的设计

仔猪吃奶检测算法主要是使用yolov4-tiny为主干网络,通过yolov4-tiny算法识别仔猪与母猪哺乳区的目标检测框,根据两种检测框的不同位置关系以及时序关系,进行仔猪吃奶行为的判断。结合图2,设图片中某一只仔猪目标检测框的四个点分别为a、b、c、d,对应坐标为(X

Step1:采集母猪产床上的仔猪与母猪俯拍数据;

Step2:对数据进行清洗、筛选,删除无关图片,对图片进行标注,标注标签分别为仔猪与哺乳区域,仔猪目标以矩形框进行标注,哺乳区域以母猪为侧卧姿态时,前肢到后肢的腹部乳房区域进行标注,并根据8:2比例划分训练集与测试集图片,构建仔猪与母猪哺乳区域的目标检测数据集;

Step3:使用yolov4-tiny模型对数据集进行训练,以5000张数据集图片为例,epoch设置为20000,learning rate设置为0.0001。经过训练得到仔猪--哺乳区域目标检测模型;

Step4:使用仔猪--哺乳区域目标检测模型能够得到多个仔猪目标检测框与一个哺乳区域目标检测框;

Step5:每个仔猪目标检测框都存在一个中心,根据连续时间内的仔猪目标检测框中心位置变化幅度来判断仔猪是否在运动,例如连续5s内检测到仔猪目标检测框的中心点变化幅度超过10个像素点位置,则判定仔猪为运动状态,反之判定仔猪为休息状态。

设某个仔猪目标检测框的中心点坐标为

设(x,y)为前一帧的仔猪目标检测框的中心点坐标,(x',y')为后一帧的中心点坐标,则中心点坐标变化计算公式为

Step6:在判定仔猪为运动状态后,计算仔猪目标检测框与母猪哺乳区域目标检测相交面积s,设定相交面积/仔猪目标检测框面积大于设定阈值时判定为疑似吃奶行为,例如面积阈值为0.2,则相交面积/仔猪目标检测框面积大于0.2时,仔猪为疑似吃奶动作,反之为其他动作

计算两个目标检测框的相交面积的计算流程为,

首先对两个目标检测框的Y轴坐标(Y

假设排序结果为Y

Step7:检测到仔猪为疑似吃奶动作之后,通过仔猪目标检测框的长与哺乳区域检测框的长之间的夹角关系判定仔猪是否为吃奶行为,例如,设定阈值为30度,则仔猪目标检测框的长与哺乳区域检测框的长之间的夹角大于30度时,则判定为仔猪吃奶,反之为其它动作。夹角计算方法为:

选取Step6计算得到的一个交点坐标设为o,和两个检测框上对应的角点坐标c和B,o点坐标为:

oB向量为:

将o点坐标简化记为(X

根据角度计算公式即可得到:

∠o=arccos∠o{[(X

根据o点角度与所给定的阈值之间的关系,判断仔猪是否为吃奶行为。

边缘计算部分设计

边缘计算部分主要由图像采集和数据处理部分组成,结构框图如图4所示。

视频流数据在Jetson nano处理部分的流程如图5所示,对多路视频流的处理主要依托于Deepstream框架下提供的Decoder解码加速功能,由于嵌入式处理器相较于云服务器的算力差距较大,对当前的深度学习主流目标检测算法在嵌入式设备上的部署难以取得较好地实际运行效果,因此本专利采用模型体积较小的yolov4-tiny模型,同时利用Tensorrt框架对yolov4-tiny模型进行剪枝与运算加速,确保yolov4-tiny模型在Jetsonnano设备上的有效运行。

边缘计算部分首先通过获得多路摄像头的视频流数据,将多路视频流数据输入Jetson nano嵌入式设备进行处理。处理步骤为:

Step1:解析器解析输入多路视频流

Step2:汇总多路数据,排队等待数据切片

Step3:将转换好的Tensorrt模型导入Jetson nano的数据推理模块

Step4:推理器加载,依次处理切片后数据,绘制推理结果

Step5:对处理结果进行分析,决策是否执行本地预警/报警动作,并将处理结果进行打包准备发送到服务器存储。

网络传输部分设计

网络传输部分主要由网络传输节点和上位机组成,结构框图如图6所示。网络传输部分中,Jetson nano配置无线网卡模块,上位机与Jetson nano嵌入式设备接入统一网络节点,然后上位机利用SSH协议与Jetson nano设备进行通讯,并控制和读取Jetson nano实时状态。Jetson nano设备利用无线网络节点进行数据的传输和存储,同时向本地响应设备发送信号。

数据存储与数据可视化部分的设计

数据存储部分主要由本地服务器和云服务器组成,数据可视化部分主要由云服务器和客户端组成,结构框图如图7所示。

服务器主要用于视频数据的接收、存储以及传输,显示模块主要用于展示处理后的数据,包括移动端与网页端,能够提供实时数据以及历史数据的查询,提供个性化展示界面。相关模块结构图如图8所示。

数据存储部分主要是将Jetson nano处理完成的结构化数据存储到本地服务器和云服务器中,同时在云服务器中对结构化数据进行清洗去除无用的数据,之后对清洗后的数据进行重组,将重组后的数据发送至客户端,完成数据可视化。在云服务器中的数据操作流程如图9所示。

识别算法部署设计

Jetson nano嵌入式设备配备GPU,但算力相对于显卡级别只有0.5,若直接将相关深度学习模型移植到Jetson nano设备上将无法得到较好地处理效果,因此需要对相关模型进行剪枝与加速,采用NVIDIA开发的Tensorrt框架,将深度学习检测模型转换为Tensorrt框架下运行的格式,由于Jetson nano算力不足,模型训练依旧依托电脑主机进行,以Darknet框架为例,Tensorrt模型生成步骤如图10所示。

本文中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

相关技术
  • 基于边缘计算的仔猪吃奶行为监测系统
  • 基于边缘计算的哺乳期仔猪活动规律统计系统
技术分类

06120112340847