Λογότυπο Zephyrnet

Ένας ολοκληρωμένος οδηγός για την αρχιτεκτονική UNET | Κατακτώντας την τμηματοποίηση εικόνας

Ημερομηνία:

Εισαγωγή

Στο συναρπαστικό θέμα της όρασης υπολογιστή, όπου οι εικόνες περιέχουν πολλά μυστικά και πληροφορίες, η διάκριση και η ανάδειξη στοιχείων είναι ζωτικής σημασίας. Η κατάτμηση εικόνας, η διαδικασία διαχωρισμού των εικόνων σε περιοχές ή αντικείμενα με νόημα, είναι απαραίτητη σε διάφορες εφαρμογές που κυμαίνονται από την ιατρική απεικόνιση έως την αυτόνομη οδήγηση και την αναγνώριση αντικειμένων. Η ακριβής και αυτόματη τμηματοποίηση αποτελεί εδώ και καιρό πρόκληση, με τις παραδοσιακές προσεγγίσεις συχνά να υπολείπονται σε ακρίβεια και αποτελεσματικότητα. Εισαγάγετε την αρχιτεκτονική UNET, μια έξυπνη μέθοδο που έφερε επανάσταση στην τμηματοποίηση εικόνων. Με τον απλό σχεδιασμό και τις εφευρετικές τεχνικές του, το UNET έχει ανοίξει το δρόμο για πιο ακριβή και ισχυρά ευρήματα τμηματοποίησης. Είτε είστε νέος χρήστης στο συναρπαστικό πεδίο της όρασης υπολογιστών είτε έμπειρος επαγγελματίας που θέλει να βελτιώσει τις ικανότητές σας κατάτμησης, αυτό το σε βάθος άρθρο ιστολογίου θα ξεδιαλύνει την πολυπλοκότητα του UNET και θα παρέχει πλήρη κατανόηση της αρχιτεκτονικής, των στοιχείων και της χρησιμότητάς του.

Αυτό το άρθρο δημοσιεύθηκε ως μέρος του Επιστήμη δεδομένων Blogathon.

Πίνακας περιεχομένων

Κατανόηση του Νευρωνικού Δικτύου Συνέλιξης

Τα CNN είναι ένα μοντέλο βαθιάς μάθησης που χρησιμοποιείται συχνά σε εργασίες όρασης υπολογιστή, συμπεριλαμβανομένης της ταξινόμησης εικόνων, της αναγνώρισης αντικειμένων και της τμηματοποίησης εικόνων. Τα CNN προορίζονται κυρίως για να μαθαίνουν και να εξάγουν σχετικές πληροφορίες από εικόνες, καθιστώντας τα εξαιρετικά χρήσιμα στην ανάλυση οπτικών δεδομένων.

Τα κρίσιμα στοιχεία των CNN

  • Συνελικτικά στρώματα: Τα CNN περιλαμβάνουν μια συλλογή από φίλτρα (πυρήνες) με δυνατότητα εκμάθησης που συνδυάζονται με την εικόνα εισόδου ή τους χάρτες χαρακτηριστικών. Κάθε φίλτρο εφαρμόζει πολλαπλασιασμό και άθροιση βάσει στοιχείων για την παραγωγή ενός χάρτη χαρακτηριστικών που επισημαίνει συγκεκριμένα μοτίβα ή τοπικά χαρακτηριστικά στην είσοδο. Αυτά τα φίλτρα μπορούν να αποτυπώσουν πολλά οπτικά στοιχεία, όπως άκρες, γωνίες και υφές.
συνελικτικά στρώματα | UNET Architecture | Τμηματοποίηση εικόνας
  • Επίπεδα συγκέντρωσης: Δημιουργήστε τους χάρτες χαρακτηριστικών από τα συνελικτικά επίπεδα που υποβάλλονται σε μείωση δειγματοληψίας χρησιμοποιώντας επίπεδα συγκέντρωσης. Η συγκέντρωση μειώνει τις χωρικές διαστάσεις των χαρτών χαρακτηριστικών, ενώ διατηρεί τις πιο κρίσιμες πληροφορίες, μειώνοντας την υπολογιστική πολυπλοκότητα των διαδοχικών επιπέδων και καθιστώντας το μοντέλο πιο ανθεκτικό στις διακυμάνσεις εισόδου. Η πιο κοινή λειτουργία συγκέντρωσης είναι η μέγιστη συγκέντρωση, η οποία λαμβάνει την πιο σημαντική τιμή σε μια δεδομένη γειτονιά.
  • Λειτουργίες ενεργοποίησης: Εισαγάγετε τη μη γραμμικότητα στο μοντέλο CNN χρησιμοποιώντας συναρτήσεις ενεργοποίησης. Εφαρμόστε τα στις εξόδους των συνελικτικών ή ομαδοποιημένων επιπέδων στοιχείο προς στοιχείο, επιτρέποντας στο δίκτυο να κατανοήσει περίπλοκους συσχετισμούς και να λάβει μη γραμμικές αποφάσεις. Λόγω της απλότητας και της αποτελεσματικότητάς της στην αντιμετώπιση του προβλήματος της κλίσης εξαφάνισης, η συνάρτηση ενεργοποίησης Rectified Linear Unit (ReLU) είναι κοινή στα CNN.
  • Πλήρως συνδεδεμένα επίπεδα: Τα πλήρως συνδεδεμένα στρώματα, που ονομάζονται επίσης πυκνά στρώματα, χρησιμοποιούν τα ανακτημένα χαρακτηριστικά για να ολοκληρώσουν την τελική λειτουργία ταξινόμησης ή παλινδρόμησης. Συνδέουν κάθε νευρώνα σε ένα επίπεδο με κάθε νευρώνα στο επόμενο, επιτρέποντας στο δίκτυο να μάθει παγκόσμιες αναπαραστάσεις και να κάνει κρίσεις υψηλού επιπέδου με βάση τη συνδυασμένη είσοδο των προηγούμενων επιπέδων.

Το δίκτυο ξεκινά με μια στοίβα συνελικτικών επιπέδων για την καταγραφή χαρακτηριστικών χαμηλού επιπέδου, ακολουθούμενα από επίπεδα συγκέντρωσης. Τα βαθύτερα συνελικτικά επίπεδα μαθαίνουν χαρακτηριστικά υψηλότερου επιπέδου καθώς το δίκτυο εξελίσσεται. Τέλος, χρησιμοποιήστε ένα ή περισσότερα πλήρη επίπεδα για τη λειτουργία ταξινόμησης ή παλινδρόμησης.

Ανάγκη για ένα πλήρως συνδεδεμένο δίκτυο

Τα παραδοσιακά CNN προορίζονται γενικά για εργασίες ταξινόμησης εικόνων στις οποίες έχει εκχωρηθεί μία μόνο ετικέτα σε ολόκληρη την εικόνα εισόδου. Από την άλλη πλευρά, οι παραδοσιακές αρχιτεκτονικές του CNN έχουν προβλήματα με πιο λεπτομερείς εργασίες, όπως η σημασιολογική κατάτμηση, στην οποία κάθε pixel μιας εικόνας πρέπει να ταξινομηθεί σε διάφορες κλάσεις ή περιοχές. Τα Πλήρως Συνελικτικά Δίκτυα (FCN) μπαίνουν στο παιχνίδι εδώ.

UNET Architecture | Τμηματοποίηση εικόνας

Περιορισμοί των παραδοσιακών αρχιτεκτονικών του CNN σε εργασίες τμηματοποίησης

Απώλεια Χωρικών Πληροφοριών: Τα παραδοσιακά CNN χρησιμοποιούν στρώματα συγκέντρωσης για να μειώσουν σταδιακά τη χωρική διάσταση των χαρτών χαρακτηριστικών. Αν και αυτή η μείωση δειγματοληψίας βοηθά στη λήψη χαρακτηριστικών υψηλού επιπέδου, έχει ως αποτέλεσμα την απώλεια χωρικών πληροφοριών, καθιστώντας δύσκολη την ακριβή ανίχνευση και τον διαχωρισμό αντικειμένων σε επίπεδο pixel.

Σταθερό μέγεθος εισόδου: Οι αρχιτεκτονικές του CNN κατασκευάζονται συχνά για να δέχονται εικόνες συγκεκριμένου μεγέθους. Ωστόσο, οι εικόνες εισόδου μπορεί να έχουν διάφορες διαστάσεις σε εργασίες τμηματοποίησης, καθιστώντας δύσκολη τη διαχείριση των εισόδων μεταβλητού μεγέθους με τυπικά CNN.

Περιορισμένη ακρίβεια εντοπισμού: Τα παραδοσιακά CNN συχνά χρησιμοποιούν πλήρως συνδεδεμένα στρώματα στο τέλος για να παρέχουν ένα διάνυσμα εξόδου σταθερού μεγέθους για ταξινόμηση. Επειδή δεν διατηρούν χωρικές πληροφορίες, δεν μπορούν να εντοπίσουν με ακρίβεια αντικείμενα ή περιοχές μέσα στην εικόνα.

Πλήρως συνελικτικά δίκτυα (FCNs) ως λύση για τη σημασιολογική τμηματοποίηση

Δουλεύοντας αποκλειστικά σε συνελικτικά επίπεδα και διατηρώντας χωρικές πληροφορίες σε όλο το δίκτυο, τα Πλήρως Συνελικτικά Δίκτυα (FCN) αντιμετωπίζουν τους περιορισμούς των κλασικών αρχιτεκτονικών CNN στις εργασίες τμηματοποίησης. Τα FCN προορίζονται να κάνουν προβλέψεις pixel-pixel, με κάθε pixel στην εικόνα εισόδου να έχει εκχωρηθεί μια ετικέτα ή μια κλάση. Τα FCN επιτρέπουν την κατασκευή ενός χάρτη πυκνής τμηματοποίησης με προβλέψεις σε επίπεδο εικονοστοιχείων, αναδεικνύοντας τους χάρτες χαρακτηριστικών. Οι μετατιθέμενες περιελίξεις (επίσης γνωστές ως αποσυνελίξεις ή στρώματα ανερχόμενης δειγματοληψίας) χρησιμοποιούνται για την αντικατάσταση των πλήρως συνδεδεμένων στρωμάτων μετά τη σχεδίαση του CNN. Η χωρική ανάλυση των χαρτών χαρακτηριστικών αυξάνεται με μεταφερόμενες συνελίξεις, επιτρέποντάς τους να έχουν το ίδιο μέγεθος με την εικόνα εισόδου.

Κατά τη διάρκεια της δειγματοληψίας, τα FCN χρησιμοποιούν γενικά συνδέσεις παράλειψης, παρακάμπτοντας συγκεκριμένα επίπεδα και συνδέοντας απευθείας χάρτες χαρακτηριστικών χαμηλού επιπέδου με χάρτες υψηλότερου επιπέδου. Αυτές οι σχέσεις παράβλεψης βοηθούν στη διατήρηση λεπτομερών λεπτομερειών και πληροφοριών με βάση τα συμφραζόμενα, ενισχύοντας την ακρίβεια εντοπισμού των τμηματικών περιοχών. Τα FCN είναι εξαιρετικά αποτελεσματικά σε διάφορες εφαρμογές τμηματοποίησης, συμπεριλαμβανομένης της τμηματοποίησης ιατρικών εικόνων, της ανάλυσης σκηνής και της τμηματοποίησης παρουσιών. Τώρα μπορεί να χειριστεί εικόνες εισόδου διαφόρων μεγεθών, να παρέχει προβλέψεις σε επίπεδο pixel και να διατηρεί χωρικές πληροφορίες σε όλο το δίκτυο αξιοποιώντας FCN για σημασιολογική τμηματοποίηση.

Τμηματοποίηση εικόνας

Η κατάτμηση εικόνας είναι μια θεμελιώδης διαδικασία όραση υπολογιστή στο οποίο μια εικόνα χωρίζεται σε πολλά σημαντικά και ξεχωριστά μέρη ή τμήματα. Σε αντίθεση με την ταξινόμηση εικόνας, η οποία παρέχει μια ενιαία ετικέτα σε μια πλήρη εικόνα, η τμηματοποίηση προσθέτει ετικέτες σε κάθε εικονοστοιχείο ή ομάδα εικονοστοιχείων, χωρίζοντας ουσιαστικά την εικόνα σε σημασιολογικά σημαντικά μέρη. Η τμηματοποίηση εικόνας είναι σημαντική επειδή επιτρέπει μια πιο λεπτομερή κατανόηση των περιεχομένων μιας εικόνας. Μπορούμε να εξαγάγουμε σημαντικές πληροφορίες σχετικά με τα όρια αντικειμένων, τις μορφές, τα μεγέθη και τις χωρικές σχέσεις τμηματοποιώντας μια εικόνα σε πολλά μέρη. Αυτή η λεπτομερής ανάλυση είναι κρίσιμη σε διάφορες εργασίες όρασης υπολογιστή, επιτρέποντας βελτιωμένες εφαρμογές και υποστηρίζοντας ερμηνείες οπτικών δεδομένων υψηλότερου επιπέδου.

UNET Architecture | Τύποι τμηματοποίησης εικόνας

Κατανόηση της Αρχιτεκτονικής UNET

Οι παραδοσιακές τεχνολογίες τμηματοποίησης εικόνων, όπως ο χειροκίνητος σχολιασμός και η ταξινόμηση βάσει εικονοστοιχείων, έχουν διάφορα μειονεκτήματα που τις καθιστούν σπάταλες και δύσκολες για ακριβείς και αποτελεσματικές εργασίες τμηματοποίησης. Λόγω αυτών των περιορισμών, πιο προηγμένες λύσεις, όπως η UNET αρχιτεκτονική, έχουν αναπτυχθεί. Ας δούμε τα ελαττώματα των προηγούμενων τρόπων και γιατί δημιουργήθηκε το UNET για να ξεπεράσει αυτά τα ζητήματα.

  • Χειροκίνητος σχολιασμός: Ο χειροκίνητος σχολιασμός συνεπάγεται σκιαγράφηση και σήμανση ορίων ή περιοχών της εικόνας που ενδιαφέρουν. Ενώ αυτή η μέθοδος παράγει αξιόπιστα αποτελέσματα τμηματοποίησης, είναι χρονοβόρα, εντατική και επιρρεπής σε ανθρώπινα λάθη. Ο μη αυτόματος σχολιασμός δεν είναι επεκτάσιμος για μεγάλα σύνολα δεδομένων και η διατήρηση της συνέπειας και της συμφωνίας μεταξύ των σχολιαστών είναι δύσκολη, ειδικά σε περίπλοκες εργασίες τμηματοποίησης.
  • Ταξινόμηση βάσει pixel: Μια άλλη κοινή προσέγγιση είναι η ταξινόμηση βάσει εικονοστοιχείων, στην οποία κάθε εικονοστοιχείο σε μια εικόνα ταξινομείται ανεξάρτητα, χρησιμοποιώντας γενικά αλγόριθμους όπως δέντρα αποφάσεων, μηχανές υποστήριξης διανυσμάτων (SVM) ή τυχαία δάση. Η κατηγοριοποίηση βάσει εικονοστοιχείων, από την άλλη πλευρά, αγωνίζεται να καταγράψει το παγκόσμιο πλαίσιο και τις εξαρτήσεις μεταξύ των γύρω εικονοστοιχείων, με αποτέλεσμα προβλήματα υπερβολικής ή υπο-τμηματοποίησης. Δεν μπορεί να εξετάσει χωρικές σχέσεις και συχνά αποτυγχάνει να προσφέρει ακριβή όρια αντικειμένων.

Ξεπερνά τις Προκλήσεις

