Semester assignments for the course "Digital Image Processing" of THMMY in AUTH university.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

151 lines
8.2 KiB

\section{Δεύτερη σειρά πειραμάτων}
Στη δεύτερη σειρά πειραμάτων γίνεται παρουσίαση της λειτουργίας και των αποτελεσμάτων της συνάρτησης \texttt{mySpectralClustering} σε συνδυασμό με τη συνάρτηση \texttt{Image2Graph}. Τα πειράματα εκτελούνται με κλήση του script \texttt{demo2} χωρίς ορίσματα. Το script εκτελεί μία σειρά από έξι πειράματα κατά τα οποία γίνεται κατάτμηση δύο δοσμένων εικόνων (``\texttt{d2a}'' και ``\texttt{d2b}'') σε δύο, τρεις και τέσσερεις ομάδες (clusters) διαδοχικά. Τα αποτελέσματα φαίνονται και σχολιάζονται στη συνέχεια.
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e1_g.pdf_tex}}
}
\caption{Απεικόνιση affinity matrix πρώτης εικόνας (``\texttt{d2a}'')}
\label{d2a_g}
\end{figure}
Στο πρώτο μέρος του script εκτελούνται τα πειράματα για την πρώτη εικόνα που δίνεται (``\texttt{d2a}''). Ο affinity matrix που προκύπτει απεικονίζεται γραφικά παραπάνω (\ref{d2a_g}) ώστε να γίνει εμφανής η δομή και η συμμετρία του. Τα αποτελέσματα της κατάτμησης φαίνονται παρακάτω.
\begin{multicols}{2}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e1_f1.pdf_tex}}
}
\caption{Αρχική εικόνα (``\texttt{d2a}'')}
\end{figure}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e1_f2.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2a}'') σε 2 ομάδες}
\end{figure}
\end{multicols}
\begin{multicols}{2}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e1_f3.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2a}'') σε 3 ομάδες}
\end{figure}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e1_f4.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2a}'') σε 4 ομάδες}
\end{figure}
\end{multicols}
Όπως φαίνεται στις εικόνες ο αλγόριθμος κάνει τέλεια κατάτμηση για τη περίπτωση των τριών ομάδων. Στη περίπτωση των δύο ομάδων η πράσινη και κόκκινη περιοχή κατατάσσονται στην ίδια ομάδα, ωστόσο αυτό μπορεί να αλλάξει ανάλογα με το σπόρο που θα δοθεί στην αρχή του script λόγω της τυχαιότητας που εισάγεται από τον αλγόριθμο K-Means. Τέλος στη περίπτωση των τεσσάρων ομάδων παρουσιάζεται ``θόρυβος'' στην ομαδοποίηση.
Στο δεύτερο μέρος του script εκτελούνται τα πειράματα για την δεύτερη εικόνα που δίνεται (``\texttt{d2b}''). Ο affinity matrix που προκύπτει απεικονίζεται και πάλι γραφικά (\ref{d2b_g}).
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_g.pdf_tex}}
}
\caption{Απεικόνιση affinity matrix πρώτης εικόνας (``\texttt{d2b}'')}
\label{d2b_g}
\end{figure}
Τα αποτελέσματα της κατάτμησης φαίνονται παρακάτω.
\begin{multicols}{2}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f1.pdf_tex}}
}
\caption{Αρχική εικόνα (``\texttt{d2b}'')}
\end{figure}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f3.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2b}'') σε 2 ομάδες, grayscale χρώματα}
\end{figure}
\end{multicols}
\newpage
\begin{multicols}{2}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f5.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2b}'') σε 3 ομάδες, grayscale χρώματα}
\end{figure}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f7.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2b}'') σε 4 ομάδες, grayscale χρώματα}
\end{figure}
\end{multicols}
Σε αυτό το πείραμα (όπως και σε επόμενα) θεωρήθηκε χρήσιμο να υλοποιηθεί μία διαφορετική ανάθεση χρωμάτων στις ομάδες της κατατμημένης εικόνας. Δημιουργήθηκε η συνάρτηση \texttt{meanClustersColorRGB} η οποία δέχεται σαν είσοδο την αρχική και την κατατμημένη εικόνα και παράγει στην έξοδο την κατατμημένη εικόνα με χρώματα για κάθε ομάδα το χρωματικό διάμεσο της ομάδας.
\begin{multicols}{2}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f1.pdf_tex}}
}
\caption{Αρχική εικόνα (``\texttt{d2b}'')}
\end{figure}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f2.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2b}'') σε 2 ομάδες, χρωματικός διάμεσος}
\end{figure}
\end{multicols}
\newpage
\begin{multicols}{2}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f4.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2b}'') σε 3 ομάδες, χρωματικός διάμεσος}
\end{figure}
\begin{figure}[H]
\centering
\resizebox{.5\textwidth}{!}{
\colorbox{shadecolor}{\input{res/demo2_e2_f6.pdf_tex}}
}
\caption{Κατάτμηση πρώτης εικόνας (``\texttt{d2b}'') σε 4 ομάδες, χρωματικός διάμεσος}
\end{figure}
\end{multicols}
Στη περίπτωση των δύο ομάδων θα ήταν ιδανικό να διαχωριστεί το καμπυλόγραμμο τετράγωνο που βρίσκεται ``μπροστά'' από το λευκό φόντο που βρίσκεται πίσω. Στη περίπτωση αυτή ο αλγόριθμος έχει μέτρια αποτελέσματα, ομαδοποιόντας τα χέρια της φιγούρας του Mario καθώς και μέρος του προσώπου στην ίδια ομάδα με το φόντο.
Στη περίπτωση των τριών ομάδων θα ήταν ιδανικό να δημιουργηθούν οι ομάδες ώστε να περιέχουν η μία το λευκό φόντο, η άλλη το μπλε φόντο της φιγούρας και η τρίτη τη φιγούρα. Εδώ ο αλγόριθμος αποδίδει άσχημα αποτελέσματα δημιουργώντας μία ομάδα με ένα μόνο εικονοστοιχείο.
Στη περίπτωση των τεσσάρων ομάδων υπάρχει και πάλι η ομάδα με το μοναδικό εικονοστοιχείο, ωστόσο η επιπλέον ομάδα παρέχει έναν καλό επιπλέον διαχωρισμό της κόκκινης εξωτερικής λεζάντας.
Παρατηρείται ότι ο αλγόριθμος έχει ικανοποιητικά αποτελέσματα αλλά επιδέχεται σημαντικής βελτίωσης.