Computer Vision Software Developer, Advanced

at Zebra Technologies
Published November 19, 2022
Location Bengaluru, India
Category Computer Vision  
Job Type Full-time  

Description

Overview:
The advanced computer vision software developer will work on Computer Vision projects leading the turning of our core algorithms from prototypes to high quality product ready code. The developer will architect, design and implement strategies for optimizing computer vision algorithms for different hardware architectures (e.g. x86, GPU, multi-core ARM CPU, DSP) based on performance, power and size constraints.

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
  • Serve in a leadership capacity for carrying out software development in C, C++ or other selected languages
  • Use status as a knowledge leader in software design and functional knowledge to provide technical leadership to a given program
  • Define requirements for and may design complex new tools to aid in the analysis and solving of complex problems
  • Estimate scope, duration, effort and risk on project proposals
  • Initiate cross-company collaboration and develop positive relationships with other engineering disciplines
  • Design and/or review architected modules and software systems supporting new technology or improving capability/performance of existing functionality
  • Take responsibility for communicating with different engineers (embedded systems, backend server, computer vision) to continuously improve and optimize implemented algorithms
  • Create automated software tests and provide support to trouble shoot software issues when needed
  • Network with key contacts outside own area of expertise. Interact with management and senior customer personnel on matters requiring coordination across organizational lines. Represent the organization as the principal customer contact and often perform project leadership
  • 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
  • 8+ years work experience
  • 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
  • Significant latitude used in determining objectives of assignment
  • Optimization experience on embedded GPU and DSP platforms: Nvidia, ARM
  • Parallelized & vectorized computation
  • Solid GPU programming experience using CUDA or Open CL
  • Excellent C, C++11 and above programming skills
  • Experience in signal processing algorithms and implementation

Preferred Skills:

  • Camera models & views
  • Photogrammetry & Stereo Geometry
  • 3D point cloud processing
  • Experiences with open-source libraries like OpenCV and PCL
  • Familiar with Linux development environment. 34
  • Language (Modern C++ 11 or later, Python).