人脸跟踪开源项目

2023-10-29

https://github.com/xiangdeyizhang/FaceTrack_ncnn_HyperFT
https://github.com/qaz734913414/Ncnn_FaceTrack

 

Ncnn_FaceTrack

基于mtcnn人脸检测+onet人脸跟踪,在i7-9700k的cpu检测速度可高达250fps

开发环境

win7

vs2015

开源框架

引用

HyperFT

这是一个移动端快速视频多人脸跟踪的开源项目,这个项目是基于mtcnn人脸检测加上最简单的模板匹配进行人脸跟踪的,算法简单但效果显著,移动端速度可以达到150帧以上,该项目的特点是可实现多人脸跟踪。

代码算法解析

HyperFT项目的多人脸跟踪算法分三大部分:

第一部分是初始化,通过mtcnn的人脸检测找出第一帧的人脸位置然后将其结果对人脸跟踪进行初始化;

第二部分是更新,利用模板匹配进行人脸目标位置的初步预判,再结合mtcnn中的onet来对人脸位置进行更加精细的定位,最后通过mtcnn中的rnet的置信度来判断跟踪是否为人脸,防止当有手从面前慢慢挥过去的话,框会跟着手走而无法跟踪到真正的人脸;

第三部分是定时检测,通过在更新的部分中加入一个定时器来做定时人脸检测,从而判断中途是否有新人脸的加入,本项目在定时人脸检测中使用了一个trick就是将已跟踪的人脸所在位置利用蒙版遮蔽起来,避免了人脸检测的重复检测,减少其计算量,从而提高了检测速度。

算法改进的思路(加入五个关键点的跟踪)

1、在HyperFT项目中的Face类中仅定义了人脸矩形的变量,如若需要加入五个关键点的跟踪则需要在Face类中需要定义一个Bbox类faceBbox,这样Face即能保存人脸位置又能保存人脸关键点。

2、在原来的doingLandmark_onet函数的基础上重载函数,将传入的std::vector< cv::Point > &pts改为传入Bbox& faceBbox。

3、在tracking函数中修改doingLandmark_onet函数的调用

4、通过人脸跟踪中Face类中的faceBbox即可获得人脸的位置及其五个人脸关键点(main.cpp)

相关文章

1、快速目标跟踪方法总结

2、人脸跟踪开源项目HyperFT代码算法解析及改进

3、HyperFT项目安卓端的环境搭建及编译的图解教程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人脸跟踪开源项目 的相关文章

  • HoloLens 2开发:Pcx 渲染点云单眼显示问题

    前言 最近有新成员加入本团队 为了方便其开发HoloLens1 HoloLens2 将不定时更新HoloLens相关开发相关内容 软件需求 HoloLens 1 VS2017 Unity2017 HoloLens 2 VS2019 Unit
  • 【生成式网络】入门篇(二):GAN的 代码和结果记录

    GAN非常经典 我就不介绍具体原理了 直接上代码 感兴趣的可以阅读 里面有更多变体 https github com rasbt deeplearning models tree master pytorch ipynb gan GAN 在
  • 深度学习知识体系学习大全 牛!!

    搬来了大牛的博客 点击直接前往 https www yuque com angsweet machine learning jian jie 配一张大牛的思维导图 具体内容点进去都能看到 数学 机器学习 语言 算法 深度学习 书籍推荐 东西
  • 深度学习网络篇——VGGNet(Part1 网络结构&训练环节)

    我们上篇文章了解了一下NIN 接下来我们来了解一下VGGNet 可以说是另一波的跪舔和膜拜 VGGNet主要是分为两篇文章 第一篇文章来分享一下VGGNet的网络结构还有训练环节 第二篇文章是分享VGGNet做的分类实验和总结 此为第一篇
  • Pytorch中计算自己模型的FLOPs

    转自 Pytorch中计算自己模型的FLOPs thop profile 方法 yolov5s 网络模型参数量 计算量统计 墨理学AI CSDN博客 Pytorch 用thop计算pytorch模型的FLOPs 简书 安装thop pip
  • 深度学习之图像分类(一)--分类模型的混淆矩阵

    深度学习之图像分类 一 分类模型的混淆矩阵 深度学习之图像分类 一 分类模型的混淆矩阵 1 混淆矩阵 1 1 二分类混淆矩阵 1 2 混淆矩阵计算实例 2 混淆矩阵代码 3 混淆矩阵用途 深度学习之图像分类 一 分类模型的混淆矩阵 今天开始
  • tiny-cnn执行过程分析(MNIST)

    在http blog csdn net fengbingchun article details 50573841中以MNIST为例对tiny cnn的使用进行了介绍 下面对其执行过程进行分析 支持两种损失函数 1 mean squared
  • Android平台深度学习--NNAPI

    转自 http blog sina com cn s blog 602f87700102y62v html 1 Android 8 1 API 27 NNAPI 人工智能神经网络API 如 TensorFlow 神经网络 API 能够向设备
  • 深度学习论文:Deep Residual Learning for Image Recognition

    论文 He Kaiming et al Deep residual learning for image recognition Proceedings of the IEEE conference on computer vision a
  • Deep Learning Tutorials(一):开头语

    万事开头难 当你开始看这些时候 有可能你已经开始了研究生生活 不在像本科时候过着那种得过且过 考试不挂科的日子 你整天盲目 漫无目的的过日子实际上是在浪费自己的生命 所以坚持每天进步吧 回到正事 你可能开始从事深度学习研究或者有关机器学习方
  • 几乎最全的中文NLP资源库

    NLP民工的乐园 The Most Powerful NLP Weapon Arsenal NLP民工的乐园 几乎最全的中文NLP资源库 词库 工具包 学习资料 在入门到熟悉NLP的过程中 用到了很多github上的包 遂整理了一下 分享在
  • 基于Lasagne实现限制玻尔兹曼机(RBM)

    RBM理论部分大家看懂这个图片就差不多了 Lasagne写代码首先要确定层与层 RBM 正向反向过程可以分别当作一个层 权值矩阵互为转置即可 代码 coding utf 8 data format is bc01 written by Ph
  • Dilated Conv and Deformable Conv. 空洞卷积和可变形卷积

    空洞卷积论文地址 https arxiv org pdf 1511 07122 pdf 可变形卷积论文地址 https arxiv org pdf 1703 06211 pdf 之前一直知道这两个方法 一直没时间看论文和实现 后面碰到越来越
  • vofuria的开发(4)更换目标图片(target)

    1 首先进入vuforia的官网 接下来的操作就很简单了 如下图中所示 这里如果你不是Unity开发就选择SDK下载 里面有一个 bat的文件一个 xml的文件 将文件放到将这两个文件放到 vuforia sdk Android sampl
  • Pytorch Advanced(三) Neural Style Transfer

    神经风格迁移在之前的博客中已经用keras实现过了 比较复杂 keras版本 这里用pytorch重新实现一次 原理图如下 from future import division from torchvision import models
  • SqueezeNet运用到Faster RCNN进行目标检测+OHEM

    目录 目录 一SqueezeNet介绍 MOTIVATION FIRE MODULE ARCHITECTURE EVALUATION 二SqueezeNet与Faster RCNN结合 三SqueezeNetFaster RCNNOHEM
  • nvidia深度学习加速库apex简单介绍

    介绍地址 https docs nvidia com deeplearning sdk mixed precision training index html 本人英文水平有限 有误请指正 使用理由 使用精度低于32位浮点的数值格式有许多好
  • 基于矩阵求解多元线性回归

    多元线性回归法也是深度学习的内容之一 用java实现一下多元线性回归 一元线性回归的公式为 y a x b 多元线性回归的公式与一元线性回归的公式类似 不过是矩阵的形式 可以表示为Y AX b 其中 Y是样本输出的合集 X是样本输入的合集
  • yolov5量化部署(基于openvino和tensorrt)

    yolov5 openvino量化部署 首先 下载YOLOv5源码 安装YOLOv5和OpenVINO的python依赖 git clone https github com ultralytics yolov5 git pip insta
  • pthread_create返回值错误码11 (EAGAIN)或libgomp: Thread creation failed: Resource temporarily unavailable错误

    在主机上开发torch xla时 使用非root用户在conda环境 遇到tensorflow中报pthread create 11错误 大意为系统资源不足 解决方案 分析 此主机多用户使用 资源占用非常大 且大多数情况下在docker容器

