一、導(dǎo)讀
RegionCLIP: Region-based Language-Image Pretraining
This is the official PyTorch implementation of RegionCLIP (CVPR 2022).
我們提出 RegionCLIP,它顯著擴(kuò)展了 CLIP 以學(xué)習(xí)區(qū)域級視覺表示。 RegionCLIP 支持圖像區(qū)域和文本概念之間的細(xì)粒度對齊,從而支持基于區(qū)域的推理任務(wù),包括零樣本對象檢測和開放詞匯對象檢測。
- 預(yù)訓(xùn)練:我們利用 CLIP 模型將圖像區(qū)域與模板標(biāo)題進(jìn)行匹配,然后預(yù)訓(xùn)練我們的模型以對齊這些區(qū)域-文本對。
- 零樣本推理:經(jīng)過預(yù)訓(xùn)練后,學(xué)習(xí)到的區(qū)域表示支持用于對象檢測的零樣本推理。
- 學(xué)習(xí)到的 RegionCLIP 模型可以通過附加的對象檢測注釋進(jìn)行進(jìn)一步微調(diào),從而使我們的模型能夠用于完全監(jiān)督或開放詞匯對象檢測。
- 我們的方法展示了零樣本目標(biāo)檢測和開放詞匯目標(biāo)檢測的最先進(jìn)結(jié)果。
二、環(huán)境部署
下一步,下載RegionCLIP文件,下載地址作者已經(jīng)給出:
https://github.com/microsoft/RegionCLIP.git
完成RegionCLIP文件的下載后,便需要配置RegionCLIP進(jìn)行zero-shot推理的環(huán)境配置以及所需要的配置文件。
然后進(jìn)行環(huán)境配置:
!python -m pip install -e RegionCLIP
安裝其他所需的文件:
!pip install opencv-python timm diffdist h5py sklearn ftfy
!pip install git+https://github.com/lvis-dataset/lvis-api.git
三、權(quán)重文件配置
首先需要下載一個(gè)pretrained_ckpt文件夾下到RegionCLIP文件夾下:
文件夾的地址為:
https://drive.google.com/drive/folders/1hzrJBvcCrahoRcqJRqzkIGFO_HUSJIii
由于共享的文件夾不是pretrained_ckpt名稱,所以將其重命名為pretrained_ckpt即可。
四、數(shù)據(jù)集的配置
還需要一個(gè)lvis驗(yàn)證集的label數(shù)據(jù)集,這個(gè)直接去官網(wǎng)下載即可,不是很大,官網(wǎng)地址:
注意的是,要選擇路徑”RegionCLIP””datasets”后再點(diǎn)擊新建,把文件夾上傳到RegionCLIP/datasets下,并且文件夾名為lvis:
至此,你已經(jīng)完成好了RegionCLIP的zero-shot測試的相關(guān)文件配置,下面要做的就是running code啦。
具體的一些配置如下:
五、代碼執(zhí)行
記得先切換到對應(yīng)的目錄下:
執(zhí)行如下代碼:
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 \
運(yùn)行結(jié)果如下:
然后會在RegionCLIP目錄生成一個(gè)“output/inference/lvis_instances_results.json"文件夾:
為了可視化最后的zero-shot測試結(jié)果,執(zhí)行如下代碼:
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\
然后找到根據(jù)路徑RegionCLIP/output/regions找到對應(yīng)的測試結(jié)果圖片:
結(jié)果展示如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-791822.html
從測試結(jié)果可以看出,RegionCLIP的zero-shot推理主要集中在未知類別的目標(biāo)檢測,也就是說對于一些常見的類別如person、book、cup等,RegionCLIP的zero-shot就不進(jìn)行定位和識別,只是檢測少見的類,也就是一般數(shù)據(jù)集如coco里面沒有的類別,比如第一張圖片里的pantyose(連褲襪,這里識別錯(cuò)了)、kimono(和服)、以及第二張圖片里的shopping_cart、short_pants、deck_chair等這些類別在常見的數(shù)據(jù)集是沒有標(biāo)記的,只是一些關(guān)于圖片的描述中可能會出現(xiàn)的,也就是image-caption數(shù)據(jù)集中才會有的。文章來源地址http://www.zghlxwxcb.cn/news/detail-791822.html
到了這里,關(guān)于【計(jì)算機(jī)視覺 | 目標(biāo)檢測】RegionCLIP的環(huán)境部署和代碼測試(含源代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!