Frame 00 · Engineer · Researcher · Lecturer
Ahmad Audi.
Computer vision for drones.
Computer vision, end to end: the cameras, the algorithms, and the machines that act on them.
Senior lead computer vision engineer at Oreyeon · Researcher, Ph.D. · Lecturer at USJ and LAU · Independent freelancer · Grenoble, France
- 14 yearsIn industry and R&D: computer vision, embedded AI, thermal imaging, HPC
- 12 yearsLecturing part-time at USJ, LAU, ESIEE and ESIEA
- 80+Projects delivered; 15 of them are shown here
- Ph.D.In embedded computer vision, IGN, 2017
- NowSenior lead computer vision engineer at Oreyeon, since 2023
- Fig. 0 · Drawn live in your browser, no video. The inset is the gimbal camera’s own view.
Companies and institutions I have worked with and for
02Work
Selected projects.
Full write-upsFifteen samples from more than 80 projects. The write-ups do not say which client each project was for; the photos, clips and results come from the projects themselves. Every card opens the full write-up: what it does, my part, one fact you can check.
01 · Freelance · Embedded AI · UAV
Real-time visual tracking on a Jetson for FPV drones
The operator picks one target; the drone keeps it locked while both move. A state-of-the-art tracker, adapted for the Jetson, with a 30 fps low-latency video link. The clips: a real test flight through the drone’s own camera, then benchmark runs on UAV123 and DTB70.
30 fps at 1280×740 · Jetson Orin Nano Super
02 · Lynred · Infrared · Embedded AI
An AI denoiser for thermal cameras, small enough to live in the camera
Raw thermal video is grainy and striped. The embedded denoising model I worked on at Lynred cleans each frame on the camera’s own processor and keeps the edges; Lynred presented it at SPIE DCS 2025 as Lynred Denoiser Net. Drag the divider.
Runs in the camera · Proc. SPIE 13469
03 · Lynred · Infrared · Image quality
Image quality for thermal sensors, from the raw pixels up
Raw infrared images are uneven, striped and grainy, with dead pixels. At Lynred I worked on the chain that cleans them (non-uniformity correction, defective pixels, noise and stripes, contrast and detail), then detection and tracking, in C++ on a PC and on the camera’s SoC.
Raw sensor → clean video · PC and in-camera C++
04 · Freelance · Thermal · Embedded AI
A thermal object detector, from camera choice to live alerts
Camera choice, acquisition, data and labelling, a custom YOLO model and a multithreaded C++ inference pipeline with alerts.
Whole chain: camera → Jetson → alert
05 · Freelance · Robotics · 3D vision
Vision-guided bin picking and assembly, without fixtures
Perception-only targets in a closed loop: segmentation, pose, work-in-progress tracking, motion planning; 17 perturbations, no flips after anchoring.
Sub-mm pick targets · Placement flips 11/17 → 0
06 · Freelance · Video analytics · Jetson
DeepStream pipeline with a local vision-language model
RTSP cameras batched on a Jetson’s GPU, a TensorRT detector, and short questions to a small VLM served by llama.cpp.
87 detections/s on 4 streams · Yes/no answers in 0.3 s
07 · Freelance · Thermal · Deep learning
On-device super-resolution for a vehicle thermal gimbal
A lightweight network doubles the resolution of every frame on the processor next to the sensor.
256×320 → 512×640 on the device
08 · Freelance · Thermal · Image quality
HDR tone mapping for thermal video
16-bit sensor data to an 8-bit display without flattening the scene around one hot object.
Detail kept in the coldest and hottest regions
09 · Freelance · Industrial · C++
Perception pipeline for an industrial 3D time-of-flight camera
From depth and amplitude images to point clouds, segmentation, object sizing and pose, inside a 320 × 240 ToF camera.
Launched product · ±5 mm · Three embedded use cases
10 · Freelance · Industrial · Deep learning
Defect detection on textured surfaces for a production line
From classical statistics to deep-learning detection and classification on moving fabric, with real-time size estimation.
Several textures · No per-material tuning
11 · Freelance · Agriculture · PyTorch
Feed-bunk monitoring in dairy barns from fixed cameras
Segment the bunk, classify full, low or empty, count the cows and recognise the feed tractors.
Evaluated across three camera angles
12 · Freelance · Retail · C++
Real-time people counting on a CPU
YOLOv5 and ByteTrack in C++ on NCNN, so each person is counted once with no GPU.
CPU only · YOLOv5 + ByteTrack on NCNN
13 · Day job · Oreyeon · Edge SoC
Vision R&D at Oreyeon: the Mobile Detection Unit
A unit on an airport patrol vehicle that finds and geolocates runway debris and pavement damage; I lead its computer vision: sensors (cameras, IMU, GPS), calibration and edge deployment.
Lead since 2023 · Debris under 2 cm
14 · Ph.D. · FPGA · Embedded vision
IMU-aided image stacking in a drone camera
Ten short exposures aligned with the gyroscopes and stacked into one sharp image, inside the camera’s Zynq FPGA.
Resampling 36.9 s → 0.41 s in the FPGA
15 · Postdoc · HPC · GPU
Tomographic reconstruction on CPUs and GPUs with Kokkos
X-ray and ultrasound reconstruction from CIVA rewritten in C++ with Kokkos so one source runs on multicore CPUs and GPUs.
Presented at ParCo 2019
Every card opens its project: what it does, my part, one fact you can check, with the photos, clips, 3D views and benchmark numbers.
Coming soon. New projects and news are being written up and will appear here.
03Services
Three ways to start.
Pick the one that matches where your project is. Each ends with something you can hold, and each can stop there.
-
01
Feasibility & camera choice
Before anyone buys hardware or labels a frame: can a camera see this at all, and which one?
- Sensor and optics recommendation sized to range, resolution, light and budget
- A data-collection and labelling plan you can run yourself
- The risk list, with the one experiment that settles each risk
- A written report you can hand to a supplier or an investor
-
02
Prototype sprint
A working pipeline on your data, end to end, so the decision to invest is made on evidence.
- Acquisition, the model or the classical method, and the decision logic
- Evaluation on held-out footage, with the numbers written down
- A demo you can run without me, and the code in your repository from day one
- A clear note on what it would take to make it a product
-
03
Productisation & edge port
The prototype becomes something you ship: on a server, in a box, or on a 10-watt board.
- C/C++ implementation, tests and non-regression benches
- Streaming, recording, GUI, alerts: the application around the model
- Deployment on Jetson, GPU, SoC or FPGA with the power and latency budget met
- Hand-over: documentation, and your team able to maintain it
Pricing and the engagement model are quoted after a short call, once the scope is clear. Remote by default; on site in France or Lebanon when the hardware needs it.
04What I build
I build computer vision end to end: the camera and the data, the algorithms and models, and the application that ships them, wherever it has to run.
A vision project is rarely just a model. It starts with the sensor and the optics, goes through data collection and labelling, classical image processing and deep learning, calibration and 3D, and ends in software someone actually operates: a pipeline, a service, a GUI, an alert. I have done each of those steps for clients, and most projects needed several of them at once.
When the application has to run on the edge, that is a skill I have in depth: a Ph.D. at IGN putting a real-time stabilisation algorithm inside a drone camera’s FPGA, a postdoc at CEA porting tomography to GPUs, four years on Lynred’s image-signal-processing team making infrared cameras see better, a year of space electronics at Airbus Defence and Space, and, since 2023, senior lead computer vision engineer at Oreyeon. But the chip is the last step of a project, not its subject. I prototype in Python, write the product in C/C++, and move to CUDA, OpenCL or VHDL only when the budget asks for it.
I have also been teaching since 2014, part-time, alongside the engineering work: today computer vision, deep learning and parallel computing at Saint Joseph University of Beirut and the Lebanese American University; before that C, C++, systems and architecture at ESIEE and ESIEA in Paris. Explaining a method to a room is still the best test of whether I understand it.
Away from the desk: hiking, biking and photography.
Toolchain
- Capture & data
- Camera selection (RGB, LWIR thermal, ToF, line-scan, RGB-D) · Optics and field-of-view sizing · Acquisition pipelines · Data collection and labelling guidelines · CVAT · Dataset design and evaluation
- Algorithms & models
- OpenCV · PyTorch · Detection, tracking, segmentation, classification · Super-resolution and image enhancement · Calibration · 3D reconstruction and point clouds · Feature matching · Time series over detections
- Application
- Python and C/C++ · GStreamer and DeepStream · RTSP streaming and recording · TensorRT, NCNN, OpenVINO · Qt GUIs · Linux services · Tests and non-regression benches
- Edge & acceleration
- NVIDIA Jetson · CUDA · OpenCL · OpenMP · MPI · Kokkos · ARM NEON · Xilinx Zynq (VHDL & HLS) · Renesas DRP · Intel Myriad X · Microcontrollers
- Interfaces & workflow
- UART · I²C · SPI · AXI · Matlab · Git · CMake · Linux
05Experience
Career so far.
Newest first: fourteen years of industry and R&D (embedded vision, infrared, a year of space electronics, a national lab, a Ph.D.), twelve years of part-time lecturing, and the freelance work that runs alongside.
How to start a project-
Senior lead computer vision engineer (R&D) · Oreyeon · Remote
Since April 2023, I have led the computer vision R&D: detection, tracking, feature matching, stitching and online camera calibration, designed in Matlab and Python, written in C/C++, deployed on edge GPUs with CUDA and TensorRT. Integration of new sensors (GPS, IMU, cameras) and sensor fusion; validation in real conditions.
-
University lecturer · USJ & LAU · Beirut · Part-time
Saint Joseph University of Beirut since August 2023: computer vision, OOP and C++, programming for AI and machine learning, introduction to AI, data structures and algorithms, supervision of electronics projects. Lebanese American University since December 2023: deep learning for computer vision and for NLP, Linux, shell and Python, parallel computing with CUDA, OpenMP and MPI.
-
Independent freelancer, computer vision · Remote
End-to-end vision systems for clients: camera choice, data, models, and the application around them, moved to GPUs or edge devices when the project needs it. Ten of them are in the work above.
-
Embedded software engineer, space electronics · Airbus Defence and Space · Élancourt · Part-time
Hardware/software architectures from customer requirements; software layers in C on an in-house FPGA; real-time applications in VHDL and HLS from planning to on-target debugging; validation against space constraints with the functional-safety and radiation-hardening teams.
-
Embedded image algorithms engineer (R&D) · Lynred · Grenoble
Image-quality algorithms for thermal imaging researched in Python, integrated in C/C++ into the SDK, and ported to the product’s chip (CPU, GPU, FPGA, VPU, SoC). Product firmware in C, test and non-regression benches, hardware-architecture exploration under power, performance and area constraints, supervision of master’s interns.
-
University lecturer · ESIEE Paris & ESIEA · Paris · Part-time
ESIEE Paris, 2014 to 2020: Linux systems, C++, GPU, MPI and OpenMP. ESIEA, 2019 to 2023: C, advanced algorithms and data structures, microcontrollers and assembly, computer architecture.
-
HPC research engineer, postdoc · CEA List · Saclay
X-ray tomographic reconstruction (FDK) and ultrasound imaging (TFM) from the CIVA non-destructive-testing software, rewritten in C++ with Kokkos to run on multicore CPUs and CUDA GPUs from one source.
-
Ph.D., embedded computer vision · IGN & Université Paris 13
Real-time, IMU-aided image stacking inside a drone camera’s Zynq SoC: C/C++ on the ARM cores under Linux, VHDL and HLS on the FPGA.
-
Hardware/software engineering intern · Groupe PSA · La Garenne-Colombes
A SENT-protocol validation tool: electronic board, assembly firmware, and C/C++ PC software over UART.
-
Engineering intern, space instrumentation · Institut de Physique du Globe de Paris
Prototype of a space module with Zigbee command links and high-volume data handling on an Actel ProASIC3 FPGA, for the MarcoPolo IV proposal to NASA’s Discovery programme.
-
Degrees · Montpellier · Paris
Bachelor’s in engineering sciences, Université de Montpellier 2 (2007 to 2009). Master’s in engineering, electronics, computer science and embedded systems, Polytech Paris (2009 to 2014).
More of the work, by sector
Industry
-
Infrared image enhancement
Algorithms that make thermal camera images cleaner and sharper, ported to whichever chip the product used: CPU, GPU, FPGA, VPU or SoC. Also firmware in C and the supervision of master’s interns.
-
Vision R&D, prototype to edge SoC
Detection, tracking, feature matching, stitching, online calibration and sensor fusion with GPS, IMU and cameras, designed in Python, written in C/C++, validated in real conditions and deployed with CUDA and TensorRT.
-
Space electronics, part-time
Software layers in C and real-time VHDL/HLS applications on an in-house FPGA, validated against space constraints with the functional-safety and radiation-hardening teams.
Research
-
Real-time functions in an ultra-light aerial camera
The first real-time processing moved into the FPGA of IGN’s ultra-light camera for aerial photography, presented at the ISPRS GeoUAV workshop.
-
Ultrasound imaging on GPU
The total focusing method, which builds an image of a part’s inside from ultrasonic signals, ported with Kokkos alongside the X-ray reconstruction.
Teaching & freelance
-
University lecturer, part-time
Computer vision, deep learning for vision and NLP, parallel computing with CUDA, OpenMP and MPI, C and C++, data structures, microcontrollers and computer architecture; supervision of student projects.
-
Client computer vision
Ten of the projects are on the projects page. Smaller jobs not shown: image stitching, video stabilisation, measurement from images, and moving code between Python and C/C++ or onto GPUs.
06Papers & talks
Written down.
Four peer-reviewed papers from the Ph.D. and the postdoc. The two from 2017 are open access, and their figures appear in the stacking project.
-
2019
Evaluating the C++/Kokkos library for a productive multi-architecture implementation of tomographic reconstruction algorithms
Conference · ParCo 2019, Prague
-
2017
Journal · MDPI Sensors 17(7)
-
2017
Conference · UAV-g 2017, Bonn
-
2015
Implementation of real-time functionalities in the hardware of an intelligent ultra-light camera specialized for aerial photography
Workshop · ISPRS GeoUAV, La Grande Motte
08Contact
Let’s build the whole pipeline.
Based in Grenoble, France, working remotely. Open to freelance projects and R&D collaborations in computer vision: from camera choice and data to models and the application around them, on servers or on the edge. I usually reply within a day.
- Replies
- Usually within a day
- Based
- Grenoble, France · Remote-friendly
- Signed
- Ahmad Audi















