深度学习之PyTorch实战计算机视觉
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 深度学习+

当深度学习方法开始融入对计算机视觉问题的分析和处理中时,传统的机器学习方法就逐渐被深度学习方法取代了。下面让我们大致了解一下哪些领域正在使用深度学习方法解决计算机视觉问题。

1.5.1 图片分类

图片分类具体指的是通过使用深度学习方法让计算机能够对输入图片的信息进行分析、处理并判定图片所属的类别。假设我们需要处理一个图片的二分类问题,现在有大量的苹果和梨的图片,其中一部分图片有类型标注,而另一部分没有,我们要完成的任务就是对没有类型标注的图片打上图片内容真实对应的类别标签,来完成对这部分图片的类型划分。其解决的思路就是将已经有标注的图片输入我们搭建好的计算机视觉模型中进行训练,然后使用训练好的模型对没有类型标注的图片进行类别预测,只要我们的预测结果足够准确,就解决了一个典型的图片二分类问题。当然,这个思路同样可以用于解决图片多分类问题。

1.5.2 图像的目标识别和语义分割

图像的目标识别(Object Recognition)和语义分割(Semantic Segmentation)可以说是图片分类的升级版本。图片的分类是指通过使用已经训练好的模型识别出输入图片的特征,然后才能将这些图片归属到具体的类别中。但是,在我们实际获取到的某张图片中不仅仅有一种类别的物品,有时我们还需要对一张图片中的多个物体进行分类和识别,这时就要用到目标识别和语义分割相关的算法了。

同样,在进行图像目标识别和语义分割前,我们首先需要通过训练让我们搭建的模型知道每个类别的重要特征,当在输入图像的信息中包含了我们的模型已经知道的类别特征时,就能很快将图像中的目标全部识别出来。而图像的目标识别和语义分割有一个很大的区别,就是它们对在图像中识别出的目标在结果呈现上有所不同:目标识别会对识别出的类别对象用长方形进行框选并在框上打上标签名,如图1-11(a)所示;语义分割则会对识别出的类别使用同一种像素进行标识并打上标签,如图1-11(b)所示。

图1-11(a)

图1-11(b)

1.5.3 自动驾驶

目前,主流的自动驾驶技术也用到了计算机视觉相关的技术,在自动驾驶的汽车上会安置大量的高清摄像头和传感器,这些硬件设备会收集汽车附近的图像信息并将其输入汽车“大脑”中进行处理、分析,从而判断出汽车附近的实时路面情况。所以计算机视觉在自动驾驶中有着举足轻重的作用,而且自动驾驶对所分析路面状况的安全性和可靠性的要求非常高,因此自动驾驶中的计算机视觉技术比其在其他领域的应用要求更严苛,不能有半点马虎。

1.5.4 图像风格迁移

除了图像目标识别和语义分割这类主要用于图像识别和分类问题的计算机视觉应用,人们还发现了一些比较有意思的应用场景,比如图像风格迁移(Neural Style)。我们知道,深度学习方法能够提取图像的重要特征,所以我们可以将提取的这些特征迁移到其他图片中进行融合,到达图像风格迁移的目的,这样,混合了其他图片风格的新图片就诞生了。如图1-12所示就是一个典型的图像风格迁移的应用。

图1-12