文献笔记:《Can we still avoid automatic face detection?》读后感~

       近期开始每天都看arXiv上的最新文章,发现arXiv真的是一个不错的文献网站,这里面有大量很新很好的想法提前公布给大家,并且arXiv的文章很多已经被当做参考文献所引用,所以建议搞算法的筒子们也多跟踪跟踪这里的论文,很有帮助!!上个礼拜就看到这篇文章《Can we still avoid automatic face detection?》,文章没有说关于算法理论方面的东西,只是阐述了一个很有趣的话题:如何不让facebook检测到你的脸。或者换句话说吧,“调研一下facebook人脸检测的弱点在哪里”。

       

论文告诉我们一件事情

       可能有的朋友们对这种主题的文章并不感兴趣,但对于我来说,看多了“传统”算法文献,冷不丁看到如此标新立异的文章,就仿佛陶渊明同志在桃花源中发现那里的厕所既干净又整洁,无法抑制住内心的狂喜。。。。下面,本文我来介绍一下本文说了一个什么样的美丽故事。


       我没用过facebook,因为我无法打开facebook的网站,不过这没关系,我们的人人网就是模仿它来的,facebook有个功能是“找出你认识的人”,该文的作者认为这种功能会侵犯很多无辜人类的隐私,那么对于我们这些善良的宅男,如何才能避免自己那张“程序脸”不被过多的暴漏于世呢?为了我们作者一共做了如下两件事情:

1.针对face book的人脸识别进行分析,得出人脸检测是保护隐私的首要选择。
2.研究了face book的人脸检测对何种因素比较敏感,分别从光照,遮挡(自然遮挡和人工遮挡),遮眼,遮挡特定标定点等几方面入手进行试验,实验结果表明,除了光照没有干扰之外,剩余的因素都可以降低face book检测率。


图1. 悲剧的是,这几种情况facebook都可以检测出来


关于第一点,如果你的脸被检测出来了,那么就可能被你的朋友圈的熟悉的陌生人们给你打上一个重重的tag,根本不需要facebook自己的人脸识别功能,依靠广大的人民群众,你只要一冒头肯定就被抓到了,所以作者认为重点在于人脸检测,如果我们可以通过啥子办法让自己无法被人脸检测器检测出来,然后就不会有什么然后了,如何做到?我当时想到的无非有一下几点:

A. 化妆

B. 带个围脖

C. 带个墨镜

D. 调暗视频灯光


令我感动的是,这几点都在作者的试验范围之内,下面让我们来看看作者都做了哪些试验,得到了哪些结论。

 遮眼是个好方法!!!不过用白色遮明显有用


 调黑图像没有用,你一定很惊讶吧?人可不能做到这点。


弄成斑点狗是有用途的,不过谁会这么糟蹋自己?


带围脖的确是个好办法!墨镜不行


       大家看完之后一定也会想知道到到底为什么会这样,作者其实并没有仔细分析原因,但是作者提供了一个富含深意的统计图像。


       这个图像的意思是,每个点被遮挡的时候的人脸识别率,我们可以发现鼻子附近对人脸识别是最重要的,但是由于只测试了单一数据集,不具备太强的统计意义,只能启发一下我们不想让别人认出来的时候应该如何是好。答案是,遮住你的鼻子。。。。


自己想说的话

借着这篇文献我们来说一说人脸识别基本流程


