Summer Scholarship Programme
Project Proposal

Project Title

MOCHA - Real World Machine Vision

Project Proposer(s)

neil (Supervisor: neil)

Date of proposal

2001/02/09 11:51:50

Project Details

The aim of this project is to utilise cheap imaging hardware to produce a simple machine vision system using Java.

Nowadays, a cheap framegrabber card costs about 100 pounds (home) or 300 pounds (industrial). Cheap auto-exposure cameras can be bought for about 30 pounds (home), 100 pounds (industrial). Webcams can even be used to cheaply capture images in standard formats. This opens up many possiblities in the world of commodity machine vision.

Java has now found its feet as a language for producing graphical applications. The new Java Advanced Imaging (JAI) and Java Image I/O API's should allow the creation of image processing applications using a simple modular approach. However, as yet, most major machine vision companies do not support Java (only C++).

The initial part of this project will be to become familiar with Machine Vision and Image Processing techniques, including hardware setup and software processing, and to capture some sample images (e.g. static images of the EPCC coffee machine).

The second part of the project will be to design and develop a Minimal Optical Coffee Height Analysis (MOCHA) system to detect a simple feature in the images: the line representing the level of coffee in the pot. This can done using a handful of existing algorithms, the challenge here will be to design the software in such a way as to make it easy to reuse components.

If time and resources permit, there are a number of interesting extensions that could be added:

This project will hopefully demonstrate that Java, combined with cheap image capture systems, can be successfully used to produce working machine vision systems.

Work Plan

Week 1 Courses
Week 2 Capture images, try applications
Week 3 Design of processing software
Week 4-6 Implement processing software
Week 7-8 Try out extensions to project
Week 9 Continue extensions, prepare talk and report
Week 10 Finish report and poster

Computing Skills Required

A basic knowledge of Java is required, preferably with an interest or experience in image processing.

Essential: Java
Preferred: Java Advanced Imaging, Digital Analysis / Machine Vision, basic knowledge of C or C++ for hardware drivers

Training Required

EPCC Courses:

Useful: Practical Software Development, Scientific Visualisation
Interesting: Introduction to High Performance Computing

Computing Resources

References / Further Reading

Webpage maintained by mario@epcc.ed.ac.uk