一种基于改进YOLOv7的相机标定特征点检测方法

陈 松1,2,闫国闯2,马方远2,王西泉2,田晓耕1

(1.西安交通大学 复杂服役环境重大装备结构强度与寿命全国重点实验室, 西安 710049;2.中国兵器工业试验测试研究院, 西安 710116)

摘要:在基于视觉方法的军事目标检测等技术中,相机的精确标定是进行目标高精度测量的前提,同时也是开展后续图像处理、目标跟踪、三维重建的基础。相机标定的关键在于准确的检测图像中的标定特征点。以当前使用范围较广的棋盘格标定法为对象,针对受干扰(模糊、重噪声、极端姿态和大镜头失真)的标定图像难以进行特征点提取的问题,提出一种融合改进YOLOv7-tiny深度学习网络和Harris角点检测的相机标定特征点检测算法。针对原始网络在相机标定特征区域检测中的各种问题,引入Gather-and-Distribute信息聚合分发机制替换YOLOv7-tiny的加强特征提取网络(FPN)部分,提高不同层之间特征融合的能力;在主干特征提取部分后加入Biformer注意力机制,提高对小尺寸特征点候选区域的捕捉能力;在Head部分使用改进Efficient Decoupled Head解耦头,在提高精度的同时维持了较低的计算开销。测试结果表明,改进后的YOLOv7-tiny网络对特征点候选区域检测的准确率有显著的提高,达到95.3%,证明了改进后网络的有效性和可行性。

关键词:相机标定;深度学习;YOLOv7-tiny;信息聚合分发机制;注意力机制;Harris算法

0 引言

随着现代军事技术的革新,以无人机,无人车为代表的无人装备正逐渐成为现代战场的核心力量[1]。无人装备视觉传感器采集的图像信息与目标实际空间信息之间的映射关系是通过摄像机标定技术进行确定的。摄像机标定参数的准确程度对于无人装备对军事目标的识别精度、空间定位结果的可靠性以及目标图像后处理的效果都有显著影响[2]。摄像机参数标定的核心目的是确定拍摄图像中的二维平面坐标和真实三维空间坐标之间的转换关系。这种关系可以借助一些具有特殊结构的特征点来表示,如棋盘格标定、圆点标定等[3]

棋盘格标定法[4]是一种在摄像机校准技术中广泛应用的方法。棋盘格标定法中所使用的特征点为黑白棋盘格之间的角点。角点(Corner)在图像处理中通常用以下3种方式定义:在图像所有方向上明亮度变化剧烈的点、两条直线边缘连接的交点或图像中边缘曲线最大曲率的极值点[5]。而根据角点的不同定义方式,角点的检测方法又分为基于图像强度的方法、基于轮廓的方法和基于二值图像的方法[6]。但是在实际的工程应用中,基于二值图像的方法可能会由于二值化过程丢失关键信息,从而限制其在某些情况下的应用,而基于图像强度与基于轮廓的方法则逐渐成为主流。

基于图像强度的角点检测算法通过分析图像中像素强度的变化,制定策略区分图像特征的显著变化区域,进而识别图像中的角点。目前基于图像强度角点检测算法中被广泛使用的有Moravec,Harris及SIFTS等算法。Moravec[7]是较早的基于灰度图像的角点检测算法之一,该算法旨在通过计算每一个像素点的邻域与周围其他像素点邻域的相关性。这种相关性通过不同邻域之间的平方差之和 (sum of square differences,SSD)来衡量,SSD越小则相似度越高,该像素点是角点的可能性就越低。Moravec算法的原理较为简单,在相关性的计算上有明显的方向局限性,仅考虑了8个离散的45°方向,并且对边缘带来的计算影响不敏感。在此基础上,Harris和Stephens对Moravec算法进行了改进,提出了Harris算法[8]。针对Moravec算法计算方向局限性的问题,Harris算法通过考虑角点邻域窗口沿任何方向移动都会引起图像灰度明显变化的特点,定义了图像中每个像素点的自相关系数,以此来实现算法的旋转不变性。但其相应函数的阈值必须通过人工设定,且在图像尺度变化时无法有效检测角点,在尺度不变性上存在缺陷。Lowe于1999年提出了一种新的角点检测算法SIFT(scale-invariant feature transform)[9],该算法通过在不同尺度下对图像进行高斯平滑和差分操作,检测出稳定的局部极值点,并提取出这些点的尺度方向和特征描述符。该算法具有尺度不变性、旋转不变性、亮度不变性等优点。但SIFT算法复杂度较高,需要耗费大量的计算时间和存储空间,因而难以在无人平台上进行算法部署。

基于轮廓的角点检测方法则主要通过分析图像中两个或多个边缘相交的轮廓线端点来搜索角点。这类方法首先利用边缘检测算子(如Canny算子)提取图像的边缘信息。对于提取到的边缘使用轮廓提取算法提取出图像所有的轮廓,将轮廓转换为一系列点的集合,接着遍历轮廓点集,通过计算每个点的内角之和是否满足一定的阈值条件,从而实现基于轮廓曲线的角点检测。这类方法虽然相对简单,但在实际的应用中可能会受到图像噪声、轮廓连接性等因素影响从而导致误检和漏检的情况。Asada等人提出了一种基于高斯平滑的角点检测算法[10],旨在减少对局部弯曲的误判,但这种操作可能会导致图像模糊。Mokhtarian和Suomela等人提出的曲率尺度空间(curvature scale space,CSS)角点检测算法[11]则专注于在不同尺度上检测图像中的角点。该算法的基本思想是通过计算曲率尺度空间中的局部极值点来确定角点。CSS算法首先对图像进行边缘检测,然后利用局部邻域内的边缘信息来计算角点响应值。CSS算法在处理纹理丰富的图像时表现良好,并且相对于传统的角点检测算法具有更快的速度。但在边缘检测时对轮廓曲线上的噪声极其敏感,对拍摄环境的要求较为苛刻。此外,上述几种基于轮廓的角点检测算法实现时需要非常复杂的数学运算,计算成本较大。

近年来,随着深度学习在计算机视觉领域的广泛应用和发展,研究者开始探索将深度学习方法与角点检测相结合。通过端到端的训练方式,深度学习方法能够自动学习特征和模式,从而在角点检测任务中取得更好的性能。一些常用的深度学习方法包括基于卷积神经网络的角点检测(如CornerNet[12]、CornerNet-Lite[13])和基于注意力机制的角点检测(如Cornerformer[14])等。为了解决标注样本不足的问题,研究者们还提出了一些弱监督学习和自监督学习的方法[15]来进行角点检测。这些方法利用了大规模未标注数据或仅需要少量标注数据来进行训练,从而提高了模型的泛化能力和鲁棒性。

在标定特征点检测应用方面,传统图像算法在标定特征点检测中存在着适用范围小,鲁棒性弱等问题,通常需要针对不同的拍摄环境选择不同的算法与阈值设定。尤其在进行鱼眼镜头等高畸变镜头的标定工作时,传统算法难以进行有效的特征点识别[16]。相反,虽然基于深度学习的标定特征点检测算法能够处理更多样的环境和情况,但这些算法又在特征点决策的解释性和对计算资源的高需求方面存在问题。并且在检测特征点分布密集或远距离的标定物时,尺度较小的标定特征点区域的图像特征难以在深度学习网络中被有效学习,进而造成目标特征候选区域的误检或漏检。

根据标定特征点检测的特定任务需求与上述相关算法在实际应用中的缺陷,针对当前应用最为广泛的棋盘格标定技术,提出一种基于目标检测算法YOLOv7-tiny与Harris角点检测算法的棋盘格标定特征点检测技术。对原目标检测网络进行一系列改进,针对性的提高对目标特征候选区域的检测准确度,进而将卷积神经网络应用于角点检测当中,从而提高了整体检测流程的准确度和鲁棒性。

1 基于改进YOLOv7-tiny的标定特征点检测

针对上述问题,本文中提出了一种融合改进YOLOv7-tiny网络与Harris角点检测算法的新技术。首先对包括噪声、模糊、畸变与极端姿态等不同情况下的棋盘格图像数据进行采集,并对图像中的角点候选区域首先使用人工进行部分标注,随后使用基于深度学习算法YOLOv7原始网络的大参数量变种算法YOLOv7-e6e进行自动标注工作,最后对标注数据进行统一人工审核与修正。数据集建立完成后,使用基于深度学习的目标检测算法YOLOv7-CB进行网络训练,迭代遴选得到最优的网络参数。在标定工作中,将待标定图像输入到训练完成后的网络中,提取测试数据的角点候选区域。针对每一个提取出的候选区域,建立特征点数量约束确保在每个独立的特征区域内与其他检测框的非并集区域不超过一个特征点,使用Harris角点检测算法对特征点的坐标进行准确计算。算法中Harris角点检测的阈值根据单个特征区域内的平均像素亮度进行动态调整,以实现在复杂环境下的阈值自适应调整。本文中的方法概述如图1所示。

图1 方法概述
Fig.1 Method overview

本文中所提出的方法结合了深度学习与传统图像检测算法,基于深度学习算法检测到的每个独立特征区域与建立的特征点约束,使用Harris角点检测算法对棋盘格角点进行准确的识别,并根据每个独立特征区域的像素特征对Harris算法的阈值进行动态调整,在节省计算资源,保证精确度的同时避免了深度学习算法在重要参数决策中的黑箱效应。使用深度学习算法对角点候选区域进行预提取有效解决了不同环境下的识别问题,通过数据集的扩展,算法可以适应不同的镜头和拍摄环境,从而有效地从图像中提取特征,有效弥补了后续Harris算法在算法适用范围与鲁棒性方面存在的缺陷,实现了技术上的融合互补。

2 YOLOv7-CB算法结构

YOLOv7[17]是Alexey Bochkovskiy和Chien-Yao Wang等人于2022年在YOLOv5的基础上进行改进和优化得到的新一代目标检测算法。相较YOLO系列的历史版本,YOLOv7可以同时兼备较低的计算资源和更高的精度,在多种公开数据集上已经展现出优秀的检测速度与精度。但由于当输入为640×640的灰度图像时,YOLOv7的3个特征层的尺寸分别为80×80×512,40×40×1 024,20×20×1 024。其最小的检测尺度为80×80,特征层中每一个网格的感受野为8。在实际的相机标定操作中,由于图像通常需要在视场的不同距离进行拍摄,图像先验框的尺寸可能会出现尺寸过小或者过大的极端情况,此时原始的YOLOv7网络在进行候选区域检测时会难以达到预期应有的效果。同时,在使用鱼眼镜头等广角镜头进行拍摄时,图像还会受到噪声、模糊、大镜头失真等的干扰,进一步降低网络对角点候选区域的检测能力。

针对上述标定特征点检测过程中的常见问题,本文中提出标定特征点候选区域检测模型YOLOv7-CB,选择轻量化YOLOv7-tiny网络作为基础模型,以满足移动端部署的算力需求,并在此基础上为训练中可能面对的问题做出了针对性的修改,大幅度的提高了网络对不同拍摄环境下各个尺度范围的角点候选区域目标检测能力。

2.1 YOLOv7-tiny网络结构

YOLOv7-tiny是YOLOv7原始网络的轻量化变体,相较于原始YOLOv7网络,YOLOv7-tiny在节省了2/3的计算资源的同时最大限度的保持了精度水平,可以很好的满足各类无人装备平台的部署需求。YOLOv7的网络结构如图2所示,主要可以分为3个部分:Backbone、Neck模块和YOLO Head部分。其中Backbone为YOLOv7网络的主干部分,Backbone创新型引入了多路径堆叠模块(ELAN),上层卷积提取出的特征图将分为4个部分,分别进行1、1、3、5次卷积随后堆叠起来进行特征整合。相较于前代YOLO算法,YOLOv7-tiny的主干部分链接的更加紧密,通过最大化下采样(MP)进行特征图的尺度缩放。网络Neck部分同样采用基于PAN思想的多路径堆叠结构,通过对网络主干部分所提取的3个特征层进行加强特征提取。网络使用了具有CSP结构的SPP扩大感受野,该模块包含一个大的残差边优化主干部分的特征提取。同时,YOLOv7-tiny网络为了加快模型的训练,采用了与前代YOLO系列不同正样本匹配模式,在训练时,由多个先验框(anchor)来预测真实框(ground truth),对于每一个真实框,还会根据先验框调整后预测框进行IoU与种类的计算,进而找到最匹配的先验框。网络在Head部分使用重复结构的简单卷积块来代替传统的卷积层,并在Head部分之前添加RepConv,该模块等效于一个普通的3×3卷积,在保持网络预测性能的同时降低了计算复杂度和模型参数量。

图2 YOLOv7-tiny网络结构
Fig.2 YOLOv7-tiny network structure

2.2 YOLOv7-CB结构

本文中所建立的YOLOv7-CB模型如图3所示。算法选择YOLOv7-tiny原始模型作为基线模型进行改进设计,在维持较低计算量的基础上进一步提高模型的检测精度与鲁棒性。针对现有算法对不同尺度下标定特征区域特征信息融合困难的问题,采用Gather-and-Distribute信息聚合分发机制替换网络中原有Neck部分的多路径堆叠结构,提高特征融合能力,增强模型在处理不同尺度目标时的鲁棒性;在特征提取部分的SPP部分后加入Biformer注意力模块,进一步提高网络的特征提取能力;使用改进的Efficient Decoupled Head解耦头替换原有的检测头,降低特征检测的计算开销并进一步提升精度。所选择的网络改进部分与对应替换模块均考虑了原始模型在标定特征点区域检测中所遇到的难点问题并做出了针对性的提升。

图3 YOLOv7-CB网络结构
Fig.3 YOLOv7-CB network structure

2.3 Gather-and-Distribute信息聚合分发机制

在过去的几年中,YOLO系列算法通过不断的修改架构、添加新的模块、扩充数据和设计新的损失函数等方法,已经将模型的速度和准确度提升到了更高的水平,但是YOLO系列算法仍然在不同层级的特征信息融合方面面临挑战。尽管特征金字塔网络(Feature pyramid network,FPN)和路径聚合网络的提出使得该问题得到了一定的缓解,但特征融合的有效性和效率仍是YOLO系列在进一步提升检测性能时必须克服的重要难题。为此,在YOLOv7-tiny网络的特征融合模块嵌入信息聚合分发(Gather-and-Distribute)机制,替换原有的Neck结构,通过在全局视野上对不同层级的特征进行统一的聚集融合并注入到不同的层级中。这一机制使得信息的交互融合更加的充分高效,在没有大幅增加计算开销的情况下显著提升了原网络Neck部分的特征融合能力,提高了模型对不同尺度下目标的检测能力。

信息聚合分发机制最早由华为诺亚实验室在GOLD-YOLO中提出[18],其原理如图4所示。信息聚合分发机制主要分成3个模块:特征对齐模块(feature alignment module,FAM)、信息融合模块(information fusion module,IFM)和信息注入模块(information injection module,IIM)。中间的输入层包括Backbone提取的特征图B2、B3、B4、B5,其中BiRN×CBi×RBi。批处理大小由N表示,通道由C表示,尺寸由R= H×W表示。此外RB2、RB3、RB4和RB5的尺寸分别为R、1/2R、1/4R和1/8R。同时,为了增加模型检测不同尺寸目标的能力,模块加入了低阶收集和分发分支(Low-GD)和高阶收集和分发分支(High-GD),其中Low-GD输出的特征图分辨率较高,负责检测小尺寸目标。Low-GD模块的结构如图5所示。

图4 Gatherand-Distribute机制
Fig.4 The Gatherand-Distribute mechanism

图5 Low-GD模块
Fig.5 The Low-GD module

低阶特征对齐模块(Low-FAM)首先将特征图B2、B3、B4、B5统一为B4层的[H/4,W/4]的尺寸,然后在通道上进行聚合,其公式如下:

Falign=Low_FAM([B2,B3,B4,B5])

(1)

Low-IFM将Low-FAM的输出先经过多层RepBlock提取信息,生成的特征随后按照通道数分为2个部分Finj_P3Finj_P4,作为后续的Inject模块的输入,公式如下:

Ffuse=RepBlock(Falign)

(2)

Finj_P3,Finj_P4=Split(Ffuse)

(3)

式(2)中RepBlock的构成为

RepBlock=[conv+3×RepVGGBlock+conv]

(4)

为了更加有效的将全局的信息注入到不同层级,GD机制提出了Inject模块,对不同的层级输出的特征图采用注意力机制来融合信息。模块将本地信息(指B2、B3、B4、B5输出的特征)和全局注入信息 (由IFM生成)分别表示为FlocalFinj,并使用2个不同的卷积对Finj进行计算,分别得到Fglobal_embedFglobal_act:

Fglobal_act_Pi=resize(Sigmoid(Convact(Finj_Pi)))

(5)

Fglobal_embed_Pi=resize(Convglobal_embed_Pi(Finj_Pi))

(6)

Flocal进行卷积操作得到Fglobal_embed后,通过注意力计算融合特征Fout。由于FlocalFglobal之间存在尺寸差异,故采用全局平均池化或双线性插值来根据Finj的尺寸来缩放Fglobal_embedFact,以确保适当的对齐。其公式如下:

Fatt_fuse_Pi=Convlocal_embed_Pi (Bi)*Fing_act_Pi+Fglobal_embed_Pi

(7)

在每次注意力融合结束时,模块添加RepBlock以进一步提取和融合信息,即:

Pi=RepBlock(Fatt_fuse_Pi)

(8)

High-GD输出的特征图分辨率为Low-GD的1/2,负责检测较大尺寸的目标。其核心思想与Low-GD一致。本文采用GD机制来替换掉YOLOv7的Neck部分以提升网络的特征融合能力和对小目标的检测能力。

2.4 Biformer注意力机制

Biformer注意力机制[19]是祝磊于CVPR2023提出的一种新的动态稀疏注意力机制,针对传统Transformer内存占用大、计算代价高和所有的查询共享键值对无法做到互不干扰的特点,作者采取让每个查询处理语义上最相关的键值对,即先在粗粒度区域内筛选去掉最不相关的键值对的部分,即先在粗粒度区域内筛选去掉最不相关的键值对,然后在剩下的区域内计算token-to-token注意力。Biformer的核心思想是双层路由注意力机制(Bi-level routing attention,BRA),Biformer的结构如图6所示。

图6 Biformer注意力机制
Fig.6 Biformer attention mechanism

对于特征图X∈ RH×W×C,首先将其划分为S×S个子区域,其中每个区域包含个特征向量。即将X变为通过线性映射获得特征矩阵Q(Query)、K(Key)、 V(Value)。各个参数的计算公式如下:

Q= XrWq

(9)

K= XrWk

(10)

V= XrWv

(11)

式中, Wq,Wk,WvRC×C分别为矩阵QKV的投影权重。随后,通过构造一个有向图来找到每个区域各自相关联的区域。首先计算各个区域QK的平均值,得到Qr,KrRS2×C,然后计算Qr、Kr的区域相关性邻接矩阵Ar:

Ar= Qr(Kr)T

(12)

通过路由索引Ir ∈ NS2×k保留每区域的前k个连接来建立相关性图,其公式如下:

Ir=topIndex(Ar)

(13)

随后,利用区域路由矩阵索引Ir即可计算细粒度层面的token-to-token,对于任一区域i中的每一个Query token将关注k个路由区域所有键值对的并集,其索引为由于路由区域散列的分布在特征图中,GPU受到内存读取的限制无法一次性将其全部读入显存。所以首先要先将Key和Value的张量聚集起来存放在连续的内存区域中,如式(14)、(15)所示:

Kg=gather(K, Ir)

(14)

Vg=gather(V, Ir)

(15)

式中, Kg与Vg是聚合后KeyValue的张量,随后对Kg和Vg进行注意力操作,同时引入了局部上下文增强LCE(V),如式(16)所示:

O=Attention(Q, Kg, Vg)+LCE(V)

(16)

针对棋盘格特征点目标在不同拍摄位姿或大镜头失真下出现尺寸剧烈变化的问题,本文中将Biformer模块引入到YOLOv7网络的主干特征图提取部分之后,提升网络对不同目标关键特征信息的提取能力,从而优化模型对小尺寸棋盘格角点的检测能力。

2.5 改进Efficient Decoupled Head解耦头

YOLOv7-tiny原始网络的head部分使用的检测头是耦合的,将置信度、类别和预测框耦合于一体进行统一预测。然而,在目标检测回归和分类任务中,分类任务更加关注所提取的特征与已有的类别哪一类最为接近,而回归任务更加关注真实框的位置从而对预测框进行修正。因此,如果使用同一个耦合头对目标进行分类和定位任务,网络的预测准确率会受到影响。

EDH(efficient decoupled head)[20]是一种将检测头解耦来提高模型性能的方法。解耦合检测头最早于YOLOx中提出,并在YOLOv6[21]中得到完善。解耦合检测头将这3个预测任务进行分别预测而非统一预测。本文将YOLOv7-tiny原始网络的检测头解耦,将检测头中最后的2个3×3卷积层改为一层,并将其输入通道改为与输入通道一致。进一步,将解耦头与YOLOR[22]中引入的隐含知识学习操作相结合,通过对模型中的隐式知识提取为向量,并与卷积层的偏置或权重进行运算结合[23],提高检测头对特征信息的利用率。改进后的解耦检测头在维持精度的同时降低了时间开销,其结构如图7所示。

图7 改进Efficient Decoupled Head解耦头
Fig.7 Enhanced Efficient Decoupled Head

图7中FPN feat表示图像经过Backbone和Neck部分卷积得到的特征图,在通过一个1×1的卷积层后分为两个部分分别进行分类和回归任务的预测。隐式相加与隐式相乘的操作在数学上的定义分别如式(17)与式(18):

(17)

(18)

式中:Wl为特征层的权重;bl为特征层的偏置;gφ为隐式模型;z为隐式知识先验。模块在通过1×1的卷积层后进行相应的隐式知识操作,实现对特征信息的进一步提取。针对棋盘格标定特征区域目标小,分布密集的特点,本文使用改进后的Efficient Decoupled Head解耦头替换掉原始YOLOv7-tiny模型的Head部分,以进一步提高检测精度,减小计算开销。

3 实验的结果与分析

3.1 数据采集与实验环境

实验的原始数据集使用灰点工业相机FMVU-03MTM-CS与IphoneXR手机进行拍摄采集。此外,为了提升测试方法的泛化性能,在原始数据集中引入ROCHADE[24]中的MesaSR4 000数据集,uEye数据集图像与GoPro数据集这些图像数据均存在轻微失真。同时,实验引入了使用220°视场的鱼眼相机拍摄的fisheye数据集[25],以测试模型对于大透镜失真图像和严重镜头畸变图像是否依然具有准确性。同时,深度学习模型需要大量的数据进行有效训练以确保良好的网络拟合,实验对原始的数据集采用以下4种类型的数据增强:1) 旋转图像(包括90°、180°和270°);2) 添加重噪声;3) 图像模糊;4) 反转灰度值。将如上方法单独或组合应用于每幅图像,最终获得3 450幅图像。所得图像按照7∶2∶1划分训练集、测试集、验证集,其中2 415幅图像用于模型训练。本实验所采用的训练集实例如图8、图9所示。

图8 数据集增强效果
Fig.8 Example of our dataset

图9 数据集示例
Fig.9 Sample dataset

本文方法中深度学习网络的训练与测试过程在个人服务器上完成。操作系统为Ubuntu 22.04,中央处理器(CPU)为Intel Core i9-9900X(3.50 GHz),图形处理器(GPU)为NVIDA GeForce GTX 2080Ti(11 G RAM)GPU;使用的框架为Pytorch1.9,Python 版本为 3.9,Pycharm版本为 3.2.0。

3.2 实验步骤

1) 将标定特征点标注数据集按照7∶2∶1的比例划分为训练集(train)、验证集(val)与测试集(test),通过训练获取棋盘格角点的真实框。

2) 根据网络特征,利用SGD优化器进行 YOLOv7-CB 深度学习网络训练,实验过程不加载预训练权重,epoch设为400,获取网络权重。训练时网络的 batchsize 设为8,初始学习率设置为0.001,随着训练的进行而逐渐下降帮助网络收敛和过拟合。训练结果如图10所示。

图10 网络训练结果
Fig.10 Network training results

3) 用训练完成的深度学习网络对验证数据集进行验证及测试,根据验证结果得到平均精确度 AP(Average Precision),对网络的性能和角点检测准确率进行评估,模型在测试集合上的平均准确率达到95.3%。测试结果如图11所示。

图11 测试结果及精度
Fig.11 Test results and accuracy

3.3 对比实验

为了证明本文中所建立的检测算法的有效性,首先对目前多种主流目标检测算法与本文中提出的改进算法一同对测试集数据进行角点候选区域检测任务,各算法网络均在相同系统配置下使用相同的数据集训练至网络收敛,训练结束后使用最优权重数据对同一验证数据集进行预测实验,得到各个网络的precision(准确率),recall(召回率)与mAP@0.5(0.5阈值下精确率均值),结合各个模型的GFlops(计算成本)并与本文中提出的YOLOv7-CB网络的实验数据进行对比。实验选取的目标检测算法为参数量巨大,但检测性能较好的YOLOv7原始模型,新一代的轻量级目标检测算法YOLOv8n与基线模型YOLOv7-tiny原始模型。对比实验的各项指标结果如表1所示。

表1 深度学习模型对比实验结果
Table 1 Results of comparative experiment

ModelprecisionrecallmAP@0.5GFlopsYOLOv794.492.694.630.7YOLOv7-tiny89.284.485.213.9YOLOv8n85.882.980.78.7Ours95.093.295.317.0

通过测试集上的对比实验结果表明,本文中所提出的YOLOv7-CB网络相较YOLOv7,YOLOv7-tiny与YOLOv8n模型在各项检测指标上均有提升。YOLO-CB模型相较原始YOLOv7-tiny网络,在计算量仅提升3.1GFlops的同时实现了检测精度的大幅增强,并且超越了模型参数量较大的YOLOv7原始模型在同一数据集上的表现。

为了进一步证明所提方法的可行性,将改进网络与当前主流的棋盘格特征点检测方法进行对比。在fisheye高畸变数据集上使用本文中提出的标定特征点检测算法与OpenCV棋盘格检测工具和Matlab相机标定工具箱进行检测效果对比,实验结果如图12所示。由对比结果可知,OpenCV棋盘格检测工具与Matlab相机标定工具箱均在高畸变与模糊干扰下出现了严重的漏检现象,而本文中提出的方法在高畸变及模糊干扰下的标定图像中表现良好,检测到了所有的特征点。

图12 检测效果对比
Fig.12 Comparison of detection effectiveness

进一步参考相关文献[16,26]在fishieye数据集上的表现结果,本文中所提出的模型与基于深度学习的角点检测网络CCDN,和基于传统检测算法的检测工具Matlab,OpenCV在鱼眼数据集上的漏检率,错检数(统计检测到的假阳性点数量)与检测时间的对比结果如表2所示。

表2 高畸变鱼眼镜头数据集对比实验结果
Table 2 Comparative experimental results on high-distortion fisheye lens dataset

检测算法漏检率/%错检数检测时间/sCCDN36.8340.068 8Matlab62.64 5160.329 0OpenCV85.82 1240.135 4Ours1.5700.032 5

通过在高畸变鱼眼镜头数据集上的具体实验数据可得,基于传统算法的检测工具在高畸变图像下,由于缺乏对畸变下特征区域的识别能力与特征区域内正确目标数量的约束条件,漏检率与错检数的数值都异常高,而异常数据的干扰也造成这2种检测工具的检测时间都较长。基于深度学习的角点检测网络CCDN虽然错检数较少,但在图像数据高畸变的情况下也出现了较高的漏检率。而本文所提出的算法结合了传统算法与深度学习的基础上,实现了较高的检测精度与较快的检测速度。

3.4 消融实验

为了进一步证明改进网络中各个改进部分的有效程度,对本文中所采用的所有网络改进模块分为八组,对各个改进模块在YOLOv7-tiny网络上进行选择性加入,涵盖所有可能的模块组合,在同一数据集上进行消融实验对网络的检测效果进行验证,具体分组情况与消融实验结果如表3所示。

表3 消融实验结果
Table 3 Results of the ablation experiments

模型GDBiformer改进EDHmAP@0.5Baseline85.2189.1290.4385.7494.6589.2690.5ours95.3

消融实验的结果表明,通过添加GD信息聚合分发模块有效的弥补了原始的YOLOv7-tiny模型在特征融合方面的缺陷。Biformer注意力机制的引入大幅提高了网络的平均准确率,单个模块的提升率达到了6.1%。改进后Efficient Decoupled Head解耦头在加入GD模块与Biformer注意力机制的基础上对网络的准确率有了明显的提升,加入所有改进模块的YOLOv7-tiny网络表现出了优异的性能,在测试数据集上的mAP@0.5达到了95.3%,相较原始YOLOv7-tiny网络提升率达到了10.1%。

4 结论

针对传统相机标定技术在受干扰情况下难以有效捕捉标定特征点的问题,以棋盘格标定技术为切入点,通过使用融合改进后YOLOv7-tiny网络与Harris算法的特征点检测方法实现精确的像素级特征点检测:

1) 改进后的YOLOv7-tiny网络大幅提升检测精度的同时维持了较低的计算开销,验证数据集上的棋盘格特征点候选区域识别准确率均值达到了95.3%。

2) 根据对比实验的结果,本文中提出的检测方法在模糊、重噪声、极端姿态和大镜头失真等传统算法存在识别困难的场景下显示出优越的检测性能。

本文中提出的检测方法虽然在基于棋盘格标定的特征点检测问题上取得了有效进展,但针对其他类型的校准模式如三角形标定、圆点标定等的相关工作仍需要进一步分析和研究。在未来的工作中,我们计划重点研究适用更多类型校准模式的特征点检测模型。

参考文献:

[1]陈挺.当代军事技术发展及其应用研究[D].长沙:国防科技大学,2021.CHEN Ting.Research on development and application of contemporary military technology[D].Changsha:National University of Defense Technology,2021.

[2]吕东超,李少波,蒲睿强,等.旋翼无人机的双目视觉避障技术综述[J].电光与控制,2023,30(11):67-75,84.LYU Dongchao,LI Shaobo,PU Ruiqiang,et al.A review of binocular-vision obstacle avoidance technology for rotorcraft UAVs[J].Electronics Optics &Control,2023,30(11):67-75,84.

[3]SONG L,WU W,GUO J,et al.Survey on camera calibration technique[C]//Proceedings of the 5th International Conference on Intelligent Human-Machine Systems and Cybernetics.Hangzhou,2013,2:389-392.

[4]ZHANG Z.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.

[5]孙婷,陈娜,孟然,等.基于超分辨率角点检测算法的双目相机高精度标定方法[J].激光与光电子学进展,2023,60(8):365-373.SUN Ting,CHEN Na,MENG Ran,et al.High-precision binocular camera calibration based on super-resolution corner point detection algorithm[J].Laser &Optoelectronics Progress,2023,60(8):365-373.

[6]JING J,LIU S,WANG G,et al.Recent advances on image edge detection:A comprehensive review[J].Neurocomputing,2022,503:259-271.

[7]MORAVEC H P.Obstacle avoidance and navigation in the real world by a seeing robot rover[D].Stanford:Stanford University,1980.

[8]HARRIS C,STEPHENS M.A combined corner and edge detector[C]//Proceedings of The 4th Alvey Vision Conference,Manchester,1988:147-151.

[9]LOWE D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60:91-110.

[10]ASADA H,BRADY M.The curvature primal sketch[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(1):2-14.

[11]MOKHTARIAN F,SUOMELA R.Robust image corner detection through curvature scale space[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1998,20(12):1376-1381.

[12]LAW H,DENG J.CornerNet:Detecting objects as paired keypoints[C]//Proceedings of the European Conference on Computer Vision (ECCV),Munich,2018:734-750.

[13]LAW H,TENG Y,RUSSAKOVSKY O,et al.CornerNet-Lite:Efficient keypoint based object detection[J].arXiv preprint arXiv:1904.08900,2019.

[14]WEI H,CHEN X,XIE L,et al.Cornerformer:Purifying instances for corner-based detectors[C]//Proceedings of the European Conference on Computer Vision (ECCV),Tel Aviv,2022:18-34.

[15]YOU Y,LIU W,ZE Y,et al.UKPGAN:A general self-supervised keypoint detector[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,New Orleans,2022:17021-17030.

[16]WANG G,ZHENG H,ZHANG X.A robust checkerboard corner detection method for camera calibration based on improved YOLOX[J].Frontiers in Physics,2022,9:819019.

[17]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,2023:7464-7475.

[18]WANG C,HE W,NIE Y,et al.Gold-YOLO:Efficient object detector via gather-and-distribute mechanism[J].Advances in Neural Information Processing Systems,2024,36:11331

[19]ZHU L,WANG X,KE Z,et al.BiFormer:Vision transformer with Bi-Level routing attention[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,Vancouver,2023:10323-10333.

[20]GE Z,LIU S,WANG F,et al.YOLOx:Exceeding yolo series in 2021[J].arXiv preprint arXiv:2107.08430,2021.

[21]LI C,LI L,JIANG H,et al.YOLOv6:A single-stage object detection framework for industrial applications[J].arXiv preprint arXiv:2209.02976,2022.

[22]WANG C Y,YEH I H,LIAO H Y M.You only learn one representation:Unified network for multiple tasks[J].Journal of Information Science and Engineering,2023,39(3):691-709

[23]薛钦原,胡珊珊,胡新军,等.改进YOLOv7的结直肠息肉检测算法[J/OL].计算机工程与应用,1-12[2024-01-18].http://kns.cnki.net/kcms/detail/11.2127.TP.20231127.1356.012.html.XUE Qinyuan,HU Shanshan,HU Xinjun,et al.Improved YOLOv7 Algorithm for Colorectal Polyp Detection[J/OL].Computer Engineering and Applications,1-12[2024-01-18].http://kns.cnki.net/kcms/detail/11.2127.TP.20231127.1356.012.html.

[24]PLACHT S,FÜRSATTEL P,MENGUE E A,et al.Rochade:Robust checkerboard advanced detection for camera calibration[C]//Proceedings of the European Conference on Computer Vision (ECCV),Zurich,2014:766-779.

[25]HA H,PERDOCH M,ALISMAIL H,et al.Deltille grids for geometric camera calibration[C]//Proceedings of the 2017 IEEE International Conference on Computer Vision (ICCV),Venice,2017:5344-5352.

[26]CHEN B,XIONG C,ZHANG Q.CCDN:Checkerboard corner detection network for robust camera calibration[C]//Proceedings of the Intelligent Robotics and Applications,Newcastle,2018:324-334.

A method for camera calibration feature point detection based on an improved YOLOv7

CHEN Song1,2, YAN Guochuang2, MA Fangyuan2, WANG Xiquan2, TIAN Xiaogeng1

(1.State Key Laboratory for Strength and Vibration of Mechanical Structures,Xi’an Jiaotong University, Xi’an 710049, China;2.Norinco Group Testing and Research Institute, Xi’an 710116, China)

AbstractIn military target detection technologies based on visual methods, precise camera calibration is essential for accurate target measurements and serves as the foundation for subsequent image processing, target tracking, and 3D reconstruction. The crux of camera calibration lies in the accurate detection of calibration feature points in images. Focusing on the widely-used chessboard calibration method, this paper addresses the difficulty in feature point extraction from calibration images affected by disturbances such as blur, heavy noise, extreme poses, and significant lens distortion. We propose a camera calibration feature point detection algorithm that integrates an enhanced YOLOv7-tiny deep learning network with Harris corner detection. To address various issues in the original network’s detection of camera calibration feature regions, we introduce a Gather-and-Distribute information aggregation and distribution mechanism to replace the Feature Pyramid Network (FPN) in YOLOv7-tiny, enhancing the capability of feature fusion across different layers. Additionally, a Biformer attention mechanism is added after the main feature extraction segment to enhance the detection of small-sized feature point candidate regions. In the Head section, an improved Efficient Decoupled Head is used to increase accuracy while maintaining low computational overhead. Test results demonstrate that the improved YOLOv7-tiny network significantly enhances the accuracy of feature point candidate region detection, achieving 95.3%, thereby proving the effectiveness and feasibility of the enhanced network.

Key wordscamera calibration; deep learning; YOLOv7-tiny; gather-and-distribute mechanism; attention mechanism; Harris algorithm

本文引用格式:陈松,闫国闯,马方远,等.一种基于改进YOLOv7的相机标定特征点检测方法[J].兵器装备工程学报,2024,45(8):151-160.

Citation format:CHEN Song, YAN Guochuang, MA Fangyuan, et al.A method for camera calibration feature point detection based on an improved YOLOv7[J].Journal of Ordnance Equipment Engineering,2024,45(8):151-160.

中图分类号:TP24;TP391.4

文献标识码:A

文章编号:2096-2304(2024)08-0151-10

doi:10.11809/bqzbgcxb2024.08.021

收稿日期:2024-02-13; 修回日期:2024-05-10; 录用日期:2024-06-29

基金项目:国家级科研项目

作者简介:陈松(1981—),男,硕士研究生,研究员,E-mail:8708733@qq.com。

通信作者:王西泉(1983—),男,副研究员,E-mail:wxq_1003@126.com。

科学编辑 杨继森 博士 (重庆理工大学 教授)

责任编辑 胡君德