Η γωνία του Anderson

Πώς το Stable Diffusion θα μπορούσε να εξελιχθεί σε προϊόν για το ευρύ καταναλωτικό κοινό

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

Κατά ειρωνικό τρόπο, το Stable Diffusion, το νέο πλαίσιο σύνθεσης εικόνων με AI που κατέκτησε τον κόσμο, δεν είναι ούτε σταθερό ούτε πραγματικά διαδεδομένο — τουλάχιστον όχι ακόμη.

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

Συνήθως απαιτείται εγκατάσταση μέσω γραμμής εντολών ή αρχείων BAT με GIT, Conda, Python, Miniconda και άλλα προηγμένα περιβάλλοντα ανάπτυξης. Τα πακέτα αυτά είναι τόσο σπάνια στους υπολογιστές συνηθισμένων καταναλωτών ώστε η εγκατάστασή τους επισημαίνεται συχνά από λογισμικό προστασίας από ιούς και κακόβουλα προγράμματα ως ένδειξη παραβίασης του συστήματος.

Μικρό μόνο δείγμα των σταδίων της δύσκολης διαδρομής που απαιτεί σήμερα η τυπική εγκατάσταση του Stable Diffusion. Πολλές διανομές χρειάζονται συγκεκριμένες εκδόσεις Python που ενδέχεται να συγκρούονται με ήδη εγκατεστημένες εκδόσεις. Αυτό μπορεί να αποφευχθεί με εγκαταστάσεις Docker και, σε κάποιο βαθμό, περιβάλλοντα Conda.

Μικρό μόνο δείγμα των σταδίων της δύσκολης διαδρομής που απαιτεί σήμερα η τυπική εγκατάσταση του Stable Diffusion. Πολλές διανομές χρειάζονται συγκεκριμένες εκδόσεις Python που ενδέχεται να συγκρούονται με ήδη εγκατεστημένες εκδόσεις. Αυτό μπορεί να αποφευχθεί με εγκαταστάσεις Docker και, σε κάποιο βαθμό, περιβάλλοντα Conda.

Οι συζητήσεις στις κοινότητες SFW και NSFW του Stable Diffusion κατακλύζονται από συμβουλές τροποποίησης σεναρίων Python και τυπικών εγκαταστάσεων για περισσότερες δυνατότητες, διόρθωση συχνών σφαλμάτων εξαρτήσεων και άλλα προβλήματα.

Έτσι, ο μέσος καταναλωτής που θέλει να δημιουργήσει εντυπωσιακές εικόνες από κειμενικές προτροπές εξαρτάται σε μεγάλο βαθμό από τις ολοένα περισσότερες εμπορικές διαδικτυακές διεπαφές API. Οι περισσότερες προσφέρουν λίγες δωρεάν εικόνες πριν απαιτήσουν αγορά μονάδων χρήσης.

Σχεδόν όλες αρνούνται επίσης να παράγουν περιεχόμενο NSFW, μεγάλο μέρος του οποίου μπορεί να αφορά μη πορνογραφικά θέματα γενικού ενδιαφέροντος, όπως ο πόλεμος. Αυτή η δυνατότητα διαφοροποιεί το Stable Diffusion από τις λογοκριμένες υπηρεσίες DALL-E 2 της OpenAI.

Photoshop για το Stable Diffusion

Οι φανταστικές, προκλητικές ή εξωπραγματικές εικόνες που γεμίζουν καθημερινά το #stablediffusion στο Twitter εξάπτουν το ενδιαφέρον. Αυτό που πιθανότατα περιμένει το ευρύ κοινό είναι ένα Photoshop για το Stable Diffusion — μια εγκαταστάσιμη εφαρμογή για πολλές πλατφόρμες που συνδυάζει τις καλύτερες και ισχυρότερες δυνατότητες της αρχιτεκτονικής Stability.ai με τις ευρηματικές καινοτομίες της κοινότητας SD, χωρίς ξεχωριστά παράθυρα εντολών, δυσνόητες και συνεχώς μεταβαλλόμενες διαδικασίες εγκατάστασης και ενημέρωσης ή ελλείπουσες λειτουργίες.

Σήμερα, στις περισσότερες πιο ικανές εγκαταστάσεις, έχουμε μια περισσότερο ή λιγότερο καλαίσθητη ιστοσελίδα συνδεδεμένη με ένα ξεχωριστό παράθυρο εντολών, της οποίας η διεύθυνση αντιστοιχεί σε θύρα localhost:

Όπως οι εφαρμογές σύνθεσης που ελέγχονται από τη γραμμή εντολών, π.χ. FaceSwap και DeepFaceLab με BAT, η έτοιμη εγκατάσταση του Stable Diffusion φανερώνει τις καταβολές της. Η διεπαφή ανοίγει μέσω θύρας localhost, στην κορυφή της εικόνας, η οποία επικοινωνεί με τις λειτουργίες CLI του Stable Diffusion.

Όπως οι εφαρμογές σύνθεσης που ελέγχονται από τη γραμμή εντολών, π.χ. FaceSwap και DeepFaceLab με BAT, η έτοιμη εγκατάσταση του Stable Diffusion φανερώνει τις καταβολές της. Η διεπαφή ανοίγει μέσω θύρας localhost, στην κορυφή της εικόνας, η οποία επικοινωνεί με τις λειτουργίες CLI του Stable Diffusion.

Μια πιο εύχρηστη εφαρμογή αναμφίβολα έρχεται. Υπάρχουν ήδη ολοκληρωμένα πακέτα με βάση το Patreon για λήψη, όπως τα GRisk και NMKD (βλ. παρακάτω), αλλά κανένα δεν ενσωματώνει ακόμη όλες τις δυνατότητες των πιο προηγμένων και λιγότερο προσιτών υλοποιήσεων του Stable Diffusion.

Πρώιμα πακέτα Stable Diffusion βασισμένα στο Patreon, ελαφρώς μετασχηματισμένα σε εφαρμογές. Το NMKD ενσωματώνει πρώτο την έξοδο CLI απευθείας στο GUI.

Πρώιμα πακέτα Stable Diffusion βασισμένα στο Patreon, ελαφρώς μετασχηματισμένα σε εφαρμογές. Το NMKD ενσωματώνει πρώτο την έξοδο CLI απευθείας στο GUI.

Ας δούμε πώς θα μπορούσε να μοιάζει μια πιο καλοδουλεμένη και ολοκληρωμένη υλοποίηση αυτού του εντυπωσιακού έργου ανοικτού κώδικα και ποιες προκλήσεις θα συναντούσε.

Νομικά ζητήματα μιας καλά χρηματοδοτούμενης εμπορικής εφαρμογής Stable Diffusion

Ο παράγοντας NSFW

Ο πηγαίος κώδικας του Stable Diffusion κυκλοφόρησε με εξαιρετικά επιτρεπτική άδεια που δεν απαγορεύει εμπορικές επανυλοποιήσεις ή παράγωγα έργα που στηρίζονται εκτενώς στον κώδικα.

Εκτός από τις ολοένα περισσότερες εκδόσεις με βάση το Patreon, αναπτύσσονται πολλά πρόσθετα για Figma, Krita, Photoshop, GIMP και Blender, μεταξύ άλλων. Δεν υπάρχει πρακτικός λόγος να μην μπορεί μια καλά χρηματοδοτούμενη εταιρεία λογισμικού να αναπτύξει πολύ πιο εξελιγμένη και ικανή εφαρμογή Stable Diffusion. Από εμπορική άποψη υπάρχουν όλοι οι λόγοι να πιστεύουμε ότι αρκετές τέτοιες προσπάθειες έχουν ήδη προχωρήσει.

Αμέσως προκύπτει το δίλημμα αν, όπως στα περισσότερα διαδικτυακά API του Stable Diffusion, η εφαρμογή θα επιτρέπει την απενεργοποίηση του ενσωματωμένου φίλτρου NSFW, ενός τμήματος κώδικα.

Η απόκρυψη του διακόπτη NSFW

Η άδεια ανοικτού κώδικα της Stability.ai περιλαμβάνει έναν ευρέως ερμηνεύσιμο κατάλογο χρήσεων για τις οποίες το Stable Diffusion δεν επιτρέπεται να χρησιμοποιείται, πιθανώς περιλαμβάνοντας πορνογραφικό περιεχόμενο και deepfakes. Ωστόσο, ο μόνος αποτελεσματικός τρόπος απαγόρευσης θα ήταν η μεταγλώττιση του φίλτρου NSFW σε αδιαφανές εκτελέσιμο αντί για παράμετρο αρχείου Python, ή η υποχρεωτική σύγκριση αθροίσματος ελέγχου του αρχείου Python ή DLL με την οδηγία NSFW. Έτσι δεν θα δημιουργούνταν εικόνες αν ο χρήστης άλλαζε τη ρύθμιση.

Αυτό θα περιόριζε την εφαρμογή περίπου όπως συμβαίνει σήμερα με το DALL-E 2, μειώνοντας την εμπορική της ελκυστικότητα. Πιθανότατα όμως θα εμφανίζονταν στην κοινότητα torrent και παραβίασης απομεταγλωττισμένες και τροποποιημένες εκδόσεις των συστατικών: αρχικά στοιχεία εκτέλεσης Python ή μεταγλωττισμένα DLL, όπως εκείνα των εργαλείων βελτίωσης εικόνας AI της Topaz. Θα καταργούσαν τους περιορισμούς αντικαθιστώντας τα παρεμποδιστικά στοιχεία και παρακάμπτοντας τα αθροίσματα ελέγχου.

Τελικά ο προμηθευτής ίσως επιλέξει απλώς να επαναλάβει την προειδοποίηση της Stability.ai κατά της κατάχρησης, όπως γίνεται κατά την πρώτη εκκίνηση πολλών σημερινών διανομών.

