Comments (12)
Hi Henrik. In order for us to help you, we would need a bit more info about the issue. Can you perhaps provide some screenshots of the visualized bounding boxes, as well as how your labeling is set up for the trees?
from com.unity.perception.
OK, very interesting. We haven't played with Alpha-Clipping or Double-Sided. Could you tell us which asset store package you used so we can test ourselves?
Querying the alpha channel of textures is on our backlog but we do not yet have an ETA. In the meantime if you have some experience with shaders you may want to try playing with the two shaders used for labeling:
We will update this thread when we have a solution available to try.
from com.unity.perception.
I had the time to look at it myself. I changed the shader, but this was not enough. I also changed the SemanticSegmentationCrossPipelinePass so that the texture of each material is accessible by the shader. In the image you can see the result. Do you want me to contribute this somehow (it fits my application, but it definitely still has to be tested carefully)?
from com.unity.perception.
Thanks for your quick reply. Sure, here are a few pictures. Behind the tree are buildings and the sky. I use the SemanticSegmentationLabeler. Config: Trees are labeled green, buildings in the background gray. As you can see, some leaves on the tree are not getting the correct label / color assignment. They just get the color / label of the objects that are behind them and overall the correspondence between leaves and label / color is not very accurate
from com.unity.perception.
There appear to be two issues at play here.
The first is that the perception package do not currently support transparency for in ground truth rendering. This causes the leaf sections to be show up as large geometric shapes instead of individual leaves. Is it important to you to have pixel-perfect segmentation of leaves?
The second is that the geometry in the semantic segmentation does not line up with the positions of the actual leaves. My hunch is that the tree has a geometry or vertex shader which is deforming the tree. Vertex and geometry shaders are also not run when generating ground truth. What kind of tree is this? Speed tree or some other asset store package? You may find an option to disable tree movement which will get the geometry to be static and line up properly.
from com.unity.perception.
Just for clarification, the result shown in the images above is the same as in the generated segmentation images.
It could be important for the training to have pixel-perfect segmentation of leaves or at least no misclassified parts. It is an asset store package, but it just uses the HDRP/Lit-Shader and there is no tree movement at all.
I think I found the reason: The first image is without Alpha-Clipping and the second without Double-Sided. Alpha clipping explains why it does not match the shape and double-sided why some parts are not labeled at all. Without both, the labeling is exactly the same, but of course it looks very bad.
from com.unity.perception.
You can test it with any object that changes it appearance (especially the shape / contour), if you deactivate alpha-clipping or double-sided. I tested it beside other assets with trees from the Forest Environment - Dynamic Nature from NatureManufacture in the asset store. But as I said, it also happens with other assets.
from com.unity.perception.
By the way, we have a branch with experimental support for transparency here: https://github.com/Unity-Technologies/com.unity.perception/tree/seg_opacity Feel free to give feedback if you try it out!
from com.unity.perception.
SemanticSegmentationCrossPipelinePas
Hi, @HenrikWerner, I'm also interested in labeling leaves. Would you mind sharing your modification of CrossPipelinePass if possible?
from com.unity.perception.
Hi ! I'm working with trees also. Support for transparency helped here but still facing the issue with double-side. Could you share or point me how to change to make visible double-side ?
from com.unity.perception.
Hi ! any help with double-side please?
from com.unity.perception.
Hey all! The Perception team just released 🎉 Perception 1.0 🎉, a major update to the toolset! We have added support for transparency in our segmentation pass which should enable the above use-case. Let us know how it goes! Closing this issue for now.
There are a bunch of cool features to check out such as ray tracing, depth, a new output format SOLO, normals, and more! Here is the full list of changes: Perception 1.0 Changelog
from com.unity.perception.
Related Issues (20)
- Running in
- Exporting on a different resolution (Builds) HOT 1
- Human Pose Labeling Tutorial: No rig section when selecting all assets under Models and Animations
- No camera intrinsics in any of the .json output files
- Camera id
- Depth images in PNG HOT 1
- Perception camera RequestCapture throws Vulkan framebuffer attachment missing error when -runTest uses -batchmode
- Question: Project activity and roadmap HOT 1
- Question: Z option for ForegroundObjectPlacementRandomizer HOT 1
- Inquiry about the Perception Package's Current Status and Future Updates HOT 1
- Failed to get visualizer process ID after lauch
- Running on AWS cloud
- Visualizing Perception datasets with fiftyone HOT 1
- Blurry foreground object HOT 4
- Black Camera Issue HOT 5
- Support IK enabled and AvatarMasks for Animation Randomizer
- Occlusion Labeler for Fisheye Cameras?
- Unity Perception: Semantic Segmentation not capturing whole object
- No depth found HOT 3
- how to add perception camera?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from com.unity.perception.