Научная статья на тему 'О распараллеливании вычислений в задаче автоматической классификации объектов на космофотоснимках'

О распараллеливании вычислений в задаче автоматической классификации объектов на космофотоснимках Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
257
57
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / КЛАССИФИКАЦИЯ ОБЪЕКТОВ / ИЗОБРАЖЕНИЕ / ВАРИАЦИОННЫЙ ПРИНЦИП / МАКСИМИЗАЦИЯ ФУНКЦИОНАЛА КАЧЕСТВА РАЗБИЕНИЯ / РАЗРЕЗАНИЕ ГРАФОВ / МИНИМАЛЬНОЕ ОСТОВОЕ ДЕРЕВО / MPI / OPENMP / CUDA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Барсук А. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Барсук А. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О распараллеливании вычислений в задаче автоматической классификации объектов на космофотоснимках»

Серия История. Политология. Экономика. Информатика. 2010. № 19 (90). Выпуск 16/1

УДК 621.396

О РАСПАРАЛЛЕЛИВАНИИ ВЫЧИСЛЕНИЙ В ЗАДАЧЕ АВТОМАТИЧЕСКОЙ КЛАССИФИКАЦИИ ОБЪЕКТОВ НА КОСМОФОТОСНИМКАХ

Белгородский

государственный

университет

А.А. БАРСУК

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

Ключевые слова: параллельные вычисления, МР1, ОрепМР, CUDA, классификация объектов, изображение, вариационный принцип, максимизация функционала качества разбиения, разрезание графов, минимальное остовое дерево.

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

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

Одной из процедур дешифрирования является выделение на изображениях отдельных групп объектов, объединяемых на основе некоторых признаков (классификация), для чего предложены различные подходы. Приписывание объектов в изображениях к определенным классам является, подобно многим другим аспектам обработки изображений и анализа, несомненно, междисциплинарной задачей, которая характерна не для анализа изображений, а для самого общего типа методов [7].

В настоящее время существует достаточно широкий спектр алгоритмов автоматической классификации объектов на изображениях, использующих в своей основе различные принципы. В современных программных средствах обработки изображений (ENVI, arcGIS, ERMAP Imagine) для решения задачи автоматической классификации объектов используются алгоритмы K-Means (К-внутригрупповых средних) и ISODATA (ИСОМАД). Отдельно следует выделить разработанный авторами метод и алгоритм автоматической вариационной классификации объектов на спутниковых фотографиях земной поверхности, который во многих случаях дает лучшие, более адекватные разбиения с позиции человеческих представлений об адекватности классификации по сравнению с вышеупомянутыми алгоритмами [5].

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

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

г 1

L _ —, (1)

V

где

K * Ln

V 1 + 1 1 Norm_________________________________________________________\Norm / (2)

_ 1 Ln (K) ’

K

Norm _1 St, (3)

i_ 1

Ml

Si _-1Piq *Ln (Pq X (4)

q _1

riq , ,

piq _ V- ’ (5)

Rq

M q - 1

I rq _ Rq , (6)

і _ 1

где % - общая длина внутренних ребер q-го подмножества; г - длина і-ого ребра в q-ом

д ід

подмножестве (і = 1 Mq-l).

Эксперименты показали, что в задачах классификации объектов на изображениях представленный функционал позволяет получить разбиения, характеризующиеся высоким уровнем адекватности [5].

В упрощенном виде алгоритм вариационной автоматической классификации объектов на спутниковых фотографиях земной поверхности состоит из 2 основных частей (рис. 1):

1) подготовка изображения к классификации;

2) непосредственно классификация множества объектов.

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

C _ CK n (7)

max max

где n - количество каналов изображения.

2 -іачапьньїб п* эзпнетіьі

■УІЖСИСМіИЦНіЛ

Гц^оііли к«Паиифккашил

Ква-гговэнне Фиаіяирооійнлї СМіЛС &й СЙзЄІЛ ЗН

ка напое події сдацнх

ігшСшфнк-зьлн

ЮЦНн4ИКВЦКЙ L LV-1-rihaJhb-ІІ1-ЇК'

.U;.1:і:.і_.:::і■.:. м <цмесііи |*±і£ИвН)с*

Гізсгроенїге *ІНП

