Вступление

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

Основная цель компьютерного зрения - заставить компьютеры видеть и прояснять мир как люди или, может быть, лучше нас. Компьютерное зрение часто использует языки программирования, такие как C ++, Python и MATLAB. Это важный метод для дополненной реальности. Популярные инструменты компьютерного зрения, необходимые для изучения, - это OpenCV, Tensorflow, Gpu, YOLO, Keras и т. Д. Область компьютерного зрения в значительной степени включает концепции из таких областей, как цифровая обработка сигналов, нейробиология, обработка изображений, распознавание образов, машинное обучение (ML). , Робототехника и искусственный интеллект (AI).

Прежде чем перейти к этому, давайте разберемся, что такое компьютерное зрение:

Компьютерное зрение - это область, в которой компьютер понимает и маркирует то, что присутствует на изображении.

Например, посмотрите на изображение ниже:

Из приведенного выше изображения. Чтобы понять, что такое платье или обувь, нелегко рассказать об одежде тем, кто никогда ее раньше не видел. Та же проблема с компьютерным зрением.

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

Приложения компьютерного зрения:

Компьютерное зрение широко используется в различных секторах. Вот несколько примеров:

  • Узнавать предметы и поведение
  • Беспилотные автомобили
  • Анализ и диагностика медицинских изображений
  • Пометка фотографий
  • Распознавание лица

Конвейер компьютерного зрения:

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

Общий конвейер изображен ниже:

Знать, как работает конвейерная обработка. Давайте посмотрим на конвейер распознавания лиц следующим образом:

Главный или первый шаг - это стандартизация данных. Итак, давайте узнаем о стандартизации данных.

Стандартизация данных:

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

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

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

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

Изображения как числовые данные:

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

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

Обучение нейронной сети:

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

Градиентный спуск - это математический способ минимизировать ошибки в нейронных сетях.

X = Ввод

a = функция активации

W = веса в CNN

J = функция потерь

Альфа = скорость обучения

y = основная правда

y = прогноз

k = Количество итераций

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

Чтобы сослаться на еще несколько статей, перейдите по указанной ниже ссылке:

Https://medium.com/@likhithakakanuru