Компьютерное зрение
Кратко
Компьютерное зрение (computer vision) — методы, позволяющие машине получать, анализировать и понимать цифровые изображения: превращать картинку с камеры в описание мира, по которому можно принимать решения. Для робота или БПЛА это глаза: зрение находит препятствия, распознаёт объекты и помогает аппарату понять, где он находится и как движется.
Для чего используется
Классические задачи дисциплины:
- распознавание и классификация — что изображено на снимке;
- детекция — найти объекты и указать, где они;
- сегментация — разбить изображение на области;
- трекинг — вести движущийся объект от кадра к кадру;
- оценка движения — определить скорости точек сцены;
- реконструкция — восстановить трёхмерную модель по снимкам.
На БПЛА из этих задач собираются практические функции: оценка собственного движения (VIO, оптический поток), предотвращение столкновений в ручных режимах, планирование маршрута с обходом препятствий, навигация без спутников — вплоть до SLAM.
Как работает
Компьютерное зрение — одна из основных целей искусственного интеллекта, и его современный облик определило глубокое обучение: лучшие алгоритмы распознавания основаны на свёрточных нейросетях (CNN), архитектура которых вдохновлена устройством зрительной коры. Сеть учится на размеченных примерах и затем распознаёт то, чему её учили, на новых снимках.
Зрение — вычислительно тяжёлая работа, поэтому на аппарате её выполняет не полётный контроллер, а companion computer — отдельный бортовой компьютер. Он обрабатывает поток с камер и передаёт автопилоту уже готовые результаты: оценку положения и ориентации, команды обхода препятствий. В экосистеме PX4 так устроены все зрительные функции — от VIO до планирования маршрута.
Основные компоненты
- Камеры — источник изображений: нижняя для оптического потока, передняя для обхода препятствий и VIO.
- Companion computer — бортовой вычислитель для тяжёлой обработки.
- Алгоритмы и нейросети — от классических детекторов признаков до CNN.
- Автопилот — потребитель результатов: включает оценки зрения в навигацию и управление.
Примеры
- Марсоходы Curiosity и Yutu-2 используют компьютерное зрение для навигации по поверхности — там, где спутниковой навигации нет вовсе.
- Предотвращение столкновений (Collision Prevention) в PX4 останавливает мультиротор перед препятствием даже в ручном режиме.
- Оптический поток — простейший «зрительный» сенсор: оценка движения, упакованная в крошечный модуль.
Связанные темы
Источники
- Wikipedia — Computer vision — определение, задачи, CNN и глубокое обучение, применения.
- PX4 User Guide — зрительные функции автопилота, companion computer.