We are seeking a Machine Learning Engineer with 1 to 2 years of experience in building production machine learning systems, particularly with a strong focus on computer vision, to join our AI/ML team. The role involves developing a comprehensive computer vision pipeline that automatically extracts structured digital data from scanned images. This includes tasks such as image preprocessing, layout and text detection, segmentation, algorithmic post-processing, and data export. The candidate will work with real-world, imperfect inputs and is expected to deliver accurate and reliable results. A solid foundation in Python and deep learning for computer vision, along with a passion for solving open-ended problems and turning machine learning concepts into scalable, modular software, is essential.
Key Responsibilities
- Design, build, and deploy an end-to-end computer vision pipeline to extract structured data from scanned images, covering preprocessing, layout detection, OCR for text and scale reading, segmentation, post-processing, and data export.
- Train and fine-tune deep learning models for image segmentation, detection, and classification, including architectures such as U-Net, SAM-based, or instance segmentation models.
- Prepare, annotate, augment, and generate image datasets, including synthetic data, to support model training and evaluation.
- Develop image processing and algorithmic post-processing techniques such as dynamic programming, tracking, and graph-based methods to convert model outputs into accurate structured results.
- Apply supervised, unsupervised, and self-supervised learning methods for feature extraction, quality estimation, and continuous model improvement.
- Evaluate models on real, hand-verified samples using task-specific accuracy metrics alongside IoU and Dice scores, optimizing for accuracy, performance, and latency.
- Write clean, modular, and well-tested code, and contribute to deployment, monitoring, and model versioning processes.
- Collaborate closely with engineers and domain experts to define requirements, identify edge cases, and establish quality checks.
Required Qualifications
- Strong proficiency in Python programming and software development best practices, including object-oriented programming, testing, and version control with Git.
- Hands-on experience training deep learning models for computer vision using PyTorch and/or TensorFlow, particularly segmentation or detection models.
- Solid understanding of image processing fundamentals such as deskewing, thresholding, morphology, and geometric transformations, using tools like OpenCV and scikit-image.
- Experience in data preparation, augmentation, and evaluation for computer vision applications.
- Ability to integrate learned models with algorithmic post-processing within multi-stage pipelines.
- Experience developing and deploying production-level machine learning systems, with familiarity in basic MLOps practices.
- Strong analytical thinking, problem-solving abilities, and eagerness to learn.
Preferred Qualifications
- Experience with Optical Character Recognition (OCR) technologies such as PaddleOCR, Tesseract, or TrOCR, or with vision-language models.
- Familiarity with instance segmentation or thin-structure segmentation techniques.
- Knowledge of synthetic data generation or generative models like GANs and diffusion models.
- Experience with active learning, uncertainty estimation, or tracking algorithms.
- Skills in handling large images through tiling and optimizing GPU training workflows.
Experience
- Minimum of 1 to 2 years in developing and deploying production-level machine learning algorithms.
- Preferred experience includes deep learning-based image segmentation (e.g., U-Net) and building computer vision pipelines.
Education
- Bachelor’s degree in Computer Science is required.
- A Master’s degree in AI/ML, Computer Science, Data Science, or a related field is preferred.
Location
- This position is based in Islamabad and requires on-site presence.