https://habr.com/ru/post/461365/- Python
- Программирование
- Data Mining
- Big Data
- Машинное обучение
Привет, читатель.
Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через
приложение 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).
Всем знаний!