Fast RCNN
Ha, since I happen to have some free time these days, let me quickly summarize the RCNN series papers I read before; this is the second post in the series. The author Ross Girshick could not stand how slowly the model he had proposed earlier (RCNN) ran, so he proposed an improved model (Fast RCNN). Below is a brief analysis of that model. The slowness of RCNN Compared with image recognition tasks, object detection is considerably harder because of the extra step of localizing the object positions. There are two main problems to solve: one is that the model needs a large number of object candidate boxes; the other is that these candidate boxes only roughly provide the approximate positions of the objects, so the model has to perform a regression operation. $RCNN$ is a multi-stage training model. The $RCNN$ model first fine-tunes a convolutional neural network on the object candidate boxes using a log loss, then passes the resulting feature maps to $SVM$s for object classification; these $SVM$s replace the $softmax$ layer that would otherwise need fine-tuning. In the third training stage the model learns bounding box regression. For training the $SVM$s and the bounding box regression, $RCNN$ writes the features of every object candidate box to disk, which undoubtedly costs an enormous amount of time and space. Secondly, the speed of object recognition is too slow: on a GPU, recognizing an image takes about 47 seconds per image. Another important reason for the slowness of $RCNN$ is that the model does not share the computation of the convolution layers. ...