Comments (5)
Hi @alwynmathew ,
In theory you should be able to get the same results with the baseline of 0.54. However, you might also need to modify you network initialization as the random predictions of the network at the very beginning of the training (think about batch 0 predictions) will be in a different range (they might not span the depths between min_depth and max_depth) . This can be fixed by re-scaling the random weights. This modification would potentially also apply to the pose network.
Best,
Daniyar
from monodepth2.
@daniyar-niantic thank you for the response. Though my question was different. @mdfirman My question:
Why did you use 0.1 baseline while training stereo, instead of the original baseline 0.54? How does it affect the training? And if the dataset is changed what is the impact?
from monodepth2.
So, the main reason of using 0.1 baseline is the stability of training. The random initialization of the network starts converging with KITTI dataset. If you change the baseline, the random initiallization may be in a different range and you may not be able to train.
from monodepth2.
@daniyar-niantic thank you for the insight. I tried changing the baseline to 0.54 and training the network. As expected it didn't work.
If you change the baseline, the random initialization may be in a different range and you may not be able to train.
If I want to change the baseline to 0.54, how do I find the "random initialization range" that should enable proper network training?
from monodepth2.
You can read a bit on different initialization schemes, for example this blogpost covers some of them.
You need to match the output range of depths produced by network with baseline 0.1 and baseline 0.54.
So, investigate the range of depth predictions when a random initialization with baseline 0.1 is used. Then, for baseline 0.54, investigate how you should scale every layer, so that a random network produces the range of depths as similar as possible to the "0.1 baseline network".
Alternatively, you can always use "trial and error" method. So, you multiply the random network weights with different scalings and see which one converges.
The exact implementation of these procedures is outside the scope of this project.
from monodepth2.
Related Issues (20)
- onnx
- What are the units in which the results are predicted HOT 2
- A problem when I train my repo code HOT 1
- Can't run the initial training
- Network inference time problem
- The requested array has an inhomogeneous shape after 1 dimensions. HOT 5
- Write split file HOT 1
- obtained some very strange depth maps HOT 4
- The difference in the intrinsic matrix affects the results
- Question about image resolution
- question for the Data Preparation
- Why is smooth_loss divided by 2**scale?
- Questions about the meaning of grid in the F.grid_sample function
- the eval file about 'gt_depths.npz'
- Run on Google Colab,
- Run on Google Colab, but out of System RAM
- The new constraint about pose is not useful?
- RuntimeError: CuDNN error: CUDNN_STATUS_SUCCESS HOT 2
- How to obtain reconstructed image and loss for a single demo image
- How to setup already trained computer vision model Ultralytics YOLOv8 with monodepth2
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 monodepth2.