MiLSD: детектор линий для микроконтроллеров с памятью менее 1 МБ

Обнаружение отрезков линий на изображениях — одна из фундаментальных задач компьютерного зрения, лежащая в основе визуальной навигации роботов, 3D-реконструкции сцен и промышленного контроля качества. Однако до недавнего времени применение нейросетевых детекторов на микроконтроллерах (MCU) было прак

MiLSD: детектор линий для микроконтроллеров с памятью менее 1 МБ

Обнаружение отрезков линий на изображениях — одна из фундаментальных задач компьютерного зрения, лежащая в основе визуальной навигации роботов, 3D-реконструкции сцен и промышленного контроля качества. Однако до недавнего времени применение нейросетевых детекторов на микроконтроллерах (MCU) было практически невозможным из-за огромных требований к памяти. Исследователи из нескольких университетов представили MiLSD (Micro Line-Segment Detector) — первый детектор отрезков линий, способный работать на устройствах с субмегабайтным бюджетом памяти, при этом сохраняя практическую точность.

Что такое MiLSD и как он работает

MiLSD — это компактная полносверточная нейронная сеть, специально спроектированная для выполнения на микроконтроллерах с ограниченной памятью. В отличие от традиционных детекторов линий, которые требуют нескольких мегабайт для хранения параметров и промежуточных активаций, MiLSD укладывается в бюджет менее 1 МБ. Авторы использовали легковесный бэкбон и систематически сравнили три различных выходных представления: классическое (координаты концов отрезка), представление через центр и угол (Center-Angle) и предложенный ими F-Clip (центр с длиной и углом). Лучшие результаты показал именно F-Clip, который обеспечивает более стабильное обучение и точность.

Архитектура MiLSD включает в себя субпиксельное декодирование на этапе инференса, что позволяет повысить точность локализации без увеличения размера модели. Также применяется легкий верификатор, который отсеивает ложные срабатывания. Всё это вместе позволяет достичь впечатляющих результатов при крайне малом количестве параметров — от 25 тысяч до значений, укладывающихся в 1 МБ памяти активаций.

Почему MiLSD важен для встраиваемых систем

Современные методы глубокого обучения, такие как LSD, Line-CNN или HAWP, демонстрируют высокую точность, но их модели требуют от нескольких мегабайт до десятков мегабайт памяти. Это делает их непригодными для использования на дешевых микроконтроллерах, которые являются основой массовых устройств интернета вещей, дронов и роботов. MiLSD впервые доказывает, что детектор отрезков линий может работать с точностью, достаточной для практических задач, при ограничении памяти менее 1 МБ. Это открывает новые возможности для внедрения компьютерного зрения в автономные системы с низким энергопотреблением.

Какие задачи решает детектор отрезков линий на MCU?

Обнаружение линий критически важно для визуального SLAM (одновременная локализация и построение карты), где линии служат стабильными ориентирами в пространстве. Также линии используются в 3D-реконструкции для построения каркасных моделей зданий, в системах контроля качества для проверки геометрии деталей и в навигации беспилотных летательных аппаратов. Возможность выполнять эти задачи непосредственно на микроконтроллере, без передачи данных на сервер, снижает задержки, повышает автономность и улучшает конфиденциальность.

Детали экспериментов и результаты

Исследователи провели эксперименты на датасете ShanghaiTech Wireframe, который содержит изображения архитектурных сцен с размеченными отрезками линий. В качестве метрики использовалась sAP10 (средняя точность при пороге 10 пикселей). Базовый вариант MiLSD с 25 тысячами параметров и бюджетом активаций 0.25 МБ показал sAP10 10.6. После применения всех улучшений — субпиксельного декодирования, аугментации на тесте и легкого верификатора — при бюджете активаций 1 МБ показатель вырос до 24.1. Это значительный прирост, хотя и уступает большим моделям (например, HAWP достигает около 60 sAP10, но требует десятков мегабайт).

Особое внимание уделено квантованию. 8-битное квантование практически не снижает точность по сравнению с full-precision, что позволяет эффективно использовать MiLSD на 8-битных микроконтроллерах. 4-битное квантование приводит к заметному падению качества, особенно в регрессии угла линии, и обучение с учётом квантования (QAT) восстанавливает лишь часть потерь. Таким образом, оптимальным выбором для развертывания является 8-битное квантование.

Кого затронет новая разработка

В первую очередь MiLSD интересен разработчикам встраиваемых систем, которые создают решения для робототехники, дронов и промышленного контроля на базе микроконтроллеров. Инженеры, работающие над визуальным SLAM для автономных пылесосов или газонокосилок, смогут интегрировать детектор линий без необходимости в мощном процессоре. Также результаты полезны исследователям, изучающим компромисс между точностью и памятью в нейросетевых детекторах — MiLSD задает новый baseline для экстремально сжатых моделей.

Что пока остаётся неясным

Несмотря на обнадеживающие результаты, в препринте не сообщается о времени инференса на реальных микроконтроллерах, например на ядре Cortex-M. Теоретически, модель с 25 тысячами параметров должна работать быстро, но реальные замеры пока отсутствуют. Также неясно, как MiLSD поведёт себя на других датасетах, например на изображениях с сильным шумом или окклюзиями, типичными для промышленных сцен. Дополнительные исследования в этих направлениях помогут оценить практическую применимость детектора.

Перспективы развития

MiLSD демонстрирует, что даже при экстремальном ограничении памяти можно добиться приемлемой точности детектирования линий. Дальнейшие улучшения могут быть связаны с использованием более эффективных архитектур, таких как MobileNet или EfficientNet-Lite, а также с применением дистилляции знаний от больших моделей. Кроме того, возможно расширение подхода на другие задачи, например детектирование окружностей или произвольных кривых. В любом случае, MiLSD открывает путь к внедрению компьютерного зрения в самые дешёвые и энергоэффективные устройства.