原因:Detection, Tracking and ID · Issue #367 · Smorodov/Multitarget-tracker · GitHub

看到了仓库更新了issue,其中有一个小、快目标的跟踪。学习一下作者的思路和效果,记录如下:


一、效果

目标大小:3~4pixel, 相机静止;鸟类或者苍蝇。
跟踪效果如下:

快速小目标的跟踪

1.1 检测算法:CNT

算法设置:使用的CNT

一些注意事项:

 

使用的是opencv的CNT背景提取算法 :介绍参考:Background Segment CNT - mysticalwing - 博客园

 

2.2 跟踪滤波:kalman速度约束>30pixel 

这个前提是:分配算法是OK的。kalman速度适应上了。

  Multitarget-tracker/trajectory.h at master · Smorodov/Multitarget-tracker · GitHub 

最小二乘法:根据轨迹,计算一个crammers 3*3的线性系统的crammers rule,如果mean>std,就把这个轨迹输出。
why?  不知道为什么这里是拟合的均方误差mean>std,作为限制输出的条件。目前还理解不了。但这种crammer法则求解 线性方程组的未知参数(线性拟合)的方式,还是第一次接触!

用最小二乘去估计出6个参数,从轨迹点中估计出6个参数,posx, vx, ax, posy, vy, ay。之前是估计速度v,所以是计算s与t的一个线性投影(最小二乘)。是两个变量之间的关系。

这里按照作者的意思是一个3*3的线性系统的crammer rule 法则。估计出的,就是一个参考值。

然后轨迹 - 参考值的偏差的均值和方差。如果均值在一个sigma的方差之外,那么就输出这个轨迹。

 

 基本上就是求一个线性方程组的意思:因为只有方程 S=S_0+v_0*t+\frac{1}{2}a*t^2想要求解,x0, vx0, ax三个参数,需要三个方程,所以就进行S*t和S*t^2

S*t=S_0*t+v_0*t^2+\frac{1}{2}a*t^3S*t^2=S_0*t^2+v_0*t^3+\frac{1}{2}a*t^4

所以就是用以后的所有数据进行利用,积分,就是求和。然后再将一个方程变成三个方程,然后求出来三个参数。


 参考网址:http://ah-engr.com/engr170/CramersRule3x3.pdf?feature=endscreen&NR=1&v=i6Umz2-1kbo​​​​​​

https://baike.baidu.com/item/%E5%85%8B%E8%8E%B1%E5%A7%86%E6%B3%95%E5%88%99/7211518  克莱姆法则,求矩阵行列式的。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