❶ 计算机视觉中,目前有哪些经典的目标跟踪算法
古老的方法比如optical flow,kalman filter(后面的particle filter)……了解不多不瞎扯了
目前tracking主要是两种,discriminative 和 generative,当然也有combine两个的比如SCM。你提到的都是前者,就是算法里面基本有一个classifier可以分辨要追踪的物体。这类除了你说的最近比较火的还有速度极占优势的CSK(后来进化成KCF/DCF了)
另一种generative的方法,大致就是用模版(或者sparse code)抽一堆feature,按距离函数来匹配。L1,ASLA,LOT,MTT都是。
最近才开始了解tracking,所以说得可能并不是很对,仅供参考
❷ 光流法(optical flow methods)
光流法,即光学流,是计算机视觉中的关键技术,用于估计视频帧中像素随时间的变化,通常用于物体运动追踪和场景自运动分析。其核心是寻找图像中像素在连续帧之间的位移。
Lucas-Kanade方法是稀疏光流估计的经典算法,它基于亮度不变性和邻域光流相似性假设,通过最小化局部匹配误差求解光流。该算法利用角点检测(如Harris角点)来处理可逆像素,避免孔径问题。OpenCV中的cv.calcOpticalFlowPyrLK函数实现了这一过程,常用于特征点的追踪。
对于稠密光流,如Farneback算法,它通过多项式拟合邻域像素来提供更全面的像素级运动估计。OpenCV的cv2.calcOpticalFlowFarneback函数提供了稠密光流的计算,输出每个像素的位移,常用于图像稳定、视频处理等领域。
深度学习在光流估计中也有所贡献,如FlowNet/FlowNet2.0,这些神经网络模型如ICCV2015的FlowNet,通过端到端的学习直接预测光流,极大提升了估计精度。FlowNet2.0作为改进版,不仅性能优秀,且具有更快的计算速度,适用于实时应用。
光流在实际应用中广泛,如视频对象跟踪(如TLD算法)、视觉里程计(如VINS-Mono)和动作识别、视频插帧等,它通过像素级的运动信息,增强了视频内容的理解和处理能力。