WebXRãšã³ã³ãã¥ãŒã¿ããžã§ã³ã®èåãæ¢ãããªã¢ã«ã¿ã€ã ç©äœæ€åºãããã©ãŠã¶äžã§çŽæ¥ãæ¡åŒµçŸå®ãšä»®æ³çŸå®ãã©ã®ããã«å€é©ããŠããããåŠã³ãŸãããã
äžçãç¹ãïŒã³ã³ãã¥ãŒã¿ããžã§ã³ã«ããWebXRç©äœèªèã®æ·±æã
ã¹ããŒããã©ã³ãæµ·å€ã®æ€ç©ã«ããããšããã®ååãè©³çŽ°ãæ¯åœèªã§ç©ºäžã«æµ®ãã³äžãã£ãŠè¡šç€ºãããã®ãæ³åããŠã¿ãŠãã ãããæè¡è ãè€éãªæ©æ¢°ãèŠãŠããã®å éšã³ã³ããŒãã³ãã®ã€ã³ã¿ã©ã¯ãã£ããª3Då³ãèŠçã«çŽæ¥éããŠè¡šç€ºãããæ§åãæãæããŠã¿ãŠãã ãããããã¯æªæ¥æ ç»ã®ã¯ã³ã·ãŒã³ã§ã¯ãããŸãããWebXRãšã³ã³ãã¥ãŒã¿ããžã§ã³ãšãã2ã€ã®ç»æçãªæè¡ã®èåã«ãã£ãŠæ¥éã«çŸå®ãšãªãã€ã€ãããã®ã§ãã
ããžã¿ã«ãšç©ççãªäžçã¯ãã¯ãå¥ã ã®é åã§ã¯ãããŸãããæ¡åŒµçŸå®ïŒARïŒãšä»®æ³çŸå®ïŒVRïŒãç·ç§°ããŠãšã¯ã¹ãã³ãããã»ãªã¢ãªãã£ïŒXRïŒã¯ãäž¡è ã®éã«ã·ãŒã ã¬ã¹ãªèåãçã¿åºããŠããŸããé·å¹Žããããã®æ²¡å ¥åäœéšã¯ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã®äžã«éã蟌ããããã¢ããªã¹ãã¢ããã®ããŠã³ããŒããå¿ èŠãšãããŠãŒã¶ãŒã«ãšã£ãŠéå£ãšãªã£ãŠããŸãããWebXRã¯ãã®éå£ãæã¡ç ŽããARãšVRãçŽæ¥ãŠã§ããã©ãŠã¶ã«ãããããŸããããããåãªãèŠèŠçãªãªãŒããŒã¬ã€ã ãã§ã¯äžååã§ããçã«ã€ã³ããªãžã§ã³ãã§ã€ã³ã¿ã©ã¯ãã£ããªäœéšãåµé ããããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãæ¡åŒµããŠããäžçãçè§£ããå¿ èŠããããŸããããã§ãã³ã³ãã¥ãŒã¿ããžã§ã³ãç¹ã«ç©äœæ€åºãç»å ŽãããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«èŠèŠã®åãäžããã®ã§ãã
ãã®å æ¬çãªã¬ã€ãã§ã¯ãWebXRç©äœèªèã®æ žå¿ãžã®æ ã«ãæ¡å ããŸããç§ãã¡ã¯ã³ã¢æè¡ãæ¢æ±ããæè¡çãªã¯ãŒã¯ãããŒãåæããäžçã®ç£æ¥ã«ãããå€é©çãªå®äžçã®ã¢ããªã±ãŒã·ã§ã³ã玹ä»ãããã®åéã®èª²é¡ãšãšããµã€ãã£ã³ã°ãªæªæ¥ã«ç®ãåããŸããããªããéçºè ã§ãããããžãã¹ãªãŒããŒã§ããããã¯ãããžãŒæå¥œå®¶ã§ããããŠã§ããã©ã®ããã«èŠãããšãåŠãã§ããããçºèŠããæºåãããŠãã ããã
ã³ã¢æè¡ã®çè§£
ããã2ã€ã®äžçãèåãããåã«ããã®æ°ããçŸå®ãæ§ç¯ãããåºç€ãšãªãæ±ãçè§£ããããšãäžå¯æ¬ ã§ããäž»èŠãªæ§æèŠçŽ ã§ããWebXRãšã³ã³ãã¥ãŒã¿ããžã§ã³ãåè§£ããŠã¿ãŸãããã
WebXRãšã¯äœãïŒ ã€ããŒã·ããŠã§ãé©åœ
WebXRã¯åäžã®è£œåã§ã¯ãªããæ²¡å ¥åã®ARããã³VRäœéšããŠã§ããã©ãŠã¶ã§çŽæ¥å®è¡ã§ããããã«ãããªãŒãã³ã¹ã¿ã³ããŒãã®ã°ã«ãŒãã§ããããã¯ãWebVRã®ãããªåæã®åãçµã¿ã®é²å圢ã§ãããåçŽãªã¹ããŒããã©ã³ããŒã¹ã®ARããMeta QuestãHTC Viveã®ãããªãã€ãšã³ãVRãããã»ãããŸã§ãããåºç¯ãªããã€ã¹ããµããŒãããããã«çµ±äžãããŠããŸãã
- WebXR Device APIïŒããã¯WebXRã®äžæ žã§ããéçºè ã«AR/VRããŒããŠã§ã¢ã®ã»ã³ãµãŒãæ©èœãžã®æšæºåãããã¢ã¯ã»ã¹ãæäŸããJavaScript APIã§ããããã«ã¯ã3D空éã«ãããããã€ã¹ã®äœçœ®ãšåãã®è¿œè·¡ãç°å¢ã®çè§£ããããŠé©åãªãã¬ãŒã ã¬ãŒãã§ããã€ã¹ã®ãã£ã¹ãã¬ã€ã«çŽæ¥ã³ã³ãã³ããã¬ã³ããªã³ã°ããããšãå«ãŸããŸãã
- ãªãéèŠãªã®ãïŒã¢ã¯ã»ã·ããªãã£ãšãªãŒãïŒWebXRã®æã倧ããªåœ±é¿ã¯ãã®ã¢ã¯ã»ã·ããªãã£ã§ãããŠãŒã¶ãŒã«ã¢ããªã¹ãã¢ã«ã¢ã¯ã»ã¹ãããããŠã³ããŒããåŸ ãããæ°ããã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããå¿ èŠã¯ãããŸããããŠãŒã¶ãŒã¯åã«URLã«ã¢ã¯ã»ã¹ããã ãã§ãããã«æ²¡å ¥åäœéšã«åå ã§ããŸããããã«ãããåå ¥éå£ãåçã«äžãããç¹ã«ã¢ãã€ã«ããŒã¿ãèæ ®ãããå°åã«ãããŠãäžççãªãªãŒãã«å€§ããªåœ±é¿ãäžããŸããåäžã®WebXRã¢ããªã±ãŒã·ã§ã³ã¯ãçè«äžãäžçäžã®ã©ã®ããã€ã¹ã®ã©ã®äºææ§ã®ãããã©ãŠã¶ã§ãå®è¡ã§ããŸãã
ã³ã³ãã¥ãŒã¿ããžã§ã³ãšç©äœæ€åºã®è§£æ
WebXRãè€åçŸå®äžçãžã®çªãæäŸãããªããã³ã³ãã¥ãŒã¿ããžã§ã³ã¯ãã®çªãéããŠèŠãããã®ãçè§£ããããã®ç¥èœãæäŸããŸãã
- ã³ã³ãã¥ãŒã¿ããžã§ã³ïŒããã¯ãã³ã³ãã¥ãŒã¿ã«èŠèŠäžçãè§£éãçè§£ãããããã®äººå·¥ç¥èœïŒAIïŒã®åºç¯ãªåéã§ããã«ã¡ã©ããããªããã®ããžã¿ã«ç»åã䜿çšããŠãæ©æ¢°ã¯äººéã®èŠèŠãšåæ§ã®æ¹æ³ã§ç©äœãèå¥ããåŠçããããšãã§ããŸãã
- ç©äœæ€åºïŒã³ã³ãã¥ãŒã¿ããžã§ã³å ã®ç¹å®ã®éåžžã«å®çšçãªã¿ã¹ã¯ã§ãããç©äœæ€åºã¯åçŽãªç»ååé¡ïŒäŸïŒããã®ç»åã«ã¯è»ãå«ãŸããŠãããïŒãè¶ ããŠããŸããç»åå ã«ã©ã®ç©äœãã©ãã«ããããç¹å®ããããšãç®çãšããéåžžã¯ãããã®åšãã«ããŠã³ãã£ã³ã°ããã¯ã¹ãæç»ããŸããåäžã®ç»åã«ã¯ããããããã¯ã©ã¹ã©ãã«ïŒäŸïŒã人ãããèªè»¢è»ãããä¿¡å·æ©ãïŒãšä¿¡é ŒåºŠã¹ã³ã¢ãæã€è€æ°ã®æ€åºãããç©äœãå«ãŸããå ŽåããããŸãã
- æ©æ¢°åŠç¿ã®åœ¹å²ïŒçŸä»£ã®ç©äœæ€åºã¯ãæ©æ¢°åŠç¿ã®ãµãã»ããã§ãããã£ãŒãã©ãŒãã³ã°ã«ãã£ãŠæ¯ããããŠããŸããã¢ãã«ã¯ãäœçŸäžãã®ã©ãã«ä»ããããç»åãå«ãèšå€§ãªããŒã¿ã»ããã§ãã¬ãŒãã³ã°ãããŸãããã®ãã¬ãŒãã³ã°ãéããŠããã¥ãŒã©ã«ãããã¯ãŒã¯ã¯ããŸããŸãªç©äœãå®çŸ©ãããã¿ãŒã³ãç¹åŸŽããã¯ã¹ãã£ã圢ç¶ãèªèããããšãåŠã³ãŸããYOLOïŒYou Only Look OnceïŒãSSDïŒSingle Shot MultiBox DetectorïŒã®ãããªã¢ãŒããã¯ãã£ã¯ãWebXRã®ãããªã©ã€ããããªã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠäžå¯æ¬ ãªãªã¢ã«ã¿ã€ã ã§ã®æ€åºãå®è¡ããããã«èšèšãããŠããŸãã
亀差ç¹ïŒWebXRãç©äœæ€åºãã©ã®ããã«æŽ»çšããã
æ¬åœã®éæ³ã¯ãWebXRã®ç©ºéèªèèœåãšã³ã³ãã¥ãŒã¿ããžã§ã³ã®æèçè§£ãçµã¿åããããšãã«èµ·ãããŸãããã®çžä¹å¹æã¯ãååçãªARãªãŒããŒã¬ã€ããçŸå®äžçã«åå¿ã§ããèœåçã§ã€ã³ããªãžã§ã³ããªã€ã³ã¿ãŒãã§ãŒã¹ãžãšå€è²ãããŸãããããå¯èœã«ããæè¡çãªã¯ãŒã¯ãããŒãæ¢ã£ãŠã¿ãŸãããã
æè¡çã¯ãŒã¯ãããŒïŒã«ã¡ã©ãã£ãŒããã3DãªãŒããŒã¬ã€ãŸã§
ããªããããŒãã«ã®äžã®äžè¬çãªæç©ãèå¥ããWebXRã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŠãããšæ³åããŠãã ããã以äžã¯ããã©ãŠã¶å ã§èå°è£ã§èµ·ããããšã®ã¹ããããã€ã¹ãããã®åè§£ã§ãã
- WebXRã»ãã·ã§ã³ã®éå§ïŒãŠãŒã¶ãŒã¯ããªãã®ãŠã§ãããŒãžã«ã¢ã¯ã»ã¹ããARäœéšã®ããã«ã«ã¡ã©ãžã®ã¢ã¯ã»ã¹èš±å¯ãäžããŸãããã©ãŠã¶ã¯WebXR Device APIã䜿çšããŠãæ²¡å ¥åARã»ãã·ã§ã³ãéå§ããŸãã
- ãªã¢ã«ã¿ã€ã ã«ã¡ã©ãã£ãŒããžã®ã¢ã¯ã»ã¹ïŒWebXRã¯ãããã€ã¹ã®ã«ã¡ã©ãèŠãŠããçŸå®äžçã®é£ç¶çã§é«ãã¬ãŒã ã¬ãŒãã®ãããªã¹ããªãŒã ãæäŸããŸãããã®ã¹ããªãŒã ããç§ãã¡ã®ã³ã³ãã¥ãŒã¿ããžã§ã³ã¢ãã«ã®å ¥åãšãªããŸãã
- TensorFlow.jsã«ãããªã³ããã€ã¹æšè«ïŒãããªã®åãã¬ãŒã ã¯ããã©ãŠã¶ã§çŽæ¥å®è¡ãããæ©æ¢°åŠç¿ã¢ãã«ã«æž¡ãããŸããããã®äž»èŠãªã©ã€ãã©ãªã¯TensorFlow.jsã§ãéçºè ãJavaScriptã ãã§MLã¢ãã«ãå®çŸ©ããã¬ãŒãã³ã°ãå®è¡ã§ãããªãŒãã³ãœãŒã¹ãã¬ãŒã ã¯ãŒã¯ã§ããã¢ãã«ãããšããžãïŒã€ãŸãããŠãŒã¶ãŒã®ããã€ã¹ïŒã§å®è¡ããããšã¯éåžžã«éèŠã§ãããµãŒããŒãžã®åŸåŸ©ããªãããé å»¶ãæå°éã«æãããŠãŒã¶ãŒã®ã«ã¡ã©ãã£ãŒããããã€ã¹ããåºãå¿ èŠããªããããã©ã€ãã·ãŒã匷åããŸãã
- ã¢ãã«åºåã®è§£éïŒTensorFlow.jsã¢ãã«ã¯ãã¬ãŒã ãåŠçãããã®çµæãåºåããŸãããã®åºåã¯éåžžãæ€åºããããªããžã§ã¯ãã®ãªã¹ããå«ãJSONãªããžã§ã¯ãã§ããåãªããžã§ã¯ãã«ã€ããŠãæ¬¡ã®æ
å ±ãæäŸãããŸãïŒ
classã©ãã«ïŒäŸïŒ'apple', 'banana'ïŒãconfidenceScoreïŒã¢ãã«ãã©ãã ã確信ããŠãããã瀺ã0ãã1ãŸã§ã®å€ïŒãbboxïŒ2Dãããªãã¬ãŒã å ã®[x, y, width, height]座æšã§å®çŸ©ãããããŠã³ãã£ã³ã°ããã¯ã¹ïŒã
- çŸå®äžçãžã®ã³ã³ãã³ãã®ã¢ã³ã«ãŒïŒããã¯æãéèŠãªWebXRç¹æã®ã¹ãããã§ãããããªã®äžã«2Dã©ãã«ãæãã ãã§ã¯äžååã§ããçã®ARäœéšã®ããã«ã¯ãä»®æ³ã³ã³ãã³ãã3D空éã«ååšããããã«èŠããªããã°ãªããŸãããç§ãã¡ã¯ãHit Test APIã®ãããªWebXRã®æ©èœã䜿çšããŸããããã¯ãããã€ã¹ããçŸå®äžçã«ã¬ã€ãæåœ±ããŠç©ççãªè¡šé¢ãèŠã€ãããã®ã§ãã2DããŠã³ãã£ã³ã°ããã¯ã¹ã®äœçœ®ãšããããã¹ãã®çµæãçµã¿åãããããšã§ãçŸå®äžçã®ãªããžã§ã¯ãäžãŸãã¯ãã®è¿ãã®3D座æšã決å®ã§ããŸãã
- 3Dæ¡åŒµã®ã¬ã³ããªã³ã°ïŒThree.jsã®ãããª3Dã°ã©ãã£ãã¯ã¹ã©ã€ãã©ãªãA-Frameã®ãããªãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãèšç®ããã3D座æšã«ä»®æ³ãªããžã§ã¯ãïŒ3Dããã¹ãã©ãã«ãã¢ãã¡ãŒã·ã§ã³ã詳现ãªã¢ãã«ïŒãé 眮ã§ããããã«ãªããŸããWebXRã¯ããã€ã¹ã®äœçœ®ãç¶ç¶çã«è¿œè·¡ããããããŠãŒã¶ãŒãåãåã£ãŠããã®ä»®æ³ã©ãã«ã¯çŸå®äžçã®æç©ã«ãåºå®ãããããŸãŸã§ãããå®å®ãã説åŸåã®ããé¯èŠãçã¿åºããŸãã
ãã©ãŠã¶åãã®ã¢ãã«ã®éžæãšæé©å
ã¢ãã€ã«ãŠã§ããã©ãŠã¶ã®ãããªãªãœãŒã¹ã«å¶çŽã®ããç°å¢ã§é«åºŠãªãã£ãŒãã©ãŒãã³ã°ã¢ãã«ãå®è¡ããããšã¯ã倧ããªèª²é¡ãæç€ºããŸããéçºè ã¯ãããã©ãŒãã³ã¹ã粟床ãã¢ãã«ãµã€ãºã®éã®éèŠãªãã¬ãŒããªããä¹ãè¶ããªããã°ãªããŸããã
- 軜éã¢ãã«ïŒåŒ·åãªãµãŒããŒåãã«èšèšãããå·šå€§ã§æå 端ã®ã¢ãã«ããã®ãŸãŸã¹ããŒããã©ã³ã§å®è¡ããããšã¯ã§ããŸãããã³ãã¥ããã£ã¯ããšããžããã€ã¹å°çšã®éåžžã«å¹ççãªã¢ãã«ãéçºããŸãããMobileNetã¯äººæ°ã®ããã¢ãŒããã¯ãã£ã§ãããCOCO-SSDïŒå€§èŠæš¡ãªCommon Objects in ContextããŒã¿ã»ããã§ãã¬ãŒãã³ã°æžã¿ïŒã®ãããªäºåãã¬ãŒãã³ã°æžã¿ã¢ãã«ã¯TensorFlow.jsã¢ãã«ãªããžããªã§ç°¡åã«å ¥æã§ããå®è£ ã容æã§ãã
- ã¢ãã«æé©åæè¡ïŒããã©ãŒãã³ã¹ãããã«åäžãããããã«ãéçºè ã¯éååïŒã¢ãã«å ã®æ°å€ã®ç²ŸåºŠãäžãããµã€ãºãçž®å°ããŠèšç®ãé«éåããïŒããã«ãŒãã³ã°ïŒãã¥ãŒã©ã«ãããã¯ãŒã¯ã®åé·ãªéšåãåé€ããïŒã®ãããªæè¡ã䜿çšã§ããŸãããããã®ã¹ãããã¯ãããŒãæéãå€§å¹ ã«ççž®ããARäœéšã®ãã¬ãŒã ã¬ãŒããåäžãããã©ã°ãã«ã¯ã€ãã®ãããŠãŒã¶ãŒäœéšãé²ãããšãã§ããŸãã
äžçã®ç£æ¥ã«ãããå®äžçã®ã¢ããªã±ãŒã·ã§ã³
çè«çåºç€ã¯é åçã§ãããWebXRç©äœèªèã®çã®åã¯ãã®å®çšçãªã¢ããªã±ãŒã·ã§ã³ã§æããã«ãªããŸãããã®æè¡ã¯åãªãç®æ°ããã§ã¯ãªããäžçäžã®å€ãã®ã»ã¯ã¿ãŒã§å®éã®åé¡ã解決ãã䟡å€ãåµé ã§ããããŒã«ã§ãã
Eã³ããŒã¹ãšå°å£²
å°å£²æ¥çã¯å€§èŠæš¡ãªããžã¿ã«ãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ãéããŠããŸããWebXRç©äœèªèã¯ããªã³ã©ã€ã³ãšç©ççãªã·ã§ããã³ã°ã®éã®ã®ã£ãããåããæ¹æ³ãæäŸããŸããäžççãªå®¶å ·ãã©ã³ããWebXRäœéšãäœæãããŠãŒã¶ãŒã空ã®ã¹ããŒã¹ã«æºåž¯é»è©±ãåãããšãã¢ããªãåºãšå£ãèªèããæ°ãããœãã¡ãå®ç©å€§ã§éšå±ã«é 眮ããŠèŠèŠåã§ããããã«ããŸããããã«ããŠãŒã¶ãŒãæ¢åã®å€ãå®¶å ·ã«ã«ã¡ã©ãåããããšãã§ããŸããã¢ããªã¯ããããäºäººæããœãã¡ããšããŠèå¥ããäŒç€Ÿã®ã«ã¿ãã°ããã¹ã¿ã€ã«çã«é¡äŒŒããäºäººæããœãã¡ãåŒãåºããŠããŠãŒã¶ãŒããã®å Žã§ãã¬ãã¥ãŒã§ããããã«ããŸããããã«ãããåçŽãªãŠã§ããªã³ã¯ãä»ããŠã¢ã¯ã»ã¹ã§ããã匷åã§ã€ã³ã¿ã©ã¯ãã£ãããã€ããŒãœãã©ã€ãºãããã·ã§ããã³ã°äœéšãçãŸããŸãã
æè²ãšãã¬ãŒãã³ã°
æè²ã¯ã€ã³ã¿ã©ã¯ãã£ãã§ãããšããã¯ããã«é åçã«ãªããŸããäžçäžã®ã©ãã«ããçç©åŠã®åŠçã§ããWebXRã¢ããªã䜿çšããŠäººéã®å¿èã®3Dã¢ãã«ãæ¢çŽ¢ã§ããŸããã¢ãã«ã®ããŸããŸãªéšåã«ããã€ã¹ãåããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯ã倧åèãããå¿å®€ãããå¿æ¿ããèªèããã¢ãã¡ãŒã·ã§ã³åãããè¡æµãšè©³çŽ°ãªæ å ±ã衚瀺ããŸããåæ§ã«ãäžççãªèªåè»äŒç€Ÿã®ç ä¿®äžã®æŽå士ã¯ãã¿ãã¬ããã䜿çšããŠç©ççãªãšã³ãžã³ãèŠãããšãã§ããŸããWebXRã¢ããªã±ãŒã·ã§ã³ã¯ããªã«ã¿ããŒã¿ãŒãã¹ããŒã¯ãã©ã°ããªã€ã«ãã£ã«ã¿ãŒãªã©ã®äž»èŠã³ã³ããŒãã³ãããªã¢ã«ã¿ã€ã ã§èå¥ããæ®µéçãªä¿®çæé ã蚺æããŒã¿ãçŽæ¥èŠçã«éããŠè¡šç€ºããããšã§ãããŸããŸãªåœãèšèªã§ã®ãã¬ãŒãã³ã°ãæšæºåããŸãã
芳å ãšæå
WebXRã¯ãç§ãã¡ãæ è¡ãæåãäœéšããæ¹æ³ãé©åœçã«å€ããããšãã§ããŸããããŒãã®ã³ããã»ãªã蚪ãã芳å å®¢ãæ³åããŠã¿ãŠãã ãããã¬ã€ãããã¯ãèªã代ããã«ã圌ãã¯æºåž¯é»è©±ããããããšãã§ããŸããWebXRã¢ããªã¯ã©ã³ãããŒã¯ãèªèããå šçæã®å€ä»£å»ºé ç©ã®3D埩å ããå£é士ãèœã矀è¡ãšå ±ã«éããŠè¡šç€ºããŸãããšãžããã®åç©é€šã§ã¯ã蚪åè ãç³æ£ºã®ç¹å®ã®è±¡åœ¢æåã«ããã€ã¹ãåãããšãã¢ããªããã®èšå·ãèªèããå³åº§ã«ç¿»èš³ãšæåçèæ¯ãæäŸããŸããããã«ãããèšèªã®å£ãè¶ãããããè±ãã§æ²¡å ¥æã®ããã¹ããŒãªãŒããªã³ã°ãçãŸããŸãã
ç£æ¥ãšãšã³ã¿ãŒãã©ã€ãº
è£œé æ¥ãç©æµã§ã¯ãå¹çãšæ£ç¢ºããæãéèŠã§ããWebXRã¢ããªã±ãŒã·ã§ã³ãå®è¡ããARã°ã©ã¹ãè£ åããååº«äœæ¥å¡ã¯ãè·ç©ã®æ£ãèŠãããšãã§ããŸããã·ã¹ãã ã¯ããŒã³ãŒããè·ç©ã®ã©ãã«ãã¹ãã£ã³ããŠèªèããæ³šæã®ããã«ãããã³ã°ããå¿ èŠãããç¹å®ã®ç®±ããã€ã©ã€ã衚瀺ããŸããè€éãªçµç«ã©ã€ã³ã§ã¯ãå質ä¿èšŒæ€æ»å®ãããã€ã¹ã䜿çšããŠå®æåãèŠèŠçã«ã¹ãã£ã³ã§ããŸããã³ã³ãã¥ãŒã¿ããžã§ã³ã¢ãã«ã¯ãã©ã€ããã¥ãŒãããžã¿ã«èšèšå³ãšæ¯èŒããããšã§ãæ¬ èœããŠããã³ã³ããŒãã³ããæ¬ é¥ãç¹å®ãããã°ãã°æäœæ¥ã§äººçºçãã¹ãçºçããããããã»ã¹ãåçåããŸãã
ã¢ã¯ã»ã·ããªãã£
ããããããã®æè¡ã®æã圱é¿åã®ããçšéã®1ã€ã¯ãã¢ã¯ã»ã·ããªãã£ã®ããã®ããŒã«ãäœæããããšã§ããWebXRã¢ããªã±ãŒã·ã§ã³ã¯ãèŠèŠé害è ã®ããã®äžçµã®ç®ãšããŠæ©èœããããšãã§ããŸããæºåž¯é»è©±ãåæ¹ã«åããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯é²è·¯äžã®ç©äœïŒãæ€ åããããã¢ãããéæ®µããªã©ïŒãæ€åºãããªã¢ã«ã¿ã€ã ã®é³å£°ãã£ãŒãããã¯ãæäŸããŠã圌ããããå®å šãã€ç¬ç«ããŠç°å¢ãããã²ãŒãããã®ãå©ããŸãããŠã§ãããŒã¹ã§ãããšããããšã¯ããã®ãããªéèŠãªããŒã«ãäžçäžã®ãŠãŒã¶ãŒã«å³åº§ã«æŽæ°ããé åžã§ããããšãæå³ããŸãã
課é¡ãšä»åŸã®æ¹åæ§
ãã®å¯èœæ§ã¯èšãç¥ããŸããããåºç¯ãªæ®åãžã®éã«ã¯é害ããªãããã§ã¯ãããŸããããã©ãŠã¶æè¡ã®éçãæŒãåºããããšã¯ãéçºè ããã©ãããã©ãŒã ãç©æ¥µçã«è§£æ±ºã«åãçµãã§ããç¹æã®èª²é¡ããããããŸãã
å æãã¹ãçŸåšã®ããŒãã«
- ããã©ãŒãã³ã¹ãšããããªãŒå¯¿åœïŒããã€ã¹ã®ã«ã¡ã©ã3Dã¬ã³ããªã³ã°çšã®GPUããããŠæ©æ¢°åŠç¿ã¢ãã«çšã®CPUãç¶ç¶çã«å®è¡ããããšã¯ãä¿¡ããããªãã»ã©ãªãœãŒã¹ãæ¶è²»ããŸããããã«ãããããã€ã¹ãéç±ããããããªãŒãæ¥éã«æ¶èããå¯èœæ§ããããã»ãã·ã§ã³ã®å¯èœãªæéãå¶éããŸãã
- å®ç°å¢ã§ã®ã¢ãã«ç²ŸåºŠïŒå®ç§ãªå®éšå®€æ¡ä»¶äžã§ãã¬ãŒãã³ã°ãããã¢ãã«ã¯ãçŸå®äžçã§èŠåŽããããšããããŸãã壿ªãªç §æãå¥åŠãªã«ã¡ã©ã¢ã³ã°ã«ãã¢ãŒã·ã§ã³ãã©ãŒãéšåçã«é ããç©äœã¯ãã¹ãŠãæ€åºç²ŸåºŠãäœäžãããå¯èœæ§ããããŸãã
- ãã©ãŠã¶ãšããŒããŠã§ã¢ã®æçåïŒWebXRã¯æšæºã§ããããã®å®è£ ãšããã©ãŒãã³ã¹ã¯ãã©ãŠã¶ïŒChromeãSafariãFirefoxïŒéããåºå€§ãªAndroidããã³iOSããã€ã¹ã®ãšã³ã·ã¹ãã å šäœã§ç°ãªãå¯èœæ§ããããŸãããã¹ãŠã®ãŠãŒã¶ãŒã«äžè²«ããé«å質ã®äœéšãä¿èšŒããããšã¯ãäž»èŠãªéçºèª²é¡ã§ãã
- ããŒã¿ãã©ã€ãã·ãŒïŒãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒã®ã«ã¡ã©ãžã®ã¢ã¯ã»ã¹ãå¿ èŠãšãããã®å人ã®ç°å¢ãåŠçããŸããéçºè ãã©ã®ããŒã¿ãåŠçãããŠãããã«ã€ããŠéææ§ãæã€ããšãäžå¯æ¬ ã§ããTensorFlow.jsã®ãªã³ããã€ã¹æ§ã¯ããã§å€§ããªå©ç¹ã§ãããäœéšãããè€éã«ãªãã«ã€ããŠãç¹ã«GDPRã®ãããªäžççãªèŠå¶ã®äžã§ã¯ãæç¢ºãªãã©ã€ãã·ãŒããªã·ãŒãšãŠãŒã¶ãŒã®åæã亀æžã®äœå°ãªãå¿ èŠã«ãªããŸãã
- 2Dãã3Dãžã®çè§£ãžïŒçŸåšã®ã»ãšãã©ã®ç©äœæ€åºã¯2Dã®ããŠã³ãã£ã³ã°ããã¯ã¹ãæäŸããŸããçã®ç©ºéã³ã³ãã¥ãŒãã£ã³ã°ã«ã¯3Dç©äœæ€åºãå¿ èŠã§ããã€ãŸããç®±ããæ€ åãã§ããããšã ãã§ãªãããã®æ£ç¢ºãª3Dã®å¯žæ³ãåãã空éå ã®äœçœ®ãçè§£ããããšã§ããããã¯éåžžã«è€éãªåé¡ã§ãããæ¬¡ã®äž»èŠãªããã³ãã£ã¢ã衚ããŠããŸãã
ä»åŸã®å±æïŒWebXRããžã§ã³ã®æ¬¡ãªãå±éã¯ïŒ
æªæ¥ã¯æããã仿¥ã®èª²é¡ã解決ããæ°ããèœåãè§£ãæŸã€æºåãã§ããŠããããã€ãã®ãšããµã€ãã£ã³ã°ãªãã¬ã³ãããããŸãã
- ã¯ã©ãŠãæ¯æŽXRïŒ5Gãããã¯ãŒã¯ã®å±éã«ãããé å»¶ã®éå£ã¯çž®å°ããŠããŸããããã«ããã軜éã§ãªã¢ã«ã¿ã€ã ã®æ€åºã¯ããã€ã¹äžã§è¡ããé«è§£å床ã®ãã¬ãŒã ãã¯ã©ãŠãã«éä¿¡ããŠãã¯ããã«å€§èŠæš¡ã§åŒ·åãªã¢ãã«ã§åŠçãããšãããã€ããªããã¢ãããŒããžã®éãéãããŸããããã«ãããããŒã«ã«ããã€ã¹ã«ä¿åã§ãããã®ãã¯ããã«è¶ ãããäœçŸäžãã®ç°ãªãç©äœã®èªèãå¯èœã«ãªãå¯èœæ§ããããŸãã
- ã»ãã³ãã£ãã¯çè§£ïŒæ¬¡ã®é²åã¯ãåçŽãªã©ããªã³ã°ããã»ãã³ãã£ãã¯çè§£ãžãšç§»è¡ããŠããŸããã·ã¹ãã ã¯åã«ãã«ããããšãããŒãã«ããèªèããã ãã§ãªãããããã®é¢ä¿æ§ãã€ãŸãã«ãããããŒãã«ã®äžã«ãããæºããããšãã§ããããšãçè§£ããããã«ãªããŸãããã®æèèªèã¯ãã¯ããã«æŽç·ŽããæçšãªARã€ã³ã¿ã©ã¯ã·ã§ã³ãå¯èœã«ããŸãã
- çæAIãšã®çµ±åïŒæºã«ã«ã¡ã©ãåããã·ã¹ãã ãããŒããŒããšã¢ãã¿ãŒãèªèããã®ãæ³åããŠã¿ãŠãã ããããããŠãããã£ãšäººéå·¥åŠã«åºã¥ããã»ããã¢ãããææ¡ããŠããšçæAIã«å°ãããšãæ°ããä»®æ³ãªããžã§ã¯ããçæãããçæ³çãªã¬ã€ã¢ãŠãã瀺ãããã«ããªãã®ç©ºéã«é 眮ãããã®ãèŠãããšãã§ããŸãããã®èªèãšåµé ã®èåã¯ãã€ã³ã¿ã©ã¯ãã£ãã³ã³ãã³ãã®æ°ãããã©ãã€ã ãåãéãã§ãããã
- æ¹åãããããŒã«ãšæšæºåïŒãšã³ã·ã¹ãã ãæçããã«ã€ããŠãéçºã¯ããç°¡åã«ãªããŸãããã匷åã§äœ¿ãããããã¬ãŒã ã¯ãŒã¯ããŠã§ãåãã«æé©åããããã倿§ãªäºåãã¬ãŒãã³ã°æžã¿ã¢ãã«ããããŠããå ç¢ãªãã©ãŠã¶ãµããŒãããæ°äžä»£ã®ã¯ãªãšã€ã¿ãŒãæ²¡å ¥åã§ã€ã³ããªãžã§ã³ããªãŠã§ãäœéšãæ§ç¯ããåãäžããã§ãããã
ã¯ããã«ïŒåããŠã®WebXRç©äœæ€åºãããžã§ã¯ã
éçºè ãç®æã人ã ã«ãšã£ãŠãåå ¥éå£ã¯ããªããæããããäœãã§ããããã€ãã®äž»èŠãªJavaScriptã©ã€ãã©ãªã䜿ãã°ããã®æè¡ã®æ§æèŠçŽ ã詊ãããšãã§ããŸãã
å¿ é ã®ããŒã«ãšã©ã€ãã©ãª
- 3Dãã¬ãŒã ã¯ãŒã¯ïŒThree.jsã¯ãŠã§ãäžã®3Dã°ã©ãã£ãã¯ã¹ã®äºå®äžã®æšæºã§ããã絶倧ãªãã¯ãŒãšæè»æ§ãæäŸããŸãããã宣èšçã§HTMLã©ã€ã¯ãªã¢ãããŒãã奜ã人ã«ã¯ãThree.jsã®äžã«æ§ç¯ãããåªãããã¬ãŒã ã¯ãŒã¯ã§ããA-FrameããããWebXRã·ãŒã³ã®äœæãä¿¡ããããªãã»ã©ç°¡åã«ããŸãã
- æ©æ¢°åŠç¿ã©ã€ãã©ãªïŒTensorFlow.jsã¯ãã©ãŠã¶å æ©æ¢°åŠç¿ã®ããã®é Œãã«ãªãéžæè¢ã§ããäºåãã¬ãŒãã³ã°æžã¿ã¢ãã«ãžã®ã¢ã¯ã»ã¹ãšãããããå¹ççã«å®è¡ããããã®ããŒã«ãæäŸããŸãã
- ã¢ãã³ãªãã©ãŠã¶ãšããã€ã¹ïŒWebXRããµããŒãããã¹ããŒããã©ã³ãŸãã¯ãããã»ãããå¿ èŠã§ããChromeãæèŒããã»ãšãã©ã®ææ°ã®Androidãã©ã³ãšSafariãæèŒããiOSããã€ã¹ã¯äºææ§ããããŸãã
é«ã¬ãã«ã®æŠå¿µçãŠã©ãŒã¯ã¹ã«ãŒ
å®å šãªã³ãŒããã¥ãŒããªã¢ã«ã¯ãã®èšäºã®ç¯å²ãè¶ ããŠããŸããã以äžã«JavaScriptã³ãŒãã§å®è£ ããããžãã¯ã®ç°¡ç¥åãããæŠèŠã瀺ããŸãã
- ã·ãŒã³ã®ã»ããã¢ããïŒA-FrameãŸãã¯Three.jsã·ãŒã³ãåæåããWebXRã®'immersive-ar'ã»ãã·ã§ã³ããªã¯ãšã¹ãããŸãã
- ã¢ãã«ã®ããŒãïŒTensorFlow.jsã¢ãã«ãªããžããªãã`coco-ssd`ã®ãããªäºåãã¬ãŒãã³ã°æžã¿ã®ç©äœæ€åºã¢ãã«ãéåæã«ããŒãããŸããããã«ã¯æ°ç§ãããå ŽåãããããããŠãŒã¶ãŒã«ããŒãã£ã³ã°ã€ã³ãžã±ãŒã¿ãŒã衚瀺ããå¿ èŠããããŸãã
- ã¬ã³ããŒã«ãŒãã®äœæïŒãããã¢ããªã±ãŒã·ã§ã³ã®äžå¿ã§ããæ¯ãã¬ãŒã ïŒçæ³çã«ã¯æ¯ç§60åïŒãæ€åºãšã¬ã³ããªã³ã°ã®ããžãã¯ãå®è¡ããŸãã
- ãªããžã§ã¯ãã®æ€åºïŒã«ãŒãå ã§ãçŸåšã®ãããªãã¬ãŒã ãååŸããããŒãããã¢ãã«ã®`detect()`颿°ã«æž¡ããŸãã
- æ€åºã®åŠçïŒãã®é¢æ°ã¯ãæ€åºããããªããžã§ã¯ãã®é åã§è§£æ±ºããããããã¹ãè¿ããŸãããã®é åãã«ãŒãåŠçããŸãã
- æ¡åŒµã®é 眮ïŒååã«é«ãä¿¡é ŒåºŠã¹ã³ã¢ãæã€åæ€åºãªããžã§ã¯ãã«ã€ããŠããã®2DããŠã³ãã£ã³ã°ããã¯ã¹ãã·ãŒã³å ã®3Däœçœ®ã«ãããã³ã°ããå¿ èŠããããŸãããŸããããã¯ã¹ã®äžå€®ã«ã©ãã«ãé 眮ããããšããå§ããHit Testã®ãããªããé«åºŠãªæè¡ã䜿çšããŠãããæ¹è¯ã§ããŸããæ€åºããããªããžã§ã¯ãã®åãã«åãããŠãåãã¬ãŒã ã§3Dã©ãã«ã®äœçœ®ãæŽæ°ããããã«ããŠãã ããã
WebXRãTensorFlow.jsããŒã ã®ãããªã³ãã¥ããã£ããããªã³ã©ã€ã³ã§å©çšå¯èœãªå€æ°ã®ãã¥ãŒããªã¢ã«ããã€ã©ãŒãã¬ãŒããããžã§ã¯ãããããæ©èœçãªãããã¿ã€ããè¿ éã«å®è¡ããã®ã«åœ¹ç«ã¡ãŸãã
çµè«ïŒãŠã§ããç®èŠãããšã
WebXRãšã³ã³ãã¥ãŒã¿ããžã§ã³ã®èåã¯ãåãªãæè¡çãªå¥œå¥å¿ä»¥äžã®ãã®ã§ããããã¯ãç§ãã¡ãæ å ±ãåšå²ã®äžçãšã©ã®ããã«å¯Ÿè©±ãããã®æ ¹æ¬çãªå€åã衚ããŠããŸããç§ãã¡ã¯ãã©ãããªããŒãžãããã¥ã¡ã³ãã®ãŠã§ãããã空éçã§æèãèªèããäœéšã®ãŠã§ããžãšç§»è¡ããŠããŸãããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«èŠãèœåãšçè§£ããèœåãäžããããšã§ãããžã¿ã«ã³ã³ãã³ãããã¯ãç§ãã¡ã®ç»é¢ã«éã蟌ããããããšãªããç©ççãªçŸå®ã®æ§é ã«ç¥çã«ç¹ã蟌ãŸããæªæ¥ãè§£ãæŸã£ãŠããã®ã§ãã
æ ã¯ãŸã å§ãŸã£ãã°ããã§ããããã©ãŒãã³ã¹ã粟床ããã©ã€ãã·ãŒã®èª²é¡ã¯çŸå®ã®ãã®ã§ãããéçºè ãšç ç©¶è ã®ã°ããŒãã«ã³ãã¥ããã£ã¯ãä¿¡ããããªãã»ã©ã®éãã§ãããã«åãçµãã§ããŸããããŒã«ã¯ã¢ã¯ã»ã¹å¯èœã§ãæšæºã¯ãªãŒãã³ã§ãããæœåšçãªã¢ããªã±ãŒã·ã§ã³ã¯ç§ãã¡ã®æ³ååã«ãã£ãŠã®ã¿å¶éãããŸãããŠã§ãã®æ¬¡ã®é²åã¯ããã«ãããŸããããã¯æ²¡å ¥åã§ãã€ã³ããªãžã§ã³ãã§ããããŠä»ãããããªãã®ãã©ãŠã¶ã§å©çšå¯èœã§ãã