Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5040 commits
Select commit Hold shift + click to select a range
ae35f0d
Delete image.png
wakameds Oct 18, 2021
4f6a00d
Delete dice_loss.png
wakameds Oct 18, 2021
c675a4b
Delete seg.png
wakameds Oct 18, 2021
28c807a
Revised code in the files and add comments
wakameds Oct 19, 2021
3f95c84
Revised code in the files
wakameds Oct 20, 2021
f103071
Create README.md
wakameds Oct 19, 2021
284223d
Revised code
wakameds Oct 20, 2021
bc18688
add comments in the file
wakameds Oct 20, 2021
5c0b40d
Update README.md
wakameds Oct 20, 2021
ad96dd5
change epoch num from 1 to 20
wakameds Oct 22, 2021
ad202dc
Update README.md
wakameds Oct 22, 2021
ffcec40
Revise README.md
wakameds Oct 22, 2021
fcb6138
Remove commit 02e5662
wakameds Nov 17, 2021
40e8095
Merge remote-tracking branch 'origin/topic-recognition' into topic-re…
wakameds Nov 17, 2021
e8246fe
Delete some invalid images.
Nov 17, 2021
641c5aa
Add some images for writing README.
Nov 17, 2021
9a2c6ec
Modify the map function.
Nov 17, 2021
0ce4375
Rewrite the Improved Unet model.
Nov 17, 2021
841d8f4
Add print sentence to show average dice.
Nov 17, 2021
e610f05
Redefine epoch number to test model.
Nov 17, 2021
ff66a93
Add titles for the output.
Nov 17, 2021
decbf0d
Rewrite the readme document.
Nov 17, 2021
88110e2
Add an image.
Nov 17, 2021
74b9560
Solve the problem that pictures are not displayed.
Nov 17, 2021
463c6b5
solve the problem that pictures are not displayed
Nov 17, 2021
07ef42d
Incorporated feedback into readme file
MarkCoulon Nov 17, 2021
426a175
updated readme to reflect feedback
patapan Nov 18, 2021
5ca5b75
fixed typo
patapan Nov 18, 2021
9bbe97b
Revert README.md
fzmi Nov 18, 2021
1c22f42
Fixed the typo in the email.
zhuoxiao-chen Nov 18, 2021
13617d5
More description of generate_AKOA.py in READ.md
zhuoxiao-chen Nov 18, 2021
029cc54
Update the result of GCN_model
SteveInUQ Nov 18, 2021
144f803
Update the size of training, validation, test dataset
SteveInUQ Nov 18, 2021
8b92661
Update README.md
SteveInUQ Nov 18, 2021
9f6f431
Update README.md
SteveInUQ Nov 18, 2021
5da38b8
added comments for model.py, generate.py, train.py
joe86726 Nov 18, 2021
95d0773
pull
joe86726 Nov 18, 2021
ea9b5c5
Update README.md
joe86726 Nov 18, 2021
74d9cb1
Update README.md
joe86726 Nov 18, 2021
aa85a39
report clarification
leecwj Nov 19, 2021
c457f24
Update README.md
yexincheng Nov 19, 2021
be08c05
plot losses
yexincheng Nov 19, 2021
17cf598
Merge branch 'topic-recognition' of https://github.com/yexincheng/Pat…
yexincheng Nov 19, 2021
1220954
Add reference list to the READ.me
zhuoxiao-chen Nov 19, 2021
2e35c38
Improve reference list
zhuoxiao-chen Nov 19, 2021
0e4d60e
Added Accuracy Plotting and Adjusted Hyper Params
AndrewLuong6 Nov 19, 2021
0391c42
Update README.md
AndrewLuong6 Nov 19, 2021
791e8f9
Updated Images to Include Background
AndrewLuong6 Nov 19, 2021
0e59217
changes according to suggestions. Loss graph and references in the RE…
OliverRuffell Nov 19, 2021
bf3de47
Create loss-step2.png
yexincheng Nov 19, 2021
a9a0e61
plot loss of resolution8
yexincheng Nov 19, 2021
307d24a
Add test set metrics from ipynb to README.md
fzmi Nov 19, 2021
4906942
Added clarification on normalisation
aryaman-sh Nov 19, 2021
7bb32b7
Create loss-step3.png
yexincheng Nov 19, 2021
9048a88
fix loss overlapping bug
yexincheng Nov 19, 2021
21ede87
Update README.md
AndrewLuong6 Nov 19, 2021
aa87819
Create loss-step4.png
yexincheng Nov 19, 2021
e6ed872
Reverted other contributors readme file
s4581614 Nov 19, 2021
ec65eaf
Merge pull request #197 from PerryYin0302/topic-recognition
shakes76 Nov 20, 2021
e521263
Merge pull request #198 from uly6mlv/topic-recognition
shakes76 Nov 20, 2021
55c1e52
Add image to match True and Predicted slices.
Nov 20, 2021
5e99680
Updated to include data image to match True and predicted labels.
Nov 20, 2021
60878ed
Merge pull request #199 from alexpatapan/topic-recognition
shakes76 Nov 20, 2021
8fe701a
Update Image.
Nov 20, 2021
ced0560
Merge pull request #212 from Catkinsv3/topic-recognition
shakes76 Nov 20, 2021
c4a77a7
Merge pull request #213 from itsukae/topic-recognition
shakes76 Nov 20, 2021
e85d503
plot losses on step3,4
yexincheng Nov 20, 2021
a6d6195
Update README.md
Ahmed-HB Nov 20, 2021
8da87f3
Merge pull request #214 from Flashfooox/topic-recognition
shakes76 Nov 20, 2021
00dea2c
Merge branch 'topic-recognition' into topic-recognition
JoeHolownia Nov 20, 2021
f1a9df2
Deleted, the notebook file.
Pentaflouride Nov 20, 2021
9f20f57
Update README.md
shravanshivpuri Nov 20, 2021
5270b85
Add comments to visualiser.py
tomdx Nov 20, 2021
c5ac4df
Add normalisation details
tomdx Nov 20, 2021
626e7a6
Add missing full stop
tomdx Nov 20, 2021
0fa0397
Updated README according to PR comments
ChaoticCooties Nov 20, 2021
5cfb788
Update README.md
lucaslin2020 Nov 20, 2021
d3918a6
Add files via upload
lucaslin2020 Nov 20, 2021
08433a1
add the missing image
xiaofangC Nov 20, 2021
4d5990d
Updated the README file with new test Dice Coefficient result. Fixed …
ByronDowney Nov 21, 2021
da58c90
Now loads mask images in grayscale.
ByronDowney Nov 21, 2021
3f276ae
Added residual connections after each context module. Removed unneces…
ByronDowney Nov 21, 2021
3abf859
Updated image files to match changes to model structure and output af…
ByronDowney Nov 21, 2021
f2dfd1e
Merged Formatting changes with updated README
ByronDowney Nov 21, 2021
bc24339
Re-added files that were accidentally deleted while trying to fix iss…
ByronDowney Nov 21, 2021
a2d330e
updated code in response to the suggestions
Nov 21, 2021
4f4bed4
Merge pull request #217 from haoxiangzhang-45473771/topic-recognition
shakes76 Nov 21, 2021
bd020c3
Merge pull request #218 from roycek7/topic-recognition-s4625266
shakes76 Nov 21, 2021
ab12f8d
Merge pull request #219 from zhuoxiao-chen/topic-recognition
shakes76 Nov 21, 2021
eddce12
Merge pull request #220 from lalithbv/topic-recognition
shakes76 Nov 21, 2021
d75f6fe
add comments
yexincheng Nov 21, 2021
5b925aa
add comments
yexincheng Nov 21, 2021
fceefeb
Merge pull request #227 from Wangxinqian/topic-recognition
shakes76 Nov 21, 2021
9df87ff
add comments
yexincheng Nov 21, 2021
e73faec
Add files via upload
MMMMMYY Nov 21, 2021
024b1f6
Add files via upload
MMMMMYY Nov 21, 2021
c59f2ef
Delete .gitignore
MMMMMYY Nov 21, 2021
59d71c5
Merge pull request #231 from StopTheBoolean/topic-recognition
shakes76 Nov 21, 2021
8595fb4
Update .gitignore
MMMMMYY Nov 21, 2021
8908188
Update .gitignore
MMMMMYY Nov 21, 2021
f60de09
Merge pull request #229 from unicorn10086/topic-recognition
shakes76 Nov 21, 2021
85e98fc
Merge branch 'topic-recognition' into topic-recognition
MMMMMYY Nov 21, 2021
08f9786
Merge pull request #230 from edwardguil/topic-recognition
shakes76 Nov 21, 2021
44a93d3
Merge pull request #232 from davidphun/topic-recognition
shakes76 Nov 21, 2021
5067fca
Merge pull request #234 from gwehr1/topic-recognition
shakes76 Nov 21, 2021
3386eaa
Merge pull request #236 from Zacccc0603/topic-recognition
shakes76 Nov 21, 2021
75b9d41
Merge pull request #237 from yexincheng/topic-recognition
shakes76 Nov 21, 2021
68c1ae7
Merge pull request #238 from SteveInUQ/topic-recognition
shakes76 Nov 21, 2021
c02046a
Merge pull request #239 from OliverRuffell/topic-recognition
shakes76 Nov 21, 2021
183b774
Merge pull request #240 from Keith-Dao/topic-recognition
shakes76 Nov 21, 2021
0c0edc0
Merge pull request #241 from kexin28/topic-recognition
shakes76 Nov 21, 2021
c134376
Merge pull request #242 from JohnCom/topic-recognition
shakes76 Nov 21, 2021
6e9ca18
Merge pull request #244 from tannishpage/topic-recognition
shakes76 Nov 21, 2021
462b45e
Merge pull request #245 from AnQiYan/topic-recognition
shakes76 Nov 21, 2021
b2854ed
Merge pull request #247 from RichardMarron0/topic-recognition
shakes76 Nov 21, 2021
eac7e6c
Merge pull request #249 from anthonynorth/topic-recognition
shakes76 Nov 21, 2021
f4c7dfe
Merge pull request #248 from ltaylor231/topic-recognition
shakes76 Nov 21, 2021
f25774e
Merge pull request #250 from shravanshivpuri/topic-recognition
shakes76 Nov 21, 2021
70c5019
Merge pull request #251 from joe86726/topic-recognition
shakes76 Nov 21, 2021
e29a0ad
Merge pull request #252 from des-gan09/topic-recognition
shakes76 Nov 21, 2021
bed82b8
Merge pull request #254 from MarkCoulon/topic-recognition
shakes76 Nov 21, 2021
1f22a39
Added Final Comments based on Feedback
Majurran Nov 21, 2021
557e6a8
Merge pull request #258 from alam218/topic-recognition
shakes76 Nov 21, 2021
a57b9c2
Merge pull request #259 from christianburbon/topic-recognition
shakes76 Nov 21, 2021
ab89636
Merge pull request #261 from lucaslin2020/topic-recognition
shakes76 Nov 21, 2021
1d7b963
Merge pull request #262 from default-jamc/topic-recognition
shakes76 Nov 21, 2021
fa79d42
Merge pull request #263 from yousifpatti/topic-recognition
shakes76 Nov 21, 2021
9f9f1d0
Merge pull request #264 from rv3392/topic-recognition
shakes76 Nov 21, 2021
bcdd25f
Merge pull request #265 from cherianjohn/topic-recognition
shakes76 Nov 21, 2021
b82cf74
Merge pull request #266 from tomdx/topic-recognition
shakes76 Nov 21, 2021
d19d79e
Merge pull request #267 from AndrewLuong6/topic-recognition
shakes76 Nov 21, 2021
74dae40
Merge pull request #268 from Erin14/topic-recognition
shakes76 Nov 21, 2021
01c3c76
Merge pull request #269 from mallika-x/topic-recognition
shakes76 Nov 21, 2021
36fa856
Merge pull request #272 from MujiDipto/topic-recognition
shakes76 Nov 21, 2021
ef6f0b4
Merge pull request #273 from vniernvhid/topic-recognition
shakes76 Nov 21, 2021
208e641
Merge pull request #274 from yashtalekar/topic-recognition
shakes76 Nov 21, 2021
c5f45c5
Merge pull request #275 from cristina1096/topic-recognition
shakes76 Nov 21, 2021
b11c190
Merge pull request #277 from Zillwang/topic-recognition
shakes76 Nov 21, 2021
9762290
Merge branch 'topic-recognition' into topic-recognition
NhatHuyNguyen Nov 21, 2021
dc4e385
Merge pull request #281 from Tompnyx/topic-recognition
shakes76 Nov 21, 2021
abea9bc
Merge pull request #282 from kethomassen/topic-recognition
shakes76 Nov 21, 2021
83c94db
Merge pull request #287 from kplume/topic-recognition
shakes76 Nov 21, 2021
0558fbb
Merge pull request #289 from johnvparsons99/topic-recognition
shakes76 Nov 21, 2021
190947b
Merge pull request #290 from hyb19951213/topic-recognition
shakes76 Nov 21, 2021
bacffd8
Merge pull request #294 from tony-es/topic-recognition
shakes76 Nov 21, 2021
929bf67
Merge pull request #295 from EugeneY2021/topic-recognition
shakes76 Nov 21, 2021
7e6a723
add input images
xiaofangC Nov 21, 2021
2ab3dfb
Merge pull request #297 from ChaoticCooties/topic-recognition
shakes76 Nov 21, 2021
4535d08
Merge pull request #298 from yourcousinbob/topic-recognition
shakes76 Nov 21, 2021
01ea64a
Merge pull request #300 from humphreymunn/topic-recognition
shakes76 Nov 21, 2021
fc48778
Merge pull request #301 from Lasaj/topic-recognition
shakes76 Nov 21, 2021
dfe98a7
Merge pull request #303 from joshknowlesuq/topic-recognition
shakes76 Nov 21, 2021
f96f4ee
Merge pull request #304 from leejyang00/topic-recognition
shakes76 Nov 21, 2021
f236073
Merge pull request #307 from Ahmed-HB/topic-recognition
shakes76 Nov 21, 2021
c6c6058
Response to feedback, moved images into seperate directory. Removed p…
JoeHolownia Nov 22, 2021
2b6532d
Merge pull request #313 from essiezze/topic-recognition
shakes76 Nov 22, 2021
4ac67e3
Merge pull request #315 from xiaofangC/topic-recognition
shakes76 Nov 22, 2021
9a6c306
Merge pull request #316 from avi2413/topic-recognition
shakes76 Nov 22, 2021
e7f2967
Delete model.py
shunyuLiu Nov 22, 2021
50367dc
Merge pull request #318 from kd9911/topic-recognition
shakes76 Nov 22, 2021
3c9b8b6
Merge pull request #319 from aryaman4152/topic-recognition
shakes76 Nov 22, 2021
2b497a1
Delete .gitignore
ShangGao-forever Nov 22, 2021
f24e7db
Delete net_paras2.pth
aCoalBall Nov 22, 2021
f91d5e3
Create Models-checkpoint.ipynb
ShangGao-forever Nov 22, 2021
ffb3515
Create train_stylegan-checkpoint.ipynb
ShangGao-forever Nov 22, 2021
a9a7830
Create Dataset.cpython-38.pyc
ShangGao-forever Nov 22, 2021
5bb5988
Create Model1.cpython-38.pyc
ShangGao-forever Nov 22, 2021
4344824
Create Model1.cpython-39.pyc
ShangGao-forever Nov 22, 2021
393d9f3
Create Model2.cpython-38.pyc
ShangGao-forever Nov 22, 2021
228c1e0
Create Model2.cpython-39.pyc
ShangGao-forever Nov 22, 2021
ca36b40
Delete train_stylegan_new.ipynb
ShangGao-forever Nov 22, 2021
9e067d0
Delete Model2.cpython-39.pyc
ShangGao-forever Nov 22, 2021
c71e435
Delete Model2.cpython-38.pyc
ShangGao-forever Nov 22, 2021
fa3802a
Delete Model1.cpython-39.pyc
ShangGao-forever Nov 22, 2021
264f1bf
Delete Model1.cpython-38.pyc
ShangGao-forever Nov 22, 2021
34718de
Delete Dataset.cpython-38.pyc
ShangGao-forever Nov 22, 2021
0038e0e
Delete train_stylegan-checkpoint.ipynb
ShangGao-forever Nov 22, 2021
206ecb4
Delete Models-checkpoint.ipynb
ShangGao-forever Nov 22, 2021
40ba755
Merge pull request #320 from daniel-o-jones/topic-recognition
shakes76 Nov 22, 2021
959ca00
Merge pull request #321 from eliasxue/topic-recognition
shakes76 Nov 22, 2021
dd2a2bc
Removed Model Files
Azrail09Code Nov 22, 2021
c364ad6
Merge pull request #322 from wahsnitram/topic-recognition
shakes76 Nov 22, 2021
05b42b8
Merge remote-tracking branch 'origin/topic-recognition' into topic-re…
JoeHolownia Nov 22, 2021
dec0239
Merge pull request #323 from zaragolshani/topic-recognition
shakes76 Nov 22, 2021
b1008d2
Merge pull request #324 from borova-siska/topic-recognition
shakes76 Nov 22, 2021
cb39363
Merge pull request #325 from leecwj/topic-recognition
shakes76 Nov 22, 2021
4759f55
Revert "Delete .gitignore"
ShangGao-forever Nov 22, 2021
f994e00
Merge branch 'topic-recognition' into topic-recognition
fzmi Nov 22, 2021
e5b4d2c
Merge branch 'shakes76:topic-recognition' into topic-recognition
JoshuaSYX Nov 22, 2021
63c1fc7
Merge pull request #327 from ByronDowney/topic-recognition
shakes76 Nov 22, 2021
668daf3
Merge pull request #328 from Majurran/topic-recognition
shakes76 Nov 22, 2021
2f5e3fe
Merge pull request #329 from EvaHolden/topic-recognition
shakes76 Nov 22, 2021
bb1ec04
Merge pull request #330 from camapcanhcut/topic-recognition
shakes76 Nov 22, 2021
112349a
Merge pull request #332 from malice08/topic-recognition
shakes76 Nov 22, 2021
b31bf56
Merge branch 'shakes76:topic-recognition' into topic-recognition
JoshuaSYX Nov 22, 2021
6bb6382
Merge pull request #333 from kamen21/topic-recognition
shakes76 Nov 22, 2021
4314739
Merge pull request #334 from CarrickC/topic-recognition
shakes76 Nov 22, 2021
bd492b0
Merge pull request #335 from JoeHolownia/topic-recognition
shakes76 Nov 22, 2021
74156c4
Merge branch 'shakes76:topic-recognition' into topic-recognition
JoshuaSYX Nov 22, 2021
0c800b8
Merge pull request #336 from tmo/topic-recognition
shakes76 Nov 22, 2021
e8c5752
Merge pull request #337 from white-segfault/topic-recognition
shakes76 Nov 22, 2021
5f207f0
Merge pull request #339 from fzmi/topic-recognition
shakes76 Nov 22, 2021
868e306
Merge pull request #341 from s4581614/topic-recognition
shakes76 Nov 22, 2021
78b8ed7
Merge pull request #342 from Kirbologist/topic-recognition
shakes76 Nov 22, 2021
a50de98
Merge pull request #343 from csngJason/topic-recognition
shakes76 Nov 22, 2021
d1dac15
Merge pull request #345 from qiansen1386/topic-recognition
shakes76 Nov 22, 2021
2057f40
Delete Test.txt
d7a7 Nov 22, 2021
d740c09
Merge pull request #348 from Liz-Xinwei/topic-recognition
shakes76 Nov 22, 2021
deef3c7
Revert "s44935209_Topic recognition"
shakes76 Nov 22, 2021
f20bbfb
Merge pull request #355 from shakes76/revert-348-topic-recognition
shakes76 Nov 22, 2021
8e1176b
Merge pull request #349 from lingxi211Code/topic-recognition
shakes76 Nov 22, 2021
fd5558e
Merge pull request #350 from tsyyyyyyy/topic-recognition
shakes76 Nov 22, 2021
371bb62
Merge pull request #351 from mparker2103/topic-recognition
shakes76 Nov 22, 2021
c2c657a
response to feedback, fix comments, remove .txt, .csv, .png, .h5 add …
djamahl99 Nov 22, 2021
efd9bb9
Removed Imporoved_Unet.h5, the model file.
Nov 22, 2021
c884ff1
Update README.md, update file descriptions.
Nov 22, 2021
2ee378d
Merge branch 'topic-recognition' into topic-recognition
NhatHuyNguyen Nov 22, 2021
c0bf4ef
Update image paths and remove model state files
leobaldock Nov 22, 2021
168e5f3
Merge pull request #253 from glenyue/topic-recognition
shakes76 Nov 22, 2021
fe0bcb2
Merge pull request #216 from lion-software/topic-recognition
shakes76 Nov 22, 2021
ff83b4f
Merge pull request #271 from NhatHuyNguyen/topic-recognition
shakes76 Nov 22, 2021
def6ba4
Merge pull request #285 from aCoalBall/topic-recognition
shakes76 Nov 22, 2021
162d02b
Merge pull request #288 from cloudstrife1117/topic-recognition
shakes76 Nov 22, 2021
76901d4
Merge pull request #317 from RobEldo/topic-recognition
shakes76 Nov 22, 2021
6b2e128
Merge pull request #331 from d7a7/topic-recognition
shakes76 Nov 22, 2021
56c8551
Merge pull request #340 from djamahl99/topic-recognition
shakes76 Nov 22, 2021
68c6c08
Merge branch 'topic-recognition' into topic-recognition
MMMMMYY Nov 22, 2021
34f0f3c
Merge pull request #226 from MMMMMYY/topic-recognition
shakes76 Nov 22, 2021
adea186
Delete facebook.npz
wildanazz Nov 22, 2021
3ead9fd
Delete train_accuracies.npy
wildanazz Nov 22, 2021
3dd0f1c
Delete train_losses.npy
wildanazz Nov 22, 2021
ca34cc0
Delete validation_accuracies.npy
wildanazz Nov 22, 2021
72faaa3
Delete validation_losses.npy
wildanazz Nov 22, 2021
62e8151
Delete x_embedded.npy
wildanazz Nov 22, 2021
693fc5a
Add files via upload
shunyuLiu Nov 23, 2021
9b996a6
Delete facebook.npz
shunyuLiu Nov 23, 2021
b895959
Merge pull request #235 from ShangGao-forever/topic-recognition
shakes76 Nov 23, 2021
018b724
Merge pull request #202 from wakameds/topic-recognition
shakes76 Nov 23, 2021
bf0bdc2
Removed Model File as requested by Feedback
JoshuaSYX Nov 23, 2021
67a22a2
Added Values for Dice Coefficient as requested by Feedback
JoshuaSYX Nov 23, 2021
dd71288
Delete data files
Pentaflouride Nov 23, 2021
434aee3
Delete data files
Pentaflouride Nov 23, 2021
b5877da
Delete data files
Pentaflouride Nov 23, 2021
feefbd6
Delete data files
Pentaflouride Nov 23, 2021
063141f
Added block description
Pentaflouride Nov 23, 2021
15666bd
Merge pull request #296 from JoshuaSYX/topic-recognition
shakes76 Nov 23, 2021
646ef94
delete
Pentaflouride Nov 23, 2021
209a606
Merge pull request #310 from shunyuLiu/topic-recognition
shakes76 Nov 23, 2021
243dc46
Merge pull request #338 from wildanazz/topic-recognition
shakes76 Nov 23, 2021
bf86e8c
Merge pull request #215 from Pentaflouride/topic-recognition
shakes76 Nov 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
recognition/s4481540_Zhuoxiao_Chen/data/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file modified algorithms/denoise/README.md
100755 → 100644
Empty file.
Empty file modified algorithms/denoise/denoise_tv_bregman/cat.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Empty file modified algorithms/image/rank_order/main.py
100755 → 100644
Empty file.
Empty file modified algorithms/numbertheory/number_theory/README.md
100755 → 100644
Empty file.
Empty file modified algorithms/numbertheory/numbthy.py
100755 → 100644
Empty file.
Binary file added recognition/.DS_Store
Binary file not shown.
191 changes: 191 additions & 0 deletions recognition/2021_ISIC_Improved_UNet/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# Segmentation of the ISICs dataset using Improved UNet
Published by the International Skin Imaging Collaboration (ISIC), the ISICs 2018 dataset
was used as part of the Skin Lesion Analysis Towards Melanoma Detection recurring challenge.
This challenge is an opportunity for participants to develop automated tools which aid in the
diagnosis of melanoma. This project employs the Improved UNet [1] architecture to perform
segmentation on the aforementioned ISICs dataset.

## ISICs dataset
The ISIC's dataset contains 2594 images and their associated segmentation masks. By default, the dataset contains images of varying sizes and aspect ratios. Data normalisation and resizing was applied to provide consistency throughout the inputs.

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/ExampleISIC.jpg">
</p>

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/ExampleISIC_Segmentation.png">
</p>

_Figure 1: Sample image and associated mask from the ISICs 2018 dataset_

### Data preprocessing
As part of the pre-processing phase, all of the images (training images and masks) were normalised. In order to be run through the network, all of the images had to be the same size. The size chosen was (192, 256). The training images kept 3 colour channels: [192, 256, 3]. On the other hand, the segmentation masks were reduced to a single colour channel: [192, 256, 1]. The segmentation masks were also thresholded: pixels with a value > 0.5 after normalisation were set to 1, and the rest were set to 0.

#### Training, Test & Validation Split.
The Training, Testing and Validation data split chosen was 70 / 15 / 15. Some research was conducted on the optimal split for medical data. In general, it was found that there is no single correct split, however this percentage seemed to be the most highly regarded. For a dataset of this size, that means there was around 1800 training samples, and 390 training & validation samples.

## Architecture
Proposed in 2018 [1], the Improved UNet is designed upon the original model of UNet, proposed in 2015 [2].

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/ImprovedUNetArchitecture.png">
</p>

_Figure 2: Improved UNet Architecture [1]_

The Improved UNet is composed of two main sections, the Context Aggregation pathway and the Localisation pathway. These pathways share information about the input images through Skip Connections from the Context Aggregation Pathway.

### Context Modules & The Context Aggregation Pathway
The Context Aggregation pathway is designed to encode the input images into increasingly compact representations as the network progresses. To do so, it is composed of a collection of 3x3 Convolutions (with a stride of 2) and Context Modules.

The layer-by-layer architecture of the Context Modules is as follows:

|Context Module Architecture|
|-|
|Instance Normalization|
|Leaky ReLU Activation|
|3x3 Convolution|
|Dropout (_0.3 dropout rate_)|
|Instance Normalization|
|Leaky ReLU Activation|
|3x3 Convolution|

### Localisation Modules & The Localisation Pathway
The Localisation Pathway is designed to increase the dimensionality of the encoded image representation to produce high resolution segmentations by means of Localisation Modules, UpSampling modules and image upscaling.

The layer-by-layer architecture of the Localisation Modules is as follows:

|Localisation Module Architecture|
|-|
|3x3 Convolution|
|1x1 Convolution|

#### Up-Sampling Modules
Up-Sampling modules are placed after every localisation module in the Localisation Pathway.

The layer-by-layer architecture of the Up-Sampling Modules is as follows:

