[YOLO] yolov3 博客学习笔记汇总

pip下载速度太慢,国内镜像:

国内镜像解决pip下载太慢https://blog.csdn.net/weixin_51995286/article/details/113972534

在线卷积计算器:

在线卷积计算器http://www.sqflash.com/cal.html

网络学习

IOU:

机器学习知识总结 —— 11. 关于目标检测中的IoU是什么https://blog.csdn.net/poisonchry/article/details/122134314?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167776186916800188539960%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167776186916800188539960&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-4-122134314-null-null.142%5Ev73%5Einsert_down2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=IOU&spm=1018.2226.3001.4187

 YOLO v3 网络结构计算和解析

YOLOv3网络结构和解析https://blog.csdn.net/dz4543/article/details/90049377yolov3网络结构https://blog.csdn.net/qq_37602161/article/details/120187810?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167764072716800225552255%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167764072716800225552255&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-120187810-null-null.142%5Ev73%5Einsert_down2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=yolov3%20%E7%BD%91%E7%BB%9C%E7%BB%93%E6%9E%84%E8%AE%B2%E8%A7%A3&spm=1018.2226.3001.4187

YOLO v3整体流程讲解(细节涉及较少)

YOLO V3整体流程https://blog.csdn.net/qq_43581224/article/details/118382593?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167757215116800215064768%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167757215116800215064768&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-118382593-null-null.142%5Ev73%5Einsert_down2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=yolov3&spm=1018.2226.3001.4187

 YOLOV3 关于设置生成anchorbox,Boundingbox边框回归的过程解读

YOLO v2和V3 关于设置生成anchorbox,Boundingbox边框回归的个人理解https://blog.csdn.net/shenkunchang1877/article/details/105648111YOLOv3的anchor box的理解、计算以及训练的误差计算

【论文理解】理解yolov3的anchor、置信度和类别概率https://blog.csdn.net/weixin_43384257/article/details/100974776

思考1:一个grid cell有那么多的anchor box,那么预测时,bounding box是如何选择的?

该grid cell里的所有anchor box与检测物体的ground truth box进行IOU计算,选择最终IOU结果最大的那个anchor box

那么预测框bounding box就会以该anchor box作为回归偏移的基础。

 YOLO v3 损失函数的计算

【论文理解】yolov3损失函数https://blog.csdn.net/weixin_43384257/article/details/100986249?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167765259416800215084471%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167765259416800215084471&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-100986249-null-null.142%5Ev73%5Einsert_down2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=yolov3%20%E6%8D%9F%E5%A4%B1%E5%80%BC&spm=1018.2226.3001.4187

YOLO v1网络结构计算

Yolov1-pytorch版 论文、原理及代码实现https://blog.csdn.net/wjytbest/article/details/116116966CNN中feature map、卷积核、卷积核个数、filter、channel的解读

CNN中feature map、卷积核、卷积核个数、filter、channelhttps://blog.csdn.net/xiewenbo/article/details/96509195

代码学习参考

Github代码学习文章:

睿智的目标检测26——Pytorch搭建yolo3目标检测平台https://blog.csdn.net/weixin_44791964/article/details/105310627以及该作者的b站视频:

Pytorch 搭建自己的YOLO3目标检测平台(Bubbliiiing 深度学习 教程)https://www.bilibili.com/video/BV1Hp4y1y788?p=7&vd_source=65c9204c97b8b1867c1d577ee29c3fc1

Darknet53部分:

【YOLOv3 net】YOLOv3网络结构及代码详解https://blog.csdn.net/weixin_45377629/article/details/124080087

博主的nets目录下的darknet.py代码对应的就是实现下图红框里的内容:

 整体的代码还是比较容易理解的

 通过提取出来的特征获得预测结果:

博主的nets目录下的yolo.py代码对应的就是实现下图红框里的内容:

 

 对先验框进行调整(对先验框进行调整的过程叫做解码):

对应的是博主utils文件夹下的utils_bbox.py文件

该文件下的DecodeBox()一次只能对一个特征层进行解码,因此对三个特征层解码的话就需要三次调用该函数。

【YOLOv3 decode】YOLOv3中解码理解decode_boxhttps://blog.csdn.net/weixin_45377629/article/details/124144913

预测过程(非极大抑制NMS)详解:

对应的是博主utils文件夹下的utils_bbox.py文件里的non_max_suppression函数

速览过程:

预测结果prediction,其shape为 torch.size([batch_size, num_anchors, 5 + num_classes])

其中num_anchors就是所有的预测框:

大小为(13x13+26x26+52x52)x3=10647

prediction是有batchsize维度的。

而image_pred为预测结果信息,shape: torch.size([10647,25])

image_pred[[左上x, 左上y, 右下x, 右下y, 先验框是否包含物体的置信度, 类别0, 类别1, ...], ...]

