Florence-2 主要解决的问题是如何把多种视觉任务统一为一个生成模型,为了达成这样的目标,在 Florence-2 算法中涉及到三个主要的部分:1. DaViT 视觉编码器,用于提取图片的语义信息;2. 多模态融合,用于提示词和图像语义的拼接;3. 多模态编解码器,根据指定的任务 prompt,生成最终的任务结果。这一套方案将众多领域的视觉问题都转化成了生成问题,对于数据的共享,输出的...
YOLO v3 整体上与 YOLO v2 结构上保持一致,保留了锚框的机制,但在各细节上,也是吸收了其他模型的发展,把一些优秀的设计引入到 YOLO v3 中,总结起来来看,主要有这样几点:1. 更深的网络,从 YOLO v2 中使用的 Darknet-19 提升到了 Darknet-53,通过更深的网络和残差连接获取更强的特征表达能力;2. 借鉴了特征金字塔 FPN,解决多尺度目标检测的问...
ViT 首次使用 Transformer 处理图像,证明了 Transformer 在视觉领域的可行性,Swin Transformer 则是在 ViT 的基础上,结合了图像的特点,设计了 W-MSA 和 SW-MSA 两种基于窗口的 Attention 计算方法,将 ViT 中基于全局的 Attention 的算法时间复杂度降低,同时,在 Block 之间加入 Patch Merging,...
目标检测从最初的基于候选框与密集预测开始,通过在预设的位置或者候选框上预测类别和边界框,这个阶段,代表性的算法有 Faster R-CNN、YOLO、RetinaNet 等;DETR 摒弃了这一套的思路,基于 Transformer 框架,将目标检测问题转换成集合预测的问题,在整个检测过程中,终于没有了繁杂的后处理流程,而且也不再需要 Anchor 的操作;Pix2Seq 算法进一步将目标检...
CLIP 利用图像编码器和文本编码器将图片-文本对映射到一个共享的语义空间中,并通过对比学习,同时调整两个编码器的参数,使得在同一个语义空间中,匹配的图片-文本对之间的相似度高,不匹配的图片-文本对之间的相似度尽量变差,以此得到两个编码器。有了这两个编码器之后,可以完成很多基于相似度计算的下游任务,同时,也为后续的模型发展提供了一些思路,成为发展史上很重要的一环。
DETR 算法将 Transformer 引入到目标检测中,但是缺失了预测边框与 Ground Truth 之间的对应关系,在 DETR 中,将目标检测视为集合预测问题,并利用 Transformer 的编码器-解码器架构和基于集合的全局损失函数,从而简化了检测流程并去除了传统组件如非极大值抑制和锚框生成,相比较于之前的 Faster R-CNN 以及 YOLO 等算法,DETR 已经在端到...
FPN 是 CNN 网络的一个重要模块,通常伴随着一个具体任务存在,如目标检测。FPN 的核心是对多个语义特征层采用横向连接和自顶向下的连接,这样简单的操作就能解决目标检测中的多尺度问题,让浅层特征获得更强的语义,让高层特征保留多尺度表达。
RetinaNet 的网络和运行机制也是结合了 YOLO 和 Faster R-CNN,以及在此基础上增加的特征金字塔 FPN,但实际上,更大的贡献在于 Focal Loss 损失函数的设计,更优雅的解决了单阶段目标检测算法的正负样本问题,Focal Loss 的成功也深刻影响了后续许多单阶段目标检测算法的设计。
在 FCOS 算法中,完全移除了与锚框相关的复杂计算和大量超参数,使模型设计更简单,训练更稳定,同时,FCOS 通过逐像素预测和中心度这两个核心设计,在保持单阶段检测器速度优势的同时,实现了与两阶段检测器相媲美的精度,为后续的无锚框检测算法奠定了重要基础。
SSD 借鉴了 YOLO v1 的单阶段的目标检测的速度优势,同时又借鉴了 Faster R-CNN 中 Anchor 的设计逻辑,增加了先验框,相比较与 two-stage,保留了速度的优势,同时又能提升整体的效果;在此基础上,还采用了层级的特征图,优化了在 YOLO v1 中只有单个特征图的问题,能够同时适应大目标和小目标。要注意一点的是,在 SSD 中先验框是相对于原图设计的,其先验框...
YOLO v2 在 YOLO v1 的基础上,重点解决 YOLO v1 的两个痛点:定位不够准和召回率偏低。通过引入 Anchor Box,并在 Anchor Box 的基础上,学习基于此的微调,能够极大降低学习的难度;同时,每个 cell 引入了 5 个 Anchor Box,再加上两个语义特征层,可召回的数量极大提升,这也奠定了 YOLO 的基本框架,为后续的优化升级奠定了基础。
YOLO v1 的提出开创了 one-stage 的目标检测,检测速度得到了极大提升,但是从上述 YOLO v1 的整个过程来看,YOLO v1 中也存在着很多的问题,如每个 cell 预测 B 个候选框,如果两个物体靠得很近,检测效果并不好,同时也导致对密集物体的检测效果欠佳;算法中对负样本的定义,导致了大量背景负样本的存在,缺乏对困难负样本的学习,这也会导致模型效果受到影响。得益于其优秀...
REINFORCE 算法是最经典、最基础的 Policy Gradient(策略梯度)算法,由 Ronald J. Williams (1992) 提出,直接对策略建模,寻找到最优的策略使得总体回报的期望最高。在此基础上,在 REINFORCE 的梯度公式中,减去一个与动作无关的基线 b,可以在不引入偏差的情况下降低梯度方差,从而提升训练稳定性,并通常提高收敛效率。
Fast R-CNN 在 R-CNN 的基础上,通过 CNN 对全图提取特征,同时保留了 Selective Search 在原图生成 RoI 的过程,通过特征映射将原图的 RoI 映射到特征图上,最后通过 RoI Pooling 得到固定的尺寸,方便后续的分类和回归计算。纵观整个过程,Proposal Region 的特征计算只需要一次 CNN 计算加上特征映射就能完整,同时,摒弃掉了 R...
SwiGLU 激活函数的全称是 Swish‑Gated Linear Unit,现在已经成为 LLM 中的标配激活函数,实际上,SwiGLU 激活函数是由两部分组成的,分别是 Swish 激活函数和 GLU(Gated Linear Unit)激活函数,集合了两个激活函数的特点。