Yüz tanıma teknolojisine kısa bir bakış

Yüz tanıma teknolojisine kısa bir bakış

Bu yazıda, yüz tanıma teknolojisinin nasıl çalıştığını, avantajlarını, kullanım alanlarını, yüz tanımada karşılaşılabilecek problemleri inceleyeceğiz.
Elif Koç13 Eyl 2022

İnsanların yüzleri tanıma yeteneğine eşit olan otomatik bir sistem oluşturmak gerçek bir meydan okumadır. İnsanlar bildikleri yüzleri belirleme konusunda oldukça başarılı olsalar da, çok sayıda bilinmeyen yüzle uğraşmaları gerektiğinde yeterli değillerdir. Neredeyse sınırsız bir belleğe ve hesaplama hızına sahip bilgisayarlar, insanın yetemediği alanların üstesinden gelmektedir. 

Yüz tanıma, bir kişinin yüzünü kullanarak kimliğini tanımlama veya doğrulama yöntemidir. Makinelerin insanlara yaklaşma şeklidir ve dünyayı otomasyona bir adım daha yaklaştırır. Yüz tanıma sistemleri insanları fotoğraflarda, videolarda veya gerçek zamanlı olarak tanımlamak için kullanılmaktadır. 

Yüz tanıma çalışmalarının tarihçesine baktığımızda uzun zamandan beri çalışmaların yürütüldüğünü görürüz. 1960’larda Woody Bledsoe kılavuz çizgileri kullanarak yüzleri sınıflandırmak için bir yöntem geliştirmiştir. Günümüzde ise evrişimsel sinir ağı (CNN) tabanlı modellerin yüz tanıma çalışmalarında baskın hale geldiğini görebiliriz.

 

Görsel Referansı

 

Yakın gelecekte, yüz tanıma teknolojisi muhtemelen daha yaygın hale gelecektir. Otomatik plaka okuyucuların araçları plaka numaralarına göre takip etmesi gibi, çeşitli mercilerce kişilerin hareketlerini takip etmek için de kullanılabileceklerdir. Oldukça iddialı olan bu teknolojinin nasıl çalıştığını inceleyelim:

 

Yüz tanıma nasıl çalışır?

1 - Görüntü yakalanır.

2 - Göz yerleri belirlenir.

3 - Görüntü gri tonlamaya dönüştürülür ve kırpılır.

4 - Görüntü, yüz karşılaştırma sonuçları için arama motoru tarafından kullanılan bir şablona dönüştürülür.

5 - Görüntü şablonu, dosyadaki diğer şablonlarla karşılaştırılmak üzere gelişmiş bir algoritma kullanılarak aranır ve eşleştirilir.

 

Görsel Referansı

 

Yüz tanıma sistemleri, bir kişinin yüzüyle ilgili belirli ayırt edici ayrıntıları (gözler arasındaki mesafe veya çenenin şekli gibi)  seçmek için bilgisayar algoritmalarını kullanır. Bu ayrıntılar daha sonra matematiksel bir temsile dönüştürülür ve bir yüz tanıma veritabanında toplanan diğer yüzlerdeki verilerle karşılaştırılır. 

Belirli bir yüzle ilgili verilere genellikle yüz şablonu denir. Bir yüzü diğerinden ayırt etmek için kullanılabilecek belirli ayrıntıları içerecek şekilde tasarlanmıştır.

Yüz tanıma teknolojisinin algoritma adımlarını inceledik. Şimdi bu teknolojinin avantajlarını inceleyelim.

 

Yüz tanıma teknolojisinin avantajları nelerdir?

  • Kişilerin kimliğini doğrulamak için kullanılan şifrelerin hatırlanması zordur. Şifreler çalınabilir veya tahmin edilebilir. Manyetik kartlar bozulabilir veya okunamaz duruma gelebilir. Ancak bireyin biyolojik özellikleri çalınamaz, taklit edilemez veya unutulamaz.
  • Biyolojik özellikleri yakalamak için birden fazla kişinin aynı ekipmanı kullanmasını gerektirecek teknolojiler (parmak, el izi) kullanıcının potansiyel olarak diğer kullanıcılardan mikrop kapmasına neden olabilir. Yüz tanıma ise sağlık riskleri taşımaz.

 

Sıklıkla karıştırılan yüz tanıma ve yüz doğrulama kavramlarının tanımlarını inceleyelim.

 

Yüz tanımlama ve doğrulama kavramları

Yüz doğrulama: Kimliği bilinmeyen bir kişinin yüz görüntüsü sunulduğunda, kişinin iddia ettiği kişi olup olmadığının tespitinin yapılmasıdır. Yüz doğrulama probleminin karmaşıklığı O(1) olarak ifade edilir. 

Yüz tanımlama: Kimliği bilinmeyen bir kişinin bir görüntüsü verildiğinde, bu görüntüyü kimliği bilinen kişilerin görüntülerinden oluşan veritabanı ile karşılaştırarak o kişinin kimliğini belirlemektir. Yüz tanımlama probleminin karmaşıklığını O(n) olarak ifade edilir. “n” veritabanındaki yüz sayısını ifade eder. 

 

Yüz tanımanın kullanılabileceği çok sayıda uygulama alanı vardır, bunlardan birkaçı aşağıda özetlenmiştir.

 

Yüz tanımanın kullanım alanları

Güvenlik: Havaalanlarında, özel olarak korunması gereken binalarda erişim için kontrolün sağlanması; sınır kontrol noktaları bilgisayar/ağ güvenliği; e-posta kimlik doğrulaması.

Gözetim: Kimliği bilinen suçluları aramak için CCTV izlenilmesi.

Genel kimlik doğrulaması: Yeni doğanları tanımlama, pasaportlar, sürücü ehliyetleri ve çalışan kimlikleri. 

Ceza/Adalet sistemleri: Sabıka kaydı, olay sonrası analiz, adli tıp.

Görüntü veritabanı araştırmaları: Kayıp çocuklar, sürücülerin görüntü veritabanlarını aramak.

İnsan-Bilgisayar arayüzlerine sahip çoklu ortam: Çocuk bakımı veya yaşlı bakım merkezlerinde davranış izleme, bir müşteriyi tanıma ve ihtiyaçlarını değerlendirme.

 

Yüz tanıma teknolojisinin avantajlarından, kullanım alanlarından bahsettik. Peki bu teknoloji kullanıldığında karşılaşılabilecek problemler nelerdir? 

 

Yüz tanıma kullanıldığında karşılaşılabilecek problemler

Yüz tanımanın her yerde bulunmasına ve teknolojideki gelişmelere rağmen, yüz tanıma verileri hataya açıktır. Veritabanındaki kişi sayısı arttıkça yüz tanımada doğruluk oranı düşebilmektedir. Bunun nedeni dünyada birbirine benzeyen birçok insanın olmasıdır. Veri tabanındaki insan yüzü sayısının artması benzer yüzlerin veritabanında yer alma olasılığını arttırmakta, bu durum da eşleştirme doğruluğunu azaltmaktadır.

Bazı yüz tanıma sistemleri bilinmeyen bir kişiyi pozitif olarak tanımlamak yerine, bilinmeyen kişi ile veri tabanında saklanan belirli yüz şablonları arasında bir olasılık eşleşme skoru hesaplamak için tasarlanmıştır. Bu sistemler, yalnızca tek bir sonuç döndürmek yerine, doğru tanımlama olasılığına göre sıralanmış birkaç olası eşleşme sunacaktır.

Zayıf aydınlatma, düşük kaliteli görüntü çözünürlüğü ve yetersiz görüş açısı (örneğin bilinmeyen bir kişiye yukarıdan bakan bir fotoğrafta) gibi olumsuz koşullar, yüz tanıma sistemlerinden hatalı sonuçların elde edilmesine neden olmaktadır.

Yüz tanıma sistemlerinde hatalar söz konusu olduğunda, bilinmesi gereken iki anahtar kavram vardır:

"False negative" yüz tanıma sisteminin bir kişinin yüzünü, aslında bir veri tabanında bulunan bir görüntüyle eşleştiremediği zamandır. Başka bir deyişle, sistem bir sorguya yanıt olarak hatalı olarak sıfır sonuç döndürür. Telefonunuzun kilidini açmak için yüz tanımayı kullanıyorsanız, sistemin sizi birkaç kez tanımlayamaması buna örnek olarak verilebilir. Sistemin sizin yerinize başka bir insanı, siz olarak tanımlayıp telefonunuzun kilidini açmasına izin vermemesi olumlu bir sonuçtur.

