Endüstride Bilgisayarlı Görü

Endüstride Bilgisayarlı Görü

Bilgisayarlı Görü Nedir?

Bilgisayarlı görü (Computer Vision - CV), bilgisayarlara dijital görüntülerden anlamlı bilgiler çıkarabilme yeteneği kazandıran bir yapay zeka alanıdır. Makine öğrenimi ve derin sinir ağları gibi ileri teknolojiler kullanılarak, makinelerin insan gözü ve beynini taklit etmesi sağlanır. Bilgisayarlı görünün temel amacı, dijital görüntülerdeki verileri analiz ederek nesneleri tanımlamak, hareketleri analiz etmek, karmaşık sahneleri yorumlamak, görüntüleri iyileştirmek ve 2D görüntülerden 3D modeller oluşturmaktır. Bu teknoloji, endüstriyel alanda da geniş bir kullanım yelpazesine sahiptir. Kalite kontrolü, denetim, otomasyon, güvenlik sistemleri, robotik/makine görüş, otonom araçlar, verimlilik artırma, akıllı fabrikalar ve entegre sistemler gibi pek çok uygulama alanında yer bulur. Bilgisayarlı görü, endüstride kaliteyi artırmak, üretim süreçlerini hızlandırmak, güvenliği sağlamak ve operasyonları optimize etmek için kritik bir rol oynar. Bu teknolojinin etkin kullanımı, şirketlerin rekabet gücünü artırmasına ve maliyetleri düşürmesine önemli katkılar sağlar.

Bilgisayarlı Görü ve Görüntü İşleme Arasındaki İlişki

Bilgisayarlı görü (computer vision) ve görüntü işleme (image processing) alanları, görüntüler üzerinde çalışmayı içeren benzer teknikleri paylaşsa da, farklı amaçlar ve yaklaşımlar nedeniyle birbirlerinden ayrılırlar. Her iki alan da dijital görüntü verileri üzerinde çalışır ve matematiksel, istatistiksel yöntemler kullanarak görüntülerin analizi ve işlenmesi üzerine odaklanır. Örneğin, filtreleme, dönüştürmeler ve özellik çıkarımı gibi teknikler hem bilgisayarlı görüde hem de görüntü işlemede yaygın olarak kullanılır. Ancak, görüntü işleme genellikle ham görüntülerin üzerinde düzeltme, iyileştirme, sıkıştırma veya dönüştürme gibi işlemler gerçekleştirirken, bilgisayarlı görü görüntülerden anlamlı bilgiler çıkarma, nesneleri tanıma ve sahneleri anlama gibi daha yüksek seviyeli görevleri içerir.  Görüntü işlemede sonuç genellikle işlenmiş veya iyileştirilmiş bir görüntü olurken, bilgisayarlı görüde sonuç, görüntüden çıkarılan bilgi ve bu bilginin belirli kararlar almak veya aksiyonlar gerçekleştirmek için kullanılmasıdır. Bilgisayarlı görüde genellikle yapay zeka eğitimi için veri setine ihtiyaç duyarken görüntü işleme sistemlerinde önceden eğitilmiş bir modele ihtiyaç bulunmamaktadır.

Bilgisayarlı Görü Çalışma Prensibi

Bilgisayarlı görü uygulamaları, insan görme sistemini taklit etmek için algılama cihazları, yapay zeka, makine öğrenimi ve derin öğrenmeden yararlanır. Bu süreç, dijital kameralar gibi cihazlarla görüntü elde edilmesiyle başlar. Elde edilen görüntüler, piksel matrisleri olarak temsil edilir ve ham görüntüler genellikle gürültü giderme, kontrast artırma ve boyut değiştirme gibi ön görüntü işleme adımlarına tabi tutulur. Bu sayede görüntüler, daha sonraki analizler için uygun hale getirilir. Ardından görüntülerden özellik çıkarımı ve algılama işlemleri gerçekleştirilir. Bu aşamada görüntüdeki nesneler ve nesnelerin özellikleri tespit edilerek makine öğrenimi ve derin öğrenme modellerine iletilir. Son olarak, bilgisayarlar bu bilgileri kullanarak nesne tanıma veya sınıflandırma gibi birçok görevi yerine getirir ve uygulamaya bağlı olarak kararlar alır.  Örneğin, bir üretim hattında çalışan makine görüş sistemi, ürünlerin kalite kontrolünü gerçekleştirir. Bu sistem, ürünlerin yüzeyindeki kusurları tespit eder, boyutlarını ölçer ve renk sapmalarını kontrol eder. Tespit edilen kusurlar sonucunda, sistem otomatik olarak hatalı ürünleri ayırır ve yalnızca kalite standartlarına uygun olan ürünlerin üretim hattında ilerlemesini sağlar.

Üretim ve Endüstride Bilgisayarlı Görü Kullanımı

