向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

3D视觉为机器人增加“眼睛”

时间:2019-05-10 作者:Richard Quinnell 阅读:
人类之所以能够驾驭这个世界,是因为具有三维(3D)感知能力。而这个能力也可以赋予给我们的机器人。但人类感知三维的方式也许并不适用于机器。要引导机器人运用深度传感视觉,需要考虑三个关键方法:立体视觉、结构光和飞行时间(ToF)。

人类之所以能够驾驭这个世界,是因为具有三维(3D)感知能力。而这个能力也可以赋予给我们的机器人。但人类感知三维的方式也许并不适用于机器。要引导机器人运用深度传感视觉,需要考虑三个关键方法:立体视觉、结构光和飞行时间(ToF)。uC7ednc

机器人系统已经存在了几十年,但直到最近它们大多都是盲目工作。只需为机器人配备接触传感器、接近传感器和位置传感器,它们就可以优雅地进行精心编排的、无休止的重复动作,可以操纵重型材料,执行精密装配,或焊接复杂的结构。但是,它们工作的成功与否,取决于其环境的精确性、必用材料的精确放置,以及对其运动轨迹的仔细绘制和编程。uC7ednc

然而,这种情况正在发生变化。机器视觉和视觉智能方面的研究、半导体制造的进步,以及图像传感器在手机市场上的应用,简化了视觉系统的开发并降低了其成本,使其成为了一种扩展机器人功能的越来越具成本效益的选择。借助视觉(特别是3D视觉)的引导,机器人将变得更能够与自由世界交互,工作起来更灵活,也更容易适应新的任务。uC7ednc

然而,特定的机器人所需的视觉特性高度取决于应用。例如,对于那些必须通过视觉引导在杂乱的仓库里移动的机器人来说,它们需要对动态环境进行远程感知,但只需要提供适当的精度。固定机器人的需求则可能完全不同,例如有些机器人用来将箱子里所混合的零件取出,并按相同类型进行堆放,这可能只需要在有限的范围内提供高精度的视觉。执行精密装配的机器人则又有另一套需求。因此,要确定采用哪一种3D视觉方法,首先要对机器“观看”的工作方式有所理解。uC7ednc

立体机器视觉

由于和人类观看的方式相似,最容易理解的3D方法是立体视觉。这是一种三角测量法,即用相隔一定距离的摄像头去捕获两个(或多个)图像(或用一个摄像头在图像之间移动),然后通过比较来确定摄像头视场中物体的距离。将摄像头分离会产生视差,这样,较近物体相对远处背景的对齐就会不同——物体越接近摄像头,视差越大。uC7ednc

图1给出了一个简单的示例。图中的两个摄像头沿平行轴指向相同方向,其传感器对齐并相隔基线距离B,每个摄像头都会捕获一个3D空间(X,Y,Z)的点(P)图像。捕获的图像中,该点在其2D图像平面上的位置将会不同(uL和uR)。几何上,该位置相当于从P点向摄像头引一条射线,穿过一个垂直于摄像头光轴(ZA)、距离等于摄像头镜头焦距(f)的平面所得的交点。uC7ednc

3dvision-1uC7ednc

图1:简单的立体视觉几何图。uC7ednc

如果取每个摄像头的ZA与该平面相交的点作为每个图像2D坐标系的原点,那么计算两个成像点之间的距离,就可以获得该点的视差(d)。然后,就可以很容易地计算出该点到图像平面的距离(深度):uC7ednc

深度 = f * B/duC7ednc

但是通常现实世界中的系统不是那么容易对齐的。图2给出了一种更通用的设置,其中,每个摄像头都有自己的坐标系,它们以其光轴方向和图像传感器像素栅格的旋转方向来界定。确定图像点视差要比简单的距离计算更复杂,这涉及到坐标变换和几何校正,但三角测量原理是相同的。uC7ednc

3dvision-2uC7ednc

图2:现实世界中的立体视觉几何图。uC7ednc

幸运的是,有大量的商用和开源软件可以处理这些计算。还有一些软件可使用摄像头栅格图像来确定所有必要的坐标变换,这样开发人员就不需要精确地确定摄像头方向。因此,计算空间中单个点的深度信息就变成了机器视觉系统中相对简单的一项运算。uC7ednc

但是,这当中仍然存在许多其他的计算挑战。其中最重要的一个是让系统确定不同摄像头图像中是哪个点对应于空间中的相同物理点。这个确定过程可能涉及极为复杂的相关过程,需要将来自一幅图像的一小组像素与构成另一幅图像的所有组像素进行比较来确定哪些组匹配,然后对构成第一幅图像的所有小像素组重复该过程。uC7ednc

