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
GPU Programming with Julia - course at the Swiss National Supercomputing Centre (CSCS), ETH Zurich

Course Description The programming language Julia is being more and more adopted in High Performance Computing (HPC) due to its unique way to combine

Samuel Omlin 192 Jan 03, 2023
This is an implementation for the CVPR2020 paper "Learning Invariant Representation for Unsupervised Image Restoration"

Learning Invariant Representation for Unsupervised Image Restoration (CVPR 2020) Introduction This is an implementation for the paper "Learning Invari

GarField 88 Nov 07, 2022
Group-Free 3D Object Detection via Transformers

Group-Free 3D Object Detection via Transformers By Ze Liu, Zheng Zhang, Yue Cao, Han Hu, Xin Tong. This repo is the official implementation of "Group-

Ze Liu 213 Dec 07, 2022
LF-YOLO (Lighter and Faster YOLO) is used to detect defect of X-ray weld image.

This project is based on ultralytics/yolov3. LF-YOLO (Lighter and Faster YOLO) is used to detect defect of X-ray weld image. The related paper is avai

26 Dec 13, 2022
How to train a CNN to 99% accuracy on MNIST in less than a second on a laptop

Training a NN to 99% accuracy on MNIST in 0.76 seconds A quick study on how fast you can reach 99% accuracy on MNIST with a single laptop. Our answer

Tuomas Oikarinen 42 Dec 10, 2022
DeepFaceLab fork which provides IPython Notebook to use DFL with Google Colab

DFL-Colab — DeepFaceLab fork for Google Colab This project provides you IPython Notebook to use DeepFaceLab with Google Colaboratory. You can create y

779 Jan 05, 2023
Repo for paper "Dynamic Placement of Rapidly Deployable Mobile Sensor Robots Using Machine Learning and Expected Value of Information"

Repo for paper "Dynamic Placement of Rapidly Deployable Mobile Sensor Robots Using Machine Learning and Expected Value of Information" Notes I probabl

Berkeley Expert System Technologies Lab 0 Jul 01, 2021
Pytorch implementation for ACMMM2021 paper "I2V-GAN: Unpaired Infrared-to-Visible Video Translation".

I2V-GAN This repository is the official Pytorch implementation for ACMMM2021 paper "I2V-GAN: Unpaired Infrared-to-Visible Video Translation". Traffic

69 Dec 31, 2022
The 2nd place solution of 2021 google landmark retrieval on kaggle.

Leaderboard, taxonomy, and curated list of few-shot object detection papers.

229 Dec 13, 2022
Semi-Supervised 3D Hand-Object Poses Estimation with Interactions in Time

Semi Hand-Object Semi-Supervised 3D Hand-Object Poses Estimation with Interactions in Time (CVPR 2021).

96 Dec 27, 2022
This is a Keras-based Python implementation of DeepMask- a complex deep neural network for learning object segmentation masks

NNProject - DeepMask This is a Keras-based Python implementation of DeepMask- a complex deep neural network for learning object segmentation masks. Th

189 Nov 16, 2022
Object Tracking and Detection Using OpenCV

Object tracking is one such application of computer vision where an object is detected in a video, otherwise interpreted as a set of frames, and the object’s trajectory is estimated. For instance, yo

Happy N. Monday 4 Aug 21, 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
Official code of CVPR 2021's PLOP: Learning without Forgetting for Continual Semantic Segmentation

PLOP: Learning without Forgetting for Continual Semantic Segmentation This repository contains all of our code. It is a modified version of Cermelli e

Arthur Douillard 116 Dec 14, 2022
Simplified interface for TensorFlow (mimicking Scikit Learn) for Deep Learning

SkFlow has been moved to Tensorflow. SkFlow has been moved to http://github.com/tensorflow/tensorflow into contrib folder specifically located here. T

3.2k Dec 29, 2022
OpenLT: An open-source project for long-tail classification

OpenLT: An open-source project for long-tail classification Supported Methods for Long-tailed Recognition: Cross-Entropy Loss Focal Loss (ICCV'17) Cla

Ming Li 37 Sep 15, 2022
A Marvelous ChatBot implement using PyTorch.

PyTorch Marvelous ChatBot [Update] it's 2019 now, previously model can not catch up state-of-art now. So we just move towards the future a transformer

JinTian 223 Oct 18, 2022
SparseInst: Sparse Instance Activation for Real-Time Instance Segmentation, CVPR 2022

SparseInst 🚀 A simple framework for real-time instance segmentation, CVPR 2022 by Tianheng Cheng, Xinggang Wang†, Shaoyu Chen, Wenqiang Zhang, Qian Z

Hust Visual Learning Team 458 Jan 05, 2023
[ ICCV 2021 Oral ] Our method can estimate camera poses and neural radiance fields jointly when the cameras are initialized at random poses in complex scenarios (outside-in scenes, even with less texture or intense noise )

GNeRF This repository contains official code for the ICCV 2021 paper: GNeRF: GAN-based Neural Radiance Field without Posed Camera. This implementation

Quan Meng 191 Dec 26, 2022
Recurrent Neural Network Tutorial, Part 2 - Implementing a RNN in Python and Theano

Please read the blog post that goes with this code! Jupyter Notebook Setup System Requirements: Python, pip (Optional) virtualenv To start the Jupyter

Denny Britz 863 Dec 15, 2022