Py学习  »  机器学习算法

用“机器学习”识别范冰冰背后的男人

TFT小组 • 6 年前 • 632 次点击  

不是李晨 不是李晨 不是李晨 

因为我说的是这张照片

是我们的范爷还不是范爷的时候. 


早在武媚娘之前

早在胭脂雪之前

甚至在还珠格格的金锁之前... 

那时的她,,还不那么红.



这条微博上热搜的当天, 我手头一个500人的微信群炸了. 


大家说范冰冰后面的男人, 我们上过...



...上过他的课



这个老师叫刘功勋, 在口语界小有名气.


因为以“口活儿好”闻名, 所以每次在人群里找他的时候扫一眼牙就差不多了: 反差出口齿最白的那个. 比如三年前他毕业, 我和很多学生都知道, 在CMU茫茫人海中“找勋哥不用看脸, 先找牙”.



但是微博热搜的这张图里... 



ummm 不一定... 因为那个年代大家拍照都是这表情😁, 实诚! 也难怪人群里会有质疑声“范冰冰今年37, 过气网红看起来也不像37岁的啊... 莫非勋叔显老?”  


其实人眼识别并不那么准确. 我原来上过一个阅读课, 老师曾经用了这么一张ppt, 让我们人眼识别一下图中有几个刘功勋, 来类比阅读中快速定位信息的能力. 



据说她做这一页的时候眼睛都快瞎了. 当时课上就有好几个人没看出来, 有人说全部都是, 有人说10个. 但是 ground truth 是除了中间那个宋小宝之外...也就是14个. 


其实会犯这样的错误也能理解, 之后我俩总结了一下原因:


宋小宝和刘功勋在肤色和表情没有区别, 偶尔眼神也一模一样. 所以, 在千万个刘功勋中找宋小宝不容易, 在千万个宋小宝中找刘功勋也不容易. 但是在千万个吴彦祖中, 却能一眼看到... 这似乎不需要太多解释. 


于是我决定用ML训练一下, 有着千千万万个宋小宝和刘功勋一起辣眼睛的情况下, 神经网络能否作出完美区分. 不需要多看他一眼, 也能记下他的容颜.


说服18线网红开始录 vlog 重新回到大众视野后, 就开工了.



说干就干,预备,走!

(终于到正文了)



Step 1 准备训练数据





选取数量均衡的正负样本(positive/negative samples), 借助图像处理库OpenCV, 实现以下几小步



Step 1 人脸识别(face detection)

自动抠出所有头像. So Easy.


Step 2 数据增广 (data augmentation) 

通过旋转、镜面反转及其组合操作,将每一个样本增广7次,也就是1变8. 


Step 3 训练数据 (training) 

将所有人脸图像都统一成 64 x 64的尺寸(image resize)方便成批放入模型进行训练.




因为OpenCV封装了人脸检测算法,也提供了诸如resize这样的基本图像操作函数,所以一个简单的循环语句遍历路径下全部图像,然后将预处理结果一一存储就能搞定.




STEP2 构建模型



采用了当下图像处理最主流的卷积神经网络模型:



构建的神经网络模型长这样


STEP3 训练模型



不解释了, 看损失函数吧




STEP4 测试



接下来,就是见证奇迹的时刻. 


2013年的刘老师

2014年的刘老师





▲不知什么时候的宋小宝1

▼ 不知什么时候的宋小宝2


用不在训练集里的图片重新做一次识别, 挺机敏, 秒秒钟鉴别“真假刘功勋”.


那么, 再回到最开始的问题: 千万个宋小宝的图海里能找到刘功勋吗? 微博热搜里的那张脸是他本人吗? 过气网红是否是在有意隐瞒自己37岁的真实年龄, 意图再拼一拼, 博出下一春、重新火一把? 



机器学习小组



机器学习小组等你来深入实践一探真相! 


除了在课堂上展示有趣的案例, 我们还将让你有实际上手的二分类/多分类项目, 或者带着你将“图像风格模仿”应用在视频中, 做出 再或者让你来生成一面有着1000张你最喜欢的爱豆照片的照片墙...


一个半月的小组, 我们让所有学生, 不管是否有计算机专业的背景, 都能动手做一个机器学习项目. 也许是为了丰富自己申请学校时递交的简历, 也许是为了试水一个自己感兴趣却又不敢马上转行的方向, 也许是为了让即将赴美读相关专业却缺少相关背景的自己在未来踏入全新校园时添点底气. 再或者, 也许你不是那么功利, 单纯是为了某次聊天谈起’特斯拉的自动驾驶’ ‘Amazon的Alexa’…时也有一个话题可以撩妹/汉.


我们的小组以“项目实践”为主, 所以为同学们留下足够的能完成个人项目、理解课堂案例项目的时间和能在recitation提出最有价值问题的机会. ‘内行人能学出门道, 外行人也能学出热闹’. 代码狂热者可以通过选择更有挑战性的项目提升水平, 而小白们也能通过课程列表中的项目循序渐进实现真的“入门”. 我们想让学生明白, 从研究到工业的应用再到生活中的推广, Machine Learning和更广义的AI并不是那么遥不可及. 所以在小组中, 你会在lecturer和coach的课程、阅读材料及分享中窥得机器学习中有意思的项目和无限广的应用场景. 在视频中自动跟踪物品并标注其名称的“自动图像标注”技术, 在图像中智能识别情景与内容并给用户文字回答的“视觉问答系统”, 在比赛中判断运动员的骨架与动作的“人体姿态估计”... 


整个小组期间, 老师及coach团队将带你认识前沿研究热点, 与你共读文献, 共同见证机器学习的魅力.



做项目为主要导向

剖析最前沿热点

讲解经典案例的机器学习小组

本期报名特惠只要1200

听/说/读/写/文书小组老学员还能再享200优惠.


↓↓↓点击【阅读原文】了解课程详情 立刻上课


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/DmZrm7KcBH
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/10210
 
632 次点击