
è¶ è§£åã«ã€ã㊠ïŒãã®ïŒã»SRCNN ãŸã§ïŒ
- å²åŒãã
ãããã«ã¡ã¯ããã°ãã¯ãteftef ã§ããä»åã¯ç»åãæ¡å€§çž®å°ããããšã«é¢ããŠã§ãã2 åã«åããŠæžããŸããããã¯ååã§æ¯èŒçããç¥ãããŠããããšãæžãããŠããŸãã(å人çã«è¶
è§£åã«èå³ããããã®ã§1ãæãããæç®è¿œã£ãŠãŸãã)
ãç§ããŸã ååŠè
ã§ããã説æãééã£ãŠãããåéããããå¯èœæ§ã 0 ã§ã¯ãªããšããããšããäºæ¿ãã ããããã²ã³ã¡ã³ããªã©ãããã ããã幞ãã§ãããŸãããã®èšäºãäœæããã«ããããGPT-4 ã«ããæ ¡æ£ãä¿®æ£ãå«ãŸããŠããŸãã
â»ãã®èšäºã¯ææãšãªã£ãŠããŸãããæåŸãŸã§å
容ãèªããŸãã
ãã¯ã¿ç»åã»ã©ã¹ã¿ç»å

ããŸãã¯ç»å圢åŒã«é¢ããåºæ¬æ
å ±ã§ããç»åãä¿åããéã®æ¡åŒµå ( . ã®åŸ) ãšã㊠jpeg, png, webp, svg, GIF, EPS , AI, PDF ,âŠãšãããããããŸãããããã¯å€§ããåããŠããã¯ã¿ç»åãšã©ã¹ã¿ç»åã«åãããŠããŠãç»åã®è¡šçŸæ¹æ³ãéããŸãã
ããã¯ã¿ç»åïŒPS , AI, PDF ãªã©ïŒã¯ãã¯ãã«ãšããã ããã£ãŠãç»åãç¹ãç·ã§æ°åŠçã«è¡šçŸãããŠãããæ°åŒèšç®ãçšããŠæç»ãããŸãããã®ãããããŽã幟äœåŠçãªå³åœ¢ã衚çŸããã®ã«äœ¿ãããŠããŸãããã¯ã¿ç»åã¯æ¡å€§çž®å°ãããŠãããã®éœåºŠèšç®ãããããç»è³ªãç¶æããããšããå©ç¹ããããŸãã
ã察ããŠãã©ã¹ã¿ç»å㯠(jpeg, png, webp, GIF ãªã©) ã¯ãã¯ã»ã«ã®éãŸãã§è¡šçŸãããŠããã®ã§ãåçãã€ã©ã¹ãã®ãããªè€éãªãã£ããŒã«ãæã£ãç»åãæ£ç¢ºã«è¡šçŸããããšãã§ããŸãããã®ããã«ãã¯ã»ã«æ¯ã«æ
å ±ãããã®ã§ã现ããè²ãã°ã©ããŒã·ã§ã³ã®è¡šçŸãåŸæãšãªã£ãŠããŸããããããªãããäžåºŠã©ã¹ã¿ç»åã«å¯ŸããŠæ¡å€§çž®å°ç·šéããããšå
ã®ç»è³ªãåãæ»ãããšãé£ãããªããŸãã
ãç§ãã¡ããã䜿ã圢åŒã¯å§åçã«åŸè
ã®ã©ã¹ã¿ç»åã§ããã jpeg , png ãå€ããšæããŸãã ïŒjpeg ã¯ããã·ãŒå§çž®ã§ãç»è³ªãç ç²ã«ããŠå§çž®çãäžããŠããŠãããã㊠png ã¯ãã¹ã¬ã¹å§çž®ã§ç»è³ªãèœãšããã«ä¿åã§ãããšãã話ã¯ä»åããŸãããïŒ

ã4K ã¢ãã¿ãŒãªã©ã®ç»å Žãã«ã¡ã©ã®é«æ§èœåã«ãããé«ç»è³ªãªç»åã»æ åã³ã³ãã³ããåçããããšãã§ããåºååšã身è¿ã«ãªããåŸæ¥ã®äœç»è³ªãªã³ã³ãã³ããé«ç»è³ªåããŠåºåããããšããããŒãºãé«ãŸã£ãŠããŸããããããåŸæ¥ã®äœç»è³ªã®ç»åã倧ããªç»é¢ã§æ ããããšãã«ãã¬ãã¬ããªç»è³ªã«ãªã£ãŠããŸãããšããããŸãããŸããç»åã®çްããéšåãæ¡å€§ããŠã¿ãããšãããšããã¯ã»ã«ã倧ããæ¡å€§ãããã ãã§ãã以äžçްãããªããªãããšãäœéšãããšããã人ã¯å€ããšæããŸããç»åãæ¡å€§ãããšãã«ç»è³ªãèœãšããã«ããææ³ãå¿ èŠã«ãªã£ãŠãããŸãã
ã¢ããã¹ã±ãŒãªã³ã°
ããã®èšäºã§ã¯ããŸãã¯ç»åãæ¡å€§ïŒã¢ããã¹ã±ãŒãªã³ã°ïŒããããšã«çŠç¹ã眮ããŠé²ãã§ãããŸãã
æè¿åæ³
ãæè¿åæ³ïŒNearest Neighbor InterpolationïŒã¯æãã·ã³ãã«ãªæ¹æ³ã§ãããç»åã®åãã¯ã»ã«ã®å€ïŒRGBå€ïŒãåç §ããŠãæ°ããäœçœ®ã«ãã®å€ãã³ããŒããŸããèšç®ã®åŠçé床ãéããè€éãªèšç®ãäžèŠã§ãããšããã¡ãªããããããŸãããæ¡å€§æã«ã¯ãžã£ã®ãŒïŒäžé£ç¶çãªç·ãè§ïŒãåºããããšãããã¡ãªããããããŸãã

ãã€ãªãã¢è£é
ããã€ãªãã¢è£éïŒBilinear InterpolationïŒã¯ç»åãæ¡å€§ïŒãŸãã¯çž®å°ïŒããéã«æ°ãããã¯ã»ã«ã®å€ïŒRGBå€ïŒããå ã®ç»åã®æãè¿ã 4 ã€ã®ãã¯ã»ã«ã®å€ïŒRGBå€ïŒããèšç®ããŸããèšç®æ¹æ³ã¯ãæ±ããããã¯ã»ã«ã®ïŒæãè¿ãæ¢ç¥ã®ïŒåšå² 4 ã€ã®ãã¯ã»ã«ïŒå·Šäžãå³äžãå·Šäžãå³äžïŒã®å€ã®å éå¹³åãæ±ããŸãããã®éã«éã¿ã¯æ±ããããã¯ã»ã«äœçœ®ãš 4 ã€ã®ãã¯ã»ã«ãšã®è·é¢ãã«åºã¥ããŠæ±ºå®ããŸãããã€ãªãã¢è£éã¯ãæè¿åæ³ãããã¹ã ãŒãºãªç»åãæ¡å€§ã§ããŸãããç»åã®ãšããžã现ãããã¯ã¹ãã£ã®åçŸæ§ã«ã¯éçããããŸãã

ãã€ãã¥ãŒããã¯è£é
ããã€ãã¥ãŒããã¯è£éïŒBicubic InterpolationïŒã§ã¯ãã€ãªãã¢è£éã2x2ã®è¿é£ 4 ãã¯ã»ã«ã®å€ïŒRGBå€ïŒã䜿ãã®ã«å¯ŸããŠããã€ãã¥ãŒããã¯è£é㯠4x4 ã®è¿é£ 16 ãã¯ã»ã«ã®å€ïŒRGBå€ïŒã䜿çšããŸããèšç®æ¹æ³ã¯ãæ±ããããã¯ã»ã«ã®ïŒæãè¿ãæ¢ç¥ã®ïŒåšå² 16 ã€ã®ãã¯ã»ã«ã®å€ã®å éå¹³åãæ±ããŸããããã«ãããããå€ãã®æ å ±ãå©çšããŠæ°ãããã¯ã»ã«ã®å€ãèšç®ããŸãããã®éã«éã¿ã¯æ±ããããã¯ã»ã«äœçœ®ãš 16 ã€ã®ãã¯ã»ã«ãšã®è·é¢ãã«åºã¥ããŠæ±ºå®ããŸãããã®çµæããã€ãã¥ãŒããã¯è£éã¯æè¿åæ³ããã€ãªãã¢è£éãããèšç®ãè€éã«ãªããŸãããé«å質ãªç»åãåŸããããšããã¡ãªããããããŸãã

è¶ è§£å ïŒSuper-ResolutionïŒ

