ABCDEFG,AI罩杯分类器!
2018-01-11 20:43:56     [查看原文]

之前很多人私信我聊了很多关于深度学习的问题……我深刻的感到大家被“媒体人工智能”毒害的不轻,这让远在朝鲜的我深感痛心。今天平壤这边零下七度,下午闲着也是闲着……撸个Demo给大家普及一下深度学习,很简单的入门。你们可以照着这个思路做点其他的东西。

封面的我们朝鲜“挖掘机”最爱的卡戴珊姐姐,嘿嘿……

Hi Man!你能看一眼就知道别人的罩杯嘛?无论她是茶杯盖还是小白兔。如果不能,那么你可能需要仔细看一下这个文章,因为我用“人工智能”做了一个识别罩杯的工具。

Hi Girls!据调查,80%的女性所穿的bra与自己的尺寸不符。如何解决这个问题呢?请仔细看完我的文章,学会用“人工智能”识别你的罩杯。

通过这个简单的Demo,我希望大家能够对“人工智能”的系统有一个简单的了解,看看“人工智能”在视觉方面如何究竟是怎么操作的。另外,我自己真的是一个“胸盲”,完全区分不出ABCD有什么区别,因此我就想到了用AI来帮我判断。

其实,AI罩杯分类器这个项目很简单,主要有下面几个步骤:

收集数据训练模型愉快的测试阶段分析项目设计模型框架部署模型并进行预测

分析项目

我的目的是做一个罩杯分类器来帮我识别是什么罩杯。做好以后,我拍个照,系统就能给我给个罩杯大小,另外我觉得ABCDE这个五个类别就够了,我真不信有超过E的?(后来被媳妇儿说了……又弄了个F的文件夹……)我在朝鲜这么多年,真是没见过。

然后可以看出这是一个关于图片的多分类问题,一提到图片,我自然就要选择卷积神经网络了。最后,我决定用基于TensorFlow的Keras做深度学习框架,用Python做开发语言。另外我用的是AWS的tesla k80,没有GPU的朋友切勿轻易尝试大规模数据集,我担心你电脑吃不消。

收集数据

接下来就是收集数据阶段了,最简单的办法自然是爬虫了,去网上分ABCDE爬个几千张图片过来,简单有高效。但是我觉得这样不靠谱,因为标题党太多了,明明是A,她非要说C,还有些人还喜欢挤,硬生生的把B挤的比D还夸张。于是,我请了一个老司机肉眼识别罩杯,储存图片做训练数据。

后来,可能是因为老司机挖煤挖多了,连一百张都没收集到就不干了,说是眼睛疼。没办法,样本数据太少了,我只能用自己的方法增点训练数据。Keras提供了一个ImageDataGenerator模块,我可以使用它对图片做随机处理(旋转、平移、压缩等)。于是,我把老司机提供的图片进行了一些处理,好赖是搞了二千多张图片,参考代码如下。

设计模型框架

由于是一个简单的Demo,我就不用那些Vgg、Res了,自己随便弄了个四个影藏层的网络。每一层都用Relu做激活函数,最后一层输出用softmax,,然后每一层的节点数是我凭感觉的,没有使用dropout和BN。

训练模型

我设置了100个Epoch去训练模型,学习率是0.01,AWS的tesla k80真的是厉害了,训练起来非常快,一会会儿就好了。一开是的loss在20,acc只有0.12左右。更新了五个Epoch就有了很明显的提升,最后效果如下:

激动人心的测试阶段

先来看看卡戴珊姐姐的结果,结果还是蛮准的

再来看看我罗的,感觉C罗这个不止A呢......

不过模型还是有一些问题的,比如这个,F罩杯的馒头

总结一下,这个模型前前后后也就花了半天,因此还是非常粗糙的,而且缺少对目标的识别。比如它分不清你给他的图到底是不是真的胸……后续我会继续优化这个模型,争取做个小程序出来,到时候你们就可以带着我的程序导出扫一扫了!!!

PS:要是这篇文章大家感兴趣,下个周末我就撸个真假胸鉴别器……到时候整牛逼一点,先识别一下是不是胸,再判断是硅胶的还是真的。

本栏目中的所有页面均系自动生成,自动分类排列,采用联索网络信息采集、网页信息提取、语义计算等智能搜索技术。内容源于公开的媒体报道,包括但不限于新闻网站、电子报刊、行业门户、客户网站等。使用本栏目前必读