康谋技术 | 深入探讨:自动驾驶中的相机标定技术

随着自动驾驶技术的快速发展,多传感器的数据采集和融合可以显著提高系统的冗余度和容错性,进而保证决策的快速性和正确性。在项目开发迭代过程中,传感器标定扮演着至关重要的角色,它位于数据采集平台与感知融合算法之间,是确保传感器数据准确性的基础,同时也是实现传感器融合的关键先决条件。

在众多传感器中,相机以其丰富的信息获取能力和成本效益而成为自动驾驶系统中的首选。相机标定可以提高空间定位精度,消除畸变影响,统一传感器数据以及增强系统的鲁棒性。


目录

一、相机的工作原理

二、相机的标定参数

三、标定方法

作者介绍


一、相机的工作原理

通过相机拍摄图像,可以将3D世界投影成2D图像。因此可以把相机模型看作一个从3D空间到2D空间的映射。采用小孔成像模型来描述相机的成像原理。

小孔成像模型由光心、光轴和成像平面几个部分组成,且假设所有成像过程都满足光的直线传播条件。根据光的直线传播理论,空间中的物点反射光经过光心后,投影到平面形成一个倒立的像点。虽然作为理想的成像模型,小孔成像的物理性质极佳,但是实际的相机光学系统中大多是由透镜组成的,在透镜成像中需要满足以下条件:

\frac{1}{f}=\frac{1}{u}+\frac{1}{v}

其中,表示 f透镜的焦距, u表示物距, v 表示像距,如图1所示。

图1 凸透镜成像原理

相机成像系统主要有4个坐标系,分别是世界坐标系、相机坐标系、图像坐标系和像素坐标系,如图2所示。世界坐标系通过平移和旋转得到相机坐标系,相机坐标系通过成像模型中的相似三角形原理得到图像坐标系,图像坐标系通过平移和缩放得到像素坐标系。

图2 相机成像系统中4个坐标系之间的关系

这些坐标系描述了从三维空间到二维图像的坐标变换过程。标定的目标是确定这种变换关系,即三维物体表面点与二维图像对应点之间的关系,从而建立摄像头成像的几何模型。

二、相机的标定参数

相机的标定参数主要包括内参、外参和畸变参数。从世界坐标系到像素坐标系的转换是图像处理和计算机视觉中的关键步骤,它允许我们理解图像中物体的真实位置和尺寸,进而实现各种应用,如自动驾驶中的物体检测与定位。

  • 内参是相机自身的固有属性,包括焦距、主点坐标和像素的物理尺寸等信息,这些参数不会因外界环境而改变,可以通过标定获得。相机的内参矩阵 A(d_{x},d_{y},r,v_{0},u_{0},f) , 内参矩阵是实现图像坐标系与像素坐标系转换的关键。 d_{x},d_{y}分别表示在x和y轴方向上一个像素占据的实际长度,r表示径向畸变参数之一, f表示焦距, u_{0},v_{0} 表示像素坐标下的主坐标点。

  • 外参描述了摄像头在世界坐标系中的位置和方向,包括旋转角度和平移参数,它说明了现实世界点是如何通过平移和旋转映射到摄像头坐标系的。其中,R为旋转矩阵,负责实现坐标系之间的旋转变换。T为平移矩阵,负责实现坐标系之间的平移变换。

  • 畸变参数则是用来描述摄像头成像过程中产生的形状改变和扭曲。畸变主要包括径向畸变和切向畸变,即相机的径向畸变系数 k_{1},k_{2},k_{3}等和相机的切向畸变系数p_{1},p_{2}等。常见的畸变类型,如图3所示。

图3 图像畸变的两种类型

因此,世界坐标系到像素坐标系的转换关系为:

其中,相机坐标系到图像坐标系转换时,由于相机镜头制造工艺缘故,需要进行畸变桥正。径向畸变是由于透镜形状的制造工艺导致的,且越向透镜边缘移动,径向畸变就越严重。矫正径向畸变前后的坐标关系为:

X_{corrected}=x(1+k_{1}\times r^{2}+k_{2}\times r^{4}+k_{3}\times r^{6})

Y_{corrected}=y(1+k_{1}\times r^{2}+k_{2}\times r^{4}+k_{3}\times r^{6})

切向畸变是由透镜和CMOS或者CCD的安装位置误差导致的。切向畸变需要两个额外的畸变参数来描述,矫正前后的坐标关系为:

X_{corrected}=x+2p_{1}xy+p_{2}(r^{2}+2x^{2})

Y_{corrected}=y+2p_{2}xy+p_{1}(r^{2}+2y^{2})

因此,一共需要5个畸变参数。求出上述这些参数即完成了标定过程。

三、标定方法

标定方法是视觉领域中摄像头校准的关键步骤,直接影响视觉系统的输出结果。主要的标定方法包括自标定、根据参照物进行标定和基于主动视觉的标定法。 在这些方法中,张正友标定法因其简便、高精度和广泛的适用性而备受推崇。它利用双平面棋盘格结构作为标定物,通过观察棋盘格在不同视角下的图像,可以计算出相机的内外参数。克服了传统方法需要高精度标定物的缺点,并提高了自标定的精度。张氏标定法的主要贡献在于提出了计算相机参数优化初值的方法,成为计算机视觉领域广泛应用的标定方法之一。 张正友标定法的整体流程如下:

  1. 制作标定板并从不同角度(平移、旋转)拍摄若干张图像(10-20张)。

  2. 检测图像中的特征点。

  3. 求解理想无畸变情况下的内参、外参。

  4. 使用最小二乘法求出实际的径向畸变参数。

  5. 使用极大似然法优化估计,结合内参、外参、畸变参数,提升估计精度。

  6. 得到实际的内参、外参、畸变参数。

相机标定是自动驾驶系统中不可或缺的一环,它直接影响到系统的感知能力和决策准确性。通过深入理解和掌握相机标定的技术要点,我们可以为自动驾驶车辆提供更加准确和可靠的视觉感知能力,推动自动驾驶技术的发展和应用。


作者介绍

郑工

康谋高级自动驾驶技术研发工程师,拥有超过5年的汽车电子和自动驾驶数据分析经验,专精于高精度传感器数据的获取、整合与优化。在数据采集技术方面造诣深厚,尤其在车载网络和实时数采系统上富有实践成果,设计并优化了多种数据采集与传输方案。曾多次代表公司参加海外技术研讨会和培训项目,深入了解国际自动驾驶行业的最新动态和技术趋势,积累了丰富的国际视野。


欢迎联系康谋自动驾驶团队了解更多信息。

我们将竭诚为您服务!

期待与您的交流!

康谋科技 - 您的一站式自动驾驶解决方案合作伙伴,助力自动驾驶商业化落地 - keymotek康谋科技有限公司是原虹科自动驾驶业务孵化出来的全新独立公司,专注于自动驾驶领域。我们以数据为驱动力,提供高性能的数据采集、记录、传输方案,针对各种驾驶场景进行精准的仿真模拟,以及对大量自动驾驶数据进行高效、高质量处理。我们的一站式服务能够满足自动驾驶领域研发测试的全流程需求,助力客户在自动驾驶领域取得更大突破。icon-default.png?t=N7T8https://keymotek.com/

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

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

相关文章

如何使用自定义Promptbooks优化您的安全工作流程

在当今的数字化时代,安全工作流程的优化变得前所未有的重要。安全团队需要快速、有效地响应安全事件,以保护组织的数据和资产。Microsoft Copilot for Security提供了一种强大的工具——自定义Promptbooks,它可以帮助安全专家通过自动化和定制…

tmux 命令速查 导图

最近在使用tmux,整理了一份命令的导图,大家需要自取~ tmux是什么? Tmux是一个终端复用器,一个非常有用的linux开发工具。 基本概念 会话: 与命令下的终端窗口类似;tmux进程,可包…

SpringBoot整合Swagger2

SpringBoot整合Swagger2 1.什么是Swagger2?(应用场景)2.项目中如何使用2.1 导入依赖2.2 编写配置类2.3 注解使用2.3.1 controller注解:2.3.2 方法注解2.3.3 实体类注解2.3.4 方法返回值注解2.3.5 忽略的方法 3.UI界面 1.什么是Swa…

短视频矩阵系统----技术源头开发

短视频矩阵系统--- 1. 确定账号类型和目标受众 2. 准备账号资料 3. 搭建系统框架 4. 开发核心功能 5. 测试和调试 6. 部署和维护 7. 推广和运营 在开发短视频账号矩阵系统源码时,可以使用一些开源框架和工具来提高开发效率和降低开发难度。同时,需要组…

抓取电商产品数据的方法|PHP|Python多语言环境|高并发需求|电商商品API接口数据采集

电商商品数据的抓取|电商平台商品API接口 客户在搭建电商网站时经常提出的诉求和相应的解决方案如下: 1. **网站设计和用户体验**: - 诉求:希望有吸引力、易用性强的网站设计,提升用户体验。 - 解决方案:设计专…

无人机--行业生命周期分析

行业生命周期:无人机行业生命周期还相对较短,但已经经历了多个阶段的发展。从最初的军用无人机,到近年来民用无人机和商业无人机的快速发展,无人机行业正逐渐走向成熟阶段。未来随着技术的不断进步和应用领域的不断拓展,无人机行业…

项目7-音乐播放器5+注册账号

1.前端代码 MAPPER Insert("insert into user(username,password) values (#{username},#{password}) ")Integer insertUserInfo(String username,String password); Service public Result insertUserInfo(String username, String oldpassword,String newpasswo…

如何关掉地址空间随机化

如果我们的ru没有密码的话我们要先建一个密码 接着输入 su 进入root 接着输入 echo 0 > /proc/sys/kernel/randomize_va_space 就可以啦 接着可以cat查看是不是显示0,是的话就成功了

【Linux的git操作】

Linux学习笔记---010 Linux的git操作1、什么是gitee2、git 准备工作2.1、查看是否安装了 git 版本工具2.2、安装 git 工具/更新成最新版本2.3、在gitee上创建远程仓库(略)2.4、提交file的初始化操作 3、git的“三板斧”3.1、add3.2、commit3.3、push3.4、…

Flutter 像素编辑器#03 | 像素图层

theme: cyanosis 本系列,将通过 Flutter 实现一个全平台的像素编辑器应用。源码见开源项目 【pix_editor】 《Flutter 像素编辑器#01 | 像素网格》《Flutter 像素编辑器#02 | 配置编辑》《Flutter 像素编辑器#03 | 像素图层》 上一篇我们实现了编辑配置,…

React + 项目(从基础到实战) -- 第八期

ajax 请求的搭建 引入mockAP接口设计AJAX 通讯 前置知识 HTTP 协议 , 前后端通讯的桥梁API : XMLHttpRequest 和 fetch常用工具axios mock 引入 Mock.js (mockjs.com) 使用 mockJS 前端代码中引入 mockJs定义要模拟的路由 , 返回结果mockJs 劫持ajax请求(返回模拟的结果)…

2024运营级租房源码管理PHP后台+uniapp前端(app+小程序+H5)

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 一、详细介绍 房产系统 一款基于ThinkPHPUniapp开发的房产管理系统,支持小程序、H5、APP;包含房客、房东、经纪人三种身份。核心功能有:新盘销售、房屋租赁、地图找房、房源代理、…

RestFul 风格(SpringMVC学习笔记三)

1、什么是Restful风格: Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 2、使用Restful风格 接上一个笔记的测试类 package…

『Django』创建app(应用程序)

theme: smartblue 本文简介 点赞 关注 收藏 学会了 在《『Django』环境搭建》中介绍了如何搭建 Django 环境,并且创建了一个 Django 项目。 在刚接触 Django 时有2个非常基础的功能是需要了解的,一个是“app”(应用程序),另一个是 url(路由…

AIGC算法2:LLM的复读机问题

1. 什么是LLM的复读机问题 字符级别重复,指大模型针对一个字或一个词重复不断的生成例如在电商翻译场景上,会出现“steckdose steckdose steckdose steckdose steckdose steckdose steckdose steckdose…”;语句级别重复,大模型针…

中文编程入门(Lua5.4.6中文版)第十二章 Lua 协程 参考《愿神》游戏

在《愿神》的提瓦特大陆上,每一位冒险者都拥有自己的独特力量——“神之眼”,他们借助元素之力探索广袤的世界,解决谜题,战胜敌人。而在提瓦特的科技树中,存在着一项名为“协同程序”的高级秘术,它使冒险者…

【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—更新(正式比赛)

【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—更新(正式比赛) 往期链接: 【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—解题全流程(…

设计模式-访问者模式(Visitor)

1. 概念 访问者模式(Visitor Pattern)是一种行为型设计模式。是一种将数据操作与数据结构分离的设计模式,其主要目的是将数据结构与数据操作解耦。 2. 原理结构图 图1 Visitor(访问者):接口或抽象类&am…

47.基于SpringBoot + Vue实现的前后端分离-校园外卖服务系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的校园外卖服务系统设计与实现管理工作…

【前端Vue】Vue从0基础完整教程第7篇:组件化开发,组件通信【附代码文档】

Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{ gaga }},{{ if (obj.age > 18 ) { } }},vue指令,综合…