Yeşil çek
Panoya kopyalanan bağlantı

YOLO-World ile Pratik Yapmak

Metin komutları aracılığıyla nesneleri tanımlayabilen yenilikçi bir nesne algılama modeli olan YOLO-World hakkında bilgi edinin. YOLO -World'ün nasıl çalıştığını ve uygulamalarını keşfedin ve hızlı bir kod örneği ile uygulamalı olarak öğrenin.

Bilgisayarla görme projeleri genellikle verilere açıklama eklemek ve nesne algılama modellerini eğitmek için çok zaman harcanmasını gerektirir. Ancak bu durum yakında geçmişte kalabilir. Tencent'in AI Laboratuvarı, 31 Ocak 2024 tarihinde gerçek zamanlı, açık kelime dağarcığına sahip bir nesne algılama modeli olan YOLO-World'ü yayınladı. YOLO-Dünya sıfır atışlı bir modeldir, yani eğitmek zorunda kalmadan görüntüler üzerinde nesne algılama çıkarımlarını çalıştırabilirsiniz.

Sıfır atış modelleri, bilgisayarla görme uygulamalarına yaklaşımımızı değiştirme potansiyeline sahiptir. Bu blogda, YOLO-World'ün nasıl çalıştığını ve potansiyel kullanımlarını keşfedeceğiz ve başlamanız için pratik bir kod örneği paylaşacağız.

YOLO-Dünyasına Bir Bakış

YOLO-World modeli aracılığıyla aradığınız nesneleri açıklayan bir resim ve metin istemi iletebilirsiniz. Örneğin, bir fotoğraf içinde "kırmızı gömlek giyen bir kişi" bulmak istiyorsanız, YOLO-World bu girdiyi alır ve işe koyulur.

Modelin benzersiz mimarisi üç ana unsuru bir araya getiriyor:

  • temelli bir dedektör Ultralytics YOLOv8 nesne algılama modeli, görüntünün görsel içeriğini analiz etmek için
  • OpenAI'nin CLIP'i tarafından önceden eğitilmiş, metin isteminizi anlamak için özel olarak tasarlanmış bir metin kodlayıcı. 
  • İşlenmiş görüntü verilerini metin verileriyle bütünleştiren bir ağ, Görme-Dil Yolu Toplama Ağı (RepVL-PAN).

YOLO dedektörü, potansiyel nesneleri tanımlamak için giriş görüntünüzü tarar. Metin kodlayıcı, açıklamanızı modelin anlayabileceği bir biçime dönüştürür. Bu iki bilgi akışı daha sonra çok seviyeli çapraz modalite füzyonu kullanılarak RepVL-PAN aracılığıyla birleştirilir. Bu, YOLO-World'ün görüntü içinde isteminizde tanımlanan nesneleri hassas bir şekilde tespit etmesini ve konumlandırmasını sağlar.

YOLO-World adresinden elde edilen sonuçlara bir örnek.

YOLO-World'ü Seçmenin Faydaları

YOLO-World kullanmanın en büyük avantajlarından biri, modeli belirli bir sınıf için eğitmek zorunda olmamanızdır. Zaten görüntü ve metin çiftlerinden öğrenmiştir, bu nedenle açıklamalara dayalı olarak nesneleri nasıl bulacağını bilir. Saatlerce veri toplama, verilere açıklama ekleme, pahalı GPU'larda eğitim vb. işlemlerden kaçınabilirsiniz.

İşte YOLO-World kullanmanın diğer bazı faydaları:

  • Gerçek Zamanlı Performans - YOLO-World, tıpkı orijinal YOLO mimarisi gibi gerçek zamanlı performansı destekler. Otonom araçlar ve gözetleme sistemleri gibi anında nesne algılama gerektiren uygulamalar için idealdir.
  • Örnek Segmentasyonu - YOLO-World, eğitim sırasında bu nesneler özellikle öğretilmemiş olsa bile, resimlerdeki nesneleri düzgün bir şekilde çizebilir ve ayırabilir.
  • Verimlilik - YOLO-World yüksek doğruluğu hesaplama verimliliği ile birleştirerek gerçek dünya uygulamaları için pratik hale getirir. Kolaylaştırılmış mimarisi, işlem gücüne aşırı talep olmadan hızlı nesne tespitini mümkün kılar

YOLO-Dünya Uygulamaları

YOLO-Dünya modelleri çok çeşitli uygulamalar için kullanılabilir. Bunlardan bazılarını inceleyelim.

Üretimde Kalite Kontrol

Bir montaj hattında üretilen ürünler paketlenmeden önce kusurlar açısından görsel olarak kontrol edilir. Kusur tespiti genellikle elle yapılır, bu da zaman alır ve hatalara yol açabilir. Bu hatalar, yüksek maliyetler ve onarım veya geri çağırma ihtiyacı gibi sorunlara neden olabilir. Bu konuda yardımcı olmak üzere, bu kontrolleri gerçekleştirmek için özel yapay görme kameraları ve yapay zeka sistemleri oluşturulmuştur. 

