第16卷第6期 智能系统学报 Vol.16 No.6 2021年11月 CAAI Transactions on Intelligent Systems Now.2021 D0:10.11992/tis.202011003 网络出版地址:https:/kns.cnki.net/kcms/detail/23.1538.TP.20210330.1755.006.html 改进Faster R-CNN的汽车仪表指针实时检测 伍锡如,邱涛涛 (桂林电子科技大学电子工程与自动化学院,广西桂林541004) 摘要:针对产业化的汽车仪表指针人工视觉检测效果差、检测速度慢和实时性低等问题,本文提出了一种改 进的Faster R-CNN汽车仪表指针实时检测算法。通过改进原始的RolI网络层结构,实现小目标高低层特征之 间的完整传递:采用双线性内插算法替代两次量化操作,使得特征聚集变成连续的过程,能够有效减少计算时 间:最后将工业机采集的视频数据,预处理成VOC格式数据集进行训练,调整超参数得到改进汽车仪表指针检 测模型。实验结果表明:所提出的方法能够快速、准确地实现汽车仪表指针检测,单张图片的平均检测时间为 0.197s,平均检测精度可达92.7%。在不同类别仪表指针的迁移实验中,展示了良好的泛化性能。 关键词:卷积神经网络;汽车仪表指针;实时检测:双线性内插;深度学习;模式识别:特征提取;特征聚集 中图分类号:TP183:TP391.41文献标志码:A文章编号:1673-47852021)06-1056-08 中文引用格式:伍锡如,邱涛涛.改进Faster R-CNN的汽车仪表指针实时检测JL.智能系统学报,2021,16(6):1056-1063. 英文引用格式:WU Xiru,,QIU Taotao.Improved Faster R-CNN vehicle instrument pointer real--time detection algorithm.CAAl transactions on intelligent systems,2021,16(6):1056-1063. Improved Faster R-CNN vehicle instrument pointer real-time detection algorithm WU Xiru,QIU Taotao (College of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin 541004,China) Abstract:This paper proposes an improved Faster R-CNN vehicle instrument pointer real-time detection algorithm to solve the problems of the poor artificial visual detection effect,slow detection speed,and low real-time performance of industrialized vehicle instrument pointers.First,complete transfer between the high-and low-layer features of a small target is realized by improving an original Rol network layer structure.Subsequently,continuous feature aggregation re- duces calculation time using a bilinear interpolation algorithm to replace two quantization operations.Finally,video data collected by an industrial machine are preprocessed into a VOC format data set for training,and hyperparameters are ad- justed to obtain an improved vehicle instrument pointer detection model.Experimental results show that the proposed method can quickly and accurately detect the vehicle instrument pointer.The average detection time of a single picture is 0.197s,and the average detection accuracy can reach 92.7%.The good generalization performance of this method is demonstrated in the migration experiment of different instrument pointer types. Keywords:convolutional neural network;vehicle instrument pointer;real-time detection;bilinear interpolation;deep learning;pattern recognition;feature extraction;feature aggregation 随着汽车仪表生产过程的自动化需求不断提动检测技术不断激增的需求4,大多数企业仍采 高,如何开发出一种高效、实时的指针检测方法 用人工视觉视检的方法来检测仪表指针,人工检 成为当前人工智能领域的热点课题。面对自 测方法受工作状态影响,导致检测标准难以统 一,无法满足流水线上仪表的产量需求,检测效 收稿日期:2020-11-03.网络出版日期:2021-03-31. 基金项目:国家自然科学基金项目(61863007):广西自然科学 率和精度也随之受到影响。由于指针目标较小, 基金项目(2020 GXNSFDA238029):广西研究生教有 创新计划项目(YCSW2020159). 对应的像素中包含的特征很少,会导致存在漏检 通信作者:邱涛涛.E-mail:18339171275@163.com 的情况
DOI: 10.11992/tis.202011003 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20210330.1755.006.html 改进 Faster R-CNN 的汽车仪表指针实时检测 伍锡如,邱涛涛 (桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004) 摘 要:针对产业化的汽车仪表指针人工视觉检测效果差、检测速度慢和实时性低等问题,本文提出了一种改 进的 Faster R-CNN 汽车仪表指针实时检测算法。通过改进原始的 RoI 网络层结构,实现小目标高低层特征之 间的完整传递;采用双线性内插算法替代两次量化操作,使得特征聚集变成连续的过程,能够有效减少计算时 间;最后将工业机采集的视频数据,预处理成 VOC 格式数据集进行训练,调整超参数得到改进汽车仪表指针检 测模型。实验结果表明:所提出的方法能够快速、准确地实现汽车仪表指针检测,单张图片的平均检测时间为 0.197 s,平均检测精度可达 92.7%。在不同类别仪表指针的迁移实验中,展示了良好的泛化性能。 关键词:卷积神经网络;汽车仪表指针;实时检测;双线性内插;深度学习;模式识别;特征提取;特征聚集 中图分类号:TP183; TP391.41 文献标志码:A 文章编号:1673−4785(2021)06−1056−08 中文引用格式:伍锡如, 邱涛涛. 改进 Faster R-CNN 的汽车仪表指针实时检测 [J]. 智能系统学报, 2021, 16(6): 1056–1063. 英文引用格式:WU Xiru, QIU Taotao. Improved Faster R-CNN vehicle instrument pointer real-time detection algorithm[J]. CAAI transactions on intelligent systems, 2021, 16(6): 1056–1063. Improved Faster R-CNN vehicle instrument pointer real-time detection algorithm WU Xiru,QIU Taotao (College of Electronic Engineering and Automation, Guilin University of Electronic Technology, Guilin 541004, China) Abstract: This paper proposes an improved Faster R-CNN vehicle instrument pointer real-time detection algorithm to solve the problems of the poor artificial visual detection effect, slow detection speed, and low real-time performance of industrialized vehicle instrument pointers. First, complete transfer between the high- and low-layer features of a small target is realized by improving an original RoI network layer structure. Subsequently, continuous feature aggregation reduces calculation time using a bilinear interpolation algorithm to replace two quantization operations. Finally, video data collected by an industrial machine are preprocessed into a VOC format data set for training, and hyperparameters are adjusted to obtain an improved vehicle instrument pointer detection model. Experimental results show that the proposed method can quickly and accurately detect the vehicle instrument pointer. The average detection time of a single picture is 0.197 s, and the average detection accuracy can reach 92.7%. The good generalization performance of this method is demonstrated in the migration experiment of different instrument pointer types. Keywords: convolutional neural network; vehicle instrument pointer; real-time detection; bilinear interpolation; deep learning; pattern recognition; feature extraction; feature aggregation 随着汽车仪表生产过程的自动化需求不断提 高,如何开发出一种高效、实时的指针检测方法 成为当前人工智能领域的热点课题[1-3]。面对自 动检测技术不断激增的需求[4-5] ,大多数企业仍采 用人工视觉视检的方法来检测仪表指针,人工检 测方法受工作状态影响,导致检测标准难以统 一,无法满足流水线上仪表的产量需求,检测效 率和精度也随之受到影响。由于指针目标较小, 对应的像素中包含的特征很少,会导致存在漏检 的情况。 收稿日期:2020−11−03. 网络出版日期:2021−03−31. 基金项目:国家自然科学基金项目 (61863007);广西自然科学 基金项目 (2020GXNSFDA238029);广西研究生教育 创新计划项目 (YCSW2020159). 通信作者:邱涛涛. E-mail:18339171275@163.com. 第 16 卷第 6 期 智 能 系 统 学 报 Vol.16 No.6 2021 年 11 月 CAAI Transactions on Intelligent Systems Nov. 2021
第6期 伍锡如,等:改进Faster R-CNN的汽车仪表指针实时检测 ·1057· 现有的仪表指针检测主要基于经典图像处理 测,提高了人脸检测的效率。文献[20]使用Faster 方法来实现向,通过匹配目标形状与颜色特征来 R-CNN网络实现了人、车及动物等铁路异物的侵 检测指针位置。例如,文献[10]中,作者提出了 限检测,取得了较好的效果。深度学习使得识别 种改进的中心投影法,通过定位圆形比例区域 与检测纳入一个整体流程,实现端到端的学习P2。 来匹配指针轮廓获得指针位置。Hao等)基于 鉴于以上研究,本文提出了一种基于改进 OpenCV提出并实现了一种汽车仪表自动检测指 Faster R-CNN汽车仪表指针实时检测方法。采用 针系统;Gao等提出了一种鲁棒的字符分割分 RoI Align层替代原始的Rol Pooling层,保留了小 类器,该分类器是通过级联定向梯度直方图HOG/ 目标的完整像素信息。基于双线性内插方法使特 支持向量机SVM二进制分类器来识别仪表板指 征聚集过程连续化,缩短了特征映射的计算时 针。基于形状特征与颜色特征的方法抗噪性较 间。通过多组不同类型的仪表指针实验,在检测 好,但提取的信息并不充分,且计算量大对硬件 时间和检测精度上进行实验评估,验证了所提方 支持需求较大,没有考虑实时性与泛化性的需 法的高效性和实时性。 求。因此研究一种汽车仪表指针快速实时检测方 法具有重要的现实意义。 1 Faster R-CNN检测原理 近年来,深度学习方法在图像的识别和检测 方面涌现了许多优秀成果,成为当前热点研究领 Faster R-CNN算法网络框架如图1所示。整 域。例如,曹锦纲等提出一种基于生成式对 体框架由区域建议网络(region proposal network, 抗网络应用于交通场景运动模糊图像增强,能够 RPN)和Fast R-CNN检测网络两部分构成。当图 以较好的图像视觉效果完成模糊图像的增强。文 像输入网络后,由检测网络中的卷积网络层提取 献[17]通过卷积神经网络(CNN)与循环神经网络 仪表指针特征,得到卷积特征层。卷积特征层被 (RNN)结合,能够实现交通场景端到端语义描述, 后续的RPN层与检测网络层共享。RPN层使用 具有很好的鲁棒性。Ren等提出基于卷积神经 锚点与特征层,获取指针位置信息并输入到RoI 网络的Faster R-CNN算法,该网络拥有较强的语 Pooling中,Rol层利用所得到指针位置,进一步微 义表达和特征表达能力,泛化性能良好。Wu等 调指针在原图像中的位置,获取仪表指针的精确 基于Faster R-CNN实现不同尺度的人脸面部检 位置信息,输出标定结果。 分类层 256-d vector 回层 RPN层 滑动商百 输入图像 卷积网络层 卷积特征层 Rol Pooling层 全连接层 标定结果 Fast R-CNN检测网络 图1 Faster R-CNN整体框架 Fig.1 Faster R-CNN overall framework L.IRPN网络 获得的9个锚点用来预测9个候选区域,每 RPN是一个全卷积网络,用来得到候选区域 个候选区域用一个四维向量(x,y,w,)来表示, 并输出一组矩形区域建议。它使用一个n×n滑 x、y、w、h分别代表边界框的中心点坐标及其高 动窗口在卷积网络层输出的卷积特征层上滑动来 和宽。通过式(1)实现检测框与真实框的重叠 提取区域建议,该网络同时提供多个预测区域建 校准: 议,每个位置最大的滑窗建议数量为k。对于不 F[A:,Ay,A..A=[GG.G,G] (1) 同大小的对象,使用3个比例尺1282、2562、 式中:A、A,、A。、Ah表示检测框的4个坐标向 512与3种长宽比(1:1、1:2、2:1)的滑动窗口, 量;G、G,、G、G表示真实框的4个坐标向 可以得到k=9种类型滑动窗口。 量。通过平移、变换来对式(1)求解,可得到以下
现有的仪表指针检测主要基于经典图像处理 方法来实现[6] ,通过匹配目标形状与颜色特征来 检测指针位置[7-9]。例如,文献 [10] 中,作者提出了 一种改进的中心投影法,通过定位圆形比例区域 来匹配指针轮廓获得指针位置。Hao 等 [11] 基于 OpenCV 提出并实现了一种汽车仪表自动检测指 针系统;Gao 等 [12] 提出了一种鲁棒的字符分割分 类器,该分类器是通过级联定向梯度直方图 HOG/ 支持向量机 SVM 二进制分类器来识别仪表板指 针。基于形状特征与颜色特征的方法抗噪性较 好,但提取的信息并不充分,且计算量大对硬件 支持需求较大,没有考虑实时性与泛化性的需 求。因此研究一种汽车仪表指针快速实时检测方 法具有重要的现实意义。 近年来,深度学习方法在图像的识别和检测 方面涌现了许多优秀成果,成为当前热点研究领 域 [13-15]。例如,曹锦纲等[16] 提出一种基于生成式对 抗网络应用于交通场景运动模糊图像增强,能够 以较好的图像视觉效果完成模糊图像的增强。文 献 [17] 通过卷积神经网络 (CNN) 与循环神经网络 (RNN) 结合,能够实现交通场景端到端语义描述, 具有很好的鲁棒性。Ren 等 [18] 提出基于卷积神经 网络的 Faster R-CNN 算法,该网络拥有较强的语 义表达和特征表达能力,泛化性能良好。Wu 等 [19] 基于 Faster R-CNN 实现不同尺度的人脸面部检 测,提高了人脸检测的效率。文献 [20] 使用 Faster R-CNN 网络实现了人、车及动物等铁路异物的侵 限检测,取得了较好的效果。深度学习使得识别 与检测纳入一个整体流程,实现端到端的学习[21-24]。 鉴于以上研究,本文提出了一种基于改进 Faster R-CNN 汽车仪表指针实时检测方法。采用 RoI Align 层替代原始的 RoI Pooling 层,保留了小 目标的完整像素信息。基于双线性内插方法使特 征聚集过程连续化,缩短了特征映射的计算时 间。通过多组不同类型的仪表指针实验,在检测 时间和检测精度上进行实验评估,验证了所提方 法的高效性和实时性。 1 Faster R-CNN 检测原理 Faster R-CNN 算法网络框架如图 1 所示。整 体框架由区域建议网络 (region proposal network, RPN) 和 Fast R-CNN 检测网络两部分构成。当图 像输入网络后,由检测网络中的卷积网络层提取 仪表指针特征,得到卷积特征层。卷积特征层被 后续的 RPN 层与检测网络层共享。RPN 层使用 锚点与特征层,获取指针位置信息并输入到 RoI Pooling 中,RoI 层利用所得到指针位置,进一步微 调指针在原图像中的位置,获取仪表指针的精确 位置信息,输出标定结果。 卷积网络层 RPN 层 输入图像 Fast R-CNN 检测网络 分类层 回归层 卷积特征层 滑动窗口 RoI Pooling 层 全连接层 标定结果 回归 分类 256-d vector 图 1 Faster R-CNN 整体框架 Fig. 1 Faster R-CNN overall framework 1.1 RPN 网络 n×n k k = 9 RPN 是一个全卷积网络,用来得到候选区域 并输出一组矩形区域建议。它使用一个 滑 动窗口在卷积网络层输出的卷积特征层上滑动来 提取区域建议,该网络同时提供多个预测区域建 议,每个位置最大的滑窗建议数量为 。对于不 同大小的对象,使 用 3 个比例 尺 128 2 、 256 2 、 5122 与 3 种长宽比 (1∶1、1∶2、2∶1) 的滑动窗口, 可以得到 种类型滑动窗口。 (x, y,w, h) x、y、w、h 获得的 9 个锚点用来预测 9 个候选区域,每 个候选区域用一个四维向量 来表示, 分别代表边界框的中心点坐标及其高 和宽。通过式 (1) 实现检测框与真实框的重叠 校准: F[Ax , Ay , Aw, Ah] = [G ′ x ,G ′ y ,G ′ w ,G ′ h ] (1) Ax、Ay、Aw、Ah G ′ x、G ′ y、G ′ w、G ′ h 式中: 表示检测框的 4 个坐标向 量 ; 表示真实框 的 4 个坐标向 量。通过平移、变换来对式 (1) 求解,可得到以下 第 6 期 伍锡如,等:改进 Faster R-CNN 的汽车仪表指针实时检测 ·1057·
·1058· 智能系统学报 第16卷 4个变换,即平移2个和缩放2个。 图2),包括在线实时检测与离线训练模型两个过 平移: 程。在线实时检测通过加载待检测指针图像,网 G:=Awd(A)+A: 络对其进行学习与检测,给出指针检测结果。离 G,=And(A)+A, (2) 线训练通过工业机采集仪表指针数据之后,以预 缩放: 训练的模型在数据集上进行训练,通过特征提取 G=A.exp(d.) (3) 和学习不同类型的仪表指针,得到优化后的指针 G=Ah·exp(dh) 检测模型,根据指针类型不同,通过反馈机制实 式中dr、d,、dw、dn表示线性变换。 现检测模型的及时更新。离线训练能够保证模型 计算边界框的回归: 适应不同类别仪表指针,提升模型迁移能力。对 tr=(x-xa)÷wa 于所获得的更新之后的训练模型,在线实时检测 =0y-ya)÷ha tw=log(x÷xa) (4) 可以调用更新之后的网络模型,实现将待检测的 th=log(h÷h) 仪表指针数据集加载进去并实现自动给出检测结 式中:x和y表示边界框的中心坐标;1、,表示平 果,完成在线实时检测。 移因子;t、表示缩放因子。 对于单一图像,损失函数定义为 up.W=∑LcP+∑L.)5 加载图像 预训练模型+数据集 卷积层提取特征 分类和回归损失函数分别为 特征提取+候选区域 L(P,P)=-log[P:P+(1-P)(1-P)] (6) RPN生成候选区域 Legt,))=RG-t) (7) ↓ 共享特征卷积 式中:i表示最小采样中锚点的指数;P:表示锚点 训练Fast R-CNN 预测目标的概率,当锚点为正样本,P=1;当锚点 为负样本,P:=0;入为常量,用于控制分类损失和 回归调整标定框 目标位置+标记指针 回归损失的平衡;表示候选框的参数化坐标; 回归原图目标标定 表示锚点为正样本候选框的坐标。 微调+训练网络模型 1.2检测网络 检测结果 从图1中可以得到,Fast R-CNN作为检测网 络,卷积网络层由卷积、Relu和池化组成,负责对 在线实时检测 离线训练模型 输入图像提取特征,对于全图只进行一次区域特 图2检测算法流程 征的提取,减少了特征的搜索时间。RoI Pool- Fig.2 Detection algorithm flow ing层由共享特征卷积层与RPN层给出的多个建 2.1数据集 议区域作为输入。全连接层结构实现将高维数据 为保证算法检测准确度,本文从真实指针仪 进行一系列非线性变换,通过卷积操作将对应指 表生产线获取工业机录制的仪表指针转动视频, 针区域合并成固定大小的特征图,利用标定框回 按照固定帧数裁剪成图片集,图片分辨率为 归实现指针检测框修正以更加准确的位置,输出 2448×2050,再使用LabelImg标注软件转换成 指针检测结果。 VOC200721数据集格式,构成网络模型预训练的 检测网络实现流程如下: 数据集。VOC格式数据集主要包括:1)训练样本 1)使用卷积网络层提取图片中指针的特征; 集、验证样本集和测试样本集;2)每个样本图像 2)通过RPN网络给出的建议区域,判定是否 对应的XML信息文件;3)样本图像类别标签的 属于检测目标指针: TXT文件。为了保证预训练模型的泛化能力,通 3)使用标定框回归来不断逼近真实目标区域; 过收集并扩充不同类别的指针仪表添加到数据集 4)通过全连接网络层回归获取指针精确的 中,数据集总量为8000张,对其按比例进行划 位置: 分,以总体数据集的70%作为训练样本集,20% 5)输出指针检测结果。 作为验证样本集,10%作为测试样本集。 2改进Faster R-CNN实现指针检测 2.2网络改进 检测网络中的RoI Pooling层,在特征计算中 改进的Faster R-CNN指针检测实现流程(见 需要通过两次量化操作来得到回归框的位置,输
4 个变换,即平移 2 个和缩放 2 个。 平移: G ′ x = Aw · dx (A)+ Ax G ′ y = Ah · dy (A)+ Ay (2) 缩放: G ′ w = Aw · exp(dw) G ′ h = Ah · exp(dh) (3) 式中 dx、dy、dw、dh 表示线性变换。 计算边界框的回归: tx = (x− xa)÷wa ty = (y− ya)÷ ha tw = log(x÷ xa) th = log(h÷ ha) (4) x y tx ty tw th 式中: 和 表示边界框的中心坐标; 、 表示平 移因子; 、 表示缩放因子。 对于单一图像,损失函数定义为 L(pi ,ti) = 1 Ncls ∑ i Lcls (Pi ,Pi ∗ )+λ 1 Nreg ∑ i Lreg (ti ,ti ∗ ) (5) 分类和回归损失函数分别为 Lcls(Pi ,P ∗ i ) = −log[PiP ∗ i +(1− P ∗ i )(1− Pi)] (6) Lreg(ti ,t ∗ i ) = R(ti −t ∗ i ) (7) i P ∗ i P ∗ i = 1 P ∗ i = 0 λ ti ti ∗ 式中: 表示最小采样中锚点的指数; 表示锚点 预测目标的概率,当锚点为正样本, ;当锚点 为负样本, ; 为常量,用于控制分类损失和 回归损失的平衡; 表示候选框的参数化坐标; 表示锚点为正样本候选框的坐标。 1.2 检测网络 从图 1 中可以得到,Fast R-CNN 作为检测网 络,卷积网络层由卷积、Relu 和池化组成,负责对 输入图像提取特征,对于全图只进行一次区域特 征的提取,减少了特征的搜索时间。RoI Pooling 层由共享特征卷积层与 RPN 层给出的多个建 议区域作为输入。全连接层结构实现将高维数据 进行一系列非线性变换,通过卷积操作将对应指 针区域合并成固定大小的特征图,利用标定框回 归实现指针检测框修正以更加准确的位置,输出 指针检测结果。 检测网络实现流程如下: 1) 使用卷积网络层提取图片中指针的特征; 2) 通过 RPN 网络给出的建议区域,判定是否 属于检测目标指针; 3) 使用标定框回归来不断逼近真实目标区域; 4) 通过全连接网络层回归获取指针精确的 位置; 5) 输出指针检测结果。 2 改进 Faster R-CNN 实现指针检测 改进的 Faster R-CNN 指针检测实现流程 (见 图 2),包括在线实时检测与离线训练模型两个过 程。在线实时检测通过加载待检测指针图像,网 络对其进行学习与检测,给出指针检测结果。离 线训练通过工业机采集仪表指针数据之后,以预 训练的模型在数据集上进行训练,通过特征提取 和学习不同类型的仪表指针,得到优化后的指针 检测模型,根据指针类型不同,通过反馈机制实 现检测模型的及时更新。离线训练能够保证模型 适应不同类别仪表指针,提升模型迁移能力。对 于所获得的更新之后的训练模型,在线实时检测 可以调用更新之后的网络模型,实现将待检测的 仪表指针数据集加载进去并实现自动给出检测结 果,完成在线实时检测。 加载图像 卷积层提取特征 RPN 生成候选区域 训练 Fast R-CNN 回归调整标定框 回归原图目标标定 检测结果 在线实时检测 预训练模型+数据集 特征提取+候选区域 共享特征卷积 目标位置+标记指针 微调+训练网络模型 离线训练模型 图 2 检测算法流程 Fig. 2 Detection algorithm flow 2.1 数据集 为保证算法检测准确度,本文从真实指针仪 表生产线获取工业机录制的仪表指针转动视频, 按照固定帧数裁剪成图片集,图片分辨率为 2 448×2 050,再使用 LabelImg 标注软件转换成 VOC2007[25] 数据集格式,构成网络模型预训练的 数据集。VOC 格式数据集主要包括:1) 训练样本 集、验证样本集和测试样本集;2) 每个样本图像 对应的 XML 信息文件;3) 样本图像类别标签的 TXT 文件。为了保证预训练模型的泛化能力,通 过收集并扩充不同类别的指针仪表添加到数据集 中,数据集总量为 8 000 张,对其按比例进行划 分,以总体数据集的 70% 作为训练样本集,20% 作为验证样本集,10% 作为测试样本集。 2.2 网络改进 检测网络中的 RoI Pooling 层,在特征计算中 需要通过两次量化操作来得到回归框的位置,输 ·1058· 智 能 系 统 学 报 第 16 卷
第6期 伍锡如,等:改进Faster R-CNN的汽车仪表指针实时检测 ·1059· 出固定大小的特征映射。两次量化操作是不连续 于小目标检测,像素的丢失可能会导致特征的丢 的且像素计算形式为整数(见图3),计算过程会 失,以至于检测不到目标对象。同时,两次的量 舍去小数点后的数值,从而丢失图像像素。而对 化操作也会增加网络的计算时间,影响实时性。 Rol Align 960/32=30 23.9/7=3.4 765/32=23.9 960 765 96032=30 765/32=23 特征图 23 CNN卷积层 全连接层 Rol Pooling 图3 Rol Pooling与Rol Align改进实现机制 Fig.3 Improved implementation mechanism of Rol Pooling and Rol Align 针对两次量化操作导致的图像像素丢失问 对式(10)求偏导,可得 题,本文采用RoI Align层取代RoI Pooling层的策 略进行改进。改进的机制是使用双线性内插取代 =∑∑di.iu0<-A1-aw Dyrj 两次量化操作,使得特征聚集的计算变成一个连 (12) 续的过程。RoI Align层通过遍历每一个候选区 式中:d(i,i(r,)表示两点之间距离;△h与△w表 域,能以浮点数的形式计算回归框的位置,保留 示:与(,)之间的差异是水平和垂直坐标。 了像素坐标的小数部分而不作量化处理,有效提 双线性内插计算步骤为:针对加载图像信息, 高了小目标的检测能力。改进前后的效果如图3 设定图像矩阵为I、缩放因子zr(亿mt>0),分情况 所示,对于大小为960×960的特征区域,如果使用 讨论,当0<zm<1时为缩小,当zmr>1时为放 原始的RoI Pooling层,第一次量化操作舍去了 大。首先,计算原始图像矩阵,结果表示为 0.9个像素,缩放到原图就是30个像素的差别,并 IH×Iw×Io(H、W表示图像的宽和高),灰度图像 且像素的分辨率越大,丢失的像素信息越多。与 通道的Io为1,彩色RGB图像通道Io为3,将缩 之相比,使用Rol Align层的改进处理,完整地保 放因子整合计算,生成一个全零矩阵(mr×IH)x 留了图像的像素信息,在检测准确度上得到了较 (亿m×Iw)×Io。其次,将原始图像矩阵I增加一个 大的提升。双线性内插算法定义如下: 单位,记为Ir,增加单位后的矩阵为(IH+2)× 沿x方向的线性插值为 (Iw+2)×Io。对于任意像素坐标位置(亿,),通过 fxwW≈=xfei)+-fe2) (8) 缩放(亿,/久,乙j/2t)映射到原图像中得到对应目标 2一x 3-x 像素坐标(x,y)。如果(x,y)不为整数,则通过向下 fx2)≈=f0m)+-fea) (9) 取整得到(位,),得到计算结果为(x=i+u,y= x2-x1 式中:Qm=(x,y%)(a=1,2:b=1,2),表示已知的4个 j+v),u,v∈[0,1),此时,根据式(11)进行双线性内 点坐标;fx,y)、fx,y2)表示沿x方向进行线性 插值计算,遍历计算每个映射像素的原目标像素 插值。 坐标,直至填充完缩放矩阵Z1。 沿y方向的进行线性插值为 3实验结果分析 fx,)≈2-fxy)+y-业fx,) (10) y2-y1 y2-y1 本实验基于Caffe深度学习平台,操作系统 目标线性插值的结果为 为Ubuntul6.04,网络选用端到端的训练方式。修 fx,)≈2-y-xf0)+-xf0+ 改网络结构之后,同时调整网络超参数。网络学 y2-y12-1 x2-X1 y-y f(Or)+xxfQn) 习率初始化为0.01,一共迭代13000次,迭代到 y2-y1x2-x1 3-x1 8500次时将学习率改为0.001。得到训练模型之 (11) 后,随机选取测试集中的样本,使用所得到的训
出固定大小的特征映射。两次量化操作是不连续 的且像素计算形式为整数 (见图 3),计算过程会 舍去小数点后的数值,从而丢失图像像素。而对 于小目标检测,像素的丢失可能会导致特征的丢 失,以至于检测不到目标对象。同时,两次的量 化操作也会增加网络的计算时间,影响实时性。 特征图 765 765/32=23.9 765/32=23 960 960/32=30 23.9/7=3.4 23/7=3 960/32=30 960 30 30 23 23.9 765 CNN 卷积层 RoI Align RoI Pooling 全连接层 图 3 RoI Pooling 与 RoI Align 改进实现机制 Fig. 3 Improved implementation mechanism of RoI Pooling and RoI Align 针对两次量化操作导致的图像像素丢失问 题,本文采用 RoI Align 层取代 RoI Pooling 层的策 略进行改进。改进的机制是使用双线性内插取代 两次量化操作,使得特征聚集的计算变成一个连 续的过程。RoI Align 层通过遍历每一个候选区 域,能以浮点数的形式计算回归框的位置,保留 了像素坐标的小数部分而不作量化处理,有效提 高了小目标的检测能力。改进前后的效果如图 3 所示,对于大小为 960×960 的特征区域,如果使用 原始的 RoI Pooling 层,第一次量化操作舍去了 0.9 个像素,缩放到原图就是 30 个像素的差别,并 且像素的分辨率越大,丢失的像素信息越多。与 之相比,使用 RoI Align 层的改进处理,完整地保 留了图像的像素信息,在检测准确度上得到了较 大的提升。双线性内插算法定义如下: 沿 x 方向的线性插值为 f(x, y1) ≈ x2 − x x2 − x1 f(Q11)+ x− x1 x2 − x1 f(Q21) (8) f(x, y2) ≈ x2 − x x2 − x1 f(Q12)+ x− x1 x2 − x1 f(Q22) (9) Qab = (xa, yb)(a = 1,2;b = 1,2) f(x, y1) f(x, y2) x 式中: ,表示已知的 4 个 点坐标; 、 表示沿 方向进行线性 插值。 沿 y 方向的进行线性插值为 f(x, y) ≈ y2 −y y2 −y1 f(x, y1)+ y−y1 y2 −y1 f(x, y2) (10) 目标线性插值的结果为 f(x, y) ≈ y2 −y y2 −y1 ( x2 − x x2 − x1 f(Q11)+ x− x1 x2 − x1 f(Q21) ) + y−y1 y2 −y1 ( x2 − x x2 − x1 f(Q12)+ x− x1 x2 − x1 f(Q22) ) (11) 对式 (10) 求偏导,可得 ∂L ∂xi = ∑ r ∑ j [ d (i,i ∗ (r, j)) < 1 ] (1−∆h) (1−∆w) ∂L ∂yr j (12) d (i,i ∗ (r, j)) ∆h ∆w xi i ∗ (r, j) 式中: 表示两点之间距离; 与 表 示 与 之间的差异是水平和垂直坐标。 I zmf zmf > 0 0 < zmf < 1 zmf > 1 IH × IW × ID H、W ID ID (zmf × IH)× (zmf × IW )× ID I IT (IH +2)× (IW +2)× ID (zi ,zj) (zi/zmf,zj/zmf) (x, y) (x, y) (i, j) (x = i+u, y = j+v) u, v ∈ [0,1) Z I 双线性内插计算步骤为:针对加载图像信息, 设定图像矩阵为 、缩放因子 ( ),分情况 讨论,当 时为缩小,当 时为放 大。首先,计算原始图像矩阵,结果表示为 ( 表示图像的宽和高),灰度图像 通道的 为 1,彩色 RGB 图像通道 为 3,将缩 放因子整合计算,生成一个全零矩阵 。其次,将原始图像矩阵 增加一个 单位,记为 ,增加单位后的矩阵为 。对于任意像素坐标位置 ,通过 缩放 映射到原图像中得到对应目标 像素坐标 。如果 不为整数,则通过向下 取整得到 ,得到计算结果为 , ,此时,根据式 (11) 进行双线性内 插值计算,遍历计算每个映射像素的原目标像素 坐标,直至填充完缩放矩阵 。 3 实验结果分析 本实验基于 Caffe 深度学习平台,操作系统 为 Ubuntu16.04,网络选用端到端的训练方式。修 改网络结构之后,同时调整网络超参数。网络学 习率初始化为 0.01,一共迭代 13 000 次,迭代到 8 500 次时将学习率改为 0.001。得到训练模型之 后,随机选取测试集中的样本,使用所得到的训 第 6 期 伍锡如,等:改进 Faster R-CNN 的汽车仪表指针实时检测 ·1059·
·1060· 智能系统学报 第16卷 练模型检测不同类别的仪表指针图片,评估模型 测网络YOLO-V3进行了比较,实验结果如图6 的检测能力测试结果如图4所示。由图4(a) 所示。 ()可知,对于不同的两类速度仪表指针,本文采 TT 用的方法可以有效地标定出指针的准确位置。针 W002040160 对图4(e)、()中不同类型的转速仪表盘指针,同 km/h 180 200 60 200 样具有较准确的检测效果,表明改进网络能有效 220 40 220 地提取并学习仪表指针的高维特征,证明实际生 240 240 产环境下,改进的Faster R-CNN算法对于仪表指 260 针的检测是可行和有效的。 (a)速度仪表1 (b)速度仪表2 nr w 100120 140 80 100120 140 120140160 160 、60 160 80100120 40② 80 40 6 my市 180 1807 160 80 200 200 20 200 40 180 60 220 -40 240 0 220 0 200 220 20 260. E E 280 (a)速度仪表1 (b)速度仪表2 (c)速度仪表3 (d)速度仪表4 图5迁移实验检测结果 Fig.5 Migration test results T 。1001207 80 140 8 140 、60 160 、60 160 40 180 180 20 200 20 200 (c)速度仪表3 (d)速度仪表4 0 220、 -0 220 5 6 (a)速度仪表1 (b)速度仪表2 7 图6Y0L0-v3检测结果 Fig.6 YOLO-v3 test results 从YOLO-v3实验结果可知,单阶段网络可以 H 实现仪表指针检测,但是存在指针检测区域有偏 (e)转速仪表1 (⑤转速仪表2 差且准确率不高的问题。YOLO-v3网络将采集 的特征直接用于检测,虽然降低了检测时间,但 图4不同类型的仪表指针检测结果 缺少标定框的回归与参数学习,导致其检测准确 Fig.4 Different types of instrument pointer test results 率相对较低,计算性能如表1所示。 为了验证训练模型的泛化能力,使用未经过 表1单张图片检测时间和精度对比 训练的不同类型速度仪表指针图片作为检测样 Table 1 Single-image detection time and accuracy com 本,测试结果如图5所示。从图5可知,不同类型 parison 的仪表外观差异很大,表盘颜色和指针形状变化 方法 时间/s 精度% 明显。对于未经过训练的仪表样本,本文方法依 原始Faster R-CNN 0.360 86.3 然可以检测并准确地标出指针的位置,表明所训 改进Faster R-CNN 0.197 92.7 练的模型具有较强的泛化能力与迁移能力。 YOLO-v3 0.031 79.6 本文所提的检测网络为两阶段网络,为了 Houghl圆/直线检测 3.500 71.2 HOG/SVM分类器 验证所提算法网络性能,将本文方法与单阶段检 1.827
练模型检测不同类别的仪表指针图片,评估模型 的检测能力测试结果如图 4 所示。由图 4(a)~ (d) 可知,对于不同的两类速度仪表指针,本文采 用的方法可以有效地标定出指针的准确位置。针 对图 4(e)、(f) 中不同类型的转速仪表盘指针,同 样具有较准确的检测效果,表明改进网络能有效 地提取并学习仪表指针的高维特征,证明实际生 产环境下,改进的 Faster R-CNN 算法对于仪表指 针的检测是可行和有效的。 (a) 速度仪表 1 (b) 速度仪表 2 (c) 速度仪表 3 (d) 速度仪表 4 (e) 转速仪表 1 (f) 转速仪表 2 图 4 不同类型的仪表指针检测结果 Fig. 4 Different types of instrument pointer test results 为了验证训练模型的泛化能力,使用未经过 训练的不同类型速度仪表指针图片作为检测样 本,测试结果如图 5 所示。从图 5 可知,不同类型 的仪表外观差异很大,表盘颜色和指针形状变化 明显。对于未经过训练的仪表样本,本文方法依 然可以检测并准确地标出指针的位置,表明所训 练的模型具有较强的泛化能力与迁移能力。 本文所提的检测网络为两阶段网络,为了 验证所提算法网络性能,将本文方法与单阶段检 测网络 YOLO-v3 进行了比较,实验结果如图 6 所示。 (a) 速度仪表 1 (b) 速度仪表 2 (c) 速度仪表 3 (d) 速度仪表 4 图 5 迁移实验检测结果 Fig. 5 Migration test results (a) 速度仪表 1 (b) 速度仪表 2 图 6 YOLO-v3 检测结果 Fig. 6 YOLO-v3 test results 从 YOLO-v3 实验结果可知,单阶段网络可以 实现仪表指针检测,但是存在指针检测区域有偏 差且准确率不高的问题。YOLO-v3 网络将采集 的特征直接用于检测,虽然降低了检测时间,但 缺少标定框的回归与参数学习,导致其检测准确 率相对较低,计算性能如表 1 所示。 表 1 单张图片检测时间和精度对比 Table 1 Single-image detection time and accuracy comparison 方法 时间/s 精度/% 原始Faster R-CNN 0.360 86.3 改进Faster R-CNN 0.197 92.7 YOLO-v3 0.031 79.6 Hough圆/直线检测 3.500 71.2 HOG/SVM分类器 1.827 — ·1060· 智 能 系 统 学 报 第 16 卷