a a
кадры
b |
b |
|
|
|
|
|
кадры |
1 2 |
3 4 5 6 |
7 8 |
последовательной |
|
|
|
обработки |
кадры
1 2 3 4 5 6 7 8 9 10 11 кадры устройства хранения
кадры
1 2 3 4 5 6 7 8 9 10 11 кадры процессора
Рис. 3.20 смещение реперных точек в плоскости тангажа
В работе предлагается метод, позволяющий значительно ускорить обработки изображений. Идея заключается в том, что существует возможность распараллелить процессы чтения/записи и процессорной обработки изображения. Идею можно проиллюстрировать следующим рисунком.
На рис. 3.20 (сверху) показана схема работы во времени алгоритма с последовательным вызовом подпрограмм обработки. Две нижние диаграммы отражают схему работы алгоритма с распараллеливанием процессов обработки. Нижняя диаграмма отражает схему работы процессора. Она смещена по оси времени потому что, процессор начинает обрабатывать информацию с
259
задержкой на время считывания первого кадра. Из рисунка также видно, что скорость параллельной обработки почти в два раза выше скорости последовательной обработки, поскольку, параллельная обработка кадра номер 11 заканчивается примерно в момент времени окончания последовательной обработки кадра номер 6 и моменты времени начала последовательной и параллельной обработки совмещены.
Следует отметить, что выигрыш во времени обработки при использовании распараллеливания процессов зависит от соотношения времен процессорной обработки и работы с устройствами хранения информации при обработке одного кадра. В нашем случае это соотношение равно 1:1. т.е. время на чтение/запись одного кадра равно времени процессорной обработки одного кадра. Может оказаться и так что, время процессорной обработки одного кадра будет значительно выше, чем время чтения/записи одного кадра. В этом случае процессор просто не будет успевать обрабатывать информацию, поступающую с потока чтения/записи. Выход из этой ситуации состоит в том, что по истечении некоторого времени, в течении которого поток чтения/записи создаст в памяти ЭВМ ―очередь‖ с кадрами этот поток должен будет сделать паузу и ―подождать‖ когда процессор обработает всю считанную информацию. Как видно из рисунка 8 в нашем случае при параллельной обработке требуется памяти больше чем при последовательной обработке всего на величину равную размеру одного кадра. Представляется, что в общем случае параллельная обработка не ухудшит параметры работы алгоритма, поскольку параллельная обработка представляет собой возможность которая предоставляется операционной системой ЭВМ и следовательно непосредственно не может быть сравнена с последовательной обработкой.
Рассмотрим систему, состоящую из устройства хранения информации и центрального процессора. Такие системы часто встречаются в современных технических системах. Зачастую в этой системе устройство хранения информации более медленное (далее медленное устройство) чем центральный процессор (далее быстрое устройство). Примером может служить чтение информации с устройства хранения и дальнейший ее анализ с
260
использованием центрального процессора (или наоборот генерация процессором информации и дальнейшая ее запись на устройство хранения). Поскольку в таких системах, в конце концов, происходит обмен информацией между медленным и быстрым устройствами, то быстрому устройству приходится некоторую часть времени находится в состоянии ожидания. Следовательно, в этот промежуток времени ресурсы системы используются не на 100%. Полностью загрузить систему (с целью уменьшения общего времени исполнения задачи) возможно при распараллеливании процессов работающих с устройством хранения и центральным процессором.
Следует отметить, что распараллеливание невозможно, если один процесс использует результат работы другого. Например, в системе, где один процесс занят подсчетом статистических характеристик какой-либо последовательности чисел, другой анализом полученных статистических параметров от первого процесса нельзя распараллелить данные процессы, поскольку второй процесс все равно должен ожидать результата первого процесса.
Рассмотрим распараллеливание процессов устройства хранения и центрального процессора. Для этого рассмотрим два случая: a) информация с быстрого устройства поступает на медленное; б) информация с медленного устройства поступает на быстрое; (рис. 3.14).
Без ограничения общности можно считать, что время обработки единицы (далее кадра) информации медленным и быстрым устройствами постоянны на всем промежутке времени работы системы.
медленное |
|
быстрое |
|
|
|
|
|
|
быстрое |
|
медленное |
|
|
|
Рис.3.21
На рис. 3.20 цифрами 1, 2, 3 и т.д. обозначены моменты времени конца обработки указанных кадров. Время обработки одного кадра условно делится на две части: время работы быстрого
устройства - Tм , и время работы медленного устройства - Tб . В случае последовательной обработки общее время работы системы
равно N
Tб N
Tм . При распараллеливании процессов: случай a) в начальный момент времени (левая пунктирная линия на рис. 3.20) быстрое устройство начинает свою работу и к моменту, отмеченному цифрой 1, заканчивает обработку первого кадра. В этот момент начинается обработка первого кадра медленным устройством. По истечении времени обработки первого кадра медленным устройством запускается обработка второго кадра быстрым устройством и т.д. Как видно из рис. 20 общее время
выполнения задачи равно N
Tм
Tб (1). Случай б) полностью аналогичен случаю a) – рис.20. Общее время выполнения задачи также определяется формулой (1).
1 |
|
2 3 4 5 кадры быстрого устр-ва |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 2 3 4 5 кадры медл. ус-ва
Рис. 3.22
Как видно из рисунков 2 и 3 во время работы системы остаются отрезки времени, в которых быстрое устройство находится
в состоянии ожидания. В эти промежутки времени могут быть
261
выполнены как ―третьи‖ процессы, так и подпроцессы другой |
изменениям, броскам |
питания; удобство отладки проектов; |
система (находящейся в эти моменты времени в состоянии |
|
|
ожидания). |
|
|
кадры
1 2 3 4 5 кадры медл. ус-ва
кадры
1 2 3 4 5 кадры быстрого устр-ва
Рис.3.23
Параллельная обработка часто используется в современных технических системах в задачах требующих больших вычислительных ресурсов в связи с бурным развитием средств цифровой обработки сигналов (ПЛИС, DSP). Выбор между ПЛИС и DSP зависит от технических требований технической системы. Так например быстрое преобразование Фурье - есть яркий пример
применения параллельных процессов (требует N
log2 N операций
вместо |
N 2 при обычном преобразовании Фурье). Таким образом, |
|
|
выигрыш использования БПФ перед обычным преобразованием |
|
||
Фурье тем больше чем больше N. |
|
|
|
Преимущества применения ПЛИС: |
|
|
|
- естественная легкость создания параллельных |
процессов |
|
|
(т.к. в схеме это сделать гораздо проще, чем DSP); |
|
|
|
- максимальное быстродействие (поскольку ―жесткая логика‖ |
|
||
ПЛИС всегда имеет преимущество перед DSP в плане |
|
||
быстродействия); |
|
|
|
Преимущества DSP: |
|
|
|
- |
возможность размещения больших (чем в |
ПЛИС) по |
|
размерам алгоритмов; |
|
|
|
- |
большая (чем в ПЛИС) устойчивость к температурным |
263 |
|
|
262 |
|
|
Заключение
В настоящее время повышенное внимание уделяется разработке систем технического зрения, что является важной технической проблемой. Системы технического зрения которые применяются на практике должны должны обладать: надежностью, гибкостью в управлении (возможность быстрого перепрограммирования системы для внесения изменений в технологический процесс), универсальность (возможность применения системы с минимальными изменениями в различных отраслях промышленности), очувствленность (возможность реагировать на изменения условий, оптимальным образом перестраивая порядок конкретных действий). Еще одно важное требование, которому должны удовлетворять СТЗ, — невысокая стоимость. Решение любой конкретной задачи должно быть экономически оправданным.
Удовлетворить наиболее полно вышеприведенным требованиям удалось в разработанных нами системах технического зрения применяемых в автоматических электромеханических артикуляторах.
Можно прогнозировать дальнейшее внедрение в практику таких систем технического зрения, которые обладают повышенным быстродействием (в них применяются современные процессоры обработки сигналов) с улучшенными массогабаритными показателями. По сравнению с широко известными такие СТЗ обладают гораздо более высокой эффективностью обработки изображений : распознаванием образов, определения ориентации объектов на изображении, задачи предварительной обработки изображения и улучшения изображений такие как фильтрации (ВЧ, НЧ), обработка изображений с помощью оператора Лапласа и т.п., подчеркивание границ, которые обычно являются предварительной процедурой обработки изображения перед поиском краев объектов,
обработка и анализ спектрограмм на основе одномерного и
264
двумерного преобразование Фурье, бинеаризация изображения, обработка непрерывных и дискретных изображений, квантование по уровню, статистическая обработка изображений и вычисление признаков изображения являющейся неотъемлемой частью систем распознавания образов. Также эти системы технического зрения обладают более высокой скоростью при одинаковой стоимости.
Помимо разработки таких СТЗ достижений актуальным представляется поиск идей закладываемых в СТЗ следующих поколений. Это будет способствовать создания научного задела для дальнейшего развития этой науки на следующих этапах ее развития. Значительное внимание должно быть уделено задаче распознавания образов, с учетом специфических возможностей САПР.
Все перечисленные вопросы должны быть не только предметом научно-технических разработок, но и находится в центре внимание при подготовке высококвалифицированных специалистов в ВУЗАх.
Авторы надеются, что настоящее пособие будет способствовать дальнейшему развитию СТЗ и перспективных систем робототехники, совершенствованию ученого процесса.
Этих направлений с учетом последних достижений в области построения отечественных и зарубежных СТЗ.
265
266