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

引子

开放词检测,之前分享过一篇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,

重新执行

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

 

posted @ 2024-08-19 17:37  要养家的程序猿  阅读(191)  评论(0编辑  收藏  举报