Amazon-app kan met ai klerenfoto scannen en geeft productsuggesties voor webshop

Amazon kondigt StyleSnaps aan, een feature in de Amazon-app waarmee gebruikers een gemaakte foto kunnen laten scannen, waarna kunstmatige intelligentie op basis daarvan suggesties geeft met links naar Amazon-producten die op het gefotografeerde kledingstuk lijken.

Met StyleSnap kunnen gebruikers een screenshot of een zelfgemaakte foto selecteren en deze door de tool laten scannen. Nadat de foto op een aantal punten is gescand, wat ongeveer een of een paar seconden in beslag neemt, worden vergelijkbare items uit de Amazon-webshop getoond die wat het uiterlijk betreft overeenkomen met het kledingstuk van de foto.

Amazon stelt dat het bouwen van deze feature geen eenvoudige opgave was, mede omdat gemaakte foto's volgens het bedrijf onvoorspelbaar kunnen zijn doordat de perspectieven, poses en locaties heel gevarieerd kunnen zijn. Om toch de gefotografeerde kledingstukken te kunnen identificeren heeft Amazon computer vision en deep learning toegepast, om bijvoorbeeld de items te kunnen classificeren in categorieën zoals 'flanellen shirts' of een bepaalde soort jurk.

Om het toegepaste neurale netwerk een groot aantal klassen te laten identificeren zijn er meerdere lagen gebruikt. Zo worden bij de eerste lagen vooral de hoeken en kleuren geïdentificeerd, terwijl het netwerk bij de middelste lagen patronen als spijkerstof of gebloemde kleding herkent. Nadat het algoritme door alle lagen heen is, zou het in staat moeten zijn om vrij accuraat de pasvorm en de maat uit het kledingstuk van de afbeelding te identificeren.

Volgens Amazon wordt daarbij het vanishing gradient problem omzeild. Daarbij gaat het om de situatie waarbij het signaal van de trainingsdata van het neurale netwerk te ver wordt uitgesmeerd over de verschillende lagen, waardoor er effectief geen sprake meer kan zijn van identificeren. Naar eigen zeggen heeft Amazon om dit probleem op te lossen residual networks ingezet; daarmee worden er als het ware snelkoppelingen toegepast om het trainingssignaal bepaalde lagen in het netwerk te laten overslaan.

Dat zou het netwerk helpen om basisaspecten eerst te leren, waarna het zich vervolgens op complexere aspecten kan richten. Daarmee zou het netwerk nieuwe concepten kunnen leren, maar tegelijkertijd ook zaken onthouden die het in het verleden heeft geleerd. Volgens Amazon is dat laatste cruciaal voor StyleSnap, omdat het gaat om het effectief verwerken van grote datavolumes

Vooralsnog werkt de toevoeging alleen op het Amerikaanse gedeelte van de app. Eerder bracht Amazon ook de Echo Look uit, een speaker annex kledingstijl-adviseur. Stylesnap lijkt overigens een doorontwikkeling van de al langer in de Amazon-app aanwezige 'search with camera'-functie. Daarbij kan er direct een foto vanuit de app worden genomen van een willekeurig product, waarna er op dezelfde manier suggesties van Amazon-producten worden getoond.

Door Joris Jansen

Redacteur

06-06-2019 • 14:16

47

Reacties (47)

Sorteer op:

Weergave:

Kan tweakers alsjeblieft stoppen met de term A.i. / kunstmatige intelligentie. Dit bestaat nog steeds niet. Ook dit is weer een toepassing van Machine Learning. Er is niks intelligents aan, het is een aangeleerd truukje.
Machine learning is toch een vorm van AI? Dat is volgens mij wel hoe het in het algemeen gebruikt wordt, zo ook volgens Wikipedia (nadruk door mij):
Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use in order to perform a specific task effectively without using explicit instructions, relying on patterns and inference instead. It is seen as a subset of artificial intelligence.

https://en.wikipedia.org/wiki/Machine_learning
En van de AI Wikipedia pagina
Colloquially, the term "artificial intelligence" is used to describe machines that mimic "cognitive" functions that humans associate with other human minds, such as "learning" and "problem solving".

https://en.wikipedia.org/wiki/Artificial_intelligence
AI hoeft dus niet per se intelligent te zijn op de manier waar je op hint.

[Reactie gewijzigd door Verwijderd1 op 23 juli 2024 07:59]

Is jouw kennis niet ook allemaal gebaseerd op aangeleerde truukjes?

Wat is de scheidslijn tussen machine learning en AI?
Bij machine learning geven we volgens mij vooralsnog altijd een voorgedefinieerde manier van leren op. Je maakt bijvoorbeeld een CNN met bepaalde parameters en daarmee ligt de layout van het netwerk vast. Het leren vult vervolgens de inhoud van die nodes, ook weer volgens de input die de maker eraan geeft.

Volgens mij is het nog niet het geval dat je een computer data geeft en zegt wat het moet gaan leren (bijvoorbeeld: een set foto's met labels en 'ga foto's met labels leren') en dat de computer dan zelf de architectuur kiest en optimaliseert. In dat geval zou je een computer dat kunnen laten doen en papers publiceren op basis van wat de computer bedenkt.

Nu is het volgens mij nog omgekeerd, mensen bedenken architectuur, laten de computer die architectuur invullen en publiceren vervolgens de resultaten in een paper.
Nou, een biologisch neurologisch netwerk, zoals het menselijk brein, is om te beginnen ook niet structuurloos. En je leert doordat je respons op gewaarwordingen leiden tot aangename dan wel onaangename ervaringen. Dat is bij supervised learning met een kunstmatig neuraal netwerk niet fundamenteel anders. De echte verschillen liggen vooral in schaalgrootte.
Klopt, maar de structuur in ons brein is een gevolg van 'leren' over heel veel generaties en evolutie. De structuur van het brein is niet een input van iemand die het netwerk beheert of gemaakt heeft (wellicht wel in bepaalde geloofsovertuigingen :P ).

Vooralsnog is dat bij het maken van netwerken in een computer wel (volgens mij). Het kan best zijn dat netwerkstructuur door de computer aangepast wordt, maar volgens mij is dat dan vooral op basis van de input van een mens (of iig een een voorgedefinieerde manier waarop de netwerkstructuur aangepast wordt).

In tegenstelling tot bovenstaande zou je ook dynamisch de netwerkstructuur aan kunnen passen zoals evolutie dat in mensen dieren gedaan heeft / doet. Volgens mij wordt dat nog niet gedaan en ik vermoed dat dat vooral een hoop rekenkracht kost. Je kan immers zoveel kanten op (oneindig veel meer dan door alleen dingen in de nodes aan te passen*?) en je moet toch flink wat stappen maken om te bepalen of een bepaalde keuze zin heeft of niet.

* En dat in die nodes kunnen we vooral snel met GPUs, vooral omdat het allemaal matrixoperaties zijn. Zodra je de structuur overhoop gooit loop je daar denk ik ook tegen een moeilijkheid aan.

Edit: dit wordt nu wel gedaan (zie deze paper, allemaal recent nog) binnen hetzelfde design. Bijvoorbeeld in een CNN met genetische algoritmes de architectuur optimaliseren. Wel blijft het daarbij binnen CNN, het is dus (vziw) het optimaliseren van hyperparameters door de computer.

[Reactie gewijzigd door Verwijderd1 op 23 juli 2024 07:59]

Klopt, maar de structuur in ons brein is een gevolg van 'leren' over heel veel generaties en evolutie. De structuur van het brein is niet een input van iemand die het netwerk beheert of gemaakt heeft (...).

Vooralsnog is dat bij het maken van netwerken in een computer wel (volgens mij).
Precies. Wat denk je dat "kunstmatig" betekent...?
Niet waar je op hint (dat het niet zelf kan leren hoe te leren). Het artificiële, voor zover ik kan vinden, zit hem puur in het feit dat het op een machine draait en niet in iets levend. Wikipedia heeft het over "intelligence exhibited by machines and software". ;)
Daar hint ik niet naar...

