นี่คือการดำเนินการสำหรับรายงาน ECCV 2022 การตอบคำถามด้วยภาพที่เชื่อถือได้: งดเว้นมากกว่าตอบไม่ถูกต้อง หากคุณพบว่าเอกสารของเราหรือพื้นที่เก็บข้อมูลนี้มีประโยชน์สำหรับงานของคุณเอง โปรดอ้างอิง:
@inproceedings{whitehead2022reliablevqa, title={Reliable Visual Question Answering: Abstain Rather Than Answer Incorrectly}, author={Whitehead, Spencer and Petryk, Suzanne and Shakib, Vedaad and Gonzalez, Joseph and Darrell, Trevor and Rohrbach, Anna and Rohrbach, Marcus}, booktitle={Proceedings of the European Conference on Computer Vision (ECCV)}, year={2022} }
พื้นที่เก็บข้อมูลนี้ใช้ PyTorch และสร้างขึ้นบน MMF ประกอบด้วยสิ่งต่อไปนี้:
การใช้งานตัวชี้วัดที่ใช้ในรายงานของเรา รวมถึงความเสี่ยง ความครอบคลุม และความน่าเชื่อถือที่มีประสิทธิผล
การใช้งานเพื่อความน่าจะเป็นสูงสุด (MaxProb) การสอบเทียบ และการเรียนรู้ฟังก์ชันการเลือกหลายรูปแบบ (Selector)
การฝึกอบรมการกำหนดค่าสำหรับโมเดลในการทำงานของเรา
ดาวน์โหลดลิงก์สำหรับการแยกชุดข้อมูล VQA v2 จุดตรวจสอบโมเดลที่ผ่านการฝึกอบรม และฟีเจอร์ที่แยกไว้ล่วงหน้าที่ใช้ในงานของเรา
อัปเดต: เวอร์ชันก่อนหน้าของ repo นี้ใช้คำตอบความจริงพื้นฐานโดยไม่ได้ตั้งใจใน MMF ใน answers
ของฟิลด์ซึ่งมีคำตอบอ้างอิงที่แตกต่างกันเล็กน้อย (เช่น จะแทนที่บางรายการหากไม่ได้อยู่ในคำศัพท์ของคำตอบ 3k) ดังนั้นเราจึงจัดเตรียมสคริปต์การประเมินผลแบบสแตนด์อโลน (eval_scripts/) ที่ใช้คำอธิบายประกอบ VQA v2 ดั้งเดิมเป็นข้อมูลอ้างอิงสำหรับการประเมิน การอัปเดตนี้สะท้อนให้เห็นในเวอร์ชัน arXiv (โปรดดูบันทึกการเปลี่ยนแปลงในภาคผนวก) และงานในอนาคตควรใช้การประเมินที่อัปเดตสำหรับการรายงานผลลัพธ์
โฟลเดอร์ใน repo นี้มีโครงสร้างดังนี้:
configs/
:
experiments/
มีการกำหนดค่า YAML เพื่อฝึกโมเดล VQA แต่ละรุ่นและฟังก์ชันการเลือกที่เกี่ยวข้อง
datasets/
มีการกำหนดค่า YAML สำหรับชุดข้อมูล vqa2_extended
ที่กำหนดเอง
datasets/
: มีการใช้งานชุดข้อมูลและตัวสร้างสำหรับ vqa2_extended
ชุดข้อมูลนี้เหมือนกับ VQA v2 ภายใน MMF แต่ยังรองรับเอาต์พุตความเชื่อมั่นของโมเดลเพิ่มเติมสำหรับฟังก์ชันการเลือกและคำอธิบายประกอบแบบหลายตัวเลือกสำหรับการประเมินการสอบเทียบ
eval_scripts/
: มีสคริปต์การประเมินสำหรับการคำนวณความครอบคลุมความเสี่ยงและการวัดความน่าเชื่อถือที่มีประสิทธิผลในรายงาน
reliable_vqa_eval.py
: มีอ็อบเจ็กต์ตัวประเมินที่คำนวณเมตริกต่างๆ
run.py
: สคริปต์สำหรับดำเนินการประเมินตามการคาดการณ์แบบจำลองและคำอธิบายประกอบความจริงภาคพื้นดิน
vqa.py
: มีวัตถุสำหรับเชื่อมต่อกับคำอธิบายประกอบและการทำนาย VQA v2
models/
: สำหรับโมเดล VQA แต่ละโมเดลในการทดลองของเรา เราจะลงทะเบียนเวอร์ชันไว้ที่ด้านบนของโมเดลดั้งเดิม ซึ่งจะส่งกลับความมั่นใจเพิ่มเติมและเอาต์พุตฟีเจอร์ระดับกลางที่จำเป็นสำหรับฟังก์ชันการเลือก
selective_predictors.py
มีการนำไปใช้งานสำหรับทั้งรุ่นการสอบเทียบและรุ่น Selector
modules/
:
losses.py
มีฟังก์ชันการสูญเสียการทำนายความถูกต้องสำหรับโมเดลตัวเลือกที่เรียนรู้
metrics.py
มีการใช้งานการวัดความครอบคลุมความเสี่ยงและความน่าเชื่อถือที่มีประสิทธิภาพใน MMF เพื่อการตรวจสอบ
__init__.py
: นำเข้าส่วนประกอบ MMF ที่กำหนดเองที่จะใช้โดย MMF
โปรดปฏิบัติตามคำแนะนำในการติดตั้ง MMF ที่นี่: https://mmf.sh/docs/ เราแนะนำให้ติดตั้งจากแหล่งที่มา หมายเหตุ เมื่อติดตั้งจากแหล่งที่มา คุณไม่จำเป็นต้องโคลนพื้นที่เก็บข้อมูล MMF ภายใต้ที่เก็บนี้ คุณสามารถโคลน MMF ไปยังไดเร็กทอรีของตัวเองได้ นอกจากนี้เรายังแนะนำให้ใช้สภาพแวดล้อม conda สำหรับการติดตั้งและใช้งาน ซึ่งสามารถใช้ได้กับทั้ง MMF และ repo นี้
หลังจากการติดตั้ง MMF สภาพแวดล้อมของคุณควรติดตั้ง Python 3.7+ และ PyTorch 1.6+ คุณจะต้องมี scikit-learn 1.0+ และ pandas 1.3.4+
TL; DR: เราใช้ชุดข้อมูล VQA v2 เราแบ่งชุดการตรวจสอบ VQA v2 ออกเป็น 3 ส่วนและมีคำอธิบายประกอบด้านล่าง นอกจากนี้เรายังแยกคุณสมบัติกริดแบบกำหนดเองสำหรับโมเดล CLIP-ViL ดังที่ระบุไว้ด้านล่าง คำอธิบายประกอบและคุณสมบัติอื่นๆ ทั้งหมดจะถูกดาวน์โหลดโดยอัตโนมัติโดย MMF ตามที่ระบุไว้โดยการกำหนดค่าแต่ละรายการใน repo นี้
ขั้นแรก ดาวน์โหลดคำถามในการตรวจสอบ VQA v2 ต้นฉบับและตอบไฟล์ JSON คำอธิบายประกอบจากที่นี่: https://visualqa.org/download.html สิ่งเหล่านี้จะถูกนำไปใช้ในการประเมิน
เมื่อเรียกใช้ MMF ด้วยไฟล์กำหนดค่าไฟล์ใดไฟล์หนึ่งของเราเป็นครั้งแรก MMF ควรดาวน์โหลดคุณสมบัติและคำอธิบายประกอบสำหรับ VQA v2 โดยอัตโนมัติ ไดเร็กทอรี/ไฟล์เหล่านี้จะถูกจัดเก็บไว้ใน $MMF_DATA_DIR
( env.data_dir
) ภายใต้ไดเร็กทอรี vqa2
โปรดดู MMF สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ เราขอแนะนำให้เริ่มต้นด้วยการเรียกใช้ Pythia+MaxProb ผ่าน repo นี้ ซึ่งจะดาวน์โหลดคำอธิบายประกอบและคุณสมบัติที่ใช้สำหรับ Pythia, ViLBERT และ VisualBERT (ดูการฝึกอบรมสำหรับรายละเอียด)
นอกจากนี้เรายังแนะนำให้บันทึกการแยกการตรวจสอบและคุณสมบัติ CLIP ของเรา (อธิบายไว้ในส่วนถัดไป) ภายในไดเร็กทอรีเหล่านี้ด้วย และการตั้งค่าต่อไปนี้จะถือว่าเป็นเช่นนั้น หากคุณตัดสินใจที่จะจัดโครงสร้างไดเร็กทอรีของคุณแตกต่างออกไป คุณจะต้องอัปเดตพาธการกำหนดค่าของคุณ ฯลฯ ตามนั้น
ชุดการฝึก VQA v2 มาตรฐานใช้สำหรับการฝึกโมเดล VQA อย่างไรก็ตาม เนื่องจากคำอธิบายประกอบคำตอบไม่พร้อมใช้งานสำหรับการแยก test-dev และ test-std VQA v2 เราจึงแบ่งชุดการตรวจสอบความถูกต้อง VQA v2 ออกเป็น 3 ชุดที่ไม่ต่อเนื่องกัน (กล่าวคือ ไม่มีการแชร์รูปภาพหรือคำถาม) เพื่อวัตถุประสงค์ในการประเมิน:
dev
: ชุดการตรวจสอบความถูกต้องสำหรับการฝึกโมเดล VQA และชุดการฝึกสำหรับตัวทำนายแบบเลือก
val
: ชุดการตรวจสอบความถูกต้องสำหรับตัวทำนายแบบเลือก
test
: ชุดทดสอบสำหรับทุกรุ่น และสิ่งที่เรารายงานผลลัพธ์ในรายงานของเรา
ไฟล์คำอธิบายประกอบแบบแยกเหล่านี้สามารถดาวน์โหลดได้ที่นี่: ดาวน์โหลด
เมื่อดาวน์โหลดแล้ว ให้วางไฟล์บีบอัดไว้ในไดเร็กทอรี <env.data_dir>/vqa2/
การคลายการบีบอัดไฟล์ควรตั้งค่าโครงสร้างไดเร็กทอรีต่อไปนี้:
vqa2/ reliable_vqa/ annotations/ imdb_val2014-dev.npy imdb_val2014-test.npy imdb_val2014-val.npy
หากต้องการใช้ไฟล์กำหนดค่าของเราตามที่เป็นอยู่ ไฟล์คำอธิบายประกอบเหล่านี้ควรอยู่ใต้พาธ <env.data_dir>/vqa2/reliable_vqa/annotations
มิฉะนั้น คุณจะต้องแก้ไขไฟล์การกำหนดค่าและคำอธิบายประกอบเพื่อให้ตรงกับเส้นทางของคุณ ตัวอย่างเช่น คำอธิบายประกอบชุดข้อมูลในการกำหนดค่าสำหรับการฝึกโมเดล VQA คือ:
dataset_config: vqa2_extended: annotations: train: - vqa2/defaults/annotations/imdb_train2014.npy val: - vqa2/reliable_vqa/annotations/imdb_val2014-dev.npy test: - vqa2/reliable_vqa/annotations/imdb_val2014-test.npy
ในขณะที่คำอธิบายประกอบสำหรับการฝึก Selector คือ:
dataset_config: vqa2_extended: annotations: train: - vqa2/reliable_vqa/annotations/imdb_val2014-dev.npy val: - vqa2/reliable_vqa/annotations/imdb_val2014-val.npy test: - vqa2/reliable_vqa/annotations/imdb_val2014-test.npy
สำหรับการฝึกโมเดล VQA ทั้งหมด เราใช้คุณสมบัติที่แตกไว้ล่วงหน้าแทนรูปภาพเพื่อความรวดเร็วและความสม่ำเสมอ รุ่น Pythia, ViLBERT และ VisualBERT ทั้งหมดใช้คุณสมบัติที่สามารถดาวน์โหลดได้โดยอัตโนมัติเมื่อทำงานผ่าน MMF อย่างไรก็ตาม CLIP-ViL ใช้คุณสมบัติภาพตารางจาก CLIP เราจัดเตรียมคุณสมบัติที่คำนวณไว้ล่วงหน้าของเรา เช่นเดียวกับเวอร์ชันที่ปรับเล็กน้อยของสคริปต์การแยกจาก repo CLIP-ViL ที่สามารถใช้เพื่อแยกคุณสมบัติ CLIP ได้อย่างอิสระ
ดาวน์โหลดคุณสมบัติ (ดาวน์โหลด) และไฟล์คำอธิบายประกอบที่อัปเดต (ดาวน์โหลด) สิ่งสำคัญ: คุณสมบัติมีขนาดใหญ่มาก (ประมาณ 150GB เมื่อบีบอัด) และอาจใช้เวลานานในการดาวน์โหลด
คลายการบีบอัดคำอธิบายประกอบภายในไฟล์ใน <env.data_dir>/vqa2/
ซึ่งให้ผล:
vqa2/ reliable_vqa-clip/ annotations/ imdb_train2014.npy imdb_val2014-dev.npy imdb_val2014-test.npy imdb_val2014-val.npy
วางฟีเจอร์ที่ดาวน์โหลดไว้ในไดเร็กทอรีข้างไดเร็กทอรีคำอธิบายประกอบ:
vqa2/ reliable_vqa-clip/ annotations/ ... clip_features.tar.gz
คลายการบีบอัดคุณลักษณะภายในไดเร็กทอรี reliable_vqa-clip
โครงสร้างไดเร็กทอรีของคุณควรสะท้อนถึง MMF:
vqa2/ reliable_vqa-clip/ annotations/ ... features/ train2014/ val2014/
[ไม่บังคับ] เราขอแนะนำให้สร้างสภาพแวดล้อม conda แยกต่างหาก (ด้วย Python 3.7+) สำหรับการแตกคุณลักษณะ
โคลน repo CLIP-ViL และปฏิบัติตามคำแนะนำในการติดตั้ง/ตั้งค่า (เช่น ติดตั้ง Detectron2 จาก CLIP-ViL ที่ให้มาในโคลนในเครื่อง) โปรดทราบว่าไม่จำเป็นต้องโคลน repo CLIP-ViL ภายใน repo นี้
ดาวน์โหลดอิมเมจและคำอธิบายประกอบ COCO train+val 2014 แล้ววางลงในไดเร็กทอรีที่มีโครงสร้างและชื่อพาธต่อไปนี้:
coco_2014/ annotations/ instances_train2014.json instances_val2014.json images/ train2014/ val2014/
คัดลอก/ย้าย fixed_mcan_clip_grid_feature.py
ไปยัง CLIP-ViL/CLIP-ViL-Direct/vqa
ใน CLIP-ViL repo
เปลี่ยน OUTPUT_DIR
ใน CLIP-ViL/CLIP-ViL-Direct/vqa/configs/R-50-grid.yaml
เป็นไดเร็กทอรีที่คุณต้องการสำหรับคุณสมบัติ (เช่น <env.data_dir>/vqa2/reliable_vqa-clip/features
)
รันสิ่งต่อไปนี้บนอิมเมจ train2014 (ทำซ้ำโดยใช้ coco_2014_val
เพื่อรันบนอิมเมจ val2014):
DETECTRON2_DATASETS=<PATH_TO_PARENT_DIR_OF_coco_2014> python fixed_mcan_clip_grid_feature.py --config-file configs/R-50-grid.yaml --dataset coco_2014_train --model_type RN50x4
คุณสามารถดาวน์โหลดคำอธิบายประกอบที่อัปเดตตามส่วนคุณสมบัติที่แยกไว้ล่วงหน้า หรือคุณสามารถเรียกใช้สคริปต์การแมปเพื่อสร้างไฟล์คำอธิบายประกอบที่อัปเดตสำหรับ CLIP-ViL:
python clipvil_anns_conversion.py --input_dir <env.data_dir>/vqa2/reliable_vqa/annotations --output_dir <env.data_dir>/vqa2/reliable_vqa-clip/annotations
เราจัดให้มีจุดตรวจสอบแบบจำลองที่ผ่านการฝึกอบรมสำหรับการรวมกันของแบบจำลอง VQA 4 แบบและฟังก์ชันการเลือก 3 แบบในรายงานของเรา โปรดทราบว่าจุดตรวจสอบโมเดล MaxProb เป็นเพียงโมเดล VQA ตัวพยากรณ์แบบเลือกสอบเทียบและตัวเลือกนั้นมีขนาดเล็กกว่ารุ่น VQA มาก แต่เรารวมโมเดล VQA ไว้ในจุดตรวจสอบที่เกี่ยวข้องเพื่อความสะดวก
โปรดทราบว่า MaxProb ViLBERT และ VisualBERT เหมือนกับจาก MMF (ผ่านการฝึกอบรมล่วงหน้าและปรับแต่งอย่างละเอียด) ดังนั้นจึงสามารถดาวน์โหลดผ่าน Model Zoo ของ MMF ได้ด้วย จากสวนสัตว์โมเดล MMF นั้น ViLBERT สอดคล้องกับ vilbert.finetuned.vqa2.from_vqa2_train
และ VisualBERT สอดคล้องกับ visual_bert.finetuned.vqa2.from_coco_train
MaxProb | การสอบเทียบ | ตัวเลือก | |
---|---|---|---|
ปีเธีย | ดาวน์โหลด | ดาวน์โหลด | ดาวน์โหลด |
วิลเบิร์ต | ดาวน์โหลด MMF | ดาวน์โหลด | ดาวน์โหลด |
วิชวลเบิร์ต | ดาวน์โหลด MMF | ดาวน์โหลด | ดาวน์โหลด |
CLIP-ViL | ดาวน์โหลด | ดาวน์โหลด | ดาวน์โหลด |
ที่นี่ เรามีคำสั่งตัวอย่างสำหรับการฝึกและประเมินโมเดล ตัวอย่างเหล่านี้ใช้โมเดล CLIP-ViL (เรียกว่า movie_mcan
ซึ่งเป็นสถาปัตยกรรมโมเดลที่สอดคล้องกัน) การทำงานกับรุ่นอื่นเกี่ยวข้องกับการเปลี่ยน config
เป็นเส้นทางที่ถูกต้อง และการเปลี่ยนอาร์กิวเมนต์ model
เป็นหนึ่งใน pythia
, vilbert
, visual_bert
หรือ movie_mcan
(เมื่อใช้ MaxProb) หรือใช้ select_*
สำหรับ model *
(เมื่อใช้ Calibration หรือ Selector เช่น select_visual_bert
) โปรดทราบว่าไฟล์คำอธิบายประกอบสำหรับ CLIP-ViL จะแตกต่างกันเนื่องจากมีการใช้คุณลักษณะของ CLIP (ดู เช่น configs/experiments/movie_mcan/vqa2/defaults.yaml
) ในขณะที่รุ่นอื่นๆ ทั้งหมดใช้ไฟล์คำอธิบายประกอบชุดเดียวกัน ดังนั้นต้องแน่ใจว่า ใช้ไฟล์คำอธิบายประกอบและเส้นทางคุณลักษณะที่เกี่ยวข้องที่ถูกต้อง
คำสั่งทั้งหมดควรรันจากไดเร็กทอรี reliable_vqa
และตั้งค่า env.user_dir=<PATH_TO_REPO>/reliable_vqa
ในตัวเลือกบรรทัดคำสั่ง MMF (หรือ MMF_USER_DIR=$PWD
ก่อนคำสั่ง)
วิธีฝึกโมเดล VQA:
mmf_run env.user_dir=<PATH_TO_REPO>/reliable_vqa env.data_dir=<YOUR_DATA_DIR> env.save_dir=<YOUR_MAXPROB_SAVE_DIR> dataset=vqa2_extended model=movie_mcan config=configs/experiments/movie_mcan/vqa2/defaults.yaml run_type=train_val
วิธีฝึกฟังก์ชันการเลือกหลายรูปแบบที่เรียนรู้ (ตัวเลือก) สำหรับโมเดล VQA:
mmf_run env.user_dir=<PATH_TO_REPO>/reliable_vqa env.data_dir=<YOUR_DATA_DIR> env.save_dir=<YOUR_SELECTOR_SAVE_DIR> dataset=vqa2_extended model=select_movie_mcan config=configs/experiments/movie_mcan/vqa2/select_pred.yaml run_type=train_val checkpoint.resume_pretrained=True checkpoint.resume_file=<YOUR_MAXPROB_SAVE_DIR>/best.ckpt
ตัวเลือก checkpoint.resume_file
อาจเป็นหนึ่งในไฟล์ model.pth
ที่ดาวน์โหลดด้านบน นอกจากนี้ วิธีที่ดีที่สุดคือตรวจสอบให้แน่ใจว่า env.save_dir
สำหรับ MaxProb และ Selector นั้นแตกต่างกัน มิฉะนั้นพวกเขาจะเขียนทับกัน
สำหรับ ViLBERT และ VisualBERT เราใช้โมเดลที่ได้รับการปรับแต่งอย่างละเอียดแล้วบน VQA v2 ที่ได้รับจาก MMF สิ่งเหล่านี้ทำหน้าที่เป็นโมเดลเฉพาะของ MaxProb สำหรับ ViLBERT และ VisualBERT หากต้องการฝึก Selector ด้วย ViLBERT หรือ VisualBERT คุณควรจัดเตรียมพาธ checkpoint.resume_file
ไปยังไฟล์ .pth
โมเดล MMF ที่ดาวน์โหลดจาก Model Zoo (หรือลิงก์ด้านบน):
mmf_run env.user_dir=<PATH_TO_REPO>/reliable_vqa env.data_dir=<YOUR_DATA_DIR> env.save_dir=<YOUR_SELECTOR_SAVE_DIR> dataset=vqa2_extended model=select_visual_bert config=configs/experiments/visual_bert/vqa2/select_pred.yaml run_type=train_val checkpoint.resume_pretrained=True checkpoint.resume_file=<YOUR_MMF_MODEL_SAVE_DIR>/visual_bert.finetuned.vqa2.from_coco_train/model.pth
ขั้นแรกเราทำการคาดการณ์เกี่ยวกับวาล์วและชุดการทดสอบ จากนั้นจึงประเมินสิ่งเหล่านี้โดยใช้สคริปต์การประเมินผล
หากต้องการรับการคาดการณ์ ให้เปลี่ยนประเภทการรันที่จะทดสอบ ( run_type=test
) เพิ่ม evaluation.predict=True
และแทนที่พาธคำอธิบายประกอบ test
ในการกำหนดค่าด้วยคำอธิบายประกอบเพื่อรับการคาดการณ์ (เช่น vqa2/reliable_vqa/annotations/imdb_val2014-test.npy
, vqa2/reliable_vqa/annotations/imdb_val2014-val.npy
):
mmf_run env.user_dir=<PATH_TO_REPO>/reliable_vqa env.data_dir=<YOUR_DATA_DIR> env.save_dir=<YOUR_RESULT_SAVE_DIR> dataset=vqa2_extended model=select_movie_mcan config=configs/experiments/movie_mcan/vqa2/select_pred.yaml run_type=test evaluation.predict=True checkpoint.resume=True checkpoint.resume_file=<YOUR_SELECTOR_SAVE_DIR>/best.ckpt dataset_config.vqa2_extended.annotations.test=vqa2/reliable_vqa-clip/annotations/imdb_val2014-test.npy
สำหรับการรับการคาดการณ์จาก ViLBERT และ VisualBERT ด้วย MaxProb คุณยังสามารถใช้เวอร์ชันสวนสัตว์จำลองของสิ่งเหล่านี้ได้:
mmf_run env.user_dir=<PATH_TO_REPO>/reliable_vqa env.data_dir=<YOUR_DATA_DIR> env.save_dir=<YOUR_RESULT_SAVE_DIR> dataset=vqa2_extended model=visual_bert config=configs/experiments/visual_bert/vqa2/defaults.yaml run_type=test evaluation.predict=True checkpoint.resume=True checkpoint.resume_zoo=visual_bert.finetuned.vqa2.from_coco_train dataset_config.vqa2_extended.annotations.test=vqa2/reliable_vqa-clip/annotations/imdb_val2014-test.npy
สิ่งนี้จะสร้างไฟล์ JSON (รูปแบบที่คล้ายคลึงกับรูปแบบผลลัพธ์ VQA v2) ภายใน env.save_dir
ซึ่งมีคำตอบและความมั่นใจของโมเดลที่เราใช้ในการประเมิน ทำซ้ำสิ่งนี้โดยใช้ imdb_val2014-val.npy
เป็นชุดทดสอบเพื่อรับผลลัพธ์เกี่ยวกับข้อมูล val สำหรับการเลือกเกณฑ์
ต่อไป เราใช้สคริปต์การประเมินแบบสแตนด์อโลนเพื่อรับตัววัดการประเมิน ซึ่งยอมรับคำถาม VQA v2 ดั้งเดิมและ JSON คำอธิบายประกอบเป็นข้อมูลอ้างอิง:
python eval_scripts/run.py --questions <PATH>/v2_OpenEnded_mscoco_val2014_questions.json --annotations <PATH/v2_mscoco_val2014_annotations.json --predictions <RESULTS_ON_TEST_DATA>.json --threshold_predictions <RESULTS_ON_VAL_DATA>.json
คำสั่งนี้จะส่งออก ความแม่นยำ VQA , Coverage@risk , AUC สำหรับกราฟความครอบคลุมความเสี่ยง และ Effective Reliability หมายเหตุ เนื่องจากสิ่งนี้ใช้คำอธิบายประกอบ VQA v2 ดั้งเดิมและรูปแบบที่คล้ายกันกับรูปแบบผลลัพธ์ VQA สคริปต์การประเมินนี้จึงควรเข้ากันได้กับการคาดการณ์จากแบบจำลองภายนอก repo นี้ โดยเพียงแค่จัดเตรียมฟิลด์ confidence
พิเศษในการคาดคะเน
เราขอขอบคุณผู้สร้าง MMF สำหรับการใช้งานโอเพ่นซอร์ส เราขอขอบคุณ Sheng Shen และผู้เขียน CLIP มีประโยชน์ต่องานด้านการมองเห็นและภาษามากแค่ไหน? เพื่อให้ความช่วยเหลือในการแยกคุณสมบัติและสร้างโมเดลใหม่ตลอดจนการเผยแพร่โค้ด นอกจากนี้เรายังขอขอบคุณ Aishwarya Agrawal สำหรับข้อมูลเกี่ยวกับการประเมิน สุดท้ายนี้ เราขอขอบคุณ Grace Luo สำหรับความช่วยเหลือล่วงหน้ากับ MMF
VQA ที่เชื่อถือได้ส่วนใหญ่ได้รับอนุญาตภายใต้ CC-BY-NC (ดูรายละเอียดเกี่ยวกับใบอนุญาต) อย่างไรก็ตาม มีการแก้ไข_mcan_clip_grid_feature.py ซึ่งได้รับการแก้ไขจากสคริปต์ mcan_clip_grid_feature.py ใน https://github.com/clip-vil/CLIP-ViL /tree/master/CLIP-ViL-Direct/vqa ได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2.0 และ eval_scripts/vqa.py เป็น รวมถึง eval_scripts/reliable_vqa_eval.py ซึ่งดัดแปลงจาก vqa.py และ vqaEval.py ใน https://github.com/GT-Vision-Lab/VQA ได้รับอนุญาตภายใต้ BSD 2-Clause License