Binary classification for arrythmia detection with ECG datasets.

Overview

HEART DISEASE AI DATATHON 2021

[Eng] / [Kor]


#English

This is an AI diagnosis modeling contest that uses the heart disease echocardiography and electrocardiogram datasets for artificial intelligence learning promoted as part of the "2021 AI Learning Data Construction Project" to discriminate echocardiography/electrocardiogram diseases.

Task II. Arrythmia on ECG datasets

0. Model

Resnet-based architecture.
Best AUC-ROC Score: 0.9986926250732517

1. Installation

1.1. Environment

Python >= 3.6

1.2. Requirements:

  • tensorflow >= 2.5
  • xmltodict
  • scikit-learn
  • matplotlib
  • numpy
pip install -r requirements.txt

2. Usage

2.1. Training

  1. Basic usage
python train.py -d electrocardiogram/data/train -s model.h5
  1. Training with 8 leads inputs, elevation adjustment, data augmentation and gqussian noises
python train.py -d electrocardiogram/data/train -s model.h5 -l 8 -v -a -n

To see more options:

python train.py -h
  • options:
    • -d, --data : File path of training data
    • -s, --save : File name for saving trained model (extension should be '.h5')
    • -b, --batch : Batch size (default=500)
    • -e, --epoch : Number of epochs (default=50)
    • -l, --lead : Number of leads to be trained (2/8/12) (default=2)
    • -v, --elevation : Option for adjusting elevation
    • -a, --augmentation : Option for data augmentation (stretching & amplifying)
    • -n, --noise : Option for adding noise on data

2.2. Evaluation

  1. Basic usage
python eval.py -d electrocardiogram/data/validation -m model.h5
  1. Evaluation with the best model
python eval.py -d electrocardiogram/data/validation -m best.h5
  1. Evaluation with 12 leads inputs and elevation adjustment
python eval.py -d electrocardiogram/data/validation -m model.h5 -l 12 -v

To see more options:

python eval.py -h
  • options:
    • -d, --data : File path of validation data
    • -m, --model : File name of saved model
    • -l, --lead : Number of leads being trained (default=2) (2/8/12)
    • -v, --elevation : Option for adjusting elevation

#Korean

심초음파/심전도 ai 모델 데이터톤 2021

이 경진대회는 "2021 인공지능 학습용 데이터 구축사업"의 일환으로 추진된 인공지능 학습용 심장질환 심초음파 및 심전도 데이터셋을 이용하여 심초음파/심전도 질환을 판별하는 AI 진단 모델링 경진대회입니다.

Task II. Arrythmia on ECG datasets

심전도 데이터셋을 활용한 부정맥 진단 AI 모델 공모(심전도 데이터셋을 활용한 부정맥 진단 AI 모델 개발)

0. 모델

Resnet 구조 기반의 Binary classification model.
Best AUC-ROC Score: 0.9986926250732517

1. 설치

1.1. 환경

Python >= 3.6

1.2. 필요한 패키지:

  • tensorflow >= 2.5
  • xmltodict
  • scikit-learn
  • matplotlib
  • numpy
pip install -r requirements.txt

2. 사용법

2.1. Training

  1. 기본 사용법 예시 (제출용)
python train.py -d electrocardiogram/data/train -s model.h5
  1. 8개 리드, 상하조정, 데이터 어그멘테이션, 노이즈 적용
python train.py -d electrocardiogram/data/train -s model.h5 -l 8 -v -a -n

To see more options:

python train.py -h
  • options:
    • -d, --data : 트레이닝 데이터 경로
    • -s, --save : 학습된 모델명 (확장자 .h5로 써줄 것)
    • -b, --batch : 배치 사이즈 (default=500)
    • -e, --epoch : 에포크 수 (default=50)
    • -l, --lead : 트레이닝에 쓸 리드 수 (2/8/12) (default=2)
    • -v, --elevation : 상하 조정 옵션
    • -a, --augmentation : 데이터 어그멘테이션 옵션 (stretching & amplifying)
    • -n, --noise : 가우시안 노이즈 적용 옵션

2.2. Evaluation

  1. 기본 사용법 예시
python eval.py -d electrocardiogram/data/validation -m model.h5
  1. 체출된 Best model 평가 (제출용)
python eval.py -d electrocardiogram/data/validation -m best.h5
  1. 12개 리드, 상하조정 적용
python eval.py -d electrocardiogram/data/validation -m model.h5 -l 12 -v

To see more options:

python eval.py -h
  • options:
    • -d, --data : 벨리데이션 데이터 경로
    • -m, --model : 불러올 모델 파일명
    • -l, --lead : 트레이닝된 리드 수 (2/8/12) (default=2)
    • -v, --elevation : 상하 조정 옵션
Owner
HY_Kim
CSer in SUNY Korea.
HY_Kim
Implementations of the algorithms in the paper Approximative Algorithms for Multi-Marginal Optimal Transport and Free-Support Wasserstein Barycenters

Implementations of the algorithms in the paper Approximative Algorithms for Multi-Marginal Optimal Transport and Free-Support Wasserstein Barycenters

Johannes von Lindheim 3 Oct 29, 2022
Keras-1D-ACGAN-Data-Augmentation

Keras-1D-ACGAN-Data-Augmentation What is the ACGAN(Auxiliary Classifier GANs) ? Related Paper : [Abstract : Synthesizing high resolution photorealisti

Jae-Hoon Shim 7 Dec 23, 2022
A fast implementation of bss_eval metrics for blind source separation

fast_bss_eval Do you have a zillion BSS audio files to process and it is taking days ? Is your simulation never ending ? Fear no more! fast_bss_eval i

Robin Scheibler 99 Dec 13, 2022
PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud, CVPR 2019.

PointRCNN PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud Code release for the paper PointRCNN:3D Object Proposal Generation a

Shaoshuai Shi 1.5k Dec 27, 2022
Ağ tarayıcı.Gönderdiği paketler ile ağa bağlı olan cihazların IP adreslerini gösterir.

NetScanner.py Ağ tarayıcı.Gönderdiği paketler ile ağa bağlı olan cihazların IP adreslerini gösterir. Linux'da Kullanımı: git clone https://github.com/

4 Aug 23, 2021
PaddleViT: State-of-the-art Visual Transformer and MLP Models for PaddlePaddle 2.0+

PaddlePaddle Vision Transformers State-of-the-art Visual Transformer and MLP Models for PaddlePaddle 🤖 PaddlePaddle Visual Transformers (PaddleViT or

1k Dec 28, 2022
Unsupervised clustering of high content screen samples

Microscopium Unsupervised clustering and dataset exploration for high content screens. See microscopium in action Public dataset BBBC021 from the Broa

60 Dec 05, 2022
This is the code of "Multi-view Contrastive Graph Clustering" in NeurlPS 2021.

MCGC Description This is the code of "Multi-view Contrastive Graph Clustering" in NeurlPS 2021. Datasets Results ACM DBLP IMDB Amazon photos Amazon co

31 Nov 14, 2022
Semantic Segmentation in Pytorch. Network include: FCN、FCN_ResNet、SegNet、UNet、BiSeNet、BiSeNetV2、PSPNet、DeepLabv3_plus、 HRNet、DDRNet

🚀 If it helps you, click a star! ⭐ Update log 2020.12.10 Project structure adjustment, the previous code has been deleted, the adjustment will be re-

Deeachain 269 Jan 04, 2023
A Python library for generating new text from existing samples.

ReMarkov is a Python library for generating text from existing samples using Markov chains. You can use it to customize all sorts of writing from birt

8 May 17, 2022
A collection of papers about Transformer in the field of medical image analysis.

A collection of papers about Transformer in the field of medical image analysis.

Junyu Chen 377 Jan 05, 2023
Compare neural networks by their feature similarity

PyTorch Model Compare A tiny package to compare two neural networks in PyTorch. There are many ways to compare two neural networks, but one robust and

Anand Krishnamoorthy 181 Jan 04, 2023
A scanpy extension to analyse single-cell TCR and BCR data.

Scirpy: A Scanpy extension for analyzing single-cell immune-cell receptor sequencing data Scirpy is a scalable python-toolkit to analyse T cell recept

ICBI 145 Jan 03, 2023
Neurolab is a simple and powerful Neural Network Library for Python

Neurolab Neurolab is a simple and powerful Neural Network Library for Python. Contains based neural networks, train algorithms and flexible framework

152 Dec 06, 2022
Complementary Patch for Weakly Supervised Semantic Segmentation, ICCV21 (poster)

CPN (ICCV2021) This is an implementation of Complementary Patch for Weakly Supervised Semantic Segmentation, which is accepted by ICCV2021 poster. Thi

Ferenas 20 Dec 12, 2022
Unofficial implementation of Point-Unet: A Context-Aware Point-Based Neural Network for Volumetric Segmentation

Point-Unet This is an unofficial implementation of the MICCAI 2021 paper Point-Unet: A Context-Aware Point-Based Neural Network for Volumetric Segment

Namt0d 9 Dec 07, 2022
Machine Learning Framework for Operating Systems - Brings ML to Linux kernel

KML: A Machine Learning Framework for Operating Systems & Storage Systems Storage systems and their OS components are designed to accommodate a wide v

File systems and Storage Lab (FSL) 186 Nov 24, 2022
Diverse Object-Scene Compositions For Zero-Shot Action Recognition

Diverse Object-Scene Compositions For Zero-Shot Action Recognition This repository contains the source code for the use of object-scene compositions f

7 Sep 21, 2022
Files for a tutorial to train SegNet for road scenes using the CamVid dataset

SegNet and Bayesian SegNet Tutorial This repository contains all the files for you to complete the 'Getting Started with SegNet' and the 'Bayesian Seg

Alex Kendall 800 Dec 31, 2022
Controlling a game using mediapipe hand tracking

These scripts use the Google mediapipe hand tracking solution in combination with a webcam in order to send game instructions to a racing game. It features 2 methods of control

3 May 17, 2022