现代目标检测故事(二)

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 现代目标检测故事

FPN 可以为所有尺度特征图提供高级语义,这可以有效降低检测中的误检率。它成为了未来检测模型的标准模块,同时也引起了很多基于FPN改进的模块的出现,如 PANet、NAS-FPN 和 EfficientNet。

R-FCN

R-FCN

在 R-FCN 中,输入图像经过主干网络获得特征图,然后将特征图送入分类子网络和回归子网络中。分类子网络包括一组卷积层,每个卷积层对应一个类别,所有类别共享权值。回归子网络的每个卷积层都对应一个位置,用于预测边界框的四个参数(中心坐标以及宽度和高度)。这种共享卷积层的方式使得 R-FCN 在计算效率方面优于其他两阶段检测算法,同时也能保留了不错的精度。具体地,首先输入图像先经过 ResNet-101 获得特征图,然后将中间输出(Conv4 层)传递给区域建议网络(RPN)以确定 RoI 候选区域,最终输出经过卷积层处理后输入到分类器和回归器。R-FCN 使用位置敏感得分图来编码主体的相对空间信息,并在后期使用池化层以确定精确的定位。R-FCN 使用了一个分类层和一个回归层,分别用于生成预测类别和输出边界框位置坐标。分类层结合了位置敏感映射和 RoI 建议(RoI,即感兴趣区域)来生成预测。分类层和回归层使用交叉熵和边界框回归损失函数进行训练。R-FCN 的训练过程和 Faster-RCNN 类似也是包括四个步骤,此外在训练过程中还使用了在线困难样本挖掘(OHEM)。在线困难样本挖掘是一种训练方法,用于选择较难预测的样本进行训练,可以有效提高模型的泛化能力。

Dai 等人提出了一种新方法来解决卷积神经网络中的平移不变性问题。R-FCN 将 Faster R-CNN 和 FCN 结合起来,实现了一个快速且更准确的检测器。尽管 R-FCN 的准确率没有多大提高,但是它的速度比其对手快了 2.5-20 倍。

Mask R-CNN

640.png

Mask R-CNN

Mask R-CNN 是一种扩展了 Faster R-CNN 的双阶段目标检测算法,它在 Faster R-CNN 的基础上增加了一个并行分支,其用于像素级目标实例分割。该分支是一个在 RoI 上应用的全连接层,用于将每个像素分类以完成扩展的分割任务。它使用类似于 Faster R-CNN 的基本架构进行目标区域建议,并增加了一个Mask Head并行于分类 Head 和回归 Head。Mask R-CNN与 Faster R-CNN最主要区别是前者使用 RoIAlign 层,而不是 RoIPool 层,这可以避免由于空间量化而导致的像素不对齐问题。作者选择 ResNeXt-101 作为其主干网络,并使用特征金字塔网络(FPN)来提高准确率。此外,Mask R-CNN 的总体训练过程类似于 Faster R-CNN。

Mask R-CNN 的性能优于当时所有的双阶段检测算法,并且在只需很少的额外计算开销下增加了实例分割功能。它的训练简单、灵活,并且在关键点检测、人体姿态估计等应用中很好地推广。然而,它的实时推理速度(即每秒帧数)仍低于 30 fps。

DetectoRS

Unrolling RFP to an example 2-step sequential implementation

许多当代的双阶段检测算法均是使用“先查看再思考”机制,即先计算目标候选区域,再使用它们来提取特征来进行目标的分类与定位。DetectoRS 在网络的宏观和微观层面都应用了这种机制。在宏观层面,他们提出了递归特征金字塔(RFP),由多个特征金字塔网络(FPN)堆叠而成,并从 FPN 的自上而下层路径向 FPN 的自下而上层添加了额外的反馈连接。FPN 的输出在传递到下一个 FPN 层之前由空洞空间金字塔池化层(ASPP) 处理。DetectoRS 使用融合模块将来自不同模块的 FPN 输出结合起来以生成注意力图。在微观层面,Qiao 等人提出了可切换扩张卷积(SAC)来调节卷积的扩张率。使用 5x5 滤波器的平均池化层和 1x1 卷积作为切换函数来决定扩张卷积的速率,帮助主干网络实时检测不同尺度的物体。他们还将 SAC 嵌入在两个全局上下文模块之间,因为这有助于使切换更稳定。简单来说,递归特征金字塔和可切换扩张卷积的结合形成了 DetectoRS。

