ããã«ã¡ã¯ãHabrïŒ èšäºã®ç¿»èš³ã玹ä»ããŸãã

ããã¯ãæäŸãããããŒã¯ã¢ããããã¹ãããŒã¿ã»ãããããã³ããããçœãæ£æ¹åœ¢ãåããVegasã§ããããã¯é
å»¶æ€èšŒïŒãã©ã€ããŒãïŒã§ãã ãã£ãããã 確ãã«ããã®ããã©ãã¯4ã€ã®éœåžãã¹ãŠã®äžã§æé«ã§ããããã¯ããŒã¿ã®ããã«èµ·ãããŸããããããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãã
0. TLDR
ç«¶äºãšè©³çްãªèª¬æãžã®ãªã³ã¯ã
ãµã€ãã®ç°¡åãªåçã§ãã 9äœã§æ«å®çã«çµäºããŸããããäž»å¬è
ã«ããæåºç©ã®è¿œå ãã¹ãã®åŸã«äœçœ®ãå€ããå¯èœæ§ããããŸãã
ãŸãã PyTorchã§èªã¿åãå¯èœãªé©åãªã³ãŒãããã³ããŒã¿ãžã§ãã¬ãŒã¿ãŒãäœæããã®ã«ãå°ãæéãè²»ãããŸããã ããªãèªèº«ã®ç®çã®ããã«æ¥ããããããã«äœ¿çšããããšãã§ããŸãïŒãã©ã¹èšå·ãä»ããã ãã§ãïŒã ã³ãŒãã¯å¯èœãªéãã·ã³ãã«ã§ã¢ãžã¥ãŒã«åãããŠãããããã«ã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ã®ãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠããèªã¿ãã ããã
ããã«ã Skeleton Networkã®çè§£ãšåæã«é¢ããæçš¿ãæžãããšãã§ããŸãããã®æçš¿ã¯ãçµæãšããŠãç«¶åã®ãããã«ãããã¹ãŠã®ãã¡ã€ããªã¹ããã€ã¡ãŒãžãã¹ã¯ãã°ã©ãã«å€æããããã«äœ¿çšããŸããã

