0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用立体视觉实现距离估计?

新机器视觉 ? 来源:智车科技 ? 作者:智车科技 ? 2021-07-01 09:15 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

/ 导读 /

双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。

1伪激光雷达-双目立体相机

深度学习计算机视觉自动驾驶系统中已经非常流行且被广泛应用。计算机视觉领域在过去的十年里得到了迅猛的发展,特别是在障碍物检测方面。障碍物检测算法,如YOLO或RetinaNet提供了二维边界框,用边界框给出了障碍物在图像中的位置。

目前,大多数的目标检测算法都是基于单目RGB摄像机的,不能返回每个障碍物的距离。为了能够返回每个障碍物的距离,工程师们将相机与激光雷达(LiDAR,光探测和测距)传感器进行融合,后者使用激光来返回深度信息。将计算机视觉信息和激光雷达输出进行传感器的融合。这种方法的问题是使用激光雷达,就会导致价格昂贵。所以经常有人使用的一个双目摄像头进行替代,并使用几何信息来定义每个障碍物的距离,故可以将双目相机获取的数据称之为伪激光雷达

双目视觉利用几何学来构建深度图,并将其与目标检测相结合以获得三维距离。那么如何利用立体视觉实现距离估计?以下是双目障碍物检测的5步伪代码:

标定 2 个摄像头(内外参的标定)

创建极线约束

先构建视差图,然后构建深度图

然后将深度图与障碍物检测算法相结合

估计边界框内像素的深度。

2相机内外参标定

每个摄像机都需要标定。相机的标定是指将三维世界中的[X,Y,Z]坐标的三维点转换为具有[X,Y]坐标的二维像素。这里简单的介绍一下针孔相机模型。顾名思义就是用一个针孔让少量光线穿过相机,从而得到清晰的图像。

针孔相机模型可以设置焦距,使得图像更加的清晰。为了相机标定,我们需要通过摄像机坐标系计算世界坐标点到像素坐标的变换关系。

从世界坐标系到相机坐标的转换称为外参标定,外部参数称为R(旋转矩阵)和T(平移矩阵)。

从摄像机坐标到像素坐标的转换称为内参标定,它获取的是相机的内部参数,如焦距、光心等…

内参我们常称之为K的矩阵。

内参标定,通常使用棋盘和自动算法获得,如下图我们在采集标定板时,将告诉算法棋盘上的一个点(例如世界坐标系点 0, 0 , 0)对应于图像中的一个像素为(545,343)。

为此,相机标定必须用摄像机拍摄棋盘格的图像,在得到一些图像和对应的点之后,标定算法将通过最小化平方误差来确定摄像机的标定矩阵。得到标定参数后为了得到校正后的图像,需要进行畸变校正。畸变可以是径向的,也可以是切向的。畸变校正有助于消除图像失真。

以下是摄像机标定返回的矩阵形式

f是焦距-(u?,v?) 是光学中心:这些是固有参数。

我认为每一个计算机视觉工程师都应该必须知道并掌握相机的标定,这是最基本且重要的要求。

在相机标定的过程中涉及到一些齐次坐标转换的问题,这里简单的介绍一下有两个公式可以得到从世界坐标系到像素坐标系的关系:

(1)世界坐标系到相机坐标系的转换(外参标定公式)

e627d60e-d9d2-11eb-9e57-12bb97331649.png

(2)相机坐标系到图像坐标系的转换(内参标定公式)

e633d9b8-d9d2-11eb-9e57-12bb97331649.png

所以从三维空间坐标系到图像坐标系下的关系可以总结为

e63f9c94-d9d2-11eb-9e57-12bb97331649.png

但是我们知道这个公式是齐次坐标才可以这么写,也就是需要将O_world从[X Y Z]修改为[X Y Z 1],加这个“1”后称为齐次坐标。

e67fd156-d9d2-11eb-9e57-12bb97331649.png

3双目视觉的对极几何

我们知道双目立体视觉是基于两幅图像来寻找深度的,人类的眼睛就像两个相机,因为两只眼睛从不同的角度观察图像,所以他们可以计算两个视角之间的差异,并建立距离估计。下图是一个双目立体相机的例子

那么我们如何根据双目立体相机如何估计深度?想象一下你有两个摄像头,一个左摄像头和一个右摄像头。这两个摄像头在同一Y轴和Z轴上对齐。那么唯一的区别是它们的X值。