|Up-Sampling Module Architecture|
|-|
|2D UpSampling layer (2x2)|
|3x3 Convolution|

### Skip Connections
Denoted by the horizontal dashed lines in _Figure 2_, Skip Connections are element-wise summations of the 3x3 (stride 2) Convolutions and Context Module outputs' in the Context Aggregation pathway. Skip Connections are concatenated into the corresponding network level in the Localisation Pathway.

The Localisation Modules are designed to re-introduce these skip connections into the network after the concatenation.

### Segmentation
Segmentation occurs 3 times in the Localisation Pathway. Performing segmentation on multiple levels of the network allows for segmented information from the lower levels to propagate into the higher levels through an element-wise summation.

Segmentation layers are 3x3 convolutions with a single output filter.

The 'U' shaped dashed lines in _Figure 2_ denote the pathway that the segmentation levels take. Output is taken from the levels' Localisation Module and given to a Segmentation Layer. Lower (smaller) layers are up-sampled to allow element-wise summation to occur.

## Optimizer & Loss
The optimizer used in this implementation was the [Adam optimizer](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/Adam) with a learning rate of 5e-4, as per [1].

### Dice Similarity Coefficient
The [Dice Similarity Coefficient](https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient) is a common metric used in segmentation problems. Formally, DSC is defined as:

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/DiceCoefficient.png">
</p>

