Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3188

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
3.33 Mб
Скачать

средним арифметическим значений яркости по N пикселам с каждой стороны края. Среднее результата и есть разность в яркости.

Рис. 2.13. Предельный размер носителя оператора выделения края обусловлен расстоянием между особенностями изображения.

Если размер слишком велик, то в область носителя будут попадать посторонние детали. В некоторых местах, например вблизи узловых точек изображения сцены, составленной из многогранников, носитель любой конечной площади будет приводить к включению нежелательных участков.

Вто же время стандартное отклонение шумовой

 

 

 

 

составляющей результата равно / N / 2 , где

— стандартное

отклонение в каждом измерении. Таким образом, Однако если брать чересчур большие участки, то могут

оказаться затронутыми другие области изображения (рис. 2.13). Тогда результаты обработки окажутся ошибочными в любом случае, кроме случая наличия на изображении лишь одного края.

2.4.5. Выделение и локализация края

Если сигнал, полученный в результате усиления краев,

238

существенно превышает шум, мы можем сделать вывод о том, принадлежит ли определенная точка краю или нет. Такое решение не является абсолютно надежным, так как добавляемый шум в данной точке может оказаться значительным. Все, что мы можем сделать, — это уменьшить вероятность подобного события, выбирая порог таким образом, чтобы число ошибочно отнесенных к краю точек лежало в допустимых пределах.

Если порог слишком высок, слабовыраженные края будут пропущены. Таким образом, существует противоречие между двумя видами ошибок. Увеличивая размер участков, по которым производится усреднение, или (что одно и то же) уменьшая частоту, выше которой подавляются частотные компоненты изображения, мы можем снизить влияние шума и упростить выделение слабовыраженных краев. Однако тут же мы сталкиваемся с противоположной проблемой, вызванной тем, что с увеличением участков в них могут попасть другие края. Тем самым мы видим, что для распознавания коротких краев необходимо, чтобы они были более контрастны.

Изображение с обостренными краями будет иметь большие значения яркости не только в тех пикселах, которые непосредственно расположены на крае, но и в некоторых соседних. Этот эффект особенно ярко проявляется в тех случаях, когда в целях уменьшения шума изображение предварительно сглаживается. Отсюда возникает проблема локализации краев. Если бы не шум, мы могли бы надеяться обнаружить максимальные значения яркости непосредственно на крае. Эти экстремальные значения могли бы затем использоваться для подавления соседних больших значений.

При использовании в качестве оператора квадрата градиента на обработанном изображении каждому краю будет соответствовать гребень с высотой, пропорциональной квадрату перепада яркости. В случае операторов Лапласа или квадратичной вариации возникнут два параллельных гребня по каждую сторону от края. При использовании лапласиана эти гребни будут иметь противоположные знаки и край будет проходить там, где происходит смена знака.

239

ГЛАВА 3

3. CИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ УСТРОЙСТВ ВОСПРОИЗВЕДЕНИЯ ДВИЖЕНИЙ

1.3.11.СТЗ электромеханического артикулятора

Вэтой главе идет речь о разработанной системе технического зрения, обслуживающей систему воспроизведения движений – электромеханический артикулятор, применяемый в ортопедической стоматологии в качестве имитаторов движения нижней челюсти человека. Данная система технического зрения ―отслеживает‖ движения нижней челюсти человека (далее объекта) в трех плоскостях обеспечивая получение информации о шести степенях свободы объекта. Информация о шести степенях свободы объекта поступает на устройство, предназначенное для выдачи сигналов управления в робот - манипулятор, в котором закреплен макет нижней челюсти человека (далее платформа). Таким образом, движение платформы имитирует движение нижней челюсти человека.

Система технического зрения включает в себя три видеокамеры соединенные с компьютером платой ввода видеоизображения и программного обеспечения предназначенного для обработки изображения с целью определения координат объекта.

Рис.3.1

.

241

Методика ―отслеживания‖ движений объекта заключается в нанесении на голову пациента белых реперных точек (cм. рис. 3.1) и дальнейшей ее съемки в трех плоскостях. Введенное посредством TV tuner-а изображение объекта в трех плоскостях поступает на вход программы. Программа осуществляет поиск реперных точек (на рис. 3.1 точки NASION и GNATION – реперные точки) на изображении в трех видеозаписях (соответствует трем плоскостям). Далее программа определяет координаты найденных реперных точек и делает преобразование координат.

В этой главе идет речь об алгоритме определения координат реперных точек на изображении в одной плоскости. Рассматривается обработка двух реперных точек (плоскость крена). Обработка реперных точек в двух других плоскостях полностью аналогична обработке реперных точек в одной плоскости.

На вход программы поступают кадры изображения в порядке их записи видеокамерой. Задачей программы является поиск реперных точек на фоне помех (бликов изображения) и определение их координат.

Для решения задачи в работе разработан следующий алгоритм (он применяется к каждому кадру изображения):

1.Ввод параметров в программу;

2.Предварительная обработка (фильтрация) изображения;

3.Процедура пороговой обработки заданных областей движения реперных точек;

4.Обработка изображения процедурой реализующей алгоритм заполнения;

5.Процедура фильтрации полученных областей изображения по размеру;

6.Выбор области изображения соответствующей искомой реперной точке;

7.Определение координат искомой реперной точки; Рассмотрим каждый шаг алгоритма.

Ввод параметров. Перед обработкой видеозаписи пользователь вводит в программу начальные параметры. Параметрами служат: области движения реперных точек; размеры реперных точек; пороги, устанавливаемые программой на указанные пользователем области движения реперных точек. Области движения (приблизительные) реперных точек

242

пользователь указывает программе, просмотрев видеозапись. Знание областей движения реперных точек необходимо программе затем чтобы не спутать реперные точки при определении их координат. Также задание областей движения резко уменьшает время обработки изображения, ведь если заранее известно, что в какой-то конкретной области реперной точки быть не может то и не следует анализировать эту область на наличие этих реперных точек. Задание областей движения реперных точек также позволяет раздельно обрабатывать данные области, что важно, поскольку в разных областях присутствует разное количество помех (бликов) и появляется возможность задавать параметры обработки изображения (такие как пороги и параметры процедуры предварительной фильтрации) для каждой области свои.

Указание порога необходимо программе чтобы произвести сегментацию изображения. Сегментация изображения позволяет выделить из всего кадра области – кандидаты похожие на реперную точку.

Знание размера необходимо программе для фильтрации по размеру областей – кандидатов на реперную точку. Пользователь просто указывает область изображения с реперной точкой, а программа сама измеряет ее размер в пикселях.

Все вышеописанные начальные параметры указываются пользователем только для первого кадра изображения.

Предварительная обработка (фильтрация) изображения. Предварительная обработка в программе необходима для устранения помех препятствующих поиску на изображении реперных точек.

Области изображения, содержащие реперные точки, являются почти всегда самыми яркими областями изображения. Следует отметить, что помехи содержат пикселы с такой же высокой яркостью, как и области реперных точек. Поэтому задача поиска реперных точек не решается просто выбором самых ярких точек на изображении. В работе был исследован сглаживающий фильтр с порогом. На рис. 3.2 и рис. 3.3 показаны

изображения до и после обработки (соответственно) фильтром.

Рис.3.2

Рис. 3.3

После работы данного фильтра гистограмма яркости представляет собой набор острых ―палок‖ (см. рис. ниже)

243

244

Рис.3.4 (Гистограмма яркости до фильтрации)

Рис.3.5 (Гистограмма яркости после фильтрации

)

Фильтр делающий такое преобразование изображения работает как сглаживающий фильтр с использованием порога, т.е. он при сканировании изображения устанавливает порог на яркость пикселов изображения. Отфильтрованное таким образом изображение представляет собой относительно небольшое число областей, каждая из которых имеет свою яркость. Данный фильтр (см. рис. 3.5 и 3.3) подчеркивает границу между областью с белой реперной точкой и остальным изображением. Тот факт что, фильтр является сглаживающим, позволяет использовать его в устранении помех. Следует отметить что, в случае применения данного фильтра реперная точка может исчезать. Это происходит после пороговой обработки изображения (будет описана ниже). Это обстоятельство сдерживает применение данного фильтра в программе

245

Пороговая обработка. Данная процедура представляет собой сегментацию изображения по яркости. Пороговая обработка необходима для правильной работы процедуры реализующей алгоритм заполнения. Поскольку алгоритм заполнения предполагает свою работу с областями границы, которых имеют резкий перепад яркости. На рис. 3.6 и 3.7 показаны изображения до и после пороговой обработки (соответственно).

Рис. 3.6

Рис. 3.7

246

После пороговой обработки на изображении присутствуют пиксели с двумя значениями яркости (см. рис. 3.7).

Алгоритм заполнения. Алгоритм заполнения предназначен для заполнения области изображения указанным цветом. В нашей задаче алгоритм заполнения необходим по следующим причинам: вопервых при обработке изображения возникает задача измерения размеров областей в пикселах (для процедуры фильтрации по размеру); во-вторых алгоритм заполнения используется с целью идентификации областей (полученных процедурой пороговой обработки см. рис. 3.7) – т.к. в процессе обработки каждая область ―заливается‖ своим уникальным цветом она не может быть спутана с какой-либо другой областью. Алгоритм заполнения предполагает наличие затравочного пиксела. В общем можно выделить два вида алгоритмов заполнения: 1) алгоритмы, использующие список ребер (сюда можно включить и алгоритмы заполнения многоугольников);

2)алгоритмы заполнения с затравкой;

Впроцессе работы были проанализированы оба типа алгоритмов на предмет использования в нашей задаче. У алгоритмов, использующих список ребер, выявлен серьезный недостаток, обусловленный необходимостью создания списка ребер в процессе предварительной подготовки перед работой рассматриваемого алгоритма. Создание списка ребер области заполнения является в нашем случае ненужной задачей, которую можно обойти, просто выбрав в качестве алгоритма заполнения области – алгоритм заполнения с затравкой.

В[52,53] описано два алгоритма заполнения области с затравкой: 1) Простой алгоритм со стеком; 2) Построчный алгоритм заполнения;

Вработе был выбран построчный алгоритм с затравкой, поскольку алгоритм со стеком неэкономно использует память ЭВМ.

247

Рис. 3.8

Процедура фильтрации по размеру и выбор реперной точки. Эта процедура предназначена для поиска реперной точки среди областей-кандидатов. Проблему, иллюстрирует рис. 3.8. На нем показано две белые области: верхняя – помеха; нижняя область представляет собой искомую реперную точку. Как ранее уже упоминалось критерием для выбора истинной реперной точки, служит ее размер (его определяет процедура, реализующая алгоритм заполнения). Но в описанной ситуации практически невозможно отличить помеховую область (верхняя) и область с реперной точкой.

Для решения этой проблемы используется информация о движении реперной точки. Поскольку смещение реперной точки (как показывает практика) от кадра к кадру составляет не более 1-2 пикселов изображения, то следует выбирать область ближайшую к последней найденной реперной точке, а первоначальное положение реперной точки задает пользователь. Расстояние между реперными точками измеряется как расстояние между центрами областей соответствующих данным реперным точкам.

248

Рис. 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]