Аряшев С.И., Бобков С.Г., Сидоров Е.А., Юдин И.В.

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

http://www.niisi.ru/old/pap2.htm

1. Введение

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

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

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

2. Алгоритмы обработки изображений

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

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

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

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

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

,   (1)

где N2 xM2 - размер матрицы ядра свертки. Размер матрицы A равен (N1+N2-1) x (M1+M2-1), где N1 x M1 - размер исходной матрицы A'. Матрица A получается из исходной путем добавления элементов на краях матрицы по некоторому правилу с тем, чтобы привести ее к необходимому размеру. Обычно исходная матрица на краях дополняется нулями на половину ширины матрицы K влево и вправо и соответственно на половину высоты вверх и на столько же вниз. Тогда размер полученной матрицы B будет таким же, как и у матрицы A'

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

В основе вычисления свертки с использованием интегральных преобразований типа Фурье лежит теорема о свертке:

KxM = F-1 ( F(K) x F(M)) , ( 2 )где символами F и F-1 обозначены соответственно прямое и обратное фурье-подобное интегральное преобразование. В выражении справа подразумевается почленное произведение элементов матриц-образов, а слева свертка исходных матриц. Матрицы K и M должны иметь одинаковую размерность, что достигается путем добавления нулевых элементов к матрице, имеющей меньший размер.

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

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

Для улучшения визуального восприятия изображения кроме избавления от помех и искажений иногда необходимо также усилить контрастность объектов: темные объекты сделать еще более темными, а светлые - более светлыми. Изображения с высоким контрастом используют весь диапазон яркости, соответствующей полутоновым изображениям. Для низкоконтрастных изображений значения яркостей всех точек лежат лишь в некотором узком диапазоне, т. е. близки друг к другу. Существуют различные методы повышения контрастности изображения.

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

Одним из наиболее известных алгоритмов вычисления градиентов интенсивности является алгоритм Собеля. В данном методе вычисляются 2 различные свертки.

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

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

Самый общий метод, который применим в подавляющем большинстве случаев - это прямое поточечное сравнение яркостей эталонов и участков изображения соответствующего размера. Эталон как бы "скользит" по изображению с шагом в одну точку, и в каждом положении подсчитывается сумма абсолютных значений разностей яркостей соответствующих точек эталона и изображения. Если сумма ниже определенного порога, то считается, что в данном месте обнаружен искомый объект. Вместо операции разности яркостей могут использоваться и другие операции - например, умножение, как в свертке, либо какие-то логические функции. Главным недостатком данного метода является необходимость очень большого числа вычислений, а следовательно - большие затраты времени на обработку одного изображения. При повороте объекта, его увеличении или уменьшении необходимо формировать новые эталоны и производить сравнение также и с этими эталонами, что приводит к многократному увеличению количества операций. Но если ориентация и размеры объектов на изображении предполагаются всегда строго фиксированными, и размеры изображения и искомых объектов соизмеримы, данный метод может эффективно применяться. Результат обработки может быть представлен в виде матрицы, каждый элемент которой есть итог сравнения точек эталона и изображения в каждой позиции, т.е. в двоичном виде определяться как : 0 , если порог превышен, и 1, если порог не превышен (если 0 - "объект не найден" и если 1 - "объект найден").

В случае, если искомыми объектами являются сплошные фигуры, то поиск объектов можно начинать с поиска всех объектов с площадью, соответствующей площади объекта, т.е. провести предварительную сегментацию изображения с учетом неоднородностей. После этого, для дальнейшей обработки можно применить, например, метод прямого сравнения, описанный выше. Количество операций при этом существенно уменьшается. Алгоритм выделения участков с пятнами яркости заданной площади заключается в следующем. Пусть ширина искомых объектов равна n точек, а высота m точек. Тогда все изображение разбивается на участки шириной 2n и высотой 2m точек, данные участки накладываются друг на друга с шагом n по горизонтали и m по вертикали. Такое разбиение проводится для того, чтобы для любого объекта размером n x m нашелся бы как минимум один участок 2nx 2m, в который данный объект укладывался бы полностью. Для каждого такого участка находится средняя яркость, и затем подсчитывается число точек, яркость которых превышает среднюю более, чем на некоторое заданное число. Таким образом подсчитывается площадь фигуры, яркость точек которой выше средней. Затем производится сравнение полученной площади с площадью объекта, и если она приблизительно равна или больше площади объекта, то данный участок помечается как "подозрительный" на существование объекта в нем - формируется гипотеза. Далее этот участок можно исследовать другими методами.

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

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