赞
踩
安排!
自中科视拓SeetaFace2开源以来,配套组建的开发者社群每天都热火朝天,各种提问、讨论层出不穷。为了帮助大家更好地使用,9月17日,中科视拓研发部产品总监兼研发总监李凯周在雷锋网《AI研习社-职播间》开课直播,分享SeetaFace2人脸识别算法源码的结构和设计,详解应用实战,吸引了近400位开发者观看直播,踊跃提问。
针对大家遇到的一些共性问题,中科视拓攻城狮小哥哥特别整理了SeetaFace2 FAQ,希望能帮助到大家。
SeetaFace2 FAQ
1. SeetaFace2是否有使用限制?
SeetaFace2按照BSD开源协议发布。源码不依赖于第三方库,不会有任何功能性限制。
2. SeetaFace2 是否开源模型训练?如何将自己的模型采用SeetaFace2框架部署?
没有开源训练源码。没有开放模型第三方模型部署。
3. 开源的5点和81点分别是哪些点?
5点分别为:左眼中心、右眼中心、鼻尖、左嘴角和右嘴角。
81点分布如下图:
4. 开源的算法分别是什么,如何进行学习?
人脸检测算法:Cascade CNN,参考文献A Convolutional Neural Network Cascade for Face Detection
特征点定位算法:FEC-CNN,参考文献Robust FEC-CNN: A High Accuracy Facial Landmark Detection System
人脸特征提取:ResNet,Deep Residual Learning for Image Recognition
人脸特征对比:向量余弦相似度计算
5. SeetaFace2支持的平台/操作系统/编译器版本?
SeetaFace2支持系统Windows(7以上)、Ubuntu(16.04以上)、CentOS(7以上)和Android(4.4以上)、IOS(9以上)、MacOS(10以上)。支持平台x86/x86_64/amd64/arm-v7a/arm-v8。支持MSVC2013、GCC5.4以上,C++11支持。注意:部分C++11部分支持的编译器可以直接支持、或调整部分代码支持;但可能引起编译器bug。已知GCC4.8有编译器bug。
x86/x86_64/amd64架构需要SEE2指令集支持(比选),FMA指令集支持(可选)。
arm-v7a/arm-v8架构需要NEON指令集支持。
已开发源码不支持除上述外架构。其他支持需要修改源码。
6. 源代码不依赖第三方库,但是为什么还需要OpenCV?
OpenCV只是为了编译测试用,进行图像的编解码,核心算法计算不需要依赖OpenCV。如果确实无法移植OpenCV,则设置cmake选项-DBUILD_EXAMPLE=OFF。编译核心库SeetaNet、FaceDetector、FaceLandmarker、FaceRecognizer成功后,采用普通加载第三方库的方式加入到应用项目中使用即可。
7. 编译没有问题,运行时出现“illegal instruction”的错误提示。
初始发布版本默认会使用FMA加速。当前版本代码已经修复,默认不会打开FMA加速。如果需要打开则cmake编译时加入-DSEETA_USE_FMA=ON。更多关于指令集的依赖,请参考问题5。
8. Windows配置OpenCV总是失败,如何解决?
a. 参考问题6。
b. 参考cnweizhi同学的分享:
SeetaFace2开源项目在windows Vs2017编译经验分享blog.csdn.net9. Android 如何进行部署,已经编译了对应的so库?
接口提供的是C++接口,需要封装成JNI,提供java调用。
可以参考xiaoxiaoazhang同学的分享:
xiaoxiaoazhang/SeetaFace2AndroidDemogithub.com10. 如何进行人脸底库管理/底库持久化?只看到了Register的示例。
人脸底库管理其实就是人脸特征管理。人脸特征提取提供了两组接口。
1)在seeta/FaceRecognizer.h中提供了Extract和CalculateSimilarity接口,分别进行特征提取和相似度对比。提取到的特征是1024维单精度浮点数数组,可以按照需求随意存储。
2)在seeta/FaceDatabase.h中提供了简易的内存底库管理,在1接口的基础上,在内存中管理注册的人脸。提供了Register、Detect、Clear、Save、Load接口,分别进行注册、删除、清空、保存、加载人脸库的操作。
11. 提示“Can not access: “xxx””,无法访问文件的提示和异常。
该提示含义是找不到模型文件,参考README.md的操作说明,将下载好的模型文件放到可执行程序运行时可以访问到的路径即可。
12. SeetaImageData的data成员是什么含义?
data成员指向一块连续存储的uint8_t(unsigned char)类型的数组,表示了HWC格式存储的BGR通道顺序的彩色图片(如果灰度图像channels为1)。
(感谢cnweizhi、xiaoxiaoazhang同学的分享。)
错过直播怎么办?回看方式:
1、点击链接直达直播间。
人脸识别应用实战:SeetaFace2-AI慕课学院www.mooc.ai2、扫码直达
开发者评价:
专业从事人脸识别工作的Mirror:
优点是有专门的社区讨论,人脸检测和关键点定位模型比较小,比较方便部署,速度也很快。
来自在线教育行业的白杨:
工程方面:代码质量高,接口比较友好
算法方面:关键点定位和人脸特征提取还不错
开源方面:建议开源训练代码,做人脸识别开源方向的一面旗帜。
从事计算机视觉研究的匿名开发者:
精度挺不错的。
来自金融行业的rere:
1. 体验不错,主要关注特征提取。使用的5点定位,识别率不错。
2. 对国人的识别率不错,前期使用的是dlib。
医疗健康领域的开发者:
精度挺高的,建议以后增加活体检测。
AI+保险行业的高粱怡:
SeetaFace2人脸检测模块检测速度很快,检测准确率也比较高。
—END—
SeetaFace2现已通过GitHub开源。(地址:
https://github.com/seetafaceengine/SeetaFace2)
欢迎开发者加入SeetaFace开发者社区,请先加SeetaFace小助手微信,通过审核后将邀请您入群。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。