AI Lead & Computer Vision Engineer · Linköping, Sweden

Mohsen Pirmoradiyan

I teach machines to read the forest from above. Before that, I spent fourteen years reading the earth beneath it.

One thread, three chapters

From waves to vision

My work has always been about the same question: what is really in this signal, and can I trust it? Only the signal has changed, from seismic waves to drone images.

01

2005 – 2019

Reading the earth

Seismic field operations, NISOC

Fourteen years on land seismic crews, from junior to senior QC supervisor: making sure every sensor recording was clean, consistent and in the right place before anyone built on it.

Carried forwardSignals, sensors, geometry, and a habit of checking data before trusting it.

02

2019 – 2021

Learning the language

MSc Statistics & Machine Learning, Linköping University

A second master's degree to turn field intuition into modelling skill, finished with a thesis on anomaly detection and causal inference in 5G networks together with Ericsson Research.

Carried forwardStatistics, machine learning, and causal thinking.

03

2022 – today

Reading the forest from above

Arboair AB, Linköping

Computer vision for drone and aerial imagery of forests: I designed and lead the company's computer-vision platform and the models that map tree species and forest damage.

Carried forwardDeep learning, geospatial ML, and leading AI work end to end.

Now

What I build

At Arboair I lead the AI work behind forest analytics from drone and aerial imagery. Details stay with the company; this is the shape of it.

More about my work
  • Designed and lead the company's computer-vision platform: one system from data ingestion and training data to model training, geospatial evaluation and GPU inference in production.
  • Train modern deep-learning segmentation models, from transformer-based architectures with foundation-model backbones to classic CNNs, for tree species and forest-damage mapping.
  • Built self-supervised pretraining on unlabelled aerial imagery and semi-supervised pseudo-labelling to make the most of scarce annotations.
  • Turn pixel predictions into GIS-ready maps: tiled inference over very large GeoTIFFs, vectorisation, geometry repair and certainty scoring.
  • Contributed to the orthomosaic pipeline from drone photos: LiDAR terrain models, georeferencing from drone metadata, seamline mosaicking and true orthophotos.
  • Led the tree stem-diameter estimation project from field reference data to a production model with safe staged releases.

Learning notes

Notes from my learning journey

All 148 notes

The latest note from each topic. Short, single-topic articles written from my own notebooks and experiments, spanning 2017 to 2026.

Machine LearningSept 2026 · 6 min

Monotonic constraints in gradient-boosted trees: building domain knowledge into the model

What a monotonic constraint is, how boosting libraries enforce it while growing trees, and when it makes a model more accurate and easier to trust.

Model EvaluationSept 2026 · 6 min

Grouped and spatial cross-validation: why random K-fold lies when samples cluster

Why random K-fold gives scores that are too good when samples come in groups or sit close together in space, and how splitting by group or by spatial block gives an honest estimate.

Geospatial & GISMay 2026 · 5 min

The shoelace formula: the area of a polygon from its vertices

How the shoelace formula turns a list of corners into an area, why it works (trapezoids and cross products), what its sign tells you, and two traps: self-crossing rings and coordinates far from the origin.

Computer VisionMay 2026 · 6 min

What's new in DINOv3: scaling self-supervised vision and fixing dense features with Gram anchoring

Why DINOv3's patch features got worse the longer it trained, how the Gram anchoring loss fixes that, and what else changed since DINOv2.

Computational StatisticsApr 2026 · 6 min

Sinkhorn–Knopp: balancing a matrix, and why it solves optimal transport

How normalising rows and columns over and over turns a positive matrix into a doubly stochastic one, and why the same loop gives a soft, differentiable optimal transport plan (a soft version of the assignment problem).

3D Vision & Point CloudsOct 2025 · 7 min

Representing 3D data: points, voxels, octrees, meshes and depth maps

What each common 3D format stores, how much memory it takes, how to convert between them, and when to use which.