Super Resolution
Süper çözünürlük, düşük çözünürlüklü bir görüntüden enterpolasyonun geri kazandıramayacağı ayrıntıları tahmin ederek daha yüksek çözünürlüklü bir görüntü oluşturur. Modelleri ve kodu ele alır.
Süper çözünürlük (SR), düşük çözünürlüklü bir girdiden daha yüksek çözünürlüklü bir görüntü veya video oluşturan bilgisayarlı görü teknikleri ailesidir. Bikübik enterpolasyon gibi klasik ölçek büyütme yöntemleri mevcut pikselleri yalnızca daha büyük bir ızgaraya yayar; bu nedenle kenarlar yumuşar ve ince dokular bulanıklaşır. Öğrenilmiş bir SR modeli, düşük ve yüksek çözünürlüklü görüntü çiftleri üzerinde öğrendiği örüntülerden keskin kenarlar, metin çizgileri ve kumaş ya da yaprak dokuları gibi eksik yüksek frekanslı ayrıntıları tahmin eder. Tek görüntülü süper çözünürlük (SISR) tek bir görüntüyü kullanır; video süper çözünürlüğü ise aynı sahne hakkında biraz farklı bilgiler yakalayan komşu karelerden de yararlanır.
Süper Çözünürlük Nasıl Çalışır#
Süper çözünürlük, kötü konmuş bir problemdir: Birbirinden farklı pek çok yüksek çözünürlüklü görüntü aynı düşük çözünürlüklü görüntüye küçültülebilir; bu nedenle model, doğal görüntüler hakkında öğrendiklerine dayanarak en olası sonucu seçmelidir. Eğitim çiftleri, yüksek çözünürlüklü görüntülerin bulanıklaştırılması, 2× veya 4× gibi bir faktörle küçültülmesi, gürültü eklenmesi ve sıkıştırılmasıyla oluşturulur. Bu bozulma modeli, ağın hangi gerçek girdileri işleyebileceğini belirler; Real-ESRGAN, gerçek fotoğraf ve videoları temiz biçimde küçültülmüş görüntüler kadar iyi iyileştirebilmek için rastgele sıralanmış bozulmalarla eğitilir.
Mimariler, derin öğrenmenin geri kalanıyla aynı yolu izledi. SRCNN, 2014'te üç katmanlı bir evrişimli sinir ağının (CNN) klasik yöntemlerden daha iyi sonuç verdiğini gösterdi. ESPCN, evrişimlerini düşük çözünürlükte uygular ve yalnızca sonunda kanalları daha büyük bir görüntüye dönüştüren alt piksel evrişimiyle ölçeği büyütür; bu sayede gerçek zamanlı 1080p videoyu işleyecek kadar hızlıdır. EDSR çok sayıda artık blok üst üste ekledi, SwinIR modelini kaydırılmış pencere görüntü Transformer bloklarıyla kurdu ve difüzyon modelleri yinelemeli gürültü giderme yoluyla ayrıntı üretir.
Kayıp fonksiyonu, "daha iyi"nin ne anlama geldiğini belirler. L1 veya ortalama kare hata gibi piksel kayıpları özgün görüntüye bağlılığı en üst düzeye çıkarır; ancak olası sonuçların ortalamasını aldıkları için görüntü pürüzsüz görünür. SRGAN, derin özellikler üzerinde algısal bir kayıp ve bir üretici çekişmeli ağdan (GAN) gelen çekişmeli bir kayıp ekleyerek keskin ve gerçekçi dokular üretti. Bu dokular gerçek sahneyle piksel piksel örtüşmeyebilir; bu durum, uydurulmuş bir ayrıntının kanıt sanılabileceği tıbbi ve adli görüntüleme alanlarında risk oluşturur.
Süper Çözünürlüğü Ölçme#
Bağlılık, desibel cinsinden ortalama kare hatanın logaritmik ölçüsü olan tepe sinyal-gürültü oranıyla (PSNR) ve yapısal benzerlik indeksiyle (SSIM) ölçülür. LPIPS gibi algısal ölçütler derin özellikleri karşılaştırır ve gerçekçilik konusundaki insan değerlendirmeleriyle daha yakından örtüşür. Aşağıdaki karşılaştırma, bir görüntüyü 4× küçültüp bikübik enterpolasyonla ve OpenCV üzerinden alınan önceden eğitilmiş bir ESPCN modeliyle yeniden oluşturur:
import urllib.request
import cv2 # cv2.dnn_superres requires: pip install opencv-contrib-python
# Download a pretrained 4x ESPCN model and a test image cropped to a multiple of 4
urllib.request.urlretrieve("https://github.com/fannymonori/TF-ESPCN/raw/master/export/ESPCN_x4.pb", "ESPCN_x4.pb")
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
original = cv2.imread("bus.jpg")[:1080, :808]
# Simulate a low-resolution capture by shrinking the image 4x
low_res = cv2.resize(original, (202, 270), interpolation=cv2.INTER_CUBIC)
# Upscale 4x with bicubic interpolation and with the learned ESPCN model
bicubic = cv2.resize(low_res, (808, 1080), interpolation=cv2.INTER_CUBIC)
sr = cv2.dnn_superres.DnnSuperResImpl_create()
sr.readModel("ESPCN_x4.pb")
sr.setModel("espcn", 4)
espcn = sr.upsample(low_res)
# Higher PSNR means the reconstruction is closer to the original image
print(f"Bicubic: {cv2.PSNR(original, bicubic):.2f} dB, ESPCN: {cv2.PSNR(original, espcn):.2f} dB")Bicubic: 19.51 dB, ESPCN: 20.52 dB çıktısını verir. 1 dB'lik artış, yaklaşık 100 KB boyutundaki bir model dosyasıyla ortalama kare hatanın yaklaşık %21 azalmasına karşılık gelir.
Süper Çözünürlük ve İlgili Terimler#
- Görüntü iyileştirme: Gürültü giderme, bulanıklık giderme ve sıkıştırma bozulmalarını kaldırma da dahil olmak üzere bozulmuş bir görüntüden temiz görüntüyü geri kazanma alanının genel adıdır. Süper çözünürlük, piksel sayısını da artıran iyileştirme görevidir ve modern modeller çoğu zaman aynı anda çeşitli bozulmaları ele alır.
- Görüntü içi tamamlama: Eksik veya maskelenmiş bölgeleri doldurur; süper çözünürlük ise tamamı mevcut ancak kaba olan görüntünün her yerine ayrıntı ekler.
- Kare enterpolasyonu: Mevcut karelerin arasına yeni kareler sentezleyerek zamansal çözünürlüğü artırır; uzamsal süper çözünürlüğün zaman eksenindeki karşılığıdır.
- Üretken yapay zekâ: Metinden görüntüye modeller, istemlerden görüntüler oluşturur. Süper çözünürlük bir girdi görüntüsüne koşullandırılır ve bu görüntünün içeriğine bağlı kalmalıdır; birçok görüntü oluşturucu, son aşama olarak difüzyonla ölçek büyütücü kullanır.
Gerçek Dünya Uygulamaları#
- Oyun: NVIDIA DLSS, kareleri daha düşük çözünürlükte işler ve sinir ağıyla ölçeği büyütür; böylece benzer görsel kaliteyi korurken kare hızını artırır.
- Video akışı ve arşivler: Yayıncılar ve film restorasyonu uzmanları, standart çözünürlüklü ve arşiv görüntülerini HD ve 4K ekranlar için ölçeklendirir.
- Uydu görüntüsü analizi: Analistler binaları, yolları ve araçları haritalamak için daha düşük maliyetli görüntüleri keskinleştirir.
- Tıbbi görüntü analizi: Araştırma sistemleri, daha hızlı ve düşük çözünürlüklü çekimlerden yüksek çözünürlüklü MRI görüntüleri oluşturur ve hastanın tarayıcıda geçirdiği süreyi kısaltır.
Süper çözünürlük, düşük çözünürlüklü kaynaklardaki küçük nesneleri algılamak için bir ön işleme adımı olarak da kullanılır. Ultralytics YOLO26, her girdiyi varsayılan olarak 640 piksel olan imgsz boyutuna bilineer enterpolasyonla yeniden boyutlandırır; böylece 320×240 boyutundaki bir kamera karesi algılamadan önce 2× büyütülür. Bu enterpolasyonun yerine 2× süper çözünürlük modeli kullanmak, algılayıcıya yüzler, plakalar ve havadan görüntülerdeki araçlar gibi küçük ve uzaktaki nesnelerin yeniden oluşturulmuş kenarlarını sağlar.