根据上图我们的目标是估计O点(代表图像中的任何像素)的Z值,即距离。X是对齐轴,Y是高度值,Z是深度值,两个蓝色的平面图对应于每个摄像头的图像。假设我们从从俯视的角度来考虑这个问题。

已知:

(1)xL对应于左侧相机图像中的点。xR是与左侧图像中该点的对应位置。(2)b是基线,是两个摄像头之间的距离。

针对左相机,如下图,我们可以得到一个公式:Z = X*f / xL.

针对右相机,如下图,我们可以得到另一个公式:Z = (X — b)*f/xR.

此时根据两个公式我们可以计算出正确的视差d=xL-xR和一个物体的正确XYZ位置。

4视差和深度图

什么是视差?视差是指同一个三维点在两个不同的摄像机角度获得的图像中位置的差异。视差图是指一对立体图像之间明显的像素差异或运动。要体验这一点,试着闭上你的一只眼睛,然后快速地闭上它,同时打开另一只眼睛。离你很近的物体看起来会跳一段很长的距离,而离你较远的物体移动很少,这种运动就是视差。

e7742be8-d9d2-11eb-9e57-12bb97331649.png

由于立体视觉,我们可以估计任何物体的深度,假设我们得到了正确的矩阵参数,则可以计算深度图或视差图:

为了计算视差,我们必须从左边的图像中找到每个像素,并将其与右边图像中的每个像素进行匹配。这就是所谓的双目相机的立体匹配的问题。为了解决像素匹配的问题,引入对极几何约束,只需在对极线上搜索它,就不需要二维搜索,对应点一定是位于这条线上,搜索范围缩小到一维。

之所以能够引入对极约束,这是因为两个相机是沿同一轴对齐的。以下是极线搜索的工作原理

取左图中这一行上的每个像素

在同一极线上比较左图像像素和右图像中的每个像素

选择 cost 最低的像素

计算视差 d

5构建伪激光雷达效果

现在,是时候把这些应用到一个真实的场景中,看看我们如何使用双目立体视觉来估计物体的深度。假设我们有以下两张实际场景下的图片,并且我们我们已经获取了双目相机的外参矩阵。

此时我们计算视差图的步骤。将投影矩阵分解为摄像机内参矩阵

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RGB
    RGB
    +关注

    关注

    4

    文章

    808

    浏览量

    60079
  • 计算机视觉
    +关注

    关注

    9

    文章

    1710

    浏览量

    46879
  • 深度学习
    +关注

    关注

    73

    文章

    5564

    浏览量

    122942
  • 自动驾驶系统

    关注

    0

    文章

    67

    浏览量

    7157

原文标题:自动驾驶汽车的伪激光雷达-双目立体视觉

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于凌智视觉识别模块的基于单目视觉的目标物测量装置

    1.视觉测量整体方案本视觉测量系统采用单目视觉技术实现目标物距离
    的头像 发表于 07-31 15:35 ?147次阅读
    基于凌智<b class='flag-5'>视觉</b>识别模块的基于单目<b class='flag-5'>视觉</b>的目标物测量装置

    立体视觉技术在智能驾驶中的应用

    随着中国汽车产业在海内外的发展壮大,智能驾驶领域呈现出渗透率快速提升与技术下沉并行的鲜明特征。根据Canalys最新预测,2025年中国市场L2级及以上功能的渗透率将达到62%,其中高速NOA渗透率10.8%,城市NOA达到9.9%,曾专属于高端车型的智能驾驶功能正快速向大众市场普及。
    的头像 发表于 07-21 11:37 ?365次阅读

    Bumblebee X 5GigE系列工业相机,多场景下释放工业立体视觉的无限潜力!

    随着智能制造(工业4.0)和柔性生产的发展,工业场景需要更智能的“眼睛”来理解三维空间。FLIRIIS通过提供包含完整立体处理支持的硬件和软件包(从图像校正和对准到基于密集相关的立体映射),使立体视觉
    的头像 发表于 07-11 17:04 ?481次阅读
    Bumblebee X 5GigE系列工业相机,多场景下释放工业<b class='flag-5'>立体视觉</b>的无限潜力!

    智能软件+硬件解决方案克服实时立体视觉中的挑战

    立体视觉是一种强大的成像技术,通过使用两台或多台相机以略微不同的角度拍摄,模拟人类通过双眼感知深度的方式,从而捕捉环境的三维结构。这项技术能够提供全视野的高密度三维测量,并在非结构化和动态环境中表
    的头像 发表于 05-16 17:04 ?243次阅读
    智能软件+硬件解决方案克服实时<b class='flag-5'>立体视觉</b>中的挑战

    中科慧眼三目立体视觉产品的功能优势

    2025年上海国际车展已正式开幕,三目立体视觉产品作为推动智驾平权的关键力量,也在全民智驾时代备受瞩目。
    的头像 发表于 05-06 09:23 ?520次阅读

    中科慧眼三目立体视觉相机将亮相2025上海车展

    2025年上海国际车展开幕在即,这场全球瞩目的行业盛会不仅是车企竞技的舞台,更是前沿技术趋势的风向标。随着智能驾驶加速迈向“全民普惠”时代,三目立体视觉技术正以其低成本、高精度、强适配性的优势,成为推动智驾平权的关键力量。
    的头像 发表于 04-19 10:36 ?671次阅读

    【AIBOX 应用案例】单目深度估计

    ?Firefly所推出的NVIDIA系列的AIBOX可实现深度估计,该技术是一种从单张或者多张图像预测场景深度信息的技术,广泛应用于计算机视觉领域,尤其是在三维重建、场景理解和环境感知等任务中起到
    的头像 发表于 03-19 16:33 ?466次阅读
    【AIBOX 应用案例】单目深度<b class='flag-5'>估计</b>

    学好影像3D立体化,北上广深开店第一家

    双相机拍摄的3D立体影像(立体图像与立体视频)
    的头像 发表于 02-06 16:40 ?329次阅读
    学好影像3D<b class='flag-5'>立体</b>化,北上广深开店第一家

    友思特与Stereolabs建立合作伙伴关系

    友思特与国际领先的立体视觉相机技术公司 Stereolabs正式建立了合作伙伴关系!
    的头像 发表于 01-06 10:07 ?670次阅读

    【「具身智能机器人系统」阅读体验】2.具身智能机器人的基础模块

    目前高速发展的大模型能给具身智能带来一些突破性的进展。 对于感知系统,要做的主要任务是物体检测,语义分割,立体视觉,鸟瞰视角感知。 有很多算法都可以实现物体检测,比如文章提到的HOG + SVM算法
    发表于 01-04 19:22

    产品快讯 | Teledyne FLIR IIS发布最新产品信息

    (IP67)立体视觉解决方案,具有板载处理功能,可为仓库自动化、机器人导引和物流构建成功的系统。BumblebeeX立体相机设计用于在不同距离内准确操作。客户可以
    的头像 发表于 12-20 17:05 ?684次阅读
    产品快讯 | Teledyne FLIR IIS发布最新产品信息

    实现利用ads1292短距离测量心电信号的吗?这种想法可行吗?

    大侠们,有实现利用ads1292短距离(例如,两个电极都在左手或右手)测量心电信号的吗?这种想法可行吗?
    发表于 12-16 08:25

    建筑物边缘感知和边缘融合的多视图立体三维重建方法

    航空建筑深度估计是三维数字城市重建中的一项重要任务,基于深度学习的多视图立体(MVS)方法在该领域取得了较好的成果。目前的主要方法通过修改MVS 框架实现建筑物的深度估计,缺乏对建筑物
    的头像 发表于 11-07 10:16 ?973次阅读
    建筑物边缘感知和边缘融合的多视图<b class='flag-5'>立体</b>三维重建方法

    TLV320ADC3101如何实现立体声-双声道

    TLV320ADC3101: 如何实现立体声-双声道 1、项目中,我们只接一个模拟MIC(IN2RP),IN2LP不接MIC-悬空。 2、ADC3101做slave 问:我们录音后,播放录音发现只有右边喇叭有声音,我们想实现
    发表于 10-09 06:48

    立体视觉新手必看:英特尔? 实感? D421深度相机模组

    入门级立体深度模组,旨在以高性价比将先进的深度感应技术带给更广泛的用户群体,为寻求深度成像技术及消费产品潜力的开发者、研究人员和计算机视觉专家提供卓越的价值,将先进的3D视觉技术拓展至更广泛的应用领域。 英特尔? 实感? 深度相
    的头像 发表于 09-26 13:33 ?676次阅读
    <b class='flag-5'>立体视觉</b>新手必看:英特尔? 实感? D421深度相机模组