
Ibrahim Abedrabbo
Verified Expert in Engineering
Machine Learning Developer
Istanbul, Turkey
Toptal member since June 19, 2025
With 11 years of experience in applied machine learning and software engineering, Ibrahim builds advanced AI systems for real-world challenges. He is skilled in high-performance coding, AI integration, neural network training, inference optimization, and pipeline automation, and proficient in VLMs, LLMs, 2D/3D detection, classification, and TensorRT. Ibrahim is experienced in engineering full-stack AI solutions from research to deployment, with the flexibility to meet evolving project needs.
Portfolio
Experience
- Machine Learning - 10 years
- Computer Vision - 8 years
- PyTorch - 8 years
- Python - 7 years
- C++ - 4 years
- Amazon Web Services (AWS) - 3 years
- Visual Language Models (VLMs) - 2 years
- Large Language Models (LLMs) - 2 years
Preferred Environment
PyTorch, Python, Docker, GitHub, Visual Studio Code (VS Code), Ubuntu, NVIDIA CUDA, Hugging Face Transformers, Amazon Web Services (AWS), Google Cloud
The most amazing...
...thing I've done was adapt 3D object detection to fisheye cameras without retraining and using ML to fix quadrupole misalignments in particle accelerators.
Work Experience
Applied Computer Vision Engineer
Lightspeed Group LLC
- Built a YOLO-OBB training pipeline with DVC dataset versioning, Optuna hyperparameter search, and MLflow experiment tracking.
- Exported models to ONNX/TensorRT for GPU-accelerated edge inference.
- Created an interactive SAM-powered annotation tool for auto-segmentation and oriented bounding box labeling.
- Designed a gRPC inference server with automated, change-aware deployment to edge devices.
- Dockerized the full training and inference stack across multiple services.
- Built a 3D reconstruction pipeline (segmentation/depth estimation/point cloud/plane fitting), computing real-time positional/angular corrections for robot alignment.
- Packaged the system as a ROS2 service with configurable multi-source depth input.
- Developed camera tooling for synchronized RGB/depth capture across robot configurations.
Applied Machine Learning Engineer
Daily Robotics
- Trained and deployed GroundingDINO VLM. Implemented a caching technique for text model outputs during inference to boost efficiency.
- Enhanced data generation workflows by implementing an efficient multi-GPU resource manager for parallel processing, significantly accelerating perception data generation.
- Trained a YOLOv11 object detector model to identify ripe vs. unripe fruits, enhancing the perception module for the harvesting system.
- Designed and managed a data pipeline for efficient frame selection, annotation, and dataset export, streamlining the training process and improving the object detection model quality.
- Integrated SAM2 and object tracking models for real-time tracking and segmentation in dynamic scenes.
- Developed extrinsic transformations across multiple cameras, unifying data into a common world frame.
- Restructured ROS2 nodes within the perception layer for modularity, reusability, and a syncing mechanism that minimized dropped messages.
- Developed an offline mode for debugging and dataset replay.
- Built Docker containers tailored for VLM object detection, simplifying training, development, and deployment processes.
- Leveraged ClearML with Docker to automate training sessions and rerun experiments with modified parameters or datasets.
Applied ML & Software Engineer
Imagry
- Contributed to POCs of 2D/3D object detectors and recommended projects that got accepted and adopted.
- Implemented a solution from a published paper to predict 3D objects from fisheye cameras without training images, using our vanilla model trained on rectilinear images. Tasks included Python implementation, porting to C++, and system integration.
- Implemented extensive modifications to adapt the object detection network to our dataset and use cases.
- Developed an MOT (multi-object, multi-camera) tracking system.
- Developed a traffic light selector for selecting the most relevant traffic light.
- Introduced TensorRT for optimizing neural network graphs, which resulted in significantly lowering neural network inference time (20%-40% increase in frame rate).
- Developed and automated a model deployment pipeline from PyTorch to ONNX, and finally generated the TensorRT engines.
- Worked closely with cross-functional teams to integrate new AI solutions.
- Served as a technical team facilitator, assisting engineers from multiple teams.
- Became aware of the tech tiers of developing the self-driving car.
Software Developer
HIRO Media
- Maintained the system’s back end (Java) and front end (JavaScript) by resolving development tickets to add new features and fix bugs.
- Handled system test automation. Built overall integration test projects for server-side and client-side applications, and automated required sanity checks. Utilized the TestNG testing framework and SeleniumHQ to automate browsers.
- Built an email notification system. Completed a mini project where an email notification system was triggered when some pre-configured conditions were met.
Software Engineer
Infinite Tiers Group
- Maintained the eCommerce platform WebSphere Commerce Suite (WCS) for multiple companies by resolving technical support tickets related to bugs, system errors, and feature enhancements.
- Enhanced the WCS platform functionality by developing and integrating new features.
- Developed and automated the generation of reports and packing slips using C#.NET and XSLT.
Experience
3D Object Detection from Fisheye Images Without Training Images
Implemented a solution directly from a published paper to predict 3D objects from fisheye cameras without training images, using our vanilla model trained on rectilinear images. Tasks included:
• Python implementation
• Porting to C++
• Integration with the main AI stack
The implementation has significantly reduced R&D time, as I did not train on any additional images. I utilized the existing 3D object detector.
METHODOLOGY
• Problem: Perspective images are shift-invariant, which means that an object moving along the X and Y axes with constant Z will result in the same appearance model and size. This is not true for fisheye images, where an object with the same depth will have a different appearance model and size when translated along the X and Y axes.
• Solution: The solution is to transform fisheye images into cylindrical projections, which are shift-invariant. Then, a pre-trained 3D object detector model is utilized, and the transformed images are passed to predict 3D objects.
IMPLEMENTATION STEPS
1. Transform fisheye images into cylindrical projections.
2. Inference on cylindrical Images using a pre-trained 3d Object detector.
3. Convert the detected 3D bounding box from 3D cylindrical space to real 3D space.
Fine-tuning Llama-2 for Domain-specific Question Answering
Two phases for fine-tuning Llama-2:
1. Self-supervised learning (pre-training) on a text corpus in a causal learning fashion (CLM).
2. Supervised learning (fine-tuning) for question-answering.
DATASET
For self-supervised learning, a collection of physics books was used for one model, and a scientific paper for the other. Text was extracted and split into chunks using LangChain. For supervised learning, question-and-answer datasets were generated for each domain using Llama2-7 b-chat LLM via an automated script. The script augments text chunks into prompts, generating Q&As split into input (question) and target (answer).
TRAINING
For each domain:
1. Train the self-supervised model with text chunks.
2. Fine-tune the supervised model with the Q&A dataset.
Parameter-efficient techniques (PEFT) and QLoRA reduced trainable parameters from 7B to approximately 34M by freezing most of the network and training only adapters.
• For evaluation, Perplexity and Rouge metrics were used.
(Accepted Conference Paper; MedPRAI24)
Optimizing Neural Networks via Model Structural Pruning
PAPER TITLE
Optimizing Neural Networks for Edge Devices via Structural Pruning: An Empirical Study with DepGraph
BRIEF
• The main goal in this project was to provide an experimental proof of structural model pruning for optimizing neural networks, resulting in higher inference FPS.
• The structural pruning technique from an open-source project was employed to prune the SwinTransformer-tiny model for classification on a subset of the ImageNet-1k dataset.
• The inference time was decreased by up to 45% compared to the original model while maintaining the accuracy of the original, unpruned model.
PRUNING AND TRAINING
The solution involves the following steps:
• Training the base vanilla model on the dataset.
• Apply structural pruning.
• Fine-tuning the pruned model on the same dataset.
MODEL PRUNING RESULTS
Two different pruning configurations were applied to the vanilla model with different pruning %. The number of trained parameters dropped significantly for both the pruned models. Also, inference speed was increased by roughly 23% for the first model and by nearly 44% for the second model.
ACCURACY COMPARISON
Pruning retains competitive performance across various evaluation metrics.
AI System Optimization with TensorRT Engines
BRIEF
• Introduced the TensorRT framework into the company's workflow, optimizing all the company's neural network graphs and achieving a 20%-40% increase in frame rate.
• Developed a C++ API for loading and initializing the engines and orchestrating the input, inference, and output during runtime.
• Automated the model deployment pipeline, converting models from PyTorch to ONNX and generating TensorRT engines for all the networks.
• Significantly reduced neural network inference time, enhancing overall system performance.
• Did the quantization of models with both FP16 and INT8 precisions while maintaining accuracy.
• Used both PTQ and QAT techniques (calibration data and quantize-aware training) for INT8 quantization.
WORK FLOW
1. The trained PyTorch models were converted to ONNX graphs.
2. ONNX graphs are then processed with the Polygraphy to have a dynamic batch dimension.
3. Finally, I converted ONNX graphs to TensorRT engines.
When starting the AI system, the engines are loaded via the C++ API and are ready to perform inference on new input.
Machine Learning-based Determination of Quadrupole Misalignments in Particle Accelerators
https://github.com/aRibra/lattice_correction_net• Developed a machine learning framework for lattice fault detection and correction in a synchrotron storage ring.
• Designed and trained FCNN and LSTM models on simulated beam position monitor (BPM) signals to predict vertical quadrupole misalignments.
• Created a custom Python-based simulator to generate beam dynamics data for training.
• Benchmarked model robustness through BPM and tilt noise tolerance evaluation, cross-validation, and accumulated training.
• Achieved effective restoration of the beam’s vertical orbits to near-baseline conditions post-correction.
• Observed models reached 0.57 µm and 0.04 µm MAE, respectively, under realistic noise and tilt.
• Demonstrated the potential of ML-driven fault diagnosis and correction as a fast and accurate approach for modern accelerators, enabling stable, high-quality beams.
Machine Learning Project
CONTRIBUTIONS
• Fine-tuned a family of BERT models, including BERT and DistilBERT, achieving 0.96 accuracy on training data and 0.89 on evaluation data.
• Led the end-to-end development, from data preprocessing to model deployment on Hugging Face.
• Utilized a small hand-crafted dataset and synthesized extra samples in alignment with the client's needs.
• Created insightful visualizations to monitor training progress and model performance.
Education
Master's Degree in Computer Engineering
İstinye Üniversitesi - Istanbul, Turkey
Bachelor of Science in Computer and Information Technology (CIT)
Wajdi University College of Technology - Jerusalem
Certifications
AWS Certified Machine Learning – Specialty
Amazon Web Services
Skills
Libraries/APIs
NumPy, PyTorch, Pandas, OpenCV, Scikit-learn, Keras, Matplotlib, Hugging Face Transformers, jQuery
Tools
GitHub, Git, NVIDIA Jetson, Amazon SageMaker, Visual Language Models (VLMs), Jupyter, You Only Look Once (YOLO), Apache Tomcat, Jenkins
Languages
Python, Python 3, C++, Java, JavaScript, XSLT, C#
Platforms
Jupyter Notebook, Amazon Web Services (AWS), Docker, AWS Lambda, NVIDIA CUDA, Linux, ClearML, Visual Studio Code (VS Code), Ubuntu, NVIDIA Jetson AGX Orin
Paradigms
ETL, Object-oriented Programming (OOP), Test Automation
Storage
Data Pipelines, JSON, Amazon S3 (AWS S3), Google Cloud
Frameworks
TestNG
Industry Expertise
Scientific Research
Other
Machine Learning, Neural Networks, Deep Learning, Computer Vision, Artificial Intelligence (AI), Object Detection, Object Tracking, NVIDIA TensorRT, Fine-tuning, Model Tuning, Supervised Machine Learning, AI Programming, API Integration, Image Recognition, AI Model Integration, AI Model Training, Software Development Lifecycle (SDLC), Model Evaluation, AI Pipeline, Data Science, 3D, Meta Llama, Large Language Models (LLMs), Robot Operating System (ROS), LangChain, Data Engineering, Image Processing, Prompt Engineering, Transformer Models, AI Design, Generative Artificial Intelligence (GenAI), Data, ROS2, Cloud Services, Containers, Containerization, Retrieval-augmented Generation (RAG), Image Segmentation, Multimodal Models, 3D Pose Estimation, RAG Systems, LiDAR, BERT, Data Structures, Particle Physics, Computational Biology, Computer Science, Optimization, Neural Network Pruning, Software Architecture, Software Engineering, Llama 2, LoRa, Quantization, Research, Classification, Data Analysis, Data Visualization, AI Integration, Selenium IDE, Web MVC, Physics, Simulators, LSTM Networks, Diagnostics, Tech Conferences, Transformers, Hugging Face, Aider, Natural Language Processing (NLP), Machine Learning Operations (MLOps), Robotics, Leadership, PEFT, Vector Databases, Robotic Process Automation (RPA)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring