ABONAMENTE VIDEO TESTE REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Numărul 58
Abonament PDF

Detecția drumurilor din imagini satelitare folosind Deep Learning

Bogdan Gliga
Associate Software Engineer @ Telenav
PROGRAMARE

Recent, rețelele neuronale adânci (Deep Neural Networks) au fost folosite pentru a genera rezultate de ultimă oră în numeroase subdomenii ale industriei procesării de imagini. Această categorie de algoritmi poate fi folosită pentru a extrage o cantitate semnificativă de informație din multe tipuri de imagini sau suporturi vizuale. Activitatea noastră se axează pe antrenarea unei rețele neuronale care să detecteze cu acuratețe drumurile, analizând zeci de mii de imagini provenind din satelit. În industria cartografierii, este crucial să existe hărți detaliate și corecte pentru a putea construi aplicații de stabilire a rutei de călătorie care să fie precise și de calitate. Primul pas în atingerea acestui obiectiv este detectarea tuturor drumurilor dintr-o anumită zonă. Celelalte informații relevante pentru trafic, adică restricțiile de viraj sau limitele de viteză, depind de cunoașterea infrastructurii subiacente de drumuri.

Progresele recente în domeniul tehnologiei imagistice aeriene fac posibil ca sateliții să furnizeze imagini de rezoluție înaltă în care să se poată distinge ușor de către oricine drumurile . Obiectivul este construirea unui sistem inteligent care, odată ce primește o imagine din satelit, poate să extragă topologia drumurilor cu acuratețe. În termeni tehnici, trebuie să generăm o predicție pentru fiecare pixel al imaginii sursă, anume probabilitatea ca acel pixel să facă parte dintr-un drum. Cercetarea academică numește această problemă segmentare semantică (Semantic Segmentation), deoarece imaginea trebuie segmentată în obiecte de interes. La final, odată ce pixelii sunt etichetați în funcție de drum, construirea rețelei de drumuri pentru uz ulterior devine o problemă comună.

Soluția

Pasul premergător în realizarea unui astfel de sistem este existența unui set mare de imagini și o topologie a drumurilor inclusă în fiecare imagine. Acest set de date va fi folosit pentru antrenarea rețelei neuronale adânci, pentru a o "învăța" să recunoască drumurile într-o imagine făcută din satelit. Există deja un set de date pentru această problemă specifică, "Massachusetts Roads Dataset". Un exemplu al modului de reprezentare din aceste imagini și topologii de drum este cel de mai jos:

Al doilea pas premergător este alegerea unei arhitecturi optime pentru rezolvarea problemei. Deoarece aici vorbim de o activitate de procesare de imagini, soluția noastră se bazează pe o versiune modificată a unei rețele neuronale convolutional (Convolutional Neural Network), creată special pentru analiza imaginilor.

Arhitectura

Arhitectura utilizată de noi seamănă cu arhitectura standard Deep Learning pentru acest tip de activitate, anume segmentarea semantică (Semantic Segmentation), care este explicată într-o lucrare scrisă de Long et al, cu titlul "Fully Convolutional Networks for Semantic Segmentation". O abordare similară este descrisă în Ronneberger et al "U-Net: Convolutional Networks for Biomedical Image Segmentation".

Pipeline-ul conține două etape: Convolutional Network și Deconvolutional Network. Scopul principal al etapei Convolutional Network este realizarea unei reprezentări reduse a imaginii. Acest lucru se realizează analizându-se secvențial fiecare sub-regiune și efectuându-se operații matematice complexe asupra valorilor pixelilor. La final, rezultatul obținut va reprezenta probabilitatea ca un drum să apară în fiecare din sub-regiunile analizate.

Următorul pas este luarea acestui vector de probabilitate și transformarea lui în topologia exactă a drumului. Mai exact, probabilitatea ca un drum să apară în fiecare sub-regiune se transformă în reprezentarea în pixeli a acelui drum. Această operație va fi efectuată în a doua parte a pipeline-ului, anume Deconvolutional Network. Pentru a realiza acest lucru, se vor efectua aceleași operații ca în primul stagiu, dar în ordine inversă. Acum, în loc să luăm o imagine și să aflăm un vector de probabilitate, luăm un vector de probabilitate și producem o imagine.

Rezultatele

După un antrenament de scurtă durată, de câteva minute, pe NVIDIA GTX 1080, se pot observa rezultate extrem de promițătoare, rețeaua putând să recunoască topologia drumului în mod eficient și corect. Mai jos, avem imaginile din satelit în partea stângă, topologia reală a drumului în mijloc, iar rezultatul rețelei neuronale în partea dreaptă.

Pe viitor, dorim să extragem topologia drumurilor din rezultatul rețelei neuronale, pe care să îl comparăm apoi cu drumurile deja existente în OpenStreetMap pentru a le adăuga pe cele care lipsesc. Dacă va fi disponibil un număr semnificativ de imagini de bună calitate realizate din satelit, acest fapt va însemna că mii de kilometri de drumuri lipsă vor fi adăugați în OSM, ceea ce va îmbunătăți calitatea hărții.

LANSAREA NUMĂRULUI 64

Înregistrează-te

Cluj-Napoca

Miercuri, 18 Octombrie, ora 18:00
PANEL: Big Data & Machine Learning

Facebook Meetup

Sibiu

Marți, 24 Octombrie, ora 18:00
PANEL: Automotive

Facebook Meetup

Timișoara

Miercuri, 25 Octombrie, ora 18:00
PANEL: Testarea Automată

Facebook Meetup

În aceeaşi ediţie ... (58)

▼ TOATE ARTICOLELE ▼

Sponsori

  • 3PillarGlobal
  • Betfair
  • Gemini Solutions
  • Telenav
  • Accenture
  • Siemens
  • Bosch
  • ntt data
  • FlowTraders
  • Crossover
  • MHP
  • Continental
  • Colors in projects

IT Days