Regions with Convolutional Neural Network
lastmod 2025-02-11created 2015-12-2346 edits
R-CNN is a state-of-the-art visual object detection system that combines bottom-up region proposals with rich features computed by a convolutional neural network. At the time of its release, R-CNN improved the previous best detection performance on PASCAL VOC 2012 by 30% relative, going from 40.9% to 53.3% mean average precision. Unlike the previous best results, R-CNN achieves this performance without using contextual rescoring or an ensemble of feature types.
Category
- R-CNN:Paper: paper translation.
- SPPnet (Paper: SPPnet:Paper): proposes SPP (Spatial Pyramid Pooling). Removes image degradation caused by Crop/Warp.
- Fast R-CNN (Paper: Fast R-CNN:Paper)
- Faster R-CNN (Paper: Faster-RCNN:Paper): proposes RPN (Region Proposal Network). Shares the ConvNet with RCNN to reduce computation time (compared to Fast RCNN).
- YOLO
- R-FCN (Paper: R-FCN:Paper): proposes the Position sensitive score map to exploit both translation variance and invariance.
- Single Shot MultiBox Detector (SSD): improves detection speed by skipping the Proposal generation stage.
- Inside Outside Network (ION): (relative to the ROI) Inside (Skip pooling applied at multi-scale) + Outside (IRNN applied for context information)
- MR-CNN: (relative to the ROI) Inside (Skip pooling applied at multi-scale) + Outside (IRNN applied for context information)
- A MultiPath Network for Object Detection
- Mask R-CNN
- RetainNet
- RetinaMask
- Fully Convolutional One-Stage Object Detection (FCOS)
R-CNN
The algorithm can be summarized as follows.
- The first object detection Region Proposal Network.
- R-CNN generates 2,000 candidate regions (Window) and verifies each region.
- Algorithms for Region Proposal include Selective Search, EdgeBox, and others.
- Uses an existing CNN for Classification.
- Because 2,000 overlapping regions are generated within the target image being tested, the amount of computation becomes a problem.
- Each candidate region (Window) is resized to 227x2271 and features are generated through the Network (CNN).
- Finally, these values are classified with an SVM.
Its performance is good, but it has the following drawbacks.
- Because the image is Warped/Cropped when the CNN classifies Region proposals, performance degrades due to image distortion/loss.
- Speed degrades because about 2000 Region proposals are extracted and CNN Computation is run on all of them.
- The algorithms used for Region Proposal are CPU computations that do not benefit from the GPU's fast computation. They act as a bottleneck between the CPU and GPU.
Of the three drawbacks above, the first and second were solved in SPPnet. The second drawback is solved in Fast-RCNN, introduced next, and the third drawback in Faster-RCNN.
| |
| Figure 1: Object detection system overview. Our system (1) takes an input image, (2) extracts around 2000 bottom-up region proposals, (3) computes features for each proposal using a large convolutional neural network (CNN), and then (4) classifies each region using class-specific linear SVMs. R-CNN achieves a mean average precision (mAP) of 53.7% on PASCAL VOC 2010. For comparison, [39] reports 35.1% mAP using the same region proposals, but with a spatial pyramid and bag-of-visual-words approach. The popular deformable part models perform at 33.4%. On the 200-class ILSVRC2013 detection dataset, R-CNN’s mAP is 31.4%, a large improvement over OverFeat [34], which had the previous best result at 24.3%. |
Documentation
- Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5)
- https://github.com/rbgirshick/rcnn
-
1311.2524v5.pdf
ETC
- Segmenting and refining images with SharpMask
- Blog post here: https://code.facebook.com/posts/561187904071636
- Demo website: https://www.facebook.com/aidemos/
- Github repo for MultiPathNet: https://github.com/facebookresearch/multipathnet
- Github repo of DeepMask/SharpMask: https://github.com/facebookresearch/deepmask
See also
Favorite site
- Playing around with RCNN, State of the Art Object Detector
- RCNN Example
- How to train fast rcnn on imagenet
- [Recommended] Deep Learning based Detection (ko) 2
- [Recommended] Object Detection and Classification using R-CNNs