Proprietary and confidential. Do not distribute.
using neon for object detection and localization
Yinyin Liu, PhD March 3 2016
Outline
2
Intro to Deep Learning• From a user’s perspective, how to use neon to solve your
problem
• Use object localization problem as an example to
• understand and utilize neon architecture
• implement a new model
Object detection and localization
3
Object detection and localization
4
Fast region-based CNN (RCNN)
5
Fast R-CNN [Girshick 2015] http://arxiv.org/abs/1504.08083
• Pre-trained the ConvNets
• ROI pooling
• Branch architecture
• cost function to consider both
functions
neon architecture
6
dataset
model
Optimizer
Cost
callbacks
Layers/container
Metric
Architecture
Building fast R-CNN network
7
model
Optimizer
smooth L1 cost
callbacks
loading trained VGG layers
Branch architecture
Pooling
ROI pooling
Dropout
Affine
Conv
data iterator
PASCAL VOC
Object detection metric
• Input • Image • ROIs
• Target • class label • box regression • box regression mask
new components that were not in neon
PASCAL VOC in a dataset container
8
PASCAL VOC
• Input • Image • ROIs
• Target • class label • box regression • box regression mask
ROI pooling layer
9
• ROI pooling layer combines feature map from a
layer, and ROIs from the dataset
• Make a ROI pooling a container
• contains the ConvNet layers
• interface with dataset directly
ROI pooling layer
10
• Any new layer or container needs to:
• work as part of the model’s forward and
backward propagation process
• have fprop and bprop functions
• start from an python implementation
• write backend (GPU) support for speed
Cost and metric
11
• new type of cost need to be derived from Cost
class
• new type of metric need to be derived from
Metric class
Fast R-CNN model
12
Fast R-CNN model
13
Trained and tested in neon
14
Trained and tested in neon
15
Trained and tested in neon
16
Contact
17
github.com/NervanaSystems/neon
\