Ultralytics YOLO27:

Bilgisayarlı Görü Projesindeki Temel Adımları Anlama#

Bir bilgisayarlı görü projesi geliştirmek; hedeflerini tanımlamak, verileri toplamak ve etiketlemek, bir modeli eğitip değerlendirmek ve modeli üretim ortamında dağıtıp sürdürmek gibi net bir aşamalar dizisinden geçmek anlamına gelir. Bu kılavuz, her adımı sırasıyla ele alır ve neden önemli olduğunu açıklar; böylece kendi projenizi güvenle planlayıp yürütebilirsin.

Bilgisayarlı görü, bilgisayarların dünyayı insanlar gibi görmesine ve anlamasına yardımcı olan yapay zekânın (AI) bir alt dalıdır. Bilgi çıkarmak, örüntüleri tanımak ve bu verilere dayanarak karar vermek için görüntüleri veya videoları işler ve analiz eder.



Watch: How to Do Computer Vision Projects | A Step-by-Step Guide

Nesne algılama, görüntü sınıflandırma ve örnek bölütleme gibi bilgisayarlı görü teknikleri, değerli içgörüler elde etmek için otonom sürüşten tıbbi görüntülemeye kadar çeşitli sektörlerde uygulanabilir.

Bir Bilgisayarlı Görü Projesine Genel Bakış#

Bir bilgisayarlı görü projesindeki her adımın ayrıntılarını ele almadan önce genel sürece bakalım. Bugün bir bilgisayarlı görü projesi başlatsaydın şu adımları izlerdin:

Computer Vision Project Steps Overview

Artık ne bekleyeceğimizi bildiğimize göre adımlara geçelim ve projenizi ilerletmeye başlayalım.

Adım: Projenin Hedeflerini Tanımlama#

Her bilgisayarlı görü projesindeki ilk adım, çözmeye çalıştığın problemi net biçimde tanımlamaktır. Nihai hedefi bilmek, bir çözüm oluşturmaya başlamana yardımcı olur. Bu, bilgisayarlı görü söz konusu olduğunda özellikle önemlidir; çünkü projenin amacı, odaklanman gereken bilgisayarlı görü görevini doğrudan etkiler.

Aşağıda proje hedeflerine ve bu hedeflere ulaşmak için kullanılabilecek bilgisayarlı görü görevlerine bazı örnekler verilmiştir:

  • Hedef: Otoyollardaki farklı araç türlerinin akışını izleyip yönetebilen, trafik yönetimini ve güvenliğini iyileştiren bir sistem geliştirmek.

    • Bilgisayarlı Görü Görevi: Nesne algılama, birden fazla aracı verimli biçimde konumlandırıp tanımladığı için trafik izleme açısından idealdir. Bu görev için gereksiz ayrıntılar sağlayan görüntü bölütlemeye kıyasla daha az hesaplama gerektirir ve daha hızlı, gerçek zamanlı analiz sağlar.
  • Hedef: Radyologlara tıbbi görüntüleme taramalarındaki tümörlerin piksel düzeyinde hassas sınırlarını sunarak yardımcı olan bir araç geliştirmek.

    • Bilgisayarlı Görü Görevi: Görüntü bölütleme, tümörlerin boyutunu, şeklini ve tedavi planlamasını değerlendirmek için kritik olan doğru ve ayrıntılı tümör sınırlarını sağladığından tıbbi görüntüleme için uygundur.
  • Hedef: Kurumsal verimliliği ve belge erişimini iyileştirmek için çeşitli belgeleri (ör. faturalar, makbuzlar, hukuki evraklar) kategorilere ayıran dijital bir sistem oluşturmak.

    • Bilgisayarlı Görü Görevi: Görüntü sınıflandırma burada idealdir; belgenin görüntüdeki konumunu dikkate almadan her seferinde tek bir belgeyi işler. Bu yaklaşım, sıralama sürecini basitleştirir ve hızlandırır.

Doğru Modeli ve Eğitim Yaklaşımını Seçme#

