CN116977341A - 一种尺寸测量方法及相关装置 - Google Patents
一种尺寸测量方法及相关装置 Download PDFInfo
- Publication number
- CN116977341A CN116977341A CN202311240849.1A CN202311240849A CN116977341A CN 116977341 A CN116977341 A CN 116977341A CN 202311240849 A CN202311240849 A CN 202311240849A CN 116977341 A CN116977341 A CN 116977341A
- Authority
- CN
- China
- Prior art keywords
- target
- image
- points
- point
- photometric stereo
- 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.)
- Granted
Links
- 238000000691 measurement method Methods 0.000 title claims description 57
- 238000003708 edge detection Methods 0.000 claims abstract description 188
- 239000011159 matrix material Substances 0.000 claims abstract description 169
- 230000009466 transformation Effects 0.000 claims abstract description 160
- 238000000034 method Methods 0.000 claims abstract description 112
- 238000005259 measurement Methods 0.000 claims abstract description 71
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 46
- 239000013598 vector Substances 0.000 claims description 46
- 239000003550 marker Substances 0.000 claims description 26
- 230000000007 visual effect Effects 0.000 claims description 24
- 238000012417 linear regression Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 18
- 238000002310 reflectometry Methods 0.000 claims description 17
- 230000001629 suppression Effects 0.000 claims description 14
- 238000005520 cutting process Methods 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 11
- 238000003786 synthesis reaction Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000012805 post-processing Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 32
- 238000005286 illumination Methods 0.000 abstract description 25
- 230000008859 change Effects 0.000 abstract description 15
- 230000007547 defect Effects 0.000 abstract description 12
- 238000013473 artificial intelligence Methods 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 description 81
- 238000010586 diagram Methods 0.000 description 26
- 238000007689 inspection Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000001914 filtration Methods 0.000 description 8
- 230000001788 irregular Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 229910000831 Steel Inorganic materials 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000010959 steel Substances 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 239000002184 metal Substances 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 206010028980 Neoplasm Diseases 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- UDHXJZHVNHGCEC-UHFFFAOYSA-N Chlorophacinone Chemical compound C1=CC(Cl)=CC=C1C(C=1C=CC=CC=1)C(=O)C1C(=O)C2=CC=CC=C2C1=O UDHXJZHVNHGCEC-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 244000291564 Allium cepa Species 0.000 description 1
- 229920001651 Cyanoacrylate Polymers 0.000 description 1
- 239000004830 Super Glue Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000013507 mapping Methods 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
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本申请提供了一种尺寸测量方法以及相关装置。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。其方法包括:首先,获取K个目标采集图像,以及获取光度立体模板图像;其次,根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像;然后,根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中的候选区域;最后,对候选区域中的目标对象进行边缘检测,得到的L个边缘检测点计算目标对象的尺寸数据。本申请实施例提供的方法,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响,提高了尺寸计算中的精确性及准确性。
Description
技术领域
本申请涉及光学成像技术领域,尤其涉及一种尺寸测量方法及相关装置。
背景技术
在工业制造行业的质检中,尺寸规格是个非常严格的标准,在一些应用中要求算法量测一致性误差小于2个像素,与实际值偏差小于4个像素值。如果尺寸不正确,器件的装配可能会失败,同时还可能破坏产品其他结构,因此在工业质检中,需要依赖视觉做尺寸的测量。
在实际应用中,常常由于光照、脏污等问题导致一般二维图像中关键点、关键线的位置难以精确定位,特别是在一些深色的、带包装的器件中,无论如何打光,拍摄得到的二维照片几乎难以辨认待测关键点、关键线的边界,导致对物体尺寸的测量结果不准确。
发明内容
本申请实施例提供了一种尺寸测量方法以及相关装置,解决了现有技术中对物体尺寸的测量结果不准确的问题。
本申请的一方面提供一种尺寸测量方法,包括:
获取K个目标采集图像,以及获取光度立体模板图像;其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;
根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像,其中,目标光度立体图像包括目标对象的三维信息;
根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵;
根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域;
对候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;
根据L个边缘检测点计算目标对象的尺寸数据。
本申请的另一方面提供了一种尺寸测量装置,包括:图像获取模块、光度立体合成模块、相似变换矩阵确定模块、匹配线模块、边缘检测模块及后处理计算模块;具体的:
图像获取模块,用于获取K个目标采集图像,以及获取光度立体模板图像;其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括模板对象的深度信息的图像,光度立体模板图像中包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;
光度立体合成模块,用于根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像,其中,目标光度立体图像包括目标对象的三维信息;
相似变换矩阵确定模块,用于根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵;
匹配线模块,用于根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域;
边缘检测模块,用于对候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;
后处理计算模块,用于根据L个边缘检测点计算目标对象的尺寸数据。
在本申请实施例的另一种实现方式中,边缘检测模块,还用于:
将目标光度立体图像按照候选区域进行裁剪,得到局部裁剪图像;
将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型对局部裁剪图像中的目标对象进行边缘检测,得到P个边缘候选点,其中,P为大于1的整数;
对P个边缘候选点进行线性回归处理,剔除P个边缘候选点中的异常点,得到L个边缘检测点。
在本申请实施例的另一种实现方式中,边缘检测模块,还用于:
对P个边缘候选点进行随机采样,得到N个拟合点,其中,N为大于1且小于P的整数;
根据N个拟合点,生成U条直线,其中,每条直线中包括至少两个拟合点,U为大于1的整数;
计算P个边缘候选点中的每个边缘候选点到U条直线的距离;
将P个边缘候选点中的每个边缘候选点到U条直线的距离小于距离阈值的边缘候选点作为边缘检测点,得到L个边缘检测点。
在本申请实施例的另一种实现方式中,边缘检测模块,还用于:
将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型中的滤波器滤除局部裁剪图像中的噪声像素点,得到S个第一候选像素点,其中,S为大于等于1的整数;
计算S个第一候选像素点中每个第一候选像素点的梯度强度值,得到S个候选梯度强度值;
通过对S个候选梯度强度值进行非极大值抑制,从S个第一候选像素点中确定T个第二候选像素点,其中,T为大于等于1且小于S的整数;
获取第一梯度强度阈值;
根据T个第二候选像素点对应的T个候选梯度强度值,从T个第二候选像素点中确定候选梯度强度值大于第一梯度强度阈值的P个边缘候选点。
在本申请实施例的另一种实现方式中,匹配线模块,还用于:
确定光度立体模板图像中的标记区域的A个顶点坐标,其中,A为大于2的整数;
将相似变换矩阵分别与A个顶点坐标进行运算,得到A个变换坐标;
根据A个变换坐标,在目标光度立体图像中确定候选区域。
在本申请实施例的另一种实现方式中,相似变换矩阵确定模块,还用于:
获取光度立体模板图像对应的X个像素值以及目标光度立体图像对应的Y个像素值,其中,X及Y均为大于1的整数;
根据光度立体模板图像对应的X个像素值,计算光度立体模板图像对应的第一像素平均值;
计算X个像素值与第一像素平均值的标准差,得到X个第一标准差;
根据目标光度立体图像对应的Y个像素值,计算目标光度立体图像对应的第二像素平均值;
计算Y个像素值与第二像素平均值的标准差,得到Y个第二标准差;
根据X个像素值、Y个像素值、第一像素平均值、第二像素平均值、X个第一标准差及Y个第二标准差,计算得到第一相似度矩阵;
获取目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的角度变换值;
根据第一相似度矩阵及角度变换值,生成目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的相似变换逆矩阵;
对相似变换逆矩阵进行逆变换,得到光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵。
在本申请实施例的另一种实现方式中,尺寸测量装置还包括匹配点模块,具体的:
匹配点模块,用于根据相似变换矩阵对光度立体模板图像中的M个标记点进行位置变换,得到目标光度立体图像中对应的M个目标点;
后处理计算模块,还用于根据目标光度立体图像中对应的M个目标点计算目标对象的尺寸数据。
在本申请实施例的另一种实现方式中,匹配点模块,还用于:
获取光度立体模板图像中的M个标记点对应的M个标记点坐标;
将相似变换矩阵分别与M个标记点坐标进行运算,得到M个预测点坐标,其中,M个预测点坐标对应于M个预测点;
以M个标记点中的每个标记点为中心,生成M个标记点区域,其中,M个标记点区域的几何中心为M个标记点;
以M个预测点中的每个预测点为中心,生成M个预测点区域,其中,M个预测点区域的几何中心为M个预测点,M个预测点区域中的每个预测点区域的像素点个数多于对应的标记点区域的像素点个数;
在M个预测点区域中的每个预测点区域中确定一个预测点子区域,得到M个预测点子区域,其中,M个预测点子区域中的每个预测点子区域与对应的标记点区域的相似度值大于相似度阈值;
确定M个预测点子区域中每个预测点子区域的几何中心,得到M个目标点。
在本申请实施例的另一种实现方式中,匹配点模块,还用于:
获取M个预测点区域中的每个预测点区域的Q个像素值及M个标记点区域中的每个预测点区域的W个像素值,其中,Q及W均为大于1的整数;
根据M个预测点区域中的每个预测点区域的Q个像素值,计算M个预测点区域对应的M个像素值平均值;
根据M个标记点区域中的每个标记点区域的W个像素值,计算M个标记点区域对应的M个像素值平均值;
根据M个预测点区域中的每个预测点区域的Q个像素值与M个标记点区域对应的M个像素值平均值,计算得到M个像素值标准差组,每个像素值标准差组中包括Q个像素值标准差;
根据M个预测点区域中的每个预测点区域的Q个像素值、M个标记点区域中的每个预测点区域的W个像素值、M个预测点区域对应的M个像素值平均值、M个标记点区域对应的M个像素值平均值及M个像素值标准差组,计算得到M个第二相似度矩阵;
根据M个第二相似度矩阵对M个预测点区域进行相似度区域预测,得到M个预测点子区域。
在本申请实施例的另一种实现方式中,图像获取模块,还用于:
获取模板对象对应的E个光源标定图像,其中,E个光源标定图像均为在相同的视觉角度下对模板对象进行拍摄得到的,E个光源标定图像的光源信息互不相同;
根据E个光源标定图像对应的E个光源信息,确定标定参数矩阵;
获取模板对象的反射率;
根据标定参数矩阵及模板对象的反射率,计算得到法向量矩阵;
根据法向量矩阵生成光度立体模板图像,其中,法向量矩阵中的元素为光度立体模板图像的像素值。
在本申请实施例的另一种实现方式中,图像获取模块,还用于:
确定E个光源标定图像中的每个光源标定图像对应的目标亮点坐标及模板对象在光源标定图像中的中心点坐标,得到E个目标亮点坐标及E个中心点坐标;
根据E个目标亮点坐标、E个中心点坐标及E个光源信息,计算得到标定参数矩阵。
本申请的另一方面提供了一种计算机设备,包括:
存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,包括执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供了一种尺寸测量方法以及相关装置,其方法包括:首先,获取K个目标采集图像,以及获取光度立体模板图像;其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括模板对象的深度信息的图像,光度立体模板图像中包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;其次,根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像,其中,目标光度立体图像包括目标对象的三维信息;再次,根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵;接着,根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域;然后,对候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;最后,根据L个边缘检测点计算目标对象的尺寸数据。本申请实施例提供的方法,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的候选区域,进而对候选区域中的目标对象进行边缘检测,通过得到的边缘检测点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性。
附图说明
图1为本申请某一实施例提供的尺寸测量系统的一个架构示意图;
图2为本申请某一实施例提供的尺寸测量方法的流程图;
图3为本申请某一实施例提供的硬件环境图;
图4为本申请某一实施例提供的光度立体模板图像与目标光度立体图像的相似变换对应关系的示意图;
图5为本申请某一实施例提供的光度立体模板图像中的标记区域与目标光度立体图像中的候选区域的对应关系的示意图;
图6为本申请另一实施例提供的尺寸测量方法的流程图;
图7为本申请另一实施例提供的尺寸测量方法的流程图;
图8为本申请另一实施例提供的尺寸测量方法的流程图;
图9为本申请另一实施例提供的尺寸测量方法的流程图;
图10为本申请另一实施例提供的尺寸测量方法的流程图;
图11为本申请另一实施例提供的尺寸测量方法的流程图;
图12为本申请某一实施例提供的光度立体模板图像中的标记点与目标光度立体图像中对应目标点的变化关系的示意图;
图13为本申请另一实施例提供的尺寸测量方法的流程图;
图14为本申请另一实施例提供的尺寸测量方法的流程图;
图15为本申请又一实施例提供的尺寸测量方法的流程图;
图16为本申请又一实施例提供的尺寸测量方法的流程图;
图17为本申请某一实施例提供的应用于工业产品的尺寸测量方法的流程图;
图18为本申请某一实施例提供的光源标定的示意图;
图19为本申请某一实施例提供的反射示意图;
图20为本申请某一实施例提供的法向量示意图;
图21为本申请某一实施例提供的多光源维度示意图;
图22为本申请某一实施例提供的法向量及反射率生成示意图;
图23为本申请某一实施例提供的原始局部区域的示意图;
图24为本申请某一实施例提供的光度立体局部裁切区域的示意图;
图25为本申请某一实施例提供的结果图;
图26为本申请某一实施例提供的尺寸测量装置的结构示意图;
图27为本申请另一实施例提供的尺寸测量装置的结构示意图;
图28为本申请某一实施例提供的服务器结构示意图。
实施方式
本申请实施例提供了一种尺寸测量方法,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的候选区域,进而对候选区域中的目标对象进行边缘检测,通过得到的边缘检测点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
光度立体是一种图像处理技术,用于从二维图像重建三维场景。它利用了图像中每个像素的颜色和亮度信息,以及场景中物体表面的反射特性,来计算场景中物体的位置、形状和纹理等信息。光度立体算法的基本思想是:首先,使用一个照相机从多个不同的角度拍摄同一场景的多张照片;然后,利用这些照片中的信息,计算每个像素在三维空间中的位置和颜色。光度立体算法在计算机视觉、三维重建、增强现实等领域有着广泛的应用。然而,由于其计算复杂度较高,需要大量的计算资源和时间,因此在实际应用中需要根据具体情况进行优化和改进。
基于此,本申请实施例提供了一种尺寸测量方法,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的目标点,进而通过目标点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性。
可以理解的是,本申请涉及人工智能领域。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
可以理解的是,本申请涉及人工智能领域,具体涉及计算机视觉技术。计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
可以理解的是,本申请还涉及云技术领域。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
可以理解的是,本申请还涉及云技术领域,具体涉及云计算技术。云计算(cloudcomputing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
针对本申请实例提供的尺寸测量方法,在应用时包括如下场景中的至少一种:
一、产品质检。
对于工业产品或制造业产品的质检中,产品(如汽车零部件、电子设备、医疗设备及精密机械零件等)的尺寸规格具有非常严格的标准,在一些应用中要求算法量测一致性误差小于2个像素,与实际值偏差小于4个像素值。如果尺寸不正确,器件的装配可能会失败,同时还可能破坏产品其他结构,因此在工业质检中,需要依赖视觉做尺寸的测量。
二、医学影像。
在医学影像领域,需要对人体器官和组织的尺寸进行精确测量,以帮助医生进行诊断和治疗。视觉测量可以快速、准确地测量各种形状和大小的人体器官和组织,提高医学诊断和治疗的准确性。例如,在癌症治疗过程中,医生需要定期测量肿瘤的大小,以评估治疗效果和判断病情进展。在传统的测量方法中,医生需要使用尺子等工具进行手动测量,这种方法不仅耗时费力,而且容易出现误差。而依赖视觉做尺寸的测量则可以通过计算机视觉技术对医学影像进行处理和分析,从而快速、准确地测量肿瘤的大小。
三、建筑测量。
在建筑测量领域,需要对建筑物的尺寸进行精确测量,以确保建筑物符合设计要求。视觉测量可以快速、准确地测量建筑物的尺寸,并识别出不符合要求的建筑物,提高建筑质量和安全性。例如,在门窗安装过程中,需要对门窗的尺寸进行测量,以确保门窗符合要求。视觉测量可以通过相机拍摄门窗的图像,然后对图像进行处理和分析,从而快速、准确地测量门窗的尺寸。
四、材料检测。
在材料检测过程中,需要对材料的尺寸进行检测,以确保材料符合要求。视觉测量可以快速、准确地检测材料的尺寸,并识别出不符合要求的材料,提高材料质量和生产效率。例如,在钢板生产和加工过程中,需要对钢板的厚度、宽度、长度等尺寸进行检测,以确保钢板符合要求。视觉测量可以通过相机拍摄钢板的图像,然后对图像进行处理和分析,从而快速、准确地测量钢板的尺寸。
总之,视觉测量在许多领域都有广泛的应用,可以帮助提高生产效率、产品质量和安全性等方面。需要说明的是,上述应用场景仅为示例,本申请实施例提供的尺寸测量方法还可以应用于其他场景中,此处不做限定。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
光度立体(Photometric Stereo, PS):光度立体是一种使用多个光源方向估计表面几何形状的方法。这种方法的用途是可以重建出物体表面的法向量,以及物体不同表面点的反射率。它不像传统的几何重建(例如立体匹配)方法那样需要去考虑图像的匹配问题,因为所需要做的只是采集三张以上,由不同方向的光照射物体的图像。这个过程中,物体和相机都不动,因此图像天然就是对齐的,这使得整个过程非常的简洁。
红绿蓝(RGB):即是代表红、绿、蓝三个通道的颜色,是指对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色,是照相机成像后照片的保存格式和显示格式。在本文中也指代普通相机拍摄的一般照片。
为便于理解,本申请以在产品质检场景中对尺寸测量方法进行介绍。
在工业制造行业的质检中,尺寸规格是个非常严格的标准,在一些应用中要求算法量测一致性误差小于2个像素,与实际值偏差小于4个像素值。如果尺寸不正确,器件的装配可能会失败,同时还可能破坏产品其他结构,因此在工业质检中,需要依赖视觉做尺寸的测量。在实际应用中,常常由于光照、脏污等问题导致一般二维图像中关键点/线的位置难以精确定位,特别是在一些深色的、带包装的器件中,无论如何打光、其二维照片几乎难以辨认待测关键点/线的边界,导致测量结果的不稳定和不准确。
现有技术的尺寸测量技术方案主要包括以下两类:
1)基于二维图像的尺寸测量方法:这类方法主要依赖于RGB二维表面图像,通过边缘检测、模板匹配、特征点匹配等技术来实现尺寸测量。这些方法容易受到光照、噪声和表面纹理等因素的影响,导致测量结果的不稳定和不准确。
2)基于三维相机的尺寸测量方法:这类方法使用激光扫描仪、结构光相机等设备直接获取物体的三维信息,从而实现尺寸测量。这些方法成本较高,且在某些特殊场景(如透明、反光或吸光表面)下性能表现较差。
而本申请实施例提供的尺寸测量方法,包括:首先,获取K个目标采集图像,以及获取光度立体模板图像;其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括模板对象的深度信息的图像,光度立体模板图像中包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;其次,根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像,其中,目标光度立体图像包括目标对象的三维信息;再次,根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵;接着,根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域;然后,对候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;最后,根据L个边缘检测点计算目标对象的尺寸数据。
本申请提供的方法经过大量实验表明,本申请实施例提供的尺寸测量方法相对于二维图像的尺寸度量方法(如边缘检测、模板匹配等)的有益效果在于:
1)二维图像的尺寸度量方法仅能获取物体表面的颜色和纹理信息,并且容易受到光照、噪声和表面纹理等因素的影响,导致测量结果的不稳定和不准确;而本申请实施例提供的尺寸测量方法,通过光度立体处理方式分析物体表面的光照变化来提取物体的三维信息,从而实现更精确的尺寸测量。
2)二维图像的尺寸度量方法在处理复杂形状、不规则表面或低对比度下的尺寸测量时,性能表现较差;而本申请实施例提供的尺寸测量方法,通过光度立体处理方式在这些情况下仍能实现较好的测量效果,具有较强的鲁棒性。
3)二维图像的尺寸度量方法在处理复杂形状和不规则表面的物体时,往往需要多个视角的图像联合测量或者依赖于复杂的算法,计算量大,实时性差。而本申请实施例提供的尺寸测量方法能够在单张图像上实现精确的尺寸测量,避免了多视角图像采集和复杂算法的需求,降低了计算量,提高了实时性。
本申请实施例提供的尺寸测量方法相对于三维相机(如激光扫描仪、结构光相机等)的尺寸度量方法的有益效果在于:
1)三维相机(如激光扫描仪、结构光相机等)虽然可以直接获取物体的三维信息,但其成本较高,且在某些特殊场景(如透明、反光或吸光表面)下性能表现较差。而本申请实施例提供的尺寸测量方法可以在普通的二维相机上实现精确的尺寸测量,具有较高的性价比。
2)三维相机在获取三维信息时,可能受到光照、环境等因素的影响,导致测量结果的不稳定。而本申请实施例提供的尺寸测量方法,通过光度立体处理方式分析物体表面的光照变化来提取三维信息,对光照、噪声和表面纹理的影响较小,具有较强的鲁棒性。
3)本申请实施例提供的尺寸测量方法,通过光度立体处理方式在处理复杂形状和不规则表面的物体时,性能表现优越,能够实现准确的尺寸度量。而三维相机在处理这些情况时,可能需要依赖于额外的算法或者多次扫描来提高测量精度。
4)本申请实施例提供的尺寸测量方法,通过光度立体处理方式在低对比度、低分辨率情况下仍能实现准确的尺寸度量,提高了测量的可靠性和稳定性。而三维相机在这些情况下可能会受到更大的影响,导致测量结果的不准确。
综上,本申请实施例提供的尺寸测量方法,相对于二维和三维相机在尺寸测量方面具有一定的优势,包括较强的鲁棒性、较高的性价比、较好的实时性以及在特殊场景下的测量性能。
为了便于理解,请参阅图1,图1为本申请实施例中尺寸测量方法的应用环境图,如图1所示,本申请实施例中尺寸测量方法应用于尺寸测量系统。尺寸测量系统包括:服务器和终端设备。用户终端和服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。终端和服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
服务器首先获取K个目标采集图像,以及获取光度立体模板图像;其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括模板对象的深度信息的图像,光度立体模板图像中包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;其次,服务器根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像,其中,目标光度立体图像包括目标对象的三维信息;再次,服务器根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵;接着,根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域;然后,对候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;最后,根据L个边缘检测点计算目标对象的尺寸数据。
下面将从服务器的角度,对本申请中尺寸测量方法进行介绍。请参阅图2,本申请实施例提供的尺寸测量方法包括:步骤S110至步骤S160。具体的:
S110、获取K个目标采集图像,以及获取光度立体模板图像。
其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括模板对象的深度信息的图像,光度立体模板图像中包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数。
可以理解的是,K个目标采集图像可以是用户上传的图像,或者,存储于后台数据库的图像,又或者,是从网页上爬取的图像等,还可以,是拍摄得到的图像,在此不做限定。
在不同的场景中,目标对象可以是不同的。例如,在产品质检场景中,目标对象为待进行质量检测的产品,本申请实施例提供的方法其目的在于对目标对象进行尺寸测量。在产品质检的场景中,由于目标对象的形状为非规则的形状,无法通过点对点或点对线或线对线的计算方式对其尺寸进行计算,则需要对该目标对象进行边缘检测,通过边界长度计算目标对象的尺寸数据。
相同的视觉角度是指,在K个目标采集图像中对目标对象进行拍摄的位置和角度相同,当K个目标采集图像有相同的视觉角度时,它们看起来是从同一个视角拍摄的,也就是说,K个目标采集图像展示的场景从相同的角度和距离呈现。目标采集图像可以是灰度图像或者是RGB图像。
K个目标采集图像的光源信息互不相同是指,K个目标采集图像对应于不相同的K个光源信息,其中,光源信息包括但不限于光源角度、光照强度等信息,优选的,在本申请提供的某一实施例中光源信息为光源角度,即K个目标采集图像的光源角度互不相同,光源角度是指相对于目标对象的光源发出的方向。
对目标对象进行拍摄时可以采用如图3所示的硬件环境图中所示的设备。图3为本申请实施例提供的硬件环境图。硬件环境(成像机台)包括观测机台,摄像装置,光源。优选的,光源包括4个不同方向的光源,且4个光源位于目标对象的4个方位;摄像装置可以是CCD相机。在本申请提供的某一实施例中会俯拍拍摄4张不同光源角度的图片,光源角度分别是前侧、后侧、左侧、右侧。单侧光源的照片仅需要打开其中一盏光源,其余光源保持关闭即可,均匀照亮时四盏光源均须打开。在对目标对象进行拍摄时不需要保证光源的严格对齐,其原因在于在对目标对象进行拍摄之前需要进行光源标定,即对四个光源的方向进行标定。
举例说明,首先,打开光源A(即光源A为开启状态,光源B、光源C及光源D为关闭状态)对目标对象进行照射,并通过照相设备对目标对象进行拍照,得到第一个目标采集图像;接着,打开光源B(即光源B为开启状态,光源A、光源C及光源D为关闭状态)对目标对象进行照射,并通过照相设备对目标对象进行拍照,得到第二个目标采集图像;然后,打开光源C(即光源C为开启状态,光源A、光源B及光源D为关闭状态)对目标对象进行照射,并通过照相设备对目标对象进行拍照,得到第三个目标采集图像;最后,打开光源D(即光源D为开启状态,光源A、光源B及光源C为关闭状态)对目标对象进行照射,并通过照相设备对目标对象进行拍照,得到第四个目标采集图像。
由于待测尺寸的产品每次通过机械手抓取放到机台的位置会存在偏差,这样会增加边缘直线的搜索算法难度。为了解决这一问题,排除器件上下左右移动造成的干扰,本申请实施例通过预先定义光度立体模板图像,利用光度立体模板图像对目标光度立体图像进行匹配,从而方便定位目标对象的大体位置。
光度立体模板图像一种特殊类型的图像,它包含了一系列不同角度和方向的光线信息,可以用来创建三维立体图像。光度立体模板图像通常是由多个二维图像经过光度立体合并生成的,每个二维图像代表了从相同方向观察模板对象时所捕捉到的光线信息。这些二维图像通常是使用特殊的相机或激光扫描仪拍摄或生成的,它们可以捕捉到场景中物体表面反射的光线,并记录下光线的方向和强度。在创建光度立体模板图像时,需要对每个二维图像进行校准和对齐,以便能够准确地重建三维场景。然后,可以使用计算机视觉和图像处理技术(例如光度立体方法)来处理这些图像,并重建出光度立体模板图像。
在本申请提供的某一实施例中利用标定参数合成一个光度立体模板图像,光度立体模板图像的作用是定位目标对象(例如,待测工件)的大致位置,消除由于器件偏移带来的位置干扰。
光度立体模板图像可以是通过K张模板采集图像经过光度立体方法得到的。举例说明,利用如图3所示的成像机台对模板对象进行拍摄,得到4张光源角度不同的模板采集图像,对4张光源角度不同的模板采集图像进行光度立体图像合成,得到光度立体模板图像;其中,4张模板采集图像为灰度图像,光度立体模板图像为光度立体彩色图。
光度立体模板图像中的标记区域用于标记模板对象在光度立体模板图像的第一区域范围,第一区域范围是指包括模板图像中的模板对象的闭合范围。
S120、根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像。
其中,目标光度立体图像包括目标对象的三维信息。
可以理解的是,可以通过光度立体算法实现步骤S120。具体的,将K个目标采集图像作为由光度立体算法构成的光度立体模型的输入,通过光度立体模型输出目标光度立体图像。光度立体算法是一种三维重建算法,它利用K个目标采集图像对应的K个光源信息(例如,目标对象表面反射的光线)来计算目标对象表面的深度信息,从而重建出三维模型。具体的,首先,将K个目标采集图像进行对齐,以确保K个目标采集图像的对应点是在同一个三维空间中;然后,根据K个目标采集图像中的光源信息,估计目标对象的表面反射的光线的方向和强度;最后,利用光线估计的结果,计算目标对象的表面的深度信息,并重建出三维模型,生成目标光度立体图像。
S130、根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵。
由于待测尺寸的产品每次通过机械手抓取放到机台的位置会存在偏差,这样会增加边缘直线的搜索空间。为了边缘直线的搜索算法的稳定性,排除器件上下左右移动造成的干扰,本申请实施例通过预先定义光度立体模板图像进行粗定位,定位目标对象的大体位置,然后将目标光度立体图像中的目标对象的相对位置进行调整,使其和光度立体模板图像中的模板对象的位置大致重合。
具体的,首先,获取光度立体模板图像对应的X个像素值以及目标光度立体图像对应的Y个像素值,其中,X及Y均为大于1的整数;其次,根据光度立体模板图像对应的X个像素值,计算光度立体模板图像对应的第一像素平均值;以及,计算X个像素值与第一像素平均值的标准差,得到X个第一标准差;同时,根据目标光度立体图像对应的Y个像素值,计算目标光度立体图像对应的第二像素平均值;以及,计算Y个像素值与第二像素平均值的标准差,得到Y个第二标准差;再次,根据X个像素值、Y个像素值、第一像素平均值、第二像素平均值、X个第一标准差及Y个第二标准差,计算得到第一相似度矩阵;接着,获取目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的角度变换值;然后,根据第一相似度矩阵及角度变换值,生成目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的相似变换逆矩阵;最后,对相似变换逆矩阵进行逆变换,得到光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵。
可以理解的是,本申请实施例提供的方法采用对光照变化更加鲁棒的基于相关性的模版匹配算法,其计算原理如下:
;
其中,表示目标光度立体图像中的待查询区域,/>表示光度立体模板图像中的模板对象的模版区域,/>和/>代表x,y坐标位置下的像素值,/>与/>分别是当前查询区域与模版区域的像素平均值,/>与/>分别是待查询区域与模版区域的像素标准差。m-1是一个超参数,作为缩放因子。
通过以上计算,得到相似度矩阵,进而需要在相似性矩阵中定位出相似度最大的位置作为最终的匹配结果。
需要注意的是,上图粗模板定位仅做示意,当完成光度立体模板图像与目标光度立体图像的匹配之后,实质上不需要对目标光度立体图像中的目标对象的位置进行裁切。而只需要知道光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵。根据相似变换矩阵对光度立体模板图像中的模板对象的位置进行等距变换及均匀尺度缩放,可以得到目标光度立体图像中的目标对象的位置。
通过相似度矩阵及目标对象的位置相对于光度立体模板图像中的模板对象的位置的角度变换值θ,计算得到目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的相似变换逆矩阵M:
;
为便于理解,请参阅图4,图4为本申请实施例提供的光度立体模板图像与目标光度立体图像的相似变换对应关系的示意图,对相似变换逆矩阵M进行逆变换,得到光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵Minv;根据相似变换矩阵便于后续的局部区域裁切。
S140、根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域。
可以理解的是,相似变换矩阵是一种数学矩阵,用于描述两个光度立体模板图像与目标光度立体图像之间的变换关系。在光度立体模板图像中,每个标记区域都可以表示为多个坐标点,通过相似变换矩阵对标记区域对应的多个坐标点对应的坐标数据进行计算,可以确定目标光度立体图像中目标对象对应的候选区域。具体来说,首先需要对光度立体模板图像进行预处理,以确定每个标记区域的对应的多个坐标点的坐标数据。然后,使用相似变换矩阵对模板图像中的标记区域进行位置变换,得到目标光度立体图像中对应的候选区域。需要注意的是,由于相似变换矩阵是一种线性变换,因此变换后的候选区域与标记区域的形状和大小是相似的,但是可能会存在一定的位置偏差。因此,在确定候选区域后,需要对其进行进一步的筛选和验证,以确保其准确性和可靠性。
根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,在某一实施方式中,根据相似变换矩阵对光度立体模板图像中的标记区域的全部顶点进行变换,以得到变换后的全部顶点,由变换后的全部顶点围成目标光度立体图像中目标对象对应的候选区域。
为便于理解,请参阅图5,图5为本申请实施例提供的光度立体模板图像中的标记区域与目标光度立体图像中的候选区域的对应关系。具体的:首先,确定光度立体模板图像中的标记区域的A个顶点坐标,其中,A为大于2的整数;然后,将相似变换矩阵分别与A个顶点坐标进行运算,得到A个变换坐标;最后,根据A个变换坐标,在目标光度立体图像中确定候选区域。其中,将相似变换矩阵分别与A个顶点坐标进行运算是指将A个顶点坐标左乘相似变换矩阵,得到映射后的对应的变换坐标。
S150、对候选区域中的目标对象进行边缘检测,得到L个边缘检测点。
其中,L为大于1的整数。可以理解的是,当得到了目标光度立体图像中目标对象对应的候选区域后,可以通过边缘检测算法对候选区域中的目标对象进行边缘检测,得到目标区域。
具体的:将目标光度立体图像按照候选区域进行裁剪,得到局部裁剪图像;将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型对局部裁剪图像中的目标对象进行边缘检测,得到边缘检测框,其中,边缘检测框包括P个边缘候选点,P为大于1的整数;对P个边缘候选点进行线性回归处理,剔除P个边缘候选点中的异常点,得到L个边缘检测点,其中,L为大于1且小于P的整数;根据L个边缘检测点生成目标区域。
边缘检测算法包括但不限于:Roberts 边缘检测算子、Sobel 边缘检测算子、Prewitt 边缘检测算子、Canny 边缘检测算法、LOG 边缘检测算法及Laplacian 边缘检测算法等方式。其中,Roberts 边缘检测算子是一种简单的边缘检测算法,通过计算图像的差分来检测边缘;Sobel 边缘检测算子是一种常用的边缘检测算法,通过计算图像的一阶和二阶导数来检测边缘; Prewitt 边缘检测算子是一种类似于 Sobel 边缘检测算子的算法,也是通过计算图像的一阶和二阶导数来检测边缘; Canny 边缘检测算法是一种比较复杂的边缘检测算法,通过使用非极大值抑制和滞后阈值等技术来得到更精确的边缘检测结果;LOG 边缘检测算法是一种基于图像亮度的边缘检测算法,通过计算图像的对数导数来检测边缘;Laplacian 边缘检测算法是一种基于图像二阶导数的边缘检测算法,通过计算图像的 Laplacian 算子来检测边缘。
S160、根据目标区域的区域边界,计算目标对象的尺寸数据。
可以理解的是,对于无法通过点对点或点对线或线对线的计算方式,计算非规则的形状的目标对象时,通过对该目标对象进行边缘检测,通过边界长度计算目标对象的尺寸数据。
本申请实施例提供的方法,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的候选区域,进而对候选区域中的目标对象进行边缘检测,通过得到的边缘检测点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性;本申请实施例提供的尺寸测量方法,可以针对于非规则的形状的目标对象的尺寸测量,通过对目标对象进行边缘检测,得到目标区域的区域边界,通过计算目标区域的区域边界得到计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性;同时,由于进行边缘检测对目标对象进行切割,相对于原始的目标光度立体图像的尺寸缩小即缩小搜索范围,应用传统算法定位线的耗时大大降低,同时也能降低训练的时间复杂度和内存占用情况,提升了工业场景中的可用性。
在本申请的图2对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图6,步骤S150进一步包括子步骤S151至子步骤S153。具体的:
S151、将目标光度立体图像按照候选区域进行裁剪,得到局部裁剪图像。
可以理解的是,对目标光度立体图像进行裁剪时,首先需要确定需要裁剪的候选区域,根据候选区域的位置和大小,计算出候选区域的顶点在目标光度立体图像中的坐标,根据计算出的坐标,从目标光度立体图像中裁剪出候选区域,得到局部裁剪图像。
S152、将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型对局部裁剪图像中的目标对象进行边缘检测,得到P个边缘候选点。
其中, P为大于1的整数。
可以理解的是,在进行边缘检测时,首先,将局部裁剪图像导入到边缘检测模型中,并进行必要的预处理操作,例如归一化、去噪等;其次,根据局部裁剪图像的特点和需求,设置合适的边缘检测参数,例如边缘检测算法、边缘强度阈值等;接着,使用设置好的边缘检测参数,运行边缘检测模型,对局部裁剪图像进行边缘检测;然后,对边缘检测结果进行处理,可以使用图像处理算法或者机器学习算法提取出目标对象的边缘检测框,最后对提取出的边缘检测框进行验证和筛选,去除不符合要求的边缘检测框,例如过于细小的边缘检测框、超出图像范围的边缘检测框等。需要注意的是,边缘检测模型的选择和参数设置需要根据局部裁剪图像的特点和需求进行调整,以获得最佳的边缘检测效果。同时,为了提高边缘检测的准确性和稳定性,可以对局部裁剪图像进行必要的图像预处理和后处理操作。
优选地,在某一具体实施例中通过Canny 边缘检测算法实现,Canny 边缘检测算法可以分为以下5个步骤:1) 使用高斯滤波器,以平滑图像,滤除噪声。2) 计算图像中每个像素点的梯度强度和方向。3) 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。4) 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。5) 通过抑制孤立的弱边缘最终完成边缘检测。
具体的:将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型中的滤波器滤除局部裁剪图像中的噪声像素点,得到S个第一候选像素点。计算S个第一候选像素点中每个第一候选像素点的梯度强度值,得到S个候选梯度强度值。通过对S个候选梯度强度值进行非极大值抑制,从S个第一候选像素点中确定T个第二候选像素点。获取第一梯度强度阈值。根据T个第二候选像素点对应的T个候选梯度强度值,从T个第二候选像素点中确定候选梯度强度值大于第一梯度强度阈值的目标边缘像素点;将目标边缘像素点进行连接,得到边缘检测框,当得到了边缘检测框后,得到了边缘检测框包括P个边缘候选点。
S153、对P个边缘候选点进行线性回归处理,剔除P个边缘候选点中的异常点,得到L个边缘检测点。
其中,L为大于1且小于P的整数。
可以理解的是,通过对边缘候选点进行线性回归处理,提高线的稳定性和算法的鲁棒性。对P个边缘候选点进行线性回归处理,首先需要对数据预处理:对 P 个边缘候选点进行数据预处理,包括去噪、归一化、缺失值处理等,确保数据质量。其次,选择回归模型:根据数据特点和需求,选择合适的回归模型,例如普通线性回归、逻辑回归等。再次,训练回归模型:使用预处理后的数据训练回归模型,得到回归系数和误差。接着,计算回归残差:使用训练好的回归模型,计算 P 个边缘候选点的回归残差,残差越小,说明该点越可能是异常点。然后,剔除异常点:根据回归残差的大小,剔除 P 个边缘候选点中的异常点,得到 L 个边缘检测点。最后,验证边缘检测点:对 L 个边缘检测点进行验证和筛选,去除不符合要求的边缘检测点,例如过于细小的边缘检测点、超出图像范围的边缘检测点等。
优选地,在某一具体实施例中通过随机抽样一致算法(RANdom SAmpleConsensus,RANSAC)对这些边缘候选点进行线性回归,提高线的稳定性和算法的鲁棒性。Ransac(RANdom SAmple Consensus)是一种常用的鲁棒估计方法,主要用于从一组异常数据中估计出一个合理的模型参数。该算法的基本思想是:从一组数据中随机选择一些数据点,并使用这些数据点来估计模型参数。然后,检查其他数据点是否与估计的模型相匹配。如果有足够多的数据点与估计的模型相匹配,则认为该估计是合理的,并将其作为最终的模型参数。否则,重复此过程直到找到一个合理的估计。
给定一组点集,其中包含了一些离群点(outlier),如果直接使用简单的最小二乘法来回归此线,这条线将会受到异常点的影响,会偏向异常点,无法得到一条鲁棒的直线,而用RANSAC,可以只由正常点集来计算出模型,而忽略异常值的干扰。RANSAC模块包含两个重要的参数:每次产生新模型时所采样的点(n),重复做的次数(k),其具体计算步骤如下:1)在数据中随机采样若干个点作为拟合点;2)计算拟合点集合内的直线 (y=kx+b);3)计算所有点到该直线的距离,如果该点在可容忍的阈值范围内,即属于正常点,记录当前模型拟合点的总数。重复以上步骤,比较每次迭代中阈值内点的数量,内点最多时所建立的模型就是所求的解。
具体的:对P个边缘候选点进行随机采样,得到N个拟合点,其中,N为大于1且小于P的整数;根据N个拟合点,生成U条直线,其中,每条直线中包括至少两个拟合点,U为大于1的整数;计算P个边缘候选点中的每个边缘候选点到U条直线的距离;将P个边缘候选点中的每个边缘候选点到U条直线的距离小于距离阈值的边缘候选点作为边缘检测点,得到L个边缘检测点。
本申请实施例提供的尺寸测量方法,通过裁剪可以减少图像的大小,从而降低计算复杂度,同时也可以减少图像中的噪声和无关信息,有助于后续的边缘检测和目标区域生成;通过边缘检测可以得到目标对象的边缘信息,有助于后续的目标区域生成;通过线性回归处理可以去除异常点,从而减少噪声对边缘检测结果的影响,有助于提高目标区域生成的准确性。
在本申请的图6对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图7,子步骤S153进一步包括子步骤S1531至子步骤S1534。具体的:
S1531、对P个边缘候选点进行随机采样,得到N个拟合点。
其中,N为大于1且小于P的整数。
可以理解的是,随机采样可以是:1)从 P 个边缘候选点中随机选择 N 个点,作为拟合点的初始集合;2)对初始集合中的每个点,计算其与其他点之间的距离,并选择距离最近的点作为其邻点;3)对每个邻点,计算其与初始集合中的其他点之间的距离,并选择距离最近的点加入到拟合点集合中。重复步骤 2和 3,直到拟合点集合中的点数量达到预定的最大值为止。
S1532、根据N个拟合点,生成U条直线。
其中,每条直线中包括至少两个拟合点,U为大于1的整数。
可以理解的是,可以将每个拟合点看作是一个坐标点 (x, y),其中 x 是拟合点的横坐标,y 是拟合点的纵坐标,目标是找到 U 条直线,使得这些直线尽可能地通过较多的拟合点,并且这些直线之间的距离尽可能地大。具体来说,对于每一条直线,可以计算它与每一个拟合点之间的距离,并将这些距离求和;然后,通过改变直线的斜率和截距来最小化这个距离之和,从而找到最佳的直线;在找到每一条直线的斜率和截距之后,就可以生成U 条直线(y=kx+b)。
S1533、计算P个边缘候选点中的每个边缘候选点到U条直线的距离。
可以理解的是,计算P个边缘候选点中的每个边缘候选点到U条直线的距离指的是,计算每个不在直线上的边缘点到直线的距离,可以通过点到直线的距离公式进行计算。优选的,为了简化计算,可以使用矩阵和向量的乘法来同时计算多个边缘候选点与多条直线的距离。具体方法如下:1)将 U 条直线的参数存储在一个矩阵中,记为 A。2)将 P 个边缘候选点的坐标存储在一个向量中,记为 b。3)使用矩阵乘法 Ab 计算边缘候选点与每条直线的距离,得到一个向量 d。4)对向量 d 进行求和,得到每个边缘候选点到所有直线的距离。
S1534、将P个边缘候选点中的每个边缘候选点到U条直线的距离小于距离阈值的边缘候选点作为边缘检测点,得到L个边缘检测点。
可以理解的是,通过随机抽样一致算法(RANdom SAmple Consensus,RANSAC)对这些边缘候选点进行线性回归,提高线的稳定性和算法的鲁棒性。Ransac(RANdom SAmpleConsensus)是一种常用的鲁棒估计方法,主要用于从一组异常数据中估计出一个合理的模型参数。该算法的基本思想是:从一组数据中随机选择一些数据点,并使用这些数据点来估计模型参数。然后,检查其他数据点是否与估计的模型相匹配。如果有足够多的数据点与估计的模型相匹配,则认为该估计是合理的,并将其作为最终的模型参数。否则,重复此过程直到找到一个合理的估计。
给定一组点集,其中包含了一些离群点(outlier),如果直接使用简单的最小二乘法来回归此线,这条线将会受到异常点的影响,会偏向异常点,无法得到一条鲁棒的直线,而用RANSAC,可以只由正常点集来计算出模型,而忽略异常值的干扰。RANSAC模块包含两个重要的参数:每次产生新模型时所采样的点(n),重复做的次数(k),其具体计算步骤如下:1)在数据中随机采样若干个点作为拟合点;2)计算拟合点集合内的直线 (y=kx+b);3)计算所有点到该直线的距离,如果该点在可容忍的阈值范围内,即属于正常点,记录当前模型拟合点的总数。重复以上步骤,比较每次迭代中阈值内点的数量,内点最多时所建立的模型就是所求的边缘检测点。
本申请实施例提供的尺寸测量方法,通过对边缘候选点随机采样,可以减少拟合点的数量,降低后续计算复杂度;通过拟合点生成直线可以提高直线的精度,从而提高边缘检测的准确性;通过计算每个边缘候选点到 U 条直线的距离可以更全面地评估边缘候选点的边缘性质,减少误检和漏检的情况;通过设置距离阈值可以筛选出真正的边缘候选点,减少假阳性和假阴性的情况;在保证检测准确性的同时,提高计算效率和鲁棒性。
在本申请的图6对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图8,子步骤S152进一步包括子步骤S1521至子步骤S1525。具体的:
S1521、将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型中的滤波器滤除局部裁剪图像中的噪声像素点,得到S个第一候选像素点。
其中,S为大于等于1的整数。
可以理解的是,本申请实施例提供的方法通过使用Canny边缘检测算法对局部裁切图像做边缘检测。首先,使用高斯滤波器,以平滑图像,滤除噪声。具体的:将局部裁剪图像输入到边缘检测模型中,该模型包含一个或多个滤波器,用于滤除噪声像素点;滤波器对局部裁剪图像进行滤波处理,消除噪声像素点,并保留可能存在边缘的像素点;对滤波后的局部裁剪图像进行二值化处理,将图像中的像素点分为边缘像素点和非边缘像素点;根据二值化图像,选取局部裁剪图像中的 S 个第一候选像素点。
S1522、计算S个第一候选像素点中每个第一候选像素点的梯度强度值,得到S个候选梯度强度值。
可以理解的是,在Canny边缘检测算法的第二步中,需要计算图像中每个像素点的梯度强度和方向。具体的:对于每个第一候选像素点,计算其在水平方向和垂直方向上的梯度强度值。通常使用 Sobel 算子或 Roberts 算子等方法来计算梯度强度值;将每个第一候选像素点的水平方向和垂直方向的梯度强度值进行求和,得到该点的总梯度强度值;将S 个第一候选像素点的总梯度强度值进行排序,得到 S 个候选梯度强度值。这些候选梯度强度值代表了 S 个第一候选像素点的相对重要性,可以用于后续的边缘检测和特征提取。
S1523、通过对S个候选梯度强度值进行非极大值抑制,从S个第一候选像素点中确定T个第二候选像素点。
其中,T为大于等于1且小于S的整数。
可以理解的是,在Canny边缘检测算法的第三步中,应用非极大值(Non-MaximumSuppression)抑制,以消除边缘检测带来的杂散响应。具体的:对 S 个候选梯度强度值进行排序,得到 S 个候选像素点的排序列表;对于排序列表中的每一个像素点,检查其相邻的像素点的候选梯度强度值是否大于该像素点的候选梯度强度值;如果是,则将该像素点的候选梯度强度值设置为其相邻像素点的候选梯度强度值,并将该像素点从排序列表中删除,重复该步骤,直到排序列表中的所有像素点都被处理完毕;选取排序列表中前 T 个候选像素点作为第二候选像素点。
S1524、获取第一梯度强度阈值。
S1525、根据T个第二候选像素点对应的T个候选梯度强度值,从T个第二候选像素点中确定候选梯度强度值大于第一梯度强度阈值的P个边缘候选点。
可以理解的是,在Canny边缘检测算法的第四步中,应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。具体的:设定第一梯度强度阈值,通常取为图像的平均灰度值的一定倍数;对于每个第二候选像素点,如果其候选梯度强度值大于第一梯度强度阈值,则将该像素点标记为目标边缘像素点;设定第二梯度强度阈值,通常取为第一梯度强度阈值的一定倍数;对于每个第二候选像素点,如果其候选梯度强度值小于第一梯度强度阈值且大于第二梯度强度阈值,则将该像素点标记为潜在边缘像素点;其中,目标边缘像素点为真实边缘像素点。
本申请实施例提供的尺寸测量方法,通过使用边缘检测模型中的滤波器滤除噪声像素点,可以减少噪声对边缘检测结果的影响,提高边缘检测的准确性;通过使用非极大值抑制,可以减少候选像素点的数量,降低计算复杂度,同时提高边缘检测的准确性;通过使用第一梯度强度阈值,可以筛选出更加明显的边缘像素点,提高边缘检测的准确性。
在本申请的图6对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图9,步骤S140进一步包括子步骤S141至子步骤S143。具体的:
S141、确定光度立体模板图像中的标记区域的A个顶点坐标。
其中,A为大于2的整数。
可以理解的是,需要确定光度立体模板图像中的标记区域的 A 个顶点坐标。A是一个大于2的整数,表示标记区域的顶点数量。这些顶点可以是图像中的特征点,例如角点、边缘点等。通过确定标记区域的 A 个顶点坐标,可以得到该区域的大致形状和位置信息。
S142、将相似变换矩阵分别与A个顶点坐标进行运算,得到A个变换坐标。
可以理解的是,相似变换矩阵用于描述图像变换,可以将一个坐标系中的坐标变换到另一个坐标系中;通过将A 个顶点坐标左乘相似变换矩阵进行运算,得到A个新的变换坐标。这些变换坐标表示在新的坐标系中,标记区域的 A 个顶点的位置。
S143、根据A个变换坐标,在目标光度立体图像中确定候选区域。
可以理解的是,根据 A 个变换坐标,在目标光度立体图像中确定候选区域。候选区域是指与标记区域相似的区域,可能包含与标记区域相同的特征或内容。具体地,可以将A 个变换坐标映射到目标光度立体图像中,得到 A 个候选区域的大致位置。然后,可以对这些候选区域进行进一步的筛选和处理,以确定最相似的区域。
本申请实施例提供的尺寸测量方法,通过使用相似变换矩阵对标记区域进行变换,可以将标记区域的形状和位置信息准确地映射到目标光度立体图像中,从而提高图像配准的准确性;通过使用变换坐标来确定候选区域,可以更加准确地确定与标记区域相似的区域,从而提高候选区域的准确性;使用相似变换矩阵进行图像变换,可以减少计算量,提高计算效率,从而节省计算资源。
在本申请的图2对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图10,步骤S130进一步包括子步骤S131至子步骤S139。具体的:
S131、获取光度立体模板图像对应的X个像素值以及目标光度立体图像对应的Y个像素值。
其中,X及Y均为大于1的整数。
可以理解的是,光度立体模板图像对应的X个像素值是指光度立体模板图像中的像素点对应的像素值;同样的,目标光度立体图像对应的Y个像素值是指目标光度立体图像中的像素点对应的像素值;其中,像素值可以是灰度值或RBG值。
S132、根据光度立体模板图像对应的X个像素值,计算光度立体模板图像对应的第一像素平均值。
可以理解的是,计算光度立体模板图像对应的第一像素平均值,就是计算这 X 个像素点对应的像素值的平均值。具体来说,可以将这 X 个像素点的像素值相加,再除以 X,即可得到第一像素平均值。为了提高计算效率,可以采用分块处理的方式,将光度立体模板图像分成若干个小块,分别计算每个小块中的像素平均值。
S133、计算X个像素值与第一像素平均值的标准差,得到X个第一标准差。
可以理解的是,标准差是一种衡量数据离散程度的统计量,它反映了数据的波动情况。对于一组数据来说,其平均值是最具有代表性的数值,而标准差则是表示数据与平均值之间的偏差程度。对于光度立体模板图像对应的 X 个像素值来说,第一像素平均值是这X 个像素值的平均值,计算 X 个像素值与第一像素平均值的标准差,可以得到 X 个第一标准差。这个第一标准差表示了这 X 个像素值与平均值之间的偏差程度,可以用于评估这些像素值的离散程度。
S134、根据目标光度立体图像对应的Y个像素值,计算目标光度立体图像对应的第二像素平均值。
可以理解的是,计算目标光度立体图像对应的第二像素平均值,就是计算这 Y 个像素点对应的像素值的平均值。具体来说,可以将这 Y 个像素点的像素值相加,再除以 Y,即可得到第二像素平均值。为了提高计算效率,可以采用分块处理的方式,将目标光度立体图像分成若干个小块,分别计算每个小块中的像素平均值。
S135、计算Y个像素值与第二像素平均值的标准差,得到Y个第二标准差。
可以理解的是,对于目标光度立体图像对应的 Y 个像素值来说,第二像素平均值是这 Y 个像素值的平均值,计算 Y 个像素值与第二像素平均值的标准差,可以得到 Y 个第二标准差。这个第二标准差表示了这 Y 个像素值与平均值之间的偏差程度,可以用于评估这些像素值的离散程度。
S136、根据X个像素值、Y个像素值、第一像素平均值、第二像素平均值、X个第一标准差及Y个第二标准差,计算得到第一相似度矩阵。
可以理解的是,第一相似度矩阵可通过以下公式计算:
;
其中,表示目标光度立体图像中的待查询区域,/>表示光度立体模板图像中的模板对象的模版区域,/>和/>代表x,y坐标位置下的像素值,/>与/>分别是当前查询区域与模版区域的像素平均值,/>与/>分别是待查询区域与模版区域的像素标准差。m-1是一个超参数,作为缩放因子。
S137、获取目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的角度变换值。
S138、根据第一相似度矩阵及角度变换值,生成目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的相似变换逆矩阵。
可以理解的是,通过相似度矩阵及目标对象的位置相对于光度立体模板图像中的模板对象的位置的角度变换值θ,计算得到目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的相似变换逆矩阵M:
。
S139、对相似变换逆矩阵进行逆变换,得到光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵。
可以理解的是,对相似变换逆矩阵M进行逆变换,得到光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵Minv;根据相似变换矩阵便于后续的局部区域裁切。
本申请实施例提供的尺寸测量方法,可以计算出目标光度立体图像相对于光度立体模板图像的相似变换矩阵,从而可以根据相似变换矩阵对目标光度立体图像进行变换,使其与光度立体模板图像的相似度更高。
在本申请的图2对应的实施例提供的尺寸测量方法的一个可选实施例中,光度立体模板图像中还包括模板对象对应的M个标记点,M为大于1的整数;请参阅图11,步骤S130之后还包括步骤S170至步骤S180。具体的:
S170、根据相似变换矩阵对光度立体模板图像中的M个标记点进行位置变换,得到目标光度立体图像中对应的M个目标点。
可以理解的是,在步骤S130的粗定位步骤中进行了相似度计算,但是由于步骤S130中选择的匹配框较大,实际上最终的定位结果较为粗糙。而实际的工业产品质检的场景中,对点的定位要求是非常严格的,通常只允许偏差几个像素。而由于器件的工艺等差异,常常会有一定程度的偏移,因此对于目标光度立体图像中的关键点(例如,某些零件或者关键部件的位置),需要进行精确的修正。
具体的,获取光度立体模板图像中的M个标记点对应的M个标记点坐标;将相似变换矩阵分别与M个标记点坐标进行运算,得到M个预测点坐标,其中,M个预测点坐标对应于M个预测点;以M个标记点中的每个标记点为中心,生成M个标记点区域,其中,M个标记点区域的几何中心为M个标记点;以M个预测点中的每个预测点为中心,生成M个预测点区域,其中,M个预测点区域的几何中心为M个预测点,M个预测点区域中的每个预测点区域的像素点个数多于对应的标记点区域的像素点个数;在M个预测点区域中的每个预测点区域中确定一个预测点子区域,得到M个预测点子区域,其中,M个预测点子区域中的每个预测点子区域与对应的标记点区域的相似度值大于相似度阈值;确定M个预测点子区域中每个预测点子区域的几何中心,得到M个目标点。
可以理解的是,利用步骤S130得到的位置的相似变换矩阵Minv,首先,对光度立体模板图像中的预先定义的标记点进行变换,得到对应的预测点坐标,其次,通过在光度立体模板图像中的标记点的上下左右各填充N个像素值,作为该标记点的标记点区域;同时,在这个预测点的上下左右各填充M个像素值,作为一个预测点区域。从而利用粗定位模块中的基于相关性的模版匹配算法,在预测点区域的搜索区域中搜索与光度立体模板图像中的标记点区域相似度最高的区域,得到最终输出的预测点子区域之后,将预测点子区域的中心点(几何中心点),作为目标点。
为便于理解,请参阅图12,图12为光度立体模板图像中的标记点与目标光度立体图像中对应目标点的变化关系的示意图。首先,光度立体模板图像中的标记点A通过相似变换矩阵计算得到预测点B,接着,对标记点A上下左右扩充N个像素,得到标记点区域SN,以及对预测点B上下左右扩充M个像素,得到预测点区域SM;最后,以预测点区域SM为搜索区域,从预测点区域SM中确定与标记点区域的相似度值大于相似度阈值的预测点子区域SP,将预测点子区域SP的几何中心作为目标点C。
S180、根据目标光度立体图像中对应的M个目标点计算目标对象的尺寸数据。
可以理解的是,通过是上述步骤可以得到目标对象中的M个目标点,根据M个目标点可以计算出点到点的距离,进一步得到目标对象的尺寸数据。
本申请实施例提供的尺寸测量方法,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的目标点,进而通过目标点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性。
在本申请的图11对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图13,步骤S170进一步包括子步骤S171至子步骤S176。具体的:
S171、获取光度立体模板图像中的M个标记点对应的M个标记点坐标。
可以理解的是,在光度立体模板图像中,标记点是事先确定的特殊点,可以通过图像处理技术(如Harris 角点检测算法)进行检测。这些标记点的坐标可以通过图像处理算法进行计算。
S172、将相似变换矩阵分别与M个标记点坐标进行运算,得到M个预测点坐标。
其中,M个预测点坐标对应于M个预测点。
可以理解的是,相似变换矩阵是一个数学矩阵,用于描述图像之间的变换关系。将相似变换矩阵与标记点坐标进行运算,可以得到预测点的坐标。由于每个标记点对应一个预测点,因此 M 个标记点可以得到 M 个预测点坐标。
S173、以M个标记点中的每个标记点为中心,生成M个标记点区域。
其中,M个标记点区域的几何中心为M个标记点。
可以理解的是,以标记点为中心,生成一个圆形或方形的标记点区域。该区域的大小可以根据需要进行调整,通常是标记点周围的一定区域。M 个标记点可以生成 M 个标记点区域。
S174、以M个预测点中的每个预测点为中心,生成M个预测点区域。
其中,M个预测点区域的几何中心为M个预测点,M个预测点区域中的每个预测点区域的像素点个数多于对应的标记点区域的像素点个数。
可以理解的是,以预测点为中心,生成一个圆形或方形的预测点区域。该区域的大小可以根据需要进行调整,通常是预测点周围的一定区域。由于预测点通常是在图像中进行预测的,因此预测点区域中的像素点个数通常多于标记点区域中的像素点个数。M 个预测点可以生成 M 个预测点区域。
S175、在M个预测点区域中的每个预测点区域中确定一个预测点子区域,得到M个预测点子区域。
其中,M个预测点子区域中的每个预测点子区域与对应的标记点区域的相似度值大于相似度阈值。
可以理解的是,对于每个预测点区域,确定一个预测点子区域。这个预测点子区域是指在预测点区域内的一个小区域,用于计算与对应标记点区域的相似度值。计算每个预测点子区域与对应的标记点区域的相似度值,如果该相似度值大于相似度阈值,则认为该预测点子区域与标记点区域相似。
S176、确定M个预测点子区域中每个预测点子区域的几何中心,得到M个目标点。
可以理解的是,对于每个预测点子区域,计算其几何中心。几何中心是指该预测点子区域的质心,得到 M 个几何中心,它们分别对应于 M 个预测点子区域。这些几何中心被作为目标点。
实际的工业产品质检的场景中,对点的定位要求是非常严格的,通常只允许偏差几个像素。而由于器件的工艺等差异,常常会有一定程度的偏移,因此对于目标光度立体图像中的关键点(例如,某些零件或者关键部件的位置),需要进行精确的修正。
本申请实施例提供的尺寸测量方法,通过在预测点区域中确定预测点子区域,并选择与标记点区域相似度较高的预测点子区域的几何中心作为目标点,可以减少预测点的数量,并提高目标点的准确性。同时,该方法可以在模板图像中确定目标点,而不需要在输入图像中进行搜索,从而减少计算量,提高光度立体匹配的效率。
在本申请的图13对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图14,子步骤S175进一步包括子步骤S1751至子步骤S1756。具体的:
S1751、获取M个预测点区域中的每个预测点区域的Q个像素值及M个标记点区域中的每个预测点区域的W个像素值。
其中,Q及W均为大于1的整数。
S1752、根据M个预测点区域中的每个预测点区域的Q个像素值,计算M个预测点区域对应的M个像素值平均值。
可以理解的是,有 M 个预测点区域,每个预测点区域包含 Q 个像素值,需要计算这 M 个预测点区域对应的 M 个像素值的平均值。具体地,可以对每个预测点区域的 Q 个像素值求和,然后将求和结果除以 M,即可得到 M 个预测点区域对应的 M 个像素值的平均值。
S1753、根据M个标记点区域中的每个标记点区域的W个像素值,计算M个标记点区域对应的M个像素值平均值。
可以理解的是,有 M 个标记点区域,每个标记点区域包含 W 个像素值,需要计算这 M 个标记点区域对应的 M 个像素值的平均值。具体地,可以对每个标记点区域的 W 个像素值求和,然后将求和结果除以 M,即可得到 M 个标记点区域对应的 M 个像素值的平均值。
S1754、根据M个预测点区域中的每个预测点区域的Q个像素值与M个标记点区域对应的M个像素值平均值,计算得到M个像素值标准差组。
其中,每个像素值标准差组中包括Q个像素值标准差。
可以理解的是,对于每个预测点区域的每个像素值,可以计算它与对应标记点区域的平均值之间的差值,然后对这个差值求平方,再求平方根,即可得到这个像素值的标准差。对于每个预测点区域的所有 Q 个像素值,都可以计算出它们的标准差,并将它们组成一个像素值标准差组。最终,可以计算出 M 个预测点区域的所有像素值对应的 M 个像素值标准差组。
S1755、根据M个预测点区域中的每个预测点区域的Q个像素值、M个标记点区域中的每个预测点区域的W个像素值、M个预测点区域对应的M个像素值平均值、M个标记点区域对应的M个像素值平均值及M个像素值标准差组,计算得到M个第二相似度矩阵。
可以理解的是,对于每个预测点区域的每个像素值,可以计算它与对应标记点区域的像素值之间的相似度,例如可以使用欧几里得距离、余弦相似度等计算方法。然后,可以将这 Q 个像素值与对应标记点区域的相似度组成一个 Q 维的相似度矩阵,即第二相似度矩阵。
S1756、根据M个第二相似度矩阵对M个预测点区域进行相似度区域预测,得到M个预测点子区域。
可以理解的是,可以使用聚类算法或其他机器学习算法来实现相似度区域预测。例如,可以使用 K-均值聚类算法,将 M 个预测点区域分成若干个相似度较高的子区域。在K-均值聚类算法中,首先随机选择 K 个预测点区域作为初始聚类中心,然后将其他预测点区域分配到最近的聚类中心,并不断更新聚类中心的位置,直到所有预测点区域被分配到相应的子区域中。最终得到的 M 个预测点子区域,每个子区域包含若干个预测点,这些预测点具有较高的相似度。
本申请实施例提供的尺寸测量方法,通过计算预测点区域和标记点区域之间的像素值相似度,对预测点区域进行相似度区域预测,从而得到更准确的预测结果;通过获取预测点区域和标记点区域中的像素值,可以更全面地考虑图像中的信息,从而提高预测的准确性。
在本申请的图2对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图15,步骤S110进一步包括子步骤S111至子步骤S115。具体的:
S111、获取模板对象对应的E个光源标定图像。
其中,E个光源标定图像均为在相同的视觉角度下对模板对象进行拍摄得到的,E个光源标定图像的光源信息互不相同。
可以理解的是,光度立体模板图像一种特殊类型的图像,它包含了一系列不同角度和方向的光线信息,可以用来创建三维立体图像。光度立体模板图像通常是由多个二维图像经过光度立体合并生成的,每个二维图像代表了从相同方向观察模板对象时所捕捉到的光线信息。这些二维图像通常是使用特殊的相机或激光扫描仪拍摄或生成的,它们可以捕捉到场景中物体表面反射的光线,并记录下光线的方向和强度。在创建光度立体模板图像时,需要对每个二维图像进行校准和对齐,以便能够准确地重建三维场景。然后,可以使用计算机视觉和图像处理技术(例如光度立体方法)来处理这些图像,并重建出光度立体模板图像。
S112、根据E个光源标定图像对应的E个光源信息,确定标定参数矩阵。
可以理解的是,根据 E 个光源标定图像对应的 E 个光源信息,确定标定参数矩阵。标定参数矩阵用于描述模板对象表面在不同光源条件下的反射特性。
S113、获取模板对象的反射率。
S114、根据标定参数矩阵及模板对象的反射率,计算得到法向量矩阵。
可以理解的是,根据标定参数矩阵及模板对象的反射率,计算得到法向量矩阵。法向量矩阵用于描述模板对象表面在不同光源条件下的法向量。它是一个包含多个元素的矩阵,每个元素代表模板对象表面在不同位置的法向量。
S115、根据法向量矩阵生成光度立体模板图像。
其中,法向量矩阵中的元素为光度立体模板图像的像素值。
可以理解的是,根据法向量矩阵生成光度立体模板图像,光度立体是一种三维重建技术,它可以通过图像处理技术来重建物体的三维形状。光度立体模板图像是指包含模板对象表面法向量信息的图像,可以用于后续的三维重建。在生成光度立体模板图像时,将法向量矩阵中的元素映射到图像的像素值上,从而得到一幅包含模板对象表面法向量信息的图像。
光度立体模板图像可以是通过K张模板采集图像经过光度立体方法得到的。举例说明,利用如图3所示的成像机台对模板对象进行拍摄,得到4张光源角度不同的模板采集图像,对4张光源角度不同的模板采集图像进行光度立体图像合成,得到光度立体模板图像;其中,4张模板采集图像为灰度图像,光度立体模板图像为光度立体彩色图。
本申请实施例提供的尺寸测量方法,通过使用多个光源标定图像来确定标定参数矩阵,并结合模板对象的反射率来计算法向量矩阵,为后续提高计算目标对象的尺寸的精确性及准确性奠定基础。
在本申请的图15对应的实施例提供的尺寸测量方法的一个可选实施例中,请参阅图16,子步骤S112进一步包括子步骤S1121至子步骤S1122。具体的:
S1121、确定E个光源标定图像中的每个光源标定图像对应的目标亮点坐标及模板对象在光源标定图像中的中心点坐标,得到E个目标亮点坐标及E个中心点坐标。
可以理解的是,对 E 个光源标定图像进行处理,以确定每个光源标定图像中的目标亮点坐标和模板对象中心点坐标。目标亮点坐标是指在光源标定图像中,对应于模板对象上反射最强的点的坐标。模板对象中心点坐标是指在光源标定图像中,模板对象的几何中心点的坐标。具体来说,可以使用图像处理技术(如灰度变换等)来识别光源标定图像中的目标亮点和模板对象中心点。
S1122、根据E个目标亮点坐标、E个中心点坐标及E个光源信息,计算得到标定参数矩阵。
可以理解的是,标定参数矩阵是一个 E×4 的矩阵,其中 E 表示光源数量,4 表示矩阵中的列数,分别表示:光源的方向向量,表示为 [cos(θ),sin(θ),0]T,其中 θ 表示光源的方向角;光源的强度,表示为 I;模板对象中心点的坐标,表示为 [x,y,z]T;模板对象的半径,表示为 r。具体来说,可以使用以下公式来计算标定参数矩阵:A=[I1,d1,x1,y1,z1,r1;I2,d2,x2,y2,z2,r2;…;IE,dE,xE,yE,zE,rE],其中,Ii 表示第 i 个光源的强度,di 表示第 i 个光源的方向向量,xi、yi、zi 表示第 i 个模板对象中心点的坐标,ri 表示第 i 个模板对象的半径。
本申请实施例提供的尺寸测量方法,通过使用多个光源标定图像和模板对象的信息,以获得更多的数据,从而减少标定结果的误差;同时,通过对多个光源标定图像进行处理,可以获得更加准确的目标亮点坐标和模板对象中心点坐标,从而提高标定结果的精度。
为了便于理解,下面将介绍一种应用于工业产品的尺寸测量方法。在工业制造行业的质检中,尺寸规格是个非常严格的标准,在一些应用中要求算法量测一致性误差小于2个像素,与实际值偏差小于4个像素值。如果尺寸不正确,器件的装配可能会失败,同时还可能破坏产品其他结构,因此在工业质检中,需要依赖视觉做尺寸的测量。在实际应用中,常常由于光照、脏污等问题导致一般二维图像中关键点/线的位置难以精确定位,特别是在一些深色的、带包装的器件中,无论如何打光、其二维照片几乎难以辨认待测关键点/线的边界,导致测量结果的不稳定和不准确。
本申请实施例提供的方法,通过多张二维的目标采集图像(如RGB图片)合成一张带有深度信息的目标光度立体图像,抛弃容易产生光照变化、噪声干扰和缺陷纹理等因素的影响,利用器件固有的深度信息,进行精确的尺寸度量。为了进一步优化尺寸的精确性和准确性,通过两阶段的点定位方法,先粗定位器件位置,然后再精细定位关键点;另外,通过使用鲁棒线性回归算法Ransac结合粗定位的器件位置进行局部区域线性回归。基于本申请实施例提供的方法可以实现点到点、点到线、线到线的多种距离度量,同时排除器件偏移、光照、脏污、缺陷等因素引发的干扰,解决了传统算法尺寸测量误差大,在复杂场景中失效的问题。
请参阅图17,图17是本申请实施例提供的应用于工业产品的尺寸测量方法的流程图;包括标定阶段、模板定义阶段、推理使用阶段。三个阶段内又分别有细分的实际处理流程,如:光度立体图像合成、粗模板匹配、后处理模块等。在标定阶段中,工件首先经过机台进行成像,俯拍拍摄4张不同光源角度的目标采集图像,分别是前侧、后侧、左侧、右侧。然后四个角度光源的目标采集图像会经过光度立体标定,生成标定参数,为后两个阶段生成法向量和反射率图奠定基础。在模板定义阶段中,会利用标定参数合成一个基本的光度立体模板图像,这个光度立体模板图像的作用是定位待测工件的大致位置,消除由于器件偏移带来的位置干扰。在推理使用阶段中,输入的目标采集图像也会利用标定参数合成目标光度立体图像(三通道的彩色法向量图),然后利用光度立体模板图像中的信息进行主体粗定位和局部分割。根据需要,可以在局部区域利用传统算法实现点和线的定位,根据后处理模块计算点到点的距离、点到线的距离、线与线质检的角度等等,从而实现精确地距离测量功能。
(一)标定阶段:请参阅图18,图18是本申请实施例提供的光源标定的示意图。光源标定的目的就是估计不同平行光源的入射方向,它是光度立体算法的第一步。标定光源的一种方法是使用金属球,在拍摄的金属球的照片上面的最亮的点指明了光源的方向(受限于光源的形状不一定是点光源,一般可以取最亮区域的中心作为光源方向的近似)。
如图19所示,如图19是反射示意图,其中,反射方向R是固定的(因为它一直正对着观察者),为最亮点在图像中的像素坐标位置, />为金属球在图像中的中心点(可以由mask图像确定),由此可以求出法线向量/>。/>;其中, />中的/>是球的半径。
由于L与R的模相等, ,可以知道必然存在某一个光强的L,R,使得。
现在求S,因为S是R在N上的投影, ,因此可以得到:
;
代入L的表达式,可得:。/>
由于只关心L的方向,即等式两边同时除以L,R的模,等式仍然成立。为了方便计算,将R赋值为,得到:/>。将法向量N带入到公式中,就可以求解光源方向。向量L就是最终需要的标定参数。
(二)模板定义阶段:由于产品每次通过机械手抓取放到机台的位置会存在偏差,这样会增加算法难度。为了解决这一问题,排除器件上下左右移动对算法的干扰,需要定义光度立体模板图像,从而方便定位器件大体位置。当确定待测目标大致位置后,利用向量L直接生成产品光度立体合成后的光度立体模板图像(也就是法向量图片)。并通过一个候选区域bounding box记录下需要检测的点和线的位置。
如图20所示,图20是法向量示意图。法向量生成也是光度立体合成的过程。其中,是一个无关入射角和出射角的常量,是物体该点的特性。称为反射率(albedo)。因此对于一张照片而言,照片上的每一点都可以列出下列的式子: ;公式中的/>代表光源的强度,粗体字母表示方向向量(单位向量,方向模长为1)。因为/>是个常数,可以将其和N合并成G来表示。则对于一张图片而言,在假设光源强度为1的情况下可以写成:,如图21所示。
本申请实施例中,使用了4个光源,因此#lights代表4,#pixel为像素个数(例如,对于使用2K相机进行成像的照片分辨率一般为2560*1440)。
因此,通过最小二乘法:
;
;
求关于G的偏微分,并设为0,即;
可以得到:;
因此,G的模长就是反射率 (albedo),归一化后的单位向量矩阵就是法向量N(normal)。
;
;
在调试过程中,主要目的是通过金属球求得光度立体光源的位置方向,输入是四张图片,对应的Mask图像和标定的四组光源中心坐标点,输出是四组L的(x,y,z)值。如图22所示,图22为本申请实施例提供的法向量及反射率生成示意图。在使用过程中,光度立体图像合成的输入是四张目标采集图像,且四张目标采集图像是不同图片光源打光的灰度图像,输出是一张光度立体彩色图,一张反射率灰度图。在本方案的实现中,将光度立体彩色图作为目标光度立体图像。
(三)推理使用阶段:在实际使用中,当产线来料时,会在固定机台上拍摄四张目标采集图像,根据标定阶段的参数和光度立体模板图像中的器件位置,分别对目标采集图像进行光度立体合成和图像配准工作。由于光度立体法向量生成在前文中已经描述过,这里不再赘述;对于图像配准,采用自己定义的特征区域,利用RGB图像的像素值直接作为特征,进行简单的模板匹配,从而提升算法运行的速度,提高实际工业质检环境中,尺寸测量的可用性。
(1)粗模版匹配/器件粗定位:由于产品每次通过机械手抓取放到机台的位置会存在偏差,这样会增加边缘直线的搜索空间。为了算法的稳定性,排除器件上下左右移动对算法的干扰,先使用粗定位,定位器件大体位置,然后将待测器件的位置进行调整,使其和光度立体模板图像的模板对象的位置大致重合。本申请实施例采用对光照变化更加鲁棒的基于相关性的模版匹配算法,其计算原理如下:
;
其中,表示目标光度立体图像中的待查询区域,/>表示光度立体模板图像中的模板对象的模版区域,/>和/>代表x,y坐标位置下的像素值,/>与/>分别是当前查询区域与模版区域的像素平均值,/>与/>分别是待查询区域与模版区域的像素标准差。m-1是一个超参数,作为缩放因子。
通过以上计算,得到相似度矩阵,进而需要在相似性矩阵中定位出相似度最大的位置作为最终的匹配结果。
需要注意的是,上图粗模板定位仅做示意,当完成匹配之后,实质上不需要对目标光度立体图像进行裁切。而只需要知道输入的目标采集图像的 目标对象的位置关于光度立体模板图像的目标对象的位置的相似变换]矩阵M。这种相似变换指的是等距变换和均匀尺度缩放。
;
根据这个矩阵M,可以很容易的求出其逆矩阵Minv,从而得到从光度立体模板图像到输入图的变换Minv。这个参数能够方便进行后续的局部区域裁切。如图4,图4为光度立体模板图像和目标光度立体图像的相似变换对应关系示意图。
(2)关键点的定位:尽管在粗定位模块中已经进行了相似度的计算,但是由于选择的匹配框较大,实际上最终的定位结果较为粗糙。在实际工业场景中,对点的定位要求是非常严格的,通常只允许偏差几个像素。而由于器件的工艺等差异,常常会有一定程度的偏移,因此对于具体的关键点(通常是某些零件或者关键部件的位置),需要进行精确的修正。因此,对于光度立体模板图像中,对于预先定义的点,会利用图像配准中输出的Minv,对关键点做一次变换,得到目标光度立体图像的对应大致位置,然后通过在光度立体模板图像中,在光度立体模板图像关键点的上下左右各填充N个像素值,作为该关键点模板;在这个新的位置的上下左右各填充M个像素值,作为一个新的搜索区域。从而利用上述粗定位模块中的算法,在目标图像的搜索区域中搜索与光度立体模板图像中的关键点模板相似度最高的区域。得到最终输出的区域之后,就可以将改关键点模板的中心点,作为新的、精调后的定位点输出。
与粗模板匹配/器件粗定位模块相同的是:都利用相似度矩阵,定位出相似度最大的位置作为最终的匹配结果;不同的是:粗模板匹配的目的是为了将每一次新的输入图片的器件位置匹配到光度立体模板图像中的器件位置;而本方法的目的是为了获得光度立体模板图像中关键点在输入图中的对应点。如图5所示,首先,光度立体模板图像中的标记点A通过相似变换矩阵计算得到预测点B,接着,对标记点A上下左右扩充N个像素,得到标记点区域SN,以及对预测点B上下左右扩充M个像素,得到预测点区域SM;最后,以预测点区域SM为搜索区域,从预测点区域SM中确定与标记点区域的相似度值大于相似度阈值的预测点子区域SP,将预测点子区域SP的几何中心作为目标点C。
(3)直线回归方法/RANSAC:在上文中,已经得到了变换,同时也有光度立体模板图像中事先标记好的目标区域候选框。通过对目标区域候选框的四个角点左乘矩阵,可以得到映射后的对应位置,如图7所示,图7为光度立体模板图像和输入图/局部裁切区域的关联的示意图,通过对这一变换后的框进行裁切,可以得到关注的局部区域。同时由于尺寸变小了,应用传统算法定位线的耗时大大降低,同时也能降低训练的时间复杂度和内存占用情况。如图23至图25所示,图23为原始局部区域,图24为光度立体局部裁切区域,图25为结果图,可见。原始局部区域中的目标对象无法看清,而在光度立体局部裁切区域中可以清楚看见目标对象,提升了工业场景中的可用性。
当得到了输入图中的局部区域,可以使用Canny边缘检测算法对局部裁切图像做边缘检测。Canny边缘检测算法可以分为以下5个步骤:
1) 使用高斯滤波器,以平滑图像,滤除噪声。
2) 计算图像中每个像素点的梯度强度和方向。
3) 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。
4) 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
5) 通过抑制孤立的弱边缘最终完成边缘检测。
当得到了边缘图像后,得到了一组点集。此时,通过Ransac算法对这些边缘点集进行线性回归,提高线的稳定性和算法的鲁棒性。
随机抽样一致算法(RANdom SAmple Consensus,RANSAC)。它采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数;RANSAC算法在1981年由Fischler和Bolles首次提出,是一种鲁棒的,能够排除异常点干扰的算法。
给定一组点集,其中包含了一些离群点(outlier),如果直接使用简单的最小二乘法来回归此线,这条线将会受到异常点的影响,会偏向异常点,无法得到一条鲁棒的直线,而用RANSAC,可以只由正常点集来计算出模型,而忽略异常值的干扰。RANSAC模块包含两个重要的参数:每次产生新模型时所采样的点(n),重复做的次数(k),其具体计算步骤如下:
1)在数据中随机采样若干个点作为拟合点;
2)计算拟合点集合内的直线 (y=kx+b);
3)计算所有点到该直线的距离,如果该点在可容忍的阈值范围内,即属于正常点,记录当前模型拟合点的总数;重复以上步骤;
4)比较每次迭代中阈值内点的数量,内点最多时所建立的模型就是所求的解。
(四)硬件环境:本申请实施例提供的方法所需的硬件环境包括成像机台,摄像头,光源,以及进行深度缺陷检测的服务器和相应的软件环境。成像机台如图3所示,包含四个不同方向的光源,一个镜头,以及相应的观测平台。本方案会俯拍拍摄4张不同光源角度的图片,分别是前侧、后侧、左侧、右侧。单侧光源的照片仅需要打开其中一盏光源,其余光源保持关闭即可,均匀照亮时四盏光源均须打开。由于会在标定阶段对四个光源的方向进行标定,因此在机台调试时不需要保证光源的严格对齐。服务器的硬件搭载Intel Xeon8255C CPU和NVIDIA Tesla V100显卡的服务器上实现。编码采用Python 3.6.8, 使用的框架为opencv-python版本4.5.1,numpy版本1.16.1,scikit-learn版本0.23.0。
本申请实施例提供的方法可以实现点到点、点到线、线到线的多种距离度量,同时排除器件偏移、光照、脏污、缺陷等因素引发的干扰,解决了传统算法测量误差大,在复杂场景中失效的问题。
本申请实施例提供的方法:1)可以在普通的二维相机上通过分析物体表面的光照变化来提取物体的三维信息,实现更精确的尺寸测量,且具有较高的性价比。2)不会受到光照、噪声和表面纹理等因素的影响,测量结果准确性极高,可以实现算法量测一致性误差稳定小于2个像素,与实际值偏差稳定小于4个像素值。3)在处理复杂形状、不规则表面或低对比度下的尺寸测量时,性能表现较优。而光度立体方法在这些情况下仍能实现较好的测量效果,具有较强的鲁棒性,不需要依赖于额外的算法,具有较强的鲁棒性。4)能够在单张图像上实现精确的尺寸测量,避免了多视角图像采集和复杂算法的需求,降低了计算量,提高了实时性。
需要说明的是,粗定位算法可以使用传统的灰度值模板匹配,也可以使用更新的深度学习配准算法如SuperGlue+SuperPoint。RANSAC模块可以替换为简单的线性回归、也可以利用神经网络进行回归。直线回归可以替换为任意回归方式,例如拟合二次曲线可以用二次曲线函数进行回归。拟合圆可以使用圆方式回归。点的匹配也可以使用其他的关键点提取技术和算法。光度立体合成图像可以任意多方向(>=3方向),每个方向一张照片,图像越多效果越好。
下面对本申请中的尺寸测量装置进行详细描述,请参阅图26。图26为本申请实施例中目标对象装置10的一个实施例示意图,目标对象装置10包括:图像获取模块110、光度立体合成模块120、相似变换矩阵确定模块130、匹配线模块140、边缘检测模块150及后处理计算模块160;具体的:
图像获取模块110,用于获取K个目标采集图像,以及获取光度立体模板图像;其中,K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,K个目标采集图像的光源信息互不相同;光度立体模板图像为包括模板对象的深度信息的图像,光度立体模板图像中包括标记区域,标记区域用于标记模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;
光度立体合成模块120,用于根据K个目标采集图像对应的K个光源信息,对K个目标采集图像进行合成,生成目标光度立体图像,其中,目标光度立体图像包括目标对象的三维信息;
相似变换矩阵确定模块130,用于根据光度立体模板图像及目标光度立体图像,确定光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵;
匹配线模块140,用于根据相似变换矩阵对光度立体模板图像中的标记区域进行位置变换,得到目标光度立体图像中目标对象对应的候选区域;
边缘检测模块150,用于对候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;
后处理计算模块160,用于根据L个边缘检测点计算目标对象的尺寸数据。
本申请实施例提供的装置,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的候选区域,进而对候选区域中的目标对象进行边缘检测,通过得到的边缘检测点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性;本申请实施例提供的尺寸测量装置,可以针对于非规则的形状的目标对象的尺寸测量,通过对目标对象进行边缘检测,得到目标区域的区域边界,通过计算目标区域的区域边界得到计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性;同时,由于进行边缘检测对目标对象进行切割,相对于原始的目标光度立体图像的尺寸缩小即缩小搜索范围,应用传统算法定位线的耗时大大降低,同时也能降低训练的时间复杂度和内存占用情况,提升了工业场景中的可用性。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,边缘检测模块150,还用于:
将目标光度立体图像按照候选区域进行裁剪,得到局部裁剪图像;
将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型对局部裁剪图像中的目标对象进行边缘检测,得到P个边缘候选点,其中,P为大于1的整数;
对P个边缘候选点进行线性回归处理,剔除P个边缘候选点中的异常点,得到L个边缘检测点。
本申请实施例提供的尺寸测量装置,通过裁剪可以减少图像的大小,从而降低计算复杂度,同时也可以减少图像中的噪声和无关信息,有助于后续的边缘检测和目标区域生成;通过边缘检测可以得到目标对象的边缘信息,有助于后续的目标区域生成;通过线性回归处理可以去除异常点,从而减少噪声对边缘检测结果的影响,有助于提高目标区域生成的准确性。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,边缘检测模块150,还用于:
对P个边缘候选点进行随机采样,得到N个拟合点,其中,N为大于1且小于P的整数;
根据N个拟合点,生成U条直线,其中,每条直线中包括至少两个拟合点,U为大于1的整数;
计算P个边缘候选点中的每个边缘候选点到U条直线的距离;
将P个边缘候选点中的每个边缘候选点到U条直线的距离小于距离阈值的边缘候选点作为边缘检测点,得到L个边缘检测点。
本申请实施例提供的尺寸测量装置,通过对边缘候选点随机采样,可以减少拟合点的数量,降低后续计算复杂度;通过拟合点生成直线可以提高直线的精度,从而提高边缘检测的准确性;通过计算每个边缘候选点到 U 条直线的距离可以更全面地评估边缘候选点的边缘性质,减少误检和漏检的情况;通过设置距离阈值可以筛选出真正的边缘候选点,减少假阳性和假阴性的情况;在保证检测准确性的同时,提高计算效率和鲁棒性。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,边缘检测模块150,还用于:
将局部裁剪图像作为边缘检测模型的输入,通过边缘检测模型中的滤波器滤除局部裁剪图像中的噪声像素点,得到S个第一候选像素点,其中,S为大于等于1的整数;
计算S个第一候选像素点中每个第一候选像素点的梯度强度值,得到S个候选梯度强度值;
通过对S个候选梯度强度值进行非极大值抑制,从S个第一候选像素点中确定T个第二候选像素点,其中,T为大于等于1且小于S的整数;
获取第一梯度强度阈值;
根据T个第二候选像素点对应的T个候选梯度强度值,从T个第二候选像素点中确定候选梯度强度值大于第一梯度强度阈值的P个边缘候选点。
本申请实施例提供的尺寸测量装置,通过使用边缘检测模型中的滤波器滤除噪声像素点,可以减少噪声对边缘检测结果的影响,提高边缘检测的准确性;通过使用非极大值抑制,可以减少候选像素点的数量,降低计算复杂度,同时提高边缘检测的准确性;通过使用第一梯度强度阈值,可以筛选出更加明显的边缘像素点,提高边缘检测的准确性;通过将目标边缘像素点进行连接,可以得到更加准确的边缘检测框,为后续的图像处理和分析提供更加准确的信息。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,匹配线模块140,还用于:
确定光度立体模板图像中的标记区域的A个顶点坐标,其中,A为大于2的整数;
将相似变换矩阵分别与A个顶点坐标进行运算,得到A个变换坐标;
根据A个变换坐标,在目标光度立体图像中确定候选区域。
本申请实施例提供的尺寸测量装置,通过使用相似变换矩阵对标记区域进行变换,可以将标记区域的形状和位置信息准确地映射到目标光度立体图像中,从而提高图像配准的准确性;通过使用变换坐标来确定候选区域,可以更加准确地确定与标记区域相似的区域,从而提高候选区域的准确性;使用相似变换矩阵进行图像变换,可以减少计算量,提高计算效率,从而节省计算资源。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,相似变换矩阵确定模块130,还用于:
获取光度立体模板图像对应的X个像素值以及目标光度立体图像对应的Y个像素值,其中,X及Y均为大于1的整数;
根据光度立体模板图像对应的X个像素值,计算光度立体模板图像对应的第一像素平均值;
计算X个像素值与第一像素平均值的标准差,得到X个第一标准差;
根据目标光度立体图像对应的Y个像素值,计算目标光度立体图像对应的第二像素平均值;
计算Y个像素值与第二像素平均值的标准差,得到Y个第二标准差;
根据X个像素值、Y个像素值、第一像素平均值、第二像素平均值、X个第一标准差及Y个第二标准差,计算得到第一相似度矩阵;
获取目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的角度变换值;
根据第一相似度矩阵及角度变换值,生成目标光度立体图像中的目标对象的位置相对于光度立体模板图像中的模板对象的位置的相似变换逆矩阵;
对相似变换逆矩阵进行逆变换,得到光度立体模板图像中的模板对象的位置相对于目标光度立体图像中的目标对象的位置的相似变换矩阵。
本申请实施例提供的尺寸测量装置,可以计算出目标光度立体图像相对于光度立体模板图像的相似变换矩阵,从而可以根据相似变换矩阵对目标光度立体图像进行变换,使其与光度立体模板图像的相似度更高。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,请参阅图27,尺寸测量装置还包括匹配点模块170;具体的:
匹配点模块170,用于根据相似变换矩阵对光度立体模板图像中的M个标记点进行位置变换,得到目标光度立体图像中对应的M个目标点;
后处理计算模块160,还用于根据目标光度立体图像中对应的M个目标点计算目标对象的尺寸数据。
本申请实施例提供的尺寸测量装置,通过多张目标采集图像合成一张带有目标对象三维信息的目标光度立体图像,避免因光照变化、噪声干扰和缺陷纹理等因素的对目标对象的尺寸测量的影响;通过相似变换矩阵得到目标光度立体图像中目标对象对应的目标点,进而通过目标点计算目标对象的尺寸数据,提高了尺寸计算中的精确性及准确性。
在本申请的图27对应的实施例提供的尺寸测量装置的一个可选实施例中,匹配点模块170,还用于:
获取光度立体模板图像中的M个标记点对应的M个标记点坐标;
将相似变换矩阵分别与M个标记点坐标进行运算,得到M个预测点坐标,其中,M个预测点坐标对应于M个预测点;
以M个标记点中的每个标记点为中心,生成M个标记点区域,其中,M个标记点区域的几何中心为M个标记点;
以M个预测点中的每个预测点为中心,生成M个预测点区域,其中,M个预测点区域的几何中心为M个预测点,M个预测点区域中的每个预测点区域的像素点个数多于对应的标记点区域的像素点个数;
在M个预测点区域中的每个预测点区域中确定一个预测点子区域,得到M个预测点子区域,其中,M个预测点子区域中的每个预测点子区域与对应的标记点区域的相似度值大于相似度阈值;
确定M个预测点子区域中每个预测点子区域的几何中心,得到M个目标点。
本申请实施例提供的尺寸测量装置,通过在预测点区域中确定预测点子区域,并选择与标记点区域相似度较高的预测点子区域的几何中心作为目标点,可以减少预测点的数量,并提高目标点的准确性。同时,该方法可以在模板图像中确定目标点,而不需要在输入图像中进行搜索,从而减少计算量,提高光度立体匹配的效率。
在本申请的图27对应的实施例提供的尺寸测量装置的一个可选实施例中,匹配点模块170,还用于:
获取M个预测点区域中的每个预测点区域的Q个像素值及M个标记点区域中的每个预测点区域的W个像素值,其中,Q及W均为大于1的整数;
根据M个预测点区域中的每个预测点区域的Q个像素值,计算M个预测点区域对应的M个像素值平均值;
根据M个标记点区域中的每个标记点区域的W个像素值,计算M个标记点区域对应的M个像素值平均值;
根据M个预测点区域中的每个预测点区域的Q个像素值与M个标记点区域对应的M个像素值平均值,计算得到M个像素值标准差组,每个像素值标准差组中包括Q个像素值标准差;
根据M个预测点区域中的每个预测点区域的Q个像素值、M个标记点区域中的每个预测点区域的W个像素值、M个预测点区域对应的M个像素值平均值、M个标记点区域对应的M个像素值平均值及M个像素值标准差组,计算得到M个第二相似度矩阵;
根据M个第二相似度矩阵对M个预测点区域进行相似度区域预测,得到M个预测点子区域。
本申请实施例提供的尺寸测量装置,通过计算预测点区域和标记点区域之间的像素值相似度,对预测点区域进行相似度区域预测,从而得到更准确的预测结果;通过获取预测点区域和标记点区域中的像素值,可以更全面地考虑图像中的信息,从而提高预测的准确性。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,图像获取模块110,还用于:
获取模板对象对应的E个光源标定图像,其中,E个光源标定图像均为在相同的视觉角度下对模板对象进行拍摄得到的,E个光源标定图像的光源信息互不相同;
根据E个光源标定图像对应的E个光源信息,确定标定参数矩阵;
获取模板对象的反射率;
根据标定参数矩阵及模板对象的反射率,计算得到法向量矩阵;
根据法向量矩阵生成光度立体模板图像,其中,法向量矩阵中的元素为光度立体模板图像的像素值。
本申请实施例提供的尺寸测量装置,通过使用多个光源标定图像来确定标定参数矩阵,并结合模板对象的反射率来计算法向量矩阵,为后续提高计算目标对象的尺寸的精确性及准确性奠定基础。
在本申请的图26对应的实施例提供的尺寸测量装置的一个可选实施例中,图像获取模块110,还用于:
确定E个光源标定图像中的每个光源标定图像对应的目标亮点坐标及模板对象在光源标定图像中的中心点坐标,得到E个目标亮点坐标及E个中心点坐标;
根据E个目标亮点坐标、E个中心点坐标及E个光源信息,计算得到标定参数矩阵。
本申请实施例提供的尺寸测量装置,通过使用多个光源标定图像和模板对象的信息,以获得更多的数据,从而减少标定结果的误差;同时,通过对多个光源标定图像进行处理,我们可以获得更加准确的目标亮点坐标和模板对象中心点坐标,从而提高标定结果的精度。
图28是本申请实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图28所示的服务器结构。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种尺寸测量方法,其特征在于,包括:
获取K个目标采集图像,以及获取光度立体模板图像;其中,所述K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,所述K个目标采集图像的光源信息互不相同;所述光度立体模板图像为包括模板对象的深度信息的图像,所述光度立体模板图像中包括标记区域,所述标记区域用于标记所述模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;
根据所述K个目标采集图像对应的K个光源信息,对所述K个目标采集图像进行合成,生成目标光度立体图像,其中,所述目标光度立体图像包括所述目标对象的三维信息;
根据所述光度立体模板图像及所述目标光度立体图像,确定所述光度立体模板图像中的模板对象的位置相对于所述目标光度立体图像中的目标对象的位置的相似变换矩阵;
根据所述相似变换矩阵对所述光度立体模板图像中的标记区域进行位置变换,得到所述目标光度立体图像中目标对象对应的候选区域;
对所述候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;
根据所述L个边缘检测点计算所述目标对象的尺寸数据。
2.如权利要求1所述的尺寸测量方法,其特征在于,所述对所述候选区域中的目标对象进行边缘检测,得到L个边缘检测点,包括:
将所述目标光度立体图像按照所述候选区域进行裁剪,得到局部裁剪图像;
将所述局部裁剪图像作为边缘检测模型的输入,通过所述边缘检测模型对所述局部裁剪图像中的目标对象进行边缘检测,得到P个边缘候选点,其中, P为大于1的整数;
对所述P个边缘候选点进行线性回归处理,剔除P个边缘候选点中的异常点,得到L个边缘检测点。
3.如权利要求2所述的尺寸测量方法,其特征在于,所述对所述P个边缘候选点进行线性回归处理,剔除P个边缘候选点中的异常点,得到L个边缘检测点,包括:
对所述P个边缘候选点进行随机采样,得到N个拟合点,其中,N为大于1且小于P的整数;
根据所述N个拟合点,生成U条直线,其中,每条直线中包括至少两个所述拟合点,U为大于1的整数;
计算P个边缘候选点中的每个边缘候选点到U条直线的距离;
将P个边缘候选点中的每个边缘候选点到U条直线的距离小于距离阈值的边缘候选点作为边缘检测点,得到L个边缘检测点。
4.如权利要求2所述的尺寸测量方法,其特征在于,所述将所述局部裁剪图像作为边缘检测模型的输入,通过所述边缘检测模型对所述局部裁剪图像中的目标对象进行边缘检测,得到P个边缘候选点,包括:
所述将所述局部裁剪图像作为边缘检测模型的输入,通过所述边缘检测模型中的滤波器滤除所述局部裁剪图像中的噪声像素点,得到S个第一候选像素点,其中,S为大于等于1的整数;
计算所述S个第一候选像素点中每个第一候选像素点的梯度强度值,得到S个候选梯度强度值;
通过对所述S个候选梯度强度值进行非极大值抑制,从所述S个第一候选像素点中确定T个第二候选像素点,其中,T为大于等于1且小于S的整数;
获取第一梯度强度阈值;
根据所述T个第二候选像素点对应的T个候选梯度强度值,从所述T个第二候选像素点中确定候选梯度强度值大于所述第一梯度强度阈值的P个边缘候选点。
5.如权利要求1所述的尺寸测量方法,其特征在于,所述根据所述相似变换矩阵对所述光度立体模板图像中的标记区域进行位置变换,得到所述目标光度立体图像中目标对象对应的候选区域,包括:
确定所述光度立体模板图像中的标记区域的A个顶点坐标,其中,A为大于2的整数;
将所述相似变换矩阵分别与所述A个顶点坐标进行运算,得到A个变换坐标;
根据所述A个变换坐标,在所述目标光度立体图像中确定候选区域。
6.如权利要求1所述的尺寸测量方法,其特征在于,所述根据所述光度立体模板图像及所述目标光度立体图像,确定所述目标光度立体图像中的目标对象的位置相对于所述光度立体模板图像中的模板对象的位置的相似变换矩阵,包括:
获取所述光度立体模板图像对应的X个像素值以及所述目标光度立体图像对应的Y个像素值,其中,X及Y均为大于1的整数;
根据所述光度立体模板图像对应的X个像素值,计算光度立体模板图像对应的第一像素平均值;
计算所述X个像素值与所述第一像素平均值的标准差,得到X个第一标准差;
根据所述目标光度立体图像对应的Y个像素值,计算目标光度立体图像对应的第二像素平均值;
计算所述Y个像素值与所述第二像素平均值的标准差,得到Y个第二标准差;
根据所述X个像素值、所述Y个像素值、所述第一像素平均值、所述第二像素平均值、所述X个第一标准差及所述Y个第二标准差,计算得到第一相似度矩阵;
获取目标光度立体图像中的目标对象的位置相对于所述光度立体模板图像中的模板对象的位置的角度变换值;
根据所述第一相似度矩阵及所述角度变换值,生成所述目标光度立体图像中的目标对象的位置相对于所述光度立体模板图像中的模板对象的位置的相似变换逆矩阵;
对所述相似变换逆矩阵进行逆变换,得到所述光度立体模板图像中的模板对象的位置相对于所述目标光度立体图像中的目标对象的位置的相似变换矩阵。
7.如权利要求1所述的尺寸测量方法,其特征在于,所述光度立体模板图像中还包括所述模板对象对应的M个标记点,M为大于1的整数;
所述确定所述光度立体模板图像中的模板对象的位置相对于所述目标光度立体图像中的目标对象的位置的相似变换矩阵之后,还包括:
根据所述相似变换矩阵对所述光度立体模板图像中的M个标记点进行位置变换,得到所述目标光度立体图像中对应的M个目标点;
根据所述目标光度立体图像中对应的M个目标点计算所述目标对象的尺寸数据。
8.如权利要求7所述的尺寸测量方法,其特征在于,所述根据所述相似变换矩阵对所述光度立体模板图像中的M个标记点进行位置变换,得到所述目标光度立体图像中对应的M个目标点,包括:
获取所述光度立体模板图像中的M个标记点对应的M个标记点坐标;
将所述相似变换矩阵分别与所述M个标记点坐标进行运算,得到M个预测点坐标,其中,所述M个预测点坐标对应于M个预测点;
以所述M个标记点中的每个标记点为中心,生成M个标记点区域,其中,所述M个标记点区域的几何中心为所述M个标记点;
以所述M个预测点中的每个预测点为中心,生成M个预测点区域,其中,所述M个预测点区域的几何中心为所述M个预测点,所述M个预测点区域中的每个预测点区域的像素点个数多于对应的标记点区域的像素点个数;
在所述M个预测点区域中的每个预测点区域中确定一个预测点子区域,得到M个预测点子区域,其中,所述M个预测点子区域中的每个预测点子区域与对应的标记点区域的相似度值大于相似度阈值;
确定所述M个预测点子区域中每个预测点子区域的几何中心,得到M个目标点。
9.如权利要求8所述的尺寸测量方法,其特征在于,所述在所述M个预测点区域中的每个预测点区域中确定一个预测点子区域,得到M个预测点子区域,包括:
获取所述M个预测点区域中的每个预测点区域的Q个像素值及所述M个标记点区域中的每个预测点区域的W个像素值,其中,Q及W均为大于1的整数;
根据所述M个预测点区域中的每个预测点区域的Q个像素值,计算所述M个预测点区域对应的M个像素值平均值;
根据所述M个标记点区域中的每个标记点区域的W个像素值,计算所述M个标记点区域对应的M个像素值平均值;
根据所述M个预测点区域中的每个预测点区域的Q个像素值与所述M个标记点区域对应的M个像素值平均值,计算得到M个像素值标准差组,每个像素值标准差组中包括Q个像素值标准差;
根据所述M个预测点区域中的每个预测点区域的Q个像素值、所述M个标记点区域中的每个预测点区域的W个像素值、所述M个预测点区域对应的M个像素值平均值、所述M个标记点区域对应的M个像素值平均值及所述M个像素值标准差组,计算得到M个第二相似度矩阵;
根据所述M个第二相似度矩阵对所述M个预测点区域进行相似度区域预测,得到M个预测点子区域。
10.如权利要求1所述的尺寸测量方法,其特征在于,所述获取光度立体模板图像,包括:
获取模板对象对应的E个光源标定图像,其中,所述E个光源标定图像均为在相同的视觉角度下对所述模板对象进行拍摄得到的,所述E个光源标定图像的光源信息互不相同;
根据所述E个光源标定图像对应的E个光源信息,确定标定参数矩阵;
获取模板对象的反射率;
根据所述标定参数矩阵及所述模板对象的反射率,计算得到法向量矩阵;
根据所述法向量矩阵生成光度立体模板图像,其中,所述法向量矩阵中的元素为光度立体模板图像的像素值。
11.如权利要求10所述的尺寸测量方法,其特征在于,所述根据所述E个光源标定图像对应的E个光源信息,确定标定参数矩阵,包括:
确定所述E个光源标定图像中的每个光源标定图像对应的目标亮点坐标及模板对象在所述光源标定图像中的中心点坐标,得到E个目标亮点坐标及E个中心点坐标;
根据所述E个目标亮点坐标、所述E个中心点坐标及所述E个光源信息,计算得到标定参数矩阵。
12.一种尺寸测量装置,其特征在于,包括:
图像获取模块,用于获取K个目标采集图像,以及获取光度立体模板图像;其中,所述K个目标采集图像均为在相同的视觉角度下对目标对象进行拍摄得到的,所述K个目标采集图像的光源信息互不相同;所述光度立体模板图像为包括模板对象的深度信息的图像,所述光度立体模板图像中包括标记区域,所述标记区域用于标记所述模板对象在光度立体模板图像的第一区域范围,K为大于1的整数;
光度立体合成模块,用于根据所述K个目标采集图像对应的K个光源信息,对所述K个目标采集图像进行合成,生成目标光度立体图像,其中,所述目标光度立体图像包括所述目标对象的三维信息;
相似变换矩阵确定模块,用于根据所述光度立体模板图像及所述目标光度立体图像,确定所述光度立体模板图像中的模板对象的位置相对于所述目标光度立体图像中的目标对象的位置的相似变换矩阵;
匹配线模块,用于根据所述相似变换矩阵对所述光度立体模板图像中的标记区域进行位置变换,得到所述目标光度立体图像中目标对象对应的候选区域;
边缘检测模块,用于对所述候选区域中的目标对象进行边缘检测,得到L个边缘检测点,其中,L为大于1的整数;
后处理计算模块,用于根据所述L个边缘检测点计算所述目标对象的尺寸数据。
13.一种计算机设备,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括执行如权利要求1至11中任一项所述的尺寸测量方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
14.一种计算机可读存储介质,包括指令,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的尺寸测量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311240849.1A CN116977341B (zh) | 2023-09-25 | 2023-09-25 | 一种尺寸测量方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311240849.1A CN116977341B (zh) | 2023-09-25 | 2023-09-25 | 一种尺寸测量方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116977341A true CN116977341A (zh) | 2023-10-31 |
CN116977341B CN116977341B (zh) | 2024-01-09 |
Family
ID=88477133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311240849.1A Active CN116977341B (zh) | 2023-09-25 | 2023-09-25 | 一种尺寸测量方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116977341B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670916A (zh) * | 2024-01-31 | 2024-03-08 | 南京华视智能科技股份有限公司 | 一种基于深度学习的涂布机边缘检测方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102679871A (zh) * | 2012-05-07 | 2012-09-19 | 上海交通大学 | 亚像素精度工业物体快速检测方法 |
CN104123542A (zh) * | 2014-07-18 | 2014-10-29 | 大连理工大学 | 一种轮毂工件定位的装置及其方法 |
CN108280471A (zh) * | 2018-01-17 | 2018-07-13 | 武汉中元华电软件有限公司 | 一种基于机器视觉的转换开关状态识别方法 |
CN109543665A (zh) * | 2017-09-22 | 2019-03-29 | 凌云光技术集团有限责任公司 | 图像定位方法及装置 |
CN111369545A (zh) * | 2020-03-10 | 2020-07-03 | 创新奇智(重庆)科技有限公司 | 边缘缺陷检测方法、装置、模型、设备及可读存储介质 |
CN112345539A (zh) * | 2020-11-05 | 2021-02-09 | 菲特(天津)检测技术有限公司 | 一种基于深度学习的铝压铸件表面缺陷检测方法 |
EP4202424A1 (en) * | 2021-12-21 | 2023-06-28 | Fundacion Centro de Tecnologias de Interaccion Visual y Communicaciones VICOMTECH | Method and system for inspection of welds |
CN116721066A (zh) * | 2023-05-26 | 2023-09-08 | 华南理工大学 | 一种金属表面缺陷检测方法、装置和存储介质 |
-
2023
- 2023-09-25 CN CN202311240849.1A patent/CN116977341B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102679871A (zh) * | 2012-05-07 | 2012-09-19 | 上海交通大学 | 亚像素精度工业物体快速检测方法 |
CN104123542A (zh) * | 2014-07-18 | 2014-10-29 | 大连理工大学 | 一种轮毂工件定位的装置及其方法 |
CN109543665A (zh) * | 2017-09-22 | 2019-03-29 | 凌云光技术集团有限责任公司 | 图像定位方法及装置 |
CN108280471A (zh) * | 2018-01-17 | 2018-07-13 | 武汉中元华电软件有限公司 | 一种基于机器视觉的转换开关状态识别方法 |
CN111369545A (zh) * | 2020-03-10 | 2020-07-03 | 创新奇智(重庆)科技有限公司 | 边缘缺陷检测方法、装置、模型、设备及可读存储介质 |
CN112345539A (zh) * | 2020-11-05 | 2021-02-09 | 菲特(天津)检测技术有限公司 | 一种基于深度学习的铝压铸件表面缺陷检测方法 |
EP4202424A1 (en) * | 2021-12-21 | 2023-06-28 | Fundacion Centro de Tecnologias de Interaccion Visual y Communicaciones VICOMTECH | Method and system for inspection of welds |
CN116721066A (zh) * | 2023-05-26 | 2023-09-08 | 华南理工大学 | 一种金属表面缺陷检测方法、装置和存储介质 |
Non-Patent Citations (2)
Title |
---|
JIANDE ZHANG等: "A Fast Photometric Stereo Algorithm with Un-calibration Lights for Surface Reconstruction", 《2021 CHINA AUTOMATION CONGRESS (CAC)》, pages 7349 - 7353 * |
张发: "复杂表面三维形貌线结构光-光度协同测量方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 02, pages 138 - 3220 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670916A (zh) * | 2024-01-31 | 2024-03-08 | 南京华视智能科技股份有限公司 | 一种基于深度学习的涂布机边缘检测方法 |
CN117670916B (zh) * | 2024-01-31 | 2024-04-12 | 南京华视智能科技股份有限公司 | 一种基于深度学习的涂布边缘检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116977341B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Review on image-stitching techniques | |
Lin et al. | Line segment extraction for large scale unorganized point clouds | |
US7747106B2 (en) | Method and system for filtering, registering, and matching 2.5D normal maps | |
EP2234064B1 (en) | Method for estimating 3D pose of specular objects | |
CN105814607A (zh) | 图像处理装置以及图像处理方法 | |
US11676301B2 (en) | System and method for efficiently scoring probes in an image with a vision system | |
CN112051853B (zh) | 基于机器视觉的智能避障系统及方法 | |
Cao et al. | Sparse photometric 3D face reconstruction guided by morphable models | |
EP3497618B1 (en) | Independently processing plurality of regions of interest | |
CN116977341B (zh) | 一种尺寸测量方法及相关装置 | |
O'Byrne et al. | A stereo‐matching technique for recovering 3D information from underwater inspection imagery | |
Recky et al. | Façade segmentation in a multi-view scenario | |
CN110929782B (zh) | 一种基于正射影像图对比的河道异常检测方法 | |
Ackermann et al. | Removing the example from example-based photometric stereo | |
CN105787870A (zh) | 一种图形图像拼接融合系统 | |
CA3185292A1 (en) | Neural network analysis of lfa test strips | |
CN111208138B (zh) | 一种智能木料识别装置 | |
Johannsen et al. | Occlusion-aware depth estimation using sparse light field coding | |
CN113284158B (zh) | 一种基于结构约束聚类的图像边缘提取方法及系统 | |
Jindal et al. | An ensemble mosaicing and ridgelet based fusion technique for underwater panoramic image reconstruction and its refinement | |
Chen et al. | A novel monocular calibration method for underwater vision measurement | |
Paudel et al. | 2D–3D synchronous/asynchronous camera fusion for visual odometry | |
Kakadiaris et al. | Face recognition using 3D images | |
US20240135583A1 (en) | System and method for efficiently scoring probes in an image with a vision system | |
Feng et al. | Learning Photometric Feature Transform for Free-form Object Scan |
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 |