计算机视觉的三大任务
自从神经网络和深度学习方法引入到图像领域,经过近些年来的发展,从一开始的图像分类逐渐延伸到目标检测和图像分割领域,深度学习也逐渐在计算机视觉领域占据绝对的主导地位。如果要想利用深度学习技术开启计算机视觉领域的研究,明确并深刻理解计算机视觉的三大任务非常关键。计算机视觉三大任务如图1所示。
从图中我们可以简单描述计算机视觉三大任务的要义。图像分类就是要回答这张图像是一只猫的问题,跟传统的机器学习任务并无区别,只是我们的输入由数值数据变成图片数据。本节的内容就是介绍CNN在图像分类的发展历史上出现的一些经典的网络。
而目标检测则不仅需要回答图像中有什么,而且还得给出这些物体在图像中位置问题,以图中为例就是不仅要识别图中的猫和狗,还得给出猫和狗的具体定位。所以目标检测的任务简单而言就是分类+定位。在无人驾驶的应用中,我们的目标是训练出一个具有极高准确率的物体检测器,在工业产品的瑕疵检测中,我们的目标是能够快速准确的找出产品中的瑕疵区域,在医学肺部结节的检测中,我们的任务是能够根据病人肺部影像很好的检测出结节的位置。图2是一个自动驾驶场景下对于各个目标物体的检测和识别。
图像分割则是需要实现像素级的图像分割,以图中为例就是要把每个物体以像素级的标准分割开来,这对算法的要求则更高。图3就是一个定位和实例分割示例。
CNN图像分类发展史
在神经网络和深度学习领域,Yann LeCun可以说是元老级人物。他于1998年在 IEEE 上发表了一篇42页的长文,文中首次提出卷积-池化-全连接的神经网络结构,由LeCun提出的七层网络命名为LeNet5,因而也为他赢得了卷积神经网络之父的美誉。
LeNet5的网络结构如图4所示。LeNet5共有7层,输入层不计入层数,每层都有一定的训练参数,其中三个卷积层的训练参数较多,每层都有多个滤波器,也叫特征图,每个滤波器都对上一层的输出提取不同的像素特征。所以LeNet5的简略结构是这样:输入-卷积-池化-卷积-池化-卷积(全连接)-全连接-全连接(输出)。
作为标准的卷积网络结构,LeNet5对后世的影响深远,以至于在16年后,谷歌提出 Inception网络时也将其命名为GoogLeNet,以致敬Yann LeCun对卷积神经网络发展的贡献。然而LeNet5提出后的十几年里,由于神经网络的可解释性以及数据和计算资源等原因,神经网络的发展一直处于低谷。
故事的转折发展在2012年,也就是现代意义上的深度学习元年。2012年,深度学习三巨头之一Geoffrey Hinton的学生Alex Krizhevsky率先提出了AlexNet,并在当年度的ILSVRC(ImageNet大规模