Ultralytics YOLO27:
Get Started

Çıkarım#

Ultralytics Platform, eğitilmiş modelleri test etmek için tarayıcı tabanlı çıkarım ve programatik erişim için özel uç noktalar sunar.

Algılama Katmanı İçeren Ultralytics Platform Model Tahmin Sekmesi

Tahmin Sekmesi#

Ağırlıkları olan her modelde tarayıcı tabanlı çıkarım için bir Predict sekmesi bulunur:

  1. Modeline git
  2. Tahmin sekmesine tıkla
  3. Bir görüntü yükle, örneklerden birini kullan veya web kameranı aç
  4. Göreve özel katmanı, tahmin özetini, süreyi ve ham yanıtı incele

Ağırlıkları olmayan modellerde bunun yerine boş bir durum gösterilir — önce modeli eğit veya ağırlıkları yükle.

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

Giriş Yöntemleri#

Tahmin paneli birden fazla giriş yöntemini destekler:

YöntemAçıklama
Görüntü yüklemeBir görüntüyü sürükleyip bırak veya yüklemek için tıkla
Örnek görüntülerYerleşik örneklere tıkla (veri kümesi görüntüleri veya varsayılanlar)
Web kamerası yakalamaTek kare yakalamayı destekleyen canlı kamera akışı
IP kameraKendi dağıtımında RTSP veya RTSPS akışı

Görüntü Yükle#

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

  • Desteklenen biçimler: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP
  • Maksimum boyut: 10 MB
  • Otomatik çıkarım: Yüklemenin ardından sonuçlar otomatik olarak görünür
Otomatik Çıkarım

Tahmin paneli; bir görüntü yüklediğinde, bir örnek seçtiğinde veya web kamerasından bir kare yakaladığında çıkarımı otomatik olarak çalıştırır. Düğmeye tıklaman gerekmez.

İstemci Tarafında Yeniden Boyutlandırma

Yüklemeden önce panel, görüntüyü en uzun kenarı seçilen Image Size ile eşleşecek şekilde yeniden boyutlandırır ve normalize edilmiş koordinatlar ister. Bu, tarayıcıda testin hızlı olmasını sağlar; kendin gönderdiğin istekler yeniden boyutlandırılmaz.

Örnek Görüntüler#

Tahmin paneli, modelinin bağlantılı veri kümesinden en fazla iki örnek görüntü gösterir; önce val bölümündeki, ardından test ve son olarak train bölümündeki görüntülere öncelik verir. Bağlantılı bir veri kümesi yoksa varsayılan örnekler kullanılır:

Görüntüİçerik
bus.jpgAraçların bulunduğu sokak sahnesi
zidane.jpgİnsanların bulunduğu spor sahnesi

OBB modellerinde bunun yerine teknelerin ve bir havaalanının havadan çekilmiş görüntüleri gösterilir.

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

Örnek görüntüler sayfa yüklendiğinde önceden yüklenir; bu nedenle bir örneğe tıkladığında indirme beklemeden neredeyse anında çıkarım yapılır.

Web Kamerası#

Canlı kamera akışını başlatmak için görsel alanının üstündeki Web kamerası seçeneğini belirle:

  1. İstendiğinde kamera izni ver
  2. Bir kare yakalamak için video önizlemesine tıkla
  3. Yakalanan kare üzerinde çıkarım otomatik olarak çalışır
  4. Canlı akışa dönmek için Web kamerasına dön seçeneğine tıkla

Kendi dağıtımındaki Predict sekmesinde web kamerası bunun yerine sürekli çıkarım yapar. Canlı Kamera Çıkarımı bölümüne bak.

Sonuçları Görüntüle#

Çıkarım sonuçlarında model görevi için uygun çıktılar görüntülenir: kutular, maskeler, kilit noktaları, yönlendirilmiş kutular, sınıflandırma puanları, anlamsal kapsama veya derinlik haritası. Kullanılabilir olduğunda nesne sonuçlarında veri kümesinin sınıf renkleri kullanılır. Panel ayrıca ön işleme, çıkarım, son işleme ve ağ sürelerini gösterir.

Algılamalar ve Hız İstatistiklerini Gösteren Ultralytics Platform Tahmin Sekmesi Sonuçları

