自建网站做外贸的流程,dw中网站建设的基本流程,wordpress整站密码访问,求个网站好人有好报百度贴吧摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准#xff0c;这些表示不进行微调#xff0c;即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变#xff0c;以探索计算机视…摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准这些表示不进行微调即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变以探索计算机视觉中类似的基础模型。 这种基础模型应该生成在任何任务上都可以开箱即用的视觉特征无论是在图像级别如图像分类还是像素级别如分割。 本文基于以往视觉判别式自监督学习方法如IBT提出如下改进
建立了一个自动pipeline从大量未经整理的图像集合中利用图像相似性过滤及利用聚类方法平衡数据集模式分布收集了一个小型多样化的语料库包含1.42亿张没有标签的图像开源了多种DINOv2预训练ViT具备比以往自监督ViT更优的性能证明了在大量数据上进行预训练自监督学习具有学习通用视觉特征的潜力 上图每一列都为对DINOv2的输出特征采用PCA后的主成分相互匹配的图像每张图对应的右侧图为前3个主成分特征可视化的结果。观察到采用无监督训练的DINOv2具备优秀的特征提取能力验证了上述的改进结论。 上图为DINOv2在8种不同类型的视觉任务的性能虚线为最好的弱监督方法的性能淡橙色为自监督方法的性能深粉色为弱监督方法的性能。观察到DINOv2大幅改善了以往的自监督学习方法达到了与弱监督相当的性能。
数据处理 本文提出的LVD-142M数据集由一个巨大的未整理的数据池中检索了几个精选数据集中的图像得到的图像数据集和被用于检索的几个精选数据集组成。详细流程如下图
Data sources 数据源包括作为检索条件的精选数据源和一个未经整理的数据池。其中精选数据源详情如上表包含ImageNet22k、ImageNet1k的训练集、Google Landmarks和几个细粒度数据集。未整理数据池包含1.2B张图像其来源于一个利用爬虫爬取的未经过滤的公开可用网络仓库并取出仓库中的所有网页的标签的图像 URL链接其中丢弃了不安全或受域名限制的URL并对下载的图像进行了后处理PCA哈希去重、NSFW过滤和模糊可识别的人脸。
Deduplication 将copy detection pipeline应用于未经整理的数据池并对图像去重这减少了冗余并增加了图像间的多样性。另外对精选数据源中的测试或验证集也进行了图像去重。
Self-supervised image retrieval 通过从未整理的数据池中检索与精选数据源中的图像接近的图像来构建预训练数据集。对任意两张图像使用在ImageNet22k上预训练的自监督ViT-H/16网络计算图像嵌入并使用余弦相似度作为图像之间的距离度量。 m ( s , r ) c o s i n e _ s i m i l a r i t y ( f ( s ) , f ( r ) ) f ( s ) , f ( r ) ∣ ∣ f ( s ) ∣ ∣ 2 ∣ ∣ f ( r ) ∣ ∣ 2 m(s,r)cosine\_similarity(f(s),f(r))\frac {f(s),f(r)} {||f(s)||_2||f(r)||_2} m(s,r)cosine_similarity(f(s),f(r))∣∣f(s)∣∣2∣∣f(r)∣∣2f(s),f(r) s s s和 r r r是一对用于比较的图像 f f f是生成的特征。首先对未经整理的数据进行k-means聚类然后给定一个用于检索的查询数据集精选数据源如果其足够大则为每个查询图像检索N通常为4个最近邻图像如果查询数据集很小则从每个查询图像对应的聚类集群中采样M张图像。通过对检索结果进行目视检查对N和M进行调整。
Implementation Details pipeline的去重和检索阶段依赖于Faiss库的GPU加速索引来高效地实现基于特征嵌入最近邻的批量搜索。整个处理过程分布在一个由20个节点组成的计算集群上每个节点有8个V100-32GB GPU生成LVD-142M数据集需要不到两天的时间。
判别式自监督预训练 DINOv2采用DINO和iBOT组合的自监督方法学习特征并做出一系列调整。
Image-level objective 图像级目标定义为分别从学生网络和教师网络中提取的ViT的cls patch特征之间的交叉熵损失教师网络和学生网络的输入从同一图像的不同裁剪中获得。
Patch-level objective 随机屏蔽一些学生网络输入的输入patch但不屏蔽教师网络输入然后对每个掩码patch对应的两个网络输出patch特征之间计算交叉熵损失即为patch级目标。该损失与图像级损失相结合定义为最终损失得到的损失用于训练学生网络的参数使用EMA来构建教师网络。详情参考iBOT。
Untying head weights between both objectives 采用上述方法将两个目标的损失联系在一起会使模型在patch级别上欠拟合而在图像级别上过拟合。故对两种损失添加不同权重来提高模型在两种尺度上的性能。
Sinkhorn-Knopp centering 使用SwAV的Sinkhorn-KnoppSK批量归一化替换DINO和iBOT教师网络的softmax/centering步骤。模型对教师网络应用3次SK归一化对学生应用softmax归一化。
KoLeo regularizer KoLeo正则化器源自Kozachenko-Leonenko微分熵估计器其会鼓励一个batch中的特征呈均匀跨度。具体为给定一组向量 ( x 1 , … , x n ) (x_1,…,x_n) (x1,…,xn) L k o l e o − 1 n ∑ i 1 n l o g ( d n , i ) L_{koleo} −\frac 1 n \sum^ n_{i1} log(d_{n,i}) Lkoleo−n1∑i1nlog(dn,i)其中 d n , i min j ≠ i ∣ ∣ x i − x j ∣ ∣ d_{n,i} \min_{j\neq i} || x_i−x_j|| dn,iminji∣∣xi−xj∣∣是 x i x_i xi和batch内其他点之间的最小距离。 DINO的投影头 h h h的MLP之后首先使用 l 2 l_2 l2正则化然后再使用KoLeo正则化。
Adapting the resolution 提高图像分辨率是像素级下游任务的关键如分割或检测小目标会在低分辨率下消失。然而在高分辨率下训练需要更多时间和内存。为了平衡两种情况本文在预训练快结束的短时间内会将图像的分辨率提高到 518 × 518 518 × 518 518×518。
高效实现 本文使用pytorch2.0在A100 GPU上训练模型。在相同的硬件下DINOv2的代码实现只使用iBOT 1/3的内存但运行速度快2倍。具体实现细节如下
Fast and memory-efficient attention 实现了一个新版本的FlashAttention提高了自注意层的内存使用效率和速度。因为GPU硬件的特殊性当每个头的嵌入维数为64的倍数时效率最好整体嵌入维数为256的倍数时矩阵运行效率最好因此实现的ViT-g使用1536个头64 dim/headViT-g参数量为1.1B。
Nested tensors in self-attention 允许在同一前向传播中运行global crops和local crops全局视图、局部视图与之前的实现相比提高了计算效率。
Efficient stochastic depth 实现了一个改进版的随机深度stochastic depth同以往实现掩盖丢弃的残差层计算结果不同该实现跳过了被丢弃的残差层的计算。这节省了内存和计算量其比例近似于drop rate。由于较高的drop rated40%显著提高计算效率和内存使用。另外还在每个batch上随机打乱B个样本并切片前面的 ( 1 − d ) × B (1−d)×B (1−d)×B个样本用于块中的计算。详细训练配置如上图。
Fully-Sharded Data Parallel (FSDP) FSDP是一个可以在多个GPU节点上运行的高效分布式训练框架。具体在使用AdamW优化器进行训练时需要使用4个模型副本包括学生网络、教师网络、优化器的一阶和二阶动量对于ViT-g这样1.1B参数的模型需要至少16GB的内存存储参数。故使用FSDP降低单个GPU的内存占用将模型副本分片放置在多个GPU上。 因此模型大小不再受单个GPU的内存限制而是受到整个计算节点的GPU内存总和的限制。FSDP还可以节省跨GPU通信成本按优化器的要求参数权重分片以float32精度存储但骨干网络的权重广播和梯度下降使用float16精度进行计算MLP的梯度用float32精度下降以避免训练不稳定相比于Distributed Data ParallelDDP全部使用float32精度计算可减少50%的通信成本。
Model distillation 如上图DINOv2给出一系列模型ViT-g、ViT-l、ViT-b、ViT-s其中只对1.1B参数的ViT-g采用LVD-142M进行预训练其余小模型均使用知识蒸馏从ViT-g中蒸馏得到。 蒸馏过程采用和预训练同样的训练框架令ViT-g为教师网络其余型号的ViT小模型做学生网络进行训练并保留一个学生网络EMA作为最终模型。同预训练不同之处在于删除了mask和随机深度策略对于iBOT其分支全部使用global crops。
消融实验
Improved Training Recipe DINOv2的训练方法是在iBOT基础上添加了上述组件进行了改进。为了评估各组件对训练过程的重要性依次将组件添加到一个baseline iBOT模型中得到多个模型。 如上表报告了ImageNet-1k验证集中k-NN和线性检测任务的Top-1精度。观察到每个组件都逐步提高了k-NN或线性检测的性能只有LayerScale和随机深度会导致线性检测的性能下降但其显著提高了训练的稳定性。
Pretraining Data Source 特征的质量与训练数据的质量直接相关。故将LVD-142M、ImageNet-22k、删除ImageNet-1kINet-22k\INet-21k后的ImageNet-22k的变体及直接使用原始和未整理的数据进行比较未经整理的数据集为从与LVD-142M相同的数据源中随机抽取的1.42亿张图像。实验在每个数据集上训练一个具有相同迭代次数的ViT-g/14。 如上表。观察到在LVD-142M进行训练的模型在3个基准上比Uncurated data上训练的模型效果更好这证实了数据整理的好处。与在ImageNet-22k上训练的模型相比在LVD-142M上训练的模型在除ImageNet-1k之外的基准上也更优这证实了在更多样化的图像集上进行训练可以提高该数据集未覆盖领域的特征质量。 总体而言LVD-142M对不同类型的图像提供了很好的平衡从而获得了最佳的整体性能。
Model Size and Data 上图为LVD-142M蓝色和ImageNet-22k橙色上训练的不同大小的模型在几种测试集上的性能表现。观察到随着模型规模的增长在LVD-142M上训练比在ImageNet-22k上训练更有益。例如在LVD-142M上训练的ViT-g与在ImageNet-22k上训练的ViT-g 在ImageNet-1k上的性能相匹配而在其他基准上明显更优。
Loss Components 本实验验证了添加KoLeo损失与否及有无MIM任务对最终模型性能的影响。对于这两种情况报告了使用线性分类器在ImageNet-1k的分类性能、使用线性分类器进行ADE-20k分割性能以及在Oxford-m上的最近邻图像检索性能。 上表a显示了使用KoLeo损失与否的影响。观察到使用KoLeo损失图像检索性能提高了8%以上这证实了KoLeo损失有助于在输出空间中扩展特征。同时其他指标也不会受到这种正则化的影响。 上表b中展示了使用iBOT的MIM的影响。观察到MIM对于密集预测任务至关重要可以导致近3%的性能改进。
Impact of Knowledge Distillation 本实验验证对于小型架构利用更大的模型进行知识蒸馏比从头开始训练更有益。具体通过将从头训练的ViT-l/14scratch与从预训练ViT-g/14scratch在上图中的12个以上基准中蒸馏的ViT-l/14distilled进行比较并报告了ViT-g/14scratch的性能。 如上图ViT-l/14distilled在12个基准中的10个上优于ViT-l/14scratch验证了对小型模型进行知识蒸馏的预训练方法的有效性。
Impact of Resolution 本实验验证了在预训练过程中改变分辨率对图像和patch级特征性能的影响。基于两种策略从头训练使用 224 × 224 224×224 224×224分辨率橙色或 416 × 416 416×416 416×416分辨率深粉色的模型以及在 224 × 224 224×224 224×224分辨率从头训练然后在 416 × 416 416×416 416×416分辨率上继续进行10k次迭代的模型橙色。高分辨率训练是计算密集型的所以实验采用ImageNet1k上训练的ViT-L/16验证。 如上图报告了在ImageNet-1k和ADE-20k上的线性检测的性能并在不同的分辨率下进行了评估。观察到在高分辨率图像上训练的模型在不同分辨率上表现最好但这种代价很高。另一方面在训练结束时进行10k次高分辨率训练迭代的性能几乎也同样好而且只需要一小部分计算量。因此DINOv2采用在训练结束时包括了这一步的策略而不是从头开始的高分辨率训练。
对比实验 本实验使用两种类型的模型作为baseline。自监督模型包括MAE、DINO、SEERv2、MSN、EsViT、Mugs和iBOT。弱监督模型包括CLIP、OpenCLIP和SWAG。
ImageNet Classification 本实验验证DINOv2在ImageNet1k分类数据集上的性能。实验通过在冻结的骨干上训练一个简单的分类器来评估精度没有对骨干权重进行微调。由于大多数SSL方法使用ImageNet1k验证性因此另外报告了ImageNet-Real和ImageNet-v2上的top-1准确性。 如上图不考虑架构或预训练数据的情况下将DINOv2与以往最优的SSL比较。DINOv2在线性评估方面比之前的最先进水平在ImageNet-22k上训练的iBOT ViT/16提升了4.2%的精度。同时还观察到所提出方法在备选测试集ImageNet-Real、ImageNet-v2上上的性能提高更大表明DINOv2泛化能力较强。 另外还与以往最优的弱监督模型在ImageNet1k上对比了线性检测性能我们在表4中显示了这个评估的结果。观察到ViT-G/14/DINOv2比ViT-G/14/OpenCLIP提高0.3%的精度比ViT-g/14/EVA-CLIP提高0.1%的精度。同时也观察到DINOv2在ImageNet-V2测试上的表现比EVA-CLIP提高1.1%的精度表明DINOv2具有更好的泛化能力。 上图实验为DINOv2在ImageNet-1k微调后产生的性能。观察到输入分辨率为224和448的模型微调后ImageNet-1k验证集上的top1精度都提高了2%以上。证明对DINOv2的微调可以进一步提高在特定任务上的性能。 另外实验探索了DINOv2的特征鲁棒性在ImageNet-A、ImageNet-R、ImageNet-C、Sketch基准上评估了使用线性分类头训练的ImageNet-1k模型。 实验结果如上表所示。与最先进的SSL方法相比DINOv2显示出更好的鲁棒性(与iBOT相比ImageNet-A提高了29.6%ImageNet-R提高了22.1%Sketch提高了23.0%)。DINOv2还改进了ImageNet-A上的最佳弱监督模型OpenCLIP但在ImageNet-R和Sketch上表现较差。
Additional Image and Video classification Benchmarks 本实验研究DINOv2的特征在下游分类基准测试上的泛化能力使用了两组评估第一组使用大型细粒度数据集如iNaturalist和Places205验证图像分类性能。对于iNaturalist 2018、iNaturalist 2021和Places205实验训练了采用数据增强的线性分类器。 第一组结果如上表中报告了iNaturalist 2018、iNaturalist 2021和Places205的top-1个精度。观察到DINOv2在两种iNaturalist变体上显著优于ViT-G/14/OpenCLIP8.6%和9.7%但在Places205上略微落后−2.3%。 在第二组评估中验证了模型在视频动作识别上的性能实验评估了UCF-101、Kinetics-400和Something-Something v2三个数据集。对每个数据集每个视频间隔8帧提取一张图像其中UCF和K-400使用一个视频提取出的图像的特征平均值训练线性分类器对于SSv2采用concat序列特征以保留更多的时序信息。使用平均精度为测量指标。 第二组结果如上表右。观察到在自监督的方法中DINOv2实现了最先进的精度。此外DINOv2在UCF和Kinetics上比OpenCLIP有更高的准确性0.1%、0.5%在SSv2上提升幅度更大2.5%因为SSv2需要对视频帧的时序性有更丰富的理解。 在上表中还比较了SimCLR提出的12个分类基准中得到性能。这个基准测试包括场景、对象食物、汽车、飞机和纹理。实验用CUB替换了Birdsnap数据集因为Birdsnap还没有完全公开。 观察到DINOv2显著优于最先进的SSL模型最显著的差异是在Stanford Cars14.8% vs DINOViT-B/8和FGVC Aircraft(14.8% vs ViT-L/16/iBOT)。除了SUN−5.3%和Cars−4.7%DINOv2在大多数分类基准测试上与OpenCLIP也具有竞争力。
Instance Recognition 在本实验中使用非参数方法验证了模型在实例级识别任务的表现查询图像通过与数据库中的图像的余弦相似度进行排序来确定实例类别。实验在Paris和Oxford的基线进行了比较还评估了Metropolitan museum和Amster时间其中包含与Amsterdam档案图像相匹配的街景图像。通过计算平均精度来衡量性能 结果如上表。观察到DINOv2显著优于SSLOxford-Hard 41%mAP和弱监督Oxford-Hard 34%mAP这是里程碑式的识别基准。
Dense Recognition Tasks 本实验评估语义分割性能考虑了两种不同的设置
线性训练一个线性层从最后一层的patch token预测类logits其可生成一个低分辨率的logit图例如一个patch大小为16的模型输出为32x32然后将其上采样到全分辨率512x512以获得一个分割图ms一个线性设置的增强版本。将最后4层的patch token concat起来预测类logits上采样使用更大的图像分辨率640并使用multiscale test-time增强来改进预测 结果如上表。报告了两种设置下DINOv2变体在三个数据集ADE20k、CityScapes、Pascal VOC上的性能。观察到模型在所有数据集和所有设置上都显示出非常好的性能使用ms的评估与使用UperNet解码器微调的MAE53.0 vs 53.6mIoU相当但DINOv2只使用了一个明显更简单的预测器。此外使用ms的最佳DINOv2模型几乎与Pascal VOC的最先进技术水平相当86.2 vs 89.0mIoU。 在最后的实验中冻结了主干网络将其插入具有Mask2former头的ViT-Adapter。在ADE20k上达到60.2 mIoU接近最先进的62.9 mIoU。 本实验在三个单目深度估计基准NYUd、KITTI和从NYUd到SUN3d的zero-shot迁移上验证模型在深度估计上的性能。考虑了三种不同的评估设置
lin.1提取被冻结模型的最后一层的token并将[CLS] token拼接到每个patch token然后将上述token利用双线性上采样4倍以增加分辨率最后利用分类loss训练一个简单的线性层并将深度预测范围划分到256个均匀分布的bins中然后进行线性归一化lin.4使用与lin.1相同的协议但ViT-s/b拼接{3、6、9、12}层的tokenViT-l拼接{5、12、18、24}层以及ViT-g拼接{10、20、30、40}层DPT在冻结模型之上使用DPT解码器并设置一个回归任务。并根据每个架构的特征的尺寸来缩放头部的大小 结果如上表。观察到DINOv2的性能超过了以往最优的SSL和WSL模型。另外从ViT-L中提取的iBOT特征优于使用ViT-G的OpenCLIP特征这一观察结果支持了一种直觉即caption-based的特征无法学习到这样的微妙模式。 此外使用DPT解码器的DINOv2匹配或超过以往最优的性能。最后在SUN-RGBd上的域外泛化结果表明DINOv2的特征允许很好的域间转移。一个由NYUd在室内场景上训练的深度预测模块可以很好地推广到SUN-RGBd的室外例子。
定性分析
Semantic Segmentation and Depth Estimation 上图分别为ADE20K的语义分割可视化结果和NYUd、KITTI、SUN RGB-D的深度估计可视化结果实验将DINOv2与OpenCLIP在每个数据集上都使用线性分类器进行比较。 观察到虽然不完美但使用DINOv2主干的线性分割模型产生了良好的结果并且在这个评估设置下比OpenCLIP模型表现更好。由OpenCLIP-G产生的分割掩模显示了许多伪影和断开连接的组件。 深度估计的定性结果也说明了OpenCLIP和DINOv2之间的差距。虽然DINOv2的特征以及OpenCLIP提取的特征都能够线性地分离深度等复杂的信息两者都没有使用这种类型的信息进行训练。然而DINOv2的特性产生了一个更平滑的深度估计与更少的伪影。一些对象如SUN RGB-D图像上的椅子被OpenCLIP完全忽略但DINOv2可以正确地定位。
Out-of-distribution generalization 上图为一些DINOv2深度估计和实例分割的示例。观察到即使在不同的领域动物或绘画的图片的深度和分割的质量也非常好。
PCA of patch features 上图展示DINOv2提取的patch特征进行主成分分析PCA的结果。提取流程为
从DINOv2的输出中提取patch token特征并对其计算PCA对patch特征的第一主成分设置阈值后只保留正值的patch这个过程可以获取从背景中分离出来的图像的主要目标的patches对上一步计算的前景patches再次计算PCA并提取前3个主成分再次进行阈值过滤得到的3个主成分patches做为RGB着色绘图 结果如上图。首先采用DINOv2的无监督前景/背景检测器采用PCA检测第一主成分后能够描绘出图像中主要目标的边界其次其他主成分能匹配物体的不同部件。这证明DINOv2在没有监督的情况下就能解析对象的各个部分。
Patch matching 上图实验了DINOv2的跨图像匹配功能探索了patch级特征包含的信息类型。首先使用PCA检测前景对象然后计算从两幅图像中提取的patch特征之间的欧氏距离并通过求解指派问题实现特征间的映射。为了减少匹配的数量对匹配进行非极大值抑制nms只保留显著的匹配。 结果如上图展示了这种匹配的一些例子。观察到这些特征捕捉到了在不同的物体或动物中具有相似目的的语义区域的信息。例如飞机的翅膀与鸟的翅膀相匹配。还观察到该模型对于风格和姿态的巨大变化参考大象具有鲁棒性。
偏见分析 本实验用最大的ViT-g模型对模型进行了两次公平性评估探索了地理公平性和潜在的有害标签关联。
Geographical Fairness 地理公平性评估使用Dollar Street数据集包含来自54个国家289个家庭的16073张图片比较了不同国家和收入水平的生活差异的视觉表现。这项任务是识别94个概念这些概念在不同的家庭中根据收入或地理位置有视觉上的差异评估模型是否能在这些存在差异的图像中准确识别目标概念。 结果如上表将DINOv2与SEERv2进行了比较SEERv2是在地理上不同的图像集上训练的模型。观察到DINOv2在地区和收入都比SEERv2稍微公平一些。然而仍然观察到区域之间的显著差异特别是在非洲DINOv2的性能与欧洲相比下降了25.7。这表明DINOv2的模式仍然偏向西方国家。同样DINOv2在高收入家庭中的表现明显优于低收入家庭差异为31.7。尽管有所改善但DINOv2对西方国家的富裕家庭仍存在重大偏见。
Gender, Skintones and Age 对于性别、肤色和年龄分类评估在ImageNet-22k的619个类的子集上训练了一个冻结主干网络的多类分类器。实验将619个类分为四个更广泛的元类别人类、可能是人类、非人类、罪犯非人类和罪犯被认为是有害的。使用这个分类器对来自Casual Conversations数据集的2955张图像进行推断并将分类概率大于等于0.1的标签保留在top-5中因此每张图像都有多个类。 结果如上表。将DINOv2与SEERv2进行了比较。DINOv2经常将所有群体的图像分类为人类对肤色没有很大的偏差。SEERv2和DINOv2都无法准确预测非人类或犯罪元类别除了两个背景包含类似于监狱的酒吧。DINOv2经常预测人类这个元类别且经常预测男性人类类别。最终验证了DINOv2没有明确的模式表明对特定群体的偏见。
碳排放 采用LLaMA的碳排放计算方法DINOv2的耗能结果如上表估计在A100-40GBGPU上使用20k GPU-hours后整个项目的碳排放在0.5k到1k tCO2eq之间排放的主要来源是模型的自监督预训练。例如ViT-g模型22k gpu-hours的一次预训练会排放3.7吨的CO2eq而对ImageNet-1k1k gpu-hours的微调会排放0.2吨的CO2eq。这一估计只考虑了GPU的用电量而忽略其他排放。
实验数据详情 上图为消融实验、对比实验、定性分析、偏见分析、碳排放这些实验使用的数据集详情。
reference
Maxime, O. , Timothée, D. , Théo, M. , Huy, V. V. , Marc, S. , Vasil, K. , Pierre, F. , Daniel, H. , Francisco, M. , Alaaeldin, E. , Mahmoud, A. , Nicolas, B. , Wojciech, Galuba. , Russell, H. , PoYao, H. , ShangWen, L. , Ishan, M. , Michael, R. , Vasu, S. , Gabriel, S. , Hu, X. , Hervé, J. , Julien, M. , Patrick, L. , Armand, J. , Piotr, B. . (2023). DINOv2: Learning Robust Visual Features without Supervision.