障碍物检测算法开发-(1)三种测距算法技术路线和实际应用
一.项目背景
目前在研究激光雷达和相机做障碍物检测算法开发,主要应用场景为远距离下的目标障碍物检测。
二.主要实现算法
本次主要实现了三种算法,具体实现后期补充,先进行算法的梳理和记录:
1.纯点云数据处理,当测量距离比较近的时候,点云稠密度高,且点云的z轴代表了目标的距离,可以利用PCL库对点云数据进行处理,通过聚类实现目标提取和测距。
原始点云:
处理后,使用addcube加入立体检测框:
2.激光雷达和相机的联合标定,当测量距离远,点云密度开始降低,之间分析点云相对困难,可以通过目标检测算法识别目标,再通过点云投影到图像中,在目标检测框内的点云为当前目标的距离。
3.双目立体视觉,距离远,点云几乎没有时,可以通过双目视觉算法获得距离+目标检测获取障碍物的目标大小,需要进行双目视觉的标定。可通过立体匹配或者特征匹配算法进行处理
(1)特征匹配算法
特征匹配后,直接左右x相减,获得视差值。带入公式计算距离。
(2)双目视觉处理后的视差图转点云图:
视差图:
点云图:
对点云图进行点云算法处理,降采样,聚类等操作,获得目标。
三.技术路线
1.纯点云数据处理
算法步骤包括:
(1)点云限界处理
(2)点云降采样
(3)点云分割
(4)点云聚类
(5)绘制立体边界框
2.激光雷达和相机的联合标定
算法步骤包括:
(1)使用棋盘格进行标定;
(2)使用cloudcompare对点云进行处理,将棋盘格点云数据分离出来,提高联合标定的准确率和精度;
(3)使用matlab对相机进行单目标定,获得相机的内参和畸变系数;
(4)使用matlab进行激光雷达和相机联合标定,获得tform下的旋转、平移矩阵。
(5)使用(3)(4)获得的参数对点云进行投影,当在图像中获得目标位置时,查看当前目标框内是否存在点云数据,使用该区域内的点云数据z值作为距离。
3.双目立体视觉算法
算法步骤包括:
(1)采用平行式双目立体视觉方法,两个相机相互平行,相机参数相同;
(2)制作大的标定板,最好覆盖整个相机视野的一半以上,两个相机各自采集大于20张图的数据。
(2)使用matlab对两个相机的图像进行联合标定,获得相机各自的内参、畸变系数和共有的旋转、平移矩阵;
(3)使用opencv对(2)中获得的参数进行应用,对两图像进行立体校正,保证y在同一个位置
(4)立体校正完成后,使用立体匹配算法获取视差图,视差图获得到可以进行两个方向的研究:
第一个是将视差图转换为点云图,采用1中纯点云算法提取目标;
第二种是通过特征匹配ORB、SURF算法匹配YOLO目标检测后两个相机的图像目标,由于已经做过立体校正,直接计算x方向的差(即视差值)就可以直接得到距离。
四.注意事项
1.激光雷达的测量范围有限,在测量距离>100米时,采用双目处理效果更好;
2.测量距离近时,可以根据点云稠密度选择纯点云数据处理和激光雷达+相机;
3.标定板的制作和选取根据测量距离进行调整,经过前期大量的标定和实验,建议标定板制作大一些,特别是远距离测量时,我使用的标定板每一格是400 * 400mm的,大小在2米 * 5米
4.标定过程中,尽量覆盖整个相机视野位置,不同角度、倾斜、翻转标定板采集图像;
5.matlab中删除投影误差较大的图像,如果采集数量太少,会导致最后能用的图过少,标定结果不准确。
障碍物检测算法开发-(1)三种测距算法技术路线和实际应用相关推荐
- AutoSAR开发的三种方法:自上而下式、自下而上式、混合式
目录 一.简介 二.三种集成方法 1.自上而下法 2.自下而上法 3.混合式法 三.总结 一.简介 autosar的架构主要分为三层:应用层.RTE层.BSW层:应用层主要是行为建模实现,使用simu ...
- Xdelta3 bsdiff Courgette三种差分算法比较
今天介绍常用的三种差分算法,分别是Xdelta3 bsdiff Courgette. Xdelta3 官网地址: http://xdelta.org 源码地址:https://github.com/j ...
- python 三种聚类算法(K-means,AGNES,DBScan)
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan) 更新时间:2019年06月27日 14:44:44 作者:weixin_42134141 这篇文章主要介绍了pyth ...
- 近似装箱问题(三种联机算法实现)
[0]README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 "近似装箱问题(三种联机算法实现)" 的idea 并用源代码加以实现: 0.2) 近似 ...
- 三种Hash算法对比以及秒传原理.
三种Hash算法对比以及秒传原理 CRC (32/64) MD5 Sha1 分5个点来说 1.校验值长度 2.校验值类别 3.安全级别 4.应用场景 1).校验值长度 CRC(32/64) 分别 ...
- 常用的三种线性模型算法--线性回归模型、岭回归模型、套索回归模型
常用的三种线性模型算法–线性回归模型.岭回归模型.套索回归模型 线性模型基本概念 线性模型的一般预测模型是下面这个样子的,一般有多个变量,也可以称为多个特征x1.x2.x3 - 最简单的线性模型就是一 ...
- 20172328 蓝墨云实验——三种查找算法练习
20172328 蓝墨云实验--三种查找算法练习 课程:<软件结构与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志强老师 实验日期:2018年10月1 ...
- 微信小程序开发的三种模式
摘要:截止到2018年6月底,正式上线发布的微信小程序已超过100万个.而越来越多的公司也已经在做微信小程序开发,许多人会觉得"微信小程序开发是开发者们的专利".答案是否定的,今天 ...
- 直立车模控制中三种滤波算法简单分析(清华卓晴)
摘自:https://mp.weixin.qq.com/s/WbCh0NFAnsf9y2blQenf7g 让我想起余义的一篇文章也是说到平衡车有三种滤波,我想和卓晴说的是一样的吧. https://b ...
最新文章
- LeetCode-笔记-394. 字符串解码
- 轻量级自动化运维工具Fabric的安装与实践
- Java 8 - Optional全解
- DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
- Java线程死锁–案例研究
- 2019第三届中国通信业物联网大会邀请函
- 论文 计算机动态网页的制作,毕业论文 动态网页制作学习网站的设计与实现
- 【webpack】从零开始学webpack
- IE6layout元素自动包含浮动元素
- PHP中巧用curl 并发减少获取第三方网页内容时间
- 单循环赛 贝格尔编排法实现
- png批量转换成jpg
- 三级网络技术--宽带接入技术--XDSL
- windows11 这个男神到底值得用吗?——一个男神的传奇
- win7计算机不能设置双屏怎么回事,win7怎么设置双屏显示?Win7双屏显示设置的方法...
- 墒情监测站智慧农研高标准农田设施
- 全面、详细的SQL学习指南(MySQL方向)
- 王者荣耀扫码登录教程,扫码登录王者荣耀怎么弄?
- linux clamav定时扫描,linux-clamAV
- 做人智慧之低调做人、高调做事