点击上方“CVPlay”,选择加“星标”或“置顶”
来吧,一起探索CV天地
人脸关键点检测是一个非常核心的算法业务,应用广泛。比如我们常用的换脸、换妆、人脸特效等2C应用中的功能,都需要先进行人脸关键点的检测,然后再进行其他的算法业务处理;在一些2B的业务场景中也都有涉及,如疲劳驾驶中对人脸姿态的估计,人脸识别前的人脸对齐等。
人脸关键点传统方法从早期的ASM、AAM发展到CPR(级联姿势回归),逐渐迈过商业落地的门槛;2013 年,卷积神经网络CNN 被首次应用到人脸关键点检测,之后由于其极大的商业价值迅速进入发展快车道;2018年底,本人和朋友调研开源的人脸关键点模型,当时精度最高的是商汤LAB,后来接触到不少朋友也是拿LAB作为辅助标注工具,LAB的边缘鲁棒性确实不错,同时期的还有Wing Loss,展示了暴力回归的实战可行性;2019年轻量级人脸关键点开始具备实战意义,以PFLD和Peppa_Pig为主,越来越多的公司开始自研人脸关键点,期望部分替换甚至完全替换第三方SDK。
学术届的人脸关键点从机器学习发展到大放异彩的深度学习,同时伴随着商业界各路公司的兴衰起伏。
ULSee:人脸关键点(机器学习流派)TOP级选手,14-16年在商业界吃足了技术红利,客户涉及Tobii、SoftBank、LINE、腾讯、京东等公司,2015年7月7日,著名众筹项目 FaceRig发行,底层人脸关键点技术便是由ULSee提供的;16年基于深度学习的人脸关键点开始商业化,以商汤为代表的深度学习流派大放异彩,商汤在和ULSee的竞争中拿下Faceu激萌,ULSee发展出现转折;2018年2月Faceu激萌被字节跳动3亿美金收购,不久字节跳动便用自研人脸关键点替换掉商汤的SDK,这个时候本来由ULSee提供人脸关键点技术的天天P图也早已替换成了腾讯优图自研的人脸关键点,ULSee和商汤相似的经历映射出SDK提供商的尴尬(大客户会自研、小客户会倒闭)。时至今日,人脸关键点中的机器学习流派天花板已经非常明显,在遮挡和极端case下已经被深度学习流派拉开差距,毕竟两个时代的产物。
商汤:人脸关键点(深度学习流派)TOP级选手,16年商汤的人脸关键点大规模开始商业化,客户包括字节跳动、快手、新浪、爱奇艺、映客、虎牙、B612等互联网公司,随着各大互联网公司逐步开始自研,商汤这块业务也在遭受挑战,目前一部分公司已经实现自研,一部分走在自研的路上。
字节跳动:目前头条自研的人脸关键点支持了所有头条系APP,当年ULSee和字节跳动共同的投资人建议头条使用ULSee的人脸关键点,被一心自研的张一鸣前辈果断拒绝;最开始头条也租用了商汤的人脸关键点,商汤研究员的送温暖加速了头条自研之路;5000人标注团队,十几个算法研究员一直打磨,算法侧和工程侧两边调优,在实测过程中,头条的人脸关键点在极端case(如嘴部遮挡)已超越商汤;如果ULSee和商汤是时代的变迁,那么头条则证明了在商业社会里决心的力量。
下面我们结合各路资料简单谈谈人脸关键点算法的自研,首先我们上一张极端图,以此引发算法设计的思考:图中蓝色为人脸检测器的五点,红色依次是模型的输出,左图基于人脸检测器五点做人脸对齐,中图基于左图的模型输出做人脸对齐,右图基于中图的模型输出做人脸对齐,三次精调救回极端case,证明人脸对齐对人脸关键点的回归作用很大。
手机端人脸关键点如何快准稳 https://zhuanlan.zhihu.com/p/73783609
为什么要做人脸对齐?我们知道标注数据中一般会有很多旋转的人脸,虽然说只要标注数据中有这些旋转人脸,CNN肯定能够回归出来效果。但不可否认的是,人脸旋转角度过大,增加了问题的难度,不利用训练出稳定性很高的模型。而这些旋转的人脸数据是可以通过仿射变换,把这些人脸矫正对齐的,这样可以降低训练难度,能较大地提升回归模型的效果。实验证明,通过对人脸进行矫正对齐后,再做小角度(如10度)的扰动,回归出的点更加稳定。
然后我们简单谈谈数据这块重中之重(深度学习三大件:数据、网络、Loss,最后往往形成壁垒的是数据或者说数据环路),市面上一张106点人脸关键点数据的标注成本是6-8元;人脸关键点的训练数据非常重要,绝对数量并不是重点,实战过程中需要根据实用场景采集相应的原始图片,覆盖不同年龄层、自拍各种角度(侧脸角度、俯仰角、方位角)、不同表情(睁闭眼、张嘴、闭嘴、大笑、抿嘴)等。实战中可以通过大模型辅助标注数据,离线蒸馏小模型等来降低标注成本。
除了数据和算法设计,在移动端场景下的防抖也是难点,实战中还要考虑移动端的部署优化等,所以自研一款商业级人脸关键点并不容易,这也是有些公司一边租用商汤SDK,一边还走在自研路上的原因,特别是2C公司,如果自研效果不是接近商汤甚至超越商汤,替换商汤SDK对业务的损失往往远超租用商汤SDK的费用。
本人之前的方向是人脸识别系统,做过人脸关键点相关的工作,深感移动端场景下人脸关键点的难度,当时想做遮挡判断但没有遮挡数据,拿开源的口罩数据MAFA作为遮挡训练数据(带不少脏数据),惊讶模型能力天花板超出预期。
深度学习引领的第三波人工智能尚未结束,经历过人工智能的潮起潮落,本人深感AI只是个工具,滚滚商业红海,最终能杀出来的一定是满足人类需求的那些战舰,那么还有哪些尚未被满足的需求呢?
参考资料
[1]https://zhuanlan.zhihu.com/p/73783609
[2]https://blog.csdn.net/lgh0824/article/details/86741053