Comments (12)
this seems working:
fw_occ_bound_margin = length_sq(flow_diff_fw) - occ_thresh
bw_occ_bound_margin = length_sq(flow_diff_bw) - occ_thresh
fw_occ_bound_margin = (tf.sign(fw_occ_bound_margin) + 1.0) / 2 * fw_occ_bound_margin
bw_occ_bound_margin = (tf.sign(bw_occ_bound_margin) + 1.0) / 2 * bw_occ_bound_margin
losses['occ'] = (charbonnier_loss(fw_occ_bound_margin, border_fw * fb_occ_fw) +
charbonnier_loss(bw_occ_bound_margin, border_bw * fb_occ_bw))
where border_fw
border_bw
are border masks.
from unflow.
Hi!
Thanks for noticing this. I have to look into this in more detail in the next days. Did you try if your correction changes training outcomes?
from unflow.
I haven't got the time to fully run the training yet. value of occ loss is much smaller this way; maybe some weight tuning is required to get good results.
from unflow.
by the way, @simonmeister how many minibatches are required to achieve AEE(All) 3.78 in Table. 3 for UnFlow-C?
So far I've tried (with original code) about 400k minibatches of size 4, single GPU, only got AEE/occluded 6.x in tensorboard.
from unflow.
On which dataset did you train? Did you pre-train on synthia? If you pre-trained first, 400K iterations on KITTI should get you close to our result. We used the same config settings as in the config.ini train_* sections.
from unflow.
no pre-train to my believe, just dataset = kitti
in config.ini
from scratch.
So to reproduce your result I should first pre-train on synthia with supervised method, then train on kitti_raw with unsupervised loss?
from unflow.
The pre-training on synthia is also unsupervised. Yes, you can just use the default config with dataset = synthia first and then use dataset = kitti and finetune = NAME-OF-SYNTHIA-EXPERIMENT.
from unflow.
Great, thanks!
from unflow.
Hi, @simonmeister
I have a question about the constant penalty in the Eq.(2) of your paper.
As the binary occlusion mask is fully determined by the condition of Eq.(1), such constant penalty gives no help in backward propagation when you optimize the weights using SGD.
Correct me if my understanding is wrong, thanks!
from unflow.
Hi! @yzcjtr you are correct, the occlusion flag is constant w.r.t. backpropagation, and the penalty should have no effect on backprop. @immars your snippet does not seem to have an effect on the training outcomes on what i have tried so far.
from unflow.
ok, thanks! It seems that maybe this regularization term is not crucial, or a better form should be derived.
from unflow.
I am closing this as it seems to be redundant with the discussion in #10.
from unflow.
Related Issues (20)
- tensorflow.python.framework.errors_impl.NotFoundError: ./backward_warp_op.so: undefined symbol: __cudaPushCallConfiguration HOT 9
- Intended behaviour of np.roll?
- Some question about the result of flownet CS on kitti_trainning_2015
- NoneType in downsample HOT 4
- "step" parameter to load frames has no effect
- error: constexpr function return is non-constant HOT 1
- Unsupervised training questions HOT 2
- Output and input node name of UnFlow.
- Ternary Loss Implementation vs. Official Publication
- How flow vectors are stored and why do we need to do addition in this line of forward warping? HOT 7
- fine tuning pwc trained model HOT 2
- error : .\backward_warp_op.so not found HOT 2
- Any template to train new dataset? HOT 2
- lib_handle = py_tf.TF_LoadLibrary(library_filename) tensorflow.python.framework.errors_impl.NotFoundError: HOW TO GET RIDE OF THIS ERROR HOT 3
- How to train with my downloaded data ? HOT 1
- KeyError: "correlation" HOT 1
- unable to train HOT 1
- Some confusion about census loss
- Code related to evaluation metric HOT 1
- Preprocessing KITTI raw data
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 unflow.