In this article, I will discuss Methods of Object Detection Model Compression.
Computer Vision (CV) is based on Object Detection. When we have some still images or videos, there are many types of objects in the image or a particular scene. However, not all objects are relevant, and we need to find the presence or absence of only some specific objects in the image or video frame. There are several methods of Object Detection based on Deep Learning given here.
https://www.programmingempire.com/deep-learning-methods-for-object-detection/
https://www.programmingempire.com/understanding-yolo-algorithm/
For the purpose of identifying objects in an image, we use a technique called object detection. In fact, the task of object detection involves both recognizing an object as well as identifying it in the image. Also, we may be interested in knowing the location of objects in an image. This is particularly useful in many Computer Vision problems. For instance, suppose we want to detect whether a car has hit a person, we need to identify both the car and person in the image as well as the location of both of these objects. Hence, the Object Detection task can be divided into two subtasks of locating the object and classifying the object.
For the applications such as autonomous vehicles, real-time detection capabilities are very important. Therefore, not only do we require high detection accuracy but also storing our model in an embedded device rather than storing it on a cloud platform. However, embedded devices have the much weaker computing power and storage capability. So, often they are unable to store and deploy a very large object detection model. As a result, the need for compression methods of Deep Neural Network (DNN) models arises.
There are many ways by which we can compress our trained DNN or CNN models. The following section describes these methods.
Illustrating the Methods of Object Detection Model Compression
- Network Pruning. Basically, not all parts of the Neural Network are useful. However, these parts are resource intensive. So we can remove them without sacrificing accuracy significantly.
- Lightweight Network design
- Neural Architecture Search (NAS). This method finds the best architecture for a specific dataset.
- Low-Rank Decomposition. basically, it involves finding the low-rank approximation of weight matrices.
- Network Quantization. Storing parameters with low precision.
- Knowledge Distillation (KD) Method. basically, we can train a compact model using a larger pretrained model.
Benefits
Model compression has many advantages. Firstly, it simplifies the design. The resulting model takes fewer resources. It is fast. It suits real-time applications. Moreover, the model is still accurate.
Further Reading
Deep Learning Practice Exercise
Deep Learning Methods for Object Detection