My first bachelor's degree was in Electrical and Telecommunications Engineering. I enjoyed learning all the math, but I never worked in the area. I started working with software very early, and never stopped until now. After a while, working with real computer scientists, I always felt I was an outsider — perhaps a manifestation of Impostor's syndrome.
So, back in 2012, I decided to apply for an academic Master's program in Computer Science in one of the best Universities in Brazil. I called one friend that was finishing the Master's program at the time and asked: What is the brightest professor at this University? He answered, without hesitation, Silvio de Barros Melo, a Computer Graphics specialist. Promptly, I scheduled a meeting with the professor and presented my proposal.
After a strict selection process, I got accepted into the full-time program. I was working for Liferay as a Software Engineer. I needed to make money to pay my bills and couldn't stop working. I had to do both a full-time academic program and a full-time job. I had long three years ahead of me. Fortunately, I finished the program with honors. After the thesis presentation, one of the board members made the following comment: This thesis is the difference between good and great. I am not sure if this translates well to English, but I was proud of myself when I heard such a compliment.
If you are interested in how I built this library, take a look at the thesis down below or download it here, it explains all the details.
“In this disseratation, I have designed and implemented a tracking library for the web that brings different Computer Vision (CV) algorithms and techniques into the browser environment without requiring third-party plugins installation. By using new HTML5 specifications, it enables users to do real-time color tracking, face detection, and much more — all that with a lightweight core (~7 KB) and intuitive interface. It provides a common infrastructure to develop applications and to accelerate the use of CV techniques on the web in commercial products. The library involves the of different CV algorithms and technologies into the browser environment. Between the several methods available, some algorithms can be used for various applications, such as, detect faces, identify objects and colors, and track moving objects.”