实现的功能
之前做的实时多个人脸跟踪,现在记录一下。
摄像头检测到多个人脸,再进行跟踪。
现有问题:如果直接调用opncv的人脸跟踪,耗时多,无法做到实时。
具体实现过程
分为两个步骤:1.选base 2. 做优化
1.选用MOT算法,作为base
python环境下做实验
对 Sort、DeepSort、BoT-Sort等几个MOT算法,拍摄自己需要实现场景下的视频,做实验
发现其中某个算法效果最佳。
2.进行优化
找到此算法相关论文和公开的代码
在相关设备上跑通代码(C++)
遇到的问题:
A.公开的代码是对多个boby进行track
需要优化,用了一个方案(小技巧),使其可以对face进行track
还有参数进行调节
B.代码中有个耗时操作处理方式,去掉
C. 本来方案中有lost face的处理
就是人脸被遮挡后又重现,可以继续跟踪
通过调参,可以跟踪到人脸出了镜头后,又进入的场景跟踪
(这里不能用保存人脸特征,进入后再对比人脸特征的方式,用此方式,耗时多,无法做到实时)
写在最后
MOT(追踪人脸)的实现,难点在于做到实时,不同场景会遇到不同问题,遇到问题,然后解决,就OK了~~~