Proje hedefini ve uygun bilgisayarlı görü görevlerini anladıktan sonra, proje hedefini tanımlamanın önemli bir parçası doğru modeli ve eğitim yaklaşımını seçmektir.

Hedefe bağlı olarak modeli önce veya 2. Adımda toplayabileceğin verileri gördükten sonra seçebilirsin. Örneğin projenin belirli veri türlerinin kullanılabilirliğine büyük ölçüde bağlı olduğunu varsayalım. Bu durumda modeli seçmeden önce verileri toplamak ve analiz etmek daha pratik olabilir. Öte yandan model gereksinimlerini net biçimde biliyorsan önce modeli seçebilir, ardından bu özelliklere uyan verileri toplayabilirsin.

Sıfırdan eğitim ile aktararak öğrenme arasında seçim yapmak, verilerini nasıl hazırlayacağını etkiler. Sıfırdan eğitim, modelin anlayışını en baştan oluşturmak için çeşitli bir veri kümesi gerektirir. Aktararak öğrenme ise önceden eğitilmiş bir modeli kullanmana ve daha küçük, daha özel bir veri kümesiyle uyarlamana olanak tanır. Ayrıca eğitilecek belirli bir modeli seçmek; görüntüleri yeniden boyutlandırma veya açıklamalar ekleme gibi veri hazırlama işlemlerini modelin özel gereksinimlerine göre nasıl yapman gerektiğini belirler.

Training From Scratch Vs. Using Transfer Learning

Model seçerken dağıtımı göz önünde bulundur

Uyumluluk ve performans sağlamak için modelin dağıtım hedefini göz önünde bulundur. Örneğin hafif modeller, kaynakları kısıtlı cihazlardaki verimlilikleri sayesinde uç bilişim için idealdir.

Daha fazla bilgi için projenin hedeflerini tanımlama ve doğru modeli seçme kılavuzumuzu oku.

Bir bilgisayarlı görü projesinin uygulamalı çalışmalarına başlamadan önce bu ayrıntıları net biçimde anlamak önemlidir. 2. Adıma geçmeden önce aşağıdakileri göz önünde bulundurduğunu tekrar kontrol et:

  • Çözmeye çalıştığın problemi net biçimde tanımla.
  • Projenin nihai hedefini belirle.
  • Gereken belirli bilgisayarlı görü görevini belirle (ör. nesne algılama, görüntü sınıflandırma, görüntü bölütleme).
  • Bir modeli sıfırdan mı eğiteceğine yoksa aktararak öğrenmeyi mi kullanacağına karar ver.
  • Görevin ve dağıtım gereksinimlerin için uygun modeli seç.

Adım: Veri Toplama ve Veri Açıklama#

Bilgisayarlı görü modellerinin kalitesi, veri kümenin kalitesine bağlıdır. Görüntüleri internetten toplayabilir, kendi fotoğraflarını çekebilir veya mevcut veri kümelerini kullanabilirsin. Yüksek kaliteli veri kümelerini indirmek için bazı iyi kaynaklar şunlardır: Google Dataset Search Engine, UC Irvine Machine Learning Repository ve Kaggle Datasets.

Ultralytics gibi bazı kütüphaneler çeşitli veri kümeleri için yerleşik destek sunarak yüksek kaliteli verilerle başlamanı kolaylaştırır. Bu kütüphaneler genellikle popüler veri kümelerini sorunsuz kullanmaya yönelik yardımcı araçlar içerir; bu da projenin ilk aşamalarında zamandan ve emekten tasarruf etmeni sağlayabilir.

Ancak görüntü toplamayı veya kendi fotoğraflarını çekmeyi seçersen verilerine açıklama eklemen gerekir. Veri açıklama, modeline bilgi kazandırmak için verilerini etiketleme sürecidir. Çalışacağın veri açıklama türü, kullandığın bilgisayarlı görü tekniğine bağlıdır. Bazı örnekler şunlardır:

  • Görüntü Sınıflandırma: Görüntünün tamamını tek bir sınıf olarak etiketlersin.
  • Nesne Algılama: Görüntüdeki her nesnenin çevresine sınırlayıcı kutular çizer ve her kutuyu etiketlersin.
  • Görüntü Bölütleme: Görüntüdeki her pikseli ait olduğu nesneye göre etiketleyerek ayrıntılı nesne sınırları oluşturursun.

Bounding box, polygon, and keypoint annotations

Veri toplama ve açıklama, zaman alıcı bir manuel işlem olabilir. Özel bir açıklama aracı bu süreci hızlandırır: Ultralytics Platform, algılama, bölütleme ve OBB verileri için SAM destekli akıllı açıklama özellikli yerleşik bir açıklama düzenleyicisi sunar ve etiketleri doğrudan YOLO biçiminde kaydeder.

Adım: Veri Kümeni Artırma ve Bölme#

Görüntü verilerini topladıktan ve açıklama ekledikten sonra, veri artırma uygulamadan önce veri kümeni eğitim, doğrulama ve test kümelerine ayırman önemlidir. Veri kümesini artırmadan önce bölmek, modelini orijinal ve değiştirilmemiş veriler üzerinde test edip doğrulamak için kritik öneme sahiptir. Bu, modelin yeni ve daha önce görülmemiş verilere ne kadar iyi genelleştiğini doğru biçimde değerlendirmene yardımcı olur.

Verilerini şu şekilde bölebilirsin:

  • Eğitim Kümesi: Verilerinin en büyük bölümüdür; genellikle toplamın %70-80'ini oluşturur ve modelini eğitmek için kullanılır.
  • Doğrulama Kümesi: Genellikle verilerinin yaklaşık %10-15'idir; bu küme hiperparametreleri ayarlamak ve eğitim sırasında modeli doğrulamak için kullanılır ve aşırı öğrenmeyi önlemeye yardımcı olur.
  • Test Kümesi: Verilerinin kalan %10-15'i test kümesi olarak ayrılır. Eğitim tamamlandıktan sonra modelin daha önce görülmemiş verilerdeki performansını değerlendirmek için kullanılır.

Verilerini böldükten sonra görüntüleri döndürme, ölçeklendirme ve çevirme gibi dönüşümler uygulayarak veri kümenin boyutunu yapay olarak artırabilirsin. Veri artırma, modelini değişkenliklere karşı daha dayanıklı hale getirir ve görülmemiş görüntülerdeki performansını iyileştirir.

Data augmentation examples

OpenCV, Albumentations ve TensorFlow gibi kütüphaneler kullanabileceğin esnek artırma işlevleri sunar. Ayrıca Ultralytics gibi bazı kütüphaneler, süreci basitleştirmek için doğrudan model eğitim işlevinin içinde yerleşik artırma ayarlarına sahiptir.

Verilerini daha iyi anlamak için görüntüleri görselleştirmek ve dağılımlarını ve özelliklerini analiz etmek üzere Matplotlib veya Seaborn gibi araçları kullanabilirsin. Verilerini görselleştirmek; örüntüleri, anormallikleri ve artırma tekniklerinin etkililiğini belirlemeye yardımcı olur. Ultralytics Platform içindeki Charts sekmesi, yüklenen her veri kümesi için bölme dağılımını, sınıf sayılarını, görüntü boyutu histogramlarını ve açıklama konumu ısı haritalarını otomatik olarak oluşturarak bu içgörülerin çoğunu kod yazmadan sunabilir.

Verilerini doğru şekilde anlayıp bölerek ve artırarak gerçek dünya uygulamalarında iyi performans gösteren, iyi eğitilmiş, doğrulanmış ve test edilmiş bir model geliştirebilirsin.

Adım: Model Eğitimi#

Veri kümen eğitim için hazır olduğunda gerekli ortamı kurmaya, veri kümelerini yönetmeye ve modelini eğitmeye odaklanabilirsin.

