专利名称:自适应的不可见结构光技术实现方法
技术领域:
本发明涉及一种计算机投影的信息嵌入技术领域的方法,具体是一种自适应的不可见结构光技术实现方法。
背景技术:
不可见结构光技术的全称为"嵌入不可见结构光图案技术"(EmbeddingImperceptible Structured-Light Patterns Technology), 与传统的结构光技术相比,此技术特色在于人眼很难察觉到使此技术的结构光图像,但与投影仪同步运行的高频摄像机却可以捕捉并识别嵌在图像中的结构光图像信息。由于在高速投影的条件下,人眼是几乎无法发觉嵌在原始图像上的结构光图案信息。这样标定投影仪与投影平面相对位置的工作,甚至是获取整个投影场景3D信息的工作,都可以在不干扰和不影响用户欣赏数字投影影像的条件下进行。
经对现有技术文献的检索发现,Cotting等人在《ISMAR》.(《关于增强现实和混合现实的国际研讨会议》)(2004年,100 - 109页)发表的《.EmbeddingImperceptible Patterns into Projected Images for Simultaneous Acquisitionand Display》(同步显示和捕获嵌入在投影图像中的不可见图案)上对提出了一种不可见结构光技术方案,他首先实验测算出DLP投影仪的具体投影时隙,然后在特定的时隙将在二值编码结构光图像嵌在指定的色彩通道上。现有技术中的不可见结构光的解析方法对原始图像依赖程度很大,不同的原始图像最终产生的投影效果的质量相差很大,而且解析出来的结构光图像的精度不够,误差较大。所以目前还没有一项技术能够对任意图像的不同特征来自适应地调整嵌入结构光亮度信息的值,并保证最终的投影效果。
发明内容
本发明的目的针对上述现有技术中的不足,提出了一种自适应的不可见结构光技术实现方法,本发明中,不可见结构光可以根据每个图像的具体情况自动获得最优的结果,同时将这个自适应的方法运用在像素级别上,计算最合适嵌入结
4构光的颜色通道和亮度值,本发明分别克服了图像依赖和精度不足两大难题。本发明是通过如下技术实现的,包括如下步骤
步骤一,调整原始图像亮度空间范围将原始图像每一个像素的亮度分别在
RGB各通道上的亮度空间范围[O, 255]内等比例地縮小10%-15%,处理后得到的
图像称之为"伪原始图像",本步骤使得原图像中亮度空间范围縮小,避免在嵌入不可见结构光的计算过程中亮度值溢出的问题,同时也限定了原图像的信息损
失;
步骤二,在步骤一所生成的伪原始图像中像素级自适应嵌入不可见结构光,
包括如下具体步骤
第一步,设定若干个亮度级别,亮度级别的取值范围为[IO, 50],同时建立一个数据存储结构用来保存每个像素的在RGB各通道上亮度级别数值;
第二步,从伪原始图像取出一个像素,获得RGB各通道上的亮度值,分别作如下处理;
对于该像素在R通道上的亮度值r,嵌入亮度级别的最大值,并进行加减处理,如果加减处理后的结果都不超过[O, 255],则进入下一个步骤;否则亮度级别的数值向较小级别调整,亮度级别的最终取值是在设定级别中选取最高的级别,且同时满足加减处理结果在[O, 255]范围内的条件,最后R通道在该像素调整后嵌入亮度级别记为AR;
对于该像素在B通道上的亮度值b,嵌入亮度级别的最大值,并进行加减处理,如果加减处理结果都不超过[O, 255],则进入下一个步骤;否则将亮度级别的值向较小级别调整,亮度级别的最终取值是在设定级别中选取最高的级别,且同时满足加减处理结果在[O, 255]范围内的条件,最后R通道在该像素调整后嵌入亮度级别记为AR;
经过上述处理之后得到的图象分别为嵌入结构光图像和补偿图像,由于嵌入结构光图像和补偿图像在R和B通道上的亮度正好是互补的,所以将嵌入结构光图像和补偿图像这一组图像,统称为一组相互补偿的图像;
第三步,将该像素在R通道和B通道嵌入的亮度级别数值分别保存在数据结构D的对应位置上。本发明不对G通道上的亮度值进行嵌入A值处理,是因为本发明所使用的摄像头对G通道的亮度感光度远差于R和B通道。
5步骤三,用摄像头捕捉相互补偿的图像,对该图像利用C2P对应映射方法进行像素级自适应解析不可见结构光;
步骤四,用中值过滤器处理解析出来的结构光图像,去除多余的噪点。所述像素级自适应解析不可见结构光,包括如下步骤第一步,获得相互补偿的图像的亮度值;
第二步,利用C2P对应映射方法,将用摄像头捕捉的嵌入结构光图像的各个像素坐标乘以单应性矩阵H,矫正出嵌入结构光图像的投影图像,将用摄像头捕捉的补偿图像的各个像素坐标乘以单应性矩阵H,矫正出补偿图像的投影图像;
第三步,从矫正的嵌入结构光图像取出一个像素,获得其在R通道上的亮度cn,和B通道上的亮度cb"同时补偿图像对应位置上的像素,获得其在R通道上的亮度cr2,和B通道上的亮度cb2;
第四步,判断保存在数据结构D的该像素位置R通道和B通道的嵌入的亮度级别数值,分别记为Ak和Ab,如果Ar2ab,则采用ab作为判定条件解析出结构光像素,否则以ab作为判定条件解析出结构光像素;
当ar2 Ab吋,p— 、 , A 、;
L0 (cn —c/"2 2—lx Aflxe)、,, 丄 「1 - c&2 > As x e)
其中,尸为解析出来的结构光像素,l和O分别是二值结构光的取值,l表示白色结构光,0表示黑色,e为系数常量。
所述C2P对应映射方法,具体如下制作一张与矫正之后的投影图象的分辨
率相同的黑白棋盘格投影图像,用摄像头捕捉这张投影图像,获得与摄像机捕获得图象解析度相同的摄像机图像,运用角点检测算法,分别将投影图像和摄像机
图像中的所有棋盘格角点坐标位置求出,将这组坐标值作为数据输入到voidcvFindHomography函数中(该函数源自Intel 开源计算机视觉库0penCV),获得单应性矩阵H,单应性矩阵H是一个3X3的矩阵,它用来计算投影图像和摄像机
「X、
图像之间的透视变换少V
丄
单应性矩阵H即为C2P对应映射,它将摄像机图像坐标(u, v)矫正为投影与现有技术相比,本发明具有如下有益效果-
1、 本发明中嵌入不可见结构光自适应处理,通过高频投影仪高速投影时,使得生成的一组相互补偿的图像在高速交替投影的条件下的亮度效果更接近原图案,所以让人眼更加难以察觉;
2、 本发明中不可见结构光的计算可以根据每个图像的具体内容自动计算出最优的结果,同时将这个自适应的方法运在像素级上计算最合适嵌入结构光的颜色通道和亮度值,本发明分别克服了图像依赖和精度不足两大难题;
3、 本发明方法还原出来的结构光图像和理想结构光图像进行比对,精度误差范围可达到O. 49% 1. 21%。
图l是本发明的工作流程图。
图2是本发明方法对图像一进行处理的结果图中,(a)为原始图,(b)为使用自适应方法求出嵌入结构光信息A的图像,(c) 、 (d)为使用自适应方法得出的不可见结构光图像,(e)为使用自适应方法解析还原出结构光图像,(f)为经过中值过滤器处理的最终结构光图像。
图3是本发明方法对图像二进行处理的结果图中,(a) 、 (b)为使用自适应方法得出的不可见结构光图像,(c)、 (d)为用与投影仪同步的高频摄像头捕捉的图像,(e)为使用自适应算法求出嵌入结构光信息A的图像,(f)为经过中值过滤器处理的最终结构光图像。
图4是本发明方法中C2P对应映射方法使用的黑白棋盘格图像;
图中,(a)为分辨率为800X600的黑白棋盘格投影图像,(b)为用解析度为640 X 480的摄像头捕捉的该黑白棋盘格图像。
具体实施例方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例中使用dragonfly express摄像头,图像捕捉最高频率为200Hz,画面的分辨率640X480,彩色,图像格式为mono8,采用D印thQ投影仪,投影帧速为
7120Hz,最大分辨率为1024X768,对焦距离为l. 5米一2. 0米。本实施例分别对图2、 图3两种图像进行了处理。
如图1所示,本实施例包括如下步骤
步骤一,调整原始图像亮度空间范围将原始图像(如图2 (a))每一个像素 的亮度分别在RGB各通道上的亮度空间范围[O, 255]内等比例地縮小10%-15%, 处理后得到的图像称之为"伪原始图像";
步骤一的作用使得原图像中亮度空间范围縮小,避免在嵌入不可见结构光的 计算过程中亮度值溢出的问题,同时也限定了原图像的信息损失;本实施例中可 以保证原图像中所有像素的亮度值在RGB各通道上嵌入A40的亮度时,亮度值 不会溢出。
步骤二,在步骤一所生成的伪原始图像中像素级自适应嵌入不可见结构光, 包括如下具体步骤
第一步,设定五个亮度级别,分别为10、 20、 30、 40、 50,并用A来表示这 些值,同时建立一个数据存储结构D用来保存每个像素的在RGB各通道上A值;
第二步,从伪原始图像取出一个像素,获得RGB各通道上的亮度值,分别作 如下处理;
对于该像素在R通道上的亮度值r,嵌入A的最大值50,记为AR5。,即进行 r+AR5。, r-AB5。运算,如果r+A,、 r-A 5。都不超过
,则进入下一个步骤; 如果r+A咖、i"-A咖的值超出[O, 255],则需要将A的值向较小级别调整,并类 似标记为AR4。、 AR3。、 AR2。、 AR1。, A的最终取值是在五个级别中选取最高的级别, 且同时满足r+A、 r-A的值在[O, 255]范围内的条件。本步骤实现了根据伪原始 图像的内容,嵌入值A自适应计算的过程,最后R通道在该像素调整后A值记 为Ar;
对于该像素在B通道上的亮度值b,嵌入A的最大值50,记为AB5。,即进行 b+AB5。、 b-A咖运算,如果b+AB5。、 b-A腳都不超过[O, 255],则进入下一个步 骤;否则如果b+AB5。、 b-A,的值超出[O, 255],则需要将A的值向较小级别调 整,并类似标记为AB4。, AB3。, AB2。, AB1。, A的最终取值是在五个级别中选取最 高的级别,且同时满足b+A、 b-A的值在[O, 255]范围内的条件;最后B通道在 该像素调整后A值记为AB;
8上述第三步和第四步中,对伪原始图像各个像素进行r+A和b+A的处理后 所生成的图像,称之为嵌入结构光图像(如图2 (c));而进行r-A和b-A的减 法运算处理所生成的图像,称之为嵌入结构光图像的补偿图像,简称为补偿图像 (如图2 (d)),由于嵌入结构光图像和补偿图像在R和B通道上的亮度正好是互 补的,所以将嵌入结构光图像和补偿图像这一组图像,统称为一组相互补偿的图 像。
第三步,将上述像素R通道和B通道的嵌入值Ak和AB分别保存在数据结构 D的对应位置上(嵌入结构光信息A的图像如图2 (b)、图3 (e)),本实施例 不对G通道上的亮度值进行嵌入A值处理,是因为本实施例所使用的摄像头对G 通道的亮度感光度远差于R和B通道。
通过上述三个子步骤,结构光就嵌在原始图像上了,通过高频投影仪高速投 影时,由于上述三个子步骤实现的嵌入不可见结构光自适应处理,使得生成的一 组相互补偿的图像在高速交替投影的条件下的亮度效果更接近原图案,所以让人 眼更加难以察觉。
步骤三,用摄像头捕捉相互补偿的图像,对该图像利用C2P对应映射方法进 行像素级自适应解析不可见结构光(如图2 (e)),包括如下步骤
第一步,计算用摄像头得到的一组相互补偿的图像的亮度值;具体为使用 dragonfly express摄像头,将摄像头图像捕捉频率调整到120Hz,分辨率设定为 640X480 (也可以设为320X480; 800X600; 1024X768,以下都以640X480为 例);同时将D印thQ投影仪的投影频率也设定在120Hz,解析度设定为800X600 (也可以设为1024X768,以下都以800X600为例)。在摄像机捕捉的图像序列 中,每两张相邻图像为一组相互补偿的图像,分别为嵌入结构光图像和补偿图像, 本步骤中对图3(a)、 (b)应用步骤二获得的两幅不可见结构光图像进行解析,(c) (d)分别为摄像头获得的图像。
第二步,利用C2P对应映射方法,将用摄像头捕捉的嵌入结构光图像和补偿 图像的各个像素坐标乘以单应性矩阵H,实现对投影图象的矫正;
所述C2P对应映射方法(单应性矩阵H的求解方法),具体如下制作一张分 辨率为800X600的黑白棋盘格投影图像(如图4所示),用摄像头捕捉这张投影 图像,获得解析度为640X480的摄像机图像,运用角点检测算法,分别将投影图会得到单应性矩阵H。并使用公式少V
丄丄
像和摄像机图像中的所有棋盘格角点坐标位置求出,将这组坐标值作为数据输入
到void cvFindHomography函数中(该函数源自Inte,开源计算机视觉库OpenCV),
,将摄像机图像坐标(u, v)矫正
为投影仪图像坐标(x, y)。具体为将用摄像头捕捉的补偿图像(640X480)的各 个像素坐标乘以单应性矩阵H,矫正出补偿图像的投影图像(800X600);将用摄 像头捕捉的嵌入结构光图像(640X480)的各个像素坐标乘以单应性矩阵H,矫正 出嵌入结构光的投影图像(800X600);
第三步,在由第二步得到的一组矫正过的相互补偿的图像(包括矫正的嵌入 结构光图像和矫正的补偿图像)中,从矫正的嵌入结构光图像(800X600)取出 一个像素,获得其在R通道上的亮度和B通道上的亮度cb"同时补偿图像 (800X600)对应位置上的像素,获得其在R通道上的亮度cr2,和B通道上的亮
度Cb2;
第四步,判断保存在数据结构D的该像素位置R通道和B通道的嵌入值AR 和AB,如果AR2AB,则采用AK作为判定条件,否则以AB作为判定条件;
当AR2 Ab吋
当Ar〈Ab吋
fl - c&2 > As x
L0 (c61-c62 2 _lx Aflxe)
其中,尸为解析出来的结构光像素,l和O分别是二值结构光的取值,l表示 白色结构光,0表示黑色。e为系数常量,实验中取经验值l.O。
步骤四,用中值过滤器处理解析出来的结构光图像,去除多余的噪点(如图2 (f)、图3 (f))。
以误差的百分比做为精度衡量标准,如果误差为0%则为最理想情况,利用本 实施例方法还原出来的结构光图像和理想结构光图像进行比对,本实施例可达到 的精度误差范围为0. 49% 1. 21%。
权利要求
1、一种自适应的不可见结构光技术实现方法,其特征在于,包括如下步骤步骤一,调整原始图像亮度空间范围将原始图像每一个像素的亮度分别在RGB各通道上的亮度空间范围
内等比例地缩小10%-15%,处理后得到的图像称之为伪原始图像;步骤二,在步骤一所生成的伪原始图像中像素级自适应嵌入不可见结构光,包括如下具体步骤第一步,设定若干个亮度级别,亮度级别的取值范围为[10,50],同时建立一个数据存储结构用来保存每个像素的在RGB各通道上亮度级别数值;第二步,从伪原始图像取出一个像素,获得RGB各通道上的亮度值,分别作如下处理;对于该像素在R通道上的亮度值r,嵌入亮度级别的最大值,并进行加减处理,如果加减处理后的结果都不超过
,则进入下一个步骤;否则亮度级别的数值向较小级别调整,亮度级别的最终取值是在设定级别中选取最高的级别,且同时满足加减处理结果在
范围内的条件,最后R通道在该像素调整后嵌入亮度级别记为ΔR;对于该像素在B通道上的亮度值b,嵌入亮度级别的最大值,并进行加减处理,如果加减处理结果都不超过
,则进入下一个步骤;否则将亮度级别的值向较小级别调整,亮度级别的最终取值是在设定级别中选取最高的级别,且同时满足加减处理结果在
范围内的条件,最后R通道在该像素调整后嵌入亮度级别记为ΔB;经过上述处理之后得到的图象分别为嵌入结构光图像和补偿图像,由于嵌入结构光图像和补偿图像在R和B通道上的亮度正好是互补的,所以将嵌入结构光图像和补偿图像这一组图像,统称为一组相互补偿的图像;第三步,将该像素在R通道和B通道嵌入的亮度级别数值ΔR、ΔB分别保存在数据结构D的对应位置上;步骤三,用摄像头捕捉相互补偿的图像,对该图像利用C2P对应映射方法进行像素级自适应解析不可见结构光;步骤四,用中值过滤器处理解析出来的结构光图像,去除多余的噪点。
2、 根据权利要求l所述的自适应的不可见结构光技术实现方法,其特征是,所述像素级自适应解析不可见结构光,包括如下步骤第一步,获得一组相互补偿的图像的亮度值;第二步,利用C2P对应映射方法将摄像头捕捉的嵌入结构光图像的各个像素坐标乘以单应性矩阵H,矫正出嵌入结构光图像的投影图像,将摄像头捕捉的补偿图像的各个像素坐标乘以单应性矩阵H,矫正出补偿图像的投影图像;第三步,从矫正的嵌入结构光图像取出一个像素,获得其在R通道上的亮度cr"和B通道上的亮度cb,;同时补偿图像对应位置上的像素,获得其在R通道上的亮度cr2,和B通道上的亮度cb2;第四步,判断保存在数据结构D的该像素位置R通道和B通道的嵌入的亮度级别数值,分别记为Ah和Ab,如果AR2AB,则采用AK作为判定条件解析出结构光像素,否则以AB作为判定条件解析出结构光像素;<formula>formula see original document page 3</formula>当AR2 Ab吋,;<formula>formula see original document page 3</formula>当Ar〈Ab吋,i其中,尸为解析出来的结构光像素,l和O分别是二值结构光的取值,l表示白色结构光,0表示黑色,e为系数常量。
3、 根据权利要求l所述的自适应的不可见结构光技术实现方法,其特征是,所述C2P对应映射方法,具体如下制作一张与矫正之后的投影图象的分辨率相同的黑白棋盘格投影图像,用摄像头捕捉这张投影图像,获得与摄像机捕获得图象解析度相同的摄像机图像,运用角点检测算法,分别将投影图像和摄像机图像中的所有棋盘格角点坐标位置求出,将这组坐标值作为数据输入到voidcvFindHomography函数中,获得单应性矩阵H,单应性矩阵H是一个3X3的矩阵,它用来计算投影图像和摄像机图像之间的透视变换:<formula>formula see original document page 3</formula>单应性矩阵H即为C2P对应映射,它将摄像机图像坐标(u, v)矫正为投影仪图像坐标(x, y)。
全文摘要
一种计算机投影的信息嵌入技术领域的自适应的不可见结构光技术实现方法,步骤一,调整原始图像亮度空间范围;步骤二,在步骤一所生成的伪原始图像中像素级自适应嵌入不可见结构光;步骤三,用摄像头捕捉相互补偿的图像,对该图像利用C2P对应映射方法进行像素级自适应解析不可见结构光;步骤四,用中值过滤器处理解析出来的结构光图像,去除多余的噪点。本发明获得的亮度效果更接近原图案,所以让人眼更加难以察觉,同时,本发明分别克服了图像依赖和精度不足两大难题。
文档编号H04N9/77GK101489146SQ20091004501
公开日2009年7月22日 申请日期2009年1月8日 优先权日2009年1月8日
发明者亮 曾, 杨旭波, 王宇超, 肖双九 申请人:上海交通大学