Ученые из Высшей нормальной школы, Франция создали программу для автоматического анализа видео-инструкций, например, «как поменять колесо на автомобиле». Алгоритм просматривает несколько роликов на одну и ту же тему, после чего поэтапный план выполнения задания, где каждый шаг сопровождается кадром-иллюстрацией из видео. Описание работы приводится в препринте на arXiv.org.
Алгоритм по очереди анализирует видеоряд и текстовую транскрипцию ролика, в каждом случае используя методы кластеризации для поиска ключевых блоков. В случае текста программа выделяет только словосочетания, содержащие инструкцию: «ослабьте болт», «поднимите машину», «снимите колесо». Совершив эту операцию для нескольких вариантов инструкции, алгоритм выравнивает полученные цепочки и в итоге получает усредненную последовательность действий.
Каждый кадр видео представляется в виде вектора признаков, эволюция которого также разбивается на ключевые блоки. Эта задача осложняется тем, что в каждом ролике одна и та же операция как правило выглядит немного по-другому (разные ведущие, освещение и так далее). Программа представляет готовую инструкцию в виде пары «видео-текст».
Готовый алгоритм тестировали на двух подборках видео-инструкций: 30 роликах «как поменять колесо» и 27 — «сердечно-легочная реанимация». Полученные инструкции авторы сравнивали с «базовой» последовательностью действий, которую составляли вручную. В случае роликов про замену колеса алгоритму удалось верно установить 90 процентов шагов, а для инструкции по оказанию первой помощи — 67 процентов. В обоих случаях удалось корректно подобрать кадры-иллюстрации к каждому этапу.
По словам ученых, сочетание текстового и визуального анализа позволило избежать многих проблем при кластеризации и усреднении. Например, один и тот же этап в двух разных инструкциях мог звучать как «поднимите машину» и «поддомкратьте автомобиль», но благодаря сопоставлению с видеорядом программа справедливо объединяла эти инструкции в одну. Аналогично происходило с визуальной информацией — привязка к тексту помогала выравнивать последовательность ключевых кадров, даже если они сильно отличались в деталях.
Ранее для решения задачи об анализе видео-инструкций уже использовались методы машинного обучения, но ни в одном случае не удавалось достигнуть полного автоматизма. Например, в некоторых работах предполагалось наличие готовой последовательности действий, к которой привязывали видеоряд. В других случаях авторы кластеризовали видео, но не учитывали связи с текстовой инстукцией.
Результаты нового исследования могут оказаться полезны для обучения машин по выполнению некоторых элементарных операций. Например, на этой основе можно будет создать робота-помошника. Так, ранее уже был построен робот, помогавший хозяину в приготовлении простых блюд.