【发布时间】:2020-09-06 11:57:44
【问题描述】:
假设有一个物体检测任务。
img里有很多车。我需要做的是画框来检测这些汽车。
其他人正在做同样的任务。
我的结果是[car1,car2,car5,car6],有人的结果是[car1,car3,car5,car5,car7]。(carx是这个img中#x cat的坐标)
我们俩都只检测到 img 中的部分汽车。
现在我想找到一种方法来评估我们的结果之间的相似性。
如果我们俩都只找到一辆车,那就容易了,
def cal_iou(coordinate_x, coordinate_y):
polygon_x = geometry.Polygon(coordinate_x)
polygon_y = geometry.Polygon(coordinate_y)
intersection = polygon_x.intersection(polygon_y).area
total_area = polygon_x.area + polygon_y.area - intersection
if total_area > 0.0:
return float(intersection / total_area)
return 0.0
我可以计算两个 boxex 之间的 IoU。 如果我们的结果中有多个盒子怎么办? 我不知道其他结果中的哪个框应该与car1进行比较? 我认为的另一种方法是在我的结果中获取所有区域,并与其他结果进行比较。但是我还没有找到一个好的方法来做到这一点。 请给我一些建议
【问题讨论】:
标签: python opencv computer-vision object-detection