Начало работы с Raspberry Pi AI HAT+ (26 TOPS) и Raspberry Pi AI камерой

Raspberry Pi недавно представила несколько продуктов для ИИ, включая Raspberry Pi AI HAT+ для Pi 5 с производительностью 13 или 26 TOPS, а также менее мощную Raspberry Pi AI камеру , совместимую со всеми одноплатными компьютерами Raspberry Pi, имеющими разъем MIPI CSI. Компания предоставила образцы AI HAT+ (26 TOPS) и AI камеры для обзора, а также дополнительные аксессуары, такие как Raspberry Pi Touch Display 2 и защитный бампер Raspberry Pi. В этом материале представлен опыт начальной настройки, в основном следуя документации для AI HAT+ и AI камеры .

Raspberry Pi AI HAT+ and AI camera review

Используемое оборудование для тестирования

В этом руководстве/обзоре используется Raspberry Pi 5 с AI HAT+ и Raspberry Pi Camera Module 3 , тогда как AI камера подключена к Raspberry Pi 4. Также планируется использование одной из плат с новым Touch Display 2.

Raspberry Pi AI hardware

Краткий обзор новой аппаратуры для ИИ начнем с AI HAT+ на 26 TOPS.

Raspberry Pi AI HAT+ package content

В комплект входит сама плата AI HAT+ с установленным Hailo-8 26 TOPS AI акселератором , в отличие от модуля M.2, как в Raspberry Pi AI Kit — первом подобном решении от компании. Также включены 40-контактный stacking-разъем, пластиковые стойки и винты.

Raspberry Pi AI HAT+ bottom side

К плате HAT+ подключен шлейф, а на нижней стороне нет крупных компонентов — только пассивные элементы и множество тестовых точек.

В комплекте Raspberry Pi AI камеры присутствует модуль камеры с Sony IMX500 Intelligent Vision сенсором , 22-контактный и 15-контактный кабели для подключения к разъему MIPI CSI на различных платах Raspberry Pi, а также белое кольцо для ручной регулировки фокуса.

Raspberry Pi AI camera package content

Например, 22-контактный кабель подойдет для Raspberry Pi 5, а 15-контактный — для Raspberry Pi 4, поэтому в этом обзоре используется последний.

Крупный план модуля Raspberry Pi AI камеры.

Raspberry Pi AI camera board closeup

Установка Raspberry Pi AI HAT+ на Raspberry Pi 5

Обычно Raspberry Pi 5 используется с NVMe SSD, но это невозможно при установке AI HAT+ со стандартными аксессуарами от Raspberry Pi. Поэтому SSD и HAT были удалены, а Raspberry Pi OS загружается с официальной microSD карты Raspberry Pi .

Активный кулер остается на месте. Первый шаг установки — подключение stacking-разъема к 40-контактному GPIO-разъему Pi 5, монтаж стоек и подключение шлейфа PCIe, как показано на фото ниже.

Raspberry Pi AI HAT+ assembly

После этого можно установить HAT+ на разъем и закрепить четырьмя винтами.

Raspberry Pi 5 26 TOPS AI HAT+

Raspberry Pi Camera Module 3 подключена к Pi 5, но установка платы на Touch Display 2 невозможна из-за помех от HAT и проблем с подключением кабеля питания при использовании stacking-разъема.

Raspberry Pi 5 Camera Module 3 AI HAT+

Завершающий этап — снятие четырех винтов, фиксирующих стойки, установка защитного бампера на нижнюю сторону и его крепление теми же винтами.

Raspberry Pi 5 Bumper

Установка Raspberry Pi AI камеры и Touch Display 2 на Raspberry Pi 4

Подключим AI камеру к Raspberry Pi 4, сначала подсоединив 15-контактный кабель, как показано ниже, золотыми контактами к micro HDMI разъемам.

Raspberry Pi 4 AI camera cable assembly

Этого достаточно при использовании HDMI-монитора. Но для работы с Raspberry Pi Touch Display 2 необходимо подключить шлейф MIPI DSI и кабель питания, как показано ниже.

Raspberry Pi Touch Display 2 cables installation

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

Затем шлейф MIPI DSI подключается к Raspberry Pi 4 синей стороной к черной части разъема, после чего плата фиксируется четырьмя винтами. AI камера крепится к задней части дисплея на двусторонний скотч. Жаль, что Raspberry Pi не предусмотрела механизм крепления для своих камер.

Raspberry Pi AI camera Touch Display 2

