集成成像技术[1-3]是目前国际上的前沿3D显示方法之一,是一种真3D显示技术.集成成像技术是利用微透镜阵列对物空间场景进行记录,并再现出空间场景3D图像的技术,目前电影院放映的3D电影大多需要佩戴3D眼镜,是基于双目视差原理[4]分离左右眼图像,经大脑融合作用产生立体感,长时间观看会产生视觉疲劳.而集成成像技术不需要佩戴任何装置就可真实再现3D场景,不会产生视觉疲劳.因此具有很好的应用前景.
集成成像系统主要有记录和显示两部分组成.在记录阶段,构成微透镜阵列的每一个透镜元从不同方向记录一部分场景信息,每个透镜元下对应生成一幅不同方位视角的图像元,将所有图像元按对应透镜元在透镜阵列的位置排列组合在一起记录在记录媒体上.在显示过程中,把记录有图像阵列的记录媒体放在用于显示的微透镜阵列的焦平面上,根据光路可逆原理再现物体三维立体图像.
计算机虚拟采集法[5]是目前立体元图像内容采集应用最广的方法.然而直接拍摄EI图像阵列需要放置大量的摄像机阵列,渲染耗时长易出错,很难实现大屏幕立体显示的内容要求.由于立体元图像阵列和子图像阵列之间存在映射的关系[6-7],可通过得到子图像阵列进而求取立体元图像阵列的方法减少所需摄像机个数,实现稀疏采集.
针对现状,本文提出在物体的记录阶段通过三维设计和动画制作软件3DS MAX[8]摆放摄像机阵列拍摄并渲染得到目标物体信息,通过基于颜色的目标物体分割出不同颜色的物体后采用积分投影法求出相邻相同颜色物体图像的水平视差和垂直视差,选取满足条件的几个物体的视差平均值作为最终视差值.这种计算视差的方法的准确性要高于直接跟据积分投影法求物体整体的视差.根据视差平移固定大小的矩形窗截取得到SI图像阵列,经映射得到EI图像阵列,最终通过光学平台拍摄得到立体效果图.验证了稀疏采集的集成成像采集系统.
1 基本原理及方法 1.1 摄像机成像原理3D Studio Max,常简称为3DS MAX,是基于PC系统的三维动画渲染和制作软件.其中的相机模型分为自由摄像机和目标摄像机,均可用于模拟真实相机拍摄三维立体物体.本文在集成成像系统的采集阶段使用3DS MAX中的自由摄像机阵列模拟微透镜阵列,拍摄三维物体的信息并渲染输出.其成像原理[9]见图 1.
图中u为三维物体到相机镜头的距离即物距、f为相机焦距、v为虚拟记录媒体和相机镜头之间的距离-像距,L是三维物体的最大边长,l是在相机的虚拟记录媒体上所成像的边长. θ为视角,见图 2.
根据高斯成像公式有:
$ \frac{1}{u} + \frac{1}{v} = \frac{1}{f}, $ | (1) |
$ \frac{L}{l} = \frac{u}{v}. $ | (2) |
相机的成像范围见图 3,为了不引起被记录三维物体及立体元图像之间的重叠,三维物体的最大尺寸为Lmax,最大观测范围为S,立体元图像阵列包含多个EI图像,定义其最大尺寸为EIs:
$ {L_{\max }} = 2u \cdot \tan \left( {\frac{\theta }{2}} \right), $ | (3) |
$ S = \left( {n-1} \right)p + 2u \cdot \tan \left( {\frac{\theta }{2}} \right). $ | (4) |
得到3DS MAX渲染的彩色图像后,需要将RGB数据转换成HSV空间图像数据,设置不同颜色的阈值范围进行颜色分割[10-12].阈值设置见表 1.
在HSV空间提取不同颜色的分割图像之后再导入RGB空间显示,得到不同颜色分割后的图片.
三维物体上任一点像素发出的光线通过不同位置的微透镜将像成在对应的记录媒体上,由于像素点到微透镜阵列的距离L和微透镜与记录媒体的距离f比值不变,相邻两个微透镜的距离为微透镜的栅距d不变,根据相似三角形原理可知相邻两幅记录媒体上的图像视差均相同.因此只需求出水平/垂直方向两个相邻图像的视差就知道所有水平/垂直方向的视差,见图 4.
由于不同物体之间存在遮挡问题,为提高视差的精确度,我们采用积分投影法分别求取相邻两幅3DS MAX渲染得到的图像中每个不同颜色物体的视差, 选取符合条件的视差值取平均值作为最终求取的视差值.
设水平方向相邻两个相机拍摄图片的视差平均值为dh(h-horizontal, 水平),垂直方向相邻两个相机拍摄图片的视差平均值为dv(v-vertical, 垂直),需要通过大小为M(像素)×N(像素)的矩形窗分别截取大小为M1(像素)×N1(像素)的图像得到SI图像[13-14].首先确定第1排第1列的摄像机截取到SI图像的位置(x(1, 1), y(1, 1)),然后根据积分投影法[15]求取的视差平均值沿水平和垂直方向平移矩形窗依次截取每幅图像得到SI图像阵列.第1行第1列的摄像机拍摄图片中矩形窗左上角坐标为(x(1, 1), y(1, 1)),则第m行第n列的摄像机拍摄图片中矩形窗左上角坐标为(x(m, n), y(m, n)),见图 5.其中:
$ {x_{\left( {{\rm{m, n}}} \right)}} = {x_{\left( {1, 1} \right)}}-\left( {n-1} \right){d_h}, $ | (5) |
$ {y_{\left( {{\rm{m, n}}} \right)}} = {y_{\left( {1, 1} \right)}}-\left( {m-1} \right){d_v}. $ | (6) |
映射关系[16]以图 6、7说明.由立体元图像映射得到子图像的过程见图 6.为达到稀疏采集,我们采用逆映射的方法即由子图像映射求取立体元图像,过程见图 7.左侧是由m×n个大小为i(像素)×j(像素)的子图像拼接而成的一张子图像阵列图片,提取每个子图像中相同位置的像素,将它们按照子图像在子图像阵列中对应的位置组合到一起形成映射单元图片即立体元图像.
根据映射关系,有映射前后图片中像素的对应关系,有映射前后图片中像素的对应关系公式[17].
$ {f_{\rm{f}}}\left( {x, y} \right) = {f_{\rm{a}}}\left( {x\% i \times m + \left\lfloor {x/i} \right\rfloor, y\% j \times n + \left\lfloor {y/j} \right\rfloor } \right). $ | (7) |
式7中映射前图片中像素位置为ff(f-former,映射前),映射后图片中像素位置为fa(a-after,映射后),x和y为映射前像素坐标,x=0, 1, 2, ……(m×i-1), y=0, 1, 2, ……(n×j-1),%是取余,
式中的m和n取决于显示阶段所使用显示屏的分辨率和尺寸与微透镜阵列的栅距之间的关系,设显示屏的分辨率为A(像素)×B(像素), 显示屏尺寸为C(mm)×D(mm),栅距为d(mm),则可求出m和n.
$ m = A \times d/C, $ | (8) |
$ n = B \times d/D. $ | (9) |
求取每一个物体在相邻图片的视差平均值要比仅求取所有物体整体在相邻图片的视差要更加精确.由于摆放摄像机的水平间距与垂直间距相同,因此物体的水平视差应该与垂直视差相同,仅对水平视差等于垂直视差的物体求视差平均值W0,定义视差误差率E为视差平均值W0相对于准确的视差值W的减少量与准确的视差值W的比值,其公式为
$ \mathit{E} = \frac{{\left| {W-{W_0}} \right|}}{W}. $ | (10) |
最后用于显示的屏幕是分辨率为128 0(像素)×108 0(像素)的5.5英寸的OPPOr9手机屏幕.其大小为110.7 mm×92.7 mm,平面微透镜阵列大小为55 mm×55 mm,微透镜阵列的水平和竖直栅距均为1.03 mm.由式8和式9求出渲染立体元图像分辨率应为12(像素)×12(像素).因此需要放置12行12列的自由摄像机(free Camera)阵列对虚拟场景阵列进行水平拍摄.设置3DS MAX的摄像机镜头焦距f=50 mm, 相机间距p为10英寸(in),视角θ=39.598°, 物体模型选用3DS MAX自带的茶壶和圆球,茶壶的半径为12 in,黄色和绿色圆球的半径为3 in,蓝色圆球半径为3.5 in,橙色圆球半径为5 in.在距离物体中心210 in的位置放置自由摄像机阵列.场景的顶视图、前视图、左视图和透视图见图 8.
设置渲染图片大小为600(像素)×600(像素),将渲染输出的图片在HSV空间分割不同颜色的图像之后再导入RGB空间显示,得到不同颜色分割后的图片见图 9.
图 9(a)为3DS MAX里第66个(第6行第6列)相机渲染的大小为600(像素)×600(像素)的彩色图像. 图 9(b)为HSV阈值分割后的粉色部分.同理求出HSV阈值分割后的绿色,蓝色,橘色,黄色部分.
选取第66、67个(第6行第6列,第7列)相机对不同颜色分割后的图片进行水平方向和垂直方向的投影求取水平视差,根据图 10(a), 图 10(c)可对应求出经过颜色分割后的绿色部分的水平视差和物体整体的水平视差.同理,选取第66、78(第6列第6行,第7行)个相机对不同颜色分割后的图片进行水平方向和垂直方向的投影求取垂直视差,见图 10.
为得到准确的视差值来的作为视差误差率对比标准,我们将拍摄的目标物体替换成一个半径为0.05英寸的白色小球,其它条件均不改变,用3DS MAX里的摄像机阵列拍摄白色小球,渲染同样大小为600(像素)×600(像素)的图片做水平方向和垂直方向的积分投影,见图 11,选取第66、67个(第6行第6列,第7列)相机拍摄的图片进行水平方向和垂直方向的投影求取水平视差.选取第66、78(第6列第6行,第7行)个相机拍摄的图片进行水平方向和垂直方向的投影求取垂直视差.
根据不同颜色物体的积分投影得到对应颜色物体在图片中的位置,将其与相邻图片对应颜色物体位置坐标作差得到各个物体的视差值见表 2.
其中黄1为位于左侧的黄色小球,黄2为位于右侧的黄色小球.粉、蓝、绿、橘分别表示对应颜色物体.总代表所有物体的整体.由于黄1、黄2、粉对应物体的水平视差和垂直视差不同,存在误差故舍去这部分数据.本文最终视差值为蓝、绿、橘色物体视差的平均值,其值为38.333 3(像素).
根据式10求出本文视差计算的误差率在水平方向和垂直方向均为0.433%.方法1是通过求取相邻图片物体整体的积分投影从而得到视差值,这种方法忽视了不同物体间的遮挡问题,导致求取的视差误差率为2.597%,高于本文的视差误差率.方法2为文献[18]中采用的视差计算方法.首先,依次计算左视点图像中的每个像素点相对于右视点图像的均方误差函数,将均方误差函数取最小值时的一维窗平移距离作为对应点的视差值.对于视差图中存在的由于遮挡和错误匹配等因素引起的视差值计算错误问题,判断拍摄对象上的每个物点在左、右视差图中对应位置视差值的差异是否在算法允许的范围内(文献方法的阈值为2像素),若在此范围内则将该视差值判定为可靠视差值,若不在,则将该视差值判定为不可靠视差值,在后续的处理环节中不参与计算.但是由于阈值范围设置过大,会导致视差计算的精确度下降,这种方法的视差误差率为4.762%,高于本文所用方法的视差误差率,见表 3.本文采用人脸识别领域常用的积分投影法,采用HSV空间颜色分割不同物体,有效解决遮挡问题避免误差,明显降低了视差计算的误差率.
当渲染图片大小为100(像素)×100(像素),视差值为渲染图片大小为600(像素)×600(像素)的1/6即水平视差与垂直视差的平均值均为6.388 88像素.为了保证第66个相机截取到的图像中目标物体在正中央,需将截取第1行第1列渲染图片的矩形窗右上角坐标设为(55,63),以59(像素)×41(像素)大小的矩形窗从左到右从上到下每隔6.388 88像素截取不同相机拍摄的图片,对不足59(像素)×41(像素)矩形窗范围的部分用黑色像素填充背景.最终将截取后的图片按照相机摆放顺经过matlab拼接合成后的结果见图 12.
根据立体元图像和子图像的映射关系,经matlab运算得到立体元图像(EI)阵列见图 13.
在显示阶段,为避免外界噪声的影响,采用的所有设备均为光学精密器件,严格按照光学标准搭建并测量.在拍摄3D效果图阶段,为避免其它光线干扰,将除了实验设备以外所有光源关闭.已知微透镜阵列的焦距为5 mm,微透镜阵列到显示屏的距离刚好为其厚度3 mm.根据式1,可以计算出三维物体的像的中心深度平面与微透镜阵列的距离为7.5 mm,图像是一个位于显示屏幕内侧的虚像.
为验证本文的稀疏采集集成成像系统的立体显示效果,在光学平台上搭建了集成成像内容采集设备.首先,将可调升降台固定在光学平台来调整高度,将手动平移台固定在升降台上来调节左右移动,将滑动导轨固定在手手动平移台上来调节前后移动.然后将大小为55 mm×55 mm,焦距为5 mm,栅距为1.03 mm的微透镜阵列放置在OPPOr9手机(5.5英寸,分辨率为128 0×108 0)屏幕上,保证微透镜阵列边缘与手机屏幕边缘平行,最后将另一部iphone6(4.7英寸,分辨率为133 4×750)手机的相机打开,与oppor9手机平行放置于手动平移台上,慢慢调节刻度使之从左向右,从前到后拍摄立体图像,立体显示光学平台见图 14.
下图为所拍摄到的部分不同视点的图像,这些视点图像均可在子图像阵列中找出,以图 15(a)为例,这个视点图像对应于图 12的子图像阵列中的第4行第5列的子图像,其它视点图像与子图像的对应关系见图 15.
本文提出一种基于颜色分割和积分投影的稀疏采集集成成像系统.针对对物体整体积分投影求视差存在误差的问题,提出采用基于HSV空间的颜色分割得到不同物体,分别求取其积分投影计算视差值,然后求不同物体视差值的平均值将水平/垂直视差的误差率降低到0.433%,明显优于视差误差率2.597%和4.762%的其他方法.以59(像素)×41(像素)大小的矩形窗平移截取获得SI图像阵列后按照EI和SI的映射关系得到EI图像,将其导入手机并将微透镜阵列放置在手机屏幕上的得到了很好的立体显示效果,用12×12的摄像机阵列拍摄到了需要59×41的摄像机阵列拍摄内容,实现了稀疏采集,更加方便准确的再现了物体信息.
[1] |
王琼华, 邓欢. 集成成像3D拍摄与显示方法[J].
液晶与显示, 2014, 29(2): 153-158.
WANG Qionghua, DENG Huan. 3D pickup and display method of integral imaging[J]. Chinese Journal of Liquid Crystals and Displays, 2014, 29(2): 153-158. DOI: 10.3788/YJYXS20142902.0153 |
[2] |
袁小聪, 徐于萍, 杨勇, 等. 基于相机阵列获取元素图像的集成成像抗串扰参数设计[J].
光学精密工程, 2011, 19(9): 2050-2056.
YUAN Xiaocong, XU Yuping, YANG Yong, et al. Design parameters of elemental images formed by camera array for crosstalk reduction in integral imaging[J]. Optics and Precision Engineering, 2011, 19(9): 2050-2056. DOI: 10.3788/OPE.20111909.2050 |
[3] |
焦小雪, 赵星, 杨勇, 等. 基于相机阵列的三维集成成像记录系统[J].
光学精密工程, 2012, 20(8): 1653-1660.
JIAO Xiaoxue, ZHAO Xing, YANG Yong, et al. Pick-up system for three-dimensional integral imaging with camera array[J]. Optics and Precision Engineering, 2012, 20(8): 1653-1660. DOI: 10.3788/OPE.20122008.1653 |
[4] |
CAO X. Technological bottleneck of virtual reality[J].
Science & Technology Review, 2015, 34(15): 94-103.
|
[5] |
KUANG Y, JIANG J. Study of virtual scene interaction based on VRML and 3DS Max[J].
Applied Mechanics and Materials, 2015, 713-715: 2345.
DOI: 10.4028/www.scientific.net/AMM.713-715.2345 |
[6] |
PARK J H, JUNG S, CHOI H, et al. Depth extraction by use of a rectangular lens array and one-dimensional elemental image modification[J].
Applied Optics, 2004, 43(25): 4882-4895.
DOI: 10.1364/AO.43.004882 |
[7] |
PARK J H. Three-dimensional optical correlator using a sub-image array[J].
Optics Express, 2005, 13(13): 5116-5126.
DOI: 10.1364/OPEX.13.005116 |
[8] |
PERRY, TODD S. Autodesk 3D Studio Max 2017[J].
Animation, 2016, 30(6): 56.
|
[9] |
焦甜甜, 王琼华, 李大海, 等. 基于3DS MAX的集成成像研究[J].
液晶与显示, 2008, 23(5): 622-624.
JIAO Tiantian, WANG Qionghua, LI Dahai, et al. Computer-generated integral imaging based on 3DS MAX[J]. Chinese Journal of Liquid Crystals and Displays, 2008, 23(5): 622-624. DOI: 10.3969/j.issn.1007-2780.2008.05.019 |
[10] |
ALI N M, RASHID N K A M, MUSTAFAH Y M. Performance comparison between RGB and HSV color segmentations for road signs detection[J].
Applied Mechanics and Materials, 2013, 393: 550-555.
DOI: 10.4028/www.scientific.net/AMM.393.550 |
[11] |
PUJOL F A, PUJOL M, JIMENO M A, et al. Face detection based on skin color segmentation using fuzzy entropy[J].
Entropy, 2017, 19(1): 26.
DOI: 10.3390/e19010026 |
[12] |
朱永珍, 孟庆虎, 普杰信. 基于HSV色彩空间与形状特征的交通灯自动识别[J].
电视技术, 2015, 39(5): 150-154.
ZHU Yongzhen, MENG Qinghu, PU Jiexin. Traffic light recognition automatically based on HSV color space and shape feature[J]. Video Engineering, 2015, 39(5): 150-154. DOI: 10.16280/j.videoe.2015.05.036 |
[13] |
郭敏, 司玉娟, 王世刚, 等. 离散采集结合自适应窗截取的立体元图像生成[J].
吉林大学学报(工学版), 2016, 46(5): 1681-1687.
GUO Min, SI Yujuan, WANG Sigang, et al. Elemental image generation combing discrete viewpoint pickup with adaptive window interception[J]. Journal of Jilin University (Engineering and Technology Edition), 2016, 46(5): 1681-1687. DOI: 10.13229/j.cnki.jdxbgxb201605044 |
[14] |
吕源治, 王世刚, 张丹彤. 组合成像中的立体元阵列合成与稀疏视点采集[J].
吉林大学学报(工学版), 2013, 43(Z1): 1-5.
LYU Yuanzhi, WANG Shigang, ZHANG Dantong. Elemental image array generation and sparse viewpoint pickup in integral imaging[J]. Journal of Jilin University: Engineering and Technology Edition, 2013, 43(Z1): 1-5. |
[15] |
杨帆. 应用自适应图像分割与曲线融合的人眼定位[J].
光学精密工程, 2013, 21(12): 3255-3262.
YANG Fan. Eye location based on adaptive image segmentation and curve blending[J]. Optics & Precision Engineering, 2013, 21(12): 3255-3262. DOI: 10.3788/OPE.20132112.3255 |
[16] |
王宇, 朴燕. 基于元素图像阵列采样的集成成像重构方法[J].
光学学报, 2014, 34(5): 70-75.
WANG Yu, PIAO Yan. Computational reconstruction for integral imaging with sampled elemental images[J]. Acta Optica Sinica, 2014, 34(5): 70-75. |
[17] |
邸宝辉. 全视技术的数字内容快速获取技术研究[D]. 长春: 吉林大学, 2014.
DI Baohui. The improvement of digital contents creation technology in integral imaging[D]. Changchun: Jilin University, 2014. http://cdmd.cnki.com.cn/Article/CDMD-10183-1014268345.htm |
[18] |
吕源治. 组合成像系统中立体元图像阵列的生成、编码与显示技术研究[D]. 长春: 吉林大学, 2014.
LYU Yuanzhi. Research on generation, coding and display of elemental image array in integral imaging system[D]. Changchun: Jilin University, 2014. http://cdmd.cnki.com.cn/Article/CDMD-10183-1014268087.htm |