YOLO-Dünya modelleri bu alanda büyük bir ilerlemedir. Sıfır atış yeteneklerini kullanarak, bu özel sorun için eğitilmemiş olsalar bile ürünlerdeki kusurları bulabilirler. Örneğin, su şişeleri üreten bir fabrika, YOLO-World'ü kullanarak şişe kapağıyla düzgün bir şekilde kapatılmış bir şişe ile kapağın atlandığı veya hatalı olduğu bir şişeyi kolayca ayırt edebilir.

Şişe kapağı denetimine bir örnek.

Robotik

YOLO-Dünya modelleri robotların bilmedikleri ortamlarla etkileşime girmesine olanak tanır. Bir odada bulunabilecek belirli nesneler konusunda eğitilmeden, yine de hangi nesnelerin mevcut olduğunu belirleyebilirler. Diyelim ki bir robot daha önce hiç girmediği bir odaya girdi. Bir YOLO-World modeli ile, bu öğeler üzerinde özel olarak eğitilmemiş olsa bile, sandalye, masa veya lamba gibi nesneleri tanıyabilir ve tanımlayabilir.

Nesne tespitine ek olarak YOLO-World, 'sor-sonra-tespit et' özelliği sayesinde bu nesnelerin durumlarını da belirleyebilir. Örneğin, tarımsal robotikte, robotu bunları algılayacak şekilde programlayarak olgun meyveleri olgun olmayan meyvelere karşı tanımlamak için kullanılabilir.

Otomobil Sektöründe Yapay Zeka

Otomobil endüstrisi birçok hareketli parça içerir ve YOLO-World farklı otomobil uygulamaları için kullanılabilir. Örneğin, araç bakımı söz konusu olduğunda, YOLO-World'ün manuel etiketleme veya kapsamlı ön eğitim olmadan çok çeşitli nesneleri tanıma yeteneği son derece kullanışlıdır. YOLO-Dünya, değiştirilmesi gereken araba parçalarını tanımlamak için kullanılabilir. Hatta kalite kontrolleri, yeni arabalardaki kusurları veya eksik parçaları tespit etme gibi görevleri otomatikleştirebilir.

Bir başka uygulama da sürücüsüz araçlarda sıfır atışla nesne tespitidir. YOLO-World'ün sıfır atış algılama yetenekleri, otonom bir aracın yoldaki yayalar, trafik işaretleri ve diğer araçlar gibi nesneleri gerçek zamanlı olarak algılama ve sınıflandırma yeteneğini geliştirebilir. Bu sayede engellerin tespit edilmesine ve daha güvenli bir yolculuk için kazaların önlenmesine yardımcı olabilir. 

Yoldaki nesnelerin tespit edilmesine bir örnek.

Perakende Mağazaları için Envanter Yönetimi

Perakende mağazalarında raflardaki nesnelerin tanımlanması, envanter takibinin, stokların korunmasının ve süreçlerin otomatikleştirilmesinin önemli bir parçasıdır. Ultralytics YOLO-World'ün manuel etiketleme veya kapsamlı ön eğitim olmadan çok çeşitli nesneleri tanıma yeteneği, envanter yönetimi için son derece kullanışlıdır. 

Örneğin, envanter yönetiminde YOLO-World, farklı enerji içeceği markaları gibi bir raftaki ürünleri hızlı bir şekilde tespit edebilir ve kategorize edebilir. Perakende mağazaları doğru envanter tutabilir, stok seviyelerini verimli bir şekilde yönetebilir ve tedarik zinciri operasyonlarını sorunsuz hale getirebilir. 

Tüm uygulamalar benzersizdir ve YOLO-World'ün ne kadar kapsamlı bir şekilde kullanılabileceğini göstermektedir. Şimdi, YOLO-World ile uygulamalı olarak çalışalım ve bir kodlama örneğine göz atalım.

Bir Kod Gezintisi

Daha önce de belirttiğimiz gibi, YOLO-World, bakım için bir arabanın farklı parçalarını tespit etmek için kullanılabilir. İhtiyaç duyulan onarımları tespit eden bir bilgisayarla görme uygulaması, arabanın fotoğrafını çekmeyi, araba parçalarını tanımlamayı, arabanın her bir parçasını hasar açısından incelemeyi ve onarımlar önermeyi içerecektir. Bu sistemin her parçası farklı yapay zeka teknikleri ve yaklaşımları kullanacaktır. Bu kod kılavuzunun amacı doğrultusunda, araba parçalarının tespit edildiği kısma odaklanalım.

YOLO-World ile bir görüntüdeki farklı araba parçalarını 5 dakikadan kısa bir sürede tanımlayabilirsiniz. Bu kodu YOLO-World kullanarak farklı uygulamaları denemek için de genişletebilirsiniz! Başlamak için, aşağıda gösterildiği gibi Ultralytics paketini pip ile yüklememiz gerekecek.

