当前位置: 首页 > news >正文

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

[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.mrgr.cn/news/48957.html

相关文章:

  • CSP-J
  • SBB Local Interface 详解
  • select poll epoll 的区别和联系 以及 应用场景
  • 代码随想录打卡Day57
  • 自动猫砂盆真的有必要吗?买自动猫砂盆不看这四点小心害死猫。
  • Linux内核 -- 文件系统之超级块 super_operations 字段作用与用法
  • 过滤器和拦截器的区别是什么?
  • Jain SLEE 中 Addresses
  • 机器学习中的模型设计与训练流程详解
  • SQL优化 where谓词条件is null优化
  • 秋窗的一周年创作纪念日
  • 【fisco学习记录2】多群组搭建
  • ZYNQ使用XGPIO驱动外设模块(前半部分)
  • vue拖拉拽
  • 文件传输遗漏
  • mysql学习教程,从入门到精通,SQL 约束(Constraints)(41)
  • 【机器学习】逻辑回归|分类问题评估|混淆矩阵|ROC曲线|AUC指标 介绍及案例代码实现
  • leetcode209:长度最小的子数组
  • LeetCode刷题日记之回溯算法(一)
  • 有了WPF后Winform还有活路吗?