Skip to content

Commit 9cb61e3

Browse files
author
Mohsen Kamalzadeh
committed
Merge branch '0.8.0-preview.1_staging' into ability_to_disable_labeling
2 parents 70fa360 + c53a61d commit 9cb61e3

File tree

18 files changed

+141
-98
lines changed

18 files changed

+141
-98
lines changed

com.unity.perception/CHANGELOG.md

Lines changed: 45 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,73 +9,91 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
99

1010
### Upgrade Notes
1111

12-
All appearances of the term `KeyPoint` have been renamed to `Keypoint`. Therefore, after upgrading to this version, if you have code that relies on any renamed types or names, make sure to alter your code to reflect the new names.
12+
### Known Issues
13+
14+
### Added
15+
16+
### Changed
17+
18+
### Deprecated
19+
20+
### Removed
21+
22+
### Fixed
23+
24+
## [0.8.0-preview.1] - 2021-03-15
25+
26+
### Upgrade Notes
27+
28+
All appearances of the term `KeyPoint` have been renamed to `Keypoint`. If you have code that relies on any renamed types or names, make sure to alter your code to reflect the new names.
29+
30+
`ScenarioBase`'s `Awake()`, `Start()`, and `Update()` functions are now private. If you previously used these, replace the usages with `OnAwake()`, `OnStart()`, and `OnUpdate()`.
1331

1432
### Known Issues
1533

1634
### Added
1735

18-
Added error message when missing Randomizer scripts are detected
36+
Added error message when missing Randomizer scripts are detected.
1937

20-
Scenario serialization has been updated to include scalar values on randomizers and parameters.
38+
Scenario serialization has been updated to include scalar values on Randomizers and Parameters.
2139

22-
Added new ScenarioBase virtual lifecycle hooks: OnAwake, OnStart, OnComplete, and OnIdle.
40+
Added new `ScenarioBase` virtual lifecycle hooks: `OnAwake()`, `OnStart()`, `OnUpdate()`, `OnComplete()`, and `OnIdle()`.
2341

24-
Keypoint occlusion has been added, no keypoint information will be recorded for a labeled asset completely out of the camera's frustum.
42+
Keypoint occlusion has been added. No keypoint information will be recorded for a labeled asset completely out of the camera's frustum.
2543

26-
New keypoint tests have been added to test keypoint state.
44+
New keypoint tests have been added to test keypoint states.
2745

28-
The color of keypoints and connections are now reported in the annotation definition json file for keypoint templates.
46+
The color of keypoints and connections are now reported in the annotation definition JSON file for keypoint templates.
2947

30-
The PerceptionScenario abstract class has been added to abstract perception data capture specific functionality from the vanilla scenario lifecycle.
48+
The `PerceptionScenario` abstract class has been added to abstract perception data capture specific functionality from the vanilla Scenario lifecycle.
3149

32-
The newly added LabelManager class now enables custom Labelers to access the list of registered Labeling Components present in the scene.
50+
The newly added `LabelManager` class now enables custom Labelers to access the list of registered `Labeling` Components present in the Scene.
3351

34-
Improved UI for KeypointTemplate and added useful default colors for keypoint and skeleton definitions.
52+
Improved UI for `KeypointTemplate` and added useful default colors for keypoint and skeleton definitions.
3553

3654
### Changed
3755

3856
Renamed all appearances of the term `KeyPoint` within types and names to `Keypoint`.
3957

40-
ScenarioBase's Awake, Start, and Update methods are now private. The newly added virtual lifecycle hooks are to be used as replacements.
58+
ScenarioBase's `Awake()`, `Start()`, and `Update()` methods are now private. The newly added virtual lifecycle hooks are to be used as replacements.
4159

42-
Improved Run Unity Simulation window UI.
60+
Improved _Run in Unity Simulation_ window UI.
4361

44-
The Run Unity Simulation window now accepts option scenario JSON configurations to override existing scenario editor settings.
62+
The _Run in Unity Simulation_ window now accepts an optional Scenario JSON configuration to override existing Scenario editor UI settings.
4563

46-
ScenarioBase's Get and Create randomizer methods have been augmented or replaced with more generic list index style accessors.
64+
The `GetRandomizer()` and `CreateRandomizer()` methods of `ScenarioBase` have been augmented or replaced with more generic list index style accessors.
4765

48-
The scenario inspector buttons serialize and deserialize have been refactored to open a file explorer generate and import JSON configurations.
66+
The Scenario inspector buttons for serialization and deserialization have been refactored to open a file explorer so that the user can choose where to save the generated JSON configuration or which file to import a configuration from.
4967

50-
Randomizer tags now use OnEnable and OnDisable to manage lifecycle. This allows the user to toggle them on and off in the editor.
68+
RandomizerTags now use `OnEnable()` and `OnDisable()` to manage their lifecycle. This allows the user to toggle them on and off in the editor.
5169

52-
The randomizer methods OnCreate(), OnStartRunning(), and OnStopRunning() are now deprecated and have been replaced with OnAwake(), OnEnable() and OnDisable() respectively to better reflect the existing MonoBehaviour lifecycle methods.
70+
Upgraded `com.unity.simulation.capture` package dependency to integrate new changes that prevent the API updater from looping infinitely when opening the project settings window on new URP projects.
5371

54-
CameraLabeler methods OnBeginRendering() and OnEndRendering() have an added ScriptableRenderContext parameter.
55-
56-
Upgraded com.unity.simulation.capture package dependency to integrate new changes that prevent the API updater from looping infinitely when opening the project settings window on new URP projects.
72+
`CameraLabeler` methods `OnBeginRendering()` and `OnEndRendering()` now have an added `ScriptableRenderContext` parameter.
5773

5874
### Deprecated
5975

76+
The Randomizer methods `OnCreate()`, `OnStartRunning()`, and `OnStopRunning()` are now deprecated and have been replaced with `OnAwake()`, `OnEnable()` and `OnDisable()` respectively, so as to better reflect the existing MonoBehaviour lifecycle methods.
77+
6078
### Removed
6179

62-
Removed the entities package dependency
80+
Removed the Entities package dependency.
6381

6482
### Fixed
6583

66-
Fixed a null reference error that appeared when adding options to categorical parameters.
84+
Fixed a null reference error that appeared when adding options to Categorical Parameters.
6785

68-
Fixed ground truth not properly produced when there are other disabled PerceptionCameras present. Note: this does not yet add support for multiple enabled PerceptionCameras.
86+
Fixed ground truth not properly being produced when there are other disabled PerceptionCameras present. Note: this does not yet add support for multiple enabled PerceptionCameras.
6987

70-
Fixed exception when rendering inspector for randomizers with private serialized fields
88+
Fixed an exception when rendering inspector for Randomizers with private serialized fields.
7189

72-
Fixed an issue preventing a user from adding more options to a Categorical Parameter's list of options with the 'Add Folder' button. 'Add Folder' now correctly appends the contents of the new folder on the list.
90+
Fixed an issue preventing the user from adding more options to a Categorical Parameter's list of options with the _Add Folder_ button. _Add Folder_ now correctly appends the contents of the new folder to the existing list.
7391

7492
Fixed a bug where uniform probabilities were not properly reset upon adding or removing options from a Categorical Parameter's list of options.
7593

76-
Fixed keypoints being reported in wrong locations on the first frame an object is visible.
94+
Fixed keypoints being reported in wrong locations on the first frame in which an object is visible.
7795

78-
Fixed an out of range error if a keypoint template skeleton relies on a joint that is not available.
96+
Fixed an out of range error that occurred when a keypoint template skeleton relied on a joint that was not available.
7997

8098
Fixed wrong labels on 2d bounding boxes when all labeled objects are deleted in a frame.
8199

com.unity.perception/Documentation~/HPTutorial/TUTORIAL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
In this tutorial, we will walk through the production of keypoint and pose datasets for computer vision tasks such as human pose estimation and gesture recognition.
44

5-
We strongly recommend you finish [Phase 1 of the Perception Tutorial](../Tutorial/Phase1.md) before continuing with this one, especially if you do not have prior experience with Unity Editor. This tutorial requires at least version **0.7.0-preview.2** of the Perception package.
5+
We strongly recommend you finish [Phase 1 of the Perception Tutorial](../Tutorial/Phase1.md) before continuing with this one, especially if you do not have prior experience with Unity Editor. This tutorial requires at least version **0.8.0-preview.1** of the Perception package.
66

77
In this tutorial, **":green_circle: Action:"** mark all of the actions needed to progress through the tutorial. If you are in a hurry, just follow the actions!
88

@@ -37,15 +37,15 @@ Your Scenario should now look like this:
3737
We now need to import the sample files required for this tutorial.
3838

