20120413 videorecognition konushin_lecture01
-
Upload
computer-science-club -
Category
Education
-
view
3.395 -
download
1
description
Transcript of 20120413 videorecognition konushin_lecture01
Алгоритмы распознавания видео
13-15 мая 2012 года
Антон Конушин
Computer science club, Екатеринбург
О лекторе
• Научный сотрудник лаборатории компьютерной графики и мультимедиа ВМК МГУ имени М.В. Ломоносова, к.ф.-м.н.
• Руководитель группы компьютерного зрения
• Научный консультант стартапов«Технологии мобильного картографирования» и «Технологии видеоанализа»
E-mail: [email protected]
Антон Конушин
Видеокамеры
• Наиболее близкий аналог «человеческого глаза» из доступных компьютеру
• Широкое распространение:• Видеокамеры в смартфонах, планшетах, ноутбуках• ~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
Резюме
• Глобальная коррекция изображения
• Локальная фильтрация изображения
• Вычисление градиента
• Выделение краёв на изображении
• Текстура и текстурные признаки