
目标检测系列
文章平均质量分 81
目标检测相关知识学习
寻找永不遗憾
这个作者很懒,什么都没留下…
展开
-
【multi_scale】多尺度训练——目标检测训练trick
文章目录1 多尺度训练的介绍2 代码解析3 感谢链接1 多尺度训练的介绍多尺度训练对全卷积网络有效,在训练时,每隔一定的 iterations,在一定尺寸范围内,随机选取一种 img_size 进行训练。通过对不同尺度的图像进行训练,在一定程度上提高检测模型对物体大小的鲁棒性。使用尺度小的图片测试速度快些,但准确度低,用尺度大的图片测试速度慢,但准确度高。2 代码解析可以根据代码注释以及最下方的YOLOv3 spp的网络结构图进行理解。获取一些基础信息: # ---------原创 2022-05-30 17:19:15 · 6320 阅读 · 0 评论 -
【YOLOv3 SPP 数据集准备】YOLOv3 SPP数据集准备代码理解
文章目录1 VOC数据集准备1.1 数据集介绍1.2 生成需要的文件11.2 生成需要的文件22 感谢链接本文主要参考 霹雳吧啦Wz 的代码,如果不想看文章,欢迎去看他的视频,视频链接在感谢链接中!1 VOC数据集准备1.1 数据集介绍用Pascal Voc2007+2012做训练,在Pascal Voc2007上做测试,数据情况如下:训练数据:16551张图像,共40058个目标测试(验证)数据:4952张图像,共12032个目标VOC数据集格式中的Annotations是.xml文件,原创 2022-05-29 09:40:29 · 682 阅读 · 1 评论 -
【DIoU CIoU】DIoU和CIoU损失函数理解及代码实现
文章目录1 引言2 问题分析3 作者思考4 DIoU Loss计算过程5 CIoU Loss计算过程6 IoU/GIoU/DIoU/CIoU代码实现可视化7 感谢链接1 引言目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。Bounding Box Regression Loss Function的演进路线是:Smooth L1 Loss --> IoU Loss --> GIoU Loss -->原创 2022-05-27 20:47:36 · 4223 阅读 · 3 评论 -
【FCOS】FCOS理论知识讲解
文章目录1 FCOS是什么1.1 核心思想1.2 Anchor-Based缺点1.3 FCOS优点2 FCOS 网络结构介绍2.1 FCOS 初始版本2.2 FCOS 分支改进版本3 正样本、负样本、模糊样本的定义4 特征图上的点映射回原图5 锚点回归目标值6 模糊样本的处理7 Center-ness分支8 后续改进8.1 center sampling8.2 centerness 分支的 centerness计算8.3 regression分支的loss8.4 bbox loss weight8.5 n原创 2022-05-22 21:05:50 · 18181 阅读 · 4 评论 -
【GIoU loss】GIoU loss损失函数理解
文章目录1 引言2 问题分析3 GIoU Loss计算过程4 IoU和GIoU对比分析5 感谢链接1 引言目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。Bounding Box Regression Loss Function的演进路线是:Smooth L1 Loss --> IoU Loss --> GIoU Loss --> DIoU Loss --> CIoU Loss之前写到了原创 2022-05-22 21:01:58 · 10005 阅读 · 3 评论 -
【Smooth L1 Loss】Smooth L1损失函数理解
文章目录1 引言2 L1 Loss3 L2 Loss4 Smooth L1 Loss5 曲线对比分析参考链接1 引言目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。Bounding Box Regression Loss Function的演进路线是:Smooth L1 Loss --> IoU Loss --> GIoU Loss --> DIoU Loss --> CIoU Loss本原创 2022-05-21 13:26:33 · 35706 阅读 · 1 评论 -
【IoU loss】IoU损失函数理解
文章目录1 引言2 问题分析3 IoU Loss4 感谢链接1 引言目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。Bounding Box Regression Loss Function的演进路线是:Smooth L1 Loss --> IoU Loss --> GIoU Loss --> DIoU Loss --> CIoU Loss之前写到了Smooth L1 Loss,本文介绍I原创 2022-05-22 16:29:30 · 7332 阅读 · 1 评论 -
【FPN BiFPN】Feature Pyramid Networks 特征金字塔网络理解
文章目录1 FPN是什么2 为什么要用FPN3 目标检测backbone中常见术语解读4 FPN特征融合常规解读4.1 FPN包括哪些部分4.2 FPN特征融合的思想5 FPN特征融合YOLOv3实例解读5.1 构建方式解读15.2 构建方式解读26 FPN特征融合FCOS实例解读7 感谢链接1 FPN是什么FPN,Feature Pyramid Networks,特征金字塔网络。用来处理多尺度(不同大小)物体检测问题。2 为什么要用FPN为什么要用FPN?以前,在Backbone的最后一个s原创 2022-05-19 13:18:34 · 9053 阅读 · 0 评论 -
【YOLOv3 Loss】YOLOv3损失函数详解
文章目录1 自己写类 要注意什么2 计算loss所需参数2.1 pred是什么2.2 target是什么3 loss的计算过程4 代码理解5 感谢链接1 自己写类 要注意什么Pytorch中,调用自己写的类,forward函数为什么可以直接被调用?比如下文yolo_loss是自己写的类。loss_item, num_pos = yolo_loss(l, outputs[l], targets)# 而不是loss_item, num_pos = yolo_loss.forward(l, output原创 2022-04-22 14:55:01 · 8071 阅读 · 1 评论 -
【YOLOv3 Train】YOLOv3训练全过程
文章目录1 网络训练流程概述2 训练前先注意3 整体代码理解4 一轮训练与验证代码5 感谢链接1 网络训练流程概述想得到一个model_best模型,宽泛的考虑:拿到数据,训练一下,谁效果好,谁就是model_best。细致考虑的话,需要注意以下要点:是否使用cuda?数据集准备和划分比例关系训练多少个epoch?是否要先冻结特征提取部分参数训练,然后再解冻训练? 通常不是学习率大小和batch_size大小关系学习率衰减方式,可使用哪些trick?网络模型初始化,权重初始化方式原创 2022-04-22 13:57:59 · 6238 阅读 · 1 评论 -
【YOLOv3 预测】YOLOv3图像输入->处理->输出全过程
文章目录1 数据输入输出代码详解2 yolo.detect_image详解3 感谢链接1 数据输入输出代码详解数据输入方式主要包括三种:读取本地一张图片(代码中predict状态)读取本地文件夹中所有图片(代码中dir_predict状态)视频输入状态(代码中video状态),视频输入又分为摄像头输入和本地视频输入两种,当video_path=0时表示检测摄像头。将这三种输入方式归总到一个predict.py文件中,从全局角度看图像输入、处理、输出的全过程,其代码如下:# --------原创 2022-04-22 13:16:57 · 8301 阅读 · 0 评论 -
【YOLOv3 NMS】YOLOv3中的非极大值抑制
文章目录1 NMS问题由来2 NMS操作流程2.1 进行NMS前要先有什么2.2 NMS流程3 NMS代码解读感谢链接1 NMS问题由来利用YOLOv3网络结构提取到out0、out1、out2之后,不同尺度下每个网格点上均有先验框,网络训练过程会对先验框的参数进行调整,继而得到预测框,从不同尺度下预测框还原到原图输入图像上,同时包括该框内目标预测的结果情况(预测框位置、类别概率、置信度分数)。问题: 每个网格节点上都有3个框,每个框对应到不同类别上也都有概率,然而最终输出不可能把这些框都输出了,怎么原创 2022-04-16 22:22:18 · 2201 阅读 · 3 评论 -
【YOLOv3 decode】YOLOv3中解码理解decode_box
文章目录1 解码是什么意思2 代码解读3 生成网格中心代码详解4 感谢链接1 解码是什么意思在利用YOLOv3网络结构提取到out0、out1、out2之后,不同尺度下每个网格点上均有先验框,网络训练过程会对先验框的参数进行调整,继而得到预测框,从不同尺度下预测框还原到原图输入图像上,同时包括该框内目标预测的结果情况(预测框位置、类别概率、置信度分数),这个过程称之为解码。2 代码解读注释主要以VOC数据集,YOLOv3 net最后一层输出进行解读。import torchimport nump原创 2022-04-13 12:09:16 · 2900 阅读 · 8 评论 -
【YOLOv3 dataset】YOLOv3数据集准备
文章目录1 为什么要整这一出2 基础知识2.1 Dataset2.2 DataLoader3 Dataset与DataLoader综合使用4 YoloDataset的实际使用5 感谢链接1 为什么要整这一出神经网络需要数据传入才能进行训练等操作,那怎样才能把图片以及目标检测标注信息整合成神经网络正规输入的格式呢?回答: pytorch 的数据加载到模型的操作顺序是这样的:① 创建一个 Dataset 对象② 创建一个 DataLoader 对象③ 循环这个 DataLoader 对象,将img,原创 2022-04-12 10:27:53 · 1346 阅读 · 0 评论