Denoising Images using Neural Networks

I’ve spent the last couple of years delving into a Masters Degree in Artificial Intelligence in which we learned about a wide range of fascinating AI related topics.

My final Thesis focused on denoising in computer vision. I aim to add a tutorial overview of this and other AI topics at some stage. But in the meantime, here’s my arXiv paper on the topic.

Here’s the blurb: A flexible discriminative image denoiser is introduced in which multi-task learning methods are applied to a densoising FCN based on U-Net. The activations of the U-Net model are modified by affine transforms that are a learned function of conditioning inputs. The learning procedure for multiple noise types and levels involves applying a distribution of noise parameters during training to the conditioning inputs, with the same noise parameters applied to a noise generating layer at the input (similar to the approach taken in a denoising autoencoder). It is shown that this flexible denoising model achieves state of the art performance on images corrupted with Gaussian and Poisson noise. It has also been shown that this conditional training method can generalise a fixed noise level U-Net denoiser to a variety of noise levels.

You can find it here:

Arduino Guitar Tuner

A while ago I wrote an article on Reliable Frequency Detection Using DSP Techniques.

I mentioned at the time that this is an ideal basis for designing your own Arduino based guitar tuner. In real life, musical intruments can have strong harmonic contents, and you want to detect the fundamental frequency. Time based techniques that measure the time between periods don’t do that very well. The advantage of using an autocorrelation based frequency detection method is robustenss against noise and the overall harmonic content  of the signal.

So, having got a few questions about how you’d make a guitar tuner. I’ve published a tutorial on that here:


STEM Education in the Community and Tech Cards

I’ve been involved in voluntary STEM education in the community through Coderdojo on and off for about 4 years, (more off than on recently though), and projects on Instructables (with over 750,000 views).

Over that time, I’ve seen how kids engage and disengage, how they learn, and how they get  frustrated. I’d like to share some of those thoughts here.

Continue reading “STEM Education in the Community and Tech Cards”