法律状态公告日
法律状态信息
法律状态
2018-07-20
授权
授权
2016-04-13
实质审查的生效 IPC(主分类):G01B11/25 申请日:20151027
实质审查的生效
2016-03-16
公开
公开
技术领域
本发明涉及基于相位移方法的结构光视觉测量中相位误差补偿技术,尤其涉及一种大视 场情况下,自适应分区域Gamma预校正的相位误差补偿方法,属于机器视觉技术领域。
背景技术
基于相位移技术的结构光视觉测量方法,包括单目结构光视觉测量方法与双目结构光视 觉测量方法。无论采用何种方法来获取被测物体的三维数据,都需要对相位进行提取,而相 位提取的精度直接影响到系统的最终测量精度。而测量系统中,相机和投影仪的Gamma非 线性畸变是影响高精度相位提取的主要因素之一。Gamma非线性畸变会导致投影仪投射出 的以及相机拍摄到的光栅条纹正弦性降低,造成相位计算存在误差。如何降低或消除Gamma 非线性畸变带来的相位计算误差是本发明所关注的问题。
相位误差补偿的方法主要有:基于误差查找表(Look-uptable,LUT)的方法与Gamma 预校正的误差补偿方法。前者计算量大,受其他条件影响较大,一般采用采用Gamma预校 正的误差补偿方法。然而,根据作者查阅的文献表明,目前提出的预校正方法中都只考虑采 用单一Gamma值进行预校正,这与实际的测量情况不相符合,尤其是在大视场测量设备中, 即测量范围较大时,整个测量视场范围内Gamma值并不唯一。因此,采用单一Gamma值 进行预校正必将存在残余误差。张旭和朱利民在学术期刊《光学学报》2012,32(4),0412006-1 至0412006-8发表的学术论文“Gamma畸变的相位误差模型与Gamma标定技术”研究了单一 Gamma值的预校正方法,根据研究结果补偿后的相位误差最大值是0.1157,标准差是0.0409。
综上所述,单一Gamma值预校正的误差补偿方法具有操作简单、计算量小的优势,在 小视场测量范围中,Gamma值均匀分布下可以获得较高的相位提取精度,但对于大视场情 况下,Gamma值差异较大时,相位提取精度仍然有待提高。
发明内容
发明的目的在于克服现有技术之不足,提供一种大视场结构光视觉测量中分区域 Gamma预校正相位误差补偿方法,以解决大视场情况下高精度相位提取的问题。
本发明解决其技术问题所采用的技术方案是:提供一种大视场结构光视觉测量中分区域 Gamma预校正相位误差补偿方法,包括:首先统计出整个测量视场范围内Gamma值的分布 情况,并根据要求的测量精度,设置允许的Gamma值变化阈值对测量区域进行自动划分, 划分后采用不同的Gamma值对各区域进行预校正。
优选的,包括如下步骤:
A1、计算机生成一组理想的灰度图像,灰度的变化范围[80,230],任意两幅相邻的灰度 图像灰度值相差5阶,投影后通过相机采集该灰度图像,并分别提取出每幅灰度图像中每个 像素位置的灰度值;
A2、采用最小二乘拟合法分别拟合图像上每个像素位置的Gamma值,构建Gamma值矩阵;
A3、采用自适应区域划分法对Gamma值矩阵进行自适应区域划分,使每个划分出的区域 内的任意两个位置的Gamma值之差小于或等于给定的阈值;
A4、将各区域内的Gamma均值的倒数作为该区域对应的预编码值,从而采用多个预编码 Gamma值对理想图像进行预校正,生成四步相移正弦光栅图像,计算获得精确相位值。
优选的,所述的A2中确定每个像素位置Gamma值的最小二乘拟合法的步骤为:
B1、对相机采集到的每幅灰度图像中具有相同像素位置的灰度值,按照投影图像的顺序 依次排列Ii(x,y),i∈[0,30],按照下式k∈[0,30]计算出每个像素位置 对应的一系列归一化的对数值;
B2、对每幅计算机生成的理想的灰度图像中具有相同像素位置的灰度值,按照投影图像 的顺序依次排列i∈[0,30],按照式k∈[0,30]计算出每个 像素位置对应的一系列归一化的对数值;
B3、按照下式
优选的,所述的A3中用于划分区域的自适应分区域法的步骤为:
C1、调整硬件设备,使得投影中心在测量视场中心附近,并在投影中心附近搜索出 Gamma矩阵的最小值γmin,以该最小值的位置作为区域划分中心,并根据要求的测量精度 确定出Gamma值的最大变化量ΔG;
C2、在中心位置,以增量Δr为半径建立一个面积为Sarea1=π·r12,r1=p·Δr, p=1,2,…,i,…n的区域,计算落在区域Sarea1中Gamma值的均值γ1,同时判断γ1是否小于 γmin+ΔG,如果γ1小于γmin+ΔG,则p递增1扩大半径r1的值,重新建立区域Sarea1和计算 区域Sarea1中的Gamma值的均值1,p不断递增直到满足γ1大于γmin+ΔG条件时,停止递增, 此时p=i,建立第一个划分区域Sarea1=π·r12,此时r1=pΔr,计算区域Sarea1中的 Gamma值的均值,记为γ1,划分出第一个区域Sarea1;
C3、在半径r1的基础上增加Δr,计算落在区域Sarea2=π·(r22-r12),r2=r1+Δr内的Gamma 值的均值2,判断2是否小于γ1+ΔG,如果如果2小于γ1+ΔG,则半径继续以增量为Δr增 加,同时继续判断落在区域Sarea2内的Gamma值的均值γ2,直到γ2大于γ1+ΔG,停止递增, 建立第二个划分区域Sarea2,以此类推,可以建立所有满足要求的区域,完成区域自动划分。
优选的,所述的步骤4中采用多个Gamma预编码对理想图像进行校正的步骤为:
D1、判断像素点对应的区域,根据Gamma值矩阵按照下式
D2、采用投影仪投射经过Gamm值预校正的正弦光栅图像,并采用相机捕获投射出来 的正弦光栅图像,根据下式分别计算出每个像素点位置 的正确相位值,完成分区域Gamma预校正相位误差补偿。
本发明的有益效果是:
(1)能够根据实际测量情况,标定出符合现实测量要求的Gamma值;
(2)采用分区域多个不同Gamma值进行预校正相位误差补偿,通过控制每个区域Gamma 值的变化范围,保证整个测量范围内相位误差达到要求精度;
(3)该方法既可达到Gamma预校正方法的优点,又可采用不同Gamma值进行相位误差 补偿,提高相位提取的精度。
以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种大视场结构光视觉 测量中分区域Gamma预校正相位误差补偿方法不局限于实施例。
附图说明
图1是本发明的流程图;
图2是本发明采用最小二乘拟合计算出来的左相机的Gamma矩阵;
图3是本发明采用最小二乘拟合计算出来的右相机的Gamma矩阵;
图4是本发明采用自适应分区域划分左Gamma矩阵得出来的几个不同的Gamma预编码区;
图5是本发明采用自适应分区域划分右Gamma矩阵得出来的几个不同的Gamma预编码区;
图6是本发明采用自适应分区域预编码Gamma补偿后左一组光栅的相位误差;
图7是本发明采用自适应分区域预编码Gamma补偿后右一组光栅的相位误差;
图8是单一Gamma补偿相位误差的结果。
具体实施方式
实施例1
参见图1至图8所示,本发明的一种大视场结构光视觉测量中分区域Gamma预校正相位 误差补偿方法,包括:首先统计出整个测量视场范围内Gamma值的分布情况,并根据要求 的测量精度,设置允许的Gamma值变化阈值对测量区域进行自动划分,划分后采用不同的 Gamma值对各区域进行预校正。
优选的,包括如下步骤:
A1、计算机生成一组理想的灰度图像,灰度的变化范围[80,230],任意两幅相邻的灰度 图像灰度值相差5阶,投影后通过相机采集该灰度图像,并分别提取出每幅灰度图像中每个 像素位置的灰度值;
A2、采用最小二乘拟合法分别拟合图像上每个像素位置的Gamma值,构建Gamma值矩阵;
A3、采用自适应区域划分法对Gamma值矩阵进行自适应区域划分,使每个划分出的区域 内的任意两个位置的Gamma值之差小于或等于给定的阈值;
A4、将各区域内的Gamma均值的倒数作为该区域对应的预编码值,从而采用多个预编码 Gamma值对理想图像进行预校正,生成四步相移正弦光栅图像,计算获得精确相位值。
优选的,所述的A2中确定每个像素位置Gamma值的最小二乘拟合法的步骤为:
B1、对相机采集到的每幅灰度图像中具有相同像素位置的灰度值,按照投影图像的顺序 依次排列Ii(x,y),i∈[0,30],按照下式k∈[0,30]计算出每个像素位置 对应的一系列归一化的对数值;
B2、对每幅计算机生成的理想的灰度图像中具有相同像素位置的灰度值,按照投影图像 的顺序依次排列i∈[0,30],按照式k∈[0,30]计算出每个 像素位置对应的一系列归一化的对数值;
B3、按照下式
优选的,所述的A3中用于划分区域的自适应分区域法的步骤为:
C1、调整硬件设备,使得投影中心在测量视场中心附近,并在投影中心附近搜索出 Gamma矩阵的最小值γmin,以该最小值的位置作为区域划分中心,并根据要求的测量精度 确定出Gamma值的最大变化量ΔG;
C2、在中心位置,以增量Δr为半径建立一个面积为Sarea1=π·r12,r1=p·Δr, p=1,2,…,i,…n的区域,计算落在区域Sarea1中Gamma值的均值γ1,同时判断γ1是否小于 γmin+ΔG,如果γ1小于γmin+ΔG,则p递增1扩大半径r1的值,重新建立区域Sarea1和计算 区域Sarea1中的Gamma值的均值1,p不断递增直到满足γ1大于γmin+ΔG条件时,停止递增, 此时p=i,建立第一个划分区域Sarea1=π·r12,此时r1=pΔr,计算区域Sarea1中的 Gamma值的均值,记为γ1,划分出第一个区域Sarea1;
C3、在半径r1的基础上增加Δr,计算落在区域Sarea2=π·(r22-r12),r2=r1+Δr内的Gamma 值的均值2,判断2是否小于γ1+ΔG,如果如果2小于γ1+ΔG,则半径继续以增量为Δr增 加,同时继续判断落在区域Sarea2内的Gamma值的均值γ2,直到γ2大于γ1+ΔG,停止递增, 建立第二个划分区域Sarea2,以此类推,可以建立所有满足要求的区域,完成区域自动划分。
优选的,所述的步骤4中采用多个Gamma预编码对理想图像进行校正的步骤为:
D1、判断像素点对应的区域,根据Gamma值矩阵按照下式
D2、采用投影仪投射经过Gamm值预校正的正弦光栅图像,并采用相机捕获投射出来 的正弦光栅图像,根据下式分别计算出每个像素点位置 的正确相位值,完成分区域Gamma预校正相位误差补偿。
实施例2
以结构光双目视觉测量系统,采用四步相移法进行测量为例。整体过程流程图如图1 所示,具体步骤如下:
步骤1、计算机生成一组理想的灰度图像,灰度的变化范围[80,230],任意两幅相邻的 灰度图像灰度值相差5阶,投影后通过左右相机采集该灰度图像,并分别提取出每幅灰度图 像中每个像素位置的灰度值;
步骤2、采用最小二乘拟合法分别拟合每个像素的灰度输入输出响应曲线,确定左右图 像上每个像素位置的Gamma值,投影仪和相机的分辨率皆为:1600×1200像素。与相机和 投影仪的分辨率一致,分别构建两个Gamma值矩阵,矩阵的行数是1200,矩阵的列数是 1600;
所述的确定每个像素位置Gamma值的最小二乘拟合法为:
(1)对左右相机采集到的每幅灰度图像中具有相同像素位置的灰度值,按照投影图像的 顺序依次排列Ii(x,y),i∈[0,30],按照下式k∈[0,30]计算出每个像素 位置对应的一系列归一化的对数值;
(2)对每幅计算机生成的理想的灰度图像中具有相同像素位置的灰度值,按照投影图像 的顺序依次排列i∈[0,30],按照下式k∈[0,30]计算出每 个像素位置对应的一系列归一化的对数值;
(3)按照下式
步骤3、采用自适应区域划分法分别对两个Gamma矩阵进行自适应区域划分,
所述的用于划分区域的自适应分区域法为:
(1)调整硬件设备,使得投影中心在测量视场中心附近,并在投影中心附近搜索出 Gamma矩阵的最小值min,以该最小值的位置作为区域划分中心,并根据要求的测量精度, 设置Gamma值的最大变化量ΔG=0.05;
(2)在中心位置,以增量Δr=50像素为半径建立一个面积为Sarea1=π·r12,r1=p·Δr, p=1,2,…,i,…n的区域,计算落在区域Sarea1中Gamma值的均值γ1,同时判断γ1是否小于 γmin+0.05,如果γ1小于γmin+0.05,则p递增1扩大半径r1的值,重新建立区域Sarea1,并计 算区域Sarea1中的Gamma值的均值γ1,p不断递增直到满足γ1大于γmin+0.05条件时,停止 递增,此时p=i,建立第一个划分区域Sarea1=π·r12,,r1=pΔr计算区域Sarea1中 的Gamma值的均值,记为γ1,划分出第一个区域Sarea1;
(3)在半径r1的基础上增加Δr,计算落在区域Sarea2=π·(r22-r12),r2=r1+Δr内的Gamma 值的均值γ2,判断γ2是否小于γ1+0.05,如果如果2小于γ1+0.05,则半径继续以增量为Δr 增加,同时继续判断落在区域Sarea2内的Gamma值的均值γ2,直到2大于γ1+0.05,停止递 增,建立第二个划分区域Sarea2,以此类推,直到rn大于停止划分区域。
步骤4、将左右两个Gamma矩阵中,各区域内的Gamma均值的倒数作为该区域对应的 预编码值,采用多个Gamma预编码对理想图像进行校正,从而完成相位误差补偿。
所述的采用多个Gamma预编码对理想图像进行校正为:
(1)判断像素点对应的区域,根据两个Gamma矩阵按照下式
(2)先用投影仪投影左Gamma矩阵生成的预编码光栅,采用左相机捕获投影出来 的光栅条纹再投影右Gamma矩阵生成的预编码光栅,采用右相机捕获投 影出来的光栅条纹用下式
具体实施例为,首先将计算机生成的灰度值从80到230,两两之间间隔5阶灰度的一 系列灰度图片;经过投影仪投射至一白色平面模板上,采用左右相机同时进行图像采集;利 用OpenCV提供的函数对图像上每个位置的像素点进行灰度值提取,然后根据公式 k∈[0,30]求取归一化后像素灰度值的对数值。计算机生成的图像同样 按照公式k∈[0,30]求取归一化后像素灰度值的对数值,然后将计算 的结果代入公式
然后采用本文提出的自适应分区域法对Gamma矩阵进行自适应划分,得到几个Gamma 畸变程度不同的区域,如图4和图5所示。
按照下式生成预编码光栅
将求得的相位值与计算机生成的四步相移图像解相得到的理想相位值相减,计算该方法 的相位误差,左相机的光栅的相位误差如图6所示,最大值是0.02873,标准差是0.00936; 右相机的光栅的相位误差如图7所示,最大值是0.02587,标准差是0.01064。
按照单一Gamma预编码法(张旭等人提出的方法)得到的相位误差如图8所示,最大 值是0.06978,标准差是0.03239
上述实施例仅用来进一步说明本发明的一种大视场结构光视觉测量中分区域Gamma预 校正相位误差补偿方法,但本发明并不局限于实施例,凡是依据本发明的技术实质对以上实 施例所作的任何简单修改、等同变化与修饰,均落入本发明技术方案的保护范围内。
机译: 磁共振,即核磁共振,一种用于临床应用的图像生成方法,涉及基于运动条件的测量相位校正数据,以将部分区域的位置保持在静止状态
机译: 用于补偿偏移,幅度和相位误差的正弦余弦位置测量系统的迭代误差补偿方法,以便可以确定几乎精确的校正值
机译: 用于补偿偏移,幅度和相位误差的正弦余弦位置测量系统的误差补偿方法,由此在单级过程中确定校正值