基于局部变异系数与自适应阈值技术的IC封装检测高效角点检测方法

《Digital Signal Processing》:Efficient Corner Detection for IC Package Inspection using Local Coefficient of Variation and Adaptive Thresholding

【字体: 大 中 小 】 时间:2026年06月24日 来源:Digital Signal Processing 3.4

编辑推荐:

  周雨波|刘青|邹文娟|赵玉祥|王鹏健|杨千东中国天水市741001,天水师范学院电子信息与电气工程学院摘要在集成电路封装的自动检测中,准确高效的角点检测至关重要,因为这类图像往往存在密集的引脚结构、印刷字符、不均匀的照明条件以及局部噪声。为了解决固定阈值检测器鲁棒性不足的问题,以

  周雨波|刘青|邹文娟|赵玉祥|王鹏健|杨千东中国天水市741001,天水师范学院电子信息与电气工程学院摘要在集成电路封装的自动检测中,准确高效的角点检测至关重要,因为这类图像往往存在密集的引脚结构、印刷字符、不均匀的照明条件以及局部噪声。为了解决固定阈值检测器鲁棒性不足的问题,以及密集响应评估的高计算成本,本文提出了一种基于局部变异系数(LCoV)和自适应阈值的三阶段角点检测方法。首先,利用基于积分图像的LCoV指标快速筛选出候选区域;其次,采用改进的8点圆形模板结合自适应阈值,以抑制在不同局部对比度条件下的误检;最后,仅对剩余候选点应用归一化角点响应和非极大值抑制算法,从而进一步精确定位并减少点簇现象。在500张生产线上的集成电路封装图像上的实验表明,所提方法的整体精度达到88.4%,召回率为86.0%,在精度与效率的平衡方面优于FAST-9、Harris以及其他手工设计或基于学习的基准方法。此外,其平均处理时间为每张图像0.761秒,比Harris快约71.1%,在相同CPU配置下也远低于基于学习的基准方法。在混合噪声干扰条件下,所提方法也能保留更多有效角点,且漏检率更低。这些结果证明,该方法在工业集成电路封装检测中具有较高的实用价值。1. 引言在集成电路芯片封装缺陷的视觉检测中,需要对采集到的芯片图像进行进一步处理以提高检测效率[1]。其中,图像角点检测对于判断引脚完整性及表面缺陷起着关键作用。这项技术在物体识别[2]、图像配准[3]和图像拼接[4]等任务中也极为重要,其性能直接影响后续处理结果。随着芯片产业规模的不断扩大以及芯片尺寸和集成度的不断提升,传统的人工检测方法效率低下且精度不足。因此,在计算机视觉检测场景中实现快速准确的角点提取至关重要,这对于满足现代工业生产的需求具有重要的实际意义。目前的角点检测方法主要分为两类:基于轮廓的方法和基于灰度强度的方法。前者首先提取图像轮廓,再通过分析边缘曲线的几何特征来定位角点。典型的方法包括链码追踪[5]、曲率尺度空间法[6]以及弦到点距离累积法[7]。这些方法都高度依赖精确的边缘提取,还需要进行曲率估计和轮廓跟踪,这不仅带来了较高的计算成本,还会使算法容易受到噪声、纹理薄弱或边缘断裂的影响。相比之下,基于灰度强度的检测器则着眼于局部灰度变化。Harris[8]通过在滑动窗口内利用一阶导数构建结构张量,进而计算角点响应。SUSAN[9]则通过确定圆形掩模内的单值段同化核区域来标记感兴趣点。SIFT[10]构建高斯差分金字塔作为尺度归一化拉普拉斯算子的近似,然后通过空间和尺度的极值搜索来获取稳定的关键点。加速段测试算法(FAST)[11]则通过对半径为3的16像素圆进行连续弧线阈值测试,实现了极高的处理速度。SURF[12]进一步通过将积分图像与赫西矩阵的盒型滤波近似相结合来加速检测,而Manoranjitham等人[13]提出的方法则用双边滤波器替代传统的高斯预滤波器,以在抑制噪声的同时保留边缘结构,同时还结合了动态模糊度量与Harris运算符。这种混合策略显著提升了角点检测的精度。总体而言,基于轮廓的方法对边缘质量依赖性强,计算复杂度高;而基于灰度强度的算法虽然精度略低,但计算效率更高且重复性更好,因此在实时检测场景中被广泛使用。近期的研究包括:在[14]中,作者采用了改进的滤波方法,在抑制噪声和边缘的同时突出角点特征,从而降低了嵌入式实时监控的计算负担。张伟等人[15]利用二阶广义高斯方向导数来描述L型、X型、T型和Y型角点,并采用方向滤波响应来进行角点定位和配准,虽然提高了重复性和抗噪性,但代价是增加了计算量并产生了更多误检。另一项研究[16]则利用一阶和二阶高斯导数来表示斑点、边缘和角点,并提出了区分这三者的方法。在[17]中,作者将形态学处理与动态阈值相结合,有效地从重叠的纸质图像中提取关键点。魏等人[18]采用开放弦理论进行连续图像表示,构建灰度平行四边形响应函数,从而从低质量图像中提取角点。万等人[19]提出了一个结合灰度强度、模板、曲率和尺度的复合模型,通过引入局部和全局权重来实现高重复性,不过整体精度仍有提升空间。在[20]中,作者利用加权局部变异系数来增强红外图像中小目标的检测能力,并结合背景抑制模块。Nascimento等人[21]提出利用变异系数调整响应,并通过直方图变换来改善高动态范围图像在强光条件下的特征点检测效果。邓等人[22]通过利用傅里叶谱中的幅度-频率关系作为角点响应度量,同时运用可分离梯度核来精确计算梯度,从而融合多尺度结构特征,构建了一种新型角点检测器。熊等人[23]将牛顿万有引力定律融入FAST框架,为候选角点提供方向信息,结合邻域相似性抑制机制,从而在合成孔径雷达图像中实现更稳定的角点提取。Jasani等人[24]通过引入位宽优化和自适应阈值方案,在嵌入式硬件上实现了实时的Harris角点检测;这种软硬件协同设计的方案能够保持与原始算法相当的重复性和精度。尹等人[25]针对光照和尺度变化导致的特征偏差,提出了自适应熵角点提取器:通过丢弃低信息量块、自动计算全局最优阈值以及应用块均匀化处理来减少角点聚集现象。孟等人[26]则通过采用分块移动采样和标注技术来避免窗口重叠,从而解决X型角点定位不准确的问题,进而降低计算成本。随后通过应用邻域方差和中心对称约束来排除异常值,从而实现X型角点的精准定位,尽管这种方法存在频繁漏检的问题,且阈值需要手动调整。随着机器学习尤其是深度学习技术的快速发展,这类技术在关键点提取任务中的应用日益增多。传统的角点检测器通常首先在像素域中定位潜在的兴趣点,然后再为这些点计算局部描述子。而机器学习方法则倾向于反向操作,利用卷积神经网络直接生成高维特征图,然后在特征空间中搜索或筛选兴趣点位置,从而实现检测与描述之间的端到端协同。典型的方法包括D2-Net[27],它以特征图中最大描述子的中心作为兴趣点,能够适应不同的成像条件。Key.Net[28]则是一种结合了手工设计滤波器和学习得到的滤波器的CNN,能够在多个尺度上提取关键点。Potje等人[29]提出了一种端到端的变形感知型局部特征框架,该框架结合强化学习和空间变换器,共同学习关键点和描述子。该方法提升了算法对变形的抵抗能力,同时也增强了匹配性能,但其主要用途仍是特征匹配,而非工业检测中的密集角点提取。本研究旨在减少工业集成电路封装检测中的冗余计算并提高检测精度,因此提出了一种高效且鲁棒的角点检测器,其在精度与效率之间取得了良好的平衡。基于灰度强度检测框架,我们引入了积分图像的概念以及局部变异系数(LCoV),并结合自适应阈值机制,以此来应对滑动窗口带来的冗余计算问题,以及阈值调整导致的结果不稳定现象。我们的主要贡献如下:(1)我们提出了一种利用图像统计信息的角点预检测器。通过借助积分图像,可以以恒定时间计算出LCoV值,从而快速定位候选位置,避免在重叠区域进行冗余计算,且具备出色的适应性。(2)我们基于LCoV结合全局和局部灰度特征,构建了动态线性阈值,并采用简化模板实现快速筛选。与现有的基于模板的方法不同,我们的方法能够充分重用局部特征,从而提升筛选效率与稳定性。(3)我们在封装生产线的芯片图像上进行了精度、速度和抗噪性评估。实验结果表明,与常见的基准方法相比,所提方法在具备更具竞争力的计算成本的同时,仍能实现更好的检测性能,为不同操作条件下的后续检测任务提供了可靠的支撑。本文的其余部分结构如下:第2节简要回顾了Harris和FAST角点检测算法,并分析了它们的局限性。第3节详细介绍了所提出的方法。第4节阐述了实验设置与结果分析。最后,第5节对全文进行总结,并探讨未来的研究方向。2. 相关工作2.1 Harris角点检测器Harris角点检测算法由C. Harris和M. Stephens于1988年提出,作为对Moravec运算符的改进[30],该方法定义了一个以某像素为中心的局部矩形窗口。通过在该窗口任意方向上施加微小位移,计算窗口能量的平均变化值。相应的灰度级变化可通过以下公式表示:(1)E(u,v)=∑x,yw(x,y)[I(x+u,y+v)?I(x,y)]2(2)w(x,y)=12πσexp(?x2+y22σ2)对公式(1)中的表达式进行泰勒展开后,可将其表示为矩阵形式:(3)E(u,v)=[uv]M(x,y)[uv](4)M(x,y)=∑x,yNw(x,y)[Ix2IxIyIxIyIy2]其中,I(x,y)表示点(x,y)处的灰度值;w(x,y)是标准差为σ的高斯窗口;Ix和Iy分别表示沿X轴和Y轴的一阶偏导数;M(x,y)则是图像梯度的协方差矩阵。根据公式(4),矩阵M的特征值呈现出三种典型情况:当中心像素位于均匀区域时,两个特征值相近且数值较小;处于边缘位置时,两个特征值差异较大;而在角点处,两个特征值相近、非负且数值较大。基于这些特性,该算法定义了一个角点响应函数R来识别角点:(5)R(x,y)=det(M)?k×[trace(M)]2其中k为常数。通过扫描所有像素来计算对应的响应R,然后在局部邻域内应用非极大值抑制算法,即可提取出局部最大值并将其视为角点。2.2 FAST角点检测器在图像中,会将某个像素的灰度值与其周围邻域的灰度值进行比较。如图1所示,在灰度图像中任选一点p,其灰度值为Ip,以p为中心构建一个半径为3的Bresenham圆形模板。根据公式(6),角点筛选就是将点p的灰度值与圆上各点的灰度值进行比较;如果连续12个样本的灰度值与p的差值均大于阈值t,则将该候选点p视为潜在角点。(6)S(m,p)={1,I(m)≥I(p)+t?1,I(m)≤I(p)?t0,否则下载:下载高分辨率图像(137KB)下载:下载全尺寸图像图1. FAST算法模板示意图。如果存在一段连续的12个像素,使得该段上所有像素的S(m,p)值均为1,或者均为-1,则可将点p判定为角点。其中n表示累计的像素数量,I(m)则表示圆上第m个像素的灰度值。根据FAST准则,如果圆上存在一段连续的12个像素,且这些像素的灰度值全部高于I(p)+t或全部低于I(p)?t,则将该候选点p视为潜在角点。FAST-9被选作FAST系列的代表性基准方法,因为它所采用的更为宽松的连续弧线判定标准使其对角点候选点的敏感度更高,误报率也相应增加,这为复杂的工业检测场景提供了有力的对比对象。2.3 现有角点检测器的局限性及本研究的动机目前用于此任务的角点检测方法大致可分为三类。第一类是传统的基于梯度的检测器,如Harris算法,这类方法能够产生稳定的响应,但由于需要对整个图像进行密集计算,因此在高分辨率的工业检测应用中成本较高。第二类是类似FAST的高效检测器,它们通过圆形模板加快筛选速度,但通常依赖固定阈值,因此容易受到不均匀照明、局部对比度变化以及重复出现的引脚结构的影响。第三类是基于学习的局部特征检测器,这类检测器在提取显著关键点方面表现良好,但往往会产生较为稀疏的输出结果,无法满足集成电路封装检测中对密集且规则角点分布的要求。虽然Harris算法能够实现稳定可靠的检测,但在实际的在线集成电路检测中仍有两个明显缺陷。首先,该算法通过构建局部自相关矩阵为每个像素计算角点响应,这会在高分辨率图像中导致冗余计算,增加处理时间。其次,检测结果对阈值选择十分敏感,不恰当的阈值可能会引入误检或漏检现象。FAST算法避免了密集响应的计算,能够快速排除许多非特征点,从而提升效率。然而,在实际的集成电路检测图像中,由于照明不均、表面反射率、印刷字符以及引脚结构等因素,同一图像内的不同局部区域往往存在显著的对比度差异。在这种条件下,固定的全局阈值在高对比度和低对比度区域的表现都可能不佳,从而导致误检或漏检。此外,由于真实角点及其周边像素的灰度变化往往相似,FAST类检测器也可能会在真实角点位置周围产生大量虚假响应。因此,仍需要一种能够结合高效候选点筛选、自适应局部阈值调整以及可靠最终优化功能的角点检测器。所提出的方法通过首先利用局部变异系数提取候选区域,再进行自适应阈值圆形筛选,最后仅对剩余候选点计算标准化响应值,以此在减少冗余计算的同时提升复杂工业场景下的检测稳定性。

3. 提出的方法
为解决Harris和FAST角点检测器中存在的重复计算及阈值选择问题,我们提出了一种新方法,该方法结合局部变异系数与自适应阈值技术,以实现更稳健的角点筛选。所提出的角点检测方法的整体架构如图2所示。该流程被系统地设计为三个级联模块,以在计算效率与检测精度之间取得平衡:

下载:高分辨率图像(682KB)
下载:全尺寸图像

图2. 所提出的自适应阈值角点检测方法的整体架构。该流程包括通过LCoV快速提取候选点(模块A)、使用改进的圆形模板进行自适应阈值筛选(模块B),以及通过标准化响应函数进行最终定位(模块C)。

(1) 快速候选点提取(模块A):为避免对每个像素进行逐一的梯度计算,首先构建积分图像,以便以恒定时间计算局部变异系数(LCoV),从而快速从平坦背景中分离出高方差候选区域。

(2) 自适应阈值筛选(模块B):在候选区域内,采用改进的连续弧线采样模板。该方法不使用固定的全局参数,而是根据全局极值强度与局部LCoV值来构建动态线性阈值,有效抑制由复杂噪声或照明不均引起的误检现象。

(3) 标准化响应与非极大值抑制(模块C):为进一步优化提取的特征并防止角点聚集,对剩余候选点计算标准化的Harris响应函数,随后通过圆形模板非极大值抑制算法确定最优且无重复的角点位置。

3.1 快速提取局部特征以构建候选点集
如整体架构中的模块A(图2)所示,第一步是快速定位潜在的兴趣点。角点作为图像中具有强局部灰度变化的显著且稳定的特征,其变异系数——也称为相对标准差——定义为标准差与均值之比,可用于衡量一组观测数据的离散程度[31]。

对于以第i个像素为中心的N×N大小的区域Ωi,局部变异系数(LCoV)的定义如下:
(7) Cvi=σvi/μvi
其中,μvi=1/|Ωi|∑q∈ΩiI(q),σvi=1/|Ωi|∑q∈Ωi(I(q)?μvi)2,分别表示Ωi内的局部均值和局部标准差。此处,I(q)表示像素q的灰度值,|Ωi|=N2。

灰度变化剧烈的区域——表现为明显的灰度差异——会呈现较高的变异系数,而灰度过渡平缓的区域则对应较低的变异系数。当通过滑动窗口计算变异系数时,重叠的窗口会导致大量冗余计算。为消除这一弊端,引入了积分图像。积分图像能够保持原有的分辨率[32],并可让任意矩形区域的特征值以恒定时间获取,从而降低计算复杂度并加快处理速度。如图3所示,积分图像的第一个元素位于左上角的像素O处;同一区域内的任意点ii的数值等于对应矩形的累积灰度值。因此,对于任意矩形区域S,其局部统计值和总灰度强度都可以立即获得,表达式为:
(8) μvi=1/|Ωi|∑q∈ΩiI(q)
(9) σvi=1/|Ωi|∑q∈Ωi(I(q)?μvi)2

下载:高分辨率图像(36KB)
下载:全尺寸图像

图3. 积分图像示意图

此处,I(q)表示像素q的灰度值,|Ωi|=N2表示局部窗口中的像素数量。局部灰度变化较大的区域通常会得到较大的Cvi值,而灰度变化平缓的区域则对应较小的数值。通过使用积分图像,可以消除冗余计算,快速获得各区域的LCoV值。由于原始LCoV值在不同图像和局部区域之间可能存在较大差异,因此首先通过最小-最大缩放对其进行标准化处理:
(10) Cvinorm=Cvi?Cvimin/(Cvimax?Cvimin)
其中,Cvimin和Cvimax分别表示当前图像中的最小和最大LCoV值。这种标准化处理将LCoV值映射到[0,1]区间内,提升了经验阈值的统一性及可解释性。需要注意的是,标准化本身并不会删除任何区域,候选区域的保留或剔除仍需通过公式(11)中的阈值测试来实现。
(11) g1≤Cvinorm≤g2,其中g1和g2是在标准化后的LCoV范围内定义的经验阈值。芯片图像中平坦区域的像素通常具有较低的标准化LCoV值,而边缘和角点处的像素虽然数值可能较高,但出现频率较低。因此,LCoV非常适合用于识别可能包含角点的区域。图4展示了408×408 QFP-44封装图像中像素位置与其标准化LCoV值之间的关系。

下载:高分辨率图像(218KB)
下载:全尺寸图像

图4. 标准化变异系数像素分布统计图

基于LCoV的候选点提取步骤的具体实现如下所示的算法1。

算法1. 基于LCoV的候选点提取
输入:灰度图像I;局部窗口大小N;标准化LCoV阈值g1和g2
输出:候选点集PA
1. 计算图像I的积分图像
2. 根据公式(7)–(9)为所有像素计算局部变异系数Cvi
3. 通过公式(10)对Cvi进行标准化处理,得到Cvinorm
4. 初始化PA = ?
5. 对图像I中的每个像素p执行以下操作:
6. 若g1 ≤ Cvinorm(p) ≤ g2,则
7. 将p加入PA中
8. 结束该判断
9. 结束循环
10. 返回PA

3.2 使用改进模板与自适应阈值进行角点检测
在每个候选区域内,通过结合改进的采样模板与自适应阈值来筛选角点。传统的灰度级检测器会使用不同大小和形状的模板,这些模板覆盖的冗余信息各不相同,不仅会增加计算负担,还可能降低检测质量。为在速度与精度之间取得平衡,我们对标准的FAST 16点Bresenham圆形模板进行了简化:以点P为中心,半径为3的圆上每隔一个样本保留一个,这样就得到了8个点的子集(m1,m3,m5,?,m15)。

筛选过程分为三个步骤:
1) 比较点P与点m1、m9的灰度差值;若任一差值超过公式(12)中的阈值Ti,则继续下一步。
2) 比较点P与点m3、m7的灰度差值;只有当两个差值都超过Ti时才进入下一步。
3) 检查圆上是否有至少nc个连续点满足阈值条件。
4) 若满足该条件,则将P视为候选角点保留下来;否则将其丢弃,算法进入下一个区域。

(12) S(m,p)={1, 若I(m)≥I(p)+Ti?1或I(m)≤I(p)?Ti;否则0}
其中,I(m)和I(p)分别表示点m和点p的灰度值,Ti是根据局部灰度差值确定的自适应阈值。首先,根据测试点的灰度差值,结合图像中的全局最大和最小灰度值,将像素分为三类。此处,ai作为与灰度强度相关的分段系数,用于根据不同的灰度情况对阈值进行粗略调整。为便于计算和实现稳定性的考虑,采用了三级离散形式。为每个灰度等级分配不同的系数,可以有效避免因测试点与其相邻像素之间对比度过高而产生的误检,同时提升抗噪声能力。该系数的计算公式如下:
(13) ai={λ1Ii,若Imin≤Ii≤(2Imin+Imax)3;λ2Ii,若(2Imin+Imax)3≤Ii≤(Imin+2Imax)3;λ3Ii,若(Imin+2Imax)3≤Ii≤Imax}
其中,Ii表示点i的灰度值,Imax和Imin分别为图像中的全局最大和最小灰度值。

为避免在预筛选阶段使用单一全局阈值时可能出现的角点聚集或漏检现象,本文引入了一种基于局部变异系数的线性自适应阈值策略。该策略利用系数对灰度波动的敏感性,将每个测试点的数值视为独立变量,并在预设的上下限范围内将其重新分类为三类。随后通过修正因子对阈值进行线性调整,从而降低过大的系数值或严重线性偏差带来的影响。这种线性关系能够自适应地确定阈值Ti,显著提升检测的稳定性。自适应阈值的具体公式如下:
(14) Ti=ai+bi·Cvinorm
在这些公式中,Cvinorm表示测试点的局部变异系数,bi为修正因子。
1) 当点的灰度值较低时,系数会补偿阈值,避免其过低而导致大量误检。
2) 对于中等灰度值的I(p),阈值会进行适度调整。
3) 当I(p)较高且灰度波动较大时,系数会调整阈值,防止其上升过高而造成漏检。

由公式(13)和(14)构成的自适应角点筛选机制如图5所示。所提出的改进算法的基本流程也在图中展示。

下载:高分辨率图像(173KB)
下载:全尺寸图像

图5. 角点过滤的自适应阈值原理流程图

在使用改进后的FAST模板选取角点之前,会首先根据每个测试点的灰度差值及变化特性动态确定阈值。该阈值随后会被代入公式(12)中,结合自适应阈值策略及经过优化的模板,共同指导灰度比较,从而完成角点筛选。将PA集合进一步优化为PB集合的自适应阈值圆形筛选步骤如下所示的算法2。

算法2. 自适应阈值圆形筛选
输入:灰度图像I;候选点集PA;最小连续样本数参数nc
输出:筛选后的候选点集PB
1. 初始化PB = ?
2. 对PA中的每个点p执行以下操作:
3. 根据公式(13)计算分段系数ai
4. 根据公式(14)计算自适应阈值Ti
5. 使用公式(12)进行简化的8点圆形筛选测试
6. 若有至少nc个连续的采样点满足条件,则
7. 将p加入PB中
8. 结束该判断
9. 结束循环
10. 返回PB

3.3 标准化角点响应函数
在最终阶段(即图2中的模块C),为避免直接计算自相关矩阵的特征值,Harris算法通过矩阵的行列式和迹值来定义角点响应(如先前在公式5中所定义)。但由于该公式包含经验常数,任意的选择都可能带来较大的局部误差。行列式与候选点处的高斯曲率呈正相关——曲率越大,行列式值也越大。当图像中存在对比度差异较大的结构时,某些虚假角点的行列式值甚至可能高于真实角点,从而导致高对比度的虚假角点被检测出来,而低对比度的真实角点却被遗漏[33]。

考虑到角点区分依赖于两个特征值的相对大小,我们采用了与Noble响应相关的标准化角点度量方式[34],其表达式为:
(15) Rnorm=det(M)/trace(M)+ε
其中,ε为一个小常数,用于避免除法运算出现不稳定情况。这种标准化处理使得响应函数能够更好地区分平坦区域、边缘和角点,进而提升角点检测的重复性并减少误检现象。经过前两阶段的处理——候选区域筛选和角点筛选——大部分虚假角点已被剔除。剩余的点会通过公式(15)中的响应函数进行评估,之后应用非极大值抑制算法,最终得到的最大值点即为最终的角点集。

尽管所提出的检测器包含若干基于经验的参数,但这些参数被划分到不同的功能模块中,无需进行复杂的联合优化。在实际应用中,所有实验均采用相同的参数设置,无需针对不同图像进行调整,且该方法在各种封装类型和恶劣条件下仍能保持稳定性。这表明该参数化方法足够简洁实用,适用于工业检测场景。此步骤在保留Harris响应的区分优势的同时,将其计算范围限制在较小的候选集内。基于上述三个阶段,所提方法的完整实现流程——包括候选点提取、自适应阈值筛选、归一化响应评估以及基于NMS的优化——在算法3中进行了总结。

算法3. 基于归一化响应的自适应阈值角点检测
输入:灰度图像I;LCoV阈值[Tmin, Tmax];窗口半径r
输出:最终检测到的角点集合P_final

1:使用Sobel算子计算图像的x方向梯度图Ix和y方向梯度图Iy
2:对于P中的每个候选角点pi(xi, yi),执行以下操作:
3:在以pi为中心的局部窗口内构建自相关矩阵M:
4:M=∑(x,y)∈W w(x,y)·[Ix2(x,y) Ix(x,y) Iy(x,y) Ix(x,y) Iy(x,y) Iy2(x,y)]
5:其中w(x,y)为高斯加权函数
6:计算矩阵行列式det(M)=λ1λ2,以及迹tr(M)=λ1+λ2
7:根据公式(15)计算归一化角点响应Rnorm(pi)
8:将(xi, yi, Rnorm(pi))存储到响应集合R中
9:结束循环
10:将Pfinal初始化为空集合:Pfinal=?
11:按照Rnorm值的降序对响应集合R进行排序
12:对于R中的每个点q,执行以下操作:
13:如果q未被Pfinal中半径为r范围内的现有点抑制,则
14:将q添加到Pfinal中
15:结束判断
16:结束循环
17:返回Pfinal

4. 实验结果与分析
实验中使用了INTEKPLUS iPlS-IN系列2D灰度相机及其配套的镜头和照明装置。该相机具有650万像素的分辨率,光源包含十个斜向光通道和一个同轴光通道。数据集由从生产线实时采集的500张不同封装状态下的芯片图像组成。为便于评估,这些图像被分为三类检测对象:168张QFP-64引脚变形图像、176张QFP-44正常图像,以及156张QFP-32引脚断裂图像。计算环境为搭载Windows 10操作系统的Intel? Core? i7-12600H(4.50 GHz)处理器,配备16GB DDR4-3200MHz内存;开发工作在Visual Studio 2017环境中完成。参数设置如下:归一化LCoV阈值g1和g2分别设为0.2和0.9;公式(7)中的局部窗口大小参数N设为3;圆形筛选阶段的最小连续样本数参数nc设为3;经验权重λ1、λ2、λ3分别设为1、0.25和0.1;修正因子b1、b2、b3分别设为12、6和-3。

为使实际检测场景中的参数选择更具可重复性,我们依据所提出的三阶段流程,制定了分阶段的参数设置方案。首先从目标检测线中选取一小部分具有代表性的校准样本,这些样本包含在典型照明条件、封装姿态及缺陷状态下的灰度IC封装图像,同时还会附带人工标注的参考角点,条件允许时还会使用CAD辅助生成的参考角点。在模块A中,选择LCoV窗口大小N以及归一化边界g1和g2,以便在减少平坦背景候选点的同时,保留足够的真实角点区域。在模块B中,调整nc、λ1、λ2、λ3以及b1、b2、b3的值,以平衡筛选后集合PB的精确度与召回率,目的是在抑制成簇的虚假检测结果的同时,保留那些虽弱但有效的针脚或字符角点。在模块C中,根据最终的精确度、召回率、F1值、定位容差以及运行时间来选择响应稳定常数和NMS半径。这种做法避免了繁琐的联合优化:在实际应用中,若出现遗漏的真实角点,可通过适当降低筛选阈值来解决;而若存在成簇的虚假检测,则可通过缩小候选区间或NMS半径来减少此类问题。因此,参数选择是模块化的、以任务为导向的,并非针对特定图像而设计。

4.1 角点检测算法的性能比较
为全面评估所提方法,我们将其与两种传统的手工设计的检测器(FAST-9和Harris)、一种为高效提取X型角点而设计的新型手工检测器(参考文献[26]),以及两种基于学习的局部特征检测器,即D2-Net[27]和Potje等人的方法[28]进行了对比。图6(a)-(g)展示了原始芯片图像以及这六种检测器的检测结果。
下载:下载高分辨率图像(2MB)
下载:下载全尺寸图像
图6. 使用不同算法对代表性芯片图像进行角点检测的结果:(a)原始图像,(b)FAST-9,(c)Harris,(d)参考文献[26],(e)D2-Net[27],(f)参考文献[28],(g)所提方法。与各基准方法相比,所提方法在印刷字符区域能够更完整地提取角点,沿针脚结构的角点分布也更为均匀,同时在相对平坦的区域能更好地抑制虚假检测结果。

从视觉对比来看,FAST-9检测出的角点数量较多,但也会出现严重的角点聚集现象,且在针脚边缘、印刷字符区域以及噪声较大的平坦区域会有大量误检。Harris方法的检测结果更为稳定,也能抑制部分虚假检测,但在高对比度及细节复杂的区域仍有相当数量的角点被遗漏。参考文献[26]得到的检测结果较为干净,误检数量较少,但其检测到的有效角点总数相对较少,且在字符区域和针脚结构密集重复的区域有较高的遗漏率。作为基于学习的检测器,D2-Net[27]和参考文献[28]虽然能识别出一些视觉上较为明显的关键点,但针对当前任务而言,它们的检测结果较为稀疏,且与IC封装检测所需的密集、规则分布的角点特征不符。相比之下,所提方法能够实现更完整、更均衡的角点提取,在平滑区域误检较少,印刷字符区域的检测结果更为稳定,沿封装针脚的角点分布也更为均匀。

表1展示了在三张具有代表性的图像上的检测结果,每类检测类别各选了一个示例,而整个数据集的统计结果则会在表2中给出。这些代表性图像的检测角点的定量统计信息汇总在表1中。参考角点是按照统一规范人工标注的,此外还由另一名独立标注员对标注一致性进行了核查。由于基于复杂轮廓方法的检测结果会引入与算法相关的偏差,因此未被用作真实基准。尽管基于CAD生成的几何参考坐标会更理想,但目前的图像集中并未有这样的经过校准的角点坐标。如果一个检测到的角点与参考角点的欧几里得距离在3像素以内,就被视为正确检测结果,这一数值是作为实际容忍度设定的,用于弥补因标注误差、边缘厚度、局部模糊以及检测器响应偏差等因素导致的微小定位偏差。相应的匹配标准由公式(16)描述。
(16)d(pi,G)=min{j∈G∥pi?gj∥2≤3}
其中G和P分别表示人工标注的角点集合和检测到的角点集合,d(pi,G)则表示检测到的角点p与参考集合G之间的最小欧几里得距离。

表1. 不同检测条件下三张代表性芯片图像上角点检测结果的统计比较
| 图像 | 算法 | 正确角点数(↑) | 虚假角点数(↓) | 漏检角点数(↓) |
|--------------------------|----------------|--------------|--------------|--------------|
| QFP-64引脚变形图像 | FAST-9 | 512 | 277 | 716 |
| | Harris | 484 | 414 | 189 |
| 参考文献[26] | | 433 | 562 | 400 |
| D2-Net[27] | | 451 | 192 | 222 |
| 参考文献[28] | | 468 | 742 | 505 |
| 所提方法 | | 598 | 883 | 755 |

QFP-44正常图像
| | FAST-9 | 665 | 328 | 124 |
|-------------------------------|----------------|--------------|--------------|--------------|
| | Harris | 604 | 158 | 184 |
| 参考文献[26] | | 543 | 782 | 460 |
| D2-Net[27] | | 571 | 109 | 218 |
| 参考文献[28] | | 593 | 861 | 196 |
| 所提方法 | | 709 | 114 | 800 |

QFP-32引脚断裂图像
| | FAST-9 | 227 | 279 | 797 |
|-------------------------------|----------------|--------------|--------------|--------------|
| | Harris | 221 | 148 | 854 |
| 参考文献[26] | | 212 | 179 | 400 |
| D2-Net[27] | | 218 | 418 | 884 |
| 参考文献[28] | | 231 | 129 | 755 |
| 所提方法 | | 266 | 254 | 400 |

表2. 不同检测条件下整个数据集上角点检测性能的统计比较
| 方法 | 精确度(%) | 召回率(%) | 单幅图像运行时间(s) |
|--------------------|--------------|--------------|--------------------|
| QFP-64引脚变形图像 | 79.6 ± 4.8 | 74.1 ± 5.2 | 0.881 ± 0.037 |
| Harris | 71.8 ± 4.1 | 69.5 ± 4.6 | 2.624 ± 0.083 |
| 参考文献[26] | 67.2 ± 3.7 | 63.4 ± 4.2 | 0.691 ± 0.026 |
| D2-Net[27] | 74.5 ± 4.4 | 66.8 ± 4.8 | 2.861 ± 0.095 |
| 参考文献[28] | 77.3 ± 4.0 | 69.2 ± 4.5 | 2.097 ± 0.074 |
| 所提方法 | 88.1 ± 3.1 | 84.6 ± 3.5 | 0.734 ± 0.028 |

QFP-44正常图像
| 方法 | 精确度(%) | 召回率(%) | 单幅图像运行时间(s) |
|--------------------|--------------|--------------|--------------------|
| | FAST-9 | 67.9 ± 5.2 | 78.5 ± 4.6 |
| | Harris | 74.5 ± 4.6 | 72.4 ± 4.3 |
| 参考文献[26] | 69.1 ± 4.1 | 65.9 ± 4.5 | 0.703 ± 0.024 |
| D2-Net[27] | 76.8 ± 4.0 | 69.7 ± 4.1 | 0.934 ± 0.101 |
| 参考文献[28] | 79.2 ± 3.8 | 72.8 ± 4.0 | 2.141 ± 0.079 |
| 所提方法 | 86.0 ± 3.4 | 89.1 ± 2.9 | 0.822 ± 0.031 |

QFP-32引脚断裂图像
| 方法 | 精确度(%) | 召回率(%) | 单幅图像运行时间(s) |
|--------------------|--------------|--------------|--------------------|
| | FAST-9 | 45.8 ± 6.1 | 70.2 ± 5.4 |
| | Harris | 80.7 ± 4.8 | 68.9 ± 4.9 |
| 参考文献[26] | 91.1 ± 3.5 | 65.3 ± 4.0 | 0.684 ± 0.022 |
| D2-Net[27] | 83.2 ± 4.6 | 67.5 ± 4.4 | 0.742 ± 0.086 |
| 参考文献[28] | 88.4 ± 3.9 | 71.8 ± 4.1 | 0.018 ± 0.071 |
| 所提方法 | 91.0 ± 2.8 | 84.3 ± 3.2 | 0.728 ± 0.026 |

整体而言,FAST-9在三种代表性测试图像上的表现仅次于所提方法,其正确检测数量最高,但误检率和漏检率也相对较高。具体来说,它在QFP-64引脚变形图像上检测到598个正确角点,在QFP-44正常图像上检测到709个,在QFP-32引脚断裂图像上检测到266个正确角点,且是所有方法中漏检角点最少的。

在传统检测器中,FAST-9的正确检测数量位居第二,但因在密集区域存在严重的虚假检测和角点聚集问题。Harris方法虽能抑制部分虚假检测,但在细节复杂和对比度较低的区域内仍有较多角点被遗漏。参考文献[26]得到的检测结果最为干净,误检数量最少,但检测的完整性明显较差。

基于学习的检测器D2-Net[27]和参考文献[28]的筛选能力虽优于FAST-9,但其检测结果对于工业检测而言过于稀疏。由于它们侧重于识别显著的关键点,而非IC封装检测所要求的密集、几何结构规则的角点分布,因此性能存在局限。

从定量数据来看,在含有673个人工标注角点的QFP-64图像上,所提方法的正确检测率达88.9%。其漏检比例仅为Harris方法的39.7%,为FAST-9方法的46.6%,且虚假检测数量也少于这两种方法。这些结果充分说明,与所有对比的基准方法相比,所提方法在检测完整性与虚假检测抑制之间取得了更好的平衡。

为进一步评估检测质量,通过将检测到的角点与人工标注的参考角点进行比对,计算了精确度和召回率。精确度的定义如下:
(17)精确度=Nc/(Nc+Nf)
其中Nf表示错误检测到的角点数量,Nc表示正确检测到的角点数量。召回率的定义如下:
(18)召回率=Nc/Ng
其中Ng表示人工标注的参考角点总数。

各方法的精确度和召回率结果如图7所示。总体而言,所提方法在三种代表性图像上的性能最为均衡,既具备较高的召回率,精确度也相当不错。与FAST-9相比,它减少了虚假检测,同时保留了更多有效的角点。与Harris和参考文献[26]相比,它能提高工业检测角点的完整性,尤其是在针脚结构密集重复和印刷字符区域。与D2-Net[27]和参考文献[28]相比,所提方法更符合IC封装检测对密集角点提取的需求。这些结果进一步证明了所提出的三阶段检测策略的有效性。

下载:下载高分辨率图像(633KB)
下载:下载全尺寸图像
图7. 三种代表性芯片图像上不同角点检测算法的精确度与召回率比较。所提方法在各类手工设计及基于学习的基准方法中表现最为均衡。

除了这三类代表性示例之外,我们还在包含约500张芯片图像的完整数据集上对所有对比方法进行了测试。表2汇总了精确度、召回率及运行时间的平均值与标准差,并按检测类别进行了分类展示。整体数据集的统计结果与代表性样本的分析一致:所提方法在三种检测类别中都实现了检测完整性与时效性之间的最佳平衡,同时具备出色的计算效率,进一步证明了该方法在整体数据集层面的有效性。

4.2 计算速度性能
所有方法的测试均在相同的CPU环境下进行。传统检测器是在统一的C++框架中实现的,而对于基于学习的基准方法,若有公开可用实现则直接使用,否则则根据原始论文重新实现。运行时间是指每幅图像从开始处理到结束的平均CPU处理时间,不包括磁盘读写和渲染时间。

为评估计算效率,所有方法都在相同的软件和硬件条件下进行实现与测试。实验在搭载Windows 10操作系统的Intel? Core? i7-12600H(4.50 GHz)处理器及16GB DDR4内存的计算机上,使用Visual Studio 2017进行。除非另有说明,所报告的运行时间均为在相同运行条件下通过CPU实现方法获得的,用于进行算法间的横向对比。

如表3所示,由于需要计算整幅图像的密集梯度,Harris方法在各类手工设计的基准方法中运行时间最长。基于学习的检测器D2-Net[27]和参考文献[28]的CPU计算成本也较高。而所提方法通过先利用积分图像加速的LCoV方法提取候选点,仅对符合条件的候选点再进行响应优化,从而避免了不必要的整幅图像处理,因此在所有分辨率下,其运行速度都显著快于Harris以及另外两种基于学习的检测方法。不同角点检测算法在多种图像分辨率下的平均运行时间。算法运行时间(秒):128×128为10.967 ± 0.021,256×256为2.693 ± 0.049,408×408为2.941 ± 0.052,512×512为2.172 ± 0.044。与FAST-9和参考方法[26]相比,所提方法的性能相当,但在128×128和512×512分辨率下略快于参考方法[26],而在256×256和408×408分辨率下稍慢。这表明其在不同场景下实现了较好的精度与效率平衡,而非单纯追求最短运行时间。值得注意的是,所提方法在所有分辨率下均优于FAST-9,因为LCoV筛选机制将复杂的处理限制在关键区域,从而提升了检测效果。这些测试结果是在相同条件下测得的性能指标,并不能保证该方法在所有情况下都能实现实时处理。不过,它确实展现了出色的效率,同时提升了IC封装检测的角点检测质量。

4.3 噪声抗扰性能评估
为进一步评估算法在图像质量下降时的稳定性,我们在样本图像中加入了混合噪声。具体而言,是在原始图像上叠加均值为零、方差为0.001的高斯白噪声,以及密度为0.01的盐粒噪声。随后使用含噪声的图像进行角点检测,其可视化结果如图8所示。检测到的角点的统计数据汇总于表4中。

从图8的可视化对比可以看出,所提方法对混合噪声的敏感度较低,在角点密集区域的表现更为稳定,因此相比其他方法,它能更好地平衡真阳性与假阳性数量。表4则展示了在含噪声图像上各算法的检测结果统计对比。

4.4 讨论
4.4.1 缩减后的8点圆形模板的效果
为进一步研究简化圆形采样的作用,我们在保持其他步骤不变的前提下,将所提出的8点模板与完整的16点Bresenham圆形模板进行了对比。图11展示了这两种模板的效果对比。表5显示,两种模板在三种典型的IC封装图像上的检测趋势相似,但8点版本在精度与效率之间取得了更好的平衡——它在降低运行时间的同时,仍能获得相近或略优的检测效果。

4.4.2 实际参数设置及参数调整敏感性
为检验所提检测器是否依赖于某些易受影响的参数设置,我们测试了在保持其他模块不变的情况下,主要参数组发生适度调整时的性能变化。所有实验均采用默认参数设置:N=3,g1=0.2,g2=0.9,nc=3,λ1=1,λ2=0.25,λ3=0.1,b1=12,b2=6,b3=?3。如图12所示,默认参数组合实现了最佳的总体性能,精确率为88.4%,召回率为86.0%,F1分数为87.2%。当参数发生适度变化时,精确率与召回率之间的平衡会按照预期发生变化:较为宽松的参数设置,如较大的LCoV区间、较小的nc值或较低的自适应阈值,虽然会增加假阳性,但能提升召回率;而较为严格的参数设置则能提高精确率,但也可能误判一些真实的角点。不过,即便参数有所调整,其性能仍保持在较高水平,F1分数介于84.0%至87.2%之间,仍明显高于其他竞争算法。这说明所提检测器并非依赖某个脆弱的参数组合,其模块化参数可根据实际检测需求逐步调整,而不会导致性能大幅下降。

4.4.3 极端成像条件下的局限性分析
尽管所提算法在常规和含噪声条件下表现出优异的准确性与稳定性,但在极端工业环境中的实测结果显示其存在一定的物理局限性。在高速IC封装检测过程中,捕获的图像有时会出现严重的光学缺陷。为客观评估算法的适用范围,我们分析了两种典型的故障情况,如图12所示。

(1)严重镜面反射(图12a):当强定向光源照射到金属引脚上时,会产生强烈的镜面反射和局部过曝现象。在完全过曝的区域,局部标准差会降至接近零,从而低于下限阈值g1,进而使这些区域被错误地视为无效区域,导致真实引脚角点在检测中被遗漏。而在过曝区域的边界处,极端的亮度梯度会导致LCoV值极度不稳定,使得自适应阈值误判,产生大量重复的假角点。

(2)运动模糊与低对比度(图12b):由于传送带的高速运转,图像会出现方向性运动模糊,从而使真实角点处的清晰亮度过渡变得平滑。根据相关公式,自适应阈值很大程度上取决于局部亮度对比度,而运动模糊会显著降低这种对比度,导致相关区域无法满足FAST算法的连续弧线判定条件,进而造成大量角点被遗漏。

总之,所提方法在典型的IC封装检测场景中具有较好的应用前景。它在表1中展现了最佳的单张图像检测效果,在表2中实现了最均衡的整组数据检测性能,而在表4的三种含噪声测试案例中,正确检测到的角点数量也始终多于误检数量。不过,目前该算法尚未能在所有极端条件下实现稳定可靠的应用,因为目前的验证仅限于特定的生产环境,其在强反射、模糊、过曝和严重噪声环境下的稳定性仍有待提升。未来的工作将侧重于更广泛的跨场景验证、更真实的图像退化模型构建、自适应参数选择,以及与后续检测环节的整合。结论本文提出了一种基于局部变异系数(LCoV)和自适应阈值技术的高效IC封装检测角点方法。该方法首先利用积分图像在常数时间内计算LCoV,快速筛选出候选区域;接着通过简化版的圆形采样模板与自适应阈值进一步筛选角点候选;最后通过标准化角点响应来优化结果并减少冗余检测。在从工业生产线采集的IC封装图像上的实验表明,该方法在检测精度与计算效率之间取得了良好的平衡。在三组代表性测试图像中,该方法分别检测到598、709和266个正确角点,同时伪角点和漏检角点的数量相对较少。与FAST-9、Harris以及其他典型的手工设计或基于学习的基准方法相比,该方法在精确度和召回率方面表现更为均衡,并且在不同图像分辨率下仍能保持具有竞争力的CPU运行时间。在混合噪声条件下,该方法的鲁棒性也有所提升,能够更好地保留有效角点并抑制由噪声引起的误检。不过,目前的研究仍存在一些局限性。首先,数据集规模相对较小,仅包含来自某条特定工业生产线的约500张图像,可能无法完全体现各种检测条件的多样性。其次,实验主要针对典型的封装类型和中等程度的退化情况;在严重镜面反射、强烈运动模糊以及极端过曝条件下的性能仍不够稳定。第三,尽管该方法提升了鲁棒性和效率,但还需要在更广泛的工业数据集和更具挑战性的成像场景中进行进一步验证,以更好地评估其通用性。未来的工作计划包括扩大数据集范围,涵盖更多封装类型和更复杂的成像条件,进一步提升在极端光照和运动退化场景下的鲁棒性。此外,还计划探索与该方法的下游缺陷检测模块的集成,以构建更完善的工业视觉检测流程。代码可用性为便于重复实验和后续研究,“高效角点检测器”的源代码及实现细节已发布在GitHub上,地址为:https://github.com/CVLTC/Efficient-Corner-Detection-for-IC-Package-Inspection.git利益冲突声明作者声明不存在任何可能影响本文研究结果的已知财务利益或个人关系。数据可用性本研究使用的数据可应要求提供。作者贡献说明周宇博:概念设计、方法论、软件开发、验证、形式分析、初稿撰写、可视化处理。刘青:数据整理、研究分析、审稿与编辑。邹文娟:资源协调、软件开发。赵玉祥:形式分析、研究分析。王鹏健:方法论、验证。杨千东:审稿与编辑、项目监督。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号