Google представила открытый алгоритм автоматического кадрирования видео. Пользователь задает базовые параметры, такие как желаемое соотношение сторон, а алгоритм самостоятельно определяет наиболее важные объекты в кадре и обрезает видео так, чтобы они оставались на новом видео, рассказывают разработчики в блоге Google AI. Код и инструкции по запуску программы опубликованы на GitHub.
Исторически почти все оборудование для съемки и просмотра видеозаписей имело ширину кадра больше, чем высоту. Из-за этого фильмы и ролики почти всегда снимались в горизонтальном формате. Однако из-за массового распространения смартфонов и социальных сетей существенная часть видеозаписей теперь имеет вертикальный формат. Это привело к тому, что создателям видео зачастую приходится адаптировать ролики сразу для нескольких популярных соотношений экрана. Если при этом просто кадрировать видео по центру, то часть объектов по краям будет утеряна, особенно в случае с длинными роликами.
Поскольку уже существует много качественных алгоритмов отслеживания объектов в кадре, некоторые разработчики в последние годы пытаются применить их для кадрирования. Например, такую функцию недавно представила Adobe, однако она имеет ограничения, а кроме того, доступ к ней ограничен. Программисты из Google создали открытый алгоритм, способный обрезать видео под разные форматы, не теряя при этом важные части кадров.
В начале работы пользователь предоставляет алгоритму исходное видео и соотношение сторон для итогового видео, а также может указать, необходимо ли сохранять все объекты в кадре. После этого алгоритм размечает на исходном видео разные сцены с помощью гистограммы насыщенности: если гистограмма между кадрами резко поменялась, значит, скорее всего, произошла смена сцены.
Поскольку в разных сценах объекты в кадре обычно расположены разным образом, а некоторых из них вообще может и не быть, каждую сцену алгоритм обрабатывает отдельно. Для этого он размечает объекты в кадре и затем обрезает видео так, чтобы они были в центре, причем алгоритм сам выбирает метод кадрирования между статичной обрезкой, плавным движением зоны кадрирования от одной стороны к другой и динамическим кадрированием в соответствии с движениями объектов. Если пользователь указал в настройках, что необходимо сохранить все объекты, алгоритм может при необходимости расширить зону кадрирования и добавить полосы по бокам кадра, чтобы заполнить пустоты.
Алгоритм доступен на GitHub и реализован в виде MediaPipe-конвейера. Кстати, недавно MediaPipe перенесли в браузер, и любой желающий может запустить алгоритмы компьютерного зрения в браузере на компьютере или смартфоне. Разработчики в своем блоге рассказали, что планируют дальше работать над алгоритмом и приглашают присоединиться к проекту другие компании или отдельных разработчиков.
В качестве возможных будущих функций алгоритма программисты привели реалистичное нейросетевое дорисовывание граничных областей кадра и удаление наложенного текста или рисунков. Обе функции уже реализованы в виде отдельных алгоритмов разработчиками из Google, поэтому вполне возможно, что в обозримом будущем они действительно будут внедрены в новую программу.
Григорий Копиев
Как искусственный интеллект делает работу безопаснее
В промышленности нередко приходится работать с газами, химикатами или большими неповоротливыми машинами. Хотя за последние 200 лет проведено немало полезных реформ, призванных сделать труд безопаснее, на предприятиях все еще требуется соблюдать осторожность. Рассказываем, как люди боролись за право на безопасный труд и как сегодня ИИ помогает там, где человек может пострадать.