
- •Лекция 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?
Brief дескриптор.
Цель создания дескриптора — обеспечить распознавание одинаковых участков изображения, снятых с разных точек зрения, с минимально возможным кол-вом вычислений.
Вычисление
дескриптора в точке p происходит так:
сравниваются значения яркостей точек
в её окрестности, но не всех точек, а
лишь небольшого подмножества точек,
разбитых по парам, координаты которых
распределены случайно (но одинаково
для каждой анализируемой точки p). Если
яркость в некоторой точке
больше, чем яркость в точке
, то i-я компонента дескриптора равна 1,
иначе 0. Перед этим надо сгладить
изображение. В стандартной реализации
используется 256 сравнений, что даёт
длину 64 байт, что лучше, чем 512 байт в
SIFT.
один из лучших способов – выбирать точки случайным образом Гауссовским распределением вокруг центрального пиксела.
Orb алгоритм
Является комбинацией FAST и BRIEF с некоторыми улучшениями. В ORB максимальное кол-во особых точек не более 500 (по умолчанию). Если их больше, то при помощи детектора Харриса удаляются наименее важные.
Для инвариантности к масштабированию алгоритм применяется на пирамиде Гаусса.
Т. к. BRIEF не инвариантен к повороту, предварительно фрагмент вокруг особой точки поворачивается на угол, соответствующий доминирующему направлению градиентного вектора яркости.
1)
Особые точки обнаруживаются при помощи
быстрого древовидного FAST на исходном
изображении и на нескольких изображениях
из пирамиды уменьшенных изображений.
2)
Для обнаруженных точек вычисляется
мера Харриса, кандидаты с низким значением
меры Харриса отбрасываются.
3)
Вычисляется угол ориентации особой
точки. Для этого, сначала вычисляются
моменты яркости для окрестности особой
точки:
Всё это авторы назвали «центроид ориентации». В итоге получаем некоторое направление для окрестности особой точки. 4) Имея угол ориентации особой точки, последовательность точек для бинарных сравнений в дескрипторе BRIEF поворачивается в соответствие с этим углом, например:
Дело в том, что в тот момент, когда мы «доворачиваем» все особые точки до нулевого угла, случайный выбор бинарных сравнений в дескрипторе перестаёт быть случайным. Это приводит к тому, что, во-первых, некоторые бинарные сравнения оказываются зависимыми между собой, во-вторых, их среднее уже не равно 0.5 (1 – светлее, 0 – темнее, когда выбор был случайным, то в среднем было 0.5) и всё это существенно уменьшает способность дескриптора различать особые точки между собой.
Алгоритм поиска «хороших» тестов такой:
Вычисляем результат всех тестов для всех особых точек
Упорядочим всё множество тестов по их дистанции от среднего 0.5
Создадим список, который будет содержать отобранные «хорошие» тесты, назовём список R.
Добавим в R первый тест из отсортированного множества
Берём следующий тест и сравниваем его со всеми тестами в R. Если корреляция больше пороговой, то отбрасываем новый тест, иначе – добавляем.
Повторяем п. 5 пока не наберём нужное число тестов.
Получается, что тесты отбираются так, чтобы, с одной стороны, среднее значение этих тестов было как можно ближе к 0.5, с другой стороны, чтобы корреляция между разными тестами была минимальна.