Η αρχιτεκτονική UNET αναπτύχθηκε για να αντιμετωπίσει αυτούς τους περιορισμούς και να ξεπεράσει τις προκλήσεις που αντιμετωπίζουν οι παραδοσιακές προσεγγίσεις για την τμηματοποίηση εικόνων. Δείτε πώς το UNET αντιμετωπίζει αυτά τα ζητήματα:

  • Εκμάθηση από άκρο σε άκρο: Το UNET χρησιμοποιεί μια τεχνική εκμάθησης από άκρο σε άκρο, που σημαίνει ότι μαθαίνει να τμηματοποιεί εικόνες απευθείας από ζεύγη εισόδου-εξόδου χωρίς σχολιασμό χρήστη. Το UNET μπορεί να εξάγει αυτόματα βασικά χαρακτηριστικά και να εκτελεί ακριβή τμηματοποίηση εκπαιδεύοντας σε ένα μεγάλο σύνολο δεδομένων με ετικέτες, καταργώντας την ανάγκη για χειροκίνητο σχολιασμό με ένταση εργασίας.
  • Πλήρως συνελικτική αρχιτεκτονική: Το UNET βασίζεται σε μια πλήρως συνελικτική αρχιτεκτονική, που σημαίνει ότι αποτελείται εξ ολοκλήρου από συνελικτικά επίπεδα και δεν περιλαμβάνει πλήρως συνδεδεμένα επίπεδα. Αυτή η αρχιτεκτονική επιτρέπει στο UNET να λειτουργεί σε εικόνες εισόδου οποιουδήποτε μεγέθους, αυξάνοντας την ευελιξία και την προσαρμοστικότητά του σε διάφορες εργασίες τμηματοποίησης και παραλλαγές εισόδου.
  • Αρχιτεκτονική σε σχήμα U με συνδέσεις παράλειψης: Η χαρακτηριστική αρχιτεκτονική του δικτύου περιλαμβάνει μια διαδρομή κωδικοποίησης (διαδρομή συμβάσεων) και μια διαδρομή αποκωδικοποίησης (διαδρομή επέκτασης), επιτρέποντάς του να συλλέγει τοπικές πληροφορίες και παγκόσμιο πλαίσιο. Οι συνδέσεις παράλειψης γεφυρώνουν το χάσμα μεταξύ των διαδρομών κωδικοποίησης και αποκωδικοποίησης, διατηρώντας κρίσιμες πληροφορίες από προηγούμενα επίπεδα και επιτρέποντας πιο ακριβή τμηματοποίηση.
  • Πληροφορίες με βάση τα συμφραζόμενα και εντοπισμός: Οι συνδέσεις παράλειψης χρησιμοποιούνται από το UNET για τη συγκέντρωση χαρτών χαρακτηριστικών πολλαπλής κλίμακας από πολλαπλά επίπεδα, επιτρέποντας στο δίκτυο να απορροφά πληροφορίες από τα συμφραζόμενα και να καταγράφει λεπτομέρειες σε διαφορετικά επίπεδα αφαίρεσης. Αυτή η ενοποίηση πληροφοριών βελτιώνει την ακρίβεια εντοπισμού, επιτρέποντας ακριβή όρια αντικειμένων και ακριβή αποτελέσματα τμηματοποίησης.
  • Αύξηση και τακτοποίηση δεδομένων: Το UNET χρησιμοποιεί τεχνικές αύξησης και τακτοποίησης δεδομένων για να βελτιώσει την ανθεκτικότητά του και την ικανότητα γενίκευσης κατά τη διάρκεια της εκπαίδευσης. Για να αυξηθεί η ποικιλομορφία των δεδομένων εκπαίδευσης, η επαύξηση δεδομένων συνεπάγεται την προσθήκη πολλών μετασχηματισμών στις εικόνες εκπαίδευσης, όπως περιστροφές, ανατροπές, κλιμάκωση και παραμορφώσεις. Τεχνικές τακτοποίησης όπως η εγκατάλειψη και η ομαλοποίηση παρτίδας αποτρέπουν την υπερπροσαρμογή και βελτιώνουν την απόδοση του μοντέλου σε άγνωστα δεδομένα.

Επισκόπηση της αρχιτεκτονικής UNET

Το UNET είναι μια αρχιτεκτονική πλήρως συνελικτικού νευρωνικού δικτύου (FCN) που έχει κατασκευαστεί για εφαρμογές τμηματοποίησης εικόνας. Προτάθηκε για πρώτη φορά το 2015 από τους Olaf Ronneberger, Philipp Fischer και Thomas Brox. Το UNET χρησιμοποιείται συχνά για την ακρίβειά του στην τμηματοποίηση εικόνων και έχει γίνει δημοφιλής επιλογή σε διάφορες εφαρμογές ιατρικής απεικόνισης. Το UNET συνδυάζει μια διαδρομή κωδικοποίησης, που ονομάζεται επίσης διαδρομή συστολής, με μια διαδρομή αποκωδικοποίησης που ονομάζεται διαδρομή επέκτασης. Η αρχιτεκτονική πήρε το όνομά της από την εμφάνισή της σε σχήμα U όταν απεικονίζεται σε ένα διάγραμμα. Λόγω αυτής της αρχιτεκτονικής σε σχήμα U, το δίκτυο μπορεί να καταγράψει τόσο τοπικά χαρακτηριστικά όσο και παγκόσμιο περιβάλλον, με αποτέλεσμα τα ακριβή αποτελέσματα τμηματοποίησης.

Κρίσιμα στοιχεία της αρχιτεκτονικής UNET

  • Διαδρομή σύμβασης (Διαδρομή κωδικοποίησης): Η διαδρομή συστολής του UNET περιλαμβάνει συνελικτικά στρώματα που ακολουθούνται από λειτουργίες max pooling. Αυτή η μέθοδος καταγράφει χαρακτηριστικά υψηλής ανάλυσης, χαμηλού επιπέδου μειώνοντας σταδιακά τις χωρικές διαστάσεις της εικόνας εισόδου.
  • Διαδρομή επέκτασης (Διαδρομή αποκωδικοποίησης): Οι μετατιθέμενες συνελίξεις, γνωστές και ως αποσυνέλιξεις ή επίπεδα ανεβασμών δειγματοληψίας, χρησιμοποιούνται για την αναδειγματοληψία των χαρτών χαρακτηριστικών από τη διαδρομή κωδικοποίησης στη διαδρομή επέκτασης UNET. Η χωρική ανάλυση των χαρτών χαρακτηριστικών αυξάνεται κατά τη φάση της δειγματοληψίας, επιτρέποντας στο δίκτυο να ανασυνθέσει έναν πυκνό χάρτη τμηματοποίησης.
  • Παράλειψη συνδέσεων: Οι συνδέσεις παράλειψης χρησιμοποιούνται στο UNET για τη σύνδεση ταιριασμένων επιπέδων από διαδρομές κωδικοποίησης έως αποκωδικοποίησης. Αυτοί οι σύνδεσμοι επιτρέπουν στο δίκτυο να συλλέγει τόσο τοπικά όσο και παγκόσμια δεδομένα. Το δίκτυο διατηρεί βασικές χωρικές πληροφορίες και βελτιώνει την ακρίβεια τμηματοποίησης ενσωματώνοντας χάρτες χαρακτηριστικών από προηγούμενα επίπεδα με αυτούς στη διαδρομή αποκωδικοποίησης.
  • Αληλουχία: Η συνένωση χρησιμοποιείται συνήθως για την υλοποίηση συνδέσεων παράλειψης στο UNET. Οι χάρτες χαρακτηριστικών από τη διαδρομή κωδικοποίησης συνδέονται με τους χάρτες χαρακτηριστικών που έχουν αναδειχθεί σε δειγματοληψία από τη διαδρομή αποκωδικοποίησης κατά τη διάρκεια της διαδικασίας αναδειγματοληψίας. Αυτή η συνένωση επιτρέπει στο δίκτυο να ενσωματώνει πληροφορίες πολλαπλής κλίμακας για κατάλληλη τμηματοποίηση, εκμεταλλευόμενο το πλαίσιο υψηλού επιπέδου και τα χαρακτηριστικά χαμηλού επιπέδου.
  • Πλήρως συνελικτικά στρώματα: Το UNET περιλαμβάνει συνελικτικά επίπεδα χωρίς πλήρως συνδεδεμένα επίπεδα. Αυτή η συνεκτική αρχιτεκτονική επιτρέπει στο UNET να χειρίζεται εικόνες απεριόριστων μεγεθών διατηρώντας παράλληλα χωρικές πληροφορίες σε όλο το δίκτυο, καθιστώντας το ευέλικτο και προσαρμόσιμο σε διάφορες εργασίες τμηματοποίησης.

