1.2 计算机视觉学习的基础与研究方向
计算机视觉是一个专门教会计算机如何去“看”的学科,更进一步说明就是使用机器替代生物眼睛去对目标进行识别,并在此基础上做出必要的图像处理,加工所需要的对象。
使用深度学习并不是一件简单的事,建立一项有真正能力的计算机视觉系统更不容易。从学科分类上来说,计算机视觉的理念在某些方面其实与其他学科有很大一部分重叠,其中包括人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算,以及一系列的数学计算等。这些领域亟需相关研究人员学习其中的基础,理解并找出规律,从而揭示那些我们以前不曾注意的细节。
1.2.1 学习计算机视觉结构图
对于相关的研究人员,可以把使用深度学习解决计算机视觉的问题归纳成一个结构关系图(图1-7)。
图1-7 计算机视觉结构图
对于计算机视觉学习来说,选择一个好的训练平台是重中之重。因为对于绝大多数的学习者来说,平台的易用性以及便捷性往往决定着学习的成败。目前常用的是TensorFlow、Caffe、PyTroch等。
其次是模型的使用。自2006年深度学习的概念被确立以后,经过不断的探索与尝试,研究人员确立了模型设计是计算机视觉训练的核心内容,其中应用较为广泛的是AlexNet、VGGNet、GoogleNet、ResNet等。
除此之外,速度和周期也是需要考虑的非常重要的因素,如何使得训练速度更快、如何使用模型能够更快地对物体进行辨识,这是计算机视觉中非常重要的问题。
所有的模型设计和应用最核心的部分就是任务处理的对象,主要包括检测、识别、分割、特征点定位、序列学习五个大的任务,可以说任何计算机视觉的具体应用都是由这五个任务之一或者由其组合而成。
1.2.2 计算机视觉的学习方式和未来趋势
“给计算机连上一个摄像头,让计算机描述它看到什么。”这是计算机视觉作为一门学科被提出时就做出的目标。如今还有大量研究人员为这个目标孜孜不倦地工作着。
拿出一张图片,上面是一只狗,之后再拿出一张猫的图片,让一个人去辨识(图1-8)。无论图片上的猫或者狗的形象与种类如何,人类总是能够精确地区分图片是猫还是狗。把这种带有标注的图片送到神经网络模型中去学习则称为“监督学习”。
图1-8 猫VS狗
虽然目前来说,在监督学习的计算机视觉领域,深度学习取得了重大成果,但是相对于生物视觉学习和分辨方式的“半监督学习”和“无监督学习”,还有更多更重大的内容急待解决,比如视频里物体的运动、行为存在特定规律;在一张图片里,一个动物也是有特定的结构的,利用这些视频或图像中特定的结构,可以把一个无监督的问题转化为一个有监督的问题,然后利用有监督学习的方法来学习。这是计算机视觉的学习方式。
MIT给机器“看电视剧”预测人类行为,MIT的人工智能为视频配音,迪士尼研究院可以让AI直接识别视频里正在发生的事。除此之外,计算机视觉还可应用在那些人类能力所限、感觉器官不能及的领域和单调乏味的工作上——在微笑瞬间自动按下快门,帮助汽车驾驶员泊车入位,捕捉身体的姿态与电脑游戏互动,工厂中准确地焊接部件并检查缺陷,忙碌的购物季节帮助仓库分拣商品,离开家时扫地机器人清洁房间,自动将数码照片进行识别分类。
或许在不久的将来(图1-9),超市电子秤在称重的同时就能辨别出蔬菜的种类;门禁系统能分辨出带着礼物的朋友,或是手持撬棒即将行窃的歹徒;可穿戴设备和手机帮助我们识别出镜头中的任何物体并搜索出相关信息。更奇妙的是,它还能超越人类双眼的感官,用声波、红外线来感知这个世界,观察云层的汹涌起伏来预测天气,监测交通来调度车辆,甚至突破我们的想象,帮助理论物理学家分析超过三维的空间中物体的运动。
图1-9 计算机视觉的未来
这些,似乎并不遥远。