In "kunstmatig" zit toch net het onderscheid tussen een machine en iets levends.
Klopt, maar de structuur in ons brein is een gevolg van 'leren' over heel veel generaties en evolutie.
Leren binnen één generatie (wat mensen ook wel eens doen) en zonder evolutie, is nog steeds leren. En de algemene layout vh brein ligt ook van tevoren vast (genetisch bepaald).
De structuur van het brein is niet een input van iemand die het netwerk beheert of gemaakt heeft
De structuur vh brein is deels wel bepaald door input afkomstig van bvb ouders en docenten.
Ik denk dat wat jij onder AI verstaat, "general purpose" AI wordt genoemd - wat nog niet bestaat.

[Reactie gewijzigd door BadRespawn op 23 juli 2024 07:59]

[...]


Leren binnen één generatie (wat mensen ook wel eens doen) en zonder evolutie, is nog steeds leren.
Klopt, en dat is wat huidige AI modellen doen.
En de algemene layout vh brein ligt ook van tevoren vast (genetisch bepaald).
Is dat zo? Ik ben geen neuroloog en heb heel weinig verstand van hoe een menselijk brein werkt. Ik kan me best voorstellen dat er nieuwe neuronen bijkomen en afvallen en dat de structuur dus ook gedurende een leven veranderd.

Heb het even gezocht en het blijkt dus inderdaad zo te zijn dat ook neuronen in de hersenen veranderen:
Neurons tend to change over time because of development and maturation during the period of adolescence in an individual’s life. They also tend to change and repair themselves as a result of brain injury, in which the neurons are re-wired according to the injury (Wibiwo, 2008).

[...]

However, before this had occurred, there were studies which involved rats, which entailed that one area of the brain was damaged – resulting in the brain cells surrounding this damaged area to undergo necessary changes in function, and thereby allowed them to take on the function of the damaged cells. Similarly, was with the case of Jodie, in which her brain had the ability to repair the damage itself (Finger, & Almli, 1985).
Het is dus allemaal niet vanzelfsprekend en ik vermoed dat neurologen dit ook allemaal nog niet doorgrond hebben.
De structuur vh brein is deels wel bepaald door input afkomstig van bvb ouders en docenten.
Ik denk dat wat jij onder AI verstaat, "general purpose" AI wordt genoemd - wat nog niet bestaat.
Ik denk dat er inderdaad heel veel stimuli zijn die invloed hebben. Veel dingen zijn echter wel hetzelfde maar de schaal waarop is denk ik niet vergelijkbaar met de hersenen.

Een schoolvoorbeeld van een neural network kun je tekenen door nodes en edges, vergelijkbaar met een kleuter die een huis tekent als een rechthoek en een driehoek. De AI die nu toegepast wordt en in papers verschijnt is deze vergelijking het werk van een city planner. De hersenen zijn wellicht iets als Google Maps, veel groter, vereist veel meer werk.

Om die vergelijking in perspectief te zetten. Het menselijk brein heeft zo'n 86 miljard neurons. Dat zegt misschien niet zoveel, maar bedenk je dat de manier waarop die neuronen geschakeld zijn de structuur bepalen. Welke neuronen zijn verbonden, welke niet, en welke functie heeft die neuron.
Ik kan me best voorstellen dat er nieuwe neuronen bijkomen en afvallen en dat de structuur dus ook gedurende een leven veranderd.
Dat is ook zo, en bij een kunstmatig neuraal netwerk gebeurt dat niet, maar dat verandert niet de algemene layout (aantal lagen, terugkoppeling).
Om die vergelijking in perspectief te zetten. Het menselijk brein heeft zo'n 86 miljard neurons. Dat zegt misschien niet zoveel, maar bedenk je dat de manier waarop die neuronen geschakeld zijn de structuur bepalen. Welke neuronen zijn verbonden, welke niet, en welke functie heeft die neuron.
Dat veranderd niets aan het feit dat beide een neuraal netwerk zijn, en fundamenteel veel meer overeenkomsten hebben met elkaar dan met traditionele programma code. In ieder geval wordt machine learning wel AI genoemd, ook al vindt TS dat Tweakers dat niet moet doen.
[...]


Dat is ook zo, en bij een kunstmatig neuraal netwerk gebeurt dat niet, maar dat verandert niet de algemene layout (aantal lagen, terugkoppeling).
Weet je dat zeker? Met 86 miljard neuronen moet je denk ik wel op microniveau kunnen kijken hoe dat het netwerk in de hersenen beïnvloedt. Zoals ik al zei weet ik daar vrij weinig van, dus ik kan het niet ontkrachten. Gezien de complexiteit neig ik er echter naar dat het wel de structuur op microniveau kan veranderen, al was het maar sporadisch. Zo zie je dat bijvoorbeeld ook bij dna, dat muteert ook en dat is de basis van evolutie. Waarom zou dat in de hersenen niet kunnen?
[...]


Met 86 miljard neuronen moet je denk ik wel op microniveau kunnen kijken hoe dat het netwerk in de hersenen beïnvloedt.
Het aantal lagen veranderd niet, en ook niet tussen welke lagen terugkoppeling is. Dat is wat ik bedoel met de algemene layout, en dat staat los van veranderingen op microniveau.
Na wat googlen lijkt het er wel op dat je gelijk hebt. De meeste delen bestaan dus uit een paar lagen met heel veel neurons per laag?

Ik neem aan dat je dat uit achtergrondkennis oid wist, want het is volgens mij niet vanzelfsprekend dat dat zo is. ;)
Neurale netwerken werken nu eenmaal met lagen, alhoewel een één-laags netwerk ook mogelijk is, maar dat is veel minder krachtig.
Er zijn op Tweakers ongetwijfeld mensen die er veel meer van weten dan ik, naar ik heb ooit eens gespeeld met neural netwerk software (freeware), en eea gelezen over de werking van de hersenen, oa dat het visuele systeem werkt met lagen van abstractie: al direct achter de retina, ahw nog in het oog, wordt in volgorde van abstractie eerst contrast tussen twee naast elkaar gelegen lichtsensors gedetecteerd, van daaruit worden lijnen gedetecteerd en vervolgens simpele geometrische vormen (driehoek, vierkant, cirkel e.d.), allemaal in verschillende gespecialiseerde subnetwerkjes/lagen die de input van de vorige laag verwerken en output leveren aan de volgende laag. Hogere abstractie zoals detectie van "auto" of "konijn" worden in de hersenen gedaan.
Ik weet dus wel wat (meer) van de AI kant maar niet zozeer van de hersenen. De architectuur van neurale netwerken is gebaseerd op de hersenen maar in hoeverre ze overeenkomen weet ik dus niet precies. In de eerdere geposte link hebben ze het over de hoeveelheid lagen in sommige delen van de hersenen, dat aantal valt me erg mee, echt maar een paar in sommige delen dus. Dat is dus al een contrast met AI waar je vrij makkelijk een laag erbij of eruit kan halen (waarna je wel opnieuw moet trainen).

Een ander mogelijk verschil is hoe de verbindingen werken. In de hersenen zijn dat stroompjes en in AI zijn dat getalletjes, vectoren die tussen de nodes over en weer gaan. Hoe dat dan precies zit in de hersenen is wel een interessante vraag. Zijn dat analoge stroompjes of is het bijna binair (stroom vs. geen stroom)?

En zo zullen er vast nog wel meer parallellen zijn die voor interessante vergelijkingen zorgen. Misschien niet direct nuttig voor AI, maar wel interessant als achtergrond.
Er zijn verschillen, en er is veel over de werking vd hersenen wat we niet weten en dus ook niet in AI nabootsen.

