机器人立体视觉相机–教程与资源

机器视觉基于数字图像中的信息,并且可以根据应用程序设计视觉系统,以进行检查,引导,检测,跟踪等。人眼视觉系统是观察环境并提取信息的最复杂,功能最强大的视觉解决方案。 。建立了具有生物视觉的类似系统用于机器人应用,称为立体视觉。

立体视觉系统旨在从数字图像中提取3D信息,并将其用于检查两幅图像中对象的位置,以构建一种先进的对象识别系统,该系统可以识别处于不同布置的对象(例如,将对象放置在一个对象之前)其他),跟踪不同的对象等。

因为立体视觉类似于人类的生物系统,所以某些功能是相同的。例如,一个人的两只眼睛看到的是同一环境的略有不同的视图。立体视觉系统具有两个位于已知距离的摄像机,并同时拍摄场景照片。使用摄像机的几何形状,我们可以应用算法并创建环境的几何形状。

立体视觉系统的优势包括其在提取各种信息(如颜色或尺寸)方面的可靠性和有效性,可以用于不同的视觉例程(如跟踪或检测物体),并且’一个不受环境影响的无源传感器。

本文的主题是一系列最受欢迎的立体视觉传感器以及如何使用它们的教程。

立体相机传感器

适用于简单到复杂应用的各种3D立体视觉传感器。
各种各样的相机传感器使选择更加困难,在购买任何立体视觉系统之前,必须先计算一系列功能。一些相机更敏感,而另一些相机则具有让用户指定比特率,图像质量,设置快门速度或图像中平均照度的能力。

例如,对于移动式室外机器人,最好在广阔的视野中使用,以捕获可能正在移动的大量物体,这些物体一次将进入机器人的范围。

焦距是固定的还是可变的,每秒需要多少帧,传感器与电子板的接口方式以及最低的相机分辨率是购买相机之前必须考虑的四个功能。

以下是具有不同规格并针对不同应用设计的最受欢迎的立体摄像机传感器的集合。

大黄蜂XB3和大黄蜂2
两个带有完整硬件和软件包的立体视觉相机。大黄蜂2的分辨率为640×480 at 48FPS or 1024×20 FPS时为768,而XB3提供1280的更高分辨率×960 at 15 FPS.

大黄蜂XB3

大黄蜂XB3

Kinect 3D
来自虚拟游戏世界的传感器Kinect受到机器人爱好者的青睐,并用于广泛的项目中。由于它是具有友好界面的3D传感器,因此Kinect是3D视觉的强大工具,可提供640×30 FPS时480像素分辨率。

Kinect 3D

Kinect 3D

验船师立体视觉系统(“SVS”)
开源立体视觉系统,专门为教育,研究或业余爱好者应用而设计。视觉传感器随附1.3兆像素的Omnivision OV9655,可在不同的光照条件下提供清晰的图像。

验船师立体视觉系统("SVS")

验船师立体视觉系统(“SVS”)

巨型DCS
紧凑型立体摄像机视觉系统,可与多种操作系统兼容,并提供1280 x 960像素的最大分辨率。

巨型DCS

巨型DCS

PCI nDepth视觉系统
PCI nDepth基线为6厘米,是一个友好的视觉系统,具有两个宽VGA CMOS数字传感器,分辨率为752×60 FPS时为480像素。

PCI nDepth视觉系统

PCI nDepth视觉系统

恩森索N10
体积紧凑的立体声相机,USB 2.0接口和带有752的3D图像传感器×30 FPS时480像素分辨率。

恩森索N10

恩森索N10

卡佩拉
具有OpenCV库支持的完整视觉系统。相机以30 FPS的速度可以736记录图像×480像素分辨率。

卡佩拉

卡佩拉

Minoru 3D网络摄像头
也许是最便宜的立体视觉摄像头,可以用作普通网络摄像头并具有3D视觉功能。

Minoru 3D网络摄像头

Minoru 3D网络摄像头

蝎子3D毒刺
视觉系统是专门为工业应用而设计的,包括此处的取件机器人,其功能包括捕获图像,识别和定位物体。

蝎子3D毒刺

蝎子3D毒刺

相机校准

