Archive for Computing

SoC Gossip Closure

While a very useful site for Leeds School of Computing students when I was engaged there, SoC Gossip has now fallen into a state where it is no longer updated and thus is of little or no use to current or even past students.

I and others enjoyed blogging about our time in the school on a dedicated site, especially the academic postings from our final year projects but now that we have left and are no longer actively contributing and no others have stepped up and asked if they can do so, I think the time has come to close the site to the public.

I of course extend my thanks to those who have contributed to the site in the past and would also like to offer any current student of the school the opportunity to take over the site if they wish to maintain a SoC blog – please get in touch with me.

If no one steps up to the plate in the next couple of weeks however, I will be closing the site and allowing the domain to lapse. This will prevent new students from finding the site and thinking it’s something that will be updated while they are studying at the school.

Comments off    

Degree Classification

1st

Comments (9)    

Final Year Project Results

I collected my final year project result today. The project was based on the reading and recognition of roadsigns, for those of you who have forgotten (apologies for the lack of updates on the roadsigns blog).

I’m pleased to announce that I got a grade of 71 which equates to a first.

Obviously I’m very pleased with this result and it really has made the hard work worthwhile. It was far from a trivial project and presented some interesting challenges and learning experiences, but I feel the work will stand me in good stead for the future.

All this means that I’m now a mere two weeks away from getting my final degree grade and completing my time as a student of Leeds University School of Computing. Time certainly does fly.

Comments (2)    

Nick Rickrolled

It was Nick’s last lecture, it was the last SY32 lecture, it was our last lecture. We had to do something to make the event memorable and fun. We plotted and schemed a little bit and decided that we would Rickroll Nick during the lecture. Chris and I arrived 30 minutes early and setup a laptop computer and speakers under the lectern and concealed them with an old poster we found lying about. We had previously configured a scheduled task on the laptop that we configured to play “Never Going to Give You Up” at half past the hour.

Once everything was setup and the lecture theatre once again appeared normal we left, went to grabbed a coffee for 10 minutes and then came to the lecture like normal. Everything was going as it always does and then blam, 30 minutes in, the song started playing. Stunned silence for all of about 2 seconds, then a surprised look from Nick and hugh peals of laughter from the audience. It was priceless.

I would like to take this opportunity to thank Nick for being a great lecturer and personal tutor throughout my time at the School of Computing and say that quite simply, life wouldn’t have been the same in the school without him. He will doubtless be greatly missed by all students who are staying on.

Nick wrote about what it was like to be Rickrolled on his blog

Comments (1)    

Ongoing Experiments

Since coming back to university after the Christmas break and completing my January exams I’ve had plenty of time to continue my experimentation on the reading roadsigns project and thought I’d post a quick update on whats been going on.

Recently I’ve been running a number of experiments in Matlab using SIFT and attempting to get various roadsigns recognised by using a cropped training set for a particular sign and then matching it against keypoint descriptors found in a test image.

I’ve been gathering statistical data and dumping this out to a file for analysis and further work but I’ve also been generating match images for each roadsign tested against the most favorable image from the training set. To give people an idea with how this is progressing I include an example of a very successful result on a STOP sign below.

Good Result

Its not all rosy though and I’ve been given food for thought after my interim report and some failures of the SIFT algorithm in recognising certian signs.

In my initial experimentation with actual roadsigns I decided to go for a simple sign as this would be less likely to be susceptable to noise. This was in fact quite an unwise decision as SIFT works by finding particularly unique points and I had effectively removed the possiblity of it finding such points by using a simple sign. I include below a matches image for a No Entry sign.

No Entry Sign Result

As you can see, its actually quite noisy. This is a problem which got me thinking about how I can make the whole process more robust and forced me to return to some of my early research on object recognition.

If I can use SIFT as a pre-processor then I can identify signs quickly and easily that have many descriptors such as STOP signs and then use a more basic system such a a template or colour match to identify the simpler signs such as the No Entry sign. I could also do it the other way around and will need to perform tests to decide what the best order is.

I’m currently working on an idea that SIFT could be used to detect the presence of any sign (not which one it is, but where it is) and then further tests could perform the recognition. In addition I’m researching examples of where SIFT has been modified to be used in colour and also how best to display experimental results. I’m also in the process of writing code to fully automate my training and testing process in Matlab so I should be able to run batch jobs and get results and test theories quicker.

Watch this space for more updates – its all go!

Comments (2)    

Programming and sex

As I was browsing my news feeds this morning I stumbled accross a blog post that someone had linked to. Its a rather amusing article about which programming language gets you the most sex. If you’re a programmer I’m sure this will make you chuckle.

Comments (3)    

PHP $this

Recently an upgrade on my hosting server has been conducted, making a change from predominantly PHP4 (PHP5 available but not widely used) to predominantly PHP5 (PHP4 available but infrequently used). This has been prompted by the announcement by PHP developers that support for PHP4 will be discontinued at the end of the year.

I didn’t think there would be any issues with the migration as I have long been coding in a PHP5 compatible way, however after the move Halifax Online suffered a few issues. After much investigation I discovered that this was due to some deprecated code use within some functions in a party application which had been added to the site. This was easily fixed, but the issue its self is rather interesting.

It is common practice to store ephemeral data in loops and pass this data along to other loops or functions. While the actual variable name doesn’t matter so long as it is consistent, it makes sense to name it something which indicates that the data is for use only in situ and is ephemeral. The developer of the problematic application had used a variable named $this to perform this action.

Name wise this makes a lot of sense because it indicates quite clearly that the content of the variable is ephemeral and for use only in situ, especially with respect to functions. The problem is that $this is somewhat reserved under PHP5 and so while can be read from under ordinary circumstances, cannot be written to. This is because in an object orientated environment it is used to represent the current object in which a piece of code resides, and so changing it within this context has no meaning; changing attributes of it makes sense, but changing the whole thing (as the code was effectively doing by assigning it a value) is impossible. Can I demolish and rebuild my house while still inside it?

I just thought I’d share this little gem with folk who are trying to make their applications PHP5 compatible before the end of the year. It took me quite a while to find because I was looking primarily for deprecated function use, not variable use.

Comments off    

Ecstatic

I looked up my AI module marks this morning on SIS and found I had achieved 84% in the coursework. I had worked very hard on this piece because it fed into my final year project and so was delighted to have gained such a high mark. Upon reading news I noticed that the module leader had posted the highest and lowest marks and the corresponding average. The highest mark was 84%, the same as mine! This has given me a completely elated feeling, and it just goes to show that hard work and diligence really does pay off 🙂

Comments (1)    

In Use

It is interesting to note where the kind of research I am doing is ending up in the real world. This technology from Siemens highlights the presence of speed limit roadsigns to the driver and interfaces with the cruise control system. Pretty cool.

Siemens heads up road sign display

In the future, a system from Siemens that automatically recognizes speed limits on traffic signs will make driving even more comfortable — and help motorists to avoid speeding tickets. The system works with a camera in the car that scans the scene in front of the car for traffic signs and forwards the information to an onboard computer. With the help of the cruise control, the system then keeps the car within the speed limit. The risk of unintentionally driving too fast is particularly high when motorists are in unfamiliar surroundings or faced with road construction sites.

Part of a comprehensive network of driver assistance systems called pro-pilot being developed by the automotive supplier Siemens VDO, the traffic sign recognition system is scheduled to go into series production in about two years. Experts from Siemens have installed the system in a luxury class car, along with a host of additional assistance devices, including a lane recognition system, a night vision system and a parking guidance system. Several automakers have already tried out the test vehicle and expressed strong interest in the recognition system.

The system uses a CMOS camera installed near the rear-view mirror to continuously scan the road for traffic signs. The images are then compared with patterns of speed limit signs stored in the system’s memory. If the software discovers a speed limit, the system notifies the driver of this fact by showing the value in the speedometer or in a head-up display. If the cruise control is switched on, the car automatically decelerates to stay within the speed limit. The system also uses data supplied by a navigation system to determine if the vehicle is being driven on a highway or in a town or city. And because the navigation system also contains information on special traffic signs — including those that impose speed limits only at certain times — the recognition system can also react to such situations. The traffic sign recognition system so far is designed for use in new vehicles; its many components’ complicated networking today makes retrofitting too expensive. (IN 2006.10.4)

Comments off    

Linux Install Fest

On Friday 30th November, the School of Computing plays host to the CompSoc Linux install fest – a chance for new users of Linux to get a copy of the operating system on their own machine so they can use it at home and further their learning and enjoyment of the OS.

The event takes place at 2pm and goes on until the School closes at just after 5pm. During that time we hope to offer a full range of opportunities for attendees.

  • Have a Linux distribution of your choice installed on your machine
  • Dual boot setup with Windows will be supported
  • Talks on secure computing and Linux basics from staff and students
  • Linux experts available to answer all your Linux orientated questions
  • Demonstrations of a range of Linux and KDE/Gnome window manager features

There will of course be the usual trip to the pub after the event, and I’m hoping line up of things we are offering is going to persuade many people its worth coming along and giving Linux a try.

I’m proud to be doing my bit to spread the use of open source software and am looking forward to showing people that it really is easy to install and use Linux. Every since the day I first used Linux I’ve never looked back.

Comments (2)    

« Previous entries