欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019110442580
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于步骤如下:

步骤1:外部轮廓检测,通过结合帧间差分法的ViBe算法获取运动目标的外部轮廓,并在外部轮廓的基础上获得进入轿厢的乘客身体的高宽比信息;

步骤2:人数头像检测,通过YOLOv3神经网络对电梯轿厢内的人体头部进行检测,并且获得人头目标的位置信息;根据YOLOv3神经网络检测到的人头数量,将电梯内的异常行为检测分为单人,两人及以上两种情景;

步骤3:基于人体轮廓和头部的摔倒检测,在单人情景下,利用乘客人体轮廓的高宽比的变化和乘客人头的垂直移动距离,实现对摔倒行为的检测;

步骤4:多人动能检测,在两人及以上情景中,在结合帧间差分法的ViBe算法获得的目标轮廓的基础上,利用金字塔光流算法,计算乘客的平均动能,实现对暴力侵害行为的检测。

2.根据权利要求1所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于外部轮廓检测,结合帧间差分法的ViBe算法检测运动目标的过程如下:步骤1.1:对第k帧图像使用原始ViBe算法进行运动前景检测,将第k帧图像中的像素点分类为背景点和前景点;同时利用帧差法获取第k-1帧和第k帧的差值二值图像Id;利用得到的差值图像对ViBe算法的检测结果进行更新;

步骤1.2:利用帧间差分法获取第k-1帧和第k帧的差值二值图像Id进行更新;对差值二值图像Id进行均值滤波,去除噪声;进行膨胀处理,用以填充差值二值图像Id中ROI的小空洞;进行腐蚀处理,用以消除差值二值图像Id中的剩余噪声;最后得到经过形态学处理的只包含完整ROI的二值图像Id';

步骤1.3:接步骤1.1,将包含完整ROI的二值图像Id'引入到ViBe算法的背景更新过程中;第k帧中所有的像素点都通过再分类后,可以获得结合了帧间差分法的分类二值图像Iv;

步骤1.4:对步骤1.3的输出分类二值图像Iv进行形态学处理;进行膨胀处理,用以填充分类二值图像Iv中ROI的小空洞;进行腐蚀处理,用以消除分类二值图像Iv中的剩余噪声,得到最后的二值图结果Iv';

步骤1.1-1.4,可以获得第k帧图像中的运动前景,即运动目标轮廓。

3.根据权利要求2所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于结合帧间差分法的ViBe算法具体为:在背景建模的过程中,基于某一个像素点x的灰度值和它的邻域像素的灰度值是近似这一假设,通过随机选取N(N是正整数)个邻域灰度值为像素点x建立样本集M(x)={p1,p2,p3,…,pN},样本集中的p1,p2,p3,…,pN指的是邻域像素点的灰度值;用pt(x)表示在t时刻像素点x的灰度值,用SR(pt(x))表示与pt(x)的差值小于阈值R的点构成的一个以pt(x)为中心,R为半径的圆形集合,其中R是正实数;圆形集合SR(pt(x))和样本集M(x)的交集元素的数量n,n是非负整数,即是在样本集M(x)中有n个像素点与像素点x相似:#{SR(pt(x))∩{p1,p2,p3,…,pN}}

设阈值为nth,nth是正整数,若n>nth,则将像素点x归类为背景,否则就将像素点x归类为前景,即运动的目标;利用帧间差分法可以获取第k-1帧和第k帧的差值二值图像Id,然后通过形态学处理获得二值图像Id′;若第k帧图像中的像素点x被归类为前景点,则在二值图像Id′中,以与像素点x相同坐标的像素点x'为中心的8个邻域中,用 和 分别指代像素点x'和8个邻域中灰度值为0的像素点的个数;

考虑到中心点和邻域点所拥有的权重不同,为中心点x'赋予权值k,k是正整数,构建概率函数 将像素点的分类转化为概率问题;当中心点及其8个邻域中的灰度值为0的个数超过一定阈值,即P的大小超过阈值T,T是正整数,可以证明在以x′点为中心的像素九宫格中,背景所占的面积更大,就认为点x'为背景,即像素点x应该属于背景;否则就证明,以点x'为中心的像素九宫格,前景所占的面积更大,应该将像素点x属于运动前景点;即为了应对可能的背景变化,当像素点被判断为背景时,就以一定的概率β对背景模型进行随机更新,β是实数Random{p1,p2,p3,…,pN}←pt(x)

即将{p1,p2,p3,…,pN}中的随机一个值,用pt(x)代替。

4.根据权利要求1所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于人数头像检测按照如下步骤进行:步骤2.1:考虑到在电梯视频监控中,乘客很少变换位置和姿态,因此获取的训练样本重复率很高;所以,将获取的电梯监控视频做减帧处理,从而降低一个视频序列中,重复的样本数;将视频按帧保存为图像序列,将图像序列中包含清晰人头目标的图像作为原始的人头图像序列;