为了在立体视觉系统中检测,跟踪或测量不同物体达到高精度,需要进行校准。
将立体视觉系统与机器人连接,然后开始检测,测量或跟踪现实世界中的不同对象并不是一个简单的过程。相机校准的一部分是提高检测和测量物体的准确性,旨在建立图像像素与现实世界尺寸之间的关系。

当可以通过在左右图像中都找到对象并应用三角函数公式来估算场景的对象部分与立体摄像机之间的距离时,就可以拥有同一场景的两个不同的视图。

下面提供了有关立体摄像机校准的一系列教程和指南。

  • 立体校准 –在相机校准中实现针孔相机模型的教程;
  • 如何开始使用Point Grey Bumblebee 2 / XB3立体相机? –指导如何连接和校准XB3或Bumblebee 2立体视觉相机;
  • OpenCV的:立体摄像机校准–教程如何使用OpenCV校准立体视觉相机并开始计算3D素材;
  • 立体视觉(图像校正)Python OpenCV的教程–使用Python编程语言和OpenCV开源视觉软件进行立体视觉系统校准的综合教程;
  • Matlab相机校准工具箱 –立体相机校准可使用不同的工具和方法,在本教程中,可以找到所有有关在立体图像校正和3D立体三角测量中开始使用Toolbox for Matlab的信息。
  • 如何校准立体相机 –初学者逐步使用ROS和cameracalibrator.py节点校准立体视觉相机的逐步指南;

立体视觉传感器教程和指南

OpenCV的或Matlab是两个功能强大的软件工具,广泛用于包括对象与立体声系统之间的距离估计在内的各种应用中。
立体视觉系统可用于不同的应用中,例如相对于立体视觉系统的对象之间的距离估计,以及将立体视觉相机用于图像处理的不同方法,例如来自OpenCV的cvFindStereoCorrespondenceBM,或与Matlab和计算机视觉系统工具箱一起使用计算左右摄像头看到的立体视差。

下面提供了一系列示例,说明如何将不同的视觉系统与OpenCV或Matlab结合使用。

  • 具有OpenCV和QT的立体视觉–指导如何使用两个网络摄像头进行立体图像捕获并基于立体对应关系计算3D深度;
  • OpenCV的立体声匹配–指导如何计算相对于任何对象的立体摄像机的立体视差。本指南还介绍了OpenCV中可用的两种方法。一种方法是cvFindStereoCorrespondenceBM用于非常快速地处理图像,而第二种方法则使用cvFindStereoCorrespondenceGC节点进行图像处理,该节点处理图像的效率很低,但计算精度很高;
  • OpenCV的:立体声网络摄像头–OpenCV源代码,可通过廉价的网络摄像头实现左右图像的可视化;
  • 用于实时立体声成像的Minoru 3D网络摄像头 –教程开始在具有OpenCV,PointCloud和libv4l2cam库的实时应用程序中使用Minoru 3D网络摄像头;
  • 从立体相机接收图像 –OpenCV源代码,用于从Minoru 3D网络摄像头接收图像;
  • 使用Harley的OpenCV进行简单三角剖分& Zisserman –指导如何使用cvTriangulatePoints方法与OpenCV进行三角剖分;
  • 在OpenCV中计算视差图 –示例如何为立体视觉系统计算和使用视差图;
  • 立体视觉 –示例如何将Matlab与Computer Vision System Toolbox一起使用以根据立体图像计算深度图;
  • 在OpenCV 2.3+中通过运动和3D重构轻松构建结构 –分步教程,使用OpenCV和立体视觉系统估计两个图像之间的运动;
  • 迈向立体视觉 –使用两个网络摄像头构建立体视觉系统并开始检测或跟踪物体的综合教程;
  • 如何为立体视觉同步两个CMOS相机模块 –指导如何使用两个CMOS摄像机构建廉价的立体视觉系统;

4条评论 » Write a comment

  1. e-con Systems的另一台立体视觉相机:Tara是基于UVS的USB 3.0立体视觉相机,基于OnSemi成像的MT9V024立体传感器,支持WVGA(1504×480)以60fps的速度通过USB 3.0以未压缩格式显示。

  2. 请注意,Minoru凸轮仅由两个网络摄像头和一个USB集线器组成。
    它在两个摄像机之间没有硬件同步,并且获得了立体声匹配算法’t work well.

发表回覆 爱立信 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *