Yolov3 学习笔记

Yolov3 学习笔记

论文地址附上
https://pjreddie.com/
作者主页,下翻有论文pdf和arxiv版
全文翻译我自己看的是
https://blog.****.net/wwwhp/article/details/82113678

读论文

Abstract

Yolov3 优势在于速度快的同时精度也能达到一定程度

1. Introduction

扯淡较多,大意是过去一年没做很多研究,光顾着自己玩了,帮别人做了点论文,顺便把YOLO改进了一下。

2. The DealYolov3 学习笔记

YOLOv3和其他图像检测模型对比

2.1 Bounding

【一般图像检测是算出一个矩形框来框出目标图像】

预测边界框是通过中心点加上长宽得到,中心点坐标是图像左上角坐标加上偏移量(offset),偏移量通过对变量做sigmoid变换得到。
Yolov3 学习笔记
Yolov3 学习笔记注释重复了一遍原理。标记图像框对应向量t’,预测图像框对应向量t,则梯度是t’-t
训练使用均方误差。

2.2 Class Prediction

图像分类用多标签分类对数回归实现多分类,不使用多预测标签的softmax回归,原因是对提升性能没有必要,因为softmax直接给出某个标签的唯一结果,在图像属于多个类别时不适用(比如某图像同时属于Woman和Person),多标签更适合。对数回归进行一对多分类,设置阈值,高于阈值的预测项归入该图像的标签, 从而实现多标签分类。
训练使用二元交叉熵损失(binary cross-entropy loss)。
Yolov3 学习笔记

2.3 Predictions Across Scales

YOLOv3预测三个不同尺寸的边界框,通过特征提取网络后得到一个三维张量编码:边界框,框中目标和分类预测
先验框聚类算法用K-means

2.4 Featur Extractor

使用新型的Darknet-19网络,使用连续的33+11+residual网络,中间加入一些连接层
Yolov3 学习笔记
这里的filter是指三维的滤波器通道数和输入数据的通道数相等,滤波器的数量就是输出数据的通道数,一个filter对应一个通道。
不过这里output的变化还是不太清楚。。明白了再来改【】

2.5 Training

无实质信息。

3. How We Do

重申了Yolov3的快速和较好的性能。做了一些比较,参数没怎么看懂,图放在这里,看得懂的dl可以研究下。
Yolov3 学习笔记

4. Things We Tried That Didn’t Work

尝试过的效果不好的方法有:
Anchor box x,y offset predictions. 将中心坐标偏移量x,y作为图像框宽或者高的倍数
Linear x,y predictions instead of logistic. 线性分类代替对数回归分类
Focal loss. 另一种误差指标
Dual IOU thresholds and truth assignment. 像Faster RCNN一样训练时使用两个IOU阈值(0.3,0.7)。预测值>0.7作为正例,0.3-0.7忽略,<0.3作为反例。
启示:在另一个模型里用的好的技巧在我的模型里不一定好用,可能需要修改,可能就是不合适,实际操作是需要不断尝试找到最合适的Tech,或者自己借鉴创造。

5. What This All Means

Words in this chapter is interesting but useless. . .
以下为转载自其他博客(上文提到也做了paper的翻译)的相关资源地址:
https://arxiv.org/abs/1804.02767
https://github.com/marvis/pytorch-yolo3(pytorch
https://github.com/maiminh1996/YOLOv3-tensorflow(tensorflow)
https://pjreddie.com/darknet/yolov3/(darknet)