YOLOV3--从0搭建YOLOV3主干DarkNet 53

        在了解YOLOV3的原理以及撸完源码之后,为了提高自己对DarkNet53主干网络的认识以及自己的编码能力,我们可以开始尝试自己一步一步,从0到1搭建DarkNet网络,相信在学习完之后,一定会有一种打通任督二脉的快感!

YOLOV3--从0搭建YOLOV3主干DarkNet 53_第1张图片

 第一步:庖丁解牛,肢解框架

DarkNet的整体结构如图1所示:

YOLOV3--从0搭建YOLOV3主干DarkNet 53_第2张图片

 1.1 整体肢解

    由上图可以看出。DarkNet的网络结构相对简单。即由初始的卷积层+残差结构。我们通合并同类项的方式,将一个下采样层+残差结构定义成Layer,模块相似的便于编程时将其定义为一个类。(比如除了整个网络结构可以定义成一个类,残差结构也可以定义为一个类。)此时整体就简化成如下结构:

YOLOV3--从0搭建YOLOV3主干DarkNet 53_第3张图片

这么一看,其实就是一个卷积层加上5个layers,so easy!

 1.2 残差结构

    残差网络结构的示意图如下:

YOLOV3--从0搭建YOLOV3主干DarkNet 53_第4张图片

其中的Convolutional层结构如下:

YOLOV3--从0搭建YOLOV3主干DarkNet 53_第5张图片

 因为残差网络结构具有高度的重复性,所以在编写代码的时候可以将其写成一个类。

第二步:由整体到局部,编写伪代码

2.1 分析整体结构,确定需要编写的类及有关函数

你可能感兴趣的:(自己实现YOLOV3,YOLOV3,计算机视觉,深度学习,python)