![Page 1: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/1.jpg)
Цифровая обработка изображений
Савченко А.В. Д.т.н., проф. Каф. Информационные системы и технологии
TMPA School 2018 Kostroma 1
![Page 2: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/2.jpg)
TMPA School 2018 Kostroma
План лекции
1. Информация о лекторе
2. Основные задачи компьютерного
зрения
3. Фильтрация изображений
4. Выделение краев (Edge detection)
5. Выделение ключевых точек
6. Дескрипторы
2
![Page 3: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/3.jpg)
TMPA School 2018 Kostroma
фото
Информация о лекторе
3
![Page 4: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/4.jpg)
TMPA School 2018 Kostroma
Информация о лекторе
фото
Персональная страница НИУ ВШЭ: http://www.hse.ru/staff/avsavchenko
4
![Page 5: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/5.jpg)
TMPA School 2018 Kostroma
Научно-учебная группа «Анализ мультимедийных данных»
(https://nnov.hse.ru/bipm/amd/)
фото
• Распознавание лица по фотографиям/видео. Работа поддержана грантом
Президента РФ для молодых докторов наук
• Распознавание речи в системах голосового управления. Проект вошел в число
10 лучших в рамках ФЦП «Исследования и разработки» (2007-2013)
• Большие данные. Эффективная классификация дескрипторов изображений и
текстов (Пономаренко А.А.)
• Компьютерная лингвистика. Анализ текстов, opinion mining (Карпов Н.В.)
5
![Page 6: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/6.jpg)
Samsung-PDMI AI Center (https://samsung.pdmi.ras.ru)
фото
Проект User Preference Prediction in Visual Data
6 TMPA School 2018 Kostroma
Walking Baseball
Figure Japanese
Beauty
Travel Japanese
Ukulele
Golf
Lego Drama
Drone
User 1
User 2
User 3
Генерация профиля пользователя
![Page 7: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/7.jpg)
TMPA School 2018 Kostroma
Основные задачи компьютерного
зрения
7
![Page 8: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/8.jpg)
TMPA School 2018 Kostroma
Очистка изображений от шума
8
https://www.mathworks.com/help/wavelet/examples/denoising-signals-and-
images.html
![Page 9: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/9.jpg)
TMPA School 2018 Kostroma
Распознавание изображений
9
![Page 10: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/10.jpg)
TMPA School 2018 Kostroma
Семантическая сегментация
10
![Page 11: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/11.jpg)
TMPA School 2018 Kostroma
Детектирование объектов на изображениях
11
![Page 12: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/12.jpg)
TMPA School 2018 Kostroma
Классификация, детектирование, локализация…
12
https://leonardoaraujosantos.gitbooks.io/artificial-
inteligence/content/object_localization_and_detection.html
![Page 13: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/13.jpg)
TMPA School 2018 Kostroma
Восстановление 3D модели по изображению
13
[Рассадин, 2017]
Предсказание нейросетевои модели
Оригинальная 3D модель
Ошибка
![Page 14: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/14.jpg)
TMPA School 2018 Kostroma
Текстовое описание изображений
14
http://arxiv.org/abs/1411.4555 “Show and Tell: A Neural Image Caption Generator”
![Page 15: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/15.jpg)
TMPA School 2018 Kostroma
Обработка изображений лиц (1). Детектирование
15
![Page 16: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/16.jpg)
TMPA School 2018 Kostroma
Обработка изображений лиц (2). Верификация
16
Kumar et al, TPAMI, 2011
![Page 17: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/17.jpg)
TMPA School 2018 Kostroma
Обработка изображений лиц (3). Идентификация
(распознавание)
17
Входная видео последовательность
Эталонные
фотографии
![Page 18: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/18.jpg)
TMPA School 2018 Kostroma
Обработка изображений лиц (4). Распознавание пола
и возраста
18
![Page 19: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/19.jpg)
TMPA School 2018 Kostroma
Обработка изображений лиц (5). Распознавание
эмоций
19
![Page 20: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/20.jpg)
TMPA School 2018 Kostroma
Фильтрация изображений
20
![Page 21: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/21.jpg)
TMPA School 2018 Kostroma
Основной инструмент
- Open Source Computer Vision Library
- BSD license
- C++, C, Python, Java
- Windows, Linux, Mac OS, iOS and Android
21
![Page 22: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/22.jpg)
TMPA School 2018 Kostroma
Представления цифровых изображений. Дискретизация и квантование
22
Гонсалес, Вудс «Цифровая обработка изображений»
![Page 23: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/23.jpg)
TMPA School 2018 Kostroma
Преобразование формата. Полутоновые изображения
23
OpenCV: cvtColor()
Solem «Programming Computer Vision
with Python»
![Page 24: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/24.jpg)
TMPA School 2018 Kostroma
Нормировка
Приведение всех пикселей к нулевому среднему и единичной дисперсии
24
Ponce «Computer vision: models, learning and inference»
OpenCV: normalize()
![Page 25: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/25.jpg)
TMPA School 2018 Kostroma
Гистограмма полутонового изображения
25
OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example»
![Page 26: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/26.jpg)
TMPA School 2018 Kostroma
Выравнивание гистограммы (histogram equalization)
26
OpenCV: equalizeHist()
K – максимальное значение
интенсивности (обычно 256)
Ponce «Computer vision: models, learning and inference»
![Page 27: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/27.jpg)
TMPA School 2018 Kostroma
Медианный фильтр
27
OpenCV: medianBlur() Muhammad «OpenCV Android Programming By Example»
Шум «Salt-and-pepper»
![Page 28: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/28.jpg)
TMPA School 2018 Kostroma
Линейная фильтрация (1). Одномерный сигнал
28
Кросс-корреляция
Свертка (convolution)
Ketkar “Deep Learning with Python”
![Page 29: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/29.jpg)
TMPA School 2018 Kostroma
Линейная фильтрация (2). Двумерный сигнал (изображение)
29
OpenCV: filter2D() DLI-Teaching-Kit
http://intellabs.github.io/RiverTrail/tutorial/
![Page 30: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/30.jpg)
TMPA School 2018 Kostroma
Гауссовский фильтр (smoothing, blurring)
30
OpenCV: GaussianBlur()
Ponce «Computer vision: models, learning and inference»
![Page 31: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/31.jpg)
TMPA School 2018 Kostroma
Билатеральный фильтр
31
OpenCV: bilateralFilter() Wikipedia
Domain kernel Range kernel
![Page 32: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/32.jpg)
TMPA School 2018 Kostroma
Математическая морфология
32
OpenCV:
erode(),
dilate(),
morphologyEx() //MORPH_OPEN, MORPH_CLOSE
Расширение
(Dilation)
Сужение
(Erosion)
Szeliski «Computer Vision: Algorithms and Applications»
Открытие
(Opening) Закрытие
(Closing)
![Page 33: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/33.jpg)
TMPA School 2018 Kostroma
Фильтры Хаара. Интегральное изображение
33
Ponce «Computer vision: models, learning and inference»
![Page 34: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/34.jpg)
TMPA School 2018 Kostroma
Локальные бинарные шаблоны (Local Binary Patterns, LBP)
34
Ponce «Computer vision: models, learning and inference»
https://habrahabr.ru/post/280888/
Uniform pattern – число с 0, 1
или 2 переходами 0-1 или 1-0.
Примеры: «00111100»,
«11111111» и «01111111».
Non-uniforms patterns
объединяются в один:
«10100000» и «01010101»
LBPP,R
![Page 35: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/35.jpg)
TMPA School 2018 Kostroma
Выделение краев (Edge detection)
35
![Page 36: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/36.jpg)
TMPA School 2018 Kostroma
Вычисление первых производных
36
Фильтры Превитт Фильтры Собеля
Ponce «Computer vision: models, learning and inference»
![Page 37: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/37.jpg)
TMPA School 2018 Kostroma
Вторые производные. Фильтр Лапласа.
37
Ponce «Computer vision: models, learning and inference» OpenCV: Laplacian(),
filter2D
![Page 38: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/38.jpg)
TMPA School 2018 Kostroma
Фильтры Габора
38
Ponce «Computer vision: models, learning and inference» OpenCV: getGaborFilter()
![Page 39: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/39.jpg)
TMPA School 2018 Kostroma
Фильтр Кэнни
39
Ponce «Computer vision: models, learning and inference»
b)Вертикальный фильтр
Превитт
c)Горизонтальный фильтр
Превитт
d)Квантование ориентации
e)Амплитуда градиента
f)Non-maximal suppression:
угол квантуется ({0°, 45°,
90°, 135°}), амплитуда:=0,
если меньше хотя бы 1 из 2
пикселей перпендикулярных
градиенту
g)Два порога: белые пиксели
выше максимального порога,
OpenCV: Canny()
красные – больше минимального
h) Hysteresis thresholding – все белые пиксели и связанные с ними красные
![Page 40: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/40.jpg)
TMPA School 2018 Kostroma
Выделение ключевых точек
40
![Page 41: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/41.jpg)
TMPA School 2018 Kostroma
Interest points
41
Muhammad «OpenCV Android Programming By Example»
![Page 42: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/42.jpg)
TMPA School 2018 Kostroma
Детектор углов Харриса
42
hmn, vmn – отклики
фильтров
горизонтальных/
вертикальных частных
производных
Ponce «Computer vision: models, learning and inference» OpenCV: cornerHarris()
Image structure tensor
![Page 43: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/43.jpg)
TMPA School 2018 Kostroma
FAST детектор
43
Тестирование 16 пикселей в окрестности, детектирование угла, если 12 из
них ярче/темнее центрального пикселя
OpenCV:
FastFeatureDetector () Muhammad «OpenCV Android Programming By Example»
В начале проверяются
только 4 пикселя (1, 9, 5, 13)
![Page 44: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/44.jpg)
TMPA School 2018 Kostroma
Инвариантность к масштабу. Пирамида изображений
44
Muhammad «OpenCV Android Programming By Example»
![Page 45: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/45.jpg)
TMPA School 2018 Kostroma
SIFT детектор (Scale-Invariant Feature Transform)
45
1. Поиск в пирамиде экстремальных точек – интенсивность
больше/меньше всех (3х3х3-1=26 соседей)
2. Проверка условий детектора Харриса
3. Построение гистограммы ориентации градиента в локальной
окрестности (36 блоков на 360 градусов) и выбор одного или двух пиков
в гистограмме
OpenCV:
SiftFeatureDetector () Ponce «Computer vision: models, learning and inference»
![Page 46: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/46.jpg)
TMPA School 2018 Kostroma
Дескрипторы
46
![Page 47: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/47.jpg)
TMPA School 2018 Kostroma
Гистограммы элементарных признаков
47
Гистограмма цвета
[Lowe, 2004]
Гистограмма ориентаций
градиента
https://prophotos.ru/lessons/17601-gistogramma-i-
obrabotka-izobrazheniya
![Page 48: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/48.jpg)
TMPA School 2018 Kostroma
Локальный дескриптор SIFT
48
Ponce «Computer vision: models, learning and inference»
1. 16х16 окрестность точки разбивается сеткой 4х4 ячейки
2. В каждой ячейке вычисляется взвешенная гистограмма ориентации
градиента (8 блоков)
3. Гистограммы всех ячеек нормируются по ориентации ключевой точки и
объединяются в единый SIFT дескриптор (размерность 4х4х8=128)
OpenCV: SIFT class
![Page 49: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/49.jpg)
TMPA School 2018 Kostroma
Сравнение (matching) локальных дескрипторов
49
Solem «Programming Computer Vision with Python»
Дескрипторы совпадают, если расстояние до 1NN (nearest neighbor)
/расстояние до 2NN меньше определенного порога (0,6-0,8) Matching дескрипторов
левого изображения
Matching дескрипторов
обоих изображений
![Page 50: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/50.jpg)
TMPA School 2018 Kostroma
Глобальный дескриптор HOG (Histogram of Oriented Gradients)
50
Ponce «Computer vision: models, learning and inference»
b) Ориентация градиента (квантованная на 9 блоков для 180 градусов)
c) Амплитуда градиента
d) Дескрипторы ячеек 6х6 пикселей – взвешенные гистограммы ориентаций
e) Дескриптор блока – нормированный объединенный вектор дескрипторов
смежных 3х3 ячеек
Итоговый дескриптор HOG для изображения 64х128 – объединение
дескрипторов блоков
![Page 51: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/51.jpg)
TMPA School 2018 Kostroma
Bag-of-words
51
https://www.mathworks.com/help/vision/ug/image-classification-with-bag-of-visual-words.html
Формирование «словаря»
Кодирование изображения
![Page 52: Цифровая обработка изображений...2018/09/29 · OpenCV: calcHist() Muhammad «OpenCV Android Programming By Example» TMPA School 2018 Kostroma Выравнивание](https://reader035.vdocuments.mx/reader035/viewer/2022071109/5fe4180b2536c9246d6533be/html5/thumbnails/52.jpg)
52