Yandex.MapsãµãŒãã¹ã®äž»ãªããŒã¿ãœãŒã¹ã®1ã€ã¯ãè¡æç»åã§ãã å°å³ãæäœãããããããããåçã§ã¯ã森æãæ± ãéããå®¶ãªã©ã®ãªããžã§ã¯ãã«ããªãŽã³ã§ããŒã¯ãä»ããããŠããŸãã ç§ãã¡ã¯åœŒããå©ãã人ã
ã®åå ãªãã«å®¶ã®ããªãŽã³ã远å ããããã³ã³ãã¥ãŒã¿ãŒã«æããããšã«ããŸããã
ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ãšåŒã°ãããITã®è²¬ä»»é åã§ããç»åã䜿çšããæäœã®å Žåã é廿°å¹Žã«ããã£ãŠããã®åéã®ã»ãšãã©ã®ã¿ã¹ã¯ã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯ã䜿çšããŠéåžžã«ããŸã解決ãããŠããŸããã 仿¥ã¯ããããã³ã°ã§ãã¥ãŒã©ã«ãããã¯ãŒã¯ã䜿çšããçµéšã«ã€ããŠHabrã®èªè
ã«äŒããŸãã

ãŸããã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ãè¡ããã¥ãŒã©ã«ã°ãªããããã¬ãŒãã³ã°ããŸããã€ãŸããè¡æç»åã®åãã€ã³ããå®¶ã«é¢é£ããŠãããã©ããã倿ããŸãã ãªããžã§ã¯ãæ€åºã ãã§ãªãã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ãå¿
èŠãªã®ã¯ãªãã§ããïŒ æ€åºã®åé¡ã解決ããããšãåºåã§äžé£ã®é·æ¹åœ¢ãåŸãããŸããããã«å
·äœçã«ã¯ã2ã€ã®èŸºãåçŽã§ã2ã€ã®èŸºãæ°Žå¹³ã«ãªããŸãã ãŸããå®¶ã¯éåžžãç»å軞ã«å¯ŸããŠå転ããŸããäžéšã®å»ºç©ãè€éãªåœ¢ç¶ãããŠããŸãã
ã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ã®ã¿ã¹ã¯ã¯ãçŸåšãããŸããŸãªãããã¯ãŒã¯ïŒ
FCN ã
SegNet ã
UNetãªã©ïŒã«ãã£ãŠè§£æ±ºãããŠããŸãã ããªãã¯ç§ãã¡ã«ãšã£ãŠæé©ãªãã®ãéžæããå¿
èŠããããŸãã
è¡æç»åãããã¹ã¯ãåãåã£ãããå®¶ã«å±ãããã€ã³ãã®ååã«å€§ããªã¯ã©ã¹ã¿ãŒãéžæããããããæ¥ç¶ãšãªã¢ã«åéãããšãªã¢ã®å¢çãå€è§åœ¢ã®ãã¯ã¿ãŒåœ¢åŒã§æç€ºããŸãã
ãã¹ã¯ãå®å
šã«æ£ç¢ºã§ã¯ãªãããšã¯æããã§ããã€ãŸããè¿ãã®å®¶ã1ã€ã®æ¥ç¶ãããé åã§äºãã«ãã£ã€ãããšããããŸãã ãã®åé¡ã«å¯ŸåŠããããã«ããããã¯ãŒã¯ãããã«ãã¬ãŒãã³ã°ããããšã«ããŸããã 圌女ã¯ç»åã§rib骚ïŒå®¶ã®å¢çïŒãèŠã€ããæ¥çããã建ç©ãåé¢ããŸãã
ããã§ããã®ãããªã¹ããŒã ãè¿«ããŸããïŒ
æ€åºãããã¯ãŒã¯ãå®å
šã«ç Žæ£ããããšã¯ããã
Mask R-CNNã詊ããŸããã éåžžã®ã»ã°ã¡ã³ããŒã·ã§ã³ãšæ¯èŒãããšããã¹ã¯R-CNNã¯ãªããžã§ã¯ããæ€åºããŠãã¹ã¯ãçæãããããå
±éã®ãã¹ã¯ãæ¥ç¶ãšãªã¢ã«åå²ããå¿
èŠã¯ãããŸããã ããŠãåãªããžã§ã¯ãã®ãã¹ã¯ã®åºå®è§£å床ã®ãã€ãã¹ïŒãããªãã®å ŽåïŒãã€ãŸããè€éãªå¢çç·ãæã€å€§ããªå®¶ã®å Žåããã®å¢çç·ã¯æããã«åçŽåãããŸãã
ããŒã«
次ã«ãããŒã«ã決å®ããå¿
èŠããããŸããã ããã§ã¯ãã¹ãŠãæçœã§ãã
ãOpenCVã¯ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã¿ã¹ã¯ã«æé©ã§ãã ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®éžæã¯ããã¶ãå¹
ããããŸãã
Tensorflowã«æ±ºããŸããã ãã®å©ç¹ïŒ
- ãããã¯ãŒã¯ãçµã¿ç«ãŠãããšãã§ãããããªãéçºãããæ¢è£œã®ããã¥ãŒããã»ããã
- ãããã¯ãŒã¯æ§é ã®è¿
éãªäœæãšãã¬ãŒãã³ã°ã«äŸ¿å©ãªPython APIã
- ãã¬ãŒãã³ã°æžã¿ã®ãããã¯ãŒã¯ã¯ãC ++ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠããã°ã©ã ã§äœ¿çšã§ããŸãïŒPythonã®éšåãšæ¯èŒãããšéåžžã«è²§åŒ±ã§ãããæ¢è£œã®ãããã¯ãŒã¯ãå®è¡ããã«ã¯ååã§ãïŒã
ãã¬ãŒãã³ã°ããã®ä»ã®ãããŒã³ã³ãã¥ãŒãã£ã³ã°ã®ããã«ã
æ¢ã«èª¬æããçŽ æŽãããYandexãã©ãããã©ãŒã ã§
ãã Nirvanaã䜿çšããããšãèšç»ããŸããã
ããŒã¿ã»ãã
ãã¥ãŒã©ã«ãããã¯ãŒã¯ã§ã®äœæ¥ã®80ïŒ
ã®æåã¯ãåªããããŒã¿ã»ããã§æ§æãããŠããŸãã ãããã£ãŠããŸãæåã«ããã®ãããªããŒã¿ã»ãããçµã¿ç«ãŠãå¿
èŠããããŸãã Yandexã«ã¯ããã§ã«ããŒã¯ããããªããžã§ã¯ããå«ãèšå€§ãªæ°ã®è¡æç»åããããŸãã ãã¹ãŠãåçŽãªããã§ãããã®ããŒã¿ãã¢ããããŒãããŠãããŒã¿ã»ããã«åéããã ãã§ãã ãã ããæ³šæç¹ã1ã€ãããŸãã
ããŒã¿ã»ããã®æŽç·Ž
人ãè¡æç»åã§å®¶ãæ€çŽ¢ãããšããæåã«è¡ãããšã¯å±æ ¹ã«æ°ã¥ãããšã§ãã ããããå®¶ã®é«ãã¯ããŸããŸã§ãããè¡æã¯ç°ãªãè§åºŠããåãå°åœ¢ãåãããšãã§ããŸãããŸãããã¯ãã«ãããã«å±æ ¹ã«å¯Ÿå¿ããããªãŽã³ãé
眮ãããšãç»åãæŽæ°ããããšãã«å±æ ¹ãé¢ããªããšããä¿èšŒã¯ãããŸããã ããããåå°ã¯å°é¢ã«æãããŠãããã©ããªè§åºŠããã§ããããã©ãããã§ããåžžã«1ãæã«æ®ã£ãŠããŸãã ãã®ããããã¯ã¿ãŒYandex.Mapã®å®¶ã¯ãåºç€äžããšããŒã¯ãããŠããŸãã ããã¯æ£ããã§ãããç»åãã»ã°ã¡ã³ãåããã¿ã¹ã¯ã§ã¯ã屿 ¹ãæ€çŽ¢ãããããããã¯ãŒã¯ã«æããæ¹ãè¯ãã§ãããããã¯ãŒã¯ãåºç€ãèªèããããã«èšç·Žããããšããåžæã¯éåžžã«å°ããã§ãã ãããã£ãŠãããŒã¿ã»ããã§ã¯ããã¹ãŠã屿 ¹ã«ããŒã¯ããå¿
èŠããããŸãã ãããã£ãŠãåªããããŒã¿ã»ãããäœæããã«ã¯ãå®¶ã®ãã¯ã¿ãŒã¬ã€ã¢ãŠããåºç€ãã屿 ¹ã«ã·ããããæ¹æ³ãåŠã¶å¿
èŠããããŸãã
ç§»åãããªãããã«ããŸããããå質ã¯ããŸãè¯ããããŸããã§ãããããã¯çè§£ã§ããŸããè¡æã®æ®åœ±è§åºŠãç°ãªããå®¶ã®é«ããç°ãªããããåçã§ã¯åºç€ãç°ãªãæ¹åã«ã屿 ¹ããç°ãªãè·é¢ã«ç§»åããŸããã ãããã¯ãŒã¯ã¯ãã®ãããªå€æ§æ§ãã倱ãããããããããã®éã®äœãã®ããã«ãææªã®å Žåãçè§£ã§ããªãäœãã®ããã«èšç·ŽããŸãã ããã«ãã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ã®ãããã¯ãŒã¯ã¯ã蚱容å¯èœãªãã®ãšåæ§ã®çµæãçæããŸããããšããžãæ€çŽ¢ãããšãå質ãåçã«äœäžããŸããã©ã¹ã¿ãŒã¢ãããŒã
ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã®åéã«å
¥ã£ãã®ã§ãæåã«ããããšã¯ããã®ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã«é¢é£ããã¢ãããŒãã詊ãããšã§ããã æåã«ããã¯ãã«ããããã©ã¹ã¿ã©ã€ãºããïŒå®¶ã®ããªãŽã³ãé»ãèæ¯ã«çœãç·ã§æãããŸãïŒã
Sobelãã£ã«ã¿ãŒãè¡æç»åã®ãšããžãéžæããŸãã ãŸãã2ã€ã®ç»åã®çžå¯Ÿçãªãªãã»ãããããããããã®ç»åéã®çžé¢ãæå€§ã«ãªããŸãã Sobelãã£ã«ã¿ãŒã®åŸã®ãšããžã¯éåžžã«ãã€ãºãå€ãããããã®ã¢ãããŒãã1ã€ã®å»ºç©ã«é©çšãããšãåžžã«èš±å®¹ã§ããçµæãåŸããããšã¯éããŸããã ãã ãããã®æ¹æ³ã¯åãé«ãã®å»ºç©ãããå°åã§ããŸãæ©èœããŸããç»åã®åºãé åã§ããã«ãªãã»ãããæ¢ããšãçµæã¯ããå®å®ããŸãã
ã幟äœåŠçãã¢ãããŒã
ããªããªãŒãåãã¿ã€ãã§ã¯ãªããããŸããŸãªå®¶ã§æ§ç¯ãããŠããå Žåã以åã®æ¹æ³ã¯æ©èœããŸããã 幞ããYandexãã¯ãã«ãããäžã®å»ºç©ã®é«ããšãæ®åœ±äžã®è¡æã®äœçœ®ãããã£ãŠããå ŽåããããŸãã ãããã£ãŠã幟äœåŠã®åŠæ ¡ã®ç¥èã䜿çšããŠã屿 ¹ãåºç€ã«å¯ŸããŠã©ãã§ã©ã®è·é¢ãç§»åããããèšç®ã§ããŸãã ãã®æ¹æ³ã«ãããé«å±€ãã«ã®ããå°åã®ããŒã¿ã»ãããæ¹åãããŸããã
ãæåãã¢ãããŒã
æãæéã®ãããæ¹æ³ïŒè¢ããŸãããããŠã¹ãèŠããã¢ãã¿ãŒãèŠã€ããå®¶ã®ãã¯ãã«ã¬ã€ã¢ãŠããåºç€ãã屿 ¹ã«æåã§ç§»åããŸãã ãã®ææ³ã¯ãé©ãã»ã©ã®å質ã®çµæããããããŸããã倧éã«äœ¿çšããããšã¯ãå§ãããŸããããã®ãããªã¿ã¹ã¯ã«åŸäºããŠããéçºè
ã¯ãããã«ç¡é¢å¿ã«ãªãã人çãžã®é¢å¿ã倱ããŸãã
ãã¥ãŒã©ã«ãããã¯ãŒã¯
æçµçã«ã屿 ¹ã®äžã«ååã«ããŒã¯ãããååãªè¡æç»åãååŸããŸããã ãã®ããããã¥ãŒã©ã«ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããæ©äŒããããŸããïŒãã ããçŸæç¹ã§ã¯ãã»ã°ã¡ã³ããŒã·ã§ã³ã§ã¯ãªããä»ã®è¡æç»åã®ã¬ã€ã¢ãŠããæ¹åããŸãïŒã ãããŠããããã£ãã
ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯å
¥åã¯ãè¡æç»åãšãªãã»ããã©ã¹ã¿ã©ã€ãºããŒãã³ã°ã§ããã åºåã§ã¯ãåçŽæ¹åãšæ°Žå¹³æ¹åã®å€äœãšãã2次å
ã®ãã¯ãã«ãåãåããŸããã
ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®å©ããåããŠãå¿
èŠãªå€äœãèŠã€ããŸãããããã«ãããé«ãã瀺ãããŠããªã建ç©ã§è¯å¥œãªçµæãåŸãããšãã§ããŸããã ãã®çµæãæåã®ããŒã¯ã¢ããä¿®æ£ã倧å¹
ã«åæžããŸããã
ç°ãªãå°å-ç°ãªãå®¶
Yandex.Mapsã«ã¯ãå€ãã®è峿·±ãå°åãšå·ããããŸãã ãããããã·ã¢ã§ããå®¶ã¯éåžžã«å€æ§ã§ãããè¡æç»åã§ã®å€èгã«åœ±é¿ããŸãã ãããã£ãŠãããŒã¿ã»ããã«å€æ§æ§ãåæ ããå¿
èŠããããŸãã ããã«ãæåã¯ããã®ãã¹ãŠã®çŽ æŽãããã«å¯ŸåŠããæ¹æ³ãæ¬åœã«çè§£ããŠããŸããã§ããã 巚倧ãªããŒã¿ã»ãããåéããŠããã1ã€ã®ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããŸããïŒ éçºã®ïŒæ¡ä»¶ä»ãïŒã¿ã€ãããšã«ç¬èªã®ããŒã¿ã»ãããäœæããåå¥ã®ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããŸããïŒ ç¹å®ã®ã³ã¢ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããŠãããç¹å®ã®ã¿ã€ãã®éçºåãã«ãã¬ãŒãã³ã°ããŸããïŒ
çµéšçã«ã次ã®ããšãããããŸããã
- ééããªããããŒã«ã®äœ¿çšãèšç»ãããŠããããŸããŸãªçš®é¡ã®å»ºç©ã®ããŒã¿ã»ãããæ¡åŒµããå¿
èŠããããŸãã ããã¿ã€ãã§ãã¬ãŒãã³ã°ããããããã¯ãŒã¯ã¯ãéåžžã«è²§åŒ±ã§ãããå¥ã®ã¿ã€ãã®å»ºç©ãåºå¥ããããšãã§ããŸãã
- ããŒã¿ã»ããå
šäœã§1ã€ã®å€§ããªãããã¯ãŒã¯ããã¬ãŒãã³ã°ããããšããå§ãããŸãã ããŸããŸãªå°åã«éåžžã«ããäžè¬åãããŸãã éçºã®çš®é¡ããšã«åå¥ã®ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããå Žåãå質ã¯åããŸãŸããã»ãšãã©åäžããŸããã ãããã£ãŠãå°åããšã«ç°ãªããããã¯ãŒã¯ãå®è£
ããã®ã¯ç¡æå³ã§ãã ããã«ãããã«ã¯ãããå€ãã®ããŒã¿ãšãéçºã¿ã€ãã®è¿œå ã®åé¡åãå¿
èŠã§ãã
- ããŒã¿ã«æ°ããé åã远å ãããšãã«å€ããããã¯ãŒã¯ã䜿çšãããšããããã¯ãŒã¯ã®åŠç¿é床ã倧å¹
ã«åäžããŸãã æ¡åŒµããŒã¿ã§å€ããããã¯ãŒã¯ãåãã¬ãŒãã³ã°ãããšããããã¯ãŒã¯ããŒãããåŠç¿ããã®ãšã»ãŒåãçµæã«ãªããŸãããå¿
èŠãªæéã¯ã¯ããã«çããªããŸãã

ãœãªã¥ãŒã·ã§ã³ãªãã·ã§ã³
ã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³
ã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ã¯ãããªãããç ç©¶ãããã¿ã¹ã¯ã§ãã
Fully Convolutional Networksã®èšäºãç»å ŽããåŸãã»ãšãã©ã¯ãã¥ãŒã©ã«ãããã¯ãŒã¯ã䜿çšããŠè§£æ±ºãããŸãã ãããã¯ãŒã¯ïŒ
FCN ã
SegNet ãããã³
UNetã調ã¹
ãŸãã ïŒãéžæããåºåã§CRFã®ãããªè¿œå ã®ããªãã¯ãå¿
èŠãã©ãããæ€èšãããã¬ãŒãã³ã°ãã©ã®ãšã©ãŒé¢æ°ã§ãã¬ãŒãã³ã°ãããããæ±ºå®ããã ãã§ãã
ãã®çµæã
äžè¬åãããIntersection Over Union颿°ããšã©ãŒé¢æ°ãšããŠäœ¿çšããU-Netã®ãããªã¢ãŒããã¯ãã£ã«èœã¡çããŸããã ãã¬ãŒãã³ã°ã®ããã«ãè¡æç»åãšããã«å¯Ÿå¿ããããŒãã³ã°ïŒèªç¶ã«ã©ã¹ã¿ã©ã€ãºãããïŒãæ£æ¹åœ¢ã«åãåããããŒã¿ã»ããã«åéããŸããã ããã¯ããªãè¯ãããšã倿ããæã«ã¯ããŸããããŸããã
åäžã®å»ºç©ãããå°åã§ã¯ãã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ã¯æ¬¡ã®æ®µéã§ãããã¯ãã«åã«ç§»è¡ããã®ã«ååã§ããã 建ç©ãå¯éããŠããå Žæã§ã¯ãäœå®
ã¯ç²çæ§ã®ãããšãªã¢ã§ã€ãŸã£ãŠããããšããããŸãã ããããåé¢ããã®ã«ããã£ãã
ãšããžæ€åº
ãã®ã¿ã¹ã¯ã«å¯ŸåŠããããã«ãç»åå
ã®ãšããžãèŠã€ããããšãã§ããŸãã ãšããžãæ€åºããããã«ããããã¯ãŒã¯ããã¬ãŒãã³ã°ããããšã決å®ããŸããïŒãã¥ãŒã©ã«ãããã¯ãŒã¯ã䜿çšããªããšããžæ€çŽ¢ã¢ã«ãŽãªãºã ã¯æããã«éå»ã®ãã®ã§ãïŒã ã¿ã€ãHEDã®ãããã¯ãŒã¯ããã¬ãŒãã³ã°ããŸãããããã«ã€ããŠã¯ãã
å
šäœçã«ãã¹ãããããšããžæ€åºãã§èª¬æããŠããŸãã å
ã®èšäºã§ã¯ããããã¯ãŒã¯ã¯BSDS-500ããŒã¿ã»ããã§ãã¬ãŒãã³ã°ãããŠããããã¹ãŠã®ãšããžãç»åã«ããŒã¯ãããŠããŸãã èšç·Žããããããã¯ãŒã¯ã¯ãå®¶ãéè·¯ãæ¹ãªã©ã®å¢çãªã©ããã¹ãŠã®é¡èãªãšããžãæ€åºããŸããããã¯ãã§ã«è¿ãã®å»ºç©ãåé¢ããã®ã«ååã§ãã ããããããã«é²ãã§ãã»ãã³ãã£ãã¯ã»ã°ã¡ã³ããŒã·ã§ã³ãšåãããŒã¿ã»ããããã¬ãŒãã³ã°ã«äœ¿çšããããšã«ããŸããããã©ã¹ã¿ãŒåãããšãã¯ã建ç©ã®ããªãŽã³å
šäœããã€ã³ããããå¢çã®ã¿ãæç»ããŸãã
çµæã¯éåžžã«çŸããããããããã¯ãŒã¯ããåãåã£ããšããžã«ãã£ãŠå»ºç©ãçŽæ¥ãã¯ãã«åããããšã«ããŸããã ãããŠãããã¯ããªãèµ·ãããŸããã
é ç¹æ€åº
HEDã®ãããªãããã¯ãŒã¯ã¯ãšããžã§åªããçµæãããããããããé ç¹ãæ€åºããããã«ãã¬ãŒãã³ã°ããããšã«ããŸããã å®éãç³ã¿èŸŒã¿å±€ã«äžè¬çãªéã¿ãæã€ãããã¯ãŒã¯ããããŸãã 圌女ã«ã¯åæã«2ã€ã®åºå£ããããŸããããšããžçšãšããŒã¯çšã§ãã ãã®çµæã建ç©ã®ãã¯ãã«åã®å¥ã®ããŒãžã§ã³ãäœæããå Žåã«ãã£ãŠã¯éåžžã«å¥å
šãªçµæã瀺ããŸããã
ãã¹ã¯r-cnn
ãã¹ã¯R-CNNã¯ãFaster R-CNNãªã©ã®æ¯èŒçæ°ãããããã¯ãŒã¯ã®æ¡åŒµã§ãã ãã¹ã¯R-CNNã¯ãªããžã§ã¯ããæ€çŽ¢ãããªããžã§ã¯ãããšã«ãã¹ã¯ãéžæããŸãã ãã®çµæãäœå®
ã®å Žåãå¢çã瀺ãåè§åœ¢ã ãã§ãªããæŽç·Žãããæ§é ãåŸãããŸãã ãã®ã¢ãããŒãã¯ãåçŽãªæ€åºïŒå»ºç©ãé·æ¹åœ¢å
ã«ã©ã®ããã«é
眮ãããŠãããã¯ããããŸããïŒããã³éåžžã®ã»ã°ã¡ã³ããŒã·ã§ã³ïŒè€æ°ã®å®¶ã1ã€ã«ãŸãšããããšãã§ããããããåé¢ããæ¹æ³ãæç¢ºã§ã¯ãããŸããïŒãšæ¯ã¹ãŠæå©ã§ãã Mask R-CNNã䜿çšãããšã远å ã®ããªãã¯ã«ã€ããŠèããå¿
èŠããªããªããŸããåãªããžã§ã¯ãã®ãã¹ã¯å¢çããã¯ãã«åããããã«çµæãååŸããŸãã ãã€ãã¹ããããŸãããªããžã§ã¯ãã®ãã¹ã¯ã®ãµã€ãºã¯åžžã«åºå®ãããŠããŸããã€ãŸãã倧ããªå»ºç©ã®å Žåããã¯ã»ã«ã¬ã€ã¢ãŠãã®ç²ŸåºŠã¯äœããªããŸãã Mask R-CNNã®çµæã¯æ¬¡ã®ããã«ãªããŸãã

