CN110673428B - 一种结构光补偿方法、装置及设备 - Google Patents
一种结构光补偿方法、装置及设备 Download PDFInfo
- Publication number
- CN110673428B CN110673428B CN201810718155.7A CN201810718155A CN110673428B CN 110673428 B CN110673428 B CN 110673428B CN 201810718155 A CN201810718155 A CN 201810718155A CN 110673428 B CN110673428 B CN 110673428B
- Authority
- CN
- China
- Prior art keywords
- structured light
- brightness value
- brightness
- determining
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 claims description 72
- 238000005457 optimization Methods 0.000 claims description 43
- 238000005315 distribution function Methods 0.000 claims description 30
- 238000005259 measurement Methods 0.000 claims description 27
- 238000005316 response function Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 15
- 230000001419 dependent effect Effects 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- FNMKZDDKPDBYJM-UHFFFAOYSA-N 3-(1,3-benzodioxol-5-yl)-7-(3-methylbut-2-enoxy)chromen-4-one Chemical compound C1=C2OCOC2=CC(C2=COC=3C(C2=O)=CC=C(C=3)OCC=C(C)C)=C1 FNMKZDDKPDBYJM-UHFFFAOYSA-N 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B21/00—Projectors or projection-type viewers; Accessories therefor
- G03B21/14—Details
- G03B21/20—Lamp housings
- G03B21/2053—Intensity control of illuminating light
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B9/00—Measuring instruments characterised by the use of optical techniques
- G01B9/08—Optical projection comparators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Projection Apparatus (AREA)
Abstract
本发明实施例提供了一种结构光补偿方法、装置及系统,方法包括:获取结构光亮度值的标定补偿数据;根据该标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值控制投影仪投射结构光;可见,本方案中对结构光进行补偿,补偿后的结构光亮度值与光栅图像亮度值之间的偏差较小。
Description
技术领域
本发明涉及三维测量技术领域,特别是涉及一种结构光补偿方法、装置及设备。
背景技术
利用结构光进行三维测量的方案一般包括:投影仪投射结构光,结构光照射到待测量物体上形成投影光栅,相机对该投影光栅进行采集,得到光栅图像;计算机根据该光栅图像,计算待测量物体的测量数据。
由于投影仪、环境光、待测量物体、投影距离、相机等因素的影响,投影仪投影的结构光亮度值与光栅图像亮度值之间存在偏差,进而导致测量数据不准确。
发明内容
本发明实施例的目的在于提供一种结构光补偿方法、装置及设备,以减少结构光亮度值与光栅图像亮度值之间的偏差。
本发明实施例提供了一种结构光补偿方法,包括:
获取结构光亮度值的标定补偿数据;
根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;
根据所确定的补偿值控制投影仪投射结构光。
可选的,所述获取结构光亮度值的标定补偿数据,包括:
控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;
获取每次投射的结构光对应的光栅图像;
根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
可选的,所述根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;
在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;
根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;
通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
可选的,所述确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系,包括:
构建实际亮度响应函数;其中,所述实际亮度响应函数的自变量为结构光亮度值,因变量为实际光栅图像亮度值;
所述根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系,包括:
根据所抽取的两组数据,计算线性方程中的斜率和截距;
根据所述斜率和截距,构建期望亮度分布函数方程;其中,所述期望亮度分布函数方程的自变量为结构光亮度值,因变量为期望光栅图像亮度值,所述期望亮度分布函数方程为线性方程;
所述通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据,包括:
将结构光亮度值的标定补偿数据作为未知量,并结合所述期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程;
利用优化算法,对所述非线性标定优化方程进行优化求解,得到所述标定补偿数据。
可选的,在所述获取每次投射的结构光对应的光栅图像之后,还包括:在所述光栅图像中确定有效区域;
所述根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
可选的,在所述光栅图像中确定有效区域之后,还包括:
利用预设方式,在每个有效区域中选择部分像素点,作为典型区域;所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式;
所述针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
针对所述光栅图像中的每个典型区域,根据该典型区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
可选的,在所述光栅图像中确定有效区域,包括:
在所获取的多张光栅图像中,选择两张待处理光栅图像;
计算所述两张待处理光栅图像之间的亮度差;
确定亮度差大于预设阈值的区域,作为有效区域。
可选的,所述方法还包括:
计算结构光的有效亮度范围;
所述确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系,包括:
确定所述有效亮度范围内的结构光亮度值与所述光栅图像中像素点亮度值之间的实际响应关系;
所述在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,包括:
在所述有效亮度范围内的结构光亮度值与对应的光栅图像中像素点亮度值中,抽取至少两组数据。
可选的,所述方法还包括:
计算结构光的有效亮度范围;
在所述根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值之前,还包括:
在所述有效亮度范围内,确定待投射的结构光亮度值。
可选的,所述计算结构光的有效亮度范围,包括:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光的有效亮度范围。
可选的,所述根据所确定的补偿值控制投影仪投射结构光,包括:
控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光;
或者,利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
可选的,所述控制投影仪多次投射单一亮度值的结构光,包括:
控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
本发明实施例还提供了一种结构光补偿装置,可以包括:
获取模块,用于获取结构光亮度值的标定补偿数据;
第一确定模块,用于根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;
控制模块,用于根据所确定的补偿值控制投影仪投射结构光。
可选的,所述获取模块,包括:
控制子模块,用于控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;
获取子模块,用于获取每次投射的结构光对应的光栅图像;
确定子模块,用于根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
可选的,所述确定子模块,包括:
第一确定单元,用于确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;
抽取单元,用于在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;
第二确定单元,用于根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;
第三确定单元,用于通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
可选的,所述第一确定单元,具体用于:构建实际亮度响应函数;其中,所述实际亮度响应函数的自变量为结构光亮度值,因变量为实际光栅图像亮度值;
所述第二确定单元,具体用于:根据所抽取的两组数据,计算线性方程中的斜率和截距;根据所述斜率和截距,构建期望亮度分布函数方程;其中,所述期望亮度分布函数方程的自变量为结构光亮度值,因变量为期望光栅图像亮度值,所述期望亮度分布函数方程为线性方程;
所述第三确定单元,具体用于:将结构光亮度值的标定补偿数据作为未知量,并结合所述期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程;利用优化算法,对所述非线性标定优化方程进行优化求解,得到所述标定补偿数据。
可选的,所述装置还包括:
第二确定模块,用于在所述光栅图像中确定有效区域;
所述确定子模块,具体用于:针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
可选的,所述装置还包括:
选择模块,用于利用预设方式,在每个有效区域中选择部分像素点,作为典型区域;所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式;
所述确定子模块,具体用于:针对所述光栅图像中的每个典型区域,根据该典型区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
可选的,所述第二确定模块,具体用于:
在所获取的多张光栅图像中,选择两张待处理光栅图像;
计算所述两张待处理光栅图像之间的亮度差;
确定亮度差大于预设阈值的区域,作为有效区域。
可选的,所述装置还包括:
计算模块,用于计算结构光的有效亮度范围;
所述第一确定单元,具体用于:确定所述有效亮度范围内的结构光亮度值与所述光栅图像中像素点亮度值之间的实际响应关系;
所述抽取单元,具体用于:在所述有效亮度范围内的结构光亮度值与对应的光栅图像中像素点亮度值中,抽取至少两组数据。
可选的,所述装置还包括:
计算模块,用于计算结构光的有效亮度范围;
第三确定模块,用于在所述第一确定模块根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值之前,在所述有效亮度范围内,确定待投射的结构光亮度值。
可选的,所述计算模块,具体用于:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光的有效亮度范围。
可选的,所述控制模块,具体用于:
控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光;
或者,利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
可选的,所述控制子模块,具体用于:
控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
本发明实施例还提供了一种电子设备,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种结构光补偿方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种结构光补偿方法。
本发明实施例还提供了一种结构光补偿设备,包括:投影仪、相机和计算机,其中,
所述计算机,用于获取结构光亮度值的标定补偿数据;根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值,控制所述投影仪投射结构光;
所述相机,用于采集所述所述投影仪所投射的结构光在待测量物体上形成的投影光栅,得到补偿后的光栅图像,并将所述补偿后的光栅图像发送至所述计算机;
所述计算机,还用于根据所述补偿后的光栅图像,得到所述待测量物体的测量数据。
本发明实施例中,获取结构光亮度值的标定补偿数据;根据该标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值控制投影仪投射结构光;可见,本方案中对结构光进行补偿,补偿后的结构光亮度值与光栅图像亮度值之间的偏差较小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的结构光补偿方法的第一种流程示意图;
图2为本发明实施例提供的一种结构光补偿设备的结构示意图;
图3为本发明实施例提供的一种光栅图像示意图;
图4为本发明实施例提供的结构光补偿方法的第二种流程示意图;
图5为本发明实施例提供的一种光栅亮度分布示意图;
图6为本发明实施例提供的一种结构光补偿方法的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种结构光补偿方法、装置、电子设备及结构光补偿设备,该方法及装置可以应用于投影仪,或者也可以应用于与投影仪相连接的计算机或者其他电子设备,具体不做限定。下面首先对本发明实施例提供的结构光补偿方法进行详细介绍。
图1为本发明实施例提供的结构光补偿方法的第一种流程示意图,包括:
S101:获取结构光亮度值的标定补偿数据。
举例来说,如图2所示,投影仪投射结构光,结构光照射到待测量物体上形成投影光栅;相机对该投影光栅进行采集,得到光栅图像。一种情况下,光栅图像可以如图3所示,图3中的光栅图像满足标准正弦分布,或者,光栅图像也可以满足余弦分布,具体不做限定。图2中,计算机获取该光栅图像,并根据该光栅图像,计算待测量物体的测量数据,一种情况下,该计算机可以作为本实施例的执行主体。或者,另一种情况下,该投影仪也可以作为本实施例的执行主体。
该标定补偿数据可以由执行本方案的设备(执行主体,以下简称本设备)来确定,也可以由本设备从其他设备中获取。举例来说,假设本设备为计算机,计算机可以确定该标定补偿数据。再举一例,本设备为投影仪,投影仪可以从计算机中获取该标定补偿数据,或者,投影仪也可以确定该标定补偿数据。
S101中的“结构光亮度值”即为投影仪投射的结构光的亮度值,亮度值的范围可以为0-255。
作为一种实施方式,S101可以包括:控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;获取每次投射的结构光对应的光栅图像;根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
举例来说,可以控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
比如,可以控制投影仪按照255-0的顺序进行256次投射,第一次投射的结构光亮度值为255,第二次投射的结构光亮度值为254,以此类推,第256次投射的结构光亮度值为0。或者,也可以按照0-255的顺序进行256次投射,第一次投射的结构光亮度值为0,第二次投射的结构光亮度值为1,以此类推,第256次投射的结构光亮度值为255。
或者,也可以不需要投射256次,比如,可以投射亮度值为10-245的结构光,投射间隔可以为5:第一次投射的结构光亮度值为10,第二次投射的结构光亮度值为15,以此类推,不再赘述。
每次投射结构光后,都采集一张光栅图像,这样,便得到了多张光栅图像,而且光栅图像与结构光亮度值之间存在对应关系。比如,上述例子中,按照255-0的顺序投射了256次,这样,便得到了256张光栅图像,第一张光栅图像对应的结构光亮度值为255,第256张光栅图像对应的结构光亮度值为0。
投影仪及待测量物体的位置均固定不变,因此,得到的256张光栅图像中的像素点位置也不变。假设每张图像中有1000个像素点,每个像素点情况类似,以左上角像素点为例进行说明:左上角像素点的亮度值可以为一个集合(亮度值集合),该集合中包括256个亮度值,这256个亮度值即为这256张光栅图像中左上角像素点的亮度值。这种情况下,可以确定这1000个像素点的亮度值集合与这256个亮度值之间的标定补偿数据。
具体来说,确定标定补偿数据可以包括:第一步、确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;第二步、在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;第三步、通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
第一步与第二步的执行顺序不做限定。
上述第一步可以包括:构建实际亮度响应函数;其中,所述实际亮度响应函数的自变量为结构光亮度值,因变量为实际光栅图像亮度值。
上述第二步中确定的线性响应关系可以为期望亮度分布函数方程。举例来说,期望亮度分布函数方程可以为:y=A*x+B,其中,y表示期望光栅图像亮度值,x表示结构光亮度值,A和B为线性参数,A表示该方程的斜率,B表示该方程的截距。
如上所述,每次投射结构光后,都采集一张光栅图像,这样,便得到了多张光栅图像,而且光栅图像与结构光亮度值之间存在对应关系;将一个结构光亮度值及对应的光栅图像中像素点亮度值作为一组数据。
可以理解,A和B可以根据任意两组结构光亮度值及对应的光栅图像亮度值求解得到。举例来说,可以在得到的多组数据中任意抽取两组数据,根据所抽取的两组数据计算A和B。或者,也可以根据亮度值最大的结构光及其对应的光栅图像亮度值、和亮度值最小的结构光及其对应的光栅图像亮度值,计算得到A和B。或者,也可以在得到的多组数据中抽取两组以上的数据,得到多组A和B,对这多组A和B求均值、或者中值等,具体不做限定。
上述第三步可以包括:将结构光亮度值的标定补偿数据作为未知量,并结合所述期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程;利用优化算法,对所述非线性标定优化方程进行优化求解,得到所述标定补偿数据。
非线性标定优化方程可以为:minLUT∑err=‖A·x+B-g(x+LUT)‖,其中,err表示实际光栅图像亮度值与期望光栅图像亮度值之间的差值,LUT表示结构光亮度值的标定补偿数据。具体的,LUT可以理解为非线性标定补偿值。
本实施方式中,采用非线性校正的方式,通过改变结构光的亮度值,使得实际光栅图像亮度值尽量接近(拟合)期望光栅图像亮度值,也就是使得校正后的实际光栅图像亮度值尽量符合线性分布,也就是使得最小;这样,使用g(x+LUT)代替g(x),使得err=‖A·x+B-g(x+LUT)‖最小。
假设光栅图像中有1000个像素点,非线性标定优化方程中可以理解为:求解在不同亮度的结构光的照射下,这1000个像素点的实际亮度值与期望亮度值之差最小时的LUT。可以利用优化算法求解LUT,例如,优化算法可以为整数规划等离散优化算法等,具体不做限定。
作为一种实施方式,在获取每次投射的结构光对应的光栅图像之后,还可以在光栅图像中确定有效区域;这样,便可以仅针对光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
本实施方式中,并不是光栅图像中所有像素点都参与优化求解,而是只有光栅图像中的有效区域中的像素点参与优化求解。如上所述,投影仪投射的结构光照射到待测量物体上形成投影光栅,相机对该投影光栅进行采集得到光栅图像;可以理解,光栅图像中可能存在投影光栅之外的区域,比如光栅图像中还可能包括部分待测量物体;对光栅图像中的非投影光栅区域像素点进行处理是没有必要的。本实施方式中,先识别出光栅图像中的有效区域,也就是投影光栅所在区域,仅对有效区域像素点进行处理,提高处理效率。
一种情况下,在光栅图像中确定有效区域,可以包括:在所获取的多张光栅图像中,选择两张待处理光栅图像;计算所述两张待处理光栅图像之间的亮度差;确定亮度差大于预设阈值的区域,作为有效区域。
延续上述例子,获取了256张光栅图像,可以在这些光栅图像中选择一张亮度值较高的光栅图像和一张亮度值较低的光栅图像。例如,可以选择亮度值最高的光栅图像和亮度值最低的光栅图像,具体选择方式不做限定。为了方便描述,将所选择的两张光栅图像称为待处理光栅图像,将亮度值较高的待处理光栅图像记为I1,将亮度值较低的待处理光栅图像记为I2。
如上所述,光栅图像中的像素点位置不变,因此I1与I2中的像素点一一对应。将I1与I2中对应的像素点称为像素点对,如果一对像素点对的亮度值之差大于预设阈值,则认为该像素点对属于有效区域。
可以理解,利用不同亮度值的结构光照射待测量物体时,投影光栅区域的亮度值差别较大,而由于非投影光栅区域只有环境光的照射,亮度值差别不大,因此,亮度值差别较大的像素点对属于有效区域。
如上所述,光栅图像中的像素点位置不变,因此,有效区域的位置也不变。在待处理光栅图像中确定出有效区域后,可以将其他光栅图像中相同的位置也确定为有效区域。可以将不同光栅图像中位置相同的有效区域认为是同一个有效区域。
作为一种实施方式,在光栅图像中确定有效区域之后,还可以利用预设方式,在每个有效区域中选择部分像素点,作为典型区域;这样,便针对所述光栅图像中的每个典型区域,根据该典型区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式。
举例来说,可以选择有效区域中的全部像素点都作为典型区域;或者,也可以以固定间距的方式,在有效区域中选择部分像素点作为典型区域;或者,也可以在有效区域中随机选择部分像素点作为典型区域;具体选择方式不做限定。
可以理解,投影仪、环境光、待测量物体、投影距离、相机等因素都可能影响投影光栅的亮度分布,因此,即使每次投射单一亮度值的结构光,光栅图像可能也不是单一亮度值;本实施方式中,选择典型区域来代表投影光栅的亮度分布。
一张光栅图像中的一个典型区域可以对应一个像素值,该像素值可以为典型区域中所有像素点的亮度均值,或者,也可以为典型区域中所有像素点亮度值的加权值,或者,也可以为典型区域中所有像素点的亮度中值,等等,具体不做限定。
如上所述,光栅图像中的像素点位置不变,有效区域的位置不变,因此,典型区域的位置也不变。将不同光栅图像中位置相同的典型区域认为是同一个典型区域。
本实施方式中,确定每个典型区域中的像素点亮度值与每次投射的结构光亮度值之间的标定补偿数据时,构建的期望亮度分布函数方程可以为:
yij=Aj·xi+Bj;
其中,i表示结构光的标识,比如,该标识可以为结构光的亮度值,这样,xi表示亮度值为i的结构光;j表示典型区域的标识,典型区域可以表示为Rj,也就是第j个典型区域;yij表示在亮度值为i的结构光的照射下、Rj的期望亮度值。
Aj和Bj为线性参数,Aj表示该方程的斜率,Bj表示该方程的截距,Aj和Bj根据任意两组结构光亮度值及对应的Rj的实际亮度值求解得到。
如上所述,每次投射结构光后,都采集一张光栅图像,这样,便得到了多张光栅图像,而且光栅图像与结构光亮度值之间存在对应关系;将一个结构光亮度值及对应的光栅图像中像素点亮度值作为一组数据,可以从得到的多组数据中抽取至少两组数据,根据所抽取的两组数据,计算Aj和Bj。
一种情况下,可以根据亮度值最大的结构光及对应的Rj的实际亮度值、和亮度值最小的结构光及对应的Rj的实际亮度值,计算得到Aj和Bj。另一种情况下,也可以在得到的多组数据中抽取两组以上的数据,得到多组Aj和Bj,对这多组Aj和Bj求均值、或者中值等,具体不做限定。
其中,i表示结构光的标识,比如,该标识可以为结构光的亮度值,这样,xi表示亮度值为i的结构光;j表示典型区域的标识,典型区域可以表示为Rj,也就是第j个典型区域;表示在亮度值为i的结构光的照射下、Rj的实际亮度值。
另外,本实施方式中,采用非线性校正的方式,通过改变结构光的亮度值,使得实际光栅图像亮度值尽量接近(拟合)期望光栅图像亮度值yij,也就是使得校正后的实际光栅图像亮度值尽量符合线性分布。这样,使用gj(xi+LUTi)代替gj(xi),使得errij=‖yij-gj(xi+LUTi)‖最小;其中,LUTi为亮度值为i的结构光xi的标定补偿数据。具体的,LUTi可以理解为非线性标定补偿值。所以非线性标定优化方程为:
s.t.xk<xl时xk+LUTk≤xl+LUTl
上式中,k和l表示i的任意两个取值。
可以通过优化算法计算出非线性标定补偿值{LUTi},i=0,...,255;例如,优化算法可以为整数规划等离散优化算法等,具体不做限定。
标定补偿数据(也就是非线性标定补偿值{LUTi})可以这样理解:理论上,结构光亮度值与光栅图像亮度值亮度分布情况一致,比如,结构光亮度值呈标准正弦分布时,光栅图像亮度值也呈标准正弦分布。但是,由于各种因素影响,实际上存在一些偏差,标定补偿数据也就是不同亮度值的结构光照射下对光栅图像的偏差进行补偿的数据集合。
S102:根据标定补偿数据,确定待投射的结构光亮度值对应的补偿值。
利用结构光进行三维测量时,投射的结构光通常满足预设分布条件。举例来说,这里的“待投射的结构光亮度值”也可以满足预设分布条件。预设分布条件可以为标准正弦分布、标准余弦分布等,具体不做限定。
如上所述,S101中得到了{LUTi},i=0,...,255,这样便可以对0-255范围内的结构光亮度值进行补偿,也就是对任意结构光亮度值都可以进行补偿。从{LUTi}中选择出待投射的结构光亮度值对应的补偿值。
S103:根据所确定的补偿值控制投影仪投射结构光。
一种情况下,可以控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光。
另一种情况下,可以利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
这两种方案都对投影仪投射的结构光进行了补偿,都可以减少结构光亮度值与光栅图像亮度值之间的偏差,利用补偿后的结构光对应的光栅图像进行测量,可以提高测量数据的准确性。
如上所述,利用结构光进行三维测量时,投射的结构光通常满足预设分布条件。本方案中,补偿后的结构光不再满足预设分布条件,但是补偿后的结构光对应的光栅图像满足预设分布条件,因此,得到的测量数据准确度较高。
作为一种实施方式,可以先计算结构光的有效亮度范围;这样,可以仅在该有效亮度范围内确定待投射的结构光亮度值。
另外,确定结构光亮度值的标定补偿数据时,可以仅确定该有效亮度范围内的结构光的标定补偿数据;也就是说,可以仅确定有效亮度范围内的结构光亮度值与光栅图像中像素点亮度值之间的线性响应关系及实际响应关系。计算斜率A和截距B时,也可以在有效亮度范围内的结构光亮度值与对应的光栅图像中像素点亮度值中,抽取至少两组数据。
如上所述,可以根据亮度值最大的结构光及其对应的光栅图像亮度值、和亮度值最小的结构光及其对应的光栅图像亮度值,计算得到期望亮度分布函数方程中的A和B。本实施方式中,可以根据有效亮度范围内的亮度值最大的结构光及其对应的光栅图像亮度值、和有效亮度范围内的亮度值最小的结构光及其对应的光栅图像亮度值,计算得到期望亮度分布函数方程中的A和B。
可以理解,投影仪投射结构光时,通常受到环境光的影响。比如,当结构光的亮度低于环境光亮度时,则结构光会被环境光覆盖,这样,得到的光栅图像偏差较大,测量不准确。另外,结构光太亮或太暗的情况超出了相机的有效感应范围,也会导致测量不准确。本实施方式中,计算结构光有效亮度范围;确定标定补偿数据时,不考虑该有效亮度范围外的结构光;投射结构光时,不投射该有效亮度范围外的结构光;因此,受环境光影响较小,而且不超出相机的有效感应范围,降低了光栅图像的偏差,提高了测量准确性。
一种情况下,计算结构光有效亮度范围,可以包括:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光有效亮度范围。
举例来说,可以先计算全局亮度显著性系数:
延续上述例子,假设依次投射0-255的结果,则结构光的最大亮度值为255、最小亮度值为0,则第一亮度差为255,假设亮度值为255的结构光对应的光栅图像亮度值为Imax,亮度值为0的结构光对应的光栅图像亮度值为Imin,则全局亮度显著性系数=(Imax-Imin)/255。
或者,也可以根据经验设定全局亮度显著性系数。
可以依次选择0-255的结构光亮度值,作为待比较结构光亮度值。待比较结构光亮度值对应的光栅图像亮度值变化情况也就是:△光栅图像亮度值/△待比较结构光亮度值。换句话说,假设以结构光亮度值为自变量x、光栅图像亮度值为因变量y,生成一条曲线(或者直线),则该变化情况即为待比较结构光亮度值处的斜率。
将待比较结构光亮度值记为Scur,Scur处的斜率记为η,η即为待比较亮度显著性系数,η可以为以下任意一种:
其中,Sdelta为预设亮度间隔,Slow=Scur-Sdelta,Shigh=Scur+Sdelta,将Scur对应的光栅图像亮度值记为Icur,将Slow对应的光栅图像亮度值记为Ilow,将Shigh对应的光栅图像亮度值记为Ihigh。
Sdelta可以为10,或者也可以为其他,具体不做限定。假设预设亮度间隔Sdelta为10,Scur从0开始依次递加;则第一次选择的Scur为0,Shigh为10;第二次选择的Scur为1,Shigh为11;第三次选择的Scur为2,Shigh为12……不再一一列举。下面以Scur为50、Shigh为60进行举例说明:
假设亮度值为50的结构光对应的光栅图像亮度值为I50,亮度值为60的结构光对应的光栅图像亮度值为I60,则Scur对应的待比较亮度显著性系数为:
将计算得到的η与上述全局亮度显著性系数进行比较,如果η大于全局亮度显著性系数,则Scur属于结构光有效亮度范围。类似的,对每次选择的待比较结构光亮度值都进行上述处理,便可以确定出结构光有效亮度范围。
比如,可以先从Scur=0开始,按照升序(Scur=1,Scur=2……)依次对每个亮度值进行上述处理,直至η小于全局亮度显著性系数时,将上一个Scur的值确定为结构光有效亮度范围的最小值;然后,从Scur=255开始,按照降序(Scur=254,Scur=253……)依次对每个亮度值进行上述处理,直至η小于全局亮度显著性系数时,将上一个Scur的值确定为结构光有效亮度范围的最大值;这样,便确定出了结构光有效亮度范围。
上述一种情况下,光栅图像中包括多个典型区域,如果各典型区域对应的结构光有效亮度范围不同,则可以综合考虑各典型区域对应的结构光有效亮度范围,确定最终的结构光有效亮度范围。比如,可以取各典型区域对应的结构光最小值的均值,取各典型区域对应的结构光最大值的均值,这两个均值构成最终的结构光有效亮度范围。或者,也可以取各典型区域对应的结构光最小值的中值,取各典型区域对应的结构光最大值的中值,这两个中值构成最终的结构光有效亮度范围。
应用本发明图1所示实施例,获取结构光亮度值的标定补偿数据;根据该标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值控制投影仪投射结构光;可见,本方案中对结构光进行补偿,补偿后的结构光亮度值与光栅图像亮度值之间的偏差较小。
图4为本发明实施例提供的结构光补偿方法的第二种流程示意图,包括:
S401:控制投影仪多次投射单一亮度值的结构光。其中,每次投射的结构光亮度值不同。
举例来说,可以控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
比如,可以控制投影仪按照255-0的顺序进行256次投射,第一次投射的结构光亮度值为255,第二次投射的结构光亮度值为254,以此类推,第256次投射的结构光亮度值为0。或者,也可以按照0-255的顺序进行256次投射,第一次投射的结构光亮度值为0,第二次投射的结构光亮度值为1,以此类推,第256次投射的结构光亮度值为255。
或者,也可以不需要投射256次,比如,可以投射亮度值为10-245的结构光,投射间隔可以为5:第一次投射的结构光亮度值为10,第二次投射的结构光亮度值为15,以此类推,不再赘述。
S402:获取每次投射的结构光对应的光栅图像。
每次投射结构光后,都采集一张光栅图像,这样,便得到了多张光栅图像,而且光栅图像与结构光亮度值之间存在对应关系。比如,上述例子中,按照255-0的顺序投射了256次,这样,便得到了256张光栅图像,第一张光栅图像对应的结构光亮度值为255,第256张光栅图像对应的结构光亮度值为0。
投影仪及待测量物体的位置均固定不变,因此,得到的256张光栅图像中的像素点位置也不变。假设每张图像中有1000个像素点,每个像素点情况类似,以左上角像素点为例进行说明:左上角像素点的亮度值可以为一个集合(亮度值集合),该集合中包括256个亮度值,这256个亮度值即为这256张光栅图像中左上角像素点的亮度值。
S403:在所获取的光栅图像中确定有效区域。
如上所述,投影仪投射的结构光照射到待测量物体上形成投影光栅,相机对该投影光栅进行采集得到光栅图像;可以理解,光栅图像中可能存在投影光栅之外的区域,比如光栅图像中还可能包括部分待测量物体;对光栅图像中的非投影光栅区域像素点进行处理是没有必要的。本实施方式中,先识别出光栅图像中的有效区域,也就是投影光栅所在区域,仅对有效区域像素点进行处理,提高处理效率。
作为一种实施方式,S403可以包括:在所获取的多张光栅图像中,选择两张待处理光栅图像;计算所述两张待处理光栅图像之间的亮度差;确定亮度差大于预设阈值的区域,作为有效区域。
延续上述例子,获取了256张光栅图像,可以在这些光栅图像中选择一张亮度值较高的光栅图像和一张亮度值较低的光栅图像。例如,可以选择亮度值最高的光栅图像和亮度值最低的光栅图像,具体选择方式不做限定。为了方便描述,将所选择的两张光栅图像称为待处理光栅图像,将亮度值较高的待处理光栅图像记为I1,将亮度值较低的待处理光栅图像记为I2。
如上所述,光栅图像中的像素点位置不变,因此I1与I2中的像素点一一对应。将I1与I2中对应的像素点称为像素点对,如果一对像素点对的亮度值之差大于预设阈值,则认为该像素点对属于有效区域。
可以理解,利用不同亮度值的结构光照射待测量物体时,投影光栅区域的亮度值差别较大,而由于非投影光栅区域只有环境光的照射,亮度值差别不大,因此,亮度值差别较大的像素点对属于有效区域。
如上所述,光栅图像中的像素点位置不变,因此,有效区域的位置也不变。在待处理光栅图像中确定出有效区域后,可以将其他光栅图像中相同的位置也确定为有效区域。可以将不同光栅图像中位置相同的有效区域认为是同一个有效区域。
S404:利用预设方式,在每个有效区域中选择部分像素点,作为典型区域。所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式。
举例来说,可以选择有效区域中的全部像素点都作为典型区域;或者,也可以以固定间距的方式,在有效区域中选择部分像素点作为典型区域;或者,也可以在有效区域中随机选择部分像素点作为典型区域;具体选择方式不做限定。
可以理解,投影仪、环境光、待测量物体、投影距离、相机等因素都可能影响投影光栅的亮度分布,因此,即使每次投射单一亮度值的结构光,投影光栅可能也不是单一亮度值;本实施方式中,选择典型区域来代表投影光栅的亮度分布。
一张光栅图像中的一个典型区域可以对应一个像素值,该像素值可以为典型区域中所有像素点的亮度均值,或者,也可以为典型区域中所有像素点亮度值的加权值,或者,也可以为典型区域中所有像素点的亮度中值,等等,具体不做限定。
如上所述,光栅图像中的像素点位置不变,有效区域的位置不变,因此,典型区域的位置也不变。将不同光栅图像中位置相同的典型区域认为是同一个典型区域。
S405:计算结构光有效亮度范围。
可以理解,投影仪投射结构光时,通常受到环境光的影响。比如,当结构光的亮度低于环境光亮度时,则结构光会被环境光覆盖,这样,得到的光栅图像偏差较大,测量不准确。另外,结构光太亮或太暗的情况超出了相机的有效感应范围,也会导致测量不准确。本实施方式中,计算结构光有效亮度范围;确定标定补偿数据时,不考虑该有效亮度范围外的结构光;投射结构光时,不投射该有效亮度范围外的结构光;因此,受环境光影响较小,而且不超出相机的有效感应范围,降低了光栅图像的偏差,提高了测量准确性。
一种情况下,计算结构光有效亮度范围,可以包括:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光有效亮度范围。
举例来说,可以先计算全局亮度显著性系数:
延续上述例子,假设依次投射0-255的结果,则结构光的最大亮度值为255、最小亮度值为0,则第一亮度差为255,假设亮度值为255的结构光对应的光栅图像亮度值为Imax,亮度值为0的结构光对应的光栅图像亮度值为Imin,则全局亮度显著性系数=(Imax-Imin)/255。
或者,也可以根据经验设定全局亮度显著性系数。
可以依次选择0-255的结构光亮度值,作为待比较结构光亮度值。待比较结构光亮度值对应的光栅图像亮度值变化情况也就是:△光栅图像亮度值/△待比较结构光亮度值。换句话说,假设以结构光亮度值为自变量x、光栅图像亮度值为因变量y,生成一条曲线(或者直线),则该变化情况即为待比较结构光亮度值处的斜率。
将待比较结构光亮度值记为Scur,Scur处的斜率记为η,η即为待比较亮度显著性系数,η可以为以下任意一种:
其中,Sdelta为预设亮度间隔,Slow=Scur-Sdelta,Shigh=Scur+Sdelta,将Scur对应的光栅图像亮度值记为Icur,将Slow对应的光栅图像亮度值记为Ilow,将Shigh对应的光栅图像亮度值记为Ihigh。
Sdelta可以为10,或者也可以为其他,具体不做限定。假设预设亮度间隔Sdelta为10,Scur从0开始依次递加;则第一次选择的Scur为0,Shigh为10;第二次选择的Scur为1,Shigh为11;第三次选择的Scur为2,Shigh为12……不再一一列举。下面以Scur为50(记为S50)、Shigh为60(记为S60)进行举例说明:
假设亮度值为50的结构光对应的光栅图像亮度值为I50,亮度值为60的结构光对应的光栅图像亮度值为I60,则Scur对应的待比较亮度显著性系数为:
将计算得到的η与上述全局亮度显著性系数进行比较,如果η大于全局亮度显著性系数,则Scur50属于结构光有效亮度范围。类似的,对每次选择的待比较结构光亮度值都进行上述处理,便可以确定出结构光有效亮度范围。
比如,可以先从Scur=0开始,按照升序(Scur=1,Scur=2……)依次对每个亮度值进行上述处理,直至η小于全局亮度显著性系数时,将上一个Scur的值确定为结构光有效亮度范围的最小值;然后,从Scur=255开始,按照降序(Scur=254,Scur=253……)依次对每个亮度值进行上述处理,直至η小于全局亮度显著性系数时,将上一个Scur的值确定为结构光有效亮度范围的最大值;这样,便确定出了结构光有效亮度范围。
如图5所示,图5中的I_max表示光栅图像的最大亮度值,I_min表示光栅图像的最小亮度值,V_max表示结构光有效亮度范围中的最大值,V_min表示结构光有效亮度范围中的最小值。如果光栅图像不存在非线性畸变,则光栅图像的亮度值与结构光的亮度值保持线性分布,即图5中虚线所示;由于非线性畸变的影响,实际场景中的光栅图像的亮度值与结构光的亮度值分布如图5中的实线所示。在I_min—V_min之间、I_max—V_max之间的Scur对应的待比较亮度显著性系数均小于等于η,在V_min—V_max之间的Scur对应的待比较亮度显著性系数均大于η,因此,V_min—V_max为结构光有效亮度范围。
如上所述,光栅图像中包括多个典型区域,而且每个典型区域可以对应一个像素值。因此,可以针对每个典型区域,确定结构光有效亮度范围。如果各典型区域对应的结构光有效亮度范围不同,则可以综合考虑各典型区域对应的结构光有效亮度范围,确定最终的结构光有效亮度范围。比如,可以取各典型区域对应的结构光最小值的均值,取各典型区域对应的结构光最大值的均值,这两个均值构成最终的结构光有效亮度范围。或者,也可以取各典型区域对应的结构光最小值的中值,取各典型区域对应的结构光最大值的中值,这两个中值构成最终的结构光有效亮度范围。
假设确定出最终的结构光有效亮度范围为50-255。
S406:针对光栅图像中的每个典型区域,根据有效亮度范围内的结构光亮度值及对应的该典型区域亮度值,构建该典型区域对应的期望亮度分布函数方程以及实际亮度响应函数;其中,所述期望亮度分布函数方程的自变量为结构光亮度值,因变量为典型区域期望亮度值;所述实际亮度响应函数的自变量为结构光亮度值,因变量为典型区域实际亮度值。
如上所述,可以综合考虑各典型区域对应的结构光有效亮度范围,确定最终的结构光有效亮度范围。这种情况下,如果某个典型区域对应的结构光有效亮度范围与该最终的结构光有效亮度范围重合度小于重合阈值,则可以剔除该典型区域,或者说,该典型区域不参与后续计算。
比如,确定最终的结构光有效亮度范围为50-255,某典型区域对应的结构光有效亮度范围为0-60,则重合度可以认为是10,假设重合阈值为50,则将该典型区域剔除。
具体的,构建的期望亮度分布函数方程可以为:
yij=Aj·xi+Bj;
其中,i表示结构光的标识,比如,该标识可以为结构光的亮度值,这样,xi表示亮度值为i的结构光;j表示典型区域的标识,典型区域可以表示为Rj,也就是第j个典型区域;yij表示在亮度值为i的结构光的照射下、Rj的期望亮度值。如上所述,确定出的结构光有效亮度范围为50-255,则i=50,51……255。
Aj和Bj为线性参数,Aj表示该方程的斜率,Bj表示该方程的截距,Aj和Bj根据有效亮度范围内的任意两组结构光亮度值及对应的Rj的实际亮度值求解得到。
如上所述,每次投射结构光后,都采集一张光栅图像,这样,便得到了多张光栅图像,而且光栅图像与结构光亮度值之间存在对应关系;将有效亮度范围内的每对结构光亮度值与对应的光栅图像中像素点亮度值作为一组数据,可以从得到的多组数据中抽取至少两组数据,根据所抽取的两组数据,计算Aj和Bj。
一种情况下,可以根据有效亮度范围内亮度值最大的结构光255及对应的Rj的实际亮度值、和有效亮度范围内亮度值最小的结构光50及对应的Rj的实际亮度值,计算得到Aj和Bj。另一种情况下,也可以在得到的多组数据中抽取两组以上的数据,得到多组Aj和Bj,对这多组Aj和Bj求均值、或者中值等,具体不做限定。
其中,i表示结构光的标识,比如,该标识可以为结构光的亮度值,这样,xi表示亮度值为i的结构光;j表示典型区域的标识,典型区域可以表示为Rj,也就是第j个典型区域;表示在亮度值为i的结构光的照射下、Rj的实际亮度值。如上所述,确定出的结构光有效亮度范围为50-255,则i=50,51……255。
S407:将结构光亮度值的标定补偿数据作为未知量,并结合期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程。
本实施例中,采用非线性校正的方式,通过改变结构光的亮度值,使得典型区域实际亮度值尽量接近(拟合)典型区域期望亮度值yij,也就是使得校正后的典型区域实际亮度值尽量符合线性分布。这样,使用gj(xi+LUTi)代替gj(xi),使得errij=‖yij-gj(xi+LUTi)‖最小;其中,LUTi为亮度值为i的结构光xi的标定补偿数据。具体的,LUTi可以理解为非线性标定补偿值。所以非线性标定优化方程为:
s.t.xk<xl时xk+LUTk≤xl+LUTl
上式中,k和l表示i的任意两个取值。
S408:利用优化算法,对非线性标定优化方程进行优化求解,得到标定补偿数据。
可以通过优化算法计算出非线性标定补偿值{LUTi},i=50,...,255;例如,优化算法可以为整数规划等离散优化算法等,具体不做限定。
标定补偿数据(也就是非线性标定补偿值{LUTi})可以这样理解:理论上,结构光亮度值与光栅图像亮度值亮度分布情况一致,比如,结构光亮度值呈标准正弦分布时,光栅图像亮度值也呈标准正弦分布。但是,由于各种因素影响,实际上存在一些偏差,标定补偿数据也就是不同亮度值的结构光照射下对光栅图像的偏差进行补偿的数据集合。
S409:在该有效亮度范围内确定待投射的结构光亮度值。
延续上述例子,假设结构光的有效亮度范围为50-255,则待投射的结构光亮度值在50-255的范围内。
利用结构光进行三维测量时,投射的结构光通常满足预设分布条件。举例来说,这里的“待投射的结构光亮度值”也可以满足预设分布条件。预设分布条件可以为标准正弦分布、标准余弦分布等,具体不做限定。
S410:根据标定补偿数据,确定待投射的结构光亮度值对应的补偿值。
如上所述,S408中得到了{LUTi},i=50,...,255,这样便可以对50-255范围内的结构光亮度值进行补偿,而且待投射的结构光亮度值也在50-255的范围内,因此,可以从{LUTi}中选择出待投射的结构光亮度值对应的补偿值。
S411:根据所确定的补偿值控制投影仪投射结构光。
一种情况下,可以控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光。
另一种情况下,可以利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
这两种方案都对投影仪投射的结构光进行了补偿,都可以减少结构光亮度值与光栅图像亮度值之间的偏差,利用补偿后的结构光对应的光栅图像进行测量,可以提高测量数据的准确性。
如上所述,利用结构光进行三维测量时,投射的结构光通常满足预设分布条件。本方案中,补偿后的结构光不再满足预设分布条件,但是补偿后的结构光对应的光栅图像满足预设分布条件,因此,得到的测量数据准确度较高。
应用本发明图4所示实施例,第一方面,对结构光进行补偿,补偿后的结构光亮度值与光栅图像亮度值之间的偏差较小。投影仪、环境光、待测量物体、投影距离、相机等各种因素都会影响光栅图像的亮度分布,而本方案对各种因素的影响都可以进行补偿。
第二方面,现有一些方案中,当结构光的亮度低于环境光亮度时,则结构光会被环境光覆盖,这样,得到的光栅图像偏差较大,测量不准确;另外,结构光太亮或太暗的情况超出了相机的有效感应范围,也会导致测量不准确;而本方案中,计算结构光有效亮度范围;确定标定补偿数据时,不考虑该有效亮度范围外的结构光;投射结构光时,不投射该有效亮度范围外的结构光;因此,受环境光影响较小,而且不超出相机的有效感应范围,降低了光栅图像的偏差,提高了测量准确性。
第三方面,现有一些方案中,利用相位法对光栅图像进行校正。具体的,利用相位公式计算图像中光栅的相位值,利用该相位值对图像中的光栅进行校正。但是,相位公式是通过标准正弦函数推导得到的,而上述光栅图像中的光栅亮度不符合标准正弦分布,因此,计算出来的相位值也是不准确的,根据校正后的光栅图像得到的测量数据仍然是不准确的。而本方案中,并不对光栅图像进行校正,而是对投射的结构光进行补偿,补偿后的结构光对应的光栅图像亮度值满足标准正弦分布(或者其他预设分布条件),根据补偿后的结构光对应的光栅图像得到的测量数据准确度高。
与上述方法实施例相对应,本发明实施例还提供一种结构光补偿装置,如图6所示,包括:
获取模块601,用于获取结构光亮度值的标定补偿数据;
第一确定模块602,用于根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;
控制模块603,用于根据所确定的补偿值控制投影仪投射结构光。
作为一种实施方式,获取模块601可以包括:控制子模块、获取子模块和确定子模块(图中未示出),其中,
控制子模块,用于控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;
获取子模块,用于获取每次投射的结构光对应的光栅图像;
确定子模块,用于根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
作为一种实施方式,所述确定子模块,包括:
第一确定单元,用于确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;
抽取单元,用于在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;
第二确定单元,用于根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;
第三确定单元,用于通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
作为一种实施方式,所述第一确定单元,具体用于:构建实际亮度响应函数;其中,所述实际亮度响应函数的自变量为结构光亮度值,因变量为实际光栅图像亮度值;
所述第二确定单元,具体用于:根据所抽取的两组数据,计算线性方程中的斜率和截距;根据所述斜率和截距,构建期望亮度分布函数方程;其中,所述期望亮度分布函数方程的自变量为结构光亮度值,因变量为期望光栅图像亮度值,所述期望亮度分布函数方程为线性方程;
所述第三确定单元,具体用于:将结构光亮度值的标定补偿数据作为未知量,并结合所述期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程;利用优化算法,对所述非线性标定优化方程进行优化求解,得到所述标定补偿数据。
作为一种实施方式,所述装置还可以包括:
第二确定模块(图中未示出),用于在所述光栅图像中确定有效区域;
所述确定子模块,具体用于:针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
作为一种实施方式,所述装置还可以包括:
选择模块(图中未示出),用于利用预设方式,在每个有效区域中选择部分像素点,作为典型区域;所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式;
所述确定子模块,具体用于:针对所述光栅图像中的每个典型区域,根据该典型区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
作为一种实施方式,所述第二确定模块,具体可以用于:
在所获取的多张光栅图像中,选择两张待处理光栅图像;
计算所述两张待处理光栅图像之间的亮度差;
确定亮度差大于预设阈值的区域,作为有效区域。
作为一种实施方式,所述装置还可以包括:
计算模块(图中未示出),用于计算结构光的有效亮度范围;
所述第一确定单元,具体用于:确定所述有效亮度范围内的结构光亮度值与所述光栅图像中像素点亮度值之间的实际响应关系;
所述抽取单元,具体用于:在所述有效亮度范围内的结构光亮度值与对应的光栅图像中像素点亮度值中,抽取至少两组数据。
作为一种实施方式,所述装置还可以包括:计算模块和第三确定模块(图中未示出),其中,
计算模块,用于计算结构光的有效亮度范围;
第三确定模块,用于在所述第一确定模块根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值之前,在所述有效亮度范围内,确定待投射的结构光亮度值。
作为一种实施方式,所述计算模块,具体用于:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光的有效亮度范围。
作为一种实施方式,控制模块603具体可以用于:
控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光;
或者,利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
作为一种实施方式,所述控制子模块,具体可以用于:
控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
应用本发明图6所示实施例,获取结构光亮度值的标定补偿数据;根据该标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值控制投影仪投射结构光;可见,本方案中对结构光进行补偿,补偿后的结构光亮度值与光栅图像亮度值之间的偏差较小。
本发明实施例还提供一种电子设备,如图7所示,包括处理器701和存储器702;
存储器702,用于存放计算机程序;
处理器701,用于执行存储器702上所存放的程序时,实现上述任一种结构光补偿方法。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种结构光补偿方法。
本发明实施例还提供一种结构光补偿设备,如图2所示,包括:投影仪、相机和计算机,其中,
所述计算机,用于获取结构光亮度值的标定补偿数据;根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值,控制所述投影仪投射结构光;
所述相机,用于采集所述所述投影仪所投射的结构光在待测量物体上形成的投影光栅,得到补偿后的光栅图像,并将所述补偿后的光栅图像发送至所述计算机;
所述计算机,还用于根据所述补偿后的光栅图像,得到所述待测量物体的测量数据。
该计算机还可以实现上述任一种结构光补偿方法。
或者,在另一种实施方式中,所述投影仪,可以用于获取结构光亮度值的标定补偿数据;根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值投射结构光;所述相机,用于采集所述所述投影仪所投射的结构光在待测量物体上形成的投影光栅,得到补偿后的光栅图像,并将所述补偿后的光栅图像发送至所述计算机;所述计算机,用于根据所述补偿后的光栅图像,得到所述待测量物体的测量数据。
该投影仪也可以实现上述任一种结构光补偿方法。
或者,在另一种实施方式中,由计算机确定结构光亮度值的标定补偿数据,并将该标定补偿数据发送至投影仪;投影仪接收该标定补偿数据,根据该标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值投射结构光。
另外,计算机还可以计算结构光的有效亮度范围,将该有效亮度范围发送至投影仪,使得投影仪在所述有效亮度范围内,确定待投射的结构光亮度值。另外,计算机还可以在光栅图像中确定有效区域、典型区域,具体不再赘述。
也就是说,上述实施例介绍的结构光补偿方法可以由计算机执行,也可以由投影仪执行,具体不做限定。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图6所示的结构光补偿装置实施例、图7所示的电子设备实施例、图2所示的结构光补偿设备实施例而言,由于其基本相似于图1、图4所示的结构光补偿方法实施例,所以描述的比较简单,相关之处参见图1、图4所示的结构光补偿方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (21)
1.一种结构光补偿方法,其特征在于,包括:
获取结构光亮度值的标定补偿数据;
根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;
根据所确定的补偿值控制投影仪投射结构光;
所述获取结构光亮度值的标定补偿数据,包括:
控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;
获取每次投射的结构光对应的光栅图像;
根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据;
所述根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;
在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;
根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;
通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
2.根据权利要求1所述的方法,其特征在于,所述确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系,包括:
构建实际亮度响应函数;其中,所述实际亮度响应函数的自变量为结构光亮度值,因变量为实际光栅图像亮度值;
所述根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系,包括:
根据所抽取的两组数据,计算线性方程中的斜率和截距;
根据所述斜率和截距,构建期望亮度分布函数方程;其中,所述期望亮度分布函数方程的自变量为结构光亮度值,因变量为期望光栅图像亮度值,所述期望亮度分布函数方程为线性方程;
所述通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据,包括:
将结构光亮度值的标定补偿数据作为未知量,并结合所述期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程;
利用优化算法,对所述非线性标定优化方程进行优化求解,得到所述标定补偿数据。
3.根据权利要求1所述的方法,其特征在于,在所述获取每次投射的结构光对应的光栅图像之后,还包括:在所述光栅图像中确定有效区域;
所述根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
4.根据权利要求3所述的方法,其特征在于,在所述光栅图像中确定有效区域之后,还包括:
利用预设方式,在每个有效区域中选择部分像素点,作为典型区域;所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式;
所述针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
针对所述光栅图像中的每个典型区域,根据该典型区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
5.根据权利要求3或4所述的方法,其特征在于,在所述光栅图像中确定有效区域,包括:
在所获取的多张光栅图像中,选择两张待处理光栅图像;
计算所述两张待处理光栅图像之间的亮度差;
确定亮度差大于预设阈值的区域,作为有效区域。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算结构光的有效亮度范围;
所述确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系,包括:
确定所述有效亮度范围内的结构光亮度值与所述光栅图像中像素点亮度值之间的实际响应关系;
所述在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,包括:
在所述有效亮度范围内的结构光亮度值与对应的光栅图像中像素点亮度值中,抽取至少两组数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算结构光的有效亮度范围;
在所述根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值之前,还包括:
在所述有效亮度范围内,确定待投射的结构光亮度值。
8.根据权利要求6或7所述的方法,其特征在于,所述计算结构光的有效亮度范围,包括:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光的有效亮度范围。
9.根据权利要求1所述的方法,其特征在于,所述根据所确定的补偿值控制投影仪投射结构光,包括:
控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光;
或者,利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
10.根据权利要求1所述的方法,其特征在于,所述控制投影仪多次投射单一亮度值的结构光,包括:
控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
11.一种结构光补偿装置,其特征在于,包括:
获取模块,用于获取结构光亮度值的标定补偿数据;
第一确定模块,用于根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;
控制模块,用于根据所确定的补偿值控制投影仪投射结构光;
所述获取模块,包括:
控制子模块,用于控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;
获取子模块,用于获取每次投射的结构光对应的光栅图像;
确定子模块,用于根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据;
所述确定子模块,包括:
第一确定单元,用于确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;
抽取单元,用于在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;
第二确定单元,用于根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;
第三确定单元,用于通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
12.根据权利要求11所述的装置,其特征在于,所述第一确定单元,具体用于:构建实际亮度响应函数;其中,所述实际亮度响应函数的自变量为结构光亮度值,因变量为实际光栅图像亮度值;
所述第二确定单元,具体用于:根据所抽取的两组数据,计算线性方程中的斜率和截距;根据所述斜率和截距,构建期望亮度分布函数方程;其中,所述期望亮度分布函数方程的自变量为结构光亮度值,因变量为期望光栅图像亮度值,所述期望亮度分布函数方程为线性方程;
所述第三确定单元,具体用于:将结构光亮度值的标定补偿数据作为未知量,并结合所述期望亮度分布函数方程以及实际亮度响应函数,构建非线性标定优化方程;利用优化算法,对所述非线性标定优化方程进行优化求解,得到所述标定补偿数据。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于在所述光栅图像中确定有效区域;
所述确定子模块,具体用于:针对所述光栅图像中的每个有效区域,根据该有效区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
选择模块,用于利用预设方式,在每个有效区域中选择部分像素点,作为典型区域;所述预设方式包括以下任意一种或多种:随机选择方式、以固定间距选择方式;
所述确定子模块,具体用于:针对所述光栅图像中的每个典型区域,根据该典型区域中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据。
15.根据权利要求13或14所述的装置,其特征在于,所述第二确定模块,具体用于:
在所获取的多张光栅图像中,选择两张待处理光栅图像;
计算所述两张待处理光栅图像之间的亮度差;
确定亮度差大于预设阈值的区域,作为有效区域。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括:
计算模块,用于计算结构光的有效亮度范围;
所述第一确定单元,具体用于:确定所述有效亮度范围内的结构光亮度值与所述光栅图像中像素点亮度值之间的实际响应关系;
所述抽取单元,具体用于:在所述有效亮度范围内的结构光亮度值与对应的光栅图像中像素点亮度值中,抽取至少两组数据。
17.根据权利要求11所述的装置,其特征在于,所述装置还包括:
计算模块,用于计算结构光的有效亮度范围;
第三确定模块,用于在所述第一确定模块根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值之前,在所述有效亮度范围内,确定待投射的结构光亮度值。
18.根据权利要求16或17所述的装置,其特征在于,所述计算模块,具体用于:
在所投射的结构光中,依次选择待比较结构光亮度值;
确定所述待比较结构光亮度值对应的光栅图像亮度值变化情况,作为待比较亮度显著性系数;
判断所述待比较亮度显著性系数是否大于全局亮度显著性系数;其中,所述全局亮度显著性系数为第二亮度差与第一亮度差的比值,所述第一亮度差为结构光的最大亮度值与最小亮度值之差,所述第二亮度差为最大亮度值结构光对应的光栅图像亮度值与最小亮度值对应的光栅图像亮度值之差;
如果大于,则确定所述待比较结构光亮度值属于结构光的有效亮度范围。
19.根据权利要求11所述的装置,其特征在于,所述控制模块,具体用于:
控制投影仪投射所述待投射的结构光亮度值对应的第一结构光、以及所确定的补偿值对应的第二结构光;
或者,利用所确定的补偿值对所述待投射的结构光亮度值进行补偿,得到补偿后的结构光亮度值;控制投影仪投射所述补偿后的结构光亮度值对应的结构光。
20.根据权利要求11所述的装置,其特征在于,所述控制子模块,具体用于:
控制投影仪分别投射亮度值为0-255的结构光,其中每次投射单一亮度值的结构光。
21.一种结构光补偿设备,其特征在于,包括:投影仪、相机和计算机,其中,
所述计算机,用于获取结构光亮度值的标定补偿数据;根据所述标定补偿数据,确定待投射的结构光亮度值对应的补偿值;根据所确定的补偿值,控制所述投影仪投射结构光;
所述相机,用于采集所述投影仪所投射的结构光在待测量物体上形成的投影光栅,得到补偿后的光栅图像,并将所述补偿后的光栅图像发送至所述计算机;
所述计算机,还用于根据所述补偿后的光栅图像,得到所述待测量物体的测量数据;
其中,所述计算机获取结构光亮度值的标定补偿数据,包括:
控制投影仪多次投射单一亮度值的结构光;其中,每次投射的结构光亮度值不同;
获取每次投射的结构光对应的光栅图像;
根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据;
所述计算机根据所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的响应关系,确定结构光亮度值的标定补偿数据,包括:
确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的实际响应关系;
在所述光栅图像中像素点亮度值与每次投射的结构光亮度值中抽取至少两组数据,每组数据中包括结构光亮度值及对应的光栅图像中像素点亮度值;
根据所抽取的两组数据,确定所述光栅图像中像素点亮度值与每次投射的结构光亮度值之间的线性响应关系;
通过将所述实际响应关系拟合所述线性响应关系,确定结构光亮度值的标定补偿数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810718155.7A CN110673428B (zh) | 2018-07-03 | 2018-07-03 | 一种结构光补偿方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810718155.7A CN110673428B (zh) | 2018-07-03 | 2018-07-03 | 一种结构光补偿方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110673428A CN110673428A (zh) | 2020-01-10 |
CN110673428B true CN110673428B (zh) | 2021-06-18 |
Family
ID=69065935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810718155.7A Active CN110673428B (zh) | 2018-07-03 | 2018-07-03 | 一种结构光补偿方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673428B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104860B (zh) * | 2020-08-18 | 2022-07-08 | 江西欧迈斯微电子有限公司 | 校准方法、装置、计算机装置及可读存储介质 |
CN112433382B (zh) * | 2020-11-25 | 2024-01-23 | Oppo(重庆)智能科技有限公司 | 散斑投影装置及方法、电子设备和距离测量系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236066A (zh) * | 2008-03-04 | 2008-08-06 | 东南大学 | 投影光栅的自校正方法 |
CA2759721A1 (en) * | 2010-12-03 | 2012-06-03 | Research In Motion Limited | Dynamic lighting control in hybrid camera - projector device |
CN102854724A (zh) * | 2012-08-30 | 2013-01-02 | 深圳市绎立锐光科技开发有限公司 | 投影光源的调整方法与调整装置 |
CN103383249A (zh) * | 2013-07-12 | 2013-11-06 | 西安交通大学 | 灰度条纹投影光强非线性校正方法及基于该方法的相位校正方法 |
CN104236482A (zh) * | 2014-09-11 | 2014-12-24 | 四川大学 | 结合几何标定的相位测量轮廓术系统非线性校正方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI412872B (zh) * | 2010-10-27 | 2013-10-21 | Hon Hai Prec Ind Co Ltd | 具有自動調整投影亮度功能的投影裝置及方法 |
-
2018
- 2018-07-03 CN CN201810718155.7A patent/CN110673428B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236066A (zh) * | 2008-03-04 | 2008-08-06 | 东南大学 | 投影光栅的自校正方法 |
CA2759721A1 (en) * | 2010-12-03 | 2012-06-03 | Research In Motion Limited | Dynamic lighting control in hybrid camera - projector device |
CN102854724A (zh) * | 2012-08-30 | 2013-01-02 | 深圳市绎立锐光科技开发有限公司 | 投影光源的调整方法与调整装置 |
CN103383249A (zh) * | 2013-07-12 | 2013-11-06 | 西安交通大学 | 灰度条纹投影光强非线性校正方法及基于该方法的相位校正方法 |
CN104236482A (zh) * | 2014-09-11 | 2014-12-24 | 四川大学 | 结合几何标定的相位测量轮廓术系统非线性校正方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110673428A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5075757B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
TWI511081B (zh) | 影像擷取裝置及其影像形變校正方法 | |
CN108881736B (zh) | 一种光圈校正方法及装置 | |
JP2007097195A (ja) | 画像取り込み装置で画像を取り込む際の動きによるブレを制限するために最大露光時間を判定する方法、画像取り込み装置を用いて画像を取り込む方法、および画像取り込み装置で画像を取り込む際の動きによるブレを制限するための最大露光時間を判定する装置 | |
TWI659202B (zh) | 用於判定一變焦透鏡之焦距之方法 | |
CN110673428B (zh) | 一种结构光补偿方法、装置及设备 | |
WO2022135581A1 (zh) | 图像检测方法、装置、系统、设备和存储介质 | |
Lopez-Fuentes et al. | Revisiting image vignetting correction by constrained minimization of log-intensity entropy | |
JPWO2012086127A1 (ja) | 画像処理装置、撮像装置、及び画像処理方法 | |
CN107172323B (zh) | 大视场摄像头的图像去暗角方法及装置 | |
US9001238B1 (en) | Lens shading correction method and image signal processor for performing the same | |
US10515442B2 (en) | Image processing apparatus that corrects for lateral chromatic aberration, image capturing apparatus, image processing method, and storage medium | |
CN111624580B (zh) | 飞行时间模组的校正方法、校正装置和校正系统 | |
JP2020003430A (ja) | 外装材の劣化診断システムおよびその劣化診断方法 | |
US10728476B2 (en) | Image processing device, image processing method, and image processing program for determining a defective pixel | |
TWI552603B (zh) | 影像校正系統以及方法 | |
JP6253365B2 (ja) | 画像処理方法、撮像装置、画像処理装置 | |
JP2007122328A (ja) | 歪曲収差補正装置及び歪曲収差補正方法 | |
CN113016052A (zh) | 图像处理方法以及图像处理装置 | |
CN113596423A (zh) | 一种亮度校正方法、装置、电子设备及可读存储介质 | |
CN110857855B (zh) | 一种图像数据获取方法、装置及系统 | |
Kordecki et al. | A smooth local polynomial model of vignetting | |
CN110858877B (zh) | 一种投影仪曝光时间确定方法及装置 | |
CN117061879B (zh) | 一种自动光量补正方法、系统及电子设备 | |
TWI568270B (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 | ||
CP03 | Change of name, title or address |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Hikvision Robot Co.,Ltd. Address before: No.555, Qianmo Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |