Break through! …Sort of

Well, about Wednesday night I was looking at the output of one of the sift annotated images from my vision system and I finally snapped. It just looked wrong. It had been bothering me for a while that it didn’t seem to be selecting very interesting features and taking an unreasonable amount of interest in the bedroom wall, so I broke out the example binary provided by Professor Lowe himself (the inventor of the SIFT algorithm) for comparison.

As I suspected running the two SIFT implementations against identical images yielded completely different results. Lowe’s implementation finding many more and far more interesting features than the version I had been using for months.

This discovery was simultaneously bad and good news. Bad in that it meant I had a bunch of work to do, but good in that I had finally discovered the source of all my frustration.

My new plan of attack has been to write a bunch of C# code to invoke Lowe’s binary out of process and parse the resulting key file back into my program. It’s all a bit messy really but this whole project is still just a proof of concept so I’m not too stressed about performance at the moment. There is no doubt in my mind at all that C# is magnitudes slower than C for this sort of work, but development time is significantly less and for a prototype that’s what matters.

I still have a bunch of work to do before I fully understand stereo vision and the associated camera calibration requirements but I am getting there.

Trying to find the motivation…

It’s been ages since I did any work on my vision project and I find myself struggling to find the motivation. I have been stuck on a tricky problem for a while now and I think I need a breakthrough to get some interest back. The problem is that the calculations I am using to calculate the real world 3d coordinates of features are giving completely nonsensical answers. I am having trouble establishing whether the formulas I am using are wrong, or if the feature matching isn’t working properly and I am trying to work out pose information for a bad stereo feature match…

If only I could find a site on the web somewhere that had a definitive discussion of calculating real world 3d coordinates from stereo images that would at least help discount the first option.

Back from holiday and Go NASA!

Well, I have just returned from the most fantastic holiday in the Scottish highlands. If anyone is thinking of heading up there and doing a tour I can definitely recommend MacBackpackers and if you can get on a tour lead by Colin even better! I will try an get photos up on
https://www.jamesfitzsimons.com as soon as possible.

I have been following the Discovery return to flight mission with great interest. I have always been a bit of a space nut, but this mission really caught my attention partly because of the test flight nature of it I guess. I think NASA are absolutely fantastic and don’t get anywhere near the recognition or funding the deserve in spite of the rubbish the media would have you believe. To prove a point, here are a few interesting figures I found with a quick bit of googling:

2005 NASA budget $16.2 billion
2005 military budget $400.1 billion
Cost (to US) of war in Iraq $314 billion
US GDP 2005 $11,750 billion

So, NASA gets 0.14 % of the US GDP or put another way, 4% of what the US spends on it’s military.

Pretty sad.

It’s been a while

So it’s been a while since I posted. I’ve been pretty busy with life and work over the last few weeks. A lot has happened since the bombings here in London, but I still find myself thinking about them alot.

We had a great weekend in the sunshine last weekend. London put on a great day on Saturday and we had an awesome picnic in Battersea park as a bit of a farewell to a couple of our housemates who are moving on.

I’ve been busy hacking too. I have been working on some new functionality for MonoDevelop and hope to get that incorporated into the next release. I have more ideas but lack the time. You can see some of the efforts of my recent hacking in this picture. The drop down on the left above the source window displays all the classes in the current file, the expanded drop down on the right displays all the members, properties and methods. Selecting one of these will jump you to the appropriate location in source.

I’m also hoping to get some time to get back to hacking on my vision project which I have neglected for far to long now.

Website updated!

It would appear hell must have frozen over because I have finally managed to update www.jamesfitzsimons.com with our last few trips worth of travel photos!

While I was at it I decided to pretty it up a little bit, and add slightly more functionality around viewing the photos. I also tried reducing the size and quality of the “large” versions of the photos in an effort to get the pages a little lighter for those on slow connections. It’s still not flash but it works ๐Ÿ˜‰

Any comments or suggestions let me know!

Cause I’m impatient

I thought I’d post a few links to some panoramic photos I have made of our trip to Seville. I haven’t had the time to update the traveling section on www.jamesfitzsimons.com yet, so these are just a bit of a teaser.

I’m actually pretty impressed by how well these panoramas turned out. There are some bad color matches which are due to the source photos being taken in automatic mode on our camera. I have since learned you need to take the source photos in manual mode so you can get consistent lighting across all the images. I had to manually re-color them for these panoramas so that’s why they aren’t matched very well.

Anyway, here they are (click on the image below for the full size version)

It’s the debugging that’s the killer

I’ve tons of fun over the last few days trying to debug my vision system. To be fair I haven’t really spent that much time on it yet, but it is a fairly complicated system and trying to guess which features in the image the computer is interested in and why is a bit of a challenge. To make things easier I have been trying to annotate the images as the feature detection process runs and save them to disk so I can analyse them later. It’s required the wrapping of more functionality of the opencv library so yet more fun with marshalling and P/Invoke!

The other thing that maybe complicating matters is that I’m not sure how well the SIFT detection works in low light conditions and since I do all my hacking in the evening…

Maybe a bit of dedicated hacking this weekend will help.

In other news I am off to see Billy Corgan tomorrow night so am getting really amped for that!

Adiรณs Gentoo… Hello Ubuntu!

Well, I my computers are now a gentoo free zone. I had an epiphany of sorts a week or two ago when I did an emerge sync and saw a million updates (amongst which was kde for about the billionth time in only a few weeks) and I found myself letting out a rather large sigh. I suddenly realised I was spending far longer on administrative tasks on my computer than I was actually using them! This could not go on, it was time for action and so I decided to try out a new distro with a binary update mechanism – no more compiling everything from source for me!

I looked at Novel Linux Desktop, and if it hadn’t been for the 50USD price tag I would have tried it, but instead I decided to give Ubuntu a go. I thought I would try installing the new distro on my laptop first, as the laptop install is the acid test of any distro, and I didn’t want to nuke my desktop (my primary machine) until I was really sure about my choice.

While trying to backup my gentoo install for my laptop I accidentally deleted /etc …well no going back now! I stuck in the Ubuntu cd and in about 1/2 an hour I had a beautiful new ubuntu/gnome desktop. Within one evening of use I realised I had to make the upgrade to my desktop as soon as possible.

The upgrade to my desktop went pretty smoothly. I was trying to be too smart for my own good to start off with, fearing that because of my complicated software RAID setup the installer wouldn’t cope, but after messing round for a couple of hours I finally gave up and in frustration just stuck the install cd in and the ubuntu installer sailed through, auto detecting all my RAID partitions correctly and the install was very straight forward.

I can’t recommend Ubuntu enough. Everything just works, installing new software is a snap, and most ironically of all even when packages aren’t available installing software from source seems to be less problematic than Gentoo!

Don’t get me wrong now. I’m not bashing Gentoo here. I like that distro, and have learnt so much about linux in the last couple of years while using it, but now I am basking in the happy glow that my ubuntu is giving me and I won’t be looking back!

Website updates

Just uploaded a bunch of updates to www.jamesfitzsimons.com tonight. There are a few new travelling pages including our trips to Wales, Oxford and Oslo. I will be putting up our Prague photos soon (once I label them!) and will no doubt be taking a bunch of pics this weekend in Seville so keep an eye out for more updates in the near future.