Olùfẹ̀ Àwòrán Ọ̀fẹ́

Fẹ̀ fọ́tò kan sí ìlọ́po mẹ́rin pẹ̀lú àwòṣe AI tí ń ṣiṣẹ́ lórí ẹ̀rọ tìrẹ — àwọn etí tó yé kedere àti ọ̀rọ̀ tí a lè kà, kì í ṣe pé àwọn pixels wọ̀nyí kàn tóbi sí i. A kò gbé ohunkóhun sórí ayélujára, kò sí àkọọ́lẹ̀, kò sì sí àmì omi.

Sọ àwọn fáìlì sílẹ̀ níbí, tàbí tẹ láti wá

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · Kò sí ìdiwọ̀ ìwọ̀n fáìlì

tàbí tẹ Ctrl+V láti fi lẹ̀ mọ́ láti clipboard rẹ

O lè sọ ọ̀pọ̀lọpọ̀ fáìlì sílẹ̀ ní ìgbà kan

Wá àwọn fáìlì
Real-ESRGAN ń tún àlàyé kọ ní ìlọ́po mẹ́rin dípò kí ó ná àwọn pixels. Àwòṣe 4.6 MB náà ń gba ẹ̀ẹ̀kan lẹ́yìn náà ó máa ń ṣiṣẹ́ pátápátá lórí ẹ̀rọ yìí — fọ́tò rẹ kò ní gbé sórí ayélujára rárá.

Bí Ó Ṣe Ń Ṣiṣẹ́

