- 2025-02-16
-
发表了主题帖:
【Raspberry Pi 5 测评】部署YOLO11实时物体检测模型
【Raspberry Pi 5 测评】部署YOLO11实时物体检测模型
【Raspberry Pi 5 测评】部署YOLO11实时物体检测模型
一、YOLO11概述
二、YOLO11主要功能
三、创建Python虚拟环境
四、激活Python虚拟环境
五、安装ultralytics包
六、体验YOLO11模型
七、绘制推理结果
九、参考链接
一、YOLO11概述
YOLO11 是 UltralyticsYOLO 是实时物体检测器系列中的最新产品,以最先进的精度、速度和效率重新定义了可能实现的目标。在之前YOLO 版本令人印象深刻的进步基础上,YOLO11 在架构和训练方法上进行了重大改进,使其成为广泛的计算机视觉任务的多功能选择。
二、YOLO11主要功能
增强型特征提取: YOLO11 采用改进的骨干和颈部架构,增强了特征提取能力,从而实现更精确的目标检测和复杂任务性能。
优化效率和速度: YOLO11 引入了完善的架构设计和优化的训练管道,提供更快的处理速度,并在准确性和性能之间保持最佳平衡。
参数更少,精度更高:随着模型设计的进步,YOLO11m 在 COCO 数据集上实现了更高的平均精度(mAP),同时使用的参数比YOLOv8m 减少了 22%,从而在不影响精度的情况下提高了计算效率。
跨环境适应性: YOLO11 可在各种环境中无缝部署,包括边缘设备、云平台和支持NVIDIA GPU 的系统,确保最大的灵活性。
支持的任务范围广泛:无论是对象检测、实例分割、图像分类、姿态估计,还是面向对象检测 (OBB),YOLO11 都能应对各种计算机视觉挑战。
三、创建Python虚拟环境
树莓派上默认使用的是Python3,不允许直接使用pip安装软件包,直接使用pip install会报错:
并且提示使用python3 -m venv path/to/venv的方式创建虚拟环境。
接下来,使用如下命令创建一个虚拟环境,用于后续的yolo11下载和运行:
python3 -m venv yolo11env
四、激活Python虚拟环境
执行如下命令,将会激活Python虚拟环境:
source yolo11env/bin/activate
激活后,命令提示符最前面会有一个括号,显示当前虚拟环境名称。
五、安装ultralytics包
执行如下命令,安装ultralytics包:
pip install ultralytics
执行过程中会下载并安装很多依赖的软件包。
六、体验YOLO11模型
安装完ultralytics包之后,就可以在当前Python虚拟环境中体验YOLO11模型了。
首先,输入python命令并回车,打开一个交互式Python命令行。
输入如下代码,下载YOLO11模型:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
接下来,就可以使用YOLO11模型进行推理了:
可以看到,推理耗时 357.3 毫秒,识别到了4个人和1个巴士,图片保存到了/home/xu/bus.jpg。
图片实际画面如下:
七、绘制推理结果
结合OpenCV绘制矩形框和文本的功能,可以写一段代码,将推理结果绘制出来,并保存为图片:
from ultralytics import YOLO
import cv2
import sys
# 1. 加载预训练模型(YOLOv8 官方模型)
model = YOLO("yolo11n.pt")
# 2. 读取输入图片
image_path = sys.argv[1]
image = cv2.imread(image_path)
# 3. 运行目标检测
results = model.predict(image, save=False) # save=False 避免自动保存覆盖
# 4. 提取检测结果并绘制矩形框
for result in results:
boxes = result.boxes # 获取边界框信息
for box in boxes:
# 提取坐标 (xyxy 格式: 左上右下)
x1, y1, x2, y2 = map(int, box.xyxy[0])
# 提取类别和置信度
cls_id = int(box.cls[0])
conf = float(box.conf[0])
cls_name = model.names[cls_id]
# 绘制矩形框
cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2)
# 添加类别和置信度标签
label = f"{cls_name} {conf:.2f}"
cv2.putText(image, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 5. 保存结果图片
output_path = image_path.split('.')[0] + "output.png"
cv2.imwrite(output_path, image)
print(f"检测结果已保存到 {output_path}")
运行以上脚本,输出output.jpg文件,内容如下:
九、参考链接
YOLO11介绍: https://docs.ultralytics.com/zh/models/yolo11/
OpenCV-Python接口说明: https://docs.opencv.org/4.x/d7/d16/tutorial_py_table_of_contents_core.html
ultralytics快速入门: https://docs.ultralytics.com/zh/quickstart/
-
发表了主题帖:
【Raspberry Pi 5 测评】在树莓派5上使用OpenCV处理图像
【Raspberry Pi 5 测评】在树莓派5上使用OpenCV处理图像
【Raspberry Pi 5 测评】在树莓派5上使用OpenCV处理图像
一、OpenCV简介
二、下载OpenCV源码
三、编译OpenCV源码
四、编写OpenCV测试程序
五、编译OpenCV测试程序
六、运行OpenCV测试程序
七、参考链接
一、OpenCV简介
OpenCV(Open Source Computer Vision Library)是全球最流行的开源计算机视觉库,最初由Intel于2000年开发,现已成为图像处理、机器学习、实时目标检测等领域的基础工具。其核心优势包括:
跨平台:支持Linux、Windows、macOS及嵌入式系统(如树莓派)
多语言接口:提供C++、Python、Java等API
模块化:包含超过2500个优化算法(如imgproc图像处理、video视频分析、dnn深度学习)
硬件加速:支持NEON指令集(ARM架构)、Vulkan和OpenCL
二、下载OpenCV源码
安装依赖项
在下载源码前,需安装必要的依赖库:
sudo apt update
sudo apt install build-essential cmake wget # 编译工具
sudo apt install libgtk-3-dev # OpenCV GUI模块依赖的库
下载OpenCV源码
使用wget命令下载OpenCV源码:
mkdir ~/OpenCV # 创建一个目录用于存放代码
wget https://github.com/opencv/opencv/archive/refs/tags/4.11.0.tar.gz -o opencv-4.11.0.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/refs/tags/4.11.0.tar.gz -o opencv_contrib.4.11.0.tar.gz # 可选扩展模块
其中,-b用于指定版本,这你指定的是最新发布版本4.11.0。
解压OpenCV源码
使用如下命令解压OpenCV源码:
tar -xvf opencv-4.11.0.tar.gz
tar -xvf opencv_contrib-4.11.0.tar.gz
解压完成后,~/OpenCV目录内有如下几个目录和文件:
三、编译OpenCV源码
创建构建目录
进入OpenCV源码目录并创建build文件夹:
cd ~/OpenCV/opencv-4.11.0
mkdir build
配置编译参数
运行如下命令,配置OpenCV构建选项:
cmake -S . -B build \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local/ \
-D OPENCV_EXTRA_MODULES_PATH=~/OpenCV/opencv_contrib-4.11.0/modules/xfeatures2d \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF
其中,参数作用分别为:
CMAKE_INSTALL_PREFIX指定安装路径;
OPENCV_EXTRA_MODULES_PATH指定三方模块代码路径,不是必须的,这里只指定了xfeatures2d一个,也可以指定全部modules;
OPENCV_ENABLE_NONFREE是否启用非免费算法,如SURF特征提取算法;
BUILD_TESTS是否编译测试,关闭之后编译耗时短一些;
BUILD_PERF_TESTS是否编译性能测试,关闭之后编译耗时短一些;
配置完成后,会输出配置项清单,可以看到各个配置值:
编译源码
使用make进行编译(树莓派5建议使用-j4并行编译加速):
cmake --build build/ -j 4
命令的最前面可以加上time,用于记录耗时,在树莓派5上实测编译OpenCV-4.11.0(附加xfeatures2d模块)耗时为12分钟:
安装库文件
使用如下命令,安装编译生成的头文件和库文件:
sudo cmake --install build/
测试OpenCV版本
安装完成后,运行如下命令,将会显示OpenCV版本号:
opencv_version
测试OpenCV-Python库
类似的,Python环境也可以进行如下测试:
四、编写OpenCV测试程序
首先,创建一个目录用于保存测试程序:
mkdir ~/OpenCV/grayTest/
接着,创建一个名为grayTest.cpp的代码文件,内容如下:
#include <opencv2/opencv.hpp>
#include <iostream>
int main(int argc, char** argv) {
// 检查输入参数
if (argc != 2) {
std::cerr << "Usage: " << argv[0] << " <image_path>" << std::endl;
return -1;
}
// 读取输入图像
cv::Mat inputImage = cv::imread(argv[1], cv::IMREAD_COLOR);
// 检查图像是否成功加载
if (inputImage.empty()) {
std::cerr << "Error: Could not open or find the image!" << std::endl;
return -1;
}
// 将输入图像转换为灰度图像
cv::Mat grayImage;
cv::cvtColor(inputImage, grayImage, cv::COLOR_BGR2GRAY);
// 将输出图像保存为文件
cv::imwrite("output.jpg", grayImage);
return 0;
}
这段代码是实现了将彩色图像转为灰色图像。
五、编译OpenCV测试程序
以上代码,可以直接使用一行命令编译:
g++ grayTest.cpp -o grayTest \
-I /usr/local/include/opencv4/ -L /usr/local/lib/ \
-l opencv_core -l opencv_imgproc -l opencv_imgcodecs
PS: grayTest.cpp代码中,cv::Mat类的实现位于libopencv_core.so,cv::cvtColor函数的实现位于libopencvc_imgproc.so中,cv::imread和cv::imwrite函数的实现位于libopencv_imgcodecs.so中,因此需要三个-l选项分别指定三个动态库库;
或者,写一个CMakeLists.txt文件,也可以用于以上代码的编译:
cmake_minimum_required(VERSION 3.12)
project(grayTest)
find_package(OpenCV REQUIRED)
add_executable(${PROJECT_NAME}
grayTest.cpp
)
target_link_libraries(${PROJECT_NAME}
PRIVATE opencv_core
PRIVATE opencv_imgproc
PRIVATE opencv_imgcodecs
)
CMake对应的编译命令如下:
# 配置:
cmake -S . -B build/
# 构建(编译):
cmake --build build/
六、运行OpenCV测试程序
编译完成后,将会生成grayTest可执行程序。
运行之前,首先需要一张测试图片,可以从opencv代码仓中下载:
wget https://raw.githubusercontent.com/opencv/opencv/samples/data/lena.jpg
# 或者从之前下载的代码目录里面拷贝:
cp ../opencv-4.11.0/samples/data/lena.jpg .
直接用g++命令编译的grayTest程序,运行命令如下:
LD_LIBRARY_PATH=/usr/local/lib ./grayTest lena.jpg
不加前面的LD_LIBRARY_PATH,执行时会报找不到so的错误。
使用CMake构建出来的grayTest,运行命令如下:
./build/grayTest lena.jpg
CMake编译出来的不需要指定LD_LIBRARY_PATH,原因在于其自带了RUNPATH信息:
输出的output.jpg图像,通过VNC客户端查看如下:
换一张NASA的分辨率图,测试一下处理时间:
还是非常快的,图像分辨率有5332x4622:
图像对比:
七、参考链接
OpenCV官方文档:https://docs.opencv.org/4.x/
树莓派5官方资源:https://www.raspberrypi.com/documentation/
CMake编译指南:https://cmake.org/cmake/help/latest/
- 2025-01-19
-
发表了主题帖:
【Raspberry Pi 5 测评】驾驭无头骑士—— 无显示器操作树莓派5
本帖最后由 xusiwei1236 于 2025-1-20 09:23 编辑
一、硬件开箱
首先,感谢电子工程师世界(EEWorld)组织本次测评活动,同时感谢得捷电子(Digikey)对赞助的开发板——树莓派5(4GB版)。
得捷电子上下单树莓派5之后,前后等了大概两个星期,收到了板子的顺丰快递。快递是从美国发货的,经FedEx送到深圳或者上海,清关之后,再由顺丰快递转发过来;整个过程中,耗时最长的是清关,大概需要一个星期左右,FedEx和顺丰两个加起来一个星期左右。
进入正题之前,首先是大家喜闻乐见的——开箱环节。为了树莓派5测评的顺利进行,收到板子之前,在某宝采购了一些配件,比板子先收到。收到配件后一直没有拆开,为的就是等板子到了之后一起开箱。
首先是板子和新买的配件的大合照:
图中一共有七个东西,分别是:
树莓派5(4G版)
27W电源
PCIE转M.2 NVME固态硬盘扩展板一体式主动散热器(WAVESHARE盒子)
亚克力外壳(磨砂 灰色)(SEEKMAKER盒子)
64GB Micro-SD卡
128GB M.2 2242固态硬盘
RTC电池
拆开树莓派5包装盒:
正面可以看到比较大的几个芯片分别是:
博通(BROADCOM)的BCM2712,中间银白色最大的;
美光(Micron)的内存芯片,4GB,位于主控旁边;
树莓派自研的南桥芯片 RP1,位于内存芯片的右侧;
千兆以太网收发器芯片 BCM54213PE,位于RP1右下角;
瑞萨(Renesas)的电源管理芯片 DA9091,位于左下角;
WiFi/蓝牙模组,位于左上角,金属屏蔽罩封起来了,看不到具体型号信息;
主控芯右下角8脚的小芯片,应该是一个SPI Flash芯片,用于存放固件的,具体型号也看不出来;
接下来,拆开各配件,准备组装:
贴上散热胶贴,准备安装散热器:
装好散热器和固体硬盘:
最后,装好亚克力保护壳:
二、系统安装
树莓派5可以不适用显示器进行系统安装,即所谓的“无头”模式,下面进行介绍。
2.1 安装 Raspberry Pi Imager
Raspberry Pi Imager是树莓派官方的系统安装程序,支持众多操作系统镜像,使用起来非常方便。并且支持配置WiFi热点、设置SSH服务等功能,无头模式强烈推荐使用Imager进行系统安装,会方便很多。
Raspberry Pi Imager下载页面: https://www.raspberrypi.com/software/
Windows系统下载安装包之后,运行按照安装向导操作即可,没啥难度。
2.2 安装 Rasberry Pi OS
安装完Raspbbery Pi Imager之后,就可以使用Imager将操作系统安装到Micro SD卡了。
Raspberry Pi Imager主界面如下:
开始之前,需要先把Micro SD卡插入电脑上。
PS:我的笔记本电脑有SD卡插槽,装上黑色的Micro SD转SD外壳之后可以直接查到笔记本电脑进行读。
插入Micro SD卡之后,Imager界面上依次选择:
Raspberry Pi Device栏选择 Raspberry Pi 5;
写入的操作系统 选择 Raspberry Pi OS 64 bit;
存储卡,选择刚刚插入的SD卡;
然后点击Next,将会弹出设置界面,这一步对于无头模式很关键:
点击“编辑设置”,在弹出OS Customization界面中,设置通用(General)配置:
再设置系统服务(Services):
接着点击“保存”,界面如下:
点击“是”继续,Imager会弹出警告界面,提示此操作会将SD卡上现有数据删除掉(新的SD卡无需注意,老卡的话需要注意先备份):
继续点击“是”,则会开始写入过程,Imager主界面会显示整体进度:
这个过程中,Imager就会联网下载对应的操作系统镜像,并将其写入到SD卡上。因此,需要注意保持网络畅通,并且不要拔掉SD卡!
安装完成后,Imager会弹框提示:
弹框提示系统烧录成功!
三、系统登录
烧录完成后,即可将Micro SD卡从PC上取下,装到树莓派5上。
接下来,上电开机,如无意外,树莓派5启动后会连接Imager配置的WiFi热点。此时,通过树莓派5的绿色指示灯闪烁情况,可以知道系统是否正常运行。正常情况下,系统启动过程中闪烁频率较高,启动后闪烁频率比较低。
3.1 ping测试
通过路由器管理界面可以查看到树莓派5的IP地址,例如,我的树莓派5连接路由器的IP地址是 192.168.3.46,使用ping命令可以测试是否可访问:
或者通过前面设置的主机名,也可以直接在内网找到树莓派设备,例如,我前面设置的rpi5.lcoal,也可以直接ping通:
ping测试成功后,我们就可以使用SSH协议进行登录了。
3.2 SSH登录
打开MobaXterm,新建Session:
host填写rpi5.local,username填写前面设置的,我这里是xu,点击OK后输入密码,登录成功:
成功登入系统。
四、远程桌面
使用VNC协议,可以远程访问桌面。
4.1 启用VNC服务
开始之前,需要先打开树莓派5上的VNC服务,具体方法如下:
使用如下命令打开rasp-config:
sudo raspi-config
上下移动贯标选中Interface Options,按Enter选中;
继续上下选中VNC,按Enter键选中;
在“Would you like the VNC Server to be enabled?”界面,左右移动光标到<Yes>上,按Enter确认;
接着,rasp-config会弹出操作成功的提示:
按Enter确认后,跳转到主界面,按ESC退出rasp-config;
4.2 使用VNC客户端
树莓派官方推荐使用TigerVNC,它是VNCViewer的开源替代,轻量好用,用来连接树莓派够用了。
TigerVNC下载链接:https://sourceforge.net/projects/tigervnc/files/stable/
下载、安装没啥难度,不再赘述。
按照如下步骤连接树莓派5:
打开TigerVNC后,输入树莓派5的IP或主机名;
点击“选项”,在弹出界面中,切换到“输入”标签,选中“无光标时显示一个点”,点确定保存修改:
返回主界面,点“连接”,开始连接到树莓派,弹出认证界面:
输入用户名、密码,点击确定登录:
如果用户名、密码无误,则可以看到成功登录的桌面画面:
五、软件安装
5.1 替换软件源
Raspberry Pi OS使用的包管理器是Advanced Package Tool (APT) ,默认情况下,系统使用的软件源配置文件有两个,分别为:
/etc/apt/sources.list.d/raspi.list
/etc/apt/sources.list
其中,raspi.list的内容为:
deb http://archive.raspberrypi.com/debian/ bookworm main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.com/debian/ bookworm main
/etc/apt/sources.list的内容为:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
中科大开源镜像站有这两个文件对应的软件备份,可以使用科大镜像站对以上两个文件中的URL进行替换。
执行如下命令:
sudo sed \
-e 's|http://archive.raspberrypi.org|http://mirrors.ustc.edu.cn/raspberrypi|g' \
-e 's|http://archive.raspberrypi.com|http://mirrors.ustc.edu.cn/raspberrypi|g' \
-i.bak \
/etc/apt/sources.list.d/raspi.list
sudo sed -i.bak 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
完成上述修改后,运行以下命令以 更新本地软件包列表:
sudo apt update
5.2 安装常用软件
接下来安装j几个常用软件测试一下:
sudo apt install build-essential cmake g++ vim neofetch
使用科大镜像站,下载速度会快很多。
六、参考链接
https://www.raspberrypi.com/software/
https://www.raspberrypi.com/documentation/computers/getting-started.html
https://www.raspberrypi.com/documentation/computers/remote-access.html
https://sourceforge.net/projects/tigervnc/files/stable/
- 2024-12-31
-
回复了主题帖:
2025年测评中心,DigiKey得捷赞助继续,欢迎跟帖推你期待的上线的测品啦~
树莓派500键盘一体机套件
- 2024-12-25
-
回复了主题帖:
测评入围名单:Raspberry Pi 5(树莓派目前性能最强代表)
个人信息无误,确认可以完成测评计划