Photogrammetry - Compare imagery

Hi All

We have an idea we would like to explore, and was hoping for some assistance to determine feasibility.

The best way to visualise, is to imagine we want to scan a single line (so, lets say 4m x 4m) railway tunnel for changes over time

We want to be able to scan all 4 surfaces (roof, walls and floor), and then scan again a month or 2 (or 12) later, and compare any changes on any surface. The tolerance of change we would need to identify would start from around 5mm.

The rail lines offer a permanent fixed position for which to attach the scanner (to a custom rail trolley). Therefore, we can ensure almost exact scan positioning across the 2 comparisons. There may be slight vibration along the rail that we cannot overcome

If the curved sections of tunnel create difficulty, it would still be worth our effort to do these manually, and only scan the straight sections of the tunnel. The straight sections can run from 10m to 300m long.

Scan speed probably consumes quite a lot of the hardware and processing requirements, so any speed will be fine to get the project started, but obviously faster is better. Certainly the scan needs to run continuously (no stop/start)

Would anyone be interested in helping us identify hardware and software required to achieve the above so that we can start to determine feasibility of the project?


Hey Guy,

Welcome to the forum!!

You might be able to map the whole inside of the tunnel at once using a 360 degree lidar mounted so that it takes a scan of the cross section of the tunnel:
There are a few different models available and they don’t map suuuper fast but at a rate of 10Hz you should be able to get some good resolution in the same axis as the tracks (the one that will correlate to your speed along the tracks)

To preface this I dont have any experience using this particular module or software but I imagine the process is quite similar to a machine learning algorithm.
Personally I would opt for a Pi 4 8GB or LattePanda to make sure you have enough processing power and can send it straight onto a drive (USB or external SSD would be perfect) for later processing.
I would imagine that you would have to design your own robust software solution for something like this.
PS: I’m not sure exactly where I saw it on YouTube but someone was able to map a whole street on an iPhone using the built in 2D lidar sensor with lower resolution than what you were after.

I’m keen to see this one running!


Legend, thank you very much

Excellent info, and outside of the direct info, you have also sent down yet another rabbit hole and potentially found another piece of the puzzle!

Thanks - Will definitely keep the post updated


Hey Guy,

Glad to hear you have a bit more direction! There is some amazing stuff out there!

1 Like

Hey Guy and Liam,

Awesome discussion here, that’s a really interesting use case for a Lidar module. I’d be keen to see this one up and running!

Most of the lidar modules come pre-packed with some form of SDK to get a jump start on the project. One excellent point that Michael has mentioned in the past was that any transparent fluid such as water that could pool up (not sure if water drops hanging from the roof would impact this) can impact the results, multiple scans should be able to fix this though!