Dit bericht is het eerste in een serie over autonoom rijden op schaal, ontwikkeld met Tata Consultancy Services (TCS). In dit bericht geven we een algemeen overzicht van de deep learning-inferentie voor objectdetectie.

Autonome ontwikkeling van voertuigsoftware vereist data, berekeningen en algoritmische innovatie op een enorme schaal die alleen wordt bereikt door GPU's. Een scala aan neurale netwerken vormt een basis voor de waarnemings- en besluitvormingssystemen. De prestaties van het neurale netwerk nemen evenredig toe met de hoeveelheid gegevens en vereisen infrastructuur om training en inferentie op schaal te ondersteunen.

Om autonome voertuigen (AV) acceptabele veiligheidsniveaus te laten bereiken, moeten ze worden getraind in enorme hoeveelheden real-world rijgegevens die de diversiteit aan situaties omvatten die een auto dagelijks kan tegenkomen. Deze trainingsscenario's worden verzameld door wagenparken die zijn uitgerust met meerdere rijuren per dag met sensoren, waardoor petabytes aan gegevens worden gegenereerd. Deze gegevens moeten vervolgens worden geannoteerd en verwerkt voor uitgebreide AV-ontwikkeling, testen en validatie.

Een groot deel van AV-software is de waarnemingsstapel waarmee het voertuig objecten kan detecteren, volgen en classificeren en afstanden kan inschatten. Een ontwikkelaar van perceptie-algoritmen kan krachtige en robuuste algoritmen maken die in elk scenario nauwkeurig andere voertuigen, rijstroken, statische en bewegende objecten, voetgangers, verkeerslichten op kruispunten en kruispunten kunnen detecteren. De scenario's omvatten verschillende omgevingscondities, zoals in een tunnel, op een pikdonkere snelweg of in fel zonlicht. Om deze algoritmen effectief te laten werken, hebben ze een gestage instroom van hoogwaardige, geannoteerde of gelabelde gegevens nodig om te trainen.

Bij objectdetectie is het doel niet alleen om objecten in een enkel frame te detecteren, maar ook om de locatie van de objecten in het frame te bepalen. De objecten moeten worden geïdentificeerd, geclassificeerd en gelabeld in de juiste klassen. U kunt deze doelstellingen bereiken via een selectiekader, dat niet alleen het object identificeert, maar ook de locatie van het object bepaalt, samen met een betrouwbaarheidsscore.

Traditioneel werd annotatie of labeling meestal als een handmatige taak beschouwd. AI kan het proces van gegevenslabeling echter versnellen. Een AI-model kan pre-annotaties genereren, die vervolgens worden beoordeeld en aangevuld door menselijke annotators om de nauwkeurigheid te verbeteren en een trainingsdataset van hoge kwaliteit te creëren.

Objectdetectie-inferentiepijplijncomponenten

GPU's zorgen voor de ontwikkeling van autonome voertuigsoftware, aangedreven door de schaal van gegevens, de schaal van berekeningen en algoritmische innovatie. Een reeks neurale netwerken vormen een basis voor de waarnemings- en besluitvormingssystemen. De prestaties van het neurale netwerk nemen evenredig toe met de hoeveelheid gegevens en vereist infrastructuur om training en inferentie op schaal te ondersteunen.

  • Dataset
  • Dataschema
  • Systeem configuratie

Dataset

Afbeelding 1 toont de details voor een dataset van 23 drive-sessies in verschillende scenario's voor inferentie.

Figuur 1. Datasetdistributie.

Naast de variatie in omgevingselementen en de belangrijkste objecten voor detectie, tonen de volgende tabellen de attributen die zijn ingesteld voor de camera die wordt gebruikt in het ego-voertuig en de scène.

Kenmerk Waarde
Beeldresolutie vastgelegd door de camera 1280×720
Frame rate van de gebruikte camera 30 FPS

Tabel 1. Eigenschappen camerasensor.

Kenmerk Waarde
Ego Vehicle Sensor Suite 1x Frontcamera
Infrastructuurelementen gebruikt in de scènes Gebouwen, wegen, vegetatie, voertuigen (stilstaand en  rijdend), voetgangers, wegwijzers, verkeerslichten, straatverlichting
Totale duur van de rijsessie 51 minuten

Tabel 2. Scène-kenmerken.

Gegevensschema

