Ян Колода
Senior Computer Vision & Machine Learning Engineer в Gini GmbH
18 онлайн-занятий
по понедельникам и средам
Практический курс о том, как применять классические методы machine learning и deep learning для решения задач компьютерного зрения: от баланса цвета на изображении — до тренировки сверточных нейронных сетей для распознавания объектов в видео.
После курса вы систематизируете знания в области machine learning и deep learning. Разберетесь в современных подходах к детекции объектов, получите опыт в решении задач классификации и сегментации, научитесь строить и тренировать нейросети.
Курс даст overview задач computer vision и основных инструментов, которые необходимы для их решения. Вы научитесь обрабатывать изображения и видео, разрабатывать и запускать модели с помощью TensorFlow.
Задача специалиста по компьютерному зрению ― научить алгоритмы уверенно ориентироваться в окружающем мире и свести к минимуму системные баги. Задача robot_dreams ― помочь разобраться в инструментах и подходах, которые применяют для реализации CV-проектов.
Мы начнем с пиксельных операций и создания программ для обработки цифровых фото. Затем научимся проводить базовые манипуляции с изображением и видео: фильтрация и выделение границ, кодировка и компрессия, классификация, детекция, трекинг и сегментация. А после ― будем строить и тренировать нейронные сети.
Лектор поделится личным опытом и даст overview задач computer vision. Каждую лекцию будет сопровождать домашнее задание, и вы сразу же будете применять полученные знания на практике.
Вы будете применять библиотеки NymPy, Matplotlib, scikit-learn для задач computer vision. Освоите OpenCV, TensorFlow и Keras.
Научитесь решать базовые задачи компьютерного зрения: фильтрация, выделение границ, кодировка, компрессия, классификация, детекция, трекинг и сегментация. Будете строить и тренировать нейросети.
Обучение даст вам необходимые компетенции для отклика на вакансию Computer Vision Engineer и откроет новые горизонты.
Ознакомьтесь с задачами, которые помогает решить Computer Vision. Получите общую информацию о том, как работает зрительная система. Узнайте, какие цветовые пространства существуют. Установите библиотеки NymPy, Matplotlib и OpenCV. Научитесь выполнять простые операции, используя эти библиотеки.
Узнайте, что такое операции на уровне пикселей, и научитесь читать гистограммы. Создайте простейшую программу для обработки цифровых изображений, например, программу для баланса белого цвета.
Изучите принцип работы свертки. Научитесь имплементировать фильтрацию и манипулировать изображением, используя разные типы фильтрации.
Узнайте, в чем смысл градиентов изображений. Научитесь имплементировать фильтры выделения границ. Освойте алгоритм выделения контуров и фильтры в Canny.
Изучите разницу между форматами изображений [raw, png, jpeg]. Разберите разницу между форматами H264 и H265. Узнайте, как работает сжатие с потерями, и научитесь работать с изображениями в преобразованной форме. Попробуйте улучшить качество изображения с помощью интеллектуального квантования.
Узнайте, что такое визуальные признаки, и ознакомьтесь с типовыми задачами, которые можно решить с их помощью. Научитесь выделять углы с помощью детектора Харриса. Изучите алгоритмы обнаружения и описания признаков. Научитесь применять масштабно-инвариантную трансформацию признаков (SIFT).
Ознакомьтесь с задачами, которые решает image matching. Изучите принцип аффинного преобразования и однородных координат. Научитесь применять гомографию для изображений. Разработайте ректификатор фотографий документов.
Ознакомьтесь с базовыми принципами работы с моделями данных. Разберите разницу между классической обработкой данных и машинным обучением. Научитесь строить простые модели с нуля и проводить их оптимизацию. Определите разницу между machine learning и deep learning.
Определите, чем визуальные признаки для детекции лиц отличаются от признаков других объектов. Ознакомьтесь с методом детекции Виолы-Джонса и методом бустинга. Научитесь работать с изображениями, которые содержат лица, и осуществлять детекцию с помощью OpenCV.
Изучите основы работы трекинга и принципы работы с цифровым видео. Разберите разницу между трекингом и детекцией на практике, реализовывая реальную рабочую задачу.
Изучите принципы работы нейронных сетей. Получите overview открытых библиотек TensorFlow и Keras. Научитесь строить и тренировать простые нейронные сети. Попробуйте улучшить модель нейронной сети для классической проблемы house pricing.
Узнайте, как ускорить тренировку нейронных сетей в несколько раз с помощью GPU, и ознакомьтесь с другими преимуществами графического процессора. Ознакомьтесь с облачным сервисом Google Colaboratory и научитесь строить и тренировать модели в нем. Узнайте, зачем проводить инспекцию баз данных.
Изучите принципы работы сверточных нейронных сетей. Изучите операции свертки и пулинга. Научитесь строить и тренировать сверточные нейронные сети.
Ознакомьтесь с проблемой переобучения [overfitting]. Научитесь распознавать проблемы в процессе обучения и применять data augmentation в процессе тренировки.
Научитесь решать задачу сегментации цифровых изображений. Изучите принцип bottleneck. Постройте простой автоматический энкодер для очищения изображений от шума.
Изучите концепт детекции и bounding box. Научитесь распознавать объекты в режиме реального времени, используя принцип YOLO [You Only Look Once]. Ознакомьтесь с алгоритмом NMS [Non-Maximum Suppression] и другими архитектурами сетей для распознавания объектов [SSD, TinyYOLO, SqueezeDet]. Примените YOLO для распознавания объектов на собственном видео.
Ознакомьтесь с популярными моделями сверточных нейронных сетей. Изучите процесс fine tuning и научитесь работать с model zoo. Узнайте, какие проблемы возникают при тренировке сверточных нейронных сетей. Получите рецепт успешного решения проблем с использованием нейронных сетей.
Постройте сегментатор для детекции дорожных линий [видео], сверточную нейронную сеть, чтобы сделать super-resolution [изображения], или реализуйте авторский проект на ваш выбор.