VXL library

January 3rd, 2012

VXL library
A library I stumbled upon on the net..
Seems pretty handy , although I wont be using it..
I have kind of implemented my own computer vision library and I am satisfied with OpenCV for the few calls of it I use..!


Introduction: What is VXL?
VXL (the Vision-something-Libraries) is a collection of C++ libraries designed for computer vision research and implementation. It was created from TargetJr and the IUE with the aim of making a light, fast and consistent system. VXL is written in ANSI/ISO C++ and is designed to be portable over many platforms. The core libraries in VXL are:

vnl (numerics): Numerical containers and algorithms. e.g. matrices, vectors, decompositions, optimisers.
vil (imaging): Loading, saving and manipulating images in many common file formats, including very large images.
vgl (geometry): Geometry for points, curves and other elementary objects in 1, 2 or 3 dimensions.
vsl (streaming I/O), vbl (basic templates), vul (utilities): Miscellaneous platform-independent functionality.

As well as the core libraries, there are libraries covering numerical algorithms, image processing, co-ordinate systems, camera geometry, stereo, video manipulation, structure recovery from motion, probability modelling, GUI design, classification, robust estimation, feature tracking, topology, structure manipulation, 3d imaging, and much more.

Each core library is lightweight, and can be used without reference to the other core libraries. Similarly, the non-core libraries don’t depend on more than absolutely necessary, so you can compile and link just the libraries you really need.

For a more detailed description of the libraries see the VXL book.

VXL is developed and used by an international team from academia and industry, including some of the world’s leading computer vision experts.

SSE Optimizations..!

December 28th, 2011

While I continue documenting the progress of the project direct comparison of my code with other algorithm implementations reveals some interesting optimizations that can be squeezed in..!

Apart from a low complexity algorithm , implementation has also a crucial importance. For example in libElas SSE optimizations boost its performance considerably on many operations that happen many thousand times every second..

A nice blog describing the rough ideas for some of these optimizations is http://supercomputingblog.com/ and in particular these parts talk about image processing optimizations , ( the parts that interest me the most ) :

Although the Intel Development manual is huge I will gradually try to add some support for the improved instruction sets to improve performance .. I will also keep the default cpu agnostic implementations for a possible switch to an ARM cpu in the future :P

Speaking of ARM I was also delighted to hear about the Raspberry Pi finishing the final stages of development and entering mass production..!


It features an 700Mhz ARM Cpu , ethernet 256MB Ram and 2 USB ports for $35..!
I am definitely buying 4 of them , one to replace my web server , one in order to carry a computer with me :P everywhere i go , and two to test out a parallel rig for guarddog..
GuarddoG uses a Celeron 220 CPU @ 1.2 Ghz anyway so there wont be much of a performance hit , and it will drastically reduce power consumption and remove psu’s and other things from the design !

Raspberries , Arduinos and RepRaps are game changing developments of technology in my opinion! :)
I am really looking forward to January and I hope that I get my hands on one!! :D

One last thing that caught my eye is the Sony 3D OLED Headset - HMZ-T1

Although I must admit that I despise SONY for many reasons ( killing Linux on the PS3 , controlling both the creation of movies , music , media AND the technologies that play them AND the end user devices market and thus being a particularly nasty company..
This kind of display technology seems very nice since it will deliver 3D the way humans are designed to see it i.e. binocular vision :P

The cost is very high for now at $700 but I hope it catches on and I guess it will because for a family of 4 instead of a 50″ monitor that costs $1500 there is a profit margin for $700 x 4 = $2800 and this exactly the kind of profit that companies would like.. Not to mention how less than a 50″ screen it will cost for transporting such a device all the way from China or even produce one..

Setting the scale for slam operations..!

December 11th, 2011

I am setting the scale for the data which is input on the OpenGL visualization and 3d point cloud in guarddog`s memory..
So I have been making measurments using a yellow rubber duck a ruler and a meter tape :)

The result is this Curve ..
Disparity Map Scale for 2 PS3 Eyes positioned parallel with a 6.5cm distance

which ideally should be something like this
Ideal Disparity Map Scale

Disparity Map Scale Rig

Disparity Map Scale Rig

Disparity Map Scale Rig

Disparity Map Scale Rig

NAVI -- Navigational Aids for the Visually Impaired

December 7th, 2011

Data-driven Visual Similarity for Cross-domain Image Matching (SIGGRAPH Asia, 2011)

December 7th, 2011

A low cost 3D laser scanner (LIDAR) project

December 2nd, 2011

DIY Lidar

A low cost 3D laser scanner (LIDAR) project made by RoboPeak team member : Shikai Chen.


Eu Robotics Week Talk!

December 2nd, 2011

AmmarkoV EU Week Talk Screenshot

I am just back from the talk hosted @ AUEB today ..

It wasn`t very successful since guarddog had cabling issues again , and power supply was cut when the platform moved rapidly , ruining the live demo.. ( I have to go over all the cabling again to find what exactly is the reason for this behaviour )

The presentation slides are here 6MB low resolution , 161 slides , the full resolution better topic coverage slides ( 190+ ) are hosted on github

I also have a part of the presentation recorded on camera , before the space run out but it is almost 4GB ( FULL HD ) so it needs a lot of processing to be uploaded and easily stream able..

Thanks to everyone that attended the event , and I hope ( if they return for more info here ) that they will find this site interesting and useful .