GrabCut彩色图像分割算法的研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方便处理 GMM, 在优化过程中引入向量 k=( k1, …, kn, …, kN) 作 为 每 个 像 素 的 独 立 GMM( 前 景 或 背 景 ) 参 数 , 且 kn∈{1, 2, …, K}, 相应像素点上的不透明度 !n=0 或 1。
Gibbs 能量函数改写为
E( !, k, ", z) =U( !, k, ", z) +V( !, z)
Matting 可以进一步优化硬分割, 这种方法允许在硬分割
边界附近存在一条完全透明的窄带, 这就足以处理当前
待分割物体边界处的模糊和像素重叠问题。边界优化主
要任务是统计这个窄带的 ! 图, 恢复前景的颜色。
3.1 统计 ! 图
Border Matting 从一个闭合轮廓 C 开始( 该轮廓是从
初始硬分割得到的) , 重新计算三元图 $TB, TU, TF %, 其中 TU
更换, 取得了很好的效果。
【关键词】交互式图像分割; Graph cuts 算法; 前景提取; Alpha 计算; GrabCut 算法
【中 图 分 类 号 】 TN919.81
【文 献 标 识 码 】 A
Resear ch of Gr abcut Color Image Segmentation Algor ithm
方差。式( 8) 中的均值、协方差定义如下
$t( !) =( 1- !) $t( 0) +!$t( 1)
2 GrabCut 图像硬分割算法
GrabCut 的硬分割算法在 Graph cuts[3]的基础上做了 三方面的改进: 第一, 利用高斯混和模型( Gaussian Mix- ture Model, GMM) 取 代 直 方 图 , 将 灰 度 图 像 扩 展 到 彩 色
图像; 第二, 用估计和参数学习过程中可进化的迭代算法
数字视频
式 中 : D( !n, kn, ", zn) =- logp( zn|!n, kn, ") - log#( !n, kn) , p
(·) 是高斯概率分布, #(·) 是混和权重系数( 累积和为常
数) 。所以有
D( !n,
kn,
",
zn) =-
log#( !n,
kn)
+
1 2
logdet( !n,
kn) +
# 1
2
!zn- $( !n, kn) "T
( !n, kn) !zn- $( !n, kn) "
( 3)
这样模型的参数就确定为
$ % # "= #( !, k) , $( !, k) , ( !, k) , k=1, 2, …, K ( 4)
彩色图像的平滑项为
# ) * V( !, z) =%
是边界 C 两侧宽 w 的窄带内的像素集合 ( 这里采用 w=
6) 。这一步的目标是计算 ! 曲线图 !n, n∈TU。为了有效 完成任务, 在 TU内假设了 ! 图的形状。设 t=1, 2, …, T, 为 轮廓 C 的参数, 以 T 为周期( 曲线 C 是闭合的) 。索引号 t
( n) 对应每个像素 n, n∈TU。! 图为近似的阶跃函数: !m=g
!nn∈Tu k
( g) 从第 4 步开始重复执行, 直到收敛。
( h) 执行边界优化。
3) 用户交互编辑
Fra Baidu bibliotek
( i) 编辑:指定一些像素!n=0( 背景) 或!n=1( 前景 ) , 相应的更新三元 T, 执行步骤( f) 。
( j) 优化: 执行整个迭代最小化算法。
迭代最小化过程可看成总能量 E 在 k, ", ! 三个方面
动态规则不能准确地完成最小化, 则需要两次完整的动
态规划来近似, 假设第一次动态规则过程在 t=T/2 处给
出最佳 ! 图, 数据项为
D,n( !n) =- logN)zz; $t(n) ( !n) , +t(n) ( !n) *
( 8)
式 中 : N( z; $, +) 为 z 的 高 斯 概 率 密 度 , $ 为 均 值 , + 为 协
!!m≠!n "exp
2
- &‖zm- zn‖
( m, n) ∈C
2.2 通过迭代实现能量最小化并进行分割
GrabCut 中 的 能 量 最 小 化 通 过 迭 代 来 实 现 , 不 像
Graph cuts 算法是一次完成的, 优点是可自动修改不透
明度 ! 值, 并利用从初始三元图的 TU像素中重新确定的 像素来校正彩色模型 GMM 的参数 "。
Digital video
文章编号: 1002- 8692( 2008) 06- 0015- 03
Gr abCut 彩色图像分割算法的研究
·论文·
王钧铭 1, 高立鑫 2, 赵 力 2 ( 1. 南京信息职业技术学院, 江苏 南京 210013; 2. 东南大学, 江苏 南京 210096)
【摘 要】GrabCut 算法是一种高效的前景背景分割算法。传统分割算法应用纹理或边界 信息 中 的 一种 进 行 分割 , 而 GrabCut 算 法
硬 分 割 的 实 现 是 对 Graph cuts 算 法 的 改 进 。 它 在 Graph cuts 算法基础 上 提 出 了 “不 完 全 标 号 ”和 “迭 代 估 计”的方法, 从而减少了用户的交互工作量, 提高了分割 的准确度。这样用户的交互操作就简化成在目标区域的 周围画一个矩形框。笔者将 GrabCut 算法应用在静态图 像编辑中, 用于更换图片背景, 效果很好[2]。
1 引言
一个理想的分割工具应该能够产生连续的介于 0 和 1 之间的不透明值, 这样像头发、树叶等精细的前景也能 够 很 好 地 自 动 分 割 出 来 [1]。 但 是 以 往 的 经 验 告 诉 我 们 这 个目标很难实现。GrabCut 算法是一种有效的从复杂背 景中提取前景目标的交互式图像分割算法, 其分割准确 度与算法执行效率较高, 且交互操作量极少。GrabCut 算 法先通过交互式分割得到一个基本的“硬分割 ”, 然后在 环绕硬分割边界的条带上采用 Border Matting 的方 法计 算连续的值, 获得理想的分割效果。
综合 利 用了 纹 理 及边 界 两 种 信 息 进 行 图 像 分 割 。GrabCut 算 法 是 对 Graph cuts 算 法 的 改 进 , 具 有 分 割 精 度 高 , 交 互 式 操 作 少 的 优
点, 并将分割从灰度图像推广到了彩色图像领域, 是一种比较有前途的交互式分割算法。该算法用在静态图像编辑中的图片背景
WANG Jun- ming1, GAO Li- xin2, ZHAO Li2 ( 1. Nanjing Information Occupation Technical College, Nanjing 210013, China ; 2. Southeast University, Nanjing 210096, China)
# # E= D,n( !n) + V, )(t, )t, (t+1 , )t+1 *
( 6)
n∈TU
t=1
V, )(, ), (′, )′*=*1( (- (′) +*2( )- )′)
( 7)
式( 7) 的作用是激励 ! 值沿着 C、随着 t 的增加而均
匀地变化( *1=50, *2=1 000) 。如果轮廓 C 是闭合的, 一次
)rn; (t( n) , )t( n) *, 其 中 rn是 像 素 n 到 轮 廓 C 的 距 离 , 参 数
(, ) 分别是 ! 图从 0 到 1 跳变的中心和宽度。参数 (1,
)1, …, (T, )T是在 t 上用动态规则方法来最小化能量函
数( 6) 得出的, 式( 7) 是平滑规则器。
T
上的单调递减。这样算法就能保证最终收敛到 E 的最小
值。当判断出 E 无大幅度衰减时自动终止迭代。这样就
保证了算法的收敛性。
2.3 用户交互与不完全三元图
非完全编号取代了完整三元图, 带来了更大的灵活
性, 用户的初始交互只需确定背景区域 TB, 并不需要确定 前景, 可令 TF=0。迭代能量最小化是通过允许一些编号临 时表示前景像素, 而背景 TB的编号是固定不变的。Grab- Cut 中的初始值 TB是用户通过标定矩形区域来确定的。
【Abstr act】 GrabCut is an efficient image segmentation algorithm. Both of the information of texture and edge are used in Grab- Cut, while only one kind of information is used in classic segmentation algorithm. GrabCut is an improvement of Graph cuts, and has high segmentation precision, and needs less interactive operations. Meanwhile, GrabCut is not only used in original grey image, but also used in the field of colorful image. Therefore, GrabCut is a promising interactive segmentation algorithm, and gets good results when being used in background replacement in the static picture editing. 【Key wor ds】interactive image segmentation; Graph cuts; foreground extraction; Alpha matting; GrabCut
如果用户给出的初始化信息不足以得到满意的分割 效果, 就需要用户进一步交互, 提供更多的信息, 然后执 行算法中的步骤( f) 。此外优化改进操作可以根据用户操 作更新颜色模型信息, 并且高效的最优流可以在用户操 作过程中反复利用而无须重新计算。
3 边界优化
对 于 边 界 优 化 应 该 用 连 续 的 ! 值 来 处 理 。 Border
GrabCut 算法的主要流程描述如下:
1) 初值化
( a) 用户通过设定背景 TB来初始化三元图 T。前景
设为空, 即 TF=’, TU取背景的补集, 即 TU=T+B。 ( b) 对于 n∈TB, 有 !n=0; n∈TU有 !n=1。 ( c) 分别用 !n=0 和 !n=1 两个集合来初始化前景和
背景的 GMM 模型。
2) 迭代最小化
( d) 求得 TU中的每个像素 n 所对应的 GMM 参数 kn,
kn=argminDn( !n, kn, ", zn) kn ( e) 从数据 Z 中获取 GMM 参数 ", "=argminU( !, k,
", z) 。
( f) 用最小能量来得到初始分割: minminE( !, k, ", z) 。
( 1)
式中: ! 为不透明度, !∈[0, 1], 0 为背景, 1 为前景目标; "
为图 像前景与背景的灰度直方图, "={h( z, !) , !=0, 1}; z
为 图 像 灰 度 值 数 组 , z=( z1, …, zn, … , zN ) 。 式 ( 1) 主 要 受
GMM 变量 k 影响。引入了 GMM 的彩色数据模型, 其数
代替一次最小估计来完成能量最小化; 第三, 通过非完全
编号降低了对交互工作的要求[2]。
2.1 彩色数据模型
彩色图像是由 RGB 色彩空间上的像素组成的。创建
足够的色彩空间直方图是不现实的, 所以使用 GMM 模
型来建立彩色图像数据模型[4]。每一个 GMM( 前 景或背
景) 都可以看作是一个 K 维的协方差( 通常 K=5) 。为了
据项可定义为
" U( !, k, ", z) = D( !n, kn, ", zn)
( 2)
n
* 国家自然基金项目( 60472058) ; 教育部博士点基金项目( 20050286001) ; 教育部“新世纪优秀人才支持计划”资助项目
15 No.06 Vol.32 2008( Sum No.315 ) VIDEO ENGINEERING