Bayesian SegNet: Model Uncertainty in Deep Convolutional Encoder-Decoder Architectures for Scene UnderstandingBayesian SegNet: Model Uncertainty in Deep Convolutional Encoder-Decoder Architectures for Scene UnderstandingKendall, Alex and Badrinarayanan, Vijay and Cipolla, Roberto2015
Paper summaryqureai**Contributions**:
* Use dropout to get segmentation with a measure of model uncertainty.
**Explanation**:
We can consider dropout as a way of getting samples from a posterior distribution of models [see these papers: [1]( https://arxiv.org/abs/1506.02142), [2](https://arxiv.org/abs/1506.02158)) and thus can be be used to do Bayesian inference.
This amounts to using dropout both during train and test time and getting multiple outputs (i.e sampling from model distribution) in test time. Mean of these outputs is taken as final segmentation and variation as model uncertainty.
Sample averaging performs better than weight averaging (i.e usual test time method for dropout) if averaged over more than 6 samples. Paper used 50 samples.
General technique which can be applied to any segmentation model. Sample averaging alone improves scores by 2-3%.
**Benchmarks**:
<score without dropout -> score with dropout>
*VOC2012*
Dilation Network: 71.3 -> 73.1 [Source](http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=mean&challengeid=11&compid=6&submid=6103#KEY_Bayesian%20Dilation%20Network)
FCN8: 62.2 -> 65.4 [Source](http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=mean&challengeid=11&compid=6&submid=6103#KEY_Bayesian%20FCN)
SegNet: 59.1 -> 60.5 (Source: reported in the paper)
*CamVid*
SegNet: 71.20 -> 76.3 (Source: reported in the paper)
**My comments**
Nothing very new. Gotcha is that sample averaging performs better.
**Contributions**:
* Use dropout to get segmentation with a measure of model uncertainty.
**Explanation**:
We can consider dropout as a way of getting samples from a posterior distribution of models [see these papers: [1]( https://arxiv.org/abs/1506.02142), [2](https://arxiv.org/abs/1506.02158)) and thus can be be used to do Bayesian inference.
This amounts to using dropout both during train and test time and getting multiple outputs (i.e sampling from model distribution) in test time. Mean of these outputs is taken as final segmentation and variation as model uncertainty.
Sample averaging performs better than weight averaging (i.e usual test time method for dropout) if averaged over more than 6 samples. Paper used 50 samples.
General technique which can be applied to any segmentation model. Sample averaging alone improves scores by 2-3%.
**Benchmarks**:
<score without dropout -> score with dropout>
*VOC2012*
Dilation Network: 71.3 -> 73.1 [Source](http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=mean&challengeid=11&compid=6&submid=6103#KEY_Bayesian%20Dilation%20Network)
FCN8: 62.2 -> 65.4 [Source](http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=mean&challengeid=11&compid=6&submid=6103#KEY_Bayesian%20FCN)
SegNet: 59.1 -> 60.5 (Source: reported in the paper)
*CamVid*
SegNet: 71.20 -> 76.3 (Source: reported in the paper)
**My comments**
Nothing very new. Gotcha is that sample averaging performs better.