"False positive" yüz tanıma sisteminin bir kişinin yüzünü bir veritabanındaki bir görüntüyle eşleştirmesi, ancak bu eşleşmenin aslında yanlış olması durumudur. Bu, bir polis memurunun sisteme Ali isimli bir kişinin  resmini gönderdiği, ancak sistemin polis memuruna yanlışlıkla fotoğrafın Ahmet’e ait  olduğunu söylediği zamandır. Bu örnekte olduğu gibi yanlış tanımlamanın sonucu masum bir kişinin hapse girmesi gibi önemli sonuçlara neden olabileceğinden, sistem mümkün olduğunca az false positive sonuç çıkartacak şekilde tasarlanmalıdır.

 

Yüz tanıma işlemini 5 adımda ifade edecek olursak:

  1. Yüzün algılanması.
  2. Yüzün hizalanması.
  3. Normalizasyon; yüz kimliğini korurken, tek bir yüz görüntüsünden kanonik görünümlü bir yüz sentezlemeyi amaçlar.
  4. Vektörizasyon; elimizde bulunan iki resmin vektör olarak ifade edilmesidir.
  5. Doğrulama; iki vektörün birbirine olan uzaklığının öklid uzaklığı veya kosinüs benzerliği ile hesaplanmasıdır. 

 

Yüz tanıma sistemlerinin çalışması için;

  • Yüz ön işleme (Face preprocessing),
  • Derin özellik çıkarma (Deep feature extraction),
  • Yüz eşleştirme için eğitim kaybı (Training loss) olmak üzere üç modül gerekir.

 

Görsel Referansı

 

A. Yüz ön işleme (Face preprocessing)

Yüz tanıma aydınlatma, poz gibi farklı koşullardan etkilenir. Bu sorunu çözmek için yüz ön işleme gerekli bir adımdır.

  • Veri arttırma (data augmentation), sınırlı veriyi telafi etmenin bir yoludur. Gerçek hayattaki veya simüle edilmiş sanal yüz örneklerini değiştirerek eğitim veya test verilerinin miktarını arttırmaya yönelik bir tekniktir.
  • Ön işleme için iki kategori bulunmaktadır: Bire çok artırma (one to many augmentation) ve çoktan bire artırma (many to one augmentation).
  • Bire çok artırmada tek bir görüntüden birkaç farklı poz oluşturulurken, çoktan bire artırmada, birden fazla görüntüden standart görünüm çıkararak yüz tanımanın yapılmasına imkan tanınır.

 

B. Derin özellik çıkarımı (Deep feature extraction)

Ağ mimarisi yüz tanıma sisteminin omurgasıdır. Derin öznitelik çıkarımı, multispektral görüntü sınıflandırması için kritik öneme sahip olup değişiklik saptama araştırmalarında da kullanılmaktadır. Bireysel varyasyonların ve aydınlatmanın etkileri nedeniyle, yüzdeki değişikliklerle bağlantılı belirli özelliklerin çıkarılması zordur. Bu sebeple derin özellik çıkarımı, yüz değişikliklerini etkili bir şekilde belirleyebilmesi sebebiyle gerekli bir adımdır. Girdi görüntüsünün ağın mimarisinden geçirilmesiyle yapılır ve buna karşılık gelen bir ‘embedding’ özellik vektörü elde edilir.

Yüz tanıma sisteminin doğruluğunu arttırmak için yüksek kaliteli verileri iyileştirmek veya ağ mimarisi ile yüz eşleştirme eğitim kaybını (training loss) iyileştirmek amaçlanır. Ağ mimarisi ve eğitim kaybındaki bu iyileştirmelerle ilgili örnek verilecek olursa Facebook ve Google gibi şirketler, 106-107benzersiz yüz içeren yüz tanıma veri kümeleri oluşturmuştur.  Bununla birlikte akademik çalışmalarda hesaplama için yeterli kaynağa sahip olunamaması, araştırmacıları, yüz tanıma sistemlerinin doğruluğunu iyileştirmek için, ağ mimarisi ve eğitim kaybını iyileştirmeye yöneltmiştir. Örneğin Labelled Faces in the Wild (LFW) isimli, resim çiftlerinin yer aldığı veri setinde ağ mimarisi ve eğitim kaybındaki iyileştirmeler sayesinde doğruluk oranı %97’den %99.7’ye yükselmiştir. 

Nesne sınıflandırma problemlerinde iyi performans gösteren mimariler, öznitelik çıkarma için de iyi performans göstermektedir. 

 

C. Yüz eşleştirme için eğitim kaybı

