深度摄像头简要介绍

1.3D深度摄像头介绍

        3D深度摄像头与普通摄像头的区别在于,除了能够获取平面图像,还可以获得拍摄对象的深度信息,也就是三维的位置和尺寸信息,于是整个计算系统就获得了环境和对象的三维立体数据,这些信息可以用在人体跟踪、三维重建、人机交互、SLAM等领域。

2.三种主流技术

        1.结构光

        通过激光的折射以及算法计算出物体的位置和深度信息,进而复原整个三维空间。结构光的代表产品有微软的Kinect一代。通过发射特定图形的散斑或者点阵的激光红外图案,当被测物体反射这些图案,通过摄像头捕捉到这些反射回来的图案,计算上面散斑或者点的大小,跟原始散斑或者点的尺寸做对比,从而测算出被测物体到摄像头之间的距离。

目前是业界比较成熟的深度检测方案,很多的激光雷达和3D扫描技术都是采用的结构光方案。不过由于以折射光的落点位移来计算位置,这种技术不能计算出精确的深度信息,对识别的距离也有严格的要求。而且容易受到环境光线的干扰,强光下不适合,响应也比较慢。

 

典型的结构光方案包括:PrimeSense(微软Kinect1代)、英特尔RealSense(前置方案)。

 

        2.飞行时间法(TIme of Flight)

        TOF系统是一种光雷达 (LIDAR) 系统,可从发射极向对象发射光脉冲,接收器则可通过计算光脉冲从发射器到对象,再以像素格式返回到接收器的运行时间来确定被测量对象的距离。TOF系统可同时获得整个场景,确定3D范围影像。利用测量得到的对象坐标可创建3D影像,并可用于机器人、制造、医疗技术以及数码摄影等领域的设备控制。

TOF方案的优点在于响应速度快,深度信息精度高,不容易受环境光线干扰,这些优点使其成为移动端手势识别最被看好的方案。代表厂商有微软(Kinect2代)、意法半导体、英飞凌、德州仪器等。

 

        3.双目多角立体成像(MulTI-camera)

现在手势识别领域的佼佼者Leap MoTion使用的就是这种技术。它使用两个或者两个以上的摄像头同时采集图像,通过比对这些不同摄像头在同一时刻获得的图像的差别,使用算法来计算深度信息,从而多角三维成像。

Leap MoTion方案使用2个摄像机获得左右立体影像,该影像有些轻微偏移,与人眼同序。计算机通过比较这两个影像,就可获得对应于影像中物体位移的不同影像。该不同影像或地图可以是彩色的,也可以为灰阶,具体取决于特定系统的需求。

双目多角立体成像方案的优点在于不容易受到环境光线的干扰,适合室外环境,满足7*24小时的长时间工作要求,不易损坏。缺点是昏暗环境、特征不明显时不适合,目前应用在智能安防监控、机器人视觉、物流检测等领域。

3.列举几个不同的摄像头

        1.Kinect v1

用的是Kincet1代,测距是0.6到4m,帧率30, 总的来说精度还是满足要求的,可以算是用过的里面比较准的(不敢说自己用过很多)。

它的彩色图和深度图在匹配性很好(个人感觉),测距精度可以达到几毫米。

但是深度图会出现一般深度图的缺点,就是会有空洞,在物体的边缘处也会出现空洞,面对一些材质,对于红外光的反射也很差,出现大面积的黑色(像素值是0),如果运动过快,摇晃的太过距离,图像的空洞也比较明显。

图像的左右边缘都是黑色(大概有50列像素),上下边缘也是黑色(大概是20-30行像素)。

另外Kinect需要使用Openni或者官方的SDK去开发。
        

        2.Fotonic 摄像头

也是一种深度摄像头,但是比较而言,没有Kinect的深度效果好。

深度图来说不及Kinect v1 v2 的精度,要稍微大一点。
 

        3.ZED摄像头

算是质量比较好的摄像头了,有自带的比较成熟的API,增加了一个位置追踪的程序,能够实现全场定位,但是测试之后发现抖动、颠簸(这是指那种剧烈的颠簸)对于摄像头的精度影响很大,几乎不能用,如果使用在轮式机器人上面倒是可以试一试(其实用来做slam是比较好的,奈何不会用,就只是测试了它的官方的历程)。

具体的测试情况如下: 

1、手持摄像头,在运动不剧烈的情况下,4.5m的偏差5cm, 6m偏差10cm

2、剧烈的震动的情况下,3m就会出现1m的偏差

同时这个Positional Tracking 程序还只能够识别静止的场景。在有人的时候会出现无法识别的情况(这是指活动的人在图像中占据了一大半的情况),同时对于纯净的背景(没有任何东西的单调平面)来说也没有办法实现定位(应该是基于提取特征点的方式),有很大的漂移。

它通过两张彩色图计算得到深度图,可以提取深度的信息,但是深度图还没有Kinect的广,几乎不是方形的深度图(类似椭圆,但并不准确)。

但是视场角是比较广的,看的比较广。

zed算是比较轻的,只有230克左右。

zed的接口也要求是3.0的接口,2.0的会出现很严重的掉帧现象(只有15帧),如果zed无法使用,有一个工具(在zed sdk里面)可以测试是什么问题。
 

猜你喜欢

转载自blog.csdn.net/qq_58060770/article/details/127301994