ã¢ã€ãã¢ã¯ã·ã³ãã«ã§ãããé³¥ãé£ã³èŸŒã-vuuuuuh-é»è©±ã«è¡šç€ºãããŸãã ãããå®è¡ããŠå®è£ ããæ¹æ³ãç解ããããšã¯æ®ã£ãŠããŸãã
èšäºã§ã¯ïŒ
- Raspberry Pi B +ã§Caffeãèµ·åïŒé·ãéãããæãã§ããïŒ
- ããŒã¿åéã·ã¹ãã ã®æ§ç¯
- ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®éžæãã¢ãŒããã¯ãã£ã®æé©åããã¬ãŒãã³ã°
- ã€ã³ã¿ãŒãã§ã€ã¹ã®ã©ããã³ã°ãéžæãããã³æ·»ä»
ãã¹ãŠã®ãœãŒã¹ã³ãŒããå ¬éãããŠãããçµæã®ãã¶ã€ã³ã®å±éã®å®å šãªé åºã説æãããŠããŸãã
æ£çŽã«èšããšããã¹ãŠãããŸããããšã¯ç¢ºä¿¡ããŠããŸããã§ããããæçµçãªã¢ãŒããã¯ãã£ã«ã€ããŠã¯ããŸã確信ããããŸããã§ããã ä»äºã®éçšã§ã圌女ã¯å€§ããå€ãããŸããã ãããã£ãŠãæ¢è£œã®ããŒãžã§ã³ãæ¢ã«ååšããå ŽåãHabréã«æžã蟌ã¿ãŸãã éçºã®æµ®ãæ²ã¿ã¯ãGitHubãšããã°ã§è¿œè·¡ã§ããŸããããã°ã§ã¯ããã£ã³ããŒã³ã«é¢ããå°ããªã¬ããŒããäœæããŸããïŒèšäºã®æåŸã®ãªã³ã¯ïŒã
ãé³¥ãèªèãããããšããã¢ã€ãã¢ã«ã¯ãäœåãã®å®è£ ããããŸãã äœæ¥ã®éå§æã«ããã£ãŒããŒã«æ¥ãé³¥ãã·ã¹ãã ãèªåçã«æ€åºããé³¥ã®çš®é¡ãå€å¥ããæé©ãªåçãéžæããŠãã©ããã«ã¢ããããŒãããåºåžã®çµ±èšãä¿æããããšãæã¿ãŸããã ãã¹ãŠãããããåºãŠããããã§ã¯ãããŸããã
ã³ã³ãã¬ã¯ãã¥ã
- ã·ã¹ãã ã³ã¢ïŒRaspberry Piã®æåã®ã¢ãã«ãB +ã ã»ãŒä»äºãªãã§1幎åç§ã®åŒãåºãã«æšªããã£ãã ä»ããã¡ãããRPi 3ã䜿çšããæ¹ãè«ççã§ããããå€ãã®ãããé«éã§ããå€ãã®ã¡ã¢ãªããããŸãã RPi 3ã®äŸ¡æ Œã¯çŽ3ã3.5 trã§ãã
- RPiçšã®SDã«ãŒãã 32ã®ã¬ãã€ãã®ããã§ãã ç§ã¯é·ãéè²·ã£ããç§ã¯äŸ¡æ ŒãèŠããŠããŸããã 500-1000rä»è¿
- é»æºïŒmicroUSBïŒã 圌ã®æ ªããåããŸããã ç¹°ãè¿ããŸãããã©ãã500-1000rã§ãã
- ã«ã¡ã©ïŒ
- æåã¯ãRpiã®æãåºæ¬çãªã«ã¡ã©ïŒRaspberry Pi Camera 1.3revïŒã䜿çšããäºå®ã§ããã ãããã圌女ã¯å§ããŸããã§ããã ãã¹ãã§å€æãããšãRPiã³ãã¯ã¿ãŸãã¯ã±ãŒãã«ãæ»äº¡ããŸããã å¥ã®ãªãã·ã§ã³-fireãé£ãã ã è¿ãå°æ¥ãç§ã¯æçµçã«ããã«äœãééã£ãŠããã®ããç解ããã§ãããã ãã®ãããªã«ã¡ã©ã®äŸ¡æ Œã¯ãã¬ã³ãºãš1.5t.r-2.5 trã®ç¹æ§ã«äŸåããŸãã
- ããã§ãæåã®è§£æ±ºçãšããŠãã³ã³ãã¥ãŒã¿ãŒãããŠã§ãã«ã¡ã©ãèšçœ®ããããšã«ããŸããã éåžžã®ã¯ãªãšã€ãã£ããRpi Bã®å©ç¹+å€ãã®USBããŒãã FaceCam100xã ç§ã¯ä»ãããè³Œå ¥ããŠããŸããã1t.rãã®è¿ãã®ã©ããã«ãããŸãã å質ãæªãããããªãã·ã§ã³ã¯æªãã§ãã ããããããŒã¹ãååŸããããããã¹ãããŸãã
- WiFiãã³ã°ã« æãäžè¬çãªã®ã¯ã400rçšTP-Link TL-WN727Nã§ãã
- å®éã«ã¯ãã£ãŒããŒã ç§ã¯ãããããã®ãé¢åã ã£ãã®ã§ãããã«è³Œå ¥ããŸããã 2t.rã®ã©ããã§ç®¡ç é éãã
ã€ã³ãã©
ãããžã§ã¯ããæ åœããç§ã®ããŒã ãããã¯ãŒã¯ã®éšåã«ã¯ã次ã®æ§æããããŸãã
Rpi +ã«ã¡ã©ãçªã®è¿ãã§ãã³ã°ããŸãã 䟿å©ãªããŠã³ããšèŠæŽãããè¯ãããããã«ãå€ãã®å®éšãè¡ããŸããã
ãã®çµæããã€ãã¹ã¿ã³ãã«è²Œãä»ããŸããã å¯ååŒã§ãããŸããŸãªè§åºŠããããŒã¹ã«ãã€ã€ã«ã§ããŸãã ç§ã®åŠ»ããã®ã¢ã€ãã¢ãæ°ã«å ¥ã£ããšèšã£ãŠããããã§ã¯ãããŸããããããã¯äžæçãªè§£æ±ºçã§ããããšãä¿èšŒããŸãã
åçã¯æ¬¡ã®ããã«ååŸãããŸãã
ãŠã§ãã«ã¡ã©ã®å質ã¯ããã»ã©ç±ããããŸããã ããããååãšããŠãäœãèµ·ããŠãããã¯ç解ã§ããŸãã
ã¢ãŒããã¯ãã£ã«æ»ããŸãããã WiFiã¢ãžã¥ãŒã«ã¯ãã«ãŒã¿ãŒã«æ¥ç¶ãããŠããRpiã«æ¥ç¶ãããŸãã åçã¯ãããã¯ãŒã¯ãã©ã€ãã«ä¿åãããŸãïŒWD MyBookã©ã€ãïŒã ããŒã¹ãã»ããã¢ããããã«ã¯ããããå¿ èŠãªæ¡ä»¶ã§ãïŒRPiã«ååãªãã©ãã·ã¥ãã©ã€ãããããŸããïŒã ãã¡ããã䜿çšãããšãã¯ãªãã«ããããšãã§ããŸãã ããããç§ã«ãšã£ãŠã¯äŸ¿å©ã§ãã
Rpièªäœã¯ã¢ãã¿ãŒãªãã§ãã³ã°ããŸãã ãã®ç®¡çãããã°ã©ãã³ã°ãããã³æ§æã¯ãSSHãä»ããŠã¡ã€ã³ã³ã³ãã¥ãŒã¿ãŒããå®è¡ãããããã«ãªããŸããã æåã¯ãã¢ãã¿ãŒã«è²Œãä»ããŠæ§æããŸããããããã¯å¿ èŠãããŸããã
ããŒã¹ã³ã¬ã¯ã·ã§ã³
é©åã«çµã¿ç«ãŠãããããŒã¹ã¯ãé©åãªãã¥ãŒã©ã«ãããã¯ãŒã¯ã®éžæãããã¯ããã«è€éã§ãã å£ããããŒã¯ã¢ãããŸãã¯é代衚çãªããŒã¿ã䜿çšãããšã ResNetã®ä»£ããã«VGGã䜿çšãããããã·ã¹ãã ã®å質ãå€§å¹ ã«äœäžããå¯èœæ§ããããŸãã
åºå°ã®åéã¯ã倧éã®æäœæ¥ã§ãããæªçç·ŽåŽåè ã§ãããããŸãã ç¹ã«å€§èŠæš¡ãªããŒã¿ããŒã¹ã®ããŒã¯ã¢ããã«ã¯ãYandex.Tolokããã³Amazon Mechanical TurkãµãŒãã¹ããããŸãã ç§ã¯ãããã䜿çšããããšãæ§ããŸãïŒç§ã¯ããã§é·ãã¯ãªãããã¹ãŠèªåã§æåã§ããŒã¯ããŸãã ã§ããå€åãããããã§ç·Žç¿ãã䜿çšããç·Žç¿ãããã®ã¯çã«ããªã£ãŠããã§ãããã
åœç¶ããã®ãããªããã»ã¹ãèªååãããã§ãã ãããè¡ãã«ã¯ãäœã欲ããããæ€èšããŠãã ããã
ç§ãã¡ã®ç¶æ³ã®ããŒã¹ã¯äœã§ããïŒ
- ã·ã¹ãã ã¯ãããªã§åäœããŸã-ãããã£ãŠããããªããã®ãã¬ãŒã ã§ãªããã°ãªããŸããã å€ãRPiã§ãããªã·ãŒã±ã³ã¹ãåæããèœåã¯ãæããã«ååã§ã¯ãããŸãã
- ã·ã¹ãã ã¯ãããªå ã®é³¥ãèªèããå¿ èŠããããããããŒã¿ããŒã¹ã«ã¯é³¥ãååšãããã¬ãŒã ã®äŸãšãé³¥ãååšããªããã¬ãŒã ã®äŸãå«ããå¿ èŠããããŸãã
- ã·ã¹ãã ã¯ç»è³ªãèªèããå¿ èŠããããŸãã ãã®ãããããŒã¿ããŒã¹ã«ã¯ãã¬ãŒã ã®å質ã決å®ããããŒã¯ãå¿ èŠã§ã
- ã·ã¹ãã ã¯ãèªèããé³¥ã®çš®é¡ããšã«ãã¬ãŒã ã®ã»ãããæã£ãŠããå¿ èŠããããŸã
å®éãã€ãã³ããé³¥ã®å°çããçºçããŸãã ãã®ã€ãã³ãã§ã¯ãã©ã®ãããªé³¥ãé£ã³èŸŒãã ããå€æããŠãè¯ãã·ã§ããããšãå¿ èŠããããŸãã
æãç°¡åãªæ¹æ³ã¯ãäºçŽ°ãªãåãæ€åºåšããäœæãããã®åºåå šäœããã€ã€ã«ããããšã§ãã ã¢ãŒã·ã§ã³æ€åºåšãæãç°¡åãªæ¹æ³ã§äœæããŸãã
æ°è¡ã®ã³ãŒãïŒ
import cv2 import time video_capture = cv2.VideoCapture(0) video_capture.set(3,1280) video_capture.set(4,720) video_capture.set(10, 0.6) ret, frame_old = video_capture.read() i=0 j=0 while True: time.sleep(0.5) ret, frame = video_capture.read() diffimg = cv2.absdiff(frame, frame_old) # d_s = cv2.sumElems(diffimg) d = (d_s[0]+d_s[1]+d_s[2])/(1280*720) frame_old=frame print d if i>30: # 5-10 , if (d>15): # cv2.imwrite("base/"+str(j)+".jpg", frame) j=j+1 else: i=i+1
æ€åºåšã®çµæ
æ€åºåšã¯ããããåãã«ãã£ãŠããªã¬ãŒãããŸããã ãã®å§ãŸããšçµããã«ã æ€åºåšã®åäœã®çµæãçŽ2000ãã¬ãŒã ã®ããŒã¹ã1é±éã«åéãããŸããã 1ãã¬ãŒã ããã«é³¥ããããšä»®å®ã§ããŸã=>é³¥ã®çŽ1000æã®ç»å+鳥以å€ã®1000æã®ç»åã
èŠç¹ãããŸãåããªãããšãèãããšãããŒã¹ã®ãã©ã¹ãŸãã¯ãã€ãã¹ã§ååã§ãããšä»®å®ã§ããŸãã
ããŒã¹ããŒã¯ã¢ãã
ããŒã¯ã¢ããã®ããã«ãåçŽãªpythonããã°ã©ã ãäœæããŸããã 以äžããœãŒã¹ã³ãŒããžã®ãªã³ã¯ã ããŒãã³ã°ã®æå©ããããŠããã劻ã«æè¬ããŸãïŒ æ®ºãããæéã®2æé:)ãããŠãç§ã¯æ°æéãèªåã§éãããŸããã
ååçã«ã€ããŠã2ã€ã®æšèãããŒã¯ãããŸããã
- é³¥ã®çš®é¡ã æ®å¿µãªãããç§ã«ã¯2çš®é¡ã®ãã£ã±ãããé£ãã§ããŸããã§ããã åèš3ã€ã®ã¿ã€ãïŒ
- é³¥ã¯ããŸããã
- éã·ãžã¥ãŠã«ã©
- ã·ãžã¥ãŠã«ã©
- ç»åã®å質ã [0.8]ã®ã¹ã±ãŒã«ã§ã®äž»èŠ³çè©äŸ¡ã
åèšã§ãåç»åã«2ã€ã®å€ã®ãã¯ãã«ããããŸãã ããŠãäŸãã°ããã«ïŒ
æããã«ãå質ã¯ãŒãïŒ0ïŒã§ããã座ã£ãŠãã-ã·ãžã¥ãŠã«ã©ïŒ2ïŒã§ãã
åèšã§ãããŒã¹ã¯é³¥ã®ãããã¬ãŒã ã®çŽååã§ãååã¯ç©ºã§ããããšãå€æããŸããã åæã«ãtits-Lazorevokã¯ããŒã¹ã®ããã3-5ïŒ ã§ããã ã¯ããããããã倧ããªåºç€ãç²åŸããããšã¯å°é£ã§ãã ãããŠãã¯ãããããã®3-5ïŒ ïŒã40æã®åçïŒããåŠã¶ããšã¯éçŸå®çã§ãã ãã®çµæãç§ã¯æ®éã®ãã£ã±ãã§ã®ã¿èšç·Žããå¿ èŠããããŸããã ãããŠãé ããæ©ããã玺breedã®åçš®ã®ããŒã¹ãããå€ãå ¥åãããããšãé¡ã£ãŠããŸãã
ããŒã¹æ¡åŒµ
ä»ãç§ã¯ç©èªã®é£ç¶æ§ãä¿ã€ããã«ã¹ããŒãžãé£ã³è¶ããŸãã ãããã¯ãŒã¯ã«ã€ããŠã¯ããããã¯ãŒã¯ã®éžæãšãã®ãã¬ãŒãã³ã°ã«ã€ããŠæ¬¡ã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã ã¢ãŸã¬ã¹ãé€ãããã¹ãŠãå€ããå°ãªããããã§èšç·ŽãããŸããã ããŒã¹ã«åºã¥ããŠããã¬ãŒã èªè粟床ã®å²åã¯çŽ95ïŒ ã§ããã
競äºãšå®éã®æ©æ¢°åŠç¿ãšã¯ããããã¯äºãã«é¢ä¿ã®ãªã2ã€ã®ããšã§ãããšèšããšãç§ãäžèŠã®ããã«èŠãŠããŸãã 競æäŒã§ã®æ©æ¢°åŠç¿ã®èª²é¡ã¯ãã°ãªããã®æé©åãšæãç©Žã®æ€çŽ¢ã®åé¡ã§ãã ãŸãã«ãæ°ããã¢ãŒããã¯ãã£ã®äœæã å®éã®æ©æ¢°åŠç¿ã®ã¿ã¹ã¯ã¯ãããŒã¹ãäœæããããšã§ãã ãããªããªãã¬ãŒãã³ã°ã®åéãããŒã¯ã¢ãããèªååã
ãã®ããããã£ãŒããŒã®åé¡ãæ°ã«å ¥ããŸããã äžæ¹ã§ãããã¯éåžžã«ç°¡åã§ã-ããã¯ã»ãšãã©ç¬æã«è¡ãããŸãã äžæ¹ãããã¯éåžžã«æããã§ãã ããã§ã®ã¿ã¹ã¯ã®90ïŒ ã¯ãé競äºçãªãã¢ãŽã¢ãã³ã§ãã
äžèšã®ã¹ã³ã¢ã¯ããã®çš®ã®ã¿ã¹ã¯ã«ã¯éåžžã«å°ãããæé©ã§ã¯ãããŸããã ãå®å®æ§ããæå³ãããã®ã§ã¯ãããŸããã 4ã5åã®ã«ã¡ã©äœçœ®ã®ã¿ã çªã®å€ã®å€©æ°ã
ããããããã¯ã第äžæ®µéãã¢ã«ãŽãªãºã ã®äœæã«åœ¹ç«ã¡ãŸãã ããã¯è¯ãåºç€ãç²åŸããã®ã«åœ¹ç«ã¡ãŸãã
äžèšã§èª¬æããæ€åºåšãå€æŽããŸãã
if (d>20): frame = frame[:, :, [2, 1, 0]] # transformed_image = transformer.preprocess('data', frame) # net.blobs['data'].data[0] = transformed_image # net.forward() # if (net.blobs['pool10'].data[0].argmax()!=0): # 0 - misc.imsave("base/"+str(j)+"_"+ str(net.blobs['pool10_Q'].data[0].argmax())+".jpg",frame) j=j+1 else: #- : ?! misc.imsave("base_d/"+str(k)+".jpg",frame) k=k+1
ããŒã¹ã®èšå®æ¹æ³ïŒïŒ 以åäœãããŸãããïŒ
以åã¯ãéåžžã®ããŒã¹ãæ¡çšããŸããã ãããŠä»-ãšã©ãŒã®ããŒã¿ããŒã¹ãååŸããŠããŸãã ããæãã°ãªããã¯ãã£ã±ããšããŠèªèããã500以äžã®ç¶æ³ãçæããŸããïŒ
ããããç§ã«èãããŠïŒ ãã¶ãããªãã®ã°ãªãããæ©èœããŠããŸãããïŒ ç»åãã«ã¡ã©ããã°ãªããã«è»¢éãããšãã«ãã£ã³ãã«ãããã¯ã¹ããã®ã§ããããïŒ
æ®å¿µãªããããããŸããã ããã¯ãå°éã®ããŒã¿ã§ãã¬ãŒãã³ã°ããããã¹ãŠã®ã°ãªããã®éåœã§ãïŒç¹ã«åçŽãªãããã¯ãŒã¯ã®å ŽåïŒã ãã¬ãŒãã³ã°ã»ããã«ã¯ã6ã9ã®ç°ãªãã«ã¡ã©äœçœ®ãããããŸããã§ããã å°ããã¬ã¢ã å°ãã®å€æ¥ãã€ãºã ãããŠãã°ãªãããå®å šã«æ°ãããã®ãèŠããšãééã£ãçµæãæãåºãå¯èœæ§ããããŸãã
ããããããã¯æããªãã çµå±ãç§ãã¡ã¯ã³ã¬ã¯ã·ã§ã³ããŒã¹ãããæ¢ãããŸããã ããŒã¿ããŒã¹ã«ã¯300ã400åã®ç©ºã®ãã¬ãŒã ãããããŸãããç¶æ³ã¯æ¹åãããŠããŸãã ååäžã«500ã®èª€èŠå ±ãçºçãã代ããã«ããã§ã«ãŒãã«ãªã£ãŠããŸãã äœããšé³¥ã ãããç·æ°ã®2/3ããæ€åºãããŸããã§ããã ç§ã¯ããããèªèããŸããã§ããïŒ
ãããã®ã³ã¬ã¯ã·ã§ã³ã«ã€ããŠã¯ãäžèšã®ã³ãŒãã«ãelseãããããŸãã 1æ¥ã®åãæ€åºã®ããŒã¹ãç°¡åã«è¡šç€ºãã2ã3ãã¹ãéžæããŸãã ãããã®åçãæ®ãã®ã«çŽ20ç§ããããŸããã
ã·ã¹ãã ã®å®éã®å®è£ ã¯ãæ°æ¥ããšã«ã°ãªããããããå¿ èŠãããç¶ç¶çãªã¯ãŒã¯ãããŒã§ãã ãŸããè¿œå ã®ã¡ã«ããºã ãå°å ¥ããå ŽåããããŸãã
å®éã®åé¡ã®è§£æ±ºçã¯ãåèšç·Žãåèšç·Žãåéãåéã®æé©åã®ãã¹ãŠã®ããã»ã¹ãåãããã®ãããªã¹ããŒã ã®æ§ç¯ã§ãã
ã¢ãã«ãæãã€ããŠæ§ç¯ããããšã¯ãè¯ãã¢ãã«ãèšç·Žããããšãããã¯ããã«åŒ·åã§ãã å€ãã®å ŽåãSIFTãSURFãªã©ã®å€ãã¢ã«ãŽãªãºã ã䜿çšããå¿ èŠããããŸãã ãŸããèšç·Žãããã°ãªãããååŸããããšããããŸãããå®å šã«ç°ãªãã¿ã¹ã¯ããã§ãã ããšãã°ãé¡æ€åºåšã
ããã ãã§ããïŒ ããŒã¹ã®æºåã¯ã§ããŠããŸããïŒ ã·ã¹ãã ã¯æ©èœããŸããïŒ ãã¡ããéããŸãã çªã®å€ã¯ãæããããŠçœããµããµãã®éªã§ãã ããããããã¯ã¿ãã§æ°·ã®ããã«ãªããŸãã æ¥ãæ¥ãŠããŸãã éå»2æ¥éã§ããã¶ãªãªã¯åã³æ®ºå°ããŸããã
ãããã倪éœã¯ç §ããŸããã éªã溶ããŸããã 滎ãããããŸããã
ãã®ãããªã¿ã¹ã¯ã«é©ããåºç€ã¯ãæ¥+å¬+å€+ç§ã§ãã ãã¹ãŠã®é³¥ãçªã®å€ã®ããŸããŸãªçš®ãããŸããŸãªå€©æ°ã ããŒã¿ããŒã¹ã®åéæ¹æ³ã«ã€ããŠã¯ããã§ã«é·ãèšäºãããã«æžããŠããŸãã
ãã®ãããªäœæ¥ã«ã¯ãããŸããŸãªæ¡ä»¶ã®é³¥ããšã«å°ãªããšã2ã3åãã¬ãŒã ã®ããŒã¹ãå¿ èŠãªããã§ãã
ãã®ãããªããšã¯ãããŸããã
ããŒã¹çæ
ããŒã¹ã¯èªåçã«è£å®ãããæªã¿ãçºçããŸãã ããã«ãããå®å®æ§ãå€§å¹ ã«åäžããŸãã ç§ã¯ãã¹ãŠã®å¯èœãªå¢åãããŸããã§ããã ããå€ãã®ããšãã§ããå質ãåäžãããããšãã§ããŸãã ç§ãããããšïŒ
- åçã®ãã©ãŒãªã³ã°
- ç»åã15床以å ã®è§åºŠã§å転ãããŸã
- åçã®äœç©ïŒå5ã10ïŒ ïŒ
- ããŸããŸãªçµã¿åããã§ã®ç»åãã£ã³ãã«ã®æããã®å€å
ãããŠããããè¿œå ããããšãã§ããŸãïŒ
- ãã¢ã°ã©ãã£ãŒ
- ç»åã2ã€ã®éšåã«åå²ããæ°ããéšåãæ¥çããŸãã ãã®ã³ã³ãã¹ãã§ã¯ãå¢åãéåžžã«ããŸããããŸããã
- ããŸããŸãªè²ã®æ£æ¹åœ¢ã§ç»åã®äžéšãããã¯ã¢ãŠããã
- éç·åœ¢å€æ
æ£çŽã«èšããšãããããã¹ãŠã®æªã¿ãå®å šã«çŽ¹ä»ããããã§ã¯ãããŸããã ãã£ãšæéãããããŸãã ããããããã§ãåºå°ã®å質ã¯ãããäžåã£ãŠããŸããã ããã¯ãã»ãã®æ°ããŒã»ã³ãæŠãããã®Kaggleã§ã¯ãããŸããã
ãããã¯ãŒã¯ã®ã»ããã¢ãããšéå§
èšçœ®
ç§ãèªåã§ç解ãããã£ãäž»ãªåé¡ã®1ã€ã¯ãåçŽãªããã€ã¹ã§CVã®MLãã¬ãŒã ã¯ãŒã¯ãå®è¡ããæ©èœã§ãã ããšãã°ãRaspberry Piã®å Žåã
誰ããç§ã®ããã«ããã«ã€ããŠèããããšãç¥ã«æè¬ããŸãã GitHubã«ã¯ãã»ãšãã©æ瀺ã®ãªã䟿å©ãªãªããžããªããããŸãã
RPi B + Caffeãšããã«å¿ èŠãªãã®ã¯ãã¹ãŠã1æ¥ã®ãã¡ã®ã©ããã«çµã¿ç«ãŠãŠã€ã³ã¹ããŒã«ã§ããŸãïŒ1æéã«1åç«ã¡äžãã£ãŠæ¬¡ã®ã³ãã³ããå®è¡ããå¿ èŠããããŸãïŒã RPi3ã§ã¯ãç§ãç解ããŠããããã«ãã¯ããã«é«éã«ã§ããŸãïŒ2ã3æéã§å¯ŸåŠããªããã°ãªããŸããïŒã
èšäºã«ããããã®Linuxã³ãã³ããæ£ãã°ããªãããã«ããããã«ã ããã§ãªã³ã¯ãçç¥ããŸãã ã«ãã§ãè¡ãïŒ ããŸãããïŒ
æåã¯ã CaffeNetãVGG16ãªã©ãããçš®ã®åçŽãªã¡ãã·ã¥ã䜿çšããããšãèããŸããã ãããã RPiã§ã®CaffeããŒãã®äœæè ã¯ã SqueezeNetã䜿çšããããšã匷ãæšå¥šããŸãã ã ç§ã¯ãããè©ŠããŠã¿ãŠãç§ã¯ããã奜ãã ã£ãã é«éã§ãããªãã®ã¡ã¢ãªãæ¶è²»ããŸãã ãã¡ããã粟床ã¯ResNetã¬ãã«ã§ã¯ãããŸããã ãããã¯ãŒã¯ãå±éããæåã®è©Šã¿ã¯ããŸãæåããŸããã§ããã ãããã¯ãŒã¯ã¯400 MBã®ç©ºãRAMã®ãã¡500 MBãæ¶è²»ããŸããã ããã«ãäž»ãªåé¡ã¯åºåå±€ã«ããããšã«æ°ä»ããŸããã ããã¯1000ãã³ã®ImageNetããã§ããã å¿ èŠãªåºåãã¥ãŒãã³ã¯1ããŒã¹ã ãã§ããã ããã«ããããããã¯ãŒã¯ã®ãµã€ãºãããã«150ã¡ãŒãã«ã«çž®å°ãããŸããã ã°ãªããèªäœã¯éåžžã«èå³æ·±ããã®ã§ãã AlexNetã®ç²ŸåºŠã«å¹æµããŸãã åæã«ãèè ã«ãããšã50åé«éã§ãã ã°ãªããèªäœã¯ã次ã®ååãå®è£ ããŠããŸãã
- 3 * 3ããã±ãŒãžã¯1 * 1ããã±ãŒãžã«çœ®ãæããããŸãã ãã®ãããªå眮æã«ããããã©ã¡ãŒã¿ãŒã®æ°ã9åã®1ã«åæžãããŸãã
- å°æ°ã®ãã£ãã«ã®ã¿ãæ®ãã®3 * 3ç³ã¿èŸŒã¿ã«ãã£ãŒãããããšããŸã
- ç³ã¿èŸŒã¿å±€ã倧ããªæŽ»æ§åé åãæã€ããã«ããµã€ãºã®çž®å°ã¯å¯èœãªéãé ãè¡ãããŸã
- åºå£ã§å®å šã«æ¥ç¶ãããã¬ã€ã€ãŒãå®å šã«æåŠããŸãã 代ããã«ããããã¯avg-poolingãéããŠç³ã¿èŸŒã¿å±€ããèªèãã¥ãŒãã³ãžã®çŽæ¥åºåã䜿çšããŸã
- æ®çå±€ã¢ããã°ã®è¿œå
åèš ããŒã«ã«ã³ã³ããŒãã³ãããããŸãã
ãããŠããããã®ããŒã«ã«ã®ãã®ããäœæãããã°ããŒãã«ãªãã®ããããŸãïŒ
ã¢ã€ãã¢ã¯è¯ãã§ãã RPi3ã§ã¯ãã©ããããªã¢ã«ã¿ã€ã ãåŸãããŸãïŒ10ã15 fpsãå¿ èŠã ãšæããŠããŸãïŒã
RPi B +ã§ã¯ã1ç§ããã1.5ã2ãã¬ãŒã ã§ããã ãŸãããã£ãšãç§ã¯æ£çŽã«æ°ããŸããã§ããã
Caffeã®äžã®ããŒãã®äœæè ã¯ãC ++ãä»ããŠã°ãªããã䜿çšããŠããã©ãŒãã³ã¹ãæ¹åããŸããã ããããç§ã¯Pythonã«ãã©ãã°ããŸããã ãããéçºããã®ã¯ã¯ããã«é«éã§ãã
ãããã¯ãŒã¯ãã¬ãŒãã³ã°
ãŸããäžã§è¿°ã¹ãããã«ãæåŸã«å®å šã«æ¥ç¶ãããã¬ã€ã€ãŒãå€æŽããå¿ èŠããããŸããã
layer { name: "conv10_BIRD" type: "Convolution" bottom: "fire9/concat" top: "conv10" convolution_param { num_output: 3 kernel_size: 1 weight_filler { type: "gaussian" mean: 0.0 std: 0.01 } } } layer { name: "conv10_Q" type: "Convolution" bottom: "fire9/concat" top: "conv10_Q" convolution_param { num_output: 3 kernel_size: 1 weight_filler { type: "gaussian" mean: 0.0 std: 0.01 } } }
2ã€ã®åºåã«çœ®ãæããŸããã 1ã€ã®åºå£-é³¥ã®ååš+ãã®ã¿ã€ãã 2ã€ç®ã¯å質ã§ãã
RPi B +ã§ã®æçµçãªäœæ¥é床ã¯ããã¬ãŒã ãããã2ã3ç§+ãã®ååŠçïŒäœåãªå€æããã³ãŒããåé€ããOpenCVãããŒã¿ãçŽæ¥åä¿¡ãã圢åŒã§ãã¬ãŒãã³ã°ãããã-1.5ã2ç§ã§ãïŒã
å®éã«ã¯ããå質ãã«é¢ããã¬ã€ã€ãŒã®ãã¬ãŒãã³ã°ã¯äŸç¶ãšããŠæ··ä¹±ã§ãã ç§ã¯3ã€ã®ã¢ãããŒãã䜿çšããŸããïŒã¯ããããªãã¯æ£ããã¢ãããŒãããç¹å¥ãªæ倱ã¬ã€ã€ãŒãåãããšãã§ããŸããããããæ ïŒ
- ãããããL2æ£ååïŒãŠãŒã¯ãªããïŒãæã€9ã€ã®åºåãã¥ãŒãã³ã 決å®ã¯æåŸ ã®äžå¿ã«åãã£ãŠåŒã£åŒµãããŸããã ããã§ã¯ãããŸããã
- 9åã®åºåãã¥ãŒãã³ããã ãã1ã0ã§ã¯ãªããããçšåºŠã®æåŸ ãæ£åšããŠããŸãã ããšãã°ãã4ããšããã©ãã«ã®ãã¬ãŒã ã®å ŽåïŒ0ã0ã0.1ã0.4ã0.9ã0.4ã0.1.0ã0ããã®ã¢ãããŒãã§ã®ã¬ãŠã¹èª€å·®ã¯ããµã³ãã«ã®ãã€ãºãæ»ããã«ããŸãã ãã¬ãŒãã³ã°ã¯å€ããå°ãªããè¡ããŸããããç§ã¯æ£ç¢ºãã奜ãã§ã¯ãããŸããã§ããã
- SoftMaxåºåãæã€3ã€ã®ãã¥ãŒãã³ã ãé³¥ãªããããå質ã®æªãé³¥ãïŒå質ææšã®å€ã0ãïŒããéåžžã®å質ã®é³¥ãïŒå質ææšã®å€ã1ã8ãïŒã ãã®æ¹æ³ãæãå¹æçã§ããã çµ±èšã¯å¹³å¡ã§ãããå°ãªããšãäœããã®åœ¢ã§æ©èœããŠããŸãã ããã«ããã¬ãŒãã³ã°æã«ãã¬ã€ã€ãŒã«å°ãéã¿ãä»ããŸãïŒ0.1ïŒ
å·Š-æåŸã 圌ã¯äœãšãããŠåããå¯äžã®äººã§ãã
é³¥ãåºå°ã«ããã®ã§ããã¹ãŠãé 調ã§ãã æ£ããåé¡ã®88ïŒ -90ïŒ ã åæã«ããã¡ããããã¹ãŠã®ã¢ãŸã¬ã¹ã®100ïŒ ã®æ倱ã ããŒã¹ãå ¥æããåŸãå質ãåäžããŸããã
ããŒã¹ããã®å¢åã«ããããããã«æ¹åãããŠããŸãïŒäžèšãåç §ïŒã
æ å ±åºåãé»å ±
ã©ã¹ããã€ã«ãŸã§é²ã¿ãŸãã ãŠãŒã¶ãŒã«åçãé ä¿¡ããå¿ èŠããããŸãã ããã€ãã®ãªãã·ã§ã³ããããŸããã
- ãããã¯ãŒã¯ãã©ã€ãã«æ®ããŸãã èœèã èªå® ã§ããèŠãããšãã§ããŸããã
- Twitterã§å ±æããŸãã ãã€ãã¹-ç§ã¯ããã䜿çšããŸããã ç¿æ £ãªãã ããã«ããã£ãŒãã§ãã®ãããªã¹ãã ãæ¬åœã«å¿ èŠãšãã人ïŒ1æ¥ã«100矜ã®é³¥ããã£ãŠããããšããããŸãïŒ
- ã¡ãŒã«ã è©ŠããŸãããç¥ã£ãŠããŸãã ã²ã©ãã ãã ãã¡ãããç§ã¯ãã€ãŠé»åã¡ãŒã«ã¯ã©ã€ã¢ã³ãã§æé é¡ã®ãããã¯ãŒã¯ã®ç®¡çãè¡ã£ãŠããŸããããããããããããŸããã§ããã
- é»å ± ç§ã«ãšã£ãŠã¯äœãæ°ããããšã§ããããã§ã«å幎éé»è©±ã§äœ¿çšãããŠããã5å䜿çšãããŠããŸãã
- HTTPã¯ã©ã€ã¢ã³ããäœæããŸãã
Telegramãèªã¿ãããã«ãããã¹ãŠã®ãã®ãããã»ã©æããªãããšãããã«ããã€ãã®ç¥ç§çãªããã£ã³ãã«ããããããšã確èªããåŸãç§ã¯ããã䜿ãããšã«ããŸããã ç¶è¡ããã®ãæãã ç§ã¯ã¿ã¹ã¯ã«1æ¥ã2æ¥ãè²»ãããªããã°ãªããªãã£ãããã§ããã æåŸã«ãç§ã¯åæ°ãåºããŠãäœåã®åé¢ã«é¢ããããã¥ã¡ã³ããèªã¿ãŸããã å€æ¹ã«1æéå²ãåœãŠãããŸãã
ãããŠãç§ã¯å¬ããé©ããŸããã äžå¯è§£ã«ãå¬ããé©ãã ãã®æéã¯ãç§ã念é ã«çœ®ããŠãããã¹ãŠãæžããŠæ¥ç¶ããã®ã«å®éäžååã§ããã ãããããã¡ããç§ã¯åãã€ããŠããŸãã 2æééãããŸããã ãããããã1ã€åã¯ãäžèŠãªãã€ãã¹ã«ãç· ããŸãã ã ãããããã¯ãã¹ãŠã·ã³ãã«/䟿å©/絶æçã«åäœããŸãã åºæ¬çã«ããããäœæããŸãã
- é»å ±ã«è¡ã
- ã@BotFatherãããããæ¥ç¶ããŸãã æžãå§ããŠãããæ瀺ã«åŸã£ãŠãã ããã 15ç§åŸã«ããããã§ããŸããã
- ããã°ã©ãã³ã°ã«äŸ¿å©ãªèšèªãéžæããé©åãªã©ãããŒãèŠã€ããŸãã ç§ã¯pythonãåããŸããã
- ããã«ããäŸ-90ïŒ ãå¿ èŠãªæ©èœãéããŸãã
ç§ãç解ããŠããããã«ã/ startããã³/ helpã³ãã³ãã®åŠçã¯éåžžã«æãŸããã§ãã
ã¹ããŒããªå®¶ãäœããªãããããªãã§ã¯ã§ããªããšæããŸãã
ããããã§ããããšã ããããžã®ãªã³ã¯ã¯ä»¥äžã«ãªããŸãïŒ
- ãªã¯ãšã¹ãã«å¿ããŠãæåŸã®ãã¬ãŒã ã«é³¥ãéããŸãã åŸã§2ã€ã®ããŒã ã«åå²ããŸãã1ã€ã®ãã¬ãŒã ãšè¯ããã¬ãŒã ã§ãã
- ã絊é€ãã©ãããé³¥ãšäžç·ã«ãã¹ãŠã®æ°ãããã¬ãŒã ã転éãããã¢ãŒãããªã³ã«ããŸãã é³¥ãé£ã¶ãã³ã«ãèå³ã®ãããã¹ãŠã®äººã«ãã®åçãéããŸãã ããã¯Raspberry Piã§å転ããçµæžå šäœã§ããããããã®ã¢ãŒãã«æ¥ç¶ã§ãã人ã®æ°ã«å¶éãèšããéè² è·ã«ãªããªãããã«ããŸããïŒ15人ïŒã åæã«ãæåŸã®10人ãå®æçã«ãªã»ããããŠãä»ã®äººãèŠèŽã§ããããã«ããŸãã ãã®ãã£ã³ãã«ã§ã¯ããã®ã¢ãŒããè€è£œãããŸã-@win_feedã
- ä»æ¥ã¯äœçŸœã®é³¥ãããŸããã ç°¡åãªè³ªåã¯ç°¡åãªçãã§ãã
- ç¥ç§çãªã€ã³ã©ã€ã³ã¢ãŒãã ããã¯ãã¡ãã»ãŒãžã«ããã¹ããå ¥åãããšãã«ãããã«ãªã¯ãšã¹ããéä¿¡ã§ãããã¬ã°ã©ã ã®ããšã§ãã ãªãè¿œå ããã®ãããããŸããã 圌ã¯ããŸãã«ã倢äžã«ãªããæ¢ããããŸããã§ããã ãªã¯ãšã¹ãã§ã¯ãé³¥ãšäžç·ã«æåŸã®5æã®åçã®åºåãè¿œå ããŸããã ãã¢ãŒã«ã€ããžã®ã¢ã¯ã»ã¹ããšå ¥åããŸãã ããããå®éšã®ããã«ã
ãããã¯èªèãšçµã¿åããããŸãã ãã®ããã¹ãã¯ãœãŒã¹ã«ãããŸãã Capture.pyãã¡ã€ã«ã
ããããžã®ãªã³ã¯ãšãããåºåã®ãããã£ãã«-以äžãèšäºã®ããã¿ãŒã«ã
ãããŠããããã¹ãã ã¢ãŒãã§ãã
éçºæ¹æ³
æ¹åæ¹æ³ãšæ¬¡ã«äœããã¹ããã«ã€ããŠãããã«ããã€ãã®ã¢ã€ãã¢ããããŸãã
- PRiããã«ã¡ã©ãåãåããŸãã ãã®ã¿ã¹ã¯å°çšã®åªããã«ã¡ã©ãéžæããããšã¯å¯èœã§ãã
- ããå®å šãªããŒã¹ã«ãã€ã€ã«ããŸãã å¥ã®ãŠã£ã³ããŠã§ãã³ã°ã¢ããããå€ã«ããŒã¹ã«ãã€ã€ã«ããŸãã åœå ã®æ ç¹ãåéãããªã©ã
- è€æ°ã®çš®é¡ã®é³¥ãäœããŸãã å°ãªããšãæªåé«ããã«ãŒããŒã«ã
ããã«ã°ããŒãã«ãªèšç»ããããŸãã çæ³çã«ã¯ãæ¥å¹Žã®å¬ãå®å šã«èªåŸçãªçµŠé€ãã©ããäœããããšæããŸãã 圌女ãç°èã«æããŠè¡ãã管çããã ãããããã®ããã«ã¯å€ãã®åé¡ã解決ããå¿ èŠããããŸãã ãŸããé©åãªãããã€ããŒãèŠã€ããŠããã¡ããã¡ãå€ãã®ãã©ãã£ãã¯ãæ¶è²»ããªãã·ã¹ãã ãäœæããŸãã 第äºã«ããªã¢ãŒãå¶åŸ¡å¯èœãªãã£ãŒããã£ã¹ãã³ãµãŒãäœæããŸãã 第äžã«ããã®å¥è·¡ãã¹ãŠãåäžã®å°ããªããã°ã«é©åã«çµã¿ç«ãŠãããšã
æéäºç®
äžèšã®å€ããä»ã®ã¿ã¹ã¯ãšäžŠè¡ããŠè¡ããŸããã ãã®ãããè©äŸ¡ã«åããçããå¯èœæ§ããããŸãã ããªãèªèº«ã®ããã«åãããšããããå Žåãæ¹æ³ã®äžéšã¯ç§ã®ãœãŒã¹ãã«ããããã®ã«åœ¹ç«ã¡ãŸãããå€ããç¹°ãè¿ãå¿ èŠããããŸãã
- å€ãRPIãèµ·åããŸãã ãã¹ãã確èªãWiFiã®æ¥ç¶ããããã¯ãŒã¯ãã©ã€ãã®æ¥ç¶-3ã4æéã
- 芳å¯çšã®ã¢ã»ã³ããªã¬ã€ã¢ãŠããåãäžã-1æé
- æåã®ããŒã¹ãã«ãããã°ã©ã ã®äœæ-0.5æé
- ããŒã¹ã®åæãåæãããŒã¯ã¢ãã-5æéããã®ãã¡2-劻ã
- RPiã«ãã§ãžã®ã€ã³ã¹ããŒã«-çŽ10ã15æéã ã·ã¹ãã ã¢ããããŒããPipã¢ãžã¥ãŒã«ã®ã¢ã»ã³ããªãªã©ã ããã»ã¹ã¯çŽç²ã«ããã¯ã°ã©ãŠã³ãã§ãã 1æéã«1åãäœãèµ·ãã£ãŠããã®ããäœãããã®ãã確èªããããã«å®è¡ããŸãã
- SqueezeNetã®ããã¥ã¢ã«ã®èªã¿åãããã¬ãŒãã³ã°ããããã¯ãŒã¯ã®èµ·åãæé©åããã¹ããæ¯èŒããã¬ãŒãã³ã°ããã°ã©ã ã®äœæããã¹ã-ãã¬ãŒãã³ã°ã«ã¯çŽ4ã5æé+ 4æéã
- èªèã¢ãŒã·ã§ã³åé¢ããã°ã©ã ã®æŽæ°-1æé
- ãã¬ã°ã©ã ãããïŒãã¹ãŠã®æéïŒ-4æé
- åéãããããŒã¹ã®åæãäœæ¥ã®åæãè¿œå ãã¬ãŒãã³ã°ãªã©ã -3æé+ 5æéã®ã³ã³ãã¥ãŒã¿ãŒæé
çŸå®ã«ã¯ããã®ãã¹ãŠã3ã4é±éç¶ããŸããã ãœãŒã¹ã³ãŒããšæ°ããRPiã䜿çšãããšã2ã3åéãåŠçã§ããããã«æããŸãã
ãœãŒã¹ã³ãŒã
å®è¡äžã®ãã©ãŒã ã§ã®ãã¹ãŠã®å€èŠ³ã®ãªã³ã¯ãåºããŸãã ããã»ã¹å ã®ãã¹ãŠã®ãœãŒã¹ãžã®ãªã³ã¯ã 䜿çšãããŠãããã¹ãŠã®ãã¬ãŒã ã¯ãŒã¯/ã¬ã€ã/ãã©ãŒã©ã ãžã®ãªã³ã¯
ãã¹ãæ¹æ³
ããã€ãã®å¶éããããŸãã
- ã©ãºããªãŒãã€ã§ã®èªèãšãã¬ã°ã©ã ãããã®ã¹ãã³ã 圌ã«ã¯ããŸãåããªãããšã¯æããã§ãã ãããŠãHabrå¹æããã圌ã¯ãããã€ããããããŸããã ãã®ãããç§ã¯ç¹ã«éšåãéå®ããŸããã ãæ°é®®ãªåçãéããæ©èœãå¶éããŸããã ããã¯æãããŒããããé¢æ°ã§ãã åèšã§ããã®æ©èœã®æåã®15人ã«ã¢ã¯ã»ã¹ããŸããã ç§ããã§ãã¯ãã5-6人ã§ãããã¯ããŸãåããŸãã ããã«ãå®æçã«ãªã»ããããã®ã§ã誰ããèå³ãæã£ãŠããå Žåã¯ããããããªã³ã«ããããšãã§ããŸãã ããã«ããã®æ©èœã¯ãã® Telegramãã£ãã«ã§è€è£œãããŸãã ããããåèµ·åããhabroeffectããã«ããªãå Žåãéè€ãããããã¢ã«ãŠã³ããç»é²ããŸããã ããããç§ã¯èœã¡ããšæžããŠã圌ã«ãããæããŸãããããŠãç§ã¯ã¢ãã¬ã¹ãäžããŸããã ãã®åŸãåçã¯ãã£ã³ãã«ã§ã®ã¿è¡šç€ºã§ããŸãã ãããããç§ã¯èå³ããã人ã«ãããè¿ããŸã-postestã
- é³¥ã 1æã«ã圌ãã¯çµ¶ãããã©ãã«é£ãã ã 1æ¥ããã200ã®å°çããããŸããã ããããæéãçµãŠã°é²ãã»ã©ã圌ãã¯å°ãªããªããŸããã çç±ãããããããŸããã 矀ãã移äœããããçš®ãé£ã¹éããããæ¥ãæãããã®ã©ã¡ãããšèšãããã³ãŒã·ã£ã®å ŽæãèŠã€ããŸããã å é±ã1æ¥ã«2-3矜ã®é³¥ãå°çããŸããã ãããŠ1ã€ã§ããããŸããã ããªããæ¥ç¶ããããé³¥ãããªãå Žå-ç³ãèš³ãããŸããã
- 誀æ€åºããããŸãã ããŸããããŸãããããããŸãã éåžžããããã¯äœããã®å¹æã«ãã£ãŠåŒãèµ·ããããŸãã ããã芳å¯ããããå人ããªãåã«ã ãããã£ãŠã圌ãã¯ãã°ãã°é£ç¶ããŠè¡ããŸãã ããã«ã æ¥ã§ãã éªã溶ããæ§åïŒ2ã3æ¥åŸïŒ-äœååãããªã«ããã£ãããéãå»ã£ããããã®ã ãšæããŸãã
- é³¥ã¯åå8æããååŸ6æã®éãé£è¡ããŸãïŒã¢ã¹ã¯ã¯æéïŒã
- ãã£ãŒããŒã¯ç¶ç¶çã«åäœããŸããã éçãå解ããŠæ¹åãããã§ãã ããã«ãããã«éªã溶ããŸãã 1é±éãªã³ã«ããŠããããªãã«ããŸãã ç§ã¯ééããªãæ¥å¹Žã®å¬ã«ããããããã£ãšé©åãªåœ¢ã§ãããè¿ãã§ãããã
æãããšãé¡ã£ãŠããŸãã
ãããããããžã®ãªã³ã¯ã§ã-@WindowFeeder_bot
ãããŠããã¡ããåã³ãã£ã³ãã«ã§ã-t.me/win_feed
ãœãŒã¹ã³ãŒã
ãããžã§ã¯ããªããžã㪠ã
ããŒã¿ããŒã¹ãããŒã¯ã¢ããããããã®ããã°ã©ã ã¯æ¬¡ã®ãšããã§ãã Windowsãšubuntuã§ã¯ïŒäœããã®çç±ã§ãOpenCVã¯ããŒããŒãã³ãŒããç°ãªãæ¹æ³ã§èªèããŸãã
ãããã¯ãŒã¯åŠç¿ã®äŸã次ã«ç€ºããŸãã ç§ã®æèŠã§ã¯ãCaffeã«ãšã£ãŠéåžžã«äŸ¿å©ã§ãã èªåã§äœããæãããšããç§ã¯ãã°ãã°ãã®çš®ã®äŒŒããããªããã°ã©ã ãæã«å ¥ããŸãã
ãããã¡ã€ã³ã³ãŒãã§ãã ããã§ã¯ãã¢ãŒã·ã§ã³æ€åºåšããã¬ã°ã©ã ããããèªèçšãã¥ãŒã©ã«ãããã¯ãŒã¯ãå®è£ ãããŠããŸãã
ãããåçã®ããŒã¹ã§ãã ã»ãšãã©ã®åçã«ã¯ããã¹ããã¡ã€ã«ããããŸãã 2ã€ã®æ°åããããŸãã æåã¯é³¥ã®çš®é¡ã§ãã 2çªç®ã¯ãç»åã®å質ã§ãïŒé³¥ãããå Žåã«ã®ã¿é¢é£ããŸãïŒã ããã¹ãã®ãªãåçããããŸãã é³¥ã¯åžžã«ããŸããã VOC2012ã®ããŒã¿ããŒã¹ã«åå ããŠããããã¯ãšã¯ãŸã£ããé¢ä¿ã®ãªãç»åãå«ããµããµã³ãã«ãäœæããŸãããããªãã¯åç«ãç¬ãèŠã-é©ããªãã§ãã ããã
ããªãã®ããŒã¹ãå ¥åãããšãç§ã®ãµããªã¡ã³ãã¯å®å®æ§ãé«ããã¯ãã§ãã
æ瀺ã䟿å©ãªã³ãã³ããªã©
RPiã®èšå®ã«é¢ããããªãå€ãã®è©³çŽ°ããã®èšäºã§ã«ããããŸãããç§ã®ããã°ã§ã¯ãæ§ææé ã®ããã€ãã«ã€ããŠããå°ã話ãããŸããã
ããã«ãããã§ã¯ãç¶ç¶ã§ããªãã£ãã¢ã€ãã¢ã®äžéšãåãåããŸããããããã¯ã®å¯äžã®4ã®æ³šæäºé ïŒ1ã2ã3ã4ã
Raspberry Piã®CaffeããŒãžã§ã³ã¯ããããããã©ãã°ãããŠããŸãã
ã€ã³ã¹ããŒã«ã®èª¬æã¯ã»ãšãã©ãããŸãããããªãã¯ç§ã®ããã°ã§èªãããšãã§ããæãè¿ãã¬ã€ãã«åºã¥ããŠè¡åããããšãã§ããŸãïŒhdf5ã§äœåãã¹ãããããŸãïŒãRPiã§OpenCV
ãèµ·åããããã®ã¬ã€ããæçšãªæå°
Telegramã§ããããäœæããŸããäžè¬çã«ãç§ã¯åœŒã«é¢ããã»ãšãã©ã®ãµã³ãã«ãããããåããŸãããåªãããªããžããªïŒPython APIïŒã
Z.Yuã
çªç¶èª°ããèªåã®é³¥ãèªèãããå ŽåãRPIããããŸãããããŒã¿ã®ã°ãªããããã¬ãŒãã³ã°ããããã®å±éãããã³ã³ãã¥ãŒã¿ãŒã¯ãããŸãããæå®ããã圢åŒã§ããŒã¯ã¢ãããããããŒã¿ããŒã¹ãéä¿¡ããŸããç§ã¯èªåèªèº«ãè¿œå ããŠåãã¬ãŒãã³ã°ãããããªãã¯ãã¡ã€ã³ã«æçš¿ããŸãã
Z.Yu.Yu.
ç§ã¯ä»æ¥ãé³¥ãé£ã¶ããšãå£ããããšããªãããšãéåžžã«æããŠããŸãããèšäºãæçš¿ããŸãããã空ã§ããããããåãã§1人ããŸã é£ã³ç«ã£ãããã¶ããã£ãšããã§ãããã