发明名称 基于关联成像的三维信息获取方法
摘要 本发明公开了一种基于关联成像的三维信息获取方法,利用光源发出探测光,探测光经过空间光调制器处理后投射至目标物体,检测来自目标物体的反射光,并由预处理单元进行两次调制,分别进行存储,经过对缓存器中存储的随机图像和调制后的光强信息进行计算,从而获得目标物体的三维信息。本发明提出基于关联成像的三维信息获取方法,对于三维物体,在获取光强信号列之后,对其进行调制,仅需要两次二维信息的计算就可以获得三维信息,适用于远距离、快速的三维信息获取。
申请公布号 CN102621546A 申请公布日期 2012.08.01
申请号 CN201210085368.3 申请日期 2012.03.28
申请人 浙江大学 发明人 刘旭;李海峰;张硕;王杰;王金成;李东
分类号 G01S13/89(2006.01)I 主分类号 G01S13/89(2006.01)I
代理机构 杭州天勤知识产权代理有限公司 33224 代理人 胡红娟
主权项 一种基于关联成像的三维信息获取方法,包括利用光源发出探测光,探测光经过空间光调制器处理后投射至目标物体,检测来自目标物体的反射光,根据该反射光确定目标物体的三维信息,其特征在于,具体包括如下步骤:(1)设定随机图像的总像素数N,设定两个光强信号的调制函数f(x)和f′(x);(2)设定目标物体的检测次数M,并生成一个M×N维的观测矩阵,利用该观测矩阵生成M幅随机图像;(3)空间光调制器依次向光源发出的探测光中加载M幅随机图像中的一幅,得到带有随机图像信息的探测光,而后投射至目标物体;(4)检测来自目标物体的反射光的光强,每次检测时间为T,在检测时间T内得到信号列s1,其中,第j个数据可以记为s1,j,其中1表示第一副随机图像,j为信号列内各个数据点的序号;(5)在信号列数据s1,j中取有效范围内的数据点,所述的有效范围为:j1≤j≤j2,对所得到的有效范围内的数据点进行调制,得到调制后的信号列;调制时设Y′(1)=0,Y″(1)=0,当j=j1的时候开始,进行Y′(1)=Y′(1)+f(dj)×s1,j,Y″(1)=Y″(1)+f′(dj)×s1,j运算,直到j=j2为止;dj=c(Δt·j+Δt′),j1≤j≤j2;Δt为探测器每次采集信号的间隔时间;Δt′为探测器的延迟时间;c为光速;j为信号列内各个数据点的序号;j1和j2为有效范围内的数据点序号阈值;f和f′为步骤(1)所述的调制函数;(6)循环步骤(3)~步骤(5)直至M幅随机图像都发送完毕,对于第i副随机图像,对应得到信号列si,其中,第j个数据可以记为si,j,i为随机图像的序号;并进行Y′(i)=Y′(i)+f(dj)×si,j,Y″(i)=Y″(i)+f′(dj)×si,j的调制,完成M次检测,对应的得到M个调制后的信号列且表示为Y′和Y″: <mrow> <msup> <mi>Y</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <mfenced open='(' close=')'> <mtable> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mi>M</mi> <mo>,</mo> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mi>M</mi> <mo>,</mo> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mi>M</mi> <mo>,</mo> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>&CenterDot;</mo> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow> <mrow> <msup> <mi>Y</mi> <mrow> <mo>&prime;</mo> <mo>&prime;</mo> </mrow> </msup> <mo>=</mo> <mfenced open='(' close=')'> <mtable> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mi>M</mi> <mo>,</mo> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mi>M</mi> <mo>,</mo> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>s</mi> <mrow> <mi>M</mi> <mo>,</mo> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>&CenterDot;</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>j</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>(7)对调制后的数据列Y′进行关联成像或者压缩感知的计算,得到包含有目标物体纹理信息和距离信息的数据列X′;对调制后的数据列Y″进行关联成像或者压缩感知的计算,得到同时包含有目标物体纹理信息和距离信息的数据列X″;由于调制函数f(x)和f′(x)已知,将X′和X″中的对应元进行运算,可求出纹理信息和距离信息,即为所述的三维信息。
地址 310027 浙江省杭州市西湖区浙大路38号