æåŸã«Mask R-CNNã詊ããäžéšã®ã¿ã€ãã®å»ºç©ã§ã¯ãã®ã¢ãããŒããä»ã®ããã©ãŒãã³ã¹ãããåªããŠããããšã確èªããŸããã
ãã¯ãã«å
é·æ¹åœ¢ã®ãã¯ãã«å
çŸä»£ã®ãã¹ãŠã®å»ºç¯ã®å€æ§æ§ã«ãããè¡æç»åäžã®å®¶ã¯äŸç¶ãšããŠã»ãšãã©ã®å Žåé·æ¹åœ¢ã®ããã«èŠããŸãã ããã«ã倿°ã®ããªããªãŒã®å Žåãè€éãªããªãŽã³ã§ããŒãã³ã°ããå¿
èŠã¯ãããŸããã ããããããã§ãå°å³äžã®å®¶ã«å°ãä»ãããã ïŒããšãã°ãåèžããŒãããŒã·ããïŒéåžžãããã«ã¯å€ãã®å®¶ããããŸããæåã§ããŒã¯ã¢ããããããšã¯ããã»ã©éèŠã§ã¯ãããŸããããå°å³äžã®é·æ¹åœ¢ã§ããŒã¯ããããšã¯éåžžã«è¯ãããšã§ããïŒãããã£ãŠããã¯ãã«åã®æåã®ã¢ãããŒãã¯éåžžã«ç°¡åã§ããã
- ãå®¶ãã«å¯Ÿå¿ããã©ã¹ã¿é åãååŸããŸãã
- ãã®é åãå«ãæå°é åã®é·æ¹åœ¢ãèŠã€ããŸãïŒããšãã°ã次ã®ããã«ïŒ OpenCV :: minAreaRect ïŒã åé¡ã¯è§£æ±ºããŸããã
ãã®ã¢ãããŒãã®å質ãçæ³ããããé¢ããŠããããšã¯æããã§ãã ãã ããã¢ã«ãŽãªãºã ã¯éåžžã«ã·ã³ãã«ã§ãå€ãã®å Žåæ©èœããŸãã
ããªãŽã³ã®ãã¯ãã«å
ã»ã°ã¡ã³ããŒã·ã§ã³ã®å質ãååã§ããã°ãå®¶ã®èŒªéãããæ£ç¢ºã«åçŸã§ããŸãã è€éãªåœ¢ç¶ã®ã»ãšãã©ã®å»ºç©ã§ã¯ãè§åºŠã¯ã»ãšãã©æ£ããã®ã§ãçŽäº€ãã蟺ãæã€å€è§åœ¢ãæ§ç¯ããã¿ã¹ã¯ã«åé¡ãæžããããšã«ããŸããã ããã解決ããããã«ã2ã€ã®ç®æšãäžåºŠã«éæããŸããæãåçŽãªããªãŽã³ãèŠã€ãã建ç©ã®åœ¢ç¶ãã§ããã ãæ£ç¢ºã«ç¹°ãè¿ãããšã§ãã ãããã®ç®æšã¯äºãã«ç«¶åããããã远å ã®æ¡ä»¶ãå°å
¥ããå¿
èŠããããŸããå£ã®æå°é·ããã©ã¹ã¿ãŒé åããã®æå€§åå·®ãªã©ãå¶éããããã§ãã
ç§ãã¡ãæåã«æãã€ããã¢ã«ãŽãªãºã ã¯ãçŽç·äžã®ç¹ã®æåœ±ã®æ§ç¯ã«åºã¥ããŠããŸããã
- 1ã€ã®å®¶ã«å¯Ÿå¿ããã©ã¹ã¿ãŒé åã®èŒªéãèŠã€ããŸãã
- ãã°ã©ã¹ããã«ãŒã¢ã«ãŽãªãºã ãªã©ã䜿çšããŠãåè·¯ãåçŽåããããšã«ãããåè·¯å
ã®ãã€ã³ãæ°ãæžãããŸã ã
- ã¢ãŠãã©ã€ã³ã§æãé·ã蟺ãèŠã€ããŸãã å°æ¥ã®çŽäº€ããªãŽã³å
šäœã®è§åºŠã決å®ããã®ã¯ããã®åŸæè§ã§ãã
- 次ã®èŒªéç¹ããåã®åŽãžã®æåœ±ãäœæããŸãã
- åŽé¢ãæåœ±ç¹ãŸã§å»¶é·ããŸãã ãã€ã³ããããã®æåœ±ãŸã§ã®è·é¢ã建ç©ã®æçå£ããã倧ããå Žåãçµæã®ã»ã°ã¡ã³ãã建ç©ã®èŒªéã«è¿œå ããŸãã
- åè·¯ãéãããŸã§ãæé 4ãš5ãç¹°ãè¿ããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯éåžžã«åçŽã§ãããã«çµæãåŸãããŸãããããã§ã建ç©ã®èŒªéãéåžžã«ããããããšãããããŸãã ãã®åé¡ã«å¯ŸåŠããããšããŠããã®åé¡ã®ããªãè峿·±ã
解決çã«åºäŒããŸãããããã¯ã空éå
ã®æ£æ¹åœ¢ã°ãªããã䜿çšããŠããªãŽã³ãè¿äŒŒãããã®ã§ãã ç°¡åã«èª¬æãããšãã¢ã«ãŽãªãºã ã¯3ã€ã®ã¢ã¯ã·ã§ã³ã§æ§æãããŠããŸãã
- ãŒããäžå¿ãšãã空éã«æ£æ¹åœ¢ã®ã°ãªãããäœæããŸãã
- å
ã®èŒªéããå°ãé¢ããäœçœ®ã«ããã°ãªãããã€ã³ãã§ãç°ãªãããªãŽã³ãäœæããŸãã
- é ç¹ã®æ°ãæå°ã®ããªãŽã³ãéžæããŸãã
ã°ãªããã®å¿
èŠãªå転è§åºŠã¯äºåã«ããã£ãŠããªããããããã€ãã®å€ãæŽçããå¿
èŠããããããã©ãŒãã³ã¹ã«ã»ãšãã©åœ±é¿ããŸããã ãã ãããã®ã¢ã«ãŽãªãºã ã«ãããèŠèŠçã«çŸããçµæãåŸãããšãã§ããŸãã
ãã¯ãã«åã®æ¹å
ç§ãã¡ã¯å®éã«ããããã®å®¶ã§å¥ã
ã«åããŠããŸãããã æåã®æ®µéãå®äºãããšãç»åå
šäœãæ¢ã«äœ¿çšããŠçµæãæ¹åã§ããŸãã ãããè¡ãããã«ãäžé£ã®ããªãŽã³ã«å¯ŸããåŸåŠçã¢ã«ãŽãªãºã ã远å ãããŸããã æ¬¡ã®ãã¥ãŒãªã¹ãã£ãã¯ã䜿çšããŸããã
- éåžžã飿¥ããå®¶ã®å£ã¯å¹³è¡ã§ãã ããã«ãã»ãšãã©ã®å Žåãå®¶ã¯ã»ããã«çµåããããã®äžã«ãã¹ãŠã®èŠçŽ ãé
眮ãããŸãã
- ç»åäžã§éè·¯ããã§ã«ããŒã¯ãããŠããå ŽåãããªãŽã³ã®åŽé¢ãéè·¯ãšå¹³è¡ã«ãªãå¯èœæ§ãéåžžã«é«ããªããŸãã
- ããªãŽã³ã亀差ããå Žåã¯ãããããã亀差ç¹ãæ¶ããããã«å£ãç§»åããã®ãçã«ããªã£ãŠããŸãã
ãã®çµæã次ã®ã¢ã«ãŽãªãºã ãç»å ŽããŸããã
- ç§ãã¡ã¯ããããã®éã®è·é¢ãšå転è§åºŠã«ãã£ãŠèŠã€ãã£ãå®¶ãã¯ã©ã¹ã¿ãŒåããŸãã åã¯ã©ã¹ã¿ãŒã®å»ºç©ã®å転ãå¹³åããŸãã 建ç©ã®äœçœ®ãå€åããªããªããŸã§ããŸãã¯å®¶ãåæäœçœ®ãã倧ããå€ãå§ãããŸã§ç¹°ãè¿ããŸãã
- éè·¯ã®è¿ãã«å®¶ãéžã³ãéè·¯åŽã«æãé·ããŠæãè¿ãå®¶ãèŠã€ããŸãã å®¶ããéžæããåŽãšéè·¯ã®å¹³è¡åºŠãŸã§äžããŸãã
- ããªãŽã³éã®äº€å·®ãåé€ãã亀差ãã2ã€ã®å»ºç©ã®èŸºã蟺ã®ãµã€ãºã«æ¯äŸããŠã·ããããŸãã
çµæ
ãã®çµæãããŸããŸãªçš®é¡ã®å»ºç©ãèªèã§ããããŒã«ãæã«å
¥ããŸããã ããã¯ãå°å³è£œäœè
ã®å€§å€ãªäœæ¥ã«åœ¹ç«ã¡ãŸããè¡æ¹äžæã®å®¶ã®æ€çŽ¢ã倧å¹
ã«é«éåãããŸã èäœãããŠããªãæ°ãããšãªã¢ãåããŸãã çŸæç¹ã§ã¯ããã®ããŒã«ã䜿çšããŠ800,000以äžã®æ°ãããªããžã§ã¯ãã人æ°ãããã«è¿œå ãããŠããŸãã
以äžã«ãèªèã®äŸãããã€ã瀺ããŸãã