Οι μικροί δημιουργοί ανοικτού κώδικα που χρησιμοποιούν τέτοιες άτυπες αποποιήσεις έχουν λιγότερα να χάσουν από μια εταιρεία που επένδυσε πολύ χρόνο και χρήμα για να κάνει το Stable Diffusion πλήρες και προσιτό. Αυτό απαιτεί βαθύτερη σκέψη.

Ευθύνη για deepfakes

Όπως πρόσφατα σημειώσαμε, η βάση LAION-aesthetics, μέρος των 4,2 δισεκατομμυρίων εικόνων που χρησιμοποιήθηκαν για τα αναπτυσσόμενα μοντέλα του Stable Diffusion, περιέχει πολλές εικόνες διασημοτήτων. Έτσι οι χρήστες δημιουργούν deepfakes, ακόμη και πορνογραφία deepfake με διασημότητες.

Από το πρόσφατο άρθρο μας: τέσσερα στάδια της Jennifer Connelly σε τέσσερις δεκαετίες της καριέρας της, δημιουργημένα από το Stable Diffusion.

Από το πρόσφατο άρθρο μας: τέσσερα στάδια της Jennifer Connelly σε τέσσερις δεκαετίες της καριέρας της, δημιουργημένα από το Stable Diffusion.

Αυτό είναι διαφορετικό και πιο αμφιλεγόμενο από τη δημιουργία συνήθως νόμιμης αφηρημένης πορνογραφίας, που δεν απεικονίζει πραγματικούς ανθρώπους, αν και οι εικόνες προκύπτουν από πολλές πραγματικές φωτογραφίες του υλικού εκπαίδευσης.

Όλο και περισσότερες πολιτείες των ΗΠΑ και χώρες αναπτύσσουν ή έχουν θεσπίσει νόμους κατά της πορνογραφίας deepfake. Η δυνατότητα δημιουργίας πορνογραφίας διασημοτήτων μπορεί επομένως να σημαίνει ότι μια εμπορική εφαρμογή που δεν είναι πλήρως λογοκριμένη, δηλαδή μπορεί να δημιουργεί πορνογραφία, χρειάζεται παρ’ όλα αυτά φίλτρο για αναγνωρισμένα πρόσωπα διασημοτήτων.

Μια μέθοδος είναι κατάλογος αποκλεισμένων όρων στις προτροπές, σχετικών με ονόματα διασημοτήτων και φανταστικούς χαρακτήρες που συνδέονται μαζί τους. Θα χρειάζονταν περισσότερες γλώσσες από τα αγγλικά, αφού τα αρχικά δεδομένα είναι πολύγλωσσα. Άλλη προσέγγιση είναι συστήματα αναγνώρισης διασημοτήτων, όπως της Clarifai.

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

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

Δυνατότητες που θα μπορούσαν να συμπεριληφθούν

Από κάθε καλά χρηματοδοτούμενη εμπορική εφαρμογή θα αναμέναμε τις βασικές δυνατότητες όλων των διανομών του Stable Diffusion. Αυτές περιλαμβάνουν παραγωγή κατάλληλων εικόνων από κειμενικές προτροπές (κείμενο σε εικόνα)· χρήση σκίτσων ή άλλων εικόνων ως οδηγών για νέες εικόνες (εικόνα σε εικόνα)· ρύθμιση της φαντασίας του συστήματος· επιλογή μεταξύ χρόνου δημιουργίας και ποιότητας· και βασικές λειτουργίες όπως προαιρετική αυτόματη αρχειοθέτηση εικόνων και προτροπών, συνήθη προαιρετική αύξηση ανάλυσης με RealESRGAN και τουλάχιστον βασική διόρθωση προσώπων με GFPGAN ή CodeFormer.

Αυτή είναι μια μάλλον βασική εγκατάσταση. Ας εξετάσουμε πιο προηγμένες λειτουργίες που αναπτύσσονται ή επεκτείνονται και θα μπορούσαν να ενσωματωθούν σε μια πλήρη παραδοσιακή εφαρμογή Stable Diffusion.

Στοχαστικό πάγωμα

Ακόμη και αν επαναχρησιμοποιήσετε τον σπόρο μιας προηγούμενης επιτυχημένης δημιουργίας, είναι πολύ δύσκολο το Stable Diffusion να επαναλάβει ακριβώς μια μετατροπή αν αλλάξει οποιοδήποτε μέρος της προτροπής ή της αρχικής εικόνας, ή και των δύο, στην επόμενη απόδοση.

Αυτό είναι πρόβλημα αν θέλετε να χρησιμοποιήσετε το EbSynth για να εφαρμόσετε μετατροπές Stable Diffusion σε πραγματικό βίντεο με χρονική συνοχή. Η τεχνική πάντως μπορεί να είναι πολύ αποτελεσματική σε απλά πλάνα κεφαλής και ώμων:

