【树莓派部署Ultralytics YOLO保姆级教程——B站视频同步】手把手教学,小白友好!

请添加图片描述

B站视频同步教程

B站同步视频教程:树莓派部署Ultralytics YOLO(1)环境配置与烧录
B站同步视频教程:树莓派部署Ultralytics YOLO(2)ssh安装与连接
B站同步视频教程:树莓派部署Ultralytics YOLO(3)Miniconda安装
B站同步视频教程:树莓派部署Ultralytics YOLO(4)Ultralytics YOLO环境配置
B站同步视频教程:树莓派部署Ultralytics YOLO(5)系统镜像备份


1. 镜像烧录

Ubuntu 24.01树莓派镜像:下载地址
win32diskimager:镜像写入工具官网下载地址
SD Card Formatter:格式化工具官网下载地址

user:pi
passwd:123456

查看设备型号文件:在终端中运行以下命令可以查看设备型号

cat /sys/firmware/devicetree/base/model

查看架构信息

uname -m

查看Ubuntu 的版本信息

lsb_release -a

2. 远程连接

2.1 更换软件源(可选)

# 做个备份
sudo cp /etc/apt/sources.list  /etc/apt/sources.list.bak
# 编辑文件内容 把文件里的内容全部替换成下面的清华源
sudo nano /etc/apt/sources.list
# 这个时候你会发现更新速度很快很快
sudo apt-get update		    # apt的资源列表,没有真正的对系统执行更新
sudo apt-get upgrade		# 把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。

armv7清华源

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi

Ubuntu清华源

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse

2.2 安装ssh

sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl status ssh

2.3 安装vim

sudo apt-get update
sudo apt install vim

3. 深度学习环境搭建

3.1 安装Miniconda

3.1.1 下载

Miniconda清华源镜像,选择aarch64版本,该操作系统对应的miniconda3的版本不要超过4.10

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.9.2-Linux-aarch64.sh
3.1.2 安装
chmod +x ./Miniconda3-py39_4.9.2-Linux-aarch64.sh
./Miniconda3-py39_4.9.2-Linux-aarch64.sh

source ~/.bashrc

source后进入base环境即安装成功

3.1.3 换源

conda换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

pip 换源

# 中科大源
pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple
# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
# 阿里源和豆瓣源有些包不全
3.1.4 创建环境
conda create -n yolov8 python=3.9	# 创建环境
conda activate yolov8				# 激活环境
conda env remove --name yolov8		# 删除环境
conda create -n pytorch --clone base # 克隆环境
3.1.5 设置默认启动环境(可选择)
# 非自动启动base环境
conda config --set auto_activate_base false

# 指定默认启动环境
vim ~/.bashrc
conda activate yolov8	# 在.bashrc文件末尾添加
source ~/.bashrc

4. Ultralytics YOLO部署

安装依赖

# clone慢的话直接下载到本地
git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .

5. 参考文献

  1. torch for aarch64

  2. 树莓派4B64位系统安装miniconda(折腾了几天终于解决)

  3. 查看Debian版本号的方法

  4. 树莓派软件源在线配置工具

  5. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

  6. Linux系统nano编辑器快捷键和使用完全指南

### 实现YOLO人脸识别于树莓派 #### 准备工作 为了在树莓派部署YOLO进行人脸识别,需先完成一系列准备工作。确保已安装最新版本的操作系统并更新软件包列表[^3]。 #### 安装依赖库 安装必要的开发工具链和Python库是必不可少的环节。具体来说,需要安装CMake用于编译源码;OpenCV提供图像处理功能支持;Dlib则为人脸特征提取所必需。这些可以通过官方文档指导或使用包管理器apt-get来简化操作过程[^2]。 #### 获取YOLO模型文件 下载预训练好的YOLO权重文件及其对应的配置文件(cfg),可以从Darknet官网或其他开源平台获得。注意选择适合移动设备运行的小型化网络结构如Tiny-YOLOv3以适应树莓派较低性能的特点[^5]。 #### 编写测试程序 编写一段简单的Python脚本来加载上述准备好的YOLO模型并对摄像头捕获的画面执行推理任务: ```python import cv2 import numpy as np # 加载 YOLO 模型 net = cv2.dnn.readNet("yolov3-tiny.weights", "yolov3-tiny.cfg") layer_names = net.getLayerNames() output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()] cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() height, width, channels = frame.shape blob = cv2.dnn.blobFromImage(frame, 0.00392, (416, 416), (0, 0, 0), True, crop=False) net.setInput(blob) outs = net.forward(output_layers) class_ids = [] confidences = [] boxes = [] for out in outs: for detection in out: scores = detection[5:] class_id = np.argmax(scores) confidence = scores[class_id] if confidence > 0.5 and class_id == 0: # 假设类别索引0代表'person' center_x = int(detection[0] * width) center_y = int(detection[1] * height) w = int(detection[2] * width) h = int(detection[3] * height) x = int(center_x - w / 2) y = int(center_y - h / 2) boxes.append([x, y, w, h]) confidences.append(float(confidence)) class_ids.append(class_id) indexes = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4) font = cv2.FONT_HERSHEY_PLAIN colors = np.random.uniform(0, 255, size=(len(classes), 3)) for i in range(len(boxes)): if i in indexes: x, y, w, h = boxes[i] label = str(classes[class_ids[i]]) color = colors[i] cv2.rectangle(frame, (x, y), (x + w, y + h), color, 2) cv2.putText(frame, label, (x, y + 30), font, 3, color, 3) cv2.imshow('Frame',frame) key=cv2.waitKey(1)&0xFF if(key==ord('q')): break cv2.destroyAllWindows() ``` 这段代码实现了从USB摄像头上读取实时视频流,并利用预先训练过的YOLO模型对其进行分析处理的功能。当检测到人体时会在画面上绘制矩形框标记位置[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只云卷云舒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值