Contents
Autonome voertuigen moeten op grote schaal worden ontwikkeld en getest in een breed scala aan scenario's voordat ze kunnen worden ingezet.
Simulatie kan deze uitdagingen aangaan door schaalbare, herhaalbare omgevingen te leveren waarin autonome voertuigen de zeldzame en gevaarlijke scenario's kunnen tegenkomen die nodig zijn voor training, testen en validatie.
NVIDIA DRIVE Sim on Omniverse is een simulatieplatform dat speciaal is gebouwd voor het ontwikkelen en testen van autonome voertuigen (AV). Het biedt een high-fidelity digitale tweeling van het voertuig, de 3D-omgeving en de sensoren die nodig zijn voor de ontwikkeling en validatie van AV-systemen.
In tegenstelling tot virtuele werelden voor andere toepassingen zoals videogames, moet DRIVE Sim gegevens genereren die de echte wereld nauwkeurig modelleren. Het gebruik van simulatie in een technische toolchain vereist een duidelijk begrip van de prestaties en beperkingen van de simulator.
Deze nauwkeurigheid omvat alle functies die door de simulator zijn gemodelleerd, inclusief voertuigdynamiek, voertuigcomponenten, gedrag van andere bestuurders en voetgangers en de sensoren van het voertuig. Dit bericht behandelt een deel van de validatie van cameramodellen in DRIVE Sim, waarbij de individuele prestaties van elk element moeten worden beoordeeld, van de weergave van de wereldscène tot protocolsimulatie.
Validatie van een camerasimulatiemodel
Een grondige validatie van een gesimuleerde camera kan worden uitgevoerd met twee methoden:
- Individuele analyse van elk onderdeel van het model (Figuur 1).
- Een top-down verificatie dat de cameragegevens die door een simulator worden geproduceerd, de echte cameragegevens in de praktijk nauwkeurig weergeven, bijvoorbeeld door de prestaties van perceptiemodellen te vergelijken die zijn getraind op echte of synthetische beelden.
Individuele componentenanalyse is een complex onderwerp. Dit bericht beschrijft onze validatie op componentniveau van twee kritische eigenschappen van het cameramodel: camerakalibratie (extrinsieke en intrinsieke parameters) en kleurnauwkeurigheid. Er worden directe vergelijkingen gemaakt met cameragegevens uit de echte wereld om elke delta tussen gesimuleerde en echte beelden te identificeren.
Figuur 1. Overzicht van cameramodelcomponenten
Voor deze validatie hebben we ervoor gekozen om een set cameramodellen uit de NVIDIA DRIVE Hyperion-sensorsuite te gebruiken. Afbeelding 2 geeft een overzicht van de cameramodellen die tijdens de tests zijn gebruikt.
Figuur 2. NVIDIA DRIVE Hyperion 8-sensorset
Camerakalibratie
AV-perceptie vereist een nauwkeurig begrip van waar de camera's op het voertuig zijn geplaatst en hoe elke unieke lensgeometrie van een camera de beelden beïnvloedt die het produceert. Het AV-systeem verwerkt deze parameters door middel van camerakalibratie.
Een gesimuleerde camerasensor zou de beelden van een echte camera nauwkeurig moeten reproduceren wanneer deze wordt onderworpen aan dezelfde kalibratie en een digitale tweelingomgeving. Evenzo moeten gesimuleerde camerabeelden vergelijkbare kalibratieparameters kunnen produceren als hun echte tegenhangers wanneer ze in een kalibratietool worden ingevoerd.
We hebben NVIDIA DriveWorks, onze sensorkalibratie-interface, gebruikt om alle cameraparameters te schatten die in dit bericht worden genoemd.
Validatie van camerakenmerken kan in deze stappen worden gedaan:
- Extrinsieke validatie: Camera-extrinsiek zijn de kenmerken van een camerasensor die zijn positie en oriëntatie op het voertuig beschrijven. Het doel van extrinsieke validatie is ervoor te zorgen dat de simulator een beeld van een echte sensor op een bepaalde positie en oriëntatie nauwkeurig kan reproduceren.
- Kalibratievalidatie: de nauwkeurigheid van de kalibratie wordt geverifieerd door de herprojectiefout te berekenen. In real-world kalibraties wordt deze benadering gebruikt om te kwantificeren of de kalibratie geldig en succesvol was. We hebben deze stap hier toegepast om de afstand te berekenen tussen de belangrijkste gedetecteerde kenmerken die opnieuw worden geprojecteerd op echte en gesimuleerde afbeeldingen.
Intrinsieke validatie
Intrinsieke camerakalibratie beschrijft de unieke geometrie van een individuele lens nauwkeuriger dan de fabricagetolerantie door coëfficiënten van een polynoom in te stellen.
-
is de afstand in pixels tot het centrum van de vervorming
-
zijn de coëfficiënten van de vervormingsfunctie
-
(theta) is de resulterende projectiehoek in radialen
De kalibratie van deze polynoom stelt een AV in staat betere conclusies te trekken uit cameragegevens door de effecten van lensvervorming te karakteriseren. Het verschil tussen twee lensmodellen kan worden gekwantificeerd door de maximale theta-vervorming ertussen te berekenen.
Figuur 3. Max. theta-vervormingsdiagram
Max theta-vervorming beschrijft het hoekverschil van licht dat door de rand van een lens gaat (overeenkomend met de rand van een afbeelding), waarbij de vervorming maximaal is. In deze test hebben we de maximale theta-vervorming gebruikt om het verschil te beschrijven tussen een lensmodel dat is gegenereerd op basis van echte kalibratiebeelden en een op basis van synthetische beelden.
We hebben de intrinsieke kalibratie van onze gesimuleerde camera's gevalideerd volgens het volgende proces :
- Voer intrinsieke camerakalibratie uit: Gemonteerde camera's op een voertuig of testbank leggen video vast van een dambordkaart die door het gezichtsveld van elke camera beweegt op verschillende afstanden en graden van kanteling. Deze video wordt ingevoerd in de DriveWorks Intrinsics Constraints Tool, die er verschillende dambordafbeeldingen uit haalt en de polynoomcoëfficiënten voor elke camera in de kalibratie uitvoert.
- Gesimuleerde dambordkalibratieafbeeldingen produceren: De echte kalibratiegegevens van de cameralens worden gebruikt om elke camera in DRIVE Sim opnieuw te maken. We hebben de echte dambordafbeeldingen in simulatie opnieuw gemaakt op basis van de geschatte kaartposities en oriëntaties die door de kalibratietools zijn uitgevoerd.
- Produceer intrinsieke kalibratie van synthetische afbeeldingen: we voeren synthetische afbeeldingen in DriveWorks-kalibratietools in om nieuwe polynoomcoëfficiënten te produceren.
- Bereken de maximale theta-vervorming van echte naar gesimuleerde lens:Voor elke lens vergeleken we de geometrie gedefinieerd door de kalibratie van echte afbeeldingen met de geometrie gedefinieerd door de kalibratie van de gesimuleerde afbeeldingen. We vonden toen het punt waar de hoek waar het licht doorheen gaat het meest varieert tussen de twee lenzen. De variatie wordt gerapporteerd als een percentage van het theoretische gezichtsveld van die lens (
/(FOV*100)).
Figuur 4. Intrinsiek validatieproces
De maximale theta-vervorming voor elke camera afgeleid door de echte f-theta-lenskalibratie te vergelijken met de kalibratie die wordt verkregen uit gesimuleerde afbeeldingen.
Figuur 5. Maximale theta-vervorming van het F-theta-model
Dit eerste resultaat overtrof onze verwachtingen, aangezien de simulatie zich voorspelbaar gedraagt en de waargenomen resultaten van kalibraties uit de echte wereld reproduceert .
Deze vergelijking biedt een eerste graad van vertrouwen in het vermogen van ons model om lensvervormingseffecten nauwkeurig weer te geven, omdat we een kleine discrepantie hebben waargenomen tussen echte en gesimuleerde camera's. De telelens aan de voorkant is in het echte leven moeilijk te beperken, daarom verwachtten we dat het een uitbijter zou zijn in onze simulatieresultaten.
De kalibraties van de fisheye-camera's vertonen het grootste verschil tussen werkelijkheid en sim (0,58% van gezichtsveld) voor de fisheye-camera aan de voorkant).
Een andere manier om naar deze resultaten te kijken, is door te kijken naar het effect van de vervormingen op de gegenereerde afbeeldingen. We vergeleken de echte en gesimuleerde gedetecteerde kenmerken van de kalibratiekaarten in een latere stap, beschreven onder de Numerieke kenmerkmarkeringen vergelijking.
We gingen verder met de extrinsieke validatiemethode.
Extrinsieke validatie
We hebben de extrinsieke kalibratie van onze gesimuleerde camera's gevalideerd volgens het volgende proces:
- Voer extrinsieke camerakalibratie uit: Gemonteerde camera's op een voertuig of testbank leggen beelden vast van meerdere kalibratiepatronen (AprilTag-kaarten) die zich in het hele laboratorium bevinden. Voor onze test werden camera's gemonteerd volgens de NVIDIA DRIVE Hyperion Level 2+ referentiearchitectuur. Met behulp van de DriveWorks-kalibratietool hebben we de exacte positie en oriëntatie van de camera en de kalibratiekaarten in de 3D-ruimte berekend.
- Scène opnieuw maken in simulatie:Met behulp van extrinsieke parameters van echte kalibratie en grondwaarheid van AprilTag-kaartlocaties, worden de camera's en kaarten in simulatie voortgebracht op dezelfde relatieve posities en oriëntaties als in het echte laboratorium. Het systeem genereert synthetische beelden van elk van de gesimuleerde camera's.
- Produceer extrinsieke kalibratie van synthetische beelden en vergelijk met echte kalibratie: Synthetische beelden worden ingevoerd in DriveWorks-kalibratietools om de positie uit te voeren en oriëntatie van alle camera's en kaarten in de scène. We hebben de 3D-verschillen berekend tussen extrinsieke parameters afgeleid van echte versus synthetische kalibratiebeelden.
Figuur 6. Extrinsiek validatieproces
Figuur 7 toont de verschillen in extrinsieke parameters voor elk van de 12 camera's op de geteste camera-installatie, waarbij de echte camerakalibratie wordt vergeleken met de kalibratie die wordt verkregen door de gesimuleerde camerabeelden. Alle camerapositieparameters kwamen overeen binnen 3 cm en alle cameraoriëntatieparameters kwamen overeen binnen 0,4 graden.
Alle posities en oriëntaties worden gegeven met betrekking tot een rechtshandig referentiecoördinatensysteem met oorsprong in het midden van de achteras van de auto geprojecteerd op het grondvlak, waarbij x uitgelijnd is met de richting van de auto, y naar links en z naar boven. Yaw, pitch en roll zijn rotaties tegen de klok in rond z, y en x.
Figuur 7. Extrinsieke verschillen camerapositie – kalibratie van invoer naar uitvoer
Resultaten
De eerder beschreven validatie vergelijkt echte laboratoriumkalibraties met kalibraties van digitale tweelingen in de DRIVE Sim RTX-renderer. De RTX-renderer is een path-tracing-renderer die twee weergavemodi biedt, een realtimemodus en een referentiemodus (niet realtime, focus op nauwkeurigheid) om volledige flexibiliteit te bieden, afhankelijk van het specifieke gebruik.
Dit volledige validatieproces werd uitgevoerd met digitale tweelingen die werden gerenderd in zowel RTX-realtime- als referentiemodi om het effect te evalueren van verminderde verwerkingskracht die aan rendering is toegewezen. Bekijk een samenvatting van de realtime validatieresultaten in de volgende tabel, met referentieresultaten ter vergelijking.
Zoals verwacht was er een lichte toename van de real-to-sim-fout voor de meeste metingen bij het renderen in realtime vanwege een verminderde beeldkwaliteit. Desalniettemin kwam kalibratie op basis van realtime beelden overeen met laboratoriumkalibraties binnen 0,030 meter en 0,041 graden voor camera's, 0,041 meter en 0,010 graden voor AprilTag-locaties en 0,49% van het theoretische gezichtsveld voor de lensmodellen.
Figuur 9. Referentie vs. realtime validatieresultaten
De volgende cijfers geven de gemiddelde en maximale positie- of oriëntatieverschillen aan tussen 22 AprilTag-kaarten in de echte en gesimuleerde omgevingen. Het gemiddelde positieverschil van de echte kaarten met hun digitale tweeling was minder dan 1,5 cm langs alle assen en het positieverschil van geen enkele afzonderlijke kaart overschreed 4,5 cm langs een as.
Het gemiddelde oriëntatieverschil van de echte kaarten naar hun digitale tweeling was minder dan 0,001 graden voor alle assen en het oriëntatieverschil van geen enkele afzonderlijke kaart was groter dan 0,004 graden langs een as.
Figuur 10. Gemiddelde/max. AprilTag-oriëntatieverschillen – kalibratie-invoer tot uitvoer
Er is momenteel geen standaard om een acceptabele fout te definiëren waaronder een sensorsimulatiemodel als levensvatbaar kan worden beschouwd. Daarom hebben we onze positie- en oriëntatie-deltawaarden vergeleken met de kalibratiefout die wordt verkregen door kalibraties in de echte wereld om een geldig criterium te definiëren voor de maximaal acceptabele fout voor onze simulatie. De resulterende fouten van onze tests zijn consistent kleiner dan de kalibratiefout die in de echte wereld wordt waargenomen.
Deze kalibratiemethode is gebaseerd op statistische optimalisatietechnieken die worden gebruikt door onze kalibratietool en kan daarom zijn eigen onzekerheid introduceren. Het is echter ook belangrijk op te merken dat het DriveWorks-kalibratiesysteem consequent is gebruikt in onderzoek en ontwikkeling voor sensorkalibratie met een hoge mate van nauwkeurigheid.
Deze resultaten tonen ook aan dat de kalibratietool kan functioneren met simulatie -gerenderde afbeeldingen en vergelijkbare resultaten bieden met de echte wereld. Het feit dat het real-world kalibratiesysteem en onze simulatie overeenkomen, is een eerste belangrijke indicator van vertrouwen voor ons camerasimulatiemodel.
Bovendien valideert deze methode ook de simulator als geheel, omdat de digitale tweeling die wordt gebruikt voor kalibratie de scène in zijn geheel modelleert met alle 12 camera's, zonder de waarden aan te passen om de resultaten te verbeteren.
Om de validiteit van verder te beoordelen deze methode hebben we vervolgens een directe numerieke kenmerkmarkeringsvergelijking uitgevoerd tussen de echte en gesimuleerde afbeeldingen.
Numerieke kenmerkmarkeringenvergelijking
De kalibratietool biedt een visuele validator om de posities van de kalibratiekaarten opnieuw te projecteren op de invoerbeelden op basis van de geschatte intrinsieke parameters. De afbeeldingen tonen een voorbeeld van de overlay van de gedetecteerde functies en de herprojectiestatistieken (gemiddelde, std, min en max herprojectiefout) voor de gesimuleerde en echte camera.
Afbeelding 11. Overlay doelposities op invoerbeelden voor camera_rear_fisheye_200fov
Door de herprojectiefout te berekenen, kunnen we de geldigheid van de eerdere kalibratiemethode verder bevestigen. Deze benadering analyseert de gedetecteerde functies van de kalibratietool en vergelijkt ze met die in het echte beeld.
Hier beschouwden we de hoeken van elk van de AprilTags in de kalibratiekaarten als de kenmerkmarkeringen. We hebben de afstand in pixels berekend tussen de kenmerkmarkeringen die zijn gedetecteerd op echte afbeeldingen in vergelijking met synthetische afbeeldingen, zowel voor padtracering als voor realtime simulatie.
De volgende afbeelding toont een gemiddelde afstand van 1,4 pixels tussen referentiepaden – getraceerde gesimuleerde en echte kenmerkmarkeringen. Dezelfde vergelijking op basis van de realtime gesimuleerde dataset levert een gemiddelde herprojectiefout van 1,62 pixels op.
Figuur 12. Gemiddelde herprojectiefout (referentie vs. realtime)
Beide waarden zijn de werkelijke projectiefoutdrempel van 2 pixels die wordt gebruikt om de nauwkeurigheid van de real-world kalibraties. De resultaten zijn veelbelovend, vooral omdat deze methode minder afhankelijk is van de interne werking van onze kalibratietool.
In feite wordt de kalibratietool hier alleen gebruikt om de gedetecteerde kenmerkmarkeringen in elke afbeelding te schatten. De vergelijking van de markeringen wordt gedaan op basis van een puur algoritmische analyse van objecten in de 3D-ruimte.
Kleurnauwkeurigheidsbeoordeling
De resultaten van de camerakalibratie tonen pixelcorrespondentie aan van beelden geproduceerd door onze camerasensor model naar hun echte beeld tegenhangers. De volgende stap is om te valideren dat de waarden die aan elk van die pixels zijn gekoppeld, juist zijn.
We hebben een Macbeth ColorChecker-kaart gesimuleerd en er een afbeelding van gemaakt in DRIVE Sim om de beeldkwaliteit te valideren. De RGB-waarden van elk kleurvlak werden vervolgens vergeleken met die van de overeenkomstige echte afbeelding.
Naast de echte afbeeldingen hebben we ook de Iray-renderer geïntroduceerd, NVIDIA's meest realistische fysieke lichtsimulator, gevalideerd volgens CIE 171:2006. We hebben deze test eerst uitgevoerd met behulp van gesimuleerde afbeeldingen die zijn gegenereerd met het Iray-renderingsysteem en vervolgens met de NVIDIA RTX-renderer. De vergelijking met Iray geeft een goede maatstaf voor de mogelijkheden van de RTX-renderer ten opzichte van een erkende gouden industriestandaard.
We hebben de beeldkwaliteit van onze gesimuleerde camera's gevalideerd volgens het volgende proces:
- Maak een afbeelding van de Macbeth ColorChecker-kaart in de testkamer: Een Macbeth ColorChecker-kaart wordt op een gemeten hoogte geplaatst en verlicht met een gekarakteriseerde externe lichtbron. De camera is op een bekende hoogte en afstand van de Macbeth-kaart geplaatst.
- Maak het beeld opnieuw in simulatie: Gebruik de afmetingen van de testopstelling, gekalibreerde Macbeth-diagramwaarden en het externe verlichtingsprofiel, hebben we de testscène gerenderd met behulp van de DRIVE Sim RTX-renderer. Vervolgens hebben we ons vooraf gedefinieerde cameramodel gebruikt om de beelden die in het laboratorium zijn vastgelegd, opnieuw te maken.
- Gemiddelde helderheid en RGB-waarden extraheren voor elke patch: We hebben het gemiddelde genomen van de kleurwaarden over alle pixels in elke patch voor alle drie de afbeeldingen (real, Iray, DRIVE Sim RTX-renderer).
- Vergelijk witbalanshelderheid en RGB-waarden: Metingen zijn genormaliseerd voor elke patch met patch 19 voor witbalans. We hebben de uitgebalanceerde kleur- en helderheidswaarden vergeleken voor de echte afbeelding, Iray-weergave en RTX-weergave.
Afbeelding 14. Macbeth ColorChecker-testproces
Afbeelding 15. Macbeth ColorChecker-referentietabel
Figuur 16. Echte en weergegeven luma- en RGB-vergelijkingen
Figuur 17. Vergelijking van rode kleurbijdragen, gerenderde afbeeldingen versus echte afbeelding
Afbeelding 18. Vergelijking van groene kleurbijdragen, gerenderde afbeeldingen versus echte afbeelding
Afbeelding 19. Vergelijking van blauwe kleurbijdragen, gerenderde afbeeldingen versus echte afbeeldingen
De grafieken tonen de genormaliseerde luma- en RGB-uitvoer voor elk kleurvlak in de gerenderde en echte afbeeldingen.
Zowel de luma- als RGB-waarden voor onze gerenderde afbeeldingen liggen dicht bij de echte camera, wat vertrouwen geeft in het vermogen van ons sensormodel om kleur- en helderheidsbijdragen nauwkeurig weer te geven.
Voor een directe visuele vergelijking hebben we laten zien de samengevoegde witgebalanceerde RGB-waarden van de Macbeth-diagram echte en synthetische afbeeldingen (Iray, realtime en path-traced bijdragen).
Afbeelding 20. Gestikte RGB-patches Macbeth-kleurenkaart (synthetisch versus echt)
We hebben ook ΔE berekend (zie resultaten in Afbeelding 22), een CIE2000-metriek voor computervisie, die de afstand tussen de weergegeven en originele camerawaarden kwantificeert en vaak wordt gebruikt voor camerakarakterisering. Een lagere ΔE-waarde geeft een grotere kleurnauwkeurigheid aan en het menselijk oog kan een waarde onder 1 niet detecteren.
Figuur 21. Referentie vs. realtime resultaten voor CIE2000
Hoewel ΔE een goede maatstaf biedt voor perceptueel kleurverschil en wordt erkend als een beeldstandaard, is het beperkt tot menselijke waarneming. De impact van een dergelijke statistiek op een neuraal netwerk moet nog worden geëvalueerd in verdere tests.
Conclusie
Dit bericht presenteerde de NVIDIA-validatieaanpak en voorlopige resultaten voor onze DRIVE Sim-camerasensor model.
- We hebben geconcludeerd dat ons model de kalibratieparameters van echte camera's nauwkeurig kan reproduceren met een algemene fout die lager is dan de echte kalibratiefout.
- We hebben ook de kleurnauwkeurigheid van ons model gekwantificeerd met verwijzing naar de industriestandaard Macbeth-kleurcontrole en hebben vastgesteld dat dit nauw aansluit bij de typische R&D-foutmarges.
- Bovendien hebben we geconcludeerd dat RTX realtime-weergave is een levensvatbaar hulpmiddel om dit nauwkeurigheidsniveau te bereiken.
Dit bevestigt dat het DRIVE Sim-cameramodel de eerder genoemde parameters van een echte camera in een gesimuleerde omgeving minstens zo nauwkeurig kan reproduceren als een dubbele camera-opstelling in de echte wereld. Wat nog belangrijker is, is dat deze tests gebruikers het vertrouwen geven dat de output van de cameramodellen, wat betreft intrinsieke, extrinsieke eigenschappen en kleurreproductie, nauwkeurig zal zijn en als basis kan dienen voor ander validatiewerk dat nog moet komen.
De volgende stappen zullen zijn om ons model te valideren in de context van zijn praktijkvoorbeelden voor perceptie en om verdere resultaten te leveren over de beeldvorming van KPI's voor het model in open-loop.
Carène Kamel
Product Manager, DRIVE Sim, NVIDIA
Ashley Reid
Senior software-ingenieur, NVIDIA
Fabian Plepp
Senior systeemingenieur, camerasimulatie, DRIVE Sim, NVIDIA