
- •Лекция 1. Введение в компьютерное зрение
- •1. История фотографии
- •2. Что такое цифровая фотография, пзс матрица
- •3. Характеристики объектива
- •Цветовое пространство lab, зачем нужна метрика ciede2000?
- •3. Особенности восприятия света человеком, цветовое пространство xyz
- •8. Цветовое пространство cmyk
- •9. Что такое цветовой охват
- •10. Что такое OpenCv
- •6. Цветовое пространство hsv
- •7. Цветовое пространство yuv
- •8. Что такое размытие изображения, какие виды размытия бывают и где их применяют
- •9. Что такое оператор Собеля и зачем он нужен
- •10. Что такое оператор Лапласа и зачем он нужен
- •11. Что такое нелинейные фильтры, приведите примеры
- •12. Что такое медиана в контексте операций над изображениями
- •13. Что такое билатеральный фильтр и зачем он нужен
- •14. Что такое компоненты связности и морфология в контексте операций над изображениями
- •Лекция 4. Манипуляции с изображениями
- •1. Что такое свертка
- •Преобразование Фурье в контексте манипуляции с изображениями
- •4. Свойства преобразования Фурье, применение теоремы о свертке в контексте манипуляции с изображениями
- •5. Что такое спектр изображения и частотные фильтры? Дайте примеры их применения. Какая связь между частотными фильтрами и свертками?
- •Фильтры низких частот.
- •Высокочастотные фильтры.
- •1. Абсолютный фильтр
- •9. Увеличение изображения - билинейная и бикубическая интерполяция
- •10. Уменьшение изображения - оператор уменьшения
- •11. Что такое пирамида изображений. Что такое пирамида Гаусса и пирамида Лапласа? Как делается блендинг изображений
- •Геометрические преобразования.
- •Лекция 5. Особые точки и выделение границ Особые точки, интуитивное понятие особой точки.
- •3. Алгоритм Харриса для нахождения углов
- •Sift детектор особых точек.
- •Surf-дескриптор.
- •Brief дескриптор.
- •Orb алгоритм
- •Сопоставление дескрипторов
- •Алгоритм выделение границ Canny.
- •Лекция 6. Сверточные нейронные сети Что такое нейронная сеть: слои, функции активации
- •Что такое нейронная сеть: слои, функции активации
- •Объясните терминологию обучения нейронных сетей: что такое эпоха, шаг, скорость обучения и размер батча? Что такое функция потерь и какие они бывают?
- •Алгоритм стохастического градиентного спуска для обучения нейронных сетей
- •Как инициализируют веса в нейронных сетях? Что такое проблема затухающих и взрывающихся градиентов? Что такое инициализация Хе (Кайминга) и Ксавье?
- •Что такое сверточный слой? Как он работает и какие параметры имеет?
- •Размеры входного и выходного изображения
- •Что такое нормализация по мини-батчам (batch normalization) и как она работает
- •Что такое дропаут и как он работает
- •Задача классификации и функции потерь для этой задачи в контексте обучения нейронных сетей
- •Опишите типичную архитектуру сверточной нейронной сети
- •Слой свёртки
- •Слой активации
- •Пулинг или слой субдискретизации
- •Полносвязная нейронная сеть
- •Перечислите несколько архитектур сверточных нейронных сетей, разберите одну подробно, например ResNet
- •Что такое transfer learning и как его осуществляют в контексте классификации изображений?
- •Лекция 7. Сегментация и детекция Что такое задача сегментации? Какие бывают виды сегментации?
- •Опишите что такое полносверточная нейронная сеть (fully convolutional neural network)
- •Что такое транспонированная свертка и для чего она нужна? Какие у нее есть альтернативы?
- •Что такое u-net? Опишите архитектуру и приведите примеры ее современных вариаций. Как обучают u-net?
- •Что такое задача детекции объектов на изображении? Опишите архитектуру yolo. Как обучают yolo?
- •Что такое якоря в контексте архитектур yolo, Faster и Mask rcnn?
- •Алгоритм nms (non maximum suppression) в контексте нейросетевых архитектур детекции
- •Что такое задача детекции объектов на изображении? Чем одностадийная детекция отличается от двухстадийной? Опишите архитектуру Mask rcnn. Чем она отличается от Faster rcnn?
- •Что такое RoI pooling и чем он отличается от RoI align в контексте архитектур Faster rcnn и Mask rcnn?
Sift детектор особых точек.
Метод, позволяющий построить по изображению множество особых точек, которые были бы устойчивы (инвариантны) к:
1. Смещению
2. Повороту
3. Масштабированию
4. Изменению яркости
5. Изменению положения камеры (ракурса)
Алгоритм: метод SIFT подразделяется на этапы:
Детектор DoG (Difference of Gaussian) — определение и характерного масштаба особенности
После построения пирамид дело остаётся за малым. Будем считать точку особой, если она является локальным экстремумом разности гауссианов. Для поиска экстремумов будем использовать метод, схематично изображенный на рисунке
Если значение разности гауссианов в точке, помеченной крестиком, больше (меньше) всех значений в точках, помеченных кругляшками, то эта точка считается точкой экстремума
В каждом изображении из пирамиды DoG ищутся точки локального экстремума. Каждая точка текущего изображения DoG сравнивается с её восьмью соседями и с девятью соседями в DoG, находящихся на уровень выше и ниже в пирамиде. Если эта точка больше (меньше) всех соседей, то она принимается за точку локального экстремума.
Уточнение экстремума. Первым делом определяются координаты особой точки с субпиксельной точностью. Это достигается с помощью аппроксимирования функции DoG многочленом Тейлора второго порядка, взятого в точке вычисленного экстремума.
Экстремум многочлена Тейлора находится путем вычисления производной и приравнивания ее к нулю. Все производные вычисляются по формулам конечных разностей. В итоге получаем СЛАУ размерности 3x3, относительно компонент вектора X^.
Если одна из компонент вектора X^ больше 0.5*шаг_сетки_в_этом_направлении, то это означает, что на самом деле точка экстремума была вычислена неверно и нужно сдвинуться к соседней точке в направлении указанных компонент. Для соседней точки все повторяется заново. Если таким образом мы вышли за пределы октавы, то следует исключить данную точку из рассмотрения.
Когда положение точки экстремума вычислено, проверяется на малость само значение DoG в этой точке по формуле
Если эта проверка не проходит, то точка исключается, как точка с малым контрастом.
Наконец, последняя проверка. Если особая точка лежит на границе какого-то объекта или плохо освещена, то такую точку можно исключить из рассмотрения. Эти точки имеют большой изгиб (одна из компонент второй производной) вдоль границы и малый в перпендикулярном направлении. Этот большой изгиб определяется матрицей Гессе H. Для проверки подойдет H размера 2x2.
Ориентация — определение доминантной ориентации особенности по градиентам.
Теперь каждой ключевой точке назначается ориентация для достижения инвариантности к повороту изображения. Окрестности берутся вокруг местоположения ключевой точки в зависимости от масштаба, а величина и направление градиента вычисляются в этой области. Создается гистограмма ориентации с 36 ячейками, охватывающими 360 градусов (она взвешена по величине градиента и гауссово-взвешенному круговому окну с σ равно 1,5-кратному масштабу ключевой точки). Берется самый высокий пик в гистограмме, и любой пик выше 80% от него также считается для вычисления ориентации. Он создает ключевые точки с одинаковым местоположением и масштабом, но в разных направлениях. Это способствует стабильности сопоставления.
4. Составление дескриптора с использованием статистик по направленным градиентам
Детекторы LoG И DoG позволяют определить размер окрестности особой точки в масштабируемых версиях одного и того же изображения.
В методе SIFT дескриптором является вектор. Как и направление ключевой точки, дескриптор вычисляется на гауссиане, ближайшем по масштабу к ключевой точке, и исходя из градиентов в некотором окне ключевой точки. Перед вычислением дескриптора это окно поворачивают на угол направления ключевой точки, чем и достигается инвариантность относительно поворота. Для начала посмотрим на рисунок
Полученный дескриптор нормализуется, после чего все его компоненты, значение которых больше 0.2, урезаются до значения 0.2 и затем дескриптор нормализуется ещё раз. В таком виде дескрипторы готовы к использованию.
5. Сопоставление ключевых точек. Берутся 4 пары точек, случайно для них задается порог расстояния между ними и оценивается насколько какая модель удовлетворяет условию. RANSAC.
Таким образом получаем алгоритм:
1. Свертываем изображение нормализованным фильтром Лаплассиана на разных масштабах
2. Ищем максимум отклика Лаплассиана в 3D (трехмерной окрестности)
Так как сворачивать изображение несколькими фильтрами Лапласа все большего масштаба — трудоемкая задача, была предложена оптимизация этого процесса.
Строится пирамида разрешений изображения, каждый следующий уровень отличается от предыдущего в два раза. Внутри одного уровня сворачиваем фильтрами Гаусса отличающимися масштабом на малое значение. Беря разницу между этими фильтрами, можно получить приближение к Лаплассиану.