基于开源模型搭建实时人脸识别系统(八):优化逻辑

文章目录

  • 串行->并行
  • 多次识别
  • 高质量优先
  • 结语
  • 人脸识别系统项目源码

续 基于开源模型搭建实时人脸识别系统(七):人脸比对_CodingInCV的博客-CSDN博客
前面我们已经讲述了从人脸检测到人脸比对的整个技术,基于前面的这些技术,我们就已经能够实现人脸识别系统的主题功能:人脸检测得到人脸位置,通过人脸跟踪获取ID, 通过人脸关键点对齐人脸,提取人脸特征,到底库中检索。为了更好的体验和效果,我们还需要加入一些优化逻辑。

串行->并行

上面讲到的整个流程是串行的,存在一个问题就是人脸跟踪之后的步骤特别是人脸特征提取是比较耗时,而我们的人脸跟踪对于运动是比较敏感的。如果2帧之间相差时间太久,跟踪就可能丢失了。因此实现上,我们必须让2次人脸检测之间的间隔尽量短,至少应达到15fps。为了达到这个目标,我们需要将上述的过程分为两个独立的部分:一个部分只负责人脸的检测和跟踪,另一个部分其他部分。简单的方式是分为2个线程,跟踪线程将抓拍到的人脸放入识别队列,识别线程则从这个识别队列中获取人脸进行识别。

多次识别

由于底库照片和本人的差异以及现场适配的角度、光照等等影响,很容易出现识别失败。为了提高识别的成功率,可以对同一人进行多次识别,如设置一个人最多识别3次,3次都失败才认为不在库。当然这个功能依赖于较好的跟踪效果。

高质量优先

上面提到了多次识别,我们还可以结合质量,让识别队列按质量排序,对一个人的抓拍照永远保留质量最好的几张进行识别,当然这个依赖于较好的质量优选算法。

结语

除了上文提到的,还有一些其他的逻辑,如将抓拍照放到底库等,都要根据实际来调整。
至此,这个系列中的算法部分就讲完了,后面再介绍一下这个系统的使用就算阶段性结束了。

人脸识别系统项目源码

https://mbd.pub/o/bread/ZJyTmZty

你可能感兴趣的:(人脸识别,深度学习,计算机视觉,人工智能,pytorch,python,目标跟踪)