Surrounding view generation from multiple cameras (2010, eVS, still in progress...).
I was involved in the feasibility study for and the subsequent implementation of a vehicle
surrounding view generation software from multiple cameras. Currently I am the
responsible for this project and its evolution.
Stereo-based people counter (2009-2010, eVS, still in progress...).
Me and my colleagues in eVS embedded Vision Systems S.r.l. had to test and understand
code and architectural details of an existing stereo-based embedded system devoted
to people counting. The output of this work consisted in a report jointly with
doxygen comments inside the analysed code. Now eVS is charged with maintenance of
both the software and firmware (FPGA) parts of this third party product
and I am the reference person for it in eVS.
Super-resolution for video surveillance purposes (2009, eVS, 8 months).
I had to study the state of the art of super-resolution, select a proper approach
to improve the quality and resolution of images captured by video surveillance
systems for identification aid purposes, and then implement a proper GUI to
interact with the video. The final target is a stand-alone application
to be considered as a add-on for video surveillance systems.
Adaptive background modelling and shadow removal (2008, eVS, 3 weeks).
I optimized and documented an implementation in C language of the well known Stauffer and Grimson's algorithm
for background modelling passing from 8 to 15 frames per second at 320x240. The algorithm had a shadow removal
stage in order to improve segmentation. I had also to improve the quality of the segmentation using
morphological operations, and to classify the resulting connected component using some properties of their
such as area, compactness, etc.
Lane Departure Warning System (2008, eVS, 3 months). A MATLAB prototype to be then implemented in FPGA
for lane markings fitting and tracking. After a brief study of the state of the art in
Lane modelling, I and other colleagues chose a reference lane model and we developed a fitting
algorithm followed by a tracking stage. Fitting is made using a pseudo-RANSAC approach and
tracking is made using a combination of Kalman filters.
profile inspection of metal plates by 3D laser scanning (2008, eVS, 3 months).
An application written in ANSI C which automatically detects defects in the Section
Bars Profiles. It uses a system composed by a laser blade and a special camera, i.e. a camera
which is able to identify the laser blade by itself at a high frame rate, for 3D reconstruction.
The application includes a customized calibration procedure for laser plane identification.
Stereo code refinement (2008, eVS, 1 months). I had to refine a stereo code written
in ANSI C in order to obtain a dll. A peculiarity, the code had to emulate a FPGA core.
I did not start from scratch, I started from a previous version of the C code which were
modified in order to emulate the FPGA core on the basis of some MATLAB code and the
FPGA core documentation.
and development of a system for balise 3D pose
verification in railway applications (2008, eVS, 2 months). I was involved in the last
months of the project. During these two months I helped to debug and improve an application
written partially in C++ and for the most in MATLAB which automatically detects particular
kind of objects along rails and then estimates their pose.
Data are acquired using a system composed by a laser blade and a special camera, i.e. a camera which is
able to identify the laser blade by itself at a high frame rate.
Such a kind of data allows a 3D reconstruction of the objects and so their pose
wrt the rails plane can be evaluated. The application includes a calibration procedure
for laser plane identification.
Development of a rotation invariant pattern matching
algorithm for a smart vision sensor (2007, eVS, 1 month). I was involved in testing and debugging of a
pattern matching algorithm used to evaluate the 2D pose of objects in a planar scene.
A peculiarity, the code was optimized for blackfin ADSP-BF561.
Stereo-based tracking system (2007, post-doc, 6 months). An application written in ANSI C and based
on 2D feature tracking and stereopsis which allows to track a point in the 3D space.
The main problems faced were related to algorithm optimization in order to process more
than 15 frames per seconds. In fact, slower the frame rate is and more probable the 2D tracker
fails (click here to read a research report
in italian about this work). This work was committed by eVS - embedded Vision Systems s.r.l..
Virtual brick paver system (2006-2007, post-doc, 9 months). This project was committed to the Computer Science Dept. of
Verona by Ferrari BK s.p.a., a company
specialized in paving, and supervised by GirTech s.r.l..
The result was BK Designer a multi-platform application written in ANSI C to virtually pave a floor
using a calibration object (for example a triangle) to detect the floor plane and a data base of brick textures to be used for
texturing the manually identified area. The program offers a user friendly interface that
step by step directs the user to obtain the final results.
Multiple textured layers can be handled in order to compose different kind of bricks onto
the same floor. Layers can be added, deleted, moved, and manipulated by rotation, scaling,
translation, and transparency changes.
Just to give an idea of the potentiality, two images, before and after manipulation, are here shown (click to enlarge).