Slides

PASCAL VOC Classification: Local Features vs. Deep Features
Shuicheng YAN, NUS
PASCAL VOC
Why valuable? Multi-label, Real Scenarios!
Visual Object
Recognition
Object
Classification
Object
Detection
Object
Segmentation
Person, Horse,
Barrier, Table, etc

PASCAL VOC Visual object classes challenges




Main tasks: object classification, detection and segmentation


Be held yearly 2007 – 2012
Tens of teams from universities and industries participated including INRIA,
Berkeley, Oxford, NEC, etc.
Become “the dataset” for visual object recognition research
Other tasks: person layout, action recognition, etc.
Data: 20 object classes, ~23,000 images with fine labeling
PASCAL VOC: 2010-2014

NUS-(PSL) team results





2014, Classification MAP to 0.91
2012, 2011, 2010, Winner of object classification task. (cls)
2012, Winner of object segmentation task. (seg)
2010, Honorable mention of object detection task. (det)
NUS-(PSL) architecture

Visual
Object
Recognition
A joint learning of cls-det-seg.
Cls: Global
Information
Det: Local
Information
Seg: Finedetailed
Information
PASCAL VOC: 2010-2014
HCP
2014: 91.4%
Deep feature
2014: 83.2%
Sub-category
2012: 82.2%
GHM
2011: 78.7%
Context-SVM
LLC
2010: 73.8%
25%
Deep feature
2013: 79.0%
I. Spring of Local Features: 2010-2012
Pipeline
Feature
Representation
Low Level
Features
Feature
Encoding
Feature
Pooling
GHM[2]:
Generalized Hierarchical
Matching (GHM) for
object central problems.
Object central pooling.
Model
Learning
Classifier
Learning
Subcategory mining[1]:
Automatically mining the
visual subcategories
based on ambiguity
modeling.
Context
Modeling
Contextualization[3]:
Mutual Contextualization
for object classification and
detection tasks. Great
performance improvement.
1. Jian Dong, Qiang Chen, Jiashi Feng, Wei Xia, Zhongyang Huang, Shuicheng YAN, Subcategory-aware Object Classification. In CVPR'13.
2. Qiang Chen, Zheng Song, Yang Hua, Zhongyang Huang, Shuicheng Yan. Hierarchical Matching with Side Information
for Image Classification. In CVPR’12.
3. Zheng Song*, Qiang Chen*, Zhongyang Huang, Yang Hua, and Shuicheng Yan. Contextualizing Object Detection and
Classification. In CVPR'11.
Framework – NUS-PSL 2010
Visual Features
Chair
Local Feature
Extraction
Feature Coding
Kernel
Nonlinear
Kernel
Classification
Post Processing
SVM
Kernel
Regression
Regression
Feature Pooling
SPM
Detection Results
Max pooling
Linear Kernel
Confidence
Refinement
with Exclusive
prior
Framework – NUS-PSL 2012
Subcategory
Mining
Chair
III Subcategory
Flipping
Mining
Visual Features
Local Feature
Extraction
Feature Coding
Feature Coding
FK
Flipping
Kernel
Nonlinear+
Nonlinear
Kernel
Linear
Kernel
I Contextualized
Object
Classification and
Detection
Classification
Post Processing
SVM
Kernel
Regression
Regression
Feature Pooling
Generalized
SPM,
SPM
GHM
II
Hierarchical
Matching
Subcategory
Detection Results
Detection Results
Flipping
Max pooling
Linear Kernel
Confidence
Refinement
with Exclusive
prior
Outline for VOC: 2010-2012



Context model: Contextualized Object Classification and
Detection
Feature pooling: Generalized Hierarchical Matching/Pooling
Subcategory learning: Sub-Category Aware Detection &
Classification
Contextualized Object Classification and Detection
Det: Local
patches with
matched local
shape/texture
Cls: Global
probabilities to
contain objects
Occurrence Probability
Det
Cls
Whether Can
Exchange
Information?
Observations


Object classification and detection are mutually
complemental to each other. Each subject task serves
as context task for the other.
Context is not robust for the subject task, so use only
when necessary
person
Scene/Global level information is
not stable for object detection.
False alarm of object detection
harms object classification.
Contextualized SVM - Formulation
• Adaptive contextualization
Sample specific
classification
Adaptive embedding
of context features
Original classification
hyperplane
n: feature dim
m: context dim
• Configurable model complexity: low rank constraint
•
dim n x m  R x (n + m)
Context model
(dim m)
• Easy to be solved and kernelized, if
Selection to
ambiguous samples
(dim n)
is fixed.
Contextualized SVM - Formulation

Ambiguity modeling:

Define the ambiguity degree of sample as the hinge loss of the subject task,

Learn the Ambiguity-guided Mixture Model (AMM) through EM to maximize the
following objective,

Multi-mode ambiguity term is defined as the posterior of each mixture r,
Iterative Co-training of
Detection and Classification
Learn to Detect
Classification Pipeline
Detection Pipeline
Context from
initial
Classification
Initial
Model
Detection
Feature
Detection Feature
Context from
1st
Classification
Context
SVM
Learn to Classify
Context from
initial
Detection
Context
SVM
Classification
Feature
Context
from 1st
Detection
Classification Feature
a) initial model
b) 1st iteration of ContextSVM
c) 2nd iteration of ContextSVM
…
Results

Iterative contextualization:
 Mean
AP values of 20 classes on VOC 2010 train/val
Results

Comparison with state-of-the-arts on VOC 2010
Exemplar results
Representative examples of the baseline (without contextualization) and
Context-SVM for classification task.
Outline for VOC: 2010-2012



Context model: Contextualized Object Classification and
Detection
Feature pooling: Generalized Hierarchical Matching/Pooling
Subcategory learning: Sub-Category Aware Detection &
Classification
Generalized Hierarchical Matching/Pooling


Traditional Pooling: SPM = approximate geometric constraint
Not optimal for object recognition due to misalignment
(a) Images
(b) SPM partitions
(c) Object Confidence Map partition
Hierarchical Pooling for Image Classification

Design a general form of hierarchical matching with
side information.
Represent image with hierarchical structure
Hierarchical Matching Kernel



Image Similarity Kernel is defined as the weighted
sum over each cluster kernel.
General form of SPM, PMK, etc…
Flexible to integrate other side information.
Generalized Hierarchical Matching/Pooling
Encoded local feature
vs. side information
(a) Side information
and Image
(c) Hierarchical structure
representation
(b) Hierarchically cluster by side information.
Level 1 (top),2 (mid),3 (bottom)
(d) Matching/pooling
within each cluster
Utilize side information to hierarchically pool local features
Side information design
Side Information - Detection Confidence Map
Images
Sliding
window
Process
Shape
Model
sub-window
Score vote
back to image
Score vote
back to image
Fusing
Object
Confidence
Maps
Appearance
Model
Results

VOC
Outline for VOC: 2010-2012



Context model: Contextualized Object Classification and
Detection
Feature pooling: Generalized Hierarchical Matching/Pooling
Subcategory learning: Sub-Category Aware Detection &
Classification
Sub-Category Mining
Chair
Sofa
Diningtable
Ambiguity Guided Subcategory Mining
Subcategory-aware Object Classification
Subcategory Model
1
Subcategory Model
2
Fusion Model
Subcategory Model
N
Sub-Category Mining
Ambiguous Categories
Sofa
Instance
Affinity Graph
Detected
Subgraphs
Corresponding
Subcategories
Ambiguity
Chair
Graph Shift
Visualization
Similarity
Ambiguity
Similarity

Subcategory Mining based on both Similarity & Ambiguity
Calculate the sample intra-class similarity

Calculate the sample inter-class ambiguity

Detect dense subgraphs by graph shift algorithm [1]

Subgraphs to subcategories.
[1] Hairong Liu, Shuicheng Yan. Robust Graph Mode Seeking by Graph Shift. ICML 2010
Sub-Category Aware Detection & Classification
Subcategory Model 1
Testing Image
Feature
Sliding/Selective
Extraction
Window Search
Local Feature
Extraction and
Coding
GHM Pooling
Detection Model
Image
Classification Model
Representation
Subcategory Model N
Subcategory
Classification
Result 1
Subcategory
Detection
Result 1
Subcategory
Classification
Result N
Subcategory
Detection
Result N
Fusion
Model
Category
level
Result
Sub-Category Mining Result
Subcategories
Bus
Chair
Outliers
Summary of VOC results
2010
Our Best Other's Best
aeroplane
bicycle
bird
boat
bottle
bus
car
cat
chair
cow
diningtable
dog
horse
motorbike
person
pottedplant
sheep
sofa
train
tvmonitor
MAP
93
79
71.6
77.8
54.3
85.2
78.6
78.8
64.5
64
62.9
69.6
82
84.4
91.6
48.6
65.4
59.6
89.4
77.2
73.8
93.3
77
69.9
77.2
53.7
85.9
80.4
79.4
62.9
66.2
61.1
71.1
76.7
81.7
90.2
53.3
66.3
58
87.5
76.2
2011
Our Best Other's Best
95.5
81.1
79.4
82.5
58.2
87.7
84.1
83.1
68.5
74.7
68.5
76.4
83.3
87.5
92.8
56.5
77.7
67
91.2
77.5
78.7
94.5
82.6
79.4
80.7
57.8
87.8
85.5
83.9
66.6
74.2
69.4
75.2
83
88.1
93.5
58.7
75.5
66.3
90
77.2
2012
Our Best Other's Best
97.3
84.2
80.8
85.3
60.8
89.9
86.8
89.3
75.4
77.8
75.1
83
87.5
90.1
95
57.8
79.2
73.4
94.5
80.7
82.2
92
74.2
73
77.5
54.3
85.2
81.9
76.4
65.2
63.2
68.5
68.9
78.2
81
91.6
55.9
69.4
65.4
86.7
77.4
II. Spring of Deep Feature: 2013-2014
CNN: Single-label Image Classification


Definition

Assign one and only one label from a pre-defined set to an image

Explicit assumption: object is roughly aligned
Alex Net [1] made a great breakthrough in single-label classification in
ILSVRC2012 (with 10% gain over the previous methods)
[1] A. Krizhevsky, I. Sutskever, G. Hinton. ImageNet Classification with Deep Convolutional Neural Networks. NIPS 2012.
CNN: Multi-label Image Classification

Definition

Assign multiple labels from a pre-defined set to an image
vs.
Single-label images

Multi-label images
Challenges

Foreground objects are not roughly aligned

Interactions between different objects, e.g. partial visibility and occlusion

A large number of training images are required

The label space is expanded from n to 2^n
Directly CNN training is unreasonable and unreliable!
Hypotheses-CNN-Pooling(HCP)

Our framework
Scores for individual
hypothesis
Shared convolutional neural network
5
3
11
5
dog,person,sheep
3
3
3
27
3
3
13
13
…
13
55
…
Hypotheses assumption:
single-labeled
c
Max 256 Max
96 Pooling Pooling
384
384
256
Max 4096 4096
Pooling
Max
Pooling
Characteristics of Our Framework





No ground-truth bounding box information is required for training on the
multi-label image dataset
The proposed HCP infrastructure is robust to the noisy and/or redundant
hypotheses
No explicit hypothesis label is required for training
The shared CNN can be well pre-trained with a large-scale single-label
image dataset
The HCP outputs are naturally multi-label prediction results
Training of HCP

Hypotheses extraction

Initialization of HCP


Pre-training on a large-scale single-label image set, e.g. ImageNet

Image-fine-tuning on a multi-label image set
Hypotheses-fine-tuning
Hypotheses Extraction


Criteria:

High object detection recall rate

Small number of hypotheses

High computational efficiency
Solution: BING [2]+ Boxes clustering
[2] M.-M. Cheng, J. Warrell, W.-Y. Lin, and P.H.S.Torr. BING: Binarized normed gradients for objectness estimation at 300fps. CVPR 2014.
Hypotheses Extraction
Initialization of HCP
Pre-training
Step1
Single-label Images
(e.g. ImageNet)
…
Parameters transferring
Step2
Multi-label Images
(e.g. Pascal VOC)
…
Image-fine-tuning
Hypotheses-fine-tuning
Experimental Results

A subset from detection dataset of ILSVRC 2013 is used for BING training
Experimental Results

Performance on PASCAL VOC 2007
New
Experimental Results

Performance on PASCAL VOC 2012
New-1
New-2
Experimental Results

Complementary Analysis: Hand-crafted features vs. Deep features
Experimental Results

One test sample from VOC2007

500 hypotheses for each image, 1~1.5s
Generate hypotheses
…
Feed into the shared CNN
person
hors
e
car
person
…
Cross-hypothesis max-pooling
person
horse
car
New Result: “Network in Network” (NIN)

NIN: CNN with non-linear filters, yet without final fully-connected NN layer
CNN

Intuitively less overfitting globally, and more discriminative locally
(not finally used in our submission due to the surgery of our main team member, but very effective)
[4]
With less parameter #
[4] Ian J. Goodfellow, David Warde-Farley, Mehdi Mirza, Aaron C. Courville, Yoshua Bengio: Maxout
Networks. ICML (3) 2013: 1319-1327
NIN
Better Local Abstraction
Local patch is projected to its feature vector.
Using a small network.
Motivation: Better Local Abstraction!
Cascaded Cross Channel Parametric Pooling (CCCP)
Lin, Min, Qiang Chen, and Shuicheng Yan. "Network In Network." ICLR-2014.
CCCP ≈ Cascaded 1x1 Convolution in Implementation
Global Average Pooling
CNN
NIN
Confidence map of each category
Save tons of parameters
NIN in ILSVR2014
To avoid hyper-parameter tuning,
we put cccp layer directly on convolution
layers of ZFNet. (Network in ZFNet)
layer
details
Conv1
Stride = 2, kernel = 7x7,
channel_out = 96
Cccp1
Output = 96
Conv2
Stride = 2, kernel = 5x5,
channel_out = 256
Cccp2
Output = 256
Conv3
Stride = 1, kernel = 3x3,
channel_out = 512
Cccp3
Output = 256
Conv4
Stride = 1, kernel = 3x3,
channel_out = 1024
Cccp4
Output = 512
Cccp5
Output = 384
Conv5
Stride = 1, kernel = 3x3,
channel_out = 512
Cccp6
Output = 256
layer
details
Conv1
Stride = 2, kernel = 7x7,
channel_out = 96
Conv2
Stride = 2, kernel = 5x5,
channel_out = 256
Conv3
Stride = 1, kernel = 3x3,
channel_out = 512
Conv4
Stride = 1, kernel = 3x3,
channel_out = 1024
Conv5
Stride = 1, kernel = 3x3,
channel_out = 512
Fc1
Output = 4096
Fc2
Output = 4096
Fc1
Output = 4096
Fc3
Output = 1000
Fc2
Output = 4096
Fc3
Output = 1000
(10.91%) With 256xN training and 3 view test
Zeiler, Matthew D., and Rob Fergus. "Visualizing and understanding convolutional networks."
Computer Vision–ECCV 2014. Springer International Publishing, 2014. 818-833.
NIN in HCP
Scores for individual
hypothesis
Shared NIN
dog,person,sheep
…
…
Max
Pooling
c
Compared with State-of-the-arts on VOC 2012
From 81.7%
Category
plane
bicycle
bird
boat
bottle
bus
car
cat
chair
cow
table
dog
horse
motor
person
plant
sheep
sofa
train
tv
MAP
NUS-PSL[1]
97.3
84.2
80.8
85.3
60.8
89.9
86.8
89.3
75.4
77.8
75.1
83.0
87.5
90.1
95.0
57.8
79.2
73.4
94.5
80.7
82.2
PRE-1000C[2]
93.5
78.4
87.7
80.9
57.3
85.0
81.6
89.4
66.9
73.8
62.0
89.5
83.2
87.6
95.8
61.4
79.0
54.3
88.0
78.3
78.7
PRE-1512[2]
94.6
82.9
88.2
84.1
60.3
89.0
84.4
90.7
72.1
86.8
69.0
92.1
93.4
88.6
96.1
64.3
86.6
62.3
91.1
79.8
82.8
| < 90.3%
Chatfield et al.[3] HCP-NIN HCP-NIN+NUS-PSL
96.8
98.4
99.5
82.5
89.5
93.7
91.5
96.2
96.8
88.1
91.7
94.0
62.1
72.5
77.7
88.3
91.1
95.3
81.9
87.2
92.4
94.8
97.1
98.2
70.3
73.0
86.1
80.2
89.5
91.3
76.2
75.1
83.5
92.9
96.3
97.3
90.3
93.0
96.8
89.3
90.5
96.3
95.2
94.8
95.8
57.4
66.5
72.2
83.6
90.3
91.5
66.4
65.8
81.1
93.5
95.6
97.6
81.9
82.0
90.0
83.2
86.8
91.4
[1] S. Yan, J. Dong, Q. Chen, Z. Song, Y. Pan, W. Xia, H. Zhongyang, Y. Hua, and S. Shen. Generalized hierarchical matching for subcategory aware
object classification. In Visual Recognition Challange workshop, ECCV, 2012.
[2] M. Oquab, L. Bottou, I. Laptev, and J. Sivic. Learning and transferring mid-level image representations using convolutional neural networks. CVPR, 2014.
[3] K. Chatfield, K. Simonyan, A. Vedaldi, A. Zisserman. Return of the Devil in the Details: Delving Deep into Convolutional Nets , BMVC, 2014
Demo
Online Demo
Highest and Lowest Score Five Images for Each Class
Aeroplane
Bicycle
Bird
Boat
Bottle
Highest and Lowest Score Five Images for Each Class
Bus
Car
Cat
Chair
Cow
Highest and Lowest Score Five Images for Each Class
Dining table
Dog
Horse
Motorbike
Person
Highest and Lowest Score Five Images for Each Class
Pottedplant
Sheep
Sofa
Train
TV monitor
What’s next?
Better Solution for Small/Occluded Objects?
More Extra Data?
HCP
2014: 91.4%
Deep feature
2014: 83.2%
Better Local Features?
Sub-category
Better Deep Features?
GHM
2011: 78.7%
Context-SVM
LLC
2009: 66.5%
2010: 73.8%
2012: 82.2%
25%
Shuicheng YAN
[email protected]
`