Python代码实现NMS算法
发布时间
阅读量:
阅读量
NMS
NMS非极大值抑制,目标:消除多余的框,只保留最佳物体检测的位置
步骤:
- 按照置信度值对所有目标框进行排序。
- 确定具有最高置信度的目标框记为B_{max}。
- 逐一计算每个目标框与当前目标框之间的重叠区域。
- 若计算出的目标区域覆盖面积超过预先设定的标准,则移除该目标框。
- 继续按照置信度值重新排列剩余未处理的目标框。
- 依次循环以上步骤直至所有目标均被处理完毕。
检测模型的输出为:(batch_size, all_boxes, 4+1+num_classes)
该模型的输出结果包括 batch\_size, x,y,w,h ,其中物体存在的概率以及各个类别(从类别1到类别n)的概率。
对于SSD输出的信息具体为: batch_size, x,y,w,h, 背景存在的概率 ,各分类别(从1到n)出现的概率
实现NMS
'''对于yolo的nms代码'''
def nms(boxes, num_classes, conf_thres=0.5, nms_thres=0.4):
#boxes: 检测的boxes及scores,维度(batch_size, all_boxes, 4+1+num_classes)
#num_classes: 类别的数量
全部评论 (0)
还没有任何评论哟~
