ãªã¢ã«ã¿ã€ã åç»ãªããžã§ã¯ããã©ããã³ã°ãšèªåã»ã³ã¿ãªã³ã°ã»ãªã«ããª
ããæ åå¶äœããŒã ã¯ãåç»æ åå ã®éžæããããªããžã§ã¯ãã远跡ãããã®ç§»åã«åãããŠãã¬ãŒã å ã§èªåçã«äžå€®ã«ç¶æã§ããããŒã«ãå¿ èŠãšããŠããŸããããã®ããŒã«ã«ã¯ãã¹ã ãŒãºãªãã©ã³ãžã·ã§ã³ãè€æ°ã®ãã©ããã³ã°ã¢ã«ãŽãªãºã ãªãã·ã§ã³ããããŠãã©ãã«ãŒãã¿ãŒã²ãããèŠå€±ã£ãéã®èªåãªã«ããªæ©èœãæ±ããããŸããã
ãããžã§ã¯ããçžè«ãã課é¡
åç»å ã®åã被åäœãäžå€®ã«ç¶æããã«ã¯ãæäœæ¥ãŸãã¯é«äŸ¡ãªç¹æ®ãªæ©åšãå¿ èŠã§ããã
- æåãªãã¬ãŒãã³ã° â ç·šéè ã¯ã被åäœãäžå€®ã«ç¶æããããã«ãäœæéããããŠæåã§äœçœ®èª¿æŽãããŒãã¬ãŒã åããŠããŸãã
- ãã©ããã³ã°å€±æ â ãªããžã§ã¯ããé害ç©ã®åŸãã«ç§»åããããå€èгãå€åããããåçŽãªãã©ãã«ãŒã§ã¯è¿œè·¡ã§ããªãã»ã©éãç§»åãããããŸãã
- ãªã«ããªæ©èœã®æ¬ åŠ â ãã©ãã«ãŒãã¿ãŒã²ãããèŠå€±ããšããã©ããã³ã°ã»ãã·ã§ã³å šäœãæåããããçŽãå¿ èŠããããŸãã
- ããã¡ãªãåºå â çã®ãã©ããã³ã°åº§æšã¯ãããã¡ãªãäžèªç¶ãªã«ã¡ã©ã®åããçã¿åºããŸãã
- ã¢ã«ãŽãªãºã ã®ãã¬ãŒããªã â ããŸããŸãªã·ããªãªã§ç°ãªããã©ããã³ã°ã¢ã«ãŽãªãºã ïŒç²ŸåºŠ vs. é床ïŒãå¿ èŠã§ããããåãæ¿ãã¯è€éã§ãã
- 察話çéžæ â ãŠãŒã¶ãŒã¯ãå®è¡æã«ãã©ããã³ã°ã¿ãŒã²ãããçŽæçã«éžæããæ¹æ³ãå¿ èŠãšããŠããŸãã
ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³
ç§ãã¡ã¯ãè€æ°ã® OpenCV ãã©ããã³ã°ã¢ã«ãŽãªãºã ãç¹åŸŽãããã³ã°ããŒã¹ã®èªåãªã«ããªãèªç¶ãªåãã®ããã®ã¹ã ãŒãºãªææ°ç§»åå¹³åãããã³ãªããžã§ã¯ãéžæçšã®ã€ã³ã¿ã©ã¯ãã£ã㪠GUI ãåãããªã¢ã«ã¿ã€ã ãªããžã§ã¯ããã©ããã³ã°ããã³ã»ã³ã¿ãªã³ã°ã·ã¹ãã ãæ§ç¯ããŸããã
ã¢ãŒããã¯ãã£
- ãã©ããã³ã°ãšã³ãžã³: CSRTãKCFãMOSSE ãã©ãã«ãŒå®è£ ãåãã OpenCV
- ãªã«ããªã·ã¹ãã : ãã¢ã°ã©ãã£ããŒã¹ã®åèå¥ãåãã ORB ç¹åŸŽæœåº
- ã»ã³ã¿ãªã³ã°ãšã³ãžã³: ææ°ç§»åå¹³åå¹³æ»åãåãã affine transformation
- éžæã€ã³ã¿ãŒãã§ãŒã¹: èŠèŠçãã£ãŒãããã¯ãåããã¯ãªãã¯ïŒãã©ãã° GUI
- èšå®: ãã¹ãŠã®ãã©ããã³ã°ã衚瀺ãã»ã³ã¿ãªã³ã°ãã©ã¡ãŒã¿ãŒçšã® YAML ããŒã¹ã®èšå®
ãã©ããã³ã°ã¢ã«ãŽãªãºã
ã·ã¹ãã ã¯ãèšå®ãéããŠéžæå¯èœãª3ã€ã®ãã©ããã³ã°ã¢ã«ãŽãªãºã ããµããŒãããŠããŸãã
CSRT (Channel and Spatial Reliability)
è€éãªã·ããªãªã§æé«ã®ç²ŸåºŠãçºæ®ããŸãã空éä¿¡é ŒåºŠããããšãã£ãã«åºæã®éã¿ã䜿çšããŠãéšåçãªãªã¯ã«ãŒãžã§ã³ãå€èгã®å€åã«å¯Ÿå¿ããŸããé床ããã粟床ãéèŠèŠãããå Žåã«é©ããŠããŸãã
KCF (Kernelized Correlation Filters)
ã»ãšãã©ã®ãŠãŒã¹ã±ãŒã¹ã§ãã©ã³ã¹ã®åããããã©ãŒãã³ã¹ãçºæ®ããŸããFourier domain ã§ã®å圢çžé¢ã䜿çšããŠãå¹ççãã€é«ç²ŸåºŠãªãã©ããã³ã°ãå®çŸããŸããäžçšåºŠã®ãã¬ãŒã ã¬ãŒãã§ã®æ±çšãã©ããã³ã°ã«é©ããŠããŸãã
MOSSE (Minimum Output Sum of Squared Error)
ãªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³åãã®æéã®ãã©ãã«ãŒã§ããèšç®ã³ã¹ããéåžžã«äœãé©å¿çžé¢ãã£ã«ã¿ãŒã䜿çšããŸãããã¬ãŒã ã¬ãŒããéèŠã§ããããªããžã§ã¯ããäºæž¬å¯èœãªçµè·¯ããã©ãå Žåã«é©ããŠããŸãã
èªåãªã«ããªã·ã¹ãã
ãã©ã€ããªãŒãã©ãã«ãŒãã¿ãŒã²ãããèŠå€±ã£ãå ŽåïŒãªããžã§ã¯ããé®èœãããããã¬ãŒã å€ã«ç§»åãããå€èгãå€åãããªã©ïŒãã·ã¹ãã ã¯èªåçãªåèå¥ã詊ã¿ãŸãã
- ç¹åŸŽæœåº â åæãªããžã§ã¯ãé åãšçŸåšã®ãã¬ãŒã ã®äž¡æ¹ãã ORB (Oriented FAST and Rotated BRIEF) èšè¿°åãæœåºããŸã
- ç¹åŸŽãããã³ã° â Hamming distance ãçšããç·åœãããããã³ã°ãè¡ããLowe's ratio test ã§ãã£ã«ã¿ãªã³ã°ããŠä¿¡é Œæ§ã®é«ããããã®ã¿ãä¿æããŸã
- Homography æšå® â ãããã³ã°ãããç¹åŸŽç¹ãã RANSAC ããŒã¹ã® homography ãèšç®ããå€ãå€ãé€å€ããŸã
- ããŠã³ãã£ã³ã°ããã¯ã¹ã®ãªã«ã㪠â åæããŠã³ãã£ã³ã°ããã¯ã¹ã®ã³ãŒããŒã homography ãä»ããŠãªããžã§ã¯ãã®æ°ããäœçœ®ã«å€æããŸã
- ãã©ãã«ãŒã®ååæå â ãªã«ããªãããäœçœ®ãæå¹ã§ããïŒæ£ã®å¯žæ³ãæã¡ããã¬ãŒã ã®å¢çå ã«ããïŒå Žåããã©ãã«ãŒã¯æ°ããäœçœ®ã§ååæåãããŸã
ããã«ãããã·ã¹ãã ã¯çãé®èœããå埩ãããŠãŒã¶ãŒã®ä»å ¥ãªãã«ã¿ãŒã²ãããåææããããšãã§ããŸãã
ã¹ã ãŒãºãªã»ã³ã¿ãªã³ã°
ãã¬ãŒã ã®ç§»å
ãªããžã§ã¯ãã®äœçœ®ã倿ãããšãã·ã¹ãã 㯠affine transformation ã䜿çšããŠãªããžã§ã¯ããäžå€®ã«é 眮ããŸãã
- ãªããžã§ã¯ãã®äžå¿ãšãã¬ãŒã ã®äžå¿äœçœ®ãèšç®ããŸã
- å¿ èŠãªç§»åãªãã»ãããèšç®ããŸã
- èšå®å¯èœãªããã£ã³ã°ã«ã©ãŒãæã€ affine transformation ã䜿çšããŠãã¬ãŒã ãç§»åãããŸã
ãžãã¿ãŒè»œæž
çã®ãã©ããã³ã°åº§æšã«ã¯ãã€ãºãå«ãŸããŠããŸããã·ã¹ãã ã¯ææ°ç§»åå¹³åå¹³æ»åãé©çšããŸãã
- èšå®å¯èœãªå¹³æ»åä¿æ°ã«ãããå¿çæ§ãšå®å®æ§ã®ãã¬ãŒããªããå¶åŸ¡ããŸã
- äœãå€ã¯ãããããªé å»¶ã䌎ããããæ»ããã§æ ç»çãªåããçã¿åºããŸã
- é«ãå€ã¯ããæ£ç¢ºã«è¿œè·¡ããŸãããããå€ãã®ãžãã¿ãŒã瀺ããŸã
- ãã®çµæãèªç¶ãªã«ã¡ã©è¿œåŸåäœãåŸãããŸã
察話åãªããžã§ã¯ãéžæ
3ã€ã®éžæã¢ãŒãããµããŒããããŠããŸãã
- GUI ã¢ãŒã â èŠèŠçãªãµã€ãºãã£ãŒãããã¯ã確èªããªããåç»ãã¬ãŒã äžã§ã¯ãªãã¯ïŒãã©ãã°ããã¹ããŒã¹ããŒ/ãšã³ã¿ãŒã§ç¢ºå®ããšã¹ã±ãŒãã§ãã£ã³ã»ã«ããŸã
- ROI ã¢ãŒã â OpenCV ã®çµã¿èŸŒã¿é¢å¿é åã»ã¬ã¯ã¿ãŒ
- 座æšã¢ãŒã â èšå®ãã¡ã€ã«ããã®äºåå®çŸ©ãããããŠã³ãã£ã³ã°ããã¯ã¹
ãªã¢ã«ã¿ã€ã 衚瀺
ãã¥ãŒã¢ãªãŒããŒã¬ã€ã¯ä»¥äžã衚瀺ããŸãã
- 远跡ããããªããžã§ã¯ãã®åšå²ã®ããŠã³ãã£ã³ã°ããã¯ã¹
- ã¢ã©ã€ã¡ã³ãåç §çšã®äžå€®ååç·
- ãã©ããã³ã°ã¹ããŒã¿ã¹ã€ã³ãžã±ãŒã¿ãŒïŒè¿œè·¡äž / ãã¹ã / äžæåæ¢äžïŒ
- ããã©ãŒãã³ã¹ç£èŠçšã®çŸåšã® FPS
- ã¢ã¯ãã£ããªãã©ãã«ãŒã¢ã«ãŽãªãºã å
åçã³ã³ãããŒã«
- åç/äžæåæ¢ â ã¹ããŒã¹ããŒã§ãã©ããã³ã°ãåãæ¿ããŸã
- ãªã»ãã â ã»ãã·ã§ã³äžã«æ°ãããã©ããã³ã°ã¿ãŒã²ãããéžæããŸã
- ã«ãŒã â ãã©ããã³ã°ç¶æ ãç¶æãããŸãŸåç»ãèªåçã«åéããŸã
- çµäº â ãªãœãŒã¹ãã¯ãªãŒã³ã«è§£æŸããŸã
äž»ãªæ©èœ
- 3ã€ã®ãã©ããã³ã°ã¢ã«ãŽãªãºã â CSRTïŒç²ŸåºŠïŒãKCFïŒãã©ã³ã¹ïŒãMOSSEïŒé床ïŒâ èšå®ã«ããåãæ¿ãå¯èœ
- èªåãªã«ã㪠â ORB ç¹åŸŽãããã³ã°ãš homography ã«ããã倱ãããã¿ãŒã²ãããåé 眮ããŸã
- ã¹ã ãŒãºãªã»ã³ã¿ãªã³ã° â ææ°ç§»åå¹³åã«ããããžãã¿ãŒãæé€ãèªç¶ãªåããå®çŸããŸã
- 察話åéžæ â èŠèŠçãã£ãŒãããã¯ãåããã¯ãªãã¯ïŒãã©ãã° 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ã¯æ¬ã·ã¹ãã ãã©ã€ãæŸéã®äœé å»¶èŠä»¶ãæºããããã«ç¹å¥ã«èšèšããå®å šãªãã©ããã³ã°ããã³ãªãã¬ãŒãã³ã°ãã€ãã©ã€ã³ã¯1ãã¬ãŒã é å»¶å ã§åäœããŸããæ¬ã·ã¹ãã ã¯ãã¹ã±ããããŒã«ããµãã«ãŒãããã¹ãªã©ã®æŸéã§å°å ¥ãããŠãããåºè§ã®åºå®ã«ã¡ã©ããèªåçã«ã¿ã€ããªãã©ããŒã«ã åºåãçæããŸãã
MicrocosmWorksã¯ããªã¢ã«ã¿ã€ã ãããªåŠçã·ã¹ãã ã1æéããã$30ã$50ã®æéã§æ§ç¯ããŠããŸããã¢ãã«ãã¬ãŒãã³ã°ãGPUæé©åãæŸé飿ºãå«ã远跡ããã³èªåã»ã³ã¿ãªã³ã°ãœãªã¥ãŒã·ã§ã³ã¯ãéåžž400ã600æéã®éçºæéãèŠããŸããJetsonã®ãããªããŒããŠã§ã¢åãã®ãšããžãããã€ã¡ã³ãæé©åã«ã¯ãçŽ80ã120æéã®è¿œå æéãå¿ èŠã§ãã
ããžãã¹ã®å€é©ã®æºåã¯ã§ããŠããŸããïŒ
ã客æ§ã®èª²é¡ã«é¡äŒŒã®ãœãªã¥ãŒã·ã§ã³ãé©çšããæ¹æ³ã«ã€ããŠè©±ãåããŸãããã