1. 1879 m. „McLoughlin Brothers“ prieš šiuolaikinių debesų absurdą

1879 metais Niujorko leidykla „McLoughlin Brothers“, bendradarbiaudama su garsia iliustruotoja Kate Greenaway, išleido knygelę The Little Folks' Painting Book. Tai buvo pirmoji pasaulyje tikslinė vaikų spalvinimo knyga, sukurta remiantis elegantišku ir paprastu principu: švarus juodas rašalas ant balto popieriaus, aiškiai apibrėžtos tuščios zonos ir nulis vizualinio triukšmo, kad vaikas galėtų sutelkti dėmesį į akvarelės ar vaškinių kreidelių liejimą. Daugiau nei šimtmetį kokybiško spalvinimo piešinio standartas išliko nepakitęs – aiškus, storas kontūras, atpažįstami siluetai ir jokių nereikalingų šešėlių.

Tačiau pažvelkite į šiuolaikinį Silicio slėnio startuolių pasaulį: elementariam nuotraukos pavertimui linijiniu piešiniu sukuriami „dirbtinio intelekto“ debesų servisai, reikalaujantys 29 dolerių mėnesinės prenumeratos, priverstinės registracijos ir vartotojo sutikimo siųsti privačias šeimos bei vaikų nuotraukas į trečiųjų šalių serverius. Dar blogiau – šių debesų generatorių rezultatas dažnai primena purviną pilką fotokopiją su trūkinėjančiomis linijomis ir pilku taškuotu fonu, kurio neįmanoma atspausdinti ant paprasto namų spausdintuvo.

TOOL GIGA kategoriškai atmeta šį vartotojų klaidinimo modelį. Norint išgauti studijinės kokybės, spaudai paruoštą spalvinimo piešinį, nereikia nei neuroninių debesų fermų, nei kreditinės kortelės. Viskas, ko reikia – tai griežta, graži kompiuterinės regos matematika, kuri tiesiogiai jūsų naršyklės atmintyje suveikia per 30 milisekundžių. Be sekimo, be serverių išlaidų ir visiškai nemokamai.

2. Kompiuterinės regos fizika: kodėl standartiniai filtrai feilina?

Kiekvienas, bandęs sukurti spalvinimo piešinį paprastomis nuotraukų redagavimo programomis, žino neišvengiamą nusivylimą. Standartiniai briaunų išskyrimo filtrai, tokie kaip Sobel ar Canny, veikia skaičiuodami lokalius šviesumo gradientų išvestinius taškus. Realiose nuotraukose jie kiekvieną odos porą, megztinio siūlą, kilimo raštą ir švelnų skruosto šešėlį laiko „briauna“. Rezultatas – ne mielas spalvinimo paveikslėlis, o šiurpus zombių voratinklis, labiau primenantis teismo medicinos ekspertizės schemą nei vaikišką knygelę.

Paprasta posterizacija taip pat nepadeda: ji tik sukapoja tolygų apšvietimą į kietus šviesumo laiptelius, sukurdama aštrius dirbtinius žiedus ant veidų. Mūsų sukurtas variklis šią problemą sprendžia daugiapakopiu kompiuterinės regos konvejReplace:

  • Separabilus bilateralinis glotninimas (Bilateral Smoothing): Prieš ieškant linijų, vaizdas apdorojamas filtru, kuris atsižvelgia ne tik į pikselių geometrinį atstumą ($G_{\sigma_s}$), bet ir į jų fotometrinį panašumą ($G_{\sigma_r}$). Odos tekstūros, audinių raštai ir smulkus triukšmas akimirksniu išlyginami į švarias vienspalves plokštumas, tačiau pagrindinės veido, akių ir drabužių geometrinės briaunos išlieka tobulai aštrios.
  • Išplėstinis Gauso skirtumas (True XDoG): Išvalytam vaizdui pritaikoma tikroji XDoG formulė:
    D(x, y) = Gσ(x, y) - τ · Gkσ(x, y)
    čia k = 1.6, o slopinimo koeficientas τ ≈ 0.985. Matematiškai atimant du skirtingai sulietus Gauso laukus, visi tolygūs šešėliai ir fono gradientai anuliuojasi į gryną baltą spalvą (#FFFFFF). Lieka tik griežti, struktūriniai tamsos slėniai – grynos kontūrinės linijos.

3. Topologinė skeletonizacija: nuo pikselių iki glotnių Bézier kreivių

Gauti juodai baltą briaunų kaukę – tik pusė darbo. Jei tiesiog apvesite rasterines briaunas, gausite dvigubas linijas: vieną liniją kairiam potėpio kraštui, kitą – dešiniam. Spausdinant tokios tuščiavidurės linijos atrodo neprofesionaliai ir klaidina vaiką. Norint išgauti autentišką, ranka pieštą iliustraciją, būtina atlikti topologinę skeletonizaciją.

Mūsų algoritmas naudoja klasikinį Zhang-Suen lygiagretųjį retinimo algoritmą. Per dvi pakaitines fazes 8 kaimynų pikselių tinklelyje sluoksnis po sluoksnio nutrinami briaunų pikseliai, griežtai išsaugant geometrinį vientisumą ir Eulerio charakteristiką. Linijos susiaurinamos iki idealaus 1 pikselio pločio centrinio skeleto.

Šis 1 pikselio ašinis karkasas vėliau vektorizuojamas pritaikant du matematinius etapus:

  1. Ramer-Douglas-Peucker (RDP) taškų retinimas: Pašalina stačiakampius pikselių laiptus, atmesdamas perteklinius taškus pagal nustatytą statmeno atstumo toleranciją (ε). Tai sumažina koordinačių kiekį iki 80% neprarandant linijos formos.
  2. Chaikin algoritmas ir kvadratinės Bézier kreivės (SVG Q komandos): Taškai sujungiami per vidurio inkarus, paversdami aštrius pikselių kampus į glotnias, apvalias, ranka tušu pieštas kreives, kurios idealiai tinka lazerinėms staklėms ir didelio formato spaudai.

4. Flomasterio ergonomika: kodėl vaikams būtinos storos linijos?

Vaikų raidos specialistai pabrėžia, kad spalvinimas yra viena svarbiausių ankstyvosios smulkiosios motorikos lavinimo priemonių. Mažamečiai dar tik mokosi taisyklingo pieštuko suėmimo (perėjimo nuo delninio griebimo prie taisyklingo tripirščio). Jų rankų raumenų koordinacija ir judesių amplitudės kontrolė dar nėra pilnai susiformavusi.

Kai tėvai atspausdina spalvinimo piešinį su plonomis 0.5 px linijomis, vaikas greitai patiria nusivylimą. Vaikiško flomasterio ar vaškinės kreidelės galvutė yra 2–4 mm pločio. Plona linija nesuteikia jokio vizualinio ar psichologinio barjero: mažiausias rankos sudrebėjimas išveda spalvą už krašto, o vaikas praranda norą tęsti darbą.

Mūsų įrankyje įdiegtas interaktyvus Flomasterio linijos storio slankiklis (nuo 0.5 px iki 6.0 px). Pasirinkus režimą Vaikiškas spalvinimas (Kids Coloring), linijos automatiškai nustatomos į tvirtą 2.5–4.0 px storį. Šie sotūs juodi kontūrai sukuria aiškų barjerą, padeda vaikui išlaikyti spalvą zonos viduje ir skatina pasitikėjimą savo jėgomis. Vyresniems naudotojams ar grafikos entuziastams režimas Detalus tušas leidžia sumažinti storį iki 0.8 px preciziškam štrichavimui.

5. Nulinis debesų naudojimas: kodėl nuotraukos niekada nepalieka įrenginio

Kasdien milijonai asmeninių nuotraukų – vaikų šypsenos, šeimos šventės, mylimi augintiniai – siunčiamos į neaiškias interneto svetaines vien tam, kad būtų pritaikytas paprastas filtras. Išsiuntus nuotrauką į debesų serverį, prarandama kontrolė: kur ji bus išsaugota, kas turės prieigą prie biometrinių duomenų ir ar ji nebus panaudota komercinių DI modelių apmokymui.

TOOL GIGA veikia pagal griežtą nulinio debesų naudojimo standartą:

  • Kliento pusės vykdymas: Nuotrauką įkėlus į naršyklę, FileReader API ją nuskaito tiesiai į įrenginio darbinę atmintį (HTML5 Canvas).
  • Aparatinis našumas per TypedArray: Visi skaičiavimai, Gauso filtrai ir retinimo ciklai atliekami tiesiogiai naršyklės JavaScript variklyje per Float32Array ir Uint8Array masyvus.
  • Nulis tinklo užklausų: Jokie vaizdo baitai, failų pavadinimai ar metaduomenys neišsiunčiami internetu. Galite visiškai išjungti interneto ryšį ar įsijungti skrydžio režimą – įrankis veiks lygiai taip pat žaibiškai ir sklandžiai.

6. Kaip pasirinkti tinkamą nuotrauką: ryškumo taisyklės ir vektoriniai klipartai

Kompiuterinės regos algoritmai yra pavaldūs optinio kontrasto dėsniams. Išplėstinis Gauso skirtumas (XDoG) ieško staigių šviesumo pokyčių tarp gretimų pikselių. Jei įkeliate ryškią, aiškią nuotrauką, rezultatas bus nepriekaištingas. Tačiau įkėlus neryškų, tamsoje ar judesyje fotografuotą kadrą, algoritmas negali atspėti, kur turėtų būti tikroji briauna.

Keletas auksinių taisyklių idealiems rezultatams pasiekti:

  • Ryškus optinis fokusas (venkite suliejimo): Aštri briauna pasikeičia per 1–2 pikselius, o sulietos nuotraukos riba išsitęsia per 30–50 pikselių pilkumo perėjimą. Dėl to linijos gali tapti punktyrinės arba atsirasti nepageidaujami dvigubi kontūrai. Rinkitės gerai sufokusuotus kadrus.
  • Vektoriniai klipartai, iliustracijos ir komiksai konvertuojasi tobulai: Jei įkelsite vektorinį klipartą, animacinį personažą ar 3D modelio atvaizdą, įrankis per 15–30 ms pavers jį autorinio lygio Disney stiliaus spalvinimo piešiniu be jokio papildomo koregavimo.
  • Geras apšvietimas ir kontrastas: Dienos šviesoje ar studijoje darytos nuotraukos sukuria aiškias drabužių, plaukų ir veido ribas, todėl kontūrai bus vientisi ir švarūs.
  • Paprastas, neperkrautas fonas: Portretai vienspalviame ar tolygiame fone konvertuojasi švariausiai. Jei fonas per daug margas (pvz., tanki žolė ar medžių lapai), padidinkite Dulkių filtrą (Dust Cleaner) iki 25–40 arba apkarpykite nuotrauką prieš apdorojimą.