# An Intelligent Security Classification Model of Driver’s Driving Behavior Based on V2X in IoT Networks

Authors: Songyin Dai; Yuan Zhong; Cheng Xu; Hongzhe Liu; Jiazheng Yuan; Pengfei Wang
Journal: Security and Communication Networks
 (2022)

---

## Abstract

Traffic accidents occur frequently in Internet of Things (IoT) safety system. Traffic accidents are largely caused by drivers’ unsafe driving behaviors in the process of driving. Aiming at the problem of low safety of real-time warning in driving, this paper proposes a model to detect driver behavior. Firstly, according to the driver target detection for positioning, combined with the Pose Estimation to identify the driver in the process of driving a variety of driving behaviors, at the same time, a rating model is built to score drivers’ driving behaviors. Then, by integrating the driver behavior model and evaluation rules, the system can give timely and active warning when the driver makes unsafe behavior in the process of driving. Finally, in the V2X scenario, feedback and presentation are given to users in the form of points. The experimental results show that, in the scenario of Internet of vehicles, the driving behavior rating model can well analyze and evaluate drivers’ driving behaviors, so that drivers can more accurately understand their abnormal driving behaviors and driving scores, which plays a significant role in IoT safety management.


---

## Body

## 1. Introduction

With the rapid development of society and the continuous improvement of transportation infrastructure, the automobile industry is also developing rapidly. Cars have become a necessary means of transportation in People’s Daily life. At the same time, traffic accidents also occur frequently. One of the most important reasons for traffic accidents is the unsafe behaviors of drivers while driving. These unsafe behaviors include playing with mobile phones, smoking, drinking water, and so on. Once there is an emergency at this time, the driver is simply too late to make a correct response, resulting in a traffic accident. Therefore, in order to reduce the unsafe behavior of drivers and avoid the occurrence of traffic accidents, it is extremely important to conduct real-time supervision of drivers’ behavior and make reminders.In the field of driving behavior recognition, human-computer interaction using the Internet of vehicles system has become the main research method. The Internet of vehicles system concept originated from the Internet of things, namely, the vehicle of the Internet of things, as in a moving vehicle information perception object, with the help of a new generation of information and communication technologies, realizes the car andX (that is, the car and the car, people, road, and service platform) between the network connections [1–4], improving the whole level of intelligent driving of vehicles. To provide users with safe, comfortable, intelligent, and efficient driving experience and traffic services, while improving the efficiency of traffic operation, improve the intelligent level of social traffic services.Through the new-generation information and communication technology, the Internet of vehicles realizes the comprehensive network links between vehicles and cloud platforms, vehicles and vehicles, vehicles and roads, vehicles and people, and vehicles inside the vehicle and mainly realizes the “three-network convergence,” that is, the integration of internal network of vehicles, intervehicle network, and vehicle-mounted mobile Internet. The Internet of vehicles uses sensor technology to sense the state information of vehicles and realizes intelligent traffic management, intelligent decision of traffic information service, and intelligent control of vehicles with the help of wireless communication network and modern intelligent information processing technology.In this paper, drivers’ behaviors collected by cameras will be recognized and processed by deep learning method, and scored according to the results of behavior recognition, so as to remind drivers to pay attention to safe driving. The major contributions of our work are summarized as follows:(1) Propose a model for detecting driver behavior. According to the driver positioning, combined with Pose Estimation (PE) [5], driver’s driving behavior can be identified. (2) Build a safe driving rating model. Conduct intelligence classification for drivers’ driving behavior. (3) In the V2X scenario, the driver behavior model and evaluation rules are integrated. When the driver makes unsafe behavior in the driving process, the system will give real-time warning.The main structure of this paper is as follows: the first chapter is a brief introduction of the thesis. The second chapter is related research status. The third chapter is the concrete plan. The fourth chapter is the experimental results and analysis, and chapter five is the conclusion.


## 2. Related Work

In recent years, with the rapid development of deep learning technology, more and more models have been proposed, including Alex Net, RCNN, Based-RCNN, VGG, GoogLeNet, and ResNet [6].


### 2.1. IoT Network Security Based on Machine Learning

In the field of video human behavior recognition, there are mainly two mainstream methods: 3D-CNN [7] and Two-Stream Convolutional Networks [8]. ①3D-CNN: the traditional Convolutional Neural Network (CNN) is two-dimensional, but 3D-CNN extends the two-dimensional CNN to three-dimensional, so that feature learning can be carried out on multiframe video by using the time dimension information of video sequence. It is called 3D convolutional neural network because it enables CNN to utilize the time and space information of video sequence simultaneously. Reference [9] employed a transfer learning of 3D CNN for hand gesture recognition. ②Two-Stream Convolutional Networks: their basic principle is to train the neural network; two is a single frame of video sequence video footage of RGB image information as input, and the other is more frames of video sequence images of optical flow feature as input, and then the output of the two neural networks separately offers certain weights fusion and finally gives different identification probability of human behavior. This method has become the mainstream method at present because it innovatively introduces the optical flow features of multiframe images as input, which greatly improves the accuracy of human behavior recognition in video.The Internet of Vehicles and information security are key components of a smart city. The 5G network has the characteristics of high transmission speed and low transmission delay. It provides a more reliable communication environment for V2X [10]. Aiming at the 5G-V2X-based smart city security perception vehicle detection problem, it proposed an improved vehicle target detection algorithm based on a deep learning target detection network [11]. Reference [12] proposed a GAPL scheme based on the aggregation of the proxy signature and MAC to obtain group AKA. Reference [13] proposed the spatiotemporal operator and the complete grammar of STEIM. This approach effectively expresses the spatiotemporal information of the spatiotemporal event flow in V2X. Reference [14] proposed a mutual authentication scheme for LTE-V network. In complex and uncertain driving environment, the LEANDER scheme aims at robust security functions including mutual authentication, private preservation, and resistance to various attacks. Reference [15] proposed a 5G-V2X-oriented asynchronous federated learning privacy-preserving computing model (AFLPC), which used an adaptive differential privacy mechanism to reduce noise while protecting data privacy.


### 2.2. Security-Related Classification and Analytics

In the field of human pose estimation, we refer to a number of conference journal references, such as those published in Computer Analysis of Images and Patterns (CAIP 2017) [16], as well as some of the latest publications in the field of human pose estimation in the past two years. For example, [17] proposed a human action recognition method, which first extracts silhouette images using correlation coefficient based background subtraction method. The method then extracts distance transform based features and entropy features from these silhouette images, utilizing silhouette images, which helps in ignoring the scene complexities. Reference [18] focused on contextual abnormal human behavior detection especially in video surveillance applications. Reference [19] proposed a new approach to human action recognition for visual question answering, using a novel feature extractor, multiperson 2D pose estimation, and machine learning technique. Reference [20] proposed a unique attention-based pipeline for human action recognition, utilizing both the spatial and the temporal features from a sequence of frames. A new method is proposed in [21]. The proposed method is based on the shape and deep learning features fusion, Two-step-based method is executed-human extraction to action recognition. Reference [22] proposed a human skeleton and scene image-based dual-stream model for human action recognition. The motion features are extracted through the spatiotemporal graph convolution of the human skeleton, and a scene recognition model is proposed based on the sparse frame sampling of video and video-level consensus strategy to process the scene video and gather the visual scene information. The proposed model exploits the advantages of skeleton information in motion expression and the superiority of the image in scene presentation. The scene information and spatiotemporal graph convolution-based human skeleton limbs are fused complementarily to achieve human action recognition.The driving behavior recognition algorithm based on image information, namely, the external camera terminal of the vehicle, is used to obtain the behavior state of the driver, and these videos and pictures are analyzed, processed, and analyzed in the cloud, so as to judge the status and behavior of the driver. At present, some scholars have carried out researches on driver behavior recognition using computer vision methods. The key point of this research is how to design and extract feature extractors that can distinguish different driving behaviors. For example, [23] proposed a driver steering intention prediction method to better understand human driver’s expectation during driver–vehicle interaction. Reference [24] proposed an energy-aware driving pattern analysis and motion prediction system for CAVs, which use a deep learning-based time-series modeling approach. Reference [25] proposed a knowledge transfer framework. Two transfer learning (TL) methods, namely, semisupervised manifold alignment (SMA) and kernel manifold alignment (KEMA), are used in the proposed framework to map the data collected from the virtual and real world to one latent common space. In this way, the performance of behavior recognition in the real world is improved. Reference [26] proposed a lateral lane change obstacle avoidance constraint control simulation algorithm based on the driving behavior recognition of the preceding vehicles in adjacent lanes. This active safety technology effectively reduces the impact on the autonomous vehicle safety when the preceding vehicle suddenly cuts into the lane. Reference [27] presented a feature extraction method based on spectral data to train a neural network model for driving behavior recognition. The proposed method uses a two-stage signal processing approach to derive time-saving and efficient feature vectors. Reference [28] proposed a method for vehicle driving behavior recognition based on a six-axis motion processor. In [29], multistream CNN is used to extract multiscale features by filtering images of different kernel size acceptance domains. Different fusion strategies are studied to fuse multiscale information and generate final decisions for driving behavior recognition. Reference [30] proposed a novel neurofuzzy system to classify the driving behaviors based on their similarities to fuzzy patterns when all of the various maneuvers are stated with some fuzzy numbers. These patterns are also fuzzy numbers, and they are extracted from statistical analysis on the smartphone sensors data.Compared with the scholar’s research, the main research of this article is not only the use of machine learning algorithm realized on the driver’s orientation and behavior recognition, but also integrated driving behavior score model is established, in order to identify and monitor abnormal driving behavior, which can let the driver driving behavior have a clearer understanding to avoid traffic accidents.


## 2.1. IoT Network Security Based on Machine Learning

In the field of video human behavior recognition, there are mainly two mainstream methods: 3D-CNN [7] and Two-Stream Convolutional Networks [8]. ①3D-CNN: the traditional Convolutional Neural Network (CNN) is two-dimensional, but 3D-CNN extends the two-dimensional CNN to three-dimensional, so that feature learning can be carried out on multiframe video by using the time dimension information of video sequence. It is called 3D convolutional neural network because it enables CNN to utilize the time and space information of video sequence simultaneously. Reference [9] employed a transfer learning of 3D CNN for hand gesture recognition. ②Two-Stream Convolutional Networks: their basic principle is to train the neural network; two is a single frame of video sequence video footage of RGB image information as input, and the other is more frames of video sequence images of optical flow feature as input, and then the output of the two neural networks separately offers certain weights fusion and finally gives different identification probability of human behavior. This method has become the mainstream method at present because it innovatively introduces the optical flow features of multiframe images as input, which greatly improves the accuracy of human behavior recognition in video.The Internet of Vehicles and information security are key components of a smart city. The 5G network has the characteristics of high transmission speed and low transmission delay. It provides a more reliable communication environment for V2X [10]. Aiming at the 5G-V2X-based smart city security perception vehicle detection problem, it proposed an improved vehicle target detection algorithm based on a deep learning target detection network [11]. Reference [12] proposed a GAPL scheme based on the aggregation of the proxy signature and MAC to obtain group AKA. Reference [13] proposed the spatiotemporal operator and the complete grammar of STEIM. This approach effectively expresses the spatiotemporal information of the spatiotemporal event flow in V2X. Reference [14] proposed a mutual authentication scheme for LTE-V network. In complex and uncertain driving environment, the LEANDER scheme aims at robust security functions including mutual authentication, private preservation, and resistance to various attacks. Reference [15] proposed a 5G-V2X-oriented asynchronous federated learning privacy-preserving computing model (AFLPC), which used an adaptive differential privacy mechanism to reduce noise while protecting data privacy.


## 2.2. Security-Related Classification and Analytics

In the field of human pose estimation, we refer to a number of conference journal references, such as those published in Computer Analysis of Images and Patterns (CAIP 2017) [16], as well as some of the latest publications in the field of human pose estimation in the past two years. For example, [17] proposed a human action recognition method, which first extracts silhouette images using correlation coefficient based background subtraction method. The method then extracts distance transform based features and entropy features from these silhouette images, utilizing silhouette images, which helps in ignoring the scene complexities. Reference [18] focused on contextual abnormal human behavior detection especially in video surveillance applications. Reference [19] proposed a new approach to human action recognition for visual question answering, using a novel feature extractor, multiperson 2D pose estimation, and machine learning technique. Reference [20] proposed a unique attention-based pipeline for human action recognition, utilizing both the spatial and the temporal features from a sequence of frames. A new method is proposed in [21]. The proposed method is based on the shape and deep learning features fusion, Two-step-based method is executed-human extraction to action recognition. Reference [22] proposed a human skeleton and scene image-based dual-stream model for human action recognition. The motion features are extracted through the spatiotemporal graph convolution of the human skeleton, and a scene recognition model is proposed based on the sparse frame sampling of video and video-level consensus strategy to process the scene video and gather the visual scene information. The proposed model exploits the advantages of skeleton information in motion expression and the superiority of the image in scene presentation. The scene information and spatiotemporal graph convolution-based human skeleton limbs are fused complementarily to achieve human action recognition.The driving behavior recognition algorithm based on image information, namely, the external camera terminal of the vehicle, is used to obtain the behavior state of the driver, and these videos and pictures are analyzed, processed, and analyzed in the cloud, so as to judge the status and behavior of the driver. At present, some scholars have carried out researches on driver behavior recognition using computer vision methods. The key point of this research is how to design and extract feature extractors that can distinguish different driving behaviors. For example, [23] proposed a driver steering intention prediction method to better understand human driver’s expectation during driver–vehicle interaction. Reference [24] proposed an energy-aware driving pattern analysis and motion prediction system for CAVs, which use a deep learning-based time-series modeling approach. Reference [25] proposed a knowledge transfer framework. Two transfer learning (TL) methods, namely, semisupervised manifold alignment (SMA) and kernel manifold alignment (KEMA), are used in the proposed framework to map the data collected from the virtual and real world to one latent common space. In this way, the performance of behavior recognition in the real world is improved. Reference [26] proposed a lateral lane change obstacle avoidance constraint control simulation algorithm based on the driving behavior recognition of the preceding vehicles in adjacent lanes. This active safety technology effectively reduces the impact on the autonomous vehicle safety when the preceding vehicle suddenly cuts into the lane. Reference [27] presented a feature extraction method based on spectral data to train a neural network model for driving behavior recognition. The proposed method uses a two-stage signal processing approach to derive time-saving and efficient feature vectors. Reference [28] proposed a method for vehicle driving behavior recognition based on a six-axis motion processor. In [29], multistream CNN is used to extract multiscale features by filtering images of different kernel size acceptance domains. Different fusion strategies are studied to fuse multiscale information and generate final decisions for driving behavior recognition. Reference [30] proposed a novel neurofuzzy system to classify the driving behaviors based on their similarities to fuzzy patterns when all of the various maneuvers are stated with some fuzzy numbers. These patterns are also fuzzy numbers, and they are extracted from statistical analysis on the smartphone sensors data.Compared with the scholar’s research, the main research of this article is not only the use of machine learning algorithm realized on the driver’s orientation and behavior recognition, but also integrated driving behavior score model is established, in order to identify and monitor abnormal driving behavior, which can let the driver driving behavior have a clearer understanding to avoid traffic accidents.


## 3. Security Classification Model of Driver Behavior

### 3.1. Driver Object Detection

We choose to use YOLO-v3 [31] object detection algorithm to detect the area where the driver is in the image. The detection process of YOLO algorithm is as follows:(1) The whole image is divided intoS × S grids, and each grid predicts the region it is responsible for. Based on the center of each grid, a variety of anchor frames with different length and width ratios are generated. (2) Use CNN to extract image feature information, and predict whether the corresponding anchor frame contains the target according to the corresponding feature information and position of each grid. If the target is included, it also needs to output the specific category to which the target belongs, the corresponding confidence degree, and the boundary box information of the target, including the offset ratio of the center of the boundary box to the upper left corner of the grid, and the length and width ratio of the boundary box to the whole input image. (3) The previous process may generate a large number of predictive boundary boxes and may contain a large number of repeated borders. The borders with low confidence can be deleted by setting thresholds, the borders with high coincidence degree can be deleted by using nonmaximum suppression algorithm, and the borders with the highest score can be retained. When training the model, YOLO algorithm will assign the generated anchor frame the real boundary box labeled on the closest sample to it. Since the number of anchor frames typically generated is much greater than the number of actual boundary boxes for the tag, the anchor frame assigned to a real bounding frame can be called positive anchor boxes. The remaining anchor frames that are not assigned to real bounding frames are called negative anchor boxes. For the positive anchor boxes, its prediction information needs to be compared with the information of the real boundary frame. For the negative anchor boxes, it can be directly regarded as the background. In this way, each generated box can be regarded as a sample, and each sample has its tag value based on the real bounding frame. YOLO network model can be used for prediction, and the prediction results are compared with the real value, and the loss function is established, and the model parameters are improved through continuous optimization of the loss function, so as to gradually improve the prediction accuracy of the model.


#### 3.1.1. Loss Function

When training the neural network model, the loss function is used to measure the deviation between the predicted results of the model and the real results, so as to help the model optimize parameters better. It is extremely important to define a good and reasonable loss function for training model. The loss function defined by YOLO algorithm is shown in the following formula:(1)Loss=λcoord∑i=0s2∑j=0BIijobjxi−x^i2+yi−y^i2+λcoord∑i=0s2∑j=0BIijobjwi−w^i2+hi−h^i2+∑i=0s2∑j=0BIijobjci−c^i2+λnoobj∑i=0s2∑j=0BIijnoobjci−c^i2+∑i=0s2Iiobj∑c∈classespic−p^ic2.The loss function is composed of three parts: Coord Err, IOU Err, and Class Err. Since each part contributes differently to the final result of the network, a correction coefficient is introduced to correct the influence of each part on the final result.


#### 3.1.2. Bounding-Box Regression

Because the Bounding-Box predicted by the model cannot coincide with the generated anchor frame completely, the boundary frame needs to be translated and scaled on the basis of the anchor frame. In YOLO network, five values are output for each prediction frame, wheretx and ty represent the distance between the center of the boundary frame and the x-axis and y-axis of the anchor frame, respectively, tw and th represent the scale scaling ratio between the width and height of the boundary frame and the width and height of the anchor frame respectively, and to represents the confidence of the prediction frame.As shown in Figure1, the center coordinate of a cell grid is Cx,Cy. The width and height of the corresponding anchor boxes are pw,bw,ph, Then, the coordinates and width and height of the prediction box can be expressed as(2)bx=σtx+Cx,by=σty+Cy,bw=pwetw,bh=pheth.Figure 1
Bounding-Box regression.The confidence degree of the prediction box can be expressed as(3)σto=Probj∗IOUb,obj,where obj represents the probability that the prediction box contains a target. When the prediction box does not contain a target, its value is 0. When the prediction box contains a target, the value is 1. b,obj represents the intersection ratio between the predicted frame and the real target frame, and its value ranges from 0 to 1. The higher the value is, the higher the accuracy of the prediction frame is. The confidence is the product of the above two. When the boundary box does not contain the target, its value is 0. When the bounding box contains a target, the value is the IOU of the prediction box.


#### 3.1.3. Nonmaximum Suppression (NMS)

NMS is often used in target detection algorithms to delete redundant prediction boxes and keep only the borders with the best prediction effect. In YOLO algorithm, it will finally output three feature maps of different sizes. If the size of the input image is 416 × 416, the size and length of the final output 3 feature graphs are 13, 26, and 52, respectively. For each element of the feature graph, there will be 3 different prediction boxes; that is, there will be (132 + 262 + 522) × 3 = 10647 prediction boxes in the end. However, we usually see only a few prediction boxes because most of them are discarded by the NMS. The working process of the algorithm is roughly as follows:(1)
Discard the prediction box whose confidence is lower than the preset threshold.(2)
Rank the remaining prediction boxes in order of confidence.(3)
The first prediction box, that is, the prediction box with the highest confidence, is marked as reserved, and the IOU of other prediction boxes and the first prediction box is calculated. If the IOU of a prediction box and the first prediction box is higher than that of the preset threshold, it will be discarded.(4)
Repeat the previous step until eventually all remaining prediction boxes have been marked as reserved.


#### 3.1.4. The Evaluation Index

For the deep neural network model, we hope that the network model can achieve fast detection speed and high accuracy. In order to measure the quality of detection algorithms, commonly used evaluation indexes include Precision, Recall, andF1 value. These indicators are described as follows.(A)
Precision and RecallFirstly, make the following indicators clear:①True Positive (TP): positive samples are correctly divided into positive samples, which can be understood as the detected results are consistent with the real results.②False Positive (FP): negative samples are wrongly divided into positive samples, which can be understood as the detected results are inconsistent with the real results.③False Negative (FN): positive samples were wrongly divided into negative samples, which can be understood as they should have been detected but were missed.④True Negative (TN): negative samples are correctly divided into negative samples.Accuracy P means that the correctly detected target accounts for the proportion of all detected targets among all detected results. The higher the accuracy is, the less the detection errors occur. Its calculation is shown in the following formula:(4)P=TPTP+FP.Recall rateR represents the proportion of correctly detected targets in all positive samples. The higher the recall rate, the lower the ratio of missed detection. Its calculation is shown in the following formula:(5)R=TPTP+FN.(B)
F1In many cases, optical usage accuracy and recall rate cannot be used to evaluate the quality of a model. In order to comprehensively consider these two indicators,F Measure can be introduced, which is a comprehensive indicator and a harmonic average of accuracy and recall rate, as shown in the following formula:(6)F=1+β2×P×Rβ2×P+R.The parameterβ is mainly used to balance the proportion of accuracy and recall rate in the formula, and its value is usually 1. When β = 1, this value is also known as F1 value, and its calculation method is shown in the following formula:(7)F1=2×P×RP+R.


### 3.2. Driver Monitoring and Processing

When using neural network to detect images, the quality of input image is extremely important to the accuracy of final detection. Since the video images are usually collected by the car camera, the imaging quality is poor compared with other professional equipment, and the recognition accuracy of the algorithm decreases significantly in complex lighting conditions (such as insufficient light at night and overbright light outside the car). Therefore, light preprocessing can be considered during image preprocessing.


#### 3.2.1. Algorithm Thought

The contrast enhancement algorithm based on the exposure fusion framework is an accurate contrast enhancement algorithm, which can reduce color distortion compared with the traditional histogram equalization (HE). The basic idea is to fuse images with different exposure Settings of the same picture.(8)Rc=∑i=1NWi×Pic.In formula (8), N is the number of images, the i-th image in the Pi set, Wi is the weight diagram of the i image, c is the index of the three color channels, and R is the enhanced result. The three color components are equal, and all pixels are uneven. Well-exposed pixels have a larger weight, and poorly exposed pixels have a smaller weight. The weights are normalized, so ∑i=1NWi=1. Given the exposure rate KI brightness conversion function g, the input image P can be mapped to the i image in the exposure set, and formulas (9) and (10) can be obtained:(9)Pi=gP,ki.(10)gP,k=βPy=eb1−kaPka.β and γ model parameters can be calculated according to camera parameters a, b and exposure rate k. In order to reduce the complexity of calculation, the fused input image of two exposures is taken as an example, and the fused image is defined as the following formula:(11)Rc=WPc+1−WgPc,k.


#### 3.2.2. Algorithm Steps

The enhancement problem can be divided into three parts: the estimation of the three parametersW, g and k.W is the key to the enhancement algorithm, which aims to enhance the low contrast of underexposed areas while preserving the contrast of well-exposed areas. Therefore, it is necessary to assign a larger weight value to the well-exposed pixels and a smaller weight value to the underexposed pixels. Intuitively speaking, the weight matrix is positively correlated with the scene lighting. Since highly lit areas have a greater chance of getting a better exposure, large weight values should be assigned to maintain their contrast. The weight matrix is shown in the following formula:(12)W=Tμ,where T is the illumination diagram of the scene, and μ is the parameter controlling the enhancement degree. The scene illumination estimation position map T is solved by optimization method to find the optimum exposure rate, so that the composite image is well exposed in areas where the original image is underexposed. Extraction of low-light pixels is shown in the following formula:(13)Q=PxTx0.5,where Q contains only underexposed pixels. The brightness of the image varies greatly from exposure to exposure, but the color is basically the same. Therefore, we only consider the luminance component in estimating K. The brightness component B is defined as the geometric mean value of the three channels, as shown in the following formula:(14)B=Qr×Qg×Qb3.Qr, Qg and Qb are the red, green, and blue channels of the input image Q respectively. The reason for using geometric means rather than other means (such as arithmetic means and weighted arithmetic means) is that it has the same model parameters (β and γ) for all three color channels of BTF, as shown in the following formula:(15)B′=Qr′×Qg′×Qb′3=βQrγ×βQgγ×βQbγ3=βBγ.The visibility of well-exposed images is higher than that of underexposed images, which can provide humans with richer information. Therefore, the optimalk value should provide the most information. In order to measure the amount of information, image entropy is used to define it, as shown in the following formula:(16)HB=−∑i=1Npi⋅log2pi,where pi is the statistical value of the histogram of B in the interval i/N,i+1/N, and N is the bin of the histogram (N is usually set to 256). After the underexposed pixels are transformed into normally exposed pixels, the information entropy of the image should increase, so the exposure rate K is calculated by maximizing the brightness entropy of the image enhancement, as shown in the following formula:(17)k^=argmaxkHgB,k.The optimalk value can be solved by one-dimensional minimization. In order to improve the computational efficiency, the size of the input image was adjusted to 50 × 50 when k was optimized.


### 3.3. Driver Behavior Recognition

Because people need the cooperation of various parts to complete an action, the actions of different parts vary greatly for different behaviors. For playing mobile phone and drinking water, there are obvious differences in the arm, head, and other regions. In order to improve the detection accuracy, it can be considered to locate multiple key features of the human body first and then judge the driver’s behavior according to these features.Traditional behavior recognition usually requires detection of the whole body range, but the scene of this project is relatively special, drivers are sitting, and usually the video screen only has the upper body of the driver. Therefore, only the key points of the upper body are selected for detection, including the head, left/right wrist, and left/right elbow. Since the Stacked Hourglass Networks (SHN) model finally outputs the coordinates of key points when identifying the driver’s key points, it is necessary to draw local areas according to the positions of key points. After statistical analysis of the experimental sample, a 100 × 100 rectangular area was selected to draw the key point as the center, so as to better cover the target area.


#### 3.3.1. SHN

SHN [32] is influenced by Residual Network and can extract features at different scales and predict the location of human key points. As the name implies, the structure shape of this model is similar to a stacked Hourglass. Its structure uses a modular design method. The Hourglass module is first formed by multiple Residual modules, and then a complete network is formed by multiple Hourglass modules.The Residual module is the base module of the SHN, as shown in Figure2.Figure 2
The Residual module.In Figure2, numIn and numout represent the number of characteristic channels of the input and output, respectively, k represents the size of the convolution kernel used in the convolution operation, S represents the step size of the convolution operation, and P represents the filling size of the convolution operation. The module is composed of two parts. The first part (corresponding to the first row in the figure) is the structure of convolutional neural network, which consists of two convolutional layers with a size of 1 × 1 and a convolutional layer with a size of 3 × 3. Batch normalization layer and ReLu activation layer are set between convolutional layers. The second part (corresponding to the second row in the figure) is residual connection, which is composed of convolution layer with the size of convolution kernel of 1 × 1. Parameters of this layer can be designed according to needs, can be used for identity mapping, and can also be used for dimensionally increasing or dimensionally decreasing the features of network input. Since all the convolution operations of this module only change the number of channels and do not operate the size of the input image, images of any size can be processed. With reference to the design idea of residual network, this module can not only extract higher-level features, but also retain some lower-level features in the original image.


#### 3.3.2. Hourglass Module

Hourglass module is the core module of SHN model, which is composed of residual module introduced earlier. Since it is a recursive structure, the depth of recursion is expressed by order, so different order will have different network structure. The first is the first-order hourglass module, as shown in Figure3. It can be seen from the figure that its structure is similar to the previous residual module, which is also composed of two paths, and both paths contain multiple residual modules. In this way, the model can gradually extract the deep feature information in the image. At the same time, in order to speed up the model and reduce the calculation of the model, the network first uses the maximum pooling layer of 2 × 2 to carry out downsampling operation for the input features and then uses the interpolation algorithm to carry out upsampling operation after a series of residual module processing.Figure 3
First-order hourglass module.For the second-order hourglass module, replace the module in the dotted box in Figure3 with the first-order hourglass module. The lower path of the module is composed of two layers of modules, and the input features in the lower path have undergone two downsampling operations and two upsampling operations. The entire two-order hourglass module still does not change the size of the input features.The SHN model uses the fourth-order hourglass model, as shown in Figure4. In the figure, OriSize represents the original size of input features. It can be seen that, before each downsampling operation, some on-road branches retain the original information, while after upsampling operation, they superimpose with the original scale feature information of on-road branches. With this structure, the n-order hourglass model can extract feature information from the input features from the original size to 1/2n size, and the final output is still guaranteed to be consistent with the original input size, but only the number of channels is adjusted.Figure 4
The fourth-order hourglass model.


#### 3.3.3. Model Training

According to the ideas mentioned above, we integrate the stacked hourglass model with the VGG model to design a set of driver behavior recognition model. In this model, the convolutional layer of human key point feature extraction and global feature extraction are shared, and the full connection layers are independent of each other. In addition, the model introduces RoI Pooling network layer, which can avoid repeated feature extraction.The extracted local regions were denoted asγhead, γleft−hand, γright−hand, γleft−elbow, γright−elbow. Then, the eigenvectors of corresponding local regions are Φr:rhead, Φr:rleft−hand, Φr:rright−hand, Φr:rleft−elbow, Φr:rright−elbow. In the detection process, if a local area cannot be detected due to occlusion or other reasons, its corresponding feature vector is set to zero vector. Figure 5 shows the schematic diagram of the driving behavior recognition model based on the characteristics of human key points. The overall network workflow is as follows:(1)
The SHN is used to process the driver area to be detected in the image and obtain the coordinate position of each key point of the driver. According to the coordinate position of key points, the corresponding rectangular area is expanded.(2)
The improved VGG-19 model is used to calculate the global image forward to obtain the corresponding feature images.(3)
The Rol Pooling layer is used to map key point areas to feature maps.(4)
Cascade the 5 feature vectors obtained in the previous step and the global feature vectors as the final feature vector, add another layer of Softmax layer to carry out Softmax regression operation on the feature vector, and finally output the predicted category.Figure 5
Driving behavior recognition model based on human key points.The model is mainly divided into two parts, including stacked hourglass model and improved VGG model. The stacked hourglass model was trained in the previous section, so this section will focus on the VGG model. It is ultimately necessary to reduce the loss of the Softmax layer when training the entire model. IfP(c|I, r) is given, Softmax belongs to the category c probability, so for each batch of the training sample, its Loss value is defined as shown in the following formula:(18)Loss=−1M∑i=1KlogPc=y^i|xi,r.where y^i is the correct behavior label of image Ii. K is the size set for this batch, and its value is set to 16 in this experiment. When training the VGG model, we also use the method of transfer learning, which can improve the training speed and make the model have better generalization performance.Table1 lists the hyperparameters used in training the model.Table 1
VGG network hyperparameter.
ParameterThe valuesbatch_size16learning_rate0.001weight_decay0.0005Momentum0.9Dropout0.5


### 3.4. Construct Driving Behavior Comprehensive Scoring Model

According to the behavior recognition results obtained above, it can be divided into the following types of behaviors: normal driving, drinking water, smoking, head scratching, using mobile phone, distraction, and holding things. In the process of model construction, these behaviors need to be weighted and scored, so determining the weight of each indicator becomes the key link of model construction.This paper adopts the method of integrated weight assignment on the basis of entropy weight method and analytic hierarchy process [33] to calculate the weight. The specific steps of the algorithm are as follows:(1)
If there arem criteria in the criterion layer and N indicators in the indicator layer, each criterion layer contains a different number of indicators and meets CC. The weight of criterion layer obtained by ahp is CC, and the weight of indicator layer is β=β1,β2,…,βn.(2)
The weight obtained by entropy weight method isv=v1,v2,…,vn.(3)
The subjective and objective comprehensive weightsφ=φ1,φ2,…,φnT of the index layer are obtained by integrating the weight β and the weight V obtained by the entropy weight method, where φi=aβi+bvi, A and B are the coefficients of weight distribution, and A + b = 1. In order to avoid the difference of calculation results caused by large data fluctuation, distance function dβ,v is introduced.(19)dβ,v=∑i=1nβi−vi21/2,d=a−b.Construct equations to solve fora and b.(20)dβ,v2=a−b2a+b=1.(4)
Φ=φ11,…,φ1n,φ21,…,φ2n,…,φn1,…,φnn is used to represent the comprehensive weight of the indicator layer again, where n=n1+n2+…+nm.(5)
And the comprehensive weight of the index layer is normalized to obtainU.(21)U=u11,…,u1n1,u21,…,u2n2,…,um1,…,umnm,uij=φij∑i=1nφij.(6)
The weightα of the criterion layer is multiplied by the comprehensive weight U of the indicator layer to obtain W′.(22)W′=w11′,…,w1n1′,w21′,…,w2n2′,wm1′,…,wmnm′,wij′=αiuij.(7)
The final weight is obtained by representingW′ as W′=w1′,w2′,…,wn′ and normalizing it.(23)wi=wi′∑j=1nwj′.In this paper, a total of 5,368 pieces of data from six drivers from December 1, 2021, to December 7, 2021, are counted. The times of six types of abnormal driving behaviors calculated by the behavior recognition algorithm above are used as the basis for weight calculation. The weights of the indicators are finally obtained, as shown in Table2.Table 2
Weight of each driving behavior.
The evaluation indexWeightDrinking water0.1461Smoking0.1531Head scratching0.0437Using mobile phone0.2368Distraction0.2167Holding things0.2036After the scoring weight of each behavior is obtained, each behavior can be evaluated, and a comprehensive score can be obtained. The scoring rules are shown in Table3.Table 3
Driving behavior index scoring details.
Grading indexFrequencyScore (s)Drinking water01001–2753–550>525Smoking01001–2753–550>525Head scratching<31004–6757–1050>1025Using mobile phone01001–2753–550>525Distraction01001–2753–550>525Holding things01001–2753–550>525According to Tables2 and 3, the evaluation function of driver score can be obtained as shown in the following formula:(24)score=∑i=1nwisi.


## 3.1. Driver Object Detection

We choose to use YOLO-v3 [31] object detection algorithm to detect the area where the driver is in the image. The detection process of YOLO algorithm is as follows:(1) The whole image is divided intoS × S grids, and each grid predicts the region it is responsible for. Based on the center of each grid, a variety of anchor frames with different length and width ratios are generated. (2) Use CNN to extract image feature information, and predict whether the corresponding anchor frame contains the target according to the corresponding feature information and position of each grid. If the target is included, it also needs to output the specific category to which the target belongs, the corresponding confidence degree, and the boundary box information of the target, including the offset ratio of the center of the boundary box to the upper left corner of the grid, and the length and width ratio of the boundary box to the whole input image. (3) The previous process may generate a large number of predictive boundary boxes and may contain a large number of repeated borders. The borders with low confidence can be deleted by setting thresholds, the borders with high coincidence degree can be deleted by using nonmaximum suppression algorithm, and the borders with the highest score can be retained. When training the model, YOLO algorithm will assign the generated anchor frame the real boundary box labeled on the closest sample to it. Since the number of anchor frames typically generated is much greater than the number of actual boundary boxes for the tag, the anchor frame assigned to a real bounding frame can be called positive anchor boxes. The remaining anchor frames that are not assigned to real bounding frames are called negative anchor boxes. For the positive anchor boxes, its prediction information needs to be compared with the information of the real boundary frame. For the negative anchor boxes, it can be directly regarded as the background. In this way, each generated box can be regarded as a sample, and each sample has its tag value based on the real bounding frame. YOLO network model can be used for prediction, and the prediction results are compared with the real value, and the loss function is established, and the model parameters are improved through continuous optimization of the loss function, so as to gradually improve the prediction accuracy of the model.


### 3.1.1. Loss Function

When training the neural network model, the loss function is used to measure the deviation between the predicted results of the model and the real results, so as to help the model optimize parameters better. It is extremely important to define a good and reasonable loss function for training model. The loss function defined by YOLO algorithm is shown in the following formula:(1)Loss=λcoord∑i=0s2∑j=0BIijobjxi−x^i2+yi−y^i2+λcoord∑i=0s2∑j=0BIijobjwi−w^i2+hi−h^i2+∑i=0s2∑j=0BIijobjci−c^i2+λnoobj∑i=0s2∑j=0BIijnoobjci−c^i2+∑i=0s2Iiobj∑c∈classespic−p^ic2.The loss function is composed of three parts: Coord Err, IOU Err, and Class Err. Since each part contributes differently to the final result of the network, a correction coefficient is introduced to correct the influence of each part on the final result.


### 3.1.2. Bounding-Box Regression

Because the Bounding-Box predicted by the model cannot coincide with the generated anchor frame completely, the boundary frame needs to be translated and scaled on the basis of the anchor frame. In YOLO network, five values are output for each prediction frame, wheretx and ty represent the distance between the center of the boundary frame and the x-axis and y-axis of the anchor frame, respectively, tw and th represent the scale scaling ratio between the width and height of the boundary frame and the width and height of the anchor frame respectively, and to represents the confidence of the prediction frame.As shown in Figure1, the center coordinate of a cell grid is Cx,Cy. The width and height of the corresponding anchor boxes are pw,bw,ph, Then, the coordinates and width and height of the prediction box can be expressed as(2)bx=σtx+Cx,by=σty+Cy,bw=pwetw,bh=pheth.Figure 1
Bounding-Box regression.The confidence degree of the prediction box can be expressed as(3)σto=Probj∗IOUb,obj,where obj represents the probability that the prediction box contains a target. When the prediction box does not contain a target, its value is 0. When the prediction box contains a target, the value is 1. b,obj represents the intersection ratio between the predicted frame and the real target frame, and its value ranges from 0 to 1. The higher the value is, the higher the accuracy of the prediction frame is. The confidence is the product of the above two. When the boundary box does not contain the target, its value is 0. When the bounding box contains a target, the value is the IOU of the prediction box.


### 3.1.3. Nonmaximum Suppression (NMS)

NMS is often used in target detection algorithms to delete redundant prediction boxes and keep only the borders with the best prediction effect. In YOLO algorithm, it will finally output three feature maps of different sizes. If the size of the input image is 416 × 416, the size and length of the final output 3 feature graphs are 13, 26, and 52, respectively. For each element of the feature graph, there will be 3 different prediction boxes; that is, there will be (132 + 262 + 522) × 3 = 10647 prediction boxes in the end. However, we usually see only a few prediction boxes because most of them are discarded by the NMS. The working process of the algorithm is roughly as follows:(1)
Discard the prediction box whose confidence is lower than the preset threshold.(2)
Rank the remaining prediction boxes in order of confidence.(3)
The first prediction box, that is, the prediction box with the highest confidence, is marked as reserved, and the IOU of other prediction boxes and the first prediction box is calculated. If the IOU of a prediction box and the first prediction box is higher than that of the preset threshold, it will be discarded.(4)
Repeat the previous step until eventually all remaining prediction boxes have been marked as reserved.


### 3.1.4. The Evaluation Index

For the deep neural network model, we hope that the network model can achieve fast detection speed and high accuracy. In order to measure the quality of detection algorithms, commonly used evaluation indexes include Precision, Recall, andF1 value. These indicators are described as follows.(A)
Precision and RecallFirstly, make the following indicators clear:①True Positive (TP): positive samples are correctly divided into positive samples, which can be understood as the detected results are consistent with the real results.②False Positive (FP): negative samples are wrongly divided into positive samples, which can be understood as the detected results are inconsistent with the real results.③False Negative (FN): positive samples were wrongly divided into negative samples, which can be understood as they should have been detected but were missed.④True Negative (TN): negative samples are correctly divided into negative samples.Accuracy P means that the correctly detected target accounts for the proportion of all detected targets among all detected results. The higher the accuracy is, the less the detection errors occur. Its calculation is shown in the following formula:(4)P=TPTP+FP.Recall rateR represents the proportion of correctly detected targets in all positive samples. The higher the recall rate, the lower the ratio of missed detection. Its calculation is shown in the following formula:(5)R=TPTP+FN.(B)
F1In many cases, optical usage accuracy and recall rate cannot be used to evaluate the quality of a model. In order to comprehensively consider these two indicators,F Measure can be introduced, which is a comprehensive indicator and a harmonic average of accuracy and recall rate, as shown in the following formula:(6)F=1+β2×P×Rβ2×P+R.The parameterβ is mainly used to balance the proportion of accuracy and recall rate in the formula, and its value is usually 1. When β = 1, this value is also known as F1 value, and its calculation method is shown in the following formula:(7)F1=2×P×RP+R.


## 3.1.1. Loss Function

When training the neural network model, the loss function is used to measure the deviation between the predicted results of the model and the real results, so as to help the model optimize parameters better. It is extremely important to define a good and reasonable loss function for training model. The loss function defined by YOLO algorithm is shown in the following formula:(1)Loss=λcoord∑i=0s2∑j=0BIijobjxi−x^i2+yi−y^i2+λcoord∑i=0s2∑j=0BIijobjwi−w^i2+hi−h^i2+∑i=0s2∑j=0BIijobjci−c^i2+λnoobj∑i=0s2∑j=0BIijnoobjci−c^i2+∑i=0s2Iiobj∑c∈classespic−p^ic2.The loss function is composed of three parts: Coord Err, IOU Err, and Class Err. Since each part contributes differently to the final result of the network, a correction coefficient is introduced to correct the influence of each part on the final result.


## 3.1.2. Bounding-Box Regression

Because the Bounding-Box predicted by the model cannot coincide with the generated anchor frame completely, the boundary frame needs to be translated and scaled on the basis of the anchor frame. In YOLO network, five values are output for each prediction frame, wheretx and ty represent the distance between the center of the boundary frame and the x-axis and y-axis of the anchor frame, respectively, tw and th represent the scale scaling ratio between the width and height of the boundary frame and the width and height of the anchor frame respectively, and to represents the confidence of the prediction frame.As shown in Figure1, the center coordinate of a cell grid is Cx,Cy. The width and height of the corresponding anchor boxes are pw,bw,ph, Then, the coordinates and width and height of the prediction box can be expressed as(2)bx=σtx+Cx,by=σty+Cy,bw=pwetw,bh=pheth.Figure 1
Bounding-Box regression.The confidence degree of the prediction box can be expressed as(3)σto=Probj∗IOUb,obj,where obj represents the probability that the prediction box contains a target. When the prediction box does not contain a target, its value is 0. When the prediction box contains a target, the value is 1. b,obj represents the intersection ratio between the predicted frame and the real target frame, and its value ranges from 0 to 1. The higher the value is, the higher the accuracy of the prediction frame is. The confidence is the product of the above two. When the boundary box does not contain the target, its value is 0. When the bounding box contains a target, the value is the IOU of the prediction box.


## 3.1.3. Nonmaximum Suppression (NMS)

NMS is often used in target detection algorithms to delete redundant prediction boxes and keep only the borders with the best prediction effect. In YOLO algorithm, it will finally output three feature maps of different sizes. If the size of the input image is 416 × 416, the size and length of the final output 3 feature graphs are 13, 26, and 52, respectively. For each element of the feature graph, there will be 3 different prediction boxes; that is, there will be (132 + 262 + 522) × 3 = 10647 prediction boxes in the end. However, we usually see only a few prediction boxes because most of them are discarded by the NMS. The working process of the algorithm is roughly as follows:(1)
Discard the prediction box whose confidence is lower than the preset threshold.(2)
Rank the remaining prediction boxes in order of confidence.(3)
The first prediction box, that is, the prediction box with the highest confidence, is marked as reserved, and the IOU of other prediction boxes and the first prediction box is calculated. If the IOU of a prediction box and the first prediction box is higher than that of the preset threshold, it will be discarded.(4)
Repeat the previous step until eventually all remaining prediction boxes have been marked as reserved.


## 3.1.4. The Evaluation Index

For the deep neural network model, we hope that the network model can achieve fast detection speed and high accuracy. In order to measure the quality of detection algorithms, commonly used evaluation indexes include Precision, Recall, andF1 value. These indicators are described as follows.(A)
Precision and RecallFirstly, make the following indicators clear:①True Positive (TP): positive samples are correctly divided into positive samples, which can be understood as the detected results are consistent with the real results.②False Positive (FP): negative samples are wrongly divided into positive samples, which can be understood as the detected results are inconsistent with the real results.③False Negative (FN): positive samples were wrongly divided into negative samples, which can be understood as they should have been detected but were missed.④True Negative (TN): negative samples are correctly divided into negative samples.Accuracy P means that the correctly detected target accounts for the proportion of all detected targets among all detected results. The higher the accuracy is, the less the detection errors occur. Its calculation is shown in the following formula:(4)P=TPTP+FP.Recall rateR represents the proportion of correctly detected targets in all positive samples. The higher the recall rate, the lower the ratio of missed detection. Its calculation is shown in the following formula:(5)R=TPTP+FN.(B)
F1In many cases, optical usage accuracy and recall rate cannot be used to evaluate the quality of a model. In order to comprehensively consider these two indicators,F Measure can be introduced, which is a comprehensive indicator and a harmonic average of accuracy and recall rate, as shown in the following formula:(6)F=1+β2×P×Rβ2×P+R.The parameterβ is mainly used to balance the proportion of accuracy and recall rate in the formula, and its value is usually 1. When β = 1, this value is also known as F1 value, and its calculation method is shown in the following formula:(7)F1=2×P×RP+R.


## 3.2. Driver Monitoring and Processing

When using neural network to detect images, the quality of input image is extremely important to the accuracy of final detection. Since the video images are usually collected by the car camera, the imaging quality is poor compared with other professional equipment, and the recognition accuracy of the algorithm decreases significantly in complex lighting conditions (such as insufficient light at night and overbright light outside the car). Therefore, light preprocessing can be considered during image preprocessing.


### 3.2.1. Algorithm Thought

The contrast enhancement algorithm based on the exposure fusion framework is an accurate contrast enhancement algorithm, which can reduce color distortion compared with the traditional histogram equalization (HE). The basic idea is to fuse images with different exposure Settings of the same picture.(8)Rc=∑i=1NWi×Pic.In formula (8), N is the number of images, the i-th image in the Pi set, Wi is the weight diagram of the i image, c is the index of the three color channels, and R is the enhanced result. The three color components are equal, and all pixels are uneven. Well-exposed pixels have a larger weight, and poorly exposed pixels have a smaller weight. The weights are normalized, so ∑i=1NWi=1. Given the exposure rate KI brightness conversion function g, the input image P can be mapped to the i image in the exposure set, and formulas (9) and (10) can be obtained:(9)Pi=gP,ki.(10)gP,k=βPy=eb1−kaPka.β and γ model parameters can be calculated according to camera parameters a, b and exposure rate k. In order to reduce the complexity of calculation, the fused input image of two exposures is taken as an example, and the fused image is defined as the following formula:(11)Rc=WPc+1−WgPc,k.


