• Sonuç bulunamadı

Yapay Zeka Tabanlı Yüz Tanıma Sisteminin Geliştirilmesi Ve Optimizasyonu

N/A
N/A
Protected

Academic year: 2021

Share "Yapay Zeka Tabanlı Yüz Tanıma Sisteminin Geliştirilmesi Ve Optimizasyonu"

Copied!
10
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Yapay Zeka Tabanlı Yüz Tanıma Sisteminin

Geliştirilmesi Ve Optimizasyonu

Sedat Yıldız1, Erdem Özgür1, Nihal Bilal1,

1Teracity Yazılım Teknolojileri Ltd.Şti., Bursa, Türkiye

{ sedat.yildiz, erdem.ozgur, nihal.bilal }@teracity.com.tr

Özet. Yüz tanıma teknolojisi kısaca, insan yüzünün karakteristik özelliklerini dijital ortamda analiz ederek biyometrik profil üzerinden kimlik tanılama, kişi doğrulama ve onaylama işlem-lerini gerçekleştiren teknolojidir. Yapay zeka teknolojilerindeki gelişmelerle birlikte yüz tanıma sistemleri ile ilgili giderek artmış, bu sistemler %99,83 oranlarında başarım elde edilmiştir[1]. Yüz tanıma sistemlerindeki başarımın artması daha yaygın bir şekilde kullanılmasını da sağla-mıştır. Yüz tanıma teknolojisi özellikle güvenlik, suçluların tespiti, ulaşımda hızlı geçişin sağ-lanması vb. alanlarda yaygın bir şekilde kullanılmaya başlanmıştır. Bu çalışmanın içeriğinde yüz tanıma ile ilgili geliştirilen makine ve derin öğrenme algoritmalarının karşılaştırılması, performans açısından en iyi algoritmanın seçilmesi ve bir yüz tanıma sistemi geliştirilmesi ile ilgili yapılan çalışmalar sunulmuştur. Uygulamada yüz tanıma için 6 farklı algoritma üzerinde çalışılarak bu algoritmaların başarımları ve hızları analiz edilmiştir. Bir sonraki aşamada başa-rım ve hız açısından en uygun algoritmanın optimizasyonu üzerinde çalışılmıştır. Optimizasyon için algoritmanın testleri için kullanılan veri setleri üzerinde Öklid uzaklık analizi ve Cohen’s Distance analizi yapılmış ve en uygun parametreler hesaplanmıştır. Sonraki aşamada bir görün-tü işleme servis uygulaması prototipi geliştirilmiştir. Web servis mantığı ile çalışan bu uygula-mada haberleşme standartı olarak REST/Json teknikleri kullanılmaktadır. Uygulauygula-mada para-metre olarak gönderilen bir kare üzerinde yüz tespit ve tanıma yapılmaktadır.

Anahtar Kelimeler: Yüz Tespiti, Yüz Tanıma, Yapay Zeka, Makine Öğrenmesi, Derin Öğrenme

(2)

Development and Optimization of

Artificial Intelligence Based Face Recognition System

Sedat Yıldız1, Erdem Özgür1, Nihal Bilal1,

1Teracity Yazılım Teknolojileri Ltd.Şti., Bursa, Turkey

{ sedat.yildiz, erdem.ozgur, nihal.bilal }@teracity.com.tr

Abstract. Face recognition technology is the technology that performs the identification, aut-hentication and verification processes through biometric profile by analyzing the characteristics of human face in digital environment. With the advances in artificial intelligence technologies, face recognition systems have gradually increased and these systems have achieved 99.83% performance [1]. Increased performance in facial recognition systems has made it more widely used. Face recognition technology, especially security, detection of criminals, ensuring rapid access to transport and so on. areas have been widely used. In this study, the comparison of the machine and deep learning algorithms developed for face recognition, the selection of the best algorithm in terms of performance and the development of a face recognition system are presen-ted. In practice, 6 different algorithms have been studied for face recognition and their perfor-mance and speed have been analyzed. In the next stage, optimization of the most suitable algo-rithm in terms of performance and speed was studied. For the optimization, Euclidean distance analysis and Cohen’s Distance analysis were performed on the data sets used for the tests of the algorithm and the most appropriate parameters were calculated. In the next stage, an image processing service application prototype was developed. In this application which works with web service logic, REST / Json techniques are used as the communication standard. In the application, face detection and recognition is made on a square sent as a parameter.

Keywords: Face Detection, Face Recognition, Artificial Intelligence, Machine lear-ning, Deep learning.

(3)

1

Giriş

1970'li yıllardan bu yana üzerinde çeşitli çalışmaların yapıldığı ve çeşitli algoritmala-rın geliştirdiği bir biyometrik teknik olan yüz tanıma Bilgisayarlara insanın görme sistemine benzer şekilde görme ve tanımlama özelliğinin kazandırılması şeklinde tanımlanabilir. Endüstride Personel Devam Kontrol Sitemi (PDKS), güvenlik, sağlık, üye takip sistemi, suçluların tanınması ve takibi farklı alanda kullanılmaktadır.

Yüz tanımada bugüne kadar pek çok yöntem uygulanmış, birbirinden farklı algo-ritmalar geliştirilmiştir. Uygulanan yöntemleri geleneksel ve modern yöntemler ola-rak iki gruba ayrılabilir.

Geleneksel yöntemler tanıma yapılacak yüzü veri tabanındaki yüzlerle karşılaştıra-rak yüzdeki belirli özelliklere dayalı bir geometrik yaklaşımda bulunur. Sonrasında bu görüntüyü numerik değerlere dönüştürür ve veri tabanındaki görsellerle eşleşip eşleş-mediğini bulmak için yüz şablonuyla eşleştirildiği fotometrik bir yöntem kullanır. Fisher vektör algoritması ve Temel bileşenler Analizinde (PCA) kullanılan EigenFa-ces (Öz yüzler) geleneksel yöntemlere örnek olarak verilebilir. [2]

Bu yöntemler bir görüntüden yüzün özelliklerini çıkarmak için Logic Binary Pat-tern (LBP) ya da SIFT gibi görüntü tanımlayıcılarını kullanırlar. Modern yüz tanıma yöntemleri ise Makine Öğrenmesi ve derin öğrenme tekniklerine bağlı yöntemlerdir. Bu yöntemler dijital görüntülerle beslendikçe algoritmanın zaman içinde görsellerin özelliklerine bağlı olarak öğrenmesi esasına dayalı bir çalışma prensibine sahiptirler. Bir derin öğrenme algoritması verilerden desenleri veya özellikleri yeterince öğren-dikten sonra, daha önce görmediği dijital bir görüntünün özelliklerini çıkarma yetene-ğine sahip olabilecek ve bu örnek ya da özellikleri veri tabanında depolanan daha önceki görsellerle kıyaslayarak resmin kime ait olduğunu tanıyabilecektir.

Bu çalışma ile yüz tanıma ile ilgili geliştirilen makine ve derin öğrenme algorit-malarının karşılaştırılması, performans açısından en iyi algoritma seçilmesi ve bir yüz tanıma sistemi geliştirilmesi hedeflenmiştir. İkinci bölümde yüz tanıma hakkında bilgi verilerek karşılaştırılan algoritmaların analizi ve optimizasyonundan bahsedil-miş, sonuç kısmında elde edilen bulgular ve konu ile ilgili muhtemel araştırma konu-ları belirtilmiştir.

2

Yüz Tanıma

Bir yüz tanıma sisteminin çalışma mantığı aşağıda Şekil 1’de yer alan 4 temel adımda incelenebilmektedir.

(4)

Üzerinde çalışılan yüz tanıma algoritmaları ise

Dlib DNN:ResNet-34 Model [19],

Dlib DNN+k-NN :Resnet-29 Model [19], FaceNet 20180402-114759 Model

[18], OpenCV LBPH [22], OpenCV Fisherfaces [22], OpenCV Eigenfaces

[22], Eigenfaces + k-NN’dir.

2.1 Dlib DNN:ResNet-34 Model

