ISSN 0236-235X (P)
ISSN 2311-2735 (E)
4

09 Сентября 2024

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


Миронов С.В. (skycluster@gmail.com) - МГТУ им. Н.Э. Баумана, Юдин А.В. (skycluster@gmail.com) - МГТУ им. Н.Э. Баумана
Ключевые слова: программное обеспечение, автоматизация, навигация, робот, техническое зрение
Keywords: the software, automation, navigation, robot, machine vision


     

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

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

Подпись:  
Примечание: Д1, Д2 – датчики, К1 – компьютер, МК1 – микроконтроллер.
Рис. 1. Общие принципы взаимодействия подсистемРобототехнические системы во многих случаях позволяют улучшить экономические показатели промышленного производства за счет качества и скорости автоматизированных операций, непрерывного мониторинга, существенно повышающего надежность и эффективность системы управления. В свою очередь, качество робототехнической системы зависит от точности перемещения исполнительных механизмов и степени адаптации к различным средам – задачам, которые составляют основу навигации.

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

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

Архитектура системы управления с использованием технического зрения

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

Внешние датчики и исполнители, используемые в робототехническом комплексе (РК), не могут быть подсоединены к компьютеру напрямую через стандартные низкоуровневые интерфейсы, такие как PCI или ISA. Для решения этой проблемы используются платы расширения, представляющие собой один или несколько вспомогательных контроллеров. Вспомогательные контроллеры в отличие от главного компьютера работают на более низких тактовых частотах, а связь с ним осуществляется по интерфейсу общего назначения (например, CAN, USB, I2C).

В данном случае система технического зрения РК – совокупность программных модулей, при- нимающих, передающих и обрабатывающих информацию, полученную с помощью видеокамер (рис. 2).

Подпись:   Рис. 2. Основные компоненты системы  технического зренияФизические устройства и кабели, которые участвуют в работе системы, естественным образом дополняют ее до единого комплекса, но не рассматриваются по причине сильной зависимости их конфигураций от конкретного проекта.

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

Модуль «Драйвер видеокамеры» позволяет выделять очередной кадр из поступающего видеопотока. Модуль представляет собой интерфейс к компоненту операционной системы. Например, для Linux таким компонентом может быть код, использующий библиотеки v4l/v4l2; для Windows могут использоваться средства DirectX (DirectDraw).

Модуль «Распознаватель» выделяет и классифицирует изображения. Получая их в виде набора точек, он структурирует и фильтрует изображения. Выходной информацией модуля являются данные о видимой форме и размерах изображенных объектов, их типе и ориентации в пространстве. Таким образом, работа модуля сводится к автоматическому преобразованию растровых данных в векторные. Если видеопоток поступает от нескольких связанных между собой видеокамер (например, в системах стереоскопического зрения обычно используются две связанные камеры), данный модуль определяет положение объекта в пространстве, выполняя функции «Преобразователя координат».

Модуль «Преобразователь координат» определяет координаты распознанных объектов относительно выбранной точки, жестко связанной с системой видеокамер. Обычно алгоритм учитывает геометрические параметры системы видеокамер, а также данные, полученные в ходе ее калибровки (фокусное расстояние, величину искажения).

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

·     построение и поддержание непротиворечивого представления об окружающем мире;

·     разработка стратегии решения поставленных задач;

·     управляющее воздействие на исполнительные механизмы.

Следует выделить две наиболее общие части этой подсистемы – модули «Построитель карты» и «Искусственный интеллект».

В задачу «Построителя карты» входит определение положения объектов в мировой системе координат с учетом положения РК в этой системе и положения различных объектов относительно РК. Главная сложность заключается в том, что вся информация содержит погрешности, которыми нельзя пренебрегать. Алгоритм построения карты должен вести постоянное накопление данных и анализ их согласованности. При обнаружении противоречия необходимо определить менее достоверные данные и исключить их из рассмотрения. На этом этапе большую роль играют вспомогательные датчики, которыми оснащен РК. Если координаты РК в мировой системе координат можно определить достаточно точно, алгоритм работы модуля может быть значительно упрощен.

Модуль «Искусственный интеллект» отвечает за планирование действий РК. Результаты планирования выражаются в виде команд различным исполнительным механизмам.

Взаимодействие системы технического зре­ния с исполнительными центрами. Поскольку решаемая задача навигации ставит жесткие ограничения на время обработки сигналов всех датчиков, необходимо обеспечить предобработку их данных без передачи информации главному компьютеру. Для решения этой задачи применяется метод делегирования полномочий системы принятия решений, который заключается в том, что подсистемы принятия решений присутствуют в виде связанных между собой агентов как на компьютере, так и на контроллере (рис. 3). Этот подход позволяет оперативно реагировать на нештатные ситуации, фиксируемые датчиками контроллера (Д2). При этом в системе по-прежнему возможно наличие контроллеров, не имеющих собственного агента принятия решений (например МК1). Для решения проблемы синхронизации агентов им назначаются роли (клиент/сервер). Клиентская часть системы берет на себя функции реагирования на нештатные ситуации, в то время как серверная часть – долговременное планирование и анализ данных датчиков на непротиворечивость.

Используются следующие типы протоколов передачи данных.

1.   Протокол программного взаимодействия с модулем построения карты, который стандартизирует интерфейсы системных вызовов, выполняемых из подпрограмм драйверов датчиков в подпрограмму построения карты. Язык описания интерфейсов – C (Метка 1).

2.   Протокол взаимодействия вынесенных датчиков с агентом принятия решений (Метка 2).

3.   Протокол синхронизации агентов принятия решения (Метка 3).

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

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

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

Применение систем технического зрения

Объект для автоматизации представлен мобильным роботом на базе PC-совместимой системной платы, работающим под управлением модульного ПО в операционной среде Linux. Шасси выполнено из комбинации металла и пластика. Робот двигается за счет пары независимых ведущих колес с дифференциальным законом управления двигателями и обратной связью через датчики-энкодеры.

Робот в автономном режиме решает задачи распознавания объектов на цветном изображении, высокоуровневой обработки датчиков, построения карты объектов с высокой точностью определения координат, интеллектуального принятия решений, прецизионного наведения на объекты полиго- на [1].

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

Реализация системы технического зрения

Для решения рассмотренной задачи мобильного робота необходимо разработать систему технического зрения, для чего необходимы следующие действия:

·     исследование изменения параметров освещения окружающей среды;

·     исследование параметров регистрирующего устройства (видеокамеры), установленного на мобильной платформе;

·     разработка алгоритмов автоматической калибровки параметров регистрирующего устройства (видеокамеры) по установленным ранее параметрам;

·     тестирование алгоритмов калибровки на различных аппаратных устройствах (видеокамерах) в предполагаемых условиях окружающей среды;

·     разработка модульной архитектуры программной части комплекса, а именно системы управления движением мобильного робота, системы технического зрения;

·     реализация программных модулей, необходимых для задач технического зрения.

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

Простая реализация. Основные задачи системы технического зрения – быстрая обработка видеопотока, полученного с видеокамеры, фильтрация шумов, обнаружение объектов и восстановление их пространственных координат. Система должна различать лунки, шары, а также объекты, цвет которых отличается от цвета фона (зеленого).

Подпись:  
Рис. 4. Схема размещения камерыНизкое качество видеокамеры может повлечь некорректную передачу цветов, а несовпадение центра матрицы и оптической оси объектива вызвать оптические аберрации, которые необходимо устранить. Поскольку заявленные условия являются наиболее значимыми в отношении применяемых алгоритмов, исследуем именно их. Кроме того, плохое качество видеокамеры во многом компенсируется ее низкой стоимостью, что в некоторых проектах может играть решающую роль.

Одним из возможных кадров подобной системы может быть кадр с синей лункой и наложившимся на синий цвет бликом от одной из ламп освещения. В этом случае можно выделить на кадре 2 области. Область 1 содержит пиксели, которые нужно классифицировать как синие, и при этом область подвержена блику. Область 2 содержит зеленые пиксели, которые также находятся вблизи блика, на стыке с синими пикселями.

Вычислим среднее значение цвета по областям и стандартное отклонение (результаты приведены в таблице):

; ,

где i – индекс, пробегающий по каждой точке рассматриваемой области (построчная развертка); xi – цвет i-й точки в координатах красной, синей и зеленой составляющих; М – вектор среднего значения; S – вектор отклонения от среднего; n – количество точек в рассматриваемой области.

Статистика по областям разного цвета

Область

Вектор

M

S

1 (синяя лунка)

2 (полигон)

Примечание: координаты векторов: красная, синяя и зеленая составляющие цвета. Все значения лежат в диапазоне от (0,0,0) – черный до (255,255,255) – белый.

 

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

Распределение цветов выражается в шуме в области серо-зеленого цвета. Обычным приемом устранения такого шума является свертка с усредняющим фильтром. Пример масок такого фильтра:

 .

Однако размытие и усреднение цвета исследуемых объектов являются трудоемкими опе- рациями для больших изображений (сложность алгоритма в общем случае для квадратных изображений – m2´n2, где m – размер стороны изображения; n – размер стороны маски фильтра) и не смогут решить проблему фильтрации неточечных помех (например бликов).

Размещение и калибровка камеры. Камера крепится к роботу на высоте порядка 30 сантиметров над полигоном так, чтобы граница области видимости находилась на расстоянии не больше 1 метра. При таком расположении ближайшие к роботу объекты видны с минимальными искажениями (рис. 4).

Для калибровки камеры применяется табличный метод: для каждого пикселя изображения строится таблица соответствия «экранные координаты–пространственные координаты». Для этого на изображении выделяются достоверные точки, для которых точно известны пространственные координаты. Для остальных точек отображение экранных координат в пространственные вычисляется по координатам ближайших достоверных точек.

Для вычисления используется метод двухмерной интерполяции (рис. 5). Здесь для координат достоверных точек A, B, C известны пространственные координаты A`, B`, C`. Тогда простран- ственные координаты О` точки O вычисляются из пропорций AM/MC=A`M`/M`C` и MO/ON= =M`O`/O`N`.

Для выделения достоверных точек применяется лист бумаги со специально нанесенным рисунком. Программа калибровки включает в себя следующие действия:

1)   выделение экранных координат достоверных точек;

2)   для каждой известной точки определение порядкового номера и выделение пространственных координат достоверных точек по известному расстоянию между ними;

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

Определение порядкового номера точки осложняется искажениями, вносимыми камерой. Для решения этой задачи были опробованы два подхода.

Метод выделения вертикальных и горизонтальных линий. Благодаря рисунку калибровочного листа, выделение горизонтальных линий сводится к наложению фильтра, пропускающего только синие составляющие цвета. Аналогично для выделения вертикальных линий применяется фильтр, пропускающий только красные составляющие цвета пикселей. Имея информацию о линиях, можно легко подсчитать порядковый номер данной точки.

Метод поиска соседей. Алгоритм подсчета номера точки опирается только на экранные координаты центрального столбца точек. Учитывая, что центральный столбец точек минимально искажен, поиск соседей проводится влево и вправо от него. Этот метод оказался более устойчивым, так как меньше зависит от параметров цветопередачи видеокамеры.

Фильтрация шумов и распознавание. Обработка каждого кадра изображения включает следующие этапы:

-    классификация цветов пикселей,

-    применение шумоподавляющего фильтра,

-    локализация объектов и определение их пространственных координат.

Классификация цвета пикселей. Среди множества алгоритмов классификации рассмотрим простейший. Цвет определяется по максимальной цветовой составляющей:

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

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

Изображение разбивается на квадратные участки площадью s: 3´3, 5´5, 7´7 пикселей. Для каждого участка считается количество пикселей i-го цвета si.

Критерием зашумленности области является выражение , где i – цвет (красный, зеленый, синий, черный, белый); d – порог, определяемый экспериментально (обычно принимался равным 0,8s); si – количество пикселей i-го цвета в рассматриваемой области.

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

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

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

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

Цветовое пространство CIE L*a*b*. Многие исследования восприятия цвета показали, что человеческий глаз имеет фоторецепторы для коротких (S), средних (М) и длинных (L) волн, более известные как синие, зеленые и красные фоторецепторы (RGB). Математически это определено как первое цветовое пространство CIE XYZ [3]. Одним из вариантов данного цветового пространства является CIE L*a*b* – наиболее полная цветовая модель для описания всего набора цветов, видимых человеческим глазом.

В отличие от стандартного (и, вероятно, более известного) RGB цветового пространства в CIE L*a*b* применяются три параметра: светлота (L*), положение между пурпурным и зеленым цветами (a*), положение между желтым и голубым цветами (b*).

Достоинство CIE L*a*b*, которое обусловило выбор этого цветового пространства, в том, что оно несет информацию о разности цветов, отделяя уровень освещенности точки в сцене и таким образом сводя количество параметров от трех в RGB к двум. Значит, систему не требуется перенастраивать при смене освещенности.

Преобразование из RGB в CIE L*a*b*. На данном этапе необходимо преобразовать изображение с видеокамеры, которое доступно в виде RGB-массива, в массив L*a*b*. Преобразование из sRGB в CIE L*a*b* осуществляется в два этапа: 1) из sRGB в CIE XYZ, 2) из CIE XYZ в CIE L*a*b*.

Обратим внимание, что в первом преобразовании интенсивность каждого sRGB канала должна быть выражена как число с плавающей запятой в диапазоне между 0 и 1. Значения интенсивности каналов в CIE XYZ оцениваются по следующей формуле:

,

где функция f(K) определяется следующим образом:

Функция f(K) необходима для аппроксимации нелинейного поведения гаммы в пространстве sRGB. В приведенной формуле используется значение γ=2,2, что соответствует среднему значению для реалистичного отображения.

Во втором преобразовании компоненты выбранной белой точки определяются как Xn=0,950456, Yn=1,0, Zn=1,088754. Значения интенсивностей в пространстве CIE L*а*b* рассчитываются по следующим формулам:

Функция g(t) выбрана таким образом, чтобы избежать точки бесконечной сингулярности при t=0:

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

объектов, значительно улучшаются и по качеству выносимых решений, и по скорости выполнения.

В заключение отметим, что описанный набор алгоритмов позволяет успешно справиться с задачей ориентации на игровом полигоне. Погрешность определения пространственных координат составляет менее 5 мм на расстоянии 0,5 м и обусловлена главным образом низким разрешением обрабатываемых кадров (для минимизации времени обработки выбрано разрешение 256´256 точек). Время полной обработки одного кадра составляет менее 10 мс на кадр.

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

Литература

1. Миронов С.В., Трушкин Ф.А. Система анализа визуальных данных мобильного робототехнического комплекса // Мобильные роботы и мехатронные системы: матер. науч. шк.-конф. (Москва, 23–24 октября 2006). М.: Изд-во Моск. ун-та, 2006.

2. Бухалто А.Н. [и др.]. Нейрокомпьютеры в системах обработки изображений. Кн. 7; [под общ. ред. Ю.В. Гуляева и А.И. Галушкина]. М.: Радиотехника, 2003. 192 с.

3. CIE, Commission Internationale de l’Eclairage Proceedings. Cambridge University Press, 1931.

4. Буянов А.А., Власов А.И., Макеев С.С. Исследование нейросетевых алгоритмов, применяемых для распознавания образов // Молодые ученые – науке, технологиям и профобразованию для устойчивого развития: проблемы и новые решения: 2-я Междунар. конф. СНГ. М., 2000. Ч. 2, 3.

5. Власов А.И. Аппаратная реализация нейровычислительных управляющих систем // Приборы и системы управления. 1999. № 2. С. 61–65.



http://swsys.ru/index.php?id=2702&lang=.docs&page=article


Perhaps, you might be interested in the following articles of similar topics: