Comments (12)
Hi @xdiyer, for training from scratch you can just follow the guidelines in the Fitting descriptors section of the readme. You will only need to modify the configs for your scene (train_example.yaml
, paths_example.yaml
, scene.yaml
). Similarly, for training the network on 2 scenes, you can specify both of them in the paths config under the main section datasets
. The example would be:
datasets:
"my_scene_1":
scene_path: scene_1.yaml
target_path: images_undistorted_1
target_name_func: "lambda i: f'{i}.png'"
"my_scene_2":
scene_path: scene_2.yaml
target_path: images_undistorted_2
target_name_func: "lambda i: f'{i}.png'"
You can also look at other issues where training on the new scenes is described (e.g. the nice example is here).
from npbg.
thank u @seva100, In terms of fine tune the network on 2 scenes, is it necessary to change the image resolution of the two scenes to the same? For these two videos come from different cameras
from npbg.
We train a single scene with 1920x1080 resolution on a single 1080i card, batch size is 4. But when training two scenes with the same resolution, bsize can only be set to 1. What is the reason and how to enlarge bsize ?
from npbg.
I think the image resolution for the two scenes can be different.
What is the error you're getting when setting the larger batch size for two scenes?
from npbg.
cuda out of memory error
with single scene, we can train using dataloader_workers=4, max b_size =1 or dataloader_workers=1, max b_size =4 ,
Did the multi-scenes model you trained, such as 41 people in paper, have any memory problems before?
from npbg.
Cuda out of memory error makes sense here since with more scenes you will have a larger memory footprint (you need to store the descriptors of several scenes). So decreasing the batch size and use dataloader_workers=1 should help if the amount of available memory of your card is insufficient.
Perhaps you can also try reducing the --crop_size
-- this will reduce the amount of GPU memory used.
@alievk can you please also comment in case I'm missing something?
from npbg.
--crop_size works, thanks.
High resolution image(1080p or higher) must be used when building point cloud (low resolution image will lead to very low quality of point cloud). considering GPU memory and training speed, I hope to reduce the image resolution when training the model. but I find that if the image resolution used before and after is inconsistent, the model will fail. Is there any suggestion about this?
from npbg.
I'm not sure I understood, in which way you'd like to reduce the resolution. Do you want to reduce the resolution of ground truth images during the network training? Because in this case, the result will also be more blurry. Though I think --crop_size
would help you here as well. Did I get it right?
from npbg.
Yes, reducing the resolution of the original ground truth images during training will not only blur but also make the model completely unavailable. Now training with crop size can work, but it taks too long. I will study this issue in detail later. Thank you again for your suggestion
from npbg.
You can try increasing batch size with training with lower --crop_size
or use several GPU if you have any. The code should support distributed training.
from npbg.
@seva100,I have trained a model with two scenes, both of which can be rendered using the network. In order to reproduce the scene editing, I manually aligned two point clouds in meshlab and saved them as a new point cloud. How to calculate the coordinate transformation matrix of the point cloud to facilitate the alignment of point descriptors, and how to adjust two camera parameters to render two scenes at the same time (as demonstrated by scene editing). I don't know much about point cloud and 3D, hope u can give some detailed guidance or sample code. Thanks again.
from npbg.
You can use the descriptors trained for the second point cloud while using its new vertex positions that you've manually aligned. Camera positions can be thus aligned with the first point cloud. In this case, you don't need to retrain anything -- you can just use the model trained with the two scenes.
from npbg.
Related Issues (20)
- Questions about remote rendering HOT 1
- Something wrong about the docker image? HOT 1
- How to generate data on server ? HOT 1
- Rendering problem HOT 2
- The viewer's results were not as good as the training HOT 4
- Rotate novel view HOT 1
- How can I get the 3-channel (RGB) picture of point-descriptors rasterizer result? HOT 3
- Generation HOT 2
- How to set num_sample HOT 2
- Viewer renders only a triangular half of the texture HOT 2
- Headless render on remote servers without Xorg? HOT 1
- Eval mode=True during training HOT 5
- How to render one of the fitted scenes on Ubuntu 22.04 LTS: A comprehensive guide. HOT 6
- When running view.py, how to limit the range of movement (or zoom) HOT 1
- Multi-GPU support for training? HOT 2
- question about camera.xml
- How to render the output from viewer as video?
- There was a problem with scene stitching
- Question about extrinsics
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from npbg.