120
Алгоритмы распознавания видео 13-15 мая 2012 года Антон Конушин Computer science club, Екатеринбург

20120413 videorecognition konushin_lecture01

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 20120413 videorecognition konushin_lecture01

Алгоритмы распознавания видео

13-15 мая 2012 года

Антон Конушин

Computer science club, Екатеринбург

Page 2: 20120413 videorecognition konushin_lecture01

О лекторе

• Научный сотрудник лаборатории компьютерной графики и мультимедиа ВМК МГУ имени М.В. Ломоносова, к.ф.-м.н.

• Руководитель группы компьютерного зрения

• Научный консультант стартапов«Технологии мобильного картографирования» и «Технологии видеоанализа»

E-mail: [email protected]

Антон Конушин

Page 3: 20120413 videorecognition konushin_lecture01

Видеокамеры

• Наиболее близкий аналог «человеческого глаза» из доступных компьютеру

• Широкое распространение:• Видеокамеры в смартфонах, планшетах, ноутбуках• ~200 000 камер видеонаблюдения в одном Лондоне!

Page 4: 20120413 videorecognition konushin_lecture01

Чего мы хотим достичь?

Извлечение данных из видеопотока:• Разметить все объекты, людей, и происходящие

события• Определить позу людей, распознать жесты

Page 5: 20120413 videorecognition konushin_lecture01

Чего мы хотим достичь?

• «Situation awareness»• Свойство систем и класс приложений,

которые позволяют извлечь из сенсорных данных знание, ведущие к действиям

Page 6: 20120413 videorecognition konushin_lecture01

Очень сложно!

• Огромный поток информации• Быстрое принятие решения• Изменчивость и сложность

мира!• 100000 категорий разных

объектов!

• Система должна уметь больше, чем умеет человек

Page 7: 20120413 videorecognition konushin_lecture01

Состояние и перспективы

• Сейчас большинство видеокамер работают в режиме «регистрации»• Видеорегистраторы в автомобилях• Видеокамеры для любительской съёмки• Видеозапись с камер наблюдения

• Количество информации огромное, управлять её без анализа очень сложно

• «Видеоаналитика» - все алгоритмы для извлечения информации из видео• Есть ряд практически работающих систем

Page 8: 20120413 videorecognition konushin_lecture01

Видеонаблюдение на дорогах

VOCORD Traffic, Vocord, Россияhttp://www.vocord.ru/218/

Page 9: 20120413 videorecognition konushin_lecture01

Спортивные соревнования

http://www.hawkeyeinnovations.co.uk

Page 10: 20120413 videorecognition konushin_lecture01

Обнаружение лица и улыбки

Sony Cyber-shot® T70 Digital Still Camera Source: S. Seitz

Page 11: 20120413 videorecognition konushin_lecture01

Биометрические паспорта

• Получение фотографий для паспорта• Идентификация в контролируемых условиях на

пунктах контроля («кооперативная процедура»)

Page 12: 20120413 videorecognition konushin_lecture01

Умные машины

• Mobileye• Топ-модели от BMW, GM, Volvo• К 2010: 70% производителей машин

Source: S. Seitz

Page 13: 20120413 videorecognition konushin_lecture01

Умные машины

Page 14: 20120413 videorecognition konushin_lecture01

L.A. Noire, Team Bondi/Rockstar

3D модели и захват движения

Page 15: 20120413 videorecognition konushin_lecture01

План курса

• 13 апреля• Основы обработки изображений• Оптический поток и вычитание

фона

• 14 апреля• Выделение объектов• Отслеживание объектов и

распознавание событий

• 15 апреля• Распознавание человека по лицу• Дополненная реальность и Kinect

Page 16: 20120413 videorecognition konushin_lecture01

Основы обработки изображений

Page 17: 20120413 videorecognition konushin_lecture01

Модель камеры-обскуры

Камера-обскура – основная модель фотографического устройства и глаза человека.• Захватывает пучок лучей, проходящих через одну точку • Точечное отверстие называется «Центр проекции»

(фокальная точка / focal point)• Изображение формируется на картинной плоскости (Image

plane)

Slide by Steve Seitz

Page 18: 20120413 videorecognition konushin_lecture01

Point of observation

Figures © Stephen E. Palmer, 2002

Машина Понижения Размерности

3D мир 2D картина

Что мы теряем?• Углы• Расстояния и длины

Slide by A. Efros

Page 19: 20120413 videorecognition konushin_lecture01

Перспективные искажения

• Крайние колонны кажутся толще• Эти искажения вызваны не

погрешностью линз!• Проблема была отмечена еще да

Винчи

Slide by F. Durand

Page 20: 20120413 videorecognition konushin_lecture01

Современная камера

Тот же самый принцип, но с пленкой, объективом и т.д.

Page 21: 20120413 videorecognition konushin_lecture01

Цифровая камера - дискретизация

По пространствуПо яркости

Page 22: 20120413 videorecognition konushin_lecture01

10 событий в истории фотографии

http://listverse.com/history/top-10-incredible-early-firsts-in-photography/

Slide by S. Lazebnik

Первое цифровое фото (1957 год), разрешение 176*176 пикселов

Page 23: 20120413 videorecognition konushin_lecture01

Цветные фотографии??

Page 24: 20120413 videorecognition konushin_lecture01

Что такое цвет?Цвет – это психологическое свойство нашего

зрения, возникающее при наблюдении объектов и света, а не физические свойства объектов и света (S. Palmer, Vision Science: Photons to Phenomenology)

Цвет – это результат взаимодействия света, сцены и нашей зрительной системы

Wassily Kandinsky (1866-1944), Murnau Street with Women, 1908 Slide by S. Lazebnik

Page 25: 20120413 videorecognition konushin_lecture01

Человеческий глаз

Глаз как камера!• Радужка – цветная пленка с радиальными мышцами • Зрачок - отверстие (апертура), диаметр управляется

радужкой• Хрусталик – «линза», меняющая форму под действием мышц• Где матрица?

– Клетки-фоторецепторы на сетчатке

Slide by Steve Seitz

Page 26: 20120413 videorecognition konushin_lecture01

Восприятие цвета

Палочки и колбочки – фильтры спектра• Спектр умножается на кривую отклика, производится

интегрирование по всем длинам волн– Каждый тип колбочек даёт 1 число– При этом часть информации теряется

Трихроматическая теория:• Мы можем описать все цвета 3мя числами

S

M L

Wavelength

Power

Slide by Steve Seitz

Page 27: 20120413 videorecognition konushin_lecture01

Линейные цветовые модели: RGB• Произвольный цвет представляется как комбинация

трёх основных цветов• Основные цвета – монохроматические (в мониторе

им соответствует три вида фосфоров)• Вычитание необходимо для соответствия

некоторым длинам волныRGB функции сопоставления

Slide by S. Lazebnik

Page 28: 20120413 videorecognition konushin_lecture01

Модель HSV

Координаты выбраны с учетом человеческого восприятия: Hue (Тон), Saturation(Насыщенность), Value (Intensity) (Интенсивность)

Slide by S. Lazebnik

Page 29: 20120413 videorecognition konushin_lecture01

Цветное цифровое изображение

Source: Steve Seitz

Демозаикинг (оценка пропущенных значений цвета)

Байеровский шаблон

Page 30: 20120413 videorecognition konushin_lecture01

Устранение мозаичности и ошибки

Тонкие черные и белые детали интерпретируются как изменения цвета

Page 31: 20120413 videorecognition konushin_lecture01

Дискретное изображение

Функция интенсивности канала, заданная на прямоугольной сетке (матрица)

