Выпуск #6/2003
Ю.Борисов.
Комплекс "Трафик-Монитор" на базе процессора Л1879 ВМ1. Особенности разработки
Комплекс "Трафик-Монитор" на базе процессора Л1879 ВМ1. Особенности разработки
Просмотры: 2354
Цифровая обработка изображений (ЦОИ), поступающих от оптических, тепловых, радиолокационных и иных информационных средств, как правило, состоит из многократных преобразований векторов и матриц большой размерности и требует чрезвычайно большого объема вычислений. Поэтому до недавнего времени систем ЦОИ реального времени практически не было. Только с ростом производительности процессоров стало возможным приступить к разработке таких систем.
ПРЕДПОСЫЛКИ К СОЗДАНИЮ ВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ РЕАЛЬНОГО ВРЕМЕНИ
Научно-технический центр (НТЦ) "Модуль" в ноябре 1999 года представил на Всемирный Салон Изобретений в Брюсселе изобретение "Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор" (Пат. № 2131145 РФ), которое было удостоено золотой медали Салона. Это изобретение явилось основой разработки семейства нейропроцессоров, специально ориентированных на поддержку векторно-матричных и нейросетевых вычислений, наиболее часто применяемых в ЦОИ.
В частности, был создан процессор NM6403 (Л1879 ВМ1), уникальная архитектура которого позволяет добиваться значительных показателей производительности при векторных и матричных операциях (см. табл.) Например, за один такт Л1879 ВМ1 выполняет операцию взвешенного суммирования: он способен умножить матрицу 8 х 4 восьмиразрядных элементов на вектор размерностью 8 восьмиразрядных элементов и прибавить к результату вектор размерностью 4 шестнадцатиразрядных элемента, что эквивалентно 64 скалярным операциям с восьми- и шестнадцатиразрядными числами. Результаты замеров производительности процессора Л1879 ВМ1 при проведении векторных и матричных операций приведены в таблице 1.
ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС "ТРАФИК-МОНИТОР"
Создание процессора Л1879 ВМ1 позволило НТЦ "Модуль" решать практические задачи ЦОИ. В частности, в НТЦ был разработан аппаратно-программный комплекс "Трафик-Монитор" для определения в реальном времени характеристик транспортных потоков по информации от видеокамер.
Комплекс "Трафик-Монитор" решает следующие задачи:
· оцифровку видеоизображения, поступающего от видеокамеры наблюдения за участками автодороги (до 6 полос движения);
· обнаружение и сопровождение транспортных средств, находящихся в зоне наблюдения видеокамеры;
· распознавание типов наблюдаемых транспортных средств (5 типов: легковые, малые грузовые/микроавтобусы, автобусы, длинные грузовые/трейлеры, мотоциклы);
· накопление и обработку данных о транспортном потоке на заданном оператором интервале времени наблюдения;
· определение характеристик транспортных потоков (средней скорости потока, среднего расстояния между транспортными средствами, количества транспортных средств по типам и общее, загруженности полос движения и направления дороги) на заданном временном интервале наблюдения;
· обнаружение фактов медленного движения или пробок;
· передача накопленной статистической информации (по запросу) на диспетчерский пункт управления транспортными потоками;
· непрерывная передача изображения наблюдаемого транспортного потока на диспетчерский пункт.
Решение этих задач чрезвычайно актуально для управления современными транспортными потоками и контроля транспортных потоков на различных контрольно-пропускных пунктах. А разработка этого комплекса хорошо подходила для демонстрации возможности решения сложных задач ЦОИ в реальном времени на созданном в НТЦ "Модуль" процессоре.
Разработка комплекса "Трафик-Монитор" включала разработку алгоритма, конструкции, программного обеспечения и проведение испытаний комплекса.
Предварительная отработка алгоритмов ЦОИ проводилась на персональном компьютере в режиме нереального времени (покадровая обработка видеофильмов различных транспортных потоков). В итоге для комплекса "Трафик-Монитор" алгоритм ЦОИ включал четыре алгоритмических блока.
В блоке обнаружения решается задача выделения объектов наблюдения на фоне шумов. Для этого последовательно производятся: обратное проективное преобразование изображения в ортогональную систему координат; подчеркивание яркостных перепадов (контуров) изображения при помощи двух нелинейных операторов Собела (две дискретные двумерные свертки изображения с вертикальной и горизонтальной масками Собела размером 3 х 3); подавление шумов изображения путем дискретной двумерной свертки изображения с низкочастотным фильтром-маской размером 5 х 5; сегментация изображения по порогам яркости и по результатам обработки изображения методами математической морфологии (анализа геометрической структуры образа).
В блоке сопровождения выделяются контурные линии объектов, для чего устанавливается соответствие между обнаруженными сегментами на последовательности кадров (сегменты, неустойчивые от кадра к кадру, фильтруются). Определяется соответствие объединений сегментов определенным формам. На этом же этапе вычисляются скорости каждого объекта и расстояния между ними.
В блоке распознавания объектов последовательно рассчитываются вертикальная и горизонтальная диаграммы изображения объекта (распределения средних яркостей по строкам и столбцам на вертикальном и горизонтальном размерах объекта). Далее эти диаграммы преобразуются четырьмя первыми базисными функциями Адамара с целью получения секвентного портрета объекта и сокращения размерности этого портрета до восьми числовых величин. Распознавание типов транспортных средств производится нейронной сетью, в которой применена вероятностная мера близости портрета объекта к образу транспортного средства, сформированному в процессе обучения нейронной сети.
В блоке формирования статистической информации производится подсчет числа транспортных средств (всего и по типам), выезжающих из зоны сопровождения. Определяются средние значения скоростей и расстояний между транспортными средствами по полосам движения, загруженность полос и направлений движения. Эти данные, как и 200 последних кадров видеоизображения сцены, записываются в общую память вычислителя для передачи на ПК диспетчерского пункта.
Описанная обработка изображений включает массу векторно-матричных и иных операций с большими массивами данных. При этом, в зависимости от вида видеоинформации (PAL/NTSC), столь сложную цифровую обработку 103680/86400 пикселей изображения необходимо проводить 25/30 раз в секунду. Однако для решения этой задачи в реальном времени достаточно всего двух параллельно работающих процессоров Л1879 ВМ1 и порядка 16 Мбайт памяти.
Конструктивно комплекс "Трафик-Монитор" реализуется в нескольких вариантах исполнения: ТМ-PCI, TM-CPCI и TM-K. ТМ-PCI предназначен для установки в персональный компьютер (PCI).
ТМ-CPCI монтируется в промышленный компьютер (CPCI). ТМ-К ориентирован для работы в условиях открытого климата. Он собран в специальном герметичном корпусе, который подвешивается на опоре у дороги, питается от сети 220 В и соединяется с ПК диспетчерского пункта через порты RS 232 или RS 485. Основной элемент конструкции – это вычислительный комплекс (см. рис.), реализованный в виде трех электронных блоков: материнской платы, контроллера видеокамер и вычислителя. Конструкции плат проектировались после распределения задач между отдельными субблоками и разделения ПО вычислительного комплекса на параллельные процессы.
Материнская плата обеспечивает интерфейс комплекса "Трафик-Монитор" с персональным компьютером диспетчерского пункта. Также на ней расположены блок ОЗУ объемом 8 Мбайт и 1 Мбайт флэш-памяти. ОЗУ предназначено для размещения распакованного в результате инсталляции функционального программного обеспечения (ПО) и хранения результатов обработки информации о транспортных потоках до передачи на диспетчерский пункт. В флэш-память загружается упакованное функциональное ПО комплекса "Трафик-Монитор" и параметры калибровки видеокамер (параметры привязки видеокамер к дороге, параметры зон наблюдения за транспортом на дороге).
Контроллер видеокамер собран на базе ПЛИС и предназначен для приема и оцифровки видеокадров, поступающих от видеокамер с частотой 25/30 кадров в секунду (PAL/NTSC). Контроллер может принимать информацию от одной до четырех видеокамер. Информация от видеокамер поступает через мультиплексор, т.е. принимается последовательно. Режим обслуживания видеокамер во времени задается параметрически оператором диспетчерского пункта. В результате на выходе контроллера формируются оцифрованные кадры монохромного изображения размером 360 х 280 (PAL) или 360 х 240 (NTSC) пикселей с 256 уровнями градации яркости пикселей.
Плата вычислителя включает два процессора Л1879 ВМ1, четыре блока памяти по 2 Мбайт и контроллер прерываний. Вычислитель решает задачи управления вычислительным процессом, цифровой обработки изображений и формирования статистической информации о транспортных потоках.
Программное обеспечение вычислительного комплекса "Трафик-Монитор" включает управление вычислительным процессом, обработку оцифрованных видеокадров изображений и формирование статистической информации о транспортных потоках. Управление вычислительным процессом заключается в программной поддержке внешних интерфейсов комплекса "Трафик-Монитор", управлении контроллером видеокамер, синхронизации работы процессоров и организации обмена данными между процессорами, обработке сообщений от ПК диспетчерского пункта, а также в автоматическом перезапуске программы комплекса "Трафик-Монитор" при сбоях. При разработке ПО одной из наиболее сложных и важных задач был учет особенностей архитектуры процессора Л1879 ВМ1 для оптимизации программ для достижения минимального времени вычислений. Поэтому исходные тексты ПО написаны на его ассемблере.
Кроме того, было создано ПО для ПК диспетчерского пункта. В результате оператору предоставляется удобный диалоговый интерфейс для проведения настроек и проверок и задания режимов работы комплекса "Трафик-Монитор", приема статистической информации о транспортных потоках и получения видеокадров наблюдаемого участка дороги.
ИСПЫТАНИЯ КОМПЛЕКСА "ТРАФИК-МОНИТОР"
Наиболее ответственный этап разработки таких комплексов, как "Трафик-Монитор", – этап испытаний. Поскольку "Трафик-Монитор" предназначен для работы в составе систем управления транспортными потоками и на контрольно-пропускных пунктах, к нему предъявляются высокие требования по надежности и по точности определения характеристик транспортных потоков. Так, относительные ошибки определения общего числа транспортных средств и их средней скорости не должны превышать 1% и 5%, соответственно. Все это налагает жесткие требования на правила приемки и методы испытаний комплекса "Трафик-Монитор", закрепленные в ТУ. В частности, для определения функциональных характеристик комплекса "Трафик-Монитор" используется восемь специально снятых сценариев транспортных потоков, характеристики которых определены аналитически. Проведение испытаний также позволило усовершенствовать работу алгоритма и программного обеспечения комплекса "Трафик-Монитор".
В результате разработки удалось добиться того, что относительные погрешности определения статистических характеристик (при дальности видимости транспортных средств или их фар не менее 50 метров и при скоростях движения не менее 20 км/час) не превышают 5% при определении средней скорости, 1% при определении общего числа транспортных средств и 10% при их классификации по типам.
СОЗДАНИЕ БИБЛИОТЕК ТИПОВЫХ ФУНКЦИЙ
При ЦОИ используются методы, многие из которых – типовые для широкого спектра задач: проективные преобразования, дискретные свертки, унитарные преобразования (Адамара, Хаара, Карунена-Лоэва, двумерное дискретное преобразование Фурье, дискретное косинусное преобразование), методы сжатия (JPEG, MPEG, вейвлет-преобразования), векторно-матричные операции и т.д. Это означает, что создаваемые в НТЦ "Модуль" процессоры необходимо поддерживать не только базовым ПО (транслятор, компилятор, компоновщик, библиотекарь и т.п.), но и библиотеками типовых функций. Кроме того, при разработке таких сложных программных комплексов, как "Трафик-Монитор", важен не только учет особенностей архитектуры процессора, но и максимально эффективное использование ресурсов всей вычислительной системы комплекса, правильное распределение задач обработки данных между процессорами. Трудности же, возникающие при программировании многопроцессорных систем, известны – это и синхронизация процессов, и методы обмена данными, и механизмы доступа разных процессоров к общим ресурсам. Подобные задачи тоже могут быть решены при помощи соответствующих библиотек.
В то же время, опыт показал, что самостоятельная разработка и тестирование библиотечных функций программистом, впервые использующим язык ассемблера для специального процессора, требует неоправданно больших затрат времени (годы). С другой стороны, если сравнивать одну и ту же процедуру, например, умножение вектора на матрицу с накоплением, написанную на языке С++ и переведенную на ассемблер компилятором и изначально написанную на ассемблере с учетом особенностей архитектуры процессора Л1879 ВМ1, то в первом случае время счета будет в 30 раз больше, чем во втором. Поэтому библиотеки типовых функций в значительной степени избавляют разработчиков прикладных программ и вычислительных комплексов от детального изучения особенностей архитектур процессоров и программирования на ассемблере.
В НТЦ "Модуль" была организована разработка таких библиотек. Отметим, что данная работа требует творческого подхода не только к разработке программ функций, но и к методам формирования и описания библиотек. Уже сегодня библиотеки векторно-матричных преобразований и специальных преобразований (сверток конечных массивов, двумерных унитарных преобразований, сжатия изображений) содержат около 500 функций. Они представляют самостоятельный научный и практический интерес для реализации типовых преобразований изображений на нейропроцессорах НТЦ "Модуль". Причем некоторые из библиотек были разработаны в процессе создания комплекса "Трафик-Монитор". Эти библиотеки могут быть использованы для цифровой обработки не только видео изображений, но применимы к радиолокационным, тепловым, телевизионным и др. изображениям. Набор библиотек НТЦ "Модуль" представлен на сайте http//www.module.ru, разработка библиотек продолжается, и мы будем благодарны всем заинтересованным лицам за предложения и замечания по этим библиотекам.
ВЫВОДЫ
Опыт разработки и создания вычислительного комплекса "Трафик-Монитор" является уникальным как в плане технических подходов, так и с точки зрения демонстрации возможностей процессора, разработанного в НТЦ "Модуль". На многочисленных отечественных и зарубежных выставках комплекс "Трафик-Монитор" неизменно вызывал большой интерес, в том числе в силу того, не демонстрировались аналоги с таким набором технических возможностей, как в комплексе "Трафик-Монитор".
За счет высокой производительности процессора Л1879 ВМ1 при проведении векторно-матричных вычислений в комплексе "Трафик-Монитор" были реализованы сложные и высокоэффективные алгоритмы ЦОИ, а для распознавания типов транспортных средств была синтезирована и обучена нейросеть. В результате достигнуты высокие уровни достоверности результатов решения. Все это, а также разработка и создание на базе процессора Л1879 ВМ1 образцов аппаратных платформ комплекса являются ноу-хау и определяют актуальность и научную ценность проекта "Трафик-Монитор".
Практическая значимость работы обусловлена широким спектром областей применения полученных решений в задачах управления транспортными потоками. Вычислительный комплекс "Трафик-Монитор" может быть использован как информационное средство для принятия решений центром управления транспортными потоками, для формирования решений в контроллерах управления светофорными объектами, для контроля потока машин на контрольных пунктах портов, таможенных постов, платных автодорог, крупных автостоянок и т.п. На базе работ по комплексу "Трафик-Монитор" в НТЦ "Модуль" проводились экспериментальные работы по созданию стереосистем ЦОИ. Были созданы опытные стереосистема определения габаритов и подсчета числа осей большегрузных автомобилей и информационная система предупреждения столкновения автомобиля.
В перспективе с появлением нейропроцессора нового поколения (конец 2003-начало 2004 годов) появятся возможности сократить число процессоров в комплексе "Трафик-Монитор" и расширить спектр функциональных задач, в частности, решать в реальном времени наряду задачу идентификации транспортных средств с определением их номерного знака.
Научно-технический центр (НТЦ) "Модуль" в ноябре 1999 года представил на Всемирный Салон Изобретений в Брюсселе изобретение "Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор" (Пат. № 2131145 РФ), которое было удостоено золотой медали Салона. Это изобретение явилось основой разработки семейства нейропроцессоров, специально ориентированных на поддержку векторно-матричных и нейросетевых вычислений, наиболее часто применяемых в ЦОИ.
В частности, был создан процессор NM6403 (Л1879 ВМ1), уникальная архитектура которого позволяет добиваться значительных показателей производительности при векторных и матричных операциях (см. табл.) Например, за один такт Л1879 ВМ1 выполняет операцию взвешенного суммирования: он способен умножить матрицу 8 х 4 восьмиразрядных элементов на вектор размерностью 8 восьмиразрядных элементов и прибавить к результату вектор размерностью 4 шестнадцатиразрядных элемента, что эквивалентно 64 скалярным операциям с восьми- и шестнадцатиразрядными числами. Результаты замеров производительности процессора Л1879 ВМ1 при проведении векторных и матричных операций приведены в таблице 1.
ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС "ТРАФИК-МОНИТОР"
Создание процессора Л1879 ВМ1 позволило НТЦ "Модуль" решать практические задачи ЦОИ. В частности, в НТЦ был разработан аппаратно-программный комплекс "Трафик-Монитор" для определения в реальном времени характеристик транспортных потоков по информации от видеокамер.
Комплекс "Трафик-Монитор" решает следующие задачи:
· оцифровку видеоизображения, поступающего от видеокамеры наблюдения за участками автодороги (до 6 полос движения);
· обнаружение и сопровождение транспортных средств, находящихся в зоне наблюдения видеокамеры;
· распознавание типов наблюдаемых транспортных средств (5 типов: легковые, малые грузовые/микроавтобусы, автобусы, длинные грузовые/трейлеры, мотоциклы);
· накопление и обработку данных о транспортном потоке на заданном оператором интервале времени наблюдения;
· определение характеристик транспортных потоков (средней скорости потока, среднего расстояния между транспортными средствами, количества транспортных средств по типам и общее, загруженности полос движения и направления дороги) на заданном временном интервале наблюдения;
· обнаружение фактов медленного движения или пробок;
· передача накопленной статистической информации (по запросу) на диспетчерский пункт управления транспортными потоками;
· непрерывная передача изображения наблюдаемого транспортного потока на диспетчерский пункт.
Решение этих задач чрезвычайно актуально для управления современными транспортными потоками и контроля транспортных потоков на различных контрольно-пропускных пунктах. А разработка этого комплекса хорошо подходила для демонстрации возможности решения сложных задач ЦОИ в реальном времени на созданном в НТЦ "Модуль" процессоре.
Разработка комплекса "Трафик-Монитор" включала разработку алгоритма, конструкции, программного обеспечения и проведение испытаний комплекса.
Предварительная отработка алгоритмов ЦОИ проводилась на персональном компьютере в режиме нереального времени (покадровая обработка видеофильмов различных транспортных потоков). В итоге для комплекса "Трафик-Монитор" алгоритм ЦОИ включал четыре алгоритмических блока.
В блоке обнаружения решается задача выделения объектов наблюдения на фоне шумов. Для этого последовательно производятся: обратное проективное преобразование изображения в ортогональную систему координат; подчеркивание яркостных перепадов (контуров) изображения при помощи двух нелинейных операторов Собела (две дискретные двумерные свертки изображения с вертикальной и горизонтальной масками Собела размером 3 х 3); подавление шумов изображения путем дискретной двумерной свертки изображения с низкочастотным фильтром-маской размером 5 х 5; сегментация изображения по порогам яркости и по результатам обработки изображения методами математической морфологии (анализа геометрической структуры образа).
В блоке сопровождения выделяются контурные линии объектов, для чего устанавливается соответствие между обнаруженными сегментами на последовательности кадров (сегменты, неустойчивые от кадра к кадру, фильтруются). Определяется соответствие объединений сегментов определенным формам. На этом же этапе вычисляются скорости каждого объекта и расстояния между ними.
В блоке распознавания объектов последовательно рассчитываются вертикальная и горизонтальная диаграммы изображения объекта (распределения средних яркостей по строкам и столбцам на вертикальном и горизонтальном размерах объекта). Далее эти диаграммы преобразуются четырьмя первыми базисными функциями Адамара с целью получения секвентного портрета объекта и сокращения размерности этого портрета до восьми числовых величин. Распознавание типов транспортных средств производится нейронной сетью, в которой применена вероятностная мера близости портрета объекта к образу транспортного средства, сформированному в процессе обучения нейронной сети.
В блоке формирования статистической информации производится подсчет числа транспортных средств (всего и по типам), выезжающих из зоны сопровождения. Определяются средние значения скоростей и расстояний между транспортными средствами по полосам движения, загруженность полос и направлений движения. Эти данные, как и 200 последних кадров видеоизображения сцены, записываются в общую память вычислителя для передачи на ПК диспетчерского пункта.
Описанная обработка изображений включает массу векторно-матричных и иных операций с большими массивами данных. При этом, в зависимости от вида видеоинформации (PAL/NTSC), столь сложную цифровую обработку 103680/86400 пикселей изображения необходимо проводить 25/30 раз в секунду. Однако для решения этой задачи в реальном времени достаточно всего двух параллельно работающих процессоров Л1879 ВМ1 и порядка 16 Мбайт памяти.
Конструктивно комплекс "Трафик-Монитор" реализуется в нескольких вариантах исполнения: ТМ-PCI, TM-CPCI и TM-K. ТМ-PCI предназначен для установки в персональный компьютер (PCI).
ТМ-CPCI монтируется в промышленный компьютер (CPCI). ТМ-К ориентирован для работы в условиях открытого климата. Он собран в специальном герметичном корпусе, который подвешивается на опоре у дороги, питается от сети 220 В и соединяется с ПК диспетчерского пункта через порты RS 232 или RS 485. Основной элемент конструкции – это вычислительный комплекс (см. рис.), реализованный в виде трех электронных блоков: материнской платы, контроллера видеокамер и вычислителя. Конструкции плат проектировались после распределения задач между отдельными субблоками и разделения ПО вычислительного комплекса на параллельные процессы.
Материнская плата обеспечивает интерфейс комплекса "Трафик-Монитор" с персональным компьютером диспетчерского пункта. Также на ней расположены блок ОЗУ объемом 8 Мбайт и 1 Мбайт флэш-памяти. ОЗУ предназначено для размещения распакованного в результате инсталляции функционального программного обеспечения (ПО) и хранения результатов обработки информации о транспортных потоках до передачи на диспетчерский пункт. В флэш-память загружается упакованное функциональное ПО комплекса "Трафик-Монитор" и параметры калибровки видеокамер (параметры привязки видеокамер к дороге, параметры зон наблюдения за транспортом на дороге).
Контроллер видеокамер собран на базе ПЛИС и предназначен для приема и оцифровки видеокадров, поступающих от видеокамер с частотой 25/30 кадров в секунду (PAL/NTSC). Контроллер может принимать информацию от одной до четырех видеокамер. Информация от видеокамер поступает через мультиплексор, т.е. принимается последовательно. Режим обслуживания видеокамер во времени задается параметрически оператором диспетчерского пункта. В результате на выходе контроллера формируются оцифрованные кадры монохромного изображения размером 360 х 280 (PAL) или 360 х 240 (NTSC) пикселей с 256 уровнями градации яркости пикселей.
Плата вычислителя включает два процессора Л1879 ВМ1, четыре блока памяти по 2 Мбайт и контроллер прерываний. Вычислитель решает задачи управления вычислительным процессом, цифровой обработки изображений и формирования статистической информации о транспортных потоках.
Программное обеспечение вычислительного комплекса "Трафик-Монитор" включает управление вычислительным процессом, обработку оцифрованных видеокадров изображений и формирование статистической информации о транспортных потоках. Управление вычислительным процессом заключается в программной поддержке внешних интерфейсов комплекса "Трафик-Монитор", управлении контроллером видеокамер, синхронизации работы процессоров и организации обмена данными между процессорами, обработке сообщений от ПК диспетчерского пункта, а также в автоматическом перезапуске программы комплекса "Трафик-Монитор" при сбоях. При разработке ПО одной из наиболее сложных и важных задач был учет особенностей архитектуры процессора Л1879 ВМ1 для оптимизации программ для достижения минимального времени вычислений. Поэтому исходные тексты ПО написаны на его ассемблере.
Кроме того, было создано ПО для ПК диспетчерского пункта. В результате оператору предоставляется удобный диалоговый интерфейс для проведения настроек и проверок и задания режимов работы комплекса "Трафик-Монитор", приема статистической информации о транспортных потоках и получения видеокадров наблюдаемого участка дороги.
ИСПЫТАНИЯ КОМПЛЕКСА "ТРАФИК-МОНИТОР"
Наиболее ответственный этап разработки таких комплексов, как "Трафик-Монитор", – этап испытаний. Поскольку "Трафик-Монитор" предназначен для работы в составе систем управления транспортными потоками и на контрольно-пропускных пунктах, к нему предъявляются высокие требования по надежности и по точности определения характеристик транспортных потоков. Так, относительные ошибки определения общего числа транспортных средств и их средней скорости не должны превышать 1% и 5%, соответственно. Все это налагает жесткие требования на правила приемки и методы испытаний комплекса "Трафик-Монитор", закрепленные в ТУ. В частности, для определения функциональных характеристик комплекса "Трафик-Монитор" используется восемь специально снятых сценариев транспортных потоков, характеристики которых определены аналитически. Проведение испытаний также позволило усовершенствовать работу алгоритма и программного обеспечения комплекса "Трафик-Монитор".
В результате разработки удалось добиться того, что относительные погрешности определения статистических характеристик (при дальности видимости транспортных средств или их фар не менее 50 метров и при скоростях движения не менее 20 км/час) не превышают 5% при определении средней скорости, 1% при определении общего числа транспортных средств и 10% при их классификации по типам.
СОЗДАНИЕ БИБЛИОТЕК ТИПОВЫХ ФУНКЦИЙ
При ЦОИ используются методы, многие из которых – типовые для широкого спектра задач: проективные преобразования, дискретные свертки, унитарные преобразования (Адамара, Хаара, Карунена-Лоэва, двумерное дискретное преобразование Фурье, дискретное косинусное преобразование), методы сжатия (JPEG, MPEG, вейвлет-преобразования), векторно-матричные операции и т.д. Это означает, что создаваемые в НТЦ "Модуль" процессоры необходимо поддерживать не только базовым ПО (транслятор, компилятор, компоновщик, библиотекарь и т.п.), но и библиотеками типовых функций. Кроме того, при разработке таких сложных программных комплексов, как "Трафик-Монитор", важен не только учет особенностей архитектуры процессора, но и максимально эффективное использование ресурсов всей вычислительной системы комплекса, правильное распределение задач обработки данных между процессорами. Трудности же, возникающие при программировании многопроцессорных систем, известны – это и синхронизация процессов, и методы обмена данными, и механизмы доступа разных процессоров к общим ресурсам. Подобные задачи тоже могут быть решены при помощи соответствующих библиотек.
В то же время, опыт показал, что самостоятельная разработка и тестирование библиотечных функций программистом, впервые использующим язык ассемблера для специального процессора, требует неоправданно больших затрат времени (годы). С другой стороны, если сравнивать одну и ту же процедуру, например, умножение вектора на матрицу с накоплением, написанную на языке С++ и переведенную на ассемблер компилятором и изначально написанную на ассемблере с учетом особенностей архитектуры процессора Л1879 ВМ1, то в первом случае время счета будет в 30 раз больше, чем во втором. Поэтому библиотеки типовых функций в значительной степени избавляют разработчиков прикладных программ и вычислительных комплексов от детального изучения особенностей архитектур процессоров и программирования на ассемблере.
В НТЦ "Модуль" была организована разработка таких библиотек. Отметим, что данная работа требует творческого подхода не только к разработке программ функций, но и к методам формирования и описания библиотек. Уже сегодня библиотеки векторно-матричных преобразований и специальных преобразований (сверток конечных массивов, двумерных унитарных преобразований, сжатия изображений) содержат около 500 функций. Они представляют самостоятельный научный и практический интерес для реализации типовых преобразований изображений на нейропроцессорах НТЦ "Модуль". Причем некоторые из библиотек были разработаны в процессе создания комплекса "Трафик-Монитор". Эти библиотеки могут быть использованы для цифровой обработки не только видео изображений, но применимы к радиолокационным, тепловым, телевизионным и др. изображениям. Набор библиотек НТЦ "Модуль" представлен на сайте http//www.module.ru, разработка библиотек продолжается, и мы будем благодарны всем заинтересованным лицам за предложения и замечания по этим библиотекам.
ВЫВОДЫ
Опыт разработки и создания вычислительного комплекса "Трафик-Монитор" является уникальным как в плане технических подходов, так и с точки зрения демонстрации возможностей процессора, разработанного в НТЦ "Модуль". На многочисленных отечественных и зарубежных выставках комплекс "Трафик-Монитор" неизменно вызывал большой интерес, в том числе в силу того, не демонстрировались аналоги с таким набором технических возможностей, как в комплексе "Трафик-Монитор".
За счет высокой производительности процессора Л1879 ВМ1 при проведении векторно-матричных вычислений в комплексе "Трафик-Монитор" были реализованы сложные и высокоэффективные алгоритмы ЦОИ, а для распознавания типов транспортных средств была синтезирована и обучена нейросеть. В результате достигнуты высокие уровни достоверности результатов решения. Все это, а также разработка и создание на базе процессора Л1879 ВМ1 образцов аппаратных платформ комплекса являются ноу-хау и определяют актуальность и научную ценность проекта "Трафик-Монитор".
Практическая значимость работы обусловлена широким спектром областей применения полученных решений в задачах управления транспортными потоками. Вычислительный комплекс "Трафик-Монитор" может быть использован как информационное средство для принятия решений центром управления транспортными потоками, для формирования решений в контроллерах управления светофорными объектами, для контроля потока машин на контрольных пунктах портов, таможенных постов, платных автодорог, крупных автостоянок и т.п. На базе работ по комплексу "Трафик-Монитор" в НТЦ "Модуль" проводились экспериментальные работы по созданию стереосистем ЦОИ. Были созданы опытные стереосистема определения габаритов и подсчета числа осей большегрузных автомобилей и информационная система предупреждения столкновения автомобиля.
В перспективе с появлением нейропроцессора нового поколения (конец 2003-начало 2004 годов) появятся возможности сократить число процессоров в комплексе "Трафик-Монитор" и расширить спектр функциональных задач, в частности, решать в реальном времени наряду задачу идентификации транспортных средств с определением их номерного знака.
Отзывы читателей