Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Nvidia toont deeplearningmethode om gaten in afbeeldingen op te vullen

Nvidia heeft een eigen onderzoek gepresenteerd naar een manier om image inpainting uit te voeren, oftewel het wegwerken van gaten of beschadigde delen in een afbeelding. Het zet daarvoor deep learning in met een eigen techniek die voor betere resultaten zou zorgen.

Vergelijking door Nvidia

Volgens Nvidia is de methode niet alleen te gebruiken om missende delen van een afbeelding op te vullen, maar juist ook om elementen van het beeld weg te halen. Het bedrijf heeft een video gepubliceerd waarin het de werking van zijn methode toont. Deze zou in beeldbewerkingssoftware toegepast kunnen worden, aldus Nvidia. Het bedrijf claimt dat zijn model 'gaten van elke vorm, grootte en afstand tot de beeldrand' aankan. De details van het onderzoek staan beschreven in een paper.

Daarin schrijven de onderzoekers dat hun onderzoek verschilt van eerder werk, dat zich vooral zou richten op rechthoekige beelddelen in het midden van de afbeelding. De nieuwe methode zou echter ook werken met onregelmatige vormen. Bovendien zouden de tot nu toe voorgestelde methodes vaak leiden tot visual artifacts in het uiteindelijke beeld. Die wil Nvidia tegengaan door output voor missende pixels niet afhankelijk te maken van de input voor die pixels, aldus het bedrijf.

De onderzoekers gebruikten een dataset van ongeveer 55.000 masks voor trainingsdoeleinden. Het gaat dan om missende delen in afbeeldingen. De gebruikte afbeeldingen kwamen uit andere datasets, namelijk ImageNet, Places2 en CelebA-HQ. Het trainen vond plaats op een Nvidia V100-accelerator met 16GB aan geheugen.

Door

Nieuwsredacteur

79 Linkedin Google+

Reacties (79)

Wijzig sortering
In het dpreview artikel worden zowel de PS alsmede de nvidia resultaten vergeleken:
https://www.dpreview.com/...roduce-incredible-results

Current shortcomings aside, this particular tool—prototype or otherwise—appears to be leaps and bounds ahead of everyone else that's currently on the market. Unsurprisingly, there’s no word on when, or if, we’ll ever see this hit the market, let alone in the consumer market, but we'll keep our fingers and toes crossed.

Technisch gezien heel fraai dat dit kan. _/-\o_

MAAR het geeft natuurlijk wel te denken, dat anno nu, je eigenlijk geen enkel beeld meer kunt vertrouwen! Of het nou een stilstaand beeld is, of video materiaal.
Zoals hier ook al werd getoond:
nieuws: Filmmaker waarschuwt met nepvideo van Obama voor desinformatie
Waarbij Obama dingen zegt die hij nooit gezegd heeft! :X

[Reactie gewijzigd door ehtweak op 24 april 2018 12:36]

Bij ons op kantoor waarmerken ze voor gemeentes zulke dingen op blockchain (hash maken van het object en die registreren) en kan je in tegenstelling tot certificaten (wie vertrouwt de 3rd party?, Diginotar kom er maar in :P ) elk digitaal object veiligstellen dus ook zulke afbeeldingen.

Denk aan videos, images, documenten en geluidsopnames. Blijft raar dat de technologie er wel is om dit soort dingen weer het vertrouwen terug te geven maar dat het nog heel erg lang gaat duren voordat men die technologie omarmt. 8)7
Maar hoe weet je wat de gemeente ontvangt aan gegevens wel origineel is voordat het er een hash van genereert?
Dat ligt uiteraard aan de bron. Vandaar dat er nu in ketenverband pilots zijn waar verschillende overheidsorganisaties al hun gegevens hashen op de blockchain zodat ze allemaal weten of de informatie die ze delen ook de enige echte waarheid is.

Als je geinteresseerd bent moet je eens kijken op VNG pilotstarter.
Denk als je goed op pixel niveau gaat inzoomen dat je kan zien dat er een bewerking heeft plaatsgevonden.

