Часть 1/2. Как я потратил 1 млн рублей впустую

Приятнее делиться своими успехами в карьере и жизни, редко можно прочитать, как кто-то рассказывает про свои неудачи. В этом посте я хотел бы поделиться одной из них, как я потратил впустую 1 млн рублей на разметку данных.

В 2020 году я работал CV инженером на проекте по анализу дорожного движения. Там я решал задачи распознавания авто, их детекции и трекинга, OCR номерных знаков, включая последующую классификацию транспорта: цвет, марка, модель. На тот момент в команде был еще один человек, он, как и я, работал чуть больше года. Тимлида или других опытных коллег, у кого можно было бы проконсультироваться, тоже не было.

Выбранная open-source модель для решения задачи детекции авто из коробки показывала посредственное качество на наших данных, поэтому было принято решение разметить продовые данные в большом количестве.

Я нашел компанию по разметке данных, которая просто отдавала своих разметчиков на аутсорс по 25к за месяц их фулл-тайм работы. Менеджер проекта нанял восемь человек, но оказалось, что многие из них плохо пользовались ПК, и каждому приходилось объяснять процесс работы с нужным софтом. Ранее я размечал данные сам, и мне надо было впервые руководить процессом разметки данных. Объем работы включал в себя: написание инструкции, загрузку, подготовку и проверку данных, ответы на вопросы разметчиков, разворачивание CVAT на удаленном сервере и выдачу доступов, а также обучение инструменту разметки CVAT.

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

В результате после 2-х месяцев такой работы датасет получился кривой и нуждался в переработке. Ситуация могла бы быть еще хуже, так как все данные были утеряны из-за того, что админы забыли оплатить аренду сервера. К счастью, я сделал резервное копирование. После такого неудачного опыта я задумался о том, как можно было бы действовать иначе и не наступить эти же грабли еще раз.