Comments (10)
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.
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.
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.
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.
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.
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.
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.
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.
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.
Yes at a high level this makes sense. We will try to look into this deeper. Thank you again
from cam2bev.
Related Issues (20)
- how to generate this simulated data
- Frame Rate HOT 4
- Training of deeplab-mobilenet and deeplab-xception failed HOT 2
- What changes to make to resume training from where it was left off? HOT 2
- Frame rate HOT 2
- Training on original input HOT 2
- How to test on real-world images HOT 1
- Performance when evaluating custom data HOT 1
- BEV image HOT 8
- some issue about "homography_converter" HOT 10
- What should the regularization coefficient be set to? HOT 1
- drone camera config file HOT 2
- A few questions about your work HOT 1
- 0
- Training on Google Colab HOT 2
- Real-world application HOT 1
- field of view single-input model HOT 2
- the R matrix calculate order may have some problem? HOT 1
- Model for testing HOT 1
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 cam2bev.