虹软AI 人脸识别SDK接入 — 参数优化篇(1)

     使用虹软人脸识别已经有半年多时间了,当初选择虹软人脸识别SDK还是比较偶然的,最大的特点就是Free ,后来深挖了下虹软公司,还是比较神秘的老牌算法公司,半年多使用下来,效果还是可以的;我们现有的使用场景主要集中在校园和企业人脸门禁,目前用到的sdk有Android SDK和Windows SDK,微信群里经常有人问我,用虹软的人脸识别SDK的时候怎么调优,怎么设置各种参数,每次都想去写个文章总结下,总是没有时间,这回抽点时间,把心得写下来,请大家多提提建议。

主要有以下三点:

1.FD,FT 的性能比对与使用场景
2.参数FaceOrient对识别效果的影响与调优
3.Scale 参数介绍与性能实测

一:FD,FT 的性能比对与使用场景

1.1 FD(IMAGE),FT(VIDEO)模式介绍

     FD 人脸检测,对单帧或单张图片进行人脸检测,FT 是人脸跟踪检测,对连续帧或图片进行人脸检测;刚开始我和大多数人一样,也理解不了FD,FT到底有什么区别,后来仔细研究了下,发现FT 检测时,当前帧会受到上帧的影响,同时检测结果也会影响下一帧;FD检测时每张图片的结果是相互不影响的。简单举个例子,现在有连续帧A和B(B是A的下一帧),A帧有完整的脸,B帧中只有半张脸,如果对A和B做FD的时候,A可以检测到人脸,B检测不到人脸;如果对A,B做FT时,A可以检测到,B也是大概率可以检测到的(A的结果影响到B的检测)。

1.2 FD,FT性能比对

测试环境: CPU:骁龙835 Android 9.0 内存:6 GB

FD参数:

image.png

FT参数:

image.png

测试结果:

两种模式都做100 次人脸检测,最终测试结果如下:

FD:100次需要 4919ms,1次FD 需要49ms,吞吐量:20次/秒
FT:100次需要1034ms,1次FT需要10ms,吞吐量:100次/秒

image.png

1.3 不同场景下如何选择FD与FT

     视频(摄像头)情况下 ,每秒产生数据有25-30帧,由于每秒只能做20次 FD,所以视频情况下,用FD来做人脸检测是不适合的,因为算力不够;但FT可以每秒运行100次 ,这种情况下用FT来识别是非常适合的,而且FT在连续帧的侦测时,人脸跟踪更加稳定,TrackID也不容易丢。
     单张图片检测情况下,一般都采用FD来做人脸检测,感觉FD在做人脸检测时比FT要更加细腻,而且在这种情况下,FD的性能也不存在问题,一般情况1s内做5-10张就满足产品要求了,我们的门禁项目中,人员的人脸信息注册用的就是FD的模式。
有的开发人员觉得,在视频流情况下,也可以用FD来做检测,虽然1s内的吞吐量不足,但可以抽帧来解决,这种方案我之前也使用过,但效果真的不好,人运动的稍微快点,或者人脸转动大点时,FD就把TrackID 给跟丢了。

二. 参数FaceOrient对识别效果的影响与调优

2.1 FaceOrient人脸角度的理解

人脸角度指的是人脸在单帧图片中的2维倾斜角度,如图
0度 ASF_OP_0_ONLY


image.png

90度 ASF_OP_90_ONLY


image.png

180度 ASF_OP_180_ONLY
image.png

270度 ASF_OP_270_ONLY
image.png

大家可以把自己摄像头的单帧保存下来看看人脸的角度值。
FaceOrient角度设置是非常有讲究的,如果设置不对,对FT,FD的检测结果影响非常大。

2.2FaceOrient设置的两个原则:

a)如果系统使用场景固定,如门禁系统,摄像头出来的角度是固定的,非常强烈建议设置成实际的角度 ,这对检测速度和检测质量是最好的;例如实际是180度角度,sdk却设置成了错误的角度(0度,90度,270度)时,人脸检测结果要么是检测不到人脸,要么是结果不可信;但是官方有个全角度检测 ASF_OP_0_HIGHER_EXT,我试验了这个参数,比设置错误的角度肯定要好点,但检测性能和质量都比不上设置成180度(实际的人脸角度)
b)使用时的人脸角度经常变动,比如手机上,假如横屏是0度,那么倒着拿就是180度了,这个时候似乎也只能设置成全角度ASF_OP_0_HIGHER_EXT 检测了

2.3 使用中的坑

    我的门禁系统是android 系统APP应用,经过优化后,使用了固定的角度0度,检测非常准,也非常快速;但当我们把设备发给用户使用时,用户反馈系统不能检测到人脸,痛苦呀,非常怀疑是设备问题,打包回公司测试,发现一切正常,那个郁闷呀,只能出差到用户现场,现场安装,现场测试,一切安装好后,方了,原来用户也可以这么装,硬生生的把设备装反了,由于我是设置成0度,用户反过来安装就变成180度了,自然检测不正常了;我不大可能用全角度检测,因为测试出效果不是很理想,所以在安装的时候给用户定了下安装方向,同时在我们的程序中有个设置角度的界面入口,根据不同的场景,直接设置成实际角度;这样就可以灵活地解决问题。

三. Scale 参数介绍与性能实测

3.1 Scale定义

     Scale定义为人脸在整个帧或图片中的长边的占比的倒数,Scale的大小对性能的影响还是很显著的,看下下面图片的Scale值,估算下应该是3,如果SDK的Scale值设置成3时,实际的意思是小于这个大小的人脸,SDK是不做识别的;只有大于或等于这个大小的人脸,才会识别出来。


image.png

这个值要根据实际的需要进行设置,设置的越小越耗CPU。

3.2 性能对比测试

    两组性能测试,一组为FT,另一组为FD,每组均做100次检测,最大人脸数统一设置为10,scale 设置分别为4,8,16三种。

第一组

z1.png

第二组

z2.png

对比测试结果

VIDEO 模式(100次)

scale totalTime
4 4ms
8 60ms
16 1035ms

IMAGE模式(100次)

scale totalTime
4 95ms
8 241ms
16 4944ms

    清晰的可以看出scale参数的取值对CPU的影响,取值越大,耗时越久,同一取值下,IMAGE耗时比VIDEO更长,在实际的使用中,只要scale满足需要,就尽量设置小点,可以省不少资源。

    先写到这里吧,不准确的地方欢迎大家提建议,下次会给大家带来其他设置参数的调优与测试比对,敬请关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容