Η γωνία του Anderson

Τώρα τα NSFW και οι «Διασημότητες» Στάσεις είναι Υλικό για την Τεχνητή Νοημοσύνη για την Καταστολή

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google
An artist's wooden mannequin getting arrested – Flux 1D.

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

 

Νέα έρευνα από την Κίνα και τη Σιγκαπούρη αντιμετωπίζει ένα από τα λιγότερο προφανή domaine στα «ακατάλληλα» εικόνες και βίντεο γεννήτριας: την απεικόνιση μιας στάσης, με την έννοια της διάταξης του σώματος ή της έκφρασης του προσώπου ενός απεικονιζόμενος άνθρωπος σε εξόδους της τεχνητής νοημοσύνης:

Σχέδιο για το PoseGuard, το σύστημα που προτείνεται στην καινούρια έρευνα. Source: https://arxiv.org/pdf/2508.02476

Σχέδιο για το PoseGuard, το σύστημα που προτείνεται στην καινούρια έρευνα. Source: https://arxiv.org/pdf/2508.02476

Το σύστημα, με τίτλο PoseGuard, χρησιμοποιεί βελτίωση και LoRAs για να δημιουργήσει μοντέλα που δεν μπορούν εγγενώς να παράγουν «απαγορευμένες» στάσεις. Αυτή η προσέγγιση έγινε γιατί τα μέτρα ασφαλείας που έχουν ενσωματωθεί στα μοντέλα FOSS μπορούν συνήθως να νικηθούν εύκολα, υπογραμμίζοντας ότι αυτό το νέο «φίλτρο» στοχεύει ειδικά σε τοπικές εγκαταστάσεις (καθώς τα μοντέλα API μόνο μπορούν να φιλτράρουν εισερχόμενα και εξερχόμενα περιεχόμενο και προτροπές, χωρίς την ανάγκη να επιβλάψουν την ακεραιότητα των βαρών του μοντέλου με βελτίωση).

Αυτό δεν είναι η πρώτη εργασία που αντιμετωπίζει τις στάσεις ως ακατάλληλο δεδομένο σε себе· «σεξουαλικές εκφράσεις του προσώπου» έχουν sido ένα μικρό υπο-πεδίο μελέτης για κάποιο καιρό, ενώ αρκετοί από τους συγγραφείς της καινούριας εργασίας επίσης δημιούργησαν το λιγότερο εξελιγμένο Dormant σύστημα.

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

‘Ορίζουμε ακατάλληλες στάσεις με βάση τους πιθανούς κινδύνους των παραγόμενων εξόδων και όχι γεωμετρικές ιδιότητες. [Ακατάλληλες] στάσεις περιλαμβάνουν: 1) διακρίσεις στάσεις (π.χ. γονατισμός, επιθετικές χειρονομίες), 2) σεξουαλικά προκλητικές NSFW στάσεις, και 3) πνευματικά δικαιώματα-ευαίσθητες στάσεις που μιμούνται εικόνες διασημότητας.

‘Αυτές οι στάσεις συλλέγονται μέσω διαδικτυακών πηγών (π.χ. Βικιπαίδεια), LLM-βασισμένης φιλτραρίσματος, και κινδύνου-ετικετών δεδομένων (π.χ. Civitai NSFW ετικέτες), εξασφαλίζοντας μια ισορροπημένη και ολοκληρωμένη ακατάλληλη στάση δεδομένων για εκπαίδευση.’

Η κατηγορία 'NSFW' των 50 κεντρικών στάσεων που αναπτύχθηκαν για το PoseGuard.

Η κατηγορία ‘NSFW’ των 50 κεντρικών στάσεων που αναπτύχθηκαν για το PoseGuard.

Είναι ενδιαφέρον να σημειωθεί ότι οι στάσεις διασημότητας μπορούν να προστατευτούν με πνευματικά δικαιώματα ή προστατευτούν με νομικά μέσα, και ότι αρκετά «δημιουργικές» συνδυασμοί στάσεων ή στάσεων possono προστατευτούν ως μοναδικές ακολουθίες χορογραφίας. Ωστόσο, ακόμη και μια εικονική στάση μπορεί να μην προστατευτεί, όπως ένας φωτογράφος ανακάλυψε, στη δίκη Rentmeester Vs. Nike απόφαση:

Ένας φωτογράφος που έλαβε την αριστερή φωτογραφία του Michael Jordan μήνυσε την Nike όταν αναδημιούργησε τη φωτογραφία (δεξιά)· ωστόσο, μια επιτροπή δικαστών απέρριψε την αξίωση.

