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

Door , , 19 reacties

Onderzoekers van het MIT hebben een nieuw algoritme ontwikkeld dat het herkennen van objecten zou kunnen verbeteren en versnellen. De code is met name nuttig voor robots die gebruikt worden voor bijvoorbeeld het uitvoeren van eenvoudige huishoudelijke taken.

Bij het herkennen van objecten wordt de kans op een correcte herkenning door een algoritme aanzienlijk groter als een beeldsensor vanuit meerdere hoeken beelden schiet in plaats van slechts één kijkhoek. Vanuit dit gegeven hebben MIT-onderzoekers een bestaand algoritme aangepast dat onder andere wordt toegepast in radarsystemen. Daarbij genereert het algoritme meerdere ideeën over wat een object kan zijn door deze hypothese te vergelijken met andere afbeeldingen, schrijft het MIT.

Om het herkenningsmechanisme niet te traag te laten worden, wordt alleen de meest waarschijnlijke hypothese vastgehouden, terwijl de minder waarschijnlijke herkenningen worden verwijderd. Desondanks is het algoritme nog vrij traag doordat de laatst vastgestelde hypothese nog moet worden nagelopen.

De MIT-onderzoekers kwamen op het idee om het algoritme zo aan te passen dat niet alle aannames worden verwijderd, maar slechts een deel. Voor de selectie worden willekeurig samples uit het totaal gekozen. Omdat er gemiddeld veel overlap is in de hypothesen, ontstaat er op den duur consensus over wat het object zeer waarschijnlijk is, bij een bepaald aantal samples. Door een aantal slimme vergelijkingsmethodes met beelden vanuit verschillende hoeken, zou het algoritme aanzienlijk sneller zijn dan de 'oude' methode.

Volgens de onderzoekers kan het algoritme goed gebruikt worden voor robots die objecten snel moeten kunnen herkennen. Daarbij is tijdens proeven vooral gekeken naar objecten die in een huishouden te vinden zijn.

Moderatie-faq Wijzig weergave

Reacties (19)

Er wordt elke keer geschreven over 'langzaam' en 'snel', maar in welke orde van grootte hebben we het hier? Duurt het 20 i.p.v. 5 ms, of hebben we het werkelijk over seconden of zelfs minuten?
(Ik mag hopen dat we met de huidige processorsnelheden het hier over verschillen in ms gaat...)
In de praktijk hangt dit doorgaans af van de gebruikte resolutie; een algoritme loslaten op een 640x480 webcam plaatje gaat (heel) veel sneller dan datzelfde algoritme gebruiken op een 20 megapixel DSLR foto. Likewise, laat je dat algoritme draaien op een i7 of op een embedded chipje maakt enorm veel uit voor de snelheid.

Hierdoor is vooral het verschil in snelheid van belang: sneller is beter, mits accuraatheid gelijk blijft. Voor een robot die bewegende objecten moet kunnen volgen, of voor een robot die zelf beweegt, zul je doorgaans de condities zo aanpassen dat het algoritme toch wel met een paar honderd miliseconden klaar is.

Doe je dat niet, dan krijg je effecten als Shakey the robot, een van de allereerste "zelf-redenerende" robots. Zijn beeldherkenningsalgoritme was zo traag, dat hij soms in de war raakte van de verandering in zijn schaduw veroorzaakt door de beweging van de zon.
Omdat er heel veel factoren zijn die de snelheid beïnvloeden.
Stel je hebt een algoritme dat een lijst sorteert:
Hoe groter, de lijst, hoe langer het duurt,
Hoe beter je processor, hoe sneller,
Hoe beter de programmeertaal, de compiler, de RAM, de cache, hoeveel programma's er open staan, de...
Héél veel factoren dus. Zelfs zoveel, dat zeggen "Op deze computer met deze specificaties" al gauw onnauwkeurig wordt.

Op deze pagina kun je er meer over leren.
En je gaat er al heel naief van uit dat 't algoritme draait op een conventionele personal computer.

Tegenwoordig zijn bijvoorbeeld FPGAs en met name hybride FPGA/CPU SOCs heel populair om in te zetten voor dit soort taken, omdat die volledig parallel kunnen werken, en, voor robotbesturing heel interressant, realtime response hebben. Voor een quadcopter die zelfstandig zijn weg moet zoeken en objecten ontwijken een heel geschikt platform.
Zo'n "embedded chipje" gebruikt dan maar een paar Watt max, maar laat die i7 ver achter zich als het om dit soort taken gaat.

GPUs lenen zich in het algemeen niet goed voor objectherkenning.
De code is met name nuttig voor robots die gebruikt worden voor bijvoorbeeld het uitvoeren van eenvoudige huishoudelijke taken.
En heel handig voor de opsporingsdiensten voor het scannen van afbeeldingen die 'verdachten' uploaden in de cloud of elders. Je kan dan in de toegevoegde data de omschrijving zetten van wat er op foto's staat en zo makkelijker bewijslast of informatie verzamelen.

Of

Voor bedrijven kun je betere advertentie en zoeksuggesties tonen aan hun gebruikers.

[Reactie gewijzigd door nul07 op 13 januari 2015 15:57]

Gefeliciteerd, je hebt binnen 6 minuten na het posten van het nieuwsbericht direct de standaard dooddoeners voor dit soort nieuws uit de kast gehaald.

Op de een of andere manier lijkt het alsof iedere uitvinding die gedaan wordt tegenwoordig, per definitie de nek omgedraaid moet worden vanwege (i) opsporingsdiensten of (ii) advertentiegiganten. Ja, privacy is belangrijk, maar laten we niet helemaal te hard van stapel lopen. Vroeger was het nieuws dat er een nieuw algoritme was, of een snellere processor nog positief, nu wordt zoiets al ontvangen met "dat is handig voor opsporingsdiensten, kunnen ze sneller data decrypten."

Een gezonde hoeveelheid wantrouwen is prima, maar als ik sommigen hier lees, dan kunnen we beter terug naar de tijd met paard-en-wagen, handgeschreven boeken en ruilhandel.
Topwetenschappers waarschuwen voor kunstmatige intelligentie die een gevaar kan vormen voor de mensheid.

KI wordt stapje voor stapje beter. De vraag is: welk stapje wordt ons fataal?
Dit stapje niet, daar ben ik zeker van. Maar zullen we op tijd stoppen?

Verder kan dit algoritme ingezet worden voor uitbreiding van de surveillance staat, die een bedreiging voor ons allen is.
Objectherkenning betekent: "Is het een mens?", maar niet "Is het Jolanthe?"

Het gaat hier om systemen die objecten als "tafel" en "vogel" kunnen onderscheiden. Dat is een heel andere vraagstelling dan "gegeven dat het object een mens is, wie is het?" wat de typische gezichtsherkenning zou doen.

NB: Topwetenschappers, zoals Asimov?

NB2: En bij "KI" denk ik aan iets heel anders dan kunstmatige intelligentie.

NB3: De surveillance staat is geen "bedreiging voor ons allen". Je zou kunnen zeggen "een bedreiging voor onze vrijheid", maar voor onze veiligheid is die alleen maar heilzaam.
Inderdaad, het moet natuurlijk AI zijn en geen koeiesperma.

Het kunnen onderscheiden van objecten is voor AI natuurlijk wel van belang. De machine is beter in staat om objecten te herkennen. Dus ook objecten die mensen bij zich hebben. Dat kan weer ingezet worden in de surveillancestaat.

De surveillancestaat is zeker wel een bedreiging voor ons allen, maar heeft mogelijk positief effect op onze veiligheid.

Asimov staat er niet bij. Wel Elon Musk, Stephen Hawking en een heleboel anderen.
http://www.automatisering...s-erkennen-gevaren-van-ai
http://www.automatisering...n-artificial-intelligence
http://www.engineersonlin...-voor-gevaren-van-ai.html
Voor onze veiligheid ?

Ieder voordeel heeft zijn nadeel, maar beargumenteer dan waarom het veiliger zou worden.

NSA slaat gigantisch veel gegevens op, maar de mens is niet goed genoeg om die data te verwerken en het juiste eruit te halen. Waardoor focus VAAK op verkeerde dingen ligt.

en niet alleen NSA ook AIVD, MIVD etc...

ik ben het niet meteen eens dat een surveillance staat een directe bedreiging is maar ook niet het ultimatum van veiligheid.

Ieder zijn eigen mening en kijk hierop tho.
En heel handig voor de opsporingsdiensten voor het scannen van afbeeldingen die 'verdachten' uploaden in de cloud of elders. Je kan dan in de toegevoegde data de omschrijving zetten van wat er op foto's staat en zo makkelijker bewijslast of informatie verzamelen.
Tja, als we zo gaan denken kunnen we helemaal niets meer ontwikkelen, want.... |:(

Beeldherkenning is van algemeen nut, en wordt ook gebruikt door opsporingsdiensten. Datzelfde geldt voor spraakherkenning, etc...Dat iets door de inlichtingendiensten gebruikt kan worden moet geen reden zijn om het dan maar niet te ontwikkelen.
Voor bedrijven kun je betere advertentie en zoeksuggesties tonen aan hun gebruikers.
Deze snap ik eerlijk gezegd niet zo. Waar raakt objectherkenning bij foto's of videobeelden aan advertenties en zoeksuggesties?
Als facebook jou vaak in de kroeg ziet omdat ze barkrukken, bier, vrouwen herkennen, dan heeft het nut om die fotos te analyseren en je op basis van je levensstijl relevante aanbiedingen te doen.
Hoe sneller ze dat doen, hoe meer objecten ze kunnen herkennen hoe beter ze kunnen sturen met advertenties.
Goed punt; zo had ik het nog niet bekeken.
Het voordeel van de methode die ze beschrijven is juist dat vanuit meerdere gezichtspunten gekeken wordt, en deze data vergeleken worden. Ik ga er even vanuit dat een 'verdachte' sowieso al weinig bezwarende info naar de cloud upload, maar al helemaal niet gefotografeerd uit 6 richtingen.
Vraag me af hoe 'nieuw' dit is, het artikel gaat gewoon over 'feature detection', met de toevoeging een object van meerdere kanten te willen bekijken om deze detectie beter te doen.

Punt is dat het 'een object van meerdere kanten bekijken' echt niet nieuw is, sterker nog, je ziet babys dit zelfs doen, leuk dat er nu een 'algoritme' is bedacht waarmee je (neem ik aan) wat makkelijker feature detection data van 2d bronnen kan combineren in 1 object, maar het is zowel in de natuur als in de IT al lang en breed gedaan.

Ik had meer intresse gehad in een systeem wat diepte berekeningen doet met meer dan 2 camera's, dat zal de kwaliteit van de diepte data een stuk beter maken, waarna je ook weer feature detection kan doen op de 3d data om het object te herkennen. Verschil hierbij is dat de camera's op een statief een centimeter van elkaar kunnen staan en dan nog steeds slagen, in het geheel wat het artikel beschrijft moeten er echt op meerdere posities rondom een object cameras hangen, of moet de robot rond het object gaan, wat in de praktijk natuurlijk nooit handig is.

Ik vraag me trouwens af waar de (niet alpha/beta) OpenCV 3 blijft, die zou toch eind vorig jaar uit hebben moeten komen?

[Reactie gewijzigd door olivierh op 13 januari 2015 17:23]

Het wordt gepubliceerd in een peer-reviewed journal, International Journal of Robotics Research, dat wat betreft impact factor op nummer 3 staat op het gebied van robotics. Nieuw zal het dus wel zijn, anders was het nooit door de peer-review gekomen bij zo'n journal.
Ik hoopte even op een nieuwe doorbraak zoals SIFT dat was toen het uitkwam, maar zo te zien gaat het meer om een machine learning aanpak dan computer vision.

Ruikt wat naar een Monte Carlo aanpak...
met name nuttig voor robots ...
"Wheels" zal er niet blij mee zijn !
Klinkt alsof men het korste pad algortime A* (een slimmere variant van Dijkstra algortime (minder overhead)) heeft toegepast op beeldherkenning, je neemt steeds de meest logische weg, zo rechtmogelijk met de minste weerstand op je doel af.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True