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

Этап 1. Получение изображения
Для начала функционирования компьютерной системы необходим визуальный ввод данных. Это достигается с помощью разнообразных датчиков. Количество и сложность этих датчиков определяются спецификой решаемой задачи.
Простые задачи, такие как детектирование движения или идентификация объектов на изображении, могут быть реализованы при помощи элементарной камеры или инфракрасного сенсора.
Наш пылесос оснащен двумя камерами, расположенными спереди. Для ориентирования в трехмерном пространстве требуются дополнительные сенсоры, в частности 3D-сенсор, который также присутствует в конструкции и установлен сверху. Но что собой представляет данный сенсор?
LiDAR
Существует некоторая терминологическая путаница в отношении названий 3D-сенсоров. Одно и то же устройство часто обозначается различными терминами.
Устройство, расположенное сверху, носит название LDS (Laser Distance Sensor) или лазерный датчик расстояния. Такие датчики, вероятно, встречались вам на крышах беспилотных автомобилей. Важно отметить, что это не световой сигнал, а именно лазерный датчик расстояния, аналогичный тому, который используется в роботах-пылесосах.

В среде беспилотников подобные сенсоры принято называть лидаром (LIDAR), что расшифровывается как Light Detection and Ranging. Именно такой тип сенсора используется в новых моделях iPhone и iPad Pro.

В Android-смартфонах вместо лидаров применяются ToF-камеры (Time-of-flight). Несмотря на разницу в терминологии, все эти сенсоры функционируют по единому принципу: испускают световой импульс и измеряют время его возвращения. Таким образом, они напоминают радар, но вместо радиоволн используют свет.
Существуют незначительные различия в типах таких сенсоров, однако суть технологии от этого не меняется. По созвучию с радаром наибольшее предпочтение отдается термину LiDAR, который будет использоваться для обозначения данного сенсора.

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


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

Еще 8 лет назад такие сенсоры стоили каких-то невероятных денег, под 100 тысяч долларов. А теперь у вас по дому может спокойно ездить маленький беспилотник.

Лидар в пылесосе
Технология использования лидара для построения карты помещения в роботах-пылесосах уже не является новинкой. При помощи лидара пылесос создаёт карту пространства и движется по ней эффективно, огибая препятствия. В отличие от моделей без лидара, которые часто двигаются хаотично, этот пылесос проезжает всю площадь аккуратно.
Высокая производительность робота-пылесоса обеспечивается процессором Qualcomm Snapdragon 625 (Qualcomm APQ8053) с восьмью ядрами. Благодаря этому пылесос способен не только строить карту помещения, но и эффективно по ней ориентироваться.
Дополнительно, робот может хранить до четырёх карт разных помещений и различать этажи. Это позволяет существенно сократить время уборки, так как при перемещении с одного этажа на другой пылесос не тратит время на повторное построение карты.

Робот-пылесос обладает функцией разделения пространства на 40 зон (по 10 зон на каждую из 4 карт). Для каждой зоны пользователь может индивидуально настроить параметры уборки, такие как мощность всасывания (до 2500 Па) и количество проходов. Также доступна функция ограничения движения робота в определенных зонах.
Устройство позволяет выбирать тип уборки – сухую или влажную – для различных зон. Важно отметить, что для этого не требуется отдельное подключение/отключение резервуара с водой.
Данные возможности реализованы благодаря использованию лидарной технологии.
Однако лидарная навигация имеет и определенные ограничения. Во-первых, данные сканирования пространства получаются довольно разреженными: пространство опрашивается линиями, а в автомобильных радарах подобного типа разрешение составляет от 64 до 128 линий. Во-вторых, у лидара существует «мертвая зона». Если лидар установлен на крыше робота, он не способен обнаруживать объекты в достаточно большом радиусе вокруг себя.
В роботе-пылесосе используется лидар с одним лучом, что позволяет ему видеть лишь узкую линию на высоте 9-10 сантиметров от пола. Такой способ сканирования позволяет определять положение стен и мебели, но не обнаруживать предметы, лежащие на полу.
Две камеры

