DF LOW : L EARNING TO S YNTHESIZE B ETTER O PTICAL F LOW D ATASETS VIA A D IFFERENTIABLE P IPELINE
Anonymous authors
Paper under double-blind review
A BSTRACT
Comprehensive studies of synthetic optical flow datasets have attempted to reveal what properties lead to accuracy improvement.
However, manually identifying and verifying all such necessary properties are intractable mainly due to the requirement of large-scale trial-and-error experiments with iteratively generating whole synthetic datasets.
To tackle this challenge, we propose a differentiable optical flow data generation pipeline and a loss function to drive the pipeline called
DFlow.
These enable automatic and efficient synthesis of a dataset effective to a target domain.
This distinctiveness is achieved by proposing an efficient data comparison method, where we approximately encode reference sets of data into neural networks and compare the proxy networks instead of explicitly comparing datasets in a sample-wise way.
Our experiments show the competitive performance of our DFlow against the prior arts in pre-training.
Moreover, among the datasets,
DFlow achieves the best fine-tuning performance on the Sintel public benchmark with RAFT.
The dataset and code will be available if accepted.
I NTRODUCTION
Optical flow is a fundamental computer vision problem to find dense pixel-wise correspondences between two subsequent frames.
Optical flow is indeed a key building block in many practical applications, including 3D vision, video understanding, action analysis, video enhancement, editing, etc .
Recently, optical flow has been significantly advanced by learning-based approaches with deep neural networks (Fischer et al., 2015;
Ilg et al., 2017; Ranjan & Black, 2017; Hui et al., 2018; Sun et al., 2018;
Teed & Deng, 2020) in terms of accuracy and efficiency.
A driving force of these prior arts is large-scale supervised datasets.
However, since it is difficult to collect a reasonable amount of real-world optical flow labels, they have exploited large-scale synthetic datasets, e.g ., Fischer et al.
; Mayer et al.
(2016), which become the standard in optical flow, e.g ., training on FlyingChairs (Fischer et al., 2015) followed by FlyingThings3D (Mayer et al., 2016).
After the seminal studies, there have been various efforts to build different synthetic datasets (Gaidon et al., 2016;
Richter et al., 2017;
Lv et al., 2018;
Aleotti et al., 2021).
Despite the vast efforts of these studies, it remains unclear which factors are important for an effective synthetic dataset construction according to target data.
Instead of manually identifying important design criteria, AutoFlow (Sun et al., 2021) pioneers the first learning-based approach to go beyond being heuristic by posing data generation as a hyperparameter optimization problem to maximize the validation performance on a target dataset.
AutoFlow generates data samples by composing simple 2D layers with non-differentiable hyperparameters, which are optimized by sampling-based evolutionary search.
The use of evolutionary search requires large resources, which would be critical because it requires re-generating a dataset for each target scenario.
To address the high computational cost, we propose DFlow, which is an efficient synthetic optical flow dataset generation method.
We parameterize each data sample with a learnable parameter composed of graphic operations, such as warping layer and real-world effects.
This allows us to exploit efficient gradient descent methods to generate each sample, and thereby DFlow is more than an order of magnitude efficient in GPU hours than AutoFlow when constructing a training dataset.
We also introduce a new loss function that learns the data parameters by contrasting a target dataset from a base dataset, e.g ., FlyingChairs.
Since directly using large datasets in the contrastive learning process is cumbersome, we approximate the base and target datasets by two networks trained on respective datasets as proxies.
This approximation allows an end-to-end differentiable pipeline from the data parameters to the loss function.
Through comprehensive experiments, we show that DFlow is effective in pre-training and finetuning.
The DFlow data has a size of 512 × 384, which is the same as FlyingChairs, but the RAFT network (Teed & Deng, 2020) pre-trained on DFlow achieves comparable performance compared to the high-resolution competing datasets (Sun et al., 2021; Mayer et al., 2016).
In addition, among the datasets, the RAFT network initially pre-trained on DFlow achieves the best fine-tuning performance on the Sintel public benchmark.
We summarize our contributions as follows:
• A simple and efficient differentiable data generation pipeline for optical flow (refer to Table 1); • A contrastive-style learning scheme and its loss function by approximating expensive dataset-todataset comparison to leverage proxy neural networks (refer to Sec 3); • Among the datasets, DFlow achieves the best fine-tuning performance on the Sintel public benchmark with RAFT.
(refer to Table 4).
R ELATED W ORK
Optical Flow.
Dense optical flow estimation is to find pixel-wise correspondences from the brightness patterns of images (Gibson, 1950; Gibson & Carmichael, 1966; Horn & Schunck, 1981).
After conventional optimization algorithms (Black & Anandan, 1993; Zach et al., 2007), deep-learning algorithms (Fischer et al., 2015; Ilg et al., 2017) become dominant due to their computational efficiency and reasonable performance.
Prior arts (Xu et al., 2017; Bailer et al., 2017; Wulff et al., 2017;
Sun et al., 2018) have attempted to implement explicit neural modules that are suitable for optical flow estimation.
Recently, RAFT (Teed & Deng, 2020) adopts recurrent architectures and achieves a notable performance improvement, which is represented as state-of-the-art.
Those recent advances in learning-based approaches require large-scale data with ground-truth, but labeling dense optical flow is a highly undetermined task, i.e ., challenging (Fischer et al., 2015).
The previous real-world datasets have been built under sophisticated labeling conditions, including the special sensor hardware, controlled environment, or limited objects (Scharstein & Szeliski, 2002;
Scharstein & Pal, 2007; Geiger et al., 2012; Kondermann et al., 2014).
It leads to the limitation of the size of datasets.
To relieve this issue, synthetic datasets (Fischer et al., 2015; Mayer et al., 2016) have been proposed and achieved remarkable accuracy despite the gap between real and synthetic datasets.
After that, previous arts endeavor to construct more realistic synthetic datasets (Gaidon et al., 2016;
Richter et al., 2017;
Lv et al., 2018).
The prior arts (Aleotti et al., 2021; Han et al., 2022) generate the subsequent frames and ground-truth optical flow by warping the previous frame.
These do not handle the photometric inconsistency that is common in real-world scenes.
In this work, we propose a differentiable synthetic data generation pipeline with the target knowledge so that the generated dataset could improve its performance more.
Learning Based Optical Flow Dataset.
In computer vision tasks other than optical flow, there are attempts to generate data in learnable ways (Sixt et al., 2018;
Yang & Deng, 2020; Kaspar et al., 2019;
Zhao et al., 2021).
In optical flow, RealFlow (Han et al., 2022) proposes an efficient iterative learning framework that learns the enhanced flow estimation used in data synthesis.
AutoFlow (Sun et al., 2021) is the first learning-based data generation approach.
It is our closest related work in the sense that they learn the data generation parameters for performance improvement on the specific target dataset.
Our method also learns the data generation parameters but is the first differentiable approach; thus, ours is more efficient than AutoFlow in terms of the computation cost and corresponding GPU hours for data generation.
We set the resolution of generated data to be smaller than AutoFlow, which is disadvantageous to ours in terms of the amount of information in a single sample.
Despite this, ours achieves comparable performance with AutoFlow while achieving faster training by the small resolution of data.
We list other differences in Table 1.
AutoFlow
[Table]
Sun et al., 2021)
DFlow
[Table]
Ours
[Table]
Learning method
Evolutionary search
Gradient descent
Computational
[Table]
constructing
[Table]
D IFFERENTIABLE D ATA G ENERATION P IPELINE
Our data generation pipeline synthesizes subsequent frames I t
and I t +1 , and a flow (motion) map
F GT between those two frames.
We concisely denote a pair of subsequent frames and a flow map as a data sample.
We parameterize each data sample with a learnable parameter θ that characterizes a composition of elemental graphic operations, such as color perturbation and geometric warping.
We refer to the composition process as a data generator, which is designed to be differentiable.
[Table]
With this differentiable data generator part, we specifically seek to synthesize optical flow data improving the accuracy on the target dataset.
We define a loss function L total =
L task + L reg to effectively update the learnable parameters, which drives the data generation to an improving direction in the target data domain.
With this loss, we efficiently learn the data parameters { θ } in a fully-differentiable way.
The overview of our data generation pipeline is illustrated in Fig.
1, called DFlow.
In Sec. 3.1, we first describe the design of the loss function.
In Secs.
3.2, we describe the data generator method from the parameters { θ } .
Further detailed descriptions and implementation details can be found in the appendix A.
3. T ASK L OSS F UNCTION
Given our differentiable data generator, a sample parameter θ is rendered to a data sample, i.e ., a pair of subsequent frames I t ( θ ) and I t +1 ( θ ) and those corresponding flow map F GT ( θ ) .
By rendering a collection of data samples with the data generator and a set of { θ } , we can construct a dataset.
To find an updated parameter θ ∗ that improves the accuracy of the optical flow model, we need an effective criterion to drive the parameter update.
As a tractable criterion to efficiently find such a dataset, we are motivated by learning-to-augment and dataset condensation approaches (Sixt et al., 2018;
Kaspar et al., 2019; Zhao et al., 2021).
They synthesize data to have characteristics similar to target data under the motivation that learning with two similar datasets is likely to yield accuracy improvement (Ben-David et al., 2010; Kaspar et al., 2019).
However, directly comparing combinatorial pairs of elements in the target dataset and synthesized one is computationally cumbersome, and even intractable during iteratively updating a synthesized dataset.
To efficiently deal with this issue, we propose to encode the target dataset into a proxy network, called target network.
With an optical flow neural network f target ( I t , I t +1 )
→ F , we pre-train the network with the given target optical flow dataset, which yields the trained target network.
We deem the target network as a differentiable proxy of the target dataset that encodes the knowledge of target data.
Compared to exploiting the target data as a set, leveraging this differentiable proxy would make the whole procedure tractable.
With the target network, we define a target loss L target ( f target ( I t ( θ ) , I t +1 ( θ )) , F GT ( θ )) that measures flow errors for a data sample in the perspective of target domain, where the target loss
L target ( · ) is the same loss used for pre-training the target network, e.g ., the sequence loss suggested by RAFT (Teed & Deng, 2020).
With the target network and loss, we first attempt to update the parameters { θ } by
[Equation]
If the target loss is small for a data sample, it means that the target network is familiar with the data sample and the sample is close to one of target data, i.e ., similar characteristics to target data.
Thereby, we distill the target knowledge into generated data.
However, we observe instability and local optima when using the target network solely, where optimizing the loss is stuck at a high value.
We assume that target networks trained on the popular benchmarks (Butler et al., 2012; Menze & Geiger, 2015) may not produce sufficiently rich training signals because those benckmarks are not the large-scale dataset than synthetic datasets (Fischer et al., 2015; Mayer et al., 2016) widely used in pre-training.
To complement more training signals, we employ the contrastive-style learning scheme by using another comparator network, called base network, which is trained with a common base dataset.
Motivation of this is to more strongly drive the data generation to an improving direction in a target domain by additionally constrasting with a common data domain.
This may facilitate the learning parameters to capture distinctive features of the target domain.
Similar to the target network, we pre-train the base network but on a large-scale dataset, FlyingChairs
(Fischer et al., 2015), as a base dataset, which is randomly generated.
The usage is similar to the case of the target network except for maximizing flow errors L base to implement a contrasting behavior.
To implement the contrasting behavior, we define a wrapping loss function, L task ( L target , L base ): R 2 → R , called the task loss.
[Figure]
[Table]
[Figure]
[Table]
We train the RAFT network with different loss forms.
The addition form with exponential shows promising results.
Refer to the appendix A.2 for details.
What Function Type is Suitable for L task .
There are many candidates for L task satisfying the aforementioned criteria.
As a function form, we are first motivated by sample-wise weighting distillation (Zhou et al., 2021), where the loss function is dynamically weighted according to each data sample.
The loss function is weighted by the target and base losses in a multiplication form.
We additionally examine addition forms to select the best one.
We consider tanh, sigmoid, and exponential functions to implement bounded contrasting behaviors.
1 Table 2 shows the accuracy of different forms of loss functions using 1000 data samples generated from the target dataset, i.e ., Sintel (Butler et al., 2012).
The addition form with the exponential function shows promising results in terms of performance, which corresponds to
[Equation]
where we set the balance parameters { β, γ } to { 1, 0 } , and especially set α to 20 for the experiments in Table 2.
We found that, depending on α , generated data characteristics are distinctive.
When generating our final dataset, we first generate subsets of data with different α values, and ensemble the subsets into a single dataset by taking union, denoted as { α } combination .
This is found to be notably effective.
3. D ATA G ENERATOR
In this section, we describe the differentiable data generator that synthesizes a data sample from a parameter θ .
As shown in Fig 2, the data generator is composed of geometric warping, flow field translation, layer composition, color perturbation, and real-world effects.
Data generator takes N pairs of layer images and masks, { L l 0 } Nl =1 and { M l 0 } Nl =1 .
We randomly samples the layer images from public image datasets (Kuznetsova et al., 2020; Perazzi et al., 2016; Mayer et al., 2016; Lin et al., 2014) and layer masks from a segmentation dataset (Everingham et al., 2010).
The data generator then the outputs subsequent frames I t and I t +1 , with ground-truth optical flow F GT .
The following pipeline is parameterized by
θ .
[Figure]
⋯ ⋯ ⋯
Geometric Warping.
Geometric warping consists of rigid transformation, perspective warping, and grid warping.
The geometric warping generates a warping field.
We apply the same warping field
W
→ t +1 to { L l 0 } Nl =1 and { M l 0 } Nl =1 and generate the layer images and masks at the t + 1 frame
{ L lt +1 } Nl =
{ M
=
Flow Field Translation.
As mentioned above, the same warping field is applied globally for the t + 1 frame.
It cannot model the local movement of each layer, i.e ., segmented objects.
To generate complex optical flows, we can apply independent warping fields to each layer image and mask.
However, we observe that optimization fails when we use the respective warping fields on each layer.
We introduce a new strategy where the warping fields are constructed based on the anchor geometric warping.
Given the anchor geometric warping, W t +1 → t , and flow field translations, { D l } Nl =1 , we construct each warping of layers: W lt +1 → t = ( D l ◦ W t +1 → t ) , where ◦ denotes the warping operation according to a given warping field.
This strategy is beneficial in terms of optimization stability and the number of parameters.
Finally, the operations of geometric warping and flow field translation are follows:
[Equation]
Layer Composition.
After the geometric warping, we have N pairs of layer images, masks, and warping fields in order of depth.
We superimpose each stack of layers to generate subsequent frames
I t and I t +1 , with ground-truth optical flow F GT .
We can leverage alpha blending and softmax splatting (Niklaus & Liu, 2020).
Both strategies show comparable performance, but we mainly use the softmax splatting strategy in our experiments.
The comparison of alpha blending and softmax splatting is listed in Sec 4.
Color Perturbation and Real-world Effects.
Prior studies (Mayer et al., 2018; Sun et al., 2021) have shown that synthetic data containing real-world effects often brings the performance improvement of optical flow networks in generalization.
Inspired by the observations, we introduce color perturbation and real-world effects into our data generator as well.
Color perturbation adjusts the white balance of each data sample and real-world effects consist of texture noises, fog, and motion blur, which are all parameterized to be controlled and updated.
# W1, W2: geometric warping parameters
# Ds: translation parameters # C: white balance parameters # R: Real-world effect parameters # images0, masks0: initial layer images and masks
# Applying color perturbation images0 =
ColorPerturbation(images0, C) # Warping the images and masks images1, masks1 =
GeometricWarping(images0, masks0, W1)
W2s = FlowFieldTranslation(W2, Ds) images2, masks
=
GeometricWarping(images1, masks1, W2s)
# Superimposing the images, masks, and flow fields image1 =
LayerComposition(images1, masks1) image2 =
LayerComposition(images2, masks2) flow = LayerComposition(W2s, masks1)
# Applying real-world effects to the subsequent images image1, image2 = RealworldEffect(image1, image2, R)
We can obtain synthetic optical flow data by applying the above components: { L l 0 } Nl =1 , { M l 0 } Nl =1 → { I t , I t +1 , F GT } .
Note that we apply regularizations to the grid warping and texture noise, i.e ., grid and noise regularizations.
The detail of each component, including regularizations, can be found in the appendix A.3-A.6.
Algorithm 1 is the pseudo-code for the data generator.
Each component has its own parameters, which we update using our task loss and regularizations.
See generated sample in
Fig.
Summarization.
We provide the summarization of DFlow below:
We train base and target networks on base and target datasets, respectively.
We fix both networks and update the parameters of the data sample using our loss function.
We train optical flow networks with the generated dataset.
R ESULTS
In this section, we analyze the effects of our method in pre-training and fine-tuning perspectives with different optical flow models.
We report the average end-point error (AEPE) for Sintel (Butler et al., 2012) and AEPE & F1 for KITTI 2015 (Menze & Geiger, 2015).
From this section, we refer to our dataset generated by targeting Sintel with RAFT proxy models as DFlow, unless separately mentioned.
Other details of experiment setups and implementation can be found in the appendix B.
Pre-training RAFT Results.
Pre-training performance is a key factor in evaluating the applicability of an optical flow dataset (Fischer et al., 2015; Mayer et al., 2016; 2018;
Aleotti et al., 2021; Sun et al., 2021).
We train the state-of-the-art RAFT networks (Teed & Deng, 2020) from scratch on respective competing datasets, including our DFlow.
Table 3-(a) shows the pre-training results of each dataset.
Compared to FlyingChairs that has the same data resolution with DFlow, the model trained on
DFlow outperforms the one trained on FlyingChairs in both Sintel and KITTI 2015 datasets.
Despite the fact that DFlow is around 14 resolution of AutoFlow, DFlow achieves the best performance on the KITTI 2015 and Sintel Clean datasets.
We suppose that the real-world images used in DFlow lead to performance improvement on KITTI 2015.
Also, we use both Sintel clean and final as the target datasets to generate DFlow, unlike AutoFlow using the Sintel final only.
It might affect the performance on the Sintel clean and final datasets.
Figure 4 shows the qualitative results obtained from FlyingChairs and DFlow.
These results show that DFlow is effective for learning an accurate model in challenging scenes, such as shaded, foggy, and motion-blurred scenes.
Pre-training FlowNet Results.
Since DFlow is generated with RAFT proxy networks, a question naturally arises about the effectiveness of DFlow in training other model architectures.
We further
[Table] [Table]
[Figure]
investigate the effectiveness of training another architecture, FlowNet (Fischer et al., 2015), in
Table 3-(
FlowNet pre-trained on DFlow shows noticeable improvement over the ones pre-trained on the competing datasets, which implies that our DFlow would generalize well to other architectures despite using RAFT proxy networks.
Fine-tuning Results on Public Benchmarks.
Table 4 shows the fine-tuning results on the public benchmark test sets with corresponding dataset schedules suggested by Teed & Deng (2020).
DFlow improves the original RAFT recipe (C → T → TSKH/K) on both benchmarks by replacing the conventional initial dataset schedule, i.e ., FlyingChairs followed by FlyingThings3D (C → T), with our DFlow.
In particular, among the datasets, DFlow achieves the best fine-tuning performance on the Sintel with RAFT.
This result validate that DFlow as a pre-training dataset effectively affects fine-tuning results.
Analysis of Components.
We analyze the effects of each generation pipeline component: { α } combination, the number of foregrounds, color perturbation, real-world effects, regularizations,
[Table] [Table]
On
[Table]
On
[Table]
Fog
[Table]
Texture
[Table]
On
[Table]
and target dataset.
For the fair and quick experiments, we generate 2000 training data and train
RAFT networks with the same training details.
As shown in Table 5, we add or remove each of the components from a default setting to measure their effects with the pre-training experiment.
The default setting indicates the dataset with all components and the number of foregrounds parameter in the range of 8 to 12 except the { α } combination.
We observe that applying each component brings consistent performance improvement on the target dataset, i.e ., Sintel, which is used for generating
DFlow; whereas the results on KITTI 2015, which is not used for generating DFlow, are not consistent with the results of Sintel.
• Data update.
This analysis compares DFlow with randomly initialized data without any optimization, i
e ., randomly generated by our pipeline.
We train and compare the RAFT networks with those datasets, which show the effectiveness gap between the two datasets.
• { α } Combination.
We collect the same amount of data by combining subsets of data, which are obtained from diverse α values.
This balances the performance between evaluation datasets because of the regularization effect.
• Layer composition.
The softmax splatting and alpha blending show comparable performance on Sintel.
The softmax splatting improves the performance in the Sintel clean pass, but shows the performance drop in the Sintel final pass.
• Number of Foregrounds.
Without any foreground, we observe the significant performance drop on Sintel and KITTI 2015.
Adding only 2 foregrounds brings notable performance improvement.
• Color Perturbation and Real-world Effects.
Without the color perturbation, the performance on Sintel is dropped moderately.
Removing the motion blur significantly affects the performance on Sintel, especially in the Sintel final pass.
Without fog and texture noise effects, the performance is dropped moderately.
• Regularizations.
Removing the regularizations shows a slight performance drop in Sintel.
• Target Dataset.
The generated dataset optimized to KITTI 2015 shows a notable performance gain on KITTI 2015, while the performance on Sintel significantly drops.
This may be caused by the distribution gap between the two datasets.
[Table] [Table]
The photometric inconsistency degrades the robustness of optical flow estimation.
For example, the rainy scene occurs photometric inconsistency.
We evaluate the performance using RAFT on rainy scenes of Virtual KITTI (Gaidon et al., 2016).
We choose
FlyingChairs and RealFlow (Han et al., 2022) as baselines; RealFlow is our concurrent work.
Using the rainy scenes of Virtual KITTI as a target dataset, we generate an additional dataset, DFlow-V. Note that the target of DFlow is the Sintel dataset.
Table 6 lists the performance of rainy scenes of virtual KITTI.
As
Han et al.
(2022) have mentioned their limitation of discontinuous illumination, the performance of RealFlow is lower than others.
DFlow outperforms the baselines, and DFlow-V, which of the target is
Virtual KITTI, shows much higher performance rather than others.
We think that our data generator can distill the characteristics of rainy scenes effectively.
C ONCLUSION AND D ISCUSSION
We propose a new data generation pipeline for training optical flow networks.
Our pipeline consists of geometric warping, flow field translation, color perturbation, and real-world effects, which are all parameterized differentiably.
We propose a new objective function that drives our data optimization by leveraging the compressed knowledge of the proxy networks pre-trained on target and base datasets, respectively.
Optical flow models trained on our datasets achieve favorable or superior performance against the competing dataset on pre-training and fine-tuning experiments.
We conclude our paper with a dicussion section.
Discussion.
We use the pre-defined elementary data generation operations, e.g ., fog, geometric warping, etc .
While DFlow shows the effectiveness in the real-world dataset, i.e ., KITTI 2015, the pre-defined and restricted operations might not span all the real-world effects.
Thus, diverse and complementary operations would further improve expressiveness and may lead to additional performance improvement.
Our method also aims at a specific target dataset.
We also need the network trained on the target dataset
For that, we need a target network trained on the target dataset, which requires at least some amount of optical flow annotations.
To mitigate the requirement of the supervised data, it would be an interesting future direction to investigate the way to train the target network in an unsupervised method, such that the unsupervisedly trained target network is effective for our data generation pipeline.
E THICS S TATEMENT
This paper develops an optical flow data generation method and uses the public datasets (Kuznetsova et al., 2020; Perazzi et al., 2016; Mayer et al., 2016; Lin et al., 2014; Everingham et al., 2010) for data generation.
Therefore, the author does not expect any potential ethical issues related to sensitive information of the dataset.
R EPRODUCIBILITY S TATEMENT
We introduce the whole data generation pipeline in Sec. 3.
In Sec. 3.1, we present the loss function for data optimization.
In Secs.
3.2, we describe the data generator method from the parameters.
We list more details of the loss function and data generation pipeline in the appendix A. For reproducibility, we will release our data generation and training code in the public if accepted
A PPENDIX
In this appendix, we present implementation details and additional experimental results.
The contents are listed as follows:
C ONTENTS
A.1 Base and Target Networks A.2 The Form of Task Loss Functions A.3 Geometric Warping and Flow Field Translation
A.4 Layer Composition A.5 Color Perturbation and Real-world Effects A.6 Regularization Loss Function B Details of Experiment Setup B.1 Generation Details of the DFlow Dataset B.2 Details of Pre-training Results B.3 Details of Analysis of Photometric Inconsistency Scenario B.4 Details of Fine-tuning Results C
Additional Experiments
C.
Contrasting Effect of Base and Target Networks C.2 Validation Results C.3 Dataset size C.4 Pre-training Performance according to Motion Magnitudes C.5 Analysis of Multi-target Datasets C.6 Additional Qualitative Results D Additional
Generated Data
Samples
[Table]
A D ETAILS OF D IFFERENTIABLE D ATA G ENERATION P IPELINE
In this section, we describe the implementation details of differentiable data generation pipeline.
A. B ASE AND T ARGET N ETWORKS
Base Network.
For the architecture, we use the same architecture for both base and target networks.
We use the published weight of RAFT (Teed & Deng, 2020) as base network 2 , which is pre-trained on FlyingChairs (Fischer et al., 2015) for 100k iterations with a batch size of 12, 496 × 368 image size, learning rate 4 × 10 − 4 .
Target Network.
We fine-tune the base network on the Sintel datasets (Butler et al., 2012) for the target network.
During fine-tuning, we only use the image crop as data augmentation and fine-tune the base network for 20k iterations with a batch size of 6, 768 × 368 image size, learning rate 1 .
25 × 10 − 4 .
A. T HE F ORM OF T ASK L OSS F UNCTIONS
We introduce our task loss function L task ( L target , L base ) for contrastive-style learning and evaluate the candidate of the loss function in Sec. 3.1.
Table 7 shows the used task loss functions in experiments of
Table 2.
We use the sequence loss of flow estimates of RAFT (Teed & Deng, 2020) for L { target,base } .
Algorithm 2 is the pseudo-code of updating the parameters of data sample.
A. G EOMETRIC W ARPING AND F LOW F IELD T RANSLATION .
Given N pairs of layer images and masks, { L l 0 } Nl =1 and { M l 0 } Nl =1 , we generate subsequent frames,
I t and I t +1 , with ground-truth optical flow F GT ,
[Equation]
We apply two steps of geometric warping with warping fields W
→ t +1 and W t +1 → t which are computed from combinations of rigid transformation, perspective warping, and grid warping.
First, we warp the layer images and masks, { L l 0 } Nl =1 and { M l 0 } Nl =1 , to be the layer images { L lt +1 } Nl =1 and masks { M lt +1 } Nl =1 at the t + 1 frame by applying the same warping field W
→ t +1 to { L l 0 } Nl =1 and { M l 0 } Nl =1 .
[Equation]
where ◦ denotes the geometric warping operation according to a given warping field.
In the next step, each layer image L lt and mask M lt at the t frame is generated from the ones at the t + 1 frame, i.e .,
L lt +1 and M lt +1 .
To simulate complex optical flows with minimal parameters, We introduce the flow field translation { D l } N l =1 , which translates the warping field W t +1 → t and obtains each warping of layers: W lt +1 → t = ( D l ◦ W t +1 → t ) .
Using the each warping of layers W lt +
→ t , we warp the layer images and masks at the t + 1 time.
[Equation]
# θ : data parameters # G: data generator # B: base network # T: target network # Lt: target loss function # Lb: base loss function # L: our task loss function for l, m in loader: # Generate optical flow data # l: layer images, m: layer masks image1, image2, label =
G(l, m, θ ) # loss lt = Lt(B(image1, image2), label) lb = Lb(T(image1, image2), label)
loss =
L(lt, lb) # Update θ loss.backward() optimizer.step(
The above parameterization is efficient for approximating multi-layer geometric warpings because it only introduces 2 additional parameters per layer to represent global translation while using a single warping field W t +1 → t .
As aforementioned, we propose to use the two steps of warping with
W
→ t +1 and W t +1 → t .
This is distinctive from the existing works, including Fischer et al.
Sun et al.
(2021), where they only use a single step of warping from a randomly generated image to a synthetic next frame.
This only parameterizes the next frames, not the reference frames randomly generated.
This could not update texture and mask shapes of the reference frames, whereas our method parameterizes both frames with two warping fields, W 0 → t +1 and W t +1 → t .
It allows us to jointly update subsequent frames.
A. L AYER C OMPOSITION
From the geometric warping, we have N pairs of layer images, masks, and warping fields in order of depth.
We adopt the softmax splatting (Niklaus & Liu, 2020) to compose the layer images at subsequent frames and warping fields with flow field translation, i.e ., L lt , L lt +1 , and W lt +
→ t .
We get the importance image Z and weight image K of each layer and frame,
[Equation]
where a l = cl and c is a constant value which we set 6 for layer composition.
As the value of c increases, sharper boundaries can be obtained.
The subsequent frames and ground-truth optical flow are as follows:
[Equation]
A. C OLOR PERTURBATION AND R EAL - WORLD EFFECTS
Color Perturbation.
Color perturbation consists of N white balances to adjusts the color intensity of layer images.
Each white balance has three-channel values from zero to one and has half of the chance to be applied.
Color perturbation is the same for subsequent frames and optimized.
[Figure]
Texture Noises.
We approximate the shot noise to mimic the real-world photos taken at different times.
We apply three-channel texture noises to all of the pixels while masking the area where the noises are actually applied.
Two different texture noises, N t and N t +1 , are applied to subsequent frames and optimized.
Fog and Motion Blur.
Inspired by AutoFlow (Sun et al., 2021), we introduce two real-world effects; fog and motion blur.
To generate a random fog, we follow the implementation of AutoFlow and superimpose the fog on I t
and I t +1 .
However, one difference is that we adjust the three-channel values of fog, which yields the colored fog.
The fog is the same for the subsequent frames and is optimized as well.
For the motion blur, we randomly sample object masks from PASCAL VOC (Everingham et al., 2010) and combine them to generate a motion blur mask.
We use the 2D gaussian blur to approximate the motion blur kernel, and the motion blurred frames are alpha-blended to I t
and I t +1 .
The standard deviation of each axis and angle of rotation are parameters to be updated.
Fig.
5 shows the color perturbation and real-world effects including texture noise, fog, and motion blur.
A. R EGULARIZATION L OSS F UNCTION
The grid warping and texture noise may take shortcuts only to minimize the task loss.
These behaviors are undesirable, and the generated data might not properly train the optical flow network.
To handle this potential issue, we propose a regularization term L reg consisting of grid and noise regularization losses, i.e ., L reg =
L grid + L noise .
The grid regularization L grid prevents from producing infeasible 2D motion.
We define the grid regularization loss L grid as follows:
[Equation]
where C t is the warped coordinate by the geometric warping W t +1 → t .
L grid gives a penalty when the warped coordinates of the previous grid exceed those of the next grid.
The noise regularization
L noise prevents from producing too noisy images.
We define the noise regularization loss L noise as follows:
[Equation]
where N t and N t +1 are texture noises of current and next frames, respectively.
Finally, we obtain our total loss by adding the regularization loss and the task loss as:
[Equation]
With the total loss L total , we update the data parameters { θ } .
B D ETAILS OF E XPERIMENT S ETUP
In this section, we present the generation details of the DFlow dataset.
Then, we present the details of pre-training and fine-tuning results in Sec.
4 of the main paper.
[Table]
B. G ENERATION DETAILS OF THE DF LOW D ATASET
To generate the DFlow dataset, the data augmentation is included in the proposed differentiable data generation pipeline.
We randomly augment each data sample before inputting them to the base and target networks.
For stability of data generation, we stack 6 randomly augmented data samples and input them into networks.
Each data sample of DFlow is updated up to 80 times and saved depending on the threshold 25 of the target network loss.
The DFlow data has a size of 512 × 384, which is the same as FlyingChairs.
Table 8 summarizes the data augmentation applied to each data sample.
B. D ETAILS OF P RE - TRAINING R ESULTS
Pre-training RAFT.
Except for the data augmentation, we set the training parameter settings by following the training details of RAFT (Teed & Deng, 2020) on FlyingChairs (Fischer et al., 2015), and pre-train the RAFT network on DFlow with a data size of 15k.
We use the same data augmentation applied for generating the DFlow dataset.
We early stop the training at 95k iteration.
Pre-training FlowNet.
We use the Pytorch implementation of FlowNet 3 .
We pre-train the FlowNet model for 2700 epochs with batch size 8.
Following the Pytorch Implementation of FlowNet, we use the proposed data augmentation including translation, rotation, image crop, vertical flip, and horizontal flip.
For the AutoFlow result, we use the published AutoFlow dataset (Sun et al., 2021).
B. D ETAILS OF F INE - TUNING R ESULTS
To achieve fine-tuning results on the public benchmarks, we fine-tune the RAFT model pre-trained on
DFlow.
Except for the initial data schdule, i.e ., FlyingChairs followed by FlyingThings3D, we follow the same dataset schedule and training details of the original implementation (Teed & Deng, 2020).
B. D ETAILS OF A NALYSIS OF P HOTOMETRIC I NCONSISTENCY S CENARIO
The photometric inconsistency is the main cause of the error in optical flow estimation.
In real-world images, real-world effects, such as blur, fog, and illumination change, cause photometric inconsistency, and these effects frequently occur.
Since DFlow generates a dataset using the compressed knowledge of the target dataset, we verify the DFlow’s ability to generate the dataset for training a robust optical flow network against photometric inconsistency.
We use rainy scenes of Virtual KITTI (Gaidon et al., 2016) because the photometric inconsistency is dominant, as shown in Figure 6.
We train the base network on the rainy scenes for 20k iterations and generate an additional dataset, DFlow-V, by targeting the rainy scenes.
We use the published weight of RAFT trained on the RF-AB dataset for the result of RealFlow (Han et al., 2022).
[Table]
[Figure]
[Table]
C A DDITIONAL E XPERIMENTS
We analyze the contrasting effect of base and target networks in Section C. and evaluate the validation performance with DFlow in Section C.2.
C. C ONTRASTING E FFECT OF B ASE AND T ARGET N ETWORKS
To evaluate the contrasting effect of base and target networks, we measure the pre-training performance depending on the contrasting effect.
The details will be presented in the following paragraphs.
Contrasting Analysis in Pre-training.
For the contrasting analysis, we generate two types of dataset with a sample size of 2000.
For the first dataset, we use KITTI 2015 (Menze & Geiger, 2015) as the target dataset, i.e ., the target network is obtained by fine-tuning the base network on the KITTI 2015 dataset.
To synthesize the first dataset with contrasting effect, we minimize and maximizes the loss of the target and base networks, respectively.
For the other dataset, we generate a new target network that is pre-trained on the KITTI 2015 dataset.
With the new target network, we generate a new pre-training dataset that is synthesized to minimize the loss of the new target data network only, i.e ., the contrasting effect is not applied.
[Table]
Table 9 shows the pre-training results depending on the contrasting effect.
With the contrasting effect, the RAFT
Ours KITTI-50 notably improves the validation accuracy on the unseen KITTI dataset, KITTI
[Table]
[Table]
network achieves comparable results on the target dataset,
i
[Table]
e ., KITTI 2015, compared to the network trained on the dataset generated with the new target network only.
However, the contrasting effect leads to a notable performance improvement on Sintel (Butler et al., 2012), which is not used for data generation.
We also visualize data features to identify the effect of the contrasting effect.
We embed the features of several datasets, such as FlyingChairs, KITTI 2015, our datasets with and without the contrasting effect, and our dataset before optimization using the context encoder of the base network as a feature extractor.
As shown in Fig.
7, ours with the contrasting effect is closer to the target than one without the contrasting effect.
We additionally compute distances of feature mean between ours and KITTI 2015.
As shown in Table 10, the maximum mean discrepancy (MMD) (Gretton et al., 2012) of ours with the contrasting effect is lower than ours without the contrasting effect.
These results show that the contrasting effect drives the data generation toward an improving direction in a target domain.
C. V ALIDATION R ESULTS
The advantage of the proposed pipeline is that the generated data can be used to improve the validation performance on the unseen target dataset.
We split the KITTI 2015 dataset into 50 training samples and 150 validation samples; KITTI-50 and KITTI-150.
Using the target network fine-tuned on
KITTI-50, we synthesize a dataset; Ours KITTI-50 .
Therefore, any data or information of KITTI-150 is not included in the data generation process.
We fine-tune the base network on several combinations of datasets with 20k iterations and evaluate the validation performance on KITTI-150.
As shown in
Table 11, fine-tuning on the combination of Sintel and KITTI-50 shows comparable performance with the one of fine-tuning on KITTI-50 alone.
In contrast, we observe notable improvement in validation performance when adding the same number of Ours KITTI-50 to the training dataset.
As our data generation pipeline is not limited to the number of samples that can generate, we analyze the effect of our data size and observe the improvement of validation accuracy.
[Table]
[Figure]
[Table]
[Figure]
C. D ATASET S IZE
The number of the dataset is a key factor for training accurate optical flow networks, and synthetic optical flow data have an advantage because of the annotation efficiency compared to the real-world data.
We analyze the effect of data size in the optical flow network, RAFT (Teed & Deng, 2020)
We train the RAFT network on the various amount of DFlow data and evaluate the performance on both Sintel and KITTI 2015 datasets.
We determine FlyingChairs (Fischer et al., 2015) as a competing dataset because FlyingChairs and DFlow have the same data resolution.
As shown in
Table 12, the RAFT network trained on the 1k DFlow dataset outperforms the model trained on the full FlyingChairs dataset.
This result shows that DFlow data has more information with the same data resolution.
The overall performance on Sintel and KITTI 2015 datasets is also improved as the data size increase, which shows that diverse texture and motion is effective for training the optical flow network.
C. P RE - TRAINING P ERFORMANCE ACCORDING TO M OTION M AGNITUDES
Table 13 summarizes AEPEs of RAFT pre-trained on respective FlyingChairs
(Fischer et al., 2015) and our DFlow according to different motion ranges.
The model trained on DFlow shows higher accuracy than that of FlyingChairs except for the minimal motion range.
Performance gaps between the models tend to be enlarged in larger motion.
These results may be explained by human intuition that the small motion hardly contributes to the error of optical flow networks.
For the same reason, most motion magnitudes of DFlow are in the middle and high motion ranges, as shown in Fig. 8.
C. A NALYSIS OF MULTI - TARGET DATASETS
We focus on generating the dataset close to the target dataset.
It is questionable whether multi-target datasets can be used to generate the DFlow dataset consisting of diverse data samples.
The targets of DFlow and DFlow-V are Sintel and rainy scenes of Virtual KITTI.
Table 14 lists the optical flow performance on Sintel clean, Sintel final, KITTI 2015, and the rainy scene of Virtual KITTI.
As expected, DFlow-V achieves higher performance than DFlow on the rainy scene; but DFlow-V has inferior performance on the other datasets.
When combining DFlow and DFlow-V, we observe that there is trade-off; the performance of DFlow with DFlow-V is usually between the performance of
[Table]
DFlow and DFlow-V. However, mixture of DFlow and DFlow-V outperforms in KITTI 2015.
It indicates that exploiting multi-target datasets is a promising research direction.
[Figure]
D A DDITIONAL G ENERATED D ATA S AMPLES
Figure 10 shows additional data samples.
Color perturbation, texture noise, fog, and motion blur can be found in the data samples.