基于γ光子的叶片沉积物检测系统的设计

2024-08-28 00:00:00高超宇姚敏陈舒熠王明
机械制造与自动化 2024年2期
关键词:软件设计无损检测光子

摘"要:针对目前利用γ光子进行发动机叶片沉积物检测需要的流程多,且没有相应软件平台的问题,设计一个γ光子探测装置控制与图像处理系统软件,包括控制探测器进行数据的采集模块、检测图像处理模块以及点云配准模块等的设计。该系统基于Qt平台,集成了VTK、ITK、PCL等C++类库,并设计实现一种基于PCA-ICP的点云配准算法优化。经实验测试表明:该配准算法能够有效提高沉积物检测的效率及精度,并且该系统设计能够实现对探测装置的控制并满足对图像的处理要求。

关键词:γ光子;无损检测;软件设计;图像处理,点云配准

中图分类号:TB302.5""文献标志码:A""文章编号:1671-5276(2024)02-0035-05

Design of Engine Blade Sediment Detection System Based on γ Photon

GAO Chaoyu, YAO Min, CHEN Shuyi, WANG Ming

(College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China)

Abstract:Regarding the complex processes of engine blade detection by means of γ photon and lack of related software platform, this paper designs a γ photon detection device control and image processing system software, which includes the design of data acquisition module, detection image processing module and point cloud registration module controling the detector. Based on Qt platform, the system integrates VTK,ITK,PCL and other C++class libraries, and designs and implements a point cloud registration algorithm optimization based on PCA-ICP. The experiments show that the registration algorithm can effectively improve the efficiency and accuracy of sediment detection, and the system design can achieve the control of detection devices and meet the requirements of image processing.

Keywords:γ photons; non destructive testing; software design; image processing; point cloud registration

0"引言

利用γ光子发动机叶片沉积物检测是一种新的检测手段。将放射性核素与熔融态石蜡颗粒混合,通过风洞模拟沉积的动态过程,直至熔融态颗粒在发动机叶片上沉积。在外部通过γ光子探测装置接收发射出的γ光子对,经过重建能够得到叶片沉积物的三维图像,之后对该图像进行滤波、边缘提取等处理,能够获得有效的沉积物检测图像。将处理后的图像转换成点云数据,与叶片模型点云数据进行配准,即可判断沉积物在叶片的分布,达到检测的目的。但是,由于目前还没有能够将上述处理过程集成在一起的软件平台,导致检测过程较为繁琐,需要在不同平台上进行切换处理。因此,本文设计了一款γ光子探测及图像处理系统软件,并结合γ光子点云图像的特点对其中点云配准模块所用的配准算法进行了优化,将γ光子检测所需的流程进行集成,为以后检测的标准化提供解决方案。

1"系统总体设计

本文设计的系统基于Qt开发,Qt具有良好的封装机制,其模块化程度非常高。此外,Qt的信号槽机制非常高效实用,加上丰富的API,便于开发者理解,最重要的是它还支持2D/3D图形渲染,支持OpenGL,因此广泛用于软件界面的开发设计。同时,更为重要的是,Qt采用C++编写,使之后的图像处理以及点云配准模块均可调用C++的类库,大大方便了软件的开发过程[1-2]。

γ光子探测及图像处理系统包含了以下几个重要的模块:探测器控制模块、图像处理模块、点云配准模块和图像显示模块等。

1.1"探测器控制模块

探测器控制模块采用DMC1380运动控制卡来发送控制指令给步进电机来控制齿轮旋转,从而将探测器送至指定的位置进行采集。该控制卡采用了专用运动控制卡,可以对多个步进电机进行点位运动控制,并且提供了一套简单易用的、功能丰富的运动控制API函数库,大大提高了开发的效率。控制指令通过CAN总线来传输,因为CAN总线的数据段长度最多为8个字节,8个字节不会占用总线时间过长,从而能够保证通信的实时性。该模块的工作原理如图1所示。

该模块主要实现以下的功能:显示当前运动状态,判断装置处于旋转或者停止状态;显示旋转的方向,判断是否处于采集状态或者回零状态;显示旋转速度,判断当前速度是否满足设定要求;同时还可以显示当次采集的采集进度,用来判定当前采集是否结束。

1.2"图像处理模块

因为利用γ光子对沉积物检测得到的切片图为DICOM格式。DICOM是一种标准的医学图像格式,所以图像处理模块利用了ITK库对DICOM数据读取和处理,包括滤波、读取DICOM数值等基本处理。但是,ITK没有显示图像的功能,因此将处理后的数据利用VTK进行显示。VTK是一个可视化工具包,主要应用在三维计算机图形、图像处理以及可视化方向作为一个专业的可视化工具,它还具有强大的三维图形功能,可以利用光线投射法进行三维体绘制,还能进行逼真的体、面、光源等渲染。上述这些特性,可以很好地将检测结果呈现出来,实现数据的可视化。

