Welcome to Mühendis Forum

Tüm özelliklerimize erişmek için hemen bize katılın. Kayıt olduktan ve giriş yaptıktan sonra, konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, diğer üyelere itibar verebilecek, kendi özel mesajlaşmanızı alabilecek ve çok daha fazlasını yapabileceksiniz. Ayrıca hızlı ve tamamen ücretsiz, peki daha ne bekliyorsunuz?

Soru sor

Sorular sorun ve topluluğumuzdan yanıtlar alın

Online Psikolog

Uzman Klinik Psikolog Çiğdem Akbaş

Bize Ulaşın

Doğrudan site yöneticisiyle iletişime geçin.

Profesyonel Web Sitesi

Bursa Bilişim

Anomalib MVTEch Python Örnekleri

muhendisforum

Administrator
Personel
Katıldı
5 Mayıs 2024
Mesajlar
279
Tepki puanı
0
Puanlar
16

Anomalib ve MVTec AD: Kapsamlı Bir İnceleme​

Anomali tespiti, farklı endüstriyel ve akademik alanlarda veri içindeki sıradışı örneklerin belirlenmesini amaçlayan önemli bir araştırma konusudur. Görsel inceleme, metin analizi, ses tanıma ve zaman serisi gibi çeşitli veri tiplerinde sıklıkla karşılaşılan bu problem, makine öğrenimi ve derin öğrenme yaklaşımlarının gelişmesiyle daha etkin yöntemlerle çözülebilir hale gelmiştir. Özellikle endüstriyel üretim süreçlerinde, üretim hatlarının hızla artan karmaşıklığı ve ürün çeşitliliği göz önüne alındığında, anomalilerin doğru ve hızlı şekilde tespiti kritik önem taşır. Derin öğrenme tabanlı yaklaşımlar, klasik yöntemlere kıyasla çok daha esnek, yüksek doğruluk oranına sahip ve sürekli genişleyen veri setlerine uyarlanabilir özellikleriyle öne çıkar.

Bu kapsamda geliştirilen Anomalib, anomali tespiti alanında farklı derin öğrenme mimarilerini tek bir çatı altında toplayan, kullanıcı dostu bir kütüphanedir. Görsel anomalilerin tespitinde öne çıkan MVTec AD veri seti ise çeşitli endüstriyel nesnelerin yüksek çözünürlüklü görsellerinden oluşarak, araştırmacılara hem çeşitlilik hem de gerçekçi senaryolar sunar. Farklı tipte kusurların ve normal örneklerin yer aldığı bu veri seti, anomali tespiti algoritmalarının etkinliğini değerlendirmek amacıyla sıklıkla tercih edilir.

Modern anomali tespiti yaklaşımları, güncel derin öğrenme ağlarından faydalanarak arka plandaki veri dağılımını öğrenmeye odaklanır. Görsel veriler söz konusu olduğunda, otomatik kodlayıcılar, varyasyonel otomatik kodlayıcılar veya GAN tabanlı yöntemler; klasik istatistiksel yaklaşımlara nazaran çok daha iyi sonuçlar verebilir. Anomalib kütüphanesi, bu yöntemleri MVTec AD gibi standart veri setleri üzerinde hızlı bir şekilde test etmeye imkân tanır. Python ortamında kolayca kullanılabilen bu kütüphane, modüler yapısıyla dikkat çeker. Farklı model mimarilerini denemek, hiperparametre ayarlarını değiştirmek ve elde edilen sonuçları karşılaştırmalı olarak analiz etmek oldukça pratik hale gelir.

Bu metinde, MVTec AD veri seti temelinde Anomalib kütüphanesi ile anomali tespit modellerinin nasıl eğitilebileceği ve değerlendirilebileceği ayrıntılı biçimde incelenmektedir. Derin öğrenme temellerinin ve çeşitli mimarilerin öne çıkan özelliklerinin değerlendirildiği bu incelemede, Python dili üzerinden Anomalib’in fonksiyonlarına dair örnek kod blokları yer almaktadır. Ayrıca elde edilen sonuçların nasıl yorumlanabileceği ve farklı üretim aşamalarında ne gibi avantajlar sağlayabileceği de akademik bakış açısıyla ele alınır.

Temel Kavramlar​

Anomali tespiti konusunda başarılı bir çalışma yürütebilmek için bazı temel kavramların iyi anlaşılması gerekir. Bu bölümde, literatürde sıklıkla geçen kavramların yanı sıra derin öğrenme çerçevesinde öne çıkan temel bileşenler değerlendirilmektedir.

  • Anomali (Outlier) ve Kusur (Defect): Anomali, mevcut veri dağılımından ayrışan, istatistiksel veya semantik açıdan “farklı” olarak kabul edilen örneklerdir. Endüstriyel uygulamalarda ise sıklıkla “kusur” (defect) terimiyle ifade edilir. Ancak her kusur aynı zamanda bir anomalidir demek de her zaman doğru olmaz, çünkü bazı kusurlar önceden tanımlanmış ve rutin şekilde görülen özelliklere sahip olabilir.
  • Anomali Skorlama: Öğrenilmiş bir model, her yeni veri örneği için bir skor değeri atar. Skor, modelin o örneğin “normal” ya da “kusurlu” olduğunu tahmin etmesine yardımcı olur. Eşik değerinden (threshold) büyük olan skorlar genellikle anomali sinyali olarak işaretlenir.
  • Denetimli ve Denetimsiz Öğrenme: Anomali tespitinde veri etiketleme stratejisi büyük önem taşır. Denetimli öğrenmede veri etiketleri (örneğin kusurlu ya da normal) önceden bilinir, model bunları kullanarak öğrenir. Denetimsiz öğrenmede ise veri etiketleri yoktur veya çok sınırlıdır. Sadece normal verilerle eğitilen model, diğer örneklerin normalden sapmasını anomali olarak işaretler.
  • Yarı-Denetimli (Semi-Supervised) Anomali Tespiti: Genellikle üretim ortamlarında “normal” verinin bolca bulunduğu, “kusurlu” verinin ise sınırlı olduğu durumlarda tercih edilen yaklaşım, yarı-denetimli yöntemlerdir. Bu yöntemlerde model, çoğunlukla normal verilerle eğitilir ve az sayıda kusurlu örnekle desteklenir.

Anomalib, bu yaklaşımların birçoğunu destekler. Kütüphane bünyesinde otomatik kodlayıcılar (Autoencoder), Transformer tabanlı ağlar, student-teacher mimarisi gibi farklı model tipleri mevcuttur. MVTec AD veri seti, hem denetimsiz hem de yarı-denetimli yöntemlerle uyumlu olacak şekilde tasarlanmış çeşitli alt veri setlerine sahiptir. Her alt veri setinde farklı nesneler veya yüzeyler için kusurlu ve kusursuz görseller bulunur. Bu sayede model, farklı kusur tiplerine karşı genel bir yetenek kazanabilir.

Veri Setleri ve MVTec AD Hakkında​

MVTec AD (MVTec Anomaly Detection) veri seti, anomali tespiti araştırmaları için sıklıkla kullanılan, zengin bir görsel koleksiyon sunar. Her kategoride farklı endüstriyel nesnelerin yüksek çözünürlüklü görüntüleri yer alır. MVTec AD, “tozlanma, çizik, renk sapması, deformasyon” gibi gerçek hayatta sıkça rastlanan kusurları içerir. Veri seti, toplam 15 farklı kategori altında organize edilmiştir. Bu kategoriler arasında “Bottle”, “Cable”, “Capsule”, “Carpet”, “Grid”, “Hazelnut”, “Leather”, “Metal Nut”, “Pill”, “Screw”, “Tile”, “Toothbrush”, “Transistor”, “Wood” ve “Zipper” bulunur. Her kategori içerisinde normal ve kusurlu örnekler ayrı klasörlerde yer alır.

MVTec AD veri seti, şu tür avantajlar sunar:

  • Zengin Çeşitlilik: Endüstriyel gerçeklikte karşılaşılabilecek çok farklı nesne ve kusur türünü barındırır.
  • Yüksek Çözünürlük: Genellikle 1024×1024 piksel veya daha yüksek çözünürlükte fotoğraflardan oluşur, böylece küçük kusurları tespit etmek mümkündür.
  • Ayrıntılı Anotasyon: Kusurlu örnekler için çoğu zaman maskeleme veya ek etiket bilgisi de mevcuttur. Bu sayede, yalnızca kusurun varlığını değil, konumunu da öğrenmek mümkün hale gelir.
  • Standardize Edilmiş Yapı: Her kategori içinde veri, eğitim ve test olarak ayrılmıştır. Bu, farklı araştırmacılar arasında karşılaştırma yapılmasını kolaylaştırır.

Bu veri setiyle çalışırken önemli hususlardan biri, görsellerin yüksek çözünürlüklü olması nedeniyle eğitim sürecinde GPU bellek ihtiyacının artabilmesidir. Anomalib, bu gibi durumlarda modelin girdi boyutlarını ayarlamaya veya farklı veri ön işleme teknikleri kullanmaya imkân tanır. Ayrıca veri arttırma (data augmentation) yöntemleriyle farklı perspektif, ışıklandırma ve dönüşümlerin modellenmesi sağlanabilir.

Python ile Anomalib Kullanımı​

Anomalib, PyTorch tabanlı esnek bir yapıya sahiptir. Farklı anomali tespiti yöntemlerini tek bir çatı altında toplayarak, araştırmacıların ve mühendislerin bu yöntemleri hızlıca karşılaştırmasına olanak tanır. Python dünyasında yaygın kullanılan pip veya conda aracılığıyla kolayca kurulabilir. Genel kurulum şu şekildedir:

piton:
pip install anomalib

Kurulumu tamamladıktan sonra MVTec AD veri setini indirerek, Anomalib’in örnek eğitim script’leri aracılığıyla denemelere başlanabilir. Tipik bir kullanım senaryosu, model mimarisini belirleyip antrenman parametrelerini yapılandırmak ve ardından modelin çıktısını değerlendirmektir. Anomalib, konfigürasyon dosyalarını YAML formatında okuyarak kullanır. Bu dosyalarda veri seti yolu, batch boyutu, öğrenme oranı, kullanılacak model tipi gibi bilgiler yer alır.

Örnek bir konfigürasyon dosyası, “değişken uzunluklu eğitim dönemi” (epoch), “öğrenme oranı” (learning rate) ve benzeri parametreleri içerir. Aşağıdaki basitleştirilmiş örnek, Anomalib’in YAML dosya formatına dair genel bir fikir verir:

YAML:
dataset:
name: mvtec
format: folder
path: /path/to/mvtec
category: bottle
train_batch_size: 16
test_batch_size: 16

model:
name: padim
backbone: resnet18

trainer:
max_epochs: 50
gpus: 1
precision: 16

Bu dosya içerisinde category: bottle ayarıyla MVTec AD veri setindeki “bottle” kategorisi üzerinde çalışılacağı tanımlanmıştır. model: padim satırı, anomali tespiti modeli olarak PaDiM (Patch Distribution Modeling) yönteminin kullanılacağını gösterir. backbone: resnet18 ifadesi, modelin arka planında ResNet-18 tabanlı önişleyicinin kullanılacağı anlamına gelir. Farklı modeller (örneğin STFPM, DFR, CFlow vb.) veya farklı backbone mimarileri (VGG, EfficientNet, Swin Transformer) seçilebilir. trainer bölümünde ise PyTorch Lightning tabanlı eğitim ayarları yapılır.

Anomalib, Python API’si üzerinden de rahatça kontrol edilebilir. Aşağıdaki kod parçası, programatik olarak modelin konfigürasyonunu yükleme ve eğitme sürecini özetler:

piton:
from anomalib.data import get_datamodule
from anomalib.config import get_configurable_parameters
from anomalib.trainers import get_model

Konfigürasyon dosyasını yükle

config = get_configurable_parameters(config_path=“config.yaml”)
datamodule = get_datamodule(config)
model = get_model(config)

Eğitim başlat

model.trainer.fit(model, datamodule=datamodule)

Bu yaklaşım, kullanıcılara parametre ayarlarını kod içinde dinamik olarak değiştirme olanağı tanır. Farklı deneyler için aynı Python betiği içinde konfigürasyon dosyasını güncelleyebilir veya parametreleri kod içerisinde doğrudan düzenleyebilirsiniz.

Model Mimarileri ve Uygulamalar​

Anomalib içerisinde sunulan modeller, görsel anomali tespitinde yaygın kullanılan birçok paradigmayı kapsar. Her mimari, farklı bir prensip üzerinden çalışır ve veri yapısı, kusur türü veya hesaplama kaynaklarına göre çeşitli avantajlar sunar.

  • Otomatik Kodlayıcı (Autoencoder) Tabanlı Yöntemler: Girdi görüntüsünü düşük boyutlu bir temsil uzayına sıkıştırıp tekrar orijinal boyuta genişleten ağlardır. Anomali skoru, çıkarılan görüntünün orijinaliyle benzerliği üzerinden hesaplanır. Normal örneklerdeki düşük hata, kusurlu örneklerde tipik olarak yüksektir.
  • GAN Tabanlı Yöntemler: Generative Adversarial Network (GAN) tabanlı yaklaşımlar, normal verinin dağılımını öğrenerek anormal örneklerin bu dağılıma uyamadığını gösterir. Özellikle, yeniden yapılandırma tabanlı (reconstruction-based) yöntemler kusuru görünür hale getirmeyi amaçlar.
  • Özellik Haritalarıyla Karşılaştırma (Feature Similarity): PaDiM, SPADE, STFPM gibi yöntemler, önceden eğitilmiş ağların ara katmanlarından (feature map) elde edilen temsil bilgilerini istatistiksel modellerle karşılaştırarak anomali skorlarını hesaplar.
  • Transformer Tabanlı Yöntemler: Görsel Transformer’lar (ViT) veya Swin Transformer gibi mimariler, yerel ve küresel ilişkiyi eş zamanlı olarak yakalayarak anomali tespitinde yüksek başarı sağlayabilir.

Bu yöntemlerin seçimi, kullanılacak veri setinin özelliklerine ve istenilen performans kriterlerine göre değişir. Örneğin, MVTec AD veri seti içinde çok küçük kusurlar varsa yüksek çözünürlüklü görüntüler üzerinde çalışabilen ve detayları yakalamaya uygun yöntemler (örneğin CNN tabanlı ya da Transformer tabanlı) tercih edilebilir. Hesaplama kaynağı kısıtlıysa daha hafif modeller ya da sadece belirli katmanları kullanan yaklaşımlar öne çıkar.

Anomalib, bu modellerin eğitim ve test aşamalarında ortak bir arayüz sunar. Ayrıca, eğitim sonrası elde edilen sonuçların görselleştirilmesi için ısı haritaları (heatmap) oluşturmak veya kusur bölgelerini maskeleme yöntemleri mevcuttur.

Performans Ölçümleri​

Bir anomali tespiti modelini değerlendirirken çeşitli performans ölçütleri dikkate alınır. Klasik sınıflandırma metrikleri olan doğruluk (accuracy), kesinlik (precision), duyarlılık (recall), F1-skora ek olarak, anomali tespiti için özel olarak tasarlanmış ölçümler kullanılır. MVTec AD gibi veri setlerinde önemli olan bazı metrikler şunlardır:

  • ROC Eğrisi (Receiver Operating Characteristic) ve AUC (Area Under the Curve): Modelin farklı eşik değerleri altındaki performansını özetlemek için kullanılır. AUC değeri 1’e yaklaştıkça modelin genel olarak iyi performans gösterdiği düşünülür.
  • PRO (Per Region Overlap): Anomalib’te kullanılan bir diğer metrik türüdür. Segmentasyon tabanlı anomali tespitinde, kusur bölgelerinin ne kadar başarılı tespit edildiğini ölçer.
  • IoU (Intersection over Union): Segmentasyon görevlerinde, tahmin edilen kusur maskesi ile gerçek kusur maskesi arasındaki kesişimin birleşime oranını ölçer. Bu değer 1’e yaklaştıkça kusur bölgesinin doğruluğu artar.
  • Pixel-Level ve Image-Level Doğruluk: Görsel anomali tespitinde, piksel düzeyinde anomali tespiti (segmentasyon) ve görüntü düzeyinde anomali tespiti (sınıflandırma) ayrımı yapılır. Anomalib, her iki düzeyde de metriği raporlayabilir.

Anomali tespit uygulamalarında, sadece genel sınıflandırma performansı değil, kusur bölgelerinin doğru konumlanması da kritik öneme sahiptir. Endüstriyel senaryolarda yanlış tespit edilen bölgeler veya gözden kaçırılan kusurlar, üretimde maliyetli hatalara yol açabilir. Bu nedenle, modele ait olası hatalar ayrıntılı şekilde incelenerek, gerekli optimizasyonlar yapılmalıdır.

Deneysel Sonuçlar​

MVTec AD veri seti kullanılarak yapılan deneylerde, her bir kategori (örneğin “Bottle”, “Cable”, “Carpet” vb.) üzerinde bağımsız olarak eğitilen modellerin sonuçları sıklıkla bir tablo halinde sunulur. Bu tablo, Image-level AUC veya Pixel-level AUC gibi metrikleri yansıtarak modellerin hangi kategorilerde daha başarılı olduğunu gösterir.

ModelKategoriImage-level AUCPixel-level AUC
PaDiM (ResNet18)Bottle98.592.3
PaDiM (ResNet18)Cable94.289.1
STFPM (WideResNet50)Bottle97.890.4
STFPM (WideResNet50)Cable93.688.7

Örnek tabloda, Bottle ve Cable kategorileri için PaDiM ve STFPM modellerinin sonuçları yer almaktadır. PaDiM (ResNet18) modelinin Bottle kategorisinde 98.5’lik image-level AUC ve 92.3’lük pixel-level AUC elde ettiği görülür. Bu değerler, modelin Bottle kategorisindeki kusurları oldukça yüksek doğrulukla tespit ettiğini gösterir. Öte yandan, Cable kategorisinde performans nispeten düşmüştür; bu da veri setindeki kusur tipinin veya ürünün karmaşıklığının model için daha zorlu bir görev teşkil ettiğini göstermektedir.

Deneysel sonuçlar karşılaştırılırken, veri seti boyutunun ve eğitim parametrelerinin de göz önüne alınması önemlidir. Aynı model, farklı eğitim süreleri veya farklı backbone mimarileriyle eğitildiğinde sonuçlar değişebilir. Ayrıca, veri ön işleme tekniklerinin (örneğin normalleştirme, kırpma, döndürme, renk uzayı dönüşümü) de model performansına etkisi sıklıkla gözlemlenir.

Kod Örnekleri​

Anomalib kullanarak MVTec AD üzerinde deney yapmak isteyenler için tipik bir çalışma akışı aşağıdaki gibi olabilir. Öncelikle veri seti yapısını anlamak ve path ayarlarını kontrol etmek gerekir. Ardından model eğitilir ve sonuçlar analiz edilir.

piton:
import os
from anomalib.data.mvtec import Mvtec
from anomalib.config import get_configurable_parameters
from anomalib.trainers import get_model
import pytorch_lightning as pl

MVTec AD veri seti klasörü

mvtec_root = “/path/to/mvtec”

Veri seti klasöründeki alt klasörleri listeler

categories = os.listdir(mvtec_root)
print(“Bulunan Kategoriler:”, categories)

Bir kategori seçelim

selected_category = “bottle”
config_path = “configs/padim.yaml”
config = get_configurable_parameters(config_path=config_path)
config.dataset.category = selected_category
config.dataset.path = mvtec_root

Model ve verisetini başlatalım

model = get_model(config)
data_module = Mvtec(
root=config.dataset.path,
category=config.dataset.category,
transform=None,
split_ratio=0.2
)

trainer = pl.Trainer(
max_epochs=config.trainer.max_epochs,
gpus=config.trainer.gpus,
precision=config.trainer.precision
)

trainer.fit(model, datamodule=data_module)

Yukarıdaki kod parçacığında Mvtec sınıfı, Anomalib’in veri modülünü kullanarak MVTec AD veri setini yükler. selected_category değişkeniyle Bottle kategorisi seçilir. Konfigürasyon dosyasındaki değerler Python kodu üzerinden güncellenerek esnek bir yapı oluşturulur. Eğitim tamamlandığında, modelin kaydedildiği klasör içerisinde sonuç dosyaları, ısı haritaları ve metrik değerleri yer alır.

Eğitim sonrası modelin test verisini nasıl değerlendirdiğini görmek için ek bir kod bloğu kullanılabilir:

piton:
test_results = trainer.test(model, datamodule=data_module)
print(test_results)

Bu çıktı, image-level ve pixel-level metrikler ile ROC eğrileri gibi bilgileri içerir. Daha detaylı inceleme için modelin tahmin ettiği ısı haritaları kaydedilebilir:

piton:
model.save_heatmaps = True
trainer.test(model, datamodule=data_module)

Bu durumda, her bir test örneğine ait ısı haritası ve maskeler sonuç klasöründe saklanır. Bu görseller incelenerek modelin kusur bölgelerini ne kadar doğru tespit ettiği gözlenebilir.

Uygulama Senaryoları​

Anomalib ve MVTec AD veri seti, akademik araştırmaların ötesinde farklı endüstriyel senaryolara uyarlanacak çeşitli yöntemler için büyük bir potansiyel taşır. Farklı sektörlerde karşılaşılan anomali tespiti ihtiyaçlarını ele alarak bu kütüphaneyi aktif şekilde kullanmak mümkündür.

  • Yüzey Kalite Kontrolü: Metal, tekstil veya ahşap yüzeylerdeki çizik, renk değişimi, delik gibi kusurların tespiti için Anomalib içerisindeki segmentasyon tabanlı yöntemler oldukça etkilidir.
  • Ambalaj ve Paketleme Hataları: Gıda veya ilaç sektöründe, ambalajların veya ürünlerin dış yüzeyindeki yırtılmalar, deformasyonlar, eksik baskılar kolayca algılanabilir.
  • Tahribatsız Muayene: Radyografik veya termal görüntülerdeki hataların belirlenmesi için makine öğrenimi tabanlı anomali tespiti uygulanır. MVTec AD veri seti daha çok görünür ışık fotoğraflarına odaklansa da prensipler benzer şekilde adapte edilebilir.
  • Otomotiv Parça Kontrolleri: Üretim hattında geçen binlerce parçanın hızlı ve hatasız incelenmesi, anomali tespiti sayesinde büyük ölçüde otomatikleştirilebilir.
  • Akıllı Tarım ve Gıda Teknolojileri: Meyve-sebze sınıflandırması ve hastalıklı ürün tespiti gibi alanlarda, benzer bir veri işleme hattı kurmak mümkündür.

Bu gibi uygulamalarda, verinin doğası ve kusur tipleri farklılık gösterir. MVTec AD veri seti, özellikle endüstriyel ürün ve yüzey anomali tespiti konusunda temel bir standart sağlar. Anomalib ise bu veri seti üzerinde test edilmiş, çeşitli modellere hızlı bir başlangıç yapma imkânı verir. Böylece, gerçek dünya uygulamalarında hangi modelin daha uygun olduğunun ön analizi yapılabilir.

Gelecekteki Gelişme Alanları​

Anomalib ve MVTec AD veri seti, görsel anomali tespitinde önemli ilerlemeler kaydetmeye imkân tanısa da sürekli gelişen teknolojik ihtiyaçlar doğrultusunda yeni araştırma konuları ve geliştirme alanları ortaya çıkar. Bu kısımda, anomali tespitinde öne çıkan ve gelecekte daha fazla önem kazanması beklenen bazı yaklaşımlar ele alınmaktadır.

Yüksek çözünürlüklü veriler üzerinde çalışmak, özellikle endüstriyel kontroller için kritik bir ihtiyaçtır. Dikkat tabanlı (attention-based) modeller, büyük boyutlu görsellerin farklı bölgelerindeki detayları daha etkin şekilde yakalayabilir. Transformer tabanlı yaklaşımlar, yerel özelliklerin yanı sıra uzak mesafeli ilişkileri de öğrenebildiklerinden giderek daha popüler hale gelmektedir. Anomalib, bu tür modelleri entegre eden modülleri barındırır. Gelecek dönemde, daha derin ve karmaşık ağların eklenmesiyle zenginleşmesi beklenir.

Çok modlu veriye (örneğin derinlik kameraları, termal görüntüler, hiper-spektral sensörler) yönelik anomali tespiti yöntemleri de giderek yaygınlaşmaktadır. Her sensör tipinin sağlayabileceği ek bilgiler, kusurların daha güvenilir şekilde saptanmasına yardımcı olur. MVTec AD veri seti, şu anda çoğunlukla RGB görseller içerir. Ancak farklı sensörlerden toplanan verilerin de eklenmesiyle, veri seti veya benzerleri daha da zenginleşebilir. Bu da Anomalib gibi kütüphanelerin çoklu girdi tiplerini desteklemesi yönünde gelişmelere yol açar.

Gerçek zamanlı uygulama ihtiyaçları da giderek artar. Üretim bantlarında veya hızla akan video verilerinde anomali tespiti yapmak için hafif model tasarımları ve FPGA veya GPU hızlandırma stratejileri önem kazanır. Mevcut modellerin birçoğu yüksek doğruluk oranına sahip olsa da çalışma hızları farklıdır. Dolayısıyla, mimarinin optimizasyonu, model sıkıştırma (model pruning), kuantalama (quantization) gibi teknikler önem taşır. Anomalib, PyTorch Lightning alt yapısını kullanması sayesinde farklı donanımlar üzerinde kolayca deney yapılmasına uygundur.

Etik ve gizlilik konuları da anomali tespiti için önem kazanır. Bazı endüstriyel kurulumlarda veya kişisel verilerin olduğu senaryolarda, verinin bulut ortamına taşınması yerine uç cihazlarda (edge) işlenmesi gerekebilir. Bu da federated learning veya gizli veri paylaşımı (privacy-preserving) tekniklerine duyulan ihtiyacı artırır. Önümüzdeki dönemde, Anomalib gibi kütüphanelerin bu yaklaşımlara entegrasyon sağlaması beklenebilir.

Akademik alandaki gelişmeler, büyük ölçüde açık kaynak kodlu kütüphaneler ve standardize edilmiş veri setleri aracılığıyla desteklenir. MVTec AD, anomali tespiti için bu işlevi layıkıyla yerine getirir. Anomalib gibi aktif geliştirilen kütüphaneler de hem araştırma hem de uygulama projeleri için sağlam bir temel oluşturur. Kullanıcı topluluğundan gelen katkılar, bu kütüphanelerin daha kararlı, kapsamlı ve esnek hale gelmesini sağlar.

