Department of Computer Science
Permanent URI for this collectionhttp://197.255.125.131:4000/handle/123456789/4858
Browse
16 results
Search Results
Item A Dynamic Software Startup Competency Model(2019) Assyne, N.; Wiafe, I.Current literature suggests that the engineering activities of software engineering and software startup engineering differ. Thus, there is a need to elicit competencies specific to software startup engineering. This paper proposes a model that provides the various types of competencies and their respective relevance at the various stages of software startup evolution.Item An Improved Hair Removal Method For Dermoscopic Images Towards Improving Skin Lesion Detection And Diagnosis(University Of Ghana, 2022-07) Kakrabah, M.N.Clinicians are continually improving their diagnostic abilities in the ever-changing medical field. A proper diagnosis is imperative for further health care delivery decisions. Skin cancers appear as lesions on any part of the skin, although most appearances are on body parts exposed to sunlight. Lesions may be either malignant or benign. The cells in malignant skin lesions can proliferate and spread to other tissues in other body parts. Malignant skin lesions are among the most lethal types of skin cancers, responsible for increased mortality rates. The diagnosis of skin diseases at the preliminary stages has been demonstrated to improve patients’ chances of abidance significantly, while the mortality rate for cases with late detection is on the rise. Computer-Aided Diagnostic systems play a very relevant role in thwarting the prevalence of skin cancer-related deaths by assisting in detecting skin lesions and assisting in diagnosis. Image analysis is enhanced by segmented images, highlighting previously undiscovered features of the original image. When detecting skin diseases from dermoscopic images, segmentation is used to separate the region of interest from the background. Lesions hidden behind elements such as hair, blue-white regions, globules, and an unusual pigment network can only be retrieved with accurate lesion border detection. Consequently, the most important phase is lesion segmentation in the early detection of melanoma. Detection of lesion borders in dermoscopy pictures is difficult because of the presence of noise such as skin lines, air bubbles, hairs and reflections. These are capable of causing significant segmentation mistakes when they are not adequately addressed. The existence of hairs is considered one of the most significant stumbling blocks for most algorithms when it comes to proper segmentation. The similarity of the hair color to the surrounding skin region is one of the main reasons for the difficulty. Improperly addressed hairs often tend to be classified as lesions, resulting in inaccurate segmentation and disease classification. In this thesis, selected hair removal and segmentation algorithms are evaluated and the effects of the hair removal method on the output of segmentation are also evaluated. In analyzing and evaluating a leading method for eliminating hairs in dermoscopic images, the dissertation presents an experimental implementation of a sequence of steps curated based on existing studies to improve segmentation results and justify the impact of these hair removal techniques on the output of image segmentation algorithms. This work uses Blackhat morphological filtering and Otsu’s method for thresholding and image inpainting to achieve segmentation with notable improvements recorded.Item Multiple Bug Detection And Effort Estimation Framework For Open-Source Projects(University Of Ghana, 2021-09) Hara, A.Bug reports are essential in the development and maintenance of software. Bug tracking systems allow testers to submit bug reports which allow for report analysis and assignment of reports to fixers to address them. A given bug x is described as multiple bug when it is reported by more than two bug reporters. It is described as a duplicate bug when it was reported by two reporters. In a given pool of bug reports from a tracking system, estimating the effort required to identify multiple bug is a challenge, and hence the need to conduct this study. Thus, a plausible solution based on an effort estimation framework to detect multiple bugs will reduce the effort software testers spend in analyzing bug reports and also improve software reliability and productivity. Although several studies are attempting to solve the problem, there is the need to introduce an effort estimation framework to detect multiple bugs in software projects, specifically open-source projects. However, the following constraints exist when detecting multiple bugs in open-source projects: - (1) a large number of existing bug reports, and (2) much effort is required when detecting and analyzing multiple bug reports. This study seeks to develop a framework to detect multiple bugs and estimate the effort required in identifying such bugs in open-source projects. This study implements the bugdetector tool, which uses bug information and code features to find similar bugs. It will first extract features from bug information in a bug tracking system, next it locates bug methods in source code and extracts bug method code features. It calculates similarities between each overridden and overload method, and finally, it determines which method may cause potentially related or similar bugs. Empirical analysis was conducted on bug reports from two open-source projects, namely Mozilla Firefox and Eclipse. Thus, empirical analysis was conducted on the extracted bug reports by the bugdetector tool. The analysis was conducted using Deep learning algorithms (LSTM, Bidirectional LSTM and CNN) and conventional machine learning algorithms (SVM and Random Forest). Accuracy, Precision, Recall, and F1-score metrics were used to evaluate the models' performance. Estimating the required effort for identifying multiple bugs was done using a proposed effort estimation metric. Empirical result shows that the deep learning method, namely the Bidirectional LSTM algorithm yielded improved performance for multiple bug detection across the two-studied datasets. Thus, for Mozilla Firefox, the Bidirectional LSTM yielded the best performance accuracy (71.09%), precision (68.30%), and recall (45.7%). For Eclipse, Bidirectional LSTM dominated the best performance about accuracy (82.6%) and F1-score (50.9%). The effort required for detecting multiple bugs on average ranges from 1255.7 to 1383.2 days for the studied Eclipse bug repository, and 1049.8 to 1139.2 days for the studied Mozilla Firefox bug repository. The study concluded that the deep learning method has a better tendency in detecting multiple bugs in open-source projects as compared to the conventional machine learning approach. An effort estimation metric is introduced to compute the effort required to detect multiple bugs in open-source projects. This will assist software testers/fixers to differentiate between severity levels of the detected bugs based on the respective efforts computed. Keywords: Duplicate bugs, Effort estimation, Bug detection, Deep learning, Open-source projects.Item Multiple Bug Detection And Effort Estimation Framework For Open-Source Projects(University Of Ghana, 2021-09) Hara, A.Bug reports are essential in the development and maintenance of software. Bug tracking systems allow testers to submit bug reports which allow for report analysis and assignment of reports to fixers to address them. A given bug x is described as multiple bug when it is reported by more than two bug reporters. It is described as a duplicate bug when it was reported by two reporters. In a given pool of bug reports from a tracking system, estimating the effort required to identify multiple bug is a challenge, and hence the need to conduct this study. Thus, a plausible solution based on an effort estimation framework to detect multiple bugs will reduce the effort software testers spend in analyzing bug reports and also improve software reliability and productivity. Although several studies are attempting to solve the problem, there is the need to introduce an effort estimation framework to detect multiple bugs in software projects, specifically open-source projects. However, the following constraints exist when detecting multiple bugs in open-source projects: - (1) a large number of existing bug reports, and (2) much effort is required when detecting and analyzing multiple bug reports. This study seeks to develop a framework to detect multiple bugs and estimate the effort required in identifying such bugs in open-source projects. This study implements the bugdetector tool, which uses bug information and code features to find similar bugs. It will first extract features from bug information in a bug tracking system, next it locates bug methods in source code and extracts bug method code features. It calculates similarities between each overridden and overload method, and finally, it determines which method may cause potentially related or similar bugs. Empirical analysis was conducted on bug reports from two open-source projects, namely Mozilla Firefox and Eclipse. Thus, empirical analysis was conducted on the extracted bug reports by the bugdetector tool. The analysis was conducted using Deep learning algorithms (LSTM, Bidirectional LSTM and CNN) and conventional machine learning algorithms (SVM and Random Forest). Accuracy, Precision, Recall, and F1-score metrics were used to evaluate the models' performance. Estimating the required effort for identifying multiple bugs was done using a proposed effort estimation metric. Empirical result shows that the deep learning method, namely the Bidirectional LSTM algorithm yielded improved performance for multiple bug detection across the two-studied datasets. Thus, for Mozilla Firefox, the Bidirectional LSTM yielded the best performance accuracy (71.09%), precision (68.30%), and recall (45.7%). For Eclipse, Bidirectional LSTM dominated the best performance about accuracy (82.6%) and F1-score (50.9%). The effort required for detecting multiple bugs on average ranges from 1255.7 to 1383.2 days for the studied Eclipse bug repository, and 1049.8 to 1139.2 days for the studied Mozilla Firefox bug repository. The study concluded that the deep learning method has a better tendency in detecting multiple bugs in open-source projects as compared to the conventional machine learning approach. An effort estimation metric is introduced to compute the effort required to detect multiple bugs in open-source projects. This will assist software testers/fixers to differentiate between severity levels of the detected bugs based on the respective efforts computed. Keywords: Duplicate bugs, Effort estimation, Bug detection, Deep learning, Open-source projects.Item Detecting Anger In Persuasive Spaces: An Evaluation Of Facial Expression Algorithms(University of Ghana, 2020-07) Kumi, J.S.Darwin’s influential work on the recognition of the emotions in man and animals served as the starting point for emotion research. Based on his work, the basic emotion was theorized, from which several other emotions have been conceptualised. These emotions are recognised by both verbal and non-verbal form of communication. Facial expression is the significant and leading measure for recognition of emotions as 55% of what we communicate is expressed on our facial expressions. Therefore, facial expression has been applied in diverse fields to detect emotions such as lie detection and in the medical field for pain analysis; resulting in a plethora of algorithms or techniques. Among the negative emotions, anger is said to be the most frequently experienced emotion yet the most unsatisfactorily handled emotion in both personal and social relations. It is also said to be the emotion that considerably affects the mental state of an individual. Further, its intensities like temper, hostility, annoyance, tantrum, agitation, and rage foster harm to the individual and the surrounding environment as well as have disruptive interpersonal and intrapersonal consequences. Currently, anger recognition is performed as part of the multiclass emotion classification or done using physiological signals or speech data. To the best of our knowledge, there have not been any studies on how to detect only anger using facial expressions. And even with the existing approach, there have been some identified issues such as the overlapping of emotion: anger, fear, and disgust and the difficulty of some of the facial expressions algorithms in performing a multiclass recognition of emotions. For this reason, we argue that it is key that the recognition of the anger is done accurately. As, the detection of anger would be useful as it will provide useful information about peoples’ intensity of anger to manage or control it as unregulated anger sometimes result in aggression or violence. As such, we want to determine how these facial expression algorithms will perform when used for binary classification, specifically anger recognition. Therefore, we propose a framework of three models: SVM (machine learning algorithm), CNN (deep learning algorithm) and a novel ensemble learning algorithm and PCA as our dimensionality reduction function. The performance of our models was evaluated on JAFFE, CK+ and KDEF datasets. It was observed that our proposed models outperformed the state-of-the-art methods, with mention of our novel ensemble learning model which attained an accuracy of 100% on the JAFFE dataset.Thus we conclude that the proposed methods are effective for the recognition of anger using facial expressions and future work will look at evaluating the performance of these algorithms on a created database of Africans as well as employing these algorithms to detect anger in a persuasive space and persuade the individual from angry to another emotion for example happy. Keywords: anger, persuasive spaces, anger recognition, facial expression, facial expression recognition, facial expression algorithms, deep learning, machine learning, ensemble learning algorithm, SVM, CNNItem A Framework To Determine Sarcastic Sentiments In Opinion Polls(University of Ghana, 2020-07) Boafo, F.An examination of the expression of opinions and attitudes by social media and internet users toward a specific topic is what sentiment analysis is about. In diverse fields such as commerce, politics and education, it is predominantly utilized to aid decision making. Sarcasm delivers an implicit information that is opposite to what one positively declares or writes. It is often viewed as a witty language that expresses scorn, insult and reprimand in a hilarious manner. Sarcastic sentiments by people become a problem if they cannot be detected in a sentiment classification since that can affect judgment and decision making. Previous works have indicated that the detection of sarcasm during sentiment analysis can be a very tedious task and may consume a lot of time. To classify a sentiment into sarcastic or non-sarcastic, and determine the level of predicted accuracy and loss. By so doing, one can be able to investigate the significant impact and effect of sarcastic sentiment in an opinion poll through a theoretical and empirical experiment. The study reviews different approaches for detecting sarcasm in sentiment analysis and how they perform. Lastly, the study introduces a framework that will assist in the identification and classification of sarcastic sentiments in an opinion poll by classifying sentiments as sarcastic or non-sarcastic. A framework is introduced that comprises of three operators namely Cluster+Expert Judgement, Train & Validate and Classify & predict; that facilitates sentiment classification. Based on our empirical findings on state-of-the-act deep learning techniques such as BLSTM and sAtt-BLSTM, we employed a simple, efficient and straight forward approach by employing purely LSTM to produce the framework that helps in the determination of sarcastic sentiments. The driverless car dataset composed of the emergence of driverless cars being powered by Google is considered for the empirical analysis. We applied the X-means clustering algorithm with expert judgment to ensure the efficient labeling of the chosen unsupervised dataset into sarcastic or non-sarcastic classes. We also employed a broad-spectrum twitter dataset consisting of both sarcastic and non-sarcastic tweets. The performance of our model has been evaluated using performance measures such as recall, precision, accuracy and F1-score emerging from a generated confusion matrix. Our test result for the sarcastic statement using a sarcastic tweet has a prediction value of 0.998875 while that of the non-sarcastic tweet has a prediction value of 0.000055. The results provide an accurate, efficient, and reliable prediction based on the generated confusion matrix and loss figures derived. The result, therefore, indicates that though LSTM is relatively cheap as compared to BLSTM, it resulted in improved classification performance. Based on our empirical investigations through a thorough review, a framework has been introduced to classify sentiments as sarcastic or non-sarcastic. X-means clustering algorithm with an expert judgment approach has been applied to label extracted dataset without complete labels. A deep learning technique such as LSTM has been adopted because it is efficient but cheaper as compared to most state-of-the-art deep learning techniques.Item A Deep Learning Approach For The automatic Classification Of Acoustic Events: A Case Of Natural Disasters(University of Ghana, 2020-10) Obu, E.A.Automatic classification of acoustic events is a signal processing activity that has recently gained research interest, especially in the machine learning community. This is due to its cost-effectiveness in the long-term monitoring of larger areas and the collection of large amounts of data in real-time. A plethora of techniques have been proposed and adopted for the classification of acoustic events such as respiratory sound, animal calls/vocalizations, baby cry, speech disorders, and environmental sound. This study was aimed at developing a natural disaster sound classification model that will enable automatic classification of natural disasters. Accordingly, deep learning techniques including Convolutional Neural Network (CNN) and a Long short-term memory based-Recurrent Neural Network (RNN-LSTM) were used to develop classification models. The adopted algorithms and sound features used in this study were motivated by methodologies used in the area of speech/voice recognition. To ensure a relevant and rigorous research, this study adopted the design science research methodology which consisted of a five-phase cycle; awareness of the problem, suggestion, development, evaluation, and conclusion. Furthermore, to also ensure the real-time classification of natural disaster sounds, the detection-by-classification approach was adopted instead of detection-and-classification. The dataset used for this study consisted of five classes of natural disasters sound that was extracted from the Freesound database. The sound files were preprocessed at 16000Hz to extract 13 Mel Frequency Cepstral Coefficient (MFCC). An arbitrary time frame of 0.1s was adopted. In the end, the performance of both models was validated using the classification metrics and cross-validation. Results indicated that although CNN performed slightly better than RNN-LSTM, both models were effective at automatically discerning one disaster sound from the other in real-time. Best results of 99.95% in classification accuracy, and 0.999 in the area under the curve (AUC) score were obtained from CNN.Item Composition And Evaluation Of Music Using Artificial Intelligence: A Genetic Algorithm Approach(University of Ghana, 2020-10) Wiafe, A.Abstract Advancement in technology has contributed enormously to music composition, distribution and consumption. Algorithmic music is the use of technologies and techniques to aid music composition. Currently, there are various algorithms including rule-based, memetic, deep convolutional generative adversarial networks (GAN), particle swarm optimization (PSO) and stochastic composition algorithm for composing music. However, music obtained from these algorithms may not be appealing although the algorithm used may produce the optimal music based on the criteria defined by the composer. Furthermore, the optimal music produced shows that the aesthetic quality of the music is limited. This study, therefore, seeks to compose monophonic music using genetic algorithm and assess how it is appealing to humans. Nine (9) melodies were composed. The compositions were three versions each for a GA terminated at ten thousand, twenty thousand and sixty thousand generations. The changes in total fitness scores over the various generations were plotted and analysed. It was concluded that the algorithm performed best when terminated at ten thousand generations by producing the optimal music around 750th generation. However, a survey conducted to evaluate the aesthetic performance of the algorithm through human evaluation demonstrated that the music obtained from the termination at 60000th generation was the most pleasant composition. This therefore suggests that although a GA algorithm may perform better in terms of composition time, it does not guarantee an aesthetic music.Item Detecting Anger in Persuasive Spaces: An Evaluation of Facial Expression Algorithms(University of Ghana, 2020) Kumi, J.A.Darwin’s influential work on the recognition of the emotions in man and animals served as the starting point for emotion research. Based on his work, the basic emotion was theorized, from which several other emotions have been conceptualised. These emotions are recognised by both verbal and non-verbal form of communication. Facial expression is the significant and leading measure for recognition of emotions as 55% of what we communicate is expressed on our facial expressions. Therefore, facial expression has been applied in diverse fields to detect emotions such as lie detection and in the medical field for pain analysis; resulting in a plethora of algorithms or techniques. Among the negative emotions, anger is said to be the most frequently experienced emotion yet the most unsatisfactorily handled emotion in both personal and social relations. It is also said to be the emotion that considerably affects the mental state of an individual. Further, its intensities like temper, hostility, annoyance, tantrum, agitation, and rage foster harm to the individual and the surrounding environment as well as have disruptive interpersonal and intrapersonal consequences. Currently, anger recognition is performed as part of the multiclass emotion classification or done using physiological signals or speech data. To the best of our knowledge, there have not been any studies on how to detect only anger using facial expressions. And even with the existing approach, there have been some identified issues such as the overlapping of emotion: anger, fear, and disgust and the difficulty of some of the facial expressions algorithms in performing a multiclass recognition of emotions. For this reason, we argue that it is key that the recognition of the anger is done accurately. As, the detection of anger would be useful as it will provide useful information about peoples’ intensity of anger to manage or control it as unregulated anger sometimes result in aggression or violence. As such, we want to determine how these facial expression algorithms will perform when used for binary classification, specifically anger recognition. Therefore, we propose a framework of three models: SVM (machine learning algorithm), CNN (deep learning algorithm) and a novel ensemble learning algorithm and PCA as our dimensionality reduction function. The performance of our models was evaluated on JAFFE, CK+ and KDEF datasets. It was observed that our proposed models outperformed the state-of-the-art methods, with mention of our novel ensemble learning model which attained an accuracy of 100% on the JAFFE dataset.Thus we conclude that the proposed methods are effective for the recognition of anger using facial expressions and future work will look at evaluating the performance of these algorithms on a created database of Africans as well as employing these algorithms to detect anger in a persuasive space and persuade the individual from angry to another emotion for example happy.Item A Deep Learning Approach for Theautomatic Classification of Acoustic Events: A Case of Natural Disasters(University of Ghana, 2020-10) Ekpezu, A.O.Automatic classification of acoustic events is a signal processing activity that has recently gained research interest, especially in the machine learning community. This is due to its cost-effectiveness in the long-term monitoring of larger areas and the collection of large amounts of data in real-time. A plethora of techniques have been proposed and adopted for the classification of acoustic events such as respiratory sound, animal calls/vocalizations, baby cry, speech disorders, and environmental sound. This study was aimed at developing a natural disaster sound classification model that will enable automatic classification of natural disasters. Accordingly, deep learning techniques including Convolutional Neural Network (CNN) and a Long short-term memory based-Recurrent Neural Network (RNN-LSTM) were used to develop classification models. The adopted algorithms and sound features used in this study were motivated by methodologies used in the area of speech/voice recognition. To ensure a relevant and rigorous research, this study adopted the design science research methodology which consisted of a five-phase cycle; awareness of the problem, suggestion, development, evaluation, and conclusion. Furthermore, to also ensure the real-time classification of natural disaster sounds, the detection-by-classification approach was adopted instead of detection-and-classification. The dataset used for this study consisted of five classes of natural disasters sound that was extracted from the Freesound database. The sound files were preprocessed at 16000Hz to extract 13 Mel Frequency Cepstral Coefficient (MFCC). An arbitrary time frame of 0.1s was adopted. In the end, the performance of both models was validated using the classification metrics and cross-validation. Results indicated that although CNN performed slightly better than RNN-LSTM, both models were effective at automatically discerning one disaster sound from the other in real-time. Best results of 99.95% in classification accuracy, and 0.999 in the area under the curve (AUC) score were obtained from CNN.