Тем не менее, такая конфигурация работоспособна при размещении дисплея на держателе для смартфона.

Raspberry Pi Touch Display 2 AI camera Phone Stand

Начало работы с Raspberry Pi AI камерой: RPICam-apps и демо Libcamera2

Первым шагом была настройка дисплея в альбомной ориентации, так как Raspberry Pi OS по умолчанию запускается в портретном режиме. Для этого в Screen Layout Editor выбрано Layout->Screens->XWAYLAND0->Orientation->Right.

Raspberry Pi Touch DIsplay 2 landscape mode

Теперь можно установить прошивку, ПО и ресурсы для Raspberry Pi AI камеры одной командой, после чего потребуется перезагрузка.

sudo apt install imx500-all
sudo reboot

Попробуем несколько демо из «rpicam-apps», начиная с детекции объектов:

rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30

или запуск через SSH (удаленный доступ):

DISPLAY=:0 rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30

Вывод команды:

[0:01:25.418428032] [2246]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[0:01:25.438252186] [2249]  WARN CameraSensorProperties camera_sensor_properties.cpp:305 No static properties available for 'imx500'
[0:01:25.438624029] [2249]  WARN CameraSensorProperties camera_sensor_properties.cpp:307 Please consider updating the camera sensor properties database
[0:01:25.466632714] [2249]  WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:01:25.469557259] [2249]  INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx500@1a to Unicam device /dev/media4 and ISP device /dev/media0
[0:01:25.469652592] [2249]  INFO RPI pipeline_base.cpp:1126 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Made X/EGL preview window
IMX500: Unable to set absolute ROI
Reading post processing stage "imx500_object_detection"

------------------------------------------------------------------------------------------------------------------
NOTE: Loading network firmware onto the IMX500 can take several minutes, please do not close down the application.
------------------------------------------------------------------------------------------------------------------

Reading post processing stage "object_detect_draw_cv"
Mode selection for 1920:1080:12:P(30)
    SRGGB10_CSI2P,2028x1520/30.0219 - Score: 2467.7
    SRGGB10_CSI2P,4056x3040/9.9987 - Score: 43357.3
Stream configuration adjusted
[0:01:28.520565569] [2246]  INFO Camera camera.cpp:1197 configuring streams: (0) 1920x1080-YUV420 (1) 2028x1520-SRGGB10_CSI2P
[0:01:28.521339201] [2249]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx500@1a - Selected sensor format: 2028x1520-SRGGB10_1X10 - Selected unicam format: 2028x1520-pRAA
Network Firmware Upload: 100% (3872/3872 KB)

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

Raspberry Pi AI camera focus adjustment

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

Raspberry Pi AI Camera MobileNet object detection

Все работает хорошо, за исключением расхождений между документацией и фактическими командами, но решение было найдено на форумах. Также выяснилось, что Scrot не делает скриншоты в Wayland (изображения получаются черными), поэтому пришлось перейти на утилиту Grim.

Попробуем другой пример: оценку позы.

rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30

Raspberry Pi AI Camera body segmentation

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

Дополнительные модели доступны в директории imx500-models.

pi@raspberrypi:~ $ ls -l /usr/share/imx500-models/
total 98700
-rw-r--r-- 1 root root 2574800 Sep 28 20:37 imx500_network_deeplabv3plus.rpk
-rw-r--r-- 1 root root 3722528 Sep 28 20:37 imx500_network_efficientdet_lite0_pp.rpk
-rw-r--r-- 1 root root 6285760 Sep 28 20:37 imx500_network_efficientnet_bo.rpk
-rw-r--r-- 1 root root 5576144 Sep 28 20:37 imx500_network_efficientnet_lite0.rpk
-rw-r--r-- 1 root root 6838704 Sep 28 20:37 imx500_network_efficientnetv2_b0.rpk
-rw-r--r-- 1 root root 6681664 Sep 28 20:37 imx500_network_efficientnetv2_b1.rpk
-rw-r--r-- 1 root root 6826864 Sep 28 20:37 imx500_network_efficientnetv2_b2.rpk
-rw-r--r-- 1 root root 2104384 Sep 28 20:37 imx500_network_higherhrnet_coco.rpk
-rw-r--r-- 1 root root   67056 Sep 28 20:37 imx500_network_inputtensoronly.rpk
-rw-r--r-- 1 root root 5222544 Sep 28 20:37 imx500_network_levit_128s.rpk
-rw-r--r-- 1 root root 5072400 Sep 28 20:37 imx500_network_mnasnet1.0.rpk
-rw-r--r-- 1 root root 4079808 Sep 28 20:37 imx500_network_mobilenet_v2.rpk
-rw-r--r-- 1 root root 3612448 Sep 28 20:37 imx500_network_mobilevit_xs.rpk
-rw-r--r-- 1 root root 2335520 Sep 28 20:37 imx500_network_mobilevit_xxs.rpk
-rw-r--r-- 1 root root 3281696 Sep 28 20:37 imx500_network_nanodet_plus_416x416_pp.rpk
-rw-r--r-- 1 root root 3118976 Sep 28 20:37 imx500_network_nanodet_plus_416x416.rpk
-rw-r--r-- 1 root root 1663152 Sep 28 20:37 imx500_network_posenet.rpk
-rw-r--r-- 1 root root 3440912 Sep 28 20:37 imx500_network_regnetx_002.rpk
-rw-r--r-- 1 root root 4054464 Sep 28 20:37 imx500_network_regnety_002.rpk
-rw-r--r-- 1 root root 5464912 Sep 28 20:37 imx500_network_regnety_004.rpk
-rw-r--r-- 1 root root 6211824 Sep 28 20:37 imx500_network_resnet18.rpk
-rw-r--r-- 1 root root 4081184 Sep 28 20:37 imx500_network_shufflenet_v2_x1_5.rpk
-rw-r--r-- 1 root root 1597680 Sep 28 20:37 imx500_network_squeezenet1.0.rpk
-rw-r--r-- 1 root root 3965824 Sep 28 20:37 imx500_network_ssd_mobilenetv2_fpnlite_320x320_pp.rpk
-rw-r--r-- 1 root root 3126656 Sep 28 20:37 imx500_network_yolov8n_pp.rpk

Raspberry Pi AI камера также поддерживает фреймворк Picamera2. Установим зависимости и демо-программы:

sudo apt install python3-opencv python3-munkres
git clone https://github.com/raspberrypi/picamera2

Попробуем запустить Yolov8:

cd picamera2/examples/imx500/
DISPLAY=:0 python imx500_object_detection_demo.py --model /usr/share/imx500-models/imx500_network_ssd_mobilenetv2_fpnlite_320x320_pp.rpk

Но результат оказался неожиданным:

pi@raspberrypi:~/picamera2/examples/imx500 $ DISPLAY=:0 python imx500_object_detection_demo.py --model /usr/share/imx500-models/imx500_network_ssd_mobilenetv2_fpnlite_320x320_pp.rpk
[0:17:09.224913642] [40685]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[0:17:09.251033940] [40690]  WARN CameraSensorProperties camera_sensor_properties.cpp:305 No static properties available for 'imx500'
[0:17:09.251093511] [40690]  WARN CameraSensorProperties camera_sensor_properties.cpp:307 Please consider updating the camera sensor properties database
[0:17:09.272530936] [40690]  WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:17:09.274669644] [40690]  INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx500@1a to Unicam device /dev/media4 and ISP device /dev/media0
[0:17:09.274828357] [40690]  INFO RPI pipeline_base.cpp:1126 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'

------------------------------------------------------------------------------------------------------------------
NOTE: Loading network firmware onto the IMX500 can take several minutes, please do not close down the application.
------------------------------------------------------------------------------------------------------------------

[0:17:09.456145829] [40685]  INFO Camera camera.cpp:1197 configuring streams: (0) 640x480-XBGR8888 (1) 2028x1520-SRGGB10_CSI2P
[0:17:09.456830363] [40690]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx500@1a - Selected sensor format: 2028x1520-SRGGB10_1X10 - Selected unicam format: 2028x1520-pRAA
Network Firmware Upload: 100%|█████████████████████████████████████████████████████████████████████| 3.78M/3.78M [00:11<00:00, 360kbytes/s]
Traceback (most recent call last):
  File "/home/pi/picamera2/examples/imx500/imx500_object_detection_demo.py", line 179, in <module>
    last_results = parse_detections(picam2.capture_metadata())
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/picamera2/examples/imx500/imx500_object_detection_demo.py", line 28, in parse_detections
    bbox_order = intrinsics.bbox_order
                 ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NetworkIntrinsics' object has no attribute 'bbox_order'

Эта проблема известна не только мне , и выполнение следующей команды перед запуском:

export PYTHONPATH=/home/pi/picamera2/

позволяет продвинуться дальше, но все равно приводит к ошибке:

File "/home/pi/picamera2/picamera2/devices/imx500/imx500.py", line 548, in __get_output_tensor_info
    raise ValueError(f'tensor info length {len(tensor_info)} does not match expected size {size}')
ValueError: tensor info length 260 does not match expected size 708

Еще один пользователь столкнулся с проблемой несоответствия размеров , но в данном случае очевидного решения нет. На 24 ноября 2024 года фреймворк Picamera2 несовместим с Raspberry Pi AI камерой. Надеемся, что это будет исправлено в ближайшие недели. Документация содержит подробности архитектуры и инструкции по развертыванию собственных моделей TensorFlow или Pytorch, но это выходит за рамки данного руководства.

Начало работы с Raspberry Pi AI HAT+

Raspberry Pi рекомендует включить PCIe Gen3 для оптимальной производительности, но в этом нет необходимости, так как PCIe Gen3 уже был активирован при тестировании официального SSD Raspberry Pi . Установим ресурсы Hailo и перезагрузим систему.

sudo apt install hailo-all
sudo reboot

Заметим, что установка занимает около 900 МБ и включает драйвер ядра Hailo, прошивку, промежуточное ПО HailoRT, библиотеки постобработки Hailo Tappas и демо rpicam-apps с постобработкой Hailo.

Проверим, обнаружен ли акселератор Hailo-8 AI:

hailortcli fw-control identify

Вывод:

Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.18.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8
Serial Number: <N/A>
Part Number: <N/A>
Product Name: <N/A>

Серийные номера, номера деталей и название продукта отсутствуют — возможно, они отображаются только при использовании модулей Hailo формата M.2 или mPCIe.

Дополнительная информация о Hailo доступна в логах ядра:

pi@raspberrypi:~ $ dmesg | grep -i hailo
[    3.671365] hailo: Init module. driver version 4.18.0
[    3.671510] hailo 0000:01:00.0: Probing on: 1e60:2864...
[    3.671517] hailo 0000:01:00.0: Probing: Allocate memory for device extension, 11632
[    3.671539] hailo 0000:01:00.0: enabling device (0000 -> 0002)
[    3.671546] hailo 0000:01:00.0: Probing: Device enabled
[    3.671566] hailo 0000:01:00.0: Probing: mapped bar 0 - 00000000a06c39ed 16384
[    3.671572] hailo 0000:01:00.0: Probing: mapped bar 2 - 00000000a39a70f5 4096
[    3.671577] hailo 0000:01:00.0: Probing: mapped bar 4 - 00000000800179f8 16384
[    3.671581] hailo 0000:01:00.0: Probing: Force setting max_desc_page_size to 4096 (recommended value is 16384)
[    3.671589] hailo 0000:01:00.0: Probing: Enabled 64 bit dma
[    3.671592] hailo 0000:01:00.0: Probing: Using userspace allocated vdma buffers
[    3.671595] hailo 0000:01:00.0: Disabling ASPM L0s 
[    3.671599] hailo 0000:01:00.0: Successfully disabled ASPM L0s 
[    3.898016] hailo 0000:01:00.0: Firmware was loaded successfully
[    3.913417] hailo 0000:01:00.0: Probing: Added board 1e60-2864, /dev/hailo0

Теперь можно скачать демо rpicam-apps с GitHub:

git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps

И протестировать один из примеров, как указано в документации:

pi@raspberrypi:~ $ DISPLAY=:0 rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640 
[0:39:01.996590396] [17167]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[0:39:02.004488912] [17170]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[0:39:02.022338997] [17170]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Made X/EGL preview window
Postprocessing requested lores: 640x640 BGR888
Reading post processing stage "hailo_yolo_inference"
ERROR: *** No such node (hef_file) ***

Упс… не работает. На форуме Raspberry Pi рекомендуют использовать модели из /usr/share/rpi-camera-assets/ :

pi@raspberrypi:~ $ DISPLAY=:0 rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640 --rotation 180
[0:42:20.662134072] [17198]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[0:42:20.673362106] [17201]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[0:42:20.695581852] [17201]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Made X/EGL preview window
Postprocessing requested lores: 640x640 BGR888
Reading post processing stage "hailo_yolo_inference"
Reading post processing stage "object_detect_draw_cv"
Mode selection for 2304:1296:12:P
    SRGGB10_CSI2P,1536x864/0 - Score: 3400
    SRGGB10_CSI2P,2304x1296/0 - Score: 1000
    SRGGB10_CSI2P,4608x2592/0 - Score: 1900
Stream configuration adjusted
[0:42:21.844252109] [17198]  INFO Camera camera.cpp:1197 configuring streams: (0) 2304x1296-YUV420 (1) 640x640-BGR888 (2) 2304x1296-BGGR_PISP_COMP1
[0:42:21.844388530] [17201]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a - Selected sensor format: 2304x1296-SBGGR10_1X10 - Selected CFE format: 2304x1296-PC1B
[HailoRT] [warning] HEF was compiled for Hailo8L device, while the device itself is Hailo8. This will result in lower performance.
[HailoRT] [warning] HEF was compiled for Hailo8L device, while the device itself is Hailo8. This will result in lower performance.

Теперь все работает, и результат похож на демо MobileNet для Raspberry Pi AI камеры, но YOLOv8 на AI HAT+ также распознает бутылку… Заметим, что добавлен параметр ориентации, так как крепление камеры требует поворота изображения на 180 градусов.

Raspberry Pi AI HAT+ Yolov8 object detection

Доступно также демо оценки позы:

pi@raspberrypi:~ $ DISPLAY=:0 rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_pose.json --lores-width 640 --lores-height 640 --rotation 180
[3:39:11.229348188] [334368]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[3:39:11.237309251] [334371]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[3:39:11.255766175] [334371]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Made X/EGL preview window
Postprocessing requested lores: 640x640 BGR888
Reading post processing stage "hailo_yolo_pose"
Mode selection for 2304:1296:12:P
    SRGGB10_CSI2P,1536x864/0 - Score: 3400
    SRGGB10_CSI2P,2304x1296/0 - Score: 1000
    SRGGB10_CSI2P,4608x2592/0 - Score: 1900
Stream configuration adjusted
[3:39:12.423058392] [334368]  INFO Camera camera.cpp:1197 configuring streams: (0) 2304x1296-YUV420 (1) 640x640-BGR888 (2) 2304x1296-RGGB_PISP_COMP1
[3:39:12.423195170] [334371]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a - Selected sensor format: 2304x1296-SRGGB10_1X10 - Selected CFE format: 2304x1296-PC1R
[HailoRT] [warning] HEF was compiled for Hailo8L device, while the device itself is Hailo8. This will result in lower performance.
[HailoRT] [warning] HEF was compiled for Hailo8L device, while the device itself is Hailo8. This will result in lower performance.

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

Raspberry Pi AI HAT+ body segmentation

Все примеры скомпилированы для 13 TOPS акселератора Hailo-8L, а не для 26 TOPS чипа Hailo-8, но это не влияет на производительность с точки зрения пользователя. Запрошена информация у Raspberry Pi о наличии демо, специфичных для 26 TOPS Hailo-8, и материал будет обновлен после тестирования.

Документация для Raspberry Pi AI HAT+ менее подробная, чем для AI камеры, и пользователи перенаправляются в репозиторий hailo-rpi5-examples на GitHub за дополнительной информацией и в сообщество Hailo за поддержкой.

Сравнение демо оценки позы: Raspberry Pi AI камера vs AI HAT+

Первое впечатление: детекция объектов и оценка позы работают схожим образом на Raspberry Pi AI камере и AI HAT+ после настройки.

Raspberry Pi AI camera vs AI HAT+ segmentation demo

Основное различие для оценки позы — медленный первый запуск на AI камере из-за передачи модели (почти две минуты). Последующие запуски выполняются быстро, так как модель уже сохранена в памяти камеры. Yolov8 на AI HAT+ также добавляет отслеживание глаз и носа, но, вероятно, это связано с использованием другой модели, а не с ограничениями аппаратуры.

Хотя плата расширения мощнее на бумаге, и Raspberry Pi AI камера, и AI HAT+ могут запускать похожие демо. AI HAT+ использует PCIe и работает только с Raspberry Pi 5 и будущим модулем CM5, тогда как AI камера совместима с любым Raspberry Pi, имеющим разъем MIPI CSI. Демо загружаются медленнее при первом запуске на AI камере, но в остальном различий мало. Документация не всегда синхронизирована с фактическими командами для обоих устройств, и для успешного запуска демо пришлось обращаться к форумам. Оба устройства стоят одинаково ($70) для комплекта AI HAT+ на 13 TOPS, но большинству приложений с AI HAT+ потребуется модуль камеры Raspberry Pi. Комплект AI HAT+ на 26 TOPS, рассмотренный здесь, стоит $110.

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

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

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

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

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