Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Training data on the Vaihingen dataset and the Potsdam dataset #7

Open
syxing2018 opened this issue Dec 30, 2020 · 6 comments
Open

Comments

@syxing2018
Copy link

syxing2018 commented Dec 30, 2020

Hello, thanks for your good work. There are some questions about the training data (Vaihingen dataset and Potsdam dataset).
Is the ground-truth in your training DSM or normalized DSM? Could you give the specific path of the data used?
And would you publish the test code in this paper?

@speed8928
Copy link
Owner

speed8928 commented Dec 30, 2020

Hey, I used NDSM(lastools) from Potsdam while using DSM from Vaihingen for training. The path is in csv file. You just need to download the datasets and split into small patches. I will commit the split scripts and model testing script.

@syxing2018
Copy link
Author

Thank you for your reply. I have another question. I used your training code for training, but the model obtained is quite different from your results reported in the paper. Could you give me some suggestions? Or would you publish your model?

@speed8928
Copy link
Owner

For training Vaihingen dataset and Potsdam dataset, I converted image to 16 bit to keep precision and convert back to meters. While loading the data, you need to be careful how you convert it. I multiplied them by 100000 as input and converted it back while output. As the problem lies in your input data, it wouldn't help if I provide my model for you to try.

In addition, I use pre-train model from Imagenet and the hole filling function from Gdal as preprocess.

I hope it would help you solve the problem.

@syxing2018
Copy link
Author

I used your released code for training and did not use any preprocessing on these two datasets (Vaihingen dataset and Potsdam dataset) as mentioned in the paper. I currently have a few questions:

  1. Is the value read directly from the dataset in meters? Why multiply by 1000 and then divide by 100000 during training?
  2. For these two datasets, are the images directly read for training? Or is the image or DSM ground-truth pre-processed before training? Is the output of the model directly evaluated during testing?
  3. When evaluating the prediction results, have you filtered out the values with large prediction errors? If yes, what is the threshold?

@speed8928
Copy link
Owner

I suggest you read the document for both of the datasets to understand what is their value stands. Multiplying 100000 is the way to convert to 16 bit as I said. For these two dataset, I did not use preprocess, but you do need to transform the data to tensor in 16 bit form to keep the precision. I filtered out the null value(minus value) and set to 0. But for OSI dataset I set the threshold 40 meters.

@speed8928
Copy link
Owner

I used your released code for training and did not use any preprocessing on these two datasets (Vaihingen dataset and Potsdam dataset) as mentioned in the paper. I currently have a few questions:

  1. Is the value read directly from the dataset in meters? Why multiply by 1000 and then divide by 100000 during training?
  2. For these two datasets, are the images directly read for training? Or is the image or DSM ground-truth pre-processed before training? Is the output of the model directly evaluated during testing?
  3. When evaluating the prediction results, have you filtered out the values with large prediction errors? If yes, what is the threshold?

Do you try to make the paper 'Gated Feature... Aerial Images'?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants