• No results found

This chapter has introduced GANs, which can be used for data augmentation, and to potentially address the intersectional accuracy challenges identified previously. Unfortunately, training GANs is extremely slow. In order to address this, the replacement of standard convolutions was introduced by DSCs. These convolutions can reduce the number of training parameters,

which speeds up the training process. However, this technique also has its downfalls, which affect the output results. This was observed when using the DSCs in both the generator and the discriminator, as generated images were blurry. Results presented in this chapter showed that although the GANsperformance depends on the depth of the network, careful implementation of DSC can be used to speed up training and to maintain the model’s performance.

The generation of a representative dataset for South African contexts could be made possible usingGANsin many applications, but this research will only focus on the drowsiness problem. In chapter 6,GANsare applied to the driver drowsiness detection dataset in order to produce a more representative dataset for the South African context. PCAis used as a way to extract features from the data in support of re-sampling from GAN generated images for re-training the model. This process is a form of boosting, where model performance is improved in regions where it fails.

In the previous chapter, the GANarchitecture was introduced as a means to generate synthetic data. GAN training is particularly slow, but it showed that replacing the standard convolutions in the generator with DSCs can improve training speed. The resulting images are very realistic, which shows the potential for GAN to be used for generating datasets that are representative of South African contexts, which comprise a very wide range of races and ethnicities.

This chapter introduces a framework that can be used to reduce bias in training data by generating more realistic images with different facial attributes where the model is failing and for specific ethnical groups. The framework is composed of four primary components. Firstly, a GAN architecture produces synthetic images of individuals with facial attributes that can be used when retraining the network. The second component is the CNN architecture that predicts the state of the driver, while the third component is aPBVthat highlights regions where the model is performing well and where it is failing to generalise. Lastly, the sampler targets images where the model is not performing well and searches through the synthetic images to find more images similar to those, which are used for model retraining. This idea is based on the boosting technique where a weak classifier is strengthened by re-weighting failing models. Results show that this framework does reduce bias in the training dataset and improves the performance of driver drowsiness detection algorithms.

A number of boosting approaches have been used in systems for detecting driver drowsiness, typically to improve face detection classifiers. Putta et al. used the Adaptive Boosting (AdaBoost) algorithm as part of the Viola-Jones face detection system for a real-time drowsiness detection system [131]. TheAdaBoostalgorithm was used for selecting important features (eyes and mouth regions) that can be used for training. In addition, Kong et al. in 2015 proposed a system that aims to improve strategies to detect fatigue in drivers using an improvedAdaBoost algorithm [85]. Here, the authors used theAdaBoost algorithm for training and face regions were detected

using Haar feature extraction. These faces were then forwarded to PERCLOS for analysis of drowsiness. Li et al. proposed a system that detects driver drowsiness using eye state features extracted using a Haar classifier andAdaBoost[94]. AdaBoostwas used to train the cascade and to produce a strong classifier based on the Haar features. Furthermore, Bharambe and Mahajan have also used the AdaBoostalgorithm and Haar-like features to detect the driver drowsiness [15].

Unfortunately, these systems mostly focus on improving algorithmic performance, while this work focuses on investigating and correcting dataset sampling bias. The unavailability of representative datasets makes networks generalise poorly on representative test data. This chapter shows that the use of the DrowsyGAN (DGAN) framework can boost the performance of CNNsin African contexts.

6.1

Boosting

In machine learning, boosting is a technique where a weak classifier is improved to be a stronger classifier by using a set of rules. The goal of boosting is to improve a weak classifier by treating it as a black box with a set of rules containing penalties for weak classifiers. There are different types of boosting algorithms, which include AdaBoost, Gradient Tree Boosting (GBoost), and A Scalable Tree Boosting System (XGBoost). These are detailed below.

AdaBoost – is a machine learning approach that was introduced by Freund and Schapire in 1995 [42]. The main idea of the AdaBoost algorithm is to maintain a set of weights over the training set. This weight distribution for the training set is firstly given the same value, but on each iteration, the weights of incorrectly classified training points are increased so that the weak learner is forced to focus on the harder tasks in the training set. The weak classifier is trained using a distributionDtand is given a weak hypothesis htcontaining an error value. Once the weak hypothesis is given, the algorithm chooses a parameterαt. The main goal ofαt is to measure the importance that is assigned to ht. The hypothesis is defined as follows :

H(x) =sign T X t=1 αtht(x) , (6.1)

GBoost–is one of the most powerful machine learning techniques for building predictive models. This technique was introduced by Friedman in 1999 where the outputs of weak classifiers are

combined to produce stronger classifiers with the help of decision trees of fixed sizes [43]. The GBoostalgorithm has two primary parameters which are the number of iterations M and the learning rate.

XGBoost – is a scalable tree boosting technique that was introduced by Chen and Guestrin in 2016 and is widely used by data scientists [22]. It uses a more regularised model formalisation for the prevention of overfitting. It is a portable and accurate technique for large-scale tree boosting problems.

Related documents