【Ubuntu18.04使用yolov5教程】

news/2024/11/30 15:39:31/
  • 欢迎大家阅读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画面。

http://www.ppmy.cn/news/58991.html

相关文章

Spark大数据处理讲课笔记3.3 掌握RDD分区

文章目录 零、本讲学习目标一、RRD分区(一)RDD分区概念(二)RDD分区作用 二、RDD分区数量(一)RDD分区原则(二)影响分区的因素(三)使用parallelize()方法创建RD…

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

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

【C++】线程库

文章目录 线程库(thread)线程安全锁实现两个线程交替打印1-100 线程库(thread) 在C11之前,涉及到多线程问题,都是和平台相关的,比如Windows和Linux下各有自己的接口,这使得代码的可…

SpringBoot日志文件

日升时奋斗,日落时自省 目录 1、日志功能 2、SpringBoot内置日志框架 3、日志打印 3.1、日志格式说明 3.2、手动打印日志 4、日志级别 4.1、级别的作用 4.2、日志级别的分类和使用 4.3、日志打印 4.3.1、类进行日志打印 4.3.2、类名进行日志打印 4.4、…

Linux网络编程:三次握手 四次挥手

1. 三次握手 建立TCP可靠连接,只能是客户端先发起。 (1)SYN标志位为1,表示请求建立连接;ACK标志位为1,表示确认收到对方报文。 (2)seq为数据包序列号,ack为确认序列号。…

入门力扣自学笔记264 C++ (题目编号:2432)

2432. 处理用时最长的那个任务的员工 题目: 共有 n 位员工,每位员工都有一个从 0 到 n - 1 的唯一 id 。 给你一个二维整数数组 logs ,其中 logs[i] [idi, leaveTimei] : idi 是处理第 i 个任务的员工的 id ,且 l…

Flink系列-11、Flink DataStream的Sink

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址:https://flink.apache.org/ 学习资料:https://flink-learning.org.cn/ 目录 Flink在批处…

BetaFlight统一硬件配置文件研读之serial命令

BetaFlight统一硬件配置文件研读之serial命令 1. 源由2. 代码分析3. 实例分析4. 配置情况5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解耦。 1. 源由 cli命令中serial是对UART串口的配置,通常情况下BetaFli…