
YOLO nesne algılama için temel kavramlardan veri, eğitim ve değerlendirmeye; gerçek zamanlı çalışma, üretim, performans ve güvenliğe uzanan geliştirici rehberi.
YOLO (“You Only Look Once”), tek aşamalı nesne algılama modelleri ailesidir. Görüntü sınıflandırma tüm resme tek etiket verirken nesne algılama her nesne için sınıf, güven skoru ve sınırlayıcı kutu üretir.
YOLO; trafik analizi, üretim kalite kontrolü, robotik, tarım, spor analizi, perakende ve gerçek zamanlı video sistemlerinde kullanılır. Popülerliğinin temel nedeni doğruluk, gecikme, model boyutu ve dağıtım kolaylığı arasındaki dengedir.
Güven eşiğini yükseltmek yanlış alarmları azaltabilir ancak zor nesneleri kaçırabilir. Eşiği iş hatalarının maliyetine göre seçin.
Mimari genellikle özellik çıkaran Backbone, çoklu ölçekleri birleştiren Neck ve tahmin üreten Detection Head bölümlerinden oluşur.
python -m venv .venv
source .venv/bin/activate
pip install ultralytics opencv-python
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
result = model.predict("street.jpg", conf=0.35, imgsz=640)[0]
for box in result.boxes:
class_id = int(box.cls.item())
print({
"class": model.names[class_id],
"confidence": float(box.conf.item()),
"xyxy": box.xyxy[0].tolist(),
})
import cv2
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
camera = cv2.VideoCapture(0)
while camera.isOpened():
ok, frame = camera.read()
if not ok:
break
result = model.predict(frame, conf=0.4, verbose=False)[0]
cv2.imshow("YOLO", result.plot())
if cv2.waitKey(1) & 0xFF == ord("q"):
break
camera.release()
cv2.destroyAllWindows()
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.train(
data="dataset.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0,
project="runs/safety",
name="baseline",
)
path: /absolute/path/to/dataset
train: images/train
val: images/val
test: images/test
names:
0: person
1: helmet
2: safety_vest
Önce küçük bir modelle gecikme ölçümü yapın. Daha büyük modeli yalnızca ölçülen doğruluk kazancı bellek ve işlem maliyetini karşılıyorsa seçin.
YOLO etiket satırı çoğunlukla şu biçimdedir:
class_id x_center y_center width height
Koordinatlar 0 ile 1 arasında normalize edilir. images ve labels klasörlerini train, val ve test olarak ayırın. Aynı videonun komşu karelerini rastgele farklı bölümlere koymak veri sızıntısına ve gerçekçi olmayan skorlara yol açar.
Çoğu projede önceden eğitilmiş ağırlıklarla başlamak daha hızlıdır. Fazladan epoch yanlış etiketi, veri sızıntısını veya eksik üretim senaryosunu düzeltemez.
Tek bir mAP değerine güvenmeyin. Sonuçları sınıf, nesne boyutu, kamera, müşteri, ışık, hava, örtülme, hareket bulanıklığı, mesafe ve sıkıştırmaya göre bölün. False positive, false negative, konum hatası ve yinelenen tespit galerisi oluşturun.
Modeli uygulama başlangıcında bir kez yükleyip ısıtın. Dosya içeriğini, boyutunu ve piksel ölçülerini doğrulayın. Uzun videoları tek HTTP isteği yerine ilerleme bilgisi veren asenkron işlerle işleyin.
Dayanıklı sistem; gateway ve kimlik doğrulama, yükleme kontrolü, nesne depolama, kuyruk, inference worker, sonuç servisi, izleme ve denetim kayıtlarını ayırır.
Yalnız model inference süresini değil decode, resize, veri aktarımı, NMS, çizim, serileştirme ve ağ süresini ölçün. Desteklenen GPU’da FP16 kullanın, concurrency ve kuyrukları sınırlayın, p50/p95/p99 gecikmesini, belleği ve düşürülen kareleri izleyin.
ONNX, TensorRT veya OpenVINO dışa aktarımından sonra orijinal modelle sınıf bazında regresyon testi yapın.
Görüntüler yüz, plaka, ekran, adres ve özel alan içerebilir. Veri minimizasyonu, saklama süresi, erişim kontrolü ve şifreleme uygulayın. Dosya uzantısına güvenmeyin ve güvenilmeyen model dosyalarını yüklemeyin. YOLO olasılıksal sonuç verir; yüksek riskli tıbbi, hukuki, işe alım veya güvenlik kararlarında tek otorite olmamalıdır.
Konum ve sınıfları ayrı bir bölge öneri aşaması olmadan doğrudan tahmin eder.
Tahmin kutusu ile gerçek kutu arasındaki örtüşmenin birleşim alanına oranını.
Hata maliyetine bağlıdır. Güvenlik taraması recall, otomatik engelleme yüksek precision isteyebilir.
Temsil gücü yüksek çözünür veri ve etiketleri iyileştirin, giriş boyutu ve augmentation ayarlayın, çok ölçekli özellikleri koruyun ve gerektiğinde tiling deneyin.
Başarılı YOLO projesi yalnız bir eğitim komutu değil, veri ve sistem projesidir. Ölçülebilir baseline kurun, gerçek hatalardan veri üretin ve tüm işlem hattını profillemeden optimizasyon yapmayın.
Henüz onaylı yorum yok. Yeni yanıtlar moderasyon bekleyebilir.