Banner Image

Dane Kouttron

This project / writeup is in progress, check back for more soon!

Converting a pile of photos into a browser view-able model for rendering complex mechanical spaces

Long title, simple goal:

Do you have a complex mechanical space in your oil refinery, atomic contraption or anything in between? Is it complex enough that the full CAD model has been elapsed by time and its hard to describe what is where?
Lets say you want to describe something on / in this contraption while not being at the location. You can rely on photos, but its the year 2023, we have to have something better than that right?

Lets explore photogrammetry, its engineering applications and the lofty goal of taking a complex space and making it browser-viewable without cloud services while using open source software

How about some eye candy first

Image acquisition -> Meshroom -> Blender -> threejs

2023.1 Meshroom is fire

It's impressive how much meshroom has improved over time, the latest build is notably better than the 2020 build. While there are a few tutorials online, lets take a bit to walk thru each brick to understand what it does and how it works

For the purposes of this test, I'm using an old Xeon xyxy paired with an RTX 3060. The 3060 is that nice point of 'a lot of v-ram, but not impossibly expensive'. You can mesh without a GPU, but taking advantage of CUDA and a GPU does speed things up quite a bit. Complex models are complex, so do not expect things to be quick. This is something that's more' akin to running overnight.

Hesitancy on using cloud rendering things

"There is no cloud, it's just someone else's computer".

Using 3rd party services can offset costs but if you're interested in something being maintainable over time its probably more reasonable to find a way to host things yourself. Hosting static files is not resource intensive and if you can find the space, generally is a great option. If you're interested in, for example, taking a snapshot in time of your workshop, do you want that digital memory beholden to a vendor who depreciates services at an alarming rate?

Dealing with Busy environments

Lets say you wanted to capture your shop in a specific slice of time, shops are busy spaces with lots of things protruding, they are also 'enclosed' as in they have a ceiling and walls. How do we display these enclosed spaces in a way thats useful for the user? We can start them off inside the space, or we can remove a wall / ceiling

Compute Requirements

Meshroom is not fast, and appears to be roughly linear in terms of input images vs final mesh time, this is somewhat aided by access to CUDA, as well as access to a lot of ram. You can trade time for compute resources though so all things considered just anticipate things taking a bit.

Have you noticed that there are no advertisements or ridiculous pop ups?

No cookie banner or newsletter?

I'm trying to make a better web, feel free to support it.



Want More?

Here's a behind the scenes look at my work space and some of the images that did not make the cut to be included in the write-up:



If you have questions or comments, ask below or send an email


Post your comments!

Comment Box loading