Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Исследование алгоритмов индексации изображений 7
1.1. Метод цветовых гистограмм 8
1.1.1. Разбиение RGB-цветов по прямоугольным
параллелепипедам 8
1.1.2. Виды метрик схожести гистограмм 9
1.1.3. Модификация с использованием квадродеревьев 10
1.2. Матрицы переходов как текстурный признак сравнения 11
1.3. Сравнение изображений с помощью перцептивных хешей 14
1.4. Реализация и тестирование алгоритмов 15
Глава 2. Применение индексации для задачи синхронизации видеопотоков 20
2.1. Постановка задачи 21
2.2. Варианты реализации 21
2.2.1.Алгоритм прямого сравнения кадров видеопотоков 22
2.2.2. Алгоритм сравнения кадров внутри видеопотоков 26
2.3. Реализация и тестирование алгоритмов 28
Заключение 32
Список литературы и источников 33
В современном мире информационные технологии играют всё большую роль. Их область распространения затрагивает новые сферы человеческой жизни, что позволяет ставить и решать новые задачи. Если раньше компьютерные вычисления использовались только для решения математических вычислений, то сейчас процессоры используют даже для того, чтобы выбрать себе обед.
Не отстает в развитии и сфера распознавания изображений. Широкое распространение гаджетов позволяет людям снимать огромное количество событий с самых разных ракурсов, увеличивая базу изображений с невиданной скоростью. Благодаря столь стремительному росту появляются новые задачи, решение которых может внести очередной вклад в упрощение жизни человека. Происходит переход от простых задач сравнения изображений к более сложным задачам распознавания каких-то конкретных образов и обработки видеопотоков.
Особый интерес представляет область обработки видеопотоков. Видеофайлы имеют некую двойственную структуру. С одной стороны, это лишь последовательность изображений, и для решения многих задач можно использовать алгоритмы, которые применяются к обычным изображениям. В то же время, видеопотоки имеют некоторые отличительные особенности, например, связность, которые позволяют решать задачи с помощью эффективных алгоритмов, основывающихся на этих особенностях. Актуальность задачи обработки видеопотока и перечисленные выше особенности несут в себе необходимость более внимательного изучения способов его обработки. В данной работе рассматриваются методы индексирования видеофайлов и их применение в практических задачах работы с видеопотоками: поиске схожих кадров и синхронизации.
Чтобы рассматривать методы индексирования изображений, стоит ввести определения индексации и индекса. Индексирование в данной сфере подразумевает под собой описательную характеристику изображения - индекс, которую можно использовать потом для быстрого поиска картинки. Выделяют две больших группы методов индексирования: текстовое описание и визуальное содержание.
Текстовое описание подразумевает в виде индекса набор строк, которые наиболее точно описывают изображение, например набор тэгов. Однако такой подход не всегда дает эффективный результат, потому что даже при ручном составлении индекса не все изображения поддаются словесному описанию, а автоматически это делать намного тяжелее. Поэтому рассматривать стоит вторую категорию методов индексирования - по визуальному содержанию.
Главный принцип использования индексирования видепотоков заключается в том, что результат этого процесса может многократно использоваться после окончания программы. В результате обработки видеопотока каждый кадр получает свой индекс, который можно сохранить в некотором файле, и при запуске новой задачи обработки видеопотока, например, поиске определенного кадра, использовать имеющиеся индексы для быстрого решения задачи.
В данной работе рассматриваются и анализируются принципы индексирования видеопотоков, а также тестируется их применение для задач поиска схожих кадров и синхронизации. С практическим результатом в виде кода можно ознакомиться по ссылке: https://github.com/ksander14/VKRSafiulin
Постановка задачи
Целью данной работы является исследование различных методов индексирования изображений для поиска схожих кадров в видеопотоке, а также применение этих методов в практической задаче синхронизации видеопотоков.
Для достижения данной цели в работе будут решены следующие задачи:
1. Изучение предметной области.
2. Реализация алгоритмов индексирования изображения для
поиска схожих кадров.
3. Практическое тестирование рассмотренных алгоритмов.
4. Поиск, разработка и тестирование алгоритмов синхронизации видеопотоков.
Рассмотренные в работе алгоритмы могут быть использованы для самых различных задач обработки видеопотоков: методы поиска схожих кадров могут быть использованы для поиска определенного объекта в множестве видеопотоков, а синхронизация видеопотоков позволяет эффективно работать с двумя видеопотоками.
В представленной работе автором было проведено изучение методов индексации изображений и рассмотрено их применение для задач поиска схожих изображений и синхронизации. Благодаря проведенным тестированиям удалось сравнить между собой методы индексирования изображений путем определения скорости работы и качества результата, а также оценить алгоритмы синхронизации видеопотоков. К основным выводам относится результат тестирования алгоритмов индексирования изображений, продемонстрировавший заметное преимущество в скорости метода цветовых гистограмм перед методом матриц переходов при одинаковом качестве сравнения, а также оптимальность по качеству и времени алгоритма сравнения кадров внутри видепотоков с использованием метода перцептивных хешей.
Работа может быть продолжена путем усовершенствования и применения других модификаций к рассмотренным методам индексирования. Для задачи синхронизации могут быть ослаблены начальные условия, что позволит использовать представленные алгоритмы синхронизации для более широкого класса видеопотоков, например, имеющих разную частоту кадров или меньшую область пересечения.
1. Гонсалес Р.С., Вудс Р. Цифровая обработка изображений. Издание 3-е, исправленное и дополненное. Москва: Техносфера, 2012. 1104 с.
2. Понс Ж., Форсайт Н.А. Компьютерное зрение. Современный подход. М.: Издательский дом «Вильямс», 2004. 928 с.
3. Новейшие методы обработки изображений / Под ред. А.А.Потапова. М.: ФИЗМАТЛИТ, 2008. 496 с.
4. Ярышев С.Н. Цифровые методы обработки видеоинформации и видеоаналитика: учебное пособие. СПб.: СПбГУ ИТМО, 2011. 83 с.
5. A. Murat Tekalp. Digital Video Processing, Second Edition. Publisher: Prentice Hall, 2015. 595 p.
6. Начало работы с библиотекой OpenCV.
http://www.intuit.ru/studies/courses/10621/1105/lecture/17985
7. OpenCV шаг за шагом.http://robocraft.ru/page/opencv/
8. Денисюк В.С. Алгоритмы выделения особенностей на изображениях с целью классификации заболеваний растений // Конструирование и оптимизация параллельных программ / Под ред. В.Н.Касьянова. Новосибирск: Институт систем информатики им. Ершова, 2008. С.71-82.
9. Байгарова Н.С., Бухштаб Ю.А., Горный А.А., Евтеева Н.Н., Лялин В.Ю., Монастырский А.В., Стрелков А.Ю. Методы индексирования и поиска изображений и видеоданных на основании визуального содержания // Институт прикладной математики им. М.В.Келдыша РАН, 2002. С.263-273.
10. Gregg Pass, Ramin Zabih. Comparing Images Using Joint Histograms // Regular paper,Multimedia Systems, May 1999, Volume 7, Issue 3, pp 234-240.
11. Поиск подобных изображений в базе данных индексированных видео.http://web.snauka.ru/issues/2014/05/34690
12. Построение признаков и сравнение изображений: глобальные признаки.https://habrahabr.ru/company/yandex/blog/255627
13. Рудаков И.В., Васютович И.М. Исследование перцептивных хеш- функций изображений // Наука и образование. МГТУ им. Н.Э.Баумана. Электронный журнал 2015. №8. С. 269-280.
14. Выглядит похоже. Как работает перцептивный хеш. https://habrahabr.ru/post/120562
15. Как бороться с репостами или пара слов о перцептивных хешах. https://habrahabr.ru/post/237307
16. OpenCV 2.4.9 Docementation.http://docs.opencv.org/2.4.9
17. Котов А.С. Индексирование видеопотока на основе выделения лиц // Пояснительная записка к ВКР, ТУСУР, 2008. 109 с.
18. Irena Koprinska, Sergio Carrato. Temporal video segmentation: A survey// Signal Processing: Image Communication, 16, 2001, P. 477 - 500