计算机视觉——目标检测
背景与动机
目标检测任务
首先理解什么是目标检测任务,它与图片分类有何区别?
理解目标检测算法就要先明确它的输入和输出:
输入:原始图片
输出:是什么?(类别)在哪里?(位置)
与图片识别(分类)的区别在于,目标检测任务还要将物体具体的位置标出。如上图,不同颜色的框内标记着检测出的不同类型的物体,有自行车、人汽车、摩托车、信号灯等。每一个框都有一个标签,里面标注了物体的类别,以及该物体为此类别的置信度/概率。
深度学习发展历程
目前使用深度学习对图片进行处理已经非常成熟,准确率已接近人类的认知水平。
目标检测发展历程
2012年,AlexNet网络提出,是卷积神经网络发展也是深度学习发展的分水岭。2014年,深度学习正式用于目标检测任务。
卷积神经网络
卷积神经网络是人类视觉原理的一种体现,即可视皮层是分级的。主要过程为:
视网膜输入原始信号->摄入像素
大脑皮层初步处理->边缘和方向
抽象->形状
进一步抽象->物体
最早的卷积神经网络是YannLeCun提出的LeNet,应用于手写数字识别。主要包含:输入层、卷积层、池化层、全连接层。
输入层
在全连接神经网络中,输入时由图片像素组成的一个向量。
在卷积网络中输入的是一个图片的矩阵形式,它保留了图片的空间结构信息。
卷积层
卷积层是卷积网络的核心组件,其主要作用是从输入中提取特征。
特点:权值共享、局部连接。
池化层
用于降低特征图的维度。
保留最重要的信息,减少了噪声,防止过拟合。
使网络具有一定的平移不变性(图像中的目标不管被移动到图片的哪个位置,得到的标签应该是相同的)。
常见的池化有最大池化和平均池化,池化对应图像的下采样。
全连接层
最初的CNN使用全连接层,用于整合前面学习到的特征,通过非线性组合得到更高级的特征,即从隐层特征空间映射到样本标记空间。
但是全连接层存在问题,就是要求输入的特征图尺度必须固定。因为全连接层部分的参数是神经元对于所有输入的连接权重,若输入尺寸不固定,全连接层参数的个数则无法固定。
卷积神经网络经典模型
开山之作:LeNet-1998
王者归来:AlexNet-2012
稳步前行:ZFNet-2013
越走越深:VGGNet-2014
大浪推手:GoogLeNet-2014
闪光点:
1、引入Inception结构;
2、中间层的辅助LOSS单元;
3、后面的全连接层全部替换为简单的全局平均pooling。
里程碑式创新:ResNet-2015