Maar m.i. het voornaamste is dat ook kunstmatige neurale netwerken informatie verwerkende 'algoritmen' ontwikkelen door te leren adhv voorbeelden, ipv door letterlijk die algoritmen te schrijven.
Dat staat blijkbaar los van of de signalen analoog of binair zijn (waarbij reeksen van binaire waarden heel goed analoge waarden kunnen vertegenwoordigen), en staat blijkbaar ook los van details over biologische neurale netwerken die we nog niet weten.
Maar m.i. het voornaamste is dat ook kunstmatige neurale netwerken informatie verwerkende 'algoritmen' ontwikkelen door te leren adhv voorbeelden, ipv door letterlijk die algoritmen te schrijven.
Ja, en die toepassing is vooral nodig bij hoogdimensionale data. Waar een piloot veel kan doen zonder te zien wat er buiten gebeurt (maar wel de informatie van allerlei sensoren uit kan lezen) kun je als autobestuurder eigenlijk niets als je niet naar buiten kan kijken.

Dat is ook waarom een automatische piloot simpeler is dan een zelfrijdende auto. Die auto heeft sensoren nodig die een stroom van hoogdimensionale data geeft (lidarr en camera's bijvoorbeeld) en hoe daarmee om te gaan kan je moeilijk in gewone algoritmes omvatten. Bij vliegtuigen kan dat makkelijker (o.a. automatische piloot gedurende de vlucht en landen via sensoren op het vliegveld).
Slechts patroonherkenning zonder recursie of reflectie.
AI is een wat gehypte term op dit moment, net zoals big data enkele jaren terug. AI = Aangeleerde Intelligentie (in de meeste gevallen) :P
Dit kan al vrij lang met de aliexpress app toch?
In China is dit al geruime tijd mogelijk binnen de Taobao en JD apps. Dit werkt zowel met fotos als AR. Pas hier nog een festival geweest waar het gecombineerd werd met een live modeshow.
Jep, maar of het daar goed met kleding werkt weet ik niet. Heb het tot nu toe alleen 'eenvoudige' producten gebruikt.

[Reactie gewijzigd door lohost op 23 juli 2024 07:59]

Google doet dit ook hoor. Ze adverteren het hier o.a. voor bedrijven (bijvoorbeeld om hun eigen afbeeldingclassificatie netwerk intern te beginnen?)

Voor consumenten eindgebruikers denk ik vergelijkbaar met Google Lens.
Maar, kunnen ze ook klerefoto's interpreteren ? *badumtsjjj*
_/-\o_

Jawel, hij is leuk!

[Reactie gewijzigd door pepsiblik op 23 juli 2024 07:59]

Om het toegepaste neurale netwerk een groot aantal klassen te laten identificeren zijn er meerdere lagen gebruikt. Zo worden bij de eerste lagen vooral de hoeken en kleuren geïdentificeerd, terwijl het netwerk bij de middelste lagen patronen als spijkerstof of gebloemde kleding herkent.
Dat klinkt als een "convolutional neural network", dat is de techniek achter wat "deep learning" genoemd wordt. Al deze systemen werken grofweg volgens bovenstaande stramien. Het begint met een laag die eenvoudige "features" herkend zoals "horizontale streep" of "rondje" of zo iets. Vervolgens worden die eenvoudige features in hogere lagen gecombineerd tot steeds complexere features. Zo ga je bv van "streep+streep+streep naar" "ribbels". Je maakt steeds complexere features tot je het juiste niveau van detail hebt bereikt. Bv "ribbels+bruin+broek" -> 'corduroy pantalon' en 'pantalon+colbert+vest' -> 'pak', 'pak+schoenen+stropdas' -> 'zakelijke kleding', of zo iets.

[Reactie gewijzigd door CAPSLOCK2000 op 23 juli 2024 07:59]

Deze mag van mij naar +3. :Y)
Dat zijn allemaal classificatiesystemen. Er zijn ook andere vormen van machine learning.

Denk aan generative adversarial machine learning: twee machines die tegen elkaar opboksen om het beste iets te krijgen. Wikipedia heeft een aantal voorbeelden.

Een andere mooie is autoencoder. Dat lijkt redelijk op wat je beschrijft, maar dan moet je ook nog terug. Stel je krijgt dus al die kledingstukken van jou, dan moet je die zo kort mogelijk beschrijven zodat je daarna het origineel weer terug kan maken. In vectortaal komt het dus neer op dimensionaliteitsreductie, hoe kun je een vector van grootte 1920x1080 (zeg een FHD screenshot) in 32x32x32 kleurdiepte het beste samenvatten zodat je het weer zo goed mogelijk naar het origineel terug kan brengen?
Dat zijn allemaal classificatiesystemen. Er zijn ook andere vormen van machine learning.

Denk aan generative adversarial machine learning: twee machines die tegen elkaar opboksen om het beste iets te krijgen. Wikipedia heeft een aantal voorbeelden.
Waarbij wiki het "Generative adversarial network" noemt en het omschrijft als neuraal netwerk; beide systemen (CNN en GAN) zijn neurale netwerken, en dat is een belangrijke overeenkomst met biologisch neuraal netwerk. Het is niet vreemd dat een neuraal netwerk in beginsel zowel kan classificeren als creëren.
Klopt, maar zo blinken verschillende technieken gebaseerd op neurale netwerken toch uit op verschillende dingen. CNN is bijvoorbeeld heel goed in het werken met afbeeldingen, volgens mij omdat het over de pixels itereert, andere toepassingen kunnen dat bijvoorbeeld met netwerken en zo zijn er meer specifieke toepassingen die uitblinken in andere dingen (woorden zijn bijvoorbeeld weer anders).

[Reactie gewijzigd door Verwijderd1 op 23 juli 2024 07:59]

Volgende stap is het toevoegen van "virtueel pashokje". Lichaam scannen, i.c.m. kledingstijl en de juiste maat voorstellen. Een webwinkel die dit voor elkaar krijgt met als gevolg dat het aantal retourzendingen minder wordt, wint.
Het zou pas écht revolutionair zijn als ze net dat ene overhemd weten te presenteren dat ff anders en verrassend is. Ik zit niet zo te wachten op meer van hetzelfde.

Voor mij ( en ik besef dat dat persoonlijk is) is shoppen een jacht naar iets moois en aansprekends. De kracht van het menselijk brein is dan ook om juist die dingen er uit te pikken. Zelfde geldt voor zelf bestellende koelkasten en boodschappen services. De leuke dingen vind je juist niet op de main stream services

[Reactie gewijzigd door divvid op 23 juli 2024 07:59]

Snel maak een foto van het tweakers logo :)
We staan nog maar aan het begin van het AI-tijdperk, en de marketingjongens zijn er natuurlijk al als de kippen bij om het in te zetten voor hun geestdodende advertentiecampagnes. Neem nu maar liever zelf geen beslissingen meer, domoor, laat de AI je maar vertellen wat hip en cool is en wat je moet kopen-kopen-kopen. Advertenties als levensadem van de moderne mens. Ronduit zielig.
Amazon staat echt wel vooraan wat AI betreft. En in tegenstelling tot wat je zou verwachten niet in de VS maar in Berlijn. Politico had er pas nog een achtergrondartikel over, zeker een aanrader om door te lezen.
En uw privacy? Kan Amazon zo niet uw gezondheidstoestand "opvolgen" en nog veel andere zaken die je misschien niet wil? Zien of iemand in gezegende toestand is enz...
Klerenfoto * huh?! Kledingfoto?

Huh waarom -1 Google geeft als suggestie zelfs kleurenfoto, snap -1 niet?!

[Reactie gewijzigd door Pizzaballs op 23 juli 2024 07:59]

Die -1 komt doordat je dit niet hier hoort te melden, maar gewoon via het Feedback topic welke je rechtbovenin de pagina kunt vinden ;)

[Reactie gewijzigd door TweakOverflow op 23 juli 2024 07:59]

Dank je, snap ik ook. Een verleidelijke, pakkende, sterke titel vind ik aangenaam, maar dit vind ik onduidelijk en wanstaltig.

Op dit item kan niet meer gereageerd worden.