Масштабирование прямоугольника ограничивающей рамки SSD

У меня есть этот экран в приложении для Android, синяя область описывает предварительный просмотр камеры. Приложение запускает классификатор обнаружения объектов SSD и возвращает координаты ограничивающего прямоугольника / прямоугольника. Я столкнулся с проблемой масштабирования координат и соответствия ограничивающего прямоугольника предварительному просмотру камеры (синяя область).

Какие вычисления позволят ограничительной рамке правильно определить и нарисовать прямоугольник в нужном месте / координатах?

Прямоугольник имеет:

  • Ширина
  • Рост
  • Левый
  • верхний
  • Верно
  • Нижний

введите здесь описание изображения


person Nael Marwan    schedule 03.03.2019    source источник


Ответы (1)


Визуализация 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])  
person Alex Punnen    schedule 30.03.2019
comment
извините, вы знаете, как найти прогнозируемый идентификатор изображения с SSD? как я спросил здесь, stackoverflow.com / questions / 60398211 / - person user8523104; 25.02.2020