Yolov3 学习笔记
Yolov3 学习笔记
论文地址附上
https://pjreddie.com/
作者主页,下翻有论文pdf和arxiv版
全文翻译我自己看的是
https://blog.****.net/wwwhp/article/details/82113678
读论文
Abstract
Yolov3 优势在于速度快的同时精度也能达到一定程度
1. Introduction
扯淡较多,大意是过去一年没做很多研究,光顾着自己玩了,帮别人做了点论文,顺便把YOLO改进了一下。
2. The Deal
YOLOv3和其他图像检测模型对比
2.1 Bounding
【一般图像检测是算出一个矩形框来框出目标图像】
预测边界框是通过中心点加上长宽得到,中心点坐标是图像左上角坐标加上偏移量(offset),偏移量通过对变量做sigmoid变换得到。注释重复了一遍原理。标记图像框对应向量t’,预测图像框对应向量t,则梯度是t’-t。
训练使用均方误差。
2.2 Class Prediction
图像分类用多标签分类对数回归实现多分类,不使用多预测标签的softmax回归,原因是对提升性能没有必要,因为softmax直接给出某个标签的唯一结果,在图像属于多个类别时不适用(比如某图像同时属于Woman和Person),多标签更适合。对数回归进行一对多分类,设置阈值,高于阈值的预测项归入该图像的标签, 从而实现多标签分类。
训练使用二元交叉熵损失(binary cross-entropy loss)。
2.3 Predictions Across Scales
YOLOv3预测三个不同尺寸的边界框,通过特征提取网络后得到一个三维张量编码:边界框,框中目标和分类预测
先验框聚类算法用K-means
2.4 Featur Extractor
使用新型的Darknet-19网络,使用连续的33+11+residual网络,中间加入一些连接层
这里的filter是指三维的滤波器通道数和输入数据的通道数相等,滤波器的数量就是输出数据的通道数,一个filter对应一个通道。
不过这里output的变化还是不太清楚。。明白了再来改【】
2.5 Training
无实质信息。
3. How We Do
重申了Yolov3的快速和较好的性能。做了一些比较,参数没怎么看懂,图放在这里,看得懂的dl可以研究下。
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)