深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)

YOLO介绍:(You Only Look Once)

        深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)_第1张图片

         典型的one-stage网络。是在2016年CVPR发表的一篇论文,对于yolov1而言,在图像大小为448*448推理,可以达到45FPS,它在pascal voc 2007测试数据集上,可以达到63.4mAP(明显弱于SSD网络,非常不理想)。

YOLO论文思想:

       深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)_第2张图片

         一般将图像分为7*7等份,如最左边的图像,在训练之前,会先对狗进行人工标注(Bounding box),如果狗这个目标的中心落在一个网格中,那么该网格就进行狗这个目标的预测。

深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)_第3张图片

         一般每个网格预测2个bounding box,对于每个bounding box,需要预测5个值,其中4个值是位置参数(x,y,w,h),还有一个为confidence。以及每个网格需要预测C个类别的分数。

        比如:对于PASCAL VOC数据集(类别为20),S=7,B=2,C=20,最后的预测参数为:7*7*(20+5*2)。如下图所示:

        深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)_第4张图片

         在这里解释一下confidence:在原论文中,confidence为。右边部分是预测目标和真实目标的IOU值;左边部分,当网格中确实是存在目标则为1,此时confidence为IOU值,当不是目标则为0,此时confidence为0。

         在最终预测的时候,对于每一个目标的最终概率:the conditional class probability(预测的C个类别分数)  *   confidence。公式如下:

        

YOLO网络结构:

        深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)_第5张图片

         通过上面结构图,我们可以很直接的看出yolov1的网络结构,用了一系列的卷积层、最大池化下载样层以及全连接层,在这里说明一下全连接层。

        通过第一个Conn.Layer时,需要进行三个处理:①transpose处理。不一定要进行②flateen。因为要和全连接层连接,所以要进行展平处理。③fc(4096)。通过一个节点个数为4096的全连接层进行连接。此时得到一个4096维的向量

        通过第二个Conn.Layer时,需要进行两个处理:①通过一个节点个数为1470的全连接层。因为要得到一个7*7*30的特征矩阵,所以需要1470。②进行reshape处理。把向量调整为7*7*30的矩阵。

损失函数:

深度学习目标检测之YOLO系列网络(一步步变强之yolo v1)_第6张图片

        yolov1的损失分为三部分:目标边界框损失、confidence损失、类别损失。

YOLO v1存在的问题:

        ①对一些群体性的小目标检测效果很差。

        ②当目标出现新的尺寸后,效果较差。

        ③定位不准确。

        (说明:以上各图并非原创。)

你可能感兴趣的:(目标检测,深度学习,网络)