èªåã»ã³ã¿ãªã³ã°ãšãªã«ããªãŒæ©èœãåãããªã¢ã«ã¿ã€ã åç»ãªããžã§ã¯ã远跡
ããåç»å¶äœããŒã ã¯ãåç»æ åå ã§éžæãããªããžã§ã¯ãã远跡ãããã®åãã«åãããŠãã¬ãŒã ã®äžå¿ã«èªåçã«ç¶æã§ããããŒã«ãå¿ èŠãšããŠããŸãããããã¯ãã¹ã ãŒãºãªé·ç§»ãè€æ°ã®è¿œè·¡ã¢ã«ãŽãªãºã ãªãã·ã§ã³ããããŠãã©ãã«ãŒãã¿ãŒã²ãããèŠå€±ã£ãéã®èªåãªã«ããªãŒæ©èœãåããŠããŸãã
ãããžã§ã¯ããçžè«ãã課é¡
åç»å ã§åã被åäœãäžå€®ã«ç¶æããã«ã¯ãæäœæ¥ãŸãã¯é«äŸ¡ãªç¹æ®ãªæ©åšãå¿ èŠã§ããã
- æåã§ã®ãã¬ãŒãã³ã°èª¿æŽ â ç·šéè ã¯ã被åäœãäžå€®ã«ç¶æããããã«ãäœçœ®èª¿æŽã®ããŒãã¬ãŒã ãæåã§èšå®ããã®ã«äœæéãè²»ãããŠããŸããã
- 远跡ã®å€±æ â ãªããžã§ã¯ããé害ç©ã®åŸãã«ç§»åããããå€èŠãå€åããããåçŽãªãã©ãã«ãŒã«ã¯éãããåãããããããŸããã
- ãªã«ããªãŒæ©èœãªã â ãã©ãã«ãŒãã¿ãŒã²ãããèŠå€±ããšã远跡ã»ãã·ã§ã³å šäœãæåããããçŽãå¿ èŠããããŸããã
- äžå®å®ãªåºå â çã®è¿œè·¡åº§æšã¯ããããããããäžèªç¶ãªã«ã¡ã©ã®åããçã¿åºããŸããã
- ã¢ã«ãŽãªãºã ã®ãã¬ãŒããªã â ã·ããªãªã«ãã£ãŠç°ãªã远跡ã¢ã«ãŽãªãºã ïŒç²ŸåºŠ vs é床ïŒãå¿ èŠã§ããããåãæ¿ãã¯è€éã§ããã
- ã€ã³ã¿ã©ã¯ãã£ããªéžæ â ãŠãŒã¶ãŒã¯å®è¡æã«è¿œè·¡ã¿ãŒã²ãããçŽæçã«éžæããæ¹æ³ãå¿ èŠãšããŠããŸããã
ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³
ç§ãã¡ã¯ãè€æ°ã® OpenCV 远跡ã¢ã«ãŽãªãºã ãç¹åŸŽéãããã³ã°ã«åºã¥ãèªåãªã«ããªãŒãèªç¶ãªåãã®ããã®ã¹ã ãŒãºãªææ°ç§»åå¹³åãããã³ãªããžã§ã¯ãéžæçšã®ã€ã³ã¿ã©ã¯ãã£ã㪠GUI ãåãããªã¢ã«ã¿ã€ã ãªããžã§ã¯ã远跡ã»ã»ã³ã¿ãªã³ã°ã·ã¹ãã ãæ§ç¯ããŸããã
ã¢ãŒããã¯ãã£
- 远跡ãšã³ãžã³ïŒCSRTãKCFãããã³ MOSSE ãã©ãã«ãŒå®è£ ãåãã OpenCV
- ãªã«ããªãŒã·ã¹ãã ïŒãã¢ã°ã©ãã£ãŒããŒã¹ã®åèå¥ãåãã ORB ç¹åŸŽéæœåº
- ã»ã³ã¿ãªã³ã°ãšã³ãžã³ïŒææ°ç§»åå¹³åå¹³æ»åãåããã¢ãã£ã³å€æ
- éžæã€ã³ã¿ãŒãã§ãŒã¹ïŒèŠèŠçãã£ãŒãããã¯ãåããã¯ãªãã¯ïŒãã©ãã° GUI
- èšå®ïŒãã¹ãŠã®è¿œè·¡ã衚瀺ãã»ã³ã¿ãªã³ã°ãã©ã¡ãŒã¿ãŒçšã® YAML ããŒã¹ã®èšå®
远跡ã¢ã«ãŽãªãºã
ãã®ã·ã¹ãã ã¯ãèšå®ãéããŠéžæå¯èœãª3ã€ã®è¿œè·¡ã¢ã«ãŽãªãºã ããµããŒãããŠããŸãã
CSRT (Channel and Spatial Reliability)
è€éãªã·ããªãªã§æé«ã®ç²ŸåºŠãçºæ®ããŸãã空éä¿¡é ŒåºŠããããšãã£ã³ãã«åºæã®éã¿ã䜿çšããŠãéšåçãªãªã¯ã«ãŒãžã§ã³ãå€èŠã®å€åã«å¯Ÿå¿ããŸããé床ããã粟床ãéèŠãªå Žåã«é©ããŠããŸãã
KCF (Kernelized Correlation Filters)
ã»ãšãã©ã®ãŠãŒã¹ã±ãŒã¹ã§ãã©ã³ã¹ã®åããããã©ãŒãã³ã¹ãæäŸããŸããããŒãªãšé åã§ã®å圢çžé¢ã䜿çšããŠãè¯å¥œãªç²ŸåºŠã§å¹ççãªè¿œè·¡ãè¡ããŸããäžçšåºŠã®ãã¬ãŒã ã¬ãŒãã§ã®æ±çšè¿œè·¡ã«é©ããŠããŸãã
MOSSE (Minimum Output Sum of Squared Error)
ãªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³åãã®æéãã©ãã«ãŒã§ããèšç®ã³ã¹ããéåžžã«äœãé©å¿åçžé¢ãã£ã«ã¿ãŒã䜿çšããŸãããã¬ãŒã ã¬ãŒããéèŠã§ããªããžã§ã¯ããäºæž¬å¯èœãªçµè·¯ããã©ãå Žåã«é©ããŠããŸãã
èªåãªã«ããªãŒã·ã¹ãã
ãã©ã€ããªãŒãã©ãã«ãŒãã¿ãŒã²ãããèŠå€±ã£ãå ŽåïŒãªããžã§ã¯ããé ããããã¬ãŒã å€ã«ç§»åãããå€èŠãå€åãããªã©ïŒãã·ã¹ãã ã¯èªåçãªåèå¥ã詊ã¿ãŸãã
- ç¹åŸŽéæœåº â ORB (Oriented FAST and Rotated BRIEF) ãã£ã¹ã¯ãªãã¿ãŒããåæã®ãªããžã§ã¯ãé åãšçŸåšã®ãã¬ãŒã ã®äž¡æ¹ããæœåºããŸãã
- ç¹åŸŽéãããã³ã° â ããã³ã°è·é¢ã«ãããã«ãŒããã©ãŒã¹ãããã³ã°ãè¡ããLowe's ratio test ã§ãã£ã«ã¿ãŒåŠçããŠä¿¡é Œæ§ã®é«ããããã³ã°ã®ã¿ãä¿æããŸãã
- ãã¢ã°ã©ãã£ãŒæšå® â ãããã³ã°ãããç¹åŸŽç¹ãã RANSAC ããŒã¹ã®ãã¢ã°ã©ãã£ãŒãèšç®ããå€ãå€ãæé€ããŸãã
- ããŠã³ãã£ã³ã°ããã¯ã¹ã®ãªã«ããªãŒ â åæããŠã³ãã£ã³ã°ããã¯ã¹ã®ã³ãŒããŒããã¢ã°ã©ãã£ãŒãä»ããŠãªããžã§ã¯ãã®æ°ããäœçœ®ã«å€æããŸãã
- ãã©ãã«ãŒã®ååæå â å埩ãããäœçœ®ãæå¹ã§ããå ŽåïŒæ£ã®å¯žæ³ã§ããã¬ãŒã ã®å¢çå ã«ããå ŽåïŒããã©ãã«ãŒã¯æ°ããå Žæã§ååæåãããŸãã
ããã«ãããã·ã¹ãã ã¯çæéã®ãªã¯ã«ãŒãžã§ã³ããå埩ãããŠãŒã¶ãŒã®ä»å ¥ãªãã«ã¿ãŒã²ãããåææããããšãã§ããŸãã
ã¹ã ãŒãºãªã»ã³ã¿ãªã³ã°
ãã¬ãŒã ã®ç§»å
ãªããžã§ã¯ãã®äœçœ®ã倿ãããšãã·ã¹ãã ã¯ã¢ãã£ã³å€æã䜿çšããŠãããäžå€®ã«é 眮ããŸãã
- ãªããžã§ã¯ãã®äžå¿ãšãã¬ãŒã ã®äžå¿äœçœ®ãèšç®ãããŸã
- å¿ èŠãªç§»åãªãã»ãããèšç®ãããŸã
- èšå®å¯èœãªããã£ã³ã°è²ã䜿çšããŠãã¢ãã£ã³å€æã§ãã¬ãŒã ãã·ãããããŸã
ãžãã¿ãŒã®è»œæž
çã®è¿œè·¡åº§æšã«ã¯ãã€ãºãå«ãŸããŠããŸããã·ã¹ãã ã¯ææ°ç§»åå¹³åå¹³æ»åãé©çšããŸãã
- èšå®å¯èœãªå¹³æ»åä¿æ°ã«ãããå¿çæ§ãšå®å®æ§ã®ãã¬ãŒããªããå¶åŸ¡ãããŸã
- äœãå€ã¯ãããããªé å»¶ã䌎ããããã¹ã ãŒãºã§æ ç»ã®ãããªåããçã¿åºããŸã
- é«ãå€ã¯ãã坿¥ã«è¿œè·¡ããŸãããããå€ãã®ãžãã¿ãŒã瀺ããŸã
- çµæãšããŠãèªç¶ãªã«ã¡ã©è¿œåŸåäœãåŸãããŸã
ã€ã³ã¿ã©ã¯ãã£ããªãªããžã§ã¯ãéžæ
3ã€ã®éžæã¢ãŒãããµããŒããããŠããŸãã
- GUI ã¢ãŒã â èŠèŠçãªãµã€ãºãã£ãŒãããã¯ã䌎ãåç»ãã¬ãŒã äžã§ã®ã¯ãªãã¯ïŒãã©ãã°ãã¹ããŒã¹ããŒ/ãšã³ã¿ãŒã§ç¢ºå®ããšã¹ã±ãŒãã§ãã£ã³ã»ã«ã
- ROI ã¢ãŒã â OpenCV ã®çµã¿èŸŒã¿ã®é¢å¿é åã»ã¬ã¯ã¿ãŒã
- 座æšã¢ãŒã â èšå®ãã¡ã€ã«ããã®äºåå®çŸ©ãããããŠã³ãã£ã³ã°ããã¯ã¹ã
ãªã¢ã«ã¿ã€ã 衚瀺
ãã¥ãŒã¢ãŒãªãŒããŒã¬ã€ã¯ä»¥äžã衚瀺ããŸãã
- 远跡察象ãªããžã§ã¯ãã®åšå²ã®ããŠã³ãã£ã³ã°ããã¯ã¹
- ã¢ã©ã€ã¡ã³ãåç §çšã®äžå€®ååç·
- 远跡ã¹ããŒã¿ã¹ã€ã³ãžã±ãŒã¿ãŒïŒè¿œè·¡äž / ãã¹ã / äžæåæ¢ïŒ
- ããã©ãŒãã³ã¹ç£èŠçšã®çŸåšã® FPS
- ã¢ã¯ãã£ããªãã©ãã«ãŒã¢ã«ãŽãªãºã å
åçã³ã³ãããŒã«
- åç/äžæåæ¢ â ã¹ããŒã¹ããŒã§è¿œè·¡ã®ãªã³/ãªããåãæ¿ããŸãã
- ãªã»ãã â ã»ãã·ã§ã³äžã«æ°ãã远跡ã¿ãŒã²ãããéžæããŸãã
- ã«ãŒã â è¿œè·¡ç¶æ ãç¶æãããŸãŸãåç»ãèªåçã«åéããŸãã
- çµäº â ãªãœãŒã¹ããããã«è§£æŸããŸãã
äž»ãªæ©èœ
- 3ã€ã®è¿œè·¡ã¢ã«ãŽãªãºã â CSRTïŒç²ŸåºŠïŒãKCFïŒãã©ã³ã¹ïŒãMOSSEïŒé床ïŒâ èšå®ã«ããåãæ¿ãå¯èœã
- èªåãªã«ããªãŒ â ãã¢ã°ã©ãã£ãŒã«ãã ORB ç¹åŸŽéãããã³ã°ãã倱ãããã¿ãŒã²ãããåé 眮ããŸãã
- ã¹ã ãŒãºãªã»ã³ã¿ãªã³ã° â ææ°ç§»åå¹³åããžãã¿ãŒãé€å»ããèªç¶ãªåããå®çŸããŸãã
- ã€ã³ã¿ã©ã¯ãã£ããªéžæ â ã¿ãŒã²ããéžæã®ããã®èŠèŠçãã£ãŒãããã¯ãåããã¯ãªãã¯ïŒãã©ãã° GUIã
- ãªã¢ã«ã¿ã€ã ããã©ãŒãã³ã¹ â ã¢ã«ãŽãªãºã ã®éžæã«å¿ã㊠25-60+ FPSã
- ã«ãŒãåç â 远跡ãç¶æãããŸãŸã®é£ç¶åç»åçã
- YAML èšå® â ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒïŒã¢ã«ãŽãªãºã ãå¹³æ»åã衚瀺ãè§£å床ïŒãèšå®å¯èœã
- ã¢ãžã¥ã©ãŒèšèš â ãã©ãã«ãŒãã»ã¬ã¯ã¿ãŒããããªããã»ããµãŒã³ã³ããŒãã³ãéã®æç¢ºãªåé¢ã
ææ
æè¡ã¹ã¿ãã¯
caseStudyDetail.more ã±ãŒã¹ã¹ã¿ãã£
ãã®ä»ã®æè¡å®è£ äºäŸãã芧ãã ãã
AIãæŽ»çšããåæã«ããã¯ãã¹ãã©ãããã©ãŒã ã¢ãã€ã«åç»ç·šé
ã³ã³ãã³ãã¯ãªãšã€ã¿ãŒãã¡ãã£ã¢ãããã§ãã·ã§ãã«ã¯ãå€åºå ã§ã®ããã¹ããŒããªç·šéã¯ãŒã¯ãããŒã®ããã«ãAIé§åååæã®çµæã掻çšã§ããã¢ãã€ã«ãã¡ãŒã¹ãã®åç»ç·šéãœãªã¥ãŒã·ã§ã³ãå¿ èŠãšããŠããŸããã
ãã«ãã«ã¡ã©æ åå¶äœã®ããã®AIãæŽ»çšããçºè©±è æ€åº
ãã«ãã«ã¡ã©ã§ã®ã€ã³ã¿ãã¥ãŒãããã«ãã£ã¹ã«ãã·ã§ã³æ®åœ±ãææããããæ åå¶äœäŒç€Ÿã¯ãè€éãªæ åã®äžãããç¹å®ã®ç¬éã«èª°ã話ããŠããããèªåã§ç¹å®ããæ¹æ³ãå¿ èŠãšããŠããŸããã
ãããã質å
MicrocosmWorks ã¯ã軜é㪠CNN ã䜿çšããŠè¿œè·¡å¯Ÿè±¡ãªããžã§ã¯ãã®èŠèŠçç¹åŸŽåã蟌ã¿ãä¿åããåèå¥ã¢ãžã¥ãŒã«ãå®è£ ããŸããããªã¯ã«ãŒãžã§ã³ããã¬ãŒã ããã®é¢è±ã«ãã远跡ã倱ãããå Žåãã·ã¹ãã ã¯æ€åºããããªããžã§ã¯ããä¿åãããåã蟌ã¿ãšæ¯èŒããæ€çŽ¢ã¢ãŒããã¢ã¯ãã£ãã«ãããªããžã§ã¯ããååºçŸããŠãã2ã3ãã¬ãŒã 以å ã«è¿œè·¡ãå埩ããŸãã
MicrocosmWorks ã¯ãNVIDIA Jetson Orin ããŒããŠã§ã¢ã§ 60fpsãRTX 3060 ã®ãããªã³ã³ã·ã¥ãŒããŒã°ã¬ãŒã GPU ã§ 30fps ã®åŠçãç¶æããããã«ãã©ããã³ã°ãã€ãã©ã€ã³ãæé©åããŸããããããããããåããé¿ããããã®ã¹ã ãŒãºãªãã³è£éãå«ãèªåã»ã³ã¿ãªã³ã°èšç®ã¯ãåºæ¬çãªãã©ããã³ã°ã³ã¹ãã«1ãã¬ãŒã ããã 2ms æªæºã®ãªãŒããŒãããã远å ããŸãã
MicrocosmWorks ã¯ãå é床å¶éãæå€§ãã³é床ããã¬ãŒã äžå€®åšèŸºã®ããããŸãŒã³ååŸã®æ§æå¯èœãªãã©ã¡ãŒã¿ãŒãåããã¢ãŒã·ã§ã³ãã³ãã³ã°ã·ã¹ãã ãèšèšããŸãããã»ã³ã¿ãªã³ã°ã¢ã«ãŽãªãºã ã¯ãèšçæžè¡°ã¹ããªã³ã°ç©çåŠã䜿çšããŠã被åäœãæ¯åããããªãŒããŒã·ã¥ãŒããããããããšãªã远跡ãããã¹ã ãŒãºã§æŸéå質ã®ã«ã¡ã©ã ãŒãã¡ã³ããçæããŸãã
ã¯ããMicrocosmWorks ã¯ã©ã€ãæŸéã®é å»¶èŠä»¶ã«åãããŠã·ã¹ãã ãç¹å¥ã«èšèšããŠãããå®å šãªè¿œè·¡ãšãªãã¬ãŒãã³ã°ãã€ãã©ã€ã³ã¯ã·ã³ã°ã«ãã¬ãŒã é å»¶å ã§åäœããŸãããã®ã·ã¹ãã ã¯ããã¹ã±ããããŒã«ããµãã«ãŒãããã¹æŸéã«å°å ¥ãããŠãããåºè§åºå®ã«ã¡ã©ããèªåçã«ã¿ã€ããªãã©ããŒã«ã åºåãçæããŸãã
MicrocosmWorks ã¯ããªã¢ã«ã¿ã€ã ãããªåŠçã·ã¹ãã ã $30ã$50/æéã®æéã§æ§ç¯ããŠãããã¢ãã«ãã¬ãŒãã³ã°ãGPU æé©åãããã³æŸéçµ±åãå«ã远跡ããã³èªåã»ã³ã¿ãªã³ã°ãœãªã¥ãŒã·ã§ã³ã¯éåžž 400ã600 éçºæéãå¿ èŠãšããŸããJetson ã®ãããªããŒããŠã§ã¢åãã®ãšããžãããã€ã¡ã³ãæé©åã«ã¯ãçŽ 80ã120 æéã®è¿œå æéãå¿ èŠã§ãã
ããžãã¹ã®å€é©ã®æºåã¯ã§ããŠããŸããïŒ
ã客æ§ã®èª²é¡ã«é¡äŒŒã®ãœãªã¥ãŒã·ã§ã³ãé©çšããæ¹æ³ã«ã€ããŠè©±ãåããŸãããã