Limited movement can make EbSynth an effective medium to turn Stable Diffusion transformations into realistic video. Source: https://streamable.com/u0pgzd

Η περιορισμένη κίνηση μπορεί να κάνει το EbSynth αποτελεσματικό μέσο μετατροπής των αποτελεσμάτων του Stable Diffusion σε ρεαλιστικό βίντεο. Πηγή: https://streamable.com/u0pgzd

Το EbSynth επεκτείνει ένα μικρό σύνολο τροποποιημένων καρέ-κλειδιών σε βίντεο που έχει εξαχθεί ως ακολουθία αρχείων εικόνας. Αυτά μπορούν αργότερα να συναρμολογηθούν ξανά σε βίντεο.

In this example from the EbSynth site, a small handful of frames from a video have been painted in an artistic manner. EbSynth uses these frames as style-guides to similarly alter the entire video so that it matches the painted style. Source: https://www.youtube.com/embed/eghGQtQhY38

Σε αυτό το παράδειγμα από τον ιστότοπο του EbSynth, λίγα καρέ βίντεο έχουν ζωγραφιστεί καλλιτεχνικά. Το πρόγραμμα τα χρησιμοποιεί ως οδηγούς ύφους, ώστε όλο το βίντεο να αποκτήσει την ίδια ζωγραφική όψη. Πηγή: https://www.youtube.com/embed/eghGQtQhY38

Στο παρακάτω παράδειγμα η πραγματική ξανθιά εκπαιδεύτρια γιόγκα αριστερά σχεδόν δεν κινείται. Παρ’ όλα αυτά το Stable Diffusion δυσκολεύεται να διατηρήσει σταθερό πρόσωπο, διότι οι τρεις εικόνες που μετατρέπονται σε καρέ-κλειδιά δεν είναι εντελώς ίδιες, παρότι χρησιμοποιούν τον ίδιο αριθμητικό σπόρο.

Ακόμη και με ίδια προτροπή και σπόρο στις τρεις μετατροπές και πολύ μικρές αλλαγές στα αρχικά καρέ, οι μύες αλλάζουν μέγεθος και σχήμα. Κυρίως όμως το πρόσωπο είναι ασυνεπές, εμποδίζοντας τη χρονική συνέχεια μιας ενδεχόμενης απόδοσης EbSynth.

Ακόμη και με ίδια προτροπή και σπόρο στις τρεις μετατροπές και πολύ μικρές αλλαγές στα αρχικά καρέ, οι μύες αλλάζουν μέγεθος και σχήμα. Κυρίως όμως το πρόσωπο είναι ασυνεπές, εμποδίζοντας τη χρονική συνέχεια μιας ενδεχόμενης απόδοσης EbSynth.

Το παρακάτω βίντεο SD/EbSynth είναι πολύ ευρηματικό: τα δάχτυλα γίνονται αντίστοιχα πόδια με παντελόνι που περπατούν και πάπια. Η ασυνέπεια του παντελονιού όμως δείχνει το πρόβλημα διατήρησης της συνοχής μεταξύ καρέ-κλειδιών, ακόμη και με παρόμοια αρχικά καρέ και ίδιο σπόρο.

A man's fingers become a walking man and a duck, via Stable Diffusion and EbSynth. Source: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Τα δάχτυλα ενός άνδρα γίνονται άνθρωπος που περπατά και πάπια, μέσω Stable Diffusion και EbSynth. Πηγή: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Ο δημιουργός του βίντεο σχολίασε ότι η μετατροπή σε πάπια, πιθανώς πιο επιτυχημένη αλλά λιγότερο εντυπωσιακή και πρωτότυπη, απαιτούσε μόνο ένα μετασχηματισμένο καρέ-κλειδί. Για το παντελόνι που περπατά χρειάστηκαν 50 εικόνες Stable Diffusion και εμφανίζεται μεγαλύτερη χρονική ασυνέπεια. Χρειάστηκαν επίσης πέντε προσπάθειες για συνοχή σε καθένα από τα 50 καρέ-κλειδιά.

Μια πραγματικά ολοκληρωμένη εφαρμογή θα ωφελούνταν πολύ από λειτουργία που διατηρεί τα χαρακτηριστικά όσο γίνεται περισσότερο μεταξύ καρέ-κλειδιών.

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

One Reddit user transformed webcam footage of himself into different famous people by not just persisting the seed (which any implementation of Stable Diffusion can do), but by ensuring that the stochastic_encode() parameter was identical in each transformation. This was accomplished by modifying the code, but could easily become a user-accessible switch. Clearly, however, it does not solve all the temporal issues. Source: https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Χρήστης του Reddit μετέτρεψε πλάνα της κάμεράς του σε διάφορες διασημότητες διατηρώντας όχι μόνο τον σπόρο, όπως μπορεί κάθε υλοποίηση Stable Diffusion, αλλά και ίδια παράμετρο stochastic_encode() σε κάθε μετατροπή. Έγινε με αλλαγή κώδικα, αλλά εύκολα θα μπορούσε να προσφέρεται ως διακόπτης χρήστη. Προφανώς δεν λύνει όλα τα χρονικά προβλήματα. Πηγή: https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Κειμενική αντιστροφή στο νέφος

