SIFT ile gerçek zamanlı nesne tanımlama performansının geliştirilmesi
Improving the performance of real-time object detection with SIFT
Yazar: ALİ ÖZTÜRK
Danışman: DOÇ. DR. İBRAHİM ÇAYIROĞLU
Karabük Üniversitesi / Lisansüstü Eğitim Enstitüsü / Makine Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2022
Konu: Makine Mühendisliği = Mechanical Engineering ; Mekatronik Mühendisliği = Mechatronics Engineering
Dizin: Cisim tanıma = Object recognition ; Filtreleme = Filtration ; Gauss dağılımı = Gaussian distribution ; Nesne tanıma = Object recognition ; İnterpolasyon yöntemleri = Interpolation methods ; Şablon eşleme = Template matching

Özet:
Bu çalışmada nesne tanımlamada en çok çalışılan metotlardan biri olan Ölçek Bağımsız Öznicelik Dönüşümü (SIFT) algoritması gürbüzlük ve hesaplama zamanı açısından incelenmiştir. SIFT algoritmasında anahtar-noktalar, Gauss Ölçek Uzay Piramidinden (GSSP) elde edilen Gauss Farkları (DoG) uzayı üzerindeki ekstremum noktalardır. Öznicelik vektörü ise Yönlendiriliş Gradyanların Histogramı (HOG) metodu ile elde edilmektedir. 
GSSP'nin oluşturulmasında kullanılan en klasik metot Kesilmiş Ayrık Gauss Konvolüsyonudur (TDGC). Ancak TDGC algoritmasının uygulanmasında, örneklem uzunluğu veya kernel uzunluğunun hesaplama zamanı ve gürbüzlük üzerindeki etkisi sıklıkla göz ardı edilmektedir. Klasik yaklaşımda SIFT algoritmasının giriş görüntüsünün, GSSP hesaplamasından önce boyutu iki katına çıkarılmaktadır. Ayrıca  
giriş görüntüsünde olduğu farz edilen bir başlangıç bulanıklık seviyesi vardır. GSSP'nin her bir elemanının bulanıklık seviyesi, ısı denklemi ve Gauss  
fonksiyonunun yarı-grup özelliği göz önünde bulundurularak açıklanmıştır. Gauss dağılımının hata fonksiyonunu (Erf) temel alarak, TDGC algoritmasının örneklem uzunluğunun, hem gürbüzlük hem de hesaplama zamanı açısından etkili bir şekilde nasıl belirlenebileceği gösterilmiştir. SIFT algoritmasının performansı, algoritmada öngörülen şu değişikliklerle test edilmiştir; başlangıç bulanıklık seviyesi kabulünün iptal edilmesi, giriş görüntüsünün iki katına çıkarılıp çıkarılmaması ve Erf temelli bir denklem ile belirlenen örneklem uzunluğu ile TDGC algoritması. 
Diğer taraftan SIFT algoritmasının öznicelik hesaplama algoritması ayrıntılı bir şekilde incelenmiştir. HOG metodu, klasik yaklaşımda algoritmanın gürbüzlüğünü artırmak için trilineer interpolasyon ile birlikte uygulanmaktadır. HOG algoritması ile birlikte kullanılabilecek çeşitli interpolasyon metotları, birlikte öznicelik hesaplama metodunun önemli bir kısmı olan orijinal 'özel gruplama prosesi (SBP)' algoritması bu çalışmada tanımlanmıştır. Verilen orijinal SBP algoritması ile birlikte yama genişlik parametresi, SIFT algoritmasının performansı göz önünde bulundurularak belirlenmiş ve daha sonra da farklı interpolasyon metotları ile birlikte HOG algoritmasının SIFT algoritmasının performansı üzerindeki etkisi incelenmiştir. 
Diğer taraftan, özel olarak kaydedilen bir videodaki nesne takibi uygulamasının gürbüzlüğünün arttırılması için SIFT algoritması ile birlikte Tekil Spektrum Analizi (SSA) filtresi bir arada kullanılmıştır. SSA'nın geri kazanım algoritması gerçek zamanlı bir uygulamaya yönelik olarak önemli ölçüde sadeleştirilmiştir. 
SIFT algoritması üzerinde yapılan değişikliklerin performans üzerindeki etkisi Oxford, HPatches veri kümeleri ve kendi kaydettiğimiz bir videodaki nesne takibi uygulaması üzerinde test edilmiştir. Veri kümeleri üzerinde performansı ölçmek için Kesişimin Birleşime Oranı (IoU) ve Doğru Eşleşme Oranı (CMR) metrikleri kullanılmıştır. Videodaki nesne takibinin gürbüzlüğünü ölçmek için ise, kesin referans homografi matrisleri mevcut olmadığından dolayı hız temelli yörünge düzgünlük metriği kullanılmıştır. 
Sonuç olarak; GSSP hesaplamasından önce giriş görüntüsünün iki katına çıkarılmasının ve Gauss konvolüsyon örnekleminin boyutunun Erf temelli bir denklem ile belirlenmesinin performans üzerindeki etkisinin önemli olduğu görülmüştür. Ancak, öznicelik hesaplanmasında HOG metodu ile birlikte interpolasyon metotlarının kullanılmasının performans üzerinde önemli bir etkisinin olmadığı anlaşılmıştır. SIFT algoritmasının üzerinde yapılan modifikasyonlar ile, algoritmanın 640x480 çözünürlüğünde kaydedilmiş bir videodaki nesne takibi uygulamasında 30 FPS (Frame Per Second)'nin üzerinde bir hızla başarılı bir şekilde çalıştığı görülmüştür. Üstelik, bu videodaki nesne takip yörüngesindeki dalgalanmaların SSA filtresi ile etkili bir şekilde düzeltilebildiği gösterilmiştir.

