Yüz tanıma sistemlerinde canlılık analizi
Liveness detection in face recognition systems
Yazar: TUGAY BOZİK
Danışman: DR. ÖĞR. ÜYESİ NİHAN KAHRAMAN
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Elektronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Günümüzde bilgisayarların gündelik yaşantımızın önemli bir parçası olması ile birlikte insan-bilgisayar etkileşimi oldukça fazla artmıştır. Teknolojinin sürekli olarak gelişmesiyle bu etkileşim her alanda oldukça önemli bir rol almaktadır. Son zamanlarda bu etkileşimin güvenlik alanında da önemli bir rol aldığını görüyoruz. Geleneksel güvenlik sistemlerinde şifreler, kartlar ve anahtarlar kullanılırken bunların kopyalanması, çalınması veya unutulması sürekli karşılaşılan bir konudur. Güvenlik gerektiren uygulamalar; mobil bankacılık, banka uygulamaları, erişim kontrol sistemleri gibi uygulamalarda önemini çok net anladığımız alanlarda geleneksel güvenlik yöntemlerinin yerine biyometrik veriler üzerinden kişilerin sistemlere daha güvenli ve pratik olarak erişimi sağlanmaya başlamıştır. Biyometrik veriler, kişilere ait ölçülebilir fiziksel ve davranışsal özellikleri tanıyarak, kimlik belirlemek üzere geliştirilmiş otomatik sistemler için kullanılan bir terimdir. Biyometrik veriler içerisinde en çok kullanılan özellik yüz ve göz biyometriğidir. Bu verileri kullanarak erişilen sistemler çok daha güvenilirdir. Ancak, biyometrik kimlik doğrulama sistemlerinin dolandırıcılık, sahtekarlık saldırılarına karşı olan zafiyeti yaygın olarak bilinen bir konudur. Sistemleri, biyometrik verileri taklit ederek kandırmaya çalışmak bilinen en yaygın dolandırıcılık saldırılarıdır. 
Bu çalışmada yüz tanıma sistemlerine yapılan dolandırıcılık saldırılarına karşı canlılık analizi yapılarak bir çözüm önerilmiştir. Kişilerin sisteme girmek için bir kamera karşısına geçmesiyle birlikte çalışan bir algoritma sayesinde canlılık kararı verilerek sistemlere sahte girişlerin önüne geçilmesi amaçlanmıştır. Geleneksel biyometrik doğrulama sistemlerinin üzerinde az maliyetli bir donanım değişikliği ile mevcut güvenlik seviyelerini arttırmak mümkündür. 
Python programlama dilini kullanarak, OpenCV görüntü işleme kütüphanesinin yetkinlerinden faydalanılmıştır. Aynı zamanda görüntü işleme algoritması olarak Dlib kütüphanesinden de faydalanılmıştır. Donanım olarak Intel i5 2.3GHz işlemciye sahip bilgisayar ve 1024x768 çözünürlüklü 5MP standart web kamerası kullanımıştır. Aynı zamanda bu yazılım Raspberry Pi 3 Model B donanımı üzerinde de test edilmiş olup aynı başarıya ulaşmıştır. Ekran karşısına geçen bir kişinin şekil dedektörü algoritması ile yüz bölgesi tespit edilmiştir. Ardından bilateral filter, aşındırma ve eşik değeri karşılaştırması yöntemleri ile de iris bölgeleri bulunduktan sonra ekran üzerinde dinamik olarak farklı zamanlarda ve farklı koordinatlarda çıkan yazıların takip edilmesi beklenmektedir. Bu sayede güvenlik açığı olan sistemlere girişlerde biyometrik verileri kullanarak canlılık analizi yapılıp dolandırıcılık saldırıları önlenmiştir. Bu çalışmanın yapılmasında ki temel amaç mevcut güvenlik sistemlerine ucuz ve hızlı bir çözüm sunmaktır.
Biyometrik sisteme girişleri simüle etmek için gönüllüler üzerinde test edilmiş, canlılık veya dolandırıcılık atağı kararını vermeyi sağlayan %97 başarı oranına sahip bir algoritma geliştirilmiştir.

Abstract:
Nowadays, as computers are an important part of our daily life, human-computer interaction has increased considerably. With the continuous development of technology, this interaction plays a very important role in all areas. Recently, we see that this interaction also plays an important role in security. When using passwords, cards and keys in traditional security systems, copying, stealing or forgetting is a common issue. Applications requiring security; In areas where we understand the importance of mobile banking, bank applications and access control systems in a very clear way, it has been started to provide safer and more practical access of people to systems by replacing traditional security methods with biometric data. Biometric data is a term used for automated systems developed for identification by recognizing measurable physical and behavioral characteristics of individuals. The most commonly used feature in biometric data is face and eye biometrics. Systems accessed using this data are much more reliable. However, the vulnerability of biometric authentication systems to fraud and spoofing attacks is widely known. Trying to trick systems by simulating biometric data is the most common fraud attack. 
In this study, a solution has been proposed by analyzing vitality against fraud attacks against facial recognition systems. Thanks to an algorithm running with the passing of a person against a camera to enter the system is intended to prevent the fake login to the system by giving the viability decision. It is possible to increase existing security levels with a low cost change over traditional biometric verification systems. 
Using the Python programming language, it has benefited from the authority of the OpenCV image processing library. Dlib library is also used as image processing algorithm. A computer with an Intel i5 2.3GHz processor and 5MP standard webcam with 1024x768 resolution was used as hardware. At the same time, this software has been tested on the Raspberry Pi 3 Model B hardware and has achieved the same success. The face detector was detected by a figure detector algorithm. Afterwards, after the iris regions are found with bilateral filter, abrasion and threshold value comparison methods, it is expected to follow the texts dynamically at different times and at different coordinates on the screen. In this way, by using biometric data to access the vulnerable systems, vitality analysis was conducted and fraud attacks were prevented. The main purpose of this study is to provide a cheap and fast solution to the existing security systems.
An algorithm with a 97% success rate has been developed to simulate inputs to the biometric system, which has been tested on volunteers, allowing the decision of liveness or the attack of fraud.