diff --git a/.gitignore b/.gitignore index 93f03f3..4b49c58 100644 --- a/.gitignore +++ b/.gitignore @@ -120,8 +120,6 @@ cmake-build-release/ ## Plugin-specific files: -# IntelliJ -out/ # mpeltonen/sbt-idea plugin .idea_modules/ @@ -142,3 +140,51 @@ fabric.properties damaged_* ok_* /dataset/ + +# common +*.csv +*.obj +*.exe +*.lst +*.tmp +*.pdb + +# tex +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb +*.pdf + +/cmake-*/ + +/sprawozdanie/*-figure* + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync +*.auxlock + +# hyperref +*.brf + +# listings +*.lol + +# makeidx +*.idx +*.ilg +*.ind +*.ist diff --git a/generate-results.php b/generate-results.php new file mode 100644 index 0000000..81b6f2e --- /dev/null +++ b/generate-results.php @@ -0,0 +1,42 @@ +isFile()) continue; + + $path = $file->getPathname(); + $lines = preg_split("/\R/", file_get_contents($path)); + $headers = str_getcsv(array_shift($lines)); // headers + + $lines = array_map(function($line) { return preg_replace("/tensor\((.*?)\)/si", '$1', $line); }, $lines); + $lines = array_filter($lines); + $csv = array_map('str_getcsv', $lines); + $csv = array_map(function($line) use($headers) { return @array_combine($headers, $line); }, $csv); + + $result[(int)str_replace('loss_epoch_', '', $file->getBasename('.csv'))] = [ + 'generator' => array_mean(array_column($csv, 'g_loss')), + 'discriminator' => array_mean(array_column($csv, 'd_loss')), + 'data' => $csv + ]; +} + +ksort($result); +echo "epoch,g,d\n"; +// foreach($result as $epoch => $loss) { +// echo sprintf("%d,%.4f,%.4f\n", $epoch, $loss['generator'], $loss['discriminator']); +// } +$iteration = 0; +foreach($result as $epoch => $loss) { + foreach($loss['data'] as $row) { + if ($iteration++ % 5 != 0) continue; + + echo sprintf("%.4f,%.4f,%.4f\n", $iteration/100., $row['g_loss'], $row['d_loss']); + } +} diff --git a/sprawozdanie/oczekiwane.jpg b/sprawozdanie/oczekiwane.jpg new file mode 100644 index 0000000..758826b Binary files /dev/null and b/sprawozdanie/oczekiwane.jpg differ diff --git a/sprawozdanie/out/13_1.jpg b/sprawozdanie/out/13_1.jpg new file mode 100644 index 0000000..7ad8c34 Binary files /dev/null and b/sprawozdanie/out/13_1.jpg differ diff --git a/sprawozdanie/out/13_128.jpg b/sprawozdanie/out/13_128.jpg new file mode 100644 index 0000000..74813a4 Binary files /dev/null and b/sprawozdanie/out/13_128.jpg differ diff --git a/sprawozdanie/out/13_16.jpg b/sprawozdanie/out/13_16.jpg new file mode 100644 index 0000000..6fa44f1 Binary files /dev/null and b/sprawozdanie/out/13_16.jpg differ diff --git a/sprawozdanie/out/13_2.jpg b/sprawozdanie/out/13_2.jpg new file mode 100644 index 0000000..c5951e6 Binary files /dev/null and b/sprawozdanie/out/13_2.jpg differ diff --git a/sprawozdanie/out/13_200.jpg b/sprawozdanie/out/13_200.jpg new file mode 100644 index 0000000..13a5087 Binary files /dev/null and b/sprawozdanie/out/13_200.jpg differ diff --git a/sprawozdanie/out/13_32.jpg b/sprawozdanie/out/13_32.jpg new file mode 100644 index 0000000..0effd6a Binary files /dev/null and b/sprawozdanie/out/13_32.jpg differ diff --git a/sprawozdanie/out/13_4.jpg b/sprawozdanie/out/13_4.jpg new file mode 100644 index 0000000..b9ca323 Binary files /dev/null and b/sprawozdanie/out/13_4.jpg differ diff --git a/sprawozdanie/out/13_64.jpg b/sprawozdanie/out/13_64.jpg new file mode 100644 index 0000000..73edfc1 Binary files /dev/null and b/sprawozdanie/out/13_64.jpg differ diff --git a/sprawozdanie/out/13_8.jpg b/sprawozdanie/out/13_8.jpg new file mode 100644 index 0000000..92d8142 Binary files /dev/null and b/sprawozdanie/out/13_8.jpg differ diff --git a/sprawozdanie/out/13_damaged.jpg b/sprawozdanie/out/13_damaged.jpg new file mode 100644 index 0000000..7778169 Binary files /dev/null and b/sprawozdanie/out/13_damaged.jpg differ diff --git a/sprawozdanie/out/13_ok.jpg b/sprawozdanie/out/13_ok.jpg new file mode 100644 index 0000000..f052d1f Binary files /dev/null and b/sprawozdanie/out/13_ok.jpg differ diff --git a/sprawozdanie/out/18_1.jpg b/sprawozdanie/out/18_1.jpg new file mode 100644 index 0000000..e17deed Binary files /dev/null and b/sprawozdanie/out/18_1.jpg differ diff --git a/sprawozdanie/out/18_128.jpg b/sprawozdanie/out/18_128.jpg new file mode 100644 index 0000000..8a02041 Binary files /dev/null and b/sprawozdanie/out/18_128.jpg differ diff --git a/sprawozdanie/out/18_16.jpg b/sprawozdanie/out/18_16.jpg new file mode 100644 index 0000000..92a34d0 Binary files /dev/null and b/sprawozdanie/out/18_16.jpg differ diff --git a/sprawozdanie/out/18_2.jpg b/sprawozdanie/out/18_2.jpg new file mode 100644 index 0000000..2749bc4 Binary files /dev/null and b/sprawozdanie/out/18_2.jpg differ diff --git a/sprawozdanie/out/18_200.jpg b/sprawozdanie/out/18_200.jpg new file mode 100644 index 0000000..b64f967 Binary files /dev/null and b/sprawozdanie/out/18_200.jpg differ diff --git a/sprawozdanie/out/18_32.jpg b/sprawozdanie/out/18_32.jpg new file mode 100644 index 0000000..b2b3e95 Binary files /dev/null and b/sprawozdanie/out/18_32.jpg differ diff --git a/sprawozdanie/out/18_4.jpg b/sprawozdanie/out/18_4.jpg new file mode 100644 index 0000000..2c76264 Binary files /dev/null and b/sprawozdanie/out/18_4.jpg differ diff --git a/sprawozdanie/out/18_64.jpg b/sprawozdanie/out/18_64.jpg new file mode 100644 index 0000000..d1000c2 Binary files /dev/null and b/sprawozdanie/out/18_64.jpg differ diff --git a/sprawozdanie/out/18_8.jpg b/sprawozdanie/out/18_8.jpg new file mode 100644 index 0000000..490e51b Binary files /dev/null and b/sprawozdanie/out/18_8.jpg differ diff --git a/sprawozdanie/out/18_damaged.jpg b/sprawozdanie/out/18_damaged.jpg new file mode 100644 index 0000000..0f2911d Binary files /dev/null and b/sprawozdanie/out/18_damaged.jpg differ diff --git a/sprawozdanie/out/18_ok.jpg b/sprawozdanie/out/18_ok.jpg new file mode 100644 index 0000000..7533749 Binary files /dev/null and b/sprawozdanie/out/18_ok.jpg differ diff --git a/sprawozdanie/out/34_1.jpg b/sprawozdanie/out/34_1.jpg new file mode 100644 index 0000000..05f307f Binary files /dev/null and b/sprawozdanie/out/34_1.jpg differ diff --git a/sprawozdanie/out/34_128.jpg b/sprawozdanie/out/34_128.jpg new file mode 100644 index 0000000..a33378e Binary files /dev/null and b/sprawozdanie/out/34_128.jpg differ diff --git a/sprawozdanie/out/34_16.jpg b/sprawozdanie/out/34_16.jpg new file mode 100644 index 0000000..ebb3c8c Binary files /dev/null and b/sprawozdanie/out/34_16.jpg differ diff --git a/sprawozdanie/out/34_2.jpg b/sprawozdanie/out/34_2.jpg new file mode 100644 index 0000000..0407308 Binary files /dev/null and b/sprawozdanie/out/34_2.jpg differ diff --git a/sprawozdanie/out/34_200.jpg b/sprawozdanie/out/34_200.jpg new file mode 100644 index 0000000..7c44592 Binary files /dev/null and b/sprawozdanie/out/34_200.jpg differ diff --git a/sprawozdanie/out/34_32.jpg b/sprawozdanie/out/34_32.jpg new file mode 100644 index 0000000..41bdd88 Binary files /dev/null and b/sprawozdanie/out/34_32.jpg differ diff --git a/sprawozdanie/out/34_4.jpg b/sprawozdanie/out/34_4.jpg new file mode 100644 index 0000000..c94fb63 Binary files /dev/null and b/sprawozdanie/out/34_4.jpg differ diff --git a/sprawozdanie/out/34_64.jpg b/sprawozdanie/out/34_64.jpg new file mode 100644 index 0000000..bf539db Binary files /dev/null and b/sprawozdanie/out/34_64.jpg differ diff --git a/sprawozdanie/out/34_8.jpg b/sprawozdanie/out/34_8.jpg new file mode 100644 index 0000000..be72e0b Binary files /dev/null and b/sprawozdanie/out/34_8.jpg differ diff --git a/sprawozdanie/out/34_damaged.jpg b/sprawozdanie/out/34_damaged.jpg new file mode 100644 index 0000000..10a9d40 Binary files /dev/null and b/sprawozdanie/out/34_damaged.jpg differ diff --git a/sprawozdanie/out/34_ok.jpg b/sprawozdanie/out/34_ok.jpg new file mode 100644 index 0000000..1c402bf Binary files /dev/null and b/sprawozdanie/out/34_ok.jpg differ diff --git a/sprawozdanie/out/4_1.jpg b/sprawozdanie/out/4_1.jpg new file mode 100644 index 0000000..ea6f011 Binary files /dev/null and b/sprawozdanie/out/4_1.jpg differ diff --git a/sprawozdanie/out/4_128.jpg b/sprawozdanie/out/4_128.jpg new file mode 100644 index 0000000..089dae7 Binary files /dev/null and b/sprawozdanie/out/4_128.jpg differ diff --git a/sprawozdanie/out/4_16.jpg b/sprawozdanie/out/4_16.jpg new file mode 100644 index 0000000..5d7d8ac Binary files /dev/null and b/sprawozdanie/out/4_16.jpg differ diff --git a/sprawozdanie/out/4_2.jpg b/sprawozdanie/out/4_2.jpg new file mode 100644 index 0000000..2b74f6b Binary files /dev/null and b/sprawozdanie/out/4_2.jpg differ diff --git a/sprawozdanie/out/4_200.jpg b/sprawozdanie/out/4_200.jpg new file mode 100644 index 0000000..042a592 Binary files /dev/null and b/sprawozdanie/out/4_200.jpg differ diff --git a/sprawozdanie/out/4_32.jpg b/sprawozdanie/out/4_32.jpg new file mode 100644 index 0000000..e431bdb Binary files /dev/null and b/sprawozdanie/out/4_32.jpg differ diff --git a/sprawozdanie/out/4_4.jpg b/sprawozdanie/out/4_4.jpg new file mode 100644 index 0000000..04a9d52 Binary files /dev/null and b/sprawozdanie/out/4_4.jpg differ diff --git a/sprawozdanie/out/4_64.jpg b/sprawozdanie/out/4_64.jpg new file mode 100644 index 0000000..5457d4c Binary files /dev/null and b/sprawozdanie/out/4_64.jpg differ diff --git a/sprawozdanie/out/4_8.jpg b/sprawozdanie/out/4_8.jpg new file mode 100644 index 0000000..b020816 Binary files /dev/null and b/sprawozdanie/out/4_8.jpg differ diff --git a/sprawozdanie/out/4_damaged.jpg b/sprawozdanie/out/4_damaged.jpg new file mode 100644 index 0000000..ea4d168 Binary files /dev/null and b/sprawozdanie/out/4_damaged.jpg differ diff --git a/sprawozdanie/out/4_ok.jpg b/sprawozdanie/out/4_ok.jpg new file mode 100644 index 0000000..52ec1c4 Binary files /dev/null and b/sprawozdanie/out/4_ok.jpg differ diff --git a/sprawozdanie/out/pjm_1.jpg b/sprawozdanie/out/pjm_1.jpg new file mode 100644 index 0000000..530f521 Binary files /dev/null and b/sprawozdanie/out/pjm_1.jpg differ diff --git a/sprawozdanie/out/pjm_128.jpg b/sprawozdanie/out/pjm_128.jpg new file mode 100644 index 0000000..97d0e74 Binary files /dev/null and b/sprawozdanie/out/pjm_128.jpg differ diff --git a/sprawozdanie/out/pjm_16.jpg b/sprawozdanie/out/pjm_16.jpg new file mode 100644 index 0000000..19ff080 Binary files /dev/null and b/sprawozdanie/out/pjm_16.jpg differ diff --git a/sprawozdanie/out/pjm_2.jpg b/sprawozdanie/out/pjm_2.jpg new file mode 100644 index 0000000..9332826 Binary files /dev/null and b/sprawozdanie/out/pjm_2.jpg differ diff --git a/sprawozdanie/out/pjm_200.jpg b/sprawozdanie/out/pjm_200.jpg new file mode 100644 index 0000000..90a7fab Binary files /dev/null and b/sprawozdanie/out/pjm_200.jpg differ diff --git a/sprawozdanie/out/pjm_32.jpg b/sprawozdanie/out/pjm_32.jpg new file mode 100644 index 0000000..36c2d43 Binary files /dev/null and b/sprawozdanie/out/pjm_32.jpg differ diff --git a/sprawozdanie/out/pjm_4.jpg b/sprawozdanie/out/pjm_4.jpg new file mode 100644 index 0000000..6bc3d75 Binary files /dev/null and b/sprawozdanie/out/pjm_4.jpg differ diff --git a/sprawozdanie/out/pjm_64.jpg b/sprawozdanie/out/pjm_64.jpg new file mode 100644 index 0000000..e58897d Binary files /dev/null and b/sprawozdanie/out/pjm_64.jpg differ diff --git a/sprawozdanie/out/pjm_8.jpg b/sprawozdanie/out/pjm_8.jpg new file mode 100644 index 0000000..bf0cee3 Binary files /dev/null and b/sprawozdanie/out/pjm_8.jpg differ diff --git a/sprawozdanie/out/pjm_damaged.jpg b/sprawozdanie/out/pjm_damaged.jpg new file mode 100644 index 0000000..3cd39c2 Binary files /dev/null and b/sprawozdanie/out/pjm_damaged.jpg differ diff --git a/sprawozdanie/out/pjm_ok.jpg b/sprawozdanie/out/pjm_ok.jpg new file mode 100644 index 0000000..3cd39c2 Binary files /dev/null and b/sprawozdanie/out/pjm_ok.jpg differ diff --git a/sprawozdanie/out/t_1.jpg b/sprawozdanie/out/t_1.jpg new file mode 100644 index 0000000..0b8ca36 Binary files /dev/null and b/sprawozdanie/out/t_1.jpg differ diff --git a/sprawozdanie/out/t_128.jpg b/sprawozdanie/out/t_128.jpg new file mode 100644 index 0000000..bb18c32 Binary files /dev/null and b/sprawozdanie/out/t_128.jpg differ diff --git a/sprawozdanie/out/t_16.jpg b/sprawozdanie/out/t_16.jpg new file mode 100644 index 0000000..015f2da Binary files /dev/null and b/sprawozdanie/out/t_16.jpg differ diff --git a/sprawozdanie/out/t_2.jpg b/sprawozdanie/out/t_2.jpg new file mode 100644 index 0000000..c9902c5 Binary files /dev/null and b/sprawozdanie/out/t_2.jpg differ diff --git a/sprawozdanie/out/t_200.jpg b/sprawozdanie/out/t_200.jpg new file mode 100644 index 0000000..5e3c8c9 Binary files /dev/null and b/sprawozdanie/out/t_200.jpg differ diff --git a/sprawozdanie/out/t_32.jpg b/sprawozdanie/out/t_32.jpg new file mode 100644 index 0000000..1274663 Binary files /dev/null and b/sprawozdanie/out/t_32.jpg differ diff --git a/sprawozdanie/out/t_4.jpg b/sprawozdanie/out/t_4.jpg new file mode 100644 index 0000000..e905914 Binary files /dev/null and b/sprawozdanie/out/t_4.jpg differ diff --git a/sprawozdanie/out/t_64.jpg b/sprawozdanie/out/t_64.jpg new file mode 100644 index 0000000..ae066ae Binary files /dev/null and b/sprawozdanie/out/t_64.jpg differ diff --git a/sprawozdanie/out/t_8.jpg b/sprawozdanie/out/t_8.jpg new file mode 100644 index 0000000..840661c Binary files /dev/null and b/sprawozdanie/out/t_8.jpg differ diff --git a/sprawozdanie/out/t_damaged.jpg b/sprawozdanie/out/t_damaged.jpg new file mode 100644 index 0000000..5bcb783 Binary files /dev/null and b/sprawozdanie/out/t_damaged.jpg differ diff --git a/sprawozdanie/out/t_ok.jpg b/sprawozdanie/out/t_ok.jpg new file mode 100644 index 0000000..5bcb783 Binary files /dev/null and b/sprawozdanie/out/t_ok.jpg differ diff --git a/sprawozdanie/sprawozdanie.tex b/sprawozdanie/sprawozdanie.tex new file mode 100644 index 0000000..2fc945c --- /dev/null +++ b/sprawozdanie/sprawozdanie.tex @@ -0,0 +1,169 @@ +\documentclass[]{article} +\usepackage[T1]{fontenc} +\usepackage{polski} +\usepackage[utf8]{inputenc} +\usepackage[margin=1.25in]{geometry} +\usepackage{alltt} +\usepackage{titling} +\usepackage{pdfpages} +\usepackage{float} +\usepackage{amsmath} +\usepackage{booktabs} +\usepackage{tabularx} +\usepackage{amstext} +\usepackage{pgfplots} +\usepackage{tikz} +\usepackage{xspace} +\usepackage{enumerate} +\usepackage{lmodern} +\usepackage{amsfonts} +\usepackage{mathtools} +\usepackage{graphicx} +\usepackage{algorithm} +\usepackage{algpseudocode} +\usepackage{wrapfig} +\usepackage[polish]{babel} +\usepackage{etoolbox} +\usepackage{subcaption} +\usepackage{multirow} % kurwa + +\pgfplotsset{compat=1.15} +\usepgfplotslibrary{groupplots} + +\DeclarePairedDelimiter\ceil{\lceil}{\rceil} +\DeclarePairedDelimiter\floor{\lfloor}{\rfloor} + +\usetikzlibrary{decorations.pathmorphing, arrows.meta, positioning} +\usetikzlibrary{shapes.geometric, arrows, intersections} +\usetikzlibrary{external} +\tikzexternalize + +\pgfdeclarelayer{background} +\pgfdeclarelayer{foreground} +\pgfsetlayers{background,main,foreground}% + +% opening +\title{Retusz starych zdjęć \\ \small{Projekt ze Sztzucznej Inteligencji, WETI, PG 2018}} +\author{\protect\begin{tabular}{ll|l} + Szymon Szczyrbak & \textit{165760} & Informatyka 2016/2017 \\ + Kacper Donat & \textit{165581} & Semest IV, gr. 1 +\protect\end{tabular}} +\floatname{algorithm}{Program} + +\makeatletter +\newcommand{\imgresult}[1]{% + \gdef\tablerow{ + \includegraphics[height=1.6cm]{out/#1_damaged.jpg} &% + \foreach \v in {damaged,1,2,4,8,16,32,64,128,200} {% + \includegraphics[height=1.6cm]{out/#1_\v.jpg} &% + }% + \includegraphics[height=1.6cm]{out/#1_ok.jpg} \\% + }% +} +\makeatother + +\begin{document} + \maketitle + \section{Cel projektu} + Celem projektu było przygotowanie programu, który w sposób automatyczny umożliwiałby retuszowanie starych zdjęć z + wykorzystaniem technik sztucznej inteligencji. + + \begin{figure}[H] + \centering + \includegraphics{./oczekiwane.jpg} + \caption{Oczekiwany rezultat działania aplikacji} + \end{figure} + + Do realizacji celu zdecydowano się wykorzystać technikę GAN\footnote{https://arxiv.org/abs/1406.2661} zakładającą + stworzenie 2 sieci neuronowych, próbujących się wzajemnie oszukać. Jedna sieć - Generator - odpowiada za generowanie danych na + podstawie wektora wejściowego (w tym wypadku uszkodzonego zdjęcia) starając się przekonać drugą sieć - + Dyskryminatora - że jest to nieuszkodzone zdjęcie. + + \subsection{Pozyskanie datasetu} + Jednym z problemów, na które natknęliśmy się podczas opracowywania rozwiązania był brak dostępnego wystarczająco + dużego datasetu, mogącego posłużyc do wyuczenia sieci. aby poradzić sobie z tym problemem została napisana aplikacja + umożliwająca generyczne niszczenie zdjęć. + + \begin{figure}[H] + \centering + \begin{tikzpicture}[node distance=1.5cm] + \node (in) {\includegraphics[height=2cm]{steps/in.jpg}}; + \node[right=of in] (sepia) {\includegraphics[height=2cm]{steps/sepia.jpg}}; + \node[right=of sepia] (brightness) {\includegraphics[height=2cm]{steps/brightness.jpg}}; + \node[below=of in] (noise) {\includegraphics[height=2cm]{steps/noise.jpg}}; + \node[right=of noise] (decals) {\includegraphics[height=2cm]{steps/decals.jpg}}; + \node[right=of decals] (blur) {\includegraphics[height=2cm]{steps/blur.jpg}}; + + \draw [->] (in) -- node [above] {sepia} (sepia); + \draw [->] (sepia) -- node [above] {jasność} (brightness); + \draw [->] (brightness) -- node [sloped, above] {szum} (noise); + \draw [->] (noise) -- node [above] {zniszczenia} (decals); + \draw [->] (decals) -- node [above] {rozmycie} (blur); + \end{tikzpicture} + \caption{Proces niszczenia zdjęć} + \end{figure} + + Każdy z kroków jest parametryzowalny, oraz każde zdjęcie zawiera losową zmianę do parametru w celu zapobiegnięcia + zbyt szybkiemu overfittingowi sieci. + + \section{Rezultaty} + \begin{center}\textit{\color{red} wstaw budowę sieci plox}\end{center} + + \begin{figure}[H] + \centering + \begin{tikzpicture} + \begin{axis}[grid=both, width=\linewidth, height=8cm, no marks, xmin=0, xmax=200, xlabel={Epoka}, ylabel={Strata}] + \addplot[very thin, blue] table [x=epoch,y=g,col sep=comma] {iterations.csv}; + \addplot[very thick] table [x=epoch,y=g,col sep=comma] {loss.csv}; + \end{axis} + \end{tikzpicture} + \caption{Funkcja straty dla generatora} + \label{fig:results} + \end{figure} + + \begin{figure}[H] + \centering + \begin{tikzpicture} + \begin{axis}[grid=both, width=\linewidth, height=8cm, no marks, xmin=0, xmax=200, xlabel={Epoka}, ylabel={Strata}] + \addplot[very thin, red] table [x=epoch,y=d,col sep=comma] {iterations.csv}; + \addplot[very thick] table [x=epoch,y=d,col sep=comma] {loss.csv}; + \end{axis} + \end{tikzpicture} + \caption{Funkcja straty dla dyskryminatora} + \end{figure} + + \begin{table}[H] + \centering + \def\arraystretch{.6} + \setlength{\tabcolsep}{0pt} % for the horizontal padding + \begin{tabular}{cccccccccccc} + zniszczone & 1 & 2 & 4 & 8 & 16 & 32 & 64 & 128 & 200 & oczekiwane \tabularnewline \hline + \input{table.tex} + \end{tabular} + \caption{Zestawienie wyników dla kolejnych epok, zdjęcia z 3 oraz 4 rzędu pochodzą z internetu, pozostałe zostały zniszczone generycznie} + \end{table} + + \subsection{Obserwacje} + Powyższe dane zostały pozyskane z uczenia sieci na datasecie zawierajacym 100 różnych elementów. W zestawieniu + \ref{fig:results} wyraźnie widać, że wraz z każdą generacją generator osiąga coraz lepsze wyniki jednak, od pewnego + momentu szybkość uczenia się zdecydowanie maleje. + + \subsection{Problemy} + Głównym blokujący problemem podczas rozwijania projektu były niezwykle długie czasy uczenia się sieci na CPU, oraz + dość wysoka podatność na zmiany w parametrach sieci czy wygenerowanego datasetu, nie pozwoliło to na zrobienie zbyt + wielu iteracji programu, a tym samym na jego skuteczny rozwój. + + Wyraźnie również widać przekolorowanie na obrazkach oraz zmianę jasności - prawdopodobnie oba te problemy wynikają z + zastosowania normalizacji zarówno wektora wejściowego jak i na poszczególnych etapach Generatora oraz przy konwersji + z tensorów, którymi posługuje się do obrazów. + + Po sprawdzeniu kilku różnych zestawu danych do uczenia się, można zauważyć, że efekty na obrazach pochodzących z + realnego śiata są do siebie bardzo podobne, co wskazywałoby na relatywną stabilność rozwiązania i problem ze + sposobem generowania danych, który dostarcza zbyt mało różnorodne wejście. Problem ten można by rozwiązać + wykorzystując dataset zbudowany na podstawie kilku różnych metod generowania zniszczeń, bądź najlepiej wykorzystując + dane pochodzące z realnego świata. + + Dodatkową trudnością jest fakt, że sieć nie tylko musi nauczyć się generować brakujące części obrazu ale też + decydować, które części są uszkodzeniem, a które detalem do zachowania. Problem ten widać w 3 wierszu prezentowanych + danych - wzór na koszuli został uznany za uszkodzenie i usunięty przez sieć. +\end{document} diff --git a/sprawozdanie/steps/blur.jpg b/sprawozdanie/steps/blur.jpg new file mode 100644 index 0000000..98a04ce Binary files /dev/null and b/sprawozdanie/steps/blur.jpg differ diff --git a/sprawozdanie/steps/brightness.jpg b/sprawozdanie/steps/brightness.jpg new file mode 100644 index 0000000..e20de2a Binary files /dev/null and b/sprawozdanie/steps/brightness.jpg differ diff --git a/sprawozdanie/steps/decals.jpg b/sprawozdanie/steps/decals.jpg new file mode 100644 index 0000000..ad8e6f3 Binary files /dev/null and b/sprawozdanie/steps/decals.jpg differ diff --git a/sprawozdanie/steps/in.jpg b/sprawozdanie/steps/in.jpg new file mode 100644 index 0000000..76dc733 Binary files /dev/null and b/sprawozdanie/steps/in.jpg differ diff --git a/sprawozdanie/steps/noise.jpg b/sprawozdanie/steps/noise.jpg new file mode 100644 index 0000000..5c4cb2f Binary files /dev/null and b/sprawozdanie/steps/noise.jpg differ diff --git a/sprawozdanie/steps/sepia.jpg b/sprawozdanie/steps/sepia.jpg new file mode 100644 index 0000000..f1a19a1 Binary files /dev/null and b/sprawozdanie/steps/sepia.jpg differ diff --git a/sprawozdanie/table.php b/sprawozdanie/table.php new file mode 100644 index 0000000..fdf26f4 --- /dev/null +++ b/sprawozdanie/table.php @@ -0,0 +1,4 @@ +