文章目录

  • 一、效果演示
  • 二、环境配置
  • 三、模型配置
  • 四、相机配置
  • 五、部分代码:
  • 六、仓库链接:

一、效果演示

- Colorimage:

- Colorimage and depthimage:


二、环境配置

1.一个可以运行YOLOv5的python环境

pip install -r requirements.txt

2.一个realsense相机和pyrealsense2库

pip install pyrealsense2

在下面两个环境中测试成功

  • win10 python 3.8 Pytorch 1.10.2+gpu CUDA 11.3 NVIDIA GeForce MX150

  • ubuntu16.04 python 3.6 Pytorch 1.7.1+cpu

三、模型配置

修改模型配置文件,以yolov5s为例。
如果使用自己训练的模型,需要进行相应的修改。

weight:  "weights/yolov5s.pt"
# 输入图像的尺寸
input_size: 640
# 类别个数
class_num:  80
# 标签名称
class_name: [ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light','fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow','elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee','skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard','tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple','sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch','potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone','microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear','hair drier', 'toothbrush' ]
# 阈值设置
threshold:iou: 0.45confidence: 0.6
# 计算设备
# - cpu
# - 0 <- 使用GPU
device: '0'

四、相机配置

分辨率好像只能改特定的参数,不然会报错。d435i可以用 1280x720, 640x480, 848x480。

pipeline = rs.pipeline()  # 定义流程pipeline
config = rs.config()  # 定义配置config
config.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)
profile = pipeline.start(config)  # 流程开始

五、部分代码:

下方代码实现从像素坐标系到相机坐标系转换,并且标注中心点以及三维坐标信息。

for i in range(len(xyxy_list)):ux = int((xyxy_list[i][0]+xyxy_list[i][2])/2)  # 计算像素坐标系的xuy = int((xyxy_list[i][1]+xyxy_list[i][3])/2)  # 计算像素坐标系的ydis = aligned_depth_frame.get_distance(ux, uy)  camera_xyz = rs.rs2_deproject_pixel_to_point(depth_intrin, (ux, uy), dis)  # 计算相机坐标系xyzcamera_xyz = np.round(np.array(camera_xyz), 3)  # 转成3位小数camera_xyz = camera_xyz.tolist()cv2.circle(canvas, (ux,uy), 4, (255, 255, 255), 5)#标出中心点cv2.putText(canvas, str(camera_xyz), (ux+20, uy+10), 0, 1,[225, 255, 255], thickness=2, lineType=cv2.LINE_AA)#标出坐标camera_xyz_list.append(camera_xyz)#print(camera_xyz_list)

六、仓库链接:

代码已上传github:yolov5_d435i_detection

Realsense D435i Yolov5目标检测实时获得目标三维位置信息相关推荐

  1. 目标检测随笔1——目标检测简要综述

    车牌识别demo网址 http://www.openalpr.com/demo-image.html 以下转自: http://imbinwang.github.io/blog/object-dete ...

  2. MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020

    来源 | 微软研究院AI头条(ID: MSRAsia) 编者按:目标检测与目标跟踪这两个任务有着密切的联系.针对目标跟踪任务,微软亚洲研究院提出了一种通过目标检测技术来解决的新视角,采用简洁.统一而高 ...

  3. CVPR 2020丨MAML-Tracker: 用目标检测思路做目标跟踪? 小样本即可得高准确率

    编者按:目标检测与目标跟踪这两个任务有着密切的联系.针对目标跟踪任务,微软亚洲研究院提出了一种通过目标检测技术来解决的新视角,采用简洁.统一而高效的"目标检测+小样本学习"框架,在 ...

  4. 视频目标检测与图像目标检测的区别

    一. 前言 本文介绍了知乎上关于视频目标检测与图像目标检测的区别的几位大佬的回答.主要内容包括有视频目标检测与图像目标检测的区别.视频目标检测的研究进展.研究思路和方法. 作者:Naiyan Wang ...

  5. 目标检测 Chapter1 传统目标检测方法

    文章目录 目标检测问题定义 介绍 目标检测和图像分类.图像分割的区别 目标检测问题方法 传统目标检测 深度学习目标检测 传统 Vs 深度学习 传统目标检测综述 Viola-Jones HOG+SVM ...

  6. 基于深度学习 利用目标检测的方法定位瑕疵位置

    利用目标检测的方法定位瑕疵位置 通过语义分割的方法分割瑕疵(使用传统方法,如二值化等方法分割亦可) 图像分类的方法判断类别 问题:检测手机屏幕表面的瑕疵,在图中画出瑕疵位置并标明瑕疵种类.Screen ...

  7. 目标检测之小目标检测和遮挡问题

    小目标检测trick 小目标难检测原因 小目标在原图中尺寸比较小,通用目标检测模型中,一般的基础骨干神经网络(VGG系列和Resnet系列)都有几次下采样处理: 导致小目标在特征图的尺寸基本上只有个位 ...

  8. coco数据集目标检测论文_目标检测coco数据集点滴介绍

    目标检测coco数据集点滴介绍 1.  COCO数据集介绍 MS COCO 是google 开源的大型数据集, 分为目标检测.分割.关键点检测三大任务, 数据集主要由图片和json 标签文件组成. c ...

  9. 【目标检测】SSD目标检测

    导语 PaddlePaddle提供了丰富的运算单元,帮助大家以模块化的方式构建起千变万化的深度学习模型来解决不同的应用问题.这里,我们针对常见的机器学习任务,提供了不同的神经网络模型供大家学习和使用. ...

最新文章

  1. MySQL/MariaDB基础及简单SQL语句
  2. java socket超时时间_java中socket 默认超时时间 | 学步园
  3. python编程思路不清晰_安利一波Python编程中非常实用的那些黑魔法
  4. 2020(广东)功能性农业大健康大会中国农民丰收节交易会
  5. Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示)
  6. .NET 6新特性试用 | 隐式using指令
  7. AlarmManager使用注意事项
  8. 【数据结构与算法】浅析堆栈以及数据结构的堆和栈
  9. java class多重泛型_多重继承求泛型类的类型
  10. JavaWeb案例(MVC+MySQL+分页功能)+前后端分离
  11. vss2005版本库迁移
  12. 如何使用ps制作ico图标文件
  13. 在职阿里3年,一个27岁女软件测试工程师的心声
  14. springboot集成ueditor百度富文本编辑器及上传图片到oss服务器
  15. 中国(西部)云计算中心投产,将成西部规模最大数据中心
  16. 《黑白团团队》第九次团队作业:Beta冲刺第一天
  17. 阿拉伯数字转换成大写的数字
  18. Python微信公众号教程基础篇——收发文本消息
  19. 如何利用物联网卡平台管理物联卡
  20. 编译原理 实验2 语法分析器的构造

热门文章

  1. 超级惊艳 10款HTML5动画特效推荐
  2. kernel 3.10代码分析--KVM相关--虚拟机运行
  3. C语言 求N分之一序列前N项和,C语言求m分之一序列前n项和
  4. 通过单管道(pipe)实现两个进程间双向通信
  5. S4A+Arduino互动媒体基础教程 第一节 Arduino连接S4A
  6. 衢州市中高级职称评审要点
  7. IDEA创建Maven项目
  8. 音频文件如何转换成MP3格式?一分钟教你搞定
  9. 软件测试面试总被拒怎么办?表姐把压箱底的面试秘籍交给了我,现在已经在上班了。
  10. netty实现简单的rpc,支持服务集群