Categories
BMI Data analysis Master OR semester project

OR@Heart: Torso and heart segmentation for ECG imaging

Student(s): Oskar Person, Yanik Dreiling, Justus Schwann, Ullaskrishnan Poikavila;
Supervisor(s): Dr. Pietro Bonizzi, Dr. Joel Karel, Matthijs Cluitmans;
Semester: 2015-2016;

Fig 1. – CT scans.

Problem statement and motivation:

Cardiovascular diseases (CVD), or irregularities in heart and related blood vessels, have led to nearly 17.5 million deaths in 2011 alone, and this number is increasing at a steady rate. This makes CVD the leading cause of deaths worldwide. A majority of these deaths could have been prevented by earlier detection of symptoms. Electrocardiogram Imaging (ECGI) is a technique that helps in quickly detecting the cardiac irregularities and expediting the diagnoses. Electrodes are placed on the torso to record cardiac electrical activity. But the skin and body mass in between the heart and torso dampens these currents leading to an incorrect visualization of cardiac motion. The reverse problem of ECGI tries to reconstruct the true cardiac electric activity using the observed currents on torso electrodes and geometric knowledge of the surfaces of heart and torso. Currently, the reconstruction of heart surface and segmentation of electrodes from the torso surface are done manually. This makes it both time and energy consuming and goes against the whole purpose of ECGI quickening cardiac diagnosis. The aim of this project was to automate the process of reconstructing heart and torso surfaces. CT Scans are taken of the patient with the electrodes on, and they represent the input to the automated segmentation and generation of torso and heart surface. The implemented algorithms try to segment out the electrode strips to help reconstruct the torso surface and also detects the edges to help visualize the heart surface. A GUI is also provided to help the user in running the algorithms. The group achieved successful automated segmentation of the body surface electrode strips, generation of a preliminary torso surface, and preliminary segmentation of the heart surface. Future work will be focused on making the torso model more realistic, improving segmentation of the heart surface, and generating the heart model.

Research questions/hypotheses:

The aim of this project was to automate the process of reconstructing heart and torso surfaces. CT Scans are taken of the patient with the electrodes on, and they represent the input to the automated segmentation and generation of torso and heart surface.

Main outcomes:

The implemented algorithms try to segment out the electrode strips to help reconstruct the torso surface and also detects the edges to help visualize the heart surface. A GUI is also provided to help the user in running the algorithms.

Categories
Game AI Master AI semester project NSO

And the Winner is… Solving Triomineering using Combinatorial Game Theory

Student(s): Daniel Brüggemann, Mantas Gagelas, Maarten Weber, Bas Willemse;
Supervisor(s): Dr. Jos Uiterwijk;
Semester: 2015-2016;

Fig 1. – Triomineering 6×6 board. Horizontal starts and wins.

Problem statement and motivation:

Games without randomness and with perfect information normally can only be solved for a specific game environment. Small changes like changing the board size or modifying the pieces used by players usually introduce new challenges for the implementation of the game solver. A precise understanding of the specific game domain and its properties is needed, and extending the domain to new areas might help to improve this understanding and reveal new techniques for a more efficient solver. We look at the combinatorial game Domineering, where one player places vertical and the other places horizontal dominoes on a board, and the player who first cannot place a new domino loses. We extend its rules by using not dominoes, but 3-tile-pieces (Triomineering), and build a solver for this variant of the game. The solver uses a combination of search heuristics and strategies from the field of Combinatorial Game Theory, especially using the representation of a board state as a combinatorial game value. We explain how to calculate these game values of sub-games and how these can be used to make the solver more efficient, meaning how to reduce the number of game tree branches that need to be searched by the solver. The developed results might allow a better insight into the general domain of Domineering and how to solve it efficiently.

Research questions/hypotheses:

  • Is it possible to make a solver for Triomineering using the combination of minimax and Combinatorial Game Theory?
  • Is there a large improvement from combining these techniques in the solver?
  • Are there similarities to be found in solving the game of Domineering and Triomineering?