Sonuçlar panelinde şunlar gösterilir:

AlanAçıklama
Sonuç özetiAlgılama başına liste veya sınıflandırma ve anlamsal modeller için en iyi 5 sınıf
Hız istatistikleriÖn işleme, çıkarım, son işleme ve ağ (ms)
SürümlerUltralytics ve PyTorch sürümleri, ayrıca uygun olduğunda derinlik aralığı veya maske boyutu
JSON yanıtıBase64 harita verileri çıkarılmış, kod bloğundaki ham API yanıtı

Sonuçlar yüklendikten sonra önizlemenin üzerinde iki denetim görünür: katmanları bozulmadan görüntüyü büyütmek için görüntüye tıkla ve mevcut sonucun açıklamalı JPEG'sini kaydetmek için indirme düğmesini kullan.

Çıkarım Parametreleri#

Görüntünün altındaki üç kaydırıcıyla çıkarım davranışını ayarla (derinlik modellerinde yalnızca Görüntü Boyutu gösterilir):

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

ParametreAralıkVarsayılanAçıklama
Güven0.01 – 1.0, 0.01 adımlarla0.25Minimum güven eşiği
IoU0.0 – 0.95, 0.01 adımlarla0.7NMS IoU eşiği
Görüntü Boyutu32 – 1280, 32 adımlarla640Giriş yeniden boyutlandırma ölçüsü
Otomatik Yeniden Çalıştırma

Herhangi bir parametreyi değiştirmek, 500 ms gecikmeyle geçerli görüntüde çıkarımı otomatik olarak yeniden çalıştırır. Yeniden yüklemen gerekmez.

Güven Eşiği#

Tahminleri güven değerine göre filtrele:

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

IoU Eşiği#

Maksimum Olmayan Bastırmayı kontrol et:

  • Yüksek (0.7+): Daha fazla örtüşen kutuya izin ver
  • Düşük (0.3-0.5): Örtüşen tespitleri daha agresif biçimde bastır
  • Varsayılan (0.7): Çoğu kullanım senaryosu için dengeli NMS davranışı

Dağıtımda Tahmin#

Çalışan her özel uç nokta, dağıtım sayfasında bir Predict sekmesi içerir. Bu sekme, paylaşılan tahmin hizmeti yerine dağıtımın kendi çıkarım hizmetini kullanır; böylece dağıtılmış uç noktanı tarayıcıdan test edebilirsin.

Hazır bir uç noktada işlenen görüntüler, İzleme sekmesine de katkıda bulunur. Sekmedeki örnekler ve toplu grafikler, bellekte tutulan hafif ve geçici verilerdir; hizmeti durdurmak, yeniden başlatmak, yeniden dağıtmak, boyutunu değiştirmek veya modeli değiştirmek bu verileri silebilir. Örnekleri saklamak için bir veri kümesine kaydet.

Canlı Kamera Çıkarımı#

Sahibi olduğun bir dağıtımın Predict sekmesinde, uç noktayı canlı videoda çalıştırmak için Web kamerası veya IP kamera seçeneğini belirle:

KaynakNasıl çalışır
Web kamerasıTarayıcı kareleri tek tek uç noktaya gönderir ve her sonucun üzerine canlı akışta çizim yapar
IP kameraKimlik bilgileri de dahil olmak üzere bir rtsp:// veya rtsps:// URL'si gir ve Bağlan'a tıkla; uç nokta kamerayı okur ve her sonucu geri akış olarak gönderir

Canlı çıkarım, yalnızca çalışma alanı sahibinin yükleyebildiği uç noktanın bağlı API anahtarını kullanır; diğer ekip üyeleri için web kamerası tek kareler yakalar ve bir modelin Predict sekmesinde olduğu gibi IP kamera kullanılamaz. IP kameraya internet üzerinden erişilebilmelidir: uç nokta, 192.168.x.x gibi yerel ağ adreslerini reddeder. Her sonuç en yeni kareye aittir; bu nedenle çıkarım geride kaldığında kareler atlanır. Kaydırıcı değişiklikleri bir sonraki web kamerası karesine uygulanır ve IP kamera akışı yeniden başlatılır. Tarayıcı sekmesi gizlendiğinde canlı çıkarım duraklatılır. Kare yakalamak için önizlemeye tıkla veya IP kamerayı görüntülemeyi durdurmak için Bağlantıyı kes'e tıkla.

Arka Plan Kamerası#

Özel CPU ve bellek boyutuna sahip bir uç nokta, bağlantıyı kestikten veya sayfayı kapattıktan sonra da bir IP kamerayı izlemeye devam edebilir. Bağlanan kamerada sonuçlar görünmeye başladıktan sonra Arka planda çalışmaya devam et seçeneğini aç. Dağıtım başlığında Kamera açık görünür ve sonuçlar geçici örnekler ve tahmin istatistikleri olarak İzleme sekmesine gider.

  • Ayarlar: Arka plan kamerası her zaman varsayılan güven değerini (0.25), IoU değerini (0.7) ve modelin eğitim görseli boyutunu kullanır; kaydırıcılar bu ayarlara uygulanmaz.
  • Maliyet: Ek ücret olmadan uç noktanın etkin örneğinde çalışır; kamera açık veya kapalı olsa da saatlik çalışma süresi ücreti uygulanır.
  • Değişiklikler: Kamerayı açmak, kapatmak veya başka bir kameraya geçirmek uç noktanın örneğini yeniden başlatır. Bu işlem uç noktanın hazır kalmasını sağlar, ancak geçici izleme verilerini temizler.
  • Durdurma: Anahtarı kapat. Bağlantıyı kesmek veya sayfayı kapatmak kamerayı durdurmaz; uç noktanın boyutunu varsayılan boyuta getirmek ise kamerayı kaldırır. Kamera çevrimdışı olursa uç nokta yeniden bağlanmayı sürdürür.
  • Uç nokta yaşam döngüsü: Uç noktayı durdurmak kamerayı ve ücretleri durdurur; yeniden başlatmak kayıtlı kamerayı çalıştırmaya devam eder.

Varsayılan boyutlu uç noktalar, arka plan seçeneği olmadan canlı web kamerası ve IP kamera çıkarımı sunar. API'den bir arka plan kamerası kaydetmek için dağıtım camera eylemini kullan.

API'den Akış Sonuçları#

Sonuçları sunucu tarafından gönderilen olaylar olarak almak için, bir RTSP veya RTSPS URL'sini source olarak ve Accept: text/event-stream başlığıyla özel bir uç nokta URL'sine gönder:

curl -N -X POST \
  "https://YOUR_DEPLOYMENT_URL.run.app/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: text/event-stream" \
  -F "source=rtsp://user:password@camera.example.com:554/stream" \
  -F "conf=0.25"

Her kare olayı, normalleştirilmiş (0-1) koordinatlarla yanıt biçimindeki images öğesini, karenin preview JPEG veri URL'sini ve görev ile sınıf adlarını içeren metadata öğesini taşır. Yalnızca conf, iou ve imgsz geçerlidir; uç noktanın arka plan kamera URL'sinin akışını varsayılan ayarlar kullanır. Yalnızca status içeren olaylarda kare bulunmaz; error iletisi taşıyan bir olay (kamera okunamadı veya uç nokta modeli çalıştıramıyor) akışı sonlandırır. Uç nokta yeniden başlatıldığında veya istek zaman sınırına ulaştığında da akış kapanır; bu nedenle hata vermeden sona erdiğinde bekleme süresini artırarak yeniden bağlan. Platform API dağıtım tahmin rotası ve SDK akış sağlamaz; kamera isteklerini bağlı API anahtarıyla uç nokta URL'sine gönder. Başlık olmadan yapılan kamera source isteği 400 döndürür.

Özel Uç Nokta API'si#

Modelin Predict sekmesindeki API Belgeleri kartı, kaydırıcılarda o anda ayarlanmış güven, IoU ve görüntü boyutu değerleriyle önceden doldurulmuş örnek Python, JavaScript ve cURL isteklerini içerir. Modeli dağıtana kadar URL ve anahtar yer tutucu olarak kalır — kod sekmelerinin yanındaki Dağıt düğmesi modelin Deploy sekmesine gider. Dağıtımdan sonra, dağıtım sayfasının Predict sekmesindeki Belgeler sonuç sekmesi, bu uç noktanın URL'sini ve çalışma alanı sahipleri için bağlı API anahtarını doldurur; bunları kopyalayıp çalıştırmaya hazır hâle getirir.

Kimlik Doğrulama#

İsteklere API anahtarını ekle:

Authorization: Bearer YOUR_API_KEY
API Anahtarı Gerekli

Kendi betiklerinden, not defterlerinden veya uygulamalarından çıkarım çalıştırmak için bir API anahtarı ekle. Settings > API Keys bölümünden bir anahtar oluştur. Özel bir uç nokta yalnızca oluşturulurken tanımlanan tek anahtarı kabul eder; paylaşılan model API'si çalışma alanındaki tüm etkin anahtarları, herkese açık modeller ise anonim istekleri de kabul eder.

Uç Nokta#

Özel uç noktalar istekleri kendi URL'leri üzerinden alır:

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

Paylaşılan çıkarım, modelin tam yolunu içeren Platform API'sini kullanır:

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

Her ikisi de aynı multipart/form-data gövdesini kabul eder ve aynı yanıt biçimini döndürür. Paylaşılan çıkarım için Python SDK ile client.models.predict(owner, project, model, body=...), özel bir dağıtım için client.deployments.predict(owner, deployment, body=...) kullan. Her iki SDK yöntemi de Platform API'sini çağırır; bu nedenle API'nin hız sınırları ve istek boyutu sınırı geçerlidir. Bu sınırları aşmak için İstek bölümünde gösterildiği gibi doğrudan özel uç nokta URL'sine gönderim yap. Paylaşılan çıkarım örneği:

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})

İstek#

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 Tahmin Sekmesi Kod Örnekleri Python Sekmesi

İstek Parametreleri#

ParametreTürVarsayılanAralıkAçıklama
filefile--Görüntü veya video dosyası (source ayarlanmadıysa gereklidir)
conffloat0.250.01 – 1.0Minimum güven eşiği
ioufloat0.70.0 – 0.95NMS IoU eşiği
imgszint-32 – 1280Piksel cinsinden giriş görüntüsü boyutu; varsayılan olarak modelin eğitim boyutu kullanılır (mevcut değilse 640)
normalizeboolfalse-Sınırlayıcı kutu koordinatlarını 0 – 1 aralığında döndür
decimalsint50 – 10Koordinat değerleri için ondalık hassasiyet
vid_strideint1≥ 1Videonun her N'inci karesinde tahmin yap; görüntülerde bu parametre yok sayılır
bitsint88, 12, 16Derinlik haritası niceleme; yalnızca derinlik modelleri için
sourcestring--Görüntü URL'si veya base64 dizesi (file yerine kullanılabilir); Platform API'si üzerinden en fazla 4.096 karakter

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,
        "classNames": ["person", "bicycle", "car", "..."],
        "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 Tahmin Sekmesi JSON Yanıt Görünümü

Yanıt Alanları#

AlanTürAçıklama
imagesarrayİşlenen görüntülerin listesi; işlenen her video karesi için bir girdi
images[].shapearrayGörüntü boyutları [yükseklik, genişlik]
images[].resultsarrayTespitlerin listesi
images[].results[].classintSınıf indeksi (tamsayı kimliği)
images[].results[].namestringSınıf adı
images[].results[].confidencefloatTespit güven değeri (0-1)
images[].results[].boxobjectSınırlayıcı kutu koordinatları
images[].semantic_maskobjectPiksel başına sınıf haritası (yalnızca anlamsal modeller için)
images[].depthobjectPiksel başına derinlik haritası (yalnızca derinlik modelleri için)
images[].speedobjectMilisaniye cinsinden işlem süreleri
metadataobjectGörüntü sayısı, model sınıf adları, hizmet süreleri, görev ve sürümler

Göreve Özgü Yanıtlar#

Yanıt biçimi göreve göre değişir:

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

Hız Sınırları#

Paylaşılan model API'si her API anahtarı, oturum açmış kullanıcı veya anonim IP için dakikada 20 istek ile sınırlıdır. Platform dağıtımındaki tahmin rotası (POST /api/deployments/{owner}/{deployment}/predict) da aynı sınıra tabidir. İstekler kısıtlandığında API, Retry-After başlığıyla birlikte 429 döndürür. Tüm uç nokta kategorileri için hız sınırı başvurusunun tamamına bak.

Daha Yüksek İstek Hacmine mi İhtiyacın Var?

Doğrudan özel bir uç noktaya gönderilen istekler Platform API hız sınırlayıcısından geçmez. Uç nokta geçici olarak kapasitesini doldurduğunda yine de yükü azaltır ve Retry-After başlığıyla birlikte 429 döndürür. Yüksek hacimli yerel çıkarım için Tahmin modu kılavuzuna bak.

Hata İşleme#

Yaygın hata yanıtları:

KodMesajÇözüm
400Geçersiz görüntüDosya biçimini veya modelin eğitilmiş ağırlıklara sahip olup olmadığını kontrol et
401YetkisizAPI anahtarını doğrula
404Model bulunamadıSahip, proje ve model adlarını kontrol et
413Girdi çok büyükDosya boyutunu uç nokta sınırının altına indir
429Hız sınırına ulaşıldıBekleyip yeniden dene veya istekleri doğrudan özel bir uç noktaya gönder
500Sunucu hatasıİsteği yeniden dene
503Hizmet kullanılamıyorTahmin hizmeti başlatılıyor veya hizmete erişilemiyor; kısa süre bekleyip yeniden dene

Sık Sorulan Sorular#

  • Her iki çıkarım yöntemi de video dosyalarını kabul eder:

    • Özel uç noktalar video dosyalarını doğrudan kabul eder. Desteklenen biçimler (istek başına en fazla 32 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Sonuçlar işlenen her kare için döndürülür ve bir istek en fazla 1 saat çalışabilir. Ayrıntılar için özel uç noktalar bölümüne bak.
    • Paylaşılan çıkarım (POST /api/models/{owner}/{project}/{model}/predict) aynı tahmin hizmetini kullanır ve aynı video biçimlerini kabul eder; ancak istekler yaklaşık 4.5 MB ile sınırlıdır ve yaklaşık 30 saniye sonra zaman aşımına uğrar, bu nedenle yalnızca kısa klipler için uygundur. Tarayıcıdaki Tahmin sekmesi yalnızca görseller yükler; video dosyaları için özel uç nokta, web kamerası veya IP kamera için Canlı Kamera Çıkarımı kullan.

    Derinlik modelleri video dosyalarını kabul etmez.

  • Tahmin sekmesinde, önizlemenin üzerindeki indirme düğmesi geçerli sonucu açıklama eklenmiş bir JPEG olarak kaydeder. API'nin kendisi JSON tahminleri döndürür. Bunları görselleştirmek için:

    1. Kutuları yerel olarak çizmek için tahminleri kullan
    2. Modeli Ultralytics ile yerel olarak çalıştır ve açıklama eklenmiş sonucu save() ile kaydet (veya plot() ile bir dizi al):
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model("image.jpg")
    results[0].save("annotated.jpg")

    Sonuç API'si ve görselleştirme seçeneklerinin tamamı için Predict modu belgelerine göz at.

    • Predict sekmesi sınırı: 10 MB
    • Paylaşılan çıkarım API'si sınırı: Python SDK üzerinden yapılanlar da dâhil, istek başına yaklaşık 4,5 MB
    • Özel uç nokta sınırı: Doğrudan uç nokta URL'sine gönderilen istek başına 32 MB
    • Predict sekmesinde otomatik yeniden boyutlandırma: Görüntüler yüklenmeden önce seçilen Image Size boyutuna yeniden boyutlandırılır

    En-boy oranı korunarak büyük görüntüler tarayıcıda otomatik olarak yeniden boyutlandırılır. Kendin gönderdiğin istekler yeniden boyutlandırılmaz; bu nedenle sınırı aşan istekler 413 ile reddedilir.

  • Mevcut API, her istekte bir görüntüyü işler. Toplu işlem için:

    1. Her görüntü için ayrı istek gönder
    2. Uygun olduğunda istekleri özel uç noktalara dağıt
    3. Büyük toplu işlemler için yerel çıkarım kullan
    Python ile Toplu Çıkarım
    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))

Yorumlar