虚拟观众的离线检测方法、系统和存储介质与流程

文档序号:19020399发布日期:2019-11-01 20:39阅读:168来源:国知局
虚拟观众的离线检测方法、系统和存储介质与流程

本发明涉及虚拟技术领域,尤其是一种虚拟观众的离线检测方法、系统和存储介质。



背景技术:

目前,对于聊天室或者视频会议等在线交互软件,他们在检测用户是否离线时,通常由服务器定期检测客户端上传的数据,当发现客户端一段时间没有上传数据后,会认为该客户端已经离线。这种情况,通常只有在用户主动断开连接或者意外掉线才会发生。目前这种方式只能检测到用户是否断开连接,而无法检测用户在未断开连接的情况下,是否暂时离开。

由于在聊天室或者视频会议这一类应用场景中,虚拟资源是相对充裕的,甚至可以认为是无限的,即便用户一直挂机,其占用的资源也是相对很少的,因此,在这些应用场景中不存在需要将离线用户踢出的问题。

而随着虚拟技术的发展,vr厂商可以在虚拟场景中举办演唱会或者球赛,而用户通过摄像头或者其他传感器将自己的表情或者肢体动作映射到虚拟场景中的虚拟人物。而在这些场景中,虚拟人物是会占用空间的。因此,如果采用现有技术来实施离线检测,在用户离开但是客户端与服务器实际的连接还没有断开的情况下,在虚拟场景中用户是会一动不动的,这样不仅占用了虚拟场景的资源,还导致其他在线用户感到不适,因而有必要将这一类用户从虚拟场景中移除。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种虚拟观众的离线检测方法、系统和存储介质,以检测出未与服务器断开连接,但是实际上已经离线的用户,从而释放虚拟场景的资源。

本发明实施例的第一方面提供了:

一种虚拟观众的离线检测方法,包括以下步骤:

检测移动设备的姿态数据;

根据所述姿态数据确定移动设备超过设定时间没有改变姿态后,调用移动设备的前置摄像头拍摄第一图像;

从所述第一图像中检测人脸;

在确定没有在所述第一图像中检测到人脸后,判定在移动设备登录的虚拟观众离线;

向服务器发送离线通知。

进一步,在检测移动设备的姿态数据之前,还包括以下步骤:

检测移动设备是否锁屏,在确定移动设备锁屏后,判定在移动设备登录的虚拟观众离线;

执行所述向服务器发送离线通知的步骤。

进一步,还包括以下步骤:

在确定在所述第一图像中检测到人脸后,调用移动设备的前置摄像头拍摄多张第二图像;

根据多张第二图像确定所述人脸是否为静态图像;

在确定所述人脸为静态图像后,判定在移动设备登录的虚拟观众离线;

执行所述向服务器发送离线通知的步骤。

进一步,所述根据多张第二图像确定所述人脸是否为静态图像,其具体包括:

分别从多张第二图像中裁剪出人脸区域;

将多个裁剪出来的人脸区域进行位置、大小和/或相似度的比较,得到比较结果;

根据比较结果,确定所述人脸是否为静态图像。

进一步,所述将多个裁剪出来的人脸区域进行位置、大小和/或相似度的比较,得到比较结果,其具体包括:

根据设定规则将多个裁剪出来的人脸区域分成若干个分组,每个分组包括两个裁剪出来的人脸区域;

对每一分组的人脸区域进行位置、大小和/或相似度比较,得到比较结果。

进一步,所述根据比较结果,确定所述人脸是否为静态图像,其具体包括:

根据比较结果,判断是否存在至少一个分组中的两个人脸区域的位置、大小和/或相似度满足设定条件;

在确定存在所有分组中的两个人脸区域的位置、大小和/或相似度满足设定条件后,判定所述人脸为静态图像。

本发明实施例的第二方面提供了:

一种虚拟观众的离线检测方法,用于服务器,所述服务器与客户端通信,包括以下步骤:

获取客户端发送的离线通知;

根据所述离线通知,确定离线的虚拟观众;

其中,所述客户端执行所述的虚拟观众的离线检测方法。

本发明实施例的第三方面提供了:

一种虚拟观众的离线检测系统,包括:

检测单元,用于检测移动设备的姿态数据;

姿态检测及拍摄单元,用于根据所述姿态数据确定移动设备超过设定时间没有改变姿态后,调用移动设备的前置摄像头拍摄第一图像;

人脸检测单元,用于从所述第一图像中检测人脸;

离线判定单元,用于在确定没有在所述第一图像中检测到人脸后,判定在移动设备登录的虚拟观众离线。

发送单元,用于向服务器发送离线通知。

本发明实施例的第四方面提供了:

一种虚拟观众的离线检测,包括:

存储器,用于存储程序;

处理器,用于加载所述程序以执行所述的虚拟观众的离线检测方法。

本发明实施例的第五方面提供了:

一种存储介质,用于存储程序,所述程序被处理器执行时实现所述的虚拟观众的离线检测方法。

本发明的有益效果是:本发明可以在客户端与服务器没有断开通信的情况下,通过检测移动设备的姿态和用户的人脸来确认用户是否离线,本发明的检测在客户端完成,能够降低服务器的运算压力,同时,本发明能够较为准确地检测出实际的离线用户,以便于踢出离线用户,释放离线用户所占据的虚拟场景中的资源。

附图说明

图1为本发明一种具体实施例中应用于客户端的虚拟观众的离线检测方法的流程图;

图2为本发明一种具体实施例中应用于服务器的虚拟观众的离线检测方法的流程图。

具体实施方式

下面结合说明书附图和具体的实施例对本发明进行进一步的说明。

参照图1,本实施例公开了一种虚拟观众的离线检测方法,其用于客户端,所述客户端与运行虚拟场景的服务器连接,所述客户端可以有多个,在客户端登录的账号可以在服务器的虚拟场景中生成虚拟人物。其中所述虚拟场景包括虚拟演唱会和虚拟球赛等用户为观众的场景。所述客户端可以是运行在移动设备上的app或者小程序。

本实施例包括以下步骤:

s101、检测移动设备的姿态数据。

在本步骤中,所述姿态数据可以是陀螺仪的数据,其可以包括加速度数据和磁场数据等。所述姿态数据可以体现移动设备是否发生移动或者旋转等。

s102、根据所述姿态数据确定移动设备超过设定时间没有改变姿态后,调用移动设备的前置摄像头拍摄第一图像。

在本步骤中,可以为姿态数据设置一个阈值范围,如果姿态数据的改变没有超过阈值范围,那么在本步骤中可以认为移动设备的姿态没有发生变化。例如,在一些实施例中,设定在一定的时间内角度变化小于等于1°的判定移动设备姿态没有发生变化;超过1°,则判定移动设备姿态发生了变化。由于手持移动设备时,用户的手或多或少会产生晃动,而本步骤的目的在于检测这种晃动的情况,以检测用户是否手持移动设备。当然,用户没有手持移动设备,并不意味着用户就离线了,因此在检测到该情况后,还需要通过前置摄像头进行确认。

s103、从所述第一图像中检测人脸。

在本步骤中,可以采用经过训练的神经网络来检测人脸,而本步骤检测的人脸的目的并非要识别用户的身份,而只是检测是否有用户在前置摄像头的拍摄范围内。因此,只需要确保摄像头前面有人脸即可确认用户仍然在线。这里的用户指的是人,而并不在意这个人是否为该账号的持有者。

s104、在确定没有在所述第一图像中检测到人脸后,判定在移动设备登录的虚拟观众离线。

在本步骤中,如果在前置摄像头所拍摄的图像中,存在人脸,那么可以判定用户仍然在线。如果在前置摄像头所拍摄的图像中,不存在人脸,那么可以判定用户实际上已经离线了。不过,在实际应用中,用户也有可能将手机放在手机支架上,然后偶然离开前置摄像头的拍摄范围,而用户本身并没有打算离线的。因此,可以在将用户踢出之前,给用户足够的提示和反应时间。例如,在将用户踢出之前,显示提示框,提示用户如果30秒内不响应就被踢出。

s105、向服务器发送离线通知。

在本实施例中步骤s101~s105都在客户端,即实际上在移动设备上完成,其可以降低服务器的运算压力。服务器只需要接收客户端所发送的离线通知,并根据离线通知踢出离线用户即可。所述服务器和客户端通过互联网通信,所述离线通知包括指向的用户。

本实施例可以在客户端与服务器没有断开通信的情况下,通过检测移动设备的姿态和用户的人脸来确认用户是否离线,本发明的检测在客户端完成,能够降低服务器的运算压力,同时,本发明能够较为准确地检测出实际的离线用户,以便于踢出离线用户,释放离线用户所占据的虚拟场景中的资源。

然而,在前面讨论的实施例中,还忽略了一种情况,就是存在用户将手机锁屏后携带在身上行走的情况。而明显这种情况在上面的实施例中,是不能检出的,而用户实际上是处于离线状态的。

因此,作为优选的实施例,本实施例在检测移动设备的姿态数据之前,还包括以下步骤:

检测移动设备是否锁屏,在确定移动设备锁屏后,判定在移动设备登录的虚拟观众离线;

执行所述向服务器发送离线通知的步骤。

