一种基于单幅图像的2d转3d方法

文档序号:7714617阅读:181来源:国知局
专利名称:一种基于单幅图像的2d转3d方法
技术领域
本发明涉及一种2D转3D方法,尤其是一种基于单幅图像的2D转3D方法, 属于计算机视觉技术领域。
背景技术
近年来,随着显示技术和视觉技术的不断进步,各种新型的立体显示技术 纷纷出现,如投影式立体显示技术、偏振光立体显示技术、裸眼多视点立体显 示技术等等,在全球范围内掀起了一场立体技术的视觉革命。立体显示技术以 其强烈的立体感和真实感,给人以极大的震撼,让人流连忘返,在交互式自由 视点视频(Free ViewpointVideo,FW)、虚拟现实、立体电视、立体游戏、体育 直播、广告传媒等诸多领域有着广泛的应用前景。
然而,在立体显示技术飞速发展的同时,适合进行立体显示的片源则少之 又少。由于缺乏足够的片源,立体显示设备通常仅能用于学术研究等领域,难 以进行大规模普及。
另一方面,二维片源的采集、编码、传输等等处理技术十分成熟。现有的 绝大部分二维片源均是由单个相机拍摄的。因此,如何从二维片源中生成适合 进行立体显示的片源,即立体片源,成为一个有意义的问题。
立体片源制作的困难在于场景三维结构信息的提取,在应用中一般表现为 视差图像(Disparity Image)的提取。 一般来说,从二维图像/视频中生成与之对 应的视差图像/视频的技术,称为2D转3D技术。
现有的2D转3D技术按输入的不同大致可以分为两类
1. 基于单个视频
2. 基于单幅图像
其中第1类技术以单个视频为输入,主要通过视频中的运动情况来分析场 景的三维结构和相机的参数,典型的如运动法(Structure from motion, SFM)、 帧移位法(Frame Delay)等等。这类方法能够处理现有的大量二维视频,应用 前景广阔。然而,面对现有的海量二维图像,这种方法无能为力,因此存在一 定的应用局限性。
第2类技术以单幅图像为输入,不仅能够处理单幅图像,对视频也可以将 其分解为一幅一幅图像逐个进行处理。因此,适用范围广,应用需求大。现有
的技术主要根据一些预先设定的条件来进行推理,如聚焦法(Depth from Focus)、 散焦法(Depth from Defocus)、线性透视(Linear Perspective)等等。这些方法 对预设条件依赖性较高,在不满足预设条件的场合,性能急剧下降。而实际场 景千变万化,绝大部分情况下这些预设条件并不适用。以聚焦法为例,该方法 假设所拍摄的图像中,越模糊的地方距离相机越远,越清晰的地方距离相机 越近。但是通常拍摄图像的模糊往往不是很明显,该方法很难奏效。
综上所述,基于单个视频的2D转3D技术应用受限,不能处理现有海量二
4维图像;基于单幅图像的2D转3D技术能够克服该问题,但是现有的方法依赖 于预设条件和具体场景。因此,急需一种从图像出发的、不依赖预设条件、简 单有效的2D转3D方法。

