发明名称 一种基于矩形图样的视频图像距离检测方法
摘要 一种基于矩形图样的视频图像距离检测方法,主要步骤:第一步,初始化;第二步,建立实际直角坐标系XOY;第三步,测量矩形图样实际边长;第四步,建立图像直角坐标系;第五步,计算单幅图像中心点Q′坐标;第六步,计算点Q1′、点Q2′坐标;第七步,计算摄像机尺度因子;第八步,计算摄像机安装高度、角度;第九步,计算距离检测模型参数;第十步,实现单幅图像距离检测;第十一步,实现实际距离坐标转换为图像坐标。本发明是一种基于矩形图样的视频图像距离检测方法,首次直接利用实际中矩形图样的相对边长信息及其在单幅图像中对应的坐标信息,进行摄像机标定和距离检测模型的建立,解决了视频图像距离检测的问题。
申请公布号 CN102136140B 申请公布日期 2012.07.18
申请号 CN201010605192.0 申请日期 2010.12.24
申请人 东南大学 发明人 路小波;刘阳
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 汤志武
主权项 1.一种基于矩形图样的视频图像距离检测方法,其特点在于,按照以下步骤实施:步骤1、初始化设备,通过摄像机拍摄视频图像,获取单幅图像;步骤2、记摄像机光心为点O<sub>0</sub>,记点O<sub>0</sub>在道路平面中的投影点为点O,在摄像机拍摄范围内的道路平面中,选取一个矩形图样,顺时针记矩形图样的四个顶点为A、B、C、D,记A、B、C、D在单幅图像中的投影点为A′、B′、C′、D′,其中使得单幅图像中点A′位于四边形A′B′C′D′的左上角,则直线A′B′与直线C′D′相交于一点,记为Q′<sub>1</sub>,直线A′D′与直线B′C′相交于一点,记为Q′<sub>2</sub>,过点O作Y轴,使得Y轴与向量<img file="DEST_PATH_FDA0000040407330000011.GIF" wi="104" he="81" />在实际中对应的方向平行,过点O作X轴,使得X轴与<img file="DEST_PATH_FDA0000040407330000012.GIF" wi="112" he="83" />在实际中对应的方向平行,建立道路平面中的实际直角坐标系XOY,以与道路平面竖直向上为Z轴,建立实际的三维空间坐标系;步骤3、分别测量矩形图样ABCD在X方向和Y方向的实际边长,即线段AB和AD的长度,记测量结果为s<sub>1</sub>、s<sub>2</sub>;步骤4、对于拍摄获取的单幅图像,以单幅图像左上角为原点O′<sub>1</sub>,横向向右为X′<sub>1</sub>轴,垂直向下为Y′<sub>1</sub>轴,并以一个像素点数目为单位长度,建立图像直角坐标系X′<sub>1</sub>O′<sub>1</sub>Y′<sub>1</sub>,记下单幅图像中四边形A′B′C′D′四个顶点分别对应的图像坐标,记为点A′(x<sub>1</sub>,y<sub>1</sub>),点B′(x<sub>2</sub>,y<sub>2</sub>),点C′(x<sub>3</sub>,y<sub>3</sub>),点D′(x<sub>4</sub>,y<sub>4</sub>);步骤5、利用得到的单幅图像,求出单幅图像的大小,记为m*n,记下单幅图像中心点Q′的图像坐标(u,v),其中u=n/2,v=m/2,记直线O<sub>0</sub>Q′和道路平面的交点为点Q,则<img file="DEST_PATH_FDA0000040407330000013.GIF" wi="89" he="63" />即为摄像机拍摄的方向;步骤6、在单幅图像中,分别求出点Q′<sub>1</sub>和点Q′<sub>2</sub>的图像坐标,点Q′<sub>1</sub>、点Q′<sub>2</sub>即是单幅图像上,分别对应于实际直角坐标系XOY的X轴方向和Y轴方向的消失点,其中消失点指的是实际中的平行线经过透视投影后在单幅图像中汇聚的那一点:6.1)在单幅图像中,分别求出直线A′B′和直线C′D′的方程,分别记为a<sub>1</sub>x+b<sub>1</sub>y+c<sub>1</sub>=0,a<sub>2</sub>x+b<sub>2</sub>y+c<sub>2</sub>=0,6.2)解方程组<img file="FDA0000144065000000014.GIF" wi="395" he="145" />方程组的解记为(u<sub>1</sub>,v<sub>1</sub>),此即点Q′<sub>1</sub>的坐标,6.3)在单幅图像中,分别求出直线A′D′和直线B′C′的方程,分别记为a<sub>3</sub>x+b<sub>3</sub>y+c<sub>3</sub>=0,a<sub>4</sub>x+b<sub>4</sub>y+c<sub>4</sub>=0, 6.4)解方程组<img file="FDA0000144065000000021.GIF" wi="393" he="146" />方程组的解记为(u<sub>2</sub>,v<sub>2</sub>),此即点Q′<sub>2</sub>的坐标;步骤7、求出摄像机焦距和像素点物理长度的比值,此比值即为摄像机尺度因子d<sub>f</sub>,其中假设摄像机横坐标和纵坐标方向的像素点物理长度相同:7.1)在单幅图像中,求出点Q′和点Q′<sub>1</sub>之间的像素点数目L<sub>1</sub>=((u<sub>1</sub>-u)<sup>2</sup>+(v<sub>1</sub>-v)<sup>2</sup>)<sup>1/2</sup>,求出点Q′和点Q′<sub>2</sub>之间的像素点数目L<sub>2</sub>=((u<sub>2</sub>-u)<sup>2</sup>+(v<sub>2</sub>-v)<sup>2</sup>)<sup>1/2</sup>,求出点Q′<sub>1</sub>和点Q′<sub>2</sub>之间的像素点数目L<sub>3</sub>=((u<sub>2</sub>-u<sub>1</sub>)<sup>2</sup>+(v<sub>2</sub>-v<sub>1</sub>)<sup>2</sup>)<sup>1/2</sup>,7.2)求出摄像机尺度因子d<sub>f</sub>=((L<sub>3</sub><sup>2</sup>-L<sub>1</sub><sup>2</sup>-L<sub>2</sub><sup>2</sup>)/2)<sup>1/2</sup>;步骤8、求出摄像机安装角度:8.1)在实际三维坐标系中,求出<img file="DEST_PATH_FDA0000040407330000022.GIF" wi="88" he="63" />和X轴方向的夹角α<sub>1</sub>,<img file="DEST_PATH_FDA0000040407330000023.GIF" wi="89" he="63" />和Y轴方向的夹角α<sub>2</sub>,其中α<sub>1</sub>=arctan(L<sub>1</sub>/d<sub>f</sub>),α<sub>2</sub>=arctan(L<sub>2</sub>/d<sub>f</sub>),8.2)在实际三维坐标系中,求出<img file="DEST_PATH_FDA0000040407330000024.GIF" wi="89" he="63" />在ZOX平面内的投影方向相对于X轴的下倾角β<sub>1</sub>,求出<img file="DEST_PATH_FDA0000040407330000025.GIF" wi="88" he="64" />在ZOY平面内的投影方向相对于Y轴方向的下倾角β<sub>2</sub>,求出<img file="DEST_PATH_FDA0000040407330000026.GIF" wi="89" he="64" />在XOY平面内的投影方向与X轴方向的夹角γ<sub>1</sub>、与Y轴方向的夹角γ<sub>2</sub>:β<sub>1</sub>=arccos((d<sub>f</sub><sup>4</sup>/(L<sub>1</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)/(d<sub>f</sub><sup>2</sup>-d<sub>f</sub><sup>4</sup>/(L<sub>2</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)))<sup>1/2</sup>),β<sub>2</sub>=arccos((d<sub>f</sub><sup>4</sup>/(L<sub>2</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)/(d<sub>f</sub><sup>2</sup>-d<sub>f</sub><sup>4</sup>/(L<sub>1</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)))<sup>1/2</sup>),                                                     ;γ<sub>1</sub>=arctan((L<sub>2</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)<sub>1/2</sub>/(L<sub>1</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)<sup>1/2</sup>),γ<sub>2</sub>=arctan((L<sub>1</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)<sup>1/2</sup>/(L<sub>2</sub><sup>2</sup>+d<sub>f</sub><sup>2</sup>)<sup>1/2</sup>)步骤9、计算距离检测模型中的系数和摄像机安装高度:9.1)在单幅图像中,分别求出直线Q′Q′<sub>1</sub>和直线Q′Q′<sub>2</sub>的方程,分别记为a<sub>01</sub>x+b<sub>01</sub>y+c<sub>01</sub>=0,a<sub>02</sub>x+b<sub>02</sub>y+c<sub>02</sub>=0,9.2)解方程组<img file="FDA0000144065000000027.GIF" wi="437" he="146" />得到的解即为单幅图像中直线A′B′和直 线Q′Q′<sub>2</sub>的交点坐标,记为点A′<sub>02</sub>(x<sub>5</sub>,y<sub>5</sub>),解方程组<img file="FDA0000144065000000031.GIF" wi="438" he="146" />得到的解即为单幅图像中直线C′D′和直线Q′Q′<sub>2</sub>的交点坐标,记为点C′<sub>02</sub>(x<sub>6</sub>,y<sub>6</sub>),9.3)解方程组<img file="FDA0000144065000000032.GIF" wi="433" he="146" />得到的解即为单幅图像中直线A′D′和直线Q′Q′<sub>1</sub>的交点坐标,记为点A′<sub>01</sub>(x<sub>7</sub>,y<sub>7</sub>),解方程组<img file="FDA0000144065000000033.GIF" wi="433" he="146" />得到的解即为单幅图像中直线B′C′和直线Q′Q′<sub>1</sub>的交点坐标,记为点C′<sub>01</sub>(x<sub>8</sub>,y<sub>8</sub>),9.5)在单幅图像中,求出点A′<sub>01</sub>、点C′<sub>01</sub>到点Q′<sub>1</sub>的像素点数目t<sub>1</sub>、t<sub>2</sub>,求出点A′<sub>02</sub>、点C′<sub>02</sub>到点Q′<sub>2</sub>的像素点数目t<sub>3</sub>、t<sub>4</sub>:t<sub>1</sub>=((u<sub>1</sub>-x<sub>7</sub>)<sup>2</sup>+(v<sub>1</sub>-y<sub>7</sub>)<sup>2</sup>)<sup>1/2</sup>,t<sub>2</sub>=((u<sub>1</sub>-x<sub>8</sub>)<sup>2</sup>+(v<sub>1</sub>-y<sub>8</sub>)<sup>2</sup>)<sup>1/2</sup>,                             ,t<sub>3</sub>=((u<sub>2</sub>-x<sub>5</sub>)<sup>2</sup>+(v<sub>2</sub>-y<sub>5</sub>)<sup>2</sup>)<sup>1/2</sup>,t<sub>4</sub>=((u<sub>2</sub>-x<sub>6</sub>)<sup>2</sup>+(v<sub>2</sub>-y<sub>6</sub>)<sup>2</sup>)<sup>1/2</sup>9.6)求出距离检测模型中的系数k<sub>21</sub>、k<sub>22</sub>,公式如下:k<sub>21</sub>=s<sub>1</sub>t<sub>1</sub>t<sub>2</sub>/|t<sub>1</sub>-t<sub>2</sub>|,                     ,k<sub>22</sub>=s<sub>2</sub>t<sub>3</sub>t<sub>4</sub>/|t<sub>3</sub>-t<sub>4</sub>|9.7)求出摄像机安装高度h:h=(k<sub>22</sub>L<sub>2</sub>sin(β<sub>1</sub>)/d<sub>f</sub>/|t<sub>3</sub>-t<sub>4</sub>|+k<sub>21</sub>L<sub>1</sub> sin(β<sub>2</sub>)/d<sub>f</sub>/|t<sub>1</sub>-t<sub>2</sub>|)/2,9.8)求出距离检测模型中的系数k<sub>11</sub>,k<sub>12</sub>,公式如下:k<sub>11</sub>=-k<sub>21</sub>L<sub>1</sub> tan(α<sub>1</sub>)/d<sub>f</sub>/|t<sub>1</sub>-t<sub>2</sub>|,                                  ;k<sub>12</sub>=-k<sub>22</sub>L<sub>2</sub> tan(α<sub>2</sub>)/d<sub>f</sub>/|t<sub>3</sub>-t<sub>4</sub>|步骤10、对于单幅图像中的道路平面内一点P′(x<sub>11</sub>,y<sub>11</sub>),将其转换为实际直角坐标系XOY中对应的实际点P(p<sub>1</sub>,p<sub>2</sub>),检测实际中点P与点O之间的距离l<sub>p</sub>:10.1)在单幅图像中,分别求出直线P′Q′<sub>1</sub>和直线P′Q′<sub>2</sub>的方程,分别记为a<sub>11</sub>x+b<sub>11</sub>y+c<sub>11</sub>=0,a<sub>12</sub>x+b<sub>12</sub>y+c<sub>12</sub>=0, 10.2)解方程组<img file="FDA0000144065000000041.GIF" wi="438" he="146" />得到的解即为单幅图像中直线P′Q′<sub>1</sub>和直线Q′Q′<sub>2</sub>的交点坐标,记为P′<sub>2</sub>(x<sub>12</sub>,y<sub>12</sub>),10.3)解方程组<img file="FDA0000144065000000042.GIF" wi="434" he="146" />得到的解即为单幅图像中直线P′Q′<sub>2</sub>和直线Q′Q′<sub>1</sub>的交点坐标,记为点P′<sub>1</sub>(x<sub>13</sub>,y<sub>13</sub>),10.4)在单幅图像中,求出点P′<sub>1</sub>到点Q′<sub>1</sub>的像素点数目t<sub>11</sub>,求出点P′<sub>2</sub>到点Q′<sub>2</sub>的像素点数目t<sub>12</sub>,公式如下:t<sub>11</sub>=((u<sub>1</sub>-x<sub>13</sub>)<sup>2</sup>+(v<sub>1</sub>-y<sub>13</sub>)<sup>2</sup>)<sup>1/2</sup>,                                 ,t<sub>12</sub>=((u<sub>2</sub>-x<sub>12</sub>)<sup>2</sup>+(v<sub>2</sub>-y<sub>12</sub>)<sup>2</sup>)<sup>1/2</sup>10.5)求出实际中点P的实际距离坐标P(p<sub>1</sub>,p<sub>2</sub>),公式如下:p<sub>1</sub>=k<sub>11</sub>+k<sub>21</sub>/t<sub>11</sub>,                      ,p<sub>2</sub>=k<sub>12</sub>+k<sub>22</sub>/t<sub>12</sub>则实际中点P与点O之间的距离为l<sub>p</sub>=(p<sub>1</sub><sup>2</sup>+p<sub>2</sub><sup>2</sup>)<sup>1/2</sup>;步骤11、对于实际直角坐标系XOY中对应的实际点G(g<sub>1</sub>,g<sub>2</sub>),将其转换为单幅图像中的点G′(x<sub>21</sub>,y<sub>21</sub>):11.1)在单幅图像中,设直线G′Q′<sub>1</sub>与直线Q′Q′<sub>2</sub>交点为点G′<sub>2</sub>(x<sub>22</sub>,y<sub>22</sub>),直线G′Q′<sub>2</sub>与直线Q′Q′<sub>1</sub>交点为点G′<sub>1</sub>(x<sub>23</sub>,y<sub>23</sub>),设点G′<sub>1</sub>到点Q′<sub>1</sub>的像素点数目为t<sub>21</sub>,点G′<sub>2</sub>到点Q′<sub>2</sub>的像素点数目为t<sub>22</sub>,并由公式t<sub>21</sub>=k<sub>21</sub>/(g<sub>1</sub>-k<sub>11</sub>),t<sub>22</sub>=k<sub>22</sub>/(g<sub>2</sub>-k<sub>12</sub>),求出t<sub>21</sub>、t<sub>22</sub>,11.2)由于点G′<sub>1</sub>位于线段Q′Q′<sub>1</sub>上,点G′<sub>2</sub>位于线段Q′Q′<sub>2</sub>上,通过t<sub>21</sub>、t<sub>22</sub>和点G′<sub>2</sub>(x<sub>22</sub>,y<sub>22</sub>)、点G′<sub>1</sub>(x<sub>23</sub>,y<sub>23</sub>)之间的关系t<sub>21</sub>=((u<sub>1</sub>-x<sub>23</sub>)<sup>2</sup>+(v<sub>1</sub>-y<sub>23</sub>)<sup>2</sup>)<sup>1/2</sup>,t<sub>22</sub>=((u<sub>2</sub>-x<sub>22</sub>)<sup>2</sup>+(v<sub>2</sub>-y<sub>22</sub>)<sup>2</sup>)<sup>1/2</sup>,反求出点G′<sub>1</sub>和点G′<sub>2</sub>的图像坐标,11.3)在单幅图像中,分别求出直线G′<sub>2</sub>Q′<sub>1</sub>和直线G′<sub>1</sub>Q′<sub>2</sub>的方程,分别记为 a<sub>22</sub>x+b<sub>22</sub>y+c<sub>22</sub>=0,a<sub>21</sub>x+b<sub>21</sub>y+c<sub>21</sub>=0,11.4)解方程组<img file="FDA0000144065000000051.GIF" wi="441" he="145" />得到方程组的解,即为单幅图像中的点G′(x<sub>21</sub>,y<sub>21</sub>)。
地址 210096 江苏省南京市四牌楼2号