Abstract:
In this study, the Scale Invariant Feature Transforms (SIFT) algorithm, one of the most studied methods in object identification, has been examined in terms of robustness and computation time. In SIFT's algorithm, the keypoints are the extreme points on the Gaussian Differences (DoG) space obtained from the Gaussian Scale Space Pyramid (GSSP). The feature vector is constructed by the Histogram of Orientation Gradient (HOG) method. 
The most classical method used in constructing the GSSP is the Truncated Discrete Gaussian Convolution (TDGC). However, the effect of sample or kernel length on computation time and robustness has been often neglected in the TDGC algorithm. The performance of the SIFT algorithm has been tested with the predicted changes in the algorithm; cancellation of the initial blur level assumption, whether to double the input image befor GSSP computation, and TDGC algorithm with sample length determined by an Erf-based equation.
On the other hand, the feature calculation algorithm of the SIFT algorithm has been examined in detail. The HOG method is implemented with trilinear interpolation to increase the algorithm's robustness in the classical approach. Various interpolation methods that can be used with the HOG algorithm and the 'special binning process' algorithm, which is an essential part of the feature calculation, are given. The patch length parameter was determined by considering the performance with the original 'spatial binning process' algorithm. Then the effect of the HOG algorithm on the performance was explored with different interpolation methods. 
On the other hand, to increase the robustness of the object-tracking application in a custom-recorded video, the SIFT algorithm and the Singular Spectrum Analysis (SSA) filter are used together. A significant change has been made to the SSA algorithm for its use in a real-time application. 
The performance impact of changes made to the SIFT algorithm was tested on Oxford, HPatches datasets, and an object tracking application in a custom-recorded video. The Intersection Over Union (IoU) and Correct Match Percentage (CMR) metrics were used to measure the performance on the datasets with given ground truth homographies. A velocity-based trajectory smoothness metric was used to measure the robustness of the object tracking in the video since ground truth homographies are unavailable.
As a result, it has been seen that the effect of doubling the input image before GSSP calculation and determining the size of the Gaussian convolution sample with an Erf-based equation on the performance is significant. However, it has been understood that using interpolation methods with the HOG method in calculating the feature vectors of SIFT does not significantly affect the performance. With overall changes to the SIFT algorithm, it has been observed that the object tracking application in a video recorded at 640x480 resolution works successfully at a speed of over 30 FPS. Moreover, it has been shown in this video that fluctuations in the object tracking trajectory can be effectively smoothed out with the SSA filter.