原文:YOLOv4: Optimal Speed and Accuracy of Object Detection
摘要:尝试了很多优化,最终达到了:
准确率:43.5% AP (65.7% AP50)
数据集:MS COCO
速度:65 FPS
显卡: Tesla V100
当前技术归纳
现代 detector 通常由两个部分组成,一个是在Image Net上预先训练的 backbone,一个是用来预测对象的类和bounding boxes 的head。
【backbone 部分】:
GPU:VGG [68], ResNet [26], ResNeXt [86], or DenseNet [30].
CPU:SqueezeNet [31], MobileNet [28, 66, 27, 74], or ShufflfleNet [97, 53].
【head部分】:对于head部分,通常分为两类,one-stage object detector和two-stage object detector
two-stage: R-CNN [19] 系列(fast R-CNN [18], faster R-CNN [64], R-FCN [9],Libra R-CNN [58].) anchor-free:RepPoints [87]
one-stage :YOLO [61, 62, 63], SSD [50],RetinaNet [45].anchor-free :CenterNet [13], CornerNet [37, 38], FCOS [78],
【neck层 】 近年来发展起来的 detector 经常在backbone 和 head 部之间插入一些层,这些层通常用于收集不同阶段的特征映射。 叫 neck层: Feature Pyramid Network (FPN) [44], Path Aggregation Network (PAN) [49], BiFPN [77], and NAS-FPN [17].
【新设计】 除了上述模型外,有一些新的设计:直接建立新的backbone (DetNet[43],Det NAS[7]) 或全是新的(SpineNet [12], HitDectector [20])
综上所述,一个普通的物体探测器由几部分组成(图):
• Input: Image, Patches, Image Pyramid
• Backbones: VGG16 [68], ResNet-50 [26], SpineNet [12], EffificientNet-B0/B7 [75], CSPResNeXt50 [81], CSPDarknet53 [81]
• Neck:
• Additional blocks: SPP [25], ASPP [5], RFB[47], SAM [85]
• Path-aggregation blocks: FPN [44], PAN [49], NAS-FPN [17], Fully-connected FPN, BiFPN[77], ASFF [48], SFAM [98]
• Heads:
• Dense Prediction (one-stage):
RPN [64], SSD [50], YOLO [61], RetinaNet[45] (anchor based)CornerNet [37], CenterNet [13], MatrixNet[60], FCOS [78]
(anchor free)
• Sparse Prediction (two-stage):
Faster R-CNN [64], R-FCN [9], Mask R CNN [23] (anchor based) RepPoints [87] (anchor free)
数据增强等不改变 数据集 和 计算开销 的优化方式(Bag of freebies BoF)
数据增强的目的是增加输入图像的可变性,使设计的目标检测模型对从不同环境中获得的图像具有更高的鲁棒性。
光度畸变和几何畸变: 是两种常用的数据增强方法,它们肯定有利于目标检测任务。 在处理光度失真时,我们调整图像的亮度、对比度、色调、饱和度和噪声。 对于几何失真,我们添加随机缩放,裁剪,翻转和旋转。
模拟对象遮挡: 它们在图像分类和目标检测方面取得了良好的效果。 例如,随机擦除[100]和裁剪[11]可以随机选择图像中的矩形区域,并填充零的随机或互补值。 至于hide-and-seek[69]和grid mask[6],它们随机或均匀地选择图像中的多个矩形区域,并将它们替换为所有零。 如果将类似的概念应用于特征映射,则有DropOut[71]、DropConnect[80]和DropBlock[16]方法。
多幅图像一起进行数据增强的方法: 例如,MixUp[92]使用两个图像以不同的系数比相乘和叠加,然后用这些叠加比调整标签。 至于CutMix[91],它是将裁剪后的图像覆盖到其他图像的矩形区域,并根据混合区域的大小调整标签。 除了上述方法外,还使用样式传输GAN[15]进行数据增强,这样的使用可以有效地减少CNN学习的纹理偏差。
在处理数据分布不均衡问题时: 一个非常重要的问题是不同类之间存在数据不平衡的问题,这个问题往往是通过两步对象检测器中的hard negative example mining[72]或 online hard example mining[67]来解决的。但example mining方法不适用于一步对象检测器,因为这种检测器属于密集预测体系结构。 因此 Linet al.等人。[45]提出了proposed focal loss来处理各类之间存在的数据不平衡问题。 另一个非常重要的问题是,很难表达不同类别之间关联程度与one-hot表示之间的关系。 这种表示方案在执行标记时经常使用。 [73]提出的标签平滑是将hard标签转换为soft标签进行训练,这样可以使模型更健壮。 为了获得更好的soft标签,Islam等人。 [33]引入了 knowledge distillation的概念来设计标签细化网络。
损失由MES到各种 IOU loss的优化: (Bounding Box (BBox) regression) 传统的目标检测器通常使用均方误差(MSE)直接对BBox的中心点坐标、高度和宽度进行回归,例如:{xcenter, ycenter, w, h},{xtop lef t, ytop lef t, xbottom right, ybottom right}. As for anchor-based method {xcenter of f set, ycenter of f set, wof f set, hof f set} , {xtop lef t of f set, ytop lef t of f set, xbottom right of f set, ybottom right of f set}
然而,直接估计BBox的每个点的坐标值是将这些点视为独立变量,但实际上并不考虑对象本身的完整性。 为了使这一问题得到更好的处理,一些研究人员最近提出了IoU损失[90],将预测的BBox面积和 ground truth BBox面积的覆盖范围考虑在内。 通过将IoU与ground truth 执行IoU损失计算过程,触发BBox的四个坐标点的计算,然后将生成的结果连接成一个完整的代码。由于IoU是一个尺度不变表示,因此可以解决传统方法计算{x,y,w,h}的L1或L2损失时,损失会随着尺度的增加而增加的问题。 最近,一些研究人员继续改善IoU损失。 例如,GiOU损失[65]是除了覆盖区域外,还包括物体的形状和方向。 他们建议找到最小的区域BBox,可以同时覆盖预测的BBox和ground truth BBox,并使用这个BBox作为分母,以取代原来在IoU损失中使用的分母。 对于DIOU损失[99],它还考虑了物体中心的距离,CIOU损失[99],另一方面同时考虑了重叠区域、中心点之间的距离和纵横比。 在BBox回归问题上,CIOU可以获得更好的收敛速度和精度。
特殊结构 bag of specials(BoS)
对于那些只增加少量推理成本但能显著提高目标检测精度的插件模块和后处理方法,我们称之为“bag of specials”。 一般来说,这些插件模块是为了增强模型中的某些属性,如扩大感受野、引入注意机制或增强特征整合能力等,后处理是筛选模型预测结果的一种方法。
可用于扩大感受野的常用模块 有SPP[25]、ASPP[5]和RFB[47]。 该SPP模块起源于空间金字塔匹配(SPM)[39],SPMs的原始方法是将特征映射分割成几个d×d块,其中d可以是{1,2,3,…},从而形成空间金字塔,然后提取词袋特征。SPP将SPM集成到CNN中,使用最大池操作而不是 bag-of-word操作。 由于 He et al. [25]提出的SPP模块。将输出一维特征向量,在全卷积网络(FCN)中应用是不可行的)。 因此,在YOLOv3[63]的设计中,Redmon和Farhadi将SPP模块改进为核大小为k×k的最大池输出的级联,其中k={1、5、9、13},步长等于1。 在此设计下,相对较大的k×kmaxpooling有效地增加了骨干特征的感受野。 在添加了SPP模块的改进版本后,YOLOv3-608在MSCOCO对象检测任务上以0.5%的额外计算成本将AP50升级2.7。 ASPP[5]模块与改进SPP模块在运算上的区别主要来自原始的k×k核大小,步长的最大池值等于1到几个3×3核大小,扩展比等于k,扩展卷积运算中步长等于1。 RFB模块是使用k×k核的几个扩张卷积,扩张比等于k,步长等于1,以获得比ASPP更全面的空间覆盖。ASPP. RFB[47]只需要7%的额外推理时间,就可以将SSD在MSCO上的AP50增加5.7%。
注意模块 在物体检测中经常使用的注意模块主要分为通道注意和点注意,这两种注意模型的代表分别是挤压和激发(SE)[29]和空间注意模块(SAM)[85]。
虽然SE模块可以提高ResNet50在Image Net图像分类任务中的功率1%的top-1精度,但在GPU上通常会增加10%左右的推理时间,因此在移动设备中使用更合适。 但是对于SAM,它只需要支付0.1%的额外计算,它可以提高ResNet50-SE0.5%top-1在Image Net图像分类任务上的精度。 最重要的是,它根本不影响GPU上的推理速度。
在特征整合方面 早期的实践是使用skip connection[51]或hyper-column[22]将低级物理特征集成到高级语义特征中。 由于FPN等多尺度预测方法的流行,提出了许多集成不同特征金字塔的轻量级模块。 这类模块包括SFAM[98]、ASFF[48]和BiFPN[77]。 SFAM的主要思想是利用SE模块对多尺度级联特征映射进行信道级重加权。 对于ASFF,它使用Softmax作为点级重加权,然后添加不同尺度的特征映射。 在BiFPN中,提出了多输入加权残差连接来执行标度级重加权,然后添加不同尺度的特征映射。
激活函数 在深度学习的研究中,一些人把重点放在寻找良好的激活功能上。 良好的激活函数可以使梯度更有效地传播,同时也不会造成太多的额外计算成本。 在2010年,Nair和Hinton[56]提出ReLU来实质性地解决传统的 tanh 和 sigmoid激活函数中经常遇到的梯度消失问题。 随后,提出了LRELU[54]、PRELU[24]、RELU6[28]、 Scaled Exponential Linear Unit(SELU)[35]、Swish[59]、 hard-Swish[27]和Mish等也用于解决梯度消失问题。 而LReLU和PReLU的主要目的是解决当输出小于零时ReLU的梯度为零的问题。 对于ReLU6和hard-Swish,它们是专门为量化网络设计的。 对于神经网络的自归一化,提出了SELU激活函数来满足目标。 需要注意的一点是,Swish和Mish都是连续可微激活函数。
非极大抑制NMS 基于深度学习的对象检测中常用的后处理方法是NMS,它可以用来过滤那些对同一对象预测很差的BBox,并且只保留响应较高的候选BBox。 NMS试图改进的方法与优化目标函数的方法是一致的。 由NMS提出的原始方法不考虑上下文信息,因此Girshick等人。 [19]R-CNN中添加分类置信度评分作为参考,并根据置信度评分的顺序,按高分到低分的顺序执行贪婪NMS。 对于 soft NMS[1],它考虑了对象的遮挡可能导致具有IoU分数的贪婪NMS中置信度分数下降的问题。 DIo U NMS[99]开发人员的思维方式是在 soft NMS的基础上将中心点距离的信息添加到BBox筛选过程中。 值得一提的是,由于上述后处理方法都没有直接提到捕获的图像特征,因此在后续开发anchor-free方法时不再需要后处理。
用于图像分类的神经网络参数
Backbone | Input | 感受野大小 | 参数量 | 输出层的平均大小(WxHxC) | BFLOPs | FPS (GPU RTX 2070) |
---|---|---|---|---|---|---|
CSPResNext50 | 512x512 | 425x425 | 20.6 M | 1058 K | 31 (15.5 FMA) | 62 |
CSPDarknet53 | 512x512 | 725x725 | 27.6 M | 950 K | 52 (26.0 FMA) | 66 |
EfficientNet-B3 (ours) | 512x512 | 1311x1311 | 12.0M | 668 K | 11 (5.5 FMA) | 26 |
技巧
我们提出了两种实时神经网络的选择:
对于GPU 我们在卷积层中使用少量的组(1-8):CSPRESNEXt50/CSPDarknet53
对于VPU 我们使用分组卷积,但我们不使用Squeeze-and-excitement(SE)块-特别是这包括以下模型:EfficientNet-lite / MixNet [76] / GhostNet [21] / MobileNetV3
网络选择
我们的目标是在输入网络分辨率、卷积层数、参数数(滤波器大小2滤波器信道/组)和层输出数(滤波器)之间找到最佳平衡)。 例如,我们的许多研究表明:
在ILSVRC2012(Image Net)数据集上的对象分类方面:CSPDarknet53 不如 CSPRes Next50[10]
在MS COCO数据集[46]上的对象检测方面:CSPDarknet53比CSPRES Next50更好。
下一个目标是选择额外的块来增加感受野,并为不同级别的检测器从不同级别的backbone 聚合参数的最佳方法:例如 FPN, PAN, ASFF, BiFPN.
一个最适合分类的参考模型对于检测器来说并不总是最优的。 与分类器相比,检测器需要以下内容:
- 更高的输入网络大小 (分辨率)-用于检测多个小尺寸的对象
更多的层 -用于更大的感受野,以覆盖输入网络的增加大小
更多的参数 -用于模型在单个图像中检测多个不同大小的对象的更大容量
最优模型是一个感受野较大的模型(具有更多的卷积层3×3)和更多的参数作为主干。 表1显示了CSPRESNeXt50、CSPDarknet53和Effi-cientNetB3的信息。 该CSPRES Next50只包含16个卷积层3×3、425个接收场和20.6M参数,而CSPDarknet53包含29个卷积层3×3、725个接收场和27.6M参数。 这一理论依据,加上我们的大量实验,表明CSPDarknet53神经网络是两者作为检测器主干的最优模型。
不同大小的感受野的影响总结如下:
- 直到对象大小 - 允许查看整个对象
直到网络大小 - 允许查看对象周围的上下文
超过网络大小 - 增加图像点与最终激活之间的连接数量
我们在CSPDarknet53上添加SPP块,因为它显著增加了接收字段,分离出最重要的上下文特征,并且几乎不降低网络操作速度。 我们使用PANet作为不同检测器级别的不同骨干级别的参数聚合方法,而不是YOLOv3中使用的FPN。 最后,我们选择CSPDarknet53主干、SPP附加模块、PANet路径聚集颈和YOLOv3(基于ancher)头作为YOLOv4的体系结构。
在未来,我们计划对探测器显著扩展 Bag of Freebies(Bof)的内容,从理论上可以解决一些问题,提高探测器的精度,并以实验的方式依次检查每个特征的影响。 我们不使用交叉GPU批量归一化(CGBN或同步BN)或昂贵的专门设备。 这允许任何人在传统的图形处理器上复制我们最先进的结果。 采用GTX1080Ti或RTX2080Ti。
BoF and BoS
为了改进对象检测训练,CNN通常使用以下方法:
激活 :ReLU, leaky-ReLU, parametric-ReLU,ReLU6, SELU, Swish, or Mish
BBOX损失 : MSE, IoU, GIoU,CIoU, DIoU
数据增强 :切断、混合、切割混合
正则化方法:DropOut, DropPath [36],Spatial DropOut [79], or DropBlock
BN: Batch Normalization (BN) [32],Cross-GPU Batch Normalization (CGBN or SyncBN)[93], Filter Response Normalization (FRN) [70], or Cross-Iteration Batch Normalization (CBN) [89]
Skip-connections: Residual connections, Weighted residual connections, Multi-input weighted residual connections, or Cross stage partial connections (CSP)
YOLOv4的选择:
激活函数 由于PRELU和SELU更难训练,而ReLU6是专门为量化网络设计的,因此我们将上述激活函数从候选列表中删除。
正则化方法中 发表DropBlock的人详细比较了他们的方法和其他方法,他们的正则化方法赢得了很多。 因此,我们毫不犹豫地选择DropBlock作为我们的正则化方法。
归一化方法 的选择,由于我们专注于只使用一个GPU的训练策略,所以不考虑同步BN。
其他改进
为了使设计的检测器更适合于单个GPU上的训练,我们进行了以下额外的设计和改进:
我们引入了一种新的数据增强马赛克和自对抗训练(SAT)的方法
我们在应用遗传算法的同时选择了最优的超参数。
我们修改了一些现有的方法,使我们的设计适合于有效的训练和检测-修改SAM、修改PAN和Cross mini-Batch Normalization(CMBN)
马赛克数据增强 方法,它混合了4幅训练图像。因此,4个不同的上下文是混合的,而CutMix只混合了2个输入图像。这允许检测正常环境之外的对象。此外,批量标准化从每层上的4个不同图像计算激活统计。这大大减少了对large mini-batch 的需求。
Self-Adversarial Training(SAT) 也代表了一种新的数据增强技术,它在两个前向后阶段运行。 在第一阶段,神经网络改变原始图像而不是网络权重。 通过这种方式,神经网络对自己执行对抗性攻击,改变原始图像以创建图像上没有所需对象的欺骗。 在第二阶段,神经网络被训练以正常的方式检测这个修改后的图像上的物体。
CmBN 表示一个CBN修改版本,如上图所示,定义为Cross mini-Batch Normalization(cm BN)。 这只收集单个批次内的微型批次之间的统计数据。
point-wise attention 我们将SAM从空间注意修改为点注意,并将PAN的shortcut connection 替换为级联,分别如图5和图6所示
YOLOv4详细
**
• Backbone: CSPDarknet53 [81]
• Neck: SPP [25], PAN [49]
• Head: YOLOv3 [63]**
YOLO v4使用 优化方法:
Bag of Free bies(BoF) 主干:
- CutMix
- Mosaic data augmentation
- DropBlock regularization
- Class label smoothing
Bag of Specials(BoS)主干:
- Mish activation
- Cross-stage partial connections (CSP)
- Multi input weighted residual connections (MiWRC)
Bag of Free bies(BoF)检测器 :
- CIoU-loss
- CmBN
- DropBlock regularization
- Mosaic data augmentation
- Self-Adversarial Training
- Eliminate grid sensitivity
- Using multiple anchors for a single ground truth
- Cosine annealing scheduler [52]
- Optimal hyperparameters
- Random training shapes
Bag of Specials (BoS) 检测器 :
- Mish activation
- SPP-block
- SAM-block
- PAN path-aggregation block
- DIoU-NMS
实验
我们测试了不同训练改进技术对Image Net(ILSVRC2012VAL)数据集上分类器精度的影响,然后对MSCOCO(test-dev2017)数据集上检测器的精度进行了测试。
在Image Net图像分类实验中,默认的超参数为:
- 训练步骤为8000,000;
- batch size & the mini-batch size分别为128和32;
- 采用多项式衰减学习速率调度策略,初始学习速率为0.1;
- the warm-up steps 为1000;
- 动量和权重衰减分别设置为0.9和0.005。
我们所有的BoS实验都使用与默认设置相同的超参数,
在BoF实验中,我们增加了50%的额外训练步骤。
在BoF实验中,我们验证了混合、切割混合、马赛克、混合数据增强和标签平滑正则化方法。
在BoS实验中,我们比较了LRELU、Swish和Mish激活函数的影响。
所有实验都用1080Ti或2080Ti GPU训练。
在MSCOCOO目标检测实验中,默认的超参数如下:
- 训练步骤为500,500;
- 采用初始学习速率0.01的步长衰减学习速率调度策略,在40万步和45万步分别乘以因子0.1;
- 动量和权重衰减分别设置为0.9和0.0005。
- 所有体系结构都使用单个GPU在64的批处理大小中执行多尺度训练,而小批处理大小为8或4取决于体系结构和GPU内存的限制。
除了使用遗传算法进行超参数搜索实验外,所有其他实验都使用默认设置。
遗传算法使用YOLOv3-SPP训练GIOU损失,
并搜索300个epochs for min-val 5k sets.
学习率0.00261,
动量0.949,
IoU阈值来分配 ground truth0.213,
loss normalizer 0.07用于遗传算法实验。
我们验证了大量的BoF,包括网格灵敏度消除、镶嵌数据增强、IoU阈值、遗传算法、类标签平滑、交叉小批量归一化、自对抗训练、 cosine annealing scheduler、动态小批量尺寸、降块、优化锚、不同类型的IoU损耗。
我们还对各种BoS进行了实验,包括Mish、SPP、SAM、RFB、BiFPN和高斯YOLO[8]。
对于所有实验,我们只使用一个GPU进行训练,因此不使用优化多个GPU的同步BN等技术。
不同特征对分类器训练的影响
首先,我们研究了不同特征对分类器训练的影响;
在我们的实验中, BoF和Mish对CSPRes NeXt-50分类器精度的影响。如表所示:
BoF和Mish对CSPDarknet-53分类精度的影响如表所示:
不同特征对探测器训练的影响
进一步的研究涉及到不同Bag-of Freebies (BoF-detector)对探测器训练精度的影响,如下表所示。 我们通过研究不同的特征来在不影响FPS的情况下提高了探测器的精度,从而显著地扩展了BoF列表:
其中:
S: 消除网格灵敏度的方程:
bx = σ(tx)+cx
by = σ(ty)+cy
其中CX和Cy总是整数,用于评估对象坐标,因此,对于接近cx or cx + 1值的 bx值,需要极高的tx绝对值。 我们通过将
sigmoid 乘以超过1.0的因子来解决这个问题,从而消除了物体无法检测到的网格的影响。M:马赛克数据增强-在训练过程中使用4图像马赛克,而不是单一图像
IT:Io U阈值-使用多个锚对一个地面真相Io U(真相,锚)>Io U阈值
GA:遗传算法-使用遗传算法在前10%的时间段选择网络训练期间的最优超参数
LS:类标签平滑-使用类标签平滑进行Sigmoid激活
CBN:CMBN-使用交叉迷你匹配归一化收集整批内的统计数据,而不是在单个小批
CA:Cosine退火调度程序中收集统计数据-改变正弦训练期间的学习速率
DM:动态小批量大小-在小分辨率训练期间通过使用随机训练形状自动增加小批量大小
OA:优化锚-使用优化的锚来训练512x512网络分辨率·GioU,CIoU,DIoU,MSE-使用不同的损失算法进行有
进一步的研究涉及不同的Bagof-Specials(BoS-检测器)对探测器训练精度的影响,包括PAN、RFB、SAM、高斯YOLO(G)和ASFF,如下表所示。 在我们的实验中,当使用SPP、PAN和SAM时,检测器获得了最佳的性能
backbones和预训练权重对 Detector 训练的影响
进一步研究了不同骨架模型对探测器精度的影响,如表6所示。 我们注意到,具有最佳分类精度的模型在检测器精度方面并不总是最好的。
首先,虽然不同特征训练的CSPRESNEXt-50模型的分类精度高于CSPDarknet53模型,但CSPDarknet53模型在目标检测方面显示出更高的精度。
第二,使用Bof和Mish对CSPResNeXt50分类器进行训练,提高了分类精度,但进一步应用这些预先训练的权重进行检测器训练,降低了检测器的精度。 然而,使用Bof和Mish进行CSPDarknet53分类器训练可以提高分类器和使用该分类器预先训练的权重的检测器的精度。 结果表明,骨干CSPDarknet53比CSPRESNeXt50更适合于探测器。
我们观察到,由于各种改进,CSPDarknet53模型显示了提高检测器精度的更大能力。
不同 mini-batch 对 Detector 训练的影响
最后,我们分析了用不同小批量尺寸的模型训练得到的结果,结果如表7所示。 从表7所示的结果中,我们发现,在加入BoF和BoS训练策略后,小批尺寸对探测器的性能几乎没有影响。 这一结果表明,在引入BoF和BoS后,不再需要使用昂贵的GPU进行培训。 换句话说,任何人都只能使用传统的GPU来训练优秀的检测器。
图8:不同对象检测器的速度和精度比较。 (有些文章指出,它们的探测器的FPS只适用于一个GPU:Maxwell/Pascal/Volta)
表8:MSCOCO数据集上不同对象检测器的速度和精度的比较(testdev2017)。 (此处突出显示FPS30或更高的实时检测器。 我们将结果与批处理=1进行比较,而不使用张量RT。 )
表9:MSCOCO数据集上不同对象检测器的速度和精度的比较(test-dev2017)。 (此处突出显示FPS30或更高的实时检测器。 我们将结果与批处理=1进行比较,而不使用张量RT。 )
表10:MSCOCO数据集上不同对象检测器的速度和精度的比较(test-dev2017)。 (此处突出显示FPS30或更高的实时检测器。 我们将结果与批处理=1进行比较,而不使用张量RT。 )
结果
与其他最先进的对象检测器的结果比较如图8所示。 我们的YOLOv4位于帕累托最优曲线上,在速度和精度方面都优于最快和最精确的检测器。 由于不同的方法使用不同体系结构的GPU进行推理时间验证,我们在Maxwell、Pascal和Volta体系结构的常用GPU上操作YOLOv4,并与其他最先进的方法进行比较。 表8列出了使用Maxwell GPU的帧速率比较结果,可以是GTXTitanX(Maxwell)或TeslaM40GPU。 表9列出了使用Pascal GPU的帧速率比较结果,可以是TitanX(Pascal)、TitanXp、GTX1080Ti或TeslaP100GPU。 至于表10,它列出了使用Volta GPU的帧速率比较结果,可以是Titan Volta或TeslaV100GPU。
结论
我们提供了一种最先进的检测器,它比所有可用的替代检测器更快(FPS)和更准确(MSCOAP50.95和AP50。 所描述的检测器可以在具有8-16GB-VRAM的常规GPU上进行训练和使用,这使得它的广泛使用成为可能。 一段锚基探测器的最初概念证明了它的可行性。 我们已经验证了大量的特征,并选择使用这些特征来提高分类器和检测器的精度。 这些特点可作为今后研究和发展的最佳做法。
References:自己去论文里看吧