基于颜色和形状匹配的3D模式识别方法
技术领域
本发明涉及3D电视技术,特别涉及3D模式识别方法。
背景技术
3D电视是利用人眼视觉特性实现的一种立体电视技术。3D视频图像中包括了左眼图像和右眼图像,3D电视技术显示终端按照某种方式显示左眼图像和右眼图像,通过人眼合成产生立体图像效果。
随着3D电视技术的发展,用户对电视机3D功能的要求也逐渐提高,电视机厂商需要设计出更加友好的3D交互方式,但相对2D电视,3D电视的交互方式还是存在着诸多不便,如:
1、目前大部分的3D视频都需要用户自己去调整电视的3D视频模式,如:上下模式(top&button)、左右模式(side by side)、行交织模式(line by line)等,特别是在对3D节目预览选择的时候,会有一系列非常繁琐的交互操作;
2、HDMI(高清晰度媒体接口)等通道的外接设备的主菜单往往是2D模式,其播放完3D视频后退回菜单时,很可能会用3D模式方式显示2D模式菜单,用户会看不清楚当前界面是什么,更别说友好交互了;
3、几种格式的3D视频连播时,用户在上一个视频的3D模式下开始播放另一个3D格式的视频,基本分不清楚应该切换到哪一种3D格式。
所以有需要、有必要进行3D模式智能识别的研究,而3D模式的智能识别又由于3D视频的固有干扰(全局景深干扰、局部景深干扰、左右图像色差干扰等)很难实施,特别是目前的电视上都不具备3D模式智能识别功能,电视机3D模式的切换不能够自动完成,给用户的使用带来极大不便。
发明内容
本发明所要解决的技术问题,就是针对3D模式不能自动识别的缺点,提供一种基于图像处理,特别是基于颜色和形状匹配的3D模式识别方法。
本发明解决所述技术问题,采用的技术方案是,基于颜色和形状匹配的3D模式识别方法,包括如下步骤:
a、获取视频图像,将所述视频图像分为左眼图像和右眼图像;
b、将左眼图像作为模版图像,右眼图像作为目标图像,或者,将右眼图像作为模版图像左眼图像作为目标图像;
c、设定模版图像的3D模式;
d、提取目标图像的颜色特征,与模板图像颜色进行匹配;
e、提取目标图像的轮廓特征,与模板图像轮廓进行匹配;
f、上述匹配均达到设定条件,则获取的视频图像为设定的3D模式,否则进入步骤g;
g、重新设定模版图像的3D模式,重复步骤d~g;
h、如果目标图像与所有3D模式匹配均达不到设定条件,则获取的视频图像不是3D视频图像。
进一步的,在进入步骤e之前,重新选择模版图像和目标图像:以图像中轮廓点较少的图像为模版图像,轮廓点较多的图像作为目标图像。
具体的,所述3D模式包括上下模式和左右模式。
具体的,步骤d包括:
d1、将目标图像和模板图像的RGB颜色空间转换为HSV颜色空间,去除饱和度较低的像素点后,根据H特征获取直方图并计算其概率密度分布图;
d2、采用Meanshift算法找到直方图颜色信息量最大的中心点;
d3、将以步骤d2获取的中心点为中心的搜索窗口分为左上、左下、右上、右下四个子窗口,并分别进行概率密度分布图的颜色总值模糊对比。
具体的,当目标图像概率密度分布图的颜色总值占模版图像概率密度分布图的颜色总值的75%~120%,则颜色匹配达到设定条件。
具体的,步骤e包括:
e1、将模版图像和目标图像转换为灰度图;
e2、对模版图像和目标图像进行膨胀腐蚀形态学滤波,去除独立噪声并增加图像连续性;
e3、对模版图像和目标图像采用双向抽取的方法构造金字塔图像;
e4、对模版图像和目标图像采用Sobel边缘检测算子对金字塔图像进行边缘检测,得到主轮廓金字塔图像;
e5、对模版图像和目标图像的主轮廓金字塔图像进行快速Hausdorff距离变换,得到能够反映各像素点与边缘点集之间最近距离的距离映射图像;
e6、用目标图像的距离映射图像与模板图像的距离映射图像进行匹配。
具体的,如果目标图像与模板图像的Hausdorff距离小于阈值,则轮廓匹配达到设定条件。
更进一步的,根据识别结果自动切换视频格式。
本发明的有益效果是,采用颜色匹配与形状匹配相结合的方式进行3D模式识别,只有颜色和形状都达到匹配条件,才能最终确定3D模式。本发明具有3D视频模式识别精确度高,识别算法简单高效的特点。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明将图像处理技术中成熟的颜色匹配算法和形状匹配算法,应用于3D视频图像的模式识别中,采用颜色匹配与形状匹配相结合的方式进行3D模式识别,只有颜色和形状都达到匹配条件时才能确定识别到正确的3D模式。具体步骤如下:
第一步、获取视频图像,将所述视频图像分为左眼图像和右眼图像。
如果视频图像为3D视频图像,其每一帧图像根据具体的3D模式,总可以分为左眼图像和右眼图像。如左右模式的3D视频图像,其每一帧图像的左右两部分分别对应左眼图像和右眼图像;上下模式的3D视频图像,其每一帧图像的上下两部分则分别对应左眼图像和右眼图像。这两种3D视频模式,是我国目前采用的3D模式。对于其他3D模式视频图像,如行交织模式,每一帧图像的结构比较复杂,但也可以方位左眼图像和右眼图像。这里左右眼图像是作为一帧进行处理的,也就是将半帧图像扩展为一帧进行处理。
第二步、将左眼图像作为模版图像,右眼图像作为目标图像,或者,将右眼图像作为模版图像左眼图像作为目标图像。
视频图像分为左眼图像和右眼图像后,将其中一幅图像作为模板图像,另一幅则为目标图像。
第三步、先设定模版图像的3D模式。
由于目前国内电视采用的3D模式通常只有两种:左右模式和上下模式。可以先将模板图像设定为上述两种模式之一,然后执行下面步骤。
第四步、提取目标图像的颜色特征,与模板图像颜色进行匹配。
图像颜色特征的提取和匹配,可以采用现有技术比较成熟的图像处理方法进行相关处理,如HSV颜色概率密度分布图和Meanshift算法等。
第五步、提取目标图像的轮廓特征,与模板图像轮廓进行匹配。
同样的,图像轮廓特征的提取和匹配,也可以采用现有技术比较成熟的图像处理方法进行相关处理,如快速距离变换和金字塔分解加速Hausdorff距离匹配算法等。本发明推荐在进行轮廓匹配时,重新选择模版图像和目标图像:以图像中轮廓点较少的图像为模版图像,轮廓点较多的图像作为目标图像,提高匹配精度。
第六步、如果上述匹配均达到设定条件,则判断获取的视频图像为设定的3D模式,如果上述匹配未达到设定条件,或未完全达到设定条件,则进入第七步。
第七步、重新设定一种模版图像的3D模式,重复第四步~第七步。
重新设定模版图像的3D模式后,图像处理算法中相关参数发生了变化,对于左右模式和上下模式,图像处理过程中,主要是图像长宽比不同。
第八步、如果目标图像与所有3D模式匹配均达不到设定条件,则获取的视频图像不是3D视频图像。
由于我国现行3D模式只有两种(左右模式和上下模式),一般只要进行两次匹配就可以判断获取的3D视频图像模式。还有一种例外情况是,目标图像与模板图像总能够达到设定的匹配条件,即无论模板图像设定为左右模式或上下模式,目标图像都能够与其达到设定匹配条件。这种情况一般出现在干扰信号非常强的情况下,如图像为雪花干扰(无信号的随机噪声),或者获取的视频图像不是3D视频图像。
下面对颜色匹配和形状匹配这两种匹配算法进行详细描述。
一、颜色匹配流程
颜色匹配方法,采用HSV颜色概率密度分布图和Meanshift算法。
首先介绍一下Meanshift算法,它实质上是一种自适应的梯度迭代找寻峰值的算法,主要处理对象是概率密度函数f(x),只要给定了初始点,Meanshift算法就会使目标点慢慢的移动,最后收敛至某点。
加入核函数的Meanshift如下:
其中:
G(x)为核函数简化所得;
w(xi)是给x加入的权重系数;
Mh(x)为变量x的Meanshift向量,当处理对象是概率密度函数f(x)时,它代表了f(x)的梯度的均值方向,而概率密度梯度代表了概率密度增加最快的方向,从综合后的平均看,采样点xi更多的位于f(x)梯度的方向,所以均值向量Mh(x)的方向是目标范围f(x)梯度的均值方向,代表了x最密集的方向。
颜色匹配实现流程如下:
1、模板图像和目标图像进行色度空间转换,将RGB(三基色)颜色空间转换为HSV(色饱和度)颜色空间,去除饱和度较低的像素点后,根据H特征获取直方图并计算其概率密度分布图;
2、采用Meanshift算法找寻基于模版直方图的颜色信息量最大的中心点;
3、进行颜色匹配:将以步骤2获取的中心点为中心的搜索窗口分为左上、左下、右上、右下四个子窗口,并分别进行概率密度分布图的颜色总值模糊对比,当目标图像概率密度分布图的颜色总值占模版图像概率密度分布图的颜色总值的75%~120%,则颜色匹配达到设定条件。
二、形状匹配流程
形状匹配方法,采用快速距离变换和金字塔分解加速Hausdorff距离匹配。
首先介绍一下Hausdorff距离,它是描述两组点集之间相似程度的一种量度,它是两点集之间距离的一种定义形式。实际中,在模板图像和目标图像中进行特征点提取可以获取两个点集,利用Hausdorff距离来测量目标图像点集与模板图像点集某一区域接近或差异程度的最大距离与最小距离,从而确定目标在参考图像中的位置。
假设有两组集合A、B,则这两个点集合之间的Hausdorff距离定义为:
H(A,B)=max(h(A,B),h(B,A)) (2)
其中:
传统Hausdorff易受突发噪声的影响,而且运算量大,本文采用改进后的距离算法,在降低运算量的同时大大增强算法鲁棒性,主要体现为距离变换和金字塔分解。
距离变换就是将目标点集图像变换为目标点集距离图像,它的各个像素点代表的是该点与目标点集之间的最短距离。如果对模版图像和目标图像进行点与点的距离匹配运算量会非常大:模版图像在目标图像中各个点都要进行一次匹配,即width*height次,而且每个模版都要进行这样的一轮匹配,即一个目标图像的总匹配次数为(Width*height*总模板数)次,这样的运算量限制了没有距离变换的Hausdorff的使用,所以距离变换是Hausdorff的基础。
金字塔分解就是将目标图像变换为多分辨率等级的点集信息,多分辨率包含了图像更多的特征信息,而且基于金字塔顶层的快速运算也是对算法性能的大大提升。
形状匹配的实现流程如下:
1、将模版图像和目标图像转换为灰度图;
2、对模版图像和目标图像进行膨胀腐蚀形态学滤波,去除独立噪声并增加图像连续性;
3、对模版图像和目标图像采用双向抽取的方法构造金字塔图像;
4、对模版图像和目标图像采用Sobel边缘检测算子对金字塔图像进行边缘检测,得到主轮廓金字塔图像;
5、对模版图像和目标图像的主轮廓金字塔图像进行快速Hausdorff距离变换,得到能够反映各像素点与边缘点集之间最近距离的距离映射图像;
6、用目标图像的距离映射图像与模板图像的距离映射图像进行匹配;
7、如果目标图像的距离映射图像与模板图像的距离映射图像Hausdorff距离小于阈值,则轮廓匹配达到设定条件。
实施例
本例基于颜色和形状匹配的3D模式识别方法详细流程如下:
1、抓取一帧视频图像并缩放。
为了避免视频开头的黑屏过程,本例选择当视频播放了2秒钟时进行抓取操作。
然后将目标图像缩小到256X240,经过测试,时钟频率700MHz的ARM9处理器,对这样大小的图像处理速度约为200ms,用户不会感觉到停顿。
2、以左右模式方式进行匹配。
2.1、将抓取的图像按左右模式分为两部分,分别为左眼图像和右眼图像。
2.2、去除上下黑边;
如果目标图像的第一行和最后一行数据亮度太低(低于20),即表示该视频有上下黑边,目前的视频界面,黑边所占比例为25%,将目标图像的上下有效范围缩小到75%。
2.3、根据重显率还原整幅图像。
假设重显率为96%,流程如下:
2.3.1、扩充图像为原始大小。
即左眼图像和右眼图像各增加(宽度×2/96),由于是左右模式所以上下就不用扩充了。
2.3.2、移动图像中心点。
将左眼图像和右眼图像中心点分别移动到扩充图像后的图像中心点。
2.3.3、图像有效范围修正。
左眼图像的左边扩充了(宽度×2/96)的黑边,所以在右眼图像中的对应部分需要做描黑处理,即将右眼图像左边对应宽度的数据描黑;反之亦然。
然后取出左右眼图像各自的有效范围,即去除描黑部分后只剩下有效数据的矩形范围。
2.4、提取目标图像的颜色特征和轮廓特征,与模板图像进行匹配。
以左眼图像为模板图像,用右眼图像与其进行匹配。
由于左右眼图像存在景深、色差等干扰,需要注意如下几点:
a1、允许HSV色差3%,某像素点在匹配时,对其左右1.5%范围内都认为匹配成功。
a2、左右眼图像如有任意一边的H分量总和(即将所有像素点的H分量相加)小于1000,确定为颜色不匹配。
a3、如果目标图像概率密度分布图的颜色总值占模版图像概率密度分布图的颜色总值的75%~120%,则颜色匹配达到设定条件,否则为不匹配。
轮廓匹配时,以轮廓点少的图像A为模板图像,用轮廓点较多的图像B与其进行匹配。
b1、左右图像如有任意一边的轮廓点数少于500个,则确定为轮廓不匹配。
b2、以图像A做Hausdorff距离变换,并需要确定严格匹配标识符strict_flag,此标识主要是用于判断图像轮廓点的分布均匀情况,如果分布过于均匀,则该图像很可能是人群等杂乱密集分布的图像,此时做3D检测,对其对比结果的要求就更加严格。
strict_flag主要由3个参数值权衡得出,分别是:Hausdorff距离小于10的点的总和num1,以及小于15的点的总和num2和小于20的点的总和num3。
num1<350&&num2<1000&&num2<3500时,strict_flag=5;
350<num1<1000&&num2<3000时,strict_flag=4;
……
strict_flag一共有5个等级,等级越高其对结果的精确度要求越高。
b3、根据轮廓匹配shapescore、strict_flag和轮廓点数edgenum共同得出匹配结果。
如果strict_flag=0,精确度要求最低,其结果由如下得出:
if(edgenum<1000&& shapescore<350)return 1;匹配成功。
Else if(edgenum<1500&& shapescore<330)return 1;匹配成功。
……
如果strict_flag=5,精确度要求最高,其结果由如下得出:
if(edgenum<10000&&shapescore<100)return 1;匹配成功。
if(edgenum<16000&&shapescore<80)return 1;匹配成功。
由于篇幅原因,其它情况就不再一一列举。
c、得出轮廓对比结果。
如果颜色和轮廓都达到设定条件,则匹配成功,否则左右模式匹配失败。
3、以上下模式进行匹配。
重复上述步骤得出匹配结果。
4、根据识别的3D模式自动切换视频格式。电视机等视频设备,可以根据识别的3D模式,自动切换到对应模式,消除了繁琐的切换操作。
匹配结果分为3类,需要做不同的处理:
a、两种模式都匹配成功。由于有strict_flag,此状况基本不会发生,如果发生了,则退出3D模式。
b、其中一种3D模式匹配成功,自动切换到对应的3D模式。
c、未匹配成功。
此种情况需要特别说明一下,景深干扰分为两类:
第一类是图像上的某个物体景深较大,带来的局部景深干扰;
第二类是整个图像的景深都较大,带来的全屏景深干扰。
以上流程只能有效的处理第一类景深干扰,对于第二类全屏景深干扰,很可能会识别失败,所以未识别成功时,还需要对全屏景深干扰进行处理,方法如下:
全屏景深就是左右眼图像之间的全屏错位度,经测试在2.5%~3.5%之间,可以采取折中的3%对图像进行修正,即将左眼图像中心点右移3%,并用步骤2.3.3类似的方法进行有效范围修正,然后返回到步骤2从新进行匹配,如果还是识别失败,则将左眼图像中心点左移3%,再修正范围并进行匹配。
到这里,如果还是识别失败,则表示抓取的视频图像不是3D模式,退出程序。
结果分析
本程序的测试结果如下。
1、测试平台:PM33I机芯。
2、测试用图片:
目标源(模板图像)——32部3D视频和电影,10部2D视频;
目标(模板图像)——通过3D视频抓取的1000张各格式3D图像和通过2D视频抓取的1000张非3D图像;
3、3D图像识别结果:
上下模式正确率——97.7%;
左右模式正确率——98%;
截取到黑屏或暗屏图像——0.5%;
将左右模式识别为上下模式——0%;
将上下模式识别为左右模式——0%;
4、2D图像识别结果:
2D格式 正确率——99.5%;
将非上下模式识别为上下模式——0.2%;
将非左右模式识别为左右模式——0.3%;
5、识别率评估:受到2D图像的对称性干扰、景深干扰、3D摄像机左右摄像头色差干扰等因素的影响,未识别、误识别的情况不可避免,以上的识别结果已经达到应用标准,满足使用需求,针对误识别的情况,用户只需按3D键即可退出3D模式或者重新识别。
6、运行时间:平均识别时间为200ms,整个抓取、识别、切换过程大概需要1.5秒;对用户来说,这个时间是可以接受的,而且用户是感觉不到任何的画面停顿,因为只有抓取过程会让画面停止,而此过程只需要20ms。
本发明具有停顿速度快(20ms)、运行速度快(300ms)、准确度高(97%)、友好交互等特点。