发明名称 基于彩色深度融合的虚拟阵列合成孔径透视成像方法
摘要 本发明公开了一种基于彩色深度融合的虚拟阵列合成孔径透视成像方法,用于解决现有利用水平视差进行相机阵列合成孔径成像的方法所成图像清晰度差的技术问题。技术方案是直接从数据源入手,预先就给出被观测目标和遮挡物的深度信息,然后根据预先获取的深度信息,给予被观测目标和遮挡物不同的深度标记,利用深度标记去除投影之后错误的投影点,减少错误投影点对目标清晰度的负面影响,从而获取更加接近现实的目标图像。
申请公布号 CN103413304A 申请公布日期 2013.11.27
申请号 CN201310326453.9 申请日期 2013.07.30
申请人 西北工业大学 发明人 杨涛;张艳宁;王斯丙;马文广;仝小敏;范洁
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 1.一种基于彩色深度融合的虚拟阵列合成孔径透视成像方法,其特征在于包括以下步骤:步骤一、采用Kinect获取彩色图像和深度图片,然后利用Kinect SDK for Windows+OpenNI2+OpenCV将获取的图片信息、深度信息及RGB信息保存;将OpenNI的图像数据格式转换为OpenCV的数据格式相同;对于彩色图像,先将数据塞入OpenCV三通道RGB对象,再转换到BGR进行保存;对于深度图像,先放入单通道对象,最后将深度值等比例缩小到[0,255]的值域中,作为灰度图进行保存;步骤二、使用PTAM系统做相机标定,对于相机内参的求解,首先使用人手持标定板,用相机拍摄各个角度的图片,然后使用PTAM的CameraCalibrator子模块对相机内参进行求解;对于相机外参的求解,进行一步累加计算:假如以第一帧为参考帧,第二帧相对于第一帧的相机外参由PTAM求出,假设分别是平移向量T<sub>1</sub>,旋转矩阵为R<sub>1</sub>;需要将旋转矩阵分解为绕x轴,y轴,z轴旋转的三个角度ψ<sub>1</sub>,<img file="FDA00003591237100011.GIF" wi="72" he="64" />θ<sub>1</sub>;计算公式如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>R</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>&psi;</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>cos</mi><mi>&psi;</mi></mtd><mtd><mi>sin</mi><mi>&psi;</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>sin</mi><mi>&psi;</mi></mtd><mtd><mi>cos</mi><mi>&psi;</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><img file="FDA00003591237100013.GIF" wi="1042" he="238" /><maths num="0002"><![CDATA[<math><mrow><msub><mi>R</mi><mi>z</mi></msub><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>cos</mi><mi>&theta;</mi></mtd><mtd><mi>sin</mi><mi>&theta;</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mi>sin</mi><mi>&theta;</mi></mtd><mtd><mi>cos</mi><mi>&theta;</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths><img file="FDA00003591237100015.GIF" wi="990" he="104" />第三帧相对于第二帧的相机外参由PTAM求出,假设分别是平移向量T<sub>2</sub>,旋转矩阵为R<sub>2</sub>;旋转矩阵分解出的三个角度分别是ψ<sub>2</sub>,<img file="FDA00003591237100016.GIF" wi="70" he="60" />θ<sub>2</sub>,第三帧相对于第一帧的平移向量是T=T<sub>1</sub>+T<sub>2</sub>,三个旋转角度是:<img file="FDA00003591237100017.GIF" wi="884" he="237" />再根据(4)式求解出第三帧相对于第一帧的旋转矩阵,以后每一帧相对于参考帧的相机外参都这样求解;步骤三、假设一组含有遮挡物的图片序列中有n个不同的视角,分别是V<sub>1</sub>,V<sub>2</sub>,…,V<sub>n</sub>,选取其中的一个视角作为参考视角V<sub>ref</sub>;使用∏<sub>i</sub>表示不同视角的成像平面;假设∏<sub>des</sub>是想要获取的聚焦平面,点p<sub>des</sub>表示∏<sub>des</sub>上的一个二维点,在参考视角坐标系下对应的三维空间点p<sub>ref</sub>为:p<sub>ref</sub>=p<sub>des</sub>·size+o   (6)其中,size表示在参考相机坐标系下∏<sub>des</sub>中一个像素的大小,o表示∏<sub>des</sub>在参考相机坐标系下的起始点;size由以下公式求取:<maths num="0003"><![CDATA[<math><mrow><mi>size</mi><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><mi>sizeX</mi></mtd></mtr><mtr><mtd><mi>sizeY</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mo>&PlusMinus;</mo><mn>0.5</mn><mo>&CenterDot;</mo><mo>(</mo><mfenced open='{' close='}'><mtable><mtr><mtd><mi>w</mi></mtd></mtr><mtr><mtd><mi>h</mi></mtd></mtr></mtable></mfenced><mo>/</mo><mfenced open='{' close='}'><mtable><mtr><mtd><msub><mi>f</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>f</mi><mi>y</mi></msub></mtd></mtr></mtable></mfenced><mo>)</mo><mo>&CenterDot;</mo><mi>depth</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,w和h分别表示合成图像的宽和高,f<sub>x</sub>和f<sub>y</sub>表示焦距,depth表示聚焦平面的深度;计算p<sub>ref</sub>在世界坐标系下的坐标;对p<sub>ref</sub>的世界坐标利用针孔相机模型,得到其在每一个视角的成像平面上的点p',具体计算如下:<maths num="0004"><![CDATA[<math><mrow><msub><mi>Z</mi><mi>c</mi></msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>x</mi></mtd></mtr><mtr><mtd><mi>y</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mi>K</mi><mo>[</mo><mi>R</mi><mo>|</mo><mi>T</mi><mo>]</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>W</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>W</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Z</mi><mi>W</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,K表示相机的内参,R和T表示当前帧的旋转矩阵和平移向量,(x,y)表示p'在成像平面上的坐标;步骤四、在获取图片时,已经获取了图片中每个像素的深度信息和RGB信息,并且根据深度信息对像素做了标记,对所有的有效投影点获取平均RGB值,将该平均值作为聚焦平面上点的颜色值,获取虚拟聚焦平面上所有点的颜色值,生成目标的合成图像。
地址 710072 陕西省西安市友谊西路127号