1æã®åçã§ã®ç«¶äºã®æ¬è³ª
1.ç«¶äº
ç§ã®éå»ã®èšé²ãããããããã«ãç§ãã¡ã¯æã
ç«¶æã«åå ãïŒ 1ããã³2 ïŒããã®ãããªç«¶æã®éžæåºæºã®ç¹å®ã®ã»ãããæã£ãŠããŸã-ãŸããé©åãªã¬ãã«ã®ç«¶æïŒéåžžããµã€ãºã«é¢ããååã«å
¬è¡šãããã³ã³ãã¹ãã¯ã¹ã¿ãã«ãŒã®å€§çŸ€ãåŒãä»ããããã»ã©é£ãããããŸããïŒ ïŒã第2ã«ããããã¯ã«å¯Ÿããå
±éã®é¢å¿ã第3ã«ã課é¡ã
ãã®ç«¶äºã«ã¯ãã¹ãŠã®åºæºããããŸããã
- å³ããææŠãšods.aiããŒã ãç«æŽŸãªå¯ŸæŠçžæã«ãªãå¯èœæ§ãé«ãïŒåœŒãã¯2017幎ã«3ã4åã®ãµãã©ã€ã倧äŒã«åå ããïŒã
- ç«¶äºã§ã¯ãé©åãªã»ãã³ãã£ãã¯ç»åã»ã°ã¡ã³ããŒã·ã§ã³ãæ§ç¯ããã ãã§ãªããäºæž¬ããããã¹ã¯ããã°ã©ããæ§ç¯ããããšãå¿
èŠã§ããã ããã«ãããæ··ä¹±ãæãè峿·±ãã¡ããªãã¯ãçºçããŸããïŒ 1å ã 2å ã ã«ãã«ã€ããŠã®æçš¿ïŒã ãªããžããªã®ã³ãŒãã詊ããŠã¿ã人ã¯ãPythonã³ãŒãã¯ãªãŒããŒããŒããšã©ãããããã倧ããç°ãªããããæçµçã«ã¯èª°ããJavaã§èšè¿°ãããèŠèŠåããŒã«ã䜿çšãããšèšããŸããã
- è峿·±ããšãªã¢ã¯ãè±å¯ãªæ
å ±ãåããè¡æç»åãããŸããŸãªãã£ã³ãã«ã®4ã€ã®éœåžããã®çŽ4000ã®HDç»åã§ãïŒäž»ã«åž¯åå¹
ã8ãã£ã³ãã«MULç»åã ãã³ã·ã£ãŒãã³ MULç»åãããã³éåžžã®RGBã®é«åšæ³¢æŸéããããŸããïŒã
- è峿·±ãããŒã¿ïŒã°ã©ãããžãªã€ãœã³ãè¡æç»åïŒãšæ¢çŽ¢ããæ°ããé åïŒTLDR- skimageãšrasterioã䜿çšã§ããŸã-ãã¹ããæäŸãããªã¹ãã«ããä»ã®ãã¹ãŠã®ã©ã€ãã©ãªã¯AWESOMEã§ã ïŒã ãŸããskimageã¯16ãããç»åãtiffãããã³ãã®ä»ã®å¥åŠãªåœ¢åŒã§ãããŸãæ©èœããããšã倿ããŸããã
- ãããè¯ããæªããã¯ããããŸããããTopCoderãã©ãããã©ãŒã ã«ã¯åå è
ã®é«åºŠãªããæèãå¿
èŠã§ãïŒãã¹ãŠã®æ±ºå®ã¯ãããã³ã°ãããŠããå¿
èŠããããŸãããããã³ã°ã奜ãã§ã¯ãªãããã§ãããŠããããã¹ããäœæããŸãïŒã ãããããã©ãããã©ãŒã èªäœã¯åçŽã«ã²ã©ããã®ã§ãããæäŸãããã³ãŒãã®å質ã¯è°è«ã®äœå°ãã»ãšãã©ãªãããã«æããŸããã ããã¯ç§ãéåžžã«æ©ãŸããŸãã-ããªããå®éã«åé¡ã解決ããã®ã«å€ãã®æéãè²»ãããåŸã圌ãã¯ããªãã«ã³ã³ãã¹ããšã³ãŒãã®ãŸãã«èª¬æãèªã¿ã«ããéåžžã«ãã®ãœãªã¥ãŒã·ã§ã³ãè©°ã蟌ãããã«ãã£ãšæéãè²»ããããé Œã¿ãŸãã
çŸåšäººæ°ã®ããããŒã¿ãµã€ãšã³ã¹ãã©ãããã©ãŒã ã«é¢ããç§ã®ç°¡åãªæèŠïŒ- Kaggleã¯å€ãã®ææã§ãããå°ãªããšã2017幎ã«ã¯ã»ãšãã©ãããžãã¹æåã®ã¿ã¹ã¯ã§ãã
- TopCoderã¯æã
éåžžã«è峿·±ããè€éãªããããªã¿ã¹ã¯ã§ãããå
šäœçã«ãã©ãããã©ãŒã ã¯æããåå è
ã®èŠä»¶ã¯é«ããªããŸãã
- DrivenDataã¯æå°ã§ãããæé«ã§ãã ãããããåéãä»äºãããŠããŠãããªãããããŸãå€ããå¿
èŠãšããªãåªç§ãªäž»å¬è
ã
2.åæããŒã¿åæãšè峿·±ããšããžã±ãŒã¹ã«ã€ããŠãã°ãã


åå°çã°ã©ãã§ã¯ãå°é¢ãšã¢ã¹ãã¡ã«ãã«ã¯å®éã«ã¯éãããŒã¯ããªãããšãããããŸãã ã ããç§ã¯ç°ãªããã£ã³ãã«ã®çµã¿åããããã¹ãããã®ã«å°ãæéãè²»ãããŸãã
äžèšã®å³ã§å
¥åã確èªã§ããŸãããå®éã«äœãèµ·ãããã説æããè峿·±ãç¹ãšæ³šç®ãã¹ããšããžã±ãŒã¹ãããã€ããããŸãã

å
ã®16ãããç»åã®ãã¹ãã°ã©ã

8ãããç»åã®ãã¹ãã°ã©ã ãäžéšã®æ
å ±ã倱ãããŸãã

ã¢ã¹ãã¡ã«ãéè·¯ãšã¢ã¹ãã¡ã«ãéè·¯

éèè£
éè·¯ãšäº€å·®ç¹ãããèè£
éè·¯ã®äŸ

è»ç·ã®çµã¿åãã-ããã€ãã®12è»ç·éè·¯ã«æ³šæããŠãã ãã-åœå¢æ€åæã§ã¯ã

ããªã®å
žåçãªããŒã¯ã¢ããã¯ããŸãè¯ããªã
3.䟿å©ãªèªæž
以äžã¯ãç«¶æäžã«åŠãã ãããã¯ã«é¢ããæé«ã®è³æã®ãªã¹ãã§ãã
ãã¹ãŠã®ã¢ãŒããã¯ãã£ãšå®éšãèŠçŽãããšã次ã®ãããªãã®ãåºãŠããŸãã
- UNET + Imagenetã¯æªããããŸããããLinkNetã®æ¹ãåªããŠããŸãïŒãããã«ç²ŸåºŠãäœäžããŸããã2åé«éã§ç°¡åã§ãïŒã
- 転移åŠç¿ãå¿
èŠã§ãããããè¯ãçµæã«ã€ãªãããŸãã
- ã¹ã±ã«ãã³ãããã¯ãŒã¯ã¯ããã¹ã¯ãã°ã©ãã«å€æããã®ã«æé©ãªããŒã«ã§ãããã«ã¹ã¿ãã€ãºãå¿
èŠã§ãã

Unet +転éåŠç¿

LinkNet

äžéšã®ç§åŠè
ã¯ãŸã MSEã䜿çšããŠããŸã...
4.åæã¢ãŒããã¯ãã£ãªãã·ã§ã³ãšãžã£ã
ãªãŒããŒããŒãäžã®ãã€ã³ãã¯ãçŽ900ã®ãã¹ãç»åã«å¯ŸããŠ0ããã»ãŒ900kã§å§ãŸããåç»åã«0ã1ãå²ãåœãŠãããŸãããããªã®é床ã倧å¹
ã«äœäžãããããæçµã¡ããªãã¯ã¯éœåžéã®å¹³åãšèŠãªãããŸããã

