在Pycharm配置并运行GroundingDINO网络(Windows)
下载源代码项目文件并导入到Pycharm中
- 到github网站下载GroundingDINO源代码压缩文件
- 解压并导入Pycharm项目中
不会导入的可以看我以前的文章
下载网络权重文件
- 复制网址到浏览器下载文件
https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
- 在GroundingDINO项目文件中创建一个名为weights的文件夹,并且把刚才下载的权重文件放在里面
安装项目所需要的包
- 打开Anaconda Prompt,激活Pycharm中选择的解释器环境(我的环境名称为pytorch)
conda activate pytorch
- 切换到项目文件(cd加上自己项目文件的绝对路径)
cd C:\Users\86176\Desktop\GroundingDINO-main
如果文件没有在C盘,则需要切换到D盘在使用cd命令切换到项目所在文件夹D:
- 运行setup.py文件(由于文件导入了torch,所以前提必须安装pytorch)
python setup.py build develop
运行代码做图片预测边界框
-
在项目中创建了一个images文件夹,里面保存了一张名称为1.jpg的图片,还创建了一个outputs文件夹用于保存被标注的图片,还创建了一个test.py文件用于做预测
-
在test.py中输入下面的代码
from groundingdino.util.inference import load_model, load_image, predict, annotate import cv2 #加载模型 model = load_model("groundingdino/config/GroundingDINO_SwinT_OGC.py", "weights/groundingdino_swint_ogc.pth") #要预测的图片路径 IMAGE_PATH = "images/1.jpg" #要预测的类别提示,可以输入多个类中间用英文句号隔开 TEXT_PROMPT = "person" BOX_TRESHOLD = 0.35 TEXT_TRESHOLD = 0.25 image_source, image = load_image(IMAGE_PATH) boxes, logits, phrases = predict( model=model, image=image, caption=TEXT_PROMPT, box_threshold=BOX_TRESHOLD, text_threshold=TEXT_TRESHOLD ) annotated_frame = annotate(image_source=image_source, boxes=boxes, logits=logits, phrases=phrases) #保存预测的图片,保存到outputs文件夹中,名称为annotated_image.jpg cv2.imwrite("outputs/annotated_image.jpg", annotated_frame)
-
运行代码期间会下载Bert预训练模型
运行代码出现的错误
-
ModuleNotFoundError: No module named ‘pycocotools._mask’
原来我的pycocotools版本为2.0.2,然后我将它升级为2.0.7pip install pycocotools==2.0.7
-
NameError: name ‘_C’ is not defined
这个我查询网站需要安装CUDA Toolkit加上cuDNN,我安装的版本的12.1,可以参考下面的帖子,我的torch的cuda版本也是12.1https://zhuanlan.zhihu.com/p/443114377 https://blog.csdn.net/qq_42951560/article/details/116131410 https://blog.csdn.net/qq_42951560/article/details/116133151
安装后Anaconda Prompt设置环境变量
set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
然后在项目目录中重新安装项目
pip install -e .
最后重新运行test.py程序就可以了
运行结果
有很多warning我都没有管