Continuing my quest for using lidar in newest phones to build 3D models of caves. Here we have a scan of the Schneefleckhöhle, a 160-meter marble cave in the Zillertal mountains in Austria. The cave has been scanned with iPhone 12 Pro and Polycam, using lights and the phone mounted on a Benro selfie stick. Scanned segments were put together in Blender and used for fly-through animation. I can also feed the 3D model to my "Cave Outliner" software that draws a plan view map and cross sections based on the model. Lots to improve in various pieces of software, and scanning an entire complex form is very hard. While all of this is very experimental, bleeding edge technology it is also very exciting, and already offers some stunning views onto a caves.
Here's a video:
And the some parts of the cave map in pictures below. However, due to the limitations of the blogger platform, it is much better to view them by clicking on the plan view, vertical cross section, and cross section C pictures instead.
The full map is available in PDF here. Note that the map pictures above have been slightly modified manually, to flip them to a more suitable presentation orientation, and to add an entrance (which Cave Outliner can not yet reliably do by itself).
The Benro "3D scanning stick" looks like what is shown below. Attached are X-Grip attachments to hold the phone and the Lumonite lights:
In the following I go through what the process is for making these kinds of scans:
- Have a phone, needs to be an iPhone pro model 12 or later. You'll also need to have enough free memory and a scanning app such as Polycam installed. You'll need the commercial version of the app, as data export will require that.
- Setup a lightning method. This can be just your helmet or hand-held light, but it is better to use a setup where the phone sensor and the lights are built to point to the same direction for more even lightning.
- Start a new scan, set a lidar and camera mode to get both the shape and the texture. Carefully and with modest movements start scanning the cave entrance and the tunnel forward. You will need to cover different holes and side rooms, under bigger boulders, etc as well.
- To ensure that software can process your scan results, stopping the scan, storing the results, and starting a new separate model is advisable every now and then. In my experiments doing this every 20-50 meters in a normal cave tunnel (with some forms and other complexity) is about right.
- After each scan, or at the end when your phone is reconned to power, process the scans in the app. I have used the custom setting with maximum range and highest accuracy.
- Upload each scan to iCloud by exporting each model in, say, the GLTF/GLB format.
- Import one model at a time to a post processing software such as Blender. Cut away erroneous or shadow parts, if any.
- Merge the models by first removing any excess overlap in Blender object editing mode and then aligning the different parts according using tock features (ledges, boulders, depressions, etc.) as a guide to get best alignment.
- Store the resulting merged model, in Blender as a Blender file, for instance.
- Convert another copy of the model to STL format, e.g., in Blender.
- Feed the Cave Outliner and use the --auto option to get the best default settings. If you want to, you can provide additional information such as name of the cave, location and coordinates in extra options. Cave Outliner produces an SVG file that contains a map of the cave.
- Use Apple Graphic or other software to convert the SVG file to PDF, and share the map.
Finally, also optionally, if a fly-through video is desired:
- Setup a camera, a light, and attach them together in Blender. The light will provide light as the camera travels through the model in the animation we are about to set up.
- Use the Shift-F to enter the fly through mode (you may need to configure Blender to recognize the Shift-F).
- In Fly Through mode, use 'w' to go forward, 's' to go backward, and 'a' or 'd' to pan sideways. Press 'i' to insert a fixed frame for your animation. You will only need a few fixed frames, Blender will interpolate your position for moving between the fixed frames.
- Click on Render Animation to produce an animation image sequence.
- Use, for instance, Quicktime to import the image sequence and convert it to a video file.
But there are also issues, as this is early use of this technology:
- The first issue is that you have to be very careful and methodological about the scan. If possible I like to rotate the phone on a stick and progress through a tunnel, but often that's not possible. In the video you can see some of the holes that started to creep into the model when I was running out of time and doing things too quickly. Of course tons of boulders and cave forms don’t make the careful coverage easy or even possible in all cases.
- The scan recording softwares on the phone - while they have improved - are still not really designed for this and have many problems. One big issue is that they are unreliable and can’t handle too much data so scans need to be done in pieces, nine pieces in this one for instance.
- And given the above, you will have many parts, how do you then put them together and align properly? In theory one could imagine some auto-alignment but we don’t have that. I put them together manually (based on shapes etc) but that introduces a source of error of course. One could imagine also some hybrid scan + disto reference points process.
- Accuracy. The accuracy seems to vary and I often get shadow walls and the like if something is scanned twice for instance. The manual handling of the scan carefully affects this of course, but also softwares and sensor physical capabilities contribute.
- Range, the five meter approximate range of the sensor may even be slightly exaggerated, and it definitely makes things hard in bigger cave halls. Based on advice from my Icelandic friends though, the selfie stick method helps here. Still, person's height plus selfie stick length plus sensor range is somewhere under 10 meters, so rooms higher than this cannot be easily scanned in their entirety.
- Finally, interpreting a simplified cave map from a 3D model is actually harder than one thinks in the beginning. For instance, I’ve spent a ton of time thinking about what the definition and math for an ‘entrance’ is. And have had fun finding algorithms to filter out small scanning irregularities like a small missing parts behind a rock or a cavity etc. This presentation from November 2021 outlines some of the difficulties with the definitions.
This article has also been published at TGR. Read more urban exploration stories from theurbanexplorer.net, and other underground stories from planetcaver.net. Read the full Planetskier series at planetskier.net, or all blog articles from Blogspot or TGR. The Cave Outliner software is open source and available on GitHub. Photos, videos, models, maps, and text (c) 2022 by Jari Arkko. All rights reserved.