Modellerin açıklanabilirliği (explainability) giderek daha fazla ön plana çıkmaktadır. Bir modelin anomali veya kusur olarak işaretlediği bölgeyi hangi ipuçlarına dayanarak seçtiğinin anlaşılması, endüstriyel kullanımda güven sağlar. Grad-CAM veya benzeri açıklayıcı yöntemlerin anomali tespit modellerine uyarlanması üzerine birçok araştırma yürütülmektedir. Anomalib, ısı haritaları ve maskeleme teknikleri ile bu ihtiyacı kısmen karşılar. İlerleyen zamanlarda, daha gelişmiş açıklama mekanizmalarının entegre edilmesi beklenebilir.

Yapılandırılmış ışık, akıllı sensörler veya robotik sistemler gibi gelişen teknolojiler, anomali tespitine ek boyutlar kazandırır. Üretim hattında, sadece görüntü işleme tabanlı bir sistem yerine robot kollar, çeşitli sensör füzyonu ve veri analitiği yöntemleri bir araya getirilerek daha bütüncül çözümler elde edilir. Bu noktada, Anomalib ve MVTec AD veri seti, derin öğrenme tabanlı yazılım bileşenlerinin standart bir şekilde test edilmesi için önemli bir referans noktası olmayı sürdürür.

Gerçek dünyada, veri setleri sıklıkla dengesiz (imbalanced) veya oldukça gürültülü olur. Bazı kusur tipleri çok az, bazıları ise bolca bulunabilir. Mevcut anomali tespiti yöntemleri, çoğu zaman normal verilerin çok sayıda olduğu, kusurlu verilerin az olduğu senaryolar için optimize edilir. Yarı-denetimli öğrenme yöntemleri bu duruma bir çözüm sunar. Fakat, ileri düzey veri genişletme (augmentation), sentezlenmiş kusur üretme veya meta-öğrenme (meta-learning) yaklaşımları da aktif araştırma konuları arasındadır. Anomalib, bu alanda ek modüller sağlayarak araştırmacıların deneylerini hızlandırabilir.

Çoklu ölçek (multi-scale) analiz de önemli bir konudur. Bazı kusurlar, makro seviyede (büyük yüzey deformasyonları) anlaşılırken, bazıları mikro seviyede (küçük çizikler) kalır. Modelin hem makro hem de mikro seviyedeki ipuçlarını birleştirebilmesi, anomali tespiti başarısını yükseltir. Transformer tabanlı mimariler veya çoklu evrişim katmanlarını birleştiren (feature pyramid) yapılar, bu alanda sıklıkla incelenir. Anomalib içerisindeki STFPM (Student-Teacher Feature Pyramid Matching) yöntemi, çoklu ölçekli yaklaşımın bir örneğidir.

Ayrıca, gerçek zamanlı geri besleme sistemleri, üretim hattında tespit edilen kusurları anında ilgili birimlere aktararak düzeltici aksiyonların hızlıca alınmasını sağlar. Özellikle yüksek hacimli üretimlerde, her parçanın tek tek insan tarafından incelenmesi mümkün değildir. Derin öğrenme tabanlı bir anomali tespiti sistemi, kaydedilen video görüntülerinden veya anlık fotoğraflardan analiz yaparak kusurlu ürünün banttan çekilmesini sağlayabilir. İlerleyen dönemlerde, Anomalib gibi kütüphanelerin de bu tür gerçek zamanlı işleme araçlarıyla entegrasyonu beklenir.

Modelin dayanıklılığı (robustness) ve genelleme yeteneği de öne çıkan bir diğer başlıktır. Model, eğitimde görmediği kusur tiplerini veya farklı üretim koşullarını algılayabilecek seviyede esnek olmalıdır. Bu açıdan, veri artırma teknikleri ve çeşitli düzenleştirme (regularization) yöntemleri önem kazanır. MVTec AD, farklı nesne kategorileri sunarak modelin genel bir bakış açısı kazanmasını sağlar. Fakat, gerçekte üretim hattı koşulları çok daha geniş bir varyasyona sahip olabilir. Dolayısıyla, gerçek veri ile sürekli güncellenen bir eğitim süreci (continual learning) de araştırma konuları arasındadır.

Derin öğrenme tabanlı anomali tespiti, hem akademik hem de endüstriyel çevrelerde dinamik bir gelişim sürecindedir. Anomalib ve MVTec AD veri seti, bu süreçte önemli rol oynamayı sürdürür. Mevcut modellerin verimli uygulanması, yeni modellerin araştırılması ve kurumsal ölçekte entegrasyon çalışmalarının desteklenmesi, kapsamlı bir ekosistem ortaya çıkarmaktadır. Python ortamında, PyTorch Lightning altyapısı üzerinden hızlı prototipleme ve deney yürütme imkânı, bu ilerlemenin merkezinde yer alır.

AvantajlarZorluklar
Yüksek performanslı anomali tespiti Büyük boyutlu verilerde hesaplama maliyeti
Zengin model kütüphanesi ve karşılaştırma olanağıGerçek zamanlı uygulamalarda optimizasyon ihtiyacı
Standart veri seti (MVTec AD) sayesinde ölçülebilir performansVeri dengesizliği ve gürültülü etiketler
Görselleştirme ve açıklanabilirlik araçlarıYeni kusur tiplerine genelleme zorluğu

Yukarıdaki tabloda, modern anomali tespiti yaklaşımlarının avantajları ve potansiyel zorlukları özetlenir. Verinin çeşitliliği ve modelin esnekliği birleştiğinde yüksek performans elde edilebilir. Ancak, gerçek dünya koşullarında veri kalitesi her zaman ideal olmayabilir. Ayrıca, düşük gecikme süresiyle çalışmak, ilave optimizasyon çabalarını gerektirir.

Anomalib, kullanıcı topluluğu ve araştırmacıların katkılarıyla sürekli güncellenmektedir. Mevcut geliştirici ekibi, her yeni sürümde ek model entegrasyonları, iyileştirilmiş bellek yönetimi ve yeni veri setleri için destek eklemeyi hedefler. GitHub gibi platformlar üzerinden açık kaynak geliştirme süreci yürütülür, böylece hem hatalar hızla düzeltilir hem de yeni özellikler eklenir.

MVTec AD veri seti, anomali tespitinde diğer veri setleriyle (Ör. Koleksiyon veya DAGM) karşılaştırıldığında daha geniş bir yelpaze sunar. Bu nedenle pek çok akademik yayında MVTec AD, yöntemlerin geçerliliğini kanıtlamak için kullanılır. Endüstriyel şirketler de pilot çalışmalarında bu veri setinden elde ettikleri sonuçları referans alarak kendi özel veri setleriyle ilerler. Anomalib ise bu tür pilot çalışmaların hızlıca yapılandırılmasında ve hangi modelin seçileceğine dair analizlerin gerçekleştirilmesinde büyük kolaylık sunar.

Veri toplama, etiketleme ve saklama süreçleri de anomali tespitinin başarısını doğrudan etkiler. Hatalı etiketlenmiş veriler veya yetersiz sayıda kusur örneği, modelin genelleme yeteneğini zayıflatır. Bu nedenle, MVTec AD gibi kaliteli ve iyi tanımlanmış veri setleri büyük değer taşır. Fakat gerçek dünya uygulamalarında da benzer bir titizlikle veri toplamak ve düzenlemek gerekir. Kimi zaman, küçük bir veri setiyle başlamak ve modele “transfer learning” aracılığıyla önceden eğitilmiş ağırlıklar sunmak iyi bir çözüm olabilir. Anomalib, transfer learning senaryolarını destekleyecek şekilde tasarlanmıştır.

Farklı veri setleriyle yapılan deneysel çalışmalar, model seçimini kolaylaştırır. Örneğin, çok küçük kusurları tespit etmede başarılı olan bir model, başka bir veri setindeki büyük ölçekli deformasyonlarla baş etmede o kadar etkili olmayabilir. Aynı şekilde, karmaşık yüzey dokularına sahip kategoriyle, homojen yüzeye sahip kategori arasında model performansları farklılaşabilir. Bu nedenle, deney tasarımında veri setinin özellikleri iyi analiz edilmelidir.

Makine öğrenimi ve derin öğrenme literatüründeki ilerlemeler, anomali tespit alanında sürekli yenilikler doğurur. Özellikle, son yıllarda self-supervised öğrenme yaklaşımları popülerlik kazanmıştır. Bu yaklaşımda, model normal veriler içindeki gizli yapıları öğrenmek için etiket gerektirmeyen ön görevler (pretext tasks) kullanır. Ardından, anomali tespiti asıl görevine daha güçlü temellerle geçiş yapılır. Anomalib geliştiricileri de bu tarz yenilikleri kütüphaneye eklemek için çalışmalar yürütmektedir. MVTec AD veri seti, bu yaklaşımları test etmek için de ideal bir seçenek sunar.

Bir başka dikkat çekici konu, sürekli değişen üretim koşullarına uyum sağlama ihtiyacıdır. Ortam ışığı, kamera konumu, üretim hızı gibi birçok faktör değişebilir. Modelin bu değişikliklere hızlı adapte olabilmesi için online öğrenme veya artan öğrenme (incremental learning) yöntemleri araştırılır. Bu kapsamda, her yeni parti veride modelin yeniden eğitilmesi veya incelenmesi gerekebilir. Verinin dağılımında kaymalar (domain shift) meydana gelmesi, anomali tespiti performansını olumsuz etkileyebilir. Dolayısıyla, robustluk ve dayanıklılık açısından ilerleyen dönemde ek yöntemler Anomalib’e eklenebilir.

Ağ mimarilerinin sürekli büyümesi ve karmaşıklaşması, anomali tespitinde daha yüksek doğruluğu mümkün kılarken, aynı zamanda hesaplama maliyeti sorununu da beraberinde getirir. Endüstriyel ortamlarda, her zaman çok güçlü GPU’lar veya geniş sunucu kaynakları bulunmayabilir. Bu durumda, “model pruning”, “knowledge distillation” veya “quantization” gibi tekniklerle modellerin hafifletilmesi sıkça tercih edilir. Anomalib’in modüler yapısı, bu teknikleri uygulamak için temel sağlar. Yapılacak ek geliştirmeler, performans ile hız arasında optimum dengeyi yakalamayı hedefler.

Pratikte, anomali tespit sistemi kurulurken veri altyapısı, etiketleme süreci, model eğitimi, sonuçların değerlendirilmesi ve sistem entegrasyonu gibi birden fazla aşama söz konusudur. Her aşama, kendi içinde farklı zorluklara ve uzmanlık alanlarına ihtiyaç duyar. Örneğin, veri etiketlemesi genellikle manuel bir süreçtir ve maliyetlidir. Yarı-denetimli veya denetimsiz yöntemler bu maliyeti azaltabilir; ancak etiketlerin az olması ya da hiç olmaması durumu, modelin hatalarını teşhis etmeyi zorlaştırır. Anomalib, kullanım kolaylığı sağlayarak bu sürecin bir kısmını kolaylaştırsa da verinin yönetimi ve hazırlığı yine de özen ister.

Gerçek üretim ortamında, kusurlu ürünlerin dağılımı sürekli değişebilir. Başlangıçta çok nadir olan bir kusur tipi, zamanla üretim sürecindeki bir problem nedeniyle daha sık görülmeye başlayabilir. Bu durum, modelin tutarlı bir performans göstermesini zorlaştırabilir. Sürekli güncellenen bir veri beslemesi ve model iyileştirme döngüsü (feedback loop), bu riski azaltır. Bu tür yaklaşımlar, MLOps (Machine Learning Operations) kavramının bir parçası olarak ele alınır. Anomalib, PyTorch Lightning ve benzeri araçlarla entegre çalışarak bu süreçlerin otomasyonunu kolaylaştırabilir.

MVTec AD veri setinin farklı zorluk seviyesine sahip kategorileri, modelin nerelerde zayıf kaldığını görmek açısından da faydalıdır. Örneğin, “Wood” veya “Leather” kategorilerinde yüzey dokuları oldukça karmaşık olabilir. Bu kategorilerde düşük başarı elde eden bir model, belki daha iyi bir dokusal özellik (texture feature) yakalama becerisine sahip bir mimariyle geliştirilebilir. Yine benzer şekilde, “Pill” gibi kategori, nesnelerin şekil benzerliği yüksek olduğu için bir kusur bile küçük bir farkla ayırt edilebilir. Bu da modelin detay çözünürlüğünü öne çıkaran bir gereksinimdir.

Sınırlı veri senaryolarında, çeşitli veri üretme (synthetic data generation) araçları ve simülasyon ortamları da kullanılabilir. Bazı çalışmalar, fotorealistik render motorlarıyla üretim ortamlarını simüle ederek kusur örnekleri oluşturur. Bu yaklaşım, gerçek veri setlerini zenginleştirir ve modelin öğrenmesini destekler. Anomalib, bu tür sentetik veri setleriyle de benzer şekilde çalışabilir; çünkü veri yükleme mekanizması esnek ve genişletilebilir bir yapıya sahiptir. Farklı formatlardaki verileri okumak ve dönüştürmek için PyTorch tabanlı veri seti ve veri yükleyicisi (DataLoader) mekanizmalarını kullanır.

Bu metinde ele alınan noktalar, Anomalib ile MVTec AD veri seti üzerinde görsel anomali tespiti gerçekleştirmenin yöntemlerini ve hangi parametrelerin model başarısını etkilediğini ayrıntılı şekilde ortaya koyar. Endüstriyel süreçlerin iyileştirilmesinde, ürün kalitesinin artırılmasında ve üretim maliyetlerinin düşürülmesinde bu tür teknolojilerin kullanımı giderek yaygınlaşmaktadır. Python ekosistemi, bu alanın gelişmesi için gerekli esnekliği ve hesaplama gücü desteğini sağlayan bir temel sunar. Anomalib, bu temel üzerinde inşa edilmiş, modüler ve kullanıcı dostu bir kütüphanedir. MVTec AD veri seti de deneysel çalışmaların standardizasyonu ve karşılaştırma yapılabilirliği açısından büyük önem taşımaktadır.

Kaynakça ve Ek Bilgiler​

Anomali tespiti literatürü, farklı disiplinlerden çok sayıda çalışma içerir. Görsel anomali tespitinin yaygınlaştığı endüstriyel sektörler yanında tıbbi görüntü analizi, siber güvenlik, finans gibi alanlar da bu konuda yoğun araştırmalar yürütür. Derin öğrenme yaklaşımları, son yıllarda istatistiksel yöntemlere önemli ölçüde fark atarak anomali tespiti başarısını yukarı çekmiştir. Konu hakkında daha detaylı okumalar yapmak isteyenler için belli başlı makale ve kaynaklar şu şekilde sıralanabilir:

  1. Bergmann, P., Fauser, M., Sattlegger, D., & Steger, C. (2019). “MVTec AD–A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection.” CVPR.
  2. Ruff, L., Kauffmann, J. R., Vandermeulen, R. A., et al. (2020). “A Unifying Review of Deep and Shallow Anomaly Detection.” Proceedings of the IEEE, 109(5).
  3. Anomalib Resmi Rehberi: https://github.com/openvinotoolkit/anomalib
  4. PyTorch Lightning: https://www.pytorchlightning.ai/
  5. MVTec AD Veri Seti: https://www.mvtec.com/company/research/datasets/mvtec-ad/

Akademik çalışmalarda Anomalib ve MVTec AD üzerine kurgulanacak deneyler, yeni yöntemlerin doğrulanması veya mevcut yöntemlerin geliştirilmesi için güçlü bir temel oluşturur. Hızla değişen teknoloji ve sektörel ihtiyaçlar, anomali tespiti yöntemlerinin her geçen gün iyileştirilmesini ve yeni yöntemlerin tasarlanmasını gerektirmektedir. Bu süreci destekleyen kütüphaneler ve veri setleri, araştırmacılar ve uygulayıcılar için vazgeçilmez unsurlardır.
 

Üyeler çevrimiçi

Şu anda çevrimiçi üye yok.

Son gönderiler

Trend içerik

shape1
shape2
shape3
shape4
shape5
shape6
Geri
Tepe