结构光深度测定

第二种3D视觉方法——结构光——可简化上面这个相关过程,设计人员应当留意这个优势。这种方法在三角测量工作中用投光机取代了其中一个摄像头。投光机生成一个已知的光斑,然后系统将摄像头图像与这个已知光斑进行比较。所捕获图像中的结构光光斑会因为被测对象上的每个点深度不同而产生失真(图3)。在这个例子中,可以使用基线和两条射线之间夹角计算出P点的深度(R):uC7ednc

R = B (sin α)/sin (α + θ)uC7ednc

3dvision-3uC7ednc

图3:结构光系统根据已知光斑产生的反射光失真来计算深度。uC7ednc

目前业界已针对场景的深度信息提取开发出各种各样的结构光方案(图4),但其中有许多针对的是物体扫描而不是机器人运动控制。其中一些结构光方案产生图像序列所使用的光斑包含若干条纹,其宽度从一个图像到下一个图像依次减半(二进制编码)。还有类似采用格雷码或相移条纹的连续光斑也有使用。要利用单个图像捕获深度信息,可以利用连续变化的颜色编码图案,或对条纹图案编制索引,即每个条纹都与其他条纹不同。使用激光器或微镜光控制器可以很容易地创建这样的图案,而amsFinisarTI等公司也都专门针对结构光光源制造器件和控制器。uC7ednc

