Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syntax & semantic issues (proposals) #10

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Syntax & semantic issues (proposals)
kant authored Apr 27, 2019

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit cfa7c39dce70a91baf6b7cad048212328b0d5304
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# MICCAI-LITS2017
for the detail about the MICCAI-LITS 2017 challenge, you can check this link:
For the detail about the MICCAI-LITS 2017 challenge, you can check this link:
https://competitions.codalab.org/competitions/17094

i use VNet in this task. for the detail about the network architecture, you can check this link:
I use VNet in this task. for the detail about the network architecture, you can check this link:
https://arxiv.org/abs/1606.04797

## The change i make
beacuse the original Vnet have so many parameters, so it may suffer from overfitting, thus, i change the kernel size of each 3D convlayer to 3x3x3, and add dropout layer at some end of residual block. **and then i remove the last stage of the VNet since it is so coarse to help recover the segmentation detial, doing so, significantly reduced the receptive field, therefore, in order to compensate for the loss of receptive fields, i add some hybrid dilated convolution.** here i will show you some segmentation result i get:(blue repressent ground truth, red repressent the predict mask)
Because the original Vnet have so many parameters, so it may suffer from overfitting, thus, I change the kernel size of each 3D convlayer to 3x3x3, and add dropout layer at some end of residual block. **and then I remove the last stage of the VNet since it is so coarse to help recover the segmentation detial, doing so, significantly reduced the receptive field, therefore, in order to compensate for the loss of receptive fields, I add some hybrid dilated convolution.** here I will show you some segmentation result I get: (blue represent ground truth, red represent the predict mask)

![reslut](https://github.com/assassint2017/MICCAI-LITS2017/blob/master/img/liver_seg.png)

## Implementation Details
i split the orgin traning set to 111 and 20 as my own training and test set.i use adam optimzer, set the initial learning rate to 1e-4 and decay 10 times at 50 epoch.The whole traning process run on three GTX 1080Ti with batch size epual to three.
I split the origin training set to 111 and 20 as my own training and test set. I use adam optimizer, set the initial learning rate to 1e-4 and decay 10 times at 50 epoch. The whole training process run on three GTX 1080Ti with batch size epual to three.

## Result
i use dice per case as metrics, and find differenet inputs resolution affect the final result a lot, through a lot of experiment, the final input to the net is 256x256x48,with axial spacing norm to 2mm, and i get 0.957 Dice per case for liver segmentation at my test set.
I use dice per case as metrics, and find differenet inputs resolution affect the final result a lot, through a lot of experiment, the final input to the net is 256x256x48,with axial spacing norm to 2mm, and I get 0.957 Dice per case for liver segmentation at my test set.

|input resolution|slice spacing|expand slice|stride|Dice per case|
|:--:|:--:|:--:|:--:|:--:|
@@ -23,11 +23,11 @@ i use dice per case as metrics, and find differenet inputs resolution affect the
|256x256x32|3mm|15|3|0.932|
|256x256x48|2mm|20|3|0.957|

**since i remove the last stage of VNet, add dilated convolution and deep supervision, the performance has increased dramatically from 0.957 to 0.964**
**since I remove the last stage of VNet, add dilated convolution and deep supervision, the performance has increased dramatically from 0.957 to 0.964**


## Next work
my net still have some overfit problem. so next work will foucs on using more powerful and efficient network and data augmentation like rotating or elastic deformation to get better result.
My net still have some overfit problem, so next work will foucs on using more powerful and efficient network and data augmentation like rotating or elastic deformation to get better result.

### TODO:
- [x] liver segmentation