Mississauga, ON · open to relocation

Yousef Alborzi
ML & Computer Vision

// perception for robots that run in production

I build, deploy and commission ML-driven perception for industrial robots: PyTorch models for detection, segmentation and 3D registration, optimized for real-time edge inference and wired into robots and PLCs, delivered on site at plants and mines.

yousef@perception: ~
scan: coil_0427.ply
plane x = 0.00
points captured 0
drag to orbit
5+ yrs
robotic perception in production
−50%
reprojection error from refined camera-to-robot calibration
1
patent: 3D vision-guided robotics
5
publications & research works
4
robot platforms: KUKA · ABB · UR · FANUC
01 // workflow

End-to-end ownership, from the camera to the PLC

I own the whole lifecycle of a perception product, from collecting the first images on site to monitoring drift once the system is running.

00

collect

On-site datasets, camera & compute networks, calibration.

stereo rigs3D cams
01

label

Annotation strategy set with the client, plus active-learning tooling.

Label Studioactive learning
02

train

CNN & Transformer detection and segmentation on versioned data.

PyTorchMLflowEC2
03

optimize

Real-time edge inference that meets cycle time.

ONNXTensorRTINT8
04

deploy

Served models, robot & PLC orchestration, on-site commissioning.

FastAPIDockerEtherNet/IP
05

monitor

Event logging, historian DB and drift detection that drive retraining.

driftMongoDBSQLite
02 // projects

Selected work

Every visualization below runs the real algorithm in your browser, on simulated data so that client data stays confidential. Drag the 3D views to orbit them.

loadout_vision.pycalib.pyplc_bridge.pyHatch · potash mine
vision-guided automation · stereo 3D tracking

Robotic Loadout Vision System

A vision-guided robotic system for railcar loadout, delivered and commissioned on site at a customer potash mine.

−50%reprojection error
  • Built the custom dataset on site and trained detection + segmentation models for 3D object tracking in a stereo rig.
  • Derived a camera-to-robot calibration from stereo-triangulated points, halving reprojection error.
  • TensorRT engine builds + quantization met cycle time with no measurable accuracy loss; served behind FastAPI and wired to robot / PLC orchestration.
  • Owned deployment infrastructure: camera & compute networking, event logging and historian DB, plus data-drift pipelines that drive targeted retraining.
PyTorchOpenCVTensorRTFastAPIPLC
calibration 3D RMS – mm reproj – px
laser_triangulation.cppprofile_calib.pyHatch · custom sensor
structured light · 3D reconstruction

Laser Triangulation Line Sensor

A custom line sensor I designed and built, combining a synchronized laser-line projector and camera to reconstruct 3D point clouds of moving objects.

  • Derived the triangulation and calibration mathematics that map laser-line displacement in the image to metric height.
  • Synchronized projector and camera so that successive profiles stitch into a dense cloud as objects move through.
  • Sub-pixel laser-line peak extraction and per-profile filtering for robust geometry.
C++PythonOpen3Dcalibration
points 0
baleguard/infer.pyactive_learning.pymetrics.pyHatch · defect detection
instance segmentation · inspection

BaleGuard

An instance-segmentation system that masks surface defects on bales. It targets the false-reject rate of the client's incumbent inspection system.

  • Set the annotation strategy with the client and labeled in Label Studio; chose augmentation and class balancing from EDA of defect size, frequency and lighting.
  • Built custom annotation tooling with active learning to speed up labeling and training.
  • Compared CNN vs. Transformer segmentation architectures on versioned datasets in MLflow; trained on AWS EC2 and served via EC2 + ECR.
  • Defined custom acceptance metrics rather than relying on mask mAP alone, and turned model performance into inspection-line impact for the customer.
PyTorchTransformersMLflowAWSDocker
false reject – missed –
stripsense/edges.pystereo.pyHatch · metrology
classical vision · stereo metrology

StripSense

A stereo vision system for 3D coil and strip tracking. I was the sole author of the classical vision chain: camera calibration, edge detection, sub-pixel localization and stereo reconstruction.

  • Sub-pixel edge localization (parabolic fit on the gradient peak) feeds the stereo geometry, since depth precision depends directly on it.
  • Multi-threaded processing and 3D point-cloud visualization; presented to the client to demonstrate viability.
  • Published as "Vision-Based Noncontact Measurement of Strip Deformation and Position in Continuous Galvanizing Lines" at AIST GALVATECH 2026.
OpenCVOpen3DNumPythreading
mean |err| px: argmax – · sub-px –
tguide/registration.pypath_planner.pyTetragen · patented
3D registration · patent WO2023102647A1

T-guide: 3D Vision-Guided Robotics

I took T-guide from a research idea to a customer-demonstrable product: a 3D vision system that localizes workpieces and generates robot paths autonomously. Invented and patented.

  • Core point-cloud registration pipeline: acquisition, preprocessing, primitive extraction and alignment against reference models in real time.
  • Combined classical (ICP) and learning-based registration, including my Attention PointResNet for end-to-end point-cloud registration.
  • Engineered the full system: 3D camera calibration, robot path-planning automation and the PySide operator UI.
Open3DPyTorchC++PySide
iter 0 · RMSE – mm
03 // git log --career