最近越来越流行的一种结构光方法是以伪随机图案来排列编码形状或二进制点所组成的栅格。系统使用人眼看不见的红外(IR)光来投射这种栅格图案,并且因为栅格是静止的,所以可以使用简单的全息光栅来创建图案。使用这种方法的商用深度传感摄像头系统现已上市。(请参见EDN姊妹刊物Electronic Products上发表的《Designer's guide to 3D cameras》一文)。uC7ednc

红外光的使用在视觉引导机器人应用中具有两个明显优势。首先,它可以使视觉系统与人类一起工作,而不会因结构光投射而为人类带来的视觉混乱。其次,使用红外光还可简化将结构光与环境光分离的工作。uC7ednc

3dvision-4uC7ednc

图4:3D结构光的种类。(来源:OSA,《Structured-light 3D surface imaging: A tutorial》)uC7ednc

飞行时间深度测量

第三种3D视觉方法——飞行时间(ToF)——完全没有使用三角测量法。ToF 3D成像是直接测量深度,也就是确定光从光源到达环境中的物体然后返回所用的时间。在这方面,ToF类似于激光雷达(LIDAR)。然而,ToF方法不是用窄激光束扫描环境来构建深度图像,而是针对整个视场同时确定距离。半导体技术在不断进步,如今的传感器设计已经可以实现每个像素都可以向控制电子逻辑提供自己的信号,进而提取出计时信息。uC7ednc

ToF的一个挑战在于能够在有意义的范围内实现精确计时,从而获得精确的深度信息。光在空气中的传播速度约为1ft/ns(c),因此光脉冲必须使用数GHz时钟,才能分辨小于1ft的尺寸。类似地,传感器信号必须以亚纳秒精度进行测量。但是,这么短的脉冲所含光子数量有限,也即传感器接收到的光子数太少,从而导致信噪比(SNR)不佳。uC7ednc

尽管如此,仍有传感器使用直接时间测量法。Teledyne e2v的1.3MP BORA CMOS图像传感器提供距离选通成像,其全局快门开关可使传感器仅在很短的一段时间内针对特定深度平面收集光子。通过结合多次光照的结果,该传感器可以建立更强的信号用于处理。若在整个系统范围内扫描快门计时,该系统就可以在其深度范围内构建完整的深度图。uC7ednc

然而,更常见的一种方法是检测发射信号与反射信号之间的相位差来获取深度信息。图5给出了这种方法,反映了反射信号与方波发射脉冲(也可以是其他调制波)之间的关系。物距越大,关联信号越短,并且信号在多个周期内的积分值越低。由于对信号强度进行积分测量起来会比瞬时计时更加精确,因此这种方法的深度测量精度会比简单计算信号返回时间更高。目前,InfineonpmdTI等公司都提供这类ToF传感器,其中一些更具有可执行所有深度计算的内置电路。uC7ednc

3dvision-5uC7ednc

图5:ToF通过比较反射信号与发射信号的时序来直接测量距离。uC7ednc

不幸的是,这两种方法均存在深度混叠的问题。ToF方案中,光源的调制频率(f)决定了最大不模糊距离,为R = c/2f。假如光脉冲速率是100MHz,则传感器可以清楚分辨的最大范围是5ft(10ns往返)。如果一个物体在6ft以外,其相关信号与1ft外的物体别无二致。也就是说,6ft远的物体对脉冲N的反射光线,其到达传感器的时间与1ft远的物体对脉冲N+1的反射相同。uC7ednc

降低调制频率可增大不模糊距离,但也有不利后果。释放的光子数较少,会使信噪比变差,或需要增加积分时间。这两种结果都不可取。uC7ednc

有一种解决方案是通过在光源中混合两种调制频率,来实现信号的去混叠。然后,传感器信号处理可以在对信号进行积分之前分离频率。其总返回信号较高,可提供良好的信噪比;不同的频率所混叠的距离不同,有助于解决距离模糊问题。该方案的最大模糊距离为光速除以两个频率最大公分母的两倍。uC7ednc

R = c/2*GCD(f1, f2)uC7ednc

根据需求匹配优势

上述3D视觉方法各有优劣,开发人员应根据其应用需求进行评估和选择;了解各种3D视觉技术的含义对于选择正确的方法也至关重要。例如,立体视觉系统可以使用传统的摄像头,并且无需使用集成式光源,所以这种方法成本低廉并且更容易集成到设计中。但是立体视觉系统的深度精度取决于其在多幅图像中找到对应点所需的计算性能,而且物体距离越远,深度分辨率越差。立体视觉系统在应对光滑表面和重复图案上也存在问题,这两者都使找到对应点的任务变得更复杂。uC7ednc

另一方面,结构光方法也使用传统摄像头,但只需要一个。其不需要有很强的计算性能,因此有助于降低成本。但其需要使用集成式光源,其强度会影响工作距离。在环境光可控或被滤除的情况下,其效果最佳,例如在封闭空间中。uC7ednc

ToF系统的计算强度最低,由于摄像头通常直接向系统主机提供深度信息,因此大大降低了计算需求。然而,与结构光一样,系统需要使用集成式光源,其功率会影响系统的距离,环境光不受控也会导致问题。此外,光源的调制频率也会影响距离。uC7ednc

无论哪种方法最适合您的应用,为机器人配备视觉引导正变得越来越容易。现货摄像头系统和视觉软件(商用和开源)也使事情变得更简单。此外,为下一代智能手机提供3D视觉功能的研发,有望进一步降低3D视觉的成本和复杂性。uC7ednc

本文为《电子技术设计》2019年5月刊杂志文章。uC7ednc

uC7ednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
您可能感兴趣的文章
  • 2020三大关键词:带宽、边缘设备、PoE 2020年的新标准、新产品和新服务将推动边缘设备对更高带宽和更多PoE供电的需求,影响将覆盖智能家居和智慧城市、智能楼宇和体育馆,以及矿场、工厂和仓库等广泛的联网环境。
  • AR/VR挺进智能制造最前线 随着Oculus Rift和Sony Playstation Virtual Reality成功吸引市场关注,AR/VR系统供货商下一阶段的任务是让系统更加实用,而制造商则积极寻找从各种方面导入AR/VR技术的方法…
  • 48 V机器人的兴起 机器人的迅速普及不仅限于工业领域,到2018年为止已部署了25万台“专业服务”机器人。这是惊人的增长,年增率超过60%。五分之二已部署的服务机器人被归类为自动导引车(AGV),主要用于物流和制造业。个人和家用机器人市场的增长速度相似(约为60%),目前包括约1,630万台机器人,用于吸尘、教育和研究等各种任务。
  • 工信部面向软件和信息技术服务企业征集抗疫困难、意见 随着春节后各企事业单位陆续复工,疫情防控进入关键阶段,组织引导软件和信息技术服务企业主动承担社会责任,向社会免费开放各类信息资源以及协同办公等多种软件,保障各行业复工复产,为助力打赢疫情防控阻击战做出积极贡献。
  • 用于电机控制的优化∑-∆调制电流测量 在高性能电机和伺服驱动器中,基于隔离式sigma-delta(Σ-Δ)的模数转换器(ADC)已成为首选的相电流测量方法。这些转换器以其强大的电流隔离和卓越的测量性能而闻名。随着新一代ADC的推出,其性能也在不断提高,但是,要充分利用最新的ADC的功能,就需要对其他的电机驱动器进行相应的设计。
  • 人工智能时代不断变化的工业格局 尽管AI技术并不是什么新鲜事物,但数据的爆炸式增长促使AI以惊人的速度发展,例如在百度和谷歌等数十亿次的搜索提供了相当大的实时数据集,支持了AI的蓬勃发展。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告