Figure 1. The 50 object instances in the NORB dataset. The left side contains the training instances
and the right side the testing instances for each of the 5 categories.
In the textured and cluttered datasets, the objects were
placed on randomly picked background images. In those ex-
periments, a 6-th category was added : background images
with no objects (results are reported for this 6-way classifi-
cation). In the textured set, the backgrounds were placed at a
fixed disparity, akin to a back wall orthogonal to the camera
axis at a fixed distance. In the cluttered datasets, the dispar-
ities were adjusted and randomly picked so that the objects
appeared placed on highly textured horizontal surfaces at
small random distance from that surface. In addition, a ran-
domly picked “distractor” object from the training set was
placed at the periphery of the image.
• normalized-uniform set: 5 classes, centered, unper-
turbed objects on uniform backgrounds. 24,300 train-
ing samples, 24,300 testing samples. See figure 1.
• jittered-uniform set: 5 classes, random perturbations,
uniform backgrounds. 243,000 training samples (10
drawings) and 24,300 test samples (1 drawing)
• jittered-textured set: 6 classes (including one back-
ground class) random perturbation, natural back-
ground textures at fixed disparity. 291,600 train-
ing samples (10 drawings), 58,320 testing samples (2
drawings). See figure 2.
• jittered-cluttered set: 6 classes (including one back-
ground class), random perturbation, highly cluttered
background images at random disparities, and ran-
domly placed distractor objects ar ound the periphery.
291,600 training samples (10 drawings), 58,320 test-
ing samples (2 drawings). See figure 2.
Occlusions of the central object by the distractor occur oc-
casionally, as can be seen in figure 2. Most experiments
were performed in binocular mode (using left and right im-
ages), but some were performed in monocular mode. In
monocular experiments, the training set and test set were
composed of all left and right images used in the corre-
sponding binocular experiment. Therefore, while the num-
ber of training samples was twice higher, the total amount
of training data was identical. Examples from the jittered-
textured and jittered-cluttered training set are shown in fig-
ure 2.
3. Experiments
The following classifiers were tested on raw image pairs
from the normalized-uniform dataset: linear classifier, K-
Nearest Neighbor (Euclidean distance), pair wise Support
Vector Machines with Gaussian kernels, and Convolutional
Networks [7]. With 18,432 input variables and 24,300 sam-
ples, this dataset is at the upper limit of practicality for
template-matching-based methods such as K-NN and SVM
(in fact, special algorithms had to be implemented to make
them practical). The K-Nearest Neighbor and SVM meth-
ods were also ap plied to 95-dimensional vectors of PCA
coefficients extracted from the 2 × 96 × 96 binocular train-
ing images. All the methods were also applied to Laplacian-
filtered versions of the images, but the results were uni-
formly worse than with raw images and are not reported.
The Convolutional Network was trained and tested on
the normalized-uniform dataset, as well as on the jittered-
uniform and jittered-textured datasets. The jittered training
sets were much too large to be handled by the K-NN and
SVM methods within reasonable limits of CPU time and
memory requirements. In the following sections, we give
brief descriptions of the methods employed. All the algo-
rithms were implemented with the Lush environment [3].
The SVM implementation used the Torch library [6] in-
terfaced to Lush, while the Convolutional Net implementa-
tion used Lush’s gblearn2 package.
3.1. Principal Component Analysis
Computing the Principal Components of the dataset for
the PCA-based K-NN and SVM was a major challenge be-
cause it was impossible to manipulate (let alone diagonal-
ize) the 18,432×18,432 covariance matrix (2 × 96 × 96
3
Fig. 1. Top left: one image (4 MPixels) corresponding to one of the 50 high power fields repre-
sented in the dataset. Our detected mitosis are circled green (true positives) and red (false posi-
tives); cyan denotes mitosis not detected by our approach. Top right: details of three areas (full-
size results on the whole dataset in supplementary material). Note the challenging appearance of
mitotic nuclei and other very similar non-mitotic structures. Bottom: overview of our detection
approach.
After several pairs of convolutional and MP layers, one fully connected layer fur-
ther mixes the outputs into a feature vector. The output layer is a simple fully connected
layer with one neuron per class (two for this problem), activated by a softmax function,
thus ensuring that each neuron’s output activation can be interpreted as the probability
of a particular input belonging to that class.
Training a detector Using ground truth data, we label each pixel of each training
image as either mitosis (when closer than d pixels to the centroid of a mitosis) or non-
mitosis (elsewhere). Then, we build a training set in which each instance maps a square
window of RGB values sampled from the original image to the class of the central
pixel. If a window lies partly outside of the image boundary, the missing pixels are
synthesized by mirroring.
The mitosis detection problem is rotationally invariant. Therefore, additional train-
ing instances are generated by transforming windows within the training set by applying
arbitrary rotations and/or mirroring. This is especially important considering that there
are extremely few mitosis examples in the training set.
Processing a testing image To process an unseen image I, we apply the DNN to
all windows whose central pixel is within the image boundaries. Pixels outside of the
image boundaries are again synthesized by mirroring. This yields a probability map
Figure 2: After regressing to object masks across several scales and large image boxes, we perform
object box extraction. The obtained boxes are refined by repeating the same procedure on the sub
images, cropped via the current object boxes. For brevity, we display only the full object mask,
however, we use all five object masks.
3 DNN-based Detection
The core of our approach is a DNN-based regression towards an object mask, as shown in Fig. 1.
Based on this regression model, we can generate masks for the full object as well as portions of
the object. A single DNN regression can give us masks of multiple objects in an image. To further
increase the precision of the localization, we apply the DNN localizer on a small set of large sub-
windows. The full flow is presented in Fig. 2 and explained below.
4 Detection as DNN Regression
Our network is based on the convolutional DNN defined by [14]. It consists of total 7 layers, the
first 5 of which being convolutional and the last 2 fully connected. Each layer uses a rectified linear
unit as a non-linear transformation. Three of the convolutional layers have in addition max pooling.
For further details, we refer the reader to [14].
We adapt the above generic architecture for localization. Instead of using a softmax classifier as a
last layer, we use a regression layer which generates an object binary mask DNN( x; ⇥) 2 R
N
,
where ⇥ are the parameters of the network and N is the total number of pixels. Since the output
of the network has a fixed dimension, we predict a mask of a fixed size N = d ⇥ d. After being
resized to the image size, the resulting binary mask represents one or several objects: it should have
value 1 at particular pixel if this pixel lies within the bounding box of an object of a given class and
0 otherwise.
The network is trained by minimizing the L
2
error for predicting a ground truth mask m 2 [0, 1]
N
for an image x:
min
⇥
X
(x,m)2D
||(Diag(m)+I)
1/2
(DNN(x; ⇥) m)||
2
2
,
where the sum ranges over a training set D of images containing bounding boxed objects which are
represented as binary masks.
Since our base network is highly non-convex and optimality cannot be guaranteed, it is sometimes
necessary to regularize the loss function by using varying weights for each output depending on the
3