You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: com.unity.perception/Documentation~/Tutorial/Phase1.md
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -155,7 +155,7 @@ This will create a new asset file named `IdLabelConfig` inside the `Assets` fold
155
155
156
156
Click on this asset to bring up its _**Inspector**_ view. In there, you can specify the labels that this config will keep track of. You can type in labels, add any labels defined in the project (through being added to prefabs), and import/export this label config as a JSON file. A new label config like this one contains an empty list of labels.
157
157
158
-
In this tutorial, we will generate synthetic data intended for detecting 10 everyday grocery items. These grocery items were imported into your project when you imported the tutorial files from the _**Package Manager**_, and are located in the folder `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
158
+
In this tutorial, we will generate synthetic data intended for detecting 10 everyday grocery items. These grocery items were imported into your project when you imported the tutorial files from the _**Package Manager**_, and are located in the folder `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
159
159
160
160
The label configuration we have created (`TutorialIdLabelConfig`) is of type `IdLabelConfig`, and is compatible with three of the four labelers we have attached to our `Perception Camera`. This type of label configuration carries a unique numerical ID for each label. However, `SemanticSegmentationLabeler` requires a different kind of label configuration which includes unique colors for each label instead of numerical IDs. This is because the output of this labeler is a set of images in which each visible foreground object is painted in a unique color.
161
161
@@ -169,11 +169,11 @@ Now that you have created your label configurations, we need to assign them to L
It is now time to assign labels to the objects that are supposed to be detected by an eventual object-detection model, and add those labels to both of the label configurations we have created. As mentioned above, these objects are located at `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
172
+
It is now time to assign labels to the objects that are supposed to be detected by an eventual object-detection model, and add those labels to both of the label configurations we have created. As mentioned above, these objects are located at `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
173
173
174
174
In Unity, Prefabs are essentially reusable GameObjects that are stored to disk, along with all their child GameObjects, components, and property values. Let's see what our sample prefabs include.
175
175
176
-
***:green_circle: Action**: In the _**Project**_ tab, navigate to `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs`
176
+
***:green_circle: Action**: In the _**Project**_ tab, navigate to `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs`
177
177
***:green_circle: Action**: Double click the file named `drink_whippingcream_lucerne.prefab` to open the Prefab asset.
178
178
179
179
When you open the Prefab asset, you will see the object shown in the Scene tab and its components shown on the right side of the editor, in the _**Inspector**_ tab:
@@ -192,7 +192,7 @@ For this tutorial, we have already prepared the foreground Prefabs for you and a
192
192
193
193
Even though the sample Prefabs already have a label manually added, to learn more about how to use the Labeling component, we will now use automatic labeling to label all our foreground objects. This will overwrite their manually added labels.
194
194
195
-
***:green_circle: Action**: Select **all the files** inside the `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs` folder.
195
+
***:green_circle: Action**: Select **all the files** inside the `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs` folder.
196
196
***:green_circle: Action**: From the _**Inspector**_ tab, enable `Use Automatic Labeling for All Selected Items`, and then select `Use asset name` as the labeling scheme.
197
197
198
198
<palign="center">
@@ -222,7 +222,7 @@ Here, you can also open either of the configurations by clicking the _**Open**_
222
222
223
223
Now that we have labeled all our foreground objects and set up our label configurations, let's briefly test things.
224
224
225
-
***:green_circle: Action**: In the _**Project**_ tab, navigate to `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
225
+
***:green_circle: Action**: In the _**Project**_ tab, navigate to `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
226
226
***:green_circle: Action**: Drag and drop any of the Prefabs inside this folder into the Scene.
227
227
***:green_circle: Action**: Click on the **▷** (play) button located at the top middle section of the editor to run your simulation.
228
228
@@ -265,7 +265,7 @@ There are a number of settings and properties you can modify here. `Quit On Comp
265
265
266
266
This Randomizer uses Poisson-Disk sampling to select random positions from a given area, and spawn copies of randomly selected Prefabs (from a given list) at the chosen positions. We will use this component to generate a background that will act as a distraction for our eventual object-detection machine learning model.
267
267
268
-
***:green_circle: Action**: Click _**Add Folder**_, and from the file explorer window that opens, choose the folder `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Background Objects/Prefabs`.
268
+
***:green_circle: Action**: Click _**Add Folder**_, and from the file explorer window that opens, choose the folder `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Background Objects/Prefabs`.
269
269
270
270
The background Prefabs are primitive shapes devoid of color or texture. Later Randomizers will take care of those aspects.
271
271
@@ -308,7 +308,7 @@ As seen in the image above, what we have now is just a beige-colored wall of sha
308
308
309
309
`TextureRandomizer` will have the task of attaching random textures to our colorless background objects at each Iteration of the Scenario. Similarly, `HueOffsetRandomizer` will alter the color of the objects, and `RotationRandomizer` will give the objects a new random rotation each Iteration.
310
310
311
-
***:green_circle: Action**: In the UI snippet for `TextureRandomizer`, click _**Add Folder**_ and choose `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Background Textures`.
311
+
***:green_circle: Action**: In the UI snippet for `TextureRandomizer`, click _**Add Folder**_ and choose `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Background Textures`.
312
312
313
313
***:green_circle: Action**: In the UI snippet for `RotationRandomizer`, verify that all the minimum values for the three ranges are `0` and that maximum values are `360`.
314
314
@@ -322,7 +322,7 @@ There is one more important thing left to do, in order to make sure all the abov
322
322
323
323
To make sure each Randomizer knows which objects it should work with, we will use an object tagging and querying workflow that the bundled Randomizers already use. Each Randomizer can query the Scene for objects that carry certain types of `RandomizerTag` components. For instance, the `TextureRandomizer` queries the Scene for objects that have a `TextureRandomizerTag` component (you can change this in code!). Therefore, in order to make sure our background Prefabs are affected by the `TextureRandomizer` we need to make sure they have `TextureRandomizerTag` attached to them.
324
324
325
-
***:green_circle: Action**: In the _**Project**_ tab, navigate to `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Background Objects/Prefabs`.
325
+
***:green_circle: Action**: In the _**Project**_ tab, navigate to `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Background Objects/Prefabs`.
326
326
***:green_circle: Action**: Select all the files inside and from the _**Inspector**_ tab add a `TextureRandomizerTag` to them. This will add the component to all the selected files.
327
327
***:green_circle: Action**: Repeat the above step to add `HueOffsetRandomizerTag` and `RotationRandomizerTag` to all selected Prefabs.
328
328
@@ -342,14 +342,14 @@ If you run the simulation now you will see the generated backgrounds look much m
342
342
343
343
It is now time to spawn and randomize our foreground objects.
344
344
345
-
***:green_circle: Action**: Add `ForegroundObjectPlacementRandomizer` to your list of Randomizers. Click _**Add Folder**_ and select `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
345
+
***:green_circle: Action**: Add `ForegroundObjectPlacementRandomizer` to your list of Randomizers. Click _**Add Folder**_ and select `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs`.
346
346
***:green_circle: Action**: Set these values for the above Randomizer: `Depth = -3, Separation Distance = 1.5, Placement Area = (5,5)`.
347
347
348
348
This Randomizer uses the same algorithm as the one we used for backgrounds; however, it is defined in a separate C# class because you can only have **one of each type of Randomizer added to your Scenario**. Therefore, this is our way of differentiating between how background and foreground objects are treated.
349
349
350
350
While the texture and color of the foreground objects will be constant during the simulation, we would like their rotation to be randomized similar to the background Prefabs. To achieve this:
351
351
352
-
***:green_circle: Action**: From the _**Project**_ tab select all the foreground Prefabs located in `Assets/Samples/Perception/0.9.0-preview.1/Tutorial Files/Foreground Objects/Phase 1/Prefabs`, and add a `RotationRandomizerTag` component to them.
352
+
***:green_circle: Action**: From the _**Project**_ tab select all the foreground Prefabs located in `Assets/Samples/Perception/0.9.0-preview.2/Tutorial Files/Foreground Objects/Phase 1/Prefabs`, and add a `RotationRandomizerTag` component to them.
353
353
354
354
Randomizers execute according to their order within the list of Randomizers added to your Scenario. If you look at the list now, you will notice that `ForegroundObjectPlacementRandomizer` is coming after `RotationRandomizer`, therefore, foreground objects will NOT be included in the rotation randomizations, even though they are carrying the proper RandomizerTag. To fix that:
0 commit comments