[Blog] [Demonstração no YouTube] [Artigo]
rclip é uma ferramenta de pesquisa de fotos de linha de comando alimentada pela incrível rede neural CLIP da OpenAI.
sudo snap install rclip
pip
)Se a sua distribuição Linux não suporta snap, você pode usar uma das opções alternativas de instalação:
No Linux x86_64, você pode instalar o rclip como um executável independente.
Baixe o AppImage da versão mais recente.
Execute os seguintes comandos:
chmod +x < downloaded AppImage filename >
sudo mv < downloaded AppImage filename > /usr/local/bin/rclip
pip
pip install --extra-index-url https://download.pytorch.org/whl/cpu rclip
brew install yurijmikhalevich/tap/rclip
pip
) pip install rclip
pip
) pip install rclip
cd photos && rclip " search query "
Quando você executa o rclip pela primeira vez em um diretório específico, ele extrai recursos das fotos, o que leva tempo. Quanto tempo levará depende da sua CPU e do número de imagens que você pesquisará. Demorei cerca de um dia para processar 73 mil fotos no meu NAS, que roda um antigo Intel Celeron J3455, 7 minutos para indexar 50 mil imagens no meu MacBook com CPU M1 Max e três horas para processar 1,28 milhão de imagens no mesmo MacBook.
Para uma demonstração detalhada, assista ao vídeo: https://www.youtube.com/watch?v=tAJHXOkHidw.
Você pode usar outra imagem como consulta passando um caminho de arquivo ou até mesmo uma URL para o arquivo de imagem, e o rclip encontrará as imagens mais semelhantes àquela que você usou como consulta. Se você estiver fazendo referência a uma imagem local por meio de um caminho relativo, deverá prefixá-la com ./
. Por exemplo:
cd photos && rclip ./cat.jpg
# or use URL
cd photos && rclip https://raw.githubusercontent.com/yurijmikhalevich/rclip/main/tests/e2e/images/cat.jpg
Confira este vídeo para a demonstração de pesquisa imagem a imagem: https://www.youtube.com/watch?v=1YQZKeCBxWM.
Você pode adicionar e subtrair consultas de imagem e texto umas das outras; aqui estão alguns exemplos de uso:
cd photos && rclip horse + stripes
cd photos && rclip apple - fruit
cd photos && rclip " ./new york city.jpg " + night
cd photos && rclip " 2:golden retriever " + " ./swimming pool.jpg "
cd photos && rclip " ./racing car.jpg " - " 2:sports car " + " 2:snow "
Se você quiser ver o desempenho dessas consultas quando executadas no conjunto de dados ImageNet-1k de 1,28 milhão de imagens, confira a demonstração no YouTube: https://www.youtube.com/watch?v=MsTgYdOpgcQ.
Se você estiver usando iTerm2, Konsole (versão 22.04 e superior), wezterm, Mintty ou mlterm, tudo o que você precisa fazer é passar o argumento --preview
(ou -p
) para rclip :
rclip -p kitty
Se você estiver usando qualquer outro terminal ou quiser visualizar os resultados no visualizador de sua preferência, poderá passar a saída do rclip para ele. Por exemplo, no Linux, o comando abaixo abrirá os 5 principais resultados para “kitty” em seu visualizador de imagens padrão:
rclip -f -t 5 kitty | xargs -d ' n ' -n 1 xdg-open
O parâmetro -f
ou --filepath-only
faz com que o rclip imprima apenas os caminhos dos arquivos, sem pontuações ou cabeçalho, o que o torna ideal para uso em conjunto com um visualizador customizado como no exemplo.
Prefiro usar o modo de miniatura de feh para visualizar vários resultados:
rclip -f -t 5 kitty | feh -f - -t
https://github.com/yurijmikhalevich/rclip/discussions/new/choose
Este repositório segue o padrão Convencional Commits.
Para executar o rclip localmente a partir do código-fonte, você deve ter o Python e o Poetry instalados.
Então faça:
# clone the source code repository
git clone [email protected]:yurijmikhalevich/rclip.git
# install dependencies and rclip
cd rclip
poetry install
# activate the new poetry environment
poetry shell
Se o ambiente de poesia estiver ativo, você poderá usar o rclip localmente, conforme descrito na seção Uso acima.
Os nossos agradecimentos vão para estas pessoas e organizações maravilhosas (chave emoji):
Ramayer | Caphyon ? | AbId KhAn |
Obrigado à equipe Caphyon e Advanced Installer por fornecer generosamente ao projeto rclip a licença Professional Advanced Installer para criar o instalador do Windows.
Este projeto segue a especificação de todos os contribuidores. Contribuições de qualquer tipo são bem-vindas!
MIT