DCT ve SIMD ile Algısal Görüntü Benzerliği
64 x 64 görüntünün düşük frekans DCT katsayılarından 64 bitlik algısal özet üretir. SIMD nokta çarpımları, medyan nicemleme, Hamming uzaklığı ve büyük veri eşleme sınırları incelenir.
Bir görüntünün dosya özeti ile algısal özeti aynı kavram değildir. Kriptografik özet, görüntüdeki tek bitlik değişikliği bile bütünüyle farklı bir sonuç üretmek için tasarlanır. Algısal özet ise yeniden boyutlandırılmış, farklı kalitede kodlanmış veya sınırlı ölçüde renk dönüşümüne uğramış iki görüntünün birbirine yakın sonuçlar vermesini amaçlar.
Paylaştığım kütüphaneyi kurumsal bir sistemde görüntü benzerliği ve büyük veri kümelerinde hızlı aday eşleme amacıyla geliştirdim. Algoritmayı yalnız deneysel düzeyde bırakmadım. Canlı sistemlerde kullandım, geniş görüntü koleksiyonları üzerinde sınadım ve gerçek veri dağılımlarında başarılı sonuçlar aldım. Bu çalışma sırasında DCT'nin matematiksel özelliklerini, algısal özetleme yöntemlerini ve .NET üzerindeki SIMD olanaklarını birlikte değerlendirdim.
Kütüphanenin kuramsal çizgisi, Nobel Akademik Yayıncılık tarafından yayımlanan Yapay Zeka Kuramdan Uygulamaya kitabında tarafımdan yazılan "Görüntü ve Ses İşleme" bölümüyle doğrudan ilişkilidir. Bölümde görüntünün sayısal gösterimi, öznitelik çıkarımı, dönüşüm uzayları ve yapay zeka sistemlerinde görüntü verisinin işlenmesini ele almıştım. Bu kütüphane, söz konusu kuramsal yaklaşımın kurumsal ölçekte çalışan bir görüntü eşleme bileşenine dönüştürülmesidir. Kitabın resmi yayın kaydı Muhammet Ali Köker'i yazarlar arasında göstermekte ve "978-625-427-802-0" ISBN numarasını doğrulamaktadır.
DCT'nin ortaya çıkışı
Ayrık kosinüs dönüşümü, Nasir Ahmed, T. Raj Natarajan ve K. R. Rao tarafından 1974 yılında yayımlanan çalışmada tanımlandı. Çalışmanın önemli bulgularından biri, DCT'nin görüntü ve sinyal işlemede kuramsal olarak güçlü fakat veriye bağlı bir dönüşüm olan Karhunen-Loeve dönüşümüne yakın enerji sıkıştırma ve hız-bozulma başarımı gösterebilmesiydi. İlk makalede örüntü tanıma ve Wiener süzme gibi kullanım alanlarına da doğrudan işaret edilmişti.
DCT'nin görüntü işlemedeki kalıcı başarısı yalnız hesaplanmasının kolay olmasından kaynaklanmaz. Doğal görüntülerde komşu pikseller çoğunlukla yüksek korelasyona sahiptir. Geniş ve düzgün yüzeylerde piksel değerleri yavaş değişirken keskin değişimler daha çok kenarlarda ve dokulu bölgelerde görülür. DCT, bu uzamsal düzeni farklı frekanslardaki kosinüs bileşenlerine ayırır.
Düşük frekanslar görüntünün genel parlaklığını, geniş renk geçişlerini ve kaba geometrisini taşır. Yüksek frekanslar ince kenarları, küçük dokuları, sensör gürültüsünü ve kodlama artefaktlarını daha fazla temsil eder. Doğal bir görüntü DCT uzayına aktarıldığında enerjinin önemli bölümü düşük frekanslı sınırlı sayıdaki katsayıda toplanır. DCT'nin hem sıkıştırmada hem benzerlik analizinde başarılı olmasının temelinde bu enerji sıkıştırma özelliği bulunur.
Tek boyutlu ortonormal DCT-II şu biçimde gösterilebilir:
[
X_k=\alpha(k)\sum_{n=0}^{N-1}
x_n\cos\left[\frac{\pi}{N}\left(n+\frac{1}{2}\right)k\right]
]Burada:
[
\alpha(0)=\sqrt{\frac{1}{N}}
]ve diğer katsayılar için:
[
\alpha(k)=\sqrt{\frac{2}{N}}
]kullanılır.
İncelediğim gerçeklenimde aynı normalizasyon doğrudan görülür. Genel katsayılar "sqrt(2/N)" ile ölçeklenir. Sıfırıncı frekans katsayısına ek olarak "1/sqrt(2)" çarpanı uygulanır. Bu ayrıntı, kullanılan dönüşümün rastgele bir kosinüs toplamı değil, ortonormal DCT-II olduğunu gösterir.
JPEG ile kurulan tarihsel bağ
DCT'nin en yaygın kullanım alanı JPEG kodlamadır. JPEG çalışma grubu 1986 yılında oluşturuldu. Temel JPEG standardı 1992 yılında ITU-T tarafından, daha sonra ISO/IEC tarafından kabul edildi. T.81 ve ISO/IEC 10918-1 olarak tanımlanan standart, sürekli tonlu görüntülerin kodlanması için DCT ve nicemleme temelli bir işlem hattı oluşturdu.
Kayıplı JPEG kodlama genel olarak şu aşamalardan oluşur:
- Görüntünün renk bileşenlerine ayrılması
- Gerekirse renk örnekleme çözünürlüğünün azaltılması
- Görüntünün küçük bloklara bölünmesi
- Her bloğa iki boyutlu DCT uygulanması
- DCT katsayılarının nicemlenmesi
- Katsayıların uygun sırayla kodlanması
- Entropi kodlaması
DCT tek başına kayıplı değildir. Yeterli sayısal hassasiyet kullanıldığında ters dönüşümle özgün örnekler yeniden elde edilebilir. JPEG içindeki temel kayıp, DCT katsayılarının nicemlenmesinde ortaya çıkar. İnsan görsel sistemi ince yüksek frekans değişimlerine geniş düşük frekans yapılarına göre daha az duyarlı olduğundan, yüksek frekanslı katsayılar genellikle daha kaba nicemlenir.
Bu durum DCT tabanlı algısal özetlerin JPEG'e karşı neden görece dayanıklı olduğunu da açıklar. JPEG işlemi özellikle yüksek frekans ayrıntılarını değiştirirken görüntünün genel yapısını taşıyan düşük frekans katsayılarını daha fazla korur. JPEG uyumlu görüntü özetleme araştırmalarında düşük frekans DCT katsayılarının benzer görüntüler arasında güçlü korelasyon gösterebildiği raporlanmıştır.
Benim gerçeklenimimde de görüntünün tamamına ait düşük frekans matrisi kullanılır. Ancak JPEG'den farklı olarak görüntü 8x8 bloklara ayrılmaz. Önce bütün görüntü standart bir boyuta indirgenir, ardından bu görüntünün küresel DCT'si hesaplanır. Böylece üretilen özet yerel blokları değil, görüntünün genel frekans düzenini temsil eder.
Görüntünün standartlaştırılması
Algısal karşılaştırmada iki görüntünün aynı uzamsal temsile getirilmesi gerekir. Kaynak görüntünün çözünürlüğü, en-boy oranı ve dosya biçimi doğrudan özete taşınırsa aynı içeriğin farklı kopyaları birbirinden uzaklaşabilir.
Kütüphanede görüntü 64x64 piksellik sabit bir çalışma alanına dönüştürülür. En-boy oranı korunur. Yatay yöndeki fazla bölüm merkezden kırpılır veya dar görüntülerde kenarlarda boş alan kalır. Bu işlem iki önemli sonuç üretir.
İlk olarak hesaplama maliyeti özgün görüntü çözünürlüğünden bağımsız hale gelir. On iki megapiksellik bir fotoğraf ile küçük bir önizleme, DCT aşamasında aynı sayıda örnekle temsil edilir. İkinci olarak yüksek frekanslı küçük ayrıntıların önemli bölümü yeniden örnekleme sırasında elenir. Algoritma dosya düzeyindeki farklar yerine kaba görsel yapıya odaklanır.
Renkli pikseller doğrudan üç ayrı DCT kanalına gönderilmez. Kanal değerleri belirli bir dinamik aralık düzeltmesinden geçirilir ve tek bir yoğunluk değerinde birleştirilir. Burada standart fotometrik parlaklık katsayıları yerine kırmızı, yeşil ve mavi kanalların eşit ağırlıklı ortalamasına yakın bir izdüşüm kullanılmıştır.
Bu seçim bilimsel bir renk görünüm modeli değildir. Kurumsal eşleme problemi için geliştirilmiş pratik bir özellik dönüşümüdür. Amaç, renk dağılımının bütün ayrıntısını korumaktan çok görüntünün genel yoğunluk geometrisini kararlı biçimde DCT uzayına taşımaktır.
Kanal aralıklarının ayrı ele alınması, parlaklık ve kontrast farklarına karşı ek dayanıklılık sağlar. Bir görüntünün daha açık, daha koyu veya sınırlı ölçüde renk dengesi değiştirilmiş kopyaları, mutlak piksel değerleri farklı olsa bile benzer frekans sıraları üretebilir.
İki boyutlu DCT'nin ayrıştırılması
İki boyutlu DCT doğrudan hesaplandığında her çıktı katsayısı bütün giriş piksellerine bağlıdır:
[
F(u,v)=\alpha(u)\alpha(v)
\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}
f(x,y)
\cos\left[\frac{(2x+1)u\pi}{2N}\right]
\cos\left[\frac{(2y+1)v\pi}{2N}\right]
]Doğrudan uygulama, "N x N" çıktı katsayısının her biri için "N x N" giriş örneğini işler. Genel maliyet "O(N^4)" olur.
DCT ayrılabilir bir dönüşümdür. Önce her satıra tek boyutlu DCT, ardından oluşan matrisin sütunlarına tek boyutlu DCT uygulanabilir. Böylece tam iki boyutlu dönüşümün maliyeti "O(N^3)" düzeyine iner.
Kütüphanede bu ayrılabilirlik açık biçimde kullanılmıştır. Önce 64 satırın her biri dönüşür. Ardından sütun yönündeki dönüşüm uygulanır. Ancak algısal özet için yalnız sol üstteki 8x8 düşük frekans bölgesi gerektiğinden ikinci aşamada yalnız ilk sekiz frekans sütunu ve ilk sekiz dikey frekans hesaplanır.
Bu, algoritmanın önemli optimizasyonlarından biridir. Tam ikinci geçişte 64x64 çıktı katsayısı hesaplanması gerekirken burada yalnız 8x8 katsayı oluşturulur. Tam bir sütun geçişi 262.144 skaler çarpım-toplama gerektirirken seçilmiş düşük frekans geçişi 4.096 skaler çarpım-toplamaya iner.
Gerçeklenimin bu nüshasında ilk satır geçişi bütün 64 frekansı hesaplar. Sonraki aşama bunların yalnız ilk sekizini kullanır. Bu tercih genel amaçlı DCT çekirdeğinin korunması veya geliştirme dönemindeki başka kullanım yollarıyla ilişkili olabilir. Yalnız algısal özet hedeflenirse ilk geçiş de sekiz katsayıyla sınırlandırılabilir. Böyle bir değişiklik sonuç uzayını değiştirmeden toplam dönüşüm maliyetini daha da azaltabilir.
İyi optimize edilmiş bir algoritma, daha fazla iyileştirme yapılamayan algoritma anlamına gelmez. Buradaki esas mühendislik başarısı, pahalı iki boyutlu dönüşümün ayrıştırılması, kosinüs değerlerinin önceden hesaplanması, yalnız gerekli ikinci boyut katsayılarının üretilmesi ve sıcak döngünün SIMD üzerinde yürütülmesidir.
Kosinüs katsayılarının önceden hesaplanması
DCT'nin iç döngüsünde kosinüs fonksiyonu hesaplamak büyük bir maliyet oluşturur. "N=64" için her frekans ve örnek konumuna karşılık gelen katsayılar çalışma boyunca değişmez.
Kütüphane bu katsayıları sınıf ilk oluşturulduğunda bir kez hesaplar:
[
C_{k,n}=
\cos\left[\frac{(2n+1)k\pi}{2N}\right]
]Sonraki bütün görüntüler aynı katsayı tablosunu kullanır. Böylece canlı işleme yolunda trigonometrik fonksiyon çağrısı bulunmaz. İşlem yalnız çarpım ve toplama adımlarından oluşur.
64x64 katsayı tablosu 4.096 kayan noktalı değer içerir. Bu değerler dörderli gruplar halinde saklanır. Her frekans için 16 adet dört bileşenli vektör bulunur. Giriş dizisi de aynı biçimde 16 vektöre ayrılır.
Bir DCT katsayısı şu yapıya indirgenir:
[
X_k=\sum_{i=0}^{15}
\operatorname{dot}(P_i,C_{k,i})
]Burada her "P_i" dört giriş örneğini, "C_{k,i}" ise bunlara karşılık gelen dört kosinüs katsayısını taşır.
SIMD yaklaşımı
SIMD, tek bir komutla birden fazla veri öğesi üzerinde aynı işlemin yürütülmesini sağlar. Görüntü işleme, matris hesapları, sinyal işleme ve bilimsel hesaplamalar aynı aritmetik işlemi geniş diziler üzerinde tekrar ettiği için SIMD kullanımına doğal olarak uygundur.
.NET içindeki "System.Numerics" türleri, desteklenen işlemci ve JIT ortamlarında SIMD komutlarına dönüştürülebilir. "Vector4", dört adet 32 bit kayan noktalı değeri tek mantıksal vektörde taşır. "Vector4.Dot" iki vektörün nokta çarpımını üretir. Microsoft belgeleri bu türlerin donanım destekli SIMD yürütmesinden yararlanabildiğini, donanım hızlandırmasının çalışma ortamına bağlı olduğunu belirtir.
Skaler uygulamada 64 elemanlı bir DCT katsayısı için 64 ayrı çarpım ve toplama adımı gerekir. Dörderli paketleme ile sıcak döngü 16 vektör nokta çarpımına iner.
Kütüphanedeki dönüşüm sayıları incelendiğinde:
- Satır geçişinde 65.536 adet "Vector4" nokta çarpımı
- Seçilmiş sütun geçişinde 1.024 adet "Vector4" nokta çarpımı
- Toplamda 66.560 vektör nokta çarpımı
yürütülür.
Her vektör dört skaler bileşen taşıdığı için bu değer yaklaşık 266.240 skaler çarpım-toplama eşdeğeridir. SIMD kullanımı yalnız teorik işlem sayısını azaltmaz. Dört verinin aynı register içinde tutulması, yükleme ve aritmetik adımlarının işlemcinin vektör yürütme birimlerine uygun hale gelmesini sağlar.
Bu gerçeklenimi geliştirirken SIMD'yi sonradan eklenmiş bir mikro optimizasyon olarak ele almadım. DCT katsayılarının saklama biçimi baştan "Vector4" gruplarına göre kurulmuştur. Veri yapısıyla işlemci yürütme modeli aynı tasarımın parçasıdır.
Sabit 64 örnek uzunluğu da bu yaklaşımı kolaylaştırır. Kuyruk elemanı, değişken vektör uzunluğu veya kalan örnek işleme koşulu bulunmaz. Her dizi tam olarak 16 vektöre ayrılır. Döngü sınırları tahmin edilebilir ve bütün görüntüler aynı yürütme yolundan geçer.
DCT neden benzerliği yakalar
DCT'nin benzerlik analizindeki başarısı, dönüşümün görüntüyü yalnız başka bir koordinat sistemine taşımasından kaynaklanmaz. Başarı, hangi katsayıların seçildiğine ve bunların nasıl nicelendiğine bağlıdır.
Kütüphane 64x64 DCT matrisinin sol üst 8x8 bölümünü kullanır. Bu bölge şu bilgileri taşır:
- Görüntünün ortalama yoğunluğu
- Geniş yatay ve dikey geçişler
- Büyük nesne sınırları
- Genel açık-koyu dağılımı
- Kaba kompozisyon
- Düşük frekanslı doku
İnce yazılar, sık dokular, sıkıştırma gürültüsü ve tek piksellik değişimler daha yüksek frekanslarda kalır. Bu katsayıların özete alınmaması, görüntünün dosya düzeyindeki küçük değişimlere karşı daha kararlı olmasını sağlar.
Benzer bir DCT algısal özet yaklaşımını inceleyen çalışmalarda görüntünün standart boyuta indirgenmesi, düşük frekanslı 8x8 katsayı bölgesinin seçilmesi ve bu katsayılardan 64 bitlik bir değer oluşturulması kullanılmıştır. Deneysel çalışmalar, algısal olarak benzer görüntülerin özetleri arasındaki Hamming uzaklığının ilgisiz görüntülere göre daha düşük olabildiğini göstermektedir.
Kütüphanede 64 katsayı mutlak değerleriyle saklanmaz. Katsayıların medyanı hesaplanır ve her katsayı medyandan büyük olup olmamasına göre tek bite dönüştürülür.
Bu işlem şu biçimde gösterilebilir:
[
h_i=
\begin{cases}
1, & F_i > \operatorname{median}(F)\
0, & F_i \leq \operatorname{median}(F)
\end{cases}
]Ortaya çıkan sonuç 64 bitlik bir tamsayıdır.
Medyan kullanımı önemlidir. Ortalama değer uç katsayılardan, özellikle DC bileşeninden güçlü biçimde etkilenebilir. Medyan ise frekans katsayılarının göreli sıralamasını temsil eder. Görüntünün genel kazancı değiştiğinde katsayıların mutlak değerleri değişebilir, fakat göreli büyük-küçük yapısı büyük ölçüde korunabilir.
Algısal özet böylece şu soruya cevap verir:
"Bu iki görüntünün düşük frekans yapısında benzer katsayılar medyanın aynı tarafında mı kalıyor?"
Bu, piksel piksele eşitlikten farklıdır. İki katsayı sayısal olarak farklı olsa bile aynı sınıfta kalabilir. Küçük bir değişim ancak katsayı medyan eşiğini geçtiğinde bit değiştirir.
Hamming uzaklığı ve kurumsal ölçek
İki 64 bitlik özet arasındaki benzerlik XOR işlemi ve bit sayımıyla ölçülebilir:
[
d_H(a,b)=\operatorname{popcount}(a\oplus b)
]Sonuç "0" ile "64" arasındadır. Sıfır, iki özetin aynı olduğunu gösterir. Değer büyüdükçe düşük frekans yapı farkı artar.
Bu temsil kurumsal sistemler için önemli bir avantaj sağlar. Her görüntü yalnız sekiz baytlık bir özetle temsil edilir. Bir milyon görüntünün ham özetleri, veri tabanı ve indeks ek yükleri hariç yaklaşık sekiz megabayt yer kaplar. İki görüntünün ön karşılaştırması, yüksek boyutlu özellik vektörü veya görüntü çözme işlemi gerektirmez.
Canlı kullanımda elde ettiğim başarılı sonuçlarda bu sıkıştırılmış temsil önemliydi. Büyük veri kümelerinde bütün görüntüleri yeniden açıp piksel veya derin özellik karşılaştırması yapmak yerine DCT özetleri üzerinden hızlı bir aday kümesi oluşturulabiliyordu.
Bununla birlikte eşik değeri evrensel değildir. Kabul edilebilir Hamming uzaklığı veri alanına göre belirlenmelidir. Belge görüntüleri, yüz fotoğrafları, ekran görüntüleri ve doğal sahneler aynı uzaklık dağılımına sahip değildir. Doğru eşik, pozitif ve negatif örneklerden oluşturulmuş doğrulama kümesi üzerinde seçilmelidir.
Doğrusal tarama "M" kayıt için "O(M)" maliyet taşır, ancak her karşılaştırmanın sabit maliyeti çok düşüktür. Veri hacmi daha da büyüdüğünde özetin belirli bit bölümlerine göre parçalanması, çok indeksli arama veya Hamming uzayına uygun yaklaşık komşuluk yapıları kullanılabilir.
Başarı alanı ve sınırlar
DCT tabanlı küresel özet şu değişimlere karşı genellikle dayanıklıdır:
- Çözünürlük değişikliği
- JPEG kalite değişikliği
- Sınırlı bulanıklaştırma
- Küçük gürültü eklenmesi
- Parlaklık ve kontrast değişimleri
- Dosya biçiminin değiştirilmesi
- Sınırlı renk dönüşümü
Buna karşılık yöntem geometrik dönüşümlere doğal olarak değişmez değildir. Büyük kırpma, döndürme, yatay çevirme, perspektif dönüşümü veya nesnenin görüntü içindeki konumunun ciddi biçimde değişmesi düşük frekans matrisini de değiştirir. DCT tabanlı algısal özetlerin geniş dönüşümlerdeki bu sınırı karşılaştırmalı çalışmalarda da görülmektedir.
Küresel özet aynı zamanda yerel değişikliği konumuyla açıklamaz. Görüntünün küçük bir bölümü değiştirilmişse yalnız özet uzaklığının arttığı görülür. Değişimin nerede olduğu belirlenemez. Yerel sahtecilik analizi için görüntüyü bloklara ayıran veya yerel öznitelikler kullanan ek bir katman gerekir.
Algısal özet kriptografik özet olarak da kullanılmamalıdır. Çakışma üretmesi tasarım gereğidir. Aynı kaba frekans yapısına sahip farklı görüntüler yakın özetler oluşturabilir. Kasıtlı olarak yanıltıcı görüntü üretmeye çalışan bir saldırgana karşı güvenlik garantisi vermez.
İncelenen nüshanın mühendislik sınırları
Kütüphanenin matematiksel sıcak yolu SIMD ve ön hesaplama bakımından güçlüdür. Buna karşılık kaynak nüshasında görüntü erişimi yüksek seviyeli piksel çağrılarıyla yapılır. İşlenen alan 64x64 ile sabitlendiği için çağrı sayısı görüntü başına sınırlıdır. Yine de modern bir uyarlamada doğrudan bitmap belleği üzerinde çalışmak veri erişim maliyetini azaltır.
DCT girişini hazırlayan dinamik aralık hesabı özgün görüntünün belirli bölgesinden, dönüşüm ise yeniden boyutlandırılmış görüntüden yapılmaktadır. Bu davranış canlı sistemde kullanılan veri kümesinin boyut ve içerik ön koşullarıyla uyumlu olabilir. Genel amaçlı bir kütüphane sürümünde kalibrasyon bölgesinin açıkça tanımlanması veya yeniden boyutlandırılmış görüntüyle aynı örnek uzayından hesaplanması daha güvenlidir.
Ayrıca kullanılan ifade tam bir min-max normalizasyonu değildir. Minimum değer çıkarıldıktan sonra bölüm kanal aralığına değil maksimum değere göre yapılır. Bu yaklaşım geliştirilmiş veri dağılımında başarılı sonuç vermiş olabilir, ancak sıfır veya çok düşük maksimum değerli kanallar için koruma gerektirir.
Bu noktalar algoritmanın kurumsal kullanım başarısını geçersiz kılmaz. Gerçek sistemlerde sonuç, yalnız teorik saflıkla değil veri dağılımı, ön koşullar ve uç durum politikalarıyla birlikte değerlendirilir. Bununla birlikte kaynak kodun akademik analizi, uygulanmış davranış ile ideal genelleştirilmiş model arasındaki farkı açıkça belirtmelidir.
Kuramdan canlı sisteme
Bu kütüphanede görüntü işleme, sinyal işleme ve düşük seviyeli yazılım optimizasyonu aynı işlem hattında birleşir.
Görüntü önce standart bir örnek uzayına taşınır. Renk bileşenleri tek bir yoğunluk dizisine indirgenir. DCT görüntüyü uzamsal alandan frekans alanına geçirir. Düşük frekanslı 64 katsayı görüntünün kaba yapısal özniteliklerini oluşturur. Medyan nicemleme bu öznitelikleri 64 bitlik ikili imzaya dönüştürür. SIMD ise dönüşümün yoğun nokta çarpımı bölümünü işlemcinin vektör birimlerine taşır.
Bu yaklaşım, Yapay Zeka Kuramdan Uygulamaya kitabındaki "Görüntü ve Ses İşleme" bölümünde savunduğum temel ilkeyle örtüşür. Yapay zeka ve görüntü analizi yalnız model eğitmekten ibaret değildir. Veriyi doğru uzayda temsil etmek, gereksiz ayrıntıyı elemek ve karar için yeterli özniteliği düşük maliyetle çıkarmak çoğu zaman sistemin belirleyici bölümüdür.
DCT burada yalnız JPEG'den alınmış eski bir sıkıştırma bileşeni değildir. Görüntünün görsel yapısını frekans bileşenlerine ayıran, iyi anlaşılmış ve matematiksel olarak açıklanabilir bir öznitelik çıkarıcıdır. Benzer görüntülerin düşük frekans düzenlerini koruması, dönüşümü algısal karşılaştırma için etkili hale getirir.
SIMD yaklaşımı da yalnız birkaç işlem döngüsünü kısaltan bir ayrıntı değildir. Veri yerleşimi, katsayı ön hesaplaması ve nokta çarpımı çekirdeği işlemcinin yürütme biçimine göre birlikte tasarlanmıştır. Kurumsal ölçekte başarı sağlayan asıl özellik, matematiksel model ile donanım farkındalığının aynı gerçeklenimde buluşmasıdır.
Geniş veri kümelerinde elde ettiğim sonuçlar, DCT tabanlı algısal özetin doğru sınırlar içinde kullanıldığında güçlü bir ön eşleme yöntemi olduğunu gösterdi. Yöntem her görsel problemi çözmez. Ancak yeniden boyutlandırma, kodlama farkı ve sınırlı fotometrik değişimlerin bulunduğu büyük koleksiyonlarda, sekiz baytlık açıklanabilir bir özet üzerinden son derece hızlı ve etkili aday karşılaştırması sağlar.