步骤2.2:使用labelimg工具对人头图像序列进行标记处理,考虑到轿厢内乘客通常都是面对轿厢门站立,因此在标记时,应选择正对后脑、斜对后脑或者侧对头部的样本进行标记,尽可能的保留头部背面的样本特征,而不是包含脸部的头部前面;通过标记工具,获取标记框的信息,以txt文档的形式保存,并且txt文档的命名要和图像一一对应;最后,将标注好的图像分为训练数据集和测试数据集,完成对人头图像序列的标记工作;

步骤2.3:在训练网络中载入训练数据集,进行特征训练;根据人头图像序列的数量,选择适当的训练步数和学习率,每隔一定的步数保存模型,以备在训练过拟合后使用;在损失率不再下降的时候停止训练,避免训练次数过多造成过拟合;训练结束后,对保存的YOLOv3模型进行测试,选择检测效果最好的YOLOv3神经网络模型使用;

步骤2.4:部署训练好的YOLOv3神经网络模型,将电梯轿厢内的监控视频输入到模型中进行检测;YOLOv3网络模型将视频按一帧一帧进行检测,当检测到图像中有人头时,标记人头,并且返回人头标记框位置;最后通过数标记框的方法,得到当前图像中的人头数;将视频从第一帧处理到最后一帧,就可以得到某一时间在电梯轿厢内的乘客数量。

5.根据权利要求4所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于YOLOv3网络实现头部人数检测具体为:通过训练YOLOv3神经网络,实现对电梯轿厢内人头部的检测,以此来获取电梯轿厢内的准确人数;首先将输入的图片划分为S×S个栅格,每个栅格预测B个边界框,对应B个先验框;定义检测的置信度bx=σ(tx)+cx

by=σ(ty)+cy

每个预测的边界框都包含五个预测值:边界框的中心坐标(x,y)、边界框的高和宽(h,w)、目标的置信度;其中,bx、by、bh、bw分别是边界框的中心坐标、高和宽,ph和pw是先验框的高和宽;tx、ty、th和tw分别是网络预测的中心坐标、高和宽;t0是直接预测得到的边界框的置信度,在YOLOv3中将t0经过σ(·)变换后的σ(t0)作为边界框置信度的值;cx和cy是相对偏移量;σ(·)函数为logistic函数,将坐标归一化到0-1之间; 和 则代表边界框的缩放因子; 代表栅格预测的边界框与目标的重合面积,而Pr(Object)则表示栅格中是否包含目标物体;如果栅格中包含目标物体,则Pr(Object)=1,如果栅格中不包含目标物体,则Pr(Object)=0;

若待检测的目标种类超过1,则设当预测的栅格内包含物体时,该物体属于类别c的概率的条件概率为Pr(Classc|Object),则该预测框的置信度为目标属于类概率及重合面积相乘获得在训练时,模型的损失函数定义为

其中coordError代表边界框的中心坐标(x,y)和边界框的高和宽(h,w)的损失,iouError代表栅格置信度Ci的损失,classError则代表分类概率pi(c)的损失;YOLO使用λcoord和λnoobj来修正包含目标的边界框和不包含目标的边界框的权重;设 表示物体obj在第i个栅格内,并且与第j个预测边界框的重合面积最大; 表示物体obj在第i个栅格内,不在第j个预测边界框内;

其中,Ci是第i个栅格的置信度,pi(c)是第i个栅格内目标属于c类的分类概率,classes代表需要检测的目标集合; 为网络预测值,xi,yi,wi,hi,Ci,pi(c)为标注的值;

在检测时,通过非极大值抑制方法,保留最准确的边界框,减少边界框的数量;非极大值抑制方法的实施方法如下:设检测结束后,得到的边界框为B1,B2,B3,…,Bn,边界框的置信度分别为P1,P2,P3,…,Pn;选择最大的置信度作为参考值,依次计算剩余边界框的重叠度UU=max(P1,P2,P3,…,Pn)-Px

Px∈{P1,P2,P3,…,Pn-1}

当U小于阈值时,证明该类边界框已存在最优边界框,则将该类边界框去掉,保留Bn;在剩余的B1,B2,B3,…,Bm(m<n)中,再选择最大的边界框的置信度Pm作为参考值,重复上述过程;最终获得准确的标记框。

6.根据权利要求1所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于基于人体轮廓和头部的摔倒检测具体步骤如下:步骤3.1:对第k帧图像的检测,有视频输入时,通过训练好的YOLOv3神经网络模型进行检测,对第k帧图像中的人头进行标记,返回标记框的位置信息,同时通过计数标记框,获得第k帧图像中准确的人数;

步骤3.2:当第k帧图像中的人数为1时,通过结合帧间差分法的ViBe算法,对第k帧图像进行处理,获得包含有ROI的二值图结果Iv';通过对二值图结果Iv'进行最大连通区域检测,可以将二值图结果Iv'中ROI的轮廓用矩形RROI框出;获得矩形RROI的高,记为H,将矩形RROI的宽,记为W;可得矩形RROI,也就是人体轮廓的高宽比δδ=H/W

与阈值T1相比,T1是实数,当δ<T1时,此时的矩形RROI呈现水平状态,则判断乘客发生了跌倒;当δ≥T1时,此时的矩形RROI呈现竖直状态,就判断乘客可能是正常站立的,没有发生摔倒;

步骤3.3:当判断乘客可能是站立时,作为对轮廓检测的补充,对第k帧图像中乘客的头部位置ck(x,y)和第k-1帧图像中乘客的头部位置ck-1(x,y)进行比较,ck(x,y)包含第k帧图像头部标记框质心的x和y的坐标,即D=|ck(x,y).y-ck-1(x,y).y|

D代表相邻两个图像中,头部标记框的质心在y方向上的位移的绝对值;与阈值T2相比,T2是实数,当D<T2时,则前后两帧中乘客的头部并没有发生明显的下落趋势,结合步骤3.2检测的结果,可以判断乘客是站立的;当D≥T2时,则前后两帧中乘客的头部发生明显的下落趋势,可以判断乘客摔倒;

重复步骤3.1-3.3,直到视频结束或者检测到的人数不为1为止;如果检测到有乘客摔倒,就发出报警信息,进行提示。

7.根据权利要求6所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于基于人体轮廓和头部的摔倒检测具体为:当人体站立时,人体的轮廓通常呈现竖直状态;当人体躺下时,人体的轮廓则通常呈现水平状态,即其中,H代表人体轮廓的像素高度,W代表人体轮廓的像素宽度;在简单判断人体姿势之后,由于摄像机拍摄视角局限,如果人体顺着摄像机的拍摄角度倒下,在视频中人体仍旧保持竖直状态;考虑到在倒地的过程中,伴随有人体重心的下移,而人头的位移则更加明显;

因此,引入对头部移动距离的检测,作为摔倒检测的补充。

8.根据权利要求1所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于多人动能检测的具体的方法如下:步骤4.1:当有视频输入时,通过训练好的YOLOv3神经网络模型进行检测,对第k帧图像中的人头进行标记,返回标记框的位置信息,同时通过计数标记框,获得第k帧图像中准确的人数;

步骤4.2:当检测得到的人数为2人及其以上时,通过结合帧间差分法的ViBe算法,对第k帧图像进行处理,获得二值图结果Iv';对二值图结果Iv'中的ROI进行边缘检测,获取只包含运动目标轮廓边缘的边缘二值图像Ive;检测边缘二值图像Ive中的角点,作为光流跟踪的特征点;

步骤4.3:通过金字塔LK光流法对第k-1帧图像和第k帧图像进行检测,在第k帧图像中估计出第k-1帧图像中的角点的位置,即对相邻两帧图像中的角点进行跟踪;设第k-1帧中某角点的位置为i=(x,y)T,则光流的计算过程,就是在第k帧图像中得到与该角点i相匹配的角点的位置i'=i+d=(x+dx,y+dy)T。其中d=[dx,dy]T是前后两帧图像中角点移动的位T移,也可视为速度矢量,角点光流的计算就是求解d=[dx,dy];

步骤4.4:判断在第k-1帧图像和第k帧图像中,已匹配成功的角点i的位移d是否大于零;如果相邻两帧图像中,角点i的位移d=0,则证明该角点是静止的,与动作无关,可以将其过滤;如果相邻两帧图像中,角点i的位移d>0,则证明该角点是运动的,将角点i的位置保存;

步骤4.5:将每一个角点假设为一个质点,那么质点i在运动时就具有动能:

Ei(x,y)=ωi(x,y)·Vi2(x,y)

其中Ei(x,y)是点i的动能,ωi(x,y)是点i的权重,Vi2(x,y)=ui2(x,y)+vi2(x,y),ui(x,y)和vi(x,y)分别是角点i(x,y)在x和y方向的速度分量;

步骤4.6:在第k-1帧中,角点i的运动的角度为 在第k帧中,

与角点i相匹配的角点i'的运动角度为 设第k帧中角点的权重为:

其中, 是第k帧中角点i'的权重,它体现了角点在前后两帧中运动方向变化的程度;当角点的运动方向变化越大时,角点的权重越大,在现实中也符合打斗时运动杂乱无章的特性; 是第k-1帧图像中角点运动角度的均值,α是 的权重,体现了运动在前后两帧中的连续性;

