средним арифметическим значений яркости по 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