Тайлер Дерден для ИИ: как мы сняли датасет с драками для обучения нейросети с помощью людей из бойцовского клуба - pt. 1

Тайлер Дерден для ИИ: как мы сняли датасет с драками для обучения нейросети с помощью людей из бойцовского клуба - pt. 1

Привет! Меня зовут Роман Фёдоров - я работаю менеджером в компании NeuroCore AI, которая занимается созданием нейронных моделей и датасетов для их обучения.

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

Зачем для обучения нейросетей нужно специально создавать данные?

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

Любая нейросеть, созданная в мире, обучается и функционирует на основе данных.

От данных и от их качества зависит насколько хорошо нейросеть будет выполнять свою функцию. Чем качественней подобраны данные, тем лучше нейросеть понимает контекст задачи.

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

Тайлер Дерден для ИИ: как мы сняли датасет с драками для обучения нейросети с помощью людей из бойцовского клуба - pt. 1

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

ТЗ заказчика

В рамках этого проекта в роли заказчика выступила компания-лидер по видеоаналитике, топ-10 NIST по распознаванию лиц, создающая CV-решения (компьютерное зрение), внедряемые в корпоративные и государственные компании во всем мире. Компания также специализируется на вопросах безопасности. Поэтому заказчику понадобилось решение по распознаванию наличия драки на видео.

В NeuroСore пришла заявка - выполнить съемку драк в количестве 100 видео с делением на 3 класса:

  • Драки 1 на 1;
  • Драки 1 на 3;
  • Драки 3 на 3.

При этом важно было соблюдать следующие требования:

  • Ракурс камеры наружного наблюдения;
  • Разнообразие по локациям и освещению;
  • Смена одежды актеров каждые 10 видео;
  • Хронометраж видео 15-30 секунд, не больше и не меньше;
  • Инсценировать реалистичный бой: с “прелюдией” до драки и убедительным обменом ударами в момент всего действа.

Клиенту не подходили видео, найденные в интернете. В связи с этим было принято решение перейти к реальным съемкам.

По регламенту мы провели бесплатные тестовые съемки. Данный подход помимо очевидных экономических минусов позволяет нам получить ряд плюсов:

  • Мы синхронизируемся с клиентом по качеству. В итоге результат работ согласуется с ожиданиями клиента в самом начале проекта.
  • Мы точнее понимаем себестоимость проекта.
  • Мы выявляем возможные “подводные камни”, из-за которых съемка может затянуться.
  • Мы получаем возможность корректировать логику работ на раннем этапе.
  • Мы точнее оцениваем сроки работ.

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

Экономика проекта

После полевых тестов сразу встал вопрос - как считать этот проект для клиента?

Мы столкнулись с неочевидной проблемой: сам проект подразумевает почасовую оплату актеров, что в рамках деловых отношений - не очень хороший вариант, когда речь идет о коротком проекте. В таких случаях предпочтительнее предоставить клиенту фиксированный ценник за одно видео, а не озвучить ему часовую ставку нашего актера, в условиях которой клиент до конца не поймет сколько по итогу ему придется заплатить денег за весь проект.

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

Дисклеймер: Дальнейшая информация про экономику, в т.ч. цифровые значения, созданы специально для примера. Детали оплаты скрыты умышленно.

Во время тестов мы замерили KPI актера – посчитали количество видео, которое он смог сгенерировать за час. Дальше мы разделили часовую ставку на количество снятых видео за час времени и получили стоимость одного видео с учетом часовой ставки актера

Тайлер Дерден для ИИ: как мы сняли датасет с драками для обучения нейросети с помощью людей из бойцовского клуба - pt. 1

Каждый из трех классов подразумевал разное количество актеров, соответственно, разную себестоимость на каждый класс видео. Чтобы избежать расхождений, сделать оплату справедливой и прозрачной, мы применили следующий метод расчета:

Тайлер Дерден для ИИ: как мы сняли датасет с драками для обучения нейросети с помощью людей из бойцовского клуба - pt. 1

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

Как мы организовали работу

Обсудив все нюансы для старта проекта, мы сформировали внутри компании две команды с привязкой к городам – Москва и Краснодар.

