2015: Year in review
Another year whizzes by. We are at this unique juncture where the big five in technology have started focussing on artificial intelligence. For me, this was the year of switching gears from software development to specializing in computer vision.
Switching gears
Switching gears meant leaving Dreamworks Animation. Being with the company for 4 years meant that moving on was difficult. Great colleagues and interesting technical challenges. However, I found myself drifting towards topics in computer vision - and maintaining a full time job while giving full mental focus to papers is difficult to manage. Implementing papers has hard if you’ve spent the past 8 hours of mental labour on software.
To switch gears, I started working in computer vision on the side and applied to Carnegie Mellon’s Masters in Computer Vision program. I was glad they accepted me! The second half of 2015 was devoted entirely to getting up to speed on the past few years of computer vision.
First book published!
My work in computer vision got me to publish my first book on computer vision - Opencv 3 Blueprints. I ended up writing about one specific paper that has currently been commercialized. Apart from the technical learning, writing a book was a unique experience and I now know some of the pain faced by the publishing industry. Specifically, generating outputs in multiple formats (think pdf, html, epub, mobi, etc). Another one is aggregating statistics across the multiple online portals and file formats.
Papers implemented
Over the year, I read 12 papers on artificial intelligence focussing primarily on computer vision and learning. A couple of them were mathematical tools required to solve specific problems. I ended up implementing four papers. One while working full time and three while at CMU. I want to write about all of these on AI Shack - but I find it difficult to balance the context switch. Maybe making a podcast about the ideas in a paper is easier than writing about it?
Technical learning
I’ve been dabbling with Rust and have some experience with Go - however I’m far from fluency (like in Python). Rust still needs to mature - UI libraries are not as friendly as on other platforms. Hopefully this is the year!
Getting used to Theano, Numpy and Scipy has been very helpful - specially for utilizing my GPU. I still need to get into Torch and Caffe though. Apart from this, writing raw CUDA coda has helped understand how the hardware is architected.
Fin
Onto more computer vision!
CPP 11 and 14 - key changes MakerFaire Pittsburgh