|
a |
|
b/README.md |
|
|
1 |
# MURA |
|
|
2 |
MURA(musculoskeletal radiographs) - bone x-ray |
|
|
3 |
|
|
|
4 |
Reference: https://stanfordmlgroup.github.io/competitions/mura/ |
|
|
5 |
|
|
|
6 |
### Prerequite |
|
|
7 |
Python 3.5 |
|
|
8 |
<br>TensorFlow 1.8+ |
|
|
9 |
<br>keras 2.2.0 |
|
|
10 |
<br>numpy 1.14.5 |
|
|
11 |
<br>pandas 0.23.3 |
|
|
12 |
<br>sklearn 0.19.1 |
|
|
13 |
|
|
|
14 |
### histogram_equalization usage |
|
|
15 |
keras_preprocessing package 의 image.py 파일에 data augmentation부분이 수정되야함 |
|
|
16 |
/home/casper/.local/lib/python3.5/site-packages/keras_preprocessing/image.py 를 해당 image.py로 교체 |
|
|
17 |
|
|
|
18 |
```shell |
|
|
19 |
### Clone the repo. |
|
|
20 |
git clone https://github.com/AItrics/MURA.git |
|
|
21 |
cd MURA |
|
|
22 |
|
|
|
23 |
### Transform MURA-v1.1 folder to data folder |
|
|
24 |
python3 download_and_convert_mura.py |
|
|
25 |
### training에 들어가는 Input형태로 폴더와 파일을 정라하여 /data폴더에 넣어줌 |
|
|
26 |
|
|
|
27 |
### Run |
|
|
28 |
python3 train.py |
|
|
29 |
|
|
|
30 |
### To evaluate |
|
|
31 |
python3 eval.py |
|
|
32 |
python3 predict.py MURA-v1.1/valid.csv prediction.csv |
|
|
33 |
``` |
|
|
34 |
### Performance |
|
|
35 |
- Ensemble Model |
|
|
36 |
(model1 + model3 + model3 + model5 + model5) /5 로 평균낸 ensemble |
|
|
37 |
|
|
|
38 |
| | val_loss | accuracy | |
|
|
39 |
| -------------------------------: | :-------- | :---------| |
|
|
40 |
| DenseNet201(420x420) | 0.4320 | 0.8332 | |
|
|
41 |
| DenseNet169(520x520)with cutout | 0.4045 | 0.8313 | |
|
|
42 |
| InceptionResNetV2(420x420) | 0.4211 | 0.8341 | |
|
|
43 |
| DenseNet201(420x420) | 0.4311 | 0.8177 | |
|
|
44 |
| DenseNet169(520x520) | 0.4082 | 0.8307 | |
|
|
45 |
|
|
|
46 |
| | per image | per study | |
|
|
47 |
| --------------: | :-------- | :---------| |
|
|
48 |
| accuracy | 0.831 | 0.857 | |
|
|
49 |
| f1 | 0.846 | 0.875 | |
|
|
50 |
| precision | 0.806 | 0.840 | |
|
|
51 |
| recall | 0.889 | 0.914 | |
|
|
52 |
| **cohen_kappa** | **0.661** | **0.708** | |
|
|
53 |
|
|
|
54 |
|
|
|
55 |
- Single Model (DenseNet169 with Histogram Equalization, batch_size=8, img_size=420) |
|
|
56 |
@strange://shared/casper/MURA/models/DenseNet169_420_NEW_HIST.hdf5 |
|
|
57 |
|
|
|
58 |
| | single | |
|
|
59 |
| --------------: | :-------- | |
|
|
60 |
| loss | 0.4125 | |
|
|
61 |
| accuracy | 0.856 | |
|
|
62 |
| f1 | 0.870 | |
|
|
63 |
| precision | 0.866 | |
|
|
64 |
| recall | 0.873 | |
|
|
65 |
| **cohen_kappa** | **0.705** | |
|
|
66 |
|
|
|
67 |
### data |
|
|
68 |
데이터경로 : |
|
|
69 |
<br>MURA-v1.1 : @strange:/shared/casper/MURA/MURA-v1.1(36808장) 또는 @strange:/shared/casper/MURA/MURA-v1.1.zip |
|
|
70 |
<br>MURA-v1.0 : @strange:/shared/casper/MURA/MURA-v1.0 또는 @strange:/shared/casper/MURA/mura-v1.0.zip |
|
|
71 |
<br>MURAv1.0 + MURAv1.1(49158장) : @strange:/shared/casper/MURA/data |
|
|
72 |
|
|
|
73 |
### log |
|
|
74 |
로그 보기 예시: |
|
|
75 |
tensorboard --logdir=./logs/DenseNet169_420_NEW_HIST/ |
|
|
76 |
|
|
|
77 |
### model |
|
|
78 |
모델 경로: |
|
|
79 |
./models |