Рис. 3.9
Определение координат реперной точки. В работе считается координатами реперной точки – координаты центра области соответствующей реперной точке. Абсцисса центра области находится суммированием абсцисс всех точек принадлежащих области и дальнейшим делением полученной суммы на размер области в пикселах. Аналогично находится и ордината центра области соответствующей реперной точке. На рис. 3.9 показана область соответствующая реперной точке в увеличенном масштабе. Серым цветом в центре области показан найденный вышеуказанным методом центр области.
Поиск второй реперной точки в плоскости крена (см. рис. 3.1) также осуществляется вышеописанным алгоритмом. Следует отметить, что реперная точка NASION в плоскости крена (см. рис. 3.1) – опорная реперная точка. Она предназначена для исключения случайного движения головы пациента при записи. Для этого из траектории движения точки GNATION вычитается движения реперной точки NASION.
В процессе обработки всей последовательности кадров размер реперной точки случайно флуктуирует. По этой причине ее размер сильно может измениться от кадра к кадру. Если разница размеров достигнет определенной величины, то программа просто не сможет
249
найти реперную точку. В этом случае реперную точку указывает пользователь. Как показывает практика, число кадров с ненайденными реперными точками составляет 1-2 процента.
Как уже упоминалось, в общем случае съемка объекта производится в трех плоскостях. Расположение реперных точек в этом случае показано на рис. 3.10, 3.11, 3.12. Точка под номером 1 на всех рисунках опорная.
1
2
4
3
Рис. 3.10
1
2
Рис. 3.11 реперные точки в плоскости тангажа
250
1 |
|
|
Ввод видеоизображения |
|
Сегментация изображения |
2 |
|
3 |
Описание изображения |
Рис. 3.12 реперные точки в плоскости крена |
|
|
Анализ изображения |
1.4. Преобразование координат |
Связь с системой управления |
|
роботом |
Основные узлы электронного тракта систем технического |
|
зрения роботов |
Рис. 3.13. Обобщенная функциональная схема |
|
|
|
СТЗ робота |
На рис. 3.13 изображена структурная схема СТЗ электромеханического артикулятора. Ввод изображения осуществляется посредством 3 видеокамер в трех плоскостях съемки. Сегментация изображения производится пользователем и заключается в выборе окон – обрабатываемых областей изображения. Описание изображения заключается в поиске реперных точек на изображении, фильтрации реперных точек, и определения признаков изображения. Анализ изображения необходим для построения полной картины движения объекта по ―снятым‖ реперным точкам. В процессе анализа производится
251 |
252 |
определения их координат и интерполяция c целью определения непрерывных траекторий движения реперных точек. Основной задачей для данной СТЗ является поиск реперных точек на изображении. Основываясь на литературных данных можно говорить, что для решения задачи поиска реперных точек все методы условно можно разделить на три группы. Первая группа основывается на применении статистических методов обработки изображений. Вторая группа методов использует признаки изображений. Методы третьей группы представляют собой методы согласованной фильтрации и сопоставления с эталоном. Среди методов предварительной обработки изображения можно выделить винеровскую фильтрацию, кепстральный анализ, медианную фильтрацию, подчеркивание границ. Среди методов основанных на преобразовании изображения можно выделить сегментацию изображения, двумерное преобразование Фурье. В работе разработан алгоритм, использующий некоторые элементы вышеуказанных методов.
Y пикселей |
210 |
|
|
|
|
|
|
|
|
|
|
200 |
|
|
|
|
|
|
|
|
|
|
|
190 |
|
|
|
|
|
|
|
|
|
|
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
170 |
|
|
|
|
|
|
|
|
|
|
|
0 |
10 |
20 |
30 40 |
50 |
60 |
70 |
80 |
90 10 |
11 |
12 |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
|
|
|
|
|
номер кадра |
|
|
|
|
||
Рис. 3.14 график зависимости Y координаты реперной точки от номера кадра
На рис. 3.14 показана Y координата траектории движения реперной точки в одной из плоскостей съемки.
Речь идет о преобразовании координат реперных точек, в плоскости съемки, в трехмерные декартовы координаты объекта. В
253
работе предполагается, что для управления роботом – манипулятором, используется трехмерная декартовая система координат. В декартовой системе координат положение объекта задается шестью координатами. Т.е. для выдачи сигналов управления в робот – манипулятор необходимо связать шесть координат объекта в декартовой системе координат с координатами реперных точек в трех плоскостях съемки – тангажа, курса и крена. В работе предложен метод обеспечивающий преобразование координат реперных точек в координаты декартовой системы координат. О нем ниже и пойдет речь.
L
alpha
X
Рис. 3.15 смещение реперных точек в плоскости крена
Z
X Y
Рис. 3.16 Декартова правосторонняя система координат
254
L
Y
alpha
Рис. 3.17 смещение реперных точек в плоскости курса
L
Z 
alpha
Рис. 3.18 смещение реперных точек в плоскости тангажа
Рассмотрим три реперные точки в плоскости тангажа. На рис. 3.18 показаны два момента времени (два кадра) съемки. Три точки соединенные сплошной жирной линией соответствуют первому кадру. Точки соединенные пунктирной линией соответствуют второму кадру. Реперные точки на кадрах смещены друг относительно друга из-за естественного движения фиксируемого объекта. Из рисунка понятно, что величинами, характеризующими движение объекта в плоскости тангажа, являются показанные на рисунке 14 вектор L и угол alpha.
255
Величина dx равная проекции L на ось X характеризует смещение объекта вдоль оси X (см рис. 3.18) в плоскости тангажа. Для объяснения преобразования координат представим себе, что система координат на рис. 3.16 связана с первоначальным положением объекта, причем лицевая сторона объекта ―смотрит‖ в направлении оси X. Тогда из геометрических соображений понятно
что, величина dx равна смещению координаты X объекта в декартовой системе координат. Аналогично поворот на угол alpha в плоскости тангажа (см. рис. 3.15) соответствует повороту на угол alpha вокруг оси Y (см. рис. 3.16). Таким образом, зафиксированные
координаты L и alpha, в плоскости тангажа, преобразовываются в декартовые координаты X и угол beta (угол поворота вокруг оси Y).
Рассмотрим преобразование координат в плоскости крена (см.
рис. 3.17). Величина dz равная проекции L на ось Z характеризует смещение объекта вдоль оси Z (см рис. 3.18) в плоскости крена. По
аналогии с предыдущим случаем величина dz равна смещению координаты Z объекта в декартовой системе координат. Угол alpha (см рис. 3.18) равен углу поворота вокруг оси X. Таким образом,
зафиксированные координаты L и alpha, в плоскости крена, преобразовываются в декартовые координаты Z и угол thetha (угол поворота вокруг оси X).
Рассмотрим преобразование координат в плоскости курса (см.
рис. 3.18). Величина dy равная проекции L на ось Y характеризует смещение объекта вдоль оси Y (см рис. 3.17) в плоскости курса. По
аналогии с предыдущими случаями величина dy равна смещению координаты Y объекта в декартовой системе координат. Угол alpha (см рис. 3.16) равен углу поворота вокруг оси Z. Таким образом,
зафиксированные координаты L и alpha, в плоскости курса, преобразовываются в декартовые координаты Z и гол gamma (угол поворота вокруг оси Z).
Как говорилось выше объект, движение которого фиксируется, имеет шесть степеней свободы, т.е. его положение однозначно задается шестью координатами в декартовой системе координат. Из вышесказанного понятно, что предложенный в работе метод решает поставленную задачу по преобразования координат.
256
Таким образом, после преобразования координат мы имеем шесть чисел: три координаты – X, Y, Z и три угла – beta, theta, gamma. В дальнейшем эти шесть координат могут быть использованы для выдачи сигналов управления в робот – манипулятор. Для чего они также могут быть подвергнуты преобразованию.
3.3.О применении параллельной обработки информации
3.3.1.Параллельная обработка данных
Внашей задаче по обработке изображений присутствуют такие компоненты автоматизированной системы обработки изображений как подпрограммы чтения/записи изображений, подпрограммы сжатия изображения, подпрограммы поиска реперных точек, подпрограммы фильтрации изображений и т.д.
Из конкретной реализации нашей автоматизированной системы обработки изображений вытекает, что подпрограммы чтения/записи изображений и подпрограммы фильтрации и поиска реперных точек используют разные ресурсы ЭВМ, т.е. подпрограмма чтения/записи работает только устройством хранения информации, а процедуры фильтрации и поиска реперных точек используют только ресурсы центрального процессора. Следовательно, время работы этих подпрограмм зависит только от устройств, к которым они ―привязаны‖. Проблема заключается в том, что в процессе обработки изображений все эти подпрограммы, реализующие ту или иную функцию (фильтрации, поиска и т.д.), запускаются на выполнение в последовательности, определяемой алгоритмом. Это приводит к тому, что в то время когда подпрограмма чтения/записи работает с устройством хранения информации, центральный процессор находится в состоянии ожидания. И наоборот в момент загрузки центрального процессора устройство хранения ―простаивает‖. С этой точки зрения схематично работу нашего алгоритма можно пояснить следующим рисунком.
257
a |
a |
a |
|
a |
|
1 |
2 |
3 |
4 |
5 |
кадры |
|
|||||
|
b |
b |
b |
b |
|
Рис. 3.19 последовательный вызов подпрограмм обработки
изображения
На рис. 3.19 цифрами 1, 2, 3 и т.д. обозначены моменты времени начала обработки указанных кадров. Время обработки одного кадра условно делится на две части. Символом a обозначена часть времени, затрачиваемая на чтение/запись изображения (здесь центральный процессор находится в состоянии ожидания), Символом b - часть времени работы центрального процессора (устройства хранения информации находятся в состоянии ожидания).
258