点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

来源:新机器视觉

本人所在行业属于3D视觉方向,因此最近也是学习了很多3D视觉的知识,这次专门总结一下。

传统工业机器视觉中,2D指的是X方向加Y方向,那么3D视觉自然就是加了一个Z方向。目前我接触到的公司产品是3D激光轮廓仪,也叫3D激光传感器,线激光传感器,采用的是激光三角测距法。

1.3D相机的工作原理

在传统的2D视觉中,一套详细的解决方案最基础的是相机、镜头、和光源。根据客户的需求以及现场的生产环境,通过一些公式计算出符合要求的相机和镜头,最后根据客户的成本需求来选出最合适的相机加镜头。最后的光源是整套解决方案中比较难的一个点,要根据客户所测物件的不同来选择合适的光源,保证能够清晰的成像。大家可以看出来,2D视觉对于工程师的要求比较高,要拥有丰富的项目经验,有一定的光学和软件知识,而3D相机相对来说就要简单一些。

一般3D相机都会集成在一个框架内,不会像2D视觉系统那样区分开来。这里我放一张基恩士最新型的一款3D激光轮廓仪给大家看一看:

基本上目前市面上的3D激光相机都是这个样子,里面集成了激光发射器、镜头以及感光芯片。下面我们就来好好讲一讲3D相机的工作原理。

在3D相机中,取代光源的是激光发射器,通过复杂的光学系统设计,激光发射器发出的激光会形成一条直线,激光投射到物体表面就会形成反射,在光学系统的设计下,反射光会被镜头捕捉到,最后通过镜头反射到感光芯片上。因此,3D相机内部最重要的三个部件分别为激光发射器,镜头和感光芯片,同时还会加一些FPGA或者ARM用于图形处理,比如图像算法以及图像滤波。一般情况下,激光发射器需要优秀的光学工程师进行设计,比如不同的透镜反射出来的激光也会有不同的效果;镜头基本上也都是正常我们看见的镜头,感光芯片一般会选择高精度的CMOS芯片。

一般我们把激光线方向称为X方向,也就是激光照射出来的那条线定义为X轴,高度为Z方向,通过一次静态拍照,我们可以得到X和Z两个方向的数据,那么Y方向呢,我们一般把运动方向记为Y方向,也就是说。我们可以通过移动相机或者移动物体,并且让相机持续不断的拍照,就形成了连续的Y方向数据,最后组合在一起,就是我们所需要的3D数据了。

2. 3D相机的测量原理

下面我们来了解一下3D激光相机的测距原理,我司采用的是激光三角测距法,一般工业领域都是普遍采用这个方法,因为激光三角测距法的精度比较高,抗干扰能力也很强,此外,还有很多的测距方法,主要分为两个大类,分别是被动测量类和主动测量类。被动测量类分为单目视觉、双目视觉和多目视觉;主动测量类分为结构光法,TOF飞行时间法,激光三角测距法。TOF飞行时间法也是一种比较常见的3D光学测距方法,主要用于手机领域,比如手机的人脸识别,因为TOF飞行时间的测量范围比较大,可以达到20米到30米,比较适合手机领域进行一些AR/VR交互。

激光三角测距法我就不细讲了,因为网上的资料实在是太多了,直接百度搜索激光三角测距法原理即可。

3.  3D相机中主要使用到的一些技术参数

在与客户的接触中,经常客户会咨询一些硬件参数问题,我发现网上关于3D视觉的资料真的少的可怜,所以好好整理了一番。

在2D视觉中,会有许多专业的术语名词,比如视场,分辨率,重复精度等,3D视觉中也是如此。

在3D视觉中大致以以下术语:

●视野范围/视场(FOV)

  是指在某一工作距离下传感器激光线方向能扫到的最大宽度。在2D视觉中,视场一般是两个值,即X方向*Y方向,而3D视觉只有一个值。一般情况下就是在传感器最佳工作距离下激光线的长度,注意是在工作距离下的长度,毕竟激光发射出来形成一个光面,如果没有遮挡理论上是无限长的。

  此外,3D相机还分为近视场,中视场,远视场。

●测量范围

  传感器的近视场到远视场的距离。这个概念有点像2D视觉中的景深,即Z轴可清晰成像的范围。

●工作距离

  传感器下表面到被测物表面的距离。这里的传感器指的就是相机,每台相机的工作距离是不一样的,一定要记住工作距离,不然选好了相机发现客户现场的安装高度达不到相机的工作距离要求,那么你前期的准备工作就全部浪费掉了。

●分辨率

  传感器可以识别的最小尺寸。跟图像传感器一般是CMOS芯片的晶圆尺寸也就是感光元件有关系。

