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

简介: RegionCLIP: Region-based Language-Image Pretraining

一、导读

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

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

预训练:我们利用 CLIP 模型将图像区域与模板标题进行匹配,然后预训练我们的模型以对齐这些区域-文本对。

零样本推理:经过预训练后,学习到的区域表示支持用于对象检测的零样本推理。

学习到的 RegionCLIP 模型可以通过附加的对象检测注释进行进一步微调,从而使我们的模型能够用于完全监督或开放词汇对象检测。

我们的方法展示了零样本目标检测和开放词汇目标检测的最先进结果。

二、环境部署

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

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

image.png
完成RegionCLIP文件的下载后,便需要配置RegionCLIP进行zero-shot推理的环境配置以及所需要的配置文件。

然后进行环境配置:

!python -m pip install -e RegionCLIP

image.png
image.png
安装其他所需的文件:

!pip install opencv-python timm diffdist h5py sklearn ftfy

image.png

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

image.png

三、权重文件配置

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

image.png
文件夹的地址为:

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

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

四、数据集的配置

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

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

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

具体的一些配置如下:

image.png

五、代码执行

记得先切换到对应的目录下:

image.png
执行如下代码:

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 \

image.png
运行结果如下:

image.png
然后会在RegionCLIP目录生成一个“output/inference/lvis_instances_results.json"文件夹:

image.png
为了可视化最后的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找到对应的测试结果图片:

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

相关文章
|
1天前
|
敏捷开发 运维 测试技术
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第18天】 随着敏捷开发和DevOps文化的普及,持续集成(CI)已成为软件开发过程中不可或缺的组成部分。本文将深入探讨自动化测试在持续集成环境中的重要性,分析其如何提高软件交付速度、保障质量并减少人工干预。通过对现代软件工程实践中自动化测试策略的剖析,揭示了其在维护高效率和高质量软件产品中的核心地位。
|
1天前
|
敏捷开发 监控 jenkins
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第14天】 随着敏捷开发和持续集成(CI)的普及,自动化测试已成为确保软件质量和加速交付过程的重要环节。本文旨在深入探讨自动化测试在持续集成环境中的核心价值,分析其如何提高测试效率,减少人工错误,并保障产品的快速迭代与发布。通过对自动化测试工具、策略及最佳实践的综合评述,为读者呈现一个全面的自动化测试实施指南。
23 0
|
1天前
|
JavaScript Linux 区块链
DApp测试网络Ganache本地部署并实现远程连接
DApp测试网络Ganache本地部署并实现远程连接
|
2天前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A路径规划+单目测距与测速+行人车辆计数等)
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A路径规划+单目测距与测速+行人车辆计数等)
39 2
|
2天前
|
敏捷开发 监控 Devops
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第15天】 本文旨在探讨自动化测试作为软件开发过程中不可或缺的一环,尤其在持续集成(CI)环境中的显著影响。通过深入分析自动化测试的实施策略和最佳实践,文章揭示了如何有效提升软件交付速度和质量。文中不仅讨论了自动化测试的基本概念和框架选择,还详细阐述了其在CI流程中的关键步骤及潜在挑战,并提出了相应的解决方案。
24 4
|
1天前
|
敏捷开发 测试技术 持续交付
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第15天】 随着敏捷开发和持续集成(CI)实践的普及,自动化测试已成为确保软件质量和加速产品上市速度的核心环节。本文将深入探讨自动化测试在持续集成环境中的重要性,分析其如何提高测试效率,减少人工干预的错误,并实现快速反馈循环。通过案例分析和最佳实践分享,我们将揭示自动化测试策略对提升软件开发流程的影响,以及如何有效地将其整合到现代软件生命周期管理中。
|
1天前
|
机器学习/深度学习 Shell C++
测试本地部署ChatGLM-6B | ChatGPT
ChatGLM-6B是款62亿参数的中英对话模型,类似ChatGPT,可在6GB显存(INT4量化)的GPU或CPU上运行。它提供流畅、多样的对话体验。用户可从Hugging Face或清华云下载模型配置。部署涉及创建Python环境,安装依赖,下载模型到`ckpt`文件夹。测试时加载tokenizer和模型,使用示例代码进行交互。应用包括基于MNN和JittorLLMs的推理实现,以及langchain-ChatGLM、闻达、chatgpt_academic和glm-bot等项目。5月更文挑战第10天
15 1
|
1天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
15 1
|
1天前
|
算法 计算机视觉 Docker
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
|
1天前
|
敏捷开发 监控 jenkins
探索自动化测试在持续集成环境中的关键作用
【5月更文挑战第6天】 在快速迭代的软件开发周期中,持续集成(CI)已经成为确保代码质量和加速交付的重要实践。本文将深入探讨自动化测试作为持续集成不可或缺的组成部分,它如何通过减少人为错误、提高测试覆盖率和加快反馈周期来强化软件开发流程。通过对现代自动化测试工具的评估以及真实案例的分析,我们揭示了自动化测试在提升软件可靠性和效率方面的核心价值,并提出了实现高效自动化测试策略的最佳实践。

热门文章

最新文章