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

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

3天内不再提示

详解3D结构光如何标定

QQ475400555 来源:马少爷 作者:马少爷 2022-11-04 10:45 次阅读

结构光视觉的优点:

非接触、信息量大、测精度高、抗干扰能力强。

结构光视觉传感器参数的标定包括:摄像机参数标定、结构光平面参数标定。

结构光视觉测量原理图

ce288ef6-5bd4-11ed-a3b6-dac502259ad0.png

我们不考虑镜头的畸变,将相机的成像模型简化为小孔成像模型,则特征点的图像坐标Pf 与其在摄像机坐标系下的三维坐标P 之间的关系可表示为:

ce537f6c-5bd4-11ed-a3b6-dac502259ad0.png

其中:(u,v)是特征点的图像坐标,(u0,v0) 光轴中心的图像坐标,(kx ky )是X 轴,Y 轴方向的放大系数,(xc yc zc) 是特征点在摄像机坐标系下坐标, Mc 是摄像机内参数矩阵。

结构光视觉投影成像模型:

ce828758-5bd4-11ed-a3b6-dac502259ad0.png

设结构光在摄像头坐标系的平面方程为:

cea60ee4-5bd4-11ed-a3b6-dac502259ad0.png

依据激光条纹特征点图像坐标就可以得到其在摄像机坐标系下的三维坐标

cec6ca94-5bd4-11ed-a3b6-dac502259ad0.png

相机参数标定:

采用张正友提出的基于2D平面棋盘格的摄像机标定方法,利用Matlab摄像头标定工具完成相机参数的标定。

摄像机标定工具箱主窗口:

cee8c7b6-5bd4-11ed-a3b6-dac502259ad0.png

用于摄像机标定的棋盘格图像:

cf169d08-5bd4-11ed-a3b6-dac502259ad0.png

得到摄像机内参数矩阵:

cf4cf876-5bd4-11ed-a3b6-dac502259ad0.png

结构光平面参数标定:

首先,激光器投射结构光平面到平面棋盘格上形成激光条纹,并通过CCD 摄像机采集激光条纹图像。然后,对图像进行处理,提取激光条纹上的两个特征点。控制机器人按照一定的约束进行运动,从一个标定位置移动到另一个位置,从而产生两条不共线的激光条纹,利用上述相同的图像处理方法再次提取激光条纹上的两个特征点。最后,利用结构光平面上的四个点来确定结构光平面方程参数。该方法可以在摄像机参数标定过程中,同时完成结构光平面方程参数的标定。同时,该方法不需要加工高精度的三维标定靶标,也不需要手工测量,标定过程简单实用。

试验装备:

一个六自由度机器人,一个CCD 工业摄像机,一个激光器和一个平面棋盘格靶标。

结构光平面参数标定系统示意图:

cf64fd4a-5bd4-11ed-a3b6-dac502259ad0.png

摄像机坐标系位于摄像机中心,而世界坐标系位于平面棋盘格靶标上。一个特征点在摄像机坐标系下坐标与其在世界坐标系下坐标之间的对应关系可以用下式来表达:

cfb088e6-5bd4-11ed-a3b6-dac502259ad0.jpg

标定过程如下:

(1)图像获取:

图像的获取是在摄机参数标定过程中同时完成。 首先将棋盘格放在工作台上, 在这个初始位置,利用摄像机采集一幅图,如图 (a) 所示 。保持摄像机和棋盘格的位置姿态不变,打开激光器让条纹投射到棋盘格上, 再采集一幅图像如图 (b) 所示:

cfd3acea-5bd4-11ed-a3b6-dac502259ad0.png

然后改变棋盘格和摄像机的相对位姿,使前后形成的两条激光条纹在空间上不共线,即可确定一个唯一的结构光平面。

cff989ba-5bd4-11ed-a3b6-dac502259ad0.png

(2)图像处理:

图像处理的目的是提取激光条纹上特征点的图像坐标。

分为图像感兴趣区域(ROI)确定、自适应阈值分割、骨架细化和特征点计算。

1)图像ROI确定

通过观察图像看出,激光条纹大致平行于图像的u 轴,而且激光条纹处像素的灰度值高于图像中其它像素的灰度值,所以图像的ROI 可以通过对每行像素灰度值进行求和得到:

d01d910c-5bd4-11ed-a3b6-dac502259ad0.png

2)阈值分割

阈值分割分为全局阈值分割、局部阈值分割和自适应阈值分割。最常用的自适应阈值分割是Otsu方法,该方法使用统计学的方法确定最优的阈值,适用于一般的图像,但是不太适合于棋盘格上激光条纹的分割。

根据图像中激光条纹的灰度值高于图像中其它像素的灰度值以及激光条纹所在区域比较集中的特点,利用图像ROI 内行像素灰度值之和计算激光条纹的自适应阈值:

d0484f50-5bd4-11ed-a3b6-dac502259ad0.jpg

3) 骨架细化:

自适应阈值分割以后的激光条纹具有一定的宽度,直接处理计算量巨大而且精度较低,需要对图像进行骨架细化得到单像素的线。

采用下面文献中所提出的快速骨架细化方法:

d06edddc-5bd4-11ed-a3b6-dac502259ad0.png

该方法通过迭代提取图像骨架,每个迭代过程分为两步,第一步去除东南边缘和西北角的点,第二步去除西北边缘和东南角的点。

d08729f0-5bd4-11ed-a3b6-dac502259ad0.png

Pi分布情况如下:

d0a79848-5bd4-11ed-a3b6-dac502259ad0.png

第二个迭代过程将上述条件的c、d条件更改为:

d0c8cdce-5bd4-11ed-a3b6-dac502259ad0.png

4)特征提取:

