01 相机特性-曝光和读出
相机获取一帧图像分为曝光和读出两个阶段。相机使用的传感器不同,相机的曝光时间和读出时间的重叠关系也有所不同,分为交叠曝光和非交叠曝光两种。
叠曝光和非交叠曝光相比,交叠曝光可以减少曝光时间对出图时间的影响。
重写后的句子: 在完成当前帧的曝光和读出之后,才进行下一帧的曝光和读出,这就是非交叠曝光。非交叠曝光帧周期大于曝光时间与帧读出时间的和。
内触发模式非交叠曝光
重叠曝光指的是当前帧的曝光和前一帧的读出过程部分重叠,也就是说,下一帧的曝光已经开始,而前一帧的读出仍在进行。交叠曝光帧周期小于等于曝光时间与帧读出时间的和。
内触发模式交叠曝光
对!上一段就是为了告诉你:后文叙述中无论当前帧曝光时间和上一帧的读出时间是否重叠都不要惊讶。
02 图像采集:触发模式(外部输入)
相机的触发模式分为内触发模式和外触发模式 2 种。
内触发模式:相机通过设备内部给出的信号采集图像。
外触发模式:相机通过外部给出的信号采集图像。软触发和硬件触发是外部信号的两种主要形式,外部信号既可以是软件信号也可以是硬件信号。外触发模式如图:
外触发模式
软触发:触发信号由软件发出(也可以利用相机SDK提供的API接口进行软触发)。
当使用硬件触发时,相机会通过其 I/O 接口与外部设备连接,并且接收来自外部设备的触发脉冲信号来采集图像。其实是直接对相机内部寄存器进行读写。下图是海康相机的电源IO的6-pin线缆:
海康相机电源及IO接口(6-pin Hirose)
其中,海康相机有1个光耦隔离输入Line0+,1个可配置输入输出Line2+,可选择一个配置为输入信号。
03 触发输出
相机的触发输出信号是开关信号,可用于控制外部设备,如报警灯、光源和PLC。触发输出信号可通过Strobe 信号实现。
当相机曝光时,会立即产生一个高有效电平的Strobe信号。后文我们主要使用该信号对Lidar等其他传感器进行硬触发。这里有一个Strobe的预输出的概念。Strobe信号早于曝光生效。其工作原理为延迟曝光先进行Strobe输出。该功能可应用于响应比较慢的外部设备。Strobe预输出时序如图所示。(后面会讲为啥要延迟曝光)。
Strobe信号预输出时序
现在我们回到正题吧,现在讲起来就很快了。
有三种主要的方式可以实现相机和激光雷达的时间戳同步:硬触发、软触发以及软触发并加以硬触发。下面我以手绘示意图的形式一一介绍。
先说硬触发吧。一个MCU产生脉冲信号对三个传感器设备进行硬触发。
对于软触发+硬触发来说,可以先用相机SDK的API对一个相机进行软触发,然后利用相机的外触发信号Strobe对雷达和相机等其他传感器进行硬触发。
这里需要注意一个问题,如果进行软触发的第一个相机在曝光的同时发出Strobe信号,其他被硬触发的传感器总归是晚了一步,不能完全同步。因此,引入了之前提出的预输出Strobe的概念,即在延迟曝光之前先进行Strobe输出。
配置该模式时注意四点:
- 上升沿 or 下降沿的触发方式;
- 有效电平宽度,电平幅值,你要知道能触发 Lidar 的最低幅值;
- Strobe 预输出;
- 两边电平信号是否一样,3v or 5v 是否需要升压;
最后讲讲不被推荐的软触发。
首先调用API操作相比于硬触发(对传感器内部寄存器直接进行读写操作)明显是慢了,执行第二句命令API(2)前API(1)就已经花了些时间。
<code>//读取lidar和image数据的线程1while(1){API(1); //软触发第一个sensorAPI(2); //软触发第二个sensor//假设脉冲周期为0.5s}//处理数据线程2for(i=0;i<nimage;i++){t1 = getTickCount();//部分程序有互斥锁t2 = getTickCount();Time = (t2 - t1) / getTickFrequency(); //当前帧处理时间sleep(1/fps-Time);}</code>
当处理单帧数据所需的时间超过0.5秒时,线程1将读取下一帧数据,从而导致线程2的数据混乱。线程2必须在0.5秒内完成单个帧的处理,并且在每一帧后需要等待(1/fps-当前帧处理时间)。
以上是一文聊聊激光雷达与相机标定的时间戳同步问题的详细内容。更多信息请关注PHP中文网其他相关文章!

拥抱Face的OlympicCoder-7B:强大的开源代码推理模型 开发以代码为中心的语言模型的竞赛正在加剧,拥抱面孔与强大的竞争者一起参加了比赛:OlympicCoder-7B,一种产品

你们当中有多少人希望AI可以做更多的事情,而不仅仅是回答问题?我知道我有,最近,我对它的变化感到惊讶。 AI聊天机器人不仅要聊天,还关心创建,研究

随着智能AI开始融入企业软件平台和应用程序的各个层面(我们必须强调的是,既有强大的核心工具,也有一些不太可靠的模拟工具),我们需要一套新的基础设施能力来管理这些智能体。 总部位于德国柏林的流程编排公司Camunda认为,它可以帮助智能AI发挥其应有的作用,并与新的数字工作场所中的准确业务目标和规则保持一致。该公司目前提供智能编排功能,旨在帮助组织建模、部署和管理AI智能体。 从实际的软件工程角度来看,这意味着什么? 确定性与非确定性流程的融合 该公司表示,关键在于允许用户(通常是数据科学家、软件

参加Google Cloud Next '25,我渴望看到Google如何区分其AI产品。 有关代理空间(此处讨论)和客户体验套件(此处讨论)的最新公告很有希望,强调了商业价值

为您的检索增强发电(RAG)系统选择最佳的多语言嵌入模型 在当今的相互联系的世界中,建立有效的多语言AI系统至关重要。 强大的多语言嵌入模型对于RE至关重要

特斯拉的Austin Robotaxi发射:仔细观察Musk的主张 埃隆·马斯克(Elon Musk)最近宣布,特斯拉即将在德克萨斯州奥斯汀推出的Robotaxi发射,最初出于安全原因部署了一支小型10-20辆汽车,并有快速扩张的计划。 h

人工智能的应用方式可能出乎意料。最初,我们很多人可能认为它主要用于代劳创意和技术任务,例如编写代码和创作内容。 然而,哈佛商业评论最近报道的一项调查表明情况并非如此。大多数用户寻求人工智能的并非是代劳工作,而是支持、组织,甚至是友谊! 报告称,人工智能应用案例的首位是治疗和陪伴。这表明其全天候可用性以及提供匿名、诚实建议和反馈的能力非常有价值。 另一方面,营销任务(例如撰写博客、创建社交媒体帖子或广告文案)在流行用途列表中的排名要低得多。 这是为什么呢?让我们看看研究结果及其对我们人类如何继续将


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版
中文版,非常好用

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),