Este repositório contém a implementação do MagicLens. O código aqui usa Jax e Flax. Observe que a implementação atual ainda não oferece suporte ao treinamento. Consulte o site para obter exemplos de conjuntos de dados.
Apresentamos MagicLens, uma série de modelos de recuperação de imagens auto-supervisionados que suportam instruções abertas. A tese central do MagicLens é que as instruções de texto podem permitir a recuperação de imagens com relações mais ricas além da similaridade visual. MagicLens é construído com base em um novo insight importante: pares de imagens que ocorrem naturalmente nas mesmas páginas da web contêm uma ampla gama de relações implícitas (por exemplo, visão interna de), e podemos tornar essas relações implícitas explícitas sintetizando instruções por meio de grandes modelos multimodais ( LMMs) e modelos de linguagem grandes (LLMs). Treinado em trigêmeos de 36,7 milhões (imagem de consulta, instrução, imagem de destino) com ricas relações semânticas extraídas da web, o MagicLens alcança resultados comparáveis ou melhores em oito benchmarks de várias tarefas de recuperação de imagens do que os métodos de última geração (SOTA) anteriores . Notavelmente, ele supera o SOTA anterior, mas com um tamanho de modelo 50x menor em vários benchmarks. Análises humanas adicionais em um corpus invisível de 1,4 milhão de imagens demonstram ainda mais a diversidade de intenções de pesquisa suportadas pelo 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
Baixe o modelo através de:
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 ./
OU pelo Google Drive
Siga cada pasta do conjunto de dados em ./data
. Atualmente testamos com sucesso FIQ, CIRCO e DTIN:
python inference.py --model_size large --model_path ./models/magic_lens_clip_large.pkl --dataset circo
Devido à conversão de peso, o desempenho pode ser ligeiramente diferente:
No CIRCO
Modelo | mapa@5 | mapa@10 | mapa@25 | mapa@50 |
---|---|---|---|---|
SOTA anterior | 26,8 | 27,6 | 30,0 | 31,0 |
Base (original) | 23.1 | 23,8 | 25,8 | 26,7 |
Base (convertida) | 22.3 | 23.2 | 25,0 | 26,0 |
Grande (original) | 29,6 | 30,8 | 33,4 | 34,4 |
Grande (convertido) | 29,5 | 30,8 | 33.2 | 34,3 |
Adicione detalhes da citação aqui, geralmente um snippet BibTeX colável:
@inproceedings{zhang2024magiclens, title = {{M}agic{L}ens: recuperação auto-supervisionada de imagens com instruções abertas}, autor = {Zhang, Kai e Luan, Yi e Hu, Hexiang e Lee, Kenton e Qiao, Siyuan e Chen, Wenhu e Su, Yu e Chang, Ming-Wei}, booktitle = {Anais da 41ª Conferência Internacional sobre Aprendizado de Máquina}, páginas = {59403--59420}, ano = {2024}, editor = {Salakhutdinov, Ruslan e Kolter, Zico e Heller, Katherine e Weller, Adrian e Oliver, Nuria e Scarlett, Jonathan e Berkenkamp, Felix}, volume = {235}, série = {Proceedings of Machine Learning Research}, mês = {21--27 de julho}, editor = {PMLR}, url = {https://proceedings.mlr.press/v235/zhang24an.html} }
Direitos autorais 2024 DeepMind Technologies Limited
Todo o software é licenciado sob a Licença Apache, Versão 2.0 (Apache 2.0); você não pode usar este arquivo, exceto em conformidade com a licença Apache 2.0. Você pode obter uma cópia da licença Apache 2.0 em: https://www.apache.org/licenses/LICENSE-2.0
Todos os outros materiais estão licenciados sob a Licença Internacional Creative Commons Attribution 4.0 (CC-BY). Você pode obter uma cópia da licença CC-BY em: https://creativecommons.org/licenses/by/4.0/legalcode
A menos que exigido pela lei aplicável ou acordado por escrito, todos os softwares e materiais distribuídos aqui sob as licenças Apache 2.0 ou CC-BY são distribuídos "COMO ESTÃO", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte as licenças para o idioma específico que rege as permissões e limitações dessas licenças.
Este não é um produto oficial do Google.