  CNN architectures are generally heavy on memory and computational
requirements which makes them infeasible for embedded systems with limited
hardware resources. We propose dual convolutional kernels (DualConv) for
constructing lightweight deep neural networks. DualConv combines 3$\times$3 and
1$\times$1 convolutional kernels to process the same input feature map channels
simultaneously and exploits the group convolution technique to efficiently
arrange convolutional filters. DualConv can be employed in any CNN model such
as VGG-16 and ResNet-50 for image classification, YOLO and R-CNN for object
detection, or FCN for semantic segmentation. In this paper, we extensively test
DualConv for classification since these network architectures form the
backbones for many other tasks. We also test DualConv for image detection on
YOLO-V3. Experimental results show that, combined with our structural
innovations, DualConv significantly reduces the computational cost and number
of parameters of deep neural networks while surprisingly achieving slightly
higher accuracy than the original models in some cases. We use DualConv to
further reduce the number of parameters of the lightweight MobileNetV2 by 54%
with only 0.68% drop in accuracy on CIFAR-100 dataset. When the number of
parameters is not an issue, DualConv increases the accuracy of MobileNetV1 by
4.11% on the same dataset. Furthermore, DualConv significantly improves the
YOLO-V3 object detection speed and improves its accuracy by 4.4% on PASCAL VOC
dataset.
