ICT333 Information Technology Project

Back

Task

This unit represented the end of my degree conceptually it is meant to be the hardest unit in the degree and the most involved. We were required to estimate an ellipse from a series of pixel coordinates on a 2D image the images represent poor quality photos where the eye was at an indistinct angle and so do not have complete data most of the time although each image is different and some are easier to estimate than others.

Personal Requirements

This was a five person group based unit.
Although we had a large and diverse group I ended up being the lead programmer, lead researcher and did about 1/4 of the documentation which was extensive, I was also the main contact between supervisor and client.

How it went

We had many client meetings to discuss the project as well as supervisor and group meetings throughout the duration of the project.
In the end we decided to use a Randomized Hough Transform algorithm to estimate the position of the ellipse within the image and a client provided function to output the new ellipse after processing was complete. The program was a simple console interface allowing menu selections to be made through the keyboard shortcuts and each step of the process was customizable to the users requirements such as how randomized the function was and the specifics of the Hough transform algorithm.

This is a series of points on the 2D image plane that correspond to points detected from the image by the clients software, these points are all the data we had to work with to estimate the correct ellipse from. Often this data was to incomplete to estimate from and our program was required to detect and report this when necessary. This is the true image photographed by the client from which points are generated. There are approximately 400 each image of the true eye and the resulting text file of points found in it by the client in the example set given to us by the client.
This before image shows exactly what the points are in the text file as you can plainly see the eye image is not very clear and hard for normal software to predict. We believed however that the randomized Hough Transform would be able to predict and extrapolate the actual eye position from this data set. This image shows the resulting ellipse estimation produced by our program as you can see it is quite a good and accurate estimation of the eyes position the irrelevant data has been ignored and the ellipse is in the correct position.


Problems Encountered

  • Lack of programming experience in team members
  • Lack of Confidence
  • Research Experience
  • Background

    Problems Resolved

  • Lack of programming experience was quite a shock as i was the most confidant and experienced programmer in the group the other two programmers were quite out of thier element having only completed one serious programming unit to date. This was combated by me becoming the lead programmer and disemminating tasks out to the others that following discussions with them, I felt they could accomplish in a given timeframe.
  • Lack of Confidence in the other team members was quite a problem throughout the unit, during meetings where they wouldnt speak up unless addressed, during research where they were unsure of methods to find algorithmns or unwilling to promote techniques they eventually came across, during documentation where they were unable to make decisions and in all other areas of the project with few exceptions.
  • We were not a particularly well thought out group, we did not have any maths background people which would have been a great boon, None of the group were used to reaseaching for algorithms.
  • Conclusion

    If I did this project again i would use a similar approach but a much more optimized algorithm and preferably team members who could contribute more towards research and implementation. On reflection this program could have been much better although the time constraints were considerable.
    We did recieve a HD for the unit in the end which was a considerable achievement.