Бакалавриат
2020/2021
Научно-исследовательский семинар "Технологии компьютерного зрения"
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Ганичев Антон Александрович
Язык:
русский
Кредиты:
3
Контактные часы:
44
Программа дисциплины
Аннотация
Компьютерное зрение - это раздел искусственного интеллекта связанный с извлечением информации из изображений. Он включает методы позволяющие производить обнаружение, отслеживание и классификацию объектов на изображениях а так же в видеопотоке. Технологии компьютерного зрения находят применение в - Робототехнике: промышленные роботы, автономные транспортные средства; - Системах безопасности: контроль доступа, распознавание лиц, обнаружение подозрительного поведения; - Здравоохранении: анализ медицинских изображений, топографическое моделирование; - Системах взаимодействия и дополненной реальности: поиск по изображениям, аннотация, ввода информации В последние годы в области компьютерного зрения достигнут значительный прогресс. Он связан с прежде всего с технологиями глубокого обучения (Deep learning) и в частности с использованием свёрточных нейронных сетей (Convolutional Neural Networks) которые и будут изучаться в рамках данного семинара.
Цель освоения дисциплины
- Обеспечить студентов базовыми знаниями о технологиях применяющихся для анализа изображений и видео
- Заложить основы знаний об архитектурах и способах обучения сверточных нейросетей (CNN)
- Познакомить студентов с основными программными и аппаратными средствами применяющимися для создания и обучения CNN
Планируемые результаты обучения
- Понимать принцип работы линейного классификатора, знать алгоритмы kNN, SVM
- Понимать принцип работы сверточной нейросети. Знать алгоритм обратного распространения.
- Уметь самостоятельно обучить нейросетевой классификатор.
- Знать принцип работы основных алгоритмов детектирования объектов.
Содержание учебной дисциплины
- Анализ изображений.История компьютерного зрения. Задачи возникающие при анализе изображений. Визуальные данные. Задача классификации: метрики оценки качества, метод k - ближайших соседей (K-nearest neighbor)
- Линейный классификатор.Классификации изображений с помощью линейного классификатора. Функции потерь (Loss Function) на примере SVM-Loss. Обучение методом градиентного спуска, регуляризация, сross entropy loss.
- Классификатор на основе нейронной сетиПолносвязанная нейронной сети. Функции активации. Алгоритм обратного распространения ошибки(Backpropagation). Свёрточные нейросети (Convolutional Neural Networks).
- Сверточная нейронная сеть.Операция свертки, параметры сверточного слоя. Способы инициализации весов, Batch normalization, Оптимизаторы.
- Архитектуры СNNАрхитектуры сверточных сетей: VGG,GoogleNet ResNet. SeNet, EfficientNet. Анализ количества потребляемых ресурсов. Быстрые свертки.
- Работа с реальными даннымиВыбор метрики, дисбаланс датасета, Переобучение, Аугментация данных, Перенос обучения (TransferLearning). Контроль за процессом обучения.
- Генеративные моделиОбучение без учителя. Автоэнкодеры. GAN. Visual Transformers (дополнительно).
- Обучение на малом объёме данныхOne/Few shot learning . Вектор-признак (embedding). Сиамские сети, TripletLoss, распознавание лиц.
- Сегментация изображений.Виды сегментации, модели для сегментации, функции потерь. Fully Convolutional Network, TransposeConvolution, Atros convolution, Spatial pyramid pooling. Датасет COCO.
Элементы контроля
- ДокладВыполненные в ходе подготовки доклада эксперименты могут быть зачтены в качестве выполнения практических задач (см. пункт "Работа на семинаре"). Оценка за дисциплину выставляется в соответствии с формулой оценивания от всех пройденных элементов контроля. Экзамен не проводится.
- Работа на семинареВключает: участие в обсуждении, ответы на вопросы и выполнение практических заданий (см пример).
- Контроль посещаемости
Промежуточная аттестация
- Промежуточная аттестация (3 модуль)0.7 * Доклад + 0.1 * Контроль посещаемости + 0.2 * Работа на семинаре
Список литературы
Рекомендуемая основная литература
- McKinney, W. (2018). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython (Vol. Second edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1605925
- Коэльо Л.П., Ричарт В. - Построение систем машинного обучения на языке Python - Издательство "ДМК Пресс" - 2016 - 302с. - ISBN: 978-5-97060-330-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/82818
Рекомендуемая дополнительная литература
- Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/970143