Week 2 – Summary

The aim for the week was to solve the issue with the classification convolution mode that was not working and to getting the training working.

The reason why the fastest convolution was not working is due to SSE instruction set not being enabled. Which is an extended instruction set created by Intel to improve performance for processing in games and graphics., To resolved this ended up changing one of the Matlab compile scripts to pass a flag to the compiler to enable it.

When the convolution was working the demo script provided was adapted to test the speed of the classifier which yielded the following results on a Intel(R) Core(TM)2 CPU 6300 @ 1.86 GHz with 4 GB of Ram, With Ubuntu 12.04:

 

Multithreaded convolution using SSE

car_final: 10.95 seconds.

inriaperson_final: 4.99 seconds.

bicycle_final: 8.27 seconds.

Average: 8.03 seconds

 

Multithreaded convolution using blas

car_final: 14.36 seconds

inriaperson_final: 6.13 seconds

bicycle_final: 11.13 seconds

Average: 10.54 seconds

Mulththreaded convolution without blas

car_final: 26.55 seconds

inriaperson_final: 9.79 seconds

bicycle_final: 20.70 seconds

Average: 19.01 seconds

Convolution using blas

car_final: 19.70 seconds

inriaperson_final: 7.95 seconds

bicycle_final: 5.62 seconds

Average: 11.09 seconds

Basic convolution, very compatible

car_final: 42.89 seconds.

inriaperson_final: 15.44 seconds.

bicycle_final: 3.37 seconds

Average: 20.56 seconds

The results are far from fast however this is not necessary important as the algorithm been used was never designed to run anyway near real-time.

Getting the training part of the system to work was another story and though my understanding of it has gowned, I have yet to manage to get it actually working. I think as this point I am just having a problem with the paths to the files I wish to train.

 

The first few days….

The idea of this project is to be able to detect cats, birds and other animals in images. Hopefully concluding with a generic adaptable algorithm capable of being retrained to detect other objects which can be deployed in other ongoing projects.

The majority of time thus far has been spent on reading and understanding the relevant publications to this project by Pedro Felzenszwalb. Which look at the use of deformable part models to recognise objects in images, which tackles the problem with differences in appearance between objects.

In addition to reading the MatLab code was downloaded and I have been slowly exploring and attempting to understand it, Though its quite vast, I have been able to use the compile script after setting convolution mode (To which 4 modes out of five work out of the box on Ubuntu 12.04) as well as processing an image.

Though their is still a lot more to understand in coming days and weeks, I believe this to be solid start and I will continue to update this blog as this project develops.