CN117516594B - 一种双目相机测距自校正方法、***及存储介质 - Google Patents
一种双目相机测距自校正方法、***及存储介质 Download PDFInfo
- Publication number
- CN117516594B CN117516594B CN202410020632.8A CN202410020632A CN117516594B CN 117516594 B CN117516594 B CN 117516594B CN 202410020632 A CN202410020632 A CN 202410020632A CN 117516594 B CN117516594 B CN 117516594B
- Authority
- CN
- China
- Prior art keywords
- binocular camera
- parallax
- value
- ground
- fitting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012937 correction Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000005070 sampling Methods 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000003287 optical effect Effects 0.000 claims description 15
- 238000012935 Averaging Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 14
- 230000000295 complement effect Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种双目相机测距自校正方法、***及存储介质,该方法包括:步骤1:基于预设采样周期,获取双目相机当前采样时刻的采样图像;步骤2:基于采样图像,计算双目相机的状态值,其中,状态值包括双目相机距离地面的高度;步骤3:判断状态值是否满足校正条件,若是,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值,若否,重新执行步骤1;其中,校正条件为状态值与初始状态值之间的相对差值大于状态阈值。通过本申请中的技术方案,选用双目相机自身真实可测的物理参数作为校正依据,无需在特定的场合、利用特定的标靶对安装好的双目相机进行校正,降低了双目相机自校正的操作难度。
Description
技术领域
本申请涉及双目视觉的技术领域,具体而言,涉及一种双目相机测距自校正方法,一种双目相机测距自校正***以及一种计算机可读存储介质。
背景技术
双目相机在交付客户后的实际应用场景中,由于受振动、环境温度变化等影响,双目相机的测距精度可能出现退化。为了保证双目相机的测距精度能持续保持在可接受的范围,需要对双目相机测距进行健康状态自监测和自校正。
双目相机测距校正方法,一般通过双目相机对特定目标的测量值与双目相机到该特定目标的距离真值之间的差值作为测距监控的依据,并通过校正双目相机的内参或外参将误差较大的距离测量值调整至可接受的范围。但由于在实际的自然工作场景中很难找到合适的特定目标作为距离真值的参考,因此,往往采用专门设计的标靶(如棋盘格)作为双目相机校正的特定目标。
而现有技术中,由于双目相机已被安装到机器人或车辆等设备上,此时在双目相机自校正过程中,不仅需要在至少一个固定的位置处放置特定的标靶,而且标定过程中的操作比较麻烦,甚至可能会导致客户需要将双目相机拆卸下来返厂后再进行标定,待完成标定后再重新安装,操作费时费力。
发明内容
本申请的目的在于:如何以实际的自然工作场景中物理量作为校正参考依据,对双目相机实现测距自校正,降低双目相机自校正的操作难度。
本申请第一方面的技术方案是:提供了一种双目相机测距自校正方法,该方法包括:步骤1:基于预设采样周期,获取双目相机当前采样时刻的采样图像;步骤2:基于采样图像,计算双目相机的状态值,其中,状态值包括双目相机距离地面的高度;步骤3:判断状态值是否满足校正条件,若是,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值,若否,重新执行步骤1;其中,校正条件为状态值与初始状态值之间的相对差值大于状态阈值。
在一些实施例中,步骤3中,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值,具体包括:基于采样图像的分辨率,确定光心坐标;基于光心坐标与拟合地面,计算拟合高度;当判定预设校正周期内多个拟合高度的取值波动小于或等于波动阈值时,计算拟合高度的高度平均值,并基于视差计算原理,计算高度平均值对应的视差补偿值。
在一些实施例中,方法还包括:基于采样图像,确定拟合地面,其中,确定拟合地面,具体包括:基于采样图像,获取双目相机的视差图;逐行选取视差图中的有效视差点,并基于选取的各行有效视差点生成第一直方图;当判定预设范围内的有效视差点在第一直方图中的占比大于或等于第一预设比例时,基于有效视差点,通过求均值的方式,计算行最佳视差值,其中,预设范围由第一直方图的中位数确定;基于计算出的各行行最佳视差值,通过拟合方式,计算拟合地面。
在一些实施例中,通过求均值的方式,计算行最佳视差值之前,还包括:删除预设范围之外的有效视差点,并基于剩余有效视差点,通过求均值的方式,计算行最佳视差值。
在一些实施例中,计算拟合地面之前,还包括:判断行最佳视差值的个数与视差图行数的比值是否大于或等于第二预设比例,若是,计算拟合地面,若否,重新基于预设采样周期,获取采样图像。
在一些实施例中,方法还包括:基于采样图像,确定拟合地面,其中,确定拟合地面,具体包括:步骤41:基于采样图像,获取双目相机的视差图;步骤42:分别以视差图上下两端为起始位置,依次获取视差图中的第一类行视差、第二类行视差,并依次将获取到的第一类行视差与第二类行视差交替排列,组成目标视差图,其中,第一类行视差为视差图中的奇数行,第二类行视差为视差图中的偶数行;步骤43:逐行选取目标视差图中的有效视差点,并基于选取的当前行有效视差点生成第二直方图;步骤44:判断预设范围内的有效视差点在第二直方图中的占比是否大于或等于第三预设比例,若是,基于预设范围内的有效视差点,通过求均值的方式,计算行最佳视差值,并将行有效值计数加一,若否,重新执行步骤43,选取下一行目标视差图中的有效视差点,其中,预设范围由第二直方图的中位数确定;步骤45:判断行有效值计数的取值是否大于或等于第一行数阈值,若是,基于行最佳视差值,通过拟合方式,计算拟合地面,若否,重新执行步骤43,选取下一行目标视差图中的有效视差点。
在一些实施例中,方法还包括:当判定第一类行视差对应的有效视差点行的行数以及第二类行视差对应的有效视差点行的行数均大于或等于第二行数阈值时,分别基于第一类行视差对应的有效视差点行的行最佳视差值以及第二类行视差对应的有效视差点行的行最佳视差值,通过拟合方式,计算第一拟合平面和第二拟合平面;计算第一拟合平面与第二拟合平面之间的平面夹角;判断平面夹角是否大于或等于夹角阈值,若是,重新执行步骤1,若否,执行步骤45。
在一些实施例中,双目相机被安装在移动平台上,方法还包括:当判定采样图像中的场景为静态时,停止获取采样图像。
本申请第二方面的技术方案是:提供了一种双目相机测距自校正***,该***包括:采样单元,采样单元被配置为基于预设采样周期,获取双目相机当前采样时刻的采样图像;计算单元,计算单元被配置为基于采样图像,计算双目相机的状态值,其中,状态值包括双目相机距离地面的高度;视差补偿单元,视差补偿单元被配置为判断状态值是否满足校正条件,若是,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值;其中,校正条件为状态值与初始状态值之间的相对差值大于状态阈值。
本申请第三方面的技术方案是:提供了一种可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述第一方面技术方案中的任一项方法。
本申请的有益效果是:本申请中的技术方案,选用双目相机自身真实可测的物理参数作为校正依据,若判定当前状态下通过图像计算出的双目相机距离地面的高度和/或双目相机光轴与地面之间的夹角与初始状态值相差较大时,则对双目相机进行自校正,无需在特定的场合、利用特定的标靶对安装好的双目相机进行校正,降低了双目相机自校正的操作难度。
本申请还在地面拟合过程中,为了在保证拟合准确性的前提下,提高运算速率、减小算力的占用,从视差图的上下两端按行数的奇偶性进行快速地面拟合运算。
附图说明
本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请的一个实施例的双目相机测距自校正方法的示意流程图;
图2是根据本申请的一个实施例的双目相机测距自校正场景的示意图;
图3是根据本申请的一个实施例的相机坐标系的示意图;
图4是根据本申请的一个实施例的坡面场景示意图;
图5是根据本申请的一个实施例的双目相机测距自校正***的示意框图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
实施例
如图1所示,本实施例提供了一种双目相机测距自校正方法,该方法包括。
步骤1:基于预设采样周期,获取双目相机当前采样时刻的采样图像;步骤2:基于采样图像,计算双目相机的状态值,其中,状态值包括双目相机距离地面的高度;步骤3:判断状态值是否满足校正条件,若是,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值,若否,重新执行步骤1;其中,校正条件为状态值与初始状态值之间的相对差值(差值绝对值)大于状态阈值。
具体的,以双目相机100被安装在机器人200上为例,设定双目相机100在机器人200上的位置相对固定,如图2所示,双目相机100的视场角101可以观察到地面300,选取双目相机视场角101的中心区域作为ROI感兴趣区域102,双目相机距离地面的高度为H,双目相机光轴与地面之间夹角为α,双目相机的距离测量值为Z。
设定双目相机100安装在机器人200且被标定后的状态为初始状态,此时双目相机100能够准确的实现测距,基于双目相机采集到的地面图像,可以计算出初始状态下双目相机距离地面的高度,记作初始高度H0。
为了更直观且便于理解双目相机校正的依据,本申请实施例选取上述初始高度H0作为双目相机测距精度的初始状态值,即校正指标,若判定当前状态下,双目相机的状态值(双目相机距离地面的高度)与初始状态值之间的相对差值(差值绝对值)大于状态阈值,则表明双目相机发生了畸变,需要对双目相机进行测距校正,将双目相机校正至初始状态或者校正至测距误差允许的范围内,以保证双目相机的测距精度。其中,双目相机的状态值可以包括双目相机距离地面(拟合地面)的高度,相应的,状态阈值为高度阈值,其大小可以根据实际情况人为设定。
需要说明的是,双目相机的状态值还可以包括双目相机光轴与地面(拟合地面)之间的夹角,相应的,状态阈值还可以包括角度阈值。
在本申请实施例中,设定双目相机中的右相机为参考相机,以该相机的坐标系作为世界坐标系,如图3所示,双目相机100所在平面为平面XOY,为已知平面。
现以双目相机距离地面的高度作为状态值为例进行说明。
在双目相机100获取到包含有地面的采样图像及对应的视差图时,可以进行地面拟合,得到拟合地面,结合双目相机100所在平面,即平面XOY,可以计算出拟合地面与双目相机所在平面之间的夹角(第一夹角),该夹角(第一夹角)为双目相机光轴与地面之间夹角(第二夹角)的补角,通过视差原理以及三角函数关系,即可计算出当前状态下双目相机的高度(状态值)。
因此,若当前状态下双目相机距离地面的高度H1与初始状态下双目相机的高度H0之间的相对差值ΔH大于高度阈值(状态阈值)时,则需要对双目相机校正。
在校正过程中,可以通过视差补偿的方式,将计算出的当前状态下的双目相机距离地面的高度H1校正至初始状态或者校正至误差允许的范围内,校正过程中涉及到的计算公式包括:
α1=90°-β
式中,Z1为距离测量值,D为视差值,B为双目相机的镜头基线长度,F为双目相机的焦距,△D为视差补偿值,H1为当前状态下双目相机距离地面的高度,β为当前状态下双目相机所在平面与拟合地面之间夹角(第一夹角),α1为当前状态下双目相机所在平面与拟合地面之间夹角(第一夹角)的补角(第二夹角),α0为初始状态下双目相机所在平面与拟合地面之间夹角的补角。
因此,本申请实施例中的自校正方案,无需在特定的场合、利用特定的标靶对安装在机器人200上的双目相机100进行自校正,更无需将双目相机拆卸下来返厂,实现了以实际的自然工作场景中物理量作为校正参考依据,对双目相机进行测距自校正,降低了双目相机自校正的操作难度。
需要说明的是,当判定计算出的相对差值大于状态阈值一定比例时,如20%,则表明数据异常,应舍弃。
在上述实施例1的基础上,为了准确地拟合出当前的地面平面,进而准确的对双目相机进行测距校正,本申请实施例中的双目相机测距自校正方法还包括:基于采样图像,确定拟合地面,其中,确定拟合地面,具体包括:基于采样图像,获取双目相机的视差图;
逐行选取视差图中的有效视差点,并基于选取的各行有效视差点的视差值生成第一直方图,即行内视差的直方图;当判定预设范围内的有效视差点在第一直方图中的占比大于或等于第一预设比例时,基于有效视差点,通过求均值的方式,计算行最佳视差值,其中,预设范围由第一直方图的中位数确定;基于行最佳视差值,通过拟合方式,计算拟合地面。
具体的,设定双目相机中的右相机为参考相机,以该相机的坐标系作为世界坐标系,如图3所示,可确定出地面的拟合平面方程,对应的计算公式为:
ALx+BLy+CLz+DL=0
式中,AL、BL、CL、DL为地面拟合平面的拟合参数,(x,y,z)为平面中任一点的三维坐标。
由于在本申请实施例中设定双目相机100在机器人200上的位置相对固定,即不考虑因两者位置变化所引起的测距误差。因此,地面水平方向(与x轴平行)上任一直线与双目相机100之间的视差值相等,拟合平面方程中的拟合参数AL不会发生变化,所以在计算地面的拟合平面过程中,可以将置拟合参数AL置为0。
综上,为了拟合出较为准确的地面所在平面,可以逐行统计视差图中的有效视差点,将有效视差点所在行的位置(屏幕坐标)、视差值分别通过视差变换的方式转换为上述拟合地面方程中的y坐标、z坐标,结合最小二乘法或者平面拟合的方式,即可确定拟合平面的拟合参数BL、CL和DL,进而确定出地面的拟合平面。
在任一张视差图中,其均包含一定量的视差空洞,即视差值为0的视差点,因此,本申请实施例将视差图中有视差值的视差点记作有效视差点,其对应的视差值记作有效视差值。而为了保证能够获得较为准确的地面所在平面,应保证视差图的每一行包含一定数量且取值分布较为集中的有效视差点,因此,引入直方图的概念。
基于视差图中每一行有效视差点的视差值做直方图,记作第一直方图,统计得出各个视差值出现的次数,因此,如果当第一直方图呈现类似于高斯分布的效果时,则表明当前视差行对应的图像行像素基本处于同一水平面。
本申请实施例中,选取第一直方图中位数±10%作为预设范围,计算该范围内有效视差点在第一直方图中的占比,当该占比大于或等设定的一预设比例时,如50%,则认为当前视差行对应的图像行像素基本处于同一水平面且取值分布较为集中,可以用于计算拟合地面;否则,需要舍弃。
设定双目相机获取到的采样图像的分辨率为1920*1080,则对应的视差图同样为1920*1080,即每一行对应有1920个视差点,一共1080行。因此,为了减少数据量,引入了行最佳视差值的概念,即每一行通过滤波去噪结合求均值的方式计算出一个行最佳视差值(即去掉离散点后的有效数据的平均值),转换为相应的(y,z)坐标,进而再基于组成的(最多)1080个(y,z)坐标,通过拟合方式(如线性拟合)计算出拟合地面对应的参数BL、CL和DL。
在一些实施例中,为了进一步减小数据量,同时保证计算出的行最佳视差值的准确性,保留最有效的图像深度信息,再通过求均值的方式,计算行最佳视差值之前,上述方法还包括:删除预设范围之外的有效视差点,并基于剩余有效视差点,通过求均值的方式,计算行最佳视差值;或者,基于预设范围内的有效视差点,通过求均值的方式,计算行最佳视差值。
在一些实施例中,进一步为了提高拟合地面的准确性,还需要在“行维度”上对视差图的有效性进行判断,因此,计算拟合地面之前,还包括:判断行最佳视差值的个数与视差图行数(采样图像行数)的比值是否大于或等于第二预设比例,若是,计算拟合地面,若否,重新基于预设采样周期,获取采样图像。
具体的,在理想情况下,视差图中的每一行均对应于一个行最佳视差值,但是在现实环境中并非理想,如地面并非水平、有障碍物遮挡、室内场景地面占比有限、灯光、阴影等因素,存在当前行无对应行最佳视差值的情况,因此,当判定行最佳视差值的个数与视差图行数的比值大于或等于第二预设比例(如40%)时,则认为当前的视差图对应于足够面积大的地面,这些行最佳视差值可以用于拟合地面平面;否则,则认为地面面积过小,需要舍弃。
在上述实施例1的基础上,通过对拟合地面所在平面的数据进行分析,当图像中上下两端的视差数据能够拟合为一个平面时,其中间数据大概率也会在这个平面上,且从两端进行地面拟合时,所得拟合地面相对于从中间进行拟合时较为稳定,因此,在基于图像确定出较为准确的地面所在平面的过程中,为了提高运算速率、减小算力的占用,本申请实施例中的双目相机测距自校正方法在基于采样图像确定拟合地面的过程中,从视差图的上下两端按行数的奇偶性进行快速地面拟合运算,该方法具体包括:
步骤41:基于采样图像,获取双目相机的视差图;
步骤42:分别以视差图上下两端为起始位置,依次获取视差图中的第一类行视差、第二类行视差,并依次将获取到的第一类行视差与第二类行视差交替排列,组成目标视差图,其中,第一类行视差为视差图中的奇数行,第二类行视差为视差图中的偶数行;
步骤43:逐行选取目标视差图中的有效视差点,并基于选取的当前行有效视差点生成第二直方图;
步骤44:判断预设范围内的有效视差点在第二直方图中的占比是否大于或等于第三预设比例,
若是,基于预设范围内的有效视差点,通过求均值的方式,计算行最佳视差值,并将行有效值计数加一,
若否,重新执行步骤43,选取下一行目标视差图中的有效视差点,其中,预设范围由第二直方图的中位数确定;
步骤45:判断行有效值计数的取值是否大于或等于第一行数阈值,
若是,基于行最佳视差值,通过拟合方式,计算拟合地面,
若否,重新执行步骤43,选取下一行目标视差图中的有效视差点,其中,第一行数阈值的取值由采样图像行数的百分比确定,可以为5%-25%。
具体的,本申请实施例在拟合地面平面的过程中,采用从视差图上下两端按照行数奇偶性快速计算的方式,对视差图进行重组,以分辨率为1920*1080为例,重新组成的目标视差图的行序号如表1所示。
表1
原始行序号 | 1 | 1080 | 3 | 1078 | 5 | 1076 | ... |
当前行序号 | 1 | 2 | 3 | 4 | 5 | 6 | ... |
即依次选取视差图中的第1行、第1080行、第3行、第1078行…以此类推,按照先上后下、先奇后偶的顺序,重新组成目标视差图。通过这样交替排列重组成目标视差图的方式,不仅能够充分利用视差图中的有效数据,避免重复运算,而且利用两端的数据去拟合地面所在的平面,也能够保证选用数据较少的情况下,拟合出较为准确的拟合地面。
在任一张视差图中,其均包含一定量的视差空洞,即视差值为0的视差点,因此,本申请实施例将视差图中有视差值的视差点记作有效视差点,其对应的视差值记作有效视差值。而为了保证能够获得较为准确的地面所在平面,应保证视差图足够清晰,即每一行包含一定数量且分布足够集中的有效视差点,因此,引入直方图的概念。
基于目标视差图中每一行有效视差点的视差值做直方图,记作第二直方图,统计得出各个视差值出现的次数,因此,如果当第一直方图呈现类似与高斯分布的效果时,则表明当前视差行对应的图像行像素基本处于同一水平面。
本申请实施例中,选取第二直方图中位数的±10%作为预设范围,计算该范围内有效视差点在第二直方图中的占比,当该占比大于或等设定的三预设比例时,如50%,则认为该行视差图足够清晰,且大部分视差数据取值基本相等,即当前视差行对应的图像行像素基本处于同一水平面,可以用于计算拟合地面,并将行有效值计数加一;否则,则认为其不清晰,需要舍弃,重新执行步骤43,选取下一行目标视差图中的有效视差点。
同样的,为了保证拟合地面平面所用视差图足够清晰,提高拟合地面的准确性,还需要在“行维度”上对视差图的有效性进行判断,因此,行有效值计数,统计在上述目标视差图中选取出的足够清晰的视差行的个数。
需要说明的是,目标视差图中每一行足够清晰的视差行均对应于一个基于该行中有效视差点通过求均值的方式计算出的行最佳视差值。
因此,当判定行有效值计数的取值大于或等于第一行数阈值(如200行)时,则认为当前已经获取到了足够清晰的视差行,且获取到的视差行分布于原视差图的上下两端,再基于之前计算出的行最佳视差值,通过拟合方式计算拟合地面。
如果行有效值计数的取值小于第一行数阈值,则重新执行步骤43,选取下一行目标视差图中的有效视差点。如果将目标视差图中的全部行视差均计算完毕,行有效值计数的取值仍然达不到第一行数阈值,则将该目标视差图及对应的原始的视差图丢弃即可,重新获取采样图像。
需要说明的是,即使出现丢弃视差图的情况,其占用的算力与对整张原始的视差图进行地面拟合计算的算力基本相当。
在一些实施例中,考虑到真实场景中会存在坡面(上坡、下坡)的情形,当机器人位于坡面附近时,特别是对于视野范围较大的双目相机而言,如果直接进行地面拟合,将会强行拟合出一个斜面,此时如果双目相机进行自校正,将出现误校正的现象,因此,在上述从视差图的上下两端按行数的奇偶性进行快速地面拟合的基础上,该方法还包括:
当判定第一类行视差对应的有效视差点行的行数以及第二类行视差对应的有效视差点行的行数均大于或等于第二行数阈值时,其中,第二行数阈值小于第一行数阈值,如其取值可以为第一行数阈值的10%-40%;
分别基于第一类行视差对应的有效视差点行的行最佳视差值以及第二类行视差对应的有效视差点行的行最佳视差值,通过拟合方式,计算第一拟合平面和第二拟合平面;
计算第一拟合平面与第二拟合平面之间的平面夹角;
判断平面夹角是否大于或等于夹角阈值,其中,夹角阈值的大小可以根据实际需要人为设定;
若是,舍弃当前的数据,重新执行步骤1,获取采样图像;若否,执行步骤45。
如图4所示,通过视差图上下两部分单独进行地面拟合,如果拟合出的地面存在一定的夹角且大于或等于设定的夹角阈值,则认为前方地面为非平面(如坡面),此时不基于当前的采样图像进行双目相机测距校正,舍弃当前的数据,重新执行步骤1,获取采样图像,避免校正错误。
在一些实施例中,为了保证计算过程中数据的准确性,避免校正过程中发生振荡,本申请实施例选取双目相机的光心坐标作为计算当前状态下的高度与角度的基准,并引入均值计算的思想,上述步骤3中,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值,具体包括:
基于采样图像的分辨率,确定光心坐标;
基于光心坐标与拟合地面,计算双目相机距离地面的拟合高度;
当判定预设校正周期内多个拟合高度的取值波动小于或等于波动阈值时,计算拟合高度的高度平均值,并基于视差计算原理,计算高度平均值对应的视差补偿值,其中,预设校正周期为预设采样周期的多倍。
具体的,选取采样图像的中心位置,即分辨率的1/2,作为双目相机的光心坐标,以该光心坐标为基准,计算当前状态下双目相机距离地面的高度,记作拟合高度,具体计算过程不再赘述。
因此,对于每一个计算出的拟合高度,都可以计算出该拟合高度相对于初始高度H0之间的差值,以该差值与初始高度H0的比值(波动)作为判断机器人(双目相机)是否处于颠簸状态。
本领域技术人员能够理解的是,在设定双目相机100在机器人200上的位置相对固定的基础上,即使双目相机发生畸变,双目相机的测距精度也不会发生剧烈的变化。所以,当双目相机需要进行校正时,其测距取值一定是在某一范围内变化,因此,当双目相机的测距取值变化较大时,可推定双目相机的安装载体一定处于颠簸状态。
当判定双目相机需要进行校正时,基于预设校正周期,将采集到多张采样图像,每一张采样图像均可计算出对应的拟合高度,当判定预设校正周期内多个拟合高度的取值波动小于或等于波动阈值时,则表明该双目相机发生了畸变,需要进行校正。
此时,将多个拟合高度的高度平均值作为依据,基于视差计算原理,计算高度平均值对应的视差补偿值,将高度平均值修正至初始状态。
需要说明的是,预设采样周期内可以包括多个预设校正周期,两者的时间间隔可以根据实际需要进行人为设定。例如,设定预设采样周期为1个小时,设定预设校正周期为5分钟。
在一些实施例中,双目相机被安装在移动平台上,方法还包括:当判定采样图像中的场景为静态时,停止获取采样图像,以避免在计算拟合高度的高度平均值时,静态场景下的数据占比较大,影响最终的视差补偿结果。
如图5所示,本实施例提供了一种双目相机测距自校正***500,该***500包括:
采样单元501,采样单元501被配置为基于预设采样周期,获取双目相机当前采样时刻的采样图像;计算单元502,计算单元502被配置为基于采样图像,计算双目相机的状态值,其中,状态值包括双目相机距离地面的高度;视差补偿单元503,视差补偿单元503被配置为判断状态值是否满足校正条件,若是,基于采样图像中对应的拟合地面,计算双目相机的视差补偿值,若否,由采样单元501重新获取采样图像;其中,校正条件为状态值与初始状态值之间的相对差值(差值绝对值)大于状态阈值。
具体的,以双目相机100被安装在机器人200上为例,设定双目相机100在机器人200上的位置相对固定,如图2所示,双目相机100的视场角101可以观察到地面300,选取双目相机视场角101的中心区域作为ROI感兴趣区域102。
设定双目相机100安装在机器人200且被标定后的状态为初始状态,此时双目相机100能够准确的实现测距,基于双目相机采集到的地面图像,可以计算出初始状态下双目相机距离地面的高度,记作初始高度H0。
为了更直观且便于理解双目相机校正的依据,本申请实施例选取上述初始高度H0作为双目相机测距精度的初始状态值,即校正指标,若判定当前状态下,双目相机的状态值(双目相机距离地面的高度)与初始状态值之间的相对差值(差值绝对值)大于状态阈值,则表明双目相机发生了畸变,需要对双目相机进行测距校正,将双目相机校正至初始状态或者校正至测距误差允许的范围内,以保证双目相机的测距精度。其中,双目相机的状态值可以包括双目相机距离地面(拟合地面)的高度,相应的,状态阈值为高度阈值,其大小可以根据实际情况人为设定。
需要说明的是,双目相机的状态值还可以包括双目相机光轴与地面(拟合地面)之间的夹角,相应的,状态阈值还可以包括角度阈值。
在本申请实施例中,设定双目相机中的右相机为参考相机,以该相机的坐标系作为世界坐标系,如图3所示,双目相机100所在平面为平面XOY,为已知平面。
现以双目相机距离地面的高度作为状态值为例进行说明。
在双目相机100获取到包含有地面的采样图像及对应的视差图时,可以进行地面拟合,得到拟合地面,结合双目相机100所在平面,即平面XOY,可以计算出拟合地面与双目相机所在平面之间的夹角(第一夹角),该夹角(第一夹角)为双目相机光轴与地面之间夹角(第二夹角)的补角,通过视差原理以及三角函数关系,即可计算出当前状态下双目相机的高度(状态值)。
因此,若当前状态下双目相机距离地面的高度H1与初始状态下双目相机的高度H0之间的相对差值△H大于高度阈值(状态阈值)时,则需要对双目相机校正。
在校正过程中,可以通过视差补偿的方式,将计算出的当前状态下的双目相机距离地面的高度H1校正至初始状态或者校正至误差允许的范围内,校正过程中涉及到的计算公式包括:
α1=90°-β
式中,Z1为距离测量值,D为视差值,B为双目相机的镜头基线长度,F为双目相机的焦距,△D为视差补偿值,H1为当前状态下双目相机距离地面的高度,β为当前状态下双目相机所在平面与拟合地面之间夹角(第一夹角),α1为当前状态下双目相机所在平面与拟合地面之间夹角(第一夹角)的补角(第二夹角),α0为初始状态下双目相机所在平面与拟合地面之间夹角的补角。
因此,本申请实施例中的自校正方案,无需在特定的场合、利用特定的标靶对安装在机器人200上的双目相机100进行自校正,更无需将双目相机拆卸下来返厂,实现了以实际的自然工作场景中物理量作为校正参考依据,对双目相机进行测距自校正,降低了双目相机自校正的操作难度。
需要说明的是,当判定计算出的相对差值大于状态阈值一定比例时,则表明数据异常,应舍弃。
本申请实施例又提供了一种计算机可读存储介质,该可读存储介质中存储有计算机程序,当被存储的计算机程序被处理器执行时,实现上述任一实施例中的方法步骤。
具体的,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的方法步骤。
至此,已经详细描述了本申请的各实施例。为了避免遮蔽本申请的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本申请的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本申请的范围。
本申请中的步骤可根据实际需求进行顺序调整、合并和删减。
尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
Claims (7)
1.一种双目相机测距自校正方法,其特征在于,所述方法包括:
步骤1:基于预设采样周期,获取双目相机当前采样时刻的采样图像;
步骤2:基于所述采样图像,计算所述双目相机的状态值,其中,所述状态值包括所述双目相机距离地面的高度;
步骤3:判断所述状态值是否满足校正条件,若是,基于所述采样图像中对应的拟合地面,计算所述双目相机的视差补偿值,若否,重新执行所述步骤1;
其中,所述校正条件为所述状态值与初始状态值之间的相对差值大于状态阈值;
所述方法还包括:
基于所述采样图像,确定所述拟合地面,其中,所述确定所述拟合地面,具体包括:
基于所述采样图像,获取所述双目相机的视差图;
逐行选取所述视差图中的有效视差点,并基于选取的各行有效视差点生成第一直方图;
当判定预设范围内的有效视差点在所述第一直方图中的占比大于或等于第一预设比例时,基于所述有效视差点,通过求均值的方式,计算行最佳视差值,其中,所述预设范围由所述第一直方图的中位数确定;
基于计算出的各行所述行最佳视差值,通过拟合方式,计算所述拟合地面。
2.如权利要求1所述的双目相机测距自校正方法,其特征在于,所述步骤3中,所述基于所述采样图像中对应的拟合地面,计算所述双目相机的视差补偿值,具体包括:
基于所述采样图像的分辨率,确定光心坐标;
基于所述光心坐标与所述拟合地面,计算拟合高度;
当判定预设校正周期内多个所述拟合高度的取值波动小于或等于波动阈值时,计算所述拟合高度的高度平均值,并基于视差计算原理,计算所述高度平均值对应的所述视差补偿值。
3.如权利要求1所述的双目相机测距自校正方法,其特征在于,所述通过求均值的方式,计算行最佳视差值之前,还包括:
删除所述预设范围之外的有效视差点,并基于剩余有效视差点,通过求均值的方式,计算所述行最佳视差值。
4.如权利要求1所述的双目相机测距自校正方法,其特征在于,所述计算所述拟合地面之前,还包括:
判断所述行最佳视差值的个数与所述视差图行数的比值是否大于或等于第二预设比例,若是,计算所述拟合地面,
若否,重新基于所述预设采样周期,获取所述采样图像。
5.如权利要求1所述的双目相机测距自校正方法,其特征在于,所述双目相机被安装在移动平台上,所述方法还包括:
当判定所述采样图像中的场景为静态时,停止获取所述采样图像。
6.一种双目相机测距自校正***,其特征在于,所述***包括:
采样单元,所述采样单元被配置为基于预设采样周期,获取双目相机当前采样时刻的采样图像;
计算单元,所述计算单元被配置为基于所述采样图像,计算所述双目相机的状态值,其中,所述状态值包括所述双目相机距离地面的高度;
视差补偿单元,所述视差补偿单元被配置为判断所述状态值是否满足校正条件,若是,基于所述采样图像中对应的拟合地面,计算所述双目相机的视差补偿值;
其中,所述校正条件为所述状态值与初始状态值之间的相对差值大于状态阈值;
其中,确定所述拟合地面,具体包括:
基于所述采样图像,获取所述双目相机的视差图;
逐行选取所述视差图中的有效视差点,并基于选取的各行有效视差点生成第一直方图;
当判定预设范围内的有效视差点在所述第一直方图中的占比大于或等于第一预设比例时,基于所述有效视差点,通过求均值的方式,计算行最佳视差值,其中,所述预设范围由所述第一直方图的中位数确定;
基于计算出的各行所述行最佳视差值,通过拟合方式,计算所述拟合地面。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至5中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410184528.2A CN118010067A (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法及*** |
CN202410020632.8A CN117516594B (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410020632.8A CN117516594B (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法、***及存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410184528.2A Division CN118010067A (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117516594A CN117516594A (zh) | 2024-02-06 |
CN117516594B true CN117516594B (zh) | 2024-03-22 |
Family
ID=89742443
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410020632.8A Active CN117516594B (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法、***及存储介质 |
CN202410184528.2A Pending CN118010067A (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法及*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410184528.2A Pending CN118010067A (zh) | 2024-01-08 | 2024-01-08 | 一种双目相机测距自校正方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117516594B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862234A (zh) * | 2020-07-22 | 2020-10-30 | 中国科学院上海微***与信息技术研究所 | 双目相机自标定方法及*** |
CN112330754A (zh) * | 2020-11-25 | 2021-02-05 | 上海欧菲智能车联科技有限公司 | 双目视觉校正方法及装置、电子设备、存储介质 |
CN113554714A (zh) * | 2021-07-22 | 2021-10-26 | 元橡科技(苏州)有限公司 | 车载双目立体相机自校正方法及其***、fpga芯片 |
WO2022037633A1 (zh) * | 2020-08-19 | 2022-02-24 | 展讯通信(上海)有限公司 | 双目摄像头的标定及图像矫正方法、装置、存储介质、终端、智能设备 |
CN116996657A (zh) * | 2023-08-11 | 2023-11-03 | 元橡科技(苏州)有限公司 | 一种适用于割草机器人的双目相机视差校正方法 |
CN117061719A (zh) * | 2023-08-11 | 2023-11-14 | 元橡科技(北京)有限公司 | 一种车载双目相机视差校正方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615652B (zh) * | 2018-10-23 | 2020-10-27 | 西安交通大学 | 一种深度信息获取方法及装置 |
-
2024
- 2024-01-08 CN CN202410020632.8A patent/CN117516594B/zh active Active
- 2024-01-08 CN CN202410184528.2A patent/CN118010067A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862234A (zh) * | 2020-07-22 | 2020-10-30 | 中国科学院上海微***与信息技术研究所 | 双目相机自标定方法及*** |
WO2022037633A1 (zh) * | 2020-08-19 | 2022-02-24 | 展讯通信(上海)有限公司 | 双目摄像头的标定及图像矫正方法、装置、存储介质、终端、智能设备 |
CN112330754A (zh) * | 2020-11-25 | 2021-02-05 | 上海欧菲智能车联科技有限公司 | 双目视觉校正方法及装置、电子设备、存储介质 |
CN113554714A (zh) * | 2021-07-22 | 2021-10-26 | 元橡科技(苏州)有限公司 | 车载双目立体相机自校正方法及其***、fpga芯片 |
CN116996657A (zh) * | 2023-08-11 | 2023-11-03 | 元橡科技(苏州)有限公司 | 一种适用于割草机器人的双目相机视差校正方法 |
CN117061719A (zh) * | 2023-08-11 | 2023-11-14 | 元橡科技(北京)有限公司 | 一种车载双目相机视差校正方法 |
Non-Patent Citations (1)
Title |
---|
面阵CCD航空相机斜视图像的几何校正;周前飞;刘晶红;居波;李刚;;液晶与显示;20150615(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117516594A (zh) | 2024-02-06 |
CN118010067A (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163918B (zh) | 一种基于射影几何的线结构光标定方法 | |
CN112082512B (zh) | 一种相位测量偏折术的标定优化方法、装置及计算机设备 | |
CN112070845A (zh) | 双目相机的标定方法、装置及终端设备 | |
CN110349257B (zh) | 一种基于相位伪映射的双目测量缺失点云插补方法 | |
CN112381847B (zh) | 管路端头空间位姿测量方法及*** | |
CN110763306B (zh) | 一种基于单目视觉的液位测量***及方法 | |
CN112422960B (zh) | 摄像头模组的偏移估算方法及装置、存储介质、终端 | |
CN109709597B (zh) | 平板探测器的增益校正方法 | |
CN113963038A (zh) | 车厢点云校准方法及装置 | |
CN103124334A (zh) | 一种镜头畸变校正的方法 | |
CN117516594B (zh) | 一种双目相机测距自校正方法、***及存储介质 | |
CN111649669A (zh) | 一种无标定的线结构光视觉传感器坐标测量方法及*** | |
CN111353963A (zh) | 一种深度相机的温度补偿方法及装置 | |
CN116563292A (zh) | 测量方法、检测设备、检测***及存储介质 | |
CN111462216A (zh) | 一种圆形阵列标定板中圆心像素坐标确定方法 | |
CN112529792B (zh) | 一种免畸变模型的相机畸变校正方法 | |
CN114792342A (zh) | 一种线结构光标定方法、装置、设备、存储介质 | |
US20210385425A1 (en) | Method and device for calibrating binocular camera | |
CN111839580B (zh) | 牙片影像生成方法、装置、电子设备和存储介质 | |
CN114705266A (zh) | 油箱油量检测方法、装置、油箱、T-box及车辆 | |
Wu et al. | Nonmetric calibration of camera lens distortion using concentric circles pattern | |
KR20080034720A (ko) | Dlt 알고리즘을 이용한 영상왜곡 보정방법 | |
CN114739321B (zh) | 一种用于光栅精密测量的结构光条纹校正方法 | |
US20170124688A1 (en) | Image processor, image processing method, and measuring apparatus | |
CN114111639B (zh) | 一种面结构光三维测量***的校正方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |