浙江大学学报(工学版), 2024, 58(3): 459-467 doi: 10.3785/j.issn.1008-973X.2024.03.003

计算机技术

基于特征过滤与特征解耦的域泛化模型

刘坤,, 王丁, 王静凯, 陈海永,, 刘卫朋

1. 河北工业大学 人工智能与数据科学学院,天津 300131

Feature filtering and feature decoupling based domain generalization model

LIU Kun,, WANG Ding, WANG Jingkai, CHEN Haiyong,, LIU Weipeng

1. School of Artificial Intelligence, Hebei University of Technology, Tianjin 300131, China

通讯作者: 陈海永,男,教授. orcid.org/0000-0002-5262-4208. E-mail: haiyong.chen@hebut.edu.cn

收稿日期: 2023-03-21  

基金资助: 国家自然科学基金资助项目(62173124);河北省自然科学基金资助项目(F2022202064).

Received: 2023-03-21  

Fund supported: 国家自然科学基金资助项目(62173124);河北省自然科学基金资助项目(F2022202064).

作者简介 About authors

刘坤(1980—),女,教授,从事图像处理、机器视觉研究.orcid.org/0000-0002-5034-9249.E-mail:liukun@hebut.edu.cn , E-mail:liukun@hebut.edu.cn

摘要

针对跨场景情况下图像亮度不一致导致的深度缺陷检测模型泛化性能差的问题,提出基于特征过滤与特征解耦的域泛化(FF-FDDG)模型. 模型包含设计的亮度过滤-残差模块(LFR),该模块通过实例归一化过滤亮度变化特征,并从被过滤的特征中提取缺陷高相关性且亮度低关联性的特征,并将这些特征与实例级归一化后的特征进行融合,以增强模型在跨场景图像亮度变换情况下的泛化能力. 提出对比白化损失(CWL)函数,该函数通过解耦特征中亮度变换特征和缺陷纹理特征,引导模型学习缺陷纹理特征,以提升模型泛化能力. 在从光伏电池制造环境中收集的跨场景光伏电池表面缺陷数据上进行实验,结果表明,相较于现阶段最先进的域泛化模型,所提出的FF-FDDG在跨场景情况下的平均检测精度(mAP)均值提升5.01%.

关键词: 缺陷检测 ; 域泛化 ; 跨场景 ; 亮度过滤-残差模块 ; 对比白化损失

Abstract

A feature filtering and feature decoupling based domain generalization model (FF-FDDG) was proposed, aiming at the problem of poor generalization performance of the deep defect detection model caused by inconsistent image brightness across scenes. A designed luminance filtering-residual module (LFR) was included in the proposed model. The brightness variation features were filtered out through instance normalization, the features with high defect correlation and low brightness correlation were extracted from the filtered features, and these features were fused to enhance the generalization ability of the model under the condition of cross-scenario image brightness transformation. Furthermore, a contrast whitening loss (CWL) function was proposed, by which the model was guided to learn the defect texture feature by decoupling the brightness transform feature and the defect texture feature, so as to improve the model generalization ability. The experimental results on the cross-scenario surface defect data collected in the photovoltaic cell manufacturing environment showed that, compared with the state-of-the-art domain generalization model, the average mean average precision (mAP) of the proposed FF-FDDG model in cross-scenario situations was improved by 5.01%.

Keywords: defect detection ; domain generalization ; cross-scenario ; luminance filtering-residual module ; contrast whitening loss

PDF (1385KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

刘坤, 王丁, 王静凯, 陈海永, 刘卫朋. 基于特征过滤与特征解耦的域泛化模型. 浙江大学学报(工学版)[J], 2024, 58(3): 459-467 doi:10.3785/j.issn.1008-973X.2024.03.003

LIU Kun, WANG Ding, WANG Jingkai, CHEN Haiyong, LIU Weipeng. Feature filtering and feature decoupling based domain generalization model. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(3): 459-467 doi:10.3785/j.issn.1008-973X.2024.03.003

作为光伏发电核心部件的光伏电池在生产过程中不可避免会出现缺陷. 这些缺陷会降低光伏电池板的光电转换效率和使用寿命,严重者可能产生安全隐患,因此,生产环节中的光伏电池质量检测是必不可少的. 基于机器视觉的光伏电池表面缺陷检测技术对于提升光伏电池产品质量、提高光伏电池生产行业的智能化制造水平具有重要意义.

近年来,基于深度学习的工业缺陷识别方法被不断提出. Chen等[1]提出用于光伏电池表面缺陷分类的多光谱深度卷积神经网络. Su等[2]提出RCAG-Net模型,通过注意力机制提高光伏电池缺陷分类的性能. Yu等[3]提出用于晶圆表面缺陷识别的堆叠卷积稀疏降噪自动编码器. Miao等[4]提出将连续小波变换与卷积神经网络相结合的焊缝缺陷检测模型. Li等[5]提出多层特征融合模块,提升深度检测模型对地铁隧道面缺陷的检测能力.

目前,高度依赖大规模高质量标注数据的深度缺陷识别方法在封闭场景下取得了良好的效果,但在跨场景情况下,某一场景数据训练的深度模型无法应用在其他场景. 域泛化方法通过提升模型的泛化能力,使某一场景数据训练的深度模型广泛应用到多种场景中. 基于数据操作的域泛化方法[6-10]旨在生成多种不同风格样式的数据,使训练阶段的数据多样化和丰富化,从而提升模型的泛化能力. 在基于数据操作的域泛化缺陷识别方法中,Wang等[11]通过使用与目标任务相关的数据对模型进行预训练,并在微调阶段设计噪声正则化策略从而提升缺陷检测的泛化性能. Duan等[12]在数据层面通过原始域和增强域联合更新参数,并在特征层面增加扰动,来提高每个元任务中缺陷识别的泛化能力. 基于特征学习的域泛化方法[13-16]则是通过减少不同样式数据间的差异,使学习到的模型能够对看不见的域具有泛化的能力. 在特征学习的域泛化缺陷识别方法中, Xie等[17]通过减少由不同材料引起的域偏移的影响,提高模型对射焊接缺陷识别的性能. Zhou等[18]通过集成分割网络和分类网络的2阶段跨域缺陷检测网络挖掘跨域数据中隐藏的价值,从而提升模型对工业产品表面缺陷识别的性能. Ma等[19]设计双编码器从不同分辨率的图像中提取多尺度特征并将这些特征通过跨尺度融合模块进行自适应融合,缓解由跨场景轨道外观不一致引起的域偏移问题.

在以实例级归一化(instance normalization, IN) 为代表的基于特征学习的域泛化方法中,Nam等[20]在保证模型泛化能力的同时,通过选择性地使用批归一化和实例级归一化来提升模型对任务特征的把握. Jin等[21]提出风格归一化和恢复模块,利用通道注意力从残差中提取与任务相关的鉴别特征,确保网络对行人重识别任务的识别性. Tang等[22]先进行特征级风格扩充,而后重新校准统计数据来弥合训练分布和测试分布之间的差距,提升模型泛化能力.

实例级归一化仅对不同特征通道做归一化操作,并不能直接参与到缺陷检测的学习过程中,会不可避免地丢失一些缺陷的鉴别特征. 为此,本研究提出基于特征过滤与特征解耦的域泛化(feature filtering and feature decoupling based domain generalization, FF-FDDG)模型,该模型通过亮度过滤-残差模块(luminance filtering-residual module, LFR)和对比白化损失(contrast whitening loss, CWL)函数,实现在降低实例级归一化无任务性造成的影响的同时提取亮度不变的缺陷特征,提升模型的泛化能力. 所提出的亮度过滤-残差模块通过实例归一化过滤亮度特征,并从被过滤的特征中提取与缺陷相关的特征,缓解实例级归一化无任务性导致的缺陷特征区分性差的问题. 提出对比白化损失函数用于解耦特征中的亮度变换特征和纹理特征,引导模型学习亮度不变的缺陷纹理特征,以提升模型在跨场景亮度变换情况下的泛化能力.

1. 基于特征过滤与特征解耦的域泛化模型

针对跨场景情况下由图像亮度变换引起的深度缺陷检测模型性能下降问题,所设计的基于特征过滤与特征解耦的域泛化模型如图1所示. 图中,CN为特征级风格调换模块.

图 1

图 1   基于特征过滤与特征解耦的域泛化模型

Fig.1   Feature filtering and feature decoupling based domain generalization model


1.1. 亮度过滤-残差模块

为了降低实例级归一化无任务性造成的缺陷特征鉴别信息丢失的问题,提出亮度过滤-残差模块,如图2所示.

图 2

图 2   亮度过滤-残差模块

Fig.2   Luminance filtering-residual module


图3所示为同一张光伏电池图像不同通道的浅层特征在经过实例级归一化前后的可视化结果. 可以看出,实例级归一化虽然引入了外观不变性,但实例级归一化后特征中缺陷的鉴别性信息有所下降.

图 3

图 3   实例级归一化前后的特征对比

Fig.3   Feature comparison before and after instance normalization


对于所提出的亮度过滤-残差模块,输入特征FFCN$ \left(\boldsymbol{F},\;{\boldsymbol{F}}_{\mathrm{C}\mathrm{N}}\in {\bf{R}}^{{C}\times{H}\times {W}}\right) $首先经过实例级归一化[23]初步剔除亮度带来的影响. 经过实例级归一化的结果如下:

$ \left. \begin{aligned} &{\boldsymbol{F}}_{{\mathrm{IN}},i}=\dfrac{{\boldsymbol{F}}_{i}-\mu \left({\boldsymbol{F}}_{i}\right)}{\sigma \left({\boldsymbol{F}}_{i}\right)}\text{,}\\ &{\boldsymbol{F}}_{{\mathrm{CN}}\_{\mathrm{IN}},i}=\dfrac{{\boldsymbol{F}}_{{\mathrm{CN}},i}-\mu \left({\boldsymbol{F}}_{{\mathrm{CN}},i}\right)}{\sigma \left({\boldsymbol{F}}_{{\mathrm{CN}},i}\right)}.\end{aligned}\right\} $

式中:$ {\boldsymbol{F}}_{i} $为第$ i $层特征图,$ \sigma \left({\boldsymbol{F}}_{{i}}\right) $$ \mu \left({\boldsymbol{F}}_{i}\right) $分别表示原特征第$ {i} $层特征图的标准差和均值,FCN,i为经过特征级风格调换模块后的第i层特征图,$ \sigma \left({\boldsymbol{F}}_{\mathrm{C}\mathrm{N},i}\right) $$ \mu \left({\boldsymbol{F}}_{\mathrm{C}\mathrm{N},i}\right) $分别表示经过特征级风格调换模块后第$ i $层特征图的标准差和均值.

特征级风格调换模块[20]的表达式如下:

$ {\boldsymbol{F}}_{\mathrm{C}\mathrm{N},i}=\sigma \left({\boldsymbol{F}}_{j}\right)\frac{{\boldsymbol{F}}_{i}-\mu \left({\boldsymbol{F}}_{i}\right)}{\sigma \left({\boldsymbol{F}}_{i}\right)}+\mu \left({\boldsymbol{F}}_{j}\right). $

经过实例级归一化后$ {\boldsymbol{F}} $$ {{\boldsymbol{F}}}_{{\mathrm{CN}}} $被剔除的信息可以表示为

$ \left.\begin{split} &{\boldsymbol{F}}_{\mathrm{s}\mathrm{u}\mathrm{b}}=\boldsymbol{F}-{\boldsymbol{F}}_{\mathrm{I}\mathrm{N}},\\ &{\boldsymbol{F}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}}={\boldsymbol{F}}_{\mathrm{C}\mathrm{N}}-{\boldsymbol{F}}_{\mathrm{C}\mathrm{N}\_\mathrm{I}\mathrm{N}}.\end{split}\right\} $

式中:$ {\boldsymbol{F}}_{\mathrm{I}\mathrm{N}} $$ \boldsymbol{F} $经过实例级归一化后的结果,$ {\boldsymbol{F}}_{\mathrm{C}\mathrm{N}\_\mathrm{I}\mathrm{N}} $$ {\boldsymbol{F}}_{\mathrm{C}\mathrm{N}} $经过实例级归一化的结果.

通道注意力机制可以自适应地提高关注点的表示,从而关注重要特征并抑制不必要的特征,为了从被实例级归一化滤除的信息中提取缺陷相关的特征,使用通道注意力对任务相关特征进行自适应精馏,通道注意力的蒸馏向量可以表示为

$ {\boldsymbol{a}}=\mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\;\left({\omega }_{1}\mathrm{R}\mathrm{e}\mathrm{l}\mathrm{u}\;\right({\omega }_{2}\mathrm{p}\mathrm{o}\mathrm{o}\mathrm{l}\;\left({{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}}\right)\left)\right) . $

式中:$ {\boldsymbol{\omega }}_{1} $$ {\boldsymbol{\omega }}_{2} $为全连接层参数,$ \mathrm{R}\mathrm{e}\mathrm{l}\mathrm{u} $$ \mathrm{R}\mathrm{e}\mathrm{l}\mathrm{u} $激活函数,$ \mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d} $$ \mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d} $激活函数,$ \mathrm{p}\mathrm{o}\mathrm{o}\mathrm{l} $为全局平均池化. 由于$ \boldsymbol{F} $$ {\boldsymbol{F}}_{\mathrm{C}\mathrm{N}} $为同一图像仅经过不同层风格调换的结果,对于$ {\boldsymbol{F}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $$ {\boldsymbol{F}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}} $使用同一$ \boldsymbol{a} $对任务相关特征进行自适应精馏从而降低非必要的计算开销:

$ \left.\begin{array}{l}{\tilde {\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}}={\boldsymbol{F}}_{\mathrm{s}\mathrm{u}\mathrm{b}}\boldsymbol{a},\\ {\tilde{\boldsymbol{F}}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}}={\boldsymbol{F}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}}\boldsymbol{a}.\end{array}\right\} $

为了从被剔除信息中优选出亮度不变特征,根据$ {\tilde{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $$ {\tilde{\boldsymbol{F}}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}} $之间的差距,从$ {\tilde{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $优选并恢复任务相关且亮度不变的特征,特征$ {\tilde{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $$ {\tilde{\boldsymbol{F}}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}} $之间的距离度量结果如下:

$ A_{i,j}=\mathrm{e}\mathrm{x}\mathrm{p}\;\left(-\frac{\left|\right|{\tilde{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}}^{{i}}-{\tilde{\boldsymbol{F}}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}}^{{j}}\left|\right|}{2{\rho }^{2}}\right) . $

式中:$ {\tilde{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}}^{i} $表示$ {\tilde{\boldsymbol{F}}}_{\mathrm{s}\mathrm{u}\mathrm{b}} $$ i $通道上的特征,$ {\tilde{\boldsymbol{F}}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}}^{j} $表示$ {\tilde{\boldsymbol{F}}}_{\mathrm{C}\mathrm{N}\_\mathrm{s}\mathrm{u}\mathrm{b}} $$ j $通道上的特征,$ \rho $为高斯核计算中控制$ {\boldsymbol{A}} $的稀疏性的标准差参数. 由于本研究考虑的是同层特征的差距,这里仅需要$ {\boldsymbol{A}} $对角线上的结果即$ {A}_{i}={A}_{i,i} $,即经过亮度过滤-残差模块后的特征$ {\boldsymbol{F}}_{\mathrm{L}\mathrm{F}\mathrm{R}}. $

$ {\boldsymbol{F}}_{\mathrm{L}\mathrm{F}\mathrm{R}}={\boldsymbol{F}}_{{\mathrm{IN}}}+\left(1+\mathrm{s}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\;\left({\boldsymbol{\omega }}_{3}\left({A}_{i}\right)\right)\right){\tilde{\boldsymbol{F}}}_{{{\mathrm{CN}}}\_{{\mathrm{sub}}}}. $

式中:$ {\boldsymbol{\omega }}_{3} $为全连接层.

1.2. 对比白化损失函数

为了解耦特征中的亮度变化特征和纹理特征,引导模型学习缺陷纹理特征,提升模型的泛化能力,设计了对比白化损失,其计算流程如图4所示. 图中,下标S表示拉伸.

图 4

图 4   对比白化损失计算流程

Fig.4   Calculation process of contrast whitening loss


具体而言, 分别计算原特征$ \boldsymbol{F} $和其经过特征级风格调换模块后所得到的特征$ {\boldsymbol{F}}_{\mathrm{C}\mathrm{N}} $的协方差矩阵:

$ \left.\begin{array}{l}\boldsymbol{X}=\dfrac{1}{HW}{\mathrm{IN}}\left(\boldsymbol{F}\right){\left({\mathrm{IN}}\right(\boldsymbol{F}\left)\right)}^{\mathrm{T}},\\ {\boldsymbol{X}}_{\mathrm{C}\mathrm{N}}=\dfrac{1}{HW}{\mathrm{IN}}\left({\boldsymbol{F}}_{\mathrm{C}\mathrm{N}}\right){\left({\mathrm{IN}}\left({\boldsymbol{F}}_{\mathrm{C}\mathrm{N}}\right)\right)}^{\mathrm{T}}.\end{array} \right\} $

式中:${\mathrm{ IN}} $为式(1)的实例级归一化,$ H $$ W $分别为特征图的高度和宽度. 2个协方差矩阵的方差矩阵V$ \left({\boldsymbol{V}}\in {\bf{R}}^{C\times C}\right) $可以表示为

$ \boldsymbol{V}=\frac{1}{2}\left[\mathrm{s}\mathrm{q}\mathrm{r}\mathrm{t}{\left(\boldsymbol{X}-\mu \;\left(\boldsymbol{X}\right)'\right)}^{2}+\mathrm{s}\mathrm{q}\mathrm{r}\mathrm{t}\;{\left({\boldsymbol{X}}_{{\mathrm{CN}}}-\mu \left(\boldsymbol{X}\right)'\right)}^{2}\right]. $

式中:$ \mathrm{s}\mathrm{q}\mathrm{r}\mathrm{t} $为算数平方根,$ \mu \left(\boldsymbol{X}\right)' $$ {\boldsymbol{X}} $$ {\boldsymbol{X}}_{\mathrm{C}\mathrm{N}} $的均值.

$ \mu \left(\boldsymbol{X}\right)'=\frac{1}{2}\left(\mu \left(\boldsymbol{X}\right)+\mu \left({\boldsymbol{X}}_{\mathrm{C}\mathrm{N}}\right)\right). $

式中:$ \mu \left(\boldsymbol{X}\right) $$ \mu \left({\boldsymbol{X}}_{\mathrm{C}\mathrm{N}}\right) $为协方差矩阵$ \boldsymbol{X} $$ {\boldsymbol{X}}_{\mathrm{C}\mathrm{N}} $的均值. 方差矩阵$ {\boldsymbol{V }}$表示相应的协方差对亮度变换的敏感性,更高的方差值表示该部分特征包含更多的特定领域风格,即与亮度变化相关的信息. 为了识别这些元素,将方差矩阵$ {\boldsymbol{V}} $修改为上三角矩阵,即仅保留主对角线元素和主对角线上方元素:

$ {{V}}_{i,j}=\left\{\begin{array}{*{20}{l}}{V}_{i,j}, &i\leqslant j;\\0, &{\text{其他}}.\end{array}\right. $

对比白化损失的掩码矩阵$ {\boldsymbol{M}}({\boldsymbol{M}}\in {\bf{R}}^{{C}\times {C}}) $可以表示为

$ {{M}}_{i,j}=\left\{\begin{array}{*{20}{l}}1,&{V}_{i,j} > Q;\\0,&其他.\end{array}\right. $

式中:$ Q $为方差矩阵$ {\boldsymbol{V}} $中所有数值的前$ n\text{%} $的最小的数值.

对比白化损失可以表示为

$ {L}_{\mathrm{C}\mathrm{W}\mathrm{L}}={E}\left[{\left|\right|\boldsymbol{X} \odot \boldsymbol{M}\left|\right|}_{1}\right]. $

式中:$ {E} $表示算术平均值,$ \odot $表示矩阵对应位置相乘,$ {\left|\right|\cdot \left|\right|}_{1} $表示矩阵的一阶范数.

最终的损失函数定义如下:

$ {L}_{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}}={L}_{\mathrm{d}\mathrm{e}\mathrm{t}}+\lambda \left(\frac{1}{N}\sum _{i=1}^{N}{L}_{\mathrm{C}\mathrm{W}\mathrm{L}}^{i}\right) . $

式中:$ {L}_{\mathrm{d}\mathrm{e}\mathrm{t}} $为不同检测器的检测损失,$ \lambda $为对比白化损失的权重,$ N $为对比白化损失所添加到的层数.

2. 实验验证

2.1. 光伏电池采集设备及缺陷数据介绍

为了验证所提出的方法的有效性,在生产场景采集的光伏电池片缺陷数据上进行实验,光伏电池缺陷检测图像采集设备如图5所示.

图 5

图 5   光伏电池缺陷检测图像采集设备

Fig.5   Acquisition equipment for photovoltaic cell defect detection image


光伏电池电致发光(electroluminescence, EL)图像由近红外相机捕获光伏电池通电后发出的近红外光得到. 光伏电池的发电效率不同,且不同成像设备参数也并不完全一致,因此不同光伏电池图像存在亮度差异. 不同图像亮度场景下的光伏电池EL缺陷图像如图6所示. 图中,c为亮度均值,p为归一化后各个数据集图像亮度均值的分布情况.

图 6

图 6   不同亮度图像实例及其亮度分布

Fig.6   Instances of images with different brightness and corresponding brightness distribution


不同图像亮度场景下的光伏电池EL缺陷图像示例如图6(a)所示,该数据集包含3种不同亮度场景的光伏电池EL缺陷图像,其中SEL_1包含图像1688张, SEL_2包含图像1309张,为了在更加广泛的亮度变换情况下进行实验验证,通过图像亮度操作生成了与SEL_1和SEL_2亮度差异较大的SEL_3图像951张. 该数据集共包含4类缺陷:开焊、漏焊、碎片以及隐裂,图像的分辨率为398×380像素. 由图6(b)3个场景下的图像亮度分布情况可以看出,SEL_1的图像具备最低的亮度均值,SEL_3的图像具备最高的亮度均值,同时3个场景图像亮度统计曲线的峰值之间存在较大差距,即不同场景下采集到的数据具备较大的亮度差异.

2.2. 实验环境及参数设置

实验使用的CPU为I7-11700K,GPU为NVIDIA GeForce RTX 3090O24G,操作系统为Win10,网络模型使用PyTorch框架搭建. 当检测框架为YOLOv7[24]时,batch size=4,epoch=200, 根据经验设置损失函数中的λ=0.2,对比白化损失所添加到的层数N=3. 当检测框架为Faster-RCNN[25]时,batch size=4,epoch=100,考虑到检测框架中骨干网络的改变, 根据经验设置损失函数中的λ=0.3,对比白化损失所添加到的层数N=2.

2.3. 评价指标

为了对所提出方法的性能进行统计性能评估,采用置信度为0.5, IoU为0.3情况下的平均精度 (average precision, AP)的和在所有类别下AP的均值 (mean average precision,mAP)评估不同方法在数据集上的有效性:

$ \left.\begin{array}{*{20}{l}}{\mathrm{AP}}=\dfrac{1}{100}\displaystyle{\sum}_{{{r}_{1}},{{r}}_{2},{{r}}_{3},\;\cdots,\; {{{r}}_{100}}}{{P}}_{\mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}\mathrm{h}}\left({i}\right),\\ {\mathrm{mAP}}=\dfrac{1}{{k}}\displaystyle{\sum} _{{i}=1}^{{k}}{\mathrm{A}\mathrm{P}}_{{i}}.\end{array} \right\} $

式中: $ {{P}}_{\mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}\mathrm{h}}\left({i}\right) $为平滑处理的PR曲线第$ {i} $个均分点的Precision;${{{r}_{1}},{{r}}_{2},{{r}}_{3},\;\cdots,\; {{{r}}_{100}}} $为按升序排列的Precision插值段第1个插值处对应的recall值;$ {k} $为类别数,在本研究中$ {k} $=4;$ {\mathrm{A}\mathrm{P}}_{{i}} $表示第$ {i} $类缺陷的AP.

2.4. 统计性能对比

为了验证所提出方法的有效性,分别以YOLOv7和Faster-RCNN这2个检测框架为基线1和基线2,利用不同场景的光伏电池缺陷数据集进行实验,并将所提方法与域泛化方法(实例级归一化(IN)[13]、SNR[16]和CNSN[17])做比较. 在每个检测框架下设计6组实验,分别为SEL_1$ \Rightarrow $SEL_2,SEL_1$\Rightarrow $SEL_3,SEL_2$\Rightarrow $SEL_1,SEL_2$\Rightarrow $SEL_3,SEL_3$\Rightarrow $SEL_1以及SEL_3$\Rightarrow $SEL_2,每组实验均使用单一亮度场景数据进行训练,其余亮度数据进行测试. 比如,SEL_1$ \Rightarrow $SEL_2表示以SEL_1为训练数据,以SEL_2为测试数据. 统计性能结果如表12所示. 定义后文中的跨场景平均mAP为该方法在6组跨场景实验情况下的mAP均值.

表 1   YOLOv7上不同场景及不同检测模型下的统计性能结果

Tab.1  Statistical performance results for different scenarios and different detectors on YOLOv7 %

方法SEL_1$\Rightarrow $SEL_2SEL_1$\Rightarrow $SEL_3
APmAPAPmAP
开焊漏焊碎片隐裂开焊漏焊碎片隐裂
YOLOv7[24]72.6377.6586.3262.1674.6918.0256.5971.0030.9744.14
IN[13]79.2575.8684.1971.2277.6347.0867.8371.4641.2556.91
SNR[16]88.8488.3687.0260.0681.0737.1770.7477.4250.6859.00
CNSN[17]70.6676.3777.2880.2376.1473.1083.4962.6347.6266.71
FF-FDDG91.2089.5487.3478.0386.5378.7290.3271.6956.6974.36
方法SEL_2$\Rightarrow $SEL_1SEL_2$\Rightarrow $SEL_3
APmAPAPmAP
开焊漏焊碎片隐裂开焊漏焊碎片隐裂
YOLOv7[24]86.2276.6681.6274.7479.8184.7081.9087.3366.6380.14
IN[13]95.0482.5585.5069.1883.0793.2379.3290.3172.3883.81
SNR[16]93.5279.9082.5372.8682.2091.5085.7991.7973.8785.74
CNSN[17]80.0772.7362.9456.6168.0977.7974.5085.8465.5675.92
FF-FDDG94.4086.0989.3580.9087.7192.0395.5690.9481.4690.00
方法SEL_3$\Rightarrow $SEL_2SEL_3$\Rightarrow $SEL_1
APmAPAPmAP
开焊漏焊碎片隐裂开焊漏焊碎片隐裂
YOLOv7[24]90.7788.2175.8480.7483.8957.8061.0274.6070.7566.04
IN[13]92.4787.3376.9082.3484.7681.5675.4069.6070.3974.24
SNR[16]92.8587.3285.1181.1486.6184.7374.9471.0771.3775.53
CNSN[17]70.6676.3777.2880.2376.1478.4568.7858.9252.7364.72
FF-FDDG92.6089.7382.3183.2986.9888.0878.8975.1672.1578.57

新窗口打开| 下载CSV


表1可以看出,以YOLOv7为基线1的方法在跨场景情况下的平均mAP为71.45%,在基线1的基础上,实例级归一化(IN)通过降低图像亮度变化带来的影响,将跨场景情况下的平均mAP提升到76.73%;针对实例级归一化无任务性做出改进的SNR通过通道注意力从被实例级归一化滤除的特征信息中选择性地返还缺陷相关特征,在跨场景情况下的平均mAP为78.36%,相较于IN提升了1.51%;CNSN的跨场景平均mAP仅为71.29%,相较于YOLOv7下降了0.16%,可以看出,在跨场景缺陷检测任务中, 对同一实例不同特征层间的风格对调不仅不能较好地扩充特征信息,还会破坏缺陷的特征表示. FF-FDDG不仅通过亮度过滤-残差模块解决了实例级归一化无任务性对缺陷特征提取的影响,并通过改进的白化损失引导模型提取亮度不变信息,使得跨场景情况下的平均mAP提升到84.02%,相较于基线1提升了12.57%.

表2可以看出,以Faster-RCNN为基线2的方法在跨场景情况下的平均mAP为60.94%,在此基础上,实例级归一化(IN)将跨场景情况下的平均mAP提升到63.10%,但受实例级归一化无任务性的影响,在SEL_3$ \Rightarrow $SEL_2情况下,其mAP下降到了61.10%. SNR的跨场景平均mAP为61.80%,虽然相较于Faster-RCNN的有0.87% 的提升,但较IN的下降了1.29%,CNSN的则相较于Faster-RCNN的下降了5.01%. FF-FDDG在保证跨场景情况都有性能提升的同时,平均mAP提升到66.20%,相较基线2提升了5.30%. 与基线1情况下的统计性能结果相佐.

表 2   Faster-RCNN上不同场景及不同检测模型下的统计性能结果

Tab.2  Statistical performance results for different scenarios and different detectors on Faster-RCNN %

方法SEL_1$\Rightarrow $SEL_2SEL_1$\Rightarrow $SEL_3
APmAPAPmAP
开焊漏焊碎片隐裂开焊漏焊碎片隐裂
Faster-RCNN[25]84.9286.2361.3712.2561.1949.9582.7574.9418.7255.59
IN[13]86.0386.3564.1915.1262.9285.1985.4963.9616.4262.77
SNR[16]89.7386.1865.8518.0364.9593.3281.0363.7215.1663.31
CNSN[17]79.6685.4663.6118.6361.8478.9081.2262.7819.2860.55
FF-FDDG89.9387.5469.5618.2266.3191.8880.5369.1120.1565.42
方法SEL_2$\Rightarrow $SEL_1SEL_2$\Rightarrow $SEL_3
APmAPAPmAP
开焊漏焊碎片隐裂开焊漏焊碎片隐裂
Faster-RCNN[25]87.9776.4463.1315.1260.6786.6376.7564.9212.1260.11
IN[13]87.5282.0459.7815.4661.2091.5279.1267.5116.5963.69
SNR[16]90.1084.0461.5614.3962.5291.1972.6466.4213.5960.96
CNSN[17]82.7583.1643.3610.3854.9183.6577.1658.509.7257.26
FF-FDDG91.5286.3960.2523.1465.3392.1290.9668.2817.4767.21
方法SEL_3$\Rightarrow $SEL_2SEL_3$\Rightarrow $SEL_1
APmAPAPmAP
开焊漏焊碎片隐裂开焊漏焊碎片隐裂
Faster-RCNN[25]90.3989.7963.8619.0865.7890.9787.3956.8314.0262.30
IN[13]91.4187.9269.7818.4966.9083.4289.1357.5214.4261.12
SNR[16]90.5589.2446.6315.7260.5489.0083.9749.9511.4158.58
CNSN[17]51.0372.5158.0513.2548.7176.8071.5150.1610.8352.32
FF-FDDG92.7990.5568.4520.9168.1888.5181.3262.5525.7964.54

新窗口打开| 下载CSV


2.5. 消融实验

为了验证所提出的亮度过滤-残差模块和对比白化损失的有效性,分别以YOLOv7和Faster-RCNN为基线1和基线2对所提出亮度过滤-残差模块和对比白化损失进行消融实验,实验结果如表34所示. 表中,数据均为跨场景平均mAP.

表 3   以YOLOv7为基线的消融实验结果

Tab.3  Ablation experiment results with YOLOv7 as baseline %

方法SEL1$\Rightarrow $ SEL2SEL1$\Rightarrow $ SEL3SEL2$\Rightarrow $ SEL1SEL2$\Rightarrow $ SEL3SEL3$\Rightarrow $ SEL1SEL3$\Rightarrow $SEL2
基线174.6944.1479.8180.1466.0083.89
基线1+ LFR77.8469.2186.0488.3376.6085.03
基线+LFR+ CWL86.5374.3687.7190.0078.6086.98

新窗口打开| 下载CSV


表3可以看出,相较于基线1,所提出的亮度过滤-残差模块使模型性能提升了12.57%,所提出的对比白化损失使模型性能进一步提升了3.52%. 由表4可以看出,在基线2检测框架下,所提出的亮度过滤-残差模块和对比白化损失对模型的泛化都具有正向提升.

表 4   以Faster-RCNN为基线的消融实验结果

Tab.4  Ablation experiment results with Faster-RCNN as baseline %

方法SEL1$\Rightarrow $SEL2SEL1$\Rightarrow $SEL3SEL2$\Rightarrow $SEL1SEL2$\Rightarrow $SEL3SEL3$\Rightarrow $SEL1SEL3$\Rightarrow $SEL2
基线261.1955.5960.6760.1162.3065.78
基线2+ LFR62.5959.6361.7763.5262.9367.51
基线2+LFR+ CWL66.3165.4265.5367.2164.5468.18

新窗口打开| 下载CSV


2.6. 特征图可视化结果

为了验证所提方法的有效性,在SEL_1$ \Rightarrow $SEL_2和SEL_1$\Rightarrow $SEL_3数据集上,以YOLOv7为基线,IN、LFR和LFR+CWL提取的浅层特征可视化结果如图7所示.

图 7

图 7   不同场景特征可视化结果

Fig.7   Visualization results of features in different scenarios


图中,图7(a)、(b)为SEL_2图像的浅层特征可视化结果,图7(c)、(d)为SEL_3图像的浅层特征可视化结果. 由图7(a)、(b)、(c)、 (d)的第2列可以看出,受跨场景亮度变化的影响,模型无法提取完整且清晰的缺陷特征. 对于大尺度的缺陷,由图7(c)第3列可以看出,实例级归一化的引入使缺陷特征完整地展现,由7(c)第4、5列可以看出,本研究所提出方法进一步降低了亮度变化所带来的影响,使缺陷特征更加完整且清晰.

对于小尺度的缺陷,由图7(a)、(b)、 (d)第3列可以看出,实例级归一化的引入降低了细小缺陷的特征表示. 由图7(a)、(b)、(d)第4列和第3列可以看出,引入所提出的亮度过滤-残差模块相比较引入实例级归一化的情况,可以更完整地提取小缺陷特征. 进一步的,从图7(a) 、(b)、 (d)第5列可以看出,在所提出的亮度过滤-残差模块和对比白化损失(CWL)函数的共同作用下,模型可以完整精细地提取细小缺陷的特征.

2.7. 不同域泛化方法检测效率对比

为了验证所提方法可以在兼顾检测效率的同时达到了较高的检测精度,在YOLOv7和Faster_RCCN检测框架下对比不同域泛化方法的检测速度v和跨场景平均mAP,结果如表5所示. 可以看出, FF-FDDG相较于性能最好的域泛化方法SNR在检测速度方面下降了0.76帧/s,但所提方法在跨场景情况下相较于SNR的平均mAP提升了5.01%,综上, FF-FDDG在兼顾检测速度的同时达到了较高的检测精度.

表 5   不同域泛化方法检测效率

Tab.5  Detection efficiency of different domain generalization methods

方法v/(帧·s−1)平均mAP方法v/(帧·s−1)平均mAP
基线1(YOLOv7)35.9871.45基线2(Faster-RCNN)27.5360.94
IN34.7576.74IN26.9363.10
SNR30.9578.36SNR26.3761.81
CNSN34.2371.29CNSN26.2355.93
FF-FDDG31.2684.02FF-FDDG25.1666.17

新窗口打开| 下载CSV


3. 结 语

通过分析现有基于实例级归一化的域泛化方法存在的不足,发现本研究提出的FF-FDDG通过降低实例级归一化无任务性的影响,在跨场景光伏电池表面缺陷数据上具备更强的泛化性能,能够有效缓解跨场景缺陷检测任务中由图像亮度变换引起的深度缺陷检测模型泛化能力差的问题. 不过,在更宽泛且亮度变化更复杂的情况下仍有较大的研究空间. 同时,同一类缺陷在不同图像亮度情况下边缘信息不明确的情况也会对跨场景情况下的缺陷分割任务带来更大的挑战,仍有待研究.

参考文献

CHEN H, PANG Y, HU Q, et al

Solar cell surface defect inspection based on multispectral convolutional neural network

[J]. Journal of Intelligent Manufacturing, 2020, 31 (2): 453- 468

DOI:10.1007/s10845-018-1458-z      [本文引用: 1]

SU B, CHEN H, LIU K, et al

RCAG-Net: residual channel-wise attention gate network for hot spot defect detection of photovoltaic farms

[J]. IEEE Transactions on Instrumentation and Measurement, 2021, 70: 1- 14

[本文引用: 1]

YU J, ZHENG X, LIU J

Stacked convolutional sparse denoising auto-encoder for identification of defect patterns in semiconductor wafer map

[J]. Computers in Industry, 2019, 109: 121- 133

DOI:10.1016/j.compind.2019.04.015      [本文引用: 1]

MIAO R, GAO Y, GE L, et al

Online defect recognition of narrow overlap weld based on two-stage recognition model combining continuous wavelet transform and convolutional neural network

[J]. Computers in Industry, 2019, 112: 103115- 103125

DOI:10.1016/j.compind.2019.07.005      [本文引用: 1]

LI D, XIE Q, GONG X, et al

Automatic defect detection of metro tunnel surfaces using a vision-based inspection system

[J]. Advanced Engineering Informatics, 2021, 47: 101206- 101217

DOI:10.1016/j.aei.2020.101206      [本文引用: 1]

LI L, GAO K, CAO J, et al. Progressive domain expansion network for single domain generalization [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition . [s. l.]: IEEE, 2021: 224−233.

[本文引用: 1]

RAHMAN M M, FOOKES C, BAKTASHMOTLAGH M, et al. Multi-component image translation for deep domain generalization [C]// 2019 IEEE Winter Conference on Applications of Computer Vision . Waikoloa: IEEE, 2019: 579−588.

WANG Z, LUO Y, QIU R, et al. Learning to diversify for single domain generalization [C]// IEEE/CVF International Conference on Computer Vision . [s. l.]: IEEE, 2021: 834-843.

ZHOU K, YANG Y, HOSPEDALES T, et al. Learning to generate novel domains for domain generalization [C]// European conference on computer vision . Glasgow: Springer, 2020: 561−578.

FAN X, WANG Q, KE J, et al. Adversarially adaptive normalization for single domain generalization [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition . [s. l.]: IEEE, 2021: 8208−8217.

[本文引用: 1]

WANG H, LI Z, WANG H

Few-shot steel surface defect detection

[J]. IEEE Transactions on Instrumentation and Measurement, 2021, 71: 1- 12

[本文引用: 1]

DUAN G, SONG Y, LIU Z, et al

Cross-domain few-shot defect recognition for metal surfaces

[J]. Measurement Science and Technology, 2022, 34 (1): 015202

[本文引用: 1]

CHEN C, LI J, HAN X, et al. Compound domain generalization via meta-knowledge encoding [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition . New Orleans: IEEE, 2022: 7119−7129.

[本文引用: 8]

SHIAU Z Y, LIN W W, LIN C S, et al. Meta-learned feature critics for domain generalized semantic segmentation [C]// IEEE International Conference on Image Processing . Anchorage: IEEE, 2021: 2244-2248.

PAN X, LUO P, SHI J, et al. Two at once: enhancing learning and generalization capacities via ibn-net [C]// European Conference on Computer Vision . Munich: Springer, 2018: 464−479.

ZHOU K, YANG Y, CAVALLARO A, et al. Omni-scale feature learning for person re-identification [C]// IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 3702−3712.

[本文引用: 8]

XIE T, HUANG X, CHOI S K

Metric-based meta-learning for cross-domain few-shot identification of welding defect

[J]. Journal of Computing and Information Science in Engineering, 2023, 23 (3): 030902

DOI:10.1115/1.4056219      [本文引用: 8]

ZHOW Z, LAN C, GAO Z. Cross-domain defect detection network [C]// 2022 Asia Conference on Algorithms, Computing and Machine Learning . Hangzhou: IEEE, 2022: 272−279.

[本文引用: 1]

MA S, SONG K, NIU M, et al

Cross-scale fusion and domain adversarial network for generalizable rail surface defect segmentation on unseen datasets

[J]. Journal of Intelligent Manufacturing, 2022, 27: 1- 20

[本文引用: 1]

NAM H, KIM H E. Batch-instance normalization for adaptively style-invariant neural networks [C]// Proceedings of the 32nd International Conference on Neural Information Processing Systems . Montréal: IEEE, 2018: 2563−2572.

[本文引用: 2]

JIN X, LAN C, ZENG W, et al

Style normalization and restitution for domain generalization and adaptation

[J]. IEEE Transactions on Multimedia, 2021, 24: 3636- 3651

[本文引用: 1]

TANG Z, GAO Y, ZHU Y, et al. CrossNorm and SelfNorm for generalization under distribution shifts [C]// IEEE/CVF International Conference on Computer Vision . [s. l.]: IEEE, 2021: 52−61.

[本文引用: 1]

HUANG X, BELONGIE S. Arbitrary style transfer in real-time with adaptive instance normalization [C]// IEEE International Conference on Computer Vision . Venice: IEEE, 2017: 1501−1510.

[本文引用: 1]

WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Vancouver: IEEE, 2023: 7464−7475.

[本文引用: 4]

REN S, HE K, GIRSHICK R, et al

Faster R-CNN: towards real-time object detection with region proposal networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39 (6): 1137- 1149

DOI:10.1109/TPAMI.2016.2577031      [本文引用: 4]

/