О чём курс

О курсе

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

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

Для кого

Курс рассчитан на специалистов двух направлений:

  • Data Scientist: систематизация знаний в области machine learning и deep learning, освоение современных подходов к детекции объектов, решение задач классификации и сегментации, построение и тренировка нейросетей.
  • Developer: получение обзора задач computer vision и ключевых инструментов для их решения, обучение обработке изображений и видео, разработка и запуск моделей с помощью фреймворка TensorFlow.

Что внутри

Программа охватывает фундаментальные алгоритмы компьютерного зрения и современные нейросетевые архитектуры. В процессе обучения используются библиотеки NumPy, Matplotlib и OpenCV, рассматриваются методы выделения визуальных признаков (включая детектор Харриса и SIFT), гомография и детекция лиц.

Нейросетевой блок включает работу с библиотеками TensorFlow и Keras, ускорение обучения на GPU с помощью Google Colaboratory, применение аугментации данных и методы борьбы с переобучением. Слушатели изучают сверточные нейронные сети, автоэнкодеры и архитектуры для детекции объектов в реальном времени, такие как YOLO, SSD и TinyYOLO. В финале курса предусмотрено выполнение курсового проекта.

Об авторе

Автор курса — Ян Колода. Программа подготовлена образовательной платформой robot_dreams.

Программа обучения

  • Модуль 1 - Введение в Computer Vision
    • Ознакомьтесь с задачами, которые помогает решить Computer Vision.
    • Получите общую информацию о том, как работает зрительная система.
    • Узнайте, какие цветовые пространства существуют.
    • Установите библиотеки NymPy, Matplotlib и OpenCV.
    • Научитесь выполнять простые операции, используя эти библиотеки.
  • Модуль 2 - Пиксельные операции
    • Узнайте, что такое операции на уровне пикселей, и научитесь читать гистограммы.
    • Создайте простейшую программу для обработки цифровых изображений, например, программу для баланса белого цвета.
  • Модуль 3 - Линейная фильтрация
    • Изучите принцип работы свертки.
    • Научитесь имплементировать фильтрацию и манипулировать изображением, используя разные типы фильтрации.
  • Модуль 4 - Фильтры выделения границ
    • Узнайте, в чем смысл градиентов изображений.
    • Научитесь имплементировать фильтры выделения границ.
    • Освойте алгоритм выделения контуров и фильтры в Canny.
  • Модуль 5 - Кодировка и компрессия изображений
    • Изучите разницу между форматами изображений [raw, png, jpeg].
    • Разберите разницу между форматами H264 и H265.
    • Узнайте, как работает сжатие с потерями, и научитесь работать с изображениями в преобразованной форме.
    • Попробуйте улучшить качество изображения с помощью интеллектуального квантования.
  • Модуль 6 - Image features [визуальные признаки]
    • Узнайте, что такое визуальные признаки, и ознакомьтесь с типовыми задачами, которые можно решить с их помощью.
    • Научитесь выделять углы с помощью детектора Харриса.
    • Изучите алгоритмы обнаружения и описания признаков.
    • Научитесь применять масштабно-инвариантную трансформацию признаков (SIFT).
  • Модуль 7 - Image matching [подстройка изображений]
    • Ознакомьтесь с задачами, которые решает image matching.
    • Изучите принцип аффинного преобразования и однородных координат.
    • Научитесь применять гомографию для изображений.
    • Разработайте ректификатор фотографий документов.
  • Модуль 8 - Machine Learning [машинное обучение]
    • Ознакомьтесь с базовыми принципами работы с моделями данных.
    • Разберите разницу между классической обработкой данных и машинным обучением.
    • Научитесь строить простые модели с нуля и проводить их оптимизацию.
    • Определите разницу между machine learning и deep learning.
  • Модуль 9 - Детекция лиц
    • Определите, чем визуальные признаки для детекции лиц отличаются от признаков других объектов.
    • Ознакомьтесь с методом детекции Виолы-Джонса и методом бустинга.
    • Научитесь работать с изображениями, которые содержат лица, и осуществлять детекцию с помощью OpenCV.
  • Модуль 10 - Трекинг
    • Изучите основы работы трекинга и принципы работы с цифровым видео.
    • Разберите разницу между трекингом и детекцией на практике, реализовывая реальную рабочую задачу.
  • Модуль 11 - Нейронные сети: part 1
    • Изучите принципы работы нейронных сетей.
    • Получите overview открытых библиотек TensorFlow и Keras.
    • Научитесь строить и тренировать простые нейронные сети.
    • Попробуйте улучшить модель нейронной сети для классической проблемы house pricing.
  • Модуль 12 - Нейронные сети: part 2
    • Узнайте, как ускорить тренировку нейронных сетей в несколько раз с помощью GPU, и ознакомьтесь с другими преимуществами графического процессора.
    • Ознакомьтесь с облачным сервисом Google Colaboratory и научитесь строить и тренировать модели в нем.
    • Узнайте, зачем проводить инспекцию баз данных.
  • Модуль 13 - Сверточные нейронные сети: part 1
    • Изучите принципы работы сверточных нейронных сетей.
    • Изучите операции свертки и пулинга.
    • Научитесь строить и тренировать сверточные нейронные сети.
  • Модуль 14 - Сверточные нейронные сети: part 2
    • Ознакомьтесь с проблемой переобучения [overfitting].
    • Научитесь распознавать проблемы в процессе обучения и применять data augmentation в процессе тренировки.
  • Модуль 15 - Сверточные нейронные сети: part 3
    • Научитесь решать задачу сегментации цифровых изображений.
    • Изучите принцип bottleneck.
    • Постройте простой автоматический энкодер для очищения изображений от шума.
  • Модуль 16 - Детекция объектов
    • Изучите концепт детекции и bounding box.
    • Научитесь распознавать объекты в режиме реального времени, используя принцип YOLO [You Only Look Once].
    • Ознакомьтесь с алгоритмом NMS [Non-Maximum Suppression] и другими архитектурами сетей для распознавания объектов [SSD, TinyYOLO, SqueezeDet].
    • Примените YOLO для распознавания объектов на собственном видео.
  • Модуль 17 - Сверточные нейронные сети: что дальше?
    • Ознакомьтесь с популярными моделями сверточных нейронных сетей.
    • Изучите процесс fine tuning и научитесь работать с model zoo.
    • Узнайте, какие проблемы возникают при тренировке сверточных нейронных сетей.
    • Получите рецепт успешного решения проблем с использованием нейронных сетей.
  • Модуль 18 - Презентация курсового проекта
    • Постройте сегментатор для детекции дорожных линий [видео], сверточную нейронную сеть, чтобы сделать super-resolution [изображения], или реализуйте авторский проект на ваш выбор.
Складчина создана 14 ноября 2021 г.

Теги курса

Профессии
Инструменты
0 ₽