树莓派部署yolov5实现目标检测(ubuntu22.04.3)

news2025/1/16 14:03:32

最近两天搞了一下树莓派部署yolov5,有点难搞(这个东西有点老,版本冲突有些包废弃了等等)
最后换到ubuntu系统弄了,下面是我的整体步骤(建议先使能一下ssh(最下面有),结合putty来操作):
1.烧完ubuntu镜像后,接显示器按系统流程进行系统部署(大于16G的SD卡),连上热点(2.4GHz,5GHz连不上);
2.Applications进入Terminal,执行以下命令更新系统:

sudo apt-get update
sudo apt-get upgrade 

(遇到y/n,输入y+回车)

python3

查看python版本(本镜像为3.10.12);
3.接下来准备配置虚拟环境(注意后面的包都装在虚拟环境中):
安装venv:

sudo apt-get install python3-venv

创建名为pytorch的虚拟环境:

python3 -m venv pytorch

激活虚拟环境(退出执行deactivate就行了):

source pytorch/bin/activate

安装pip与依赖:

sudo apt install python3-pip
pip install package_name

4.接着安装依赖(虚拟环境中):

sudo apt-get install libopenblas-dev libblas-dev m4 cmake cython3 python3-dev python3-yaml python3-setuptools python3-wheel python3-pil python3-numpy 

5.安装opencv:(注意:这一步会出现error,再重复几次该命令)

pip install opencv-python

检查是否安装好:

python
import cv2

安装好执行exit()退出python;
6.安装torch 与torchvision:
点开火狐浏览器,进入https://download.pytorch.org/whl/torch_stable.html,找到与python版本和系统匹配的两个.whl包下载下来:

cpu/torch-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cpu/torchvision-0.17.1-cp310-cp310-linux_aarch64.whl

顺便进入github,找到yolov5-5.0版本下载下来
把刚转好的三个包移动到与pytorch同一目录下(/home/用户名/),解压yolov5-5.0
回到终端,还是pytorch虚拟环境下执行:(这里会失败几次,多执行几次命令)

pip install torch-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pip install torchvision-0.17.1-cp310-cp310-linux_aarch64.whl

检查是否安装好:

python
import torch
import torchvision
exit()

