• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Optimizing Steering Angle Predictive Convolutional Neural Network for Autonomous Car

    2022-08-24 03:26:30HajiraSaleemFaisalRiazAsadullahShaikhKhairanRajabAdelRajabMuhammadAkramandManaSalehAlReshan
    Computers Materials&Continua 2022年5期

    Hajira Saleem,F(xiàn)aisal Riaz,Asadullah Shaikh,Khairan Rajab,3,Adel Rajab,*,Muhammad Akram and Mana Saleh Al Reshan

    1Control,Automotive and Robotics Lab Affiliated lab of National Center of Robotics and Automation(NCRA HEC Pakistan),and with the Department of Computer Science and Information Technology,Mirpur University of Science and Technology(MUST),Mirpur Azad Kashmir,10250,Pakistan

    2College of Computer Science and Information System,Najran University,Najran,61441,Saudi Arabia

    3College of Computer Science and Engineering,University of South Florida,Tampa,33620,United States

    Abstract: Deep learning techniques, particularly convolutional neural networks(CNNs),have exhibited remarkable performance in solving visionrelated problems, especially in unpredictable, dynamic, and challenging environments.In autonomous vehicles, imitation-learning-based steering angle prediction is viable due to the visual imagery comprehension of CNNs.In this regard,globally,researchers are currently focusing on the architectural design and optimization of the hyperparameters of CNNs to achieve the best results.Literature has proven the superiority of metaheuristic algorithms over the manual-tuning of CNNs.However, to the best of our knowledge,these techniques are yet to be applied to address the problem of imitationlearning-based steering angle prediction.Thus,in this study,we examine the application of the bat algorithm and particle swarm optimization algorithm for the optimization of the CNN model and its hyperparameters, which are employed to solve the steering angle prediction problem.To validate the performance of each hyperparameters’set and architectural parameters’set,we utilized the Udacity steering angle dataset and obtained the best results at the following hyperparameter set:optimizer,Adagrad;learning rate,0.0052;and nonlinear activation function,exponential linear unit.As per our findings,we determined that the deep learning models show better results but require more training epochs and time as compared to shallower ones.Results show the superiority of our approach in optimizing CNNs through metaheuristic algorithms as compared with the manual-tuning approach.Infield testing was also performed using the model trained with the optimal architecture,which we developed using our approach.

    Keywords: Bat algorithm; convolutional neural network; hyperparameters;metaheuristic optimization algorithm;steering angle prediction

    1 Introduction

    In recent years,we have witnessed a storm of advancements in autonomous self-driving ground vehicles, and significant research efforts in the industry and academia are being devoted to their successful implementation.In this regard, one of the challenges identified is the accurate prediction of the steering angle required for a vehicle to autonomously steer on a given terrain, due to the heterogeneity of roads and their geometries.A recent solution has been proposed to address these challenges in steering angle prediction, that is, by learning from demonstration, also known as imitation learning[1].

    In autonomous vehicles,imitation learning is used to learn the steering angle to drive in different scenarios through human driving demonstration.For this purpose,corresponding steering angles are collected simultaneously while driving the vehicle,and these are used as training data for the supervised learning by an artificial neural network(ANN)model.That is,the steering angle is predicted by the ANN model using raw image pixels as the input[2–4].Once the model learns,it can then autonomously predict steering angles without human intervention.For this type of supervised learning steering angle prediction problem, the convolutional neural network (CNN) and its variants are mostly employed due to their remarkable performance in visual imagery understanding[5].However,the performance of these networks strongly depends on their architecture,design,and training parameters[6].

    The process of designing the architecture of an ANN and tuning the hyperparameters to achieve optimal results for a particular problem has been identified to be strenuous and remains to be under investigation by researchers globally[7].This becomes even more challenging when the dimensionality of the hyperparameter space increases.In particular,deep neural networks have different hyperparameters that need to be adjusted given any input dataset, giving rise to high-dimensional search space.The primary hyperparameters of the CNN that contribute to the accuracy of results and speed of convergence include the learning rate, optimizer function, number of epochs, batch size, activation function, dropout rate, number and sequence of layers (convolutional (Conv), pooling, and fully connected (FC) layers), number of neurons in the FC layers, and number and size of the filters in each Conv layer.Each setting, having a specific combination of all these hyperparameters, has a different impact on the performance of the neural network.The process of tuning all these hyperparameters and evaluating the results for each setting is tedious,time-consuming,and computationally expensive[8].

    Literature has proven the competence of many nature-inspired metaheuristic algorithms,including the genetic algorithm [9–12], swarm intelligence optimization algorithms [13–18], and their variants, for the optimization of hyperparameters.The optimization of the hyperparameters of a steering angle predictive neural network has been determined to be a nonlinear, non-convex, and complex global optimization problem.To solve this kind of problem,the bat algorithm and its variants have shown efficient results as compared to other metaheuristic algorithms in the previous studies[19–21].On these grounds, the prospect of the bat algorithm for tuning the CNN can be envisaged.However,the algorithm has never been used in tuning the hyperparameters of CNN.Moreover,for the steering angle prediction,various architectures of neural networks have been proposed by researchers;most of them have manually modified the hyperparameters of CNN to determine the combination(s)of values that afford the best results[22,23].However,no research has been conducted on the utilization of metaheuristic algorithms for the optimization of steering angle predictive CNN.This motivated us to explore the application of two metaheuristic algorithms in realizing optimal steering angle predictive CNNs.Our research is divided into two steps.In the first step, we optimize the learning rate, batch size, activation function, and optimizer using the bat algorithm.In the second step, one of the optimal settings of these hyperparameters is selected to optimize five architectural units of CNN using the bat algorithm, namely, the number of Conv layers, number of filters in each Conv layer, size of each filter, number of FC layers, and number of neurons in each FC layer.Moreover,these five architectural parameters are also optimized using the basic Particle Swarm Optimization(PSO)algorithm.This is performed to determine the effectiveness of the bat algorithm in solving the problem under discussion by comparing the results of the bat algorithm and the PSO algorithm.For this purpose, the same number of generations, population size, and encoding scheme of the CNN architecture is used.During whole process of optimization in our methodology, we adapted early stopping,which involves stopping the training after some epochs if the model failed to improve.Finally,the optimal CNN model architecture is trained with more data and used in infield experiments.

    The main contributions of this study are as follows:

    ·Deploying bat and PSO algorithms for the automatic tuning of nine major architectural and training parameters of CNN, including the number of Conv layers, number of filters in each Conv layer, number of fully connected layers, number of nodes in the FC layers, batch size,dropout rate,activation function,optimizer,and learning rate.

    ·Providing CNN model architectures and hyperparameters with improved results for the steering angle prediction problem.

    ·Employing Udacity dataset in evaluating the performance of the metaheuristic-based optimization approach.

    ·Validation of the results through infield testing of our developed prototype.

    The rest of the paper is structured as follows:Section 2 outlines the literature review regarding the steering angle prediction and metaheuristic optimization algorithm.Section 3 gives a brief overview of the architecture,properties,and hyperparameters of the CNN.The standard bat algorithm is discussed in Section 4.In Section 5,a short introduction to the PSO algorithm is provided.The methodology of implementing the bat algorithm and the PSO algorithm for the CNN architectural units and other hyperparameter selections is elucidated in Section 6.Experiments and results are discussed in Section 7.Lastly,Section 8 concludes our research.

    2 Related Work

    The study of steering angle prediction based on imitation learning began with the second Udacity competition related to the self-driving car.The winner of the competition developed 9-layered CNN,which was determined to be successful in autonomously driving the vehicle in the Udacity simulator.Since then, continuous research has been carried out on designing the optimal neural network architecture for steering angle prediction and finding hyperparameters that provide the best training results.Among these neural networks,the most commonly used architecture found in the literature is CNN.

    Lately,many architectures of CNN have been proposed by researchers for steering angle prediction[24–29].By analysis of available literature regarding the imitation-learning-based steering angle prediction, it was observed that the performance of a neural network architecture proposed in one research cannot be compared with an architecture proposed in another research.This is because the training and testing datasets used in each research is different.This persists even with the studies in which the same publicly available datasets were used.This is because has not been divided into training and testing sets by the publisher,so the train-test-split is different in different studies.Moreover,the evaluation metrics used in these studies vary from each other.Hence,there is an ambiguity in deciding which architecture of CNN and its hyperparameters should be used for training to utilize CNN for infield autonomous vehicles.

    Recently, Kebria et al.[30] manually tuned 96 CNN models and equally trained on a subset of the Udacity dataset to explore and evaluated the impact of three architectural parameters of CNN,including the number of layers,number of filters in each layer,and the filter size on the performance of CNN for steering angle prediction.For this purpose,they incrementally increased the number of layers from 3 to 18, the number of filters from 4 to 128, and the filter sizes from 3×3 to 7×7, for designing CNN models.However, they did not perform infield testing to evaluate the performance of the best performing CNN model architecture obtained after the hand-tuning of architectures.Moreover, tuning CNN using a metaheuristic approach has proven its competence as compared to manually tuning it [31].Jaddi et al.[32] have used a bat algorithm to optimize the architecture, as well as the weights and biases of simple feedforward neural networks.They tested the effectiveness of their approach using two-time series and six classification benchmark datasets.However,the process of tuning CNN is quite complex and challenging due to its disparate layers and dimensionality issues.

    3 Convolutional Neural Network

    In recent years,it has been established that CNNs can generate rich input image representations by embedding input images in fixed-length vectors, which can be used for a variety of visual tasks.However,CNN performance depends on datasets,architecture,and other training attributes[33,34].The basic architecture of a CNN comprises input and output layers, as well as multiple hidden layers.CNN’s hidden layer consists of a series of convolutional layers (Conv layer), a pooling layer, normalization layer(s), flatten layer, and fully connected layer(s).Central to the CNN are the Convolutional layers(Conv layer),in which filters convolve over the image and perform dot product with the image pixels.This operation is very important for indexes in a matrix as it affects how weights are determined at a particular index point.The output array obtained as a result of convolution is called a feature map.The number of feature maps yielded by a Conv layer equals the number of filters used in the layer.The number of parameters and output volume of a layer depends on the input size,filter size,number of filters,padding,and stride of filters.It is a convention to apply the activation layer immediately after each convolution layer.The objective of this layer is to incorporate nonlinearity into a system.Some commonly used nonlinear activation functions include Rectified Linear units(Relu),Leaky Relu,parametrized Relu,Elu,Selu,Sigmoid,Softmax,and Tanh.Where softmax and sigmoid are common to the output layer for the classification problem.

    The batch size, learning rate, number of epochs, and optimizer are among the crucial training parameters influencing the performance of a CNN architecture being trained on a given dataset,where one epoch indicates that the entire dataset has traversed forward and backward through the CNN once.The batch size is the total number of training examples present in a single batch when the whole dataset is divided into batches.The learning rate governs the step size at each iteration while moving toward a minimum of a loss function.The optimizer is responsible for altering the weights inside the CNN.The commonly used optimizers for CNN are the stochastic gradient descent(Sgd),Adam,Adagrad,Nesterov accelerated gradient(NAG),AdaDelta,and RMSProp.

    For training the ANN to perform steering angle prediction,the corresponding steering angles and images are collected while a car is being driven by a human driver.For this purpose, three methods are being used.In the first method, simulation software(such as CARSIM, CARLA, and TORCS)[35,36], is being used to generate the data sets required for this task.In the second method, images and corresponding steering angles are collected by a human-driven vehicle using onboard cameras and angle sensors[37,38].Lastly,the third method involves utilizing the benchmark publicly available datasets(such as Udacity,DIPLECS,and Comma.ai)[39],for training ANNs to perform autonomous steering angle prediction.

    4 Bat Algorithm

    Bat algorithm is a metaheuristic optimization algorithm proposed by Yang [40], and it is based on the echolocation behavior of microbats.Bats are known to release a very loud sound pulse;subsequently,they find their prey based on the echoes returned from objects.Each pulse emitted has a specific frequency and loudness,based on which the velocity and position of the bat are adjusted.As the bat approaches its prey,the pulse rate increases,while the loudness decreases.In the bat algorithm,this bat mechanism for finding prey is imitated to determine the optimal solution.Bat algorithm involves a sequence of iterations, where the population of bats represents the candidate solutions,which,in turn,are updated using the frequency and velocity.The frequency,velocity,and position of the solutions are calculated based on the following equations:

    whereηis a random number in the range of (0, 1); is the frequency of the ithbat that controls the range and speed of movement of the bats; xiand velidenote the position and velocity of the ithbat,respectively;and xtgbeststands for the current global best position at time step‘t’.The next step is to check if the random number is less than the pulse rate of the bat.If true, a random walk is applied around the best solutions through a local search using Eq.(4).This is performed to enhance the diversity of the solutions.

    where Atdenotes the average loudness of all bats so far andα∈[1,1]is a random number that controls the direction of the random walk.The pulse rate is observed to increase when a bat finds its prey,while the loudness typically decreases.The loudness(Ai)and pulse rate(ri)are updated using the following equations:

    where rois the initial pulse rate,rit+1is the pulse rate of bat computed for the next step andβ&μ are constant values.The pulse rate and loudness of the bats are updated only if a new solution is accepted.

    5 PSO Algorithm

    The PSO algorithm is another metaheuristic-based optimization algorithm [41].The optimal solution in PSO is searched based on the social behavior of fish schools and bird flocks.Each particle moves within the search space through collaboration with other particles while balancing exploration and exploitation.The PSO algorithm involves a sequence of iterations,where a population of particles represents candidate solutions,which are updated using the following equations:

    where veliis the velocity of the ithparticle,c1&c2 are positive constants,rand1&rand2are random numbers,pbest is the best previous position of the ithparticle,gbest is the global best position explored thus far in the entire swarm of particles,and xiis the current position of the ithparticle.

    Eq.(7)updates the velocity of the ithparticle,which is used in Eq.(8)to update the position of the particle.

    6 Methodology and Experiments

    In this section,we present the methodology we adopted for the optimization of CNN using metaheuristic algorithms.In the following subsections,we describe the solution representation or encoding scheme,hyperparameter tuning of the CNN,and architecture optimization of the CNN.To verify the performance of the metaheuristic algorithms for automatically setting the architecture of CNN, we used a subset(2400 data samples for training and 600 for testing)of Udacity’s publicly available dataset for the steering angle prediction[42].This dataset consists of images and corresponding steering angles in the range of -2 to 2.As in the imitation learning-based steering angle prediction approach, the neural network model learns to predict the steering angle depending on the shape of the road, the images with no road, may result in learning wrong features.Hence, to obtain more robust results,we removed the frames in the dataset which were captured when the car was parked and when the camera view only covers other vehicle instead of any road.After this step, cropping of images was performed.One third of each frame was cropped from the top in order to remove unwanted data and subsequently rescaled to 300×300.Some samples of the Udacity dataset after performing the cropping and rescaling operation have been shown in the Fig.1a; and samples in the dataset which were removed because they did not contain useful road area information have been shown in Fig.1b.

    Figure 1:Some samples of the udacity dataset(a)cropped and rescaled training frames(b)samples of removed images in preprocessing step

    Images and corresponding steering angles are provided to the CNN as input;once the model is trained it provides steering angle as output based on the image as input.To evaluate the performance of the solution at each step of our methodology,an effective evaluation function was required to select the optimal solution.In our methodology,the function to evaluate the fitness of a solution is the mean squared error(MSE)of the model.System parameters used for the optimization process include Keras with Tensorflow as Backend,32 GB RAM,Core i9 CPU@5.20 GHz,and GTX 2080 GPU.

    6.1 Optimizing the Hyperparameters of the CNN Using the Bat Algorithm

    In this subsection,the procedure of employing the bat algorithm for the hyperparameter optimization for CNN is discussed.In Algorithm 1,an overview of our proposed bat algorithm is presented.

    Algorithm 1:Proposed bat algorithm-based hyperparameter optimization algorithm 1)Set the number of generations,numOfgen ←20 2)Set the population size,pop_size ←10 3)Set the number of dimensions of each bat,D ←4 4)Set the minimum frequency,freqmin 5)Set the maximum frequency,freqmax 6)Set the initial loudness,Ai 7)Set the upper and lower bound of each dimension of bats 8)Set the initial population 9)Train the CNN models with the hyperparameters suggested in the initial population 10)Evaluate the fitness of all the CNN models trained 11)Set the best bat xbest based on the fitness 12)Randomly initialize the pulse rate vector(ri)13)Sort the pulse rate based on the fitness of bats 14)Set the initial velocity of the population,vi ←0 15)for t in the range of pop_size,do:16) Generate new solutions by adjusting the velocity (vi), frequency (fi), and position (xi) of the ithbat using Eqs.(1)–(3)17) if rand1 >ri,then 18)Select a solution among the best solutions 19)Generate a local solution around the selected solution in step 18 using Eq.(4)20) endif 21) if the currently generated solution has not been evaluated in the past,then 22)if rand2 <Ai,then 23)Train the CNN model with the current solution and evaluate its fitness(xi)24)if the fitness(xi)<fitness(xbest),then 25)Increase ri and reduce Ai using Eqs.(5)and(6)26)Compare fitness(xi)&fitness(xbest),and find the current best 27)Update xbest 28)endif 29) endif 30)endfor

    The selected parameters for this step of optimization includes:Ai=0.3, freqmin=0,freqmax=1,β= 0.5, and μ = 0.5.In our approach, the initialization of the pulse rate for each bat is in increasing order to the fitness of each bat.This is done to reduce the probability of solutions with better fitness to perform random local searches around other top best solutions.This strategy may help reduce the probability of early convergence which is the main limitation of the bat algorithm.We found through experiments that nudges of parameters in the vicinity of better fit CNN models give improved results.Therefore,the pulse rate initialization in increasing order with respect to fitness will lower the prospect of overlooking the problem space in the vicinity of better fit models.The process of optimization starts by initializing a population of 10 bats thereafter, the position of each bat is adjusted based on the velocity and frequency,which are updated at each iteration using the standard bat algorithm.The position of each bat represents the hyperparameter setting for a CNN model,i.e.,a real-valued vector representing the batch size,activation function,learning rate,and optimizer.The activation function and optimizer are then mapped to real numbers,after which all the dimensions of each bat are encoded in the same range.Tab.1 presents the search space for each dimension of the bats.

    Table 1:Ranges of the hyperparameters to be optimized

    At the initialization step, the position of each bat is assigned randomly, and the velocity of each bat is initialized as 0.We then initialize the pulse rate and loudness after evaluating the fitness of the position of each bat.The performance of each set of hyperparameters proposed by the bat algorithm was then validated by the MSE of a fixed CNN architecture.For this purpose, we have selected top-performing architecture from an existing work[30](we name it‘M1’),to optimize four hyperparameters of CNN,namely,the batch size,learning rate,activation function,and the optimizer.After 20 iterations on a population of 10 bats, the top 4 high-performing hyperparameter settings obtained at the last iteration are depicted in Tab.2.

    Table 2:Top high-performing bats at the last iteration

    With each hyperparameter setting, the model is trained for 50 epochs.To verify these hyperparameter settings,another top-performing model(denoted as M2)of the existing work[30]is trained,and its performance is evaluated.M1 and M2 are depicted in Figs.2a and 2b.

    Figure 2:Models for the validation of step 1 of our methodology(a)model 1(M1)(b)model 2(M2)

    For the next experiments of the CNN architecture optimization, we selected the second-best hyperparameter setting instead of the best setting, as it requires a relatively low number of epochs to provide satisfactory results.

    6.2 Optimizing the CNN Architecture Using the Bat Algorithm

    In this subsection, the optimization of five architectural properties using the bat algorithm is explained,including the number of Conv layers,number of filters in each Conv layer,filter sizes in each layer,number of FC layers,and number of neurons in each FC layer;the ranges of these parameters in our approach are(3–13),(16–128),(3×3–7×7),(1–5),and(10–120),respectively.Algorithm 1 is adopted to optimize the CNN architecture,with pop_size=10,numofgen=20,freqmin=1,freqmax=4,initial loudness=4,dimension(D)=5,β=0.9,μ=0.9,and pulse rate is initialized in an ascending order with respect to the fitness of the bats.Position xiof each bat represents a particular CNN architecture, and each dimension of the bat corresponds to the CNN architectural property.At the initialization step, position xiof each bat is then initialized randomly in the range specified for the respective dimension.Subsequently, each dimension is rescaled in the range of 10–250 for further processing in the next iterations.The velocity of each bat is initialized as 0,after which it is adjusted using Eq.(2)as mentioned in Section 4 of this paper.The velocity is bound to the range of-18 to 18.

    When we automate the architecture formation of the CNN, we can encounter dimensionality problems.Thus,if the output feature map is not padded,then depending on the size of the Conv filters,the dimension is reduced.Alternatively,if the layers are padded so that the input and dimensionality of the output feature map are preserved, the CNN architecture will not fit in the memory for training as the layers increase.Therefore, before connecting the FC layers, it is important to reduce the dimensionality.We have solved these dimensionality problems using the strategy depicted in Algorithm 2.

    Algorithm 2:Procedure for reducing the dimensionality 1)if the number of layers <=5 2) for the total number of Conv layers,do 3)apply the Conv filters on the activation map returned by the previous layer of CNN 4)apply a max-pooling layer with filter size 2×2 5) end for 6)else(Continued)

    7)for the total number of Conv layers,do 8)apply the Conv filters on the activation map returned by the previous layer of CNN 9)if the layer number is a multiple of 3 10)apply max-pooling layer with filter size 2×2 11)end if 12)end for 13)end if

    6.3 Optimizing the CNN Architecture Using the PSO Algorithm

    In this subsection, the optimization of five architectural properties using the PSO algorithm is explained,including the number of Conv layers,number of filters in each Conv layer,filter sizes in each layer,number of FC layers,and the number of neurons in each FC layer.Position xiof each particle represents a particular CNN architecture,and each dimension of the particle corresponds to the CNN architectural property.At the initialization step,position xiof each particle is initialized the same as the first population of the bat algorithm in the previous step.This is carried out to ensure the same average fitness of individuals at the first iteration of the PSO and bat algorithms.After the initialization of the particle positions,each dimension is then rescaled in a range of 10–250 for further processing in the next iterations.The velocity of each particle is initialized as 0,which is then adjusted using Eq.(7).The velocity is bound to the range of-18 to 18.Most researchers obtained optimal results with a value of‘2’for c1 and c2[43,44].Therefore,in our methodology,this value is selected for the PSO algorithm.The encoding scheme for each position of particles is the same as that used in the bat algorithm.Each model is trained for 50 epochs using the top-second hyperparameter setting obtained in step 1 of our methodology implemented in Section 6.1.Algorithm 3 presents the methodology of the application of the PSO algorithm for the hyperparameter optimization of CNN.

    Algorithm 3:Proposed PSO-algorithm based CNN architecture optimization algorithm 1)Set the number of generations,numOfgen ←20 2)Set the population size,pop_size ←10 3)Set the number of dimensions of each particle,D ←4 4)Set c1 ←2 5)Set c2 ←2 6)Set the upper and lower boundaries of each dimension of the particles 7)Set the initial population 8)Train the CNN models with the hyperparameters suggested in the initial population 9)Evaluate the fitness of all the CNN models trained in the previous step 10)Set the best particle gbest based on the fitness 11)Set the initial velocity of the population,v0 ←0 12)for t in the range of pop_size,do:13)Generate new solutions by adjusting the velocity (vi) and position (xi) of the ith particle using Eqs.(7)and(8)14)Train the CNN model with the current solution,and evaluate its fitness 15)if the current fitness is better than the pbest fitness,then 16)Set the pbest position as the current position of the particle 17)Set the pbest fitness as the current fitness of the particle 18)end if(Continued)

    19) if the current fitness is better than the global best fitness,then 20)Set the)Set the gbest position as the current position of the particle 21 gbest fitness as the current fitness of the particle 22) end if 23)end for

    6.4 Infield Experiments

    For the steering angle predictive neural network to be implemented practically, it needs to be robust.One way of achieving robustness is to train the CNN model with the extensive dataset containing various scenarios.To achieve this,the CNN model with the least MSE obtained after the optimization was retrained with more data(i.e.,25000 more data samples).The top hyperparameter setting obtained in Section 6.1 was used for training the CNN model.Afterward,infield testing was performed using the trained model to drive the vehicle on a road.The camera was mounted on the front,aligned at the exact center of the vehicle.

    The Python library,named“OpenCV,”was used in capturing live frames(of dimension 640×480),which were continuously being utilized by the trained CNN model for the prediction of the steering angle.The dimensions of training, as well as testing frames, should be similar.Therefore, one-third of each frame from the live feed is cropped from the top and then rescaled to 300×300.Fig.3 shows some examples of the original and equivalently cropped/rescaled testing and training frames.

    Figure 3:Cropping and rescaling of the frames(a)testing frame(b)training frame

    The average prediction time taken by our model on live camera frames was 0.1 s.The model gave continuous values within the range of-2 to 2,with 2 as a command to steer toward the extreme left and -2 as a command to steer toward the extreme right.Values close to 0, e.g., 0.0052, -0.00093,and 0.0102, are identified as commands to drive straight.The predicted steering angle is sent to Arduino ESP 32 DEVKIT V1 which controls the rotation of wheels through the help of a rotational potentiometer.The experiments were conducted for a total of 1 h of driving at different times of the day and different positions of the vehicle on the road.As per our findings, we found that the best prediction results of the model were obtained when the position of the vehicle was in the middle of the road.However,it did not perform well near the boundaries of the road,particularly at the right margins of the road.Such wrong predictions might be because,during the collection of the dataset,the vehicle was mostly driven at the center of the road.As the width of the road,lane marking color,and other properties of the testing track is different from the training track, the ability of the CNN model to generalize for new scenarios is convincible.In Fig.4,some of the scenarios with correct as well as wrong prediction results are shown.

    Figure 4:Samples of our prediction results(a)correct predictions(b)wrong Predictions

    7 Discussion and Results

    This section provides details of our methodology and findings.We optimized the CNN via a twostep process.In the first step,we tuned four hyperparameters,and,in the second step,we optimized five architectural properties of the CNN.We began our experiment by tuning four hyperparameters for which a fixed CNN model was employed.Thereafter,the effectiveness of the tuned hyperparameter settings for other CNN architectures was verified by training another model(M2).

    In the solution vector of the best bat in step 1 of our approach,we obtained a 0.00052 learning rate for the Adagrad optimizer.This is then used as the initial learning rate by the optimizer and is updated for every parameter based on the past gradients.We observed that the Adagrad optimizer consumed more training time and required a higher number of epochs as compared to those of Adam,which can be observed in Tab.4.Therefore,for the experiments of the CNN architecture optimization,we selected the second-best hyperparameter setting instead of the top-most setting because it provides a satisfactory estimate of the performance of a model with fewer epochs.For the comparison of the PSO and Bat algorithms for the CNN architecture optimization,the average fitness of the individuals in a population is plotted at each iteration(see Fig.5).

    Table 3:Top CNN models obtained in our approach

    Table 3:Continued

    Table 4:Comparison of best-performing models of our approach with those of existing models

    It is useful to observe the cumulative effect of several layers of the CNN model on the performance of the model.Hence, we have plotted the MSE of models obtained through both optimization algorithms concerning the total count of layers(see Fig.6).

    Figure 5:Average fitness of the individuals in a population at each iteration

    In the above figure,the number of layers refers to the sum of Conv and FC layers only.We have observed that the deep models perform better than the shallow ones.

    Figure 6:Box plot of the mean square error for each layer

    After the process of training,each CNN model in our approach takes 300 x 300 RGB images as input and produces a real number as output in the range of-2 to 2.This number is the steering angle predicted by CNN with respect to a given image.Top CNN models obtained in our approach with the least MSEs have been depicted in Tab.3.

    In the above table,a number of Conv filters used in each Conv layer are mentioned followed by the size of the filter.Filter size of each max-pooling layer is also mentioned followed by the word“Pooling”.Each architecture has a flattened layer between the Conv and FC layers.The number of neurons in each FC layer is mentioned right next to it.Moreover,each model ends with the FC layer having one neuron serving the purpose of the output layer.A dropout layer is added before the flatten layer in each model.We used the“ELU”activation function for each layer except for the last FC layer where a linear activation function was used.We have named models for further reference in Tab.3 as B1,B2,up to B7.

    As the pooling layer with filter size 2×2 reduces the size of each feature map by a factor of 2,i.e., each dimension is halved, we cannot apply a pooling layer after each Conv layer.As the input image size used in our approach is 300×300,after seven applications of the pooling layer,each feature map dimension will then reduce to 2×2,whereas the maximum number of Conv layers used in our approach is 13.Therefore,we adopted the strategy of applying the pooling layer depicted in Algorithm 3.According to this,if the number of Conv layers proposed by the either of Bat or PSO algorithm in the current solution vector is less than or equal to 5, then max pooling is applied after each Conv layer,else it is applied after two Conv layers.Another precautionary measure taken in our approach to abolishing dimensionality problems is zero paddings of the Conv layers.The output of the Conv layer is determined by the formula:

    where W is the input volume, Fsizeis the filter size, P is the padding, and S is the stride.In our case,the stride of 1 is applied throughout the experiments.We applied varied paddings on layers depending on the filter size.That is,padding of 2×2 is applied if the filter size is 3×3,3×3 if the filter size is 5×5,and 5×5 if the filter size is 7×7.Therefore,the output size of the Conv layer in our approach remains the same as the input layer size.

    Although we can see in Fig.5 that the models are still improving at the last epochs using the Adagrad optimizer without overfitting,we trained all the models for 50 epochs during the optimization because of time constraints.However, improved performance could be obtained using more epochs on the Adagrad optimizer.Therefore,to revalidate our results,we trained the best-performing model architecture with the Adagrad optimizer for 200 epochs.The results are then compared with existing hand-tuned steering angle predictive CNN models(M1 and M3)from previous studies[1,30].Model M1 has already been defined in Section 6.1;M3 is a 9-layered CNN model containing 5 Conv and 4 FC layers.Tab.4 shows the comparative results of the top two best-performing models obtained in our experiments(B1 and B2),with the best-performing models of the previous study(M1 and M3).

    Through careful observation of our findings, we can conclude that CNN models having a high number of layers perform better than the models with a low number of layers.This may not necessarily be true for Conv layers more than 13 and FC layers more than 5,because this is the maximum range we selected for our methodology.The evaluation criterion, i.e., MSE of the best CNN architecture obtained at the end of all iterations, articulates the effectiveness of our approach in optimizing the CNN architecture and other hyperparameters using the metaheuristic algorithms.We found,during our experimentation,that even though the deep models require more training time and epochs,they provide better results as compared to the shallow ones.

    8 Conclusions

    Deep learning models as opposed to traditional algorithms articulated with preformulated rules are efficient in representing the relationship between the response and its predictor.However, the problem space having all the possible combinations of real values for each parameter of these models is diverse; thus, it is infeasible to explore with exhaustive search as the number of layers increase.Therefore, we applied the metaheuristic algorithms to tune the CNN architectural parameters and other hyperparameters.Through careful observation of our findings, we can conclude that CNN models having a high number of layers perform better than the models with a low number of layers.This may not necessarily be true for Conv layers more than 13 and FC layers more than 5,because this is the maximum range we selected for our methodology.The evaluation criterion,i.e.,MSE of the best CNN architecture obtained at the end of all iterations, articulates the effectiveness of our approach in optimizing the CNN architecture and other hyperparameters using the metaheuristic algorithms.We found,during our experimentation,that even though the deep models require more training time and epochs,they provide better results as compared to the shallow ones.In future,we would collect our own dataset and compare the performance of the CNN model trained on Udacity dataset with the same model trained on our own dataset.This would be done through the infield testing on same vehicle in different scenarios.

    Funding Statement:The authors would like to acknowledge the support of the Deputy for Research and Innovation,Ministry of Education,Kingdom of Saudi Arabia for this research through a grant(NU/IFC/INT/01/008)under the institutional Funding Committee at Najran University,Kingdom of Saudi Arabia.

    Conflicts of Interest:The authors declare that they have no conflicts of interest to report regarding the present study.

    国产单亲对白刺激| 69av精品久久久久久| 我的老师免费观看完整版| 最近最新中文字幕大全电影3| 好男人在线观看高清免费视频| 色吧在线观看| 中国美白少妇内射xxxbb| 非洲黑人性xxxx精品又粗又长| 男女之事视频高清在线观看| 亚洲精品一卡2卡三卡4卡5卡| 日本在线视频免费播放| 国产精华一区二区三区| 性插视频无遮挡在线免费观看| 综合色av麻豆| 哪里可以看免费的av片| 一a级毛片在线观看| 白带黄色成豆腐渣| 国产精品野战在线观看| 久久久国产成人精品二区| 舔av片在线| 久久精品国产清高在天天线| 亚洲真实伦在线观看| 国产毛片a区久久久久| 51国产日韩欧美| 哪里可以看免费的av片| 欧美又色又爽又黄视频| 熟妇人妻久久中文字幕3abv| 国产91av在线免费观看| 日本一二三区视频观看| 在线免费观看的www视频| 99久久久亚洲精品蜜臀av| 中文字幕av在线有码专区| 美女cb高潮喷水在线观看| 最近视频中文字幕2019在线8| 国产三级在线视频| 日韩欧美 国产精品| 天堂影院成人在线观看| 男人和女人高潮做爰伦理| 在线观看美女被高潮喷水网站| 九色成人免费人妻av| 久久久久久九九精品二区国产| 男女那种视频在线观看| 中出人妻视频一区二区| 免费人成视频x8x8入口观看| 99久久精品热视频| 三级国产精品欧美在线观看| 国产精品人妻久久久久久| 国产午夜精品论理片| ponron亚洲| 午夜视频国产福利| 啦啦啦啦在线视频资源| 亚洲av第一区精品v没综合| 色综合亚洲欧美另类图片| 男人舔奶头视频| 精品福利观看| 午夜视频国产福利| 久久久a久久爽久久v久久| 最近中文字幕高清免费大全6| 国产精品三级大全| 亚洲成人久久性| 成人一区二区视频在线观看| 免费看av在线观看网站| 欧美xxxx黑人xx丫x性爽| 女生性感内裤真人,穿戴方法视频| 最好的美女福利视频网| 亚洲av五月六月丁香网| 色哟哟·www| 国产男靠女视频免费网站| 亚洲色图av天堂| 青春草视频在线免费观看| 免费看日本二区| 日本一二三区视频观看| 国产一区二区三区av在线 | 国产真实伦视频高清在线观看| 搞女人的毛片| 久久久久精品国产欧美久久久| 色视频www国产| 麻豆乱淫一区二区| 夜夜爽天天搞| 日日干狠狠操夜夜爽| 观看美女的网站| 最近中文字幕高清免费大全6| 天美传媒精品一区二区| 色综合亚洲欧美另类图片| 你懂的网址亚洲精品在线观看 | 身体一侧抽搐| 欧美一级a爱片免费观看看| 嫩草影院入口| 亚洲国产欧洲综合997久久,| 亚洲自拍偷在线| 22中文网久久字幕| 日日啪夜夜撸| 久久精品国产亚洲av涩爱 | 美女免费视频网站| 免费看光身美女| 亚洲国产精品久久男人天堂| 亚洲欧美日韩高清专用| 嫩草影院新地址| 亚洲18禁久久av| 少妇被粗大猛烈的视频| 国产在视频线在精品| 日韩高清综合在线| 亚洲av一区综合| 国产精品人妻久久久影院| 亚洲精品成人久久久久久| 国产高潮美女av| 日韩国内少妇激情av| 黄色欧美视频在线观看| 色av中文字幕| 最近的中文字幕免费完整| 日韩欧美精品免费久久| 18禁在线播放成人免费| 亚洲国产欧洲综合997久久,| 欧美bdsm另类| 热99在线观看视频| 老熟妇仑乱视频hdxx| 欧美日韩一区二区视频在线观看视频在线 | 亚洲无线观看免费| 我要搜黄色片| 国产精品,欧美在线| 久久精品久久久久久噜噜老黄 | 老司机影院成人| 一本久久中文字幕| 午夜福利视频1000在线观看| 亚洲精品色激情综合| 国产精品福利在线免费观看| 免费看光身美女| 日本黄色片子视频| 俄罗斯特黄特色一大片| 亚洲成人中文字幕在线播放| 久久久欧美国产精品| 国产精品一区二区免费欧美| 免费观看精品视频网站| 男人狂女人下面高潮的视频| 久久午夜亚洲精品久久| 99国产精品一区二区蜜桃av| 亚洲综合色惰| 免费不卡的大黄色大毛片视频在线观看 | 午夜免费激情av| 国产成年人精品一区二区| 免费看a级黄色片| 亚洲国产高清在线一区二区三| 国产伦一二天堂av在线观看| 日日摸夜夜添夜夜添av毛片| 国产欧美日韩精品一区二区| 国产探花在线观看一区二区| 精品一区二区三区av网在线观看| 中出人妻视频一区二区| 特大巨黑吊av在线直播| 特大巨黑吊av在线直播| 久久精品国产亚洲av天美| 麻豆国产av国片精品| 日韩欧美精品免费久久| 俺也久久电影网| 丝袜美腿在线中文| 久久久成人免费电影| 午夜影院日韩av| 丰满人妻一区二区三区视频av| av.在线天堂| 中文字幕av在线有码专区| 国产精品伦人一区二区| 欧美xxxx性猛交bbbb| 最近2019中文字幕mv第一页| 99热全是精品| 91精品国产九色| 啦啦啦观看免费观看视频高清| 天堂影院成人在线观看| 一卡2卡三卡四卡精品乱码亚洲| 久99久视频精品免费| 日韩高清综合在线| av卡一久久| 日本爱情动作片www.在线观看 | 成人鲁丝片一二三区免费| 在现免费观看毛片| 亚洲va在线va天堂va国产| av卡一久久| 69av精品久久久久久| 日韩欧美免费精品| 亚洲国产欧美人成| 长腿黑丝高跟| 欧美精品国产亚洲| 国产精品国产三级国产av玫瑰| 国产一区二区在线av高清观看| 一进一出好大好爽视频| 色吧在线观看| 黑人高潮一二区| 成人漫画全彩无遮挡| 97热精品久久久久久| 最近的中文字幕免费完整| 日本欧美国产在线视频| 日韩欧美免费精品| av视频在线观看入口| 给我免费播放毛片高清在线观看| 亚洲av一区综合| 国产一区二区三区在线臀色熟女| 亚洲内射少妇av| 日韩三级伦理在线观看| 久久久久久久久久黄片| 日韩欧美三级三区| 久久久久久久久久黄片| 亚洲av免费在线观看| 97超视频在线观看视频| 精品乱码久久久久久99久播| 我的女老师完整版在线观看| 男女做爰动态图高潮gif福利片| 成人三级黄色视频| www日本黄色视频网| 五月伊人婷婷丁香| 婷婷色综合大香蕉| 午夜福利18| 男女下面进入的视频免费午夜| 欧美日韩在线观看h| avwww免费| 亚洲精品色激情综合| 亚洲av一区综合| 日韩欧美精品免费久久| 美女cb高潮喷水在线观看| 男女边吃奶边做爰视频| 美女大奶头视频| 色噜噜av男人的天堂激情| 午夜a级毛片| 99久久中文字幕三级久久日本| 哪里可以看免费的av片| 舔av片在线| 岛国在线免费视频观看| 18禁裸乳无遮挡免费网站照片| 国内精品宾馆在线| 国产淫片久久久久久久久| 中文字幕精品亚洲无线码一区| 国产91av在线免费观看| av专区在线播放| 在线播放无遮挡| 内射极品少妇av片p| 又黄又爽又免费观看的视频| 精品福利观看| av.在线天堂| 国产精品综合久久久久久久免费| 日产精品乱码卡一卡2卡三| 日韩中字成人| 成年女人永久免费观看视频| 夜夜爽天天搞| 老司机福利观看| 少妇的逼水好多| av专区在线播放| 色5月婷婷丁香| 久久久久国产精品人妻aⅴ院| 少妇高潮的动态图| 亚洲精品日韩在线中文字幕 | 人人妻人人澡人人爽人人夜夜 | 久久久久九九精品影院| 久久午夜福利片| 国产片特级美女逼逼视频| 特大巨黑吊av在线直播| 亚洲丝袜综合中文字幕| 亚洲色图av天堂| 久久久久国产精品人妻aⅴ院| 亚洲av二区三区四区| 精品一区二区三区视频在线观看免费| 免费在线观看影片大全网站| 久久久午夜欧美精品| 婷婷色综合大香蕉| 日韩欧美三级三区| 一区二区三区四区激情视频 | 18禁黄网站禁片免费观看直播| 久久精品国产亚洲av香蕉五月| 亚洲无线在线观看| 亚洲最大成人手机在线| 欧美xxxx性猛交bbbb| 男人狂女人下面高潮的视频| 老女人水多毛片| 成年版毛片免费区| 亚洲最大成人手机在线| 日本一二三区视频观看| 美女 人体艺术 gogo| 亚洲欧美精品综合久久99| 中文在线观看免费www的网站| 国产av麻豆久久久久久久| 伊人久久精品亚洲午夜| 欧美日韩一区二区视频在线观看视频在线 | 99久国产av精品国产电影| 又粗又爽又猛毛片免费看| 精品人妻一区二区三区麻豆 | 精品人妻视频免费看| 久久久久精品国产欧美久久久| 最后的刺客免费高清国语| 99国产精品一区二区蜜桃av| 在现免费观看毛片| 欧美色视频一区免费| 久久久久性生活片| 亚洲在线自拍视频| 久久鲁丝午夜福利片| 永久网站在线| 午夜a级毛片| 俄罗斯特黄特色一大片| 高清毛片免费观看视频网站| 国产精华一区二区三区| 亚洲国产精品久久男人天堂| 亚洲精品456在线播放app| 国产v大片淫在线免费观看| 看片在线看免费视频| 三级男女做爰猛烈吃奶摸视频| 大型黄色视频在线免费观看| 国产精品av视频在线免费观看| 噜噜噜噜噜久久久久久91| 亚洲国产精品成人久久小说 | 亚洲欧美日韩卡通动漫| 日日干狠狠操夜夜爽| 亚洲精品久久国产高清桃花| 性欧美人与动物交配| 成人欧美大片| av在线老鸭窝| 91狼人影院| 亚洲av成人精品一区久久| 日韩成人伦理影院| 日本免费一区二区三区高清不卡| 国产一区亚洲一区在线观看| 最近中文字幕高清免费大全6| 男人和女人高潮做爰伦理| 欧美极品一区二区三区四区| 国产午夜精品论理片| 日韩精品青青久久久久久| 91麻豆精品激情在线观看国产| av在线天堂中文字幕| 中文字幕精品亚洲无线码一区| 成人美女网站在线观看视频| h日本视频在线播放| 国产精品福利在线免费观看| av免费在线看不卡| videossex国产| 欧美高清性xxxxhd video| 亚洲最大成人中文| www日本黄色视频网| 日韩欧美免费精品| 热99re8久久精品国产| 国产大屁股一区二区在线视频| 精品福利观看| 色噜噜av男人的天堂激情| 激情 狠狠 欧美| 国产黄色视频一区二区在线观看 | 久久久久久九九精品二区国产| 亚州av有码| 毛片一级片免费看久久久久| 一级av片app| 人人妻人人看人人澡| 国产乱人视频| 亚洲国产欧美人成| 美女cb高潮喷水在线观看| 国产大屁股一区二区在线视频| 国产视频一区二区在线看| 国产伦精品一区二区三区视频9| 成人午夜高清在线视频| 亚洲av电影不卡..在线观看| 精品少妇黑人巨大在线播放 | 好男人在线观看高清免费视频| 十八禁国产超污无遮挡网站| av在线蜜桃| 哪里可以看免费的av片| 欧美zozozo另类| 欧洲精品卡2卡3卡4卡5卡区| 大香蕉久久网| 免费看a级黄色片| 免费看美女性在线毛片视频| 欧美中文日本在线观看视频| 日本黄色片子视频| 老师上课跳d突然被开到最大视频| 99精品在免费线老司机午夜| 免费观看精品视频网站| 国产精品不卡视频一区二区| 特级一级黄色大片| 日本黄色视频三级网站网址| 国产三级中文精品| 男女下面进入的视频免费午夜| 草草在线视频免费看| 日韩三级伦理在线观看| 我要看日韩黄色一级片| 丝袜美腿在线中文| 亚洲四区av| 桃色一区二区三区在线观看| 国产91av在线免费观看| 中文在线观看免费www的网站| 欧美最黄视频在线播放免费| 尾随美女入室| 精品福利观看| 在线观看66精品国产| 亚洲电影在线观看av| 在线观看av片永久免费下载| 你懂的网址亚洲精品在线观看 | 欧美成人精品欧美一级黄| 免费看av在线观看网站| 伦精品一区二区三区| 大型黄色视频在线免费观看| 免费大片18禁| 桃色一区二区三区在线观看| 国产亚洲精品综合一区在线观看| 亚洲真实伦在线观看| 综合色av麻豆| 啦啦啦啦在线视频资源| 看片在线看免费视频| 日韩中字成人| 日韩高清综合在线| 精品久久久久久久人妻蜜臀av| 国产精品无大码| 久久午夜福利片| 国产探花在线观看一区二区| 久久人人精品亚洲av| 欧美xxxx黑人xx丫x性爽| 国产aⅴ精品一区二区三区波| 国产精品久久久久久久电影| 欧美三级亚洲精品| 99热只有精品国产| 99久久精品热视频| 岛国在线免费视频观看| 亚洲第一电影网av| 精品一区二区三区人妻视频| 麻豆国产97在线/欧美| 国产淫片久久久久久久久| 久久久久免费精品人妻一区二区| 午夜福利18| 毛片一级片免费看久久久久| 国产精品一区二区免费欧美| 亚洲第一区二区三区不卡| 国产一区二区在线av高清观看| 麻豆乱淫一区二区| 欧美日韩国产亚洲二区| 在线观看一区二区三区| 高清毛片免费观看视频网站| 可以在线观看毛片的网站| 国产三级在线视频| 一区二区三区四区激情视频 | 18禁裸乳无遮挡免费网站照片| 99热精品在线国产| 精品人妻偷拍中文字幕| 日韩欧美免费精品| 国产在视频线在精品| 女同久久另类99精品国产91| 亚州av有码| 国产黄色视频一区二区在线观看 | 99久久精品热视频| 亚洲成人久久爱视频| 国产免费男女视频| 国产精品久久久久久精品电影| 麻豆国产av国片精品| 久久久久免费精品人妻一区二区| 日韩制服骚丝袜av| 亚洲国产精品成人久久小说 | 精品久久久久久久久久久久久| 成人av一区二区三区在线看| 丰满乱子伦码专区| 晚上一个人看的免费电影| 日本黄色视频三级网站网址| 精品久久久久久久久av| 国产精品伦人一区二区| 日本黄色视频三级网站网址| 国产一区二区三区在线臀色熟女| 色av中文字幕| 在线天堂最新版资源| 99九九线精品视频在线观看视频| 99久国产av精品国产电影| 欧美+亚洲+日韩+国产| 性色avwww在线观看| 一个人看视频在线观看www免费| 舔av片在线| 成人综合一区亚洲| 久久婷婷人人爽人人干人人爱| 久久精品国产亚洲网站| 寂寞人妻少妇视频99o| 观看美女的网站| 联通29元200g的流量卡| 国产精品免费一区二区三区在线| 老司机午夜福利在线观看视频| 在线观看av片永久免费下载| 久久九九热精品免费| 欧美激情国产日韩精品一区| 亚洲精品国产成人久久av| 又黄又爽又刺激的免费视频.| 一区福利在线观看| 夜夜夜夜夜久久久久| 精品人妻偷拍中文字幕| 一本一本综合久久| 三级经典国产精品| 色哟哟·www| 国产精品永久免费网站| 国产 一区精品| 久久久国产成人免费| 免费观看人在逋| 国产人妻一区二区三区在| 国产成人一区二区在线| 99热只有精品国产| 久久久国产成人免费| 老熟妇乱子伦视频在线观看| 国产精品,欧美在线| 少妇人妻精品综合一区二区 | 女人十人毛片免费观看3o分钟| 午夜精品一区二区三区免费看| 日日啪夜夜撸| 一区二区三区免费毛片| 国产精品人妻久久久久久| 国产精品av视频在线免费观看| a级毛色黄片| 女同久久另类99精品国产91| 18禁在线播放成人免费| 欧美最黄视频在线播放免费| 免费电影在线观看免费观看| 精品日产1卡2卡| 国产午夜精品久久久久久一区二区三区 | 99视频精品全部免费 在线| 综合色av麻豆| 精品久久久久久成人av| 亚洲精品在线观看二区| 久久久久九九精品影院| 伦精品一区二区三区| 变态另类丝袜制服| 麻豆精品久久久久久蜜桃| 日本熟妇午夜| 亚州av有码| 国产综合懂色| 欧美bdsm另类| 国产v大片淫在线免费观看| av在线观看视频网站免费| 久久天躁狠狠躁夜夜2o2o| 老女人水多毛片| 美女大奶头视频| 国产视频内射| 午夜福利在线观看免费完整高清在 | 观看美女的网站| 俺也久久电影网| 99久久成人亚洲精品观看| 亚洲经典国产精华液单| 亚洲一级一片aⅴ在线观看| 国产亚洲精品久久久com| 天堂网av新在线| 1000部很黄的大片| 亚洲精品粉嫩美女一区| 秋霞在线观看毛片| 两性午夜刺激爽爽歪歪视频在线观看| 国产精品无大码| 嫩草影院入口| 天堂影院成人在线观看| 女同久久另类99精品国产91| 免费不卡的大黄色大毛片视频在线观看 | 国模一区二区三区四区视频| 亚洲在线观看片| 国产三级中文精品| 成人午夜高清在线视频| 国产 一区 欧美 日韩| 97人妻精品一区二区三区麻豆| 美女 人体艺术 gogo| 国内少妇人妻偷人精品xxx网站| 在线观看午夜福利视频| 大香蕉久久网| 91在线精品国自产拍蜜月| 日韩在线高清观看一区二区三区| 亚洲精品色激情综合| 亚洲图色成人| 国产伦精品一区二区三区视频9| 国产91av在线免费观看| 国产三级在线视频| 美女 人体艺术 gogo| 老熟妇仑乱视频hdxx| 国产亚洲精品久久久com| 国产老妇女一区| 亚洲av熟女| 天天一区二区日本电影三级| 我要搜黄色片| 免费av观看视频| 女生性感内裤真人,穿戴方法视频| 国产又黄又爽又无遮挡在线| 色综合亚洲欧美另类图片| 男人狂女人下面高潮的视频| av在线观看视频网站免费| 少妇熟女欧美另类| 日本免费一区二区三区高清不卡| 最后的刺客免费高清国语| 三级男女做爰猛烈吃奶摸视频| 精品免费久久久久久久清纯| 日韩成人伦理影院| 成人特级av手机在线观看| 美女被艹到高潮喷水动态| 亚洲精品色激情综合| 久久久久久久亚洲中文字幕| 色综合亚洲欧美另类图片| 国内久久婷婷六月综合欲色啪| 精华霜和精华液先用哪个| 特大巨黑吊av在线直播| 日本色播在线视频| 最新在线观看一区二区三区| 国产精品久久久久久亚洲av鲁大| 可以在线观看的亚洲视频| ponron亚洲| 麻豆国产av国片精品| 午夜福利高清视频| 毛片女人毛片| 国产午夜福利久久久久久| 男人的好看免费观看在线视频| 欧美日韩综合久久久久久| 一边摸一边抽搐一进一小说| 欧美不卡视频在线免费观看| 日本a在线网址| 伊人久久精品亚洲午夜| av视频在线观看入口| 人妻制服诱惑在线中文字幕| 成人漫画全彩无遮挡| 欧美日本视频| 亚洲av一区综合| 久久久久久久久久成人| 18禁在线播放成人免费| 国产免费男女视频| 狠狠狠狠99中文字幕| 黄色一级大片看看| 卡戴珊不雅视频在线播放| 婷婷精品国产亚洲av| 六月丁香七月| 全区人妻精品视频| 久久久久国内视频| 亚洲第一区二区三区不卡|