Öncelikle ortamının doğru şekilde yapılandırıldığından emin olman gerekir. Bu genellikle aşağıdakileri içerir:

  • TensorFlow, PyTorch veya Ultralytics gibi temel kütüphaneleri ve çerçeveleri yüklemek.
  • GPU kullanıyorsan CUDA ve cuDNN gibi kütüphaneleri yüklemek GPU hızlandırmasını etkinleştirmeye ve eğitim sürecini hızlandırmaya yardımcı olur.

Ardından eğitim ve doğrulama veri kümelerini ortamına yükleyebilirsin. Yeniden boyutlandırma, biçim dönüştürme veya artırma yoluyla verileri normalleştir ve ön işle. Modelini seçtikten sonra katmanları yapılandır ve hiperparametreleri belirt. Kayıp işlevini, optimize ediciyi ve performans ölçütlerini ayarlayarak modeli derle.

Ultralytics gibi kütüphaneler eğitim sürecini basitleştirir. Verileri minimum kodla modele aktararak eğitimi başlatabilirsin. Bu kütüphaneler ağırlık ayarlamalarını, geri yayılımı ve doğrulamayı otomatik olarak yönetir. Ayrıca ilerlemeyi izlemek ve hiperparametreleri kolayca ayarlamak için araçlar sunar. Eğitimden sonra modeli ve ağırlıklarını birkaç komutla kaydedebilirsin.

Verimli eğitim için doğru veri kümesi yönetiminin hayati önem taşıdığını aklında tutman önemlidir. Değişiklikleri izlemek ve yeniden üretilebilirliği sağlamak için veri kümelerinde sürüm kontrolü kullan. DVC (DVC) gibi araçlar büyük veri kümelerini yönetmeye yardımcı olabilir.

Adım: Model Değerlendirme ve İnce Ayar#

Çeşitli ölçütleri kullanarak modelinin performansını değerlendirmek ve doğruluğu iyileştirmek için modeli geliştirmek önemlidir. Değerlendirme, modelin başarılı olduğu ve iyileştirilmesi gerekebilecek alanları belirlemeye yardımcı olur. İnce ayar, modelin mümkün olan en iyi performans için optimize edilmesini sağlar.

  • Performans Ölçütleri: Modelinin performansını değerlendirmek için doğruluk, kesinlik, duyarlılık ve F1 skoru gibi ölçütleri kullan. Bu ölçütler, modelinin tahminleri ne kadar iyi yaptığını anlamanı sağlar.
  • Hiperparametre Ayarlama: Model performansını optimize etmek için hiperparametreleri ayarla. Izgara araması veya rastgele arama gibi teknikler en iyi hiperparametre değerlerini bulmaya yardımcı olabilir.
  • İnce Ayar: Performansı artırmak için model mimarisinde veya eğitim sürecinde küçük ayarlamalar yap. Bu işlem öğrenme oranlarını, toplu iş boyutlarını veya diğer model parametrelerini değiştirmeyi içerebilir.

Model değerlendirme ve ince ayar tekniklerini daha iyi anlamak için model değerlendirme içgörüleri kılavuzumuza göz at.

Adım: Model Testi#

Model testi, modelinin tamamen görülmemiş verilerde iyi performans gösterdiğini doğrulayarak dağıtıma hazır olduğunu teyit eder. Model testi ile model değerlendirmesi arasındaki fark, testin modeli yinelemeli olarak iyileştirmek yerine nihai modelin performansını doğrulamaya odaklanmasıdır.

Ortaya çıkabilecek yaygın sorunları kapsamlı biçimde test etmek ve hatalarını ayıklamak önemlidir. Modelini eğitim veya doğrulama sırasında kullanılmamış ayrı bir test veri kümesi üzerinde test et. Model performansının tutarlı ve güvenilir olmasını sağlamak için bu veri kümesi gerçek dünya senaryolarını temsil etmelidir.

Ayrıca aşırı öğrenme, yetersiz öğrenme ve veri sızıntısı gibi yaygın sorunları ele al. Bu sorunları belirlemek ve düzeltmek için çapraz doğrulama ve anomali algılama gibi teknikleri kullan. Kapsamlı test stratejileri için model testi kılavuzumuza başvur.

Adım: Model Dağıtımı#

