Привет! Меня зовут Рушан Сюрмаков я делаю Нейрон. Проект, где я рассказываю о машинном обучении, искусственном интеллекте и Data Science. И делаю так, чтобы всё это стало понятно.Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через приложение Face App. В свою очередь для компьютерного зрения есть задачи и поинтереснее этой. Ниже представлю 8 шагов, которые помогут освоить основные принципы компьютерного зрения.Прежде, чем начать с этапов давайте поймём, какие задачи мы с вами сможем решать с помощью компьютерного зрения. Примеры задач могут быть следующими:Сегментация изображенийДетектирование объектовКлассификация изображенийОтслеживание движущихся объектов во времениРаспознавание лицОптическое распознавание символовГенерация изображенийМинимальные знания, необходимые для освоения компьютерного зренияУверенное владение синтаксисом Python;Математический анализ;Линейная алгебра;Библиотека OpenCVФреймворк глубокого обучения TensorFlowИтак, теперь давайте приступим непосредственно к этапам.Шаг 1 — Базовые методики работы с изображениямиЭтот шаг посвящен техническим основам.Посмотрите — отличный YouTube-плейлист «Древние секреты компьютерного зрения» от Joseph Redmon. «Древние секреты компьютерного зрения» от Joseph Redmon. «Древние секреты компьютерного зрения» от Joseph Redmon.Прочтите — третью главу книги Ричарда Шелиски «Компьютерное зрение: Алгоритмы и приложения».«Компьютерное зрение: Алгоритмы и приложения». Ричард ШелискиЗакрепите знания — попробуйте себя в преобразовании изображений с помощью OpenCV. На сайте есть много пошаговых электронных пособий, руководствуясь которыми можно во всём разобраться.Шаг 2 — Отслеживание движения и анализ оптического потокаОптический поток — это последовательность изображений объектов, получаемая в результате перемещения наблюдателя или предметов относительно сцены.Пройдите курс — курс по компьютерному зрению на Udacity, в особенности урок 6. 6 урок курс по компьютерному зрению на UdacityПосмотрите — 8-ое видео в YouTube-списке и лекцию об оптическом потоке и трекинге.Прочтите — разделы 10.5 и 8.4 учебника Шелиски. В качестве учебного проекта разберитесь с тем, как с помощью OpenCV отслеживать объект в видеофрейме.Шаг 3 — Базовая сегментацияВ компьютерном зрении, сегментация — это процесс разделения цифрового изображения на несколько сегментов (суперпиксели). Цель сегментации заключается в упрощении и/или изменении представления изображения, чтобы его было проще и легче анализировать.Так, преобразование Хафа позволяет найти круги и линии.Посмотрите эти видео: Ознакомьтесь — отличный проект подобные задачи которого чрезвычайно важны для компьютерного зрения самоуправляемых электромобилей. Шаг 4 — ФитингДля различных данных требуется специфичный подход к фитингу и свои алгоритмы.Посмотрите видео: Прочтите — разделы 4.3.2 и 5.1.1 учебника Шелиски. В качестве задания для самостоятельной работы проанализируйте проблему определения координаты места схождения линий на горизонте перспективы.Шаг 5 — Совмещение изображений, полученных с разных точек осмотраПосмотрите Youtube-плейлист Прочтите — сопроводительное письмо.Для проекта можно взять собственные данные. Например, сфотографировать с разных сторон что-то из мебели и сделать в OpenCV из альбома плоских изображений 3D-объект.Шаг 6 — Трёхмерные сценыУмея создавать 3D-объекты из плоских изображений, можно попробовать создать и трёхмерную реальность.Пройдите — курс по стереозрению и трекингуПосмотрите видео: В качестве проекта попытайтесь реконструировать сцену или сделать трекинг объекта в трехмерном пространстве.Шаг 7 — Распознавание объектов и классификация изображенийВ качестве фреймворка для глубокого обучения удобно использовать TensorFlow. Это один из наиболее популярных фреймворков, поэтому вы без труда отыщете достаточно примеров. Для начала работы с изображениями в TensorFlow пройдите этот туториал. Далее, пользуясь ссылками, рассмотрите следующие темы:Семантическая сегментация: категоризация объектов, сцен, деятельностиОбнаружение объектов (non max подавление, скользящие окна, ограничивающие боксы и якоря, подсчёт элементов)YOLO и Darknet, нейросети для предложения областей (region proposal networks)Контролируемые алгоритмы классификации (обучение с учителем)Визуальные атрибутыОптическое распознавание символовДетектирование лицВ качестве проекта создайте в TensorFlow нейросеть, определяющую по изображению марку автомобиля или породу собаки.Шаг 8 — Современное глубокое обучениеПрочитайте — лекции Стенфордского курсаПосмотрите видео: ЗаключениеНа этом наши шаги в изучении компьютерного зрения подошли к концу. Надеюсь вы узнали для себя что-нибудь новое. Как принято на VC, понравился пост — поставь плюс. Не забудьте поделиться с коллегами.Также, если у вас есть то, чем вы можете поделиться сами — пишите в комментариях. Больше информации о машинном обучении, искусственном интеллекте и Data Science в Telegram-канале;Всем знаний!#компьютерноезрение #машинноеобучение
Спасибо за отличный материал!