SSD边界框矩形缩放

时间:2019-03-03 08:47:11

标签: android tensorflow object-detection multilabel-classification tensorflow-lite

我在Android应用上有此屏幕,蓝色区域描述了Camera预览。 运行SSD对象检测分类器并返回边界框/矩形坐标的应用程序,我面临缩放坐标并使边界框适合Camera预览(蓝色区域)的问题。

哪些计算将使边界框正确检测并在正确的位置/坐标上绘制矩形?

矩形具有:

  • 宽度
  • 高度
  • 顶部
  • 底部

enter image description here

1 个答案:

答案 0 :(得分:0)

SSD可视化效果在此处https://github.com/tensorflow/models/blob/master/research/object_detection/utils/visualization_utils.py

和来自 https://github.com/kcg2015/traffic_light_detection_classification/blob/master/tl_detection_classification_test.py

其中,dim是原始图像的尺寸。如果要在缩放的图像上绘图,请缩放比例因子


def box_normal_to_pixel(box, dim,scalefactor=1):
    height, width = dim[0], dim[1]
    ymin = int(box[0]*height*scalefactor)
    xmin = int(box[1]*width*scalefactor)

    ymax = int(box[2]*height*scalefactor)
    xmax= int(box[3]*width*scalefactor)
    return np.array([xmin,ymin,xmax,ymax])