YOLOv8ã®å±éãªãã·ã§ã³ã«ã€ããŠç解ããã
ã¯ããã«
ããªãã¯YOLOv8 ã䜿ã£ãŠãé·ãéã®ããæ©ãã§ããŸãããç±å¿ã«ããŒã¿ãåéãã綿å¯ã«æ³šéãä»ããã«ã¹ã¿ã YOLOv8 ã¢ãã«ããã¬ãŒãã³ã°ããå³å¯ã«è©äŸ¡ããããã«æéãè²»ãããŠããŸããããããŠä»ãããªãã®ã¢ãã«ãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ããŠãŒã¹ã±ãŒã¹ããããžã§ã¯ãã«æŽ»çšãããšããæ¥ãŸãããããããããªãã®åã«ç«ã¡ã¯ã ããé倧ãªæ±ºæããããŸããããã¯ãããªãã®ã¢ãã«ãã©ã®ããã«ãšã¯ã¹ããŒãããå¹æçã«å±éããããšããããšã§ãã
ãã®ã¬ã€ãã§ã¯ãYOLOv8ã®å±éãªãã·ã§ã³ãšããããžã§ã¯ãã«é©ãããªãã·ã§ã³ãéžæããããã«èæ ®ãã¹ãéèŠãªèŠçŽ ã«ã€ããŠèª¬æããŸãã
YOLOv8 ã¢ãã«ã«é©ããé åãªãã·ã§ã³ãéžæããæ¹æ³
YOLOv8 ã¢ãã«ã®ãããã€ãè¡ããšããé©åãªãšã¯ã¹ããŒããã©ãŒããããéžæããããšã¯éåžžã«éèŠã§ããUltralytics YOLOv8 Modes ããã¥ã¡ã³ãã«æŠèª¬ãããŠããããã«ãmodel.export()é¢æ°ã¯ãåŠç¿ããã¢ãã«ãæ§ã ãªç°å¢ãæ§èœèŠä»¶ã«åãããæ§ã ãªåœ¢åŒã«å€æããããšãã§ããŸãã
çæ³çãªãã©ãŒãããã¯ãã¹ããŒããããŒããŠã§ã¢ã®å¶çŽãçµ±åã®ããããã®ãã©ã³ã¹ãåããªãããã¢ãã«ã®æå³ããéçšç¶æ³ã«ãã£ãŠç°ãªããŸãã次ã®ã»ã¯ã·ã§ã³ã§ã¯ãåãšã¯ã¹ããŒãã»ãªãã·ã§ã³ã詳ããèŠãŠããããããéžæããã¿ã€ãã³ã°ãç解ããŸãã
YOLOv8å±éãªãã·ã§ã³
YOLOv8 ã®ããŸããŸãªãããã€ã¡ã³ãã»ãªãã·ã§ã³ã«ã€ããŠèª¬æããŸãããããšã¯ã¹ããŒãã®è©³çŽ°ãªæé ã«ã€ããŠã¯ãUltralytics ããã¥ã¡ã³ãã®ãšã¯ã¹ããŒãã®ããŒãžãã芧ãã ããã
PyTorch
PyTorch ã¯ããã£ãŒãã©ãŒãã³ã°ã人工ç¥èœã®ã¢ããªã±ãŒã·ã§ã³ã«åºã䜿ãããŠãããªãŒãã³ãœãŒã¹ã®æ©æ¢°åŠç¿ã©ã€ãã©ãªã§ãããé«ãæè»æ§ãšã¹ããŒããæäŸããç 究è ãéçºè ã®éã§äººæ°ãåããŠããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ïŒPyTorch ã¯ãã®äœ¿ãããããšæè»æ§ã§ç¥ãããŠãããããã®çµæãããå°éçã§æé©åãããä»ã®ãã¬ãŒã ã¯ãŒã¯ãšæ¯èŒããå Žåãçã®ããã©ãŒãã³ã¹ã«ãããŠè¥å¹²ã®ãã¬ãŒããªããçããå¯èœæ§ãããã
-
äºææ§ãšçµ±åïŒPython ã®æ§ã ãªããŒã¿ãµã€ãšã³ã¹ããã³æ©æ¢°åŠç¿ã©ã€ãã©ãªãšã®åªããäºææ§ãæäŸããŸãã
-
ã³ãã¥ããã£ã»ãµããŒããšãšã³ã·ã¹ãã ïŒæã掻æ°ã®ããã³ãã¥ããã£ã®1ã€ã§ãåŠç¿ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã®ããã®è±å¯ãªãªãœãŒã¹ããããŸãã
-
ã±ãŒã¹ã¹ã¿ãã£ïŒç 究ãããã¿ã€ãã§ãã䜿ãããå€ãã®åŠè¡è«æã¯PyTorch ã§å±éãããã¢ãã«ãåç §ããŠããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒç©æ¥µçãªéçºãšæ°æ©èœã®ãµããŒãã«ããå®æçãªã¢ããããŒãã
-
ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé ïŒã»ãã¥ãªãã£äžã®åé¡ã«å¯ŸããŠã¯å®æçã«ããããåœãŠãããã»ãã¥ãªãã£ã¯å°å ¥ç°å¢å šäœã«å€§ããå·Šå³ãããã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒCUDAã«ããGPUã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ããµããŒãããã¢ãã«ã®ãã¬ãŒãã³ã°ãæšè«ãé«éåããŸãã
TorchScript
TorchScript C++ ã©ã³ã¿ã€ã ç°å¢ã§å®è¡ããã¢ãã«ã®ãšã¯ã¹ããŒããå¯èœã«ããããšã§ãPyTorchã®æ©èœãæ¡åŒµããŠãããããã«ãããPython ãå©çšã§ããªãæ¬çªç°å¢ã«é©ããŠããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ïŒç¹ã«æ¬çªç°å¢ã§ã¯ããã€ãã£ãPyTorch ãããããã©ãŒãã³ã¹ãåäžãããããšãã§ããã
-
äºææ§ãšçµ±åïŒPyTorch ãã C++ ãããã¯ã·ã§ã³ç°å¢ãžã·ãŒã ã¬ã¹ã«ç§»è¡ã§ããããã«èšèšãããŠããŸãããäžéšã®é«åºŠãªæ©èœã¯å®å šã«ã¯ç§»è¡ã§ããªãå ŽåããããŸãã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒPyTorchã®å€§èŠæš¡ã³ãã¥ããã£ã®æ©æµãåããããå°éçãªéçºè ã®ç¯å²ã¯çãã
-
ã±ãŒã¹ã¹ã¿ã㣠Pythonã®ããã©ãŒãã³ã¹ã»ãªãŒããŒããããããã«ããã¯ãšãªã£ãŠããç£æ¥ç°å¢ã§åºã䜿çšãããŠããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒPyTorch ãäžè²«ããã¢ããããŒããå®æœã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒPython ãå®å šã«ã€ã³ã¹ããŒã«ãããŠããªãç°å¢ã§ãã¢ãã«ãå®è¡ã§ããããã«ããããšã§ãã»ãã¥ãªãã£ãåäžãããŸãã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒPyTorchã® CUDA ãµããŒããç¶æ¿ããGPU ã®å¹ççãªå©çšãä¿èšŒããŸãã
ONNX
Open Neural Network Exchange (ONNX) ã¯ãç°ãªããã¬ãŒã ã¯ãŒã¯éã§ã®ã¢ãã«ã®çžäºéçšæ§ãå¯èœã«ãããã©ãŒãããã§ãããæ§ã ãªãã©ãããã©ãŒã ã«å±éããéã«éèŠãšãªãã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ïŒONNX ã¢ãã«ã¯ãå°å ¥ãããã©ã³ã¿ã€ã ã«ãã£ãŠããã©ãŒãã³ã¹ãå€ããå¯èœæ§ããããŸãã
-
äºææ§ãšçµ±åïŒãã¬ãŒã ã¯ãŒã¯ã«ãšããããªãæ§è³ªã«ãããè€æ°ã®ãã©ãããã©ãŒã ãããŒããŠã§ã¢ã«ãŸãããé«ãçžäºéçšæ§ã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒå€ãã®çµç¹ã«ãã£ãŠãµããŒããããå¹ åºããšã³ã·ã¹ãã ãšæé©åã®ããã®ããŸããŸãªããŒã«ã«ã€ãªãã£ãŠããã
-
ã±ãŒã¹ã¹ã¿ãã£ç°ãªãæ©æ¢°åŠç¿ãã¬ãŒã ã¯ãŒã¯éã§ã¢ãã«ã移åãããããã«é »ç¹ã«äœ¿çšããããã®æè»æ§ã瀺ããŠããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒãªãŒãã³ã¹ã¿ã³ããŒããšããŠãONNX ã¯å®æçã«ã¢ããããŒããããæ°ãããªãã¬ãŒã·ã§ã³ãã¢ãã«ããµããŒãããŠããã
-
ã»ãã¥ãªãã£ã®èæ ®ïŒä»ã®ã¯ãã¹ãã©ãããã©ãŒã ããŒã«ãšåæ§ã«ãå€æãšãããã€ã®ãã€ãã©ã€ã³ã§å®å šãªãã©ã¯ãã£ã¹ã確ä¿ããããšãäžå¯æ¬ ã§ãã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒONNX Runtimeã䜿çšãããšãã¢ãã«ã¯ããŸããŸãªããŒããŠã§ã¢æé©åã掻çšã§ããŸãã
OpenVINO
OpenVINO ã¯ãã€ã³ãã«ã»ããŒããŠã§ã¢å šäœãžã®ãã£ãŒãã©ãŒãã³ã°ã»ã¢ãã«ã®å±éã容æã«ããããã©ãŒãã³ã¹ãšã¹ããŒããåäžãããããã«èšèšãããã€ã³ãã«ã»ããŒã«ãããã§ããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯Intel CPUãGPUãVPUåãã«æé©åãããŠãããäºææ§ã®ããããŒããŠã§ã¢äžã§å€§å¹ ãªããã©ãŒãã³ã¹åäžãå®çŸããŸãã
-
äºææ§ãšçµ±åïŒã€ã³ãã«ã®ãšã³ã·ã¹ãã å ã§æãå¹æçã«æ©èœããããä»ã®ããŸããŸãªãã©ãããã©ãŒã ããµããŒãããŠããã
-
ã³ãã¥ããã£ã»ãµããŒããšãšã³ã·ã¹ãã ïŒã€ã³ãã«ã«æ¯ããããç¹ã«ã³ã³ãã¥ãŒã¿ã»ããžã§ã³ã®åéã§ã¯åŒ·åºãªãŠãŒã¶ãŒåºç€ãæã€ã
-
ã±ãŒã¹ã¹ã¿ãã£ã€ã³ãã«ã®ããŒããŠã§ã¢ãæ®åããŠããIoTããšããžã³ã³ãã¥ãŒãã£ã³ã°ã®ã·ããªãªã§ããå©çšãããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒã€ã³ãã«ã¯ãææ°ã®ãã£ãŒãã©ãŒãã³ã°ã¢ãã«ãšã€ã³ãã«ããŒããŠã§ã¢ããµããŒããããããOpenVINO ãå®æçã«æŽæ°ããŠããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒæ©å¯æ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ã«é©ããå ç¢ãªã»ãã¥ãªãã£æ©èœãæäŸããŸãã
-
ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒå°çšã®åœä»€ã»ãããšããŒããŠã§ã¢æ©èœã掻çšããã€ã³ãã«ããŒããŠã§ã¢äžã§ã®ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³çšã«èª¿æŽãããŠããŸãã
OpenVINO ã䜿çšããå±éã®è©³çŽ°ã«ã€ããŠã¯ãUltralytics Integration ã®ããã¥ã¡ã³ããåç §ããŠãã ããïŒã€ã³ãã«OpenVINO ãšã¯ã¹ããŒããåç §ããŠãã ããã
TensorRT
TensorRT ã¯ãNVIDIAãæäŸããé«æ§èœãªãã£ãŒãã©ãŒãã³ã°ã®æšè«ãªããã£ãã€ã¶ãšã©ã³ã¿ã€ã ã§ãã¹ããŒããšå¹çãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«æé©ã§ãã
-
ããã©ãŒãã³ã¹ãã³ãããŒã¯ïŒé«éæšè«ããµããŒãããNVIDIA GPUã§ãããã¯ã©ã¹ã®ããã©ãŒãã³ã¹ãå®çŸã
-
äºææ§ãšçµ±åïŒNVIDIAããŒããŠã§ã¢ã«æé©ã§ããã®ç°å¢ä»¥å€ã§ã®ãµããŒãã¯éå®çã
-
ã³ãã¥ããã£ã»ãµããŒããšãšã³ã·ã¹ãã ïŒNVIDIAã®éçºè ãã©ãŒã©ã ãããã¥ã¡ã³ããéãã匷åãªãµããŒããããã¯ãŒã¯ã
-
ã±ãŒã¹ã¹ã¿ãã£ãããªãç»åããŒã¿ã®ãªã¢ã«ã¿ã€ã æšè«ãå¿ èŠãšããæ¥çã§åºãæ¡çšãããŠããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒNVIDIAã¯ãããã©ãŒãã³ã¹ãåäžãããæ°ããGPUã¢ãŒããã¯ãã£ããµããŒãããããã«ãTensorRT ãé »ç¹ã«ã¢ããããŒããè¡ããŸãã
-
ã»ãã¥ãªãã£ã«é¢ããèå¯ïŒå€ãã®NVIDIA補ååæ§ãã»ãã¥ãªãã£ã«éç¹ã眮ããŠããããå ·äœçãªå 容ã¯å°å ¥ç°å¢ã«äŸåããã
-
ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒNVIDIA GPUå°çšã«èšèšãããæ·±ãæé©åãšé«éåãæäŸããŸãã
CoreML
CoreML ã¯ã¢ããã«ã®æ©æ¢°åŠç¿ãã¬ãŒã ã¯ãŒã¯ã§ãiOSãmacOSãwatchOSãtvOSãå«ãã¢ããã«ã®ãšã³ã·ã¹ãã ã«ããããªã³ããã€ã¹ã®ããã©ãŒãã³ã¹åãã«æé©åãããŠããã
-
ããã©ãŒãã³ã¹ãã³ãããŒã¯ïŒApple補ããŒããŠã§ã¢ã®ããã€ã¹äžã§ã®ããã©ãŒãã³ã¹ã«æé©åãããããããªãŒã®æ¶è²»ãæå°éã«æããŸãã
-
äºææ§ãšçµ±åïŒAppleã®ãšã³ã·ã¹ãã å°çšã§ãiOSãšmacOSã¢ããªã±ãŒã·ã§ã³ã«åççãªã¯ãŒã¯ãããŒãæäŸããŸãã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒAppleã®åŒ·åãªãµããŒããšç±å¿ãªéçºè ã³ãã¥ããã£ãè±å¯ãªããã¥ã¡ã³ããšããŒã«ã
-
ã±ãŒã¹ã¹ã¿ãã£ã¢ããã«è£œåã®ããã€ã¹äžã§ã®æ©æ¢°åŠç¿æ©èœãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã§ãã䜿çšãããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒææ°ã®æ©æ¢°åŠç¿ã®é²æ©ãšAppleã®ããŒããŠã§ã¢ããµããŒãããããã«ãAppleã«ãã£ãŠå®æçã«æŽæ°ãããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒãŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãšããŒã¿ã»ã»ãã¥ãªãã£ã«éç¹ã眮ãã¢ããã«ã®æ©æµã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒAppleã®ãã¥ãŒã©ã«ãšã³ãžã³ãšGPUãæ倧éã«æŽ»çšããæ©æ¢°åŠç¿ã¿ã¹ã¯ãå éã
TF SavedModel
TF SavedModel ã¯ãTensorFlowæ©æ¢°åŠç¿ã¢ãã«ã®ä¿åãšæäŸã®ããã®ãã©ãŒãããã§ãç¹ã«ã¹ã±ãŒã©ãã«ãªãµãŒããŒç°å¢ã«é©ããŠããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ãµãŒããŒç°å¢ã«ãããŠãç¹ã«TensorFlow Servingãšäœµçšããããšã§ãã¹ã±ãŒã©ãã«ãªããã©ãŒãã³ã¹ãæäŸããŸãã
-
äºææ§ãšçµ±åïŒã¯ã©ãŠãããšã³ã¿ãŒãã©ã€ãºã»ãµãŒããŒã®ãããã€ã¡ã³ããå«ããTensorFlow ã®ãšã³ã·ã¹ãã å šäœã«ãããå¹ åºãäºææ§ã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒTensorFlow ã®äººæ°ã«ãã倧èŠæš¡ãªã³ãã¥ããã£ã»ãµããŒãããããã€ãšæé©åã®ããã®èšå€§ãªããŒã«çŸ€ã
-
ã±ãŒã¹ã¹ã¿ãã£ãã£ãŒãã©ãŒãã³ã°ã¢ãã«ã倧èŠæš¡ã«æäŸããããã®æ¬çªç°å¢ã§åºã䜿çšãããŠããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒGoogleãšTensorFlow ã³ãã¥ããã£ã®ãµããŒãã«ãããå®æçãªæŽæ°ãšæ°æ©èœãä¿èšŒãããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒTensorFlow Servingã䜿çšãããããã€ã¡ã³ãã«ã¯ããšã³ã¿ãŒãã©ã€ãºã»ã°ã¬ãŒãã®ã¢ããªã±ãŒã·ã§ã³ã®ããã®å ç¢ãªã»ãã¥ãªãã£æ©èœãå«ãŸããŠããŸãã
-
ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒTensorFlow ã®ããã¯ãšã³ããéããŠæ§ã ãªããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ããµããŒãããŸãã
TF GraphDef
TF GraphDef ã¯ãã¢ãã«ãã°ã©ããšããŠè¡šçŸããTensorFlow ãããã¯ãéçãªèšç®ã°ã©ããå¿ èŠãªç°å¢ã«ãšã£ãŠæçãªãã©ãŒãããã§ããã
-
æ§èœãã³ãããŒã¯ïŒäžè²«æ§ãšä¿¡é Œæ§ã«éç¹ã眮ããéçèšç®ã°ã©ãã®å®å®ããããã©ãŒãã³ã¹ãæäŸããŸãã
-
äºææ§ãšçµ±åïŒTensorFlow ã®ã€ã³ãã©ã«ç°¡åã«çµ±åã§ããããSavedModel ãšæ¯ã¹ããšæè»æ§ã«æ¬ ããã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒéçã°ã©ããæé©åããããã®å€ãã®ãªãœãŒã¹ãå©çšå¯èœã§ãTensorFlow ã®ãšã³ã·ã¹ãã ã«ããåªãããµããŒãã
-
ã±ãŒã¹ã¹ã¿ãã£ïŒç¹å®ã®çµã¿èŸŒã¿ã·ã¹ãã ãªã©ãéçãªã°ã©ããå¿ èŠãªã·ããªãªã§åœ¹ç«ã€ã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒTensorFlow ã®ã³ã¢ã¢ããããŒããšäžŠè¡ããŠãå®æçãªã¢ããããŒããè¡ããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒTensorFlow ã®ç¢ºç«ãããã»ãã¥ãªãã£æ £è¡ã«ãããå®å šãªé åãä¿èšŒããã
-
ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒSavedModel ã»ã©æè»ã§ã¯ãªãããTensorFlow ã®ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãªãã·ã§ã³ãå©çšã§ããã
TF ã©ã€ã
TF Liteã¯ãTensorFlow'ã¢ãã€ã«ããã³çµã¿èŸŒã¿ããã€ã¹ã®æ©æ¢°åŠç¿ã®ããã®ãœãªã¥ãŒã·ã§ã³ã§ããããªã³ããã€ã¹æšè«ã®ããã®è»œéã©ã€ãã©ãªãæäŸããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ïŒã¢ãã€ã«æ©åšãçµã¿èŸŒã¿æ©åšã§ã®ã¹ããŒããšå¹çæ§ãè¿œæ±ããèšèšã
-
äºææ§ãšçµ±åæ§ïŒè»œéã§ãããããããŸããŸãªããã€ã¹ã§äœ¿çšå¯èœã
-
ã³ãã¥ããã£ã»ãµããŒããšãšã³ã·ã¹ãã ïŒGoogleã®æ¯æŽãåãã匷åºãªã³ãã¥ããã£ãšéçºè åãã®ãªãœãŒã¹ãå å®ããŠããã
-
ã±ãŒã¹ã¹ã¿ãã£æå°éã®ãããããªã³ãã§ããã€ã¹äžã§ã®æšè«ãå¿ èŠãšããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§äººæ°ããããŸãã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãå®æçãªã¢ããããŒãã«ãããææ°ã®æ©èœãšã¢ãã€ã«ããã€ã¹åãã®æé©åãæäŸããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒãšã³ããŠãŒã¶ãŒããã€ã¹äžã§ã¢ãã«ãå®è¡ããããã®ã»ãã¥ã¢ãªç°å¢ãæäŸããŸãã
-
ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒGPUãDSPãªã©ãããŸããŸãªããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã»ãªãã·ã§ã³ããµããŒãã
TF ãšããžTPU
TF EdgeTPU ã¯ãã°ãŒã°ã«ã®EdgeTPU ããŒããŠã§ã¢äžã§é«éãã€å¹ççãªã³ã³ãã¥ãŒãã£ã³ã°ãè¡ãããã«èšèšãããŠããããªã¢ã«ã¿ã€ã åŠçãå¿ èŠãšããIoTæ©åšã«æé©ã§ãã
-
ããã©ãŒãã³ã¹ãã³ãããŒã¯ïŒGoogle EdgeTPU ããŒããŠã§ã¢äžã§ã®é«éã§å¹ççãªã³ã³ãã¥ãŒãã£ã³ã°ã«æé©åãããŠããŸãã
-
äºææ§ãšçµ±åïŒEdgeTPU ããã€ã¹ã®TensorFlow Lite ã¢ãã«ã§ã®ã¿åäœããŸãã
-
ã³ãã¥ããã£ãµããŒããšãšã³ã·ã¹ãã ïŒGoogleãšãµãŒãããŒãã£ã®éçºè ãæäŸãããªãœãŒã¹ã«ãããµããŒãã®æ¡å€§ã
-
ã±ãŒã¹ã¹ã¿ãã£äœã¬ã€ãã³ã·ãŒã§ãªã¢ã«ã¿ã€ã åŠçãå¿ èŠãªIoTæ©åšãã¢ããªã±ãŒã·ã§ã³ã«äœ¿çšã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒæ°ããEdgeTPU ããŒããŠã§ã¢ã»ãªãªãŒã¹ã®æ©èœã掻çšãããããç¶ç¶çã«æ¹è¯ã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒIoTããã³ãšããžããã€ã¹ã®ããã®Googleã®åŒ·åºãªã»ãã¥ãªãã£ãšçµ±åã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒGoogle Coralããã€ã¹ãæ倧éã«æŽ»çšã§ããããã«ã«ã¹ã¿ã èšèšãããŠããŸãã
TF.js
TensorFlow.js(TF.js)ã¯ãæ©æ¢°åŠç¿æ©èœããã©ãŠã¶ã«çŽæ¥ããããã©ã€ãã©ãªã§ããããŠã§ãéçºè ãšãŠãŒã¶ãŒã«æ°ããªå¯èœæ§ãæäŸãããããã¯ãšã³ãã®ã€ã³ãã©ãå¿ èŠãšããã«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«æ©æ¢°åŠç¿ã¢ãã«ãçµ±åããããšãã§ããŸãã
-
ããã©ãŒãã³ã¹ãã³ãããŒã¯ïŒã¯ã©ã€ã¢ã³ãããã€ã¹ã«ããããã劥åœãªããã©ãŒãã³ã¹ã§ããã©ãŠã¶ã§çŽæ¥æ©æ¢°åŠç¿ãå¯èœã
-
äºææ§ãšçµ±åïŒãŠã§ããã¯ãããžãŒãšã®é«ãäºææ§ã«ããããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ç°¡åã«çµ±åã§ããŸãã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒãŠã§ããšNode.jséçºè ã®ã³ãã¥ããã£ã«ãããµããŒããšãMLã¢ãã«ããã©ãŠã¶ã«ãããã€ããããã®æ§ã ãªããŒã«ã
-
ã±ãŒã¹ã¹ã¿ãã£ãµãŒããŒãµã€ãã®åŠçãå¿ èŠãšãããã¯ã©ã€ã¢ã³ããµã€ãã®æ©æ¢°åŠç¿ã®æ©æµãåããã€ã³ã¿ã©ã¯ãã£ããªãŠã§ãã¢ããªã±ãŒã·ã§ã³ã«æé©ã§ãã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãïŒãªãŒãã³ãœãŒã¹ã³ãã¥ããã£ããã®è²¢ç®ã«ãããTensorFlow ããŒã ãã¡ã³ããã³ã¹ãè¡ã£ãŠããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒãŠã§ãã»ãã©ãããã©ãŒã ã®ã»ãã¥ãªãã£ã»ã¢ãã«ãå©çšãããã©ãŠã¶ã®ã»ãã¥ã¢ã»ã³ã³ããã¹ãå ã§å®è¡ãããã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒWebGLã®ãããªããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ãããŠã§ãããŒã¹ã®APIã䜿çšããããšã§ãããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
PaddlePaddle
PaddlePaddle ã¯ãçŸåºŠãéçºãããªãŒãã³ãœãŒã¹ã®ãã£ãŒãã©ãŒãã³ã°ãã¬ãŒã ã¯ãŒã¯ã§ãããç 究è ã«ãšã£ãŠã¯å¹ççã§ãéçºè ã«ãšã£ãŠã¯äœ¿ããããããã«èšèšãããŠãããç¹ã«äžåœã§äººæ°ããããäžåœèªåŠçã«ç¹åãããµããŒããæäŸããŠããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯äœ¿ãããããšæ¡åŒµæ§ã«éç¹ã眮ãã競äºåã®ããããã©ãŒãã³ã¹ãæäŸã
-
äºææ§ãšçµ±åïŒBaiduã®ãšã³ã·ã¹ãã å ã«ããŸãçµ±åãããå¹ åºãã¢ããªã±ãŒã·ã§ã³ããµããŒãããŠããŸãã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒã³ãã¥ããã£ã¯äžççã«ã¯å°ããããç¹ã«äžåœã§ã¯æ¥éã«æé·ããŠããã
-
ã±ãŒã¹ã¹ã¿ãã£äžåœåžå Žããä»ã®äž»èŠãªãã¬ãŒã ã¯ãŒã¯ã®ä»£æ¿ãæ¢ããŠããéçºè ã«ãã䜿ãããŠããã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãäžåœèªã®AIã¢ããªã±ãŒã·ã§ã³ãšãµãŒãã¹ã®æäŸãäžå¿ã«å®æçã«æŽæ°ã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒããŒã¿ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ãéèŠããäžåœã®ããŒã¿ã¬ããã³ã¹åºæºã«å¯Ÿå¿ã
-
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒãã€ãã¥ç¬èªã®Kunlunããããå«ãæ§ã ãªããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ããµããŒãã
NCNN
NCNN ã¯ãã¢ãã€ã«ãã©ãããã©ãŒã åãã«æé©åãããé«æ§èœãªãã¥ãŒã©ã«ãããã¯ãŒã¯æšè«ãã¬ãŒã ã¯ãŒã¯ã§ããã軜éãã€å¹ççãªç¹ãç¹åŸŽã§ããªãœãŒã¹ãéãããŠããã¢ãã€ã«æ©åšãçµã¿èŸŒã¿æ©åšã«ç¹ã«é©ããŠããã
-
ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ïŒã¢ãã€ã«ã»ãã©ãããã©ãŒã åãã«é«åºŠã«æé©åãããŠãããARMããŒã¹ã®ããã€ã¹ã§å¹ççãªæšè«ãå¯èœã
-
äºææ§ãšçµ±åïŒæºåž¯é»è©±ãARMã¢ãŒããã¯ãã£ã®çµã¿èŸŒã¿ã·ã¹ãã ã§ã®ã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸãã
-
ã³ãã¥ããã£ã®ãµããŒããšãšã³ã·ã¹ãã ïŒã¢ãã€ã«ããã³çµã¿èŸŒã¿MLã¢ããªã±ãŒã·ã§ã³ã«ç¹åããããããã ã掻çºãªã³ãã¥ããã£ã«æ¯ããããŠããã
-
ã±ãŒã¹ã¹ã¿ãã£Androidããã®ä»ã®ARMããŒã¹ã®ã·ã¹ãã ã§ãå¹çãšã¹ããŒããéèŠãªã¢ãã€ã«ã»ã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸãã
-
ã¡ã³ããã³ã¹ãšã¢ããããŒãæ§ã ãªARMããã€ã¹äžã§é«ãããã©ãŒãã³ã¹ãç¶æããããã«ç¶ç¶çã«æ¹è¯ãããŠããŸãã
-
ã»ãã¥ãªãã£ãžã®é æ ®ïŒããã€ã¹äžã§ããŒã«ã«ã«å®è¡ããããšã«éç¹ã眮ããããã€ã¹äžã§ã®åŠçã«åºæã®ã»ãã¥ãªãã£ã掻çšããã
-
ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ïŒARM CPUããã³GPUåãã«ã«ã¹ã¿ãã€ãºããããããã®ã¢ãŒããã¯ãã£ã«ç¹åããæé©åãæœãããŠããŸãã
YOLOv8 å±éãªãã·ã§ã³ã®æ¯èŒåæ
以äžã®è¡šã¯ãYOLOv8 ã¢ãã«ã§å©çšå¯èœãªããŸããŸãªå±éãªãã·ã§ ã³ã®ã¹ãããã·ã§ããã§ãããããã€ãã®éèŠãªåºæºã«åºã¥ããŠããããžã§ã¯ã ããŒãºã«æé©ãªå±éãªãã·ã§ã³ãè©äŸ¡ããã®ã«åœ¹ç«ã¡ãŸããåå±éãªãã·ã§ã³ã®ãã©ãŒãããã«ã€ããŠã®è©³çŽ°ã¯ãUltralytics ããã¥ã¡ã³ãã®ãšã¯ã¹ããŒããã©ãŒãããã®ããŒãžãåç §ããŠãã ããã
å±éãªãã·ã§ã³ | ããã©ãŒãã³ã¹ã»ãã³ãããŒã¯ | äºææ§ãšçµ±å | å°å瀟äŒã®ãµããŒããšãšã³ã·ã¹ãã | ã±ãŒã¹ã¹ã¿ã㣠| ã¡ã³ããã³ã¹ãšã¢ããããŒã | ã»ãã¥ãªãã£ãžã®é æ ® | ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ |
---|---|---|---|---|---|---|---|
PyTorch | åªããæè»æ§ã | Python ã©ã€ãã©ãªãšã®çžæ§ãæ矀 | è±å¯ãªãªãœãŒã¹ãšã³ãã¥ãã㣠| ç 究ãšãããã¿ã€ã | å®æçãã€ç©æ¥µçãªéçº | é åç°å¢ã«ãã | GPUã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã®ããã®CUDAãµããŒã |
TorchScript | ãããçç£ã«é©ããŠãããPyTorch | PyTorch ãã C++ ãžã®ã¹ã ãŒãºãªç§»è¡ | å°éæ§ã¯é«ããå¹ ã¯çãPyTorch | Python ãããã«ããã¯ãšãªã£ãŠããæ¥ç | äžè²«ããã¢ããããŒãPyTorch | å®å šã§ãªãã»ãã¥ãªãã£ã®åäžPython | ã®CUDAãµããŒããç¶æ¿ããŠãããPyTorch |
ONNX | ã©ã³ã¿ã€ã ã«ããå€å | ç°ãªããã¬ãŒã ã¯ãŒã¯ã§é«ã | å€ãã®çµç¹ã«æ¯ããããå¹ åºããšã³ã·ã¹ãã | MLãã¬ãŒã ã¯ãŒã¯éã®æè»æ§ | æ°èŠäºæ¥ã®ããã®å®æçãªæŽæ° | å®å šãªå€æãšé åã®å®è·µ | æ§ã ãªããŒããŠã§ã¢ã®æé©å |
OpenVINO | ã€ã³ãã«ããŒããŠã§ã¢ã«æé©å | ã€ã³ãã«ã®ãšã³ã·ã¹ãã å ã§æé« | ã³ã³ãã¥ãŒã¿ã»ããžã§ã³ã®åéã§ç¢ºåºããå®çžŸ | ã€ã³ãã«ããŒããŠã§ã¢ã«ããIoTãšãšããž | ã€ã³ãã«ããŒããŠã§ã¢ã®å®æçãªã¢ããããŒã | ç¹çŽ°ãªã¢ããªã±ãŒã·ã§ã³ã®ããã®å ç¢ãªæ©èœ | ã€ã³ãã«è£œããŒããŠã§ã¢ã«å¯Ÿå¿ |
TensorRT | NVIDIA GPUã®ãããã¬ãã« | NVIDIAããŒããŠã§ã¢ã«æé© | NVIDIAãéãã匷åãªãããã¯ãŒã¯ | ãªã¢ã«ã¿ã€ã æ åã»ç»åæšè« | æ°ããGPUã®ããã®é »ç¹ãªã¢ããããŒã | ã»ãã¥ãªãã£éèŠ | NVIDIA GPUçšã«èšèš |
CoreML | ããã€ã¹äžã®Apple補ããŒããŠã§ã¢ã«æé©å | ã¢ããã«ã®ãšã³ã·ã¹ãã å°çš | ã¢ããã«ãšããããããŒã®åŒ·åãªãµããŒã | ã¢ããã«è£œåã®ãªã³ããã€ã¹ML | ã¢ããã«ã®å®æçãªã¢ããããŒã | ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ã®éèŠ | ã¢ããã«ã®ãã¥ãŒã©ã«ã»ãšã³ãžã³ãšGPU |
TF SavedModel | ãµãŒããŒç°å¢ã§ã®æ¡åŒµæ§ | TensorFlow ãšã³ã·ã¹ãã ã«ãããå¹ åºãäºææ§ | TensorFlow 人æ°ã«ãã倧ããªæ¯æ | æš¡åãã¹ã±ãŒã«ã§æäŸ | ã°ãŒã°ã«ãšã³ãã¥ããã£ã«ããå®æçãªã¢ããããŒã | äŒæ¥åãã®å ç¢ãªæ©èœ | æ§ã ãªããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ |
TF GraphDef | éçèšç®ã°ã©ãã®å®å®æ§ | TensorFlow ã€ã³ãã©ãšããŸãçµ±å | éçã°ã©ããæé©åããããã®ãªãœãŒã¹ | éçã°ã©ããå¿ èŠãšããã·ããªãª | TensorFlow ã³ã¢ãšäžŠè¡ããŠã¢ããããŒã | 確ç«ãããTensorFlow ã»ãã¥ãªãã£æ £è¡ | TensorFlow å éãªãã·ã§ã³ |
TF ã©ã€ã | ã¢ãã€ã«ïŒçµã¿èŸŒã¿ã«ãããã¹ããŒããšå¹çæ§ | å¹ åºãããã€ã¹ã«å¯Ÿå¿ | 匷åºãªã³ãã¥ããã£ãã°ãŒã°ã«ã®æ¯æŽ | ãããããªã³ããæå°éã«æããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ | ã¢ãã€ã«åãææ°æ©èœ | ãšã³ããŠãŒã¶ãŒã»ããã€ã¹ã®ã»ãã¥ã¢ãªç°å¢ | GPUãDSPãªã© |
TF ãšããžTPU | Googleã®EdgeTPU ããŒããŠã§ã¢ã«æé©åãããŠããã | ãšããžå°çšTPU ããã€ã¹ | ã°ãŒã°ã«ããµãŒãããŒãã£ã®ãªãœãŒã¹ã§æé· | ãªã¢ã«ã¿ã€ã åŠçãå¿ èŠãªIoTæ©åš | æ°ããEdgeTPU ããŒããŠã§ã¢ã®æ¹å | ã°ãŒã°ã«ã®åŒ·åºãªIoTã»ãã¥ãªã㣠| ã°ãŒã°ã«ççã®ããã®ã«ã¹ã¿ã ãã¶ã€ã³ |
TF.js | é©åºŠãªãã©ãŠã¶å ããã©ãŒãã³ã¹ | ãŠã§ãæè¡ã«é«ãé¢å¿ | Webããã³Node.jséçºè ã®ãµããŒã | ã€ã³ã¿ã©ã¯ãã£ããªãŠã§ãã¢ããªã±ãŒã·ã§ã³ | TensorFlow ããŒã ãšã³ãã¥ããã£ãžã®è²¢ç® | ãŠã§ãã»ãã©ãããã©ãŒã ã®ã»ãã¥ãªãã£ã»ã¢ãã« | WebGLããã®ä»ã®APIã§åŒ·å |
PaddlePaddle | 競äºåã䜿ãããããæ¡åŒµæ§ | çŸåºŠã®ãšã³ã·ã¹ãã ãå¹ åºãã¢ããªã±ãŒã·ã§ã³ãµããŒã | äžåœãäžå¿ã«æ¥æé· | äžåœåžå ŽãšèšèªåŠç | äžåœã®AIã¢ããªã±ãŒã·ã§ã³ã«æ³šç® | ããŒã¿ã®ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ãéèŠ | ãã€ãã¥ã®åŽåŽããããå«ã |
NCNN | ã¢ãã€ã«ARMããŒã¹ã»ããã€ã¹ã«æé©å | ã¢ãã€ã«ããã³çµã¿èŸŒã¿ARMã·ã¹ãã | ãããã ã掻çºãªã¢ãã€ã«/çµã¿èŸŒã¿MLã³ãã¥ãã㣠| ã¢ã³ããã€ããšARMã·ã¹ãã ã®å¹çæ§ | ARMã®é«æ§èœã¡ã³ããã³ã¹ | ãªã³ããã€ã¹ã»ã»ãã¥ãªãã£ã®å©ç¹ | ARM CPUãšGPUã®æé©å |
ãã®æ¯èŒåæã§ã¯ããã€ã¬ãã«ãªæŠèŠã説æããŸããå°å ¥ã«ããã£ãŠã¯ããããžã§ã¯ãåºæã®èŠä»¶ãå¶çŽãèæ ®ããåãªãã·ã§ã³ã§å©çšå¯èœãªè©³çŽ°ãªããã¥ã¡ã³ãããªãœãŒã¹ãåç §ããããšãäžå¯æ¬ ã§ãã
ã³ãã¥ããã£ãšãµããŒã
YOLOv8 ãå§ããããšãããšãã圹ã«ç«ã€ã³ãã¥ããã£ããµããŒããããã°ã倧ããªåœ±é¿ãäžããããšãã§ããŸããããã§ã¯ãåãé¢å¿ãæã€äººãã¡ãšã€ãªãããå¿ èŠãªæ¯æŽãåŸãæ¹æ³ã玹ä»ããŸãã
ããåºãã³ãã¥ããã£ãšã®é¢ãã
-
GitHubã®ãã£ã¹ã«ãã·ã§ã³GitHub ã®YOLOv8 ãªããžããªã«ã¯ "Discussions" ã»ã¯ã·ã§ã³ãããã質åãåé¡ã®å ±åãæ¹åã®ææ¡ãã§ããŸãã
-
Ultralytics DiscordãµãŒããŒ: Ultralytics ã«ã¯DiscordãµãŒããŒããããä»ã®ãŠãŒã¶ãŒãéçºè ãšäº€æµããããšãã§ããŸãã
å ¬åŒææžãšãªãœãŒã¹
- Ultralytics YOLOv8 ããã¥ã¡ã³ã å ¬åŒããã¥ã¡ã³ãã§ã¯ãYOLOv8 ã®å æ¬çãªæŠèŠãšãã€ã³ã¹ããŒã«ã䜿çšæ¹æ³ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã«é¢ããã¬ã€ããæäŸããŠããŸãã
ãããã®ãªãœãŒã¹ã¯ã課é¡ã«åãçµã¿ãYOLOv8 ã³ãã¥ããã£ã®ææ°ãã¬ã³ããšãã¹ããã©ã¯ãã£ã¹ãåžžã«æŽæ°ããã®ã«åœ¹ç«ã¡ãŸãã
çµè«
ãã®ã¬ã€ãã§ã¯ãYOLOv8 ã®ããŸããŸãªå°å ¥ãªãã·ã§ã³ã«ã€ããŠæ€èšããŸããããŸããéžæããéã«èæ ®ãã¹ãéèŠãªèŠçŽ ã«ã€ããŠã説æããããããã®ãªãã·ã§ã³ã«ãããæ§ã ãªç°å¢ãæ§èœèŠä»¶ã«åãããŠã¢ãã«ãã«ã¹ã¿ãã€ãºããããšãã§ããå®éã®ã¢ããªã±ãŒã·ã§ã³ã«é©ãããã®ã«ããããšãã§ããŸãã
YOLOv8 ãUltralytics ã®ã³ãã¥ããã£ã貎éãªæ å ±æºã§ããããšãå¿ããªãã§ãã ãããä»ã®éçºè ãå°é家ãšã€ãªãããéåžžã®ããã¥ã¡ã³ãã«ã¯èŒã£ãŠããªããããªãŠããŒã¯ãªãã³ãã解決çãåŠã³ãŸããããç¥èãæ±ããæ°ããã¢ã€ãã¢ãæ¢æ±ããçµéšãå ±æãç¶ããŸãããã
ããããŒã»ãããã€ïŒ