ãä»ãŸã§æžããŠãããã¢ããã¹ã±ãŒãªã³ã°ææ³ã§ã¯ã¢ã«ãŽãªã ã«æ²¿ã£ãèšç®ãè¡ãããšã§ç»åã®ãµã€ãºã倿Žããããšãäž»ãªç®çãšãªã£ãŠããŸããã¢ããã¹ã±ãŒãªã³ã°ææ³ã¯ãã°ããæ£ç¢ºã«ç»åãæ¡å€§ããããšãã§ããŸãããç»åã倧ããããã«ã€ããŠç»è³ªãå£åããŠããŸããšãããã¡ãªããããããŸãã
è¶
è§£åïŒSuper-ResolutionïŒã¯ãäœè§£å床ã®ç»åãé«è§£å床ã®ç»åã«å€æããæè¡ã§ããåã«ãã¯ã»ã«ãå¢ããã ãã§ãªãã倱ããã现éšããã¯ã¹ãã£ã埩å
ããããšãç®æããŸããæ åãå»çç»åãè¡æç»åãªã©ã®åéã§ã®å¿çšãããŠããŸããåäžã®äœè§£å床ç»åããé«è§£å床ç»åãçæãããåäžç»åè¶
è§£åãããè€æ°ã®äœè§£å床ç»åãçµã¿åãããŠé«è§£å床ç»åãçæãããå€éç»åè¶
è§£åããªã©ãããŸããŸãªæ¹æ³ããããŸãããä»åã¯äž»ã«åäžç»åè¶
è§£åã«ã€ããŠã§ãã
ã¹ããŒã¹ã³ãŒãã£ã³ã°ãçšããè¶ è§£å
ããŸããå°ãæã®è¶
è§£åã«ã€ããŠã§ããç¹å®ã®ç»åãä¿¡å·ã®ç¹åŸŽãæããåºåºãã¯ãã«ããããã®éåïŒèŸæžïŒã䜿çšããŠé«è§£å床ç»åãåæ§ç¯ããææ³ãçšããŠããŸãã
ãé«è§£å床ã®ç»åãããã䜿çšããŠèŸæž D_h ãèšç·Žãããæ¬¡ã«åãé«è§£å床ã®ç»åãæå³çã«äœè§£å床ã«å€æïŒäŸãã°ããŒããïŒããŠãäœè§£å床ã®ç»åããããçæããŸãããã®ããããçšããŠäœè§£å床ã®èŸæž D_l ãèšç·ŽããŸããäœè§£å床ã®ç»åããããããæœåºããäœè§£å床ã®èŸæž D_l ã䜿çšããŠãæé©ãªãããã®çµã¿åãããæ¢ããŸãïŒã©ããœååž° {Lasso Regression}  ãªã©ãçšããïŒããããã¹ããŒã¹è¡šçŸãšãªããŸããåŸãããã¹ããŒã¹è¡šçŸãå©çšããŠãèŸæžå
ã®å¯Ÿå¿ããé«è§£å床ã®ããããçµã¿åãããŠãå
šäœã®é«è§£å床ç»åãåæ§ç¯ããŸãã

ããã£ãŠããããšã¯æ©æ¢°åŠç¿ãšäŒŒãŠããŸããïŒèŸæžã¯æœåšå€æ°ã®ãããªãã®ã«ãããïŒããã®é ã¯ã©ã¡ãããšãããšã¢ã«ãŽãªãºã ãçšããŠæ©æ¢°çã«è§£ããŠãããšããæèŠã匷ãã§ãã
SRCNN
ãæãé²ã¿ãè¶ è§£åã¯èšç®æ©è³æºïŒGPUïŒã®æ§èœåäžãšã³ã³ãã¥ãŒã¿ããžã§ã³ã®çºå±ã«ãã 2010 幎代ããæ·±å±€åŠç¿ãçšããææ³ãç»å ŽããŸããã2014 幎㫠Dong et al.ã«ãã£ãŠ CNN ïŒç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ïŒãçšããè¶ è§£åãææ¡ãããŸããã

ãSRCNN ã¯åºæ¬çã«ã( Conv ïŒ Relu )  3 å±€ãšããã·ã³ãã«ãªã¬ã€ã€ãŒã§æ§æãããŠããŸãã
 def __init__(self) -> None:
    super(SRCNN, self).__init__()
    # Feature extraction layer.
    self.features = nn.Sequential(
      nn.Conv2d(1, 64, (9, 9), (1, 1), (4, 4)),
      nn.ReLU(True)
    )
    # Non-linear mapping layer.
    self.map = nn.Sequential(
      nn.Conv2d(64, 32, (5, 5), (1, 1), (2, 2)),
      nn.ReLU(True)
    )
    # Rebuild the layer.
    self.reconstruction = nn.Conv2d(32, 1, (5, 5), (1, 1), (2, 2))
    # Initialize model weights.
    self._initialize_weights()https://github.com/Lornatang/SRCNN-PyTorch/blob/main/model.py