Η διαδρομή κωδικοποίησης, ή η διαδρομή συρρίκνωσης, είναι ένα ουσιαστικό συστατικό της αρχιτεκτονικής UNET. Είναι υπεύθυνο για την εξαγωγή πληροφοριών υψηλού επιπέδου από την εικόνα εισόδου, ενώ σταδιακά συρρικνώνεται οι χωρικές διαστάσεις.

Συνελικτικά στρώματα

Η διαδικασία κωδικοποίησης ξεκινά με ένα σύνολο συνελικτικών στρωμάτων. Τα συνελικτικά επίπεδα εξάγουν πληροφορίες σε πολλαπλές κλίμακες εφαρμόζοντας ένα σύνολο φίλτρων με δυνατότητα εκμάθησης στην εικόνα εισόδου. Αυτά τα φίλτρα λειτουργούν στο τοπικό δεκτικό πεδίο, επιτρέποντας στο δίκτυο να πιάσει χωρικά μοτίβα και δευτερεύοντα χαρακτηριστικά. Με κάθε συνελικτικό επίπεδο, το βάθος των χαρτών χαρακτηριστικών μεγαλώνει, επιτρέποντας στο δίκτυο να μάθει πιο περίπλοκες αναπαραστάσεις.

Λειτουργία ενεργοποίησης

Μετά από κάθε συνελικτικό επίπεδο, μια συνάρτηση ενεργοποίησης όπως η Διορθωμένη Γραμμική Μονάδα (ReLU) εφαρμόζεται στοιχείο προς στοιχείο για να προκαλέσει μη γραμμικότητα στο δίκτυο. Η λειτουργία ενεργοποίησης βοηθά το δίκτυο να μάθει μη γραμμικούς συσχετισμούς μεταξύ εικόνων εισόδου και ανακτημένων χαρακτηριστικών.

Στρώματα συγκέντρωσης

Τα επίπεδα συγκέντρωσης χρησιμοποιούνται μετά τα συνελικτικά στρώματα για τη μείωση της χωρικής διάστασης των χαρτών χαρακτηριστικών. Οι λειτουργίες, όπως η μέγιστη συγκέντρωση, διαιρούν τους χάρτες χαρακτηριστικών σε μη επικαλυπτόμενες περιοχές και διατηρούν μόνο τη μέγιστη τιμή εντός κάθε ζώνης. Μειώνει τη χωρική ανάλυση με τη μείωση δειγματοληψίας χαρτών χαρακτηριστικών, επιτρέποντας στο δίκτυο να συλλαμβάνει πιο αφηρημένα και υψηλότερου επιπέδου δεδομένα.

Η δουλειά του μονοπατιού κωδικοποίησης είναι να καταγράφει χαρακτηριστικά σε διάφορες κλίμακες και επίπεδα αφαίρεσης με ιεραρχικό τρόπο. Η διαδικασία κωδικοποίησης επικεντρώνεται στην εξαγωγή παγκόσμιων πλαισίου και πληροφοριών υψηλού επιπέδου καθώς μειώνονται οι χωρικές διαστάσεις.

Παράλειψη συνδέσεων

Η διαθεσιμότητα συνδέσεων παράλειψης που συνδέουν κατάλληλα επίπεδα από τη διαδρομή κωδικοποίησης στη διαδρομή αποκωδικοποίησης είναι ένα από τα διακριτικά χαρακτηριστικά της αρχιτεκτονικής UNET. Αυτοί οι σύνδεσμοι παράλειψης είναι κρίσιμοι για τη διατήρηση βασικών δεδομένων κατά τη διαδικασία κωδικοποίησης.

Οι χάρτες χαρακτηριστικών από προηγούμενα επίπεδα συλλέγουν τοπικές λεπτομέρειες και λεπτομερείς πληροφορίες κατά τη διάρκεια της διαδρομής κωδικοποίησης. Αυτοί οι χάρτες χαρακτηριστικών συνδέονται με τους αναβαθμισμένους χάρτες χαρακτηριστικών στον αγωγό αποκωδικοποίησης χρησιμοποιώντας συνδέσεις παράλειψης. Αυτό επιτρέπει στο δίκτυο να ενσωματώνει δεδομένα πολλαπλής κλίμακας, χαρακτηριστικά χαμηλού επιπέδου και περιβάλλον υψηλού επιπέδου στη διαδικασία τμηματοποίησης.

Διατηρώντας χωρικές πληροφορίες από προηγούμενα επίπεδα, το UNET μπορεί να εντοπίζει αξιόπιστα αντικείμενα και να διατηρεί λεπτότερες λεπτομέρειες στα αποτελέσματα τμηματοποίησης. Οι συνδέσεις παράλειψης του UNET βοηθούν στην αντιμετώπιση του ζητήματος της απώλειας πληροφοριών που προκαλείται από τη μείωση δειγματοληψίας. Οι σύνδεσμοι παράβλεψης επιτρέπουν πιο εξαιρετική τοπική και παγκόσμια ενοποίηση πληροφοριών, βελτιώνοντας συνολικά την απόδοση τμηματοποίησης.

Συνοψίζοντας, η προσέγγιση κωδικοποίησης UNET είναι κρίσιμη για την καταγραφή χαρακτηριστικών υψηλού επιπέδου και τη μείωση των χωρικών διαστάσεων της εικόνας εισόδου. Η διαδρομή κωδικοποίησης εξάγει προοδευτικά αφηρημένες αναπαραστάσεις μέσω συνελικτικών επιπέδων, συναρτήσεων ενεργοποίησης και στρωμάτων συγκέντρωσης. Με την ενσωμάτωση τοπικών χαρακτηριστικών και καθολικού πλαισίου, η εισαγωγή συνδέσμων παράλειψης επιτρέπει τη διατήρηση κρίσιμων χωρικών πληροφοριών, διευκολύνοντας αξιόπιστα αποτελέσματα τμηματοποίησης.

Διαδρομή αποκωδικοποίησης στο UNET

Ένα κρίσιμο συστατικό της αρχιτεκτονικής UNET είναι η διαδρομή αποκωδικοποίησης, γνωστή και ως επεκτεινόμενη διαδρομή. Είναι υπεύθυνος για τη δειγματοληψία των χαρτών χαρακτηριστικών της διαδρομής κωδικοποίησης και την κατασκευή της τελικής μάσκας τμηματοποίησης.

Επιστροφή δειγματοληψίας επιπέδων (μεταφερόμενες συνελίξεις)

Για την ενίσχυση της χωρικής ανάλυσης των χαρτών χαρακτηριστικών, η μέθοδος αποκωδικοποίησης UNET περιλαμβάνει επίπεδα δειγματοληψίας, που συχνά εκτελούνται με χρήση συνελίξεων ή αποσυνέλιξης. Οι μετατιθέμενες συνελίξεις είναι ουσιαστικά το αντίθετο από τις κανονικές συνελίξεις. Ενισχύουν τις χωρικές διαστάσεις αντί να τις μειώνουν, επιτρέποντας τη δειγματοληψία. Κατασκευάζοντας έναν αραιό πυρήνα και εφαρμόζοντάς τον στον χάρτη χαρακτηριστικών εισόδου, οι μετατιθέμενες συνελίξεις μαθαίνουν να κάνουν εκ νέου δείγμα των χαρτών χαρακτηριστικών. Το δίκτυο μαθαίνει να συμπληρώνει τα κενά μεταξύ των τρεχουσών χωρικών τοποθεσιών κατά τη διάρκεια αυτής της διαδικασίας, ενισχύοντας έτσι την ανάλυση των χαρτών χαρακτηριστικών.