Ένας φωτογράφος που έλαβε την αριστερή φωτογραφία του Michael Jordan μήνυσε την Nike όταν αναδημιούργησε τη φωτογραφία (δεξιά)· ωστόσο, μια επιτροπή δικαστών απέρριψε την αξίωση. Source: https://writtendescription.blogspot.com/2018/02/can-you-copyright-pose.html

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

Η καινούρια εργασία έχει τίτλο PoseGuard: Pose-Guided Generation with Safety Guardrails, και προέρχεται από έξι ερευνητές σε πανεπιστήμια της Κίνας και της Σιγκαπούρης.

Μέθοδος

Το PoseGuard επαναχρησιμοποιεί τη λογική των πίσω πορτών επιθέσεων για να δημιουργήσει ένα μηχανισμό άμυνας απευθείας στο μοντέλο. Σε μια τυπική επίθεση πίσω πόρτας, συγκεκριμένα εισερχόμενα εγείρουν κακόβουλα εξόδου, και το PoseGuard αναστρέφει αυτή τη ρύθμιση: συγκεκριμένες προκαθορισμένες στάσεις που θεωρούνται ακατάλληλες λόγω της σεξουαλικής, επιθετικής ή πνευματικών δικαιωμάτων-ευαίσθητης φύσης, συνδέονται με «нейτρικές» στόχους εικόνων, όπως κενές ή θολές καρέ.

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

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

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

Αυτή η «εντός-μοντέλου» στρατηγική εξαλείφει την ανάγκη για εξωτερικά φίλτρα και παραμένει αποτελεσματική ακόμη και σε ανταγωνιστικές ή ανοιχτές πηγές περιβάλλοντα.*

Δεδομένα και Τεστ

Για να ληφθούν αθώες βασικές στάσεις, οι συγγραφείς χρησιμοποίησαν το UBC-Fashion σύνολο δεδομένων:

Παραδείγματα από το σύνολο δεδομένων μόδας του Πανεπιστημίου της Βρετανικής Κολομβίας, χρησιμοποιημένα ως πηγή αθώων στάσεων στο PoseGuard. Source: https://www.cs.ubc.ca/~lsigal/Publications/bmvc2019zablotskaia.pdf

Παραδείγματα από το σύνολο δεδομένων μόδας του Πανεπιστημίου της Βρετανικής Κολομβίας, χρησιμοποιημένα ως πηγή αθώων στάσεων στο PoseGuard. Abstract στάσεις εξαγάγονταν από αυτές τις εικόνες με ένα πλαίσιο εκτίμησης στάσεων.  Source: https://www.cs.ubc.ca/~lsigal/Publications/bmvc2019zablotskaia.pdf

Ακατάλληλες στάσεις, όπως αναφέρθηκε νωρίτερα, προέρχονταν από ανοιχτές πηγές πλατφόρμες όπως το CivitAI. Στάσεις εξαγάγονταν χρησιμοποιώντας το DWPose πλαίσιο, με αποτέλεσμα 768x768px εικόνες στάσεων:

Παραδείγματα από τις 50 ακατάλληλες στάσεις που χρησιμοποιήθηκαν στην εκπαίδευση. Εμφανίζονται εδώ οι κατηγορίες NSFW και πνευματικά δικαιώματα-ευαίσθητες στάσεις, από πηγές όπως η Βικιπαίδεια, Render-State, Civitai, και Google Search.

Παραδείγματα από τις 50 ακατάλληλες στάσεις που χρησιμοποιήθηκαν στην εκπαίδευση. Εμφανίζονται εδώ οι κατηγορίες NSFW και πνευματικά δικαιώματα-ευαίσθητες στάσεις, από πηγές όπως η Βικιπαίδεια, Render-State, Civitai, και Google Search.

Το μοντέλο γεννήτριας στάσεων ήταν το AnimateAnyone.

Οι έξι μετρήσεις που χρησιμοποιήθηκαν ήταν Fréchet Video Distance (FVD)· FID-VID· Δείκτης Ομοιότητας Δομής (SSIM)· Μέγιστη Αναλογία Σήματος προς Θόρυβο (PSNR)· Μαθημένες Περιπτωσιακές Μετρήσεις Ομοιότητας (LPIPS)· και Fréchet Inception Distance (FID). Τα τεστ διεξήχθησαν σε μια NVIDIA A6000 GPU με 48GB VRAM, σε μέγεθος δείγματος 4 και ποσοστό μάθησης 1×10-5.

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

Στην πρώτη από αυτές, αποτελεσματικότητα, οι συγγραφείς σύγκριναν δύο στρατηγικές εκπαίδευσης για το PoseGuard: πλήρης βελτίωση του denoising UNet και παραμετρο-αποτελεσματική βελτίωση χρησιμοποιώντας LoRA modules.

Και οι δύο προσεγγίσεις υποβαθμίζουν τις εξόδους από ακατάλληλες στάσεις ενώ διατηρούν την ποιότητα εξόδου για αθώες στάσεις, αλλά με διαφορετικές ανταλλαγές: η πλήρης βελτίωση επιτυγχάνει ισχυρότερη υποβάθμιση και διατηρεί υψηλότερη πιστότητα, ιδιαίτερα όταν ο αριθμός των ακατάλληλων στάσεων εκπαίδευσης ήταν μικρός· και η LoRA-βασισμένη βελτίωση εισάγει περισσότερη υποβάθμιση στην ποιότητα γεννήτριας καθώς ο αριθμός των ακατάλληλων στάσεων αυξάνεται – αλλά απαιτεί σημαντικά λιγότερους παράμετρους, και λιγότερη υπολογιστική ισχύ.

Ποσοστά απόδοσης του PoseGuard σε μετρήσεις γεννήτριας και άμυνας. Οι βέλη προς τα πάνω υποδεικνύουν μετρήσεις όπου υψηλότερες τιμές είναι καλύτερες· τα βέλη προς τα κάτω υποδεικνύουν μετρήσεις όπου χαμηλότερες τιμές είναι καλύτερες.

Ποσοστά απόδοσης του PoseGuard σε μετρήσεις γεννήτριας και άμυνας. Οι βέλη προς τα πάνω υποδεικνύουν μετρήσεις όπου υψηλότερες τιμές είναι καλύτερες· τα βέλη προς τα κάτω υποδεικνύουν μετρήσεις όπου χαμηλότερες τιμές είναι καλύτερες.

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

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

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

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

Αποτελέσματα για την αντοχή του PoseGuard ενάντια σε κοινές μετασχηματίσεις στάσεων.

Αποτελέσματα για την αντοχή του PoseGuard ενάντια σε κοινές μετασχηματίσεις στάσεων.

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

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

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

Τέλος, στην κύρια σειρά πειραμάτων, οι ερευνητές έτρεξαν το PoseGuard για γενίκευση – την ικανότητά του να λειτουργεί αποτελεσματικά σε νέα δεδομένα, σε eine σειρά περιβαλλόντων και περιστάσεων.

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

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

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

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

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

Ακατάλληλες εκφράσεις του προσώπου υποβαθμίζονται στο AniPortrait, με το νέο σύστημα.

Ακατάλληλες εκφράσεις του προσώπου υποβαθμίζονται στο AniPortrait, με το νέο σύστημα.

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

Οπτικά αποτελέσματα που δείχνουν τον τρόπο με τον οποίο το PoseGuard ανταποκρίνεται στην αναφορά-εικόνα-οδηγούμενη γεννήτρια.

Οπτικά αποτελέσματα που δείχνουν τον τρόπο με τον οποίο το PoseGuard ανταποκρίνεται στην αναφορά-εικόνα-οδηγούμενη γεννήτρια.

Συμπέρασμα

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

Από αυτή την άποψη, και πολύ περισσότερο στην περίπτωση των εκφράσεων του προσώπου, (οι οποίες μπορούν να είναι πολύ πιο αμφίσημες και νюανσες στην πρόθεση), το PoseGuard φαίνεται να είναι ένα κάπως αμβλύ εργαλείο. Για να το πούμε με άλλα λόγια, λόγω ενός γενικού ψυχολογικού αποτρόπαιου γύρω από το NSFW AI, FOSS κυκλοφορίες όπως το πρόσφατο Flux Kontext είναι συνήθως πολύ λογοκριμένα σε κάθε περίπτωση,, είτε μέσω αυστηρού φιλτραρίσματος του συνόλου δεδομένων, είτε μέσω επεξεργασίας βαρών, ή και των δύο.

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

Ένα σύστημα όπως το PoseGuard, όπου η βελτίωση επηρεάζει ενεργά την ποιότητα της έξοδου του βασικού μοντέλου (αunque αυτό παραβλέπεται στην εργασία), δεν στοχεύει στα API συστήματα καθόλου· τα online μόνο vanguard μοντέλα θα συνεχίσουν πιθανότατα να επωφελούνται από αнеξέλεγκτα δεδομένα εκπαίδευσης,既然 τα NSFW ικανότητες αυτών των μοντέλων ελέγχονται από σημαντικά μέτρα εποπτείας.

 

* Η μέθοδος είναι τόσο σύντομη εδώ όσο και στην εργασία (η οποία εκτείνεται σε μόνο πέντε σελίδες), και, όπως συνήθως, η προσέγγιση είναι καλύτερα κατανοητή από το τμήμα των δοκιμών. Πρώτη δημοσίευση Τετάρτη, 6 Αυγούστου 2025

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