Ehsan Khoramshahi Web Page (last updated 10.2017)

Computer Science PhD Student at University of Helsinki,

Research Scientist at National Land Survey of Finland, Finnish Geospatial Research Institute (FGI),

I am a member of DroneFinland research group and DroneKnowledge project

Contact Information


National Land Survey of Finland, PL 84, 00521 Helsinki, Finland.


Email: Ehsan.khoramshahi (at) []; ehsan.khoramshahi (at) []

Phone: (+358) 40 4444 135

Cite this web page as:

My Resume


Recent publications


1-     Recent journal articles


·        A Fully Automated Approach and a Photogrammetric Model to Calibrate a General Multi-Projective Camera by a Solid Calibration Room, (Accepted to be published in Photogrammetric Record, 2018: Ehsan Khoramshahi ;Eija Hokavaara);

·        Geometric and Reflectance Signature Characterization of Complex Canopies Using Hyperspectral Stereoscopic Images from UAV and Terrestrial Platforms, ISPRS 2016. Honkavaara, E.; Hakala, T.; Nevalainen, O.; Viljanen, N.; Rosnell, T.; Khoramshahi, E.; Näsi, R.; Oliveira, R.; Tommaselli, A.

·        SLAM-Aided Stem Mapping for Forest Inventory with Small-Footprint Mobile LiDAR. Forests 2016,

Jian Tang, Yuwei Chen, Antero Kukko, Harri Kaartinen, Anttoni Jaakkola, Ehsan Khoramshahi, Teemu Hakala, Juha Hyyppä, Markus Holopainen and Hannu Hyyppä.

·        Passive Localization of a Robot using Multiple-View Geometry, in Architectural Design of Advanced Swarm Robotics Systems,

Khoramshahi E., Honkavaara.E, Hyyppä J, Myllymäki P. Jan 2015.

·        Image Quality Assessment and Outliers Filtering in an Image-Based Animal Supervision System, Khoramshahi E., Hietaoja J., Valros A., Yun J., Pastell M., in International Journal of Agricultural and Environmental Information Systems, 6(2), 15-30, 2015.


2-     Recent conference articles

·        An Automatic Method for Adjustment of a Camera Calibration Room, in FIG 2017. EhsanKhoramshahi, Eija Honkavaara, and Tomi Rosnell.

·        Scan matching technology for forest navigation with map information, 2016 IEEE/ION Position, Location and Navigation Symposium (PLANS), Savannah, GA, 2016, pp. 198-203. Yuwei ChenJian TangEhsan KhoramshahiTeemu HakalaHarri KaartinenAnttoni JaakkolaJuha HyyppäZhen ZhuRuizhi Chen.

·        Close-range environmental remote sensing with 3D hyperspectral technologies, O. Nevalainen ; E. Honkavaara ; T. Hakala ; Sanna Kaasalainen ; N. Viljanen ; T. Rosnell ; E. Khoramshahi ; R. Näsi, Proc. SPIE 10005, Earth Resources and Environmental Remote Sensing (October 18, 2016)



3-    Recent Developments


1-     ImageLab is my C++ based user interface that is coupled with  the various processing engines that I developed for my research. It has been developed with the goal of creating real-time image-processing algorithms. (snapshots)  (pdf) (source)

     It includes data input modules, as well as processing, output and visualization modules.

List of ImageLab’s capabilities:

a.      A graphical user-interface that acts as a laboratory for algorithm design and comparison.

b.     Many input units developed to allow image inputs to feed into the processing units. Input units for video, matrix and binary inputs also have been developed.

c.      Fourier spectral analysis has been developed and optimized (FFT).

d.     Unsupervised clustering techniques such as :K-Means, Kohonen SOM, and hierarchical clustering are developed and added.

e.      Supervised classification by multi-layer Perceptron (feed-forward Neural network), as well as Logistic-regression (LR) have been added.

f.      Convex-optimization methods, such as gradient descent, Barzilai-Borwein, and conjugate gradients have been implemented.

g.     An optimized and parallel implementation of Matrix class has been developed. Efficient multiplication based on aligned data with SSE2/SSE3/parallelization has been added.

h.     Matrix factorization methods (QR with pivoting, LU, SVD based on Householder transformation) has been developed.

i.       An optimized version of Intel MKL has been integrated into my matrix implementation. The computational core has migrated from 32-bit to 64-bit architecture.

j.       Weighted Linear least-square solver has been added.

k.     Constraint weighted linear least-square solver has been added.

l.       Keypoint extractor (SIFT, SURF), and robust matching has been added.

m.    Pyramid-wise matching with projective kernel has been adde.


2-     DAG  is my C++ based implementation of a general Bayesian network. It includes scoring functions for structure learning, and exact and approximate inference methods. (snapshots) (pdf) (source)

a.      Classes for nodes, clusters, and sep-sets have been implemented.

b.     Junction Tree Algorithm (JTA) has been implemented.

c.      Exact inference has been added.

d.     Maximum a posterior estimate (MAP) has been developed.

e.      Scoring functions (BIC,AIC) for structure learning have been added.

f.      Soft/hard evidence entry has been implemented.

g.     Graphical user interface has been added, now DAG acts independently and as a module inside ImageLab.


3-     BundleCore is my C++ based implementation of a constraint-based Bundle-Adjustment routine. It includes the following parts:

a.      The Brown’s model for direct and inverse camera calibration modeling.

b.     Collinearity, intersection and resection solver based on weighted linear least-square (snapshots of error ellipses).

c.      Co-planarity solver to estimate an Essential matrix and decompose it to a set of orientations and rotations.

d.     Exterior orientation estimator based on weighted linear least-square. Also, Constraint weighted non-linear least square.

e.      Network estimator for creating a massive reference map.

f.      Automatic coded target reading (T1-T3 customized targets for the calibration room).

g.     3D registration module.

h.     Multi-projective camera (MPC) sensor model.

i.       Single-frame camera Bundle Block-adjustment least square estimator (snapshots of structure estimation and corresponding error ellipsoids).

j.       Multi-projective camera calibration routine (snapshots of an  and an  structural calibration


k.     Sparse inner-constraint block bundle adjustment.

l.       A real-time flight direction estimator and GPU-based sparse point-cloud generator is currently under my research focus.


4-     BundleGUI is my basic GUI developed specifically for the Bundle-Core. It is able to load the same project, and be statically linked to the computational core. It is specifically

designed to be used for the manual reading and labeling of an image’s points. It is planned to be merged with the ImageLab.