Руководство по содержанию
Распознавание лиц также столкнулось с ямой, и оно может распознавать трехмерный элемент, но недействительно для двухмерного элемента. Техническая команда Disney разрабатывает этот алгоритм, чтобы помочь аниматорам в постпоиске. Команда использует PyTorch, и эффективность значительно повышается.
Эта статья составлена и опубликована сообществом разработчиков PyTorch с общедоступной учетной записью.
Когда дело доходит до анимации, мы должны упомянуть Дисней, бизнес-империю, созданную с 1923 года. Дисней, начавший с анимации, до сих пор лидирует в развитии мировых анимационных фильмов.
За каждым анимационным фильмом сгущается тяжкий труд и пот сотен людей. С момента выпуска первой компьютерной 3D-анимации «История игрушек» компания Disney начала путь создания цифровой анимации. С развитием технологий CGI и AI произошли большие изменения в производстве и архивировании анимационных фильмов Disney. «Зверополис», популярный во всем мире, создавался пять лет.
В настоящее время Disney также приняла на работу большое количество ученых-компьютерщиков, которые используют передовые технологии, чтобы изменить способ создания контента и снизить нагрузку на кинематографистов за кулисами.
Киногигант с вековой историей, как управлять цифровым контентом
Понятно, что в Walt Disney Animation Studios работает более 800 сотрудников из 25 разных стран, включая художников, режиссеров, сценаристов, продюсеров и технические команды.
Чтобы создать фильм, вам нужно пройти через множество сложных процессов: от вдохновения до написания наброска истории, составления сценария, художественного дизайна, дизайна персонажей, дубляжа, анимационных эффектов, производства спецэффектов, редактирования и пост-продакшн.
По состоянию на март 2021 года студия Walt Disney Animation Studios, специализирующаяся только на анимационных фильмах, произвела и выпустила 59 полнометражных анимационных фильмов, а число анимационных персонажей в этих фильмах достигает сотен тысяч. Соответствующие материальные данные исторических анимационных персонажей будут часто использоваться в сиквелах, пасхальных яйцах и эталонных проектах.
Когда аниматоры работают над сиквелом или хотят сослаться на персонажа, им нужно найти конкретного персонажа, сцену или объект в огромном архиве контента. к этому концу,Они часто часами смотрят видео, перебирая нужные ролики чисто невооруженным глазом.
Чтобы решить эту проблему, Disney с 2016 года запустила проект искусственного интеллекта под названием Content Genome.Предназначен для создания архивов цифрового контента Disney, которые помогают аниматорам быстро и точно идентифицировать лица (будь то люди или объекты) в анимации.
Обучающий алгоритм распознавания лиц для анимации
Первым шагом в оцифровке библиотеки контента является обнаружение и маркировка контента в прошлых работах, чтобы облегчить поиск производителей и пользователей.
Технология распознавания лиц относительно зрелая, но можно ли использовать тот же метод для распознавания лиц в анимации?
После экспериментов технической группы Content Genome он работает только в определенных обстоятельствах.
Они выбрали две анимационные киноработы, «Принцесса Елена из Авала» и «Хранитель Короля Льва», и вручную аннотировали некоторые образцы, пометив квадратами лица на сотнях кадров. С помощью этого вручную аннотированного набора данныхКоманда подтвердила, что технология распознавания лиц, основанная на конвейере HOG + SVM, плохо работает с анимированными лицами (особенно с лицами людей и животных). Вручную аннотируйте лицо анимированного аватара
Анализ, проведенный командой, подтвердил, что такие методы, как HOG+SVM, устойчивы к изменениям цвета, яркости или текстуры, но используемые модели могут соответствовать только анимированным персонажам с человеческими пропорциями (т. е. с двумя глазами, носом и ртом).
Кроме того, поскольку фон анимированного контента часто имеет плоские области и мало деталей, модель Faster-RCNN ошибочно идентифицирует все, что выделяется на простом фоне, как анимированные лица.В «Тачках» относительно абстрактные лица двух главных героев «гонок» не могут быть обнаружены и распознаны традиционной технологией распознавания лиц.
Поэтому команда решила, что им нужна техника, которая могла бы изучить более абстрактные концепции лица.
Команда решила обучить модель с помощью PyTorch. Команда сказала,С помощью PyTorch они могут получить доступ к современным предварительно обученным моделям для своих учебных нужд и сделать процесс архивирования более эффективным.
В процессе обучения команда обнаружила, что в их наборе данных достаточно положительных образцов, но недостаточно отрицательных для обучения модели. Они решили дополнить первоначальный набор данных дополнительными изображениями, которые не содержали анимированных лиц, но имели анимированные функции.
Чтобы сделать это технически,Они расширили реализацию Torchvision Faster-RCNN, чтобы разрешить загрузку отрицательных образцов во время обучения без аннотации.
Это также новая функция, созданная командой Torchvision 0.6 под руководством основных разработчиков Torchvision.Добавление отрицательных примеров в набор данных может значительно уменьшить количество ложных срабатываний во время логического вывода, что приведет к превосходным результатам.
Обрабатывайте видео с помощью PyTorch, в 10 раз эффективнее
После внедрения распознавания лиц для анимированных персонажей следующей целью команды было ускорить процесс анализа видео, а применение PyTorch эффективно распараллелило и ускорило другие задачи.
Команда сказала,Чтение и декодирование видео также отнимало много времени, поэтому команда использовала собственный PyTorch IterableDataset в сочетании с PyTorch DataLoader, чтобы позволить параллельным процессорам считывать разные части видео. I-кадры, из которых загружается видео, разбиваются на разные фрагменты, каждый рабочий ЦП считывает свой фрагмент.
Этот способ чтения видео уже очень быстрый, но команда также пытается выполнить все расчеты всего за одно чтение. Таким образом, они выполнили большую часть конвейера в PyTorch, имея в виду выполнение GPU. Каждый кадр отправляется на GPU только один раз, а затем все алгоритмы применяются к каждому пакету, сводя обмен данными между CPU и GPU к минимуму.
Команда также использовала PyTorch для реализации более традиционных алгоритмов, таких как детекторы выстрелов, которые не используют нейронные сети и в основном выполняют такие операции, как изменение цветового пространства, гистограммы и разложение по сингулярным числам (SVD). PyTorch позволяет командам переносить вычисления на графические процессоры с минимальными затратами и легко перерабатывать промежуточные результаты, используемые несколькими алгоритмами.
Используя PyTorch, команда перенесла часть ЦП на графический процессор и использовала DataLoader для ускорения чтения видео, полностью используя аппаратное обеспечение, что привело к 10-кратному сокращению времени обработки.
Разработчики команды пришли к выводу, что основные компоненты PyTorch, такие как IterableDataset, DataLoader и Torchvision, позволяют команде улучшить загрузку данных и эффективность алгоритмов в производственных средах, от логического вывода до ресурсов для обучения модели до полного набора инструментов для оптимизации конвейера. использовать PyTorch.