ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【论文笔记】Fast Cost-Volume Filtering for Visual Correspondence and Beyond

2020-01-26 11:51:04  阅读:335  来源: 互联网

标签:Correspondence Filtering frac guided Fast label filter theta 代价


—— 一篇曾经在middlebury上达到SoT的论文,代价聚合用的guided filter,逻辑清晰,性能不够快,但paper从更高的角度来看计算机视觉中的立体匹配、光流以及图像分割,值得一读

嗯,读完了,有种任督二脉被打通的感觉,把这两年多接触到的词,陌生的,熟悉的,全都连起来了

前言

  1. 作者指出以下几个领域的算法均可总结为label-based:
    • 立体匹配(stereo matching)
    • 光流(optical flow)
    • 图像分割(image segmentation)
  2. label-based类的方法算法本质:

    • 构建三维代价立方体(cost volume),存储着图像坐标为\((x, y)\),分配label为\(l\)的代价;

      ——对于立体匹配来说,代价值就是左右视图像素点对之间的相关性

    • 而后,目标就是找到一个最优的label assignment,满足以下条件:

    • obeys the label costs
    • spatially smooth
    • label changes are aligned with edges in the image
    • 为获得满足上述条件的最优的label assignment,通常会有以下手段:

      构建Conditional Markov Random Field将label costs编码成一个由data term和pairwise smoothness term构成的能量函数,并基于诸如graph cut或者belief propagation等方法来最小化此能量函数

  3. 上述算法逻辑实际上是全局法求解的本质,特点是速度慢,难以处理大分辨率图像和较大的label空间,因此,有以下两种方式来做加速:

    • 将问题转化为凸优化:针对不同问题加额外的限制,来将问题转化为凸优化问题,以在GPU上得到加速,但存在以下问题:
      • 增加额外的限制,使得模型难以cover住一些困难场景;
      • 为保证平滑项的convex性,可能会造成结果的过度平滑;
    • 使用局部滤波来逼近:通过设计窗口形状、大小以及滤波权重在窗口内实现局部最优代价聚合(窗口外的像素可看做权重为0),优点是速度快,缺点是结果为局部最优

Abstract

  • 主要思想

    通过构建最小生成树来完成最优代价聚合,树节点为像素点,连接树节点的边权重由树节点间的相似度决定

  • 贡献点

    1. 提出了一套filter-based的框架来求解诸如立体匹配,光流以及图像分割等label-based问题
    2. 应用到立体匹配,可以达到当时SoT的real-time效果
    3. 应用到光流,可以处理fine motion structure和large displacement
    4. 应用到图像分割可以得到一个快速且高质量的interactive图像分割结果
  • 时间性能

    1. 硬件:1.8 GHz 酷睿i7 CPU,4 GB缓存
    2. 数据集:middlebury
    3. 耗时:90ms
  • future:

    如guided filter原文所述,作者也点出,guided filter可以逼近全局法的一个原因就是:

    the guided filter is one step of a conjugate gradient solver of a particular linear system.

    又一次点出filter-based和energy-based之间的关系...

  • 关键文献

    【11】K. He, J. Sun, and X. Tang. Guided image filtering. In ECCV, 2010.

    【31】K. Yoon and S. Kweon. Adaptive support-weight approach for correspondence search. PAMI, 2006.

研究背景

算法思想

We consider a general labeling problem, where the goal is to assign each pixel \(i\) with coordinates \((x, y)\) in the image \(I\) to a label \(l\) from the set \(L = {1,...,L}\).

代价聚合本质:

\[C_{i, l}^{'} = \sum_j{W_{i, j}(I)C_{j, l}}\tag{1}\]

本文权重计算方式使用的是guided filter:

\[W_{i, j} = \frac{1}{|w|^2}\sum_{k:(i, j) \isin w_k}(1 + \frac{(I_i - \mu_k)(I_j - \mu_k)}{\sigma_k^2 + \epsilon})\tag{2}\]

guided filter保边平滑本质主要来源于:

\[\frac{(I_i - \mu_k)(I_k - \mu_k)}{\sigma_k^2 + \epsilon}\]

当\(\sigma_k^2 \ll \epsilon\)足够大时,邻域间的颜色相似度对权重的影响就会减小,整个权重分布接近于均匀分布,guided filter的表现就越接近于box filter

guided filter的矢量化形式(复杂度为\(O(N)\)的体现):

\[W_{i, j} = \frac{1}{|w|^2}\sum_{k:(i, j) \isin w_k}(1 + (I_i - \mu_k)^T(\Sigma_k + \epsilon U)^{-1}(I_j - \mu_k))\tag{3}\]

应用

Stereo Matching

算法流程:

  1. 代价计算: SAD + gradient
  2. 代价聚合:本文方法
  3. 视差计算:WTA
  4. 后处理:
    • 遮挡检测和补洞:LR-Check, 并以非遮挡区域的最小视差进行填充
    • weighted median filter:权重中值滤波,权重使用的是双边权重...

      \[W_{i, j}^{bf} = \frac{1}{K_i}exp(-\frac{|i - j|^2}{\sigma_s^2})exp(-\frac{|I(i) - I(j)|^2}{\sigma_c^2})\tag{4}\]

一波骚操作...

左右视图的代价聚合是guided filter的权重是将左右视图合成成一张6通道的图来矢量化计算的...

Optical Flow

算法流程:

  1. 代价计算: SAD + gradient
  2. 代价聚合:本文方法
  3. 视差计算:WTA
  4. 后处理:
    • 遮挡检测和补洞:LR-Check, 用weighted median filter来补洞,权重使用的是guided filter的权重
    • 亚像素增强(目前还不懂咋操作,先引用起作者原话,后面再来研究):

      1. Subpixel precision: To find sub-pixel accurate flow vectors, we follow [23] and simply upscale the input images using bicubic interpolation.
      2. This increases the size of the cost volume in the label dimension (but not in the x and y dimensions) and hence raises the running time.
      3. In practice, we found that smoothing the final flow vectors with the guided filter can compensate for a lower upscaling factor.
      4. We empirically found that an upscaling factor of 4 gives vi- sually pleasing results, but in this paper we upscale by a factor of 8 to demonstrate the best possible performance.

Interactive Image Segmentation

  1. 代价计算(核心)

    • 根据用户输入的前背景信息,构造前景和背景直方图:\(\theta^F\) 和 \(\theta^B\)

    • 每个直方图包含\(K\)个bins,里边用于统计像素点\(i\)为背景的情况

    • 也可接受用户输入Bounding box,box内部的像素点用于构造\(\theta^F\),box外部的像素点用于构造\(\theta^B\)

代价函数定义为:

\[C_{i,l} = 1 - \theta_{b(i)}^l\]

对于二分类问题,可将代价函数\(C_{i, l}\)降为两维,\(C_i\)表示一个像素点属于前景区域的代价:

\[C_i = 1 - \frac{\theta_{b(i)}^F}{\theta_{b(i)}^F + \theta_{b(i)}^B}\tag{5}\]

  1. 代价聚合:本文方法

  2. 图像分割:\(C_i < 0.5\),则将其置为前景,\(C_i > 0.5\),则将其置为背景

对于Bounding box方法,作者用了5次迭代更新颜色模型来增强代价计算的精度

NOTE

实验部分说:效果和graph cut相当,性能是 5ms vs 300ms(425ms),惊呆了我和我的小伙伴...

标签:Correspondence,Filtering,frac,guided,Fast,label,filter,theta,代价
来源: https://www.cnblogs.com/nico-1729/p/12233998.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有