YOLO Vision 2026:

Inferência#

Ultralytics Platform fornece inferência baseada no navegador para testar modelos treinados e endpoints dedicados para acesso programático.

Ultralytics Platform Model Predict Tab With Detections Overlay

Aba Predict#

Cada modelo com pesos inclui uma aba Predict para inferência baseada no navegador:

  1. Navegue até seu modelo
  2. Clica no separador Predict
  3. Carrega uma imagem, usa um exemplo ou abre a tua webcam
  4. Revisa a sobreposição específica da tarefa, o resumo da predição, o tempo e a resposta bruta

Modelos sem pesos mostram um estado vazio em vez disso — treine o modelo ou envie os pesos primeiro.

Ultralytics Platform Predict Tab Image Upload Dropzone

Métodos de entrada#

O painel de previsão suporta vários métodos de entrada:

MétodoDescrição
Carregamento de imagemArrasta e larga ou clica para carregar uma imagem
Imagens de exemploClica nos exemplos integrados (imagens do conjunto de dados ou predefinições)
Captura por webcamTransmissão de câmara ao vivo com captura de um único fotograma
graph LR
    A[Upload Image]:::start --> D[Auto-Inference]:::proc
    B[Example Image]:::start --> D
    C[Webcam Capture]:::start --> D
    D --> E[Results + Overlays]:::out

    classDef start fill:#4CAF50,color:#fff
    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff

Carregar Imagem#

Arrasta e larga ou clica para carregar:

  • Formatos suportados: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP
  • Tamanho máximo: 10 MB
  • Inferência automática: Os resultados aparecem automaticamente após o carregamento
Inferência Automática

O painel de previsão executa a inferência automaticamente quando carregas uma imagem, selecionas um exemplo ou capturas um fotograma da webcam. Não é necessário clicar em nenhum botão.

Redimensionamento no lado do cliente

Antes do envio, o painel redimensiona a imagem para que seu lado mais longo corresponda ao Image Size selecionado e solicita coordenadas normalizadas. Isso mantém os testes no navegador rápidos; as solicitações que você envia por conta própria não são redimensionadas.

Imagens de Exemplo#

O painel de predição mostra até duas imagens de exemplo do conjunto de dados vinculado ao seu modelo, preferindo a divisão val, depois test e, em seguida, train. Se nenhum conjunto de dados estiver vinculado, exemplos padrão serão usados:

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

Para modelos OBB, imagens aéreas de barcos e de um aeroporto são exibidas em vez disso.

Imagens Pré-carregadas

As imagens de exemplo são pré-carregadas quando a página é carregada, por isso clicar num exemplo aciona uma inferência quase instantânea sem tempo de espera de transferência.

Webcam#

Clica no cartão da webcam para iniciar uma transmissão de câmara ao vivo:

  1. Concede permissão à câmara quando solicitado
  2. Clica na pré-visualização de vídeo para capturar um fotograma
  3. A inferência é executada automaticamente no fotograma capturado
  4. Clica novamente para reiniciar a webcam

Ver Resultados#

Os resultados da inferência exibem a saída apropriada para a tarefa do modelo: caixas, máscaras, pontos-chave, caixas orientadas, escores de classificação, cobertura semântica ou um mapa de profundidade. Os resultados de objetos usam as cores de classe do conjunto de dados quando disponíveis. O painel também mostra o tempo de pré-processamento, inferência, pós-processamento e de rede.

Ultralytics Platform Predict Tab Results With Detections And Speed Stats O painel de resultados mostra:

CampoDescrição
Resumo dos resultadosLista por detecção ou as 5 principais classes para modelos de classificação e semânticos
Estatísticas de velocidadePré-processamento, inferência, pós-processamento e rede (ms)
VersõesVersões de Ultralytics e PyTorch, além do intervalo de profundidade ou tamanho da máscara, quando aplicável
Resposta JSONResposta bruta da API em um bloco de código, com dados de mapa base64 omitidos

Dois controles aparecem sobre a pré-visualização assim que os resultados são obtidos: clique na imagem para ampliá-la com as sobreposições intactas e use o botão de download para salvar um JPEG anotado do resultado atual.

Parâmetros de Inferência#

Ajusta o comportamento da inferência com os três controles deslizantes abaixo da imagem:

Ultralytics Platform Predict Tab Parameters Sliders

