Apple toont AI-model dat afbeeldingen bewerkt op basis van tekstprompts

Apple heeft een machinelearningmodel uitgebracht waarmee gebruikers afbeeldingen kunnen bewerken. Ze moeten hiervoor een tekstprompt invullen, bijvoorbeeld 'verwijder de vrouw uit de foto', waarna automatisch de gewenste bewerking wordt uitgevoerd.

Het machinelearningmodel, MGIE, kan verschillende soorten bewerkingen uitvoeren, waaronder afbeeldingen bijsnijden, draaien en de helderheid aanpassen. Ook kunnen Photoshop-achtige manipulaties worden uitgevoerd. In een voorbeeld dat Apple in zijn onderzoekspaper toont, kunnen gebruikers bijvoorbeeld groenten toevoegen aan een foto van een pizza salami of iets anders weergeven op het beeldscherm van een afgebeelde laptop.

MGIE maakt gebruik van multimodal large language models om het verzoek van gebruikers te kunnen begrijpen en vervolgens tot op de pixel nauwkeurige aanpassingen te kunnen maken, legt Apple uit. Het bedrijf heeft hiervoor samengewerkt met onderzoekers van de Universiteit van Californië.

De code, data en voorgetrainde modellen van MGIE zijn op GitHub geplaatst. Ook is er een demo beschikbaar op Hugging Face Spaces. Het is nog onduidelijk waar Apple dit AI-model voor wil gaan gebruiken.

Apple MGIE-AI-model

Door Kevin Krikhaar

Redacteur

08-02-2024 • 08:42

42

Submitter: JapyDooge

Reacties (42)

42
41
15
0
0
13
Wijzig sortering
dit kan toch allemaal al? er zijn een aantal image generators op basis van tekst prompts. AI porno zit er vol mee. Zeker het niveau wat hier getoond wordt.

Wat betekent tot op de pixel nauwkeurig? er worden nl pixels geëdit. het is niet zo dat je met een tekst prompt individuele pixels edit. Of ik begrijp niet wat hier bedoeld wordt.

wel handig hoor, daar niet van.
dit kan toch allemaal al? er zijn een aantal image generators op basis van tekst prompts.
Nee, voor zover ik voorbij heb zien komen zijn dat allemaal gehele image generators en ze kunnen helemaal niets met bestaande images (behalve er op getrained worden). Je kan vaak ook niet verder variëren op een specifieke generated images, het zijn allemaal nieuwe images op basis van dezelfde text input en je heb het maar te doen met wat de AI genereert. Hiermee kan je op basis van bestaande images aanpassen wat je wil, wat je veel meer flexibiliteit geeft, helemaal als je daarnaast ook nog eens eerst de hele image kan genereren via AI en dan via Apple AI kan aanpassen naar je wensen. (remove sixth finger) ;)
Inpainting is inprincipe wat gebruikt wordt in Stable Diffusion voor het aanpassen van een deel van een afbeelding. Inage2image kan je gebruiken voor het manipuleren van iets bestaands denk aan ‘disneyfication’ op een bestaand persoon, ook daar snapt SD wat ie ongeveer ziet en past dat aan
Niet helemaal, je moet daar ook weer handmatig een masker maken en tot op zekere hoogte weet het wel de context, maar zoals je ziet in het voorbeeld veranderd het alles in het hele masker.

Van de Stable Diffusion page:
Inpainting is an indispensable way to fix small defects.
Wat ik hier lees is dat de Apple methode geheel werkt via text input. Dus als je aangeeft: "Voeg de missende rechter arm toe en verander het gezicht zodat het er natuurlijker uitziet.", laat het Apple model de rest van het model met rust ipv. een complete nieuwe image generation van binnen het masker.

Ik vind een mooi voorbeeld uit de paper juist: "it should be a pizza on the tray", waarbij alle donuts worden vervangen door een pizza op dezelfde tray.

Bron:
https://en.wikipedia.org/wiki/Inpainting
https://stable-diffusion-art.com/inpainting_basics/
Het is zeker de volgende stap en maakt het nog makkelijker. Maar ik kan zeker wel een afbeelding van een pizza erin gooien, beetje spelen met noise met image2image en vervolgens ook die pizza manipuleren. Denk zelfs tot een enigszins vergelijkbaar resultaat. Echter vereist het ‘t juiste model, een juiste prompt, een balans tussen de hoeveelheid (de)noising, de seed en meer. En dat is een hoop meer werk dan het model van Apple :)


