Comments (8)
PFM files contain the results as the original, unaltered float32 values. The PNGs contain the quantized values since the format requires integer data. If you need the original data as predicted by the model, use the PFM files. You can find a reader here: https://github.com/intel-isl/MiDaS/blob/master/utils.py
As for getting results in meters: The model provides results up to unknown scale and shift, i.e. only relative depth is available. You'd need additional measurements to find the scale and the shift to get absolute measurements.
from midas.
We align in inverse depth space; i.e. the procedure is
- Invert ground truth
- Align prediction based on least squares criterion
- Invert aligned prediction to get depth
- Measure errors to original groundtruth depth
Section C in the supplementary provides more details on the evaluation procedure.
from midas.
@tarashakhurana
I think they have removed the supplementary material in v3 of the paper. It exists in v2.
You can find it here
from midas.
Thank you! By any chance, were you able to reproduce the test set results in the paper? I'm trying to evaluate on Sintel (on its 1064 images) but I'm getting a much higher error with my evaluation code than what is reported in the paper (0.327 vs 0.605).
from midas.
Closing due to inactivity.
from midas.
Hi,
Thank you for your amazing work! In your paper, Table 1 mentions depth annotations of the 6 test datasets to be metric. How do you find this metric depth from your relative inverse-depth predictions to evaluate on these datasets? Do you invert the inverse-depth predictions and then compute a least squares fit for finding the scale and shift parameters for it?
from midas.
@ranftlr
I went through equation 4 of the paper. This is how i implemented it. Please correct me if i am misunderstanding something.
Let us say pred_idepth is model predicitons of size=(N, ). gt_idepth is ground truth inverse depth, size=(N, ).
di = np.concatenate([pred_idepth[:, None], np.ones((len(pred_idepth), 1))], 1)
di_star = gt_idepth
val1, val2 = np.zeros((1, 2)), np.zeros((1, 2))
for i in range(len(di)):
val1 = val1 + di[i]*di[i].T
val2 = val2 + di[i]*di_star[i]
st = (np.linalg.pinv(val1) * val2).reshape(-1, )
# st = (1/val1 * val2).reshape(-1, ) or this ???
st should be the estimated scale and translation (hopt in paper).
from midas.
Embarrassingly enough, I'm not able to find the supplementary material online. Does anyone have the link?
from midas.
Related Issues (20)
- module 'cv2.cv2' has no attribute 'COLORMAP_INFERNO'
- What is the loss function?
- Copy of MiDaS model made with `copy.deepcopy` does not work. HOT 1
- swin2_tiny failed to run forward(): RuntimeError: unflatten: Provided sizes [64, 64] don't multiply up to the size of dim 2 (64) in the input tensor. HOT 1
- [question] Any suggestions on normalizing the outputs better? HOT 9
- Error Loading Pre-trained Weights: Size Mismatch in DPTDepthModel when trying to run for first time. HOT 7
- System crash when loading DPT_Hybrid
- PyTorch Pipeline Broken HOT 2
- gibberish output? HOT 4
- DPT 3.1 models are now available in the Transformers library HOT 1
- Question about COCO dataset HOT 1
- DEPTH VALUE OF THE EACH PIXEL HOT 12
- iOS Demo app is slowing down over time, and the first inference seems much slower HOT 2
- Converted MiDaS 2.1 TFLite model get wrong result on Mobile HOT 5
- MiDaS 2.1 TFLite fp16 with Core ML Delegate gets wrong results
- Cant find pretrained model HOT 1
- Imp. (Improvement) description in the documents
- Exact distance of image HOT 7
- Can't see output...
- New ‘ModuleNotFoundError’ HOT 1
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 midas.