De dataset is voorzien van een tijdstempel en bevat onbewerkte gegevens van de camerasensor, kalibratiewaarden, posetraject en grondwaarheidshouding. De grondwaarheidsgegevens maken de validatie van objectdetectie-inferentie-uitvoer mogelijk en helpen bij de interpretatie en analyse van de verzamelde statistieken.

Het dataschema geeft u informatie over het formaat en de structuur van de grondwaarheidsgegevens. De gegevens vertellen u objectief de informatie over de objectlokalisatie en categorisering. Het bevat de exacte coördinaten van de objecten, samen met de categorie voor elke afbeelding in de gegeven dataset.

Voor dit bericht ben je geïnteresseerd in het detecteren van specifieke objecten.

Statisch_Vast/Dynamisch/Verplaatsbaar Objectklasse
Dynamisch Vehicle.Car
Dynamisch Voertuig.Truck
Dynamisch Vehicle.Bus
Statisch Object.Trafficlight
Dynamisch Human.Pedestrian
Static Object.TrafficSign

Tabel 3. Objectontologie.

Afbeelding 2 toont de structuur van het grondwaarheidsbestand.

Figuur 2. Grondwaarheidsstructuur.

Figuur 3. Ground Truth JSON voor verschillende objecttypen.

Systeemconfiguratie

De configuratie in Tabel 4 voert deep learning-inferentie uit op een enkele CPU en een of meer GPU's.

Cloud/VM-grootte Azure/Standard_NC24s_v3
Besturingssysteem Ubuntu 18.04
Aantal vCPU's/CPU-type 24/Intel Xeon E5-2690 v4 (Broadwell)
Geheugen: GiB (DDR4)/Temp-opslag (SSD) GiB 448/2948
Aantal GPU/GPU-type 4/NVIDIA Tesla V100-PCIE
GPU-geheugen: GiB 64
Maximum dataschijven/Maximum NIC's 32/8
Max. niet-gecachete schijfdoorvoer: IOPS/MBps 80000/800
GPU-stuurprogramma/CUDA-versie 440.64.0/10.2
python/OpenCV-python-versies 3.6.9/3.4.1
PyTorch-versie 1.5.0
NGC-container nvcr.io/nvidia/pytorch:20.03-py3

Tabel 4. Systeemconfiguratie.

Pre-annotatie met YOLOv3

Deep learning is de state-of-the-art methode om objectdetectie uit te voeren, voornamelijk gedreven door databeschikbaarheid en computationele schaal. Veel andere details, zoals neurale netwerkarchitectuur, zijn ook belangrijk en er is de afgelopen jaren veel innovatie geweest.

Er zijn nogal wat modellen die de grenzen hebben verlegd voor objectdetectie, zoals Faster-Region Based Convolutional Neural Network (Faster-RCNN), You Only Look Once-model (YOLO) en Single Shot MultiBox Detector (SSD). Er is geen duidelijk antwoord op welk model het beste is. Voor de detectie van objecten voorafgaand aan annotatie maakt u keuzes om nauwkeurigheid en snelheid in evenwicht te brengen.

Voor dit bericht hebben we het YOLOv3-algoritme gekozen, een van de meest effectieve algoritmen voor objectdetectie. Het omvat ook veel van de beste ideeën uit de hele literatuur over computervisie die betrekking hebben op objectdetectie. Darknet-53 dient als de ruggengraat voor YOLOv3, dat een afbeelding als invoer neemt en de functiekaart extraheert. YOLOv3 is een objectdetectiemodel met meerdere klassen, een eentrapsdetector die latentie vermindert.

Figuur 4 toont de architectuur van het YOLOv3-algoritme. De detectielaag bevat veel regressie- en classificatie-optimizers en het aantal ankerboxen bepaalt het aantal lagen dat wordt gebruikt om de objecten rechtstreeks te detecteren. Het is een enkelvoudig neuraal netwerk dat in één evaluatie begrenzingskaders en klassenwaarschijnlijkheden van volledige afbeeldingen voorspelt. Omdat de hele detectiepijplijn één enkel netwerk is, kan deze end-to-end worden geoptimaliseerd op basis van de detectieprestaties.

Afbeelding 4 laat zien dat YOLO v3 voorspellingen doet op drie schalen. De laag 13×13 is verantwoordelijk voor het detecteren van grote objecten, de laag 26×26 detecteert middelgrote objecten en de laag 52×52 detecteert kleinere objecten.

