CN117670983A - 基于加速高斯滤波与Steger算法的光条中心线提取方法 - Google Patents
基于加速高斯滤波与Steger算法的光条中心线提取方法 Download PDFInfo
- Publication number
- CN117670983A CN117670983A CN202311741603.2A CN202311741603A CN117670983A CN 117670983 A CN117670983 A CN 117670983A CN 202311741603 A CN202311741603 A CN 202311741603A CN 117670983 A CN117670983 A CN 117670983A
- Authority
- CN
- China
- Prior art keywords
- light bar
- gaussian
- center line
- pixel
- filtering
- 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.)
- Pending
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 35
- 238000000605 extraction Methods 0.000 title claims abstract description 21
- 230000001133 acceleration Effects 0.000 title claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000005315 distribution function Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 3
- 241001270131 Agaricus moelleri Species 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 125000003275 alpha amino acid group Chemical group 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000017105 transposition Effects 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/60—Analysis of geometric attributes
- G06T7/68—Analysis of geometric attributes of symmetry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- 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
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于加速高斯滤波与Steger算法的光条中心线提取方法,该方法将将图像经预处理后进行灰度化,为了避免噪声对结果产生负面影响,需要对灰度化的图片进行过滤处理,本实施例采用加速高斯滤波可以有效的处理噪声、平滑图像。通过计算Hessian矩阵及其特征向量,从而求得法线方向向量,进而通过求得中心线亚像素点坐标。利用图像的局部信息自动选择最适合的高斯方差参数,得到不同光条灰度的高斯分布中心并有效去除噪声信号,进而保证高斯滤波的有效性,提高算法的自适应性。
Description
技术领域
本发明涉及一种三维测量技术,更具体的说,本发明主要涉及一种基于加速高斯滤波与Steger算法的光条中心线提取方法。
背景技术
近年来,线结构光三维测量技术越来越成熟,被应用在了很多领域,比如:零件缺陷识别检测、尺寸测量等。精确提取结构光光条中心线是测量系统的关键步骤之一。光条信息包含了被测量物体表面的三维形貌信息,光条中心线的提取偏差将直接影响到三维坐标的精确度。目前常见的结构光光条中心线提取算法有边缘法、几何中心法、极值法等,虽然这些方法的提取速度较快,但只能达到像素级,无法应用在需要高精度的场合而且容易受噪声影响。灰度重心法和Steger算法可以达到亚像素级别,但灰度重心法的只考虑光条的横向或纵向,在遇到光条曲率变化较大的情况下会产生较大的误差。Steger算法可以精确计算出光条的方向,通过二次泰勒展开式求极值精确计算出亚像素坐标。Steger算法精确度较高,但计算效率低下,并且在实际测量过程中,被测量物体表面会有不同程度的磨损与污染现象,以及表面的金属材料反光情况等都会影响扫描精确度,因而有必要针对线结构光三维测量技术作进一步的研究和改进。
发明内容
本发明的目的之一在于针对上述不足,提供一种基于加速高斯滤波与Steger算法的光条中心线提取方法,以期望解决现有技术中同类线结构光三维测量技术测量精度不足,而常规Steger算法效率低下,且受工件表面情况影响容易产生较大误差等技术问题。
为解决上述的技术问题,本发明采用以下技术方案:
本发明一方面提供了一种基于加速高斯滤波与Steger算法的光条中心线提取方法,所述方法包括如下步骤:
步骤A、将输入的图像灰度化处理。
步骤B、通过高斯函数对灰度化的图像进行滤波处理,所述高斯函数的标准差σ为式中,ω为灰度化图像中的光条宽度。
步骤C、通过Hessian矩阵计算特征向量,求得法线方向向量。
所述Hessian矩阵为:
式(1)中,u、v分别为像素的行坐标和列坐标;Iuu、Iuv、Ivv为灰度分布函数I(u,v)和二维高斯函数G(u,v)卷积计算所得;在灰度化图像中任一像素点(u,v)处的Hessian矩阵有两个特征向量,较大的绝对值对应特征向量为该像素点的法线方向向量。
步骤D、通过下式计算得到光条中心线的亚像素坐标(pu,pv):
(pu,pv)=(u0+teu,v0+tev) (2)
式(2)中,(u0,v0)光条的中心点行坐标与列坐标,(teu,tev)为中心点和亚像素的行偏移量与列偏移量。
作为优选,进一步的技术方案是:所述中心点和亚像素的行偏移量与列偏移量(teu,tev)小于等于0.5。
更进一步的技术方案是:所述Iuu、Iuv、Ivv通过下式卷积计算得到:
式(3)中,为卷积,G(u,v)为二维高斯函数,通过下式计算得到:
式(4)中,σ为高斯函数标准差。
更进一步的技术方案是:所述灰度化图像中任一像素点(u0,v0)在二次泰勒展开式Hessian矩阵为:
所述任一像素点(u0,v0)的法线方向为e=(eu,ev),并且任一像素点(u0,v0)所在光条法线方向上的像素点为(u0+teu,v0+tev),任一像素点(u0,v0)的灰度值I=(u0+teu,v0+tev)由像素的灰度(u0,v0)和二次泰勒展开式通过下式获得:
I=(u0+teu,v0+tev)=I(u0,v0)+te[Iu,Iv]T+teH(u,v)eT
在像素的灰度(u0,v0)和二次泰勒展开式中,e为任一像素点(u0,v0)法线方向上的单位方向向量,T为矩阵的转置,t为中心点和亚像素中心点的偏移量;
如中心点和亚像素的偏移量(teu,tev)满足下式:
(teu,tev)∈[-0.5,0.5]×[-0.5,0.5]
则将t代入下式:
(pu,pv)=(u0+teu,v0+tev)
计算得到所述光条中心线的亚像素坐标(pu,pv)。
更进一步的技术方案是:所述方法通过高斯函数对灰度化的图像进行归一化与二值化的滤波处理。
本发明另一方面还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有指令,当计算机执行所述指令时,使得计算机执行上述的基于加速高斯滤波与Steger算法的光条中心线提取方法。
与现有技术相比,本发明的有益效果之一是:针对现有结构光光条提取中心线速度慢,通过加速高斯滤波利用多线程技术提高了算法的速率,针对激光扫描过程中易受到外界光线干扰而产生扫描误差,使结构光光条的宽度出现不均匀现象,由于高斯模板的大小取决于结构光光条的宽度,而宽度的选取直接影响结构光光条中心线提取的精确度,进而可通过高斯模板根据结构光光条宽度自动估计,保证高斯滤波的有效性,提高算法的自适应性。
附图说明
图1为用于说明本发明一个实施例的方法流程图。
图2为用于说明本发明一个实施例的结构光光条图像原图。
图3为用于说明本发明一个实施例的光条中心线提取结果图。
具体实施方式
本发明考虑到Steger算法在进行结构光光条中心线提取的过程中,受到外界光线干扰而产生扫描误差,进而导致结构光光条的宽度会出现不均匀现象,同时还将优化Steger算法运行速率的问题。
在使用Steger算法提取结构光光条的中心线的过程中,Steger以Hessian矩阵为基础,提取结构光光条中心线亚像素坐标该算法步骤为:
Hessian矩阵表示为:
其中u、v分别表示像素的行坐标和列坐标,I(u,v)代表像素灰度或者叫灰度分布函数。Iuu、Iuv、Ivv是灰度分布函数I(u,v)和二维高斯函数G(u,v)卷积计算所得,计算过程如下:
其中为二维高斯函数,其主要目的是为了让光条的灰度分布更为明显。/>表示卷积,σ为高斯函数标准差,一般取/>ω为光条宽度。在像素(u,v)处的hessian矩阵有两个特征向量,较大的绝对值对应特征向量为该像素处的法线方向向量。灰度化图像中任一像素点(u0,v0)在二次泰勒展开式hessian矩阵为:
根据该像素点的hessian矩阵求出对应的特征值和特征向量,设该点的法线方向为e=(eu,ev)并且其光条法线方向上的像素点(u0+teu,v0+tev),该像素点的灰度值I=(u0+teu,v0+tev)可以由像素的灰度(u0,v0)和二次泰勒展开式通过下式获得:
I=(u0+teu,v0+tev)=I(u0,v0)+te[Iu,Iv]T+teH(u,v)eT
在像素的灰度(u0,v0)和二次泰勒展开式中,e为任一像素点(u0,v0)法线方向上的单位方向向量,T为矩阵的转置,t为中心点和亚像素中心点的偏移量;
如中心点和亚像素的偏移量(teu,tev)满足下式:
(teu,tev)∈[-0.5,0.5]×[-0.5,0.5]
将t代入后求得光条纹中心的亚像素坐标为:
(pu,pv)=(u0+teu,u0+tev)
点(u0,v0)为光条的中心点,(pu,pv)为亚像素坐标,(teu,tev)为中心点和亚像素的偏移量,为了保证不超出该像素范围,偏移量的绝对值不能超过0.5。
下面结合附图对本发明作进一步阐述。
参考图1所示,本发明的第一实施例提供了一种基于加速高斯滤波与Steger算法的光条中心线提取方法,对于结构光条的原图与提取结果如图2与图3所示。本实施例的方法是按照如下步骤执行的:
S1、将输入的图像经预处理后的图像进行灰度化处理,经灰度化后可使图像更为清晰,以提高算法的精度和处理速度。
S2、对灰度图像进行归一化二值化,为了避免噪声对结果产生负面影响,需要对图片进行过滤处理,本实施例采用加速高斯滤波可以有效的处理噪声、平滑图像。对灰度图像高斯滤波,高斯方差取值范围ω是光条宽度。
上述高斯滤波为使用行卷积核和列卷积核分别对二值图(灰度图像)进行高斯滤波,将二值图中每行和每列中连续非零像素的长度与缩放比例相乘得到二值图中所有行列的高斯方差,从而实现由结构光光条宽度自动估计高斯滤波模板的大小,进而无需进行多次高斯方差取值的滤波操作;
S3、通过本说明书上述公式计算Hessian矩阵及其特征向量,进而求得法线方向向量。
S4、通过本说明书上述公式求得中心线亚像素点坐标。
在本实施例中,利用图像的局部信息自动选择最适合的高斯方差参数,得到不同光条灰度的高斯分布中心并有效去除噪声信号,进而保证高斯滤波的有效性,提高算法的自适应性。同时为改进以往Steger算法在滤波时的耗时性。由于传统的Steger算法需要进行五次高斯滤波,分别是高斯一阶滤波,高斯二阶滤波,以及高斯二阶混合滤波,可认为是采用五通道的卷积核对光条图像进行滤波处理,影响了其数据处理的速度,进而使其提取光条中心线的效率低下。本发明采用FPGA芯片处理多通道的滤波操作,使用五个行卷积模块和五个列卷积模块实现Steger算法。利用FPGA的流水线操作使得数据可以不停顿的传输,加速了一阶二阶高斯滤波的数据处理速度,从而实现高速实时提取光条的中心线。
基于计算机软件类产品的一般形态,本发明的另一个实施例提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有指令,当计算机执行所述指令时,使得计算机执行上述实施例中所记载的基于加速高斯滤波与Steger算法的光条中心线提取方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)、寄存器、硬盘、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性地存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specificintegrated circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
除上述以外,还需要说明的是在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (6)
1.一种基于加速高斯滤波与Steger算法的光条中心线提取方法,其特征在于:所述方法包括如下步骤:
将输入的图像灰度化处理;
通过高斯函数对灰度化的图像进行滤波处理,所述高斯函数的标准差σ为式中,ω为灰度化图像中的光条宽度;
通过Hessian矩阵计算特征向量,求得法线方向向量;
所述Hessian矩阵为:
式中,u、v分别为像素的行坐标和列坐标;Iuu、Iuv、Ivv为灰度分布函数I(u,v)和二维高斯函数G(u,v)卷积计算所得;在灰度化图像中任一像素点(u,v)处的Hessian矩阵有两个特征向量,较大的绝对值对应特征向量为该像素点的法线方向向量;
通过下式计算得到光条中心线的亚像素坐标(pu,pv):
(pu,pv)=(u0+teu,v0+tev)
式中,(u0,v0)光条的中心点坐标,(teu,tev)为中心点和亚像素的偏移量。
2.根据权利要求1所述的基于加速高斯滤波与Steger算法的光条中心线提取方法,其特征在于:所述中心点和亚像素的偏移量(teu,tev)小于等于0.5。
3.根据权利要求1所述的基于加速高斯滤波与Steger算法的光条中心线提取方法,其特征在于所述Iuu、Iuv、Ivv通过下式卷积计算得到:
式中,为卷积,G(u,v)为二维高斯函数,通过下式计算得到:
式中,σ为高斯函数标准差。
4.根据权利要求1或3所述的基于加速高斯滤波与Steger算法的光条中心线提取方法,其特征在于所述灰度化图像中任一像素点(u0,v0)在二次泰勒展开式Hessian矩阵为:
所述任一像素点(u0,v0)的法线方向为e=(eu,ev),并且任一像素点(u0,v0)所在光条法线方向上的像素点为(u0+teu,v0+tev),任一像素点(u0,v0)的灰度值I=(u0+teu,v0+tev)由像素的灰度(u0,v0)和二次泰勒展开式通过下式获得:
I=(u0+teu,v0+tev)=I(u0,v0)+te[Iu,Iv]T+teH(u,v)eT
如中心点和亚像素的偏移量(teu,tev)满足下式:
(teu,tev)∈[-0.5,0.5]×[-0.5,0.5]
则将t代入下式:
(pu,pv)=(u0+teu,v0+tev)
计算得到所述光条中心线的亚像素坐标(pu,pv)。
5.根据权利要求1所述的基于加速高斯滤波与Steger算法的光条中心线提取方法,其特征在于:所述方法通过高斯函数对灰度化的图像进行归一化与二值化的滤波处理。
6.一种计算机可读的存储介质,其特征在于:所述计算机可读的存储介质中存储有指令,当计算机执行所述指令时,使得计算机执行权利要求1至5任意一项所述的基于加速高斯滤波与Steger算法的光条中心线提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311741603.2A CN117670983A (zh) | 2023-12-18 | 2023-12-18 | 基于加速高斯滤波与Steger算法的光条中心线提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311741603.2A CN117670983A (zh) | 2023-12-18 | 2023-12-18 | 基于加速高斯滤波与Steger算法的光条中心线提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117670983A true CN117670983A (zh) | 2024-03-08 |
Family
ID=90078776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311741603.2A Pending CN117670983A (zh) | 2023-12-18 | 2023-12-18 | 基于加速高斯滤波与Steger算法的光条中心线提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117670983A (zh) |
-
2023
- 2023-12-18 CN CN202311741603.2A patent/CN117670983A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830868B (zh) | 一种基于Snake模型和迭代极性转换回归结合的圆弧拟合方法 | |
CN104657955B (zh) | 基于核函数的数字图像相关方法的位移场迭代平滑方法 | |
CN111931647B (zh) | 钢结构表面锈坑识别、提取与评价设备、方法及存储介质 | |
CN113724193B (zh) | Pcba零部件尺寸及间隙高精度视觉测量方法 | |
CN111723821A (zh) | 一种电厂仪表图像的检测识别方法及装置 | |
CN116168037B (zh) | 一种基于图像处理的导线压接弯曲度计算方法及系统 | |
CN106340010A (zh) | 一种基于二阶轮廓差分的角点检测方法 | |
CN104700368B (zh) | 基于核函数的数字图像相关方法的位移场自适应平滑方法 | |
CN101727580A (zh) | 图像处理装置、电子介质和图像处理方法 | |
CN111047588A (zh) | 一种轴型小零件尺寸的图像化测量方法 | |
CN110245597B (zh) | 一种指针式仪表通用性识别方法 | |
CN115690104B (zh) | 一种晶圆裂缝检测方法、装置及存储介质 | |
CN115797418B (zh) | 一种基于改进icp的复杂机械零件测量点云配准方法及系统 | |
CN110906875A (zh) | 一种孔径测量的视觉处理方法 | |
CN104657999B (zh) | 一种基于核函数的数字图像相关方法 | |
CN111027530A (zh) | 基于轮胎压印字符识别的预处理方法 | |
CN106780584A (zh) | 基于灰度共生矩阵的纹理方向精细估算方法 | |
CN117670983A (zh) | 基于加速高斯滤波与Steger算法的光条中心线提取方法 | |
CN115393172B (zh) | 基于gpu实时提取光条纹中心的方法及设备 | |
CN116542910A (zh) | 基于亚像素边缘提取的冲压件圆孔定位及形变检测方法 | |
CN109102516A (zh) | 一种鲁棒的弯管中心线提取方法 | |
CN109059790B (zh) | 一种基于傅里叶变换的弹簧节距测量方法 | |
CN112797917A (zh) | 一种高精度的数字散斑干涉相位定量测量方法 | |
CN111428720B (zh) | 基于阶跃响应匹配的亚像素级视觉特征点定位方法及装置 | |
Rao et al. | A real-time auto-recognition method for pointer-meter under uneven illumination |
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 |