УДК 528.852
А.А. Бучнев, В.П. Пяткин, Е.В. Русин ИВМиМГ СО РАН, Новосибирск СГГА, Новосибирск
ПРОГРАММНЫЕ ТЕХНОЛОГИИ ДЛЯ ОБРАБОТКИ ДАННЫХ ДИСТАНЦИОННОГО ЗОНДИРОВАНИЯ ЗЕМЛИ
Программные технологии для обработки данных дистанционного зондирования Земли (ДЗЗ) обсуждаются в статье. Поскольку анализ и обработка данных ДЗЗ требуют мобилизации всех доступных аппаратно-программных средств, предлагаются новые программные технологии для решения этих задач. Обсуждаются предварительные результаты реализаций этих технологий.
А.А. Buchnev, V.P. Pyatkin, E.V. Rusin ICM&MG SB RAS, Novosibirsk SSGA, Novosibirsk
SOFTWARE TECHNOLOGIES FOR THE PROCESSING OF THE EARTH REMOTE SENSING DATA
The software technologies for processing of Earth remote sensing (ERS) data is discussed in the paper. Since the ERS data analysis and processing require mobilizing all available hard- and software tools, the new software technologies are developed to solve these tasks. The preliminary results of these technologies implementation are presented.
1. Введение. В последние годы характерными чертами дистанционного зондирования Земли являются, с одной стороны - повышение пространственного разрешения космических снимков, с другой - использование гиперспектральной съемки с большим числом спектральных диапазонов. Синтезированные многоспектральные данные, получаемые при совмещении изображений из нескольких спектральных каналов, могут иметь объемы в сотни мегабайт. В представленной работе описаны программные технологии, предназначенные для обработки данных дистанционного зондирования Земли (ДЗЗ), получаемых с космических аппаратов (как иностранных, так и отечественных) последнего поколения. Технологии создавались в тесном сотрудничестве с Научно-исследовательским центром (НИЦ) космической гидрометеорологии «Планета» в рамках Федеральной целевой программы «Федеральная космическая программа России на 2006-2015 годы». Соответствующий программный комплекс внедрён в практику оперативной работы головного центра приёма и обработки спутниковых данных НИЦ «Планета».
2. Предварительная обработка данных ДЗЗ. Предварительная обработка включает в себя набор общепринятых операций по яркостным и контрастным преобразованиям изображений, а также преобразования, направленные на декорреляцию данных входных векторов измерений с помощью ковариационных и корреляционных матриц (приведение к главным осям) и уменьшение размерности векторов измерений (выделение главных компонент) [1].
3. Геометрические преобразования. В группу геометрических преобразований мы включаем масштабирование изображений и отображение космических снимков на растровые карты (геокодирование). Особенностью масштабирования является то, что в нем реализован принцип «трансфокатора» с плавным нелинейным изменением масштаба, т.е. любая позиция на экране монитора может быть объявлена центром масштабирования. Геокодирование основано на использовании механизма опорных точек снимка и карты и реализовано двумя способами - с помощью триангуляции и отображающих многочленов (полиномов). В первом случае выпуклая оболочка набора опорных точек снимка отображается на карту с помощью триангуляции Делоне либо «жадной» триангуляции. Во втором случае по наборам опорных точек снимка и карты строится отображающий полином заданной степени (первой, второй или третьей) и на карту отображается весь снимок. Как при масштабировании, так и при геокодировании пиксели результирующего изображения формируются с использованием одного из типов интерполяции: без интерполяции (в качестве результата используется ближайший пиксель), билинейная либо бикубическая интерполяции.
При построении растровых карт используются наиболее распространенные типы картографических проекций: стереографическая, Гаусса-Крюгера, Меркатора и Каврайского. Карта имеет битовую (слойную) структуру: нулевые биты значений пикселей содержат данные о сетке географических координат; первые - информацию о контурах географических объектов из CBD-(Compressed Binary Data) файлов; вторые - текст; третьи - условные обозначения населенных пунктов; биты с четвертого по седьмой - данные шейп-файлов ГИС ArcView. Такая структура карты позволяет работать с любым элементом карты отдельно от других (в частности, легко реализуется независимая цветовая окраска различных элементов карты).
4. Выделение линеаментов и кольцевых структур. Функциональные возможности программного комплекса по обработке данных ДЗЗ включают в себя обнаружение кольцевых структур и протяженных объектов (линеаментов). В основу соответствующих алгоритмов, разработанных в ИВМиМГ СО РАН [2], положено использование непараметрических статистических критериев для выделения аномальных структур на аэрокосмических изображениях. Для каждого возможного положения решение о наличии объекта принимается по результату проверки с помощью подходящего критерия гипотезы однородности величин, наблюдаемых соответствующим образом. Удобный непараметрический критерий для проверки этой гипотезы можно построить по значениям двух пар статистик Манна-Уитни. Вычисление этих статистик
основано на анализе значений пикселей изображения вдоль нормалей к предполагаемому положению объекта. Считается, что при исследовании каждого возможного положения объекта все наблюдаемые величины берутся в достаточно отдаленных друг от друга точках на изображении так, чтобы они могли рассматриваться как статистически независимые в совокупности, когда в поле зрения объект отсутствует.
5. Классификация. Эффективность дистанционных исследований Земли из космоса во многом определяется используемыми методами тематической обработки данных ДЗЗ. При этом центральной при тематической обработке, безусловно, является система классификации. В разработанную совместно с НИЦ «Планета» систему распознавания образов включены алгоритмы контролируемой и неконтролируемой классификации многоспектральных данных ДЗЗ [3, 4].
5.1. Контролируемая классификация. Центральный вопрос интерпретации данных ДЗЗ (вопрос повышения качества дешифрирования) непосредственно связан с проблемой выбора адекватного алгоритма распознавания. Можно сказать, что современный опыт автоматизированного распознавания данных ДЗЗ показывает: заранее практически невозможно установить, какой алгоритм будет лучше с точки зрения соотношения точности классификации и стоимости. Поэтому в распознающую систему целесообразно закладывать несколько алгоритмов и выбор оптимального алгоритма проводить эмпирически на этапе обучения по результатам классификации тестовых данных. Выбранный алгоритм используется затем для распознавания всего набора векторов измерений. Система контролируемой классификации данных ДЗЗ в программном комплексе состоит из семи классификаторов (один поэлементный классификатор и шесть объектных), основанных на использовании байесовской стратегии максимального правдоподобия для нормально распределенных векторов признаков, и двух объектных классификаторов, основанных на минимуме расстояния. Элементом считается N -мерный вектор измерений (признаков) х = (х1,...,хы)т , где Ы— число спектральных диапазонов. Предполагается, что векторы х имеют в классе со1 нормальное распределение N(ш1, Bi) со средним щ и ковариационной матрицей В . Под объектом мы понимаем блок смежных векторов
крестообразной или квадратной формы с длиной образующей ^ Поскольку физические размеры реально сканируемых пространственных объектов, как правило, больше разрешения съемочных систем, между векторами данных существуют взаимосвязи. Использование информации подобного рода дает возможность повысить точность классификации, если пытаться распознавать одновременно группу смежных векторов - объект в приведенном выше смысле. Решение об отнесении центрального элемента объекта тому или иному классу принимается на основе результата классификации всего объекта. Объектные классификаторы используют различные предположения о характере статистических взаимосвязей между векторами, составляющими объект: векторы внутри блока независимы, векторы независимы и ковариационные
матрицы равны единичной, пространственные характеристики объекта вычисляются на основе модели казуального случайного марковского поля первого либо третьего порядка.
5.2.Кластерный анализ. Характеризуя методы кластеризации в целом, следует отметить, что в основном они отыскивают в данных не те структуры, которые там реально существуют, а те, для поиска которых они предназначены [4]. Поэтому надежность результатов кластеризации часто можно оценить лишь сравнением нескольких вариантов обработки. Система кластерного анализа в программном комплексе представлена двумя алгоритмами - методом К -средних и методом анализа мод многомерной гистограммы [5], а также гибридным методом, объединяющим метод анализа мод многомерной гистограммы с последующей иерархической группировкой. Первый подход основан на итеративной процедуре отнесения векторов признаков классам по критерию минимума расстояния от вектора до центра класса. Оптимальным считается такое разбиение входных векторов на кластеры, при котором внутриклассовый разброс не может быть уменьшен при переносе какого-либо вектора из одного кластера в другой. Для алгоритма ^-средних существуют два способа пересчета центров кластеров при выполнении итерационных операций. В соответствии с первым методом (метод Ллойда) выполнение каждой итерации алгоритма состоит в распределении всех векторов данных по кластерам по минимуму расстояния до центров кластеров и последующем пересчете центров кластеров в соответствии с полученным распределением. В варианте, предложенном Мак-Квином, во время выполнения итерации алгоритма каждый раз, когда выясняется, что вектор, находящийся в кластере у, на самом деле ближе к центру кластера к, этот вектор переводится из кластера у в кластер к с пересчетом центров и объемов этих кластеров. В процессе работы алгоритмов расстояние между векторами определяется на основе одной из трех метрик: евклидовой, городских кварталов (Сити-блок) или Чебышева. Выбор метрики определяет форму получаемых кластеров. Известно, что результаты кластеризации методом ^-средних зависят от выбора начальных центров кластеров, а в некоторых случаях даже от порядка, в котором расположены входные данные. Нами реализованы варианты выбора начальных центров кластеров, основанные на использовании статистических характеристик входных данных и на случайном распределении векторов признаков по кластерам. Результаты кластеризации методом ^-средних в большой степени зависят от дисперсии входных данных: большая дисперсия стремится нарушить форму получаемых кластеров. В связи с этим предусмотрена возможность ограничения набора векторов для кластеризации: обрабатываются только те векторы, которые не выходят за границу эквидистантной поверхности (в случае евклидовой метрики это гиперсфера), определяемой дисперсией компонент векторов признаков. По окончании процесса кластеризации векторы, находящиеся вне этой поверхности, могут быть полностью либо частично распределены по кластерам на основе минимума расстояния до центра кластеров. Кроме того, на исходном изображении могут присутствовать объекты, которые фактически являются шумом по отношению к интересующей
эксперта части изображения (например, таким объектом при анализе прибрежных водных акваторий является суша). В связи с этим для исключения из процесса обработки ненужных объектов предусмотрен механизм маскирования векторов данных. Алгоритм ^-средних может быть отнесен к классу параметрических, т.к. он неявным образом предполагает природу плотности вероятности: кластеры стремятся иметь конкретную геометрическую форму, зависящую от выбранной метрики. Альтернативой является подход, основанный на предположении, что исходные данные являются выборкой из многомодового закона распределения, причем векторы, отвечающие отдельной моде, образуют кластер. Таким образом, задача сводится к анализу мод многомерных гистограмм. В программный комплекс включена реализация метода, описание основных шагов которого приведено в [4, 5].
Практическое использование метода анализа мод многомерной гистограммы показывает, что зачастую получение приемлемого результата является весьма трудоемким процессом и требует высокой квалификации эксперта-исследователя. В связи с этим, система кластеризации дополнена двухэтапным подходом: на первом этапе выполняется предварительное разбиение исходной выборки на кластеры с помощью модального анализа, а затем для получения окончательного результата используется иерархическая группировка [6]. Достоинством иерархической группировки является то, что после построения иерархического дерева кластеризации можно «разрезать» его на любом уровне иерархии, т.е. получать разные кластерные карты, не запуская снова процесс кластеризации. Последним этапом работы всех классификаторов является сортировка полученных классов по убыванию их объемов, подсчет векторов средних и стандартных отклонений в каналах для каждого класса. Результатом работы классификаторов является одноканальное изображение, значениями пикселей которого являются номера классов. К выходному изображению можно применить функцию постклассификации для удаления изолированных пикселей, а также функцию генерализации (объединения) полученных классов.
6. Пространственные перемещения (дрейфы) ледяных полей, водных масс, облачных образований. Определение пространственных перемещений природных объектов по разновременным спутниковым изображениям основано на нахождении максимумов коэффициента взаимной корреляции между объектами двух соседних изображений в серии последовательных изображений [7, 8]. В [1] аналогичный подход рассматривается в качестве метода распознавания образов, известного как корреляционное сопоставление. Однако для космических изображений, вследствие случайного характера представленных на них изображений интересующих нас природных объектов, невозможно говорить о каком-либо предопределенном словаре образов. Такой словарь образов формируется динамически во время анализа серии изображений. Он является индивидуальным для каждого изображения. Построение словаря основано на подходах, изложенных в [9]. Элементы словаря, называемые объектами-эталонами или просто эталонами, представляют собой квадратную область исходного изображения заданного
размера. Они отыскиваются в некоторой окрестности узлов квадратной сетки таким образом, чтобы обеспечить максимальное значение управляющего параметра - дисперсии либо энтропии. Если при этом окажется, что достигнутое максимальное значение управляющего параметра превышает заданный порог, то соответствующая часть изображения объявляется эталоном. Другими словами, процедура построения объектов-эталонов направлена на поиск квадратных областей с максимальной «изменчивостью». Для таких областей высока вероятность того, что соответствующий объект не будет полностью разрушен при переходе к следующему изображению серии. Кроме того, снижается вероятность учета случайных корреляций для участков изображений с фоновыми распределениями пикселей изображений. Согласно [9] предусматриваются эталоны двух типов: главные и вторичные. Позиции главных эталонов совпадают с концами векторов перемещений эталонов из предыдущего изображения (для первого изображения серии главных эталонов нет). Поиск вторичных эталонов размера Targ_Size производится в узлах сетки с размером Grid_Size. Размер квадратной области с центром в узлах сетки для поиска эталонов задается параметром Targ_Search. Допустимое минимальное расстояние между эталонами управляется параметром Targ_Dist. Оптимальной позицией для эталона внутри области поиска считается та, в которой достигается максимум значения управляющего параметра Par - контраста либо энтропии. При поиске эталонов внутри области размера Targ_Search используются локальные средние и стандартные отклонения, вычисленные по окрестности 3*3. Контраст определяется как разность между максимальным и минимальным значениями локальных средних. Кроме перечисленных параметров, определяющих "физические" характеристики, при поиске эталонов используются параметры, характеризующие "изменчивость" изображения внутри области, покрываемой эталоном: Min_St_Dev - минимальное значение локального стандартного отклонения, Num Gr SD - минимальное количество пикселей со стандартным отклонением большим Min_St_Dev. Для многоспектральных изображений процедура поиска эталонов применяется к данным каждого спектрального диапазона. Смещение определяется для каждого из K_Targs найденных эталонов. Поиск новой позиции эталона производится внутри квадратной области размера SearchSize. Центр области поиска совпадает с исходной позицией эталона. Новой позицией эталона считается позиция, в которой достигается максимальное значение коэффициента взаимной корреляции Corr. В процессе сканирования области поиска эталон может подвергаться преобразованиям масштабирования и поворота. При этом используемые для анализа значения пикселей могут быть получены с помощью билинейной либо бикубической интерполяции. Среди всех отобранных позиций могут быть отобраны позиции, удовлетворяющие пороговым условиям - минимально допустимое значение коэффициента корреляции и минимально допустимое смещение. Заключительный этап -построение векторных полей пространственных перемещений объектов в соответствии с найденными позициями. Процесс может быть продолжен итеративно для следующих изображений серии: найденные области с
максимальным значением корреляции объявляются главными эталонами, к ним могут быть добавлены вторичные эталоны, полученные с помощью описанной ранее процедуры поиска эталонов, для нового набора эталонов находятся их позиции на следующем изображении и так далее.
Описанная процедура построения полей перемещений объектов практически без изменений используется для анализа перемещений облачных образований на основе серии последовательных изображений, полученных с геостационарных спутников. Однако для водных масс и ледяных полей изображения в серии отстоят друг от друга далеко по времени - изображения Черного и Азовского морей получаются два раза в сутки (восходящая и нисходящая траектории ИСЗ Terra), а изображения ледяных полей являются результатом объединения (построения мозаик) радиолокационных изображений, полученных в течение суток. По этой причине, во избежание получения явно ошибочных корреляций, необходимо в максимально возможной степени ужесточать требования как к построению эталонов, так и к уровню корреляции. Так полученного количества векторов смещений не хватает для построения векторного поля, характеризующего динамику процесса. В связи с этим для этих природных объектов предложено и реализовано следующее дополнение к технологии построения векторных полей перемещений. На основе позиций найденных эталонов строится триангуляция Делоне, которая вместе с соответствующими координатами новых позиций эталонов на следующем изображении определяет семейство кусочно-аффинных преобразований плоскости. Программные технологии включают в себя функции получения статистических характеристик построенных векторных полей - распределение векторов по направлениям (с задаваемой дискретностью изменения угла) и распределение скоростей векторов.
7. Параллельные вычисления. Гигантские объемы данных ДЗЗ, трудоемкость обрабатывающих их алгоритмов и потребность интерпретации данных ДЗЗ в реальном времени влекут необходимость привлечения к обработке спутниковых данных высокопроизводительных ЭВМ [10].
7.1. Программная система SSCCIP. С целью повышения производительности обработки спутниковых данных авторами была разработана программная система SSCCIP (Siberian Scientific Computing Center - Image Processing), интегрирующая удаленную многопроцессорную ЭВМ в процессы обработки и анализа данных ДЗЗ.
Концептуально система представляет собой рабочее место оператора, функционирующее в окружении операционной системы MS Windows и обеспечивающее выполнение операций обработки данных ДЗЗ. Сама обработка при этом выполняется на удаленной суперЭВМ, а ЭВМ оператора фактически выполняет функции управления вычислениями и визуализации результатов.
Архитектурно система SSCCIP состоит из следующих компонент:
Клиентской, функционирующей на ЭВМ оператора и управляемой оператором.
Серверной, функционирующей на удаленной многопроцессорной ЭВМ и выполняющей непосредственно вычисления.
- Коммуникационной, связывающей клиентскую и серверную компоненты защищенным SSH-каналом.
Система SSCCIP реализована на языке C++ с применением сторонних библиотек CxImage [11] (ввод-вывод изображений в различных графических форматах) и CryptLib [12] (реализация коммуникационной компоненты системы). Важным принципом, использованным при создании системы, являлась легкость добавления (далее «погружения») в нее новых технологий обработки. Следуя этому принципу, при разработке всех компонент системы авторы придерживались идеологии технологического каркаса (framework), при которой операции, общие для всех или достаточно большой группы технологий, реализуются кодом системы, а операции, специфичные для каждой технологии, реализуются отдельно при погружении очередной технологии. В отдельных компонентах системы технически это реализовано следующим образом:
- Клиентская компонента. Общими для всех погружаемых в систему технологий операциями являются загрузка исходных данных с клиентской ЭВМ на суперЭВМ, запуск вычислительного задания на суперЭВМ и отслеживание статуса его выполнения, загрузка результатов вычислений с суперЭВМ на клиентскую ЭВМ. Специфичными для каждой технологии операциями являются интерактивное конфигурирование алгоритма обработки, формирование вычислительного задания и визуализация конечных результатов. Код, выполняющий общие операции выделен в обобщенную подпрограмму обработки executeParallelTask(); также в системе объявлен интерфейс IParallelTask с двумя методами: Configure() и Visialize (), которые должен определить реализующий интерфейс конкретный класс обработки. Целью метода Configure() является интерактивное конфигурирование алгоритма обработки; он возвращает содержимое задания на обработку, список файлов для загрузки на сервер перед вычислениями и список файлов для загрузки с сервера после вычислений. С помощью метода Visialize(), вызываемого системой после загрузки с сервера результатов вычислений, конкретная операция обработки выполняет визуализацию результатов. Для выполнения конкретной операции обработки необходимо параметризовать обобщенную операцию executeParallelTask() классом конкретной операции.
- Серверная компонента реализована с использованием разработанной авторами высокопроизводительной библиотеки обработки изображений на многопроцессорной ЭВМ SSCC-PIPL (Siberian Scientific Computing Center -Parallel Image Processing Library) [13], которая также реализована согласно идеологии технологического каркаса. Общими для различных технологий «серверными» операциями являются инициализация-деинициализация параллельной среды, первичный разбор файла-задания, загрузка исходных изображений из графических файлов, сохранение результатов графические файлы. В собственно реализации вычислений библиотекой SSCC-PIPL также выделяются общие операции: распараллеливание является общей операцией
для отдельных достаточно широких классов алгоритмов (например, все алгоритмы типа «окрестность пикселя радиуса R - пиксель» могут быть распараллелены по схеме «разрезание данных на полосы с перекрытием в R пикселей»), аналогично дело обстоит с итерацией по пикселям изображений при вычислениях. Таким образом, специфичными для каждой технологии операциями являются лишь интерпретация параметров вычислительного задания и вычисление одного пикселя результата.
Таким образом, для добавления в систему новой технологии, автору, возможно, не придется иметь дело с моделями параллелизма и сетевым взаимодействием; необходимо будет реализовать лишь интерактивную операцию конфигурирования алгоритма, операцию визуализации результатов обработки, и класс алгоритма обработки, совместимый с библиотекой SSCC-PIPL и описывающий алгоритм в терминах окрестности обрабатываемого пикселя [13].
7.2.Высокопроизводительные вычисления на GPU. В последние годы появился большой практический интерес к использованию современных графических процессоров (Graphics Processing Unit, GPU) в качестве универсального вычислителя. Вообще говоря, GPU ориентирован на эффективизацию решения задач машинной графики, в частности он содержит аппаратные функции, позволяющие эффективно (с производительностью в сотни ГФлопс) выполнять массовые вычисления (однотипные операции над большим объемом данных). Эти возможности позволяют использовать GPU в задачах, не связанных с визуализацией, но также опирающихся на массовые вычисления, например в задачах обработки и анализа изображений. На ряде практических задач вычисления на GPU обеспечили 70-кратное ускорение по сравнению с вычислениями на центральном процессоре, что соответствует временным результатам, получаемым на суперЭВМ. Концепция универсальных вычислений на GPU получила поддержку производителей графических ускорителей (технологии CUDA от NVIDIA, ATI Stream от AMD), что делает доступным написание программ, использующих GPU, на языке высокого уровня без знаний архитектуры сопроцессора. Это, а также невысокая стоимость современных GPU, делает их вовлечение в процессы обработки и анализа данных ДЗЗ актуальной научной задачей. В ближайших планах авторов работы стоит реализация распределенной технологии, позволяющей использовать ЭВМ с современным графическим ускорителем как вычислительный сервер, обслуживающий вычислительные запросы клиентов на обработку данных ДЗЗ. При разработке данной технологии будет использован опыт и результаты, полученные при работе над системой SSCCIP (принципы организации, архитектура и программный код).
Работа выполнена частично при финансовой поддержке Российского фонда фундаментальных исследований (проект № 10-07-00131).
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. Пер. с англ. под ред. П.А. Чочиа. - Москва: Техносфера, 2005. - 1072 с.
2. Салов Г.И. О мощности непараметрических критериев для обнаружения протяженных объектов на случайном фоне // Автометрия. - 1997, № 3. - С. 60-75.
3. Дистанционное зондирование: количественный подход. Пер. с англ. Пяткина В.П. и Юдиной О.А., под ред. Алексеева А.С.. - Москва: Недра, 1983, - 415 с.
4. Асмус В.В. Программно-аппаратный комплекс обработки спутниковых данных и его применение для задач гидрометеорологии и мониторинга природной среды. Диссертация в виде научного доклада на соискание ученой степени доктора физико-математических наук. На правах рукописи. - Москва, 2002. -75 с.
5. Narendra P.M., Goldberg M. A non-parametric clustering scheme for landsat // Pattern Recognition. - 1977. - Vol. 9. - P. 207-215.
6. М. Жамбю. Иерархический кластер-анализ и соответствия. Пер. с фр. Москва: Финансы и статистика, 1988.
7. Asmus V.V., Buchnev A.A., Pyatkin V.P., Salov G.I. Software System for Satellite Data Processing of Applied Tasks in Remote Sensing of the Earth // Pattern Recognition and Image Analysis. - 2009. - Vol.19, No. 3. - P. 372-379.
8. Бучнев А.А., Пяткин В.П. Мониторинг облачных образований по данным геостационарных спутников Земли // Автометрия - 2009. - Т. 45, № 5. -C.40-47.
9. MSG Meteorological Products Extraction Facility. Algorithm Specification Document. - Doc. No. EUM/MSG/SPE/022. Issue 2.6. 1 June 2004.
10. Бучнев А.А., Пяткин В.П., Русин Е.В. Распределенная высокопроизводительная обработка данных дистанционного зондирования Земли // Исследование Земли из космоса - 2007. - №4. - С. 34-38.
11. CxImage, http://www.xdp.it/cximage.htm.
12. CryptLib, http://www.cs.auckland.ac.nz/~pgut001/cryptlib.
13. Rusin E.V. Object-Oriented Parallel Image Processing Library // LNCS. -2009. - Vol. 5698. - P. 344-349.
© А.А. Бучнев, В.П. Пяткин, Е.В. Русин, 2011