我们来探索如何在树莓派上部署并运行 YOLO 人工智能目标检测模型。本教程内容十分详尽,本文仅分享核心的安装步骤;完整教程可查阅最新一期《树莓派官方杂志》第 70–77 页。
https://magazine.raspberrypi.com/issues/162
边界框旁边的数字表示模型对检测到的目标识别的置信度;在这个例子中,模型有88%的把握认定这是一只狗。
YOLO(You Only Look Once,单次检测)是由Ultralytics创建的一款强大的目标检测模型,它支持用户通过命令行和Python识别图像和视频中的内容。还可以使用代码对图像或视频进行分类和响应。https://docs.ultralytics.com/
将YOLO与树莓派摄像头模块配对使用,可构建强大的目标识别系统,让树莓派根据识别结果触发传感器、执行器等外设,实现实时识别与响应;也可用于分析本地或在线的图像、视频文件。
使用YOLO下载图像并进行推理
YOLO26刚刚发布,我们在这里使用的是YOLO26n模型。它是专门为提高速度、准确性和通用性而定制的。既可以开箱即用YOLO,也可以使用自己的数据集对其进行训练。
https://platform.ultralytics.com/ultralytics/yolo26
在本教程中,我们将学习如何使用图像和视频文件(包括在线和计算机系统中的文件)安装Ultralytics框架。我们还将学习如何设置Docker,以便安装所需的环境和程序。
YOLO26n模型对从Ultralytics网站下载的公交车图像进行推理
本教程不需要树莓派摄像头模块,但建议使用性能较强的设备(如树莓派 5)——本教程使用的是树莓派5。在后续的教程中,我们将学习如何集成树莓派摄像头模块。
安装Docker
使用树莓派操作系统设置树莓派5(设置步骤请参见《树莓派文档》)。
https://www.raspberrypi.com/documentation/
我们先在树莓派操作系统中安装Docker引擎。
我们将一只猫的图像上传到Ultralytics实例并进行了推理
将Docker添加到apt
要安装Docker引擎,你应运行基于Debian Trixie的最新版树莓派操作系统(该系统也适用于Bookworm和Bullseye)。
https://www.raspberrypi.com/software/operating-systems/
这些说明遵循Debian版Docker文档指南。
https://docs.docker.com/engine/install/debian/
Docker提供了单独的树莓派安装说明,但这些说明是针对旧版32位树莓派操作系统的,因此请使用Debian版安装说明。
我们在Thonny中的Python代码与YOLO26 Docker实例一起执行图像识别
首先,确保已卸载任何旧的Docker软件包。打开终端窗口并输入:
$ sudo apt remove $(dpkg --get-selectionsdocker.io docker-compose docker-doc podmandocker containerd runc | cut -f1)
接下来,我们将Docker的官方GNU隐私保护(GPG)密钥添加到keyrings文件夹中。首先,我们更新apt,然后安装ca-certificates和curl:
$ sudo apt update$ sudo apt install ca-certificates curl
这些应该已经安装好了。我们确保keyrings目录具有正确的权限:0755。这使文件所有者(我们的管理员账户)能够进行读、写和执行操作;为组和其他用户设置的权限仅为读和执行。我们使用一个通常用于复制文件的奇特安装命令来完成此操作,在此实例中,它是用于调整权限的:
$ sudo install -m 0755 -d /etc/apt/keyrings
现在,我们使用curl下载Docker的GPG密钥,并将其放入keyrings目录中,文件名为docker.asc:
$ sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
我们需要确保所有用户都能读取docker.asc文件。使用带有a+r选项的标准chmod命令来完成此操作:
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
接下来是一段多行代码,它在我们的/etc/apt/目录中创建一个名为docker.sources的文件,其中包含Docker存储库的详细信息。输入第一行后,你会在终端中看到一个>。请仔细输入每一行,并在每一行后按RETURN键。每一行都会添加到docker.sources文本文件中,直到你输入EOF(此时你将返回到命令行):
$ sudo tee /etc/apt/sources.list.d/docker.sources <<EOFTypes: debURIs: https://download.docker.com/linux/debianSuites: $(. /etc/os-release && echo "$VERSION_CODENAME")Components: stableSigned-By: /etc/apt/keyrings/docker.ascEOF
检查docker.sources文件是否已正确创建:
$ cat /etc/apt/sources.list.d/docker.sources
输出内容应如下所示,其中Suites是你的操作系统(trixie)的VERSIONC_ODENAME:
Types: debURIs: https://download.docker.com/linux/debianSuites: trixieComponents: stableSigned-By: /etc/apt/keyrings/docker.asc
如果出现问题,请使用vim或nano编辑文件:
$ sudo nano /etc/apt/sources.list.d/docker.sources
检查更新
现在更新系统并检查对Docker下载的访问权限:
$ sudo apt update
输出内容应包括这样一行:
Get:5 https://download.docker.com/linux/debian trixie InRelease [32.5 kB]
安装Docker
现在Docker存储库已添加到apt中,可以安装各个元素了。在终端中输入这一行:
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin dockercompose-plugin
安装完成后,Docker应自动运行。要验证Docker是否正在运行,请使用:
$ sudo systemctl status docker
按q退出systemctl并返回到命令行。某些系统可能已禁用此行为,需要手动启动:
$ sudo systemctl start docker
最后,通过运行hello-world镜像来验证安装是否成功:
$ sudo docker run hello-world
如果是首次运行,它将从Docker Hub拉取library/hello-world容器。你将看到一条包含以下内容的消息:
Hello from Docker!
这条消息表明你的安装工作正常。
官方网站:https://edatec.cn/zh/cm0
淘宝店铺:https://edatec.taobao.com/
369