
- •Лекция 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?
Алгоритм nms (non maximum suppression) в контексте нейросетевых архитектур детекции
Будучи двухмерным вектором, градиент яркости в каждой точке характеризуется длиной и направлением. До сих пор при поиске граничных точек мы использовали только длину вектора. Проблемы, которые при этом возникли, а именно неопределенность порога и утолщение линий, можно во многом решить, опираясь на направление градиента.
Направление градиента есть направление максимального возрастания функции. На этом основана процедура подавления немаксимумов. При этой процедуре для каждой точки рассматривается отрезок длиной в несколько пикселей, ориентированный по направлению градиента и с центром в рассматриваемом пикселе. Пиксель считается максимальным тогда и только тогда, когда длина градиента в нем максимальна среди всех длин градиентов пикселей отрезка. Граничными можно признать все максимальные пиксели с длинами градиента больше некоего порога.
Градиент яркости в каждой точке перпендикулярен границе, поэтому после подавления немаксимумов жирных линий не остается: на каждом перпендикулярном сечении жирной линии останется один пиксель с максимальной длиной градиента.
Алгоритм нахождения границ состоит из пяти отдельных шагов:
Сглаживание. Размытие изображения для удаления шума.
Поиск градиентов. Границы отмечаются там, где градиент изображения приобретает максимальное значение.
Подавление не-максимумов. Только локальные максимумы отмечаются как границы.
Двойная пороговая фильтрация. Потенциальные границы определяются порогами.
Трассировка области неоднозначности. Итоговые границы определяются путём подавления всех краёв, несвязанных с определенными (сильными) границами.
Что такое задача детекции объектов на изображении? Чем одностадийная детекция отличается от двухстадийной? Опишите архитектуру Mask rcnn. Чем она отличается от Faster rcnn?
Задача детекции – найти объекты, классифицировать и указать их размеры. Задача, в рамках которой необходимо выделить несколько объектов на изображении посредством нахождения координат их ограничивающих рамок и классификации этих ограничивающих рамок из множества заранее известных классов.
Идея двухстадийной детекции (Faster-RCNN, Mask-RCNN):
Region proposal network - находит координаты интересных областей и их размеры (по-сути YOLO без классов, с non maximum suppression)
Per Region network – рассматривает полученные области по одной,
классифицирует их и уточняет размеры.
Faster R-CNN
Самым узким местом нейросети оказался механизм генерации регионов-кандидатов. В 2015 команда из Microsoft Research смогла сделать этот этап значительно более быстрым. Они предложили вычислять регионы не по изначальному изображению, а опять же по карте признаков, полученных из CNN. Для этого был добавлен модуль под названием Region Proposal Network (RPN). Новая архитектура целиком выглядит следующим образом:
по извлечённым CNN признакам скользят «мини-нейросетью» с небольшим (3х3) окном. Полученные с её помощью значения передаются в два параллельных полносвязанных слоя: box-regression layer (reg) и box-classification layer (cls). Выходы этих слоёв базируются на так называемых anchor-ах: k рамках для каждого положения скользящего окна, имеющих разные размеры и соотношения сторон. Reg-слой для каждого такого anchor-а выдаёт по 4 координаты, корректирующие положение охватывающей рамки; cls-слой выдаёт по два числа – вероятности того, что рамка содержит хоть какой-то объект или что не содержит.
Mask R-CNN
Mask R-CNN развивает архитектуру Faster R-CNN путём добавления ещё одной ветки, которая предсказывает положение маски, покрывающей найденный объект, и, таким образом решает уже задачу instance segmentation. Маска представляет собой просто прямоугольную матрицу, в которой 1 на некоторой позиции означает принадлежность соответствующего пикселя объекту заданного класса, 0 — что пиксель объекту не принадлежит.