diff --git a/mmp/a3/annotation.py b/mmp/a3/annotation.py index 2d0164e..9329dfb 100644 --- a/mmp/a3/annotation.py +++ b/mmp/a3/annotation.py @@ -20,6 +20,12 @@ class AnnotationRect: def __array__(self) -> np.ndarray: return np.array([self.x1, self.y1, self.x2, self.y2]) + def scale(self, factor: float): + self.x1 *= factor + self.x2 *= factor + self.y1 *= factor + self.y2 *= factor + @staticmethod def fromarray(arr: np.ndarray): return AnnotationRect(arr[0], arr[1], arr[2], arr[3]) diff --git a/mmp/a4/2242167_original.png b/mmp/a4/2242167_original.png deleted file mode 100644 index 3b7270c..0000000 Binary files a/mmp/a4/2242167_original.png and /dev/null differ diff --git a/mmp/a4/2242167_transformed.png b/mmp/a4/2242167_transformed.png deleted file mode 100644 index f0ffc31..0000000 Binary files a/mmp/a4/2242167_transformed.png and /dev/null differ diff --git a/mmp/a4/2243119_original.png b/mmp/a4/2243119_original.png new file mode 100644 index 0000000..6d26061 Binary files /dev/null and b/mmp/a4/2243119_original.png differ diff --git a/mmp/a4/2243119_transformed.png b/mmp/a4/2243119_transformed.png new file mode 100644 index 0000000..c370412 Binary files /dev/null and b/mmp/a4/2243119_transformed.png differ diff --git a/mmp/a4/2243763_original.png b/mmp/a4/2243763_original.png deleted file mode 100644 index 6cef7f2..0000000 Binary files a/mmp/a4/2243763_original.png and /dev/null differ diff --git a/mmp/a4/2243763_transformed.png b/mmp/a4/2243763_transformed.png deleted file mode 100644 index 06c44bb..0000000 Binary files a/mmp/a4/2243763_transformed.png and /dev/null differ diff --git a/mmp/a4/2244338_original.png b/mmp/a4/2244338_original.png deleted file mode 100644 index 037e199..0000000 Binary files a/mmp/a4/2244338_original.png and /dev/null differ diff --git a/mmp/a4/2244338_transformed.png b/mmp/a4/2244338_transformed.png deleted file mode 100644 index f129fdc..0000000 Binary files a/mmp/a4/2244338_transformed.png and /dev/null differ diff --git a/mmp/a4/2244764_original.png b/mmp/a4/2244764_original.png new file mode 100644 index 0000000..46f5a03 Binary files /dev/null and b/mmp/a4/2244764_original.png differ diff --git a/mmp/a4/2244764_transformed.png b/mmp/a4/2244764_transformed.png new file mode 100644 index 0000000..2f9957f Binary files /dev/null and b/mmp/a4/2244764_transformed.png differ diff --git a/mmp/a4/2244924_original.png b/mmp/a4/2244924_original.png new file mode 100644 index 0000000..b1303bf Binary files /dev/null and b/mmp/a4/2244924_original.png differ diff --git a/mmp/a4/2244924_transformed.png b/mmp/a4/2244924_transformed.png new file mode 100644 index 0000000..df7eb78 Binary files /dev/null and b/mmp/a4/2244924_transformed.png differ diff --git a/mmp/a4/2245478_original.png b/mmp/a4/2245478_original.png deleted file mode 100644 index 7f8adcb..0000000 Binary files a/mmp/a4/2245478_original.png and /dev/null differ diff --git a/mmp/a4/2245478_transformed.png b/mmp/a4/2245478_transformed.png deleted file mode 100644 index e5516b1..0000000 Binary files a/mmp/a4/2245478_transformed.png and /dev/null differ diff --git a/mmp/a4/2247660_original.png b/mmp/a4/2247660_original.png deleted file mode 100644 index 3e153b1..0000000 Binary files a/mmp/a4/2247660_original.png and /dev/null differ diff --git a/mmp/a4/2247660_transformed.png b/mmp/a4/2247660_transformed.png deleted file mode 100644 index dba52d0..0000000 Binary files a/mmp/a4/2247660_transformed.png and /dev/null differ diff --git a/mmp/a4/2249754_original.png b/mmp/a4/2249754_original.png deleted file mode 100644 index 4776e5e..0000000 Binary files a/mmp/a4/2249754_original.png and /dev/null differ diff --git a/mmp/a4/2249754_transformed.png b/mmp/a4/2249754_transformed.png deleted file mode 100644 index 95e4be1..0000000 Binary files a/mmp/a4/2249754_transformed.png and /dev/null differ diff --git a/mmp/a4/2250234_original.png b/mmp/a4/2250234_original.png new file mode 100644 index 0000000..e20d1c8 Binary files /dev/null and b/mmp/a4/2250234_original.png differ diff --git a/mmp/a4/2250234_transformed.png b/mmp/a4/2250234_transformed.png new file mode 100644 index 0000000..165585f Binary files /dev/null and b/mmp/a4/2250234_transformed.png differ diff --git a/mmp/a4/2251077_original.png b/mmp/a4/2251077_original.png deleted file mode 100644 index 2becb15..0000000 Binary files a/mmp/a4/2251077_original.png and /dev/null differ diff --git a/mmp/a4/2251077_transformed.png b/mmp/a4/2251077_transformed.png deleted file mode 100644 index 9e460e3..0000000 Binary files a/mmp/a4/2251077_transformed.png and /dev/null differ diff --git a/mmp/a4/2251430_original.png b/mmp/a4/2251430_original.png new file mode 100644 index 0000000..7c17386 Binary files /dev/null and b/mmp/a4/2251430_original.png differ diff --git a/mmp/a4/2251430_transformed.png b/mmp/a4/2251430_transformed.png new file mode 100644 index 0000000..c0e4ca7 Binary files /dev/null and b/mmp/a4/2251430_transformed.png differ diff --git a/mmp/a4/2253265_original.png b/mmp/a4/2253265_original.png deleted file mode 100644 index 1580633..0000000 Binary files a/mmp/a4/2253265_original.png and /dev/null differ diff --git a/mmp/a4/2253265_transformed.png b/mmp/a4/2253265_transformed.png deleted file mode 100644 index c94fc86..0000000 Binary files a/mmp/a4/2253265_transformed.png and /dev/null differ diff --git a/mmp/a4/2254610_original.png b/mmp/a4/2254610_original.png new file mode 100644 index 0000000..80757cf Binary files /dev/null and b/mmp/a4/2254610_original.png differ diff --git a/mmp/a4/2254610_transformed.png b/mmp/a4/2254610_transformed.png new file mode 100644 index 0000000..3f2d148 Binary files /dev/null and b/mmp/a4/2254610_transformed.png differ diff --git a/mmp/a4/2256266_original.png b/mmp/a4/2256266_original.png new file mode 100644 index 0000000..f2d7915 Binary files /dev/null and b/mmp/a4/2256266_original.png differ diff --git a/mmp/a4/2256266_transformed.png b/mmp/a4/2256266_transformed.png new file mode 100644 index 0000000..e6df93b Binary files /dev/null and b/mmp/a4/2256266_transformed.png differ diff --git a/mmp/a4/2256489_original.png b/mmp/a4/2256489_original.png deleted file mode 100644 index ac4a202..0000000 Binary files a/mmp/a4/2256489_original.png and /dev/null differ diff --git a/mmp/a4/2256489_transformed.png b/mmp/a4/2256489_transformed.png deleted file mode 100644 index ccf641b..0000000 Binary files a/mmp/a4/2256489_transformed.png and /dev/null differ diff --git a/mmp/a4/2256880_original.png b/mmp/a4/2256880_original.png new file mode 100644 index 0000000..0e0a5c5 Binary files /dev/null and b/mmp/a4/2256880_original.png differ diff --git a/mmp/a4/2256880_transformed.png b/mmp/a4/2256880_transformed.png new file mode 100644 index 0000000..c6d075b Binary files /dev/null and b/mmp/a4/2256880_transformed.png differ diff --git a/mmp/a4/2258993_original.png b/mmp/a4/2258993_original.png new file mode 100644 index 0000000..d857141 Binary files /dev/null and b/mmp/a4/2258993_original.png differ diff --git a/mmp/a4/2258993_transformed.png b/mmp/a4/2258993_transformed.png new file mode 100644 index 0000000..0c421a5 Binary files /dev/null and b/mmp/a4/2258993_transformed.png differ diff --git a/mmp/a4/2259929_original.png b/mmp/a4/2259929_original.png deleted file mode 100644 index 2bf598e..0000000 Binary files a/mmp/a4/2259929_original.png and /dev/null differ diff --git a/mmp/a4/2259929_transformed.png b/mmp/a4/2259929_transformed.png deleted file mode 100644 index 1bdb869..0000000 Binary files a/mmp/a4/2259929_transformed.png and /dev/null differ diff --git a/mmp/a4/2260471_original.png b/mmp/a4/2260471_original.png new file mode 100644 index 0000000..257c345 Binary files /dev/null and b/mmp/a4/2260471_original.png differ diff --git a/mmp/a4/2260471_transformed.png b/mmp/a4/2260471_transformed.png new file mode 100644 index 0000000..128891f Binary files /dev/null and b/mmp/a4/2260471_transformed.png differ diff --git a/mmp/a4/2261564_original.png b/mmp/a4/2261564_original.png new file mode 100644 index 0000000..4eedd86 Binary files /dev/null and b/mmp/a4/2261564_original.png differ diff --git a/mmp/a4/2261564_transformed.png b/mmp/a4/2261564_transformed.png new file mode 100644 index 0000000..77d85d9 Binary files /dev/null and b/mmp/a4/2261564_transformed.png differ diff --git a/mmp/a4/2262264_original.png b/mmp/a4/2262264_original.png new file mode 100644 index 0000000..3699f27 Binary files /dev/null and b/mmp/a4/2262264_original.png differ diff --git a/mmp/a4/2262264_transformed.png b/mmp/a4/2262264_transformed.png new file mode 100644 index 0000000..d1c7fcc Binary files /dev/null and b/mmp/a4/2262264_transformed.png differ diff --git a/mmp/a4/2263954_original.png b/mmp/a4/2263954_original.png deleted file mode 100644 index 09469e0..0000000 Binary files a/mmp/a4/2263954_original.png and /dev/null differ diff --git a/mmp/a4/2263954_transformed.png b/mmp/a4/2263954_transformed.png deleted file mode 100644 index 1af4fec..0000000 Binary files a/mmp/a4/2263954_transformed.png and /dev/null differ diff --git a/mmp/a4/2266873_original.png b/mmp/a4/2266873_original.png deleted file mode 100644 index 8e68e87..0000000 Binary files a/mmp/a4/2266873_original.png and /dev/null differ diff --git a/mmp/a4/2266873_transformed.png b/mmp/a4/2266873_transformed.png deleted file mode 100644 index f3f4775..0000000 Binary files a/mmp/a4/2266873_transformed.png and /dev/null differ diff --git a/mmp/a4/dataset.py b/mmp/a4/dataset.py index e591f2e..21a0721 100644 --- a/mmp/a4/dataset.py +++ b/mmp/a4/dataset.py @@ -29,7 +29,7 @@ class MMP_Dataset(torch.utils.data.Dataset): @param is_test: Whether this is the test set (True) or the validation/training set (False) """ self.image_size = image_size - self.images = [] + self.images: Sequence[Tuple[str, Sequence[AnnotationRect]]] = [] self.anchor_grid = anchor_grid self.min_iou = min_iou self.is_test = is_test @@ -72,8 +72,14 @@ class MMP_Dataset(torch.utils.data.Dataset): img_id = re.match(r".*(\/)([0-9]+)(\.[^\/]*$)", self.images[idx][0]).group(2) if self.is_test: return (img_tensor, torch.Tensor(), int(img_id)) + + scaled_annotations = [] + for annotation in self.images[idx][1]: + annotation.scale(self.image_size / max(img.size[0], img.size[1])) + scaled_annotations.append(annotation) + label_grid = get_label_grid( - anchor_grid=self.anchor_grid, gts=self.images[idx][1], min_iou=self.min_iou + anchor_grid=self.anchor_grid, gts=scaled_annotations, min_iou=self.min_iou ) return (img_tensor, label_grid, int(img_id)) diff --git a/mmp/a4/document.pdf b/mmp/a4/document.pdf new file mode 100644 index 0000000..ff470bf Binary files /dev/null and b/mmp/a4/document.pdf differ diff --git a/mmp/a4/document.tex b/mmp/a4/document.tex new file mode 100644 index 0000000..fefa913 --- /dev/null +++ b/mmp/a4/document.tex @@ -0,0 +1,70 @@ +\documentclass[11pt,a4paper]{article} + +% Language and encoding settings +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english]{babel} + +% Page formatting +\usepackage[left=1in, right=1in, top=1in, bottom=1in]{geometry} +\usepackage{setspace} +\onehalfspacing + +% Header/Footer +\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhf{} % clear all header and footer fields +\fancyhead[L]{\textbf{\course}} +\fancyhead[C]{Assignment \assignmentnumber} +\fancyhead[R]{\name} +\fancyfoot[C]{\thepage} + +% Other packages +\usepackage{enumitem} +\usepackage{graphicx} + +% Custom commands for easy detail insertion +\newcommand{\assignmentnumber}{04} % <-- CHANGE Assignment Number +\newcommand{\name}{Simon Franken} % <-- CHANGE YOUR NAME +\newcommand{\course}{Multimedia Project WiSe 2526} % <-- CHANGE COURSE NAME +\newcommand{\duedate}{2025-11-12} % <-- CHANGE DUE DATE + +% Title formatting +\usepackage{titling} +\pretitle{ + \vspace*{2cm} + \begin{center} + \LARGE\bfseries +} +\posttitle{\par\end{center}\vspace{1cm}} + +\begin{document} + +\title{Assignment \assignmentnumber} +\author{\name} +\date{\duedate} + +\maketitle + +\begin{center} + \textbf{Course:} \course +\end{center} +\vspace{0.5cm} + +%------------------ START OF ASSIGNMENT ----------------------- + +% Write your solutions below + +\section*{Exercise 4.2 Label Grid} +\begin{enumerate}[label=\alph*)] + \setcounter{enumi}{2} + \item \begin{figure}[htp] + \centering + \includegraphics[width=4cm]{output.jpg} + \caption{output.txt} + \end{figure} +\end{enumerate} + +%------------------ END OF ASSIGNMENT ----------------------- + +\end{document} \ No newline at end of file