Main outcomes:

  • Combinatorial Game Values provide useful support in checking the results of the solver throughout development.
  • It has proven to be difficult to combine solver heuristics and CGT values, because certain advantages of e.g. solver pruning seem to not work correctly with CGT values.
  • Move ordering and transposition tables, as in solving Domineering, each provide a great solving speed improvement.

Downloads:

Final report

Categories
Master AI semester project RAI Robotics

Research and Development of a New Robot Soccer Platform

Student(s): Jeroen Boonen, Mara Houbraken, Oliver Lehmacher, Jonas Robers, Guy Theunissen;
Supervisor(s): Dr. Nico Roos;
Semester: 2015-2016;

Fig 1. – A NAO robot.

Problem statement and motivation:

The RoboCup Soccer League is an international initiative that aims to promote the fields of Robotics and Artificial Intelligence and to improve already existing technologies. Its official goal consists of achieving a soccer team of fully autonomous humanoid robot players that is able to win a game against the winner of the most recent World Cup by 2050, while complying with the official FIFA-rules. Currently the RoboCup is divided into several competition domains, one of which is the Standard Platform League in which all teams use identical robots and focus on proper software development rather than robot mechanics. The robots used in this League are NAOs, humanoid robots developed by Aldebaran Robotics (Kitano, Asada, Kuniyoshi, Noda, & Osawa, 1997)
This research project focuses its research around the following problem statement:
Find and research a new software platform that can be used with the NAO robots in the Standard Platform League.

Fig 2. – Development process.

Research questions/hypotheses:

In the present project we aimed at answering the following research questions:

  • What is the most appropriate platform for this application?
  • What is needed additionally for this platform to work with the NAO Robots?

Main outcomes:

  • A decision was made to use ROS (Robot Operating System) as a framework around the development of a new soccer platform.

  • Currently, a ROS distribution is running on of the NAO robots, specifically an adapted version of ROS Indigo, tailored for the use on a NAO robot (ROS, 2016). A ROS master can be started on the NAO robot and the provided nodes and topics can be accessed.

  • In both approaches, problems have been encountered with the dataset which is extremely unbalanced. Therefore, most instances will be classified with the most frequent label. Thus, balancing of the data is necessary. Results obtained are better with a reduced balanced dataset (using fewer than all 19 classes and making sure the number of instances per class are equal), increasing the performance while decreasing the number of labels. Moreover, the high variation of types of images within a class and the variation of quality of the pictures makes classification challenging.

  • A development environment has been set up to allow development and compilation of C++ or Python code. It makes use of a virtual machine with NAOqi installed, so the installation of the development environment onto the virtual machine is practically the same for the installation on the NAO robot.

  • Custom nodes can be run

References:

Kitano, H., Asada, M., Kuniyoshi, Y., Noda, I., & Osawa, E. (1997). Robocup: the robot world cup initiative. Proceedings of the first international conference on Autonomous agents, 340-347.

ROS. (2016, 01-15). Aldeberan NAO package summary. Retrieved from http://wiki.ros.org/nao

Downloads:

Final report
Final presentation

Categories
Data analysis Machine Learning Master AI semester project RAI

Comparing Two Techniques for Automatic Food Image Classification

Student(s): Nadine Hermans, Alexander Kroner, Wim Logister, Carsten Orth, Josephine Rutten;
Supervisor(s): Dr. Gerasimos (Jerry) Spanakis;
Semester: 2015-2016;

Fig 1. – Example instances of the original food image data set.

Problem statement and motivation:

The assignment of this project was to classify an existing data set with food images provided (available at Maastricht University in the context of a research project) into the correct food category. We compared two techniques, Convolutional Neural Networks (LeCun and Bengio, 1995) with a conventional classification setup of using hand-crafted features with a Support Vector Machine (see e.g. Joutou and Yanai, 2009) on a real data set of user-submitted food images. Different data preprocessing steps and different parameter configurations for the two approaches have been applied. Their efficacy has then been validated and compared by setting up and running experiments that use these different steps and parameters.

