Прямоугольное масштабирование SSD Bounding Box - PullRequest
0 голосов
/ 03 марта 2019

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

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

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

  • Ширина
  • Высота
  • Слева
  • Верх
  • Справа
  • Низ

enter image description here

1 Ответ

0 голосов
/ 30 марта 2019

Здесь визуализация 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])  
...