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

抚州做网站seo每日工作内容

抚州做网站,seo每日工作内容,b2c模式的电商平台,示范校建设验收网站YOLOv2 中 NMS 的详解 一、什么是 NMS? 🧠 定义: NMS(非极大值抑制)是一种目标检测中的后处理技术,用于去除重复预测的边界框,保留置信度最高且不重叠的边界框。 🎯 目标&#x…

YOLOv2 中 NMS 的详解

一、什么是 NMS?

🧠 定义:

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

🎯 目标:

  • 提高检测结果的准确性;
  • 避免同一物体被多次检测;
  • 减少误检和冗余框;

二、YOLOv1 中的 NMS 实现

📌 来源依据:

来自 You Only Look Once: Unified, Real-Time Object Detection (CVPR 2016)

🔍 输出结构回顾:

YOLOv1 输出为一个 7×7×30 的张量:

  • 每个 grid cell 输出 2 个 bounding box;
  • 每个 bounding box 包含 (x, y, w, h, confidence)
  • 后接 20 个类别的概率(PASCAL VOC);

⚙️ NMS 执行流程(根据论文描述 + Darknet 实现):

  1. 按类别执行 NMS

    • 对每个类别分别执行 NMS;
    • 即:只在同一类别的预测框之间比较 IoU;
  2. 筛选该类别的所有预测框

class_boxes = [box for box in all_boxes if box.class_id == class_id]
  1. 按 confidence 排序
class_boxes.sort(key=lambda x: x.confidence_score, reverse=True)
  1. 依次选择最大 confidence 的框,并删除与其高度重叠的其他框
keep_boxes = []
while len(class_boxes) > 0:highest_conf_box = class_boxes.pop(0)keep_boxes.append(highest_conf_box)class_boxes = [box for box in class_boxesif iou(box, highest_conf_box) < iou_threshold]

常用阈值:iou_threshold = 0.5


✅ YOLOv1 NMS 的特点总结:

特点说明
按类别执行不同类别的框不会相互干扰
使用 confidence 排序只使用 bounding box 的 confidence 分数
每个网格预测两个框框的数量有限,召回率较低
简单高效在 CPU 上也能运行良好
效果一般对密集目标或小目标效果较差

三、YOLOv2 中的 NMS 实现

📌 来源依据:

来自 YOLO9000: Better, Faster, Stronger (CVPR 2017)

🔍 输出结构回顾:

YOLOv2 输出为一个 13×13×(B × 5 + C) 张量:

  • 每个 grid cell 预测 B=5 个 anchor boxes;
  • 每个 bounding box 包含 (tx, ty, tw, th, confidence)
  • 类别概率为 C 个(COCO 为 80);
  • 每个 anchor box 还包含对应的宽高偏移(基于聚类 anchors);

⚙️ YOLOv2 NMS 的执行流程(基于 Darknet 实现):

Step 1: 计算每个 bounding box 的综合得分(score)

不同于 YOLOv1,YOLOv2 在排序时使用的是:

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

即:

  • 表示“这个框有多大概率是一个物体” × “它属于某个类别的概率”
for box in all_boxes:box.score = box.confidence * max(box.class_probs)
Step 2: 按 score 排序
all_boxes.sort(key=lambda x: x.score, reverse=True)
Step 3: 执行 NMS
keep_boxes = []while len(all_boxes) > 0:highest_score_box = all_boxes.pop(0)keep_boxes.append(highest_score_box)all_boxes = [box for box in all_boxesif iou(box, highest_score_box) < iou_threshold]

✅ YOLOv2 NMS 的特点总结:

特点说明
综合 score 排序使用 confidence × class probability,提升排序合理性
更多 anchor boxes每个 grid cell 预测 5 个框,提高召回率
支持 Soft-NMSDarknet 后续版本支持软抑制(非官方)
多尺度训练适配对不同大小目标的鲁棒性更强
Anchor Boxes 支持anchor 是通过 K-Means 聚类获得的预设框

四、YOLOv1 与 YOLOv2 NMS 的核心差异对比(基于论文与 Darknet 实现)

对比维度YOLOv1YOLOv2
是否使用 Anchor Boxes❌ 不使用✅ 使用 K-Means 聚类 anchor
排序依据confidenceconfidence × max(class_probs)
是否按类别执行✅ 是✅ 是(默认)
每个 grid cell 预测框数量25
是否支持 Soft-NMS❌ 不支持✅ 支持(Darknet 后续实现)
是否支持 DIoU-NMS❌ 不支持✅ 支持(可通过修改实现)
小目标检测能力较差明显提升
多尺度训练支持❌ 不支持✅ 支持输入尺寸随机变化
NMS 应用位置检测头输出后检测头输出后(同 YOLOv1)

五、YOLOv1 / YOLOv2 中 NMS 的 PyTorch 示例代码(简化版)

✅ YOLOv1 NMS 示例(伪代码):

def nms_yolov1(boxes, confidences, iou_threshold=0.5):# 按置信度排序indices = np.argsort(confidences)[::-1]keep = []while len(indices) > 0:best_idx = indices[0]keep.append(best_idx)# 计算 IoUious = [iou(boxes[best_idx], boxes[i]) for i in indices[1:]]indices = indices[1:][np.array(ious) < iou_threshold]return keep

✅ YOLOv2 NMS 示例(伪代码):

def nms_yolov2(boxes, scores, iou_threshold=0.5):# 按综合分数排序(confidence × class prob)indices = np.argsort(scores)[::-1]keep = []while len(indices) > 0:best_idx = indices[0]keep.append(best_idx)# 计算 IoUious = [iou(boxes[best_idx], boxes[i]) for i in indices[1:]]indices = indices[1:][np.array(ious) < iou_threshold]return keep

六、YOLOv1 / YOLOv2 中 NMS 的实际表现对比(来源:YOLO 官方文档 & Darknet 实现)

模型mAP@COCOFPSNMS 类型NMS 输入方式
YOLOv1~63.445 fpsIoU-NMSconfidence 排序
YOLOv2~76.867 fpsIoU-NMS(可扩展为 Soft/DIoU)confidence × class_prob 排序

七、YOLOv2 中 NMS 的改进意义

虽然 YOLOv2 并未在论文中明确提出新的 NMS 方法,但在实践中:

  • 引入了 Anchor Boxes:使得预测框更合理,提高召回率;
  • 综合 score 排序:提升了排序的合理性;
  • 支持更多框预测:从每格 2 个框增加到 5 个框,提高了覆盖范围;
  • 配合多尺度训练:增强了模型对不同大小目标的适应性;

这些变化间接使 NMS 的效果显著优于 YOLOv1。


八、结语

模块内容
YOLOv1 的 NMS按类别执行,仅使用 confidence 排序
YOLOv2 的 NMS使用 confidence × class prob 排序,anchor 框提升召回
区别总结YOLOv2 的 NMS 更加合理,结合 anchor boxes 提升整体性能
现实意义NMS 是目标检测不可或缺的一环,YOLOv2 的改进是后续版本的基础

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

http://www.dtcms.com/wzjs/405258.html

相关文章:

  • 有什么网站有小学生做的题目希爱力双效片的作用与功效
  • 无锡崇安网站建设10条重大新闻
  • 做什爱网站2022好用值得推荐的搜索引擎
  • 最准做特马网站免费网站seo排名优化
  • 雄安网站建设网页制作软件有哪些
  • 诸暨市住房和建设局网站注册查询网站
  • 购物网站平台建设互联网营销师证书查询入口
  • 网站建设加盟招商百度广告怎么做
  • 网站后台添加投票系统互联网品牌营销公司
  • 龙岩做网站的地方宁波seo关键词优化制作
  • 湘潭网站建设价格线上销售渠道有哪几种
  • 网站开发有什么软件有哪些域名申请的流程
  • 免费网站建设策划磁力下载
  • 从化区建设网站百度识图搜索引擎
  • 海口市做网站的公司武汉seo首页优化公司
  • Linux网站建设总结上海有哪些优化网站推广公司
  • 网站建设与运营市场开发方案seo积分优化
  • 怎么建立一个网站卖东西详情页设计
  • 设计一个网站先做哪些构造搜狗seo排名软件
  • 做网站网页排版错误网络营销做得好的企业有哪些
  • 百度门店推广百度网站关键词优化
  • 飞飞cms悠悠电影网站注册网址在哪里注册
  • 用jsp做网站有什么好处百度账号安全中心
  • 网站推广排名收费营销伎巧第一季
  • 乡土文化网站怎么做赣州seo外包
  • 各大城市网站哪里做互联网营销师报名官网
  • 深圳网站设计公司发展历程怎么做网络营销平台
  • 温州创荣网络科技有限公司优化大师软件大全
  • 怎样查看网站的权重新媒体营销案例ppt
  • 荥阳做网站网站报价