发明内容
本发明的目的是克服现有技术中存在的应用受限、依赖具体场景、难以保 证效果等不足,提供一种基于单幅图像的2D转3D方法,可以快速有效地从普 通单幅图像出发生成与之对应的视差图,结合基于视差图的渲染技术,可以将 现有大量二维片源高效地转换为立体片源,从而缓解当前立体片源极度缺乏的 现状。
按照本发明提供的技术方案,所述基于单幅图像的2D转3D方法包括如下 步骤
(1) 判断待处理图像是否为灰度图像,否则对待处理图像进行灰度化预处 理,获取待处理图像对应的灰度图像;
(2) 计算二维高斯巻积模,
(2w +1) x (2/2 +1)大小的二维高斯巻积模板为 1 一〖丄乂)
g(w,v,cr ,(T ) =-e L2<T" 2ctJ —w《"w,一/i《v《/j
2;rcrwcrv
其中",v均为整数,2w+l和2/z+l分别为滤波窗口的宽和高, , 分别决定 水平和垂直方向上的滤波强度;
(3) 使用所述二维高斯巻积模板对所述灰度图像进行二维高斯平滑滤波 将所述二维高斯巻积模板与所述灰度图像进行巻积,设巻积之前灰度图像
在(JC, y)处的像素值为《(x,力,那么二维高斯滤波之后的图像在(x, >0处的
^〗Z Wx-w,y-v)g(w,v,crw,<Tv) ^ 像素值在"力为4(^)=V=-""二 「 w,-^——^
其中,Ma'均为正整数并且w、工,"二,『,H分别为待处理图像的宽度和
2 2
高度;
(4) 对所述二维高斯滤波之后的图像进行拉普拉斯滤波得到所求的对应待 处理图像的视差图像
使用3x3大小的拉普拉斯巻积模板与所述二维高斯滤波后的图像进行巻积,
设拉普拉斯巻积模板为/("'y), B"'y", "'y均为整数,巻积后所得图像在(x,力
t力(4(x-M',"v')/(y,v'》
处的像素值£>"力为D(;c,f一'" r r-
f ; /("',v')
所述巻积后所得图像即为所求的;iS"处理图像的视差图像。 所述灰度化预处理的灰度转换公式为<formula>formula see original document page 6</formula>
其中,y代表灰度转换后的图像的每个像素灰度值,凡Gj分别代表灰度转 换前的图像每个像素的分量值。
所述3x3大小的拉普拉斯巻积模板为
<formula>formula see original document page 6</formula>本发明通过高斯滤波来滤除图像中的噪声,通过拉普拉斯滤波来抽取图像
中的结构信息,最终从图像出发生成与之对应的视差图。其优点如下
1. 从图像出发来进行处理,不需要多幅图像或多视点图像等复杂的输入, 适用性好;
2. 不需要摄像机参数,避免了繁琐复杂的校准校正等操作;
3. 整个过程全自动生成,计算量小,方便应用在一些对速度要求较高的场合。


图1为本发明所述方法的流程图。
具体实施例方式
下面结合附图和实施例对本发明作进一步说明。
如图所示,本发明主要包括四个步骤
1对待处理图像进行灰度化预处理;
2根据二维高斯滤波公式计算二维高斯巻积模板;
3使用得到的二维高斯巻积模板对所述灰度图像进行二维高斯平滑滤波,以
减少图像中的噪声;
4对经过二维高斯滤波之后的图像进行拉普拉斯(laplace)滤波。 实施案例中,输入是一幅经过压缩的待处理JPEG彩色图像,输出为与待处
理图像对应的视差图像,具体处理过程包含以下步骤-
(1) 图像读取与解压縮
读取待处理图像文件,检査其是否经过压縮,否则根据其编码格式调用相 应的解码器来对图像进行解压縮。本案例中,使用微软提供的CImage类来实现 图像文件读取与解码工作。
(2) 检査待处理图像是否为灰度图像,否则利用下面公式对所述解压縮后 彩色图像进行灰度化预处理,获取与待处理图像对应的灰度图像G, -
<formula>formula see original document page 6</formula>
其中,y代表图像每个像素转换后的灰度值,凡G,S分别代表图像每个像素 转换前的及,G,S分量值。 处理过程如下
针对所述解码后的彩色图像,从左到右、从上到下遍历其中每一个像素, 逐个访问其R, G, B分量值,然后分别乘以系数0.299, 0.587, 0.114,再将各乘积相加,将其值取整赋给所述灰度图像G,同一位置的对应像素。
(3) 计算二维高斯巻积模板
(2w +1) x (2A +1)大小的二维高斯巻积模板为
fx2, )
g(w,v,cr,,,cr ) =-e 、2。" 2<TJ -wS"w,一/z^vS
其中",V均为整数,M^分别决定滤波窗口的长和宽, , 分别决定水平和 垂直方向上的滤波强度。 处理过程如下-
首先确定参数w,A以及 , 的大小,然后根据上述公式计算当",v分别取值 时,巻积模板g(",v, , )的值。计算巻积模板中的所有项,即可得到 (2w +1) x (2A +1)大小的二维高斯巻积模板。
(4) 使用所述二维高斯巻积模板对所述灰度图像&进行二维高斯平滑滤

将得到的二维高斯巻积模板与所述灰度图像进行巻积。设巻积之前灰度图 像《在(x,力处的像素值为《(;c,力,那么二维高斯滤波之后的图像(^在(:c,力处
的像素值《0c,力为4(^,力=-
其中,M/^'均为正整数并且M/〈f,/^Z,『,//分别为待处理图像的宽度和
2 2高度。
处理过程如下-
针对所述灰度图像《,从左到右,从上到下,遍历其中每一个像素。对每 一个像素,选定以该像素为中心,(2w + l)x(2A + l)大小的区域,使用二维高斯巻 积模板与该区域内的所有像素进行巻积,巻积所得结果即为高斯滤波后所得图 像中对应位置的像素值。
对于部分边界位置的像素,选定的区域会缺少部分像素,该种情况下需要 将所有缺少的像素值置为0并进行巻积。
(5)对经过二维高斯滤波之后的图像进行拉普拉斯(laplace)滤波 使用下面的3x3大小拉普拉斯巻积模板对所述经过二维高斯滤波后的图像 <0 1 0、 4进行巻积<formula>formula see original document page 7</formula>
设拉普拉斯巻积模板为/(">'), 1^'y", "',v'均为整数,巻积后所得图像
D在(x,力处的像素值为Z)(;c,力,则有力t "',"')/("',v'))
处理过程如下-
针对所述经高斯滤波后图像《,从左到右,从上到下,遍历其中每一个像
素,选定以该像素为中心,3x3大小的区域,使用拉普拉斯模板与该区域内的所 有像素进行巻积,巻积所得结果即为拉普拉斯滤波后所得图像中对应位置的像 素值。
对于边界位置的像素,选定区域会缺少部分像素,该情况下将所有缺少的 像素值置为0进行巻积。
进行拉普拉斯滤波之后所得图像D即为所求的对应待处理图像的视差图像。
权利要求
1、一种基于单幅图像的2D转3D方法,其特征是所述方法包括如下步骤(1)判断待处理图像是否为灰度图像,否则对待处理图像进行灰度化预处理,获取待处理图像对应的灰度图像(Gr);(2)计算二维高斯卷积模板(2w+1)×(2h+1)大小的二维高斯卷积模板为<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>g</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>,</mo> <msub><mi>&sigma;</mi><mi>u</mi> </msub> <mo>,</mo> <msub><mi>&sigma;</mi><mi>v</mi> </msub> <mo>)</mo></mrow><mo>=</mo><mfrac> <mn>1</mn> <mrow><mn>2</mn><mi>&pi;</mi><msub> <mi>&sigma;</mi> <mi>u</mi></msub><msub> <mi>&sigma;</mi> <mi>v</mi></msub> </mrow></mfrac><msup> <mi>e</mi> <mrow><mo>-</mo><mrow> <mo>(</mo> <mfrac><msup> <mi>x</mi> <mn>2</mn></msup><mrow> <mn>2</mn> <msubsup><mi>&sigma;</mi><mi>u</mi><mn>2</mn> </msubsup></mrow> </mfrac> <mo>+</mo> <mfrac><msup> <mi>y</mi> <mn>2</mn></msup><mrow> <mn>2</mn> <msubsup><mi>&sigma;</mi><mi>v</mi><mn>2</mn> </msubsup></mrow> </mfrac> <mo>)</mo></mrow> </mrow></msup> </mrow>]]></math> id="icf0001" file="A2009101823100002C1.tif" wi="58" he="13" top= "65" left = "31" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>-w≤u≤w,-h≤v≤h其中u,v均为整数,2w+1和2h+1分别为滤波窗口的宽和高,σu,σv分别决定水平和垂直方向上的滤波强度;(3)使用所述二维高斯卷积模板对所述灰度图像(Gr)进行二维高斯平滑滤波将所述二维高斯卷积模板与所述灰度图像进行卷积,设卷积之前灰度图像(Gr)在(x,y)处的像素值为Gr(x,y),那么二维高斯滤波之后的图像 id="icf0002" file="A2009101823100002C2.tif" wi="10" he="6" top= "115" left = "178" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>在(x,y)处的像素值 id="icf0003" file="A2009101823100002C3.tif" wi="13" he="6" top= "123" left = "70" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>为<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><msub> <mover><mi>G</mi><mo>^</mo> </mover> <mi>r</mi></msub><mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo></mrow><mo>=</mo><mfrac> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>v</mi><mo>=</mo><mo>-</mo><mi>h</mi> </mrow> <mi>h</mi></munderover><mo>{</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>w</mi> </mrow> <mi>w</mi></munderover><msub> <mi>G</mi> <mi>r</mi></msub><mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <mi>u</mi> <mo>,</mo> <mi>y</mi> <mo>-</mo> <mi>v</mi> <mo>)</mo></mrow><mi>g</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>,</mo> <msub><mi>&sigma;</mi><mi>u</mi> </msub> <mo>,</mo> <msub><mi>&sigma;</mi><mi>v</mi> </msub> <mo>)</mo></mrow><mo>}</mo> </mrow> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>v</mi><mo>=</mo><mo>-</mo><mi>h</mi> </mrow> <mi>h</mi></munderover><mo>{</mo><munderover> <mi>&Sigma;</mi> <mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>w</mi> </mrow> <mi>w</mi></munderover><mi>g</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>,</mo> <msub><mi>&sigma;</mi><mi>u</mi> </msub> <mo>,</mo> <msub><mi>&sigma;</mi><mi>v</mi> </msub> <mo>)</mo></mrow><mo>}</mo> </mrow></mfrac> </mrow>]]></math></maths>其中,w′,h′均为正整数并且<maths id="math0003" num="0003" ><math><![CDATA[ <mrow><msup> <mi>w</mi> <mo>&prime;</mo></msup><mo>&lt;</mo><mfrac> <mi>W</mi> <mn>2</mn></mfrac><mo>,</mo><msup> <mi>h</mi> <mo>&prime;</mo></msup><mo>&lt;</mo><mfrac> <mi>H</mi> <mn>2</mn></mfrac><mo>,</mo> </mrow>]]></math> id="icf0005" file="A2009101823100002C5.tif" wi="28" he="9" top= "157" left = "89" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>W,H分别为待处理图像的宽度和高度;(4)对所述二维高斯滤波之后的图像 id="icf0006" file="A2009101823100002C6.tif" wi="10" he="6" top= "175" left = "114" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>进行拉普拉斯滤波得到所求的对应待处理图像的视差图像(D)使用3×3大小的拉普拉斯卷积模板与所述二维高斯滤波后的图像 id="icf0007" file="A2009101823100002C7.tif" wi="10" he="6" top= "190" left = "169" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>进行卷积,设拉普拉斯卷积模板为l(u,v),1≤u,v≤3,u,v均为整数,卷积后所得图像在(x,y)处的像素值D(x,y)为<maths id="math0004" num="0004" ><math><![CDATA[ <mrow><mi>D</mi><mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo></mrow><mo>=</mo><mfrac> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>v</mi><mo>=</mo><mo>-</mo><mi>r</mi> </mrow> <mi>r</mi></munderover><munderover> <mi>&Sigma;</mi> <mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>r</mi> </mrow> <mi>r</mi></munderover><mrow> <mo>(</mo> <msub><mover> <mi>G</mi> <mo>^</mo></mover><mi>r</mi> </msub> <mrow><mo>(</mo><mi>x</mi><mo>-</mo><mi>u</mi><mo>,</mo><mi>y</mi><mo>-</mo><mi>v</mi><mo>)</mo> </mrow> <mi>l</mi> <mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo> </mrow> <mo>)</mo></mrow> </mrow> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>v</mi><mo>=</mo><mo>-</mo><mi>r</mi> </mrow> <mi>r</mi></munderover><munderover> <mi>&Sigma;</mi> <mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>r</mi> </mrow> <mi>r</mi></munderover><mi>l</mi><mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo></mrow> </mrow></mfrac> </mrow>]]></math></maths>所述卷积后所得图像即为所求的对应待处理图像的视差图像(D)。
2、 如权利要求1所述的一种基于单幅图像的2D转3D方法,其特征是所 述灰度化预处理的灰度转换公式为]T = 0.299i + 0.5870 + 0.1145或7 =丄及+丄(7 +丄5其中,y代表灰度转换后的图像的每个像素灰度值,凡G,B分别代表灰度转 换前的图像每个像素的凡G, S分量值。
3、如权利要求1所述的一种基于单幅图像的2D转3D方法,其特征是所 述3 x 3大小的拉普拉斯巻积模板为<formula>formula see original document page 3</formula>
全文摘要
本发明涉及一种2D转3D方法,尤其是一种基于单幅图像的2D转3D方法,属于计算机视觉技术领域。其主要包括四个步骤对待处理图像进行灰度化预处理;根据二维高斯滤波公式计算二维高斯卷积模板;使用得到的二维高斯卷积模板对所述灰度图像进行二维高斯平滑滤波,以减少图像中的噪声;对经过二维高斯滤波之后的图像进行拉普拉斯滤波。其优点是从图像出发来进行处理,不需要多幅图像或多视点图像等复杂的输入,适用性好;不需要摄像机参数,避免了繁琐复杂的校准校正等操作;整个过程全自动生成,计算量小,方便应用在一些对速度要求较高的场合。
文档编号H04N13/00GK101605271SQ200910182310
公开日2009年12月16日 申请日期2009年7月8日 优先权日2009年7月8日
发明者徐秀兵 申请人:无锡景象数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1