一种相机外参标定方法及装置与流程

文档序号:18903576发布日期:2019-10-18 22:19阅读:622来源:国知局
一种相机外参标定方法及装置与流程

本申请涉及计算机视觉技术领域,特别是涉及一种相机外参标定方法及装置。



背景技术:

在多相机监控的产品中,如车载环视、全景相机、多目成像系统等等,要准确地获知所有相机的内部参数(以下简称内参)、外部参数(以下简称外参),才能够将相机所拍摄的视频、图像拼接成全景视图。

相机的内参是相机固有的性质,在相机出厂时就固定配置的,相机的内参包括焦距、畸变系数、成像主点位置等。相机的外参为相机的安装姿态信息,根据相机的安装状态确定,相机的外参包括相机位置、相机的旋转角度等。

将相机所拍摄的视频、图像拼接成全景视图时,拼接图像的指质量直接取决于相机的内外参数是否准确,其中,获取相机的内外参数的过程称为标定。对于一个相机的内参,其在相机出厂时就配置好了,是不会发生变化的,故而对相机外参的标定将成为影响图像拼接的关键。

基于上述情况,一种精准的相机外参标定方法对车载环视、全景相机、多目成像系统来说至关重要。



技术实现要素:

本申请实施例的目的在于提供一种相机外参标定方法及装置,以提高拼接图像的质量。具体技术方案如下:

为实现上述目的,本申请实施例提供了一种相机外参标定方法,所述方法包括:

确定标定图像上至少两组平行线的消失点的图像坐标,其中,所述至少两组平行线位于地面,且各组平行线的方向不同,所述图像坐标为图像坐标系中的坐标;

根据所述相机的旋转矩阵和所述相机的内参,构建消失线方程;

根据所确定的图像坐标和所述消失线方程,确定所述相机的外参。

可选的,所述确定标定图像上至少两组平行线的消失点的图像坐标的步骤,包括:

获取相机采集的包含第一组平行线的标定图像,其中,所述第一组平行线包括至少三条直线,且在世界坐标系中所述第一组平行线中每两条相邻直线间的距离相等;

确定所述标定图像上所述第一组平行线的消失点的图像坐标;

根据内部直线上的点、和所述第一组平行线中与所述内部直线相邻的两条直线,确定所述标定图像上第二组平行线的消失点,其中,所述内部直线为所述第一组平行线中除最外侧直线外的直线;

确定所述标定图像上所述第二组平行线的消失点的图像坐标。

可选的,所述根据内部直线上的点、所述第一组平行线中与所述内部直线相邻的两条直线,确定所述标定图像上第二组平行线的消失点的步骤,包括:

将内部直线上的一点作为交叉点;

确定过所述交叉点的一条直线与所述内部直线相邻的两条直线的第一交点和第二交点,并确定过所述交叉点的另一条直线与所述内部直线相邻的两条直线的第三交点和第四交点,其中,所述第一交点和所述第三交点位于所述内部直线相邻的一条直线上,所述第二交点和所述第四交点位于所述内部直线相邻的另一条直线上;

将所述标定图像上第一直线与第二直线的交点,确定为所述标定图像上第二组平行线的消失点,其中,所述第一直线过所述第一交点和所述第四交点,所述第二直线过所述第二交点和所述第三交点。

可选的,所述确定标定图像上至少两组平行线的消失点的图像坐标的步骤,包括:

若标定图像上包含包括的直线条数大于两条的至少一组平行线,则对于包括的直线条数大于两条的每组平行线,根据所述标定图像上该组平行线的交点集中各个交点的图像坐标,确定所述交点集的目标中心图像坐标,将所述目标中心图像坐标作为所述标定图像上该组平行线的消失点的图像坐标,其中,所述交点集包括所述标定图像上该组平行线中每两条直线的交点;

若所述标定图像上包含包括的直线条数等于两条的至少一组平行线,则对于包括的直线条数等两条的每组平行线,将所述标定图像上该组平行线的交点的图像坐标作为所述标定图像上该组平行线的消失点的图像坐标。

可选的,所述根据所述标定图像上该组平行线的交点集中各个交点的图像坐标,确定所述交点集的目标中心图像坐标的步骤,包括:

将所述标定图像上该组平行线的交点集作为目标交点集;

根据所述目标交点集中各个交点的图像坐标,计算所述目标交点集的中心图像坐标;

对于该组平行线每条直线,计算该条直线上的各个交点的图像坐标与所述中心图像坐标的距离均值;

若存在大于预设距离阈值的距离均值,则去除该组平行线中距离均值大于预设距离阈值的直线,重新执行所述根据所述目标交点集中各个交点的图像坐标,计算所述目标交点集的中心图像坐标的步骤;

若不存在大于预设距离阈值的距离均值,则将所述中心图像坐标确定为所述标定图像上该组平行线的交点集的目标中心图像坐标。

可选的,所述根据所述相机的旋转矩阵和所述相机的内参,构建消失线方程的步骤,包括:

根据所述相机的旋转矩阵、所述相机的横向焦距和所述相机的纵向焦距,构建消失线方程。

可选的,所述根据所述相机的旋转矩阵、所述相机的横向焦距和所述相机的纵向焦距,构建消失线方程的步骤,包括:

获取所述相机的旋转矩阵其中,a=cosθcosψ+sinθsinφsinψ,b=sinθcosψ-cosθsinφsinψ,c=cosθsinψ,d=-sinθcosφ,e=cosθcosφ,f=sinφ,g=sinθsinφcosψ-cosθsinψ,h=-cosθsinφcosψ-sinθsinψ,i=cosφcosψ,θ为所述相机的俯仰角,φ为所述相机的偏航角,ψ为所述相机的滚转角;

根据所述相机的旋转矩阵m、所述相机的横向焦距和所述相机的纵向焦距,构建消失线方程为:

其中,u为消失线上一点的横坐标,w为所述所述消失线上该点的纵坐标,fu为所述相机的横向焦距,fw为所述相机的纵向焦距。

可选的,所述相机的外参包括所述相机的俯仰角和所述相机的滚转角;

所述根据所确定的图像坐标和所述消失线方程,确定所述相机的外参的步骤,包括:

将所确定的图像坐标输入所述消失线方程,得到所述相机的俯仰角和所述相机的滚转角。

可选的,所述至少两组平行线包括:在世界坐标系中与所述世界坐标系的纵向相同的第三组平行线;

所述确定标定图像上至少两组平行线的消失点的图像坐标的步骤,包括:

判断标定图像上是否存在所述第三组平行线的消失点;

若存在,则确定所述标定图像上至少两组平行线的消失点的图像坐标。

可选的,所述方法还包括:

若在所述标定图像上不存在所述第三组平行线的消失点,则确定所述相机的俯仰角为90度;

确定所述标定图像上所述第三组平行线的图像斜率,其中,所述图像斜率为所述图像坐标系中直线的斜率;

根据所确定的图像斜率,确定所述相机的滚转角。

可选的,所述根据所确定的图像斜率,确定所述相机的滚转角的步骤,包括:

根据以下公式,确定所述相机的滚转角:

tanψ=k;

其中,ψ为所述相机的滚转角,k为所确定的图像斜率。

可选的,所述相机的外参还包括所述相机的偏航角;

在得到所述相机的俯仰角和滚转角之后,还包括:

根据所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角。

可选的,所述至少两组平行线包括:在世界坐标系中与所述世界坐标系中横向相同的第四组平行线;

所述根据所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角的步骤,包括:

判断所述标定图像上是否存在所述第四组平行线的消失点;

若存在,则根据所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角。

可选的,所述根据所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角的步骤,包括:

若所述相机的俯仰角为90度,则根据所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角;

若所述相机的俯仰角不是90度,则根据所述相机的俯仰角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角。

可选的,所述根据所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角的步骤,包括:

根据以下公式,确定所述相机的偏航角:

其中,φ为所述相机的偏航角,ψ为所述相机的滚转角,ux为所述标定图像上所述第四组平行线的消失点的横坐标,wx为所述标定图像上所述第四组平行线的消失点的纵坐标,fu为所述相机的横向焦距,fw为所述相机的纵向焦距。

可选的,所述根据所述相机的俯仰角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角的步骤,包括:

根据以下公式,确定所述相机的偏航角:

其中,φ为所述相机的偏航角,θ为所述相机的俯仰角,ux为所述标定图像上所述第四组平行线的消失点的横坐标,wx为所述标定图像上所述第四组平行线的消失点的纵坐标,uy为所述标定图像上第三组平行线的消失点的横坐标,wy为所述标定图像上所述第三组平行线的消失点的纵坐标,在所述世界坐标系中所述第三组平行线的方向与所述世界坐标系的纵向相同,fu为所述相机的横向焦距,fw为所述相机的纵向焦距。

可选的,还包括:

若所述标定图像上不存在所述第四组平行线的消失点,则确定所述相机的偏航角为0度。

可选的,所述相机的外参还包括所述相机的世界坐标,其中,所述世界坐标为世界坐标系上的坐标;

在确定所述相机的偏航角之后,还包括:

根据所述相机的外参、所述相机的内参和特征点的坐标,确定所述相机的世界坐标,其中,所述特征点的坐标包括特征点的图像坐标和特征的世界坐标。

可选的,所述根据所述相机的外参、所述相机的内参和特征点的坐标,确定所述相机的世界坐标的步骤,包括:

根据所述相机的偏航角、所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距、所述相机的纵向焦距、两条平行线上两个点的图像坐标、和所述两条平行线间的距离,确定所述相机在世界坐标系中的垂直坐标;

根据所述相机的偏航角、所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距、所述相机的纵向焦距、一个特征点的坐标、和所述相机在所述世界坐标系中的垂直坐标,确定所述相机在所述世界坐标系中的横坐标和纵坐标。

可选的,所述根据所述相机的外参、所述相机的内参和特征点的坐标,确定所述相机的世界坐标的步骤,包括:

根据所述相机的偏航角、所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距、所述相机的纵向焦距、两个特征点的坐标,确定所述相机的世界坐标。

可选的,特征点的个数大于两个;

所述根据所述相机的外参、所述相机的内参和特征点的坐标,确定所述相机的世界坐标的步骤,包括:

根据所述相机的外参、所述相机的内参和每一特征点的坐标,确定每一特征点对应的所述相机的目标世界坐标;

根据每一特征点的坐标、和每一特征点对应的目标世界坐标,确定每一特征点的重投影误差;

获取重投影误差小于预设重投影误差阈值的特征点对应的目标世界坐标;

计算获取的目标世界坐标的均值,作为所述相机的世界坐标。

可选的,所述根据每一特征点的坐标、和每一特征点对应的目标世界坐标,确定每一特征点的重投影误差的步骤,包括:

对于每一特征点,采用以下步骤确定该特征点的重投影误差:

根据该特征点对应的目标世界坐标、和除该特征点外的其他特征点的世界坐标,计算所述其他特征点的图像坐标;

根据所述其他特征点的图像坐标和计算得到的所述其他特征点的图像坐标,计算该特征点的重投影误差。

为实现上述目的,本申请实施例还提供了一种相机外参标定装置,所述装置包括:

第一确定单元,用于确定标定图像上至少两组平行线的消失点的图像坐标,其中,所述至少两组平行线位于地面,且各组平行线的方向不同,所述图像坐标为图像坐标系中的坐标;

构建单元,用于根据所述相机的旋转矩阵和所述相机的内参,构建消失线方程;

第二确定单元,用于根据所确定的图像坐标和所述消失线方程,确定所述相机的外参。

可选的,所述第一确定单元,包括:

获取子单元,用于获取相机采集的包含第一组平行线的标定图像,其中,所述第一组平行线包括至少三条直线,且在世界坐标系中所述第一组平行线中每两条相邻直线间的距离相等;

第一确定子单元,用于确定所述标定图像上所述第一组平行线的消失点的图像坐标;

第二确定子单元,用于根据内部直线上的点、和所述第一组平行线中与所述内部直线相邻的两条直线,确定所述标定图像上第二组平行线的消失点,其中,所述内部直线为所述第一组平行线中除最外侧直线外的直线;

第三确定子单元,用于确定所述标定图像上所述第二组平行线的消失点的图像坐标。

可选的,所述第二确定子单元,具体用于:

将内部直线上的一点作为交叉点;

确定过所述交叉点的一条直线与所述内部直线相邻的两条直线的第一交点和第二交点,并确定过所述交叉点的另一条直线与所述内部直线相邻的两条直线的第三交点和第四交点,其中,所述第一交点和所述第三交点位于所述内部直线相邻的一条直线上,所述第二交点和所述第四交点位于所述内部直线相邻的另一条直线上;

将所述标定图像上第一直线与第二直线的交点,确定为所述标定图像上第二组平行线的消失点,其中,所述第一直线过所述第一交点和所述第四交点,所述第二直线过所述第二交点和所述第三交点。

可选的,所述第一确定单元,包括:

第四确定子单元,用于若标定图像上包含包括的直线条数大于两条的至少一组平行线,则对于包括的直线条数大于两条的每组平行线,根据所述标定图像上该组平行线的交点集中各个交点的图像坐标,确定所述交点集的目标中心图像坐标,将所述目标中心图像坐标作为所述标定图像上该组平行线的消失点的图像坐标,其中,所述交点集包括所述标定图像上该组平行线中每两条直线的交点;

第五确定子单元,用于若所述标定图像上包含包括的直线条数等于两条的至少一组平行线,则对于包括的直线条数等两条的每组平行线,将所述标定图像上该组平行线的交点的图像坐标作为所述标定图像上该组平行线的消失点的图像坐标。

可选的,所述第四确定子单元,具体用于:

将所述标定图像上该组平行线的交点集作为目标交点集;

根据所述目标交点集中各个交点的图像坐标,计算所述目标交点集的中心图像坐标;

对于该组平行线每条直线,计算该条直线上的各个交点的图像坐标与所述中心图像坐标的距离均值;

若存在大于预设距离阈值的距离均值,则去除该组平行线中距离均值大于预设距离阈值的直线,重新根据所述目标交点集中各个交点的图像坐标,计算所述目标交点集的中心图像坐标;

若不存在大于预设距离阈值的距离均值,则将所述中心图像坐标确定为所述标定图像上该组平行线的交点集的目标中心图像坐标。

可选的,所述构建单元,具体用于:

根据所述相机的旋转矩阵、所述相机的横向焦距和所述相机的纵向焦距,构建消失线方程。

可选的,所述构建单元,具体用于:

获取所述相机的旋转矩阵其中,a=cosθcosψ+sinθsinφsinψ,b=sinθcosψ-cosθsinφsinψ,c=cosθsinψ,d=-sinθcosφ,e=cosθcosφ,f=sinφ,g=sinθsinφcosψ-cosθsinψ,h=-cosθsinφcosψ-sinθsinψ,i=cosφcosψ,θ为所述相机的俯仰角,φ为所述相机的偏航角,ψ为所述相机的滚转角;

根据所述相机的旋转矩阵m、所述相机的横向焦距和所述相机的纵向焦距,构建消失线方程为:

其中,u为消失线上一点的横坐标,w为所述所述消失线上该点的纵坐标,fu为所述相机的横向焦距,fw为所述相机的纵向焦距。

可选的,所述相机的外参包括所述相机的俯仰角和所述相机的滚转角;

所述第二确定单元,具体用于将所确定的图像坐标输入所述消失线方程,得到所述相机的俯仰角和所述相机的滚转角。

可选的,所述至少两组平行线包括:在世界坐标系中与所述世界坐标系的纵向相同的第三组平行线;

所述第一确定单元,包括:

第一判断子单元,用于判断标定图像上是否存在所述第三组平行线的消失点;

第六确定子单元,用于在所述第一判断子单元的判断结果为是时,确定所述标定图像上至少两组平行线的消失点的图像坐标。

可选的,所述第六确定子单元,还用于:

在所述第一判断子单元的判断结果为否时,确定所述相机的俯仰角为90度;

确定所述标定图像上所述第三组平行线的图像斜率,其中,所述图像斜率为所述图像坐标系中直线的斜率;

根据所确定的图像斜率,确定所述相机的滚转角。

可选的,所述第六确定子单元,具体用于:

根据以下公式,确定所述相机的滚转角:

tanψ=k;

其中,ψ为所述相机的滚转角,k为所确定的图像斜率。

可选的,所述相机的外参还包括所述相机的偏航角;还包括:

第三确定单元,用于在得到所述相机的俯仰角和滚转角之后,根据所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角。

可选的,所述至少两组平行线包括:在世界坐标系中与所述世界坐标系中横向相同的第四组平行线;

所述第三确定单元,包括:

第二判断子单元,用于判断所述标定图像上是否存在所述第四组平行线的消失点;

第七确定子单元,用于在所述第二判断子单元的判断结果为是时,根据所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角。

可选的,所述第七确定子单元,具体用于:

若所述相机的俯仰角为90度,则根据所述相机的滚转角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角;

若所述相机的俯仰角不是90度,则根据所述相机的俯仰角、所述相机的横向焦距和所述相机的纵向焦距,确定所述相机的偏航角。

可选的,所述第七确定子单元,具体用于:

根据以下公式,确定所述相机的偏航角:

其中,φ为所述相机的偏航角,ψ为所述相机的滚转角,ux为所述标定图像上所述第四组平行线的消失点的横坐标,wx为所述标定图像上所述第四组平行线的消失点的纵坐标,fu为所述相机的横向焦距,fw为所述相机的纵向焦距。

可选的,所述第七确定子单元,具体用于:

根据以下公式,确定所述相机的偏航角:

其中,φ为所述相机的偏航角,θ为所述相机的俯仰角,ux为所述标定图像上所述第四组平行线的消失点的横坐标,wx为所述标定图像上所述第四组平行线的消失点的纵坐标,uy为所述标定图像上第三组平行线的消失点的横坐标,wy为所述标定图像上所述第三组平行线的消失点的纵坐标,在所述世界坐标系中所述第三组平行线的方向与所述世界坐标系的纵向相同,fu为所述相机的横向焦距,fw为所述相机的纵向焦距。

可选的,所述第七确定子单元,还用于:

在所述第二判断子单元的判断结果为否时,确定所述相机的偏航角为0度。

可选的,所述相机的外参还包括所述相机的世界坐标,其中,所述世界坐标为世界坐标系上的坐标;还包括:

第四确定单元,用于在确定所述相机的偏航角之后,根据所述相机的外参、所述相机的内参和特征点的坐标,确定所述相机的世界坐标,其中,所述特征点的坐标包括特征点的图像坐标和特征的世界坐标。

可选的,所述第四确定单元,具体用于:

根据所述相机的偏航角、所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距、所述相机的纵向焦距、两条平行线上两个点的图像坐标、和所述两条平行线间的距离,确定所述相机在世界坐标系中的垂直坐标;

根据所述相机的偏航角、所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距、所述相机的纵向焦距、一个特征点的坐标、和所述相机在所述世界坐标系中的垂直坐标,确定所述相机在所述世界坐标系中的横坐标和纵坐标。

可选的,所述第四确定单元,具体用于:

根据所述相机的偏航角、所述相机的俯仰角、所述相机的滚转角、所述相机的横向焦距、所述相机的纵向焦距、两个特征点的坐标,确定所述相机的世界坐标。

可选的,所述标定图像上包括的特征点的个数大于两个;

所述第四确定单元,具体用于:

根据所述相机的外参、所述相机的内参和每一特征点的坐标,确定每一特征点对应的所述相机的目标世界坐标;

根据每一特征点的坐标、和每一特征点对应的目标世界坐标,确定每一特征点的重投影误差;

获取重投影误差小于预设重投影误差阈值的特征点对应的目标世界坐标;

计算获取的目标世界坐标的均值,作为所述相机的世界坐标。

可选的,所述第四确定单元,具体用于:

对于每一特征点,采用以下步骤确定该特征点的重投影误差:

根据该特征点对应的目标世界坐标、和除该特征点外的其他特征点的世界坐标,计算所述其他特征点的图像坐标;

根据所述其他特征点的图像坐标和计算得到的所述其他特征点的图像坐标,计算该特征点的重投影误差。

为实现上述目的,本申请实施例还提供了一种电子设备,包括处理器和存储器;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序,实现上述的相机外参标定方法。

为实现上述目的,本申请实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的相机外参标定方法。

本申请实施例中,在获取到标定图像后,确定标定图像上至少两组位于地面的平行线的消失点的图像坐标,也就是,确定至少两个消失点的图像坐标。根据相机的旋转矩阵和相机的内参,构建消失线方程。结合消失线定理,即同一平面上所有平行线的消失点共线,根据所确定的至少两个消失点的图像坐标,以及构建的消失线方程,可以精确地确定相机的外参,提高了拼接图像的质量。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的相机外参标定方法的第一种流程示意图;

图2为本申请实施例提供的消失点的图像坐标确定方法的一种流程示意图;

图3(a)为本申请实施例提供的标定场地的一种示意图;

图3(b)为基于图3(a)的标定场地的标定图像的示意图;

图4为本申请实施例提供的相机外参标定方法的第二种流程示意图;

图5为本申请实施例提供的相机外参标定方法的第三种流程示意图;

图6为本申请实施例提供的相机外参标定方法的第四种流程示意图;

图7(a)-(d)为本申请实施例提供的标定场地的方案示意图;

图8为本申请实施例提供的相机外参标定方法的第五种流程图;

图9为本申请实施例提供的相机外参标定装置的第一种结构示意图;

图10为本申请实施例提供的相机外参标定装置的第二种结构示意图;

图11为本申请实施例提供的相机外参标定装置第三种结构示意图;

图12为本申请实施例提供的相机外参标定装置的第四种结构示意图;

图13为本申请实施例提供的相机外参标定装置的第五种结构示意图;

图14为本申请实施例提供的相机外参标定装置的第六种结构示意图;

