If you find our work useful in your research, please cite:
@inproceedings{singhBMVC18overhead,
Author = {Singh, Suriya; Batra, Anil; Pang, Guan; Torresani, Lorenzo; Basu, Saikat; Paluri, Manohar; Jawahar, C. V.},
Title = {Self-supervised Feature Learning for Semantic Segmentation of Overhead Imagery},
Booktitle = {BMVC},
Year = {2018}
}
bash prepare_potsdam.sh
bash prepare_spacenet.sh
bash prepare_deepglobe_lands.sh
bash prepare_deepglobe_roads.sh
Toggling use_coach
flag in the notebook is sufficient to switch between our method and Context Encoders. Random patches from the image are erased when use_coach = False
whereas the mask values are sampled from uniform distribution in iteration 0
or predicted by the coach network in iteration > 0
when use_coach = True
.
from models import resnet18, FCNify
net = resnet18().cuda()
net_segmentation = FCNify(net, n_class = nClasses)
from models import resnet18, FCNify
net = resnet18(pretrained=True).cuda()
net_segmentation = FCNify(net, n_class = nClasses)
net = resnet18_encoderdecoder_wbottleneck().cuda()
erase_count = 0 ### number of blocks to erase from image
net_segmentation = FCNify_v2(net, n_class = nClasses)
net = resnet18_encoderdecoder_wbottleneck().cuda()
erase_count = 0 ### number of blocks to erase from image
net_segmentation = FCNify_v2(net, n_class = nClasses)