ляется потребность в расширении структуры и функциональности ИС, то моделирование дополнительных компонентов и их интеграция с ранее сгенерированной базой данных и программным кодом в ряде случаев не потребует значительных дополнительных затрат.
Второй подход применяется в том случае, если в работе создаваемой ИС будут использоваться базы данных, спроектированные для пред-
ыдущих версий данной системы. Преимущество данного подхода в том, что разработчики могут создавать более оптимизированные структуры баз данных, чем те, которые получаются в результате автоматической генерации. К недостатку подхода следует отнести то, что итеративный процесс разработки, применяемый в первом подходе, в данном случае требует большого объема ручного труда разработчика.
список литературы
1. Воробьева, М.С. Математическое моделирование и технологии интеграции данных в учетных информационных системах: Дис. ... канд. техн. наук [Текст] / М.С. Воробьева. -Тюмень. -2006. -131 с.
2. Григоров, Ант. С. Создание информационных систем для муниципальных образований [Текст] / Ант. С. Григоров, Анд. С. Григоров // Информатизация процессов формирования открытых систем на основе СУБД, САПР, АСНИ и систем искусственного интеллекта (ИНФОС-2009): Матер. V Междунар. науч.-техн. конф. - Вологда: Изд-во ВоГТУ, 2009. -С. 85-88.
3. Филичев, Е.В. Разработка веб-приложений на основе моделей высокого уровня абстракции [Текст] / Е.В. Филичев, С.М. Устинов // Научно-технические ведомости СПбГПУ. Сер. Информатика. Телекоммуникации. Управление. -2011. -№2. -С. 86-93.
4. Григоров, А.С. Предметно-ориентированный язык программирования для разработки информационных систем для муниципальных образований [Текст] /
А.С. Григоров // Объектные системы - 2010 (Зимняя сессия): Матер. II Междунар. науч.-практ. конф.; Под общ. ред. П.П. Олейника. -Ростов-на-Дону, 2010. -С. 55-59.
5. Иванов, А.Н. Автоматизированная генерация информационных систем, ориентированных на данные: Дис. ... канд. физ.-мат. наук [Текст] / А.Н. Иванов. -СПб., 2005. -130 с.
6. Шалыто, А.А. Автоматическая генерация кода программ с явным выделением состояний [Текст] / А.А. Шалыто, С.Ю. Канжелев // Software Engineering Conf. - 2006: Матер. Междунар. науч.-практ. конф. -М., 2006. -С. 60-63.
7. Dodds, L. Code generation using XSLT [Электронный ресурс] / IBM developerWorks: Ресурс IBM для разработчиков и IT профессионалов // Режим доступа: http://www.ibm.com/developerworks/xml/ tutorials/x-codexslt/x-codexslt-pdf.pdf (дата обращения 04.10.2011)
УДК 004.89
А.Е. Васильев, А.В. Донцова, А.И. Мурго
алгоритмическая реализация средств нечеткой обработки информации для встраиваемых интеллектуальных систем микроконтроллерного управления
Встраиваемые интеллектуальные системы управления (ВИСУ) имеют, как правило, иерархическую структуру, включающую исполнительный, тактический и стратегический уровни. Один из базовых математических аппаратов для встроенного программного обеспечения тактического и стратегического уровней ВИСУ - аппарат теории нечетких множеств [1]. При этом наиболее часто используемым классом аппаратных вы-
числительных средств для таких систем являются микроконтроллерные и микропроцессорные платформы.
С учетом сложности задач, решаемых на стратегическом и тактическом уровнях, и ограничениями на вычислительную производительность аппаратных платформ встраиваемых систем, особое внимание при проектировании следует уделять эффективности вычислений (в смысле минимиза-
ции времени вычислений и объема используемой памяти). Экстенсивные подходы к обеспечению роста производительности встраиваемой системы (основанные, например, на повышении тактовой частоты кристалла) приводят к ухудшению значений системообразующих характеристик встраиваемых систем (в частности, снижению надежности, повышению потребляемой мощности
и др. [2]).
С учетом указанных выше особенностей алгоритмическое повышение производительности систем нечетких вычислений является актуальной задачей. В статье рассматриваются вопросы сравнительного анализа алгоритмических подходов к реализации подсистем нечеткой обработки информации; описан новый вариант алгоритма нечетких вычислений.
Для выполнения сравнительного анализа в качестве прототипа аппаратной платформы использован 8-битный нечеткий контроллер семейства ST5, относящийся к классу вычислителей ICU (Intelligent Control Unit) - лучших по производительности среди вариантов реализации систем нечеткой обработки данных.
Помимо традиционных компонентов, процессорное ядро микроконтроллера ST5 имеет в своем составе нечеткий вычислитель (Decision Processor), функционирование которого основано на использовании ресурсов процессорного ядра (в частности, АЛУ), что приводит к блокировке программных вычислений при выполнении команд нечеткой обработки данных и снижает производительность функционирования ВИСУ в целом.
Алгоритмическое повышение производительности нечетких ВИСУ
Таким образом, к основным направлениям повышения производительности ВИСУ с нечеткой обработкой данных относятся обеспечение независимости функционирования нечеткого вычислителя и АЛУ, а также оптимизация алгоритма нечетких вычислений.
Оценка качества реализации нечеткого вычислителя проводится в работе с применением триады показателей «точность вычислений - время вычислений - затраты памяти».
Для реализации наиболее высокоскоростных вычислений в авторском алгоритме (рис. 1) использован метод «просмотровых таблиц» («look-up tables»), оперирующий термами, задан-
ными совокупностью массивов-векторов, и базой правил, заданной матрицей. Такая совокупность структур базы нечетких знаний дает (как будет показано ниже) значительный прирост производительности. Относительные затраты памяти, превышающие этот показатель для других алгоритмов, компенсируются возможностью задавать произвольную функцию принадлежности.
Приведем основные параметры алгоритма: число входных переменных - от 1 до 5; число выходных переменных - от 1 до 5; число правил - от 1 до 255; число термов на каждую лингвистическую переменную - от 1 до 10. Область допустимых значений каждой переменной - от 0 до 255. Термы хранятся в виде массива значений степени принадлежности, упорядоченного по возрастанию четкой переменной; при этом диапазон значений степени принадлежности [0..1] эквивалентирован диапазоном [0..255]; таким образом, например величина 0,9 будет эквивалентна коду 230 (рис. 2). При выполнении фаззификации соответствующий терму массив адресуется значением входной переменной, возвращая значение степени принадлежности данной переменной этому терму. При выполнении дефаззификации (в авторском варианте алгоритма для дефаззификации используется метод «среднее максимумов») для каждого массива, описывающего терм выходной переменной, будет дополнительно построен список максимумов путем поиска индекса, соответствующего максимальному значению степени принадлежности (для отрезка максимальных значений - горизонтального на графике - будет взята его середина).
База правил представляется таблицей; количество строк в ней соответствует количеству правил. Каждая строка состоит из пяти «входных» и пяти «выходных» столбцов.
«Входные» описывают номера термов входных переменных, участвующих в формировании условий данного правила, а «выходные» - номера выходов, вычисляемых при срабатывании условий данного правила (рис. 3). Так, правило Ш, записанное в таблице, означает:
ЕСЛИ (Х1=ТХ1Л) И (Х3=ТХз г 1) И (Х4=Тх4 г 1), ТО (¥2=ТГ2 г 1) И (¥3=ТГз г 1).
Подходы к оценке качества алгоритмов нечетких вычислений
При сравнении предлагаемого алгоритма и алгоритма платформы-прототипа необходимо учитывать способ их реализации: очевидно, что
Считать из базы лингв, переменных
степень принадлежности ц(Х),7х,/})
г
Нг,:=ЩТх$
Обновить вес во временной базе
Переход к следующему У/
->г<-
Чтение из временной базы очередного У/с
Чтение из временной базы веса очередного
Тук
Чтение из базы максимумов М для данного Тук
Умножение М на вес терма,сохранение,
переход к следующему терму
Переход к следующему У/
Рис. 1. Схема реализации нечетких вычислений
Рис. 2. Пример организации табличного хранения терма
аппаратная реализация по абсолютным значениям ряда приведенных выше показателей превзойдет программную, в связи с чем для показателей времени вычислений и объема памяти необходимо определить нормирующие значения или меру.
Такую меру можно ввести посредством элементарного вычислителя, положив, что его реализация занимает единичный квант памяти и требует единичного кванта времени на выполнение. В качестве такого элементарного вычислителя используем нечеткий вычислитель с одним входом, одним выходом, одним правилом и двумя термами.
В соответствии с общей методологией оценки сложности вычислений, изложенной, в частности, в [3], для измерения нормирующих коэффициентов по затратам времени (К) и памяти (Кт)
у сравниваемых алгоритмов, а также для подтверждения гипотез о характере взаимосвязей сложности нечеткой системы с затратами ресурсов на ее реализацию, проведен ряд экспериментов, в которых измерялись абсолютные величины времени обработки и требуемого объема памяти на реализацию нечетких систем с количеством правил от 1 до 255. Установлен линейный характер зависимости времени выполнения нечеткой обработки данных от количества правил, определены искомые коэффициенты (табл. 1).
Для осуществления сравнительного анализа точности вычислений по двум алгоритмам выполнены серии экспериментов для следующих классов нечетких вычислителей: «1 вход - 1 выход, линейная зависимость», «1 вход - 1 выход,
Х1 Х2 ХЗ Х4 Х5 У1 У2 УЗ У4 У5
т Тх1г1 ТхзЬ ТХ4Г1 Ту2Г1 ТУ3Г1
я/ Тх2Ц Тх3г) ТугП
Ял Тх3г„ Тх4г„ ТузГп
Рис. 3. Пример задания базы правил
Таблица 1
Нормирующие коэффициенты элементарного вычислителя
К Кт
Аппаратный вычислитель ST5 18 3
Программный вычислитель авторской разработки 400 256
Рис. 4. Нечеткое вычисление линейной зависимости с использованием двух термов (а) и пяти термов (б)
нелинейная зависимость», «2 входа - 1 выход, нелинейная зависимость».
Полнота такого анализа следует из утверждения о том, что нечеткий контроллер произвольной сложности можно описать в виде сети элементарных контроллеров; полученные результаты могут быть экстраполированы на задачу нечеткой обработки данных любой сложности, как указывается, в частности, в [4].
Сравнительный анализ вариантов алгоритмических реализаций
Графики с результатами вычислений для первых двух классов вычислителей при различном количестве термов приведены на рис. 4 и 5.
На рис. 4 для наглядности график погрешности вычислений приведен с коэффициентами 10 (для рис. 4 а) и 100 (для рис. 4 б).
Из приведенного выше очевидно, что при усложнении нечеткого контроллера повышается
степень его соответствия исходной аналитической зависимости.
На рис. 6 показан пример нелинейной функции двух переменных, а на рис. 7 - результат нечеткого вычисления этой функциональной зависимости рассматриваемыми алгоритмами.
Таблица 2, содержащая числовые характеристики реализаций, представленных на рис. 5, наглядно демонстрирует полутора-двукратное превосходство предлагаемого алгоритма над прототипом по расходу памяти и времени, а также превосходство в скорости роста точности его вычислений при увеличении степени подробности описания реализуемой функции.
Рассмотрим также пример реализации системы сложной функциональной обработки данных на подлежащих сравнению нечетких вычислителях. В качестве примера выступает система предыскажений в тракте видеосигнала, рассмотренная в [5]: с целью повышения качества изображения
Рис. 5. Нечеткое вычисление нелинейной зависимости с использованием семи термов (а) и девяти термов (б)
а)
Рис. 7. Нечеткое вычисление нелинейной функции двух переменных: а - аппаратным вычислителем; б - авторским алгоритмом
предлагается использование структурной схемы, представленной на рис. 8 а. Для этого применяется специализированный видеопроцессор - решение, не обладающее сколько-нибудь существенными возможностями изменения функциональных характеристик и предопределенного способа обработки информации.
Использование нечетких методов обработки -альтернативное решение, обладающее большей универсальностью, настраиваемостью, возможностью перепрограммирования. Для сравнения вычислителей рассмотрим реализацию сложной функциональной зависимости, представленной на рис. 8 б под литерой «з».
Рисунок 9 демонстрирует преимущество авторского алгоритма, обеспечивающего отклонение от образцовой зависимости на величину не более единицы младшего разряда.
Обобщенные по приведенной выше триаде показатели качества функционирования сравниваемых алгоритмов демонстрируют диаграммы рис. 10: рис. 10 а показывает средние скорости вычислений этих алгоритмов при близких точностных характеристиках; рис. 10 б - среднюю точность вычислений при близких скоростях.
Представленные диаграммы наглядно демонстрируют превосходство предлагаемого авторами альтернативного алгоритма над алгоритмом нечетких вычислений 1Си-микроконтроллера ST5.
Таким образом, предложены алгоритмические решения задачи реализации нечетких вычислений на встраиваемых платформах, обеспечивающие достижение значений показателей качества (по критериям скорости и точности вычислений), превышающих эти значения у известных реализаций.
Таблица 2
б)
Сравнение числовых показателей нечетких реализаций вычислителей нелинейной функции
Максимальная ошибка, % Средняя ошибка, % Относительные затраты памяти Относительные затраты времени
Реализация квадратичной зависимости, семь термов
Алгоритм 8Т5 16,1 3,0 18,7 3,3
Авторский алгоритм 6,8 2,2 7,1 1,9
Реализация квадратичной зависимости, девять термов
Алгоритм ST5 7,2 1,6 24,0 4,0
Авторский алгоритм 1,8 0,7 9,1 2,1
б)
Рис. 8. Структурная схема преобразующего устройства (а), этапы преобразования (б)
250
200
! а !/ \ i \ '! \____ ___ I л »■ / \ 1 / i J у, у ----Decision Processor --Emulator /— Fuzzy51 em deviation do deviation
¡1 \/
I J- п gj W 1 1, L -1
в ц
■ч \ \\ * Л-»..........................- ................................- J 11 ц (/ > \ /' 1 1 / U Ц/ - 1 V ........ ...
150
-е-
S
ct
100
50
100 150 200
Входная переменная (время)
250
300
Рис. 9. Варианты реализации функции предыскажения
4
а)
б)
STM
Альтернативный алгоритм
Альтернативный алгоритм
Рис. 10. Диаграммы сравнения реализаций: по скорости (а) и точности (б)
Характерной особенностью рассмотренного варианта алгоритмической реализации нечетких вычислений, отличающей его от известных, является принцип распределения памяти для хранения термов лингвистических переменных и базы правил, а также механизм доступа к ним, что позволяет существенно повысить скорость нечетких вычислений и предоставляет возможность выполнять операции с неограниченным разнообразием классов термов лингвистических переменных.
Предложенные решения пригодны как для программной, так и для аппаратной реализации на микросхемах программируемой логики.
Нисколько не отрицая достоинства и возможности чисто технологических улучшений, авторы обращают внимание читателей на возрастающую значимость системного подхода к проблеме повышения производительности, в особенности для предметной области ВИСУ.
Дополнительная информация о лаборатории ВИСУ и деятельности ее коллектива доступна в сети: http://aivt.ftk. spbstu.ru/education/labs/intelsys/
список литературы
1. Джонс, М.Т. Программирование искусственного интеллекта в приложениях [Текст] / М.Т. Джонс. -М.: ДМК Пресс, 2006. -312 с.
2. Highest MHz Does Not Mean Highest Performance [Text] / Tensilica White Paper. -24 Oct. 2008. -P. 1-8.
3. Сэвидж, Дж. Сложность вычислений [Текст] / Дж. Сэвидж. -М.: Факториал, 1998. -368 с.
4. Кофман, А. Введение в теорию нечетких множеств [Текст] / А. Кофман. -М.: Радио и связь, 1982. -432 с.
5. Хохлов, Б. Обработка сигналов YUV в однокристальном процессоре иОСШ [Текст] / Б. Хохлов // Радио. -2009. -№ 2. -С. 10-13.
УДК 004.932.72
обнаружение лиц людей в
Поиск лиц людей на изображении применяется как в системах безопасности, так и в индустрии обслуживания и развлечения. Поэтому не удивительно, что на текущий момент предложены разнообразные варианты решения этой задачи. По результатам исследования, представленного в работе [4], можно сделать вывод, что наибольший
И.И. Зиновьев, П.Ю. Шамин
системах видеонаблюдения
интерес из открытых алгоритмов детектирования лиц людей на изображении представляет алгоритм, представленный в 2001 г. Полом Виолой и Майклом Джонсом [7].
Данный алгоритм успешно справлялся с задачей детектирования лиц людей в видеопотоке в реальном времени. Однако в связи с развитием