Return 边界框的坐标 Google 的对象检测 API

Return coordinates for bounding boxes Google's Object Detection API

如何使用 Google 的对象检测 API 的推理脚本获取生成的边界框的坐标?我知道打印 boxes[0][i] returns 图像中第 i 个检测的预测,但这些返回数字的确切含义是什么?有什么方法可以得到 xmin、ymin、xmax、ymax?提前致谢。

您提到的 boxes 数组包含此信息,格式为 [N, 4] 数组,其中每一行的格式为: [ymin, xmin, ymax, xmax] 相对于输入图像大小的归一化坐标。

Google 对象检测 API returns 边界框 [ymin, xmin, ymax, xmax] 格式和规范化形式(完整解释 here)。要找到 (x,y) 像素坐标,我们需要将结果乘以图像的宽度和高度。首先获取图像的宽度和高度:

width, height = image.size

然后,从boxes对象中提取ymin,xmin,ymax,xmax并相乘得到(x,y)坐标:

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)