写给青少年的人工智能:应用mobi电子书下载

计算机与互联网 核桃编程
简介: 一本写给青少年看的人工智能科普图书,目的是帮助小读者们启蒙科学素养,开阔科学视野,培养科学思维,锻炼动手能力,让小读者们了解人工智能的过去、现在和未来,从而更好地融入人工智能时代。

明察秋毫的人工智能

桃子:禾木,你要是再走路玩手机,就要撞到树了!

禾木:哎呀,这个植物识别软件真是太有意思了,一路上我靠它认识了好多植物呢!

桃子:禾木,你说它这么聪明,应该也算是人工智能吧!

禾木:嗯,我认为是的。摄像头对于人工智能就像眼睛对于人类一样吧!

小核桃:摄像头只是让人工智能具备“看”功能的硬件设备,但只有硬件是不够的,还需要有人工智能算法,这样才能理解看到的内容。下面我们就一起来看看,人工智能到底是如何“看见”的。

人工智能如何“看世界”

眼睛是我们了解外界最重要的器官之一,我们接收的各种信息大部分来自视觉。因此,让人工智能拥有视觉、能识别图像非常重要。那么,如何才能让人工智能看见世界呢?

你可能会想,加个摄像头不就行了?当然没有这么简单,如果只是简单地安装摄像头,那么计算机只能“视而不见”,就好比你看到一篇用完全不懂的文字写就的文章。计算机中的信息都是以二进制数字的形式存储的,摄像头拍摄的内容对于计算机来说也只不过是一串平平无奇的0和1而已,如图1-1所示。无人机可以携带摄像头飞过广阔的大地,但是如果没有盯着屏幕的摄影师,它根本认不出自己正在追踪的斑马;监控摄像头可以覆盖大街小巷,但是如果没有负责监控工作的警务人员,它也认不出隐匿在人群中的嫌疑人,如图1-2所示。

图1-1 图像在计算机中以二进制数字0和1储存

图1-2 摄像头拍摄的视频一般需要人来解读

那么,有什么办法能让计算机真正“看见”呢?人类要看见东西,需要眼睛和大脑的配合,计算机也是如此。除了作为“眼睛”的摄像头,计算机还需要用作“大脑”的人工智能程序去分析摄像头拍摄的内容,如图1-3所示。计算机视觉就是研究如何开发出优秀的程序、让人工智能拥有视觉等问题的技术。和许多其他的重要问题一样,计算机视觉问题也是从人工智能诞生起就困扰着科学家们。还记得我们在《写给青少年的人工智能 发展》一书中提过罗森布拉特用感知机去分辨卡片上的左右标记吗?这其实就是早期对于“如何让机器看见”这个问题的一次探索。

图1-3 人工智能程序就像人类的大脑

不过,直到深度神经网络逐步发展成熟,计算机视觉问题才真正得到了初步解决。

通常来说,计算机视觉主要需要解决四方面的任务:分类、定位、检测和分割。

分类很容易理解,就是去判断这幅图到底属于什么类别,或者是不是我们想要的图像,如图1-4所示。分类虽然简单,但它可是计算机视觉中重要的问题,是其他任务的基础。

如果我们能够判断出这幅图是什么,就可以进行下一步判断——目标在图中的什么位置。在实际应用中,定位一般是采用包围盒的方法实现的,其实就是用一个方框把目标圈起来,如图1-5所示。

图1-4 分类

图1-5 定位

其实这个操作非常常见。大家在用手机里的相机拍照的时候,就会注意到镜头中的人脸周围会自动出现一个方框。这其实就是利用了计算机视觉的图像定位技术。定位人脸之后,相机就会利用算法对人脸进行更精细的拍摄,或者给你“美颜”一下。

检测比定位更进一步。这是因为,在定位目标时,通常只有一个目标,即使有多个目标,通常也是数目固定的,而且是同一种类,但是目标检测更一般化,图像中所出现目标的种类和数目都不确定。也就是说,定位一般是让计算机找出图像中的一只或者几只猫在哪里,但是检测需要计算机找出图像中的猫、狗、小老鼠、鸽子、香蕉、卡车等各种各样不同的目标在什么位置,如图1-6所示。因此,检测是比定位更具挑战性的任务。

不过你一定注意到了,检测和定位其实很像,所以,要进行检测的话,我们可以先只看图像的一部分,就好像从一个小窗口去看图像。虽然原图中可能有很多目标,但是我们从小窗口看到的一般只有一个目标。这样,就把复杂的检测变成了相对简单的定位,只要我们移动小窗口,扫描整个图像,就可以完成检测了,如图1-7所示。

版权:人民邮电出版社