Проблемы поиска кадров в базе данных, связанные с соотношением сторон и их решение

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Вводная часть

Поисковый алгоритм «VideoColor»

Технология поиска «VideoColor» заключается в том, что каждый кадр в видео рассматривается как отдельное изображение по которому может вестись поиск. Индексируемое, а затем и искомое изображение, делится на табличные области и в каждой из её ячеек находятся усреднённые значения компонент красного, зелёного и синего цветов. По ним, в дальнейшем, можно производить сравнение для нахождения искомого кадра.

Фильмы для широкого экрана и для телевидения

Стандартным соотношением сторон для телефильмов является соотношение 4:3. В то же время для кинотеатров соотношения были более широкие, причём их было несколько. В последние годы стандартом де факто стало соотношение сторон 16:9. Это соотношение используется в современных телевизорах, мониторах, видеокамерах и фотоаппаратах. Тем не менее обозначилась тенденция использования более широкоэкранных телевизоров и мониторов, смартфонов и планшетов, а также съёмочной аппаратуры. С другой стороны, в то же время, некоторые популярные сервисы используют очень узкие соотношения сторон 1:1 и даже используют альбомную ориентацию, подстраиваясь под пользователей смартфонов.

Адаптация существующих видео под разное соотношение сторон

Если всё исходное видео обрабатывать по схеме M*N областей, то можно столкнуться с ситуацией когда видео проиндексировано (данный фильм присутствует в базе данных), а поиск по кадрам из этого видео не приносит положительных результатов. Это может случиться если соотношение сторон проиндексированного видео и кадра, по которому осуществляется поиск, различно.

Широкая и обрезанная картинки.
Широкая и обрезанная картинки.

Пути решения

Разные базы под разное соотношение сторон

Самое первое, что приходит на ум — это использование нескольких наиболее популярных соотношений сторон видео для того, чтобы поиск осуществлялся по тем данным, по которым была произведёна индексация исходного контента. Например, можно создать базу под наиболее популярные соотношения сторон: 16:9, 4:3, 1:1. А если исходное видео или кадр, по которому осуществляется поиск, отличаются от этих соотношений, то обрезать их до указанных значений.

16:9, 4:3, 1:1
16:9, 4:3, 1:1

Например, исходное видео в соотношении 21:9. Мы делаем обработку предварительно обрезав каждый кадр по краям до соотношения 16:9, а затем повторяем все действия обрезав каждый кадр до соотношения 4:3 и 1:1.

Плюсы

  • Мы бережно храним и обрабатываем исходную информацию, тем самым обеспечивая высокую точность поиска. Если кадр, по которому мы осуществляем поиск, придёт в соотношении 4:3, то мы будем искать в соответствующей базе данных. А если, скажем, в соотношении 16:9, то, сперва ищем в базе 16:9, и, если не нашли, можем повторить поиск в базе 4:3.

Минусы

  • Большой объём хранимой информации.

  • Раз информации много, то соответственно падает скорость первичной обработки (индексации данных) и время поиска.

Одна база для самого узкого соотношения сторон

Можно попытаться привести все видео и кадры по которым осуществляется поиск к некоему общему знаменателю, например, соотношению 1:1 или 4:3.

1:1
1:1

Плюсы

  • Одна база и следовательно минимальный размер данных.

  • Простой алгоритм обработки данных.

Минусы

  • Отбрасывая значимые части по краям мы теряем часть информации и, следовательно, огрубляем поиск. Часть похожих кадров (например, движение по краям) будут неверно определяться.

Одна база с записями имеющими возможность хранить информацию о соотношении сторон и сами данные на разные случаи

В этом случае мы создаём универсальный (избыточный) формат записи данных. В неё мы можем поместить информацию как о широком кадре, например (16:9), так и об узком (4:3) или (1:1). Естественно более широкие кадры нам придётся обрезать, тут уж ничего не поделаешь. Но база будет одна. Что же касается механизма сравнения записей в базе и той, по которой мы осуществляем поиск, то необходимо будет учитывать их формат и проводить сравнение по наиболее узкой части.

Плюсы

  • Некоторая экономия дискового пространства.

  • Среднее время поиска.

Минусы

  • Более сложный механизм индексации данных.

  • Более сложный поисковый алгоритм.

Выводы

Проблему можно успешно решить несколькими разными способами. На наш взгляд предпочтительным является использование одной базы (таблицы) с записями, имеющими универсальный (избыточный) формат записи данных, т.е. такой, в котором можно сохранить информацию и для широкого и для узкого кадра.

Ссылки по теме

  • Технология видео поиска Video Color

  • Технология видео поиска «Video Color» (следующая статья)

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Нужен ли пользователяем поиск видео по изображениям?
100% Да 1
0% Нет 0
0% Затрудняюсь ответить 0
Проголосовал 1 пользователь. Воздержавшихся нет.
Источник: https://habr.com/ru/post/588899/


Интересные статьи

Интересные статьи

Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффе...
Статья о том, как упорядочить найм1. Информируем о вакансии2. Ведём до найма3. Автоматизируем скучное4. Оформляем и выводим на работу5. Отчитываемся по итогам6. Помогаем с адаптацией...
Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Видео гид по эмулятору Ome...
О себе Здравствуй, Хабр! Меня зовут Павел, я работаю техническим директором в компании, занимающейся производством IoT устройств. Производим много чего — начиная от контроллеров для ...
В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие про...