Faster R-CNN is an state-of-the-art object detection algorithm proposed by Shaoqing Ren et al. in 2015. Faster R-CNN builds on previous work (Fast R-CNN) to efficiently detect and classify object proposals using deep convolutional neural networks (D-CNNs). Compared to Fast R-CNN, Faster R-CNN employs a region proposal network and does not require an external method for candidate region proposals. Therefore, the time cost of generating region proposals in Faster R-CNN is much smaller than selective search in Fast R-CNN. This feature is very important for building real-time computer vision applications.
Basically, a Faster R-CNN uses a Region Proposal Network (RPN) to generate high-quality region proposals, which are used for detection network as (Fast R-CNN). In other words, Faster R-CNN is the combination between RPN and (Fast R-CNN).
The unified network of Faster R-CNN proposed by Faster R-CNN. The first component is a deep fully convolutional network that proposes region proposals. The second component is the Fast R-CNN detector.
In this project, we use Faster R-CNN to build a vision-based tool for transport system flow analysis. This system is able to detect different types of objects, e.g., cars, buses, pedestrians, and classify as well as count them in transport videos with a real-time speech.
This project replies on Keras 2.0.7, TensorFlow 1.0.3, OpenCV-Python 3.3.0, scikit-learn 0.19.0, h5py 2.7.0, and numpy 1.13.1. More details about the instalation these libraies on Windows can be found here.
Training deep neural networks is time-consumming. To use this tool directy on unseen videos, you can dowload pre-trained model here. Putting it into the working directory, opennining command prompt and performing the inference stage by command:
cd path-to-the-working-directory
inference.py --input_file path-to-input-folder\input-video.mp4 --output_file path-to-output-folder\output-video.mp4 --frame_rate=30
This video shows an example of the results obtained from some transport videos.