测试于仕琪 libfacedetection人脸检测
号称很快的算法:搭个顺车,编个make
下载源码:
git clone https://github.com/ShiqiYu/libfacedetection
目录结构如下:
├── ChangeLog
├── example
│ └── libfacedetectcnn-example.cpp
├── images
│ ├── 20190314160527.jpg
│ ├── chloecalmon.png
│ ├── cnnresult.png
│ ├── keliamoniz1.jpg
│ ├── keliamoniz2.jpg
│ └── pic2.jpg
├── LICENSE
├── models
│ ├── caffe
│ │ ├── yufacedetectnet-open-v1.caffemodel
│ │ └── yufacedetectnet-open-v1.prototxt
│ └── openvino
│ ├── yufacedetectnet-open-v1-320x240.bin
│ └── yufacedetectnet-open-v1-320x240.xml
├── README.md
└── src├── facedetectcnn.cpp├── facedetectcnn-floatdata.cpp├── facedetectcnn.h├── facedetectcnn-int8data.cpp├── facedetectcnn-model.cpp└── Makefile
1.从里层开始,在src目录中加入Makefile内容如下:
#./src/Makefile
FLAGS = -fPIC -c -std=c++11 -O3 -mavx -mfma #编译选项,在linux上编译OBJ = facedetectcnn.o #编译的中间文件
OBJ += facedetectcnn-floatdata.o
OBJ += facedetectcnn-int8data.o
OBJ += facedetectcnn-model.o SO = libfacedetectcnn.so #编成的so库#添加需要的文件就行,类似内核编译那种%.o:%.cpp$(CC) $(FLAGS) $^all:$(OBJ)@echo "Compile..."g++ -shared -fpic -o $(SO) $(OBJ)@echo "End"clean:-rm $(OBJ) *.so
2.工程目录的Makefile
#!/bin/bashCC = g++
FLAGS =
TAG = testTOPDIR = $(PWD)OBJDIR = $(TOPDIR)/obj
BINDIR = $(TOPDIR)/bin
SRCDIR = $(TOPDIR)/src
INCDIR = $(TOPDIR)/include
LIBDIR = $(TOPDIR)/lib# EXAMPLE = $(TOPDIR)/example
# INCLUDE = -I/home/oeasy/install/opencv-3.4.0/build_install/include
# LIB = -L/home/oeasy/install/opencv-3.4.0/build_install/lib -L$(TOPDIR)/src/kernel
# LDL = -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -fpermissive -lfacedetectcnn# INC = -I./src/kernel export CC TAG TOPDIR SUBDIR OBJDIR BINDIR INC #导出全局变量
all:CHECK $(SRCDIR) $(TAG) CHECK:mkdir -p $(OBJDIR) $(BINDIR) $(INCDIR) $(LIBDIR)$(SRCDIR):ECHOmake -C $@# $(TAG):
# $(CC) -o $(addprefix $(BINDIR)/,$(TAG)) $(EXAMPLE)/libfacedetectcnn-example.cpp $(INC) $(INCLUDE) $(LIB) $(LDL) install:cp $(SRCDIR)/*.h $(INCDIR)cp $(SRCDIR)/*.so $(LIBDIR)sudo cp $(LIBDIR)/*.so /usr/local/lib/sudo ldconfigECHO: @echo $@CLEANDIR:ECHOmake -C $(SRCDIR) clean.PHONY : clean
clean :CLEANDIR-rm $(BINDIR)/$(TAG)-rm -rf $(INCDIR)-rm -rf $(LIBDIR)-rm -rf $(OBJDIR)
这个没啥 好说的,默认编译成so库,然后,install 就能安装到相应目录 打开#就能编译libfacedetectcnn-example.cpp成二进制的文件。
编译后的目录如下 :
├── bin
│ └── test
├── ChangeLog
├── example
│ └── libfacedetectcnn-example.cpp
├── images
│ ├── 20190314160527.jpg
│ ├── chloecalmon.png
│ ├── cnnresult.png
│ ├── keliamoniz1.jpg
│ ├── keliamoniz2.jpg
│ └── pic2.jpg
├── include
│ └── facedetectcnn.h
├── lib
│ └── libfacedetectcnn.so
├── LICENSE
├── Makefile
├── models
│ ├── caffe
│ │ ├── yufacedetectnet-open-v1.caffemodel
│ │ └── yufacedetectnet-open-v1.prototxt
│ └── openvino
│ ├── yufacedetectnet-open-v1-320x240.bin
│ └── yufacedetectnet-open-v1-320x240.xml
├── obj
├── README.md
└── src├── facedetectcnn.cpp├── facedetectcnn-floatdata.cpp├── facedetectcnn-floatdata.o├── facedetectcnn.h├── facedetectcnn-int8data.cpp├── facedetectcnn-int8data.o├── facedetectcnn-model.cpp├── facedetectcnn-model.o├── facedetectcnn.o├── libfacedetectcnn.so└── Makefile
在bin目录下,运行./test …/images/20190314160527.jpg
具体测试如下。
41个小人脸53ms,只是右下脚框的图有点歪。
二。
另附 cmake 文件 :
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT (facedetection)
SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
SET(BUILD_SHARED_LIBS ON)FIND_PACKAGE(OpenCV REQUIRED)INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src${OpenCV_INCLUDE_DIRS})
ADD_LIBRARY(facedetection src/facedetectcnn.cpp src/facedetectcnn-floatdata.cpp src/facedetectcnn-int8data.cpp src/facedetectcnn-model.cpp)
ADD_EXECUTABLE(face_detect example/libfacedetectcnn-example.cpp)
TARGET_LINK_LIBRARIES(face_detect ${OpenCV_LIBS} facedetection)
简单明了。。。。
测试于仕琪 libfacedetection人脸检测相关推荐
- libfacedetection 人脸检测库的基本使用
目录 1.源码下载 2.编译 3.构建工程 4.个人总结 运行总结: 与CascadeClassifier级联分类器 人脸检测 对比: 1.源码下载 直接从github上克隆项目仓库. git clo ...
- c#调用于仕琪libfacedetection方法与遇到的问题
软件与库版本 1.libfacedetection 2019年3月更新后版 https://github.com/ShiqiYu/libfacedetection 2.opencv-3.2.0-vc1 ...
- linux使用mtcnn进行人脸检测,Linux下使用FDDB 测试MTCNN人脸检测模型生成 ROC 曲线
FDDB是全世界最具权威的人脸检测评测平台之一,是专门针对人脸识别算法的评测方法与标准.FDDB数据集官网:http://vis-www.cs.umass.edu/fddb/ 下面介绍如何使用FDDB ...
- 基于深度学习的人脸检测和关键点检测推理实践(OpenCV实现,含代码)
目录 一.任务概述 二.环境准备 三.实现步骤 3.1 Python推理 3.2 C++推理 3.2.1 环境准备 3.2.2 推理 3.3 Java推理 一.任务概述 最近项目中大量场景需要用到人脸 ...
- 仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:机器之心 总是被各种依赖环境蹂躏?看看这个 C++编写的跨平 ...
- 腾讯AI Lab刷新人脸检测与识别两大测评国际记录,技术日调用超六亿
来源:腾讯AI实验室 概要:人脸检测是让机器找到图像视频中所有人脸并精准定位其位置信息,人脸识别是基于人脸图像自动辨识其身份,两者密切相关,前者是后者的前提和基础. 腾讯AI Lab在国际最大.最难的 ...
- android关闭人脸检测功能,【Android知识】录像预览模式下打开人脸检测
开发的一款高通平台Android 9.0基于Camera2实现的预览界面通过侧键实现拍照,录像等功能的应用中,预览界面默认是采用的原生的VideoModule.java界面实现,测试发现设置中开启人脸 ...
- 移植OpenCV的AdaBoost人脸检测算法到DM6467
1 人脸检测算法在DM6467上移植的步骤 要将人脸检测算法移植到DM6467,我们使用OpenCV现有的源码作为基础.首先,需要在PC上用C语言实现人脸检测的程序编写,然后移植Open ...
- 人脸识别之人脸检测算法
人脸识别的一般步骤:人脸检测->人脸对齐->人脸特征提取->(计算人脸的差值)三元组损失/中心损失->差值小于某一阈值则为同一个人,差值大于某一阈值则不是同一人. 本文将对每一 ...
- java人脸对比开源_重磅!最快人脸检测开源库对比:ZQCNN-MTCNN vs libfacedetection
前言 CVer 前段时间分享了一个很棒的开源人脸检测库:libfacedetection,详见:重磅!最快人脸检测库开源 2019年3月25日,Amusi 在github上发现 follow很久的左庆 ...
最新文章
- 产品需求管理中的四大难点
- 2.0-zabbix配置邮件告警
- TortoiseGit:记住用户名和密码
- 18岁双料竞赛金牌得主邓明扬:我只是数学初学者,求在MIT“活”下去
- Springmvc的handler method参数绑定常用的注解
- linux内核优化哪些参数,linux内核参数优化 互联网技术圈 互联网技术圈
- mysql安装check requirements出错_超详细的MySQL8.0.17版本安装教程
- 机器学习 —— 浅谈贝叶斯和MCMC
- SinGAN实现的单图动画,ICCV 2019 Best Paper
- antd 怎么用ajax,antd-ui-samples
- Asp.Net MVC 身份验证-Forms
- C++之实现优先队列
- mac新手入门:从启动台Launchpad中完全删除应用程序
- 数据结构与算法之排序(冒泡、选择、插入、希尔、归并、快速)
- arcgis导出地图分辨率多少合适_地图册制作:ArcGIS分幅制图——以深圳地铁线路图为例...
- 32位crc校验码程序_基于FPGA的CRC校验码生成器设计
- mysql8+maven+mybatis
- java基础-并发理论
- ctf实验吧writeup
- 设计,让交叉口更安全