图15为本申请实施例提供的相机外参标定装置的第七种结构示意图;

图16为本申请实施例提供的电子设备的一种结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为便于理解,下面对本申请实施例中出现的词语进行解释说明。

标定图像:相机采集的标定场地的图像,用于标定相机的外参。

横向焦距:在图像坐标系中横向的焦距,即图像平面中横向的焦距。

纵向焦距:在图像坐标系中纵向的焦距,即图像平面中纵向的焦距。

相机的外参:包括偏航角、俯仰角、滚转角和相机的世界坐标等。

相机的世界坐标oc(xc,yc,zc):为相机的位置,也就是相机的光心在世界坐标系中的坐标,其中,xc为相机在世界坐标系中的横坐标,yc为相机在世界坐标系中的纵坐标,(xc,yc)为相机在地面上的投影,zc为相机在世界坐标系中的垂直坐标,也就是,zc为相机的高度h。

偏航角:相机左右摇摆角度。

俯仰角:相机上下俯仰角度。

滚转角:相机绕自身光轴旋转角度。

消失点:平面上的平行线在成像后,由于透视作用会在远方有一个交点,这个交点即为消失点,又称为灭点。

特征点:用于标定相机位置的点。若某些的点在世界坐标系中的坐标已知,根据它们在图像坐标系中的坐标,可推算映射关系,这些点被称为特征点。

消失线定理:同一平面上所有平行线的消失点共线。

下面结合具体实施例,对本申请进行详细说明。

参考图1,图1为本申请实施例提供的相机外参标定方法的第一种流程示意图。该方法可以应用于相机,也可以应用于与相机连接的电子设备,本申请实施例对此不进行限定。该相机外参标定方法包括:

步骤101:确定标定图像上至少两组平行线的消失点的图像坐标。

其中,至少两组平行线位于地面,这里,地面即为标定场地所在的平面。另外,各组平行线的方向不同。一组平行线确定一个消失点,多个消失点就可以确定出一条消失线。图像坐标为图像坐标系中的坐标。

在本申请的一个实施例中,为了减少画多组平行线带来的工作量,利用等距平行线确定多个消失点,确定多个消失点的图像坐标。具体地,参考图2所示的消失点的图像坐标确定方法的一种流程示意图,基于图1,该失点的图像坐标的确定方法包括:

步骤201:获取相机采集的包含第一组平行线的标定图像。

其中,第一组平行线包括至少三条直线,且在世界坐标系中第一组平行线中每两条相邻直线间的距离相等。为了减少画多组平行线带来的工作量,本申请实施例中,第一组平行线可以包括三条直线。

步骤202:确定标定图像上第一组平行线的消失点的图像坐标。

步骤203:根据内部直线上的点、和第一组平行线中与内部直线相邻的两条直线,确定标定图像上第二组平行线的消失点。

其中,内部直线为第一组平行线中除最外侧直线外的直线。

在本申请的一个实施例中,确定标定图像上第二组平行线的消失点的过程,可以包括:

步骤11:将内部直线上的一点作为交叉点。

这里,可以选取第一组平行线中内部直线上的任一一点作为交叉点。本申请实施例中可以确定一个,也可以确定多个交叉点。

步骤12:确定过交叉点的一条直线与内部直线相邻的两条直线的第一交点和第二交点,并确定过交叉点的另一条直线与内部直线相邻的两条直线的第三交点和第四交点。其中,第一交点和第三交点位于内部直线相邻的一条直线上,第二交点和第四交点位于内部直线相邻的另一条直线上。

步骤13:将标定图像上第一直线与第二直线的交点,确定为标定图像上第二组平行线的消失点。其中,第一直线过第一交点和第四交点,第二直线过第二交点和第三交点。

例如,如图3(a)所示的标定场地,该标定场地上画有一组平行线,包括l01、l02和l03,其中,l01与l02间的距离为d01,l02与l03间的距离为d02,d01=d02。l02为这一组平行线中的内部直线,l01和l03为这一组平行线中最外侧的直线。

如图3(b)所示的标定图像,为相机采集的包含l01、l02和l03的图像a,l01、l02和l03在图像a的交点为图像a上的一个消失点vp1。

选取l02上的j点作为交叉点。直线l11和l12过j点。其中,l11与l01的交点为a,l11与l03的交点为b。l12与l01的交点为c,l12与l03的交点为d。

过点a和d的直线l21与过点b和c的直线l22在世界坐标系中为一组平行线,如图3(a)所示。则在图像a上l21与l22的交点为图像a上的另一个消失点vp2,如图3(b)所示。

步骤204:确定标定图像上第二组平行线的消失点的图像坐标。

本申请的实施例中,每一组平行线至少包括两条直线。若一组平行线包括直线条数大于2条,受标定场地的平整度、亮度等因素的影响,在标定图像上,该组平行线中的多条直线可能并不是交于一点。基于该情况,在本申请的一个实施例中,为了提高相机外参标定的准确性,在确定标定图像上至少两组平行线的消失点的图像坐标的步骤,可以包括:

若标定图像上包含包括的直线条数等于两条的至少一组平行线,则对于包括的直线条数等于两条的每组平行线,直接将标定图像上该组平行线的交点作为标定图像上该组平行线的消失点,将标定图像上该组平行线的交点的图像坐标作为标定图像上该组平行线的消失点的图像坐标。

若标定图像上包含包括的直线条数大于两条的至少一组平行线,则对于包括的直线条数大于两条的每组平行线,确定标定图像上该组平行线的消失点的图像坐标的过程包括:

步骤21:根据标定图像上该组平行线的交点集中各个交点的图像坐标,确定交点集的目标中心图像坐标。其中,交点集包括标定图像上该组平行线中每两条直线的交点。

在本申请的一个实施例中,确定交点集的目标中心图像坐标的步骤,包括:

步骤21a:将标定图像上该组平行线的交点集作为目标交点集。

步骤21b:根据目标交点集中各个交点的图像坐标,计算目标交点集的中心图像坐标。这里,目标交点集的中心图像坐标,即为目标交点集中各个交点的图像坐标的均值,也就是,目标交点集的中心的图像坐标。

步骤21c:对于该组平行线每条直线,计算该条直线上的各个交点的图像坐标与中心图像坐标的距离均值。

步骤21f:若存在大于预设距离阈值的距离均值,则去除该组平行线中距离均值大于预设距离阈值的直线,重新执行步骤21b。

步骤21e:若不存在大于预设距离阈值的距离均值,则将中心图像坐标确定为标定图像上该组平行线的交点集的目标中心图像坐标。

步骤22:将目标中心图像坐标作为标定图像上该组平行线的消失点的图像坐标。

对于包括的直线条数大于两条的每组平行线,去除了该组平行线中交点偏差较大的直线,减少了负面影响,提高了相机外参标定的准确性。

步骤102:根据相机的旋转矩阵和相机的内参,构建消失线方程。

其中,相机的旋转矩阵为根据相机的俯仰角、相机的偏航角和相机的滚转角确定的。在本申请的一个实施例中,根据相机的旋转矩阵、相机的横向焦距和相机的纵向焦距,构建消失线方程。

本申请实施例中不限定步骤101与步骤102的执行顺序。

一种实现方式中,获取相机的旋转矩阵m,如下。

