刚刚接触计算机视觉时可能会对不同的任务的区分以及网络架构的选择产生迷惑,因此,在此总结了相关的基础知识。在本文中,我们试图回答两个问题:
计算机视觉任务可以分为4大类或3大类,本文根据个人理解,将其分为3大类。任务复杂程度和难度:实例分割>语义分割>物体检测>分类。
首先,先从一张图直观地感受和理解不同任务的区别与联系:
分类任务:将图像结构化为某一类别的信息,用事先确定好的类别或实例ID来描述图片。分类任务可以分为:二分类任务、多分类任务。分类任务更关注图片整体的内容描述。
二分类任务:目标类只有两类,即正类或负类;对于每一张输入照片,其中有某物是正类,无某物是负类。输出层为1个神经元,sigmod函数作为激活函数判断,交叉熵作为损失函数。
多分类任务:与二分类任务形成对比,目标类有n类,如鼠、猫、狗、狼、虎、象等标签。多分类任务输出层神经元有n个,对应n个类别。softmax函数给出每一类的概率,交叉熵作为损失函数。
检测任务更关注特定的物体目标,要求获得这一目标的类别信息以及位置信息。物体检测包含两个问题,一是判断属于某个特定类的物体是否出现在图中;二是对该物体进行定位,定位用于表征物体的边界框,常用矩形检测框的坐标表示。
语义分割:需要将图片中逐像素标注为某个物体类别,但同一物体的不同实例不需要单独分割。如图1c,图中共有1个bottle,1个cup,3个cube,只需要标注bottle,cup,cube即可,无需标注出cube1,cube2,cube3。
实例分割是物体检测和语义分割的综合体。(1)相对于物体检测的矩形检测框,实例分割可精确到物体的边缘;(2)相对语义分割,实例分割可标注同一物体的不同实例,如cube1,cube2,cube3。
LeNet-5 (Yann LeCun, 1989):最早发布的卷积神经网络之一,效果媲美支持向量机。
AlexNet (Alex Krizhevsky, 2012):第一个现代(21世纪)深度卷积神经网络。
AlexNet的关键点:(1). 使用了ReLU激活函数,使之有更好的梯度特性、训练更快。(2). 使用了随机失活(dropout)。(3). 大量使用数据扩充技术。AlexNet的意义在于它以高出第二名10%的性能取得了当年ILSVRC竞赛的冠军,这使人们意识到卷积神经网络的优势。此外,AlexNet也使人们意识到可以利用GPU加速卷积神经网络训练。
VGG (Simonyan & Zisserman, 2014):引入VGG块的思想。
VGG的关键点:(1). 结构简单,只有3×3卷积和2×2汇合两种配置,并且重复堆叠相同的模块组合。卷积层不改变空间大小,每经过一次汇合层,空间大小减半。(2). 参数量大,而且大部分的参数集中在全连接层中。网络名称中有16表示它有16层conv/fc层。(3). 合适的网络初始化和使用批量归一(batch normalization)层对训练深层网络很重要。
NiN [Lin et al., 2013]:网络中的网络。
GoogLeNet [Szegedy et al., 2015]:含并行连结的网络,Inception块。
GoogLeNet的关键点是:(1). 多分支分别处理,并级联结果。(2). 为了降低计算量,用了1×1卷积降维。GoogLeNet使用了全局平均汇合替代全连接层,使网络参数大幅减少。
Inception的名字来源于盗梦空间中的"we need to go deeper"梗
ResNet [He et al., 2016a]:ResNet旨在使用残差连接解决网络加深后训练难度增大的现象。
ResNet的关键点是:(1). 使用短路连接,使训练深层网络更容易,并且重复堆叠相同的模块组合。(2). ResNet大量使用了批量归一层。(3). 对于很深的网络(超过50层),ResNet使用了更高效的瓶颈(bottleneck)结构
DenseNet [Huang et al., 2017]:ResNet的逻辑扩展,其目的也是避免梯度消失。
《未完待续》
图像分类,物体检测,语义分割,实例分割的联系和区别
知乎张皓:直观梳理深度学习——计算机视觉四大基本任务
李沐:动手学深度学系——CH7 现代卷积神经网络