Fig 2. – An illustration of how an image is decomposed into color, texture and shape, which are concatenated into a numerical feature vector. This vector serves as input for the SVM.
Fig 3. – A visualization of the learned network weights of the first convolutional layer in the deep convolutional neural network.

Research questions/hypotheses:

For this project, we were presented with an existing data set of food images. We then tried to answer the following question:

  • What is the optimal classification approach to discriminate between the 19 different classes of food items that were defined for this data set?

More specifically:

  • Which classification model (this project focussed on Support Vector Machines and Convolutional Neural Networks) performs the best on this data set?
  • which methods of preprocessing and feature extraction enhance the results the most?

Main outcomes:

  • After experiments with different pre-processing methods, feature-extraction combinations and kernels and parameters, we have concluded that the Support Vector Machine with the Chi-Squared Kernel and parameters C=1 and gamma=0.1 leads to the best results using all the features (Bag of Features, Gabor filter and Histogram features) on the by GrabCut pre-processed dataset. GrabCut (Rother et al.,2004) separates background from the object by coloring the background black.

  • A final architecture has been decided on after literature research of Convolutional Neural Networks. With this architecture, results achieved by the CNN are a little bit worse than that of the Support Vector Machine, but the results do not differ much.

  • In both approaches, problems have been encountered with the dataset which is extremely unbalanced. Therefore, most instances will be classified with the most frequent label. Thus, balancing of the data is necessary. Results obtained are better with a reduced balanced dataset (using fewer than all 19 classes and making sure the number of instances per class are equal), increasing the performance while decreasing the number of labels. Moreover, the high variation of types of images within a class and the variation of quality of the pictures makes classification challenging.

  • Both approaches have their own advantages and disadvantages. While SVMs are faster to train, simple to implement and robust to over-fitting, features have to be extracted and many parameters have to be tuned. CNNs do not have as many parameters to choose and features will be extracted automatically. However, there has to be decided on an architecture and training may take a while.

References

Joutou, T. and Yanai, K. (2009). A food image recognition system with multiple kernel learning. In 2009 16th IEEE International Conference on Image Processing (ICIP), pages 285-288. IEEE.

LeCun, Y. and Bengio, Y. (1995). Convolutional networks for images, speech,and time series. The handbook of brain theory and neural networks, 3361(10).

Rother, C., Kolmogorov, V., and Blake, A. (2004). Grabcut: Interactive foreground extraction using iterated graph cuts. ACM Transactions on Graphics (TOG),23(3):309-314.

Categories
Master AI semester project RAI Robotics SwarmLab

Towards an Autonomous Swarm of Flying Robots

Student(s): Joeri Hermans, Max Uppenkamp, Benjamin Hahn, Lando Kroes, Karsten Seelert;
Supervisor(s): Dr. Rico Möckel;
Semester: 2015-2016;

Fig 1. – Quadcopter.

Problem statement and motivation:

After earthquakes usually it is not safe to enter damaged buildings to search for people inside. As a result it would be desirable if part of this search could be performed by robots that can autonomously search for people in such areas that are difficult to access by humans. One of the many challenges in such an application is that these robots have to autonomously navigate in partially destroyed areas. The goal which we aim for is to create a quadcopter capable of moving in such an environment. To achieve this goal, we analysed the requirements for a quadcopter in a search & rescue operation. Also we researched algorithms that allow quadcopters autonomous mapping of unknown environments and to estimate their own position – a problem well-known as Simultaneous Localization and Mapping (SLAM).

Fig 2. – Software architecture.
Fig 3. – Electronics.

Research questions/hypotheses:

  • How to setup a single quadcopter for search and rescue operations?
  • How to setup the software architecture for search and rescue operations?
  • What kind of pathfinding can be used in a 3D environment?

Main outcomes:

  • We designed and implemented architectures for control software and quadcopter electonics.
  • We constructed and built a quadcopter based on off-the-shelf components.