Computer vision 2013 — различия между версиями
(→Лекции) |
|||
(не показано 11 промежуточных версий 2 участников) | |||
Строка 5: | Строка 5: | ||
== Лекции == | == Лекции == | ||
[https://docs.google.com/file/d/0ByEzmeJ-IkqAVmh4QkJtUUVWTU0/edit?usp=sharing Python + OpenCV] | [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)] | ||
== Домашние задания == | == Домашние задания == | ||
Строка 22: | Строка 37: | ||
Видео для тестирования алгоритма стабилизации (также можно пробовать на видео из презентации): | Видео для тестирования алгоритма стабилизации (также можно пробовать на видео из презентации): | ||
https://docs.google.com/file/d/0ByEzmeJ-IkqAYWpkVFkwN1d3eEE/edit?usp=sharing | 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
Лектор -
Практика -
Лекции
Видеозаписи распространяются с ограниением
Видео 1.1 (см. комментарии)
Видео 2.1
Видео 2.2
Видео 3.0
Видео 3.1
Видео 3.2
Видео 4.1
Видео 4.2
Видео 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 подход
Лекция 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.