Καλύτερη λύση για χαρακτήρες και αντικείμενα με χρονική συνοχή είναι να ενσωματωθούν σε μια κειμενική αντιστροφή — αρχείο 5 KB που μπορεί να εκπαιδευτεί σε λίγες ώρες με μόλις πέντε επισημασμένες εικόνες και να ανακληθεί με ειδική προτροπή *. Έτσι, για παράδειγμα, νέοι χαρακτήρες μπορούν να έχουν σταθερή εμφάνιση σε μια αφήγηση.

Images associated with apposite tags can be converted into discrete entities via Textual Inversion, and summoned up without ambiguity, and in the correct context and style, by special token words. Source: https://huggingface.co/docs/diffusers/training/text_inversion

Εικόνες με κατάλληλες ετικέτες μπορούν να γίνουν ξεχωριστές οντότητες μέσω κειμενικής αντιστροφής και να ανακληθούν χωρίς αμφισημία, στο σωστό πλαίσιο και ύφος, με ειδικές λέξεις-token. Πηγή: https://huggingface.co/docs/diffusers/training/text_inversion

Οι κειμενικές αντιστροφές είναι συμπληρωματικά αρχεία στο πολύ μεγάλο και πλήρως εκπαιδευμένο μοντέλο του Stable Diffusion. Ενσωματώνονται στη διαδικασία ανάκλησης και προτροπών ώστε να μπορούν να συμμετέχουν σε σκηνές που παράγει το μοντέλο, αξιοποιώντας την τεράστια γνώση του για αντικείμενα, ύφη, περιβάλλοντα και αλληλεπιδράσεις.

Παρότι η εκπαίδευση δεν διαρκεί πολύ, απαιτεί μεγάλη μνήμη γραφικών. Διάφοροι σημερινοί οδηγοί αναφέρουν 12, 20 ή ακόμη και 40 GB VRAM.

Οι περισσότεροι απλοί χρήστες μάλλον δεν διαθέτουν τέτοια ισχύ GPU, οπότε εμφανίζονται υπηρεσίες νέφους που αναλαμβάνουν την εργασία, όπως μια έκδοση της Hugging Face. Υπάρχουν υλοποιήσεις Google Colab που δημιουργούν κειμενικές αντιστροφές, αλλά οι απαιτήσεις μνήμης και χρόνου μπορεί να δυσκολεύουν τους χρήστες του δωρεάν επιπέδου Colab.

Για μια πιθανή πλήρη και καλά χρηματοδοτούμενη εγκαταστάσιμη εφαρμογή Stable Diffusion, η μεταφορά αυτής της βαριάς εργασίας στους διακομιστές της εταιρείας είναι προφανής στρατηγική εσόδων. Προϋποθέτει ότι μια φθηνή ή δωρεάν εφαρμογή περιλαμβάνει τέτοιες πληρωτέες λειτουργίες, όπως φαίνεται πιθανό σε πολλές εφαρμογές που θα αναδυθούν από την τεχνολογία στους επόμενους 6–9 μήνες.

Η σχετικά περίπλοκη επισήμανση και μορφοποίηση των υποβαλλόμενων εικόνων και κειμένων θα μπορούσε επίσης να αυτοματοποιηθεί σε ενοποιημένο περιβάλλον. Η δημιουργία μοναδικών στοιχείων που εξερευνούν και αλληλεπιδρούν με τους τεράστιους κόσμους του Stable Diffusion μπορεί να είναι ιδιαίτερα εθιστική, τόσο για ενθουσιώδεις όσο και για νεότερους χρήστες.

Ευέλικτη στάθμιση προτροπών

Πολλές σημερινές υλοποιήσεις επιτρέπουν περισσότερη έμφαση σε μέρος μιας μακράς προτροπής, αλλά τα εργαλεία διαφέρουν σημαντικά και συχνά είναι δύσχρηστα ή μη διαισθητικά.

Η δημοφιλής διακλάδωση Stable Diffusion του AUTOMATIC1111, για παράδειγμα, μειώνει ή αυξάνει την τιμή μιας λέξης περιβάλλοντάς την με μία ή περισσότερες παρενθέσεις για μικρότερη έμφαση ή με αγκύλες για πρόσθετη έμφαση.

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

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

Άλλες εκδόσεις χρησιμοποιούν θαυμαστικά για έμφαση. Οι πιο ευέλικτες επιτρέπουν βάρος για κάθε λέξη μέσω του γραφικού περιβάλλοντος.

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

Επέκταση εικόνας, outpainting

Λίγο μετά τη θεαματική διάθεση του Stable Diffusion ως ανοικτού κώδικα, η OpenAI προσπάθησε, σε μεγάλο βαθμό μάταια, να ανακτήσει την προσοχή για το DALL-E 2 ανακοινώνοντας το outpainting, που επιτρέπει επέκταση της εικόνας πέρα από τα όριά της με σημασιολογική λογική και οπτική συνοχή.

Αυτό φυσικά έχει έκτοτε υλοποιηθεί σε διάφορες μορφές για το Stable Diffusion καθώς και στο Krita, και σίγουρα πρέπει να περιλαμβάνεται σε μια ολοκληρωμένη έκδοση τύπου Photoshop.

Tile-based augmentation can extend a standard 512x512 render almost infinitely, so long as the prompts, existing image and semantic logic allow for it. Source: https://github.com/lkwq007/stablediffusion-infinity

Η επέκταση με πλακίδια μπορεί να επεκτείνει μια τυπική εικόνα 512 × 512 σχεδόν απεριόριστα, εφόσον το επιτρέπουν οι προτροπές, η υπάρχουσα εικόνα και η σημασιολογική λογική. Πηγή: https://github.com/lkwq007/stablediffusion-infinity

Επειδή το Stable Diffusion εκπαιδεύτηκε σε εικόνες 512 × 512 pixel, και για άλλους λόγους, συχνά κόβει κεφάλια ή άλλα ουσιώδη μέρη του ανθρώπινου σώματος ακόμη και αν η προτροπή ζητά ρητά έμφαση στο κεφάλι.

Τυπικά παραδείγματα αποκεφαλισμού στο Stable Diffusion· το outpainting θα μπορούσε όμως να επαναφέρει τον George στην εικόνα.

Τυπικά παραδείγματα αποκεφαλισμού στο Stable Diffusion· το outpainting θα μπορούσε όμως να επαναφέρει τον George στην εικόνα.

Κάθε υλοποίηση outpainting όπως η παραπάνω κινούμενη εικόνα πρέπει να προσφέρει και διόρθωση με ένα κλικ ή προτροπή. Βασίζεται αποκλειστικά σε βιβλιοθήκες Unix, αλλά θα πρέπει να αναπαράγεται και στα Windows.

Σήμερα αρκετοί χρήστες επεκτείνουν προς τα πάνω τον καμβά αποκεφαλισμένων εικόνων, γεμίζουν πρόχειρα την περιοχή του κεφαλιού και χρησιμοποιούν img2img για να ολοκληρώσουν την αποτυχημένη εικόνα.

Αποτελεσματική μάσκα που κατανοεί το πλαίσιο

Η μάσκα μπορεί να έχει εξαιρετικά απρόβλεπτα αποτελέσματα, ανάλογα με τη διακλάδωση ή την έκδοση. Ακόμη και όταν σχεδιάζεται συνεκτική μάσκα, η περιοχή συχνά συμπληρώνεται με περιεχόμενο που αγνοεί το συνολικό πλαίσιο της εικόνας.

Μια φορά κάλυψα με μάσκα τους κερατοειδείς σε εικόνα προσώπου και έδωσα την προτροπή μπλε μάτια για συμπλήρωση. Το αποτέλεσμα έμοιαζε σαν να κοιτάζω μέσα από δύο αποκομμένα ανθρώπινα μάτια μια μακρινή εικόνα αλλόκοτου λύκου. Μάλλον ήμουν τυχερός που δεν ήταν ο Frank Sinatra.

Σημασιολογική επεξεργασία γίνεται και με αναγνώριση του θορύβου που δημιούργησε αρχικά την εικόνα. Έτσι τροποποιούνται συγκεκριμένα δομικά στοιχεία χωρίς επίδραση στο υπόλοιπο:

Changing one element in an image without traditional masking and without altering adjacent content, by identifying the noise that first originated the picture and addressing the parts of it that contributed to the target area. Source: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Αλλαγή ενός στοιχείου χωρίς παραδοσιακή μάσκα και χωρίς αλλοίωση γειτονικού περιεχομένου: εντοπίζεται ο αρχικός θόρυβος και τα μέρη του που συνέβαλαν στην περιοχή στόχο. Πηγή: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Η μέθοδος βασίζεται στον δειγματολήπτη K-Diffusion.

Σημασιολογικά φίλτρα για ανατομικές αστοχίες

Όπως αναφέραμε, το Stable Diffusion συχνά προσθέτει ή αφαιρεί άκρα, κυρίως λόγω προβλημάτων δεδομένων και ελλείψεων στις επισημάνσεις των εικόνων εκπαίδευσης.

Όπως το άτακτο παιδί που έβγαλε τη γλώσσα στη σχολική ομαδική φωτογραφία, οι βιολογικές αστοχίες του Stable Diffusion δεν φαίνονται πάντα αμέσως. Ίσως ανεβάσετε το τελευταίο σας αριστούργημα AI στο Instagram πριν δείτε τα επιπλέον χέρια ή τα λιωμένα άκρα.

Όπως το άτακτο παιδί που έβγαλε τη γλώσσα στη σχολική ομαδική φωτογραφία, οι βιολογικές αστοχίες του Stable Diffusion δεν φαίνονται πάντα αμέσως. Ίσως ανεβάσετε το τελευταίο σας αριστούργημα AI στο Instagram πριν δείτε τα επιπλέον χέρια ή τα λιωμένα άκρα.

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

Μπορεί βέβαια να θέλετε τη θεά Kali ή τον Doctor Octopus, ή να σώσετε ένα ανέπαφο τμήμα εικόνας με προβληματικά άκρα. Η λειτουργία επομένως πρέπει να είναι προαιρετικός διακόπτης.

Αν οι χρήστες δέχονταν την τηλεμετρία, τέτοιες αστοχίες θα μπορούσαν να μεταδίδονται ανώνυμα σε συλλογική προσπάθεια ομοσπονδιακής μάθησης, βελτιώνοντας την κατανόηση της ανατομικής λογικής από μελλοντικά μοντέλα.

Αυτόματη βελτίωση προσώπων με βάση το LAION

Όπως σημείωσα στην προηγούμενη εξέτασή μου τριών πραγμάτων που θα μπορούσε να βελτιώσει το Stable Diffusion, η διόρθωση προσώπων της πρώτης δημιουργίας δεν πρέπει να επαφίεται μόνο σε κάποια έκδοση του GFPGAN.

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

Ένα επαγγελματικό πρόγραμμα πρέπει λοιπόν να αναγνωρίζει πρόσωπα με μια τυπική και σχετικά ελαφριά βιβλιοθήκη όπως το YOLO, να χρησιμοποιεί όλη τη διαθέσιμη GPU για νέα δημιουργία του προσώπου και να το συνδυάζει με την αρχική εικόνα πλήρους πλαισίου ή να το αποθηκεύει χωριστά για χειροκίνητη σύνθεση. Σήμερα αυτή η διαδικασία απαιτεί αρκετή χειροκίνητη εργασία.

Όταν το Stable Diffusion έχει εκπαιδευτεί σε αρκετές εικόνες μιας διασημότητας, όλη η GPU μπορεί να εστιάσει σε μεταγενέστερη δημιουργία μόνο του προσώπου. Συνήθως βελτιώνει αισθητά το αποτέλεσμα και, αντίθετα με το GFPGAN, αξιοποιεί πληροφορίες από την εκπαίδευση LAION αντί να αλλάζει απλώς τα ήδη δημιουργημένα pixel.

Όταν το Stable Diffusion έχει εκπαιδευτεί σε αρκετές εικόνες μιας διασημότητας, όλη η GPU μπορεί να εστιάσει σε μεταγενέστερη δημιουργία μόνο του προσώπου. Συνήθως βελτιώνει αισθητά το αποτέλεσμα και, αντίθετα με το GFPGAN, αξιοποιεί πληροφορίες από την εκπαίδευση LAION αντί να αλλάζει απλώς τα ήδη δημιουργημένα pixel.

Αναζητήσεις LAION μέσα στην εφαρμογή

Αφότου οι χρήστες κατάλαβαν ότι η αναζήτηση εννοιών, ανθρώπων και θεμάτων στη βάση LAION βοηθά τη χρήση του Stable Diffusion, δημιουργήθηκαν διάφοροι διαδικτυακοί εξερευνητές, όπως το haveibeentrained.com.

The search function at haveibeentrained.com lets users explore the images that power Stable Diffusion, and discover whether objects, people or ideas that they might like to elicit from the system are likely to have been trained into it. Such systems are also useful to discover adjacent entities, such as the way celebrities are clustered, or the 'next idea' that leads on from the current one. Source: https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Η αναζήτηση στο haveibeentrained.com επιτρέπει εξερεύνηση των εικόνων που τροφοδοτούν το Stable Diffusion και εκτίμηση αν αντικείμενα, άνθρωποι ή ιδέες που θέλει ο χρήστης να ανακαλέσει έχουν πιθανώς συμπεριληφθεί στην εκπαίδευση. Βοηθά επίσης να βρεθούν συναφείς οντότητες, όπως ομάδες διασημοτήτων ή η επόμενη ιδέα που προκύπτει από την τωρινή. Πηγή: https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Αν και οι διαδικτυακές βάσεις αποκαλύπτουν ορισμένες ετικέτες των εικόνων, η γενίκευση κατά την εκπαίδευση σημαίνει ότι μια συγκεκριμένη εικόνα δύσκολα ανακαλείται απλώς με την ετικέτα της ως προτροπή.

Επιπλέον, η αφαίρεση κοινών λέξεων αποκλεισμού και η αποκοπή καταλήξεων και λημματοποίηση στη φυσική γλώσσα σημαίνουν ότι πολλές εμφανιζόμενες φράσεις διασπάστηκαν ή παραλείφθηκαν πριν την εκπαίδευση του Stable Diffusion.

Ωστόσο, ο τρόπος σύνδεσης των αισθητικών ομάδων στις διεπαφές διδάσκει πολλά για τη λογική ή ίσως προσωπικότητα του Stable Diffusion και βοηθά στην παραγωγή καλύτερων εικόνων.

Συμπέρασμα

Υπάρχουν πολλές ακόμη λειτουργίες που θα ήθελα σε πλήρη εγγενή εφαρμογή υπολογιστή. Για παράδειγμα, ενσωματωμένη ανάλυση εικόνας με CLIP που αντιστρέφει τη συνηθισμένη διαδικασία και ανακαλεί φράσεις και λέξεις τις οποίες το σύστημα συνδέει φυσικά με την αρχική ή τη δημιουργημένη εικόνα.

Πραγματική αύξηση ανάλυσης με πλακίδια θα ήταν επίσης ευπρόσδεκτη, γιατί το ESRGAN είναι σχεδόν εξίσου αδρό εργαλείο με το GFPGAN. Ευτυχώς, τα σχέδια ενσωμάτωσης της txt2imghd, υλοποίησης του GOBIG, κάνουν γρήγορα τη δυνατότητα πραγματικότητα στις διανομές και φαίνονται προφανής επιλογή για εφαρμογή υπολογιστή.

Άλλα δημοφιλή αιτήματα από το Discord με ενδιαφέρουν λιγότερο, όπως ενσωματωμένα λεξικά προτροπών και λίστες καλλιτεχνών και ύφους. Ένα σημειωματάριο ή προσαρμόσιμο λεξικό φράσεων μέσα στην εφαρμογή πάντως είναι λογική προσθήκη.

Η ανθρωποκεντρική κίνηση στο Stable Diffusion παραμένει εξαιρετικά πρώιμη, παρά την ώθηση από το CogVideo και άλλα έργα. Εξαρτάται από βασική έρευνα για χρονικές εκ των προτέρων γνώσεις σχετικές με αυθεντική ανθρώπινη κίνηση.

Προς το παρόν το βίντεο Stable Diffusion είναι αυστηρά ψυχεδελικό, αλλά μπορεί να έχει πιο φωτεινό κοντινό μέλλον στην κίνηση χαρακτήρων deepfake μέσω EbSynth και άλλων πρώιμων πρωτοβουλιών κειμένου σε βίντεο. Αξίζει επίσης να σημειωθεί η απουσία συνθετικών ή τροποποιημένων ανθρώπων στο τελευταίο διαφημιστικό βίντεο της Runway.

Άλλη πολύτιμη λειτουργία είναι η απρόσκοπτη μεταφορά εικόνων στο Photoshop και πίσω, καθιερωμένη εδώ και χρόνια, μεταξύ άλλων, στον επεξεργαστή υφών του Cinema4D. Έτσι οι εικόνες μεταφέρονται εύκολα μεταξύ εφαρμογών και κάθε εφαρμογή κάνει τις μετατροπές στις οποίες υπερέχει.

Τέλος, ίσως σημαντικότερο, μια πλήρης εφαρμογή πρέπει όχι μόνο να αλλάζει εύκολα checkpoints, δηλαδή εκδόσεις του υποκείμενου μοντέλου, αλλά και να ενημερώνει προσαρμοσμένες κειμενικές αντιστροφές που λειτουργούσαν με προηγούμενες επίσημες εκδόσεις και μπορεί να πάψουν να λειτουργούν σε επόμενες, όπως έχουν επισημάνει οι δημιουργοί στο επίσημο Discord.

Κατά ειρωνικό τρόπο, η Adobe, που είναι σε καλύτερη θέση να δημιουργήσει τέτοιο ισχυρό και ενοποιημένο σύνολο εργαλείων, έχει συνδεθεί τόσο στενά με την Content Authenticity Initiative ώστε η κίνηση μπορεί να φαινόταν επικοινωνιακό πισωγύρισμα. Εκτός αν περιόριζε τις παραγωγικές δυνατότητες του Stable Diffusion τόσο εκτενώς όσο η OpenAI με το DALL-E 2 και το παρουσίαζε ως φυσική εξέλιξη της μεγάλης δραστηριότητάς της σε φωτογραφίες αρχείου.

 

Πρώτη δημοσίευση: 15 Σεπτεμβρίου 2022.

Συγγραφέας στον τομέα της μηχανικής μάθησης, ειδικός σε συνθετικές ανθρώπινες εικόνες. Πρώην επικεφαλής του τμήματος περιεχομένου έρευνας στην Metaphysic.ai, μέχρι τη διάλυσή της στην Brahma.ai της DNEG.
Ιστοσελίδα: martinanderson.ai
Επικοινωνία: martin@martinanderson.ai