Added implementation information for SSD

Signed-off-by: Jim Martens <github@2martens.de>
This commit is contained in:
2019-08-05 18:48:26 +02:00
parent d354b923e0
commit b77a2f6789

View File

@ -687,23 +687,29 @@ were made. Miller et al. used weights that were trained on MS COCO
to predict on SceneNet RGB-D. to predict on SceneNet RGB-D.
As the source code was not available, I had to implement Miller's As the source code was not available, I had to implement Miller's
work myself. For the SSD network I used an implementation that work myself. For the SSD network, I used an implementation that
is compatible with Tensorflow; this implementation had to be is compatible with
Tensorflow\footnote{\url{https://github.com/pierluigiferrari/ssd\_keras}}; this implementation had to be
changed to work with eager mode. Further changes were made to changed to work with eager mode. Further changes were made to
support entropy thresholding. support entropy thresholding.
For the Bayesian variant, observations have to be calculated: For the Bayesian variant, observations have to be calculated:
detections of multiple forward passes for the same image are averaged detections of multiple forward passes for the same image are averaged
into an observation. This algorithm was implemented based on the into an observation. This algorithm was implemented based on the
information available in the paper. information available in the paper. Beyond the observation
calculation, the Bayesian variant can use the same code as the
vanilla version with one exception: the model had to be duplicated
and two dropout layers added to transform SSD into a Bayesian
network.
To better understand the SceneNet RGB-D data set, I counted the The vanilla SSD did not provide meaningful detections on SceneNet
number of instances per COCO class and a huge class imbalance was RGB-D with the pre-trained weights and fine-tuning it on SceneNet
visible; not just globally but also between trajectories: some did not work either. Therefore, to better understand the SceneNet
classes are only present in some trajectories. This makes training RGB-D data set, I counted the number of instances per COCO class and
with SSD on SceneNet practically impossible. a huge class imbalance was visible; not just globally but also
I tried to finetune the SSD on SceneNet because the between trajectories: some classes are only present in some
pre-trained weights did not produce detection results. trajectories. This makes training with SSD on SceneNet practically
impossible.
\section{Implementing an auto-encoder} \section{Implementing an auto-encoder}