What a time to be alive!
Tuurlijk bestaat dat wel al.
Je kan al heel lang een deel van een foto laten veranderen door AI.

Hier kan je het zelfs vanuit uw browser doen.
https://www.phot.ai/object-replacer
Of deze is zelfs gratis:
https://www.lightxeditor.com/photo-editing/ai-replace/

Dit was zelfs allemaal al mogelijk 7 jaar geleden:
https://www.youtube.com/watch?v=rAbhypxs1qQ
Al is de kwaliteit wel veel verbeterd sindsdien.

[Reactie gewijzigd door Honytawk op 22 juli 2024 23:38]

Het bestaat inderdaad al waarbij jij als gebruiker handmatig met behulp van inpainting een object weghaalt. Zover ik kan weet is dit een MLLM dat de context snapt van wat er in de foto gebeurt, en waarbij je kan aangeven om iets te verwijderen uit deze context. Iets toevoegen via een prompt kan alwel met andere modellen.
Yes en dat zit al vele jaren in photoshop, dat is wat anders dan dit.
"Op basis van tekstprompts"

Met jouw voorbeelden moet je met een kwast aan de gang om het te vervangen gebied te markeren.
ze kunnen helemaal niets met bestaande images (behalve er op getrained worden)
Euh, wat een onzin spui jij hier nou???

Stable Diffusion is hier net helemaal rond gebouwd (STABLE zit in de naam) en kan van de ene naar de andere afbeelding gaan. Natuurlijk wordt het vaak gebruikt om geheel nieuwe afbeeldingen te genereren, maar eigenlijk ben je dan ook image 2 image aan het doen, want dan vertrek je van willekeurige ruis.

Stable Diffusion heeft de functies inpainting en image2image om afbeeldingen met AI (deels) te transformeren.

Maar goed, de Apple fans negeren wederom de realiteit en gaan doen alsof Apple vernieuwend is en dit hele concept heeft uitgevonden :+

[Reactie gewijzigd door kiang op 22 juli 2024 23:38]

Wellicht zeg ik het verkeerd... NUB! ;)

Met image2image verander je de hele image (of helemaal niets als je denoising strength op 0 zet), niet slechts een deel van de image.

Met inpainting verander je slechts een deel van de image, maar nog steeds de hele selectie gebaseerd op denoising strength waarde. En met inpainting doe je dat handmatig met een voor geselcteerde regio.

Wat ik in deze paper zie is dat er een of meerdere zaken uit kunnen worden gehaald, zonder manual actions, puur op basis van tekst input, maar laat de rest van de image met rust. Nogmaals, het voorbeeld van de donuts vervangen door pizza. Dat gaat niet werken met img2img, want het hele plaatje word opnieuw gegenereerd. Als je alleen de donuts maskeert met inpainting, dan zit je met de ruimte ertussen en er buiten, als je de hele schaal maskeert, veranderd ook de schaal onder de donuts/pizza. Daarnaast vallen de wijzigingen niet buiten het masker.

En nee, de Apple fans negeren niet de realiteit. Ik zie hier een implementatie verfijning die ik bij andere oplossing nog niet heb gezien, iets waar Apple historisch gezien erg goed in is. En ik zeg expres, 'nog niet heb gezien' omdat ik niet alles heb gezien rond image generation/manipulatie.

Bron:
https://www.youtube.com/watch?v=2hH2-esDBQY
Je zegt het vast nog altijd niet goed, want ik lees alleen maar "ja ok het kan al maar ik zeg toch dat het anders is want donuts hebben een gat".

Wat we hier zien is dus gewoon inpainting, maar dan met een automatische selectiestap. Erg leuk, best handig, maar ik zie daarom nog altijd niets dat erg bijzonder is. Meer nog: het kan ook fout gaan als de AI verkeerd begrijpt wat je selectiecriterium is.

