ãã¥ãŒã©ã« ãããã¯ãŒã¯ã®ãããªããŒã¿é§ååã¢ã«ãŽãªãºã ã¯äžçãåžå·»ããŸããã ãã®éçºã«ã¯ãå®äŸ¡ã§åŒ·åãªæ©åšãèšå€§ãªéã®ããŒã¿ãªã©ãããã€ãã®çç±ããããŸãã ãã¥ãŒã©ã« ãããã¯ãŒã¯ã¯çŸåšãç»åèªèãèªç¶èšèªç解ãªã©ã®ãèªç¥ãã¿ã¹ã¯ã«é¢é£ãããã¹ãŠã®åéã§æåç·ã«ãããŸãã ãããããã®ãããªã¿ã¹ã¯ã«éå®ãããã¹ãã§ã¯ãããŸããã ãã®èšäºã§ã¯ããã¥ãŒã©ã« ãããã¯ãŒã¯ã䜿çšããæ®å·®åŠç¿ã䜿çšããŠç»åãå§çž®ããæ¹æ³ã«ã€ããŠèª¬æããŸãã ãã®èšäºã§çŽ¹ä»ãããŠããã¢ãããŒãã¯ãæšæºã®ã³ãŒããã¯ãããé«éã§åªããŠããŸãã ã¹ããŒã ãæ¹çšåŒããããŠãã¡ããããã¹ããå«ãè¡šãå«ãŸããŠããŸãã
ãã®èšäºã¯ä»¥äžã«åºã¥ããŠããŸã
ç»åå§çž®ãšã¯äœã§ãã?ãŸããã®ä»çµã¿ã¯äœã§ãã?
ç»åå§çž®ã¯ãç»åãå æããã¹ããŒã¹ãå°ãªããªãããã«ç»åãå€æããããã»ã¹ã§ãã ç»åãä¿åããã ãã§ã¯å€ãã®ã¹ããŒã¹ãæ¶è²»ãããããå ã®ç»åã®ãµã€ãºãåæžããããšãç®çãšãã JPEG ã PNG ãªã©ã®ã³ãŒããã¯ãååšããŸãã
ãåç¥ã®ãšãããç»åå§çž®ã«ã¯æ¬¡ã® XNUMX çš®é¡ããããŸãã æ倱ã¯ââãããŸãã О æ倱ããã ååã瀺ãããã«ãå¯éå§çž®ã¯å ã®ç»åããŒã¿ãä¿æã§ããŸãããéå¯éå§çž®ã¯å§çž®äžã«äžéšã®ããŒã¿ã倱ããŸãã ããšãã°ãJPG ã¯éå¯éã¢ã«ãŽãªãºã ã§ã [çŽç¿»èš³ã - åºæ¬çã«ããã¹ã¬ã¹ JPEG ã«ã€ããŠãå¿ããªãã§ãã ãã]ãPNG ã¯ãã¹ã¬ã¹ ã¢ã«ãŽãªãºã ã§ãã
å¯éå§çž®ãšéå¯éå§çž®ã®æ¯èŒ
å³åŽã®ç»åã«ã¯ãããã¯ç¶ã®ã¢ãŒãã£ãã¡ã¯ããå€æ°ããããšã«æ³šç®ããŠãã ããã ããã¯å€±ãããæ å ±ã§ãã é¡äŒŒããè²ã®é£æ¥ãããã¯ã»ã«ã¯ã¹ããŒã¹ãç¯çŽããããã«åäžã®é åãšããŠå§çž®ãããŸãããå®éã®ãã¯ã»ã«ã«é¢ããæ å ±ã¯å€±ãããŸãã ãã¡ãããJPEGãPNG ãªã©ã®ã³ãŒããã¯ã§äœ¿çšãããã¢ã«ãŽãªãºã ã¯ããã«è€éã§ãããããã¯éå¯éå§çž®ã®çŽæçãªè¯ãäŸã§ãã å¯éå§çž®ã¯åªããŠããŸãããå¯éå§çž®ãã¡ã€ã«ã¯å€ãã®ãã£ã¹ã¯é åãå æããŸãã å€ãã®æ å ±ã倱ããã«ç»åãå§çž®ããããè¯ãæ¹æ³ããããŸãããéåžžã«æéãããããå€ãã¯å埩çãªã¢ãããŒãã䜿çšããŸãã ããã¯ãè€æ°ã® CPU ãŸã㯠GPU ã³ã¢ã§äžŠè¡ããŠå®è¡ã§ããªãããšãæå³ããŸãã ãã®å¶éã«ãããæ¥åžžäœ¿çšã§ã¯ãŸã£ããå®çšçã§ã¯ãªããªããŸãã
ç³ã¿èŸŒã¿ãã¥ãŒã©ã« ãããã¯ãŒã¯ã®å ¥å
äœããèšç®ããå¿
èŠããããèšç®ãè¿äŒŒã§ããå Žåã¯ã次ã®å€ãè¿œå ããŸãã
ã¢ãŒããã¯ãã£
èè ãã¯äºéãããã¯ãŒã¯ãææ¡ããã æåã®ãããã¯ãŒã¯ã¯ç»åãå ¥åãšããŠåãåããã³ã³ãã¯ããªè¡šçŸ (ComCNN) ãçæããŸãã ãã®ãããã¯ãŒã¯ã®åºåã¯ãæšæºã³ãŒãã㯠(JPEG ãªã©) ã«ãã£ãŠåŠçãããŸãã ã³ãŒããã¯ã«ãã£ãŠåŠçãããåŸãç»å㯠XNUMX çªç®ã®ãããã¯ãŒã¯ã«æž¡ãããå ã®ç»åã«æ»ãããšããããã«ã³ãŒããã¯ããã®ç»åããä¿®æ£ããããŸãã èè ãã¯ãã®ãããã¯ãŒã¯ã Reconstructive CNN (RecCNN) ãšåä»ããŸããã GAN ãšåæ§ã«ãäž¡æ¹ã®ãããã¯ãŒã¯ã¯å埩çã«ãã¬ãŒãã³ã°ãããŸãã
ComCNN ã³ã³ãã¯ãè¡šçŸã¯æšæºã³ãŒããã¯ã«æž¡ãããŸã
RecCNNã ComCNN åºåã¯ã¹ã±ãŒã«ã¢ãããã㊠RecCNN ã«äŸçµŠãããæ®ããåŠç¿ããããšããŸãã
ã³ãŒããã¯åºåã¯ã¹ã±ãŒã«ã¢ãããããŠãã RecCNN ã«æž¡ãããŸãã RecCNN ã¯ãç»åãã§ããã ããªãªãžãã«ã«è¿ã¥ããŠã¬ã³ããªã³ã°ããããšããŸãã
ãšã³ãããŒãšã³ãã®ç»åå§çž®ãã¬ãŒã ã¯ãŒã¯ã Co(.) ã¯ç»åå§çž®ã¢ã«ãŽãªãºã ã§ãã èè
㯠JPEGãJPEG2000ãBPG ã䜿çšããŸãã
æ®ããšã¯äœã§ãã?
æ®ãã®éšåã¯ãã³ãŒããã¯ã«ãã£ãŠãã³ãŒããããç»åããæ¹åãããããã®åŸåŠçã¹ããããšèããããšãã§ããŸãã äžçã«é¢ããå€ãã®ãæ
å ±ããããããããã¥ãŒã©ã« ãããã¯ãŒã¯ã¯äœãä¿®æ£ãã¹ããã«ã€ããŠèªç¥çãªæ±ºå®ãäžãããšãã§ããŸãã ãã®ã¢ã€ãã¢ã¯ä»¥äžã«åºã¥ããŠããŸã
æ倱é¢æ°
1 ã€ã®ãã¥ãŒã©ã« ãããã¯ãŒã¯ããããããXNUMX ã€ã®æ倱é¢æ°ã䜿çšãããŸãã ãããã®æåã® ComCNN 㯠LXNUMX ãšããã©ãã«ãä»ãããã次ã®ããã«å®çŸ©ãããŸãã
ComCNN ã®æ倱é¢æ°
解説
ãã®æ¹çšåŒã¯è€éã«èŠãããããããŸããããå®éã«ã¯æšæº (äºä¹å¹³åå¹³æ¹æ ¹èª€å·®) ã§ãã MSEã ||² ã¯ãããããå²ããã¯ãã«ã®ãã«ã ãæå³ããŸãã
åŒ 1.1
Cr 㯠ComCNN ã®åºåã瀺ããŸãã Ξ 㯠ComCNN ãã©ã¡ãŒã¿ã®åŠç¿å¯èœæ§ã瀺ããXK ã¯å ¥åç»åã§ã
åŒ 1.2
Re()
RecCNNã®ç¥ã§ãã ãã®åŒã¯ãåŒ 1.1 ã®æå³ã RecCNN ã«äŒããã ãã§ãã Ξ 㯠RecCNN ã®ãã¬ãŒãã³ã°å¯èœãªãã©ã¡ãŒã¿ãŒã瀺ããŸã (äžéšã®åžœåã¯ãã©ã¡ãŒã¿ãŒãåºå®ãããŠããããšãæå³ããŸã)ã
çŽæçãªå®çŸ©
åŒ 1.0 ã«ãã ComCNN ã¯éã¿ãå€æŽããRecCNN ã§åäœæããããšãã«æçµç»åãå ¥åç»åãšã§ããã ã䌌ããã®ã«ãªãããã«ããŸãã XNUMX çªç®ã® RecCNN æ倱é¢æ°ã¯æ¬¡ã®ããã«å®çŸ©ãããŸãã
åŒ 2.0
解説
ãã®é¢æ°ãè€éã«èŠãããããããŸãããã倧éšåã¯æšæºã®ãã¥ãŒã©ã« ãããã¯ãŒã¯æ倱é¢æ° (MSE) ã§ãã
åŒ 2.1
Co()
ã³ãŒããã¯åºåãæå³ããŸããäžéšã«åžœåã®ä»ãã x 㯠ComCNN åºåãæå³ããŸãã Ξ2 㯠RecCNN ã®ãã¬ãŒãã³ã°å¯èœãªãã©ã¡ãŒã¿ã§ãã res()
ã¯åãªã RecCNN ã®æ®å·®åºåã§ãã RecCNN 㯠Co() ãšå
¥åç»åã®å·®åã«ã€ããŠãã¬ãŒãã³ã°ãããããå
¥åç»åã«ã€ããŠã¯ãã¬ãŒãã³ã°ãããªãããšã«æ³šæããŠãã ããã
çŽæçãªå®çŸ©
åŒ 2.0 ã«ãããåºåãå ¥åç»åã«ã§ããã ã䌌ãããã« RecCNN ãéã¿ãå€æŽããŸãã
ãã¬ãŒãã³ã°ã¹ããŒã
ã¢ãã«ã¯æ¬¡ã®ããã«å埩çã«ãã¬ãŒãã³ã°ãããŸãã
ãã¹ã
èè ãã¯ãèªåãã¡ã®æ¹æ³ããåçŽãªã³ãŒããã¯ãå«ãæ¢åã®æ¹æ³ãšæ¯èŒããŸããã 圌ãã®æ¹æ³ã¯ãé©åãªããŒããŠã§ã¢äžã§é«éæ§ãç¶æããªãããä»ã®æ¹æ³ãããåªããããã©ãŒãã³ã¹ãçºæ®ããŸãã ããã«ãèè ã㯠XNUMX ã€ã®ãããã¯ãŒã¯ã®ãã¡ XNUMX ã€ã ãã䜿çšããããšããŸããããããã©ãŒãã³ã¹ã®äœäžã«æ°ã¥ããŸããã
æ§é é¡äŒŒæ§ææ°æ¯èŒ (SSIM)ã å€ãé«ãã»ã©ããªãªãžãã«ãšã®é¡äŒŒæ§ãé«ãããšã瀺ããŸãã 倪åã¯èè
ã®ç 究ã®çµæã瀺ããŸã
ãŸãšã
ç§ãã¡ã¯ãã£ãŒãã©ãŒãã³ã°ãç»åå§çž®ã«é©çšããæ°ããæ¹æ³ãæ€èšããç»ååé¡ãèšèªåŠçãªã©ã®ãäžè¬çãªãã¿ã¹ã¯ãè¶ ããã¿ã¹ã¯ã§ãã¥ãŒã©ã« ãããã¯ãŒã¯ã䜿çšããå¯èœæ§ã«ã€ããŠè©±ãåããŸããã ãã®æ¹æ³ã¯ãçŸä»£ã®èŠä»¶ã«å£ããªãã ãã§ãªããç»åãããé«éã«åŠçããããšãã§ããŸãã
Habravchan å°çšã®ããã¢ãŒã·ã§ã³ ã³ãŒããäœæããããããã¥ãŒã©ã« ãããã¯ãŒã¯ã®åŠç¿ã容æã«ãªããŸããã ããã«ããããŒã«è¡šç€ºãããŠããå²åŒã«ããã« 10% å²åŒãé©çšãããŸãã
ããŒã¿ãµã€ãšã³ã¹ã®å°éè·ããŒãããæãã ããŒã¿ ãµã€ãšã³ã¹ ãªã³ã©ã€ã³ ããŒããã£ã³ã ããŒã¿ã¢ããªã¹ããšããè·æ¥ããŒããããã¬ãŒãã³ã°ãã ããŒã¿åæãªã³ã©ã€ã³ ããŒããã£ã³ã Webéçºã®ããã®Pythonã³ãŒã¹
ããã«å€ãã®ã³ãŒã¹
ããŒã¿åæã³ãŒã¹ DevOpsã³ãŒã¹ è·æ¥ Web éçºè è·æ¥ ãŒãããã®iOSéçºè è·æ¥ ãŒãããã® Android éçºè è·æ¥ ãŒãããã® Java éçºè JavaScriptã³ãŒã¹ æ©æ¢°åŠç¿ã³ãŒã¹ ã³ãŒã¹ãããŒã¿ãµã€ãšã³ã¹ã®ããã®æ°åŠãšæ©æ¢°åŠç¿ã ã¢ããã³ã¹ã³ãŒã¹ãæ©æ¢°åŠç¿ããïŒãã£ãŒãã©ãŒãã³ã°ã
泚ç®ã®èšäº
ãªã³ã©ã€ã³ã³ãŒã¹ãªãã§ããŒã¿ãµã€ãšã³ãã£ã¹ãã«ãªãæ¹æ³ 450 ã®ç¡æã¢ã€ã㌠ãªãŒã° ã³ãŒã¹ é±5æ¥ã9ãæé£ç¶ã§æ©æ¢°åŠç¿ãå匷ããæ¹æ³ ããŒã¿ã¢ããªã¹ãã®åå ¥ã¯ãããã§ããïŒ2020幎ã®ãã·ã¢å å€ã®çµŠäžãšæ±äººã®æŠèŠ é±æ¥ã«ãããæ©æ¢°åŠç¿ãšã³ã³ãã¥ãŒã¿ãŒ ããžã§ã³
åºæïŒ habr.com