SlideShare une entreprise Scribd logo
1  sur  120
Télécharger pour lire hors ligne
Алгоритмы распознавания видео




               Антон Конушин
     Computer science club, Екатеринбург
             13-15 мая 2012 года
О лекторе

          •   Научный сотрудник лаборатории
              компьютерной графики и
              мультимедиа ВМК МГУ имени М.В.
              Ломоносова, к.ф.-м.н.
          •   Руководитель группы компьютерного
              зрения
          •   Научный консультант стартапов
 Антон        «Технологии мобильного
Конушин       картографирования» и «Технологии
              видеоанализа»

              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
Умные машины
3D модели и захват движения




 L.A. Noire, Team Bondi/Rockstar
План курса
• 13 апреля
  • Основы обработки изображений
  • Оптический поток и вычитание
    фона


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


• 15 апреля
  • Распознавание человека по лицу
  • Дополненная реальность и Kinect
Основы обработки изображений
Модель камеры-обскуры




Камера-обскура – основная модель фотографического
  устройства и глаза человека.
  • Захватывает пучок лучей, проходящих через одну точку
  • Точечное отверстие называется «Центр проекции»
    (фокальная точка / focal point)
  • Изображение формируется на картинной плоскости (Image
    plane)
                                                   Slide by Steve Seitz
Машина Понижения Размерности
        3D мир           2D картина




  Point of observation



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

                               Slide by A. Efros
                               Figures © Stephen E. Palmer, 2002
Перспективные искажения
•   Крайние колонны кажутся толще
•   Эти искажения вызваны не
    погрешностью линз!
•   Проблема была отмечена еще да
    Винчи




                                    Slide by F. Durand
Современная камера




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




По пространству
                              По яркости
10 событий в истории фотографии
http://listverse.com/history/top-10-incredible-early-firsts-
   in-photography/




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




                                                        Slide by S. Lazebnik
Цветные фотографии??
Что такое цвет?
Цвет – это психологическое свойство нашего
  зрения, возникающее при наблюдении объектов и
  света, а не физические свойства объектов и света
  (S. Palmer, Vision Science: Photons to
  Phenomenology)
Цвет – это результат взаимодействия света, сцены
  и нашей зрительной системы




        Wassily Kandinsky (1866-1944), Murnau Street with Women, 1908   Slide by S. Lazebnik
Человеческий глаз




Глаз как камера!
   • Радужка – цветная пленка с радиальными мышцами
   • Зрачок - отверстие (апертура), диаметр управляется
     радужкой
   • Хрусталик – «линза», меняющая форму под действием мышц
   • Где матрица?
      – Клетки-фоторецепторы на сетчатке

                                                          Slide by Steve Seitz
Восприятие цвета
                        M    L
       Power

               S




                                             Wavelength
Палочки и колбочки – фильтры спектра
  • Спектр умножается на кривую отклика, производится
    интегрирование по всем длинам волн
     – Каждый тип колбочек даёт 1 число
     – При этом часть информации теряется
Трихроматическая теория:
  • Мы можем описать все цвета 3мя числами


                                                     Slide by Steve Seitz
Линейные цветовые модели: RGB
• Произвольный цвет представляется как комбинация
  трёх основных цветов
• Основные цвета – монохроматические (в мониторе
  им соответствует три вида фосфоров)
• Вычитание необходимо для соответствия
  некоторым длинам волны
                          RGB функции сопоставления




                                                      Slide by S. Lazebnik
Модель HSV




Координаты выбраны с учетом человеческого
  восприятия:
  Hue (Тон), Saturation(Насыщенность), Value
  (Intensity) (Интенсивность)
                                               Slide by S. Lazebnik
Цветное цифровое изображение

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

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




                                           Source: Steve Seitz
Устранение мозаичности и ошибки




        Тонкие черные и белые детали
    интерпретируются как изменения цвета
Дискретное изображение
                  Функция интенсивности канала,
                  заданная на прямоугольной
                  сетке (матрица)
                    I  g k (i , j), {i  1, n, j 1, m},k  1,2,3

                  В цветном изображении 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.html
                                                                  Slide by S. Lazebnik
Постоянство яркости




 http://web.mit.edu/persci/people/adelson/checkershadow_illusion.html
                                                                  Slide by S. Lazebnik
Почему может получиться плохо?

• Ограниченный диапазон
  чувствительности датчика
• “Плохая” функции передачи
  датчика
Что такое гистограмма?
Гистограмма – это график распределения величин в
выборке. Посмотрим на примере гистограммы яркости
пикселей изображения. На горизонтальной оси - шкала
яркостей тонов от белого до черного, на вертикальной
оси - число пикселей заданной яркости.




                        0                255




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

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

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


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

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

                             1                        (255  0)
                            f ( y)  ( y  ymin ) *
                                                    ( ymax  ymin )




                                  График функции f -1(y)
Линейная коррекция
Компенсация узкого диапазона
яркостей – линейное растяжение:
Робастная линейная коррекция
Что будет при применении линейной коррекции к
такой картинке?




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

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


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


                       x




                                                     y
                           График функции f -1 (y)
Нелинейная коррекция
Нелинейная компенсация недостаточной
контрастности

Часто применяемые функции:
• Гамма-коррекция
    • Изначальная цель – коррекция для правильного
    отображения на мониторе.
    y  c  x
• Логарифмическая
   • Цель – сжатие динамического диапазона при
   визуализации
   данных
  y  c  log(1  x)
Гамма-коррекция




                  Графики функции f -1 (y)
Нелинейная коррекция




                       График функции f -1 (y)
Цветовой баланс («баланс белого»)
Когда мы смотрим на фотографию или монитор, глаза
  адаптируются к освещению в комнате, а не к
  освещению сцены на фотографии
Если «баланс белого» неточен, цвета фотографии
  кажутся неестественными
          incorrect white balance       correct white balance




     http://www.cambridgeincolour.com/tutorials/white-balance.htm   Slide by S. Lazebnik
Баланс белого
Пленочные камеры:
  • Разные виды пленки и светофильтры применяются для
    разных сцен

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




  http://www.cambridgeincolour.com/tutorials/white-balance.htm   Slide 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”)
   • Идея – растянуть интенсивности по каждому из
     каналов на весь диапазон;
• Метод:
   • Найти минимум, максимум по каждому из каналов:
      Rmin , Rmax , Gmin , Gmax , Bmin , Bmax
   • Преобразовать интенсивности:

                           (255  0)                      ( 255  0)
       ( R  Rmin ) *                   ; (G  Gmin ) *                ;
                        ( Rmax  Rmin )                 (Gmax  Gmin )
                         (255  0)
       ( B  Bmin ) *                 ;
                      ( Bmax  Bmin )
Растяжение контрастности
Важность для обработки видео
• Если цветовая калибровка двух камер различна,
  то один и тот же объект может иметь разные
  цвета на двух изображениях.
Шумоподавление

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




Шум фотоаппарата                  Сильное сжатие JPEG
Виды шума
            • Соль и перец:
              случайные черные и
              белые пиксели
            • Импульсный:
              случайные белые
              пиксели
            • Гауссов: колебания
              яркости,
              распределенные по
              нормальному закону




                            Source: S. Seitz
Гауссов шум
• Мат.модель: сумма множества независимых
  факторов
• Подходит при маленьких дисперсиях
• Предположения: независимость, нулевое
  матожидание




                                        Source: M. Hebert
Усреднение
• Заменим каждый пиксель взвешенным средним
  по окрестности
• Веса обозначаются как ядро фильтра
• Веса для усреднения задаются так:




                  1    1    1

                  1    1    1
                  1    1    1

                  “box filter”
                                         Source: D. Lowe
Определение свертки
• Пусть f – изображение, g -ядро. Свертка
  изображения f с помощью g обозначается как f * g.


  ( f  g )[m, n]   f [m  k , n  l ] g[k , l ]
                       k ,l




                              f

• Соглашение: ядро “перевернуто”
• MATLAB: conv2 vs. filter2 (also imfilter)
                                              Source: F. Durand
Основные свойства
• Линейность: filter(f1 + f2 ) = filter(f1) + filter(f2)
• Инвариантность к сдвигу: не зависит от сдвига
  пиксела: filter(shift(f)) = shift(filter(f))
• Теория: любой линейный оператор, инвариантный к
  сдвигу, может быть записан в виде свертки

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




                                                   Slide by S. Lazebnik
Простейшие фильтры




             0 0 0
             0 1 0   ?
             0 0 0

 Original




                         Source: D. Lowe
Простейшие фильтры




             0 0 0
             0 1 0
             0 0 0

 Original            Filtered
                     (no change)



                             Source: D. Lowe
Простейшие фильтры




             0 0 0
             0 0 1   ?
             0 0 0

 Original




                         Source: D. Lowe
Простейшие фильтры




             0 0 0
             0 0 1
             0 0 0

 Original            Shifted left
                     By 1 pixel



                             Source: D. Lowe
Простейшие фильтры




              1 1 1
              1 1 1   ?
              1 1 1

 Original




                          Source: D. Lowe
Простейшие фильтры




              1 1 1
              1 1 1
              1 1 1

 Original             Blur (with a
                      box filter)



                              Source: D. Lowe
Сглаживание с box-фильтром
• Результат сглаживание с помощью усреднения
  отличается от разфокусированного изображения
• Точка света, наблюдаемая с расфокусированного
  объектива, выглядит как кружок света, а
  усреднение дает квадратик




                                           Source: D. Forsyth
Сглаживание
• Точка света, наблюдаемая с расфокусированного
  объектива, выглядит как кружок света, а
  усреднение дает квадратик
• Другой способ: взвешиваем вклад пикселей по
  окрестности с учетом близости к центру:




                 “fuzzy blob”


                                             Slide by S. Lazebnik
Ядро фильтра гаусса




                             0.003   0.013   0.022   0.013   0.003
                             0.013   0.059   0.097   0.059   0.013
                             0.022   0.097   0.159   0.097   0.022
                             0.013   0.059   0.097   0.059   0.013
                             0.003   0.013   0.022   0.013   0.003


                                         5 x 5,  = 1


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


                                              Source: C. Rasmussen
Сглаживание фильтром гаусса
Маленькая экскурсия к Фурье



                      +



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




     Фильтр Гаусса – фильтр низких частот
Подавление гауссова шума




Сглаживание фильтрами большого радиуса подавляет
шум, но размывает изображение
                                             Slide by S. Lazebnik
