[Raspberry Pi]如何在Ubuntu的python venv虛擬環境中,運行YOLOv5 物件辨識功能?

devtools/2024/10/19 14:37:14/

[YOLOv5 I Raspberry pi 4B]Object Detection test with Image and Video by yolov5s.

延續<[Python]如何在Ubuntu中建置python venv虛擬環境,並安裝TensorFlow和OpenCV函式庫?>文章,當建置 TensorFlow (2.10.0) 和 OpenCV (4.9.0) 的 Python 虛擬環境後,接續進一步安裝 YOLOv5 的相關套件,並在 Raspberry Pi 4B 上完成物件辨識功能,步驟如下。

1. Update and upgrade

sudo apt update 
sudo apt upgrade

2.安裝YOLO視覺相關安裝依賴包

sudo apt install build-essential cmake pkg-config 
sudo apt install libjpeg-dev libtiff5-dev libpng-dev 
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev 
sudo apt install libxvidcore-dev libx264-dev 
sudo apt install libgtk-3-dev sudo apt install libatlas-base-dev gfortran 
sudo apt install python3-dev

安裝依賴包的說明如下:

- build-essential: 包含了一些用於編譯 C/C++ 軟體包的基本工具(如 gcc, g++, make)。
- cmake: 一個跨平台的編譯器,能自動產生用於建置、測試和打包軟體的腳本。
- pkg-config: 一個用來管理編譯時所需的函式庫路徑的工具。
- libjpeg-dev: 支援 JPEG 影像格式的開發庫。
- libtiff5-dev: 支援 TIFF 影像格式的開發庫。
- libjasper-dev: 支援 JPEG-2000 影像格式的開發庫。
- libpng-dev: 支援 PNG 映像格式的開發庫。
- libavcodec-dev: 包含音視頻編解碼庫,來自 FFmpeg。
- libavformat-dev: 支援不同格式的音視頻容器檔案。
- libswscale-dev: 用於視訊縮放和格式轉換。
- libv4l-dev: 視訊擷取庫,用於支援攝影機等視訊裝置。
- libxvidcore-dev: Xvid 影片編解碼庫的開發庫。
- libx264-dev: H.264/MPEG-4 AVC 視訊編碼庫的開發庫。
- libgtk-3-dev: GTK+ 3 圖形使用者介面庫的開發文件,用於影像介面的顯示。
- libatlas-base-dev: 用於線性代數運算的 ATLAS 函式庫。
- gfortran: GNU Fortran 編譯器,用於科學計算函式庫的編譯。
- python3-dev: Python 開發頭檔和函式庫,用於編譯需要與 Python 進行介面的 C 擴充模組。

3.安裝PyTorch和YOLOv5

利用source指令進入已建立的python 虛擬環境(以本文為例,即為tensorflow_env),並在該虛擬環境中安裝PyTorch和YOLOv5,如此一來,可運行YOLOv5的獨立虛擬環境就被建立完成了。 
source tensorflow_env/bin/activate 
#Install PyTorch and other necessary Python packages 
pip install torch torchvision
# Clone the YOLOv5 repository and install requirements 
git clone https://github.com/ultralytics/yolov5 
cd yolov5 
pip install -r requirements.txt

4.驗證是否安裝成功

利用USB攝像頭做為影像輸入源(source 0),並選擇yolov5s.pt模型來運行detect.py,若有出現上述視頻的辨識影像效果,即是完成安裝。
python detect.py --source 0 --weights yolov5s.pt
這僅是建置YOLOv5環境的方式之一,同時其尚有不同模型可做測試,包含yolov5s.pt, yolov5m.pt, yolov5l.pt,另外,還可進一步訓練客製化數據,完成屬於客製化的場景應用。若有需求,可自行參考 YOLOv5手冊。

http://www.ppmy.cn/devtools/127035.html

相关文章

Python 数值计算与数值分析基础

Python 数值计算与数值分析基础 示例演示 当涉及到Python数值计算和数值分析时&#xff0c;下面是20个示例&#xff0c;涵盖了一些常见的用法&#xff1a; 1.数值积分&#xff1a; 在 Python 中&#xff0c;你可以使用 scipy.integrate 模块中的 quad 函数来进行数值积分 …

cartographer在ros和vscode上进行debug

一、概述 因为在对代码进行了解之后&#xff0c;需要运行过程中对代码进行调试&#xff0c;因而需要配置cartographer的Debug配置。 二、具体实现 &#xff08;一&#xff09;版本 使用Ubuntu20.04&#xff0c;vscode&#xff0c;ros-noetic&#xff0c;cartographer &#…

第21~22周Java主流框架入门-Spring 3.SpringJDBC事务管理

Spring JDBC模块与事务管理课程总结 1. 课程介绍 本课程主要讲解Spring框架中的JDBC模块及其事务管理的相关内容&#xff0c;重点包括以下三个方面&#xff1a; Spring JDBC模块及核心对象JDBC Template的使用 通过学习如何使用Spring JDBC模块&#xff0c;了解JDBC Template…

RabbitMQ 高级特性——死信队列

文章目录 前言死信队列什么是死信常见面试题死信队列的概念&#xff1a;死信的来源&#xff08;造成死信的原因有哪些&#xff09;死信队列的应用场景 前言 前面我们学习了为消息和队列设置 TTL 过期时间&#xff0c;这样可以保证消息的积压&#xff0c;那么对于这些过期了的消…

使用Docker启动的Redis容器使用的配置文件路径等问题以及Python使用clickhouse_driver操作clickhouse数据库

一、使用Docker启动的Redis容器使用的配置文件路径等问题 1.docker启动的redis使用的配置文件路径是什么 使用docker搭建redis服务&#xff0c;本身redis启动的时候可以指定配置文件的&#xff0c; redis-server /指定配置文件路径/redis.conf。 但手上也没有一个redis配置文件…

408算法题leetcode--第37天

1049. 最后一块石头的重量 II 题目地址&#xff1a;1049. 最后一块石头的重量 II - 力扣&#xff08;LeetCode&#xff09; 题解思路&#xff1a;01背包 时间复杂度&#xff1a;O(n*m) 空间复杂度&#xff1a;O(m) 代码: class Solution { public:int lastStoneWeightII(…

Java基于SSM微信小程序物流仓库管理系统设计与实现(源码+lw+数据库+讲解等)

选题背景 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

JS中Array的常用方法

文章目录 1. 创建和初始化数组2. 添加和删除元素3. 查找元素4. 遍历数组5. 数组转换6. 排序和反转7. 其他方法 JavaScript 中的 Array 对象提供了许多常用的方法&#xff0c;这些方法可以帮助你更方便地操作数组。以下是一些常用的 Array 方法及其用法&#xff1a; 1. 创建和…