Computer Vision
О чём курс
О курсе
Вы решите прикладные задачи компьютерного зрения с помощью классических методов машинного обучения и глубокого обучения: от базовых пиксельных операций и настройки баланса цвета до проектирования и обучения нейросетей для распознавания объектов на видео.
Материал построен последовательно: участники начинают с манипуляций с цифровыми фото, изучают фильтрацию, выделение границ, кодирование и компрессию данных. Далее рассматриваются задачи классификации, детекции, трекинга и сегментации, а завершается обучение созданием и оптимизацией нейросетевых моделей.
Для кого
Курс рассчитан на специалистов двух направлений:
- 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 [изображения], или реализуйте авторский проект на ваш выбор.
Теги курса
Отзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.