### 3.2.2. Algorithm Steps

The enhancement problem can be divided into three parts: the estimation of the three parametersW, g and k.W is the key to the enhancement algorithm, which aims to enhance the low contrast of underexposed areas while preserving the contrast of well-exposed areas. Therefore, it is necessary to assign a larger weight value to the well-exposed pixels and a smaller weight value to the underexposed pixels. Intuitively speaking, the weight matrix is positively correlated with the scene lighting. Since highly lit areas have a greater chance of getting a better exposure, large weight values should be assigned to maintain their contrast. The weight matrix is shown in the following formula:(12)W=Tμ,where T is the illumination diagram of the scene, and μ is the parameter controlling the enhancement degree. The scene illumination estimation position map T is solved by optimization method to find the optimum exposure rate, so that the composite image is well exposed in areas where the original image is underexposed. Extraction of low-light pixels is shown in the following formula:(13)Q=PxTx0.5,where Q contains only underexposed pixels. The brightness of the image varies greatly from exposure to exposure, but the color is basically the same. Therefore, we only consider the luminance component in estimating K. The brightness component B is defined as the geometric mean value of the three channels, as shown in the following formula:(14)B=Qr×Qg×Qb3.Qr, Qg and Qb are the red, green, and blue channels of the input image Q respectively. The reason for using geometric means rather than other means (such as arithmetic means and weighted arithmetic means) is that it has the same model parameters (β and γ) for all three color channels of BTF, as shown in the following formula:(15)B′=Qr′×Qg′×Qb′3=βQrγ×βQgγ×βQbγ3=βBγ.The visibility of well-exposed images is higher than that of underexposed images, which can provide humans with richer information. Therefore, the optimalk value should provide the most information. In order to measure the amount of information, image entropy is used to define it, as shown in the following formula:(16)HB=−∑i=1Npi⋅log2pi,where pi is the statistical value of the histogram of B in the interval i/N,i+1/N, and N is the bin of the histogram (N is usually set to 256). After the underexposed pixels are transformed into normally exposed pixels, the information entropy of the image should increase, so the exposure rate K is calculated by maximizing the brightness entropy of the image enhancement, as shown in the following formula:(17)k^=argmaxkHgB,k.The optimalk value can be solved by one-dimensional minimization. In order to improve the computational efficiency, the size of the input image was adjusted to 50 × 50 when k was optimized.


## 3.2.1. Algorithm Thought

The contrast enhancement algorithm based on the exposure fusion framework is an accurate contrast enhancement algorithm, which can reduce color distortion compared with the traditional histogram equalization (HE). The basic idea is to fuse images with different exposure Settings of the same picture.(8)Rc=∑i=1NWi×Pic.In formula (8), N is the number of images, the i-th image in the Pi set, Wi is the weight diagram of the i image, c is the index of the three color channels, and R is the enhanced result. The three color components are equal, and all pixels are uneven. Well-exposed pixels have a larger weight, and poorly exposed pixels have a smaller weight. The weights are normalized, so ∑i=1NWi=1. Given the exposure rate KI brightness conversion function g, the input image P can be mapped to the i image in the exposure set, and formulas (9) and (10) can be obtained:(9)Pi=gP,ki.(10)gP,k=βPy=eb1−kaPka.β and γ model parameters can be calculated according to camera parameters a, b and exposure rate k. In order to reduce the complexity of calculation, the fused input image of two exposures is taken as an example, and the fused image is defined as the following formula:(11)Rc=WPc+1−WgPc,k.


## 3.2.2. Algorithm Steps

The enhancement problem can be divided into three parts: the estimation of the three parametersW, g and k.W is the key to the enhancement algorithm, which aims to enhance the low contrast of underexposed areas while preserving the contrast of well-exposed areas. Therefore, it is necessary to assign a larger weight value to the well-exposed pixels and a smaller weight value to the underexposed pixels. Intuitively speaking, the weight matrix is positively correlated with the scene lighting. Since highly lit areas have a greater chance of getting a better exposure, large weight values should be assigned to maintain their contrast. The weight matrix is shown in the following formula:(12)W=Tμ,where T is the illumination diagram of the scene, and μ is the parameter controlling the enhancement degree. The scene illumination estimation position map T is solved by optimization method to find the optimum exposure rate, so that the composite image is well exposed in areas where the original image is underexposed. Extraction of low-light pixels is shown in the following formula:(13)Q=PxTx0.5,where Q contains only underexposed pixels. The brightness of the image varies greatly from exposure to exposure, but the color is basically the same. Therefore, we only consider the luminance component in estimating K. The brightness component B is defined as the geometric mean value of the three channels, as shown in the following formula:(14)B=Qr×Qg×Qb3.Qr, Qg and Qb are the red, green, and blue channels of the input image Q respectively. The reason for using geometric means rather than other means (such as arithmetic means and weighted arithmetic means) is that it has the same model parameters (β and γ) for all three color channels of BTF, as shown in the following formula:(15)B′=Qr′×Qg′×Qb′3=βQrγ×βQgγ×βQbγ3=βBγ.The visibility of well-exposed images is higher than that of underexposed images, which can provide humans with richer information. Therefore, the optimalk value should provide the most information. In order to measure the amount of information, image entropy is used to define it, as shown in the following formula:(16)HB=−∑i=1Npi⋅log2pi,where pi is the statistical value of the histogram of B in the interval i/N,i+1/N, and N is the bin of the histogram (N is usually set to 256). After the underexposed pixels are transformed into normally exposed pixels, the information entropy of the image should increase, so the exposure rate K is calculated by maximizing the brightness entropy of the image enhancement, as shown in the following formula:(17)k^=argmaxkHgB,k.The optimalk value can be solved by one-dimensional minimization. In order to improve the computational efficiency, the size of the input image was adjusted to 50 × 50 when k was optimized.


## 3.3. Driver Behavior Recognition

Because people need the cooperation of various parts to complete an action, the actions of different parts vary greatly for different behaviors. For playing mobile phone and drinking water, there are obvious differences in the arm, head, and other regions. In order to improve the detection accuracy, it can be considered to locate multiple key features of the human body first and then judge the driver’s behavior according to these features.Traditional behavior recognition usually requires detection of the whole body range, but the scene of this project is relatively special, drivers are sitting, and usually the video screen only has the upper body of the driver. Therefore, only the key points of the upper body are selected for detection, including the head, left/right wrist, and left/right elbow. Since the Stacked Hourglass Networks (SHN) model finally outputs the coordinates of key points when identifying the driver’s key points, it is necessary to draw local areas according to the positions of key points. After statistical analysis of the experimental sample, a 100 × 100 rectangular area was selected to draw the key point as the center, so as to better cover the target area.


### 3.3.1. SHN

SHN [32] is influenced by Residual Network and can extract features at different scales and predict the location of human key points. As the name implies, the structure shape of this model is similar to a stacked Hourglass. Its structure uses a modular design method. The Hourglass module is first formed by multiple Residual modules, and then a complete network is formed by multiple Hourglass modules.The Residual module is the base module of the SHN, as shown in Figure2.Figure 2
The Residual module.In Figure2, numIn and numout represent the number of characteristic channels of the input and output, respectively, k represents the size of the convolution kernel used in the convolution operation, S represents the step size of the convolution operation, and P represents the filling size of the convolution operation. The module is composed of two parts. The first part (corresponding to the first row in the figure) is the structure of convolutional neural network, which consists of two convolutional layers with a size of 1 × 1 and a convolutional layer with a size of 3 × 3. Batch normalization layer and ReLu activation layer are set between convolutional layers. The second part (corresponding to the second row in the figure) is residual connection, which is composed of convolution layer with the size of convolution kernel of 1 × 1. Parameters of this layer can be designed according to needs, can be used for identity mapping, and can also be used for dimensionally increasing or dimensionally decreasing the features of network input. Since all the convolution operations of this module only change the number of channels and do not operate the size of the input image, images of any size can be processed. With reference to the design idea of residual network, this module can not only extract higher-level features, but also retain some lower-level features in the original image.


### 3.3.2. Hourglass Module

Hourglass module is the core module of SHN model, which is composed of residual module introduced earlier. Since it is a recursive structure, the depth of recursion is expressed by order, so different order will have different network structure. The first is the first-order hourglass module, as shown in Figure3. It can be seen from the figure that its structure is similar to the previous residual module, which is also composed of two paths, and both paths contain multiple residual modules. In this way, the model can gradually extract the deep feature information in the image. At the same time, in order to speed up the model and reduce the calculation of the model, the network first uses the maximum pooling layer of 2 × 2 to carry out downsampling operation for the input features and then uses the interpolation algorithm to carry out upsampling operation after a series of residual module processing.Figure 3
First-order hourglass module.For the second-order hourglass module, replace the module in the dotted box in Figure3 with the first-order hourglass module. The lower path of the module is composed of two layers of modules, and the input features in the lower path have undergone two downsampling operations and two upsampling operations. The entire two-order hourglass module still does not change the size of the input features.The SHN model uses the fourth-order hourglass model, as shown in Figure4. In the figure, OriSize represents the original size of input features. It can be seen that, before each downsampling operation, some on-road branches retain the original information, while after upsampling operation, they superimpose with the original scale feature information of on-road branches. With this structure, the n-order hourglass model can extract feature information from the input features from the original size to 1/2n size, and the final output is still guaranteed to be consistent with the original input size, but only the number of channels is adjusted.Figure 4
The fourth-order hourglass model.


### 3.3.3. Model Training