ParâmetroIntervaloPredefiniçãoDescrição
Confiança0.01 – 1.0, passos de 0.010.25Limite mínimo de confiança
IoU0.0 – 0.95, passos de 0.010.7Limite de IoU do NMS
Tamanho da Imagem32 – 1280, passos de 32640Dimensão de redimensionamento da entrada
Reexecução Automática

Alterar qualquer parâmetro reexecuta automaticamente a inferência na imagem atual com um debounce de 500ms. Não é necessário carregar novamente.

Limiar de Confiança#

Filtra as previsões por confiança:

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

Limiar IoU#

Controla a Supressão Não Máxima (NMS):

  • Mais alto (0.7+): Permite mais caixas sobrepostas
  • Inferior (0.3-0.5): Suprime detecções sobrepostas de forma mais agressiva
  • Padrão (0.7): Comportamento de NMS equilibrado para a maioria dos casos de uso

Previsão de Implementação#

Cada endpoint dedicado em execução inclui uma aba Predict diretamente no seu cartão de implantação. Isso usa o próprio serviço de inferência da implantação em vez do serviço de previsão compartilhado, permitindo que testes o teu endpoint implantado a partir do navegador.

API de Endpoint Dedicado#

O cartão de Documentação da API na aba Predict do modelo contém exemplos de solicitações em Python, JavaScript e cURL, preenchidos previamente com a confiança, IoU e tamanho de imagem definidos atualmente nos seletores. A URL e a chave são marcadores de posição até que você implante o modelo — um botão Implantar ao lado das abas de código direciona para a aba Deploy do modelo. Após a implantação, a aba Code do cartão de implantação preenche a URL desse endpoint e, para proprietários de workspaces, sua chave de API vinculada, pronta para ser copiada e executada.

Autenticação#

Inclui a tua chave de API nos pedidos:

Authorization: Bearer YOUR_API_KEY
Chave de API Necessária

Para executar a inferência a partir de seus próprios scripts, notebooks ou aplicativos, inclua uma chave de API. Gere uma em Settings > API Keys. Um endpoint dedicado aceita apenas a chave única com a qual foi criado; a API de modelo compartilhado aceita qualquer chave ativa no workspace, e modelos públicos também aceitam solicitações anônimas.

Endpoint#

Endpoints dedicados recebem solicitações em sua própria URL:

POST https://YOUR_DEPLOYMENT_URL.run.app/predict

A inferência compartilhada usa a API da plataforma com o caminho completo do modelo:

POST https://platform.ultralytics.com/api/models/{owner}/{project}/{model}/predict

Ambos aceitam o mesmo corpo multipart/form-data e retornam o mesmo formato de resposta. Com o Python SDK, usa client.models.predict(owner, project, model, body=...) para inferência compartilhada ou client.deployments.predict(owner, deployment, body=...) para um deployment dedicado:

from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
with open("image.jpg", "rb") as f:
    results = client.models.predict("acme-vision", "inspection", "v3", body={"file": f, "conf": 0.25})

Pedido#

import requests

url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

with open("image.jpg", "rb") as image_file:
    response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())

Ultralytics Platform Predict Tab Code Examples Python Tab

Parâmetros de solicitação#

ParâmetroTipoPredefiniçãoIntervaloDescrição
filearquivo--Ficheiro de imagem ou vídeo (obrigatório, a menos que source esteja definido)
conffloat0.250.01 – 1.0Limite mínimo de confiança
ioufloat0.70.0 – 0.95Limite de IoU do NMS
imgszint64032 – 1280Tamanho da imagem de entrada em pixels
normalizeboolfalse-Retornar coordenadas de caixa delimitadora como 0 – 1
decimalsint50 – 10Precisão decimal para valores de coordenadas
bitsint88, 12, 16Quantização de mapa de profundidade, apenas para modelos de profundidade
sourcestring--URL da imagem ou string base64 (alternativa a file)

Resposta#

{
    "images": [
        {
            "shape": [1080, 1920],
            "results": [
                {
                    "class": 0,
                    "name": "person",
                    "confidence": 0.92,
                    "box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
                },
                {
                    "class": 2,
                    "name": "car",
                    "confidence": 0.87,
                    "box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
                }
            ],
            "speed": {
                "preprocess": 1.2,
                "inference": 12.5,
                "postprocess": 2.3
            }
        }
    ],
    "metadata": {
        "imageCount": 1,
        "functionTimeAlive": 1284.51,
        "functionTimeCall": 0.018,
        "task": "detect",
        "version": {
            "ultralytics": "8.x.x",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Platform Predict Tab Json Response View

Campos de Resposta#

CampoTipoDescrição
imagesarrayLista de imagens processadas, uma entrada por quadro de vídeo para vídeos
images[].shapearrayDimensões da imagem [altura, largura]
images[].resultsarrayLista de detecções
images[].results[].classintÍndice da classe (ID inteiro)
images[].results[].namestringNome da classe
images[].results[].confidencefloatConfiança da detecção (0-1)
images[].results[].boxobjetoCoordenadas da BBox
images[].semantic_maskobjetoMapa de classes por pixel (apenas modelos semânticos)
images[].depthobjetoMapa de profundidade por pixel (apenas modelos de profundidade)
images[].speedobjetoTempos de processamento em milissegundos
metadataobjetoContagem de imagens, tempos de serviço, tarefa e versões de Ultralytics/PyTorch

Respostas específicas da tarefa#

O formato da resposta varia de acordo com a tarefa:

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}

Limites de Taxa#

A API de modelo compartilhada é limitada a 20 requisições/minuto para cada chave de API, chamador conectado ou IP anônimo. Quando limitada, a API retorna 429 com um cabeçalho Retry-After. Consulta a referência de limite de taxa completa para todas as categorias de endpoints.

Precisa de mais rendimento?

Solicitações enviadas diretamente a um endpoint dedicado não passam pelo limitador de taxa da API da plataforma. O endpoint ainda descarta carga com 429 e um cabeçalho Retry-After quando está temporariamente no limite de capacidade. Para inferência local de alto volume, consulte o Guia do modo Predict.

Tratamento de erros#

Respostas de erro comuns:

CódigoMensagemSolução
400Imagem inválidaVerifique o formato do arquivo ou se o modelo possui pesos treinados
401Não autorizadoVerifique a API key
404Modelo não encontradoVerifique o proprietário, o projeto e os nomes dos modelos
413Entrada muito grandeReduza o tamanho do arquivo abaixo do limite do endpoint
429Limite de taxa atingidoAguarda e tenta novamente, ou envia requisições diretamente para um endpoint dedicado
500Erro no servidorTentar solicitação novamente
503Serviço indisponívelServiço Predict iniciando ou inacessível; aguarde um pouco e tente novamente

FAQ#

  • Ambos os métodos de inferência aceitam arquivos de vídeo:

    • Endpoints dedicados aceitam arquivos de vídeo diretamente. Formatos suportados (até 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Cada quadro é processado individualmente e os resultados são retornados por quadro. Consulta endpoints dedicados para obter detalhes.
    • A inferência compartilhada (POST /api/models/{owner}/{project}/{model}/predict) usa o mesmo serviço de predição e aceita os mesmos formatos de vídeo. A aba Predict do navegador seleciona apenas imagens, portanto, use a API ou um endpoint dedicado para vídeos.
  • Na aba Predict, o botão de download sobre a pré-visualização salva o resultado atual como um JPEG anotado. A própria API retorna predições em JSON. Para visualizá-las:

    1. Use as previsões para desenhar caixas localmente
    2. Usa o método plot() do Ultralytics:
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model("image.jpg")
    results[0].save("annotated.jpg")

    Consulta a documentação do modo Predict para ver a API de resultados completa e as opções de visualização.

    • Limite da aba Predict: 10 MB
    • Limite da API: 100 MB para inferência compartilhada e endpoints dedicados
    • Redimensionamento automático na aba Predict: As imagens são redimensionadas para o Image Size selecionado antes do envio

    Imagens grandes são redimensionadas automaticamente no navegador, preservando a proporção. As solicitações que você envia por conta própria não são redimensionadas, portanto, imagens acima do limite são rejeitadas com 413.

  • A API atual processa uma imagem por solicitação. Para lote:

    1. Envia solicitações separadas para cada imagem
    2. Distribui solicitações entre endpoints dedicados quando apropriado
    3. Usa inferência local para lotes grandes
    Inferência em lote com Python
    import concurrent.futures
    
    import requests
    
    url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
    headers = {"Authorization": "Bearer YOUR_API_KEY"}
    images = ["img1.jpg", "img2.jpg", "img3.jpg"]
    
    def predict(image_path):
        with open(image_path, "rb") as f:
            return requests.post(url, headers=headers, files={"file": f}).json()
    
    with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
        results = list(executor.map(predict, images))

Comentários