Training data on the Vaihingen dataset and the Potsdam dataset
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?
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.
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?
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.
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:
- Is the value read directly from the dataset in meters? Why multiply by 1000 and then divide by 100000 during training?
- 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?
- When evaluating the prediction results, have you filtered out the values with large prediction errors? If yes, what is the threshold?
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.
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:
- Is the value read directly from the dataset in meters? Why multiply by 1000 and then divide by 100000 during training?
- 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?
- 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'?