一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于一组水平平行线标定相机俯仰角的方法与流程

2021-11-29 13:20:00 来源:中国专利 TAG:


1.本发明属于图像处理领域,更进一步涉及计算机视觉领域中的一种基于一组水平平行线标定相机俯仰角的方法。本发明可用于通过对相机进行标定以获取相机的俯仰角。


背景技术:

2.目前,相机俯仰角标定方法的主要技术为在拍摄对象上设置参考点,利用参考点的位置,参考点之间的距离和相机成像原理标定相机俯仰角。这种方法需要测量参考点之间的距离,并对参考点设置的位置有严格的要求,且每次标定相机俯仰角都需要重新设置参考点并测量参考点之间的距离。
3.深圳市锐明技术股份有限公司在其申请的专利文献“确定俯仰角的方法、装置及终端设备”(申请号202180000667.x,申请日2021.03.30,申请公布号cn113227708a)中公开了一种确定相机俯仰角的方法。该方法中使用的相机为指定车辆上的摄像头,需要测量至少一个环境特征点与指定车辆上的指定特征点之间的第一距离,其中环境特征点与指定特征点之间的连线与车辆前进方向平行;获取指定车辆上的摄像头拍摄的图像,该图像中包含至少一个环境特征点;根据环境特征点在目标图像上的像素坐标和第一距离,确定摄像头的俯仰角。该方法虽然可以准确的确定摄像头的俯仰角。但是,该方法仍然存在的不足之处是,每次标定相机俯仰角时,都需要设置参考点并测量参考点之间的距离。
4.北京华航无线电测量研究所在其申请的专利文献“一种单目视觉系统俯仰角标定方法”(申请号201811543255.7,申请日2018.12.17,申请公布号cn111325800a)中公开了一种以单目相机为实现平台的相机俯仰角标定方法。该方法将单目视觉系统的摄像机安装在车辆上,摄像机光轴方向与车辆行驶方向平行;测量摄像机离地面的高度;在摄像机光轴水平方向放置棋盘格标定板,选取标定板上沿光轴方向的两个点作为参考点,并测量选取的参考点之间的实际距离,采集包含两参考点的图像并获取两参考点在成像平面上的像素坐标,利用基于几何关系推导法的单目测距算法计算两参考点之间的距离,根据两参考点的实际距离和计算距离之间的关系计算摄像机的俯仰角。虽然该方法提高了标定精度,满足单目相机测距算法的要求。但是,该方法仍然存在的不足之处是,在标定摄像机俯仰角时,需要在摄像机拍摄对象的地面上水平放置棋盘格标定板,且选取的棋盘格标定板上的两个参考点需要沿摄像机光轴方向,对参考点的位置和方向有严格限制,容易使获取的相机俯仰角有误差。


技术实现要素:

5.本发明的目的是针对上述现有技术存在的不足,提出一种基于一组水平平行线标定相机俯仰角的方法,旨在解决每次标定相机俯仰角时,都需要设置参考点并测量参考点之间的距离,并且对参考点的位置和方向有严格限制,容易使获取的相机俯仰角有误差的问题。
6.实现本发明目的的思路是,本发明通过随机选取拍摄对象区域地面上存在的两条
平行线作为参考线,若拍摄对象区域的地面上不存在平行线时,在拍摄对象区域的地面上随机绘制两条平行线作为参考线,测量两条参考线之间的距离,计算拍摄图片中两条参考线的投影直线的像素距离,并根据参考线之间的距离和拍摄图片中两条投影直线的之间的像素距离之间的关系,确定相机俯仰角的方法,该方法对所选取的参考线方向没有严格限制,并且根据参考线之间的距离和拍摄图片中两条投影直线的之间的像素距离之间的关系来确定相机俯仰角,使得在标定过一次相机俯仰角后,若需要再次标定相机俯仰角,可以对原本的参考线进行拍摄,更新相机高度和图片中两条投影直线的之间的像素距离,用更新后的相机高度和像素距离计算相机俯仰角。
7.实现本发明目的的具体步骤如下:
8.步骤1,测量两条参考线间的实际距离:
9.(1a)随机选取拍摄对象区域地面上存在的两条平行线作为参考线,若拍摄对象区域的地面上不存在平行线时,在拍摄对象区域的地面上随机绘制两条平行线作为参考线;
10.(1b)测量两条参考线之间的实际距离;
11.步骤2,计算相机水平视场角:
12.(2a)使用棋盘格标定法,得到相机的横向归一化焦距;
13.(2b)计算相机水平视场角;
14.步骤3,测量相机光心与地面的垂直距离作为相机高度;
15.步骤4,计算拍摄图片中两条投影直线的像素距离:
16.(4a)在相机水平视场角以及相机高度的条件下,使用相机拍摄一张含有参考线的图片;
17.(4b)对拍摄的图片中每个像素点依次进行预处理和霍夫变换后,得到两条参考线的投影直线的像素点集合,从每个像素点集合中随机选取两个像素点;
18.(4c)按照下式,计算图片中两条投影直线的距离:
[0019][0020]
其中,l表示图片中两条投影直线的距离,| |表示绝对值操作,h表示相机垂直分辨率,*表示相乘操作,x
11
和y
11
分别表示从第1个像素点集合中选取的第1个像素点的横坐标值和纵坐标值,x
12
和y
12
分别表示从第1个像素点集合中选取的第2个像素点的横坐标值和纵坐标值,x
21
和y
21
分别表示从第2个像素点集合中选取的第1个像素点的横坐标值和纵坐标值,x
22
和y
22
分别表示从第2个像素点集合中选取的第2个像素点的横坐标值和纵坐标值;
[0021]
步骤5,根据参考线间的实际距离和图片中两条投影线段的像素距离之间的关系,计算相机俯仰角:
[0022][0023]
其中,γ表示相机俯仰角,表示开方操作,w表示相机的水平分辨率,d表示两条参考线之间的实际距离,arctan表示反正切操作,tan表示正切操作,α表示相机水平视场角,h表示相机高度,π表示圆周率。
[0024]
本发明与现有技术相比具有以下优点:
[0025]
第一,由于本发明采用了测量两条参考线间的实际距离的方法,得到两条参考线间的实际距离。克服了现有技术中对参考点的位置和方向有严格限制,容易使获取的相机俯仰角有误差的缺点,使得本发明在标定相机俯仰角时,只要求两条参考线平行,对参考线的方向没有严格限制。
[0026]
第二,由于本发明采用了根据参考线间的实际距离和图片中两条投影线段的距离之间的关系计算相机俯仰角的方法,得到相机俯仰角。克服了现有技术每次标定相机俯仰角时,都需要设置参考点并测量参考点之间的距离的缺点,使得本发明在标定过一次相机俯仰角后,若需要再次标定相机俯仰角,只需要对原本的参考线进行拍摄,更新相机高度和图片中两条投影直线的之间的像素距离,用更新后的相机高度和像素距离计算相机俯仰角。
附图说明
[0027]
图1为本发明的流程图;
[0028]
图2为本发明的两条参考线的投影直线的像素距离示意图。
具体实施方式
[0029]
下面结合附图对本发明做进一步的描述。
[0030]
参照图1,对本发明的实现步骤做进一步的描述。
[0031]
步骤1,测量两条参考线间的实际距离。
[0032]
随机选取拍摄对象区域地面上存在的平行线作为参考线,若拍摄对象区域的地面上不存在平行线时,在拍摄对象区域的地面上随机绘制两条平行线作为参考线。
[0033]
测量两条参考线之间的实际距离。
[0034]
步骤2,计算相机水平视场角。
[0035]
获取相机采集的m幅棋盘格图像,m≥3,并根据每幅图像棋盘格角点在像素坐标系与世界坐标系的坐标转换关系,得到相机的横向归一化焦距。
[0036]
按照下式,计算相机水平视场角:
[0037][0038]
其中,α表示相机水平视场角,arctan表示反正切操作,w表示相机的水平分辨率,*表示相乘操作,f
x
表示相机的横向归一化焦距。
[0039]
步骤3,测量相机光心与地面的垂直距离作为相机高度。
[0040]
步骤4,计算拍摄图片中两条参考线的投影直线的像素距离。
[0041]
在相机水平视场角以及相机高度的条件下,使用相机拍摄一张含有参考线的图片。
[0042]
对拍摄的图片进行灰度化处理,得到该图片的灰度图像。
[0043]
利用索贝尔算子,得到灰度图像的边缘图像。
[0044]
对边缘图像中的所有像素点进行霍夫直线检测,截取边缘图片中每条直线投影的像素点组成像素点集合,得到包含两条参考线的投影直线的像素点集合在内的n个像素点
集合,n≥2。
[0045]
从n个像素点集合中选取像素点最多的两个像素点集合,作为两条参考线的投影直线的像素点集合并从每个像素点集合中随机选取两个像素点。
[0046]
按照下式,计算两条参考线的投影直线的像素距离:
[0047][0048]
其中,l表示图片中两条参考线的投影直线的像素距离,| |表示绝对值操作,h表示相机垂直分辨率,x
11
和y
11
分别表示从第1个像素点集合中选取的第1个像素点的横坐标值和纵坐标值,x
12
和y
12
分别表示从第1个像素点集合中选取的第2个像素点的横坐标值和纵坐标值,x
21
和y
21
分别表示从第2个像素点集合中选取的第1个像素点的横坐标值和纵坐标值,x
22
和y
22
分别表示从第2个像素点集合中选取的第2个像素点的横坐标值和纵坐标值。
[0049]
结合图2,对两条参考线的投影直线的像素距离做进一步的描述。
[0050]
图2中的直线a,b为两条参考线在拍摄图片上的投影直线,直线c,d为拍摄图片的上下边界直线,点a为直线a被直线c,d所截取得到的线段的中点,点b为直线b被直线c,d所截取得到的线段的中点,两条参考线的投影直线的像素距离即点a和点b之间的像素距离。
[0051]
步骤5,根据参考线间的实际距离和图片中两条投影线段的像素距离之间的关系,计算相机俯仰角:
[0052][0053]
其中,γ表示相机俯仰角,表示开方操作,d表示两条参考线之间的实际距离,tan表示正切操作,h表示相机高度,π表示圆周率。
[0054]
下面结合仿真实验对本发明的效果做进一步的描述。
[0055]
1.仿真条件:
[0056]
本发明的仿真实验的硬件平台为:处理器为intel i7 9750h cpu,主频为2.6ghz,内存8gb。
[0057]
本发明的仿真实验的软件平台为:windows 10操作系统,matlab2016a和opencv 4.0.0。
[0058]
本发明仿真实验所使用的相机为杰锐微通hy1080,相机分辨率为1920*1080。
[0059]
2.仿真内容与结果分析:
[0060]
本发明仿真实验是采用本发明和一个现有技术(棋盘格标定相机俯仰角方法)分别使用型号为杰锐微通hy1080的相机对身高分别为180cm,167cm,187cm,160cm的人体进行拍摄,在每次拍摄过程中沿垂直方向旋转相机,初始相机俯仰角为90
°
,分别沿垂直方向向上,向下旋转相机30
°
,使相机俯角分别为120
°
,60
°
,并计算人体身高。
[0061]
在仿真实验中,采用的现有技术棋盘格标定相机俯仰角方法是指:
[0062]
公安部第三研究所在其申请的专利文献“基于摄像头标定的视频图像中人体身高测量的系统及方法”(申请号2016110708114,申请日2016.11.29,申请公布号cn 106361345 a)中一种基于摄像头标定的视频图像中的人体身高测量方法。该方法通过棋盘格标定计算得到相机内参参数以及空间变换矩阵,空间变换矩阵中包含相机俯仰角,则将该方法简称
为棋盘格标定相机俯仰角方法。
[0063]
下面使用两种方法,通过用身高分别为180cm,167cm,187cm,160cm的人体身高对应实际人体身高,与计算所得人体身高的误差绝对值的大小值来评价两种方法的实际人体身高计算精度。
[0064]
按照下式,计算实际人体身高与计算所得的人体身高的误差绝对值:
[0065]
k=|r

t|
[0066]
其中,k表示实际人体身高与计算所得的人体身高的误差绝对值,r表示实际人体身高,t表示计算所得的人体身高。
[0067]
将人体实际身高与计算所得人体身高间的误差作为评价标准。分别对两种方法进行评价,将所有结果绘制成表1:
[0068]
表1.仿真实验中本发明和现有技术误差的定量分析表
[0069][0070]
由表1可以看出,本发明的方法在相机俯仰角发生变化时测得的人体身高误差明显低于其他现有技术的测量方法,证明本发明适用于相机俯仰角发生变化的图像测量方法。
[0071]
以上仿真实验表明:使用定时器设定周期,使用本发明的方法计算每个周期结束时的相机俯仰角,用当前周期结束时的相机俯仰角更新上次周期结束时的俯仰角,本发明在相机俯仰角发生变化时,只需对原本的参考线进行拍摄,更新相机高度和图片中两条投影直线的之间的像素距离,用更新后的相机高度和像素距离计算变化后的相机俯仰角。将变化后的相机俯仰角用于计算人体身高,使人体身高的测量结果不受相机俯仰角变化的影响,克服了现有技术中每次标定相机俯仰角时,都需要设置参考点并测量参考点之间的距离的缺点。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献