xusiwei1236

  • 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(树莓派目前性能最强代表)

    个人信息无误,确认可以完成测评计划

统计信息

已有97人来访过

  • 芯积分:323
  • 好友:4
  • 主题:18
  • 回复:49

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言