# Install ultralytics package
pip install ultralytics

Kurulum süreciyle ilgili daha fazla talimat ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz atın. YOLOv8 için gerekli paketleri kurarken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuzumuza göz atın.

Gerekli paketi kurduktan sonra, çıkarımlarımızı çalıştırmak için internetten bir görüntü indirebiliriz. Biz aşağıdaki görüntüyü kullanacağız.

Giriş resmimiz.

Ardından, gerekli paketi içe aktaracağız, modelimizi başlatacağız ve girdi görüntümüzde aradığımız sınıfları ayarlayacağız. Burada şu sınıflarla ilgileniyoruz: araba, tekerlek, araba kapısı, araba aynası ve plaka.

# Import YOLOWorld class from ultralytics module
from ultralytics import YOLOWorld

# Initialize the model with pre-trained weights
model = YOLOWorld('yolov8s-world')

# Set the classes you'd like to find in your image
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

Daha sonra, görüntü üzerinde bir çıkarım yapmak için maksimum algılama sayısı için parametrelerle birlikte görüntünün yolunu ve birleşme üzerinde kesişme (IoU) ve güven (conf) eşiklerini sağlayarak tahmin yöntemini kullanacağız. Son olarak, tespit edilen nesneler 'result.jpg' adlı bir dosyaya kaydedilir.

# Run object detection for your custom classes on your image
results = model.predict('path_to_your_image.jpg', max_det=100, iou=0.01, conf=0.01)

# Save the results
results[0].save(filename='result.jpg')

Aşağıdaki çıktı görüntüsü dosyalarınıza kaydedilecektir.

Çıktı resmimiz.

Kodlama yapmadan YOLO-World'ün neler yapabileceğini görmek isterseniz, YOLO-World Demo sayfasına gidebilir, bir giriş resmi yükleyebilir ve özel sınıfları girebilirsiniz. 

Modelin özel sınıflarla birlikte nasıl kaydedileceğini öğrenmek için YOLO-World adresindeki dokümanlar sayfamızı okuyun, böylece daha sonra özel sınıfları tekrar tekrar girmeden doğrudan kullanılabilir.

Araba Kapılarının Tespit Edilemediğini Fark Ettiniz mi?

Çıktı görüntüsüne tekrar bakarsanız, "araba kapısı" özel sınıfının algılanmadığını fark edeceksiniz. Büyük başarılarına rağmen, YOLO-World belirli sınırlamalara sahiptir. Bu sınırlamalarla mücadele etmek ve YOLO-World modelini etkili bir şekilde kullanmak için doğru türde metinsel istemler kullanmak önemlidir. 

İşte bu konuda bazı bilgiler:

  • YOLO-Dünya, doğru tahminler için yüksek güven seviyelerine ihtiyaç duymayabilir, bu nedenle güven eşiklerinin düşürülmesi tespit oranlarını artırabilir.
  • İlgilenmediğiniz sınıfları ekleyin. Bu, ikincil nesneler için yanlış pozitifleri azaltarak birincil nesne algılamayı iyileştirmeye yardımcı olacaktır.
  • Daha küçük ayrıntılara odaklanmadan önce daha büyük nesneleri tespit etmek, tespit doğruluğunu artırabilir.
  • Renk ipuçlarına dayalı olarak nesneleri algılamak için sınıflarınızda renklerden bahsedin.
  • Bilgi istemlerinde nesne boyutlarının tanımlanması, YOLO-World'ün belirli nesneleri daha doğru bir şekilde tanımlamasına da yardımcı olabilir.
  • Tahminleri boyuta göre filtreleme veya sınıf başına güven seviyelerini ayarlama gibi işlem sonrası yöntemler, nesne algılama sonuçlarını daha da iyileştirebilir.

Sınırlar Sonsuzdur

Genel olarak, YOLO-World modelleri, gelişmiş nesne algılama yetenekleriyle güçlü bir araç haline getirilebilir Büyük verimlilik, doğruluk sağlar ve pratikte tartıştığımız araba parçalarını tanımlama örneğinde olduğu gibi çeşitli uygulamalarda farklı görevlerin otomatikleştirilmesine yardımcı olur.

Bilgisayarla görme ve yapay zeka alanındaki katkılarımız hakkında daha fazla bilgi edinmek için GitHub depomuzu keşfetmekten çekinmeyin. Yapay zekanın sağlık teknolojisi gibi sektörleri nasıl yeniden şekillendirdiğini merak ediyorsanız, çözüm sayfalarımıza göz atın. YOLO -World gibi yeniliklerle olasılıklar sonsuz gibi görünüyor!

Facebook logosuTwitter logosuLinkedIn logosuKopya-bağlantı sembolü

Bu kategoride daha fazlasını okuyun

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın