Резюме

Узнайте, как реализовать практические сквозные приложения компьютерного зрения с помощью opencv3

Курс разделен на разделы для облегчения понимания концепций.

Этот материал состоит из 3-х разделов.

  1. Глава 1. Создание системы поиска изображений с нуля
  2. Глава 2: Поиск целей и распознавание номерных знаков на видео
  3. Глава 3: Понимание сцены и автоматическая маркировка изображений

Исходный код

Https://github.com/riaz/Practical_OpenCV3_Python

Содержание

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

Глава 1. Создание системы поиска изображений с нуля

В этом разделе мы узнаем о различных методах преобразования изображений, таких как преобразование Хафа, которые все основаны на оценке вероятностей существования точек интереса и совпадения результатов. Мы изучим методы растяжения, сжатия, поворота, деформации и изображения, а в следующих разделах мы увидим, как такие преобразования не влияют на попытки распознавания объектов с использованием гомографии. Затем мы узнаем о том, как строятся гистограммы изображений и как мы можем использовать такие методы, как выравнивание гистограммы, для эффективного устранения шума в изображении, и мы дополнительно углубимся в свойства гистограммы и как ее можно использовать для создания поиска по изображению в какой-либо точке. точности.

1.1 Изучение преобразований Хафа

Узнайте, что такое преобразование Hough, и методы обнаружения линий и кругов на изображении с помощью преобразования Hough. Бонус: реализация рандомизированного метода обнаружения кругов на изображении, который выполняется быстрее, чем методы, основанные на предположениях.

1.2 Растягивание, сжатие, деформация и поворот с помощью OpenCV 3

Узнайте о простых методах преобразования изображений, таких как растягивание, сжатие, деформация и поворот.

1.3 Производные изображения

Введение в производные изображения и примеры того, как мы можем вычислить производные изображения с использованием ядер Собела и ЛаПласа.

1.4 Выравнивание гистограммы

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

Проект 1: Обратный поиск изображений

Создание поисковой системы обратного изображения для поиска связанных изображений на основе гистограмм изображений

Глава 2: Поиск целей и распознавание номерных знаков в видеопотоке

В этом разделе мы узнаем о методах и методах сегментации изображений для извлечения областей интересов (ROI) или контуров, к которым мы можем применить любой тип конвейера обработки изображений для работы с контурами. Мы также изучаем метод, называемый сопоставлением с шаблоном, который можно использовать для линейного обнаружения шаблона изображения. Мы также узнаем о вычитании фона, которое может быть полезно для отделения переднего плана от фона и управления ими по отдельности. Мы также изучаем техники. Мы также узнаем о том, как компьютерное зрение используется в области медицинской визуализации, и завершим этот раздел изучением того, как обучить приложение способному обнаруживать заранее определенные цели, а также способность обнаруживать номерные знаки, даже если мы будем нырять. в подробности того, как реализация SVM работает для обнаружения номерных знаков. Сегментация номерного знака

2.1 Извлечение контуров из изображений

Узнайте об извлечении контуров из изображений, аппроксимации многоугольника на контурах и вычислении моментов Ху.

2.2 Сопоставление шаблонов для обнаружения объектов

Сопоставление шаблонов для поиска местоположения изображения шаблона в другом изображении, которое может содержать шаблон.

2.3 Вычитание фона из изображений

Это название набора методов, которые можно использовать для отделения статического фона от нестатического переднего плана.

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

2.4 Триангуляция Делоне и мозаика Вороного

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

Тесселяция Вороного создает перегородки между точками, которые являются ближайшими соседями каждой из точек вершины Делоне. Кроме того, тесселяция Вороного является двойником триангуляции Делоне.

2.5 Сегментация среднего сдвига

Это алгоритм сегментирования изображения путем нахождения пиков распределения цвета в пространстве (суперпиксель).

Среднее смещение - это метод отслеживания смещения среднего значения области между кадрами (видео).

2.6 Медицинская визуализация и сегментация

Использование OpenCV для сегментации снимков МРТ головы человека.

Проект 2: автоматическое распознавание номерных знаков на видео

Обнаружение номерных знаков автомобилей на сцене вождения.

Глава 3: Понимание сцены и автоматическая маркировка изображений

В этом разделе мы узнаем о том, что означают функции с точки зрения OpenCV и какие элементы хороших функций в изображении могут включать края, углы и т. Д. Позже мы рассмотрим наиболее распространенный алгоритм обнаружения углов, которым является алгоритм обнаружения углов Харриса. Мы также узнаем о SIFT, SURF и др., Которые являются инвариантными к масштабированию и повороту обнаружениями углов и имеют приложение для отслеживания объектов. Затем мы узнаем об оптическом потоке, который представляет собой картину видимого движения объектов изображения между двумя последовательными кадрами, вызванного движением объекта или камеры. Мы также погрузимся в применение глубокого обучения для извлечения функций с большей степенью точности.

В этом разделе есть очень сложный проект, в котором мы пытаемся написать алгоритмы глубокого обучения, чтобы понимать объекты сцены и маркировать объекты и соответственно классифицировать их. Мы могли бы еще больше расширить эту концепцию, перефразируя объекты и их действия и придумав красивую прозу, которая суммирует эти элементы в изображении и обращена к повествованию текста в изображения, которое очень популярно в настоящее время, особенно в мире виртуальной реальности.

3.1 Обнаружение угла Харриса

Использование функции Harris Corner Detection для обнаружения углов на изображении

Использование углового детектора Харриса-Ши-Томаси в качестве улучшения вышеупомянутого.

Улучшение определения угла Харриса с помощью функции cv2.cornerSubPix ().

3.2 Алгоритмы SIFT, SURF, FAST, BRIEF и ORB

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

3.3 Сопоставление признаков и гомография для распознавания объектов

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

3.4 Среднее смещение, кулачковое смещение и оптический поток

Для отслеживания объектов на видео используются методы Mean-Shift и Cam-Shift, но cam-shift более надежен, поскольку он может справиться с изменяющимся размером цели по мере ее движения вперед.

3.5 Извлечение признаков с помощью сверточных нейронных сетей (CNN)

Введение в Deep Leaning и обучение простых нейронных сетей, таких как LENET-5, для распознавания рукописных символов.

3.6 Распознавание и классификация визуальных объектов с использованием CNN

Методы глубокого обучения, чтобы научить сеть распознавать объекты на изображениях, а также формировать осмысленные предложения, которые помогают описывать сцену с учетом слов.

Исходный код: https://github.com/riaz/Practical_OpenCV3_Python