ICLR2024
[Веб -сайт] [arxiv] [pdf]

Можем ли мы лучше предвидеть будущие действия актера (например, яйца), зная, что обычно происходит после его/ее текущего действия (например, яйца трещин)? Что если мы также узнаем долгосрочную цель актера (например, изготовление жареного яичного риса)? Мы предполагаем, что крупные языковые модели (LLMS), которые были предварительно предварительно для текстовых данных процедур (например, рецепты, как то, что могут помочь LTA с обеих точек зрения. Это может помочь предоставить предыдущие знания о возможных следующих действиях и сделать вывод цели, учитывая наблюдаемую часть процедуры, соответственно.
ANTGPT является предложенной структурой в нашей статье для использования LLMS в долгосрочном ожидании действий на основе видео. ANTGPT достигает современных результатов на критериях Ego4d LTA V1 и V2, Epic-Kitchens-55, а также к Egtea Gaze+ к моменту публикации.
Клонировать это хранилище.
git clone [email protected]:brown-palm/AntGPT.git
cd AntGPTУстановите виртуальную среду Python (3.9). Установите Pytorch с правильной версией CUDA.
python3 -m venv venv/forecasting
source venv/forecasting/bin/activate
pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --extra-index-url https://download.pytorch.org/whl/cu117Установить клип.
pip install git+https://github.com/openai/CLIP.gitУстановите другие пакеты.
pip install -r requirements.txt Установите пакеты рецентрации Llama, следующие за инструкциями здесь.
В наших экспериментах мы использовали данные из Ego4D, Epic-Kitchens-55 и Egtea Gaze+. Для Epic-Kitchens-55 и Egtea Gaze+мы также использовали аннотацию данных и разделения эго-топо. Сначала запустите папку данных в корневом каталоге.
mkdir data Загрузите набор данных EGO4D, аннотации и предварительные модели отсюда.
Скачать набор данных и аннотации Epic-Kitchens 55.
Загрузите Egtea Haze+ DataSet отсюда.
Скачать аннотации данных с эго-топо. Пожалуйста, обратитесь к их инструкциям.
Вы можете найти наш предварительный файл, включая текстовые подсказки, функции целей и т. Д.
Скачали и раскачивают обе папки.
Разместите goal_features в папку data .
Поместите папку dataset в папку Llama2_models .
Сделайте символическую ссылку в подпапке ICL папки Llama2_models .
ln -s {path_to_dataset} AntGPT/Llama2_models/ICLМы использовали клип для извлечения функций из этих наборов данных. Вы можете использовать файл извлечения функций под Transformer_models для извлечения функций.
python -m transformer_models.generate_clip_img_embeddingУ нас есть структура папки данных, как показано ниже. Не стесняйтесь использовать свою собственную настройку и не забывайте соответствующим образом настроить конфигурации пути.
data
├── ego4d
│ └── annotations
| │ ├── fho_lta_taxonomy.json
| │ ├── fho_test_unannotated.json
│ │ ├── ...
│ │
│ └── clips
│ ├── 0a7a74bf-1564-41dc-a516-f5f1fa7f75d1.mp4
│ ├── 0a975e6e-4b13-426d-be5f-0ef99b123358.mp4
│ ├── ...
│
├── ek
│ └── annotations
| │ ├── EPIC_many_shot_verbs.csv
│ │ ├── ...
│ │
│ └── clips
│ ├── rgb
│ ├── obj
│ └── flow
│
├── gaze
│ └── annotations
| │ ├── action_list_t+v.csv
│ │ ├── ...
│ │
│ └── clips
│ ├── OP01-R01-PastaSalad.mp4
│ ├── ...
│
├── goal_features
│ ├── ego4d_feature_gt_val.pkl
│ ├── ...
│
├── output_CLIP_img_embedding_ego4d
│
...
Наша кодовая база состоит из трех частей: эксперименты трансформатора, эксперименты GPT и эксперименты Llama2. Реализация каждого модулей расположена в папке transformer_models , GPT_models и Llama2_models соответственно.
Вы можете найти наши контрольные точки модели и выходные файлы для EGO4D LTA здесь.
Разанизируйте обе папки.
Поместите папку ckpt в подпапку llama_recipe папки Llama2_models .
Поместите папку ego4d_outputs в подпапку llama_recipe папки Llama2_models .
Отправьте выходные файлы в таблицу лидеров.
cd Llama2_models/Finetune/llama-recipesCUDA_VISIBLE_DEVICES=0 python inference/inference_lta.py --model_name {your llama checkpoint path} --peft_model {pretrained model path} --prompt_file ../dataset/test_nseg8_recog_egovlp.jsonl --response_path {output file path}Чтобы запустить эксперимент на моделях трансформатора, используйте следующую команду
python -m transformer_models.run --cfg transformer_models/configs/ego4d_image_pred_in8.yaml --exp_name ego4d_lta/clip_feature_in8Чтобы запустить эксперимент GPT, используйте один из ноутбуков иллюстрации рабочего процесса.
Чтобы запустить эксперимент Llama2, пожалуйста, обратитесь к инструкциям в этой папке.
Наша статья доступна на Arxiv. Если вы найдете нашу работу полезной, пожалуйста, рассмотрите возможность ссылаться на нас.
@article { zhao2023antgpt ,
title = { AntGPT: Can Large Language Models Help Long-term Action Anticipation from Videos? } ,
author = { Qi Zhao and Shijie Wang and Ce Zhang and Changcheng Fu and Minh Quan Do and Nakul Agarwal and Kwonjoon Lee and Chen Sun } ,
journal = { ICLR } ,
year = { 2024 }
}Этот проект выпущен по лицензии MIT.