Is there a Layer to perform L2 Normalization in CNN?
2 views (last 30 days)
I try to implement an VGG16 based Single Shot Detector for detecting small defects on surfaces. The main Stucture you can find in this article(link below):
(Source of Picure/Article: https://towardsdatascience.com/implementing-ssd-in-keras-part-i-network-structure-da3323f11cff )
In this article is mentioned that the feature scale of the conv4_3 Layer is different compared to other layers. So they use L2 normalization technique "to scale the feature norm at each location in the feature map to 20 and learn the scale during back propagation.”
There are some examples out there how to deal with it in Python and Keras, but i dont know how to handle it in Matlab.
So i have a some Questions about it:
- Can you explain to me what exactly is meant with the feature map scale? I dont think they want to scale the 38 by 38 map to 20 by 20?
- Is there a Layer that can be used for L2 Normalization? And what would be The Inputs to it?
- When i load the main structure or main VGG16 Network and change the input size to 300x300x3 the conv4_3 Layer has an scale of 37x37x512. Does Matlab round off performing maxpool on odd numbers?
I hope somebody can help.
Mohammad Sami on 21 Jun 2021
In matlab you can train a SSD Network using the trainSSDObjectDetector Function in computer vision toolbox.
Some documentation and examples are available here.