äºçªç ãæãå端ãªãã§ããããã£ã¡ãã£ããã®ã¯ä»æ¹ãªãã®ã§æžããŸãã
æ©æ¢°åŠç¿ããã£ãŒãã©ãŒãã³ã°ã«ã€ããŠã¯å šãåå¿è ã®ãœãããŠã§ã¢ãšã³ãžãã¢ããç³èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ãçšããŠãããããã¯ããŒããŒZãã®ã¡ã³ããŒã®é¡èå¥ãè¡ãã¢ããªãäœã£ã話ã§ãã
äœã£ããã®
ec2äžã§çšŒåããŠãŸãããã ãt2.microãªã®ã§éãã§ãã
ããã¯ãç»ååé¡åš
http://momomind.kenmaz.net
ã³ãŒã
https://github.com/kenmaz/momo_mind
èæ¯
ç§ïŒ@kenmaz)ã¯ãä»äºã§ã¯ããæ°å¹Žã¯iOSã¢ããª(objc/swift)ã°ã£ããæžããŠããŸãããã®åã¯Java/Ruby/PHPã§Webã¢ããªããµãŒããŒã¢ããªãéçºããŒã«çãæžããŠããããããŸããããšããããšã§æ©æ¢°åŠç¿ã人工ç¥èœã«é¢ããç¥èã¯ã»ãŒãŒãã§ããã
èªåèªãïŒåè峿ž
ãããªç§ããªããé¡èšã®ãããªã¢ããªãäœãããšæã£ããããã®ãããã幟ã€ãã®æ¬ã®ç޹ä»ãšãšãã«æžããŠãããŸãã
ã人工ç¥èœã¯äººéãè¶ ãããã
æšå¹Žæ«ã«è©±é¡ã«ãªã£ãã人工ç¥èœã¯äººéãè¶ ãããããšããæ¬ããããŸãããããã倧å€ãããããã£ãã®ã§ãå®éã«æ·±å±€åŠç¿ãåŠãã§è©ŠããŠã¿ãããªããŸããã
ã·ã³ã®ã¥ã©ãªãã£ãšãæãïŒãšãããã£ããã©ãSFã£ãŠããšã§ãããã§ãããïŒ
ãITãšã³ãžãã¢ã®ããã®æ©æ¢°åŠç¿çè«å ¥éã
ãŸãã¯ãITãšã³ãžãã¢ã®ããã®æ©æ¢°åŠç¿çè«å ¥éããèªã¿ãŸããããã¡ããæ¬å±ã«ã¯å¹³ç©ã¿ãããŠãŠäººæ°ã®æ¬ãœãã§ãã
æ©æ¢°åŠç¿ã®åºç€ãããæå°äºä¹æ³ãæå°€æšå®æ³ãªã©é¢é£ããæ°åŠãçµ±èšã«ã€ããŠã®è§£èª¬ãŸã§ã«ããŒããŠããŸããæ·±å±€åŠç¿ã«ã€ããŠã¯ãããŸã§èšåãããŠããŸããããããŒã»ãããã³ãããžã¹ãã£ã¯ã¹ååž°ã«ããåé¡ã¢ã«ãŽãªãºã ããã€ãºæšå®ãããã®è©±é¡ã¯ãæ©æ¢°åŠç¿ãåŠãã§ããæãããã£ãŠãæå¿ãããããŸããã
ãæ©æ¢°åŠç¿ ã¯ããããã
ãã¡ãã¯webé£èŒã§ããâãšåãäœè ã«ããé£èŒããªïŒãã¡ããåãããŠèªã¿ãŸããã
ãç©çã®ããã®æ°åŠã
ã§ãããã§åŸ®åã»ç©åãããã¯ãã¯ãã»ã»ãã£ãã¯ãã§ããã©ãããããšããç¶æ
ã«ãªã£ãŠããŸã£ãã®ã§ãã¡ãã£ãšå¯ãéããŠåŠç¿é¢å€§åŠã®ç°å޿޿æ°ãç¡åã§å
¬éããŠãã
ãç©çã®ããã®æ°åŠããšããããã¥ã¡ã³ããèªãããšã«ããŸããã髿 ¡ïŒå€§åŠïŒå¹Žã¬ãã«ã®æ°åŠã®æç§æžãšããŠãããããšã©ããã§ãªã¹ã¹ã¡ãããŠãããã®ã§ãã
æ£æã«åž°çããéã«å°å·ããŠèªãã§ãŸãããä»èãããšããŸãå¥ã«èªãŸãªããŠãåé¡ãªãã£ãããªãã
ãæ·±å±€åŠç¿ (æ©æ¢°åŠç¿ãããã§ãã·ã§ãã«ã·ãªãŒãº)ã
æ°åŠã¯ããããããªããšæãå床äžèšãæ©æ¢°åŠç¿çè«å ¥éããèªã¿ãªãããŸãããããããããã£ãŒãã©ãŒãã³ã°ã£ãŠãã€ãããããããªããšæãæã«ãšã£ãã®ããæ·±å±€åŠç¿ (æ©æ¢°åŠç¿ãããã§ãã·ã§ãã«ã·ãªãŒãº) ãã§ããã
ã¿ã€ãã«ã©ããããã£ãŠã深局åŠç¿ã«ã€ããŠåŠã¹ãŸãããã¥ãŒã©ã«ãããã¯ãŒã¯ãããã¯ãããã²ãŒã·ã§ã³ãèªå·±ç¬Šå·åãç³èŸŒã¿ãã¥ãŒã©ã«ããããååž°åãã¥ãŒã©ã«ãããããªã©ãªã©ãããèªåã¯å°éåã§ã¯ãããŸããããæ·±å±€åŠç¿é¢é£ã®éèŠãªãããã¯ãç¶²çŸ ãããŠãããããªæ°ãããŸããããã«äžåšç®ã§ã¯ããããããªãã£ãç®æããå®éã«ã³ãŒããæžããåŸã«èªã¿çŽããšãããããã®ããããããªãã£ãæ°åŒããã£ãæžãããã®ã³ãŒãã®éšåãšé¢é£ããŠãããããããã¿ãããªçŸè±¡ãããèµ·ããã®ã§ãåŠãã§ãæããã£ãŠè¯ãã§ãã
äžçªè¡æçã ã£ãã®ã¯ããªãé ãå±€ã远å ããããšã§ç²ŸåºŠãåäžããã®ããç ç©¶è ã®éã§ãå®ã¯ããããã£ãŠãªããšããããããçãªèšè¿°ã§ãããã³ãæããŸããã
ããŠã
ãã®ãããã§ãããæ¬ãèªãã®ã¯ãããããªããæžããããããšæããã¡ããã©ãã®ãã話é¡ã«ãªã£ãŠãTensorFlowã䜿ã£ãŠäœãäœããããªãšèãå§ããŸããã
ãã£ãããããããæ¬é¡ã§ãïŒå眮ãé·ãïŒã
äœãäœãã
ã¿ã€ãã«ãèŠãã ãã§ãããããšæããŸãããä»åäœã£ããã®ã¯ããããŒãæ°ã«ããããã°èšäºã®å 容ãšã»ãšãã©åããã®ã§ãã
TensorFlowã«ãããã£ãŒãã©ãŒãã³ã°ã§ãã¢ã€ãã«ã®é¡ãèå¥ãã
<http://d.hatena.ne.jp/sugyan/20160112/1452558576
ãããã«ãŸã£ããåããã®ãäœãã®ã¯ã¢ã¬ãªã®ã§ãåããããªæ©èœã®ãã®ã ãšããŠãããããŠåæå¯Ÿè±¡ã¯ããã¯ããããªããŠå¥ã®ãã®ã«ãã¹ãããªã»ã»ãšæã£ããã§ãããé床ã®ã¢ããããšã³ãžãã¢ã®èªåãšããŠã¯ãããããŒãæ°ããã£ãŠãããšã楜ãããã§ä»æ¹ãªãã£ãã®ã§ãçµå±åããã¿ã§ããããããšã«ããŸãããäºçªç ãã§ãããŸããã
ããã°ã©ã æŠèŠ
ïŒã€ã®ã³ã³ããŒãã³ããããªã£ãŠããŸãã
crawler
webããããã¯ãã®ç»åãéããŠããRubyã¹ã¯ãªãã
face_detect
crawlerãéããŠããç»åããé¡éšåãåãåãPythonã¹ã¯ãªãã
deeplearning
é¡ç»åãèšç·ŽïŒãã¹ãããŒã¿ãšããŠåŠç¿ãè¡ãTensorFlow+Pythonã¹ã¯ãªãã
web
åŠç¿çµæã®ã¢ãã«ã䜿ã£ãŠé¡èªèæ©èœãwebã¢ããªãšããŠæäŸããpythonã¹ã¯ãªãã
Pythonã¯ããããããªãã®ã§ãåœåã¯Rubyã§å€§éšåãæžããïŒãšæã£ãŠãŸããããopenCVïŒãããŠåœç¶TensorFlowãïŒãæ±ãã«ã¯ã©ãèããŠãPythonã®ã»ããæå©ã ãªããšæã£ãã®ã§éäžããPythonãã¡ã€ã³èšèªãšããŠåæ¿ããŸãããcrawlerã ãRubyã§ã»ãã¯å šéšPythonãªã®ã¯ãã®ããã§ããçŽ çŽã«Python䜿ããŸãããã
crawler
https://github.com/kenmaz/momo_mind/blob/master/crawler/url_fetch.rb
ãŸãã¯url_fetch.rbã§ãããã¯ãã¡ã³ããŒã®ååçãããŒã¯ãŒããšããŠbingç»åæ€çŽ¢ãè¡ããç»åURLãååŸããŸããç¹ã«ãªããŠããšã¯ç¡ãã§ããåçç¹ãšããŠã¯ãbingç»åæ€çŽ¢ã®æ€çŽ¢çµæã¯ãã¡ãã£ãšæã®ããã¯ãã®ç»åããããããããææ°ã®ç»åããªããªãéããããªãã®ãé£ç¹ã§ãããã¡ã³ããŒã®ã¢ã¡ãããããããç»åãåŒã£åŒµã£ãŠããã»ããããããªãŒããšéäžã§æããŸãããããšããããçŸç¶ã¯bingçµç±ã®ã¿ã§ãã
https://github.com/kenmaz/momo_mind/blob/master/crawler/download.rb
urläžèЧãååŸã§ããããdownload.rbã§ã¬ã³ã¬ã³ç»åãããŠã³ããŒãããŸããå€å®è¡ããŠæèµ·ãããæ²¢å±±æºãŸã£ãŠãŸããã
ããŸã«åãURLãååšããŠç»åãéè€ããŠããŸãã®ã§ãç»åãã€ããªã®ããã·ã¥å€ãä¿åæã®ãã¡ã€ã«åã«ãããªã©ããŠããªãã¹ãéè€ãçºçããªãããã«æ³šæããããããŸããã
以äžããªãã®å€å²ããªãã¯ããŒã©ãŒã§ããã
face_detect
次ã¯åéããç»åãããåŠç¿çšããŒã¿ãšããŠãé¡ã£ãœãéšåãæãåºããŸãã
https://github.com/kenmaz/momo_mind/blob/master/face_detect/detect.py
detect.pyã§ã¯ openCVãæšæºã§æäŸããŠãã haarcascadesãšããã¢ãã«ã䜿ã£ãŠç»åããé¡éšåã ããæ€åºããŠãç»åãšããŠåãåã£ãŠãããŸãããã ããã®ã¢ãã«ã䜿ã£ãŠé¡æ€åºãããããšãããšä»¥äžã®æ§ãªåé¡ãçºçããŸãã
- é¡ãã¡ãã£ãšã§ãåŸããŠãããšé¡ãšããŠæ€åºãããªã
- é¡ãããªãç»åããé¡ãšããŠèª€èªèãããŠããŸã
ãã¡ãã®åé¡ã«ã€ããŠã¯ããŸãããŠãããããŒãæ°ã«ããããã°ãã¹ãã倧ãã«åèã«ãããŠããããŸããã
Heroku + OpenCVã§ç°¡æé¡æ€åºAPI
http://d.hatena.ne.jp/sugyan/20151203/1449137219
ã ãããäžèšãšåãã§ãããåŠçã®å 容ã¯ä»¥äžã®ãšããã
- ç»åèªäœã5床ãã€å転ãããŠé¡ãæ€åº => é¡ã®åŸãã®åé¡ã解決
- åãç»åãå転ãããã ããªã®ã§ãã²ãšã€ã®é¡ã«å¯ŸããŠéè€ããŠé¡ãæ€åºããã => ããããã®é¡ç»åã«å¯ŸããŠãç®ã®äœçœ®ã®æ€åºãå£ã®äœçœ®ã®æ€åºã远å ã§è¡ããäžçªããã£ãœãç»åãããã¯ã¢ãããã
ç®ãšå£ã®æ€åºã«é¢ããŠã¯ã以äžã®ãšããè©äŸ¡ãããŠããŸãã
- ç»åã®å·Šäžãšå³äžã«ããããïŒã€ãã€ç®ãååšãã
- å·Šå³ã®ç®ã®æ°Žå¹³äœçœ®ãã»ãŒåã
- ç»åã®äžå€®äžéšã«ïŒã€å£ãååšãã
-50床ãã50床ãŸã§5床å»ã¿ã§ç»åãå転ããã€ã€ãäžèšåŠçãç¹°ãè¿ãããã ãã¶éãåŠçã«ãªããŸãã
ãã®ã¹ã¯ãªããã¯åŠç¿ããŒã¿ã®çæã ãã§ã¯ãªããæçµçã«webã¢ããªãšããŠå ¬éããéã«ããŠãŒã¶ããã¢ããããŒããããç»åããã顿€åºããéã«ã䜿ããŸãããã®ãŸãŸåŠçãæµçšããã®ã¯ãããã«éãããªã®ã§ãwebã¢ããªãšããŠäœ¿ããšãã¯ã-5床ã0床ã5床ãã®è§åºŠã ãã䜿ãããã«ããŸããããªã®ã§é¡ã®æ€åºã«å€±æããããšãå€ã æããŸããè²§ä¹ãããªãã
å転ããç»åå士ã§ãåäžã®é¡ãéè€ããŠããŸãåé¡ã«ã€ããŠã¯ãåé¡ã®åº§æšãå転移åããã°éè€ããé¡ç»åãã°ã«ãŒãã³ã°ã§ããŸãã髿 ¡ã®æãããŸããããŒã
å転移åã®ïŒæ¬¡å€æ
http://www.geisya.or.jp/~mwm48961/kou2/linear_image3.html
人åã«ããèšç·Žã»ãã¹ãããŒã¿ã®æºå
ããã§ããããããã¯ãã¡ã³ããŒã®é¡ç»åã倧éã«éãŸããŸããããããããåŠç¿çšããŒã¿ãšããŠäœ¿ããããã«ããã«ã¯ãããããã®é¡ãããã¯ãã®èª°ã®é¡ãªã®ããåŠç¿ããŒã¿ãšããŠæäŸããŠäžããå¿ èŠããããŸããä»ãããŸãã«ãã®åé¡ãèªåã§è¡ãããã°ã©ã ãäœãããšããŠãããã§ãããåµãšé¶åé¡ã£ãŠããšã§ããŸãäººéæ§ãæåã®åŠç¿çšããŒã¿ãäœã£ãŠããå¿ èŠããããŸãã
ããããŒãæ°ã¯åŠç¿ããŒã¿äœæã®ããã®webããŒã«ãäœã£ãŠããããã§ãããç§ã¯ããã©ãããã£ãã®ã§ãšããããMacã®Finderã§ç»åãã°ãŒã£ãšäžŠã¹ãŠãcmd+ã¯ãªãã¯ã§ç»åãè€æ°éžæâãã©ã«ãäœæãã¿ãããªæãã®ã§äœæ¥ã§æžãŸãããšã«ããŸããã
ãã©ã«ãæ§æã¯ãããªæãã
/out
/train
/reni
..150æã»ã©ã®ç»å..
/kanako
..150æã»ã©ã®ç»å..
/shiori
..150æã»ã©ã®ç»å..
/arin
..150æã»ã©ã®ç»å..
/momoka
..150æã»ã©ã®ç»å..
test
/reni
..150æã»ã©ã®ç»å..
/kanako
..150æã»ã©ã®ç»å..
/shiori
..150æã»ã©ã®ç»å..
/arin
..150æã»ã©ã®ç»å..
/momoka
..150æã»ã©ã®ç»å..
èšç·Žãšãã¹ãã®ç»åã¯ã©ããããã®é åããããè¿·ããŸãããããããã150æãããçšæããŸãããæåã¯èšç·ŽããŒã¿ãå å®ãããã»ããããã£ããïŒã£ãŠããšã§ãèšç·ŽïŒãã¹ã = 7:3 ãããã®é åã«ããŠã¿ãŸãããããããããšæèŠçã«ãã¹ãããŒã¿ã®éžã³æ¹æ¬¡ç¬¬ã§ã¯ãã¹ãããŒã¿ãåã£ãŠããŸãããšããã£ãããã§ãã
èš1,500æã®ç»åãããã°ã£ãŠäººååé¡ããããã§ããããããããã¯ãã¡ã³ããŒã®é¡ç»åã§ã»ããšã«è¯ãã£ãããšããããŸããå«ããã¯SMAPã®ã¡ã³ããŒãšãã§ãã£ãŠã¿ããïŒãšèšã£ãŠãŸãããã1500æã®ããããã®é¡ç»åãããã°ã£ãŠåé¡ããäœæ¥ãšããã»ããšããã§ããããã»ããšããã¯ãã§è¯ãã£ãã
åç·šããã
åç·šã¯ãããŸã§ã誰ãæãã§ããªããããããŸããããåŸç·šããã£ãšæžããŸãã
æè¡ã«é¢ä¿ãªãããšã°ã£ããæžãã¡ãã£ãã®ã§ãæ€é²ãå³ãããšåã®Qiitaéå¶ã«BANãããªããäžå®ã§ãã
ç¶ãã¯ãã¡ã
äžç·šïŒ http://qiita.com/kenmaz/items/ef0a1308582fe0fc5ea1#_reference-6ae9a51ee7a7a346d3c1

