吴恩达深度学习总结(12)


这一部分其实就是介绍了YOLO模型相关的一些知识

object localization

首先区分Image classification,classification with location, detection。

  1. Image classification:图片的分类,只需要判断图片属于哪个类别
  2. classification with location:将图片中的一个物体以矩形框的形式圈出
  3. Detection:将图片中的多个物体以矩形框的形式圈出
    对于classification with localization,输出结果包括:1. 类别信息(属于的类为1,其他的类为0);2. 矩形框的相关信息(中心点的坐标和矩形的长宽);3. 是否包含object的判定。如果判定为包含object,那么对其他参数计算loss function,如果判定不含object,那么不考虑其他的参数。
    用同样的方法我们也可以让网络输出要检测的标记点。

Object detection

一个经典算法为滑动窗算法,以一个矩形框以某一stride提取图片中矩形框范围内的图像,将获取的图像输入到神经网络中判断是否有物体存在。
该方法的缺点很明显:我们对一张图片要跑多个矩形框,极大增加了时间损耗。
为了减少时间损耗,一我们可以通过卷积来实现检测多个Windows的任务,该方法说到底是通过控制网络输出的大小(用channel表示对每个Windows判断后的各参数)来保证对原图像做多少个Windows的判断,比如输出为 m n n c m*n*n_c 表示我们对原图像的 m n m*n 个windows进行了判断,每个判断给了 n c n_c 个参数,这样实现了多个Windows在公共部分的参数共享,加快了计算速度。

YOLO算法

object位置的判断

我们取object的中心点坐标所在的gird作为object属于的gird
设gird左上角的坐标为 ( 0 , 0 ) (0,0) ,object中心点的坐标为0到1之间的值,长和宽大于0.

判定标准

在验证时我们通过求 Intersection over union来判断预测的准确性。
Intersection over Union/IOU = size of intersection size of union \text{Intersection over Union/IOU} = \frac{\text{size of intersection}}{\text{size of union}}
即判断标定矩形与判断矩形的交集与并集之商
通常我们认为 IOU 大于0.5就可以认为这个物体被正确判断了

预测值的判断

通过non-max-suppression判断
在运行YOLO的过程中会出现很多格子判断该object在其内部,非极大值抑制就是找到概率最大的格子,将其他与其IOU值很高的格子去掉。
具体操作流程为:

  1. 首先删除所有判断概率小于阈值的格子
  2. 当还有剩余的格子时
  3. 选取概率最大的格子作为预测
  4. 删除所有与其IOU大于0.5的格子(这个阈值根据实际情况确定)
  5. 如果还有剩余的格子重复3,4

anchor box

在照片中可能会出现两个object的中心点同时落在一个gird中,无法同时判断这两个object。基于这种情况,我们引入anchor box即每个gird可以判断多个形状不同的矩形。
假设每个gird有两个anchor box,那么每一个object会归类于某一个gird中与其IOU最大的anchor box
注意我们使用越多的gird,那么能够用到anchor box的概率越小
anchor box的选择:k-means算法或者手动设计

输出结果的判定

经过网络的运算之后我们得到很多的矩形框,首先先去除概率小于阈值的矩形框。对剩下的矩形框,我们认为class值最大的为该矩形框的类别,我们选择某一个class,将属于该class的矩形框提出,运行非极大值抑制算法。重复,直到所有的矩形都完成判断。
YOLO原文:https://pjreddie.com/media/files/papers/yolo_1.pdf
YOLO官网:https://pjreddie.com/
关于YOLO pytorch实现的分析:https://gitee.com/yeye0810/PyTorch-YOLOv3
(该分析主要对models.py文件和相关函数进行了分析)

Region proposals

Region proposal是R-CNN的基本原理,通过预先标注选择图片中可能为object的区域,对这些区域进行类似滑动窗算法的计算。
就运行速度而言,R-CNN与YOLO存在较大差距
R-CNN原文:https://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf
Fast R-CNN原文:https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf
Faster R-CNN原文:http://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf

猜你喜欢

转载自blog.csdn.net/qq_33669204/article/details/83864195