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

【Ubuntu18.04使用yolov5教程】

  • 欢迎大家阅读2345VOR的博客【Ubuntu18.04使用yolov5教程】🥳🥳🥳
  • 2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号👻👻👻,座右铭:脚踏实地,仰望星空🛹🛹🛹
  • 本文章属于《Ubuntu学习》和《ROS机器人学习》
    :这里主要是记录Ubuntu下简单使用yolov5测试检测效果的过程,我是使用realsense d435i摄像头的RGB图像。👍👍👍

在这里插入图片描述

1. 前言

Ubuntu环境搭建
【经典Ubuntu20.04版本U盘安装双系统教程】
【Windows10安装或重装ubuntu18.04双系统教程】
【Ubuntu同步系统时间】
【Ubuntu中截图工具】
【Ubuntu安装QQ】
【Ubuntu安装后基本配置】
【Ubuntu启动菜单的默认项】
【ubuntu系统中修改hosts配置】
【18.04Ubuntu中解决无法识别显示屏】
【ROS 开发神器 Visual Studio Code 的安装和设置】
【基于Ubuntu18.04+Melodic的realsense D435安装】
【Ubuntu18配置Anaconda深度学习环境】
ROS学习笔记
【1. Ubuntu18.04安装ROS Melodic】
【2. 在Github上寻找安装ROS软件包】
【3. 初学ROS,年轻人的第一个Node节点】
【4. ROS的主要通讯方式:Topic话题与Message消息】
【5. ROS机器人的运动控制】
【6. 激光雷达接入ROS】
【7. ROS 中的 IMU 惯性测量单元消息包】

我在Ubuntu下配置深度环境的过程可参考:

【Ubuntu18配置Anaconda深度学习环境】

本篇文章主要参考:

Ubuntu下使用yolov5
https://github.com/ultralytics/yolov5

这里参考的github上的yolo v5程序版本和功能比较全面,图片、视频、摄像头实时画面都可以使用,可以以这个程序为基础进行修改。

2. yolov5源码配置

源码地址; https://github.com/ultralytics/yolov5
在这里插入图片描述

2.1 下载文件

首先使用CTRL+alt+t命令下载文件到~/yolov5_test文件夹下,然后准备开始VScode配置和安装相关依赖

git clone https://github.com/ultralytics/yolov5.git yolov5_test

主目录如下文件
在这里插入图片描述

2.2 用VScode打开

进入主目录,打开终端输入code yolo,tab 回车用vscode打开,vscode可参考
【ROS 开发神器 Visual Studio Code 的安装和设置】
在这里插入图片描述
首先使用CTRL+shift+p命令: 打开命令交互面板, 在命令面板中可以输入命令进行搜索(中英文都可以),然后执行。命名面板中可以执行各种命令,包括编辑器自带的功能和插件提供的功能
在打开的命令面板中输入下述命令,如下图所示:

Python: Select Interpreter