有了预测的结果,就需要对预测结果进行处理,

第一步确定每个预测框预测的结果,

也就是每个预测框在num_classes个类别(num_classes预测的类别数)里预测最好的那个种类

class_conf, class_pred的shape分别是:

class_conf(种类置信度):    torch.size([10647,1]):[num_anchors, 1]

class_pred(所属类别):   torch.size([10647,1]):[num_anchors, 1]

class_pred记录了10647个框的预测类别

class_conf就记录了其预测类别的概率。

第二步,通过置信度对预测框进行第一轮的筛选

简单来说就是把低于置信度阈值的框筛掉。

当然真正的置信度是image_pred第4列预测分数(框内是否有物体)

和 class_conf第0列(class_conf只有一列)种类置信度得分 相乘

得到置信度分数,和设定的阈值进行比较。

筛选完了之后就只剩下几十个框

这里以筛选最后为29个为例:

 conf_mask shape: torch.size([29,25]) 第一轮筛选后的29个预测框以及其框的信息

 class_conf shape: torch.size([29,1]) 前面已经介绍过了,这里只剩下29个而已

 class_pred shape: torch.size([29,1]) 同理这里只被筛到了29个

最后一步就是通过非极大抑制NMS进行筛选:

简单来说:非极大抑制就是先筛选出一定区域内同一种类得分最大的框,

然后将其同种类的框进行交并比IOU的计算,如果交并比大于一定的阈值,那么就将其他同类的框给忽略掉。

具体细节可以继续看代码。

【YOLOv3 NMS】YOLOv3中的非极大值抑制https://blog.csdn.net/weixin_45377629/article/details/124202975?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167781247616800211550847%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167781247616800211550847&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-3-124202975-null-null.142%5Ev73%5Econtrol,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=yolov3%E9%9D%9E%E6%9E%81%E5%A4%A7%E6%8A%91%E5%88%B6&spm=1018.2226.3001.4187

后面的训练和检测博主都讲的很清楚了。

博主写的常见问题也可以在这里有一定的解答:

神经网络学习小记录-番外篇——常见问题汇总https://blog.csdn.net/weixin_44791964/article/details/107517428?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167789808816800226535530%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167789808816800226535530&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-107517428-null-null.blog_rank_default&utm_term=%E8%B0%83%E7%94%A8%E8%A7%86%E9%A2%91%E6%A3%80%E6%B5%8B&spm=1018.2226.3001.4450YOLO v3暂时是初略地接触了一下。

 部分函数调用方法解析:

Pytorch中tensor.view().permute().contiguous()函数理解

 tensor索引[..., 0]

np.transpose()函数详解

np.expand_dims 小白详解

 torch.from_numpy(ndarray) 功能及举例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/50181.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多种UI和界面设计汇总(一)

下面汇总了一些不错的UI设计的效果图,让我们看看多种UI布局和界面设计。它们风格迥异,也基本上都是Web页面上的。下面请看: Old Paper Layout/旧纸张布局 Professional Modern Web Layout/专业现代网页布局 Photography portfolio Design/影集…

从交互设计师的角度,聊聊设计工具的那些事

工欲善其事,必先利其器,这句话是出自论语,讲的是要做好一件事,工具是非常重要的,作为一个设计师,设计工具对于我们的重要性毋庸置疑,每天都在接触,也有很多感悟和心得。 我从事设计…

移动开发实验一:微信ui设计

