Computer Vision Engineer
Role details
Job location
Tech stack
Job description
APPLE INC has the following available in Cupertino, California and various unanticipated locations throughout the USA. Be responsible for the architecture, design, development, and operations of a real-time system for 3D computer vision. Be responsible for sensor integration, integrating and debugging parallel and concurrent computer systems. Develop algorithmic system for processing RGBD image data as well as designing efficient data flows between algorithmic systems (both within-process and between-processes), as well as power/latency/memory optimization. Bring-up of algorithmic systems on new hardware and sensors. Partner with software and system engineers across different Apple organizations to support efficient integration of 3D computer vision algorithms and enable adoption of these algorithms by new internal customers. Build the system framework that integrates multiple real-time computer vision algorithms across several teams at Apple. 40 hours/week. At Apple, base pay is one part
Requirements
- Master's degree or foreign equivalent in Computer Engineering or related field and 2 years of experience in the job offered or related occupation.
- 2 years of experience with each of the following skills is required:
- Application of Computer Vision fundamentals (linear algebra, probability, image and signal progressing, and 3D geometry).
- Developing real-time Computer Vision algorithms in domains such as 3D reconstruction and SLAM.
- Integrating Computer Vision algorithms into systems with constrained compute by designing efficient data-flows from the hardware to application layer.
- Iterative improvement of algorithm and system quality by designing experiments, analyzing and interpreting data and leveraging insights gained.
- Designing, developing, debugging and maintaining robust, parallel, concurrent systems using C/C++.
- Experience with Computer Architecture concepts including address spaces and shared memory for efficient inter-process communication.
- Experience with unit testing, continuous integration, version control and code-reviews.