APP下载

基于机器视觉的猪个体身份和行为识别

2021-02-23潘志针福建省农业科学院农业生物资源研究所福州350003

福建畜牧兽医 2021年1期
关键词:置信度像素点猪只

史 怀 陈 峥 潘志针 福建省农业科学院农业生物资源研究所 福州 350003

动物的采食、饮水、排泄等行为是判断其健康状况的重要依据, 例如日采食量的减少多是由于感染疾病而引起,是疾病的早期征兆[1]。 目前国内大多养殖场都是采用对特定观察群体的人工观察方式监测猪的个体行为,费时费力,而且人工观察的数据存在一定的主观性偏差。自动化系统检测具有无人干预、独立可靠和连续性强等优点, 是规模化养殖的发展趋势[2]。 随着信息技术的发展,生产者可通过自动化系统, 监测动物早期的行为变化并对监测数据进行智能分析,判断动物是否出现健康问题并迅速反馈,以便管理人员及时采取相应的处理措施。

传统自动化检测系统中, 猪的个体识别主要采用耳标射频识别(简称RFID)技术,但该技术在一定程度上会干扰猪只的正常生活[3],并且当多个RFID应答器接近于接收器时, 低频RFID 无法准确识别出特定个体[4]。 随着近几年机器视觉、深度学习技术的发展, 基于机器视觉的非接触式方案技术可行性越来越高,可以取代人工,完成更高效的日常养殖管理。

对群养猪排泄行为的研究表明, 猪具有定点排泄(墙角或圈栏一角)的生活习性,平时较少在排泄区停留[5]。 因此,本项目引入机器视觉技术,通过改建试验用猪舍,设定进食区和排泄区,分别在两个区域的正上方安装摄像头进行俯拍持续视频监控每头猪个体的采食、排泄活动(见图1),构建个体身份和行为识别系统。

1 系统方案设计

图1 识别系统视频监控布局示意图

选取一栏10 头左右、处于育肥期的猪进行试验研究。在方案中,需要考虑如下两个主要问题:(1)猪个体的身份识别;(2)猪个体的进食、排泄行为识别研究。

由于猪的非刚性特性, 猪在圈舍中有停停走走的运动模式, 同一头猪不同的姿势所提取的特征就不尽相同。以往的机器视觉方法做猪个体识别,通过猪个体的颜色、纹理、形状等融合特征进行识别,在实际应用中识别率往往不理想。 另外,颜色、纹理等特征的提取受光线的影响也较大。因此,本项目中提出在猪只的体表设置不同的数字标记方法, 结合猪只的轮廓等形状特征,进行猪个体的身份识别。

本项目设计选取10 头猪进行试验,采用最简单的0~9 数字标记。 数字标记的方向统一与猪只的头尾方向平行,见图2。

在实际应用中,可根据猪舍的猪只数量,决定编号的位数, 原理相同, 具有可扩展性。 具体流程见图3。

1)背景消除:通过改进的背景消除算法获得前景(猪只)的轮廓信息;

图2 数字标记示意图

图3 单一个体识别流程

2)区域分离:利用基于形态学的图像分析算法对猪个体进行分离, 获得图像中每头猪个体的区域和轮廓信息;

3)旋转校正:对每头猪个体的轮廓曲线计算最小外接矩形,得到猪只相对垂直位置的倾斜角,利用该倾斜角进行旋转校正;

4)标识识别:经旋转矫正后的标识是处于0 度或180 度方向, 利用训练好的卷积神经网络进行数字标识的检测和识别,选取超过置信度阈值的Top-1 类别,输出识别结果。

经过上述流程, 可以获得在图像视野内所有猪个体的ID 以及相应的姿态。 在此基础上,根据姿态(如猪头部与进食槽的区域重合度、猪尾部与排泄区的区域重合度)和在饮食区、排泄区的驻留时长,记录相应的进食和排泄行为。 系统的整体方案流程见图4。

2 算法介绍

2.1 背景消除 采用混合高斯模型GMM 进行背景建模。

1)首先将每个高斯的均值、方差,权值都设置为0,即初始化个模型矩阵参数。

2)采用视频中的T 帧用来训练GMM 模型。 对每一个像素而言, 建立其模型个数最大GMM_MAX_COMPONT 个高斯的GMM 模型。 当第一个像素来, 单独为其在程序中设置好其固定的初始均值、方差,并且权值设置为1。