Overigens: met inpainting krijg je echt geen probleem met je donuts, inpainting houdt gewoon rekening met de regio buiten je selectiegebied, en je kan gewoon het gat van de donut mee selecteren ;) Geen idee waarom je nu verzint SD dan de hele schaal vervangt of andere problemen oplevert. Waaorm wil je zo krampachtig doen alsof Apple hier iets unieks doet?

[Reactie gewijzigd door kiang op 22 juli 2024 23:38]

ik zie wat je bedoeld. Er zijn er wel waar je images invoert waar de generator dan vanuit gaat. Maar idd niet met de preciesie van een beeldscherm herkennen en daar een ander beeld inzetten. Dat werpt ook wat meer licht op pixel precies. Dat beeldscherm voorbeeld is eigenlijk wel het meest interessant.
Je kan vaak ook niet verder variëren op een specifieke generated images, het zijn allemaal nieuwe images op basis van dezelfde text input en je heb het maar te doen met wat de AI genereert.
MidJourney houd wel degelijk rekening met de eerdere versie van een afbeelding als je die verder wilt uitbreiden / aanpassen. Vaak genoeg "Use this image" met een referentie zien voorbij komen, en als je dan de verdere instructies leest, kan je vaak niet uit opmaken wat het onderwerp op de originele afbeelding moest zijn, dus dat wordt wel degelijk weer geïnterpreteerd (of dat image reading is, of metadata die mogelijk in de originele AI generated content staat, daar heb ik me niet in verdiept?)

Echter :
- verder werken op basis van een afbeelding anders dan door de AI zelf gecreëerd of
- een beperkt maar specifiek onderdeel van de afbeelding aanpassen

heb ik in MJ ook nog niet gezien.
Apple wil zo weinig mogelijk afhankelijk zijn van anderen vermoed ik.
Als ik zo kijk naar het onderschrift van de afbeelding en de eerste paar pagina’s van het paper. Was niet perse het doel om image generation / manipulation op zich te maken. Maar het probleem oplossen dat AI prompts ongericht zijn. Ze hebben nu een language model gemaakt die de afbeelding inslikt samen met een prompt. Daarna gebruiken ze die betere prompt in hun diffusion algoritme.
Images genereren is wat anders dan images bewerken, waarbij ook allerlei content herkend moet worden.
Bestaande images aanpassen alleen op basis van een tekst prompt is compleet nieuw.
Tot nu toe moet je nog altijd met handmatige maskers werken.

Het gaat nu heel hard met AI. Volgende stap worden vast voice commands.
Hoe lang zou het duren voor: "Hey Siri, verwissel mijn ex op alle vakantie foto's met mijn vrouw."

:P
Hoe kom je er bij dat dat compleet nieuw is? Bestaande imanges aanpassen alleen op basis van een tekst prompt zie ik mensen al een jaar doen met andere tools. (o.a. photoshop)
Ook zonder handmatige maskers.
dit kan toch allemaal al?

is dat niet wat apple, tesla eva doen? gebruik bestaande technieken, verbeter of intergreer deze in een "nieuw" product?
klopt. Waarom een min 1?
Als ze dit verbinden met Siri dan heb je een hele mooie gebruiksvriendelijke manier om foto's te bewerken.
Dat is natuurlijk precies het idee..

Apple is zelden de eerste met implementatie van nieuwe techhnologie/ideeën, tenzij ze er écht een use-case voor kunnen bedenken die door veel mensen ook gebruikt kan en zal worden.

Apple past al veel 'AI'-achtige modellen toe in hun foto-processing, bv. voor detectie van personen/dieren om deze helderder te weergeven nadat de foto is gemaakt. Maar dit is gewoon de volgende logische stap.

En daarbij willen ze niet afhankelijk zijn van andere modellen, maar er 1 hebben die volledig geoptimaliseerd is voor hun systeem en architectuur. Want je kunt er donder op zeggen dat al die AI-tools van Apple lokaal op je device gaan draaien ipv cloud-achtige oplossingen zoals Chat-GPT.
Siri en gebruiksvriendelijk? Ik denk dat er veel plaatjes zullen komen die of compleet verkeerd zijn of die de tekst "dit heb ik op het web gevonden, je kunt er op je iPhone naar kijken" bevatten.
Die pizza ziet er na de interpretatie en representatie van de AI meer uit als een jaren oud petrischaaltje dan een gezondere Pizza, maar goed dit zijn nog maar concepts.
Afbeeldingen genereren met tekst is niet lastig (meer). De juiste en goede beelden generen wel.
En de goede tekst formuleren die beschrijft wat je nu eigenlijk wil. Dat is niet alleen voor dit soort toepassingen van belang maar eigenlijk voor alles. Als mensen ergens slecht in zijn dan is het het beschrijven van wat men nu eigenlijk wil hebben :-) iedereen die wel eens met product requirements te maken heeft zal dit ongetwijfeld herkennen.

[Reactie gewijzigd door Frame164 op 22 juli 2024 23:38]

Het werd eens tijd dat toegankelijke AI door een grote partij ontwikkeld wordt als tool voor de gebruiker en niet als quasi-betaalde Adware om data en ideeën van gebruikers te krijgen. Dit is een belangrijke eerste stap voor de ontwikkeling en proliferatie van goede AI.
Siri gaat soms al de fout in bij het zetten van een timer: "Zet timer op vijf minuten" kan zomaar een timer van een paar uur worden. Ik ben een (over het algemeen) tevreden gebruiker van Apple spul maar AI van het bedrijf zal ik niet snel omarmen..
Dat Siri bagger is heeft andere redenen, zie https://www.youtube.com/w...=ygUKY29sZGZ1c2lvbg%3D%3D voor wat meer uitleg over Apples AI ambitities en waarom Siri zuigt
Google heeft ook een assistent, en de AI bard, daar is de assistent ook dommer dan een auto van 20 jaar oud. Geen idee waarom het zo moeilijk is die dingen te combineren
Is dit niet een opstapje om later via Voice foto's te kunnen aanpassen?
Voice is voor je computer niets meer als tekst (omgezet uiteraard), dus het onderscheid tussen beide is er niet. De “tekst prompt” uit het Paper mag je dus gerust lezen als “Voice input.”

[Reactie gewijzigd door Aiii op 22 juli 2024 23:38]

Precies dat, en in het ergste geval zit er dan nog een andere AI tussen welke de speech to tekst doet, maar zolang je welke input dan ook naar tekst kan parsen (dat kan bij wijze van spreken ook gebarentaal zijn) dan kan een AI die tekst accepteert dat natuurlijk weer als input krijgen en zijn kunstje doen.
Vraag die ik me stel is
- Gebruikt Apple hiervoor haar eigen Neural Engine
Zo ja
- Hoe goed presteert deze
Check de github. Daar staat de hele mikmak met instructies mocht je de tijd hebben, ga er mee aan de gang en laat ons je ervaringen horen. Het lijkt veelbelovend.
Lijkt me sterk. Voor lokale beeldgeneratie heb je een dikke videokaart nodig. En dan nog kan het even duren. Het lijkt me sterk dat een neural engine van een paar watt aan een grote videokaart kan tippen. Dus dan kun je niet alleen koffie halen, maar heb je die koffie ook op tegen de tijd dat er een plaatje verschijnt.
Je kan specifieke code uitvoeren in SW op generieke hardware. Dit geeft je veel vrijheid in de code en de hw is flexibel. Echter, er zijn veel commando's nodig om zaken uit te voeren

Je kan ook specifieke code uitvoeren op specifieke HW, dan zijn de taken in de HW en extreem veel sneller. Nadeel is dat de code in de HW vast zit.

Voorbeeld, Apple ProRes zit hardware matig in de M Serie en dat vliegt als poep door een gans.
Videokaarten hebben ook AI hardware. Nvidia heeft Tensor Cores en AMD heeft 'AI accelerator' cores. Vergelijkbaar met de Neural Engine cores van Apple. Met dat verschil dat een Nvidia/AMD GPU een paar honderd watt kan gebruiken.
True, daarom vraag ik me ook af wat ik mij afvraag.
Heb dit even getest met een vrij simpel plaatje, met de instructie "vervang dit door dat en laat de rest hetzelfde" (iets uitgebreider en in het Engels natuurlijk). Er komt helemaal niets van terecht. Er komt wel een afbeelding terug, maar die lijkt niet op het origineel. Iemand betere ervaringen?

Op dit item kan niet meer gereageerd worden.