开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)

背景

大多数现有的对象检测模型都经过训练来识别一组有限的预先确定的类别。将新类添加到可识别对象列表中需要收集和标记新数据,并从头开始重新训练模型,这是一个耗时且昂贵的过程。该大模型的目标是开发一个强大的系统来检测由人类语言输入指定的任意对象,而无需重新训练模型,也称为零样本检测。该模型只需提供文本提示即可识别和检测任何物体。
在这里插入图片描述

  • 关键可以生成标签,这样也不用标注了
  • 同时能实现任何类别的识别
  • 目标检测功能
  • 学习可用

在这里插入图片描述

模型架构

Grounding DINO架构的核心在于它能够有效地弥合语言和视觉之间的差距。这是通过采用双流架构来实现的——使用 Swin Transformer 等文本主干提取多尺度图像特征,并通过 NLP 模型 BERT 等文本主干提取文本特征。
在这里插入图片描述

模型架构

这两个流的输出被馈送到特征增强器中,用于将两组特征转换成单个统一的表示空间。特征增强器包括多个特征增强器层。可变形自注意力用于增强图像特征,常规自注意力用于文本特征增强器。
在这里插入图片描述

#特征增强层
Groundi旨在从输入文本指定的图像中检测对象。为了有效地利用输入文本进行对象检测,使用语言引导的查询选择来从图像和文本输入中选择最相关的特征。这些查询指导解码器识别图像中对象的位置,并根据文本描述为它们分配适当的标签。
在这里插入图片描述

跨模态解码器
然后使用跨模态解码器来集成文本和图像模态特征。跨模态解码器通过一系列关注层和前馈网络处理融合特征和解码器查询来进行操作。这些层允许解码器有效地捕获视觉和文本信息之间的关系,使其能够细化对象检测并分配适当的标签。在此步骤之后,模型继续进行对象检测的最后步骤,包括边界框预测、特定于类的置信度过滤和标签分配。、

代码运行

执行
在下一节中,我们将演示开放集对象检测。在这里,我们将使用预先训练的 Grounding 模型通过摄像头检测“带盖玻璃”(如文本提示)。

安装接地 DINO 🦕

首先,包含 PyTorch 实现和 Grounding 预训练模型的github 存储库被克隆到您的本地目录。在克隆 github 存储库的同一目录中创建一个名为 main.py 的文件。该文件将包含通过摄像头输入执行 Grounding 模型的主脚本。首先通过添加以下命令导入相关库和 Grounding 模块。代码的最后两行导入所需的推理模块。

 import modules
import os
import cv2
import numpy as np
from PIL import Image
import groundingdino.datasets.transforms as T
from groundingdino.util.inference import load_model, load_image, predict, annotate

安装环境

pip install -r requirements.txt

下载bert-base-uncased

https://huggingface.co/models

找到后,下载后放到本地,否则代码会出现异常

运行

python demo/inference_on_a_image.py -c 配置文件 Ground/config/Grounding_OGC.py -p 权重:.pth
-i 输入 input -o输出路径 -t "标签:car" --cpu-only

结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
怎么样,结果还不错把

关键可以生成标签,这样也不用标注了

已经把批量生成.json .xml文件脚本完成!


http://www.niftyadmin.cn/n/5289032.html

相关文章

【译文】IEEE白皮书 6G 太赫兹技术的基本原理 2023版

第一章 简介 太赫兹波是介于微波和光波之间的光谱区域,频率从 0.1THz ~ 10THz 之间,波长在 3mm ~ 30μm 之间。提供大块连续的频带范围以满足对 Tbit/s 内极高数据传输速率的需求,使该区域成为下一代无线通信(6G)的重…

Spark的生态系统概览:Spark SQL、Spark Streaming

Apache Spark是一个强大的分布式计算框架,用于大规模数据处理。Spark的生态系统包括多个组件,其中两个重要的组件是Spark SQL和Spark Streaming。本文将深入探讨这两个组件,了解它们的功能、用途以及如何在Spark生态系统中使用它们。 Spark …

八股文打卡day11——计算机网络(11)

面试题:HTTP多个TCP连接怎么实现? 我的回答: 1.HTTP1.0的时候,一个TCP连接只能进行一次请求响应。可以建立多个连接到服务器,这样就可以同时进行多个请求响应,提高传输效率。 2.HTTP1.1推出了持久连接&am…

第41节: Vue3 watch函数

在UniApp中使用Vue3框架时&#xff0c;你可以使用watch函数来观察和响应Vue实例上的数据变化。以下是一个示例&#xff0c;演示了如何在UniApp中使用Vue3框架使用watch函数&#xff1a; <template> <view> <input v-model"message" type"text…

AI工程化与低代码:加速人工智能应用开发的新趋势

随着人工智能&#xff08;AI&#xff09;技术的广泛应用&#xff0c;AI工程化在开发领域中变得越来越重要。而低代码开发平台的出现&#xff0c;进一步加速了AI应用的开发和部署过程。本文将介绍AI工程化的概念&#xff0c;探讨低代码如何助力开发者快速构建和部署AI应用&#…

uni-app page新建以及page外观配置

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

5G阅信应用场景有哪些?

5G阅信的应用场景非常广泛&#xff0c;以下是一些常见的应用场景&#xff1a; 1.工业自动化&#xff1a;5G阅信可以连接各种工业设备和传感器&#xff0c;实现设备之间的实时通信和控制&#xff0c;提高生产效率和自动化水平。 2.物联网和智能家居&#xff1a;5G阅信可以连接各…

【MySQL】:事务(下)

事务 一.MVCC机制(读-写)1.预备知识1.三个记录隐藏字段2.undo日志 2.模拟MVCC3.Read View4.整体流程 二.RC与RR的本质区别1.当前读和快照读在RR级别下的区别1.测试一2.测试二 2.RR 与 RC的本质区别 数据库并发的场景有三种&#xff1a; 读-读 &#xff1a;不存在任何问题&…