发明名称 利用单台非量测数码相机进行钣金件三维量测的方法
摘要 利用单台非量测数码相机进行工业钣金件三维量测的方法,包括以下步骤:获取工业钣金件的图像;利用边缘提取和图像匹配技术从图像中提取钣金件影像的直线,并将所有提取出的影像直线段自动保存;利用所有影像中提取的直线段作为输入数据,判断同一条空间直线段对应的影像直线段数目,保存至少有两个对应的影像直线段,然后利用摄影测量原理进行钣金件的高精度三维重建;将三维重建的结果进行可视化显示,并由计算机进行三维量测。本发明的优点是不需要昂贵的量测型数码相机,利用普通的非量测型数码相机进行工业制造领域应用非常广泛的钣金件的高精度三维量测。
申请公布号 CN1308652C 申请公布日期 2007.04.04
申请号 CN200410061308.3 申请日期 2004.12.09
申请人 武汉大学 发明人 张永军;张剑清;张祖勋;吴百川
分类号 G01B11/03(2006.01);G01B21/04(2006.01) 主分类号 G01B11/03(2006.01)
代理机构 武汉天力专利事务所 代理人 程祥;冯卫平
主权项 1.一种利用单台非量测数码相机进行钣金件三维量测的方法,其特征是:包括以下步骤:一、获取工业钣金件的图像;按照下述图像拍摄方法获取工业钣金件的10张或以上影像,并将影像传入计算机:承载转盘上设置一个平面,以该平面上标记的若干坐标已知的特征点作为平面控制点场,将待测工业钣金件置放于平面控制点场的平面上,经过标定的非量测数码相机固定于待测工业钣金件上方,数码相机的主光线对准工业钣金件,承载转盘经计算机控制进行旋转的过程中,数码相机按等间隔拍摄待测工业钣金件的图像,每幅影像都实时传入计算机;非量测数码相机的标定方法为:a)利用待标定的数码相机按照下述方法获取4张以上控制场的影像;以其上标记有若干坐标已知的特征点的平面作为平面控制点场,以垂直于平面控制场的直线作为Z轴,数码相机的主光线与Z轴的夹角不大于30度;沿Z轴与平面控制点场的交点拍照,对于每张像片,数码相机的位置及三个旋转角则互不相同;b)利用现有技术中的边缘提取和图像匹配技术从图像中提取控制点的影像坐标;c)利用已知的控制点平面坐标和图像中提取的影像坐标,通过二维直接线性变换和共线方程间的对应关系求出数码相机的内外方位元素初值;二维直接线性变换表示的是空间平面和像平面间的映射关系<maths num="001"><![CDATA[ <math><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><msub><mi>h</mi><mn>1</mn></msub><mi>X</mi><mo>+</mo><msub><mi>h</mi><mn>2</mn></msub><mi>Y</mi><mo>+</mo><msub><mi>h</mi><mn>3</mn></msub></mrow><mrow><msub><mi>h</mi><mn>7</mn></msub><mi>X</mi><mo>+</mo><msub><mi>h</mi><mn>8</mn></msub><mi>Y</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mrow></math>]]></maths><maths num="002"><![CDATA[ <math><mrow><mi>y</mi><mo>=</mo><mfrac><mrow><msub><mi>h</mi><mn>4</mn></msub><mi>X</mi><mo>+</mo><msub><mi>h</mi><mn>5</mn></msub><mi>Y</mi><mo>+</mo><msub><mi>h</mi><mn>6</mn></msub></mrow><mrow><msub><mi>h</mi><mn>7</mn></msub><mi>X</mi><mo>+</mo><msub><mi>h</mi><mn>8</mn></msub><mi>Y</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mrow></math>]]></maths>其中H=(h<sub>1</sub>,h<sub>2</sub>,h<sub>3</sub>,h<sub>4</sub>,h<sub>5</sub>,h<sub>6</sub>,h<sub>7</sub>,h<sub>8</sub>)<sup>T</sup>为二维直接线性变换的八个变换参数,X,Y为平面控制点空间坐标,x,y为相应的像坐标;当像片点数大于4个时,可将上式进行适当变换,通过解超定方程AH=0求得二维直接线性变换参数;摄影测量中最常用的共线方程为:<maths num="003"><![CDATA[ <math><mrow><mi>x</mi><mo>-</mo><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mo>-</mo><mi>f</mi><mfrac><mrow><msub><mi>a</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>a</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths><maths num="004"><![CDATA[ <math><mrow><mi>y</mi><mo>-</mo><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mo>-</mo><mi>f</mi><mfrac><mrow><msub><mi>a</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>a</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>其中x<sub>0</sub>,y<sub>0</sub>,f为摄像机的内方位元素;(X<sub>S</sub>,Y<sub>S</sub>,Z<sub>S</sub>)为摄站坐标;(X,Y,Z)为物方空间坐标;(x,y)为相应的像点坐标;R={a<sub>i</sub>,b<sub>i</sub>,c<sub>i</sub>,i=1,2,3}为摄影测量中常用的旋转角,ω,κ构成的旋转矩阵;对于平面场而言,坐标系建立在控制场中心,则X,Y轴在平面内,Z轴与平面垂直,此时所有平面点的Z坐标为零;将共线方程进行变换即可得到与二维直接线性变换相同的表达形式,因而每一项都可由二维直接线性变换参数表示;根据旋转矩阵的性质<maths num="005"><![CDATA[ <math><mrow><msubsup><mi>a</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>a</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>a</mi><mn>3</mn><mn>2</mn></msubsup><mo>=</mo><mn>1</mn></mrow></math>]]></maths>和<maths num="006"><![CDATA[ <math><mrow><msubsup><mi>b</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>b</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>b</mi><mn>3</mn><mn>2</mn></msubsup><mo>=</mo><mn>1</mn></mrow></math>]]></maths>可得:<maths num="007"><![CDATA[ <math><mrow><mrow><mo>(</mo><msub><mi>h</mi><mn>1</mn></msub><msub><mi>h</mi><mn>8</mn></msub><mo>-</mo><msub><mi>h</mi><mn>2</mn></msub><msub><mi>h</mi><mn>7</mn></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>h</mi><mn>1</mn></msub><msub><mi>h</mi><mn>7</mn></msub><mo>-</mo><msubsup><mi>h</mi><mn>7</mn><mn>2</mn></msubsup><msub><mi>x</mi><mn>0</mn></msub><mo>+</mo><msub><mi>h</mi><mn>2</mn></msub><msub><mi>h</mi><mn>8</mn></msub><mo>-</mo><msubsup><mi>h</mi><mn>8</mn><mn>2</mn></msubsup><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mi>h</mi><mn>4</mn></msub><msub><mi>h</mi><mn>8</mn></msub><mo>-</mo><msub><mi>h</mi><mn>5</mn></msub><msub><mi>h</mi><mn>7</mn></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>h</mi><mn>4</mn></msub><msub><mi>h</mi><mn>7</mn></msub><mo>-</mo><msubsup><mi>h</mi><mn>7</mn><mn>2</mn></msubsup><msub><mi>y</mi><mn>0</mn></msub><mo>+</mo><msub><mi>h</mi><mn>5</mn></msub><msub><mi>h</mi><mn>8</mn></msub><mo>-</mo><msubsup><mi>h</mi><mn>8</mn><mn>2</mn></msubsup><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></math>]]></maths>对于两张以上像片,利用上式求解主点(x<sub>0</sub>,y<sub>0</sub>)的初值;根据旋转矩阵的性质a<sub>1</sub>b<sub>1</sub>+a<sub>2</sub>b<sub>2</sub>+a<sub>3</sub>b<sub>3</sub>=0即可导出焦距的求解方程:<maths num="008"><![CDATA[ <math><mrow><mi>f</mi><mo>=</mo><msqrt><mfrac><mrow><mo>-</mo><mrow><mo>(</mo><msub><mi>h</mi><mn>1</mn></msub><mo>-</mo><msub><mi>h</mi><mn>7</mn></msub><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>h</mi><mn>2</mn></msub><mo>-</mo><msub><mi>h</mi><mn>8</mn></msub><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mi>h</mi><mn>4</mn></msub><mo>-</mo><msub><mi>h</mi><mn>7</mn></msub><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>h</mi><mn>5</mn></msub><mo>-</mo><msub><mi>h</mi><mn>8</mn></msub><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>h</mi><mn>7</mn></msub><msub><mi>h</mi><mn>8</mn></msub></mrow></mfrac></msqrt></mrow></math>]]></maths>求出主点及焦距的初值后,进一步求得外方位元素的初值;在Y为主轴的转角系统下,<maths num="009"><![CDATA[ <math><mrow><mi>tan</mi><mi>&kappa;</mi><mo>=</mo><mfrac><msub><mi>b</mi><mn>1</mn></msub><msub><mi>b</mi><mn>2</mn></msub></mfrac><mo>=</mo><mfrac><mrow><msub><mi>h</mi><mn>2</mn></msub><mo>-</mo><msub><mi>h</mi><mn>8</mn></msub><msub><mi>x</mi><mn>0</mn></msub></mrow><mrow><msub><mi>h</mi><mn>5</mn></msub><mo>-</mo><msub><mi>h</mi><mn>8</mn></msub><msub><mi>y</mi><mn>0</mn></msub></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>sinω=-b<sub>3</sub>,<img file="C2004100613080003C6.GIF" wi="228" he="110" />因而三个旋转角的值都可以唯一确定;解如下线性方程组获得X<sub>S</sub>,Y<sub>S</sub>,Z<sub>S</sub>的初值:<maths num="010"><![CDATA[ <math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>h</mi><mn>3</mn></msub><mo>=</mo><msub><mi>x</mi><mn>0</mn></msub><mo>-</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>a</mi><mn>1</mn></msub><msub><mi>X</mi><mi>s</mi></msub><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub><msub><mi>Y</mi><mi>s</mi></msub><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>/</mo><msub><mi>&lambda;</mi></msub></mtd></mtr><mtr><mtd><mrow><msub><mi>h</mi><mn>6</mn></msub><mo>=</mo><msub><mi>y</mi><mn>0</mn></msub><mo>-</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>a</mi><mn>2</mn></msub><msub><mi>X</mi><mi>s</mi></msub><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><msub><mi>Y</mi><mi>s</mi></msub><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>&lambda;</mi></mrow></mtd></mtr><mtr><mtd><mi>&lambda;</mi><mo>=</mo><mrow><mo>(</mo><msub><mi>a</mi><mn>3</mn></msub><msub><mi>X</mi><mi>s</mi></msub><mo>+</mo><msub><mi>b</mi><mn>3</mn></msub><msub><mi>Y</mi><mi>s</mi></msub><mo>+</mo><msub><mi>c</mi><mn>3</mn></msub><msub><mi>Z</mi><mi>s</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>d)利用已知的控制点平面坐标和图像中提取的影像坐标,以及上述求得的数码相机内外方位元素初值,按照摄影测量中的严密光束法平差原理进行数码相机的高精度标定,从而求得数码相机内外方位元素的精确值;实现非量测数码相机标定;二、利用边缘提取和图像匹配技术从图像中提取钣金件影像的直线,并将所有提取出的影像直线段自动保存;三、利用所有影像中提取的直线段作为输入数据,判断同一条空间直线段对应的影像直线段数目,保存至少有两个对应的影像直线段,然后利用摄影测量原理进行钣金件的高精度三维重建;钣金件的高精度三维重建方法为:利用经过处理后的影像直线段,按照广义点摄影测量方法即可进行三维重建;钣金件的每一条空间直线段都用两个端点表示,影像直线段的方向大于等于45度时,采用公式:<maths num="011"><![CDATA[ <math><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mi>f</mi><mfrac><mrow><msub><mi>a</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>S</mi></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>a</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mrow><mi>Z</mi><mo>-</mo><mi>Z</mi></mrow><mi>S</mi></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>而当直线段的方向小于45度时,采用公式;<maths num="012"><![CDATA[ <math><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mi>f</mi><mfrac><mrow><msub><mi>a</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>S</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>a</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>-</mo><msub><mi>X</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Y</mi><mo>-</mo><msub><mi>Y</mi><mi>S</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>Z</mi><mo>-</mo><msub><mi>Z</mi><mi>S</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>上述公式中(X,Y,Z)表示空间直线段的端点坐标,(X<sub>S</sub>,Y<sub>S</sub>,Z<sub>S</sub>)表示摄像机所在的位置,(a<sub>i</sub> b<sub>i</sub> c<sub>i</sub>,i=1,2,3)表示旋转矩阵,f为摄像机的焦距,(x,y)为像点坐标;四、将三维重建的结果进行可视化显示,并由计算机进行三维量测。
地址 430072湖北省武汉市武昌珞珈山