Sketch 2 Code – Nakreslite funkčnú webstránku!

Niet pochýb o tom, že umelá inteligencia sa čoraz častejšie stáva bežnou súčasťou nášho života. Či už je to pri označení ľudí na fotke, rozpoznaní vášho hlasu v banke alebo detekcií písaného slova, AI (artificial intelligence – umelá inteligencia) sa využíva na tie najrozličnejšie účely. Jednou zo stránok, ktoré nás oboznamujú s množstvom oblastí, kam táto technológia preniká, je i Microsoft AI Lab. Táto stránka nielen ukazuje rôzne priekopové projekty využívajúce umelú inteligenciu, no sprostredkúva aj materiály pre ich pochopenie. V tomto blogu som si z tejto stránky vzal na zreteľ jeden veľmi zaujímavý projekt – Sketch 2 Code.

Čo je Sketch 2 Code?

Sketch to code je webová aplikácia, ktorá dizajnérom webstránok uľahčuje ich prácu. Každý dizajn totiž začína náčrtom, ako by stránka mala vyzerať. Ďalším krokom je tento dizajn previesť do funkčného HTML kódu, čo je pomerne zdĺhavý proces.

Práve preto tím vývojárov Sketch 2 Code vytvorili webstránku, kde stačí nahrať obrázok vášho náčrtu a môžete si vyložiť nohy – múdre algoritmy a umelá inteligencia v cloude sa o všetko ostatné postarajú za vás. Stránka vám poskytne HTML kód na stiahnutie, ktorý priamo zodpovedá vášmu náčrtu. Taktiež vám zobrazí náhľad, ako tento kód bude reálne vyzerať, takže si ju viete porovnať s vašim náčrtom a prípadne ho vycibriť a znova nahrať.

Ukázanie, čo Sketch 2 Code dokáže

Používanie Sketch 2 Code

Na stránku sa dostanete cez tento link: https://sketch2code.azurewebsites.net/. Používanie stránky je veľmi intuitívne. Môžete buď použiť vlastný náčrt stránky, alebo ak máte naponáhlo a chcete si stránku len vyskúšať, môžete použiť jeden zo vzorových náčrtov.

Rôzne spôsoby, ako nahrať náčrt

Ak si zvolíte odfotenie náčrtu, obrázok viete dodatočne orezať.

Ako orezať odfotený náčrt

Keď ste obrázok ľubovoľným spôsobom nahrali, bleskovou rýchlosťou sa spracuje a zobrazí sa vám stránka s výsledkami, na ktorej sa nachádzajú nasledovné tlačidlá :

Tlačidlá, čo sa zobrazia po odoslaní obrázka

Ľavým tlačidlom sa sťahuje HTML kód vašej stránky. Dolným tlačidlom viete nahrať nový návrh a pravé tlačidlo vám zobrazí, čo si umelá inteligencia o vašom návrhu myslela (nie, nepovie vám, aký (ne)máte krásny pravopis 😊). V tomto zobrazení sú v prostrednom obrázku vyznačené všetky rozpoznané prvky vášho dizajnu, ako aj to, na koľko percent si umelá inteligencia pri jednotlivých prvkoch verila, že ich predpovedala správne.

Čo si Sketch2Code o vašom náčrte myslí

Na čo dbať pri dizajne

Pri experimentovaní s touto stránkou som si všimol pár vecí, na ktoré je dobré brať ohľad pri kreslení vášho náčrtu.

