Jetson Nano 部署YOLOv8并运行检测例子程序

凌顺实验室(lingshunlab.com)
介绍了如何在Jetson Nano 上部署YOLOv8并运行简单的示例程序检测图像。这样就能玩更多人工智能的项目。

img

YOLOv8 文档:
https://docs.ultralytics.com/

YOLOv8 Github:
https://github.com/ultralytics/ultralytics

YOLO的Python版本需要时3.8或以上,

Jetson Nano jetpack的Python版本一般是3.6,

所以需要升级,或者在虚拟机中安装python3.8版本的python解析器

安装环境

硬件信息:

Jetson Nano 4G B01

软件信息:

Package: nvidia-jetpack
Version: 4.6.4-b39
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-l4t-jetson-multimedia-api (>> 32.7-0), nvidia-l4t-jetson-multimedia-api (<< 32.8-0), nvidia-cuda (= 4.6.4-b39), nvidia-tensorrt (= 4.6.4-b39), nvidia-nsight-sys (= 4.6.4-b39), nvidia-cudnn8 (= 4.6.4-b39), nvidia-opencv (= 4.6.4-b39), nvidia-container (= 4.6.4-b39), nvidia-visionworks (= 4.6.4-b39), nvidia-vpi (= 4.6.4-b39)

R32 (release), REVISION: 7.4, GCID: 33514132, BOARD: t210ref, EABI: aarch64, DATE: Fri Jun 9 04:25:08 UTC 2023

Python 3.6.9
pip 21.3.1

虚拟环境下:

Python 3.8
pip 22.3.1

本文讲以在虚拟环境下安装YOLOv8的方式进行。

建立虚拟环境

我们首先要建立一个python3.8的虚拟环境,但在创建虚拟环境前,必须在主机上安装好python3.8的解析器。

安装python3.8解释器

输入以下命令,进系安装python3.8的解析器:

sudo apt-get install python3.8

安装完成后,并不影响系统原本自带的python3.6版本的解析器

通过以下命令,验证是否安装成功

python3.8

image-20230719145654462

安装虚拟环境软件

使用以下命令进行安装:

pip install virtualenv

或者

python3 -m pip install virtualenv

创建指定Python版本的虚拟环境

例如,我们虚拟环境需要指定的Python版本是3.8,

则输入以下命令进行创建:

virtualenv -p python3.8 myenv
  • myenv:是虚拟环境的名称,可以随你喜好定义

在当前目录使用ls可以看到多了一个名为「myenv」的目录,这就是刚创建的虚拟环境的存放目录

进入虚拟环境

source myenv/bin/activate

image-20230719150819135

这样就进入了名为「myenv」的虚拟环境。

命令行,输入「python」,就可以看到当前的python版本就是我们指定的版本。

image-20230719150949229

退出当前虚拟环境的命令是 deactivate

在虚拟环境中部署YOLOv8

推荐使用Pip的安装方法,在命令行中输入:

# Install the ultralytics package using pip
pip install ultralytics

其他安装方法,例如Conda, Git clone,Docker请查看文档:

https://docs.ultralytics.com/quickstart/#install-ultralytics

安装过程中,可能遇到的问题

错误提示:Failed building wheel for psutil Failed to build psutil

image-20230717132907019

   [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for psutil
Failed to build psutil
ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects

通过以下命令,可以解决:

sudo apt-get install python3.8-dev

安装完之后,继续运行之前的YOLOv8安装命令。

完成部署YOLOv8

安装完成,我们可以通过以下命令查看YOLOv8的版本信息:

pip show ultralytics

image-20230719152833265

在Jupter-lab中添加虚拟环境的Python内核

保持在虚拟环境中,输入以下命令安装ipykernel:

pip install ipykernel

很快就完成安装,之后在命令行中输入以下命令,即可把内核添加到Jupyter-lab中:

python -m ipykernel install --user --name=myenv

重启Jupyter-lab,或者干脆重启机器。

重新打开Jupter-lab,即可见到新添加的虚拟环境内核:

u354h34jj32

运行YOLOv8程序——检测图像

from ultralytics import YOLO

# 加载的模型,如果首次使用,将会自动下载
model = YOLO('yolov8n.pt')  

# 检测指定图片,save为true则会另外保存检测结果的图片
results = model('image.jpg', save=True)  

输出的图片将会保存在程序的当前目录下的「 runs/detect/predict」中

Jupyter NoteBook的例程截图:

image-20230719154450880

结果测试:

WX20230719-1547522x

可能遇到的错误

错误提示:No module named ‘cpuinfo’

安装py-cpuinfo可以解决问题,在命令行输入以下命令:

pip install py-cpuinfo