[Papier] [Projekt] [Datensatz] [bibtex]
Wir präsentieren eine moderne Formulierung des Embodied Question Answering (EQA) als die Aufgabe, eine Umgebung gut genug zu verstehen, um Fragen dazu in natürlicher Sprache zu beantworten. Ein Agent kann ein solches Verständnis erreichen, indem er entweder auf das episodische Gedächtnis zurückgreift, wie beispielsweise Agenten auf Datenbrillen, oder indem er die Umgebung aktiv erkundet, wie im Fall mobiler Roboter. Wir begleiten unsere Formulierung mit OpenEQA – dem ersten Open-Vocabulary-Benchmark-Datensatz für EQA, der sowohl Anwendungsfälle des episodischen Gedächtnisses als auch der aktiven Erkundung unterstützt. OpenEQA enthält über 1600 hochwertige, von Menschen erstellte Fragen aus über 180 realen Umgebungen. Zusätzlich zum Datensatz stellen wir auch ein automatisches LLM-gestütztes Bewertungsprotokoll bereit, das eine hervorragende Korrelation mit dem menschlichen Urteilsvermögen aufweist. Mithilfe dieses Datensatzes und Bewertungsprotokolls bewerten wir mehrere hochmoderne Basismodelle, darunter GPT-4V, und stellen fest, dass sie deutlich hinter der Leistung auf menschlicher Ebene zurückbleiben. Folglich zeichnet sich OpenEQA als unkomplizierter, messbarer und praxisrelevanter Benchmark aus, der eine erhebliche Herausforderung für die aktuelle Generation von Grundlagenmodellen darstellt. Wir hoffen, dass dies die zukünftige Forschung an der Schnittstelle von verkörperter KI, Konversationsagenten und Weltmodellen inspiriert und anregt.
Der OpenEQA-Datensatz besteht aus über 1600 Frage-Antwort-Paaren
Die Frage-Antwort-Paare sind in data/open-eqa-v0.json verfügbar und die Episodenverläufe können heruntergeladen werden, indem Sie den Anweisungen hier folgen.
Vorschau: Hier wird ein einfaches Tool zum Anzeigen von Beispielen im Datensatz bereitgestellt.
Der Code erfordert eine python>=3.9
Umgebung. Wir empfehlen die Verwendung von Conda:
conda create -n openeqa python=3.9
conda activate openeqa
pip install -r requirements.txt
pip install -e .
In openeqa/baselines sind mehrere Baselines implementiert. Im Allgemeinen werden Baselines wie folgt ausgeführt:
# set an environment variable to your personal API key for the baseline
python openeqa/baselines/ < baseline > .py --dry-run # remove --dry-run to process the full benchmark
Weitere Informationen finden Sie unter openeqa/baselines/README.md.
Die automatische Auswertung wird mit GPT-4 mithilfe der Eingabeaufforderungen hier und hier implementiert.
# set the OPENAI_API_KEY environment variable to your personal API key
python evaluate-predictions.py < path/to/results/file.json > --dry-run # remove --dry-run to evaluate on the full benchmark
OpenEQA wird unter der MIT-Lizenz veröffentlicht.
Arjun Majumdar*, Anurag Ajay*, Xiaohan Zhang*, Pranav Putta, Sriram Yenamandra, Mikael Henaff, Sneha Silwal, Paul Mcvay, Oleksandr Maksymets, Sergio Arnaud, Karmesh Yadav, Qiyang Li, Ben Newman, Mohit Sharma, Vincent Berges, Shiqi Zhang , Pulkit Agrawal, Yonatan Bisk, Dhruv Batra, Mrinal Kalakrishnan, Franziska Meier, Chris Paxton, Sasha Sax, Aravind Rajeswaran
@inproceedings{majumdar2023openeqa,
author={Arjun Majumdar, Anurag Ajay, Xiaohan Zhang, Pranav Putta, Sriram Yenamandra, Mikael Henaff, Sneha Silwal, Paul Mcvay, Oleksandr Maksymets, Sergio Arnaud, Karmesh Yadav, Qiyang Li, Ben Newman, Mohit Sharma, Vincent Berges, Shiqi Zhang, Pulkit Agrawal, Yonatan Bisk, Dhruv Batra, Mrinal Kalakrishnan, Franziska Meier, Chris Paxton, Sasha Sax, Aravind Rajeswaran},
title={{OpenEQA: Embodied Question Answering in the Era of Foundation Models}},
booktitle={{CVPR}},
year={2024},
}