Driver’s Seat Belt Detection Using CNN

Abstract: Seat belt detection is one of the necessary task which are required in transportation system to reduce accidents due to abrupt stop or high speed accident with other vehicles. In this paper, a technique is proposed to detect whether the driver wears seat belt or not by using convolution neural networks. Convolution Neural Network is nothing but deep Neural Network. ConvNet automatically collects features using filters or kernels from images without human involvement to classify the output images. Compared to different classification algorithms, preprocessing required in ConvNet is least. In this proposed method, first ConvNet is built and trained using Seatbelt dataset of both standard and non-standard. ConvNet learns the features from the images of seat belt dataset and performed better with an accuracy of 91.4% over SVM with 87.17% and an error rate of 8.55% when compared with SVM with 12.83% in case of standard dataset.


Introduction
Passengers and drivers may also be injured with the aid of a unexpected halt or a great velocity crash in a vehicle [8] [13]. To limit these damages, disaster management section need that all motorists and travelers wear seat belts, which are designed as a shield and reduce deadly injuries. If driver put on seat belt while driving a vehicle then chance of getting essential injuries are very less even though accident happen [11] [12]. Seat belt detection is important and is extensively required in the discipline of transportation system [14] [15]. So Seat belt detection method has been proposed. It detects whether the driver wear belt or not using Convolution neural network. Seatbelt detection dataset constructed which is given as input to ConvNet. ConvNet has mainly Convolution Layer to learn features using convolution operation between input image and filter and pooling layer which is gradually reduce the spatial dimension of the feature map to minimize the no of parameters and computation in network which leads to decrease of over fitting. These features are utilized to classify that the driver wear belt or not. Seat belt detection dataset has images of driver both belt and no belt.

Related Work
To tackle seat belt detection in image, good work has been accomplished till now.
[1] Proposed a method. It automatically detects the seat belt in the images which are captured by surveillance cameras, which follows mainly two procedures. In first method they identifies driver area using vehicle outline ,for vehicle outline detection first they get the vertical boundaries of driver area according to the position of license plate and then get the horizontal boundaries of windscreen for the identification of one's of the driver area. Then identifies the possible seat belt edges using an effective algorithm which is based on direction evidence measure in the HSV color space which extracts some regions as candidate regions based on potential edges and projected by using sobel operator. Finally further verification is done by using judging rules. [2]Proposed an automatic seatbelt detection approach which follows 3 steps first it extracted edge features from an input image using edge detection method. next a salient gradient feature map is constructed by taking salient gradient features from the input image. At last the gradient feature map is given to the machine learning method for binary decision which yields the input image contains seat belt or not. Here edge detection method plays a main role to give best results, because edge detection decides the corresponding salient gradient map which is given to machine learning method to identify seat belt or belt in given input image. In proposed technique parameter selection is done experimentally. To improve accuracy results more robust edge detection and proper parameter selection needed. [3] Proposed an algorithm for detection of seat belt. This algorithm uses a feature which is based totally on gradient orientation to discover seat belt. In this after completion of image pre processing, front window location and human face were detected .finally feature is obtained in required region and result is depends and given by computing seat belt feature in the place which is near to identified human face right side. In this method accuracy depends more on human face detection. A kind of classifier needed to complete the detection.
[4] Proposed a method for seat belt detection under the multi-detectors contextual framework which can train multi detectors and maintains the output of score map with a detector which is used as contextual information for the help of decision at the subsequent stage. Histograms of Oriented gradients features and Haar like features are combined collectively to get very powerful image representations. Most discriminative feature is chosen automatically by using AdaBoost learning. [5] Presented a method based on cascade adaboost classifier for detection of seat belt. In this first it learns cascade adaboost classifier to detect the vehicle window images by using many labeled training samples after that it computes gradient map. Finally Hough transform and canny edge detection are used to determine whether the driver is wearing a belt or not.

Dataset
Seat belt detection Dataset includes two datasets called standard dataset containing the 2155 images which took from Yawning Detection Dataset [7] [10], Non standard dataset consists of 8058 images which are downloaded from online sites including belt and no belt images of various drivers .This is divided into two parts known as train set and test set further divided into two parts and named as belt and no belt images. Detailed explanation of dataset is shown in table 1 and table 2.

No of train Images No of Test images
Standard Dataset 2038 117 Non Standard Dataset 7928 130

Proposed Method
Driver's Seat Belt Detection System based on Convolution neural Network. It is additionally acknowledged as CNN or ConvNet and stimulated with the aid of the biological visible cortex which has small areas of cells that are sensitive to the areas of the visible field. CNN is a multilayer neural network. It comprises of one input layer, one output layer and hidden layers as per the requirement. ConvNet has mainly two parts one is feature learning (Conv, relu and Pool) and Classification (Fc and softmax). Each hidden layer contains convolution layer, ReLU layer, and pooling layer. Each convolution layer will detect set of features such as lines, edges, curves etc. It uses filters for extraction of features from images. Each filter produces one output feature. We can vary the no of filters and filter size to obtain best results. Convolution neural networks play an important function in the area of computer vision. Following are some case studies and functions which are using these neural networks. Image classification, segmentation, object detection, face recognition, Self driving motors that leverage CNN primarily based vision structures etc. It consists of generally convolution, sub sampling and full connection. Detailed explanation of each and every layer of CNN is described as follows.

ReLU Function
ReLU stands for rectified linear unit and is an activation function. In this layer it removes every negative value from the filtered image and replaces it with zeros as shown in figure7. The output of a ReLU layer is the same size as whatever is put into it, just with all the negative values removed. Activation function used in the example is shown below.
Figure 7: ReLu operation The main idea of sub sampling is reducing the dimensions of input representation which helps in reducing over fitting. Techniques of sub sampling are maxpooling, minpooling, and average pooling. In max pooling it selects the highest pixel value and in min polling it selects the lowest pixel value and in average pooling it calculates average value of all pixels from a region. maxpooling is used in Figure 8.   The ConvNet used in the proposed method uses the sequential model and contains one input layer, output layer, Conv layers followed by ReLu and maxpooling, flatten layer and fully connected layer. To compile the model Adamoptimizer is used. Binary cross entropy is used as loss function. ConvNet is trained with Seatbelt detection dataset. In Conv layer convolution is done between input images and filters. Then these results are gone through the ReLU and maxpolling layers. Finally output of first Conv layer is fed as input to the Second Conv layer likewise till final hidden layer. The output of final hidden layer is flattened into one layer and is given to fully connected layer and then given to sigmoid function. It will display the output i.e. whether the driver wears belt or not. Parameter Sizes in Each layer using standard dataset and Non standard dataset is shown in table 3 and  table 4. Architectures are shown in figure 11.

Results
The proposed approach for seat belt detection using convolution neural network uses both standard and non standard data sets with 2155 images and 8058 images respectively. ConvNet is trained and validated using Seatbelt detection dataset. A total of 2038 images are used for training and 117 images are used for testing for standard dataset. In case of non-standard data set, 7928 images were used for training and 130 images for testing. The results are shown below.     Table 7 and Table 8  in case of standard and non-standard datasets respectively over SVM with 87.17% and 70.76% respectively. Similarly, an error rate of 8.55% was achieved using CNN over SVM using 12.83%.