# Seeing and believing

## Tuesday, 20 September 2016

## Tuesday, 2 August 2016

### Particles explained using Gifs!!

Particles, just like most existing algorithms in computer science, are inspired by nature. Have you ever seen a beam of sunlight coming through a window and illuminate a bunch of floating particles (impossible in London though I have seen it before)? When you see these tiny particles, you notice that they are suspended in air and that it's very difficult to predict their motion unless you disturb the surrounding air. This simple concept is vital for many computer algorithms that model motion/dynamics of an object.

Particles, along with their randomness, can be simulated inside a computer program. The simplest of such algorithm is called Random Walk, where a particle is modelled with its current position/state alone and a random displacement/jump determines its next position in time. Here I have shown one Random Walk particle:

A Single Random Walk Particle |

## Monday, 6 June 2016

### Expectation Maximization for Gaussian Mixture Model in OpenCV

I recently wrote code for Gaussian Mixture Model (GMM) based clustering in C++. As always, I found it much convenient to use OpenCV for manipulating matrices. Although there already exist an implementation of Expectation Maximization-based GMM, I tried to understand it by writing my own implementation.

The basic idea of GMM is to first randomly assign each sample to a cluster. This provides initial mixture model for clustering. This is then optimized using

The basic idea of GMM is to first randomly assign each sample to a cluster. This provides initial mixture model for clustering. This is then optimized using

**E**xpectation - or the probability/score of assigning each sample to each component in GMM - and**M**aximization - or updating the characteristics of each mixture component with the given probability/score . An attractive attribute of GMM is its ability to cluster data that does not have clear boundaries for clusters. This is achieved by having a probability/score for each sample from each cluster component.## Tuesday, 17 May 2016

### A Random Walk

It is fascinating to see the use of the word 'random' and its resemblance to one of the most basic ingredients in some computer algorithms. One may ask what is it that makes something random?

- "So you just made a

- "Students were

- "He figured out that he still had an hour to his departure, so he went for a

- "So you just made a

**random**deal?"- "Students were

**randomly**chosen to take part in a drama."- "He figured out that he still had an hour to his departure, so he went for a

**random**walk."## Monday, 9 May 2016

### Matlab script for checking and deleting folders

Just putting this simple but extremely useful matlab script for my future self and anyone trying to handle folders using matlab. This script checks all the sub directory within the starting directory and then deletes the one that do not satisfy a given criteria. In my case this was the number of image samples within a folder.

% script for deleting folders with less than a certain number of files close all clear all clc % count the number of png files D = dir(' '); numFoldersOrFiles = size(D, 1); thresholdFiles = 30; % skipping the first two which are just . and .. for i = 3: numFoldersOrFiles if D(i).isdir Ds = dir([D(i).name '\*.png']); numFiles = size(Ds, 1) / 3; if numFiles < thresholdFiles rmdir(D(i).name, 's'); end end end % all done :)

Labels:
code,
matlab,
Simple Tweaks,
Windows

Subscribe to:
Posts (Atom)