DetectoRS 结合了多个组件/模块来提高检测算法的性能,并成为了当时双阶段检测算法的SOTA水平。它的 RFP 和 SAC 模块具有很好的泛化性,可以用于其他检测模型。但由于它推理速度只达到约4FPS,并不适用于实时检测。

单阶段检测器

YOLOv1

YOLOv1

双阶段检测算法在第一阶段会将目标检测视为分类问题,区域建议模块提供了一些候选预取,网络将其分类为前景或背景。然而,YOLO 将其重新定义为纯回归问题,直接将图像像素预测为目标的类别及其边界框坐标。 在 YOLO 中,输入图像被划分为 S x S 网格,负责检测该物体的网格单元位于目标中心所在的单元格。一个网格单元预测多个边界框,每个预测数组由 5 个元素组成:边界框中心的 x 和 y 坐标、宽高 w 和 h,以及置信度得分。

YOLO 的灵感来自于提出小卷积层级联的图象分类模型 GoogLeNet。它预先在 ImageNet 数据上训练,直到模型达到高精度,然后通过添加随机初始化的卷积层和全连接层进行微调。YOLO 使用多任务损失(multitask loss)来优化模型,多任务损失即是所有预测分支的组合损失。此外,YOLO也是使用非最大抑制(non maximum suppression,NMS)删除类特定的多次检测。YOLO 在各种网络规模和计算资源之间提供了很好的平衡,并且可以在实时应用中使用。然而,它在处理小物体方面表现较差,并且易受到光照变化的影响。这些问题在后续的YOLO系列版本中得到改善。

SSD

640.png

SSD

Single Shot MultiBox Detector(SSD)是第一个与 Faster R-CNN 等双阶段检测算法精度相当的单阶段检测算法,同时实现了实时的推理速度。SSD 基于 VGG-16 构建,并添加了附加结构以提高网络性能。这些附加卷积层添加到模型末尾,并且输出特征图逐渐减小。当图像分辨率较大时,SSD 可以利用此部分特征来检测较小的物体,而较深层则负责默认框和宽高比的偏移。

在训练期间,SSD 会将每个GT 与具有最佳 jaccard 重叠的网络预测框进行匹配,并按照此训练网络。此外,它还使用了困难负样本挖掘和大量数据增强。与 DPM 类似,它使用位置和置信度损失的加权和来训练模型,最后再通过NMS获得预测结果。

尽管 SSD 比 YOLO 和 Faster R-CNN 等最先进的网络都快得多且更准确,但它在检测小物体方面仍存在困难。后来,通过使用更好的主干网络(如 ResNet)和其他的高级技术来解决了这个问题。

YOLOv2 and YOLO9000

YOLOv2

YOLOv2 是 YOLO 的改进版,在速度和精度之间提供了更好的权衡,而 YOLO9000 模型则可以实现实时预测 9000 个目标类别。他们用 DarkNet-19代替 GoogLeNet 成为检测算法的主干架构。它结合了许多令人印象深刻的技术:批量归一化以提高收敛性、分类和检测系统的联合训练以增加检测类别、删除全连接层以增加运行速度以及使用锚框机制以提高召回率并具有更好的先验知识。Redmon 等人还通过使用 WordNet 将分类和检测数据集结合在层次结构中。其中WordTree 可用于预测更高的上位词的条件概率,即使下位词未被正确分类,从而提高系统的整体性能。YOLOv2 在精度和速度方面都比先前的 YOLO 模型有显著提高,并且可以达到实时预测的能力。然而,它在检测小物体方面仍存在困难,并且易受到光照变化的影响。

RetinaNet

RetinaNet

Lin 等人认为单阶段检测算法精度低于双阶段检测算法的原因是“极端的前/背景类别不平衡” 。他们提出了一种称为 Focal loss 的重构交叉熵损失来改善这种不平衡问题。Focal loss 可以减少简单样本的损失贡献,同时增加困难样本的损失贡献。作者通过简单的单阶段检测算法 RetinaNet 展示了它的有效性,该检测算法通过密集采样输入图像的位置、尺度和宽高比来预测目标。如上图所示,它使用由 FPN 扩展的 ResNet 作为主干网络,以及两个类似的子网作为分类器和边界框回归器。在训练过程中,RetinaNet 使用 Focal loss 减少简单样本对损失的贡献,从而更多地关注困难样本。这有助于解决类别不平衡问题,并使 RetinaNet 在单阶段检测算法中获得了领先的性能。RetinaNet 还使用了在 FPN 中提出的概念,即通过使用更小的卷积核在不同的感受野之间获得更多的分辨率和精度。这有助于 RetinaNet 在检测小物体方面取得成功。 RetinaNet 的 FPN 的每一层都传递给子网,使其能够在不同尺度下检测目标。分类子网为每个位置预测目标分数,而边界框回归子网则对每个锚的偏移量进行回归以与真实值匹配。两个子网都是小的 FCN,并在各个网络之间共享参数。与大多数先前的工作不同,作者采用了无类别边界框回归器,并发现它们同样有效。

RetinaNet 训练简单、收敛快,易于实现。它在精度和运行时间方面都比双阶段检测器取得了更好的性能。此外,RetinaNet 还通过引入新的损失函数,推进了目标检测算法优化的方式。

YOLOv3

640.png

YOLOv3

YOLOv3 对比之前的 YOLO 版本有不少的改进,其中包括将主干网络替换为更大的 Darknet-53 网络。此外,还结合了各种技术,如数据增强、多尺度训练、批归一化等。分类层中的 Softmax 被逻辑分类器取代。

尽管 YOLOv3 比 YOLOv2更快,但它没有从其前任中带来任何突破性的变化。

CenterNet

CenterNet

Zhou 等人提出的CenterNet采用了一种非常不同的方法,即将目标建模为点,而不是传统的边界框表示。 CenterNet 预测目标为边界框中心的单个点:输入图像通过 FCN 生成热图,其峰值对应于检测到的目标中心。它使用 Hourglass-101作为特征提取网络,并具有 3 个头 - 热图头来确定目标中心,维度头来估计目标大小,偏移头来纠正目标点的偏移。在训练时,三个头的多任务损失都被反向传播到特征提取器。在推理期间,使用偏移头的输出来确定目标点,最后生成预测框。由于预测是点而不是边界框,因此不需要 NMS 进行后处理。

CenterNet 抛弃了传统的边界框表示方式,为目标检测领域带来了一种全新的视角。它比之前的单阶段检测算法更准确,推理时间更短。它在多种任务(如 3D 目标检测、关键点估计、姿态、实例分割、方向检测等)中均具有很高的精度。

EfficientDet

EfficientDet

EfficientDet 旨在构建具有更高准确率和运行效率的可扩展检测算法。它引入了有效的多尺度特征、BiFPN 和模型缩放策略。BiFPN 是双向特征金字塔网络,具有可学习的权重,用于在不同尺度的输入特征之间进行交叉连接。它通过删除一个输入节点并添加一个额外的横向连接来改进 NAS-FPN,从而减少了效率较低的节点,并增强了高级特征融合。与使用更大、更深的主干网络或堆叠 FPN 层来扩展的现有检测算法不同,EfficientDet 引入了一个复合系数,可用于“联合缩放主干网络、BiFPN 网络、分类器/回归器和分辨率的所有维度”。EfficientDet使用EfficientNet 作为主干网络,并在其中堆叠多组BiFPN层作为特征提取网络。每个最终BiFPN层的输出都被发送到类别和边界框预测网络。模型使用SGD优化器进行训练,并使用同步批归一化和swish激活,这能加快网络收敛速度并提高网络精度。

EfficientDet在更小、计算成本更低的情况下,比以前的检测算法实现了更好的效率和准确性。它易于扩展,在其他任务上推广良好,达到了当时单阶段检测算法的SOTA水平。

YOLOv4

640.png

YOLOv4

YOLOv4是一种快速且易于训练的目标检测算法,可以在现有生产系统中工作。它使用了“免费物品袋”,即仅增加训练时间而不影响推理时间的方法。YOLOv4使用数据增强技术、正则化方法、类标签平滑、CIoU损失、交叉小批量标准化(CmBN)、自我对抗训练、余弦退火调度器和其他技巧来提高训练。只影响推理时间的方法,称为“Bag of Specials”,也被添加到网络中,包括Mish激活、跨阶段部分连接(CSP)、SPP块、PAN路径聚合块、多输入加权剩余连接(MiWRC)等。它还使用遗传算法搜索超参数。它具有在ImageNet上预训练的CSPNetDarknet-53骨干网络、SPP和PAN块颈部以及YOLOv3作为检测头。

大部分的检测算法需要用到多张GPU显卡进行训练,但YOLOv4可以仅用一张GPU显卡就能训练。并且它的推理速度比EfficientDet快两倍,这表现出强大的竞争力。

Swin Transformer

Swin Transformer

Transformer 是一种新型的神经网络架构,最初用于自然语言处理(NLP)领域,在诸如BERT(双向编码器表示 Transformer),GPT(生成预训练 Transformer),T5(文本到文本 Transformer)等语言模型中取得了巨大成功。Transformer 使用注意力模型来建立序列中元素之间的依赖关系,并且可以关注到比其他顺序架构更长的上下文信息。Transformer 在NLP领域的成功引发了人们对其在计算机视觉领域应用的兴趣。尽管CNN一直是视觉领域发展的支柱,但它们有一些固有的缺点,例如缺乏对全局上下文的关注以及固定的训练权重等。

Swin Transformer是一种基于 Transformer 的计算机视觉任务后端。首先,它将输入图像分割成多个不重叠的patch,并将它们转换为Embedding。然后,在4个编码阶段中对patch应用多个Swin Transformer模块,每个后继编码阶段减少patch的数量以保持分层表示。Swin Transformer模块由基于连续块中交替移位的局部多头自注意力(MSA)模块组成。在局部多头自注意力中,计算复杂度与图像大小呈线性关系,而移位窗口允许跨窗口连接。作者还通过大量实验表明,移位窗口仅需很少的开销便可增加检测精度。Swin Transformer 在MS COCO数据集上取得了最优的结果,但是与CNN相比拥有更多的参数。

YOLOv5

YOLOv5

YOLOv5 是 one stage 的目标检测算法,该算法在 YOLOv4 的基础上添加了一些新的改进思路,使得其速度与精度都得到了极大的性能提升,具体包括:输入端的 Mosaic 数据增强、自适应锚框计算、自适应图片缩放操作、Focus 结构、CSP 结构、SPP 结构、FPN + PAN 结构、CIOU_Loss 等。

在 YOLOv3、YOLOv4 中,训练不同的数据集时,是使用单独的脚本进行初始锚框的计算,在 YOLOv5 中,则是将此功能嵌入到整个训练代码里中。所以在每次训练开始之前,它都会根据不同的数据集来自适应计算 anchor。此外,YOLOv5 提出一种方法能够自适应的添加最少的黑边到缩放之后的图片中,有效地提升了网络的推理速度。对于主干网络,YOLOv5使用了Focus模块使得信息不丢失的情况下提高计算力(在新版中,Focus模块替换为6 x 6 的卷积层。两者的计算量是等价的,但是对于一些 GPU 设备,使用 6 x 6 的卷积会更加高效),不同于 YOLOv4 只有主干网络使用了 CSP结构,YOLOv5 设计了两种 CSP 结构。其中,CSP1_X 应用于 Backbone,另一种 CSP2_X 则是应用于 Neck 中。在训练策略部分,YOLOv5 使用了多尺度训练,具体地,如果网络的输入是416 x 416。那么训练的时候就会从 0.5 x 416 到 1.5 x 416 中任意取值,但所取的值都是32的整数倍。此外,训练开始前会使用 warmup 进行训练,以及 cosine 学习率下降策略和 EMA 更新权重等技巧。在损失函数部分,采用的依旧是由 Classes loss、Objectness loss、Location loss组成。(1)Location loss 采用的是 CIOU loss,这里只会计算正样本的定位损失。(2)Classes loss 和 Objectness loss 采用的是 BCE loss,其中 Classes loss 也只会计算正样本的分类损失。(3)Objectness loss 是使用所有样本进行反向传播的计算,并且这里用的是网络预测的目标边界框与 GT Box 的CIOU。

YOLOv5 是一种非常快、性能强并且易用使用的目标检测算法。它提供了多个不同量级的参数模型应对不同的任务场景,目前被研究人员和从业人员广泛关注与使用。

YOLOX

YOLOX检测头

YOLOv5面世不久后,旷世科技发表了研究改进的 YOLOX 算法,其主要贡献是在 YOLOv3 的基础上靠着 Decoupled Head、SimOTA 等方式进行优化。

不同Yolov3、Yolov4、Yolov5采用的都是 Anchor Based的方式来提取目标框。YOLOX 将 Anchor free 的方式引入到 YOLO 系列中,使用anchor free方法有如下好处:(1)降低了计算量,不涉及IoU计算,另外产生的预测框数量也更少;(2)缓解了正负样本不平衡问题;(3)避免了anchor的调参。在数据增强与网络结构部分,YOLOX 与 YOLOv5 大同小异,主要的区别在检测头和正负样本分配。在检测头部分,YOLOX 使用了解耦头(Decoupled Head)结构。具体地,通过将分类和回归任务进行分开预测,避免这两种不同类型的任务形成冲突状态,有效地加快了模型收敛速度以及提升了模型精度。在正负样本分配策略中,YOLOX 使用了SimOTA 算法,其主要思想是为图像中的所有 gt 找到全局的高置信度分配,这极大地改善了在开放场景中常见的多目标耦合问题。

YOLOv6

YOLOv6

YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。该框架同时专注于检测的精度和推理效率,在工业界常用的尺寸模型中,对比同级别参数的 YOLO 模型,YOLOv6 表现出非常具有竞争力的性能。在部署方面,YOLOv6 支持 GPU(TensorRT)、CPU(OPENVINO)、ARM(MNN、TNN、NCNN)等不同平台的部署,极大地简化工程部署时的适配工作。

YOLOv6 主要在 Backbone、Neck、Head 以及训练策略等方面进行了改进。首先是设计了更高效的 Backbone 和 Neck: 受到硬件感知神经网络设计思想的启发,基于 RepVGG style 设计了可重参数化、更高效的骨干网络 EfficientRep Backbone 和 Rep-PAN Neck。其次是更简洁有效的 Efficient Decoupled Head,在维持精度的同时,进一步降低了一般解耦头带来的额外延时开销。最后,在训练策略上采用了Anchor free 范式,同时辅以 SimOTA标签分配策略以及 SIoU 边界框回归损失来进一步提高检测精度。

YOLOv7

YOLOv7

王建尧博士与AB大神在2022年七月初推出了最新力作 - YOLOv7,该算法在5FPS~160FPS范围内的速度和准确度都超过了所有已知的目标检测算法,像是基于 Transformer 的 SWIN-L-Cascade-Mask R-CNN、基于卷积的 ConvNeXt-XL,Cascade-Mask R-CNN、YOLO 系列的 YOLOv4, Scaled-YOLOv4, YOLOR, YOLOv5, YOLOX, PPYOLO、还有 DETR, Deformable DETR, DINO-5scale-R50, ViT-Adapter-B 等。

YOLOv7 减少了当今实时目标检测 SOTA 算法约40%的参数量和50%的计算量,主要分为两个方面进行优化:模型架构优化和训练过程优化,针对模型架构优化,作者提出了有效利用参数和计算量的 extended 和 scaling 方法,而针对训练过程优化,在YOLOv4 中将“以增加训练成本为代价提高准确率,但是不会增加推理成本的方法”,成为 bag-of-freebies,在 YOLOv7 中使用重参数化技术替换原始的CNN模块和使用 动态标签分类策略,将label 更有效利地分配给不同的输出层。

DAMO-YOLO

DAMO-YOLO

DAMO-YOLO 是阿里达摩院在2022年11月份提出的一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现 SOTA 的同时,保持了很高的推理速度。DAMO-YOLO 是在 YOLO 框架基础上引入了一系列新技术,对整个检测框架进行了大幅的修改。具体包括:基于 NAS 搜索的新检测 backbone 结构,更深的 neck 结构,精简的 head 结构,以及引入蒸馏技术实现效果的进一步提升。模型之外,DAMO-YOLO还提供高效的训练策略以及便捷易用的部署工具,能够快速解决工业落地中的实际问题。

在网络的Backbone部分,不同于之前的 YOLO 系列算法的 Backbone 都是通过人工设计的,DAMO-YOLO 利用了其自研的一种启发式和免训练的 NAS 搜索方法,最终搜出来的 Backbone 结构能在同量级的模型复杂度下获得更优的模型精度和推理速度。在 Ncek 部分,DAMO-YOLO 使用了 RepGFPN 结构,对比传统的 PAFPN 结构,RepGFPN 能够充分交换高级语义信息和低级空间信息。具体地,将GFPN和重参数化技术结合增加特征提取能力,此外,通过多尺度特征融合发生在前一层和当前层的不同尺度特征中,log_2(n)的跨层连接提供了更有效的信息传输,可以扩展到更深的网络。在 Head 部分,作者提出了 ZeroHead结构,不同于此前检测算法常用的解耦头结构(Decouple Head),该结构只保留了用于分类和回归任务的一层线性投影层。通过将 RepGFPN 与 ZeroHead 这种大 Neck 和 小 Head 的搭配,进一步提升了 DAMO-YOLO 的性能。接下来是正负样本分配部分,DAMO-YOLO 基于最优传输分配算法(OTA)提出了 AlignOTA,其是针对在计算目标框和 GT 匹配时,分类与回归不对齐问题进行改进。最后是模型蒸馏,作者主要引入了两种技术,一个是对齐模块,用于把teacher和student的特征图大小进行对齐。另一个是归一化操作,用于弱化teacher和student之间数值尺度波动所造成影响,其作用可以看成是一种用于KL loss的动态温度系数。

DAMO-YOLO 是目标在精度和速度这两个关键指标上表现最佳的单阶段目标检测算法,并且已在 github 上开源

轻量级网络

在物联网 (IoT) 部署中,设计小型和高效的网络是重要的研究分支。这种趋势也影响到了高性能目标检测算法的设计。虽然许多目标检测算法可以实现出色的精度并实时推理,但对于边缘端/移动端来说,目前大部分的模型仍需要大量的计算资源,因此很难在这些设备上部署。

在过去,许多不同的方法都取得了令人兴奋的结果。利用高效的组件和压缩技术,如剪枝、量化、散列等,极大地提高了深度学习模型的运行效率。使用训练过的大型网络来训练较小的模型(称为蒸馏)也取得了有趣的结果。然而,在本节中,我们将探讨一些在边缘设备上实现高性能的轻量化神经网络。

SqueezeNet

SqueezeNet Module

近年来,卷积神经网络 (CNNs) 领域的最新进展主要集中在提高基准数据集上的准确度,这导致了模型大小和参数的激增。但在2016年,Iandola等人提出了一种名为SqueezeNet的更小、更智能的网络,它在保持性能的同时减少了大量的参数。他们通过采用三种主要设计策略来实现这一点,即利用较小的滤波器、将输入通道数减少到3x3滤波器以及将下采样层置于编码模块后方。前两种策略减少了参数数量,同时尝试保留准确性,而第三种策略则提高了网络的准确性。SqueezeNet的building模块称为fire模块,其由两层组成:一个挤压层和一个扩展层,每个层都具有ReLU激活。挤压层由多个1x1滤波器组成,而扩展层则是1x1和3x3滤波器的混合,从而限制了输入通道数。SqueezeNet架构由8个fire模块的堆栈构成,这些模块被压缩在卷积层之间。受ResNet启发,还提出了带有残差连接的SqueezeNet,该模型精度相比原始模型得到进一步的提高,作者还尝试使用Deep Compression ,并且与AlexNet相比,达到了510倍的模型大小差异,同时保持了基线准确度。SqueezeNet是提高神经网络体系结构硬件效率的优秀候选者。