Для повышения точности работы лидаров, используемых как в автомобилях, так и в роботизированных пылесосах, применяются дополнительные камеры. Двухкамерная система обеспечивает стереоскопическое зрение, аналогичное человеческому binocular vision.
Благодаря двум камерам устраняется «слепая зона» перед пылесосом, а также повышается точность определения расстояния до предметов на полу. Это позволяет роботу обнаруживать и объезжать объекты размером не менее 5 см в ширину и 3 см в высоту.
Этап 2. Обработка
Таким образом, накоплено достаточное количество данных от различных сенсоров. Следовательно, переходим ко второму этапу компьютерного зрения – обработке полученной информации.
Данные, поступающие с лидара, представлены в виде трёхмерного облака точек, не требующих дополнительной обработки.
Получение стереоизображения из двух камер также не представляет сложности. Карта глубины формируется путём вычисления разницы между изображениями, снятыми под незначительно различными углами.

Объединение данных, получаемых от различных сенсоров, представляет собой сложную задачу.
В качестве иллюстрации рассмотрим ситуацию: робот-пылесос обнаружил препятствие на полу. Для корректной навигации ему необходимо определить точное местоположение объекта на карте, сгенерированной лидаром. Кроме того, требуется оценить его пространственные размеры, используя проекцию с одной стороны. Иными словами, задача заключается в геометрическом позиционировании объекта в трёхмерном пространстве, заданном кубом соответствующих размеров.


Данная задача допускает многообразные решения. Одним из подходов является метод «усечённой пирамиды». Изначально алгоритм идентифицирует объекты на изображении. Subsequently, эти объекты помещаются в виртуальный конус, а нейронная сеть вычисляет его объём.

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

А раз мы заговорили про нейросети, значит мы уже немного зашли на 3-й этап компьютерного зрения — анализ.
Этап 3. Анализ
В современном мире для решения задач распознавания, сегментации и классификации объектов на изображениях преимущественно используются нейронные сети.
Нейросеть представляет собой сложную систему взаимосвязанных уравнений. Обработка данных в нейронной сети всегда приводит к определенному результату. Например, при многократной подаче изображений кошек с указанием правильного ответа (“кошка”), нейросеть в процессе обучения достигает высокой точности на обучающей выборке. Далее, для оценки ее эффективности, ей предъявляются новые, невиданные ранее изображения. Если нейросеть верно определяет кошек на этих изображениях, считается, что она обучена.
После обучения нейросеть оптимизируют с целью уменьшения ее размера, повышения скорости работы и снижения потребления ресурсов. В результате она готова к практическому применению.
Принцип работы нейронной сети отчасти напоминает процесс обучения в человеческом мозге. Повторяемое выполнение действий приводит к укреплению нейронных связей, что облегчает дальнейшее выполнение этой задачи.
В рассматриваемом пылесосе за обработку данных отвечает встроенный NPU-модуль, что стало возможным благодаря использованию процессора Snapdragon.
Нейросеть в пылесосе предобучена для распознавания различных предметов домашнего обихода: игрушек, тапочек, носков, удлинителей, зарядных устройств и даже следов жизнедеятельности домашних животных.
Распознавание объектов осуществляется с использованием библиотеки TensorFlow от Google. Алгоритм непрерывно совершенствуется в процессе уборки, что приводит к повышению его эффективности.
Практика

В данном роботе-пылесосе реализована технология искусственного интеллекта под названием Reactive AI, эффективность которой была оценена в ходе практических испытаний.
Отличительной особенностью данной технологии является фиксация обнаруженных предметов на карте. Это может повысить вероятность обнаружения потерянных вещей, например, пропавших носков.
Пользователь может отслеживать визуальную информацию, получаемую пылесосом, через фирменное приложение или платформу Mi Home от Xiaomi. Приложение также позволяет дистанционно управлять пылесосом и отправлять ему голосовые команды. Управление доступно также посредством Google Ассистента или Алисы, при этом интерфейс полностью русифицирован.
Бренд робота-пылесоса официально начал продажи на территории России, что гарантирует полную локализацию устройств.
Встроенный аккумулятор емкостью 5200 мАч обеспечивает до трех часов автономной работы.
Итоги:
Как видно из представленных данных, робот-пылесос демонстрирует высокую эффективность. Однако стоит отметить, что корректное распознавание предметов возможно только при запуске пылесоса через специальное приложение, которое в настоящий момент недоступно в Play Market Россия. Ожидается, что приложение будет доступно в течение нескольких месяцев.



