208 lines
12 KiB
TeX
208 lines
12 KiB
TeX
%
|
||
% !TEX TS-program = xelatex
|
||
% !TEX encoding = UTF-8 Unicode
|
||
% !TEX spellcheck = el-GR
|
||
%
|
||
% AUTH report template for english
|
||
%
|
||
% Requires compilation with pdfLaTeX or XeLaTeX
|
||
%
|
||
% authors:
|
||
% Χρήστος Χουτουρίδης ΑΕΜ 8997
|
||
% cchoutou@ece.auth.gr
|
||
|
||
% Options:
|
||
%
|
||
% 1) mainlang=<language>
|
||
% Default: english
|
||
% Set the default language of the document which affects hyphenations,
|
||
% localization (section, dates, etc...)
|
||
%
|
||
% example: \documentclass[mainlang=greek]{AUThReport}
|
||
%
|
||
% 2) <language>
|
||
% Add hyphenation and typesetting support for other languages
|
||
% Currently supports: english, greek, german, frenc
|
||
%
|
||
% example: \documentclass[english, greek]{AUThReport}
|
||
%
|
||
% 3) short: Requests a shorter title for the document
|
||
% Default: no short
|
||
%
|
||
% example: \documentclass[short]{AUThReport}
|
||
%
|
||
\documentclass[a4paper, 11pt, mainlang=greek, english]{AUThReport/AUThReport}
|
||
|
||
\CurrentDate{\today}
|
||
|
||
% Greek report document setup suggestions
|
||
%---------------------------------
|
||
% Document configuration
|
||
\AuthorName{Χρήστος Χουτουρίδης}
|
||
\AuthorAEM{8997}
|
||
\AuthorMail{cchoutou@ece.auth.gr}
|
||
|
||
%\CoAuthorName{CoAuthor Name}
|
||
%\CoAuthorAEM{AEM}
|
||
%\CoAuthorMail{CoAuthor Mail}
|
||
|
||
% \WorkGroup{Ομάδα Χ}
|
||
|
||
\DocTitle{Εργασία 1}
|
||
\DocSubTitle{Παραλλαγές αλγορίθμων εξισορρόπησης και αντιστοίχισης ιστογράμματος}
|
||
|
||
\Department{Τμήμα ΗΜΜΥ. Τομέας Ηλεκτρονικής}
|
||
\ClassName{Ψηφιακή Επεξεργασία Εικόνας}
|
||
|
||
\InstructorName{Α. Ντελόπουλος}
|
||
\InstructorMail{}
|
||
|
||
|
||
\CoInstructorName{Δ. Αλέτρας}
|
||
\CoInstructorMail{lnmpikas@ece.auth.gr}
|
||
|
||
|
||
% Local package requirements
|
||
%---------------------------------
|
||
%\usepackage{tabularx}
|
||
%\usepackage{array}
|
||
%\usepackage{commath}
|
||
|
||
\usepackage{amsmath, amssymb, amsfonts}
|
||
\usepackage{graphicx}
|
||
\usepackage{float}
|
||
|
||
\begin{document}
|
||
|
||
% Request a title page or header
|
||
\InsertTitle
|
||
|
||
\section{Εισαγωγή}
|
||
|
||
\par
|
||
|
||
|
||
\subsection{Παραδοτέα}
|
||
Τα παραδοτέα της εργασίας αποτελούνται από:
|
||
\begin{itemize}
|
||
\item Την παρούσα αναφορά.
|
||
\item Τα αρχεία demo.py, hist\_modif.py, hist\_utils.py με τον κώδικα της εργασίας και το αρχείο requirements.txt με τις απαιτήσεις της python.
|
||
\item Το \href{https://git.hoo2.net/hoo2/DigitalImageProcessing/src/branch/master/HW01}{σύνδεσμο} με το αποθετήριο που περιέχει όλο το project με τον κώδικα σε python της αναφοράς και τα παραδοτέα.
|
||
\end{itemize}
|
||
|
||
\section{Εξισορρόπηση Ιστογράμματος (Equalization)}
|
||
|
||
\subsection{Τεχνική περιγραφή και σχόλια υλοποίησης}
|
||
|
||
Η εξισορρόπηση ιστογράμματος στοχεύει στη βελτίωση της αντίθεσης μιας εικόνας κατανέμοντας ομοιόμορφα τις εντάσεις φωτεινότητας.
|
||
Για την υλοποίηση αναπτύχθηκε η συνάρτηση \texttt{perform\_hist\_eq()}, η οποία στηρίζεται στη γενικευμένη \texttt{perform\_hist\_modification()}.
|
||
Η \texttt{perform\_hist\_eq()} δημιουργεί έναν ισοκατανεμημένο στόχο ιστογράμματος με \texttt{L=256} επίπεδα και καλεί την τροποποίηση με το επιθυμητό mode (\texttt{greedy}, \texttt{non-greedy}, \texttt{post-disturbance}).
|
||
|
||
\paragraph{Περιγραφή Κώδικα}
|
||
Ο κώδικας ακολουθεί τα εξής βήματα:
|
||
\begin{enumerate}
|
||
\item Υπολογισμός του ιστογράμματος εισόδου.
|
||
\item Δημιουργία στόχου: ισοκατανομή με ίσες πιθανότητες ανά επίπεδο.
|
||
\item Κλήση της \texttt{perform\_hist\_modification()} με το επιλεγμένο mode για να μετασχηματιστεί η εικόνα.
|
||
\end{enumerate}
|
||
|
||
Η \texttt{perform\_hist\_modification()} χαρτογραφεί κάθε επίπεδο εισόδου σε επίπεδο εξόδου με βάση την επιθυμητή κατανομή, χρησιμοποιώντας διαφορετικές στρατηγικές εκχώρησης αναλόγως του mode.
|
||
|
||
\subsection{Plots και σχόλια για τα αποτελέσματα}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.9\textwidth]{../scripts/demo_outputs/equalization_greedy.png}
|
||
\caption{Ισοστάθμιση ιστογράμματος με χρήση greedy στρατηγικής.}
|
||
\end{figure}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.9\textwidth]{../scripts/demo_outputs/equalization_non-greedy.png}
|
||
\caption{Ισοστάθμιση ιστογράμματος με χρήση non-greedy στρατηγικής.}
|
||
\end{figure}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.9\textwidth]{../scripts/demo_outputs/equalization_post-disturbance.png}
|
||
\caption{Ισοστάθμιση ιστογράμματος με χρήση post-disturbance στρατηγικής.}
|
||
\end{figure}
|
||
|
||
\paragraph{Σχολιασμός αποτελεσμάτων}
|
||
|
||
Παρατηρείται ότι η ισοστάθμιση δεν επιτυγχάνεται πλήρως.
|
||
Πιο συγκεκριμένα:
|
||
\begin{itemize}
|
||
\item Στο \texttt{greedy} mode, πολλά επίπεδα εισόδου συγκεντρώνονται στα ίδια επίπεδα εξόδου, καθώς η στρατηγική είναι άπληστη και δεν διασφαλίζει σωστή εξισορρόπηση.
|
||
\item Στο \texttt{non-greedy} mode, υπάρχει κάποια βελτίωση, αλλά η μέθοδος δεν εξισορροπεί τέλεια, επειδή τα επίπεδα εισόδου δεν κατανέμονται ιδανικά λόγω του τρόπου που διαχειριζόμαστε το έλλειμμα (deficiency).
|
||
\item Στο \texttt{post-disturbance} mode, εισάγεται τυχαίος θόρυβος πριν την αντιστοίχιση, γεγονός που οδηγεί σε ελαφρώς καλύτερη κατανομή, αλλά το αποτέλεσμα εξακολουθεί να είναι μακριά από την ιδανική ισοκατανομή.
|
||
\end{itemize}
|
||
|
||
Η κύρια αιτία είναι ότι η μετατροπή βασίζεται σε απλή αντιστοίχιση επιπέδων χωρίς πραγματική υπολογιστική σύγκλιση σε ομοιόμορφο ιστόγραμμα.
|
||
|
||
\section{Αντιστοίχιση Ιστογράμματος (Matching)}
|
||
|
||
\subsection{Τεχνική περιγραφή και σχόλια υλοποίησης}
|
||
|
||
Η αντιστοίχιση ιστογράμματος έχει ως στόχο τη μεταβολή του ιστογράμματος μιας εικόνας ώστε να προσεγγίσει αυτό μιας εικόνας αναφοράς.
|
||
Για την υλοποίηση χρησιμοποιήθηκε η συνάρτηση \texttt{perform\_hist\_matching()}, η οποία:
|
||
\begin{itemize}
|
||
\item Υπολογίζει το κανονικοποιημένο ιστόγραμμα της εικόνας αναφοράς.
|
||
\item Καλεί την \texttt{perform\_hist\_modification()} χρησιμοποιώντας το ιστόγραμμα αναφοράς ως στόχο.
|
||
\end{itemize}
|
||
|
||
\paragraph{Περιγραφή Κώδικα}
|
||
Η διαδικασία ακολουθεί τα εξής βήματα:
|
||
\begin{enumerate}
|
||
\item Ανάγνωση της εικόνας αναφοράς.
|
||
\item Υπολογισμός κανονικοποιημένου ιστογράμματος για την εικόνα αναφοράς.
|
||
\item Εκτέλεση της τροποποίησης με βάση το ιστόγραμμα αναφοράς και το επιθυμητό mode.
|
||
\end{enumerate}
|
||
|
||
Όπως και στην εξισορρόπηση, τα διαφορετικά modes καθορίζουν πώς γίνεται η αντιστοίχιση των επιπέδων.
|
||
|
||
\subsection{Plots και σχόλια για τα αποτελέσματα}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.9\textwidth]{../scripts/demo_outputs/matching_greedy.png}
|
||
\caption{Αντιστοίχιση ιστογράμματος με χρήση greedy στρατηγικής.}
|
||
\end{figure}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.9\textwidth]{../scripts/demo_outputs/matching_non-greedy.png}
|
||
\caption{Αντιστοίχιση ιστογράμματος με χρήση non-greedy στρατηγικής.}
|
||
\end{figure}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[width=0.9\textwidth]{../scripts/demo_outputs/matching_post-disturbance.png}
|
||
\caption{Αντιστοίχιση ιστογράμματος με χρήση post-disturbance στρατηγικής.}
|
||
\end{figure}
|
||
|
||
\paragraph{Σχολιασμός αποτελεσμάτων}
|
||
|
||
Παρατηρείται ότι και στην περίπτωση της αντιστοίχισης η τελική μορφή των ιστογραμμάτων δεν προσεγγίζει με ακρίβεια το ιστόγραμμα της εικόνας αναφοράς.
|
||
Συγκεκριμένα:
|
||
\begin{itemize}
|
||
\item Στο \texttt{greedy} mode, πολλά επίπεδα εισόδου συνδέονται με λίγα επίπεδα εξόδου, προκαλώντας υπερσυσσώρευση.
|
||
\item Στο \texttt{non-greedy} mode, υπάρχει μερική βελτίωση, όμως εξακολουθεί να υπάρχει απώλεια ακρίβειας στις περιοχές χαμηλής ή υψηλής πυκνότητας.
|
||
\item Στο \texttt{post-disturbance} mode, η διασπορά βελτιώνεται, αλλά η κατανομή απέχει ακόμα από το ιδανικό.
|
||
\end{itemize}
|
||
|
||
Η αποτυχία στην πλήρη αντιστοίχιση οφείλεται στο γεγονός ότι η υλοποίηση βασίζεται σε τοπική αντιστοίχιση επιπέδων και όχι σε παγκόσμια αντιστοίχιση αθροιστικών συναρτήσεων κατανομής (CDF), όπως απαιτείται στη θεωρητικά σωστή μέθοδο.
|
||
|
||
\section{Συμπεράσματα}
|
||
|
||
Από την πειραματική αξιολόγηση διαπιστώθηκε ότι:
|
||
\begin{itemize}
|
||
\item Η μέθοδος ισοστάθμισης και αντιστοίχισης που αναπτύχθηκε λειτουργεί σε βασικό επίπεδο, αλλά δεν επιτυγχάνει ακριβή προσαρμογή της κατανομής.
|
||
\item Η στρατηγική \texttt{post-disturbance} οδηγεί σε πιο ομαλή και φυσική κατανομή επιπέδων, αν και δεν αρκεί για την πλήρη επιδιόρθωση.
|
||
\item Μια ακριβέστερη υλοποίηση θα απαιτούσε τη χρήση σωστής αντιστοίχισης των αθροιστικών συναρτήσεων κατανομής (CDF matching).
|
||
\end{itemize}
|
||
|
||
Η συνολική υλοποίηση βασίστηκε σε modular σχεδίαση, επιτρέποντας εύκολη παραμετροποίηση και δοκιμή διαφορετικών στρατηγικών αντιστοίχισης.
|
||
|
||
\end{document}
|