Georeferencing of pointclouds, call for alfa/beta testers


This might be a bit off from the main interest on this forum, but then, you never know.

For my part, the thrill for UAV's was originally the interst for what they could be used for, not the UAV's themselvs. But like most newcomers , I soon learned to tune the expectations for small UAV's down a level or two. Strangely enough, it wasn't all that easy. Lot's of the functionality requested isn't there (yet), more skills then initially thought of are needed, and so on.

After the T3-4 (map a quarter of a mile) competition, I started to explore what software that was around, with regard to image processing and creation of digital elevation models (dem's) and orthophotos. What I discovered was that there were quite a few, but with a price tag usually starting at about 5K USD or more, besides not neccessarily particulary easy to use. Well, there were also open source and low cost softwares, some with limited/specialized functionality, and often with high requirements for the users qualifications.

Well, not to make this an essay, I will jump to the point. After I got aware of MS Photosynth and similar software, things started to lighten. With Photosynth (and similar), it is basically possible to extract the same kind of information as from high cost laser-scans. Not the same amount of data, but in many respects with comparable possibilities for utilizations. The problem seemed however to be that Photosynth pointclouds were not georeferenced, and could therefore not be directly imported into other software for further processing.

Therefore, when I finally got some spare time, I started to develope a software/tool for exactly this, georeferencing of pointclouds. By now, I have a functional software, but still need to do more testing. So, I want to get in touch with others who have the same interest in processing of aerial photos, and who do use UAVs for this purpose.

If so, and if you have some time spend on experimenting with new software, please send me a PM.

So for the software, what does it do?

PC-GoeRef (Point Cloud GeoReferencing)

PC-GeoRef is like the name suggests, a tool for georeferencing of 3D pointclouds. I have only tested the software on pointclouds derived with MS Photosynth so far, but in theory it should work on pointclouds from
other sources as well. (Probably a need for writing new routines for
reading the different file-formats).

Basically, the process consists of two parts;

1. Identifying points in the pointcloud that corresponds to a set of points with known coordinates, GCP's (Ground Control Points).

2. Performing a coordinat transformation on the pointcloud, in order to georeference the pointcloud.

The idea is to use the (georeferenced) pointclouds as basis for building real world digital elevation models, orthophotos and for furter processing in other software. Eg. in LIBLAS tools, GRASS GIS, AutoCad,
ArcGIS, etc. (Points are simple objects and can relatively easily be
exported to most fileformats).

The process:

The process starts by aquiering a pointcloud, eg. by using Photosynth, and some tool like PhotosynthPointCloudExporter for retrieving the points. The synth shown below was made as part of the T3-4 competition here at DIYDrones and can be viewed here:

Notice the red dot on the roof of the small house on the pickture below, (added in MS Pain after the comp). That is one of the GCP's

By using a bright color which differs from the surroundings, there is a good chance for Photosynth to notice it, and to store it during the image matching process. Since Photosynth also stores the color of the
points that are registered, that can be used to finding the gcp in the
pointcloud, even if the pointcloud consists of several 1000 points.

This is where PC-GeoRef comes into the pickture. The process starts by opening a pickture with a gcp marker in it, and clicking on the marker in order to learn it's color by RGB-value.

Then the pointcloud-file are read and filtered by color. These points then become candidates for automatic matching with GCP's with known
coordinats. (The red lines to the left have the same colour as the
filtered points from the pointcloud).

Next, a test-transformation is performed on the matched points, and last a transformation of the whole pointcloud is carried out. This is commonly called a Helmert- or Affine-tranformation. I am using a custom
method for this transformation. It is currently using 7-parameter
(translation x, y ,z, rotation about x-, y-, z-axis and one scale for
all directions). The method can however easily be extended to individual
scaling of all individual axis. (For that I will need more matched
points then the 3 I found in my first successfull test-synth).

So for the results: As can be seen from the example above (all numbers are in meters), I found an almost incredible high accuracy in the pointcloud derived from Photosynth. In this first test, I actually
found the differences in distance measurements to be in the field of
plus/minus 30cm, for GCP's spaced more then 100m apart. I will offcource
need to do more testing before I can tell what accurracy that can be
expected, but the first results were indeed interesting.

What's next:

- More testing, (alfa/beta-testers wanted...)

- Writing file-export to a few formats,

- Cleaning up the code,

- Demonstrating production and use of dem's

- etc,

- Then possibly sale of the software, (low cost ;-)

Views: 1726

Comment by Lojze Miklavčič on December 4, 2010 at 4:49pm
Well I'm working as LIDAR and remotesensing expert and I would like to participate in testing your software. I can compare results of your method with methods that are supported in LIDAR software. BTW the idea to "signalize" GCPs with simple photoshoped mark is neat!

Comment by Gary Mortimer on December 5, 2010 at 12:02am
Have you told the very small community over at about your project Brakar?? I expect there will be some very interested folks there.
Comment by brakar on December 5, 2010 at 12:35pm
Thanks to all who have displayed interest for PC-GeoRef so far. I hope to have a bit more polished version for beta-testing ready in a few days.

Gary; I just added a link to here from Photosynth.ning

Comment by Krzysztof Bosak on December 5, 2010 at 12:44pm
Wow. I will dig seriously into that software late december, got some fresh maps to test. As I understand the limitation is that with 350 photos you have to enter... say.. 7 params x 350=2450 coordinates, or 4900 digits?
Comment by János Mészáros on December 5, 2010 at 12:46pm

I'm PhD student at university and my thesis is georeferencing old maps so I would like to participate in testing your software.
I tried georeference the MeshLab point cloud in Global Mapper but your program and idea for georeferencing is very smarter than mine.

Best regards,
Comment by brakar on December 5, 2010 at 1:51pm
Krzysztof; the software does not work with photos (at least not for now), only on pointclouds. The need for entering digits is limited to entering the coordinates for at least 3 ground control points. Then (hopefully) these points can be matched with a corresponding set of points in the pointcloud. Whereafter the 7 parameters are calculated (automatically) and the whole pointcloud transformed into real world coordinates.

János; PM sent
Comment by cesarandreslopez on December 28, 2010 at 4:35pm

Brakar, we've actually been quite succesful with coordinate transformation using a perl based tool for large point clouds. Please send a PM would absolutely love to test! 



Comment by Travis Olsen on November 29, 2011 at 5:53pm

is the software available for download or by request only?

Comment by brakar on November 30, 2011 at 7:07am

The PC-GeoRef tool was split into two separate pices, where only the second part (PC-AffineTrans) was more or less completed. The current status is it works well with some pointclouds, but probably not with others.

PC-AffineTrans can be downloaded from:


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service