目标检测按照多类一起和单个类进行NMS操作

news/2025/2/11 2:24:30/

def non_max_suppression(prediction, conf_thres=0.25, iou_thres=0.45, classes=None, agnostic=False, multi_label=False,
labels=(), max_det=300):

四.将所有的类别框当做一个类别进行nms

    c = x[:, 5:6] * (0 if agnostic else max_wh) # classes
    boxes, scores = x[:, :4] + c, x[:, 4] # boxes (offset by class), scores
    i = torchvision.ops.nms(boxes, scores, iou_thres) # NMS

agnostic参数 True表示多个类一起计算nms,False表示按照不同的类分别进行计算nms

按照每个类进行nms可能会出现一个目标多个类别框的情况
代码重点是在 '+c’这里的c就是偏移量
x[:, :4]表示box(从二维看第0,1,2,3列)
x[:, 4] 表示分数(从二维看第4列)
x[:, 5:6]表示类IDX(从二维看第5列)
max_wh这里是4096,这样偏移量仅取决于类IDX,并且足够大
 


http://www.ppmy.cn/news/50918.html

相关文章

LeetCode 1027. 最长等差数列

【LetMeFly】1027.最长等差数列 力扣题目链接:https://leetcode.cn/problems/longest-arithmetic-subsequence/ 给你一个整数数组 nums,返回 nums 中最长等差子序列的长度。 回想一下,nums 的子序列是一个列表 nums[i1], nums[i2], ..., n…

FPGA目前就业形势咋样?来听听业内工程师的看法

看到网上有一个问题很火:2023了,FPGA目前就业形势咋样?很多同学也对这个方向比较感兴趣,下面就来一起了解一下吧。 FPGA岗位有哪些? 从芯片设计流程来看,FPGA岗位可以分四类 产品开发期:FPGA系统架构师 …

如何实现24小时客户服务

许多企业都有着这样的愿望:在不增加客服人员的同时能实现24小时客户服务。 那么有没有什么方法可以实现这一想法呢?在想解决方案之前我们可以先来谈谈客服的作用。 客服的作用主要为以下2点: 帮助用户更快地了解产品(减轻产品的…

RabbitMQ --- SpringAMQP

一、简介 SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。 SpringAmqp的官方地址:Spring AMQP SpringAMQP提供了三个功能: 自动声明队列、交换机及其绑定关系 基于注解的监…

Vue 3 第十二章:组件三(动态组件-component)

文章目录 1. 动态组件1.1. 动态组件的概念1.2. 动态组件的使用和实现 总结 1. 动态组件 1.1. 动态组件的概念 多个组件通过component标签挂载在同一个组件中&#xff0c;通过触发动作进行动态切换。常搭配<keep-alive></keep-alive>使用&#xff0c;多用于tab栏的…

深入谈谈内存压缩那些事!

1. 技术背景 说到压缩这个词&#xff0c;我们并不陌生&#xff0c;应该都能想到是降低占用空间&#xff0c;使同样的空间可以存放更多的东西&#xff0c;类似于我们平时常用的文件压缩,内存压缩同样也是为了节省内存。 尽管当前android手机6GB&#xff0c;8GB甚至12GB的机器都…

[激光原理与应用-69]:激光器-器件 - 三极管

第1章 什么是三级管 三极管&#xff0c;全称应为半导体三极管&#xff0c;也称双极型晶体管、晶体三极管&#xff0c;是一种控制电流的半导体器件。其作用是把微弱电流信号放大成幅度值较大的电流信号&#xff0c;也用作无触点开关。电流信号经过电阻后&#xff0c;就变成了电压…

1 java简介

java是什么 Java是一种计算机编程语言&#xff0c;可以用它来编写所有种类的应用程序&#xff0c;包括桌面应用程序、移动应用程序、Web应用程序等等。Java还拥有跨平台的特性&#xff0c;这意味着您可以在多种操作系统和设备上运行Java应用程序。 java如今现状 Java仍然是非…