К(ЛІЛ,1ГЛ-,1Г|Г:І|Н:^ t'-', і -I |H(i іЕП ’■ КНЧ'Г.ТПЯ РЭ^ЗНЩН

_■:■ классификации 2. I' I 'JtlUL-tr 1-i

j ■ iu «aflic KnacLHiJiHUiJivi

Рис. 1. Упрощенная схема алгоритма вариационной автоматической классификации объектов на изображениях

Новые значения пиксельных интенсивностей рассчитываются согласно соотношения 8:

Sk _ I, max + CKmax, (8)

.I

ijk

ijk

* Sk ] і _ 1,2,...M; j _ 1,2,...,N.

Здесь Sk - шаг квантования по ^-каналу, тіік - интенсивность у пикселя по ^-каналу, 1к тах - максимально возможное значение интенсивности в канале, [ ] - оператор взятия целой части, М, N - ширина и высота изображения в пикселях. После проведения такого преобразования количество цветов на изображении не превышает Стах.

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

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

Следующим этапом является построение минимального остового дерева или кратчайшего незамкнутого (КНП). Для этого используется модифицированный алгоритм Краскала, сложность которого составляет О(п3). Столь высокая сложность обуславливается невозможностью хранения в памяти всех ребер исходного графа. Параллельный алгоритм построения КНП будет иметь временную сложность О(п3/К) [3]. Несмотря на неизменный порядок временной сложности алгоритма, реальный выигрыш во времени его выполнения может составить К раз.

Следующим этапом работы алгоритма автоматической вариационной классификации будет разрезание максимального ребра КНП. На основе полученного разбиения вычисляется функционал качества Ь (рис. 2).

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

В настоящее время самыми широко распространенными технологиями параллельного программирования являются OpenMP, MPI и технология параллельных вычислений на графических процессорах CUDA.

Одним из наиболее популярных средств программирования для компьютеров с общей памятью, базирующихся на традиционных языках программирования и использовании специальных комментариев, в настоящее время является технология OpenMP. За основу берётся последовательная программа, а для создания её параллельной версии пользователю предоставляется набор директив, функций и переменных окружения. Интерфейс OpenMP задуман как стандарт для программирования на масштабируемых SMP-системах (SSMP, ccNUMA и других) в модели общей памяти. В стандарт OpenMP входят спецификации набора директив компилятора, вспомогательных функций и переменных среды. OpenMP реализует параллельные вычисления с помощью многопоточности, в которой «главный» (master) поток создает набор «подчиненных» (slave) потоков, и задача распределяется между ними. Предполагается, что потоки выполняются параллельно на машине с несколькими процессорами [1]. OpenMP максимально подходит для эффективной реализации параллельных программ современных многоядерных процессоров.

Наиболее распространенной технологией программирования для параллельных компьютеров с распределенной памятью в настоящее время является MPI Message Passing Interface. Основным способом взаимодействия параллельных процессов в таких системах является передача сообщений друг другу. Стандарт MPI фиксирует интерфейс, который должен соблюдаться как системой программирования на каждой вычислительной платформе, так и пользователем при создании своих программ.

Интерфейс MPI поддерживает создание параллельных программ в стиле MIMD (Multiple Instruction Multiple Data), что подразумевает объединение процессов с различными исходными текстами. Однако писать и отлаживать такие программы очень сложно, поэтому на практике программисты гораздо чаще используют SPMD-модель (Single Program Multiple Data) параллельного программирования, в рамках которой для всех параллельных процессов используется один и тот же код [2]. MPI предназначена для разработки параллельных программ, исполняемых на вычислительных кластерах и суперкомпьютерах.

и

Рис. 2. Пример разрезания КНП на два поддерева, соответствующих двум классам

CUDA (Compute Unified Device Architecture) — программно аппаратная вычислительная архитектура, позволяющая программистам реализовывать алгоритмы, выполнимые на графических процессорах ускорителей GeForce восьмого поколения и старше. CUDA даёт разработчику возможность по своему усмотрению организовывать доступ к набору инструкций графического ускорителя и управлять его памятью, организовывать на нём сложные параллельные вычисления. Графический ускоритель с поддержкой CUDA становится мощной программируемой открытой архитектурой, приближаясь к сегодняшним центральным процессорам, а в массово параллельных задачах существенно превосходя их. В данной технологии реализован SIMD-принцип компьютерных вычислений, что накладывает определенные ограничения на эффективное использование CUDA.

Выбор конкретной технологии зависит от масштаба решаемых задач и наличия необходимого оборудования. Программная реализация алгоритма автоматической вариационной классификации объектов на спутниковых фотографиях земной поверхности для ЭВМ-класса «IBM-PC совместимые» может быть разработана с использованием технологий OpenMP и CUDA (при наличии соответствующего графического ускорителя). Это позволит за приемлемое время (минуты) производить обработку 3-канальных снимков с CKmax = 20. Использование же технологии MPI даст возможность производить вычисления на кластерах и суперкомпьютерах, что позволит изменить порядок ограничений на входные данные.

Статья подготовлена в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы

Литература

1. Антонов А.С. Параллельное программирование с использованием технологии OpenMP: учеб. пособие. - М.: Изд-во МГУ, 2009. - 77 с.

2. Антонов А. С. Параллельное программирование с использованием технологии MPI: учеб. пособие. - М.: Изд-во МГУ, 2004. - 71 с.

3. Макконнелл Дж. Основы современных алгоритмов. - 2-е доп. изд. - М: Техносфера, 2004. - 368 с.

4. Елкина В.Н., Загоруйко Н.Г. Количественные критерии качества таксономии и их использование в процессе принятия решений // Вычислительные системы. - Новосибирск, 1969. -Вып. 36. - С. 29-46.

5. Жиляков Е.Г., Барсук А.А. О компьютерной реализации автоматической вариационной классификации объектов на спутниковых фотографиях земной поверхности // Вопросы радиоэлектроники. - 2010. - Вып. 1. - С. 166-171

6. Маматов Е.М. Применение информационной меры однородности в задачах автоматической классификации объектов и распознавания образов (Системный анализ, управление и обработка информации (информационно-телекоммуникационные системы)) : дис. ... канд. техн. наук. - Белгород, 2006. - 126 с.

7. Яне Б. Цифровая обработка изображений. - М.: Техносфера, 2007. - 584 с.

ABOUT THE PARALLELIZING OF COMPUTATIONS IN THE TASK OF AUTOMATIC CLASSIFICATION OF OBJECTS AT THE SATELLITE PHOTOS

A.A. BARSUK An approach to the implementation of parallel computations in the variational

method of automatic classification of objects in satellite images of Earth’s surface is Belgorod State University presented. The modern technology of developing parallel programs are considered.

Key words: parallel computing, MPI, OpenMP, CUDA, object classification, image, variational principle, maximization of partitioning quantity functional, graph splitting, minimal spanning tree.

i Надоели баннеры? Вы всегда можете отключить рекламу.