在这里插入图片描述选择已经配置好的torch环境,可参考
【Ubuntu18配置Anaconda深度学习环境】
在这里插入图片描述
然后ctrl+shift+`
打开终端

在这里插入图片描述期待下面的操作啦!

2.3 安装相关依赖

接着上面的操作,在终端中输入下面指令,下载相关依赖。如下是添加了清华镜像,下载速度比国外源快。

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --ignore-installed

一定要完全安装,需要下载好几个G的文件包,否则后面实验会报乱七八糟的错误。反馈如下
在这里插入图片描述

3. 运行detect例子

3.1 语法说明

详细的可以参考https://github.com/ultralytics/yolov5中的README.md

  • source:是选择测试例的来源
$ python detect.py --source 0  # webcamimg.jpg  # imagevid.mp4  # videopath/  # directorypath/*.jpg  # glob'https://youtu.be/Zgi9g1ksQHc'  # YouTube'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream
  • weights:是选择模型,如果weights文件夹里有权重则直接使用,没有就下载,PyTorch框架的权重文件后缀为.pt,,也可等运行时自动下载
# weights: yolov5m, yolov5l, yolov5x, custom
python3 detect.py --source ./data/images/ --weights weights/yolov5s.pt

3.2 测试图片

图片在/data/images文件下,分别是如下两张
在这里插入图片描述
在这里插入图片描述

在终端输入如下

clear
python3 detect.py --source ./data/images/ --weights weights/yolov5s.pt

效果:

在这里插入图片描述

(mytorch) robot@ms:~/yolov5_test$ python3 detect.py --source ./data/images/ --weights weights/yolov5s.pt
detect: weights=['weights/yolov5s.pt'], source=./data/images/, data=data/coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
YOLOv5 🚀 v7.0-162-gc3e4e94 Python-3.8.0 torch-2.0.0+cu117 CUDA:0 (NVIDIA GeForce RTX 3060, 12051MiB)Fusing layers... 
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
image 1/2 /home/robot/yolov5_test/data/images/bus.jpg: 640x480 4 persons, 1 bus, 29.9ms
image 2/2 /home/robot/yolov5_test/data/images/zidane.jpg: 384x640 2 persons, 2 ties, 29.0ms
Speed: 0.3ms pre-process, 29.5ms inference, 0.5ms NMS per image at shape (1, 3, 640, 640)
Results saved to runs/detect/exp14

检测出图片内容如下,效果还不错,一张0.03秒,基本都识别出来了。

image 1/2 /home/robot/yolov5_test/data/images/bus.jpg: 640x480 4 persons, 1 bus, 29.9ms
image 2/2 /home/robot/yolov5_test/data/images/zidane.jpg: 384x640 2 persons, 2 ties, 29.0ms
Speed: 0.3ms pre-process, 29.5ms inference, 0.5ms NMS per image at shape (1, 3, 640, 640)

3.3 测试RealSense摄像头实时图像

RealSense摄像头可以采用以下教程配置,主要调用SDK
的图像配置。
【基于Ubuntu18.04+Melodic的realsense D435安装】
在上面终端输入如下,首先查看USB占用情况

lsusb

在这里插入图片描述

  1. 红外画面测试及效果

在上面终端输入如下,红外画面测试

python3 detect.py --source 2 --weights weights/yolov5m.pt

效果
在这里插入图片描述ctrl+c中止当前终端任务

  1. RGB画面测试及效果
    在上面终端输入如下,RGB画面测试
python3 detect.py --source 4 --weights weights/yolov5m.pt

效果
在这里插入图片描述

注意事项:

  1. 对于深度相机,不能像普通的usb相机一样,opencv打开id直接为0。
  2. 对于id为2时打开的是红外的画面,id为4打开的是RBG画面。

相关文章:

【Ubuntu18.04使用yolov5教程】

欢迎大家阅读2345VOR的博客【Ubuntu18.04使用yolov5教程】🥳🥳🥳2345VOR鹏鹏主页: 已获得CSDN《嵌入式领域优质创作者》称号👻👻👻,座右铭:脚踏实地,仰望星空…...

CocoaPods如何发布新版本的Pod Library

当我们修改了一个Pod Library中的代码时,如何让依赖该库的项目能更新到最新代码,步骤如下: 假设现在修改了SamplePod(Pod名称)的代码,希望将最新版本更新到1.0.1,目前版本是1.0.0 修改SamplePo…...

v4l2框架

v4l2框架 文章目录 v4l2框架框架1.硬件相关层uvc_probeuvc_register_chainsuvc_register_termsuvc_register_video 2.核心层__video_register_device 3.虚拟视频驱动vivid分析入口vivid_init注册vivid平台驱动vivid_probevivid_create_instance 框架 1.硬件相关层 driver/medi…...

vue项目中生成LICENSE文件

vue项目中生成LICENSE文件 简介 LICENSE 文件是一个文本文件,它包含了你的项目所使用的开源软件的许可证信息。 在开发过程中,我们经常会使用到各种各样的第三方开源软件,这些软件是有版权和许可证的,我们在使用时需要遵循它们的…...

NewBing最新更新使用体验(无需等待人人可用)

NewBing最新更新使用体验 微软Bing爆炸级更新!无需等待人人可用! 今天,微软突然官宣全面开放BingChat: 无需任何等待。只需注册一个账户,首页即可体验。 NewBing最新更新新特性官方文档 https://www.microsoft.com/en-…...

欧拉奔赴品牌2.0时代,女性汽车真实用户需求被定义?

每年的上海国际汽车工业展览会,不仅是各大汽车品牌的技术“秀场”,也是品牌的营销“修罗场”。今年上海车展出圈的营销事件特别多,热度甚至一再蔓延到汽车行业外,其中欧拉也贡献了不少流量。 据了解,在2023上海车展欧…...

机器视觉工程师,听我一句劝,别去外包,干了三年,废了....对女人没了兴趣

​外包三年,干了就废,最后只会安装软件。 对于年轻人来说,需要工作,更需要生活。 对于年轻人来说,需要努力,更需要“面包”。 对于年轻人来说,需要规划,更需要发展。 对于外包,虽说废的不是很彻底,但那三年几乎是出差了三年、玩了三年、荒废了三年,那三年,技术…...

PBDB Data Service:Special parameters(特殊参数)

Special parameters(特殊参数) 描述参数1:下列参数在大部分请求中可用2:以下参数只与文本格式(.csv, .tsv, .txt)相关 描述 本文将介绍一组特殊参数,它们几乎可以在此数据服务的任何请求中使用…...

腾讯云轻量应用服务器使用限制说明(十大限制)

腾讯云轻量应用服务器和云服务器CVM相比具有一些限制,比如轻量服务器不支持更换内网IP地址,轻量服务器只能套餐整体升级且不支持降配,轻量不支持用户自定义配置私有网络VPC,还有如实例配额、云硬盘配额、备案限制和内网连通性等限…...

Python每日一练(20230507) 丑数I\II\III、超级丑数

目录 1. 丑数 Ugly Number I 2. 丑数 Ugly Number II 3. 丑数 Ugly Number III 4. 超级丑数 Super Ugly Number 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 丑数 Ugly Number I …...

K8S常见异常事件与解决方案

集群相关 Coredns容器或local-dns容器重启 集群中的coredns组件发生重启(重新创建),一般是由于coredns组件压力较大导致oom,请检查业务是否异常,是否存在应用容器无法解析域名的异常。 如果是local-dns重启,说明local-dns的性能…...

测试5年从中兴 15K 跳槽去腾讯 32K+16,啃完这份笔记你也可以

粉丝小王转行做测试已经是第5个年头,一直是一个不温不火的小职员,本本分分做着自己的事情,觉得自己的工作已经遇到了瓶颈,一个偶然的机会,获得了一份软件测试全栈知识点学习笔记,通过几个月的学习&#xff…...

CentOS 临时IP与永久IP配置

CentOS 临时IP与永久IP配置 CentOS是一种广泛使用的Linux发行版,通常用于服务器和企业网络中。在安装和配置CentOS服务器时,必须为其配置IP地址以便访问。在本文中,我们将介绍如何在CentOS中配置临时IP地址和永久IP地址。 临时IP地址配置 临…...

集线器、网桥、交换机

一.集线器 集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在…...

api接口怎么用?

API接口是一种应用程序编程接口,它允许不同的软件应用程序之间进行通信和交互。通过使用API接口,开发人员可以轻松地将自己的应用程序集成到其他应用程序中,从而实现更丰富的功能和更好的用户体验。 API接口的使用方法一般包括以下几个步骤&a…...

Bad minute in crontab?

ERROR 详细 修改crontab出现如下错误: crontab: installing new crontab “/tmp/crontab.MswKCq”:0: bad minute errors in crontab file, can’t install. Do you want to retry the same edit? n crontab: edits left in /tmp/crontab.MswKCq 根因定位 通过…...

【二维矩阵如何存储在一维数组中(行优先和列优先)】

列优先和行优先的性能取决于具体的硬件架构和代码访问模式。在现代计算机中,内存访问的局部性(locality of reference)对性能至关重要。局部性分为两类:时间局部性(temporal locality)和空间局部性(spatial locality)。时间局部性表示最近访问过的数据项很可能在不久的…...

使用Gradle7.6+SpringBoot 3.0+java17创建微服务项目

系列文章目录 学习新版本,菜鸟一枚 会持续更新的 文章目录 系列文章目录前言一、搭建项目1.1、创建git仓库1.1.1、登录gitee,新建仓库1.1.2、得到如下命令(新建仓库使用创建git仓库 即可) 1.2、使用IDEA创建项目1.2.1、开发工具1.…...

pandas使用教程:apply函数、聚合函数agg和transform

文章目录 apply函数调用apply函数描述性统计apply函数lambda自定义 聚合函数aggregate/agg用字典实现聚合 transform函数多函数 Transform 重置索引与更换标签行重置索引行和列同时重置索引 apply函数调用 apply函数描述性统计 import numpy as np df.loc[:,Q1:Q4].apply(np.…...

使用rasterio裁剪遥感影像

文章目录 0. 数据准备1. polygon的坐标系转换1.1 polygon生成1.1.1 输入数据是shapefile1.1.2 输入数据是polygon 1.2 搞清楚遥感的坐标系和polygon的坐标系(重点)1.3 开始转换 2. 基于polygon的遥感影像裁剪2.1 基础裁剪方法2.1.1 使用rasterio保存2.1.2 使用numpy保存2.2 多线…...

数据库连接优化:DBeaver连接阻塞问题的系统解决方案

数据库连接优化:DBeaver连接阻塞问题的系统解决方案 【免费下载链接】dbeaver DBeaver 是一个通用的数据库管理工具,支持跨平台使用。* 支持多种数据库类型,如 MySQL、PostgreSQL、MongoDB 等;提供 SQL 编辑、查询、调试等功能&am…...

SpringBoot+Vue 毕业设计效率提升实战:从脚手架到自动化部署的全链路优化

SpringBootVue 毕业设计效率提升实战:从脚手架到自动化部署的全链路优化 毕业设计是每个计算机相关专业学生必须跨越的一道坎。回想我自己的经历,以及身边同学的故事,一个普遍的现象是:大家往往在技术选型和环境搭建上就耗费了大量…...

从座舱芯片到指尖触控:聊聊高通8155/8295上那个你可能没注意到的Virtio Touch框架

从座舱芯片到指尖触控:高通8155/8295中的Virtio Touch框架解析 当你的手指在车载中控屏上滑动时,一组坐标数据正以微秒级速度穿越两个操作系统——这背后是高通座舱芯片中鲜为人知的Virtio Touch框架在发挥作用。作为连接QNX Hypervisor与Android系统的神…...

Proxmox VE虚拟化实战:如何给MikroTik RouterOS配置PCI直通网卡(ROS 6.44.2实测)

Proxmox VE虚拟化实战:MikroTik RouterOS PCI直通网卡性能优化指南 在虚拟化环境中部署网络设备时,性能损耗一直是困扰技术人员的核心问题。当我们需要在Proxmox VE上运行MikroTik RouterOS作为软路由时,传统的virtio虚拟网卡方案往往无法满足…...

Cadence导出Gerber文件保姆级教程:从Database Check到嘉立创预览,一步不落

Cadence导出Gerber文件全流程实战:从设计验证到生产准备的深度指南 第一次在Cadence Allegro中导出Gerber文件时,那种面对几十个参数选项的手足无措感我至今记忆犹新。作为电子设计自动化(EDA)领域的工业标准工具,Cadence的强大功能背后是复杂…...

Phi-4-Reasoning-Vision简单调用:Python API封装与REST接口调用示例

Phi-4-Reasoning-Vision简单调用:Python API封装与REST接口调用示例 1. 项目概述 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡4090环境优化。该工具严格遵循官方SYSTEM PROMPT规范&#xf…...

BilibiliDown终极实战指南:解锁B站视频批量下载的完整方案

BilibiliDown终极实战指南:解锁B站视频批量下载的完整方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirro…...

LiuJuan20260223Zimage v1.0作品集:当传统工笔画遇见AI生成

LiuJuan20260223Zimage v1.0作品集:当传统工笔画遇见AI生成 1. 引言:一次跨越时空的艺术对话 想象一下,你拍了一张现代都市的夜景,或者设计了一张充满未来感的数字海报,然后,你把它交给一位深谙宋元笔法的…...

3步搞定Windows 11优化:用Win11Debloat让你的电脑更快更干净

3步搞定Windows 11优化:用Win11Debloat让你的电脑更快更干净 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简…...

单轴晶体中的偏振转换

摘要 当线偏振光聚焦并通过单轴晶体传播时,即使沿着光轴方向,不同的偏振分量之间也可能会发生复杂的转换。这种现象可以应用于例如产生涡旋光。以方解石晶体为例,这个用例在VirtualLab Fusion中证明了单轴晶体中的偏振转换。并且可以观察到…...