Overview
Our client builds tracking technology and solutions that generate actionable information and insight, giving companies unprecedented visibility into their businesses.
As a part of the product Innovation team, we are in need of a highly experienced software developer who can lead implementation of perception & learning systems using 2D and 3D visioning systems that are Enterprise-grade and ready for real-world deployment.
Responsibilities
- Lead development of turning prototyped computer vision algorithms into high quality product ready code
- Design and provide strategies for optimizing computer vision algorithms for different embedded system and mobile devices
- Implement embedded software for multi barcode decoding, object recognition as well as OCR
- Takes responsibility for communicating with different engineers (embedded systems, backend server, computer vision) to continuously improve and optimize implemented algorithms
- Create software test and provide support to troubleshoot software issues when needed
- Documentation of software architecture
Qualifications
- Masters in Computer Engineering/Computer Science (preferably with specialization in computer vision and machine learning); alternatively a comparable industry career, with significant experience in delivering products using state-of-the-art computer vision and/or machine learning systems
- Skilled programmer in different languages: C, C++ 11 and above
- Experience with generic open source packages: OpenCV, Point Cloud Library, ROS platforms
- Broad understanding of computer vision; key areas of interest include object detection, tracking, and recognition, multiple view geometry, OCR detection, camera calibrations, 3D data processing, SfM/SLAM, activity recognition
- Comfortable in developing in different OS: Linux, Windows
- Able to adapt and use these patterns in innovative ways to develop custom solutions
- Able to take initiative on issues and report results instead of waiting for task lists
- Good presentation skills, both prepared and “on demand” talks
Nice to Have
- Understanding of machine learning technology and experience on turning machine learning technologies into practical, state-of-the-art systems
- In-depth knowledge with CUDA or OpenCL programming, GPGPU programming, Linux architecture, and GPGPU acceleration
- Experience with scripting and prototyping languages: Python, Matlab
- Highly experienced in interfacing with different sensors including RGB camera, ToF, Stereo, Structured Light
- Understanding of source control such as GIT
- FPGA programming
- Good understanding of distributed computing