NMS及其变体
nms:1.首先将pred_data中置信度小于x的过滤掉,2.根据conf从大到小重新排序并记为P。3.将P[0]保存到另一个列表R中并计算其与P[1:]的IOU(可选项:是否在不同类间计算IOU),过滤掉其中IOU大于y的P[1:]。4.重复步骤3直到P为空
batch-nms:它并非是真正的在一个batch间进行nms,只是给每个box的坐标加上cls_id*max_wh,将每个类的box分隔开来好计算不同类间的IOU,算是加速计算的一种技巧
weighted-nms:它在进行nms步骤3时,将所有与它IOU大于iou_thresh的box的box_conf为权重*各自的坐标并取加权平均记为weight_box,最终返回weight_box而非P[0]并重复步骤3直到P为空
merge-nms:它是先走一遍普通nms的流程得出的nms_box后再跟原始的pred_box计算IOU,然后将大于iou_thresh的IOU*conf([c,n]*[1,n]->[c,n])记为weight再与pred_box做矩阵乘法([c,n]*[n,4]->[c,4])最后除以weight.sum(1)得到的box作为merge-nms结果返回
soft-nms:多了一个soft_thresh参数,在普通nms中计算IOU后,对大于iou_thresh的box_conf做衰减(线性衰减或指数衰减)(普通nms中是直接将box_conf置为0),然后过滤掉box_conf小于soft_thresh的box,继续重复nms中的步骤3。
diou-nms:nms中计算IOU的方法改为DIOU即可,可以缓解遮挡问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下