Olùmú-ìdí-jáde náà ń lo Real-ESRGAN general-x4v3 — nẹ́tíwọ́ọ̀kì super-resolution convolutional 4.6 MB kan — nípasẹ̀ onnxruntime-web nínú Web Worker kan lórí ẹ̀rọ rẹ. A gba àwòṣe náà lẹ́ẹ̀kan láti ọwọ́ sáfà tiwa fúnra rẹ̀, a sì fi í pamọ́, a sì ń lò ó láìsí ìsopọ̀ lẹ́yìn náà; a pín àwòrán rẹ sí canvas kan ládùúgbò, kò sì gbé e sókè láé. Ìdí ìwọ̀n náà dájú sí 4×, nítorí a ti kọ́ ọ sínú igi náà ní ibi méjì.

  1. 1
    A gé àwòrán náà sí àwọn tile tí ó dàpọ̀ mọ́ ara wọn
    Àbájáde 4× jẹ́ ìlọ́po mẹ́rìndínlógún àwọn pixel, nítorí náà fọ́tò 4000×3000 kan yóò jẹ́ megapixel 192 — tí ó tó láti pa tábù aṣàwákiri run pátápátá dípò kí ó fi ẹ̀ dín lọ́ra nìkan. Dípò bẹ́ẹ̀ a ń pín àwòrán náà sí àwọn ẹ̀ka tí ó bò ó gan-an, a sì ka ẹ̀ka kọ̀ọ̀kan pẹ̀lú àfikún àyè-ọ̀rọ̀ lórí gbogbo ẹ̀gbẹ́ nítorí náà ìkó convolution (tí àyè rẹ̀ jẹ́ pixel 34) ní àwọn pixel adúgbò gidi láti ṣiṣẹ́ pẹ̀lú. A ń ṣe àwọn ààlà pẹ̀lú edge-replication, a kì í fi odo pad wọn láé, èyí tí yóò mú kí àwòṣe náà mú ìlà dúdú yíká férémù náà mú.
  2. 2
    A kó tile kọ̀ọ̀kan gẹ́gẹ́ bí tensor RGB planar
    Tile kan di tensor float32 ti àpẹẹrẹ [1, 3, H, W] pẹ̀lú àwọn ọ̀nà pupa, ewé àti aró tí a fi pamọ́ gẹ́gẹ́ bí àwọn plane ọ̀tọ̀ọ̀tọ̀ àti àwọn iye tí a pín gbà 255 lásán — kò sí ìjọ́wọ́ ìwọ̀n-àpapọ̀/ìyàtọ̀ kankan. A fi pad tile kọ̀ọ̀kan sí ìwọ̀n onígun mẹ́rin kan náà gan-an, nítorí ẹ̀yìn WebGPU ń tún kọ́ àwọn shader rẹ̀ fún ìrísí ìbáwọlé tuntun kọ̀ọ̀kan ètò kan tí ó ní ìwọ̀n tile mẹ́ta tí ó yàtọ̀ yóò sanwó iye owó yẹn ní ìgbà mẹ́ta.
  3. 3
    Ìdájú ń ṣiṣẹ́ lórí WebGPU níbi tí ó bá wà, bí bẹ́ẹ̀ kọ́ lórí CPU
    A ń ṣẹ̀dá ìjókòó náà pẹ̀lú WebGPU kọ́kọ́ ó sì ń padà sí WebAssembly ọ̀nà-kan lórí àṣìṣe èyíkéyìí — àwọn driver àwòrán sábà máa ń kéde ìtìlẹ́yìn tí wọ́n sì fi kùnà ní àárín kíkọ́ igi náà, ìyára kékeré ń ṣẹ́gun ṣíṣẹ́-bàjẹ́. Nítorí ìpadàbọ̀ náà ń yí ààlà ìwọ̀n gidi àti àkókò ìṣiṣẹ́ padà ní iye ńlá, irinṣẹ́ náà ń tún ṣàyẹ̀wò iṣẹ́ náà lòdì sí olùpèsè èyíkéyìí tí ó gan-an gbà kí tile àkọ́kọ́ tó ṣiṣẹ́, ó sì sọ fún ọ èyí tí ó lò lẹ́yìn náà.
  4. 4
    A tún so àwọn tile pọ̀ pẹ̀lú ìdàpọ̀-ìyípadà a sì dá wọn dúró
    Sísopọ̀-tile-lásán ń fi grid tí ó hàn sílẹ̀, nítorí náà a ń fi ìwọ̀n sí ìdásí tile kọ̀ọ̀kan pẹ̀lú ìlà tààrà kan kọjá ọ̀wọ̀n tí a pín. Àwọn ìlà méjèèjì jẹ́ ìbámu gan-an, nítorí náà àwọn ìwọ̀n náà ń ṣàpapọ̀ sí 1 gan-an ní pixel ìtọjade kọ̀ọ̀kan kò sì sí ìlà tí ó mọ́lẹ̀ tàbí dúdú tí ó farahàn lẹ́gbẹ̀ẹ́ ìdàpọ̀ kan. A kì í gé ìtọjade gan-an àwòṣe náà nínú igi náà — àwọn iye tí a wọn ń lọ láti ìwọ̀n −0.18 sí +1.19 — nítorí náà a ń dá àpẹẹrẹ kọ̀ọ̀kan dúró sí àyè 0–255 kí ó tó cast 8-bit, èyí tí ó ń dí ìdíwọ́ fún àwọn àmì speckle lẹ́gbẹ̀ẹ́ àwọn igun ìyàtọ̀-gíga. Alpha ni a tún ṣe ìwọ̀n rẹ̀ lọ́tọ̀ọ̀tọ̀ àti bilinearly, nítorí nẹ́tíwọ́ọ̀kì náà fúnra rẹ̀ kò ní ọ̀nà alpha.
  5. 5
    A ṣe àmúlò àbájáde náà nínú worker náà
    A ń yà àwọn pixel tí a kó papọ̀ sí OffscreenCanvas kan a sì ń ṣe àmúlò rẹ̀ sí PNG lẹ́sẹ̀kẹsẹ̀, nítorí náà títẹ̀ Gbà kò ní àyè-tí-kò-bára-mu kankan níwájú rẹ̀. Yíyí padà sí JPG ń tún ṣe àmúlò láti canvas tí worker náà ṣì ń dì mú dípò kí ó tún ṣiṣẹ́ àwòṣe náà. A tún ń ya àpẹẹrẹ àárín kékeré kan ní 100% lẹ́gbẹ̀ẹ́ agbègbè kan náà tí aṣàwákiri ti tún ṣe ìwọ̀n rẹ̀, èyí tí ó jẹ́ ìfiwéra kan ṣoṣo tí ìyàtọ̀ 4× ti farahàn gan-an.

A gba àwọn ìwọ̀n àwòṣe náà lẹ́ẹ̀kan láti sáfà tiwa fúnra rẹ̀ a sì fi wọ́n pamọ́; a pín, tile, mú ìdí jáde, tí a sì ṣe àmúlò àwòrán rẹ pátápátá nínú aṣàwákiri rẹ, kò sì sí apá rẹ̀ tí ó fi ránṣẹ́ síbikíbi láé.

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè