Before revision:  We also provide an analysis on the advantages and disadvantages of these techniques and open paths to develop new architectures based on the combination of the modules described in this paper.
After revision:  We also provide an analysis on the advantages and disadvantages of these techniques . We further pave ways to develop new architectures based on the combination of the modules described in this paper.