欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于人脸识别引擎FaceRecognitionDotNet的实例

程序员文章站 2022-04-18 15:21:20
根据我上篇文章的分享,我提到了FaceRecognitionDotNet,它是python语言开发的一个项目face_recognition移植。结果真是有喜有忧,喜的是很多去关注了,进行了下载,我看到项目Star从十几个变成了现在将近两百多个,忧的是很多人看不懂这项目,加了我的群来问怎么用,或者缺 ......

  根据我上篇文章的分享,我提到了facerecognitiondotnet,它是python语言开发的一个项目移植。结果真是有喜有忧,喜的是很多去关注了,进行了下载,我看到项目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

关于人脸识别引擎FaceRecognitionDotNet的实例

  最后说一下成果,里面有不是点会踩到,比如内存增长问题,需要手动释放一些资源,我已经在包函数的时候做了简单处理。整体性能还是不错的,两千张照片,处理花了700秒,我是在一台虚机上做的测试,当然开发也在那台机器上。总体和我同事调用百度ai的api不相上下(免费版),对于需要离线的项目很有帮助。会做一定移植的可以在linux上运行,我看到作者在mac和linux都有测试,也在支持.net core的。真心佩服那个作者。