
YOLO, bir görüntüdeki nesneleri tek bir geçişte bulan ve her birinin yerini bir kutuyla işaretleyen derin öğrenme tabanlı nesne tespiti yöntemidir. Adı İngilizce "You Only Look Once", yani "yalnızca bir kez bak" ifadesinden gelir. Hızlı olduğu için üretim hatlarında eksik parça, sayma, konum ve kusur tespiti gibi işlerde hat hızında karar vermek için yaygın olarak kullanılır.
Bir otomotiv yan sanayi hattında her sac parçada dört punta kaynağı olması gerektiğini düşünelim. Kamera parçayı çektiğinde YOLO modeli her kaynak noktasını bir kutuyla işaretler, yanına "iyi" ya da "kusurlu" etiketini ve bir güven puanı yazar. Dört kutudan biri eksikse ya da biri kusurlu etiketi taşıyorsa parça hattan ayrılır. Doğru donanımla bütün bu işlem genellikle 50 ms'nin altında biter, yani saniyede birkaç parçanın geçtiği bir hatta rahatça yetişir.
YOLO nasıl çalışır?
YOLO görüntüyü bir ızgaraya böler ve tek bir sinir ağı geçişiyle her bölge için nesne olup olmadığını, nesnenin sınıfını ve kutunun konumunu aynı anda tahmin eder. Yöntem Joseph Redmon ve arkadaşlarının 2016'da CVPR'de yayımladığı çalışmayla tanıtıldı.
Önceki yöntemlerin çoğu önce nesne olabilecek bölgeleri önerir, sonra her bölgeyi ayrı ayrı sınıflandırırdı. YOLO bu iki adımı birleştirdiği için çok daha hızlıdır. Model her nesne için üç bilgi verir. Bunlar nesnenin sınıfı (örneğin "kaynak", "vida", "eksik parça"), nesneyi çevreleyen kutunun koordinatları ve modelin bu tahmine ne kadar güvendiğini gösteren güven puanıdır.
Üretimde YOLO nerede kullanılır?
Üretimde YOLO en çok bir nesnenin var olup olmadığını, kaç tane olduğunu ve nerede durduğunu bilmek gereken işlerde kullanılır.
| Görev | YOLO ne yapar | Örnek |
|---|---|---|
| Varlık ve eksik parça | Beklenen nesnelerin hepsini bulur | Kutudaki ürünler, montajdaki vida ve klipsler |
| Sayma | Görüntüdeki nesneleri sayar | Paletteki koli, tepsideki ürün |
| Kusur tespiti | Kusuru kutuyla işaretler ve sınıflandırır | Çizik, leke, kaynak hatası |
| Konum ve robot yönlendirme | Nesnenin görüntüdeki yerini verir | Banttaki ürünü robotun alması |
| Saha ve iş güvenliği | İnsan, araç ve ekipmanı bulur | Baret ve yelek kontrolü, forklift yakınlığı |
Örneğin yukarıdaki videoda model her saplamayı ayrı bir kutuyla işaretliyor ve çapaklı olanı farklı bir sınıfla ayırıyor. Aynı yaklaşım montaj doğrulamada eksik vida ve klipsleri bulmak için kullanılır.
YOLO modeli nasıl eğitilir?
YOLO modeli, üzerinde nesnelerin kutularla işaretlendiği örnek görüntülerle eğitilir. İşaretleme, yani etiketleme, işin en çok emek isteyen kısmıdır ve modelin başarısını doğrudan belirler.
- Görüntü toplama. Sahadaki gerçek ışık ve kamera düzeninde, iyi ve kusurlu ürünlerin görüntüleri toplanır.
- Etiketleme. Her görüntüde her nesnenin etrafına bir kutu çizilir ve sınıfı yazılır.
- Eğitim. Hazır eğitilmiş bir YOLO modeli bu görüntülerle sizin nesnelerinize uyarlanır.
- Test. Modelin hiç görmediği görüntülerde ne kadar doğru bulduğu ölçülür.
Hazır eğitilmiş bir modelden başlamak, gereken görüntü sayısını belirgin biçimde azaltır. Etiketlemeyi kusuru en iyi tanıyan kalite ekibinin yapması ya da onaylaması önemlidir. Örneğin hafif bir çiziğin kusur sayılıp sayılmayacağı kalite ekibinin kararıdır, etiketler bu kararı modele öğretir.
YOLO'nun başarısı nasıl ölçülür?
Nesne tespitinde nesnenin doğru bulunup bulunmadığı ile kutunun doğru yere çizilip çizilmediği birlikte ölçülür. Kutunun doğruluğu IoU (kesişim bölü birleşim) ile, modelin genel başarısı mAP (ortalama kesinlik) ile ifade edilir.
Üretimde bu metriklerin yanında daha basit iki sayıya bakılır, kaçırılan kusurlu parça sayısı ve yanlışlıkla reddedilen iyi parça sayısı. Güven puanı eşiği bu dengeyi ayarlar. Örneğin eşik yüksek tutulursa model daha az yanlış alarm verir ama bazı kusurları kaçırabilir. Eşik düşürülürse kaçırma azalır, yanlış alarm artar. Kaçırma ile yanlış alarm arasındaki denge, derin öğrenme ile görsel denetimin her projede yeniden kurulan ayarıdır.
YOLO her görüntü işleme işine uygun mu?
YOLO nesneyi kutuyla işaretler, nesnenin sınırını piksel düzeyinde çizmez. Kusurun alanını ya da biçimini ölçmek gerekiyorsa segmentasyon modelleri, tek tip ürünlerde nadir ve çeşitli kusurları yakalamak gerekiyorsa anomali tespiti daha uygundur.
Ölçüm ve kod okuma gibi tanımı net görevlerde ise derin öğrenmeye hiç gerek olmayabilir. Örneğin bir deliğin çapını ölçmek kural tabanlı görüntü işlemeyle daha basit ve daha hassas yapılır. YOLO'yu en iyi sonuç verdiği yerde, nesnenin görünümünün değiştiği ve varlığının ya da yerinin önemli olduğu işlerde kullanmak gerekir.
Ticari kullanımda nelere dikkat edilir?
YOLO'nun birçok sürümü farklı kişi ve kurumlar tarafından geliştirildi ve her sürümün lisansı farklı. Bazı popüler sürümler açık kaynak olsa da ticari bir üründe kullanılması lisans şartlarına bağlıdır.
Örneğin bazı sürümler, onları kullanan yazılımın kaynak kodunun da açılmasını şart koşan lisanslarla dağıtılıyor ve ticari kullanım için ayrı bir lisans gerektiriyor. Bir sistem kurdururken modelin hangi sürüme dayandığını ve lisansının üretimde kullanıma uygun olup olmadığını sormanız gerekir.
İlk adım: bulunacak nesneleri listeleyin
YOLO ile bir proje başlatmadan önce kameranın bulması gereken nesneleri ve kusurları bir listeye yazın. Her biri için iyi ve kusurlu birkaç örnek ayırın ve hattın hızını not edin.
Bu liste modelin sınıflarını, örnekler ise ilk eğitim verisini oluşturur. Örneklerinizle bize yazarsanız nesne tespitinin işinize uygun olup olmadığını birlikte değerlendirebiliriz.
Sık sorulan sorular
YOLO'nun açılımı nedir?
YOLO, İngilizce "You Only Look Once" ifadesinin kısaltmasıdır ve görüntüye tek bir kez bakarak bütün nesneleri bulmasından gelir.
YOLO için GPU gerekir mi?
Eğitim için genellikle gerekir. Hatta çalıştırmak için ise hat hızına ve modelin büyüklüğüne göre GPU'lu bir uç cihaz, endüstriyel bilgisayar ya da yapay zekâ destekli akıllı kamera yeterli olabilir.
YOLO ile kaç farklı nesne tanınabilir?
Tek bir model birçok sınıfı aynı anda tanıyabilir. Pratikte sınıf sayısı arttıkça her sınıf için yeterli örnek toplamak zorlaşır.
Ürün değişince model yeniden eğitilir mi?
Yeni ürünün nesneleri öncekilere benziyorsa az sayıda yeni örnekle model güncellenir. Tamamen farklı bir ürün için yeni bir eğitim gerekir.