MobileNet

MobileNet Module

MobileNet 不再使用缩小、剪枝、量化或压缩等传统的小型模型方法,而是使用了高效的网络架构。网络使用深度可分离卷积,将标准卷积分解为深度卷积和1x1点卷积。标准卷积使用编码所有输入通道的内核,并在一步中将它们结合起来,而深度卷积则使用编码每个输入通道的不同内核,并使用点卷积将输入结合起来。这种过滤和特征组合的分离降低了计算成本和模型大小。 MobileNet由28个独立的卷积层组成,每个卷积层后面都有批量归一化和ReLU激活函数。Howard等人还引入了两个模型缩小超参数:宽度和分辨率乘数,以进一步提高模型的速度并减小模型的大小。宽度乘数统一地控制网络的宽度,通过减小输入和输出通道,而分辨率乘数影响输入图像的大小及其在整个网络中的表示。对比常规模型,MobileNet的大小只是它们的1/10甚至更少,但实现了与这些模型相当的准确度。Howard等人还展示了它如何推广到各种应用,如人脸检测、地理定位和目标检测。然而,它和VGG一样模型结构设计过于简单并且线性,因此梯度流的途径较少。这些问题在该模型的后续迭代中得到了解决。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
6月前
|
机器学习/深度学习 自然语言处理 计算机视觉
CVPR 2024:生成不了光线极强的图片?微信视觉团队有效解决扩散模型奇点问题
【4月更文挑战第14天】中山大学和微信团队的研究者提出 SingDiffusion,一种解决扩散模型在处理极端亮度图像时的平均亮度问题的新方法。SingDiffusion 可无缝集成到预训练模型中,无需额外训练,通过处理 t=1 时间步长的采样问题,改善了图像生成的亮度偏差。在 COCO 数据集上的实验显示,相较于现有模型,SingDiffusion 在 FID 和 CLIP 分数上表现更优。
79 7
CVPR 2024:生成不了光线极强的图片?微信视觉团队有效解决扩散模型奇点问题
|
机器学习/深度学习 编解码 并行计算
现代目标检测故事(三)
现代目标检测故事
213 0
|
机器学习/深度学习 编解码 算法
现代目标检测故事(一)
现代目标检测故事
110 0
|
机器学习/深度学习 缓存 搜索推荐
GAN、扩散模型应有尽有,CMU出品的生成模型专属搜索引擎Modelverse来了
GAN、扩散模型应有尽有,CMU出品的生成模型专属搜索引擎Modelverse来了
131 0
|
机器学习/深度学习 编解码 vr&ar
DALL-E、「女娲」刷屏背后,多模态图像合成与编辑领域进展如何?
DALL-E、「女娲」刷屏背后,多模态图像合成与编辑领域进展如何?
171 0
|
计算机视觉 异构计算
手把手教你用Yolov5 (v6.2) 训练分类模型 基于《Kaggle猫狗大战》案例
手把手教你用Yolov5 (v6.2) 训练分类模型 基于《Kaggle猫狗大战》案例
手把手教你用Yolov5 (v6.2) 训练分类模型 基于《Kaggle猫狗大战》案例
|
机器学习/深度学习 缓存 自然语言处理
使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法(下)
使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法
312 0
使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法(下)
|
机器学习/深度学习 存储 人工智能
使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法(上)
使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法
199 0
使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法(上)
|
机器学习/深度学习 Go 计算机视觉
【论文泛读】 GooLeNet:更深的卷积网络
【论文泛读】 GooLeNet:更深的卷积网络
【论文泛读】 GooLeNet:更深的卷积网络
|
机器学习/深度学习 存储 算法
CVPR论文解读 | 弱监督的高保真服饰模特生成
本文在学术界率先提出,使用深度对抗生成网络拟合真实世界穿衣结果分布,设计投影算子来将服饰与人体粗略对齐结果投影至真实世界穿衣结果分布中,将此投影的结果作为虚拟试衣的预测结果。
346 0
CVPR论文解读 | 弱监督的高保真服饰模特生成