Git Product home page Git Product logo

Comments (12)

mkamalza avatar mkamalza commented on May 26, 2024 1

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.

JonathanHUnity avatar JonathanHUnity commented on May 26, 2024 1

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:

https://github.com/Unity-Technologies/com.unity.perception/blob/master/com.unity.perception/Runtime/GroundTruth/Resources/SemanticSegmentation.shader

https://github.com/Unity-Technologies/com.unity.perception/blob/master/com.unity.perception/Runtime/GroundTruth/Resources/InstanceSegmentation.shader

We will update this thread when we have a solution available to try.

from com.unity.perception.

HenrikWerner avatar HenrikWerner commented on May 26, 2024 1

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)?
Tree

from com.unity.perception.

HenrikWerner avatar HenrikWerner commented on May 26, 2024

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
1
2
3

from com.unity.perception.

JonathanHUnity avatar JonathanHUnity commented on May 26, 2024

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.

HenrikWerner avatar HenrikWerner commented on May 26, 2024

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.
A
B

from com.unity.perception.

HenrikWerner avatar HenrikWerner commented on May 26, 2024

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.

JonathanHUnity avatar JonathanHUnity commented on May 26, 2024

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.

totti0223 avatar totti0223 commented on May 26, 2024

SemanticSegmentationCrossPipelinePas

Hi, @HenrikWerner, I'm also interested in labeling leaves. Would you mind sharing your modification of CrossPipelinePass if possible?

from com.unity.perception.

gespona avatar gespona commented on May 26, 2024

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.

gespona avatar gespona commented on May 26, 2024

Hi ! any help with double-side please?

from com.unity.perception.

aryan-mann avatar aryan-mann commented on May 26, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.