Лекции и выступления
July 30, 2019

Осваиваем компьютерное зрение — 8 основных шагов

Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через приложение Face App. В свою очередь для компьютерного зрения есть задачи и поинтереснее этой. Ниже представлю 8 шагов, которые помогут освоить принципы компьютерного зрения.

Прежде, чем начать с этапов давайте поймём, какие задачи мы с вами сможем решать с помощью компьютерного зрения.

Примеры задач могут быть следующими:

Минимальные знания, необходимые для освоения компьютерного зрения

Итак, теперь давайте приступим непосредственно к этапам.

Шаг 1 — Базовые методики работы с изображениями

Этот шаг посвящен техническим основам.

Посмотрите — отличный YouTube-плейлист «Древние секреты компьютерного зрения» от Joseph Redmon.

Прочтите — третью главу книги Ричарда Шелиски «Компьютерное зрение: Алгоритмы и приложения».

Закрепите знания — попробуйте себя в преобразовании изображений с помощью OpenCV. На сайте есть много пошаговых электронных пособий, руководствуясь которыми можно во всём разобраться.

Шаг 2 — Отслеживание движения и анализ оптического потока

Оптический поток — это последовательность изображений объектов, получаемая в результате перемещения наблюдателя или предметов относительно сцены.

Пройдите курс — курс по компьютерному зрению на Udacity, в особенности урок 6. Посмотрите — 8-ое видео в YouTube-списке и лекцию об оптическом потоке и трекинге.

Прочтите — разделы 10.5 и 8.4 учебника Шелиски.

В качестве учебного проекта разберитесь с тем, как с помощью OpenCV отслеживать объект в видеофрейме.

Шаг 3 — Базовая сегментация

В компьютерном зрении, сегментация — это процесс разделения цифрового изображения на несколько сегментов (суперпиксели). Цель сегментации заключается в упрощении и/или изменении представления изображения, чтобы его было проще и легче анализировать.

Так, преобразование Хафа позволяет найти круги и линии.

Посмотрите эти видео:

Ознакомьтесь — отличный проект подобные задачи которого чрезвычайно важны для компьютерного зрения самоуправляемых электромобилей.

Шаг 4 — Фитинг

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

Посмотрите видео:

Прочтите — разделы 4.3.2 и 5.1.1 учебника Шелиски.

В качестве задания для самостоятельной работы проанализируйте проблему определения координаты места схождения линий на горизонте перспективы.

Шаг 5 — Совмещение изображений, полученных с разных точек осмотра

Посмотрите Youtube-плейлист

Прочтите — сопроводительное письмо.

Для проекта можно взять собственные данные. Например, сфотографировать с разных сторон что-то из мебели и сделать в OpenCV из альбома плоских изображений 3D-объект.

Шаг 6 — Трёхмерные сцены

Умея создавать 3D-объекты из плоских изображений, можно попробовать создать и трёхмерную реальность.

Пройдите — курс по стереозрению и трекингу

Посмотрите видео:

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

Шаг 7 — Распознавание объектов и классификация изображений

В качестве фреймворка для глубокого обучения удобно использоватьTensorFlow. Это один из наиболее популярных фреймворков, поэтому вы без труда отыщете достаточно примеров. Для начала работы с изображениями в TensorFlow пройдите этот туториал.

Далее, пользуясь ссылками, рассмотрите следующие темы:

В качестве проекта создайте в TensorFlow нейросеть, определяющую по изображению марку автомобиля или породу собаки.

Шаг 8 — Современное глубокое обучение

Прочитайте — лекции Стенфордского курса

Посмотрите видео:

На этом наши шаги в изучении компьютерного зрения подошли к концу. Надеюсь вы узнали для себя что-нибудь новое. Не забудьте поделиться с коллегами.

Также, если у вас есть то, чем вы можете поделиться сами — пишите в комментариях. Больше информации о машинном обучении и Data Science у меня в телеграм-канале Нейрон (@neurondata).

Всем знаний!