SSD系列3——损失计算

ssd 详解 1.1.1 网络结构 ssd的基础网络和vgg16是一样的不过全连接层换成了conv6+relu+conv7+relu.其后的层称为extra layer以得到更多不同尺寸的feature map. 并且对网络中conv4_3, conv7,conv8_2,conv9_2,conv10_2,conv11_2这六个layer的feature map再做卷积,得到类别和位置信息. 具体操作为:分别用2组3 x 3的卷积核去做卷积,一个负责预测类别,一个负责预测位置.卷积核的个数分别为boxnum x cl 阅读详情

SSD系列:
SSD系列1——网络结构
SSD系列2——PriorBox
SSD系列3——损失计算

一、确定正、负样本标签

  损失计算的第一步是对所有的PriorBox赋予正、负样本的标签,并确定对应的真实物体标签。

  在SSD的PriorBox生成过程中,一共生成了8732个PriorBox坐标以及对应的类别、位置预测值,接下来就要为每一个PriorBox贴标签,筛选出符合条件的正样本和负样本,依据是通过预测值与真值之间的IoU值来判断:

  • 在判断正、负样本时,IoU阈值设置为0.5,即一个PriorBox与所有真实框的最大IoU小于0.5时,判断该框为负样本。
  • 判断对应关系时,将PriorBox与其拥有最大IoU的真实框作为其位置坐标。
  • 与真实框有最大IoU的PriorBox,即使该IoU不是此PriorBox与所有真实框IoU中最大的IoU,也要将该Box对应到真实框上,这是为了保证真实框的Recall。
  • 在预测边框位置时,SSD与Faster RCNN相同,都是预测相对于预测框的偏移量,因此在求得对应关系后,还需要进行偏移量的计算,公式参考Faster RCNN系列2——RPN的真值与预测值概述

二、定位损失的计算

  第一步完成后,就有了正、负样本及每一个样本对应的真实框,此时可以进行定位损失计算,SSD使用 s m o o t h L 1 0 smooth_{L1}0 smoothL1​0函数作为定位损失函数,并且只对正样本计算,公式参考:Faster RCNN系列3——RPN的真值详解与损失值计算

三、难样本挖掘

  在完成第一步后,由于一张图像中物体的数量不会太多,因此会存在大量的负样本,如果此时进行损失计算,则正样本起到的作用微乎其微。

  SSD通过保证正、负样本的比例来实现样本均衡,具体做法为计算出所有负样本的损失后进行排序,选取损失值较大的一部分进行反向传播,舍弃剩下的负样本,负样本的数量为正样本的3倍。

四、类别损失计算

  SSD使用交叉熵损失进行类别损失计算,且正、负样本全部参与计算,公式参考Faster RCNN系列3——RPN的真值详解与损失值计算

目标检测算法汇总:RCNN系列、YOLO系列、SSD系列 常见的目标检测算法1、传统的目标检测方法2、候选区域/窗+分类3、回归 目前,常见的目标检测(object detection)算法分为3类: 1、传统的目标检测方法:特征提取+分类器 2、候选区域/窗+分类:R-CNN、SPP-net、Fast R-CNN、Faster R-CNN、R-FCN 3、回归:YOLO系列、SSD系列 1、传统的目标检测方法 2、候选区域/窗+分类 2.1 3、回归 参考: 1、一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD . 阅读详情

相关推荐

pytorch-ssd源码解读(三)------------multibox_loss(损失函数)

pytorch-ssd 本人加的注释版本 一、SSD损失函数 SSD的损失函数与region proposal方法有个明显的区别,在于SSD并不是针对所有的检测器计算loss。SSD会用一种匹配策略给每个检测器分配一个真实标签(背景为0,前景为对应的物体类别)。指定的标签为前景的预测器称为正样本(正样本全部计算loss)。标签为背景的预测器是负样本,并不是所有的负样本都用来计算loss(...

goodxin_ie的博客 7398

损失函数:Focal Loss

Focal Loss解决两个问题:1> 正负样本不平衡; 2>easy和hard examples不平衡问题。

那年聪聪 1万+

目标检测系列:SSD系列SSD、FSSD、DSSD、DSOD

SSD DSSD FSSD DSOD SSD 动机 目前目标检测的一些算法包括基于深度学习的,都是先假定一些候选框,接着对候选框内容进行特征提取再分类,然后再对边框的位置进行修正这一系列的计算,最典型的例如Faster RCNN,虽然准确,但是计算太过于密集,即使是在高端的硬件上,检测的速度也非常慢,难以达到实时检测的要求。 而另一种基于回归的方法例如YOLO算法,虽然达到了实时的要求,...

qq_39382877的博客 5826

YOLOv3的正负样本和损失函数

yolov3论文并没有给出损失函数,查了好多资料和程序,其方法都不同,先说一下我觉得比较正确的一种方式吧: loss计算 公式不多说了,就说下理解(以下采用均方误差、交叉熵误差只是简单起见,还有些版本选择其他的误差计算,本文重点在正负样本的选择): 如果某网格的某个边框负责预测该物体(正样本): ​ 对tx ty求均方误差 ​ 对tw th求均方误差 ​ 对80类分类结果求二类交叉熵误差 ​ 对置信度C计算二类交叉熵误差(C期望值=1) 某网格的某些边框不负责预测该物体,且Anchor和真实值

不知语冰 1万+

SSD框架详细解读(一)

目录 模型结构 Prior box默认框的产生 Prior box 的大小尺寸计算 输出层通道num_output计算。 Priorbox的使用 Permute,Flatten And Concat Layers matching strategy:选择一系列default boxes hard negative mining data augmentation 技巧对比效果结...

rainforestgreen的博客 1万+

jmeter问题系列:Begin size 0 is not equal to fixed size 5

Begin size 0 is not equal to fixed size 5 ,问题的解决

雨水的早晨的博客 2411

正负样本的定义、划分以及用于loss的计算的过程

正负样本定义 什么是正负样本?事实上,在目标检测领域正负样本的定义策略是不断变化的。正负样本是在训练过程中计算损失用的,而在预测过程和验证过程是没有这个概念的。许多人在看相关目标检测的论文时,常常误以为正样本就是我们手动标注的GT,其实不然。首先,正样本是待检测的目标,比如检测人脸时,人脸是正样本,非人脸则是负样本,比如旁边的树呀花呀之类的其他东西;其次,正负样本都是针对于算法经过处理生成的框(如:计算宽高比、交并比、样本扩充等)而言,而非原始的GT数据。 文章目录正负样本定义正负样本不平衡-引自[Foca

a699669的博客 2万+

手把手教你用STM32F103C8T6驱动HUB75 LED点阵屏(附74HC595级联代码)

本文详细介绍了如何使用STM32F103C8T6开发板驱动HUB75接口的LED点阵屏,包括硬件连接、74HC595级联代码、时序控制及灰度显示实现。通过实战案例展示动态文字显示和性能优化技巧,帮助开发者快速掌握LED点阵屏驱动技术。

weixin_42623010的博客 342

YOLO-----关于正负样本、Loss、IOU、怎样去平衡正负样本的问题?

关于正负样本、Loss、IOU、怎样去平衡正负样本的问题 1、关于正负样本2、Loss计算3、IOU、GIOU、DIOU、CIOU4、怎样去平衡正负样本的问题? 先整理一下anchor的概念 常用的anchor定义 ----Faster R-CNN 定义三组纵横比ratio = [0.5,1,2]和三种尺度scale = [8,16,32],可以组合处9种不同的形状和大小的边框。 ----YOLO则不是使用预设的纵横比和尺度的组合,而是使用k-means聚类的方法,从训练集中学习得到不同的Anchor yo

Cai_Xu_Kun的博客 1万+

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明:研究QT+VTK有段时间了,准备把学到的东西分享给大家,这篇博客以VS+QT+VTK为主进行展开学习的。

HXX904的博客 4757

实测有效!YOLOv8融合EMA注意力机制后,在无人机航拍目标检测中的性能提升对比

本文详细介绍了YOLOv8融合EMA注意力机制在无人机航拍目标检测中的性能提升效果。通过多尺度特征融合和通道-空间双重注意力机制,EMA模块显著提升了小目标检测的准确率,mAP@0.5平均提升4.2%,同时保持推理速度基本不变。文章还提供了模型定制、训练技巧和实际部署优化的全流程指南。

weixin_33704234的博客 391

目标检测——yolov3论文精读

yolov3论文精读

zyw2002的博客 6328

【Bug已解决】Claude Team Plan 购买席位报错 Payment failed 解决方案

方案适用场景推荐指数检查账单历史状态排查的第一步⭐⭐⭐⭐⭐更换支付方式类型快速尝试是否能绕开问题⭐⭐⭐联系官方支持团队最终解决问题的正规渠道⭐⭐⭐⭐⭐临时过渡方案紧急用人需求的应急处理⭐⭐⭐关注官方修复进度确认属于系统性缺陷的场景⭐⭐⭐⭐Claude Team Plan 增购席位报的问题,社区反馈和实际排查表明很大概率属于平台计费系统在处理按比例分摊费用这类复杂计算链路时的系统性缺陷,而不是用户自身的支付信息填写有误。先排除自身账单历史是否存在异常。

一键难忘的博客 4183

视觉算法概述

文章目录YOLO系列YOLOv1预测方法缺点YOLOv2YOLOv2相对于YOLOv1的改进YOLOv3相比于上一代的改进 YOLO系列 引用: https://zhuanlan.zhihu.com/p/136382095 YOLOv1 预测方法 将一幅图像分成SxS个网格(grid),如果某个物体的中心落在这个网格中,则这个网格就负责预测这个物体 每个网络预测B个(2个)BBox的位置信息(x,y,w,h)和置信度(confidence)信息以及类别信息(category)。即模型最终输出为(SS

BO_GOD的博客 8930

【Claude Code 源码解析教程】总体大纲

本教程旨在深入解析 Anthropic Claude Code 项目的源码架构和实现细节。Claude Code 是一个基于 TypeScript + Bun 构建的 AI 编程助手 CLI 工具,代号 "Tengu",具有复杂的多模块架构和丰富的功能特性。本教程基于Claude Code 的源码分析来生成,将帮助您全面掌握 Claude Code 的源码架构和实现细节,为开发类似 AI 编程助手工具奠定坚实基础。

rengang66的博客 387

【YOLOv12[基础]】热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 | GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等

热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等

静谧、淡雅 895

SSD系列

一 SSD算法介绍 Single Short MultiBox Detector(one-stage方法) Wei Liu在ECCV 2016提出 直接回归目标类别和位置 不同尺度的特征图上进行预测 端到端的训练 图像的分辨率比较低,也能保证检测的精度 二 原理: prior box layer:如果将每一...

WYH19951220的博客 2000

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效。字体图标库:Font Awesome。技术栈:HTML+CSS+JS。

艾恩小灰灰的博客 907

SSD源码的损失计算

SSD源码的损失计算 文章目录SSD源码的损失计算1、前言2、解析2.1 match2.1.1 匹配策略2.1.2 match函数代码2.2 encode与decode2.2.1 encode2.2.2 decode2.3 正负样本选取2.3.1 正负样本选取规则3、完整的multi_box代码 1、前言 SSD算法损失函数部分定义在~/layers/modules/multibox_loss.py文件中。核心目的是采取特定的方法得到正负样本,在网络预测出的default boxes(代码中常使用prio

weixin_42232354的博客 298

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

目标检测基础、Yolo系列、SSD

目标检测、YOLO系列的介绍和训练

m0_46902739的博客 7086

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SSD源码解析4-损失函数(理论+源码)

SSD源码解析1-整体结构和框架 SSD源码解析2-input_pipeline() SSD源码解析3-ssd_model_fn() SSD源码解析4-损失函数(理论+源码) 参考文章: 博客园:深度学习笔记(七)SSD 论文阅读笔记简化 知乎:SSD 知乎:目标检测|SSD原理与实现 知乎:SSD-TensorFlow 源码解析 TensorFlow之esti...

7525

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

目标检测——SSD损失值计算

SSD损失分为两部分,类别损失和回归框位置损失 其中,类别损失采用softmax损失,回顾框损失采用l1——smooth损失。 1. softmax损失: def _softmax_loss(self, y_true, y_pred): y_pred = tf.maximum(y_pred, 1e-7) softmax_loss = -tf.reduce_sum(y_true * tf.math.log(y_pred), .

Fighting Hua 1133

ssd(Single Shot MultiBox Detector)代码解读之(三)multibox loss损失函数

multiboxloss是SSD的损失函数 跟交叉熵那些官方给出接口的损失函数不同。multiboxloss需要自己定义的。 建议:边看代码边看此博客。 代码来源:https://github.com/amdegroot/ssd.pytorch multiboxloss的流程: 1.获取ssd网络的输出 ssd网络输出有三个,其中两个是预测值,一个是所有defaultbox...

ZJE 4702

[Intensive Reading]目标检测(object detection)扩展系列(三) Faster R-CNN,YOLO,SSD,YOLOv2,YOLOv3在损失函数上的区别

Faster R-CNN,YOLO和SSD通用目标检测领域有着奠基一般的作用, 而YOLOv2和YOLOv3由于其灵活易用的特性,在工业界一直很受欢迎,下面这篇文章主要想从损失函数的角度集中讨论下这几个主流框架的区别。

zhangxu 3023

目标检测算法——SSD

文章目录1.SSD简介2.SSD网络结构1)Backbone2)Default Box3)Predictor3.SSD匹配准则4.SSD损失计算1)类别损失2)定位损失 1.SSD简介 SSD算法全称是 Single Shot MultiBox Detector,论文链接. 摘要:在PASCAL VOC、COCO和ILSVRC数据集上的实验结果证实,SSD具有与利用额外目标建议步骤的方法竞争的准确性,而且速度快得多,同时为训练和推理提供了统一的框架。对于300×300输入,SSD在VOC2007上实现74.

Clichong 6411

SSD算法解析

目标检测算法主要分为两类: Two-stage方法:如R-CNN系列算法,主要思路就是通过Selective Search或者CNN网络产生一系列的稀疏矩阵的候选区域,然后对这些候选区域进行分类和回归,two-stage的方法优势在于准确率度高; One-stage方法:如YOLO系列方法,主要思路就是均匀地在图片上不同位置进行密集采样,采样时使用不同尺度和长宽比box,然后利用CNN提取特征后直接进行分类和回归,整个过程只需要一步,所以优势在于速度快。我们接下来介绍的SSD方法也是单阶段的算法。 SS

m0_56192771的博客 1万+
上一篇: SSD系列2——PriorBox
下一篇: 深度学习中的pipeline和baseline
晓shuo
晓shuo 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄6年 4万+粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓shuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值