Afbeelding 4. YOLOv3-netwerkarchitectuur.

Overzicht van de pijplijn van objectdetectie-inferentie

Het pre-annotatiemodel vormt de kern van de objectdetectie-inferentiepijplijn. Een vooraf getraind YOLOv3-416-model met een mAP (gemiddelde gemiddelde precisie) van 55,3, gemeten bij 0,5 IOU op de MS COCO-testontwikkelaar, wordt gebruikt om de inferentie op de dataset uit te voeren. Download de configuratie en het vooraf getrainde gewichtsbestand uit de PyTorch-YOLOv3 GitHub-opslagplaats. Gebruik het neurale netwerkframework van PyTorch voor inferentie. Gebruik Docker-containers om de omgeving in te stellen en verpak ze voor distributie om in verschillende omgevingen te draaien.

Na import komt de dataset in de pre-processing fase voor noodzakelijke transformaties. De beeldverhouding van de 1280×720 afbeeldingen in de dataset blijft behouden. De afbeeldingen worden verkleind tot 416×234 en opgevuld tot 416×416 en vervolgens ingevoegd in het 416×416-netwerk. Alle afbeeldingen met een vaste hoogte en breedte maken het mogelijk om de afbeeldingen in batches te verwerken. Afbeeldingen in batches kunnen parallel worden verwerkt door de GPU, wat leidt tot snelheidsboosts.

De pre-annotatiemodellen dekken de eenvoudige annotaties automatisch af, waardoor het werk van menselijke annotators wordt vereenvoudigd door het minder intensief te maken. Pre-annotatie helpt bij het opstarten van het menselijke annotatieproces. De vervolgstappen zijn iteratief, met een of meer rondes van kwaliteitscontroles. De op deep learning gebaseerde pre-annotators worden in de loop van de tijd steeds beter door voortdurend te leren van de verzameling doorgelichte annotaties door menselijke annotators.

Een efficiënte inferentiepijplijn voor objectdetectie zorgt voor consistente en hoogwaardige gelabelde uitvoer.

Figuur 5. Annotatiepijplijnsjabloon.

Samenvatting

Autonome voertuigen beloven veiliger en efficiënter vervoer voor iedereen. Nauwkeurige detectie van objecten, waaronder voertuigen, voetgangers, verkeersborden en verkeerslichten, kan zelfrijdende auto's helpen net zo veilig te rijden als mensen. De annotatie van grote volumes en een verscheidenheid aan schijfsessiegegevens zijn nodig om geavanceerde detectiesystemen te trainen en te bouwen.

Dit bericht behandelde de componenten van het bouwen van een end-to-end objectdetectiepijplijn die op GPU's draait. Houd ons in de gaten voor meer berichten over de typische uitdagingen bij het annoteren van real-world, autonome voertuiggegevens.

Tata Consultancy Services

Tata Consultancy Services (TCS) is een organisatie voor IT-services, consulting en bedrijfsoplossingen die de afgelopen 50 jaar met veel van 's werelds grootste bedrijven heeft samengewerkt in hun transformatietrajecten. TCS biedt een door consultancy geleid, cognitief aangedreven, geïntegreerd portfolio van IT-, zakelijke en technologische diensten en engineering. Dit wordt geleverd door het unieke locatie-onafhankelijke Agile-leveringsmodel, erkend als een maatstaf voor uitmuntendheid in softwareontwikkeling. TCS heeft meer dan 448.000 werknemers in 46 landen met een omzet van $ 22 miljard op 31 maart 2020.

TCS Automotive Industry Group richt zich op het leveren van oplossingen en diensten om de CASE aan te pakken (verbonden, autonoom, gedeeld en elektrisch ) ecosysteem en werkt samen met toonaangevende spelers om de kansen aan te pakken die ontstaan ​​door disruptie in de auto-industrie.

Volg ons op Twitter @TCS_NA en LinkedIn om op de hoogte te blijven van TCS-nieuws in Noord-Amerika @Tata ​​Consultancy Services – Noord-Amerika. Volg @TCS_News voor wereldwijd nieuws over TCS.

Sanjay Dulepet
Global Head of Product Development, Technology Leader, TCS

Pallab Maji
Machine Learning Senior Solutions Architect , NVIDIA

Manish Harsh
Global Developer Relations Manager voor autonome voertuigen, NVIDIA

Katie Burke
Automotive Content Marketing Manager, NVIDIA

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *