Preserving street art in Amsterdam

hi Everyone
I wanted to give a quick context before jumping into the question.
Street art in Amsterdam is at danger.
An entire neighborhood will be renovated and entire buildings and graffiti made by world famous street artists will be demolished and lost forever.
My task is to try to preserve them. The initial plan was to use 360 pictures but after stumbling upon Meshroom I think photogrammetry could be a viable option. The caveat: I know nothing about 3D modeling :innocent:

Let’s go to the question: Yesterday I tried making a test in my backyard and after drawing on a wall with some chalk i took RAW pictures with my DSLR (Canon 200D, f 11, iso 200, 18 mm). I took 191 pictures with some enphasis on the 2 trash bins you see on the left.
Fragment of a 360 picture i took:


The problem is that my PC got stucked for more than 8 hours on the meshing step ( I have an i7 6700K, GTX 1070 with 16GB of RAM). I think i took too many photos for such a small area and my question is: how many pictures would i roughly need to get a decent scan? Are we in the range of 20, 50, 100 or 200?
I know the rule of the 66% overlap, but given that i am shooting with a pretty wide angle lens i could tehcnically take just 20 pictures…

Any help would be really appreciated!

Hi @GRTalk and welcome to the forum!

I’ve moved your topic to the 3D Scanning & Photogrammetry Group Forum Group.

how many pictures would i roughly need to get a decent scan? Are we in the range of 20, 50, 100 or 200?

Generally more pictures = more detail, but this also depends on the settings you use in the app. Mashroom is a great piece of software but processing times can be very long. Is your goal to preserve more than just the artwork (i.e. where a single photo or photo collage would do the job) or also the texture of the bricks and walls etc?

A simple suggestion would be to use your test images to create 3D results and then see which final 3D model suits your goals.

Your PC set up would also be suitable for running RealityCapture, Metashape and 3DF Zehyr. Zephyr also has a free version which can process up to 50 images.

Thanks for the reply!
I am using Meshroom with standard setting. I wouldn’t really know what to change.

The purpose is to preserve the artwork and geometry around it. Sometimes there are drain pipes that become part of the artwork, electric boxes on which stickers are attached, doors that are kind of canvas within the wall. We would like to preserve the feel of being there and some level of texturing would certainly contribute.

I will test a subset of Images and give a look at the model i get to see if it is “good enough”. Since i am rumbling in the dark here i was wondering if you could share your gut feeling: given the image above what do you think would be the minimum amount of pictures to reconstruct the basic geometry and add some level of texturing to the scene?

Thanks for all the help.

OK, absolute guess: you should be able to capture the demo scene you shared in under 100 images.

I would also try processing/capturing JPGs as opposed to RAW images. As you already have an image set I suggest you just batch convert at same pixel resolution, medium to high quality settings). I know everyone will tell you that you’ll get better / more accurate results with RAW (it’s technically true) but all that extra data = longer processing times.

I capture all of my 3D scans with my Canon G7x (or Pixel 3a) on full auto, saving to JPG.

That is exactly what i was looking for: rough guidelines from which i could start working.

Thanks!

1 Like

In my research I found sufficient to have 1img/10degrees of rotation from 2-3 perspectives. This is for general overall capture. Additional images for details and complex 3D geometry can be added. See the image below:

So for your scenario, you could take 15-20 images in an arc around the wall, and repeat for another one or two angled perspectives.

Thank you very much! That was very useful.
In the case the artwork is actually on the top part of the wall isn’t there the risk of losing part of it?
Does it make any sense to scan following the red line in the picture below?


I managed to put something together yesterday on my “test” wall. Zephyr 3D is absolutely amazing!
I followed the advice of using JPG and in a few hours i had a model. I would like to share it but sadly it is more than 50 MB and in order to upload it i need the premium account.
I probably have to find a way to reduce the polygon count and make it a bit lighter, but overall it is a good first step.

That path should work as well, but I do believe that an angled perspective of the wall would be beneficial in addition.

In the capture project below, you can see the camera positions relative to the “flower” I scanned. I used 150 photos, which was a a little overkill, but it’s because I took frames from a video.


1 Like

Hello,

Nice project, good luck with it :slight_smile:

To do honest you could do with 20 picture of 500 hundred, pending on if you want to get the wall or all the little details around! But details are not necessarly the best. Keep in mind that if you have 10/20 wall in your project, it will take more space, more time to process and it might be too much details for you to present. Better the resolution, better the computer need to be (+limit on sketchfab).
I agree with flynn, the best would be to make some model and see what fit your goal.

Raw is actually a bad idea for SFM. They will eat up your memory and will take longer for no difference in results. The features used in SFM works well with jpg, the point is more to have coherant set of patterns rather than a large range of values.
This format is good when you adjust your image or do a colour correction. But better to be skill in image editing and familiar with SFM process (especially feature extraction and texture).

Your path is good for flat surface, the spherical view is good for specific details. But you should consider more overall view to start with before going close up.

I would suggest you start from left of the wall to the right.
1- 10 pictures at your level.
2- 10 at a lower level and 10 at higher level
3- 20 close up (a bit like your red path).

You can take these images all at once, but it would be beneficial to process step by step. You will have something with only 10 images. But step by step will help you to understand the error you are doing and how the images impact the model.
Easier with few images, if you have 200 it’s very difficult!

More pictures is not necessary better. There are some “blending step”, which mean you could decrease the quality of a model with more images (if they are a bit blur or over expose, which can easily happen).

To reduce your model and upload on sketchfab, if you are using Meshroom, you can add a node “Decimate mesh” (I think, I’m not using Meshroom) between “mesh” and “texture”. This will reduce the size of your model!

Also you can consider video, especially for part of the wall you want more data but might not have time. Or for the pipe you mentioned (3D object on the wall that are not the main target). Video is quite common and work very well to make the 3D model, but texture-wise it’s a bit limited.

Sorry for the tones of advise at once, hope you will succeed!

Best

Thank you very very much. This week end i will shoot more images and will try different things to get the hang of this process.

I thought i could still share the preliminary results with a quick screen capture:

Clearly there was some reflection problem on the green trash bin, but for the rest i am quite satisfied.
It was around 150 JPG images processed with Zephyr 3D. I think the file size is too big (150 MB) given how “fairly simple” the model is. I haven’t done any reduction and simplification, but i think i have to look into that.

Thanks for the update, looking good :slight_smile:

The error on the green bin is possibly due to reflections but can also be a result of the very plain, uniform surface - you could try adding markers (or simply small bits of sticky tape) to the bin to help reconstruction.

A bit more info can be found in this post:

Tha tip on the tape is very good! I will do it next time if i encounter a similar situation.
This is actually the first actual piece:

It is called Fatherhood and Music and is made by a popular colombian artist called Stinkfish. This wall is going to be destroyed in a few months.
“Unfortunately” was a very sunny day and the harsh light made the capturing process very difficult.
Due to the size limitations for the free account i also had to decrese size and resolution. I have another very practical question. For this kind of mural photogrammetry project what is the:

  • average polygon count?
  • texture resolution?
  • File size (in MB)

My plan is to use the file to create some environment explorable in VR and i am afraid of the conflict between “looking awesome” Vs “gosh it is so laggy my pc will melt and i am going to puke”.

It is always up to the creator, but for something like this I would suggest:

  • Polycount: 100k or less
  • Texture size: 8192x8192 pixels (it’s the max Sketchfab will accept), but 4k will also look good
  • Include a colour texture AND a normal map baked from a high resolution version of the model (1 million faces +)
  • Filesize: whatever the above adds up to :slight_smile: Remember to compress the file before you upload of course!
  • Reduce the above depending on how light you need your file(s) to be
  • for VR viewing you will want the smallest, lightest file possible

You totally lost me when you mentioned the normal map… I will have to look that up

The compression sounds like something smart to do. Is it done in Zephyr or is it a step in blender?

haha yes - normal maps are a whole other thing, but well worth learning about if you have the time

You can just use your operating system to make a .zip before uploading - select all your models and textures > right click > send to .zip (‘Compress’ on Mac I believe)