广东工业大学学报  2024, Vol. 41Issue (2): 93-100.  DOI: 10.12052/gdutxb.230027.
0

引用本文 

何森柏, 程良伦, 黄国恒, 伍志超, 叶颂航. SR-Det:面向工业场景下细长和旋转目标的鲁棒检测[J]. 广东工业大学学报, 2024, 41(2): 93-100. DOI: 10.12052/gdutxb.230027.
He Sen-bai, Cheng Liang-lun, Huang Guo-heng, Wu Zhi-chao, Ye Song-hang. SR-Det:Towards Robust Detection of Slender and Rotated Objects in Industrial Scene[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2024, 41(2): 93-100. DOI: 10.12052/gdutxb.230027.

基金项目:

佛山市重点领域科技攻关资助项目 (2020001006832)

作者简介:

何森柏 (1996–),男,硕士研究生,主要研究方向为旋转目标检测,E-mail:3595711069@qq.com

通信作者

黄国恒 (1985–),男,副教授,博士,主要方向为人工智能与模式识别,E-mail:kevinwong@gdut.edu.cn

文章历史

收稿日期:2023-02-21
SR-Det:面向工业场景下细长和旋转目标的鲁棒检测
何森柏, 程良伦, 黄国恒, 伍志超, 叶颂航    
广东工业大学 计算机学院, 广东 广州 510006
摘要: 目标检测广泛应用于工业领域,譬如缺陷检测。然而,在检测过程中依然存在任意旋转和大宽高比问题。一是水平锚框方法难以准确地定位物体;二是卷积神经网络 (Convolutional Neural Networks,CNNs) 在提取特征时表现不佳;三是普通的损失函数对细长的目标不敏感。针对上述问题,本文研究了SR-Det (Slender and Rotated Detecto) 模型,包含以下3个部分。首先是旋转区域校准 (Rotated Region Calibration,RRC) 模块。该算法以不同大小和宽高比的水平提议作为输入,以相应的旋转提议作为输出。然后是旋转角度提议对齐模块 (Rotated Angle Proposal Align,RAP-Align) 来保证特征信息的质量。最后是基于交并比 (Intersection Over Union,IoU) 策略的R-IoU函数 (Rotated Intersection Over Union) 以指导模型最大化预测框和GT (Ground Truth) 框之间的重叠面积。实验证明,本文提出的方法在金属罐数据集和幕墙数据集上取得了最优的效果,证明了该方法的有效性。
关键词: 目标检测    损失函数    旋转不变性    
SR-Det:Towards Robust Detection of Slender and Rotated Objects in Industrial Scene
He Sen-bai, Cheng Liang-lun, Huang Guo-heng, Wu Zhi-chao, Ye Song-hang    
School of Computer Science and Technology, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Though object detection has been widely used in the industrial scene, it still faces the detection problems of crack defects with slender and rotated characteristics. On the one hand, traditional horizontal anchor methods are usually hard to precisely locate the object. On the other hand, CNNs (Convolutional Neural Networks) perform poorly in terms of feature extraction from rotated objects. In addition, normal loss functions are insensitive to slender objects. To address these, this paper proposes a Slender and Rotated Detector (SR-Det) for robust slender and rotated object detection. Specifically, the Rotated Region Calibration (RRC) is designed, which takes horizontal proposals with different scales and aspect ratios as inputs and outputs the corresponding rotation proposals. Then, the Rotated Angle Proposal Align (RAP-Align) is presented to guarantee the quality of extracted feature information. Finally, the Rotated intersection over union(R-IoU) based on Intersection Over Union (IoU) strategy is proposed for guiding the model to maximize the area between predicted box and Ground Truth box. The experiments on metal cans and curtain walls datasets have shown that the method proposed achieves state-of-the-art performance, demonstrating the effectiveness of the proposed algorithm.
Key words: object detection    loss function    rotation invariance    

作为计算机视觉的重要组成部分,目标检测在人工智能和信息技术的许多领域有着广泛的应用,并且在过去的几年里取得了巨大的进步。具体来说,当前流行的方法主要假设待检测的物体位于水平方向,比如基于区域检测的多阶段R-CNN[1]网络。之后相继提出的Fast R-CNN[2]、Faster R-CNN[3]和R-FCN[4],无论在准确性还是效率方面都比前作有了较大的提升。另外一方面,最近还有一系列的检测器直接回归边界框,例如单发目标检测器(Single Shot multibox Detector, SSD)[5]和You Only Look Once(YOLO)[6],这极大地提高了速度。然而,这些框架并没有特别关注到下面的现象:细长的目标和任意旋转的目标。当相机镜头放置不当时,图像中的目标不可避免地呈现出细长的形状,例如金属包装盒表面上的微小裂缝;而且与从水平角度获取的自然图像不同,工业场景的目标大多处于任意旋转的状态,例如幕墙上的裂缝。举个例子,如图1所示,一个水平边界框中只框住了缺陷的一部分。因此,将上述的方法直接应用于工业任务时,由于任意方向和大宽高比的制约,目标检测性能会急剧下降。

图 1 水平提议算法在2个数据集中的效果 Figure 1 Horizontal proposal results on two datasets

为了应对这些挑战,旋转不变性目标检测器在许多领域开始兴起,如场景文本、自然图像和遥感图像。通过衡量单个网络向前转发的过程,文献[7]提出了TextBoxes++以高效地检测任意方向的场景文本。而EAST[8]主要是针对自然图像的检测。通过消除不必要的中间步骤(例如,候选聚合和单词划分),这个方法能够直接预测整个图像中任意方向和四边形形状的单词或文本行。在遥感领域,CAD-Net[9]的出现在一定程度上解决了低对比度、任意旋转和大宽高比等问题。通过分别捕获全局场景和局部相邻对象或特征的相关性来学习对象的全局和局部上下文,使得该模型成为当时效果最好的遥感检测器。接着,文献[10]提出了ReDet。该模型首次将旋转等变网络和检测器结合在一起,以强化旋转等变特征,从而能够准确地预测方向,并使得模型的尺寸大幅缩减。然而,应用上述模型来检测工业图像往往效果不好,主要的原因如下:(1) 工业环境下捕获的图像语义线索较弱,当纹理和颜色随机混合时,检测难度进一步加强,例如黑色纹理上的黑色缺陷。(2) 图像中的目标在卫生环境不佳的工厂中受到污染,从而产生大量噪声,给检测带来不可控的外界干扰。

综上所述,本文提出了SR-Det以更加鲁棒地检测工业场景下的目标。它包含以下几个部分:(1) 采用旋转区域校准方法将水平提议变换成旋转提议;(2) 基于第一步得到的旋转提议,旋转角度提议对齐模块被提出以保证深层特征的旋转和尺度不变性;(3) 最后一步是应用R-IoU损失函数来促进目标分类和边界框回归过程。在实验部分,该方法在两个工业数据集上同时取得了最好的结果。本文的贡献包括:

(1) 提出了旋转区域校准模块。该模块可以直接回归水平提议以获得具有不同大小和规模的旋转提议。这不仅可以缓解预测边界框和真实GT框之间的错位情况,而且还可以大幅度地降低候选区域的数量以提高检测的精度。

(2) 设计了受监督的RAP-Align。该方法在GT框的监督下学习偏移量,从而提取得到鲁棒性的旋转不变特征。这提高了对象定位和分类性能,同时还能提高效率,减少复杂性的操作。

(3) 构建了基于IoU 策略的R-IoU损失函数。它的主要思想是每个像素点和边界框之间的位置关系由像素之间的距离表示。接着利用IoU定义式计算大高宽比边界框的重叠率,从而有效地检测细长物体。

上述3个部分构成了SR-Det框架。实验结果表明,提出的方法在两个数据集上均取得了较好的结果。

1 相关工作 1.1 旋转目标检测

随着深度神经网络的进一步发展,目标检测的性能得到了更大的提升。目前主流的目标检测技术[1-6,11-12]是基于水平边界框(Horizonal Bounding Boxes,HBBs) 的,它们无法提供足够的角度线索信息,这造成了区域特征与实例之间的对不齐问题。于是,近些年提出的基于旋转边界框(Oriented Bounding Boxes,OBBs) 的方法[7-10]越来越受到关注,特别是在旋转目标的定位和分类方面,显示出了良好的发展前景。然而,这些方法为显示最佳性能,而不得不引入大量的旋转锚点框以避免边界框之间的错位,这不可避免地增加了时间复杂性和空间复杂性。具体来说,文献[13]提出了SRBBS模块用于生成旋转感兴趣区域(Rotated Region of Interest,RRoIs) ,但它需要花费很长的时间,且很难嵌入其他的检测器。与此同时,一些方法[14-16]在文献[3]的区域生成网络(Region Proposal Network,RPN) 中使用了旋转锚技术,但采样用于训练的正样本不能保证回归之后检测的准确性。因此,文献[15,17-18]都使用了更加灵活的匹配方法和标签分配过程以确保锚的定位能力。但是,由于锚数量的急剧增加,网络中需要处理的参数量随之增大,设计仍然很耗时。除此之外,大量自定义的锚不仅增加了冗余度,而且还使得预测框和GT框之间的匹配更加困难。

为了解决上述问题,本文设计了RRC模块。其好处有两个,一是在检测精度提高的前提下,参数量增加得不多;二是没有了预定义的冗余锚,预测框和GT框之间匹配的难度大大降低,从而有效地解决了对不齐问题。

1.2 旋转不变特征提取

当前流行的特征提取方法主要是基于差值思想和可变形卷积思想。展开来说,文献[2]提出了感兴趣区域池化 (Region of Interest Pooling,RoI Pooling) 。该方法采用最邻近差值算法,对于缩放后坐标不为整数的情况,直接舍去小数部分,即选取离目标点最近的点。虽然这会极大地提高处理速度,但是会损失空间精度。针对RoI Pooling中存在的取整误差,文献[11]提出了感兴趣区域对齐(Region of Interested Align,RoI Align) ,它的主要思路是,使坐标可以是小数,并通过双线性差值取得各个像素值,在一定程度上减小了取整带来的误差。但是,随着卷积层和池化层堆积的越来越多,双线性差值的方法对于获取深层次,高语义的特征图的效率逐渐降低。所以,为了更好地处理这些问题,文献[19]提出了空间变换网络 (Spatial Transform Network,STN) 。这一网络具有旋转变换和缩放变换的功能,它可以将图片中的空间区域信息做对应的空间变换,这样图片深层次的重要信息能够通过变换被边界框提取出来。文献[20]提出了可变形RoI Pooling。它是通过对采样网格进行偏移学习来实现的,而且此方法从目标任务中学习,无需额外监督,所以它可以更好地在实例级别对深层特征建模。但是,这两种方法在覆盖整个底层网络的同时,也会引入一些无关的背景,这就给特征提取造成了干扰。虽然可以使用更多的卷积层来缓解,但也加剧了计算难度。

工业图像中大量存在旋转和尺度的变化,几乎不存在非刚性变形。所以,本文提出的RAP-Align只对刚性的空间变换建模。然而,跟可变形感兴趣区域池化不同的是,本文的方法在GT框的监督下学习偏移量,这有利于提升对象定位和分类性能。

1.3 目标检测的损失函数

对于边界框回归,常用的损失函数是均方误差(Mean Square Error,MSE) [21]、平均绝对误差(Mean Absolute Error,MAE) [22]以及分位数损失(Quantile Loss,QL) [23]等。有了上面的理论作为基础,近年来出现了许多优秀的损失函数。文献[2]提出的方法主要输出位置和大小的4个值来匹配目标的真实情况。还有一部分检测器[2,5-6,23]习惯使用ln-范数损失(如平滑L1损失) 或基于IoU的损失(如GIoU[24]和DIoU[25]) 。但由于这些函数不涉及额外的角度维度,所以在处理比较复杂的场景时不能直接使用。扩展上述水平情况,现有的旋转检测模型也使用回归损失,它只涉及一个额外的角度参数θ。为了准确预测旋转边界框,一些旋转检测方法[18,26-27]扩展了水平边界框中使用的ln-范数损失,或构造可微分的近似IoU损失,这实际上是对水平情况的一种简单的维度推广,对旋转不变性问题效果并不好。于是文献[28]提出了基于轴线对齐和多边形相交计算的IoU函数以处理旋转和高宽高比的目标。但这种方法设计得比较复杂,实现起来很困难。

针对上述问题,本文提出了R-IoU损失函数。它更加简单,尤其适用于旋转边界框。值得注意的是,与文献[28]的方法相比,R-IoU损失函数更加容易实现,且对OBBs重叠的面积更为敏感。

2 实验方法

这一部分将详细介绍本文提出SR-Det模型的具体实现。SR-Det模型通过对关键敏感的感兴趣区域进行分析,同时对该区域中的旋转不变特征进行细致化提取操作,进一步对齐所提取到的目标特征,从而实现工业场景下目标的鲁棒性检测。它包含3个部分。其中旋转区域校准模块本质是一个全连接层。在卷积神经网络中,全连接层可以反向传播,也可以进行端到端的训练。旋转角度提议对齐模块则是一个区域变形层。该层允许梯度回传,能够将端到端的学习和特征表达结合在一起。最后一步是应用R-IoU损失函数来促进目标分类和边界框回归以得到分类置信度和边界框数值。SR-Det整体框架如图2所示。

图 2 SR-Det总体框架图 Figure 2 Overall framework of the SR-Det

具体来说,先将原始图像输入基础卷积层。然后,将特征图输入旋转区域校准模块。在其内部,每一个特征图都会经过旋转位置敏感感兴趣区域对齐(Rotated Position Sensitive Region of Interested Align,RPS-RoI Align) 处理以统一尺度和大小。接下来将它作为维数为8的全连接层的输入。全连接层主要回归地面真相相对于水平区域的偏移量,这个偏移量会与特征图一起输入解码器,最终得到旋转状态的提议,即中心点坐标、高宽、宽度以及角度,具体操作如图3所示。接着,将其与原始特征图输入到区域变形层,用于几何鲁棒特征提取。最后是分类和回归操作。

图 3 RRC的基本操作原理 Figure 3 The basic operating principle of RRC
2.1 旋转区域校准模块

本文假设获得了n个水平的用$ \left\{P_{i}\right\} $表示的区域提议,它只能通过卷积层预测边界框的中心坐标、高度和宽度,所以其格式通常设置为$ \left( {x,y,w,h} \right) $。从数学理论出发,全连接层作用可用式(1)表达。

$ {\boldsymbol{O}}=f({\boldsymbol{\chi}}, {\boldsymbol{F}}) $ (1)

式中:$ {\boldsymbol{O}} $为输出值,它的本质为一个五元向量,格式用${\rm{(}} {{{\boldsymbol{x}}^*},{{\boldsymbol{y}}^*},{{\boldsymbol{w}}^*},{{\boldsymbol{h}}^*},{{\boldsymbol{\theta}} ^*}} {\rm{)}}$表示;$ f $为维度为8的全连接层;$ {\boldsymbol{\chi }}$为各个网络层的权重参数;$ {\boldsymbol{F}} $为包含有水平提议的特征图。优化过程中采用的函数为文献[29]中的类Smooth L1 loss,以避免旋转边界框不连续问题。

同样地,本文也设计了用于回归的目标函数,具体为

$ {\boldsymbol{O}}_{x}^{*}=\left(\left(\hat{\boldsymbol{x}}-{\boldsymbol{x}}^{*}\right) \cos {\boldsymbol{\theta}}^{*}+\left(\hat{{\boldsymbol{y}}}-{\boldsymbol{y}}^{*}\right) \sin {\boldsymbol{\theta}}^{*}\right) / {\boldsymbol{w}}^{*} $ (2)
$ {\boldsymbol{O}}_{{\boldsymbol{y}}}^{*}=\left(\left(\hat{{\boldsymbol{y}}}-{\boldsymbol{y}}^{*}\right) \cos {\boldsymbol{\theta}}^{*}+\left(\hat{{\boldsymbol{x}}}-{\boldsymbol{x}}^{*}\right) \sin {\boldsymbol{\theta}}^{*}\right) / {\boldsymbol{x}}^{*} $ (3)
$ {\boldsymbol{O}}_w^*=\log \frac{\hat{{\boldsymbol{w}}}}{{\boldsymbol{w}}^*} $ (4)
$ {\boldsymbol{O}}_{h}^{*}=\log \frac{\hat{{\boldsymbol{h}}}}{{\boldsymbol{h}}^{*}} $ (5)
$ {\boldsymbol{O}}_{\theta}^{*}=\left(\left(\hat{{\boldsymbol\theta}}-{\boldsymbol\theta}^{*}\right) \text{mod} 2 {\text{π}}\right) / 2 {\text{π}}$ (6)

式中:用向量${\rm{(}} {{{\boldsymbol{x}}^*},{{\boldsymbol{y}}^*},{{\boldsymbol{w}}^*},{{\boldsymbol{h}}^*},{{\boldsymbol{\theta}} ^*}} {\rm{)}}$来表示旋转提议的位置、高宽度以及方向,而 $\left( {\hat {\boldsymbol{x}},\hat {\boldsymbol{y}},\hat {\boldsymbol{w}},\hat {\boldsymbol{h}},\hat {\boldsymbol{\theta}} } \right)$则表示GT框对应的各项参数。向量${\rm{(}} {{\boldsymbol{O}}_{{x}}^*,{\boldsymbol{O}}_{{y}}^*,{\boldsymbol{O}}_{{w}}^*,{\boldsymbol{O}}_{{h}}^*,{\boldsymbol{O}}_{\boldsymbol{\theta}} ^*} {\rm{)}}$为目标偏移向量。为了计算方便,角度目标值$ {\boldsymbol{O}}_{\boldsymbol{\theta}}^{*} $通过模块化运算调整到0到2π间。

2.2 旋转角度提议对齐

给定维度为$ W \times H \times C $的原始特征图$ F $和一个旋转提议$\left( {{{\boldsymbol{x}}^*},{{\boldsymbol{y}}^*},{{\boldsymbol{w}}^*},{{\boldsymbol{h}}^*},{{\boldsymbol{\theta}} ^*}} \right)$。首先将旋转提议分成$ B \times B $(比如$ 3 \times 3 $) 个小的区域,然后输出一个维度为$ B \times B \times C $的特征图$ \stackrel{\wedge}{F} $。这样可以精准地锁定感兴趣的范围。对于输出特征图的第$ c(c \in[0, C) ) $个通道中索引为$ (i, j) ((i, j) \in[0, B) ) $的一个小区域:

$ \hat{F}_{c}(i, j) =\sum_{(s, t) \in R(i, j) } \frac{\delta \varDelta}{n} $ (7)

式中:$ R(i, j) $为坐标集合$\left\{ i \right.\left( {w_{}^ * /B} \right) + \left( {x + 0.5} \right) \left( {w_{}^ * /Bm} \right) , x = 0,1,\cdots,\left. {m - 1} \right\} \times$$\left\{ {j\left( {h_{}^*/B} \right) } \right. + \left( {y + 0.5} \right) \left( {h_{}^*/Bm} \right) ,y = 0, 1,\cdots, \left. {m - 1} \right\}$$ (s, t) $$ R(i, j) $的一个坐标点,它由双线性插值计算得到;$ \delta $为原始特征图中不属于$ \hat{F} $的特征图,它的作用是将边缘像素重新纳入特征区域,进一步强化视觉语义特征;$ \varDelta $为坐标点$ (s, t) $变换形状后的点,这么做的目的是使目标处于同一个方向,其计算如式 (8) 所示;$ {n} $代表小区域中采样次数。对输出特征图$ \hat{F} $中的每一个小区域都执行式(7) 的操作,最终得到的结果是水平形状的特征图,它包含旋转不变特征信息。

$ \varDelta=\Bigg(\begin{array}{cc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\Bigg) \Bigg(\begin{array}{c} x-w^{*} / 2 \\ y-h^{*} / 2 \end{array}\Bigg) +\Bigg(\begin{array}{l} x^{*} \\ y^{*} \end{array}\Bigg) $ (8)
2.3 R-IoU损失函数

引入一个刚好外接$ b_{1} $$ b_{2} $的水平边界框$ b_{3} $,对于$ b_{3} $中任意一个像素,通过一定的规则来判断这个像素是否在边界框$ b_{1} $$ b_{2} $内,这样边界框重叠的面积就能用像素的数量来确定。

$ P\left(x_{3}, y_{3}\right) $表示$ b_{3} $中的像素,$ C_{1}\left(x_{1}, y_{1}\right) $$ C_{2}\left(x_{2}, y_{2}\right) $分别表示$ b_{1} $$ b_{2} $的中心位置坐标。以边界框$ b_{1} $为例($ b_{2} $方法一样),其高、宽分别为$ H $$ W $。过$ P\left(x_{3}, y_{3}\right) $$ H $$ W $的水平线交于一点$ T(x, y) $,再连接$ C_{1}\left(x_{1}, y_{1}\right) $$ P\left(x_{3}, y_{3}\right) $,如图4所示。三角形的三边长度可通过式(9)~(12)计算得到。

图 4 损失函数的基本思路 Figure 4 Basic idea of the loss function
$ D_{1}=\sqrt{\left(x_{1}-x_{3}\right) ^{2}+\left(y_{1}-y_{3}\right) ^{2}} $ (9)
$ D_{2}=\left|D_{1} \sin \alpha\right| $ (10)
$ D_{3}=\left|D_{1} \cos \alpha\right| $ (11)
$ \alpha= \left\{\begin{array}{l} \displaystyle \frac{{\text{π}}}{2}-\theta^{*}+\arccos\displaystyle \frac{x_{1}-x_{3}}{D_{1}}, y_{1} \geqslant y_{3} \\ \displaystyle \frac{{\text{π}}}{2}-\theta^{*}-\arccos\displaystyle \frac{x_{1}-x_{3}}{D_{1}}, y_{1} < y_{3} \end{array}\right. $ (12)

为方便起见,用一个二值变量$ \eta $来衡量像素$ P\left(x_{3}, y_{3}\right) $和边界框$ b_{1} $的位置关系。如果$D_{2} < \displaystyle \frac{H}{2}$$D_{3} < \displaystyle \frac{W}{2}$$ P\left(x_{3} ,y_{3}\right) $在边界框内,此时$ \eta=1 $,反之不在边界框内,$ \eta=0 $。考虑到连续性和可微性,本文引入一个核函数近似代替$ \eta $,具体为

$ K(s, t) =1-\left(1+{\rm{e}}^{-k(s-t) }\right) ^{-1} $ (13)
$ \eta \approx K\left(D_{2}, \frac{H}{2}\right) K\left(D_{3}, \frac{W}{2}\right) $ (14)

式中:$ k $为像素$ P\left(x_{3}, y_{3}\right) $的参数。更重要的是,由于式(13)是一个连续的可微函数,所以反向传播 (Back Propagation,BP) 算法可以用于训练。

综上,$ b_{1} $$ b_{2} $之间的交集区域$S_{{b}_{1}\cap {b}_{2}}$和并集区域$S_{{b}_{1} \cup {b}_{2}}$就可以估算出来:

$ S_{{b}_{1}\cap {b}_{2}} \approx \sum_{P\left(x_{3}, y_{3}\right) \in b_{3}} \eta \eta^{*} $ (15)
$ S_{{b}_{1} \cup {b}_{2}} \approx \sum_{P\left(x_{3}, y_{3}\right) \in b_{3}} \eta+\eta^{*}-\eta \eta^{*} $ (16)

式中:$ \eta^{*} $用来衡量像素$ P\left(x_{3}, y_{3}\right) $和边界框$ b_{2} $的位置关系,$ \eta^{*}=1 $$ P\left(x_{3}, y_{3}\right) $$ b_{2} $内,反之不在。R-IoU的计算公式为

$ \text { R-IoU }\left(b_{1}, b_{2}\right) =\frac{S_{{b}_{1} \cap b_{2}}}{S_{{b}_{1} \cup {b}_{2}}} $ (17)

值得注意是,如果预测框$ b_{1} $是正向锚,且$ b_{2} $是匹配的GT框 (匹配的IoU阈值为>0.5) ,那么$ \left(b_{1}, b_{2}\right) $就被划分为正样本。最后,为了最小化边界框之间的误差,R-IoU损失函数计算公式为

$ L_{\mathrm{R}-\mathrm{IoU}}=\frac{1}{M}\displaystyle\sum\limits_{(b_1,b_2) \in M}^{} {} \ln \left(\operatorname{R}-\operatorname{IoU}\left(b_{1}, b_{2}\right) \right) $ (18)

式中:$ M $为正样本集。

3 实验结果与讨论

在本节中,首先介绍金属罐缺陷数据集和幕墙缺陷数据集。然后,进行消融实验和对比实验来评估模型的性能。实验过程中用到的机器是:CPU (i7-12700H) 以及GPU(Geforce RTX 2080TI) ;操作系统采用的是Ubuntu18.04;软件环境采用的是python3.7和PyTorch。

3.1 数据集描述 3.1.1 金属罐缺陷数据集

金属罐缺陷数据集中的图像来源于真实拍摄,制作的细节参考文献[30]。如图5可见,数据集中每张图片中金属罐形状、颜色及摆放位置均不同,而且缺陷的位置和大小也是不确定的。可以发现,这些图像包含复杂的背景信息,其中的缺陷并不总是清晰的。在本文中专注的数据集标签类别有两种,分别为“scratch”和“deformation”;数据集中包含5355幅图像,共两部分:训练集(4284幅) 和测试集(1071幅) 。

图 5 金属罐缺陷示例 Figure 5 Examples of metal can defects
3.1.2 幕墙缺陷数据集

幕墙缺陷数据集同样来自于拍摄的真实图像。通过无人机上的高清摄像头能够近距离地拍摄到上万张像素规格为5184×3888的幕墙图像。经过筛选,本文去掉了部分失真和模糊的图像,最终获取其中的10460幅,包括训练集(8368幅) 和测试集(2092幅) 。如图6可见,图片中的瓷砖大多为三角形,裂缝更多地出现在三角形顶点附近;而且幕墙表面瓷砖最常见的缺陷是裂缝。在本数据集中重点专注的数据集标签类别有两种,分别为“crack”和“desquamation”。

图 6 幕墙缺陷示例 Figure 6 Examples of curtain wall defects
3.2 评价指标

这里引入均值平均精度(Mean Average Precision, mAP) 和参数量来验证网络模型的精度和速度。其中,mAP计算过程如式 (19) 所示。在训练过程中,本文采用随机梯度下降算法。对于每个有缺陷的测试图像,最终返回预测边界框来评估缺陷检测的效果。

$ \mathrm{mAP}=\frac{1}{J}\displaystyle\sum\limits_{j = 0}^{J - 1} \mathrm{AP}_{f} $ (19)

式中:$ J $为类别数。$ \text { AP } $(平均精准度)用于衡量训练模型对某一类别的检测能力,其值计算方式为

$ \mathrm{AP}=\sum_{f=1}\left(r_{f+1}-r_{f}\right) I\left(r_{f+1}\right) $ (20)

式中:$ I $为插值运算,计算公式为

$ I(r) =\max _{r^{*} \geqslant{r}} P\left(r^{*}\right) $ (21)

特别地,变量$ r $是召回率的值,$ P $表示模型精度:

$ r = \frac{{{\text{TP}}}}{{{\text{TP + FN}}}} $ (22)
$ P=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FP}} $ (23)

式中:$ \text { TP } $$ \mathrm{FN} $以及$ \mathrm{FP} $分别为真阳性样本、假阴性样本和假阳性样本。

3.3 消融实验

为了验证每个模块的有效性,本文构建了多种网络结构,实验结果如表1所示,其中RoI Trans数据和参数设置都是一致的。

表 1 不同组合方法的实验结果 Table 1 Results of different combination methods

(1) RRC的影响。该模块直接回归水平proposals以获得相应的旋转proposals。传统的水平锚框方法难以准确地锁定旋转且细长的物体,造成预测框和真实目标之间错位,检测准确率随之降低;同时,一些方法会预先定义很多锚框,大量的冗余框使得预测框和GT框之间匹配的难度增加。通过表1可以看出,添加此模块之后,对于旋转细长对象的检测精度获得了一定的增强,$ \text { mAP } $从0.603增加到了0.653,提高了8.3%。

(2) RAP-Align的影响。该模块采用了更加精准的区域划分方法和特征提取方法,以促进对象定位和分类过程。工业图像中大量存在旋转和尺度的变化,现有的特征提取方法大多加深网络结构,但深层次、高语义的特征信息越来越弱,同时会引入一些无关的背景,这就给特征提取造成了干扰。通过表1可以看出,引入RAP-Align之后,$ \text { mAP } $的值从0.603提高到了0.649,增长了7.6%。

(3) R-IoU的影响。该模块基于IoU策略,灵活地把不规则的多边形面积的计算转化为区域中像素的数量的计算。单个像素对位置更加敏感,像素数量的计算可以更好地代表细长的旋转目标的重叠面积,且实现更容易。从表1可知,跟基准的方法相比,RoI Trans +R-IoU网络结构的性能提高了6.3%。

把上述的3个模块结合到一起,可以发现检测性能达到了最大的$ \text { mAP } $ (0.671) 。总而言之,上述实验结果不仅证明了本文提出的单个模块的有效性,而且把单个模块组合起来时性能提高更加明显。

3.4 对比实验

为了验证所提出方法的精度和速度,这里引入了几个通用的目标检测模型(RoI Trans,S2ANet和R3Det) 作对比实验。考虑到公平性和全面性,引入的3个框架同时采用两个数据集进行实验,结果见表2表3

表 2 使用不同数据集的对比实验结果 Table 2 Comparative experimental results on different datasets
表 3 各模型参数量对比实验结果 Table 3 Comparison of parameter quantities of different models

为了更加直观地显示实验结果,这里列举了不同方法的实验效果图,细节如图7所示。从结果可以看出,一些图像的样式是复杂的,里面的图案包括卡通人物、文本和三角形地板。举例来说,卡通人物的纹理和它旁边的抓痕缺陷很相似。上述方法错误检测的原因是它们在proposal的筛选阶段只关注缺陷的多尺度特征,而缺乏捕捉明显的环境特征的能力。

图 7 不同方法的可视化结果 Figure 7 Visualize results of different methods

从实验图可以看出,本文的方法表现出了最佳的效果。以金属罐数据集为例,Faster R-CNN错误地把文本行识别成缺陷,旋转检测框架也存在误检这个问题,比如R3Det。此外,还存在将背景检测成缺陷的情况。然而,本文的方法可以有效地检测出抓痕缺陷等,并且不会将其他的图案样式识别为缺陷。

4 结论

本文提出了一种面向工业目标检测的框架SR-Det。它包含3部分。首先构建了一个旋转区域校准模块RRC用于从水平提议学习得到旋转提议;在获取旋转提议后,为了更加精细地划分区域和提取旋转不变性特征,接着构建了RAP-Align模块。在实验中发现,加入这一部分后,一些很容易混淆的对象不会被错误地识别为缺陷目标;除此之外,提出了一种基于IoU策略的损失函数R-Iou以增强对细长目标的识别。实验结果展示了所提出的方法可以检测出旋转类的细长目标;最后,形成了一个全新的数据集(幕墙缺陷数据集) ,并且在其上面取得了最好的检测成绩。在消融实验中,验证了各个模块的作用。同时,在2个数据集上做了对比实验,结果表明本方法比其他的检测器性能更好。在未来的研究中,本文提出的框架中的各个模块可以与其他场景的检测方法相结合,以建立各个场景通用的目标检测器。

参考文献
[1]
GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C] //2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 580-587.
[2]
GIRSHICK R. Fast R-CNN[C] //2015 International Conference on Computer Vision. Santiago: IEEE, 2015: 1440-1448.
[3]
REN S, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. Journal of IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI: 10.1109/TPAMI.2016.2577031.
[4]
DAI J F, LI Y, He K M, et al. R-FCN: object detection via region-based fully convolutional networks[J]. Journal of Neural Information Processing Systems, 2016, 29(6): 379-387.
[5]
LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]// 2016 European Conference on Computer Vision. Amsterdam: Springer, 2016: 21-37.
[6]
REDMON J, DIVVALA S. You only look once: unified, real-time object detection[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 779-788.
[7]
LIAO M, SHI B, BAI X. Textboxes++: a single-shot oriented scene text detector[J]. Journal of IEEE Transactions on Image Processing, 2018, 27(8): 3676-3690. DOI: 10.1109/TIP.2018.2825107.
[8]
ZHOU X Y, YAO C, WEN H, et al. East: an efficient and accurate scene text detector[C]// 2017 IEEE Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 5551-5560.
[9]
ZHANG G J, LU S, ZHANG W. CAD-Net: a context-aware detection network for objects in remote sensing imagery[J]. Journal of IEEE Transactions on Geoscience and Remote Sensing, 2019, 57(12): 10015-10024. DOI: 10.1109/TGRS.2019.2930982.
[10]
HAN J M, DING J, XUE N. ReDet: a rotation-equivariant detector for aerial object detection[C]// 2021 IEEE Conference on Computer Vision and Pattern Recognition. Kuala Lumpur: IEEE, 2021: 2786-2795.
[11]
He K M, GKIOXARI G, DOLLAR P, et al. Mask R-CNN[C]// 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 2961-2969.
[12]
HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. Journal of IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. DOI: 10.1109/TPAMI.2015.2389824.
[13]
LIU Z K, WANG H Z, WENG L B, et al. Ship rotated bounding box space for ship extraction from high-resolution optical satellite images with complex backgrounds[J]. Journal of IEEE Geoscience and Remote Sensing Letters, 2016, 13(8): 1074-1078. DOI: 10.1109/LGRS.2016.2565705.
[14]
ZHANG Z H, GUO W W, ZHU S N, et al. Toward arbitrary-oriented ship detection with rotated region proposal and discrimination networks[J]. Journal of IEEE Geoscience and Remote Sensing Letters, 2018, 15(11): 1745-1749. DOI: 10.1109/LGRS.2018.2856921.
[15]
MA J Q, SHAO W Y, YE H, et al. Arbitrary-oriented scene text detection via rotation proposals[J]. Journal of IEEE Transactions on Multimedia, 2018, 20(11): 3111-3122. DOI: 10.1109/TMM.2018.2818020.
[16]
AZIMI S M, VIG E, BAHMANYAR R, et al. Towards multi-class object detection in unconstrained remote sensing imagery[C]// 2018 Asian Conference on Computer Vision. Perth: Springer, 2019: 150-165.
[17]
LIU L, PAN Z X, LEI B. Learning a rotation invariant detector with rotatable bounding box[EB/OL]. arXiv: 1711.09405(2015-05-16) [2017-10-26].https://doi.org/10.48500/arXiv.1711.09405.
[18]
MING Q, ZHOY Z Q, MIAO L J. Dynamic anchor learning for arbitrary-oriented object detection[C]// 2021 AAAI Conference on Artificial Intelligence. Virtual: AAAI, 2021: 2355-2363.
[19]
JADERBERG M, SIMONVAN K, ZISSERRMAN A. Spatial transformer networks[J]. Journal of Advances in Neural Information Processing Systems, 2015, 28(7): 2017-2025.
[20]
DAI J F, QI H Z, XIONG Y W, et al. Deformable convolutional networks[C]// 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 764-773.
[21]
MOOD A M, GRAYBILL F A, BOES D C. Introduction to the theory of statistics[J]. Journal of the American Statistical Association, 1974, 69(348): 25.
[22]
WILLMOTT C J, MATSUURA K. Advantages of the mean absolute error over the root mean square error in assessing average model performance[J]. Journal of Climate Research, 2005, 30(1): 79-82.
[23]
CANNON A. Quantile regression neural networks: implementation in R and application to precipitation downscaling[J]. Journal of Computers and Geosciences, 2011, 37(9): 1277-1284. DOI: 10.1016/j.cageo.2010.07.005.
[24]
REZATOFIGH H, TSOI N, GWSK J Y, et al. Generalized intersection over union: a metric and a loss for bounding box regression[C]// 2019 IEEE Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 658-666.
[25]
ZHENG Z H, WANG P, LIU W, et al. Distance-IoU loss: faster and better learning for bounding box regression[C]// 2020 AAAI Conference on Artificial Intelligence. New York: AAAI, 2020: 12993-13000.
[26]
MAJID S M, VIG E, BAHMANYAR R, et al. Towards multi-class object detection in unconstrained remote sensing imagery[C]// 2018 Asian Conference on Computer Vision. Perth: Springer, 2019: 150-165.
[27]
DING J, XUE N, LONG Y, et al. Learning RoI transformer for oriented object detection in aerial images [C]// 2019 IEEE Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 2849-2858.
[28]
ZHOU D F, FANG J, SONG X, et al. IoU loss for 2D/3D object detection[C]// 2019 International Conference on 3D Vision (3DV) . Quebec: IEEE, 2019: 85-94.
[29]
YANG X, YANG J R, YAN J C, et al. Scrdet: towards more robust detection for small, cluttered and rotated objects[C]// 2019 IEEE International Conference on Computer Vision. Long Beach: IEEE 2019: 8232-8241.
[30]
HU W H, WANG T, WANG Y S, et al. LE–MSFE–DDNet: a defect detection network based on low-light enhancement and multi-scale feature extraction[J]. Journal of the Visual Computer, 2022, 38(11): 3731-3745. DOI: 10.1007/s00371-021-02210-6.