Maar goed het zou nog mooier zijn als de techniek bij met meerdere foto's kan werken die vanuit verschillende hoeken genomen zijn en die tot 1 beeld kan combineren. Bijv je ziet nu in de bibliotheek ijzeren buizen voor boeken staan. Neem je foto van andere richting zie je wat achter de boeken staat. Die inhoud kun je dan weer vervangen met het beeld van voren en het ijzer weghalen.

Een foto kun je dan idd steeds minder vertrouwen. Dat zijn echter niet alleen foto's. Neem obama video die ook knap in elkaar gezet is en ze hem dingen laten zeggen die hij niet gezegd heeft.
We staan pas aan het begin van dit soort mogelijkheden.

Enige manier om voorlopig echtheid van foto te herkennen is rechtstreeks raw beeld zonder compressie, dat is stukken moeilijker te manipuleren zonder sporen. De nadruk op moeilijker.
Naast toepassingen voor films zie ik hier het nut niet van in. Dit is toch alleen maar hartstikke gevaarlijk? Stel je voor dat een groep hackers iets van de Russische staatsmedia overnemen en een video uitzenden waarin ze met AI Putin America rechtstreeks bedreigen, wat dan?

Ik begrijp echt niet waarom we als mens dit soort technologische ontwikkelingen willen hebben. Vraag me ook af hoe de mensen die dit zelf ontwikkelen hier in staan.
Zij zien de mogelijkheden. Niet enkel de gevaren. Als we ons moesten blind staren op de gevaren dan waren we nu nog in bomen aan het slingeren.
Daar heb je een punt. Toch zijn het wel degelijk de mensen die mogelijkheden zien, die onbewust gevaren onze wereld in helpen. Met als grootste voorbeeld natuurlijk Alfred Nobel, die dynamiet uitvond om de mensheid technologische vooruitgang te brengen (mijnbouw). Helaas bleek het ook een uitstekend oorlogswapen, waar de arme man tot aan zijn dood gewetensbezwaren over had.

Het is in mijn optiek dan ook terecht dat mensen kanttekeningen plaatsen bij technologie die misbruik gevoelig lijkt.
Bij deze uitvinding, is het noodzaak dat iedereen dit morgen in huis heeft.

Dan is video totaal niet meer betrouwbaar.
(Wellicht onhandig voor rechtzaken die rusten op video bewijsmateriaal).

Maar dan is het: "oh, alweer het zoveelste nep-filmpje van Trump die Putin uitdaagt".
Met het bekende: met een hamer kun je ook iemand doodslaan.
En ze hebben gelijk. Dit soort technieken ontwikkelen we nu eenmaal, en er zullen naast positieve altijd ook negatieve effecten of toepassingen zijn.
Leuk, maar de meeste voorbeelden had je evengoed met content-aware fill van photoshop kunnen doen.

Vooral de laatste met het oude mannetje vond ik wel meerwaarde hebben.
Wat een onzin. Heb het ff getest in photoshop.. precies dezelfde witte vlakken als in het voorbeeld opgevuld met content-aware fill:

https://travellingo.me/i/files/content-aware.jpg
Niet echt onzin. @Thierr86 heeft een heel goed punt. Uiteraard is Content-Aware van Adobe niet in staat om ogen op een gezicht te verzinnen. Daar is het ook niet voor ontworpen.
Je ziet overigens dat de gegenereerde ogen niet (goed genoeg) lijken op de originele fotos. Als je bijvoorbeeld aan het eind van het filmpje kijkt dat in één van de links staat, krijg je zelfs uiteindelijk een heel ander persoon. De voorbeelden in dit artikel zijn ook niet fantastisch.