According to the ideas mentioned above, we integrate the stacked hourglass model with the VGG model to design a set of driver behavior recognition model. In this model, the convolutional layer of human key point feature extraction and global feature extraction are shared, and the full connection layers are independent of each other. In addition, the model introduces RoI Pooling network layer, which can avoid repeated feature extraction.The extracted local regions were denoted asγhead, γleft−hand, γright−hand, γleft−elbow, γright−elbow. Then, the eigenvectors of corresponding local regions are Φr:rhead, Φr:rleft−hand, Φr:rright−hand, Φr:rleft−elbow, Φr:rright−elbow. In the detection process, if a local area cannot be detected due to occlusion or other reasons, its corresponding feature vector is set to zero vector. Figure 5 shows the schematic diagram of the driving behavior recognition model based on the characteristics of human key points. The overall network workflow is as follows:(1)
The SHN is used to process the driver area to be detected in the image and obtain the coordinate position of each key point of the driver. According to the coordinate position of key points, the corresponding rectangular area is expanded.(2)
The improved VGG-19 model is used to calculate the global image forward to obtain the corresponding feature images.(3)
The Rol Pooling layer is used to map key point areas to feature maps.(4)
Cascade the 5 feature vectors obtained in the previous step and the global feature vectors as the final feature vector, add another layer of Softmax layer to carry out Softmax regression operation on the feature vector, and finally output the predicted category.Figure 5
Driving behavior recognition model based on human key points.The model is mainly divided into two parts, including stacked hourglass model and improved VGG model. The stacked hourglass model was trained in the previous section, so this section will focus on the VGG model. It is ultimately necessary to reduce the loss of the Softmax layer when training the entire model. IfP(c|I, r) is given, Softmax belongs to the category c probability, so for each batch of the training sample, its Loss value is defined as shown in the following formula:(18)Loss=−1M∑i=1KlogPc=y^i|xi,r.where y^i is the correct behavior label of image Ii. K is the size set for this batch, and its value is set to 16 in this experiment. When training the VGG model, we also use the method of transfer learning, which can improve the training speed and make the model have better generalization performance.Table1 lists the hyperparameters used in training the model.Table 1
VGG network hyperparameter.
ParameterThe valuesbatch_size16learning_rate0.001weight_decay0.0005Momentum0.9Dropout0.5


## 3.3.1. SHN

SHN [32] is influenced by Residual Network and can extract features at different scales and predict the location of human key points. As the name implies, the structure shape of this model is similar to a stacked Hourglass. Its structure uses a modular design method. The Hourglass module is first formed by multiple Residual modules, and then a complete network is formed by multiple Hourglass modules.The Residual module is the base module of the SHN, as shown in Figure2.Figure 2
The Residual module.In Figure2, numIn and numout represent the number of characteristic channels of the input and output, respectively, k represents the size of the convolution kernel used in the convolution operation, S represents the step size of the convolution operation, and P represents the filling size of the convolution operation. The module is composed of two parts. The first part (corresponding to the first row in the figure) is the structure of convolutional neural network, which consists of two convolutional layers with a size of 1 × 1 and a convolutional layer with a size of 3 × 3. Batch normalization layer and ReLu activation layer are set between convolutional layers. The second part (corresponding to the second row in the figure) is residual connection, which is composed of convolution layer with the size of convolution kernel of 1 × 1. Parameters of this layer can be designed according to needs, can be used for identity mapping, and can also be used for dimensionally increasing or dimensionally decreasing the features of network input. Since all the convolution operations of this module only change the number of channels and do not operate the size of the input image, images of any size can be processed. With reference to the design idea of residual network, this module can not only extract higher-level features, but also retain some lower-level features in the original image.


## 3.3.2. Hourglass Module

Hourglass module is the core module of SHN model, which is composed of residual module introduced earlier. Since it is a recursive structure, the depth of recursion is expressed by order, so different order will have different network structure. The first is the first-order hourglass module, as shown in Figure3. It can be seen from the figure that its structure is similar to the previous residual module, which is also composed of two paths, and both paths contain multiple residual modules. In this way, the model can gradually extract the deep feature information in the image. At the same time, in order to speed up the model and reduce the calculation of the model, the network first uses the maximum pooling layer of 2 × 2 to carry out downsampling operation for the input features and then uses the interpolation algorithm to carry out upsampling operation after a series of residual module processing.Figure 3
First-order hourglass module.For the second-order hourglass module, replace the module in the dotted box in Figure3 with the first-order hourglass module. The lower path of the module is composed of two layers of modules, and the input features in the lower path have undergone two downsampling operations and two upsampling operations. The entire two-order hourglass module still does not change the size of the input features.The SHN model uses the fourth-order hourglass model, as shown in Figure4. In the figure, OriSize represents the original size of input features. It can be seen that, before each downsampling operation, some on-road branches retain the original information, while after upsampling operation, they superimpose with the original scale feature information of on-road branches. With this structure, the n-order hourglass model can extract feature information from the input features from the original size to 1/2n size, and the final output is still guaranteed to be consistent with the original input size, but only the number of channels is adjusted.Figure 4
The fourth-order hourglass model.


## 3.3.3. Model Training

According to the ideas mentioned above, we integrate the stacked hourglass model with the VGG model to design a set of driver behavior recognition model. In this model, the convolutional layer of human key point feature extraction and global feature extraction are shared, and the full connection layers are independent of each other. In addition, the model introduces RoI Pooling network layer, which can avoid repeated feature extraction.The extracted local regions were denoted asγhead, γleft−hand, γright−hand, γleft−elbow, γright−elbow. Then, the eigenvectors of corresponding local regions are Φr:rhead, Φr:rleft−hand, Φr:rright−hand, Φr:rleft−elbow, Φr:rright−elbow. In the detection process, if a local area cannot be detected due to occlusion or other reasons, its corresponding feature vector is set to zero vector. Figure 5 shows the schematic diagram of the driving behavior recognition model based on the characteristics of human key points. The overall network workflow is as follows:(1)
The SHN is used to process the driver area to be detected in the image and obtain the coordinate position of each key point of the driver. According to the coordinate position of key points, the corresponding rectangular area is expanded.(2)
The improved VGG-19 model is used to calculate the global image forward to obtain the corresponding feature images.(3)
The Rol Pooling layer is used to map key point areas to feature maps.(4)
Cascade the 5 feature vectors obtained in the previous step and the global feature vectors as the final feature vector, add another layer of Softmax layer to carry out Softmax regression operation on the feature vector, and finally output the predicted category.Figure 5
Driving behavior recognition model based on human key points.The model is mainly divided into two parts, including stacked hourglass model and improved VGG model. The stacked hourglass model was trained in the previous section, so this section will focus on the VGG model. It is ultimately necessary to reduce the loss of the Softmax layer when training the entire model. IfP(c|I, r) is given, Softmax belongs to the category c probability, so for each batch of the training sample, its Loss value is defined as shown in the following formula:(18)Loss=−1M∑i=1KlogPc=y^i|xi,r.where y^i is the correct behavior label of image Ii. K is the size set for this batch, and its value is set to 16 in this experiment. When training the VGG model, we also use the method of transfer learning, which can improve the training speed and make the model have better generalization performance.Table1 lists the hyperparameters used in training the model.Table 1
VGG network hyperparameter.
ParameterThe valuesbatch_size16learning_rate0.001weight_decay0.0005Momentum0.9Dropout0.5


## 3.4. Construct Driving Behavior Comprehensive Scoring Model

According to the behavior recognition results obtained above, it can be divided into the following types of behaviors: normal driving, drinking water, smoking, head scratching, using mobile phone, distraction, and holding things. In the process of model construction, these behaviors need to be weighted and scored, so determining the weight of each indicator becomes the key link of model construction.This paper adopts the method of integrated weight assignment on the basis of entropy weight method and analytic hierarchy process [33] to calculate the weight. The specific steps of the algorithm are as follows:(1)
If there arem criteria in the criterion layer and N indicators in the indicator layer, each criterion layer contains a different number of indicators and meets CC. The weight of criterion layer obtained by ahp is CC, and the weight of indicator layer is β=β1,β2,…,βn.(2)
The weight obtained by entropy weight method isv=v1,v2,…,vn.(3)
The subjective and objective comprehensive weightsφ=φ1,φ2,…,φnT of the index layer are obtained by integrating the weight β and the weight V obtained by the entropy weight method, where φi=aβi+bvi, A and B are the coefficients of weight distribution, and A + b = 1. In order to avoid the difference of calculation results caused by large data fluctuation, distance function dβ,v is introduced.(19)dβ,v=∑i=1nβi−vi21/2,d=a−b.Construct equations to solve fora and b.(20)dβ,v2=a−b2a+b=1.(4)
Φ=φ11,…,φ1n,φ21,…,φ2n,…,φn1,…,φnn is used to represent the comprehensive weight of the indicator layer again, where n=n1+n2+…+nm.(5)
And the comprehensive weight of the index layer is normalized to obtainU.(21)U=u11,…,u1n1,u21,…,u2n2,…,um1,…,umnm,uij=φij∑i=1nφij.(6)
The weightα of the criterion layer is multiplied by the comprehensive weight U of the indicator layer to obtain W′.(22)W′=w11′,…,w1n1′,w21′,…,w2n2′,wm1′,…,wmnm′,wij′=αiuij.(7)
The final weight is obtained by representingW′ as W′=w1′,w2′,…,wn′ and normalizing it.(23)wi=wi′∑j=1nwj′.In this paper, a total of 5,368 pieces of data from six drivers from December 1, 2021, to December 7, 2021, are counted. The times of six types of abnormal driving behaviors calculated by the behavior recognition algorithm above are used as the basis for weight calculation. The weights of the indicators are finally obtained, as shown in Table2.Table 2
Weight of each driving behavior.
The evaluation indexWeightDrinking water0.1461Smoking0.1531Head scratching0.0437Using mobile phone0.2368Distraction0.2167Holding things0.2036After the scoring weight of each behavior is obtained, each behavior can be evaluated, and a comprehensive score can be obtained. The scoring rules are shown in Table3.Table 3
Driving behavior index scoring details.
Grading indexFrequencyScore (s)Drinking water01001–2753–550>525Smoking01001–2753–550>525Head scratching<31004–6757–1050>1025Using mobile phone01001–2753–550>525Distraction01001–2753–550>525Holding things01001–2753–550>525According to Tables2 and 3, the evaluation function of driver score can be obtained as shown in the following formula:(24)score=∑i=1nwisi.


