Multi-Scale Generalized Plane Match for Optical Flow

by   Inchul Choi, et al.

Despite recent advances, estimating optical flow remains a challenging problem in the presence of illumination change, large occlusions or fast movement. In this paper, we propose a novel optical flow estimation framework which can provide accurate dense correspondence and occlusion localization through a multi-scale generalized plane matching approach. In our method, we regard the scene as a collection of planes at multiple scales, and for each such plane, compensate motion in consensus to improve match quality. We estimate the square patch plane distortion using a robust plane model detection method and iteratively apply a plane matching scheme within a multi-scale framework. During the flow estimation process, our enhanced plane matching method also clearly localizes the occluded regions. In experiments on MPI-Sintel datasets, our method robustly estimated optical flow from given noisy correspondences, and also revealed the occluded regions accurately. Compared to other state-of-the-art optical flow methods, our method shows accurate occlusion localization, comparable optical flow quality, and better thin object detection.



There are no comments yet.


page 11

page 12

page 15

page 16

page 17

page 18

page 19

page 20


Occlusions, Motion and Depth Boundaries with a Generic Network for Disparity, Optical Flow or Scene Flow Estimation

Occlusions play an important role in disparity and optical flow estimati...

Deep Optical Flow Estimation Via Multi-Scale Correspondence Structure Learning

As an important and challenging problem in computer vision, learning bas...

Hierarchical Discrete Distribution Decomposition for Match Density Estimation

Existing deep learning methods for pixel correspondence output a point e...

Optical Flow Fields: Dense Correspondence Fields for Highly Accurate Large Displacement Optical Flow Estimation

Modern large displacement optical flow algorithms usually use an initial...

Learning Optical Flow via Dilated Networks and Occlusion Reasoning

Despite the significant progress that has been made on estimating optica...

STaRFlow: A SpatioTemporal Recurrent Cell for Lightweight Multi-Frame Optical Flow Estimation

We present a new lightweight CNN-based algorithm for multi-frame optical...

Progressive Sparse Local Attention for Video object detection

Transferring image-based object detectors to domain of videos remains a ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Optical flow has been a focus of extensive research for several decades, and has applications in diverse areas such as object tracking, motion estimation, and robot navigation. Although the performance of optical flow algorithms have incrementally improved over the years, the state-of-the-art tends to produce large errors for videos with fast motion, illumination changes, and large occlusions.

Computing an optical flow can be regarded as an estimation of dense correspondences between two consecutive video frames. Recent trends in dense matching algorithms rely on sparse matches to handle large movement problems[1, 2, 3, 4]

. They use sparse matching techniques for initialization and directly use interpolation methods

[5, 2, 4] to obtain dense correspondences. This practice works well in many cases but has the shortcoming that it can generate profoundly wrong answers if the sparse match initialization is erroneous.

A contending approach for dense matching is the patch based method. The patch matching method aims to find the most comparable patch in a given image for patches from a prescribed second image. This visual similarity between regions in two images is the most important clue for large movement estimation. The seminal work PatchMatch

[6] algorithm provides visually adequate dense correspondences called the nearest neighbor field (NNF). Many dense matching algorithms [7, 8, 9, 10, 11, 12, 13, 14, 15, 16] rely on, or are inspired by, the PatchMatch algorithm because of its efficiency in computing the NNF. However, the NNF is often too noisy to be directly considered an optical flow because it lacks spatial regularization and in addition, its patch comparison is based on a front-parallel assumption of planes. Fig.1 illustrates this intrinsic problem with the patch based matching approach. When there is movement in the camera, or of objects in the scene, between two consecutive images, square-shaped patches in the first image correspond to distorted patches in the second. Since patch match methods compare square regions with identical dimensions in the two images, there is in principle no correct match, and this introduces errors. To be a well-posed comparison scheme, one has to search through all square distortion models for the best fit. However, searching through all such distortions is computationally prohibitive. In this paper, we resolve this problem with a robust multi-scale plane detection method. Rather than search through all distortions, we first determine a consensus distortion of an image region from a given noisy NNF. This distortion is then compensated into the patches for an improved match, and a resultant superior NNF. It is well known that in spite of NNFs being noisy they contain sufficient matching information for robust plane motion estimation[10]. Finally, making the estimation multi-scale enables the detection of diverse size plane models that exist in the scene.

Figure 1: Patch Plane Distortion Problem. The square patch plane on the left-side is transformed to the shape distorted plane on the right-side after motion

Of all the challenging conditions for dense matching, occlusion is probably the most well identified that account for the lion’s share of degradation of the performance of optical flow algorithms. Occlusion, which by definition, has no matching region in the second image, is detected indirectly by most methods via a measure of the error of correspondence in the region. Cues such as high photo-consistency error or forward-backward flow symmetry are used. However, these cues are also applicable measures for evaluating flow quality in non-occluded regions. This makes it difficult to distinguish a flow error in the non-occluded region from invalid match errors in occluded regions, thereby adversely affecting the flow quality in non-occluded regions.

In essence, detecting occlusion is a chicken-and-egg problem. If we have an accurate optical flow, it can help localize the occlusion correctly, but conversely, correct occlusion detection is necessary to obtain an accurate optical flow estimation. Because of this intertwined relationship between optical flow and occlusion, many algorithms have adopted a joint estimation approach for occlusion and optical flow. We too take this joint approach during optical flow estimation.

In this paper, we propose a novel framework that can estimate optical flow, and localize occlusion, in a multi-scale patch plane based approach. Our framework models the scene as a collection of multiple planes of different sizes and incorporates non-front parallel plane compensation into the multi-scale patch plane comparison method. Our approach also estimates occlusion in a novel multi-scale plane fitting framework. Occlusion arises from the motion of distinct planes at depth discontinuities. Therefore, when we fit a homography plane model to the local surface at the motion boundaries, occluded regions naturally reveal themselves as regions that do not conform to any estimated models in a photo-consistent manner.

To summarize, the main contributions of our work are as follows. We improve the patch matching method by addressing the plane distortion problem. Our enhanced plane matching scheme is combined with a multi-scale approach that robustly detects most planar regions and occlusion in the scene. Experiments using our framework shows that given a very noisy NNF, geometrically correct robust plane matching can produce highly accurate dense matches. Although we use a simple color consistency measure for patch plane comparison, the framework itself is powerful enough to filter out most outliers and occluded regions. Finally, with robust interpolation, the estimated optical flow shows superior accuracy in regions of the images with thin moving objects and comparable accuracy in the remaining regions compared to state-of-the-art optical flow algorithms, as well as accurate occlusion detection.

2 Related Works

Optical flow has been studied for decades and is used as a fundamental building block in various vision systems. Here, we review recent work that relates to patch match and occlusion estimation.

Patch based dense matching algorithms are frequently used in dense matching methods. In a stereo problem[9, 14], the PatchMatch algorithm was used as the underlying matching scheme with additional smoothness constraints. The paper modeled slanted planes to overcome the front-parallel assumption and used the same propagation and random search policy as in PatchMatch for dense match generation. Its plane model is however limited to slants which means the degree of plane distortion is restricted to the stereo case.

In optical flow algorithms, [17, 16] used PatchMatch in a coarse-to-fine framework to obtain reliable matches for large displacement of objects and used edge preserving interpolation methods[2] to obtain dense matching. The Patch based belief propagation method[12, 15] and edge-preserving PatchMatch algorithms[8] are other examples of PatchMatch inspired approaches. However, none of these have attempted to overcome the front-parallel plane assumption.

The occlusion problem is also treated in many optical flow algorithms and their approach for handling occlusion can be categorized into two basic themes. The more common approach is to filter out occluded pixels as outliers during estimation. The filtering out can decrease the adverse effects of occlusion to non-occluded regions during flow estimation[18, 19, 1, 15, 16]. The constraints for outlier filtering are the usual cues of occlusion detection, such as high-intensity error or forward-backward flow consistency[20]. These approaches rely on a robust data term to minimize the effect of outliers, and the filtered outlier regions are filled in during a post-processing step. These techniques are generally initialized with reliable sparse matching methods and they perform interpolation with the given reliable matches to expand the sparse matches to dense flows.

The other approach to handling occlusion is a joint estimation of occlusion and optical flow. This approach explicitly includes an occlusion variable into its optimization objective[21, 22]. They assign an occlusion label to each pixel based on a high photo-consistency violation or flow-symmetry constraint, and assign a constant penalty as a separate term. However, these methods also cannot distinguish error due to occlusion from error due to poor matches. Therefore, they sometimes arrive at incorrect occlusion localization when the scene has large occluded regions.

Like other approaches, we estimate occlusion and optical flow based on high photo-consistency error and forward-backward flow symmetry. However, different from the above methods, we detect occluded regions based on patch plane transform models. A region that does not have any plane transform similar to its neighboring planes, in addition to showing high color-consistency error and forward-backward plane projection asymmetry, is labeled an occluded region.

Figure 2: Multi-Scale Generalized Plane Match (MSGPM). Figure shows how patch window overlaps in each level and in the multi-scale(level) with different size

3 Multi-Scale Generalized Plane Match

We now present our robust multi-scale generalized plane matching framework (MSGPM) and discuss its core features. Our method builds robust plane matches to refine the optical flow, and operates in a top-down fashion in a multi-scale architecture. We first detail the robust patch plane match at a single level in Section 3.1, following which we describe the multi-scale structure as well as the propagation of the refinement between levels in Section 3.2 and 3.3. Occlusion detection and the final filling in scheme is presented in Section 3.4.

3.1 Robust Plane Match

Our baseline dense matching is generated by the PatchMatch algorithm[6]. It provides a dense correspondence of pixels from the two images, called NNF, which although reasonably good isn’t accurate enough to be regarded as an optical flow. The primary reason for its match error is due to occlusion and the front-parallel plane assumption. Most patch based matching methods rely on square shaped identical patches to compare regions from two images. However, in many cases, a square shaped patch plane in one image is distorted due to motion of the camera or of objects; particularly, in the case of zoom in-out or non-rigid motion of objects. Strictly speaking, an exactly matching square patch may not exist in the second image. The obvious solution of enumerating and comparing against all possible plane distortion models for each patch comparison is computationally prohibitive. Instead, we resolve this problem by first detecting a consensus plane distortion model from the given noisy NNF and then compensating that plane distortion to improve match quality.

3.1.1 Homography Plane Model

We assume that most regions of a scene can be approximated by a piecewise homography plane model. For two consecutive video frames, i.e., images , , each matching pair on the same local plane , , , satisfies both the homography transform and a color-consistency (intensity consistency) assumption,


For the point pairs that satisfy the above relations, the corresponding local plane model can be assigned. In our framework, we used a least square method to obtain a homography model from 4 correspondences.

3.1.2 Robust Model Estimation

Instead of estimating a plane model directly from noisy matches in a pair of patches from the two images, we use a Random Sample Consensus (RANSAC) based approach[23] for robust detection of a model. The RANSAC method robustly detects a dominant model by finding the largest inlier support model from a random sampling of input matches. The advantage of using RANSAC is not only its robustness to noise but also its capacity to detect a single dominant model in the patch region. Therefore, even when there exists occlusion in the patch, the technique can detect a plane corresponding to the non-occluded region correctly.

To account for cases where there exist more than one plane in the patch region, we use overlapping patches. We overlap the patch window with the previous patch region using half ratio as shown in Fig.2. This overlapping between two consecutive patch regions enables detection of multiple planes in a local region and also allows for smooth transitions between planes.

3.1.3 Plane Distortion Compensation

The detected homography plane model is used to compensate for the corresponding plane motion to improve the match quality in the local region. Our homography plane model choice and subsequent distortion compensation method is based on a classical optical flow estimation principle. It warps the second image toward the first image using the detected homography plane transform (Eq1) and evaluates whether the color-consistency (Eq2) is satisfied within the patch regions as follows.

Assume that a homography plane model is detected for a given patch region . Then, the plane motion compensation is performed by warping toward by the induced flow. For each pixel in the region of , , there exist a corresponding pixel of the warped second image which matches against the position of . The color-consistency error is then


The color-consistency violation represents the color difference between and warped image at the pixel location . For each , the corresponding pixel should satisfy the color-consistency relation (Eq2) if it is on the same plane . However, since the plane in the scene is not strictly flat and there also exists noise and fitting error, we use an error threshold as a flexibility parameter for how well a pixel conforms with a given plane model.

For a pixel , , when the color-consistency error is smaller than the threshold , the pixel is regarded as an inlier of the estimated plane ,


The robust loss represents how poorly a point conforms with the homography plane model in the region . If the color-consistency error is larger than , then the point does not get assigned to the plane. For a point in the patch overlapping region, if it is detected as an inlier for two different planes, the plane with the smaller is assigned to the point.

The patch plane motion compensation identifies a region that conforms with the estimated plane model in the patch. We assign the homography induced flow to the detected region as the refined flow. As a result of this procedure, even though the initial matches are very noisy, if the estimated plane model matches any planar part of the patch region, we can obtain an enhanced correspondence for that region.

The one problem with this approach is that the plane detection is affected by the size and position of the patch. The patch size limits the detectable plane sizes and the patch location limits the detectable plane positions in the scene. Scenes generally consist of a diversity of sizes of planes and when a plane size is smaller than the dominant plane that exists in the patch window, it is likely to be neglected by RANSAC since RANSAC only finds a single dominant plane. We address this problem by applying a residual-region based model detection and a multi-scale extension to the above robust plane matching method.

Figure 3: From current level, the region of reliable correspondences are propagated to the next level.

3.2 Residual Region based Model Detection

In the patch window based RANSAC model detection scheme, if more than one plane model exists in the patch window region, the small plane (based on the size of the region it encompasses) can be overlooked even when the patch windows are overlapped. This is because RANSAC always chooses the most dominant plane from the input matches, and therefore, the detectable planes are limited by the size and positions of the patch window. To address this problem, we detect planes in two stages. In the first stage, we detect and assign a plane by moving a fixed size patch window with overlaps in a scan-order. Following this, there might remain residual regions which do not have any assigned homography model. In the second stage, we only use the residual regions in a patch window as the input to the RANSAC based model detection. Accordingly, any detected plane from the region is assigned only to the residual region using the color-consistency measure. This residual region based model detection enables us to detect as many planes as possible with the same fixed size patch window. For smaller planes that may exist in the same local region, we resort to detection using a Multi-Scale patch window based approach as described next.

3.3 Multi-Scale Plane Match

A single scale patch window based robust plane matching scheme detects a dominant plane model per patch region. To discover the diverse sizes of planes that exist in the scene, we need diverse sizes of patch windows. Our multi-scale patch plane approach applies a large to small patch size variation scheme within a multi-level architecture. We begin with the largest patch window size, the first level, and the robust plane match is applied to the entire image. At the next level, we repeat the same procedure with a slightly smaller patch window size. We decrease the patch window size gradually until we reach the bottom level, corresponding to the finest scale. Fig.2 illustrates this multi-scale structure.

For a given level and maximum patch window radius , each level uses window radius , where is the window radius decrement per level transition.

Collecting the many levels of this multi-scale framework, we obtain a full set of plane fit flows. These plane flows from each level vertically overlap each other for each location of the image. These multi-level flows are merged using the same method that is used for overlapping patch regions (Eq3): for each pixel location in the image for which a flow has to be assigned, the plane model with the minimum color consistency error is assigned as the winner. The only difference is that when merging flows from different levels, we give higher priority to lower levels with larger window sizes since as the window size decreases, the effect of noisy matches and the concomitant flow distortions rise. The result at the end of this stage, i.e., multi-scale with robust plane detection, is shown in Fig.4 as a color-coded map. When compared to the ground truth optical flow in Fig.4, our method shows highly reliable dense matches in the non-occluded regions.

Figure 4: Multi-Scale Generalized Plane Match (MSGPM) result (flow color scheme of the benchmark is used). Left: ground truth optical flow with occluded regions removed. Right: MSGPM match

3.3.1 Propagation of Reliable Models between Levels

When we transition from one level to the next, we reflect the reliable estimation result to the next level’s initial match via the NNF. As illustrated in Fig.3, for the regions with low color-consistency error with assigned homography model, the correspondences are propagated to the initial matches for the next level. This propagation procedure increases the reliability of matches by decreasing noisy outlier correspondences. Algorithm.1 gives an overview of the one level plane matching method in the multi-scale framework.

1:For each level with patch size
3:/* First Stage */
4:for  each NNF of size  do
5:     /* robust model estimation */
6:     if  plane model is detected  then
7:         warp by induced flow
8:         check color-consistency
9:         detect consistent region
10:         if  plane symmetry  then
11:              assign flow to
12:         end if
13:     end if
14:end for
16:/* Second Stage */
17:for  each NNF with residual region  do
18:     robust model estimation and assignment w.r.t
19:end for
22:update NNF with reliable matches for the next level
23:Run PatchMatch for the unassigned regions of level
Algorithm 1 Robust Generalized Plane Match

3.3.2 Match Refinement for Unassigned Regions

Each level of MSGPM identifies both multiple planes that exist in the scene as well as occluded regions. However, after the two stages of plane detection, there might remain regions that are not occluded and are yet un-detected (such as when there are objects with large non-rigid motion). To further identify the flow for such regions at the next level, we run PatchMatch restricted to the unassigned regions of the current level’s flow. The regions already assigned to homography models are masked and used for providing possible match candidates for the random search in PatchMatch. This restriction to unassigned regions decreases the search space and increases the probability of finding correct matches from the NNF.

Figure 5: MSGPM generated correspondences (color coded) and occlusion estimation. (for each image set) upper row left: Ground truth optical flow of non-occluded region, upper row right: MSGPM result, lower row left: Ground truth occlusion map ,lower row right: MSGPM occlusion estimation result.
Figure 6: MSGPM generated correspondences (color coded) and occlusion estimation. (for each image set) upper row left: Ground truth optical flow of non-occluded region, upper row right: MSGPM result, lower row left: Ground truth occlusion map ,lower row right: MSGPM occlusion estimation result.

3.4 Occlusion Detection and Interpolation

Since, by definition, for an occluded region in a video frame, there does not exist a corresponding region in the second frame and consequently no homography match, in an ideal world, our multi-scale generalized plane matching method would detect and assign planes to all regions of a scene except for occluded regions. In experiments, we have found that this is indeed the case for most examples and that occluded regions remain empty (i.e., devoid of an assigned flow) after the completion of the overall flow estimation procedure. However, because of accidental matches in the NNF of parts of occluded regions to color consistent yet erroneous parts of the second image, there are cases where parts of the occluded regions get incorrectly assigned planes. These noisy matches can infiltrate the plane model detection procedure when the patch size is small and close to the size of the erroneous region. We identify these incorrectly matched occluded regions using the following criteria.

  • Forward-backward plane projection symmetry.

  • Many-to-one matched planar region with higher color-consistency error.

  • Overlap ratio between inliers from color-consistent region and inliers from the RANSAC method.

The first occlusion cue is frequently used in other algorithms. In our case, when we detect a plane model from the patch window, we also estimate the backward plane model from the backward NNF. The input matches are the backward NNF in the projected region of the estimated forward plane model. If the detected forward plane region is not overlapping with the backward plane’s projected region, the detected region is defined to be invalid. We set the symmetric region overlapping threshold as and discard a plane model that is below this threshold.

The second cue is similar to the match uniqueness criteria in stereo matching: most of the non-occluded regions in an image are uniquely matched to regions in the second image. When some planar region in the first image is mapped to an already matched region in the second image, then among those multiple matched candidate regions, the one with the higher color-consistency error is likely to be an occluded region.

The last cue tests for agreement between the RANSAC model estimation and the color-consistency based inlier detection scheme. The plane model estimated from the matches should agree with the color-consistent planar region for the plane matching scheme to be correct. If this is violated we deem the match incorrect.

Based on above three criteria, we detect incorrectly matched regions from each level. When merging final flows, occluded regions are deemed to be regions with no correct plane model.

3.4.1 Filling and Occlusion Map

From the obtained reliable correspondences, we fill as much of the unmatched regions as possible using homography model propagation. The homography model propagation is a method that propagates the best detected models based on color-consistency cost to neighboring unfilled pixels.

Finally, we use an edge-preserving interpolation method (Epic-flow)[2] with its default parameters to fill in all remaining regions. The flow interpolated by Epic is merged with the MSGPM flow based on a color-consistency cost.

Given the final interpolated flow, we compare the color-consistency error of the two images by warping and then detect occluded regions as those above an error threshold. Results from our Multi-Scale Generalized Plane Match (MSGPM) and its corresponding occlusion estimation maps are shown in Fig.5 and Fig.6. As is clear, the results are very close to the ground truth in both quality and occlusion detection.

4 Experiments

We evaluated our framework on the MPI-Sintel[18] dataset for optical flow. MPI-Sintel is a challenging benchmark based on an animated movie that contains several large movements of objects, large motion and zoom-in/out of the camera, large occlusions, and illumination changes. We compared our technique, MSGPM, against several state-of-the art methods over difficult segments of the video that corresponded to large occlusion and large movement of thin objects. Experiments were run over the entire dataset. In general, it is well known that all techniques do well on easier frames, and we found this to be true in our experiments.

In all experiments, an NNF resulting from the running of the PatchMatch algorithm in patch size was used as the initial input to the MSGPM algorithm. Furthermore, MSGPM used 2 levels in the multi-scale framework with the maximum patch window radius set to and the window radius decrement per transition level set at 20 (). At the end of each level, the plane projected flow based forward-backward symmetry was checked to filter out outliers and refine the occluded region estimation.

In MSGPM, when the number of levels, , was increased, the quality of the flow did increase. However, the improvement was not significant enough to warrant the over-head introduced by adding more levels. We found that was the minimum number of levels with non-significant performance degradation. We therefore set in all our experiments.

Comparisons between the algorithms was based on the mean endpoint error(EPE).

Figure 7: Color coded optical flow results.(for each image set) upper row left: MSGPM+Epic, upper row right: CPM2-flow, lower row left: SPMBP-flow, lower row right: Ground truth optical flow
Method EPE nocc. EPE occ. EPE all
MSGPM+Epic 3.319 19.368 4.488
CPM2-flow[16] 0.796 20.171 2.208
EPIC-flow[2] 1.036 18.207 2.287
SPMBP[15] 1.785 24.881 3.468
Table 1: EPE (Endpoint Error) results on MPI-Sintel dataset.

The evaluations were performed on the final interpolated results. As noted earlier, MSGPM+Epic refers to interpolation by Epic [2]. Table 1 demonstrates that our method shows comparable performance with other state-of-the-art optical flow algorithms. Fig.7 shows the computed optical flow of each algorithm for an exemplar image pair. The optical flow is represented by the color code set by the benchmark. As is clear, compared to other state-of-the-art methods, MSGPM generates optical flow of similar quality.

Figure 8: EPE difference map and matches from MSGPM and CPM2 before EPIC interpolation. (for each image set) upper row left: Ground truth optical flow, upper row right: EPE difference map between CPM2 and MSGPM, lower row left: MSGPM matched result, lower row right: CPM2 matched result
Figure 9: EPE difference map and matches from MSGPM and CPM2 before EPIC interpolation. (for each image set) upper row left: Ground truth optical flow, upper row right: EPE difference map between CPM2 and MSGPM, lower row left: MSGPM matched result, lower row right: CPM2 matched result

We found that MSGPM+Epic has superior mean EPE on the occluded regions of the data set and slightly worse result on the overall mean EPE compared to the other methods. To further analyze this, we compared MSGPM with CPM2 for which code is available in the public domain.

We plot the EPE difference map ( CPM2 EPE - MSGPM EPE ) in Fig.8 and Fig.9 for example pairs of frames. The light blue region in the difference map represents locations where CPM2 has a smaller EPE than MSGPM within a one pixel difference bound. The yellow colored regions are where MSGPM has a smaller EPE than CPM2. As we can see in the figure, CPM2 has a slightly smaller error in the large background area which contributes to its overall smaller mean EPE. We believe this effect comes from the difference in the flow assignment strategy of the two methods. In CPM2, the best match is searched and assigned to each pixel at a pixel by pixel basis. However, in MSGPM, the match is assigned to all inlier pixels inside the smallest scale window with a single dominant plane model. Therefore, although MSGPM finds the most close plane model to the local region, after assignment, it loses pixel-wise fine details present in the true flow. And in this experiment, we used the smallest window size as which is quite a large size compared to CPM2’s pixel-wise assignment. For the regions with non-rigid motion of objects, a plane is difficult to be detected without using very small patch windows. Therefore, MSGPM has less inliers in the region of non-rigid motion when compared to CPM2. We expect this problem can be addressed by adding additional finer scale levels with smaller patch window size to MSGPM.

4.1 Thin Object Detection

The detection of thin objects in a scene, particularly when they have large movement, is a hard problem for dense match generation. The small area encompassed by thin objects tend to be neglected during optical flow estimation or the interpolation process. However, in the case of the MSGPM algorithm, such thin objects were also localized and identified owing to the robust plane based detection scheme. As demonstrated in Fig.10, thin structures such as the spear in the scene is correctly identified by MSGPM in contrast to the other techniques that failed to detect the spear in their results.

Figure 10: Optical flow results. (for each image set) upper row left: Ground truth optical flow, upper row right: MSGPM+Epic, lower row left: EPIC-flow, lower row right: CPM2-flow
Figure 11: Semi-dense correspondence before EPIC interpolation.(for each image set) upper row left: Ground truth optical flow, upper row right: MSGPM match, lower row left: MSGPM match with histogram equalization, lower row right: CPM2 match before interpolation
Figure 12: Semi-dense correspondence before EPIC interpolation. (for each image set) upper row left: Ground truth optical flow, upper row right: MSGPM match, lower row left: MSGPM match with histogram equalization, lower row right: CPM2 match before interpolation

4.2 Partial Experiments on Histogram Equalized Images

In other experiments, we tested the case where we enhanced the illumination robustness of the patch cost computation. Instead of using a more complicated data term for patch cost computation, we simply applied histogram equalization to the image pair in HSV format and ran the same MSGPM framework. As we can see in Fig.11 and Fig.12, the simple histogram equalization can greatly improve the quality of matches, without any modification of the MSGPM framework. The histogram equalized MSGPM matches have more dense inliers and less outliers compared to the MSGPM without histogram equalization and CPM2 generated matches. This result shows that the MSGPM framework can be easily adapted to a new enhanced data term for better correspondence generation.

5 Conclusions

We have presented a multi-scale generalized plane match based framework for accurate optical flow and occlusion estimation. Drawing from the insight that patch based matching methods have an intrinsic limitation in the front-parallel plane assumption, we derived a generalized plane based matching method that is computationally tractable. From an initial NNF, we robustly detect dominant plane models within a moving patch window and use it to compensate for plane motion. Furthermore, from the obtained plane models we directly produce a accurate optical flow. This plane matching approach naturally reveals occluded regions as those that do not have matching planes in the second image. Finally, the technique is even able to identify thin structures that are rarely detected by other state-of-the-art algorithms. The evaluation on challenging datasets shows that our approach is capable of providing accurate optical flow that is comparable to other state-of-the-art algorithms in addition to precise occlusion localization.

6 Future Work

