We propose a Double Convolutional Neural Networks (D2CNN) framework for automatic target detection. D2CNN achieved high speed and high positional accuracy on our high-altitude imagery dataset. Translation invariance in convolutional neural network (CNN) is a double-edged sword. A CNN with large translation invariance is fast, but suffers positional accuracy, which is critical for automatic target detection. A CNN with small translation invariance can achieve high positional accuracy at the expense of speed. In a typical target detection case, targets are very sparse. In our D2CNN framework we employ two separate CNN. The first with large translation invariance generates region proposals. The second CNN with small translation invariance detects targets with high positional accuracy in the proposed regions by the first CNN. The two CNN are trained separately using different training strategies. Training examples are shared between the two CNN. However, data augmentation algorithms are very different. For the first CNN data augmentation, we place an object at various locations such as the center, the lower left portion, the up-right portion. For the second CNN data augmentation, an object/target is always centered. We fine tune hyper-parameters of pooling and convolution layers to increase translation invariance for the first CNN, and decrease translation invariance for the second CNN.
|