Drönare med stereokamera. Den lilla vita lådan rymmer det inbäddade systemet, som utvärderar de något förskjutna bilderna från de två kamerorna i realtid för att upptäcka hinder. Kredit:Fraunhofer IOSB
Oavsett om det gäller bilen eller drönaren:Att utveckla bildbehandlingsprogram för inbyggda system tar mycket tid och är därför mycket dyrt. Nu gör Tulipp-plattformen det möjligt att utveckla energieffektiva inbäddade bildbehandlingssystem snabbare och billigare, med en drastisk minskning av time-to-market. Fraunhofer Institute for Optronics, Systemteknik och bildexploatering IOSB är medlem i EU-konsortiet som förenklade processen.
Vid första anblicken drönare, förarassistanssystem och mobil medicinsk diagnostisk utrustning verkar inte ha mycket gemensamt. Men i verkligheten gör de det:de använder sig alla i allt större utsträckning av bildbehandlingskomponenter, till exempel för att upptäcka hinder och fotgängare. Bildbehandling kan också användas med mobil röntgenutrustning för att säkerställa adekvat bildkvalitet vid reducerade strålningsnivåer, vilket avsevärt minskar radioaktiv exponering.
Till skillnad från en arbetsstationsdator, där dimensioner och energiförbrukning inte är särskilt kritiska faktorer, applikationer som dessa kräver små, lättvikt, energieffektiva bildbehandlingskomponenter som ändå är realtidskapabla. Hårdvaruplattformar baserade på konventionella datorarkitekturer och processorer kan inte uppfylla dessa krav ordentligt. Detta är anledningen till att inbäddade system som använder fältprogrammerbara grindmatriser (FPGA) ofta används.
Fältprogrammerbara gate-arrayer är logiska komponenter vars kretsstruktur kan konfigureras fritt med hjälp av en speciell typ av programmering, vanligtvis involverar lågnivåspråket VHDL. Det finns ett problem, dock:Majoriteten av bildbehandlingsprogram är skrivna på programmeringsspråk på högre nivå, t.ex. C/C ++, och deras migrering till de inbyggda systemen är mycket komplicerad. VHDL skiljer sig inte bara mycket från andra programmeringsspråk, men koden måste också anpassas till den specifika hårdvaran. Detta innebär att även befintliga VHDL-program inte kan överföras till annan hårdvara. Mjukvaruutvecklare måste börja praktiskt taget från början med varje nytt system.
Startpaket för att snabbt implementera särskilt energieffektiva inbyggda system
Stereokameran och det inbyggda systemet installerade på drönaren. Kredit:Fraunhofer IOSB
Ett konsortium av åtta partners från sex länder, inklusive Fraunhofer Institute for Optronics, Systemteknik och bildutnyttjande IOSB i Karlsruhe, har nu avsevärt förenklat denna procedur i Tulipp-projektet. "Resultatet är en utvecklingsplattform som består av designriktlinjer, en konfigurerbar hårdvaruplattform och ett realtidskompatibelt operativsystem som stöder flerkärniga processorer, samt en programmeringsverktygskedja, "säger Dr.-Ing. Igor Tchouchenkov, gruppchef på Fraunhofer IOSB. "Ett startpaket som släppts ut på marknaden av en av våra partners i Tulipp ger ytterligare stöd. Startpaketet gör utvecklingen av sådana applikationer mycket snabbare och enklare. Portera C++-program till FPGA, vilket ofta innebär flera månaders arbete för utvecklaren, kan hanteras inom bara några veckor med Tulipps startpaket."
Detta innebär att utvecklaren först måste överväga, baserat på programvaran programmerad i C++, vilka kodelement som ska distribueras till vilka hårdvarukomponenter och vilka programsteg som skulle kunna optimeras eller parallelliseras. De formulerade designriktlinjerna ger hjälp med denna uppgift. Då kommer startpaketet till spel. Den innehåller den konfigurerbara hårdvaran till vilken de nödvändiga sensorerna och utgångsenheterna kan anslutas, det multiprocessor-kapabla realtidsoperativsystemet, och det som kallas STHEM-verktygskedjan. Applikationerna i verktygskedjan gör det möjligt att optimera C++-programmet på ett sådant sätt att det kan portas till FPGA så enkelt och snabbt som möjligt. "Ett speciellt fokus i verktygskedjan är på energioptimering:trots allt, målet är att designa bildbehandlingssystem som kan drivas av ett litet batteri när det är möjligt, " säger Tchouchenkov. "Verktygskedjan gör det möjligt att individuellt visa och optimera energiförbrukningen för varje kodfunktion."
Hundra gånger snabbare än en avancerad PC
Videobild från en av drönarens två kameror. Kredit:Fraunhofer IOSB
Konsortiet arbetade igenom tre specifika användningsfall för att utveckla och testa Tulipp-plattformen:Fraunhofer IOSB-forskargruppen tog upp stereokamerabaserad hinderdetektion för drönare, medan andra projektpartners arbetade med att upptäcka fotgängare i närheten av en bil och med förbättring av livekvalitet av röntgenbilder tagna med mobila C-Armar under kirurgiska operationer. I Tulipp portade de motsvarande bildbehandlingsprogram från C++ till FPGA.
Resultaten är imponerande:bearbetningen, som ursprungligen tog flera sekunder att analysera en enda bild på en avancerad PC, kan nu köra på drönaren i realtid, d.v.s. nu analyseras cirka 30 bilder per sekund. "Hastigheten för fotgängardetekteringsalgoritmen kan ökas med en faktor 100:Nu kan systemet analysera 14 bilder per sekund jämfört med en bild var sjunde sekund. Förbättring av röntgenbildkvaliteten genom att använda brusreducerande bildfilter gjorde det möjligt att minska strålningsintensiteten under kirurgiska operationer till en fjärdedel av den tidigare nivån, samtidigt som energiförbrukningen kan minskas avsevärt för alla tre tillämpningarna.
Samma bild med överlagd djupinformation från stereobildanalysen, markera nära hinder i rött. Pilen indikerar den resulterande rekommenderade undvikande vägen. Kredit:Fraunhofer IOSB