束平 吴洪昊 孙娟 唐晓东
摘要 为推进农业信息化,实现猪的智能化养殖以及对多猪只的智能跟踪,设计猪只检测阶段和跟踪阶段。在检测阶段,该设计提出了基于高斯混合建模和均值分割算法相结合的信息融合算法,有效地解决猪只静止或运动缓慢以及背景噪声对检测结果的影响;在跟蹤阶段,传统粒子滤波算法并不能对猪只重叠进行运动跟踪,对重要性粒子滤波结果进行序列化,并将其结果利用KNN算法进行轨迹跟踪。最后进行了处理试验,结果显示算法真实有效。该成果可用于猪只养殖信息化。
关键词 农业信息化;猪养殖;目标跟踪
中图分类号 S-058 文献标识码 A 文章编号 0517-6611(2021)16-0230-03
doi:10.3969/j.issn.0517-6611.2021.16.060 开放科学(资源服务)标识码(OSID):
Pig Tracking Based on Improved Particle Filter Algorithm
SHU Ping, WU Hong-hao, SUN Juan et al
(Yancheng Bioengineering Branch of Jiangsu Union Technical Institute, Yancheng, Jiangsu 224051)
Abstract To promote agricultural informatization and to realize intelligent pig breeding and intelligent tracking of pigs, two stages were designed, which were pig detection stage and tracking stage. In the detection phase, the information fusion algorithm based on Gauss mixture modeling and mean segmentation algorithm was proposed to effectively solve the influence of pig static or slow motion and background noise on the detection results. In the tracking stage, the traditional particle filter algorithm could not track the overlap of pigs and was of great importance. The results of particle filter were serialized, and the KNN algorithm was used to track the trajectory. Finally, the processing experiments were carried out. The results showed that the algorithm was real and effective. The results could be used in pig farming informatization.
Key words Agricultural informatization;Pig breeding;Target tracking
农业信息化是整个农业发展的趋势,每头猪的信息从出生到死亡的每一件事都记录在与其对应的唯一号码上,相当于身份证一样,因此对猪运动信息的跟踪也就显得尤为重要。由于猪是一种社会性动物,猪通过打架来分出社会地位,由于猪只运动的复杂性,普通的车辆跟踪算法无法对多猪只进行轨迹跟踪,鉴于此,笔者介绍了基于信息融合的猪只检测算法和结合粒子滤波的猪只踊跃算法,从猪只检测和猪只跟踪2方面进行改进,一方面利用图像信息融合算法实现了猪只的精确检测,另一方面利用重样性粒子滤波的序列化对猪只的运动轨迹进行跟踪,解决了猪只重叠等问题。
1 基于信息融合的猪只检测算法
目前针对目标检测算法有很多,如高斯混合建模(GMM)、均值(Mean shift)分割算法、背景差分法等[1-2],而高斯混合建模通过统计视频图像中各个点的像素值获取背景模型,最后利用背景减除的思想提取出运动目标,可以避免单纯背景差分法带来的“背景空洞”,但是在猪只运动缓慢和静止状态下无法检测出结果,Mean shift分割算法又存在过分割象。
1.1 改进的检测算法
该研究提出了一种将高斯混合建模和Mean shift分割算法,巧妙地解决了目标检测问题。具体步骤如下:
(1)设定初始帧仅包含背景不含目标,用来防止猪的静止或缓慢运动的情况,如果相邻两帧视频的差分结果为0,让当前帧视频与初始帧视频作差分提取结果,设定检测阈值,当检测结果太小时,视为背景噪声,如猪的粪便、光照的变化等。
(2)将GMM算法和Mean shift分割算法的结果进行二值化,分别记为FG( i )、FM( i),其中i 为视频帧序号,并对结果进行二值化。
(3)在均值分割算法结果FM( i )中,利用两遍扫描法,检测并扫描白色像素点的位置,并记录像素个数为M( j ),其中 j 为区域的序号。
(4)统计GMM算法处理结果中像素个数,碰到低于阈值的情况,令FG( i )= FG( i -1)。
(5)在FM( i )区域找出相应FG( i )区域内的白素像素点个数,记为G( j ),令 μ=G(j)/ M(j),设置阈值μ*,当μ>μ*时,为有效区域,否则为黑色,该研究中μ*=0.35 ,该值为试验判断值。
1.2 试验与分析
在matlab上进性了验证性试验,并导出相关处理结果,如图1。图1 为提取的视频图像中第12、21、34、67帧的图片,图2为高斯混合建模检测结果,猪的部分形状存在缺失现象,原因是猪存在运动缓慢或者静止现象。
图3为均值分割算法的结果,很明显检测精确度不高。图4经过信息融合的结果。可以看出经过改进,对目标的检测效果较好,改进的算法具备很好的检测效果。
2 结合粒子濾波的猪只跟踪算法
将粒子滤波器根据当前位置预测下一位置的结果,来修正猪只跟踪时2头猪因为距离太近而跟踪失败的问题和2只猪交错跟踪的问题。
2.1 粒子滤波算法[3-4]
假设 D 为 n 维空间 Rn的1个子集,p(x)是概率密度函数,则p(x)满足∫ Rnp(x) d x=1且p(x)≥0。定义:
I=∫ Dg(x)p(x) d (x)(1)
式中,如果D有界,则I为g(x)的数学期望,即I=E[g(x)]。
假设样本之间相互独立记{x i}N其中N表示样本个数,令g(x)=x,则g(x)的平均值g(x)为:
g(x)=N i-1g(x i)(2)
当N→∞时,g(x)与I近似相等,即:
lim n→∞1NN i-1g(x i)= lim g(x)=I
(3)
假设后验概率密度为p(x 0:k|z 1:k),其对应的参数为x 0:k,根据概率论,可求数学期望[5]:
E(g(x 0:k))=∫g(x 0:k)p(x 0:k|z 1:k) d x 0:k(4)
期望的估计值为:
E(g(x 0:k))=1NN i-1g(xi 0:k)(5)
当N→∞,E(g(x 0:k))绝对收敛即:
∫g(x 0:k)p(x 0:k|z 1:k) d x 0:k≈1NN i-1g(xi 0:k)(6)
2.2 引入重要性采样的粒子滤波
由于 p(x 0:k|z 1:k) 的存在,人们往往无法在实际中应用。为了解决这一问题,引入重要性采样函数,然后进行相应的粒子滤波[6-7]。因此期望公式可表示为:
E(g(x 0:k))=1NN i-1g(xi 0:k)w k(xi 0:k)1NN i-1w k(xi 0:k)
=N i-1g(xi 0:k)w k(xi 0:k)(7)
2.3 对重要性采样粒子滤波结果的序列化
序列化粒子滤波的原理是基于状态独立性的假设,即任意状态之间互相独立。根据重要性权重的计算公式[8-9]结合递归的方法,进行如何计算:
p(z 1:k|x 0:k)p(x 0:k)q(x 0:k|z 1:k)=w k(x 0:k)(8)
定义如下的递归计算形式:
q(x 0|z 1:k)=q(x 0:k-1|z 1:k-1)q(x k|x 0:k,z 1:k)(9)
可以得出:
w k=w k-1p(z 1:k|x 0:k)p(x 0:k)p(x 0:k-1|z 1:k-1)q(x k|x 0:k,z 1:k)
=w k-1p(z k|x k)p(x k|x k-1)q(x k|x a:k-1,z 1:k)
(10)
根据贝叶斯概率统计论,对递归得到的公式(9)其进行近似,此时粒子xi k的权值wi k可表示为:
xi k=wi k-1p(z k|xi k)p(xi k|xi i-1)q(xi k|xi k-1,z 1:k)
(11)
2.4 结合最近邻法则的粒子滤波算法
最近邻法则(k-Nearest Neighbor,KNN)kNN算法的核心思想是如果1个样本在特征空间中的 n 个最相邻的样本中的大多数属于1个类别,则该样本也属于这个类别,并具有该类别上样本的特征[10]。该方法在确定分类决策上,只依据最近邻的1个或者几个样本的类别来决定待分样本所属的类别。对于单只猪很有效,但在2只猪靠的比较近时容易检测为1只猪,从而影响目标检测和轨迹跟踪。
该研究对视频中相邻两帧之间的检测结果不再进行对应,而是将根据第 i帧图像的预测第i+1帧图像的结果与第i+1帧的真实结果进行滤波融合从而精确绘制出目标的运动轨迹。
利用粒子滤波算法对猪的运动状态进行跟踪,并进行预测,方便后期的信息融合。该研究中粒子的位置就是目标的位置,粒子的权重代表猪的相似程度,设定矩形窗口标记猪,长为猪的身长,记 H x,宽为猪的身高记W y因此,状态向量可定义为:
x k=[x,y,H x,W y](12)
式中,(x,y)表示坐标,根据粒子滤波算法的初始状态方程形式可以将状态转移方程定义为[11]:
x k=Ax k-1+Bw k-1(13)
式中,w k-1表示高斯随机噪声,w k-1∈N(0,σ x),σ x是标准正态分布。在公式(12)、(13)中,权重系数由运动目标的运动性决定,为了进一步描述权重与目标运动之间的关系,添加一个可以衡量这种关系的计算公式:
BC (p,q)= x∈Xp(x)q(x)(14)
式中,p(x)为粒子颜色分布,q(x)为目标颜色分布。粒子权重为:
w=1 2π σ exp -1- BC (p,q)2σ2(15)
式中,σ为高斯方差,一般取2.0。
2.5 试验与结果
试验代码在matlab 2016版本运行,导入试验视频,文中列出跟踪试验结果中第35、121、289、321帧的4帧图片及处理结果见图5、6、7、8。
试验中,3只猪分别采用实线、虚线、虚实线框对猪只进行跟踪标记。图5第35帧的时候猪很自然地被分割开,并进行跟踪。图6、7第121、289帧,猪运动到图上某一位置并遮挡了另外2头的豬的部分身体,但是处理结果依然将被遮挡的猪标记出来。图8第321帧,其中1只猪离开了视频的监控范围,但从处理结果上看,对另外2头猪的跟踪并没有发生误检。
图9中为结合KNN算法在matlab上绘制出的猪的运动轨迹图像,白色点为最终实线框跟踪的猪只运动轨迹,三角点为虚线框跟踪的猪只运动轨迹,正方形点为虚实线框跟踪的猪只运动轨迹。从图9可以发现,尽管图像中猪只发生了重叠遮挡,但是依然具有很好的轨迹预测、跟踪能力,综上所述,该算法已经具备对多猪只跟踪的能力,并且鲁棒性较强。
3 结语
随着农业信息化的不断发展,智能化养殖是养殖产业转型升级的推进器,该研究主要针对猪的运动轨迹跟踪展开,从以下2个方面进行:①猪的运动检测。在分析传统检测算法的前提下,结合猪舍实际的背景环境,提出GMM和Mean shift相结合的算法,通过两边扫描法成功提取猪目标,并进行了试验对比,验证了算法的可行性。②猪的运动跟踪。在精确提取目标的前提下,针对猪只重叠的情况进行运动跟踪。该研究发现传统粒子滤波算法并不能解决该问题,但是对重要性粒子滤波结果进行序列化,并将其结果利用kNN算法进行轨迹跟踪,最后通过matlab进行了处理试验,通过试验中的跟踪结果图可以看出,算法真实有效,可以完成多猪只的跟踪任务 。
该研究可应用于猪只智能养殖系统,推动产业的转型升级。鉴于当前猪只养殖的自动化程度还不高,数据模型不完善,特别是在对猪的病情诊断方面,仍然需要人工来完成。下一步将利用卷积神经网络技术学习不同病情猪叫声的样本数据,形成训练模型,从而可对猪的病情进行判断。
参考文献
[1] 胡坚强,舒志兵.基于均值偏移与粒子滤波融合的目标跟踪算法研究[J].电子器件,2019,42(3):706-711.
[2] 杨伟明,赵美蓉,黄银国,等.基于空间分布和时间序列分析的粒子滤波算法[J].电子学报,2017,45(2):300-306.
[3] WANG Z L,HOU Q Y,HAO L.Improved infrared target-tracking algorithm based on mean shift[J].Applied optics,2012,51(21):5051-5059.
[4] CHEN K L,GE W C.Pedestrian tracking algorithm based on Kalman filter and partial mean-shift tracking[C]//The 2014 2nd International Conference on Systems and Informatics.Shanghai,China:IEEE,2015:253-256.
[5] 于青青,张可,唐恒亮,等.基于视频跟踪轨迹的全过程路侧停车行为检测与识别技术[J].计算机与现代化,2017(9):67-73.
[6] 姚明明.高速公路隧道停车检测中的车辆跟踪及状态识别方法研究[D].重庆:重庆大学,2014.
[7] WANG N Y,SHI J P,YEUNG D Y,et al.Understanding and diagnosing visual tracking systems[C]//2015 IEEE International Conference on Computer Vision.Santiago,Chile:IEEE,2015:3101-3109.
[8] 吴定会,孔飞,纪志成.鸡群算法的收敛性分析[J].中南大学学报(自然科学版),2017,48(8):2105-2112.
[9] 王宇霞,赵清杰,蔡艺明,等.基于自重构粒子滤波算法的目标跟踪[J].计算机学报,2016,39(7):1294-1306.
[10] 郑浩,董明利,潘志康.基于图像分类与多算法协作的目标跟踪算法[J].计算机工程与应用,2018,54(4):185-191.
[11] 许多行.智慧健康服务平台设计及关键技术[D].南京:南京邮电大学,2015.