一、设计目标 1.1 设计要求 完成类微信的门户页面框架设计,APP最少必须包含4个tab页面。框架设计需要使用 fragment,activity,不得使用UNIAPP技术进行开发(H5或者小程序); 1.2 设计功能介绍 (1&…

UI设计,仅是画张图吗?

UI设计,仅是画张图吗? 很多时候,当别人问及你是做UI设计,会随口说:“哦,美工!“。象这样的称呼,很多有UI比较早的公司(比如金山,讯腾等)&#x…

后台ui大全(有这些你就够了)

做过后台开发的都知道,我们后台ui基本上都是去拖一个现成的ui框架,然后我们在此基础上改改就差不多了,那该如何选择合适的后台ui呢,哥们那你走运了,我最近整理了最近用的比较多的后台ui,希望有你喜欢的一款。(后面有下…

GUI绘图界面设计

本文介绍matlab中简单的gui绘图界面设计 设计内容: 1、设计GUI界面: 2、通过下拉菜单选择绘制正弦、正切函数; 3、通过编辑框输入命令,根据命令绘制图形; 4、通过按钮在图形中输出标注(标题、各轴名称&…

前端ui设计稿

每个设计师都有「像素级还原」的设计追求,我总结了工作几年还原设计稿的几点经验。全文10059字,阅读时长约21分钟。 前言 UI设计师作为展示产品形态的执行层。产品上线前走查视觉与交互还原是必经环节,设计师可能都遇到过一个问题&#xff0…

【UI】关于如何画设计稿(基础篇)

文章目录 前言精炼对齐重复 详尽设计的四个基础原则简介亲密性原则对齐原则重复原则对比原则 前言 设计是自己的一个爱好,平时看了许多相关的内容,做了许多功课,到现在也有了一些成果。介于自己的并非专业人员,我没有将自己这些年…

chatgpt赋能python:Python字幕滚动:如何让你的视频内容更吸引人

Python字幕滚动:如何让你的视频内容更吸引人 如果你是一位视频创作者,你可能知道如何通过字幕来增加你的视频的吸引力。Python提供了一种简单且高效的方法来制作字幕滚动。字幕滚动是指将文字逐个显示在视频下方,以帮助观众跟上视频的进展。…

修复网站从万年PHP7.2更新到PHP8.0后的出现的bug

写在前面 2021年5月20日23:30左右,因为看到了WordPress仪表盘疯狂提示“为了网站的安全和效能,推荐使用PHP版本7.4以上”,然后我终于做出了一个令我后悔至今的决定——把万年没更新的PHP7.2直接更新到PHP8.0。在更新完成的那一刻&#xff0c…

Linux 删除 颜色转义字符 乱码 \x1b

目录 Linux颜色控制 方式一:添加sed正则命令 方式二:将输出写入文件再读取 Git颜色控制 使用Python paramiko ssh 获取 git 输出时,出现乱码,实际上是终端输出的ANSI颜色转义字符,用于控制终端颜色展示:…

pl/sql developer oracle生僻字显示问题

一、问题由来 随着国标GB18030的推行,各行各业都在如火如荼的落实改造。自己在工作中也发现很多问题,查阅了很多资料都未解决自己的问题。经过慢慢摸索,对生僻字经常出现的问题进行总结,现分享如下。 二、问题描述 1. or…

解决Sublime Text打开C++文件出现中文乱码

按CtrlShiftP打开命令行,输入Install Package,回车,然后继续输入ConvertToUTF8,回车。 等安装好了以后,应该问题就解决了

vant官网访问被拒绝

点击下方前往“站长工具”查询对应网址youzan.github.io的DNS 站长工具 找到TTL值最小的ip地址 和需要的网址对应关系,配置到hosts文件中 win10 hosts文件默认路径:C:\Windows\System32\drivers\etc 以管理员身份打开powershell 执行命令后会打开hosts…

java路径为什么拒绝访问_为什么拒绝访问路径?

回答(26) 2 years ago 我也遇到了问题,因此我在这篇文章上磕磕绊绊 . 我在复制/删除之前和之后添加了以下代码行 . Delete File.SetAttributes(file, FileAttributes.Normal); File.Delete(file); Copy File.Copy(file, dest, true); File.SetAttributes(dest, FileAttributes…

vnc访问被拒绝怎么办,vnc访问被拒绝怎么办,为什么会被拒绝?

vnc远程控制连接被拒绝的原因,服务器作为网站建设的常用设备,在服务器运行过程中起到举足轻重的作用。用户在选择服务器是常用的方式有服务器租用、虚拟主机租用以及服务器托管,通过进行文件以及数据的下载、上传等实现网站的更新,但无论选择哪一种方式都会遇到无法连接服务…

如何拒绝国外IP/屏蔽国外IP访问服务器?

如何拒绝国外IP/屏蔽国外IP访问服务器? 背景介绍公网上的服务器更容易受到攻击 解决方案大多国内公司的服务器都是面向国内用户 实现步骤整理IP地址段到Ipset1、下载IP地址段文件2、将IP地址段转换为Ipset指令3、Ipset写入地址段数据 在Iptables中调用Ipset的 china…

N的阶乘末尾0的个数 (python)

分析 对N的阶乘进行质因子分解,N! (),由于,所以0的个数只与X和Z有关,每一对2和5相乘可以得到一个10,于是有0的个数等于min(X,Z),不难看出X大于Z。所以0的个数只与Z有关。 解法 1 要计算Z,最…

2022-2028全球与中国虚拟数字人市场现状及未来发展趋势

辰宇信息咨询市场调研公司最近发布-《2022-2028全球与中国虚拟数字人市场调研报告》 内容摘要 本文重点分析在全球及中国有重要角色的企业,分析这些企业虚拟数字人产品的市场规模、市场份额、市场定位、产品类型以及发展规划等。主要企业包括: 微软 歌力思 克理…

虚拟数字人市场现状研究分析-

辰宇信息咨询市场调研公司最近发布-《2022-2028中国虚拟数字人市场现状研究分析与发展前景预测报告》 内容摘要 本文研究中国市场虚拟数字人现状及未来发展趋势,侧重分析在中国市场扮演重要角色的企业,重点呈现这些企业在中国市场的虚拟数字人收入、市场份额、市场定位、…