Raspberry Pi AI Camera - это компактный модуль камеры от Raspberry Pi, основанный на интеллектуальном датчике зрения Sony IMX500.
IMX500 сочетает в себе 12-мегапиксельный CMOS-датчик изображения с встроенным ускорением вывода для различных распространенных моделей нейронных сетей, что позволяет пользователям разрабатывать сложные приложения искусственного интеллекта на основе зрения без необходимости в отдельном ускорителе.
AI Camera прозрачно дополняет захваченные неподвижные изображения или видео тензорными метаданными, оставляя процессор хост-машины Raspberry Pi свободным для выполнения других операций.
Поддержка тензорных метаданных в библиотеках libcamera и Picamera2, а также в наборе приложений rpicam-apps упрощает использование камеры для новичков, предлагая опытным пользователям непревзойденную мощность и гибкость.
Raspberry Pi AI Camera совместима со всеми компьютерами Raspberry Pi (с подключением камеры CSI).
Контур печатной платы и расположение монтажных отверстий идентичны модулю камеры Raspberry Pi Camera Module 3, тогда как общая глубина больше, чтобы вместить больший сенсор IMX500 и оптический узел.
Камера поставляется с двумя кабелями (15-контактным и 22-контактным), что позволяет использовать ее со всеми компьютерами Raspberry Pi, которые имеют порт CSI, включая Raspberry Pi 5.
Особенности
12-мегапиксельный интеллектуальный датчик технического зрения Sony IMX500
Интегрированный маломощный двигатель вывода
Интегрированный RP2040 для управления нейронной сетью и прошивкой
Предварительно загружена с моделью машинного зрения MobileNet
Режимы сенсора: 4056×3040 при 10 кадрах в секунду, 2028×1520 при 30 кадрах в секунду
76-градусное поле зрения
Ручное регулирование фокуса
Поставляется с 200-милиметровыми кабелями для подключения ко всем компьютерам Raspberry Pi
Характеристики
| Датчик | Sony IMX500 |
| Разрешение | 12.3 мегапикселя |
| Размер датчика | 7.857 мм (тип 1/2.3) |
| Размер пикселя | 1.55 μm × 1.55 μm |
| Горизонтальная/вертикальная | 4056 × 3040 пикселей |
ИК-фильтр Чувствительность к инфракрасному свету | Интегрированный Нет |
Система автофокуса Диапазон фокуса Фокусное расстояние Фокусное число (F-стоп) | Регулируемый вручную фокус 20 см – ∞ 4.74 мм F1.79 |
Горизонтальное поле зрения Вертикальное поле зрения | 66 ±3 градуса 52.3 ±3 градуса |
Выход | Изображение (Bayer RAW10) Выход ISP (YUV/RGB)Метаданные ROI |
| Максимальный размер входного тензора | 640(Ш) × 640(В) |
Raspberry Pi AI - фото 1" class="img-fluid"> | Тип входных данных | int8' или 'uint8' |
| Размер памяти | 8388480 байт для прошивки, файла веса сети и рабочей памяти |
| Частота кадров | 2×2 биннинг: 2028×1520 10-бит 30fps Полное разрешение: 4056×3040 10-бит 10fps |
| Размеры | 25 × 24 × 11.9 мм |
| Длина шлейфа | 200 мм |
| Разъем кабеля | 15 × 1 мм FPC или 22 × 0.5 мм FPC |
| Температура эксплуатации | 0°C до 50°C |
| Совместимость | RPi3B RPi4B RPi5 RPi Zero |
| Срок производства | Камера Raspberry Pi AI останется в производстве как минимум до января 2028 года |
Камера IMX500 представляет собой мощное устройство, обладающее функциональностью, необходимой для обработки изображений и выполнения задач компьютерного зрения. Она предлагает множество вспомогательных функций, позволяющих настраивать и оптимизировать процесс обработки, такие как автоматическое вычисление областей интереса (ROI), управление прошивкой и преобразование координат.
Интеграция с библиотекой Picamera2 упрощает использование камеры в Python, предоставляя разработчикам доступ к удобным интерфейсам для работы с нейронными сетями и обработкой тензоров. Это делает IMX500 идеальным выбором для проектов в области искусственного интеллекта и машинного обучения, обеспечивая высокое качество изображений и гибкость в настройке обработки.
В целом, IMX500 — это высокотехнологичное решение, которое может значительно улучшить возможности обработки визуальной информации в различных приложениях.
Комплектация:
- 1 камера Raspberry Pi AI
- 1 кабель CSI (15-контактный для Pi 2/3/4)
- 1 кабель CSI (22-контактный для Pi Zero/Pi 5)
- 1x инструмент для регулировки линз
Камера Raspberry Pi AI по хорошей цене.
Minicomp.com.ua - надежный выбор для всех в мире технологий и компьютерной техники! Мы рады приветствовать вас на сайте Minicomp.com.ua, где вы найдете обширный выбор техники : compute module raspberry и камера для fpv дрона, кроме того, мы предлагаем аксессуары по разумным ценам. У нас на жесткий диск цены конкурентноспособные! Мы гарантируем высококачественные товары от известных брендов, чтобы удовлетворить ваши потребности. Мы учитываем важность разумных цен, поэтому у нас на usb кабель стоимость приятная. В Minicomp вы можете найти товары по доступным и конкурентоспособным расценкам, кроме того, у нас есть эксклюзивные предложения, акции и скидки на товары.Камера Raspberry Pi AI на сайте магазина - minicomp.com.ua
Покупка товаров на нашем сайте - это просто и удобно. Вы сможете купить камеру для дрона, просто оформив заказ. Наш интерфейс разработан таким образом, легким для восприятия и простым в использовании. В нашем ассортименте есть всё для вашей работы и интересов: hdmi кабель купить цена, квадрокоптер купить цена и программатор купить всё это можете на minicomp.com.ua! Неважно, что именно вам нужно, мышка клавиатура или дрон с gps — это всегда доступно у нас по конкурентоспособной цене.Нет отзывов о данном товаре, станьте первым, оставьте свой отзыв.
Нет вопросов о данном товаре, станьте первым и задайте свой вопрос.
Мы доставляем заказы по всей территории страны (кроме временно оккупированных территорий).
Все товары на 100% в наличии, поэтому мы отправим их сегодня или завтра, если вы сделали заказ после 18:00.
Способы оплаты:
- Оплата картой на сайте
- Оплата частями
- Наложенный платёж
- Перевод на банковскую карту
- Безналичный расчет

В приведенных ниже инструкциях описано, как запустить предварительно установленные модели нейронных сетей MobileNet SSD и PoseNet на Raspberry Pi AI Camera.
Предпосылки
Эта инструкция предполагает, что вы используете AI Camera, подключенную к плате Raspberry Pi 4 Model B или Raspberry Pi 5. С небольшими изменениями вы можете следовать этим инструкциям на других моделях Raspberry Pi с разъемом для камеры, включая Raspberry Pi Zero 2 W и Raspberry Pi 3 Model B+.
Во-первых, убедитесь, что на вашем Raspberry Pi установлено самое последнее программное обеспечение. Запустите следующую команду для обновления:
sudo apt update && sudo apt full-upgrade |
Установка прошивки IMX500
Во время запуска AI-камера должна загрузить прошивку для работы с датчиком IMX500.
Чтобы установить эти файлы прошивки на Raspberry Pi, выполните такую команду:
sudo apt install imx500-all |
Эта команда
- устанавливает файлы прошивки /lib/firmware/imx500_loader.fpk и /lib/firmware/imx500_firmware.fpk, необходимые для работы датчика IMX500
- размещает несколько файлов прошивки нейронной модели в /usr/share/imx500-models/
- устанавливает программные этапы постобработки IMX500 в rpicam-apps
- устанавливает инструменты упаковки сетевых моделей Sony
Драйвер устройства ядра IMX500 загружает все файлы прошивки во время запуска камеры. |
Перезагрузка
Теперь, когда вы установили необходимые условия, перезагрузите Raspberry Pi:
sudo reboot |
Запуск примеров программ
После обновления всех системных пакетов и установки файлов прошивки мы можем запустить некоторые примеры программ.
Как упоминалось ранее, Raspberry Pi AI Camera полностью интегрируется с libcamera, rpicam-apps и Picamera2.
rpicam-apps
Приложения для камеры rpicam-apps включают этапы обнаружения объектов IMX500 и оценки поз, которые можно запускать в конвейере постобработки.
В примерах на этой странице используются JSON-файлы постобработки, расположенные в /usr/share/rpicam-assets/.
Обнаружение объектов
Нейронная сеть MobileNet SSD выполняет базовое обнаружение объектов, предоставляя ограничительные рамки и значения доверия для каждого найденного объекта. imx500_mobilenet_ssd.json содержит параметры конфигурации для этапа постобработки обнаружения объектов IMX500 с использованием нейронной сети MobileNet SSD.
imx500_mobilenet_ssd.json объявляет конвейер постобработки, который содержит два этапа:
1) imx500_object_detection, который выделяет в выходной тензор сгенерированные нейронной сетью ограничительные рамки и значения доверия
2) object_detect_draw_cv, который рисует ограничительные рамки и метки на изображении
Тензор MobileNet SSD не требует значительной постобработки на вашем Raspberry Pi для создания конечного результата ограничительных рамок.
Обнаружение объектов происходит непосредственно на камере с искусственным интеллектом.
Следующая команда запускает rpicam-hello с постобработкой обнаружения объектов:
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30
После запуска команды вы увидите видоискатель, который накладывает ограничительные рамки на объекты, распознанные нейронной сетью:

Для записи видео с наложением обнаружения объектов используйте rpicam-vid:
rpicam-vid -t 10s -o output.264 --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json --width 1920 --height 1080 --framerate 30Вы можете настроить этап imx500_object_detection различными способами.
Например, max_detections определяет максимальное количество объектов, которые конвейер обнаружит в любой момент времени. threshold определяет минимальное значение достоверности, необходимое для того, чтобы конвейер считал входные данные объектом.
Выходные данные этой сети могут быть довольно шумными, поэтому на этом этапе также выполняется некоторая временная фильтрация и применяется гистерезис.
Чтобы отключить эту фильтрацию, удалите конфигурационный блок temporal_filter.
Оценка позы
Нейронная сеть PoseNet выполняет оценку позы, отмечая ключевые точки на теле, связанные с суставами и конечностями. imx500_posenet.json содержит параметры конфигурации для этапа постобработки оценки позы IMX500 с использованием нейронной сети PoseNet.
imx500_posenet.json объявляет конвейер постобработки, который содержит два этапа:
imx500_posenet, который получает выходной тензор от нейронной сети PoseNet
plot_pose_cv, который рисует наложение линий на изображение
AI Camera выполняет базовое обнаружение, но выходной тензор требует дополнительной постобработки на вашем хосте Raspberry Pi для получения окончательного результата.
Следующая команда запускает rpicam-hello с постобработкой оценки позы:
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30
Вы можете настроить этап imx500_object_detection различными способами.
Например, max_detections определяет максимальное количество объектов, которые конвейер обнаружит в любой момент времени. threshold определяет минимальное значение достоверности, необходимое для того, чтобы конвейер считал входные данные объектом.
Выходные данные этой сети могут быть довольно шумными, поэтому на этом этапе также выполняется некоторая временная фильтрация и применяется гистерезис.
Чтобы отключить эту фильтрацию, удалите конфигурационный блок temporal_filter.
Оценка позы
Нейронная сеть PoseNet выполняет оценку позы, помечая ключевые точки на теле, связанные с суставами и конечностями. imx500_posenet.json содержит параметры конфигурации для этапа постобработки оценки позы IMX500 с использованием нейронной сети PoseNet.
imx500_posenet.json объявляет конвейер постобработки, который содержит два этапа:
imx500_posenet, который получает выходной тензор от нейронной сети PoseNet
plot_pose_cv, который рисует наложение линий на изображение.
AI Camera выполняет базовое обнаружение, но выходной тензор требует дополнительной постобработки на вашем хосте Raspberry Pi для получения окончательного результата.
Следующая команда запускает rpicam-hello с постобработкой оценки позы:
sudo apt install python3-opencv python3-munkres |
Теперь загрузите репозиторий https://github.com/raspberrypi/picamera2 на ваш Raspberry Pi, чтобы запустить примеры. Файлы с примерами вы найдете в корневом каталоге.
Запустите следующий скрипт из репозитория, чтобы запустить обнаружение объектов YOLOv8.
python imx500_object_detection_demo.py --model /usr/share/imx500-models/imx500_network_yolov8n_pp.rpk --ignore-dash-labels -r
|
Чтобы попробовать оценить позу в Picamera2, запустите следующий скрипт из репозитория
python imx500_pose_estimation_higherhrnet_demo.py |
Обзор
AI-камера Raspberry Pi работает иначе, чем традиционные системы обработки изображений на основе искусственного интеллекта, как показано на схеме ниже:

