CN116558445B - 一种条纹投影的相位解码方法、计算机可读存储介质 - Google Patents
一种条纹投影的相位解码方法、计算机可读存储介质 Download PDFInfo
- Publication number
- CN116558445B CN116558445B CN202310812841.1A CN202310812841A CN116558445B CN 116558445 B CN116558445 B CN 116558445B CN 202310812841 A CN202310812841 A CN 202310812841A CN 116558445 B CN116558445 B CN 116558445B
- Authority
- CN
- China
- Prior art keywords
- camera
- phase
- pixel point
- projector
- image
- 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 104
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 238000003384 imaging method Methods 0.000 claims description 47
- 230000010363 phase shift Effects 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000006467 substitution reaction Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 9
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000005259 measurement Methods 0.000 description 34
- 238000004519 manufacturing process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 239000011295 pitch Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910001092 metal group alloy Inorganic materials 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- BJAJDJDODCWPNS-UHFFFAOYSA-N dotp Chemical compound O=C1N2CCOC2=NC2=C1SC=C2 BJAJDJDODCWPNS-UHFFFAOYSA-N 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 238000010587 phase diagram Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/254—Projection of a pattern, viewing through a pattern, e.g. moiré
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
一种条纹投影的相位解码方法、计算机可读存储介质,首先根据相机景深范围的约束获得相机每个像素点的相位范围,再根据相位下限值和第二基数求得每个像素点的相位值的整数部分,利用第二基数对投影仪图像平面上各像素点预设的待编码相位值求余获得实际编码相位值,将实际编码相位值进行投影传递,解得相机各像素点的第一绝对相位,最后根据相机各像素点的相位值的整数部分和第一绝对相位计算得到解码相位值。由于将解码相位值分为整数部分和小数部分,利用了相机的景深范围这一先验约束信息先计算解码相位值的整数部分,仅需对小数部分进行条纹投影传递,在减少了投影图像张数的同时,不降低相位解码的精度。
Description
技术领域
本发明涉及三维测量技术领域,具体涉及一种条纹投影的相位解码方法、计算机可读存储介质。
背景技术
随着模具设计、精密加工、产品检测和工业测量等各领域的发展,传统二维图像传感器技术越来越无法满足生产场景的需要,三维测量技术的需求近年正在飞速增长,由于三维测量传感器多出深度一维信息,且深度本身对姿态、光照等因素不太敏感,所以三维测量对于物体识别和测量任务具有更大的优势。
目前主流的三维测量方法分为接触式和非接触式,其中非接触式三维测量方法往往利用多传感器之间预先已知的几何关系进行三维坐标测量,无需接触待测物体表面,具有无伤无形变等优势而更受欢迎,其中基于三角测量的面结构光三维测量技术已经逐渐展现出使用潜力。面结构光三维测量技术使用相机和投影仪组合,通过投影仪投射具有固定编码模式的条纹图案到待测物体上,通常是投射正弦条纹图案,不同位置处的条纹对应正弦曲线的不同相位;条纹图案经过待测物体反射后被相机捕获,根据对应的解码算法解码后得到相位图像,再根据预先标定的相机和投影仪的位置参数,根据三角测量原理,由相位值还原为物体的真实三维坐标,实现物体的三维测量或者说三维重建。
由此可知,条纹图案的编码/解码模式是面结构光三维测量技术的核心之一,目前主流的编码/解码方法较多,以二值格雷码加正弦相移编码的编码方式最为常用,然而使用该编码方式时,往往重建一张深度图所需的投影图像在十张甚至更多,而目前主流使用的DLP(Digital Light Procession,数字光处理)、LCD(Liquid Crystal Display,液晶显示屏)投影仪帧率均有限,导致投影时间过长,而这往往是限制完整3D成像帧率的最大因素。除此之外,在待测物体表面形状比较复杂时,单纯的二值格雷码加正弦相移编码往往会引入较大的解码误差,目前有一些辅助的方法来减少误差,比较具有代表性的方法是对于每一张投影图像,同时投影其明暗反转的反转图像,来增大相机捕获图像的明暗对比度,以提高解码正确率,此种方法需要投影两倍数量的图像,进一步增加了一次完整成像所需要的时间。
发明内容
本发明主要解决的技术问题是在采用条纹投影进行三维测量时,所需投影图像较多,导致一次完整的三维成像所需时间过长。
根据第一方面,一种实施例中提供一种条纹投影的相位解码方法,包括:
标定相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系;
根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素点在投影仪图像平面上对应像素点的位置范围;
根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围[θ down ,θ up ],其中θ up 是相位上限值,θ down 是相位下限值;
根据相机每个像素点的相位范围和预设的第一基数T b ,计算并存储相机每个像素点的相位值的整数部分θ base ,其中T b 为正整数,整数部分θ base 为能被第一基数T b 整除的整数中,比相位下限值θ down 小且最接近相位下限值θ down 的一个;
利用预设的第二基数T s 对投影仪图像平面上各像素点预设的待编码相位值θ en 进行求余,获得投影仪图像平面上各像素点的实际编码相位值,其中第二基数T s 为第一基数T b 的两倍;
获取被测物体的第一条纹投影图像,所述第一条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第一正弦条纹投影时,对被测物体拍摄的图像;
对所述第一条纹投影图像进行解相位处理以得到相机各像素点的第一绝对相位θ 1;
根据相机各像素点的相位值的整数部分θ base 、第一绝对相位θ 1、第一基数T b 和第二基数T s 解得相机各像素点的第一解码相位值θ d ;其中若θ 1和θ base 符合第一预设条件,则θ d =θ base +T b +θ 1,其中第一预设条件指θ 1>0.25T s 且θ base %T s >0.5T s ;若θ 1和θ base 符合第二预设条件,则θ d =θ base -T b +θ 1,其中第二预设条件指θ 1>0.75T s 且θ base %T s <0.5T s ;若θ 1和θ base 既不符合第一预设条件也不符合第二预设条件,则θ d =θ base +θ 1-T b /T s ;其中%表示求余运算。
根据第二方面,一种实施例中提供一种条纹投影的相位解码方法,包括:
标定相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系;
根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素点在投影仪图像平面上对应像素点的位置范围;
根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围[θ down ,θ up ],其中θ up 是相位上限值,θ down 是相位下限值;
根据相机每个像素点的相位范围和预设的第二基数T s ,计算并存储相机每个像素点的相位值的整数部分θ base ,其中T s 为正整数,整数部分θ base 为能被第二基数T s 整除的整数中,比相位下限值θ down 小且最接近相位下限值θ down 的一个;
利用第二基数T s 对投影仪图像平面上各像素点预设的待编码相位值θ en 进行求余,获得投影仪图像平面上各像素点的实际编码相位值;
获取被测物体的第一条纹投影图像,所述第一条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第一正弦条纹投影时,对被测物体拍摄的图像;
对所述第一条纹投影图像进行解相位处理以得到相机各像素点的第一绝对相位θ 1;
将相机各像素点的相位值的整数部分θ base 与第一绝对相位θ 1相加得到相机各像素点的第一解码相位值θ d 。
根据第三方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现如上述第一方面或第二方面所述的相位解码方法。
依据上述实施例的条纹投影的相位解码方法,首先根据相机景深范围的约束获得相机每个像素点在投影仪图像平面上对应像素点的位置范围,根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围,再根据相位范围中的相位下限值和预设的第一基数或第二基数求得相机每个像素点的相位值的整数部分,利用第二基数对投影仪图像平面上各像素点预设的待编码相位值进行求余获得实际编码相位值,使投影仪根据实际编码相位值进行投影,获得被测物体的第一条纹投影图像,根据第一条纹投影图像解得相机各像素点的第一绝对相位,最后根据相机各像素点的相位值的整数部分、第一绝对相位、第一基数和第二基数解得解码相位,或者将相机各像素点的相位值的整数部分和第一绝对相位相加得到解码相位。由于利用了相机的景深范围这一先验约束信息,先计算出解码相位值的整数部分,仅需对小数部分进行条纹投影传递,从而能够减少投影图像的张数;并且将解码相位值分为整数部分和小数部分,将小数部分通过条纹投影进行传递,有利于提高相位解码的精度。综上,本发明的相位解码方法可以在不降低解码精度的同时,减少投影图像的张数,或者在需要增加投影图像的张数进一步减少解码错误时,相比传统的投影明暗反转图像等方案使用更少的额外辅助图像;在减少投影图像张数的同时,不降低三维测量的精度,也不减少三维重建的局部细节,在面对高速高精度重建的场景时具有更好的性能。并且根据景深范围约束来提供相位范围的先验限制在对三维测量系统进行标定的阶段就可以完成,实施起来非常方便,不增加额外的解码负担,可以较快地改造适应现有主流结构光三维测量算法方案,而不会增加不良影响。
附图说明
图1为针孔相机模型中各坐标系的变换示意图;
图2为格雷码编码的示意图;
图3为一种实施例中投影的条纹图案的示意图;
图4为一种实施例的条纹投影的相位解码方法的流程图;
图5为一种实施例中利用三维测量系统进行三维测量的示意图;
图6为一种实施例投影的正弦相移图像的示意图;
图7为另一种实施例的条纹投影的相位解码方法的流程图;
图8为第一绝对相位、相位值的整数部分与正弦曲线间关系的示意图;
图9为又一种实施例的条纹投影的相位解码方法的流程图;
图10为与图6的条纹方向正交的正弦相移图像的示意图;
图11为对极约束的示意图;
图12为又一种实施例的条纹投影的相位解码方法的流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
为了便于理解本发明的技术方案,下面先对相机标定和条纹投影进行介绍。
相机的成像过程中各坐标系的投影变换关系可以用针孔相机模型来表示,如图1所示,x w 轴、y w 轴和z w 轴分别表示世界坐标系(WCS,World Coordinate System)的x轴、y轴和z轴,世界坐标系中的点P w 通过镜头投影中心投影到成像平面上的点P,为了得到点P w 投影到成像平面上的点P的像素坐标q i ,需要首先将其转换到相机坐标系(CCS,CameraCoordinate System)中。相机坐标系的x轴和y轴分别平行于成像平面的c轴和r轴,z轴垂直于成像平面并且z轴的方向设置将使相机前的所有点的z坐标为正数,其中成像平面的c轴方向为成像平面的水平方向,r轴方向为成像平面的垂直方向。图1中x c 轴、y c 轴和z c 轴分别表示相机坐标系的x轴、y轴和z轴。由世界坐标系到相机坐标系的变换可以用公式来表示,其中/>为相机坐标系中的坐标,为世界坐标系中的坐标,/>可以用旋转矩阵R和平移矩阵t来表示。
在将世界坐标系转换到相机坐标系后,需要将其转换到图像坐标系上,这是一个由3D坐标转换到2D坐标的过程。对于非远心的镜头如CCTV(Closed Circuit Television,闭路电视)镜头而言,这一变换可以表示为:
,
其中f表示相机镜头的焦距,表示图像坐标系中的坐标。
对于远心镜头而言,这一变换可以表示为:
,
其中m表示镜头的放大倍率。
在投影到成像平面后,镜头的畸变将导致坐标发生变化,使得在成像平面上形成的是畸变的坐标/>,这个变化可以单独在成像平面上建立模型,也就是说这里不需要三维信息。对于大多数镜头而言,它们的畸变都可以充分地近似为径向畸变,通常有两种模型可以用来描述畸变,一种是除法模型,一种是多项式模型。除法模型如下:
,
其中参数κ表示了径向畸变量级,如果κ为负值,即变为桶形畸变,如果κ为正值,即变为枕形畸变。可以通过下式对畸变进行校正:
。
多项式模型如下:
,
其中,k 1、k 2、k 3、p 1、p 2为模型系数。根据以上模型,利用牛顿法可以求解得到u、v,迭代初始值选用初始计算得到的未畸变的坐标(u,v)。
最后将像平面坐标系转换到像素坐标系(ICS,Image Coordinate System)中,用公式表示为:
, (1)
其中s x 和s y 分别为相机水平方向上和垂直方向上的像素尺寸,(c x ,c y )为主光轴点,一般为图像的中心。
因此上述的整个变换如果不考虑畸变可以表示为:
。
这便是相机标定所依据的数学模型。通过相机标定可以获得相机的内参、外参和畸变系数,主要采用张正友标定法进行标定。
条纹投影是一种进行物体三维测量的方法,通过将具有一定规则的条纹投影到物体表面,并对物体进行拍摄获取物体的条纹投影图像,由于条纹图案投影到物体上时受到了物体表面高度的调制产生了变形,因此条纹投影图像包含了物体表面的三维信息,通过对获取到的条纹投影图像作为三维信息的载体加以分析可得到物体的表面信息,例如高度信息、三维坐标等。对于条纹投影,可使用任意现有的条纹投影方式,一种实施例中可投影格雷码图像和正弦相移图像。其中格雷码图像是根据格雷码编码形成的图像,如图2所示,图中白色部分代表1,黑色部分代表0,格雷码的000、001、011和010分别对应二进制码的000、001、010和011,依此类推。请参考图3,为一种实施例投影的宽度为32个像素的格雷码图像和正弦相移图像,其中序号1-4的图像序列为格雷码图像,序号5-8的图像序列为正弦相移图像,每个序号代表的图像为一次投影的条纹图案。
由于正弦相移图像具有周期性,获取的相位在[0,2π]范围内,而投影正弦条纹图案时是根据连续相位计算投影光强的,因此需要将其转化到2kπ(k为整数)的绝对相位。获取绝对相位图后,结合标定的位置关系可生成三维数据。
相移法被广泛应用于光学测量,由于其测量精度和测量速度较高,所以对于高精度的物体三维测量,一般采用相移法。在相移法中,获得相位的过程如下:(1)先通过相移法公式获得锯齿形的相位值,值域为[-π,π],称为截断相位或相对相位;(2)将锯齿形相位值恢复成连续的相位值,称为绝对相位。这一过程称为解相位(或相位展开、相位解包裹)。
相移法获得相位值的方法有很多,例如可以采用N步相移法求解。假如投影光强是标准余弦分布,则正弦相移图像每次移动2π/N的相位,产生一个新的光强函数I n (x,y),平移N-1次,获得N幅正弦相移图像,其中(x,y)为相移图像中像素点的坐标。其中四步相移法用的比较多,原因是该方法能消除检测器的非线性影响。四步相移法是将投射的正弦相移图像每次平移π/2,平移三次。图2所示正弦相移图像即为四步相移图像。四步相移的光强函数可以表示为:
,
其中I i (i=1,2,3,4)为第i幅正弦相移图像的条纹灰度值,为条纹光强的背景值,即投影仪发出的原始光强,/>为调制光强值,φ(x,y)为所求的相位值。可得:
。
通过相移法计算出的相位只是相位的主值,含有一个反正切函数,其值域为[-π,π],相位不连续。针对这个问题,由于由相移法公式得到的相位与真实值之间还有2kπ的差异,为此,必须求出k,才能将相位的主值恢复到真正的绝对相位(即真实值)。因此完整的相位值即绝对相位应为:
Ψ(x,y)=2k(x,y)π+φ(x,y),
其中k(x,y)为整数,表示像素点(x,y)对应的2π的整数倍数。可以看到解相位的关键就是确定解码周期k(x,y)。在实际应用中,k(x,y)表示像素点(x,y)所处的条纹图案的周期次数,即是像素点(x,y)到底属于条纹场中的哪条条纹,该条纹处于第几个周期。例如请参考图2,可以看到相移图像呈周期排布,第0-3个像素处于第一个周期(即k=1),第4-7个像素处于第二个周期(即k=2),依此类推。像素点所处的条纹的周期次数可以根据其所处的条纹的格雷码编码信息获得。
在条纹投影结构光三维重建技术中,在投影条纹设计上存在重建速度和重建稳定性的考量,投影图像张数减少时能提高重建速度但会降低重建精度,损失重建稳定性,两者之间存在着矛盾。本发明提出一种新的相位解码方法,能够在尽量保持重建稳定性和精度的要求下减少投影图像张数,以及在尽量少增加投影图像张数的前提下通过增加投影图像张数提高重建质量。
目前主流的结构光视觉方案中,相位的解码和三维信息的获取(包括相机标定和三维信息的计算)总是互相独立的,相位的解码只依赖于编码模式,本发明提出可以将标定得到的信息融入相位的解码,以达到在解码时有更多辅助信息可以使用的思路。其次,在目前主流的高精度光学测量领域,相机的景深往往被限制在一个较小的范围,往往三维测量的工作距离(即相机能够取得待测物体清晰图像时待测物体与相机的距离)也被限制在这个景深范围之内,因此可以假定待测物体总是处在一定的工作距离范围之内,在此范围之外的物体并不会被传感器成像,根据这个假设可以利用相机景深范围对解码相位值进行进一步的约束,提供一些先验信息。
本发明的核心思想是对一个位置的待编码相位值分解为两部分,在解码时分别确定其数值:一部分是整数部分,一部分是小数部分。对于整数部分,可以根据标定的信息和相机景深范围的限制获得相机每个像素点在投影仪图像平面上对应像素点的位置范围,由投影仪图像平面上对应像素点的位置范围获得相机每个像素点的相位范围,根据相位下限值得到整数部分。对于小数部分,通过条纹投影进行传递,解码时根据与投影方式相应的解相位方法解得小数部分。整数部分首先计算出来存在存储器中,实际投影时则按小数部分进行投影,解码时根据小数部分和整数部分获得最终的解码相位值。现有技术是将完整的待编码相位值进行投影然后解码,即整体编码和解码,相当于是在一个较大范围内划分相位值,而本发明的方法则是局部编码和解码,相当于是在一个较小范围内进行划分,提升了一份划分的精度,从而能提高解码的精度。
下面对本发明提供的条纹投影的相位解码方法进行介绍,请参考图4,一种实施例中,该方法包括步骤1010~1080,下面具体说明。
步骤1010:对三维测量系统进行标定对三维测量系统进行标定。
基于条纹投影对物体表面进行三维测量,常通过三维测量系统实现,请参考图5,三维测量系统包括投影仪1和相机2。投影仪1可以是任意可发出光线在物体上投影图案的装置,例如LCD(Liquid Crystal Display,液晶显示)、LED(Light-Emitting Diode,发光二极管)显示屏等。相机2可以是CCD(Charge-coupled Device,电荷耦合元件)相机、CMOS(ComplementaryMetal Oxide Semiconductor,互补金属氧化物半导体)相机等。
图5中X g 、Y g 和Z g 是世界坐标系的三个坐标轴,在投影仪1和相机2上可分别建立投影仪坐标系和相机坐标系(均为三维坐标系),图中O p 是投影仪坐标系的原点,(0,0,D gp )是其世界坐标,X i 、Y i 和Z i 是相机坐标系的三个坐标轴。O p AB是投影仪1投射出的光线形成的一光平面,曲线AB是该光平面与物体的交线,O p O o 是该光平面上的一光线,该光线经反射后进入相机2一像素成像。通过计算相机2上像素对应的反射光线与投影仪1投影出的光平面的交点O o ,根据三角测量原理而得到待测物体的三维坐标。θ是光平面O p AB与Z g 轴方向的夹角,β是与Z g 轴方向的夹角。W是投影图像的宽度分辨率,当采用格雷码加正弦相移编码进行相位编码时,若采用的正弦函数的周期为T,则一共需要张图像来进行编码,其中S为相移步数,最小为3,/>表示向上取整。
在使用三维测量系统前需要先进行标定,标定的目的是获得相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系。相机和投影仪的成像参数包括相机和投影仪的内参、外参和畸变参数中的一者或多者,相机与投影仪之间的位置变换关系可以用由相机坐标系向投影仪坐标系转换的变换矩阵来表示。关于相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系的标定可参考现有技术,在此不再赘述。
步骤1020:根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素点在投影仪图像平面上对应像素点的位置范围。
不妨设相机的景深范围为[H down ,H up ],其中H up 为景深范围上界值,H down 为景深范围下界值,由于相机景深限制,高精度结构光相机的工作距离区间一般也被限制在景深范围内。根据相机的成像参数和工作距离可以求出相机每个像素点的图像坐标对应的物理坐标,分别将景深范围上界值和景深范围下界值作为工作距离则可求出相机每个像素点对应于景深上下界的物理坐标。根据相机与投影仪之间的位置变换关系,可以将相机每个像素点对应于景深上下界的物理坐标转换到投影仪坐标系下,再根据投影仪的成像参数可以获得相机每个像素点在投影仪图像平面上对应于景深上下界的像素点的坐标。投影仪图像平面指投影仪上投射出光线的平面,如LED面板等,投影仪图像平面上像素点的坐标是一个二维坐标,是指在投影仪图像平面上建立一个二维坐标系表示的坐标,本领域技术人员可根据需要设置具体的二维坐标系。
一种实施例中,步骤1020具体包括:对于相机每个像素点,将景深范围上界值H up 作为工作距离w d 代入公式计算得到该像素点对应于景深上界的物理坐标/>,将景深范围下界值H down 作为工作距离w d 代入公式/>计算得到该像素点对应于景深下界的物理坐标/>;根据以下公式计算得到该像素点在投影仪图像平面上对应于景深上界的像素点的坐标/>:
;
根据以下公式计算得到该像素点在投影仪图像平面上对应于景深下界的像素点的坐标:
;
其中(u,v)表示相机像素点的图像坐标,K是相机的畸变系数矩阵,,/>、/>和/>分别是物理坐标/>的x分量、y分量和z分量,,/>、/>和/>分别是物理坐标/>的x分量、y分量和z分量;和/>分别为像素点/>和像素点/>在投影仪齐次坐标系中对应的齐次项,H为由相机坐标系向投影仪坐标系转换的变换矩阵,K proj 为投影仪的内参矩阵。那么相机像素点在投影仪图像平面上对应像素点的x坐标在/>到/>之间,和/或y坐标在到/>之间。其中,由于需要与空间三维坐标进行运算,因此在投影仪图像平面的二维坐标中增加了一维信息,构建了投影仪齐次坐标系。
步骤1030:根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围[θ down ,θ up ],其中θ up 是相位上限值,θ down 是相位下限值。
本领域技术人员可以理解,投影仪图像平面上每个像素点都有一个预设的相位值,投影时按该相位值计算投影光强进行投影,该相位值称为投影仪图像平面上像素点的待编码相位值,记为θ en 。那么在获得相机每个像素点在投影仪图像平面上对应像素点的位置范围后就能够知道对应的相位范围[θ down ,θ up ]。
通常相位值按行或列进行编码,以按列编码为例,假设采用线性编码,给定数值范围为[K 1,K 2],那么投影仪图像平面上像素点的待编码相位值由x坐标(即列坐标)确定,用公式表示为(K 2-K 1)x/n,其中n为总的列数,那么在获得相机每个像素点在投影仪图像平面上对应像素点的位置范围后,根据x坐标的范围和该公式就能够知道对应的相位范围[θ down ,θ up ]。表1示出了一种实施例中计算得到的部分像素点的相位范围,其中最高相位值为163,但并不代表实际中最高相位值只到163。
表1 一种实施例中计算所得部分像素点的相位范围
0-4 | 3-6 | …… | 160-163 |
0-4 | 3-6 | …… | 160-163 |
0-4 | 3-6 | …… | 160-163 |
步骤1040:根据相机每个像素点的相位范围和预设的第二基数T s ,计算并存储相机每个像素点的相位值的整数部分θ base ,其中T s 为正整数,整数部分θ base 为能被第二基数T s 整除的整数中,比相位下限值θ down 小且最接近相位下限值θ down 的一个。
具体的,根据公式计算相机每个像素点的相位值的整数部分θ base ,其中/>表示向下取整运算。第二基数T s 根据实际需要设置。对于表1的相位范围,取T s =160,那么对于相位范围0-4,下限为0,可得/>;对于相位范围3-6,下限为3,可得/>;对于相位范围160-163,下限为160,可得/>,如表2所示。
表2 根据表1计算并存储的相位值的整数部分
0 | 0 | …… | 160 |
0 | 0 | …… | 160 |
0 | 0 | …… | 160 |
步骤1050:利用第二基数T s 对投影仪图像平面上各像素点预设的待编码相位值θ en 进行求余,获得投影仪图像平面上各像素点的实际编码相位值,用公式表示为,其中%表示求余运算。假设一投影图像有1280列,采用按列线性编码的方式,待编码相位值θ en 为0-1279,取T s =160,则实际编码相位值/>如表3所示。
表3 一种实施例中计算所得实际编码相位值
0 | 1 | …… | 159 | 0 | 1 | …… | 159 |
0 | 1 | …… | 159 | 0 | 1 | …… | 159 |
0 | 1 | …… | 159 | 0 | 1 | …… | 159 |
可以看到,实际编码相位值在[0,T s )区间内(如表3中实际编码相位值在[0,160)区间内),进行条纹投影时只需对[0,T s )区间内的相位值进行编码,仍然可以覆盖所有的相位范围。随着待编码相位值的增大,实际编码相位值总体上呈周期分布,每个周期内的相位值在[0,T s )区间内。因此第二基数T s 相当于是一个划分的粒度,决定了一个周期的长度,确定了相位下限值θ down 对应的周期数,因此将周期数乘以每个周期的粒度T s ,可以获得待编码相位值的整数部分,用第二基数T s 对待编码相位值求余获得余数,就可以得到其小数部分。
步骤1060:获取被测物体的第一条纹投影图像。第一条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第一正弦条纹投影时,对被测物体拍摄的图像。
本步骤中使投影仪按实际编码相位值进行第一正弦条纹投影,也就是说,只需要通过条纹投影传递待编码相位值θ en 的小数部分,后续解相位时即是确定小数部分的数值,相当于在一个更小的范围内确定相位值,提高了相位解码的精度。
第一正弦条纹投影可以采用任意正弦条纹投影方式,例如格雷码图像加正弦相移图像的投影方式、相移多频外插的投影方式等。图6给出了一种实施例投影的正弦相移图像的示意图。
步骤1070:对第一条纹投影图像进行解相位处理以得到相机各像素点的第一绝对相位θ 1。解相位处理的方法与所采用的条纹投影方式对应。
步骤1080:将相机各像素点的相位值的整数部分θ base 与第一绝对相位θ 1相加得到相机各像素点的第一解码相位值θ d ,完成相位解码,后续可以根据三角测量原理得到被测物体表面的三维坐标。
本实施例的条纹投影的相位解码方法由于利用了相机景深的先验信息,提高了相位值划分的精度,能够在不降低相位解码精度的同时减少条纹投影图像的张数,但在某些情况下可能存在问题,即在整数部分θ base 的跃变处,有可能相位范围实际上横跨两个整数部分,因此第一解码相位值θ d 实际上存在二义性,但在计算整数部分θ base 时仅仅使用了相位下限值θ down ,由此计算得到的第一解码相位值θ d 可能不准确。
假设相位范围如表4所示,取T s =160,则对应的整数部分如表5所示。对于处在整数部分跃变处(由0到160)的相位范围158-162,若待编码相位值在158-159内,其实际的整数部分是0,若待编码相位值在160-162内,其实际的整数部分是160,然而计算整数部分θ base 时采用的是相位下限值158,得到θ base =0,若待编码相位值实际是在160-162内,则后续得到的第一解码相位值θ d 不正确,将会有160的偏差。
表4 一种实施例中计算所得部分像素点的相位范围
…… | 158-162 | 160-163 | …… |
…… | 158-162 | 160-163 | …… |
…… | 158-162 | 160-163 | …… |
表5 根据表4计算并存储的相位值的整数部分(采用第二基数T s )
…… | 0 | 160 | …… |
…… | 0 | 160 | …… |
…… | 0 | 160 | …… |
因此需要采取方法进行修正。本发明一种实施例对上述实施例的相位解码方法进一步做改进,在划分整数部分和小数部分时,将整数部分划分的粒度向下取一位,具体为第二基数T s 的一半(记为第一基数T b ),例如在计算上述表4的整数部分时将划分所用的160改为80,而计算小数部分则仍然采用第二基数T s ,进行条纹投影时的编码范围仍为[0,T s )不变;计算第一解码相位值θ d 的逻辑也进行了细化,以对存在二义性的解码相位值进行区分。请参考图7,该实施例中的条纹投影的相位解码方法包括步骤2010~2080,下面具体说明。
步骤2010:对三维测量系统进行标定。
步骤2020:根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素点在投影仪图像平面上对应像素点的位置范围。
步骤2030:根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围[θ down ,θ up ]。
步骤2010~2030请参考步骤1010~1030,在此不再赘述。
步骤2040:根据相机每个像素点的相位范围和预设的第一基数T b ,计算并存储相机每个像素点的相位值的整数部分θ base ,其中T b 为正整数,整数部分θ base 为能被第一基数T b 整除的整数中,比相位下限值θ down 小且最接近相位下限值θ down 的一个。
具体的,根据公式计算相机每个像素点的相位值的整数部分θ base 。对于表4的相位范围,取T b =80,计算得到的整数部分如表6所示。
表6 根据表4计算并存储的相位值的整数部分(采用第一基数T b )
…… | 80 | 160 | …… |
…… | 80 | 160 | …… |
…… | 80 | 160 | …… |
步骤2050:利用预设的第二基数T s 对投影仪图像平面上各像素点预设的待编码相位值θ en 进行求余,获得投影仪图像平面上各像素点的实际编码相位值,用公式表示为。其中第二基数T s 根据实际需要设置,第二基数T s 为第一基数T b 的两倍。这里假设与表4、表6对应的实际编码相位值如表7所示,其中T s =160。
表7 一种实施例中计算所得实际编码相位值
…… | 159 | 1 | …… |
…… | 158 | 161 | …… |
…… | 2 | 3 | …… |
步骤2060:获取被测物体的第一条纹投影图像。第一条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第一正弦条纹投影时,对被测物体拍摄的图像。
步骤2070:对第一条纹投影图像进行解相位处理以得到相机各像素点的第一绝对相位θ 1。
步骤2060~2070请参考步骤1060~1070,在此不再赘述。
步骤2080:根据相机各像素点的相位值的整数部分θ base 、第一绝对相位θ 1、第一基数T b 和第二基数T s 解得相机各像素点的第一解码相位值θ d 。具体的,若θ 1和θ base 符合第一预设条件,则θ d =θ base +T b +θ 1,其中第一预设条件指θ 1>0.25T s 且θ base %T s >0.5T s ;若θ 1和θ base 符合第二预设条件,则θ d =θ base -T b +θ 1,其中第二预设条件指θ 1>0.75T s 且θ base %T s <0.5T s ;若θ 1和θ base 既不符合第一预设条件也不符合第二预设条件,则θ d =θ base +θ 1-T b /T s 。
如前文所述,实际编码相位值呈周期分布,那么解得到的第一绝对相位θ 1也呈周期分布,每个周期实际上对应着正弦曲线的一个周期。由于T s 为T b 的两倍,因此每个周期内前半周期和后半周期的θ base 不同,例如表6中第一个周期的前半周期θ base =0,后半周期θ base =80。请参考图8,每个周期的前半周期θ base 较小,可认为θ base %T s <0.5T s ,后半周期θ base 较大,可认为θ base %T s >0.5T s 。需要说明的是,在整数部分的跃变处,若一个相位值的整数部分θ base %T s >0.5T s ,该相位值也可能位于下一周期的前半周期,例如取T b =80,T s =160,若某相位值的相位范围为158-162,则根据相位下限值158计算得到θ base =80,但若该相位值的具体数值为162,则其实际位于下一周期的前半周期(θ base =160)。
第一绝对相位θ 1代表了第一解码相位值θ d 在一个周期中的大致位置,若θ 1>0.25T s 且θ base %T s >0.5T s 则说明第一解码相位值θ d 在1/4周期之后,可能位于前半周期和后半周期的交界处,此时采用θ d =θ base +T b +θ 1进行计算;若θ 1>0.75T s 且θ base %T s <0.5T s 则说明第一解码相位值θ d 在3/4周期之后,可能位于前一周期和后一周期的交界处,此时采用θ d =θ base -T b +θ 1进行计算;其余情况则采用θ d =θ base +θ 1-T b /T s 进行计算。
为方便说明,假设一种实施例中根据表7的实际编码相位值进行第一正弦条纹投影后解得的第一绝对相位θ 1与表7相同,对应的相机各像素点的相位范围如表4所示,整数部分如表6所示。则根据上述计算逻辑,对于第一绝对相位159采用θ d =θ base -T b +θ 1进行计算,得到θ d =159;对于第一绝对相位1采用θ d =θ base +θ 1-T b /T s 进行计算,得到θ d =160.5,以此类推。计算过程和结果如表8所示。
表8 一种实施例中第一解码相位值的计算过程和结果
…… | 80-80+159=159 | 160+1-80/160=160.5 | …… |
…… | 80-80+158=158 | 160-160+161=161 | …… |
…… | 80+80+2=162 | 160+3-80/160=162.5 | …… |
可以看到作为最终解码结果的第一解码相位值均在表4所示的相位范围内,实现了准确解码。
本实施例的条纹投影的相位解码方法,保持了在不降低相位解码精度的同时减少条纹投影图像张数的效果,还弥补了在整数部分跃变处由于解码相位值存在二义性导致相位解码不准确的不足,进一步提高了相位解码的准确性。
一些实施例中,步骤1060和步骤2060中投影仪在进行第一正弦条纹投影时,分别投影两种不同频率的正弦条纹图像,每种正弦条纹图像均根据四步相移法进行投影,两种正弦条纹图像分别为第一正弦条纹图像和第二正弦条纹图像。第一正弦条纹图像和第二正弦条纹图像的节距分别为p 1和p 2。将第一正弦条纹图像投影到物体表面后进行拍摄,可以解出相机上任一像素点(u,v)的包裹相位φ 1(u,v),即根据第一正弦条纹图像可以解得像素点(u,v)的包裹相位φ 1(u,v),同理根据第二正弦条纹图像可以解得像素点(u,v)的包裹相位φ 2(u,v),解包裹相位的方法可参考现有技术。
根据三角公式,两个不同频率的正弦波混合叠加后将产生另外一种频率的正弦波,这里的叠加指相位矢量的叠加,将第一正弦条纹图像和第二正弦条纹图像叠加后得到节距为p 12且频率更低的正弦条纹图像。第一正弦条纹图像和第二正弦条纹图像叠加后的节距p 12可表示为
,
第一正弦条纹图像和第二正弦条纹图像叠加后得到的像素点(u,v)的包裹相位φ 12(u,v)可表示为
。
此时相机上任一像素点(u,v)的第一绝对相位θ 1由以下公式确定:
, (2)
其中表示像素点(u,v)的第一绝对相位。因此,一种实施例中,在进行第一正弦条纹投影时投影仪分别投影两种不同频率的正弦条纹图像,分别为第一正弦条纹图像和第二正弦条纹图像,每种正弦条纹图像均根据四步相移法进行投影,第一绝对相位θ 1由公式(2)确定。
当选择的p 1、p 2合适时,节距刚好覆盖整个测量区域。用p表示正弦条纹图像的节距,W表示正弦条纹图像的宽度分辨率,即测量区域的宽度,K表示正弦条纹图像的周期数,根据p=W/K,可知第一正弦条纹图像和第二正弦条纹图像的周期相差1时,p 12=W,即叠加后的节距刚好覆盖整个测量区域。
受环境的影响,在相位解码的过程中难免会出现解码异常,导致进行三维重建时出现异常重建值,针对这种情况,本发明一些实施例中将投影仪-相机系统视为一个双目系统,投影第二个方向的正弦条纹并进行相位解码,根据两次解码的结果求出相机像素点在投影仪图像平面上的对应像素点,检验该像素点及其在相机坐标系下的点是否满足对极约束条件,剔除不满足条件的像素点,以避免由其导致的异常重建值,提高重建的稳定性和精度。请参考图9,其中一个实施例中,在步骤1050之后还包括步骤1061~1110,下面具体说明。
步骤1061:获取被测物体的第二条纹投影图像。第二条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第二正弦条纹投影时,对被测物体拍摄的图像。
投影方式请参考步骤1060,其中第二正弦条纹投影的条纹方向与第一正弦条纹投影的条纹方向正交,例如第一正弦条纹投影的条纹方向如图6所示,则第二正弦条纹投影的条纹方向如图10所示。
步骤1071:对第二条纹投影图像进行解相位处理以得到相机各像素点的第二绝对相位θ 2。
步骤1081:将相机各像素点的相位值的整数部分θ base 与第二绝对相位θ 2相加得到相机各像素点的第二解码相位值。
步骤1090:利用第一解码相位值θ d 和第二解码相位值获得相机像素点在投影仪图像平面上的对应像素点p proj ,根据相机与投影仪之间的位置变换关系获得像素点p proj 在相机坐标系下的对应点p c 。
由步骤1030的说明可知,投影仪图像平面上每个像素点对应一个相位值,该相位值与像素点的行或列坐标有关,通过正交的两个方向的投影,则可以分别根据两个相位值确定像素点的行坐标和列坐标,即x坐标和y坐标,从而确定一像素点,因此利用相机像素点的第一解码相位值θ d 和第二解码相位值即可获得相机像素点在投影仪图像平面上的对应像素点p proj 。
步骤1100:校验像素点p proj 和点p c 是否满足对极约束条件,若不满足则执行步骤1110。
对极约束是双目系统中两成像平面对应点应满足的条件。请参考图11,C和分别是左相机和右相机的光心,R和/>分别是左相机和右相机的成像平面,空间中一点M在左相机中所成的像为点m,在右相机中所成的像为点/>。为了得到点m在右相机的对应点/>,可以通过已标定的左相机和右相机的位置关系得到平面Π,则点M、/>和/>均位于平面Π上,并且点/>应位于线段/>上,这一条件即为对极约束条件。
本实施例中将投影仪视为另一相机,通过校验投影仪图像平面上的像素点p proj 与其在相机坐标系下的对应点p c 是否满足对极约束条件来判断像素点p proj 是否为无效像素。本发明一种实施例中,提出借助标定板图像提取特征点(例如对于棋盘格标定板来说特征点是棋盘格的角点,对于圆阵列标定板来说特征点是圆形标志点的圆心),利用特征点的第一解码相位值θ d 和第二解码相位值及图像坐标计算对极矩阵F,通过校验是否成立来校验像素点p proj 和点p c 是否满足对极约束条件,其中ε为预设的对极误差。
具体的,首先放置标定板,获取相机拍摄的标定板图像,提取标定板图像上的多个特征点的图像坐标(I x ,I y ),并根据图像坐标(I x ,I y )获取相应的第一解码相位值θ d 和第二解码相位值;利用该多个特征点的图像坐标(I x ,I y )和相应的第一解码相位值θ d 及第二解码相位值/>,求解以下线性最小二乘问题以得到对极矩阵F:/>
,
其中;最后校验/>是否成立,若成立则像素点p proj 和点p c 满足对极约束条件,否则不满足对极约束条件。为了能够计算出对极矩阵F,优选地,所提取的特征点的数量不少于八个。求解上述线性最小二乘问题可以采用SVD(Singular Value Decomposition,奇异值分解)的方法。
步骤1110:将像素点p proj 视为无效像素。后续在进行三维重建时不考虑该像素点。
请参考图12,在另一个实施例中,在步骤2050之后还包括步骤2061~2110,下面具体说明。
步骤2061:获取被测物体的第二条纹投影图像。第二条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第二正弦条纹投影时,对被测物体拍摄的图像。
投影方式请参考步骤1060,其中第二正弦条纹投影的条纹方向与第一正弦条纹投影的条纹方向正交。
步骤2071:对第二条纹投影图像进行解相位处理以得到相机各像素点的第二绝对相位θ 2。
步骤2081:根据相机各像素点的相位值的整数部分θ base 、第二绝对相位θ 2、第一基数T b 和第二基数T s 解得相机各像素点的第二解码相位值。具体的计算方式请参考步骤2080。
步骤2090:利用第一解码相位值θ d 和第二解码相位值获得相机像素点在投影仪图像平面上的对应像素点p proj ,根据相机与投影仪之间的位置变换关系获得像素点p proj 在相机坐标系下的对应点p c 。
步骤2100:校验像素点p proj 和点p c 是否满足对极约束条件,若不满足则执行步骤2110。具体的校验方式请参考步骤1100。
步骤2110:将像素点p proj 视为无效像素。后续在进行三维重建时不考虑该像素点。
一些实施例中,在步骤1110和步骤2110获得无效像素之后,还可以包括:对于无效像素,建立几何约束条件,计算满足几何约束条件和对极约束条件的点替代像素点p proj 。如此便实现了对无效像素的矫正。
其中几何约束条件用于限制点的位置,使其与像素点p proj 的距离在一定范围内。几何约束条件可根据实际需要设置,一种实施例中可以采用几何约束一阶近似,表达式为/>,那么可以通过求解以下目标优化问题得到点:
,
其中Ω表示所有无效像素的集合,为几何约束条件,/>为对极约束条件。
上述目标优化问题可以通过最小二乘法求解,其近似的求解公式如下:
,
其中x c 和y c 分别为p c 的x坐标和y坐标,x proj 、y proj 分别为p proj 的x坐标和y坐标,(Fp proj ) j 表示Fp proj 的第j个元素,(Fp c ) j 表示Fp c 的第j个元素,表示Fp proj 的第j个元素的平方,/>表示Fp c 的第j个元素的平方,/>和/>分别为矫正后p proj 的x坐标和y坐标,即/>的x坐标和y坐标,/>和/>分别为矫正后p c 的x坐标和y坐标。
后续根据矫正后的点进行三维重建,这样重建出的点更接近于满足对极约束,具有更小的重建误差。
本发明提供的条纹投影的相位解码方法可以应用于任意条纹投影方法中,由于利用了相机的景深范围这一先验约束信息,先计算出解码相位值的整数部分,仅需对小数部分进行条纹投影传递,从而能够减少投影图像的张数;并且将解码相位值分为整数部分和小数部分,将小数部分通过条纹投影进行传递,有利于提高相位解码的精度。从而实现了在不降低解码精度的同时,减少投影图像的张数,或者在需要增加投影图像的张数进一步减少解码错误时,相比传统的投影明暗反转图像等方案使用更少的额外辅助图像;在减少投影图像张数的同时,不降低三维测量或者三维重建的精度,也不减少三维重建的局部细节,在面对高速高精度重建的场景时具有更好的性能。并且根据景深范围约束来提供相位范围的先验限制在对三维测量系统进行标定的阶段就可以完成,实施起来非常方便,不增加额外的解码负担,可以较快地改造适应现有主流结构光三维测量算法方案,而不会增加不良影响。
一些实施例中,通过引入正交的第二个方向的条纹投影确定相机像素点在投影仪图像平面上的对应像素点p proj ,并根据对极约束条件剔除解码异常的像素点,使三维重建具有更高的可靠性。同时双方向投影可以抑制一些杂散光的影响,进一步提高三维重建的成像质量。
一些实施例中,针对无效像素还建立几何约束条件计算近似满足对极约束条件的点替代无效像素,提高了三维重建的精度。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (10)
1.一种条纹投影的相位解码方法,其特征在于,包括:
标定相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系;
根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素点在投影仪图像平面上对应像素点的位置范围;
根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围[θ down ,θ up ],其中θ up 是相位上限值,θ down 是相位下限值;
根据相机每个像素点的相位范围和预设的第一基数T b ,计算并存储相机每个像素点的相位值的整数部分θ base ,其中T b 为正整数,整数部分θ base 为能被第一基数T b 整除的整数中,比相位下限值θ down 小且最接近相位下限值θ down 的一个;
利用预设的第二基数T s 对投影仪图像平面上各像素点预设的待编码相位值θ en 进行求余,获得投影仪图像平面上各像素点的实际编码相位值,其中第二基数T s 为第一基数T b 的两倍;
获取被测物体的第一条纹投影图像,所述第一条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第一正弦条纹投影时,对被测物体拍摄的图像;
对所述第一条纹投影图像进行解相位处理以得到相机各像素点的第一绝对相位θ 1;
根据相机各像素点的相位值的整数部分θ base 、第一绝对相位θ 1、第一基数T b 和第二基数T s 解得相机各像素点的第一解码相位值θ d ;其中若θ 1和θ base 符合第一预设条件,则θ d =θ base +T b +θ 1,其中第一预设条件指θ 1>0.25T s 且θ base %T s >0.5T s ;若θ 1和θ base 符合第二预设条件,则θ d =θ base -T b +θ 1,其中第二预设条件指θ 1>0.75T s 且θ base %T s <0.5T s ;若θ 1和θ base 既不符合第一预设条件也不符合第二预设条件,则θ d =θ base +θ 1-T b /T s ;其中%表示求余运算。
2.如权利要求1所述的相位解码方法,其特征在于,还包括:
获取被测物体的第二条纹投影图像,所述第二条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第二正弦条纹投影时,对被测物体拍摄的图像,其中第二正弦条纹投影的条纹方向与第一正弦条纹投影的条纹方向正交;
对所述第二条纹投影图像进行解相位处理以得到相机各像素点的第二绝对相位θ 2;
根据相机各像素点的相位值的整数部分θ base 、第二绝对相位θ 2、第一基数T b 和第二基数T s 解得相机各像素点的第二解码相位值;
利用第一解码相位值θ d 和第二解码相位值获得相机像素点在投影仪图像平面上的对应像素点p proj ,根据相机与投影仪之间的位置变换关系获得像素点p proj 在相机坐标系下的对应点p c ;
校验像素点p proj 和点p c 是否满足对极约束条件,若不满足则将像素点p proj 视为无效像素。
3.一种条纹投影的相位解码方法,其特征在于,包括:
标定相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系;
根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素点在投影仪图像平面上对应像素点的位置范围;
根据相机每个像素点在投影仪图像平面上对应像素点的位置范围,获得相机每个像素点的相位范围[θ down ,θ up ],其中θ up 是相位上限值,θ down 是相位下限值;
根据相机每个像素点的相位范围和预设的第二基数T s ,计算并存储相机每个像素点的相位值的整数部分θ base ,其中T s 为正整数,整数部分θ base 为能被第二基数T s 整除的整数中,比相位下限值θ down 小且最接近相位下限值θ down 的一个;
利用第二基数T s 对投影仪图像平面上各像素点预设的待编码相位值θ en 进行求余,获得投影仪图像平面上各像素点的实际编码相位值;
获取被测物体的第一条纹投影图像,所述第一条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第一正弦条纹投影时,对被测物体拍摄的图像;
对所述第一条纹投影图像进行解相位处理以得到相机各像素点的第一绝对相位θ 1;
将相机各像素点的相位值的整数部分θ base 与第一绝对相位θ 1相加得到相机各像素点的第一解码相位值θ d 。
4.如权利要求1或3所述的相位解码方法,其特征在于,相机的成像参数包括相机的畸变系数,投影仪的成像参数包括投影仪的内参,相机与投影仪之间的位置变换关系包括由相机坐标系向投影仪坐标系转换的变换矩阵,所述根据相机的景深范围,利用相机的成像参数、投影仪的成像参数以及相机与投影仪之间的位置变换关系,计算得到相机每个像素在投影仪图像平面上对应像素点的位置范围,包括:
对于相机每个像素点,将景深范围上界值H up 作为工作距离w d 代入公式计算得到该像素点对应于景深上界的物理坐标/>,将景深范围下界值H down 作为工作距离w d 代入公式/>计算得到该像素点对应于景深下界的物理坐标/>,其中(u,v)表示相机像素点的图像坐标,K是相机的畸变系数矩阵,/>,/>、/>和/>分别是物理坐标/>的x分量、y分量和z分量,/>,/>、/>和/>分别是物理坐标/>的x分量、y分量和z分量;
根据以下公式计算得到像素点在投影仪图像平面上对应于景深上界的像素点的坐标:
;
根据以下公式计算得到像素点在投影仪图像平面上对应于景深下界的像素点的坐标:
,
其中和/>分别为像素点/>和像素点/>在投影仪齐次坐标系中对应的齐次项,H为由相机坐标系向投影仪坐标系转换的变换矩阵,K proj 为投影仪的内参矩阵。
5.如权利要求1或3所述的相位解码方法,其特征在于,在进行第一正弦条纹投影时投影仪分别投影两种不同频率的正弦条纹图像,每种正弦条纹图像均根据四步相移法进行投影,两种正弦条纹图像分别为第一正弦条纹图像和第二正弦条纹图像,所述第一绝对相位θ 1由以下公式确定:
,
其中表示像素点(u,v)的第一绝对相位,φ 1(u,v)和φ 2(u,v)分别表示根据所述第一正弦条纹图像和所述第二正弦条纹图像解得的像素点(u,v)的包裹相位,p 1和p 2分别为所述第一正弦条纹图像和所述第二正弦条纹图像的节距,φ 12(u,v)表示所述第一正弦条纹图像和所述第二正弦条纹图像叠加后得到的像素点(u,v)的包裹相位,且
,
p 12表示所述第一正弦条纹图像和所述第二正弦条纹图像叠加后的节距,且
。
6.如权利要求3所述的相位解码方法,其特征在于,还包括:
获取被测物体的第二条纹投影图像,所述第二条纹投影图像为相机在投影仪根据图像平面上各像素点的实际编码相位值对被测物体进行第二正弦条纹投影时,对被测物体拍摄的图像,其中第二正弦条纹投影的条纹方向与第一正弦条纹投影的条纹方向正交;
对所述第二条纹投影图像进行解相位处理以得到相机各像素点的第二绝对相位θ 2;
将相机各像素点的相位值的整数部分θ base 与第二绝对相位θ 2相加得到相机各像素点的第二解码相位值;
利用第一解码相位值θ d 和第二解码相位值获得相机像素点在投影仪图像平面上的对应像素点p proj ,根据相机与投影仪之间的位置变换关系获得像素点p proj 在相机坐标系下的对应点p c ;
校验像素点p proj 和点p c 是否满足对极约束条件,若不满足则将像素点p proj 视为无效像素。
7.如权利要求2或6所述的相位解码方法,其特征在于,所述校验像素点p proj 和点p c 是否满足对极约束条件包括:
获取相机拍摄的标定板图像;
提取所述标定板图像上的多个特征点的图像坐标(I x , I y ),获取相应的第一解码相位值θ d 和第二解码相位值;
利用所述多个特征点的图像坐标(I x , I y )和相应的第一解码相位值θ d 及第二解码相位值,求解以下线性最小二乘问题以得到对极矩阵F:
,
其中;
校验是否成立,若成立则像素点p proj 和点p c 满足对极约束条件,否则不满足对极约束条件,其中ε为预设的对极误差。
8.如权利要求7所述的相位解码方法,其特征在于,还包括:对于无效像素,建立几何约束条件,计算满足几何约束条件和对极约束条件的点替代像素点p proj 。
9.如权利要求8所述的相位解码方法,其特征在于,通过求解以下目标优化问题得到点:
,
其中Ω表示所有无效像素的集合,为几何约束条件,/>为对极约束条件。
10.一种计算机可读存储介质,其特征在于,所述介质上存储有程序,所述程序能够被处理器执行以实现如权利要求1-9中任一项所述的相位解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310812841.1A CN116558445B (zh) | 2023-07-05 | 2023-07-05 | 一种条纹投影的相位解码方法、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310812841.1A CN116558445B (zh) | 2023-07-05 | 2023-07-05 | 一种条纹投影的相位解码方法、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116558445A CN116558445A (zh) | 2023-08-08 |
CN116558445B true CN116558445B (zh) | 2023-09-12 |
Family
ID=87500382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310812841.1A Active CN116558445B (zh) | 2023-07-05 | 2023-07-05 | 一种条纹投影的相位解码方法、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116558445B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104897083A (zh) * | 2015-06-11 | 2015-09-09 | 东南大学 | 一种基于投影仪散焦解相位的光栅投影三维快速测量方法 |
CN108592824A (zh) * | 2018-07-16 | 2018-09-28 | 清华大学 | 一种基于景深反馈的变频条纹投影结构光测量方法 |
CN113205592A (zh) * | 2021-05-14 | 2021-08-03 | 湖北工业大学 | 一种基于相位相似性的光场三维重建方法及系统 |
CN113418472A (zh) * | 2021-08-24 | 2021-09-21 | 深圳市华汉伟业科技有限公司 | 三维测量方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110230994B (zh) * | 2019-04-30 | 2020-08-14 | 浙江大学 | 像点溯源的物体光栅图像相移法相位测量误差校正方法 |
-
2023
- 2023-07-05 CN CN202310812841.1A patent/CN116558445B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104897083A (zh) * | 2015-06-11 | 2015-09-09 | 东南大学 | 一种基于投影仪散焦解相位的光栅投影三维快速测量方法 |
CN108592824A (zh) * | 2018-07-16 | 2018-09-28 | 清华大学 | 一种基于景深反馈的变频条纹投影结构光测量方法 |
CN113205592A (zh) * | 2021-05-14 | 2021-08-03 | 湖北工业大学 | 一种基于相位相似性的光场三维重建方法及系统 |
CN113418472A (zh) * | 2021-08-24 | 2021-09-21 | 深圳市华汉伟业科技有限公司 | 三维测量方法和系统 |
Non-Patent Citations (1)
Title |
---|
中国剩余定理相位解包裹方法的改进;赵甜甜等;《计算机与数字工程》;第48卷(第9期);第2077-2082页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116558445A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109489585B (zh) | 基于改进多频条纹结构光的三维测量方法 | |
JP5029618B2 (ja) | パターン投影法による3次元形状計測装置、方法およびプログラム | |
CN110689581A (zh) | 结构光模组标定方法、电子设备、计算机可读存储介质 | |
TWI573984B (zh) | 圖像匹配系統及方法 | |
CN113129430B (zh) | 基于双目结构光的水下三维重建方法 | |
Barone et al. | 3D acquisition and stereo-camera calibration by active devices: A unique structured light encoding framework | |
CN113506348B (zh) | 一种基于格雷码辅助的三维坐标计算方法 | |
CN114111633A (zh) | 结构光三维测量的投影机镜头畸变误差校正方法 | |
CN104501741B (zh) | 一种用于三维面形测量的正交光栅相移方法 | |
JP2017116420A (ja) | データ処理装置およびその方法 | |
JP5761750B2 (ja) | 画像処理方法および装置 | |
CN110160468B (zh) | 一种针对运动对象的散焦光栅投影三维测量方法 | |
Guo et al. | High-quality defocusing phase-shifting profilometry on dynamic objects | |
CN116608794B (zh) | 一种抗纹理3d结构光成像方法、系统、装置及存储介质 | |
CN116558445B (zh) | 一种条纹投影的相位解码方法、计算机可读存储介质 | |
CN116824047A (zh) | 一种基于条纹图像增强的结构光三维重建方法 | |
CN116977560A (zh) | 基于结构光的三维重建方法、装置、设备及存储介质 | |
CN114708316B (zh) | 基于圆形条纹的结构光三维重建方法、装置和电子设备 | |
KR20190103833A (ko) | 실시간 3차원 데이터 측정 방법 | |
NL2016286B1 (en) | Displacement sensor. | |
Sun et al. | A planar-dimensions machine vision measurement method based on lens distortion correction | |
Sun et al. | A new method of camera calibration based on the segmentation model | |
CN212843399U (zh) | 一种便携的三维测量设备 | |
CN113916153B (zh) | 一种主被动结合的结构光三维测量方法 | |
CN116818129B (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 |