当前位置: 首页 > news >正文

libfacedetection 人脸检测库 检测速度慢的问题

目录

一、libfacedetection 性能介绍

英特尔CPU 使用AVX2指令集 使用AVX512指令集

嵌入式设备

 二、加速检测速度

libfacedetetion的前向推理速度很快的原因

使用axv2加速指令


一、libfacedetection 性能介绍

在上一篇文章中,我发现使用摄像头检测,构建方式为Release,检测耗时150ms左右。但是该项目github主页上的性能介绍是这样的:

英特尔CPU 使用AVX2指令集 使用AVX512指令集

嵌入式设备

 

 二、加速检测速度

libfacedetetion的前向推理速度很快的原因

作者主要使用了三个策略:

1 . 地址分配得当,从而使得conv,pooling等含有大量运算的模块可以做到连续访存。

2. arm上的neon加速指令intel cpu上的avx2加速指令的使用,这两个指令集分别可以使得连续四地址或者连续八地址的内存进行并行计算。1,2策略的结合使得运算速度大大提高。

3. 对计算量最大的conv模块进行了量化操作,开发了对应的int类型运算。

使用axv2加速指令

需要修改两个地方:

1、修改你项目工程的CMakeList.txt,增加以下内容

主要是AVX2指令可以加速检测,openMP有10ms左右的加速作用

 2、修改facedetectorcnn.h文件

取消AVX2的注释

现在摄像头输入1920*1080尺寸的检测耗时是70ms左右

于老师测试用的是 intel  i7-7820,输入尺寸未640*480单线程检测耗时50ms

yolov5n OpenCV DNN 推理 同尺寸摄像头输入 耗是140ms,相比较而言,libfacedetection确实快

有空得研究多线程,个位数的耗时也太诱人了!


 

参考:

libfacedetection 框架阅读及扩展经验_libfacedetection 解析_Rick51的博客-CSDN博客

libfacedetection 让人脸检测如此简单_AndroidKt的博客-CSDN博客

相关文章:

libfacedetection 人脸检测库 检测速度慢的问题

目录 一、libfacedetection 性能介绍 英特尔CPU 使用AVX2指令集 使用AVX512指令集 嵌入式设备 二、加速检测速度 libfacedetetion的前向推理速度很快的原因 使用axv2加速指令 一、libfacedetection 性能介绍 在上一篇文章中,我发现使用摄像头检测,构…...

项目骨架搭建

CSS样式补充 精灵图 CSS精灵图(CSS Sprites)是一种网页优化技术,通过将多个小图像合并成一个大图像,然后通过CSS的背景定位(background-position)属性来显示对应的图像部分。这种技术可以减少HTTP请求次数…...

“火灾不分昼夜,安全在我心中”——五一前厂房消防检查纪实

检查人员: Scott, Jason, Willson, Hanson 检查时间: 2023年4月28日 检查地点: 1厂房、2厂房室内外 检查内容: 一、室内外消火栓: 室内栓外观正常; 室外栓: 栓体防冻防尘套破损、遗失,消防栓缺少防撞保护; 按规定距离厂房外墙不宜小于5…...

UNIX环境高级编程——进程关系

9.1 引言 本章详细说明进程组以及会话的概念,还将介绍登录shell(登录时所调用的)和所有从登录shell启动的进程之间的关系。 9.2 终端登录 9.3 网络登录 9.4 进程组 每个进程除了有一进程ID之外,还属于一个进程组,进…...

C# ref和out用法和区别

首先:两者都是按地址传递的,使用后都将改变原来参数的数值。 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空&am…...

信息复制的革命:印刷术【提高信噪比】

文章目录 引言I 保证信息不被噪音所影响1.1 校对抄写错误的方法1.2 印刷术II 雕版印刷和活字印刷2.1 雕版印刷术2.2 毕昇的胶泥活字印刷2.3 古腾堡的铅活字印刷引言 科学的诞生,丰富了信息产生的源头。文字和纸张,加速了信息的传播和文明的进步。I 保证信息不被噪音所影响 复…...

【MySQL】事务

