目标检测入门系列手册一:定位 + 分类问题的解法

目标检测入门系列手册一:定位 + 分类问题的解法

定位 + 分类问题是分类到目标检测的一个过渡问题,从单纯地图片分类到分类后给出目标所处位置,再到多目标的类别和位置。接下来,我们看一下定位+ 分类问题的解法。

目标检测入门系列手册一:定位 + 分类问题的解法

分类不用多说,上一章我们以分类为例讲了卷积神经网络。在定位问题中,则需要模型返回目标所在的外接矩形框,即目标的(x,y,w,h)四元组。

接下来介绍一种比较容易想到的思路,把定位当做回归问题,具体步骤如下:

(1)训练(或下载)一个分类模型,例如AlexNet、VGGNet 或ResNet;

(2)在分类网络最后一个卷积层的特征层(feature map)上添加“regression head”,如图1-2 所示;补充说明:神经网络中不同的“head”通常用来训练不同的目标,每个“head”的损失函数和优化方向不同。如果想让一个网络实现多个功能,通常是在神经网络后面接多个不同功能的“head”。

(3)同时训练“classification head”和“regression head”,为了同时训练分类和定位(定位是回归问题)两个问题,最终损失函数是分类和定位两个“head”产生损失的加权和。

目标检测入门系列手册一:定位 + 分类问题的解法

(4)在预测时同时使用分类和回归head 得到分类+ 定位结果。这里强调一下,分类预测出的结果就是C 个类别,回归预测的结果可能有两种:一种是类别无关,输出4个值;一种是类别相关,输出4*C 个值,这要看读者想要哪种结果了。