Изображение как двумерный массив данных

Материал из Техническое зрение
Перейти к: навигация, поиск

Когда мы смотрим на двумерное изображение какой-либо трехмерной сцены (на картине, фотографии, экране монитора), нам кажется, что там непосредственно присутствуют все те предметы, которые мы могли бы увидеть, если бы непосредственно наблюдали ту же сцену в жизни. Между тем, все, что нам на самом деле дано в двумерном изображении, это $\textit{видимое поле}$, представляющее собой лишь некоторую $\textit{функцию распределения яркости}$ или $\textit{цвета}$ на двумерной плоскости: $f(x,y)$, где $x$ и $y$ - декартовы координаты, описывающие плоскость изображения.}

Более того, если приблизиться вплотную к экрану компьютерного монитора, можно увидеть, что изображение на экране на самом деле не гладкое и непрерывное, а представляет собой дискретную "мозаику", состоящую из отдельных цветных прямоугольников, расположенных в виде регулярной прямоугольной матрицы. Это и есть цифровое изображение. С математической точки зрения $\textit{цифровое изображение}$ представляет собой двумерную матрицу Im$[x,y]$ размера $ \textrm{DimX} \times \textrm{DimY}$, где $x$ - целое число от $0$ до $ \textrm{DimX} - 1$, описывающее номер элемента в строке матрицы, $y$ - целое число от 0 до $ \textrm{DimY} - 1$, описывающее номер строки матрицы, в которой расположен данный элемент. При этом сам элемент цифрового изображения (ячейка прямоугольной матрицы) носит название $\textit{пиксел}$ (pixel, picture element). В простейшем случае каждый пиксел Im$[x,y]$ имеет скалярное целочисленное значение, пропорциональное значению функции распределения яркости $f(x,y)$ в данной точке плоскости.

На рис. 1 слева показано изображение женского лица, представленное как изображение, а справа показан увеличенный фрагмент изображения того же лица (правый глаз), где для каждого элемента изображения указано соответствующее числовое значение пиксела. Светлым элементам изображения соответствуют б {о}льшие значения матрицы, темным - меньшие значения. Никакой другой информации цифровое изображение не содержит.

2-1-1.jpg

Цифровое изображение как двумерная матрица интенсивностей

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

На самом деле человеческий глаз, как и видеокамера, всего лишь формирует "видимое поле", аналогичное цифровому изображению. При этом оптическая система, состоящая из зрачка и хрусталика, проецирует двумерное изображение на сетчатку глаза, где фоточувствительные клетки ("палочки" и "колбочки") преобразуют полученное изображение в нервные импульсы. И только после этого сложный механизм обработки полученной информации, функционирующий в соответствующем отделе нашего мозга, интерпретирует эти импульсы как понятное нам изображение видимой сцены. Таким образом, и у человека функцию "видения" выполняет не один только глаз, но система "$\mbox{глаз} + \mbox{мозг}$" ("$\mbox{сенсор} + \mbox{компьютер}$"). Именно встроенные в мозг алгоритмы обработки информации позволяют человеку понимать то, что он видит. Роль этих встроенных алгоритмов можно пояснить на следующем примере.

Когда в середине XX века хирурги-офтальмологи научились делать операции на хрусталике глаза, у многих слепых от рождения людей появилась техническая возможность прозреть. То есть после такой операции у человека, доселе слепого (свет просто не проходил через хрусталик), изображение на сетчатке начинало формироваться и соответствующие сигналы начинали поступать в мозг совершенно так же, как это происходит у здоровых людей. К сожалению, в данном случае "увидеть свет" не означало "начать видеть". Как показала дальнейшая история, большинство "технически прозревших" взрослых пациентов так никогда и не смогли достичь в области зрения более существенных результатов, чем распознавание простых геометрических фигур - и даже это требовало от них серьезных сознательных усилий. Узнавание же людей по лицам и ориентирование в пространстве так и остались для них непосильными задачами. Дело в том, что те встроенные механизмы "автоматического" зрительного анализа, которые развиваются у людей в раннем детстве, у этих пациентов не были своевременно развиты, и они оказались в положении компьютера, имеющего устройство для ввода изображения, но не имеющего необходимого программного обеспечения для его анализа.

Для того чтобы окончательно убедиться в сложности стоящей перед нами задачи анализа изображения, представляющего собой двумерный массив числовых данных, попробуем поставить себя на место компьютерной программы, имеющей дело с абстрактными числами. Для этого мысленно изменим модальность восприятия изображения - переведем его из визуальной области в тактильную. Представим двумерный массив значений интенсивности как шахматную доску, размер которой равен размеру изображения $ \textrm{DimX} \times \textrm{DimY} $, а в центр каждой клетки воткнут столбик, высота которого пропорциональна значению соответствующего пиксела изображения. Иными словами, рассмотрим двумерное изображение как некую условную трехмерную поверхность. На рис. 2 слева фрагмент женского лица показан как изображение, а справа изображен как псевдотрехмерный рельеф.

2-1-2.jpg

Цифровое изображение как псевдотрехмерный рельеф

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

Полезные ссылки

  1. ☝ К началу
  2. ☜ Растровое изображение
Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты