安 珂 付 斌
(哈尔滨商业大学 轻工学院,黑龙江 哈尔滨 150028)
数据显示,2021 年我国帕金森病患病人数超300 万,平均每年就会增涨约10 万人。人体中脑黑质多巴胺能神经元的死亡导致大脑纹状体多巴胺含量显著降低,从而产生帕金森病[1]。大约70%的帕金森患者首发症状是肢体产生震颤,震颤通常的表现形式是手部“搓丸样”,震颤频率在4-6Hz 左右[2,3]。帕金森病的发展是无法阻止的,但患者的病况需要进行及时并且准确的评估。通过双目视觉系统,可以实现对患者手部震颤的检测与跟踪,对手部做标记,系统可实现对标记点的跟踪,从而确定震颤运动中标记点的运动轨迹。对标记点的震颤信号进行数据处理,分析量化手部震颤频率。这种可视化、无创的评估方法能够更方便快速的分析患者震颤程度,也能辅助医生诊断识别帕金森病震颤。本文主要研究一种改进的手部运动检测与跟踪方法,为双目视觉的手部震颤评估技术的研究工作做出方法分析。
相机拍摄的视频图像是连续的,如果场景中没有运动目标,那么连续帧变化较小,若是其中有运动目标,则连续帧间的转变较为显著。帧间差分法依靠对邻近两帧的图像进行差分处理,进而获得差分图像[4]。场景中背景不变,目标在相邻两帧产生运动,可通过差分图像获得目标位置。通过相机获得第n 帧和第n+1 帧相邻图像,则帧间差分法可用公式表示为:
式中fn表示视频序列第n 帧对应的图像;fn+1表示第n+1帧对应的图像;T 表示阈值化处理的阈值;P 表示第n 帧和第n+1 帧的差分图像。
通常情况下,邻近两帧的差分并不能准确获得运动目标,前一帧的运动目标会在后续帧中显露,出现误判情况,也会造成运动目标区域涉及到相关的背景位置,所以其会大于实际运动区域。在实践运用过程中,为配合之后的运动分析,通常情况下要求获取最为精准的运动目标,运用三帧取代两帧差分,进而满足运动目标的检测需求。
将两帧差分数据Pn,n-1(x,y,n)与Pn,n+1(x,y,n)做“与”运算,进而得到目前帧f(x,y,n)之中目标边缘P3(x,y,n),也就是:
式中,×为与运算,得到的边缘P3(x,y,n),三帧差分法能够高效地处理遮挡与背景重现,可获得精准的目标边缘,同时还有助于抑制光照、阴影与噪声等构成的综合影响。
三帧差分法算法的主要流程如图1 所示。
图1 三帧差分算法检测运动目标流程图
Canny 算子是一种多级边缘检测算法,由John F. Canny于1986 年开发出来,至今依然是诸多边缘检测算法中用的较多、最经典的算法之一。该算法的检测效果比Sobel、Prewitt 等算子更好。Sobel、Prewitt 等算子在运算时往往忽略边缘的梯度方向,结果只是简单处理二值图中的单阈值[5]。与此不同,Canny 算法做出改进,提出了基于边缘梯度方向的非极大值抑制,双阈值的滞后阈值处理。Canny 算法的处理效果如图2所示。
图2 Canny 算法效果图
P3(x,y,n)为经过中值滤波处理之后,通过三帧差分获得相应的运动位置掩模,EⅠ(x,y,n)为基于Canny 算法计算获取相应的边缘掩模,那么最后的边缘图Mn是:
结合公式可发现,对于时空域进行整合,能够精准测定获得运动目标边缘,更为高效地应对阴影问题。但获得的边缘是非连续的,这就要对边缘进行连接。
运用自适应形态学做连接处理,对于各个端点,运用自适应椭圆结构开展相应的计算工作,结构元素的具体数据与大小,可结合像素的局部特征,类似于斜率以及曲率调控,进而获得膨胀之后闭合的边缘B(x,y,n),通过相关膨胀处理,原图像边缘会变宽,所以要求对于处理之后的B(x,y,n)图像综合EⅠ(x,y,n)开展定位,获得最后闭合边缘O(x,y,n),
对于闭合边界O(x,y,n)开展相应的区域填充,进而获得相应的二值掩模图像,将其和目前帧f(x,y,n)开展结合,借助该方式可满足运动目标分割需求。
根据上述流程,本小节应用融合Canny 边缘检测的三帧差分法对CMOS 图像传感器双目立体相机拍摄的手部视频图像帧进行运动目标检测实验,对图像依次利用传统三帧差分法和本课题算法来处理,编程通过MATLAB 来完成,检测结果如图3 所示。对比图3 分析可以发现,传统三帧差分法对于目标的检测图像空洞,本文检测算法更清晰、完整的检测出手部目标,检测结果较为精确,达到本文要求,为后续目标跟踪算法打下基础。
图3 手部运动检测效果图
Meanmshift 算法跟踪效率很高,应用也非常广泛,目标模型为目标对应的颜色直方图,通过目标颜色出现的概率进行跟踪,当目标出现形变、遮挡等问题时,该算法仍然能进行较为精准的跟踪。如果目标尺寸改变,该算法可以对检索窗口尺寸自动调整,使目标形变导致丢失目标的问题更好的预防和规避[6]。Meanmshift 算法实现目标跟踪中,首先建立颜色特征直方图模型,这一步骤是依据跟踪目标在HSV 颜色空间的H分量,并依据该模型得到颜色概率分布图。其次以颜色概率分布图为依据,对位置和目标尺寸确定的检索窗口进行初始化操作,得到后面一帧图像Meanshift 运算初始检索窗口,经过自适应调整,连续迭代,从而将视频帧中,跟踪目标的中心位置连续定位出来。定位过程如下:
首先,以目标颜色概率分布图为依据,对搜索窗口零阶矩M00 进行计算:
其次,计算x 和y 的一阶矩:
最后,计算搜索窗的质心位置:
完成质心位置计算以后,将其与搜索窗口中心位置进行重合,经过调节搜索窗口大小,将窗口的移动距离与开始设定的固定阈值作比较。如果窗口移动距离大于阈值,则重新定位,再通过迭代运算重新计算窗口尺寸及位置,直到窗口移动距离值小于阈值。通过计算机计算,可绘制出矩形形状锁定当前目标长l 和宽w,带入下一帧的搜索窗口的长宽值就是l 和w。
通常情况下,MeanShift 算法在获取目标颜色直方图时,背景颜色信息也会进入,影响跟踪准确性。为了能够更准确地跟踪,改进的MeanShift 算法表示目标特征时,采用交叉颜色直方图,它能够减弱弱背景颜色对目标区域的干扰,实现更准确跟踪[7]。
将改进的Meanshift 算法在VS2017 和opencv3.1.0 的软件上对多个视频进行实验测试。在对运动中的手部进行跟踪时,框选目标区域,得到改进的MeanShift 算法计算的目标颜色直方图,如图4 所示,图5 为该算法跟踪过程中的不连续的4 帧图像的结果。
图4 目标颜色直方图
图5 手部动作跟踪效果
同样,在对运动中手部标记点进行跟踪时,图6 为该算法计算得到的目标颜色直方图,图7 为该算法在对手部标记点跟踪过程中的不连续的4 帧图像结果。
图6 目标色调直方图
图7 手部标记点的跟踪
改进后的Meanshift 算法跟踪是否更准确需要检验,将若干视频作为对象,通过传统Meanshift 跟踪算法和本文改进后的Meanshift 算法实验,得到如表1 所示的跟踪结果。
表1 不同算法的目标跟踪效果比较
从表1 跟踪结果可以看出,改进后的Meanshift 算法跟踪准确率均在90%以上,传统Meanshift 算法在跟踪过程中易受其他因素的干扰,准确率不稳定,会存在重要图像帧丢失的情况。通过对改进的Meanshift 算法跟踪的实验验证,可以得出该方法跟踪效果准确率高,且算法速度较快完全可以满足实时性的要求。
本文主要分析了融合Canny 边缘检测的三帧差分法,在对三帧差分图像进行中值滤波处理,滤除孤立噪声点,与Canny 边缘检测算法得到的边缘掩模进行与运算,将结果进行边缘处理、区域填充,得到运动目标的二值掩模图像,将其与当前帧相结合,实现对手部运动的检测。之后研究改进后的Meanshift 算法,用交叉颜色直方图代替传统的颜色直方图,通过实验发现,本文研究的改进后的检测方法,对手部运动能够进行有效的检测,检测结果清晰完整;在跟踪算法中,本文研究的改进后的Meanshift 算法在背景干扰较大的情况下,跟踪精度依然较高,并且保证实时性,提高跟踪的鲁棒性。