<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Aron Petau - gofai</title>
    <link rel="self" type="application/atom+xml" href="https://aron.petau.net/tags/gofai/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://aron.petau.net/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2021-03-01T00:00:00+00:00</updated>
    <id>https://aron.petau.net/tags/gofai/atom.xml</id>
    <entry xml:lang="en">
        <title>Coding Examples</title>
        <published>2021-03-01T00:00:00+00:00</published>
        <updated>2021-03-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            Aron Petau
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://aron.petau.net/project/coding/"/>
        <id>https://aron.petau.net/project/coding/</id>
        
        <content type="html" xml:base="https://aron.petau.net/project/coding/">&lt;h2 id=&quot;Neural_Networks_and_Computer_Vision&quot;&gt;Neural Networks and Computer Vision&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;A_selection_of_coding_projects&quot;&gt;A selection of coding projects&lt;&#x2F;h2&gt;
&lt;p&gt;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.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;Image_Super-Resolution_using_Convolutional_Neural_Networks_(Recreation_of_a_2016_Paper)&quot;&gt;Image Super-Resolution using Convolutional Neural Networks (Recreation of a 2016 Paper)&lt;&#x2F;h3&gt;
&lt;p&gt;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.&lt;&#x2F;p&gt;
&lt;p&gt;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:&lt;&#x2F;p&gt;
&lt;iframe
	class=&quot;youtube-embed&quot;
	src=&quot;https:&#x2F;&#x2F;www.youtube-nocookie.com&#x2F;embed&#x2F;EQs5VxNPhzk&quot;
	allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot;
	referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;
&lt;&#x2F;iframe&gt;
&lt;p&gt;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.&lt;&#x2F;p&gt;
&lt;p&gt;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.&lt;&#x2F;p&gt;


&lt;div id=&quot;image-gallery&quot;&gt;
  &lt;ul class=&quot;gallery&quot;&gt;
    
      
      
      
      &lt;li class=&quot;gallery-item&quot;&gt;
        &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_lr.png&quot; class=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;
          &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_lr.png&quot; alt=&quot;A sample image with low resolution, used as a baseline for comparison.&quot;&gt;
        &lt;&#x2F;a&gt;
        
          &lt;p class=&quot;caption&quot;&gt;A low-resolution sample&lt;&#x2F;p&gt;
        
      &lt;&#x2F;li&gt;
    
      
      
      
      &lt;li class=&quot;gallery-item&quot;&gt;
        &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_hr.png&quot; class=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;
          &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_hr.png&quot; alt=&quot;A high-resolution image that serves as the reference ground truth for comparison with other samples.&quot;&gt;
        &lt;&#x2F;a&gt;
        
          &lt;p class=&quot;caption&quot;&gt;A high-resolution sample. This is also called &amp;#x27;ground truth&amp;#x27;&lt;&#x2F;p&gt;
        
      &lt;&#x2F;li&gt;
    
      
      
      
      &lt;li class=&quot;gallery-item&quot;&gt;
        &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_sr.png&quot; class=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;
          &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_sr.png&quot; alt=&quot;A sample image where the resolution has been artificially increased using an image enhancement algorithm.&quot;&gt;
        &lt;&#x2F;a&gt;
        
          &lt;p class=&quot;caption&quot;&gt;The artificially enlarged image patch resulting from the algorithm&lt;&#x2F;p&gt;
        
      &lt;&#x2F;li&gt;
    
      
      
      
      &lt;li class=&quot;gallery-item&quot;&gt;
        &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_loss.png&quot; class=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;
          &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_loss.png&quot; alt=&quot;A graph illustrating the loss function used to train the model, showing the model&amp;#x27;s performance over time.&quot;&gt;
        &lt;&#x2F;a&gt;
        
          &lt;p class=&quot;caption&quot;&gt;A graph showing an exemplary loss function applied during training&lt;&#x2F;p&gt;
        
      &lt;&#x2F;li&gt;
    
      
      
      
      &lt;li class=&quot;gallery-item&quot;&gt;
        &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_cos_sim.png&quot; class=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;
          &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;aron.petau.net&amp;#x2F;project&amp;#x2F;coding&amp;#x2F;sample_cos_sim.png&quot; alt=&quot;A visualization of pixel-wise cosine similarity, used to quantify how similar the generated image is to the ground truth image.&quot;&gt;
        &lt;&#x2F;a&gt;
        
          &lt;p class=&quot;caption&quot;&gt;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&lt;&#x2F;p&gt;
        
      &lt;&#x2F;li&gt;
    
  &lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;colab.research.google.com&#x2F;drive&#x2F;1RlgIKJmX8Omz9CTktX7cdIV_BwarUFpv?usp=sharing&quot;&gt;The Python notebook for Image super-resolution in Colab&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;MTCNN_(Application_and_Comparison_of_a_2016_Paper)&quot;&gt;MTCNN (Application and Comparison of a 2016 Paper)&lt;&#x2F;h3&gt;
&lt;p&gt;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.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;colab.research.google.com&#x2F;drive&#x2F;1uNGsVZ0Q42JRNa3BuI4W-JNJHaXD26bu?usp=sharing&quot;&gt;Face detection using a classical AI Approach (Recreation of a 2016 Paper)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
