基于FPGA的手势语音转换器
其中,所有标志为1的点构成前景区域,为0的点构成背景区域,k为自行设置的常数。K值的选取对分割效果具有直接的影响,当k过小时,提取了手部区域的同时还提取了部分的背景区域;当k过大时,会使提取的手部区域不完整。通过大量的实验,选取k=4时可以取得较好的分割结果。
(3)背景模型更新 随着时间的推移,背景中不可避免的会发生一些变化。如果一直使用最初的背景模型,长时间后就会发生较大的误差。为了解决这个问题,采用了背景模型更新的方法。设平均值和方差分别为时刻t点i的颜色期望和方差, 为时刻t采集到的图像中点t的颜色值,则t+1时刻,有:
其中α为学习率,可根据实际情况进行调解。这样,背景模型在每一时刻不断的得到更新,以便和实际情况尽可能保持一致。
实现如下:
n张图片中一副背景图片:
图1-1 背景图片
前景图片混合背景图片:
图1-2 前景图片混合背景图片
背景图像减法处理之后的结果
图1-3 背景减法处理后得到的图像
观察处理结果可以得到,手部的图片大致地保存下来,背景图片绝大部分被剪掉了。
背景减法的缺点是,如果背景和前景颜色接近,前景图片的数据会丢失,如上图,手部图像里面有黑色条纹,这是背景图片部分像素值和前景(及手势图像像素)接近,而被减掉了。另外,经背景减法处理后的图像,边缘部分会出现锯齿,于是要继续进行形态学滤波、空洞填充和中值滤波处理的到最终的分割结果。
背景图像减法需要和图像肤色提取一起使用,相辅相成才能得到比较好的处理结果。
4.2 图像的肤色提取
图像处理中区别人体与外界的一个很大的特征就是肤色,通过这一特征可以将图像分割成众多分立的小块。经过这一个操作后图像面积大大减少,提高了处理效率的同时又减少了大量外界环境的干扰,是图像处理中的很重要的一环。
人体的皮肤肤色受很多种因素的干扰,这手部图像的提取带来了很多的困难。例如不同人种的肤色就有不同差异,不同的人也有细微的差异,就算是同一人不同身体不同部位肤色也有些差异。肤色同样受到外界环境的影响,这其中最主要的就是光照。经过分析发现,光照因素分为光照强度,是否直射和光照颜色这几个部分,其中后两者是可以人为控制的(手的正面比较光滑,在光直接照射时出现反射,导致摄像头捕获的数据是纯白色,而大多数干扰也是白色),而光照强度择优光照距离的远近,是否遮挡以及周围环境反射情况决定。如果在室内,按目前的光照环境(光照环境分为自然光环境和人工光环境,目前照明主要采用日光灯,可以忽略光照颜色的影响,照明比较充分时,距离也可以忽略),可以只考虑遮挡带来的肤色变化,而遮挡实质也就是亮度的变化,如果有某个颜色状态不受亮度影响或与亮度是简单的线性关系(也就是零阶对应关系或一阶对应关系,高于一阶则对干扰过于敏感,规律性不强)。
2.1 颜色空间的选择
肤色提取常用的颜色空间除RGB外还有YUV、HSV等,在光照变化时,肤色在RGB颜色空间中的值都有较大的改变,有一定的线性度,但很容易受干扰(肤色产生较小的变化时,其值变化过于剧烈),不能直接用来做肤色提取,如果在YUV空间中,则Y值剧烈变化,线性度较差,而U、V则出现非线性变化,也不便于作为肤色提取的颜色空间,而通过对HSV空间中的分析也不太理想,主要是在这些之中S、V虽然波动相对较小,但规律性不强,H几乎捕捉不到其规律性,且其转化过程也过于繁琐,相比之下RGB略为占优。
图2-4 RGB随亮度的增加的变化示意图
2.2 肤色的特征值
在观察HSV颜色空间中的H值转化时发现R、G、B相互之间差值的波动范围较小,而且观察R-G与G-B比H值更加有效,因为它们在亮度改变时只有微小的波动,例如在对某一个人进行测试时R-G仅在15-35之间波动,G-B则在18-33波动,且波动并不是由光照直接导致,其证据就是在光照比较强烈的情况下和光照很弱的情况下,其波动的范围并没有因此而改变,监狱对这个特性的研究,我们提出了一种不同于以往的肤色提取的方法,下面的公式就是将肤色提取并转化为灰度图像的一个经验方程。
上式中:C表示表征肤色的量(肤色标量),数值越小越接近肤色;R、G、B为RGB颜色空间的三种颜色的值;i,j表示横向和纵向的坐标值。下面的修正公式各参数的含义与此处一样。
2.3 干扰抑制
由于肤色亮度范围也并不是越大越好,在过亮和过暗的情况下会引入很多不必要的干扰,需要依据亮度的范围对这些干扰进行抑制。为了简化计算,在已有的基础上可以仅用G来代表亮度(C较大时修正值的比重很小,可以忽略,C较小时R,G,B相互间的差在一个很小的范围内,G与
手势语音转换器 面积筛选算法 背景图像减法 FPGA 空间域法 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)