Bilgisayarlı görü, üreticilerin teknoloji desteğiyle ürün işleme süreçlerini kolaylaştırır. Üreticiler, ürün paketleme, denetim, kalite kontrol, tasarım, ürün sıralama ve süreç otomasyonu gibi alanlarda kullanmak üzere, önceden eğitilmiş veriler aracılığıyla görüntü ve videoları tanımlayabilirler. Dijital dönüşüm ekosisteminin bir bileşeni olan bilgisayarlı görü, şirketlere rekabet avantajı sunma potansiyeline sahiptir. Sektördeki değişimin öncüsü olmak isteyen üreticiler, bu teknolojiyi benimsemeye özellikle istek duymaktadır.

  • ● Kalite Kontrolü:
    • ○ Ürün Denetimi ve Hata Tespiti:
      • ◾ Bilgisayarlı görü, üretim hatlarından çıkan ürünlerin kusurlarını tespit etmek için kullanılır. Örneğin, bir üretim bandında üretilen parçalarının yüzeyinde çizik, çatlak veya hatalı boyama olup olmadığını tespit edebilir.
      • ◾ Yüksek çözünürlüklü kameralar ve görüntü işleme algoritmaları kullanılarak, ürünlerin yüzeyinde insan gözünün fark edemeyeceği derecede küçük kusurlar olağanüstü bir başarı ile algılanabilir.
    • ○ Boyut ve Şekil Kontrolü:
      • ◾ Bilgisayarlı görü sistemleri, ürünlerin belirli boyut ve şekil standartlarına uygun olup olmadığını kontrol etmek için kullanılır. Örneğin, bir boru üretim hattında, bilgisayarlı görü, üretilen her bir borunun çaplarını ve kalınlığını ölçebilir.
      • ◾ 3D görüntüleme teknolojileriyle ürünlerin hacimsel ölçümleri de yapılabilir.
    • ○ Renk ve Desen Analizi:
      • ◾ Bilgisayarlı görü, ürünlerin renk, desen ve diğer görsel özelliklerini kontrol etmek için kullanılır. Örneğin, tekstil sektöründe bir kumaşın üzerindeki desenin doğruluğu ve renk uyumu bilgisayarlı görü ile incelenebilir.
      • ◾ Renk sapmalarını veya desen hatalarını hızlıca tespit ederek kalite standartlarının korunmasına yardımcı olur.
    • ○ Ambalaj Kontrolü:
      • ◾ Ürünlerin ambalajlarının doğruluğu ve bütünlüğü de bilgisayarlı görü ile denetlenir. Ambalaj üzerindeki barkodların, etiketlerin doğru yerleştirildiği ve okunabilir olduğu kontrol edilir.
      • ◾ Ambalajda yırtık, yanlış etiketleme veya eksik bilgi gibi hatalar tespit edilebilir.
    • ○ Montaj ve Bileşen Kontrolü:
      • ◾ Özellikle otomotiv ve elektronik sektörlerinde, montaj süreçlerinde kullanılan bileşenlerin doğru şekilde yerleştirildiğinden emin olunması önemlidir. Bilgisayarlı görü, her bir bileşenin doğru pozisyonda olup olmadığını kontrol eder.
      • ◾ Eksik veya yanlış montaj yapılan parçaları tespit ederek, hatalı ürünlerin müşterilere ulaşmasını engeller.
    • ○ Robotik Entegrasyon:
      • ◾ Bilgisayarlı görü, robotların kalite kontrol süreçlerine entegre edilmesiyle birlikte, otomatik denetim ve düzeltme süreçlerini mümkün kılar. Örneğin, bir robot kol, bilgisayarlı görü ile hatalı ürünleri tespit edip üretim hattından ayırabilir.
    • ○ Termal Kamera ile Sıcaklık Tespiti:
      • ◾ Fırın kullanan sistemlerde sıcaklığa bağlı fırının kalite kontrolü sağlanabilmektedir. Bu uygulama ile fırındaki eskimeler sıcaklık tespiti ile bulunabilmektedir.
    • ○ Proses Endüstrisi İçin Hacim Ölçümü
      • ◾ Toz ve taneciklerle çalışan endüstrilerde, üretilen, depolanan veya hammadde olarak temin edilen miktarlar, bilgisayarlı görü teknolojisi kullanılarak hacimsel olarak ölçülebilir. Bu hacim ölçümleri, bir endüstrinin mevcut üretim kapasitesini ve potansiyel üretim miktarını öngörmesine olanak tanır.
  • ● Süreç Otomasyonu:
    • ○ Otomatik Üretim Hattı Kontrolü:
      • ◾ Bilgisayarlı görü, üretim hatlarındaki süreçleri izleyerek ve denetleyerek otomatikleştirilmiş bir kalite kontrol sağlar. Bu, insan gözetimi olmadan üretim süreçlerinin sürekli olarak izlenmesine ve optimize edilmesine olanak tanır.
      • ◾ Örneğin, otomobil üretiminde, bilgisayarlı görü sistemleri, montaj hatalarında otomatik düzeltme yapabilir ve hatalı parçaların üretim hattından çıkarılmasını sağlayabilir.
    • ○ Malzeme ve Parça Sınıflandırma:
      • ◾ Üretim sürecinde kullanılan malzemelerin veya üretilen parçaların otomatik olarak sınıflandırılması için bilgisayarlı görü kullanılır. Bu, üretim hattında farklı ürünlerin doğru yerlere yönlendirilmesini sağlar.
      • ◾ Örneğin, bir paketleme tesisinde, bilgisayarlı görü sistemleri ürünleri tanımlayarak, doğru paketleme makinelerine yönlendirebilir.
    • ○ Robotik Rehberlik ve İşlem Kontrolü:
      • ◾ Bilgisayarlı görü, robotlara görsel rehberlik sağlayarak, onların belirli görevleri yerine getirmesini mümkün kılar. Bu, özellikle hassas montaj, kaynak veya boyama gibi işlemlerde önemlidir.
      • ◾ Örneğin, bir robot kolu, bilgisayarlı görü sayesinde bir bileşeni doğru konumda tutabilir ve montaj işlemini otomatik olarak gerçekleştirebilir.
    • ○ Makine Parametre Optimizasyonu:
      • ◾ Endüstriyel makineler operatörden genellikle çeşitli parametreler istemektedirler. Bilgisayarlı görü ile kalite kontrolu yapıp kaliteyi en yüksek dereceye getirecek optimal parametreler dinamik bir sistemde kolaylıkla anlık olarak bulunabilmektedir.
    • ○ Hareketli Nesne Takibi ve İzleme:
      • ◾ Bilgisayarlı görü, bir üretim hattındaki hareketli nesneleri izleyerek, süreç otomasyonuna katkı sağlar. Bu teknoloji, üretim hattındaki ürünlerin hareketini izleyerek, belirli işlemler için doğru zamanda müdahale edilmesini sağlar.
      • ◾ Örneğin, taşıma bantlarında ürünlerin doğru pozisyonda olup olmadığını izleyebilir ve gerektiğinde otomatik düzeltmeler yapılabilir.
    • ○ Depo ve Lojistik Yönetimi:
      • ◾ Depo otomasyonu, bilgisayarlı görü ile entegre edildiğinde, ürünlerin depolanması, izlenmesi ve taşınması süreçleri optimize edilir. Bilgisayarlı görü, stok takibi yaparak, depo içindeki ürünlerin yerini belirler ve taşıma araçlarına rehberlik eder.
      • ◾ Örneğin, bir depo içindeki robotlar, bilgisayarlı görü ile ürünleri tanıyabilir ve onları doğru raflara yerleştirebilir veya siparişler için seçebilir.
    • ○ Kapsamlı Veri Toplama ve Analiz:
      • ◾ Bilgisayarlı görü, büyük miktarda görsel veri toplayarak süreçlerin daha ayrıntılı bir şekilde analiz edilmesini sağlar. Bu, süreç iyileştirmeleri için veri tabanlı kararlar alınmasını kolaylaştırır.
      • ◾ Örneğin, üretim sürecindeki her aşamanın görsel olarak kaydedilmesi ve analiz edilmesi, süreçlerdeki verimsizliklerin veya hataların belirlenmesine olanak tanır.
  • ● Güvenlik:
    • ○ Çalışan Güvenliği:
      • ◾ Bilgisayarlı görü, çalışanların kişisel koruyucu ekipmanları (KKE) doğru şekilde kullanıp kullanmadığını izlemek için kullanılabilir. Kask, gözlük, eldiven gibi KKE'lerin eksik veya yanlış kullanımı tespit edildiğinde anında uyarı verebilir.
      • ◾ Örneğin, bir fabrikada bilgisayarlı görü sistemi, çalışanların kask takıp takmadığını tespit edebilir ve eksik KKE kullanımı durumunda yöneticiye bildirim gönderebilir.
    • ○ Çalışan Sağlığı ve Sayımı:
      • ◾ Güvenlik kameraları ve bilgisayarlı görü kullanılarak bir fabrikadaki veya ofisteki kişiler sayılabilir ve spesifik durumları gözlemlenebilir. Bunun yanında sağlıkları ve işe olan devamlılıkları da izlenebilir.
    • ○ Tehlikeli Bölge ve Erişim Kontrolü:
      • ◾ Endüstriyel tesislerde, belirli alanlar tehlikeli olabilir ve sadece yetkili personelin erişimine açık olmalıdır. Bilgisayarlı görü, bu bölgelerde izinsiz girişleri tespit ederek güvenlik ihlallerini önleyebilir.
      • ◾ Örneğin, bir kimya fabrikasında, tehlikeli maddelerin bulunduğu bölgeye yetkisiz bir kişinin girdiği tespit edildiğinde alarm sistemi devreye girer.
    • ○ Makine ve Ekipman Güvenliği:
      • ◾ Bilgisayarlı görü sistemleri, endüstriyel makinelerin ve ekipmanların güvenli bir şekilde çalışıp çalışmadığını izleyebilir. Anormal titreşimler, aşırı ısınma veya yanlış kullanım gibi durumlar tespit edildiğinde, bu sistemler otomatik olarak makineleri durdurabilir veya bakım ekibini bilgilendirebilir.
      • ◾ Örneğin, bir üretim hattında, makinelerde olası bir arıza belirtisi tespit edildiğinde, bilgisayarlı görü sistemi süreci durdurur ve operatörleri uyarır.
    • ○ Yangın ve Duman Tespiti:
      • ◾ Bilgisayarlı görü, endüstriyel tesislerde yangın veya duman tespiti için kullanılır. Bu sistemler, yangın dedektörlerine ek olarak, dumanın erken evrelerinde veya yangın belirtilerini fark edebilir.
      • ◾ Örneğin, bir depoda, bilgisayarlı görü sistemi herhangi bir duman belirtisini tespit ettiğinde, yangın alarmını otomatik olarak devreye sokabilir ve itfaiye ekibini uyarabilir.
    • ○ İş Kazalarının Önlenmesi:
      • ◾ Bilgisayarlı görü, potansiyel iş kazalarını önceden tahmin etmek için kullanılır. Çalışma alanlarındaki tehlikeli hareketler, yanlış ekipman kullanımı veya riskli davranışlar tespit edildiğinde uyarı sistemleri devreye girer.
      • ◾ Örneğin, bir üretim hattında çalışan bir işçinin tehlikeli bir pozisyonda olduğu tespit edildiğinde, sistem hem işçiyi hem de yöneticileri uyarabilir.
    • ○ Araç, Forklift ve Makine Güvenliği
      • ◾ Endüstriyel tesislerdeki araçlar ve forkliftler, özellikle dar alanlarda veya yoğun trafiğin olduğu yerlerde ciddi güvenlik riskleri oluşturabilir. Bilgisayarlı görü, araçların ve forkliftlerin güvenli hareketini sağlamak için kullanılabilir.
      • ◾ Örneğin, bir depo içinde forkliftlerin hareketini izleyen bilgisayarlı görü sistemi, olası bir çarpışmayı önlemek için operatörü uyarabilir veya aracı otomatik olarak durdurabilir.
    • ○ Malzeme ve Ürün Güvenliği:
      • ◾ Depolanan malzemelerin güvenli bir şekilde taşınması ve depolanması endüstriyel güvenlik açısından kritiktir. Bilgisayarlı görü, malzemelerin doğru şekilde istiflenip istiflenmediğini veya tehlikeli bir pozisyonda olup olmadığını kontrol edebilir.
      • ◾ Örneğin, bir lojistik merkezinde, yüksek raflarda depolanan ürünlerin güvenliğini izleyen bilgisayarlı görü sistemi, dengesiz istifleme durumunda uyarı verebilir.

Üretim ve Endüstride Bilgisayarlı Görü Kullanımının Avantajları:

  1. 1. Kalite Kontrol: Bilgisayarlı görü sistemleri, üretim hattında üretilen ürünlerin kalitesini otomatik olarak inceleyebilir. Bu sistemler, insan gözünün algılayamayacağı küçük hataları bile tespit edebilir, böylece ürün kalitesini artırır ve hatalı ürünlerin müşteriye ulaşmasını önler.
  2. 2. Üretim Hızının Artması: Otomasyon sayesinde üretim süreçleri hızlanır. Bilgisayarlı görü ile donatılmış makineler, insan müdahalesine gerek kalmadan sürekli çalışabilir, bu da üretim hızını artırır ve verimliliği yükseltir.
  3. 3. Maliyet Tasarrufu: İnsan iş gücünün yerine bilgisayarlı görü sistemlerinin kullanılması, uzun vadede maliyet tasarrufu sağlar. Özellikle yüksek hacimli üretim süreçlerinde, otomatik sistemler daha az hata yapar ve daha hızlı çalışır, bu da işçilik maliyetlerini düşürür.
  4. 4. Güvenlik ve Çalışan Sağlığı: Bilgisayarlı görü sistemleri, tehlikeli veya zorlu işlerin otomasyonunu sağlayarak çalışanların güvenliğini artırır.
  5. 5. Veri Toplama ve Analiz: Bilgisayarlı görü sistemleri, üretim süreci boyunca büyük miktarda görsel veri toplayabilir. Bu veriler, üretim hatalarının kök nedenlerini anlamak, süreçleri optimize etmek ve gelecekteki üretim stratejilerini geliştirmek için analiz edilebilir. Örneğin, makineyi doğru kullanmayan bir operatörü tespit edebilir ve operatöre yönlendirmede bulunabilir.
  6. 6. Esneklik ve Uyarlanabilirlik: Bilgisayarlı görü sistemleri, üretim süreçlerindeki değişikliklere hızlı bir şekilde adapte olabilir. Örneğin, yeni bir ürün tasarımı veya üretim hattındaki bir değişiklik, sistemin yazılımında yapılan güncellemelerle kolayca entegre edilebilir.

Bilgisayarlı Görü Genel Görevleri

  • ● Görüntü Sınıflandırma: Bir görüntüyü belirli bir sınıfa atama görevi olup, otomatik üretim hatlarında ürünlerin kategorize edilmesi ve hatalı ürünlerin ayrılması için kullanılır.
  • ● Nesne Tespiti: Görüntüdeki belirli nesneleri tanımlama ve yerlerini belirleme görevi olup, güvenlik kameralarında izinsiz girişlerin tespiti veya üretim hattında eksik bileşenlerin algılanmasını sağlar. Belirli nesneleri aynı zamanda 3D olarak da algılayabilir ve bulunan 3D model çeşitli alanlarda kullanılabilir.
  • ● Segmentasyon: Görüntüdeki her pikseli bir sınıfa atama işlemidir ve üretim hattında hatalı boyama veya montaj problemlerinin tespiti için kullanılır.
  • ● Görüntü Üretimi: Belirli bir girdiye dayalı olarak yeni görüntüler oluşturma görevi olup, ürün tasarımı ve prototipleme aşamalarında yeni tasarımlar oluşturmak için kullanılır.
  • ● Görüntü Süper Çözünürlük: Düşük çözünürlüklü bir görüntüyü yüksek çözünürlüklü hale getirme işlemi olup, güvenlik kameralarından elde edilen düşük çözünürlüklü görüntülerin iyileştirilmesi için kullanılır.
  • ● Görüntü Açıklaması: Bir görüntüye ilişkin anlamlı bir metin açıklaması oluşturma işlemi olup, ürün kataloglarının otomatik oluşturulması veya güvenlik kameraları için olay raporlamasında kullanılır.
  • ● Görüntü Tamamlama: Bir görüntüde eksik veya hasarlı bölgeleri doldurarak görüntüyü tamamlama işlemi olup, hasar görmüş ürünlerin görüntülerinin düzeltilmesi veya eski makinelerin restorasyonunda kullanılır.
  • ● Derinlik Tahmini: Bir görüntüden veya videodan, sahnedeki nesnelerin kamera ile olan mesafesini tahmin etme işlemi olup, robotik kolların nesneleri doğru şekilde manipüle etmesi veya otonom forkliftlerin güvenli hareket etmesini sağlar.
  • ● Görüntü Gürültü Azaltma: Bir görüntüdeki gürültüyü azaltma işlemi olup, düşük ışık koşullarında çekilen üretim hattı görüntülerinin temizlenmesi için kullanılır.
  • ● Görüntüden Görüntüye Çeviri: Bir görüntüyü başka bir stile dönüştürme işlemi olup, ürün tasarımında farklı malzeme veya renk varyasyonlarının hızlıca simüle edilmesini sağlar.
  • ● Görsel Soru Cevaplama: Bir görüntüyle ilgili sorulan sorulara cevap verme yeteneği olup, fabrika denetim sistemlerinde, bir ürünün montajı veya durumu hakkında otomatik bilgi sağlanmasında kullanılır.

Kullanılan Önemli Teknolojiler

Bu temel bilgisayarlı görü görevlerini gerçekleştirebilmek için birçok teknoloji ve yöntem geliştirilmiştir.

  • ● Convolutional Neural Networks (CNNs):
    • ○ CNN’ler görüntü verilerini işlemek ve anlamlandırmak için kullanılan derin öğrenme modelleridir. Görüntü sınıflandırma ve nesne tespiti gibi görevlerde yaygın olarak kullanılır. YOLO gibi son teknoloji derin öğrenme modelleri CNN mimarisi üzerine inşa edilmiştir. CNN’ler görüntü işleme ve derin öğrenme alanında birçok sebepten ötürü yoğunlukla kullanılmaktadır.
      • ◾ CNN'ler, görüntülerdeki uzaysal hiyerarşiyi yakalamada mükemmeldir. Konvolüsyon katmanları, düşük seviyeli özelliklerden (örneğin, kenarlar) başlayarak yüksek seviyeli özelliklere (örneğin, nesneler) kadar bir hiyerarşi oluşturur. Bu sayede, görüntülerdeki önemli özellikler daha iyi tanımlanabilir ve analiz edilebilir.
      • ◾ Max-pooling, batch-normalization ve dropout gibi teknikler, yer değiştirme ve ölçeklenebilirlik gibi faktörlere karşı CNN'lerin sağlam olmasını sağlar. Bu, modelin, nesnenin görüntüdeki konumuna ve boyutuna karşı dayanıklı olmasına yardımcı olur.
      • ◾ CNN'ler, filtreler (kernels) kullanarak görüntü üzerinde kayarak, belirli özellikleri tekrar tekrar öğrenir. Bu özellik paylaşımı, parametrelerin sayısını azaltır ve modelin daha verimli hale gelmesini sağlar. Bu, daha az sayıda parametre ile daha derin ağların eğitilmesini mümkün kılar.
      • ◾ CNN'ler, görüntülerin yerel bağıntılarını yakalama konusunda uzmandır. Her konvolüsyon filtresi, belirli bir bölgede (receptive field) çalışır ve bu sayede, nesnelerin konumundan bağımsız olarak önemli özellikleri öğrenebilir.
      • ◾ CNN'ler, görüntülerden manuel olarak özellik çıkarma ihtiyacını ortadan kaldırır. Bunun yerine, model, eğitim süreci sırasında otomatik olarak en anlamlı özellikleri öğrenir. Bu, görüntü tanıma, nesne tespiti ve segmentasyon gibi görevlerde büyük bir avantaj sağlar.
      • ◾ CNN'ler, görüntü işleme ve bilgisayarlı görü görevlerinde olağanüstü performans gösterir. Derin öğrenme modelleri arasında en popüler olanlardan biridir ve genellikle diğer yöntemlere göre daha yüksek doğruluk sağlar.
      • ◾ CNN'ler, önceden eğitilmiş modellerin yeniden kullanılmasına olanak tanır. Transfer öğrenimi sayesinde, bir modelin başka bir görev için yeniden eğitilmesi, çok daha az veri ve daha kısa eğitim süresi gerektirir.
      • ◾ CNN'ler, büyük veri kümelerinde eğitildiğinde genelleştirme yetenekleri oldukça güçlüdür. Bu, modelin eğitim verisi dışındaki yeni verilerde de iyi performans göstermesini sağlar.

               CNN’in görselleştirilmiş hali aşağıdaki gibidir:

  • ● R-CNN, Fast R-CNN ve Faster R-CNN:

