Skip to main content
LibreTexts - Ukrayinska

12.3: Картування RGB-D

  • Page ID
    32131
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Алгоритм ICP може бути використаний для зшивання послідовних зображень діапазону разом для створення 3D-карти навколишнього середовища (Henry, Krainin, Herbst, Ren & Fox 2010). Разом з інформацією RGB можна створити повну 3D-прогулянку оточення. Приклад такої прогулянки за допомогою методу, описаного в (Whelan, Johannsson, Kaess, Leonard & McDonald 2013) показаний на малюнку 12.3.1. Проблема ICP полягає в тому, що помилки в кожному перетворенні поширюються, роблячи карти, створені за допомогою цього методу, такими ж непарними, як карти, створені простою одометрією. Тут алгоритм SLAM може бути використаний для виправлення попередніх помилок після виявлення замикання циклу.

    clipboard_e71638bc468db337a6acf541f5bef85d3.png
    Малюнок\(\PageIndex{1}\): Зплавлені дані хмари точок з корита прогулянки офісного середовища за допомогою «Kintinious». Картина люб'язно надано Джоном Леонардом.

    Інтуїція SLAM полягає в тому, щоб розглядати кожну трансформацію між послідовними знімками як пружину зі змінною жорсткістю. Всякий раз, коли робот повертається до раніше побаченого місця, тобто визначено замикання петлі, вводяться додаткові обмеження, і колекція знімків, з'єднаних пружинами, стає сіткою. Кожен раз, коли робот потім повторно спостерігає трансформацію між будь-яким із знімків, він може «посилити» пружину, що з'єднує їх. Оскільки всі знімки підключені, ці нові обмеження поширюються через мережу і буквально витягують кожен знімок на місці.

    RGB-D Mapping використовує варіант ICP, який покращений функціями SIFT для вибору та узгодження точок. Карти будуються поетапно. Функції SIFT та їх просторові відносини використовуються для виявлення замикання петель. Після виявлення закриття циклу до графіка пози додається додаткове обмеження, а алгоритм оптимізації, подібний до SLAM, виправляє позу всіх попередніх спостережень.

    Оскільки ICP працює лише тоді, коли обидві хмари точок вже тісно вирівняні, що може бути не так для швидко рухається робота з відносно шумним датчиком (XBox Kinect має помилку 3 см на кілька метрів діапазону проти міліметрів у лазерних сканерах діапазону), RGB-D Mapping використовує RSAC для пошуку початкового трансформація. Тут RANSAC працює як для підгонки ліній: він продовжує вгадувати можливі перетворення для 3 пар точок функції SIFT, а потім підраховує кількість inliers при узгодженні двох хмар точок, одна з яких трансформується за допомогою випадкового припущення.