李智倩,张茜倩,崔 娅,张 晗,李元媛,何 凌
(1.四川大学 生物医学工程学院,四川 成都 610065; 2.四川大学 华西心理卫生中心,四川 成都 610041)
注意缺陷与多动障碍(attention deficit and hyperactivity disorder,ADHD),是一种常见的关于神经发育问题的行为障碍,会导致健忘、冲动、不安等病理行为;有时还伴随过度的躯体运动[1,2]。ADHD主要发生在儿童期,影响了3%~7%的学龄前儿童[3-9]。
活动过动是ADHD的主要症状[10],临床上主要通过量表来诊断ADHD[11,12]:包含了监护人和教师的问卷反馈,该方法简单,能快速收集数据,但存在人为因素的干扰。并且量表中只包含了ADHD患者可能的运动频率和定性的运动描述,缺乏客观定量的生物学指标。
针对ADHD儿童活动过动的问题,已经展开了一些研究。Narus等[13,14]用活动感应器检测ADHD儿童的运动,但是由于活动感应器佩戴在受试者手腕上,会妨碍ADHD患者的自然运动。此外,活动感应器只能监测整个身体的活动,不能定位身体部位的运动。
近年来部分学者基于视频图像对ADHD患者的行为模式、身体运动进行了研究。Bautista等[15]提出了一种基于Kinect深度图像检测ADHD行为模式的姿势识别系统,利用该系统对ADHD儿童深度图像数据测试,测试结果能够支持临床医生进行ADHD儿童模式诊断。Jaiswal等[16]从ADHD患者和健康对照人群的深度图像数据和RGB数据中提取面部表情、头部运动、听觉姿态等特征,分析这些特征对诊断ADHD疾病的潜在作用。Schwichtenberg等[17]利用视频图像处理分析ADHD儿童睡眠时的身体运动,利用视频图像中像素的变化来表征ADHD儿童的运动变化,统计了ADHD儿童睡眠期间的躯体运动时间及休息时间。以上主要对ADHD儿童的行为模式、运动姿势分类进行研究,缺少对ADHD儿童运动的量化。临床上表明[18],运动量化有助于对ADHD儿童的活动过动症状研究,对临床医生诊断ADHD有一定的参考价值。
本文基于Kinect2.0[19]采集的ADHD患者深度视频,提出了一种自动量化ADHD儿童运动的算法。首先利用DSST算法跟踪ADHD儿童目标区域,然后提出基于NLGD(noise location distribution information and gray distribution information)的去噪算法去除目标区域的噪声,并利用等值线算法分割出ADHD儿童的身体区域。最后提出运动时长特征,统计ADHD儿童身体随时间的运动变化,辅助临床医师对ADHD活动过动症状进行诊断。
为了量化ADHD儿童的运动,辅助临床医师对ADHD进行诊断,本文提出了ADHD儿童运动的自动量化算法。该算法主要包括ADHD儿童目标区域的实时跟踪、ADHD儿童目标区域去噪以及分割、ADHD儿童运动量化3部分。首先基于DSST算法对ADHD儿童目标区域进行位置跟踪,然后基于目标区域的噪声特点,提出基于NLGD的去噪算法处理目标区域的噪声。并结合等值线算法提取出ADHD儿童的身体区域。最后根据ADHD儿童活动过动症状,提出了基于CoM(center-of-mass)的运动时长特征,用于量化ADHD儿童的运动。该ADHD儿童运动的自动量化算法的总流程如图1所示。
本文基于DSST[20](discriminative scale space tracker)目标跟踪算法,对深度视频中的ADHD儿童目标区域自动定位。DSST算法首先引入多特征融合机制,将HOG(histogram of oriented gradient)、CN(color names)、灰度特征进行融合,对初始目标进行高斯建模,然后利用目标的特征和高斯函数合成相关位置滤波器进行跟踪,得到目标的位置。然后在下一帧将测试的图像提取融合特征作为输入,经过尺度滤波器处理,得到响应值最大的候选目标,在目标位置的基础上通过调整跟踪框的比例来找到响应值最大的尺度,从而在小范围内实现尺度自适应。
本文提出了基于NLGD的去噪算法,去除ADHD儿童目标区域的干扰噪声,并且利用等值线算法,提取ADHD儿童身体边缘信息,分割得到ADHD儿童的深度身体区域。具体的处理过程如下:
1.2.1 ADHD儿童深度图像中噪声分布分析及计算
由于采集装置,光源等影响,ADHD儿童周围存在不同程度的噪声干扰,主要是边缘跳动噪声和“空洞”噪声[21]。
图2表示的是ADHD儿童目标区域的噪声分布,图2(a)表示ADHD儿童人体边缘的噪声,如果ADHD儿童离传感器太远或近红外在ADHD儿童表面发生多次反射,ADHD儿童人体边缘会产生噪声,它从背景到前景,频繁地来回跳动。图2(b)表示ADHD儿童双腿下半部位存在明显的波浪状“空洞”区域,是由特殊的反射材料、快速移动、多孔表面和其它随机效应引起的灰度值为零的无效深度信息[2]。人体边缘跳动的噪声和波浪状的“空洞”噪声比实际运动大很多倍[3]。
图2 ADHD儿童目标区域的噪声分布
为了去除以上噪声,本文提出了一种基于图像熵[22]分布的噪声区域估计方法,得到噪声的分布信息。在检测过程中,设置了4×4大小的移动模板,遍历ADHD儿童目标区域,对每个4×4小区域求熵值,计算过程如式(1)所示
(1)
其中,H(x) 表示4×4区域内像素点计算得到的熵。P表示具有特定灰度值的元素在该区域内的出现概率。ai表示每个像素点的灰度值。熵能反映一个区域内的信息量和数据点分布的不确定性,可以用来检测深度图像中的噪声。
图3表示的是ADHD儿童目标区域的噪声分布计算过程,其中图3(c)表示的是对ADHD儿童目标区域分4×4大小计算熵值得到的熵分布图,其中噪声所在的区域熵值更高,在图像中的表现与非噪声区域存在明显的差异。
图3 ADHD儿童目标区域的噪声分布计算过程
1.2.2 本文提出的基于NLGD的去噪算法
由于深度成像过程中的异常反射、照明障碍或遮挡,深度图像会受到噪声的影响。图4为ADHD儿童目标深度区域噪声分布的3D示意图,其噪声的表现为类地理分布特点,本文将噪声灰度发生突变的区域定义为“孤峰”,噪声中间存在“空洞”的区域定义为“盆地”。ADHD儿童主体区域灰度值变化缓慢,相对平坦,表现为“平原”特点。
图4 ADHD儿童目标深度区域噪声分布的3D示意图
基于本文ADHD儿童深度图像中噪声灰度信息及分布特征信息,提出了基于NLGD的去噪算法,该算法提出了基平面的概念,计算了反映“盆地”噪声灰度信息的内点M1和反映“孤立峰”灰度信息的外点M2,使ADHD儿童深度图像中的“孤立峰”和“盆地”背景化。然后为了进一步去除“孤立峰”,根据其分布特点,提出了一种MPD(minimum potential difference)参数,M1、M2和MPD这3个参数反映了噪声区域和待分割的ADHD儿童区域之间的主体差异。最后,基于这3个参数,用k均值聚类法算法对不同的区块进行聚类,将噪声区域背景化,达到ADHD儿童深度图像去噪的目的。算法过程如图5所示。
(1)内点和外点的计算
将“孤峰”和“盆地”去除是提取ADHD儿童人体完整边缘的关键。由于“孤立峰”和“盆地”在灰度分布上存在差异,因此基于灰度建立基平面来区分“孤峰”和“盆地”,设置了4×4大小的移动模板,遍历ADHD儿童目标区域,对每一个4×4大小的区域计算基平面,计算过程如式(2)所示
(2)
其中,Bm是基平面的值,N表示ADHD儿童目标区域中的像素点数,G表示每个像素的灰度值。
然后对4×4区域的像素值进行判断,设灰度值低于Bm的像素点为内点,灰度值高于Bm的像素点为外点。分别计算内点和外点的平均值,如式(3)~式(4)所示
(3)
(4)
其中,Inliers表示内点,outliers表示外点,M1和M2分别表示内点和外点的平均值,N1和N2分别表示内点和外点的个数。图6给出了两个基平面的示例。
如图6所示,4×4区域中的像素点被区分为内点和外点,外点用“×”表示,内点用“·”表示,当内点和外点灰度值存在差异时,基平面能够区分内点和外点,即能区分“盆地”和“孤立峰”。
图6 不同灰度水平的基平面
(2)本文提出的MPD参数
内点和外点是从灰度层面来反映噪声区域的特征,本文为了评估“孤峰”的离散分布,提出了一个新的参数MPD。MPD的计算过程如下:
1)计算外点权重:对于每一个外点,若它周围的像素点是内点,则假设它是一个孤立点。该外点周围的孤立程度可用其周围的8个像素点来评估。基于上述基平面的4×4移动模板,将所有外点标记为逻辑值0,将所有内点标记为逻辑值1。外点的孤立程度由其八邻域计算得到,计算过程如式(5)所示
(5)
其中,W是计算的点权重,ai,m是外点周围的像素,当外点在4×4移动模板的边缘时,ai,m取4×4移动模板内的点。
2)最小位置匹配度的计算:点权重反映了每个外点的孤立程度,但不能反映所有外点的位置分布关系。因此定义最小位置匹配度参数,用于反映所有外点间的位置分布关系,计算过程如式(6)所示
PM=min{(|m-xi|+|n-yi|),i=1,2,…N}
(6)
其中,PM表示最小位置匹配度; (m,n) 表示当前外点的坐标。 (xi,yi) 表示 (m,n) 以外的所有外点坐标,N表示外点的个数。
3)MPD值的计算:MPD参数是一种位置参数,用来评估像素点在高灰度水平上的分布。对于每一个外点,在式(5)和式(6)中定义了它的点权重w(i) 和最小匹配度PM(i)。 基于这两个参数,计算MPD参数,如式(7)所示
(7)
其中,N是外点的个数,MPD参数能够评估外点的孤立度以及分布特点,帮助区分外点,图7为MPD的计算过程的示例。
如图7(a)和图7(b)所示,外点和内点之间形成明显边界,体现了噪声与人体边缘连接的关系,MPD参数包含边缘信息。图7(c)和图7(d)的外点孤立分布,反映了人体区域出现的孤点噪声,MPD参数包含孤点噪声的分布特性。利用MPD参数,可以根据像素点的分布特性估计当前的局部区域是否为噪声区域。
图7 MPD的计算示例
(3)基于K-均值聚类算法的ADHD儿童目标区域去噪处理
本文提出M1、M2、MPD特征参数,描述噪声区域的灰度以及分布特点。将ADHD儿童的噪声区域分成4×4大小的区块,并计算每个4×4区块的MPD、M1和M2特征参数。
参与计算的各区块可分为3种类型:低灰度范围的“盆地”、高灰度突变的“孤峰”和具有相对平坦表面的“平原”,利用k-均值聚类方法[23]对所有区块进行聚类,得到3种聚类结果。ADHD儿童主体的深度信息区域大部分是“平原”。
根据聚类结果,将“盆地”区块和“孤峰”区块替换为平坦背景,保留检测到的“平原”区域。由此去除了ADHD儿童目标区域的干扰噪声,保留了人体边缘信息。
1.2.3 基于等值线的ADHD儿童目标区域分割算法
Kinect2.0传感器通过计算发射和接收近红外光线的时间差得到ADHD儿童的深度信息,如果ADHD儿童离传感器太远或近红外在ADHD儿童表面发生多次反射,ADHD儿童人体边缘会产生噪声,它从背景到前景,频繁地来回跳动,造成ADHD儿童人体的边缘存在许多断点[21],影响ADHD儿童人体的分割。在本研究中,采用等值线算法[24]来提取ADHD儿童人体边缘,在等值线的计算中,采用线性插值来保持人体边缘的连续性和完整性。
图8是ADHD儿童目标区域的提取算法流程图,图8(a)是利用本文提出的去噪算法处理后的ADHD儿童目标区域图,图8(b)是利用等值线算法提取得到的ADHD人体边缘。然后用逻辑值1填充ADHD儿童人体边缘之间的区域,用逻辑值0填充边缘之外的其它区域,得到ADHD儿童人体的二值图像,填充后的结果如图8(c)所示。最后将深度图像图8(a)和填充图像图8(c)相乘,得到去除噪声后的ADHD儿童人体的深度区域,结果如图8(d)所示。
图8 ADHD儿童身体区域的提取算法流程
根据精神障碍诊断和统计手册(DSM-IV)定义[26],ADHD分为3个亚型:注意力不集中、多动、混合注意力不集中和多动。ADHD患者的行为不受控制,做任务的过程中会乱动和扭动,统计ADHD儿童随时间的运动变化有利于临床医师对ADHD儿童的多动程度进行诊断。
本研究严格遵循DSM-IV所描述的症状,提出了基于CoM的运动时长检测算法,对ADHD儿童的运动变化进行统计。该特征统计了ADHD儿童的在完成既定任务时的运动时长,反映ADHD的多动症状。基于CoM的运动时长特征检测算法首先分割肢体,然后根据身体部位的运动情况判断ADHD儿童整体的运动变化。
1.3.1 身体部位分割算法
利用1.2节算法提取得到的ADHD儿童目标区域深度图像,①通过人体比例将头部定位出来,然后将ADHD儿童目标区域深度图像的头部区域像素值设置为零。②计算除头部以外的身体的三维质心(CoM),计算过程如式(8)~式(10)所示
(8)
(9)
(10)
其中,Mx,My,Mz分别为计算的连通域的质心横坐标、纵坐标和Z轴坐标,N为连通域的像素点总和,i,j,m分别为横坐标、纵坐标和Z轴坐标的序列号,L(i,j,m)x为连通域的所有横坐标,L(i,j,m)y为连通域的所有纵坐标,L(i,j,m)z为连通域的所有Z轴坐标。
根据质心坐标 (Mx,My) 的位置,将身体区域划分为4个部分。将Mx行和My列中的像素设置为0,就可以将除头部以外的人体区域分割为4个部分,ADHD儿童的身体最终被分为头部,左右上部,左右下部5个部分。
1.3.2 基于CoM的ADHD儿童运动时长特征提取算法
本文提出基于CoM的运动时长特征算法,用于检测ADHD儿童在完成既定任务时发生运动变化所包含的图像帧数,该特征算法以开始测试的第一帧图像为基准,将后一帧图像与前一帧图像作对比,若任意一个身体部位发生了运动则表示ADHD儿童发生了运动变化。统计所有发生运动变化的图像帧数,用来表示ADHD儿童的运动时长,计算过程如下:
设式(11)表示ADHD儿童身体部位的CoM,利用ADHD儿童的CoM追踪身体部位的运动
Bcomin=(xin,yin,zin)
(11)
其中,i=h,sr,sl,lr,ll分别表示ADHD儿童的头部、左右上部、左右下部等5个身体部位。n表示ADHD儿童的图像帧数,当n=0时,Bcomi0=(xi0,yi0,zi0) 表示ADHD儿童身体部位的基点CoM。
计算ADHD身体部位前后帧图像的CoM距离差值Lin, 如式(12)所示
(12)
理论上如果当前帧图像身体部位的CoM与上一帧身体部位的CoM的距离差值Ln≠0, 则表示身体部位发生了运动变化,设fin表示各身体部位当前帧图像的值,当前帧图像发生运动变化时,令fin=1, 如式(13)所示
fin=1,(Lin≠0)
(13)
若任意身体部位发生运动变化则表示ADHD儿童发生了运动变化。统计所有存在变化的图像帧,即得到特征运动时长T,如式(14)所示
(14)
本实验使用的ADHD儿童视频数据来自四川大学华西心理卫生中心精神科,四川大学华西心理卫生中心精神科是我国四大精神卫生机构之一。华西心理卫生中心精神科专家参照DSM-V标准,选取符合标准的ADHD儿童参与实验数据录制。
在数据收集前,所有参与者及其法定监护人都同意参加研究,法定监护人在知情同意表上签字。数据录制过程中,每个ADHD儿童被要求站着观看一段华西心理卫生中心精神科专家选取的动画片,同时使用kinect2.0设备对ADHD儿童的活动进行录制。
本文实验的研究数据共10人,每个ADHD儿童的视频平均时长为2 min,数据集中的图片总帧数为36 000。
本文提出基于CoM的运动时长特征参数自动量化ADHD儿童的运动。利用基于CoM的运动时长特征算法对实验数据进行测试,得到自动的ADHD儿童运动时长,将自动的运动时长结果与人工标定的金标准进行对比分析。
2.2.1 基于CoM的运动时长检测结果与分析
自动检测的ADHD儿童运动时长用T0~Tn表示,T0表示起始帧,Tn表示结束帧。金标准的ADHD儿童运动时长用T′0~T′n表示,T′0表示起始帧,T′n表示结束帧。图9是T0~Tn和T′0~T′n的示意。在一个ADHD儿童视频帧序列中,会存在没有运动变化的图像帧,ADHD儿童的运动变化是多段式的,则会存在i个T0~Tn和T′0~T′n。
图9 自动检测的运动时长与金标准人工标注的运动时长
自动检测出的ADHD儿童运动时长与金标准存在差异,需要评估本文提出的基于CoM的运动时长自动检测算法的正确率。设Ui表示Ti0~Tin与T′i0~T′in的交集,ADHD儿童每一段运动变化的正确率Aci求解如式(15)所示
(15)
一个视频帧序列的正确率Ac由各段运动变化的正确率求平均,如式(16)所示
(16)
分别将10个ADHD儿童的金标准运动时长和自动检测的运动时长代入式(16)进行正确率的计算,得到的实验结果见表1。
表1 基于CoM的ADHD儿童运动时长检测结果正确率
表1展示了ADHD儿童运动时长的正确率,儿童1~儿童10的正确率在88.00%以上,实验结果表明,本文提出的基于CoM的运动时长参数能够在一定程度上反映ADHD儿童实际的运动时长,统计了ADHD儿童在做任务时的运动特征表现,能够辅助临床医师对ADHD儿童的活动过动症状进行检测。
2.2.2 基于CoM的ADHD儿童运动变化分析
本文提出基于CoM的运动时长特征,对每一帧图像中的身体部位运动进行判断,若任意一个身体部位发生运动变化则表示ADHD儿童发生了运动变化。
图10是10个ADHD儿童的随时间发生的运动变化示意,横坐标表示的是时间,纵坐标表示的是ADHD儿童的运动变化。“0”表示ADHD儿童当前帧图像未发生运动变化,“1”表示ADHD儿童当前帧图像发生了运动变化。
图10 ADHD儿童随时间的运动变化
当ADHD儿童的下一帧图像与当前帧的图像对比发生运动变化差异,则会出现曲线波动。10个ADHD儿童在要求静站观看同一个动画片时,发生的运动变化不同,体现了个体的差异性。但是随着时间的变化,ADHD儿童会随着时间发生不同频率的运动变化,只有少数时间能够保持静止。
临床医师可通过变化曲线观察ADHD儿童的运动频率,评估ADHD儿童的多动程度,对ADHD儿童的活动过动症状进行诊断。
本文使用DSST算法对ADHD儿童的视频数据进行目标区域定位跟踪,得到ADHD儿童目标区域的跟踪结果。图11展示了利用DSST算法跟踪ADHD儿童目标区域的结果,ADHD儿童目标区域用矩形框框出。
图11 基于DSST算法的ADHD儿童目标区域定位检测
图11(a)是儿童2第172帧的检测结果,图11(b)是儿童2第1155帧的检测结果,该儿童在完成指定任务时,身体上半部位发生了运动变化,他将双手举到头顶且往左偏。DSST算法的跟踪框也随着左偏,实时跟踪ADHD儿童目标区域。随着ADHD儿童运动的变化,DSST算法能够调整跟踪框的比例来检测ADHD儿童的目标区域。
为了对ADHD儿童目标区域的自动检测效果进行评估,采取人工标记的方式,将图像中ADHD儿童的边界范围以坐标点形式进行存储作为金标准。通过对比基于DSST算法自动检测的ADHD儿童目标区域的中心点坐标与该ADHD儿童目标区域的金标准中心点坐标,对该算法自动检测结果进行判定,最终得到ADHD儿童目标区域的跟踪正确率。
假设原始图像上的ADHD儿童目标区域金标准坐标是 (xi,yi), 其i=1,2,3,4。 则得出式(17)的中心点坐标
(17)
基于DSST算法在原始图像上自动检测出ADHD儿童目标区域的标记框,用相同的方法计算出中心点坐标O′(u′,v′), 若基于DSST自动检测算法标记产生的O′(u′,v′) 与金标准坐标O(u,v) 的中心点距离满足关系式(18),则基于DSST算法的自动标记结果正确,不满足式(18)则为标记有误
(18)
式中:d表示中心点距离,L是判定中心点距离是否符合规范的阈值。在本实验中,L取值5。本实验对10个ADHD儿童视频数据进行了目标区域自动检测,同时对10个儿童的自动检测结果进行了评估,评估结果见表2。
表2 基于DSST算法的人体目标区域自动检测结果正确率
由表2可知,由于每个ADHD儿童视频数据存在差异,自动检测的正确率不相同。但是每个ADHD儿童目标区域的自动检测正确率大于90%,具有较高的准确性,说明本文利用DSST算法能够有效跟踪本实验的ADHD儿童目标区域。
本文基于ADHD儿童深度图像中噪声灰度信息及分布特征信息,提出了基于NLGD的去噪算法。利用基于NLGD的去噪算法处理ADHD儿童的目标区域,去除ADHD儿童周围的噪声,然后利用等值线算法提取连续完整的ADHD儿童身体边缘,分割出ADHD儿童包含深度信息的身体区域。
图12是本文的部分ADHD儿童目标区域分割前后示意图。分割前不同ADHD儿童深度图像的噪声分布位置及影响儿童主体程度不一致,但他们的噪声总体分布特点相似。ADHD儿童深度图像中的噪声分为两大类:一是身体下半部分存在的波浪状的“空洞”噪声,二是身体边缘锯齿状的跳动噪声,影响ADHD儿童身体区域的分割。ADHD儿童目标区域经本文分割算法处理后,可以看到ADHD儿童身体下半部分的“波浪状”噪声被去除,ADHD的身体边缘被保留,包含深度信息的ADHD儿童身体被分割出来,用于运动的量化。
图12 本文的部分ADHD儿童目标区域分割前后
为了评估本文提出的分割算法对ADHD身体区域的去噪性能,利用Dice系数[15](the dice similarity coefficient)、VOE系数(volumetric overlap error)、RVD系数(relative volume difference)作为评估ADHD儿童身体分割结果的指标。
Dice系数表示两个物体相交的面积占总面积的比值,对本文分割算法提取的ADHD儿童身体区域与多人标记取平均标记的身体区域的重叠部分进行度量,代表本研究算法所提取身体区域与手动标记结果的相似度,完美分割时Dice系数的值为1,其公式如式(19)所示
(19)
VOE系数是体素重叠误差,即ADHD儿童目标区域自动分割结果与标准分割结果差值与两种结果总区域的比值,用来表示错误率,该值越小代表自动分割结果越好。其公式如式(20)所示
(20)
RVD系数是体素相对误差,表示自动分割结果与手动标记结果之间体素的差异,其公式如式(21)所示
(21)
式(19)~式(21)中RS为手动标记的标准ADHD儿童身体区域结果,TS为本文分割算法处理得到的ADHD儿童身体区域结果。表3是对本研究的10个儿童视频数据的测试结果。
由表3中参数可知,本文提出的分割算法对ADHD儿童身体区域分割结果的Dice系数在83.00%~92.72%的范围内,平均识别正确率为88.65%,本实验ADHD儿童身体区域的分割结果与手动标记金标准相似度高,且过识别率和欠识别率较低,说明了提出算法所得结果误差较小,适用于本实验不同儿童深度视频数据的身体区域分割,利于对ADHD儿童进行运动量化。
表3 本文提出的去噪算法性能测试结果
本文基于Kinect采集的ADHD儿童深度视频提出了一种基于NLGD的深度图像去噪方法,去除影响ADHD儿童深度图像身体区域的噪声。并且基于等值线算法分割出ADHD儿童身体区域。然后提出基于CoM的运动时长特征参数,自动量化ADHD儿童的运动。实验对10个ADHD儿童的视频数据进行目标自动跟踪测试,去噪分割算法测试以及运动时长特征测试。对比分析了本文算法测试的实验结果与金标准的差异,ADHD儿童目标自动跟踪测试的正确率为91.45%~99.94%,基于本文去噪分割算法的ADHD儿童身体目标分割正确率为82.73%~93.77%,运动时长的正确率均为88.00%以上。