Научная статья на тему 'Растущие индукторные пространства и анализ параллельных алгоритмов'

Растущие индукторные пространства и анализ параллельных алгоритмов Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Растущие индукторные пространства и анализ параллельных алгоритмов»

матриц Rss, Rjd, Rds, Rdd, как правило, плохо обусловлена, поэтому использование точных методов для решения уравнений математической модели не всегда приводит к правильному решению, неэффективно и неустойчиво.

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

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

Литература

1. Мадера А.Г. Моделирование теплообмена в технических системах. М.: НФ им. акад. В.А. Мельникова, 2005.

2. Кандалов П.И., Мадера А.Г. Моделирование температурных полей в многослойных структурах // Программные продукты и системы. 2008. № 4 (84). С. 46-49.

3. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. М.: Физматгиз, 1960.

УДК 519.1, 519.8, 793.7, 612.821

РАСТУЩИЕ ИНДУКТОРНЫЕ ПРОСТРАНСТВА И АНАЛИЗ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ

(Работа выполнена при поддержке РФФИ, грант № 07-01-00101-a) А.В. Коганов, к.ф.-ж.н. (НИИСИРАН, г. Москва, akoganov@yandex.ru)

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

Рассматриваемая математическая задача возникла при разработке тестов инженерной психологии, направленных на выявление людей, способных одновременно выполнять несколько операций распознавания при обработке визуальной текстовой информации. С точки зрения математики проблема сводится к поиску логических функций двух типов. Одни функции должны допускать значительное ускорение решения при одновременном использовании нескольких процессоров, выполняющих распознавание символов исходной информации и операции некоторого логического базиса. Другие требуют для этого очень большого увеличения ресурсов при низкой средней эффективности на один процессор. Требуется также, чтобы каждая задача допускала вариацию в широких пределах объема исходной информации. Тесты были построены, проведен эксперимент, показавший эффективность методики [1-3]. Рассмотрим математический аппарат анализа логических функций для выявления задач указанных типов. Каждый алгоритм вычисления функции - это процесс на индукторном пространстве [4-5]. Использование в алгоритме операций условных переходов делает удобным введение понятия растущего индукторного пространства, где на каждом такте

вычислений добавляются необходимые элементы индукции.

Понятие характеристики задачи

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

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

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

Запараллеленностью реализации назовем максимальное число операций одного уровня вложенности.

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

Т к,1 -Т к,Р

О к,Р =----—; (1)

Р-1

Т к,1 -Т к,Р Б к,Р

(1 к,Р =----— =--—. (2)

Т к,1 Р-1 Т к,1

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

Задача с эффективной запараллеленностью

Высокой эффективностью запараллеленности обладает задача поиска наименьшего (или наибольшего) числа в строке или в таблице чисел:

Р(хх, ..., хп)=тт{хх, ..., х„}. (3)

Если обозначить 8(хк, ..., х^ операцию емкости к сравнения к однозначных чисел из цифрового алфавита, например {0; 1; 2; 3; 4; 5; 6}, 8(хк,..., х!)=т1п{хк,., х1} или 8(хк, ..., х1)=тах{хк, ..., х1}, то последовательная реализация имеет вид

Р(х1, ..., хп)=8(хп, хп-к+2, 8(хп-к+1, • ••, хп-2к+3,

вО.^Хк, ..., Х1).))). (4)

Запараллеленность Р может быть реализована в виде (4) с разбивкой всего набора чисел на Р равных частей (возможно, последняя будет меньше), с последующим поиском минимума из Р чисел (предварительных результатов) с запаралле-ленностью Р:

Р(х1, ..., х„)=Р(Г(х1, ..., хкр), ...,

^(хЦР-^+Ъ хп)). (5)

Последний этап можно реализовать древовидной итерацией операций 8 с ветвлением до Р. Легко доказать, что это оптимальная реализация по глубине и по числу операций одновременно:

Т(к,1) =

к-1

. Характеристика задачи (3) (с точ-

ностью до целочисленного округления):

Т п,к,р

В п,к,Р =

и 1«>й Р к-1 Р к ' п 1о§к Р

к-1 Р Р-1

1 Р к-1

(1 п,к,Р =----

Р п Р-1

(6)

(7)

(8)

Для характерных в эксперименте значений п=10, к=2 эффективность параллельности будет следующая:

Р=2; Б=4,00; а=40 %, (9)

Р=3; Б=2,48; а=25 %, (10)

Р=4; Б=1,94; а=19 %, (11)

где Р - число процессоров; Б - удельная эффективность на один дополнительный процессор; d -относительная удельная эффективность.

Из характеристик (9-11) видно, что эффективность высока, особенно при введении второго и третьего процессоров.

Растущие индукторные пространства

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

Обозначения. А - алфавит, в котором определены значения операндов и результатов всех операций; к - емкость операций, то есть максимально возможное число операндов; Н(А, к) - класс всех операций в заданном алфавите и с заданной емкостью (базовые операции); п - число входов при-

п

мера задачи (число аргументов вычисляемой функции, число точек нулевого уровня в реализации); Р - запараллеленность (максимально допустимое число операций на одном уровне реализации); У(Л, п, к, Р) - класс операций порождения реализации при ограничениях, заданных указанными параметрами (определение 1); и(А, п, к, Р) - класс алгоритмов роста.

Определение 1. Операция порождения реализации и(х; \ь ...,\к)еУ(А, п, к, Р) имеет операнды Х1ёА, ¡=1, ..., к, «е{0; 1; ...} и вьщает значения вида <(¡1, «О, ..., (¡к,8к); у/), где \уеН(А, к) и для всех ]=1,..., к выполнены следующие ограничения: 1 <¡¡<11 при Sj=0; 1<1|<Р при 8^1.

Определение 2. Алгоритм роста из и(А, п, к, Р) - это рекурсивная функция построения уровней индукторного пространства реализации решения по набору входов примера задачи. Алгоритм удовлетворяет следующим требованиям.

1. Уровень Ь0 состоит из п точек без индукторов (это граница индукторного пространства реализации). Если входы примера имеют значения ах, ..., ап, то точке 1? сопоставим состояние аь

2. Уровень состоит из Р точек ,. Каждой точке ^ сопоставлен индуктор, содержащий, кроме этой точки, ровно к точек 10(1),...,10'(к) уровня Ь0. Каждой точке ^ сопоставлены операция порождения '1 из У(А, п, к, Р) и нумерация точек индуктора. Состоянием процесса вычисления в этой точке будет у[ = \У|'(а1|1(|),...,а1|1(к)). Каждой точке ^ сопоставлены операция и1 из У(А, п, к, Р) и нумерация точек индуктора. Построение следующего слоя ведется по значениям

и1(2;а0а),...,а0(к)^( ^ 1к,?к ;').

3. Пусть построены уровни Ь0, ..., Ls.1. Все слои, кроме нулевого, содержат Р точек. Каждой

точке I), ¡е{1; ...; Р}, ¿=1, ..., 8-1, сопоставлены

операция порождения '1 из У(А, п, к, Р) и нумерация точек индуктора. Состоянием процесса вычисления в этой точке будет у' = (у, 1-чУк) • где аргументы соответствуют значениям процесса в точках индуктора, отличных от центра индукции. Каждой точке сопоставлены операция и?-1 из У(А, п, к, Р) и нумерация точек индуктора. Построение следующего слоя ведется по значениям кортежа и?_1(«;у1,...,ук^ ^ ^^ ,...,

1к,«к ;'"). Такому значению сопоставляется

точка ^ слоя Ь8 с индуктором 1? и

'1 'к

указанным порядком точек индуктора. Этой точке также сопоставляется операция = с тем же порядком аргументов. Конец определения.

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

Потенциальное и универсальное пространства реализаций

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

Определение 4. Универсальным пространством реализаций (УПР) ранга [п, к, Р] называется пространство, в котором граница состоит из п точек и для любой возможной реализации с соответствующими параметрами можно реализовать эквивалентный процесс (в смысле возможности взаимного пересчета состояний точек при некоторой биекции точек реализации и УПР [5, 6]).

Теорема 1. Универсальное пространство определено однозначно своим рангом с точностью до полных индукторов точек. Оно является объединением счетного числа не пересекающихся попарно подмножеств (назовем их уровнями) Т=Ь0иЬ1и..., где #Ь0=п; #Ц=Р для ¡>1. Элементы индукции (полные индукторы) имеют вид [1, и}иЬ0и...иЬ8_1]1 для «>1.

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

Замечание: имеется бесконечно много неизоморфных УПР одного ранга, которые различаются наборами неполных индукторов каждой точки.

Теорема 2. Имеется единственное минимальное потенциальное пространство реализаций. Оно является объединением попарно не пересекающихся подмножеств (уровней) Т=Ь0иЬ1и..., где #Ь0=п. Каждому подмножеству ¡1,; ..Лк}сЬ0и...и иЬ8_!, содержащему к точек из Ь0и ... вза-

имно однозначно соответствует одна точка уровня Ь8 с индуктором {1; ..Лк}. Это порождающая система индукторов.

Доказательство. Поскольку требуется наличие в ППР подпространства, изоморфного любой реализации с указанными параметрами, и в различных реализациях возможны любые индукторы вида {1; ..Лк}, где ...1к}(=Ь0и...иЬ8_1, то в любом ППР должны быть указанные в формулировке теоремы уровни (доказывается индукцией по номеру уровня). Тот факт, что такое пространство является ППР, доказывается прямым инъективным вложением в него любой реализации последовательно по слоям с учетом индукторов точек реализации. Конец доказательства.

Замечание: имеется бесконечно много неизоморфных ППР, которые получаются произвольным расширением минимального ППР без изменения системы индукторов на минимальном ППР.

Утверждение 1. В минимальном ППР число п8 точек слоя Ь8 удовлетворяет рекуррентному гипергеометрическому соотношению

п8+1 = р

к

п + п, +.

(12)

ч +... + П8

Доказательство. На слое Ь8 необходимо иметь одну точку для каждого набора из к точек из объединения предыдущих слоев и для каждого из Р процессоров слоя. Конец доказательства.

В соответствующем растущем пространстве слой содержит только Р точек.

Задача с неэффективной запараллеленностью

Описание задачи слежения. Данные примера в задаче слежения оформлены как прямоугольная таблица 1Мх1\. где М - вертикаль, N - горизонталь (см. рис. 1). В каждой клетке таблицы стоит знак из алфавита +0—. В крайнем левом столбце одна из клеток дополнительно помечена символом (*). Рядом с крайним правым столбцом правее стоят метки из алфавита А В С Б, образующие N+1^

столбец. Эти метки повторяются циклически в строках 1,...,М.

Задание: проследить от меченой левой клетки траекторию до правого столбца меток и выдать тот символ, который стоит в финишной правой клетке. Траектория строится так: из клетки со знаком (+) надо перейти в правый соседний столбец на строку выше; из клетки со знаком (-) переход вправо на строку ниже; знак (0) означает переход вправо в ту же строку. В примере запрещено указывать выход за верхнюю или нижнюю границы таблицы. Формально переход из клетки с координатами (¡, ¡) (строка, столбец) описывается так: + ¡ + 1^ + 1 а ;

- -> (1-1^ + 1) а ; (13)

У 0 У + 1 а

Символ в правых скобках показывает, что записано в клетке. Для неграничных клеток ае{+; 0; -}. В граничном случае

а=>а£ 0;+ ;

М,] а=>ае{0;-}; (14)

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

¡,N + 1 а => а е А;В;С;Б

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

Для расчета характеристики этой задачи вначале рассмотрим случай расчета траектории на треугольной таблице (Т-табло) с числом уровней N от корня (нулевой уровень). В задаче на Т-табло отсутствует краевой эффект выхода на нижнюю или верхнюю границу таблицы.

Определение 5. Относительным рангом п-гра-ницы для данной начальной точки назовем наименьшее по траекториям число уровней от начальной точки до точки п-границы.

Утверждение 2. Наименьшая по числу точек п-граница данного относительного ранга s - это уровень s на Т-табло с корнем в начальной точке. (Доказывается индукцией по рангу.)

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

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

Замечание: при достаточно большом числе процессоров, если позволяет длина траектории N, можно вести расчет траекторий сразу с нескольких п-границ (обозначим их число r). При этом по числу тактов решения задачи оптимально делать одинаковые расстояния x=As между границами. Тогда по истечении s тактов можно перенести начальную точку сразу на rx уровней, затратив только r дополнительных тактов (см. рис. 2). На основе этих фактов можно рассчитать характеристику T(P) задачи слежения.

T(1)=N. (15)

А

А'

-Jr.1

В'

2х г=2

Примечание: линия ЪТ - начальная часть главной траектории; столбец АВ - первая п-граница; столбец А'В' - вторая п-граница; длина строки от начальной клетки до п-границы равна x, г=2.

Рис. 2. Совместная работа нескольких процессоров

Объем исходных данных п=1+2К(К+1) для Т-табло, а для прямоугольной таблицы п=^+1)М. Емкости операции к=1 (операция обрабатывает одну клетку или выход одного процессора). Число одновременно обрабатываемых п-границ обозначим г. Расстояния по уровням « между границами обозначим х=Аз. На Т-табло число точек уровня « от любой начальной точки:

#v(s)=2s+l

P=l+#v(x)+#v(2x)+.. .+#v(rx), P(r, x)=r+l+xr(r+l). Условная характеристика задачи: x + r

Т (r,x) =

N-

(16)

(17)

(18)

(г + 1)х

Характеристика задачи:

Т(Р^) = ттг ^р(г х)йр Т*(г,1)|к . (19)

Можно определить приведенную характеристику:

1(р)=Т(Р)/К, (20)

D(P)

d(P) =

l-t(P)

(21)

N3>1

N Р-1

