1.1 锻模物理渲染成像方法
主要使用Maya软件进行锻模裂纹图像的合成,Maya软件中附带的Arnold渲染功能可实现高品质的图像渲染。Arnold渲染功能基于蒙特卡洛光线路径追踪原理,支持基于物理的渲染,能真实模拟光线与物体之间的复杂交互,如反射、折射和散射。通过这种方式,Arnold渲染功能可以生成近乎真实世界的成像效果。
1.1.1 制作锻模变化纹理
制作与锻模表面属性相映射的纹理贴图,使锻模模型在渲染时表达真实的表面视觉效果。锻模在使用过程中经历磨损、氧化、高温或撞击,会导致变色、划痕等表面纹理变化,针对锻模的表面纹理细节,将锻模从加工到使用寿命末期中产生的各种局部纹理特征进行分类,锻模在生命周期产生的不同局部纹理特征分类如下。
(1)机加工痕迹:扳手锻模为CNC精密铣削加工而成,新模具的表面平整、粗糙度较高,纹理如图1(a)所示。
图1 锻模局部纹理特征
(a)机加工痕迹 (b)烧蚀效果 (c)边缘磨损 (d)表面微裂纹 (e)锈迹和氧化皮
(2)烧蚀效果:新锻模在锻造过程中与空气直接接触,受到高温影响,表面发生氧化,锻模的基础颜色灰度值会产生不均匀的加深,纹理如图1(b)所示。
(3)边缘磨损:在锻造过程中锻件材料的流动速度快,锻模圆角和飞边流出处遭受激烈的摩擦会产生明显划痕,划痕呈现随锻件金属流动方向的规则直线,纹理如图1(c)所示。
(4)表面微裂纹:长时间受加热与冷却循环影响后,旧锻模可能出现细小热裂纹,纹理如图1(d)所示。
(5)锈迹和氧化皮:由于金属暴露在潮湿或氧化环境中,锻模表面会出现锈蚀,锈迹产生在锻模与锻件不常接触的部位并向外扩散,纹理如图1(e)所示。
将以上特征纹理的局部表达在锻模模型上随机整合,便可以生成形态各异的锻模新旧变化纹理。此处制作了30副锻模不同新旧程度的纹理,部分锻模纹理从新到旧的渲染效果如图2所示。
图2 锻模模型的新旧纹理
1.1.2 置换贴图产生锻模裂纹三维结构
锻模模型在Maya软件中的表达形式为多边形网格。使用置换贴图可以对多边形网格的顶点沿法线方向进行位移,置换贴图是一张灰度图像,其中灰度值表示了表面的高度信息,图像的灰度值代表顶点相对于其原始位置的偏移量。较亮区域代表突出的部分,较暗区域代表凹陷的部分。置换贴图可以通过锻模模型上产生裂纹的三维结构来模拟锻模裂纹。
锻模裂纹与大部分脆性金属的裂纹形貌相同,因此从现有的金属裂纹图像中,使用阈值分割的方法提取裂纹图像作为锻模裂纹置换贴图。从其他金属裂纹图像中提取840张裂纹置换贴图,提取的锻模裂纹置换贴图及其在锻模模型上的渲染效果如图3所示。
图3 锻模裂纹置换贴图与渲染效果
1.1.3 批渲染图像
使用天穹光功能可以模拟不同环境下的光照效果,天穹灯光在虚拟环境中创建球形发光环境,通常与高动态范围成像(high dynamic range imaging,HDRI)图像结合使用。HDRI图像是记录场景中光照强度广泛动态范围的图像,为了模拟实际工厂中的光照环境,使用40张来自工厂车间全景的HDRI图像。
采用循环帧的方式进行批量渲染,为进一步增加数据集的多样性,在批量渲染时不断改变相机位置并将裂纹置换贴图、锻模纹理贴图、天穹光HDRI图像随机排列组合,合成多样的锻模裂纹图像,共渲染锻模合成数据集图像2 520张,部分锻模合成图像如图4所示。
图4 锻模裂纹合成图像
1.2 合成数据集图像增强
数据增强通过对现有数据进行各种变换和处理生成新的训练样本,增加数据集的多样性和数量。此处使用仿射变换、模糊、锐化、高斯噪声、灰度值变化等方法进行图像数据增强,将合成数据集数量从2 520张扩展至6 092张,部分增强后的图像数据集如图5所示。图像数据增强使模型在训练过程中接触到更多样化的数据分布,提高其在未知数据上的表现能力,从而提升模型的泛化能力和鲁棒性。
图5 增强后的锻模裂纹图像数据集
2基于改进Faster-RCNN的裂纹检测算法
2.1 Faster-RCNN的优缺点
常用的图像识别深度学习算法分为单阶段和双阶段算法。以YOLO系列和SSD算法为代表,单阶段算法以目标检测速度为优先设计目标,直接通过回归预测类别和边界框,而以RCNN系列为代表的双阶段算法则通过区域提案网络(regional proposal network,RPN)生成候选框,随后对这些候选框进一步分类和边界框回归优化。单阶段算法适用于实时性要求较高的场景,处理速度能达到每秒几十张至上百张图片。双阶段算法更适用于精度要求较高的任务,但是处理速度只有每秒几张图片。由于扳手每锻打道次在1 s左右,选择更高精度的双阶段算法Faster-RCNN进行扳手锻模裂纹的识别可以满足检测速度的需求。
Faster-RCNN模型结构如图6所示,Faster-RCNN使用主干特征提取网络的高层特征进行目标检测,而较深的网络结构虽然加强了模型对语义信息的提取,但是较小尺寸的特征图会忽略部分浅层结构信息。由于锻模裂纹识别属于小目标检测,扳手锻模裂纹在图像上具有的像素信息较少,在下采样过程中极易丢失信息,因此还需对Faster-RCNN模型进行改进。
图6 Faster-RCNN模型结构
2.2 结合FPN的主干特征提取网络
主干特征提取网络是整个Faster-RCNN模型的基础部分,主要用于从输入图像中提取特征,主干特征提取网络的选取决定了模型对图像的特征表达能力。使用ResNet50作为Faster-RCNN模型的主干提取网络。
在主干特征提取网络中加入特征金字塔网络(feature pyramid network,FPN),可以增加模型对小目标的识别能力,FPN通过自下而上、自上向下、横向连接的方式将从ResNet50提取的深层语义信息融合进浅层特征中,使最终得到的不同尺度的特征图都有丰富的语义信息, ResNet50结合FPN的结构如图7所示。
图7 ResNet50结合FPN结构
2.3 使用ROI Align替换ROI Pooling
经过ROI Pooling将不同大小的特征图转化为固定大小特征向量的过程中共经过2次取整,会造成部分信息的丢失,在裂纹这种小目标上信息的丢失极为明显。借鉴Mask RCNN中的ROI Align,通过取消取整操作,直接使用浮点数坐标计算输出的特征值,避免了误差,在Faster-RCNN使用ROI Align来替换ROI Pooling。
2.4 加入通道注意力机制
人类在处理视觉信息时并不会同时关注所有细节,而是选择性地聚焦于某些重要部分。这种选择性注意的能力帮助人类更高效地处理复杂信息。注意力机制的核心受到人类视觉系统的启发,通过衡量输入各部分与当前任务的相关性,用权重对输入进行加权求和后再输出,帮助模型聚焦于输入数据中的重要部分。
Faster-RCNN目标检测的准确率较大程度上取决于RPN网络和分类回归网络对输入特征的检测能力,所以在RPN网络和分类回归网络中加入注意力机制可以提高模型的检测能力。将注意力机制分别加入RPN网络的第一个3×3卷积后和ROI Align输出特征向量传入分类回归网络前,由于这两处网络的输入都是经过裁剪的高维特征,通道数较多、空间维度较小,在其中加入通道注意力机制。改进Faster-RCNN模型整体结构如图8所示。
图8 改进Faster-RCNN模型结构
常用的通道注意力机制有SE(squeeze-and-excitation)注意力机制和ECA(efficient channel attention)注意力机制,后续将对比模型加入这2种注意力机制的性能。
2.5 改进模型性能对比
消融实验广泛应用于机器学习和深度学习领域,通过逐步移除或修改模型中的某些组件来评估这些组件对模型性能的影响,可以帮助理解模型各个部分对整体性能的贡献。
使用消融实验对比Faster-RCNN模型的各种改进是否都对锻模裂纹检测性能起提升作用。使用合成锻模裂纹数据集作为模型性能测试的数据集,将数据集按9︰1划分为训练集和测试集,训练参数设置如下:训练epoch(轮数)设为60;训练批次设为8;使用Adam(adaptive moment estimation)优化器,初始学习率0.000 1;梯度下降动量权重值为0.9;权重衰减值为0;采用step方式进行学习率下降,每5个epoch下降倍率0.1。
分别使用验证集损失最低的训练权重对模型的性能进行评估,使用VOC map性能评价指标,性能评估时设定置信度的门限值为0.8,不同组别的组件设置与模型性能对比如表1所示,从表1可以看出,在加入FPN和ROI Align后,模型性能得到了较大提升,在使用SE注意力机制后,虽然模型在平均精确度(average precision,AP)上有所增加,但是其他指标却略微减小,将SE注意力机制替换为ECA注意力机制后,除召回率不是最高外,其他性能指标均为最高,尤其是查准率在95%以上,可以降低误检率,故最后选用ECA注意力模块的改进Faster-RCNN模型进行扳手锻模裂纹的识别。
表1 消融实验结果
2.6 锻模裂纹样本识别结果
使用消融实验组别5中完成训练的模型进行真实锻模裂纹样本的识别,对现有扳手锻模裂纹缺陷样本的识别结果如图9所示,发现使用渲染的合成数据集进行训练的改进Faster-RCNN模型,可以完成锻模裂纹缺陷识别的任务。
图9 锻模裂纹识别结果