【深度学习】目标检测之非最大值抑制算法(Non-max suppression)

最终的预测结果仅取IoU(intersection of union,交并比)最大的那个矩形。可以提高YOLO目标检测算法的性能。


### 非极大值抑制算法原理 非极大值抑制(Non-Maximum Suppression, NMS)是一种用于消除冗余检测框的技术,在计算机视觉领域广泛应用。该技术通过设定阈值来筛选出最优的目标边界框。 NMS 的核心思想是在候选区域中保留局部最大响应的像素点,而抑制其他非最大的邻近值。具体实现过程如下: - 对于每一个类别,按照置信度得分对所有预测框进行排序。 - 选取具有最高分数的预测框作为当前最佳估计,并将其加入最终结果列表。 - 计算其余预测框与此框之间的交并比(Intersection over Union, IoU),如果IoU超过预设阈值,则认为这些框表示同一目标实例,应被移除[^1]。 ```python def non_max_suppression(boxes, scores, threshold): """Apply Non-Maximum Suppression on bounding boxes.""" indices = [] while len(scores) > 0: max_index = np.argmax(scores) indices.append(max_index) ious = compute_ious(boxes[max_index], boxes) # Remove overlapping boxes with high IOU from consideration mask = (ious <= threshold) boxes = boxes[mask] scores = scores[mask] return [boxes[i] for i in indices] ``` ### 应用场景 在计算机视觉任务中,特别是在物体检测方面,NMS 起着至关重要的作用。例如,在行人检测、车辆识别以及一般性的多类对象定位等问题上都能见到其身影。此外,对于图像分割中的实例级标注也有助益。当模型在同一位置多次标记相同类型的实体时,NMS 可以帮助去除重复项,从而提高输出的质量和可解释性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值