Подавление шума «соль и перец»

     3x3              5x5   7x7




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




                                  Slide by S. Lazebnik
Медианный фильтр
• Выбор медианы из выборки пикселей по
  окрестности данного




• Является ли фильтр линейным?
                                         Source: K. Grauman
Медианный фильтр
         Salt-and-pepper noise   Median filtered




MATLAB: medfilt2(image, [h w])
                                                   Source: M. Hebert
Медианный фильтр

 Результат применения медианного фильтра с радиусом
 в 7 пикселей к изображению с шумом и артефактами в
 виде тонких светлых окружностей.
Выделение краев
• Задача: Выделить резкие
  изменения (разрывы)
  изображения
• Интуитивно понятно, что
  основная информация в
  картинке содержится как раз в
  краях (границах)
   • Компактное представление
   • Соответствует устройству мозга

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

                                      Source: D. Lowe
Откуда берутся края


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


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


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


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


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

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


                                                        Source: Steve Seitz
Описание «края»
• Край – это точка резкого изменения значений функции
  интенсивности изображения

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




                                     Края соответствуют
                                 экстремумам производной
                                                Slide by S. Lazebnik
Градиент изображения

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


•




Градиент направлен в сторону наибольшего изменения
   интенсивности
Направления градиента задается как:
   • Как направление градиента соответствует
     направлению края?
   • Сила края задается величиной (нормой) градиента:

                                                Source: Steve Seitz
Дифференцирование и свёртка

•Для функции 2х                          • Разностная производная:
переменных, f(x,y):
                                           f f xn1 , y  f xn , y
                                              
 f        f x   , y f x, y      x            x
     lim                        
 x  0                    
                                         • Можно показать, что её
                                         можно реализовать
                                         свёрткой


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



                                                          Source: D. Forsyth, D. Lowe
Вычисление градиента яркости


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

                         - 1  1  1    -1   0   1    -1   2   1     -1   0   1
 1    0   0   1                                    0
0
                        0 0 0          1    0   1          0    0      2   0   2
       1
         
             1
                 0                                
                                                         1     2    1
                                                                           
                                                                            1    0
                                                                                        
                                                                                       1
                        1 1 1
                                       1
                                               0   1
                                                                                    

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


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

Примеры:




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




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




Край исчез
                                                     Source: S. Seitz
Влияние шума
• Разностные производные очень чувствительны к шуму
  • Зашумленные пиксели отличаются от соседей
  • Чем сильнее шум, тем выше отклик
• Сглаживание
  • Сглаживание делает все пиксели (зашумленные?) чуть более
    похожими на соседей




                                                    Source: D. Forsyth
Предобработка (сглаживание)

           f


           g


       f*g


   d
      ( f  g)
   dx


                                  d
• Для поиска краев ищем пики в:      ( f  g)
                                  dx            Source: S. Seitz
Свойства свертки
• Операции свертки и дифференцирования
  ассоциативны:              d               d
                               ( f  g)  f  g
• Это экономит 1 операцию:  dx               dx


            f


           d
              g
           dx


           d
     f       g
           dx


                                                  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’)

J. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern
Analysis and Machine Intelligence, 8:679-714, 1986.      Source: D. Lowe, L. Fei-Fei
Пример




         • Исходное изображение (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
Влияние  (Размер ядра размытия)




 original            Canny with                Canny with


Выбор  зависит от задачи
    • большое  - поиск крупных границ
    • маленькое  - выделение мелких деталей
                                                            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»
                         • Такие модели текстуры называют
                           «back pocket»
                         • Модель «биологически
                           возможна»
                         • По подобным моделям
                           опубликовано много работ.




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


                                            Image source: Landy & Graham (2004)
Пример, Bergen & Adelson (1988)
Психологическое свойство текстуры




                             Image source: Todd et al. 2005
Форма из текстуры
• Человек интуитивно считает текстуру изотропной, т.е. с
  постоянными свойствами на поверхности объекта
• Shape from texture: Исходя из предположения об
  изотропности шаблона текстуры, можно определить наклон
  поверности




                                            Image source: VPfaCGP Fig 8.7
Резюме

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

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

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

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

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

Contenu connexe

Tendances (6)

CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.
 
CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.
 
D Photo 08 (Dec 2003)
D Photo 08 (Dec 2003)D Photo 08 (Dec 2003)
D Photo 08 (Dec 2003)
 
D Photo 07 (Nov 2003)
D Photo 07 (Nov 2003)D Photo 07 (Nov 2003)
D Photo 07 (Nov 2003)
 

Similaire à 20120413 videorecognition konushin_lecture01

CV2011 Lecture 1. Part 2. Light & Color
CV2011 Lecture 1. Part 2. Light & ColorCV2011 Lecture 1. Part 2. Light & Color
CV2011 Lecture 1. Part 2. Light & Color
Anton Konushin
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
Computer Science Club
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
Anton Konushin
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
Computer Science Club
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»
seik0ixtem
 
Антон Конушин_Введение
Антон Конушин_ВведениеАнтон Конушин_Введение
Антон Конушин_Введение
LiloSEA
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
Anton Konushin
 
CV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisCV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysis
Anton Konushin
 
Тренды мультимедиа. Николай Карнаух
Тренды мультимедиа. Николай КарнаухТренды мультимедиа. Николай Карнаух
Тренды мультимедиа. Николай Карнаух
Olesya_V
 
CV2011 Lecture 2. Image processing
CV2011 Lecture 2. Image processingCV2011 Lecture 2. Image processing
CV2011 Lecture 2. Image processing
Anton Konushin
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03
Computer Science Club
 

Similaire à 20120413 videorecognition konushin_lecture01 (20)

CV2011 Lecture 1. Part 2. Light & Color
CV2011 Lecture 1. Part 2. Light & ColorCV2011 Lecture 1. Part 2. Light & Color
CV2011 Lecture 1. Part 2. Light & Color
 
Lecture 1. Introduction to Computer Vision
Lecture 1. Introduction to Computer VisionLecture 1. Introduction to Computer Vision
Lecture 1. Introduction to Computer Vision
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
 
Контроль цвета. а стыке цифры и офсета
Контроль цвета. а стыке цифры и офсетаКонтроль цвета. а стыке цифры и офсета
Контроль цвета. а стыке цифры и офсета
 
"ЦВЕТ – зачем и чем мерять"
"ЦВЕТ – зачем и чем мерять""ЦВЕТ – зачем и чем мерять"
"ЦВЕТ – зачем и чем мерять"
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
 
Презентация 1. Введение в компьютерное зрение
Презентация 1. Введение в компьютерное зрениеПрезентация 1. Введение в компьютерное зрение
Презентация 1. Введение в компьютерное зрение
 
D
DD
D
 
распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»распознавание автомобильного номера в условиях зашумлённости»
распознавание автомобильного номера в условиях зашумлённости»
 
Denis Perevalov -- Computer vision with OpenCV 1
Denis Perevalov -- Computer vision with OpenCV 1Denis Perevalov -- Computer vision with OpenCV 1
Denis Perevalov -- Computer vision with OpenCV 1
 
Антон Конушин_Введение
Антон Конушин_ВведениеАнтон Конушин_Введение
Антон Конушин_Введение
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
Как создать учебный фильм 2014
Как создать учебный фильм 2014Как создать учебный фильм 2014
Как создать учебный фильм 2014
 
CV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysisCV2011 Lecture 3. Basic image analysis
CV2011 Lecture 3. Basic image analysis
 
Тренды мультимедиа. Николай Карнаух
Тренды мультимедиа. Николай КарнаухТренды мультимедиа. Николай Карнаух
Тренды мультимедиа. Николай Карнаух
 
CV2011 Lecture 2. Image processing
CV2011 Lecture 2. Image processingCV2011 Lecture 2. Image processing
CV2011 Lecture 2. Image processing
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03
 
Астрофотография-1
Астрофотография-1Астрофотография-1
Астрофотография-1
 

Plus de Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
Computer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
Computer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
Computer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
Computer Science Club
 

Plus de Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20120413 videorecognition konushin_lecture01

  • 1. Алгоритмы распознавания видео Антон Конушин Computer science club, Екатеринбург 13-15 мая 2012 года
  • 2. О лекторе • Научный сотрудник лаборатории компьютерной графики и мультимедиа ВМК МГУ имени М.В. Ломоносова, к.ф.-м.н. • Руководитель группы компьютерного зрения • Научный консультант стартапов Антон «Технологии мобильного Конушин картографирования» и «Технологии видеоанализа» E-mail: ktosh@graphics.cs.msu.ru
  • 3. Видеокамеры • Наиболее близкий аналог «человеческого глаза» из доступных компьютеру • Широкое распространение: • Видеокамеры в смартфонах, планшетах, ноутбуках • ~200 000 камер видеонаблюдения в одном Лондоне!
  • 4. Чего мы хотим достичь? Извлечение данных из видеопотока: • Разметить все объекты, людей, и происходящие события • Определить позу людей, распознать жесты
  • 5. Чего мы хотим достичь? • «Situation awareness» • Свойство систем и класс приложений, которые позволяют извлечь из сенсорных данных знание, ведущие к действиям
  • 6. Очень сложно! • Огромный поток информации • Быстрое принятие решения • Изменчивость и сложность мира! • 100000 категорий разных объектов! • Система должна уметь больше, чем умеет человек
  • 7. Состояние и перспективы • Сейчас большинство видеокамер работают в режиме «регистрации» • Видеорегистраторы в автомобилях • Видеокамеры для любительской съёмки • Видеозапись с камер наблюдения • Количество информации огромное, управлять её без анализа очень сложно • «Видеоаналитика» - все алгоритмы для извлечения информации из видео • Есть ряд практически работающих систем
  • 8. Видеонаблюдение на дорогах VOCORD Traffic, Vocord, Россия http://www.vocord.ru/218/
  • 9. Спортивные соревнования http://www.hawkeyeinnovations.co.uk
  • 10. Обнаружение лица и улыбки Sony Cyber-shot® T70 Digital Still Camera Source: S. Seitz
  • 11. Биометрические паспорта • Получение фотографий для паспорта • Идентификация в контролируемых условиях на пунктах контроля («кооперативная процедура»)
  • 12. Умные машины • Mobileye • Топ-модели от BMW, GM, Volvo • К 2010: 70% производителей машин Source: S. Seitz
  • 14. 3D модели и захват движения L.A. Noire, Team Bondi/Rockstar
  • 15. План курса • 13 апреля • Основы обработки изображений • Оптический поток и вычитание фона • 14 апреля • Выделение объектов • Отслеживание объектов и распознавание событий • 15 апреля • Распознавание человека по лицу • Дополненная реальность и Kinect
  • 17. Модель камеры-обскуры Камера-обскура – основная модель фотографического устройства и глаза человека. • Захватывает пучок лучей, проходящих через одну точку • Точечное отверстие называется «Центр проекции» (фокальная точка / focal point) • Изображение формируется на картинной плоскости (Image plane) Slide by Steve Seitz
  • 18. Машина Понижения Размерности 3D мир 2D картина Point of observation Что мы теряем? • Углы • Расстояния и длины Slide by A. Efros Figures © Stephen E. Palmer, 2002
  • 19. Перспективные искажения • Крайние колонны кажутся толще • Эти искажения вызваны не погрешностью линз! • Проблема была отмечена еще да Винчи Slide by F. Durand
  • 20. Современная камера Тот же самый принцип, но с пленкой, объективом и т.д.
  • 21. Цифровая камера - дискретизация По пространству По яркости
  • 22. 10 событий в истории фотографии http://listverse.com/history/top-10-incredible-early-firsts- in-photography/ Первое цифровое фото (1957 год), разрешение 176*176 пикселов Slide by S. Lazebnik
  • 24. Что такое цвет? Цвет – это психологическое свойство нашего зрения, возникающее при наблюдении объектов и света, а не физические свойства объектов и света (S. Palmer, Vision Science: Photons to Phenomenology) Цвет – это результат взаимодействия света, сцены и нашей зрительной системы Wassily Kandinsky (1866-1944), Murnau Street with Women, 1908 Slide by S. Lazebnik
  • 25. Человеческий глаз Глаз как камера! • Радужка – цветная пленка с радиальными мышцами • Зрачок - отверстие (апертура), диаметр управляется радужкой • Хрусталик – «линза», меняющая форму под действием мышц • Где матрица? – Клетки-фоторецепторы на сетчатке Slide by Steve Seitz
  • 26. Восприятие цвета M L Power S Wavelength Палочки и колбочки – фильтры спектра • Спектр умножается на кривую отклика, производится интегрирование по всем длинам волн – Каждый тип колбочек даёт 1 число – При этом часть информации теряется Трихроматическая теория: • Мы можем описать все цвета 3мя числами Slide by Steve Seitz
  • 27. Линейные цветовые модели: RGB • Произвольный цвет представляется как комбинация трёх основных цветов • Основные цвета – монохроматические (в мониторе им соответствует три вида фосфоров) • Вычитание необходимо для соответствия некоторым длинам волны RGB функции сопоставления Slide by S. Lazebnik
  • 28. Модель HSV Координаты выбраны с учетом человеческого восприятия: Hue (Тон), Saturation(Насыщенность), Value (Intensity) (Интенсивность) Slide by S. Lazebnik
  • 29. Цветное цифровое изображение Байеровский шаблон Демозаикинг (оценка пропущенных значений цвета) Source: Steve Seitz
  • 30. Устранение мозаичности и ошибки Тонкие черные и белые детали интерпретируются как изменения цвета
  • 31. Дискретное изображение Функция интенсивности канала, заданная на прямоугольной сетке (матрица) I  g k (i , j), {i  1, n, j 1, m},k  1,2,3 В цветном изображении 3 канала (цвета), может быть 4 (например, в системе цветности CMYK) В изображении с глубиной может быть тоже 4 канала Обработка изображений может дать ещё каналы
  • 32. Цифровое изображение Что может получить плохо при получении изображения?
  • 33. Что может получиться плохо? Темное или слабоконтрастное Неправильные цвета Шумное Размытое Неравномерно освещённое
  • 34. Постоянство цвета и освещенности Способность зрительной системы человека оценивать собственные отражательные свойства поверхностей в не зависимости от условий освещенности Пример: Белый цвет на свету и в тени J. S. Sargent, The Daughters of Edward D. Boit, 1882 Slide by F. Durand
  • 37. Почему может получиться плохо? • Ограниченный диапазон чувствительности датчика • “Плохая” функции передачи датчика
  • 38. Что такое гистограмма? Гистограмма – это график распределения величин в выборке. Посмотрим на примере гистограммы яркости пикселей изображения. На горизонтальной оси - шкала яркостей тонов от белого до черного, на вертикальной оси - число пикселей заданной яркости. 0 255 0 255
  • 39. Глобальная коррекция Глобальная коррекция – преобразование значений каналов изображения, независимое и одинаковое для всех пикселей изображения. Глобальная коррекция яркости: y – яркость пикселя на исходном изображении, f 1 ( y)  x x – яркость пикселя после коррекции. Коррекция может быть линейная и нелинейная, в зависимости от вида функции.
  • 40. Линейная коррекция Компенсация узкого диапазона яркостей – линейное растяжение: 1 (255  0) f ( y)  ( y  ymin ) * ( ymax  ymin ) График функции f -1(y)
  • 41. Линейная коррекция Компенсация узкого диапазона яркостей – линейное растяжение:
  • 42. Робастная линейная коррекция Что будет при применении линейной коррекции к такой картинке? Робастная (устойчивая) версия метода: • Вычислим такую линейную коррекцию, чтобы 5% самых темных пикселов стали черными и 5% самых светлых стали белыми
  • 44. Линейная коррекция Линейная коррекция помогает не всегда!
  • 45. Нелинейная коррекция x y График функции f -1 (y)
  • 46. Нелинейная коррекция Нелинейная компенсация недостаточной контрастности Часто применяемые функции: • Гамма-коррекция • Изначальная цель – коррекция для правильного отображения на мониторе. y  c  x • Логарифмическая • Цель – сжатие динамического диапазона при визуализации данных y  c  log(1  x)
  • 47. Гамма-коррекция Графики функции f -1 (y)
  • 48. Нелинейная коррекция График функции f -1 (y)
  • 49. Цветовой баланс («баланс белого») Когда мы смотрим на фотографию или монитор, глаза адаптируются к освещению в комнате, а не к освещению сцены на фотографии Если «баланс белого» неточен, цвета фотографии кажутся неестественными incorrect white balance correct white balance http://www.cambridgeincolour.com/tutorials/white-balance.htm Slide by S. Lazebnik
  • 50. Баланс белого Пленочные камеры: • Разные виды пленки и светофильтры применяются для разных сцен Цифровые камеры: • Автоматический баланс белого • Предустановки баланса белого для типичных условий съемки • Настраиваемый по опорному объекту http://www.cambridgeincolour.com/tutorials/white-balance.htm Slide by S. Lazebnik
  • 51. Баланс белого Von Kries adaptation • Домножаем каждый канал r,g,b на «коэффициент передачи» • В ряде случаев эффект более сложный, соответствующий домножению вектора (r,g,b) на матрицу 3x3 Простейший способ: серые (белые) карточки • Фотографируем нейтральный объект (белый) • Оцениваем вес каждого канала – Если цвет объект записывается как rw, gw, bw тогда веса 1/rw, 1/gw, 1/bw Slide by S. Lazebnik
  • 52. Киноиндустрия Вместо серых карточек мы можем использовать цветной шаблон для расчёта матрицы преобразования 3x3 Source: The dark knight
  • 53. Другие методы Если нет серых/цветных карточек, тогда нам нужно угадать (или оценить) коэффициенты усиления Модель «Серого мира» (Grayworld) • Средний уровень («серый») по каждому каналу должен быть одинаков для всех каналов • Если цветовой баланс нарушен, тогда «серый» в этом канале больше «серого» других каналов • Вычислим коэффициенты усиления так, чтобы среднее в каждом канале стало одинаковым: Slide by S. Lazebnik
  • 54. «Серый мир» - примеры
  • 55. Цветовая коррекция изображений • Растяжение контрастности (“autolevels”) • Идея – растянуть интенсивности по каждому из каналов на весь диапазон; • Метод: • Найти минимум, максимум по каждому из каналов: Rmin , Rmax , Gmin , Gmax , Bmin , Bmax • Преобразовать интенсивности: (255  0) ( 255  0) ( R  Rmin ) * ; (G  Gmin ) * ; ( Rmax  Rmin ) (Gmax  Gmin ) (255  0) ( B  Bmin ) * ; ( Bmax  Bmin )
  • 57. Важность для обработки видео • Если цветовая калибровка двух камер различна, то один и тот же объект может иметь разные цвета на двух изображениях.
  • 58. Шумоподавление • Причины возникновения шума: – Несовершенство измерительных приборов – Хранение и передача изображений с потерей данных Шум фотоаппарата Сильное сжатие JPEG
  • 59. Виды шума • Соль и перец: случайные черные и белые пиксели • Импульсный: случайные белые пиксели • Гауссов: колебания яркости, распределенные по нормальному закону Source: S. Seitz
  • 60. Гауссов шум • Мат.модель: сумма множества независимых факторов • Подходит при маленьких дисперсиях • Предположения: независимость, нулевое матожидание Source: M. Hebert
  • 61. Усреднение • Заменим каждый пиксель взвешенным средним по окрестности • Веса обозначаются как ядро фильтра • Веса для усреднения задаются так: 1 1 1 1 1 1 1 1 1 “box filter” Source: D. Lowe
  • 62. Определение свертки • Пусть f – изображение, g -ядро. Свертка изображения f с помощью g обозначается как f * g. ( f  g )[m, n]   f [m  k , n  l ] g[k , l ] k ,l f • Соглашение: ядро “перевернуто” • MATLAB: conv2 vs. filter2 (also imfilter) Source: F. Durand
  • 63. Основные свойства • Линейность: filter(f1 + f2 ) = filter(f1) + filter(f2) • Инвариантность к сдвигу: не зависит от сдвига пиксела: filter(shift(f)) = shift(filter(f)) • Теория: любой линейный оператор, инвариантный к сдвигу, может быть записан в виде свертки • Чтобы доказать нелинейность фильтра, можно воспользоваться основными свойствами, и показать их не выполнение на примере Slide by S. Lazebnik
  • 64. Простейшие фильтры 0 0 0 0 1 0 ? 0 0 0 Original Source: D. Lowe
  • 65. Простейшие фильтры 0 0 0 0 1 0 0 0 0 Original Filtered (no change) Source: D. Lowe
  • 66. Простейшие фильтры 0 0 0 0 0 1 ? 0 0 0 Original Source: D. Lowe
  • 67. Простейшие фильтры 0 0 0 0 0 1 0 0 0 Original Shifted left By 1 pixel Source: D. Lowe
  • 68. Простейшие фильтры 1 1 1 1 1 1 ? 1 1 1 Original Source: D. Lowe
  • 69. Простейшие фильтры 1 1 1 1 1 1 1 1 1 Original Blur (with a box filter) Source: D. Lowe
  • 70. Сглаживание с box-фильтром • Результат сглаживание с помощью усреднения отличается от разфокусированного изображения • Точка света, наблюдаемая с расфокусированного объектива, выглядит как кружок света, а усреднение дает квадратик Source: D. Forsyth
  • 71. Сглаживание • Точка света, наблюдаемая с расфокусированного объектива, выглядит как кружок света, а усреднение дает квадратик • Другой способ: взвешиваем вклад пикселей по окрестности с учетом близости к центру: “fuzzy blob” Slide by S. Lazebnik
  • 72. Ядро фильтра гаусса 0.003 0.013 0.022 0.013 0.003 0.013 0.059 0.097 0.059 0.013 0.022 0.097 0.159 0.097 0.022 0.013 0.059 0.097 0.059 0.013 0.003 0.013 0.022 0.013 0.003 5 x 5,  = 1 Эмпирика: полуразмер фильтра равен 3σ Source: C. Rasmussen
  • 74. Маленькая экскурсия к Фурье + Низкие частоты Высокие частоты Фильтр Гаусса – фильтр низких частот
  • 75. Подавление гауссова шума Сглаживание фильтрами большого радиуса подавляет шум, но размывает изображение Slide by S. Lazebnik
  • 76. Подавление шума «соль и перец» 3x3 5x5 7x7 Чем результат плох? Slide by S. Lazebnik
  • 77. Медианный фильтр • Выбор медианы из выборки пикселей по окрестности данного • Является ли фильтр линейным? Source: K. Grauman
  • 78. Медианный фильтр Salt-and-pepper noise Median filtered MATLAB: medfilt2(image, [h w]) Source: M. Hebert
  • 79. Медианный фильтр Результат применения медианного фильтра с радиусом в 7 пикселей к изображению с шумом и артефактами в виде тонких светлых окружностей.
  • 80. Выделение краев • Задача: Выделить резкие изменения (разрывы) изображения • Интуитивно понятно, что основная информация в картинке содержится как раз в краях (границах) • Компактное представление • Соответствует устройству мозга • Идеал: рисунок художника (но артист уже пользуются своими знаниями об объектах) Source: D. Lowe
  • 81. Откуда берутся края Резкое изменение нормали поверхности Резкое изменение глубины Резкое изменение цвета поверхности Резкое изменение освещеенности Резкое изменение = «разрыв» • Существует множество причин формирования краев на изображении Source: Steve Seitz
  • 82. Описание «края» • Край – это точка резкого изменения значений функции интенсивности изображения Функция интенсивности изображение (строка изображения) 1ая производная Края соответствуют экстремумам производной Slide by S. Lazebnik
  • 83. Градиент изображения • Градиент изображения: • Градиент направлен в сторону наибольшего изменения интенсивности Направления градиента задается как: • Как направление градиента соответствует направлению края? • Сила края задается величиной (нормой) градиента: Source: Steve Seitz
  • 84. Дифференцирование и свёртка •Для функции 2х • Разностная производная: переменных, f(x,y): f f xn1 , y  f xn , y  f  f x   , y f x, y  x x  lim    x  0     • Можно показать, что её можно реализовать свёрткой -1 1 Простейший фильтр Source: D. Forsyth, D. Lowe
  • 85. Вычисление градиента яркости Семейство методов основано на приближенном вычисление градиента, анализе его направления и абсолютной величины. Свертка по функциям:  - 1  1  1  -1 0 1  -1 2 1   -1 0 1  1 0 0 1 0 0 0 0 0 1 0 1 0 0  2 0 2  1  1  0      1 2 1   1 0  1 1 1 1   1  0 1      Робертса Превитт Собеля Математический смысл – приближенное вычисление производных по направлению
  • 86. Карта силы краев Примеры: Робертса Превитт Собеля
  • 87. Влияние шума • Рассмотрим строку или столбец изображения • Интенсивность от положения можно рассматривать как сигнал Край исчез Source: S. Seitz
  • 88. Влияние шума • Разностные производные очень чувствительны к шуму • Зашумленные пиксели отличаются от соседей • Чем сильнее шум, тем выше отклик • Сглаживание • Сглаживание делает все пиксели (зашумленные?) чуть более похожими на соседей Source: D. Forsyth
  • 89. Предобработка (сглаживание) f g f*g d ( f  g) dx d • Для поиска краев ищем пики в: ( f  g) dx Source: S. Seitz
  • 90. Свойства свертки • Операции свертки и дифференцирования ассоциативны: d d ( f  g)  f  g • Это экономит 1 операцию: dx dx f d g dx d f  g dx Source: S. Seitz
  • 91. Производная фильтра Гаусса * [1 -1] = Slide by S. Lazebnik
  • 92. Производная фильтра Гаусса x-direction y-direction Slide by S. Lazebnik
  • 93. Сглаживание и локализация Применим сглаженные производные разного размера: 1 pixel 3 pixels 7 pixels Сглаженные производные подавляют шум, но размывают края. Плюс края находится на разных «масштабах» Source: D. Forsyth
  • 94. Разработка детектора краев • Критерии качества детектора: • Good detection: оптимальный детектор должен минимизировать ошибки 1 и 2го родов (ложные края и пропущенные края) • Точная локализация: найденный край должен быть как можно ближе к истинному краю • Единственный отклик: детектор должен выдавать одну точку для одной точки истинного края, т.е. локальных максимум вокруг края должно быть как можно меньше Source: L. Fei-Fei
  • 95. Выделение краев  Вычисление градиента – это еще не всё… Исходное изображение Карта силы градиента  Чего не хватает?  Точности – края «толстые» и размытые  Информации о связности
  • 96. Детектор Canny 1. Свертка изображения с ядром – производной от фильтра гаусса 2. Поиск значения и направления градиента 3. Выделение локальных максимумов (Non-maximum suppression) • Утоньшение полос в несколько пикселей до одного пикселя 4. Связывание краев и обрезание по порогу (гистерезис) • Определяем два порога: нижний и верхний • Верхний порог используем для инициализации кривых • Нижний порог используем для продолжения кривых • MATLAB: edge(image, ‘canny’) J. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986. Source: D. Lowe, L. Fei-Fei
  • 97. Пример • Исходное изображение (Lena) Slide by S. Lazebnik
  • 98. Пример Норма градиента Slide by S. Lazebnik
  • 99. Пример Отсечение по порогу Slide by S. Lazebnik
  • 100. Пример Утоньшение (non-maximum suppression) Slide by S. Lazebnik
  • 101. Поиск локальных максимумов Максимум достигается в q, если значение больше p и r. Значения в p и r интерполируем. Source: D. Forsyth
  • 102. Связывание точек Пусть отмеченная точка – край. Строим касательную к границе (нормаль к направлению градиента) и используем ее для предсказания новой точки (это либо s либо r). Source: D. Forsyth
  • 103. Отсечение по порогу • Проверяем точку, чтобы значение градиента было выше порога • Используем гистерезис – Большой порог для начала построения кривой и низкий порог для продолжения края (связывания) Source: S. Seitz
  • 104. Эффект гистерезиса Исходное изображение Высокий порог Низкий порог Порог по гистерезису (сильные края) (слабые края) Source: L. Fei-Fei
  • 105. Влияние  (Размер ядра размытия) original Canny with Canny with Выбор  зависит от задачи • большое  - поиск крупных границ • маленькое  - выделение мелких деталей Source: S. Seitz
  • 106. Ограничения детектора Canny Source: Martin et al. 2003
  • 107. Признаки изображения Какие признаки пикселя мы научились вычислять? • Яркость • Цвет • Градиент и его направление • Края (Edges) Какие ещё признаки использует человек для выделения объектов и анализа изображения?
  • 108. Пример Видите отдельные области? Image source: Landy & Graham (2004)
  • 109. «Текстура» Image source: Landy & Graham (2004)
  • 110. «Текстура» Image source: Landy & Graham (2004)
  • 111. «Текстура» Типичный пример текстурного шаблона для исследований психофизиологоического восприятия изображений Image source: Landy & Graham (2004)
  • 112. Текстура • Это типичные примеры текстурных шаблонов для исследований психофизиологоического восприятия изображений • Человек явно использует не только яркость и цвет, но и ориентацию краёв (градиентов изображения), их распределение, для анализа изображений Image source: VPfaCGP Fig 8.5
  • 113. «Простые клетки» V1 • В первичной визуальной коре головного мозга есть клетки, чувствительные к краям определенной ориентации • Для каждой области есть набор таких клеток, чувствительные к краям разной ориентации
  • 114. Анализ текстуры • Выберем фильтр, чувствительный к краю определенной ориентации • Результат фильтрации сгладим • Будут «подсвечены» области, содержащие текстуру с краями заданной ориентации Pietro Perona and Jitendra Malik «Detecting and Localizing edges composed of steps, peaks and roofs», ICCV 1990
  • 115. Банки фильтров • Возьмём теперь несколько фильтров разного масштаба и ориентации • Такой набор называют «банк фильтров» • Каждый пиксель изображения после обработки банком фильтров даёт вектор признаков • Этот вектор признаков эффективно описывает локальную текстуру окрестности пикселя • Активно используется в сегментации, распознавании изображений и т.д.
  • 116. Модель «back pocket» • Такие модели текстуры называют «back pocket» • Модель «биологически возможна» • По подобным моделям опубликовано много работ. Ввод После 1 этапа После 2 этапа Выход Image source: Landy & Graham (2004)
  • 117. Пример, Bergen & Adelson (1988)
  • 119. Форма из текстуры • Человек интуитивно считает текстуру изотропной, т.е. с постоянными свойствами на поверхности объекта • Shape from texture: Исходя из предположения об изотропности шаблона текстуры, можно определить наклон поверности Image source: VPfaCGP Fig 8.7
  • 120. Резюме • Глобальная коррекция изображения • Локальная фильтрация изображения • Вычисление градиента • Выделение краёв на изображении • Текстура и текстурные признаки