其中,a=cosθcosψ+sinθsinφsinψ,b=sinθcosψ-cosθsinφsinψ,c=cosθsinψ,d=-sinθcosφ,e=cosθcosφ,f=sinφ,g=sinθsinφcosψ-cosθsinψ,h=-cosθsinφcosψ-sinθsinψ,i=cosφcosψ,θ为相机的俯仰角,φ为相机的偏航角,ψ为相机的滚转角。

根据相机的旋转矩阵m、相机的横向焦距和相机的纵向焦距,构建消失线方程为:

其中,u为消失线上一点的横坐标,w为消失线上该点的纵坐标,fu为相机的横向焦距,fw为相机的纵向焦距。

例如,相机的世界坐标oc(xc,yc,zc),在世界坐标系中任意一点p(xp,yp,zp),这里,以p点在地面上为例,有zp=0。p点在图像中的像点为p’(u,w)。通过旋转矩阵m得到点p’与点p有如下对应关系:

以图3为例进行说明。如图3(a)中的l01和l21,在世界坐标系中,已知l01的斜率为k1,l21的斜率为k2,l01和l21这两条直线为:

将消失点vp1(u1,w1),vp2(u2,w2)代入式(2),取yp为无穷大可得到:

由于l01和l21上的点(xp,yp)满足公式(3),则推导出公式(4)为:

将abdegh中的元素值带入公式(5),即可得到消失线方程(1)。

步骤103:根据所确定的图像坐标和消失线方程,确定相机的外参。

在本申请的一个实施例中,相机的外参可以包括相机的俯仰角和相机的滚转角。在确定了两个消失点的图像坐标后,将确定的图像坐标输入消失线方程,即可得到相机的俯仰角和相机的滚转角。

例如,将图3(b)中确定的消失点vp1(u1,w1)和vp2(u2,w2)带入公式(1)中,即可确定出相机的俯仰角和相机的滚转角。

本申请实施例中,在获取到标定图像后,确定标定图像上至少两组位于地面的平行线的消失点的图像坐标,也就是,确定至少两个消失点的图像坐标。根据相机的旋转矩阵和相机的内参,构建消失线方程。结合消失线定理,即同一平面上所有平行线的消失点共线,根据所确定的至少两个消失点的图像坐标,以及构建的消失线方程,可以精确地确定相机的外参,提高了拼接图像的质量。

另外,本申请实施例中,获取一张标定图像,并根据标定图像上的两组平行线,就可以确定相机的外参。不需要采集多帧图像来标定相机的外参,简化了相机外参的标定流程。另外,本申请实施例中,不需要建立辅助坐标系,也不需要涉及相机坐标系,大大降低了人为设定坐标的工作量。

本申请实施例中,相机俯视地面,即相机的俯仰角为90度时,在世界坐标系中与世界坐标系的纵向相同的平行线,在图像中没有交点,也就是在图像中没有消失点。考虑到这种平行线没有消失点的特殊情况,在本申请的一个实施例中,在确定消失点的至少两组平行线中包括:在世界坐标系中与世界坐标系的纵向相同的一组平行线。

这种情况下,参考图4所示的相机外参标定方法的第二种流程示意图。基于图1,该方法包括:

步骤401:判断标定图像上是否存在第三组平行线的消失点。其中,在世界坐标系中第三组平行线的方向与世界坐标系的纵向相同。

若标定图像上存在第三组平行线的消失点,则执行步骤402。若标定图像上不存在第三组平行线的消失点,则执行步骤405。

步骤402:确定标定图像上至少两组平行线的消失点的图像坐标。其中,至少两组平行线位于地面,且各组平行线的方向不同,图像坐标为图像坐标系中的坐标。

步骤403:根据相机的旋转矩阵和相机的内参,构建消失线方程。

步骤402-步骤403与步骤101-步骤102相同。

步骤404:根据所确定的图像坐标和消失线方程,确定相机的俯仰角和相机的滚转角。

其中,相机的俯仰角和相机的滚转角为相机的两个外参。

步骤405:确定相机的俯仰角为90度。

步骤406:确定标定图像上第三组平行线的图像斜率。其中,图像斜率为在图像坐标系中直线的斜率,即图像斜率为图像平面中直线的斜率。

步骤407:根据所确定的图像斜率,确定相机的滚转角。

在本申请的一个实施例中,根据以下公式,确定相机的滚转角:

tanψ=k。(6)。

其中,ψ为相机的滚转角,k为所确定的图像斜率。

相机的外参除包括俯仰角和滚转角外,还可以包括偏航角。在本申请的一个实施例中,在确定相机的俯仰角和滚转角之后,可以确定相机的偏航角。参考图5所示的相机外参标定方法的第三种流程示意图。基于图1,该方法包括:

步骤501:确定标定图像上至少两组平行线的消失点的图像坐标。其中,至少两组平行线位于地面,且各组平行线的方向不同,图像坐标为图像坐标系中的坐标。

步骤502:根据相机的旋转矩阵和相机的内参,构建消失线方程。

步骤501-步骤502与步骤101-步骤102相同。

步骤503:根据所确定的图像坐标和消失线方程,确定相机的俯仰角和相机的滚转角。

其中,相机的俯仰角和相机的滚转角为相机的两个外参。

步骤504:根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

本申请实施例中,相机的偏航角为0度时,在世界坐标系中与世界坐标系的横向相同的平行线,在图像中没有交点,也就是在图像中没有消失点。在本申请的一个实施例中,考虑到这种平行线没有消失点的特殊情况,在确定消失点的至少两组平行线中包括:在世界坐标系中与世界坐标系的横向相同的一组平行线。

此时,在根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角前,可以先判断标定图像上是否存在第四组平行线的消失点,在世界坐标系中第四组平行线的方向与世界坐标系中横向相同。

若标定图像上不存在第四组平行线的消失点,则确定相机的偏航角为0度。

若标定图像上存在第四组平行线的消失点,再根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

相机的俯仰角为90度是一种特殊情况,考虑到该情况,根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角的步骤,可以包括:

步骤5041:若相机的俯仰角为90度,则根据相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

在本申请的一个实施例中,可以根据以下公式,确定相机的偏航角:

其中,φ为相机的偏航角,ψ为相机的滚转角,ux为标定图像上第四组平行线的消失点的横坐标,wx为标定图像上第四组平行线的消失点的纵坐标,fu为相机的横向焦距,fw为相机的纵向焦距。

步骤5042:若相机的俯仰角不是90度,则根据相机的俯仰角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

在本申请的一个实施例中,可以根据以下公式,确定所述相机的偏航角:

其中,φ为相机的偏航角,θ为相机的俯仰角,ux为标定图像上第四组平行线的消失点的横坐标,wx为标定图像上第四组平行线的消失点的纵坐标,uy为标定图像上第三组平行线的消失点的横坐标,wy为标定图像上第三组平行线的消失点的纵坐标,在世界坐标系中第三组平行线的方向与世界坐标系的纵向相同,fu为相机的横向焦距,fw为相机的纵向焦距。

相机的外参除包括俯仰角、滚转角和偏航角外,还可以包括相机的世界坐标。在本申请的一个实施例中,参考图6所示的相机外参标定方法的第四种流程示意图。基于图5,该方法包括:

步骤601:确定标定图像上至少两组平行线的消失点的图像坐标。其中,至少两组平行线位于地面,且各组平行线的方向不同,图像坐标为图像坐标系中的坐标。

步骤602:根据相机的旋转矩阵和相机的内参,构建消失线方程。

步骤603:根据所确定的图像坐标和消失线方程,确定相机的俯仰角和相机的滚转角。

步骤604:根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

步骤601-步骤604与步骤501-步骤504相同。

步骤605:根据相机的外参、相机的内参和特征点的坐标,确定相机的世界坐标。

其中,特征点的坐标包括特征点的图像坐标和特征的世界坐标。

在本申请的一个实施例中,步骤606可以包括:

根据相机的偏航角、相机的俯仰角、相机的滚转角、相机的横向焦距、相机的纵向焦距、两条平行线上两个点的图像坐标、和两条平行线间的距离,确定相机在世界坐标系中的垂直坐标。这里,两条平行线间的距离可以为任一两条平行线间的距离,两条平行线上两个点可以为两条平行线上的任意点。

之后,根据相机的偏航角、相机的俯仰角、相机的滚转角、相机的横向焦距、相机的纵向焦距、一个特征点的坐标、和相机在世界坐标系上的垂直坐标,确定相机在世界坐标系中的横坐标和纵坐标。

例如,世界坐标系中的点pi(xpi,ypi,zpi),pi点在图像中的像点为pi’(ui,wi),根据pi与pi’的光学关系,以及旋转矩阵m,可以逆推得到:

其中,v0为与图像平面位置有关的常数。

相机的世界坐标oc(xc,yc,zc)为相机的光心,两个特征点为p1(xp1,yp1,zp1)和p2(xp2,yp2,zp2)。根据像点、光心和特征点共线,可以得到:

zc为相机在世界坐标系中的垂直坐标,zc=h。若p1和p2位于地面,地面上特征点的垂直坐标为0,即zp1=zp2=0。地面上有两个特征点p1(xp1,yp1,zp1)和p2(xp2,yp2,zp2),另外,p1对应的图像上的像点p1’(u1,w1)和p2对应的图像上的像点p2’(u2,w2),结合公式(10)和(11)有:

若已知两条平行线间的距离d,获取这两条平行线上的任意两个点的图像坐标,p4’(u3,w3)和p4’(u4,w4),根据公式(9),可以确定出α3、α4、γ3和γ4,,进而可以确定相机的垂直坐标:

之后,获取一个特征点的坐标。结合公式(9)和(12)确定相机在世界坐标系中的横坐标和纵坐标。

如上,已知p1(xp1,yp1,zp1)和p2(xp2,yp2,zp2),以及p1对应的图像上的像点p1’(u1,w1)和p2对应的图像上的像点p2’(u2,w2)。将已知的p1’(u1,w1)和p2’(u2,w2)带入公式(9)可以确定α1、α2、γ1和γ2。将求得的α1、α2、γ1和γ2,p1(xp1,yp1,zp1)和p2(xp2,yp2,zp2),以及确定的h,带入公式(12),可以确定相机在世界坐标系中的横坐标和纵坐标:

在本申请的另一个实施例中,步骤606可以包括:

根据相机的偏航角、相机的俯仰角、相机的滚转角、相机的横向焦距、相机的纵向焦距、两个特征点的坐标,确定相机的世界坐标。

例如,若已知两个点的世界坐标,如p1(xp1,yp1,zp1)和p2(xp2,yp2,zp2),则根据公式(12),可以确定相机的世界坐标:

在本申请的一个实施例中,为了保证相机外参标定的准确性,获取到较好的全景拼接结果,若特征点的个数大于两个,则步骤605可以包括:

步骤6051:根据相机的外参、相机的内参和每一特征点的坐标,确定每一特征点对应的相机的目标世界坐标。

这里,所确定的目标世界坐标即为该特征点对应一个目标世界坐标。

步骤6052:根据每一特征点的坐标、和每一特征点对应的目标世界坐标,确定每一特征点的重投影误差。

对于每一特征点,采用以下步骤确定该特征点的重投影误差:

步骤6052a:根据该特征点对应的目标世界坐标、和除该特征点外的其他特征点的世界坐标,计算其他特征点的图像坐标。

例如,目前有5个特征点,包括t1、t2、t3、t4和t5,若根据t1计算出目标世界坐标oc1(xc1,yc1,zc1)。根据oc1(xc1,yc1,zc1)、以及t2、t3、t4和t5这4个特征点的世界坐标,结合上述公式(12),可以分别计算出t2的图像坐标、t3的图像坐标、t4的图像坐标和t5的图像坐标。

步骤6052b:根据其他特征点的图像坐标和计算得到的其他特征点的图像坐标,计算该特征点的重投影误差。

在本申请的一个实施例中,可以计算每一其他特征点的真实图像坐标与计算得到的该其他特征点的图像坐标间的距离,将计算得到的距离的最大值作为该特征点的重投影误差。

仍以步骤6052a中的例子进行说明。t2的真实图像坐标为(u21,w21),计算得到的t2的图像坐标为(u22,w22);t3的真实图像坐标为(u31,w31),计算得到的t3的图像坐标为(u32,w32);t4的真实图像坐标为(u41,w41),计算得到的t4的图像坐标为(u42,w42);t5的真实图像坐标为(u51,w51),计算得到的t5的图像坐标为(u52,w52)。

计算(u21,w21)与(u22,w22)间的距离d11。

计算(u31,w31)与(u32,w32)间的距离d12。

计算(u41,w41)与(u42,w42)间的距离d13。

计算(u51,w51)与(u52,w52)间的距离d14。

若d11>d12>d13>d14,则确定t1的重投影误差d11。

当然,也可以采用其他方式计算该目标特征点组的重投影误差。例如,根据该特征点对应的目标世界坐标、和除该特征点外的其他特征点的图像坐标,计算其他特征点的世界坐标,根据其他特征点的世界坐标和计算得到的其他特征点的世界坐标,计算该特征点的重投影误差。再例如,确定上述计算得到的距离的均方误差,将均方误差作为该目标特征点组的重投影误差。本申请实施例对此不进行限定。

步骤6053:获取重投影误差小于预设重投影误差阈值的特征点对应的目标世界坐标。

步骤6054:计算获取的目标世界坐标的均值,作为相机的世界坐标。

本申请实施例中,不考虑重投影误差过大的目标世界坐标,微调相机的世界坐标,使得重投影误差达到最小,提高了相机外参标定的准确性,优化了全景拼接结果。

本申请实施例中,为了实现上述相机外参标定方法,如图7(a)提供了多种标定场地的示意图,如图7(a)-(d)所示。

图7(a)所示的标定场地为最低要求的标定场地,包括与世界坐标系中x(横向)方向相同的平行线lx1和lx2,以及与世界坐标系中y(纵向)方向相同的平行线ly1和ly2。lx1和lx2在标定图像中对应的消失点为vpx(ux,wx),ly1和ly2在标定图像中对应的消失点为vpy(uy,wy)。根据vpx(ux,wx)和vpy(uy,wy),可确定消失线方程,进而对相机进行外参标定。

在偏航角为0度时lx1和lx2在标定图像中没有消失点。图7(a)无法确定消失线,无法标定出相机的所有外参。

图7(b)所示的标定场地为对图7(a)的改进的第一种方案,与世界坐标系中y方向相同的平行线ly1、ly2和ly3这3条直线。这样,在偏航角为0度时,也可以确定出消失线,对相机进行外参标定。

图7(c)所示的标定场地为对图7(a)的改进的第二种方案,增加了一种平行线li1和li2,ly1、ly2和li1、li2确定两个消失点,对相机进行外参标定。

