Perception Engineer
About the Role
We are seeking a Perception Engineer to develop, optimize, and deploy computer vision and sensing systems for autonomous platforms. This role spans the full perception pipeline, including camera and sensor evaluation, image processing, machine learning, embedded software deployment, and integration with real-time autonomy systems.
The ideal candidate combines strong software engineering skills with a practical understanding of computer vision, optical sensing, and embedded systems. This is a hands‑on engineering role focused on translating algorithms into reliable, production‑ready systems that perform in real‑world environments.
Responsibilities
- Develop and optimize computer vision, image‑processing, and sensor‑processing algorithms for real‑time perception applications.
- Evaluate cameras, lenses, and image sensors based on resolution, sensitivity, noise, dynamic range, and overall performance requirements.
- Design and implement techniques for image enhancement, denoising, filtering, feature extraction, and object detection.
- Train, fine‑tune, and evaluate machine learning models for object detection, classification, tracking, and state estimation.
- Deploy and optimize perception software on embedded and edge‑computing platforms.
- Improve system performance by optimizing latency, throughput, and computational efficiency using GPU acceleration and related technologies.
- Develop production‑quality C++ software and integrate perception capabilities with robotics and autonomy frameworks.
- Collect, analyze, and evaluate real‑world data to identify performance gaps and improve perception systems.
- Troubleshoot issues across the perception pipeline, including sensor performance, image quality, processing algorithms, and system integration.
- Collaborate with cross‑functional engineering teams to ensure perception outputs meet system‑level performance and reliability requirements.
- Develop testing, benchmarking, and evaluation workflows to measure accuracy, robustness, and real‑time performance.
Basic Qualifications
- Bachelor’s degree in Computer Science, Robotics, Electrical Engineering, Computer Engineering, Aerospace Engineering, or a related technical field, with relevant industry or applied robotics experience; alternatively, a master’s degree in a related discipline.
- Experience developing computer vision, perception, image‑processing, or sensor‑processing systems.
- Proficiency in C++ and experience developing performance‑sensitive software.
- Understanding of image‑processing fundamentals, including filtering, denoising, contrast enhancement, feature extraction, or temporal analysis.
- Experience developing, training, fine‑tuning, or evaluating computer vision or machine learning models.
- Familiarity with embedded systems, real‑time computing, or software deployment under hardware and computational constraints.
- Strong debugging and analytical skills, with an emphasis on data‑driven evaluation and measurable performance improvements.
- Ability to work effectively in a fast‑paced engineering environment and collaborate across multidisciplinary teams.
Preferred Qualifications
- Experience evaluating cameras, lenses, optical systems, or image sensors.
- Familiarity with sensor characteristics, including pixel size, sensitivity, exposure, noise, dynamic range, and resolution.
- Experience deploying computer vision or machine learning applications on embedded platforms such as NVIDIA Jetson.
- Knowledge of CUDA, TensorRT, GPU programming, or performance profiling and optimization.
- Experience with ROS 2 or other robotics middleware.
- Background in sensor fusion, visual‑inertial systems, or multimodal perception involving cameras, radar, or LiDAR.
- Experience with robotics, autonomous systems, unmanned aerial systems (UAS), or field testing.
- Familiarity with dataset development, data labeling, model evaluation metrics, and regression testing.
- Experience transitioning computer vision algorithms from research and prototyping into production‑ready software.