Αληλουχία

Οι χάρτες χαρακτηριστικών από τα προηγούμενα στρώματα συνενώνονται με τους χάρτες χαρακτηριστικών που αναδείχθηκαν κατά τη φάση της αποκωδικοποίησης. Αυτή η συνένωση επιτρέπει στο δίκτυο να συγκεντρώνει πληροφορίες πολλαπλής κλίμακας για σωστή τμηματοποίηση, αξιοποιώντας το περιβάλλον υψηλού επιπέδου και τις λειτουργίες χαμηλού επιπέδου. Εκτός από τη δειγματοληψία, η διαδρομή αποκωδικοποίησης UNET περιλαμβάνει συνδέσεις παράλειψης από συγκρίσιμα επίπεδα της διαδρομής κωδικοποίησης.

Το δίκτυο μπορεί να ανακτήσει και να ενσωματώσει λεπτομερή χαρακτηριστικά που χάθηκαν κατά την κωδικοποίηση συνενώνοντας χάρτες χαρακτηριστικών από συνδέσεις παράβλεψης. Επιτρέπει πιο ακριβή εντοπισμό και οριοθέτηση αντικειμένων στη μάσκα τμηματοποίησης.

Η διαδικασία αποκωδικοποίησης στο UNET αναδομεί έναν πυκνό χάρτη τμηματοποίησης που ταιριάζει με τη χωρική ανάλυση της εικόνας εισόδου, αναβαθμίζοντας σταδιακά τους χάρτες χαρακτηριστικών και συμπεριλαμβάνοντας συνδέσμους παράλειψης.

Η λειτουργία της διαδρομής αποκωδικοποίησης είναι η ανάκτηση χωρικών πληροφοριών που χάνονται κατά τη διάρκεια της διαδρομής κωδικοποίησης και η βελτίωση των ευρημάτων τμηματοποίησης. Συνδυάζει λεπτομέρειες κωδικοποίησης χαμηλού επιπέδου με περιβάλλον υψηλού επιπέδου που αποκτάται από τα επίπεδα δειγματοληψίας για να παρέχει μια ακριβή και εμπεριστατωμένη μάσκα τμηματοποίησης.

Το UNET μπορεί να ενισχύσει τη χωρική ανάλυση των χαρακτηριστικών χαρτών χρησιμοποιώντας μετατιθέμενες συνελίξεις στη διαδικασία αποκωδικοποίησης, αναβαθμίζοντάς τους έτσι ώστε να ταιριάζουν με το αρχικό μέγεθος της εικόνας. Οι μετατιθέμενες περιελίξεις βοηθούν το δίκτυο να δημιουργήσει μια πυκνή και λεπτόκοκκη μάσκα τμηματοποίησης μαθαίνοντας να γεμίζει τα κενά και να επεκτείνει τις χωρικές διαστάσεις.

Συνοπτικά, η διαδικασία αποκωδικοποίησης στο UNET αναδομεί τη μάσκα τμηματοποίησης ενισχύοντας τη χωρική ανάλυση των χαρτών χαρακτηριστικών μέσω επιπέδων δειγματοληψίας και παράλειψης συνδέσεων. Οι μετατιθέμενες συνελίξεις είναι κρίσιμες σε αυτή τη φάση, επειδή επιτρέπουν στο δίκτυο να κάνει εκ νέου δείγμα των χαρτών χαρακτηριστικών και να δημιουργήσει μια λεπτομερή μάσκα τμηματοποίησης που ταιριάζει με την αρχική εικόνα εισόδου.

Συμβολαίωση και Επέκταση Διαδρομών στο UNET

Η αρχιτεκτονική UNET ακολουθεί μια δομή «κωδικοποιητή-αποκωδικοποιητή», όπου η διαδρομή συστολής αντιπροσωπεύει τον κωδικοποιητή και η διαδρομή επέκτασης αντιπροσωπεύει τον αποκωδικοποιητή. Αυτός ο σχεδιασμός μοιάζει με την κωδικοποίηση πληροφοριών σε συμπιεσμένη μορφή και στη συνέχεια την αποκωδικοποίησή τους για την ανακατασκευή των αρχικών δεδομένων.

Διαδρομή σύμβασης (Κωδικοποιητής)

Ο κωδικοποιητής στο UNET είναι η διαδρομή σύναψης. Εξάγει το πλαίσιο και συμπιέζει την εικόνα εισόδου μειώνοντας σταδιακά τις χωρικές διαστάσεις. Αυτή η μέθοδος περιλαμβάνει συνελικτικά επίπεδα που ακολουθούνται από διαδικασίες ομαδοποίησης, όπως η μέγιστη συγκέντρωση για τη μείωση του δείγματος των χαρτών χαρακτηριστικών. Η διαδρομή των συμβάσεων είναι υπεύθυνη για την απόκτηση χαρακτηριστικών υψηλού επιπέδου, την εκμάθηση του παγκόσμιου πλαισίου και τη μείωση της χωρικής ανάλυσης. Επικεντρώνεται στη συμπίεση και την αφαίρεση της εικόνας εισόδου, συλλαμβάνοντας αποτελεσματικά τις σχετικές πληροφορίες για τμηματοποίηση.

Διαδρομή επέκτασης (αποκωδικοποιητής)

Ο αποκωδικοποιητής στο UNET είναι η επεκτεινόμενη διαδρομή. Με τη δειγματοληψία των χαρτών χαρακτηριστικών από τη διαδρομή της σύμβασης, ανακτά χωρικές πληροφορίες και δημιουργεί τον τελικό χάρτη τμηματοποίησης. Η επεκτεινόμενη διαδρομή περιλαμβάνει επίπεδα δειγματοληψίας, που συχνά εκτελούνται με μετατιθέμενες συνελίξεις ή αποσυνελίξεις για να αυξηθεί η χωρική ανάλυση των χαρτών χαρακτηριστικών. Η επεκτεινόμενη διαδρομή ανακατασκευάζει τις αρχικές χωρικές διαστάσεις μέσω συνδέσεων παράλειψης ενσωματώνοντας τους χάρτες χαρακτηριστικών που έχουν αναδειχθεί σε δείγμα με τους ισοδύναμους χάρτες από τη διαδρομή συρρίκνωσης. Αυτή η μέθοδος επιτρέπει στο δίκτυο να ανακτήσει λεπτομερείς λειτουργίες και να εντοπίζει σωστά τα στοιχεία.

Ο σχεδιασμός UNET αποτυπώνει το παγκόσμιο πλαίσιο και τις τοπικές λεπτομέρειες αναμειγνύοντας συμβάσεις και επεκτείνοντας μονοπάτια. Η διαδρομή συρρίκνωσης συμπιέζει την εικόνα εισόδου σε μια συμπαγή αναπαράσταση, αποφάσισε να δημιουργήσει έναν λεπτομερή χάρτη τμηματοποίησης από την επεκτεινόμενη διαδρομή. Η επεκτεινόμενη διαδρομή αφορά την αποκωδικοποίηση της συμπιεσμένης αναπαράστασης σε έναν πυκνό και ακριβή χάρτη τμηματοποίησης. Αναδομεί τις χωρικές πληροφορίες που λείπουν και βελτιώνει τα αποτελέσματα τμηματοποίησης. Αυτή η δομή κωδικοποιητή-αποκωδικοποιητή επιτρέπει την ακριβή τμηματοποίηση χρησιμοποιώντας περιβάλλον υψηλού επιπέδου και λεπτομερείς χωρικές πληροφορίες.

Συνοπτικά, οι διαδρομές συστολής και επέκτασης του UNET μοιάζουν με μια δομή «κωδικοποιητή-αποκωδικοποιητή». Η επεκτεινόμενη διαδρομή είναι ο αποκωδικοποιητής, που ανακτά χωρικές πληροφορίες και δημιουργεί τον τελικό χάρτη τμηματοποίησης. Αντίθετα, η διαδρομή συστολής χρησιμεύει ως κωδικοποιητής, καταγράφοντας το πλαίσιο και συμπιέζοντας την εικόνα εισόδου. Αυτή η αρχιτεκτονική επιτρέπει στο UNET να κωδικοποιεί και να αποκωδικοποιεί αποτελεσματικά τις πληροφορίες, επιτρέποντας την ακριβή και λεπτομερή κατάτμηση της εικόνας.

Παράλειψη συνδέσεων στο UNET

Οι συνδέσεις παράλειψης είναι απαραίτητες για τη σχεδίαση UNET επειδή επιτρέπουν στις πληροφορίες να ταξιδεύουν μεταξύ των μονοπατιών συστολής (κωδικοποίησης) και επέκτασης (αποκωδικοποίησης). Είναι κρίσιμα για τη διατήρηση των χωρικών πληροφοριών και τη βελτίωση της ακρίβειας τμηματοποίησης.

Διατήρηση Χωρικών Πληροφοριών

Ορισμένες χωρικές πληροφορίες ενδέχεται να χαθούν κατά τη διάρκεια της διαδρομής κωδικοποίησης, καθώς οι χάρτες χαρακτηριστικών υποβάλλονται σε διαδικασίες μείωσης δειγματοληψίας, όπως η μέγιστη συγκέντρωση. Αυτή η απώλεια πληροφοριών μπορεί να οδηγήσει σε χαμηλότερη ακρίβεια εντοπισμού και απώλεια λεπτομερών λεπτομερειών στη μάσκα τμηματοποίησης.

Με τη δημιουργία άμεσων συνδέσεων μεταξύ των αντίστοιχων επιπέδων στις διαδικασίες κωδικοποίησης και αποκωδικοποίησης, η παράλειψη συνδέσεων βοηθά στην αντιμετώπιση αυτού του ζητήματος. Οι συνδέσεις παράβλεψης προστατεύουν ζωτικές χωρικές πληροφορίες που διαφορετικά θα χάνονταν κατά τη μείωση της δειγματοληψίας. Αυτές οι συνδέσεις επιτρέπουν στις πληροφορίες από το ρεύμα κωδικοποίησης να αποφευχθεί η μείωση δειγματοληψίας και να μεταδοθεί απευθείας στη διαδρομή αποκωδικοποίησης.

Σύντηξη πληροφοριών πολλαπλής κλίμακας

Οι συνδέσεις παράλειψης επιτρέπουν τη συγχώνευση πληροφοριών πολλαπλής κλίμακας από πολλά επίπεδα δικτύου. Τα μεταγενέστερα επίπεδα της διαδικασίας κωδικοποίησης καταγράφουν υψηλού επιπέδου περιεχόμενο και σημασιολογικές πληροφορίες, ενώ τα προηγούμενα επίπεδα πιάνουν τοπικές λεπτομέρειες και λεπτομερείς πληροφορίες. Το UNET μπορεί να συνδυάσει με επιτυχία τοπικές και καθολικές πληροφορίες συνδέοντας αυτούς τους χάρτες χαρακτηριστικών από τη διαδρομή κωδικοποίησης στα ισοδύναμα επίπεδα στη διαδρομή αποκωδικοποίησης. Αυτή η ενοποίηση πληροφοριών πολλαπλής κλίμακας βελτιώνει την ακρίβεια τμηματοποίησης συνολικά. Το δίκτυο μπορεί να χρησιμοποιήσει δεδομένα χαμηλού επιπέδου από τη διαδρομή κωδικοποίησης για να βελτιώσει τα ευρήματα τμηματοποίησης στη διαδρομή αποκωδικοποίησης, επιτρέποντας πιο ακριβή εντοπισμό και καλύτερη οριοθέτηση των ορίων του αντικειμένου.

Συνδυασμός περιβάλλοντος υψηλού επιπέδου και λεπτομερειών χαμηλού επιπέδου

Οι συνδέσεις παράλειψης επιτρέπουν στη διαδρομή αποκωδικοποίησης να συνδυάζει το πλαίσιο υψηλού επιπέδου και λεπτομέρειες χαμηλού επιπέδου. Οι συνδυασμένοι χάρτες χαρακτηριστικών από τις συνδέσεις παράβλεψης περιλαμβάνουν τους χάρτες χαρακτηριστικών της διαδρομής αποκωδικοποίησης που έχουν αναδειχθεί σε δείγμα και τους χάρτες χαρακτηριστικών της διαδρομής κωδικοποίησης.

Αυτός ο συνδυασμός επιτρέπει στο δίκτυο να επωφεληθεί από το περιβάλλον υψηλού επιπέδου που καταγράφεται στη διαδρομή αποκωδικοποίησης και τα λεπτά χαρακτηριστικά που καταγράφονται στη διαδρομή κωδικοποίησης. Το δίκτυο μπορεί να ενσωματώνει πληροφορίες διαφόρων μεγεθών, επιτρέποντας πιο ακριβή και λεπτομερή κατάτμηση.

Το UNET μπορεί να επωφεληθεί από πληροφορίες πολλαπλής κλίμακας, να διατηρήσει χωρικές λεπτομέρειες και να συγχωνεύσει περιβάλλον υψηλού επιπέδου με λεπτομέρειες χαμηλού επιπέδου προσθέτοντας συνδέσεις παράβλεψης. Ως αποτέλεσμα, η ακρίβεια τμηματοποίησης βελτιώνεται, ο εντοπισμός αντικειμένων βελτιώνεται και οι λεπτομερείς πληροφορίες στη μάσκα τμηματοποίησης διατηρούνται.

Συμπερασματικά, οι συνδέσεις παράλειψης σε UNET είναι κρίσιμες για τη διατήρηση χωρικών πληροφοριών, την ενσωμάτωση πληροφοριών πολλαπλής κλίμακας και την ενίσχυση της ακρίβειας τμηματοποίησης. Παρέχουν άμεση ροή πληροφοριών στις διαδρομές κωδικοποίησης και αποκωδικοποίησης, επιτρέποντας στο δίκτυο να συλλέγει τοπικές και καθολικές λεπτομέρειες, με αποτέλεσμα την πιο ακριβή και λεπτομερή τμηματοποίηση της εικόνας.

Λειτουργία απώλειας στο UNET

Είναι κρίσιμο να επιλέξετε μια κατάλληλη συνάρτηση απώλειας κατά την εκπαίδευση του UNET και τη βελτιστοποίηση των παραμέτρων του για εργασίες τμηματοποίησης εικόνων. Το UNET χρησιμοποιεί συχνά συναρτήσεις απώλειας φιλικές προς την κατάτμηση, όπως ο συντελεστής ζαριών ή απώλεια διασταυρούμενης εντροπίας.

Απώλεια συντελεστή ζαριών

Ο συντελεστής Dice είναι ένα στατιστικό στοιχείο ομοιότητας που υπολογίζει την επικάλυψη μεταξύ της αναμενόμενης και της αληθινής μάσκας τμηματοποίησης. Η απώλεια συντελεστή ζαριών, ή η απώλεια soft Dice, υπολογίζεται αφαιρώντας ένα από τον συντελεστή Dice. Όταν οι αναμενόμενες μάσκες αλήθειας και οι μάσκες αληθείας ευθυγραμμίζονται καλά, η απώλεια ελαχιστοποιείται, με αποτέλεσμα υψηλότερος συντελεστής Dice.