ãåŠç¿ããŒã¿ã»ããã«ã¯å
ã®ç»åããã€ãªãã¢è£éããã€ãã¥ãŒããã¯è£éãçšããŠçž®å°ããäœè§£å床ç»å (LR) ã®ãã¢ãçšããŠããŸãã
ãæå€±é¢æ°ãšããŠå¹³åäºä¹èª€å·® ïŒMSEïŒãçšããŸããåæ§ç¯ãããé«è§£å床ç»åãšå®éã®é«è§£å床ç»åãšã®å·®ãæå°åããŸãã
ãã®ãããªã·ã³ãã«ãªã¢ãŒããã¯ãã£ã§ãæå€ãšé«ãå質ã®ç»åãçæããããšãå¯èœãšãªã£ãŠããŸãã

ããã®ããã« ç°¡å㪠3 å±€ã»ã©ã® CNN ãçšãããããã¯ãŒã¯ã¢ãŒããã¯ãã£è¶ è§£åãã§ããŠããããšãããããŸãããã® CNN ã¯ãããŸã§å€ãã®èšç®è³æºãå¿ èŠãšããªãã·ã³ãã«ãªæ§é ã§ããã SRCNN ãçšããããšã§é«ç»è³ªãªç»åãåŸããããã§ãã
åé¡ç¹
衚çŸåã®åé¡
ãããããSRCNN ãçšããè¶ è§£åãããèŠãŠã¿ããšããŒãããŠããããšãããããŸããããã¯CNN ã®è¡šçŸåãšäººéã®ç¥èŠã«å€§ããªãããããããšãæå³ããŠããŸããSRCNN ã§ã¯ãããã¯ãŒã¯ã 3 å±€ã§ããããã衚çŸåãéãããŠããããšãçç±ã«æãããããã§ãã
ããŒã¿ã»ããã®åé¡
ããŸããããèããŠã¿ããšãããããåŠç¿ããŒã¿ã»ããã®ãã¢ã«ãå®ç»åãšãã€ãªãã¢è£éããã€ãã¥ãŒããã¯è£éãçšããŠçž®å°ããäœè§£å床ç»å (LR) ã®ãã¢ãçšããããšãæ£ãããïŒãšããçåãæ®ããŸãããã
èšç®ã³ã¹ãã®åé¡
ãããã«ãããŒã¿ã»ãããçšæããéã«äœ¿çšããèšç®ãããã¯ã«ãªã£ãŠããŸããšããããšããããŸãããã€ãªãã¢è£éããã€ãã¥ãŒããã¯è£éã®èšç®ã³ã¹ããæå€ãšå€§å€ã ã£ããããŸãã
解決çãšæ¬¡åäºå
ããšããããã§ããã®åé¡ç¹ãäœãšããããã®ã§ãããã ãã¶é·ããªãã®ã§ã次åã«ç¶ããŸãã
åèæç®
æåŸã«
ãæåŸãŸã§èªãã§ããã ãããããšãããããŸãããã¢ããã¹ã±ãŒãªã³ã°ã®åºæ¬ãã CNN ãçšããè¶ è§£åãŸã§ã®å€§ãŸããªæµããæžããŸãããæ¬¡åã¯ãã® SRCNN ã®åŸç¶çã§ãã SRGAN , Real-ESRGAN , DiffBir ã«ã€ããŠã§ãã
ãæåŸã«å°ã宣äŒã§ããäž»ã®teftefãéå¶ãè¡ã£ãŠããdiscordãµãŒããŒãèŒããŸãããã®ãµãŒããŒã§ã¯MidjourneyãStble Diffusionã®ããã³ãããå ±æããããç ç©¶ãããããŠããŸãããã²åå ããŠããçµµæãAIãæ¢ã£ãŠã¿ãŠã¯ãããã§ãããã(4,800 åïŒteftef)
ãââãããããããã°ãã®èšäºãšéçºã®æ¯æŽãé¡ãããããŸãïŒ
â»æ³šæ :ãæ¯æŽããŠãã ããæ¹ãž
ãâ»æ³šæ :ããããå ã¯äœãå 容ããããŸããããããããã®èšäºããèªã¿ããã ããè¯ãã£ããšæããŠããã ããã®ã§ããã°ããã®èšäºãšéçºã®æ¯æŽãé¡ãããããŸãïŒ