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