您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

8.5 KiB

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

Upgrade Notes

Before upgrading a project to this version of the Perception package, make sure to keep a record of all sampler ranges in your added Randomizers. Due to a change in how sampler ranges are serialized, after upgrading to this version, ranges for all stock Perception samplers (Uniform and Normal Samplers) will be reset, and will need to be manually reverted by the user.

Added

Added ScenarioConstants base class for all scenario constants objects

Added ScenarioBase.SerializeToConfigFile()

Randomizer tags now support inheritance

Added AnimationCurveSampler, which returns random values according to a range and probability distribution denoted by a user provided AnimationCurve.

Changed

Randomizers now access their parent scenario through the static activeScenario property

Unique seeds per Sampler have been replaced with one global random seed configured via the ScenarioConstants of a Scenario

Replaced ScenarioBase.GenerateRandomSeed() with ScenarioBase.NextRandomState()

ScenarioBase.Serialize() now directly returns the serialized scenario configuration JSON string instead of writing directly to a file (use SerializeToConfigFile() instead)

ScenarioBase.Serialize() now not only serializes scenario constants, but also all sampler member fields on randomizers attached to the scenario

Deprecated

Removed

Removed ScenarioBase.GenerateRandomSeedFromIndex()

Removed native sampling (through jobs) capability from all samplers and parameters as it introduced additional complexity to the code and was not a common usage pattern

Removed range as a required ISampler interface property.

Fixed

Fixed an issue where the overlay panel would display a full screen semi-transparent image over the entire screen when the overlay panel is disabled in the UI

Fixed a bug in instance segmentation labeler that erroneously logged that object ID 255 was not supported

Fixed the simulation stopping while the editor/player is not focused

Fixed memory leak or crash occurring at the end of long simulations when using BackgroundObjectPlacementRandomizer or ForegroundObjectPlacementRandomizer

Randomizer.OnCreate() is no longer called in edit-mode when adding a randomizer to a scenario

Fixed a bug where removing all randomizers from a scenario caused the randomizer container UI element to overflow over the end of Scenario component UI

[0.6.0-preview.1] - 2020-12-03

Added

Added support for labeling Terrain objects. Trees and details are not labeled but will occlude other objects.

Added instance segmentation labeler.

Added support for full screen visual overlays and overlay manager.

All-new editor interface for the Labeling component and Label Configuration assets. The new UI improves upon various parts of the label specification and configuration workflow, making it more efficient and less error-prone to setup a new Perception project.

Added Assets->Perception menu for current and future asset preparation and validation tools. Currently contains one function which lets the user create prefabs out of multiple selected models with one click, removing the need for going through all models individually.

Changed

Updated dependencies to com.unity.simulation.capture:0.0.10-preview.14, com.unity.simulation.core:0.0.10-preview.20, and com.unity.burst:1.3.9.

Changed InstanceSegmentationImageReadback event to provide a NativeArray<Color32> instead of NativeArray<uint>.

Expanded all Unity Simulation references from USim to Unity Simulation.

Uniform and Normal samplers now serialize their random seeds.

The ScenarioBase's GenerateIterativeRandomSeed() method has been renamed to GenerateRandomSeedFromIndex().

Deprecated

Removed

Fixed

UnitySimulationScenario now correctly deserializes app-params before offsetting the current scenario iteration when executing on Unity Simulation.

Fixed Unity Simulation nodes generating one extra empty image before generating their share of the randomization scenario iterations.

Fixed enumeration in the CategoricalParameter.categories property.

The GenerateRandomSeedFromIndex method now correctly hashes the current scenario iteration into the random seed it generates.

Corrupted .meta files have been rebuilt and replaced.

The Randomizer list inspector UI now updates appropriately when a user clicks undo.

[0.5.0-preview.1] - 2020-10-14

Known Issues

Creating a new 2020.1.x project and adding the perception package to the project causes a memory error that is a known issue in 2020.1 editors. Users can remedy this issue by closing and reopening the editor.

Added

Added Randomizers and RandomizerTags Added support for generating 3D bounding box ground truth data

Changed

Deprecated

Removed

Removed ParameterConfigurations (replaced with Randomizers)

Fixed

Fixed visualization issue where object count and pixel count labelers were shown stale values Fixed visualization issue where HUD entry labels could be too long and take up the entire panel

[0.4.0-preview.1] - 2020-08-07

Added

Added new experimental randomization tools

Added support for 2020.1

Added Labeling.RefreshLabeling(), which can be used to update ground truth generators after the list of labels or the renderers is changed

Added support for renderers with MaterialPropertyBlocks assigned to individual materials

Changed

Changed the way realtime visualizers rendered to avoid rendering conflicts

Changed default labeler ids to be lower-case to be consistent with the ids in the dataset

Switched to latest versions of com.unity.simulation.core and com.unity.simulation.capture

Deprecated

Removed

Fixed

Fixed 2d bounding boxes being reported for objects that do not match the label config.

Fixed a categorical parameter UI error in which deleting an individual option would successfully remove the option from the UI but only serialize the option to null during serialization instead of removing it

Fixed the "Application Frequency" parameter UI field not initializing to a default value

Fixed the IterateSeed() method where certain combinations of indices and random seeds would produce a random state value of zero, causing Unity.Mathematics.Random to throw an exception

Fixed labeler editor to allow for editing multiple labelers at a time

Fixed labeler editor to ensure that when duplicating prefabs all labeler entries are also duplicated

Fixed colors in semantic segmentation images being darker than those specified in the label config

Fixed objects being incorrectly labeled when they do not match any entries in the label config

Fixed lens distortion in URP and HDRP now being applied to ground truth

Security

[0.3.0-preview.1] - 2020-08-07

Added

Added realtime visualization capability to the perception package.

Added visualizers for built-in labelers: Semantic Segmentation, 2D Bounding Boxes, Object Count, and Rendered Object Info.

Added references to example projects in manual.

Added notification when an HDRP project is in Deferred Only mode, which is not supported by the labelers.

Changed

Updated to com.unity.simulation.capture version 0.0.10-preview.10 and com.unity.simulation.core version 0.0.10-preview.17

Changed minimum Unity Editor version to 2019.4

Fixed

Fixed compilation warnings with latest com.unity.simulation.core package.

Fixed errors in example script when exiting play mode

[0.2.0-preview.2] - 2020-07-15

Fixed

Fixed bug that prevented RGB captures to be written out to disk Fixed compatibility with com.unity.simulation.capture@0.0.10-preview.8

[0.2.0-preview.1] - 2020-07-02

Added

Added CameraLabeler, an extensible base type for all forms of dataset output from a camera. Added LabelConfig<T>, a base class for mapping labels to data used by a labeler. There are two new derived types - ID label config and semantic segmentation label config.

Changed

Moved the various forms of ground truth from PerceptionCamera into various subclasses of CameraLabeler. Renamed SimulationManager to DatasetCapture. Changed Semantic Segmentation to take a SemanticSegmentationLabelConfig, which maps labels to color pixel values.

[0.1.0] - 2020-06-24

This is the first release of the Perception package