事务是一组操作的集合,我们将一组操作视为一个整体,所以事务里面的操作的时候要么同时成功,要么同时失败,之所以会有事务也是因为我们在实际生活中会用到 最典型的例子就是转账操作:A向B进行转账,A这边扣款成功的同时B那边一定是收款成功的,如果没有事务的话就会出现A扣款成功但…...

学习HCIP的day.03

目录 OSPF:开放式最短路径优先协议 OSPF的数据包 -- 5种 OSPF的状态机 OSPF的工作过程 OSPF的基础配置 关于OSPF协议从邻居建立成为邻接的条件 OSPF的接口网络类型 OSPF:开放式最短路径优先协议 无类别链路状态型IGP协议;由于其基于拓…...

Maven项目的配置

Maven是什么?它的作用是什么? Maven是一种开源的构建工具,它可以自动化构建、测试、部署和管理Java项目。它提供了一个中心化的构建过程,包括依赖管理、项目结构管理、插件管理等,使得开发人员更方便地维护和协作应用…...

Spring Boot使用(基础)

目录 1.Spring Boot是什么? 2.Spring Boot使用 2.1Spring目录介绍 2.2SpringBoot的使用 1.Spring Boot是什么? Spring Boot就是Spring脚手架,就是为了简化Spring开发而诞生的 Spring Boot的优点: 1.快速集成框架,提供了秒级继承各种框架,提供了启动添加依赖的功能 2.内…...

6WINDGate-overview

6WINDGate Overview Author:Once Day Date:2023年4月29日 本文是对6WIND官网文档的整理和翻译,仅供学习和研究之用,原始文章可参考下面文档: 6WINDGate Documentation - 6WIND6WINDGate Modules — 6WINDGate Modul…...

Java8新特性-流式操作

在Java8中提供了新特性—流式操作,通过流式操作可以帮助我们对数据更快速的进行一些过滤、排序、去重、最大、最小等等操作并且内置了并行流将流划分成多个线程进行并行执行,提供更高效、快速的执行能力。接下来我们一起看看Java8为我们新增了哪些便捷呢…...

Nautilus Chain Layer 3 圆桌会议圆满举办,超4.8K用户观看

在 4 月 21 日,Nautilus Chain 举办了以 “Layer 3 区块链的意义和发展以及Crypto的演变”为主题的线上圆桌会议,我们邀请了众多行业嘉宾包括 GitcoinDAO社区管理者Bob jiang、Whalers Community 发起者崔棉大师、Chatpuppy 联合创始人 古千峰、Whalers …...

本地elasticsearch中文分词器 ik分词器安装及使用

ElasticSearch 内置了分词器,如标准分词器、简单分词器、空白词器等。但这些分词器对我们最常使用的中文并不友好,不能按我们的语言习惯进行分词。 ik分词器就是一个标准的中文分词器。它可以根据定义的字典对域进行分词,并且支持用户配置自…...

Java 中的异常处理机制是什么?如何使用它来处理程序中的异常?(七)

Java 中的异常处理机制是一种重要的编程技术,它能够帮助程序员更好地管理程序中出现的异常情况。本文将详细介绍 Java 中的异常处理机制,并提供示例来说明如何使用异常处理机制来捕获和处理程序中的异常。 什么是异常? 在程序运行过程中&am…...

基于UDQ的并网单相逆变器控制【同步参考系下单相并网全桥正弦PWM逆变器闭环控制】(Simulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

JAVA开发——常用的注解

目录 spring spring MVC Spring Boot AOP MyBatis MyBatis-Plus JavaWeb开发 spring Autowired:自动安装,通过类匹配自动注册相应的Bean。 Component:将一个通用的 Java 类标记为 Bean,由 Spring 容器管理。 Controller&…...

【Java笔试强训 24】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥年终奖 …...

SpringCloud详解

SpringCloud是一个基于SpringBoot的分布式系统开发框架,它能够帮助我们快速、稳定地构建分布式系统。本篇博客将对SpringCloud进行详细解析,介绍SpringCloud的主要组件和相关应用场景,同时提供代码示例以帮助读者更好地掌握SpringCloud的实际…...

如何保障网络安全

网络安全是一个涵盖范围广、深入浅出的话题。随着互联网在现代社会中扮演的重要角色日益突出,网络安全问题成为各个领域所关注的焦点。在此,我们将从以下几个方面来阐述网络安全的重要性,并讨论几种保障网络安全的方式。 一、网络安全的重要性…...

漫画收藏自由:picacomic-downloader的离线阅读解决方案

漫画收藏自由:picacomic-downloader的离线阅读解决方案 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器,带图形界面 带收藏夹,已打包exe 下载速度飞快 项目地址: https://gitcode.com/gh…...

从原理到调参:图解RoIAlign双线性插值在torchvision.ops中的实现细节

从原理到调参:图解RoIAlign双线性插值在torchvision.ops中的实现细节 当你在PyTorch中实现目标检测模型时,RoIAlign(Region of Interest Align)是一个绕不开的核心操作。与传统的RoIPooling相比,RoIAlign通过双线性插值…...

InfluxDB服务文件被误删怎么办?记录一次完整的1.8.6版本灾难恢复过程

InfluxDB服务文件误删灾难恢复实录:从崩溃边缘到完美复原 那天下午,服务器监控大屏突然亮起一片刺眼的红色告警——InfluxDB服务全线离线。作为团队里负责时序数据库运维的老兵,我立刻意识到问题的严重性。这套运行着1.8.6版本的InfluxDB承载…...

如何让经典GTA游戏重获新生:终极SilentPatch修复工具完全指南

如何让经典GTA游戏重获新生:终极SilentPatch修复工具完全指南 【免费下载链接】SilentPatch SilentPatch for GTA III, Vice City, and San Andreas 项目地址: https://gitcode.com/gh_mirrors/si/SilentPatch 你是否还记得那些在GTA III、Vice City和San An…...

快速上手ANIMATEDIFF PRO:从环境部署到视频导出的完整操作流程

快速上手ANIMATEDIFF PRO:从环境部署到视频导出的完整操作流程 1. 环境准备与快速部署 1.1 硬件要求检查 在开始之前,请确保您的设备满足以下最低配置要求: 显卡:NVIDIA RTX 3060及以上(推荐RTX 4090)显…...

别再只用折线图了!Excel散点图制作双轴图的3个隐藏技巧与常见误区

Excel双轴图进阶指南:为什么散点图比折线图更适合专业数据可视化 在数据可视化领域,Excel的双轴图表一直是展示多维度数据的利器。但很多用户在使用过程中都会遇到这样的困扰:明明按照教程步骤操作,最终呈现的图表却总是出现数据点…...

论文降AI率完整操作教程:检测→定位→降AI→复查全流程详解

论文降AI率完整操作教程:检测→定位→降AI→复查全流程详解 很多同学一听"降AI率"就觉得很复杂。网上教程要么讲得太笼统(“用工具处理一下就好了”),要么一上来就推荐工具却不讲完整流程。 这篇教程不一样。我把降AI率…...

实测Claude Opus 4.6:编码全流程适配,研发效率提升25%的实操技巧

实测Claude Opus 4.6:编码全流程适配,研发效率提升25%的实操技巧 一、Claude Opus 4.6核心能力定位与实测背景 Claude Opus是Anthropic推出的旗舰级大模型,4.6版本在长文本理解、代码逻辑推理、多语言兼容性三个维度做了针对性升级。本次实测…...

Detectron2特征图热力可视化实战:从Faster R-CNN到自定义网络

1. 为什么需要特征图热力可视化 当你训练一个目标检测模型时,有没有遇到过这样的困惑:模型在某些场景下表现很好,但在另一些场景却频频出错?作为算法工程师,我们往往只能看到最终的检测结果,却不知道模型内…...

3步接入钉钉机器人:OpenClaw+百川2-13B打造部门问答助手

3步接入钉钉机器人:OpenClaw百川2-13B打造部门问答助手 1. 为什么选择这个组合? 去年我们部门开始尝试用大模型解决内部知识检索问题。最初直接使用网页版对话工具,但遇到三个痛点:一是敏感业务数据不敢上传公有云;二…...