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 the camera image quality for performance improvement of computer vision applications.
- Develop custom ML models for visual recognition and training it from scratch.
- Quantization and pruning the ML models.
- Data evaluation using relevant metrics to increase the 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 test.
- Ramp up on new technologies related to CV/ML/algorithms (not R&D).
- Integrate machine learning modules into algorithms.
Mandatory Skills Description
- Bachelor's Degree or greater in Computer Science, Software Engineering, or related field.
- 3-5 years of experience developing computer vision applications/algorithms.
- Participate in at least 2 image processing / computer vision projects and 1 of them 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 to work with embedded devices in C++ on Linux.
- Decent understanding geometry 2D/3D and algebra.
- Desire to learn new technologies.
- Desire to follow test driven development (in CV/ML too).
Languages