Левая сторона демонстрирует архитектуру традиционной системы камер с искусственным интеллектом. В такой системе камера передает изображение на Raspberry Pi. Raspberry Pi обрабатывает изображение, а затем выполняет ИИ-выводы. Традиционные системы могут использовать внешние ускорители ИИ или полагаться исключительно на центральный процессор.
Справа показана архитектура системы, которая использует IMX500. Модуль камеры содержит небольшой процессор сигналов изображения (ISP), который преобразует необработанные данные изображения с камеры в входной тензор. Модуль камеры отправляет этот тензор напрямую к ускорителю искусственного интеллекта в камере, который создает выходной тензор, содержащий результаты вывода. Ускоритель ИИ отправляет этот тензор на Raspberry Pi. Нет необходимости в внешнем ускорителе, а также в Raspberry Pi для запуска нейросетевого программного обеспечения на центральном процессоре.
Чтобы полностью понять эту систему, ознакомьтесь с следующими понятиями:
Входной тензор
Часть изображения с датчика, передаваемая в систему искусственного интеллекта для вывода выводов. Создается небольшим встроенным провайдером, который также обрезает и масштабирует изображение с камеры до размеров, ожидаемых загруженной нейронной сетью. Входной тензор обычно недоступен для приложений, хотя к нему можно получить доступ для отладки.
Область интереса (ROI)
Указывает, какая именно часть изображения с сенсора будет обрезана перед масштабированием до размера, необходимого нейронной сети. Может запрашиваться и устанавливаться программой. Единицами измерения всегда являются пиксели в полном разрешении датчика. По умолчанию ROI использует полное изображение, полученное с датчика, без обрезки данных.
Выходной тензор
Результаты выводов, сделанных нейронной сетью. Точная количество и форма выходов зависят от нейронной сети. Код программы должен понимать, как работать с тензором.
Архитектура системы
На схеме ниже показаны различные программные компоненты камеры, которые используются в нашем примере использования для обработки изображений/выводов с аппаратным обеспечением модуля ИИ-камеры Raspberry Pi.

