OpenCL ile gerçek zamanlı doğal taş tasnifi ve performans analizi
Real-time natural stone classification  with openCL and performance analysis
Yazar: ABDULLAH SERDAR ÖNDER
Danışman: DR. ÖĞR. ÜYESİ TUNA GÖKSU
Süleyman Demirel Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Doğal taş üretim tesislerinde, taşların doğru seleksiyona (çeşitlilik) ait kasalara yerleştirilememesi hatalı sınıflandırma sonuçlarını doğurabilmektedir. Bu sonuçlar, montaj sonrasında doğal taşlar arasında görsel uyumsuzluk yaratmakta bu da üretici ile müşteri arasında anlaşmazlığa neden olmaktadır. Oysa ki paketlenen her kasa, taşın aynı seleksiyonlarını içermelidir.

Bu tez çalışması, seleksiyon  seçimini, personel yorumuna bırakmadan hızlı bir şekilde sağlamak amacı ile gerçekleştirilmiştir. Bu çalışma, kapalı ve içi aydınlık bir deney ortamında 4 farklı mermer türüne (Tundra mermeri, Aksu mermeri, Elazığ Vişne mermeri, Manyas mermeri) ait 9 farklı seleksiyonun fotoğraflanması ardından görüntülerin incelenmesi ile oluşturulmuştur. Her mermer türünü kendi seleksiyonları arasında ayırt edebilmek amacı ile görüntüler, MATLAB programı üzerinde 18 farklı renk uzayında gözlemlenmiş, sayısal olarak elde edilen veriler incelenmiş ve seleksiyon ayrımında kullanılabilecek renk uzayı dönüşümleri belirlenmiştir.

MATLAB programında kullanılan hazır fonksiyonların sonuçları baz alınarak yazılım Visual Studio programında C++ dilinde yazılmış ve aynı sonuçlar bu programda da elde edilmiştir. Programın, OpenCL yazılım çatısı kullanılarak CPU, GPU üzerinde paralelleştirilerek çalıştırılması sağlanmıştır. Daha sonra program, yine OpenCL yazılım çatısı ile FPGA üzerinde paralel mimari ile gerçekleştirilmiş ve çıkan sonuçlar, CPU ve GPU üzerinde elde edilen sonuçlarla kıyaslanıp bir performans analizi gerçekleştirilmiştir.

Bu çalışma, paralel ortamda gerçekleştirilen görüntü işleme performansının seri ortama göre daha iyi (incelenen piksel sayısına göre 800 kat ile 1100 kat arasında daha hızlı) sonuç verdiği ve OpenCL yazılım çatısı ile parelelleştirilmiş uygulamanın, GPU üzerinde CPU'dan 2,8 kat ve FPGA'den 17 kat daha hızlı işlem yaptığı gözlemlenmiştir. Görüntüler aynı ortamda on kez tekrarlanarak elde edilmiş ve tasniflendirme işlemi %100 doğrulukla sonuçlandırılmıştır.

Abstract:
In natural stone production facilities, the placement of stones in wrong selection boxes causes the classification results to be inaccurate. These results create a visual incompatibility on the natural stones after the assembly, which causes a dispute between the manufacturer and the customer. However, every box should contain the stones' same selections.

This thesis study has been carried out with the aim of providing the choice of selection (variety) quickly, in a way that can be done alone without the staff. This study was made by examining the images obtained from 9 different selections belonging to 4 different marbles (Tundra marble, Aksu marble, Elazığ Vişne marble, Manyas marble) in a closed  and in a bright experimental environment. In order to distinguish each type of marble in its own selections, images were observed in eighteen different color spaces on the MATLAB program, the numerical data were obtained from each type of marble and color space transformations that can be used for selection are determined.

Based on the results of the ready-made functions used in the MATLAB program, the software is written in C ++ in the Visual Studio program and the same results are obtained in this program. The program was runned in parallel using the OpenCL software renderer on the GPU. Then, this program was implemented with the parallel architecture on the FPGA with the OpenCL software renderer and a performance analysis was performed comparing the results with the results obtained on CPU and GPU.

In this study, performance of an image processing in parallel application is faster (800 times to 1100 times according to number of pixels examined) than that of an image processing in serial and the application parallelized with OpenCL software renderer on the GPU is 2.8 times faster than the CPU and 17 times faster than the FPGA. The images were obtained by repeating ten times in the same experimental environment and the classification process was concluded with 100% accuracy.