发明名称 一种基于立式标靶的车载单目摄像头测距测高方法
摘要 本发明公开了一种基于立式标靶的车载单目摄像头测距测高方法,属于智能车辆环境感知技术领域。本发明通过对立式标靶图像的感兴趣区进行模板匹配、候选点聚类及筛选、精确定位等操作,实现亚像素级角点检测及定位,结合投影几何模型,建立图像纵坐标与实际成像角度之间的映射关系,从而实现测距及测高,本发明不需要标定摄像头的内外部参数,也不需要多次放置标定板或参照物,降低了出现误差的可能性,既减少了操作环节,又提高了测量精度;与传统的角点检测相比,能够更准确地检测出标靶中的目标点,从而减少了后续聚类筛选的计算量,在计算的实际成像角度及距离的基础上实现了单目摄像头测高,大大减低了成本。
申请公布号 CN103487034B 申请公布日期 2015.07.15
申请号 CN201310445576.4 申请日期 2013.09.26
申请人 北京航空航天大学 发明人 高峰;徐国艳;丁能根;黄小云;邢龙龙;朱金龙
分类号 G01C11/00(2006.01)I;G01C11/04(2006.01)I 主分类号 G01C11/00(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 官汉增
主权项 一种基于立式标靶的车载单目摄像头测距测高方法,其特征在于,包括以下步骤:步骤101:摄像头安装于车体的合适位置后,首先将立式标靶放置于摄像头正前方,然后测量摄像头安装高度h及其与立式标靶靶面的水平距离D;所述立式标靶与摄像头之间的距离需满足采集的标靶图像中必须包含最低的角点,且角点总数大于8个;步骤102:采集标靶图像,分辨率为mm*nn,设置图像坐标系:左上角点为坐标原点,水平向右为x轴正方向,垂直向下为y轴正方向;设置角点检测的感兴趣区:x方向为[mm/3‑1,2*mm/3‑1],y方向为[0,nn‑1];对感兴趣区进行分块并进行自适应二值化处理;步骤103:在感兴趣区内利用设计的模板a和模板b分别进行全搜索匹配,采用匹配法检测角点,保留所有匹配子图的左上角点,组成标靶角点的候选点集CC={(x<sub>1</sub>,y<sub>1</sub>),(x<sub>2</sub>,y<sub>2</sub>),…,(x<sub>k</sub>,y<sub>k</sub>)},其中k为匹配的子图总数;步骤104:对候选点集CC中所有点进行聚类及筛选处理,得到初始角点集A;步骤105:在初始角点集A中搜索出最大横坐标值x<sub>max</sub>,利用模板c在横坐标小于x<sub>max</sub>‑e的感兴趣区内从上至下、从右至左搜索匹配的子图,一旦搜索到,则停止搜索;假设搜索到匹配的子图左上角点为(x<sub>f</sub>,y<sub>f</sub>),则角点的参考间隔ss=x<sub>max</sub>‑(x<sub>f</sub>+e),再利用模板d在点(x<sub>f</sub>,y<sub>f</sub>)左下方感兴趣区内从上至下、从右至左搜索匹配的子图,一旦搜索到,则停止搜索,记录匹配的子图左上角点为(x<sub>j</sub>,y<sub>j</sub>);将角点(x<sub>f</sub>,y<sub>f</sub>)和(x<sub>j</sub>,y<sub>j</sub>)作为定位参考点;步骤106:搜索完毕后,判断是否存在步骤105的两个定位参考点(x<sub>f</sub>,y<sub>f</sub>)和(x<sub>j</sub>,y<sub>j</sub>),如果存在进入步骤107;否则返回步骤101;步骤107:将初始角点集A中纵坐标最大值y<sub>c1</sub>与y<sub>j</sub>进行比较,如果y<sub>c1</sub>‑y<sub>j</sub>为ss的3倍,认为点(x<sub>c1</sub>,y<sub>c1</sub>)为标靶最低角点;否则,将点(x<sub>max</sub>,y<sub>j</sub>+ss*3)作为标靶的最低角点,然后利用初始角点集A和参考间隔ss将图像中全部角点补充完整,并得到角点集C={(x<sub>c1</sub>,y<sub>c1</sub>),(x<sub>c2</sub>,y<sub>c2</sub>),…,(x<sub>cn</sub>,y<sub>cn</sub>)},其中n表示图中标靶角点总数,且C中各点的顺序也以y值从大到小排列,最后运用openCV中的cvFindCornerSubPix()函数,以角点集C为基准将其更新为亚像素级角点集B={(x<sub>b1</sub>,y<sub>b1</sub>),(x<sub>b2</sub>,y<sub>b2</sub>),…,(x<sub>bn</sub>,y<sub>bn</sub>)};步骤108:图像中n个角点的高度集HH={1.00,1.05,…,1.00+(n‑1)*0.05},然后利用参数h和D,计算得到各角点的实际成像角度集Q={q<sub>1</sub>,q<sub>2</sub>,…,q<sub>n</sub>},其中各角度值与亚像素级角点集B的纵坐标{y<sub>b1</sub>,y<sub>b2</sub>,…,y<sub>bn</sub>}按顺序一一对应,得到映射点集P={(y<sub>b1</sub>,q<sub>1</sub>),(y<sub>b2</sub>,q<sub>2</sub>),…,(y<sub>bn</sub>,q<sub>n</sub>)},以直线拟合相邻两点,得到相邻点映射关系集F={f<sub>1</sub>,f<sub>2</sub>,…,f<sub>n‑1</sub>};步骤109:在实时测距过程中,将通过障碍物检测算法得到的障碍物底部y方向坐标y<sub>z</sub>作为参数输入,首先判断出y<sub>z</sub>所属的映射关系f<sub>i</sub>,0&lt;i&lt;n;利用f<sub>i</sub>的直线方程计算y<sub>z</sub>对应的实际成像角度q<sub>Z</sub>,然后以q<sub>Z</sub>作为输入通过测距方程计算障碍物的距离L<sub>z</sub>:L<sub>z</sub>=h·tanq<sub>z</sub>                (4)其中,当y<sub>z</sub>小于等于y<sub>b2</sub>时,选择映射关系f<sub>1</sub>计算实际成像角度q<sub>Z</sub>;当y<sub>z</sub>大于等于y<sub>b(n‑1)</sub>时,选择映射关系f<sub>n‑1</sub>计算实际成像角度q<sub>Z</sub>;其他情况下,首先搜索到y<sub>z</sub>所在区间,即y<sub>bii</sub>&lt;y<sub>z</sub>&lt;y<sub>b(ii+1)</sub>,然后选择映射关系f<sub>ii</sub>计算实际成像角度q<sub>Z</sub>;步骤110:根据系统需要判断是否需要测量障碍物的高度,如果需要继续步骤111;否则结束此障碍物的测距;步骤111:将通过障碍物检测算法得到的障碍物顶部y方向像素值y<sub>d</sub>作为参数输入,首先判断出y<sub>d</sub>所属的映射关系f<sub>i</sub>,0&lt;i&lt;n,利用f<sub>i</sub>的直线方程计算y<sub>d</sub>对应的实际成像角度q<sub>d</sub>,然后以q<sub>d</sub>和障碍物距离L<sub>z</sub>作为输入通过测高方程计算障碍物的高度Hz:H<sub>z</sub>=h‑a·L<sub>z</sub>·tan(|90°‑q<sub>d</sub>|)            (5)其中,当q<sub>d</sub>≥90°时a取‑1,当q<sub>d</sub>&lt;90°时a取1;所述模板包括四种尺寸大小相同的模板,模板大小尺寸均为2e*2e,单位为pixel,其中,e为正方形模板边长的一半,模板a中左上角及右下角的e*e个像素的像素值为0,其余为255;模板b中右上角及左下角的e*e个像素的像素值为0,其余为255;模板c中右上角e*e个像素的像素值为0,其余为255;模板d中右下角e*e个像素的像素值为0,其余为255;搜索标靶图像中的角点时用到模板a和模板b,搜索定位参考点时用到模板c和模板d。
地址 100191 北京市海淀区学院路37号