Комплексный курс, который научит применять классические методы machine learning и deep learning для решения задач компьютерного зрения: от баланса цвета на изображении — до тренировки сверточных нейронных сетей для распознавания объектов на видео.
Ян Колода
Senior CV & ML Engineer
PhD в сфере
Image Processing & Computer Vision
После курса вы систематизируете знания в области 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. Узнаете, какие проблемы возникают при тренировке сверточных нейронных сетей. Получите рецепт успешного решения проблем с использованием нейронных сетей.