CN110926370B - 测量方法和系统 - Google Patents
测量方法和系统 Download PDFInfo
- Publication number
- CN110926370B CN110926370B CN201911099952.2A CN201911099952A CN110926370B CN 110926370 B CN110926370 B CN 110926370B CN 201911099952 A CN201911099952 A CN 201911099952A CN 110926370 B CN110926370 B CN 110926370B
- Authority
- CN
- China
- Prior art keywords
- grid
- point
- column
- arrow
- center point
- 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
Images
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
Abstract
本发明实施例提供了一种测量方法和系统。所述测量方法包括:采用标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,所述多种箭矢符号分别在同一平面上指向所述基元数个方向;通过所述目标物体的反射,采集所述标准编码图像的变形编码图像;对所述变形编码图像进行解码,以确定所述目标物体的三维特征。本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了码简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性。
Description
技术领域
本发明属于三维测量技术领域,尤其涉及一种测量方法和系统。
背景技术
随着三维测量技术的发展,基于面结构光的3D测量技术受到广泛的应用。结构光3D测量技术是利用光源将预先编码好的结构光投影至待测物体表面,物体表面的高度变化将造成结构光编码图像发生形变,利用相机拍摄形变的编码图案,并对变形编码图案进行解调,即可获得物体的3D数据。根据结构光编码方式的不同,面结构光技术分为时间编码、空间编码、直接编码。时间编码需要采集多幅图片才能进行稳定的解码,直接编码则容易受到环境光和噪声的影响,而空间编码方式只需要单张图片即可进行解码,能够应用于高速测量场景。
目前常用的空间编码方式是基于M阵列的空间编码方式,M阵列是伪随机阵列在二维上面的扩展。大小为j*i矩阵的M阵列上任意一个特征点的码值,由其特定大小邻域网格的码字共同决定,且在该M阵列中每个特征点码值都是唯一的,因此能够实现单帧图片的快速解码。M阵列本身是一种伪随机数字序列按照特定方式所构成的矩阵,实际视觉应用中,利用图像符号来替代每个数字,从而形成M阵列结构光。而其中图像符号的选择决定着后期解码难易程度和准确性。传统的图像字符有涉及颜色编码的彩色符号编码,通过增加颜色通道能够实现更加复杂的编码,但彩色编码的颜色值受到物体表面光照因素和颜色影响较大,适用场景有限;因此黑白编码使用更加广泛。
发明内容
有鉴于此,本发明实施例提供了一种测量方法和系统,相对于传统符号编码技术,能够实现准确的符号定位和高效的码值恢复。
一方面,提供了一种测量方法,包括:采用标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,所述多种箭矢符号分别在同一平面上指向所述基元数个方向;通过所述目标物体的反射,采集所述标准编码图像的变形编码图像;对所述变形编码图像进行解码,以确定所述目标物体的三维特征。
另一方面,提供了一种测量系统,包括:编解码装置,生成标准编码图像;投射装置,采用所述标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,所述多种箭矢符号分别在同一平面上指向所述基元数个方向;采集装置,通过所述目标物体的反射,采集所述标准编码图像的变形编码图像,其中所述编解码装置还用于对所述变形编码图像进行解码,以确定所述目标物体的三维特征。
本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明一个实施例的测量方法的示意性流程图。
图1B是根据本发明另一实施例的箭矢图示意性实施例。
图2根据本发明另一实施例的首行点和首列点,行网格和列网格搜索方式。
图3根据本发明另一实施例的不同方向的箭矢符号图。
图4根据本发明另一实施例的标准符号编码图。
图5根据本发明另一实施例的仿真变形符号编码图。
图6根据本发明另一实施例的重构编码符号网格,识别各个符号位置、邻域网格,缺失区域。
图7是根据本发明另一实施例的测量方法的示意性流程图。
图8根据本发明另一实施例的测量系统的示意性框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1A是根据本发明一个实施例的测量方法的示意性流程图。图1A的测量方法包括:
步骤110:采用标准编码图像照射目标物体,标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,伪随机数字矩阵的基元数为箭矢符号集中的箭矢符号的种类数,多种箭矢符号分别在同一平面上指向基元数个方向。
步骤120:通过目标物体的反射,采集标准编码图像的变形编码图像。
步骤130:对变形编码图像进行解码,以确定目标物体的三维特征。
本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性。
换句话说,目前存在的多种编码符号,例如规则几何形状编码方式采有圆形、圆环、矩形表示三个不同基元,虽然编码规则也比较简单,但当物体高度变化时,往往会造成符号编码图片发生形变,容易造成符号误识别,将矩形符号识别成圆形符号,且在同一次测量中需要针对不同几何符号开发出不同的定位方法,增加了解码算法的复杂性;而复杂符号编码通过复杂字符的设计能够实现大场景测量,但字码设计过于复杂,导致解码过程字码识别算法效率较低。本发明实施例利用类箭矢符号丰富的角点信息,能够快速准确的定位符号位置和符号类型;另外通过箭矢的方向来表示不同的数字信息,将多种不同的符号简化为单一符号,降低了解码算法的复杂性;在解码算法上通过粗定、精定位、交叉校验三步法来识别符号的结构位置,避免了符号遮挡和符号错位的影响,提高了解码算法的鲁棒性。
在一个具体的实施例中,例如,基元数为N,N个箭矢符号所指向的N个方向中的相邻两个方向之间成2п/N角度,其中,N为大于2的整数。当N为6时,每个箭矢符号所指向的方向之间成п/3。当N为4时,每个箭矢符号所指向的方向之间成п/2,如图1B所示。应理解,本发明实施例的基元数可以是任意的,本发明对此不作限定。此外,作为一个优选实施例,箭矢符号简单实例如图1B所示,单个矩形符号长、宽均为L,其中箭矢图案在矩形内由四点P1-P2-P3-P4-P1顺次连接包围所得,第一点P1为矩形任意边中点,P2为矩形中心点,P3为与P1相邻边的中点,P4为不与P1、P2所在边相交的顶点;箭矢图案与背景由黑白两色进行区分;通过对箭矢符号按照中心P2进行不同角度旋转,可以得到多个方向的箭矢符号。该箭矢符号的解码方法是对该符号轮廓的外接矩形进行四象限划分,统计每个象限内与符号灰度相同的前景色像素数目,根据像素数目最少的象限,来识别对应的数字码。
应理解,在一个具体的实施例中,通过目标物体的反射,采集标准编码图像的变形编码图像,可以为:将调制好的标准M整列编码图通过光源投射到待测物体表面,利用相机捕获变形编码图。
还应理解,生成标准编码图像时可以生成M阵列编码结构光图像:
1)利用穷举法生成基元数为A(A≤4),唯一性窗口大小为K1*K2的n*m伪随机M矩阵,此时n*m矩阵中任意一个K1*K2窗口的码值都是唯一的。
2)构建箭矢符号,用于替代M矩阵中的基元从而得到M阵列结构编码图。其中箭矢符号简单实例如图1B所示,单个矩形符号为长、宽均为L,其中箭矢图案在矩形内由四点P1-P2-P3-P4-P1顺次连接包围所得,第一点P1为矩形任意边中点,P2为矩形中心点,P3为与P1相邻边的中点,P4为不与P1、P2所在边相交的顶点;箭矢图案与背景由黑白两色进行区分;通过对箭矢符号按照中心P2进行不同角度旋转,可以得到多个方向的箭矢符号,可以满足多个基元来构建M阵列。
3)利用不同方向的箭矢图来替代M矩阵中不同的数字基元,生成标准M整列编码图。
根据图1A的测量方法,对变形编码图像进行解码,以确定目标物体的三维特征,包括:确定变形编码图像中的多个箭矢符号的各自中心点位置;基于多个箭矢符号的各自中心点位置,确定多个箭矢符号之间的邻域网格;基于邻域网格,将变形编码图像恢复为具有基元数的数字矩阵。具体而言,对变形编码图进行解码,可以为:对拍摄所得的编码图进行基本滤波、二值化等预处理操作,实现噪声抑制、图像增加效果。提取编码符号中心点位置,首先,对完成二值化后的变形编码图进行轮廓提取,并筛选轮廓,移除较大轮廓和较小轮廓,保留与矢量符号轮廓大小近似的轮廓;其次,定位轮廓中心点坐标,中心点的定位方式是求取该轮廓外接矩形区域离重心最近的角点;筛选得到n个符合要求的轮廓C1、C2...Cn和对应的中心点位置P1(x,y)、P2(x,y)...Pn(x,y)。构建中心点P(x,y)之间的邻域网格。由于每一个中点Px(x,y)码值由其K1*K2邻域网格的中心点共同确认,因此只有正确建立编码符号之间的行列网格,才能准确确认每个字符的邻域网格。
根据图1A的测量方法,基于多个箭矢符号的各自中心点位置,确定多个箭矢符号之间的邻域网格,包括:基于多个箭矢符号的各自中心点位置,进行各点的取舍,以确定邻域网格中的初始首行点向量和初始首列点向量,其中初始列网格具有平均行距,初始行网格具有平均列距;基于当前行距和初始首列点向量,确定最终首列点向量,其中当前行距由上一行距和平均行距基于第一权值加权得到;基于当前列距和初始首行点向量,确定最终首行点向量,其中当前列距由上一列距和平均列距基于第二权值加权得到;分别基于最终首列点向量和最终首行点向量,确定列网格和行网格;基于列网格和行网格形成邻域网格。其中第一权值可以等于第二权值。
具体而言,对于基于多个箭矢符号的各自中心点位置,进行各点的取舍,以确定邻域网格中的初始首行点向量和初始首列点向量,可以采用粗定位的方式来实现,其中粗定位的目的是找到符号编码图中首行点向量、首列点向量、平均行距Dr、平均列距Dc。具体可以采用如下两个步骤实现:
例如,粗定位步骤一、计算各中心点P1(x,y)、P2(x,y)...Pn(x,y)到左上顶点欧式距离,取欧式距离最小的点为左上顶点Pf(xf,yf)。以Pf(xf,yf)为起始点,向X方向搜索,将y坐标值在[yf-Ty,yf+Ty]范围内的点P(x,y),按照x值由小到大排列为首行点以Pf(xf,yf)为起始点,向Y方向搜索,将x坐标值在[xf-Tx,xf+Tx]范围内的点P(x,y),按照y值由小到大排列为首列点其中Tx和Ty分别为x方向和y方向容忍阈值。
粗定位步骤二、确立首行点和首列点之后,对首行点向量中每一个点Pr_k(xk,yk)依次向Y方向进行搜索,将x值在xk±Tx范围内的点按照y值从小到大,将点坐标P(x,y)添加入以Pr_k点为首的列向量中,并求该列向量中相邻点的平均距离为dr_k;当首行点向量中有nr个点时,nr个列向量按照首行点向量进行排列,即可构成列网格,并求平均行距Dr=(dr_1+dr_2+...+dr_nr)/nr;
与此类似,对首列点向量中每一个点Pc_k(xk,yk)依次向X方向进行搜索,将y值在yk±Ty范围内的点按照x值从小到大,将点坐标P(x,y)添加入以Pc_k点为首的行向量中,并求该行向量中相邻点的平均距离为dc_k;当首列点向量中有nc个点时,nc个行向量按照首列点向量进行排列,即可构成行网格。
搜索方式如图2简图示出的首行和首列点以及行网格和列网格对应的搜索方向。
对于基于当前行距和初始首列点向量,确定最终首列点向量,以及基于当前列距和初始首行点向量,确定最终首行点向量,可以采用精定位方式来实现。
具体可以采用如下两个步骤:
例如,精定位步骤一、利用粗定位中获取的Pf(xf,yf)、平均行距Dr、平均列距Dc,重新确定首行点向量首列点向量首行点向量计算方法,以Pf(xf,yf)为起始点,向X方向搜索,以P(xf+Dc,yf)为搜索中心在Ty*Tx窗口内进行搜索,当存在P(x,y)在该搜索区域时,则取离P(xf+Dc,yf)最近的点为首行点向量中的第二点。同理,当n>2时,中第n-1个点的坐标为P(xr_n-1,yr_n-1),取第n-2点到第n-1点的距离为Dpre_c,记DCurrent_c=βDpre_c+(1-β)Dc,其中β为所述第一权值的实施例,并且为权重因子,取值范围[0,1]。则第n个点是以P(xr_n-1+DCurrent_c,yr_n-1)为中心在Ty*Tx窗口内进行搜索,当存在满足要求的点,则将则取离P(xr_n-1+DCurrent_c,yr_n-1)最近的点为首行点向量中的第n点,当窗口Ty*Tx内不存在P(x,y)时,则默认插入PNaN(x,y)=P(xr_n-1+DCurrent_c,yr_n-1)点为中的第n点,并对该点进行无效点标记。当xr_n+DCurrent_c-Tx>xmax时停止搜索,其中xmax中为所有P(x,y)中最大x坐标值。
首列点向量计算方法,以Pf(xf,yf)为起始点,向Y方向搜索,以P(xf,yf+Dr)为搜索中心在Ty*Tx窗口内进行搜索,当存在P(x,y)在该搜索区域时,则取离P(xf,yf+Dr)最近的点为首列点向量中的第二点。同理,当n>2时,中第n-1个点的坐标为P(xc_n-1,yc_n-1),取第n-2点到第n-1点的距离为Dpre_r,记DCurrent_r=βDpre_r+(1-β)Dr。则第n个点是以P(xc_n-1,yc_n-1+DCurrent_r)为中心在Ty*Tx窗口内进行搜索,当存在满足要求的点,则将则取离P(xc_n-1,yc_n-1+DCurrent_r)最近的点为首列点向量中的第n点,当窗口Ty*Tx内不存在P(x,y)时,则默认插入PNaN(x,y)=P(xc_n-1,yc_n-1+DCurrent_r)点为中的第n点,并对该点进行无效点标记。当yc_n+DCurrent_r-Ty>ymax时停止搜索,其中ymax中为所有P(x,y)中最大y坐标值。
其中这里的β权重因子是所述第二权值的实施例。应理解,第二权值可以与第一权值相同,也可以与第一权值不同。通过调整β权重因子的值可以对网格中心的点选择进行局部优化,能够提高算法对变形编码网格重构的能力。
精定位步骤二、确立首行点向量首列点向量之后。对首行点向量中每一个点Pr_k(xk,yk)依次向Y方向进行搜索,得到以Pr_k点为首的列向量搜索方式与首列点向量相同。当首行点向量中有nr个点时,nr个列向量按照首行点向量进行排列,即可构成列网格。
对首列点向量中每一个点Pc_k(xk,yk)依次向X方向进行搜索,得到以Pc_k点为首的列向量搜索方式与首行点向量相同。当首列点向量中有nc个点时,nc个行向量按照首列点向量进行排列,即可构成行网格。
换句话说,粗定位用于识别编码图的首行点坐标、首列点坐标以及网格化的平均行距和平均列距。在粗定位的基础上,精定位利用全局参数平均行距、平均列距和局部权重因子β重新定位首行点坐标、首列点坐标,并进一步来构建行网格和列网格。最后利用精定位获得的行、列网格进行交叉校验得到最终符号邻域网格。
根据图1A的测量方法,列网格和行网格中的点为有效点,不在列网格和行网格中的点置于备选向量中作为无效点,其中基于列网格和行网格确定邻域网格,包括:基于行网格中心点的坐标值和列网格中心点的坐标值,确定邻域网格中的目标网格中心点的坐标值,其中如果行网格中心点和列网格中心点的坐标值相同并且均为有效点,则将行网格中心点或列网格中心点作为目标网格的中心点,如果行网格中心点和列网格中心点的坐标值不同并且均为有效点,则将其中与目标网格的中心点距离近的点作为目标网格的中心点,并将另一个点置于备选向量中,如果行网格中心点和列网格中心点的坐标值不同并且其中有一者为有效点,另一者为无效点,则将有效点作为目标网格的中心点,如果行网格中心点和列网格中心点均为无效点,则在备选向量中确定目标网格的中心点。具体而言,利用以上步骤获得的行网格、列网格以及平均行距Dr、平均列距Dc、Tx、Ty来做最终验证。当行网格的行数为Ng,列网格的列数为Mg时,最终计算得到的网格化中心点的网格大小为Ng*Mg。其中每个网格放置一个中心点坐标P(x,y)。对于Ng*Mg网格按照行从左到右,填充坐标值。在对n行、m列处Ng*Mg网格进行填充时,一般存在以下几种情况,令,n行、m列处行网格中心点坐标值为Pr_n_m(x,y),列网格中心点坐标值为Pc_n_m(x,y),Ng*Mg网格的中心点坐标值为Pg_n_m(x,y)。如果Pr_n_m(x,y)=Pc_n_m(x,y)且均为有效点,则取Pg_n_m(x,y)=Pr_n_m(x,y)。如果Pr_n_m(x,y)≠Pc_n_m(x,y)且均为有效点,则取离Pg_n_m-1(x+Dc,y)或Pg_n-1_m(x,y+Dr)距离较近的点为Pg_n_m(x,y),并将另外一点加入向量中。如果Pr_n_m(x,y)≠Pc_n_m(x,y)且其中一点为有效点,另一点标记为无效点,则取有效点为Pg_n_m(x,y)。如果Pr_n_m(x,y)、Pc_n_m(x,y)均为无效点,则尝试向量中寻找是否存在合理中心点,如果有则采用该点填充Pg_n_m(x,y)。若依然没有有效点,则Pg_n_m(x,y)=(0,0)表示无效点,并进行标记。完成以上步骤之后,即可顺利获得Ng*Mg网格。
根据图1A的测量方法,N为4,基于邻域网格,将变形编码图像恢复为具有基元数的数字矩阵,包括:确定目标网格内所包含的中心点对应轮廓的外接矩形;将外接矩形划分为四个象限;针对目标网格,统计每个象限内与轮廓的灰度相同的像素数目,来确定箭矢符号指示的方向;将与箭矢符号指示的方向对应的数字确定为数字矩阵的元素。具体而言,对Ng*Mg网格,取每个网格中心点所在轮廓的外接矩形,并将外接矩形等分为四个象限,统计每个象限内与符号灰度相同的前景色像素数目。例如当符号值前景色为1,背景值为0时,若第三象限与前景色相同的像素数目最少时,则符号箭头指向右上箭,根据箭矢的方向和4.1中的中预设的编码规则可以得到该中心点对应的数字码。用每个网格中心点的数字码,来替代坐标值,则Ng*Mg网格转变成了N*M数字矩阵。
总之,在面结构光空间编码算法中,每个符号的码值由其邻域网格符号共同决定,因此准确的确定每个字符的邻域网格,构建字符网格尤为重要。本发明中字符网格构建分为粗定位、精定位、交叉校验三个步骤,粗定位提供编码图全局基本定位信息,精定位利用全局信息和局部的权重因子来精准计算行、列网格,然后利用行、列网格进行交叉校验,获得最终字符网格分布。这种字符网格化定位方法,通过多次校验能够提高定位的鲁棒性,同时β权重因子的引入,兼顾了编码图的全局信息和局部信息,因此不仅能够实现对于复杂形变、字符缺失等编码图进行稳定、准确的网格化定位,同时还能够识别字符缺失所在区域及缺失字符个数。
图7是根据本发明另一实施例的测量方法的示意性流程图。在图7中,N为4,包括如下步骤:
710:生成基元为4,唯一性窗口大小为3*3的27*27伪随机M矩阵,矩阵如下:
[[1,1,0,1,1,2,1,1,0,1,1,2,3,2,2,3,2,2,3,2,1,1,2,3,0,1,1],
[1,1,3,3,3,0,1,0,3,2,0,3,3,2,1,2,2,3,1,1,3,0,1,3,1,1,2],
[1,1,2,2,1,3,1,3,1,2,2,1,1,1,1,3,0,1,3,1,1,0,1,1,0,2,0],
[1,0,1,2,0,2,0,0,1,1,0,2,3,2,2,1,1,1,1,0,1,1,1,1,2,2,2],
[0,0,2,2,0,2,0,2,1,3,2,1,3,1,3,0,3,1,3,1,1,3,0,1,2,2,1],
[1,1,1,0,1,0,3,2,1,3,2,2,3,1,1,2,0,2,2,3,3,1,3,0,0,1,1],
[2,1,0,1,2,2,1,2,1,2,3,2,2,1,2,0,2,3,1,3,2,1,2,1,0,2,3],
[2,3,2,2,2,3,3,3,3,3,2,1,3,1,2,2,3,0,3,0,2,2,1,2,3,3,3],
[0,1,0,0,2,2,1,1,0,2,1,3,1,2,3,3,1,1,2,2,1,2,1,1,2,0,1],
[2,1,1,1,2,1,1,1,2,2,3,1,3,0,3,2,1,1,2,2,1,2,3,3,0,2,2],
[3,2,3,2,1,1,3,1,0,1,2,2,3,2,1,2,3,1,1,2,2,1,3,1,0,0,2],
[1,0,1,3,0,2,2,1,2,1,3,1,3,3,2,1,0,0,1,1,0,2,1,0,0,3,2],
[3,1,0,1,1,3,1,2,0,2,2,1,0,0,1,2,1,0,0,2,2,2,0,0,2,2,1],
[1,3,2,0,1,0,1,2,3,1,1,0,0,3,2,2,1,2,3,0,3,1,2,2,2,2,1],
[2,1,1,1,3,2,1,1,1,2,3,2,1,1,2,2,0,1,2,0,2,2,0,3,3,3,2],
[1,2,2,3,2,2,1,0,3,2,2,2,3,2,3,1,1,0,1,3,0,1,0,1,0,1,1],
[2,2,1,2,2,0,3,2,1,1,3,1,2,1,3,2,1,2,2,1,1,2,1,1,1,1,2],
[1,1,2,2,3,0,3,0,1,3,3,0,0,1,3,2,1,1,0,0,2,0,1,3,2,3,0],
[0,3,1,2,0,1,2,3,2,0,2,0,2,3,1,2,0,1,0,2,1,1,3,0,1,1,0],
[2,2,3,2,1,1,1,1,1,1,3,2,1,1,3,2,1,0,1,2,0,3,0,3,3,2,1],
[1,0,0,1,0,0,2,2,3,2,1,2,0,2,1,2,1,1,1,0,1,0,1,2,2,2,1],
[3,2,2,2,2,0,0,3,3,2,3,0,2,3,3,1,2,1,2,2,0,1,3,2,1,0,1],
[2,0,2,3,1,1,2,0,3,2,1,1,2,3,2,2,2,3,3,1,2,0,1,0,2,1,1],
[0,1,1,3,3,2,2,0,2,0,0,0,1,3,2,1,3,2,0,3,1,0,1,3,2,1,1],
[1,0,0,1,1,2,1,2,3,1,2,3,2,3,3,2,3,2,2,1,1,1,3,2,2,3,2],
[3,3,2,1,2,2,2,2,3,1,2,3,2,3,0,2,0,1,1,3,0,0,0,1,3,0,2],
[1,3,2,0,3,1,1,2,3,2,1,1,2,2,2,3,2,0,0,0,1,1,1,0,1,3,0]]。
720:对箭矢符号图隔90度旋转一次,得到4个符号不同方向符号图。如图3所示。利用符号0,符号1,符号2,符号3分别对以上M矩阵中的0,1,2,3数字进行替换,得到图4所示M阵列编码图。
730:利用计算机仿真变形编码图。如图5所示,该变形编码图存在整体形变和部分编码符号缺失。
740:利用符号网格化定位算法对变形编码图进行定位,并构建邻域网格,计算得到编码网格化点阵图。如图6所示,其中矩形标出位置为字符缺失区域,大圆标记为缺失字符填充位置。
750:对每个网格内中心点所在符号进行解码。取中心点所在轮廓的外接矩形,并将矩形等分为四个象限,统计各个象限前景色像素的数目,记录前景色像素数目最小象限。当前景色像素数目最小象限为第3象限时对应字码为0;为第4象限时对应字码为1;为第1象限时对应字码为2;为第2象限时对应字码为3;对所有网格遍历操作,即可对整个符号网格进行解码,得到对应的数字矩阵。进一步利用3*3窗口的唯一性,可以确定每个中心点的唯一码值。
图8根据本发明另一实施例的测量系统的示意性框图。图8的测量系统包括:
编解码装置810,生成标准编码图像;
投射装置820,采用标准编码图像照射目标物体,标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,伪随机数字矩阵的基元数为箭矢符号集中的箭矢符号的种类数,多种箭矢符号分别在同一平面上指向基元数个方向;
采集装置830,通过目标物体的反射,采集标准编码图像的变形编码图像,
其中编解码装置810还用于对变形编码图像进行解码,以确定目标物体的三维特征。
本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了码简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性。
根据图8的测量系统,基元数为N,N个箭矢符号所指向的N个方向中的相邻两个方向之间成2п/N角度,其中,N为大于2的整数。
根据图8的测量系统,编解码装置具体用于:确定变形编码图像中的多个箭矢符号的各自中心点位置;
基于多个箭矢符号的各自中心点位置,确定多个箭矢符号之间的邻域网格;
基于邻域网格,将变形编码图像恢复为具有基元数的数字矩阵。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网格单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种测量方法,其特征在于,包括:
采用标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,所述箭矢符号分别在同一平面上指向所述基元数个方向;
通过所述目标物体的反射,采集所述标准编码图像的变形编码图像;
对所述变形编码图像进行解码,以确定所述目标物体的三维特征;
所述对所述变形编码图像进行解码,以确定所述目标物体的三维特征,包括:
确定所述变形编码图像中的多个箭矢符号的各自中心点位置;
基于所述多个箭矢符号的各自中心点位置,确定所述多个箭矢符号之间的邻域网格;
基于所述邻域网格,将所述变形编码图像恢复为具有所述基元数的数字矩阵;
所述基于所述多个箭矢符号的各自中心点位置,确定所述多个箭矢符号之间的邻域网格,包括:
基于所述多个箭矢符号的各自中心点位置,进行各点的取舍,以确定所述邻域网格中的初始首行点向量和初始首列点向量,其中初始列网格具有平均行距,初始行网格具有平均列距;
基于当前行距和所述初始首列点向量,确定最终首列点向量,其中所述当前行距由上一行距和所述平均行距基于第一权值加权得到;
基于当前列距和所述初始首行点向量,确定最终首行点向量,其中所述当前列距由上一列距和所述平均列距基于第二权值加权得到;
分别基于所述最终首列点向量和所述最终首行点向量,确定所述列网格和所述行网格;
基于所述列网格和所述行网格形成所述邻域网格。
2.根据权利要求1所述的测量方法,其特征在于,所述基元数为N,N个箭矢符号所指向的N个方向中的相邻两个方向之间成2п/N角度,其中,N为大于2的整数。
3.根据权利要求1所述的测量方法,其特征在于,所述第一权值等于所述第二权值。
4.根据权利要求2所述的测量方法,其特征在于,所述列网格和所述行网格中的点为有效点,不在所述列网格和所述行网格中的点置于备选向量中作为无效点,其中所述基于所述列网格和所述行网格确定所述邻域网格,包括:
基于行网格中心点的坐标值和列网格中心点的坐标值,确定所述邻域网格中的目标网格中心点的坐标值,其中
如果所述行网格中心点和所述列网格中心点的坐标值相同并且均为有效点,则将所述行网格中心点或所述列网格中心点作为所述目标网格的中心点,
如果所述行网格中心点和所述列网格中心点的坐标值不同并且均为有效点,则将其中与所述目标网格的中心点距离近的点作为所述目标网格的中心点,并将另一个点置于所述备选向量中,
如果所述行网格中心点和所述列网格中心点的坐标值不同并且其中有一者为有效点,另一者为无效点,则将有效点作为所述目标网格的中心点,
如果所述行网格中心点和所述列网格中心点均为无效点,则在所述备选向量中确定所述目标网格的中心点。
5.根据权利要求4所述的测量方法,其特征在于,所述N为4,所述基于所述邻域网格,将所述变形编码图像恢复为具有所述基元数的数字矩阵,包括:
确定所述目标网格内所包含的中心点对应轮廓的外接矩形;
将所述外接矩形划分为四个象限;
针对所述目标网格,统计每个象限内与所述轮廓的灰度相同的像素数目,来确定所述箭矢符号指示的方向;
将与所述箭矢符号指示的方向对应的数字确定为所述数字矩阵的元素。
6.一种利用权利要求1所述测量方法的测量系统,其特征在于,包括:
编解码装置,生成标准编码图像;
投射装置,采用所述标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,所述箭矢符号分别在同一平面上指向所述基元数个方向;
采集装置,通过所述目标物体的反射,采集所述标准编码图像的变形编码图像,
其中所述编解码装置还用于对所述变形编码图像进行解码,以确定所述目标物体的三维特征。
7.根据权利要求6所述的测量系统,其特征在于,所述基元数为N,N个箭矢符号所指向的N个方向中的相邻两个方向之间成2п/N角度,其中,N为大于2的整数。
8.根据权利要求6所述的测量系统,其特征在于,所述编解码装置具体用于:
确定所述变形编码图像中的多个箭矢符号的各自中心点位置;
基于所述多个箭矢符号的各自中心点位置,确定所述多个箭矢符号之间的邻域网格;
基于所述邻域网格,将所述变形编码图像恢复为具有所述基元数的数字矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911099952.2A CN110926370B (zh) | 2019-11-12 | 2019-11-12 | 测量方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911099952.2A CN110926370B (zh) | 2019-11-12 | 2019-11-12 | 测量方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110926370A CN110926370A (zh) | 2020-03-27 |
CN110926370B true CN110926370B (zh) | 2021-10-29 |
Family
ID=69852885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911099952.2A Active CN110926370B (zh) | 2019-11-12 | 2019-11-12 | 测量方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110926370B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103047943A (zh) * | 2012-12-31 | 2013-04-17 | 吉林大学 | 基于单投射编码结构光的车门外板形状尺寸检测方法 |
CN104457607A (zh) * | 2014-12-10 | 2015-03-25 | 东北大学 | 一种面向深度测量的沙漏码结构光的编解码方法 |
CN108986177A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 结构光编码方法、装置及终端设备 |
CN109540023A (zh) * | 2019-01-22 | 2019-03-29 | 西安电子科技大学 | 基于二值网格编码模板结构光的物体表面深度值测量方法 |
-
2019
- 2019-11-12 CN CN201911099952.2A patent/CN110926370B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103047943A (zh) * | 2012-12-31 | 2013-04-17 | 吉林大学 | 基于单投射编码结构光的车门外板形状尺寸检测方法 |
CN104457607A (zh) * | 2014-12-10 | 2015-03-25 | 东北大学 | 一种面向深度测量的沙漏码结构光的编解码方法 |
CN108986177A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 结构光编码方法、装置及终端设备 |
CN109540023A (zh) * | 2019-01-22 | 2019-03-29 | 西安电子科技大学 | 基于二值网格编码模板结构光的物体表面深度值测量方法 |
Non-Patent Citations (2)
Title |
---|
Three-dimensional surface reconstruction via a robust binary shape-coded structured light method;Suming Tang et al;《Optical Engineering》;20170131;014102 1-14页 * |
基于编码结构光的深度测量方法研究与实现;高海红;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190115;I138-911,第6-7、39、42-45、48-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110926370A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291584B (zh) | 识别二维码位置的方法及其系统 | |
CN106778996B (zh) | 嵌入有视觉图像的二维码的生成系统和方法以及读取系统 | |
KR101612700B1 (ko) | 매트릭스 qr코드 해독방법 | |
CN110580481B (zh) | 一种基于epi的光场图像关键位置检测方法 | |
CN109101855B (zh) | 一种基于opencv的缺失定位框二维码识别方法 | |
CN110246079A (zh) | 基于b样条曲面拟合的摄像头畸变矫正方法、系统及介质 | |
CN115761126A (zh) | 基于结构光的三维重建方法、装置、电子设备和存储介质 | |
CN108895979B (zh) | 线段编码的结构光深度获取方法 | |
CN112991517B (zh) | 一种纹理影像编解码自动匹配的三维重建方法 | |
Wijenayake et al. | Dual pseudorandom array technique for error correction and hole filling of color structured-light three-dimensional scanning | |
CN111336949B (zh) | 一种空间编码结构光三维扫描方法与系统 | |
CN110926370B (zh) | 测量方法和系统 | |
WO2020186900A1 (zh) | 窄条二维码、窄条二维码的生成、识别方法、装置及设备 | |
CN111340957B (zh) | 测量方法和系统 | |
TWI636429B (zh) | 數字編碼結構光之三維空間重建方法 | |
CN113487001B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
CN111783877B (zh) | 基于单帧网格复合编码模板结构光的深度信息测量方法 | |
CN110263597B (zh) | 一种快速准确的qr码校正方法及系统 | |
CN113838032A (zh) | 棋盘定位方法、装置、设备及存储介质 | |
Jia et al. | One-shot m-array pattern based on coded structured light for three-dimensional object reconstruction | |
CN107515844A (zh) | 字体设置方法、装置及移动设备 | |
CN111307069A (zh) | 一种密集平行线结构光三维扫描方法与系统 | |
Dai et al. | The realization of identification method for datamatrix code | |
CN112183695A (zh) | 编码方法、编码图形、编码图形读取方法和拍摄装置 | |
CN113298213B (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 |