Het is natuurlijk geinig dat het kan, maar in de praktijk niet echt zinvol voor veel toepassingen gezien het niet 'de juiste ogen' aanvult. In het filmpje 'shoppen' ze allerlei fotos en zie je on the fly de resultaten, en daar zie je erg veel overeenkomsten met Content Aware van Adobe. Welke beter functioneert zal vast te maken hebben de individuele use-cases. (uiteraard heeft Nvidia nu wat voorbeeldjes gepakt die goed uitpakken voor hen, net zoals Adobe dat doet met hun voorbeelden)
Uiteraard kan het het gezicht niet nabootsen, wat verwacht je dan? Hoe moet het algoritme weten hoe de originele persoon eruit zou zien? Dat is niet het idee. Het idee is dat het algoritme weet wat er in de plaats zou moeten komen. Dat het daadwerkelijk ogen selecteert en intekent en schaalt en kleurt (ook al komt het niet vaak mooi uit) is indrukwekkend. Daarnaast, als je hun paper leest zie je dat ze in hun onderzoek niet zomaar voorbeelden hebben uitgepikt die voor hen goed uitkomen; ze gebruiken de vaak gebruikte ImageNet en Places2 datasets zonder een preselectie te maken. Objectieve vergelijking dus, en niet zaken "die goed uitpakken voor hen".

Om hier even op verder te gaan. Erg veel personen die in de comments zeggen "dit is toch gewoon wat Photoshop kan". Klopt, deels. Ik stel voor dat je de paper eens leest. Als je werkt met convnets is het zeer interessant, maar als je een oppervlakkige lees wilt hebben, kijk je naar de tabel op pagina 12. PConv (hun methode) presteert zo goed als altijd betert dan de andere methode. PatchMatch is het algoritme dat door PS geïmplementeerd werd. PConv outperformt PatchMatch dus. De kwantitatieve verschillen zijn niet gigantisch, maar zoals alles met technologie is elke stap vooruit toch maar weer die stap vooruit. Kwalitatief schrijven ze:
It can be seen that PM may copy semantically incorrect patches to fill holes, while GL and GntIpt sometimes fail to achieve plausible results through post-processing or refinement network.
Een belangrijk gegeven is verder dat andere methoden vaak nog een post-processing stap hebben om ruis of blur tegen te gaan (een stap die computationeel erg zwaar is). Dat is bij Pconv niet nodig.

Ten slotte heeft PM ook geen besef van de semantiek: wat is er eigenlijk te zien op het plaatje? Uiteraard een van de zaken waar neural nets goed in scoren, zij kunnen wel goed patronen herkennen en categoriseren. Dit is duidelijk in het plaatje van @pim: Photoshop wéét niet dat het een gezicht is, en tekent dus hier en daar maar wat blurry pixels in plaats van de logische plaatsen in het gezicht compleet te maken.
PatchMatch [3], one of the state-of-the-art methods, iteratively searches for the best fitting patches to fill in the holes. While this approach generally produces smooth results, it is limited by the available image statistics and has no concept of visual semantics.

[Reactie gewijzigd door BramVroy op 24 april 2018 13:36]

wat verwacht je dan?
Niets meer dan wat ze al doen :) Sterker nog. Ik vind het zelfs redelijk indrukwekkend. Ik vind het een heel bijzondere techniek die zij hebben ontwikkeld, maar ik zie persoonlijk niet veel praktische toepasbaarheid van het 'invullen van gezichten' op het huidige niveau.
Hmm, wellicht om kwaliteit van beveiligingsvideos te vergroten. Dat de AI op een content aware manier details kan oppoetsen.

Of, om historische fotos/video's te restaureren.

Of om een berg(?) uit een afbeelding te fotoshoppen.
of die vervelende photobombers uit je fotos te scrubben. :+
En als je je dataset vult met photobombers, kun vlakken weggummen waar je juist wel photobombers wilt hebben ;)
Aangezien content aware fill er niet voor ontworpen is en ook geen gezichten kan verzinnen, zoals je zelf al zegt, is het dus wel degelijk onzin dat je voor deze voorbeelden even goed content aware fill had kunnen gebruiken.
Het 'stukje' gezichten inderdaad, maar als je naar de rest van de voorbeelden kijkt (zie het filmpje in de link) dan zie wel degelijk dat het erg veel overlap heeft.
Ik zei "voor de meeste voorbeelden". Misschien had ik beter kunnen zeggen "voor alle voorbeelden behalve gezichten". Het bleek 50-50 te zijn.

