Застосовуйте Machine Learning / Deep Learning та вчіть нейронні мережі розпізнавати об’єкти на відео
Ян Колода
Senior CV & ML Engineer
PhD у сфері
Image Processing & Computer Vision
Хочете отримати практичний досвід у Computer Vision, але боїтеся відразу тестувати гіпотези в роботі на реальному продукті? Цей курс допоможе набити руку на задачах типу покращення якості зображення чи детекції обʼєктів на відео в live-режимі.
Не маєте досвіду в machine learning, але працюєте з Python і вмієте обробляти дані? Ян Колода дасть overview основних інструментів, які використовуються в Computer Vision, навчить обробляти зображення і навіть запускати нейромережі за допомогою TensorFlow.
Пишете код на Python, маєте досвід в ІТ і хочете спробувати власні сили в популярному напрямку Computer Vision? Цей курс ― чудовий тест-драйв у цю сферу. Ви опануєте ключові інструменти та навчитеся розв'язувати базові задачі комп'ютерного зору.
Завдання спеціаліста з комп’ютерного зору — навчити алгоритми впевнено орієнтуватися в навколишньому світі та звести до мінімуму системні баги. Завдання 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. Дізнаєтеся, які проблеми виникають під час тренування згорткових нейронних мереж. Отримаєте рецепт успішного розв’язання проблем із використанням нейронних мереж.