Lucas Amoudruz – Optimization for maximum log-likelihood of positive selection detection in phylogenetic trees
about CSCS, Lugano, Switzerland
I did my internship at the Swiss National Supercomputing Center (CSCS) in Lugano for a project in collaboration with the HP2C selectome team of UNIL, LAUSANNE.
The goal of my project was to find a better optimizer for maximizing a log-likelihood function used to detect positive selection in phylogenetic trees.
The results of such computations are then included in the selectome database (http://selectome.unil.ch/).
The new optimizer is based on a quasi-Newton update with a quadratic program solution at each iteration.
A modification to the BFGS update has been made to keep the condition number tractable. Moreover, the gradient computation has been improved in terms of computational effort.
The resulting algorithm lead to a faster implementation, especially for large problems. Speedup up to 25 has been obtained, depending on the dataset.
This allows computation on trees for which the positive selection was not feasable in a reasonable time.
The optimization has also been improved in terms of robustness, by finding a better starting point.
Distributions of the parameters (extracted from the Selectome database) have been coupled with a genetic algorithm approach, allowing better accuracy than the existing algorithm.
The optimizer has been included in fastCodeML, a popular software for positive selection in phylogenetic trees. It is written in C++ with OpenMP and MPI for high level parallelization.
The program has been tested on DORA, a supercomputer at CSCS.
Speedup obtained by the new optimizer compared to the existing one (CodeML) and the LBFGS method from nlopt-2.4.2 library.
Joseph Lemaitre – Sky Cloud Image Analysis
about Advanced Digital Science Center (ADSC), Illinois at Singapore Pte Ltd
The project aims to predict ground-to-air communication links attenuation by atmospheric effects (rain, clouds, particles, water vapour) above Singapore. The country has a tropical climate and weather phenomenons are often very localized.
Hi-res ground-based whole sky imagers are used to analyse the signal attenuation due to clouds. Those devices autonomously capture the entire sky every minute, at DSLR resolution.
I worked on satellite imaging, and how it can be used in combination with the existing imagers. Satellite imaging brings another perspective for cloud detection, as it acquires data from above, sensing the upper layer of the cloud. Moreover, satellite sensors gather a wider spectrum, enabling the detection of invisible features. In remote sensing, cloud are usually detected using the visible and near-infrared wavelengths during the day, and the thermal and the microwave ones at night. After a review of available satellite sources, we focused on the MODIS mission, on two satellites: Terra and Aqua. It took a while to understand NASA guidelines, and to parse and process the satellite data into usable image (see Figure 1). A big piece of work was the interpolation of the georeferencing, in order to get the (longitude,latitude) of every pixel of satellite acquisition. These steps where then automatized into a user-friendly framework to be used for various purposes inside the team.
Then I did a comparison between these images and the ground-based ones (Figure 2). It ensues that there are comparable for image wide characteristics, like cloud coverage. However, it is not possible to match individual clouds. Among all the reasons, the biggest difficulty is the difference in resolution if we want to use all MODIS bands.
Figure 1: A processed satellite image: Cloud Water Path g=m2 above Singapore.
Figure 2: Comparison between processed satellite image (Cloud Mask) and whole-sky imager one,
both taken at the same time.
Ondine Chanon – Conception and simulation of textile structures, Software Development
About North Thin Ply Technology (Ntpt), Penthalaz VD, Suisse
My two-month-and-a-half internship took place at North Thin Ply Technology (Ntpt) in the research and development department on software development, under the supervision of M. Thomas Ricard, Software and Engineering Manager.
Ntpt was initially involved in the manufacturing of sails; it then reaches for uses of the Thin Ply Technology in the field of rigid composites and finds today worldwide application in lots of different fields: luxury, aviation, space aviation,medicine, sports on a competition level (racing yacht, golf, formula 1), etc.
During the internship, I was working on the development of a software whose aim was to render the deformation of 2D-3D textile structures once different regions have been determined on the structure and once aesthetical and physical properties have been set in each different region: mass, position, stiffness, color, type of yarn (see Fig.1). To this end, we used dynamic relaxation methods with adaptive time and viscous damping factor. The challenge was to find an algorithm that, at each iteration, gives us the right time steps and viscous damping factors for the method to converge in a fast way. We implemented it in C# and then in parallel in CUDA using the advantages of NVIDIA graphic cards. Indeed, dynamic relaxation methods being especially well design to implement in GPU.
The second part of the internship involved more diverse tasks: optimization of the algorithm to be usable with very big data sets, development of the user interface knowing that the user does not want to care about the physics behind, basic design development using textures, extension of the algorithm to make it more flexible and in order not to lose information when the user changes the geometry of the textile structure.
Figure 1: Intermediate result of equilibrium position found on a 100 × 100
mesh with given physical properties of the structure in two distinct zones
Arnaud Reymond – Sony Stuttgart technology center
Sony Stuttgart technology center is a research center that focuses on image processing, radars, speech and sound. I did my master project within the speech and sound group. My goal was to study, implement and test a crosstalk cancellation system based on fast deconvolution. One of the important problems of such a system is that the crosstalk cancellation filters produce undesirable spectral coloration in the processed audio. One way to reduce this coloration is to use regularization, that is introducing small errors in the matrix inversion process in order to control the coloration of the filters. The state-of-the-art “band assembled crosstalk cancellation hierarchy” (BACCH) filters use frequency-dependent regularization to obtain crosstalk cancellation with no coloration. Theses filters have been studied, implemented in Matlab and tested on a stereo playback system. Another method to obtain uncolored crosstalk cancellation filters have been investigated and tested. This method uses gain compensation instead of regularization to reduce the coloration produced by the crosstalk cancellation filters. This gain compensation method manage to reduce the coloration without sacrificing too much the crosstalk cancellation performance.
Figure :Simulation of the pressure at the ears when a well conditioned sinusoid is transmitted at left ear and canceled at the right ear.
Ryan Brossy – Development of a radio-based indoor localisation system
I performed my internship with Rapyuta Robotics AG, Zurich, a spinoff company of ETH Zurich. The main focus is the service robotics industry: creating multi-agent mobile robotic platforms with access to the cloud to offload processing and storage.
My task was to use radio-based technology to develop an indoor localisation system for autonomous mobile robots. This technology enables one to estimate the ranges between radio beacons that, when used in conjuction with known locations of the fixed beacons allow trilateration to be performed to estimate a robot’s position. This was achieved by solving the non-linear system formed by a series of spheres corresponding to each range measurement, using the Levenberg-Marquardt algorithm. This approach allowed localisation with a standard deviation of 4cm, and was robust to noisy range measurements.
Accuracy of the position estimate can be seen in Figure 1 (Left), while an example of the visualisation used for demonstrating the technology can be seen in Figure 1 (Right). A method for simultaneously localising both the fixed beacons and the mobile beacon (Simultaneous localisation and Mapping or
SLAM) was also implemented using a Rao-Blackwellised particle filter, which represents the distribution
of possible beacon positions in 3D space given the current information with a sum of Gaussians. Here each Gaussian is represented by an unscented Kalman filter with an associated position and covariance.
These algorithms were implemented was in C++, making using of the ROS (Robot Operating System) framework for coordination between multiple hardware and software components. Python was also heavily used for prototyping as well as data analysis.
Figure 1: (Left) Position estimate vs ground truth obtained via motion capture
(Right) Localisation visualisation, with Green: Fixed beacon, Blue: Ground truth, Red: Series of position
estimates as markers.
Philippe Rossinelli – German Aerospace Center
My internship took place at the German Aerospace Center (DLR), in Hamburg Germany, under the supervision of Jan Berling and Alexander Lau, in the institute for Air Transportation Systems. DLR is the national aeronautics and space research center of Germany, and its research covers the areas of space, aeronautics, energy, transport and security.
I was established in the department of Air Transport Operations and Infrastructures, and I worked on a project called Network Flow Environment (NFE), a framework to optimize the slot allocation of flights in Europe. This program was divided in three main components, the parsing of the data, the preprocessing and the actual optimization.
My first task was to work on the parsing and preprocessing of the data, in order to make it possible to use the framework on a daily basis. By refactoring the program and using an object oriented approach, we managed to speed up the process by a factor of approximately 20. The data structure will also be used by the whole department, therefore increasing collaboration and enabling a faster sharing of data.
My second task was to adapt a column generation algorithm to take into account conflicts between flights. My contribution to the project was to improve the interface between MATLAB and the optimization library SCIP, by passing a matrix describing conflicts between pair of flights as an input.
Angelina Drahi – CISCO San Jose
I was working on a project aiming to improve the overall quality of experience of users while streaming videos. I had to develop metrics to measure how fair the algorithms involved in this project are. I developed the analytics in Python since the whole project was written in Python. I also added the analytics’s graphical representations to their existing GUI; developed in Python.
Gael lederrey – NViso SA
I completed my internship at nViso SA (http://www.nviso.ch) in the Innovation Park of the EPFL under the supervision of Mr. Timothy Llewellynn and Dr. Matteo Sorci.
nViso SA is a start-up developing human-computer interaction technologies. They are specialized in the detection of human faces and analysing its emotions.
During this internship, I developed a framework to build quickly REST API. An API (Application Program Interface) is a set of protocols, methods and tools for building software applications. REST (Representational State Transfer) design the software architectural style of the Web.
To build quickly the REST API, I developed a framework in Python using Swagger. In order to build the API, the developer just need to prepare some specification files in JSON. Then, he can generate a documentation server and server (using Java Spring MVC). Once the server has been generated, the developer can fill the Business Logic in the server. During my internship, I also built this Business Logic for a specific application.
Using a framework as the one I created allow the developer to win a lot of time while building an API. He does not have to create a specific documentation because Swagger is generating one. In addition, he gets the backbone of a server ready to be filled.
This internship was really interesting because I learned a lot of transversal skills. I had the opportunity to work on a big project with many different people. The atmosphere was really good and I learned a lot from my co-workers.