当前位置: 首页 > wzjs >正文

三明网站优化四川seo平台

三明网站优化,四川seo平台,高校档案馆网站建设,佛山免费建站模板✅ YOLOv3 中的 NMS 详解 一、什么是 NMS? 🧠 定义: NMS(Non-Maximum Suppression,非极大值抑制)是一种后处理技术,用于去除目标检测中重复或冗余的边界框(bounding box&#xff…

✅ YOLOv3 中的 NMS 详解

一、什么是 NMS?

🧠 定义:

NMS(Non-Maximum Suppression,非极大值抑制)是一种后处理技术,用于去除目标检测中重复或冗余的边界框(bounding box),保留置信度最高且不重叠的预测结果。

🎯 目标:

  • 消除对同一物体的多次预测;
  • 提高检测结果的准确性;
  • 减少误检;

二、YOLOv3 的输出结构回顾

YOLOv3 输出三个不同尺度的检测结果:

特征图大小anchor 数量输出张量形状
13×133[1, 13, 13, 255]
26×263[1, 26, 26, 255]
52×523[1, 52, 52, 255]

每个 bounding box 包含:

(tx, ty, tw, th, confidence, class_0, ..., class_80)

✅ 即:85 = 4 (坐标) + 1 (confidence) + 80 (类别概率)


三、YOLOv3 中 NMS 的执行流程(基于 Darknet 实现)

YOLOv3 的 NMS 是在模型推理完成后进行的后处理步骤,不属于网络结构本身,但对最终检测效果影响很大。

⚙️ 核心流程如下(来自 Darknet 源码逻辑):

Step 1: 解码所有预测框(bounding boxes)

(tx, ty, tw, th) 转换为图像空间中的绝对坐标 (x1, y1, x2, y2)

boxes = decode_boxes(predictions, anchors, image_size=416)
Step 2: 计算每个框的综合得分(score)

YOLOv3 使用的是:

score = confidence × max ⁡ ( class_probs ) \text{score} = \text{confidence} \times \max(\text{class\_probs}) score=confidence×max(class_probs)

即:

  • 表示“这个框有多大概率是一个物体” × “它属于某个类别的概率”
scores = confidence * class_probs.max(dim=-1)
Step 3: 对每个类别分别执行 NMS

YOLOv3 默认按类别执行 NMS,即:

  • 同一类别的框之间比较 IoU;
  • 不同类别的框不会相互干扰;
for class_id in range(num_classes):# 获取该类别的所有预测框class_boxes = boxes[class_ids == class_id]class_scores = scores[class_ids == class_id]# 执行 NMSkeep_indices = nms(class_boxes, class_scores, iou_threshold=0.45)final_boxes.append(class_boxes[keep_indices])

四、YOLOv3 中的 NMS 参数说明(来自 Darknet 配置)

在 YOLOv3 的 .cfg 文件中,有以下 NMS 相关参数设置:

[region]
...
nms=1
beta_nms=0.6
nms_kind=greedynms
iou_thresh=0.45
参数名含义默认值
nms是否启用 NMS1(启用)
iou_threshNMS 的 IoU 阈值0.45
nms_kindNMS 算法类型greedynms(传统 NMS)
beta_nmsSoft-NMS 使用的平滑系数0.6(仅在 soft-nms 下生效)

⚠️ 注意:YOLOv3 原论文中并未使用 Soft-NMS,但在后续开源实现中支持。


五、YOLOv3 支持的 NMS 类型(来自 Darknet)

YOLOv3 的开源实现(如 AlexeyAB/darknet)支持多种 NMS 方法:

NMS 类型说明是否原生支持
greedynms传统 NMS:保留置信度最高的框,删除与其重叠的其他框✅ 是
linear_soft_nmsSoft-NMS:根据 IoU 降低 confidence,而不是直接删除✅ 是(需手动配置)
gaussian_soft_nms高斯权重 Soft-NMS✅ 是(需手动配置)
diounmsDIoU-based NMS❌ 否(Darknet 不支持)

六、YOLOv3 中 NMS 的伪代码(简化版)

def non_max_suppression(boxes, scores, threshold=0.45):"""输入:- boxes: [N, 4]     # (x1, y1, x2, y2)- scores: [N]       # confidence × max_class_prob- threshold: float   # IoU 阈值输出:- keep_indices: list of int # 保留的框索引"""keep = []indices = np.argsort(scores)[::-1]while len(indices) > 0:best_idx = indices[0]keep.append(best_idx)best_box = boxes[best_idx]# 计算当前最佳框与其他框的 IoUious = compute_iou(best_box, boxes[indices[1:]])# 保留 IoU < threshold 的框继续处理indices = indices[1:][ious < threshold]return keep

七、YOLOv3 NMS 的特点总结

特点说明
✅ 按类别执行 NMS不同类别的框不会相互干扰
✅ 使用 confidence × class_prob 排序更合理的排序方式
✅ 支持 Soft-NMS可通过配置启用(非论文原生)
✅ 多尺度预测适配对小目标更鲁棒
✅ Anchor Boxes 支持anchor 是通过 K-Means 聚类获得的预设框

八、YOLOv3 中的 NMS 示例(PyTorch 简化版)

import torch
from torchvision.ops import nms# 假设我们已经解码出 boxes 和 scores
boxes = ...  # shape: [num_boxes, 4]
scores = ...  # shape: [num_boxes]# 执行 NMS
keep_indices = nms(boxes, scores, iou_threshold=0.45)# 获取最终保留的框
final_boxes = boxes[keep_indices]
final_scores = scores[keep_indices]

九、YOLOv3 NMS 的实际表现(来源:官方测试数据)

模型mAP@COCOFPSNMS 类型说明
YOLOv3~33.0~45greedynms默认 NMS 方式
YOLOv3 + Soft-NMS~33.1~45linear_soft_nms小幅提升召回率
YOLOv3-tiny~25.4~150greedynmsTiny 版本也支持 NMS

十、YOLOv3 中 NMS 的改进意义

虽然 YOLOv3 并未在论文中明确提出新的 NMS 方法,但在开源实现中:

  • 引入了 Soft-NMS 支持,提升了密集场景下的召回能力;
  • 保持按类别执行 NMS 的传统做法,适用于大多数现实场景;
  • anchor boxes 的引入间接提高了 NMS 的稳定性
  • 多尺度预测使不同层级的框更合理,减少了误删情况

这些变化使得 YOLOv3 在实战中具有良好的检测性能。


十一、YOLOv3 NMS 的局限性

局限性说明
❌ 不支持 DIoU-NMS需要自定义修改
❌ 不支持 Efficient NMS如 ONNXRuntime 的优化版本
❌ 不支持动态阈值调整需要额外脚本支持

十二、结语

模块内容
✅ NMS 作用去除重复预测框,提高检测结果质量
✅ YOLOv3 NMS 实现按类别执行,使用 confidence × class_prob 排序
✅ 支持 Soft-NMSDarknet 实现中可选
✅ 多尺度预测适配对不同大小目标更鲁棒
✅ Anchor Boxes 支持anchor 提升召回率和定位精度

📌 欢迎点赞 + 收藏 + 关注我,我会持续更新更多关于计算机视觉、目标检测、深度学习、YOLO系列等内容!


文章转载自:

http://8csn3vAD.zxfdq.cn
http://0CuaK5ts.zxfdq.cn
http://LaYTwHBb.zxfdq.cn
http://kCRz0cmC.zxfdq.cn
http://4NCrgfMt.zxfdq.cn
http://aCH5WYOt.zxfdq.cn
http://sxnRCaYE.zxfdq.cn
http://wt4uMJBg.zxfdq.cn
http://n4o6i6XA.zxfdq.cn
http://DFAOv44j.zxfdq.cn
http://xe4hkV7z.zxfdq.cn
http://ATGzahit.zxfdq.cn
http://3qAFuu9s.zxfdq.cn
http://J8sOHU8P.zxfdq.cn
http://aqQWN2iQ.zxfdq.cn
http://jmSq5ORi.zxfdq.cn
http://AJcGeJUR.zxfdq.cn
http://PS5iMdwL.zxfdq.cn
http://0FPfOzta.zxfdq.cn
http://K3T5i9Zg.zxfdq.cn
http://aE2hdEBa.zxfdq.cn
http://wpRypHR1.zxfdq.cn
http://c1CPpYeG.zxfdq.cn
http://Z0BykuuS.zxfdq.cn
http://j1tUQlLX.zxfdq.cn
http://YDiQ5Hys.zxfdq.cn
http://kue0d9yx.zxfdq.cn
http://2XW3fCpb.zxfdq.cn
http://BHLAtS9Z.zxfdq.cn
http://M2wKWQTh.zxfdq.cn
http://www.dtcms.com/wzjs/649557.html

相关文章:

  • 有没有电商设计的网站参考php做的网站怎么加密
  • 网站专题分类长沙百度seo排名
  • 哪个网站可以做中文云文字厦门云端企业网站建设
  • 网站打不开显示asp网站对联广告代码
  • 撩人的网站怎么做怎么做监控直播网站
  • 了解公司的网站企业所得税优惠政策最新2023计算
  • html5 音乐网站哪个网站做简历比较好
  • 广州建站软件重庆渝北做网站哪里便宜
  • 有那个网站可以做免费的投票网站快速备案
  • 廊坊网页模板建站西安旅游攻略知乎
  • 做网站实例教程简单网页模板免费下载
  • 德阳建设局网站企业网站有哪些平台
  • 网站项目风险建站行业前景
  • 做网站需要注册的那种站酷网怎么赚钱
  • 企业网站有哪些优点汉中城乡建设网站
  • 宁波微网站建设wordpress 图片跳转
  • 网站网站设计的公司东莞短视频推广多少钱
  • 贵州建设职业技术学院官方网站静态网站html模板下载
  • wordpress可以建网站吗随州做网站公司
  • 企业宣传网站系统建设方案网址在手机上怎么登录
  • 安徽建站管理系统开发织梦5.7cms照明灯具能源电子产品企业网站源码企业模板带后台
  • 做网站推广的流程企业网站建立网络虚拟社区时对于企业
  • 网站方案设计与论证自媒体注册平台
  • 百度响应式网站怎么做wordpress备份文件后缀
  • wordpress标签使用自己做网站seo
  • 重庆企业网站定制微信网站建设多少钱
  • 网站静态化对seo山西古建筑网站
  • 南通营销网站制作专做正品的护肤品网站
  • 沈阳做网站的公司排行如何导入旧网站数据库
  • 企业网站备案座机号wordpress表单提交 阿里云邮箱