1.3"点云配准模块

由于γ光子检测手段只能获取到沉积物的三维图像,无法得到沉积物在叶片上的准确分布。因此采用了将检测得到的数据转换成点云数据与发动机叶片的空腔点云进行配准的方式实现检测的目的,以此来反映沉积物在叶片的分布情况,并对之后的叶形设计提供辅助作用。该模块的任务就是将检测到的序列切片图转换成点云数据,同时获取叶片的点云数据。该模块基于点云库(point cloud library,PCL)来实现,PCL是目前比较流行的点云处理库,用来实现点云滤波、配准等点云处理中常见的问题[3]。

1.4"图像显示模块

本文设计的检测系统有较多的可视化需求,包括对序列检测切片图的可视化、图像处理过程的可视化、点云数据处理过程中的可视化。图像显示模块考虑到Qt与VTK的结合,采用了VTK中可视化模块[3],集成到Qt界面,来满足该检测系统的可视化需求。

2"点云配准算法优化

由于γ光子检测得到的数据是体数据,而体数据的数据量较大,会导致配准时间长,并且在γ光子成像过程中存在散射现象,导致在将图像转换为点云数据时存在大量的噪声点。因此分别对γ光子检测的体数据和内腔模型的点云数据进行降采样处理并通过滤波减少检测点云中存在的噪声,针对经典PCA算法出现的主轴反转情况[4-5]提出了改进的PCA算法,结合γ光子检测点云的特点,利用列文伯格-马夸尔特(levenberg-marquardt,LM)算法对迭代最近点(iterator closest points, ICP)算法进行了优化。

2.1"基于主轴校正的PCA算法

1)首先,将点云坐标记为矩阵P,矩阵P的每一行分别记录了点云中一个点空间坐标的x、y、z坐标值,第i个点的坐标记为pi(pxi,pyi,pzi):

P=px1py1pz1px2py2pz2pxnpynpzn(1)

2)遍历点云中所有的点,假设该点云中共有n个点,计算点云的中心空间坐标,记为O:

O=1n∑ni=1pxi,∑ni=1pyi,∑ni=1pzi(2)

3)采用协方差矩阵来计算不同维度之间的协方差,协方差矩阵可以通过式(2)进行构造:

C=1n∑ni=1[(pi-O)(pi-O)T](3)

4)利用奇异值分解的方法来计算协方差矩阵C的特征值和特征向量,奇异值分解的形式为

C=UΛUT(4)

5)分别计算源点云和目标点云的主轴方向,利用源点云和目标点云的主轴方向矩阵计算源点云变换到目标点云的旋转矩阵R:

R=UtUs-1(5)

6)在得到旋转矩阵R以后,平移矩阵可以通过式(5)求取:

T=OT-ROS(6)

式中:OT表示目标点云的中心坐标;OS表示源点云的中心坐标。

那么最终的变换矩阵即由旋转矩阵R和平移矩阵T构成:

Trans=R0T1(7)

由于PCA算法计算得到的主轴方向采用向量的形式表示,因此在计算主轴之后可能出现主轴反向的问题,故本文提出一种改进的算法用于解决主轴反向的问题。在得到变换矩阵之后,分别构造x、y、z轴旋转矩阵:

V=d1000d2000d3(8)

式中d1、d2、d3的取值为1或者-1,共有8种不同的组合,对应将x、y、z轴3个方向进行反转。分别计算8种情况下的两组点云的配准误差δi(i=1,2,3,…,8),取误差最小的δk对应的Vk。用Vk校正由式(5)计算得到的旋转矩阵R:

R′=R×Vk(9)

式中R′是经过主轴校正得到的旋转矩阵。

2.2"改进的ICP算法

ICP算法是点云配准领域最经典的配准算法。该算法的核心是构造一个目标函数,通过多次迭代来使得目标函数最小化。利用粗配准的变换矩阵作为算法的初值进行迭代计算[6]。算法的目的就是寻找最优的旋转矩阵和平移矩阵使得目标误差函数E(R,t)的值最小。

求解最优的旋转矩阵和平移矩阵,按照如下步骤进行求解。

1)计算源点云P和目标点云Q的重心,分别记为Wp(xwp,ywp,zwp)和Wq(xwq,ywq,zwq),可以通过式(10)和式(11)分别计算Wp和Wq:

Wp=1m∑mi=1px,∑mi=1py,∑mi=1pz(10)

Wq=1n∑ni=1qx,∑ni=1qy,∑ni=1qz(11)

2)协方差矩阵计算如下:

C=1k∑ki=1[piqiT]-WpWqT(12)

