Mapping indoor room

Hi everyone,

I am trying with a drone to map the floor of an indoor room but I am failing to process the datasets. I am only interested in the orthophoto result (maybe later the point cloud of the floor would be nice too) so I can draw some plans from it.

I tried with the following webODM’s options: auto-boundary: true, fast-orthophoto: true, matcher-type: bruteforce, rerun-from: dataset, skip-3dmodel: true, skip-report: true

If someone wants to give it a try the dataset is here: Drive Google
Most of the pictures were taken at nadir on a single grid, the last 46 are at around a 45° pitch angle following the walls and looking at the center of the room.

I am using the docker version (up to date) on a Linux host machine. WebODM fail the process very quickly, after about 2 minutes, the task output is in the “output.txt” file in the dataset.

Of course there was no GPS signal inside the building (as you can see in the exif data, all the pictures are at the null island coordinates), can it be the problem ?

Is anyone ever tried to process indoor pictures with success ?



If you want an ortho for indoor work, I recommend creating some artificial (local coordinate system) GCPs. OpenDroneMap doesn’t have any way of correctly guessing up or orthophoto resolution for that matter. It might guess correctly, but better to give it more information.

1 Like

The image data contains GPS, but they are all at 0,0. This will be used to align the model and could cause some errors during processing.
I don’t know if there is a flag in ODM that can ignore such GPS data, but as smathermather said, you won’t get proper scale and orientation of the results even if you processed it without error.

@Datux, if you haven’t run across a post about using artificial GCPs, @smathermather has blogged about this at 3D Reconstructing… everything, part trois: ukulele control points – Smathermather's Weblog

1 Like

Solved, thanks everyone it works now !

So I had to remove the GPS data from exif with:

exiftool "-gps*=" *.JPG
rm *.JPG_original

And as suggested, I faked a GCP file with just 4 points at each corner of the room. I knew the room measurements, so the orthophoto is at a correct resolution now.


Awesome! Can you share the results? I love projects like this.

1 Like

Sure can do. Here is a smaller size version of the orthophoto:

The point cloud is too large to be uploaded so here is a snapshot:

WebODM parameters used were: auto-boundary: true, orthophoto-resolution: 0.2, pc-geometric: true, pc-quality: high, skip-3dmodel: true, skip-report: true

Now I have to find a way to really disabling the sensors on my DJI drone because even with the obstacle avoidance turned off I was still prevented to fly close to the roof (but not the wall !!!).


This is amazing. Cheers.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.