Coder Social home page Coder Social logo

Non-360 View about cam2bev HOT 10 CLOSED

sparro12 avatar sparro12 commented on July 25, 2024
Non-360 View

from cam2bev.

Comments (10)

lreiher avatar lreiher commented on July 25, 2024

By introducing the "occluded"-class, we explicitly ask the network to not hallucinate, i.e., make predictions about areas it cannot possibly reason about.

Let's assume you pre-trained DeepLab Xception with our dataset for 4 cameras (360deg). If you then created a classical IPM image using 3 cameras only (<360deg), whatever the network would predict in the occluded region could be considered "undefined behavior", since it was trained on full 360deg IPM images. You could however already apply the same occlusions to our inputs and labels in pre-processing, s.t. the network would also reliably predict the uncovered region for your cameras as "occluded".

If you wanted to use the uNetXST approach, this gets more complicated, since the transformation is happening in the network. In that case you probably cannot train on e.g. 4 cameras but only apply on 3 different cameras without further modifications.

from cam2bev.

sparro12 avatar sparro12 commented on July 25, 2024

So if the simulation is setup to also not have a 360 degree view since that is the way the cameras are set up on the car, we could train uNetXST with a non-360 degree view. This would work, correct, because our training data would also not have a 360 degree view? The area not covered by the cameras wouldn't be part of the occluded class because there is simply no data there to classify even during training.

from cam2bev.

lreiher avatar lreiher commented on July 25, 2024

Well, you need to set some class for the not covered area in the birds-eye-view label image. Whether that would be the occluded class or another new class unlabeled would be up to you. But yes, training such a setup should be possible in principle.

from cam2bev.

lreiher avatar lreiher commented on July 25, 2024

Note that this is in principle similar to the 2_F dataset, where there also also areas that are not covered by the camera.

from cam2bev.

sparro12 avatar sparro12 commented on July 25, 2024

Understood. So, in that case, the unseen area was just categorized as occluded. So we could augment the BEV images to pre-label the unseen area as occluded before we show the label to the network when training.

from cam2bev.

lreiher avatar lreiher commented on July 25, 2024

Yes, exactly. Note that you should also apply this "augmentation" in the input image, i.e., the homography image.

As I said earlier, if you want to use the uNetXST approach, this gets more complicated and may not be feasibly without custom training data.

from cam2bev.

sparro12 avatar sparro12 commented on July 25, 2024

Ahh I see. So the plan was to use our own simulation data, write a script to semantically segment the images using known ground truths from a drone camera, and then use your script to cast our rays and determine where the occluded regions are from our intrinsics/extrinsics.

If I understand correctly, this wouldn't work though because we need to generate a homography image using the ipm script and homography won't work unless there is overlapping regions. Does this sound accurate?

from cam2bev.

sparro12 avatar sparro12 commented on July 25, 2024

Does the above seem correct? If so, we will look into ways around the problem. Otherwise, we will allocate some time to testing this soon.

from cam2bev.

lreiher avatar lreiher commented on July 25, 2024

Creating a homography image using ipm.py should still work, even if the cameras have no overlapping regions. You can test this yourself by simply running IPM on only front/rear images. The regions without camera evidence will be black by default I think.

occlusion.py would need to be extended, s.t. the non-visible areas are removed from your GT drone images.

Does that make sense?

from cam2bev.

sparro12 avatar sparro12 commented on July 25, 2024

Yes at a high level this makes sense. We will try to look into this deeper. Thank you again

from cam2bev.

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.