发明名称 立体视觉系统的场景深度恢复和三维重建方法
摘要 本发明涉及一种立体视觉系统的场景深度恢复和三维重建方法,通过标定求出左右摄像机的内参数和相对旋转矩阵与平移向量;对左右图像中的对应点进行匹配;对于一对匹配点,由它们的左右图像坐标和相应摄像机内参数求出它们的左右正规化向量;根据左右正规化向量的坐标,以场景点在左右摄像机坐标系中的深度值为参数,求出分别从左摄像机光心至左图像点和从右摄像机光心至右图像点的两条投影线方程;由左右正规化向量和摄像机的相对旋转矩阵与平移向量求出两条投影线的公垂线端点在左右摄像机坐标系中的深度值和三维坐标;从公垂线两个端点的坐标求出公垂线中点的坐标,以该中点坐标作为场景点的三维坐标,完成深度恢复和三维重建。
申请公布号 CN1946195A 申请公布日期 2007.04.11
申请号 CN200610117582.7 申请日期 2006.10.26
申请人 上海交通大学 发明人 王建华;刘允才
分类号 H04N13/00(2006.01);H04N15/00(2006.01) 主分类号 H04N13/00(2006.01)
代理机构 上海交达专利事务所 代理人 毛翠莹
主权项 1、一种立体视觉系统的场景深度恢复和三维重建方法,其特征在于包括如下具体步骤:1)通过摄像机标定和立体系统标定的方法,求出左右摄像机的内参数和相对旋转矩阵与平移向量;2)对于左右摄像机所摄同一场景的两幅图像,通过对应点匹配的方法,求出左右图像中的对应点;3)对于左右图像中的一对对应点,由它们的左右图像坐标和左右摄像机的内参数求出它们的正规化向量:<math> <mrow> <msub> <mi>N</mi> <mi>l</mi> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>U</mi> <mi>l</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>V</mi> <mi>l</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mfrac> <mrow> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>-</mo> <msub> <mi>u</mi> <mrow> <mi>l</mi> <mn>0</mn> </mrow> </msub> </mrow> <msub> <mi>&alpha;</mi> <mi>l</mi> </msub> </mfrac> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msub> <mi>v</mi> <mi>l</mi> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mi>l</mi> <mn>0</mn> </mrow> </msub> </mrow> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> </mfrac> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>U</mi> <mi>r</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>V</mi> <mi>r</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mfrac> <mrow> <msub> <mi>u</mi> <mi>r</mi> </msub> <mo>-</mo> <msub> <mi>u</mi> <mrow> <mi>r</mi> <mn>0</mn> </mrow> </msub> </mrow> <msub> <mi>&alpha;</mi> <mi>r</mi> </msub> </mfrac> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msub> <mi>v</mi> <mi>r</mi> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mi>r</mi> <mn>0</mn> </mrow> </msub> </mrow> <msub> <mi>&beta;</mi> <mi>r</mi> </msub> </mfrac> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow> </math> 其中,Nl和Nr分别是左右图像点的正规化向量,(Ul,Vl,1)和(Ur,Vr,1)分别是正规化向量Nl和Nr的坐标,(ul,vl)和(ur,vr)分别是对应图像点的左右图像坐标,αl、βl和αr、βr分别是左右摄像机的主距,而(ul0,vl0)和(ur0,vr0)分别是左右摄像机主点的坐标;4)由对应点左右正规化向量的坐标,以场景点在左右摄像机坐标系中的深度值为参数,分别建立从左摄像机光心至左图像点和从右摄像机光心至右图像点的两条投影线方程:<math> <mrow> <msub> <mi>P</mi> <mi>l</mi> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>l</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>l</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>l</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>U</mi> <mi>l</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>V</mi> <mi>l</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <msub> <mi>Z</mi> <mi>l</mi> </msub> <mo>;</mo> <msub> <mi>P</mi> <mi>r</mi> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>r</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>r</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>r</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>U</mi> <mi>r</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>V</mi> <mi>r</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <msub> <mi>Z</mi> <mi>r</mi> </msub> </mrow> </math> 其中,(Xl,Yl,Zl)是左投影线上公垂线端点Pl在左摄像机坐标系中的坐标,(Xr,Yr,Zr)是右投影线上公垂线端点Pr在右摄像机坐标系中的坐标;5)、由左右正规化向量和摄像机的相对旋转矩阵与平移向量求出两条投影线的公垂线端点在左右摄像机坐标系中的深度值和三维坐标:<math> <mrow> <msub> <mi>Z</mi> <mi>l</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>RN</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>r</mi> <mi>T</mi> </msubsup> <msup> <mi>R</mi> <mi>T</mi> </msup> <mi>T</mi> <mo>)</mo> </mrow> <mo>-</mo> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <mi>T</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>r</mi> <mi>T</mi> </msubsup> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>RN</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>r</mi> <mi>T</mi> </msubsup> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>N</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow> </math> <math> <mrow> <msub> <mi>Z</mi> <mi>r</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>N</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>r</mi> <mi>T</mi> </msubsup> <msup> <mi>R</mi> <mi>T</mi> </msup> <mi>T</mi> <mo>)</mo> </mrow> <mo>-</mo> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <mi>T</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>RN</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>RN</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>r</mi> <mi>T</mi> </msubsup> <msub> <mi>N</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msubsup> <mi>N</mi> <mi>l</mi> <mi>T</mi> </msubsup> <msub> <mi>N</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow> </math> Pl=ZlNl Pr=ZrNr 其中,Zl是公垂线与左投影线交点在左摄像机坐标系中的深度值,Zr是公垂线与右投影线交点在右摄像机坐标系中的深度值,R是右摄像机相对于左摄像机的旋转矩阵,T是右摄像机相对于左摄像机的平移向量;6)由公垂线两个端点的坐标求出公垂线中点的坐标:<math> <mrow> <msub> <mi>P</mi> <mi>lmid</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>P</mi> <mi>l</mi> </msub> <mo>+</mo> <msub> <mi>RP</mi> <mi>r</mi> </msub> <mo>+</mo> <mi>T</mi> </mrow> <mn>2</mn> </mfrac> <mo>;</mo> <msub> <mi>P</mi> <mi>rmid</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>P</mi> <mi>r</mi> </msub> <mo>+</mo> <msup> <mi>R</mi> <mi>T</mi> </msup> <msub> <mi>P</mi> <mi>l</mi> </msub> <mo>-</mo> <msup> <mi>R</mi> <mi>T</mi> </msup> <mi>T</mi> </mrow> <mn>2</mn> </mfrac> </mrow> </math> 其中,Plmid为公垂线中点在左摄像机坐标系中的坐标,Prmid为公垂线中点在右摄像机坐标系中的坐标,以Plmid或Prmid作为场景点的三维坐标,完成深度恢复和三维重建。
地址 200240上海市闵行区东川路800号