Bu algoritmada Derin metrik öğrenme (deep metric learning) tekniği kullanılarak yüz tanıma işlemi gerçekleştirilmektedir. Metrik öğrenme, yüz örnekleri arasındaki ben-zerliği veya mesafeyi hesaplamak için eğitim verilerinden bir metrik fonksiyon öğre-nir. Ağ mimarisi olarak ResNet-34 [19] modeli kullanılmaktadır. Bu algoritmada her kişi için 128 uzunluklu bir öznitelik vektörü üretilerek yüz tanıma işlemi gerçekleşti-rilmektedir. Algoritma her kişi için 128 –d vektörlerini elde ettikten sonra Öklid uzak-lık hesabıyla yeni bir kişinin hangi sınıfa ait olduğunu belirlemektedir. Kişi tahmini, oylama mantığı ile gerçekleştirilmektedir. Uzaklığın belirli bir eşik değerinin altında olduğu tüm uzaklık değerlerine göre indis değerleri seçilir, daha sonra ilgili indis değeri kullanılarak kişiler oylanır. En çok oyu alan kişi tahmin edilen kişi olarak geri döndürülür.

2.2 Dlib DNN + k-NN : ResNet-29 Model

Bu algoritmada da bir önceki algoritmaya benzer bir şekilde deep metric learning tekniği kullanılmaktadır. Ağ mimarisi olarak ResNet-34 [19] mimarisinin bir versiyo-nu olan ResNet-29 [19] Modeli kullanılmaktadır. Bu Model kullanılarak her yüz için 128 uzunluklu öznitelik vektörleri elde edilmektedir. Daha sonra bu öznitelik vektör-leri ilgili kişi etiketi ile k-NN sınıflandırıcı kullanılarak eğitim ve yüz tanıma işlemi gerçekleştirilir.

2.3 FaceNet 20180402-114759 Model

FaceNet [18] yüz görüntülerinden doğrudan yüz benzerlik ölçüsüne tekabül eden kompakt bir Öklid uzayına haritalamayı doğrudan öğrenen bir derin öğrenme modeli-dir. Öklid uzayında mesafeler doğrudan yüz benzerlik ölçüsüne karşılık gelmekte-dir.[20] Bu algoritma LFW[21] veri seti kullanılarak % 99.65 başarıma sahip, kullanı-lan modele göre tespit edilip kırpılmış yüzler için 128 veya 512 uzunluklu öznitelik vektörleri üretir. Çalışmada kullanılan model 512 uzunluklu öznitelik vektörleri üret-mektedir. Her kişi için öznitelik vektörleri üretildikten sonra k-nn sınıflandırıcı kul-lanılarak yüz tanıma işlemi gerçekleştirilmektedir.

2.4 OpenCV LBPH

LBP Ojala ve arkadaşları tarafından doku tanımada elde ettikleri başarılı sonuçlar ile ortaya atılmıştır. Bu operatör görüntünün 3×3 pencerelerin ortasındaki piksel değeri eşik seviyesi olarak seçilerek birbirlerine göre karşılaştırılması sonucu ikili değerlerin atanması temeline dayanmaktadır. Oluşturulan ikili sayı dizisine LBP kodu denir ve bu kod ile görüntüdeki farklı tipteki özellikleri belirlemek mümkün

(5)

hale gelir. Aşağıda Şekil 2’da LBP kodunun nasıl elde edildiği görsel olarak da belir-tilmiştir. LBP kodu elde etme işlemi tüm görsel taranarak tekrarlanır ve her nokta için ayrı ayrı LBP kodu elde edilir. Sonrasında bu kodlardan histogram özellikleri elde edilir. Histogram özellikleri yüz tanımada kullanılır.

Şekil 2. LBP kodunun elde edilmesi 2.5 OpenCV Fisherfaces

FisherFace yüz tanıma algoritması 1997 yılında P. Belhumeur tarafından Lineer Disc-riminant Analizi (LDA) temel alınarak geliştirilmiştir. Aynı kişiye ait birden fazla farklı görüntünün sınıf içi dağılımının en aza, sınıflar arası dağılımın ise en fazlaya ulaşabilmesi amacıyla geliştirilmiştir

[22].

2.6 OpenCV EigenFaces

