Introdução geral
O Vision Agent é um projeto de código aberto desenvolvido pela LandingAI (equipe de Enda Wu) e hospedado no GitHub, com o objetivo de ajudar os usuários a gerar rapidamente códigos para resolver tarefas de visão computacional. Ele usa uma estrutura de agente avançada e um modelo multimodal para gerar um código de IA de visão eficiente com instruções simples para uma variedade de cenários, como detecção de imagens, rastreamento de vídeo e contagem de objetos. A ferramenta não só oferece suporte à prototipagem rápida, mas também é facilmente implantada em ambientes de produção e é amplamente aplicável à manufatura, medicina, agricultura etc. O Vision Agent foi projetado para automatizar tarefas complexas de visão, e os desenvolvedores podem obter código executável simplesmente fornecendo uma descrição da tarefa, o que reduz bastante o limite de desenvolvimento de IA de visão. Atualmente, ele recebeu mais de 3.000 tags com estrelas, e a comunidade é altamente ativa e continuamente atualizada.
Exemplos de aplicação podem ser encontrados em Agentic Object Detection: uma ferramenta para detecção de objetos visuais sem anotação e treinamento
Lista de funções
- Geração automática de códigoGeração de código de IA visual para uma imagem ou vídeo com base em uma descrição de tarefa inserida pelo usuário.
- Detecção e contagem de objetosSuporte para detectar objetos específicos em uma imagem ou vídeo e contá-los, por exemplo, contagem de cabeças.
- Análise de quadros de vídeoExtração de quadros de vídeo e execução de rastreamento ou segmentação de objetos.
- Ferramentas de visualizaçãoVisualização de imagem/vídeo de sobreposições de caixa delimitadora e máscaras divididas: fornece visualização de imagem/vídeo de sobreposições de caixa delimitadora e máscaras divididas.
- Suporte a vários modelosIntegração de uma variedade de modelos visuais de código aberto que os usuários podem alternar de acordo com suas necessidades.
- Extensões de ferramentas personalizadasPermite que os usuários adicionem novas ferramentas ou modelos para atender a requisitos específicos de tarefas.
- Suporte à implantaçãoGeração de código para dar suporte à prototipagem rápida e à implementação em ambientes de produção.
Usando a Ajuda
Como instalar e usar
O Vision Agent é uma biblioteca baseada em Python, os usuários precisam obter o código-fonte via GitHub e instalá-lo em seu ambiente local. Aqui está o procedimento detalhado de instalação e uso:
Processo de instalação
- Preparação ambiental
- Certifique-se de ter o Python 3.8 ou posterior instalado em seu computador.
- Instale o Git para clonar repositórios do GitHub.
- Opcional: recomenda-se um ambiente virtual (por exemplo
venv
talvezconda
) para isolar as dependências.
- armazém de clones
Abra um terminal e execute o seguinte comando para obter o código-fonte do Vision Agent:git clone https://github.com/landing-ai/vision-agent.git cd vision-agent
- Instalação de dependências
No diretório do repositório, instale as dependências necessárias:pip install -r requirements.txt
Se você precisar usar um modelo específico (por exemplo Antrópica ou OpenAI), é necessária uma configuração adicional da chave de API, veja mais adiante.
- Verificar a instalação
Execute o seguinte comando para verificar se a instalação foi bem-sucedida:python -c "import vision_agent; print(vision_agent.__version__)"
Se o número da versão for retornado (por exemplo, 0.2), a instalação estará concluída.
Uso das funções principais
A função principal do Vision Agent é gerar código e executar tarefas de visão a partir de prompts. Abaixo está um procedimento detalhado passo a passo para as principais funções:
1. gerar código visual de IA
- procedimento::
- Importe o módulo Vision Agent:
from vision_agent.agent import VisionAgentCoderV2 agente = VisionAgentCoderV2(verbose=True)
- Prepare a descrição da tarefa e os arquivos de mídia. Por exemplo, contar o número de pessoas em uma imagem:
code_context = agent.generate_code([ {"role": "user", "content": "Count the number of people in this image", "media": ["people.png"]} ])
- Salve o código gerado:
with open("count_people.py", "w") as f. f.write(code_context.code)
- Importe o módulo Vision Agent:
- Descrição funcionalO Vision Agent gera automaticamente o código Python que contém a lógica de detecção e contagem de objetos depois de inserir um caminho de imagem e uma descrição de tarefa. O código gerado se baseia em ferramentas integradas, como
countgd_object_detection
.
2. detecção e visualização de objetos
- procedimento::
- Carregue a imagem e execute a detecção:
importar vision_agent.tools como T image = T.load_image("people.png") dets = T.countgd_object_detection("person", image)
- Sobreponha a caixa delimitadora e salve o resultado:
viz = T.overlay_bounding_boxes(image, dets) T.save_image(viz, "people_detected.png")
- Visualização dos resultados (opcional):
importar matplotlib.pyplot como plt plt.imshow(viz) plt.show()
- Carregue a imagem e execute a detecção:
- Descrição funcionalFunção de limite: Esta função detecta um objeto especificado (por exemplo, "pessoa") em uma imagem e desenha uma caixa delimitadora na imagem, o que é adequado para verificação de qualidade, monitoramento e outros cenários.
3. análise e rastreamento de quadros de vídeo
- procedimento::
- Extrair quadros de vídeo:
frames_and_ts = T.extract_frames_and_timestamps("people.mp4") frames = [f["frame"] for f in frames_and_ts]
- Executar um rastreamento de objeto:
faixas = T.countgd_sam2_video_tracking("person", frames)
- Salve o vídeo de visualização:
viz = T.overlay_segmentation_masks(frames, tracks) T.save_video(viz, "people_tracked.mp4")
- Extrair quadros de vídeo:
- Descrição funcionalO software de análise de cena: extrai quadros do vídeo, detecta e rastreia objetos e, por fim, gera uma visualização do vídeo com uma máscara de segmentação, adequada para a análise dinâmica da cena.
4. configuração de outros modelos
- procedimento::
- Modifique o arquivo de configuração para usar outros modelos (por exemplo, o Anthropic):
cp vision_agent/configs/anthropic_config.py vision_agent/configs/config.py
- Defina a chave da API:
Adicione a chave à variável de ambiente:export ANTHROPIC_API_KEY="sua_chave_aqui"
- Execute novamente a tarefa de geração de código.
- Modifique o arquivo de configuração para usar outros modelos (por exemplo, o Anthropic):
- Descrição funcionalO Vision Agent oferece suporte a vários modelos por padrão, e os usuários podem alterná-los de acordo com suas necessidades para aumentar a eficácia de suas tarefas.
Exemplo de um processo de operação: Cálculo da porcentagem de enchimento de grãos de café
Suponha que você tenha uma imagem de uma jarra com grãos de café e queira calcular a porcentagem de preenchimento:
- Escreva uma descrição de tarefa e execute-a:
agente = VisionAgentCoderV2() code_context = agent.generate_code([ {"role": "user", "content": "What percentage of the jar is filled with coffee beans?", "media": ["jar.jpg"]} ])
- Execute o código gerado:
O código gerado pode ser:from vision_agent.tools import load_image, florence2_sam2_image image = load_image("jar.jpg") jar_segments = florence2_sam2_image("jar", image) beans_segments = florence2_sam2_image("coffee beans", image) jar_area = sum(segment["mask"].sum() for segment in jar_segments) beans_area = sum(segment["mask"].sum() for segment in beans_segments) porcentagem = (beans_area / jar_area) * 100 if jar_area else 0 print(f "Filled percentage: {percentage:.2f}%")
- Execute o código para obter o resultado.
advertência
- Certifique-se de que a imagem ou o vídeo de entrada esteja no formato correto (por exemplo, PNG, MP4).
- Se você encontrar problemas de dependência, tente atualizar o
pip install --upgrade vision-agent
. - Suporte da comunidade: para obter ajuda, entre na comunidade Discord da LandingAI e receba conselhos.