Computer vision has progressed rapidly in many fronts thanks to the adoption of deep neural networks. The large-scale deployment of deep neural network based solutions has however been hindered by computational challenges, which limit their portability to mobile platforms and vehicles. To this extent, the aim of this project is to develop new methodologies for constructing more efficient deep neural networks. The challenge is addressed from two aspects: first, by optimizing existing deep neural networks, and second, by developing efficient neural network architectures from scratch.