老规矩–妹妹镇楼:



图像分类 准确度_计算机视觉


一.分类与定位

(一)定义

       我们不光要对物体进行分类,还要对物体在图片中的位置进行定位。



(二)分类任务

       输入图片,输出分类的标签,评估的标准是分类的准确性。

       如下图所示:输入一张图片,输出标签为CAT。

图像分类 准确度_图像分类 准确度_02

(三)定位任务

       输入图片,输出一个图片中的一个方框,该方框用向量(x,y,w,h)表示。X是左上角x轴坐标,y是左上角y轴坐标,w是方框的宽度,h是方框的高度。

       评估的标准是:正确方框位置和输出的方框位置的重合程度。重合程度越高,那么定位越准确。

图像分类 准确度_滑动窗口_03


二.定位过程

       在机器学习中,我们学习了回归的概念,通过计算输出值和正确值的差距损失值,反向传播修改参数,直到损失值越来越小,输出值与正确值差距减小,满足我们的需求。

       定位的过程也是类似的,通过卷积神经网络计算出方框的位置,计算和正确方框位置的损失值,方向传播修改参数,使损失值越来越小,输出的方框和正确方框越来越接近。

图像分类 准确度_神经网络_04



三.分类和定位过程

(一)总体过程

       输入图片,通过卷积神经网络提取特征,在得出的最后一层的卷积特征图后,设置两种全连接层任务,一种是分类任务,另一种是回归任务。

       分类全连接神经网络:正常的全连接分类神经网络,将图片的类别标出来。

       回归全连接神经网络:通过回归得出最优的方框位置。

图像分类 准确度_图像分类 准确度_05



(二)具体步骤

  1. 训练一个分类模型或者微调一个分类模型(AlexNet,VGGNet)

       所谓微调一个分类模型指的是将已经很成熟的模型调一下基本参数,已适用于本次分类任务。这样,避免了自己训练一个模型的成本。

  1. 给网络添加一个新的全连接层用于回归方框的位置参数。
  2. 用随机梯度下降(SGD)和欧氏距离损失(L2 LOSS)来训练回归层。
  3. 同时测试分类和回归。

(三)回归层应该添加在哪里呢?



  1. 添加在最后一层卷积之后。如Overfeat,VGG
  2. 添加在最后的全连接层之后。如DeepPose, R-CNN
  3. 图像分类 准确度_滑动窗口_06

四.滑动窗口

       滑动窗口就是为了在输入图片中找出猫,通过在输入图片中滑动设置好的窗口,得出每个窗口中分类为猫的概率值。找出概率值最高的窗口区域,作为定位的区域。

如下所示:

图像分类 准确度_全连接_07

       上图中左图为滑动窗口,右图为输入图像,在图像中滑动四次,得出的最大概率值区域用于定位回归。

       下图为滑动后得到的概率值,取最大的0.8区域作为定位区域。

图像分类 准确度_全连接_08


       那么现在问题出现了,滑动窗口的尺寸不可能总是和图片中猫的尺寸相适应,可能有的图片中猫的尺寸非常小,那么滑动窗口的尺寸相对于该图片中的猫的尺寸非常大,那么就很难检测出猫,计算出概率值。

       因此,不同的图片需要不同的预处理 ,通过调整输入图片的尺寸,猫的尺寸也得以调整,以适应滑动窗口的尺寸,便于物体的检测。