3939
* **:green_circle: Action**: Open _**Package Manager**_ and select the Perception package, which should already be present in the navigation pane to the left side.
40-
* **:green_circle: Action**: From the list of ***Samples*** for the Perception package, click on the ***Import into Project*** button for the sample bundle named _**Human Pose Estimation**_.
40+
* **:green_circle: Action**: From the list of ***Samples*** for the Perception package, click on the ***Import*** button for the sample bundle named _**Human Pose Labeling and Randomization**_.
4141

4242
Once the sample files are imported, they will be placed inside the `Assets/Samples/Perception` folder in your Unity project, as seen in the image below:
4343

4444
<p align="center">
4545
<img src="Images/project_folders_samples.png" width="600"/>
4646
</p>
4747

48-
* **:green_circle: Action**: Select all of the assets inside the `Assets/Samples/Perception/<perception-package-version>/Human Pose Estimation/Models and Animations`.
48+
* **:green_circle: Action**: Select all of the assets inside the `Assets/Samples/Perception/<perception-package-version>/Human Pose Labeling and Randomization/Models and Animations`.
4949
* **:green_circle: Action**: In the _**Inspector**_ tab, navigate to the _**Rig**_ section.
5050

5151
Note how `Animation Type` is set to `Humanoid` for all selected assets. This is a requirement and makes sure all animations included in the sample `.fbx` files are ready to be used on a rigged humanoid model.

com.unity.perception/Documentation~/PerceptionCamera.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,7 @@ The RenderedObjectInfoLabeler records a list of all objects visible in the Camer
7979

8080
### KeypointLabeler
8181

82-
The keypoint labeler captures keypoints of a labeled gameobject. The typical use of this labeler is capturing human pose
83-
estimation data. The labeler uses a [keypoint template](#KeypointTemplate) which defines the keypoints to capture for the
84-
model and the skeletal connections between those keypoints. The positions of the keypoints are recorded in pixel coordinates
85-
and saved to the captures json file.
82+
The keypoint labeler captures keypoints of a labeled gameobject. The typical use of this labeler is capturing human pose estimation data. The labeler uses a [keypoint template](#KeypointTemplate) which defines the keypoints to capture for the model and the skeletal connections between those keypoints. The positions of the keypoints are recorded in pixel coordinates. Each keypoint has a state value: 0 - the keypoint either does not exist or is outside of the image's bounds, 1 - the keypoint exists and is inside of the image's bounds but cannot be seen because it is occluded by another object, and 2 - the keypoint exists and is visible.
8683

8784
```
8885
keypoints {
@@ -95,7 +92,7 @@ keypoints {
9592
index: <int> -- Index of keypoint in template
9693
x: <float> -- X pixel coordinate of keypoint
9794
y: <float> -- Y pixel coordinate of keypoint
98-
state: <int> -- 0: keypoint does not exist, 1 keypoint exists
95+
state: <int> -- 0: keypoint does not exist, 1: keypoint exists but is not visible, 2: keypoint exists and is visible
9996
}, ...
10097
]
10198
}

com.unity.perception/Documentation~/SetupSteps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
This page provides brief instructions on installing the Perception package. Head over to the [Perception Tutorial](Tutorial/TUTORIAL.md) for more detailed instructions and steps for building a sample project.
66

77

8-
1. Install the latest version of 2019.4.x or 2020.1.x Unity Editor from [here](https://unity3d.com/get-unity/download/archive). (Perception has not been tested on Unity versions newer than 2020.1)
8+
1. Install the latest version of **2020.2.x** Unity Editor from [here](https://unity3d.com/get-unity/download/archive). (The Perception package has not been fully tested on newer Unity versions)
99
1. Create a new HDRP or URP project, or open an existing project.
1010
1. Open `Window` -> `Package Manager`
1111
1. In the Package Manager window find and click the ***+*** button in the upper lefthand corner of the window
@@ -14,6 +14,6 @@ This page provides brief instructions on installing the Perception package. Head
1414

1515
Note that although the Perception package is compatible with both URP and HDRP, Unity Simulation currently only supports URP projects, therefore a URP project is recommended.
1616

17-
If you want a specific version of the package, append the version to the end of the "git URL". Ex. `com.unity.perception@0.1.0-preview.4`
17+
If you want a specific version of the package, append the version to the end of the "git URL". Ex. `com.unity.perception@0.8.0-preview.1`
1818

1919
To install from a local clone of the repository, see [installing a local package](https://docs.unity3d.com/Manual/upm-ui-local.html) in the Unity manual.
-34.5 KB
Loading
-229 KB
Loading
63.7 KB
Loading
-147 KB
Loading
-16.8 KB
Loading
48.1 KB
Loading

0 commit comments

Comments
 (0)