Обзор AI-камеры DFRobot HUSKYLENS 2 – От встроенных AI-примеров до обучения собственной модели для обнаружения слонов

Здравствуйте, сегодня будет обзор HUSKYLENS 2 , выпущенного в октябре 2025 года. Это следующее поколение HUSKYLENS , ИИ-визуальный сенсор, оснащенный двухъядерным RISC-V однокристальным компьютером Kendryte K230 с 6 TOPS ускорителем ИИ и 2.4-дюймовым IPS сенсорным экраном. Устройство запускает алгоритмы машинного зрения полностью на устройстве, обеспечивая высокую скорость работы и низкую задержку, и включает более 15 встроенных моделей ИИ.

HUSKYLENS 2 также поддерживает развертывание пользовательских моделей, включая интеграцию с большими языковыми моделями через службу Model Context Protocol (MCP). Кроме того, он совместим с различными микроконтроллерами, такими как Arduino и Raspberry Pi, через интерфейсы связи UART или I2C.

The HUSKYLENS 2
The HUSKYLENS 2

Распаковка HUSKYLENS 2

Производитель отправил модуль HUSKYLENS 2 и микроскопический объектив отдельно. Обе посылки были отправлены из Чэнду, Китай, и прибыли в офис в Чантхабури, Таиланд, примерно через одну неделю. Посылки были упакованы в стандартные картонные коробки и прибыли без повреждений.

Ниже приведен список компонентов, полученных в первой поставке.

  • AI-сензор машинного зрения HUSKYLENS 2
  • Металлический комплект аксессуаров
  • Плата адаптера питания
  • Соединительный кабель датчика Gravity-4P (30 см)
  • Силиконовый кабель с двойным штекером PH2.0-4P (20 см)
  • Карта соответствия продукции
  • Wi-Fi модуль HUSKYLENS 2

Ниже приведен полный список компонентов, полученных во второй поставке.

  • HUSKYLENS 2 Модуль микроскопа (увеличение 30x)
  • Отвертка
Components received in the first delivery.
Компоненты, полученные в первой поставке.
Main components received from both deliveries: (left) the HUSKYLENS 2, (middle) the Wi-Fi Module, and (right) the Microscope Lens.
Основные компоненты, полученные из обеих поставок: (слева) HUSKYLENS 2, (в центре) Wi-Fi модуль, и (справа) объектив микроскопа.

Проверка системной информации HUSKYLENS 2

На передней панели HUSKYLENS 2 расположен штатный объектив, один RGB светодиод, два белых светодиода подсветки по бокам корпуса, динамик и микрофон. Сверху находится кнопка с названием Button-A, которую можно использовать для захвата изображения, записи видео или создания снимка экрана. С левой стороны расположен слот для карты памяти microSD. В нижней части HUSKYLENS 2 находятся два основных разъема для связи. Порт USB-C используется для питания и доступа к устройству как к накопителю, а 4-контактный разъем в стиле JST с маркировкой «Gravity» предоставляет интерфейсы I²C и UART.

Components on the front side.
Компоненты на передней стороне.
Gravity UART/I²C and USB-C interfaces at the bottom of the device.
Интерфейсы Gravity UART/I²C и USB-C в нижней части устройства

В этом обзоре часто будет ссылка на официальную документацию/вики . Существует два основных способа питания HUSKYLENS 2. Устройство можно запитать напрямую от источника 5В через порт USB-C, например, от компьютера или сетевого адаптера. Однако при совместном использовании HUSKYLENS 2 с внешним MCU производитель рекомендует использовать плату адаптера питания для обеспечения достаточного и стабильного питания как для HUSKYLENS 2, так и для MCU. На следующем изображении показан пример питания HUSKYLENS 2 с использованием предоставленной платы адаптера питания. В этой конфигурации компьютер подключен к HUSKYLENS 2 через порт USB-C на плате адаптера, в то время как модуль ESP32 требует отдельного USB-подключения, которое в данном случае не было выполнено.

Power the HUSKYLENS 2 using the Power Adapter Board.
Питание HUSKYLENS 2 с использованием платы адаптера питания.

