Review on Real Time Background Extraction: Models, Applications, Environments, Challenges and Evaluation Approaches

—In the computer vision, background extraction is a promising technique. It is characterized by being applied in many different real time applications in diverse environments and with variety of challenges. Background extraction is the most popular technique employed in the domain of detecting moving foreground objects taken by stationary surveillance cameras. Achieving high performance is required with many perspectives and demands. Choosing the suitable background extraction model plays the major role in affecting the performance matrices of time, memory, and accuracy. In this article we present an extensive review on background extraction in which we attempt to cover all the related topics. We list the four process stages of background extraction and we consider several well-known models starting with the conventional models and ending up with the state-of-the art models. This review also focuses on the model environments whether it is human activities, Nature or sport environments and illuminates on some of the real time applications where background extraction method is adopted. Many challenges are addressed in respect to environment, camera, foreground objects, background, and computation time. In addition, this article provides handy tables containing different common datasets and libraries used in the field of background extraction experiments. Eventually, we illustrate the performance evaluation with a table of the set performance metrics to measure the robustness of the background extraction model against other models in terms of time, accurate performance and required memory.


Introduction
In the last two decades and with the rapid development of sensors and the increasing safety concerns, detecting moving objects has been one of the most essential topics in iJOE -Vol. 17, No. 02, 2021 the computer vision field [1]. Real time applications with different environment and many challenges are available with diverse interest where the foreground data can be used in tracking, synopsis and anomaly detection [2][3] [4].
Foreground detection has been applied to vast scope of smart video surveillance systems of human activities like road and airport traffic surveillance, human detection and tracking, analysis of sports video surveillance, and recognition of gesture in the interface of human-machine etc. [5] [6]. Background extraction is the most popular technique employed in this domain to extract the foreground moving objects taken by stationary surveillance camera [7].
In this article, we shed light on the publications of different background extraction techniques. In section 2.1, we discuss the four stages of background extraction process. In section 2.2, we review the background extraction models and describing how the model works and how it reacts according to different environments and challenges. In section 3 and 4, we focus on reviewing the implementation of background extraction in video surveillance applications and the environments of background extraction-based video surveillance. While section 5, is about the challenges of background extraction models applied on video surveillance.
Furthermore, in section 6&7 we list tables of datasets and libraries used in the field of background extraction model and finally, section 8 is illustrating the performance evaluation and the set performance metrics to assess the background extraction models in terms of time, accuracy and memory.

Background Extraction
Background extraction remains an active interesting area in the domain of computer vision. Many models have been developed for extracting the background to detect the foreground. Background extraction models are going through ordered stages to obtain the foreground masks.

Background extraction stages
In surveillance systems, where background extraction model is applied, the background extraction model is usually comprising of sequenced stages as the following: 1. Background initialization: We generate or construct the first background scene among numbers of video frames. 2. Background modeling : We describe a representation model for the background scene. 3. Background maintenance: We update the background model according to changes that occur within time. The update is done according to the prior scene, the recent scene and foreground mask. 4. Foreground detection: It is the final stage, where we classify the pixel into background or foreground object, and this is done by comparing the background scene with the recent scene.
In each stage, different algorithms are employed; some algorithms are offline where all data is required at once like in background initialization stage. On the other hand, the online algorithms require to take data one after another incrementally like in background maintenance stage.
Some pre-processing operations might be taken, including framing the video or changing the color space. Post-processing also could be done by applying various algorithms to overcome a specific challenge in background extraction process [8]. Fig-ure1 Illustrates the overview of background extraction stages.

Models
Background extraction models have been classified in many works; the following is the classification of these extraction models:

Basic models
The basic models are the conventional methods in which used earlier for the background extraction. In basic models, each pixel of the current frame is classified either as a background or foreground according to a threshold differences with the background model frame. These are quite simple and fast techniques, but they come with low performance, especially with complex and challenging background images [9]. These models are dependable on threshold and are not supporting the multiple model background distributions [10]. An example of basic models is mean model [11], median model [12][13] [14][15] [16], and analysis of histogram model [17][18].

Mathematical models
The mathematical models comprise a verity of models like statistical (probabilistic) models, dempster-Schafer model [19] and fuzzy models [20]. Statistical models, are either parametrical or non-parametrical .In paramedical model, the main method used is the Gaussian Mixture Model (GMM) [21], it is one of the most robust algorithms in respect to different background variation such as lighting changes and multi-modal changes [22]. In GMM, there are three important parameters to be considered: the component's number, detection threshold and learning rate [6]. Each pixel in GMM is represented in multiple Gaussian components [5]. However, the GMM suffers from slow recovery and poor performance with unexpected lighting changes and background abnormal motions [23]. Moreover, due to the parametrical nature of GMM model, the efficiency can be diminished either by selecting inaccurate parameters or by the time consumed in setting the parameters in which makes GMM unpreferable with real time applications [24]. The parameters are: group of components, learning rate and threshold of classification.
For years, researchers work on enhancing the GMM to prevail the challenges, like in Boosted Gaussian Mixture Model where this method boosts the performance of GMM using both color space classification and dynamic learning to update the background model [25]. Improved Gaussian background modeling (GBM) is another enhanced model in which wavelet denoising is applied on foreground object, this model achieved a better performance in respect to shadow and lighting changes challenges [26]. On the other hand a Self-Adaptive Gaussian Mixture Mode improved the speed performance of GMM four times by using a block of pixels instead of considering one pixel value [27].
Visual Background extractor (ViBe) is also introduced as a background extraction algorithm, which uses a novel techniques that considering the effect of a value in a multicolor space to be restricted to a local neighborhood [28][29] [30]. In ViBe classification is done by comparing a value to its closest values in the set of samples instead of using the probability density function (pdf) to update the background model for obtaining the better results [31]. Substance Sensitivity Segmenter (SuBSENSE) algorithm is influenced by ViBe algorithm, it fuses color-LBSP with local adaptive sensitivity to perform much robust performance [32] in CDnet 2014 dataset [33].
Another method used as statistical model is the non-parametric model for kernel density estimation (KDE) [34] [35]. In this model the pixels density is being estimated by kernel function which denoted by histogram of pixels with most recent values [10]. This non-parametric method is directly estimating the intensity of pixels using the density function in contract with a parametric method. This leads to a clearer representation of pixels intensity [36]. KDE performs better in static background environment for long period of time and a moderate speed motions for the objects. While, KDE fails to solve the challenges of multi background model, multiple moving objects, and slow movement of the objects [21]. It is not suitable also with real time applications, due to high computation time consumed for estimating the density of pixels from many needed samples over time [36]. Moreover, Pixel-Based Adaptive Segmenter (PBAS) is another non-parametric method in which performs well with shadow and thermal scenes [37] [38].
Many methods are classified under mathematical models like mean shift which, performs well with multiple background models [10] [39], dempster -Schafer [19] and fuzzy models [20] [40] where both could deal with ambiguity, incompetence and inaccuracy of data caused by many challenges [41].

Single processing models (Filters models)
Filter model is a predicting model which estimates the background by expecting the information of a pixel or a block of pixels from the previous pixel, this information could be the orientation or the value of the pixel [6]. Many examples of filters have been applied in this approach such as Kalman filter [42] [43], Tchebychev filter [44], Wiener filter [45], particle filters [46], Correntropy filter [47], and optical flow [48]. This model is not applied in real time applications because of its complexity, inaccuracy detection and highly prone to noise, even though it could be a good choice for images with progressive lighting changes [6].

Clustering algorithms models
Clustering model uses the color or intensity of the pixel in detecting the foreground object. In the background frame each pixel is characterized by its correspondent cluster of pixels. Pixels for the current frame are compared to clusters, to decide whether it is a background pixel or not.
Codebook model is used as a compression method to represent the value of background pixel in a long period of frequent image sequence and this method uses the intensity of color as information to detect the foreground objects [51][52] [7]. Codebook model performs better with noise and dynamic backgrounds, but fails with unexpected lighting changes, shadow movements, similarity of foreground color to background and slow objects movements [36] [52]. Mandy improvements have been done to codebook model in [53] [54][55] [56].

