@@ -65,6 +65,9 @@ class DISOpticalFlowImpl : public DISOpticalFlow
65
65
int patch_stride;
66
66
int grad_descent_iter;
67
67
int variational_refinement_iter;
68
+ float variational_refinement_alpha;
69
+ float variational_refinement_gamma;
70
+ float variational_refinement_delta;
68
71
bool use_mean_normalization;
69
72
bool use_spatial_propagation;
70
73
@@ -84,6 +87,13 @@ class DISOpticalFlowImpl : public DISOpticalFlow
84
87
void setGradientDescentIterations (int val) { grad_descent_iter = val; }
85
88
int getVariationalRefinementIterations () const { return variational_refinement_iter; }
86
89
void setVariationalRefinementIterations (int val) { variational_refinement_iter = val; }
90
+ float getVariationalRefinementAlpha () const { return variational_refinement_alpha; }
91
+ void setVariationalRefinementAlpha (float val) { variational_refinement_alpha = val; }
92
+ float getVariationalRefinementDelta () const { return variational_refinement_delta; }
93
+ void setVariationalRefinementDelta (float val) { variational_refinement_delta = val; }
94
+ float getVariationalRefinementGamma () const { return variational_refinement_gamma; }
95
+ void setVariationalRefinementGamma (float val) { variational_refinement_gamma = val; }
96
+
87
97
bool getUseMeanNormalization () const { return use_mean_normalization; }
88
98
void setUseMeanNormalization (bool val) { use_mean_normalization = val; }
89
99
bool getUseSpatialPropagation () const { return use_spatial_propagation; }
@@ -161,6 +171,10 @@ DISOpticalFlowImpl::DISOpticalFlowImpl()
161
171
patch_stride = 4 ;
162
172
grad_descent_iter = 16 ;
163
173
variational_refinement_iter = 5 ;
174
+ variational_refinement_alpha = 20 .f ;
175
+ variational_refinement_gamma = 10 .f ;
176
+ variational_refinement_delta = 5 .f ;
177
+
164
178
border_size = 16 ;
165
179
use_mean_normalization = true ;
166
180
use_spatial_propagation = true ;
@@ -234,9 +248,9 @@ void DISOpticalFlowImpl::prepareBuffers(Mat &I0, Mat &I1)
234
248
spatialGradient (I0s[i], I0xs[i], I0ys[i]);
235
249
Ux[i].create (cur_rows, cur_cols);
236
250
Uy[i].create (cur_rows, cur_cols);
237
- variational_refinement_processors[i]->setAlpha (20 . 0f );
238
- variational_refinement_processors[i]->setDelta (5 . 0f );
239
- variational_refinement_processors[i]->setGamma (10 . 0f );
251
+ variational_refinement_processors[i]->setAlpha (variational_refinement_alpha );
252
+ variational_refinement_processors[i]->setDelta (variational_refinement_delta );
253
+ variational_refinement_processors[i]->setGamma (variational_refinement_gamma );
240
254
variational_refinement_processors[i]->setSorIterations (5 );
241
255
variational_refinement_processors[i]->setFixedPointIterations (variational_refinement_iter);
242
256
}
0 commit comments