89 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
+++
 | 
						|
title = "Übersetzung: Coding Examples"
 | 
						|
date = 2021-03-01
 | 
						|
authors = ["Aron Petau"]
 | 
						|
description = "A selection of coding projects from my Bachelor's in Cognitive Science"
 | 
						|
 | 
						|
[taxonomies]
 | 
						|
tags = [
 | 
						|
  "AI",
 | 
						|
  "CNN",
 | 
						|
  "GOFAI",
 | 
						|
  "MTCNN",
 | 
						|
  "computer vision",
 | 
						|
  "ethics",
 | 
						|
  "face detection",
 | 
						|
  "google colab",
 | 
						|
  "jupyter notebook",
 | 
						|
  "keras",
 | 
						|
  "machine learning",
 | 
						|
  "neural nets",
 | 
						|
  "object recognition",
 | 
						|
  "python",
 | 
						|
  "super resolution",
 | 
						|
  "tensorflow",
 | 
						|
  "university of osnabrück"
 | 
						|
]
 | 
						|
 | 
						|
[extra]
 | 
						|
banner = "sample_lr.png"
 | 
						|
show_copyright = true
 | 
						|
show_shares = true
 | 
						|
+++
 | 
						|
 | 
						|
## Neural Networks and Computer Vision
 | 
						|
 | 
						|
## A selection of coding projects
 | 
						|
 | 
						|
Although pure coding and debugging are often not a passion of mine, I recognize the importance of neural networks and other recent developments in Computer Vision. From several projects regarding AI and Machine Learning that I co-authored during my Bachelor Program, I picked this one since I think it is well documented and explains on a step-by-step basis what we do there.
 | 
						|
 | 
						|
### Image Super-Resolution using Convolutional Neural Networks (Recreation of a 2016 Paper)
 | 
						|
 | 
						|
Image Super-Resolution is a hugely important topic in Computer Vision. If it works sufficiently advanced, we could take all our screenshots and selfies and cat pictures from the 2006 facebook-era and even from before and scale them up to suit modern 4K needs.
 | 
						|
 | 
						|
Just to give an example of what is possible in 2020, just 4 years after the paper here, have a look at this video from 1902:
 | 
						|
 | 
						|
{{ youtube(id="EQs5VxNPhzk") }}
 | 
						|
 | 
						|
The 2016 paper we had a look at is much more modest: it tries to upscale only a single Image, but historically, it was one of the first to achieve computing times sufficiently small to make such realtime-video-upscaling as visible in the Video (from 2020) or of the likes that Nvidia uses nowadays to upscale Videogames.
 | 
						|
 | 
						|
Example of a Super-Resolution Image.
 | 
						|
The Neural network is artificially adding Pixels so that we can finally put our measly selfie on a billboard poster and not be appalled by our deformed-and-pixelated-through-technology face.
 | 
						|
 | 
						|
{% gallery() %}
 | 
						|
[
 | 
						|
  {
 | 
						|
    "file": "sample_lr.png",
 | 
						|
    "title": "A low-resolution sample",
 | 
						|
    "alt": "A sample image with low resolution, used as a baseline for comparison."
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "file": "sample_hr.png",
 | 
						|
    "title": "A high-resolution sample. This is also called 'ground truth'",
 | 
						|
    "alt": "A high-resolution image that serves as the reference ground truth for comparison with other samples."
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "file": "sample_sr.png",
 | 
						|
    "title": "The artificially enlarged image patch resulting from the algorithm",
 | 
						|
    "alt": "A sample image where the resolution has been artificially increased using an image enhancement algorithm."
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "file": "sample_loss.png",
 | 
						|
    "title": "A graph showing an exemplary loss function applied during training",
 | 
						|
    "alt": "A graph illustrating the loss function used to train the model, showing the model's performance over time."
 | 
						|
  },
 | 
						|
  {
 | 
						|
    "file": "sample_cos_sim.png",
 | 
						|
    "title": "One qualitative measurement we used was pixel-wise cosine similarity. It is used to measure how similar the output and the ground truth images are",
 | 
						|
    "alt": "A visualization of pixel-wise cosine similarity, used to quantify how similar the generated image is to the ground truth image."
 | 
						|
  }
 | 
						|
]
 | 
						|
{% end %}
 | 
						|
 | 
						|
[The Python notebook for Image super-resolution in Colab]( https://colab.research.google.com/drive/1RlgIKJmX8Omz9CTktX7cdIV_BwarUFpv?usp=sharing)
 | 
						|
 | 
						|
### MTCNN (Application and Comparison of a 2016 Paper)
 | 
						|
 | 
						|
Here, you can also have a look at another, much smaller project, where we rebuilt a rather classical Machine learning approach for face detection. Here, we use preexisting libraries to demonstrate the difference in efficacy of approaches, showing that Multi-task Cascaded Convolutional Networks (MTCNN) was one of the best-performing approaches in 2016. Since I invested much more love and work into the above project, I would prefer for you to check that one out, in case two projects are too much.
 | 
						|
 | 
						|
[Face detection using a classical AI Approach (Recreation of a 2016 Paper)](https://colab.research.google.com/drive/1uNGsVZ0Q42JRNa3BuI4W-JNJHaXD26bu?usp=sharing)
 |