Please use this identifier to cite or link to this item: http://hdl.handle.net/10889/11748
Title: Verifacion : a decentralized face recognition login system
Other Titles: Verifacion : μια αποκεντρωμένη εφαρμογή αναγνώρισης προσώπου για συστήματα εισόδου
Authors: Κόντρας, Κωνσταντίνος
Keywords: Αναγνώριση προσώπου
Keywords (translated): Face recognition
Blockchain
Ethereum
Neural networks
Abstract: Η παρούσα εργασία πραγματεύεται τη δημιουργία μιας εφαρμογής για την είσοδο σε ένα ηλεκτρονικό σύστημα με τη μέθοδο της αναγνώρισης προσώπου. Για το σκοπό αυτό αξιοποιείται μια τεχνολογία των τελευταίων ετών το Blockchain. Μέσα από την διαδραστική ενασχόληση με αυτές τις τεχνολογίες καταφέρνουμε να δούμε μια διαφορετική οπτική γωνία για την ανάπτυξη εφαρμογών. Τα βιομετρικά χαρακτηριστικά ήταν πάντα στο στόχαστρο του ανθρώπου για τις λειτουργίες της αναγνώρισης. Χιλιάδες χρόνια πριν, αξιοποιήθηκαν πρώτη φορά και παρόλο που ο άνθρωπος τα χρησιμοποιεί σε καθημερινή βάση, η τεχνολογία για την εκμετάλλευση τους σε ευρεία κλίμακα είναι έτοιμη μονάχα τα τελευταία χρόνια. Πλέον, η πλειοψηφία της ανθρωπότητας έχει πρόσβαση στο διαδίκτυο και σε συσκευές που έχουν κατά μεγάλο ποσοστό μια κάμερα ενσωματωμένη. Άλλα βιομετρικά χαρακτηριστικά απαιτούν επιπλέον εξαρτήματα (π.χ. τα δακτυλικά αποτυπώματα), επίσης η εξαγωγή μιας εικόνας μπορεί να γίνει χωρίς διαδραστικότητα με το χρήστη κάνοντας το σύστημα πιο εύχρηστο. Η αναγνώριση προσώπου μπορεί να γίνει οπουδήποτε ασχέτως με το περιβάλλον που βρίσκεται ο χρήστης, της ενδυμασίας του ή των εξωτερικών του χαρακτηριστικών. Τα συστήματα αυτά δίνουν πλέον μεγάλη ακρίβεια και αποτελεσματικότητα σε μικρό χρονικό διάστημα. Για τους λόγους αυτούς επιλέξαμε το πρόσωπο ως την κεντρική πηγή πληροφοριών για την πιστοποίηση του χρήστη. Ο σκοπός της παρούσας διπλωματικής είναι μέσα από την ερεύνα στο γνωστικό αντικείμενο της αναγνώρισης προσώπου να εξερευνήσουμε αλγόριθμους σχετικούς με τη μηχανική μάθηση. Ο πιο ισχυρός και δημοφιλής από αυτούς είναι τα νευρωνικά δίκτυα. Για το λόγο αυτό αφιερώθηκαν αρκετές σελίδες στην ανάλυση της αρχιτεκτονικής τους. Προεπεξεργασία Η εργασία ξεκινάει με την φάση της προεπεξεργασίας. Σε αυτή τη κατάσταση η εικόνα προετοιμάζεται προκειμένου να αξιοποιηθεί από τα συστήματα εντοπισμού και αναγνώρισης. Το στάδιο αυτό, συχνά δεν διερευνάται σε βάθος λόγο του μικρού βάρους που φέρει στο συνολικό σύστημα. Εμείς όμως, αναγνωρίζοντας την αξία του ειδικά για τα συστήματα που εφαρμόζονταν κατά κόρων μέχρι και μια δεκαετία πριν, αναλύουμε 4 τεχνικές που μπορούν να συνδυαστούν. Ο συνδυασμός τους θα κάνει την εικόνα περισσότερο ανεξάρτητη προς τη φωτεινότητα ενισχύοντας τα αποτελέσματα της αναγνώρισης προσώπου. Αναλύονται οι αλγόριθμοι, Histogram Equalization, SQI, ο αλγόριθμος των Tan & Trigg και η προεπεξεργασία με LBP. Εντοπισμός Προσώπου Στο επόμενο κεφάλαιο παρουσιάζεται η πρώτη ουσιαστική επαφή των αλγορίθμων με την εικόνα. Η ουσιαστική επαφή έγκειται στο γεγονός ότι περιμένουμε συγκεκριμένα αποτελέσματα από το στάδιο αυτό το οποίο μπορεί να πετύχει αλλά φυσικά και να αποτύχει. Οι τεχνολογικές αναπτύξεις στον κλάδο, παρόλ’ αυτά έχουν ελαχιστοποιήσει το ποσοστό αποτυχίας. Ο λόγος λοιπόν δίνεται στους αλγόριθμους εντοπισμού του προσώπου. Ως φόρο τιμής η ανάλυση αυτών ξεκινάει από μεθόδους που χρησιμοποιήθηκαν στα πρώτα βήματα της τεχνολογίας αυτής, τον περασμένο αιώνα. Η αναγνώριση προσώπου μέσα από το διαχωρισμό του χρώματος και των γεωμετρικών χαρακτηριστικών ήταν οι πρώτες προσεγγίσεις. Παρόλο που δεν είναι διακριτό εύκολα στο ανθρώπινο μάτι, το χρώμα του δέρματος όλων των ανθρώπων από κάθε ήπειρο περιορίζεται σε μια κλειστή περιοχή. Η παρατήρηση αυτή έδωσε τα πρώτα αποτελέσματα. Στη συνέχεια το γεγονός ότι κάθε πρόσωπο έχει συγκεκριμένα χαρακτηριστικά όπως μια μύτη, δυο μάτια και ένα στόμα αξιοποιήθηκε από τους επιστήμονες δίνοντας καλύτερα αποτελέσματα. Η επόμενη τεχνική που, αν και είναι πολύ κοντά στις δυο προηγούμενες, χρησιμοποιείται ακόμα και σήμερα στην αναγνώριση προσώπων και πραγμάτων είναι το Template Matching. Να διευκρινίσουμε ότι χρησιμοποιείται σε περιπτώσεις που θέλουμε γρήγορα αποτελέσματα με ανοχή σε σφάλμα και κυρίως οι πόροι δεν επιτρέπουν υψηλή υπολογιστική περιπλοκότητα. Οι εν συνεχεία διαδικασίες από εκείνο το σημείο και έπειτα έγιναν πολύ σύνθετες για τα πλαίσια της περίληψης. Στις αρχές του 21ου αιώνα κάνει την εμφάνιση του ένα δίδυμο ερευνητών, οι Viola και Jones. Αυτοί δείχνουν στην επιστημονική, τότε, κοινότητα ότι δεν χρειάζεται ένα μεγάλο περίπλοκο σύστημα για την αναγνώριση, αλλά πολλά μικρά εύκολα υλοποιήσιμα με τη σωστή βεβαίως αρχιτεκτονική. Αυτό σε συνδυασμό με κάποιες τεχνικές για την ελάττωση των υπολογιστικών απαιτήσεων άνοιξαν το δρόμο για την ανάπτυξη. Μερικά χρόνια αργότερα με τις συμπληρωματικές προσθήκες των Dalal και Triggs ο αλγόριθμος που είχε γίνει πατέντα το 1989 επανέρχεται στο προσκήνιο. Ο λόγος για τον HoG (Histogram of oriented gradient), ο οποίος αναλύει την εικόνα με βάση τον προσανατολισμό της φωτεινότητας των pixel. Φτιάχνοντας έτσι, μια περιγραφή της εικόνας το λεγόμενο feature vector. Συγκρίνοντας το με ένα δοσμένο σύνολο αποφασίζει εάν υπάρχει ή όχι πρόσωπο στην εικόνα. Στο παρόν κεφάλαιο αναλύονται και κάποια τεχνάσματα για την συμπλήρωση των αλγορίθμων και την αποφυγή των περιορισμών τους όπως οι Gaussian Pyramids. Εντοπισμός συγκεκριμένων χαρακτηριστικών Στη συνεχεία, ως εκροή της απαίτησης του συστήματος αναγνώρισης, τα πρόσωπα να έχουν συγκεκριμένη μορφή, δημιουργείται η κατηγορία των αλγορίθμων αυτή. Εδώ βασικός στόχος είναι να βρούμε κάποια σημεία στο πρόσωπο τα οποία θα μας επιτρέψουν με μια εύκολη μαθηματική μετατροπή να επιτύχουμε το σκοπό μας. Ο στόχος είναι να προσανατολίσουμε και να μεταφέρουμε το πρόσωπο σε μια συγκεκριμένη απαιτούμενη μορφή. Οι αλγόριθμοι που παρουσιάζονται χωρίζονται σε δυο κατηγορίες. Η πρώτη είναι τα deformable templates και βασισμένος σε αυτά παίρνοντας τα ηνία από τον προκάτοχο (ASM) είναι ο αλγόριθμος AAM (Active Appearance Model). Ο αλγόριθμος αυτός δέχεται ένα σύνολο από πρόσωπα με ενδεδειγμένα τα σημεία του προσώπου κατά το στάδιο της εκπαίδευσης. Έτσι, υπολογίζει το μέσο πρόσωπο από το δοσμένο σύνολο. Εφαρμόζοντας το μέσο πρόσωπο σε ένα καινούριο πρόσωπο και με μια επαναληπτική διαδικασία καταφέρνει να φέρει το αρχικό σχήμα ακριβώς στην επιθυμητή θέση. Ο αλγόριθμος αυτός αν και καταφέρνει να βρει τη λύση δεν κερδίζει ούτε σε σφάλμα ούτε σε ταχύτητα. Η επόμενη οικογένεια αλγορίθμων είναι οι cascade regressor αλγόριθμοι. Η κατηγορία αυτή είναι εμπνευσμένη από το δίδυμο που περιγράψαμε στην προηγούμενη παράγραφο. Χρησιμοποιούν απλά συστήματα για τη βελτίωση του σφάλματος σε τόσο μεγάλο βαθμό που καταφέρνουν να πετύχουν εξαιρετικά αποτελέσματα. Ο πρώτος αλγόριθμος είναι ο ESR ( Explicit Shape Regression) και ο διάδοχος του ERT ( Ensemble of Regression Trees). Οι αλγόριθμοι χρησιμοποιούν μια μέθοδο με 10 στάδια που κάθε στάδιο περιλαμβάνει 500 διαφορετικούς μικρούς ταξινομητές. Οι αλγόριθμοι αυτοί μοιάζουν πολύ, έχοντας όμως μια ουσιαστική διαφορά. Ο πρώτος χρησιμοποιεί fern ενώ ο δεύτερος tree regressors. Το ιδιαίτερο χαρακτηριστικό των fern είναι ότι κάνουν την ίδια ερώτηση σε κάθε επίπεδο του δέντρου. Περιληπτικά, οι αλγόριθμοι σε κάθε ένα από τα στάδια ελαχιστοποιούν το σφάλμα της αρχικής εκτίμησης που γίνεται. Τα πρώτα στάδια κάνουμε μεγάλες μετατοπίσεις ενώ τα τελευταία διορθώνουν με λεπτότητα τις λεπτομέρειες. Βάση χρόνου και ενδιαφέρουσας λογικής επιλέγουμε τον ERT για το δικό μας σύστημα. Αναγνώριση Προσώπου Το τελευταίο κεφάλαιο που ασχολείται με τη μηχανική όραση και τη θεωρία στο αντικείμενο αυτό είναι η αναγνώριση προσώπου. Εδώ διαλέξαμε 3 βασικές μεθόδους που έχουν χρησιμοποιηθεί αρκετά στο παρελθόν αλλά και την πλέον επικρατέστερη τα νευρωνικά δίκτυα. Αρχικά παρουσιάζουμε τον Eigenface που αξιοποιεί μια μέθοδο ανάλυσης δεδομένων ευρέως γνωστή την PCA (Principal Component Analysis). Σε αυτή την τεχνική συνθέτουμε τις εικόνες σε ένα πίνακα όπου κάθε πρόσωπο είναι ένα ξεχωριστό χαρακτηριστικό και βγάζουμε τις ιδιοτιμές και τα ιδιοδιανύσματα. Τα πιο σημαντικά ιδιοδιανύσματα αποτελούν τα πιο συχνά χαρακτηριστικά. Διαλέγουμε έναν αριθμό ιδιοδιανυσμάτων που ικανοποιεί την ακρίβεια. Μπορούμε εύκολα να ανάγουμε όλες τις εικόνες σε γραμμική σχέση με τα ιδιοδιανύσματα αυτά. Υπολογίζοντας τη γραμμική σχέση μπορούμε να πάρουμε μια καλή αναπαράσταση του προσώπου. Τα βάρη που χρησιμοποιούνται αποτελούν το feature vector και η διαδικασία της ταυτοποίησης τυποποιείται. Ο επόμενος αλγόριθμος ανήκει στην ίδια κατηγορία αφού αξιοποιεί και αυτός τη στατιστική ανάλυση των ιδιοτιμών και ιδιοδιανυσμάτων. Ο αλγόριθμος LDA (Linear Discriminant Analysis) δεν εφαρμόζει την ανάλυση αυτή απ’ ευθείας στις εικόνες, αντιθέτως σε ένα πίνακα που προσδιορίζεται από τη συσχέτιση μεταξύ των κλάσεων (διαφορετικών προσώπων) και τη συσχέτιση μέσα στις κλάσεις (ίδια πρόσωπα, άλλη εικόνα). Ο τελευταίος εκ των τριών είναι ένας αλγόριθμος που χρησιμοποιείται αρκετά στο πεδίο της μηχανικής όρασης. Ο λόγος για τον LBPH (Local Binary Pattern Histogram). Εδώ ο feature vector υπολογίζεται ως ένα σύνολο ιστογραμμάτων, τα οποία εξάγονται από την εικόνα για κάθε ένα pixel. Με σύγκριση της τιμής του στην γειτονική περιοχή υπολογίζεται ο αριθμός που κατηγοριοποιεί το συγκεκριμένο Pixel. Εφόσον εξαχθεί το απαιτούμενο χαρακτηριστικό διάνυσμα, το πρόσωπο κατηγοριοποιείται με βάση των προσώπων εκπαίδευσης. Τελευταία και πιο σημαντική, έρχεται μια καινούρια κατηγορία τα νευρωνικά δίκτυα. Αν και γνωστά από νωρίς να νευρωνικά δεν είχα μεγάλη απήχηση τα πρώτα χρόνια λόγω της υπολογιστική δύναμης και των δεδομένων που απαιτούν. Γίνεται εκτενή περιγραφή των πρώτων νευρωνικών και της βασικής αρχιτεκτονικής που έχει μείνει έως και σήμερα. Στη συνέχεια εξερευνούμε ένα νέο κομμάτι τα νευρωνικά δίκτυα στην μηχανική όραση. Τα λεγόμενα CNN (Convoluted Neural Network) έκαναν το επόμενο βήμα για την αναγνώριση προσώπου το 2012 με το περίφημο AlexNet. Το μοντέλο αυτό, που αναλύεται, κατάφερε να ελαττώσει το σφάλμα κατά 10,8% παραπάνω από το προηγούμενο κάτοχο του τίτλου στον διαγωνισμό ImageNet. Μια παραλλαγή του αλγορίθμου αυτού αξιοποιούμε και εμείς στην εφαρμογή μας. Για το λόγο αυτό στο παρών κεφάλαιο θα βρείτε λεπτομερή ανάλυση του CNN. Blockchain Σε αυτό το σημείο η ανάλυση για την αναγνώριση του προσώπου έχει τελειώσει. Τη σκυτάλη παίρνει μια καινούρια τεχνολογία βασισμένη στην ασφάλεια των υπολογιστών. Το περίφημο Bitcoin και η τεχνολογία που το υποστηρίζει το Blockchain. Το 2008 παρουσιάστηκε η πρώτη ιδέα και το 2009 το Bitcoin η πρώτη υλοποιημένη εφαρμογή. Βασική αρχή της εφαρμογής ήταν η απουσία της μέχρι τότε αναντικατάστατης κεντρικής αρχής που ρύθμιζε τη λογική πίσω από οποιαδήποτε εφαρμογή. Αυτό αντικαταστάθηκε με ένα σύνολο από πρωτόκολλα που επέτρεψαν σε ένα δίκτυο ομότιμων κόμβων να αλληλοεπιδρά με εγκυρότητα και αξιοπιστία. Το Blockchain αποτελούσε μια λίστα συνδεδεμένη με αποδείξεις για την εγκυρότητα των συναλλαγών στο δίκτυο αυτό. Όλοι έχουν πρόσβαση και μπορούν να τις επιβεβαιώσουν, αποκλείοντας την περίπτωση απάτης. Ο δρόμος είχε ανοίξει αλλά χρειαζόταν κάτι παραπάνω. Το 2014 γίνεται λόγος πρώτη φορά για τη δεύτερη μεγαλύτερη εφαρμογή στις τεχνολογίες αυτές, το Ethereum. Η βασική διαφορά τους είναι ότι το Ethereum δίνει τη μια γλώσσα προγραμματισμού η οποία επιτρέπει την αξιοποίηση του blockchain του Ethereum από άλλες εφαρμογές χωρίς την ανάγκη δημιουργίας εκ νέου. Στο κεφάλαιο αυτό αναλύονται κάποια από τα χαρακτηριστικά του δικτύου και τα πρωτόκολλα διανομής και διεύρυνσης του Blockchain. Η εφαρμογή μας - Verifacion Φτάσαμε μετά από ένα ενδιαφέρον μονοπάτι στην περιγραφή της εφαρμογής. Η εφαρμογή όπως αναφέραμε είναι ένα σύστημα πιστοποίησης λογαριασμού με τη χρήση αναγνώρισης προσώπου. Υπάρχουν δυο είδη χρηστών, οι απλοί χρήστες που θα αξιοποιήσουν την εφαρμογή για να εισέλθουν σε ένα σύστημα και οι κάτοχοι δικτυακών εφαρμογών που θα ενσωματώσουν την εφαρμογή μας στη δικιά τους. Το δικό μας σύστημα αποτελεί μια επέκταση στο χώρο των διαδικτυακών εφαρμογών. Οι υπηρεσίες που προσφέρονται σε έναν απλό χρήστη είναι δυο. Επίτηδες θελήσαμε ο αριθμός αυτός να είναι μικρός. Η πρώτη είναι η εγγραφή και η δεύτερη η είσοδος στο σύστημα. Και οι δυο εξυπηρετούνται με πάτημα ενός κουμπιού από ένα ξεχωριστό για την κάθε μια αναδυόμενο παράθυρο. Μια φωτογραφία και ένα όνομα χρήστη είναι όλα όσα χρειάζονται για να γραφτεί κανείς αλλά και για να εισέλθει στο σύστημα. Για τους ιδιοκτήτες άλλων εφαρμογών υπάρχουν δύο παράμετροι που πρέπει να καθορίσουν. Η πρώτη είναι η σελίδα επιτυχημένης πιστοποίησης στην οποία θα μεταφέρεται ο χρήστης. Η δεύτερη παράμετρος και πιο σημαντική είναι ο δείκτης αυστηρότητας της εφαρμογής. Για απλές εφαρμογές θα μπορούσε να είναι υψηλό το όριο διευκολύνοντας τους χρήστες, αφού θα γίνονται πιο εύκολα δεκτοί υπό διάφορες συνθήκες περιβάλλοντος. Αντίθετα σε ιδιαίτερα ευαίσθητα δεδομένα η είσοδος θα μπορούσε να δυσκολέψει τόσο ώστε η πιθανότητα λάθος να μηδενίζεται, αναγκάζοντας το χρήστη να προσέχει για διάφορες παραμέτρους κατά την είσοδο. Η αρχιτεκτονική του συστήματος Η αρχιτεκτονική του συστήματος χωρίζεται σε τρία αυτόνομα κατά κάποιο τρόπο μέρη. Το πρώτο είναι το server-side όπως το ονομάσαμε. Εκεί εξυπηρετείται ο χρήστης με δυο τρόπους. Στέλνεται μια φωτογραφία και εξάγονται τα χαρακτηριστικά. Εάν θέλουμε να κάνουμε εγγραφή τότε απλά μας επιστρέφει τα χαρακτηριστικά αυτά. Εάν θέλουμε να κάνουμε είσοδο στο σύστημα τότε πρέπει να του στείλουμε και τα προηγούμενα χαρακτηριστικά του αντίστοιχου username που βάζουμε για να μας απαντήσει με ένα ναι ή με ένα όχι. Η εξαγωγή των χαρακτηριστικών ακολουθεί τη διαδικασία των πρώτων 4 κεφαλαίων. Αρχικά εντοπίζεται το πρόσωπο, εξάγονται τα σημεία που μας ενδιαφέρουν, τροποποιούνται ώστε να είναι σε μια συγκεκριμένη μορφή και τροφοδοτούμε το πρόσωπο στο νευρωνικό δίκτυο. Το ειδικά επιλεγμένο δίκτυο μας βγάζει την αναπαράσταση που θέλουμε για το πρόσωπο. Το συγκεκριμένο νευρωνικό προορίζεται για συστήματα με χαμηλές δυνατότητες όπως κινητά, δίνοντας μας εξ’ αιτίας αυτού πάντα γρήγορα και φυσικά ακριβή αποτελέσματα. Το δεύτερο μέρος είναι το κομμάτι που κάνει την εφαρμογή μας decentralized, το smart contract. Εκεί η λογική είναι αρκετά απλή. Αξιοποιούμε το δίκτυο σαν μια βάση δεδομένων. Χρησιμοποιούμε μια συνάρτηση για την οποία ο χρήστης πρέπει να πληρώσει κατά την εγγραφή. Στην συνάρτηση αυτή επιβεβαιώνεται ότι δεν θα γίνει διπλή εγγραφή στο ίδιο όνομα χρήστη. Κατά την ανάκτηση των δεδομένων όμως, δεν απαιτείται κανένα χρηματικό ποσό. Η εφαρμογή από την μεριά του απλού χρήστη είναι ένα έξοδο μιας φοράς. Απαιτείται όμως κάθε φορά σύνδεση με το δίκτυο το οποίο μπορεί να γίνει με εφαρμογές plugin στο φυλλομετρητή (Metamask). Το τελευταίο κομμάτι είναι ο συνδετικός κρίκος μεταξύ των πρώτων δύο και είναι το λεγόμενο client-side. Το κομμάτι αυτό εκτελείται και εμφανίζεται κάθε φορά που ο χρήστης ανοίγει μια συμβεβλημένη εφαρμογή. Εκεί βρίσκεται η διαδικασία λήψης της φωτογραφίας, η επικοινωνία με τα άλλα μέρη και ο συντονισμός, κομμάτι ιδιαίτερα σημαντικό. Παράλληλα είναι υπεύθυνο το σημείο αυτό για την αλληλεπίδραση με το χρήστη, δηλαδή τη σωστή κατεύθυνση του και ενημέρωση σε περίπτωση σφαλμάτων. Επίλογος Περίληψης Στο σημείο αυτό θα θέλαμε να ευχαριστήσουμε τους αναγνώστες και να τους παροτρύνουμε να αναζητήσουν τα θέματα ενδιαφέροντος στα αντίστοιχα κεφάλαια για μια πιο αναλυτική προσέγγιση. Η ανάπτυξη της εφαρμογής Verifacion μας έδωσε την ευκαιρία να μάθουμε αναλυτικά και να κάνουμε πραγματικότητα μερικές από τις πιο ταχείες ανεπτυγμένες τεχνολογίες του σήμερα. Μέσα από τη διαδικασία αυτή αναλύθηκαν πολλές τεχνικές της μηχανικής μάθησης και ο σκοπός έχει επιτευχθεί σε έναν ικανοποιητικό βαθμό. Παράλληλα χτίσαμε μια εφαρμογή με ιδιαίτερα καλή απόκριση η οποία μας έδωσε κίνητρο για να γίνει πραγματική εφαρμογή.
Abstract (translated): This study focuses on decentralized applications for face verification system Humanity exploits biometric characteristics for identification for over a few thousand years. The properties of biometrics make them perfect for our purpose. Biometric characteristics of a human are unique and do not change. The augmented usage of cameras and the distribution among the majority of the population made industries utilize them more efficiently. These two factors made us choose face recognition for verification. Face recognition is a buzz word in technology these days. It is an accurate method that requires no movement of the user. Face recognition has evolved so much that it does not require a special background environment or special representation of a face. Thus, face recognition is the perfect choice. There are, though, some sensitive matters regarding the system. Biometric characteristics should be very well protected, as they do not change. The burst of blockchain technology and the sense of decentralization forced us in that direction. Decentralization could not be used in any submission, but where it can be applied it offers a secure user-oriented environment. Decentralized applications and blockchain opened a new era. The purpose of this thesis is due to the build of a login system with face recognition to explore the scientific area and the machine learning algorithms it includes. The application buttresses the neural network trend, using an alternation of AlexNet for the face recognition task. Furthermore, we explore smart contracts Ethereum and blockchain technology building a decentralized data repository. That way we ensure the decentralization of the application, as it needs no central authority to perform. Face verification has some several steps, each one having their algorithms. The first four chapters analyze these steps. They begin with preprocessing, a stage forgotten by many. We have presented four algorithms, Histogram Equalization, SQI, Tan & Trigg’s algorithm and a preprocess with LBP. In the following chapter, we investigate the algorithms for face detection. The analysis begins with some outdated methods as color segmentation, geometric features matching. They are not primarily in use today, but they can assist a system and we would like to honor them as the first steps of face detection. Also, template matching could be added to this category, with the difference that it is still used in tasks where available time and computational power are very limited. Afterwards, we present the crucial work of Viola and Jones and the HoG algorithm. The latter is chosen to be the algorithm of that phase in the application. An intermediate chapter before face recognition is facial landmarks detection and affine transformation. We reviewed the categories of algorithms and choose to present only the holistic-based approach. From the deformable templates, we presented the most underlying algorithm AAM. We intensify our attention on the cascade regressor algorithms. From this category we chose the fundamental ESR and the prevalent alternation ERT. Finally, the last chapter which occurs with computer vision and face is the face recognition. There you will find the classic algorithms PCA(Eigenface), LDA (Fisherface) and LBPH. Moreover, there is an extensive analysis of neural networks and especial CNNs. Chapter 6 includes the basic theory needed to understand how blockchain, Bitcoin and Ethereum works. We do not dive in the specific details of the networks as it is not the scope for this thesis. Eventually, in chapter 8 we present our implementation describing detailed how it works and why we made some choices. In the last two chapters you will find some results of the algorithms for observation and a conclusion including future work.
Appears in Collections:Τμήμα Ηλεκτρολ. Μηχαν. και Τεχνολ. Υπολογ. (ΔΕ)

Files in This Item:
File Description SizeFormat 
Verifacion_Kontras.pdf4.84 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons