《基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统.pdf》由会员分享,可在线阅读,更多相关《基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102802003 A (43)申请公布日 2012.11.28 C N 1 0 2 8 0 2 0 0 3 A *CN102802003A* (21)申请号 201210289898.X (22)申请日 2012.08.15 H04N 13/00(2006.01) G03B 35/08(2006.01) (71)申请人四川大学 地址 610065 四川省成都市武侯区一环路南 一段24号 (72)发明人王琼华 张杰 李磊 (54) 发明名称 基于GPU与网络摄像机的实时拍摄与实时自 由立体显示系统 (57) 摘要 本发明提出基于GPU与网络摄像机的实时拍 摄与实时自由。
2、立体显示系统。该系统包括立体网 络摄像机、计算机和自由立体显示器,立体网络摄 像机由多个网络摄像机组成。该系统通过立体网 络摄像机实时拍摄真实场景得到多幅视差图像, 然后在计算机中进行实时视差图像校正、实时视 差图像平移裁剪和实时合成图像生成,最终将合 成图像实时显示在自由立体显示器上,观看者即 可看到立体图像。 (51)Int.Cl. 权利要求书1页 说明书4页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 4 页 附图 3 页 1/1页 2 1.一种基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统,其特征在于,该 系统包括立体网络摄。
3、像机、计算机和自由立体显示器,其中立体网络摄像机由多个网络摄 像机组成,该系统通过立体网络摄像机实时拍摄真实场景得到多幅视差图像,然后在计算 机中进行实时视差图像校正、实时视差图像平移裁剪和实时合成图像生成,最终将合成图 像实时显示在自由立体显示器上, 观看者即可看到立体图像。 2.根据权利要求1所述的一种基于GPU与网络摄像机的实时拍摄与实时自由立体 显示系统,其特征是所述的立体网络摄像机中各个网络摄像机的光轴互相平行,光心位 于同一条直线上,各摄像机之间的间距相等,网络摄像机通过PCI卡与计算机连接,采用 DirectShow实时采集视频, 设置相同的网络摄像机参数,并实现各个网络摄像机的。
4、同步 拍摄。 3.根据权利要求1所述的一种基于GPU与网络摄像机的实时拍摄与实时自由立体显示 系统,其特征是采用基于GPU的实时视差图像校正方法,将各个网络摄像机采集到的视频实 时地通过GPU校正,该方法利用重投影将各个网络摄像机的原成像面投影到一个理想成像平 面,设(x, y)是原成像平面上的一点,(x, y)是该点重投影变换到理想成像平面上的点, 这两点的关系由公式决定: 其中,a 1 , , a 8 都为常数。 4.根据权利要求1所述的一种基于GPU与网络摄像机的实时拍摄与实时自由立体显示 系统,其特征是利用GPU实现实时视差图像平移裁剪,裁剪方法为第n个网络摄像机拍摄到 的视差图像在水。
5、平方向上左边裁剪掉(N-n)个像素,右边裁剪掉(n-1)个像素,其中N表示 网络摄像机的个数。 5.根据权利要求1所述的一种基于GPU与网络摄像机的实时拍摄与实时自由立体显 示系统,其特征是利用GPU多次渲染叠加的方法将校正和平移裁剪后的视差图像实时生成 合成图像,Shader程序只需要负责1幅视差图像的采样,然后通过多次渲染结果叠加来得 到合成图像,第n幅视差图像在自由立体显示器中第i行的偏移量为 i ,可以由计算公式 i =3itan+ n-1得到,其中表示自由立体显示器的光栅的倾斜角,1nN,N表 示自由立体显示器的视点数,它与网络摄像机的个数相等。 权 利 要 求 书CN 102802。
6、003 A 1/4页 3 基于 GPU 与网络摄像机的实时拍摄与实时自由立体显示系 统 技术领域 0001 本发明涉及3D(三维)立体显示技术领域,更具体地说,涉及一种基于GPU(计算 机图形处理器)与网络摄像机的实时拍摄与实时自由立体显示系统。 背景技术 0002 如今,3D显示技术蓬勃发展,取得了丰硕的成果。在众多3D显示中,自由立体显示 是重要的一种,它又称为多视点光栅3D显示。用于自由立体显示所需的片源一般采用立体 拍摄的方法获得。立体拍摄采用立体摄像机对同一场景进行拍摄而获得两幅或多幅视差图 像,立体摄像机是由多个具有相同规格的摄像机组成的摄像机阵列,各个摄像机需要设置 相同的参数,。
7、并且必须同步拍摄。立体摄像机可以方便地拍摄现实中的场景,可以提供丰富 的3D片源。然而要实现实时拍摄与显示,需要对每一台摄像机拍摄的每一帧图像进行实时 的图像处理,需处理的数据量非常大。而且,现有的立体拍摄系统体积都比较庞大,对计算 机性能的要求也很高,其广泛应用较难实现。因此,人们对简单便携的高性能拍摄系统提出 了急迫需求。 0003 网络摄像机是一种结合传统摄像机和网络技术的新一代摄像机,它除了具备传统 摄像机所有的图像捕捉功能外,机内还内置了数字化压缩控制器和基于网络的操作系统, 使得视频数据经压缩加密后,通过局域网、互联网或无线网络送至终端用户。基于网络的摄 像机越来越普及,但还限于2。
8、D(二维)拍摄,或非实时的3D拍摄。网络摄像机相对于传统的 摄像机具有成本低、携带方便、不需要外加电源且和连接电脑方便等优点。计算机显示卡的 核心,即GPU,有数十至上千个Shader(着色器)核心,每一个Shader核心类似于一个CPU 核心,都能完成常规的数值计算和简单的控制功能,GPU在浮点运算、并行计算等方面相对 于CPU有很大的优势,GPU可以提供数十倍乃至于上百倍于CPU的性能。Direct3D是微软 公司用于操作GPU的API(应用程序编程接口),Direct3D中的Direct Show对网络摄像机 有很好的支持,所以使用网络摄像机同时可以更好地利用GPU的硬件加速功能实现超大。
9、规 模图像数据的处理。 发明内容 0004 本发明提出基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统。如附图 1所示,该系统包括立体网络摄像机、计算机和自由立体显示器,立体网络摄像机由多个网 络摄像机组成。该系统通过立体网络摄像机实时拍摄真实场景得到多幅视差图像,然后在 计算机中进行实时视差图像校正、实时视差图像平移裁剪和实时合成图像生成,最终将合 成图像实时显示在自由立体显示器上, 观看者即可看到立体图像。 0005 针对实时拍摄与实时自由立体显示系统需要处理超大数据量的难题,本发明的技 术解决方案是:充分利用GPU的硬件加速功能来实现实时视差图像校正、实时视差图像平 移裁剪和实时合。
10、成图像生成,其特征在于:如附图2所示,立体网络摄像机的各个网络摄像 说 明 书CN 102802003 A 2/4页 4 机采用平行式摆放方式,即各个网络摄像机的光轴互相平行,光心位于同一条直线上;各个 网络摄像机之间的间距相等,网络摄像机通过PCI卡与计算机连接,采用DirectShow实时 采集视频,设置相同的网络摄像机参数,并实现各个网络摄像机的同步拍摄。 0006 优选地,本发明采用一种基于GPU的实时视差图像校正方法,将各个网络摄像机 采集到的视频实时地通过GPU校正。该方法既解决了多个网络摄像机之间标定的困难,同 时还可对变形的视差图像进行校正。如附图3所示,本发明利用重投影的方法。
11、将各个网络 摄像机的原成像面投影到一个理想成像平面,设(x, y)是原成像平面上的一点,(x, y) 是该点重投影变换到理想成像平面上的点,根据重投影变换,这两点的关系为: (1) 其中,a 1 , , a 8 都为常数。 0007 优选地,本发明利用GPU实现实时视差图像平移裁剪,从而改变零视差平面的位 置。立体网络摄像机的多个网络摄像机采用平行式摆放,它们聚焦在无限远处,因而整个场 景只有负视差;如附图4所示,对网络摄像机成像面中的视差图像进行平移裁剪,可以改变 零视差平面的位置。附图5中粗实线部分为裁剪后零视差平面,粗虚线部分为裁剪区域。本 发明实时地对视差图像进行平移裁剪,使得裁剪后零。
12、视差平面能实时地调整,每次以一个 像素为单位,由几何关系可知,第n个网络摄像机拍摄到的视差图像在水平方向上左边应 该裁剪掉(N-n)个像素,右边应该裁剪掉(n-1)个像素,其中N表示网络摄像机的个数。本 发明通过实时视差图像平移裁剪来改变零视差平面的位置,使拍摄出的场景具有良好的立 体感。 0008 优选地,本发明利用GPU多次渲染叠加的方法将校正和平移裁剪后的视差图像实 时生成合成图像。假设自由立体显示器的视点数为N(与网络摄像机的个数相等),自由立 体显示器的光栅倾斜角为,子像素宽高比为1: 3,则第n幅视差图像在自由立体显示器 中第i行的偏移量为i,其值由下式决定: i=3itan+n-。
13、1 (2) 其中1nN。根据公式(2)得到视点数矩阵如附图5所示,其中,1,2,, N表示 子像素显示的图像来自于哪一幅视差图像,RGB分别表示红绿蓝子像素。 0009 本发明提出的基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统具有 成本低、结构简单、体积较小等特点。该系统充分利用了GPU的硬件加速功能来实现实时视 差图像校正、实时视差图像平移裁剪和实时合成图像生成,解决了超大数据量的处理问题, 降低了对计算机性能的要求。 附图说明 0010 附图1为本发明的基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统示 意图。 0011 附图2为立体网络摄像机的各个网络摄像机采用平行式排列。
14、方式示意图。 0012 附图3为重投影变换原理图。 说 明 书CN 102802003 A 3/4页 5 0013 附图4为实时视差图像平移裁剪原理图。 0014 附图5为合成图像对应的视点数矩阵。 0015 上述图中的图示标号为: 1 立体网络摄像机,2计算机,3自由立体显示器,4网络摄像机,5网络摄像机的光轴,6 投影中心,7原图像平面,8理想成像平面,9 裁剪后零视差平面,10 裁剪区域 应该理解上述附图只是示意性的,并没有按比例绘制。 具体实施方式 0016 下面参照附图详细说明本发明提出的基于GPU与网络摄像机的实时拍摄与实时 自由立体显示系统的实施例,对本发明进行进一步的具体描述。。
15、有必要在此指出的是,以下 实施例只用于本发明做进一步的说明,不能理解为对本发明保护范围的限制,该领域技术 熟练人员根据上述本发明内容对本发明做出一些非本质的改进和调整,仍属于本发明的保 护范围。 0017 附图1为本发明的基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统的 示意图,该系统包括立体网络摄像机、计算机和自由立体显示器,立体网络摄像机由多个网 络摄像机组成。在本实施例中自由立体显示器为21.5英寸的柱透镜光栅自由立体显示器, 2D分辨率为19201080,光栅相对显示屏的倾斜角度为arctan(-0.4550),视点数为8,相 应的立体网络摄像机采用8个网络摄像机,每个网络摄像。
16、机按照640480的分辨率采集图 像。网络摄像机通过PCI卡连接到计算机,GPU采用NVIDIA GeForce GTX 460 芯片。 0018 本发明实现实时视差图像校正的步骤如下:第一步,拍摄放置于场景中矩形图案, 矩形图案需要包含许多特征点,并且尽量充满视差图像,拍摄得到矩形图案的特征点在8 幅视差图像中的匹配点,选取一幅视差图像作为参考,矩形中的4个角点在视差图像中的 坐标可以很容易求出,再通过人工选取的4个匹配点在视差图像中的坐标,利用这8个点的 坐标值得到计算公式(1)中的a 1 , , a 8 系数。 0019 第二步,在显存中建立一个大小为19201080的四通道矩形纹理,纹。
17、理格式为 RGBA,将立体网络摄像机捕获的第一幅视差图像作为纹理读入纹理内存。设置渲染方式为 混色,设置纹理寻址方式为边框寻址,设置纹理过滤器为线性纹理过滤方式。 0020 第三步,根据像素Shader得到视差图像中每个像素坐标,以(X,Y)表示,而GPU中 纹理坐标固定为(0,1),将每个像素坐标分别在X和Y方向上按(0,1)进行插值运算,从而 得到每个像素的纹理坐标,以(x,y)表示。 0021 第四步,通过第一步计算出的校正参数和每个像素的纹理坐标(x,y),在GPU中利 用公式(1)对每一幅视差图像中的每个像素的纹理坐标进行变换,坐标变换后的图像即为 校正好的视差图像。 0022 本发。
18、明采用多次渲染叠加的方法来进行合成图像生成,即Shader程序只需要负 责1幅视差图像的采样,然后通过多次渲染结果叠加来得到合成图像。 0023 本发明实现实时合成图像生成的步骤如下: 第一步,从应用程序传入视差图像总幅数8、当前视差图像幅数n(1,2,8)和光栅相 对显示器垂直方向的倾斜角度arctan(-0.4550)等参数。 0024 第二步,将第n幅视差图像左边每一行裁剪掉n-1个像素, 将视差图像右边每 说 明 书CN 102802003 A 4/4页 6 一行裁剪掉(8- n-1)个像素,裁剪方法为在GPU中将每个像素坐标分别在X和Y方向上按 (n-1)/1920,1-(8-n-1。
19、)/1920进行插值运算,由于显示器宽高比1920:1080,利用插值的 方法将视差图像在竖直方向裁剪掉(8-1)1080/1920个像素。 0025 第三步,根据显示器子像素宽高比1:3和光栅斜率-0.4550计算第n幅数视差图 像的视点数矩阵,计算公式为:x*3+3*y*(-0.4550)%8-n,其中(x,y)为每个像素的纹理 坐标,如果像素中的R、G或B子像素之一属于第n幅数视差图像,则在相应位置对第n幅数 视差图像进行采样,渲染采样后的纹理。 0026 第四步,将剩余7幅视差图像按以上步骤采样后渲染, 8幅视差图像渲染叠加后 的结果即为合成图像,将该合成图像在自由立体显示器进行显示,观看者即可看到立体图 像。 0027 至此,本发明基于GPU与网络摄像机的实时拍摄与实时自由立体显示系统能显示 出良好的立体效果,系统的运行帧率可以达到30帧每秒。 说 明 书CN 102802003 A 1/3页 7 图 1 图 2 说 明 书 附 图CN 102802003 A 2/3页 8 图 3 图 4 说 明 书 附 图CN 102802003 A 3/3页 9 图 5 说 明 书 附 图CN 102802003 A 。