Вот подробный обзор лекции профессора Стэнфордского университета Марко Павоне, посвященной классическим методам визуального распознавания и извлечения информации для автономных роботов.
Извлечение информации и классическое визуальное распознавание в робототехнике
В рамках курса AA274A «Принципы автономности роботов» профессор Марко Павоне представляет завершающую лекцию по модулю восприятия (perception). Основное внимание уделяется переходу от «сырых» данных сенсоров к высокоуровневому пониманию сцены, необходимому для принятия решений и локализации робота в пространстве.
🤖 Роль восприятия в автономных системах 0:57
Цель восприятия — генерация высокоуровневых представлений на основе данных одного или нескольких датчиков . Павоне подчеркивает, что автономным роботам не всегда требуется идеальное понимание мира:
- Геометрическое понимание: Для быстролетящих дронов достаточно знать геометрию препятствий, чтобы избегать столкновений .
- Семантическое понимание: Для манипуляционных задач (например, налить воду в стакан) робот должен понимать взаимоотношения между объектами и их назначение .
Профессор разделяет признаки (features) на два типа:
- Низкоуровневые: Геометрические примитивы (линии, круги), используемые в основном для локализации .
- Высокоуровневые: Распознавание конкретных объектов (стол, человек), необходимые для планирования сложных задач .
📏 Извлечение геометрических примитивов: работа с линиями 3:12
Линии являются простейшими и наиболее часто используемыми примитивами в робототехнике, особенно для навигации внутри помещений. Павоне выделяет две ключевые проблемы :
- Сегментация: Какие точки принадлежат какой линии?
- Аппроксимация (Fitting): Как рассчитать параметры линии, которая наилучшим образом описывает набор точек?
Полярные координаты против декартовых 5:47
В компьютерном зрении и робототехнике линии чаще описываются не привычным уравнением $y = mx + b$, а в полярных координатах . Линия определяется двумя параметрами:
- $R$ (или $\rho$) — длина перпендикуляра от начала координат до линии.
- $\alpha$ — угол этого перпендикуляра относительно оси X .
Павоне аргументирует использование полярных координат тем, что наклон $m$ в декартовой системе может стремиться к бесконечности (для вертикальных линий), что вызывает вычислительные трудности. В полярной системе параметры всегда ограничены: $\alpha$ находится в пределах $[0, 2\pi]$, а $R$ ограничено размером рабочей среды .
Метод наименьших квадратов 15:40
Для нахождения параметров линии используется минимизация функции стоимости — суммы квадратов расстояний от точек до предполагаемой линии . Павоне отмечает, что важно учитывать неопределенность измерений: точки, находящиеся дальше от сенсора (например, лидара), имеют большую ошибку, поэтому им присваивается меньший вес ($W_i = 1/\sigma_i^2$) .
🧩 Алгоритмы сегментации линий 25:48
Профессор разбирает три классических подхода к тому, как сгруппировать облако точек в отдельные линии.
1. Split-and-Merge (Разделяй и властвуй) 26:55
Это итеративный алгоритм. Сначала строится одна линия через все точки. Затем находится точка с максимальным отклонением от этой линии. Если отклонение превышает заданный порог, линия разбивается в этой точке на две части, и процесс повторяется рекурсивно . В конце похожие сегменты могут быть объединены (этап Merge) .
2. RANSAC (Random Sample Consensus) 33:15
Один из самых популярных и надежных методов. Алгоритм работает следующим образом:
- Случайным образом выбираются две точки и через них проводится линия .
- Подсчитывается количество «инлайеров» (точек, лежащих достаточно близко к этой линии) .
- Процесс повторяется $K$ раз. Выбирается линия с наибольшим числом инлайеров.
Павоне математически доказывает, что количество итераций $K$ зависит не от общего числа точек $N$, а от ожидаемой доли инлайеров $w$ в данных . Это делает RANSAC крайне эффективным для обработки данных с большим количеством шума («аутлайеров»).
3. Преобразование Хофа (Hough Transform) 46:57
Метод основан на голосовании в пространстве параметров. Каждая точка в пространстве изображения «голосует» за все возможные линии, которые могут через неё проходить. В полярных координатах $(\alpha, R)$ одна точка порождает синусоиду . Там, где синусоиды от разных точек пересекаются, находится искомый параметр линии. Этот метод элегантен тем, что не требует сложной индексации и устойчив к пропускам в данных .
🖼️ Распознавание объектов: эпоха до нейросетей 1:00:46
Павоне делает исторический экскурс, описывая методы, доминировавшие до «революции глубокого обучения» 2012 года .
Сопоставление шаблонов (Template Matching) 1:04:15
Объект ищется с помощью линейной фильтрации. Шаблон (изображение искомого объекта) скользит по картинке как маска, и вычисляется нормализованная кросс-корреляция . Пик корреляции указывает на местоположение объекта. Для борьбы с изменением масштаба используются «пирамиды изображений» — копии картинки в разных разрешениях . Чтобы избежать артефактов при уменьшении масштаба (алиасинга), необходимо предварительно применять размытие по Гауссу .
Мешок визуальных слов (Bag of Visual Words) 1:15:16
Этот метод заимствован из поиска документов. Изображение представляется как набор локальных признаков (дескрипторов). Создается «словарь» типичных визуальных элементов. Затем для изображения строится гистограмма частоты появления этих элементов, которая сравнивается с базой данных .
🚀 Переход к современности 1:17:41
В завершение лекции Марко Павоне признает, что классические методы распознавания сейчас практически полностью вытеснены нейросетями. Однако он подчеркивает, что нейронные сети внутри себя «обучаются» тем же операциям, которые люди раньше проектировали вручную: сопоставлению шаблонов и анализу частотности признаков .
Для финального проекта курса студентам предлагается использовать нейросеть как «черный ящик» (вход — изображение, выход — класс объекта), а глубокое изучение архитектур оставлено для продвинутого курса AA274B .