СТАТЬЯ

Конвейер компьютерного зрения, часть 2: входные изображения

Из книги Мохамеда Эльгенди Глубокое обучение для компьютерного зрения
______________________________________________________________________________

Получите скидку 37 % на Grokking Deep Learning for Computer Vision. Просто введите fccelgendy в поле с кодом скидки при оформлении заказа на manning.com.
_______________________________________________________________________

Ознакомьтесь с частью 1, чтобы познакомиться с конвейером компьютерного зрения.

Введите изображение

В приложениях компьютерного зрения мы имеем дело с изображениями или видеоданными. Давайте поговорим о оттенках серого и цветных изображениях.

Изображение как функции

Изображения могут быть представлены как функция двух переменных, X и Y, которые определяют двумерную область. Цифровые изображения состоят из сетки пикселей. Пиксель — это необработанный строительный блок изображения. Каждое изображение состоит из набора пикселей, значения которых представляют интенсивность света, появляющегося в заданном месте нашего изображения. Давайте еще раз взглянем на пример с мотоциклом после применения к нему сетки пикселей.

Изображение выше имеет размер 32 x 16. Это означает, что размеры изображения составляют 32 пикселя в ширину и 16 пикселов в высоту. Ось X начинается от 0 до 31, а ось Y от 0 до 16. В целом изображение имеет размер 32 × 16 = 512 пикселей. В этом изображении в градациях серого каждый пиксель содержит значение, представляющее интенсивность света в этом конкретном пикселе. Значения пикселей варьируются от 0 до 255. Поскольку значение пикселя представляет интенсивность света, значение 0 представляет темные пиксели (черные), 255 — яркие (белые), а промежуточные значения представляют интенсивность в шкале серого.

Вы можете видеть, что система координат изображения похожа на декартову систему координат: изображения двумерны и лежат в плоскости x-y. Исходная точка (0, 0) находится в левом верхнем углу изображения. Для представления конкретного пикселя мы используем следующие обозначения: «F» как функция, «x,y» расположение пикселя по координатам x, y. Например, пиксель, расположенный в координатах x=9 и y=14, белый, это представлено следующей функцией: F(9, 14) = 255. Точно так же пиксель (27,7), лежащий на переднем колесе мотоцикл черный, представленный как F (27,7) = 0.

Оттенки серого =›F(x,y) дает интенсивность в позиции (x,y)

Это было для изображений в градациях серого. Как насчет цветного изображения?

В цветных изображениях значение пикселя представляется не одним числом, а тремя числами, представляющими интенсивность каждого цвета в этом пикселе. Например, в системе RGB значение пикселя представлено тремя числами: интенсивностью красного, интенсивностью зеленого и интенсивностью синего. Существуют и другие цветовые системы для изображений, такие как HSV и LAB. Все они следуют одной и той же концепции при представлении значения пикселя. Подробнее о цветных изображениях на следующей странице.

Вот функция, представляющая цветные изображения в системе RGB:

Цветное изображение в RGB =›F(x,y) = [красный(x,y), зеленый (x,y), синий(x,y)]

Думать об изображении как о функции полезно при обработке изображений. Таким образом, мы можем думать об изображении как о функции F(x, y) и математически воздействовать на него, чтобы преобразовать его в новую функцию изображения G(x, y).

Давайте взглянем на следующие примеры преобразования изображений:

Как компьютеры видят изображения?

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

Без контекста это огромная куча данных.

Вы можете видеть, что изображение выше имеет размер 24*24. Этот размер показывает ширину и высоту изображения; 24 пикселя по горизонтали и 24 по вертикали. Это означает, что всего 576 (24*24) пикселей. Если изображение размером 700*500, то размерность матрицы равна (700, 500). Где каждый пиксель в матрице представляет интенсивность яркости в этом пикселе. 0 соответствует черному цвету, а 255 — белому.

Цветные изображения

В изображениях в градациях серого каждый пиксель представляет интенсивность только одного цвета. В то время как в стандартной системе RGB цветные изображения имеют три канала (красный, зеленый, синий). Цветные изображения представлены тремя матрицами: одна представляет интенсивность красного цвета в пикселе, одна — зеленого и одна — синего.

Как вы можете видеть на изображении выше, цветное изображение состоит из трех каналов: красного, зеленого и синего. Теперь вопрос в том, как компьютеры видят это изображение? Опять же, ответ заключается в том, что они видят матрицу, в отличие от изображений в градациях серого, где у нас был только один канал. В этом случае у нас будет три матрицы, наложенные друг на друга, поэтому это трехмерная матрица. Размерность цветного изображения 700*700 (700, 700, 3). Допустим, первая матрица представляет красный канал, затем каждый элемент этой матрицы представляет интенсивность красного цвета в этом пикселе, а также зеленого и синего. С каждым пикселем цветного изображения связаны три числа (от 0 до 255). Эти числа представляют интенсивность красного, зеленого и синего цвета в данном конкретном пикселе.

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

Взгляните на приведенный ниже пример некоторых оттенков зеленого цвета и их значений RGB:

Подытожим: компьютеры воспринимают изображения как матрицы. Изображения в градациях серого имеют один канал (серый), и мы можем представить изображения в градациях серого в 2D-матрице, где каждый элемент представляет интенсивность яркости в конкретном пикселе. Помните, что 0 означает черный, а 255 — белый. Изображения в градациях серого имеют один канал, тогда как цветные изображения имеют три канала RGB (красный, зеленый, синий). Мы можем представить цветные изображения в 3D-матрице, где глубина будет равна трем.

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

Оттенки серого: f x, y дает интенсивность в позиции x, y.

Цветное изображение: f x, y красный x, y, зеленый x, y, синий x, y

Это все на данный момент. Ждите часть 3. Если вам интересно узнать больше об этой книге, ознакомьтесь с ней на liveBook здесь и посмотрите эту презентацию.

Об авторе:
Мохамед Эльгенди – руководитель отдела разработки Synapse Technology, ведущей компании, занимающейся искусственным интеллектом, которая создает проприетарные приложения компьютерного зрения для обнаружения угроз на контрольно-пропускных пунктах по всему миру. . Ранее Мохамед был техническим менеджером в Amazon, где он разработал и преподавал курс глубокого обучения для компьютерного зрения в Университете машинного обучения Amazon. Он также создал и управлял аналитическим центром Amazon по компьютерному зрению, среди многих других заслуживающих внимания достижений в области машинного обучения. Мохамед регулярно выступает на многих конференциях по искусственному интеллекту, таких как DevCon Amazon, конференция O’Reilly AI и Google I/O.

Первоначально опубликовано на https://freecontent.manning.com.