DINO-v2笔记 DINO-v2一种无监督学习的预训练方法,可以生成具有强大泛化能力的视觉特征,适用于各种图像分布和任务,而无需进行微调。 Sinkhorn-Knopp centering 这是一种替代DINO和iBot模型中的teacher softmax-centering步骤的方法,即使用SwAV模型的Sinkhorn-Knopp(SK
在Grounding-DINO的基础上,我们训练了一系列DINO-R1家族模型,这些模型集成了视觉提示编码器和视觉引导的查询选择机制。 我们开发了VIS-G-DINO,这是一个基于视觉提示的VFMs(如DINO)的RL训练框架,并将使用GRQO训练得到的检测器定义为DINO-R1。 总体损失为: 3.2 VIS - G - DINO 我们将 Grounding DINO 扩展以支持视觉提示,并将得到的模型称为 VIS - G - DINO。 如表1所示,DINO-R1在COCO和LVIS数据集上始终表现出更好的泛化能力。在COCO上,与SFT相比,DINO-R1-T将mAP提高了+4.1 。 基于Grounding DINO构建,DINO-R1通过从稀疏的实例级监督转向密集的分组感知优化,重新思考了如何训练目标查询。
DINO模型 DINO(无标签蒸馏)模型是一种应用于视觉变换器(ViTs)的尖端自监督学习方法。它代表了计算机视觉领域的一个重大进步,使模型能够在不需要任何标记数据的情况下学习有效的图像表示。 训练DINO模型: 阐明DINO伪代码的图像,取自官方论文 有3个重要的步骤需要强调: 1. 获取学生和教师架构的不同输入(x1,x2)的增强。 2. Dino模型进一步需要如下调用 device = 'cuda' if torch.cuda.is_available() else 'cpu' dino = DINO(ViT(), ViT(), device def train_dino(dino: DINO, data_loader: DataLoader, optimizer: Optimizer 就这样,这就是如何从零开始训练DINO模型。到目前为止,在视觉变换器系列中,我们已经实现了标准的ViT、Swin、CvT、Mae和DINO(自监督)。希望你喜欢阅读这篇文章。
表2中对Grounding DINO、GLIP和DINO模型进行比较的实验结果的总结。 Grounding DINO在零样本迁移上超越了所有之前的模型,比DINO和GLIP分别提高了0.5个AP和1.8个AP。 在COCO minival评估中,Grounding DINO取得了62.6个AP,超过了DINO的62.5个AP。 在这个基准测试中,Grounding DINO表现良好。仅使用O365和GoldG进行预训练的Grounding-DINO-T在少量样本和全样本设置上都优于DINO。 总结 在这篇论文中,介绍了一个名为Grounding-DINO的模型。Grounding-DINO扩展了DINO模型,使其能够进行开放集对象检测,即能够根据文本查询检测任意对象。
应用程序使用Grounding DINO模型来提高食物识别的准确性,而无需依赖标记数据集,使其适用于多种食物类型。 应用程序使用Grounding DINO模型来提高食物识别的准确性,而无需依赖标记数据集,使其适用于多种食物类型。 文章还提到该应用程序的系统架构,包括使用Firebase Authentication进行安全登录,Python和Django作为后端处理,TensorFlow用于机器学习任务,特别是使用Grounding DINO • 先进食物识别:使用Grounding DINO模型提高食物识别准确性,无需标记数据集。 • 数据安全与隐私:采用PostgreSQL数据库和AES加密,确保数据完整性和用户隐私。 05、 参考文献 Eating Smart: Advancing Health Informatics with the Grounding DINO-based Dietary Assistant App
【OV-DINO介绍】 中山大学联合美团提出新模型OV-DINO,实现开放域检测开源新SOTA! 比Grounding DINO高12.7% AP,比YOLO-World 高4.7% AP。 OV-DINO是基于语言感知选择性融合、统一的开放域检测方法。作为最强开放域检测开源模型,目前项目已公开论文和代码,在线Demo也可体验。 什么是OV-DINO? 本文提出了一种名为OV-DINO的开放域检测方法。 整体框架包括一个文本编码器、一个图像编码器和一个检测头。模型接收图像和提示文本作为输入,通过特定模板创建统一的文本嵌入表示。 OV-DINO 结果部分检测出来,证明比yolo-world强多了,注意需要设置合理阈值才能检测出来过高和过低都可能出现很差效果,经过多张图片测试效果比yolo-world强不少 【总结】 OV-DINO OV-DINO算法问世,标注国产开放集合检测新范式,为实际应用提供有力科学技术支撑。
美国东北大学在读硕士 Ravi Munde 近日发文介绍了其构建《小恐龙快跑(Dino Run)》强化学习智能体的过程。 就人工智能而言,智能体(我们这里就是小恐龙 Dino)的主要目标是通过在环境中执行一个特定的动作序列来最大化特定的数值奖励。强化学习中最大的难题是没有监督(有标注数据)来引导智能体。 你也可以参看我之前的文章,了解 Q 学习的所有超参数:https://medium.com/acing-ai/how-i-build-an-ai-to-play-dino-run-e37f37bdf153 我们使用这一模块控制小恐龙 Dino 以及获取智能体在环境中的状态。 每 10 局游戏的最高分 小恐龙 Dino 的奔跑速度与分数成正比,这使得更高速度下的检测和动作确定更加困难。因此整个游戏都是在恒定速度下训练的。本文中给出的代码片段仅供参考。
DINO在这方面脱颖而出,其具有视觉概念感知特征,这些特征已被用于无监督目标发现。DINO特征对于零样本语义分割也是有用的,但需要昂贵的滑动窗口采样或构建概念特定的原型和集成策略。 该层被优化为模仿DINO中图像中视觉概念的可能的布局。 此外,作者还证明可以从CLIP特征中直接学习FOUND从DINO特征中提供的无监督目标性信息,以帮助改进对“背景”提示的分割。 最后,作者利用DINO的有用 Patch 相关属性,并表明通过轻量级卷积层可以教CLIP生成DINO类似的特征。 第一个是用来匹配DINO中使用的一个ViT-B/16模型训练后提取的值嵌入相关性信息的特征。第二个层是用来复制FOUND中的无监督物体定位预测,它也使用了DINO模型。 作者在Tab. 1b中报告了使用作者的池化策略(无论是使用DINO特征,称为'使用DINO A^{\xi^{*}} 或从CLIP提取的特征,称为'使用训练好的 A^{\phi^{*}} ')时的结果
DreamSim不是要另起炉灶,而是很聪明地把已有的老牌嵌入模型(CLIP, DINO, OpenCLIP)拿来,融合起来。就像请了一个专家团:CLIP 擅长语义理解(知道是啥)。 DINO 擅长在不依赖标签的情况下理解物体形状和纹理。把它们的“看法”(嵌入向量)拼接起来,你就能得到一个更丰富、更全面的视图。 轻量快手(单分支模型):比如只使用DINO主干,速度提升近3倍,精度略有牺牲,适合需要快速响应的应用。 你可以像点菜一样选择模型:model, preprocess = dreamsim(pretrained=True, dreamsim_type="dino_vitb16")总结:为什么DreamSim
) # same as ('fred', 'barney', 'betty', 'milma', 'dino') qw will ignore the whitespace (spaces, tabs fred barney betty wilma dino ! qw# fred barney betty wilma dino # # like comments qw( fred barney betty wilma dino ) qw{ fred barney betty wilma dino } qw[ fred barney betty wilma dino ] qw< fred barney betty wilma dino > qw{ /usr/dict ) = qw[flintstone]; # $dino is undef We can use @ to give values to an array.
这里DINO_COUNT就设定了需要模拟的恐龙数量。 const dino = dinos[0]; 如果是第一次调用,将初始化模型并保存在dino.model对象中。我们用tf.sequential()创建模型,结果返回一个序列模型。 else { dino.model.fit(tf.tensor2d(dino.training.inputs),tf.tensor2d(dino.training.labels)); } dino.jumping) { // whenever the dino is not jumping decide whether it needs to jump or not let 然后将这些数据作为新的训练数据送入dino.training。
相信很多人都玩过chrome 浏览器小恐龙彩蛋游戏,没玩过的可以断网或者直接输入 chrome://dino试试。 ? 自己搞一个试试,暂时做了一个简单的效果。 = [] for i in range(1, 7): temp = pygame.image.load(f"dino/dino_run{i}.png") dino_rect = temp.get_rect () dino_list.append(temp) index = 0 print(dino_rect) # x 初始值 dino_rect.x = 100 # y 初始值 dino_rect.y ground = pygame.image.load("dino/ground.png") # 加载仙人掌 cactus = pygame.image.load("dino/cactus1.png" += y_speed # 更新y坐标 y_speed += gravity # 重力作用下改变速度 if dino_rect.y>=150: dino_rect.y
在我们断网或者直接在浏览器输入地址 都可以进入游戏 图片.png 今天我们就是用 Python 来制作一个类似的小游戏 素材准备 首先我们准备下游戏所需的素材,比如恐龙图片,仙人掌图片,天空,地面等等,我们统一放到 dino pygame.font.SysFont("arial", 20) score = 0 # 背景色 bg_color = (218,220,225) 接下来我们将各种素材加载进内存 # 加载正常恐龙 dino_list = [] temp = "" for i in range(1, 7): temp = pygame.image.load(f"dino/dino_run{i}.png") dino_list.append (temp) dino_rect = temp.get_rect() index = 0 # x 初始值 dino_rect.x = 100 # y 初始值 dino_rect.y = 150 # print ("dino/ground.png") # 加载仙人掌 cactus = pygame.image.load("dino/cactus1.png") cactus_rect = cactus.get_rect
= extract_features_dino(img) add_vector_to_index(dino_features,index_dino) #store the indexes locally faiss.write_index(index_clip,"clip.index") faiss.write_index(index_dino,"dino.index") 2、图像相似度搜索 = processor_dino(images=image, return_tensors="pt").to(device) outputs_dino = model_dino(**inputs_dino ) image_features_dino = outputs_dino.last_hidden_state image_features_dino = image_features_dino.mean ") #Get distance and indexes of images associated d_dino,i_dino = index_dino.search(image_features_dino
相信很多人都玩过 chrome 浏览器上提供的恐龙跑跑游戏,在我们断网或者直接在浏览器输入地址“chrome://dino/”都可以进入游戏 今天我们就是用 Python 来制作一个类似的小游戏 素材准备 首先我们准备下游戏所需的素材,比如恐龙图片,仙人掌图片,天空,地面等等,我们统一放到 dino 文件夹下 游戏逻辑 我们使用 Pygame 来制作游戏,先进行游戏页面的初始化 import pygame = [] temp = "" for i in range(1, 7): temp = pygame.image.load(f"dino/dino_run{i}.png") dino_list.append (temp) dino_rect = temp.get_rect() index = 0 # x 初始值 dino_rect.x = 100 # y 初始值 dino_rect.y = 150 # print ("dino/ground.png") # 加载仙人掌 cactus = pygame.image.load("dino/cactus1.png") cactus_rect = cactus.get_rect
今天我们就是用 Python 来制作一个类似的小游戏 素材准备 首先我们准备下游戏所需的素材,比如恐龙图片,仙人掌图片,天空,地面等等,我们统一放到 dino 文件夹下 游戏逻辑 我们使用 Pygame pygame.font.SysFont("arial", 20) score = 0 # 背景色 bg_color = (218,220,225) 接下来我们将各种素材加载进内存 # 加载正常恐龙 dino_list = [] temp = "" for i in range(1, 7): temp = pygame.image.load(f"dino/dino_run{i}.png") dino_list.append (temp) dino_rect = temp.get_rect() index = 0 # x 初始值 dino_rect.x = 100 # y 初始值 dino_rect.y = 150 # print ("dino/ground.png") # 加载仙人掌 cactus = pygame.image.load("dino/cactus1.png") cactus_rect = cactus.get_rect
/pdf/2411.04983v1 项目地址:https://dino-wm.github.io/ 该团队提出的 DINO-WM 是一种可基于离线的轨迹数据集构建与任务无关的世界模型的简单新方法。 基于 DINO 的世界模型(DINO-WM) 该团队将环境动态建模到了隐藏空间中。 训练完成后,DINO-WM 可以用于视觉规划吗? 世界模型的质量在多大程度上取决于预训练的视觉表征? DINO-WM 是否可以泛化到新的配置,例如不同的空间布局和物体排列方式? 使用 DINO-WM 优化行为 该团队研究了 DINO-WM 是否可直接用于在隐藏空间中实现零样本规划。 DINO-WM 所代表的方法看起来颇有潜力,该团队表示:「DINO-WM 朝着填补任务无关型世界建模以及推理和控制之间的空白迈出了一步,为现实世界应用中的通用世界模型提供了光明的前景。」
作者 | 周萝卜 来源 | 萝卜大杂烩 相信很多人都玩过 chrome 浏览器上提供的恐龙跑跑游戏,在我们断网或者直接在浏览器输入地址“chrome://dino/”都可以进入游戏 今天我们就是用 Python 来制作一个类似的小游戏 素材准备 首先我们准备下游戏所需的素材,比如恐龙图片,仙人掌图片,天空,地面等等,我们统一放到 dino 文件夹下 游戏逻辑 我们使用 Pygame 来制作游戏 = [] temp = "" for i in range(1, 7): temp = pygame.image.load(f"dino/dino_run{i}.png") dino_list.append (temp) dino_rect = temp.get_rect() index = 0 # x 初始值 dino_rect.x = 100 # y 初始值 dino_rect.y = 150 # print ("dino/ground.png") # 加载仙人掌 cactus = pygame.image.load("dino/cactus1.png") cactus_rect = cactus.get_rect
cfg.IMAGE_PATHS['numbers'], position=(435, 15), bg_color=cfg.BACKGROUND_COLOR, is_highest=True) dino (sounds) elif event.key == pygame.K_DOWN: dino.duck() elif event.type == pygame.KEYUP and event.key == pygame.K_DOWN: dino.unduck() # --碰撞检测 for item in cactus_sprites_group: if pygame.sprite.collide_mask(dino (dino, item): dino.die(sounds) # --将游戏元素画到屏幕上 dino.draw(screen)
,在MC-2B的10亿到80亿张图片上训练Web-DINO ViT-7B模型。 Web-DINO在VQA和经典视觉任务上都能超越现成的MetaCLIP。 即便数据量比SigLIP和SigLIP2少5倍,也没语言监督,Web-DINO在VQA上的表现还是能跟它们打平手。 Web-DINO ViT-7B在没有语言监督的情况下,在VQA任务上与CLIP模型表现相当,在传统视觉任务上超过了它们 研究人员还额外对Web-DINO微调了2万步,分别测试了378和518分辨率,以便跟更高分辨率的现成 SigLIP和DINO版本对比。 在384分辨率下,Web-DINO稍微落后于SigLIP;到了518分辨率,差距基本被抹平。 结果表明,Web-DINO可能还能从进一步的高分辨率适配中获益。