步骤4.7:在已知各个角点的速度和权重的基础上,将一个视频帧中所有Ntol个角点的动能相加,Ntol是正整数,就可以得到第k帧的总动能:

9.根据权利要求8所述的基于计算机视觉的电梯轿厢内异常行为的检测方法,其特征在于基于金字塔LK光流的动能模型具体为:通过使用光流法建立光流场,来获取视频图像中运动目标的速度大小和运动方向等运动信息;在满足以下三个条件:(1)亮度恒定不变,就是同一点在不同的视频图像中,其亮度不会发生改变;

(2)小运动,即目标的位置不会随着时间的变化而发生剧烈的变化;

(3)空间一致,即在目标像素周围的区域Ω内,每个像素都拥有相同的光流矢量;

则相邻两帧图像的约束方程

I(x,y,t)=I(x+dx,y+dy,t+dt)

I(x,y,t)是t时刻(x,y)位置的像素点的亮度,而I(x+dx,y+dy,t+dt)则是t+dt时刻,像素点运动后的亮度,是保持不变的;假设移动的距离足够小,对约束方程进行泰勒公式展开,得到ε代表无穷小项,可以忽略;图像的约束方程就可以定义为

其中, 可用x方向上的速度u表示, 可用y方向上的速度v表示,图像的约束方程可写为在一个在大小为n×n邻域Ω内,通过加权平方和最小化来计算每个像素点的光流:

其中W2(X)是权重函数,用以区分邻域Ω中心和周围的加权;令

同时对于邻域Ω内所有的点X1,X2,X3,…,Xn, 约束方程可写为

其中,Ixi、Iyi和Wi分别是像素点i在x和y方向的梯度信息和权重函数;令

W=diag(W(X1),…,W(Xn)), 利用最小二

乘法得

最后,可得速度信息

电梯轿厢内的暴力侵害行为大部分都具备动作速度快,动作幅度大等特点;为了满足LK光流法的假设前提,使用图像金字塔进行修正;图像金字塔的最底层为原始图像,最顶层为最低分辨率的图像;设第k-1帧图像I中某角点的位置是i=(x,y)T,在第k帧图像J中与该角点相匹配的角点的位置为i'=i+d=(x+dx,y+dy)T,其中d=[dx,dy]T是前后两帧图像中角点移动的位移,也可视为速度矢量;在从顶层开始,计算每个点的光流值,在图像I和图像J上分别建立(2wx+1,2wy+1)的检测窗口,假设窗口内的像素点都具有相同的速度,即像素点都拥有相同的光流向量d。在检测窗口内,作为前后两帧相匹配的角点,因为在图像I中的角点(x0,y0)的灰度值I(x0,y0)和图像J中的角点(x0+dx,y0+dy)的灰度值J(x0+dx,y0+dy)最接近,所以I(x0,y0)-J(x0+dx,y0+dy)应是最小值,将光流向量d定义为使残差函数ε最小的矢量其中wx和wy是检测窗口的参数,是指检测窗口的大小;设顶层L图像中的光流误差为dLm,通过使残差函数ε(dLm)的一阶导数为0求得。光流的估计值为g,通常将顶层的光流值设为gLm=[0 0]T。若每层缩放为前一层的一半,则L-1层原始图像的光流gL-1=2(gL+dL)

L是正整数,通常L≤4。沿着金字塔向下反馈,重复计算光流的估计值,可以得到金字塔底部,即原始图像中的光流信息

0 0

其中,g 是金字塔最底层图像的光流初始值,d 则是金字塔最底层图像中的光流误差,Lm代表最顶层;

对前景图像中的每个像素点的梯度和曲率进行计算,设每个前景点邻域内的二阶导数的自相关矩阵其中K代表邻域窗口的大小,w(x,y)代表归一化操作的权值,Ix代表x方向上的梯度,Iy则代表y方向上的梯度,i和j代表邻域窗口在x和y方向上的偏移;Harris角点是二阶导数存在两个最大特征值的位置,定义判断角点的公式其中 是相对权值常数,det[M(x,y)]为矩阵M(x,y)的行列式值,trace(M(x,y))是矩阵M(x,y)的迹;若二阶导数自相关矩阵的特征值为λ1和λ2,则det[M(x,y)]=λ1λ2,trace(M(x,y))=λ1+λ2;当Rth的值大于设定的阈值,就可以判断该点是角点;

使用金字塔LK光流算法,并结合角点构建动能模型,并将动能模型定义为:

E(x,y)=ω(x,y)·V(x,y)2

其中,E(x,y)是角点的动能,ω(x,y)是指该角点的权重,与角点的运动方向变化有关,用来代替角点的质量这一物理概念,V(x,y)就是指该角点的速度大小。