Ir para o conteúdo

Inferência

A Plataforma Ultralytics oferece uma Inference API para testar modelos treinados. Use a aba Teste baseada no navegador para validação rápida ou a REST API para acesso programático.

Guia de Teste

Todo modelo inclui uma aba Teste para inferência baseada no navegador:

  1. Navegue até o seu modelo
  2. Clique na aba Teste
  3. Carregue uma imagem ou use exemplos
  4. Visualize as previsões instantaneamente

Carregar Imagem

Arraste e solte ou clique para carregar:

  • Formatos suportados: JPG, PNG, WebP, GIF
  • Tamanho máximo: 10MB
  • Auto-inferência: Os resultados aparecem automaticamente

Imagens de Exemplo

Use imagens de exemplo integradas para testes rápidos:

ImagemConteúdo
bus.jpgCena de rua com veículos
zidane.jpgCena esportiva com pessoas

Ver Resultados

Exibição dos resultados da inferência:

  • Caixas delimitadoras com rótulos de classe
  • Pontuações de confiança para cada detect
  • Cores de classe correspondentes ao seu conjunto de dados

Parâmetros de Inferência

Ajuste o comportamento de detect com parâmetros:

ParâmetroIntervaloPadrãoDescrição
Confiança0.0-1.00.25Limite mínimo de confiança
IoU0.0-1.00.70Limite de IoU da NMS
Tamanho da Imagem32-1280640Dimensão de redimensionamento da entrada

Limiar de Confiança

Filtrar previsões por confiança:

  • Maior (0.5+): Menos previsões, mais certas
  • Menor (0.1-0.25): Mais previsões, algum ruído
  • Padrão (0.25): Equilibrado para a maioria dos casos de uso

Limiar de IoU

Controlar a Supressão Não Máxima:

  • Mais alto (0,7+): Permita mais caixas sobrepostas
  • Mais baixo (0,3-0,5): Combinar detecções próximas de forma mais agressiva
  • Padrão (0,70): NMS equilibrado NMS para a maioria dos casos de uso

REST API

Acessar inferência programaticamente:

Autenticação

Inclua sua chave API nas requisições:

Authorization: Bearer YOUR_API_KEY

Endpoint

POST https://platform.ultralytics.com/api/models/{model_slug}/predict

Requisição

curl -X POST \
  "https://platform.ultralytics.com/api/models/username/project/model/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7"
import requests

url = "https://platform.ultralytics.com/api/models/username/project/model/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())

Resposta

{
    "success": true,
    "predictions": [
        {
            "class": "person",
            "confidence": 0.92,
            "box": {
                "x1": 100,
                "y1": 50,
                "x2": 300,
                "y2": 400
            }
        },
        {
            "class": "car",
            "confidence": 0.87,
            "box": {
                "x1": 400,
                "y1": 200,
                "x2": 600,
                "y2": 350
            }
        }
    ],
    "image": {
        "width": 1920,
        "height": 1080
    }
}

Campos da Resposta

CampoTipoDescrição
successbooleanoStatus da requisição
predictionsarrayLista de detecções
predictions[].classstringNome da classe
predictions[].confidencefloatConfiança da detecção (0-1)
predictions[].boxobjetoCoordenadas da caixa delimitadora
imageobjetoDimensões da imagem original

Respostas Específicas da Tarefa

O formato da resposta varia por tarefa:

{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "segments": [[100, 50], [150, 60], ...]
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "keypoints": [
    {"x": 200, "y": 75, "conf": 0.95},
    ...
  ]
}
{
  "predictions": [
    {"class": "cat", "confidence": 0.95},
    {"class": "dog", "confidence": 0.03}
  ]
}

Limites de Taxa

A inferência compartilhada possui limites de taxa:

PlanoRequisições/MinutoRequisições/Dia
Gratuito10100
Pro6010,000

Para limites mais altos, implante um endpoint dedicado.

Tratamento de Erros

Respostas de erro comuns:

CódigoMensagemSolução
400Imagem inválidaVerifique o formato do arquivo
401Não autorizadoVerifique a chave API
404Modelo não encontradoVerifique o slug do modelo
429Limite de taxa atingidoAguarde ou atualize o plano
500Erro do servidorTentar novamente a requisição

FAQ

Posso executar inferência em vídeo?

A API aceita quadros individuais. Para vídeo:

  1. Extrair frames localmente
  2. Enviar cada frame para a API
  3. Agregar resultados

Para vídeo em tempo real, considere implantar um endpoint dedicado.

Como obtenho a imagem anotada?

A API retorna previsões JSON. Para visualizar:

  1. Usar previsões para desenhar caixas localmente
  2. Usar Ultralytics plot() método:
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")

Qual é o tamanho máximo da imagem?

  • Limite de upload: 10MB
  • Recommended: <5MB for fast inference
  • Redimensionamento automático: As imagens são redimensionadas para imgsz parâmetro

Imagens grandes são redimensionadas automaticamente, preservando a proporção.

Posso executar inferência em lote?

A API atual processa uma imagem por requisição. Para processamento em lote:

  1. Enviar requisições concorrentes
  2. Usar um endpoint dedicado para maior throughput
  3. Considerar inferência local para grandes lotes


📅 Criado há 20 dias ✏️ Atualizado há 14 dias
glenn-jocherLaughing-q

Comentários