GrabCut是一个基于计算机视觉中的理论的图像分割方法。
在GrabCut中,像素被划分为ground truth background、ground truth foreground、maybe background、maybe foreground四类标签。开始时,用户需要画出一个完整包含目标物体的。框内的像素被标记为maybe foreground,而框外的则是ground truth background。
然后算法使用高斯混合模型(GMM)估计目标物体和背景的色彩分布。GMM用于在像素标签上构建马尔可夫随机场,其能量函数更喜欢具有相同标签的连接区域。运行基于图割(如最小割)的优化来推断位于不确定区域(标签为maybe background、maybe foreground的像素)的标签值。此估计比用户画出的边界框的原始估计更准确,因此上述过程将多次重复,直到收敛。
用户可以通过反复多次指出错误分类的区域,使算法重新运行优化,获得更佳结果。
OpenCV中已经提供开源实现。
参见
- 连通性 (图论)
- Prim算法
- Edmonds–Karp算法
*
参考资料
C. Rother, V. Kolmogorov, and A. Blake, [http://research.microsoft.com/apps/pubs/default.aspx?id=67890GrabCut: Interactive foreground extraction using iterated graph cuts*] , ACM Trans. Graph., vol. 23, pp. 309–314, 2004.
评论 (0)