AI算法半路出家的过程其实是有点痛苦的,告别了曾经熟悉的领域,在陌生又熟悉的道路上摸索着前进,其中的焦虑、彷徨以及面对信息过载的不知所措,常常让人怀疑当初的选择。好在,硬核人生不会被小小的困难劝退,我们有很多路径可以到达彼岸。也特别感谢科技和网络的进步,让知识的获取不再是少数人的专利。前些天找到了一个比较牛的AI学习网站,老师的授课方式风趣幽默,通俗易懂,让学习的过程兴趣盎然,忍不住推荐给大家。点击跳转到网站
最近一直在调研适合在嵌入式设备上运行的轻量级的人脸识别算法,算法太多,有点眼花缭乱,所以发挥优良传统,还是把调研结果整理出来进行记录比较好。今天先记录DBFace算法。
DBFace出自国内人工智能公司深兰科技,是一个实时、单阶的人脸检测算法,速度快、精度高。它基于anchor free思想设计的多任务人脸检测器,不仅可预测人脸框,还可以预测5个人脸关键点。
DBFace使用CenterNet做检测任务,MobileNetv3-small做backbone。相较于MobilenetV2,MobilenetV3在其基础上新增了 SE 、Hard-Swish Activation等模块,在兼顾Inference速度的同时提升网络性能。在任务头的设计中,引入了SSH的DetectModule和ContextModule,经实验验证该模块能有效的提升DBFace算法的检出性能。算法包含三个输出,分别是人脸box中心点的高斯heat map,回归出来的人脸框部分,以及人脸关键点landmark部分。
模型在WiderFace上的表现如下图所示,其中,带ext的模型(hard模块有CBA,Conv+BN+Activation)大小约1.7M,不带ext的模型大小只有1.3M左右。
在官方图片上的运行结果如下:
很牛吧,连人眼都分辨不出来的超级小的人脸都检测出来了,而且还标出了landmark。