İçeriğe geç

Çıkarım

Ultralytics Platform eğitilmiş modelleri test etmek için bir Inference API sağlar. Tarayıcı tabanlı olanı kullanın Predict hızlı doğrulama için sekme veya REST API programatik erişim için.

Ultralytics Platform Model Tahmin Sekmesi detect Katmanıyla

Tahmin Sekmesi

Her model bir Predict tarayıcı tabanlı çıkarım için sekmesi:

  1. Modelinize gidin
  2. Tahmin Et sekmesine tıklayın
  3. Bir görüntü yükleyin, bir örnek kullanın veya web kameranızı açın
  4. Tahminleri sınırlayıcı kutu yer paylaşımlarıyla anında görüntüleyin

Ultralytics Platform Tahmin Sekmesi Görüntü Yükleme Alanı

Giriş Yöntemleri

Tahmin paneli birden fazla giriş yöntemini destekler:

MetotAçıklama
Görüntü yüklemeSürükleyip bırakın veya bir görüntü yüklemek için tıklayın
Örnek görüntülerYerleşik örneklere tıklayın (veri kümesi görüntüleri veya varsayılanlar)
Web kamerası yakalamaTek kare yakalamalı canlı kamera akışı
graph LR
    A[Upload Image] --> D[Auto-Inference]
    B[Example Image] --> D
    C[Webcam Capture] --> D
    D --> E[Results + Overlays]

    style D fill:#2196F3,color:#fff
    style E fill:#4CAF50,color:#fff

Görüntü Yükle

Yüklemek için sürükleyip bırakın veya tıklayın:

  • Desteklenen formatlar: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
  • Maksimum boyut: 10MB
  • Otomatik çıkarım: Sonuçlar yüklemeden sonra otomatik olarak görünür

Otomatik Çıkarım

Tahmin paneli, bir görüntü yüklediğinizde, bir örnek seçtiğinizde veya bir web kamerası karesi yakaladığınızda çıkarımı otomatik olarak çalıştırır. Herhangi bir düğmeye tıklamaya gerek yoktur.

Örnek Görüntüler

Tahmin paneli, modelinizin bağlantılı veri kümesinden örnek görüntüler gösterir. Herhangi bir veri kümesi bağlı değilse, varsayılan örnekler kullanılır:

Görüntüİçerik
bus.jpgAraçlarla dolu sokak sahnesi
zidane.jpgİnsanlarla dolu spor sahnesi

obb modelleri için bunun yerine teknelerin ve havalimanlarının hava görüntüleri gösterilir.

Önceden Yüklenmiş Görüntüler

Sayfa yüklendiğinde örnek görüntüler önceden yüklenir, bu nedenle bir örneğe tıklamak, indirme beklemesi olmadan neredeyse anında çıkarımı tetikler.

Web kamerası

Canlı kamera akışını başlatmak için web kamerası kartına tıklayın:

  1. İstendiğinde kamera izni verin
  2. Bir kare yakalamak için video önizlemesine tıklayın
  3. Yakalanan kare üzerinde çıkarım otomatik olarak çalışır
  4. Web kamerasını yeniden başlatmak için tekrar tıklayın

Sonuçları Görüntüle

Çıkarım sonuçları gösterimi:

  • Sınırlayıcı kutular, sınıf etiketleriyle SVG katmanları olarak
  • Her bir detect için güven skorları
  • Sınıf renkleri, veri kümenizin renk paletinden (veya Ultralytics varsayılan paletinden)
  • Hız dökümü: Ön işleme, çıkarım, son işleme ve ağ süresi

Ultralytics Platform Tahmin Sekmesi Sonuçları detect ve Hız İstatistikleriyle

Sonuçlar paneli şunları gösterir:

AlanAçıklama
Algılamalar listesiSınıf adı ve güven ile her bir algılama
Hız istatistikleriÖn işleme, çıkarım, son işleme, ağ (ms)
JSON yanıtıKod bloğunda ham API yanıtı

Çıkarım Parametreleri

Daraltılabilir Parametreler bölümündeki parametrelerle detect davranışını ayarlayın:

Ultralytics Platform Tahmin Sekmesi Parametre Kaydırıcıları

ParametreAralıkVarsayılanAçıklama
Güven0.01-1.00.25Minimum güven eşiği
IoU0.0-0.950.70NMS IoU eşiği
Resim Boyutu320, 640, 1280640Giriş yeniden boyutlandırma boyutu (düğme geçişi)

Otomatik Yeniden Çalıştırma

Herhangi bir parametreyi değiştirmek, mevcut görüntü üzerinde çıkarımı 500ms'lik bir gecikmeyle otomatik olarak yeniden çalıştırır. Yeniden yüklemeye gerek yoktur.

Güven Eşiği

Tahminleri güvene göre filtrele:

  • Yüksek (0.5+): Daha az, daha kesin tahminler
  • Düşük (0.1-0.25): Daha fazla tahmin, biraz gürültü
  • Varsayılan (0.25): Çoğu kullanım durumu için dengeli

IoU Eşiği

Non-Maximum Suppression'ı kontrol edin:

  • Daha Yüksek (0.7+): Daha fazla çakışan kutuya izin ver
  • Daha Düşük (0.3-0.5): Yakındaki tespitleri daha agresif bir şekilde birleştir
  • Varsayılan (0.70): Çoğu kullanım durumu için dengeli NMS davranışı

Dağıtım Tahmini

Her çalışan özel uç nokta bir içerir Predict doğrudan dağıtım kartında bir sekme bulunur. Bu sekme, paylaşılan tahmin hizmeti yerine dağıtımın kendi çıkarım hizmetini kullanarak dağıtılan uç noktanızı tarayıcıdan test etmenize olanak tanır.

REST API

Çıkarıma programatik olarak erişin:

Kimlik Doğrulama

İsteklere API anahtarınızı dahil edin:

Authorization: Bearer YOUR_API_KEY

API Anahtarı Gerekli

Kendi betiklerinizden, not defterlerinizden veya uygulamalarınızdan çıkarım yapmak için bir API anahtarı ekleyin. Bir tane şurada oluşturun: Settings (Profil sekmesindeki API Anahtarları bölümü).

Uç Nokta

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

İstek

import requests

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

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
curl -X POST \
  "https://platform.ultralytics.com/api/models/MODEL_ID/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7" \
  -F "imgsz=640"
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");

const response = await fetch(
  "https://platform.ultralytics.com/api/models/MODEL_ID/predict",
  {
    method: "POST",
    headers: { Authorization: "Bearer YOUR_API_KEY" },
    body: formData,
  }
);

const result = await response.json();
console.log(result);

Ultralytics Platform Tahmin Sekmesi Kod Örnekleri python Sekmesi

Yanıt

{
    "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,
        "functionTimeCall": 0.018,
        "model": "model.pt",
        "version": {
            "ultralytics": "8.4.14",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Platformu Tahmin Sekmesi JSON Yanıt Görünümü

Yanıt Alanları

AlanTürAçıklama
imagesdiziİşlenmiş görüntüler listesi
images[].shapediziGörüntü boyutları [yükseklik, genişlik]
images[].resultsdizidetect'lerin listesi
images[].results[].namestringSınıf adı
images[].results[].confidencefloatDetect güveni (0-1)
images[].results[].boxnesneSınırlayıcı kutu koordinatları
images[].speednesneMilisaniye cinsinden işlem süreleri
metadatanesneİstek meta verileri ve sürüm bilgisi

Göreve Özel Yanıtlar

Yanıt formatı göreve göre değişir:

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "segments": [[100, 50], [150, 60], ...]
}
{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "keypoints": [
    {"x": 200, "y": 75, "conf": 0.95},
    ...
  ]
}
{
  "results": [
    {"class": 0, "name": "cat", "confidence": 0.95},
    {"class": 1, "name": "dog", "confidence": 0.03}
  ]
}
{
  "class": 0,
  "name": "ship",
  "confidence": 0.89,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "obb": {"x1": 105, "y1": 48, "x2": 295, "y2": 55, "x3": 290, "y3": 395, "x4": 110, "y4": 402}
}

Hız Sınırları

Paylaşılan çıkarım oran sınırlıdır: API anahtarı başına dakikada 20 istek. Kısıtlandığında, API şunu döndürür: 429 ile Retry-After başlığı. Tüm oran sınırı referansına tüm uç nokta kategorileri için bakın.

Daha Fazla Verim mi İstiyorsunuz?

Oran sınırlaması olmayan, öngörülebilir iş hacmi ve tutarlı düşük gecikmeli yanıtlarla sınırsız çıkarım için özel bir uç nokta dağıtın. Yerel çıkarım için Tahmin modu kılavuzuna bakın.

Hata Yönetimi

Yaygın hata yanıtları:

KodMesajÇözüm
400Geçersiz görüntüDosya formatını kontrol edin
401YetkisizAPI anahtarını doğrulayın
404Model bulunamadıModel kimliğini kontrol edin
429Hız limitine ulaşıldıBekleyin ve tekrar deneyin, veya sınırsız iş hacmi için özel bir uç nokta kullanın.
500Sunucu hatasıİsteği yeniden deneyin

SSS

Videoda çıkarım yapabilir miyim?

API, tek tek kareleri kabul eder. Video için:

  1. Kareleri yerel olarak çıkarın
  2. Her kareyi API'ye gönderin
  3. Sonuçları birleştirin

Gerçek zamanlı video için özel bir uç nokta dağıtmayı düşünebilirsiniz.

Etiketlenmiş görüntüyü nasıl alırım?

API, JSON tahminleri döndürür. Görselleştirmek için:

  1. Kutuları yerel olarak çizmek için tahminleri kullanın
  2. Ultralytics kullanın plot() yöntem:
from ultralytics import YOLO

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

Tam sonuç API'si ve görselleştirme seçenekleri için Tahmin modu belgelerine bakın.

Maksimum görüntü boyutu nedir?

  • Yükleme sınırı: 10MB
  • Recommended: <5MB for fast inference
  • Otomatik yeniden boyutlandırma: Görüntüler seçilen boyuta yeniden boyutlandırılır Image Size parametre

Büyük görüntüler, en boy oranı korunarak otomatik olarak yeniden boyutlandırılır.

Toplu çıkarım yapabilir miyim?

Mevcut API, istek başına bir görüntü işler. Toplu işlem için:

  1. Eşzamanlı istekler gönderin
  2. Daha yüksek verim için özel bir uç nokta kullanın
  3. Büyük partiler için yerel çıkarımı düşünün

python ile Toplu Çıkarım

import concurrent.futures

import requests

url = "https://predict-abc123.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))


📅 1 ay önce oluşturuldu ✏️ 5 gün önce güncellendi
glenn-jochersergiuwaxmannLaughing-q

Yorumlar