物体检测的两个步骤可以概括为:
(1)检测目标位置(生成矩形框)
(2)对目标物体进行分类
物体检测的主流算法框架大致分为one-stage与two-stage。two-stage算法代表的有R-CNN系列,one-stage算法代表的有YOLO系列。按笔者理解,two-stage算法将步骤一与步骤二分开执行,输入图像先经过候选框生成网络(例如faster rcnn中的RPN网络),再经过分类网络; one-stage算法将步骤一与步骤二同时执行,输入图像只经过一个网络,生成的结果中同时包含位置与类别信息。two-stage与one-stage相比,精度高,但是计算量更大,所以运算较慢。
YOLO特点
(1)YOLO很快,因为用回归的方法,并且不用复杂的框架。
(2)YOLO会基于整张图片信息进行预测,而其他滑窗式的检测框架,只能基于局部图片信息进行推理。
(3)YOLO学到的图片特征更为通用。
YOLOV1算法原理
网络结构:输入图像大小为448×448,经过若干个卷积层与池化层,变为7×7×1024张量,最后经过两层全连接层,输出张量维度为7×7×30,这就是YOLOV1的整个神经网络结构,和一般的卷积物体分类网络没有太多的区别,最大的不同就是:分类网络最后的全连接层,一般连接一个一维向量,向量的不同位代表不同的类别。YOLO的backbone网络结构,受启发于googleNet,也是V2、V3中darknet的先锋。本质上没有什么特别,没有使用BN层,用了一层Dropout。除了最后一层的输出使用了线性激活函数,其他层全