随机推荐

  • 配置文件jdk和hadoop和scala和spark

    bashrc profile java验证java version export JAVA HOME usr lib jvm java export JRE HOME JAVA HOME jre export CLASSPATH JAVA
  • rsync常见问题及解决办法(亲测)

    错误一 password file must not be other accessible continuing without password file Password rsync客户端路径是否写错 权限设置不对 需要再次输入密码
  • python数据结构与算法篇:排序

    1 冒泡排序 英语 Bubble Sort 它重复地遍历要排序的数列 一次比较两个元素 如果他们的顺序错误就把他们交换过来 遍历数列的工作是重复地进行直到没有再需要交换 也就是说该数列已经排序完成 这个算法的名字由来是因为越小的元素会经由交
  • Linux下压缩文件夹命令

    tar zcvf 打包后生成的文件名全路径 要打包的目录 例子 把 xahot文件夹打包后生成一个 home xahot tar gz的文件 tar zcvf home xahot tar gz xahot zip 压缩方法 压缩当前的文件
  • 【ISO】Windows10系统ISO镜像怎么从微软官网下载?

    要自己安装正版系统 第一步就是要下载到正确的系统镜像 下载的方法很多 可以通过搜索 网盘 网站或者论坛等下载 但那都不是最正宗 最纯粹的的 通过这些渠道下载 偶尔 难免也会遇到些心术不正的人给你夹带点私货 从微软官网下载Windows10系
  • Spring多次request.getReader()解决方法

    Spring多次request getReader 解决方法 ServletRequest的getReader和getInputStream只能调用一次 开发中遇到一个需求 对http请求进行打点 其中有个字段是请求body 本来想的是写一
  • 《面试准备》c/c++ 数组实现循环queue

    代码 include
  • 正则表达式“\\s+“ 匹配任意空白字符

    正则表达式中 s匹配任何空白字符 包括空格 制表符 换页符等等 等价于 f n r t v f gt 匹配一个换页 n gt 匹配一个换行符 r gt 匹配一个回车符 t gt 匹配一个制表符 v gt 匹配一个垂直制表符 而 s 则表示匹
  • 算法笔记——回溯

    算法笔记 回溯 回溯法实际上就是把问题的解空间转化成了图或者树的结构表示 然后使用深度优先搜索策略进行遍历 如果遍历的过程中发现已不满足求解条件时 就 回溯 即回退 尝试别的路径 思想 回溯法从根结点出发 按照深度优先策略遍历解空间树 搜索
  • 纳米智能机器—纳米多功能检测

    摘要 病毒是自然界中分布最广 个体数量最多的生命形式 同时它也是许多致死性疾病的罪魁祸首 历史上各种传染性病毒如流感病毒 天花 埃博拉病毒的肆虐给人类带来了巨大的灾难 动物病毒和植物病毒感染造成畜牧业和农业的巨额经济损失 另一方面 病毒具备
  • SIGIR 2021 DCSpell一个代价比较小的预训练文本纠错的模型

    文本纠错概述 文本纠错任务 指的是识别输入文本中出现的拼写错别字及其位置信息 并给出正确的修改建议的任务 文本纠错是自然语言处理领域一项非常重要的任务 在搜索引擎 语音识别 教育等领域有广泛的应用 能够显著地提高各种场景下语义的准确性 比如
  • Yolo置信度

    Yolo置信度 置信度是每个bounding box输出的其中一个重要参数 作者对他的作用定义有两重 一重是 代表当前box是否有对象的概率Pr Object 注意 是对象 不是某个类别的对象 也就是说它用来说明当前box内只是个背景 ba
  • 1、在VMware上如何创建虚拟机以及安装linux操作系统 2、修改主机名为server.local 3、将虚拟机的网络连接模式分别调换成仅主机模式、nat模式、桥接模式并获取ip地址使用ssh通过

    一 在VMware上如何创建虚拟机以及安装linux操作系统 创建虚拟机 1 点击创建新的虚拟机 2 点击自定义 点击下一步 3 兼容性确认好 点击下一步 4 选择稍后安装操作系统 点击下一步 5 选择linux 下一步 6 选择Linux
  • 佳能打印机复印身份证的双面到A4纸上的方法

    1 选择其他功能 页面合并 2 选择来源纸张大小 身份证可以选择A5R大小的 3 选择打印纸张大小 默认A4 4 完成设置 按那个平常的复印将进行扫描 画面上会显示继续扫面R2 然后将身份证翻转放到原来的地方 然后再按扫描 5 最后按界面上
  • centOS7 中安装可视化图形界面

    centOS7 中安装可视化图形界面 一 检查 yum是否可用 输入 yum list 如果出现以下情况说明不可用 二 下载可视化图形界面 2 1 安装 x Windows System 输入 yum groupinstall X Wind
  • html+写入数据库+JDBC更改数据库

    1 HTML部分 2 CSS部分 Login div div div div class input box div div
  • starter-canal 下载并打成依赖放入maven本地仓库

    https github com chenqian56131 spring boot starter canal 下载代码 1 下载完成进入项目根目录starter canal 中 命令行如下 mvn install 2 等待打包完成 ta
  • SpringBoot集成WebSocket实现客户端与服务端长连接通信

    场景 1 WebSocket协议是用于前后端长连接交互的技术 此技术多用于交互不断开的场景 特点是连接不间断 更轻量 只有在关闭浏览器窗口 或者关闭浏览器 或主动close 当前会话对象才会关闭 2 相较于 Http Https 通信只能由
  • python解释器怎么添加_Python解释器的配置

    1 准备工作 安装好Pycharm2017版本 电脑上安装好Python解释器 2 本地解释器配置 配置本地解释器的步骤相对简洁直观 1 单击工具栏中的设置按钮 2 在Settings Preferences对话框中选中 Project I
  • 人脸跟踪开源项目

    https github com xiangdeyizhang FaceTrack ncnn HyperFT https github com qaz734913414 Ncnn FaceTrack Ncnn FaceTrack 基于mtc