mustafahacioglu/yolo11s-forklift-person-detection
YOLO11s — Forklift ve İnsan Tespiti (Araç Doluluk Kontrolü)
Görev: Endüstriyel ortamlarda forklift ve insan tespiti yapmak, ardından tespitlerin üzerine kurulan mekânsal içerme (containment) kuralıyla her aracın dolu (içinde/üzerinde operatör var) olup olmadığına karar vermek.
Tek cümlelik özet: Güvenlik odaklı, iki aşamalı bir sistem — YOLO11s tespiti (forklift, person) + kutu-içerme son işlemesi.
1. Kullanım Amacı
- Endüstriyel alanların (depo, tesis, saha) araç doluluğu açısından izlenmesi.
- Güvenlik sistemleri için yapı taşı; örn. "başıboş çalışan araç" uyarıları.
- Sertifikalı bir güvenlik cihazı değildir. Hayati kararların tek dayanağı olarak kullanılmamalı, yardımcı bir sinyal olarak değerlendirilmelidir.
2. Nasıl Çalışır?
- YOLO11s iki sınıf tespit eder:
forklift(id 0) veperson(id 1). - Tespit edilen her forklift için, her insanla içerme oranı hesaplanır:
kesişim_alanı / insan_kutusu_alanı. - Herhangi bir insanın içerme oranı ≥ 0.5 ise forklift DOLU, aksi halde BOŞ olarak işaretlenir.
Neden IoU değil de içerme? Operatörün kutusu araç kutusuna göre küçüktür; insan tamamen aracın içinde olsa bile IoU düşük kalır. İçerme oranı ise "insanın ne kadarı aracın içinde?" sorusunu doğrudan cevaplar — oturan operatörde ~1.0, yoldan geçen yayada ~0.0 çıkar.
Güven eşikleri bilinçli olarak asimetriktir (güvenlik bağlamı):
person: 0.15 (düşük; insan kaçırmayı en aza indirmek için — bu senaryoda en tehlikeli hata yanlış negatiftir)forklift: 0.40 (daha yüksek; hayalet araç tespitini önlemek için)
3. Hızlı Başlangıç
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
model = YOLO(hf_hub_download(
"mustafahacioglu/yolo11s-forklift-person-detection", "best.pt"))
results = model.predict("image.jpg", conf=0.15)4. Eğitim Verisi
Roboflow Universe'ten iki açık veri seti, sınıf kimlikleri hizalanarak birleştirildi:
Birleşik bölümler: 3.928 train / 433 val / 221 test görüntüsü (train'de 7.464 kutu; sınıflar dengeli: 3.646 forklift, 3.818 person; 1.610 train görüntüsünde iki sınıf birlikte bulunuyor).
5. Eğitim Ayarları
6. Sonuçlar (test seti, 221 görülmemiş görüntü)
Validation (433 görüntü) sonuçları tutarlıdır (genel mAP50 = 0.856); bu da anlamlı bir overfitting olmadığını gösterir.
7. Bilinen Sınırlar
- Oturan / büyük ölçüde gizlenmiş (occluded) operatörler, çok düşük güven eşiklerinde bile tamamen kaçırılabilir. Kök neden: eğitim verisinde oturan-operatör örneklerinin azlığı. Baskın hata türü budur.
- Yakın çekimler: araca bitişik duran bir kişi, kutu örtüşmesi nedeniyle "araçta" sayılabilir (içerme kuralının yanlış pozitifi).
- Model ağırlıklı olarak forklift ile eğitildi; diğer endüstriyel araçlar (ekskavatör, vinç vb.) dağılım dışıdır.
- Varsayılan eşiklerde person recall 0.716'dır —
confdeğeri kullanım senaryosuna göre ayarlanmalıdır.
8. Gelecek Çalışmalar
- Oturan-operatör ağırlıklı ek veriyle yeniden eğitim.
- Daha fazla araç türüne genişletme.
- Kutu içermesi yerine daha zengin mekânsal akıl yürütme (örn. keypoint).
- Edge dağıtımı: gerçek zamanlı kullanım için ONNX / TensorRT export.
9. Lisanslar ve Atıflar
- Ultralytics YOLO11: AGPL-3.0 (bu model de aynı lisansı devralır).
- forklift-dsitv veri seti: CC BY 4.0, mohamed-traore-2ekkp (Roboflow Universe).
- map_up veri seti: etri (Roboflow Universe).
