ãªã³ãã«ãã¡ãã©ã¯ããšãŒããããšã¢ãžã¢ã®ã·ã£ããŠã·ã¢ã¿ãŒã®äŒçµ±ãçµã¿åããããããã¿ã€ãã¢ããªã±ãŒã·ã§ã³ã§ãã ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ã Intel RealSense SDKã䜿çšããŠããžã§ã¹ãã£ã«ãã£ãŠå¶åŸ¡ãããã·ã£ããŠã䜿çšããã€ã³ã¿ã©ã¯ãã£ããªã²ãŒã ãäœæããŸãã éçºããã»ã¹ã§ã¯ãã²ãŒã ã®äœæè ïŒThi Binh Minh NguyenãšPrefrontal Cortexã®ã¡ã³ããŒïŒã®ããŒã ã¯å€ãã®å°é£ãå æããªããã°ãªããŸããã§ããã ç¹ã«ã Intel RealSenseã«ã¡ã©ãç¬èªã®BLOBæ€åºã¢ã«ãŽãªãºã ã䜿çšããŠããŸããŸãªæã®ãžã§ã¹ãã£ãŒãæ£ç¢ºã«èªèã§ããããã«ããå¿ èŠããããŸããã è€æ°ã®ãŠãŒã¶ãŒã«ããåºç¯ãªãã¹ããå¿ èŠã§ããã
ãªã³ãã«ãã¡ãã©ãããžã§ã¯ãã¯ãThi Binh Minh Nguyenã«ãã£ãŠåŠå£«å·ã®æè²ãããžã§ã¯ããšããŠèæ¡ãããŸããã 次ã«ããã®ãããžã§ã¯ãã¯ãèšèšäŒç€Ÿã§ããPrefrontal Cortexã®å©ããåããŠããŠãŒã¶ãŒåãã®ã«ã¡ã©ãæèŒããPCãŸãã¯ã©ãããããã§å®è¡ããã察話åã€ã³ã¹ããŒã«ã«å€æãããŸããã Mingã¯ããã®ãããžã§ã¯ãã«æ°ããã€ã³ã¿ã©ã¯ãã£ãã¬ãã«ãäžãã芳客ãšãã¬ã€ã€ãŒã®å¢çãæ¶ããããšããèŠæããã£ããšèª¬æããŸãã
ãã¬ã€ã€ãŒã¯ã圱ã®æã人圢ãäœãç¥ç§çãª2次å ã®äžçã«ããããšã«æ°ã¥ããŸãã ãŠãŒã¶ãŒã¯ããŸããŸãªåç©ãç»é¢ã«åŒã³åºããé©åãªåœ¢ç¶ãããšãã°ãŠãµã®ã®åœ¢ã§æãæããŸãã 次ã«ããŠãŒã¶ãŒã¯æã®åœ±ãåãããŠã²ãŒã ã®äž»äººå ¬ãå¶åŸ¡ããŸããåäŸã¯ãå ã®ã«ã©ãã«ãªæçãéããŠç¥æ¯ã®èŠçãå埩ããŸãã
Ombre Fabulaã¯2014 Intel RealSenseã¢ããªãã£ã¬ã³ãžã«åå ãã2äœã«ãªãã倧䜿ã«è² ããŸããã
解決çãšåé¡
éçºè ã¯ããå°éçãªHIDããã€ã¹ã®çµéšãããããžã§ã¹ãã£ãŒãé¡è¿œè·¡ãé³å£°èªèã®é¢ã§Intel RealSenseãã¯ãããžãŒã®å¹ åºãæ©èœã«é äºãããŸããããæçµçã«ã¯Ombre Fabulaã€ã³ã¿ãŒãã§ãŒã¹ã§ã¯ãžã§ã¹ãã£ãŒã®ã¿ã䜿çšãããŸããã
userãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®äœæ
åæã«ãã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¯å¥ã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®æãããããšã«ãã£ãŠããçŽãããã®ã§ã¯ãªããæåããæãšãžã§ã¹ãã£ãŒãå¶åŸ¡ããããšã«çŠç¹ãåãããŠãŒãããäœæãããŸããã ããã«ããªã³ãã«ãã¡ãã©ãããžã§ã¯ãã¯ã圱ã®åå Žã®äŒçµ±ã«åŸã£ãŠãç»åãå£ã«æ圱ããã€ã³ã¿ã©ã¯ãã£ããªã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ãšããŠèæ¡ãããéšå±ã®èª°ããç»åãèŠãããšãã§ããããã«ãªããŸããã
Ombre Fabulaãããžã§ã¯ãã¯ãå¯èœãªéãåå è ãé¢äžããã«ãŒã ã€ã³ã¿ã©ã¯ãã£ãã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ãšããŠæ§æ³ãããŸããã ããã§ããŠãŒã¶ãŒã¯é³¥ã®åœ¢ãäœããŸãã
éçºè ã®èŠ³ç¹ããèŠããšãã²ãŒã ã®é°å²æ°ã«å®å šã«æ²¡é ããã«ã¯ããŠãŒã¶ãŒãå£ã«ä»®æ³ã®åœ±ãèœãšããšããçŸå®äžçãšä»®æ³äžçã®ã€ãªãããéèŠã§ãã ã¯ã©ã·ãã¯ã·ã£ããŠã·ã¢ã¿ãŒã®äŒçµ±ã«å¯Ÿããä¿¡é Œæ§ãšè¿æ¥æ§ãé«ããããã«ããã£ã³ãã«ã©ã€ãã䜿çšãããŸãã
Ombre Fabulaã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã¯ãæå³çã«æ¥µããŠæå°éã«èšèšãããŠããŸããã¢ããªã±ãŒã·ã§ã³ã§èªèãããããŸããŸãªæã®ãžã§ã¹ãã£ãŒãé€ãããã¿ã³ãã«ãŒãœã«ãç»é¢äžã®ã¡ãã¥ãŒããŸãã¯ã³ã³ãããŒã«ã¯äžåãããŸããã ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã«äœããã¹ãããæ瀺ã§ãããã¹ããåžžã«ååšãããå¶åŸ¡ãããã€ã³ã¹ããŒã«ç°å¢ã§ã®äœ¿çšãç®çãšããŠããŸãã ãã®ãããžã§ã¯ãã®ãã¶ã€ããŒã¯ããã®çš®ã®å€§èŠæš¡ãªã€ã³ã¿ã©ã¯ãã£ãã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ãäœæããããšãå€ãããªã³ãã«ãã¡ãã©ã§ã¯ãã€ã³ã¿ã©ã¯ãã£ãã®ã£ã©ãªãŒãä»ã®åæ§ã®å Žæã§ã®æèŠã«å¹æµãããã²ãŒã ã®äžçãžã®çããªãããæ·±ãæ²¡å ¥æããŠãŒã¶ãŒã«æäŸããããšãæå³çã«è©Šã¿ãŸããã ãŠãŒã¶ãŒãšã²ãŒã ã®éã®çžäºäœçšæéã¯æå³çã«ååã«çãããããã¹ãããã®çŽæ¥ã®æ瀺ã¯ãã²ãŒã ã«çµã¿èŸŒãŸãããã¬ãŒãã³ã°è³æãããããŠãŒã¶ãŒãã²ãŒã ã®äžçã«ãã°ããæ £ããããã«ã¯ããã«å¹ççã«æ©èœããŸãã 圱ã ãã§æ§æããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã²ãŒã ã®é°å²æ°ãšåœ±ã®åå Žã®äŒçµ±ãžã®ããæ·±ãæ²¡å ¥ã«ãè²¢ç®ããŸãã
ãŠãŒã¶ãŒã¯æãå³ã«åãããŠãã²ãŒã ã®äž»äººå ¬ãç¥æ¯ã®å®¶ããæã£ãŠããŸãã
âæ远跡ã®å®è£
éçºã®åæ段éã§ãã²ãŒã ã®äœæè ã¯ãæã®ã²ããšæã远跡ããIntel RealSense SDKã®æ©èœã䜿çšããŠããŠãµã®ãé³¥ããŸãã¯ãã©ãŽã³ã®åœ¢ãªã©ã®åçŽãªåœ¢ã«æãç³ãŸããæã®ãžã§ã¹ãã£ãŒãèªèããŸããã ãããã®æ°åãéžã°ããã®ã¯ããã®ã¢ããªã±ãŒã·ã§ã³ãäœæãããã·ã£ããŠã·ã¢ã¿ãŒã®ã¹ã¿ã€ã«ã§æãäŒçµ±çã§ããããŠãŒã¶ãŒã«ãšã£ãŠãã®ãããªæ°åãæãã·ã³ãã«ã§çŽæçã ããã§ãã ãŠãµã®ã®å³ãäœæããã«ã¯ãçæã®èŠªæãšäººå·®ãæãã€ãªããäžæãšè¬æããŸã£ããã«ããŠãŠãµã®ã®ãè³ããæãå¿ èŠããããŸãã é³¥ã®åœ¢ãåŸãã«ã¯ãäž¡æã®èŠªæãæ¡ãç· ããæããç¿Œãã®ããã«æšªã«äŒžã°ããŸãã ãã©ãŽã³ã®å§¿ãåŸãã«ã¯ããéããæ¯ã®ããããåŸãããã«ãäž¡æãåãããå¿ èŠããããŸãã
ç°¡åãªæã®ãžã§ã¹ãã£ãŒã§ããŠãµã®ãé³¥ããã©ãŽã³ãäœæã§ããŸãã
ããããIntel RealSense SDKã¢ã«ãŽãªãºã ã¯äžåäžãªå¯èŠæ§ã®ããã«åœ±ãæ£ããåŠçã§ããªãããšãããã«æããã«ãªããŸãããæã¯åãå¹³é¢å ã§äžç·ã«ãªã£ãŠäº€å·®ããŸããã Intel RealSenseã«ã¡ã©ã¯ãæãåçŽãªãžã§ã¹ãã£ãŒïŒ5æ¬ã®æãéããŠããã人差ãæãšäžæã®ãããVããµã€ã³ã芪æãäžãã£ãŠãããªã©ïŒãèªèããŸããããããè€éãªåç©ã®åœ¢ç¶ãèªèããã«ã¯äžååã§ããã
ãã®ãããéçºè ã¯ãIntel RealSense SDKã®çµã¿èŸŒã¿ã®ãã³ããã©ããã³ã°æ©èœãæŸæ£ããæã®èŒªéã远跡ããblobæ€åºã¢ã«ãŽãªãºã ã䜿çšããå¿ èŠããããŸããã ãã®ã¢ã«ãŽãªãºã ã¯ãå·ŠåŽã®ç»åãªã©ã®ã©ãã«ä»ãç»åãçæãããã®åŸãIntel RealSense SDKããã®ç»åã®èŒªéãæäŸããŸãã
ãã®å³ã§ã¯ãé³¥ããã©ãŽã³ããŠãµã®ã®ãžã§ã¹ãã£ãŒãæã®èŒªéãããŒã¯ããŠç€ºãããŠããããããªã³ãã«ãã¡ãã©ã¯ããŸããŸãªãžã§ã¹ãã£ãŒãèªèããŸãã
æåãIntel RealSense SDKããå¿ èŠãªã«ãŒãããŒã¿ãæœåºããã®ã¯ç°¡åã§ã¯ãããŸããã§ããã Unity *çµ±åã¯ãæã®ã²ããšæã®è¿œè·¡ã«ã¯æé©ã§ãããå¹ççãªè¿œè·¡ã«ã¯é©ããŠããŸããã ãã ããããã¥ã¡ã³ããèªãã§Intel RealSense SDKã䜿çšããåŸãéçºè ã¯éæšæºã®åœ¢ç¶ãèªèããããã«å¿ èŠãªè©³çŽ°ãªèŒªéããŒã¿ãæœåºããæ¹æ³ãåŠã³ãŸããã
ãŠãŒã¶ãŒã¯ããŠãµã®ã®åœ¢ãããæã眮ããŠã圱ã®ãŠãµã®ã®äººåœ¢ãç»é¢ã«è¡šç€ºãããããã«ããŸãã
ãŠãŒã¶ãŒã¯æãåãããŠãŠãµã®ãã²ãŒã ã®äžçã«å°ããé»è²ã®å ã®ç¹ãéããŸãã
yourç¬èªã®BLOBæ€åºã¢ã«ãŽãªãºã ã䜿çšãã
Intel RealSense SDKããBLOBããŒã¿ãåãåã£ãåŸãèªèã3ã€ã®æ°åïŒãŠãµã®ãé³¥ããã©ãŽã³ïŒã®ããããã«å¯ŸããŠå¹æçã«æ©èœãããããã«ããã®ããŒã¿ãåçŽåããå¿ èŠããããŸããã ãã®ããã»ã¹ã¯ãäºæ³ãããè€éã§ããããšãå€æããŸããã æ°å€ãåçŽåããŠãã¢ããªã±ãŒã·ã§ã³ã«ããåäžã§æ£ç¢ºãªèªèã®å¯èœæ§ãé«ããã«ã¯ãåºç¯ãªãã¹ããšå€ãã®æ¹åãå¿ èŠã§ããã
// Code snippet from official Intel "HandContour.cs" script for blob contour extraction int numOfBlobs = m_blob.QueryNumberOfBlobs(); PXCMImage[] blobImages = new PXCMImage[numOfBlobs]; for(int j = 0; j< numOfBlobs; j++) { blobImages[j] = m_session.CreateImage(info); results = m_blob.QueryBlobData(j, blobImages[j], out blobData[j]); if (results == pxcmStatus.PXCM_STATUS_NO_ERROR && blobData[j].pixelCount > 5000) { results = blobImages[j].AcquireAccess(PXCMImage.Access.ACCESS_WRITE, out new_bdata); blobImages[j].ReleaseAccess(new_bdata); BlobCenter = blobData[j].centerPoint; float contourSmooth = ContourSmoothing; m_contour.SetSmoothing(contourSmooth); results = m_contour.ProcessImage(blobImages[j]); if (results == pxcmStatus.PXCM_STATUS_NO_ERROR && m_contour.QueryNumberOfContours() > 0) { m_contour.QueryContourData(0, out pointOuter[j]); m_contour.QueryContourData(1, out pointInner[j]); } } }
ã«ãŒãååŸã³ãŒãã¯ãIntel RealSense SDKãã茪éããŒã¿ãååŸããããã«äœ¿çšãããŸãã
ãã®åŸãåçŽåãããããŒã¿ã¯$ P Point-Cloud Recognizer *ã¢ã«ãŽãªãºã ã«ãã£ãŠåŠçãããŸããã ããã¯ãææžãã®ã¹ãããŒã¯ãªã©ã®æåèªèã«ãã䜿çšãããèªç±ã«å©çšå¯èœãªã¢ã«ãŽãªãºã ã§ãã éçºè ã¯ããã®ã¢ã«ãŽãªãºã ã«ããã€ãã®ãã€ããŒãªæ¹åãå ããUnityã§æ£ããæ©èœããããããé©çšããŠOmbre Fabulaã®æã®åœ¢ã決å®ããŸããã ã¢ã«ãŽãªãºã ã¯ïŒ90ïŒ çšåºŠã®ç¢ºçã§ïŒãŠãŒã¶ãŒã®æã§ã©ã®åç©ã®å³ãæãããŠããããå€æãããã®åŸãèªèãããå³ãç»é¢ã«è¡šç€ºãããŸãã
// every few frames, we test if and which animal is currently found void DetectAnimalContour () { // is there actually a contour in the image right now? if (handContour.points.Count > 0) { // ok, find the most probable animal gesture class string gesture = DetectGestureClass(); // are we confident enough that this is one of the predefined animals? if (PointCloudRecognizer.Distance < 0.5) { // yes, we are: activate the correct animal ActivateAnimalByGesture(gesture); } } } // detect gesture on our contour string DetectGesture() { // collect the contour points from the PCSDK Point[] contourPoints = handContour.points.Select (x => new Point (xx, xy, xz, 0)).ToArray (); // create a new gesture to be detected, we don't know what it is yet var gesture = new Gesture(contourPoints, "yet unknown"); // the classifier returns the gesture class name with the highest probability return PointCloudRecognizer.Classify(gesture, trainingSet.ToArray()); } // This is from the $P algorithm // match a gesture against a predefined training set public static string Classify(Gesture candidate, Gesture[] trainingSet) { float minDistance = float.MaxValue; string gestureClass = ""; foreach (Gesture template in trainingSet) { float dist = GreedyCloudMatch(candidate.Points, template.Points); if (dist < minDistance) { minDistance = dist; gestureClass = template.Name; Distance = dist; } } return gestureClass; }
ãã®ã³ãŒãã¯ã$ Pã¢ã«ãŽãªãºã ã䜿çšããŠããŠãŒã¶ãŒã®æã«ãã£ãŠã©ã®åç©ãè¡šãããŠããããå€æããŸãã
ãã¹ããšç£èŠãéããŠãŠãŒã¶ãŒã®ãã£ãŒãããã¯ãæ©æã«ååŸãã
éçºã®éåžžã«æ©ã段éã§ãã²ãŒã ã®äœæè ã¯ããã¹ãŠã®äººãæã®åœ¢ããµã€ãºãç°ãªããšããäºå®ã¯èšããŸã§ããªãããã¹ãŠã®äººãåç©ã®åœ¢ããããã«ç°ãªãæ¹æ³ã§çµã¿åãããããšã«æ°ä»ããŸããã ã«ãŒãæ€åºããããã°ããã«ã¯ãå€ãã®äººãé¢äžããæ€åºã¢ã«ãŽãªãºã ããã¹ãããå¿ èŠããããŸããã
幞ãããããå¯èœã§ããããšãå€æããŸãããMingã¯å€§åŠã§å匷ããŠããããããã®å€§åŠã®åŠçã®äžããçŽ50人ã®ãã©ã³ãã£ã¢ãèŠã€ããŠãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã«æåŸ ããããšã¯é£ãããããŸããã§ããã ã²ãŒã ã¯å°æ°ã®ãžã§ã¹ãã£ãŒã䜿çšããããããã®ãããªäººæ°ã¯èŒªé決å®ã¢ã«ãŽãªãºã ãæé©åãããŠãŒã¶ãŒãæã®ãžã§ã¹ãã£ãŒã§æåããããšããŠããåç©ãæ£ç¢ºã«èªèããå¯èœæ§ãé«ããã®ã«ååã§ããã
æãå·Šå³ã«åããšã«ã¡ã©ãåããã²ãŒã ã®äž»äººå ¬ã¯åœ±ã®äžçã§åç©ãè¿œããŸãã
ç»é¢äžã®ãŠãŒã¶ãŒã®æã®ä»®æ³åœ±ã¯ãã²ãŒã ã®é°å²æ°ã«ããå®å šã«æ²¡é ããã ãã§ãªããèŠèŠçãªãã£ãŒãããã¯ã圢æããŸãã ãã¹ãäžãéçºè ã¯ãç»é¢ã«è¡šç€ºãããåç©ããŠãŒã¶ãŒãäœæããããšããŠãããã®ã§ã¯ãªãå ŽåããŠãŒã¶ãŒã¯ãã®èŠèŠãã£ãŒãããã¯ã«åå¿ããåžæããçµæãéæããããã«ç°ãªãæ¹æ³ã§æãæãæ²ããããšã«æ°ä»ããŸããã ãã®ããã»ã¹ã¯ãŠãŒã¶ãŒã«ãšã£ãŠéåžžã«çŽæçã§ãããéçºè ããã®ãã³ãã¯å¿ èŠãããŸããã§ããã
ãžã§ã¹ãã£èªèã«é¢é£ããäžè¬çãªåé¡ã®1ã€ã¯ããŠãŒã¶ãŒãéåžžã«è¿ éãªãžã§ã¹ãã£ïŒããšãã°ã芪æãäžããïŒãè¡ãããšãã§ããã¢ããªã±ãŒã·ã§ã³ãå¿çããªããªãå¯èœæ§ãããããšã§ãã ãªã³ãã«ãã¡ãã©ã§ã¯ããžã§ã¹ãã£ã¯é£ç¶çã§ããç®çã®åç©ãç»é¢äžã«ããããšãå¿ èŠã§ãã ãã¹ãã®çµæããžã§ã¹ãã£ã¯äžå®ã§ãããããã¢ããªã±ãŒã·ã§ã³ã¯ãžã§ã¹ãã£ã«æ£ããå¿çããããšãã§ããŸããã ãžã§ã¹ãã£ãŒã«å¯Ÿããã¢ããªã±ãŒã·ã§ã³ã®å¿çæ§ã«é¢ããŠãæé©åã¯å¿ èŠãããŸããã§ããã
Ombre Fabulaã¯ã6ã10åéç¶ãçæã®ã²ãŒã ã»ãã·ã§ã³çšã«æé©åãããŠããŸãã ãã¹ãã«é¢äžãã人ã ã¯ããŠãŒã¶ãŒã¯äžå®ã®æéæãé¢ããªãããšã«èªç¶ã«æ £ããŠãããããæãšè ã«ç²åŽã¯ãªããšææããŸããã
å éšïŒããŒã«ãšãªãœãŒã¹
察話åã€ã³ã¹ããŒã«ã®äœæã«ããããããŸã§ã®çµéšã¯ãéçºè ãããžã§ã³ã翻蚳ããããã®ããŒã«ãšãœãããŠã§ã¢ã³ã³ããŒãã³ãã«é¢ããæ£ãã決å®ãäžãã®ã«åœ¹ç«ã¡ãŸããã
âIntelRealSense SDK
Intel RealSense SDKã¯æã®èŒªéãäžèŽãããããã«äœ¿çšããããããSDKã«å«ãŸãã茪éã远跡ããããã®ããã¥ã¡ã³ãã¯éåžžã«äŸ¿å©ã§ããã éçºè ã¯ãçµã¿èŸŒã¿ã®ãã³ããã©ããã³ã°æ©èœãæåã«äœ¿çšããããšãããšãã«ãIntelãæäŸããUnityãµã³ãã«ã䜿çšããŸããã æã®è¿œè·¡ã ãã§ã¯ååã§ã¯ãªãã£ããããç»åã«åãæ¿ããŠãBlobã远跡ããç¬èªã®ã¢ã«ãŽãªãºã ãå®è£ ããŸããã
âUnityãœãããŠã§ã¢
MingãšPrefrontal CortexããŒã ã®ã¡ã³ããŒã¯ã©ã¡ããäž»ã«ãã¶ã€ããŒã§ãããšèããŠããŸãããã©ãããã©ãŒã ã®éçºãšã³ãŒãã®äœæã«æéã浪費ãããã¢ã€ãã¢ãå®çšçãªãããã¿ã€ãã«ãã°ããå€æããããšãéèŠã§ãã ãã®ç¹ã§ãUnityãã©ãããã©ãŒã ã«ãããè¿ éã«ãããã¿ã€ããäœæããéçºã®æ¬¡ã®æ®µéã«é²ãããšãã§ããŸããã ããã«ãIntel RealSense SDKã®äžéšã§ããIntel RealSense UnityããŒã«ãããã¯äœ¿ãããããããã«äœ¿ãå§ããããšãã§ããŸãã
P $ P Point-Cloud Recognizer
$ P Point-Cloud Recognizerã¯ãçŽãŸãã¯é¡äŒŒã®ã°ã©ãã£ãã¯ããŒã¿ã«è¿œå ããããã³ã¹ãããŒã¯ã®åœ¢ç¶ãïŒäžå®ã®ç¢ºçã§ïŒæ±ºå®ãã2次å ãžã§ã¹ãã£èªèãœãããŠã§ã¢ã¢ã«ãŽãªãºã ã§ãã ãã®ã¢ã«ãŽãªãºã ã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ãžã§ã¹ãã£ããã°ãããããã¿ã€ãåããããã«ãã䜿çšãããŸãã éçºè ã¯ãã®ã¢ã«ãŽãªãºã ããããã«å€æŽããUnityã§ããã䜿çšããŠãOmbre Fabulaã§ãŠãŒã¶ãŒã®æã«ãã£ãŠåœ¢æããã圢ç¶ã決å®ããŸããã 確çãæ°ããŠãã¢ã«ãŽãªãºã ã¯ãŠãŒã¶ãŒãæåããããšããŠããåç©ã決å®ããã¢ããªã±ãŒã·ã§ã³ã¯åç©ã®å¯Ÿå¿ããç»åã衚瀺ããŸãã
ãã©ãŽã³ã衚瀺ããã«ã¯ããã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãé¡ã衚瀺ãããããã«2ã€ã®æãæããããå¿ èŠããããŸãã
ãªã³ãã«ãã¡ãã©ïŒæ¬¡ã¯äœã§ããïŒ
Ombre Fabulaã«ã¯ããŠãŒã¶ãŒãäœæããã³ç®¡çããä»ã®åç©ã®åœ±ã®ãã£ã®ã¥ã¢ãããã«éçºããã³è¿œå ããæœåšçãªå¯èœæ§ããããŸãããçŸæç¹ã§ã¯éçºè ã¯ãã®ã²ãŒã ã®äœæ¥ãç¶ç¶ããäºå®ã¯ãããŸããã 圌ãã®ç©¶æ¥µã®ç®æšã¯ããªã³ãã¬ã»ãã¡ãã©ãšã®åœéãã¢ãŒãæé ããæåããèæ¡ãããã€ã³ã¿ã©ã¯ãã£ããªã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ã®åœ¢ã§èŠ³å®¢ã«ãããèŠããããšã§ãã
Intel RealSense SDKïŒèŠéã
Prefrontal CortexããŒã ã®Felix Herbstã¯ããžã§ã¹ãã£å¶åŸ¡ã·ã¹ãã ããŒãããæ§ç¯ããå¿ èŠããããšç¢ºä¿¡ããŠãããã»ãšãã©ã®å Žåãæ¢åã®ã¢ããªã±ãŒã·ã§ã³ããžã§ã¹ãã£å¶åŸ¡ã«é©å¿ãããããšãããšããŠãŒã¶ãŒã«äžäŸ¿ããããããŸãã 圌ã¯ãå¯èœãªãã¹ãŠã®ç®¡çã€ã³ã¿ãŒãã§ã€ã¹ïŒãžã§ã¹ãã£å¶åŸ¡ãå«ãïŒã®ããããã®é·æãåæããã¢ããªã±ãŒã·ã§ã³éçºã«æé©ãªã¢ãã«ãéžæããããšã®éèŠæ§ã匷調ããŠããŸãã
é©åã«éžæããããæçšã§å¹æçãªå¯Ÿè©±æ¹æ³ã¯ãèªç¶ãªã€ã³ã¿ãŒãã§ãŒã¹ãåããæè¡ã®é·æçãªæ®åã«äžå¯æ¬ ã§ãã Herbstã¯ãååãªæ°ã®éçºè ãIntel RealSenseãã¯ãããžãŒã®äœ¿çšãéå§ãããšããããã®ã¿ã€ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãå°æ¥åºãæ®åãããšèããŠããŸãã