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

本文主要是介绍开集目标检测-标签提示目标检测大模型(吊打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文件脚本完成!

这篇关于开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/540071

相关文章

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较