Диссертация (1090939), страница 12
Текст из файла (страница 12)
Так, в рассматриваемом случае, увеличение числа состоянийфильтра до величин порядка 50-100 уже не позволяет значительноуменьшить величину ошибки, достигнутую при использовании 20 частиц.Взадачеодновременнойлокализацииикартированиясиспользованием телевизионных изображений, в том числе объемных,ориентирами выступают локальные области изображений, обладающиепостоянным набором признаков, позволяющих идентифицировать этуобласть в пределах потока изображений. В случае отсутствия априорнойинформации о характере и особенностях пространства, ориентирамивыстумают особые точки изображений.
Результаты исследования процессадетектирования и распознавания особых точек приведены в пункте 2 даннойглавы.Рис. 2.30. Зависимость среднеквадрической ошибки определения положениякамеры от количества ориентиров88Как показывает практический опыт применения алгоритмов SLAM,основанных на анализе телевизионных изображенй, как основного источникаданных, ошибки вследствие недостаточного числа особых точек имеютнаиболее серьезные последствия при вычислении траектории движениякамеры и построении карты. Поэтому устойчивость алгоритмов к недостаткуособых точек является их важной характеристикой. На рисунке 2.30приведенызависимостиположениякамерыотсреднеквадратическойчисланаблюдаемыхошибкиопределенияориентиров.Результатыисследования показывают преимущество EKF SLAM решения на большомдиапазоне значений суммарного числа ориентиров.
Однако, при наиболеенегативном сценарии небольшого числа доступных наблюдений, алгоритмFastSLAM демонстрирует лучшие результаты. В рамках данного теста причисле ориентиров, превышающем 180 - 200 точек, алгоритм на основефильтра частиц характеризуется в среднем на 5% меньшей величинойсреднеквадратической ошибки определения положения камеры. Однако напрактике мгновенное число обрабатываемых особых точек, как правило, недостигает таких значений для изображений размером 640×480 пикс.Таким образом, в результате оценки параметров рассматриваемыхрешений задачи одновременной локализации и картированияможнозаключить, что оба решения имеют свои преимущества и недостатки, ивыбор того или иного алгорима напрямую зависит от характера задачи, типадатчикаивычислительныххарактеризуетсялинейнымресурсовхарактеромсистемы.МетодзависимостиFastSLAMвычислительнойсложности от количества пространственных ориентиров.
Это, однако, неявляетсянеоспоримымпреимуществомпринебольшомколичественаблюдений, что хараткерно для решений в составе систем прикладноготелевидения.МетоднаосноверасширенногофильтраКалманадемонстрирует в среднем меньшую ошибку при вычислении траекториидвижения камеры, однако проигрывает методу на основе фильтра частиц приуменьшениичислаотслеживаемых89ориентиров.ДополнительнымпреимуществомнастройкиалгоритмафильтраявляетсяFastSLAMчастицдлявозможностьсоответствиягибкойтребованиямкпроизводительности и точности.2.4.3. Фильтрация ложных соответствийИспользование особых точек как основного элемента анализаокружающего пространства существенно сокращает объем информации овизуальных объектах. Зачастую данный подход обеспечивает достаточновысокий уровень надежности при распознавании.
Однако, в связи с потерейинформации часто возникают ложные соответствия, что приводит кнекорректным результатам при сопоставлении изображений, и, в частности,при вычислении движения камеры методами визуальной одометрии.Основная причина этого состоит в том, что подход, состоящий в построениисоответствий как наиболее близких между собой точек, не отражаетфизических и пространственных свойств реальных объектов. В общем видефильтрацию соответствий можно определить, как отображение множествасоответствийвподмножество,элементыкоторогоудовлетворяютэвристическим предположениям о свойствах правильных соответствий.Эффективным методом отсеивания ложных соответствий являетсяметод RANSAC [100], принцип работы которого приведен во втором разделеданнойглавы.Количествоитераций,необходимоедлявычислениякорректной модели связи зависит от требуемой величины Ptrue = Ntrue / Nвероятности выбора из набора полученных соответствий верного значение.НижняяграницавероятностибудетPtrueопределятьминимальнонеобходимое количество выборок K, которое необходимо получить, чтобыиметь верную модель с вероятностью ошибки не более Pfalse = 1 – Ptrue:Klog Pfalse log( 1 Ptrue )M,где M – это минимальное количество соответствий, необходимых длявычисления модели.
Так, при Pfalse = 0.0001 для расчета связи с90использованием стандартной модели фундаментальной матрицы потребуетсяпорядка K≈108 выборок. Эта величина значительно меньше (примерно на 3порядка) при расчете матрицы гомографии, однако модель движения,рассматриваемая в рамках данной работы, предполагает связь координатособых точек через фундаментальную матрицу. В связи с этим, при условиидостаточно большого количества особых точек имеет смысл уменьшитьтребования к точности сопоставления особых точек методом RANSAC изадействоватьпостфильтрациюнайденныхсоответствийменеересурсоемким, но достаточно эффективным алгоритмом.(б)(а)(в)Рис.
2.31. Фильтрация ложных соответствий: найденные соответствия (а),ошибочные значения удалены (б), удаленные сопоставления (в)Длярешенияданнойзадачиможнозадействоватьразличныеэвристические предположения о свойствах ложных соответствий.
Однако,91наиболее характерным параметром является длина вектора движения,соединяющего сопоставляемые особые точки. Контроль длины векторов спомощью жестко заданного порога имеет недостаток, связанный схарактером движения особых точек в пределах кадра. Так, точки,принадлежащие объекту, находящемуся ближе к камере, будут задаватьбольшие вектора движения, нежели точки, принадлежащие объектам надальнем плане сцены. Поэтому, наиболее гибким способом являетсяадаптивное вычисление порога для каждого из векторов, учитывая среднеезначение в определенной области вокруг текущей точки.
Опираясь на такойметод, можно вывести условие для длины i-го вектора движения li:li 1N (l ( x p, y q) m, K p ,q Kгде N – количество векторов в рассматриваемой области, а размер области Kи значение максимальной разности m выбираются, исходя из требований кточности, плотности векторов в рассматриваемой области изображения иотносительной скорости движения камеры.
На рисунке 2.31 приведенырезультаты фильтрации ошибочных соответствий методом ограничениядлины векторов с помощью адаптивного порога.Локальные области для расчета величины порога при этом представляютсобой квадраты с величиной стороны от 30 до 100 пикселей при работе сизображениями разрешением 640 × 480 пикселей.Удалениеошибочныхзначенийпозволяетуменьшитьошибкивизуальной одометрии и, как следствие, улучшить точность работыалгоритма одновременной локализации и картирования в целом.
Стоитотметить, что в то время как решение на основе фильтра частиц само по себедостаточно устойчиво к одиночным ошибкам одометрии, множественныеошибки сопоставления, вызванные длительным воздействием различныхискажающих факторов, позволяют вывести из строя и фильтр частиц. В этомслучае увеличение числа итераций алгоритма RANSAC или постфильтрация92ошибочныхсопоставленийявляютсянеобходимымусловиемработоспособности системы.2.4.4.
Обработка замыканийВпроцессеработыалгоритмаодновременнойлокализацииикартирования все особые точки, полученные в процессе движения камеры,сохраняются в оперативной, либо постоянной памяти для возможностидетектирования так называемых замыканий – ситуации, когда камера поистечении некоторого времени возвращается в уже сохраненную в памятиобластькарты.Обработчикзамыканий–важныймодульсистемодновременной локализации и картирования, позволяющий избежатьнакопления ошибки со временем путем распознавания ранее исследованныхобластей.
На протяжении работы SLAM алгоритма ошибка локализациикамеры вносит все больший вклад в итоговый результат. Движение камеры внеизвестном пространстве имеет циклический характер и может бытьпредставлено рядом шагов.1. Камера начинает движение. На шаге инициализации алгоритма SLAMошибка оценки местоположения управляемого объекта равна нулю.2. Система получает первое измерение в некоторой области пространстваA.Ошибкалокализациистатическихориентировобусловленапогрешностью при наблюдении особых точек.3.
По мере движения камеры вклад в ошибку локализации вносит ипогрешность метода визуальной одометрии. Таким образом, ошибкапозиционирования является результатом комбинации погрешностейопределения координат ориентиров и локализации камеры.4. Камера возвращается в начало и проводит повторное измерениеобласти А. Использование алгоритма обработки замыканий позволяетучесть предыдущее измерение области А и позицию, в которой былиполучены эти данные, тем самым сократив накопленную ошибкулокализации камеры.93В разработанной системе алгоритм обработки замыканий выполняетдве задачи, направленные на уточнение положения камеры, предсказанной спомощью фильтра частиц по глобальной карте ориентиров.
Первой задачейявляется хранение карты ориентиров и текущей оценки положения камеры наданной карте при условии, что в текущий момент камера находится внеисследованнойобласти,чтоопределяетсяспомощьюпроверкипринадлежности предсказанной позиции к некоторой окрестности ужесохраненных точек. Второй задачей является повторное позиционированиепо сохраненной карте в случае попадания предсказанной позиции вокрестность сохраненной. Так как точность карты ориентиров связана спогрешностью локализации камеры, которая накапливается со временем, торанее сохраненная карта не менее точна, чем глобальная карта. Такимобразом, проведя повторную оценку позиции по сохраненной карте, можносократить накопленную ошибку оценки положения камеры.2.4.5. Тестирование алгоритмаИтоговая версия алгоритма была реализована на языке C# сприменением ряда библиотек для задач цифровой обработки изображений,численных методов и визуализации данных.
Основным инструментом дляработы с изображениями в алгоритмах технического зрения была выбранабиблиотека OpenCV, как наиболее мощный инструмент в своем роде насегодняшний день. Разработанный алгоритм одновременной локализации икартирования является частью системы прикладного объемного телевидения,и входными данными служат видеопотоки с цветной и инфракрасной камеробъемного RGBD датчика. На схеме, приведенной на рисунке 2.32,изображенаструктурамодулейпрограммыобрабатываемых данных [67].94вконтекстепотокаРис. 2.32. Этапы обработки данных в системеКарта глубины на входе алгоритма представляет собой черно-белоеизображение закодированное в режиме 16 бит/пикс.