车载测试:详解ADAS传感器(相机)标定数据采集方法

news2024/12/23 15:38:13

1.基本原理

相机外参标定,通过拍摄多角度棋盘格标定相机外参。

2.外参标定板设计

标定板分为垂直标定板和水平标定板,由于地面的水平标定板不容易被检测到,本文采用垂直标定板进行相机标定。

在标定过程中标定板需要和车身坐标成正交状态,也就是标定板垂直边需要和地平面垂直、水平边需要和水平面垂直,且与车身中轴线保持水平状态,这里推荐设计标定板支架,利用支架调整标定板位置,具体的标定板设计如下图所示,标定板通过底部支架保证上下边缘与地平面水平。

标定板与支架示意图

3.垂直标定板摆放

垂直标定板的摆放如下图所示,这里需要注意,标定板在标定相机时需要和自身朝向的车身中轴线保持垂直。标定板可以在保证垂直的条件下前后左右进行移动以便于相机拍摄到较为清晰完整的标定板图像。

标定板摆放示意图

为了便于固定标定板和车身的位置,我们首先需要确认车身处于水平面上,车辆所在地的地面不能有不平或者较明显的斜坡,在水平场景上我们采取以下步骤在地面上画出车身坐标系,具体操作如下:

A为了画出前后水平线,这里分别找到车辆前后对称点,如下图A红色点。

B通过铅锤在地面画下标记,分别连接前后两个点得到平行于车前后保险杠的两条线,如下图B红色线

C由于前后的点是对称的,此时可以通过两个点得到车身的中轴线和前后水平线的交点(就是前后对称点的中点),如下图C蓝色点,蓝色点相连接就是车身中轴线。

D分别从前后水平线的中点向左右延长相等的距离(比如延长1.5m),获取两侧的对称点,如下图D黄色点,黄色点和车身垂直轴距离相等。

E之后用水平激光仪画在延长对称点出垂直于前后水平线上的点,如图E左侧图中浅蓝色线。

F这里可以看作从车上前方向车身后方通过激光直角尺画垂直线,查看垂直线和后方水平线的交点,如图F所示,下方线上黄色的点是通过下方水平线延长得到的点,下方紫色的点是依据前方线和点通过直角尺画垂直线与后水平线的交点,我们需要保证这两个点之间的差值小于4cm,才能保证车身外侧的边框符合车身坐标系。

通过以上操作我们就得到了车身相关的外接长方形,只需要保证标定板和地面上的线平行就可以保证标定板和车身坐标系水平,又由于标定板通过支架保证了其与地面的水平关系,因此标定板可以正交与车身坐标系。

4.标定板外参图像拍摄

将标定板按照车身坐标系摆放后即可拍摄相对的外参图像,外参图像拍摄要求相如下:

  1. 标定板光照要均匀,防止标定板上存在阴影或者光斑反射对算法识别标定板造成影响;

  2. 由于相机存在畸变且安装存在一定的角度,当标定板存在一定角度朝向相机时标定板棋盘格会有较大的形变,在识别算法中无法识别,所以要保证拍摄的标定板图像畸变不能太大,即拍摄过程中相机光轴和标定板法线夹角不能太大;

  3. 每张拍摄的标定板图片要拍摄到完整的标定板;

  4. 标定板的多张图片加起来的范围需要尽可能覆盖相机的视野;

  5. 标定板需要尽可能平展,不能有明显褶皱;

  6. 黑白方格为方形,大小一致,方格尺寸不限,可在图像中清晰分辨即可,建议30mm左右;

  7. 棋盘格标定需要拍摄多张棋盘格图片,通常为20-30张;

具体拍摄效果如下图,下图中上面两幅图符合要求,下面两幅图左边的有一定反光,右边的有阴影,会影响标定效果。

5.标定图像后处理

上述过程采集的图像作为输入给到感知组进行内外参算法,最后经过域控对摄像头图片进行拼接&对齐标定文件,流程如下图所示:

6.总结

以上介绍的就是相机标定的一种基本方法,那么什么样的场景需要做相机的标定呢?总结来说,一切涉及到图像坐标转换的应用都需要做相机标定,例如汽车360度环视系统、3D目标检测等。

最后:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试持续集成、测试架构开发测试框架、性能测试等。

这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

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

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

相关文章

中国人民大学与加拿大女王大学金融硕士——所有的为时已晚都是恰逢其时

你是否有过同样的感觉,工作之余想学点什么又觉得有点晚了,心里反复纠结,总是没个结果。记得在网上看到过一句话,你觉得为时已晚的时候,恰恰是最早的时候。与其在心里反复琢磨,不如去付诸行动。中国人民大学…

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 pytest 结合 allu…

Android-源码分析-MTK平台BUG解决:客户电池NTC功能(移植高低温报警,关机报警功能)---第一天分析与解决

MTK平台BUG解决:客户电池NTC功能 一、概述二、步骤1:实现目的?2:准备工作:机制原理的学习(1)MTK充电温度保护机制(2)MTKthermal高温充电机制 3:定位查找与源码…

提高自动化测试效率 , WEB自动化框架的基础封装模块!

目录 前言 一、环境搭建 1. Python环境 2. Selenium安装 3. Chrome浏览器 二、基础封装模块介绍 1. 代码框架介绍 2. 使用示例 三、总结 前言 在软件测试中,WEB自动化测试已成为不可或缺的一部分。WEB自动化测试涉及到大量的代码编写,为了提高…

SUSTechPOINTS三维点云标注工具使用

官方地址:SUSTechPOINTS 官方中文教程 相关文章: OpenPCDet安装、使用方式及自定义数据集训练 安装 git clone https://github.com/naurril/SUSTechPOINTS cd SUSTechPOINTS pip install -r requirement.txt wget https://github.com/naurril/SUSTec…

【全栈开发】基于Spring BootVueAndroid扫码授权登录

文章目录 一、引言二、设计1、移动端(Android)(1)库(2)依赖(3)使用 2、前端(Vue)(1)库(2)使用 3、后端&#x…

Home Assistant-开源智能家居系统

Home Assistant(以下简称HA) 它是个开源的智能家居平台,一个系统平台软件,像TB 1.它把家中的智能家居设备整合到HA中,它能够接入的设备非常的多比如小米、博联、易微联、飞利浦、特斯拉…,也可以接入软件&…

Python远程连接Ubuntu20.4下的Mariadb数据库进行操作

文章目录 前言一、ubuntu20.4安装mariadb10.51、更换数据源2、安装mariadb3、设置密码4、设置管理用户5、设置远程登录6、修改端口 二、mariadb10.5建库建表创建数据库2.建表 三、Python代码及环境准备1、Python2、环境 四、总结五、参考资料 前言 环境: 1、Ubuntu2…

Chromium浏览器渗透测试工具EvilSelenium简单入门

EvilSelenium是一款基于Selenium的渗透测试工具,该工具基于武器化的Selenium实现其功能,可以帮助广大研究人员针对基于Chromium的浏览器进行安全分析和渗透测试。 功能介绍 1、通过autofill获取存储的凭证信息; 2、获取Cookie数据&#xf…

高考答题卡怎么被机器识别?基于OpenCV答题卡识别模拟-米尔ARM+FPGA异构开发板

本篇测评由优秀测评者“筑梦者与梦同行”提供。 01. 前言MYD-JX8MMA7SDK发布说明 根据下图文件内容可以知道myir-image-full系统支持的功能,其支持OpenCV,也就不用在格外安装相关驱动包等,省了很多事情。 02. MYD-JX8MMA7软件评估指南 本文…

Java中Object类常用的11个方法

Java中Object类常用的11个方法 先看下 Object 的类结构&#xff08;快捷键&#xff1a;alt7&#xff09;&#xff1a; 1. getClass 方法&#xff08;获取类的class对象。&#xff09; public final native Class<?> getClass();final 方法、获取对象的运行时 class …

学生成绩管理系统(PowerDesigner+MyEclipse+SQL Server)

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;69学生 获取完整源码源文件论文报告数据库表等 系统中用户共有管理员、教师和学生三种&#xff0c;分别对应不同的权限。 管理员 &#xff08;1&#xff09;院系的开设&#xff1b; &#xff08;2&#xff09;教师基本信息…

VScode的插件和.json文件和快捷键

文章目录 1. 插件了解插件的配置的修改Remote DevelopmentFilter LineC/C 和 C intellisense&#xff08;弃用&#xff09;cpp-check-lint 2. VScode中的.json文件2.1 tasks.jsontasks.json文件的格式tasks.json文件中任务的配置arg参数选择 案例&#xff1a; 2.2 lauch.json参…

数字逻辑复习重点总结

文章目录 前言第一章第二章第三章第四章第五章第六章第七章&#xff1a;第八章总结 前言 因为要期末考试了所以就将知识点进行了总结&#xff0c;把期末要考的知识点分章节进行划分&#xff0c;以至于我能取得一个好成绩。 第一章 进制转换 8421码、2421码、余3码、格雷码&am…

Creating Serial Numbers (C#)

此示例展示如何使用Visual C#编写的Add-ins为文件数据卡生成序列号。 注意事项&#xff1a; SOLIDWORKS PDM Professional无法强制重新加载用.NET编写的Add-ins&#xff0c;必须重新启动所有客户端计算机&#xff0c;以确保使用Add-ins的最新版本。 SOLIDWORKS PDM Professio…

购买一套WMS仓储管理系统要多少钱

随着电商行业的快速发展&#xff0c;仓储物流行业也逐渐成为了人们关注的焦点。WMS仓储管理系统作为物流管理领域的重要工具&#xff0c;在提高仓库管理效率、降低运营成本方面具有重要作用。那么&#xff0c;购买一套WMS仓储管理系统要多少钱呢&#xff1f; 首先&#xff0c;我…

Vue开发实战(03)-组件化开发

对组件功能的封装&#xff0c;可以像搭积木一样开发网页。 Vue官方的示例图对组件化开发的形象展示。左边是一个网页&#xff0c;可以按照功能模块抽象成很多组件&#xff0c;这些组件就像积木一样拼接成网页。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直…

Lecture 21 Summarisation

目录 Extractive: Single-DocExtractive: Multi-DocAbstractive: Single-DocEvaluationConclusion summarisation Distill the most important information from a text to produce shortened or abridged versionExamples outlines of a documentabstracts of a scientific ar…

MapReduce【小文件的优化-Sequence文件】

在实际开发中&#xff0c;我们肯定希望提高MapReduce的工作效率&#xff0c;其实提高MapReduce的效率&#xff0c;无非就是提高Map阶段和Reduce阶段的效率。 Map阶段优化之小文件问题 我们知道Map阶段中的MapTask个数是与InputSplit的个数有关的&#xff0c;一般一个InputSpl…

《微服务实战》 第二十八章 分布式锁框架-Redisson

前言 Redisson 在基于 NIO 的 Netty 框架上&#xff0c;充分的利⽤了 Redis 键值数据库提供的⼀系列优势&#xff0c;在Java 实⽤⼯具包中常⽤接⼝的基础上&#xff0c;为使⽤者提供了⼀系列具有分布式特性的常⽤⼯具类。使得原本作为协调单机多线程并发程序的⼯具包获得了协调…