← Nazad na Blog

Izrada Refloow Photo Studio-a: Lokalna AI i obrada slika uz maksimalnu privatnost

6 min čitanja Kategorija: Softverska arhitektura

U eri kada svaki kreativni alat zahteva mesečnu pretplatu, stalnu internet konekciju i tretira vaš rad kao podatke za telemetriju, želeo sam da napravim nešto iz korena drugačije.

Refloow Photo Studio je nastao iz želje da se stvori desktop editor fotografija koji je potpuno lokalan i na prvo mesto stavlja privatnost. Izazov je bio integrisati profesionalne funkcije—poput kompozicija slojeva i uklanjanja pozadine uz pomoć veštačke inteligencije—bez kompromisa po pitanju performansi i bez oslanjanja na eksterne API-je.

Arhitektura: Electron susreće Canvas

Kako bi se osigurala kompatibilnost na različitim platformama (Windows, macOS i Linux), osnova aplikacije je izgrađena koristeći Electron framework u kombinaciji sa Node.js-om. Ovo mi je omogućilo da iskoristim veb tehnologije zadržavajući pri tome mogućnosti nativnih desktop aplikacija.

Ceo vizuelni radni prostor vrti se oko napredne HTML5 Canvas implementacije. Bilo da korisnik primenjuje jedan od 40+ profesionalnih filtera, prilagođava kontrast, ili prevlači i spušta elemente u kompoziciju sa više slojeva, celokupno renderovanje se izračunava strogo u memoriji na računaru klijenta. Za preciznu manipulaciju slikom i kontrolu razmere, integrisao sam Cropper.js direktno u proces obrade, obezbeđujući savršene granice pre izvršavanja bilo kakve logike renderovanja.

Dovođenje AI-a direktno na uređaj

Najzahtevnija tehnička prepreka bila je implementacija uklanjanja pozadine jednim klikom bez slanja korisničkih slika na udaljeni server. Moderni editori fotografija obično komuniciraju sa cloud API-jem za obradu složenih maski, što unosi kašnjenje i krši stroge principe privatnosti.

Rešenje je bilo korišćenje ONNX Runtime Web-a. Ugrađivanjem moćnog U-2-Netp modela mašinskog učenja direktno u samu aplikaciju, Refloow Photo Studio obavlja inferenciju u potpunosti lokalno. CPU/GPU obrađuje složenu matricu za detekciju ivica i maskiranje direktno na desktopu. To je vrhunski primer kako lokalne veb tehnologije smanjuju jaz u odnosu na teške, nativne C++ binarne fajlove.

Upravljanje stanjem i potpuni WYSIWYG

Editor fotografija je beskoristan ako ne možete bezbedno da pravite greške. Projektovao sam robustan sistem za upravljanje stanjem (state-management) koji prati do 15 uzastopnih akcija, serijalizujući stanja canvasa kako bi se omogućila besprekorna Undo/Redo funkcionalnost.

U sprezi sa ovim je mehanizam eksportovanja. Snažno sam se fokusirao na "Apsolutni WYSIWYG" (Što vidiš, to i dobiješ) sistem čuvanja. Kada korisnik eksportuje svoj rad, aplikacija izravnava Z-indekse slojeva i rasterizuje primenjene WebGL filtere u blobu slike visokog kvaliteta, zaobilazeći standardne artefakte kompresije pretraživača kako bi se održao profesionalni nivo.

Refloow Photo Studio stoji kao open-source (GNU AGPL-3.0) dokaz činjenice da brzi, moćni i potpuno privatni kreativni alati nisu stvar prošlosti—samo čekaju da budu napravljeni.