8)7 Aapje :-)

[Reactie gewijzigd door Thierr86 op 24 april 2018 13:41]

Het is natuurlijk geinig dat het kan, maar in de praktijk niet echt zinvol voor veel toepassingen gezien het niet 'de juiste ogen' aanvult.
Typisch voor algoritmen: het resultaat is statistische aannemelijkheid en die klopt vrijwel nooit in individuele gevallen.
Als je je datasets wat toepast op het gender/leeftijd, dan krijg je in theorie wel een goed beeld, maar dan ook een heel generiek persoon die niet overeenkomt met de daadwerkelijke persoon (die info mist namelijk?).

Wellicht dat als je alleen de linkerhelft van het gezicht hebt, hij de rechterhelft realistisch kan generen?

Wellicht zou je bij compositie nog extra factoren aan kunnen passen (bijvoorbeeld: "de dader had een grote neus”, en dat met een kekke slider aanpassen) of meerdere opties genereren waarbij de slachtoffer de meest overeenkomende moet aanklikken (als je een tijdje d'r mee door gaat moet er een goed beeld uit komen, als de AI ook hiervoor ingesteld is)
Wat een onzinreactie ja. Ik zei met een reden "de meeste voorbeelden".

Leuk dat je nu specifiek de gezichten eruitpakt, maar probeer het nu eens met de bibliotheek en canyon.
Dat oude mannetje? Je bedoelt Ernest Borgnine uit Airwolf..
Ugh, de man speelde in klassiekers als "From here to Eternity", The Poseidon Adventure en "The Dirty Dozen". Hij won een Oscar voor "Marty"!

En waar kent iedereen hem van ... Airwolf :X
Ik geloof op Veronica, na The A-Team......
Je heb daar vier films van 90-150min, een aantal waarvan hij nog niet de wel bekende diepe lijnen heeft in het gezicht. Airwolf had vier seizoenen, in totaal 80 afleveringen van 40-45min, hij zat in 55 van de afleveringen. Dat is een hele hoop meer exposure...
Ergens snap ik het wel, maar het is gewoon jammer. Airwolf was leuk vermaak, maar hij heeft zoveel betere films gemaakt. Ik noemde alleen de films die zo snel in mijn hoofd opkwamen. Maar ik weet dat ik hem in meer films heb gezien.
TUUUU TU TU TU TUUUUUU TU TU TU TUUUUUU TA TA-TA TAAA TA TATA TA TA :+
Blijft een oud mannetje :-P
Jullie hebben het over verschillende foto's. Jij hebt het over het plaatje in het artikel. @Thierr86 heeft het over de laatste foto in het filmpje.
Zucht, inderdaad -_-' (Video niet bekeken, alleen het plaatje dat @pim had toegevoegd.)
Niet bepaald, het is toch ècht Ernest Borgnine...
Dat "oude mannetje" is Ernest Borgnine, je weet wel, van Airwolf.
Dezelfde nitwits die begrijpen dat je niet van geen data, data kan maken. Dat het trucje in dit geval beter lukt, wil niet zeggen dat het niet nog steeds slechts een trucje is. De ogen kloppen dan ook van geen kant en dus heb je er verder geen zak aan.
Wellicht nitwits die wél begrijpend kunnen lezen. Waar geef ik aan dat het hetzelfde proces zou zijn?

Er is een reden waarom ik zei "de meeste voorbeelden". Het vervangen van ogen of wenkbrauwen gaat content aware fill niet kunnen. Logisch.

De andere voorbeelden (canyon/bib/grond) had je evengoed kunnen oplossen met content aware fill.
Eerlijk gezegd klinkt het eerder dat jij degene bent die niet weet waar ie het over heeft :-)
Wow dat is echt gaaf. Maar hoe vullen ze bijvoorbeeld de kleur van de ogen als de input afbeelding uberhaupt geen deel van de ogen beschikbaar heeft? Bizar :D

