Computer vision 2013 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: «Лектор - Практика - == Лекции == == Домашние задания == == Список литературы == == Ссылки ==»)
 
 
(не показано 15 промежуточных версий 3 участников)
Строка 4: Строка 4:
  
 
== Лекции ==
 
== Лекции ==
 +
[https://docs.google.com/file/d/0ByEzmeJ-IkqAVmh4QkJtUUVWTU0/edit?usp=sharing Python + OpenCV]
 +
 +
<br/>
 +
<i>Видеозаписи распространяются с ограниением</i> <br/>
 +
[http://vk.com/video11773921_166274510 Видео 1.1 (см. комментарии)]
 +
<br/>
 +
[http://vk.com/video11773921_166334522 Видео 2.1]
 +
[http://vk.com/video11773921_166334830 Видео 2.2]
 +
<br/>
 +
[http://vk.com/video11773921_166400367 Видео 3.0]
 +
[http://vk.com/video11773921_166400346 Видео 3.1]
 +
[http://vk.com/video11773921_166400685 Видео 3.2]
 +
<br/>
 +
[http://vk.com/video11773921_166469493 Видео 4.1]
 +
[http://vk.com/video11773921_166469856 Видео 4.2]
 +
[http://vk.com/video11773921_166469865 Видео 4.3 (Темы практик, public)]
  
 
== Домашние задания ==
 
== Домашние задания ==
 +
 +
=== Задача по определению движения: ===
 +
# Посчитать фон (варианты: среднее по всем кадрам, скользящее среднее, фиксированный кадр)
 +
# Вычислить маску для движения ( |кадр - фон| > T )
 +
# Применить cv::dilate для пост-обработки маски, изучить, что делает данный оператор.
 +
# Найти на каждом кадре движ. объекты при помощи поиска связанных областей (cv::floodFill)
 +
#(*) Сопоставить объекты на соседних кадрах между собой при помощи http://en.wikipedia.org/wiki/Hungarian_algorithm на основе расстояния м\д центрами масс
 +
 +
Тестовые видео брать отсюда:
 +
http://iselab.cvc.uab.es/outdoor-cams
 +
 +
Также можно пробовать на http://www.cvc.uab.es/~bagdanov/master/videos.html (Video surveillance sequences)
 +
 +
Видео для тестирования алгоритма стабилизации (также можно пробовать на видео из презентации):
 +
https://docs.google.com/file/d/0ByEzmeJ-IkqAYWpkVFkwN1d3eEE/edit?usp=sharing
 +
 +
= Вопросы, которые писал один из студентов =
 +
=== Лекция 1 ===
 +
* Введение. Задачи и проблемы компьютерного зрения.
 +
* Проблемы КЗ: дисторсия, виды шумов.
 +
* Соль с перцем, гаусовский шум.
 +
* Линейный фильтр.
 +
 +
=== Лекция 2 ===
 +
''Рассказ про Python+OpenСV (не представляет теор. интереса)''
 +
 +
=== Лекция 3 ===
 +
* Шумы: optical blur, motion blur, spatial quantization, additive intesity noise.
 +
* Свертка. Свертка дискретная. Box фильтр. Медианный фильтр.
 +
* Производные изображения.
 +
* Оператор Лапласа.
 +
** Конечно-разностная схема для оп. Лапласа.
 +
** Матрицы инвар. к поворотам.
 +
** Повышение резкости.
 +
* Повышение резкости с помощью вычитания смазанного изображения.
 +
* Преобразование Фурье. Дискретное преобразование Фурье.
 +
** Низкочасточный фильтр.
 +
** Свойства преобразования.
 +
** Теорема о свертке.
 +
** Восстановление изображения.
 +
* Винеровский фильтр
 +
 +
http://aco.ifmo.ru/el_books/image_processing/
 +
 +
=== Лекция 4 ===
 +
* Шум метода фильтрации.
 +
* Гауссовский фильтр.
 +
* Фильтр Ярославкого (Билатеральный)
 +
* Анизатропный фильтр
 +
* Total variation
 +
* Non-local means
 +
* Метрики оценки шума метода. PSNR
 +
* Block Matching and 3d filtering
 +
** Цветная фильтрация и видео
 +
* Вариационный метод восстановления изображения
 +
 +
http://courses.graphicon.ru/files/courses/vision/2011/lectures/cv2011_04_representation.pdf
 +
 +
=== Лекция 5 ===
 +
* Пирамида гауссианов
 +
** Восстановление изображения по пирамиде.
 +
** Возможность локальной обработки изображения.
 +
** Пирамиды как фильтр нижних частот.
 +
* Обзор вейвлет разложений.
 +
** Локальность представления.
 +
** Пример детектирования текстуры дерева.
 +
* Детектирование "особенностей" изображения
 +
** Уголки, критерии уголка
 +
** Разница гауссианов в пирамиде.
 +
* SIFT дескриптор. Построение. Свойства.
 +
* Дескриптор HOG (Histogram of oriented gradients)
 +
* Детекторы дескрипторов, kd-деревья для разбиения дискрипторов.
 +
 +
http://robocraft.ru/forum/viewtopic.php?t=227
 +
 +
=== Лекция 6 ===
 +
* Энтропия, Избыточность, связь с сжатием.
 +
* Код Хффмана. Арифметическое кодирование, LZW.
 +
* Сжатие картинок.
 +
* MLP кодирование.
 +
* Восприятие человека. Сжатие с потерями.
 +
** Прогрессирующее декодирование. Пирамиды. Частоты.
 +
* Метрики ошибок. PSNR.
 +
* Декореляция изображений. Умножение на ортготональную матрицу.
 +
* Блочное сжатие. Обзор JPEG. Квантизация.
 +
* Обзор сжатия видео.
 +
 +
http://habrahabr.ru/post/180803/
 +
 +
=== Лекция 7 ===
 +
* Контуры
 +
** Определение детекции краев. Применение.
 +
** Обзор детекторов краев.
 +
** Детектор контуров. Кодирование и обработка контуров.
 +
** Выделение линий. Hough transform.
 +
* Проективная геометрия.
 +
** История и польза.
 +
** Классы эквивалентности.
 +
** Соответствие векторов R^n и R^(n+1).
 +
** Точки и направления.
 +
** Соответсвие прямых в R^n и точек в R^(n+1).
 +
** Смысл векторного произведения проективных векторов.
 +
** Проективные преобразования
 +
*** Гомография
 +
*** Нахождения гомографии по точкам
 +
 +
http://habrahabr.ru/post/126269/
 +
 +
=== Лекция 8 ===
 +
* Нахождение гомографии (детально).
 +
* Нахождение гомографии с шумом.
 +
** Минимизация расстояний
 +
** Ошибка перепроктирования
 +
* Итеративный метод оптимизации
 +
** Функция стоимости, параметризация.
 +
** Градиентный спуск.
 +
* Проблема неправильного матчинга точек (outliers)
 +
** Идея метода RanSaC
 +
* Проективная модель камеры.
 +
** Система координат камеры.
 +
** Проектирование на плоскость камеры.
 +
*** Матрица проектирования.
 +
*** Проектирование с учетом измерений в пикселях.
 +
*** Учет переноса и поворота камеры.
 +
 +
=== Лекция 9 ===
 +
* Внутренние и внешние параметры камеры, их матрицы.
 +
* Алгоритм RanSaC
 +
* Модель мира.
 +
** Проективная камера и плоскость в мире.
 +
** Линия горизонта.
 +
** Точка зенита.
 +
** Угол между двумя прямыми
 +
** Расстояние между предметами
 +
* Определение положения камеры
 +
 +
http://courses.cs.washington.edu/courses/cse576/08sp/lectures/Projective.ppt
 +
 +
=== Лекция 10 ===
 +
* Модель двух камер
 +
* Нахождение матрицы проекции
 +
** Запись системы с неизвестными с нормой 1.
 +
** Обзор SVD разложения.
 +
* Триангуляция и определение точки в пространстве.
 +
* Ошибка регистрации, максимально правдоподобная гомография
 +
* Разница градиентного метода и метода НЬютона.
 +
* Метод 2d реконструкции
 +
** эпиполярная линия и эпиполюс (эпипол)
 +
** Матрица вектроного произведения
 +
** Essential matrix
 +
 +
http://habrahabr.ru/post/130300/
 +
 +
=== Лекция 11 ===
 +
* Нахождение взаимного положения камер
 +
** Свойства эпипола
 +
** Фундаментальная матрица
 +
* Возможные положения второй камеры
 +
* Выражение essential matrix через матрицы двух камер
 +
* Связь essential matrix и фундаментальной матрицы
 +
* Положение точки в пространстве по двум проекциям
 +
* Machine Learning
 +
** Определение
 +
** C учителем, без учителя
 +
 +
http://rudocs.exdat.com/docs/index-375716.html
 +
 +
http://www.robots.ox.ac.uk/~vgg/hzbook/hzbook1/HZepipolar.pdf
 +
 +
''Лекция похожа на предыдущую и также непонятна. Читать лучше ссылки выше.''
 +
 +
=== Лекция 12 ===
 +
* Ректификация изображений
 +
* Disparity
 +
** Вычисление локальными методами
 +
** Глобальными
 +
** Динамическое программирование
 +
** Scanline подход
 +
 +
http://stackoverflow.com/questions/17607312/difference-between-disparity-map-and-disparity-image-in-stereo-matching
 +
 +
 +
=== Лекция 13 ===
 +
* Постановка задачи обучения с учителем
 +
** Регрессия, классификация
 +
* Персептрон. Определение. Обучение
 +
* Feasibility of learning (почему обучение возможно)
 +
* Неравенство Хёфдинга (Hoeffding's)
 +
** Применение в обучении
 +
** Классификаторы и дихотомии
 +
* Линейные классификаторы.
 +
* Breakpoint.
 +
* VC dimension.
 +
* Input\Output ошибка, bias, genaralization error.
 +
* Выбор размерности решения в зависимости от тестовых данных.
 +
* Пример сведения классификатора "круг" к линейному классификатору.
 +
* Cascade Classification
 +
 +
http://work.caltech.edu/library/053.html
 +
 +
=== Лекция 14 ===
 +
* Задачи распозования лиц и pedestrian detection.
 +
* Haar-like features.
 +
** Идея детектирование по частям.
 +
* AdaBoost. Weak classifier.
 +
** Случай с невыпуклыми множествами
 +
* Histograms of Oriented Gradients
 +
* SVM. Hard\Soft margin classifier. Нелинейный SVM.
  
 
== Список литературы ==
 
== Список литературы ==
  
 
== Ссылки ==
 
== Ссылки ==

Текущая версия на 10:59, 11 января 2014

Лектор -

Практика -

Лекции

Python + OpenCV


Видеозаписи распространяются с ограниением
Видео 1.1 (см. комментарии)
Видео 2.1 Видео 2.2
Видео 3.0 Видео 3.1 Видео 3.2
Видео 4.1 Видео 4.2 Видео 4.3 (Темы практик, public)

Домашние задания

Задача по определению движения:

  1. Посчитать фон (варианты: среднее по всем кадрам, скользящее среднее, фиксированный кадр)
  2. Вычислить маску для движения ( |кадр - фон| > T )
  3. Применить cv::dilate для пост-обработки маски, изучить, что делает данный оператор.
  4. Найти на каждом кадре движ. объекты при помощи поиска связанных областей (cv::floodFill)
  5. (*) Сопоставить объекты на соседних кадрах между собой при помощи http://en.wikipedia.org/wiki/Hungarian_algorithm на основе расстояния м\д центрами масс

Тестовые видео брать отсюда: http://iselab.cvc.uab.es/outdoor-cams

Также можно пробовать на http://www.cvc.uab.es/~bagdanov/master/videos.html (Video surveillance sequences)

Видео для тестирования алгоритма стабилизации (также можно пробовать на видео из презентации): https://docs.google.com/file/d/0ByEzmeJ-IkqAYWpkVFkwN1d3eEE/edit?usp=sharing

Вопросы, которые писал один из студентов

Лекция 1

  • Введение. Задачи и проблемы компьютерного зрения.
  • Проблемы КЗ: дисторсия, виды шумов.
  • Соль с перцем, гаусовский шум.
  • Линейный фильтр.

Лекция 2

Рассказ про Python+OpenСV (не представляет теор. интереса)

Лекция 3

  • Шумы: optical blur, motion blur, spatial quantization, additive intesity noise.
  • Свертка. Свертка дискретная. Box фильтр. Медианный фильтр.
  • Производные изображения.
  • Оператор Лапласа.
    • Конечно-разностная схема для оп. Лапласа.
    • Матрицы инвар. к поворотам.
    • Повышение резкости.
  • Повышение резкости с помощью вычитания смазанного изображения.
  • Преобразование Фурье. Дискретное преобразование Фурье.
    • Низкочасточный фильтр.
    • Свойства преобразования.
    • Теорема о свертке.
    • Восстановление изображения.
  • Винеровский фильтр

http://aco.ifmo.ru/el_books/image_processing/

Лекция 4

  • Шум метода фильтрации.
  • Гауссовский фильтр.
  • Фильтр Ярославкого (Билатеральный)
  • Анизатропный фильтр
  • Total variation
  • Non-local means
  • Метрики оценки шума метода. PSNR
  • Block Matching and 3d filtering
    • Цветная фильтрация и видео
  • Вариационный метод восстановления изображения

http://courses.graphicon.ru/files/courses/vision/2011/lectures/cv2011_04_representation.pdf

Лекция 5

  • Пирамида гауссианов
    • Восстановление изображения по пирамиде.
    • Возможность локальной обработки изображения.
    • Пирамиды как фильтр нижних частот.
  • Обзор вейвлет разложений.
    • Локальность представления.
    • Пример детектирования текстуры дерева.
  • Детектирование "особенностей" изображения
    • Уголки, критерии уголка
    • Разница гауссианов в пирамиде.
  • SIFT дескриптор. Построение. Свойства.
  • Дескриптор HOG (Histogram of oriented gradients)
  • Детекторы дескрипторов, kd-деревья для разбиения дискрипторов.

http://robocraft.ru/forum/viewtopic.php?t=227

Лекция 6

  • Энтропия, Избыточность, связь с сжатием.
  • Код Хффмана. Арифметическое кодирование, LZW.
  • Сжатие картинок.
  • MLP кодирование.
  • Восприятие человека. Сжатие с потерями.
    • Прогрессирующее декодирование. Пирамиды. Частоты.
  • Метрики ошибок. PSNR.
  • Декореляция изображений. Умножение на ортготональную матрицу.
  • Блочное сжатие. Обзор JPEG. Квантизация.
  • Обзор сжатия видео.

http://habrahabr.ru/post/180803/

Лекция 7

  • Контуры
    • Определение детекции краев. Применение.
    • Обзор детекторов краев.
    • Детектор контуров. Кодирование и обработка контуров.
    • Выделение линий. Hough transform.
  • Проективная геометрия.
    • История и польза.
    • Классы эквивалентности.
    • Соответствие векторов R^n и R^(n+1).
    • Точки и направления.
    • Соответсвие прямых в R^n и точек в R^(n+1).
    • Смысл векторного произведения проективных векторов.
    • Проективные преобразования
      • Гомография
      • Нахождения гомографии по точкам

http://habrahabr.ru/post/126269/

Лекция 8

  • Нахождение гомографии (детально).
  • Нахождение гомографии с шумом.
    • Минимизация расстояний
    • Ошибка перепроктирования
  • Итеративный метод оптимизации
    • Функция стоимости, параметризация.
    • Градиентный спуск.
  • Проблема неправильного матчинга точек (outliers)
    • Идея метода RanSaC
  • Проективная модель камеры.
    • Система координат камеры.
    • Проектирование на плоскость камеры.
      • Матрица проектирования.
      • Проектирование с учетом измерений в пикселях.
      • Учет переноса и поворота камеры.

Лекция 9

  • Внутренние и внешние параметры камеры, их матрицы.
  • Алгоритм RanSaC
  • Модель мира.
    • Проективная камера и плоскость в мире.
    • Линия горизонта.
    • Точка зенита.
    • Угол между двумя прямыми
    • Расстояние между предметами
  • Определение положения камеры

http://courses.cs.washington.edu/courses/cse576/08sp/lectures/Projective.ppt

Лекция 10

  • Модель двух камер
  • Нахождение матрицы проекции
    • Запись системы с неизвестными с нормой 1.
    • Обзор SVD разложения.
  • Триангуляция и определение точки в пространстве.
  • Ошибка регистрации, максимально правдоподобная гомография
  • Разница градиентного метода и метода НЬютона.
  • Метод 2d реконструкции
    • эпиполярная линия и эпиполюс (эпипол)
    • Матрица вектроного произведения
    • Essential matrix

http://habrahabr.ru/post/130300/

Лекция 11

  • Нахождение взаимного положения камер
    • Свойства эпипола
    • Фундаментальная матрица
  • Возможные положения второй камеры
  • Выражение essential matrix через матрицы двух камер
  • Связь essential matrix и фундаментальной матрицы
  • Положение точки в пространстве по двум проекциям
  • Machine Learning
    • Определение
    • C учителем, без учителя

http://rudocs.exdat.com/docs/index-375716.html

http://www.robots.ox.ac.uk/~vgg/hzbook/hzbook1/HZepipolar.pdf

Лекция похожа на предыдущую и также непонятна. Читать лучше ссылки выше.

Лекция 12

  • Ректификация изображений
  • Disparity
    • Вычисление локальными методами
    • Глобальными
    • Динамическое программирование
    • Scanline подход

http://stackoverflow.com/questions/17607312/difference-between-disparity-map-and-disparity-image-in-stereo-matching


Лекция 13

  • Постановка задачи обучения с учителем
    • Регрессия, классификация
  • Персептрон. Определение. Обучение
  • Feasibility of learning (почему обучение возможно)
  • Неравенство Хёфдинга (Hoeffding's)
    • Применение в обучении
    • Классификаторы и дихотомии
  • Линейные классификаторы.
  • Breakpoint.
  • VC dimension.
  • Input\Output ошибка, bias, genaralization error.
  • Выбор размерности решения в зависимости от тестовых данных.
  • Пример сведения классификатора "круг" к линейному классификатору.
  • Cascade Classification

http://work.caltech.edu/library/053.html

Лекция 14

  • Задачи распозования лиц и pedestrian detection.
  • Haar-like features.
    • Идея детектирование по частям.
  • AdaBoost. Weak classifier.
    • Случай с невыпуклыми множествами
  • Histograms of Oriented Gradients
  • SVM. Hard\Soft margin classifier. Нелинейный SVM.

Список литературы

Ссылки