EigenFace yaklaşımı yüksek boyutlu verilerin Temel bileşenler analizi kullanılarak daha düşük boyutta simgelenebilmesi için , iki boyutlu matrislere uyarlanmış bir uy-gulamadır. Görsellerin kovaryans matrisinin öz değer ve öz vektörleri bulunur ve yüksek öz değerlere karşılık gelen öz vektörler saklanır. Bu öz vektörler öz yüzlere karşılık gelir. Yeni bir kişi için de öz vektörler hesaplanarak daha önceden kayıt edil-miş özyüzler ile kıyaslanarak yüz tanıma işlemi gerçekleştirilir.

2.7 Yüz Tanımada Kullanılan Veri Setleri

Yüz tanıma algoritmalarının testi için 2 farklı veri setinden faydalanılmıştır. İlk veri seti aşağıda özellikleri maddeler halinde açıklanan Georgia Tech[24] veri setidir.

Georgia Tech veri seti 50 farklı kişinin farklı fotoğraflarından oluşmaktadır. Eği-tim için 50 kişinin her biri için ortalama 14’er fotoğrafı, test için de 1’er fotoğrafı kullanılmıştır. Görsellere kırpma ve hizalama (aligning) işlemi uygulanarak eşit bo-yutlarda ölçeklendirilmiştir. Görseller 350*320 piksel boyutundadır.

Yüz tanıma için kullanılan diğer veri seti ise Teracity Yazılım Teknolojileri per-sonel fotoğraflarından oluşturulmuştur. Bu veri setinde ise Teracity şirket perper-sonelin- personelin-den 27 kişinin ortalama 18 fotoğrafı kullanılarak bir veri seti oluşturulmuş, her kişi için 18 fotoğrafın 15’i eğitim için, 3’ü test için kullanılmıştır. Görsellere kırpma ve hizalama (aligning) işlemi uygulanarak eşit boyutlarda ölçeklendrilmiştir. Görsel Boyutları: 250*350 pikseldir.

(6)

2.8

Yüz Tanıma Algoritmaları Analizi

Aşağıda yer alan Tablo 1 ve Tablo 2’de Yüz tanıma algoritmalarının Georgia Tech veri seti ile yapılan testlerinde alınan sonuçları karşılaştırılmıştır. “k” değeri paramet-resi olarak gösterilen knn sınıflandırma değeri algoritmaların tamamında kullanılma-dığı için sonuçlar iki ayrı tablo halinde verilmiştir.

Tablo 1. Yüz tanıma algoritmaları analiz tablosu (Dlib ve Facenet) – GeorgiaTech Veri Seti

Tablo 2. Yüz tanıma algoritmaları analiz tablosu (OpenCV LBPH, Fisherfaces, Eigenfaces, Eigenfaces) – GeorgiaTech Veri Seti

Yüz tanıma için incelenen algoritmaların Georgia Tech veri seti üzerinde çalıştırıl-ması ile ilgili elde edilen Accuracy / Hız Grafiği aşağıda Şekil 3’de verilmiştir.

(7)

Şekil 3. GeorgiaTech Kişi Veri Seti [24] Başarım (Accuracy) / Hız (sn) Grafiği Aşağıda yer alan Tablo 3 ve Tablo 4 ‘te Yüz tanıma algoritmalarının Teracity Perso-nel veri seti ile yapılan testlerde alınan sonuçları karşılaştırılmıştır. Bu veri setinde ki sonuçlar da “k” değeri parametresi olarak gösterilen knn sınıflandırma değeri algo-ritmaların tamamında kullanılmadığı için iki ayrı tablo halinde verilmiştir.

(8)

Tablo 4. Yüz tanıma algoritmaları analiz tablosu - Teracity Personel Veri Seti

Teracity Yazılım Personel veri seti üzerinde yüz tanıma algoritmalarının çalıştırılma-sı ile ilgili elde edilen Accuracy / Hız Grafiği ise aşağıda Şekil 4’te verilmiştir.

(9)

3. Sonuçlar ve Tartışmalar