●线性度

  也叫准确度,直线度。一般指的是Z线性度,为偏差值(参考值与测量值的差值)与测量范围的比值。

●重复精度

  也叫做重复性。是指将被测物重复扫描4100次后的最大偏差值。

●垂直分辨率

  能够测量出的最小高度

●水平分辨率

  能够测量的最小宽度

●运动方向

在运动方向还有几个术语如下:

1.线间距:反映传感器接收到的触发信号间隔。这个参数跟编码器信号或者外部信号频率有关系。比如假设一万个脉冲走10毫米,那么信号间隔就为1微米。

2.扫描频率(HZ):单位时间内传感器能够获取的3D轮廓线数目,反映传感器当前配置下的处理极限。比如2K那就是一秒最多可以跑两千条线。这个参数也是客户经常会问到的一个参数。一般情况下,扫描范围越大,曝光时间越长,扫描频率越低。这个参数还分为全幅扫描频率和ROI扫描频率。

3.公式:最大扫描速度=扫描频率*线间距。假设我这里有一个相机扫描频率为1000,线间距为1um,那么1秒他最快只能扫1mm,如果被测物体长1cm,那么我需要扫描至少10秒钟才能将这个物体的长度扫出来。一般情况下,相机的最大扫描频率是固定的,所以只能改动线间距,线间距和编码器或者外部信号有关,也就是说,如果想加快扫描速度,那么只能加大编码器的信号,也就是让物体或者相机的移动速度变快。但是速度过快也可能导致缺少数据细节,导致某些缺陷没有捕捉到。

  

  下面这张图就是对3D传感器的一些参数的可视化,来自于某视觉公司的培训PPT。

下面我们来看一下基恩士的产品目录中的参数列表:

对比前面的参数可视化图,是不是觉得这些参数都比较容易理解了。

现在对于这些参数是不是一目了然。

将一些专业术语理解透彻,不仅在面对客户时可以更加专业,也是为了可以在客户现场更好的解决问题。

目前3D视觉有着2D视觉无法比拟的优势,但3D视觉同样也有一些重难点需要解决。

比如如何知道一个物体能否被准确的扫描出来呢,测量是否成功取决于有多长时间可以用于测量。被测物体通过探头光束的速度越慢,越多时间可以被用于测量。因此,不能简单的认为一个静态测量可行,就一定意味着动态测量也是可行的。测量的结果也取决于被测物体表面的反光特性。也就是说被测物体表面的反光性或吸光性的强弱,会决定是否可以测得有效信号。被测材料本身也会影响测量结果。举例来讲,如果半透明被测物体的透明度过高,测量信号可能完全失真了。最后一个应该考虑的因素是被测物体的轮廓缺陷,可能产生阴影的轮廓以及多次反射的表面影响。以上这些基本因素都可能明显影响测量信号质量以及测量结果。

除去上面提到的这些影响因素,一个清晰可识别的轮廓表面反射的持续信号仍然可能是难以使用的缺损信号。如果想避免这种情况,轮廓仪的每一个独立参数都必须正确设置并适合被测物体。使用正确的滤波器以及曝光时间的设定,往往能够改善不良信号,经过不断尝试最终可以完成测试。举例来讲,测量一个快速移动的黑色橡胶被测物体,较短的曝光时间和被测物体的高吸光性都会更容易导致一个不良的测量结果。而与之相反,如果黑色被测物体不移动或较慢移动,较长的曝光时间可能更有助于获得完整的轮廓信息。但是这样就会影响到检测速度,各有利弊。

目前3D视觉在扫描透明物体比如玻璃的时候效果往往不佳,因为玻璃是可以直接让激光透射过去的,导致CMOS芯片上难以成像,还有一个就是多重反射的问题,也会造成成像错误。

此外,3D视觉还会遇到一个视觉阴影问题,也就是处于相机扫描角度的原因,会出现视野盲区。

所幸是目前学术界对于计算机视觉和3D视觉很是热衷,越来越多的新技术开始出现,开始弥补上述的缺点,据我所知,上述这些问题现在都已经有看了可行且可以落地的结局方法,以上就是大致的总结。

本文为[EdwardChenDy]所创,转载请带上原文链接,感谢https://www.cnblogs.com/jackchenor/p/12964309.html

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

3D视觉基础(基本原理及3D传感器基本参数)相关推荐

  1. 3D视觉之线激光3D相机

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨飞鸢逐浪@知乎 来源丨https://zhuanlan.zhihu.com/p/48651663 ...

  2. 3D视觉 之 线激光3D相机

    3D视觉 之 线激光3D相机 飞鸢逐浪 专注于机器视觉.OpenCV.C++编程 84 人赞同了该文章 1 3D 视觉 常见的三维视觉技术,包含双目.ToF.激光三角.结构光等,如下图: 1)毫米级 ...

  3. 3D视觉应用开发--机器人3D互动四大技术难点分析

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 先回顾一下需要达成的应用场景:简单说就是利用3D视觉传感技术实现人 ...

  4. 【3D视觉原理】2-3D传感器原理

    文章目录 内容概要 3D光学测量方法概述 被动测距 单目立体视觉(精度不高) 聚焦法 离焦法 双目立体视觉(精准) 多目立体视觉(更精准) 主动测距 结构光法 光点法 光条法 光面法 飞行时间法(To ...

  5. 如何更高效、系统地学习3D视觉?

    前言 很多粉丝在公众号后台留言,不知如何入门3D视觉.3D领域的主线是什么,一些难点该如何解决,有哪些方法,导师新开的3D视觉方向无人指导等等.这些痛点,工坊的许多童鞋都踩过坑,也为大家提出了许多非常 ...

  6. 如何更高效更系统地学习3D视觉?

    前言 很多粉丝在公众号后台留言,不知如何入门3D视觉.3D领域的主线是什么,一些难点该如何解决,有哪些方法,导师新开的3D视觉方向无人指导等等.这些痛点,工坊的许多童鞋都踩过坑,也为大家提出了许多非常 ...

  7. 超详细的3D视觉学习路线汇总

    微信公众号推荐 [3D视觉工坊简介] 公众号[3D视觉工坊],致力于3D视觉算法.SLAM算法.三维重建.点云处理.深度学习.目标检测.语义分割.自动驾驶感知算法等领域的技术传播,注重内容的原创分享和 ...

  8. 那些你不知道的3D视觉知识点,都在这里啦!

    前言 很多粉丝在公众号后台留言,不知如何入门3D视觉.3D领域的主线是什么,一些难点该如何解决,有哪些方法,导师新开的3D视觉方向无人指导等等.这些痛点,工坊的许多童鞋都踩过坑,也为大家提出了许多非常 ...

  9. 学习3D视觉太痛苦了,有哪些高效地学习方法呢?

    前言 很多粉丝在公众号后台留言,不知如何入门3D视觉.3D领域的主线是什么,一些难点该如何解决,有哪些方法,导师新开的3D视觉方向无人指导等等.这些痛点,工坊的许多童鞋都踩过坑,也为大家提出了许多非常 ...

最新文章

  1. 高性能存储之--快速理解redis(简版)
  2. c语言扩展运算符是什么,扩展运算符(spread)是三个点(…)
  3. qq五笔linux,QQ五笔 - 五笔小字典 QQ绑定很实用
  4. php 前端加密密码,WEB前端对应PHP后端的AES加密解密代码
  5. 计算机科学与技术毕业生简历,计算机科学与技术专业应届毕业生简历范文
  6. python excel操作xlwt_关于python操作excel,xlwt,xlwd,最简单的操作介绍
  7. x264源码下载信息
  8. 读书笔记《Unix编程艺术》一
  9. 设计Instagram
  10. 微处理器 微型计算机 单片机之间有何区别,微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有什么区别?...
  11. idou老师教你学istio :基于角色的访问控制
  12. mt7620a上tf卡驱动的支持
  13. Spring AOP源码(1)—<aop:config/>AOP配置标签解析【一万字】
  14. 除硬件外计算机系统不可缺少的是,银河系重约多少个太阳质量?
  15. 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day15-阶段项目(拼图小游戏)(上篇)
  16. 这些年,为保住阿里饭碗学习的并发编程
  17. 计算机osta试题,OSTA试题库(参考).doc
  18. 一號倉:《漫》--《Code review》
  19. 关于Unity中更新到HDRP会导致材质变粉色的问题
  20. JS用户输入出生年份计算年龄

热门文章

  1. 【代码笔记】HTML+CSS+JAVAScript+jQuery滑过图标下滑列表
  2. 我为什么选择超级IP名片
  3. TensorFlow学习笔记之 bmp格式、txt格式数据转换成tfrecord 格式
  4. 电商行业市场行情解析,shopee虾皮平台讲解
  5. 向上滚动 终端_linux命令行终端的翻屏滚屏
  6. 全网最详细的HCNR200线性光耦模拟量隔离电路设计解析(看遍了网上抄来抄去的文章都没用,后来自己研究出来且仿真通过,在此给广大学子一个正确的导向)
  7. 第2讲 C语言 赋值语句
  8. 2018年年底Android悲催的面试之路
  9. 抱歉,“知识付费”真的治不了你的焦虑
  10. 【Gaze】Generating Image Descriptions via Sequential Cross-Modal Alignment Guided by Human Gaze