翻蚳ãããžã§ã¯ãããã¡ããŠã¹-AIãæŽ»çšããç«çœæ¢ç¥ãœãªã¥ãŒã·ã§ã³ååãšç§ã¯ãAIãã³ã³ãã¥ãŒã¿ãŒããžã§ã³ãèªåãããŒã³ã倩æ°äºå ±ãµãŒãã¹ãçµã¿åãããæ©æç«çœæ€ç¥ãœãªã¥ãŒã·ã§ã³ã§ããPrometheusãããžã§ã¯ãïŒPrometheusïŒã«åãçµãã§ããŸãã ãã®è€åäœã¯ãå®éã®çœå®³ã«å€ããåã«å±±ç«äºãæ€åºããããã«èšèšãããŠããŸãã ç§ãã¡ã¯ããããžã§ã¯ãã®è©³çްãä»çµã¿ãããã³ãã®åºç€ãšãªãçè«çè£
眮ã«ã€ããŠã話ããããšæããŸãã ãããªã¢ã«ã¯ãç¹å®ã®ãã¯ãããžãŒããå¯èœãªéãç¬ç«ããŠæåºããããããç¹å®ã®å®è£
æ©èœïŒCNTKãFaster R-CNNãDockerã³ã³ãããŒãPythonã.NETãã¬ãŒã ã¯ãŒã¯ãªã©ïŒã«é¢å¿ãããå Žåã¯ã
GitHubãªããžããªãŒã«ã¢ã¯ã»ã¹ããŠãã ããã ãããŠãããã§äœ¿çšãããŠããæè¡ã«ã€ããŠèšåããŸãã
å°ããªç޹ä»ïŒ
ããæ°
2017幎ã«ã¯ã森æç«çœãç±³åœçµæžã«çŽ2,000åãã«ã®æå®³ãäžãããšæšå®ãããŸããããããã¯ããªã±ãŒã³ã«ãã被害ããããã«å°ãªãããšã§ãã ããããéãã¯ãç«çœãæé·ããåã«æ¶ç«ããã°ãæå€±ã倧å¹
ã«åæžã§ããããšã§ãã ãã ããç«çœãæ€åºããã¿ã¹ã¯ã¯æ¥åžžçã§å°é£ã§ããã人ã
ã®åå ãå¿
èŠã§ããã»ãšãã©ã®å Žåã圌ãã¯åçŒé¡ãåãã芳枬å¡ã«åº§ã£ãŠãæéå
ã«ç«çœã«æ°ä»ãããšããããããªã³ãã¿ãŒãã¬ã€ãä»ããããŒã³ãéããŠé åãé£ã³åã£ãŠããŸãã Prometheusãããžã§ã¯ãã¯ãåææ®µéã§ç«çœãæ€åºããèªåãããŒã³ã®å©ããåããŠãã®ã«ãŒãã³å
šäœãèªååããããã«èšèšãããŠããŸããããã§ãªããã°ã颚ã也ç¥ããŸãã¯å°åœ¢ã®æ©èœãæ°åã§ãšãªã¢ã®ãšãŒã«ãŒã«ç«çœãåºããã®ã«åœ¹ç«ã¡ãŸãã ããã«ããããã®ç«çœã®ã»ãšãã©ã¯ã人ãå°ãªããç
å·£ã®çºçã远跡ãã人ãããªãé éå°ã§çºçããŸãã
ãããã®é éå°ãããããŒã«ããããã«ãããŒã³ãéããšããããã¯æéå
ã«ç«çœãæ€åºããæå®³ãæå°éã«æããã®ã«åœ¹ç«ã¡ãŸãã
ãããžã§ã¯ã
ããã¡ããŠã¹ã¯3ã€ã®éšåã«åããããšãã§ããŸãïŒ
- ç«çœæ€ç¥ã¢ãžã¥ãŒã«ã¯ã深局åŠç¿ã¢ã«ãŽãªãºã ã䜿çšããŠããããŒã³ã®RGBã«ã¡ã©ïŒã¯ã©ãŠãRESTãµãŒãã¹ãšããŠå®è£
ïŒã䜿çšããŠå°ããªçŠç¹ãç¹å®ããŸãã
- ãã©ã€ããã©ã³ãã³ã°ã¢ãžã¥ãŒã«ã䜿çšãããšããŠãŒã¶ãŒã¯ããããŒã«ãŸãŒã³ãéžæããŠèšç»ã§ããŸãïŒWindowsã¢ããªã±ãŒã·ã§ã³ãšããŠå®è£
ãããæ°è±¡ãããã³ã°ãµãŒãã¹ãšçµ±åãããŠããŸãïŒã
- èŠåã·ã¹ãã ã«ããããŠãŒã¶ãŒã¯ãæ€åºãããç«çœã«ã€ããŠããŒã ã«ãã°ããéç¥ã§ããŸãïŒAzure Functionsããã³Twilioã䜿çšïŒã
ç«çœæ€ç¥
èªåãããŒã³ã䜿çšããŠãé éå°ã®ç«çœãæ€çŽ¢ããŸãã ãªã³ããŒãRGBã«ã¡ã©ã䜿çšããŠãšãªã¢å
šäœãæ®åœ±ããåçãæ©æ¢°åŠç¿ã¢ãã«ã«éããç«çœãæ€çŽ¢ããŠãŠãŒã¶ãŒã«éç¥ããŸãã ã¿ããªããããšããã¿ããªç¡æã§ãã ããããã¡ãã£ãš...
ã¬ãã¹ã³1ïŒãµã€ãºã®åé¡
ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã䜿çšããŠå¿
èŠãªå²åã§ç«çœã倿ããããšã¯å°é£ãªäœæ¥ã§ãã£ããããå¥ã®ã¢ãããŒãã䜿çšããŸããã ãã®å Žåãèµ€å€ç·ã«ã¡ã©ã®æ¹ãæãŸãããããRGBã«ã¡ã©ã䜿çšããããšã¯å®çšçã§ãªããšæãããŸãã ããããæ¶é²å£«ãšè©±ããåŸããã¹ãŠãããã»ã©åçŽã§ã¯ãªãããšãããããŸããïŒèµ€å€ç·ã«ã¡ã©ã§ã¯ãæ°æž©ã®é«ãå Žæã¯ç«ã®ããã«èŠãã衚é¢ã®äžéšã¯å
åå°ã®ç¹æ§ã®ããã«ç±æºã®ããã«èŠããŸãã ããã«ããã®ãããªã«ã¡ã©ã¯ã¯ããã«é«äŸ¡ã§ãã æ¶é²å£«ã¯äž»ã«å€éã«ãããã䜿çšããŠãå®å
šã«æ¶ç«ã§ãããã©ããã確èªããŸãã
äžè¬ã«ãæ©æ¢°åŠç¿ã䜿çšããŠç»åãç¹å®ã®ã«ããŽãªïŒçºç«/éçºç«ïŒã«åé¡ããå Žåã¯ãããããå顿æ³ã䜿çšããŸãã ãã®ããã«ç°¡åã ãã ããåé¡ã«å¿
èŠãªç¹æ§ã¯ããã«ã€ã¡ãŒãžãšæ¯èŒããŠå°ããããå ŽåããããŸãã ããšãã°ãå
žåçãªå°ããªç¹ç«æºã¯æ¬¡ã®ããã«ãªããŸãã

ç§ãã¡ãå«ããã®ãããªå Žåãç¹å®ã®å Žæã«æ³šæãæã£ãããç»åå
ã®æ°ãæ°ããªããšããªããžã§ã¯ããæ±ºå®ããéã«æé«ã®ããã©ãŒãã³ã¹ãåŸãããŸãã ããããã»ãšãã©ã®å Žåããªããžã§ã¯ããæ±ºå®ããã·ã¹ãã ã®ããã€ã¹ã¯ã¯ããã«è€éã§ãã ãã®åé¡ã解決ããã«ã¯ããŸããŸãªæ¹æ³ããããå°åç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ïŒR-CNNïŒããŸãã¯ãããFaster R-CNNã®å®è£
ã䜿çšããŸããã
ãŸãããã䜿çšãããã®ã¯
YoLoãš
Detectron ïŒæè¿ãªãŒãã³ãœãŒã¹ã«ç§»è¡ïŒã§ãã
ãã®ããã»ã¹ã¯ãæ¬¡ã®æé ã§æ§æãããŠããŸãã
- ããŒã«ãªãŒãŒã·ã§ã³ïŒç®çã®ãªããžã§ã¯ããå«ãå¯èœæ§ã®ããç»åå
ã®é åã®ã»ã¯ã·ã§ã³ïŒãµã³ãã«ïŒãçæããå¿
èŠããããŸãã ãããã®é åã¯ãé¢å¿é åïŒROIïŒãšåŒã°ããŸãã ãããã¯ç»åå
šäœãã«ããŒãã倧ããªãã¬ãŒã ã®ã»ããã§ãã Koen EA van de Sandeãã«ãããªããžã§ã¯ãèªèã®éžæçæ€çŽ¢ãšããŠã®ã»ã°ã¡ã³ããŒã·ã§ã³ã§èª¬æãããŠããææ³ã䜿çšããŠROIãçæããŸãã ãã®ææ³ã¯dlib Pythonã©ã€ãã©ãªã«å®è£
ãããŠããŸãã
- ãªããžã§ã¯ãã®åé¡ïŒããã«ãèŠèŠç¹æ§ãåãã¬ãŒã ããæœåºããããããã®è©äŸ¡ãå®è¡ãããã·ã¹ãã ã¯ããã«ãªããžã§ã¯ãããããã©ããããããŠããããäœã§ããããä»®å®ããŸãïŒããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãïŒã
- éæå€§æå¶ïŒåããªããžã§ã¯ãã衚ããã¬ãŒã ãéšåçã«ãŸãã¯å®å
šã«éãªãåã£ãŠããããšããããŸãã ãã®ãããªéè€ãé¿ããããã«ã亀差ãããã¬ãŒã ã¯1ã€ã«çµåãããŸãã ãã®ã¿ã¹ã¯ã«ã¯å€ãã®èšç®èœåãå¿
èŠãªå ŽåããããŸãããIntel Math Libraryã«ã¯ããã€ãã®æé©åãå®è£
ãããŠããŸãã
ã¬ãã¹ã³2ïŒããŒã¿ã«ãã«ããå¿
èŠãªå ŽåããããŸã
æ©æ¢°åŠç¿ã«ã¯ããŒã¿ãå¿
èŠã§ãã ãããããã£ãŒãã©ãŒãã³ã°ïŒã€ãŸãã倿¬¡å
å
¥å空éïŒã§ã¯ãç®çã®èŠèŠçããããã£ãæœåºããããã«å€§éã®ããŒã¿ãå¿
èŠã«ãªããŸãã ãçè§£ã®ãšãããèå³ã®ãããªããžã§ã¯ãã®å€§èŠæš¡ãªããŒã¿ã»ãããèŠã€ããããšã¯å°é£ã§ãïŒçºç«ïŒã ãã®åé¡ã解決ããããã«ãäºåã«èšç·Žãããæ±çšç»ååé¡ã¢ãã«ã§ã転移åŠç¿ãæè¡ã䜿çšããŠãèŠèŠç¹æ§ãæœåºããŸããã ç°¡åã«èšãã°ãäœããå®çŸ©ããããã«äºåã«ãã¬ãŒãã³ã°ãããã¢ãã«ãååŸããããŒã¿ã»ããã䜿çšããŠãæ§æãããŸãã ã€ãŸãããã®ã¢ãã«ã¯ããããã£ãæœåºããã¿ã¹ã¯BïŒéåžžã¯é«ã¬ãã«ã®ã¿ã¹ã¯ïŒã§åŠç¿ãã衚çŸã䜿çšããŠãåé¡BïŒéåžžã¯äœã¬ãã«ã®ã¿ã¹ã¯ïŒã解決ããããšããŸãã åé¡Bã®è§£æ±ºã®æåã¯ãã¿ã¹ã¯Aã®ã¢ãã«ãã¿ã¹ã¯Bã«ã€ããŠã©ãã ãåŠç¿ã§ãããã瀺ããŠããŸãããã®å Žåãã¿ã¹ã¯Aã¯ImageNetãªããžã§ã¯ããåé¡ããã¿ã¹ã¯ã§ãããã¿ã¹ã¯Bã¯ç«çœãèå¥ããŠããŸããã
ãã®ææ³ã¯ãäºååŠç¿æžã¿ã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ããæåŸã®ã¬ã€ã€ãŒãåé€ããç¬èªã®åé¡åšã«çœ®ãæããããšã§é©çšã§ããŸãã æ¬¡ã«ãä»ã®ãã¹ãŠã®ã¬ã€ã€ãŒã®éã¿ãããªãŒãºããéåžžã®æ¹æ³ã§ãã¥ãŒã©ã«ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããŸãã
çµæã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ã¯ããµã€ãºãçŽ250 MBã§ãããããGitHubã§ã¯äœ¿çšã§ããŸããã å¿
èŠãªå Žåã¯ãã
åãåãããã ãã ã
ImageNetã«ã¯æ¢ã«ãã¬ãŒãã³ã°æžã¿ã®ã¢ãã«ã倿°ãããŸãïŒAlexNetãVGGãInceptionãRestNetãªã©ïŒã ãããã®ããããã§ãèè
ã¯ãéåºŠãæ£ç¢ºããããã³æ§é ã«ãããŠç°ãªã劥åã䜿çšããŸããã AlexNetãéžæããçç±ã¯ãå¿
èŠãªèšç®ãªãœãŒã¹ãå°ãªããã¿ã¹ã¯ã®çµæãä»ã®ãããã¯ãŒã¯ãšã»ãšãã©å€ãããªãããã§ãã
ã¬ãã¹ã³3ïŒåç»ïŒç¹ã«åã
ã®ãã¬ãŒã ïŒã芪å
ãããããã¬ãŒãã³ã°ã®ç§»è»¢ã«ãããããããåé¡åé¡ã解決ããããã«ã¯ãŸã å€ãã®ããŒã¿ãå¿
èŠã§ãã ãããŠããããªã掻çšããŸããã åãããªãã倿°ã®ãã¬ãŒã ãæœåºããŠãããã«å€§ããªå€§ããªããŒã¿ã»ãããååŸã§ããŸãã ãããªã«ã¯å¥ã®äŸ¿å©ãªããããã£ããããŸãããªããžã§ã¯ããŸãã¯ã«ã¡ã©ãç§»åãããšãç°ãªãç
§æãç°ãªãè§åºŠãç°ãªãäœçœ®ã§ãªããžã§ã¯ãã®ç»åãååŸããããããããŒã¿ã»ããã¯éåžžã«é«å質ã§ãã
ãµã€ãºãããã¯ã®ãããåçã®ã»ããããªããžããªã«ã¢ããããŒãããŸããã§ããã
ããŸããŸãªãœãŒã¹ã®ãããŒã³ãããããªãåéããæåã§ã©ãã«ãä»ããŸããã 䜿çšãããã£ãŒãã©ãŒãã³ã°ãã¬ãŒã ã¯ãŒã¯ã«å¿ããŠãããŸããŸãªåœ¢åŒã§ç»åã«ã©ãã«ãä»ããããã®ããŒã«ãããã€ããããŸãã Linux / Windowsã®å Žåã¯LabelImgãMacã®å Žåã¯RectLabelããå§ãããŸãã CNTKã䜿çšãããããCNTKããã³TensorFlow圢åŒã«ãšã¯ã¹ããŒãã§ããMicrosoft VoTTããŒã«ã䜿çšããŸããã
ã¬ãã¹ã³4ïŒãããªã«ãŒãã賌å
¥ããïŒãŸãã¯ã¯ã©ãŠããã¬ã³ã¿ã«ããïŒ
ç§ãã¡ã®ãããªå€§ããªã¢ãã«ããã¬ãŒãã³ã°ããã«ã¯ããªãã®èšç®èœåãå¿
èŠã§ãGPUã¯å€§ããªå©ãã«ãªããŸãã NVIDIA GeForce GTX 1050ã䜿çšããŠåŠç¿ããã®ã«çŽ15åããããŸããããããããããªã«ãŒãã䜿çšããŠããŠããã¢ãã«ãã©ã¡ãŒã¿ãŒã®èšå®ã¯å€§ããªå°é£ã§ãã Microsoftã«ã¯ãAzure Experimentation ServiceãšããåªããããŒã«ããããŸãããã®ããŒã«ã䜿çšãããšãã¯ã©ãŠãå
ã®ããŸããŸãªãã©ã¡ãŒã¿ãŒã§è€æ°ã®ãã¬ãŒãã³ã°ã䞊è¡ããŠå®è¡ããååŸãã粟床ãåæã§ããŸãã AWS SageMakerãã芧ãã ããã
ãªããžããªã«
ã¯Sweep_parameters.pyã¹ã¯ãªãããå«ãŸã
ãŠããŸã ãããã«ããããã©ã¡ããªãã¯ã¹ããŒã¹ãèªåçã«ã¯ãªã¢ãããã¿ã¹ã¯ã®åŠç¿ãéå§ãããŸãã
ã§ããïŒ
ããã§ãR-CNNãèšç·ŽããåŠç¿ã®ç§»è»¢ããã£ãŒãã©ãŒãã³ã°ããããªã«ãŒããªã©ã䜿ã£ãŠåŠç¿ããŸãããä»ãä»ã®äººãšä»äºãå
±æããæ¹æ³ãæããŠãã ããã æåã«ãã¢ãã«ãšå¯Ÿè©±ããããã®RESTãµãŒãã¹ãéå§ããŸããã ãã®APIã䜿çšãããšãè©äŸ¡çšã®ç»åãéä¿¡ããç»åã®é åãã¢ãã«ãããçšåºŠç¢ºå®ã«æ±ºå®ããç«çœã®ååšãè¿ãããšãã§ããŸãã ãŸããç»åãå®éã«çºå°ãããŠãããã©ãããAPIã«äŒããããšãã§ããŸãã ä»ã®ãšã³ããã€ã³ãã¯ããã£ãŒãããã¯ãšæ©èœåŒ·åã«äœ¿çšãããŸãã
REST APIãµãŒãã¹ã¯Dockerã³ã³ãããŒã«ããã±ãŒãžåãããã¯ã©ãŠãã§å
¬éãããããããœãªã¥ãŒã·ã§ã³ãå®äŸ¡ã«ã¹ã±ãŒãªã³ã°ã§ããŸãã ãªããžããªã§ãDockerã€ã¡ãŒãžãå«ããã¡ã€ã«ãèŠã€ããããšãã§ããŸãã
é£è¡èšç»
èµ€ãèŠå
ããã¡ããŠã¹ã¯ãããŒã³ã®éãå
ãã©ã®ããã«ããŠç¥ãã®ã§ããïŒ å
šåœæ°è±¡ãµãŒãã¹ãšçµ±åããŠããã¬ããã¢ã©ãŒãããç¹å®ããŸãã ãããã¯ãæ°æž©ã颚åã匷ããæ¹¿åºŠãæ°å§ãç«çœã®å¯èœæ§ãé«ããé åã§ãã æ°è±¡ãµãŒãã¹ã¯ããããã®åœã察象ãšããŠãããããå€åœã®æ€çŽ¢ã«ã¯ã»ãšãã©äœ¿çšã§ããŸããã 仿¥ãç§ãã¡ã¯ã¢ã¡ãªã«ãšã¢ã«ãŒã³ãã³ã®ãµãŒãã¹ãšé£æºããŠããŸãã

å€©æ°æ
å ±
é¢å¿ã®ããå°åã§æ£ç¢ºãªæ°è±¡ããŒã¿ãæã€ããšãéåžžã«éèŠã§ãã æ¶é²å£«ã¯ãã®æ©èœã«ã€ããŠå°ããŸããã National Weather Serviceã®ããããµãŒããŒãä»ããŠæ°è±¡ã¹ããŒã·ã§ã³ãããŒãªã³ã°ããåä¿¡ããæ
å ±ããããã«ãªãŒããŒã¬ã€ããããšã«ãããæ°è±¡ããŒã¿ãååŸããŸãã ããã¯å€©æ°äºå ±ã§ã¯ãªããå®éã®æž¬å®å€ã§ããããšã匷調ããŸãã
ã¢ã¡ãªã«ã®æ°è±¡èŠ³æž¬æ ã
ãã®ã«ãŒããã©ã®ããã«æ©èœãããçè§£ã§ããŸãããïŒ ããã§ããªãã¯äžäººã§ã¯ãããŸããã ããã®äœ¿ãæ¹ãçè§£ããã®ã«æ°é±éããããŸããã ãããäžã®æ
å ±ã¯ã»ãšãã©ãããŸããã æ°è±¡èŠ³æž¬æããã®ããŒã¿ã詊ããŠã¿ããå ŽåãAPIããŒãå
±æããæš©å©ããªãããããããã€ããŒããAPIããŒãååŸããå¿
èŠããããŸãã
èŠåã·ã¹ãã
ã·ã¹ãã ãç«çœãæ€ç¥ãããšããªãã¬ãŒã¿ãŒã«æ€ç¥ã®äºå®ã®ç¢ºèªãæ±ããŸãã ã€ã³ã¿ãŒãã§ã€ã¹ã¯æ¬¡ã®ããã«ãªããŸãã
ç«çœç¢ºèªãŠã£ã³ã㊠ã
ã芧ã®ãšããããã®ãããªå°é£ãªå Žåã§ããã·ã¹ãã ã¯éåžžã«æ£ç¢ºã«æ©èœããŸãã å°ããªèµ€ããã¬ãŒã ã¯ã67ïŒ
ã®ç¢ºçã§ç«çœã®å¢çã瀺ããŠããŸãã å®éãããã¡ããŠã¹ã¯å€§èŠæš¡ãªç«çœãæ€åºããããšããããããã®ãããªã·ããªãªã§é¢ç©ãèšç®ãããšäžå®å®ã«ãªããŸãã æå³ãããšããã«ãã¹ãŠãæŽç¶ãšããŠããŸãã ç§ãã¡ã¯åã«ãã®ãããªç¶æ³ã«èå³ããããŸããã§ããã
èŠåã·ã¹ãã ã¯ãäºåã«ç»é²ãããé»è©±çªå·ã«ç«çœã®GPS座æšãå«ãSMSéç¥ãéä¿¡ããŸãã Twilioã¯ãAPIã䜿çšããŠããã¹ãã¡ãã»ãŒãžãããã°ã©ã ã§éåä¿¡ã§ããã¯ã©ãŠããã©ãããã©ãŒã ã§ãããããé
åžãå®è¡ãããŸãã
èŠãŠã¿ããã§ããïŒ
â
ãœãŒã¹ã³ãŒãã¯ãã¡ãè¬èŸ
ããã¡ããŠã¹ã¯ãã¢ãªãŸãå·ãã³ãæ¶é²å±ãã¢ã«ãŒã³ãã³æ¶é²å±ãã¢ã«ãŒã³ãã³åœç«èŸ²æ¥æè¡ç ç©¶æãšå
±åã§éçºãããŸããã