96 research outputs found

    ECG beat classification using a cost sensitive classifier

    Get PDF
    In this paper, we introduce a new system for ECG beat classification using Support Vector Machines (SVMs) classifier with rejection. After ECG preprocessing, the QRS complexes are detected and segmented. A set of features including frequency information, RR intervals, QRS morphology and AC power of QRS detail coefficients is exploited to characterize each beat. An SVM follows to classify the feature vectors. Our decision rule uses dynamic reject thresholds following the cost of misclassifying a sample and the cost of rejecting a sample. Significant performance enhancement is observed when the proposed approach is tested with the MIT-BIH arrhythmia database. The achieved results are represented by the average accuracy of 97.2% with no rejection and 98.8% for the minimal classification cost

    Machine Learning with a Reject Option: A survey

    Full text link
    Machine learning models always make a prediction, even when it is likely to be inaccurate. This behavior should be avoided in many decision support applications, where mistakes can have severe consequences. Albeit already studied in 1970, machine learning with rejection recently gained interest. This machine learning subfield enables machine learning models to abstain from making a prediction when likely to make a mistake. This survey aims to provide an overview on machine learning with rejection. We introduce the conditions leading to two types of rejection, ambiguity and novelty rejection, which we carefully formalize. Moreover, we review and categorize strategies to evaluate a model's predictive and rejective quality. Additionally, we define the existing architectures for models with rejection and describe the standard techniques for learning such models. Finally, we provide examples of relevant application domains and show how machine learning with rejection relates to other machine learning research areas

    Biometric authentication and identification through electrocardiogram signals

    Get PDF
    Tese de Mestrado Integrado, Engenharia Biomédica e Biofísica (Engenharia Clínica e Instrumentação Médica), 2021, Universidade de Lisboa, Faculdade de CiênciasO reconhecimento biométrico tem sido alvo de diversas investigações ao longo dos anos, sendo a impressão digital, a face e a iris, os traços biométricos mais explorados. Apesar do seu elevado potencial no que diz respeito a possíveis aplicações tecnológicas, alguns estudos apresentam limitações a estes traços biométricos, nomeadamente a falta de fiabilidade e praticidade num sistema biométrico. Recentemente, vários estudos exploraram o potencial do uso do electrocardiograma (ECG) como traço biométrico, por ser único e singular para cada indivíduo, e dificilmente roubado por outrem, por ser um sinal fisiológico. Nesta dissertação, foi investigada a possibilidade de usar sinais ECG como traço biométrico para sistemas de identificação e autenticação biométrica. Para tal, recorreu-se a uma base de dados pública chamada Check Your Biosignals Here initiative (CYBHi), criada com o intuito de propiciar investigações biométricas. As sessões de aquisição contaram com 63 participantes e ocorreram em dois momentos distintos separados por três meses, numa modalidade “off-the-person”, com recurso a um elétrodo na palma da mão e eletrolicras nos dedos. Os sinais da primeira aquisição correspondem, num sistema biométrico, aos dados armazenados na base de dados, enquanto que os sinais da segunda aquisição correspondem aos dados que serão identificados ou autenticados pelo sistema. Os sistemas de identificação e autenticação biométrica propostos nesta dissertação incluem diferentes fases: o pré-processamento, o processamento e a classificação. O pré-processamento consistiu na aplicação de um filtro passa-banda IIR de 4ª ordem, para eliminar ruídos e artefactos provenientes de atividade muscular e da impedância elétrica dos aparelhos de aquisição. A fase de processamento consistiu em extrair e gerar os templates biométricos, que serão os inputs dos algoritmos de classificação. Primeiramente, extraíram-se os ciclos cardíacos através do Neurokit2 disponível no Python. Para tal, foram localizados os picos R dos sinais ECG e, posteriormente, estes foram segmentados em ciclos cardíacos, com 200 amostras antes e 400 amostras depois dos picos. Com o objetivo de remover os segmentos mais ruidosos, os ciclos cardíacos foram submetidos a um algoritmo de eliminação de segmentos que consistiu em encontrar, para cada sujeito, os 20 e 60 ciclos mais próximos entre si, designados de Set 1 e Set 2, respetivamente. A partir desses dois conjuntos de ciclos, criaram-se dois tipos de templates: 1) os ciclos cardíacos, e 2) escalogramas gerados a partir dos ciclos, através da transformada de wavelet contínua, com dois tamanhos distintos: 56x56 e 224x224, denominados por Size 56 e Size 224, respetivamente. Devido ao elevado tamanho dos escalogramas, foi utilizada a analise de componentes independentes para reduzir a dimensionalidade. Assim, os sistemas biométricos propostos na presente investigação, foram testados com os conjuntos de 20 e 60 templates, quer para ciclos quer para escalogramas, de forma a avaliar o desempenho do sistema quando usados mais ou menos templates para os processos de identificação e autenticação. Os templates foram também testados com e sem normalização, para que pudessem ser analisados os benefícios deste processo. A classificação foi feita através de diferentes métodos, testados numa modalidade “entre-sessões”, isto é, os dados da 2ª aquisição, considerados os dados de teste, foram comparados com os dados da 1ª aquisição, denominados dados de treino, de forma a serem classificados. Quanto ao sistema de identificação com ciclos cardíacos, foram testados diferentes classificadores, nomeadamente LDA, kNN, DT e SVM. Para o kNN e SVM, foi feita uma otimização para encontrar o valor de “k” e os valores de γ e C, respetivamente, que permitem o sistema alcançar o melhor desempenho possível. A melhor performance foi obtida através do LDA, alcançando uma taxa de identificação de 79,37% para a melhor configuração, isto é, usando 60 ciclos normalizados. Os templates com base em escalogramas foram testados como inputs para dois métodos distintos: 1) redes neuronais e 2) algoritmo baseado em distâncias. A melhor performance foi uma taxa de identificação de 69,84%, obtida quando usados 60 escalogramas de tamanho 224, não normalizados. Deste modo, os resultados relativos a identificação provaram que utilizar mais templates (60) para identificar um indivíduo otimiza a performance do sistema biométrico, independentemente do tipo de template utilizado. Para alem disto, a normalização mostrou-se um processo essencial para a identificação com ciclos cardíacos, contudo, tal não se verificou para escalogramas. Neste estudo, demonstrou-se que a utilização de ciclos tem mais potencial para tornar um sistema de identificação biométrica eficiente, do que a utilização de escalogramas. No que diz respeito ao sistema de autenticação biométrica, foi utilizado um algoritmo baseado em distâncias, testado com os dois tipos de templates numa configuração concatenada, isto é, uma configuração na qual cada sujeito e representado por um sinal que contém uma sequência de todos os seus templates, seguidos uns dos outros. A avaliação da performance do sistema foi feita com base nos valores de taxa de autenticação e taxa de impostores, que indicam o número de indivíduos corretamente autenticados face ao número total de indivíduos, e o número de impostores autenticados face ao número total de indivíduos, respetivamente. Os ciclos cardíacos foram testados com e sem redução de dimensionalidade, sendo que a melhor performance foi obtida usando 60 ciclos não normalizados sem redução de dimensionalidade. Para esta configuração, obteve-se uma taxa de autenticação de 90,48% e uma taxa de impostores de 13,06%. Desta forma, concluiu-se que reduzir a dimensionalidade dos ciclos cardíacos prejudica o desempenho do sistema, uma vez que se perdem algumas características indispensáveis para a distinção entre sujeitos. Para os escalogramas, a melhor configuração, que corresponde ao uso de 60 escalogramas normalizados de tamanho 56, atingiu uma taxa de autenticação de 98,42% e uma taxa de impostores de 14,34%. Sendo que a dimensionalidade dos escalogramas foi reduzida com recurso a ICA, foi ainda avaliada a performance do sistema quando reduzido o número de componentes independentes. Os resultados mostraram que um número de componentes igual ao número de sujeitos otimiza o desempenho do sistema, uma vez que se verificou um decréscimo da taxa de autenticação quando reduzido o número de componentes. Assim, concluiu-se que são necessárias 63 componentes independentes para distinguir corretamente os 63 sujeitos. Para a autenticação através de ciclos cardíacos, a normalização e a redução de dimensionalidade são dois processos que degradam a performance do sistema, enquanto que, quando utilizados escalogramas, a normalização e vantajosa. Os resultados obtidos provaram ainda que, contrariamente ao que acontece para processos de identificação, a utilização de escalogramas e uma abordagem mais eficiente e eficaz para a autenticação de indivíduos, do que a utilização de ciclos. Esta investigação comprovou o potencial do ECG enquanto traço biométrico para identificação e autenticação de indivíduos, fazendo uma análise comparativa entre diferentes templates extraídos dos sinais ECG e diferentes metodologias na fase de classificação, e avaliando o desempenho do sistema em cada uma das configurações testadas. Estudos anteriores apresentaram algumas limitações, nomeadamente, o uso de aquisições “on-the-person”, ˜ que apresentam pouco potencial para serem integradas em sistemas biométricos devido à baixa praticidade, e à classificação numa modalidade “intra-sessão”, na qual os dados classificados e os dados armazenados foram adquiridos numa só sessão. Este estudo preenche essas lacunas, visto que utilizou dados adquiridos “off-the-person”, dados esses que foram testados numa modalidade “entre-sessões”. Apesar das aquisições ˜ “off-the-person” estarem sujeitas a mais ruídos e, consequentemente, dificultarem processos de identificação ou autenticação, estas abordagens são as mais adequadas para sistemas biométricos, dada a sua possível integração nas mais diversas aplicações tecnológicas. A modalidade “entre-sessões” resulta também numa pior performance relativamente a utilização de sinais de uma só sessão. No entanto, permite comprovar a estabilidade do ECG ao longo do tempo, o que é um fator indispensável para o funcionamento adequado de um sistema biométrico, uma vez que o mesmo terá que comparar diversas vezes o ECG apresentado no momento de identificação ou autenticação, com o ECG armazenado uma única vez na base de dados. Apesar dos bons resultados apresentados nesta dissertação, no futuro devem ser exploradas bases de dados que contenham mais participantes, com uma faixa etária mais alargada, incluindo participantes com diversas condições de saúde, com aquisições separadas por um período de tempo mais longo, de forma a simular o melhor possível a realidade de um sistema biométrico.Biometrics is a rapidly growing field with applications in personal identification and authentication. Over the recent years, several studies have demonstrated the potential of Electrocardiogram (ECG) to be used as a physiological signature for biometric systems. In this dissertation, the possibility of using the ECG signal as an unequivocal biometric trait for identification and authentication purposes has been presented. The ECG data used was from a publicly available database, the Check Your Biosignals Here initiative (CHBYi) database, developed for biometric purposes, containing records of 63 participants. Data was collected through an off-the-person approach, in two different moments, separated by three months, resulting in two acquisitions per subject. Signals from the first acquisition represent, in a biometric system, the data stored in the database, whereas signals from the second acquisition represent the data to be authenticated or identified. The proposed identification and authentication systems included several steps: signal pre-processing, signal processing, and classification. In the pre-processing phase, signals were filtered in order to remove noises, while the signal processing consisted of extracting and generating the biometric templates. For that, firstly, the cardiac cycles were extracted from the ECG signals, and segment elimination was performed to find the segments more similar to one another, resulting in two sets of templates, with 20 and 60 templates per participant, respectively. After that, two types of templates were generated: 1) templates based on cardiac cycles, and 2) templates based on scalograms generated from the cardiac cycles, with two different sizes, 56x56 and 224x224. Due to the large size of the scalograms, ICA was applied to reduce their dimensionality. Thus, the biometric systems were evaluated with two sets of each type of template in order to analyze the advantages of using more or fewer templates per subject, and the templates were also tested with and without normalization. For the identification system using cardiac cycles, LDA, kNN, DT, and SVM were tested as classifiers in an “across-session” modality, reaching an accuracy of 79.37% for the best model (LDA) in the best configuration (60 normalized cardiac cycles). When using scalograms, two different methodologies were tested: 1) neural network, and 2) a distance-based algorithm. The best accuracy was 69.84% for 60 not-normalized scalograms of Size 224, using NN. Thus, results suggested that the templates based on cardiac cycles are a more promising approach for identification tasks. For the authentication, a distance-based algorithm was used for both templates. Cardiac cycles were tested with and without dimensionality reduction, and the best configuration (60 not-normalized cardiac cycles without dimensionality reduction) reached an accuracy of 90.48% and an impostor score of 13.06%. For the scalograms, the best configuration (60 normalized scalograms of Size 56) reached an accuracy of 98.42% and an impostor score of 14.34%. Therefore, using scalograms for the authentication task proved to be a more efficient and accurate approach. The results from this work support the claim that ECG-based biometrics can be successfully used for personal identification and authentication. This study brings novelty by exploring different templates and methodologies in order to perform a comparative analysis and find the approaches that optimize the performance of the biometric system. Moreover, this represents a step forward towards a real-world application of an ECG-based biometric system, mainly due to the use of data from off-the-person acquisitions in an across-session modality

    Preserving the Quality of Architectural Tactics in Source Code

    Get PDF
    In any complex software system, strong interdependencies exist between requirements and software architecture. Requirements drive architectural choices while also being constrained by the existing architecture and by what is economically feasible. This makes it advisable to concurrently specify the requirements, to devise and compare alternative architectural design solutions, and ultimately to make a series of design decisions in order to satisfy each of the quality concerns. Unfortunately, anecdotal evidence has shown that architectural knowledge tends to be tacit in nature, stored in the heads of people, and lost over time. Therefore, developers often lack comprehensive knowledge of underlying architectural design decisions and inadvertently degrade the quality of the architecture while performing maintenance activities. In practice, this problem can be addressed through preserving the relationships between the requirements, architectural design decisions and their implementations in the source code, and then using this information to keep developers aware of critical architectural aspects of the code. This dissertation presents a novel approach that utilizes machine learning techniques to recover and preserve the relationships between architecturally significant requirements, architectural decisions and their realizations in the implemented code. Our approach for recovering architectural decisions includes the two primary stages of training and classification. In the first stage, the classifier is trained using code snippets of different architectural decisions collected from various software systems. During this phase, the classifier learns the terms that developers typically use to implement each architectural decision. These ``indicator terms\u27\u27 represent method names, variable names, comments, or the development APIs that developers inevitably use to implement various architectural decisions. A probabilistic weight is then computed for each potential indicator term with respect to each type of architectural decision. The weight estimates how strongly an indicator term represents a specific architectural tactics/decisions. For example, a term such as \emph{pulse} is highly representative of the heartbeat tactic but occurs infrequently in the authentication. After learning the indicator terms, the classifier can compute the likelihood that any given source file implements a specific architectural decision. The classifier was evaluated through several different experiments including classical cross-validation over code snippets of 50 open source projects and on the entire source code of a large scale software system. Results showed that classifier can reliably recognize a wide range of architectural decisions. The technique introduced in this dissertation is used to develop the Archie tool suite. Archie is a plug-in for Eclipse and is designed to detect wide range of architectural design decisions in the code and to protect them from potential degradation during maintenance activities. It has several features for performing change impact analysis of architectural concerns at both the code and design level and proactively keep developers informed of underlying architectural decisions during maintenance activities. Archie is at the stage of technology transfer at the US Department of Homeland Security where it is purely used to detect and monitor security choices. Furthermore, this outcome is integrated into the Department of Homeland Security\u27s Software Assurance Market Place (SWAMP) to advance research and development of secure software systems

    A Survey Study of the Current Challenges and Opportunities of Deploying the ECG Biometric Authentication Method in IoT and 5G Environments

    Get PDF
    The environment prototype of the Internet of Things (IoT) has opened the horizon for researchers to utilize such environments in deploying useful new techniques and methods in different fields and areas. The deployment process takes place when numerous IoT devices are utilized in the implementation phase for new techniques and methods. With the wide use of IoT devices in our daily lives in many fields, personal identification is becoming increasingly important for our society. This survey aims to demonstrate various aspects related to the implementation of biometric authentication in healthcare monitoring systems based on acquiring vital ECG signals via designated wearable devices that are compatible with 5G technology. The nature of ECG signals and current ongoing research related to ECG authentication are investigated in this survey along with the factors that may affect the signal acquisition process. In addition, the survey addresses the psycho-physiological factors that pose a challenge to the usage of ECG signals as a biometric trait in biometric authentication systems along with other challenges that must be addressed and resolved in any future related research.

    Towards an Intelligent System for Software Traceability Datasets Generation

    Get PDF
    Software datasets and artifacts play a crucial role in advancing automated software traceability research. They can be used by researchers in different ways to develop or validate new automated approaches. Software artifacts, other than source code and issue tracking entities, can also provide a great deal of insight into a software system and facilitate knowledge sharing and information reuse. The diversity and quality of the datasets and artifacts within a research community have a significant impact on the accuracy, generalizability, and reproducibility of the results and consequently on the usefulness and practicality of the techniques under study. Collecting and assessing the quality of such datasets are not trivial tasks and have been reported as an obstacle by many researchers in the domain of software engineering. In this dissertation, we report our empirical work that aims to automatically generate and assess the quality of such datasets. Our goal is to introduce an intelligent system that can help researchers in the domain of software traceability in obtaining high-quality “training sets”, “testing sets” or appropriate “case studies” from open source repositories based on their needs. In the first project, we present a first-of-its-kind study to review and assess the datasets that have been used in software traceability research over the last fifteen years. It presents and articulates the current status of these datasets, their characteristics, and their threats to validity. Second, this dissertation introduces a Traceability-Dataset Quality Assessment (T-DQA) framework to categorize software traceability datasets and assist researchers to select appropriate datasets for their research based on different characteristics of the datasets and the context in which those datasets will be used. Third, we present the results of an empirical study with limited scope to generate datasets using three baseline approaches for the creation of training data. These approaches are (i) Expert-Based, (ii) Automated Web-Mining, which generates training sets by automatically mining tactic\u27s APIs from technical programming websites, and lastly, (iii) Automated Big-Data Analysis, which mines ultra-large-scale code repositories to generate training sets. We compare the trace-link creation accuracy achieved using each of these three baseline approaches and discuss the costs and benefits associated with them. Additionally, in a separate study, we investigate the impact of training set size on the accuracy of recovering trace links. Finally, we conduct a large-scale study to identify which types of software artifacts are produced by a wide variety of open-source projects at different levels of granularity. Then we propose an automated approach based on Machine Learning techniques to identify various types of software artifacts. Through a set of experiments, we report and compare the performance of these algorithms when applied to software artifacts. Finally, we conducted a study to understand how software traceability experts and practitioners evaluate the quality of their datasets. In addition, we aim at gathering experts’ opinions on all quality attributes and metrics proposed by T-DQA
    corecore