вестным алгоритмам [1]. В результате синтаксического анализа программно формируется словесное заключение по форме ЭКГ сигнала.
Практическая реализация данного подхода к анализу сигнала сложной формы выявила сильную чувствительность метода от вида входного сигнала и применяемого вейвлет базиса, для исключения пропусков элементов сигнала и ложных обнаружений предлагается последовательно использовать несколько различных базисов, причем один из них должен быть непрерывной функцией (для анализа малоамплитудных низкочастотных компонент), а другой кусочно-непрерывным вейвлетом для анализа высоко амплитудных, быстро осциллирующих компонент.
Данный подход к анализу ЭКГ применяется в системе автоматизированной диагностики ЭКГ «Кармин».
ЛИТЕРАТУРА
1. Синютин С.А. Сжатие электрофизиологических сигналов. Компьютерные технологии в инженерной и управленческой деятельности, Таганрог: ТРТУ,- 2000. с.315-320.
2. Ярцева Е.С. Обработка электрокардиосигнала вейвлет методом. Компьютерные технологии в инженерной и управленческой деятельности, Таганрог: ТРТУ,- 2000. с.323-326.
3. Захаров В.Г., Фрик П.Г. Применение вейвлет-анализа к задачам исследования загрязнения окружающей среды // Мат.моделирование систем и процессов, Пермь:ПГТУ.-1994, Вып.2, с. 28-42,
4. Фрик ПТ. Вейвлет-анализ и иерархические модели турбулентности: Препринт/ ИМСС УрО РАН. Пермь, 1992.
5. Farge М. Wavelel transforms and their applications to turbulence., Ann. Rev. Fluid Mech.,v.24, 1992, 395.
6. Sahambi J.Tundon S., Bhatt R. Using Wavelet Transforms for ECG characterization, IEEE . Engineering in medicine and biology ,v. 16,1997, 77.
7. Frick P., Galyagin D., Hoyt D., Nesme-Ribes E.,Schatten K.H., SokoloffD., Zakharov V. Wavelet analysis of solar activity recorded by sunspot groups., 1996, Astronomy and Astrophysics (in press).
8. Grossmann A., Morlet J. Decomposition of Hardy functions into square integrable wavelets of constant shape, S.I.A.M., J. Math. Л/w/..v, 15.1984, 723.
9. Holschneider M. Wavelets. An analysis Tool. Oxford: Oxford University Press. 1995.
А. В. Максимов
АНАЛИЗ ЭКГ-СИГНАЛОВ С ИСПОЛЬЗОВАНИЕМ ТРАНСЛИРУЮЩИХ ГРАММАТИК
В настоящее время при распознавании структуры электрокардиосигнала (ЭКС) активно используют структурно-лингвистические методы, при этом дискретизированный ЭКС заменяется символьной строкой, составленной из некоторого представительного алфавита. Эти методы позволяют значительно сократить объем, который необходим для хранения ЭКС и, увеличить скорость анализа по-
лученных данных. Для того чтобы воспользоваться структурно-лингвистическим методом необходимо выбрать представительный алфавит из которого в дальнейшем будет состоять описание ЭКС.
Поскольку ЭКС — многомерный сигнал, здесь возможно использование двух подходов: независимое символьное представление ЭКС в каждом отведении и согласованное символьное представление ЭКС одновременно во всех отведениях. Независимое представление получается при рассмотрении каждого отведения ЭКС, как отдельного сигнала с предварительной сегментацией. Задача состоит в том, чтобы, используя некоторый алфавит заменить дискретизированный ЭКС в последовательность символов. При этом для одномерного сигнала с повторяющейся структурой удобно работать во временной области. Основной принцип выбора алфавита — найти повторяющиеся элементы ЭКС и поставить им в соответствие буквы алфавита. Для поиска таких элементов обычно используется аппроксимация ЭКС. Существуют несколько пригодных алфавитов для аппроксимации ЭКС:
— кусочно-линейная интерполяция 0-го порядка (ИНП).
— кусочно-линейная экстраполяция 0-го порядка (ЭНП),
— кусочно-линейная интерполяция 1-го порядка (ИПП),
— кусочно-линейная экстраполяция 1-го порядка (ЭПП),
— аппроксимация квадратичными параболами,
— аппроксимация сплайнами (кубическими параболами с непрерывными
первой и второй производными в точках сшивки).
Наиболее быстро работают первые четыре метода. Тестовые прогоны алгоритмов аппроксимации показывают, скорость алгоритма ИНН и ИПП в 8—10 раз быстрее аппроксимации квадратичными параболами и на два порядка быстрее аппроксимации сплайнами. Последнее связано с тем, что при аппроксимации сплайнами требуется решать ленточную систему линейных уравнений (обычно методом прогонки), что требует применения арифметики с плавающей запятой. Однако зачастую применение сплайнов значительно выгоднее применения ИНП и ИПП. Метод ИНП хорошо аппроксимирует быстро меняющийся сигнал, имеющий ступенчатую форму, что в ЭКС не распространено, поэтому при применении ИНП в ЭКС, участки аппроксимируемые одной функцией получаются слишком короткие, т. е. растет длина результирующей символьной строки. Применение метода ИПП особенно эффективно при аппроксимации участков ЭКС, имеющих вид линейных функциональных зависимостей. При аппроксимации куполообразных закругленных участков возникает укорочение интервалов аппроксимации, т. е. тоже происходит рост результирующей символьной цепочки. Применение сплайн аппроксимации и квадратичной аппроксимации напротив, эффективно на плановых участках. Зачастую весь Р-комплекс или Т-комплекс можно представить двумя сплайнами. Для алгоритмов ИНП и ИПП количество функций на таких участках обычно составляет 10—30. В случае же функций с изломами (0118-комплекс) сплайн аппроксимация не даст существенных результатов и даже может вносить дополнительные погрешности, сглаживая изолинию ЭКС. Это свойство — внутренняя сущность сплайнов, как аналога механической линии с мини-
мальной потенциальной энергией (непрерывность первой и второй производной исключают изломы). Исключение составляют широкие и закругленные Б-зубцы, например, в экстрасистолических комплексах, блокадных комплексах и в комплексах при остром инфаркте Миокарда (плато Пуркинье).
Поэтому предлагается комбинированный алгоритм аппроксимации ЭКС. Поскольку' ЭКС предварительно сегментировано, мы заранее знаем в каких зонах следует ожидать успешного применения сплайн аппроксимации или ИПП аппроксимации. Для сплайнов такими зонами являются зоны Р-комплекса, БТ-Т-комплекс и диастолический интервал, т. е. интервал Т-Р. Для (ЗЯБ-комнлекса используем ИПП аппроксимацию и для конечных элементов в случае большой ошибки ИПП (эту ситуацию легко заметить по возрастанию интервалов аппроксимации свыше 10), применяем аппроксимацию квадратичными параболами. Аппарат сплайнов здесь плохо пригоден ввиду небольших участков (ЗЯБ, имеющих сглаженную форму.
Итак, в результате аппроксимации получаем представление ЭКС в виде набора участков, каждый из которых характеризуется типом аппроксимирующей функции: линейная, квадратичная, кубическая, и соответственно набором коэффициентов: два коэффициента в случае линейной функции, три— квадратичной, четыре — кубической функции. В дальнейшем удобно рассматривать все функции как кубические с нулевыми значениями первых одного или двух коэффициентов. Для формирования алфавита необходимо построить четырехмерное пространство, где осями являются четыре коэффициента аппроксимирующей функции, тогда каждый участок ЭКС даст точку в этом пространстве. Близкие по виду участки группируются в кластеры, которые можно обозначить символами некоторого алфавита. Для разделения кластеров удобно применять метод разделения по Евклидову расстоянию Отк точек в четырехмерном пространстве. Начальную группировку кластеров желательно сформировать при формировании обучающей выборки ЭКС. Для этого алгоритму анализа необходимо предоставить определенный набор ЭКС и графически воспроизвести представление того же ЭКС с использованием наиболее близких кластеров. Полученное представление сравнивается с исходным ЭКС. Если интегральная погрешность представления из кластеров превышает заданный порог погрешности, то делается попытка улучшить его, определив какой кластер вносит наибольшую погрешность. Для этого поочередно каждый кластер заменяется аппроксимирующей функцией соответствующего участка и вычисляется погрешность. Эта операция повторяется для всех участков. Максимум погрешности указывает на участок, который должен образовать новый кластер. Процесс создания нового кластера должен проводиться осторожно, поскольку велика вероятность создания «артефактных» кластеров. Реальный кластер, соответствующий некоторому новому варианту сигнала обычно занимает некоторое промежуточное или несильно удаленное мести среди ему подобных. Меру этого подобия (расстояние Отк) следует рассчитывать отдельно для линейных, квадратичных и кубических кластеров. В результате данной процедуры одномерный ЭКС заменяется последовательностью символов, каждый из которых представляет собой кластер в 4-х мерном пространстве и имеет некото-
рые характеристики (атрибуты): 1—длительность, 2—тип, 3—массив коэффициентов. Данная информация может быть использована при проведении синтаксического разбора сигнала. К недостаткам этого метода следует отнести оторванность такого разбора от векторной природы ЭКС. При этом длины цепочек в соседних отведениях получаются разными, т. к. разная сложность сигналов в этих отведениях. Символы, при независимом анализе ЭКС несинхронны, что не позволяет при синтаксическом анализе учесть одновременно происхождение процесса в разных отведениях. Данный недостаток приводит к существенным диагностическим ошибкам и является одной из тех причин, в силу которых структурнолингвистический метод находит ограниченное применение в системах автоматического анализа ЭКС, поэтому предлагается модифицированный метод, свободный от указанных недостатков.
Основой для согласованного символьного представления является понятие мультисимвола, т. е. символа, представляющего элемент Ы-сигналов, синхронных по времени и имеющих идентичную длительность. Можно предложить два варианта формирования такого символа. Первый вариант заключается в прореживании символьных цепочек, предварительно обработанных вышеописанным алгоритмом. Рассмотрим подробнее алгоритм прореживания. Для данного алгоритма входом является Ы-символьных цепочек с атрибутами Бш, гп=1...К. Каждая цепочка имеет длину Ьт-символов. Введем массив Ст, где каждый элемент массива отслеживает текущую позицию разбора в строке Ст. В результате алгоритма, формируется массив из N-строк, одинаковой длины Рт.
Алгоритм:
1Л:=\; к:=1; Ск:=1 дляк=1...М.
2. Найти среди Бш, элемент с минимальной длиной. Пусть это будет элемент Бк1 Тогда в строках Рт* сформировать символы из строк БтСт. Ск:=Ск+1.
3. Повторить п. 2 для оставшихся элементов строки Бш, т. е. найти следующий минимальный элемент из них и т. д.
4. При исчерпании элементов из Бгп;, к=1+1.
II. 2 и 3 повторять до исчерпания самой длинной строки, т.е. пока КтахЬт.
Следует отметить, что поскольку строки имеют разную длину, результирующая последовательность обычно получается больше самой строки Бт. Полученный массив строк Рш образован из символов, синхронных во времени, т.е. обладающих сходным первым атрибутом (длительностью). Остальные атрибуты могут быть, и обычно бывают, различными. Дальнейший шаг по формированию единой цепочки — объединение групп символов, синхронных во времени, в единый символ из нового алфавита. Комбинаторный метод здесь не подходит, т. к. обычно число символов в исходном алфавите порядка 200, и число сочетаний из 200 по N получается достаточно большим.
Поэтому формирование мультисимвола из Ы-симвопов одномерного алфавита будем производить с помощью специальной грамматики, учитывающей амплитудные и скоростные характеристики входящих символов. Поскольку длина строки фиксирована и физически понятны особенности разделяемых классов
(изоэлектрическая линия, плавный склон, закругленная вершина, крутой склон, острая вершина), можно построить достаточно простую грамматику для получения набора из не более 1000-1500 символов. Если при построении такой грамматики воспользоваться атрибутом <тип сегмента> из алгоритма сегментации, процесс формирования алфавита еще более упростится. Например, в сегменте <Р-комплекс> априорно не может быть никаких острых вершин и острых склонов, и если таковые встретились, то они являются следствием помех или артефактов, и соответствующее правило должно сводить их к существующим (разрешенным) вариантам Р-комплекса. Метод быстро работает, в совокупности с независимым представлением достаточно компактен, но обладает одним недостатком — дает длинные символьные строки, часто состоящие из мало различающихся (по смыслу) мультисимволов. Поэтому, для устранения этих недостатков, при наличии достаточных вычислительных ресурсов, можно воспользоваться вторым способом построения мультисимвольной строки. Для этого алгоритм аппроксимации, например, первого порядка (или сплайн), работает синхронно во всех ^отведениях. Получающиеся коэффициенты образуют 4-Ы-мерное пространство, в котором и происходит процесс разделения кластеров. Основная проблема здесь — выбор критериев разделения, которую можно решить путем поиска: сначала отведение, дающее максимальный вклад и погрешность, а затем кластера, который следует разбить на два подкластера (т. е. образовать новый). Поскольку процесс аппроксимации происходит синхронно, результирующая строка во всех отведениях получается одной длины, а мультисимвол имеет следующие атрибуты: длительность, массив из ]Ч-типов аппроксимирующих функций, массив из 4>?-коэффициентов. Дальнейший ход синтаксического разбора будем строить исходя из того, что мультисимвольная цепочка тем или иным методом уже создана.
Дальнейшее распознавание ЭКС, представленных в виде мультисимвольной строки, производится методом грамматического разбора. Грамматический разбор в общем случае позволяет определить: принадлежит ли данная цепочка символов множеству всех цепочек, порождаемых грамматикой языка, или не принадлежит, т. е. с точки зрения теории формальных грамматик и языков, результатом синтаксического разбора является величина логического типа — «Да/Нет». Для нас более важен побочный продукт разбора, а именно, какие конкретно нетерминалы и в каком порядке встретились при разборе цепочки. Собственно последовательность нетерминалов и представляет собой результат разбора, т. е. структуру сигнала, описанного понятиями более высокого порядка, чем мультисимвол. Факт же принадлежности цепочки к языку, означает либо наличие артефактов цепочке, либо необходимость расширения множества правил в грамматике. Для отлаженной системы такие случаи должны быть исключены. Это означает, что при неуспешном разборе цепочки должен производиться анализ того нетерминала, для которого оказались неуспешными попытки применения всех его образующих грамматических правил. После нахождения такого нетерминала необходимо попытаться расширить грамматику путем создания нового правила. Данный процесс желательно выполнять в интерактивном режиме, иначе возможно неконтролируемое возрастание грамматики, что приведет к росту времени ана-
лиза и большому количеству ошибочных заключений. Данную процедуру далее будем называть — нейтрализацией ошибки разбора.
В теории грамматического разбора известно два основных метода разбора
— сверху вниз и снизу вверх. Алгоритм снизу вверх предопределяет движение от строки терминалов к основному символу грамматики. Обычно подобный разбор осуществляется с помощью матриц предшествования. Для случая анализа сигналов, когда число нетерминалов порядка 200—300, размер матриц вырастает до 40—90 тыс. элементов, что является неприемлемым. Поэтому, значительно удобнее использовать алгоритм сверху вниз, когда используется рекурсивная процедура для вывода строки терминалов из основного символа грамматики. При этом чрезвычайно важно, чтобы наиболее вероятные правила стояли первыми, а редко используемые альтернативы правил будут задействованы реже. При несоблюдении этого условия начинает расти количество возвратов с признаком неуспешного анализа. Алгоритм анализа сверху вниз для КС-грамматикн можно сформулировать следующим образом:
1. В качестве текущего нетерминала присвоить начальный символ грамма-тики; к=1.
2. Для 1ЧГ, из списка правил с N1 в левой части, выбрать \-г правило.
3. Просмотреть правую часть правила Р! слева направо. Если элемент Р1 — терминал, то сравнить его с текущим, терминалом входной строки. При совпадении терминалов, продвинуть маркер входной строки на один символ. При несовпадении — установить флаг неуспеха и завершить текущую процедуру.
Если элемент Р1 — нетерминал, то объявить его текущим и рекурсивно вызвать алгоритм с п. 2.
• 4. Если при очередном возврате из анализа нетерминала обнаружен признак неуспеха, сделать возврат из процедуры.
Данный алгоритм позволяет решить формальную часть синтаксического разбора, т. е. ответить на вопрос: принадлежит ли входная строка множеству строк данного языка. Однако для практических целей важен ответ на вопрос — из каких крупных элементов состоит фрагмент анализируемого сигнала, т. е. какова его морфология. Для решения этой задачи используем понятие атрибутов.
Атрибутом называется некоторое поле данных, связанное с терминалом или нетерминалом. Атрибутов может быть несколько, и их тип может различный. Кроме атрибутов в атрибутной грамматике вводятся понятия атрибутных правил. При каждом применении синтаксического правила работает целый список соответствующих атрибутных правил. При этом атрибуты делятся на два класса: синтезируемый атрибут и наследуемый атрибут.
Синтезируемый атрибут получает свое значение исходя из значений атрибутов терминалов и нетерминалов, находящихся в правой части правила. Он является атрибутом нетерминала.
Наследуемый атрибут — это атрибут нетерминала, находящегося в правой части правила и получающий свое значение на основании атрибутов нетерминалов, находящихся в левой части правила.
Таким образом, синтезируемые атрибуты позволяют организовать движение вверх по дереву разбора, а наследуемые— вниз по дереву разбора.
Атрибутные правила могут иметь достаточно сложный вид и структуру, в частности в качестве результатов работы атрибутных правил могут быть словесные заключения о характера ЭКГ. В принципе, подход с использованием атрибутных грамматик позволяет полностью формализовать обработку сигнала, от распознавания его структуры до формирования заключения. При этом данные анамнеза должны быть наследуемыми атрибутами первичного символа грамматики. Таким образом они будут распространяться вниз по дереву разбора и будут доступны всем дочерним нетерминалам. Структурные же элементы ЭКГ (зубцы, комплексы, интервалы) будут иметь синтезируемые атрибуты, отражающие соответственно их длительность, амплитуду, форму и будут распространяться вверх по дереву, создавая на каждом уровне все более укрупняющееся описание ЭКГ.
Достоинством подобной схемы является то, что как на этапе отладки, так и на этапе эксплуатации, можно воспроизвести цепочку вывод для дерева вывода и автоматически сгенерировать формирование конкретного заключения.
УДК 681.3.01
Ю.М. Вишняков, А. Цур, В.В. Хашковский
СКАНТЕХНОЛОГИИ. ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ЗАДАНИЙ В
ИНТРАСЕТИ
Резкий рост потребности в применении компьютеров для обработки информации привел к разработке технологии перевода информации с твердых носителей в машинные формы. Такая технология реализуется в центрах сканирования, включающих документный сканер, станции сканирования, распознавания, верификации, объединенные в сеть, и соответствующие ПО.
Различные скорости работы отдельных компонент сканцентра (сканирование - до 40 л/мин., распознавание - до 1 л/мин.) создают опасность образования больших очередей и требуют применения маршрутизатора (М) и специального ПО для реализации параллельной сетевой обработки на нескольких станциях распознавания (СР) и определения очередности выбора документов.
Маршрутизатор реализует алгоритм вероятностного диспетчирования. При появлении свободной станции распознавания диспетчер выбирает по случайному закону (в соответствии с распределением на входящих пачках Рь Р2, ...Рп) документ из пачки и передает его на распознавание. Одновременно передается ссылка на соответствующий шаблон для распознавания. Для реализации такого диспетчера интервал [Г...Н] разбивается на участки, пропорциональные значениям Рь Р2, ...Р„, реализуется равномерно распределенная на интервале [Ь...Н] случайная величина и выбирается пачка, равная номеру интервала, куда попала случайная величина.