3)非第一帧训练过程中,当后面来的像素值时,与前面已有的高斯的均值比较, 如果该像素点的值与其模型均值差在3 倍的方差内, 则任务属于该高斯。

4)当到达训练的帧数T 后,进行不同像素点GMM 个数自适应的选择。

在上述背景消除的基础上, 以正常猪体面积的20%为基准, 去除掉图中面积小于20%猪体面积的连通域,剔除结果就只剩下大面积的猪体。

图4 系统整体方案流程

2.2 区域分离 为了尽量保持猪体轮廓且有效分开粘连猪体,使每个猪体成为单一的连通域,对图像进行形态学预处理。 采用不同形状的开运算结构元素进行形态学开运算,可以用圆形、方形、菱形和斜45°线型的结构元素进行开运算。

2.3 旋转校正 提取该猪体的连通域(连通域内像素点值为1,背景为0),遍历连通域中所有像素点,找到所有与背景八邻域相接的像素点, 生成猪体边缘像素点集, 得到图5 所示轮廓曲线。 对轮廓曲线计算最小外接矩形。

图5 猪体轮廓曲线与旋转校正

图中的θ 即为所求得的旋转角度, 根据该旋转角度, 可以通过旋转矫正将所有猪个体的形态都旋转到垂直方向。注意:由于未区分猪头、猪尾,所以旋转后的图像上显示的标识可能是正方向, 也可能是180 度反方向,但无碍进行下个步骤的标识识别。

2.4 标识识别 随着近几年深度学习技术的发展,以卷积神经网络为代表, 在图像分类和目标检测领域获得了长足的进步。 在目标检测领域,以RCNN、YOLO、SSD 为代表, 检测精度mAP 一直持续提高。本文综合考虑性能和速度的权衡,采用SSD 框架进行猪背上数字标识的检测, 检测的结果会输出标识的位置和类别(0~9 数字,共10 类)。

在具体试验中, 本文利用i7 CPU,GTX1080 显卡,在ubuntu 系统下,采用Caffe 深度学习框架(见图6),采集2 000 张试验场景图片,并进行检测框的标注后训练得到相关模型。

图6 Caffe 深度学习框架

图7 不同生猪个体行为明细记录界面

图8 异常行为报警记录

根据识别结果, 可以同时确定猪头和猪尾在图像中的具体位置,便于下一步的进食、排泄行为识别。

2.5 进食、排泄行为识别 前述工作完成了对每头进入拍摄视野的猪个体的ID 识别, 在此基础上,通过如下两个规则来确定猪是否完成了进食或排泄行为。

对于进食行为,若满足情况:(1)猪头部与进食槽的重合度IOU 超过置信度; 置信度设为0.6;(2)猪在进食区的单次驻留时长超过10 秒。则输出进食时间、时长,并将进食行为记录数+1。

对于排泄行为,若满足情况:(1)猪尾部与排泄区的重合度IOU 超过置信度; 置信度设为0.6;(2)猪在排泄区的单次驻留时长超过10 秒。则输出排泄时间、时长,并将排泄行为记录数+1。

3 验证结果与分析

以福建省农业科学院渔溪微生物发酵床大栏养殖工程化实验室菜猪场的2 栏20 头育肥猪为验证对象,在自由采食条件下监控其进食与排泄行为(见图7)。验证期从2019 年5 月1 日至6 月30 日,在此期间,共检测出疑似患猪17 头次,经检验实际患病15 头次,本系统预测准确率为88.23%,基本达到了预期目标。 选取期间检测到的出现异常行为的报警示例见图8。

在系统中监测到某头生猪24 h 内进食或排泄次数超出设置阈值,即将其确定为疑似患猪,并进行报本文设计了一种远程智能化监测识别生猪行为的方法,可以对疑似患猪进行预判,在减轻养殖人员巡栏工作量的同时,可尽量避免养殖企业的经济损失。

猜你喜欢

置信度像素点猪只
猪气喘病的防治措施分析
基于数据置信度衰减的多传感器区间估计融合方法
深度学习在猪只饲养过程的应用研究进展
基于姿态与时序特征的猪只行为识别方法
一种基于定位置信度预测的二阶段目标检测方法
基于局部相似性的特征匹配筛选算法
猪打架的防治以及养殖技术
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位