Yüz tespit ve tanıma algoritmalarının analiz edilmesiyle elde edilen sonuçlar şu şekil-dedir:

 Yapılan çalışmalar sonucunda yüz tespitinde doğruluk oranı en yüksek algo-ritmalar Dlib HOG ve Dlib CNN çıkmıştır(Şekil 16).

Tablo 5. Yüz tespit algoritmaları en iyi başarım tablosu

 Hız açısından en başarılı algoritma Opencv LBP algoritmasıdır ancak çok sayıda FP ve FN mevcuttur.

 Hem doğruluk hem de hız açısından CPU da çalışma sonucunda en başarılı algoritma Dlib HOG Algoritmasıdır.

 Dlib CNN algoritması GPU ile çalışmaya uygundur ve GPU ile çalıştırıldı-ğında hızda çok ciddi artış gözlenmekte. Bu da GPU ile birlikte Dlib CNN algoritmasının tercih edilmesinde önemli bir etkendir.

 En başarılı algoritmalar Dlib Hog ve Dlib CNN algoritmalarıdır ancak Hog frontal face yani ön yüz açısından başarılı iken yan açıdan yüzleri tespit mekte başarısızdır. Dlib CNN algoritması farklı açılardan yüzleri tespit et-mekte oldukça başarılıdır.

 Her iki veri seti için sonuçlar incelendiğinde başarım ve hız açısından Dlib DNN: ResNet-34 ve Dlib DNN + k-NN :Resnet-29 Modelleri en iyi sonuç-lara sahiptir.

 FaceNet modeli başarım açısından oldukça iyi sonuçlar üretmektedir ancak ResNet modelleri ile kıyaslandığında bu modelde gürültü giderme vb. ön iş-lemler uygulandığı için yüz tanımada daha yavaş olduğu görülmektedir.  ResNet ve FaceNet algoritmaları için cohen’s –d analizi verideki değişimi ve

en uygun k değerinin ne olduğunu göstermektedir. Cohen’s- d grafikleri in-celendiğinde ResNet modelinde üretilen değerlerin daha yüksek olduğu gö-rülmektedir. Bu durum ResNet algoritması sonucu üretilen vektörlerin daha iyi ayrıştığını göstermektedir.

 Klasik algoritmalar olan Eigenfaces ,Fisherfaces ve LBPH algoritmalarının yüz tanıma açısından derin öğrenme algoritmalarına göre başarımı düşüktür .  Eigenfaces ve Fisherfaces algoritmalarında kullanılan görseller önişlemden geçirilerek kırpma ve hizalama işlemleri uygulanmaktadır. Bütün resimlerin aynı boyutlarda olmak zorunda olması bu algoritmaların dezavantajlarından-dır.

 Eigenfaces ve Fisherfaces algoritmaları ışık ,yüz açısı gibi etkenlerden çok kolay etkilenmektedir. Bu durum sonuçları olumsuz etkilemekte ve başarımı düşürmektedir. LBPH algoritması ise ışıktan etkilenmemektedir.

(10)

 Derin öğrenme algoritmalarında resim ön işleme (kırpma , hizalama …) gibi işlemlere gerek yoktur ve bu algoritmalar her kişi için özel öznitelik vektör-leri çıkardıkları için ışık, açı gibi faktörlerden çok fazla etkilenmemektedir.

Kaynakça

1. M. Wang, W. Deng , Deep Face Recognition: A Survey , arXiv:1804.06655v8 [cs.CV] 12 Feb 2019

2. M. Naeem, I. Qureshi, F. Azam, Face Recognition Techniques And Approaches: A Sur-vey, Sci.Int.(Lahore),27(1),301-305,2015

3. https://www.superdatascience.com/blogs/opencv-face-detection

4. https://github.com/davisking/dlib/blob/master/python_examples/face_detector.py

5. https://github.com/opencv/opencv/tree/master/samples/dnn/face_detector

6. Zhang K. , Zhang Z. , Li Z. , Yu Qiao, Senior , Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks , 2016

7. Viola P. ,Jones M. , Robust Real-time Object Detection , Second Internatıonal Workshop On Statıstıcal And Computatıonal Theorıes Of Vısıon – Modelıng, Learnıng, Computıng, And Samplıng , Vancouver, Canada, July 13, 2001

