High-Performance Object Detection for Optical Remote Sensing Images with Lightweight Convolutional Neural Networks
Jia Liu,Renhua Liu,Kaijun Ren,Xiaoyong Li,Jianjian Xiang,ShaoHua Qiu
DOI: https://doi.org/10.1109/hpcc-smartcity-dss50907.2020.00074
2020-01-01
Abstract:Convolutional neural network (CNN)-based object detection for optical remote sensing images has achieved higher accuracy compared with traditional detection methods with handcrafted features. However, the deep and large CNNs make it hard to be deployed in real-time scenarios with limited computation, storage, power and bandwidth resources, for example, data processing onboard airborne, satellites and unmanned aerial vehicles for search and rescue. Therefore, in this paper we present a high-performance object detection approach for optical remote sensing images. Based on the widely used Faster R-CNN framework, we integrate state-of-the-art lightweight CNNs as backbone to extract features, slim the heavy-head architecture of two-stage detector by reducing dimensions of features, and fine-tune our models with NWPU VHR-10 optical remote sensing dataset. Besides, the multi-threading for CPU and detection in batches for GPU are deployed to enhance the throughput of detectors and utilization of multi-core CPU and many-core GPU. Experiments show that our presented detection approach can significantly reduce the model size, computation complexity and detection time, while maintaining competitive accuracy. Specifically, the one with ShuffleNet-v2 and slimmed features has achieved a highest mean average precision of 94.39%, a lowest computational complexity of 18.97 Giga floating point operations, a highest detection speed of 90.10 frames per second (fps) for GPU and 3.07 fps for CPU, corresponding to speedups of 6.94X and 13.26X compared with the baseline on the benchmarked system, with a model size of 13.6 MB. Moreover, it further improves the efficiency and achieves 4.98 fps on CPU with 4 threads, and 200.24 fps on GPU with a batch size of 32.