Nesne tespiti, bir görüntü veya videoda belirli nesnelerin yerlerini ve sınıflarını belirlemek amacıyla kullanılan bir tekniktir. R-CNN (Region-based Convolutional Neural Networks) ve onun geliştirilmiş versiyonları olan Fast R-CNN ve Faster R-CNN, bu alanda çığır açan yöntemler arasında yer alır. Bu modeller, nesne tespitinin hızını ve doğruluğunu artırmak amacıyla geliştirilmiştir.

  1. 1. R-CNN (Region-based Convolutional Neural Networks): Nesne tespiti için ilk olarak kullanılan bölge tabanlı yaklaşımlardan biridir. R-CNN'in çalışma prensibi 3 adımdan oluşur: Bölge Önerisi, Konvolüsyonel Sinir Ağı ve Sınıflandırma ve Bbox Regresyonu. Her bir bölge önerisi için CNN'in tekrar tekrar çalıştırılması gerektiğinden, bu yaklaşım çok fazla hesaplama gerektirir ve bu da işlem süresini uzatır.
  2. 2. Fast R-CNN: R-CNN'in yavaşlık sorununu çözmek amacıyla geliştirilmiştir. Bu modelin en büyük yeniliği, tüm görüntünün tek bir CNN geçişinde işlenmesidir. Ardından bölge önerileri üzerinde daha hızlı ve verimli işlemler yapılır. R-CNN’den farklı olarak Fast R-CNN’de tüm görüntüyü bir defada CNN’e besler ve özellik haritasını çıkarır. Bu durum her bir bölge önerisi için ayrı ayrı CNN çalıştırma ihtiyacını ortadan kaldırır.
  3. 3. Faster R-CNN: nesne tespiti alanında büyük bir adım daha ileri giderek bölge öneri sürecini daha da optimize etmiştir. Bu model, bölge öneri aşamasını end-to-end bir yapıya entegre ederek hız ve doğrulukta büyük bir iyileşme sağlamıştır. Faster R-CNN'in en önemli yeniliği, RPN olarak adlandırılan bir ağın tanıtılmasıdır. RPN, görüntü üzerinde kayan bir pencere kullanarak her bir konumda potansiyel nesne bölgeleri önerir. Bu ağ, tamamen konvolüsyonel bir ağ olup, bölge önerilerini hızlı bir şekilde üretir.

R-CNN'den Faster R-CNN'e kadar olan evrim, nesne tespitinde hız ve doğruluğun nasıl optimize edilebileceğini göstermektedir. Bu modeller, günümüzde birçok bilgisayarlı görü uygulamasında kullanılmakta olup özellikle nesne tespiti ve sınıflandırma gibi görevlerde önemli başarılara imza atmıştır.

  • ● YOLO (You Only Look Once):

YOLO, nesne tespiti alanında çığır açan bir model olarak bilinir ve bilgisayarlı görü uygulamalarında geniş bir kullanım alanına sahiptir. YOLO'nun en büyük özelliği, nesne tespiti işlemlerini gerçek zamanlı olarak çok hızlı ve verimli bir şekilde gerçekleştirebilmesidir. YOLO'nun çeşitli versiyonları geliştirilmiştir ve her yeni versiyonla performans ve doğruluk daha da artırılmıştır. YOLO, bir görüntüyü tek bir geçişte işler. Bu geçiş sırasında, görüntü belirli sayıda hücreye (grid) bölünür ve her bir hücre, nesne içerip içermediğine karar verir. Eğer bir nesne varsa, bu hücre nesnenin sınıfını ve konumunu tahmin eder. Grid tabanlı yaklaşım kapsamında görüntü SxS boyutlarında bir grid’e bölünür. Her bir grid hücresi, belirli bir sayıda bounding box önerir ve bu kutuların hangi nesne sınıfına ait olduğunu belirler. Aşağıdaki görüntüde bunun bir örneğini görebilirsiniz.

YOLO, nesne tespitinde devrim yaratan bir modeldir. Hızı ve doğruluğu sayesinde, birçok gerçek zamanlı uygulamada tercih edilir. Her yeni versiyon, YOLO'nun gücünü daha da artırmış ve onu bilgisayarlı görüde vazgeçilmez bir araç haline getirmiştir. YOLO'nun temel prensipleri ve sunduğu avantajlar, onu hem araştırma dünyasında hem de endüstriyel uygulamalarda önemli kılmaktadır.

  • ● Generative Adversarial Networks (GANs):

Generative Adversarial Networks (GANs) oldukça popüler ve etkili bir yapay zeka modeli türüdür. Ian Goodfellow ve arkadaşları tarafından 2014 yılında icat edilen bu model, özellikle görüntü oluşturma, veri artırma, ve veri taklidi gibi alanlarda büyük bir devrim yaratmıştır. GAN’ler, iki ana bileşenden oluşur: bir generator (üretici) ve bir discriminator (ayrıştırıcı). GAN’lerin eğitimi, bu iki modelin bir oyun gibi birbirleriyle rekabet etmesi ile gerçekleşir. Üretici, ayrıştırıcıyı kandırabilecek kadar iyi veriler üretmeye çalışırken, ayrıştırıcı bu sahte verileri yakalamaya çalışır. Bu süreç, üreticinin çok daha gerçekçi veriler üretebileceği bir duruma gelene kadar devam eder. Bu iki model arasındaki ilişki aşağıdaki gibidir:

GAN'ler, derin öğrenme ve yapay zeka alanında devrim niteliğinde bir yenilik sunmaktadır. Görüntü oluşturma, veri artırma ve benzeri birçok alanda yeni kapılar açan GAN’ler, gelecekteki birçok uygulamanın temelini oluşturabilir.  Örneğin, SRGAN ile düşük çözünürlükteki bir görüntü daha yüksek çözünürlüğe taşınabilir.

  • ● U-Net:

U-Net, özellikle biyomedikal görüntü işleme alanında kullanılan ve diğer görüntü segmentasyonu görevlerinde de etkili olan bir sinir ağı mimarisidir. 2015 yılında Olaf Ronneberger ve ekibi tarafından geliştirilen bu mimari, sınırlı eğitim verisiyle yüksek doğrulukta sonuçlar elde edebilmesiyle öne çıkar. U-Net, adını "U" harfine benzeyen simetrik yapısından alır ve iki ana bölümden oluşur: kodlayıcı (encoder) ve çözücü (decoder). Kodlayıcı, giriş görüntüsünü giderek küçülen bir dizi özellik haritasına dönüştürürken, çözücü bu haritaları kullanarak giriş görüntüsünün orijinal boyutunda piksel bazında segmentasyon maskesi üretir. U-Net’in simetrik yapısı, her iki aşamanın bir araya gelmesiyle oluşturulur. U-Net’in ismini de aldığı mimarisi şu şekildedir:

U-Net, görüntü segmentasyonu alanında devrim niteliğinde bir mimaridir. Özellikle biyomedikal alanda kendini kanıtlamış olan bu ağ yapısı, diğer görüntü işleme görevlerinde de başarılı bir şekilde uygulanmaktadır. Skip connections ve tamamen konvolüsyonel yapısı sayesinde, düşük veri ortamlarında bile yüksek performans gösterebilir. Günümüzde en önemli olan makalelerden olan ve Facebook tarafından geliştirilen Segment Anything U-Net mimarisinden ve Transformer teknolojisinden esinlenmiştir.

  • ● Feature Pyramid Network (FPN), tek ölçekli bir görüntüyü giriş olarak alan ve çoklu seviyelerde, orantılı boyutlarda özellik haritaları üreten bir özellik çıkarıcıdır. Bu işlem, tamamen konvolüsyonel bir şekilde gerçekleştirilir ve kullanılan omurga (backbone) konvolüsyonel mimarilerden bağımsızdır. Bu nedenle, derin konvolüsyonel ağlar içinde özellik piramitleri oluşturmak için nesne tespiti gibi görevlerde kullanılabilecek genel bir çözüm olarak işlev görür.
  • ● Vision Transformer (ViT), görüntü sınıflandırma için kullanılan ve görüntünün parçaları üzerinde Transformer benzeri bir mimari kullanan bir modeldir. Bir görüntü, sabit boyutlu parçalara bölünür; her parça doğrusal olarak gömülür, pozisyon gömmeleri eklenir ve elde edilen vektör dizisi standart bir Transformer kodlayıcısına (encoder) beslenir. Sınıflandırma yapmak için, dizinin sonuna öğrenilebilir ek bir "sınıflandırma token'ı" ekleme standardı uygulanır.
  • ● Residual Networks (ResNet'ler), referanssız fonksiyonlar öğrenmek yerine, katman girişlerine referansla artık fonksiyonlar öğrenir. Birkaç katmanın doğrudan istenen temel haritayı öğrenmesini beklemek yerine, residual ağlar bu katmanların bir artık haritayı öğrenmesine olanak tanır. ResNet'ler, her biri residual bloklardan oluşan katmanları üst üste ekleyerek bir ağ oluşturur. Örneğin, bir ResNet-50, bu blokları kullanarak elli katmandan oluşur.

Bu teknolojilerin yanı sıra anlamsal bölütleme için Mask R-CNN, DeepLab; yüz tanıma için FaceNet, DeepFace, poz tahmini için OpenPose ve DensePose, 3D modelleme için Neural Radiance Fields ve Gaussian Splatting metotları da sıklıkla kullanılan önemli teknolojilerdir.

Bilgisayarlı Görü için Kullanılan Yazılımlar ve Donanımlar

Yazılımlar:

  • ● Görüntü İşlemek için Kullanılan Kütüphaneler:
    • ○ OpenCV: OpenCV (Open Source Computer Vision Library), bilgisayarlı görü projelerinde en yaygın kullanılan açık kaynak kütüphanelerden biridir. C++, Python ve Java gibi dillerde kullanılabilir. OpenCV, görüntü işleme, video analizi, nesne tanıma, yüz tanıma, optik karakter tanıma (OCR), hareket takibi gibi çok çeşitli bilgisayarlı görü görevleri için optimize edilmiş fonksiyonlar sunar. Geniş topluluğu ve kapsamlı dokümantasyonu sayesinde, başlangıç seviyesinden ileri seviyeye kadar projelerde kullanılabilir.
  • ● Model Oluşturmak ve Bilgisayarlı Görü Uygulamaları İçin Kullanılan Kütüphaneler:
    • ○ TensorFlow: Google tarafından geliştirilen TensorFlow, derin öğrenme modellerini oluşturmak ve eğitmek için en popüler açık kaynak kütüphanelerinden biridir. Yüksek performanslı matematiksel hesaplamalar yapabilen bu kütüphane, sinir ağlarını hızla inşa etmek ve optimize etmek için geniş bir araç seti sunar. TensorFlow ayrıca, hem düşük seviye hesaplamalar için API'ler sağlar hem de daha yüksek seviye API olan Keras ile entegre olarak kullanıcı dostu bir deneyim sunar.
    • ○ Keras: Keras, kullanıcı dostu bir derin öğrenme kütüphanesidir ve genellikle TensorFlow veya Theano gibi arka uçlar üzerinde çalışır. Kullanıcıların karmaşık sinir ağlarını kolayca oluşturmasına olanak tanır. Yüksek soyutlama seviyesine sahip olduğu için, özellikle yeni başlayanlar veya hızlı prototipleme yapmak isteyenler için idealdir. Keras, model katmanlarını sezgisel bir şekilde tanımlamak ve eğitmek için basit bir API sağlar.
    • ○ Ultralytics: Ultralytics, özellikle YOLOv5 (You Only Look Once) modeliyle tanınan bir yapay zeka ve bilgisayarlı görü kütüphanesidir. YOLOv5, gerçek zamanlı nesne algılama ve sınıflandırma görevlerinde yaygın olarak kullanılır ve hızlı, hafif ve oldukça doğru olmasıyla bilinir. Ultralytics, bu modelin geliştirilmesi, eğitimi ve dağıtımı için kullanıcı dostu bir arayüz sağlar. Kütüphane, PyTorch üzerinde çalışır ve kullanıcıların kendi veri setleriyle kolayca nesne algılama modelleri eğitmesine olanak tanır. Ultralytics, kapsamlı dokümantasyonu ve aktif topluluğu sayesinde, araştırmacılar ve geliştiriciler için güçlü bir araçtır ve bilgisayarlı görü projelerinde sıklıkla tercih edilir.
    • ○ Hugging Face: Hugging Face, doğal dil işleme (NLP) alanında tanınan bir şirket ve açık kaynak platformu olmasına rağmen, son yıllarda bilgisayarlı görü dahil olmak üzere diğer yapay zeka alanlarında da geniş bir etki yaratmıştır. Hugging Face, özellikle Transformer tabanlı modellerle tanınır ve bu modellerin geniş bir yelpazede uygulanmasını sağlar. Bilgisayarlı görü alanında, Hugging Face, görüntü sınıflandırma, nesne algılama, görüntü segmentasyonu gibi görevler için önceden eğitilmiş modeller ve bu modelleri kullanmak için basit bir arayüz sunar. Hugging Face'in transformers ve datasets gibi kütüphaneleri, araştırmacıların ve geliştiricilerin büyük veri setleri üzerinde güçlü modelleri hızlı bir şekilde eğitmelerine olanak tanır. Ayrıca, Hugging Face'in topluluk odaklı yaklaşımı ve model paylaşım platformu, kullanıcıların kendi modellerini yüklemelerine ve diğer modellerden faydalanmalarına olanak tanır, bu da AI ve bilgisayarlı görü projelerini daha erişilebilir hale getirir.
    • ○ PyTorch: Facebook tarafından geliştirilen PyTorch, esnek ve dinamik bir hesaplama grafiği ile öne çıkan bir derin öğrenme kütüphanesidir. ○ TensorFlow gibi, PyTorch da büyük ölçekli derin öğrenme modellerini eğitmek için kullanılır. Ancak, PyTorch’un dinamik hesaplama grafikleri ve Python ile olan sıkı entegrasyonu, araştırma ve geliştirme için daha uygun olmasını sağlar. PyTorch, model geliştirme ve hata ayıklama süreçlerini hızlandırır.
    • ○ scikit-learn: scikit-learn, Python için en popüler makine öğrenmesi kütüphanelerinden biridir. Temel makine öğrenmesi algoritmalarının uygulanması için geniş bir yelpaze sunar ve sınıflandırma, regresyon, kümeleme ve boyut indirgeme gibi yaygın teknikleri içerir. Bu kütüphane, veri bilimciler ve araştırmacılar tarafından sıklıkla kullanılır ve ayrıca veri ön işleme ve model değerlendirme için araçlar sağlar.
  • ● Veri İşleme, Görselleştirme ve Analiz için Kullanılan Kütüphaneler:
    • ○ NumPy: NumPy, Python'da bilimsel hesaplamalar için temel bir kütüphanedir. Çok boyutlu dizi nesneleri ve bu diziler üzerinde çalışan geniş bir matematiksel fonksiyon koleksiyonu sağlar. NumPy, makine öğrenmesi ve veri bilimi projelerinde veri işleme ve matematiksel hesaplamalar için temel bir yapı taşı olarak kullanılır. Yüksek verimli dizi hesaplamaları sayesinde, büyük veri setlerinin hızlı bir şekilde işlenmesini sağlar ve birçok makine öğrenmesi kütüphanesi NumPy'yi temel alır.
    • ○ Matplotlib: Matplotlib, Python'da veri görselleştirme için kullanılan en popüler kütüphanelerden biridir. Grafik ve çizelge oluşturmak için çok yönlü araçlar sunar. Matplotlib ile histogramlar, çubuk grafikler, çizgi grafikler ve daha karmaşık görselleştirmeler oluşturabilirsiniz. Kütüphane, veri analizi ve sonuçların görsel olarak sunulması açısından büyük önem taşır. Ayrıca, özelleştirme yetenekleri sayesinde, grafikleri istenilen şekilde detaylandırmak mümkündür.
    • ○ Seaborn: Seaborn, Matplotlib üzerine inşa edilmiş, daha estetik ve istatistiksel grafikler oluşturmayı kolaylaştıran bir kütüphanedir. Seaborn, veri setleriyle çalışmayı ve bu verilerin görselleştirilmesini daha sezgisel hale getirir. Özellikle veri analizi ve keşifsel veri analizi (EDA) sırasında kullanılır. Çapraz grafikler, ısı haritaları ve dağılım grafiklerinin yanı sıra, kategorik verileri görselleştirmek için de gelişmiş araçlar sunar. Seaborn’un varsayılan stil ve renk paletleri, görselleştirmelerin daha çekici olmasını sağlar.
    • ○ Pandas: Pandas, veri manipülasyonu ve analizi için kullanılan güçlü bir kütüphanedir. Tablo benzeri veri yapıları olan "DataFrame" ve "Series" nesnelerini sunarak, verileri düzenlemek, filtrelemek, gruplamak ve dönüştürmek için gelişmiş fonksiyonlar sağlar. Pandas, özellikle büyük veri setleri üzerinde çalışırken, verileri hızlı bir şekilde analiz etmeyi ve iş akışını optimize etmeyi kolaylaştırır. SQL benzeri veri sorguları, zaman serisi analizi ve eksik veri yönetimi gibi özelliklerle, Pandas, veri bilimciler ve analistler için vazgeçilmez bir araçtır.

Donanımlar:

  • ● Grafik İşlemci:
    • ○ GPU (Grafik İşleme Birimi), yapay zeka ve derin öğrenme alanında büyük bir öneme sahiptir. Yapay zeka modellerinin eğitimi ve çalıştırılması genellikle büyük miktarda veriyi ve karmaşık hesaplamaları gerektirir. CPU'lar (Merkezi İşlem Birimi) genel amaçlı işlemler için optimize edilmişken, GPU'lar paralel işlem kapasitesi sayesinde aynı anda binlerce işlemi gerçekleştirebilir. Bu paralel işleme yeteneği, büyük veri setleri üzerinde çalışan yapay zeka algoritmalarının daha hızlı eğitilmesini sağlar. Özellikle derin öğrenme modellerinde, matris çarpımları ve tensör işlemleri gibi hesaplama yoğunluklu işlemler için GPU'lar vazgeçilmezdir. GPU'lar, modellerin eğitim süresini önemli ölçüde kısaltarak daha hızlı prototipleme ve uygulama geliştirmeye olanak tanır. Bu nedenle, yapay zeka alanındaki ilerlemeler büyük ölçüde GPU teknolojisindeki gelişmelere bağlıdır.
  • ● Kamera Sistemleri:
    • ○ Bilgisayarlı görüde kullanılan çeşitli kamera türleri, farklı uygulama ihtiyaçlarına göre optimize edilmiştir.
      • ◾ RGB kameralar, renkli görüntüler elde etmek için yaygın olarak kullanılırken, monokrom (siyah-beyaz) kameralar daha yüksek kontrast ve hassasiyet gerektiren uygulamalar için tercih edilir.
      • ◾ Termal kameralar, ısı farklılıklarını algılayarak gece görüşü veya sıcaklık tabanlı analizlerde kullanılır.
      • ◾ Derinlik kameraları ise, nesnelerin üç boyutlu yapısını algılamak için mesafe bilgisi sağlar ve otonom araçlar veya robotik uygulamalarda kritik rol oynar.
      • ◾ Spektrometre kameraları, belirli ışık dalga boylarını algılayarak malzeme tanıma gibi uzmanlaşmış alanlarda kullanılır.
    • ○ Her bir kamera türü, bilgisayarlı görü sistemlerinin belirli görevler için optimize edilmesini sağlar ve bu nedenle doğru kamera seçimi, proje başarısı için esastır.
  • ● Sensörler:
    • ○ Endüstriyel uygulamalarda kullanılan çeşitli sensörler, otomasyon ve kalite kontrol süreçlerinde önemli rol oynar.
      • ◾ LIDAR sensörleri, fabrika ortamlarında otonom taşıma araçlarının (AGV'ler) navigasyonu için kullanılır, bu araçlar LIDAR ile çevrelerini haritalandırarak engellerden kaçınabilir ve rotalarını dinamik olarak ayarlayabilir.
      • ◾ Ultrasonik sensörler, üretim hatlarında nesnelerin varlığını veya eksikliğini tespit etmek için yaygın olarak kullanılır; örneğin, bir şişeleme hattında dolu ve boş şişeleri ayırt etmek için kullanılır.
      • ◾ IMU (Inertial Measurement Unit) sensörleri, robotik kolların hassas hareketlerini kontrol etmek için kullanılır, böylece montaj işlemlerinde milimetrik doğruluk sağlanabilir. Bu sensörler, robotların yönlerini ve hızlarını izleyerek karmaşık hareketleri güvenilir bir şekilde gerçekleştirmelerini sağlar.
      • ◾ Termal kameralar ve sensörler, metalurji veya elektronik üretiminde kalite kontrolü yapmak için kullanılır; örneğin, bir lehimleme hattında, termal sensörler lehim bağlantılarının sıcaklığını izleyerek üretim sürecindeki hataları tespit edebilir.
      • ◾ Spektrometre sensörleri, gıda endüstrisinde ürünlerin kalite kontrolü için kullanılır; örneğin, meyve veya sebzelerin olgunluk seviyesini veya içindeki kimyasal bileşenleri belirlemek için ışığın belirli dalga boylarını analiz eder.
      • ◾ GPS sensörleri, büyük lojistik merkezlerinde malzemelerin takip edilmesi ve otomatik olarak yönlendirilmesi için kullanılır; bu sayede ürünler doğru depolama alanına hızlı bir şekilde taşınabilir.
      • ◾ Lazerler, bir ürünün taranmasında ve ürünle ile ilgili kusurları ortaya çıkarmakta kamera sistemlerine yön gösterebilirler.
    • ○ Bu sensörler ve daha fazlası, endüstriyel süreçlerin daha verimli, güvenli ve kaliteli olmasını sağlayarak otomasyonun ve robotik sistemlerin temelini oluşturur.
  • ● Veri Depolama Çözümleri:
    • ○ Endüstriyel otomasyonda, veritabanı çözümleri, bilgisayarlı görü sistemlerinin büyük miktarda görsel veriyi depolamasını, yönetmesini ve hızlı bir şekilde işlemesini sağlar. Örneğin, üretim hatlarında kalite kontrol için kullanılan bilgisayarlı görü sistemleri, her bir ürünün görüntüsünü analiz eder ve bu verileri veritabanında saklar. Stok yönetiminde ise kameralar, ürünlerin barkodlarını okuyarak envanteri günceller ve bu bilgileri veritabanında tutar. Ayrıca, robotik montaj hatlarında ve öngörücü bakım sistemlerinde veritabanları, görsel verileri depolayarak makinelerin performansını izler ve bakım ihtiyaçlarını önceden belirler. Bu sayede, endüstriyel süreçlerin verimliliği, doğruluğu ve güvenilirliği artırılır.

Bu yazılım ve donanımlar, bilgisayarlı görü uygulamalarının etkin bir şekilde gerçekleştirilmesini sağlar ve bu alandaki gelişmeleri hızlandırır.

Kaynakça

  1. 1. (n.d.). What is Computer Vision? Erişim adresi https://www.ibm.com/topics/computer-vision
  2. 2. Microsoft Azure. (n.d.). What is computer vision? Erişim adresi https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-computer-vision#object-classification
  3. 3. Wang, M., & Deng, W. (2021). Deep face recognition: A survey.
  4. 4. Roy, D. (2021). Computer Vision Application in Industrial Automation.
  5. 5. (n.d.). Computer vision in manufacturing: Enhancing productivity & quality control. Retrieved August 12, 2024, from https://www.itransition.com/computer-vision/manufacturing
  6. 6. Hugging Face. (n.d.). Hugging Face: The AI community building the future. Retrieved August 12, 2024, from https://huggingface.co/
  7. 7. Papers with Code. (n.d.). Papers with Code: The latest in machine learning. Retrieved August 12, 2024, from https://paperswithcode.com/
  8. 8. (n.d.). PyTorch: An open source machine learning framework. Retrieved August 12, 2024, from https://pytorch.org/
  9. 9. (n.d.). Keras: The Python deep learning API. Retrieved August 12, 2024, from https://keras.io/
  10. 10. (n.d.). TensorFlow: An open-source machine learning framework. Retrieved August 12, 2024, from https://www.tensorflow.org/
  11. 11. (n.d.). Top Python machine learning libraries in 2023. Retrieved August 12, 2024, from https://www.coursera.org/articles/python-machine-learning-library
  12. 12. (n.d.). What are convolutional neural networks? Retrieved August 13, 2024, from https://www.ibm.com/topics/convolutional-neural-networks