人脸识别之目标追踪识别
1.开发工具
Python版本:Anaconda 3.8环境
开发软件:Pycharm社区版
相关模块:sys模块,pypinyin模块,os模块,opencv-contrib-python 模块,opencv-python模块。
模型:cv2中自带的人脸识别模型
2.环境搭建
安装Anaconda并将路径添加到环境变量,创建python虚拟环境,安装Pycharm并将路径添加到环境变量,使用pip安装需要的相关模块即可。
3.原理介绍
目标追踪的人脸识别是改进后的人脸识别算法,通过第一帧进行人脸模型的判定,当检测到人脸时,通过在人脸上画框,以这一张图片为基准,在接下来的视频中将会自动追踪刚刚识别到的人脸。
4.优点
由于只是从第一张检测到人脸的视频帧中使用了模型,在后续的视频中都是自动追踪人脸,大大的减少了每一帧图片处理时使用模型的时间,使得视频更快更流畅。
5.代码流畅分析介绍
导入相关模块

定义一个函数,在函数中写入代码

通过这段代码创建追踪器

存在人脸时将第一张人脸设为模板,进行目标检测

当视频流存在时继续追踪,不存在时退出循环

完整代码展示

import sys
import pypinyin
import os
import cv2def zhui_zong():count = 0(major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')print(major_ver, minor_ver, subminor_ver)faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")# 创建跟踪器tracker_type = 'MIL'tracker = cv2.TrackerMIL_create()# 读入视频video = cv2.VideoCapture("1.mp4")# 读入第一帧ok, frame = video.read()if not ok:print('Cannot read video file')sys.exit()# 定义一个bounding boxgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)faces = faceCascade.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=5,minSize=(30, 30),flags=cv2.CASCADE_SCALE_IMAGE)if list(faces):for (x, y, w, h) in faces:bbox = (x, y, w, h)print(bbox)ok = tracker.init(frame, bbox)while True:ok, frame = video.read()if not ok:break# Start timertimer = cv2.getTickCount()# Update trackerok, bbox = tracker.update(frame)# Cakculate FPSfps = cv2.getTickFrequency() / (cv2.getTickCount() - timer)# Draw bonding boxif ok:p1 = (int(bbox[0]), int(bbox[1]))p2 = (int(bbox[0] + bbox[2]), int(bbox[1] + bbox[3]))cv2.rectangle(frame, p1, p2, (255, 0, 0), 2, 1)else:cv2.putText(frame, "Tracking failed detected", (100, 80), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 0, 255), 2)# 展示tracker类型cv2.putText(frame, tracker_type + "Tracker", (100, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (50, 170, 50), 2)# 展示FPScv2.putText(frame, "FPS:" + str(fps), (100, 50), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (50, 170, 50), 2)# Resultcv2.imshow("Tracking", frame)# Exitk = cv2.waitKey(1) & 0xffif k == 27:breakif __name__ == '__main__':zhui_zong()

运行效果展示,速度快了许多倍

人脸识别之目标追踪识别相关推荐

  1. ReID:无监督及领域自适应的目标重识别概述

    无监督(unsupervised)及领域自适应(domain adaptive)的目标重识别是目标重识别领域中两个重要的研究方向,同时二者又关系密切.本文中部分配图和内容参考葛艺潇:无监督及领域自适应 ...

  2. 基于yolov5框架实现人流统计(目标检测算法、目标追踪算法以及越界识别功能)+手机获取统计人数

    主要实现的AI算法有:目标检测.目标追踪 主要实现AI算法功能:越界识别功能(主要是获取统计人流量) 平台:基于Aidlux平台 基础库安装: (1)lap安装: 先sudo apt-get upda ...

  3. github优秀项目分享:基于yolov3的轻量级人脸检测、增值税发票OCR识别 等8大项目...

    点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 文章来源:七月在线实验室 01  yolo-face-with-landmark ...

  4. 全球首个开源图像识别系统上线了!人脸、商品、车辆识别一网打尽!

    父老们,乡亲们! 你知道人脸.商品.车辆识别,以图搜图乃至自动驾驶,背后的技术是什么吗? 起初我觉得不就是图像分类.目标检测这些东西嘛,有什么难的?但能熟练这些应用的BAT高级工程师们都轻松年薪百万, ...

  5. 京东发布FastReID:目前最强悍的目标重识别开源库!

    京东AI研究院近日发布了基于PyTorch的目标重识别(ReID)开源库 FastReID ,其不仅对相关领域的研究有帮助,而且对工程部署有优化,在各大数据集上的评测结果惊人,其今天公布的论文 Fas ...

  6. 首次!阿里达摩院将Pure Transformer 应用于目标重识别ReID!

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:Sophia 知乎 https://zhuanlan.zhihu.com/p/401450756 AI博士笔记 ...

  7. 家庭服务机器人的人脸检测、跟踪与识别研究

    摘要:本文介绍了一个用于家庭服务机器人完成人脸检测.跟踪.识别的双目视觉系统.该系统首先采用人脸肤色模型结合相似度来检测人脸:然后通过基于颜色信息的CAMSHIFT算法跟踪运动的人脸:最后利用嵌入式隐 ...

  8. 人脸、商品、车辆识别一网打尽!

    父老们,乡亲们!你知道人脸.商品.车辆识别,以图搜图乃至自动驾驶,背后的技术是什么嘛? 起初小编觉得不就是图像分类.目标检测这些东西嘛,有什么难的?但能熟练这些应用的BAT高级工程师们都轻松年薪百万, ...

  9. Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集)

    Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集) 目录 Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集) 1.戴口罩识别的方法 (1)基于多类别 ...

最新文章

  1. 新网站是如何吸引蜘蛛进行爬取的?
  2. 三年0故障是如何做到的?
  3. leetcode 566. 重塑矩阵(Java版,坐标转换)
  4. golang操作postgresql数据库jsonb类型
  5. 当我们谈论生信的时候我们在谈什么
  6. 使用拷贝的方式(adb push) 绕过Android系统和adb install直接安装APK
  7. C#中的文件操作 (一)
  8. 养一辆最新的奥迪Q7一年要花费多少钱?
  9. codeforces 816 E. Karen and Supermarket(树形dp)
  10. kingcms php 排序 标签,Phpcms v9 如何设置排序listorder
  11. 雷电3和Type C区别
  12. SAP傻瓜式安装教程
  13. 应试教育——人性的扼杀
  14. 简易http服务器的实现(实现)httpserver.c
  15. cpuz测试分数天梯图_2018年9月CPU天梯图 桌面级处理器天梯图最新版
  16. windows无法格式化u盘_U 盘格式化提示 windows 无法完成格式化的解决办法
  17. 小米刷機LineageOS
  18. 准备使用Office 365中国版--购买
  19. post_thumbnail_html,使用WordPress函数the_post_thumbnail_url()获取特色图片缩略图URL
  20. OpenLayers基础教程——常规的地图控件

热门文章

  1. [uni-app]聊天App实例
  2. Git更换关联的远端分支
  3. mac下的免费UML建模工具
  4. C#中什么是类,类和对象的关系,类的访问修饰符?
  5. 控制文件的备份与还原
  6. JSP的四大作用域及属性范围
  7. 浅析jQuery删除节点的三个方法
  8. java scanner的hasnext,Java Scanner hasNext()方法
  9. DAO:可及性与问责制、分权与效率 、开放与控制的三大权衡
  10. 数据库----------约束、主键约束