Duygu Analizi Servislerinin Karşılaştırması
MICROSOFT AZURE BİLİŞSEL SERVİSLER
Microsoft’un Yüz Tanıma API’si içerinde bulunan Yüz Algılama’yla birlikte resimlerde , bir veya daha fazla insan yüzünün tanınmasını sağlayabiliriz. Ayrıca yüzlerin bulunduğu noktaları gösteren dikdörtgenlerle birlikte , yüz ifadelerine yönelik makine öğrenimi tabanlı tahminler içeren yüz özelliklerini görüntüleyebiliriz.
Kullanılabilen yüz detayı özellikleri: Yaş, Duygu, Cinsiyet, Poz, Gülümseme, Sakal ve Bıyığın yanı sıra resimdeki her yüz için 27 yer işaretidir.
Duygu tanıma ile birleştirilebilen Yüz Tanıma API’si resimlerdeki her yüz için kızgınlık, küçümseme, iğrenme, korku, mutluluk, nötr, üzüntü ve şaşkınlık gibi bir dizi duygu arasından seçilen güven puanlarını döndürür. Döndürülen güven puanları 0–1 aralığındadır.
Bu duyguların belirli yüz ifadeleriyle kültürler arası ve evrensel olarak iletildiği düşülmektedir. Microsoft, Yüz Tanıma API’si ile ilgili belgeleri kendi sitesinde paylaşmaktadır. Kolaylıkla bu
belgelere ulaşıp uygulamalarınızda Yüz Tanıma API’sini kullanabilirsiniz.
Biz, yukarıda kısaca özetlediğimiz sistemi pratiğe dökmek açısından Microsoft Azure’un Bilişsel Servisleri’nde tanımlı olan Yüz Tanıma API’sini kullandık ve servise bir resim dosyası yükledik.
Microsoft Yüz Tanıma API’si için yüklediğimiz resmi ve duygu tanıma sonuçlarını aşağıda görebilirsiniz. Karşılaştırma yapabilmek için de bundan sonraki API’lerde bu resmi kullandık.

AMAZON REKOGNITION
Amazon Rekognition ile sağladığınız görüntülerdeki ve videolardaki yüzlerin özelliklerini analiz ederek mutluluk, yaş aralığı, açık/kapalı göz, gözlük ve sakal-bıyık gibi unsurları saptayabilirsiniz.
Yüz Analizi sonucunda Amazon, girdi olarak verilen resimlerdeki Mutlu, Üzgün, Kızgın, Kafası Karışık, İğrenme, Şaşkın, Sakin ve Bilinmeyen gibi bir dizi duygu arasından seçilen güven puanı en yüksek üç duygusal ifadeyi 0–100 aralığında geri döndürür.
Biz Yüz Tanımayla ilgili yaptığımız uygulamalarda Amazon’un S3 depolama alanını kullandık ve uygulama için resim depolama karmaşasından uzaklaşıp resim dosyalarını hızlı bir şekilde analiz ettik.
Amazon Rekognition API için kullandığımız resmi ve geri dönüş değeri olarak verilen duygusal ifadeleri aşağıda görebilirsiniz.


GOOGLE CLOUD
Google Cloud‘un sunmuş olduğu Yüz Algılama API’si ile birlikte yüklediğiniz resimlerde ruh hali veya şapka takmak gibi ilişkili temel yüz özellikleriyle birlikte, resimlerde birden çok yüzü tespit edebilirsiniz.
Google Yüz Algılama API’si , girdi olarak verilen resimlere dört farklı duygusal ifade için sonuç verir. Bu duygusal ifadeler : Kızgın, Mutluluk, Acı ve Şaşkınlıktır. Duygusal ifadelerin karşılığı olarak da beş farklı değer dönebilir. Bu değerler: Pek olası değil, Olası değil, Mümkün, Büyük ihtimal ve Çok
büyük ihtimaldir.
Google Cloud diğer Bulut servisleri gibi sayısal değerler döndürmüyor ve bu da geri döndürülen değerlerin anlaşılmasını zorlaştırıp ek analizlerin yapılmasını gerektiriyor. Google ile diğer Bulut Servislerini karşılaştırdığımızda çıktıdaki değerlerin diğer API’lere göre zor okunması Google Cloud için bir dezavantaj oluyor.
Google Yüz Algılama API’sine girdi olarak verilen resim ve çıktısı aşağıda görülmektedir.