Machine learning models
Machine learning models include many models like, subspace learning which is either reconstructive unsupervised techniques that provide a good data estimation [57] [58][59] [60] or discriminative supervised techniques that provide a good data separation classification [61] [62] or mixed [63].
Another examples of machine learning concept are: robust subspace tracking [64], support vector machines (SVM) [ [87] which have been widely adopted since 2014 [88], mainly because of the great increase of processing power in new hardware as well as the availability of many training datasets [89].
Whilst machine learning provides the concepts that enable us to acquire the pixel representation of the background in both supervised and unsupervised behaviors; the extraordinary breakthrough began with the supervised training of an 8-layer neural network using a dataset containing millions of images [90][91] [92] for the task of foreground/background separation, the application of DNNs was successful in enhancing foreground detection, background subtraction, generating the ground-truth, as well as for learning deep spatial features.
Recently, in the area of computer vision, particularly in object detection and segmentation, the use of deep convolutional neural networks (CNNs) has produced remarkable results [5] [93]. The use of CNNs in foreground detection was initially suggested by Braham and Droogenbroeck [77]. Background images produced by median filtering along with patches of frames, were adopted as input for the CNN. The CNN, which has multiple convolutional layers and fully connected layers, provides a map that represents the likelihood of every pixel being a foreground pixel. CNNs easily achieve the distinction between the foreground and the background. However, given the small scale of the dataset, as only dozens of videos are available in CDnet 2014 [33], it can be challenging to learn the high-level information.
In recent years, significant advancements were made in the field of computer vision due to the utilization of deep learning. Even though deep convolutional neural networks (CNNs) were originally devised for the task of image classification, they were utilized in computer vision for their robust performance in the extraction of high-level characteristics. For many years, the use of CNNs in computer vision was restricted due to the limited computing power, and the small size of accessible datasets [90] [91]. The machine learning methods achieve good results to overcome the challenge of lighting changes. However, these methods do not work properly in scenes with abnormal dynamic background movements and non-static shadows as well as an extended processing period [94].
Many scholars have been studied the background extraction since the early convolutional models up till the state-of-the-art models like deep learning and CNN models. Regardless of various background extraction models, there is no unique model that solves all the challenges in respect to real time applications. Fusion of different models and strategies have been experienced in numerous papers to achieve a better performance [7]. Table 1 summarizes the background extraction models, the model environments, the model strength, and the model weakness. Mean shift [10] [39] Dempster -Schafer [19] Fuzzy models [20]

Implementation of Background Extraction in Applications
Background extraction models have been applied in many surveillance application systems. The following are background extraction-based surveillance applications utilized in various realms:

Surveillance system of human activities
In the last decades, surveillance systems of human activities have gained a remarkable interest due to security concerns [95]. Many Surveillance application systems are exploited in terms of human activities [96]. The most common environment is transportations environment which comprises, traffic sense for roads, highways, and airports. The other environments include supermarkets and warehouses, Automated Teller Machine (ATM), and military environment [41] [96]. The main target for such surveillance applications is to detect and track the interested objects [8] [97]. In traffic scenes, it is more common to detect the stopped vehicles or estimate the traffic density, whether it is empty or jam [14][98] [99] and sometimes its required to count the vehicles number [100].
Background extraction applications can also detect the congestion and can be applied to parking detection for free places [ [115] are other environments where human activities-based background extraction are used.

Surveillance system of Nature
In Nature surveillance system, the target is to detect or track an animal, insect or even an unwanted object in the nature environment like forests, rivers, and lakes [116] [117]. The object detection and tracking are required in many studies that are conducted for analyzing the behavior of these animals and insects. Different behaviors could be observed to evaluate the influence of animals to their places of plants or water [118] [125]. It is also critical for estimating the interaction among insects inside the same group, like in honeybee swarms [126] and mice [127] [128]. Surveillance of endangered animals is one of the applications that is widely employed to monitor, track, and record their movements [129] [130]. Automated nature surveillance system is playing an essential role for data collection used in the field of biodiversity. There is therefore a need for a convenient background extractions system to detect the foreground target which eventually enrich studies and help to protect Nature.

Human Machine Interaction (HMI) applications
Many applications are classified under HMI applications using background extraction, some are related with games where player can use a color webcam with PlayStation to detect motion, color, and gestures, which deals with virtual image or silhouette [41]. Kinect by Microsoft also uses different background extraction techniques like GMM, KDE, codebook and others [131]. HMI is also applicable in art where graphic designers can use mocap sensors to track and record actor and object motions, then use the information to animate a digital model for the actor/object in 2D or 3D animations [132].
In virtual environment, many gesture recognition applications are applied, like sign language translation, human-machine interface, behavior analysis, robotics, teleseminars, object manipulation and games [133]. The aforementioned applications require detecting and tracking the gesture of the hand as an example of human machine interaction applications using the background extraction techniques to detect the aimed objects [41] [132].

Video coding and matting
In teleseminars using digital movies and video phones, we only send the moving foreground with the key frame as content based [134]. The content usually consists of semantic information like shape and texture where they called video object plane in MPEG-4. Background extraction is used in content-based video coding for a faster transmission in wireless networks [41]. For video matting the target is different, the background is subtracted from the input scene and substituted with another background. Thus, background extraction used as a first step in this process [135].
There are numbers of applications using the background extraction technique to detect the foreground objects like in carried baggage detection [136], fire detection [137], organic light-emitting diode (OLED) defect detection [138] and obtaining approximated geometric model for the object [139]. All background extraction-based applications involve moving foreground detection and have their features that are related to challenges of camera location, foreground object type, and the environment.

Background Extraction Based Environments
Background extraction is applied in a variety of environments where video surveillance system is employed. In each environment, there are many characteristics and aspects to be considered, different background scenes and different moving objects to be detected and eventually different challenges to be solved related to each individual environment. Video surveillance with stationary camera can be involved in the following environments:

Human activities surveillance
Background extraction and foreground detection has been employed in human activities surveillance since the last two decades. Detecting the moving objects is our major focus in this review, as for surveillance of human activities, the target is to automatically detect the foreground objects and to compute the required statistics. Various appealing foreground objects can be detected like, individuals [140], vehicles [141], baggage [136], planes [16], canoes [142] and products in warehouses [143]. Obviously, there are many examples of human activities environments and they are as follows:

Transportation scenes
Traffic surveillance [144] is one of the most exposed transportation scenes, where background extraction is used to detect or track the foreground moving objects. Traffic surveillance includes highways and roads environments, the foreground detection can be employed to count stopped vehicles [ [148]. Traffic surveillance is affected by different factors, for example the camera location factor where most of the time it is a stationary camera. Sometimes traffic senses are aerial videos taken by a drone [149] [150] or even high-resolution videos taken by a satellite [151][152] [153]. Also, the quality of the camera is highly considered in terms of the video characteristics in traffic scenes. Most of the time, low-quality CCTV camera comes with low number of frames which eventually affects the whole process of detection. Another factor is the environment itself and its challenges, like (shadows, lighting changes, dynamic background, etc.) these challenges can vary from one environment to another. Foreground object of interest are different in their structure, actions, and colors. Automobiles, motorbikes, trucks, walkers, bicyclist are examples of these objects.
Airport surveillance is an additional transportation scene where security is the main aspect of this environment. It is important to track and monitor the planes parking, fueling cars, luggage vehicles and workers. Different challenges arise due to environments like bad weather, lighting changes and non-uniform lighting. The color and shape of the foreground object is another challenge in airport surveillance scene. Marine surveillance is part of the transportation surveillance scenes. This surveillance is meant to track and monitor boats that normally observed in rivers, seas, and canals. Many papers have been done to address this environment using different approaches to detect the foreground objects based on background extraction techniques. Examples of these approaches are: Bayesian combined to segmentation method, independent background extraction to overcome the dynamic background challenge in water [154][155] [156], GMM [157], median [158] and many others. The most challenging factor in the marine environments is the dynamic background due to water movements [41].

Warehouse scenes
Warehouse surveillance is being one of the common demands in the marketing field, more specifically to study the customer behavior [159][160] [112][113] [114]. During shopping, customers may stay for a long time in a specific place checking a specific product. Sometimes it's needed to check on the numbers products left on the shelves [143], such information could be provided by the Radio Frequency Identification (RFID) tag [160] which normally attached to the product itself, but it is not always the best choice in terms of cost and time needed to attach the tag to each product. Thus, applying the background extraction techniques on videos taken by stationary camera can be an alternative solution used for that purpose [143].

Military scenes
Military surveillance is crucial for security reasons, it is supporting the protection of country borders, bases, security checkpoints, and many others military sites. Military surveillance is into using sensors to detect the target in the battlefield. These sensors are either infrared camera [161] or a radar [162] to detect and monitor a vehicle, person, or both as a target. Many challenges arise here due to environment like (desert, forest, maritime, etc.) or even due to bad weather like (snowing, raining, etc.) and lighting changes like night scenes. In military surveillance, different background extraction models have been used to handle the foreground detection such as, median, temporal median and type2 fuzzy GMM [161] [162].

Nature surveillance
Nature is another surveillance environment where it covers the animals and insects' surveillance and other natural environmental scenes. Following is a brief description of the two types:

Animals and insects' scenes
Plenty of researches have been done to study the behavior of animals and insects in a variety of environments. Background extraction technique is widely employed to monitor and track the detected foreground objects for analytical purposes. The analysis may consider the interaction of insects between each other in the same community like in honeybees [126] and the interaction with environments, like in birds with weather and climate changes [118][119] [120][121] [122]. Another purpose could be to study the behavior of animals that endangered, like in many species of wolf, fox, and castor [129][130].

Natural environments scenes
Nature surveillance sometime involve detecting the foreign objects in a specific nature like in seas, rivers, forests, and oceans. The main purpose can be to protect that environment and its biodiversity. The foreground target could be any floating object like wood or bottles [116] [117][163] [164].

Sport events surveillance
Sport is another domain where the background extraction is applied. Decisions must be taken in many games like using the Hawk Eye system in tennis, surfing actions [165] and the recently used Video Assistant Referee (VAR) system in football. Background extraction is also applied in surveillance systems to follow up the athletes and bodybuilders routines [166] [167].

Background Extraction Based Challenges
Background extraction has experienced many challenges due to implementations in various environments and due to different foreground targets. Background extraction challenges has been addressed in many papers, and can be classified into the following main challenges categories:

Environment challenges
Each environment has its characteristics and challenges, like in traffic and nature surveillance, the scenes are daily exposed to different weather and lighting changes during the day. Various challenges arise like shadow, illumination, and baseline. Whether in outdoor scenes like highway roads and pedestrian scenes or indoor scenes like office scenes [168]. Another most common challenge is the bad weather, it includes blizzard, skating issues, snowfall, and wet snow [33]. In marine surveillance environment, scenes face an additional challenge, they normally suffer from dynamic background caused by the movement of water like in fountains, lakes, and rivers [33] [169]. All aforementioned challenges and many others are more associated with each individual environment making the detection of foreground objects harder.

Foreground target challenges
The foreground target could be a challenge itself in many cases. One of the most common challenges is when the color of the target is similar or close enough to the color of the background which leads to false detections. Infrequent stops of the foreground target (which is called sleeping foreground) is also another challenge [168]. The target becomes immobile as a part of the background for a certain period of time, like when vehicles stop in the road intersections or in heavy roads and traffic jams [170].

Background challenges
The background scene encounters some challenges like intensity variation which leads to inaccurate histogram estimation [41]. Dynamic background is another common challenge to extract the foreground objects like in fountains, lakes and falls scenes.

Camera challenges
Many challenges are a result of the surveillance cameras issues. The position of the camera could be one of the issues where an environmental cause like wind can move the camera [171] [172]. Another case would be the shadow, bad contrast, and long distance of the object [ [177]. The video quality is also affected directly by the camera low quality, low frame rate [178] and camera jitter [168].

Computation time challenges
In the real time applications, reducing the computation time is one of the main metrics to be considered. Therefore, it is important to choose the suitable background extraction model for each individual environment. For example, with traffic surveillance it is common to apply uni-models like basic methods of histogram and median due to their speed.

Datasets
The selection of a convenient dataset plays a crucial role in the evaluation of the various background extraction models. There are two types of datasets, the public and private. Private dataset is more specific to a single research where it is collected by the author him/herself. While public datasets are regularly available on the internet to be downloaded and used in research experiments. In this section, we list some of the most common public datasets with environments of visual surveillance of human activities and visual surveillance of animals and insects. In table 2 and table 3, we list the datasets with provided years, scenarios and scenes included, and reference links.

Libraries
Many libraries are employed in the field of background extraction and exploited for evaluations; we list the most well-known libraries in the following table 4.

Libraries
Target Reference Link OpenCV [190] in 2018 [191] in 2018 It is cross-platform C and C++ Library, it has more than 2500 conventional and state-of-the-art computer vision and machine learning algorithms. https://opencv.org/ Background Subtraction (BGS) [192] in 2013 [193] in 2014 It is an extended OpenCV library with C++ framework, it has more background extraction algorithms.

in 2016
It is designed for video movement segmentation. It has various algorithms of sparse and low rank decomposition written in MATLAB. LRS is also employed in computer vision with many tensor and matrix based algorithms. https://github.com/andrewssobral/lrslibrary Independent Multimodal Background Subtraction (IMBS) [155] in 2012 [154] [195] in 2014 It is C++ library builds a multimodal method to overcome the lighting changes, dynamic background, and camera jitter, IMBS uses OpenCv functions.
https://github.com/imbs-hl/ranger Background Subtractor CNT [196] in 2019 It is a library written in C++ and based On OpenCV, it applies the most rapid and high qualified algorithms. It is best suited for low hardware Specification. https://github.com/sagi-z/BackgroundSub-tractorCNT

Performance Evaluation and its Metrics
Performance evaluation is classified into qualitative and quantitative evaluations. In qualitative, the visual results from interested dataset are compared by different background extraction algorithms, for example we evaluate the results of algorithms in respect to some challenges like (shadow, camera jitter and dynamic background, etc.) and then decide the best performance visually. The qualitative evaluation gives a better perspective about the evaluation and shed the light on the subjective elements.
On the other hand, the quantitative evaluation is done by using statistical measures, we compare the results of the performance metrics from background extraction algorithms over a wide range of dataset, for example, we compare the algorithms Fmeasures results in respect to some challenges of the dataset [7].
In qualitative evaluation, many performance metrics are applied to assess the robustness of the background extraction algorithms to different challenges. True Positive (TP), True Negative (TN), False Positive (FP), False Negative (FN), Positive samples (P), Negative samples (N), Accuracy (recognition rate), F-measures(F1), sensitivity (recall), precision, Fβ, specificity, and error rate (misclassification rate) are used as evaluation measures.
The F-measure, sensitivity (recall) and precision depend on the accuracy (recognition rate) to detect the foreground and background pixels. This is done by calculating the True Positive (TP) number which is the number of foreground pixels that is categorized as a foreground. While False Positive (FP) is for background pixels which are categorized as a foreground. True Negative (TN) is for background pixels that are categorized as a background. Yet, False Negative (FN) is for foreground pixels that are categorized as a background.
Recall is also used to calculate the truly categorized foreground pixels with respect to the number of all pixels categorized as a foreground. Precision on the other hand is measuring the truly categorized foreground pixels as a foreground to the total number of foreground pixels in the ground truth. Normally we measure the relevance by recall and precision.
A low recall is an indication of over segmentation of the foreground objects, where a low precision is an indication of under segmentation of the foreground objects. High F-measures is an indication of a robust background extraction algorithm [7] [197]. The set performance metrics are expressed in table 5.

Conclusion
In this article, we reviewed the background extraction models used to detect the moving foreground target in a video taken by a surveillance stationary camera. The review started with a brief introduction to the process stages of background extraction models (background initialization, background modeling, background maintenance, and foreground detection).
We also reviewed the real-time applications in which background extraction models are applied, and we came across various environments with different challenges. The importance of choosing the suitable background extraction model for a unique environment or a challenge is highlighted, as in real-time applications, it is required to detect the foreground mask accurately and quickly.
Moreover, in real-time applications, we concluded that the conventional and some statistical models for the background extraction models like (mean, median, GMM, and histogram) are still dominant in the foreground detection field, and this is due to the fact that these approaches are requiring less time, less memory and less computation consumption. Conventional models are also well-known and well-experimented approaches that make them easier to adapt compared to state-of-the-art models. On the other hand, state-of-the-art models like deep learning and CNN models achieve good results in terms of accuracy and solving challenges. Therefore, there is no single background extraction model that can handle all the challenges in different environments, so there are numerous works that fused more than one approach to overcome the challenges and develop the performance.
Furthermore, we presented helpful tables of datasets and libraries used in implementing background extraction models. Eventually, we elaborated on the performance evaluation (qualitative and quantitative), so as the set performance metrics used to evaluate the background extraction models.
Dr. Yossra Hussain Ali is an Assistant Professor. She received her B.Sc , M.Sc and PhD degrees in 1996, 2002 and 2006 respectively from Iraq, University of technology, department of Computer Sciences. She Joined the University of Technology, Iraq in 1997. During her postgraduate studies, she worked on Computer Network, Information systems, Agent Programming and Image Processing as well as some experience in Artificial Intelligent and Computer Data Security. She is a reviewer at many conferences and journals and she supervised a number of undergraduates and postgraduates (PhD. and MSc.) dissertations in Computer sciences. Yossra has many professional certificates and she has published in well regarded journals . (e-mail: 110017@uotechnology.edu.iq) Article submitted 2020-08-24. Resubmitted 2020-11-09. Final acceptance 2020-11-11. Final version published as submitted by the authors.