ã¾ãã¯、ä½ãã¤ã³ã¹ãã¼ã«ããã«、ãã¼ã¸å
ã§ãã³ãã«ãã¾ã。
ãã¼ã 2a: 人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
ç»åã«äººã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ ã¢ã«ã´ãªãºã ãé©ç¨ããä¾。ã¤ã¡ã¼ã¸ã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 http://cocodataset.org
åºæ¬çã«ã¯、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã¨、ç»åã人ã®ä¸é¨ã§ãããã¯ã»ã«ã¨、ããã§ãªããã¯ã»ã«ã«åå²ããã¾ã。å
é¨çã«ã¯、ã¢ãã«ã«ç»åãæ¸¡ãã¨、0 ãã 1 ã®éã®æµ®åå°æ°ç¹æ°å¤ã§è¡¨ããã 2 次å
ç»åã«å¤æããã¾ã。ããããã®ãã¯ã»ã«ã¯、ããã«äººãæ ã£ã¦ãã確çã示ãã¦ãã¾ã。「ã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤」ã¨å¼ã°ããå¤ã¯、人ã®ä¸é¨ã§ããã¨è¦ãªããã¯ã»ã«ã®ã¹ã³ã¢ã®æå°å¤ã表ãã¾ã。ãã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤ã使ãã¨、0 ãã 1 ã®æµ®åå°æ°ç¹æ°å¤ã 0 ã 1 ã« 2 å¤åããã¾ã(ãããå¤ã 0.5 ã®å ´å、0.5 ãã大ããå¤ã¯ 1 ã«、0.5 ããå°ããå¤ã¯ 0 ã«å¤æããã¾ã)。
ç»åãåç»ã«å¯¾ãã¦äººã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã«ã¯、API ã¡ã½ãã
estimatePersonSegmentation ãå¼ã³åºãã¾ã。次ã®çãã³ã¼ããããã¯ã¯、ãã®ä½¿ãæ¹ã示ãã¦ãã¾ã。
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåä¾ã¯、次ã®ããã«ãªãã¾ã。
ãã®ã¡ã½ããã弿°ã«ã¤ãã¦ã®è©³ãã説æã¯、
github ã® readme ã«æ²è¼ããã¦ãã¾ã。
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåçµæãæç»ãã
BodyPix ããã©ã¦ã¶ã§åä½ãããã 1 ã¤ã®ã¡ãªããã¯、
Canvas Compositing ãªã©ã®ã¦ã§ã API ãå©ç¨ã§ãããã¨ã§ã。 ãã㨠BodyPix ããã®åºåçµæã使ã£ã¦、ç»åã®ä¸é¨ããã¹ã¯ãããç½®æããããã¦ã¿ã¾ããã。ããã«ä½¿ãå§ãããã¨ãã§ããããã«、ãã®æ©è½ãã©ããããã¦ã¼ãã£ãªãã£é¢æ°ãç¨æãã¦ãã¾ã。
toMaskImageData ã¯、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®æ¨å®ã表ãåºåçµæãåãåã、弿°
maskBackground ã«å¿ãã¦、人ã¾ãã¯èæ¯ãä¸éæã«ããééç»åãçæãã¾ã。ããããã¹ã¯ã¨ãã¦、å
ç»åã®ä¸ã«æç»ãããã¨ãã§ãã¾ã。ãããè¡ãã«ã¯、
drawMask ã¡ã½ããã使ãã¾ã。
drawMask ã¯、ãã£ã³ãã¹ã«ç»åãæç»ã、ãã®ä¸ããæå®ãããä¸éæåº¦ã®ãã¹ã¯ã§ ImageData ãæç»ãã¾ã。
ä¸ã®æåã® ç»åã«å¯¾ã㦠estimatePersonSegmentation ãå®è¡ã、ãã®åºåã toMaskImageData ã«æ¸¡ãã¨、 ImageData ãçæããã。ãã®éã«、maskBackground ã true ã«ããå ´å(ããã©ã«ã)ã¯ä¸ã® 2 çªç®ã® ç»åã®ããã«、ã¾ã㯠maskBackground ã false ã«è¨å®ããå ´å㯠3 çªç®ã® ç»åã®ããã«ãªã。 ãã®ãã¹ã¯ã¯、 drawMask ã使ã£ã¦ ç»åä¸ã«æç»ã§ãã。
ãã¼ã 2b: é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
ç»åã«é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ ã¢ã«ã´ãªãºã ãé©ç¨ããä¾。 ç»åã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 https://cocodataset.org.hb
BodyPix ã¯、åç´ã«äººã人ã§ãªãããåé¡ããã ãã§ãªã、ç»åã
24 ã®é¨ä½ ã®ããããã表ããã¯ã»ã«ã«åå²ãããã¨ãã§ãã¾ã。ç»åãã¢ãã«ã«æ¸¡ãã¨、0 ãã 23 ã®éã®æ´æ°å¤ã§è¡¨ããã 2 次å
ç»åã«å¤æããã¾ã。ããããã®ãã¯ã»ã«ã¯、ãã®ãã¯ã»ã«ã 24 ã®é¨ä½ã®ã©ãã«å±ãããã表ãã¦ãã¾ã。ä½ã®å¤å´ã«ããããã¯ã»ã«ã®å¤ã¯、-1 ã¨ãªãã¾ã。
ç»åãåç»ã«å¯¾ãã¦é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã«ã¯、API ã¡ã½ãã
estimatePartSegmentation ãå¼ã³åºãã¾ã。次ã®çãã³ã¼ããããã¯ã¯、ãã®ä½¿ãæ¹ã示ãã¦ãã¾ã。
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåä¾ã¯、次ã®ããã«ãªãã¾ã。
ãã®ã¡ã½ããã弿°ã«ã¤ãã¦ã®è©³ãã説æã¯、
github ã® readme ã«æ²è¼ããã¦ãã¾ã。
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåçµæãæç»ãã
estimatePartSegmentation ããã®åºåã¨、é¨ä½ ID ãã¤ã³ããã¯ã¹ã¨ããè²ã®é
åã
toColoredPartImageData ã«æ¸¡ãã¨、åãã¯ã»ã«ãé¨ä½ã«å¯¾å¿ããè²ã«ãªã£ãã¤ã¡ã¼ã¸ãçæããã¾ã。ããããã¹ã¯ã¨ãã¦、ãã£ã³ãã¹ã®å
ã®ç»åã®ä¸ã«æç»ã§ãã¾ã。ãããè¡ãã«ã¯、
drawMask ã¡ã½ããã使ãã¾ã。
ä¸ã®æåã® ç»åã«å¯¾ã㦠estimatePersonSegmentation ãå®è¡ã、ãã®åºåã¨ã«ã©ã¼ã¹ã±ã¼ã«ã toColoredPartImageData ã«æ¸¡ãã¨、ä¸ã® 2 çªç®ã®ãã㪠ImageData ãçæããã。ãã£ã³ãã¹ã«、å
ã® ç»åã®ä¸ããä¸éæåº¦ 0.7 ã§è²ã¤ãã®é¨ä½ã® ç»åãæç»ãããã¨ãã§ãã。ãããè¡ãã«ã¯、 drawMask ã使ç¨ãã。çµæã¯、ä¸ã® 3 çªç®ã® ç»åã®ããã«ãªã。
ãããã®ã¡ã½ããã®è©³ãã説æãä½¿ç¨æ³ã«ã¤ãã¦ã¯、github ã®
readme ãã覧ãã ãã。
BodyPix ã®é«éåã¨ç²¾åº¦åä¸
ããã©ã¼ãã³ã¹ã¨ç²¾åº¦ã«æã大ããå½±é¿ããã®ã¯、ã¢ãã«ã®ãµã¤ãºã¨åºåã¹ãã©ã¤ãã§ã。ãã® 2 ã¤ã®å¤ãè¨å®ãããã¨ã§、精度ãè½ã¨ãã¦é«éåããã、é度ãè½ã¨ãã¦ç²¾åº¦ãä¸ããããããã¨ãã§ãã¾ã。
ã¢ãã«ã®ãµã¤ãº ã¯、ã¢ãã«ãèªã¿è¾¼ãéã« mobileNetMultiplier 弿°ã§è¨å®ãã¾ã。è¨å®ã§ããå¤ã¯、0.25、0.50、0.75、1.00 ã®ããããã§ã。ãã®å¤ã¯、MobileNet ã®ã¢ã¼ããã¯ãã£ã¨ãã§ãã¯ãã¤ã³ãã«å¯¾å¿ãã¾ã。å¤ã大ããã»ã©、å層ã®ãµã¤ãºã大ãããªã、é度ã¨å¼ãæ¿ãã«ã¢ãã«ã®ç²¾åº¦ãåä¸ãã¾ã。å°ããªå¤ãè¨å®ããã¨、精度ã¨å¼ãæ¿ãã«é度ãåä¸ãã¾ã。
åºåã¹ãã©ã¤ã ã¯、ã»ã°ã¡ã³ãã¼ã·ã§ã³ãå®è¡ããéã«è¨å®ãã弿°ã§、 è¨å®ã§ããå¤ã¯ 8、16、32 ã®ããããã§ã。大ã¾ãã«è¨ãã°、ããã¯å§¿å¢ã®æ¨å®ã®ç²¾åº¦ã¨é度ã«å½±é¿ãã¾ã。åºåã¹ãã©ã¤ãã®å¤ãå°ããããã¨、精度ãä¸ããã¾ãã、é度ã¯é
ããªãã¾ã。å¤ã 大ãã ããã¨、äºæ¸¬æéã¯çããªãã¾ãã、精度㯠ä½ã ãªãã¾ã。
ããã«、
å
ç»å
ã®ãµã¤ãº ãããã©ã¼ãã³ã¹ã«å½±é¿ãã¾ã。ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®æ¨æ¸¬ãè¡ã£ãå¾、çµæã¯å
ã®ç»åãµã¤ãºã«ã¹ã±ã¼ãªã³ã°ãããã®ã§、å
ç»åã大ããã»ã©、çµæã®ã¹ã±ã¼ãªã³ã°ãæç»ãè¡ãéã®è¨ç®éãå¤ããªãã¾ã。é«éã«å¦çããã«ã¯、ç»åã縮å°ãã¦ãã API ã«æ¸¡ãã¦ãã ãã。
BodyPix ã触ã£ã¦ã¿ããæ¹ã¯、ãã²ããã§ã試ããã ãã。次ã®ã»ã¯ã·ã§ã³ã§ã¯、ã¢ãã«ã®ä½ææ¹æ³ãç¥ãããæ¹ã®ããã«、æè¡çãªè©³ç´°ã«ã¤ãã¦ããã«èª¬æãã¾ã。
BodyPix ãã§ããã¾ã§
BodyPix ã¯、ç³ã¿è¾¼ã¿ãã¥ã¼ã©ã« ãããã¯ã¼ã¯ ã¢ã«ã´ãªãºã ã使ã£ã¦ãã、ResNet ã¢ãã«ã¨ MobileNet ã¢ãã«ã®ä¸¡æ¹ããã¬ã¼ãã³ã°ãã¾ãã。ResNet ãã¼ã¹ã®ã¢ãã«ã®æ¹ã精度ã¯é«ãã®ã§ãã、ãã®ããã°æç¨¿ã§ã¯ MobileNet ãã¼ã¹ã®ã¢ãã«ãåãä¸ãã¾ã。MobileNet ã¢ãã«ã¯、ã¢ãã¤ã«ç«¯æ«ãä¸è¬æ¶è²»è
åãã®ã³ã³ãã¥ã¼ã¿ã§å¹ççã«å®è¡ã§ã、ãªã¼ãã³ã½ã¼ã¹åããã¦ãã¾ã。MobileNet ã¢ãã«ã§ã¯、é«å¯åº¦ 2D ã»ã°ã¡ã³ãã¼ã·ã§ã³ ããããäºæ¸¬ãããã、徿¥åã®åé¡ã¢ãã«ã®æçµãã¼ãªã³ã°å±¤ããã³å®å
¨çµå層ã 1x1 ã®ç³ã¿è¾¼ã¿å±¤ã«ç½®ãæãã£ã¦ãã¾ã。次ã®å³ã¯、å
¥åã¤ã¡ã¼ã¸ã®å¦çã« MobileNet ã使ãå ´åã®æµãã示ãã¦ãã¾ã。
å
¥å ç»åããåºå層ã¾ã§、MobileNet ã®å±¤ãã¨ã®æ´»æ§åã示ããä¾(説æã®é½åä¸、ç¹å¾´ãããã®ãã¦ã³ãµã¤ã¸ã³ã°ã¯çç¥)
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
BodyPix ã®ä¸æ ¸ã«ãªã£ã¦ããã®ã¯、人ã®ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã¢ã«ã´ãªãºã ã§ã。ã¤ã¾ã、å
¥åç»åã®åãã¯ã»ã«ã«ã¤ãã¦äºå決å®ãè¡ã、ãã®ãã¯ã»ã«ã人ã§ãããããã§ãªãããæ¨æ¸¬ãã¾ã。ãã®ä»çµã¿ã«ã¤ãã¦è¦ã¦ã¿ã¾ããã。
人ã®é åãåå²ããã¿ã¹ã¯ã示ãã ç»å。ããã¯、ãã¯ã»ã«ãã¨ã®äºå決å®ã¿ã¹ã¯ã¨èãããã¨ãã§ãã。1 ã¯ãã¯ã»ã«ã人ã®é åã«å±ãããã¨ã、0 ã¯ãã¯ã»ã«ã人ã®é åã«å±ããªããã¨ã示ã(説æã®é½åä¸、ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®è§£å度ãè½ã¨ãã¦ãã)。
ç»åã MobileNet ãããã¯ã¼ã¯ãééããã¨、ã·ã°ã¢ã¤ãæ´»æ§å颿°ãåºåã 0 㨠1 ã®éã®å¤ã«å¤æãã¾ã。ãã®å¤ã¯、ãã¯ã»ã«ã人ã«å±ãããããã§ãªããã示ã確çã¨è§£éã§ãã¾ã。ã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤(ä¾: 0.5)ã¯、人ã®ä¸é¨ã¨è¦ãªããã¯ã»ã«ã®ã¹ã³ã¢æå°å¤ã決å®ãã¾ã。ããã«ãã、åºåçµæããã¤ã㪠ã»ã°ã¡ã³ãã¼ã·ã§ã³ã«å¤æããã¾ã。
ç»åã«äººã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ ã¢ã«ã´ãªãºã ãé©ç¨ããå ´åã®ãã¼ã¿è¡¨ç¾ã®ä¾。å·¦ããå³ã«: å
¥å ç»å、ã·ã°ã¢ã¤ãå¾ã®ãããã¯ã¼ã¯ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³äºæ¸¬、ãããå¤ãé©ç¨ããå¾ã®ãã¤ã㪠ã»ã°ã¡ã³ãã¼ã·ã§ã³。å³: Ashley Jane Lewis。 ç»åã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 https://cocodataset.org
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®äºæ¸¬ã«ã、åã MobileNet 表ç¾ã使ã£ã¦ãã¾ã。ããã、ããã§ã¯、
追å ã® 24 ãã£ã³ãã«ã®åºåãã³ã½ã«
P (
24 ã¯é¨ä½ã®æ°)ã«ã¤ãã¦äºæ¸¬ãè¡ããã¨ã§、åè¿°ã®å¦çãç¹°ãè¿ãã¦ãã¾ã。åãã£ã³ãã«ã«ã¯、ããé¨ä½ãåå¨ãããã©ããã®ç¢ºçã符å·åããã¦ãã¾ã。
é¨ä½ã®é åãåå²ããã¿ã¹ã¯ã示ãä¾。ããã¯、ãã¯ã»ã«ãã¨ã« è¤æ°ã®ãã£ã³ãã« ã«å¯¾ãã¦è¡ãäºå決å®ã¿ã¹ã¯ã¨èãããã¨ãã§ãã。åé¨ä½ã®ãã£ã³ãã«ã«å¯¾ãã¦、1 ã¯ãã¯ã»ã«ããã®é¨ä½ã®é åã«å±ãããã¨ã、0 ã¯å±ããªããã¨ã示ã(å·¦ããå³ã«: å
¥åã¤ã¡ã¼ã¸、é¡ã®å³å´ãã£ã³ãã«、é¡ã®å·¦å´ãã£ã³ãã«)。 å
¥å ç»åãã、24 ã®è¿½å ãã£ã³ãã«ã®é¨ä½ã«é¢ããã»ã°ã¡ã³ãã¼ã·ã§ã³åºåã¾ã§、MobileNet ã®å±¤ãã¨ã®æ´»æ§åã示ããä¾(説æã®é½åä¸、ç¹å¾´ãããã®ãã¦ã³ãµã¤ã¸ã³ã°ã¯çç¥)。
ç»åã®ããããã®å ´æã«ã¤ãã¦、
åºåãã³ã½ã«
P ã« 24 ã®ãã£ã³ãã«ãããã®ã§、ãã® 24 ã®ãã£ã³ãã«ããæé©ãªé¨ä½ãæ¢ãå¿
è¦ãããã¾ã。æ¨è«ã®éã«ã¯、åºåé¨ä½ãã³ã½ã«
P ã®åãã¯ã»ã«ä½ç½® (
u ,
P ) ã«ã¤ãã¦、次ã®å¼ã使ã£ã¦æãé«ã確çãæã¤æé©ãª
body_part_id ã鏿ãã¾ã。
ãã®çµæã¯、åãã¯ã»ã«ããã®ãã¯ã»ã«ãå±ããé¨ä½ãç¤ºãæ´æ°ã¨ãªã£ã¦ãã 2 次å
ç»å(å
ã®ã¤ã¡ã¼ã¸ã¨åããµã¤ãº)ã«ãªãã¾ã。å
¨ä½ã®ç»åãã人ãåãæãéã«ã¯、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®åºåçµæã使ã£ã¦ãã¾ã。対å¿ãã人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®åºåçµæãã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤ããå°ããå ´å、å¤ã« -1 ãè¨å®ãã¾ã。
24 ãã£ã³ãã«ã®é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã¨、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãçµã¿åããã¦、1 ãã£ã³ãã«ã®é¨ä½ ID åºåãçæããæ¹æ³ã示ããä¾。å³: Ashley Jane Lewis。 ç»åã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 https://cocodataset.org æçµç㪠1 ãã£ã³ãã«ã®é¨ä½ ID åºåã示ããä¾。24 ãã£ã³ãã«ã®é¨ä½ãã¹ã¯ãçµã¿åãããéã«ã¯、åè¿°ã® argmax å¼ã¨、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã«ããé åã®åãæãã使ã(説æã®é½åä¸、å body_part_id ãéè¤ããªãè²ã§ç¤ºã、åºåè§£å度ãè½ã¨ãã¦ãã)。
å®ãã¼ã¿ããã³ã·ãã¥ã¬ã¼ã·ã§ã³ ãã¼ã¿ã«ãããã¬ã¼ãã³ã°
ç»åã®ãã¯ã»ã«ã 24 ã®é¨ä½ã®é åã«åå²ããã¿ã¹ã¯ã®ããã«、æä½æ¥ã§å¤§éã®ãã¬ã¼ãã³ã° ãã¼ã¿ã«æ
å ±ãä»å ããã®ã¯、æéã®ããã使¥ã§ã。ããã§、å
é¨çã«ã¯、ã³ã³ãã¥ã¼ã¿ ã°ã©ãã£ãã¯ã¹ã使ã£ã¦æ£è§£ã¨ãªãé¨ä½ã»ã°ã¡ã³ãã¼ã·ã§ã³æ
å ±ãä»å ãããç»åãã¬ã³ããªã³ã°ãã¾ãã。ã¢ãã«ã®ãã¬ã¼ãã³ã°ãè¡ãã«ããã£ã¦ã¯、ã¬ã³ããªã³ã°ããç»åã«å®éã® COCO ã¤ã¡ã¼ã¸(2D ãã¼ãã¤ã³ãã¨ã¤ã³ã¹ã¿ã³ã¹ ã»ã°ã¡ã³ãã¼ã·ã§ã³æ
å ±ãä»å ãããã®)ãæ··ãåããã¾ãã。ãã®æ··åãã¬ã¼ãã³ã°æ¦ç¥ã¨ãã«ãã¿ã¹ã¯æå¤±ã使ããã¨ã§、ResNet ã¢ãã«ã¯ã·ãã¥ã¬ã¼ã·ã§ã³æ
å ±ã ãã§ 24 ã®é¨ä½ã®äºæ¸¬æ©è½ãå¦ç¿ãããã¨ãã§ãã¾ãã。æçµçã«、COCO ç»åã«å¯¾ããæå¸« ResNet ã¢ãã«ã®äºæ¸¬ã
è¸ç ã、BodyPix ç¨ã®çå¾ MobileNet ã¢ãã«ã使ãã¾ãã。
å®éã® ç»åã¨ã³ã³ãã¥ã¼ã¿ ã°ã©ãã£ãã¯ã¹ã§çæãã ç»åã®ä¸¡æ¹ã§、æå¸« ResNet ã¢ãã«ããã¬ã¼ãã³ã°ããä»çµã¿ã示ããä¾。æ£è§£ã¨ãªãé¨ä½æ
å ±ã¯、ã³ã³ãã¥ã¼ã¿ ã°ã©ãã£ãã¯ã¹ã§çæãã ç»åã«ã®ã¿åå¨ãã。 æå¸« ResNet ã¢ãã«ã®äºæ¸¬ãè¸çã、çå¾ MobileNet ãã¼ã¹ã® BodyPix ã¢ãã«ã使ããæ¹æ³ã示ããä¾。
PoseNet ã¨åãã、BodyPix ã、ä¸è¬åãã®ç«¯æ«ã®ãã¼ã«ã«ç°å¢ã§åºã使ããã¨ãã§ãã
ã¢ã¼ã·ã§ã³ ãã£ãã㣠ã«åããå°ããªä¸æ©ã«ãªãã¨èãã¦ãã¾ã。3D ä½å½¢ã®ãã£ããã£、é«éã«æ¯åããè»çµç¹çã®åä½、è¡£æã«ããå¤è¦ãå½¢ç¶ã®éããªã©、ãããã解決ããªããã°ãªããªãç 究課é¡ã¯、ã¾ã ããªãå¤ãæ®ããã¦ãã¾ã。ãã®ç¹ãè¦æ®ãã¤ã¤ã、ç§ãã¡ã¯ã¢ã¼ã·ã§ã³ ãã£ãã㣠ãã¯ããã¸ã¼ãããã«ä¾¿å©ã«ãªã£ã¦åºãæ®åã、ãã¾ãã¾ãªæ¥çã§å¿ç¨ãããæªæ¥ãæãæãã¦ãã¾ã。
çããã BodyPix ã¢ãã«ã使ã£ã¦ã¿ããã¨ãã§ããããã«、ããã¤ãã®ä¾ã¨ã¦ã¼ãã£ãªã㣠ã¡ã½ãããæä¾ãã¦ãã¾ã。ããããçæ³ãå¾ã¦、ã¢ãã«ã«è§¦ãã¦ããã ããã°å¹¸ãã§ã。çããã¯、ã©ã®ãããªãã®ãä½ã£ã¦ãããã§ãããã。ãã®ãå ±åãæ¥½ãã¿ã«ãã¦ãã¾ã。ãã² #tensorflowjs、#bodypix、#PoweredByTF ã§ããã¸ã§ã¯ããã·ã§ã¢ãã¦ãã ãã。
Reviewed by
Kaz Sato - Staff Developer Advocate, Google Cloud
å
è¨äº
ãã®è¨äºã¯ Dan Oved ã«ãã TensorFlow - Medium ã®è¨äº "Introducing BodyPix: Real-time Person Segmentation in the Browser with TensorFlow.js " ãå
ã«ç¿»è¨³・å çãããã®ã§ã。詳ããã¯å
è¨äºãã覧ãã ãã。
æç¨¿è
: Dan Oved (ãã¥ã¼ã¨ã¼ã¯å¤§å¦ ITP 大å¦é¢çããã³ç ç©¶å¡)、 Tyler Zhu (Google Research ã¨ã³ã¸ãã¢)、ç·¨é: Irene Alvarado(Google Creative Lab ã¯ãªã¨ã¤ãã£ã ãã¯ããã¸ã¹ã)
ãã©ã¦ã¶ã¨ TensorFlow.js ã使ã£ã¦äººãä½ã®é¨ä½ãæ ã£ã¦ããé åãåå²(ã»ã°ã¡ã³ãã¼ã·ã§ã³)ã§ãããªã¼ãã³ã½ã¼ã¹æ©æ¢°å¦ç¿ã¢ãã«、BodyPix ã®ãªãªã¼ã¹ã«ã¤ãã¦ãç¥ãããã¾ã。ããã©ã«ãã®è¨å®ã使ç¨ããå ´å、2018 å¹´ã¢ãã«ã® 15 ã¤ã³ã MacBook Pro ã§ã¯ 25 fps 、iPhone X ã§ã¯ 21 fps ã§äººãé¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®äºæ¸¬ã¨ã¬ã³ããªã³ã°ãã§ãã¾ã。
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã¨ã¯、å
·ä½çã«ã©ããããã¨ã§ãããã。ã³ã³ãã¥ã¼ã¿ ãã¸ã§ã³ã§ç»åã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã¨è¨ãã°、ç»åå
ã®ãã¯ã»ã«ãæå³ã®ããé åãã¨ã«ã°ã«ã¼ãåããæè¡ã®ãã¨ã§、é常ã¯ç©ä½ãå¢çãè¦ã¤ãããã¨ãæãã¾ã。BodyPix ã®ã¢ãã«ã¯、人ã 24 種é¡ã®é¨ä½(å·¦æ、å³ä¸è¢æ£é¢、è´ä½å¾é¨ãªã©)ã«å¯¾ãã¦ãã®å¦çãè¡ãããã«ãã¬ã¼ãã³ã°ããã¦ãã¾ã。ã¤ã¾ã、BodyPix ã¯ç»åå
ã®ãã¯ã»ã«ã、1) 人ã¨è¡¨ããã¯ã»ã«ã¨ 2) èæ¯ã表ããã¯ã»ã«ã® 2 種é¡ã«åé¡ã§ãã¾ã。ããã«、人ã表ããã¯ã»ã«ã 24 ã®é¨ä½ã®ããããã«åé¡ãããã¨ãã§ãã¾ã。
ãã¡ã ã®ã©ã¤ããã¢ã試ãã¦ããã ãã¨ããããããããããã¾ãã。
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã使ãã¨、ä½ãã§ããã®ã§ãããã。ãã®ãã¯ããã¸ã¼ã¯、æ¡å¼µç¾å®(AR) ããåçã®ç·¨é 、ç»åãåç»ã«å¯¾ããã¢ã¼ã广 ã¾ã§、ãã¾ãã¾ãªãã¨ã«å¿ç¨ã§ãããã¼ã«ã§ã。ä½ããããã¯、çããæ¬¡ç¬¬ã§ã。æ¨å¹´、PoseNet (人ä½ã®å§¿å¢ã®æ¨æ¸¬(Kinect ãè¡ã£ã¦ãããã¨)ãç°¡åãªã¦ã§ãã«ã¡ã©ã¨ãã©ã¦ã¶ã§è¡ããããã«ããåãã¦ã®ã¢ãã«)ããªãªã¼ã¹ããã¨ã、çããã¯ãã®ãã¯ããã¸ã¼ã®ãã¾ãã¾ ãªç¨®é¡ ã®ã¦ã¼ã¹ã±ã¼ã¹ ãèãã¦ããã¾ãã。BodyPix ã§ã、åããããªã¯ãªã¨ã¤ãã£ããªå®é¨ãè¡ããããã¨ãæå¾
ãã¦ãã¾ã。
ãªãããããã©ã¦ã¶ã§è¡ããããã«ããã®ã§ãããã。PoseNet ã¨åãããã«、ãªã¢ã«ã¿ã¤ã ã®äººã»ã°ã¡ã³ãã¼ã·ã§ã³ã、以åã¯、å°ç¨ã®ãã¼ãã¦ã§ã¢ã、ã·ã¹ãã è¦ä»¶ãå³ããã¤ã³ã¹ãã¼ã«ãå°é£ãªã½ããã¦ã§ã¢ã使ããªããã°ã§ããªããã¨ã§ãã。ããã、BodyPix 㨠PoseNet ãªã、ãããæ°è¡ã®ã³ã¼ãã ã 、ããã«ã¤ã³ã¹ãã¼ã«ä¸è¦ã§ä½¿ãã¾ã。ãã®ã¢ãã«ã使ãããã«、å°ç¨ã®ã¬ã³ãºã¯å¿
è¦ããã¾ãã。ã©ããªåºæ¬çãªã¦ã§ãã«ã¡ã©ãã¢ãã¤ã«ã«ã¡ã©ã§ãåä½ãã¾ã。 ããã«、ã¦ã¼ã¶ã¼ã¯ URL ãéãã ãã§ã¢ããªã±ã¼ã·ã§ã³ã«ã¢ã¯ã»ã¹ã§ãã¾ã。è¨ç®ã¯ãã¹ã¦ 端æ«ä¸ ã§è¡ããããã、ãã¼ã¿ã®ãã©ã¤ãã·ã¼ã¯å®ããã¾ã。 以ä¸ã®çç±ãã、BodyPix ã¯ã¢ã¼ãã£ã¹ããã¯ãªã¨ã¤ãã£ããªããã°ã©ãã¼ 、ããã°ã©ãã³ã°åå¿è
ãç°¡åã«å©ç¨ã§ãããã¼ã« ã¨è¨ãã¾ã。
BodyPix ã«ã¤ãã¦è©³ãã説æããåã«、ã¢ãã«ã人ä½ã®å§¿å¢ã®æ¨æ¸¬ [1 , 2 ] ã«é¢ãã使¥ãè¡ã£ã¦ããã Google Research ã® Tyler Zhu æ°、TensorFlow.js ã©ã¤ãã©ãªã«é¢ãã£ã¦ãã Google Brain ãã¼ã ã®ã¨ã³ã¸ãã¢ã§ãã Nikhil Thorat æ°ã¨ Daniel Smilkov æ°、ããã¦、ãã®ããã¸ã§ã¯ãã«ããã Dan Oved ã®ä½æ¥ã«è³éãæä¾ãã¦ããã Daniel Shiffman æ°ã¨ Google Faculty Research Award ã«åã御礼ç³ãä¸ãã¾ã。
BodyPix ã使ã£ã¦ã¿ã
ãã®ã¢ãã«ã使ãã«ããã£ã¦ã®æè¡ç詳細ã«ã¤ãã¦èª¬æãã¾ããã。BodyPix ã使ãã¨、ç»åã人ã®ä¸é¨ã§ãããã¯ã»ã«ã¨ããã§ãªããã¯ã»ã« ã«åå²ã§ãã¾ã。人ã®ä¸é¨ã§ãããã¯ã»ã«ã¯、ããã« 24 ã®é¨ä½ ã®ããããã«åé¡ã§ãã¾ã。éè¦ãªç¹ã¯、ãã®ã¢ãã«ã¯ 1 人 ã«å¯¾ãã¦åä½ããã¨ãããã¨ã§ã。ãã®ãã、å
¥åãã¼ã¿ã«è¤æ°ã®äººãå«ã¾ããªãããã«ãã¦ãã ãã。
ãã¼ã 1: TensorFlow.js ããã³ BodyPix ã©ã¤ãã©ãªã®ã¤ã³ãã¼ã
BodyPix ããã¸ã§ã¯ãã®åºæ¬çãªè¨å®æ¹æ³ã«ã¤ãã¦èª¬æãã¾ã。
ã©ã¤ãã©ãªã¯、npm install @tensorflow-models/body-pix ã§ã¤ã³ã¹ãã¼ã«ã§ãã¾ã。ãã®å¾、es6 ã¢ã¸ã¥ã¼ã«ã使ã£ã¦ã¤ã³ãã¼ããã¾ã。
ã¾ãã¯、ä½ãã¤ã³ã¹ãã¼ã«ããã«、ãã¼ã¸å
ã§ãã³ãã«ãã¾ã。
ãã¼ã 2a: 人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
ç»åã«äººã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ ã¢ã«ã´ãªãºã ãé©ç¨ããä¾。ã¤ã¡ã¼ã¸ã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 http://cocodataset.org
åºæ¬çã«ã¯、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã¨、ç»åã人ã®ä¸é¨ã§ãããã¯ã»ã«ã¨、ããã§ãªããã¯ã»ã«ã«åå²ããã¾ã。å
é¨çã«ã¯、ã¢ãã«ã«ç»åãæ¸¡ãã¨、0 ãã 1 ã®éã®æµ®åå°æ°ç¹æ°å¤ã§è¡¨ããã 2 次å
ç»åã«å¤æããã¾ã。ããããã®ãã¯ã»ã«ã¯、ããã«äººãæ ã£ã¦ãã確çã示ãã¦ãã¾ã。「ã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤」ã¨å¼ã°ããå¤ã¯、人ã®ä¸é¨ã§ããã¨è¦ãªããã¯ã»ã«ã®ã¹ã³ã¢ã®æå°å¤ã表ãã¾ã。ãã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤ã使ãã¨、0 ãã 1 ã®æµ®åå°æ°ç¹æ°å¤ã 0 ã 1 ã« 2 å¤åããã¾ã(ãããå¤ã 0.5 ã®å ´å、0.5 ãã大ããå¤ã¯ 1 ã«、0.5 ããå°ããå¤ã¯ 0 ã«å¤æããã¾ã)。
ç»åãåç»ã«å¯¾ãã¦äººã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã«ã¯、API ã¡ã½ãã estimatePersonSegmentation ãå¼ã³åºãã¾ã。次ã®çãã³ã¼ããããã¯ã¯、ãã®ä½¿ãæ¹ã示ãã¦ãã¾ã。
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåä¾ã¯、次ã®ããã«ãªãã¾ã。
ãã®ã¡ã½ããã弿°ã«ã¤ãã¦ã®è©³ãã説æã¯、github ã® readme ã«æ²è¼ããã¦ãã¾ã。
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåçµæãæç»ãã
BodyPix ããã©ã¦ã¶ã§åä½ãããã 1 ã¤ã®ã¡ãªããã¯、Canvas Compositing ãªã©ã®ã¦ã§ã API ãå©ç¨ã§ãããã¨ã§ã。 ãã㨠BodyPix ããã®åºåçµæã使ã£ã¦、ç»åã®ä¸é¨ããã¹ã¯ãããç½®æããããã¦ã¿ã¾ããã。ããã«ä½¿ãå§ãããã¨ãã§ããããã«、ãã®æ©è½ãã©ããããã¦ã¼ãã£ãªãã£é¢æ°ãç¨æãã¦ãã¾ã。
toMaskImageData ã¯、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®æ¨å®ã表ãåºåçµæãåãåã、弿° maskBackground ã«å¿ãã¦、人ã¾ãã¯èæ¯ãä¸éæã«ããééç»åãçæãã¾ã。ããããã¹ã¯ã¨ãã¦、å
ç»åã®ä¸ã«æç»ãããã¨ãã§ãã¾ã。ãããè¡ãã«ã¯、drawMask ã¡ã½ããã使ãã¾ã。
drawMask ã¯、ãã£ã³ãã¹ã«ç»åãæç»ã、ãã®ä¸ããæå®ãããä¸éæåº¦ã®ãã¹ã¯ã§ ImageData ãæç»ãã¾ã。
ä¸ã®æåã® ç»åã«å¯¾ã㦠estimatePersonSegmentation ãå®è¡ã、ãã®åºåã toMaskImageData ã«æ¸¡ãã¨、 ImageData ãçæããã。ãã®éã«、maskBackground ã true ã«ããå ´å(ããã©ã«ã)ã¯ä¸ã® 2 çªç®ã® ç»åã®ããã«、ã¾ã㯠maskBackground ã false ã«è¨å®ããå ´å㯠3 çªç®ã® ç»åã®ããã«ãªã。 ãã®ãã¹ã¯ã¯、 drawMask ã使ã£ã¦ ç»åä¸ã«æç»ã§ãã。
ãã¼ã 2b: é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
ç»åã«é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ ã¢ã«ã´ãªãºã ãé©ç¨ããä¾。 ç»åã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 https://cocodataset.org.hb
BodyPix ã¯、åç´ã«äººã人ã§ãªãããåé¡ããã ãã§ãªã、ç»åã 24 ã®é¨ä½ ã®ããããã表ããã¯ã»ã«ã«åå²ãããã¨ãã§ãã¾ã。ç»åãã¢ãã«ã«æ¸¡ãã¨、0 ãã 23 ã®éã®æ´æ°å¤ã§è¡¨ããã 2 次å
ç»åã«å¤æããã¾ã。ããããã®ãã¯ã»ã«ã¯、ãã®ãã¯ã»ã«ã 24 ã®é¨ä½ã®ã©ãã«å±ãããã表ãã¦ãã¾ã。ä½ã®å¤å´ã«ããããã¯ã»ã«ã®å¤ã¯、-1 ã¨ãªãã¾ã。
ç»åãåç»ã«å¯¾ãã¦é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã«ã¯、API ã¡ã½ãã estimatePartSegmentation ãå¼ã³åºãã¾ã。次ã®çãã³ã¼ããããã¯ã¯、ãã®ä½¿ãæ¹ã示ãã¦ãã¾ã。
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåä¾ã¯、次ã®ããã«ãªãã¾ã。
ãã®ã¡ã½ããã弿°ã«ã¤ãã¦ã®è©³ãã説æã¯、github ã® readme ã«æ²è¼ããã¦ãã¾ã。
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ããã®åºåçµæãæç»ãã
estimatePartSegmentation ããã®åºåã¨、é¨ä½ ID ãã¤ã³ããã¯ã¹ã¨ããè²ã®é
åã toColoredPartImageData ã«æ¸¡ãã¨、åãã¯ã»ã«ãé¨ä½ã«å¯¾å¿ããè²ã«ãªã£ãã¤ã¡ã¼ã¸ãçæããã¾ã。ããããã¹ã¯ã¨ãã¦、ãã£ã³ãã¹ã®å
ã®ç»åã®ä¸ã«æç»ã§ãã¾ã。ãããè¡ãã«ã¯、drawMask ã¡ã½ããã使ãã¾ã。
ä¸ã®æåã® ç»åã«å¯¾ã㦠estimatePersonSegmentation ãå®è¡ã、ãã®åºåã¨ã«ã©ã¼ã¹ã±ã¼ã«ã toColoredPartImageData ã«æ¸¡ãã¨、ä¸ã® 2 çªç®ã®ãã㪠ImageData ãçæããã。ãã£ã³ãã¹ã«、å
ã® ç»åã®ä¸ããä¸éæåº¦ 0.7 ã§è²ã¤ãã®é¨ä½ã® ç»åãæç»ãããã¨ãã§ãã。ãããè¡ãã«ã¯、 drawMask ã使ç¨ãã。çµæã¯、ä¸ã® 3 çªç®ã® ç»åã®ããã«ãªã。
ãããã®ã¡ã½ããã®è©³ãã説æãä½¿ç¨æ³ã«ã¤ãã¦ã¯、github ã® readme ãã覧ãã ãã。
BodyPix ã®é«éåã¨ç²¾åº¦åä¸
ããã©ã¼ãã³ã¹ã¨ç²¾åº¦ã«æã大ããå½±é¿ããã®ã¯、ã¢ãã«ã®ãµã¤ãºã¨åºåã¹ãã©ã¤ãã§ã。ãã® 2 ã¤ã®å¤ãè¨å®ãããã¨ã§、精度ãè½ã¨ãã¦é«éåããã、é度ãè½ã¨ãã¦ç²¾åº¦ãä¸ããããããã¨ãã§ãã¾ã。
ã¢ãã«ã®ãµã¤ãº ã¯、ã¢ãã«ãèªã¿è¾¼ãéã« mobileNetMultiplier 弿°ã§è¨å®ãã¾ã。è¨å®ã§ããå¤ã¯、0.25、0.50、0.75、1.00 ã®ããããã§ã。ãã®å¤ã¯、MobileNet ã®ã¢ã¼ããã¯ãã£ã¨ãã§ãã¯ãã¤ã³ãã«å¯¾å¿ãã¾ã。å¤ã大ããã»ã©、å層ã®ãµã¤ãºã大ãããªã、é度ã¨å¼ãæ¿ãã«ã¢ãã«ã®ç²¾åº¦ãåä¸ãã¾ã。å°ããªå¤ãè¨å®ããã¨、精度ã¨å¼ãæ¿ãã«é度ãåä¸ãã¾ã。
åºåã¹ãã©ã¤ã ã¯、ã»ã°ã¡ã³ãã¼ã·ã§ã³ãå®è¡ããéã«è¨å®ãã弿°ã§、 è¨å®ã§ããå¤ã¯ 8、16、32 ã®ããããã§ã。大ã¾ãã«è¨ãã°、ããã¯å§¿å¢ã®æ¨å®ã®ç²¾åº¦ã¨é度ã«å½±é¿ãã¾ã。åºåã¹ãã©ã¤ãã®å¤ãå°ããããã¨、精度ãä¸ããã¾ãã、é度ã¯é
ããªãã¾ã。å¤ã 大ãã ããã¨、äºæ¸¬æéã¯çããªãã¾ãã、精度㯠ä½ã ãªãã¾ã。
ããã«、å
ç»åã®ãµã¤ãº ãããã©ã¼ãã³ã¹ã«å½±é¿ãã¾ã。ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®æ¨æ¸¬ãè¡ã£ãå¾、çµæã¯å
ã®ç»åãµã¤ãºã«ã¹ã±ã¼ãªã³ã°ãããã®ã§、å
ç»åã大ããã»ã©、çµæã®ã¹ã±ã¼ãªã³ã°ãæç»ãè¡ãéã®è¨ç®éãå¤ããªãã¾ã。é«éã«å¦çããã«ã¯、ç»åã縮å°ãã¦ãã API ã«æ¸¡ãã¦ãã ãã。
BodyPix ã触ã£ã¦ã¿ããæ¹ã¯、ãã²ããã§ã試ããã ãã。次ã®ã»ã¯ã·ã§ã³ã§ã¯、ã¢ãã«ã®ä½ææ¹æ³ãç¥ãããæ¹ã®ããã«、æè¡çãªè©³ç´°ã«ã¤ãã¦ããã«èª¬æãã¾ã。
BodyPix ãã§ããã¾ã§
BodyPix ã¯、ç³ã¿è¾¼ã¿ãã¥ã¼ã©ã« ãããã¯ã¼ã¯ ã¢ã«ã´ãªãºã ã使ã£ã¦ãã、ResNet ã¢ãã«ã¨ MobileNet ã¢ãã«ã®ä¸¡æ¹ããã¬ã¼ãã³ã°ãã¾ãã。ResNet ãã¼ã¹ã®ã¢ãã«ã®æ¹ã精度ã¯é«ãã®ã§ãã、ãã®ããã°æç¨¿ã§ã¯ MobileNet ãã¼ã¹ã®ã¢ãã«ãåãä¸ãã¾ã。MobileNet ã¢ãã«ã¯、ã¢ãã¤ã«ç«¯æ«ãä¸è¬æ¶è²»è
åãã®ã³ã³ãã¥ã¼ã¿ã§å¹ççã«å®è¡ã§ã、ãªã¼ãã³ã½ã¼ã¹åããã¦ãã¾ã。MobileNet ã¢ãã«ã§ã¯、é«å¯åº¦ 2D ã»ã°ã¡ã³ãã¼ã·ã§ã³ ããããäºæ¸¬ãããã、徿¥åã®åé¡ã¢ãã«ã®æçµãã¼ãªã³ã°å±¤ããã³å®å
¨çµå層ã 1x1 ã®ç³ã¿è¾¼ã¿å±¤ã«ç½®ãæãã£ã¦ãã¾ã。次ã®å³ã¯、å
¥åã¤ã¡ã¼ã¸ã®å¦çã« MobileNet ã使ãå ´åã®æµãã示ãã¦ãã¾ã。
å
¥å ç»åããåºå層ã¾ã§、MobileNet ã®å±¤ãã¨ã®æ´»æ§åã示ããä¾(説æã®é½åä¸、ç¹å¾´ãããã®ãã¦ã³ãµã¤ã¸ã³ã°ã¯çç¥)
人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
BodyPix ã®ä¸æ ¸ã«ãªã£ã¦ããã®ã¯、人ã®ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãè¡ãã¢ã«ã´ãªãºã ã§ã。ã¤ã¾ã、å
¥åç»åã®åãã¯ã»ã«ã«ã¤ãã¦äºå決å®ãè¡ã、ãã®ãã¯ã»ã«ã人ã§ãããããã§ãªãããæ¨æ¸¬ãã¾ã。ãã®ä»çµã¿ã«ã¤ãã¦è¦ã¦ã¿ã¾ããã。
人ã®é åãåå²ããã¿ã¹ã¯ã示ãã ç»å。ããã¯、ãã¯ã»ã«ãã¨ã®äºå決å®ã¿ã¹ã¯ã¨èãããã¨ãã§ãã。1 ã¯ãã¯ã»ã«ã人ã®é åã«å±ãããã¨ã、0 ã¯ãã¯ã»ã«ã人ã®é åã«å±ããªããã¨ã示ã(説æã®é½åä¸、ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®è§£å度ãè½ã¨ãã¦ãã)。
ç»åã MobileNet ãããã¯ã¼ã¯ãééããã¨、ã·ã°ã¢ã¤ãæ´»æ§å颿°ãåºåã 0 㨠1 ã®éã®å¤ã«å¤æãã¾ã。ãã®å¤ã¯、ãã¯ã»ã«ã人ã«å±ãããããã§ãªããã示ã確çã¨è§£éã§ãã¾ã。ã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤(ä¾: 0.5)ã¯、人ã®ä¸é¨ã¨è¦ãªããã¯ã»ã«ã®ã¹ã³ã¢æå°å¤ã決å®ãã¾ã。ããã«ãã、åºåçµæããã¤ã㪠ã»ã°ã¡ã³ãã¼ã·ã§ã³ã«å¤æããã¾ã。
ç»åã«äººã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ ã¢ã«ã´ãªãºã ãé©ç¨ããå ´åã®ãã¼ã¿è¡¨ç¾ã®ä¾。å·¦ããå³ã«: å
¥å ç»å、ã·ã°ã¢ã¤ãå¾ã®ãããã¯ã¼ã¯ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³äºæ¸¬、ãããå¤ãé©ç¨ããå¾ã®ãã¤ã㪠ã»ã°ã¡ã³ãã¼ã·ã§ã³。å³: Ashley Jane Lewis。 ç»åã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 https://cocodataset.org
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³
é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®äºæ¸¬ã«ã、åã MobileNet 表ç¾ã使ã£ã¦ãã¾ã。ããã、ããã§ã¯、 追å ã® 24 ãã£ã³ãã«ã®åºåãã³ã½ã« P ( 24 ã¯é¨ä½ã®æ°)ã«ã¤ãã¦äºæ¸¬ãè¡ããã¨ã§、åè¿°ã®å¦çãç¹°ãè¿ãã¦ãã¾ã。åãã£ã³ãã«ã«ã¯、ããé¨ä½ãåå¨ãããã©ããã®ç¢ºçã符å·åããã¦ãã¾ã。
é¨ä½ã®é åãåå²ããã¿ã¹ã¯ã示ãä¾。ããã¯、ãã¯ã»ã«ãã¨ã« è¤æ°ã®ãã£ã³ãã« ã«å¯¾ãã¦è¡ãäºå決å®ã¿ã¹ã¯ã¨èãããã¨ãã§ãã。åé¨ä½ã®ãã£ã³ãã«ã«å¯¾ãã¦、1 ã¯ãã¯ã»ã«ããã®é¨ä½ã®é åã«å±ãããã¨ã、0 ã¯å±ããªããã¨ã示ã(å·¦ããå³ã«: å
¥åã¤ã¡ã¼ã¸、é¡ã®å³å´ãã£ã³ãã«、é¡ã®å·¦å´ãã£ã³ãã«)。 å
¥å ç»åãã、24 ã®è¿½å ãã£ã³ãã«ã®é¨ä½ã«é¢ããã»ã°ã¡ã³ãã¼ã·ã§ã³åºåã¾ã§、MobileNet ã®å±¤ãã¨ã®æ´»æ§åã示ããä¾(説æã®é½åä¸、ç¹å¾´ãããã®ãã¦ã³ãµã¤ã¸ã³ã°ã¯çç¥)。
ç»åã®ããããã®å ´æã«ã¤ãã¦、 åºåãã³ã½ã« P ã« 24 ã®ãã£ã³ãã«ãããã®ã§、ãã® 24 ã®ãã£ã³ãã«ããæé©ãªé¨ä½ãæ¢ãå¿
è¦ãããã¾ã。æ¨è«ã®éã«ã¯、åºåé¨ä½ãã³ã½ã« P ã®åãã¯ã»ã«ä½ç½® ( u , P ) ã«ã¤ãã¦、次ã®å¼ã使ã£ã¦æãé«ã確çãæã¤æé©ãª body_part_id ã鏿ãã¾ã。
ãã®çµæã¯、åãã¯ã»ã«ããã®ãã¯ã»ã«ãå±ããé¨ä½ãç¤ºãæ´æ°ã¨ãªã£ã¦ãã 2 次å
ç»å(å
ã®ã¤ã¡ã¼ã¸ã¨åããµã¤ãº)ã«ãªãã¾ã。å
¨ä½ã®ç»åãã人ãåãæãéã«ã¯、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®åºåçµæã使ã£ã¦ãã¾ã。対å¿ãã人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã®åºåçµæãã»ã°ã¡ã³ãã¼ã·ã§ã³ãããå¤ããå°ããå ´å、å¤ã« -1 ãè¨å®ãã¾ã。
24 ãã£ã³ãã«ã®é¨ä½ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã¨、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ãçµã¿åããã¦、1 ãã£ã³ãã«ã®é¨ä½ ID åºåãçæããæ¹æ³ã示ããä¾。å³: Ashley Jane Lewis。 ç»åã®ã¯ã¬ã¸ãã: “Microsoft Coco:Common Objects in Context Dataset”、 https://cocodataset.org æçµç㪠1 ãã£ã³ãã«ã®é¨ä½ ID åºåã示ããä¾。24 ãã£ã³ãã«ã®é¨ä½ãã¹ã¯ãçµã¿åãããéã«ã¯、åè¿°ã® argmax å¼ã¨、人ã®ã»ã°ã¡ã³ãã¼ã·ã§ã³ã«ããé åã®åãæãã使ã(説æã®é½åä¸、å body_part_id ãéè¤ããªãè²ã§ç¤ºã、åºåè§£å度ãè½ã¨ãã¦ãã)。
å®ãã¼ã¿ããã³ã·ãã¥ã¬ã¼ã·ã§ã³ ãã¼ã¿ã«ãããã¬ã¼ãã³ã°
ç»åã®ãã¯ã»ã«ã 24 ã®é¨ä½ã®é åã«åå²ããã¿ã¹ã¯ã®ããã«、æä½æ¥ã§å¤§éã®ãã¬ã¼ãã³ã° ãã¼ã¿ã«æ
å ±ãä»å ããã®ã¯、æéã®ããã使¥ã§ã。ããã§、å
é¨çã«ã¯、ã³ã³ãã¥ã¼ã¿ ã°ã©ãã£ãã¯ã¹ã使ã£ã¦æ£è§£ã¨ãªãé¨ä½ã»ã°ã¡ã³ãã¼ã·ã§ã³æ
å ±ãä»å ãããç»åãã¬ã³ããªã³ã°ãã¾ãã。ã¢ãã«ã®ãã¬ã¼ãã³ã°ãè¡ãã«ããã£ã¦ã¯、ã¬ã³ããªã³ã°ããç»åã«å®éã® COCO ã¤ã¡ã¼ã¸(2D ãã¼ãã¤ã³ãã¨ã¤ã³ã¹ã¿ã³ã¹ ã»ã°ã¡ã³ãã¼ã·ã§ã³æ
å ±ãä»å ãããã®)ãæ··ãåããã¾ãã。ãã®æ··åãã¬ã¼ãã³ã°æ¦ç¥ã¨ãã«ãã¿ã¹ã¯æå¤±ã使ããã¨ã§、ResNet ã¢ãã«ã¯ã·ãã¥ã¬ã¼ã·ã§ã³æ
å ±ã ãã§ 24 ã®é¨ä½ã®äºæ¸¬æ©è½ãå¦ç¿ãããã¨ãã§ãã¾ãã。æçµçã«、COCO ç»åã«å¯¾ããæå¸« ResNet ã¢ãã«ã®äºæ¸¬ãè¸ç ã、BodyPix ç¨ã®çå¾ MobileNet ã¢ãã«ã使ãã¾ãã。
å®éã® ç»åã¨ã³ã³ãã¥ã¼ã¿ ã°ã©ãã£ãã¯ã¹ã§çæãã ç»åã®ä¸¡æ¹ã§、æå¸« ResNet ã¢ãã«ããã¬ã¼ãã³ã°ããä»çµã¿ã示ããä¾。æ£è§£ã¨ãªãé¨ä½æ
å ±ã¯、ã³ã³ãã¥ã¼ã¿ ã°ã©ãã£ãã¯ã¹ã§çæãã ç»åã«ã®ã¿åå¨ãã。 æå¸« ResNet ã¢ãã«ã®äºæ¸¬ãè¸çã、çå¾ MobileNet ãã¼ã¹ã® BodyPix ã¢ãã«ã使ããæ¹æ³ã示ããä¾。
PoseNet ã¨åãã、BodyPix ã、ä¸è¬åãã®ç«¯æ«ã®ãã¼ã«ã«ç°å¢ã§åºã使ããã¨ãã§ããã¢ã¼ã·ã§ã³ ãã£ãã㣠ã«åããå°ããªä¸æ©ã«ãªãã¨èãã¦ãã¾ã。3D ä½å½¢ã®ãã£ããã£、é«éã«æ¯åããè»çµç¹çã®åä½、è¡£æã«ããå¤è¦ãå½¢ç¶ã®éããªã©、ãããã解決ããªããã°ãªããªãç 究課é¡ã¯、ã¾ã ããªãå¤ãæ®ããã¦ãã¾ã。ãã®ç¹ãè¦æ®ãã¤ã¤ã、ç§ãã¡ã¯ã¢ã¼ã·ã§ã³ ãã£ãã㣠ãã¯ããã¸ã¼ãããã«ä¾¿å©ã«ãªã£ã¦åºãæ®åã、ãã¾ãã¾ãªæ¥çã§å¿ç¨ãããæªæ¥ãæãæãã¦ãã¾ã。
çããã BodyPix ã¢ãã«ã使ã£ã¦ã¿ããã¨ãã§ããããã«、ããã¤ãã®ä¾ã¨ã¦ã¼ãã£ãªã㣠ã¡ã½ãããæä¾ãã¦ãã¾ã。ããããçæ³ãå¾ã¦、ã¢ãã«ã«è§¦ãã¦ããã ããã°å¹¸ãã§ã。çããã¯、ã©ã®ãããªãã®ãä½ã£ã¦ãããã§ãããã。ãã®ãå ±åãæ¥½ãã¿ã«ãã¦ãã¾ã。ãã² #tensorflowjs、#bodypix、#PoweredByTF ã§ããã¸ã§ã¯ããã·ã§ã¢ãã¦ãã ãã。
Reviewed by Kaz Sato - Staff Developer Advocate, Google Cloud