这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【Arduino_UNO_Q】物体识别

共1条 1/1 1 跳转至

【Arduino_UNO_Q】物体识别

工程师
2026-06-05 16:45:28     打赏

【Arduino UNO Q】物体识别

本文介绍了 Arduino UNO Q 开发板结合 OpenCV 和 Ultralytics 库实现 YOLO26 板端部署,并实现物体识别的项目设计,包括环境部署、模型获取、流程图、工程代码、效果演示等。

项目介绍

  • 准备工作:OpenCV 安装、Ultralytics 软件包安装、YOLO26 预训练模型获取等;

  • YOLO26:目标检测、实例分割、图像分类、姿态估计、旋转框检测等;

准备工作

包括硬件连接、OpenCV 安装、Ultralytics 库部署、YOLO26 模型下载等。

硬件连接

  • 连接显示屏(或 SSH 远程登录、数据线 ADB 登录);

  • 连接鼠标键盘;

  • WiFi 连接无线网;

  • 使用 PD 电源供电;

hardware_connect.jpg

OpenCV

终端执行指令

 sudo apt install python3-opencv
 python3 -c "import cv2; print(cv2.__version__)"

输出 opencv 版本号

numpy_version.jpg

  • 创建并激活虚拟环境

 sudo apt install python3-venv
 python3 -m venv .venv
 source .venv/bin/activate


activate_venv.jpg

  • 升级 pip 并安装 OpenCV 全家桶

 pip install --upgrade pip
 pip install opencv-python opencv-contrib-python
  • 验证安装

 python -c "import cv2,sys,numpy;print('OpenCV:',cv2.__version__,'NumPy:',numpy.__version__)"
  • 输出版本号

opencv_version.jpg

详见:OpenCV .

Ultralytics

Ultralytics 基于多年在计算机视觉和人工智能领域的基础研究,打造出尖端、先进的 YOLO 模型;具有 速度快、精度高、操作简便等特点。

ultralytics_logo.jpg

目标检测跟踪实例分割图像分类姿态估计 等任务中表现出色。

  • 安装 ultralytics 软件包

 # 安装 CPU 版 PyTorch(不装 CUDA,避免内存占用)
 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
 pip install -U ultralytics
  • 验证安装

python -c "import ultralytics, sys, torch; print('ultralytics', ultralytics.__version__, '| torch', torch.__version__, '| Python', sys.version.split()[0])"
  • 输出相应版本号

ultralytics_print_version.jpg

详见:ultralytics .

YOLO26

YOLO26 是 Ultralytics 为 YOLO 系列模型算法的最新演进,专为边缘设备开发,以实现更快、更轻、更易于访问的部署。

yolo26_logo.jpg


详见:YOLO26 | Ultralytics .

优化

根据 YOLO26n 在十种不同格式(PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch)的基准测试结果,包括每种组合的状态、大小、mAP50-95(B) 指标和推理时间,

yolo26n_table_time.jpg

使用 NCNN 格式的模型速度最快,所需推理时间最短,因此这里采用 NCNN 推理的方案。

流程图


flowchart_or.jpg


工程代码

新建 or_ncnn.py 文件,添加如下代码

 from ultralytics import YOLO
 import cv2
 
 # Load a YOLO26n PyTorch model
 model = YOLO("yolo26n.pt")
 
 # Export the model to NCNN format
 model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'
 
 # Load the exported NCNN model
 ncnn_model = YOLO("yolo26n_ncnn_model")
 
 # Run inference
 results = ncnn_model("https://ultralytics.com/images/bus.jpg")
 
 # Windows show results
 img = results[0].plot()
 cv2.namedWindow("Results", cv2.WINDOW_NORMAL)
 cv2.imshow("Results", img)
 cv2.waitKey(0)
 cv2.destroyAllWindows()

保存代码;

物体识别

  • 终端执行 python or.py 指令运行程序,终端打印处理信息和识别结果

or_print.jpg

  • 弹窗显示物体识别结果

or_bus.jpg

更多效果

or_bicycle.jpg

运动

or_baseball.jpg

桌面

or_desktop.jpg

总结

本文介绍了 Arduino UNO Q 开发板结合 OpenCV 和 Ultralytics 库实现 YOLO26 板端部署,并实现物体识别的项目设计,包括环境部署、模型获取、流程图、工程代码、效果演示等,为相关产品在边缘 AI 领域的快速开发和应用设计提供了参考。





关键词: Arduino     AI     物体识别     opencv     yo    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]