Для начального быстрого теста были выполнены инструкции по быстрому подключению через USB-C путем простого соединения HUSKYLENS 2 с компьютером с помощью кабеля USB-C. Поскольку устройство не имеет кнопки питания, оно включилось автоматически сразу после подключения кабеля. Логотип ненадолго появился на 2.4″ IPS сенсорном экране, и устройство было готово к работе менее чем за 10 секунд. IPS сенсорный экран работал хорошо, ощущался плавным и отзывчивым. Все навигационные жесты, включая свайпы и тапы, функционировали как ожидалось.

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

HUSKYLENS 2 detected as a storage device.
HUSKYLENS 2 определяется как накопитель.
Default directories within the detected storage device.
Стандартные каталоги в обнаруженном накопителе.

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

Default icons in firmware v1.1.5.
Стандартные иконки в прошивке v1.1.5.

Затем было открыто меню системных настроек и выбрана опция «Информация об устройстве» для проверки деталей аппаратного обеспечения и системы. Данное устройство имеет аппаратную версию 1.0.0 и поставляется с предустановленной прошивкой v1.1.5. Доступны три языка: английский, упрощенный китайский и традиционный китайский.

При первом использовании было занято примерно 72 МБ оперативной памяти из общего объема 970 МБ. Внутренняя емкость накопителя составляет 7 045 МБ, при этом заводская установка по умолчанию занимает около 935 МБ. В режиме простоя и без запуска каких-либо моделей ИИ на странице информации об устройстве отображалась температура устройства около 36.4°C, в то время как температура окружающей среды в помещении составляла приблизительно 30°C.

Device information.
Информация об устройстве.

Тестирование некоторых встроенных ИИ-моделей

В стандартной прошивке версии 1.1.5 на моем HUSKYLENS 2 доступно 16 режимов, перечисленных ниже.

  • Распознавание лиц
  • Распознавание объектов
  • Отслеживание объектов
  • Распознавание цвета
  • Классификация объектов
  • Самообучающийся классификатор
  • Сегментация экземпляров
  • Распознавание жестов
  • Распознавание поз
  • Распознавание номерных знаков
  • Оптическое распознавание символов
  • Отслеживание линии
  • Распознавание эмоций по лицу
  • Распознавание QR-кода
  • Распознавание штрихкода

После обновления до прошивки версии 1.2.1 количество доступных режимов увеличилось до 19, а вновь добавленные режимы перечислены ниже.

  • Определение направления взгляда
  • Определение ориентации
  • Обнаружение падения

Здесь было снято короткое обзорное видео, чтобы продемонстрировать некоторые из ИИ-моделей, доступных на HUSKYLENS 2, и дать краткое представление о его ИИ-производительности, используя бесплатные видеоматериалы, найденные на YouTube. Важно отметить, что все тесты, показанные в этом видео, были выполнены с использованием прошивки версии 1.2.1, в то время как остальные результаты в этом обзоре основаны на обеих версиях прошивки: 1.1.5 и 1.2.1.

https://youtube.com/watch?v=yoBfRp9XeiY

Распознавание лиц

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

Кратко, каждая ИИ-модель включает дополнительное подменю в нижней части экрана, которое позволяет пользователям управлять поведением модели. В случае режима распознавания лиц доступны следующие подменю.

  • Забыть ID: Забыть все ранее изученные идентификаторы лиц.
  • Ускорение нескольких лиц: Попытка увеличить частоту кадров отображения при одновременном показе трех или более лиц, но может снизить точность распознавания.
  • Порог обнаружения: Чувствительность обнаружения лиц.
  • Порог распознавания: Строгость распознавания лиц. Более низкие значения более склонны к ложным срабатываниям, в то время как более высокие значения снижают количество ложных срабатываний.
  • Порог NMS: Настройка подавления немаксимумов. Более низкие значения лучше подходят для четких сцен с одним объектом, в то время как более высокие значения работают лучше для плотных, перекрытых или многопользовательских сцен.
  • Особенности лица: Включение/выключение отображения ключевых точек лица.
  • Установить имя: Присвоение имен изученным лицам на английском или китайском языках.
  • Показать имя: Включение/выключение видимости распознанного имени лица.
  • Сбросить по умолчанию: Восстановление всех настроек до значений по умолчанию.
  • Импорт модели: Импорт настроек модели. Каждая модель состоит из двух файлов с расширениями .json и .bin , где номер в имени файла соответствует идентификатору модели.
  • Экспорт модели: Экспорт текущих настроек модели.

Затем был протестирован порог обнаружения путем уменьшения и увеличения ползунка, и HUSKYLENS 2 реагировал соответствующим образом. Регулировка порога NMS также работала, как и ожидалось. На следующем изображении показаны результаты работы модели распознавания лиц, примененной к сгенерированным ИИ изображениям лиц, отображаемым на LCD-мониторе.

Test face recognition.
Тест распознавания лиц.

Распознавание жестов

Затем был протестирован режим распознавания жестов, который также показал хорошие результаты. Он может обнаруживать ладони на изображении и корректно идентифицировать все 21 ключевую точку, как и заявлено, включая запястье и суставы каждого пальца. Этот режим также предоставляет подменю для управления поведением модели, например, для регулировки порогов обнаружения и распознавания. На следующем изображении показаны обнаруженные ключевые точки на примере изображения человеческих рук из Википедии.

Test hand recognition.
Тест распознавания жестов.

Распознавание поз

Также был протестирован режим распознавания поз, который может обнаруживать человеческое тело и извлекать ключевые точки тела. Он работал хорошо, производительность обнаружения и отрисовки при наличии нескольких людей была хорошей. Ограничивающие рамки тел и все 17 ключевых точек были обнаружены и отображены корректно. На следующем изображении показан результат распознавания поз на примере изображения пешехода из Википедии.

Test pose recognition.
Тест распознавания поз.

Распознавание объектов

Далее был протестирован режим распознавания объектов. DFRobot утверждает, что эта модель может идентифицировать более 80 типов объектов. Его распознавание было протестировано на обычных объектах в офисе, таких как человек, стул, кофейная чашка и смартфон, и оно работало очень хорошо. На следующем изображении показан пример работы режима распознавания объектов, протестированного на том же изображении пешехода.

Test object recognition.
Тест распознавания объектов.

Определение ориентации

Еще одна интересная встроенная ИИ-модель — это режим определения ориентации. Эта модель может обнаруживать лицо и распознавать направление, в котором оно смотрит. К сожалению, на момент написания этого обзора на официальном сайте не было доступно дополнительной подробной информации об этой модели. На следующем изображении показаны определенные ориентации лиц с использованием изображений французской актрисы из результатов поиска Google Images. Каждое обнаруженное лицо сопровождается информацией о вращении, которая, предположительно, представляет углы рыскания, тангажа и крена.

Test orientation detection.
Тест определения ориентации.

Отслеживание объектов и классификатор с самообучением

Наконец, был протестирован режим отслеживания объектов, который позволяет изучать и отслеживать целевой объект. Важно отметить, что HUSKYLENS 2 в настоящее время ограничен отслеживанием одного объекта за раз. Кроме того, существует режим классификатора с самообучением, который способен захватывать, изучать и распознавать пользовательские объекты. Процесс использования классификатора с самообучением очень похож на процесс режима отслеживания объектов.

Для выполнения отслеживания объекта сначала была нарисована ограничивающая рамка вокруг целевого объекта. Затем устройство отобразило ограничивающую рамку с идентификатором объекта и оценкой достоверности, например, Obj: ID1 80%, что указывает на первый изученный объект с уровнем достоверности 80%. После этого шага устройство успешно продолжало непрерывно отслеживать объект. На следующих изображениях показаны прямые скриншоты результатов отслеживания объектов. Этот режим был протестирован с использованием нескольких бутылок масштабных моделей TAMIYA, причем зеленая бутылка была выбрана в качестве целевого объекта. Затем камера произвольно перемещалась так, что целевой объект выходил из поля зрения, а позже возвращался в кадр; HUSKYLENS 2 по-прежнему корректно повторно обнаруживал целевой объект. Кроме того, объект можно было без проблем отслеживать под несколькими углами обзора, при условии, что разница в угле была не слишком велика.

Object tracking test from multiple angles.
Тест отслеживания объекта под разными углами.
Track the target object from another viewing angle.
Отслеживание целевого объекта под другим углом обзора.

Тестирование среды программирования

Согласно официальной документации, в списке поддерживаемых устройств указаны Arduino, UNIHIKER K10, UNIHIKER M10, micro:bit и Raspberry Pi. ESP32 кратко упоминается в начале документа, но фактически не включен в список совместимости. Поэтому было решено протестировать это самостоятельно, чтобы проверить, работает ли ESP32.

Были выполнены инструкции, рекомендующие использовать плату адаптера питания для распределения питания. HUSKYLENS 2 был подключен к плате адаптера питания с помощью 4-контактного кабеля. Затем другой 4-контактный кабель был подключен к разъему с маркировкой «Gravity» и соединен с контактами 3.3 В и GND на ESP32, в то время как сам ESP32 питался через отдельное USB-C подключение к компьютеру.

HUSKYLENS 2 поддерживает несколько сред разработки, включая Arduino IDE, Mind+ и Python IDLE. В этом обзоре было протестировано программирование с использованием Arduino IDE путем установки последней библиотеки DFRobot HUSKYLENS 2 из их репозитория GitHub.

Началось с быстрого сканирования I2C, которое обнаружило устройство по адресу 0x50.

Check I2C address with I2C scan example code.
Проверка адреса I2C с помощью примера кода сканирования I2C.

Затем был опробован пример Face Recognition Output Data с официального сайта, и он работал без каких-либо проблем. Компьютер смог получить и извлечь базовую информацию, отправленную с HUSKYLENS 2, включая идентификатор лица, имя и центр ограничивающей рамки, как показано на следующем изображении.

Retrieve basic information from face recognition results.
Получение базовой информации из результатов распознавания лиц.

Развертывание пользовательской обученной модели

Пользовательскую модель можно обучить с использованием либо сервера Mind+, либо Python. В обоих подходах обученная модель сначала конвертируется в формат ONNX, а затем преобразуется в собственный формат пользовательской модели HUSKYLENS 2. В этом обзоре метод с сервером Mind+ не тестировался, вместо этого напрямую использовался подход на основе Python.

Создание пользовательской модели для HUSKYLENS 2 требует нескольких шагов, но процесс довольно прост. По сути, процесс заключается в преобразовании модели PyTorch (.pt) в ONNX, а затем использовании официального инструмента для экспорта в их собственный формат модели. Согласно wiki, HUSKYLENS 2 в настоящее время поддерживает модели, обученные на основе архитектур YOLOv8n, и только с размерами входных данных 320×320 или 640×640.

Среда программирования была подготовлена путем создания нового окружения Conda с Python 3.12, как рекомендовано. Затем был установлен Ultralytics, который предоставляет инструменты YOLOv8, необходимые для обучения и экспорта модели. Во время настройки было замечено, что версии onnx и onnxslim , установленные по умолчанию, не соответствовали требуемым диапазонам (onnx ≥ 1.12.0 и ≤ 1.19.1, и onnxslim ≥ 0.1.71). Из-за этого несоответствия процесс экспорта сначала завершился неудачей. Пришлось вручную переустановить правильные версии, прежде чем инструмент экспорта заработал корректно.

Здесь, в Чантабури, Таиланд, существуют серьезные проблемы с дикими слонами, заходящими на сельхозугодья и в жилые районы, что часто приводит к ущербу имуществу, а иногда и риску для человеческой жизни. Поэтому интересно изучить, может ли HUSKYLENS 2 быть полезным в будущем проекте системы раннего предупреждения или мониторинга. Для тестирования был загружен набор данных «African Wildlife» с Kaggle , который также доступен через Ultralytics .

Example images from the African Wildlife dataset.
Примеры изображений буйволов из набора данных «African Wildlife».

Затем модель была обучена с разрешением 320 × 320 для быстрого пробного запуска, используя только 10 эпох.

yolo detect train data=datasets/african-wildlife.yaml model=yolov8n.pt imgsz=320 epochs=10 project=output name=wildlife_yolov8_run

После этого обученная модель была преобразована в формат ONNX с помощью следующей командной строки.

yolo export model=output/wildlife_yolov8_run/weights/best.pt format=onnx imgsz=320 dynamic=False

Convert .pt file info .onnx file format.
Преобразование файла .pt в формат .onnx.

Далее был загружен GUI-инструмент «ONNX to HuskyLens 2 Installation Package» с GitHub и установлены все необходимые зависимости. Этот инструмент также требует .NET 7, поэтому он также был установлен от Microsoft. После того как все было настроено, изображения, файл .yaml и модель ONNX были скопированы в целевую папку: Custom_Model/application. Оттуда был запущен python app.py, заполнены все необходимые параметры, как показано на следующем изображении, и нажата кнопка «Convert and Package».

The ONNX to HuskyLens 2 Installation Package GUI Tool.
Инструмент «ONNX to HuskyLens 2 Installation Package GUI Tool».

После ожидания в несколько минут инструмент сгенерировал файл dfrobot_wildlife_detection.41c5.zip. Этот ZIP-файл является пользовательским пакетом модели. Чтобы установить его на HuskyLens 2, он был просто скопирован в директорию installation_package устройства.

Custom model packaged in ZIP format.
Пользовательская модель, упакованная в ZIP-формате.

После этого в меню HUSKYLENS 2 был открыт пункт Model Installation и использована опция Local Install в сенсорном меню для добавления новой модели.

Installing a custom model from a local directory.
Установка пользовательской модели из локальной директории.

После установки новый пункт меню появился немедленно, и модель работала хорошо. На следующих двух изображениях показаны скриншоты работы этой пользовательской модели, обученной на 10 эпохах. Следует отметить, что, несмотря на размытое входное изображение (из-за неправильного позиционирования устройства и монитора, ограниченного пространством на столе), HUSKYLENS 2 всё равно смог корректно распознать некоторых слонов. Кроме того, поскольку эта пользовательская модель обучалась всего 10 эпох, увеличение их числа должно привести к лучшей производительности.

Test the custom-trained model.
Тестирование обученной пользовательской модели.

Установка Wi-Fi модуля HUSKYLENS 2

По умолчанию HUSKYLENS 2 не оснащён Wi-Fi модулем, поэтому для беспроводной связи требуется модуль HUSKYLENS 2 Wi-Fi Module. Этот модуль поддерживает Wi-Fi 6 (2,4 ГГц) с максимальной скоростью передачи данных 286,8 Мбит/с при ширине канала 20/40 МГц. Более подробная информация доступна на официальной странице продукта.

Для установки модуля были откручены четыре винта и снята передняя крышка. Из-за теплопроводной пасты для разделения корпуса потребовалось дополнительное усилие. Затем Wi-Fi модуль был вставлен в разъём. Посадка была довольно плотной, и потребовалось некоторое усилие, чтобы он плотно зафиксировался на месте. После этого передняя крышка была закрыта и привинчена обратно.

Remove the screws.
Снятие винтов.
Remove the front casing.
Снятие передней крышки.
Install the Wi-Fi module.
Установка Wi-Fi модуля.

После включения устройства было открыто системное меню и настроено Wi-Fi-подключение путём ввода SSID и пароля. Устройство подключилось примерно за 5–10 секунд и получило IP-адрес. В правом верхнем углу экрана появился значок Wi-Fi, что указывает на успешное установление беспроводного соединения и его готовность к использованию.

Available SSIDs.
Доступные SSID.
Successfully connected to the target SSID.
Успешное подключение к целевому SSID.

Установка микроскопного объектива HS

Производитель HUSKYLENS 2 позволяет пользователям заменить стандартный объектив на модуль микроскопного объектива HUSKYLENS 2 Microscope Lens Module, обеспечивающий увеличение до 30x. Этот модуль обеспечивает разрешение изображения 2 МП с использованием сенсора GC2093, пространственное разрешение составляет 161 лп/мм, что позволяет различать линии шириной приблизительно до 3 мкм (USAF 1951, Группа 7, Элемент 3).

HUSKYLENS 2 Microscope Lens Module (30x Mag)
Модуль микроскопного объектива HUSKYLENS 2 (30x увеличение)
Connector of the HUSKYLENS 2 Microscope Lens Module.
Разъём модуля микроскопного объектива HUSKYLENS 2.

Модуль может быть установлен путём откручивания двух винтов рядом со стандартным модулем объектива камеры и извлечения оригинального модуля камеры. Затем необходимо совместить разъём камеры с гнездом HUSKYLENS 2 и слегка надавить для обеспечения надёжного соединения. После выполнения этих шагов и включения устройства оно корректно отображало изображение с нового объектива.

Remove screws.
Снятие винтов.
Install the Microscope Lens Module.
Установка модуля микроскопного объектива.
The Microscope Lens Module is installed
Модуль микроскопного объектива установлен.

Точно не известно, достигается ли действительно 30-кратное увеличение, но модуль работает хорошо, как показано на следующем изображении, где запечатлён увеличенный вид ЖК-монитора, отображающего белое изображение. Чётко видно расположение красных, зелёных и синих субпикселей. Следует отметить, что изображение на экране HUSKYLENS 2 выглядит слегка размытым, так как модуль немного дрожал во время съёмки.

Test the Microscopic Lens Module.
Тестирование модуля микроскопного объектива.

Обновление прошивки

Прошивка по умолчанию была версии v1.1.5 и работала очень хорошо, однако MCP Server в этой версии недоступен. Для тестирования функциональности MCP Server требуется поддержка Wi-Fi и прошивка версии v1.1.6 или новее. Поэтому было выполнено обновление с v1.1.5 до последней доступной прошивки на GitHub (v1.2.1 на момент написания обзора) в соответствии с инструкциями официальной документации.

Сначала HUSKYLENS был выключен, нажата и удержана кнопка A, после чего устройство было включено. Перед отпусканием кнопки было выдержано не менее 2 секунд. При такой последовательности загрузки устройство определилось как K230 USB Boot Device, а не как HUSKYLENS.

K230 USB boot device detected.
Обнаружено устройство K230 USB boot.

После этого был установлен необходимый драйвер с помощью Zadig , установка заняла около 30 секунд.

Run the Zadig tool.
Запуск инструмента Zadig.

Затем был запущен K230BurningTool (релиз 2025-05-07 02:58), выбран загруженный файл образа прошивки, и нажата кнопка Start для начала процесса прошивки. Обновление прошивки заняло приблизительно одну минуту.

Burn the new firmware with K230BurningTool.
Прошивка новой прошивки с помощью K230BurningTool.

После перезагрузки HUSKYLENS 2 было замечено, что устройство определяется с дополнительным хранилищем на SD-карте, а не только со встроенным накопителем HUSKYLENS 2, как в прошивке v1.1.5. Также было протестировано несколько циклов обновления и отката между версиями v1.2.1 и v1.1.6 — процесс работал надёжно и без проблем.

Check system information after the firmware upgrade.
Проверка системной информации после обновления прошивки.

Тестирование MCP Server

Для использования MCP Service требуется версия прошивки 1.1.6 или новее. Сервис может быть включён с помощью значка MCP Service. После включения сервера MCP на экране HUSKYLENS 2 отобразился URL-адрес по умолчанию для подключения клиента.

Start MCP Server service.
Запуск сервиса MCP Server.

Затем был создан аккаунт Google AI Studio и сгенерирован новый API-ключ. Далее была установлена Cherry Studio версии 1.7.2. В Cherry Studio был выбран провайдер модели Gemini и введён ранее полученный API-ключ. Официальная документация описывает создание новой модели gemini-2.5-flash; однако эта модель уже была доступна в установленной версии Cherry Studio. Поэтому была использована существующая модель gemini-2.5 по умолчанию. Тест подключения прошёл успешно.

Enable Gemini in Cherry studio.
Включение Gemini в Cherry Studio.
Select Gemini model.
Выбор модели Gemini.

После этого было создано новое подключение к серверу MCP путём установки типа подключения Server-Sent Events (SSE) и точного копирования URL, отображаемого на экране HUSKYLENS 2. После включения появилось четыре новых инструмента, что указывает на успешное подключение к HUSKYLENS 2. Эти четыре инструмента соответствуют перечисленным ниже инструментам MCP:

  • manage_applications
  • multimedia_control
  • get_recognition_result
  • task_scheduler

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

Set MCP server URL.
Настройка URL сервера MCP.
Test connection to the HUSKYLENS 2 MCP server.
Тест подключения к серверу MCP HUSKYLENS 2.

После перезапуска был выбран режим Chat , в качестве модели Gemini выбрана Gemini 2.5 Flash , а в настройках инструментов — сервер MCP HUSKYLENS 2. Затем была протестирована чат-функциональность с использованием команды extract, показанной в обучающей документации: Какие модели/алгоритмы в настоящее время доступны?, но возникли ошибки.

Encountered errors.
Возникли ошибки.

Выяснилось, что некоторые параметры отсутствовали или передавались некорректно, и изначально предполагалось несоответствие версий. Поэтому была предпринята попытка понизить версию прошивки до v1.1.6, как упоминалось в руководстве, но проблема сохранилась. Затем поставщик модели в Cherry Studio был изменен с Gemini 2.5 на CherryAI, и оказалось, что обе модели Qwen3-8B и GLM-4.5-Flash работают корректно.

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

Successful chat session with GLM-4.5-Flash.
Успешный сеанс чата с GLM-4.5-Flash.
Successful chat session with Qwen3-8B.
Успешный сеанс чата с Qwen3-8B.
Chat to check whether the device is running in Hand Recognition mode.
Чат для проверки, работает ли устройство в режиме распознавания жестов.
Chat to check whether the device is running in Instance Segmentation mode.
Чат для проверки, работает ли устройство в режиме сегментации экземпляров.

Однако, другие инструменты, такие как съемка фото или планирование задачи, использовать не удалось, поскольку они либо не отвечали в течение времени ожидания, либо не могли выполнить внутренние команды.

Тестирование видеопотока

Для передачи видео с HUSKYLENS 2 с использованием USB-кабеля необходимо установить драйвер RNDIS. Были соблюдены официальные инструкции, и использован стандартный драйвер Microsoft USB RNDIS, доступный в директории system32 Windows 11. После установки адаптер USB RNDIS корректно отображался в настройках сети. Если потоковая передача RTSP недоступна, следует убедиться, что прошивка обновлена. HUSKYLENS 2 передает видео по протоколу RTSP, который можно активировать через значок Video Streaming в системном меню. После включения потоковой передачи и запуска любой модели ИИ устройство начинает передачу видео по URL-адресу по умолчанию: rtsp://192.168.88.1:8554/live

Была протестирована потоковая передача RTSP с использованием Python и OpenCV с предоставленным URL RTSP. Соединение было успешно установлено, и видеокадры передавались корректно. Также была протестирована беспроводная потоковая передача путем включения подключения Wi-Fi и активации опций потоковой передачи RTSP и WebRTC в меню Video Streaming, и она работала ожидаемо. На следующих изображениях показан прямой эфир, просматриваемый в веб-браузере и в VLC Media Player.

Enable Wi-Fi connectivity and RTSP streaming.
Включение подключения Wi-Fi и потоковой передачи RTSP.
Display live streaming in a web browser.
Отображение прямого эфира в веб-браузере.
Display live streaming in the VLC media player.
Отображение прямого эфира в медиаплеере VLC.

Калибровка внутренних параметров камеры и коэффициентов дисторсии объектива

Было замечено некоторое дисторсие типа «бочка» от объектива HUSKYLENS 2, поэтому была выполнена быстрая калибровка камеры для оценки внутренних параметров камеры и коэффициентов дисторсии. Внутренние параметры камеры описывают характеристики формирования изображения камеры, включая фокусное расстояние и главную точку. Коэффициенты дисторсии объектива представляют параметры радиальной и тангенциальной дисторсий.

Был захвачен набор изображений 640×480 шахматной доски и обработан с использованием функции калибровки камеры OpenCV в Google Colab.

Input checkboard pattern.
Входной шаблон шахматной доски.
Detected checkerboard pattern.
Обнаруженный шаблон шахматной доски.

В результате были получены следующие внутренние параметры:

  • fx: 700.2057
  • fy: 683.6732
  • cx: 315.1202
  • cy: 225.5184

Полученная матрица камеры выглядит типичной для компактного сенсора компьютерного зрения, с fx = 700.20 и fy = 683.67. Используя стандартную формулу угла обзора (FOV) FOV = 2 × arctan((image_size / (2*focal_length)), расчетный горизонтальный угол обзора составляет приблизительно 49.12°, а вертикальный — приблизительно 38.69°. Оптический центр (315.12, 255.51) слегка смещен, но остается близким к центру изображения (320.0, 240.0), что нормально для небольших недорогих объективов.

Расчетные коэффициенты дисторсии также разумны для данного типа оборудования:

  • k1 = 0.0913
  • k2 = −0.5608
  • k3 = 0.4919
  • p1 = 0.00019
  • p2 = 0.00163

Радиальные коэффициенты (k1, k2, k3) явно указывают на бочкообразную дисторсию, которая усиливается к краям. Между тем, тангенциальные значения (p1, p2) очень малы и показывают лишь незначительное смещение от оси, обычно являющееся результатом нормальных допусков сборки.

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

Visualize radial distortion.
Визуализация радиальной дисторсии.
Visualize tangential distortion.
Визуализация тангенциальной дисторсии.

Проверка температуры и распределения тепла

Для тестирования термического поведения устройства был включен Wi-Fi, активирована потоковая передача видео через WebRTC и запущен режим распознавания жестов. Одновременно был включен сервер MCP. В целом, когда устройство работало в полном режиме, оно ощутимо нагревалось.

На следующих изображениях показаны тепловые изображения фронтальной стороны HUSKYLENS 2, полученные с помощью тепловизора FLIR E4. Наивысшая наблюдаемая температура составляла около 43.2 °C, при этом распределение тепла было относительно равномерным по фронтальному корпусу. На задней стороне наивысшая температура составляла приблизительно 38 °C и в основном была сосредоточена на правой стороне, что соответствует расположению модуля Wi-Fi на противоположной фронтальной стороне. Как показано на изображениях ниже, больше тепла наблюдалось на фронтальной стороне HUSKYLENS 2, что можно было явно ощутить при удержании устройства в руке.

Heat distribution of the HUSKYLENS 2.
Распределение тепла на HUSKYLENS 2.
Heat distributions of the HUSKYLENS 2.
Распределения тепла на HUSKYLENS 2.

Заключение

Общее впечатление от HUSKYLENS 2 положительное. Функциональность ИИ HUSKYLENS 2 работает очень хорошо. Несмотря на то, что разрешения изображения и видеопотока относительно низкие, общее качество изображения удовлетворительное. Кроме того, хотя и не удалось протестировать все возможности сервера MCP, встроенный сервис MCP Server обеспечивает очень эффективный и гибкий рабочий процесс для задач ИИ на встраиваемом устройстве.

Во время тестирования возникли некоторые незначительные проблемы. Помимо того, что устройство сильно нагревалось при запуске моделей ИИ, произошло несколько сбоев, особенно во время прямой трансляции. Например, потери соединения или устройство переставало отвечать. В таких ситуациях требовался цикл перезагрузки питания для восстановления нормальной работы. Еще одна незначительная проблема заключается в том, что двойное нажатие кнопки A для захвата снимков экрана несколько затруднительно, и это часто вызывает дрожание изображения или видео во время записи.

HUSKYLENS 2, модуль Wi-Fi HUSKYLENS 2 и модуль микроскопической камеры HUSKYLENS 2 доступны для покупки у DFRobot по цене $74.90, $7.90 и $11.90 , соответственно. Они также могут в конечном итоге появиться на Amazon store DFRobot , но на данный момент там указано только предыдущее поколение HUSKYLENS.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments