目标检测:YOLOV3技术详解
创始人
2024-05-13 12:05:02
0

目标检测:YOLOV3技术详解

  • 前言
  • 主要改进
    • DarkNet53
    • 新的分类器
    • 正负样本的匹配
    • 损失函数

前言

YOLOV3是V2的升级版,也是原作者的绝笔,V3主要还是把当时一些有用的思想融入了进来,没有什么创新型的突破,具体细节我们下面介绍。

主要改进

DarkNet53

从yolov2的darknet19 转换为了新的darknet53,主要借鉴了FPN的思想,引入了多个感受野的特征融合,具体如下图:

在这里插入图片描述

CBL模块:卷基层+BN层+Leaky relu激活函数
ResUnit模块:两个CBL层+残差连接
ResX模块:CBL模块+ X个ResUnit模块

Concat:代表channel维度的叠加(就好比高中时期课代表收作业,最终会抱着很高的作业,把每一本作业必做一个feature map,那么这个作业本堆叠的过程就叫concat)。

网络输出3个大小不同feature map,这三个的感受野不同,作者用他们分别负责识别不同大小的目标,作者在聚类挑选anchor的时候,分成9个cluster,最小的三个尺度划分给 hw为76的feature,以此类推。

新的分类器

由于 COCO数据集的类别从20增加到80,会有很多类似的类别,比如说男人于女人,他们虽然可以看成两类,但是本身也有联系,而Softmax分类器假设的是所有类别互不相关,所以作者对每一个类别改用softmax的二分类。

正负样本的匹配

作者设定了两个IOIU阈值,假设为0.5,0.3,表示如果anchor与ground truth的IOU大于等于0.5或者是anchor中IOU最大的,则设定为正样本,小于0.3的设定为负样本,然而大于0.5却不是IOU最大的则直接丢弃。

然而在Ultralytics版本的代码中,没有采取这个策略,因为会造成正样本不足。

损失函数

在这里插入图片描述

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...