Yüz tanıma sistemlerinin genel doğruluğunu iyileştirmede eğitim kaybının hayati bir rolü vardır. DeepFace ve DeepId gibi oldukça eski ağ mimarileri, özellikleri öğrenmek ve modeli eğitmek için softmax loss kullanmaktadır. Softmax loss, softmax aktivasyonu ile çapraz entropi kaybıdır. Softmax, her sınıf için olasılık çıktısı veren bir etkinleştirme işlevidir ve bu olasılıklar bire kadar toplanır. Çapraz entropi kaybı ise, olasılıkların negatif logaritmasının toplamıdır.

Araştırmacılar, softmax loss gibi fonksiyonların, ayırt edici özelliklerin öğrenme kapasitesini sınırladığını fark etmişlerdir. Bu sebeple, yüz tanıma sistemlerinde loss fonksiyonlarına ‘accuracy’ iyileştirmesi amacıyla daha fazla odaklanılmaya başlanmıştır. Bu aşamada, Euclidean Loss ve Cosine Loss önemli bir rol oynamıştır. 

 

1-Euclidean loss: Öklid kaybı, belirli bir yüz görüntüsünü, temsili alana yerleştiren bir öğrenme ölçümüdür. Öklid kaybının odaklandığı ana fikir, yüz görüntüleri arasındaki sınıf içi varyansı azaltmak ve farklı yüz görüntüleri arasındaki sınıflar arası varyansı arttırmaktır.

2-Cosine loss: Cosine loss öncesi geliştirilen loss fonksiyonlarında, accuracy değeri daha yüksek olan yüz tanıma sistemleri geliştirmek için loss fonksiyonlarının iyileştirilmesine yönelik çalışmalar gerçekleştirilmiştir. Yüz tanıma accuracy değerini artırabilmek amacıyla; cosine loss ile sınıf içi minimum varyans, sınıflar arası maksimum varyans elde edilmektedir. 

 

 

Burada,

  • N, eğitim örnekleri sayısını (training samples count),
  • C,  sınıfların sayısını (number of classes) ve
  • f, ağırlık vektörü, W, ile tam bağlı katmanın aktivasyonunu temsil etmektedir..

 

 

Ɵ; W ve x (özellik vektörü) arasındaki açı olduğu durumda yukarıdaki formül kullanılır.

 

Yüz veri tabanları

Son 30 yılda küçük veya büyük ölçekli, laboratuvar veya gerçek dünyanın kısıtlamasız koşullarında birçok yüz veritabanı oluşturulmuştur. Yüz veri tabanı oluşturma prosedürü, yüz tanıma araştırmasının yolunu büyük ölçüde etkiler. Başarılı bir yüz tanımlama işlemi için yeterince büyük bir eğitim veri seti gereklidir. Bu nedenle çeşitli araştırma toplulukları tarafından veri seti azlığını gidermek amacıyla büyük ölçekli veri setleri oluşturulmaktadır. 1 milyondan fazla fotoğraf içeren Megaface, VGGface2, MS-Celeb-1M ve WebFace260M çalışmalarda kullanılan önemli, büyük ölçekli veri tabanlarıdır. Yeni bir büyük ölçekli yüz veri seti olan VGGFace2, 9131 kişinin 3.31 milyon fotoğrafını içermektedir. Veri setinde yer alan fotoğraflar Google Görsel Arama kullanılarak toplanmış olup çeşitli poz, etnik köken, yaş, aydınlatma koşulları ve meslek (aktörler, sporcular, politikacılar) gruplarına ait kişilerin fotoğraflarını içermektedir.

               

Görsel Referansı

 Görsel Referansı

 

Özetle;

  • Yüz tanıma teknolojisinin son yıllarda en etkili teknolojilerden biri olduğu kanıtlanmıştır.
  • Yüz tanıma güvenlik, gözetim, genel kimlik doğrulaması, ceza/adalet sistemleri, görüntü veritabanı araştırmaları, insan-bilgisayar arayüzlerine sahip çoklu ortamlar gibi birçok uygulama alanına sahiptir.
  • Yüz tanıma sistemlerinin çalışması için yüz ön işleme, derin özellik çıkarma, yüz eşleştirme için eğitim kaybı olmak üzere üç modül gerekmektedir.
  • MS-Celeb-1M, VGGface2, Megaface ve WebFace260M 1 milyondan fazla fotoğraf içeren dört önemli veri tabanıdır.

 

Kaynakça

Miuul topluluğunun bir parçası ol!

Abone ol butonuna tıklayarak Miuul'dan pazarlama ve haber içerikleri almayı onaylıyorum.