BSc: IntroductionToComputerVision

From IU
Jump to navigation Jump to search

Компьютерное зрение и обработка видео

Квалификация выпускника: бакалавр
Направление подготовки: 09.03.01 - “Информатика и вычислительная техника”
Направленность (профиль) образовательной программы: Математические основы ИИ
Программу разработал(а): Д.С. Ватолин

1. Краткая характеристика дисциплины

Изучение дисциплины обеспечивает формирование и развитие компетенций обучающихся в области компьютерного зрения и обработки видео, их применение для решения различных прикладных задач в рамках профессиональной деятельности. В ходе освоения дисциплины обучающиеся рассматривают основы и продвинутые методы компьютерного зрения и обработки видео: применение сверточных фильтров в задачах обнаружения границ, сжатие видео, основы 4D-видео, реконструкция 3D-сцен, задачи трекинга и предсказания областей внимания (салиентных областей), а также состязательные атаки на метрики качества изображений/видео и методы защиты от них.

2. Перечень планируемых результатов обучения

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

Общая характеристика результата обучения по дисциплине

Знания: обучающийся получил систематические знания в следующих областях:
  1. Основы компьютерного зрения и обработки изображений: понимание принципов работы с изображениями и видео, включая их сжатие, восстановление, классификацию и сегментацию.
  2. Методы машинного обучения и глубокого обучения: знание алгоритмов и моделей, применяемых для распознавания образов, включая свёрточные нейронные сети.
  3. Алгоритмы детекции границ и объектов: понимание методов поиска границ, линий и объектов на изображениях, включая преобразование Хафа и метод RANSAC.
  4. Методы калибровки камеры, перспективные преобразования изображений.
  5. Принципы создания панорам и 3D-реконструкции: освоение методов сшивки изображений (стичинг) и построения трехмерных моделей сцен.
  6. Методы (метрики) оценки качества изображений и видео. Область их применения, методы состязательных атак на метрики качества и методы защиты от атак.
  7. Концепция карты внимания (салиентности) в контексте визуального восприятия и обработки изображений.
  8. Основы 4D видео.
  9. Теоретические основы задач классификации и детекции, принципы работы Vision Transformer (ViT) и DETR (Detection Transformer).
Умения: обучающийся развил умения в следующих направлениях:
  1. Применение алгоритмов и техник обработки изображений для решения конкретных задач компьютерного зрения с использованием Python.
  2. Выбор корректного алгоритма компьютерного зрения для решения рассмотренных задач компьютерного зрения.
  3. Использование методов машинного и глубокого обучения для распознавания образов, включая настройку и обучение нейросетей.
  4. Реализация алгоритмов детекции границ и объектов для извлечения полезной информации из изображений.
  5. Осуществление процесса калибровки камеры и коррекции дисторсии изображений.
  6. Создание панорам и выполнение 3D-реконструкции сцен на основе набора изображений.
  7. Реализация алгоритмов плотной 3D реконструкции и методов Structure from Motion (SfM).
  8. Анализ и применение стратегий для защиты от атак на метрики качества изображений и видео.
  9. Разработка и реализация алгоритмов трекинга и предсказания движения объектов.
  10. Использование техник выделения салиентных областей на изображениях для улучшения анализа и обработки.
  11. Применение Vision Transformer и DETR для решения задач классификации и детекции объектов.
Навыки (владения): обучающийся овладел следующими навыками:
  1. Программирование на Python для реализации алгоритмов компьютерного зрения и обработки изображений.
  2. Работа с библиотекой OpenCV и другими инструментами для анализа и обработки изображений и видео.
  3. Применение предварительно обученных моделей глубокого обучения для распознавания лиц, текста и объектов на изображениях.

3. Структура и содержание дисциплины


п/п
Наименование раздела
дисциплины
Содержание дисциплины по темам
1. Введение в компьютерное зрение
  • Основные задачи компьютерного зрения
    • Задача классификации
    • Задача детекции объектов
    • Задача детекции ключевых точек
    • Semantic segmentation
    • Instance segmentation
    • Panoptic segmentation
    • Image captioning
    • Задача предсказания глубины
    • Задача трекинга объектов
    • Задача повышения разрешения
    • Inpainting
    • Задача генерации изображений
    • Задача переноса стиля
  • Что такое изображение
    • Особенности человеческой визуальной системы
    • Особенности машинного представления изображения
2. Свертки, алгоритмы детекции границ
  • Математические основы операции свертки
  • Примеры использования сверток в обработке изображений
  • Детектирование объектов и границ: методы и алгоритмы
  • Реализация сверток и операторов для обработки изображений
3. Нейросетевая обработка видео
  • Устройство глаза, восприятие цвета
  • Цветовые пространства
  • Устройство камеры
    • Объектив камеры
    • Виды сенсоров
    • Типичные артефакты съемки
  • Обработка изображений в камере
    • Обработка RAW-кадра
    • Демозаикинг
    • Шумоподавление
    • Цветокоррекция
    • Тональная компрессия
4. Методы сжатия данных
  • Основы сжатия данных без потерь и с потерями
    • Определение энтропии источника
    • Сжатие Хаффмана
    • Арифметическое сжатие
    • PPM
    • Рекуррентные нейросети в задаче сжатия
  • Сжатие изображений
    • JPEG
    • JPEG 2000
  • Нейросетевое сжатие
    • JPEG AI
    • Артефакты нейросетевого сжатия
  • Стандарты видеокодеков
    • Компенсация движения
    • BSQ-rate
5. Введение в реконструкцию 3D-сцен
  • Преобразование Хафа
  • Линейные преобразования изображений
  • Перспективные преобразования изображений
  • RANSAC
  • Реконструкция 3D-сцены
    • SfM (Structure from motion)
    • VO (Visual odometry)
  • Калибровка камеры
6. Реконструкция 3D-сцены
  • Модели камеры
    • Модель рыбьего глаза
    • Камера-обскура
    • Стеноп (пинхол камера)
  • Внутренние (intrinsic) и внешние (extrinsic) парметры камеры
  • Радиальная дисторция
  • Распознавание ключевых точек
    • Детекция углов (Детектор Харриса)
7. Атаки на методы оценки визуального качества изображений/видео
  • Введение в состязательные атаки
  • Состязательные атаки методами черного ящика
  • Состязательные атаки методами белого ящика
  • Бенчмарк устойчивости метрик
8. Методы защиты от атак на методы оценки визуального качества изображений/видео
9. Задача трекинга, предсказание движения
  • Постановка задачи трекинга
  • Single object tracking
  • Online tracking
    • SORT
    • DeepSORT
    • Trackformer
    • CenterTrack
    • PermaTrack
  • Motion prediction
10. 4D-видео
11. Карты внимания (салиентность)
  • Постановка задачи предсказания карт внимания
  • Применение в индустрии
  • Метрики качества
  • Обзор методов для изображений
    • Center Prior
    • MSI-Net
  • Обзор методов для видео
    • TASED-Net
    • UNISAL
    • VINet
12. Архитектура трансформера в задачах компьютерного зрения. ViT и DETR
  • Теоретические основы архитектуры Трансформер
  • Архитектура ViT
  • Архитектура DETR
13. Компьютерное зрение в автономном вождении
14. Мультимодальные модели в компьютерном зрении
  • Задача OCR
  • Задача Image Captioning

4. Методические и оценочные материалы

Задания для практических занятий:


п/п
Наименование раздела
дисциплины (модуля)
Перечень рассматриваемых тем (вопросов)
1. Свертки, алгоритмы детекции границ

Имплементации свертки с разными паддингами (same, no padding)
Имплементация фильтра Собеля

2. Нейросетевая обработка видео

Реализация RAW Imaging Pipeline

3. Методы сжатия данных

Реализация операций изменения размера с помощью разных python библиотек (проблемы антиалиасинга)
Реализация обучения простой модели обесшумливания

