Projects

Image Processing and Computer Vision projects

4 months
12/2010 - 03/2011
Cranfield University projects: stereovision, visual surveillance and steganography.
Developed a stereovision module for a robot
Description:

The aim of this project was to develop a program that enables a robot to explore an unknown environment. We were a group of 6 people and we used C++ and OpenCV.

I was in charge of investigating and implementing a technique enabling the robot to detect and avoid the obstacles. I chose to use the stereovision.

Videos:
Ressources:
Visual surveillance for a Railway Level Crossing
Description:

The aim of this project was to create a software to monitor automatically a Railway Level Crossing: detect if traffic is entering or leaving the Railway Level Crossing, detect if there is traffic on the Railway Level Crossing, detect if there is rail traffic and detect if the barrier is lowered. I develop this project using C++ and OpenCV.

I applied Image Processing techniques: morphological operations - Canny edge detector - HSV color space - Hough Transform.

Videos:
Ressources:
Developed a steganography program
Description:

The aim of this project was to develop a program using C++ that enables to hide any file in an image. I used the library OpenCV.

Ressources:
Top

Computer Graphics, Image and Virtual Life Simulation projects

4 months
03/2010 - 06/2010
  • Team leader of a group of 6 students that created a 3D render engine based on a scene graph using C++ and OpenGL.
  • Group of 2 students: performed a research aiming to generate automatically 3D roof models from orthophotograph analysis.
  • Group of 3 students: created a 3D behavioural simulation of people working in a building and evacuating when an alert is raised.
Team leader of a group of 6 students that created a 3D render engine based on a scene graph using C++ and OpenGL
Description:

The aim of this project was to create a new render engine for the game of the teacher. As we were not allowed to use libraries other than CML, STL and Boost, we built from scratch the 3D render engine using C++ and OpenGL.

As the team leader of the group of 6 students, I chose to divide the work into 3 parts: creation of independant libraries fully tested (a Scene Graph, a viewer and a 3DS file importer), creation of the render engine that processed the video game datas and updated accordingly the scene graph and creation of new 3D models using 3DS Max.

It was one of the most rewarding project as it involved a lot of skills in a short amount of time:
  • Managing the project, assigning tasks while learning OpenGL and mathematics for 3D.
  • Not reinventing the wheel by learning from well-known solutions (Inspired from lib3ds that we were not allowed to use and from Open Scene Graph but largely simplified).
  • Conforming to coding conventions and advanced usage of C++.
  • Creating an error-proof engine using a Logger System, an OpenGL extension selector and advanced C++ libraries (Configurable Math Library, STL and Boost).
  • Using advanced graphics features whereas it was the first time we used OpenGL: View Frustum Culling, Vertex Buffer Objects and shader support.
  • Creating a collection of reusable libraries (an independant 3DS importer, an independent Scene Graph and Viewer enabling much more eccentricity than the simple game we were given).

Note: We were the only group of student that chose this project.

Illustrations:
Ressources:
Group of 2 students: performed a research aiming to generate automatically 3D roof models from orthophotograph analysis
Description:

The aim of this project was to create a tool enabling to generate automatically 3D roof models from orthophotograph analysis.

We used the open source library Pandore created by the GREYC and C++. This project enabled us to learn a lot of image processing materials.

Illustrations:
Ressources:
  • All resources are confidential
Group of 3 students: created a 3D behavioural simulation of people working in a building and evacuating
Description:

The aim of this project was to create a 3D behavioural simulation of people working in a building and evacuating when an alert is raised. We used Java, Subversion, Jasim and Janus (two libraries created by the SET laboratory of the UTBM).

This project enabled us to apply our skills and knowledge in a very short period of time (1 coding week with other projects and courses to attend) while providing a functional demonstration.

The skills involved were:
  • Virtual Life Simulation (Kinematic behaviors).
  • Artificial Intelligence (State machine, A* coding, lot of techniques learned from the book "Artificial Intelligence For Games" from Ian Millington).
  • Multi-Agent Systems.
  • Ability to provide a functional demonstration in a very short period of time with a lot of constraints (specifications given by the teacher acting as a client).
  • Ability to work in a team.
  • Ability to use new libraries and to learn new languages and techniques really quickly.
Illustrations:
Ressources:
Top

Computer science projects of the third year (2nd semester)

2 months
05/2009 - 06/2009
  • Team leader of a group of 3 students and winner of the contest opposing 26 groups that aimed to create an automatic tool to solve a Vehicle Routing Problem using C++ and metaheuristic algorithms and more particularly the Tabu method
  • Team of 2 students: created an interactive and educative software in Flash.
Team of 2 students: created an interactive and educative software in Flash
Description:

The aim of this project was to create an interactive and educative software in Flash 8/AS2.

The project was created using Oriented Object Programming and everything is configurable (use of XML, HTML and CSS).

Illustrations:
Demonstration:
Ressources:
Team leader of a group of 3 students: created an automatic tool to solve a Vehicle Routing Problem using C++ and metaheuristic algorithms
Description:

Team leader of a group of 3 students and winner of the contest opposing 26 groups that aimed to create an automatic tool to solve a Vehicle Routing Problem using C++ and metaheuristic algorithms and more particularly the Tabu method

Illustrations:
Ressources:
Top

Computer science projects of the third year (1st semester)

2 months
11/2008 - 01/2009
  • Team of 4 students: created an AI for a video game in Prolog.
  • Team of 4 students: created a CV management software using Microsoft Access.
  • Created a mini-game in 2D with JAVA.
  • Bus Network Simulation using C System on Linux and Solaris.
Team of 4 students: created a CV management software using Microsoft Access
Description:

The aim of this project was to create a CV management software using Microsoft Access, Visual Basic and the SQL language.

Illustrations:
Ressources:
Created a mini-game in 2D with JAVA
Description:

The purpose of this project was to create a maze game using Oriented Object Programming with UML and Java. The graphic part is deliberately minimalist because the aim was to focus on the behaviour and on the interactions.

The player can move in the maze loaded from a XML file, he has to avoid enemies and moving walls gathering pills, weapons and health to survive as long as possible to be able to reach the exit.

Illustrations:
Ressources:
Team of 4 students: created an AI for a video game in Prolog
Description:

The aim of this project was to create the AI of a video game using the Prolog language.

At the end of the project, the artificial player was able to gather items and to go to the exit while avoiding potential dangers (rockfall or enemies).

Illustrations:
Ressources:
Bus Network Simulation using C System on Linux and Solaris
Description:

The aim of this project was to learn Multi-Process programming (synchronisation, Inter-process communication, Resource-sharing management, deadlocking) while learning to develop a program on Linux and then to deploy it on Solaris.

Illustrations:
Ressources:
Top