论文部分内容阅读
【摘要】本技术根据Codebook高级背景模型,将从摄像头中提取到的带有复杂背景的图像进行背景建模,给每个像素建立一个时间序列模型,在默认每个像素点独立的情况下,经过一定帧数的背景学习之后,能很好的将背景与新加入的前景进行区分;在手部匹配方面,我们采用的是模板匹配的算法,将区分出的前景图像与模板图像进行匹配,匹配最优的位置即为手部位置;最后我们给出了实时过程中测试的结果,并与基于块的反向投影法做时效性比较,说明基于模板匹配的方法更能满足实时的要求。
【关键词】Codebook模型;模板匹配;反向投影
引言
尽管在智能技术爆炸式发展的今天,很多功能强大的系统依靠的依然是遥控器等传统的设备来实现用户交互,极大地损害了系统的友好程度。而以微软的Kinect为代表的体感仪器又太过昂贵,小型设备用之不禁让人有“杀鸡用牛刀”之感,本技术正是在这样的背景下,通过高效的算法,使低配设备能够摆脱对传统交互设备的依赖,实现实时符合人类思维方式的交互体验。
1.Codebook高级背景模型
在实际的图像匹配过程中,复杂的背景会对匹配结果产生巨大的影响,比如背景中的近似肤色的事物会使得仅有单一背景的模板图像无法适应复杂背景的变化,然而近似肤色的背景又同时对匹配产生干扰,在这样的前提下我们引入Codebook高级背景模型,把人体当做前景图像并从背景中加以区分出来,进而实现排除背景干扰。
在默认每个像素独立的情况下,Codebook背景模型给每个像素建立一个时间序列模型,在一定的时间内进行模型训练,通过比较现在观测值与先前观测值,如果两者接近,则被建模为在当前颜色下的扰动;如果两个值不接近,则可以认为是在考虑背景情况下的一组前景色彩。
Codebook算法为图像的每一个像素建立一个Codebook(CB)结构,每个CB结构又由多个CW组成:
CB={CW[],n,t}
CW={learnHigh,learnLow,max,min,t_last_updata,stale}
t表示CB的更新次数,learnHigh和learnLow分别表示学习的上下界,max和min分别表示当前像素在其时间序列模型中的最大值和最小值;t_last_updata,stale,表示CW的上次更新时间和赋闲时间;记当前图像p的某一像素为p(x,y),背景阈值的的增长判定值为bounds,伪代码如下:
(1)(i)t++
①若在CB中存在CWi使p(x,y)在区间[learnLow,learnHigh]内
(a)更新t_last_updata;
(b)若p(x y)>max,max=p(x,y),若p(x,y)
②若不存在则创建一个CWnew加入CB:
(a)CWnew的max和min 赋值为p(x,y)
(b)learnHigh=p(x,y)+bounds,learnLow
=p(x,y)-bounds;
(2)更新CW的学习上下界
①若learnHigh
②若learnLow>p(x,y)-bounds,learnLow--
(3)更新CB中的陈旧CW
①若stale>staleThresh,删除该CW
(4)检测前景
①一定帧数的前三步训练。
②若p(x,y)不在区间[min+minThresh,
max+maxThresh]内,则标记为前景,否则为背景。
(5)检测效果如图所示
图1.1.1 前景进入 图1.1.2 前景图像
2.模板匹配法
模板匹配法是一种基于输入图像上滑动模板图像块的匹配算法,根据模板图像块与输入的图像块的匹配程度得到一个返回值,在滑动结束后比较所有的返回值,根据所选的匹配算法决定最大值还是最小值来作为最优匹配值。
2.1 相关性匹配法
2.2 平方差匹配法
2.3 归一化匹配算法
对上述两种方法进行归一化,可帮助减少模板和图像上光线变化所产生的影响,在各种情况下存在归一化系数:
归一化匹配法通式如下:
2.4 匹配过程
假设有一张480x640的图片,一张24x32 的模板图像,查找过程如下:
(1)从输入图像的左上角(0,0)处开始,切割一块24x32的临时图像块;
(2)根据2.2提出的匹配算法将模板图像与临时图像的每个像素进行比对,得到对比结果result存入一个结果矩阵内;
(3)把临时图像移动一个像素值,即切割(0,1)到(24,33)作为临时图像,根据所选匹配算法进行比对,并记录到结果图像;
(4)重复(1)到(3)操作直到切割图像到达右下角;
(5)根据匹配算法确定结果图像中的最小值或者最大值来作为最优匹配值。
2.5 配结果
不同的匹配算法匹配的效果不一样,需要消耗的计算代价也不一样,在操作中需要根据实际的情况权衡利弊,选择最适合的算法。实验匹配的结果如图所示:
图2.5.1 模板图像 图2.5.2 匹配结果 图2.5.3 匹配结果
3.基于塊的反向投影法
基于块的反向投影法也是通过模板图像在输入图像上的滑动来寻找目标,而匹配方式上采用的则是通过比较模板图像的直方图与滑块经过的图像块的直方图来获取一个概率值,通过最大概率值来确定目标的位置; 在本实验中为了减少光线变化对模板匹配的影响,将获取的RGB色彩空间转换到HSV色彩空间,而只采用H、S两个维度即色调、饱和度来建立模板图像的二维直方图,从而略去光线变化的影响。
3.1 向投影图
图像的反向投影图是用输入图像的某一位置上的像素值对应在模板图像直方图上的bin的值来代替该像素,输出的图像像素点的值表示的就是在模板图像的直方图分布下的概率:
其中直方图共m个bin,b(xi)表示在位置xi上像素对应的直方图第b(xi)个bin,qu表示第u个bin的值。
3.2 于块的反向头像匹配结果
图3.3.1 模板图像 图3.3.2 匹配结果
4.结果比较
本实验在2.5GHz CPU,4G内存的机器上运行,由于采用了多维的直方图,运用基于块的模板匹配算法需要的计算时间竟然高达10秒每帧且匹配效果很不理想,在本例中匹配结果是将模板图像背景中的天花板处认为是匹配率最高的,并且对图中改变了背景的手部采取“视而不见”的处理方案;而用本文提出的高级背景模型加模板匹配的方法每帧图像的检索速度可为30帧每秒,可以满足实时的要求,在图2.5.1-2.5.3的效果图中,算法很好的找到了手部的位置,并且在图2.5.3中加入了跟模板图像不是同一只手且为手背时也能准确的定位,达到准确匹配的结果。
参考文献
[1]Gary Bradski,drian Kaebler著.仕琪,瑞祯译.学习OpenCV[M].清华大学出版社.
[2]A.Elgammal,D.Harwood,L.S.Davis."Non-parametric modelfor-
backgroundsubtraction”.European Conference on Computer Vision,2000.
[3]郭北苑,卫宁.势交互中手部目标的动态分割[J].学报,2005,
7(2):03-404.
[4]王鯤鹏,张小虎,李立春,等.一种基于正负差图像的运动目标检测新方法[J].应用光学,2008,5(5).
[5]A.Elgammal,D.Harwood,L.S.Davis."Non-parametric modelfor-
backgroundsubtraction”.EuropeanConferenceonComputerVision,2000.
本文属中南民族大学校级创新训练项目(项目编号: KYCX140402)。
【关键词】Codebook模型;模板匹配;反向投影
引言
尽管在智能技术爆炸式发展的今天,很多功能强大的系统依靠的依然是遥控器等传统的设备来实现用户交互,极大地损害了系统的友好程度。而以微软的Kinect为代表的体感仪器又太过昂贵,小型设备用之不禁让人有“杀鸡用牛刀”之感,本技术正是在这样的背景下,通过高效的算法,使低配设备能够摆脱对传统交互设备的依赖,实现实时符合人类思维方式的交互体验。
1.Codebook高级背景模型
在实际的图像匹配过程中,复杂的背景会对匹配结果产生巨大的影响,比如背景中的近似肤色的事物会使得仅有单一背景的模板图像无法适应复杂背景的变化,然而近似肤色的背景又同时对匹配产生干扰,在这样的前提下我们引入Codebook高级背景模型,把人体当做前景图像并从背景中加以区分出来,进而实现排除背景干扰。
在默认每个像素独立的情况下,Codebook背景模型给每个像素建立一个时间序列模型,在一定的时间内进行模型训练,通过比较现在观测值与先前观测值,如果两者接近,则被建模为在当前颜色下的扰动;如果两个值不接近,则可以认为是在考虑背景情况下的一组前景色彩。
Codebook算法为图像的每一个像素建立一个Codebook(CB)结构,每个CB结构又由多个CW组成:
CB={CW[],n,t}
CW={learnHigh,learnLow,max,min,t_last_updata,stale}
t表示CB的更新次数,learnHigh和learnLow分别表示学习的上下界,max和min分别表示当前像素在其时间序列模型中的最大值和最小值;t_last_updata,stale,表示CW的上次更新时间和赋闲时间;记当前图像p的某一像素为p(x,y),背景阈值的的增长判定值为bounds,伪代码如下:
(1)(i)t++
①若在CB中存在CWi使p(x,y)在区间[learnLow,learnHigh]内
(a)更新t_last_updata;
(b)若p(x y)>max,max=p(x,y),若p(x,y)
②若不存在则创建一个CWnew加入CB:
(a)CWnew的max和min 赋值为p(x,y)
(b)learnHigh=p(x,y)+bounds,learnLow
=p(x,y)-bounds;
(2)更新CW的学习上下界
①若learnHigh
②若learnLow>p(x,y)-bounds,learnLow--
(3)更新CB中的陈旧CW
①若stale>staleThresh,删除该CW
(4)检测前景
①一定帧数的前三步训练。
②若p(x,y)不在区间[min+minThresh,
max+maxThresh]内,则标记为前景,否则为背景。
(5)检测效果如图所示
图1.1.1 前景进入 图1.1.2 前景图像
2.模板匹配法
模板匹配法是一种基于输入图像上滑动模板图像块的匹配算法,根据模板图像块与输入的图像块的匹配程度得到一个返回值,在滑动结束后比较所有的返回值,根据所选的匹配算法决定最大值还是最小值来作为最优匹配值。
2.1 相关性匹配法
2.2 平方差匹配法
2.3 归一化匹配算法
对上述两种方法进行归一化,可帮助减少模板和图像上光线变化所产生的影响,在各种情况下存在归一化系数:
归一化匹配法通式如下:
2.4 匹配过程
假设有一张480x640的图片,一张24x32 的模板图像,查找过程如下:
(1)从输入图像的左上角(0,0)处开始,切割一块24x32的临时图像块;
(2)根据2.2提出的匹配算法将模板图像与临时图像的每个像素进行比对,得到对比结果result存入一个结果矩阵内;
(3)把临时图像移动一个像素值,即切割(0,1)到(24,33)作为临时图像,根据所选匹配算法进行比对,并记录到结果图像;
(4)重复(1)到(3)操作直到切割图像到达右下角;
(5)根据匹配算法确定结果图像中的最小值或者最大值来作为最优匹配值。
2.5 配结果
不同的匹配算法匹配的效果不一样,需要消耗的计算代价也不一样,在操作中需要根据实际的情况权衡利弊,选择最适合的算法。实验匹配的结果如图所示:
图2.5.1 模板图像 图2.5.2 匹配结果 图2.5.3 匹配结果
3.基于塊的反向投影法
基于块的反向投影法也是通过模板图像在输入图像上的滑动来寻找目标,而匹配方式上采用的则是通过比较模板图像的直方图与滑块经过的图像块的直方图来获取一个概率值,通过最大概率值来确定目标的位置; 在本实验中为了减少光线变化对模板匹配的影响,将获取的RGB色彩空间转换到HSV色彩空间,而只采用H、S两个维度即色调、饱和度来建立模板图像的二维直方图,从而略去光线变化的影响。
3.1 向投影图
图像的反向投影图是用输入图像的某一位置上的像素值对应在模板图像直方图上的bin的值来代替该像素,输出的图像像素点的值表示的就是在模板图像的直方图分布下的概率:
其中直方图共m个bin,b(xi)表示在位置xi上像素对应的直方图第b(xi)个bin,qu表示第u个bin的值。
3.2 于块的反向头像匹配结果
图3.3.1 模板图像 图3.3.2 匹配结果
4.结果比较
本实验在2.5GHz CPU,4G内存的机器上运行,由于采用了多维的直方图,运用基于块的模板匹配算法需要的计算时间竟然高达10秒每帧且匹配效果很不理想,在本例中匹配结果是将模板图像背景中的天花板处认为是匹配率最高的,并且对图中改变了背景的手部采取“视而不见”的处理方案;而用本文提出的高级背景模型加模板匹配的方法每帧图像的检索速度可为30帧每秒,可以满足实时的要求,在图2.5.1-2.5.3的效果图中,算法很好的找到了手部的位置,并且在图2.5.3中加入了跟模板图像不是同一只手且为手背时也能准确的定位,达到准确匹配的结果。
参考文献
[1]Gary Bradski,drian Kaebler著.仕琪,瑞祯译.学习OpenCV[M].清华大学出版社.
[2]A.Elgammal,D.Harwood,L.S.Davis."Non-parametric modelfor-
backgroundsubtraction”.European Conference on Computer Vision,2000.
[3]郭北苑,卫宁.势交互中手部目标的动态分割[J].学报,2005,
7(2):03-404.
[4]王鯤鹏,张小虎,李立春,等.一种基于正负差图像的运动目标检测新方法[J].应用光学,2008,5(5).
[5]A.Elgammal,D.Harwood,L.S.Davis."Non-parametric modelfor-
backgroundsubtraction”.EuropeanConferenceonComputerVision,2000.
本文属中南民族大学校级创新训练项目(项目编号: KYCX140402)。