Contact Shervin Emami:
|Email:||(If you want to ask me a small question)|
|Google+:||(If you want to see my social posts)|
|LinkedIn:||(If you want to see my professional history)|
|Twitter:||(If you want to see my short social posts)|
|RSS Feed:||(If you want to be notified of my website changes)|
Shervin Emami (born in Iran) taught himself analog electronics & hobby robotics in Australia when 13 years old. When building his first robot at the age of 15, he learned how an 8-bit Z80 CPU, buses, interrupts, I/O, RAM & ROM works from old Talking Electronics magazines. He was so amazed by the concept that he soon designed & built a whole motherboard for computer control of his robot, and wrote the Operating System purely in binary machine code using 2 push buttons for 0's and 1's. After learning that computers can be programmed in much easier ways such as Assembly language and even high-level compilers, Shervin became hooked on computer programming, and has been programming desktops, robots and smart-phones nearly every day since then. During his late teens he created the 3D modeller Draw3D (30,000 lines of optimized C & Assembly code), rendering 3D graphics faster than all the commercial alternatives at the time, but he lost interest in graphics programming when 3D hardware acceleration became common.
In university, Shervin took a subject on Computer Vision and became highly interested in it, so for his first thesis in 2003 he created a realtime face detection program based on Eigenfaces, using OpenCV (beta 3) for camera input. For his Master's thesis in 2005 he created a visual navigation system for several mobile robots using OpenCV (v0.96). From 2008 he worked as a freelance Computer Vision developer in Abu Dhabi & Philippines, using OpenCV for a large number of short-term commercial projects:
Detecting faces using Haar or Eigenfaces, recognizing faces using Neural Networks or EHMM or Eigenfaces, detecting the 3D position & orientation of a face from a single photo using AAM & POSIT, rotating a face in 3D from a single photo, face preprocessing & artificial lighting from any 3D direction from a single photo, gender recognition, facial expression recognition, skin detection, iris detection, pupil detection, eye gaze tracking, visual saliency tracking, histogram matching, body size detection, shirt & bikini detection, money recognition, video stabilization, face recognition on iPhone, food recognition on iPhone, and marker-based Augmented Reality on an iPhone (the 2nd fastest iPhone Augmented Reality app at the time).
OpenCV was putting food on the table for Shervin's family, so he began giving back to OpenCV through regular advice on the OpenCV forum and posting free OpenCV tutorials on his website. In 2011 he contacted the owners of other free OpenCV websites to write the book Mastering OpenCV with Practical Computer Vision Projects. He also began working on Computer Vision optimization for mobile devices at NVIDIA, working closely with the official OpenCV developers to produce a SIMD & quad-core optimized version of OpenCV for Android. In 2012 he also joined the Khronos OpenVX committee for standardizing the hardware acceleration of Computer Vision for mobile devices, that OpenCV will be based on in the future.