人脸识别之目标追踪识别
人脸识别之目标追踪识别
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()
运行效果展示,速度快了许多倍
人脸识别之目标追踪识别相关推荐
- ReID:无监督及领域自适应的目标重识别概述
无监督(unsupervised)及领域自适应(domain adaptive)的目标重识别是目标重识别领域中两个重要的研究方向,同时二者又关系密切.本文中部分配图和内容参考葛艺潇:无监督及领域自适应 ...
- 基于yolov5框架实现人流统计(目标检测算法、目标追踪算法以及越界识别功能)+手机获取统计人数
主要实现的AI算法有:目标检测.目标追踪 主要实现AI算法功能:越界识别功能(主要是获取统计人流量) 平台:基于Aidlux平台 基础库安装: (1)lap安装: 先sudo apt-get upda ...
- github优秀项目分享:基于yolov3的轻量级人脸检测、增值税发票OCR识别 等8大项目...
点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 文章来源:七月在线实验室 01 yolo-face-with-landmark ...
- 全球首个开源图像识别系统上线了!人脸、商品、车辆识别一网打尽!
父老们,乡亲们! 你知道人脸.商品.车辆识别,以图搜图乃至自动驾驶,背后的技术是什么吗? 起初我觉得不就是图像分类.目标检测这些东西嘛,有什么难的?但能熟练这些应用的BAT高级工程师们都轻松年薪百万, ...
- 京东发布FastReID:目前最强悍的目标重识别开源库!
京东AI研究院近日发布了基于PyTorch的目标重识别(ReID)开源库 FastReID ,其不仅对相关领域的研究有帮助,而且对工程部署有优化,在各大数据集上的评测结果惊人,其今天公布的论文 Fas ...
- 首次!阿里达摩院将Pure Transformer 应用于目标重识别ReID!
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:Sophia 知乎 https://zhuanlan.zhihu.com/p/401450756 AI博士笔记 ...
- 家庭服务机器人的人脸检测、跟踪与识别研究
摘要:本文介绍了一个用于家庭服务机器人完成人脸检测.跟踪.识别的双目视觉系统.该系统首先采用人脸肤色模型结合相似度来检测人脸:然后通过基于颜色信息的CAMSHIFT算法跟踪运动的人脸:最后利用嵌入式隐 ...
- 人脸、商品、车辆识别一网打尽!
父老们,乡亲们!你知道人脸.商品.车辆识别,以图搜图乃至自动驾驶,背后的技术是什么嘛? 起初小编觉得不就是图像分类.目标检测这些东西嘛,有什么难的?但能熟练这些应用的BAT高级工程师们都轻松年薪百万, ...
- Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集)
Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集) 目录 Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集) 1.戴口罩识别的方法 (1)基于多类别 ...
最新文章
- 新网站是如何吸引蜘蛛进行爬取的?
- 三年0故障是如何做到的?
- leetcode 566. 重塑矩阵(Java版,坐标转换)
- golang操作postgresql数据库jsonb类型
- 当我们谈论生信的时候我们在谈什么
- 使用拷贝的方式(adb push) 绕过Android系统和adb install直接安装APK
- C#中的文件操作 (一)
- 养一辆最新的奥迪Q7一年要花费多少钱?
- codeforces 816 E. Karen and Supermarket(树形dp)
- kingcms php 排序 标签,Phpcms v9 如何设置排序listorder
- 雷电3和Type C区别
- SAP傻瓜式安装教程
- 应试教育——人性的扼杀
- 简易http服务器的实现(实现)httpserver.c
- cpuz测试分数天梯图_2018年9月CPU天梯图 桌面级处理器天梯图最新版
- windows无法格式化u盘_U 盘格式化提示 windows 无法完成格式化的解决办法
- 小米刷機LineageOS
- 准备使用Office 365中国版--购买
- post_thumbnail_html,使用WordPress函数the_post_thumbnail_url()获取特色图片缩略图URL
- OpenLayers基础教程——常规的地图控件