Durgun görüntülerden yüz ifadelerinin tanınması
Facial expression recognition from static images
Yazar: BİLGE SÜHEYLA AKKOCA
Danışman: PROF. DR. MUHİTTİN GÖKMEN
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2014
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
İlk çağlardan günümüze kadar insanlar arası iletişimde konuşma çok önemlidir. Konuşmanın yanında konuşma esnasında konuştuğumuz insanların yüz ifadeleri de oldukça önem taşımaktadır. Bir insanın konuşmamızdan nasıl etkilendiğini jest, mimik ve yüz ifadelerinden anlamak mümkündür. İnsanlar arası etkileşimde oldukça önem taşıyan bu konu insanlar tarafından kolayca anlaşılmaktadır. 
Teknolojinin gelişmesiyle insanların kolayca algıladığı yüz ifadelerinin bilgisayarlar tarafından da algılanabilmesine çalışılmıştır. Dolayısıyla, yüz ifadelerinin tanınması, görüntü işleme alanında önemli çalışma alanlarından biri haline gelmiştir.  Kişiden bağımsız yüz ifadelerinin tanınması oldukça zor bir problemdir ve bu problemin bilgisayarlar tarafından çözülmesi tahmin edildiği kadar kolay olmamaktadır. Her insanın ten rengi, saç tipi, yaşı, cinsiyeti gibi yüz görüntüsündeki farklılıklar problemi zorlaştıran parametrelerdendir. Ayrıca,  her insanın aynı duyguya verdiği tepki aynı olmamaktadır.  Bunların yanında çoğu bilgisayarla görü probleminde olduğu gibi ışık ve poz değişimleri de, imgenin elde edilmesi ve çözünürlüğü gibi problemler de yüz ifadelerinin tanınmasını zorlaştırmaktadır.
Yüz ifadeleri, yüzümüzdeki bazı kasların hareketlerindeki değişimlerle ortaya çıkmaktadır. Yüzdeki bu değişiklikleri tanımlayarak o ifadenin bulunduğu yüze dair özelliklerin belirlenmesi ile yüz ifadeleri tanınabilir. Çoğu yüz ifadesi tanıma sistemi mutluluk,  üzüntü,  şaşkınlık,  kızgınlık, iğrenme, korku, küçümseme duygu sınıflarının tanınması için gerekli çalışmaları içermektedir. 
Bu tez çalışmasında yüz ifadelerinin tanınması probleminin çözümüne ilişkin basamaklı bir yapı kullanılmaktadır. 3 basamaklı yapı Yerel Zernike Momentleri, Yerel EXOR Örnekleri ve Global Zernike Momentleri yöntemlerinden oluşmaktadır. Bu yöntemler, yüz ifadelerinin tanınması(YİT) probleminde sıklıkla başvurulan Geliştirilmiş Chon-Kanade(CK+) veri tabanındaki görüntüler üzerine uygulanmaktadır. Bu veri tabanı 118 kişiye ait 327 ifadenin bulunduğu görüntü dizilerinden meydana gelmektedir. Bu görüntü dizisinde bir kişinin doğal ifadesinden belli bir sınıfa ait olan ifadesine kadar geçen bütün çerçeveler yer almaktadır. Bu çalışmada veri setindeki görüntü dizisindeki yüz ifadesinin en belirgin olduğu görüntüler kullanılmaktadır. Diğer bir deyişle tüm görüntü dizisi yerine sadece tek bir görüntü kullanılarak tanıma işlemi gerçekleştirilmektedir. Çalışmada görüntüler üzerinde yöntemlerin uygulanma işleminden önce birtakım ön işlemler yapılmaktadır. Bu ön işlemlerden ilki, veri tabanındaki her yüz görüntüsünden 10 adet yamanın belirlenmesidir. Bu yamalar sol göz, sağ göz, gözler, kaşlar arası, burun, sol ağız köşesi, sağ ağız köşesi, tüm ağız, ağız ve burun ve son olarak tüm yüzü içeren parçalardan oluşmaktadır. Bu yamaların belirlenmesi için veri tabanı ile birlikte gelen görüntülerin aktif görünüm modelindeki koordinat noktaları bilgisinden yararlanılmaktadır. Koordinat noktaları yardımıyla birbirinden farklı boyuttaki yamalar belirlendikten sonra yamalar görüntülerden kesilerek hizalama işlemi yapılmaktadır. 
Yamaların üretilmesinden sonra görüntülerden öznitelik vektörünün hesaplanması için daha önce bahsedilen 3 basamaklı yapı olan Yerel Zernike Momentleri, Yerel EXOR Örnekleri ve Global Zernike Momentleri yöntemlerinin uygulanması işlemine geçilmektedir. Burada ilk işlem, yüz tanıma çalışmasında oldukça başarılı sonuçlar üreten Yerel Zernike Momentleri yönteminin uygulanmasıdır. YZM, her gözekte, o gözeğe komşu olan gözeklerin değerleri de dikkate alınarak bir moment hesabı yapılmasına dayanan bir yöntemdir. Bu hesaba göre moment bileşenlerinden oluşan ve orijinal görüntü ile aynı boyutta yeni bir moment görüntüsü elde edilir.  Bu işlem çalışmada kullanılan her moment derecesi için tekrarlanır.  YZM dönüşümünün yüz resimlerinde kullanılma amacı yüz görüntülerindeki şekilsel nitelikleri ortaya çıkarıp onları istatiksel tanımlayıcılar olarak kullanmasıdır. Bu nedenle YZM yöntemi yüz tanıma çalışmasında olduğu gibi bu çalışmada da peş peşe iki kere uygulanmıştır. Yöntemin 2 kere art arda uygulanmasında birinci katman görüntüdeki yerel şekil bilgilerinin elde edilmesini ve ikinci katman bu mikro düzeydeki bu bilgilerin kodlanmasını sağlamaktadır. YZM ile verilen bir görüntüden moment derecesine bağlı olarak çeşitli sayıda görüntülerin elde edilmesinden sonra bir sonraki aşamaya geçilmektedir.
Çalışmada iki basamak Yerel EXOR Örnekleri metodunun YZM ile üretilen görüntülere uygulama işlemidir. YZM ile üretilen çok sayıda görüntünün her birinin gerçel ve sanal bileşenleri bulunmaktadır. Bu bileşenler Yerel Exor Örnekleri yöntemine tabii tutularak faz değerlikli görüntülerin üretilmesinde kullanılmaktadır. Üretilen faz görüntüleri, belli bir açı aralığına girecek şekilde nicemlenmektedir. Örneğin açı derecesi 3 olarak belirlenmişse her 120 'de bir değer değişmektedir. Başka bir deyişle 0-120 arası 0; 120-240 arası 1; 240-360 arası 2 olarak nicemlendirilmektedir. Daha sonra nicemlenen görüntülerdeki her gözek için, verilen komşuluk derecesine göre etrafındaki komşu gözeklerle EXOR işlemi gerçekleştirilir. Bu işlemden sonra ikili görüntü elde edilir. İkili görüntüdeki her gözek değeri için etrafındaki komşu gözek değerleri kullanılarak (komşuluk değeri olarak iki kullanılırsa merkez gözek için 8 komşu gözek değeri kullanılarak 8 bitlik ikili sayı elde edilir) onluk tabanda bir sayı elde edilir ve böylece ikili görüntüden yeni bir görüntü türetilmektedir. 
Moment temelli yöntemlerin şekil betimlemedeki başarımı karakter ve parmak izi tanıma gibi birçok bilgisayarlı görü ve görüntü işleme uygulamasında gösterilmiştir. Bu çalışmada da Global Zernike Momentlerinin (GZM) YEÖ yönteminden üretilen görüntülere uygulanması, öznitelik vektörlerinin oluşturulmasındaki son aşamadır. Bir imgenin Zernike mometleri, imgenin Zernike dik çokterimlileri üzerine izdüşümü olarak tanımlanmaktadır. GZM yöntemi YZM'nin aksine tüm imge üzerinde moment derecesine bağlı olarak sayısal bir sonuç üretmektedir.  YZM ve YEÖ ile üretilen tüm görüntülerden belirlenen her bir yamanın üzerine GZM yönteminin uygulanmasıyla üretilen sayısal değerlerin peş peşe eklenmesi ile son öznitelik vektörü elde edilmektedir.
Hesaplanan öznitelik vektörleri birini dışarda bırak çapraz doğrulama (İng. Leave one out cross validation) yöntemi ile Destek Vektör Makineleri Kütüphanesi (İng. LibSVM) sınıflandırıcısı ile sınıflandırma işlemine tabii tutulmaktadır. Destek Vektör Makineleri (DVM), sanal öğrenme alanında sıkça başvurulan denetimli öğrenme yöntemlerinden biridir. Bu yöntemle her gelen giriş örneği için verilerin analizi yapılır ve örneklerin tanınma işlemi gerçekleştirilir.  DVM bir takım veriyi ve onların dâhil oldukları sınıf bilgisini alarak sınıflandırma işlemine tabii tutar. Genel anlamda DVM ikili lineer sınıflandırıcı olarak kullanılmaktadır. DVM, eğitim setindeki iki sınıftan örneklere sahip olan verilere göre bir model üreterek gelen yeni örnekleri bu model üzerinden birinci veya ikinci sınıfa yerleştirmeye çalışır. 
Diğer bir sınıflandırma yöntemi olarak K - En Yakın Komşuluk Algoritması yöntemine başvurulmuştur. (\textit{k}-EK) yöntemi sanal öğrenme alanında oldukça fazla kullanılan ve en basit yöntemlerin başında gelmektedir. Bu yöntemde iki örnek arasındaki uzaklık hesaplanarak sınıflandırma yapılmaktadır. Hesaplanan uzaklıklar sıralanarak en yakın k tanesi dikkate alınarak çoğunluğun ait olduğu sınıf belirlenmektedir. Belirlenen bu sınıf, yeni gelen test örneğinin  sınıfı olarak atanmaktadır. Burada çeşitli komşuluk değerleri ile testler yapılmış ve sistemin başarımı ölçülmüştür.
Bu çalışmada DVMK ile lineer çekirdekli sınıflandırıcı kullanılarak yapılan sınıflandırma ile elde edilen başarım diğerlerinden daha yüksek olduğu için bu yöntem kullanılmıştır. Sınıflandırma sonucunda \%90.34 başarım ile yüz ifadelerinin tanınması gerçekleştirilmiştir.