That is, the DSC is: 2 * the overlap between the pixels in the Ground Truth segmentation mask, and the model-generated Segmentation Mask. This is then divided by the sum of the total pixels in both masks.

## Results
For the following results, the model was run for 20 epochs. The `validation` performance follows the `training` performance closely throughout training, divering slightly towards the end. The distribution of DSC values on the Test Set evaluation is left-skewed, with few images attaining low DSC scores. Overall, an average DSC of > 0.8 was attained on the Test Set, with > 67% of images yielding a DSC score of 0.8 or higher.

### Accuracy & Loss Plots
The following plots show the behaviour of the model in terms of DSC and Loss over a 20 epoch run.

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_1.png">
</p>

_Figure 3: Improved UNet model loss_


<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_2.png">
</p>

_Figure 4: Improved UNet model dice coefficient_

### Performance on the Test Set
After the model was trained for 20 epochs, its performance was evaluated on the Test Set.

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/modelMetrics.png">
</p>

_Figure 5: Model performance on the Test Set after training_

From _Figure 5_, we see that the average Dice Coefficient was 80.8%. Overall, 67.8% of the test set yielded a DSC of 0.8+.

#### DSC Distribution
The histogram below shows the distribution of the Test Set's DSC values during evaluation.


<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/histogram.png">
</p>

_Figure 6: Distribution of DSC on the Test Set evaluation_

### Output generated
Masks output by the model were thresholded such that pixels which were > 0.5 were set to 1, else they were set to 0. Below are some output examples from the trained model, on the test set.

<p align="center">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_5.png">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_6.png">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_10.png">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_20.png">
<img src="https://github.com/default-jamc/PatternFlow/blob/topic-recognition/recognition/2021_ISIC_Improved_UNet/images/Figure_22.png">
</p>

_Figure 7: Input image / Ground Truth mask / Model-generated mask_

## Additions and Changes
The architecture described above gives an overview of the design of the model.
During development, it was found that making slight tweaks to the architecture resulted in better performance. These changes were:
- `UpSampling2D` layers used the `interpolation='bilinear'` parameter as opposed to the default `interpolation='nearest'`

## Usage
To run this network, ensure you have the appropriate Dependencies installed.

Download the ISIC's 2018 dataset and place the training images and segmentation masks in two separate folders in the directory where the `model.py` and `driver.py` are located, named as so:
- Training images: ISIC2018_Task1-2_Training_Input_x2
- Segmentation masks: ISIC2018_Task1_Training_GroundTruth_x2

Open up a commandline and navigate to the directory where `driver.py` is saved, and run it:

`python driver.py`

To ensure the data is loaded correctly, the Training Input from _Figure 1_ should appear on-screen, followed by its corresponding mask from the Training GroundTruth.

You may change the amount of epochs that the network runs for and the `Adam` learning rate by changing the variables at the top of `driver.py`

- `EPOCHS` denotes the total amount of epochs.
- `OPT_LEARNING_RATE` denotes the `Adam` learning rate.

Once the network is finished,
1. It will generate `Loss` and `Dice Coefficient` graphs as shown in _Figure 3_ and _Figure 4_ above.
2. It will then proceed to evaluate the test set, and some performance metrics will be output to the screen, as shown in _Figure 5_ above.
3. A histogram of the Test Set's DSC distribution throughout evaluation will be generated, as shown in _Figure 6_ above.
4. 20 images of the Original Image / Ground Truth Mask / Model-generated Mask will be generated, as shown in _Figure 7_ above. (_Note: you may change the amount of images output using the `local_batch` variable in the `generatePredictions` method in `driver.py`_)



## Dependencies
- Python 3.9.6
- Tensorflow 2.6.0
- Matplotlib 3.4.2
- Numpy 1.19.5
- Tensorflow Addons 0.14.0

## References
[1]: Isensee, F., Kickingereder, P., Wick, W., Bendszus, M., Maier-Hein, K.H, "Brain Tumor Segmentation and Radiomics Survival Prediction: Contribution to the BRATS 2017 Challenge". _arXiv: Computer Vision and Pattern Recognition_, 2018.

[2]: Ronneberger, O., Fischer, P., Brox, T., "U-net: Convolutional networks for biomedical image segmentation,". _International Conference on Medical Image Computing and Computer-Assisted Intervention_, 2015. (Springer, pp. 234-241).
Loading