518 lines
11 KiB
HTML
518 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" dir="ltr">
|
|
|
|
<head>
|
|
<meta name="generator" content="Hugo 0.96.0" />
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="description" content="">
|
|
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Blog" />
|
|
<meta property="og:description" content="" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:url" content="https://mmp.oscar.blue/posts/" />
|
|
|
|
<title>Blog | MMP | Oscar Pocock</title>
|
|
<link rel="manifest" href="/manifest.json">
|
|
<link rel="icon" href="/favicon.png" type="image/x-icon">
|
|
<link rel="stylesheet" href="/book.min.68be0b7a9674f2a612ce0e9b2e9447ff4b7ac96546e06b642bfd3ded0ca490ef.css" integrity="sha256-aL4LepZ08qYSzg6bLpRH/0t6yWVG4GtkK/097QykkO8=">
|
|
<script defer src="/en.search.min.0c8af0cffc76d081a5a819e52dfdb147c344002d63293b8ad6697c1cbe08a5f2.js" integrity="sha256-DIrwz/x20IGlqBnlLf2xR8NEAC1jKTuK1ml8HL4IpfI="></script>
|
|
|
|
<script defer src="/sw.min.6f6f90fcb8eb1c49ec389838e6b801d0de19430b8e516902f8d75c3c8bd98739.js" integrity="sha256-b2+Q/LjrHEnsOJg45rgB0N4ZQwuOUWkC+NdcPIvZhzk="></script>
|
|
<link rel="alternate" type="application/rss+xml" href="https://mmp.oscar.blue/posts/index.xml" title="MMP | Oscar Pocock" />
|
|
<!--
|
|
Made with Book Theme
|
|
https://github.com/alex-shpak/hugo-book
|
|
-->
|
|
|
|
|
|
</head>
|
|
|
|
<body dir="ltr">
|
|
<input type="checkbox" class="hidden toggle" id="menu-control" />
|
|
<input type="checkbox" class="hidden toggle" id="toc-control" />
|
|
<main class="container flex">
|
|
<aside class="book-menu">
|
|
<div class="book-menu-content">
|
|
|
|
<nav>
|
|
<h2 class="book-brand">
|
|
<a href="/"><span>MMP | Oscar Pocock</span>
|
|
</a>
|
|
</h2>
|
|
|
|
|
|
<div class="book-search">
|
|
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
|
|
<div class="book-search-spinner hidden"></div>
|
|
<ul id="book-search-results"></ul>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
|
<li class="book-section-flat" >
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://mmp.oscar.blue/docs/developer/" class="">Developer Documentation</a>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li class="book-section-flat" >
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://mmp.oscar.blue/docs/user/" class="">User Documentation</a>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
<a href="/posts/" >
|
|
Blog
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="https://teaching.dcs.aber.ac.uk/mmp" target="_blank" rel="noopener">
|
|
Aberystwyth MMP Site
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="https://git.oscar.blue" target="_blank" rel="noopener">
|
|
Source Code
|
|
</a>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
|
|
<script>(function(){var e=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
|
|
|
|
|
|
|
|
</div>
|
|
</aside>
|
|
|
|
<div class="book-page">
|
|
<header class="book-header">
|
|
|
|
<div class="flex align-center justify-between">
|
|
<label for="menu-control">
|
|
<img src="/svg/menu.svg" class="book-icon" alt="Menu" />
|
|
</label>
|
|
|
|
<strong>Blog</strong>
|
|
|
|
<label for="toc-control">
|
|
|
|
<img src="/svg/toc.svg" class="book-icon" alt="Table of Contents" />
|
|
|
|
</label>
|
|
</div>
|
|
|
|
|
|
|
|
<aside class="hidden clearfix">
|
|
|
|
<nav>
|
|
<ul>
|
|
|
|
|
|
<li class="book-section-flat">
|
|
<strong>Categories</strong>
|
|
<ul>
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
|
|
<li class="book-section-flat">
|
|
<strong>Tags</strong>
|
|
<ul>
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-10/">Week 10</a>
|
|
</h2>
|
|
|
|
<h5>April 10, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This week I was busy applying for jobs and working on the CS38220 assignment. So I only managed to do code clean-up and implementing a config file which allows a user to change the order of filters and other settings.
|
|
Config file example: config.yml
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 --- # Config file for autophotographer # List of filters to apply in order filters: - brightness - filesize - contrast - focus # Whether or not to apply CNN ranking CNNrank: True # Options for focus filter brightness_options: threshold: 0.
|
|
<a href="/posts/week-10/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-9/">Week 9</a>
|
|
</h2>
|
|
|
|
<h5>April 3, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This week I worked on getting focus detection working. I implemented basic laplatian blur detection1 and fast fourier blur detection2.
|
|
Finding the threshold for both can be a challenge
|
|
General pipeline # I continued to develop a general pipeline to fit all the filters in
|
|
https://pyimagesearch.com/2015/09/07/blur-detection-with-opencv/ ↩︎
|
|
https://pyimagesearch.com/2020/06/15/opencv-fast-fourier-transform-fft-for-blur-detection-in-images-and-video-streams/ ↩︎
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-8/">Week 8</a>
|
|
</h2>
|
|
|
|
<h5>March 27, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>Monday # Towards the end of last week ( Week 7), I managed to refactor my code in order to make it more portable. This allowed me to train my model on different machines. I ran my training script on the uni’s GPU compute successfully for 20 epochs. The next stage was to train it for longer and analyse the results. On the Monday morning I adjusted the parameters of my training script to train for 2000 epochs instead.
|
|
<a href="/posts/week-8/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-7/">Week 7</a>
|
|
</h2>
|
|
|
|
<h5>March 20, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>Now that I had successfully run my model without any runtime errors, the next step this week was finding some GPU compute so I can train my model on much more powerful hardware to accelerate the training.
|
|
My first idea was to use cloud computing. There are machine learning specific cloud technologies, but I didn’t want to use these as I didn’t want my code to be dependent on the specific ways cloud platforms want the code in.
|
|
<a href="/posts/week-7/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-6/">Week 6</a>
|
|
</h2>
|
|
|
|
<h5>March 13, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This week I finished programming the basic CNN model using transfer learning. I decided to train it for 20 epochs to make sure there weren’t any runtime errors in my code. As I don’t own an Nvidia GPU (I have an AMD GPU), I couldn’t make use of the pytorch version that utilised CUDA to speed up processing. There is a RocM version of pytorch for AMD GPUs1 but RocM isn’t as mature as CUDA and only officially supports a small subset of Linux distributions.
|
|
<a href="/posts/week-6/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-5/">Week 5</a>
|
|
</h2>
|
|
|
|
<h5>March 6, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>Starting to write a CNN # This week I started to implement what I had learnt about CNNs in Week 4. At this point I hadn’t designed a CNN architecture to implement, instead I wanted to have a running model regardless of performance just to see if I could implement one and understand it.
|
|
Half way through implementation, I decided to look back at the existing research papers on judging aesthetic judgement to see which aspects of their system and CNN were important to the task.
|
|
<a href="/posts/week-5/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-4/">Week 4</a>
|
|
</h2>
|
|
|
|
<h5>February 27, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This week I did some research into how to build a CNN from scratch, including the different type of layers, loss functions, learning rates, epochs and other core concepts.12
|
|
I also set up and created this blog with Hugo to document my progress and setup Woodpecker CI to do continuous testing and integration.
|
|
deeplizard. “Convolutional Neural Networks (CNNs) explained.” (Dec. 9, 2017). Accessed: Feb. 22, 2022. [Online Video]. Available: https://youtube.
|
|
<a href="/posts/week-4/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-3/">Week 3</a>
|
|
</h2>
|
|
|
|
<h5>February 20, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>Filming footage # At the start of the week I went into town to film some practise footage to work with later (up until this point I had been experimenting with footage limited by my bedroom walls). I took some basic vertical and horizontal footage of the town - no nature or breach footage yet.
|
|
Gaining more useful information # I used the footage I had recorded at the start of the week and revised my “filesize” code.
|
|
<a href="/posts/week-3/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-2/">Week 2</a>
|
|
</h2>
|
|
|
|
<h5>February 13, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This week I set up my repositories and starting writing some basic code.
|
|
Set up # Before starting any coding, I wanted to set up my remote git repositories. I had already decided I wanted the project mirrored over two remote git repositories from different providers as a safety precaution. My intial plan was to use the university’s GitLab instance but as it’s recently been moved behind the firewall it would have made mirroring quite difficult.
|
|
<a href="/posts/week-2/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
<article class="markdown book-post">
|
|
<h2>
|
|
<a href="/posts/week-1/">Week 1</a>
|
|
</h2>
|
|
|
|
<h5>February 6, 2022</h5>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>This week is the first week of the project. I researched academic papers, existing code and dataset relating to the topic of determining aesthetics.
|
|
Papers # Photo Aesthetics Analysis via DCNN Feature Encoding1 - Predicting aesthetic performance using a bespoke CNN solution
|
|
AVA: A large-scale database for aesthetic visual analysis2 - Making of an aestehtic visual analysis dataset
|
|
Code # Image Quality Assessment - Convolutional Neural Networks to predict the aesthetic and technical quality of images.
|
|
<a href="/posts/week-1/">...</a>
|
|
|
|
</p>
|
|
</article>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<footer class="book-footer">
|
|
|
|
<div class="flex flex-wrap justify-between">
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</footer>
|
|
|
|
|
|
|
|
|
|
|
|
<label for="menu-control" class="hidden book-menu-overlay"></label>
|
|
</div>
|
|
|
|
|
|
<aside class="book-toc">
|
|
<div class="book-toc-content">
|
|
|
|
<nav>
|
|
<ul>
|
|
|
|
|
|
<li class="book-section-flat">
|
|
<strong>Categories</strong>
|
|
<ul>
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
|
|
<li class="book-section-flat">
|
|
<strong>Tags</strong>
|
|
<ul>
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
</aside>
|
|
|
|
</main>
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|