YOLOv3源码解析1-代码整体结构

YOLOv3源码解析1-代码整体结构

YOLOv3源码解析2-数据预处理Dataset()

YOLOv3源码解析3-网络结构YOLOV3()

YOLOv3源码解析4-计算损失compute_loss()

YOLOv3源码解析5-损失函数

 

理论部分参照大神的文章学习:

简书:关于YOLOv3的一些细节

github:源代码作者YOLOV3

知乎:【YOLO】yolo v1到yolo v3

知乎:目标检测|YOLO原理与实现

知乎:YOLO v3深入理解

CSDN:yolo系列之yolo v3【深度解析】

解析的代码地址:

github:tensorflow-yolov3

源码结构解析:

代码整体结构如下(原图大小20M太大上传不了,这是降低质量后的只有2M),说实话,按照代码解析,画完这个图,我暗暗感叹,YOLOV3的作者真是牛逼,这么复杂的框架都能想出来,不服不行啊:

 

整体结构图太过复杂,不太方便看,下面把各个结构分解出来。下面是代码主流程:

上图中标红的Dataset()、YOLOV3()、conpute_loss()分别是数据预处理、建立网络框架、计算损失函数,下面将按这3块进行代码解析。

一)Dataset()数据预处理部分:

 

二)YOLOV3()建立模型框架部分:

 

1)其中的build_network()函数,建立网络模型

 

A)其中的darknet53()函数,建立基本的卷积网络,获取大中小3个等级的特征图:

 

其中反复用到了两个基本单元common.convolutional()common.residual_block()结构分别如下:

  • common.convolutional()

  • common.residual_block()

 

2)其中的decode()函数,解码,返回预测框的xywh,置信度,预测概率

 

三)compute_loss()计算各部分损失: 

 

其中的loss_layer()(损失层):

 

Dataset()、YOLOV3()、conpute_loss()分别是数据预处理、建立网络框架、计算损失函数,下面将按这3块进行代码解析。

 

  • 15
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值