1.GroundingDINO模型链接下载
Download.zip下载解压,在pycharm中打开
2.在pycharm中的环境配置
拿到之后里面会有requirements.txt文件,配置里面所需要的包,进入该目录下进行安装
pip install -r requirements.txt
如果没有进入会出现的错误
安装本地项目的命令
pip install -e .
3.下载预训练模型groundingdino-swin-tiny
wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
Note:如果要使用GPU运行,需要提前设置 export CUDA_HOME=/path/to/cuda-xxx,否则在运行的时候会报错: NameError: name ‘_C’ is not defined
如果忘记设置,需要设置后在重新安装GroundingDINO,即重新执行 pip install -e .
4.模型准备
在运行过程中因为使用了bert做为文本编码器,当本地文件没有bert权重文件时,程序会自动请求bert-base-uncased·Hugging Face并下载权重文件,但是如果存在网络问题,即出现443时,可以进行手动下载,并将下载的文件保存到bert-base-uncased文件夹下,放在GroundingDINO目录下(需要下载的文件:config.json/pytorch_model.bin/tokenizer.json/tokenizer_config.json/vocab.txt)
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.youkuaiyun.com/weixin_44362044/article/details/136136728
5.模型简单练习
创建一个新的python文件命名为:grounding_dino_demo.py 放在GroundingDINO目录下`
from groundingdino.util.inference import load_model, load_image, predict, annotate, Model
import cv2
import os
# 检查目录是否存在,如果不存在则创建
if not os.path.exists("../result_image"):
os.makedirs("../result_image")
CONFIG_PATH = "config/GroundingDINO_SwinT_OGC.py" # 源码自带的配置文件
CHECKPOINT_PATH = "C://Users//86139//Desktop//GroundingDINO-main//GroundingDINO-main//groundingdino_swint_ogc.pth" # 下载的权重文件
DEVICE = "cpu" # 可以选择cpu/cuda
IMAGE_PATH = "C://Users//86139//Desktop//b//output_image.jpg" # 自带的图片路径
TEXT_PROMPT = "little dog" # 用户给出的文本提示
BOX_TRESHOLD = 0.35 # 源码给定的边界框判定阈值
TEXT_TRESHOLD = 0.25 # 源码给定的文本端获取关键属性阈值
image_source, image = load_image(IMAGE_PATH)
model = load_model(CONFIG_PATH, CHECKPOINT_PATH)
boxes, logits, phrases = predict(
model=model,
image=image,
caption=TEXT_PROMPT,
box_threshold=BOX_TRESHOLD,
text_threshold=TEXT_TRESHOLD,
device=DEVICE,
)
annotated_frame = annotate(image_source=image_source, boxes=boxes, logits=logits, phrases=phrases)
cv2.imwrite("../result_image/annotated_image.jpg", annotated_frame)