Kenar Algılama, günümüzde çeşitli uygulama alanlarında kullanılan neredeyse tüm bilgisayarlı görü tekniklerinin kritik bir unsuru haline gelmiştir1. Kenar algılama bir öznitelik çıkarma aşamasıdır ve görüntüden, geniş bir senaryo yelpazesinde uygulanabilecek bilgilendirici ve ayırt edici ayrıntıların elde edilmesinden sorumludur2. Bir görüntü içindeki kenarlar, yoğunlukta ani bir değişimin olduğu bölgeleri belirtir; bu nedenle, o görüntü hakkında önemli ve ayırt edici bilgiler sunarlar. Bu işlem, gereksiz ve ilgisiz ayrıntıların elenmesini kolaylaştırarak, yalnızca belirli uygulama için daha fazla işlenebilecek kritik ve benzersiz unsurların korunmasını sağlar.
Şekil 1'de gösterildiği gibi; kenar belirlemenin önemi, görüntü bölütleme, nesne belirleme ve tanıma, öznitelik çıkarma, görüntü iyileştirme, nesne tanımlama, tıbbi görüntüleme, gözetleme, endüstriyel otomasyon, otonom sürüş, artırılmış gerçeklik ve robotik dahil olmak üzere çeşitli görevlerdeki uygulamalarıyla vurgulanmaktadır2,3,4,5,6.
Sobel, Prewitt, Roberts, Canny ve diğerleri dahil olmak üzere kenar belirleme için birçok yöntem mevcuttur. Bu teknikler arasında Sobel kenar belirleme; kolay uygulanabilirliği, düşük uygulama karmaşıklığı ve kenarları belirlemedeki yüksek hassasiyeti ile öne çıkmaktadır3,4,5,6. Görüntünün gradyanları, Sobel Kenar algoritması tarafından, aşağıda gösterildiği gibi sırasıyla Gx ve Gy çekirdekleri kullanılarak hem yatay hem de dikey yönlerde belirlenir2,4.
Gx, şuradaki kenarları belirginleştirir × yönü ve Gy y yönündeki kenarları vurgular12,13Birlikte birleştirildiklerinde, bir görüntüdeki tüm kenarları eksiksiz olarak tanımlarlar.6Çekirdek (kernel) ile evrişim işlemi ve kayan pencere yöntemi, bir görüntüye Sobel kenar algılama işlemini uygulamak için kullanılır. Resimden örneğin 3x3 piksellik bir pencere sırayla alınır ve merkez pikselin yeni değerini elde etmek için bu pencere filtre matrisi ile evrilir. Görüntünün tamamı aynı şekilde işlenir. Sobel kenar algılamada iki tane çekirdek kullanılır: biri x yönündeki kenarları çıkarmak için, diğeri ise y yönündeki kenarlar içindir. Tüm kenarları elde etmek için bu iki sonuç daha sonra birleştirilir. Sobel kenar algılama, bazı ön işlemelerle daha da geliştirilebilen, doğru ve güvenilir sonuçlar üretir.4,5,15Tam Sobel kenar belirleme işlemi şurada yorumlanmıştır: Şekil 2.
Rapor edilen tüm literatür kenar algılama alanına önemli katkılar sağlamış olsa da, rapor edilen tüm temel araştırmalar düşük görüntü çözünürlükleri üzerinde çalışmıştır; buna karşın bu makalede sunulan çalışma, düşük çözünürlüklü görüntülerden (256 × 256) tam yüksek çözünürlüklü (HD) görüntü çözünürlüğüne (2560 × 1440) kadar değişen farklı görüntü çözünürlükleri üzerinde çalışmaktadır. Sonuç olarak, Sobel kenar algılama algoritmasının farklı görüntü çözünürlükleri için donanım uygulamasının incelenmesi, değişken görüntü çözünürlüklerine sahip gerçek zamanlı senaryolara maruz kaldığında uygulamanın verimliliğini anlamak açısından kritik öneme sahiptir. Alan Programlanabilir Kapı Dizileri (FPGA), hızlı prototip geliştirme için uygunluğu ve tüm donanım konfigürasyonunu değiştirme ihtiyacı olmadan kolay tasarım modifikasyonlarına olanak tanıyan yeniden yapılandırılabilirlik gibi avantajları nedeniyle donanım uygulamaları için uygun bir platform olarak kabul edilmiştir6,7,8,9,10,11,12,13. Ayrıca, FPGA'lar paralel işleme ve boru hattı (pipelining) potansiyeli sunar; performans metrikleri optimize edilip platform doğrulandıktan sonra tasarım, Uygulamaya Özel Tümleşik Devrelerin (ASIC) fiili üretimine doğru ilerleyebilir14,15. FPGA'nın bir diğer önemli özelliği, tasarımcıların herhangi bir donanımı değiştirme ihtiyacı duymadan ürün tasarımında her an modifikasyonlar yapabilmelerini sağlayan yeniden yapılandırılabilirliğidir. Tasarımcının VHDL/Verilog gibi donanım tanımlama dillerine hakim olması kaydıyla, tek yapılması gereken çipi yeniden programlamaktır ve bu işlem çok az zaman veya çaba gerektirir4,6,13,16,17. FPGA uygulama analizi için dikkate alınan temel parametreler hız (maksimum frekans), kaynak kullanımı ve güç verimliliğidir. FPGA alanında yayınlanan literatürün artan miktarını betimleyen Tablo 1, FPGA yayınlarının 2006'dan 2024'e kadar olan dönemde nasıl geliştiğini göstermektedir. Bu tablo, FPGA araştırma alanının artık gerçek zamanlı uygulamalara, artırılmış gerçekliğe, kenar bilişime ve diğer üst düzey uygulamalara kaydığını açıkça açıklamaktadır13,14,15,16,17,18,19,20,21,22,23.
Tablo 2, 2020–2025 yılları arasından itibaren FPGA üzerinde Sobel kenar algılama uygulamalarıyla ilgili mevcut literatürde yapılan çalışmaları vurgulamaktadır. Tablo 2; kullanılan FPGA kartını, uygulanan algoritmaları, tasarım metodolojisini, bulguları, metrikleri, uygulama alanını ve atıfta bulunulan her bir makalenin zorluklarını belirtmektedir.
Yazarlar4, kenar algılama doğruluğunu artırmak için 8 yönlü Sobel Kenar yönteminin kullanılmasını önermişlerdir, ancak önerilen metodoloji için daha yüksek kaynak tüketimi bildirmişlerdir. Navinkumar ve ark., geleneksel Sobel kenar algılamada yer alan çarpma ve karekök gibi karmaşık matematiksel işlemleri azaltmak için bir teknik kullanarak yerleşik kaynaklardan tasarruf etmiş ve hızı artırmışlardır9. Yazarlar17, Gelişmiş Sürücü Destek Sistemlerinde şeritleri belirlemek için Sobel Kenar Algılama Algoritmasının kullanımını belgelemişlerdir. Amaçları, işlem süresini kısaltırken algılama hızını artırmaktı. Genel olarak, kenar algılama kullanımı, gelecekte ilgi alanı çıkarımı için güvenilir bir yöntem olarak önerilmiştir; bu durum, bir görüntünün gerekli alanının, diğer gereksiz bilgiler göz ardı edilerek çıkarılması gereken çeşitli uygulamalarda oldukça faydalı olabilir. Kolektif olarak bildirilen zorluklar arasında daha yüksek kaynak ve bellek kullanımı, gürültüye karşı hassasiyet, yüksek hesaplama maliyeti ve yüksek çözünürlüklü görüntüler için sınırlı ölçeklenebilirlik yer almaktadır4,5,6,11,12,13,21,22,23.
Bu çalışmada, geleneksel Sobel kenar algılama algoritması uygulaması, 256 × 256 düşük çözünürlükten 2560 × 1440 tam yüksek çözünürlüğe kadar farklı görüntü çözünürlükleri için Ultra96-V2 FPGA kartı üzerinde gerçekleştirilmiştir. Ultra96-V2, yüksek performanslı uygulamalar için FPGA programlanabilirlik yeteneklerini güçlü Arm işlemci (Cortex-A53/R5) ile birleştiren bir karttır. Bu kart ilk olarak 2018 yılında piyasaya sürülmüştür ve 16 nm FinFET teknoloji düğümünü kullanmaktadır18.
Tekrarlanabilirliği sağlamak amacıyla, tüm uygulama; Yüksek Seviyeli Sentez (HLS) için Vivado HLS 2019.2 ve yerleştirme-yönlendirme (place-and-route) için Vivado 2019.2'den oluşan standart bir araç zincirinin yanı sıra Ultra96-V2 kaynakları tarafından yayınlanan PYNQ imajı kullanılarak gerçekleştirilmiştir. Sobel kenar algılama IP'sini (Fikri Mülkiyet) türetmek için HLS kodu kullanılmış; bu IP dışa aktarılarak Vivado tasarım paketine entegre edilmiştir. IP, PL (Programlanabilir Mantık) kısmına uygulanmış, FPGA'nın PS (İşleme Sistemi) kısmı ise veri transferi ve kontrol mekanizmalarından sorumlu tutulmuştur. PS'nin PL ile arayüz bağlantısı AXI protokolü üzerinden yapılmıştır. Raporlanan tüm metrikler —frekans, kaynak kullanımı ve güç— HLS tahminlerinden değil, uygulama sonrası (post-implementation) raporlardan alınmıştır. Uygulama ayarları tutarlı tutulmuş ve deneyler boyunca yalnızca görüntü çözünürlükleri değiştirilmiştir.
Bu çalışmanın önemli başarıları düşük güç tüketimi, düşük kaynak kullanımı ve yüksek hız açısından gerçekleşmiştir. Sonuçlar, yüksek çözünürlüklü görüntüler için yerleşik kaynak kullanımının %20'den az olduğunu ( %18 Look Up Tables (LUTs), %11 Flip Flops (FF), %3 bellek ve %10 DSP) göstermektedir; bu durum, kenar belirlemenin yalnızca ara bir adım olduğu herhangi bir bilgisayarlı görü sisteminde beklendiği üzere, bu görüntüler üzerinde çok daha fazla işlem entegre etmek için geniş bir imkan olduğunu belirtmektedir. Ayrıca, güç tüketimi yaklaşık 2 W ve maksimum çalışma frekansı 144 MHz olarak rapor edilmiştir. Sonuçlar, görüntü boyutlarının yaklaşık 56 kat artırılmasının kaynak kullanımını yalnızca yaklaşık %20 oranında artırdığını göstermektedir. Hız ve güç tüketimi de yine sadece yaklaşık %20 oranında düşmüştür. Bu analiz, algoritmayı önceki literatürde rapor edilmemiş farklı bir perspektiften önemli ölçüde incelemektedir ve bu nedenle uygulamanın, kenar belirleme sonrası sonraki aşamalarda gerekli olan bilgi miktarını kesinlikle azaltan küçük boyutlu/düşük çözünürlüklü görüntülerle sınırlandırmaya gerek kalmadan, gerçek zamanlı uygulamalar için oldukça uygun olduğunu göstermektedir.
Bu çalışmanın yeniliği algoritmanın kendisinde değil, HLS tabanlı uygulama tekniklerinin avantajlarından yararlanarak, geleneksel Sobel kenar algılama algoritmasının modern heterojen FPGA mimarilerinde çeşitli görüntü çözünürlükleri üzerindeki performansının değerlendirilmesine odaklanmasındadır. Bu makalenin temel katkıları, öncelikle bir FPGA üzerinde uygulanan hibrit bir metodolojinin kullanımında olup, tasarımın farklı çözünürlüklere zahmetsizce uyum sağlamasına olanak tanımak için iş yükünü mimarinin PS ve PL bölümleri arasında etkili bir şekilde dağıtmasıdır. Bir diğer katkı ise, kaynak ölçeklendirmenin görüntü çözünürlüklerindeki değişikliklerle nasıl değiştiğini değerlendirmek için yapılan deneyleri kapsamakta olup, bu durum farklı kurulumlar ve çeşitli uygulamalar genelinde performansın anlaşılmasına yardımcı olmaktadır.