Are there workflows in reality capture for 4D capture? Say I need to batch process 600 scans and output textures for each scan automatically. If i have a 64 core computer with lots of ram is it possible to process multiple scans at once on one computer? Also does reality capture work directly with raw dng files or do they need to be converted to 16 bit tiffs? thanks
What exactly do you mean by 4D? You can batch process all of them on the single machine, but one after another. We do support using multiple instances, but the main processes are so heavy they would slow each other down, it is not meant to be used that way. Yes you can use RAWs, but honestly, converting the RAWs with adjustments to highlights, shadows, chromatic abberation and such will probably give you better results and will save your space.
4D = 3D + time basically videogrammetry. So I might have 16 images per 3d model, for 30 frames per second * the duration of time. So i would need to process hundreds of scans efficiently. Which means in the end I could be working with close to 10,000 images for a 20 second animation.
I see because i’ve noticed that the software doesnt use all my threads and i still have plenty of ram when processing a scan.
Okay so for the best quality results its best to convert to an rgb image sequence like tiffs before processing? The meshes need to be as accurate as possible with high quality textures.
Alright then, well you should decide whether to pick every frame of the video for the first part. I think it is a little too much to go for every first but that is up to you and your tests. Regarding the converting, I would go for jpgs honestly. In the world of 2D graphics jpg may be considered as a lower quality thing, but you are about to put thousands of them into our software and there will be no significant increase in detail when using tiff or raw itself. Resolution, sharpness and distortion matter. If you are able to get a RAW image sequence and have quite some dynamic range to play with, I would go for the converting process from raw to jpg while increasing shadows, decreasing highlights, removing chrom. abberation and maybe even sharpening a little or denoising.
So basically I would need a mesh with textures per frame of the animation. So frame 1 of the animation would have a mesh generated from 16 cameras, then frame 2, and so on.
Okay. What about for the output textures? I wouldnt need 16 bit textures. The images will have flat lighting to minimize shadows and highlights so I guess maybe 8 bit would be fine as long as i have the detail. Since all that extra lighting/color information will be generated by CG lighting. However im using wrap 4D for generating a retopologized mesh andr i dont get fine details since the meshes arent that dense. So i’ve been converting the diffuse maps to normal/bump maps. Would 8 bit textures be enough? All these textures are going to be plugged into vray alsurface skin shader.
I do think 8 bit will do the job. Have done the same process with Wrap before and rendering before. Resolution should matter much more than the bit depth.
I see. thanks. So to do the automatic batch processing I would need the CLI license correct? Also lets say i have image sequences from several cameras. Do you know a way where I can organize frame 1 from each of the 16 cameras in a folder and so on. That way I dont have to do it manually do it for each frame ?
Yes, batch processing via command line is enabled for all CLI licences and for RC PPI version.
So i have thousands of folders to process thousands of scans. The folders contain fixed position cameras with names for each camera. I generated a mesh for the first folder and exported the xmp data into its own folder to be used for all the other folders since i need all the scans to be aligned with same orientation. Although less important, I also exported a reconstruction region box to be used as well. I’m using the RC PPI version. I just want it to use the xmp data folder, align the images, create a normal detail mesh, texture it with default settings and export to jpg. Whats the simplest way to automate all of this? since it takes too long doing it manually. Im not much of a coding person but i understand that you have to create a .bat file. How do i just say "hey grab all these folders in this one folder and create meshes and textures for each of them. All the folders are numbered from 0001 to like 1000 or so.
Like I found this example process .bat file. But i have 1000 image sets. Typying this over and over again 1000 times would take forever. Is there a simpler way?
So i figured it out by copying and pasting from an excel spread sheet. I tested everything on a limited amount of inputs and the .bat scripts work as well. However according to the xmp workflow, for every batch processing set, I need a specific folder structure, https://www.youtube.com/watch?v=yzT6boJOQto . How do i create this folder structure for 1000 image sets, and put my images in the inputs folder? am i going to have to learn python or something now.
Hello,
you can use some Windows commands or functions to run through the folders. It really depends on the names of the folders. For example, when you are processing individual frames and the folders are named Frame0001 - Frame1000 you can use for loop to run through them. Simple example:
set StartFrameNumber=1
set StopFrameNumber=1000
set MyPath=D:\Data
for /l %%F in (%StartFrameNumber%, 1, %StopFrameNumber%) do (
RealityCapture.exe -addFolder %MyPath%%%F
)
For renaming the folders and files, you can use for example multi rename tool in Total Commander.