Аналитическое решение задачи (19-21) (поиск для (19) экстремума) приводит для г(Р) к уравнению четвертой степени. Но возможно численное решение с учетом ограничений на вероятные значения запараллеленности (17). Для больших N проведены расчеты эффективности для начальных значений запараллеленности. При малых N эффективность ниже. Во всех случаях показана низкая эффективность. При числе процессоров меньше шести эффекта вообще нет. При Р=6 эффект составил 1(Р)=75 % по времени и d(P)=5 % по процессорам. При Р=18 время 1(Р)=56 % и не меняется при увеличении числа процессоров до 22. Удельная эффективность падает с d(18)=2,5 % до d(22)=2 %.

Задача слежения на прямоугольной таблице и в полосе. Построение п-границ (слоев) на полосе ширины М или в таблице МхК требует учета выхода траекторий на границу. При малых продольных смещениях Ь от начальной точки на средней линии полосы (таблицы) выхода за границу нет. Это соответствует условию 1+2Ь<М. При алгоритме решения с г п-границами и расстоянием х между ними это условие соответствует по (16) значению Ь=хг. Тогда М-1

г< —— = т(х), (22)

Р(г, х)=г+1+хг(г+1). (23)

После выхода возможных траекторий на границу полосы каждая п-граница имеет длину М. Приведенные характеристики сохраняют вид (20) и (21). При г>т(х)

Р(г, х)=т(х)+1+хт(х)(т(х)+1)+(г-т(х))М, (24) Т* (г,х) 1

t (Г,х) = -

N

1

■ + —.

Г + 1 X

(25)

При больших x значение m(x)=0 и t убывает, поэтому

1

t(P)>~t (г,оо) =-, (26)

г + 1

где г =

Р-1

М

X—»00.

По этим формулам рассчитаны характеристика задачи и эффективность запараллеленности для двух значений ширины полосы М=4 и М=8 при N>>1, которые удобны для теста. Удельная эффективность дополнительных процессоров для М=4 варьируется от d(P)=12,5 % при Р=5, г=1, 1(Р)=50 %, до d(P)=2,8 % при Р=33, г=8, 1(р)=11 %. Для М=8 для г=1, Р=9 эффект 1(Р)=50 %, d(P)= 6,25 %, а для г=8, Р=65 эффект 1(р)=11 %, d(P)=1,39 %. При этом эффект возникает только при достаточно больших (указанных) начальных запараллеленностях, и эффективные значения Р нарастают с шагом М. Таким образом, параллельный счет задачи слежения неэффективен.

Литература

1. Коганов А.В., Пятецкий-Шапиро И.И., Фейгенберг И.М. Зависимость скорости решения от сложности и способа кодирования исходных данных // Вопросы экспериментального исследования скорости реагирования. Тарту, 1971.

2. Коганов А.В. Коллективы автоматов в детерминированных и случайных средах и приложение к психологическим тестам: дис. ... канд. физ.-мат. наук. М., 1972.

3. Коганов А.В. Исследование возможности параллельного выполнения логических операций человеком. Параллельные вычисления и задачи управления // РАС0-2001: тр. междунар. конф. (2-4 октября 2001 г., Москва). М.: ИПУ РАН, 2001.

4. Коганов А.В. Индукторные пространства и процессы // ДАН. 1992. Т. 324. № 5. С. 953-958.

5. Koganov A.V. Processes and Automorphisms on Inductor Spaces // Russian Journal Mathematic Physics. Vol. 4, N° 3, 1996, pp. 315-339.

УДК 519:522

МЕТОД ОПРЕДЕЛЕНИЯ РАЗМЫТОСТИ КОНТУРОВ НА ЦИФРОВЫХ ИЗОБРАЖЕНИЯХ

П.П. Кольцов, к.ф.-м..н. (НИИСИРАН, г. Москва, kotsov@ftiisi.msk.ru)

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

Ключевые слова: цифровое изображение, размытость, контур, яркость, искажение.

Трудности при обработке цифровых изображений в основном обусловлены помехами, главным образом, шумами различного происхождения и недостаточной резкостью. В работах [1-3] с помощью тестирования были проведены сравнительные исследования реализаций наиболее популярных методов предобработки оцифрованных изображений. Тестирование выполнялось по единой методике на одном и том же наборе специально сконструированных тестовых изображений, на которые накладывались помехи различного типа и уровня. На основе полученных результатов выработаны рекомендации по выбору наиболее подходящих для конкретных условий алгоритмов. Однако практическое применение этих рекомендаций затруднено из-за необходимости получения количественной оценки уровня помех, в частности, степени расфокусировки, или размытости, изображения, особенно при отсутствии информации об условиях, в которых происходило формирование изображения. В свою очередь, развитие методов измерения размытости по самому изображению в отсутствие информации об условиях получения изображения является нетривиальной задачей, поскольку в реальной жизни мы имеем дело с уже искаженными картинками и возможно-

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

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

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

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