Overeasy permite encadear modelos de visão zero-shot para criar pipelines personalizados de ponta a ponta para tarefas como:
Detecção de caixa delimitadora
Classificação
Segmentação (em breve!)
Tudo isso pode ser alcançado sem a necessidade de coletar e anotar grandes conjuntos de dados de treinamento.
Overeasy simplifica a combinação de modelos zero-shot pré-treinados para construir soluções poderosas de visão computacional personalizadas.
É tão fácil quanto
pip instalar muito fácil
Para instalar extras consulte nossos documentos.
Agents
: Ferramentas especializadas que realizam tarefas específicas de processamento de imagens.
Workflows
: Defina uma sequência de Agentes para processar imagens de forma estruturada.
Execution Graphs
: gerencie e visualize o pipeline de processamento de imagens.
Detections
: representam caixas delimitadoras, segmentação e classificações.
Para obter mais detalhes sobre tipos, estrutura de biblioteca e modelos disponíveis, consulte nossos documentos.
Nota: Se você não possui uma GPU local, você pode executar nossos exemplos fazendo uma cópia deste notebook Colab.
Baixar imagem de exemplo
!wget https://github.com/overeasy-sh/overeasy/blob/73adbaeba51f532a7023243266da826ed1ced6ec/examples/construction.jpg?raw=true -O construção.jpg
Exemplo de fluxo de trabalho para identificar se uma pessoa está usando EPI em um local de trabalho:
from overeasy import *from overeasy.models import OwlV2from PIL import Imageworkflow = Workflow([# Detectar cada cabeça na entrada imageBoundingBoxSelectAgent(classes=["person's head"], model=OwlV2()),# Aplica supressão não máxima para remover caixas delimitadoras sobrepostasNMSAgent(iou_threshold=0.5, score_threshold=0),# Divide a imagem de entrada em imagens de cada detecção headSplitAgent(),# Classifica as imagens divididas usando CLIPClassificationAgent(classes=["hard hat", "no hard hat"]),# Mapeia os nomes das classes retornadasClassMapAgent({"hard hat": "has ppe", "no hard hat ": "no ppe"}),# Combina os resultados de volta em um BoundingBox DetectionJoinAgent() ])image = Image.open("./construction.jpg")resultado, gráfico = workflow.execute(image)workflow.visualize(graph)
Aqui está um diagrama desse fluxo de trabalho. Cada camada no gráfico representa uma etapa do fluxo de trabalho:
Os atributos de imagem e dados em cada nó são usados juntos para visualizar o estado atual do fluxo de trabalho. Chamar a função visualize
no fluxo de trabalho gerará uma instância do Gradio semelhante a esta.
Se você tiver alguma dúvida ou precisar de ajuda, abra um problema ou entre em contato conosco pelo e-mail [email protected].
Vamos construir juntos modelos de visão incríveis?!