Современные методы и технологии глубокого обучения в компьютерном зрении (версия 2)

Краткое описание

В курсе изучаются вопросы практического применения методов глубокого обучения для решения актуальных задач компьютерного зрения, которые возникают в процессе разработки систем видеонаблюдения и видеоанализа.

Рассматриваются следующие вопросы.

  1. Цели и задачи, структура курса. Общая схема решения задач компьютерного зрения с использованием методов глубокого обучения (от подготовки данных до оценки качества решения задачи). Обзор программных инструментов, используемых на каждом этапе.
  2. Классификация изображений с большим числом категорий с использованием методов глубокого обучения.
  3. Обзор инструмента Intel Distribution of OpenVINO toolkit (Inference Engine, OpenCV, Open Model Zoo).
  4. Детектирование объектов разных классов на изображениях с использованием глубоких нейронных сетей.
  5. Глубокие модели для сопровождения объектов на видео.
  6. Семантическая сегментация изображений с использованием методов глубокого обучения.
  7. Подготовка синтетических данных с использованием генеративных состязательных сетей.

Курс является практико-ориентированным. Он включает в себя 16 часов лекций (8 лекций по 2 академических часа) и 18 часов практических занятий с командным выполнением 4 заданий. Лекции проводятся в классической форме и сопровождаются примерами решения практических заданий с использованием инструмента Intel Distribution of OpenVINO toolkit. Выполнение практических заданий предполагает, что слушатели делятся на группы по 2-3 человека, выбирают задачу для последующей реализации. Далее для групп проводятся индивидуальные консультации по ходу выполнения практических заданий. При этом имитируется режим командной работы, в процессе которого слушатели демонстрируют навыки использования инструментов командной разработки. Итоговый контроль знаний предполагает представление результатов разработки проекта.

Курс ориентирован на студентов и аспирантов технических и естественно-научных специальностей, а также инженеров, преподавателей вузов и исследователей.

Предварительные требования к слушателям

Курс ориентирован на слушателей, имеющих базовые знания и умения в программировании на языках C++ и Python. Наряду с этим, предполагается наличие теоретических знаний и практических навыков в области обработки изображений, компьютерного зрения, машинного и глубокого обучения.

Ссылки

Программа курса доступна по ссылке.

Шаблоны исходных кодов для выполнения практических заданий доступны по ссылке. Решения практических заданий доступны по ссылке.

Лицензия

Лицензия доступна по ссылке.

Авторы

Турлапов Вадим Евгеньевич, д.т.н., профессор кафедры математического обеспечения и суперкомпьютерных технологий Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Руководитель проекта.

Золотых Николай Юрьевич, д.ф.-м.н., доцент кафедры алгебры, геометрии и дискретной математики Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Исполнитель проекта.

Васильев Евгений Павлович, преподаватель кафедры математического обеспечения и суперкомпьютерных технологий Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Исполнитель проекта.

Гетманская Александра Александровна, преподаватель кафедры математического обеспечения и суперкомпьютерных технологий Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Исполнитель проекта.

Кустикова Валентина Дмитриевна, к.т.н., доцент кафедры математического обеспечения и суперкомпьютерных технологий Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Исполнитель проекта.

Носова Светлана Александровна, преподаватель кафедры математического обеспечения и суперкомпьютерных технологий Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Исполнитель проекта.

Тужилкина Анастасия Андреевна, магистрант Института информационных технологий, математики и механики ННГУ им. Н.И. Лобачевского. Исполнитель проекта.

Курс разработан при поддержке корпорации Intel.

План курса

ЛЕКЦИЯ 1. Цели и задачи, структура курса. Общая схема решения задач компьютерного зрения с использованием методов глубокого обучения. Обзор программных инструментов, используемых на каждом этапе

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

