首页 > 其他分享 >OV-DINO开放词检测环境安装与推理

OV-DINO开放词检测环境安装与推理

时间:2024-08-19 17:37:33浏览次数:16  
标签:DINO 检测 ovdino 开放 frpc OV 推理

引子

开放词检测,之前分享过一篇YOLO-World的文章,感兴趣同学请移步(YOLO-World环境搭建&推理测试_yoloworld 检测-CSDN博客),最近,由中山大学和美团联合提出新的开放域检测方法OV-DINO:基于语言感知选择性融合、统一的开放域检测方法,取得了开放域检测新SOTA!目前开源性能最强的开放域检测模型!(比GroundingDINO高12.7% AP!比 YOLO-World 高4.7%AP

一、模型介绍

开放词汇检测是一项具有挑战性的任务,因为它需要根据类名检测对象,包括训练期间未遇到的对象。现有方法通过对各种大规模数据集进行预训练和伪标记,表现出强大的零样本检测能力。然而,这些方法面临两个主要挑战:

(1)如何有效地消除伪标记带来的数据噪声;

(2)如何有效地利用语言感知能力进行区域级跨模态融合和对齐。

为了应对这些挑战,作者提出了一种新的统一开放词汇检测方法,称为OV-DINO,该方法在统一框架中对各种大规模数据集进行预训练,并使用语言感知选择性融合。具体来说,引入了统一数据集成(UniDI)管道,通过将不同的数据源统一为以检测为中心的数据格式,实现端到端训练并消除伪标签生成带来的噪音。此外,作者提出了一种语言感知选择性融合 (LASF) 模块,通过语言感知查询选择和融合过程来增强跨模态对齐。在流行的开放词汇检测基准上评估了所提出的 OV-DINO 的性能,在零样本方式下,在 COCO 基准上实现了 50.6% 的 AP,在 LVIS 基准上实现了 40.1% 的 AP,展示了其强大的泛化能力。此外,经过微调的 OV-DINO 在 COCO 上实现了 58.4% 的 AP,优于许多具有相同主干的现有方法。

二、环境搭建

代码下载

git clone https://github.com/wanghao9610/OV-DINO.git

下载模型

docker run -it --rm -v /datas/work/zzq/:/workspace --gpus=all --net host pytorch/pytorch:1.13.1-cuda11.6-cudnn8-devel bash

bert模型:google-bert/bert-base-uncased at main

ov-dino模型:https://huggingface.co/hao9610/OV-DINO/resolve/main/ovdino_swint_ogc-coco50.2_lvismv40.1_lvis32.9.pth

环境安装

docker run -it -v /datas/work/zzq/:/workspace --gpus=all pytorch/pytorch:1.13.1-cuda11.6-cudnn8-devel bash

cd /workspace/OV-DINO/OV-DINO-main/ovdino

(1)安装gcc-9

apt update

apt install software-properties-common

add-apt-repository ppa:ubuntu-toolchain-r/test

apt install gcc-9 g++-9

cd /usr/bin/

sudo ln -s gcc-9 gcc

sudo ln -s g++-9 g++

(2)安装detectron2

export PATH=/usr/local/cuda/bin:$PATH

python -m pip install -e detectron2-717ab9 -i Simple Index

pip install -e ./ -i Simple Index

python -m pip install numpy==1.25 -i Simple Index

三、推理测试

修改代码

sh scripts/demo.sh projects/ovdino/configs/ovdino_swin_tiny224_bert_base_infer_demo.py ovdino_swint_ogc-coco50.2_lvismv40.1_lvis32.9.pth "class0 class1 class2 class3" demo/imgs/000000017714.jpg img0_vis.jpg

修改代码

执行

scripts/app.sh projects/ovdino/configs/ovdino_swin_tiny224_bert_base_infer_demo.py ovdino_swint_ogc-coco50.2_lvismv40.1_lvis32.9.pth

报错如下:

(1)先按照提示,下载frpc_linux_amd64文件,https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64

(2)重命名为frpc_linux_amd64_v0.2, 并放入gradio(/opt/conda/lib/python3.10/site-packages/gradio)这个文件夹中(按你对应的,每个人的路径可能不一样)

(3)给gradio下的frpc_linux_amd64_v0.2文件增加权限 chmod +x /opt/conda/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2,

重新执行

网页打开,最终效果如图:

 

标签:DINO,检测,ovdino,开放,frpc,OV,推理
From: https://www.cnblogs.com/nick-algorithmer/p/18367791

相关文章

  • P6218 [USACO06NOV] Round Numbers S 题解
    题面题目传送门如果一个正整数的二进制表示中,00的数目不小于11的数目,那么它就被称为「圆数」。例如,99的二进制表示为10011001,其中有22个00与22个11。因此,99是一个「圆数」。请你计算,区间[l,r][l,r]中有多少个「圆数」。前置芝士1.数位dp相关的题:P4317花神......
  • AutodL训练yolov9
    AutodL训练yolov9全过程1、租借Autodl服务器:AutoDL算力云|弹性、好用、省钱。租GPU就上AutoDL选择环境,直接选择镜像,yolov9官方2、创建完成:点击Jupyterlab进入服务器,到这里服务器租用完成2、下载yolov9官网代码:https://github.com/WongKinYiu/yolov93、进入服务器,上......
  • 基于YOLOv8的通用的滑动验证码滑块缺口检测模型
    文章目录前言滑块缺口验证码验证码示例训练步骤总结前言首先放张图片表达此时的心情,同志们节日快乐!!!滑块缺口验证码滑动验证码滑块缺口的位置识别是破解滑块验证码的关键,这里我们尝试使用YOLOV8训练目标检测模型,识别出滑块图片的缺口验证码示例模型通过大批量......
  • 题解:CF1034B Little C Loves 3 II
    思路看到这道题时,第一思路就是网络流,结果一看数据\(10^{9}\)直接转向找规律。主要思路:神秘特判。首先,下面的结论基于\(n\lem\)。Case1.当\(n=1\)时,易得的是我们可以以\(6\)为循环节构造。Case2.当\(n=2\)时,我们可以构造出\(4a,5a,6a\)的形式。易得,通过裴蜀......
  • YOLOv8多分类识别
    文章目录1.数据集处理2.模型训练3.模型推理4.一些问题(1)V8它是怎么知道我们训练了多少类5.参数说明1.数据集处理​v8的数据处理方式和v5是一样的,不需要打标签,只需要将数据整理好后放在各个文件夹中,文件夹的名称就是它的标签名,这个可以通过onnx可以看到。训练后转......
  • YOLOv8单目标检测
    文章目录1.数据集2.模型训练3.转onnx并推理(1)输出结果解释(2)推理4.YOLOv8参数说明用于个人记录,好记性不如烂笔头其实整体训练的流程和V5差不多,只是V8不需要下载工程文件了,而是可以通过安装ultralytics,然后进行调用pipinstallultralytics1.数据集​数据集的制......
  • Android 13.0 recovery页面旋转180度问题的解决方案
    1.前言在13.0的系统rom定制化开发工作中,在系统中recovery的页面也是相关重要的一部分,在系统recoveryota升级等功能,都是需要recovery功能的,在某些产品定制化中在recovery的时候,发现居然旋转了180度,接下来分析下recovery关于屏幕显示方向的相关源码,来修改这个功能2.recovery......
  • Yuno loves sqrt technology III
    链接:YunolovessqrttechnologyIII先考虑一道分块板子[Violet]蒲公英在这道题中,将值离散化后,用了两个重要的数组\(p_{i,j}\):表示第\(i\)个块到第\(j\)个块的最小的众数\(s_{i,j}\):表示前\(i\)个块中\(j\)出现的次数发现\(s\)的空间是\(O(n\sqrt{n})\)的\(but......
  • html+css 实现hover 故障效果按钮
    前言:哈喽,大家好,今天给大家分享html+css实现hover故障效果按钮!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • Kolmogorov-Smirnov 检验 + k 样本 Anderson-Darling 检验 + 贝叶斯估计 + 期望方差
    KS检验是基于Kolmogorovdistribution,指的是\[K=\sup_{t\in[0,1]}\left\lvertB(t)\right\rvert\]式中\(B(t)\)是布朗桥。\(K\)的累积分布函数是\[\Pr(K\lex)=1-2\sum_{k=1}^\infty(-1)^{k-1}\mathrme^{-2k^2x^2}=\frac{\sqrt{2\pi}}x\sum_{k=1}^\infty\mathrme^......