YOLO-V3的一些细节

1. Abstract

YOLO的基本思想是通过多层CNN预测Bounding Box的中心(x,y)坐标及其长宽,当然也少不了类别信息,参考[1]。

YOLO-V3的结构/基本原理是什么样?有哪些重要的参数/概念?YOLO-V3的优点是什么?下文着重讲解。

2. YOLO-V3

2.1 模型结构

根据YOLO-V3原创paper[2]的内容,YOLO-V3使用了一个含有53个卷积层的CNN作为Feature Extraction。

在这里插入图片描述

由图中可见,这个CNN是由多组Conv+Conv+Residual的结构叠加而成的。其中Residual残差的原理见[3]。
YOLO-V3是用Darknet框架(轻量级的类似tensorflow的框架)实现的,所以这个网络也称为Darknet-53。根据作者的对比测试,该网络性能好于其他网络。

这里https://github.com/xiaochus/YOLOv3/blob/master/model/darknet53.py有一个该模型的实现代码可供参考。

2.2 多标签分类

为了实现多标签分类,模型不再使用softmax函数作为最终的分类器,而是使用logistic作为分类器,使用 binary cross-entropy作为损失函数。

2.3 多尺度预测

YOLO v3从三种不同尺度的特征图谱(不同卷积层的输出)上进行预测任务,一共进行了3次预测。详见[4]。

2.4 anchor

anchor的唯一作用就是为了计算IOU,从而来确定正负样本[6]。
yolov3-voc.cfg中这组anchor,anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326,由作者通过对VOC数据集进行KMEANS聚类得到的[7]。

3. 模型评价

作者在COCO数据集上对YOLO-V3进行了评价。

COCO is a large-scale object detection, segmentation, and captioning dataset.

在320×320的图像上,YOLO-V3运行速度达到了22.2毫秒。其与SSD一样准确,但速度快了三倍。

4. keras实现的YOLO-V3

YOLO-V3原作者是用Darknet框架(轻量级的类似tensorflow的框架)实现的,github上有keras的版本:https://github.com/qqwweee/keras-yolo3

5. 训练时间

[8]中给出了不同训练的实际,根据这些结果,用GPU估计也是2 weeks。

6. 参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值