## 4. Experimental Results and Analysis

### 4.1. Datasets

The data set used in the experiment in this paper is BUUISE data set. Considering driving safety, most of the data are collected in the real driving environment, and a small part is collected in the specified action environment. We first recorded the driver’s videos by placing cameras in the car and collected a total of 67 videos. Later, 3252 videos were manually labeled from the videos and then divided according to the ratio of training set: verification set: test set = 7 : 1 : 2. Finally, the data set samples collected by ourselves are shown in Figure6.Figure 6
BUUISE Datasets. (a) nNormal driving, (b) using mobile phone, (c) smoking, (d) distraction.
(a)(b)(c)(d)


### 4.2. Analysis of Experimental Results

In the aspect of object detection, we have made statistics on the detection speed of the algorithm, and the results are shown in Figure7. In this figure, the blue line shows the time of a single frame in milliseconds, and the red line shows the current FPS, which is the current processing speed in 1 second. It can be seen that the current average time of a single frame is 45 milliseconds, and the average FPS is 22, which can better meet the requirements of real-time performance.Figure 7
Algorithm performance test results.In terms of behavior recognition, test sets are used to test after model training, and the confusion matrix is finally obtained as shown in Table4.Table 4
Test results confusion matrix.
Predicted classNormal drivingDrinking waterSmokingHead scratchingUsing mobile phoneDistractionHolding thingsReal categoryNormal driving4900500265Drinking water840243004Smoking13836858114Head scratching4033550811Using mobile phone951940619Distraction2805094205Holding things131340913385After calculation, the overall accuracy is 92.17% when the test set is used to test the model. For each category, the three indexes of accuracy, recall rate, and F1 were calculated separately, as shown in Table5, and the corresponding statistical figure is shown in Figure 8.Table 5
Classified statistical results.
The evaluation indexPrecisionRecallF1Normal driving0.9230.8560.887Drinking water0.9350.9260.943Smoking0.8740.9360.905Head scratching0.9220.9510.941Using mobile phone0.9150.9320.933Distraction0.8660.8660.881Holding things0.8160.9060.899Figure 8
Classification statistical results.From the test results, the model has the highest recognition accuracy for drinking water. The recognition accuracy of head scratching and mobile phone use followed. For smoking, distraction, and holding things, movement recognition accuracy is low. By analyzing the reasons, the smoking action may be because the cigarette is relatively small, and the model may be difficult to identify when the driver is holding a cigarette. For distracted actions, because of their small amplitude, the model may not be easy to distinguish from normal actions. For the movement of taking things, some movements may have a large amplitude, and the key points of the human body may be blocked, leading to inaccurate model recognition. In addition, it is worth noting that the recall rate of normal driving and distraction is relatively low, which means that the missed detection rate of these two behaviors is relatively high. Analysis of the reason is that it is further difficult to identify such actions under bad light conditions such as night.In the design of driver behavior recognition algorithm, this paper carries out comparative experiments to prove the rationality of the current model. All models use the same data set for training and testing. The final results are shown in Table6, and the data visualization is shown in Figure 9.Table 6
Comparative experimental results.
MethodsAccuracyThe average time (ms)ResNet [6]0.63566ObjDetection + ResNet [6]0.854120PE [5]0.75678ObjDetection + PE [5]0.926133Figure 9
Comparison of detection results.When scoring drivers’ driving behaviors, 6 drivers are selected for scoring, and serial numbers 1–6 are used to mark them. The scoring results of some drivers’ behaviors are shown in Figure10.Figure 10
Partial driver score.As can be seen from Figure10, the lowest score of the six drivers is 48.679 for No. 2, and the highest score is 81.635 for No. 3. Comparatively speaking, driver No. 3 has better driving habits than driver No. 2. As the score fluctuates within a reasonable range of 40–100, it can effectively reflect the differences of driving behaviors of different drivers in the process of driving.


## 4.1. Datasets

The data set used in the experiment in this paper is BUUISE data set. Considering driving safety, most of the data are collected in the real driving environment, and a small part is collected in the specified action environment. We first recorded the driver’s videos by placing cameras in the car and collected a total of 67 videos. Later, 3252 videos were manually labeled from the videos and then divided according to the ratio of training set: verification set: test set = 7 : 1 : 2. Finally, the data set samples collected by ourselves are shown in Figure6.Figure 6
BUUISE Datasets. (a) nNormal driving, (b) using mobile phone, (c) smoking, (d) distraction.
(a)(b)(c)(d)


## 4.2. Analysis of Experimental Results

In the aspect of object detection, we have made statistics on the detection speed of the algorithm, and the results are shown in Figure7. In this figure, the blue line shows the time of a single frame in milliseconds, and the red line shows the current FPS, which is the current processing speed in 1 second. It can be seen that the current average time of a single frame is 45 milliseconds, and the average FPS is 22, which can better meet the requirements of real-time performance.Figure 7
Algorithm performance test results.In terms of behavior recognition, test sets are used to test after model training, and the confusion matrix is finally obtained as shown in Table4.Table 4
Test results confusion matrix.
Predicted classNormal drivingDrinking waterSmokingHead scratchingUsing mobile phoneDistractionHolding thingsReal categoryNormal driving4900500265Drinking water840243004Smoking13836858114Head scratching4033550811Using mobile phone951940619Distraction2805094205Holding things131340913385After calculation, the overall accuracy is 92.17% when the test set is used to test the model. For each category, the three indexes of accuracy, recall rate, and F1 were calculated separately, as shown in Table5, and the corresponding statistical figure is shown in Figure 8.Table 5
Classified statistical results.
The evaluation indexPrecisionRecallF1Normal driving0.9230.8560.887Drinking water0.9350.9260.943Smoking0.8740.9360.905Head scratching0.9220.9510.941Using mobile phone0.9150.9320.933Distraction0.8660.8660.881Holding things0.8160.9060.899Figure 8
Classification statistical results.From the test results, the model has the highest recognition accuracy for drinking water. The recognition accuracy of head scratching and mobile phone use followed. For smoking, distraction, and holding things, movement recognition accuracy is low. By analyzing the reasons, the smoking action may be because the cigarette is relatively small, and the model may be difficult to identify when the driver is holding a cigarette. For distracted actions, because of their small amplitude, the model may not be easy to distinguish from normal actions. For the movement of taking things, some movements may have a large amplitude, and the key points of the human body may be blocked, leading to inaccurate model recognition. In addition, it is worth noting that the recall rate of normal driving and distraction is relatively low, which means that the missed detection rate of these two behaviors is relatively high. Analysis of the reason is that it is further difficult to identify such actions under bad light conditions such as night.In the design of driver behavior recognition algorithm, this paper carries out comparative experiments to prove the rationality of the current model. All models use the same data set for training and testing. The final results are shown in Table6, and the data visualization is shown in Figure 9.Table 6
Comparative experimental results.
MethodsAccuracyThe average time (ms)ResNet [6]0.63566ObjDetection + ResNet [6]0.854120PE [5]0.75678ObjDetection + PE [5]0.926133Figure 9
Comparison of detection results.When scoring drivers’ driving behaviors, 6 drivers are selected for scoring, and serial numbers 1–6 are used to mark them. The scoring results of some drivers’ behaviors are shown in Figure10.Figure 10
Partial driver score.As can be seen from Figure10, the lowest score of the six drivers is 48.679 for No. 2, and the highest score is 81.635 for No. 3. Comparatively speaking, driver No. 3 has better driving habits than driver No. 2. As the score fluctuates within a reasonable range of 40–100, it can effectively reflect the differences of driving behaviors of different drivers in the process of driving.


## 5. Conclusion

The main reason for the traffic accident is the unsafe behavior of the driver, and in order to reduce the number of traffic accidents, we hope to strengthen the monitoring of driver’s driving behavior, when the driver is in the process of driving to unsafe behavior, and the system can timely remain active, with a final score of the user feedback and rendering. The driver behavior rating model constructed in this paper will be improved from the following aspects in future research. First, at the algorithm level, currently, only a single frame of video is used to detect the driver’s behavior. If the change information between the front and back frames of video can be effectively utilized, the recognition accuracy will be further improved. Second, the model can support more types of driving behavior recognition according to actual needs, such as yawning, closed eyes, wearing masks, and not wearing seat belts. Thirdly, the current data set used for training algorithm model is not large enough, and the trained model cannot completely cover the real detection scenes. More data can be collected later. Fourthly, the driving behavior of drivers is studied, which is influenced by a variety of factors. This paper only analyzes the images that can be collected, as well as drivers’ psychological factors, external weather, road traffic environment, and other influencing factors. Therefore, the analysis of driving behavior in this paper is not very comprehensive, and further study is needed to build a more comprehensive scoring model.



---

*Source: 6793365-2022-05-11.xml*