你的电脑是如何识别色图的?

差评2019-07-12 06:50:54



大家有没有发现。。。不知道啥时候开始,计算机能做到的事情越来越多了。


比如今年在网络上频繁刷屏的,利用计算机技术把视频、图片里的人 “ 换一张脸 ”。


 效果还挺好的。差评君还试着把石原里美的脸,给合成到日本小短片里了~


再比如,我们小时候的动画画面不是很清晰。


而现在计算机可以无中生有的为大家填补原画里没有的像素,生成一个高清动画。


还有那些被损坏的旧照片,哪怕它们是残缺的,计算机现在也能把它抢救回来了。


不仅如此。


 在视频监控系统中,计算机甚至能把你能从一大堆东西里给认出来,连你穿啥颜色衣服都能看的一清二楚。


 甚至有人,让计算机帮自己识别不雅图片。

GitHub 上就开源了一款鉴定不雅内容的 js 库 NSFW JS ,通过这个教程,大家可以搭建属于自己的识别小黄图客户端。

 sexy 只有5.58% ,差评。。。

哎嘿,人有视觉可以看到这个世界,难道计算机也有视觉么?


没错,计算机也是能 “ 看见 ” 这个世界的。甚至它可能比你更清楚什么叫做色情图片。。。


  这些贯穿于我们生活的例子,它们的实现都依赖于一门叫计算机视觉的学科~


无论是人去看东西,又或是计算机,都不是简单、粗暴的看到东西本身,而是一个巧妙的信息处理过程。


在知道计算机是如何理解看见的事物前,咱们得先知道计算机看的都是啥。


 这个事情非常简单。当我们打开一张图片,把它放大放大再放大以后,会看到一个个的小方格 ↓ ↓ ↓

这也就是咱们常说的像素点,所有的图片都是由这些小像素点组成的。


大家都知道,计算机里的所有东西本质上用 0 和 1 组成的二进制数字,表达出来的数字化信息。


通过 0 和 1 组成的不同数值,计算机会记录像素点的位置和色彩数值。


这些写好颜色的像素点排列在一起,到了电脑屏幕上就变成了我们能看懂的图像


基于这些原理呢,人类可以对图像做一些基本的处理。像刚才提到的图像增强、图像复原等。


那么,它又是怎么看见的呢?


 最开始,计算机看见的方式非常傻。得由人先设计好特征,计算机根据设计好的算法提取对应的特征,然后根据特征识别。


即便如此,计算机也只能 “ 看见 ” 某个特定物体而已。。。


每希望计算机识别一种新的东西,都要花大量精力去设计特征、建立模型。


我们生活中有多少东西?简直难计其数。

于是这个事情,就这样止步不前了。


说白了,这么做还是让计算机死记硬背图像特点,并没有真正地看到图片。


虽然后来有了机器学习方法,但也没有改善需要提取特征的问题,效率非常低下,无法做出应用。


 直到有人想到了 1981 年的一个有趣的医学研究成果。


1981 年诺贝尔医学奖颁给了 David Hubel 等几位哥们,他们发现了信息被传递到大脑皮层中是层层识别的。


 计算机专家们参考了这一模式。


举个栗子。给一个人看一辆汽车。


首先,人眼接收光线之后,感光细胞会形成一些信号,传达给大脑,这些信息说白了也是一堆像素。


摄入像素以后,这些信息会先进入第一层提取边缘特征识别出汽车的点、线等边缘。


这些在第一层提取出来的描述边缘的信息,会进入第二层,识别出图像中的基本形状或目标的局部比如车门、车灯等。


随后大脑的下一层会根据这些信息生成一整个目标,也就是一辆完整的车。


前面这些过程,其实几乎是本能反应,几乎不需要你去主动思考就能处理完。


 最后,这些被处理过的信息会进入更高级的大脑皮层进行思考,并且得到一些抽象化的结果:比如对这辆汽车的描述。


而这一发现,被计算机专家所仿照,按照这样由低到高,层层递进,高层的特征是低层特征的组合



这有点像卷起来的纸一样越卷越多,这一类模型被称为卷积神经网络模型~


 这样,大家就不用设计特征了,因为连特征都让计算机自己去学了。


但,随之而来的,这个新生儿就没了之前人为设计好的算法逻辑了。人们需要投喂数据给这个小朋友。


那怎么办呢,学。


这个过程还怪暴力的。科学家们给计算机观看了数以亿计的图片,并且人工告诉在计算机每张图片里有什么东西。


 在学习了如此庞大的图片库以后,你就有一个阅片无数的小哥帮你识别图片了。


这时候,你再把新的图片拿给这个小哥,他也能够根据之前学习过的 “ 经验 ” 来判断新图片里有啥东西~ 


并且能够简单描述一张图片。


 到这里,大家知道为啥,计算机能对图片里的物体进行一一辨别了吧。。


在现代工业上,有一门学问叫做仿生学,将生物体的结构和功能原理,应用到工业领域上。


大家小时候应该都从课本上得知,人们学习蝙蝠靠超声波定位的原理,发明了雷达;


学习蜻蜓翅膀上的翅痣结构,在直升机羽上部分加厚,提升了安全性。


以往我们认为,抽象的计算机工程很难在大自然中找到借鉴对象,结果发现还是被教做人了。


相信看了之前的描述,差友们都发现了,在关于教计算机怎么思考这件事上,人们借鉴了自己的大脑:


在一层层大脑区域内,信息经过初级特征处理,到抽象描述,从头到尾搞定了视觉的产生过程。


人们在计算机视觉上摸索了这么久,最终还是用上了大自然一开始的解决方案,这个方案人类晚了几百万年才用上。


人类站在了地球的顶点,证明了自己可能是大自然创造过的最好的产品。


如今现代工业发展了几百年,我们终于能做出足以与之媲美的工业产品了,它就是人工智能。



参考资料、图片来源:

Image Inpainting for Irregular Holes Using Partial Convolutions, 2018. https://blog.csdn.net/zouxy09/article/details/8775360 https://www.bilibili.com/video/av2812282/

https://shift.infinite.red/avoid-nightmares-nsfw-js-ab7b176978b1



“ 科技的力量 ”

https://www.wxwenku.com/d/201135038