Этот репозиторий содержит реализацию MagicLens. В приведенном здесь коде используются Jax и Flax. Обратите внимание, что текущая реализация еще не поддерживает обучение. На веб-сайте приведены примеры наборов данных.
Мы представляем MagicLens, серию моделей поиска изображений с самоконтролем, поддерживающих открытые инструкции. Основной тезис MagicLens заключается в том, что текстовые инструкции могут позволить извлекать изображения с более богатыми связями, выходящими за рамки визуального сходства. MagicLens построен на ключевой новой идее: пары изображений, которые естественным образом встречаются на одних и тех же веб-страницах, содержат широкий спектр неявных отношений (например, вид изнутри), и мы можем сделать эти неявные отношения явными, синтезируя инструкции с помощью больших мультимодальных моделей ( LMM) и большие языковые модели (LLM). Обученный на 36,7 млн триплетов (изображение запроса, инструкция, целевое изображение) с богатыми семантическими связями, полученными из Интернета, MagicLens достигает сопоставимых или лучших результатов по восьми критериям различных задач поиска изображений, чем предыдущие современные методы (SOTA) . Примечательно, что он превосходит предыдущую модель SOTA, но имеет в 50 раз меньший размер модели по нескольким тестам. Дополнительные анализы невидимого корпуса изображений размером 1,4 млн человек дополнительно демонстрируют разнообразие поисковых намерений, поддерживаемых MagicLens.
conda create --name magic_lens python=3.9
conda activate magic_lens
git clone https://github.com/google-research/scenic.git
cd scenic
pip install .
pip install -r scenic/projects/baselines/clip/requirements.txt
# you may need to install corresponding GPU version of jax following https://jax.readthedocs.io/en/latest/installation.html
# e.g.,
# # CUDA 12 installation
# Note: wheels only available on linux.
# pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
# # CUDA 11 installation
# Note: wheels only available on linux.
# pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
Скачать модель через:
cd .. # in main folder `magiclens`
# you may need to use `gcloud auth login` for access, any gmail account should work.
gsutil cp -R gs://gresearch/magiclens/models ./
ИЛИ через Google Диск
Пожалуйста, следуйте за каждой папкой набора данных в ./data
. На данный момент мы успешно протестировали FIQ, CIRCO и DTIN:
python inference.py
--model_size large
--model_path ./models/magic_lens_clip_large.pkl
--dataset circo
Из-за пересчета веса производительность может немного отличаться:
В CIRCO
Модель | карта@5 | карта@10 | карта@25 | карта@50 |
---|---|---|---|---|
Предыдущая СОТА | 26,8 | 27,6 | 30,0 | 31,0 |
База (оригинал) | 23.1 | 23,8 | 25,8 | 26,7 |
База (переоборудованная) | 22,3 | 23.2 | 25,0 | 26,0 |
Большой (оригинал) | 29,6 | 30,8 | 33,4 | 34,4 |
Большой (переоборудованный) | 29,5 | 30,8 | 33,2 | 34,3 |
Добавьте сюда детали цитирования, обычно это вставляемый фрагмент BibTeX:
@inproceedings{zhang2024magiclens,
title = {{M}agic{L}ens: Self-Supervised Image Retrieval with Open-Ended Instructions},
author = {Zhang, Kai and Luan, Yi and Hu, Hexiang and Lee, Kenton and Qiao, Siyuan and Chen, Wenhu and Su, Yu and Chang, Ming-Wei},
booktitle = {Proceedings of the 41st International Conference on Machine Learning},
pages = {59403--59420},
year = {2024},
editor = {Salakhutdinov, Ruslan and Kolter, Zico and Heller, Katherine and Weller, Adrian and Oliver, Nuria and Scarlett, Jonathan and Berkenkamp, Felix},
volume = {235},
series = {Proceedings of Machine Learning Research},
month = {21--27 Jul},
publisher = {PMLR},
url = {https://proceedings.mlr.press/v235/zhang24an.html}
}
Авторские права принадлежат DeepMind Technologies Limited, 2024 г.
Все программное обеспечение лицензируется по лицензии Apache версии 2.0 (Apache 2.0); вы не можете использовать этот файл, кроме как в соответствии с лицензией Apache 2.0. Вы можете получить копию лицензии Apache 2.0 по адресу: https://www.apache.org/licenses/LICENSE-2.0.
Все остальные материалы доступны по международной лицензии Creative Commons Attribution 4.0 (CC-BY). Вы можете получить копию лицензии CC-BY по адресу: https://creativecommons.org/licenses/by/4.0/legalcode.
Если это не требуется действующим законодательством или не согласовано в письменной форме, все программное обеспечение и материалы, распространяемые здесь по лицензиям Apache 2.0 или CC-BY, распространяются на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. лицензии на конкретный язык, регулирующий разрешения и ограничения в рамках этих лицензий.
Это не официальный продукт Google.