3)利用协方差矩阵构造对称矩阵Sym,求解对称矩阵的最大特征值,对应的特征向量即为最优的旋转向量,对称矩阵Sym为

Sym(C)=tr(C)ΔTΔC+CT-tr(C)I3(13)

4)采用四元素法来计算最优变换矩阵,记最优旋转向量rot=[q0q1q2q3]T,q0、q1、q2、q3满足q0≥0,并且q02+q12+q22+q32=1,采用四元素法计算最优旋转矩阵R,得到最优旋转矩阵R后,求解最优的平移矩阵t:

t=Wp-RWq(14)

将R和t带入目标函数就可以计算得到两片点云对应k个点的欧式平均距离e。当e小于等于设定的阈值时,则当前的最优旋转矩阵R和最优平移矩阵t为全局最优的旋转矩阵和平移矩阵。如果当前计算的e大于设定的阈值那么就需要重新求解步骤1)到步骤4),得到新的R和t,直到e小于等于设定的阈值。

由于γ光子检测点云属于无序点云并且点云数据量巨大,在搜索对应点时会耗费大量的时间,在多次迭代搜索后,时间复杂度也会随之提高,同时经典的ICP算法在部分情况下可能会产生局部最优解的问题。针对此问题,本文通过引入LM模型来求解最优的变换矩阵。

高斯-牛顿法是求解非线性问题常用的方法,在实际使用中,高斯-牛顿法要求正规方程中的海塞矩阵H为正定矩阵,但是可能会遇到海塞矩阵H为奇异矩阵的情形。因此,高斯-牛顿法可能存在不收敛的情况,不能适应所有的最优化求解。

LM算法在高斯-牛顿法中加入了一个正定的对角矩阵,那么增量变化为

Δx=-(J(x)TJ(x)+λI)-1J(x)Te(x)(15)

式中:I为单位矩阵;λ为一个正实数。当λ=0时,LM算法和高斯-牛顿法相同,当λ很大时,LM算法就变成了梯度下降法。因此,λ用于控制优化算法前进的步长,在前期将λ设置为较大的值,使得x通过梯度下降法快速收敛到极值点附近;当x收敛到极值点附近后,将λ减小到0附近,减少收敛的步长,使其达到稳定收敛的效果。在每次迭代的时候,除了要更新误差函数e(x)在第k次迭代值xk和在该处的一阶偏导数值以外,还要更新λ的值,用于调节收敛步长。λ选取的策略为:

λ的初始值为max(aij),aij为HG-N矩阵对角线元素,在迭代过程中定义两个变量μ和ν,其中ν的初始值设置为2。

μ=F(xk+1)-F(xk)ψ(xk+1-xk)-ψ(0)(16)

式中:ψ(x)为F(x)的线性近似函数;μ代表了目标函数与近似函数变化量的差异。线性近似函数总是大于0,因此,如果μ<0则说明前进的方向是正确的,目标函数F(x)变小,那么下一次迭代中的λ则更新为

λ=λ·max13,1-(2μ-1)3(17)

如果求得μgt;0则说明前进方向错误,就通过ν调整μ:

μ′=μ·ν,v′=2·ν(18)

当x的增量太小时,则可以认为目标函数已经收敛到极值点附近了,可以停止迭代,判断条件为

xk+1-xk<ε(xk+ε)(19)

式中ε为自定义的比较小的一个正值。

本文提出的改进ICP算法如下。

1)对源点云和目标点云进行数据重组,分别构建源点云和目标点云的kd-tree结构。

2)将ICP算法的目标函数记为误差函数:

e(R,t)=1k∑ki=1qi-(R+t)2(20)

由误差函数计算雅可比矩阵J。根据λ的选取策略修改λ,并计算误差,当误差小于设定的阈值时,停止迭代;当误差大于设定的阈值时,继续更新λ,直至误差小于设定的阈值,完成配准计算。

3"系统测试与实验结果

3.1"系统整体测试

如图2所示,在控制探测装置进行旋转采集时,可以在控制界面显示当前的旋转方向、转速、当前角度以及当前探测装置的状态等信息,同时,在探测过程中一旦出现错误还可以人工停止采集;在采集结束之后,可以控制探测装置顺时针旋转至原始位置,准备下一次的采集操作。

图3和图4分别展示了对检测模型和序列图像的三维显示以及图像处理的部分功能。

3.2"点云配准算法对比

为验证检测效果,现场实验使用的探测器为Trans-PET Discoverist 180,其部分参数如表1所示。

Trans-PET Discoverist 180探测器如图5所示。

利用风洞模拟颗粒在发动机叶片沉积的过程,通过γ光子成像算法获得沉积物图像,并将其转换为点云数据与叶片进行配准。为验证本文提出的改进PCA-ICP算法在γ光子沉积物检测中的效果,利用经典的PCA-ICP算法和改进的PCA-ICP算法分别为叶片沉积物及叶片进行配准。两种配准算法的结果如图6所示。

图6中绿色表示沉积物的γ光子点云图像,红色表示发动机叶片的理论模型,蓝色表示配准后沉积物在叶片的分布(本刊为黑白印刷,有疑问可向作者咨询)。图6(a)为传统的PCA-ICP配准算法的结果,根据结果可以发现,配准出现错误,存在主轴反转,并且存在一定的角度偏差,图6(b)为改进后的PCA-ICP算法配准结果,利用改进的PCA-ICP算法作为粗配准结果,修正了主轴反转,经过精确配准之后得到了正确的配准结果。

表2比较了两种配准算法的耗时和误差,可以看到在时间上本文提出的改进算法占有优势,均小于传统的PCA-ICP算法所消耗的时间;同时,改进的算法配准误差均小于传统PCA-ICP算法得到的误差。与图6中展示的结果一致,由此证明在γ光子叶片沉积物检测中,本文提出的改进的PCA-ICP算法是有效的,并且效果优于传统的PCA-ICP算法。

在实际检测环境中,γ光子检测图像中会产生较多的噪点,并且由于γ光子检测图像得到的检测数据是体数据,数据量大,将其中转换为点云数据之后,常规的配准算法配准时间较长,为进一步验证本文提出的改进的PCA-ICP算法在叶片沉积物检测中的优越性和稳定性,延长了颗粒沉积实验的实验时间,使得更多的颗粒沉积在叶片上,并且在得到的数据中增加噪点来验证本文提出的算法的稳定性。

实验获得的沉积物点云数据为62 896个。将该点云作为源点云,叶片的点云数据为18 648个。该点云数据作为目标点云,通过对源点云增加离群点的方法,将源点云数据扩充到76 222个。传统的PCA-ICP算法的配准时间及配准误差如表3所示。

改进的PCA-ICP算法的配准时间及配准误差如表4所示。

增加的离群点数量约占整体点云的17.51%,由于离群点的存在,在计算对应点时会增大误差,并且增加配准时间,对于改进的PCA-ICP算法来说,去除离群点和未去除离群点的配准时间相差并没有传统PCA-ICP算法的配准时间相差大,此外,在有离群点的情况下,改进后的算法配准时间也较短。由此可以看出,改进的PCA-ICP算法的精度与去除离群点情况下的配准精度相当,该算法具有较好的稳定性,优于传统的PCA-ICP算法,并且改进后的算法在数据量较大的情况下也有较好的表现。

4"结语

本文设计了一款基于工业γ光子的发动机叶片沉积物探测及图像处理系统软件,基于Qt平台,加入了VTK、ITK、PCL 3个C++类库,分别用来实现图像的显示、DICOM数据的读取与处理以及对点云数据的处理,并通过对点云配准算法进行改进,提高了配准精度和效率,经过多次实验测试,该系统达到了设计目标。

参考文献:

[1] 李科,岳林,惠子南,等. 基于Qt跨平台的车载人机界面设计[J]. 铁道标准设计,2017,61(9):128-132.

[2] 陈明,沈钺. 基于Qt开发的水下航行器监控系统[J]. 计算机产品与流通,2019(11):144.

[3] 曲滨鹏,魏晓洁,缪佳,等. 图像分割技术在医学图像处理中的应用实践[J]. 科技创新与应用,2021(16):178-180.

[4] 李泽宇,何萍,朱立峰. 一种基于PCA的医学图像特征提取与配准算法研究[J]. 中国数字医学,2020,15(7):98-101.

[5] RUSU R B,MARTON Z C,BLODOW N,et al. Towards 3D Point cloud based object maps for household environments[J]. Robotics and Autonomous Systems,2008,56(11):927-941.

[6] 邢宏文,刘思仁,邱磊,等. 基于点云数据的零件数字化检测技术研究[J]. 机械制造与自动化,2020,49(6):217-219.

收稿日期:20221019

猜你喜欢
软件设计无损检测光子
《光子学报》征稿简则
光子学报(2022年11期)2022-11-26 03:43:44
基于STC单片机的厨房智能安全管控系统的设计
基于STM8S903K3的序列打螺丝夹具的软件设计
应力波反射法测锚索长度的数据处理软件设计与实现
无损检测技术的原理及应用
锅炉检测应用压力管道无损检测技术的分析
JCI标准下发送调配部软件设计及应用
中子照相技术及其在考古中的应用
一种VHDL语言代码重用的方法
科技视界(2016年20期)2016-09-29 13:33:02
在光子带隙中原子的自发衰减