8. https://github.com/davisking/dlib 9. http://www.image-net.org/ 10. https://www.tugraz.at/institute/icg/research/team-bischof/lrs/downloads/aflw/ 11. http://host.robots.ox.ac.uk/pascal/VOC/databases.html 12. http://www.robots.ox.ac.uk/~vgg/data/vgg_face/ 13. http://shuoyang1213.me/WIDERFACE/ 14. http://vintage.winklerbros.net/facescrub.html

15. Shashua A., Gdalyahu Y., and Hayon G., “Pedestrian detection for driving assistance systems: Single-frame classification and system level performance”, In Proceedings of IEEE Intelligent Vehicles Symposium, 2004.

16. N. Dalal and B. Triggs., “Histograms of oriented gradients for human detection”, In C. Schmid, S. Soatto, and C. Tomasi, editors, International Conference on Computer Vision and Pattern Recognition, volume 2, pages 886–893, June 2005.

17. W. Liu , D. Anguelov , D. Erhan, C. Szegedy , S. Reed , Cheng-Yang Fu , A. C. Berg , SSD: Single Shot MultiBox Detector , arXiv:1512.02325v5 [cs.CV] 29 Dec 2016

18. F. Schroff, D. Kalenichenko, J. Philbin , FaceNet: A Unified Embedding for Face Recognition and Clustering , arXiv:1503.03832v3 [cs.CV] 17 Jun 2015

19. K. He, X. Zhang, S. Ren, j. Sun , Deep Residual Learning for Image Recognition , arXiv:1512.03385v1 [cs.CV] 10 Dec 2015

20. Schroff F. , Kalenichenko D. , Philbin J. , FaceNet: A Unified Embedding for Face Recognition and Clustering, arXiv:1503.03832v3 [cs.CV] ,17 Jun 2015

21. http://vis-www.cs.umass.edu/lfw/

22. https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html

23. C. Szegedy vd. , Going Deeper with Convolutions :GoogleNet , 2015 ,CVPR 24. http://www.anefian.com/research/face_reco.htm

Şekil

Şekil 1. Yüz Tanıma Adımları
Şekil 2. LBP kodunun elde edilmesi  2.5   OpenCV Fisherfaces
Tablo 2. Yüz tanıma algoritmaları analiz tablosu (OpenCV LBPH, Fisherfaces, Eigenfaces,  Eigenfaces) – GeorgiaTech Veri Seti
Tablo 3. Yüz tanıma algoritmaları analiz tablosu - Teracity Personel Veri Seti
+2

Referanslar

Benzer Belgeler

Ortaçlı tarafından 1958 yılında tasarlanan Nihat Erim Apartmanı, 1962 ve 1990 yıllarında iki kez tasarladığı Ortaçlı Apartmanları araştırma kapsamında analiz

Careful attention to characteristic dermatologic findings in Behçet’s disease, systemic lupus erythematosus, rheumatoid arthri- tis, and various vasculitis can provide prompt

Tadım köyü Alevilerinde yaygın olan ziyaret sonrası çocuğu olan kişi genellikle ziyaret yerinde kurban kestirilmesi ve çevredeki kişilere ikram gibi uygulamalar

4 Fırat University School of Physical Education and Sports (BESYO), Elazığ, Turkey. The organizational silence of nurses, midwives, and health-care assistants who play a

ba, şerbet, ayran, çay, iftar ta­ bağı (sucuk, hurma, yeşil ve kalamar zeytin, dil, kaşar ve beyaz peynir, tahinli çörek, kabak böreği, yufka böreği),

Jale Erzen, “ Osman Hamdi Bey: Türk Resminde İkonografi Başlangıcı” , Sezer Tansuğ, “ Osman Hamdi Bey’­ in Resminde üslûp Farkları”. konulu

Bir yıllık dönemlerdeki portföylerin ortalamalarına bakılarak bir değerlendirme yapılacak olunursa, kaybettiren portföylerin ortalama %-42,17 kaybettirdiği, takip

1- Building a proposed program based on the use of visual thinking for the subject of teaching thinking for fourth stage students in the departments of