Edit: Ah, in de demo halen ze dus eerst 1 oog weg, waardoor het algoritme nog een basis heeft om het weer terug in te vullen en als ze de 2e ook weghalen is degene die als eerst weer ingevuld is de basis daarvoor. Okidoki.

[Reactie gewijzigd door Spooksel op 24 april 2018 11:56]

Niet; maar wat op den duur wel zou kunnen is een analyse op basis van huidskleur, afkomst, haarkleur, etniciteit, en daar een gemiddelde op bepalen. (Bijv. iemand met een donkere huidskleur heeft doorgaans geen blauwe ogen, iemand die een lichte huidskleur en veel sproeten heeft is sneller geneigd om roodharig te zijn, zeker als de geotagging aangeeft dat de foto in Ierland gemaakt is — even als voorbeeld.

Je zou dit dan als aanvulling op compositietekeningen kunnen gebruiken van de politie.
Of ze zoeken internet af naar een afbeelding van dezelfde persoon voor de info.
Tehee, je laat een AI een compositie genereren en die gooi je in google-images om die tot een persoon te herleiden? (:
haha ik heb 1 bruin/grijs en 1 blauw oog.. hmm ben benieuwd hoe zulke software daarmee om zal gaan
Niet. Informatie die niet door middel van machine-learning te bepalen is zal je niet snel in zo'n algorithme krijgen. 1 bruin, 1 blauw komt voor, maar het is heel uitzonderlijk. Daar zal het niet vanuit gaan.
Behalve als je dataset enkel bruin/grijs-geoogde bevat.

En omdat de AI niet echt "direct" geprogrammeerd is als een functie die het resultaat berekend, kan er misschien wel iets heel verrassends uit komen.

Dat hij bevoorbeeld wel kan inschatten of iemand twee verschillende oogkleuren heeft (omdat zijn lippen dan een lichtere tint hebben en zijn oorlel kleiner is of zo iets).

Dan kan het zijn dat je zomaar achter verbanden binnen DNA komt die puur in uiterlijk zitten.

Of dat je gezicht + fingerprint inleert, en er dan achter komt hoe deze twee aan elkaar relateren.
En de rest van de opgevulde gebieden lijkt niet meer te wijzigen naargelang er geleidelijk meer en meer informatie weggehaald wordt. Het lijkt dus alsof de dataset getraind is om héél specifieke resultaten weer te geven, waardoor ik denk dat het erop of eronder is met dit algoritme.
ah, maar dat is wel een beetje cheaten dus :) dan gebruiken ze informatie die in het 'uiteindelijke origineel' niet meer zit..
Nuja, het punt is dat ze een dataset beschikbaar hebben en de AI deze patronen probeert te matchen.

De data van het origineel zit er zeker niet meer in (alleen een statische waarschijnlijkheid).

Echter, zou je de AI trainen met duizenden foto's van het gezicht van Trump, dan kun je vervolgens overal het gezicht van Trump op toepassen (zelfs op een deurklink).

Eigenlijk een: ”waarschijnlijke vervanging op basis van je dataset."
Als je een afbeelding van een sleutel hebt (en getraind met een grote collectie aan sleutels, maar niet met die afbeelding), dan verzint die dus een sleutel (die vrij generiek zal zijn), maar die zal niet passen op je slot.
Ik denk eerder dat het systeem kijkt naar de rest van het gezicht en haar en inschat welke kleur ogen het meest voor de hand ligt. Als er naar het andere oog gekeken zou worden denk ik niet dat er ineens zoveel makeup op zou zitten aangezien dat ook niet het geval is bij het oog wat er nog zat toen het eerste oog weggehaald werd.
Hm, dit doet me denken aan een Reddit hype een tijdje geleden die iets met gezichten deed van bekende mensen...?
In welk opzicht lijkt dit er op dan? Daar werden hoofden/gezichten met goed bronmatriaal vervangen. Hier ligt dat toch anders en is vervangen niet het oel maar aanvullen.
Dan verwijder ik net als in de video het gezicht :P Hier zal ook goed bronmateriaal nodig zijn. Het werkt nog niet voor video's, maar voor foto's kan dit ook al een zorgwekkende voortgang zijn.

[Reactie gewijzigd door Stoelpoot op 24 april 2018 12:44]

Als het werkt op een foto, werkt het ook op een video (imho, aaneenvolging van afbeeldingen?)

Zeker als AI rekening houdt met het vorige plaatje (om niet glitchy the sprongetje te krijgen).

Het vervangen van een hoofd kan met deze tool (lijkt me) door als dataset alleen het hoofd dat je wil gebruiken te nemen.
De ogen van de vrouw en de man op het eind werden hetzelfde. Het lijkt er dus op dat je templates of delen content mee kan geven als input dat gebruikt kan worden?

Edit: Oh, las het laatste alinea van het artikel niet, mijn fout :P

[Reactie gewijzigd door Iva Wonderbush op 24 april 2018 11:56]

Ziet er best gaaf uit! Ben benieuwd hoe dit werkt als je grote objecten in een afbeelding weghaalt?
In het laatste voorbeeld is aan het einde vrijwel de gehele originele foto vervangen.... dus daar kan je het zien.
Lijkt een beetje op een deel van de functionaliteit van "Deep Image Prior" (link)
Ik moest toevallig zelf ook een foto restaureren voor een klant; daar was de helft van een gezicht weggevallen door waterschade of schimmel op de foto. Hoe ik het aanpakte is een spiegel maken van de andere kant en vervolgens handmatig de symmetrie "kapot maken" anders krijg je een uncanny valley effect (het voelt raar aan). Dus je gaat haar anders stylen, wenkbrauw beetje bijscheren, schaduw shapen etc.

Resultaat is dat de klant heel blij was haar dierbare weer terug te zien (gelukkig is het gelukt). Dit zou je dus ook met deeplearning goed kunnen doen.
Content Aware Fill?
-Adobe
Inderdaad een soortgelijke functie. Maar content aware fill gebruikt (voor zover ik het weet) geen deep learning om oppervlakken te vullen.
precies, dit systeem kijkt veel meer naar de context, content aware zal geen gezichten interpreteren en ogen en neus toevoegen.
Dan is het alsnog een photoshop achtig verhaal. De originele data krijg je hier tenslotte niet mee terug.
Je wordt weg gemod, maar niet geheel terecht. NVIDIA kiest er inderdaad zelf voor om in de demo zaken te laten zien die de CAF-functionaliteit in Photoshop ook prima zou kunnen. Wat deze nevernooit zou kunnen is bijvoorbeeld een oog invullen, dat vereist wel even iets meer dan "content awareness", dat vereist beeldherkenning, patroonherkenning en tot bepaalde hoogte ook "stijl"-herkenning. Plus een databank aan voorbeelden waaraan de gehele afbeelding (of een groot stuk om de gum heen) moet worden blootgesteld om matches te kunnen vinden voor input voor het netwerk. Wat is dit? Haar. Ok wat zit er omheen? Huid. Hoe sluit haar aan op huid? Nou ... vaak zo! Etc. etc. en dat over ontzettend veel data. Gaaf hoor :D !
Handig voor de WOB verzoeken.
ik denk dat zelfs met deze tool van sommige documenten niks te maken is XD
https://static.businessin...000000000032eac/image.jpg

Op dit item kan niet meer gereageerd worden.


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Samsung Galaxy S9 Dual Sim OnePlus 6 Battlefield V Microsoft Xbox One X Apple iPhone 8

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V. © 1998 - 2018 Hosting door True

*