选取激光条纹中心线上的两个点作为激光条纹的特征点,为了提高激光条纹中心线的提取精度,利用最小二乘法拟合方法对细化后的激光条纹直线进行处理。

d0e17860-5bd4-11ed-a3b6-dac502259ad0.jpg

激光条纹特征点提取过程如下:

d13e23d0-5bd4-11ed-a3b6-dac502259ad0.jpg

标定棋盘格平面内任意一点与法向量关系

d16cfda4-5bd4-11ed-a3b6-dac502259ad0.png

由上图可知:

d18dda42-5bd4-11ed-a3b6-dac502259ad0.png

由特征点的图像坐标Pf 与其在摄像机坐标系下的三维坐标P 之间的关系知:

d1a76f8e-5bd4-11ed-a3b6-dac502259ad0.png

得到棋盘格上任意一点在摄像机坐标系下的zc 坐标

d1ba9ab4-5bd4-11ed-a3b6-dac502259ad0.png

得到激光条纹特征点在摄像机坐标系下的坐标值

d1d82070-5bd4-11ed-a3b6-dac502259ad0.png

至此,得到四个激光条纹特征点的图像坐标,由上式得四个激光条纹特征点在摄像机坐标系下的坐标,由于三点确定一个平面方程,使用最小二乘法计算结构光平面方程如下:

d1f9be1a-5bd4-11ed-a3b6-dac502259ad0.png

至此,完成结构光平面方程的参数的标定。

审核编辑:汤梓红

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

    关注

    9

    文章

    2756

    浏览量

    106458
  • 摄像机
    +关注

    关注

    3

    文章

    1421

    浏览量

    59004
  • 结构光
    +关注

    关注

    0

    文章

    74

    浏览量

    13082

原文标题:详解3D结构光如何标定

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

收藏 人收藏

    评论

    相关推荐

    高清图详解英特尔最新22nm 3D晶体管

    本帖最后由 eehome 于 2013-1-5 10:10 编辑 高清图详解英特尔最新22nm 3D晶体管
    发表于 08-05 21:48

    Finfet技术(3D晶体管)详解

    Finfet技术(3D晶体管)详解
    发表于 08-19 10:46

    3D模型文件格式之OBJ详解

    `3D模型文件格式之OBJ详解 2016.4.25 科技蛀虫 OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced
    发表于 04-27 17:02

    3D扫描的结构

    ,它对于计算的要求通常比较严格,并且对于环境光照条件很敏感。另外一个方法采用结构照明图形,它只需一个投影仪(用于生成图形)以及一个单摄像头和计算能力中等的算法。 结构
    发表于 08-30 14:51

    基于Dragonboard 410c平台的机器3D视觉—摄像机标定原理

    Dragoboard410c开发板为平台进行简单的3D视觉实验,这里我们将涉及到3D视觉中的摄像机标定、姿势估计、对极集合和3D图像中的深度地图等内容。 这篇blog主要向大家介绍摄
    发表于 09-28 10:32

    采用DLP结构3D机器视觉参考设计包括BOM及框图

    描述The TIDEP0076 3D machine vision design describes an embedded 3D scanner based on the structured
    发表于 10-15 14:52

    请问AD导出什么3D格式给结构工程师好?

    AD导出什么3D格式给结构工程师好? 我们之前用过.brd文件。3D工程师有对应元件封装文件库。导入到SOLIDWORKS 后可以自动匹配元器件3D模型。但是有个问题,就是我们AD库里
    发表于 03-26 07:36

    PCB中3D应用相关功能详解

    以帮助工程师避免很多不易察觉的错误。特别对于电子产品的机电一体化设计,Altium Designer对于STEP格式的3D模型的支持及导入导出,极大地方便了ECAD-MCAD之间的无缝协作。Altium
    发表于 07-05 08:00

    Altium 3D模式提示 action not available in 3D view

    Altium designer中 PCB 3D预览 ,出现提示: action not available in 3D view action not available in 3D view的意思是:
    发表于 11-02 10:35

    机器视觉3D成像技术大全!

    `3D成像关键技术,主要有四种关键技术:立体视觉、结构3D成像、激光三角形测量、后面三个是主动成像,需要外加光源来实现。接下来由深圳思普泰克带领大家详细解读机器视觉
    发表于 11-19 15:28

    Altium19 3D STEP模型的导出

    我们的3D模型一般是提供给专业的3D软件进行一个结构核对,那么Altium Designer 提供导出3D STEP模型的这个功能,结构工程
    发表于 11-22 10:07

    芯片的3D化历程

    正在从二维走向三维世界——芯片设计、芯片封装等环节都在向3D结构靠拢。晶体管架构发生了改变当先进工艺从28nm向22nm发展的过程中,晶体管的结构发生了变化——传统的平面型晶体管技术(包括体硅技术
    发表于 03-19 14:04

    浩辰3D的「3D打印」你会用吗?3D打印教程

    ,从而帮助设计工程师快速设计、试制复杂曲面、异形结构以及非标零部件,高效推进新产品的设计研发与设计验证。1、模型处理在浩辰3D中打开模型文件,选择「3D打印」选项卡,将模型上的装饰螺纹换成物理螺纹。2
    发表于 05-27 19:05

    3D打印机的结构

    这是 DIY 系列的第一篇,先从结构说起。细数 3D 打印机的结构不下 10 种了,各有各的优缺点。从最古老的龙门结构开始,分别列举各自的优缺点。(以下内容来源于互联网,如有侵权请联系
    发表于 09-01 06:37

    使用结构3D扫描介绍

    随着很多全新技术的涌现,人们越来越需要用3D方法来表示现实世界中的物体。特别是机器视觉和机器人技术,它们都得益于精确和自适应的3D捕捉功能。其它针对3D扫描的应用包括生物识别、安防、工业检查、质量
    发表于 11-16 07:48