Return 通过边界框阈值的坐标 Google 的对象检测 API
Return coordinates that passes threshold value for bounding boxes Google's Object Detection API
有谁知道如何获取仅通过阈值的边界框坐标?
我找到了这个答案(这里是 ),所以我尝试使用它并完成了以下操作:
vis_util.visualize_boxes_and_labels_on_image_array(
image,
np.squeeze(boxes),
np.squeeze(classes).astype(np.int32),
np.squeeze(scores),
category_index,
use_normalized_coordinates=True,
line_thickness=1,
min_score_thresh=0.80)
for i,b in enumerate(boxes[0]):
ymin = boxes[0][i][0]*height
xmin = boxes[0][i][1]*width
ymax = boxes[0][i][2]*height
xmax = boxes[0][i][3]*width
print ("Top left")
print (xmin,ymin,)
print ("Bottom right")
print (xmax,ymax)
但我注意到,通过使用 link - returns 中提供的答案,所有值。来自分类器检测到的所有边界框(我不想要)。我想要的只是来自通过 "min_score_thresh".
的边界框的值
我觉得这应该很简单,但是我在这方面确实缺乏知识。
如果我能找到答案,我一定会 post 就在这里,但如果其他人知道答案并且可以节省我一些时间 - 我将不胜感激。
更新:
前面函数返回的boxes
和scores
都是numpy数组对象,所以可以用boolean indexing过滤低于阈值的框。
这应该会为您提供通过阈值的框。
true_boxes = boxes[0][scores[0] > min_score_thresh]
然后你可以
for i in range(true_boxes.shape[0]):
ymin = true_boxes[i,0]*height
xmin = true_boxes[i,1]*width
ymax = true_boxes[i,2]*height
xmax = true_boxes[i,3]*width
print ("Top left")
print (xmin,ymin,)
print ("Bottom right")
print (xmax,ymax)
有谁知道如何获取仅通过阈值的边界框坐标?
我找到了这个答案(这里是
vis_util.visualize_boxes_and_labels_on_image_array(
image,
np.squeeze(boxes),
np.squeeze(classes).astype(np.int32),
np.squeeze(scores),
category_index,
use_normalized_coordinates=True,
line_thickness=1,
min_score_thresh=0.80)
for i,b in enumerate(boxes[0]):
ymin = boxes[0][i][0]*height
xmin = boxes[0][i][1]*width
ymax = boxes[0][i][2]*height
xmax = boxes[0][i][3]*width
print ("Top left")
print (xmin,ymin,)
print ("Bottom right")
print (xmax,ymax)
但我注意到,通过使用 link - returns 中提供的答案,所有值。来自分类器检测到的所有边界框(我不想要)。我想要的只是来自通过 "min_score_thresh".
的边界框的值我觉得这应该很简单,但是我在这方面确实缺乏知识。 如果我能找到答案,我一定会 post 就在这里,但如果其他人知道答案并且可以节省我一些时间 - 我将不胜感激。
更新:
前面函数返回的boxes
和scores
都是numpy数组对象,所以可以用boolean indexing过滤低于阈值的框。
这应该会为您提供通过阈值的框。
true_boxes = boxes[0][scores[0] > min_score_thresh]
然后你可以
for i in range(true_boxes.shape[0]):
ymin = true_boxes[i,0]*height
xmin = true_boxes[i,1]*width
ymax = true_boxes[i,2]*height
xmax = true_boxes[i,3]*width
print ("Top left")
print (xmin,ymin,)
print ("Bottom right")
print (xmax,ymax)