Petoi AI Vision摄像头模块
Last updated
Was this helpful?
Last updated
Was this helpful?
Petoi AI 视觉模块是基于 Arm Cortex-M55 和 Ethos-U5开发的嵌入式视觉模块。它支持 TensorFlow 和 PyTorch 框架,并与 Arduino IDE 兼容。借助 SenseCraft AI 算法平台,无需编码即可将训练好的 ML 模型部署到传感器。它具有标准 CSI 接口、板载数字麦克风和 SD 卡插槽,非常适合各种嵌入式 AI 视觉项目。
强大的 AI 处理能力:采用 WiseEye2 HX6538 处理器,配备双核 Arm Cortex-M55 和集成 Arm Ethos-U55 神经网络单元。
多功能 AI 模型支持:轻松部署 SenseCraft AI 的现成或自定义 AI 模型,包括 Mobilenet V1、V2、Efficientnet-lite、Yolo v5 和 v8。支持 TensorFlow 和 PyTorch 框架。
丰富的外设:包括PDM麦克风、SD卡槽、Type-C、Grove接口等外设。
高兼容性:兼容XIAO系列、Arduino、Raspberry Pi、ESP32开发板,方便进一步开发。
完全开源:所有代码、设计文件和原理图均可修改和使用。
具体使用时可以将连接摄像头的一端固定在机器人的头部(比如含在Bittle X的嘴中, 或者卡在Bittle X+Arm的机械臂上)。
您可以在 Petoi 桌面应用程序中使用固件上载。
请选择正确的产品类型、主板型号及串口名称,模式设置为"标准",点击“升级固件”按钮。例如,BittleX、BiBoard_V0_2、COM3 如下所示:
固件上传完成后,打开串口监视器发送串口命令“XC”切换到摄像头模式。
具体步骤请参考为BiBoard上传程序。
程序上传完成后,打开串口监视器发送串口命令“XC”切换到摄像头模式。
要运行库Seeed_Arduino_SSCMA中的示例程序,您应该下载最新版本的库代码,通过选择项目>加载库>添加 .zip 库,选择下载的.zip库文件添加到Arduino IDE中。或者,您可以在Arduino IDE的库管理器中搜索安装库文件,如下图所示:
下面是一个Seeed_Arduino_SSCMA库中的示例程序(inference.ino),您可以将其上传到机器人主板BiBoard中,测试Grove Vision AI V2 的功能是否正常。您也可以参考该函数将模型输出结果用于其他功能:
#include <Seeed_Arduino_SSCMA.h>
SSCMA AI;
void setup()
{
AI.begin();
Serial.begin(9600);
}
void loop()
{
if (!AI.invoke())
{
Serial.println("invoke success");
Serial.print("perf: prepocess=");
Serial.print(AI.perf().prepocess);
Serial.print(", inference=");
Serial.print(AI.perf().inference);
Serial.print(", postpocess=");
Serial.println(AI.perf().postprocess);
for (int i = 0; i < AI.boxes().size(); i++)
{
Serial.print("Box[");
Serial.print(i);
Serial.print("] target=");
Serial.print(AI.boxes()[i].target);
Serial.print(", score=");
Serial.print(AI.boxes()[i].score);
Serial.print(", x=");
Serial.print(AI.boxes()[i].x);
Serial.print(", y=");
Serial.print(AI.boxes()[i].y);
Serial.print(", w=");
Serial.print(AI.boxes()[i].w);
Serial.print(", h=");
Serial.println(AI.boxes()[i].h);
}
for (int i = 0; i < AI.classes().size(); i++)
{
Serial.print("Class[");
Serial.print(i);
Serial.print("] target=");
Serial.print(AI.classes()[i].target);
Serial.print(", score=");
Serial.println(AI.classes()[i].score);
}
for (int i = 0; i < AI.points().size(); i++)
{
Serial.print("Point[");
Serial.print(i);
Serial.print("] target=");
Serial.print(AI.points()[i].target);
Serial.print(", score=");
Serial.print(AI.points()[i].score);
Serial.print(", x=");
Serial.print(AI.points()[i].x);
Serial.print(", y=");
Serial.println(AI.points()[i].y);
}
}
}
正常运行时,打开串口监视器,效果如下图所示: