关于人脸识别引擎FaceRecognitionDotNet的实例
根据我上篇文章的分享,我提到了FaceRecognitionDotNet,它是python语言开发的一个项目face_recognition移植。结果真是有喜有忧,喜的是很多去关注了,进行了下载,我看到项目Star从十几个变成了现在将近两百多个,忧的是很多人看不懂这项目,加了我的群来问怎么用,或者缺少的Dll在哪里。其实作者本身已经在项目介绍里面都写清楚了,真的是明明白白的。缺的dll可以nuget上下载,缺少的模型文件可以去它所移植的原项目上下载。很多人良莠不齐的,问的问题也五花八门,好歹也追求一下本质问题,好好看看介绍和文档,仔仔细细阅读一下,也没有多少字的。各位有点焦急了。
我对整个项目做了整体的梳理,我主要看重的是人脸识别部分,其实作者在编码上原先不太支持中文,我做了一些修改还加了一些函数,整体如下图。我做成了一个OWIN自宿主程序,将人脸识别的接口以WebApi的形式暴露给外部调用。本身也提供命令行进行一些操作。
1.exit顾名思义是退出指令
2.face init是用于初始化模型数据
3.face add用于添加新的模型数据
4.face test用于做测试
日志记录工具是用了NLog,别的都是项目的依赖包。说了这么多估计很多人急着要源码,急于求成的心态很不好啊。诶,能仔仔细细去看别人项目的沉静心思还是要有的,不然还是渣,向移植代码的大佬致敬,这才是中流砥柱,希望用了源码的各位去给大佬也提交一下代码或者提一些建议,让这样好的项目存在下去。源码地址(包比较大我上传到了百度云,我把所有文件都放在了一起,vs2017社区版创建,免得不会搭建项目的小白问):
链接:https://pan.baidu.com/s/1mI5vLNOgE6amEcYiiGOzpg
提取码:54th

最后说一下成果,里面有不是点会踩到,比如内存增长问题,需要手动释放一些资源,我已经在包函数的时候做了简单处理。整体性能还是不错的,两千张照片,处理花了700秒,我是在一台虚机上做的测试,当然开发也在那台机器上。总体和我同事调用百度AI的API不相上下(免费版),对于需要离线的项目很有帮助。会做一定移植的可以在linux上运行,我看到作者在Mac和linux都有测试,也在支持.NET Core的。真心佩服那个作者。
关于人脸识别引擎FaceRecognitionDotNet的实例的更多相关文章
- 人脸识别引擎SeetaFaceEngine中Identification模块使用的测试代码
人脸识别引擎SeetaFaceEngine中Identification模块用于比较两幅人脸图像的相似度,以下是测试代码: int test_recognize() { const std::stri ...
- 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码
人脸识别引擎SeetaFaceEngine中Alignment模块用于检测人脸关键点,包括5个点,两个眼的中心.鼻尖.两个嘴角,以下是测试代码: int test_alignment() { std: ...
- 人脸识别引擎SeetaFaceEngine中Detection模块使用的测试代码
人脸识别引擎SeetaFaceEngine中Detection模块用于人脸检测,以下是测试代码: int test_detection() { std::vector<std::string&g ...
- 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译
SeetaFaceEngine是开源的C++人脸识别引擎,无需第三方库,它是由中科院计算所山世光老师团队研发.它的License是BSD-2. SeetaFaceEngine库包括三个模块:人脸检测( ...
- 【计算机视觉】SeetaFace Engine开源C++人脸识别引擎
SeetaFace Engine是一个开源的C++人脸识别引擎,它可以在不依赖第三方的条件下载CPU上运行.他包含三个关键部分,即:SeetaFace Detection,SeetaFace Alig ...
- Android打开相机进行人脸识别,使用虹软人脸识别引擎
上一张效果图,渣画质,能看就好 功能说明: 人脸识别使用的是虹软的FreeSDK,包含人脸追踪,人脸检测,人脸识别,年龄.性别检测功能,其中本demo只使用了FT和FR(人脸追踪和人脸识别),封装了开 ...
- 开源 人脸识别 openface 实用介绍 实例演示 训练自己的模型
1.OpenFace 是 卡耐基梅陇(CMU)大学的一个图像+机器学习项目,整体程序包含:人脸发现,特征提取,特征神经网络训练,人脸识别这四部分. github https://github.co ...
- C# 调用人脸识别 虹软ArcFace2.0实例
虹软SDK推出了2.0版本,这个版本的所有API都集合在一个动态库里面,再通过引擎库调用,比1.2版本相对轻便了很多. 了解详情戳这里 小西瓜也迫不及待弄了一个新版本的C#实例,基于VS2013开发的 ...
- 人脸识别引擎SeetaFace编译 ubuntu
00.SeetaFace简介 SeetaFace Engine is an open source C++ face recognition engine, which can run on CPU ...
随机推荐
- 前端使用CryptoJs类库进行sha-256、MD5加密
Google的加密库 CryptoJs(点此下载) 包含了很多常用的加解密方式,包括AES.DES.SHA-1.SHA-2.SHA256.MD5等. DES对称加密在之前的文章中也有介绍过,大传送门. ...
- Delphi IOS MusicPlayer 锁屏运行学习
[weak] FMusicPlayer: TMusicPlayer; [weak]修饰, 编译器在处理这个变量的时候不会调用该变量内容的__ObjAddRef和__ObjRelease., proce ...
- [ 原创 ] Linux下查找指定类型文件以及删除
find ./ -name "*.lok" // 查找文件find ./ -name "*.lok" |xargs rm -fr // 查找文件并删除
- MyBatis 学习记录4 MyBatis的一级缓存
主题 分享记录一下MyBatis的一级缓存相关的学习. Demo public static void firstLevelCache() { init("mybatis-config.xm ...
- Spark之 RDD
简介 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合. Resilien ...
- js动态的给json对象添加新的元素
把{name:"xxx",age:"xxx"}变成{name:"xxx",age:"xxx",value:"x ...
- java.util.regex.PatternSyntaxException, dangling metacharacter “?” 解决方法
今天在用正则表达式的时候遇到这样一个异常 看了相关资料后发现这是因为在正则表达式中,像"?","*","\"都是保留字符,所以在用的时候需要 ...
- Anaconda3 ubuntu18.04
luo@luo-All-Series:~/MyFile/Anaconda3$ luo@luo-All-Series:~/MyFile/Anaconda3$ luo@luo-All-Series:~/M ...
- Linux系统profile、bashrc、bash_profile等环境设置文件的使用
一.前言 关于bash的环境设置文件,分为系统设置和个人设置,一般来说建议用户直接修改个人的设置. 本文测试环境为:centos6.5. 二.系统设置值 1. /etc/sysconfig/i18n ...
- code1006 等差数列
我绞尽脑汁想一个更好的算法,然而不能如愿,只好写一个n^3的了 很简单,就是暴力搜索(还好n<100) 先排序,然后循环i=1ton,j=i+1ton 把a[i]a[j]确定为等差数列开始的两个 ...