当前位置:   article > 正文

编译器不识别stm指令_请给我一份人脸识别算法SeetaFace2的通关攻略@中科视拓官方...

seetaface2 arm编译

9b1c1c45e032918cec6f58a96b5f52a9.png

安排!

c17b95acd4f60d855d28fa73df32c14d.png

中科视拓SeetaFace2开源以来,配套组建的开发者社群每天都热火朝天,各种提问、讨论层出不穷。为了帮助大家更好地使用,9月17日,中科视拓研发部产品总监兼研发总监李凯周雷锋网《AI研习社-职播间》开课直播,分享SeetaFace2人脸识别算法源码的结构和设计,详解应用实战,吸引了近400位开发者观看直播,踊跃提问。


针对大家遇到的一些共性问题,中科视拓攻城狮小哥哥特别整理了SeetaFace2 FAQ,希望能帮助到大家。

SeetaFace2 FAQ

1. SeetaFace2是否有使用限制?
SeetaFace2按照BSD开源协议发布。源码不依赖于第三方库,不会有任何功能性限制。

2. SeetaFace2 是否开源模型训练?如何将自己的模型采用SeetaFace2框架部署?

没有开源训练源码。没有开放模型第三方模型部署。

3. 开源的5点和81点分别是哪些点?

5点分别为:左眼中心、右眼中心、鼻尖、左嘴角和右嘴角。

81点分布如下图:

e4d2cb5bac92948f5228cd3b02341d75.png

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.net
9536cb49582fff3923ad54c784cb23e1.png

9. Android 如何进行部署,已经编译了对应的so库?

接口提供的是C++接口,需要封装成JNI,提供java调用。

可以参考xiaoxiaoazhang同学的分享:

xiaoxiaoazhang/SeetaFace2AndroidDemo​github.com
65ea9f14d6d9f1d0dd3d3bfdacbd5553.png

10. 如何进行人脸底库管理/底库持久化?只看到了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同学的分享。)

e66e9da7aa57be410186cdeb8a00efd5.png

9d6b2d4c68950bc0b44fca1438463464.png

c8170e741503258c9e2683581cc5b57a.png

错过直播怎么办?回看方式:

1、点击链接直达直播间。

人脸识别应用实战:SeetaFace2-AI慕课学院​www.mooc.ai
a5148c2a3f9c8b5fd08426e5733e375f.png

2、扫码直达

84116bc71462020167ce79f83e01f78f.png

开发者评价:

专业从事人脸识别工作的Mirror:

优点是有专门的社区讨论,人脸检测和关键点定位模型比较小,比较方便部署,速度也很快。

来自在线教育行业的白杨:

工程方面:代码质量高,接口比较友好

算法方面:关键点定位和人脸特征提取还不错

开源方面:建议开源训练代码,做人脸识别开源方向的一面旗帜。

从事计算机视觉研究的匿名开发者:

精度挺不错的。

来自金融行业的rere:

1. 体验不错,主要关注特征提取。使用的5点定位,识别率不错。

2. 对国人的识别率不错,前期使用的是dlib。

医疗健康领域的开发者:

精度挺高的,建议以后增加活体检测。

AI+保险行业的高粱怡:

SeetaFace2人脸检测模块检测速度很快,检测准确率也比较高。

—END—

SeetaFace2现已通过GitHub开源。(地址:

https://github.com/seetafaceengine/SeetaFace2)

欢迎开发者加入SeetaFace开发者社区,请先加SeetaFace小助手微信,通过审核后将邀请您入群。

e407218e06af4e58b205066d358261de.png
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号