Общая схема решения задач компьютерного зрения с использованием методов глубокого обучения:

  1. Подготовка и разметка данных.
  2. Исследование существующих моделей и показателей качества. Подготовка (поиск существующих или разработка) инструментов для оценки качества работы моделей.
  3. Перенос обучения глубоких моделей для решения задачи.
  4. Обучение и тестирование модели.
  5. Модификация модели, обучение и тестирование.
  6. Оптимизация сложности (ресурсов) модели.

Обзор программных инструментов, используемых на разных этапах для решения рассматриваемых в курсе задач.

(pptx, docx)

ЛЕКЦИЯ 2. Классификация изображений с большим числом категорий с использованием методов глубокого обучения

Обзор современных глубоких нейросетевых моделей для классификации изображений с большим числом категорий (LeNet, AlexNet, VGG, GoogLeNet, ResNet). Ключевые особенности архитектур моделей; проблемы, которые решаются в этих архитектурах; сложность моделей (количество параметров, объем памяти, сложность вычислений при выводе глубоких моделей).

(pptx, docx)

ЛЕКЦИЯ 3. Обзор инструмента Intel Distribution of OpenVINO toolkit (Inference Engine, OpenCV, Open Model Zoo)

Основные компоненты инструмента Intel Distribution of OpenVINO toolkit. Использование Inference Engine для реализации вывода глубоких моделей. Обзор состава OpenCV, возможности модуля dnn. Применение Inference Engine в качестве backend для вывода глубоких нейронных сетей. Состав Open Model Zoo.

(pptx, docx)

ПРАКТИЧЕСКАЯ РАБОТА 1. Классификация изображений с большим числом категорий с использованием методов глубокого обучения

Применение переноса обучения к классификации изображений. Прямое применение обученных моделей с использованием компонента Inference Engine в составе OpenVINO.

(docx, ipynb)

ЛЕКЦИЯ 4. Детектирование объектов разных классов на изображениях с использованием глубоких нейронных сетей

Проблемы детектирования объектов на изображениях (разный масштаб, ракурс, много объектов). Обзор современных глубоких нейросетевых моделей для детектирования объектов разных классов на изображениях (R-CNN, Faster R-CNN, Mask R-CNN, SSD, YOLO, MobileNet-SSD и другие).

(pptx, docx)

ПРАКТИЧЕСКАЯ РАБОТА 2. Детектирование объектов на изображениях

Прямое применение обученных моделей детектирования объектов, входящих в состав Open Model Zoo, с использованием Inference Engine или модуля dnn библиотеки OpenCV.

(docx, ipynb)

ЛЕКЦИЯ 5. Глубокие модели для сопровождения объектов на видео

Обзор глубоких архитектур для выделения признаковых описаний объектов с целью последующего сопоставления объектов на паре последовательных кадров, внедрение глубоких моделей в алгоритмы сопровождения.

(pptx, docx)

ПРАКТИЧЕСКАЯ РАБОТА 3. Сопровождение объектов на видео

Программная реализация венгерского алгоритма (Hungarian matching algorithm) для сопоставления окаймляющих прямоугольников, полученных на паре последовательных кадров видео.

(docx, ipynb)

ЛЕКЦИЯ 6. Семантическая сегментация изображений с использованием методов глубокого обучения

Проблемы семантической сегментации (размер объектов, разрешение выходного изображения). Обзор современных глубоких нейросетевых моделей для семантической сегментации изображений (encoder-decoder architecture, применение CRF, dilated convolutions, архитектуры типа UNet).

(pptx, docx)

ЛЕКЦИЯ 7. Подготовка синтетических данных с использованием генеративных состязательных сетей

Генерация синтетических данных с использованием генеративных состязательных сетей, увеличение объема тренировочной выборки в задачах с небольшим количеством размеченных данных.

(pptx, docx)

ПРАКТИЧЕСКАЯ РАБОТА 4. Решение задачи видеоаналитики, включающей детектирование, распознавание и сопровождение объектов на видео

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

(docx, ipynb)

ЛЕКЦИЯ 8. Сегментация объектов на изображении с использованием методов глубокого обучения

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

(pptx)