Когда мы загружаем видео на Youtube или другие сайты для обмена видео, сайт автоматически выбирает лучшую или наиболее представительную сцену из видео, чтобы показать ее как значок видео. Как это делается? Я хочу знать, какие интеллектуальные данные или другие алгоритмы необходимо изучить, чтобы извлечь наиболее подходящую сцену из видео. Любые указатели на литературу или реализации были бы очень полезными.Каков алгоритм выбора лучшей сцены видео?
4
A
ответ
4
Я сильно подозреваю, что "алгоритм" грубо (в псевдокоде):
Random(0, clip.Length)
5
Мое предположение:
i
= 1- Сравнить кадр
i
с рамкойi-1
(используя, например, сумму квадратов разницы в интенсивности цвета пикселей) - Является ли разница> preset_threshold?
- Если да: последовательность кадров ниже порога только что закончилась. Это самая длинная последовательность?
- Если да, то:
best
= начало этой последовательности.
- Если да, то:
- Если да: последовательность кадров ниже порога только что закончилась. Это самая длинная последовательность?
i++
- Если
i < length_of_clip
: Goto 2. - Выберите кадр
best
.
Идея: найти самую длинную «сцену» (серия кадров, переходы которой находятся ниже некоторого произвольного порога) и показать первый кадр в этой серии.
1
Простым решением является извлечение некоторых кадров видео и их отображение в случайном порядке. Отслеживая скорость клика пользователя, Youtube уже знает, как ранжировать эти фреймы.
Но, немного серьезнее ... Я думаю, что где-то в первые 5-10 секунд. Как научный, конечно. – 2010-12-07 07:28:13
Могу ли я добавить изображение do-while, а не черное ... – 2010-12-07 07:30:13