4. Введение в реконструкцию 3D-сцен

Реализация фильтра Кэнни

5. Реконструкция 3D-сцены

Реализация перспективных искажений
Реализация преобразования Хафа
Применение библиотеки opencv для вычисления ключевых точек через SIFT
Реализация мэтчинга точек полным перебором
Расчет матрицы гомографии с помощью RANSAC

6. Атаки на методы оценки визуального качества изображений/видео

Реализация нескольких методов атак на методы оценки визуального качества изображений/видео

  • FGSM
  • UAP
4. Введение в реконструкцию 3D-сцен

Реализация фильтра Кэнни

7. Методы защиты от атак на методы оценки визуального качества изображений/видео

Подсчет корреляции метрики на чистых данных
Генерация состязательных примеров
Adversarial purification

  • Flip
  • Resize
  • Random crop
  • JPEG compression
  • Denoising

Реализация состязательного обучения метрики

8. Задача трекинга, предсказание движения

Изучение примеров использования обученной модели DETR
Реализация дообучения модели DETR

9. Карты внимания (салиентность)

Реализация обучения простой модели предсказания карт внимания

10. Архитектура трансформера в задачах компьютерного зрения. ViT и DETR

Реализация простого пайплайна детекции и нахождения объектов

Текущий контроль успеваемости обучающихся по дисциплине:


п/п
Наименование раздела дисциплины Форма текущего контроля Материалы текущего контроля
1. Нейросетевая обработка видео Проверка выполнения домашних заданий

Практическое задание:
Реализация и обучение нейронной сети для задачи устранения размытия в видео

2. Введение в реконструкцию 3D-сцен Проверка выполнения домашних заданий

Практическое задание:
Создание панорамы

3. Атаки на методы оценки визуального качества изображений/видео Проверка выполнения домашних заданий

Практическое задание:
Реализация нескольких методов атак на методы оценки визуального качества изображений/видео

    • FGSM
    • UAP
4. Методы защиты от атак на методы оценки визуального качества изображений/видео Проверка выполнения домашних заданий

Практическое задание:
Необходимо реализовать методы защиты метрики Linearity на свое усмотрение.

5. Карты внимания (салиентность) Проверка выполнения домашних заданий

Практическое задание:
Реализация и обучение нейронной сети для задачи предсказания карт внимания

6. Архитектура трансформера в задачах компьютерного зрения. ViT и DETR Проверка выполнения домашних заданий

Практическое задание:
Разработка алгоритма детекции продуктов на полках магазина

Контрольные вопросы для подготовки к промежуточной аттестации:

Промежуточная аттестация проводится на основе рейтинга, сформированного по результатам текущей аттестации в течение семестра.

Перечень учебно-методического обеспечения дисциплины

Список основной литературы:

  • Computer Vision: Algorithms and Applications, 2nd ed. Richard Szeliski, The University of Washington.
  • Gonzalez and. Richard E. Woods' Digital Image Processing, Fourth Edition
  • Carion, Nicolas, et al. "End-to-end object detection with transformers." European conference on computer vision. Cham: Springer International Publishing, 2020.
  • Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).

Список дополнительной литературы:

  • An Introduction to 3D Computer Vision Techniques and Algorithms Boguslaw Cyganek and J. Paul Siebert
  • Computational Photography Mastering New Techniques for Lenses, Lighting, and Sensors Jack Tumblin
  • Ватолин, Д. С. Методы сжатия изображений : учебное пособие / Д. С. Ватолин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 196 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100646


Методические указания для обучающихся по освоению дисциплины

Вид учебных
занятий/деятельности
Деятельность обучающегося
Лекция Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
Практическое (семинарское) занятие При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.
Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.
Самостоятельная работа Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка видеопрезентации. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.

Методы и технологии обучения, способствующие формированию компетенции

Методы и технологии обучения, способствующие формированию компетенции
Информационно-коммуникационная технология, проектная технология, технология проблемного обучения, традиционные технологии, модульные технологии, технология интегрированного обучения