Learning Scribbles for Dense Depth:Weakly-Supervised Single Underwater Image Depth Estimation Boosted by Multi-Task Learning
This repository is the official PyTorch implementation of WsUID-Net.
- The following packages are required to run the codes. Note: the version of the packages were the ones we used and are suggestive, not mandatory.
- python = 3.6
- opencv-python = 4.5.3
- torch = 1.10.1
- easydict = 1.9
- visdom = 0.1.8.9
- You need to prepare datasets for following training and testing activities. You can download SUIM-SDA dataset from Google Drive or Baidu Netdisk.
- Decompress the SUIM-SDA package to the ./datasets folder
- You can calculate the edge graph according to the semantic segmentation mask in SUIM-SDA, or download the edge graph directly from here.
- Run ./data/Conver_data.py. Convert the .csv file that stores the depth-rank samples to the .pkl file used for training.
python Conver_data.py
- You need to modify the input and output paths in train.py depending on where your data set is stored on disk, then run the following code in the terminal:
python3 -m visdom.server -port=8007
python train.py
- You need to change ckpt_path in the test.py file, then run the following code in the terminal:
python test.py
You can download the trained model from here. To test on the pre-trained models, change ckpt_path in the test.py file.
@ARTICLE{10415086,
author={Li, Kunqian and Wang, Xiya and Liu, Wenjie and Qi, Qi and Hou, Guojia and Zhang, Zhiguo and Sun, Kun},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={Learning Scribbles for Dense Depth: Weakly Supervised Single Underwater Image Depth Estimation Boosted by Multitask Learning},
year={2024}
doi={10.1109/TGRS.2024.3358892}}