æãå¹ççãªã¢ãã«ã®ã¿ã€ã«é床ååžã ããªã§ã¯ãæ€çãšéå€ã®ã¿ã€ã«ãå€ããã¬ã€ã¢ãŠãã«åé¡ããããé床ã«åœ±é¿ããŸãã ããã«ãäžæµ·ãšãã«ããŒã ã§ã¯tpãšptã®æšå®å€ã®å·®ããã倧ãããªããŸããã€ãŸããã¢ãã«ã®å Žåãã°ã©ãã®ãã¹ãŠã®ãšããžãæ£ããããšã確èªããã®ã¯ã¯ããã«ç°¡åã§ãããèªç¶ã®ã°ã©ãã®ãã¹ãŠã®ãšããžãèŠã€ããããšã¯ã¯ããã«å°é£ã§ã
ç§ã¯å€ãã®ã¢ã€ãã¢ãšã¢ãŒããã¯ãã£ã詊ããŸããããé©ããããšã«ãæãåçŽã§æãçŽ æŽãªã¢ãã«ãæãããŸãæ©èœããŸãããå°ãªããšãä»ã®ã¢ãã«ãããæªããããŸããã§ããïŒä»ã®åå è
ããã¹ãŠããªãšãŒã·ã§ã³ã§äœ¿çšããŸããïŒã
æå€±é¢æ°
- BCE + DICE / BCE + 1-DICE-ã»ãŒåãå§¿ãèŠãã
- ããã§ã®ã¯ãªããã³ã°æå€±é¢æ°ã¯ã²ã©ãããšã倿ããŸãã
- N BCE + DICEãBCE + N DICE-ç§ã®å Žåã¯ããŸããããŸããã§ããã ãã®åŸããã£ããã®ååã¯ãDICEã§ã¯ãªãããŒãDICEïŒå®éã«ã¯æšæž¬ãã¯ã»ã«ã®å²åïŒãš4 * BCE + DICEãããŸãããããšãææ¡ããŸãããããŒãDICEã®ããè¯ãæä»£ããšãå¿
èŠãããããšãèæ
®ããŠã
CNN
- LinkNet34ïŒResnet34 +ãã³ãŒããŒïŒ-æé«ã®é床ãšç²ŸåºŠã
- Linknet50ãLinkNext101ïŒResNeXt + LinkNetïŒãVGG11-Resnet-ãã¹ãŠåãã§ããããšã倿ããŸãããã2ã4åã®ãªãœãŒã¹ãå¿
èŠã§ããã
- ãã¹ãŠã®ãšã³ã³ãŒããŒã¯ãImageNetãessnoã§äºåãã¬ãŒãã³ã°ãããŠããŸãã
- 8ãã£ã³ãã«ã°ãªããã®å Žåãæåã®ã¬ã€ã€ãŒãåã«çœ®ãæããŸãããã3ãã£ã³ãã«ã°ãªãããšã»ãŒåãããã«åäœããŸããïŒãã ããCPUãªãœãŒã¹ãå€ãæ¶è²»ããŸããïŒã
åŠçäž
- äºå€åãã¹ã¯;
- ãã£ã³ãã«ã®ãã¹ãŠã®åççãªçµã¿åããã®ã¢ãã¬ãŒã·ã§ã³åæãè¡ããŸãã-æè¯ã¯æ€çãrgbã8ãã£ã³ãã«ãéœåžïŒã³ãŒã/src/presets.pyã§å¯Ÿå¿ãããã®ãåç
§ïŒã§ããããéãã¯æå°ã§ããïŒ3-5ïŒ
ïŒ;
- åœç¶ãHDç»åã®æ¹ãããã©ãŒãã³ã¹ãåäžããŸããã
- 8ãããç»åãš16ãããç»åããããèªäœãã»ãŒåãã§ããã
- ç»åã®æ£èŠå-Imagenetã®å¹³åå€ãšæšæºåå·®ãæœåºãããšãæå€±é¢æ°ã+2ã3ïŒ
æžå°ããŸãããããªãŒããŒããŒãã§ã¯ããŸãå·®ããããŸããã§ããã
ãã¹ã¯
- APLSã«ãã®ãã¹ã¯ã ãã¹ã¯ã®10ïŒ
ã¯äœæãããŸããã§ããã ãªãŒã¬ãã€ã¶ãŒã®ã³ãŒãã«ã¯ãšã©ãŒåŠçãå«ãŸããŠããããéè·¯ããããŸããã§ããã æåã¯ã¹ããŒã ãã¹ã«ä¹ã£ãŠãã¬ãŒãã³ã°ã«å«ããŸããã§ãããããã®åŸã¯ããããééãã§ããããéåžžã¯ç¢ºèªã§ããŸããã§ããã
- ã©ã€ã³ãskimageã«ããŒããã空ã®ã€ã¡ãŒãžã®çŽ10ïŒ
ã§ä»äžããã ãã§æå€±ã¯æžå°ããŸããããæçµçµæãžã®åœ±é¿ã¯æç¢ºã§ã¯ãããŸããã§ããã
- åãããšã¯ãéè·¯ã®å¹
ãå®éã®å¹
ã«å¯Ÿå¿ãããã¹ã¯ã«ãäžããããŸãã-æå€±ã®ããã«ãããè¯ãåæããŸãããã°ã©ãã¯è¯ããªããŸããã ããããããŒãDICEããã®åé¡ã解決ããã§ãããã
- èè£
ãããŠããªãéè·¯ã®ã¢ãã«ã¯ã貧匱ãªããŒã¿ã®ããã«éåžžã«æªãæ©èœããŸããã
- å€å±€ãã¹ã¯ãæ©èœããŸããã§ããïŒäº€å·®ç¹ã«1å±€ãæªèè£
éè·¯ã«1å±€ãã¢ã¹ãã¡ã«ãéè·¯ã«1å±€ïŒã
ãã¯ã€ãããã¹ã¯ãšããããŒããã¹ã¯ã®ã¢ãã«ã®äºæž¬ãæç¢ºã«ããã·ã£ã ãããã¯ãŒã¯ãæ©èœããŸããã§ããã è峿·±ãããšã«ããã¯ã€ãããã¹ã¯ã§ã®ã¢ãã«äºæž¬ã¯ã¯ããã«è¯ãèŠããŸããããã°ã©ãã¯æªåããŸããã
ãã€ãã©ã€ã³
- 3ãã£ã³ãã«ãŸãã¯8ãã£ã³ãã«ã®ç»åã¯ãã»ãšãã©åãã§ããã
- 90床ã®åè»¢ãæ°Žå¹³ããã³åçŽããªãããå°ããªã¢ãã£ã³å€æã«ãããæå€±ãããã«15ã20ïŒ
æžå°ããŸããã
- ç§ã®æé«ã®ã¢ãã«ã¯ãã«è§£å床ã§ããããã©ã³ãã ãª800x800ã®ã¯ããããããŸãæ©èœããŸããã
ã¢ã³ãµã³ãã«
ç§ã®å Žåã3å+ 4åTTAã¯å¢å ããŸããã§ããã
æããã«ç«¶åä»ç€Ÿã«LBãæŒãäžããä»ã®ã¢ã€ãã¢
- LinkNet34ïŒLinkNet + ResnetïŒ=> Inception encoder-+ 20ã30kïŒInception Resnetã詊ããŠã¿ããã£ãã®ã§ãããäžé£ã®å€±æã®åŸãçµ¶æããŠè©Šããªãã£ãïŒã
- é»è»ã®äžã§-ãã«è§£å床ã®ãã¬ãŒãã³ã°ã æšè«ïŒdownsize => predict => upsize => ensemble-+ 10-20k;
- ã°ã©ããåŸåŠçããã¿ã€ã«ã®ç«¯ã«æã£ãŠããŸã-+ 20ã30kã
- RGBç»åïŒMULãšã¯å¯Ÿç
§çã«ïŒ-+ 10ã15kïŒå
ã®ããŒã¿ã«äžè²«æ§ããªãããïŒã
- 4 BCE + 1 DICEãããŒãDICEãã¡ããªãã¯ãšããŠç£èŠ-+ 10ã30kã

ã¡ã€ã³ã®æšªæ ã ç§ã®ç¥ãéãã誰ããã®åé¡ã解決ããŠããŸããã å¹
ã®åºããã¹ã¯ã¯ãããã解決ããŸããããããã®ã°ã©ãã¯ããŸãæ©èœããŸããã§ããã

ã¯ã€ããã¹ã¯ãkosyachatã§ããäž»ãªçç±-圌ãã¯ããªãŒããšã¿ã³ãçæããŸã=ïŒ

åãåé¡

ããªã¯è²§åŒ±ãªããŒã¯ã¢ããã§ãã æ£®æå°åž¯ãèåãã®ã±ãŒã¹ã§ãã

éå±€åãããéè·¯-ã¯ã€ãã¢ãã«ãšãããŒã¢ãã«ã®äºæž¬

ã¢ãã«ã¯é§è»å Žäžã®éè·¯ãæãã€ãã=ïŒ

æã
PyTorchã¯ãã°ãããããã®ãããªã¢ãŒãã£ãã¡ã¯ããçã¿åºãã
5.ã°ã©ãåãšåºæ¬çãªããã·ã¥ã¢ããã±ãŒã¹
éèŠãªèŠçŽ ã¯ãã¹ã±ã«ãã³ãããã¯ãŒã¯+æ²ç·éè·¯ã®ã°ã©ããšããžã远å ããããšã§ãïŒãã³ãããããDmytroã«æè¬ããŸãïŒïŒã ããã ãã§ãããªããããã10ã«ããããšãä¿èšŒãããŸãã


ãããã®æé ããªããã°ããã¹ãŠã®ãã¹ã¯ã¯æ¬¡ã®ããã«ãªããŸãã
ç§ã詊ãã代æ¿ãã€ãã©ã€ã³
- ã¹ã±ã«ãã³å+ skimageããã®ã³ãŒããŒæ€åº
- ããããã®æ¡åŒµã®ããã€ãã®ããªãšãŒã·ã§ã³
- ããã¯ãã¹ãŠããã€ãã®rib骚ãçã¿åºããŸããããã¹ã±ã«ãã³ãããã¯ãŒã¯ã¯ãŸã ã¯ããã«åªããŠããŸã
æã
ä»ã®ã¡ã³ããŒãå©ããäœåãªãã®
- æ²»çååŸã®æ¡åŒµ;
- ã°ã©ãã®ç«¯ãã»ã«ã®ç«¯ã«ç§»åããŸãã

çµç¹ããã®èŠèŠåã®ããã®ã¿ã«ãµ
6.æçµæ±ºå®

æ¬è³ªçã«TLDRã®ä»£æ¿å
7.çŸããèŠèŠå-ãã¹ãŠã®éœåžã®ã¿ã€ã«ãçµ±åãããŸãã
ååã®å€§äŒã®äŒçµ±ã«åŸãããã£ããã®1人ããtifç»åã®ãžãªããŒã¿ã䜿çšããŠãžãªã»ã«ããéœåžã®ãã«ãµã€ãºã®åçãäœæããŸããã
åçããããã¯ãªãã¯ãããšãé«è§£å床ã§è¡šç€ºã§ããŸãã

ã©ã¹ãã¬ã¹

ããª

äžæµ·

ãã«ããŒã
1ãæã«ããæçš¿ããã®äŸ¿å©ã§è峿·±ããªã³ã¯ïŒ