Stefano Cappellini

I teach machines how to learn – ML, DeepLearning, AI, Math lover, BCompSc

Projects

Machine Learning projects

Facial Landmark Detection: a modern approach (Sept. 2017)

The aim of this paper is to evaluate the impact of some of the research advances in Deep Learning on the everyday development and their usefulness to practitioners. A novel Convolutional Neural Network model is presented to solve a particular instance of the Facial Landmark Detection Problem, the one obtained by considering only five landmarks (Left and Right Eye center, Nose tip, Mouth Left and Right corner). The proposed solution is a single Convolutional Neural Network, with a conceptually simple architecture, employing some of the most recent techniques: inception modules, residual connections, batch normalization, dropout and ELU units. This solution has been compared with the work by Sun et al. and the obtained results clearly show the positive impact of those techniques: it is possible for a practitioner, without a previous domain knowledge and with an average machine, to quickly build a simple model, with competitive computational performance, and able to obtain predictive performance comparable with the ones obtained by more complex, state-of-the-art models presented in the last few years. In addition, the proposed solution has proven to be relatively cheap to train. This reveals the usefulness of the research advances to practitioners.

Read the paper

Old projects

Web projects

Built when I was a Web developer. They are probably a bit outdated.

Sasho (2016)

An URL shortening service that puts the security first. Whenever a user clicks on a shortened link, a page is opened, showing where that particular link is pointing to and asking the user if it is ok to go there. In addition, it uses the MyWOT API, warning the user if a destination looks suspicious or dangerous.

Take a look

RResize (2015)

Small JQuery utility that makes the handling of the resize event easier. In particular, (1) it is possible to register a callback which will be executed only during true resizing events (when the size of the window changes). The throttling limits the number of times that callback will be called during the resizing. (2) It is also possible to register a callback that will be executed when the resizing event is over. This is probably the greatest contribute of this utility.

Take a look

Learning

Utilities built during my college days to make the learning of some topics easier.

MagieSort (2014)

Java utility that allows to explore, step by step, how various sorting algorithms (Bubble sort, Selection sort, Shaker sort, Insertion sort, Gnome sort, Merge sort, Quick Sort and Heap sort) work. During the execution, it shows how the various data structures are built, the various indexes used, the indexed cells, the swaps performed, the order of the recursive calls and all the additional memory needed by the various algorithms.

Take a look