3D - syn för räddningsrobotar att kartlägga ett område i 3D Kognitionsvetenskapliga programmet, 729G50 HT 2007 Ann-Sofie Larsson, 830806-2925
Sammanfattning Den här uppsatsen handlar om en av de nya metoderna som håller på att utvecklas för att förbättra möjligheterna för räddningsrobotar att utföra sina arbetsuppgifter. En metod är förmågan att kunna se på objekt i form av 3D i realtid och samtidigt kunna hålla reda på vart något befinner sig i ett område. Denna metod består av två delar. En bit handlar om att urskilja särdrag ur en bild så att det blir möjligt att känna igen landmärken även om roboten har olika synvinklar när den fångar ett objekt på bilder. Särdragen i bilderna utgörs av ett antal nyckelpunkter som är oberoende av olika storlekar på bilderna och olika synvinklar ifrån samma objekt. Den andra delen handlar om att fånga objekt på bild i 3D i realtid. Det görs genom att planlägga ett område i färger som är i form av ljusvågor via en projektor. Genom den här tekniken är det möjligt att rekonstruera objekt som är i 3D. Det är även möjligt att mäta avstånd utifrån projektorn till 3D former som är i och i olika bildskalor men också storleken på deras form.
Innehållsförteckning INLEDNING...1 BAKGRUND URBAN SEARCH AND RESCUE (USAR)...1 USAR ROBOTAR OCH DERAS MILJÖ...1 Typer av USAR robotar...1 HUR EN SÖKNING GÅR TILL...2 Sensorer...2 SLAM problemet...2 3D KARTLÄGGNING I REALTID...2 SIFT (SCALE INVARIANT FEATURE TRANSFORM)...3 SIFT S FYRA STEG...3 Scale-space Extrema Detection:...3 Lokalisering av nyckelpunkter:...4 Tilldelning av riktning:...4 Nyckelpunkts deskriptor:...4 SIFT SOM GRUND FÖR 3D SYN HOS RÄDDNINGSROBOTAR...4 Identifiering av nyckelpunkter:...5 Kluster av nyckelpunkter:...5 Sökning av kluster och deras nyckelpunkter i fyra steg...5 Jämförelse 2D och 3D...7 Matchningar kluster emellan...7 EN TEKNIK FÖR REALTIDS 3D BILDVISNING - DIGITAL MARGINAL PROJEKTION...7 KÄLLFÖRTECKNING...10
Inledning Tekniken för räddningsrobotar är något som ständigt utvecklas. Det dyker hela tiden upp nya metoder för att försöka hitta lösningar på problem som finns med räddningsrobotar. Problemen finns både i själva tekniken hos räddningsrobotarna men också i själva miljön där robotarna arbetar. Jag vill med den här uppsatsen undersöka en av de nya teknikerna som håller på att utvecklas för räddningsrobotar. Mitt syfte är att undersöka vilka möjligheter det finns för 3Dvisualisering hos räddningsrobotar när de söker igenom olika katastrofområden efter överlevande. Hur fungerar den här 3D tekniken? Vilka utmaningar finns med att konstruera ett sånt här system? Bakgrund Urban search and rescue (USAR) Urban serach and rescue är planen som utförs när en byggnad har kollapsat. Den går ut på att försöka hitta och rädda människor som är fångade under rasmassorna. Det kan vara byggnader som har kollapsat på grund av bombdåd, jordbävningar eller andra orsaker. [4] USAR robotar och deras miljö Kollapsade områden väldigt farliga miljöer att arbeta i för människor så därför har man börjat använda räddningsrobotar. Miljön där är farlig därför att det kanske brinner på vissa ställen, är syrebrist på andra, gasläckor, el-ledningar, vassa föremål eller så kan det bli ett andra ras. [4] Miljöerna i kollapsade områden är väldigt oförutsägbara. Det kan till exempel börja regna eller brinna. Inuti rasmassorna är omgivningen täckt i grå damm från allt byggnadsmaterial som ligger i spillror överallt. Det kan även finnas massor små hål som kan bli en dödsfälla. [2] Räddningsrobotar är en fördel i USAR-situationer för att de kan gå ned i öppningar som är för farliga eller för små för människor och räddningshundar. Dessa öppningar är viktiga att söka igenom för att de kan leda till ett offer. Sökandet kommer igång fortare när man låter en USAR robot gå in i rasmassorna. Byggnadsstrukturen kanske först måste förstärkas eller så kanske en eld måste släckas innan människor kan gå in och det kan ta flera timmar. [4] Typer av USAR robotar Det finns ingen speciell design för räddningsrobotar. Det finns många olika typer av öppningar som ska utforskas och därav behövs det flera olika typer av USAR robotar. Det behövs flera sorter av storlekar och lösningar på framkomligheten hos räddningsrobotarna. [4] 1
Bilden visar några exempel på olika designer av USAR robotar som finns. [4] En räddningsrobot är inte helt självständig ifrån människan. Det krävs minst två operatörer för att sköta en robot. Operatörerna har rollen som åskådare. De är ansvariga för att jobba inuti roboten och ser det roboten tar in via sina sensorer på en dator. Operatörerna behöver till viss del styra roboten på avstånd om det behövs eller kanske programmera om något om något oväntat skulle hända. [1] Hur en sökning går till Först bestäms det vilken typ av robot som är lämplig för att gå in i en speciell öppning i rasmassorna. Att låta en robot utforska en miljö kan delas in i två delar. Först ska det avgöras vart den ska och med tanke på att den ska utforska allt så fort som möjligt för att hitta så många överlevande som möjligt. Det måste också avgöras på vilka ställen det troligtvis är störst chans att hitta någon. [2] Sensorer För att upptäcka offer som kan vara dolda under alla rasmassor så behövs olika typer av sensorer. Sensorer som kan fånga olika gestalter som kan likna en människa. Det finns också andra typer som fångar upp rörelser, kameror, kroppsvärme och koldioxidsensorer som kan mäta halten av koldioxiden. [4] SLAM problemet Uppdraget för roboten och operatörerna är att hitta överlevande och gör de det. Då ska statusen för offret försöka att avgöras. Lever offret så ska roboten stanna till dess att någon ur räddningsteamet kan få ut den överlevande. Då är det viktigt att roboten vet vart på ett ungefär var den befinner sig i rasmassorna så att räddningsmanskapet sedan kan ta sig in och rädda offret och sedan ta sig ut igen. Det är här SLAM (simultaneous localisation and map building) problemet kommer in. Förutom en lokalisering så måste det också göras en bedömning av vilket skick omgivningen är i. Alltså hur stabila rasmassorna är och om det finns några andra faror i närheten. [4] Problemet handlar om hur det är möjligt för en USAR robot att börja på en okänd plats i en okänd miljö. För att sedan göra en karta av den här omgivningen samtidigt som den hela tiden ska hålla reda på var den är. [5] För att roboten ska kunna ta sig ut igen så kan en vägplanering vara bra för operatören att avgöra vilka vägar som är bra och andra som är dåliga för roboten att ta. Vilka hål till exempel som bör undvikas. [4] 3D kartläggning i realtid Goldie Nejat, Hong Guo, Zhe Zang och Peisen Huang är några forskare och de har utvecklat en metod som räddningsrobotar skulle kunna ha hjälp av när de navigerar sig runt i en USAR miljö. Det är ett 3D sensor system i realtid. Dess funktion är se till så att roboten vet vart i miljön den befinner sig och ge roboten möjlighet att konstruera en karta av den här omgivningen. Med den här sensorn så har dessa forskare lyckats kartlägga ett område som är i spillror i 3D i realtid under ett test. Men testet har inte tillämpats i riktiga USAR situationer än 2
så länge. Bilderna klarar av att visas upp i 60 bildrutor per sekund. Sensorn kan jobba i dunkla och mörka ljusförhållanden. [7] För att kunna göra en så korrekt 3D karta som möjligt så ska programmet i roboten ha förmågan att identifiera och matcha landmärken och kunna ta itu med SLAM problemet. Flera försök har gjorts för att bemöta det här problemet. Forskarna Nejat, Guo och Huang har tagit hjälp av en metod som heter Scale invariant feature transform (SIFT ). [3] SIFT (scale invariant feature transform) Lowe heter personen som har utvecklat algoritmen SIFT som gör att maskiner kan se i omgivning genom att urskilja utmärkande särdrag ur en bild. Den kan användas för att se på ett objekt eller scener utifrån olika vinklar. [3] Särdragen som SIFT fångar upp särdrag är oföränderliga i förhållande till bildens skala, rotation, ändring av synvinkel. Lowe menar att särdrag är väldigt urskiljande. Ett särdrag kan då därför jämföras med andra särdrag i en stor databas och då är det stor sannolikhet att matchningen blir rätt. Metoden har visat sig ge en kraftig matchning även att det har varit stora förvrängningar av synvinklar och varierande belysning. [3] SIFT s fyra steg Algoritmen består av fyra huvudsteg: [5] Scale-space Extrema Detection: Första steget är att leta efter alla nyckelpunkter. Det är de punkterna som tillsammans utgör särdragen. Algoritmen måste först leta upp alla möjliga ställen och skalor som potentiella punkter kan finnas på. Potentiella punkter är utmärkande på det viset att antigen är de mörkare eller ljusare än de andra punkterna omkring. Sökningen görs genom att kolla olika synvinklar av samma objekt. När det nu finns ett antal bilder att leta igenom så går det att använda en funktion som heter difference-off Gaussian och den är oberoende av bildskalor. De potentiella punkterna jämförs med åtta av sina närmaste grannar på en bild i taget. I korta drag så räknar sedan denna funktion ut differensen mellan två punkter i två bilder i taget. Sedan fortsätter denna process med att få ut den här differensen ifrån alla bilder tills dess att en potentiell punkt är kvar. Differensen räknas ut och man får en av potentiella nyckelpunkter på olika ställen i bilden. [3] Så här räknas differensen ut mellan två punkter i två bilder. Processen fortsätter tills dessa att det bara finns en bild kvar med potentiella nyckelpunkter. [3] 3
Lokalisering av nyckelpunkter: Vid varje potentiell lokalisering för en nyckelpunkt så görs en detaljerad modell för att avgöra lokalisering och skala. Nyckelpunkter väljs beroende på deras fasthet. Tex de godkänds inte om de är placerade dåligt på en kant eller känsliga för ljud. [7] Tilldelning av riktning: Baserat på vilken riktad lutning den lokala bilden (antal grader den lutar i) har så blir även varje plats för nyckelpunkterna tilldelade riktningar i förhållande till bildens lutning. Då får de också en lutning på olika antal grader. [3] Nyckelpunkts deskriptor: Varje nyckelpunkt har en deskriptor. En deskriptor fungerar på samma sätt som en indexterm eller nyckelord. Man kan tex hämta information om ett visst ämne ur en databas genom att söka på nyckelordet som karaktäriserar det ämnet. Fast när det handlar om att söka på en nyckelpunkts deskriptor så får man information om just den punktens. Informationen är baserad på bildens lutning och på nyckelpunktens storlek. [3] SIFT som grund för 3D syn hos räddningsrobotar Baserat på SIFT så har forskarna Goldie Nejat, Hong Guo, Zhe Zang och Peisen Huang utvecklat en metod för realtids 3D visualisering för USAR robotar. Metoden är baserad på SHIFT för att det kan användas till att se på olika objekt eller scener och identifiera landmärken ur olika vinklar. [5] Forskarna utvecklade en teknik i form av 3D visualisering eftersom information baserat endast på 2D kan bli svårt att hantera in en USAR - miljö. Miljön där varierar i flera olika nyanser på gråskalan och då kan det bli svårt med hjälp av endast 2D bilder att identifiera landmärken för det kan vara krångligt att urskilja 3D-objek i sådana bilder. Exempelvis kan det vara svårt att skilja på två objekt därav ett befinner sig längst fram och det andra objektet är i bakgrunden av bilden. Då kan det bli invecklat att avgöra vart gränserna går på objekten. Däremot bilder som har fångat djupet på alla objekt. Då är det lättare med hjälp av djupet att se gränserna på objekten. [7] Forskarna menar också att den här metoden är ett bra svar på SLAM - problemet för att SIFT och en 3D bild med gråskalig djupinformation är mer pålitlig när det gäller objektigenkänning och att matcha objekt mot varandra från olika bildvinklar. Det reducerar antalet fel. [7] Utifrån SIFT så har forskarna delat in sökandet efter punkter och kluster av nyckelpunkter i två generella huvudsteg och sedan följer en beskrivning i mer detalj som består av fyra steg. De fyra stegen är en jämförelse mellan 2D bilder och djupet på 3D bilder. [7] 4
Identifiering av nyckelpunkter: Först ska nyckelpunkterna och deskriptorer för den 2D bilden hittas. Sedan fastställs och lagras nyckelpunkter såväl som deras dimensionella beskrivning i bilden. [7] Kluster av nyckelpunkter: Det är både viktigt att kunna identifiera landmärken och att kunna minska antalet nyckelpunkter som är intressanta. Det görs med hjälp av kluster. Nyckelpunkter som är utplacerade i en 3D bild är samlade i kluster. Denna gruppering baseras på en gråskalig information om djupet. Alltså hur pass gråa punkterna är i bilden. Gråskalan ligger på skalan från 0 255. [7] I en jämförelse mellan en 2D bild och en 3D så syns det att toppen av gränsen med de grönfärgade klusterna i 2D (a) bilden inte finns med i 3D bilden (b). [7] En skillnad från den Lowes ursprungliga SIFT metod är att nyckelpunkterna där blev eliminerade om de var placerade på en kant. [3]. I 3D bilder så är kanter ett resultat av nyckelpunkterna så därför tas de inte bort. Nyckelpunkterna i den tvådimensionella bilden kan sedan analyseras och placeras i kluster för att representera landmärken i miljön. Det beror också på vilka punkter som hittas i 3D bilden. I en tredimensionell bild finns inte struktur och skuggeffekter med. Tex i en jämförelse från pixel till pixel med nyckelpunkter i 2D och 3D. Så om en punkt inte finns med i 3D bilden då antar programmet att den nyckelpunkten tillhör struktur och skuggeffekterna. Dessa två bildformat kompletterar varandra. Klustren är bundna till ställen i 3D bilden där de inte existerar. De har ungefär samma gråskaliga djupinformation. Det är klustren som gör att det går att urskilja landmärken ur en scen. [7] Sökning av kluster och deras nyckelpunkter i fyra steg 1: Parametertilldelning Först får varje nyckelpunkt fem parametrar: X positionen Y positionen Djupet Skala Riktning Dessa parametrar lagras i ett system som kallas matrix Aln l = antalet nyckelpunkter n = antalet parametrar 5
2: Canny-Deriche metoden Är en algoritm som används till att upptäcka gränser på objekt i en scen. Pixlar på kanter identifieras genom att kolla hur många grader de lutar. 3: Sökning efter närmaste granne Den här algoritmen utgår ifrån ett slumpmässigt hörn i bilden och lokaliserar den närmaste nyckelpunkten som är nyckelpunktjk. j = klustrets nummer k = nyckelpunktens nummer i klustret Sedan dras en kvadrat runt denna nyckelpunkt för att leda reda på den närmaste nyckelpunktsgrannen. Sidan på kvadraten är 2r. R är ingen speciell variabel den kommer istället att stiga tills en nyckelpunktsgranne hittas. Då den hittar en granne så kommer den att lagras i ett tillfälligt system matrix Bpn där denna punkt kommer att utvärderas. p = antalet nyckelpunkter som upptäckts n = antalet parametrar 4: Nyckelpunktsgrannar Nu dras en vektor ifrån den ursprungliga punkten till varje nyckelpunkt i matrix B. En vektor är två eller flera variabler som ihop representerar en linje som är riktad mellan två punkter i en 2D eller 3D illustration. N står för samtliga poäng som vektorerna har samlat på sig om den gråskaliga djupinformationen. De tillfälliga provpunkterna räknas som i = 1, 2, 3.N). Vilken punkt som blir närmaste granne åt den ursprungliga nyckelpunkten. Det är den punkten med minsta förändringen i informationsdjupet jämfört med de andra punkterna. Minst i jämfört med de andra punkterna leder till att en punkt blir en nyckelpunktsgranne. Syftet med att samla poäng om nyckelpunkterna är att försäkra sig om att det inga gränser blir övertrampade. Keypoint 11 är den ursprungliga nyckelpunkten. Därifrån dras vektorer till andra nyckelpunkter [7]. Steg 3 och fyra upprepas gång på gång till dess att alla motsvarande nyckelpunkter i alla kluster har hittats. Poängen från varje nyckelpunkt lagras så att det går att avgöra vilken klunga de tillhör och vilken plats den har i klungan. Matrix A uppdateras hela tiden med vilken ordning nyckelpunkterna har i klungan, poäng på djupinformationen, antalet kontakter med andra nyckelpunktsgrannar. Ett krav för att en nyckelpunkt ska räknas till ett kluster är att den måste 6
ha minst två kopplingar till andra nyckelpunkter i samma kluster När alla kluster och deras tillhörande nyckelpunkter har fastställts skapas ett nytt system där detta lagras. När sökningen är klar med ett hörn så testar algoritmen de övriga hörnen också genom att upprepa steg, 2, 3 och fyra till dess att den har kollat vilka nyckelpunkter som tillhör vilket kluster eller om den behöver skapa nya. [7] Jämförelse 2D och 3D Tillsist när algoritmen är klar och har hittat precis alla kluster med sina nyckelpunkter i 3D bilden så går det att jämföra med de motsvarande nyckelpunkterna som finns i 2D bilden. Det är möjligt för att varje djup i klustren representerar gränsvillkor för 2D. Den tvådimensionella bildens kluster läggs på 3D bilden. Beroende på hur pixlarna sitter i gränserna så lokaliseras nyckelpunkterna i 2D bilden och om de är inom den gränsen så kommer de att lagras i klustersystemet. [7]. Matchningar kluster emellan Den här metoden för att samla nyckelpunkter i kluster representerar inte former av landmärken utan identifierar regioner som kan representera ett möjligt landmärke. Klustren kan identifieras på fler bilder fast i olika synvinklar. [7] För att hitta klungor som matchar varandra så gäller det att hitta samma kluster i bilder som följer efter varandra. En jämförelse mellan den föregående rutan och den nuvarande. En sökning görs för nyckelpunkternas deskriptorer så att alla grannyckelpunkter kan finnas. [7] En teknik för realtids 3D bildvisning - Digital marginal projektion Det var en forskare Haung som utvecklade en mätningsteknik 3D former i hög hastighet. Tekniken baseras på fasskiftningsteknik och färger i form av ljus som är i marginal. Färgerna sitter ihop omväxlande med ljus färg och sedan kommer mörk färg. Med hastigheten av 360 bildrutor per sekund så planläggs färgmönstren över objekten. [6] Bilden visar färger i form av sinuskurvor som inte är i fas med varandra. Versionerna av I(x,y) förklaras lite senare i texten. [6] Fasskiftningstekniken handlar om att mäta former som är i 3D och i olika skalor. Mönstret av färgerna vandrar i luften i form av sinuskurvor. Sinuskurvor är svängningar i form av vågrörelser. Genom att fasinformationen tas upp vid varje pixel så går det att överensstämma bildens fält med projektorns fält. När motsvarigheten är gjord så går det att räkna ut koordinaten 7
för 3D objektet genom triangulering utifrån projektorn. Alltså om man vet två sidor i en triangel och en vinkel så kan man räkna ut den tredje sidan. På så vis går det att räkna ut avståndet mellan saker i ett rum. [6] Författarna har byggt vidare på den här iden för att försöka få fram en realtids 3D sensor. Först skapas ett färgmönster i form av blå, grön och röd. En dator gör kanaler för kodning av tre olika färgmönster. Mönstret skickas sedan till en projektor som projekterar dem över scenen flera gånger. En fördel med färgmönster som har en hög ljusstyrka är att systemet är ganska motståndskraftig mot miljöljud. [7] Illustration över processen för 3D bildvisning. [7] Grunden bakom det här mätningssystemet av 3D ljus är Phase Shift Interferometry (PSI). Det går till följande enligt formel: I = bilder som är fångade med mönster. (x, y) = punkten i bilder som fångas med hjälp av I1, I2, I3 = mönster I (x,y) = genomsnittliga intensiteten I (x,y) = intensitets modulering Ф(x,y) = den okända fasen i punkten (x,y) α = konstanten 2π/2 Uppställningen för att räkna ut avstånd till objekt i förhållande till en USAR robot. [7] 8
Med hjälp av den här ekvationen så kan man räkna ut vad de okända värdena för Ф(x,y), I (x,y) och I (x,y) blir. När den okända fasen i punkt (x,y), alltså Ф(x,y) blivit fastställd så går det att rekonstruera scenen genom att lägga på både en trianguleringsalgoritm som är en bestämning av olika punkters placering genom mätningar i trianglar. Då har även avstånden till objektet räknats ut. [7] Samtidigt så går det att lägga 2D bilders färgmönster på en 3D bild som visar landmärken. Så att sökningen av nyckelpunkter kan genomföras. Resultatet blir en mätningsteknik för 3D former i realtid med en hastighet på 60 bildrutor per sekund. [7] 9
Källförteckning [1] Bahrami, S; Scholtz, J; Human-robot interaction: development of an evaluation methodology for the bystander role of interaction, Systems, Man and Cybernetics, 2003. IEEE International Conference on, Volume 4, Page(s):3212-3217 vol.4, 5-8 Oct. 2003 [2] Calisi, D.; Farinelli, A.; Iocchi, L.; Nardi, D.; Autonomous navigation and exploration in a rescue environment, Safety, Security and Rescue Robotics, Workshop, 2005 IEEE International, Page(s):54 59, 6-9 June 2005 [3] Lowe, David G.; Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 2004. [4] R.R. Murphy; Human-robot interaction in rescue robotics, Systems, Man and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on Volume 34, Issue 2, Page(s):138 153, May 2004 [5] Nejat, G.; Zhe Zhang; Finding Disaster Victims: Robot-Assisted 3D Mapping of Urban Search and Rescue Environments via Landmark Identification, Control, Automation, Robotics and Vision, 2006. ICARCV '06. 9th International Conference on, Page(s):1 6, 5-8 Dec. 2006 [6] S. Zhang; P. Huang; High-Resolution, Real-time 3D Shape Acquisition, Computer Vision and Pattern Recognition Workshop, 2004 Conference on, Page(s):28 28, 27-02 June 2004 [7] Z. Zhang; H. Guo; G. Nejat; P. Huang; Finding Disaster Victims: A Sensory System for Robot-Assisted 3D Mapping of Urban Search and Rescue Environments, Robotics and Automation, 2007 IEEE International Conference on, Page(s):3889 3894, 10-14 April 2007 10