单摄像机无人机获取裸眼3D视频的方法
2020-05-11尹业超赵悟翔王琼华
尹业超,赵悟翔,王琼华
(1. 四川大学 电子信息学院,四川 成都 610065; 2. 北京航空航天大学 仪器科学与光电工程学院,北京 100191)
1 引 言
与二维(2D)显示相比,裸眼3D显示对现实世界有较直观的描述,显示的效果更加逼真[1-4]。应用无人机获取裸眼3D实时场景技术提供清晰的地形地貌是当前军事和民用领域研究的热点[5-11]。目前通过实景3D建模、虚拟3D建模以及其他的传统3D建模技术来实现高精度的重建效果需要耗费大量的人力和时间,而通过摄像机阵列拍摄视频制作成立体播放器所需的立体视频片源格式,可以大大减小这方面的消耗,实现高精度的裸眼3D实景重现[12-13]。平行摄像机阵列法是摄像机阵列法主要的摆放方式之一[14]。平行摄像机阵列法的各相机光轴互相平行,物平面重合,获取的视差图像没有楔形失真和垂直视差。但是摄像机阵列的相机间距会影响立体显示观看效果,间距太小立体感会较弱甚至观看不到立体效果,间距太大会产生视疲劳甚至还会超出人眼融合范围失去立体感。为了获得较好的立体显示效果,针对不同被拍摄场景的距离就需要设置不同的相机间距[15-17]。然而摄像机阵列体积较为庞大,信号流远程传输之间具有串扰,难以搭载在无人机之上,即使可以搭载摄相机阵列,无人机在空中飞行时调整相机间距也将变得较为困难,目前用于航拍的无人机主要搭载的都是单摄像机,这样就制约了航拍3D场景技术的发展。
针对上面提到的单摄像机普通无人机的立体拍摄问题,本文提出一种单摄像机无人机获取裸眼3D视频的方法,并制作出裸眼3D显示器的立体视频片源。该方法在解决目前单摄像机无人机难以搭载相机阵列获取裸眼3D视频问题的同时,避免了平行摄相机阵列法针对不同被拍摄场景调整相机间距不便的缺陷。
2 原 理
单摄像机无人机获取裸眼3D视频的方法是在平行摄像机阵列法的基础上,针对不同被拍摄场景的距离选取不同的计算所得相应帧,相应帧模拟的是平行摄相机阵列进行3D拍摄时的视差图像,最终将多段视差视频制作成一段多视点的裸眼3D立体视频片源用于裸眼3D显示器的播放。
当单摄像机无人机在空中水平飞行时,其原理结构如图1所示,其中D表示模拟的立体相机间距,α表示摄像机的水平视场角,L表示摄像机与被拍摄场景的距离,d表示空间坐标中的真实视差,S表示相机世界对焦平面宽度。无人机保持匀速水平飞行,其飞行速度为V,摄像机获取视频的帧率为f。通过无人机在空中匀速水平飞行,其不同时刻获取的图像可以等效看作相机阵列在同一时刻获取的同一物体的视差图像。根据几何光学原理可以得到各个参数之间的关系如式(1)、式(2)所示:
(1)
d=D.
(2)
图1 单摄像机无人机获取视差图像原理示意图Fig.1 Schematic diagram of parallax image acquisition by single-camera unmanned aerial vehicle
假设视差图像在裸眼3D显示器上显示时的水平宽度为H,空间坐标中的真实视差d对应裸眼3D显示器的水平视差值为ΔX,H和ΔX单位均为像素。则有:
(3)
图2 拍摄视频取帧获取视差原理示意图Fig.2 Schematic diagram of parallax acquisition by shooting video frame
单摄像机拍摄视频获取视差视频的原理示意图如图2所示。无人机在空中水平匀速拍摄一段视频,经过完整取帧后得到视频的所有帧。其中每相邻两个视差视频起始帧数之间的差值称为帧距,用字母p表示。为了获取多段等视差的视频图像制作裸眼3D立体视频片源,截取视频中的第1帧到第k帧为Video-1,第p+1帧到第p+k帧为Video-2,以此类推,第p×(n-1)+1帧到第p×(n-1)+k帧为Video-n。本实验为8视点裸眼3D显示器提供裸眼3D视频,因此,n取8,并按以上提取视频帧的方法,获取8段帧距为p的k帧视频图像。模拟的相机间距如下:
(4)
由式(1)~(4)可得:
(5)
对于参数确定的无人机和裸眼3D显示器,显然式(5)中的α、V、H、f是可以确定的。针对特定的L,根据所需的ΔX值就可以求出相应的p值。这样就得到了水平视差值ΔX与帧距p之间的定量关系,从而对不同拍摄距离的场景通过帧距的选取获得较为理想的视差。
3 实 验
为了证明提出的单摄像机无人机获取视差视频方法的可行性,我们制作了一台165 cm(65 in)柱透镜光栅裸眼3D显示器,其主要参数如表1所示。
此外,在本实验中采用如图3所示的大疆御MAVIC进行图像拍摄。其中无人机摄像机的视场角为78.8°,视场角是以成像面的对角线计算,相机成像面的长宽比为16∶9,由此计算出α=71°。已知无人机获取视频的帧率f=30 Hz,在无风无气流的理想状态下V=1 m/s,制作的裸眼3D显示器H=3 840,根据裸眼3D显示器的参数选取视差大小为单个像素即ΔX=1。将式(5)代入数值则有:
表1 裸眼3D显示器的主要参数Tab.1 Main parameters of the naked-eye 3D display
(6)
因此,根据不同拍摄距离L,只需选取不同的帧距p即可获得合适的视差图像。
图3 无人机Fig.3 Unmanned aerial vehicle
我们取了两个拍摄场景进行实验,分别为场景1和场景2。如图4(a)、(b)所示,场景1的拍摄距离约为L1=300 m,场景2的拍摄距离约为L2=90 m,其数据由百度地图测距得到。将L1=300 m、L2=90 m代入式(6)可得p1=3.3、p2=1,实验过程中帧距无法取小数位,故本实验中帧距p1取整为3,按照上述提取视频帧的方法分别对两个场景的拍摄视频进行截取,获得8段视差视频,将这8段视频制作成裸眼3D显示器的立体播放器所规定格式的立体视频片源,可得场景1和场景2的立体视频片源单帧图像分别如图5(a)、(b)所示。
图4 摄像机与拍摄场景测距图。(a) L1=300 m;(b) L2=90 m。Fig.4 Ranging diagram of camera and shooting scene. (a) L1=300 m;(b) L2=90 m.
图5 立体视频片源单帧图像。(a)场景1;(b)场景2。Fig.5 Stereo video source single frame image. (a) Scene 1;(b) Scene 2.
在最佳观看距离3.5 m处,场景1通过裸眼3D显示器在同一时刻同一位置左右视角观看到的图像如图6(a)、(b)所示,图6(a)中两栋建筑物后场景有部分被遮挡,图6 (b)中可以清晰地看到两栋建筑物后的场景,双眼进行融合时可以看到较佳的立体显示效果;场景2通过裸眼3D显示器在同一时刻同一位置左右视角观看到的图像如图6(c)、(d)所示,可以观看到两幅图像中树木对车辆的遮挡稀疏密度不一致,图6(c)中最下方车辆几乎完全被遮挡,图6 (d)中可以看到最下方车辆的大致轮廓,同样双眼进行融合时可以观看到较佳的立体显示效果。为了验证根据计算所得帧距p选取的相应帧合成的视差图像可以达到最佳的立体显示效果,针对场景1选取了p=2,3,4,5四种情况进行了另外一组对比实验,在裸眼3D显示器上的显示效果分别如图7(a)~(d)所示。当p=2时,虽然图像较清晰,但立体显示效果较弱,基本观看不到;当p=3时,图像也较为清晰,且立体显示效果较佳;当p=4时,视差略大,观看一段时间会产生眩晕感;当p=5时,视差过大,超过人眼融合范围失去立体感。实验结果与理论分析相吻合,从而验证了该方法的可行性。
图6 立体视频片源单帧图像显示效果。(a) 场景1左视图;(b) 场景1右视图;(c) 场景2左视图;(d) 场景2右视图。Fig.6 Display effect of stereo video source single frame image. (a) Left view image of scene 1;(b) Right view image of scene 1;(c) Left view image of scene 2;(d) Right view image of scene 2.
图7 不同帧距合成视差图像的显示效果。(a) p=2;(b) p=3;(c) p=4;(d) p=5。Fig.7 Display effect at different frame distance composite parallax image. (a) p=2;(b) p=3;(c) p=4;(d) p=5.
4 结 论
本文提出了一种单摄像机无人机获取裸眼3D视频的方法,该方法在平行摄像机阵列法的基础上,推导出拍摄距离与帧距之间的定量关系,针对两个不同场景的拍摄距离分别计算出各自的帧距值,提取各自相应帧制作成裸眼3D立体视频片源,在裸眼3D显示器播放时都能观看到清晰逼真的裸眼3D实景重现,从而验证了该方法的可行性。该方法在解决目前单摄像机无人机难以搭载相机阵列获取裸眼3D视频问题的同时,避免了平行摄相机阵列法针对不同被拍摄场景难以调整相机间距的缺陷,从而为普通无人机拍摄真实3D场景制作成裸眼3D立体视频片源提供了参考。