本文授权转自"差评"

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

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

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

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

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

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

不仅如此。。。

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

 甚至有人,让计算机帮自己

识别不雅图片。

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

推荐阅读

那个清华哈佛双料女学霸, 辞职了

Python 3.8 即将到来,这是你需要关注的几大新特性

2019 年 7 月编程语言排行榜

24 个让 Python 加速的好方法!

杀手级AI补代码工具问世,支持23种语言及5种主流编辑器,程序员沸腾了

【资料】从 0 到 1 教你深度强化学习

喜欢就点击“在看”吧!

你的电脑是如何识别色图的?相关推荐

  1. js 获取电脑 硬盘序列号_来将何人报上名来!解密电脑是如何识别硬盘的

    电脑可以搭配和兼容各种不同品牌的硬盘,是因为他们都遵循了ATA/ATAPI标准,使用共同的语言沟通.这个标准都有什么有趣的功能和作用呢?一起来看存储极客的介绍. ATA/ATAPI是存储设备(硬盘.移 ...

  2. 电脑不识别移动硬盘怎么办_U盘插入电脑后不识别无法读取的解决方法

    电脑无法读取U盘怎么办?电脑不识别U盘该如何解决?本文就给大家介绍U盘插入电脑后却不识别的解决方法. 解决方法: 1.右击桌面上的"计算机"图标,从弹出的扩展菜单中选择" ...

  3. 移动硬盘(USB3.0)1TB 在自己电脑上突然识别不了

    移动硬盘(USB3.0)1TB 在自己电脑上突然识别不了 网上说什么电源选项之类的,都搞不定.通过逛贴吧 一个大佬给支了一招 巨好用.................................. ...

  4. 计算机无法识别出cd驱动器,迅捷(FAST)免驱无线网卡插到电脑上无法识别CD驱动器怎么解决?【图解】...

    迅捷(FAST)免驱无线网卡插到电脑上无法识别CD驱动器怎么解决? "fast迅捷免驱版网卡插上后无法识别到CD驱动器怎么办?""怎么解决fast无线网卡识别不了驱动的问 ...

  5. 计算机提示无法识别usb,小编教你电脑出现无法识别usb设备怎么办

    小伙伴你们知道如何解决电脑出现无法识别USB设备这个问题的解决方法吗?要是不知道的话,不必感到尴尬哟,因为小编现在就来为大家演示一下进行解决无法识别usb设备这个问题的操作方法. 如今有不少的设备都是 ...

  6. mp3计算机无法识别,MP3\MP4连接windows电脑后无法识别怎么办

    MP3\MP4是指音乐播放器,如果下载音乐要连接windows电脑,有的小伙伴经常出现连接电脑后无法识别的问题,出现这种情况的原因有很多,除了可能是MP3MP4的自身原因之外,也可能与电脑有关.这里小 ...

  7. 计算机连接未识别的网络,Win7未识别的网络 Win7系统电脑提示未识别的网络15种解决方法...

    很多用户都是使用ADSL进行连接宽带上网,想必在连接的时候可能会碰到win7系统桌面的网络连接图标总是那边一直转连不上,然后就会提示未识别的网络,网络怎么也连接不上,要怎么办呢,针对这个问题,下面给大 ...

  8. 计算机无法读取内存,电脑内存条无法识别,真正的原因在这里

    原标题:电脑内存条无法识别,真正的原因在这里 我们的电脑在开机时,需要先进行上电自检(POST)才能正常开机.POST自检要对主板.CPU.内存条.硬盘.BIOS等重要硬设上电并且自检.在这些设备正常 ...

  9. 台式计算机读取不了移动硬盘,移动硬盘插入win7电脑一直无法识别的几种原因和解决方法...

    移动硬盘顾名思义是以硬盘为存储介质,计算机之间交换大容量数据,强调便携性的存储产品.现如今办公和生活中经常会用移动硬盘来储存大型文件数据等等,但是也有遇到过移动硬盘插入win7电脑一直无法识别的问题, ...

最新文章

  1. Android音频焦点申请处理
  2. Linux-sed文本处理流编辑器
  3. 通俗理解决策树算法中信息增益的
  4. 算法入门篇九 暴力递归
  5. python异常处理_Python学习点滴04 - 学会异常处理(2)
  6. ORACLE忘记sys密码
  7. 基于BS模式的航材电子商务交易平台(2)
  8. 计算机内存不足吃鸡怎么办,Win10玩吃鸡游戏提示虚拟内存不足怎么办?
  9. 织梦手机站搜索结果显示为电脑站的搜索结果模板的解决方法
  10. Windows下JNI的使用教程
  11. a byte of python2微盘_《A Byte of Python》与《简明 Python 教程》PDF版
  12. matlab legend下划线,MATLAB 画图 legend
  13. 对程序员而言,学历重要吗?
  14. paraview编译
  15. 嵌入式系统与物联网的关系
  16. 信佛的人对佛教的诘问
  17. 第七章 C语言函数_什么是函数?C语言函数的概念
  18. 2022 CCF中国软件大会(CCF Chinasoft)“可信AI软件系统工程技术”论坛成功召开...
  19. CPDA案例:基于EXCEL的一元线性回归案例《广告与销量》
  20. linux下静态编译mupdf,NDK编译mupdf1.1小记

热门文章

  1. iOS开发者们,请您们面向未来学习,效率学习!
  2. IIS安装和使用URL重写工具-URL Rewrite
  3. 第4章 数据可视化答案
  4. 2022-11-30:小红拿到了一个仅由r、e、d组成的字符串 她定义一个字符e为“好e“ : 当且仅当这个e字符和r、d相邻 例如“reeder“只有一个“好e“,前两个e都不是“好e“,只有第三个
  5. 互联网公司招聘--去哪儿--产品运营--2016年笔试题
  6. 公众号接入 OpenAI 智能机器人
  7. sketch(三)--插件
  8. 三位代表中国科技圈的85后技术男_他们眼中的AI是什么?
  9. SpringBoot 微信点餐开源系统,值得一看
  10. Galera:多主同步MySQL集群原理解析