(一)YOLO目标识别模型 ——Darknet53网络结构

本文详细介绍了YOLO目标识别模型中的核心网络结构Darknet53,探讨了残差神经网络在解决梯度消失问题中的作用,并展示了如何创建卷积块和残差单元。通过53层卷积,Darknet53能有效提取特征,用于目标检测任务。
摘要由CSDN通过智能技术生成

(一)YOLO目标识别模型
——Darknet53网络结构

参考

本文链接: https://blog.csdn.net/leiduifan6944/article/details/104857968



前言

YOLO算法的出现,将回归思想引入目标识别处理过程,最终直接输出物体的位置、置信度和类别信息。YOLOv3在结构中模块与模块的衔接采用张量拼接,不同于残差层的add操作。

YOLO的主要骨架采用53个卷积层的Darknet53网络结构。

使用残差(Residual)神经网络的必要性:网络越深,梯度消失的现象就越来越明显,网络的训练效果也不会很好。残差神经网络就是为了在加深网络的情况下又解决梯度消失的问题。残差结构可以不通过卷积,直接从前面一个特征层映射到后面的特征层(跳跃连接),有助于训练,也有助于特征的提取,容易优化。
原文链接:https://blog.csdn.net/weixin_39615182/article/details/109752498


一、YOLO的主要骨架

如图所示为YOLO的主要骨架,即Darknet53网络结构
在这里插入图片描述

二、介绍

1.创建卷积块

创建卷积类,一次性完成卷积+归一化+激活。

class Conv(nn.Module):
	def __init__(self, c_in, c_out, k, s, p, bias=True):
		"""
		自定义一个卷积块,一次性完成卷积+归一化+激活,这在类似于像DarkNet53这样的深层网络编码上可以节省很多代码
		:param c_in: in_channels
		:param c_out: out_channels
		:param k: kernel_size
		:param s:  stride
		:param p: padding
		:param bias:"""
		super(Conv, self).__init__()
		self.conv = nn.Sequential(
			nn.Conv2d(c_in, c_out, k, s, p),
			nn.BatchNorm2d(c_out),
			nn.LeakyReLU(0.1),
		)

	def forward(self, entry):
		return self.conv(entry
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值