Eyebrows and eyeglasses as soft biometrics using deep learning

IET BiometricsVolume 8, Issue 6 p. 378-390 Research ArticleFree Access Eyebrows and eyeglasses as soft biometrics using deep learning Ahmad Saeed Mohammad, Corresponding Author Ahmad Saeed Mohammad asm2x9@mail.umkc.edu School of Computing and Engineering, University of Missouri-Kansas City, Missouri, Kansas City, 64110 USA Collage of Engineering, Mustansiriyah University, Baghdad, IraqSearch for more papers by this authorAjita Rattani, Ajita Rattani School of Computing and Engineering, University of Missouri-Kansas City, Missouri, Kansas City, 64110 USASearch for more papers by this authorReza Derakhshani, Reza Derakhshani School of Computing and Engineering, University of Missouri-Kansas City, Missouri, Kansas City, 64110 USASearch for more papers by this author Ahmad Saeed Mohammad, Corresponding Author Ahmad Saeed Mohammad asm2x9@mail.umkc.edu School of Computing and Engineering, University of Missouri-Kansas City, Missouri, Kansas City, 64110 USA Collage of Engineering, Mustansiriyah University, Baghdad, IraqSearch for more papers by this authorAjita Rattani, Ajita Rattani School of Computing and Engineering, University of Missouri-Kansas City, Missouri, Kansas City, 64110 USASearch for more papers by this authorReza Derakhshani, Reza Derakhshani School of Computing and Engineering, University of Missouri-Kansas City, Missouri, Kansas City, 64110 USASearch for more papers by this author First published: 05 June 2019 https://doi.org/10.1049/iet-bmt.2018.5230Citations: 6AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract Occlusion due to eyeglasses is one of the main challenges affecting the face and general ocular recognition, including eyebrow matching. In this study, the authors propose a convolutional neural network (CNN)-based method for (a) eyeglasses detection and segmentation to mitigate its impact on personal recognition in mobile devices and (b) use the shape of the glasses as a soft token of identity (something that one has). They evaluated the efficacy of the proposed eyeglasses segmentation on eyebrow matching and eyeglasses-based user authentication. To this front, various texture and deep features were evaluated. Using the publicly available large-scale visible ocular biometric dataset, they show that the proposed methods provide (a) eyeglasses detection and segmentation accuracies of 100 and 97% using CNNs, (b) a 2.51% reduction in eyebrow matching error by removing eyeglass occlusions and (c) eyeglasses matching with a 96.6% accuracy. 1 Introduction With the unprecedented mobile technology revolution, an increasing number of individuals are using their smartphones for sensitive applications and transactions. As a result, biometric authentication for secure mobile access and transactions has become popular. However, due to device mobility and operation in uncontrolled environments, the acquired biometric modalities, especially if facial or ocular, may exhibit substantial degradations because of factors such as reflection, motion-blur, low lighting and occlusion due to the structural objects such as eyeglasses [1]. In the context of mobile devices, selfie biometrics has attracted a lot of attention from the research community. This is because selfie images, such as face and ocular region, can be captured using a regular red–green–blue (RGB) camera already integrated into the mobile device. Thus, research has recently focused on the development of the selfie-based face and ocular authentication systems with mobile devices [1, 2]. The presence of eyeglasses is one of the main detrimental factors in the face and ocular-based recognition systems. Such degradations are usually due to frame-based occlusion or lens reflection obscuring the ocular region. Moreover, the existence of eyeglasses may lead to inaccurate eye detection which is one of the main steps in ocular and facial image preprocessing and segmentation [3, 4]. Studies have been proposed to mitigate the impact of eyeglasses on ocular and facial recognition [5–15]. These studies propose methods for detecting the presence of eyeglasses, and segmentation and removal of glasses using a variety of image processing, computer vision, and machine-learning techniques. Some of the main challenges related to accurate eyeglasses detection and segmentation are due to reflection on the lens and the frame, frame shadows, and under-exposed images due to low lighting or skin tones as shown in Fig. 1. Figure 1Open in figure viewerPowerPoint Example of ocular region with (A) Glass reflection, (B) Shadows, (C) Under-exposed images causing challenges in accurate eyeglasses detection and segmentation A number of studies have been conducted on soft biometric for user authentication [16]. Soft biometrics traits maybe physical, behavioural or other adhered human characteristics, classifiable in predefined human compliant categories. Unlike classical biometrics, these categories are established and time-proven by humans with the aim of differentiating individuals. These soft biometric traits can be generally divided into three categories, namely facial traits such as eyebrow shape, eye colour, hair colour, and skin colour, body traits such as height, weight, leg, and arm length, and accessories such as eyeglasses, clothing information, and head wear such as hat colour and shape, among others. These traits can be used by themselves for short-term or continuous user authentication, or in fusion with primary biometric traits for performance enhancement. One application of continuous or short-term user authentication is to verify if the originally authenticated user is still in control of the device, something that maybe better accomplished by more user friendly passive soft biometrics once the user enters the authenticated state by the more heavy handed primary hard biometrics. Eyebrows are among soft-biometric traits that naturally exist on the face and thus can be used for short-term user authentication during interactions that put the user's face in the field of view, such as using one's mobile device [4, 17, 18]. Studies suggest that eyebrows could be used to support primary biometric traits such as the face and iris in the presence of occlusion due to closed eyes, eyelashes, and partially covered faces. The presence of eyeglasses may impact the performance of eyebrow-based user authentication [1, 4]. Nonetheless, the glass frame, as something that one has, may be used as an auxiliary token of identity. In this study, we propose methods for eyeglasses detection and segmentation, as well as eyebrow matching using deep convolutional neural networks (CNNs). We introduce two different structures of the convolutional neural network (CNN) for eyeglasses detection and segmentation, respectively. As an application of our proposed eyeglasses segmentation method, short-term user authentication based on eyebrows and eyeglasses has been evaluated. Specifically, the performance of eyebrows based user authentication has been evaluated in the presence of eyeglasses. We use frame segmentation and removal using our proposed models to reduce the adverse effects of glass frame occlusion on eyebrow matching. Furthermore, we show the feasibility of eyeglasses based user authentication using our proposed model. To facilitate this study, facial images from visible ocular biometric (VISOB) [19] and facial recognition technology (FERET) datasets [20, 21] along with their synthetically-enhanced versions, generated by digitally stamping eyeglasses on facial images (using face landmarks as guides), were used for training, validation, and testing of our proposed eyeglasses segmentation models. In summary, the contributions of our work are as follows: Introducing two architectures for CNN-based eyeglasses detection and segmentation that are robust under varying illumination conditions and skin tones. Introducing and evaluating short-term user authentication based on eyebrows and eyeglasses as soft biometrics. Large-scale evaluation of the proposed models on publicly available VISOB and FERET databases. Experimental results suggest the efficacy of the proposed approaches. The rest of this paper is organised as follows. Section 2 discusses the existing work on eyeglasses detection and segmentation. Section 3 discusses our proposed approach to eyeglasses detection and segmentation. Eyebrow and eyeglasses based user authentications are discussed in Section 4. Experimental evaluations are detailed in Section 5. Conclusions are drawn in Section 6. 2 Previous work on eyeglasses detection and segmentation Table 1 summarises previous work on eyeglasses detection. As can be seen, most of the existing work used learning-based methods such as multi-layer perceptron (MLP) or support vector machines (SVMs). Some of the proposed approaches were evaluated on in-house datasets. The reported glasses detection accuracies vary between 80 and 100%. Table 1. Summary of previous work on eyeglasses detection Ref. Method Database Subjects Images Accuracy [5] LBP and SVM LFW database 5749 13,233 98.65% [6] AdaBoost, Haar, Gabor, and SVM FERET 989 1978 95.5–98% [7] convexity, symmetry, and smoothness with deformable contour in-house 419 1257 99.50% [8] Hough transform in-house 19 512 80% [9] likelihood probability of edge information ORL 40 400 Fisher value of 4.9–9.6 [10] cascaded filters, LBP, HOG, SVM, MLP, LDA, and QDA FERET + VISOB 989 + 550 1978 + 120,000 97.9–100% [22] squeezed models of CNNs FERET + VISOB 989 + 550 1978 + 120,000 94.6–99.9% LDA, linear discriminant analysis, QDA, quadratic discriminant analysis. Table 2 summarises previous work on eyeglasses segmentation. As can be seen, they used classical computer vision methods (such as Markov chains) along with data reduction schemes [such as principal component analysis (PCA)] for eyeglasses segmentation. The performance is usually given in terms of the resulting improvements on the ensuing face recognition system after eyeglasses segmentation and removal. The reported reduction in face recognition error rates ranges between 5 and 10%. In contrast to most of the existing studies, our approach is based on deep CNNs designed for eyeglasses detection and segmentation [23]. Table 2. Summary of previous work on eyeglasses segmentation Ref. Method Database Subjects Images Accuracy [11] Markov-chain Monte Carlo in-house + subset FERET 274 + 20 548 + 40 accuracy = 90% [12] recursive error compensation of PCA in-house 130 260 root-mean-square error = 7.5–5% [15] reconstructed algorithms equinox and DHUFO 33 1320 accuracy = 88% [14] phase congruency and progressive inpainting in-house + CAS-PEAL 30 + 40 60 + 80 improvement of 5% on facial recognition rate [24] two levels of fusion Equinox 90 3244 accuracy = 97% [13] active appearance model in-house 20 600 5% improvement on face recognition [25] recursive PCA reconstruction KFDB 33 264 10% improvement of face recognition [26] recursive error compensation KFDB 33 264 10% improvement of face recognition 3 Proposed methods for eyeglasses detection and segmentation In this study, we propose two schemes for eyeglasses detection and segmentation described as follows. 3.1 Two-stage CNN model for eyeglasses detection and segmentation This method consists of four main stages, namely region of interest (ROI) detection, two-stage CNN model for eyeglasses detection, weight generation, and glasses segmentation. This is followed by post-processing to clean up the resulting binary mask (Fig. 2). The ocular ROIs are cropped using Dlib library [27, 28] that detects 68 landmarks from an input face image. Dlib landmark algorithm involves two steps. First of all, it localises the face in the given image using cascaded Haar features. Then, it detects the facial structures (such as eyes, ears, and nose) using random forest regression tree. For each detected facial structure (x,y) coordinates are recorded. Next, we discuss our proposed CNN architecture. Figure 2Open in figure viewerPowerPoint Block diagram and detailed architecture of the cascaded CNNs for eyeglasses detection and segmentation Network architecture: In this two-stage model network, the first CNN (CNN-01) is used for eyeglasses detection. This CNN is designed to learn its weights from the smaller structure within larger images. Table 3 details the architecture of CNN-01. The input ocular image has a size of . It is fed to the first convolutional layer that is constructed with 26 filters with a stride to extract smaller-scale features from the input image. This convolutional layer is followed by a rectified linear unit (ReLU), stride max pooling and a drop-out layer. The output of the first drop-out layer of size is fed to the second convolutional layer that is implemented with 16 filters with a stride for second level feature extraction. This convolutional layer is also followed by ReLU, stride max pooling and a drop-out layer. The output of the second drop-out layer of size is then flattened to a vector of size 3360 and then fed to two fully connected layers containing 16 and 2 neurons with ReLU as activations. The final layer is a soft-max activation layer that is used to obtain the probability of eyeglasses existence. Table 3. Detailed architecture of the proposed CNN-01 network for weight generation and eyeglasses detection Layer Output shape #Parameters input — Conv2D 1976 ReLU — max pooling — dropout — Conv2D 10,416 ReLU — max pooling — dropout — flatten 3360 — fully connected 16 53,766 fully connected 2 34 soft-max 2 — total parameters — 66,202 The weights of CNN-01 were transferred to the second CNN network (CNN-02) that is designed to generate 16 heat maps from the last up-sampling layer. CNN-02 is used to generate eyeglasses mask. Fig. 2 shows the two-stage model of CNN architecture for eyeglasses detection (CNN-01) and segmentation (CNN-02). Table 4 summarises the architecture for CNN-02. The input ocular image of size is fed to the first convolutional layer with 26 filters with a stride to extract smaller structures from the input image. This convolutional layer is followed by a ReLU, a stride max pooling, and a drop-out layer. The output of the first drop-out layer is fed to a second convolutional layer which is implemented with 16 filter size with a stride for second level feature extraction. This convolutional layer is followed by ReLU, a stride max pooling, and a drop-out layer. The output of the second drop-out layer is fed to an up-sampling layer to generate 16 heap map images of size . Table 4. Detailed architecture of the proposed CNN-02 network for eyeglasses segmentation Layer Output shape #Parameters input — Conv2D 1976 ReLU — max pooling — dropout — Conv2D 10,416 ReLU — upsampling — upsampling — output — total parameters — 12,392 Network training and testing: The proposed CNN-01 model was trained on labelled ocular images with and without eyeglasses using a batch size of 128 with an Adam optimiser and an initial learning rate of 0.006. The weights were initialised with a Gaussian distribution with variance scaling to the size of the weight matrix. CNN-01 and its weights were transferred to the next CNN (CNN-02) model for frame prediction on ocular images with eyeglasses. Post-processing and mask generation: The average operation was applied to the output of CNN-02 to combine 16 heat map images into one. We tried different combinations and methods such as max, min, and weighted sum. Based on experimental evidence, we observed the average combination obtained the best result and this was used for further experimental analysis. This was followed by binarisation and morphological operations, such as open-area and connected components, to clean-up the obtained eyeglasses segmentation masks. Open-area operation removed all connected components that had fewer than 350 pixels (this number was determined empirically) from the binary image. This was followed by retaining only those connected components with eight neighbouring pixels connectivity. 3.2 Convolutional–deconvolutional CNN for eyeglasses segmentation Fig. 3 shows the overall operations involved in the convolutional–deconvolutional method for eyeglasses frame segmentation. This model contains four main stages, namely ROI extraction, CNN model application, mask clean-up, and frame segmentation. This was followed by frame removal using in-painting operation. The in-painting operation was applied by predicting the mask of the eyeglasses frame. We next in-painted the ROI of that mask using its neighbouring pixels. The ocular ROIs are cropped using Dlib library [27, 28] as explained in the previous section. Next, we mention the architecture of the convolutional–deconvolutional neural network. Figure 3Open in figure viewerPowerPoint Detailed architecture of the convolutional–deconvolutional neural network for eyeglasses segmentation Network architecture: Table 5 and Fig. 4 show the details of the proposed convolutional–deconvolutional neural network architecture. This network is structured as follows. The input ocular image is fed to the first convolutional layer comprised of 26 filters with a stride to encode smaller features from the input image. This convolutional layer is followed by ReLU, a stride max pooling, and drop-out layer. The output of the first drop-out layer of size is fed to the second convolutional layer that is implemented with 16 filters of size and a stride for the second level of feature extraction. This convolutional layer is followed by the ReLU layer. The output of ReLU is fed to the deconvolutional layer with a stride followed by the ReLU layer. rectified input is fed to an up-sampling layer with strides followed by a ReLU layer. The resulting is fed to the deconvolutional layer with strides followed by aReLU layer. The final layer is a customised layer performing four main operations: averaging the 16 heat maps, Gaussian low pass filtering, Otsu binarisation, and computing the loss metric using intersection over union (IoU) operation equation (1), between the predicted and the referenced target binary masks. Table 5. Detailed architecture of the proposed convolutional–deconvolutional network for eyeglasses segmentation Layer Output shape #Parameters input — Conv2D 1976 ReLU — max pooling — dropout — Conv2D 10,416 ReLU — DeConv2D 6416 ReLU — upsampling — ReLU — DeConv2D 6416 ReLU — lamda — output — total parameters — 25,224 Figure 4Open in figure viewerPowerPoint Block diagram of the proposed glasses segmentation using convolutional–deconvolutional neural network Network training and testing: The proposed model has been trained on labelled ocular images with and without eyeglasses using a batch size of 128 with the Adam optimiser and initial learning rate of 0.006. The weights of the CNN model were initialised according to the Gaussian distribution. The model has been designed to predict the binary mask for the test set consisting of real and synthetically stamped eyeglasses images. The training and validation sets contain more than 3.6 million labelled images altogether. 4 Eyebrows and eyeglasses as soft-biometrics In this section, we will discuss steps involved in using eyebrows and eyeglasses as (soft) biometrics for short-term user authentication, and how to use them synergistically. 4.1 Eyebrows-based user authentication Table 6 shows a summary of previous work on user authentication with eyebrows. Most of the existing approaches use off-the-shelf computer vision descriptors such as local binary pattern (LBP) evaluated on an in-house database. The reported accuracies vary between 70 and 98%. Table 6. Summary of the previous work on eyebrow-based user authentication Ref. Method used Dataset Subjects Images Accuracy [4] Walsh-hadamard transform (WHT), Discrete cosine transform (DCT), and discrete Fourier transform (DFT) with LBP FRGC 4003 16,012 False acceptance rate (FAR) = 8.2% [29] fast Fourier transform BJUT + coloured FERET 109 + 989 1118 + 1978 97–98% [30] hidden Markov model in-house small 27 54 92.60% [31] DFT in-house small 32 64 93.75% [3] Gradient orientation (GO), LBP, and Scale-invariant feature transform (SIFT) in-house small 30 899 80% [17] active shape model MBGC + AR 574 + 126 2341 + 4000 85–76% [32] biorthogonal wavelet in-house small 50 100 FAR = 29.58% [18] sparsity preserving project in-house small 32 320 92.50% [33] GIST and Circular local binary patterns (CLBP) UBIRIS 261 11,102 70.82% Fig. 5 shows an overview of our method for eyebrows-based user authentication. The eyebrow ROI was extracted from 'selfie' face images using a pre-trained facial landmark detector from the Dlib library [27, 28]. Features from the histogram of oriented gradient (HOG) [34], GIST [35] and deep representation based on pre-trained VGG-16 [36, 37] were extracted from eyebrow ROI and used for SVM training and classification. The size of the input layer of pre-trained VGG-16 was changed to the size of the input image of eyebrow ROI, which is (100 × 300). HOG is a local descriptor in which the feature is extracted from image patches or cells, while the GIST is a global descriptor in which the feature is extracted from the entire image. Furthermore, VGG-16 [36] feature vectors obtained from the last max-pooling layer of size and flattened to were used for deep feature extraction and reduced to the size of 1 × 1600 using PCA as shown in Fig. 6. Figure 5Open in figure viewerPowerPoint Block diagram of the proposed method for eyebrow biometrics Figure 6Open in figure viewerPowerPoint Detailed architecture of the pre-trained VGG-16 CNN network for deep eyebrow features 4.2 Eyeglasses-based user authentication There has been little mention of using eyeglasses to aid authentication. For instance, Samangouei et al. [23] suggested combining the attributes such as face shape, gender, ethnicity, and eyeglasses using LBP for continuous user authentication. The authors reported an authentication accuracy of 75–93%. However, the aforesaid used the existence of eyeglasses as an attribute. Here, we propose using the shape of the frame, as an auxiliary physical token of identity (something that one has and is unlikely to change it within a short period of time) as a short-term (soft) authenticator. Fig. 7 shows overall steps involved in the proposed approach, consisting of six main stages: ROI extraction, eyeglasses frame shape (mask) prediction, mask clean-up, frame segmentation, feature extraction, and glass authentication. The ocular ROI was cropped using facial landmarks from Dlib [27, 28]. The extracted ocular ROI was provided to our eyeglasses segmentation and frame prediction model (detailed in Section 3.2). The predicted frames ROIs, in the form of binary masks, were cleaned up using morphological operation. Figure 7Open in figure viewerPowerPoint Block diagram of the proposed eyeglass-based user authentication Cleaned frame masks were multiplied by the RGB image of the original ROI (extended ocular region) to obtain a segmented image of the eyeglasses frame (see Fig. 7). The local, global and deep feature descriptors namely, HOG, GIST, and VGG-16 descriptor, respectively, were extracted from the segmented eyeglasses. Then, the extracted features were used for SVM training and classification to authenticate the subjects based on their eyeglasses frames. Deep features were extracted using pre-trained VGG-16 CNN as shown in Fig. 8. The VGG-16 feature vector was obtained from the last max pooling layer flattened to . This vector was reduced to the size of using PCA. Figure 8Open in figure viewerPowerPoint Detailed architecture of the pre-trained VGG-16 CNN for eyeglass features extraction 5 Experimental validation 5.1 Database information VISOB database: This database consists of eye images of 550 healthy adult volunteers obtained using smart phones. Participants were asked to take a 'selfie' via a front facing camera in two sessions that were about 10–15 min apart. The distance between the camera and the volunteers' faces was 8–12 inches. Images were taken indoors and under lighting conditions: bright, normal and dim. For volunteers wearing eyeglasses, captures were repeated with and without eyeglasses [19]. In this study, a subset of the full-face version of the dataset collected with Oppo N1 and iPhone 5 s was used for experimental investigations. This dataset was used solely for the purpose of testing the CNN models trained on synthetically stamped eyeglasses images. Furthermore, we manually labelled the eyeglasses to obtain pixel-wise binary masks as ground truth. Synthetic eyeglasses dataset: The cropped ocular region from VISOB and FERET [20, 21] datasets was stamped with 200 different types of frames, 100 men's and 100 women's. Frame images were collected from online resources. The frame images were aligned for superposition using landmarks the eyebrow, eye, ear, and nose landmarks, extracted using Dlib. The synthetic glass-wearing images from the VISOB and FERET databases were combined together to generate 4,126,800 images. The augmented dataset was divided into 80% (3,301,280) training, 15% (619,040) validation, and 5% (4269) testing of synthetically stamped eyeglasses for the CNN model. The CNN model was also evaluated on 120,600 real eyeglasses. These real images with eyeglasses were used only for the testing purpose to evaluate the robustness of the segmentation CNN model. For this augmented, frame-stamped version of the dataset, we naturally did have the location and thus binary mask of the added eyeglass frames as they were superimposed on face images. 5.2 Experimental results To evaluate the efficacy of our eyeglasses detection, segmentation, and user authentication methods, we conducted a series of experimental validations. All the experiments were evaluated using data from three different lighting conditions: indoor (in), outdoor (out), and combination of the two (all). 5.2.1 Evaluation of CNN models for eyeglasses detection and segmentation The following details the experimental evaluation of the two-stage CNN model and convolutional–deconvolutional CNNs for eyeglasses detection and segmentation. (i) Two-stage CNNs model for eyeglasses detection and segmentation: The first two-stage model of CNNs, CNN-01 (the weight generator and eyeglasses detector, Section 3.1), was trained with 16,000 epochs, and validated and tested using the VISOB dataset. To train CNN-01, we randomly selected 23,826 samples for training, and 1191 samples for validation, both with and without glasses. The performance of CNN-01 was evaluated over 1192 unseen real test samples consisting of 587 samples with eyeglasses and 605 samples without eyeglasses. Synthetically stamped eyeglasses images were not used for detection. We obtained an overall 100% eyeglasses detection accuracy by comparing the predicted labels (no glasses/glasses) of the eyeglasses detector (CNN-01) with the ground truth. To evaluate CNN-02 (Section 3.1), an intersection over union (IoU), which is the in (1), was used as the metric for eyeglasses segmentation. The IoU metric (1) performs pixel-wise operations between the target mask and the mask generated by the CNN model (1) In (1), is the target frame mask and is the CNN binary mask after averaging 16 heat maps as output by CNN. is the ratio of averaging the output mask. The ratio () represents the intersection over union (IoU) for the output mask after applying the averaging operation on the heatmap images. This represents the overall segmentation accuracy and was found to be 91% on test samples from the VISOB and FERET datasets. Fig. 9 shows eyeglass segmentation mask samples obtained by the two-stage model of CNNs for images acquired under different lighting conditions. As mentioned before, factors such as eyeglasses with heavy reflections, thin frames, dark images, frame shadows, and frameless glasses affect eyeglass segmentation accuracy. It is worth mentioning that our proposed network obtained decent segmentation results for many of these challenging cases (see Figs. 10–12). Figure 9Open in figure viewerPowerPoint Examples of eyeglass segmentation masks obtained using our proposed two-stage model of CNNs for ocular images acquired under different lighting conditions (a) Ocular region with eyeglasses, (b) Ocular region without eyeglasses Figure 10Open in figure viewerPowerPoint Example of eyeglasses segmentation masks obtained using our proposed two-stage model of CNNs for challenging factors such as (a) Reflection, (b) Reflection alongwith thin frames Figure 11Open in figure viewerPowerPoint Example of eyeglasses segmentation masks obtained using our proposed two-stage model of CNNs for challenging factors such as (a) Dark image with reflection, (b)Frame shadow Figure 12Open in figure viewerPowerPoint Example of eyeglasses segmentation masks obtained using our propos