Μετάβαση στο κύριο περιεχόμενο
LibraTool logoLibraTool

Μεγέθυνση εικόνας δωρεάν

Μεγεθύνετε μια φωτογραφία 4× με μοντέλο τεχνητής νοημοσύνης που τρέχει στη δική σας συσκευή — πιο καθαρές άκρες και ευανάγνωστο κείμενο, όχι απλώς μεγαλύτερα εικονοστοιχεία. Τίποτα δεν ανεβαίνει, χωρίς λογαριασμό και υδατογράφημα.

Αποθέστε αρχεία εδώ ή κάντε κλικ για αναζήτηση

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · επεξεργάζεται στη συσκευή σας

ή πατήστε Ctrl+V για επικόλληση από το πρόχειρο

Μπορείτε να αποθέσετε πολλά αρχεία ταυτόχρονα

Αναζήτηση αρχείων
Το Real-ESRGAN ξανασχεδιάζει λεπτομέρεια στα 4× αντί να τεντώνει pixel. Το μοντέλο των 4.6 MB κατεβαίνει μία φορά και μετά εκτελείται εξ ολοκλήρου σε αυτήν τη συσκευή — η φωτογραφία σας δεν ανεβαίνει ποτέ.

Πώς λειτουργεί

Ο upscaler εκτελεί το Real-ESRGAN general-x4v3 — ένα συνελικτικό δίκτυο υπερ-ανάλυσης 4,6 MB — μέσω onnxruntime-web μέσα σε Web Worker στον δικό σας υπολογιστή. Το μοντέλο λαμβάνεται μία φορά από τον δικό μας διακομιστή, αποθηκεύεται και χρησιμοποιείται έπειτα εκτός σύνδεσης· η φωτογραφία σας αποκωδικοποιείται σε canvas τοπικά και δεν μεταφορτώνεται ποτέ. Ο συντελεστής κλίμακας είναι σταθερός στο 4×, επειδή είναι ενσωματωμένος στον γράφο σε δύο σημεία.

  1. 1
    Η εικόνα κόβεται σε επικαλυπτόμενα πλακίδια
    Ένα αποτέλεσμα 4× έχει δεκαέξι φορές τα pixels, οπότε μια φωτογραφία 4000×3000 θα γινόταν 192 megapixels — αρκετό για να καταρρεύσει η καρτέλα του browser αντί απλώς να επιβραδυνθεί. Αντίθετα, η εικόνα χωρίζεται σε πυρήνες που την καλύπτουν ακριβώς και κάθε πυρήνας διαβάζεται με επιπλέον περιθώριο πλαισίου σε κάθε πλευρά, ώστε η στοίβα συνελίξεων (με πεδίο υποδοχής 34 pixels) να έχει πραγματικά γειτονικά pixels. Τα άκρα αναπαράγονται από τα όρια, ποτέ με μηδενικό συμπλήρωμα, που αλλιώς θα έκανε το μοντέλο να οξύνει ένα μαύρο περίγραμμα γύρω από το κάδρο.
  2. 2
    Κάθε πλακίδιο πακετάρεται ως επίπεδος τανυστής RGB
    Ένα πλακίδιο γίνεται τανυστής float32 σχήματος [1, 3, H, W] με τα κανάλια κόκκινο, πράσινο και μπλε σε ξεχωριστά επίπεδα και τις τιμές απλώς διαιρεμένες με 255 — χωρίς κανονικοποίηση μέσου/τυπικής απόκλισης. Κάθε πλακίδιο συμπληρώνεται στο ίδιο ακριβώς τετράγωνο μέγεθος, επειδή το backend WebGPU μεταγλωττίζει ξανά τους shaders για κάθε νέο σχήμα εισόδου και ένα πλάνο με τρία διαφορετικά μεγέθη πλακιδίων θα πλήρωνε αυτό το κόστος τρεις φορές.
  3. 3
    Η εκτέλεση γίνεται σε WebGPU όπου υπάρχει, αλλιώς στη CPU
    Η συνεδρία δημιουργείται πρώτα με WebGPU και μεταπίπτει σε μονονηματικό WebAssembly σε οποιαδήποτε αποτυχία — οι οδηγοί γραφικών συχνά δηλώνουν υποστήριξη και μετά αποτυγχάνουν στη μέση της κατασκευής του γράφου, και το πιο αργό είναι καλύτερο από το χαλασμένο. Επειδή η μετάπτωση αλλάζει κατά πολύ το ρεαλιστικό όριο μεγέθους και τον χρόνο εκτέλεσης, το εργαλείο ελέγχει ξανά την εργασία έναντι του provider που πραγματικά πήρε πριν από το πρώτο πλακίδιο και σας λέει ποιον χρησιμοποίησε στο τέλος.
  4. 4
    Τα πλακίδια ενώνονται ξανά με cross-fade και περιορίζονται
    Η απλή ένωση πλακιδίων αφήνει ορατό πλέγμα, οπότε η συνεισφορά κάθε πλακιδίου σταθμίζεται με γραμμική κλίση στην κοινή λωρίδα. Οι δύο κλίσεις είναι ακριβώς συμπληρωματικές, οπότε τα βάρη αθροίζουν ακριβώς 1 σε κάθε pixel εξόδου και δεν εμφανίζεται φωτεινή ή σκοτεινή γραμμή στη ραφή. Η ακατέργαστη έξοδος του μοντέλου δεν περιορίζεται μέσα στον γράφο — οι μετρημένες τιμές κυμαίνονται από περίπου −0,18 έως +1,19 — οπότε κάθε δείγμα περιορίζεται στο εύρος 0–255 πριν από τη μετατροπή σε 8-bit, κάτι που αποτρέπει κουκκίδες στις ακμές υψηλής αντίθεσης. Το alpha επαναδειγματοληπτείται χωριστά και διγραμμικά, επειδή το ίδιο το δίκτυο δεν έχει διαδρομή alpha.
  5. 5
    Το αποτέλεσμα κωδικοποιείται στον worker
    Τα συναρμολογημένα pixels σχεδιάζονται σε OffscreenCanvas και κωδικοποιούνται αμέσως σε PNG, ώστε το πάτημα της Λήψης να μην έχει ασύγχρονη καθυστέρηση. Η αλλαγή σε JPG επανακωδικοποιεί από το canvas που κρατά ακόμη ο worker αντί να εκτελέσει ξανά το μοντέλο. Αποδίδεται επίσης μια μικρή κεντρική περικοπή στο 100% δίπλα στην ίδια περιοχή κλιμακωμένη από τον browser, που είναι η μόνη σύγκριση όπου η διαφορά 4× είναι πραγματικά ορατή.

Τα βάρη του μοντέλου κατεβαίνουν μία φορά από τον δικό μας διακομιστή και αποθηκεύονται· η εικόνα σας αποκωδικοποιείται, χωρίζεται σε πλακίδια, μεγεθύνεται και κωδικοποιείται εξ ολοκλήρου μέσα στον browser σας, και κανένα μέρος της δεν αποστέλλεται ποτέ πουθενά.

Σχετικά εργαλεία

Συχνές ερωτήσεις