20120413 videorecognition konushin_lecture01

Post on 22-Nov-2014

3.393 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

13-15 мая 2012 года

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

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

О лекторе

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

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

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

E-mail: ktosh@graphics.cs.msu.ru

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

Видеокамеры

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

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

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

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

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

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

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

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

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

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

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

объектов!

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

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

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

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

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

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

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

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

http://www.hawkeyeinnovations.co.uk

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

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

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

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

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

Умные машины

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

Source: S. Seitz

Умные машины

L.A. Noire, Team Bondi/Rockstar

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

План курса

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

фона

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

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

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

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

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

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

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

plane)

Slide by Steve Seitz

Point of observation

Figures © Stephen E. Palmer, 2002

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

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

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

Slide by A. Efros

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

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

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

Винчи

Slide by F. Durand

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

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

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

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

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

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

Slide by S. Lazebnik

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

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

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

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

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

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

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

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

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

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

Slide by Steve Seitz

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

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

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

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

S

M L

Wavelength

Power

Slide by Steve Seitz

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

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

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

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

Slide by S. Lazebnik

Модель HSV

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

Slide by S. Lazebnik

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

Source: Steve Seitz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Slide by F. Durand

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

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

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

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

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

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

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

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

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

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

0 255

0 255

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

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

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

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

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

xyf )(1

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

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

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

)()0255(

*)()(minmax

min1

yyyyyf

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

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

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

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

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

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

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

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

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

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

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

y

x

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

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

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

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

xcy

)1log( xcy

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

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

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

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

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

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

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

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

incorrect white balance correct white balance

Slide by S. Lazebnik

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

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

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

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

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

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

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

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

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

Slide by S. Lazebnik

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

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

Source: The dark knight

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

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

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

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

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

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

Slide by S. Lazebnik

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

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

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

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

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

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

;)(

)0255(*)(

minmaxmin RR

RR

maxminmaxminmaxmin ,,,,, BBGGRR

;)(

)0255(*)(

minmaxmin BB

BB

;)(

)0255(*)(

minmaxmin GG

GG

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

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

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

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

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

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

Виды шума

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

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

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

Source: S. Seitz

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

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

матожидание

Source: M. Hebert

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

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

Усреднение

111

111

111

“box filter”

Source: D. Lowe

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

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

lk

lkglnkmfnmgf,

],[],[],)[(

f

Source: F. Durand

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

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

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

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

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

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

Slide by S. Lazebnik

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

000010000

Original

?

Source: D. Lowe

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

000010000

Original Filtered (no change)

Source: D. Lowe

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

000100000

Original

?

Source: D. Lowe

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

000100000

Original Shifted leftBy 1 pixel

Source: D. Lowe

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

Original

?111111111

Source: D. Lowe

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

Original

111111111

Blur (with abox filter)

Source: D. Lowe

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

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

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

Source: D. Forsyth

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

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

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

“fuzzy blob”

Slide by S. Lazebnik

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

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σ

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

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

+

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

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

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

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

Slide by S. Lazebnik

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

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

3x3 5x5 7x7

Slide by S. Lazebnik

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

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

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

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

Source: M. Hebert

MATLAB: medfilt2(image, [h w])

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

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

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

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

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

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

Source: D. Lowe

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

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

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

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

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

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

Source: Steve Seitz

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

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

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

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

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

Slide by S. Lazebnik

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

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

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

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

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

Source: Steve Seitz

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

•Для функции 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

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

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

0110

1001

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

101101101-

111000111-

101202101-

121000121-

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

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

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

Примеры:

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

Собеля

Влияние шума

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

сигнал

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

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

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

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

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

Source: D. Forsyth

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

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

f

g

f * g

)( gfdxd

Source: S. Seitz

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

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

dxdfgf

dxd

)(

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

gdxdf

f

gdxd

Source: S. Seitz

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

* [1 -1] =

Slide by S. Lazebnik

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

x-direction y-direction

Slide by S. Lazebnik

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

1 pixel 3 pixels 7 pixels

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

Source: D. Forsyth

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

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

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

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

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

Source: L. Fei-Fei

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

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

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

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

Детектор 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.

Пример

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

Slide by S. Lazebnik

Пример

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

Slide by S. Lazebnik

Пример

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

Slide by S. Lazebnik

Пример

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

Slide by S. Lazebnik

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

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

Source: D. Forsyth

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

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

Source: D. Forsyth

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

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

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

Source: S. Seitz

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

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

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

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

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

Source: L. Fei-Fei

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

Canny with Canny with original

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

Source: S. Seitz

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

Source: Martin et al. 2003

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

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

• Яркость

• Цвет

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

• Края (Edges)

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

Пример

Image source: Landy & Graham (2004)

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

«Текстура»

Image source: Landy & Graham (2004)

«Текстура»

Image source: Landy & Graham (2004)

«Текстура»

Image source: Landy & Graham (2004)

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

Текстура

Image source: VPfaCGP Fig 8.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель «back pocket»

Image source: Landy & Graham (2004)

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

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

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

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

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

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

Image source: Todd et al. 2005

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

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

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

Image source: VPfaCGP Fig 8.7

Резюме

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

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

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

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

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

top related