Experience

commit 7f3a9e1(HEAD → present)Nov 2024 – PresentMississauga, ON

Vision & AI Application Developer @ Hatch Ltd.

Own multiple ML perception products for robotics and inspection end to end: problem framing, data, training, inference optimization, on-site commissioning, edge deployment and in-service monitoring.

show diff
  • Robotic Loadout Vision System: stereo detection/segmentation, camera-to-robot calibration (−50% reprojection error), TensorRT edge inference, PLC integration, drift monitoring.
  • Custom laser triangulation line sensor: triangulation & calibration math for 3D point clouds of moving objects.
  • BaleGuard: instance segmentation, active-learning annotation tooling, MLflow experiments, AWS serving, custom acceptance metrics.
  • StripSense: stereo metrology, sub-pixel edges, multi-threaded processing and 3D visualization.
PythonPyTorchOpenCVOpen3DONNXTensorRTFastAPIDockerAWSMLflowGitHub Actions
commit 2c81d04Sep 2023 – Nov 2024Vancouver, BC

Robotic Solutions Engineer @ Apera AI

Deployed and validated AI vision software in live 24/7 automotive production, and was the subject-matter expert on pick-accuracy failures in 3D stereo vision-guided systems.

show diff
  • Commissioned and programmed robotic cells on client sites running Apera's stereo depth reconstruction, which is trained on synthetic data.
  • Camera and robot-to-camera calibration; built guidelines and tools to speed up calibration and pick-accuracy troubleshooting.
  • Prototyped a pose-verification pipeline for camera-to-robot alignment; optimized drivers and motion interfaces on KUKA, ABB, UR and FANUC.
  • Built proofs of concept, assessed technical risk in customer workcells, and ran a field-feedback loop that eliminated recurring failure modes.
PythonC++ROSOpenCVSolidWorks
commit a90be55Sep 2021 – Jun 2023Winnipeg, MB

Vision Integration Specialist @ Tetragen Robotics

Took T-guide, a 3D vision system for robotic automation, from research idea to customer-demonstrable product. Invented and patented the system (WO2023102647A1).

show diff
  • Core registration pipeline: point-cloud acquisition and processing, geometric primitive extraction, robot path-planning automation.
  • Learning-based and classical registration that matches workpiece geometry against reference models in real time.
  • 3D camera calibration, custom point-cloud pipelines and a PySide operator UI for robot control.
PythonC++Open3DPyTorchPySide
04 // cat skills.yaml

Technical expertise

skills.yaml
# what I reach for, by domain
programming: [Python, C++, MATLAB, Linux, Git]
ml:
  frameworks: [PyTorch, scikit-learn, MLflow]
  models: [CNNs, Transformers]
  tasks: [detection, segmentation, 3D registration]
  data: [synthetic data, active learning]
  inference: [ONNX, TensorRT, quantization]
classical_cv:
  - OpenCV / Open3D
  - stereo & multi-view geometry
  - camera & hand-eye calibration
  - feature detection & matching
  - image & point-cloud registration
  - laser triangulation / structured light
  - edge & sub-pixel detection
robotics_systems:
  middleware: [ROS, ROS 2]
  simulation: [NVIDIA Isaac Sim, MuJoCo]
  robots: [KUKA, ABB, UR, FANUC]
  industrial: [PLC, EtherNet/IP]
  serving: [FastAPI, Docker, Nuitka, systemd]
  data: [MongoDB, SQLite]
  cloud: [AWS EC2, ECR, S3, SageMaker]
years_in_production: 5
where_the_time_went.log
3D vision
calibration
deep learning
edge inference
robot integration
MLOps / serving
C++
# relative emphasis across five years of production work, self-assessed
05 // research

Patent & publications

2023
Y. Alborzi et al. (inventor)
Patent WO2023102647A1
2026
Vision-Based Noncontact Measurement of Strip Deformation and Position in Continuous Galvanizing Lines
A. Maghami, Y. Alborzi, J. Tham, et al.
AIST GALVATECH 2026
—
Attention PointResNet: End-to-End Point Cloud Registration with Attention Residual Connections
Y. Alborzi, M. Khoshdarregi
—
Automated vision-based part localization and path generation in robotic fiberglass trimming
Y. Alborzi, M. Khoshdarregi
University of Manitoba (M.Sc. research)
2022
B. Safarijalal, Y. Alborzi, E. Najafi
arXiv:2206.15042
2019
Robust Real-Time Lightweight Automatic License Plate Recognition System for Iranian Plates
Y. Alborzi, T. S. Mehraban, J. Khoramdel, A. N. Ardekany
ICRoM 2019, Tehran
M.Sc. Mechanical Engineering

University of Manitoba

Winnipeg, MB · May 2021 – Aug 2023
B.Sc. Mechanical Engineering

K. N. Toosi University of Technology

Tehran, Iran · Sep 2016 – Aug 2020
06 // contact

Let's build something that ships

I'm open to ML, computer vision and robotics perception roles, on site or remote, and open to relocation.

contact.sh
$ ./contact --email → sinaalborzi31@gmail.com $ ./contact --github → github.com/sinadunk23 $