Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

JSON

JSON; API'ler, açıklamalar ve model çıktıları için kullanılan nesneler, diziler ve değerlerden oluşan bir metin biçimidir. Sözdizimi kuralları, ML kullanımları, JSON Lines ve kod.

JSON, JavaScript Nesne Gösterimi ifadesinin kısaltmasıdır ve yapılandırılmış verileri depolamak ve aktarmak için kullanılan hafif, metin tabanlı bir biçimdir. Douglas Crockford, 2000'lerin başında bu biçimi JavaScript'in nesne değişmezi söz dizimini temel alarak tanımladı; biçim artık IETF RFC 8259 ve ECMA-404 ile standartlaştırılmıştır. JSON dilden bağımsızdır, insanlar tarafından okunabilir ve neredeyse her programlama dilinin standart kitaplığı tarafından ayrıştırılır; bu da onu web API'leri için varsayılan biçim hâline getirir. Makine öğreniminde (ML) tahminleri çıkarım motorlarından dışarı aktarır, veri kümesi açıklamalarını depolar, deney meta verilerini günlüğe kaydeder ve büyük dil modellerinin (LLM'ler) yapılandırılmış çıktılarını tanımlar.

JSON Söz Dizimi#

Bir JSON belgesi iki kapsayıcı ve dört değer türünden oluşur:

  • Nesneler: Süslü ayraçlar içindeki sırasız anahtar-değer çiftleri kümeleridir; örneğin {"name": "bus", "confidence": 0.94}. Anahtarlar çift tırnak içinde dizeler olmalıdır.
  • Diziler: Köşeli ayraçlar içindeki sıralı listelerdir; örneğin [48.5, 398.0, 245.3, 902.1].
  • Değerler: Dizeler, sayılar, true, false ve null sabitleri ya da iç içe nesneler ve diziler.

Biçim katı kurallara tabidir. Yorumlara, sondaki virgüllere, tek tırnaklı dizelere ve NaN ile Infinity değerlerine izin verilmez; ancak Python'ın json modülü, allow_nan=False ayarlanmadığı sürece varsayılan olarak NaN yazar ve katı ayrıştırıcıların reddettiği dosyalar üretir. RFC 8259 ayrıca sayıların yalnızca IEEE 754 çift duyarlılık sınırları içinde güvenilir biçimde aktarılabildiği konusunda uyarır; bu nedenle bazı veritabanı kimlikleri gibi 2⁵³ − 1'den büyük tam sayılar genellikle dizge olarak gönderilir.

Makine Öğrenimi İş Akışlarında JSON#

Bir güvenlik sistemindeki kamera bir kareyi nesne algılama hizmetine gönderdiğinde, model sunumu katmanı genellikle JSON ile yanıt verir: algılanan her nesne için sınıfını, güven puanını ve sınırlayıcı kutu koordinatlarını içeren bir kayıt; bu kayıtlar panolarda, mobil uygulamalarda ve MongoDB gibi belge veritabanlarında kullanıma hazırdır.

Etiket biçimleri de JSON'a dayanır. COCO veri kümesi, bir bölüme ait tüm etiketleri üç ana liste içeren tek bir JSON dosyasında saklar: dosya adları ve boyutları için images, sınıf kimlikleri ve adları için categories ve her girdisinin görüntüye ve kategoriye kimlikleriyle işaret ettiği, ayrıca kutuyu sol üst köşeden piksel cinsinden [x, y, width, height] olarak sakladığı annotations. YOLO biçimi ise her görüntü için normalize edilmiş merkez koordinatlarını içeren bir metin dosyası kullanır. İki biçim arasında dönüştürme, veri etiketleme hatlarında sık uygulanan bir adımdır; özel bir veri kümesi sınıfı, YOLO'yu doğrudan COCO JSON üzerinde de eğitebilir.

JSON Lines, NDJSON olarak da bilinir ve her satıra eksiksiz bir JSON nesnesi yazar. Böylece dosyalara ekleme yapılabilir, dosyalar akış hâlinde işlenebilir ve tüm belgeyi ayrıştırmadan parçalara bölünebilir; bu özellikler eğitim günlükleri, tahmin akışları ve LLM'leri ince ayarlamak için kullanılan talimat veri kümeleri açısından elverişlidir. LLM'ler için JSON Schema, uygulamanın beklediği alanları tam olarak tanımlar; yapılandırılmış çıktılar ve işlev çağırma da modelin bu şemaya uyan JSON üretmesini sağlar. RFC 7946 ile standartlaştırılan GeoJSON, biçimi coğrafi ögelere uygular ve uydu görüntüsü analizinin algılamaları haritaya yerleştirmesini sağlar.

Tahminleri JSON'a Dönüştürme#

Ultralytics YOLO Results nesneleri, tahminlerini to_json() ile serileştirir; her algılama için sınıf adını, sınıf kimliğini, güven değerini ve x1, y1, x2, y2 kutu köşelerini, ayrıca örnek bölümleme ve poz kestirimi modelleri için maske veya anahtar nokta koordinatlarını içeren bir kayıt yazar. Aşağıdaki örnek, bir örnek görüntü üzerinde YOLO26 çalıştırır ve JSON'ı Python'ın standart kitaplığıyla yeniden ayrıştırır:

import json

from ultralytics import YOLO

# Önceden eğitilmiş bir YOLO26 algılama modelini yükle ve çıkarım çalıştır
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Her algılamayı JSON dizesine serileştir (normalize=True kutuları 0-1 aralığına ölçekler)
json_string = result.to_json()

# Herhangi bir JSON ayrıştırıcı bunu yeniden okuyabilir; burada Python sözlüklerinden oluşan bir listeye okunuyor
detections = json.loads(json_string)
print(json.dumps(detections[0], indent=2))

Yazdırılan kayıt; name, class ve confidence anahtarlarını, ayrıca piksel cinsinden köşe koordinatlarını içeren iç içe bir box nesnesini barındıran bir JSON nesnesidir.

  • YAML: Yorumlara ve girintiye dayalı iç içe yapıya izin veren, eğitim yapılandırmalarında ve veri kümesi tanımlarında yaygın olarak kullanılan, daha okunabilir bir biçimdir. YAML 1.2, JSON'ın üst kümesi olacak şekilde tasarlanmıştır; bu nedenle çoğu JSON belgesi geçerli YAML'dır.
  • XML: Pascal VOC açıklamalarında kullanılan, JSON'dan daha ayrıntılı, etiket tabanlı bir biçimdir; öznitelikleri, ad alanlarını ve şemaları destekler.
  • CSV: Tablo verileri için kompakt olan düz bir tablo biçimidir; ancak nesneleri veya listeleri iç içe yerleştiremez.
  • İkili biçimler: Protocol Buffers ve MessagePack, JSON'dan daha küçük ve daha hızlı ayrıştırılır; ancak insanlar tarafından okunamaz. ONNX model dosyaları Protocol Buffers mesajları olarak depolanır.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla