Lead Machine Learning, Computer Vision Software Engineer
New Today
Project description
Our client, a leading manufacturer of high-end household appliances, is expanding into new smart product lines. As part of this strategic initiative, a large-scale global program is being implemented across the company's IP portfolio. This includes the development of new embedded software, enhancements to cloud infrastructure.
Responsibilities
- Work directly with computer vision perception engineers, and camera ISP engineers.
- Define the image quality requirements for customer use cases.
- Develop image processing algorithms to optimize camera image quality for performance improvement of computer vision applications.
- Develop custom ML models for visual recognition and train them from scratch.
- Quantization and pruning of ML models.
- Data evaluation using relevant metrics to increase model performance.
- Implement computer vision/image processing algorithms in fast/optimal C++ code.
- Implement heuristic/math algorithms and probabilistic methods for camera AI.
- Research existing C++ solutions for CV logic.
- Develop cross platform C++ code.
- Cover algorithms and CV code with unit tests.
- Ramp up on new technologies related to CV/ML/algorithms (not R&D).
- Integrate machine learning modules into algorithms.
Qualifications
Must have
- Bachelor's Degree or higher in Computer Science, Software Engineering, or a related field.
- 3-5 years of experience developing computer vision applications/algorithms.
- Participation in at least 2 image processing / computer vision projects and 1 productized.
- Image processing / computer vision background/understanding.
- Strong C/C++ experience.
- Experience with OpenCV and ML frameworks such as PyTorch, TensorFlow, TensorFlow Lite.
- Deep understanding of neural network architectures.
- Experience working with embedded devices in C++ on Linux.
- Solid understanding of 2D/3D geometry and algebra.
- Desire to learn new technologies.
- Desire to follow test-driven development (in CV/ML too).
Nice to have
- Experience with machine learning integration, inference engines.
- Machine learning general understanding.
- Experience building for Android/Yocto.
- OpenCL/CUDA or OpenGL/Vulkan (shaders) experience/understanding and willingness to learn or any other SIMD language.
- Location:
- United Kingdom
- Salary:
- £80,000 - £100,000
- Job Type:
- FullTime
- Category:
- IT & Technology