I like to make computers do anything I want them to do.
Pontificia Universidad Católica de Chile (PUC)
Degree: Master of science
Title: Computer engineer
- Language Skills
English: Advanced (8.5 out of 9.0 in IELTS).
Spanish: Native speaker.
- Latest Projects
OpenCV Computer Vision Application Programming.
Beginning Digital Image Processing.
- Work Experience
Senior Software Engineer
Ocular Robotics specialises in the design and development of dynamic vision and 3d scanning systems. My main duties are:
at Ocular Robotics Sydney, Australia - August 2013 – Present
- Develop new and maintain existing software applications and libraries for operation and application of the company's products.
This company helps other businesses to manage their information. My main duties were:
at Solbri Santiago, Chile - June 2012 – July 2013
- Develop and adapt solutions to be used to help businesses manage their information.
- Research and develop new technologies for information management, as well as other topics such as machine learning and computer vision.
This company provides on-line financial risk management services. My main duties were:
at RiskAmerica Santiago, Chile - March 2011 – June 2012
- Design a new version of the entire system from scratch using several open source software solutions.
- Manage a group of software engineers to implement the new version of the system.
- Install and configure different open source web applications for monitoring key aspects of the system as well as for project management.
- Organization of code and development environments using SVN, virtual machines, testing, and written procedures.
Adjunct instructor for the course development of applications for mobile phones at PUC. This university is located in Santiago, Chile.
at PUC Santiago, Chile - July 2008 – July 2011
- In this course, I treat the mobile phone as a rich platform for software development.
- Some of the lessons I teach are Internet networking using GPRS/EDGE/3G/Wi-Fi connectivity, web services such as maps APIs, image processing using the built-in camera, and local networking using bluetooth technology, among others.
- The main language used in the course is Java ME, but since the emphasis of the course is application design, student's final projects are usually written for many different platforms including Android, iOS, Symbian, etc...
Lead developer at amnesiagames. This company produces mobile applications and games. This was a specific project for research on novel usages of sensors embedded in modern mobile phones as well as new user interfaces using Nokia Qt SDK. My main duties were:
at amnesiagames Santiago, Chile - November 2010 – March 2011
- Explore the new features provided by Qt SDK for Nokia devices.
- Report novel possible uses of mobile sensors such as the camera, accelerometer, GPS, microphone, magnetometer, etc.
- Implement an application that uses kinetic scrolling and live feeds from the Internet. This application was successfully published in Ovi Store.
Research engineer for a research and development project in human detection and tracking using image processing techniques at the Machine Intelligence Group (GRIMA) at PUC. More details can be found in grima.ing.puc.cl. My main duties were:
at PUC Santiago, Chile - March 2010 – December 2010
- Implement and evaluate current algorithms for human detection and tracking in C++ using the OpenCV library.
- Review research papers for obtaining new ideas for algorithms.
- Evaluate the performance of our latest implementations of the algorithms.
- Train our system with machine learning methodologies.
- Develop interfaces to the implementations.
- Set up cameras, lenses, and related equipment for image acquisition.
Software engineer at Digisensory Technologies in Sydney, Australia. This company produces smart IP cameras for intelligent surveillance applications. More details can be found in www.digisensory.com. My main duties were:
at DigisensorySydney, Australia - February 2009 – July 2009
- Implementation of real time computer vision algorithms directly from research papers using OpenCV in C++.
- Research for new people detection and tracking algorithms in papers.
- Design and implement a cross-platform GUI for viewing and controlling our smart IP cameras using Qt SDK.
- Determine the needed lenses and camera positioning for specific applications given the constraints of the environment.
- Define and run testing procedures for our algorithms.
During this period, I assisted as a graduate student to the master of science program at PUC. I used a customized robot hardware for implementing my master thesis. The base robot was a Pioneer 3-AT, and for visual perception I used a stereo camera model STH-DCSG from Videre Design. The main tasks that I was assigned to were:
at PUCSantiago, Chile - March 2007 – July 2008
- Detect people in different poses, not only frontal ones. I used a novel feature derived from visual saliency and stereo imaging to achieve this task.
- Integrate this visual perception to the complete robotic system.
- Produce an algorithm fast enough to run at real time. To achieve this, the coding was done in C++ with OpenCV, resulting in a system running at 15 fps.
- For more details, my master thesis is available on-line at www.samontab.com/web/thesis.
As part of my engineer education, I had to work developing a project for a company. I worked as a software engineer in a specific project for the company amnesiagames, located in Santiago, Chile. My tasks included:
at amnesiagamesSantiago, Chile - January 2006 – February 2006
- Research about music formats supported in the current mobile phones available in the local market (mostly MIDP 1.0 feature phones).
- Design a music based mobile phone game.
- Implement a working version of the game. This game was later published locally by the name of Ritmovil, having appearances on national television.
I was part of the team of university students who realized a project for the government of Chile for teaching more science to school students using practical examples. My main tasks were:
at PUCSantiago, Chile - December 2004 – March 2005
- Teach the students how to program a micro-controller using assembly language with Microchip MPLAB software.
- Prepare the material to be taught in my programming classes.
- Coordinate with other team members for producing a general learning experience for the students. The project involved integrating electrical, computational and mechanical skills of different people.
- Evaluate the performance of the groups of students based on the quality of their project.
- Programming Skills
- Primary programming languages: C, C++, and Java.
- Mobile phone programming: Java ME, Android, Python for S60, Qt, and Windows Phone 7.
- Experience in Linux and Windows environments.
- Open source software.
- OpenCV experience for image processing.
- Experience with embedded devices in general (Arduino, Microchip pic micro-controllers, Xilinx FPGAs, TS PC/104).
- Experience with image processing on embedded devices (mobile phones, Elphel cameras, and even Canon P&S cameras with CHDK).
- Nokia developer champion.
- Maximum distinction in master of science at PUC.
- Honor scholarship at PUC.
- National highest (perfect) score in the physics university selection test.
- ISI Journal Publications
Montabone, S., and Soto, A. (2010). Human Detection Using a Mobile Platform and Novel Features Derived From a Visual Saliency Mechanism. Image and Vision Computing, vol. 28, No. 3, pp. 391-402, 2010.
Luis Caro, Javier Correa, Pablo Espinace, Daniel Langdon, Daniel Maturana, Ruben Mitnik, Sebastian Montabone, Stefan Pszczółkowski, Anita Araneda and Domingo Mery, et al. (2011). Indoor Mobile Robotics at Grima, PUC. Journal of Intelligent & Robotic Systems.
- Other Activities
- Reviewer of the book "Mastering OpenCV with Practical Computer Vision Projects".
- Reviewer of Pattern Recognition Journal.
- Member of GRIMA research group at PUC.
- Organizer and speaker of the first Nokia Developers Day in Santiago, Chile.
- Author of a technology blog at www.samontab.com.
- Tutor for the following courses at PUC: Creation of Video Games, Laboratory of Digital Systems, Artificial Intelligence, Differential Equations, Integral Calculus, Multivariate Calculus.