Московские сотрудники должны были выполнить свою часть проекта непосредственно своими силами - без привлечения сторонних актеров. В то время как в Краснодаре мне удалось найти идеальных кандидатов под съемки проекта - членов бойцовского клуба “БК Колпачки”. Раннюю версию этого бойцовского клуба основал я в 2021 году, а позднее передал управление Алишеру Назарову - нынешнему организатору клуба.

Вместе с командами мы разделили видео по классам. В Москве в съемках принимали участие только внутренние сотрудники нашей компании – им мы отдали им классы драк 1 на 1 и 1 на 3. На краснодарском отделе лежала обязанность снять драки 3 на 3. Деление на две команды в теории должно было дать нам возможность снять проект одним днем, а на следующий - сдать датасет клиенту.

Чтобы избежать повторов, мы разработали сценарий, который позволил каждой команде отыгрывать сценки строго из своего сюжета. Выглядел он так:

Тайлер Дерден для ИИ: как мы сняли датасет с драками для обучения нейросети с помощью людей из бойцовского клуба - pt. 1

Эти сценарии предварительно были согласованы с заказчиком. Мы оформили их в Google-таблице, что позволило всем организаторам вести учет прямо на месте съемок. Для надежности мы так же прописали в сценарии моменты, когда актерам надо было менять одежду.

В рамках одной недели мы все подготовили, выбрали день под съемки и выдвинулись на локации снимать бои.

Первый съемочный день

За день до фактического старта работ, заказчик выразил пожелание согласовывать каждый ракурс, который будет использован во время съемки. В начале мы были озадачены, т.к. это могло в теории замедлить съемки и увеличить себестоимость. На практике же проблема легко решалась силами менеджера. Перед съемками от него требовалось заранее пройти по локациям, сделать фотографии ракурсов и согласовать их с клиентом. А когда наступит момент съемки - идти по списку локаций без дополнительных трат по времени на поиск нужного ракурса.

Чтобы выполнить требование по освещению, мы договорились с московской командой снимать в разное время дня. Краснодару достались вечер и сумерки, а Москве утро и день. С точки зрения организации, Краснодару важно было отвести под работу вечернее время и сумерки, т.к. было принято решение устраивать съемки после основного ивента бойцовского клуба. Такой подход позволил бы нам договориться на месте с другими потенциальными актерами, в случае если не приедут актеры, с которыми договорились заранее.

С точки зрения организации и итогового результата работ каждая команда столкнулась с своими сложностями.

Москва: первый съемочный день

Напомню, что московской команде достались драки 1 на 1 и драки 1 на 3. Таким образом, чтобы снять 66 видео по двум классам ей требовалось 4 человека:

  • Оператор-актер
  • Актер 1
  • Актер 2
  • Актер 3

В распоряжении команды находились штативы, которые предварительно были заказаны клиентом. Таким образом, можно было осуществлять съемку в 4 актера без привлечения отдельного оператора. С точки зрения экономической выгоды, штатив заказать дешевле, чем нанимать актера с почасовой ставкой, но есть и свои минусы.

Т.к. видео по ТЗ требовались достаточно короткие, оператору-актеру приходилось постоянно бегать к камере и нажимать “Стоп” во время съемки. В конечном итоге, все видео пришлось обрезать от лишних моментов – например, где оператор бежит к камере, а сам момент драки прекращается. Кажется, что это не так уж и долго, но если умножить процесс на десятки видео, “лишнего” времени выходит немало. И это не говоря о задержках в самом процессе съемки, которые иногда могут повлиять на конечный результат.

Так как все участники были из штата Neurocore, все экономические риски на себя взяла компания, а сами сотрудники были свободны от обязательств укладываться в жесткий тайминг.

Тем не менее, наши сотрудники – ни разу не бойцы и не привыкли говорить на языке боли. В конечном счете, это скажется при сдаче видео Москвы.

На этом вступительную часть можно завершить. В следующем тексте мы подробно остановимся на процессе съемок, в ходе которых некоторые актеры получили травмы, а сам проект оказался под угрозой по ряду причин: обеспокоенные граждане, угрозы полицией и забракованная партия видео. Обо всем этом читайте во второй части статьи NeuroCore AI - экспертов в области искусственного интеллекта, которые помогут собрать датасет или обучить нейросеть с нуля вплоть до момента внедрения.

99
4 комментария