发明名称 一种高适应性彩色结构光三维测量方法
摘要 一种三维扫描系统中基于彩色结构光的高适应性三维测量方法,选用6种纯色根据格雷编码原理进行编码,并对其中R、G、B三分量同时进行正弦调制得到用于投影的彩色光栅,并根据该彩色光栅设计其辅助光栅。将设计好的彩色光栅与辅助光栅投向被测物体,对采集到的两幅光栅变形图进行叠加运算以得到各像素的反射率,根据各像素的反射率对光栅变形图进行补偿。将补偿后的光栅变形图进行彩色图像分割,对分割后的图像进行解码之后即得到对应的相位周期信息。另一方面,将补偿后的光栅变形图灰度化后采用傅立叶变换法得到各像素的包裹相位值。结合解码得到的各像素的相位周期信息,实现相位展开。最后根据相位和物体高度信息的对应关系实现三维重构。
申请公布号 CN102519394A 申请公布日期 2012.06.27
申请号 CN201110366865.6 申请日期 2011.11.18
申请人 东南大学 发明人 达飞鹏;胡路遥;陆海洲
分类号 G01B11/25(2006.01)I 主分类号 G01B11/25(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 汤志武
主权项 一种基于彩色光栅投影的快速三维测量方法,其特征在于,具体操作步骤如下:步骤1:设计彩色光栅:步骤11:列出用于编码的六种纯色:采用对24位真彩图像三个分量R、G、B分别赋值实现,24位真彩图像的R、G、B分量分别是8位,有256个灰阶,把每个分量只取0和255两种值,并将灰阶为255时记为1,灰阶为0时记为0,这样R、G、B分量的取值分别为0或1,们选取红(100)、品红(101)、蓝(001)、青(011)、绿(010)、黄(110)六色进行编码,步骤1.2:选择彩色条纹的数目为33条,并为彩色条纹编号:蓝(001)、青(011)、绿(010)、黄(110)、红(100)、品红(101)条纹编号依次记为1、2、3、4、5、6,步骤1.3:确定编码周期,并列出长度为此编码周期的所有可能的彩色条纹编码组合:以4个彩色条纹为编码周期,根据步骤1.2中设定的编号,满足格雷编码且编码周期为4个彩色条纹的所有可能的彩色条纹编码组合的集合s为:s={1234,1232,1212,1216,1654,1656,1616,1612,2345,2343,2323,2321,2165,2161,2121,2123,3456,3454,3434,3432,3216,3212,3232,3234,4561,4565,4545,4543,4321,4323,4343,4345,5612,5616,5656,5654,5432,5434,5454,5456,6123,6121,6161,6165,6543,6545,6565,6561,                                                   }步骤1.4:确定各个编码周期的彩色条纹编码:步骤1.4.1:建立彩色条纹集合Io且彩色条纹集合Io为空,将步骤1.3中列出的所有可能的彩色条纹编码组合的集合s作为待选区,从集合s中任意选择一个彩色条纹编码组合设为sj,j=0,并将彩色条纹编码组合sj中的四个元素依序列入彩色条纹集合Io,在彩色条纹集合Io中形成彩色条纹序列,并将彩色条纹编码组合sj从集合s中删除,集合s中剩余元素形成选择下一个彩色条纹编码组合的待选区sr,步骤1.4.2:取彩色条纹编码组合sj的后3个元素作为当前所选彩色条纹编 码组合sj+1的前3个元素并以此作为候选条件,从待选区sr中寻找满足候选条件的彩色条纹编码组合sj+1,将彩色条纹编码组合sj+1的最后一个元素补入Io并列于彩色条纹序列的尾部,同时,从sr中删除彩色条纹编码组合sj+1,集合s中剩余元素形成的选择下一个彩色条纹编码组合的待选区,步骤1.4.3:如果j+1=33,则彩色条纹集合Io的彩色条纹序列为投影光栅的编码,并进入步骤1.5;否则,令j=j+1,返回步骤1.4.2,步骤1.5:对设计完成的彩色编码条纹序列中RGB分量依据公式(1)做正弦调制最终得到用于投影的彩色光栅, <mrow> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msubsup> <mi>I</mi> <mi>rn</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mi>&pi;</mi> <mfrac> <mi>t</mi> <mi>&omega;</mi> </mfrac> <mo>)</mo> </mrow> <msub> <mi>I</mi> <mi>rn</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>I</mi> <mi>gn</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mi>&pi;</mi> <mfrac> <mi>t</mi> <mi>&omega;</mi> </mfrac> <mo>)</mo> </mrow> <msub> <mi>I</mi> <mi>gn</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>I</mi> <mi>bn</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mi>&pi;</mi> <mfrac> <mi>t</mi> <mi>&omega;</mi> </mfrac> <mo>)</mo> </mrow> <msub> <mi>I</mi> <mi>bn</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>式中,I′rn(x,y),I′gn(x,y),I′bn(x,y)分别表示用于投影的彩色光栅的第n条编码条纹的R、G、B分量,Irn(x,y),Ign(x,y),Ibn(x,y)分别表示彩色编码条纹序列的第n条编码条纹的R、G、B分量,ω为条纹宽度,其值为32个像素,x、y分别表示横、纵方向像素坐标,像素点(x,y)为所属单个条纹内横向的第t个像素,t的取值在0~ω之间,步骤1.6:对步骤1.5得到的彩色光栅,依据公式(2)计算得到辅助光栅, <mrow> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msubsup> <mi>I</mi> <mi>rn</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>255</mn> <mo>-</mo> <msubsup> <mi>I</mi> <mi>rn</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>I</mi> <mi>gn</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>255</mn> <mo>-</mo> <msubsup> <mi>I</mi> <mi>gn</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>I</mi> <mi>bn</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>255</mn> <mo>-</mo> <msubsup> <mi>I</mi> <mi>bn</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>式中,I′rn(x,y),I′gn(x,y),I′bn(x,y)分别表示用于投影的彩色光栅的第n条编码条纹的R、G、B分量,I″rn(x,y),I″gn(x,y),I″bn(x,y)分别表示辅助光栅的第n条编码条纹其R、G、B分量,步骤2:通过计算机和投影仪分别将彩色光栅与辅助光栅投影到被测物体上,并用摄像机分别取回彩色光栅与辅助光栅的变形图,步骤3:对取回彩色光栅与辅助光栅的变形图进行处理,计算其各像素点的反射率,并根据反射率对彩色光栅的变形图进行补偿:步骤3.1:根据式(3)计算其各像素点的反射率: <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>k</mi> <mi>r</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>k</mi> <mi>g</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>k</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>R</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>G</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>B</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>+</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msup> <mi>R</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msup> <mi>G</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msup> <mi>B</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>式中,x、y分别表示横、纵方向像素坐标,kr(x,y),kg(x,y),kb(x,y)分别表示彩色光栅的变形图的像素点(x,y)的R、G、B分量反射率,R′(x,y),G′(x,y),B′(x,y)分别表示辅助光栅的变形图的像素点(x,y)的R、G、B分量,R(x,y),G(x,y),B(x,y)分别表示彩色光栅的变形图的像素点(x,y)的R、G、B分量,步骤3.2:根据式(4)对彩色光栅的变形图进行补偿: <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msup> <mi>R</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msup> <mi>G</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msup> <mi>B</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>R</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>/</mo> <msub> <mi>k</mi> <mi>r</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>G</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>/</mo> <msub> <mi>k</mi> <mi>g</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>B</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>/</mo> <msub> <mi>k</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>式中,x、y分别表示横、纵方向像素坐标,kr(x,y),kg(x,y),kb(x,y)分别表示彩色光栅的变形图的像素点(x,y)的R、G、B分量反射率,R″(x,y),G″(x,y),B″(x,y)分别表示补偿后的彩色光栅变形图的像素点(x,y)的R、G、B分量,R(x,y),G(x,y),B(x,y)分别表示彩色光栅的变形图的像素点(x,y)的R、G、B分量,步骤4:对补偿后的彩色光栅变形图进行处理,得到包裹相位、相位周期信息和最终相位图像,步骤5:读取最终相位图像中各像素点对应的最终相位值,依据经典光栅投影测量系统原理求得被测物体的高度信息,从而实现三维信息的获取。
地址 211189 江苏省南京市江宁开发区东南大学路2号