Во время запуска сенсорный модуль IMX500 загружает прошивку для запуска определенной модели нейронной сети. Во время потоковой передачи данных IMX500 генерирует как поток изображения, так и поток выводов. Этот поток выводов содержит входы и выходы нейросетевой модели, также известные как тензоры входов/выходов.
Драйверы устройств
На нижнем уровне драйвер ядра датчика IMX500 конфигурирует модуль камеры через шину I2C. Драйвер CSI2 (CFE на Pi 5, Unicam на всех других платформах Pi) настраивает приемник на запись потока данных изображения в буфер кадра, вместе с потоками встроенных данных и данных вывода в другой буфер в памяти.
Файлы прошивки также передаются через провода шины I2C. В большинстве устройств для этого используется стандартный протокол I2C, но Raspberry Pi 5 использует собственный высокоскоростной протокол. Драйвер RP2040 SPI в ядре обрабатывает передачу файлов прошивки, поскольку для передачи используется микроконтроллер RP2040. Микроконтроллер обеспечивает передачу данных I2C от ядра к IMX500 через шину SPI. Кроме того, RP2040 кеширует файлы прошивки во встроенной памяти. Это позволяет избежать необходимости передавать целые блоки прошивки по шине I2C, что значительно ускоряет загрузку прошивки для прошивок, которые вы уже использовали.
libcamera
После того, как libcamera получит от ядра буфер изображения и буфер данных вывода, специальная библиотека IMX500 (часть Raspberry Pi IPA в составе libcamera) анализирует буфер вывода, чтобы получить доступ к тензорам ввода/вывода. Эти тензоры упакованы как специфические для Raspberry Pi элементы управления libcamera. libcamera возвращает следующие элементы управления:

rpicam-apps
rpicam-apps предоставляет базовый класс этапа постобработки IMX500, который реализует помощники для этапов постобработки IMX500: IMX500PostProcessingStage. Используйте этот базовый класс для создания нового этапа постобработки для любой нейросетевой модели, работающей на IMX500. Пример смотрите в файле imx500_object_detection.cpp:
|
Для каждого кадра, полученного программой, вызывается функция Process() (ObjectDetection::Process() в приведенном выше случае). В этой функции вы можете извлечь выходной тензор для дальнейшей обработки или анализа:
|
После завершения окончательные результаты могут быть визуализированы или сохранены в метаданных и использованы либо на следующем этапе, либо в самом верхнем уровне приложения. В случае объектного вывода:
|
Этап постобработки object_detect_draw_cv, выполняющийся далее, получает эти результаты из метаданных и наносит рамки на изображение в функции ObjectDetectDrawCvStage::Process():
|
Следующая таблица содержит полный перечень вспомогательных функций, которые предоставляет IMX500PostProcessingStage:
| ФУНКЦИЯ | ОПИСАНИЕ |
| Read() | Обычно эта функция вызывается из <Наследуемого класса>::Read() и считывает параметры конфигурации для разбора и сохранения входного тензора. Эта функция также считывает строку файла модели нейронной сети («network_file») и настраивает прошивку для загрузки при открытии камеры. |
| Process() | Обычно эта функция вызывается из <Наследуемого класса>::Process() и обрабатывает и сохраняет входной тензор в файл, если это требуется конфигурационным файлом JSON. |
| SetInferenceRoiAbs() |
Устанавливает абсолютную область интереса (ROI) прямоугольника обрезки на изображении датчика для использования при построении выводов на IMX500. |
| SetInferenceRoiAuto() |
Автоматически вычисляет прямоугольник области интереса (ROI) на изображении с сенсора, чтобы сохранить соотношение сторон входного тензора для заданной нейронной сети. |
| ShowFwProgressBar() |
Отображает на консоли индикатор прогресса, показывающий ход загрузки прошивки нейронной сети на IMX500. |
| ConvertInferenceCoordinates() |
Преобразование из пространства координат входного тензора в конечное пространство выходного изображения провайдера. |
Picamera2
Интеграция IMX500 в Picamera2 очень похожа на то, что доступно в rpicam-apps. Picamera2 имеет вспомогательный класс IMX500, который обеспечивает ту же функциональность, что и базовый класс rpicam-apps IMX500PostProcessingStage. Его можно импортировать в любой скрипт Python:
from picamera2.devices.imx500 import IMX500
|
Чтобы получить выходные тензоры, извлеките их из элементов управления. После этого вы можете применить дополнительную обработку в вашем скрипте Python.
Для более полного набора инструкций и дополнительной информации о используемых инструментах смотрите Инструкцию
- Оплата частями
- Наложенный платеж в отделениях НП
- Перевод на банковскую карту
- Безналичная оплата
- Гарантия 12 мес.
- 100% оригинальный товар
- 14 дней на возврат