Bootstrap

生成mm grounding dino的onnx模型并在x-anylabeling中使用

前言

X-AnyLabeling 是一款cvhub开发的交互式自动标注工具,其基于AnyLabeling进行构建和二次开发,在此基础上扩展并支持了许多的模型和功能,并借助Segment Anything和YOLO等主流模型提供强大的 AI 支持。其最新版基于grounding dino可以实现开放词汇检测及生成掩码。

2024年,MMDet 3.3.0提出了 MM-Grounding-DINO。其不仅作为 Grounding DINO 的开源复现版,MM-Grounding-DINO 基于重新构建的数据类型出发,在探索了不同数据集组合和初始化策略基础上实现了 Grounding DINO 的性能极大提升。
在这里插入图片描述
查了一下当前网络上并没有关于MM-Grounding-DINO的onnx部署的实现方法。于是就自己写了一版方便大家使用,同时可以实现将MM-Grounding-DINO加载到X-AnyLabeling中,实现无缝的使用体验。

方法

首先PIP安装MMDet 3.3.0和相关依赖,并下载相应的模型权重。修改模型config中的backbone中的with_cp=Truewith_cp=False,修改enccoder中的num_cp=6num_cp=0,以避免export时出错。加载mmdet的grounding dino模型后,
修改groundingdino的forward为下面所示,并使用MethodType进行forward的替换:


                
      
;