1. 论文
    1. 核心
      1. 鲁棒抠图
        1. 抽样阶段选择具有高信任度的样本估计出一个初始的alpha值
        2. 然后由随机步行最优化一个图标记问题来进一步改进结果
    2. 算法步骤
      1. 1. 优化颜色采样
        1. 最近邻采样
          1. 区域结构复杂时,不能够真实反应前景色和背景色的真实分布
        2. 1. 稀疏采样方法【此算法】
          1. 沿着己知前景区域和己知背景区域的边界稀疏地采集像素点
        3. 2. 采集了大量的样本点后,再从此样本集合中选出信度较高的样本对(一般选择3个样本对),α估值
          1. 未知像素的掩模值的估计值
          2. 距离比率
          3. 每个样本对定义如下两个权重
          4. 前景样本点和背景样本点与当前未知像素之间的最短欧式距离
          5. 综合距离比率和权重的定义,每个前景和背景对计算一个信度
      2. 2. 掩膜值α的优化
        1. 对图像掩膜值增加新的优先期望来优化掩膜值的初始估计值
        2. 对掩膜的两个期望
          1. 数据约束
          2. 最终掩膜值应该与掩膜值的初始估计值相关,尤其是那些具有高信度的像素点
          3. 邻域约束
          4. 最终的掩膜值应该是局部平滑的,并且对图像噪声具有鲁棒性
        3. 优化过程→图标记问题
          1. 满足数据约束:每个结点与“虚结点”定义一个数据权重
          2. 结点属于前景或背景的可能性
          3. 较高信度的结点,直接使用初始的掩膜估计值
          4. 信度较低
          5. 结点很有可能是完全前景像素或者完全背景像素
          6. 根据初始估计值来确定
          7. 未知像素数据权重公式
          8. γ
          9. 过高会导致掩膜值会被噪声污染
          10. 太低,会产生过分平滑的掩膜值
          11. 默认 0.1
          12. 满足邻域约束: 为相邻结点定义一个边权重
          13. 使得掩膜具有局部平滑性
        4. 使用随机游走来求解图标记问题
          1. 构造一个拉普拉斯矩阵L
          2. 将L 按已知像素和未知像素对应的结点分块矩阵
          3. 求解方程
        5. 防止一些低置信度的像素没有被选上
      3. 3. 前景重建
        1. 计算公式
  2. 工程代码
    1. robust_matting.cpp
      1. RobustMatting
        1. 构造方法: 初始化输入、输出
      2. Run
        1. 程序入口
      3. 0. init
      4. 1. EstimateAlpha
        1. 1. 对前景/背景/未知区域,执行黑帽运算,分离比邻近点暗一些的斑块
        2. 2. 从前景/背景中随机选取出20-50个种子像素点
        3. 3. 遍历图像像素点,计算用户标注的未知像素点
          1. 未知像素点被标注为255
          2. 计算此像素点的α和置信度对(pair)
          3. 未知像素其他标注
          4. 如果对应的前景标注为255,则赋值为1
      5. 2. BuildMatrix
        1. 1. 构建矩阵
        2. 2. 遍历像素点,计算边的权重
        3. 3. 遍历像素点,计算数据权重
        4. 4. 求解矩阵,得到优化后的掩值图像α
      6. select_seeds
      7. 1.3.compute_alpha_confd
        1. 评估未知像素点的α值
      8. 1.3.1 min_dist_fbgd_sq
        1. 计算前景/背景与指定区域像素的最小距离
      9. color_dist
        1. 计算像素值颜色差值平方
      10. 1.3.2 est_alpha
        1. 未知像素的掩模值的估计值α
      11. 1.3.3 rd_sq
        1. 计算距离比率
      12. 1.3.4 weight_fbgd
        1. 对每个样本的权重计算
      13. 1.3.5 confidence
        1. 综合距离比率和权重的定义,每个前景和背景对计算一个信度
      14. 2.1 build_A9x3
      15. 2.2 build_M9x3
  3. 图标记问题
    1. ΩB,ΩF都是虚点,为纯背景和纯前景点
    2. 白色节点为未知像素点
    3. 淡红色的结点用户标记的已知前景结点
    4. 淡蓝色的结点用户标记的己知背景结点