3,2,1},,1,,1{),,( kmjnijigI k

В цветном изображении 3 канала (цвета), может быть 4 (например, в системе цветности CMYK)

В изображении с глубиной может быть тоже 4 каналаОбработка изображений может дать ещё каналы

Page 32: 20120413 videorecognition konushin_lecture01

Цифровое изображение

Что может получить плохо при получении изображения?

Page 33: 20120413 videorecognition konushin_lecture01

Неправильные цвета

Что может получиться плохо?

Темное или слабоконтрастное

Шумное Размытое Неравномерно освещённое

Page 34: 20120413 videorecognition konushin_lecture01

Постоянство цвета и освещенности

J. S. Sargent, The Daughters of Edward D. Boit, 1882

Пример: Белый цвет на свету и в тени

Slide by F. Durand

Способность зрительной системы человека оценивать собственные отражательные свойства поверхностей в не зависимости от условий освещенности

Page 35: 20120413 videorecognition konushin_lecture01

Постоянство яркости

http://web.mit.edu/persci/people/adelson/checkershadow_illusion.htmlSlide by S. Lazebnik

Page 36: 20120413 videorecognition konushin_lecture01

Постоянство яркости

http://web.mit.edu/persci/people/adelson/checkershadow_illusion.htmlSlide by S. Lazebnik

Page 37: 20120413 videorecognition konushin_lecture01

Почему может получиться плохо?

• Ограниченный диапазон чувствительности датчика

• “Плохая” функции передачи датчика

Page 38: 20120413 videorecognition konushin_lecture01

Что такое гистограмма?

Гистограмма – это график распределения величин в выборке. Посмотрим на примере гистограммы яркости пикселей изображения. На горизонтальной оси - шкала яркостей тонов от белого до черного, на вертикальной оси - число пикселей заданной яркости.

0 255

0 255

Page 39: 20120413 videorecognition konushin_lecture01

Глобальная коррекция

Глобальная коррекция – преобразование значений каналов изображения, независимое и одинаковое для всех пикселей изображения.

Глобальная коррекция яркости:

y – яркость пикселя на исходном изображении, x – яркость пикселя после коррекции.

Коррекция может быть линейная и нелинейная, в зависимости от вида функции.

xyf )(1

Page 40: 20120413 videorecognition konushin_lecture01

Линейная коррекция

Компенсация узкого диапазона яркостей –линейное растяжение:

График функции f -1(y)

)()0255(

*)()(minmax

min1

yyyyyf

Page 41: 20120413 videorecognition konushin_lecture01

Линейная коррекция

Компенсация узкого диапазона яркостей – линейное растяжение:

Page 42: 20120413 videorecognition konushin_lecture01

Робастная линейная коррекцияЧто будет при применении линейной коррекции к такой картинке?

Робастная (устойчивая) версия метода:• Вычислим такую линейную коррекцию, чтобы 5% самых

темных пикселов стали черными и 5% самых светлых стали белыми

Page 43: 20120413 videorecognition konushin_lecture01

Линейная коррекция

Линейное растяжение – «как AutoContrast в Photoshop»

Page 44: 20120413 videorecognition konushin_lecture01

Линейная коррекция

Линейная коррекция помогает не всегда!

Page 45: 20120413 videorecognition konushin_lecture01

Нелинейная коррекция

График функции f -1(y)

y

x

Page 46: 20120413 videorecognition konushin_lecture01

Нелинейная коррекцияНелинейная компенсация недостаточной контрастности

Часто применяемые функции:• Гамма-коррекция

• Изначальная цель – коррекция для правильного отображения на мониторе.

• Логарифмическая• Цель – сжатие динамического диапазона при визуализацииданных

xcy

)1log( xcy

Page 47: 20120413 videorecognition konushin_lecture01

Гамма-коррекция

Графики функции f -1(y)

Page 48: 20120413 videorecognition konushin_lecture01

Нелинейная коррекция

График функции f -1(y)

Page 49: 20120413 videorecognition konushin_lecture01

Цветовой баланс («баланс белого»)Когда мы смотрим на фотографию или монитор, глаза

адаптируются к освещению в комнате, а не к освещению сцены на фотографии

Если «баланс белого» неточен, цвета фотографии кажутся неестественными

http://www.cambridgeincolour.com/tutorials/white-balance.htm

incorrect white balance correct white balance

Slide by S. Lazebnik

Page 50: 20120413 videorecognition konushin_lecture01

Баланс белогоПленочные камеры:

• Разные виды пленки и светофильтры применяются для разных сцен

Цифровые камеры: • Автоматический баланс белого• Предустановки баланса белого для типичных условий съемки• Настраиваемый по опорному объекту

http://www.cambridgeincolour.com/tutorials/white-balance.htmSlide by S. Lazebnik

Page 51: 20120413 videorecognition konushin_lecture01

Баланс белогоVon Kries adaptation

• Домножаем каждый канал r,g,b на «коэффициент передачи»• В ряде случаев эффект более сложный, соответствующий

домножению вектора (r,g,b) на матрицу 3x3

Простейший способ: серые (белые) карточки• Фотографируем нейтральный объект (белый)• Оцениваем вес каждого канала

– Если цвет объект записывается как rw, gw, bwтогда веса 1/rw, 1/gw, 1/bw

Slide by S. Lazebnik

Page 52: 20120413 videorecognition konushin_lecture01

Киноиндустрия

Вместо серых карточек мы можем использовать цветной шаблон для расчёта матрицы преобразования 3x3

Source: The dark knight

Page 53: 20120413 videorecognition konushin_lecture01

Другие методы

Если нет серых/цветных карточек, тогда нам нужно угадать (или оценить) коэффициенты усиления

Модель «Серого мира» (Grayworld)• Средний уровень («серый») по каждому каналу должен

быть одинаков для всех каналов• Если цветовой баланс нарушен, тогда «серый» в этом

канале больше «серого» других каналов• Вычислим коэффициенты усиления так, чтобы среднее в

каждом канале стало одинаковым:

Slide by S. Lazebnik

Page 54: 20120413 videorecognition konushin_lecture01

«Серый мир» - примеры

Page 55: 20120413 videorecognition konushin_lecture01

Цветовая коррекция изображений

• Растяжение контрастности (“autolevels”)• Идея – растянуть интенсивности по каждому из

каналов на весь диапазон;

• Метод:• Найти минимум, максимум по каждому из каналов:

• Преобразовать интенсивности:

;)(

)0255(*)(

minmaxmin RR

RR

maxminmaxminmaxmin ,,,,, BBGGRR

;)(

)0255(*)(

minmaxmin BB

BB

;)(

)0255(*)(

minmaxmin GG

GG

Page 56: 20120413 videorecognition konushin_lecture01

Растяжение контрастности

Page 57: 20120413 videorecognition konushin_lecture01

Важность для обработки видео

• Если цветовая калибровка двух камер различна, то один и тот же объект может иметь разные цвета на двух изображениях.

Page 58: 20120413 videorecognition konushin_lecture01

Шумоподавление

• Причины возникновения шума:– Несовершенство измерительных приборов– Хранение и передача изображений с потерей данных

Шум фотоаппарата Сильное сжатие JPEG

Page 59: 20120413 videorecognition konushin_lecture01

Виды шума

• Соль и перец: случайные черные и белые пиксели

• Импульсный: случайные белые пиксели

• Гауссов: колебания яркости, распределенные по нормальному закону

Source: S. Seitz

Page 60: 20120413 videorecognition konushin_lecture01

Гауссов шум• Мат.модель: сумма множества независимых

факторов• Подходит при маленьких дисперсиях• Предположения: независимость, нулевое

матожидание

Source: M. Hebert

Page 61: 20120413 videorecognition konushin_lecture01

• Заменим каждый пиксель взвешенным средним по окрестности

• Веса обозначаются как ядро фильтра• Веса для усреднения задаются так:

Усреднение

111

111

111

“box filter”

Source: D. Lowe

Page 62: 20120413 videorecognition konushin_lecture01

• Пусть f – изображение, g -ядро. Свертка изображения f с помощью g обозначается как f * g.

Определение свертки

lk

lkglnkmfnmgf,

],[],[],)[(

f

Source: F. Durand

• Соглашение: ядро “перевернуто”• MATLAB: conv2 vs. filter2 (also imfilter)

Page 63: 20120413 videorecognition konushin_lecture01

Основные свойства

• Линейность: filter(f1 + f2 ) = filter(f1) + filter(f2)• Инвариантность к сдвигу: не зависит от сдвига

пиксела: filter(shift(f)) = shift(filter(f))• Теория: любой линейный оператор, инвариантный к

сдвигу, может быть записан в виде свертки

• Чтобы доказать нелинейность фильтра, можно воспользоваться основными свойствами, и показать их не выполнение на примере

Slide by S. Lazebnik

Page 64: 20120413 videorecognition konushin_lecture01

Простейшие фильтры

000010000

Original

?

Source: D. Lowe

Page 65: 20120413 videorecognition konushin_lecture01

Простейшие фильтры

000010000

Original Filtered (no change)

Source: D. Lowe

Page 66: 20120413 videorecognition konushin_lecture01

Простейшие фильтры

000100000

Original

?

Source: D. Lowe

Page 67: 20120413 videorecognition konushin_lecture01

Простейшие фильтры

000100000

Original Shifted leftBy 1 pixel

Source: D. Lowe

Page 68: 20120413 videorecognition konushin_lecture01

Простейшие фильтры

Original

?111111111

Source: D. Lowe

Page 69: 20120413 videorecognition konushin_lecture01

Простейшие фильтры

Original

111111111

Blur (with abox filter)

Source: D. Lowe

Page 70: 20120413 videorecognition konushin_lecture01

Сглаживание с box-фильтром• Результат сглаживание с помощью усреднения

отличается от разфокусированного изображения• Точка света, наблюдаемая с расфокусированного

объектива, выглядит как кружок света, а усреднение дает квадратик

Source: D. Forsyth

Page 71: 20120413 videorecognition konushin_lecture01

Сглаживание• Точка света, наблюдаемая с расфокусированного

объектива, выглядит как кружок света, а усреднение дает квадратик

• Другой способ: взвешиваем вклад пикселей по окрестности с учетом близости к центру:

“fuzzy blob”

Slide by S. Lazebnik

Page 72: 20120413 videorecognition konushin_lecture01

Ядро фильтра гаусса

0.003 0.013 0.022 0.013 0.0030.013 0.059 0.097 0.059 0.0130.022 0.097 0.159 0.097 0.0220.013 0.059 0.097 0.059 0.0130.003 0.013 0.022 0.013 0.003

5 x 5, = 1

Source: C. Rasmussen

Эмпирика: полуразмер фильтра равен 3σ

Page 73: 20120413 videorecognition konushin_lecture01

Сглаживание фильтром гаусса

Page 74: 20120413 videorecognition konushin_lecture01

Маленькая экскурсия к Фурье

+

Низкие частоты Высокие частоты

Фильтр Гаусса – фильтр низких частот

Page 75: 20120413 videorecognition konushin_lecture01

Сглаживание фильтрами большого радиуса подавляет шум, но размывает изображение

Подавление гауссова шума

Slide by S. Lazebnik

Page 76: 20120413 videorecognition konushin_lecture01

Подавление шума «соль и перец»

Чем результат плох?

3x3 5x5 7x7

Slide by S. Lazebnik

Page 77: 20120413 videorecognition konushin_lecture01

Медианный фильтр

• Выбор медианы из выборки пикселей по окрестности данного

• Является ли фильтр линейным?Source: K. Grauman

Page 78: 20120413 videorecognition konushin_lecture01

Медианный фильтрSalt-and-pepper noise Median filtered

Source: M. Hebert

MATLAB: medfilt2(image, [h w])

Page 79: 20120413 videorecognition konushin_lecture01

Медианный фильтр

Результат применения медианного фильтра с радиусом в 7 пикселей к изображению с шумом и артефактами в виде тонких светлых окружностей.

Page 80: 20120413 videorecognition konushin_lecture01

Выделение краев

• Задача: Выделить резкие изменения (разрывы) изображения

• Интуитивно понятно, что основная информация в картинке содержится как раз в краях (границах)• Компактное представление• Соответствует устройству мозга

• Идеал: рисунок художника (но артист уже пользуются своими знаниями об объектах)

Source: D. Lowe

Page 81: 20120413 videorecognition konushin_lecture01

Откуда берутся края

• Существует множество причин формирования краев на изображении

Резкое изменение глубины

Резкое изменение цвета поверхности

Резкое изменение освещеенности

Резкое изменение нормали поверхности

Source: Steve Seitz

Резкое изменение = «разрыв»

Page 82: 20120413 videorecognition konushin_lecture01

Описание «края»• Край – это точка резкого изменения значений функции

интенсивности изображения

изображениеФункция интенсивности(строка изображения) 1ая производная

Края соответствуют экстремумам производной

Slide by S. Lazebnik

Page 83: 20120413 videorecognition konushin_lecture01

Градиент направлен в сторону наибольшего изменения интенсивности

Градиент изображения

• Градиент изображения:

Направления градиента задается как:• Как направление градиента соответствует

направлению края?• Сила края задается величиной (нормой) градиента:

Source: Steve Seitz

Page 84: 20120413 videorecognition konushin_lecture01

Дифференцирование и свёртка

•Для функции 2х переменных, f(x,y):

• Разностная производная:

• Можно показать, что её можно реализовать свёрткой

fx

lim0

f x , y

f x,y

fx

f xn1,y f xn , y

x

-1 1

Source: D. Forsyth, D. Lowe

Простейший фильтр

Page 85: 20120413 videorecognition konushin_lecture01

Вычисление градиента яркости

0110

1001

Математический смысл – приближенное вычисление производных по направлению

101101101-

111000111-

101202101-

121000121-

Робертса Превитт Собеля

Семейство методов основано на приближенном вычисление градиента, анализе его направления и абсолютной величины. Свертка по функциям:

Page 86: 20120413 videorecognition konushin_lecture01

Карта силы краев

Примеры:

Робертса Превитт

Собеля

Page 87: 20120413 videorecognition konushin_lecture01

Влияние шума

• Рассмотрим строку или столбец изображения• Интенсивность от положения можно рассматривать как

сигнал

Край исчезSource: S. Seitz

Page 88: 20120413 videorecognition konushin_lecture01

Влияние шума• Разностные производные очень чувствительны к шуму

• Зашумленные пиксели отличаются от соседей• Чем сильнее шум, тем выше отклик

• Сглаживание• Сглаживание делает все пиксели (зашумленные?) чуть более

похожими на соседей

Source: D. Forsyth

Page 89: 20120413 videorecognition konushin_lecture01

Предобработка (сглаживание)

• Для поиска краев ищем пики в: )( gfdxd

f

g

f * g

)( gfdxd

Source: S. Seitz

Page 90: 20120413 videorecognition konushin_lecture01

• Операции свертки и дифференцирования ассоциативны:

• Это экономит 1 операцию:g

dxdfgf

dxd

)(

Свойства свертки

gdxdf

f

gdxd

Source: S. Seitz

Page 91: 20120413 videorecognition konushin_lecture01

Производная фильтра Гаусса

* [1 -1] =

Slide by S. Lazebnik

Page 92: 20120413 videorecognition konushin_lecture01

Производная фильтра Гаусса

x-direction y-direction

Slide by S. Lazebnik

Page 93: 20120413 videorecognition konushin_lecture01

Сглаженные производные подавляют шум, но размывают края. Плюс края находится на разных «масштабах»

1 pixel 3 pixels 7 pixels

Сглаживание и локализация

Source: D. Forsyth

Применим сглаженные производные разного размера:

Page 94: 20120413 videorecognition konushin_lecture01

Разработка детектора краев• Критерии качества детектора:

• Good detection: оптимальный детектор должен минимизировать ошибки 1 и 2го родов (ложные края и пропущенные края)

• Точная локализация: найденный край должен быть как можно ближе к истинному краю

• Единственный отклик: детектор должен выдавать одну точку для одной точки истинного края, т.е. локальных максимум вокруг края должно быть как можно меньше

Source: L. Fei-Fei

Page 95: 20120413 videorecognition konushin_lecture01

Выделение краев

Вычисление градиента – это еще не всё…

Чего не хватает? Точности – края «толстые» и размытые Информации о связности

Исходное изображение Карта силы градиента

Page 96: 20120413 videorecognition konushin_lecture01

Детектор Canny

1. Свертка изображения с ядром – производной от фильтра гаусса

2. Поиск значения и направления градиента3. Выделение локальных максимумов (Non-maximum

suppression)• Утоньшение полос в несколько пикселей до одного пикселя

4. Связывание краев и обрезание по порогу (гистерезис)• Определяем два порога: нижний и верхний• Верхний порог используем для инициализации кривых• Нижний порог используем для продолжения кривых

• MATLAB: edge(image, ‘canny’)

Source: D. Lowe, L. Fei-FeiJ. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986.

Page 97: 20120413 videorecognition konushin_lecture01

Пример

• Исходное изображение (Lena)

Slide by S. Lazebnik

Page 98: 20120413 videorecognition konushin_lecture01

Пример

Норма градиента

Slide by S. Lazebnik

Page 99: 20120413 videorecognition konushin_lecture01

Пример

Отсечение по порогу

Slide by S. Lazebnik

Page 100: 20120413 videorecognition konushin_lecture01

Пример

Утоньшение(non-maximum suppression)

Slide by S. Lazebnik

Page 101: 20120413 videorecognition konushin_lecture01

Поиск локальных максимумов

Максимум достигается в q, если значение больше p и r. Значения в p и r интерполируем.

Source: D. Forsyth

Page 102: 20120413 videorecognition konushin_lecture01

Пусть отмеченная точка –край. Строим касательную к границе (нормаль к направлению градиента) и используем ее для предсказания новой точки (это либо sлибо r).

Связывание точек

Source: D. Forsyth

Page 103: 20120413 videorecognition konushin_lecture01

Отсечение по порогу

• Проверяем точку, чтобы значение градиента было выше порога• Используем гистерезис

– Большой порог для начала построения кривой и низкий порог для продолжения края (связывания)

Source: S. Seitz

Page 104: 20120413 videorecognition konushin_lecture01

Эффект гистерезиса

Исходное изображение

Высокий порог(сильные края)

Низкий порог(слабые края)

Порог по гистерезису

Source: L. Fei-Fei

Page 105: 20120413 videorecognition konushin_lecture01

Влияние (Размер ядра размытия)

Canny with Canny with original

Выбор зависит от задачи• большое - поиск крупных границ • маленькое - выделение мелких деталей

Source: S. Seitz

Page 106: 20120413 videorecognition konushin_lecture01

Ограничения детектора Canny

Source: Martin et al. 2003

Page 107: 20120413 videorecognition konushin_lecture01

Признаки изображения

Какие признаки пикселя мы научились вычислять?

• Яркость

• Цвет

• Градиент и его направление

• Края (Edges)

Какие ещё признаки использует человек для выделения объектов и анализа изображения?

Page 108: 20120413 videorecognition konushin_lecture01

Пример

Image source: Landy & Graham (2004)

Видите отдельные области?

Page 109: 20120413 videorecognition konushin_lecture01

«Текстура»

Image source: Landy & Graham (2004)

Page 110: 20120413 videorecognition konushin_lecture01

«Текстура»

Image source: Landy & Graham (2004)

Page 111: 20120413 videorecognition konushin_lecture01

«Текстура»

Image source: Landy & Graham (2004)

Типичный пример текстурного шаблона для исследований психофизиологоического восприятия изображений

Page 112: 20120413 videorecognition konushin_lecture01

Текстура

Image source: VPfaCGP Fig 8.5

• Это типичные примеры текстурных шаблонов для исследований психофизиологоического восприятия изображений

• Человек явно использует не только яркость и цвет, но и ориентацию краёв (градиентов изображения), их распределение, для анализа изображений

Page 113: 20120413 videorecognition konushin_lecture01

«Простые клетки» V1

• В первичной визуальной коре головного мозга есть клетки, чувствительные к краям определенной ориентации

• Для каждой области есть набор таких клеток, чувствительные к краям разной ориентации

Page 114: 20120413 videorecognition konushin_lecture01

Анализ текстуры

Pietro Perona and Jitendra Malik «Detecting and Localizing edges composed of steps, peaks and roofs», ICCV 1990

• Выберем фильтр, чувствительный к краю определенной ориентации

• Результат фильтрации сгладим• Будут «подсвечены» области, содержащие текстуру с краями

заданной ориентации

Page 115: 20120413 videorecognition konushin_lecture01

Банки фильтров

• Возьмём теперь несколько фильтров разного масштаба и ориентации

• Такой набор называют «банк фильтров»• Каждый пиксель изображения после обработки

банком фильтров даёт вектор признаков• Этот вектор признаков эффективно описывает

локальную текстуру окрестности пикселя• Активно используется в сегментации, распознавании

изображений и т.д.

Page 116: 20120413 videorecognition konushin_lecture01

Модель «back pocket»

Image source: Landy & Graham (2004)

Ввод После 1 этапа После 2 этапа Выход

• Такие модели текстуры называют «back pocket»

• Модель «биологически возможна»

• По подобным моделям опубликовано много работ.

Page 117: 20120413 videorecognition konushin_lecture01

Пример, Bergen & Adelson (1988)

Page 118: 20120413 videorecognition konushin_lecture01

Психологическое свойство текстуры

Image source: Todd et al. 2005

Page 119: 20120413 videorecognition konushin_lecture01

Форма из текстуры

• Человек интуитивно считает текстуру изотропной, т.е. с постоянными свойствами на поверхности объекта

• Shape from texture: Исходя из предположения обизотропности шаблона текстуры, можно определить наклон поверности

Image source: VPfaCGP Fig 8.7

Page 120: 20120413 videorecognition konushin_lecture01

Резюме

• Глобальная коррекция изображения

• Локальная фильтрация изображения

• Вычисление градиента

• Выделение краёв на изображении

• Текстура и текстурные признаки