Modelin kapsamlı biçimde test edildikten sonra onu dağıtma zamanı gelir. Model dağıtımı, modelini üretim ortamında kullanıma sunmayı içerir. Bir bilgisayarlı görü modelini dağıtma adımları şunlardır:

  • Ortamı Kurma: İster bulut tabanlı (AWS, Google Cloud, Azure) ister uç tabanlı (yerel cihazlar, IoT) olsun, seçtiğin dağıtım seçeneği için gerekli altyapıyı yapılandır.
  • Modeli Dışa Aktarma: Dağıtım platformunla uyumluluğu sağlamak için modelini uygun biçime (ör. YOLO26 için ONNX, TensorRT, CoreML) aktar.
  • Modeli Dağıtma: API'ler veya uç noktalar kurarak ve modeli uygulamanla entegre ederek dağıt.
  • Ölçeklenebilirliği Sağlama: Kaynakları yönetmek ve artan veri ile kullanıcı isteklerini karşılamak için yük dengeleyiciler, otomatik ölçeklendirme grupları ve izleme araçları uygula.

Dağıtım stratejileri ve en iyi uygulamalar hakkında daha ayrıntılı yönlendirme için model dağıtım uygulamaları kılavuzumuza göz at. Ultralytics Platform, altyapı kurulumunu otomatik olarak yöneterek 42 küresel bölgede otomatik ölçeklendirmeye sahip yönetilen dağıtım uç noktaları de sunar.

Adım: İzleme, Bakım ve Belgeleme#

Modelin dağıtıldıktan sonra performansını sürekli izlemek, sorunları ele almak için bakımını yapmak ve gelecekte başvurmak ve iyileştirmeler yapmak üzere tüm süreci belgelemek önemlidir.

İzleme araçları, temel performans göstergelerini (KPI'lar) takip etmene ve anormallikleri veya doğruluktaki düşüşleri algılamana yardımcı olabilir. Modeli izleyerek, girdi verilerindeki değişiklikler nedeniyle model performansının zaman içinde düşmesi anlamına gelen model kaymasının farkında olabilirsin. Doğruluğu ve güncelliği korumak için modeli güncellenmiş verilerle belirli aralıklarla yeniden eğit.

Model monitoring and maintenance lifecycle

İzleme ve bakımın yanı sıra belgeleme de önemlidir. Model mimarisi, eğitim prosedürleri, hiperparametreler, veri ön işleme adımları ve dağıtım ile bakım sırasında yapılan tüm değişiklikler dahil olmak üzere sürecin tamamını kapsamlı biçimde belgele. İyi bir belgeleme, yeniden üretilebilirliği sağlar ve gelecekteki güncellemeleri veya sorun gidermeyi kolaylaştırır. Modelini etkili biçimde izleyerek, bakımını yaparak ve belgeleyerek yaşam döngüsü boyunca doğru, güvenilir ve kolay yönetilebilir kalmasını sağlayabilirsin.

Toplulukla Etkileşim#

Bilgisayarlı görü meraklılarından oluşan bir toplulukla bağlantı kurmak, bilgisayarlı görü projen üzerinde çalışırken karşılaştığın sorunların üstesinden güvenle gelmene yardımcı olabilir. Etkili biçimde öğrenmenin, sorun gidermenin ve bağlantı kurmanın bazı yolları şunlardır.

Topluluk Kaynakları#

  • GitHub Sorunları: YOLO26 GitHub deposuna göz at ve soru sormak, hataları bildirmek ve yeni özellikler önermek için Issues sekmesini kullan. Aktif topluluk ve bakımcılar belirli sorunlarda yardımcı olmak için oradadır.
  • Ultralytics Discord Sunucusu: Diğer kullanıcılar ve geliştiricilerle etkileşim kurmak, destek almak ve içgörülerini paylaşmak için Ultralytics Discord sunucusuna katıl.

Resmî Belgeler#

  • Ultralytics YOLO26 Belgeleri: Farklı bilgisayarlı görü görevleri ve projeleri hakkında yararlı ipuçları içeren ayrıntılı kılavuzlar için resmî YOLO26 belgelerini incele.

Bu kaynakları kullanmak, zorlukların üstesinden gelmene ve bilgisayarlı görü topluluğundaki en yeni trendleri ve en iyi uygulamaları takip etmene yardımcı olur.

Sonraki Adımlar#

Artık hedefleri tanımlamaktan dağıtılmış bir modeli izlemeye kadar bilgisayarlı görü projesinin her aşaması için bir yol haritan var. İlk YOLO modelini eğiterek bunu uygulamaya geçir veya yukarıda bağlantısı verilen kılavuzlarla herhangi bir aşamayı daha derinlemesine incele. Tüm işlem hattını kod yazmadan çalıştırmak için Ultralytics Platform ürününü keşfet.

SSS#

  • Doğru bilgisayarlı görü görevini seçmek, projenin nihai hedefine bağlıdır. Örneğin trafiği izlemek istiyorsan, birden fazla araç türünü gerçek zamanlı olarak konumlandırıp tanımlayabildiği için nesne algılama uygundur. Tıbbi görüntüleme için görüntü bölütleme, tümörlerin ayrıntılı sınırlarını sunarak tanı ve tedavi planlamasına yardımcı olmak açısından idealdir. Nesne algılama, örnek bölütleme, anlamsal bölütleme ve görüntü sınıflandırma gibi belirli görevler hakkında daha fazla bilgi edin.

  • Veri açıklama, modeline örüntüleri tanımayı öğretmek için hayati önem taşır. Açıklama türü göreve göre değişir:

    • Görüntü Sınıflandırma: Görüntünün tamamı tek bir sınıf olarak etiketlenir.
    • Nesne Algılama: Nesnelerin çevresine sınırlayıcı kutular çizilir.
    • Görüntü Bölütleme: Her piksel ait olduğu nesneye göre etiketlenir.

    Ultralytics Platform içindeki yerleşik açıklama düzenleyicisi bu süreçte yardımcı olabilir. Daha fazla ayrıntı için veri toplama ve açıklama kılavuzumuza başvur.

  • Veri artırmadan önce veri kümeni bölmek, model performansını orijinal ve değiştirilmemiş veriler üzerinde doğrulamaya yardımcı olur. Şu adımları izle:

    • Eğitim Kümesi: Verilerinin %70-80'i.
    • Doğrulama Kümesi: hiperparametre ayarı için %10-15.
    • Test Kümesi: Nihai değerlendirme için kalan %10-15.

    Bölme işleminden sonra, veri kümesinin çeşitliliğini artırmak için döndürme, ölçekleme ve çevirme gibi veri artırma tekniklerini uygula. Albumentations ve OpenCV gibi kütüphaneler yardımcı olabilir. Ultralytics ayrıca kolaylık sağlamak için yerleşik veri artırma ayarları sunar.

  • Eğitilmiş modelini export yöntemiyle dışa aktar ve dağıtım hedefinle eşleşen bir format seç. Ultralytics, ONNX, TensorRT ve CoreML dahil olmak üzere birden fazla formatı destekler. YOLO26 modelini dışa aktarmak için şu adımları izle:

    • İstenen format parametresiyle export yöntemini kullan.
    • Dışa aktarılan modelin dağıtım ortamının (ör. uç cihazlar, bulut) özelliklerine uygun olduğundan emin ol.

    Daha fazla bilgi için model dışa aktarma kılavuzuna göz at.

  • Sürekli izleme ve bakım, bir modelin uzun vadeli başarısı için temel unsurlardır. Temel Performans Göstergelerini (KPIs) izlemek ve anormallikleri tespit etmek için araçlar uygula. Model kaymasını önlemek için modeli güncellenmiş verilerle düzenli olarak yeniden eğit. Yeniden üretilebilirliği ve gelecekteki güncellemelerin kolaylığını sağlamak için model mimarisi, hiperparametreler ve değişiklikler dahil olmak üzere tüm süreci belgele. İzleme ve bakım kılavuzumuzda daha fazla bilgi edin.

Yorumlar