总体来说我的学习顺序是YOLOV1 文章及代码 –> YOLOv1-v3演进原理 –> YOLOV3文章及代码
YOLO-V1文章及代码
原理:
这个对应代码里的第一个
这个对应代码里的第三个比较简单的实现inference
代码:
这个star比较多,正在跟进改结构
这个网络结构写法是和第一个一样的,有一些注释,可以参考
这个是一个简单实现版本,可以玩玩,看看原理,但是scope name有点问题,感觉比较难嵌入到已有模型中。
YOLOv1-v3演进原理
主要参考:
yolo-v1
yolov1中有一点,每一个框预测的是(x,y,width,height),那么有一点,对不同大小的box预测中,相比于大box预测偏一点,小box预测偏一点肯定更不能被忍受的。而sum-square error loss中对同样的偏移loss是一样。为了缓和这个问题,作者用了一个比较取巧的办法,就是将box的width和height取平方根代替原本的height和width,小box的横轴值较小,发生偏移时,反应到y轴上相比大box要大。例如16开根之后是4, 0.25开根之后反而变成了更大的0.5。
yolov1损失函数:
另外有一点,模型使用imagenet的前20层加了几层卷积层作为它的网络架构,一般来说要先经过分类训练然后再做目标检测训练。
yolov1缺点:
这里个有问题,预训