Régi fotó javítása, arcok élesítése
Megkeressük a képen az arcokat, és külön-külön kiélesítjük őket — a tömörítés és a beszkennelés lágyságát tüntetjük el, nem új arcvonásokat rajzolunk. A fotó közben végig a te eszközödön marad.
Húzd ide a fotót, vagy válassz fájlt
JPG, PNG vagy WebP. A kép a böngésződben marad — nem töltjük fel sehová.
Egyszerre több fotót is behúzhatsz — legfeljebb tízet. A készeket egy ZIP-ben töltheted le.
Az első futásnál a böngésződ letölt körülbelül 18 MB modellt és futtatókörnyezetet. Ez egyszeri lépés: utána a gyorsítótárból jön elő, és az eszköz offline is működik.
Mit csinál pontosan?
Három lépés, és mind a három a te böngésződben fut le. Először egy apró arcfelismerő-hálót futtatunk a képen: ez adja meg, hol vannak az arcok, és hol van a két szem — utóbbiból tudjuk, mekkora és mennyire ferde a fej. Aztán minden arc köré kivágunk egy négyzetet, és külön-külön átfuttatjuk egy felbontásnövelő neurális hálón. Végül a kész arcot egy lágy, ovális maszkon keresztül illesztjük vissza a fotóra, hogy ne legyen látható a vágás pereme.
Az arcot nem a teljes felbontásán adjuk a modellnek, hanem tudatosan kisebben. Ez elsőre visszásnak hangzik, de megmértük: a modell arra van betanítva, hogy egy négyszeres kicsinyítést fordítson vissza, ezért olyan bemenetet vár, amiben a valódi információ a végeredmény negyede. Egy elmosódott, 300 képpontos arc nem 300 képpontnyi információ — nagyjából 100, amit már egyszer felnagyítottak. A negyedelt változatból jobb kép jön ki, és harmincszor gyorsabban.
Amit nem csinál — és ez a lényeg
Nem talál ki arcvonásokat. Ez a legfontosabb mondat az oldalon. Vannak eszközök, amelyek egy húsz képpontos foltból teljes, éles portrét „varázsolnak" — azok nem visszaállítják az arcot, hanem rajzolnak egy valószínűt a helyére, és az eredmény rendszeresen nem is hasonlít a lefotózott emberre. Nálunk ilyen nem történhet: a modell, ami itt fut, általános felbontásnövelő, nincs fogalma arról, hogy arcot lát, és nem tud olyan részletet hozzáadni, aminek nincs nyoma a képpontokban.
Nem retusál. A karcolás, a szakadás, a gyűrődés, a penészfolt és a kifakult szín mind ott marad. Ez az eszköz a lágyságot és a tömörítési zajt tünteti el, nem a fizikai sérülést. A fekete-fehér képet sem színezi ki.
Hol bukik el az arckeresés. Profilból nézett fejeken, nagyon apró arcokon (a csoportkép hátsó sorában), erős ellenfényben, a bekeretezett fotó üvegén megcsillanó fényben, szemüveg tükröződése mögött és bemozdult felvételeken. Ha nem találunk arcot, azt megmondjuk, és nem adunk vissza egy „feldolgozott" képet, ami valójában ugyanaz.
Miért nincs itt „AI arcrekonstrukció"
Mert egyiket sem lehet tisztán, kereskedelmi termékben használni. Végignéztük a szakma összes ismert arcvisszaállító modelljét, és a súlyok licence mindegyiknél elbukott: van, amelyik kifejezetten nem kereskedelmi (CodeFormer), van, amelyiknek a szerzője maga vette le a jobb változatot „kereskedelmi okokra" hivatkozva (GPEN), és van, amelyik Apache-licencet hirdet, de a saját licencfájljában sorolja fel azokat a részeit, amikre „csak kutatási vagy kiértékelési célra" vonatkozó feltételek élnek (GFPGAN). Egy továbbközlő nem adhat olyan jogot, amit a szerzői jog tulajdonosa nem adott meg.
Az arcfelismerő, amit használunk, MIT-licencű, és a felbontásnövelő BSD-licencű — mindkettőnél a súlyokra is kiterjed az engedély, nem csak a forráskódra. Ez kevesebbet tud, mint amit a versenytársak ígérnek, viszont pontosan azt tudja, amit írunk róla. A teljes licenclánc a fejlesztői dokumentációnkban végigkövethető.
Gyakori kérdések
Feltöltődik a fotóm valahová?
Nem. A felismerés és a javítás is a böngésződben fut, a te gépeden. Csak akkor kerül fel bármi, ha te magad a „Megosztás linkkel" gombra kattintasz. Ez családi fotóknál nem apróság: a képet senki nem látja rajtad kívül.
Miért nem lett szebb a nagyapám arca?
Mert ez az eszköz nem rajzol újra arcot. Ha az eredetin az arc harminc képpont, akkor abban nincs elég információ ahhoz, hogy szem, orr és száj kivehető legyen — és amit más eszközök odarajzolnak, az nem a nagyapád. Nálunk a kép élesebb és tisztább lesz, de az arc annyi marad, amennyi.
Több arcot is felismer egy csoportképen?
Igen, egyszerre legfeljebb 12 arcot dolgozunk fel, a legmagasabb találati pontszámúakat — csoportképen ezek egyben a legnagyobbak és a legközelebbiek. Ha ennél többet találunk, megírjuk, hányat hagytunk ki.
Mire jó a 2× és a 4× beállítás?
Arra, hogy az egész képet felnagyítsuk, ne csak az arcokat élesítsük. Ez ugyanaz a motor, ami a képfelbontás-növelőben fut, és ugyanannyi ideig tart: egy 2 megapixeles fotó négyszerese asztali gépen is percekben mérhető. Ha nincs rá szükséged, hagyd „Eredeti méret" beállításon — az másodpercek kérdése.
Mekkora képet fogad el?
Eredeti méretben legfeljebb 24 megapixelt és 8000 képpontos hosszabbik oldalt — ebbe egy 600 DPI-s szkennelés is belefér. Ha nagyítást is kérsz, 16 megapixel és 4096 képpont a határ, mert onnantól a nagyítómotor korlátai érvényesek.
Miért lassú az első futás?
Mert ilyenkor tölti le a böngésződ a két modellt és a futtatókörnyezetet, körülbelül 18 MB-ot. Ez egyszeri lépés, utána a következő fotóknál már nem ismétlődik.
A használt modellek:YuNet (MIT, © Shiqi Yu)Real-ESRGAN realesr-general-x4v3 (BSD-3-Clause, © Xintao Wang)