SLIDE 1 OverFeat ¡
Integrated ¡Recogni.on, ¡Localiza.on ¡and ¡Detec.on ¡using ¡ Convolu.onal ¡Networks ¡ Sermanet ¡et. ¡al ¡ Presenta.on ¡by ¡Eric ¡Holmdahl ¡
SLIDE 2 Roadmap ¡
1. Goal ¡ 2. Background ¡ 3. Related ¡Work ¡ 4. Algorithm ¡Overview ¡ 5. Breakdown ¡By ¡Task ¡
1. Classifica.on ¡ 2. Localiza.on ¡ 3. Detec.on ¡
SLIDE 3
Goal ¡
Perform ¡classifica.on, ¡localiza.on, ¡and ¡ detec.on ¡on ¡the ¡ImageNet ¡Dataset ¡
SLIDE 4 Classi3ication ¡
Determining ¡what ¡is ¡the ¡main ¡object ¡in ¡an ¡image ¡
SLIDE 5 Localization ¡
- Determining ¡where ¡an ¡object ¡is ¡located ¡in ¡an ¡image ¡
SLIDE 6 Detection ¡
- Performing ¡localiza.on ¡for ¡all ¡objects ¡present ¡in ¡an ¡image ¡
SLIDE 7
Background: ¡Feed ¡Forward ¡Neural ¡ Networks ¡
SLIDE 8 Background: ¡Convolutional ¡Nets ¡
- Alterna.ng ¡convolu.on ¡and ¡max ¡pooling ¡layers ¡feed ¡into ¡fully ¡
connected ¡neural ¡net ¡
- Max ¡pooling: ¡with ¡window ¡size ¡kxk, ¡outputs ¡highest ¡intensity ¡value ¡
in ¡window ¡size ¡
- Convolu.on: ¡Scanning ¡window, ¡shared ¡weights ¡within ¡window ¡
SLIDE 9 Related ¡Work ¡
¡ ¡
SLIDE 10
Krizhevsky ¡et. ¡Al: ¡ImageNet ¡ Classi-ication ¡With ¡Deep ¡Convolutional ¡ Neural ¡Networks ¡
SLIDE 11 Review: ¡Krizhevsky ¡ Architecture ¡
- Large ¡CNNs ¡used ¡to ¡densely ¡process ¡images ¡with ¡overlapping ¡
windows ¡
- ReLU ¡Nonlinear ¡neuron ¡output ¡
- DropOut ¡
SLIDE 12 Krizhevksy ¡Results ¡
- Brought ¡CNNs ¡to ¡forefront ¡of ¡classifica.on/localiza.on/
detec.on ¡problem ¡
SLIDE 13
Giusti ¡et. ¡al: ¡Fast ¡Image ¡Scanning ¡With ¡ Deep ¡Convolutional ¡Networks ¡ ¡
SLIDE 14 Giusti ¡Fast ¡Scanning ¡
- Problem: ¡CNNs ¡perform ¡a ¡great ¡deal ¡of ¡
redundant ¡compu.ng ¡of ¡convolu.ons ¡ due ¡to ¡overlapping ¡patches ¡
- Solu.on: ¡Apply ¡convolu.on ¡to ¡en.re ¡
image ¡at ¡once! ¡
SLIDE 15 Giusti ¡et. ¡al: ¡Fast ¡Image ¡Scanning ¡ With ¡Deep ¡Convolutional ¡Networks ¡
Convolu.onal ¡Layer: ¡ ¡ ¡ ¡ ¡ ¡ Max ¡Pooling ¡Layer: ¡
SLIDE 16
Giusti ¡et. ¡al: ¡Fast ¡Image ¡Scanning ¡ With ¡Deep ¡Convolutional ¡Networks ¡ ¡
SLIDE 17 Giusti ¡et. ¡al: ¡Results ¡
Provides ¡massive ¡improvements ¡in ¡speed ¡for ¡sliding ¡window ¡CNNs! ¡
SLIDE 18
Algorithm ¡Overview ¡
SLIDE 19
Algorithm ¡Overview: ¡Training ¡
Train ¡Classifier ¡ Train ¡ Localiza.on ¡ Regressor ¡
SLIDE 20
Algorithm ¡Overview: ¡Training ¡
Train ¡Classifier ¡ Train ¡ Localiza.on ¡ Regressor ¡
SLIDE 21
Algorithm ¡Overview: ¡Training ¡
Train ¡Classifier ¡ Train ¡ Localiza.on ¡ Regressor ¡
SLIDE 22 Algorithm ¡Overview: ¡Training ¡
Train ¡Classifier ¡ Train ¡ Localiza.on ¡ Regressor ¡
- Input: ¡Images ¡with ¡classifica.on ¡and ¡bounding ¡box ¡
- Training ¡objec.ve: ¡Minimize ¡l2 ¡norm ¡between ¡
generated ¡bounding ¡box ¡and ¡ground ¡truth ¡
- One ¡regressor ¡generated ¡for ¡each ¡possible ¡image ¡
class ¡
- Output: ¡(x,y) ¡coordinates ¡of ¡top ¡le[, ¡top ¡right ¡corner ¡
- f ¡bounding ¡box ¡
¡ ¡
SLIDE 23 Algorithm ¡Overview: ¡Runtime ¡
- 1. ¡Perform ¡classifica.on ¡at ¡each ¡loca.on ¡using ¡trained ¡CNN ¡ ¡
SLIDE 24 Algorithm ¡Overview: ¡Runtime ¡
- 2. ¡Perform ¡localiza.on ¡on ¡all ¡classified ¡regions ¡generated ¡by ¡classifier ¡
SLIDE 25 Algorithm ¡Overview: ¡Runtime ¡
- 3. ¡Merge ¡bounding ¡boxes ¡with ¡sufficient ¡overlap ¡from ¡localiza.on ¡and ¡
sufficient ¡confidence ¡of ¡being ¡same ¡object ¡from ¡classifier ¡
SLIDE 26
Breakdown ¡By ¡Task ¡
SLIDE 27
Classi3ication ¡
SLIDE 28 OverFeat ¡Feature ¡Extraction ¡
- First ¡5 ¡layers ¡of ¡Deep ¡Convolu.onal ¡Neural ¡Net: ¡similar ¡to ¡
Krizhevsky’s ¡
- Images ¡downsampled ¡to ¡256x256 ¡
- No ¡contrast ¡normaliza.on, ¡non-‑overlapping ¡pooling ¡
SLIDE 29
OverFeat ¡Classi3ication: ¡Dense ¡ Sliding ¡Window ¡
SLIDE 30 Multi-‑Scale ¡Classi3ication ¡
- Classifica.on ¡performed ¡at ¡6 ¡scales ¡at ¡test ¡.me, ¡but ¡only ¡1 ¡
scale ¡at ¡run.me ¡
- Increases ¡robustness ¡of ¡model ¡
SLIDE 31 ConvNets for Detection
○ ○ ○ ○ ○ 1x1 output no feature space blue: feature maps green: operation kernel typical training setup
OverFeat • Pierre Sermanet • New York University
Classi3ication: ¡CNNs ¡and ¡Sliding ¡ Windows ¡
SLIDE 32 ConvNets for Detection
○ ○ ○ 2x2 output input stride 2x2 recompute only extra yellow areas
OverFeat • Pierre Sermanet • New York University
Classi3ication: ¡CNNs ¡and ¡Sliding ¡ Windows ¡
SLIDE 33 ConvNets for Detection
○ ○ ○ ○ ○ 3 input channels 4 feature maps 2 feature maps 4 feature maps 2 outputs (e.g. 2-class classifier)
OverFeat • Pierre Sermanet • New York University
Classi3ication: ¡CNNs ¡and ¡Sliding ¡ Windows ¡
SLIDE 34
Classi3ication: ¡Results ¡
SLIDE 35
Localization ¡
SLIDE 36 Training ¡Localizer ¡
- Use ¡same ¡first ¡5 ¡layers ¡as ¡trained ¡classifier ¡
- Remove ¡fully ¡connected ¡layers, ¡replace ¡with ¡regressor ¡
- Train ¡again ¡on ¡labeled ¡input ¡with ¡bounding ¡boxes ¡
SLIDE 37
Localization: ¡Fully ¡Connected ¡ Layers ¡
SLIDE 38
Localization: ¡Bounding ¡Boxes ¡ Produced ¡By ¡Regression ¡
SLIDE 39 Localization: ¡Combing ¡ Predictions ¡
Algorithm: ¡
SLIDE 40
Localization: ¡Results ¡
SLIDE 41
Detection ¡
SLIDE 42 ImageNet Challenge 2013
OverFeat • Pierre Sermanet • New York University
○ ○ ○ ○ 200 classes Smaller objects than classification/localization Any number of objects (including zero) Penalty for false positives
SLIDE 43 Differences ¡Between ¡Detection ¡ and ¡Location ¡
- Can ¡now ¡have ¡many ¡objects ¡instead ¡of ¡just ¡
- ne ¡
- Penalized ¡for ¡incorrect ¡guesses ¡
- Need ¡to ¡dis.nguish ¡background ¡from ¡
- bjects ¡
SLIDE 44 Training ¡Detector ¡
- Almost ¡iden.cal ¡to ¡classifica.on/
localiza.on ¡training ¡
- New ¡class ¡added ¡– ¡background ¡
- Background ¡class ¡updated ¡on ¡the ¡fly: ¡
extremely ¡incorrect ¡classifica.ons ¡are ¡ used ¡to ¡train ¡background ¡class ¡
SLIDE 45
Detection ¡Results ¡
SLIDE 46 Conclusion ¡
OverFeat ¡provides ¡a ¡way ¡to ¡extract ¡powerful ¡CNN ¡based ¡ features ¡for ¡image ¡classifica.on, ¡localiza.on ¡and ¡detec.on ¡with ¡ high ¡speed ¡and ¡precision ¡
SLIDE 47
Thanks! ¡