基于像素映射的标定测量方法及系统
文献发布时间:2024-04-18 19:52:40
技术领域
本发明涉及一种标定测量方法及系统,尤其是一种基于像素映射的标定测量方法及系统。
背景技术
在工业三维测量和机器视觉应用中,需要确定空间物体表面某点的三维几何位置和图像对应点之间的映射关系,此时,必须建立相机成像的几何模型,求解模型参数,这一过程称为相机标定,相机标定的精度,直接影响着最终测量结果的精度。
目前,对传统的相机标定方法,需要分别获取相机模型的内外参数,再进行一系列坐标系转换,以获得三维结果,整个标定计算过程复杂耗时,操作繁琐。因此,如何实现快速、简便、高效的标定和测量,是目前急需解决的问题。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于像素映射的标定测量方法及系统,其对相机,可实现快速标定,利用标定相机测量时,可输出高精度三维点云。
按照本发明提供的技术方案,一种基于像素映射的标定测量方法,所述标定测量方法包括:
提供一测量用的相机,对所述相机进行基于像素映射的标定,其中,标定时,建立所述相机的像素位置-高度映射关系、像素位置-水平分辨率映射关系,并确定所述相机所采集图像的像素水平偏移量拟合直线;
基于上述标定后的相机对物体测量时,在物体图像的当前像素坐标下,基于相机的像素位置-水平分辨率映射关系以及像素水平偏移量拟合直线,确定物体的空间高度和在图像水平方向对应的宽度变化;
基于所确定物体的空间高度和在图像水平方向对应的宽度变化,沿物体扫描方向和步长拼接单帧轮廓信息,以输出所述物体的三维点云。
对相机标定时,包括:
构建相机的像素位置-高度映射关系;
基于所构建的像素位置-高度映射关系,建立相机的高度-水平分辨率映射关系;
基于上述相机的像素位置-高度映射关系以及高度-水平分辨率映射关系,建立相机的像素位置-水平分辨率映射关系;
基于所建立的像素位置-水平分辨率映射关系,确定相机所采集图像的像素水平偏移量拟合直线。
构建相机的像素位置-高度映射关系时,包括:
提供一位置高度映射模型,在相机的高度测量域内,对位置高度映射模型进行高度区间划分,其中,所划分的区间间隔小于相机的高度测量精度;
利用相机获取位置高度映射模型在高度测量域内的图像,并提取所有高度值以及与所提取高度值相对应的像素坐标,以竖直像素坐标作为当前高度在图像上的位置;
对位置高度映射模型,配置高度测量的起始位置,以相对于起始位置的高度分布和对应的图像像素位置分布,构建相机的像素位置-高度映射关系。
所述位置高度映射模型包括高度间隔均匀分布的阶梯块;
对采用阶梯块的位置高度映射模型,对以竖直像素坐标作为当前高度在图像上的位置,则有:
提取阶梯在图像对应的线段,对每条阶梯线段,取线段中点的竖直像素坐标v作为当前阶梯高度在图像上的位置。
在确定相机的高度-水平分辨率映射关系时,包括:
对相对于位置高度映射模型起始位置的高度h
基于上述不同高度h
在确定相机所采集图像的像素水平偏移量拟合直线时,包括
取两个不同高度下的水平像素坐标和对应的水平分辨率,计算所述两个高度之间的像素水平偏移量;
根据上述像素水平偏离量和所取两个高度的竖直像素坐标,进行直线拟合,以在拟合后得到像素水平偏移量拟合直线。
确定物体高度和图像水平方向对应的宽度变化时,包括:
对物体在物体图像上的任一像素点的像素坐标,基于像素位置-高度映射关系遍历查找所述像素坐标所属的高度位置区间;
对查找得到的高度位置区间,利用线性插值计算当前竖直像素坐标对应的物体高度和水平分辨率;
根据像素水平偏移量拟合直线,计算偏移补偿后的水平像素坐标;
根据水平分辨率和补偿后的水平像素坐标,计算当前像素点的宽度方向位置;
重复上述步骤,以确定得到物体的空间高度和在图像水平方向对应的宽度变化。
一种基于像素映射的标定测量系统,包括相机以及标定测量控制器,其中,
标定测量控制器利用上述所述的标定测量方法对相机进行标定,并利用标定后的相机对物体进行测量,以输出物体的三维点云。
对标定测量控制器,包括:
高度标定模块,用于获取高度和对应的像素坐标,建立相机的像素位置-高度映射关系;
宽度标定模块,用于计算不同高度下的水平分辨率,建立相机的高度-水平分辨率映射关系;
宽度补偿模块,用于建立相机的像素位置-水平分辨率映射关系,并确定相机的像素水平偏移量拟合直线;
坐标计算模块,用于计算物体的高度和宽度坐标;
点云输出模块,用于拼接不同时刻下物体的坐标计算结果,输出三维点云。
本发明的优点:通过对相机量程内的高度范围进行划分,为不同高度建立像素-高度映射关系,并建立水平分辨率映射关系,拟合水平偏移系数,完成坐标计算和点云输出。相比于传统标定方法,在保持测量高精度的同时,标定过程更简化,实施更方便。
附图说明
图1为本发明标定测量的一种实施例流程图。
图2为本发明进行利用线性插值计算当前竖直像素坐标对应的物体高度和水平分辨率的一种示意图。
图3为本发明确定像素水平偏移量的一种实施例示意图。
图4为本发明高度标定的高度计算结果对比示意图。
图5为本发明宽度标定和补偿的宽度计算结果对比示意图。
图6为本发明输出三维点云的一种实施例示意图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
为实现快速标定,利用标定相机测量时,可输出高精度三维点云,对基于像素映射的标定测量方法,本发明的一种实施例中,所述标定测量方法包括:
提供一测量用的相机,对所述相机进行基于像素映射的标定,其中,标定时,建立所述相机的像素位置-高度映射关系、像素位置-水平分辨率映射关系,并确定所述相机所采集图像的像素水平偏移量拟合直线;
基于上述标定后的相机对物体测量时,在物体图像的当前像素坐标下,基于相机的像素位置-水平分辨率映射关系以及像素水平偏移量拟合直线,确定物体的空间高度和在图像水平方向对应的宽度变化;
基于所确定物体的空间高度和在图像水平方向对应的宽度变化,沿物体扫描方向和步长拼接单帧轮廓信息,以输出所述物体的三维点云。
具体地,测量用的相机可采用现有常用的形式,相机的类型可根据实际应用需求选择,以能满足实际应用需求为准。由上述说明可知,利用相机对物体进行测量时,需要对相机进行标定。本发明的一种实施例中,基于像素映射的方式对相机标定,以在标定后,可确定相机的像素位置-高度映射关系、像素位置-水平分辨率映射关系,并可得到所述相机所采集图像的像素水平偏移量拟合直线。
具体实施时,对图像像素坐标上的任一点(u,v)以及图像物理坐标上相应的点(x,y),则有:
世界坐标系中,物体的宽度方向对应图像的水平方向,物体的高度对应图像的竖直方向,物体运动/扫描方向作为物体长度方向。因此,水平/竖直为从图像角度而言,长/宽/高为从空间物体角度而言。
对于空间中的所有物体,高度上存在起始位置(Z=0平面),而宽度未指定统一的起点,一般以测量物体的最左端作为起点,因此,需确定物体在图像水平方向对应的宽度变化。
沿物体扫描方向和步长拼接单帧轮廓信息时,具体过程包括:计算物体扫描步长,即相邻帧之间的距离间隔step=V/f
以扫描方向作为物体长度方向,将包含高度和宽度的单帧轮廓信息沿着长度方向,依次排列(排列的间隔可根据实际需要选择,如运输扫描时,可采用间隔排布的设置),此时,即实现单帧轮廓信息的拼接,拼接后即构成物体的三维点云;在物体的三维点云中,任意一帧中所有轮廓的长度坐标都可以表示为N*step,其中,N为帧序号。
对相机基于像素映射标定时,本发明的一种实施例中,对相机标定时,包括:
构建相机的像素位置-高度映射关系;
基于所构建的像素位置-高度映射关系,建立相机的高度-水平分辨率映射关系;
基于上述相机的像素位置-高度映射关系以及高度-水平分辨率映射关系,建立相机的像素位置-水平分辨率映射关系;
基于所建立的像素位置-水平分辨率映射关系,确定相机所采集图像的像素水平偏移量拟合直线。
图1中示出了对相机标定以及利用标定后相机进行测量时的流程图。由图1可知,在标定时,一般依次构建相机的像素位置-高度映射关系、高度-水平分辨率映射关系以及像素位置-水平分辨率映射关系,最终可确定得到相机的像素水平偏移量拟合直线。
进一步地,构建相机的像素位置-高度映射关系时,包括:
提供一位置高度映射模型,在相机的高度测量域内,对位置高度映射模型进行高度区间划分,其中,所划分的区间间隔小于相机的高度测量精度;
利用相机获取位置高度映射模型在高度测量域内的图像,并提取所有高度值以及与所提取高度值相对应的像素坐标,以竖直像素坐标作为当前高度在图像上的位置;
对位置高度映射模型,配置高度测量的起始位置,以相对于起始位置的高度分布和对应的图像像素位置分布,构建相机的像素位置-高度映射关系。
具体实施时,构建相机的像素位置-高度映射关系,主要用于对相机进行高度标定。在高度标定时,可利用位置高度映射模型。在配置高度测量的起始位置后,所提取的任一高度值即为相对所述起始位置的高度差;当然,所配置的高度测量的起始位置需位于相机的高度测量域内。
本发明的一种实施例中,所述位置高度映射模型包括高度间隔均匀分布的阶梯块;
对采用阶梯块的位置高度映射模型,对以竖直像素坐标作为当前高度在图像上的位置,则有:
提取阶梯在图像对应的线段,对每条阶梯线段,取线段中点的竖直像素坐标v作为当前阶梯高度在图像上的位置。
具体地,对作为位置高度映射模型的阶梯块,相邻阶梯间隔可为0.5mm;对于起始位置,可将阶梯块的底端作为起始位置。
进一步地,在确定相机的高度-水平分辨率映射关系时,包括:
对相对于位置高度映射模型起始位置的高度h
基于上述不同高度h
由于相机成像性质,不同高度下,图像上相同范围采集到的物体宽度是不一样的。对于图像水平方向而言,同一行中,图像像素尺寸和实际物理距离呈线性关系,称为水平分辨率,水平分辨率Rx为物点的偏移距离/图像像素在水平方向的物理偏移距离;一般地,图像中,同一行像素的水平分辨率相一致,不同行像素的水平分辨率不同。
为了计算方便,统一以图像最左一列像素u=0作为水平方向/宽度起点,但归并到统一空间时,不同高度的起点位置是不一样的,而根据水平分辨率计算得到的距离是不变的,称为偏移距离,或者在物理空间中称为宽度变化。
设图像上一点(u,v)对应空间点P,以(u,v)所在像素行起点(0,v)对应的物理空间点作为P所在的世界坐标系原点,则P可以表示为(X,Z),其中,X为相对于空间原点沿图像水平方向的相对距离变化;因为不同高度的空间原点不同,所以用偏移表述,Z为该点高度,在上述的公式中,可表示图像坐标对应阶梯的高度h
上述公式中,h
根据上述像素位置-高度映射关系,可以得到
进一步地,在确定相机所采集图像的像素水平偏移量拟合直线时,包括
取两个不同高度下的水平像素坐标和对应的水平分辨率,计算所述两个高度之间的像素水平偏移量;
根据上述像素水平偏离量和所取两个高度的竖直像素坐标,进行直线拟合,以在拟合后得到像素水平偏移量拟合直线。
由上述说明可知,由于同一物体上各个帧轮廓的宽度起点不同,需要进行补偿以对齐起点,即需要确定像素水平偏移量拟合直线。图像中的“偏移”指相对于图像中的起点,空间中的“偏移”指相对于空间原点,空间原点和图像起点对应。此外,所取的两个不同高度,一般以能满足直线拟合需求为准,但取的高度落差越大,拟合的直线越符合实际水平分辨率分布情况。
对像素水平偏移量拟合直线,下面给出一种确定的实施例,具体为:
当位置高度映射模型采用阶梯块时,在阶梯块图像上,分别取最低、最高两个阶梯高度和对应的水平像素坐标(u
利用高度落差和上述水平偏移量拟合直线,以直线系数作为像素水平偏移量拟合直线。
具体地,在上述两个高度下的图像中,计算相同的物体宽度变化,则有:x
设u
由于水平分辨率随高度呈线性变化,因此,水平偏移量在不同高度下也呈线性变化。以起始位置(即最低高度)的水平像素起点u
进一步地,确定物体高度和图像水平方向对应的宽度变化时,包括:
对物体在物体图像上的任一像素点的像素坐标,基于像素位置-高度映射关系遍历查找所述像素坐标所属的高度位置区间;
对查找得到的高度位置区间,利用线性插值计算当前竖直像素坐标对应的物体高度和水平分辨率;
根据像素水平偏移量拟合直线,计算偏移补偿后的水平像素坐标;
根据水平分辨率和补偿后的水平像素坐标,计算当前像素点的宽度方向位置;
重复上述步骤,以确定得到物体的空间高度和在图像水平方向对应的宽度变化。
具体地,基于像素位置-高度映射关系遍历查找所述像素坐标所属的高度位置区间;利用水平偏移系数计算水平偏移量以对齐宽度变化的起点;利用高度-水平分辨率映射关系确定宽度变化。
由于位置高度映射模型中高度区间分隔较小,所以可以用线性关系表示一个高度区间内的位置和高度对应关系。对查找得到的高度位置区间,利用线性插值计算当前竖直像素坐标对应的物体高度和水平分辨率,下面给出一种实施例,如图2所示,具体地:
根据位置高度映射模型,存在位置v
同理,存在位置v
此时,计算可得到任意位置v对应的高度h和水平分辨率Rx。
根据之前拟合的像素水平偏移量拟合直线,有
offset_x=k*v+b
其中,k、b为拟合直线系数。
图3中,图像上任一点带入计算可以得到相应的补偿量offset_x。补偿后的水平像素坐标为u′=u-offset_x,u为所述图像上点的横坐标。
对物体高度和图像水平方向对应的宽度变化,下面给出一种具体的实施例进行说明,具体为:
对物体在物体图像上的任一像素点(u
利用线性插值计算v
基于上述的水平偏移系数,计算偏移补偿后的像素坐标u′
根据水平分辨率和补偿后的像素坐标,计算当前点的宽度方向位置;宽度位置X=u′
重复上述所有步骤,计算物体在图像上所有像素点的空间位置(X,Z)。
图4、图5分别为本发明与基于标定板的传统标定方法对标准量块高度、宽度方向的测量精度误差对比;由图示可知,本发明在简化了标定过程的同时,测量精度也保持在较高水平。
由上述说明,对基于像素映射的标定测量系统,本发明的一种实施例中,包括相机以及标定测量控制器,其中,
标定测量控制器利用上述所述的标定测量方法对相机进行标定,并利用标定后的相机对物体进行测量,以输出物体的三维点云。
具体地,标定测量控制器可采用现有常用的形式,具体以能对相机进行标定,且能基于对相机所获取待测量物体的图像对物体进行测量,图6中示出了物体三维点云的一种实施例。
本发明的一种实施例中,对标定测量控制器,包括:
高度标定模块,用于获取高度和对应的像素坐标,建立相机的像素位置-高度映射关系;
宽度标定模块,用于计算不同高度下的水平分辨率,建立相机的高度-水平分辨率映射关系;
宽度补偿模块,用于建立相机的像素位置-水平分辨率映射关系,并确定像素水平偏移量拟合直线;
坐标计算模块,用于计算物体的高度和宽度坐标;
点云输出模块,用于拼接不同时刻下物体的坐标计算结果,输出三维点云。
具体实施时,高度标定模块、宽度标定模块、宽度补偿模块、坐标计算模块以及点云输出模块相应的工作方式,具体可参考上述说明,此处不再赘述。
本发明通过对相机量程内的高度范围进行划分,为不同高度建立像素-高度映射关系,并建立水平分辨率映射关系,拟合水平偏移系数,完成坐标计算和点云输出。相比于传统标定方法,在保持测量高精度的同时,标定过程更简化,实施更方便。
上述实施方式仅是为了说明本发明的原理而采用的示例性实施方式,并非对本发明作任何形式上的限制。对于本领域内的普通技术人员而言,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例。但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明的保护范围内。
- 一种基于像素频域标定提高光电自准直仪精度的测量方法
- 一种基于像素频域标定提高光电自准直仪精度的测量方法