Abstract:
Speaking is very important in human-human interaction and it has a big role in communication from previous ages till today. Besides talking, facial expressions is also important because how a person is affected by our conversion can be understandable from his gestures and expressions. These expressions can be caught by humans easily however it is a hard problem for computers.
With the development of technology, the recognition of facial expressions has become one of the important research areas in image processing and computer vision day by day. Person independent facial expression recognition is a very difficult problem and this problem is not resolved as easily as to be predicted by computers. The differences in facial images like skin color, hair type, age and gender of a person are some parameters which make the problem more difficult. In addition, each person's response to the same feelings are not the same. Furthermore, difficulties such as illumination changes, image resolution and acquisition do not facilitate the solution of problem as in most computer vision problems.
Changes in the movement of some muscles in our face create the facial expressions. By defining these changes and determining the properties of faces facial expressions can be recognized. Most facial expression recognition system includes recognition of 7 classes of emotions like happiness, sadness, surprise, anger, disgust, fear and contempt. 
In this thesis study, a cascaded structure is proposed for the solution of the recognition of facial expressions problem. This structure has 3 steps consists of Local Zernike Moments, Local XOR Patterns and Global Zernike Moment methods. The generally used database is the Extended Chon - Kanade (CK +) in facial expression recognition (FER) problems. Hence, we apply these methods to the images in CK +. The database consists of image sequences of 327 expressions of 118 people. These image sequences have frames from natural expression to the particular expression. In this study, the last and peak images of expressions in the sequence are used. In other words, instead of using the entire image sequence, only a single image recognition process is performed.
One of the most important in the study is preprocessing on the images. We define some patches where have important changes on the face while expression occurs. 10 patches per image in the database are specified and cut from images. These patches are left eye, right eye, eyes, between the eyebrows, nose, left part of mouth, right part of the mouth, the whole mouth, mouth and nose, and finally the entire face. This patches are composed with the aid of active appearance model coordinate points can be obtained from the database. The last step in preprocessing is alignment of patches.
After we obtain patches, we applied the feature extraction methods, Local Zernike Moments, Local EXOR Patterns and Global Zernike Moments algorithms.  The first part is implementation of Local Zernike Moments which have highly successful results in face recognition study. LZM is based on the calculation of the moments in every cell by taking into account of the values of all adjacent pixels. According to this calculation, a new moment image which is formed by moment components is obtained in the same size as the original image.  This process is repeated for the every moment degree in the study. The purpose of the LZM transformation used in the facial images is to uncovering the formal properties and to use them as statistical descriptors. Therefore LZM method is applied to the problem twice as in the face recognition study. In the implementation of the method twice, first layer provides to obtain local morphology of images and second stage provides to code this information into the micro-level. 
The second step of the cascaded structure is application of Local XOR Patterns methods on the images which are produced by LZM. The real and imaginary components of images are subjected to Local XOR Patterns methods to generate phase images. Generated phase images are quantized into specific angle range.  For instance, if we use phase value as 3 , the values is changed in every $120^{\circ}$. In other words, we set the values to 0 if angle between $0^{\circ}- 120^{\circ}$ range; 1 if angle between $120^{\circ}- 240^{\circ}$range; 2 if angle between $240^{\circ}- 360^{\circ}$range. For each pixel in the quantized image, XOR operation is performed with around adjacent pixels of it according to the degree neighborhood after this process, the binary image is obtained. In the binary image, for every cell, we produce a 8 bit binary value from the surrounding adjacent cells values (if we use two as a degree of neighborhood, 8-bit binary number is obtained)according to that binary value we produced a decimal number and we assign this decimal number to the center pixel value. Hence, a new image is derived from binary image.
The success of moment-based methods in description of specific shapes in images is shown in computer vision and image processing applications such as character and finger print recognition. In this study, implementation of Global Zernike Moments (GZM) is final step in cascaded structure for FER. GZM is applied to the images produced by Local XOR Patterns (LXP) and the features of facial images are extracted. Zernike Moments of an image can be defined as image projection on the perpendicular Zernike polynomials. Generally, the whole image is used to calculate the GZMs and complex values are obtained according to the moment degree, unlike LZM transformation, the calculation of moments are performed around each pixel and complex images are the result of this transformation.  By applying GZM over the patches of images obtained by the result of application of LZM and LXP, feature vectors of patches are obtained, the feature vector of facial image is produced by concatenating of all vectors.
Classification of feature vector is the last process of recognition. In this study, we used 2 kind of classification algorithms, K Nearest Neighbor (KNN) and Support Vector Machines. 
KNN is one of the simplest algorithms in machine learning. In this method, the classification based on the calculation of  the distance between two samples. The calculated distances are sorted and k nearest one is determined by considering the class of the majority. Hence, the new class is assigned to the class of the majority. We made many tests to select the best k value. After that, we measured the overall system performance with that k value. 
As another classification method, we used Support Vector Machines. Support Vector Machines (SVM) is a supervised machine learning method. With this method, the sample is analyzed for the input of each sample and recognition process is performed. SVM performs a set of data into classification process by taking into the amount of class label of them. Generally, SVM is used as linear binary classifier. An optimal margin is calculated and according to that margin a new object is set to the first or second class. 
In this study there are 7 expression classes, and Library of Support Vector Machines (LIBSVM) classifier is used for multi class classification. In this study, LibSVM classifier with linear kernel is used as a classification algorithm. Calculated feature vectors are classified with LibSVM according to the leave one out cross-validation method. Facial expression recognition rate is measured as 90.34\% for overall system.