Homepage of Jakob Kirkegaard
university projects

Pose Estimation of Randomly Organized Stator Housings using Structured Light and Harmonic Shape Contexts - CVG10 - Spring 2005
Abstract Billede fra CVG10 This project deals with the development of a computer vision system for handling an instance of the bin picking problem. The system performs pose estimation of randomly organized stator housings with a known CAD model based on 3-D reconstruction of the bin surface.

The implemented systems utilizes a structured light system based on temporally encoded binary stripes for reconstructing a tessellated point cloud describing the bin surface. The reconstructed surface is processed by diffusion based smoothing and curvature based segmentation following which surface descriptors are extracted in the form of harmonic shape context, i.e. the spherical harmonic encoding of a point-based 3-D histogram. Based on correlation between harmonic shape contexts from the model base and the scene an association graph is constructed. The search for the largest set of mutually compatible matches are approached by simulated annealing. The final pose estimation is determined by solving the orthogonal Procrustes problem for the determined point matches.

Tests on the OpenGL and OpenCV based C++ implementation showed that the method was able to register simulated meshes, however, with large deteriorations given especially quantization noise. Moreover, the method was able to successfully perform pose estimation in a noise free simulated cluttered scene. The primary outcome was that the proposed method is able to perform pose estimation of randomly organized stator housing, but more consideration is needed with respect to robustly handling noise.
Keywords 3D surface reconstruction, filtering, segmentation, structured light, pose estimation, 3D feature extraction, graph-based optimization and sensitivity analysis.
Download Download report (in english)

Pose Estimation of Randomly Organised Stator Housings with Circular Features - CVG9 - Fall 2004
Abstract Billede fra CVG9 This project deals with the development of a computer vision system for handling an instance of the bin picking problem. The system performs pose estimation of randomly organised stator housings containing circular features with a known CAD model.

The implemented system obtains 3-D information through a binocular stereo setup. The individual stereo images are processed by a Canny edge detector followed by an edge segmentation and a least squares ellipse detection. The detected ellipses in each image are subject to a monocular pose estimation technique estimating two possible circular pose candidates for each ellipse. The correct pose candidates are determined by performing a matching between the circle pose candidates in each stereo image. The matching is done via an association graph search locating the maximally weighted clique through the use of simulated annealing. The final pose candidates are verified by back projection in a distance transformed edge image.

System tests justified the choice of the circular feature due to the presence of detectable stator housings per bin configuration. Tests on simulated data showed acceptable error measures both for position and orientation estimation. The final conclusion was that the implemented method could form a useful part, handling certain pose situations, in a final bin picking system.
Keywords Image analysis, computer vision, camera calibration, pose estimation, ellipse fitting, stereo matching, simulated annealing, sensitivity analysis.
Download Download report (in english)

Image Analysis of Ecotoxicological Experiments - CVG8 - Spring 2004
Abstract Billede fra CVG8 This project deals with the development of an image analysis system for automatic identification and counting of insects in ecotoxicological experiments.

Methods are analysed for preprocessing and segmentation of images obtained from an ecotoxicological experiment. The preprocessing locates the region of interest based on histogram analysis, while the segmentation separates the insects from the background through the use of optimal thresholding. Afterwards features are extracted from the located objects, after which clusters of insects are separated using morphological methods and Hough transformation. Finally the located objects are classified using unsupervised fuzzy c-means clustering.

The system has been implemented in Java by use of the image processing framework ImageJ, which through being open source and extendable forms a good platform for further development.

The project succeeded in identifying and grouping the insects from a number of test images obtained in a controlled environment. The overall summary of tests performed on each of the modu\-les showed that the system was capable of solving the given problem. Further investigations and tests are however necessary before the system can be used in a real ecotoxicological laboratory.
Keywords Image analysis, enhancement and segmentation, feature extraction, clustering techniques, ellipse detection, Hough transformation, ImageJ, Java programming.
Download Download report (in english)
Virtual Sculpting - F7S - Fall 2003
Abstract Billede fra F7S In this project the linked volumes representation model for deformable objects is chosen according to the demanded functionality. The model proves to be proper for visualization with an acceptable frame rate even when applying the push/pull, cut, carve, join, and deletion deformation tools. Furthermore two surface rendering algorithms, Marching cubes and Squareulation have been applied to the model.

Existing representation models are analyzed according to the demanded functionality, whereby complexity and flexibility for deformation is identified. Surface rendering algorithms are analyzed and Marching cubes will be redesigned to fit to the chosen representation model. The other surface rendering algorithm, squareulation, will be designed with the purpose of creating a simplified and effective rendering. The selected tools are analyzed and designed with effectiveness and ease of use in mind.

The representation model, the two surface rendering algorithms, and the push/push, cut, and carve deformation tools have been implemented in objective C++ with the use of OpenGL.
Keywords OpenGL programming, modeling of deformable objects, computer graphics, surface rendering techniques, C++ programming.
Download Download report (in english)

The MTIDD Firewall language - F6S - Spring 2003
Abstract Billede fra F6S In this project a package filter specification language is developed. Furthermore a compiler for translating the filter specifications into Multi Terminal Interval Decision Diagrams (MTIDD) is designed and implemented.

Existing firewall specification languages are analyzed, whereby problems concerning scalability, testability and effectivness are identified. Based on the analysis a new specification language is defined.

Furthermore a compiler is designed and implemented, which based on filters specified in the designed language, is able to generate MTIDDs. These are easy to optimize, allow offline testing and reduces the complexity of the package filtering algorithm from linear in the amount of filter rules to a constant value.

The compiler is implemented in OCaml without the use of lexer and parser tools. The parts designed and implemented are a lexer, a recursive-descent parser, which generates an abstract syntax tree, a semantic analyzer which validates types and scope, and a codegenerator, which generates the MTIDD representation, described in an XML file.
During the project, a useful firewall specification language is designed and an operational compiler, which is able to generate MTIDDs, is created.
Keywords Design of programming languages, compiler construction, firewalls, networking, Ocaml programming.
Download Download report (in danish)

Helicopter Control - PR6 - Spring 2002
Abstract Billede fra PR6 During this project a mathematical model describing a multi-input multi-output model helicopter is derived using Lagranges method. The model is simulated and verified in MatLab and afterwards simplified, to be used for feedback controller designs. A classical controller and a state space controller are constructed and tested in SimuLink, discretized and implemented in C++. The final aim of the project is to indicate differences, weaknesses and strenghts between the classical controller and the state space controller, using both a static reference and joystick generated dynamical references. The conclusion of the report is that the state space controller designed using LQR and integrator is very robust, where the cascade coupled classical controller is faster, but not as damped.
Keywords Process control, classical PID control, statespace control, modelling of mechanical/electrical systems, simulation, parameter estimation.
Download Download report (in danish)

Robot race - E5 - Fall 2001
Abstract Billede fra E5 A complete autonomous video controlled LEGO robot regulation system was made during this project. The purpose was to collect plastic cups from within a limited area - in competition with a similar robot. The system is divided in three stages:

Image server. A Silicon Graphics computer determines cup and robot positions through a video camera and sends these data over a UDP/IP network.

Client. An Intel based computer calculates which cups are priority targets, based on distance and movement of the other robot. Control data are sent to a radio communication server via a TCP/IP network.

Robot. A constructed microcontroller system handles the received data and controls the propulsion dc-motors and a cup grabbing mechanism.
Keywords System construction, Java and C++ programming, UML software design, image analysis, realtime systems, linux network programming, linux parallel processing, TCP/IP and UDP/IP communication, EMC, electrical machines
Download Download report (in danish)

Wireless communication using PIC MCU - E4 - Spring 2001
Abstract Billede fra E4 The aim of this project is to perform an analysis and synthesis of a microcontroller system based on the PIC architecture. The microcontroller systems communicate bidirectionally through a radiolink, and is thereby implementing a master/slave remote control system between the user and the car. The starting point of the project is to examine advantages of bidirectional communication in preference to normal one way communication. The remotecontrol is equipped with a user interface, which implements the possibilty of collecting data gathered in the car. Among these is informations concerning the temperature, state of the fuel tank and state of the locks. This report contains the construction of the wireless communication system with an integrated protocol, a description of the PIC systems and the units attached to the systems. Furthermore the report contains an examination of the Seiko L1614 character display, Dallas DS1621 thermometer probe, the I2C protocol, the A/D converter based on the capacitor structure, together with error correcting codes.
Keywords Microprocessor systems, C and Assembler programming, computer architechture, wireless communication, error correcting codes.
Download Download report (in danish)

HiFi amplifier - E3 - Fall 2000
Abstract Billede fra E3 The aim of this project is to design, implement and test a HiFi amplifier, which meets the german DIN 45500. The amplifier is assembled of discrete units, which consists of volume control, pitch control and a power amplifier. These units all together define af complete HiFi amplifier. The conclusive tests states that the requirement of DIN 4550 are all met.
Keywords Analog and digital electronics, electric circuit analysis, time and frequency analysis of continuous linear systems, basic feedback theory
Download Download report (in danish)