Photogrammetry (3D scanning) on Golem
An online IDE which lets you run Micmac photogrammetry workloads on Golem. Photogrammetry jobs are resource intensive and can run into hours. Golem is ideal for such batch workloads.
Features
- Run Micmac builds online any local setup.
- Fully programmable. Look here for the entire list of commands.
- Run intense workloads on Golem cloud, without consuming local resources.
- Build results notified on email.
Project demo
Note: Ping @the.godfather on Golem Discord server or raise an issue if facing issues. Yagna daemon is unstable on EC2.
Demo video
Photogrammetry for gaming
Chernobolyte is a sci-fi game based on 3D-Scanned Chernobyl. This game is also the inspiration for this project.
https://80.lv/articles/chernobolyte-game-based-on-3d-scanned-chernobyl/
Screenshots
Web app
Email results
.ply
files in Meshlab
Viewing generated
Instructions to run locally
- Install node modules using
npm install
- Create a
.env
file containing environment variables. This contains Sendgrid and Yagna provider keys. Copy from.env-template
for reference. - Start golem locally using
yagna service run
- Open a new terminal and run
yagna payment init --sender
. Then start Node server usingnpm run start:dev
- Follow the instructions on
localhost:3000
Testing other photogrammetry workloads
- Download a sample dataset from https://micmac.ensg.eu/data/
- Extract the zip file and find the runner shell script
- The raw images and hyperparameters will be sent to a folder
/golem/resource/extracted/
on Golem. Accordingly modify the paths in the shell script.
Tech stack
- Golem requester and Golem Node.js SDK
- Typescript
- Express.js
- Sendgrid email service
Limitations
- Micmac is a low-level programming framework. There is no GUI, but rather developers need to supply a shell script program and hyperparameters.
- There's no generic script for multiple scanning workloads. Developers are expected to provide the orientation data and processing instructions.
References
- Photogrammetry: https://en.wikipedia.org/wiki/Photogrammetry
- Micmac: https://github.com/micmacIGN/micmac
- Chernobolyte: https://80.lv/articles/chernobolyte-game-based-on-3d-scanned-chernobyl/