определение номерных знаков с помощью YOLO

Пытаюсь обучить модель распознаванию номерных знаков пакистанских машин. Я нашел более быструю технику под названием YOLO. Вот ссылка YOLOv2

Блог, за которым я следую, чтобы обучить YOLOv2, - это блог

Согласно этому блогу, мне нужно иметь изображения автомобилей, и мне нужно аннотировать эти изображения (нужно отметить положение номерного знака) для подготовки тестовых данных и данных обучения. Проблема в том, что у меня уже есть данные для обучения в форме

образец данных обучения

и этот урок требует, чтобы я делал аннотации к изображениям автомобилей, подобным этому.

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

Если кто-то работал с YOLO, любезно скажите мне, как я могу избежать аннотаций и использовать мои собственные данные обучения для обучения модели YOLO.


person Abdul Wahab    schedule 12.05.2018    source источник
comment
Если все ваши тренировочные данные имеют указанный выше формат, то, вероятно, YOLO вам не подходит. Yolo - это алгоритм обнаружения объектов, ваши данные обучения имеют форму задачи классификации изображений. Каковы ваши тестовые данные? Изображения транспортных средств или только изображения номеров?   -  person Scorpio    schedule 12.05.2018
comment
Я занимаюсь обнаружением, а не классификацией. Входом в эту модель будет изображение автомобиля с номерным знаком. Данные испытаний содержат изображения транспортных средств.   -  person Abdul Wahab    schedule 13.05.2018
comment
Если на входе автомобиль, то почему тренировочные данные не являются автомобилем (или любым другим транспортным средством)? Почему данные тренировки - это просто полные фотографии номерного знака?   -  person Scorpio    schedule 14.05.2018
comment
Я думаю, что для этого вам нужно будет предоставить номерные знаки изображения во всех аналогичных ракурсах, которые камера поймает на изображениях. Предоставление ему изображений большого плана совершенно не поможет.   -  person KeitelDOG    schedule 08.03.2019


Ответы (2)


Для обучения Yolo требуется следующий формат аннотации

[class] [X] [Y] [W] [H]

i.e

0 0.443359 0.434722 0.391406 0.869444

Если у вас такой же набор данных аннотаций, поздравляем, вы можете начать обучение. Если у вас его нет, вы можете конвертировать, используя инструменты, доступные на github.

Обновление: аннотация рассчитывается от центра. Например. Если вы работаете с форматом x1, y1, x2, y2, вам необходимо его преобразовать.

def convert_to_yolo_format(path, x1, y1, x2, y2):
    """
    Definition: Converts (x1, y1, x1, y2) format to
        (x, y, width, height) normalized YOLO format.
    """
    size = get_img_shape(path) # size array [width,height]
    dw = 1./size[0]
    dh = 1./size[1]
    x = (x1 + x2)/2.0 # centroid x
    y = (y1 + y2)/2.0 # centroid y
    w = x2 - x1 # width
    h = y1 - y2 # height
    x = abs(x*dw) # divide by width
    w = abs(w*dw) # divide by width
    y = abs(y*dh) # divide by height
    h = abs(h*dh) # divide by height
    return (x,y,w,h)
person Arjun Kava    schedule 29.06.2018

Я также занимаюсь признанием LP с YOLO прямо сейчас. Это хороший выбор, bus, как упоминалось выше, для решения проблемы обнаружения объектов, вам нужен обучающий набор не с голыми LP, а с «LP в естественной среде», чтобы обучить Yolo находить положение LP на кадре. Если у вас его нет, а есть только набор голых пластинок, вам нужно изготовить его каким-то искусственным способом. Я могу предложить: 1) расширить ваш обучающий набор с помощью отрицательных примеров (изображения без LP) 2) обучить Yolo для задачи классификации объектов 3) обработать вы немаркированный набор поездов "естественная среда" с полученной моделью классификации с помощью движущегося окна для обнаружения наземных истинных позиций LP (да, это может потребовать ресурсов ...) и, таким образом, получить обучающий набор для задачи обнаружения объектов 4) обучить NN для решения проблемы обнаружения объектов. Кстати, вы можете использовать ту же самую NN, обученную на шаге 2, но с большим размером ввода и с измененными последними слоями в качестве начальных весов для проблемы обнаружения (но, как для меня, это не дало никаких улучшений по сравнению с обучением для обнаружения с нуля).

person Ilya Ovodov    schedule 31.05.2018