Нейросеть для конюшен и табунов: как мы собирали датасет с лошадьми для обучения нейросети

Запоминающихся моментов много: почти сорванный дедлайн, нейросеть для обучения другой нейросети и увеличенная в последний момент в 10 раз скорость сбора. Обо всем этом читай в новой статье NeuroCore.

1313

Не совсем понял как подтверждалось, что это уникальная лошадь? Скачали фотку(и) с конюшни, потом скачали фотку в другом ракурсе с другого источника - здесь же при сборе считалось, что это две разные лошади, но на самом деле могла быть та же самая? Или тут какая-то погрешность закладывается, и считается что такое происходит редко?

1

Евгений, привет! Просто фото из браузера маловероятно подходило, только в том случае если по 1 лошади была серия снимков. Если снимок по лошади 1, то ценности в этом кадре никакой и мы исключали его из датасета.

Но как правило, мы брали видеоряд по лошади. Далее видеоряд нарезался на кадры, например:

1 кадр: лошадь отвернулась от объектива - не берем
2 кадр: лошадь повернулась наполовину в объектив - не берем
3 кадр: лошадь повернулась анфас, полуанфас к объективу - берем

В кадре 3 включается нейросеть, которая детектирует наличие на снимке левого глаза, правого глаза, левой ноздри, правой ноздри и нижней губы. Если все 5 точек лошади видны - такой кадр автоматически улетал в датасет, т.к. подходил по ТЗ. В датасете при этом сохранялась структура, что снимки конкретно взятой лошади лежали отдельно от остальных.

Представить работу нейросети можно по гифке сразу после заголовка "Идеальное решение". Там лошадка в кадре сначала спиной появляется, потом в момент когда разворачивается мордой к оператору - идет захват в прямоугольник и ландмарки по ключевым точкам. На выходе с такого видео мы получали только кадры, где морда лошади видна на 100% - остальное улетало в мусор.

Надеюсь понятно объяснил)