Приходилось ли вам, перейдя по ссылке на интересный видеоролик на Youtube, обнаруживать, что ради нескольких секунд, где действительно происходит что-то интересное, вы только что потратили нескольк минут на созерцание совершенно бесполезного «мусора» только потому, что автор видео выложил целиком файл с видеорегистратора или смартфона? Количество видеокамер стремительно растёт, а количество людей, способных хотя бы обрезать пару лишних фрагментов, похоже, остаётся постоянным. И проблема не только в нескольких минутах убитого в интернете времени — ведь есть и более серьёзные случаи, например, десятки и сотни часов видео с камер наблюдения, которые иногда приходится просматривать, чтобы раскрыть преступление.
Учёные из университета Карнеги-Меллон разработали эффективный алгоритм выделения наиболее интересных фрагментов видео на основе машинного обучения. Новый алгоритм, названный ими «LiveLight» значительно превосходит аналоги по скорости и качеству работы. LiveLight выделяет характерные фрагменты видео и сотавляет их «словарь», а затем пытается предсказать на их основе следующий кадр. Если это удаётся с достаточной степенью точности, то это значит, что кадр не добавляет практически никакой новой информации и его можно исключить. В отличие от «механических» подходов, реагирующих на любое движение в кадре либо резкое изменение яркости, цвета или контраста, LiveLight достаточно универсален — он хорошо работает и на видео, снятым неподвижной камерой, и на любительской съемке трясущимся смартфоном.
Для тестирования алгоритма было выбрано 20 видеороликов с Youtube и камер видеонаблюдения, продолжительностью от 12 минут до полутора часов. Для каждого видео трое человек вручную составили «резюме» из наиболее интересных фрагментов. В среднем в 72,3% случаев результаты работы алгоритма совпадали с выбором людей. Для некоторых роликов совпадение составило больше 90%. Результат LiveLight на 8% лучше ближайшего конкурента, основанного на похожем принципе, но в 10 раз более медленного.
LiveLight способен обрабатывать видео в реальном времени на обычном железе. Учёные тестировали реализацию алгоритма в MATLAB 7.12 на компьютере с процессорм Intel Core i7 на частоте 3.4 ГГц и 16 ГБ памяти. Некоторые ролики просчитывались вдвое быстрее реального времени.
PDF с подробным описанием алгоритма можно скачать по ссылке на странице проекта.
Автор: Nordavind