Google навчила алгоритм розумного кадрування відео

Google представила відкритий алгоритм автоматичного кадрування відео. Користувач задає базові параметри, такі як бажане співвідношення сторін, а алгоритм самостійно визначає найбільш важливі об'єкти в кадрі і обрізає відео так, щоб вони залишалися на новому відео, розповідають розробники в блозі Google AI. Код та інструкції щодо запуску програми опубліковані на GitHub.


Історично майже все обладнання для зйомки і перегляду відеозаписів мало ширину кадру більше, ніж висоту. Через це фільми і ролики майже завжди знімалися в горизонтальному форматі. Однак через масове поширення смартфонів і соціальних мереж істотна частина відеозаписів тепер має вертикальний формат. Це призвело до того, що творцям відео часто доводиться адаптувати ролики відразу для декількох популярних співвідношень екрану. Якщо просто кадрувати відео по центру, частина об'єктів по краях буде втрачена, особливо у випадку з довгими роликами.


Оскільки вже існує багато якісних алгоритмів відстеження об'єктів у кадрі, деякі розробники в останні роки намагаються застосувати їх для кадрування. Наприклад, таку функцію нещодавно представила Adobe, однак вона має обмеження, а крім того, доступ до неї обмежений. Програмісти з Google створили відкритий алгоритм, здатний обрізати відео під різні формати, не втрачаючи при цьому важливі частини кадрів.

На початку роботи користувач надає алгоритму вихідне відео та співвідношення сторін для підсумкового відео, а також може вказати, чи необхідно зберігати всі об'єкти в кадрі. Після цього алгоритм розмічає на вихідному відео різні сцени за допомогою гістограми насиченості: якщо гістограма між кадрами різко змінилася, значить, швидше за все, відбулася зміна сцени.

Оскільки в різних сценах об'єкти в кадрі зазвичай розташовані різним чином, а деяких з них взагалі може і не бути, кожну сцену алгоритм обробляє окремо. Для цього він розмічає об'єкти в кадрі і потім обрізає відео так, щоб вони були в центрі, причому алгоритм сам вибирає метод кадрування між статичною обрізкою, плавним рухом зони кадрування від однієї сторони до іншої і динамічним кадруванням відповідно до рухів об'єктів. Якщо користувач вказав, що необхідно зберегти всі об'єкти, алгоритм може при необхідності розширити зону кадрування і додати смуги по боках кадру, щоб заповнити порожнечі.

Алгоритм доступний на GitHub і реалізований у вигляді MediaPipe-конвеєра. До речі, нещодавно MediaPipe перенесли в браузер, і будь-хто може запустити алгоритми комп'ютерного зору в браузері на комп'ютері або смартфоні. Розробники у своєму блозі розповіли, що планують далі працювати над алгоритмом і запрошують приєднатися до проекту інші компанії або окремих розробників.

Як можливі майбутні функції алгоритму програмісти привели реалістичне нейросетеве домальовування граничних областей кадру та видалення накладеного тексту або малюнків. Обидві функції вже реалізовані у вигляді окремих алгоритмів розробниками з Google, тому цілком можливо, що в осяжному майбутньому вони дійсно будуть впроваджені в нову програму.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND