该存储库包含 MagicLens 的实现。这里的代码使用 Jax 和 Flax。请注意,当前的实现尚不支持培训。请参阅网站以获取数据集示例。
我们介绍 MagicLens,这是一系列支持开放式指令的自监督图像检索模型。 MagicLens 的核心论点是文本指令可以检索具有超越视觉相似性的更丰富关系的图像。 MagicLens 建立在一个关键的新颖见解之上:自然出现在同一网页上的图像对包含广泛的隐式关系(例如,内部视图),我们可以通过大型多模态模型合成指令来使这些隐式关系变得明确( LMM)和大型语言模型(LLM)。 MagicLens 使用从网络挖掘的具有丰富语义关系的 3670 万个(查询图像、指令、目标图像)三元组进行训练,在各种图像检索任务的八个基准上取得了与现有最先进 (SOTA) 方法相当或更好的结果。值得注意的是,它的性能优于之前的 SOTA,但在多个基准测试中模型尺寸缩小了 50 倍。对 140 万张未见过的图像语料库进行的额外人工分析进一步证明了 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 ./
或者通过谷歌驱动器
请关注./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 |
---|---|---|---|---|
之前的 SOTA | 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}
}
版权所有 2024 DeepMind 技术有限公司
所有软件均根据 Apache 许可证 2.0 版 (Apache 2.0) 获得许可;除非遵守 Apache 2.0 许可证,否则您不得使用此文件。您可以在以下位置获取 Apache 2.0 许可证的副本:https://www.apache.org/licenses/LICENSE-2.0
所有其他材料均根据知识共享署名 4.0 国际许可证 (CC-BY) 获得许可。您可以通过以下网址获取 CC-BY 许可证副本:https://creativecommons.org/licenses/by/4.0/legalcode
除非适用法律要求或书面同意,否则此处根据 Apache 2.0 或 CC-BY 许可分发的所有软件和材料均按“原样”分发,不附带任何明示或暗示的保证或条件。请参阅特定语言的许可证,了解这些许可证下的权限和限制。
这不是 Google 官方产品。