基于OTSU的细胞神经网络视频对象分割算法
2015-10-15葛晓叶乔栋
葛晓叶,乔栋
(山西大同大学煤炭工程学院,山西大同037003)
基于OTSU的细胞神经网络视频对象分割算法
葛晓叶,乔栋
(山西大同大学煤炭工程学院,山西大同037003)
结合CNN的特点,提出了一种基于OTSU算法的细胞神经网络视频对象分割算法,通过仿真实验证明了此算法的可行性。本算法是对差分图像合并算法的一种改进,原理简单,易实现,处理速度快且精度高。
细胞神经网络;视频对象分割;OTSU算法;阈值
引言
随着多媒体技术的迅猛发展,视频对象分割技术广泛应用于交通流检测、电视会议、视频检索等领域,具有重要的研究意义和应用价值。在视频对象分割中要进行大量计算,因此必须满足视频对象分割的实时性,才能保证其实用价值。
细胞神经网络是大型非线性模拟电路,其芯片整体运算的速度已达兆兆级,具有实时信号处理能力[1]。将细胞神经网络应用于视频对象分割中,可以实现分割精度高、速度快。
1 OTSU算法与图像分割
OTSU即最大类间方差法,根据图像的灰度特性,选取分割阈值,将图像分为两部分,一部分为目标对象(即前景),一部分为背景。对图像Ⅰ(x,y),设T为目标与背景的分割阈值,T从灰度值的最小值依次取到最大值,当使目标和背景的方差最大时,T就是所需阈值,即最佳阈值。其中,方差是度量图像灰度分布均匀性的,其值越大,构成目标和背景的差别就越大,若目标和背景有部分错分,会导致两部分差别变小,因此,使类间方差最大可使错分概率最小化[2]。
2 细胞神经网络与图像处理
细胞神经网络是局部联接的非线性模拟电路,其芯片的整体运算速度可达兆兆级,且神经元的状态和输出的关系是分段线性的,可高速并行处理数据。一个M×N规模的细胞神经网络是指个数为M×N的细胞排列成M行N列,其中细胞是基本电路单元,每个细胞只连接周围半径范围内的神经元。一个简单的二维细胞神经网络结构如图1所示,其中C(i,j)表示第i行、第j列的细胞,如图1所示:
图1 CNN结构
近些年来,CNN的研究取得了较多成果,在很多领域得到了广泛的应用,尤其在图像处理领域的实际应用最广。在细胞神经网络模板库中有许多实现不同图像处理功能的模板,用细胞神经网络处理器可以用来实现CNN通用编程,并且其基本操作组合起来也可以实现复杂功算法的设计,用来实现图像合成、运动预测等复杂的操作。
象素作为数字图像最基本的单位,在细胞神经网络中,每一个象素点对应一个CNN细胞,每一个细胞即为一个复杂的动力学系统。细胞神经网络的功能由CNN模板决定,将细胞神经网络应用于处理图像中就是对模板的设计,更改模板的参数用来实现各种处理图像的方法。具体操作:第一步,根据问题选择合适的CNN模型,第二步,根据要求设计CNN算法,并且设计实现具体功能的CNN模板,第三步,进行实验来调整模板参数,以求达到最佳实验效果。
3 基于OTSU的细胞神经网络视频对象分割算法
本文中介绍的算法是基于OTSU的细胞神经网络视频对象分割算法,该算法是基于检测变化区域的方法,适用于运动目标背景静止的视频序列。本算法是对文献[3]中的差分图像合并算法的一种改进,利用阈值模板替代边缘检测模板,在达到较好目标分割效果的基础上,迭代次数减少,运算时间缩短。在算法中,实验所用的前一帧、当前帧和后一帧分别取视频序列中第n-i帧,第n帧和第n+i帧三幅图像,其中当前帧中的运动目标即是所要进行分割的对象。如果视频中运动目标的变化平缓,可以将前后相隔的帧数i做适当的增加。
算法具体步骤如下:
1)利用CNN差分模板,分别对原始灰度图像的第n-i帧和第n帧、第n帧和第n+i帧分别进行帧间差分操作,输出的两幅灰度图像即可得到帧间图像的运动区域;
2)根据OTSU算法利用公式(1),计算灰度阈值。利用CNN阈值模板,根据值分别将第一步得到的两幅灰度图像的前景象素点和后景象素点区分开,并对其进行二值化操作,输出结果为二值图像;
3)利用CNN负片模板、膨胀模板、空洞填充模板,对第二步所得的二值图像进行负片运算、膨胀操作、空洞填充操作,使运动区域更加完整。
4)利用CNN逻辑与操作模板,对第三步得到的两帧图像进行逻辑与运算,获得运动目标所在区域;
5)利用CNN目标分割模板,将运动目标从当前帧中分割出来。
以上用到的细胞神经网络模板在图像处理功能上是独立的,并不依赖于本算法,也可应用于其它细胞神经网络的相关算法。
4 实验结果与分析
利用Matlab软件和CNN Visual Mouse Platform(细胞神经网络仿真系统)对本算法进行了仿真实验。在实验中,将视频序列中第130帧、第135帧和第140帧作为前一帧、当前帧和后一帧来进行分割实验,三帧视频序列图像的背景是静止的,其灰度图像如图2所示。
图2 依次为第130、135、140帧的灰度图像
1)帧间差分运算
利用CNN差分模板分别将第130帧和第135帧、第135帧和第140帧图像进行差分运算,得到运动区域。结果如图3。
图3 两图依次为第130和135帧、第135和140帧的差分效果图
2)阈值模板运算
利用CNN阈值模板将差分后的图像的前景象素点和后景象素点区分开,并将图像进行二值化。结果如图4。
图4 阈值模板操作效果图
3)负片操作、空洞填充操作和膨胀操作
将上步得到的二值图像进行负片操作,可得运动区域的轮廓,结果如图5。但负片操作后得到的运动区域边缘有些不是闭和的,为了使空洞填充得到良好的效果,要首先对图5进行两次膨胀操作,然后再进行空洞填充,最后结果如图6。
图5 负片模板操作效果图
图6 图像处理和空洞填充后效果图
4)逻辑与操作
将图6中的两幅图进行逻辑与操作,即得到的就是目标区域。结果如图7:
图7 逻辑与操作后效果图
5)目标分割运算
利用CNN目标分割模板进行运动对象分割操作,得到运动目标。结果如图8。
图8 第135帧中的运动目标
虽然进行的仿真实验,但是本算法执行所需的时间也可以根据ACE16K(细胞神经网络芯片)的特征参数[3]进行估算。在ACE16K芯片上,完成一次灰度图像处理所需时间为1.2 μs,完成一次二值图像处理所需时间为0.144 μs,由此可得本文算法运算时间如表1所示。可算得,本算法在ACE16K上运行所需的总运算时间为11.616 μs,而在ACE16K上,文献[3]中的差分图像合并算法运行所需的总运算时间为26.016 μs。
由实验结果可见,基于OTSU的细胞神经网络视频对象分割算法可以将运动对象从背景静止的视频序列图像中分割出来,验证了本算法的可行性,而且具有一定的分割精度,并且缩短了运算时间,达到了预期效果。
表1 本文算法运算时间
5 结论
细胞神经网络的结构接近真正的生物视觉神经系统,且具有分布式处理和并行计算的特点,因此细胞神经网络在图像处理方面的应用具有广阔的前景。本文的算法是将CNN应用于静态背景视频对象分割的算法中,用OTSU算法来选取合适的阈值,作为划分象素的依据,从而完成运动目标的分割。在保证分割效果的前提下,减少了模板使用次数,提高了效率。
[1]王怀颖.细胞神经网络在图像处理中的应用技术研究[D].南京:南京航空航天大学,2007:50-64.
[2]阳树洪.灰度图像阈值分割的自适应和快速算法研究[D].重庆:重庆大学,2014:35-41.
[3]孟蜀锴.细胞神经网络在视频运动对象分割中的应用[D].上海:上海大学,2004:62-67.
(编辑:王璐)
Cellular Neural Network Video Object Segmentation Based on OTSU
Ge Xiaoye,Qiao Dong
(Coal Mine and Engineering College of Shanxi Datong University,Datong Shanxi 037003)
Combining with the features of CNN,this paper puts forward a kind of video object segmentation algorithm based on OTSU algorithm,and through simulation experiments to prove its feasibility.The algorithm is the improvement of subtraction merged image algorithm.The algorithm is simple and easy to implement,and it has high accuracy and fast speed.
cellular neural network;video object segmentation;OTSU algorithm;threshold
Q2
A
2095-0748(2015)21-0083-03
10.16525/j.cnki.14-1362/n.2015.21.36
2015-10-12
葛晓叶(1983—),女,山西大同人,研究生,毕业于中北大学计算机应用专业,助教,现就职于山西大同大学。