{"id":752,"date":"2021-07-25T16:00:00","date_gmt":"2021-07-25T15:00:00","guid":{"rendered":"https:\/\/www.geonatives.org\/?p=752"},"modified":"2022-01-03T21:02:00","modified_gmt":"2022-01-03T20:02:00","slug":"rules-vs-reality-procedural-environment-generation","status":"publish","type":"post","link":"https:\/\/www.geonatives.org\/?p=752","title":{"rendered":"Expert Talk with AnteMotion: Rules vs Reality &#8211; Procedural Environment Generation"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><sub>(4 min read)<\/sub><\/p>\n\n\n\n<p><em>As so often in life, rules may clash with reality. But in simulation and geodata business, rules are an essential part of creating reality\u2019s digital twin. Applied on a larger scale in a tool chain, rule-based procedural environment generation is a convenient way of increasing the amount of data for developing, training, and testing mobility systems.<\/em><\/p>\n\n\n\n<p>In early July 2021, GEONATIVES met online with Luca Gasbarro of <a rel=\"noreferrer noopener\" href=\"https:\/\/www.antemotion.com\" target=\"_blank\">AnteMotion<\/a> to talk about his experience and strategy with respect to procedurally generated environments.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"476\" height=\"128\" src=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/AnteMotionLogo.png\" alt=\"\" class=\"wp-image-754\" srcset=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/AnteMotionLogo.png 476w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/AnteMotionLogo-300x81.png 300w\" sizes=\"auto, (max-width: 476px) 100vw, 476px\" \/><\/figure><\/div>\n\n\n\n<p>AnteMotion is a provider of, but not limited to, a simulation platform that consists of a simulation framework, an Unreal-based render engine, and a procedural environment generation toolset. Everything is accompanied by corresponding engineering services.<\/p>\n\n\n\n<p>Our main interest was on the procedural generation tools. As we learned, AnteMotion is following four different paths:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>Scrape sources of GIS data (i.e., HERE HD Live Maps, TomTom HD Maps, etc.) to create automatically the OpenDRIVE road network file.<\/li><li>Use an (either manually modelled or from automatical scraper) OpenDRIVE file\u2019s semantic road information up to the sidewalks (inclusive) to generate&nbsp;a virtual world around this core network based and high level semantical rules, so that the same roads may be surrounded by residential, industrial, urban and other content; lane attributes, road marks, traffic signs and traffic lights are extracted from the OpenDRIVE file itself. The pipeline can be extended and personalized by including custom procedural rules. (For more details, see &#8220;<a rel=\"noreferrer noopener\" href=\"https:\/\/youtu.be\/zTMOJO7Z29I\" target=\"_blank\">Procedural Worlds &#8211; Modeling of infinite 3D scenario variations for virtual AV\/ADAS testing<\/a>&#8220;)<\/li><li>Use the same information as above (2), plus other OpenDRIVE file\u2019s information about objects (OpenDRIVE comes with object tags for elements in the general 3d environment which are not relevant to the so-called \u201croad logics\u201d). For various customers, \u201cuser data tags\u201d may be included in the files that allow for the specification of certain road-side features and for the harmonization of libraries of 3d objects. \u201cUser data tags\u201d in the OpenDRIVE file can be customized on user needs to specific road-side features or for the harmonization of 3d assets libraries.<\/li><li>Start with the same pipeline as in point (2), including also other sources for extra data information (e.g. GIS databases, OpenStreetMap, terrain elevation maps, etc.) to create a \u201cdigital sibling\u201d of the environment.<\/li><\/ol>\n\n\n\n<p>For more in-depth technical explanation the functionality of the pipeline, see &#8220;<a rel=\"noreferrer noopener\" href=\"https:\/\/youtu.be\/_NpbG4cYM1c\" data-type=\"URL\" data-id=\"https:\/\/youtu.be\/_NpbG4cYM1c\" target=\"_blank\">Procedural Worlds &#8211; How It Works (In-Depth Overview<\/a>&#8220;).<\/p>\n\n\n\n<p>The key to any of these paths \u2013 and one of our key questions concerning procedural generation \u2013 is the definition of the applicable rules. AnteMotion is performing their own development with a more-or-less generic approach also in terms of country-specific adaptation. This means, that, as of now, surroundings do not represent a specific country\u2019s features \u2013 they look quite Western European, though \u2013 but aim to provide an object composition that feels \u201cnatural\u201d to the driver \u2013 and the sensors. In the long term, more country feature packages could be added.<\/p>\n\n\n\n<figure class=\"wp-block-gallery aligncenter columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-2_960.jpg\" alt=\"\" data-id=\"767\" data-full-url=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-2_960.jpg\" data-link=\"https:\/\/www.geonatives.org\/?attachment_id=767\" class=\"wp-image-767\" srcset=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-2_960.jpg 960w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-2_960-300x169.jpg 300w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-2_960-768x432.jpg 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-1_960.jpg\" alt=\"\" data-id=\"766\" data-full-url=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-1_960.jpg\" data-link=\"https:\/\/www.geonatives.org\/?attachment_id=766\" class=\"wp-image-766\" srcset=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-1_960.jpg 960w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-1_960-300x169.jpg 300w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-1_960-768x432.jpg 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-4_960.jpg\" alt=\"\" data-id=\"765\" data-full-url=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-4_960.jpg\" data-link=\"https:\/\/www.geonatives.org\/?attachment_id=765\" class=\"wp-image-765\" srcset=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-4_960.jpg 960w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-4_960-300x169.jpg 300w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-4_960-768x432.jpg 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-3_960.jpg\" alt=\"\" data-id=\"764\" data-full-url=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-3_960.jpg\" data-link=\"https:\/\/www.geonatives.org\/?attachment_id=764\" class=\"wp-image-764\" srcset=\"https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-3_960.jpg 960w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-3_960-300x169.jpg 300w, https:\/\/www.geonatives.org\/wp-content\/uploads\/2021\/07\/Full-Procedural-Industrial-area-3_960-768x432.jpg 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\"><em>Procedurally generated industrial area (source: AnteMotion)<\/em><\/figcaption><\/figure>\n\n\n\n<p>The rules may not only apply to the selection of ready-to-go 3d objects from a given library but also to a generation of features from scratch along footprints. Buildings, for example, may be fit exactly into the spaces given in the corresponding map data. The number of floors, the type of roof and fa\u00e7ade etc. may be determined based on the applicable rule set. Such content creation was originally introduced in the computer games and movie industry to generate realistic looking cities and is now more and more utilized in the simulator domain. Procedural\u2019s <a href=\"https:\/\/www.esri.com\/en-de\/store\/city-engine\" target=\"_blank\" rel=\"noreferrer noopener\">CityEngine<\/a> (now part of ESRI) and <a href=\"https:\/\/trian3dbuilder.de\" target=\"_blank\" rel=\"noreferrer noopener\">Trian3DBuilder<\/a> are further examples of content creation tools which provide procedural environment generation features.<\/p>\n\n\n\n<p>Performance is a big topic when generating virtual environments, especially if these environments are to be used in real-time sensitive applications like hardware-in-the-loop (HiL) or driver-in-the-loop (DiL) setups. In order to achieve high throughput, AnteMotion uses state-of-the-art instantiation techniques for repetitive objects (vegetation, signs, signals etc.) that allow for a small memory footprint and short rendering times. Baking everything into one large 3d model would also prevent the system from adding, removing or replacing instantiated objects on-the-fly (e.g. for modifying the signage at an intersection).<\/p>\n\n\n\n<p>Like almost everybody who is concerned with environment generation, AnteMotion is also facing the typical issues of assessing and guaranteeing the quality and accuracy of their input data (OpenDRIVE files, elevation data, map data in general). Since AnteMotion is not performing their own data acquisition services or map generation, they highly rely on data they receive from 3<sup>rd<\/sup> parties.<\/p>\n\n\n\n<p>This brings us back to our frequently postulated key aspects in the <a href=\"https:\/\/www.geonatives.org\/?p=584\">data processing toolchain<\/a> when trying to get requirements of different <a href=\"https:\/\/www.geonatives.org\/?p=289\">stakeholders<\/a> aligned and taking the aspects of <a href=\"https:\/\/www.geonatives.org\/?p=225\">simulation<\/a> into account. It\u2019s all about the quality and reliability of the data!<\/p>\n\n\n\n<p>We concluded from our talk with AnteMotion that procedural environment generation is a valid means to populate road networks with environment data in a quick fashion. Even providing variants of an environment for various simulation tasks is a more than just useful feature especially if you think about test scenario generation.<\/p>\n\n\n\n<p>But there still is a lot to do: the harmonization of (commonly accepted) rules for environment generation according to a (country-specific) meta-type assignment (rural, urban etc.), unified material assignments (for sensor simulation), unified co-ordinate systems for external objects etc.<\/p>\n\n\n\n<p>Procedural environment generation may not fulfill the strong criteria of creating a <em>digital twin<\/em> of reality, but it may very well serve in creating <em>digital siblings<\/em> that allow for quick provision of vast amounts of realistic data. If a use case does not require an exact re-creation of the reality, procedural content creation can help to generate a realistic environment. This has already been shown a few years ago in the <a rel=\"noreferrer noopener\" href=\"https:\/\/elib.dlr.de\/119829\/1\/arcaktuell_2018_1_Virtuelles%20Testgebiet.pdf\" target=\"_blank\">Virtual World project<\/a>. For stakeholders who try to cover entire <em>event spaces<\/em> \u2013 including environment information \u2013 these <em>digital siblings<\/em> will be a welcome addition to the <em>family<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In simulation and geodata business, rules are an essential part of creating reality\u2019s digital twin. Rule-based procedural environment generation is a convenient way of increasing the amount of data for developing, training, and testing mobility systems<\/p>\n","protected":false},"author":4,"featured_media":783,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,12,8],"tags":[57,18],"class_list":["post-752","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-processing","category-expert-article","category-tooling","tag-procedural-generation","tag-simulation"],"_links":{"self":[{"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/posts\/752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=752"}],"version-history":[{"count":12,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/posts\/752\/revisions"}],"predecessor-version":[{"id":1069,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/posts\/752\/revisions\/1069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=\/wp\/v2\/media\/783"}],"wp:attachment":[{"href":"https:\/\/www.geonatives.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geonatives.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}