【计算机视觉 | 目标检测】RegionCLIP的环境部署和代码测试(含源代码)

这篇具有很好参考价值的文章主要介绍了【计算机视觉 | 目标检测】RegionCLIP的环境部署和代码测试(含源代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、导读

RegionCLIP: Region-based Language-Image Pretraining

This is the official PyTorch implementation of RegionCLIP (CVPR 2022).

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

我们提出 RegionCLIP,它显著扩展了 CLIP 以学习区域级视觉表示。 RegionCLIP 支持图像区域和文本概念之间的细粒度对齐,从而支持基于区域的推理任务,包括零样本对象检测和开放词汇对象检测。

  • 预训练:我们利用 CLIP 模型将图像区域与模板标题进行匹配,然后预训练我们的模型以对齐这些区域-文本对。
  • 零样本推理:经过预训练后,学习到的区域表示支持用于对象检测的零样本推理。
  • 学习到的 RegionCLIP 模型可以通过附加的对象检测注释进行进一步微调,从而使我们的模型能够用于完全监督或开放词汇对象检测。
  • 我们的方法展示了零样本目标检测和开放词汇目标检测的最先进结果。

二、环境部署

下一步,下载RegionCLIP文件,下载地址作者已经给出:

https://github.com/microsoft/RegionCLIP.git

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域
完成RegionCLIP文件的下载后,便需要配置RegionCLIP进行zero-shot推理的环境配置以及所需要的配置文件。

然后进行环境配置:

!python -m pip install -e RegionCLIP

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域
目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

安装其他所需的文件:

!pip install opencv-python timm diffdist h5py sklearn ftfy

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

!pip install git+https://github.com/lvis-dataset/lvis-api.git

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

三、权重文件配置

首先需要下载一个pretrained_ckpt文件夹下到RegionCLIP文件夹下:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域
文件夹的地址为:

https://drive.google.com/drive/folders/1hzrJBvcCrahoRcqJRqzkIGFO_HUSJIii

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

由于共享的文件夹不是pretrained_ckpt名称,所以将其重命名为pretrained_ckpt即可。

四、数据集的配置

还需要一个lvis验证集的label数据集,这个直接去官网下载即可,不是很大,官网地址:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

注意的是,要选择路径”RegionCLIP””datasets”后再点击新建,把文件夹上传到RegionCLIP/datasets下,并且文件夹名为lvis:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

至此,你已经完成好了RegionCLIP的zero-shot测试的相关文件配置,下面要做的就是running code啦。

具体的一些配置如下:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

五、代码执行

记得先切换到对应的目录下:目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

执行如下代码:

python ./tools/train_net.py \
--eval-only \
--num-gpus 1 \
--config-file ./configs/LVISv1-InstanceSegmentation/CLIP_fast_rcnn_R_50_C4_custom_img.yaml \
MODEL.WEIGHTS ./pretrained_ckpt/regionclip/regionclip_pretrained-cc_rn50x4.pth \
MODEL.CLIP.TEXT_EMB_PATH ./pretrained_ckpt/concept_emb/lvis_1203_cls_emb_rn50x4.pth \
MODEL.CLIP.OFFLINE_RPN_CONFIG ./configs/LVISv1-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml \
MODEL.CLIP.TEXT_EMB_DIM 640 \
MODEL.RESNETS.DEPTH 200 \
MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION 18 \

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

运行结果如下:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域
然后会在RegionCLIP目录生成一个“output/inference/lvis_instances_results.json"文件夹:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

为了可视化最后的zero-shot测试结果,执行如下代码:

python ./tools/visualize_json_results.py \
--input ./output/inference/lvis_instances_results.json \
--output ./output/regions \
--dataset lvis_v1_val_custom_img \
--conf-threshold 0.05 \
--show-unique-boxes \
--max-boxes 25 \
--small-region-px 8100\ 

然后找到根据路径RegionCLIP/output/regions找到对应的测试结果图片:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

结果展示如下:

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

目标检测 clip,计算机视觉,开放域目标检测,计算机视觉,目标检测,人工智能,CLIP,RegionCLIP,开放域

从测试结果可以看出,RegionCLIP的zero-shot推理主要集中在未知类别的目标检测,也就是说对于一些常见的类别如person、book、cup等,RegionCLIP的zero-shot就不进行定位和识别,只是检测少见的类,也就是一般数据集如coco里面没有的类别,比如第一张图片里的pantyose(连裤袜,这里识别错了)、kimono(和服)、以及第二张图片里的shopping_cart、short_pants、deck_chair等这些类别在常见的数据集是没有标记的,只是一些关于图片的描述中可能会出现的,也就是image-caption数据集中才会有的。文章来源地址https://www.toymoban.com/news/detail-791822.html

到了这里,关于【计算机视觉 | 目标检测】RegionCLIP的环境部署和代码测试(含源代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包