图7(d)所示的标定场地:如果对全景拼接的拼缝调整有较高要求,或者为了预防成像时因为外部影响造成局部线条信息丢失,可以适当增加lx和ly的数量。标定时采用靠近相机镜头的线条进行计算,以减小标定误差。

下面结合图7(b)所示的标定场地,以及图8所示的相机外参标定的流程图,对本申请实施例进行详细说明。

步骤801:判断与世界坐标系中y方向相同的平行线ly1、ly2和ly3是否有消失点vpy。

若ly1、ly2和ly3没有vpy,则执行步骤802。若ly1、ly2和ly3有vpy,则执行步骤805。

步骤802:确定相机的俯仰角为90度。

步骤803:计算标定图像上ly1或ly2或ly3的斜率ky。

步骤804:根据ky,确定相机的滚转角,执行步骤807。

具体地可参考步骤407。

步骤805:在ly2上取点,确定第二个消失点vpi。

具体地可参考步骤203。

步骤806:将vpy和vpi分别带入消失线方程,确定相机的俯仰角和相机的滚转角,执行步骤807。

步骤807:判断与世界坐标系中x方向相同的平行线lx1和lx2是否有消失点vpx。

若lx1和lx2没有vpx,则执行步骤808。若lx1和lx2有vpx,则执行步骤809。

步骤808:确定相机的偏航角为0度,执行步骤810。

步骤809:根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角,执行步骤810。

具体地可参考步骤504。

步骤810:获取任一对平行线间的距离。

步骤811:根据该平行线间的距离,确定相机在世界坐标系中的垂直坐标。

具体地可参考步骤606。

步骤812:获取一个特征点的坐标。

步骤813,根据获得的坐标和相机的垂直坐标,确定相机在世界坐标系中的横坐标和纵坐标。

具体地可参考步骤606。

基于相同的发明构思,以上述相机外参标定方法对应,本申请实施例还提供了一种相机外参标定装置。

参考图9,图9为本申请实施例提供的相机外参标定装置的第一种结构示意图,该装置包括:

第一确定单元901,用于确定标定图像上至少两组平行线的消失点的图像坐标,其中,至少两组平行线位于地面,且各组平行线的方向不同,图像坐标为图像坐标系中的坐标;

构建单元902,用于根据相机的旋转矩阵和相机的内参,构建消失线方程;

第二确定单元903,用于根据所确定的图像坐标和消失线方程,确定相机的外参。

在本申请的一个实施例中,参考图10所示的相机外参标定装置的第二种结构示意图,基于图9,第一确定单元901,可以包括:

获取子单元9011,用于获取相机采集的包含第一组平行线的标定图像,其中,第一组平行线包括至少三条直线,且在世界坐标系中第一组平行线中每两条相邻直线间的距离相等;

第一确定子单元9012,用于确定标定图像上第一组平行线的消失点的图像坐标;

第二确定子单元9013,用于根据内部直线上的点、和第一组平行线中与内部直线相邻的两条直线,确定标定图像上第二组平行线的消失点,其中,内部直线为第一组平行线中除最外侧直线外的直线;

第三确定子单元9014,用于确定标定图像上第二组平行线的消失点的图像坐标。

在本申请的一个实施例中,第二确定子单元9013,具体可以用于:

将内部直线上的一点作为交叉点;

确定过交叉点的一条直线与内部直线相邻的两条直线的第一交点和第二交点,并确定过交叉点的另一条直线与内部直线相邻的两条直线的第三交点和第四交点,其中,第一交点和第三交点位于内部直线相邻的一条直线上,第二交点和第四交点位于内部直线相邻的另一条直线上;

将标定图像上第一直线与第二直线的交点,确定为标定图像上第二组平行线的消失点,其中,第一直线过第一交点和第四交点,第二直线过第二交点和第三交点。

在本申请的一个实施例中,参考图11所示的相机外参标定装置的第三种结构示意图,基于图9,第一确定单元901,可以包括:

第四确定子单元9015,用于若标定图像上包含包括的直线条数大于两条的至少一组平行线,则对于包括的直线条数大于两条的每组平行线,根据标定图像上该组平行线的交点集中各个交点的图像坐标,确定交点集的目标中心图像坐标,将目标中心图像坐标作为标定图像上该组平行线的消失点的图像坐标,其中,交点集包括标定图像上该组平行线中每两条直线的交点;

第五确定子单元9016,用于若标定图像上包含包括的直线条数等于两条的至少一组平行线,则对于包括的直线条数等两条的每组平行线,将标定图像上该组平行线的交点的图像坐标作为标定图像上该组平行线的消失点的图像坐标。

在本申请的一个实施例中,第四确定子单元9014,具体可以用于:

将标定图像上该组平行线的交点集作为目标交点集;

根据目标交点集中各个交点的图像坐标,计算目标交点集的中心图像坐标;

对于该组平行线每条直线,计算该条直线上的各个交点的图像坐标与中心图像坐标的距离均值;

若存在大于预设距离阈值的距离均值,则去除该组平行线中距离均值大于预设距离阈值的直线,重新根据目标交点集中各个交点的图像坐标,计算目标交点集的中心图像坐标;

若不存在大于预设距离阈值的距离均值,则将中心图像坐标确定为标定图像上该组平行线的交点集的目标中心图像坐标。

在本申请的一个实施例中,构建单元902,具体可以用于:

根据相机的旋转矩阵、相机的横向焦距和相机的纵向焦距,构建消失线方程。

在本申请的一个实施例中,构建单元902,具体可以用于:

获取相机的旋转矩阵其中,a=cosθcosψ+sinθsinφsinψ,b=sinθcosψ-cosθsinφsinψ,c=cosθsinψ,d=-sinθcosφ,e=cosθcosφ,f=sinφ,g=sinθsinφcosψ-cosθsinψ,h=-cosθsinφcosψ-sinθsinψ,i=cosφcosψ,θ为相机的俯仰角,φ为相机的偏航角,ψ为相机的滚转角;

根据相机的旋转矩阵m、相机的横向焦距和相机的纵向焦距,构建消失线方程为:

其中,u为消失线上一点的横坐标,w为消失线上该点的纵坐标,fu为相机的横向焦距,fw为相机的纵向焦距。

在本申请的一个实施例中,相机的外参可以包括相机的俯仰角和相机的滚转角;

第二确定单元903,具体可以用于将所确定的图像坐标输入消失线方程,得到相机的俯仰角和相机的滚转角。

在本申请的一个实施例中,至少两组平行线包括:在世界坐标系中与世界坐标系的纵向相同的第三组平行线。

参考图12所示的相机外参标定装置的第四种结构示意图,基于图9,第一确定单元901,可以包括:

第一判断子单元9017,用于判断标定图像上是否存在第三组平行线的消失点;

第六确定子单元9018,用于在第一判断子单元9017的判断结果为是时,确定标定图像上至少两组平行线的消失点的图像坐标;

第二确定单元903,具体可以用于将所确定的图像坐标输入消失线方程,得到相机的俯仰角和相机的滚转角。

在本申请的一个实施例中,第六确定子单元9018,还可以用于:

在第一判断子单元9017的判断结果为否时,确定相机的俯仰角为90度;

确定标定图像上第三组平行线的图像斜率,其中,图像斜率为图像坐标系中直线的斜率;

根据所确定的图像斜率,确定相机的滚转角。

在本申请的一个实施例中,第六确定子单元9018,具体可以用于:

根据以下公式,确定相机的滚转角:

tanψ=k;

其中,ψ为相机的滚转角,k为所确定的图像斜率。

在本申请的一个实施例中,相机的外参还可以包括相机的偏航角;参考图13所示的相机外参标定装置的第五种结构示意图,基于图9,上述相机外参标定装置还可以包括:

第三确定单元904,用于在第二确定单元903确定相机的俯仰角和滚转角之后,根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

在本申请的一个实施例中,至少两组平行线包括:在世界坐标系中与世界坐标系中横向相同的第四组平行线;

参考图14所示的相机外参标定装置的第六种结构示意图,基于图13,第三确定单元904,可以包括:

第二判断子单元9041,用于判断标定图像上是否存在第四组平行线的消失点;

第七确定子单元9042,用于在第二判断子单元9041的判断结果为是时,根据相机的俯仰角、相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

在本申请的一个实施例中,第七确定子单元9042,具体可以用于:

若相机的俯仰角为90度,则根据相机的滚转角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角;

若相机的俯仰角不是90度,则根据相机的俯仰角、相机的横向焦距和相机的纵向焦距,确定相机的偏航角。

在本申请的一个实施例中,第七确定子单元9042,具体可以用于:

根据以下公式,确定相机的偏航角:

其中,φ为相机的偏航角,ψ为相机的滚转角,ux为标定图像上第四组平行线的消失点的横坐标,wx为标定图像上第四组平行线的消失点的纵坐标,fu为相机的横向焦距,fw为相机的纵向焦距。

在本申请的一个实施例中,第七确定子单元9042,具体可以用于:

根据以下公式,确定相机的偏航角:

其中,φ为相机的偏航角,θ为相机的俯仰角,ux为标定图像上第四组平行线的消失点的横坐标,wx为标定图像上第四组平行线的消失点的纵坐标,uy为标定图像上第三组平行线的消失点的横坐标,wy为标定图像上第三组平行线的消失点的纵坐标,在世界坐标系中第三组平行线的方向与世界坐标系的纵向相同,fu为相机的横向焦距,fw为相机的纵向焦距。

在本申请的一个实施例中,第七确定子单元9042,还可以用于:

在第二判断子单元9041的判断结果为否时,确定相机的偏航角为0度。

在本申请的一个实施例中,相机的外参还可以包括相机的世界坐标,其中,世界坐标为世界坐标系上的坐标。

参考图15所示的相机外参标定装置的第七种结构示意图,基于图13,上述相机外参标定装置还可以包括:

第四确定单元905,用于根据相机的外参、相机的内参和特征点的坐标,确定相机的世界坐标。

在本申请的一个实施例中,第四确定单元905,具体可以用于:

根据相机的偏航角、相机的俯仰角、相机的滚转角、相机的横向焦距、相机的纵向焦距、两条平行线上两个点的图像坐标、和这两条平行线间的距离,确定相机在世界坐标系中的垂直坐标;

根据相机的偏航角、相机的俯仰角、相机的滚转角、相机的横向焦距、相机的纵向焦距、一个特征点的坐标、和相机在世界坐标系中的垂直坐标,确定相机在世界坐标系中的横坐标和纵坐标。

在本申请的一个实施例中,第四确定单元905,具体可以用于:

根据相机的偏航角、相机的俯仰角、相机的滚转角、相机的横向焦距、相机的纵向焦距、两个特征点的坐标,确定相机的世界坐标。

在本申请的一个实施例中,标定图像上包括的特征点的个数大于两个;

第四确定单元905,具体可以用于:

根据相机的外参、相机的内参和每一特征点的坐标,确定每一特征点对应的相机的目标世界坐标;

根据每一特征点的坐标、和每一特征点对应的目标世界坐标,确定每一特征点的重投影误差;

获取重投影误差小于预设重投影误差阈值的特征点对应的目标世界坐标;

计算获取的目标世界坐标的均值,作为相机的世界坐标。

在本申请的一个实施例中,第四确定单元905,具体可以用于:

对于每一特征点,采用以下步骤确定该特征点的重投影误差:

根据该特征点对应的目标世界坐标、和除该特征点外的其他特征点的世界坐标,计算其他特征点的图像坐标;

根据其他特征点的图像坐标和计算得到的其他特征点的图像坐标,计算该特征点的重投影误差。

本申请实施例中,在获取到标定图像后,确定标定图像上至少两组位于地面的平行线的消失点的图像坐标,也就是,确定至少两个消失点的图像坐标。根据相机的旋转矩阵和相机的内参,构建消失线方程。结合消失线定理,即同一平面上所有平行线的消失点共线,根据所确定的至少两个消失点的图像坐标,以及构建的消失线方程,可以精确地确定相机的外参,提高了拼接图像的质量。

基于相同的发明构思,以上述相机外参标定方法对应,本申请实施例还提供了一种电子设备,如图16所示的电子设备,包括处理器1601和存储器1602。存储器,用于存放计算机程序。处理器,用于执行存储器上所存放的程序,实现图1-8所示的相机外参标定方法。

如图16所示的电子设备,还可以包括通信接口1603和通信总线1604。,其中,处理器1601、通信接口1603、存储器1602通过通信总线1604完成相互间的通信。

所述的相机外参标定方法包括:

确定标定图像上至少两组平行线的消失点的图像坐标,其中,至少两组平行线位于地面,且各组平行线的方向不同,图像坐标为图像坐标系中的坐标;

根据相机的旋转矩阵和相机的内参,构建消失线方程;

根据所确定的图像坐标和消失线方程,确定相机的外参。

本申请实施例中,在获取到标定图像后,确定标定图像上至少两组位于地面的平行线的消失点的图像坐标,也就是,确定至少两个消失点的图像坐标。根据相机的旋转矩阵和相机的内参,构建消失线方程。结合消失线定理,即同一平面上所有平行线的消失点共线,根据所确定的至少两个消失点的图像坐标,以及构建的消失线方程,可以精确地确定相机的外参,提高了拼接图像的质量。

通信总线1604可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。该通信总线1604可以分为地址总线、数据总线、控制总线等。

通信接口1603用于上述电子设备与其他设备之间的通信。

存储器1602可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器1602还可以是至少一个位于远离前述处理器的存储装置。

处理器1601可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

基于相同的发明构思,以上述相机外参标定方法对应,本申请实施例还提供了一种机器可读存储介质,机器可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述图1-8所示的相机外参标定方法。

所述的相机外参标定方法包括:

确定标定图像上至少两组平行线的消失点的图像坐标,其中,至少两组平行线位于地面,且各组平行线的方向不同,图像坐标为图像坐标系中的坐标;

根据相机的旋转矩阵和相机的内参,构建消失线方程;

根据所确定的图像坐标和消失线方程,确定相机的外参。

本申请实施例中,在获取到标定图像后,确定标定图像上至少两组位于地面的平行线的消失点的图像坐标,也就是,确定至少两个消失点的图像坐标。根据相机的旋转矩阵和相机的内参,构建消失线方程。结合消失线定理,即同一平面上所有平行线的消失点共线,根据所确定的至少两个消失点的图像坐标,以及构建的消失线方程,可以精确地确定相机的外参,提高了拼接图像的质量。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于相机外参标定装置、电子设备、机器可读存储介质实施例而言,由于其基本相似于相机外参标定方法实施例,所以描述的比较简单,相关之处参见相机外参标定方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1