Η απώλεια συντελεστή ζαριών είναι ιδιαίτερα αποτελεσματική για μη ισορροπημένα σύνολα δεδομένων στα οποία η κλάση φόντου έχει πολλά εικονοστοιχεία. Τιμωρώντας τα ψευδώς θετικά και τα ψευδώς αρνητικά, προωθεί το δίκτυο να διαιρεί με ακρίβεια τις περιοχές του προσκηνίου και του παρασκηνίου.

Απώλεια διασταυρούμενης εντροπίας

Χρησιμοποιήστε τη συνάρτηση απώλειας διασταυρούμενης εντροπίας σε εργασίες τμηματοποίησης εικόνας. Μετρά την ανομοιότητα μεταξύ των προβλεπόμενων πιθανοτήτων τάξης και των ετικετών βασικής αλήθειας. Αντιμετωπίστε κάθε pixel ως ένα ανεξάρτητο πρόβλημα ταξινόμησης στην τμηματοποίηση εικόνας και η απώλεια διασταυρούμενης εντροπίας υπολογίζεται ως προς τα εικονοστοιχεία.

Η απώλεια διασταυρούμενης εντροπίας ενθαρρύνει το δίκτυο να εκχωρήσει υψηλές πιθανότητες στις σωστές ετικέτες κλάσεων για κάθε pixel. Τιμωρεί τις αποκλίσεις από τη βασική αλήθεια, προάγοντας ακριβή αποτελέσματα τμηματοποίησης. Αυτή η συνάρτηση απώλειας είναι αποτελεσματική όταν οι κλάσεις προσκηνίου και παρασκηνίου είναι ισορροπημένες ή όταν εμπλέκονται πολλές κλάσεις στην εργασία τμηματοποίησης.

Η επιλογή μεταξύ της απώλειας συντελεστή ζαριών και της απώλειας διασταυρούμενης εντροπίας εξαρτάται από τις ειδικές απαιτήσεις της εργασίας τμηματοποίησης και τα χαρακτηριστικά του συνόλου δεδομένων. Και οι δύο λειτουργίες απώλειας έχουν πλεονεκτήματα και μπορούν να συνδυαστούν ή να προσαρμοστούν με βάση συγκεκριμένες ανάγκες.

1: Εισαγωγή Βιβλιοθηκών


import tensorflow as tf
import os
import numpy as np
from tqdm import tqdm
from skimage.io import imread, imshow
from skimage.transform import resize
import matplotlib.pyplot as plt
import random

2: Διαστάσεις εικόνας – Ρυθμίσεις

IMG_WIDTH = 128
IMG_HEIGHT = 128
IMG_CHANNELS = 3

3: Ρύθμιση της τυχαιότητας

seed = 42
np.random.seed = seed

4: Εισαγωγή του συνόλου δεδομένων

# Data downloaded from - https://www.kaggle.com/competitions/data-science-bowl-2018/data #importing datasets
TRAIN_PATH = 'stage1_train/'
TEST_PATH = 'stage1_test/'

5: Ανάγνωση όλων των εικόνων που υπάρχουν στον υποφάκελο

train_ids = next(os.walk(TRAIN_PATH))[1]
test_ids = next(os.walk(TEST_PATH))[1]

6: Εκπαίδευση

X_train = np.zeros((len(train_ids), IMG_HEIGHT, IMG_WIDTH, IMG_CHANNELS), dtype=np.uint8)
Y_train = np.zeros((len(train_ids), IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.bool)

7: Αλλαγή μεγέθους των εικόνων

print('Resizing training images and masks')
for n, id_ in tqdm(enumerate(train_ids), total=len(train_ids)): path = TRAIN_PATH + id_ img = imread(path + '/images/' + id_ + '.png')[:,:,:IMG_CHANNELS] img = resize(img, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True) X_train[n] = img #Fill empty X_train with values from img mask = np.zeros((IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.bool) for mask_file in next(os.walk(path + '/masks/'))[2]: mask_ = imread(path + '/masks/' + mask_file) mask_ = np.expand_dims(resize(mask_, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True), axis=-1) mask = np.maximum(mask, mask_) Y_train[n] = mask 

8: Δοκιμή των εικόνων

# test images
X_test = np.zeros((len(test_ids), IMG_HEIGHT, IMG_WIDTH, IMG_CHANNELS), dtype=np.uint8)
sizes_test = []
print('Resizing test images') for n, id_ in tqdm(enumerate(test_ids), total=len(test_ids)): path = TEST_PATH + id_ img = imread(path + '/images/' + id_ + '.png')[:,:,:IMG_CHANNELS] sizes_test.append([img.shape[0], img.shape[1]]) img = resize(img, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True) X_test[n] = img print('Done!')

9: Τυχαίος έλεγχος των εικόνων

image_x = random.randint(0, len(train_ids))
imshow(X_train[image_x])
plt.show()
imshow(np.squeeze(Y_train[image_x]))
plt.show()

10: Κατασκευάζοντας το μοντέλο

inputs = tf.keras.layers.Input((IMG_HEIGHT, IMG_WIDTH, IMG_CHANNELS))
s = tf.keras.layers.Lambda(lambda x: x / 255)(inputs)

11: Μονοπάτια

#Contraction path
c1 = tf.keras.layers.Conv2D(16, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(s)
c1 = tf.keras.layers.Dropout(0.1)(c1)
c1 = tf.keras.layers.Conv2D(16, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c1)
p1 = tf.keras.layers.MaxPooling2D((2, 2))(c1) c2 = tf.keras.layers.Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(p1)
c2 = tf.keras.layers.Dropout(0.1)(c2)
c2 = tf.keras.layers.Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c2)
p2 = tf.keras.layers.MaxPooling2D((2, 2))(c2) c3 = tf.keras.layers.Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(p2)
c3 = tf.keras.layers.Dropout(0.2)(c3)
c3 = tf.keras.layers.Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c3)
p3 = tf.keras.layers.MaxPooling2D((2, 2))(c3) c4 = tf.keras.layers.Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(p3)
c4 = tf.keras.layers.Dropout(0.2)(c4)
c4 = tf.keras.layers.Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c4)
p4 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(c4) c5 = tf.keras.layers.Conv2D(256, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(p4)
c5 = tf.keras.layers.Dropout(0.3)(c5)
c5 = tf.keras.layers.Conv2D(256, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c5)

12: Διαδρομές επέκτασης

u6 = tf.keras.layers.Conv2DTranspose(128, (2, 2), strides=(2, 2), padding='same')(c5)
u6 = tf.keras.layers.concatenate([u6, c4])
c6 = tf.keras.layers.Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(u6)
c6 = tf.keras.layers.Dropout(0.2)(c6)
c6 = tf.keras.layers.Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c6) u7 = tf.keras.layers.Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same')(c6)
u7 = tf.keras.layers.concatenate([u7, c3])
c7 = tf.keras.layers.Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(u7)
c7 = tf.keras.layers.Dropout(0.2)(c7)
c7 = tf.keras.layers.Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c7) u8 = tf.keras.layers.Conv2DTranspose(32, (2, 2), strides=(2, 2), padding='same')(c7)
u8 = tf.keras.layers.concatenate([u8, c2])
c8 = tf.keras.layers.Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(u8)
c8 = tf.keras.layers.Dropout(0.1)(c8)
c8 = tf.keras.layers.Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c8) u9 = tf.keras.layers.Conv2DTranspose(16, (2, 2), strides=(2, 2), padding='same')(c8)
u9 = tf.keras.layers.concatenate([u9, c1], axis=3)
c9 = tf.keras.layers.Conv2D(16, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(u9)
c9 = tf.keras.layers.Dropout(0.1)(c9)
c9 = tf.keras.layers.Conv2D(16, (3, 3), activation='relu', kernel_initializer='he_normal', padding='same')(c9)

13: Έξοδοι

outputs = tf.keras.layers.Conv2D(1, (1, 1), activation='sigmoid')(c9)

14: Περίληψη

model = tf.keras.Model(inputs=[inputs], outputs=[outputs])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.summary()

15: Μοντέλο σημείο ελέγχου

checkpointer = tf.keras.callbacks.ModelCheckpoint('model_for_nuclei.h5', verbose=1, save_best_only=True) callbacks = [ tf.keras.callbacks.EarlyStopping(patience=2, monitor='val_loss'), tf.keras.callbacks.TensorBoard(log_dir='logs')] results = model.fit(X_train, Y_train, validation_split=0.1, batch_size=16, epochs=25, callbacks=callbacks)

16: Τελευταίο Στάδιο – Πρόβλεψη

idx = random.randint(0, len(X_train)) preds_train = model.predict(X_train[:int(X_train.shape[0]*0.9)], verbose=1)
preds_val = model.predict(X_train[int(X_train.shape[0]*0.9):], verbose=1)
preds_test = model.predict(X_test, verbose=1) preds_train_t = (preds_train > 0.5).astype(np.uint8)
preds_val_t = (preds_val > 0.5).astype(np.uint8)
preds_test_t = (preds_test > 0.5).astype(np.uint8) # Perform a sanity check on some random training samples
ix = random.randint(0, len(preds_train_t))
imshow(X_train[ix])
plt.show()
imshow(np.squeeze(Y_train[ix]))
plt.show()
imshow(np.squeeze(preds_train_t[ix]))
plt.show() # Perform a sanity check on some random validation samples
ix = random.randint(0, len(preds_val_t))
imshow(X_train[int(X_train.shape[0]*0.9):][ix])
plt.show()
imshow(np.squeeze(Y_train[int(Y_train.shape[0]*0.9):][ix]))
plt.show()
imshow(np.squeeze(preds_val_t[ix]))
plt.show()

Συμπέρασμα

Σε αυτήν την περιεκτική ανάρτηση ιστολογίου, καλύψαμε την αρχιτεκτονική UNET για την τμηματοποίηση εικόνων. Αντιμετωπίζοντας τους περιορισμούς των προηγούμενων μεθοδολογιών, η αρχιτεκτονική UNET έφερε επανάσταση στην τμηματοποίηση εικόνων. Οι διαδρομές κωδικοποίησης και αποκωδικοποίησης, οι συνδέσεις παράβλεψης και άλλες τροποποιήσεις, όπως το U-Net++, το Attention U-Net και το Dense U-Net, έχουν αποδειχθεί εξαιρετικά αποτελεσματικές στην καταγραφή του περιβάλλοντος, στη διατήρηση χωρικών πληροφοριών και στην ενίσχυση της ακρίβειας τμηματοποίησης. Η δυνατότητα ακριβούς και αυτόματης τμηματοποίησης με το UNET προσφέρει νέα μονοπάτια για τη βελτίωση της όρασης του υπολογιστή και όχι μόνο. Ενθαρρύνουμε τους αναγνώστες να μάθουν περισσότερα για το UNET και να πειραματιστούν με την εφαρμογή του για να μεγιστοποιήσουν τη χρησιμότητά του στα έργα τμηματοποίησης εικόνων τους.

Βασικές τακτικές

1. Η τμηματοποίηση εικόνων είναι απαραίτητη στις εργασίες όρασης υπολογιστή, επιτρέποντας τη διαίρεση των εικόνων σε σημαντικές περιοχές ή αντικείμενα.

2. Οι παραδοσιακές προσεγγίσεις για την τμηματοποίηση της εικόνας, όπως ο χειροκίνητος σχολιασμός και η ταξινόμηση βάσει εικονοστοιχείων, έχουν περιορισμούς όσον αφορά την αποτελεσματικότητα και την ακρίβεια.

3. Αναπτύξτε την αρχιτεκτονική UNET για να αντιμετωπίσετε αυτούς τους περιορισμούς και να επιτύχετε ακριβή αποτελέσματα τμηματοποίησης.

4. Είναι ένα πλήρως συνελικτικό νευρωνικό δίκτυο (FCN) που συνδυάζει μια διαδρομή κωδικοποίησης για την καταγραφή χαρακτηριστικών υψηλού επιπέδου και μια μέθοδο αποκωδικοποίησης για τη δημιουργία της μάσκας κατάτμησης.

5. Παράβλεψη συνδέσεων στο UNET διατηρεί τις χωρικές πληροφορίες, βελτιώνει τη διάδοση των χαρακτηριστικών και βελτιώνει την ακρίβεια τμηματοποίησης.

6. Βρήκαν επιτυχημένες εφαρμογές στην ιατρική απεικόνιση, την ανάλυση δορυφορικών εικόνων και τον βιομηχανικό έλεγχο ποιότητας, επιτυγχάνοντας αξιοσημείωτα σημεία αναφοράς και αναγνώριση σε διαγωνισμούς.

Συχνές Ερωτήσεις

Q1. Τι είναι η αρχιτεκτονική U-Net και σε τι χρησιμοποιείται;

Α. Η αρχιτεκτονική U-Net είναι μια δημοφιλής αρχιτεκτονική συνελικτικού νευρωνικού δικτύου (CNN) κοινή για εργασίες τμηματοποίησης εικόνας. Αρχικά αναπτύχθηκε για τμηματοποίηση βιοϊατρικών εικόνων, έκτοτε έχει βρει εφαρμογές σε διάφορους τομείς. Η αρχιτεκτονική U-Net χειρίζεται τοπικές και παγκόσμιες πληροφορίες και έχει μια δομή κωδικοποιητή-αποκωδικοποιητή σε σχήμα U.

Ε2. Πώς λειτουργεί η αρχιτεκτονική U-Net;

Α. Η αρχιτεκτονική U-Net αποτελείται από μια διαδρομή κωδικοποιητή και μια διαδρομή αποκωδικοποιητή. Η διαδρομή του κωδικοποιητή μειώνει σταδιακά τις χωρικές διαστάσεις της εικόνας εισόδου ενώ αυξάνει τον αριθμό των καναλιών χαρακτηριστικών. Αυτό βοηθά στην εξαγωγή αφηρημένων και υψηλού επιπέδου χαρακτηριστικών. Η διαδρομή του αποκωδικοποιητή εκτελεί λειτουργίες upsampling και concatenation. Και ανακτήστε τις χωρικές διαστάσεις μειώνοντας παράλληλα τον αριθμό των καναλιών χαρακτηριστικών. Το δίκτυο μαθαίνει να συνδυάζει τα χαρακτηριστικά χαμηλού επιπέδου από τη διαδρομή του κωδικοποιητή με τα χαρακτηριστικά υψηλού επιπέδου από τη διαδρομή του αποκωδικοποιητή για να δημιουργήσει μάσκες τμηματοποίησης.

Ε3. Ποια είναι τα πλεονεκτήματα της χρήσης της αρχιτεκτονικής U-Net;

Α. Η αρχιτεκτονική U-Net προσφέρει πολλά πλεονεκτήματα για εργασίες τμηματοποίησης εικόνας. Πρώτον, ο σχεδιασμός του σε σχήμα U επιτρέπει τον συνδυασμό χαρακτηριστικών χαμηλού και υψηλού επιπέδου, επιτρέποντας τον καλύτερο εντοπισμό των αντικειμένων. Δεύτερον, οι συνδέσεις παράλειψης μεταξύ των διαδρομών κωδικοποιητή και αποκωδικοποιητή βοηθούν στη διατήρηση των χωρικών πληροφοριών, επιτρέποντας πιο ακριβή τμηματοποίηση. Τέλος, η αρχιτεκτονική U-Net έχει σχετικά μικρό αριθμό παραμέτρων, γεγονός που την καθιστά πιο αποδοτική υπολογιστικά από άλλες αρχιτεκτονικές.

Τα μέσα που εμφανίζονται σε αυτό το άρθρο δεν ανήκουν στο Analytics Vidhya και χρησιμοποιούνται κατά την κρίση του συγγραφέα. 

spot_img

Τελευταία Νοημοσύνη

spot_img