7.进入解压好的yolov5-5.0,找到requirements.txt把 numpy、opencv-python、torch和torchvision注释(前面加#),执行命令:

cd yolov5-5.0
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

安装完成后,到这里部署已经基本完成了,后面是检测的部分了。
8. 装Thonny用来运行代码:

pip install thonny
sudo apt isntall python3-tk
pip install requests
thonny

没有这个tkinter显示不了页面,运行Thonny执行thonny命令即可。
9.使能ssh,通过WinSCP将windows里面的文件传给树莓派
退出虚拟环境

deactivate
sudo apt-get install openssh-server
sudo ps -e | grep ssh
sudo systemctl enable --now ssh

查看树莓派ip,直接查看连接热点的设备,最后去WinSCP官网https://winscp.net/eng/download.php下载软件即可,注意传文件的时候需要电脑和树莓派连着同一个热点。
下面是树莓派运行的结果:没有优化的网络运行起来帧率很低不适合实时监测

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1569484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Macbook文件清理软件 Mac电脑清理垃圾文件怎么清理

为了维护Macbook电脑的系统健康,我们需要定期给电脑进行全面清理,清除系统垃圾文件、软件缓存和系统内存。那么好用的Macbook文件清理软件有哪些呢?今天就给大家介绍几款好用的电脑清理软件并介绍Mac电脑清理垃圾文件怎么清理。 一、Macbook…

RPA自动化小红书自动化写文以及发文!

1、视频演示 RPA自动化小红书自动写作发文 2、核心功能点 采集笔记:采集小红书上点赞量大于1000的爆款笔记 下载素材:下载爆款笔记的主图 爆款改写:根据爆款笔记的标题仿写新的标题以及新的文案 自动发布:将爆款笔记发布到小红…

Django之REST Client插件

一、接口测试工具介绍 在开发前后端分离项目时,无论是开发后端,还是前端,基本都是需要测试API接口的内容,而目前我们需要开发遵循RESTFul规范的项目,也是必然的(自己不开发前端页面)。 在网上有很多这样的工具,常用的postman,但还是需要下载安装。在这我们介绍一个VSCod…

【GEE实践应用】GEE下载遥感数据以及下载后在ArcGIS中的常见显示问题处理(以下载哨兵2号数据为例)

本期内容我们使用GEE进行遥感数据的下载,使用的相关代码如下所示,其中table是我们提前导入的下载遥感数据的研究区域的矢量边界数据。 var district table;var dsize district.size(); print(dsize);var district_geometry district.geometry();Map.…

51入门之LED

目录 1.配置文件 2.点亮一个LED 2.1单个端口操作点亮单个LED 2.2整体操作点亮LED 3.LED闪烁 4.LED实现流水灯 4.1使用for循环和移位实现 4.1.1移位操作符 4.1.2使用移位操作和for循环实现 4.2使用移位函数实现LED流水灯 众所周知,任何一个硬件工程师…

go juc 线程中的子类

1.go test() 主死随从 package mainimport ("fmt""strconv""time" )func test() {for i : 1; i < 10; i {fmt.Println("hello " strconv.Itoa(i))//阻塞time.Sleep(time.Second)} } func main() {//开启协程go test()for i : 1; …

GT收发器64B66B协议(2)自定义PHY设计

文章目录 前言一、设计框图二、GT_module三、PHY_module3.1、PHY_tx模块3.2、PHY_rx_bitsync模块3.3、PHY_rx模块 四、上板测试 前言 有了对64B66B协议的认识以及我们之前设计8B10B自定义PHY的经验&#xff0c;本文开始对64B66B自定义PHY的设计 一、设计框图 二、GT_module …

什么是redis缓存的雪崩、穿透以及击穿

缓存雪崩 举个例子&#xff0c;例如在双十一中&#xff0c;一点进去。访问量大&#xff0c;所以它很多数据是放在redis区缓存起来&#xff0c;对应redis的100个key。然后假设设置缓存失效时间是三小时。当双十一期间&#xff0c;购物超过这个三小时之后。这个首页的redis缓存会…

Excel、PowerQuery 和 ChatGPT 终极手册(上)

原文&#xff1a;Ultimate ChatGPT Handbook for Enterprises 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 序言 在不断发展的数据管理和分析领域中&#xff0c;掌握 Excel 的查找功能不仅是一种技能&#xff0c;更是高效数据处理的基石。《使用 Power Query 和 Ch…

Red Hat Enterprise Linux release 8.4安装Jenkins

1. 查看安装 1.1 显示 Linux 系统的详细信息&#xff0c;包括内核版本、操作系统版本和其他相关信息 uname -a1.2 查看 Red Hat Linux 系统的版本 cat /etc/redhat-release # 或者 cat /etc/os-release1.3 查看 JDK 是否安装 java -version #查看安装路径 echo $JAVA_HOME1…

Docker 哲学 - docker swarm

Docker Swarm 模式下的集群管理和服务恢复机制 Docker Swarm 是 Docker 的集群管理和编排功能。在 Swarm 模式下&#xff0c;你可以将多个 Docker 主机组合成一个虚拟主机&#xff0c;称为 Swarm 集群。Swarm 集群由一个或多个管理节点&#xff08;manager nodes&#xff09;和…

前端开发基础(HTML5 + CSS3)【第一篇】:HTML标签之文字排版、图片、链接、音频、视频 涵盖了两个综合案例 做到了基础学得会,实战写的出

点击前往前端开发基础专栏&#xff1a; 文章目录 HTML5 CSS3 开发一、开发环境搭建下载 VS Code1. 2 插件的下载1.3 项目和文件的下载 二、 什么是 HTML2.1 标签的语法2.2 代码演示&#xff1a;2.3 小结 三 、HTML基本骨架3.1 快捷键生成HTML骨架3.2 代码展示3.3 小结 四、标…

【游戏逆向】逆向基础之寄存器和内存

寄存器是中央处理器内的组成部分 它们可用来暂存指令、数据和地址。 具有这样功能还有内存 我们这里说的内存都是指虚拟内存。 寄存器和虚拟内存的主要区别在于它的存储和读取速度更快&#xff0c;那么有的同学会说&#xff0c;那我们全用寄存器就好了&#xff0c;但是&…

NOI - OpenJudge - 2.5基本算法之搜索 - 1490:A Knight‘s Journey - 超详解析(含AC代码)

点赞关注吧~ 1490:A Knights Journey 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. When…

数据仓库面试总结

文章目录 1.什么是数据仓库&#xff1f;2.ETL是什么&#xff1f;3.数据仓库和数据库的区别&#xff08;OLTP和OLAP的区别&#xff09;4.数据仓库和数据集市的区别5.维度分析5.1 什么是维度&#xff1f;5.2什么是指标&#xff1f; 6.什么是数仓建模&#xff1f;7.事实表7.维度表…

StarRocks实战——华米科技埋点分析平台建设

目录 前言 一、原有方案及其痛点 二、引入StarRocks 三、方案改造 3.1 架构设计 3.2 数据流程 3.3 性能指标 3.4 改造收益 前言 华米科技是一家基于云的健康服务提供商&#xff0c;每天都会有海量的埋点数据&#xff0c;以往基于HBase建设的埋点计算分析项目往往效率上…

号卡极团分销管理系统 index.php SQL注入漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

在ssh 工具 Linux screen会话中使用鼠标进行上下滚动

经过几次发现 除xshell外&#xff0c; WindTerm finalshell MobaXterm 都是进入会话后&#xff0c;发现其界面无法滚动屏幕向上查看 如果想要在Linux screen会话中使用鼠标进行上下滚动。必须首先进入该screen的回滚(scrollback模式)才能进行上下滚动 第一步&#xff…

RobotFramework测试框架(2)-测试用例

创建测试数据 测试数据语法 这里的测试数据就是指的测试用例。 测试文件组织 测试用例的组织层次结构如下&#xff1a; 在测试用例文件&#xff08; test case file &#xff09;中建立测试用例 一个测试文件自动的建成一个包含了这些测试用例的测试集&#xff08; test s…

TCP/IP协议、HTTP协议和FTP协议等网络协议包简介

文章目录 一、常见的网络协议二、TCP/IP协议1、TCP/IP协议模型被划分为四个层次2、TCP/IP五层模型3、TCP/IP七层模型 三、FTP网络协议四、Http网络协议1、Http网络协议简介2、Http网络协议的内容3、HTTP请求协议包组成4、HTTP响应协议包组成 一、常见的网络协议 常见的网络协议…