Performance evaluation of a parallel image enhancement technique for dark images on multithreaded CPU and GPU architectures


Creative Commons License

Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Marmara Üniversitesi, Fen Bilimleri Enstitüsü, Elektrik ve Elektronik Mühendisliği (İngilizce) Anabilim Dalı, Türkiye

Tezin Onay Tarihi: 2021

Tezin Dili: İngilizce

Öğrenci: BATUHAN HANGÜN

Danışman: Salih Bayar

Özet:

Görüntü işleme; savunma sanayisi, biyomedikal, tüketici elektroniği gibi sektörlerde uygulamaları olan bir araştırma alanıdır. Zamanla, kullanılan algoritmaların karmaşıklığı ve kullanılan görüntülerin çözünürlüğü artmıştır. Buna karşın, karmaşıklığı fazla algoritmaların çalıştırılmasının ya da büyük boyutlu görüntülerin işlenmesinin tek çekirdekli merkezi işlem birimleri ile yeteri kadar hızlı bir şekilde yapılamadığı görülmüştür. Bunun sonucunda çok çekirdekli merkezi işlem birimleri kullanılmaya başlanmıştır fakat bunun da yetersiz kaldığının fark edilmesi üzerine yüzlerce aritmetik ve mantık işlem birimi barından grafik işleme birimlerinin görüntü işleme alanında kullanımı önem kazanmıştır. Grafik işleme birimleri de standart mikrodenetleyiciler gibi alt-seviyeli ve üst-seviyeli bazı programlama ara yüzleri ile programlanabilmektedir. Alt-seviyeli programlama ara yüzleri yüksek performans getirileri sunsa da bu programların geliştirilmesi zamanın yanında yüksek miktarda donanım bilgisi de gerektirmektedir bu da araştırmacılara zorluk çıkarmaktadır. Bu tez çalışmasında amaç, alt-seviyeli bir ara yüz kullanmadan, sadece üst-seviyeli bir ara yüz kullanarak görüntü işleme operasyonlarını grafik işleme birimi üzerinde çalıştırmak ve üst-seviyeli ara yüzlerin de kayda değer bir hızlanma sağladığını göstermek, böylece araştırmacıları çalışmalarında üst-seviyeli ara yüzlerle grafik işlemcilerini programlamaya teşvik etmektir. Çalışma dahilinde literatürden seçilen bir görüntü işleme yöntemi, OpenMP uygulama programlama ara yüzü ve CUDA temelli OpenCV uygulama programlama ara yüzü ile C++ programlama dili kullanılarak uygulanmıştır. Uygulama öncelikle kırk sekiz çekirdekli bir bulut bilgisayarında çalıştırılarak merkezi işlem biriminin performansı ölçülmüştür. Aynı uygulama daha sonra NVIDIA GeForce 1050 GTX TI grafik kartı ve Intel i7-7700HQ merkezi işlem birimi barındıran bir kişisel bilgisayar üzerinde çalıştırılmış ve performans sonuçları karşılaştırılmıştır. Sonuçlar, belli etkenlere bağlı olarak, grafik işlemci biriminin, merkezi işlem birimine göre yirmi beş kata kadar hızlanma sağladığını göstermiştir.