Ako prvé je dôležité vedieť, ako jednotlivé HTML prvky vyznačiť:

  • Obrázky  sa naznačujú obdĺžnikom s krížom na uhlopriečkach. Tento obrázok, ako aj css štýl stránky sú poskytované z internetu, čiže sa budú nesprávne zobrazovať bez pripojenia na internetovú sieť.
  • Tlačidlá sa označujú obdĺžnikom s textom vo vnútri.
  • Textové polia, do ktorých sa dá písať, sú prázdne obdĺžniky.
  • Zástupný text (lorem ipsum) sa označuje viacerými linajkami. Ak ste o lorem ipsum ešte nepočuli, jedná sa o bežnú prax webových návrhárov, ktorý tento zdanlivo nezmyselný text používajú ako dočasnú náhradu, kým sa napíše skutočný text pre dané miesto.
  • Konkrétny text môžete priamo napísať do dizajnu. V závislosti od jeho pozície, veľkosti a dĺžky mu umelá inteligencia pridelí jeden z rôznych textových tagov ako nadpis <h1>,  odstavec <p> alebo označenie <label>. Možno vám niekedy prebehlo hlavou, prečo všetok text jednoducho neoznačiť tým istým tagom? Odpoveď je SEO – search engine optimization. Táto optimalizácia webstránky pre vyhľadávače ako Bing či Google je nevyhnutná, aby správne pochopili obsah stránky. Napríklad sa môžu dovtípiť, že istý text je názov stránky, ak je uzavretý v tagu <h1>. Používanie správnych tagov je rovnako nevyhnutné pre čítačky stránok, ktoré používajú zrakovo znevýhodnení pre surfovanie na webe. Tento špeciálny softvér aj vďaka tagom určuje obsah a rozloženie stránky a vie ho slovne opísať – „Táto stránka má hornú lištu s menu a práve zobrazuje článok s 400 slovami, ktorý sa volá..“
  • Začiarkovacie políčko (checkbox) je malý štvorec naľavo od textu. Všimol som si, že tento štvorček (dosť humorne) býva zároveň rozpoznaný ako písmenko D.
Poznávacie znamenia sú však iba začiatok!

Aplikácia je citlivá aj na vzdialenosti a otočenie jednotlivých prvkov.  Okolo každého prvku sa snaží totiž vytvoriť tzv. bounding box – vodorovný ohraničujúci obdĺžnik, v ktorom sa nachádza celý rozpoznaný prvok. Ak sú prvky príliš blízko jeden k druhému, môže si ich algoritmus nechcene spojiť dokopy alebo zle rozoznať. Ak máte teda dizajn, v ktorom je veľa prvkov, rozdeľte ho radšej do dvoch obrázkov.

Rozpoznanie ohraničujúcich obdĺžníkov

Nie ste si istý, že vaše náčrty tieto kritéria splnia? Napadol mi trik, ktorý som inde na internete nikde nevidel. Nakreslite váš náčrt na počítači! Napríklad v skicári viete perfektné úsečky kresliť podržaním klávesy SHIFT popri tom, ako používate nástroj na kreslenie čiar.

Nástroj na čiary v aplikácií Skicár

Taktiež je lepšie nepísať s diakritikou, nakoľko Sketch 2 Code nie je globálny produkt, a tak podporuje len anglické znaky. No o to viac dôvodov si precvičiť angličtinu!

Pod kapotou

Zdá sa to takmer ako mágia, že tejto stránke jednoducho poskytneme obrázok a ona nám z neho za pár okamihov vytvorí niečo zmysluplné. Pozrime sa stručne, aké tajomné technológie za touto mágiou ležia.

Sketch 2 Code pre svoje živobytie využíva rôzne technológie cloudovej platformy Azure od spoločnosti Microsoft. Táto platforma ponúka vývojárom rôzne služby na spravovanie, vývoj alebo hosťovanie všemožných aplikácií. Z týchto služieb Sketch 2 Code využíva napríklad Cognitive Services, či Blob Storage, ako je zrejmé z obrázku zo stránky Sketch2Code na AI Lab:

Štruktúra, ako Sketch2Code funguje

  • Cognitie services

    (kognitívne služby) je sada služieb využívajúcich umelú inteligenciu na ich funkciu. Spomedzi nich využíva Sketch 2 Code presne povedané službu Custom Vision – vlastné videnie. Vývojári túto službu učia rozpoznávať konkrétne objekty v obrázkoch, v našom prípade HTML tagy. Taktiež sa tu využíva OCR (optical character recognition – optické rozpoznávanie znakov) na prevedenie ručne písaného textu do počítačovej podoby.

  • Blob storage

    („blobové“ úložisko) je cloudové úložisko dát v Azure. Slovo blob v angličtine znamená niečo ako zhluk veľkej masy a práve odtiaľ tento názov pôvodne vznikol. No počítačoví vedci obľubujú skratky, a tak si zmysleli, že BLOB bude skratka pre Binary Large OBject – veľký binárny objekt.

Veľkou výhodou Azure je, že tieto služby môžu bežať v cloude v celej svojej podobe: Po nahratí našej skice na stránku sa tento obrázok odošle do cloudu, teda do jedného z viac ako 140 dátových centier spoločnosti Microsoft po celom svete:

Mapa dátových centier spoločnosti Microsoft

V týchto obrovských halách plných počítačov sa tento obrázok spracuje, čiže sa spomínané služby pustia bleskovou rýchlosťou do práce. Výsledný HTML kód a iné pre nás podstatné informácie sa cez internet pošlú naspäť stránke, ktorá nám ich následne zobrazí.

Vďaka cloudu tu limitujúcim faktorom nie je ani pamäť, ani výpočtový výkon (v Azure sa dajú nastaviť pomocou pár klikov), no jedine rýchlosť nášho internetového pripojenia. Vývojári v Azure si navyše dali záležať na tom, aby boli ich služby čo najjednoduchšie na použitie. Preto tvorcovia Sketch 2 Code nemuseli napríklad vedieť ako presne funguje zložitá matematika, ktorá tvorí Custom Vision. Stačilo im vedieť, ako túto umelú inteligenciu naučiť rozpoznávať HTML tagy v obrázkoch (na to jej museli poskytnúť spustu trénovacích náčrtov a popisy k nim, kde v týchto obrázkoch sa nachádza aký tag, zjednodušene povedané).


Oslovila vás tematika Azure alebo priam čo všetko pomocou Cognitive Services dokážete vytvoriť? Tak neváhajte sa pozrieť na Microsoft Learn! Nájdete tam nielen vysvetlenia do hĺbky, čo všetko Azure alebo Cognitive Services ponúkajú, ale aj náučné materiály, v ktorých sa danú tému krok po kroku učíte na konkrétnych príkladoch! A kto vie, možno jedného dňa potom aj vy samy vytvoríte aplikáciu, ktorá zmení tento svet 🙂

Ak sa ti článok páčil, určite budeme radi za jeho zdieľanie

LinkedIn
Facebook
Twitter
WhatsApp
Email

Ďalšie články, ktoré by ťa mohli zaujať

Bezpečnosť
Peter Lehocký

#3 Bezpečnosť na internete: Všeobecne platné tipy a rady

V prechádzajúcich dvoch článkoch sme si predstavili bezpečnostné hrozby a podvody, ktoré na vás čakajú na internete. V dnešnom článku si predstavíme opatrenia, ktorými takéto hrozby minimalizujete, situácie, v ktorých sú vaše citlivé dáta v najväčšom nebezpečenstve, a tiež to ako po sebe na internete zanechávať čo najmenej stôp. Opatrení,

Čítať ďalej >
IoT
Tomáš Zajíc

Práce študentov 2. semestra ŠTC 2023 – Snímač v simulovanom prostredí Raspberry Pi

V druhom semestri programu ŠTC Microsoft sa naši študenti mohli venovať IoT alebo programovaniu. Martina Inkábová je ďalšou z tých, ktorí sa vydali práve cestou IoT. Náplňou jej výstupného projektu bolo vytvoriť snímač v simulovanom priestore Raspberry Pi kontrolujúci teplotu a vlhkosť v miestnosti – podstatné faktory pre komfort a zdravie ľudí. Napriek tomu,

Čítať ďalej >

2 Odpovede

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Pokračovaním v prehliadaní blogu súhlasíte s používaním súborov cookies. Viac sa o nich môžete dozvedieť na podstránke Zásady ochrany osobných údajov.
Pokračovaním v prehliadaní blogu súhlasíte s používaním súborov cookies. Viac sa o nich môžete dozvedieť na podstránke Zásady ochrany osobných údajov.