yolov3详细讲解

YOLO v3总结了自己在YOLO v2的基础上做的一些尝试性改进,有的尝试取得了成功,而有的尝试并没有提升模型性能。其中有两个值得一提的亮点,一个是使用残差模型,进一步加深了网络结构;另一个是使用FPN架构的实现多尺度检测。
YOLO v3的创新点有哪些?

  1. 全新的网络结构:DarkNet-53
  2. 融合了FPN
  3. 用逻辑回归替代softmax作为分类器

主干网络改进–Darknet-53


YOLOV3在YOLOV2的基础上引入了残差模块,并进一步加深了网络,改进后的网络有53个卷积层,取名为Darknet-53

FPN

YOLOV3借鉴了FPN的思想,从不同尺度提取特征。相比YOLOV2,YOLOV3提取最后3层特征图,不仅在每个特征图上分别独立做预测,同时通过将小特征图上采样到与大的特征图相同大小,然后与大的特征图拼接做进一步预测。用维度聚类的思想聚类出9种尺度的anchor box,将9种尺度的anchor box均匀的分配给3种尺度的特征图。

YOLOv3损失函数改进

YOLOv3对类别预测的代价函数进行了修改,并且没有用softmax。用了逻辑回归层来对每个类别做二分类。逻辑回归层主要用到sigmoid函数,该函数可以将输入约束在0~1的范围内,因此当一张图像经过特征提取后的某一类输出经过sigmoid函数约束后如果大于0.5,就表示属于该类,这样一个框就可以预测多个类别,代价函数用的是sigmoid的交叉熵。

yolov3中loss由三个部分组成:

    1.box loss:也就预测框x, y, w, h的误差,yolov3原版用MSE loss计算。2.obj loss:预测框置信度误差,用BCE loss计算。3.class loss:预测框类别误差,用BCE loss对每个类别进行计算,这里有的小伙伴会有疑问,为什么不用softmax loss呢,这是因为yolov3的作者考虑到多标签分类问题,如果用softmax就只能预测1类了。

PS 感谢链接:
损失函数参考1
损失函数参考2

yolov3详细讲解相关推荐

  1. 适合新手练手,用Python爬取OPGG里英雄联盟英雄胜率及选取率,详细讲解加注释(建议收藏练手)

    今天来个简单的小项目,适合新手拿来练手,在OPGG上爬取英雄联盟里的法师,ADC,打野,辅助所有英雄的胜率及选取率,是不是感觉很高大上,但是却很简单,只要用三十多行代码就能实现,详细讲解每一行代码加注 ...

  2. Python的零基础超详细讲解(第十三天)-Python的类与对象

    基础篇往期文章如下: Python的零基础超详细讲解(第一天)-Python简介以及下载 Python的零基础超详细讲解(第二天)-Python的基础语法1 Python的零基础超详细讲解(第三天)- ...

  3. Python的零基础超详细讲解(第十二天)-Python函数及使用

    基础篇往期文章: Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博 ...

  4. Python的零基础超详细讲解(第七天)-Python的数据的应用

    往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...

  5. Python的零基础超详细讲解(第五天)-Python的运算符

    往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...

  6. java异常详细讲解_Java异常处理机制的详细讲解和使用技巧

    一起学习 1. 异常机制 1.1 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 1.2 ...

  7. 未来网络发展的趋势——IPv6详细讲解与基本配置

    实验目的: 1. 掌握IPv6的基本工作原理: 2. 区别IPv6和IPv4有什么区别: 3. 掌握IPv6的一些新的特征: 4. 掌握IPv6的发展进程和部署情况: 实验拓扑: 实验步骤:   一. ...

  8. Php中如何记录本报时间,详细讲解PHP的日期时间函数date()

    详细讲解PHP的日期时间函数date() 作者:wang 日期:2009-06-06 字体大小: 小 中 大 1,年-月-日 echo date('Y-m-j'); 2007-02-6 echo da ...

  9. PE格式详细讲解4 - 系统篇04|解密系列

    PE格式详细讲解4 - 系统篇04 让编程改变世界 Change the world by program   到此为止,小甲鱼和大家已经学了许多关于 DOS header 和 PE header 的 ...

  10. python爬虫原理-python爬虫原理详细讲解

    原标题:python爬虫原理详细讲解 一 .爬虫是什么 1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. 2.互联网建立的目的?互联网的 ...

最新文章

  1. 综述:解决目标检测中的样本不均衡问题
  2. AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字
  3. Linux 安装Redis全过程日志
  4. 详解C语言中 # 和 ## 的用法
  5. 生态学研究方法(一)
  6. 使用Maven设置您的应用服务器
  7. 蓝桥杯扫盲之int, char, unsigned int, unsigned char的使用
  8. iscroll.js 下拉刷新和上拉加载
  9. 马库斯:DeepMind新出的机器心智网络不错,但有误导性
  10. 拓端tecdat:Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
  11. ppt flash无法播放解决方法
  12. awesomium This view has carshed!(MarkdownPad2)
  13. java的程序的创建快捷方式_关于Swing:如何为Java程序创建快捷方式图标
  14. Django 对指定数据进行批量替换和删除
  15. 从刘老师的进化的力量到有感,疫情阶段如何弯道超车
  16. 关于计算机未来理想,坚持理想向往未来的励志说说
  17. 【云原生】-Docker快速搭建免费的WordPress博客平台
  18. 第一次学习Web的总结
  19. 粉丝时代,明星不需要公关?
  20. 【笔记】python中常见的函数(一)

热门文章

  1. 高数——多元函数的定义及极限
  2. github加速方法
  3. Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)实现
  4. 用plsql导出oracle,使用PLSQL进行Oracle数据导入导出[转]
  5. Linux 下使用rinetd工具实现端口转发
  6. 超全 泛微 E9 Ecology 9开发资料大全 开源资源下载 泛微E9二次开发 泛微开发资料
  7. JDK的下载及其安装
  8. 大数据平台之数据存储
  9. 《物联网通信》知识提纲-第1章 概述
  10. unity3d UI粒子特效裁剪