1. 前言
Ubuntu环境搭建
【Windows10安装或重装ubuntu18.04双系统教程】
【ROS 开发神器 Visual Studio Code 的安装和设置】
【基于Ubuntu18.04+Melodic的realsense D435安装】
ROS学习笔记
【4. ROS的主要通讯方式:Topic话题与Message消息】
我在Ubuntu下配置深度环境的过程可参考:
本篇文章主要参考:
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环境,可参考
然后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 # webcam img.jpg # image vid.mp4 # video path/ # directory path/*.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
- 红外画面测试及效果
在上面终端输入如下,红外画面测试
python3 detect.py --source 2 --weights weights/yolov5m.pt
效果
ctrl+c中止当前终端任务
- RGB画面测试及效果
在上面终端输入如下,RGB画面测试
python3 detect.py --source 4 --weights weights/yolov5m.pt
效果
注意事项:
- 对于深度相机,不能像普通的usb相机一样,opencv打开id直接为0。
- 对于id为2时打开的是红外的画面,id为4打开的是RBG画面。