在本实施例中,将锁屏检测作为姿态检测的前置条件,一旦发现锁屏,则直接判定用户离线。当然了,在实际应用中,这个锁屏的动作有可能是用户误触的,因此在向服务器发送离线通知之前,可以给用户留下足够的反应时间,例如,这个离线通知延迟30秒后再发送。

在前面讨论的实施例中,只是确定第一图像中是否存在人脸,而并未检测该人脸是静态图像还是动态的人脸。那么就意味着,用户可以用一张印有人脸的纸张放在前置摄像头前来冒充用户。而这种方式,实际上在虚拟场景中,人物还是不会动的,也无法检测到这个用户实际上已经离线了。因此,本实施例将通过检测人脸是否为静态图像,以排除这种情况。

作为优选的实施例,本实施例还包括以下步骤:

在确定在所述第一图像中检测到人脸后,调用移动设备的前置摄像头拍摄多张第二图像;

根据多张第二图像确定所述人脸是否为静态图像;

在确定所述人脸为静态图像后,判定在移动设备登录的虚拟观众离线;

执行所述向服务器发送离线通知的步骤。

在本实施例中,在确定第一图像中存在人脸后,再拍摄多张第二图像,然后通过检测人脸是否发生变化来确定在第一图像中的人脸是否为静态图像。

具体地,检测变化可以有很多方式,例如,检测人脸的在多张第二图像中的位置是否发生变化、人脸的大小是否发生变化以及人脸是否有眨眼等。

作为优选的实施例,所述根据多张第二图像确定所述人脸是否为静态图像,其具体包括:

分别从多张第二图像中裁剪出人脸区域;

将多个裁剪出来的人脸区域进行位置、大小和/或相似度的比较,得到比较结果;

根据比较结果,确定所述人脸是否为静态图像。

在本实施例中,可以根据准确度和运算量之间选择位置、大小和相似度三种方式或者这三种方式的组合来确定人脸是否为静态图像。

作为优选的实施例,所述将多个裁剪出来的人脸区域进行位置、大小和/或相似度的比较,得到比较结果,其具体包括:

根据设定规则将多个裁剪出来的人脸区域分成若干个分组,每个分组包括两个裁剪出来的人脸区域;

对每一分组的人脸区域进行位置、大小和/或相似度比较,得到比较结果。

所述设定规则可以是随机抽取,也可以将从相邻拍摄的两张第二图像裁剪出来的人脸区域分为一个分组。在本实施例中,只需要确认存在至少一个分组人脸区域的比较结果满足特定条件,则足以说明从第一图像中检测的人脸是动态图像。例如,在一个分组中,两个人脸区域在图像中所处的位置存在大于设定值的变化,则通过这个分组就可以确认在第一图像中检测到的人脸不是静态图像了。

作为优选的实施例,所述根据比较结果,确定所述人脸是否为静态图像,其具体包括:

根据比较结果,判断是否存在至少一个分组中的两个人脸区域的位置、大小和/或相似度满足设定条件;

在确定存在所有分组中的两个人脸区域的位置、大小和/或相似度满足设定条件后,判定所述人脸为静态图像。

所述设定条件为相似度条件、位置偏差条件和大小偏差条件。例如,相似度达到或超过95%,认为是满足条件,相似度低于95%认为是不满足条件。位置偏差小于等于10个像素点,认为是满足条件,大于10个像素点,认为是不满足条件。大小偏差小于等于5%认为是满足条件,大小偏差大于5%认为是不满足条件。

参照图2,本实施例公开了一种虚拟观众的离线检测方法,用于服务器,所述服务器与客户端通信,包括以下步骤:

s201、获取客户端发送的离线通知;

s202、根据所述离线通知,确定离线的虚拟观众;

其中,所述客户端执行所述的虚拟观众的离线检测方法。

在服务器确定离线的虚拟观众后,会在虚拟场景中将该用户的虚拟人物踢出,以释放虚拟场景的资源。

本实施例公开了一种虚拟观众的离线检测系统,其包括:

检测单元,用于检测移动设备的姿态数据;

姿态检测及拍摄单元,用于根据所述姿态数据确定移动设备超过设定时间没有改变姿态后,调用移动设备的前置摄像头拍摄第一图像;

人脸检测单元,用于从所述第一图像中检测人脸;

离线判定单元,用于在确定没有在所述第一图像中检测到人脸后,判定在移动设备登录的虚拟观众离线。

发送单元,用于向服务器发送离线通知。

本实施例公开了一种虚拟观众的离线检测系统,其包括:

存储器,用于存储程序;

处理器,用于加载所述程序以执行所述的虚拟观众的离线检测方法。

本实施例公开了一种存储介质,用于存储程序,所述程序被处理器执行时实现所述的虚拟观众的离线检测方法。

上述系统或者存储介质实施例,能够实现与对应的方法实施例相同的技术效果。

对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1