Распознавание объектов с использованием OpenCV

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

Несколько недель назад я проводил исследование глубокого обучения и компьютерного зрения на автономном автомобиле. Эта статья включает в себя некоторые интересные вещи из моего исследования. Распознавание функций - одна из задач обнаружения объектов. Итак, что такое распознавание функций? Что касается людей, посмотрев на любой объект, мы понимаем узор, форму, размер, цвет, длину и другие элементы, чтобы идентифицировать предмет. Это тоже чем-то похоже на компьютеры. Особенность cv(Computer vision)- заключается , в тренировке модели распознавания , чтобы научить ее находить необходимый нам элемент. Элемент может иметь любую форму, край, длину и т. Д. а также их комбинации. В одном из моих предыдущих проектов по обнаружению DeepFake , я использовал MSE (среднеквадратичную ошибку), PSNR (пиковое отношение сигнал / шум), SSIM (Индекс структурного сходства) ,в качестве алгоритмов определения формы изображений DeepFake от реальных изображений.

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

Изображение Gerhard G. с сайта Pixabay

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

На первом изображении собачье ухо размером с кошачье или даже меньше. Если мы будем использовать размер ушей в качестве характеристики для тренировки наша модель использует только эти два изображения, у нас будет 50% истинно отрицательных или ложноположительных. Это приводит к еще одному важному моменту. то есть если вы хотите добиться успеха в работе вашей модели, вам следует тщательно выбирать эту функцию классификации. Размер тоже не лучший выбор. Поэтому для классификации кошек и собак нужно выбрать другой параметр.

Если Наша цель здесь - идентифицировать другой объект, например грузовик на дороге. Мы можем использовать такой метод, как Harris Corner Detection или хитрое обнаружение краев для обнаружения краев. Мы нужно отделить автомобили, пешеходов, знаки от изображений. Мы можем использовать OpenCV для конкретно обозначать грузовики.

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

Источник: OpenCV Docs

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

читаем изображение из файла. Мы собираемся найти грузовик на этом изображении.

Исходное изображение Источник: фото Эрнесто Леона на Unsplash

Высота и ширина изображения

 

Преобразовать изображение в оттенки серого

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

Создание шаблона изображения

Сравнение с шаблоном

Найдем грузовик

Заключение

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


Источник: zen.yandex.ru

Комментарии: