网站tag标签湖南营销网站建设
网站tag标签,湖南营销网站建设,个人网页制作成品代码免费,展台实现两个目标框的交并比候选框在多目标跟踪中的表达方式及相应转换方法 IOU(Intersection over Union)#xff0c;“交并比”#xff0c;是计算机视觉和图像处理中常用的一个评价指标#xff0c;尤其在目标检测任务中用来衡量模型预测的目标框与真实目标框的重合程度。
具体…实现两个目标框的交并比候选框在多目标跟踪中的表达方式及相应转换方法 IOU(Intersection over Union)“交并比”是计算机视觉和图像处理中常用的一个评价指标尤其在目标检测任务中用来衡量模型预测的目标框与真实目标框的重合程度。
具体计算方法如下 首先计算预测框Prediction Box和真实框Ground Truth Box的交集区域面积Intersection Area。 然后分别计算预测框和真实框各自的总面积Union Area。 最后IOU的值就是交集区域面积除以并集区域面积 IOU (Intersection Area) / (Union Area) (预测框与真实框交集面积) / (预测框面积 真实框面积 - 预测框与真实框交集面积)
IOU的取值范围在0到1之间IOU值越接近1说明预测框与真实框的重合度越高模型预测效果越好反之IOU值越小则表示预测效果越差。在许多目标检测任务中通常会设定一个阈值如0.5只有IOU大于该阈值的结果才会被视为有效预测。
也是目标检测中使用的一个概念是产生的候选框candidate bound与原标记框ground truth bound的交叠率即它们的交集与并集的比值。最理想情况是完全重叠即比值为1。在多目标跟踪中用来判别跟踪框和目标检测框之间的相似度。 1.计算交并比 IoU是两个区域的交除以两个区域的并得出的结果 def iou(bb_test, bb_gt):在两个box间计算IOU:param bb_test: box1 [x1y1x2y2]:param bb_gt: box2 [x1y1x2y2]:return: 交并比IOUxx1 np.maximum(bb_test[0], bb_gt[0])yy1 np.maximum(bb_test[1], bb_gt[1])xx2 np.minimum(bb_test[2], bb_gt[2])yy2 np.minimum(bb_test[3], bb_gt[3])w np.maximum(0., xx2 - xx1)h np.maximum(0., yy2 - yy1)wh w * ho wh / ((bb_test[2] - bb_test[0]) * (bb_test[3] - bb_test[1]) (bb_gt[2] - bb_gt[0]) * (bb_gt[3] - bb_gt[1]) - wh)return o 2.候选框的表示形式
在该项目中候选框有两种表示形式
[x1,y1,x2,y2] 表示左上角坐标和右下角坐标目标检测的结果以该方式表示[x,y,s,r]表示中心点坐标s 是面积尺度r是纵横比卡尔曼滤波器中进行运动估计是使用该方式。
这两种方式要进行相互的转换。
将候选框从坐标形式转换为中心点坐标和面积的形式 def convert_bbox_to_z(bbox):将[x1,y1,x2,y2]形式的检测框转为滤波器的状态表示形式[x,y,s,r]。其中xy是框的中心坐标s是面积尺度r是宽高比:param bbox: [x1,y1,x2,y2] 分别是左上角坐标和右下角坐标:return: [ x, y, s, r ] 4行1列其中x,y是box中心位置的坐标s是面积r是纵横比w/hw bbox[2] - bbox[0]h bbox[3] - bbox[1]x bbox[0] w / 2.y bbox[1] h / 2.s w * hr w / float(h)return np.array([x, y, s, r]).reshape((4, 1)) 将候选框从中心面积的形式转换为坐标的形式 def convert_x_to_bbox(x, scoreNone):将[cxcysr]的目标框表示转为[x_miny_minx_maxy_max]的形式:param x:[ x, y, s, r ],其中x,y是box中心位置的坐标s是面积r:param score: 置信度:return:[x1,y1,x2,y2],左上角坐标和右下角坐标w np.sqrt(x[2] * x[3])h x[2] / wif score is None:return np.array([x[0] - w / 2., x[1] - h / 2., x[0] w / 2., x[1] h / 2.]).reshape((1, 4))else:return np.array([x[0] - w / 2., x[1] - h / 2., x[0] w / 2., x[1] h / 2., score]).reshape((1, 5))
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90185.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!