KARŞILAŞTIRMALAR
Buraya kadar olan her şey aslında Bulut Servislerinin bize sunmuş olduğu API’leri incelemek ve bu API’ler hakkında küçük tanımlayıcı bilgiler vermekti. Bundan sonra yapmak istediğimiz şey ise bu API’leri kendi aralarında karşılaştırmak ve ileride geliştirilmesi olası uygulamalar için en uygun
olanını seçmektir. Karşılaştırma yaparken duygu tanıma için genel bir ölçüt veri kümesi olan Genişletilmiş Cohn-Kanade (CK+)‘a başvurulmuştur ve Duygu Analizi için CK+ veri kümesinin 300 görüntüsü kullanılmıştır.
Genişletilmiş Cohn-Kanade (CK+) resim dosyalarının yanında resimlere ait duyguların bulunduğu etiket dosyalarına da sahiptir. Bu etiket dosyalarında tanımlama için 0–7 aralığında (0=doğal, 1=kızgın, 2=aşağılama, 3=iğrenme, 4=korku, 5=mutluluk, 6=üzgün, 7=heyecanlı) toplam 8 sınıf
vardır.
Genişletilmiş Cohn-Kanade (CK+) ‘e göre yukarıda verilen resmin karşılığı “3” yani iğrenmedir. Peki bizim kullandığımız API’ler bu resme nasıl bir çıktı verdi? Aşağıda , kullandığımız API’lerin resim dosyasına verdiği çıktılar görülmektedir.
Yukarıdaki Microsoft’un Yüz Tanıma API’sine ait olan sonuçlarda 0,99'luk bir güven puanıyla birlikte bu resimdeki duygunun iğrenme olduğu görülüyor.
Google’a göre bu resimde ağır basan bir duygu yok. Microsoft servislerinin döndüğü sonuçlarla karşılaştırıldığında, nötr ifadenin yer almadığını görüyoruz.
Amazon Rekognition ise bu görsel için Üzgün’ün ağır bastığını %57'lik bir güven oranıyla vermiş.
Yukarıda sadece bir resim dosyası için geri dönen çıktıları görebiliriz. Biz bir sonraki aşamada Genişletilmiş Cohn-Kanade (CK+)’den 300 resmi bu API’lere girdi olarak verdik ve sonuçlarını inceledik. Karşılaştırmalar sonucunda Microsoft %83 , Google %57.67 , Amazon ise %59 oranla CK+ ‘da bulunan duygu etiketleriyle benzerlik gösteriyor.

SONUÇ
İncelemeler sonucunda Microsoft’un geliştirmiş olduğu Yüz Tanıma API’si diğer Bulut Servislerinin geliştirmiş olduğu Yüz Tanıma API’lerinden daha kesin sonuçlar veriyor ve verdiği çıktıları analiz etmek diğer API’lere göre daha kolay. Amazon’un geliştirmiş olduğu Rekognition, daha genel sonuçlar veriyor ve bu da resimlerdeki duyguları analiz etmeyi zorlaştırıyor. Google Cloud sadece 4 duygu için sonuç veriyor ve verdiği duygu yanıtları diğer Bulut servislerinin verdiği yanıtlara göre oldukça genel. Bütün Servisler mutluluk, üzüntü ve heyecan duyguları için Genişletilmiş Cohn-Kanade (CK+)‘de bulunan duygu etiketleriyle aynı sonucu vermekte.
Semih KÖNEZ, Burak KARAKUŞ

