A multi-stage AOI pipeline for 120-megapixel scans of iPhone enclosure parts, running on the production lines of Apple’s tier-1 supplier. A segmentation model finds the part, a lightweight CNN detector screens it tile by tile for more than a dozen defect classes, and segmentation and classification models outline and label each defect.
In production · TensorRT in C++ · full-scan detection 8× faster
02
Wafer defect inspection
Industrial perception · HyVision
CNN detectors for active-area and whitening defects inside the wafer inspection software, and a lightweight detector with a third of the baseline’s parameters. A parallel, batched TensorRT runner makes tile inference about 11× faster.
A mobile robot and its Gazebo twin, running one ROS 2 stack. On the robot, a Jetson Xavier NX runs ROS 2 Humble in Docker, and an ESP32 drives the motors and streams encoder and IMU data at 50 Hz into an EKF. slam_toolbox builds maps from the real RPLidar; AMCL and Nav2 navigate the twin, which is built from measurements of the chassis. Web dashboard for teleop and live scans.
Xavier NX · ROS 2 Humble · SLAM on the robot, Nav2 in Gazebo
A learning-from-demonstration stack for the robot: teleoperated demonstrations recorded as a LeRobot v3 dataset, behavior cloning policies running as ONNX in a ROS 2 node, a C++ safety gate as the only path to the motors, and a referee node that judges every method in paired trials against a classical servo.
Hugging Face’s 450M-parameter SmolVLA robot policy, exported as three ONNX graphs and run by a C++17 runtime on TensorRT, with every split point checked against LeRobot on the real LIBERO checkpoint. On a Jetson Xavier NX an action chunk takes 0.33 s in FP16 against 1.0 s in FP32, with actions within the range of LeRobot’s own BF16.
A desktop app for segmentation: label images, train a model, review its proposals least certain first, and retrain on what was accepted. Remote training runs detached over SSH and survives lost connections; large images open through tile pyramids. Built on mySegLib, a PyTorch library with multi-GPU DDP training, chunked inference, and ONNX export.
Open source · Electron and PyTorch · training on remote GPUs
07
3D human avatars
3D perception · AIVAR
From a single photograph to a textured 3D face and body, using morphable models (FLAME, SMPL) trained and customized for Korean faces and bodies, plus diffusion image correction and neural texture matching. Deployed on AWS.
08
Driver monitoring on the edge
On-device perception · Jetson
A single-process driver monitor on a Jetson Xavier NX: GStreamer capture into nine TensorRT FP16 engines for face detection, landmarks, head pose, eye and mouth state and an occlusion check, plus alert logic, with no PyTorch on the board.
Xavier NX · TensorRT FP16 · 16–30 FPS end to end
Research
Attention 3D U-Net with Multiple Skip Connections for Segmentation of Brain Tumor Images