YOLOv5/v8 + 双目相机测距

news2024/9/29 17:37:32

yolov5/v8+双目相机测距的代码,需要相机标定


可以训练自己的模型并检测+测距,都是python代码
已多次实验,代码无报错。

非常适合做类似的双目课题!



相机用的是汇博视捷的双目相机,具体型号见下图。
用的yolov5是6.1版本的


Yolov8是8.0.58版本的
看清楚版本-



立体匹配算法是改进的SGBM算法,具体是在后处理阶段加了WLS最小二乘算法,使测距更精确
具体精确度也和相机标定有关,我标定后1m左右距离误差为3%左右
默认用的我的相机参数,只能对测试视频进行测距,需要改成你自己的双目相机参数和设置分辨率!

项目介绍:YOLOv5/v8 + 双目相机测距

项目背景:

本项目结合了YOLOv5/v8(目标检测框架)与双目相机(测距),实现了对目标的实时检测和测距功能。该项目使用的是汇博视捷的双目相机,具体型号已在项目文档中详细列出。所使用的YOLOv5版本为6.1,YOLOv8版本为8.0.58。请注意版本兼容性和依赖关系。

项目特点:
  1. 目标检测:使用YOLOv5/v8进行目标检测,能够快速准确地识别目标物体。
  2. 测距功能:结合双目相机,实现了对目标物体的距离测量功能。
  3. 相机标定:提供了相机标定的功能,确保测距的准确性。
  4. 改进的SGBM算法:在立体匹配算法的基础上,加入了WLS最小二乘算法,提高了测距的精确度。
主要功能:
  1. 目标检测:基于YOLOv5/v8,可以训练自己的目标检测模型,并用于实时检测。
  2. 测距:利用双目相机获取的图像数据,实现对目标物体的距离测量。
  3. 相机标定:提供了相机标定的代码,可以根据实际情况调整相机参数,以获得更准确的测距结果。
技术栈:
  • YOLOv5:版本6.1,用于目标检测。
  • YOLOv8:版本8.0.58,用于目标检测。
  • Python:主要编程语言。
  • 双目相机:汇博视捷双目相机,具体型号请查看项目文档。
  • SGBM算法:立体匹配算法,改进后加入了WLS最小二乘算法。
实现步骤:
  1. 安装依赖:确保安装了YOLOv5/v8的正确版本及相关依赖。
  2. 相机标定:使用提供的代码进行相机标定,获取相机参数。
  3. 训练模型:使用YOLOv5/v8训练自己的目标检测模型。
  4. 测距实现:将目标检测结果与双目相机的测距功能相结合,实现目标测距。
测试与验证:
  • 测距精度:经过多次实验验证,标定后的相机在1米左右的距离上,测距误差约为3%。
  • 适用范围:适用于需要同时进行目标检测与测距的场景,如机器人导航、工业检测等。
注意事项:
  • 相机参数:默认使用了项目作者的相机参数,如果使用其他双目相机,请调整相机参数和分辨率设置。
  • 版本兼容性:请确保YOLOv5/v8的版本与项目代码兼容。
项目结构:
  • main.py:主程序入口,负责启动目标检测和测距流程。
  • camera_calibration.py:相机标定脚本。
  • detection.py:目标检测模块,使用YOLOv5/v8进行检测。
  • stereo_matching.py:立体匹配模块,使用改进的SGBM算法进行测距。
  • config.ini:配置文件,包含相机参数和其他设置。
如何开始:
  1. 克隆仓库:从GitHub仓库中克隆该项目。
  2. 安装依赖:按照README文件中的指示安装所有必要的依赖。
  3. 运行程序:按照README中的指示运行主程序。
  4. 测试数据:使用测试视频进行初步测试。
项目优势:
  • 高效性:YOLOv5/v8提供了高效的检测速度。
  • 精确性:改进的SGBM算法提高了测距的精确度。
  • 灵活性:可以根据实际需求调整相机参数和其他设置。

 

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

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

相关文章

Spring Boot集成Akka remoting快速入门Demo

1.什么是Akka remoting? Akka-Remoting一种ActorSystem之间Actor对Actor点对点的沟通协议.通过Akka-Remoting来实现一个ActorSystem中的一个Actor与另一个ActorSystem中的另一个Actor之间的沟通 Akka Remoting限制: 不支持NAT(Network Add…

使用Java实现一个简单的B树

1.B树简介 B树是一个搜索树,数据结构可以抽象成如二叉树一样的树,不过它有平衡、有序、多路的特点。 平衡:所有叶子节点都在同一层。有序:任一元素的左子树都小于它,右子树都大于它。多路:B树的每个节点最多…

深入链表的遍历——快慢指针算法(LeetCode——876题)

今天我们一起来学习一下一个快速遍历链表的方法 我们先来看看一道经典的需要遍历链表的题目 (题目来自LeetCode) 876. 链表的中间结点https://leetcode.cn/problems/middle-of-the-linked-list/ 给你单链表的头结点 head ,请你找出并返回链…

C++多态 学习

目录 一、多态的概念 二、多态的实现 三、纯虚函数和多态类 四、多态的原理 一、多态的概念 多态:多态分为编译时多态(静态多态)和运行时多态(动态多态)。编译时多态主要是我们之前学过的函数重载和函数模板,他们在传不同类型的参数就可以调用不同的函…

diff 命令:文本比较

一、diff 命令简介 ​diff ​命令是一个用于比较两个文件并输出它们之间差异的工具。它是文件比较的基本工具,广泛用于源代码管理、脚本编写和日常的文件维护工作中。 ‍ 二、diff 命令参数 diff [选项] 文件1 文件2选项: ​-b​ 或 --ignore-space…

光伏选址和设计离不开气象分析!

都说光伏选址和设计离不开气象分析,气象条件对太阳能发电影响较大,具体有哪些影响呢?今天我就来讲解下。 - 太阳辐射:太阳辐射的强度是光伏发电的首要因素,对光伏发电有着重要的影响。太阳辐射的强度决定了光伏发电系…

信息安全数学基础(14)欧拉函数

前言 在信息安全数学基础中,欧拉函数(Eulers Totient Function)是一个非常重要的概念,它与模运算、剩余类、简化剩余系以及密码学中的许多应用紧密相关。欧拉函数用符号 φ(n) 表示,其中 n 是一个正整数。 一、定义 欧…

LVGL学习

注:本文使用的lvgl-release-v8.3版本,其它版本可能稍有不同。 01 LVGL模拟器配置 day01-02_课程介绍_哔哩哔哩_bilibili LVGL开发教程 (yuque.com) 如果按照上述视频和文档中配置不成功的话,直接重装VsCode,我的就是重装以后就…

[Visual Stuidio 2022使用技巧]2.配置及常用快捷键

使用vs2022开发WPF桌面程序时常用配置及快捷键。 语言:C# IDE:Microsoft Visual Studio Community 2022 框架:WPF,.net 8.0 一、配置 1.1 内联提示 未开启时: 开启后: 开启方法: 工具-选…

torch.linspace() torch.arange() torch.stack() 函数详解

1 torch.linspace函数详解 torch.linspace(start, end, steps100, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse) → Tensor 函数的作用是,返回一个一维的tensor(张量),这个张量包含了从start到end…

【专题】2024新能源企业“出海”系列之驶向中东、东南亚报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p37698 在“双碳”目标引领下,中国新能源产业近年迅猛发展,新能源企业凭借技术革新、政策支持与市场驱动实现快速增长,在产业链完备、技术领先、生产效能及成本控制等方面优势显著。面对国内外环境…

单向循环链表

文章目录 🍊自我介绍🍊单向循环链表 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 Hello,大家好,我是小珑也要变强(也是小珑&…

Linux(3)--CentOS8下载、安装

文章目录 1. CentOS简介2. 下载3. 使用VmWare安装CentOS4. 第一次使用 1. CentOS简介 这个版本我个人比较推荐大家学习,为何?因为容易学习所以不难入门。 2. 下载 可以从国内的开源镜像站下载,这样比较快,例如阿里巴巴开源镜像…

C语言-整数和浮点数在内存中的存储-详解-上

C语言-整数和浮点数在内存中的存储-详解-上 1.前言2.整数2.1无符号整数2.2原码、反码、补码符号位最大值转换过程补码的意义简化算术运算易于转换方便溢出处理 1.前言 在C语言的使用中,需要时刻关注数据的类型,不同类型交替使用可能会发生错误&#xff…

GPT-4-Turbo 和 Claude-3.5-Sonnet 图片识别出答题的是否正确 进行比较

1、比较的图片: 使用GPT-4-Turbo 输入的 提问: 识别图片中的印刷字和手写字,如果写错的给一个正确答案 图片 回复: 在图片中,印刷字显示的是一系列的英语填空练习题,而手写字则是填入空白处的答案。以…

[XILINX] 正点原子ZYNQ7015开发板!ZYNQ 7000系列、双核ARM、PCIe2.0、SFPX2,性能强悍,资料丰富!

正点原子ZYNQ7015开发板!ZYNQ 7000系列、双核ARM、PCIe2.0、SFPX2,性能强悍,资料丰富! 正点原子Z15 ZYNQ开发板,搭载Xilinx Zynq7000系列芯片,核心板主控芯片的型号是XC7Z015CLG485-2。开发板由核心板&…

【刷题】Day3--错误的集合

hello!又见面啦~~~ 一道习题,要长脑子了...... 【. - 力扣(LeetCode)】 【思路】 /*** Note: The returned array must be malloced, assume caller calls free().*/void Bubble_sort(int arr[], int size) {int temp;for (int i…

Unity 粒子系统参数说明

一、Particle System 1. Duration(持续时间) 粒子系统运行一次所需的时间。它决定粒子系统持续播放的时间长度。 2. Looping(循环播放) 如果启用,粒子系统将在播放完一次后自动重新开始播放,直到你停止它…

北斗赋能万物互联:新质生产力的强劲驱动力

在数字化转型的大潮中,中国自主研制的北斗卫星导航系统,作为国家重大空间基础设施,正以前所未有的力量推动着万物互联时代的到来,成为新质生产力发展的重要基石。本文将深入剖析北斗系统如何以其独特的技术优势和广泛应用场景&…

【vue】vue3+ts对接科大讯飞大模型3.5智能AI

如今ai步及生活的方方面面,你是否也想在自己的网站接入ai呢&#xff1f;今天分享科大讯飞大模型3.5智能AI对接。 获取APPID、APISecret、APIKey 讯飞开放平台注册登录控制台创建自己的应用复制备用 准备工作做好,直接开始上代码了。 源码参考 <script setup lang"t…