图2.人脸识别基本流程图


       这是我画的人脸识别基本流程图,输入图像之后,第一步就是人脸检测,不要小瞧这一步,其实人脸识别这么多年的研究大部分学者的精力都集中在此处,就我自己研究实现过的人脸检测算法,就有这么四大类,1)基于adaboost的人脸检测,这个应该算是早期的类别了,基于的哲学思想就是“三个臭皮匠,顶的上一个诸葛亮”,采用弱分类器串联,强分类器级联,即cascade的方式予以解决,该类别算法的缺点是如果弱分类稍微复杂一点,那么算法耗时将会直线增加,所以在实际应用中我们往往采用桩分类器,即一个简简单单的特征作为弱分类器,中心都放在了训练上面。2)基于proposal的人脸检测方法,过去两年大家一直都在用BING和edge box这两个算法作为proposal的检测,然后进一步在有限几个proposal中应用adaboost等算法检测人脸,这样做的好处就是提速,但是缺点也很明显,这两个算法都无法在非正常条件下提取出准确的proposal,是无法,可以说是昙花一现。3)基于DPM的人脸检测方法,该方法是近期传统人脸检测方法中最好的一个,考虑到了人脸各个部件之间的关联,得到了很好的效果,但是缺点就是一个慢。4)基于深度学习的人脸检测方法,这个方法已经成为现在人脸检测方法的主流,目前正在从事这方面的研究,它和adaboost同属于傻瓜式的机器学习方法,但是其借助于“图像卷积”所具有的天然的特征提取能力,取得了远远超过adaboost的实验性能。


      特征点标定,这个我已经发过两篇博客了,就是通过一定的手段提取面部关键点,英语名称keypoint,这块内容我很感兴趣,里面有各种各样数学理论的成功应用,最开始统治算法为ASM和AAM两兄弟,过去几年井喷一样的出现各种突破性算法,基于拟牛顿法的SDM,作者称之为有监督下降法, 还有基于随机森林方法的LBF,每个特征点都对应一个随机森林,效果与SDM相当,但是速度却快了很多。


     人脸规范化,其实这部分内容是最简单的,也是必不可少的,我们在提取特征之前都要进行人脸对齐,以模板脸或者中心脸为比较对象,事先基于人脸姿态对人脸进行“校正”,主要核心内容就是人脸姿态估计,人脸姿态估计的方法不多,主流方法就是基于人脸特征点,直接转化为非线性最小二乘问题,然后利用各种优化方法,如LM,牛顿法,梯度下降法,信赖域算法等进行求解。不过姿态估计所取得的精度一直不高(1度之内很难做到),近年来,竟然出现了基于深度学习的人脸姿态估计方法,我觉得很可笑,一个是这样做得到的姿态永远都是离散的,除非你能够收集到足够多的、连续的、各种人脸姿态样本进行训练,另一个是这样做其估计速度肯定很慢。我总感觉它属于”捡了籽麻,丢了西瓜“。之后,就可以进行对齐操作了,我试过"普特鲁斯"方法,效果还不错。


     特征提取,这一步指的就是根据标定的特征点提取复杂特征,这一块内容也融入了无数学者的心血,在此处不好妄加评论,诸如SIFT,LBP, HOG,FISHER等特征早已是经典中的经典。


     人脸识别,我在研究生期间就在做这方面的东西,那个时候做的也很简单,特征只选择图像的灰度值,利用子空间学习中的诸如PCA,LDA,LPP,LEE等变种算法来投影人脸特征至低维可区分子空间,其实当前这套理论经常被称为“度量学习”的一种方法,其他诸如字典学习,稀疏表示等都属于这一范畴。然并卵,出来工作之后才知道这样做没什么实际价值,应用于实际的方法充其量用用R-LDA。值得指出的是,上面说的这些属于狭义的人脸识别,相对论不是也分为广义相对论和狭义相对论嘛!!那么什么是广义的人脸识别呢?


     目前在人脸识别方向当之无愧的老大是深度学习中的卷积神经网络,DeepID取得了很好的效果,并且后续改进型网络结构被陆陆续续的提出。这类深度学习的方法是“端对端”的,“端对端”是一种很装的说法,它想表达的就是,上面说的几个步骤我用一个网络就全做好了,输入的是任意图像,直接得到分类或者验证结果。这类方法已经是当前的主流,自从xiaoou tan基于LFW数据集,在一定意义上取得了超越人类的识别能力,就注定了传统人脸识别方法的没落。深度学习是每个搞机器学习算法的童鞋的必经之路,我现在也再搞这个,以后会一篇一篇的详细和大家讨论。


结论

     最近明显变懒惰了,每个月只写一篇博客,其实自己有很多博客想写,但是那个兴头一过,再动动手指头就难了,人还是要勤快点。简单的事情逼着自己去做,也就马上做好了,这是其一。复杂的事情逼着自己去做,也就逐渐上手了并感兴趣了。这是这几个月来搞深度学习得到的小小体会,分享给大家哈~
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值