The MSGPM is a powerful framework that can generate reliable matches from noisy NNF, and furthermore, is highly flexible in the sense that it can easily be adapted to a different kind of patch cost computation method. We have shown how this flexibility can further improve match quality in the experiments on histogram equalized data sets. This motivates the possibility that we can further modify the technique to apply a new data term for illumination robust matching and plane assignment, such as census transform or dense SIFT. Furthermore, MSGPM is comprised of many operations that can be performed in parallel. Each patch-wise robust plane detection can be run independently at the same time without affecting other plane detection operations in a single level. If these operations are processed in parallel, it could save a great deal of execution time. Finally, we have used only 2 levels to obtain results that are similar to the other state-of-the art algorithms. Therefore, by increasing the number of levels, we can expect more accurate dense matching results from MSGPM. Finally, if we use a smaller window size for the finest scale of MSGPM and add post-processing for the optimization of the fine details of the flow in the plane assigned region, we can expect better optical flow results as compared to other state-of-the-art optical flow algorithms.


  • [1] Güney, F., Geiger, A.: Deep discrete flow.

    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

    10114 LNCS (2017) 207–224
  • [2] Revaud, J., Weinzaepfel, P., Harchaoui, Z., Schmid, C., Revaud, J., Weinzaepfel, P., Harchaoui, Z., Edge, C.S.E.: EpicFlow : Edge-Preserving Interpolation of Correspondences for Optical Flow. Cvpr 2015 (2015)
  • [3] Revaud, J., Weinzaepfel, P., Harchaoui, Z., Schmid, C.: Deepmatching: Hierarchical deformable dense matching.

    International Journal of Computer Vision

    120(3) (2016) 300–323
  • [4] Yang, Y., Soatto, S.: S2F: Slow-To-Fast Interpolator Flow. Cvpr2017 (2017) 2087–2096
  • [5] Hu, Y., Li, Y., Song, R.: Robust interpolation of correspondences for large displacement optical flow.

    The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (July 2017)

  • [6] Barnes, C., Shechtman, E., Finkelstein, A., Goldman, D.B.: PatchMatch: a randomized correspondence algorithm for structural image editing. ACM Transactions on Graphics 28(3) (2009)  1
  • [7] Bailer, C., Varanasi, K., Stricker, D.: CNN-based Patch Matching for Optical Flow with Thresholded Hinge Embedding Loss. IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017)
  • [8] Bao, L., Yang, Q., Jin, H.: Fast edge-preserving patchmatch for large displacement optical flow. In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. (2014) 3534–3541
  • [9] Bleyer, M., Rhemann, C., Rother, C.: PatchMatch Stereo-Stereo Matching with Slanted Support Windows. Bmvc i(1) (2011) 14.1–14.11
  • [10] Chen, Z., Jin, H., Lin, Z., Cohen, S., Wu, Y.: Large displacement optical flow from nearest neighbor fields. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (2013) 2443–2450
  • [11] Fortun, D., Bouthemy, P., Kervrann, C.: A Variational Aggregation Framework for Patch-Based Optical Flow Estimation. Journal of Mathematical Imaging and Vision 56(2) (2016) 280–299
  • [12] Hornáček, M., Besse, F., Kautz, J., Fitzgibbon, A., Rother, C.: Highly overparameterized optical flow using PatchMatch belief propagation. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 8691 LNCS(PART 3) (2014) 220–234
  • [13] Gadot, D.D.: Patchbatch: A batch augmented loss for optical flow. CVPR (2016) 4236–4245
  • [14] Heise, P., Klose, S., Jensen, B., Knoll, A.: PM-Huber: PatchMatch with huber regularization for stereo matching. Proceedings of the IEEE International Conference on Computer Vision (2013) 2360–2367
  • [15] Li, Y., Min, D., Brown, M.S., Do, M.N., Lu, J.: SPM-BP: Sped-up patchmatch belief propagation for continuous MRFs. Proceedings of the IEEE International Conference on Computer Vision 2015 Inter(1) (2015) 4006–4014
  • [16] Yinlin Hu, Rui Song, Y.L.: Efficient Coarse-to-Fine PatchMatch for Large Displacement Optical Flow. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (June) (2016) 5704–5712
  • [17] Li, Y., Hu, Y., Song, R., Rao, P., Wang, Y.: Coarse-to-fine PatchMatch for Dense Correspondence. IEEE Transactions on Circuits and Systems for Video Technology 1(c) (2017) 1–1
  • [18] Butler, D.J., Wulff, J., Stanley, G.B., Black, M.J.: A naturalistic open source movie for optical flow evaluation. In: European Conf. on Computer Vision (ECCV). Part IV, LNCS 7577, Springer-Verlag (2012) 611–625
  • [19] Chen, Q., Koltun, V.: Full Flow: Optical Flow Estimation By Global Optimization over Regular Grids. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (2016)
  • [20] Ince, S., Konrad, J.: Occlusion-aware optical flow estimation. IEEE transactions on image processing : a publication of the IEEE Signal Processing Society 17(8) (2008) 1443–1451
  • [21] Sun, D., Liu, C., Pfister, H.: Local layering for joint motion estimation and occlusion detection. In: CVPR, IEEE Computer Society (2014) 1098–1105
  • [22] Xiao, J., Cheng, H., Sawhney, H., Rao, C., Isnardi, M.: Bilateral filtering-based optical flow estimation with occlusion detection. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 3951 LNCS (2006) 211–224
  • [23] Chum, O., Matas, J.: Optimal randomized RANSAC. IEEE Transactions on Pattern Analysis and Machine Intelligence 30(8) (2008) 1472–1482