发明内容
本申请实施例提供一种虚拟角色检测方法、计算机设备以及可读存储介质,可以提高检测虚拟角色的效率和准确率。
本申请实施例一方面提供了一种虚拟角色检测方法,包括:
获取包含目标虚拟角色的待检测图像,获取包含标准虚拟角色的基准图像;目标虚拟角色和标准虚拟角色属于同一种虚拟角色;
在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;
通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在待检测部位区域中获取第二子区域;
获取第一子区域和第二子区域之间的像素相似参数,根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别。
本申请实施例一方面提供了一种虚拟角色检测装置,包括:
角色获取模块,用于获取包含目标虚拟角色的待检测图像,获取包含标准虚拟角色的基准图像;目标虚拟角色和标准虚拟角色属于同一种虚拟角色;
区域获取模块,用于在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;
滑动获取模块,用于通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在待检测部位区域中获取第二子区域;
参数获取模块,用于获取第一子区域和第二子区域之间的像素相似参数;
渲染识别模块,用于根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别。
其中,角色获取模块,包括:
第一图像获取单元,用于获取包含目标虚拟角色的待检测图像;
基础信息获取单元,用于获取待检测图像的基础信息;基础信息包括目标虚拟角色的角色标识、目标虚拟角色的旋转角度信息以及待检测图像的版本信息;
第二图像获取单元,用于在基准数据库中查找与标识号、旋转角度信息以及版本信息相匹配的基准图像;基准图像包括标准虚拟角色。
其中,区域获取模块,包括:
位置信息获取单元,用于获取标准虚拟角色在基准图像中的角色位置信息;
部位分割单元,用于根据标准虚拟角色在基准图像中的角色位置信息,对标准虚拟角色进行关键部位分割,得到标准关键部位区域;
区域获取单元,用于根据标准关键部位区域在基准图像中的位置信息,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;待检测部位区域在待检测图像中的位置信息,与标准关键部位区域在基准图像中的位置信息相同。
其中,角色位置信息包括身体垂直区域位置信息、躯干外围区域位置信息以及角色影子区域位置信息;
部位分割单元,包括:
部位获取子单元,用于根据角色影子区域位置信息获取影子关键部位区域;
部位获取子单元,还用于根据身体垂直区域位置信息确定标准虚拟角色的高度;
部位获取子单元,还用于获取身体关键部位在标准虚拟角色中的高度占比参数,根据高度占比参数和标准虚拟角色的高度确定身体关键部位的高度;
部位获取子单元,还用于根据身体关键部位的高度、身体垂直区域位置信息、躯干外围区域位置信息,在基准图像中获取身体关键部位区域;
部位获取子单元,还用于获取穿戴关键部位区域在身体关键部位区域中的目标位置关系;
部位获取子单元,还用于根据目标位置关系和身体关键部位区域,在基准图像中获取穿戴关键部位区域;
部位确定子单元,用于将身体关键部位区域、穿戴关键部位区域以及影子关键部位区域,确定为标准关键部位区域。
其中,参数获取模块,包括:
单通道获取单元,用于获取第一子区域对应的标准三通道图像,从标准三通道图像中提取标准单通道图像;
单通道获取单元,还用于获取第二子区域对应的待检测三通道图像,从待检测三通道图像中提取待检测单通道图像;
像素点确定单元,用于确定组成标准单通道图像的标准像素点,确定组成待检测单通道图像的待检测像素点;
参数确定单元,用于根据标准像素点对应的像素值和待检测像素点对应的像素值,确定像素相似参数。
其中,像素相似参数包括像素相关系数;
参数确定单元,包括:
第一计算子单元,用于通过标准像素点对应的像素值确定标准单通道图像对应的第一标准差;
第一计算子单元,还用于通过待检测像素点对应的像素值确定待检测单通道图像对应的第二标准差;
第一计算子单元,还用于通过标准像素点对应的像素值和待检测像素点对应的像素值确定标准单通道图像和待检测单通道图像之间的协方差;
相关确定子单元,还用于根据第一标准差、第二标准差以及协方差,确定像素相关系数。
其中,像素相似参数包括像素均差系数;
参数确定单元,包括:
第二计算子单元,用于根据标准像素点对应的像素值与第一平均像素值之间的差值,确定标准单通道图像对应的第一绝对值;第一平均像素值是指标准像素点的平均像素值;
第二计算子单元,还用于根据待检测像素点对应的像素值与第二平均像素值之间的差值,确定标准单通道图像对应的第二绝对值;第二平均像素值是指待检测像素点的平均像素值;
均差确定子单元,用于根据第一绝对值、第二绝对值均差以及均差阈值,确定像素均差系数。
其中,均差确定子单元具体用于若第一绝对值等于第二绝对值,则将均差标准参数确定为像素均差系数;若第一绝对值不等于参考阈值,且第二绝对值不等于参考阈值,则将第一绝对值和第二绝对值中的最小值,作为分子绝对值,将第一绝对值和第二绝对值中的最大值,作为分母绝对值,将分子绝对值和分母绝对值相除,得到像素均差系数;若第一绝对值和第二绝对值中的任一数值等于参考阈值,则将第一绝对值和第二绝对值中的最大值,作为目标绝对值,将均差阈值和目标绝对值相除,得到像素均差系数。
其中,前后景类型包括前景类型和后景类型;
虚拟角色检测装置,还包括:
背景获取模块,用于根据第二子区域在待检测图像中的位置信息,和待检测部位区域在待检测图像中的位置信息,在待检测图像中获取背景区域;
前后景判断模块,用于确定背景区域和第二子区域的背景相似度;
前后景判断模块,还用于若背景相似度大于背景相似阈值,则确定第二子区域的前后景类型为后景类型;
前后景判断模块,还用于若背景相似度小于或等于背景相似阈值,则确定第二子区域的前后景类型为前景类型。
其中,第一子区域的数量为至少两个;至少两个第一子区域包括第一子区域Mi,i为正整数,且i小于或等于至少两个第一子区域的数量;第二子区域的数量为至少两个;至少两个第二子区域包括第二子区域Ni,至少两个第一子区域的数量与至少两个第二子区域的数量相同;
渲染识别模块,包括:
有效区域识别单元,用于根据第一子区域Mi与第二子区域Ni之间的像素相似参数以及第二子区域Ni对应的前后景类型对第二子区域Ni进行有效区域识别;
有效处理单元,用于若第二子区域Ni为无效子区域,则确定待检测部位区域渲染异常;
无效处理单元,用于若第二子区域Ni为有效子区域,则根据第一子区域Mi+1与第二子区域Ni+1之间的像素相似参数以及第二子区域Ni+1对应的前后景类型,对第二子区域Ni+1进行有效区域识别,直至确定出至少两个第二子区域均为有效子区域时确定待检测部位区域渲染正常;第一子区域Mi+1为由滑动窗口所遍历到的第一子区域Mi的下一个子区域;第二子区域Ni+1为由滑动窗口所遍历到的二子区域Ni的下一个子区域。
其中,像素相似参数包括像素相关系数Xi和像素均差系数Yi;
有效区域识别单元,包括:
第一识别子单元,用于若像素相关系数Xi大于相关阈值,则确定第二子区域Ni为有效子区域;
第一识别子单元,还用于若像素相关系数Xi等于相关阈值,则将像素均差系数Yi与均差阈值进行比对;
第一识别子单元,还用于若像素均差系数Yi大于均差阈值,则确定第二子区域Ni为有效子区域;
第一识别子单元,还用于若像素相关系数Xi小于相关阈值,或像素均差系数Yi小于或等于均差阈值,则获取第二子区域Ni对应的前后景类型;
第一识别子单元,还用于若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;
第一识别子单元,还用于若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
其中,像素相似参数包括像素相关系数Xi;
有效区域识别单元,包括:
第二识别子单元,用于若像素相关系数Xi大于相关阈值,则确定第二子区域Ni为有效子区域;
第二识别子单元,还用于若像素相关系数Xi小于或等于相关阈值,则获取第二子区域Ni对应的前后景类型;
第二识别子单元,还用于若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;
第二识别子单元,还用于若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
其中,像素相似参数包括像素均差系数Yi;
有效区域识别单元,包括:
第三识别子单元,用于若像素均差系数Yi大于均差阈值,则确定第二子区域Ni为有效子区域;
第三识别子单元,还用于若像素均差系数Yi小于或等于均差阈值,则获取第二子区域Ni对应的前后景类型;
第三识别子单元,还用于若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;
第三识别子单元,还用于若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
本申请实施例一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
本申请实施例可以获取包含目标虚拟角色的待检测图像,以及包含标准虚拟角色的基准图像,然后在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;可以进一步通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在待检测部位区域中获取第二子区域,然后获取第一子区域和第二子区域之间的像素相似参数,最终根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别。其中,目标虚拟角色和标准虚拟角色属于同一种虚拟角色。采用本申请提供的方法,可以自动化地识别待检测图像中与目标虚拟角色相关的待检测部位区域渲染是否异常,从而可以满足各类产品的虚拟角色异常渲染识别,节省人力成本,加快测试流程,并提高检测虚拟角色的效率和准确率。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括数据处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供的方案涉及人工智能的计算机视觉技术以及深度学习等技术,具体过程通过如下实施例进行说明。
请参见图1,是本申请实施例提供的一种系统架构示意图。该系统架构可以包括业务服务器100以及终端集群,终端集群可以包括:终端设备200a、终端设备200b、终端设备200c、…、终端设备200n,其中,终端集群之间可以存在通信连接,例如终端设备200a与终端设备200b之间存在通信连接,终端设备200a与终端设备200c之间存在通信连接。同时,终端集群中的任一终端设备可以与业务服务器100存在通信连接,例如终端设备200a与业务服务器100之间存在通信连接,其中,上述通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其它方式,本申请在此不做限制。
应该理解,如图1所示的终端集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述图1所示的业务服务器100之间进行数据交互,使得业务服务器100可以接收来自于每个终端设备的业务数据。其中,该应用客户端可以为游戏应用、视频编辑应用、社交应用、即时通信应用、直播应用、短视频应用、视频应用、音乐应用、购物应用、小说应用、支付应用、浏览器等具有显示文字、图像、音频以及视频等数据信息功能的应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如即时通信客户端、社交客户端、视频客户端等)中的嵌入式子客户端,在此不做限定。
在一种实施方式中,以游戏应用为例,图1中的业务服务器100可以为包括游戏应用对应的网关服务器、场景服务器、世界服务器、数据库代理服务器、AI服务器、聊天管理器等多个服务器的集合,因此,每个终端设备均可以通过该游戏应用对应的应用客户端与业务服务器100进行数据传输,如每个终端设备均可以通过业务服务器100与其他终端设备参与到同一个游戏中,例如MMORPG类游戏(全称为Massive Multiplayer Online Role-Playing Game,即大型多人在线角色扮演游戏)、FPS类游戏(全称为First-personshooting game,即第一人称射击类游戏)等,在游戏过程中,玩家可以操控相应的虚拟角色,并可以在游戏虚拟空间中与其他玩家控制的虚拟角色进行实时互动。其中,虚拟角色是指玩家可操控的穿戴有虚拟物品的游戏角色。此时,玩家可以根据需要,随时随地更新自己所控制的虚拟角色各个身体部位的虚拟物品,并显示在游戏画面中,其中,用于装扮虚拟角色的虚拟物品种类很多,例如虚拟角色头部戴的头盔、帽子,穿在上半身的衬衣、短袖外套,穿在下半身的裤子、裙子,脚上穿的鞋子等等,每种虚拟物品的样式也不尽相同。
在一种实施方式中,以视频编辑应用为例,图1所示的系统可以表示视频编辑场景下的分布式多机联网系统。研发人员可以预先构建好虚拟场景和虚拟角色,为了在视频中表现时空的完整性,可以在虚拟场景中设置多个镜头虚拟相机,需要说明的是,与真实摄像机不同的是,在虚拟场景内不存在镜头虚拟相机之间相互阻碍的情况,在虚拟拍摄过的程中,镜头虚拟相机在虚拟场景内是不可见的。如图1所示,终端集群中的每个终端设备均安装有视频编辑应用,每个终端设备均可以通过网络连接到同一个虚拟场景中,其中,业务服务器100可以用于生成虚拟场景以及虚拟场景的管理,终端设备200a、终端设备200b、终端设备200c、…、终端设备200n中的一部分可以通过视频编辑应用控制虚拟角色,包括虚拟角色的动作、表情等,以及改变虚拟角色的装备,包括帽子、衣物以及其它虚拟物品等,另一部分可以通过视频编辑应用控制镜头虚拟相机进行动画拍摄,例如,可以控制镜头虚拟相机在不同的虚拟动画角色之间移动拍摄,或者可以切换不同的镜头虚拟相机来实现对不同视角的拍摄。当在某个场景下,虚拟角色需要改变装备,即需要改变虚拟对象对应的虚拟装饰物品时,对应的终端设备会在视频画面中进行相应的渲染绘制。
相应的,为了能在上述所说的游戏画面或者视频画面中正确显示虚拟角色,相关的终端设备或业务服务器100需要对画面中的虚拟角色进行异常渲染识别。以终端设备200a和业务服务器100为例,例如,终端设备200a可以响应相关的操作,显示渲染绘制包含虚拟角色的画面(可以包括游戏画面、视频画面等),进而可以将该画面作为待检测图像,进而将待检测图像发送至业务服务器100,业务服务器100可以对待检测图像进行虚拟角色检测,当业务服务器100获取到包含目标虚拟角色的待检测图像时,可以获取包含与目标虚拟角色属于同一种虚拟角色的标准虚拟角色的基准图像,然后,业务服务器100可以在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域,并通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在待检测部位区域中获取第二子区域,然后对多个第一子区域和多个第二子区域进行逐一相似匹配,根据匹配结果对待检测部位区域进行异常渲染识别,确定虚拟角色相关的待检测部位区域的渲染是否异常,从而确定虚拟角色是否渲染异常,后续研发人员可以有针对性地对渲染异常的待检测部位区域进行更细致地测试分析。
可以理解的是,上述处理过程可以由业务服务器单独执行,也可以由终端设备单独执行,也可以由业务服务器和终端设备共同执行,这里不作限制。
需要说明的是,上述异常渲染检测方案可以应用于游戏、视频、即时通信等各类存在虚拟角色的场景中,本申请实施例仅以游戏应用和视频编辑应用为例进行相关说明。
可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于终端设备或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云服务、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能电脑等可以运行上述应用客户端的智能终端。其中,终端设备和业务服务器可以通过有线或无线方式进行直接或间接地连接,本申请实施例在此不做限制。
可以理解的是,上述设备(如上述业务服务器100、终端设备200a、终端设备200b、终端设备200c、…、终端设备200n)可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任意形式的计算机设备,比如服务器、终端设备等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
为便于理解,下面以终端设备200a和业务服务器100为例进行具体说明。
请一并参见图2a-图2c,是本申请实施例提供的一种虚拟角色检测的场景示意图。该虚拟角色检测场景的实现过程可以在如图1所示的业务服务器100中进行,也可以在终端设备(如图1所示的终端设备200a、终端设备200b、终端设备200c或终端设备200n中的任意一个)中进行,还可以由终端设备和业务服务器共同执行,此处不做限制,本申请实施例以终端设备200a和业务服务器100共同执行为例进行说明。如图2a所示,研发人员与终端设备200a具有绑定关系,在终端设备200a上可以安装有多个应用(例如游戏应用、视频应用、即时通信应用等),假设研发人员需要测试其中一个应用在渲染虚拟角色时的异常情况,如目标应用A1,则终端设备200a可以响应针对目标应用A1的触发操作(如点击操作),在其屏幕上显示目标应用A1对应的默认显示界面,假设目标应用A1为游戏应用,则终端设备200a可以通过目标应用A1的应用客户端连接业务服务器100发起登录请求,随后业务服务器100发起身份数据验证查询,完成数据查询后返回认证结果,若通过身份校验,则业务服务器100继续查询并返回账号状态数据(例如角色、装备、等级、属性、上次登录所在场景服务器及坐标等信息),进而可以将账号状态数据下发给对应场景服务器(为便于理解,此处的业务服务器100与场景服务器是分别独立部署的服务器),同时可以将研发人员上线通知广播给该研发人员的好友以及玩家在线状态检测(控制断线重连及断线超时)。进一步,业务服务器100接收到认证结果后与对应场景服务器建立连接,研发人员成功登录到场景服务器,从而可以显示如图2a所示的游戏画面300a。如图2a所示,该游戏画面300a中可以显示研发人员所操纵的虚拟角色(可以包括该虚拟角色身上的虚拟装饰物品)、该虚拟对象所处的虚拟场景、功能控件等。随后,场景服务器开始向日志中写入所有用户日志,同时将研发人员的相关数据或查询请求发送给业务服务器100。可以理解,游戏画面300a是时刻在更新变化的,其中不一定会时刻显示虚拟角色,此处为了方便后续的说明,仅以游戏画面300a中存在目标虚拟角色300b为例进行说明。
进一步的,终端设备200a可以将包含目标虚拟角色300b的游戏画面300a作为待检测图像发送至业务服务器100,为便于说明,后续会将游戏画面300a称为待检测图像300a。如图2b所示,业务服务器100接收到待检测图像300a后,确定待检测图像300a中包含目标虚拟角色300b,然后业务服务器100会获取包含标准虚拟角色400b的基准图像400a,其中,标准虚拟角色400b和目标虚拟角色300b属于同一种虚拟角色。其中,基准图像400a中的标准虚拟角色400b。进一步,为了得到更准确的测试结果,业务服务器100可以在基准图像400a中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像300a中获取与目标虚拟角色300b相关的待检测部位区域,可选的,如图2b所示,业务服务器100可以将标准虚拟角色400b划分为5个标准关键部位区域,包括标准关键部位区域B1、标准关键部位区域B2、标准关键部位区域B3、标准关键部位区域B4以及标准关键部位区域B5,可以看到,标准关键部位区域B1为影子区域,标准关键部位区域B2为头部区域,标准关键部位区域B3为上身区域,标准关键部位区域关B4为下身区域,标准关键部位区域B5为脚部区域;同理,业务服务器100可以将目标虚拟角色300b划分为5个待检测部位区域,包括待检测部位区域C1、待检测部位区域C2、待检测部位区域C3、待检测部位区域C4以及待检测部位区域C5。需要说明的,属于同一部位类型区域的标准关键部位区域和待检测部位区域的尺寸大小相同。比如,标准关键部位区域B2为标准虚拟角色的头部类型区域,待检测部位区域C2为目标虚拟角色的头部类型区域,二者均为头部类型区域,则获取到的标准关键部位区域B2的尺寸大小与待检测部位区域C2相同。
需要说明的是,本申请实施例中所提到的虚拟角色除了包括如虚拟角色300b所示的虚拟人物,还可以包括虚拟植物、虚拟动物、虚拟建筑、虚拟载具、虚拟物品等动态或静态的形象,因此,研发人员可以根据实际需要设置不同的划分规则和划分区域,本申请实施例对此不做限制。
进一步地,业务服务器100可以通过滑动窗口在上述五个标准关键部位区域中任一标准关键部位区域进行滑动,获取第一子区域;同样,业务服务器100可以通过滑动窗口在上述五个待检测部位区域中任一待检测部位区域中获取第二子区域,然后根据属于同一部位类型区域的第一子区域和第二子区域对属于该部位类型区域的待检测部位区域进行渲染异常识别。可以理解,滑动窗口小于标准关键部位区域或者待检测部位区域时,第一子区域或者第二子区域的数量为至少两个,根据实际需要,研发人员可以设置针对标准关键部位区域设置不同的滑动窗口大小和滑动步长,可以得到数量不同的第一子区域,针对待检测部位区域的滑动窗口大小和滑动步长也可以设置不同的滑动窗口大小和滑动步长,得到数量不同的第二子区域。不过对于属于同一部位类型区域的标准关键部位区域和待检测部位区域,使用的滑动窗口的尺寸大小、滑动步长应该保持一致。为便于理解,后续以业务服务器100通过滑动窗口分别在标准关键部位区域B2和待检测部位区域C2获取第一子区域和第二子区域为例进行说明。如图2c所示,业务服务器100通过滑动窗口D1在标准关键部位区域B2上进行滑动,然后将标准关键部位区域B2中被滑动窗口D1覆盖的区域作为第一子区域E1;业务服务器100通过滑动窗口D2在待检测部位区域C2上进行滑动,然后将待检测部位区域C2中被滑动窗口D2覆盖的区域作为第二子区域E2。因为标准关键部位区域B2和待检测部位区域C2的尺寸大小一致,滑动窗口D1和滑动窗口D2的尺寸大小、滑动步长一致,因此滑动窗口D1和滑动窗口D2的滑动次数一致,得到的第一子区域和第二子区域的数量相同。因此,计算机设备根据属于同一部位类型区域的第一子区域和第二子区域对属于该部位类型区域的待检测部位区域进行渲染异常识别的过程,可以为,对通过滑动窗口第N次滑动获取到的第一子区域E1和第二子区域E2进行比较,进而确定该待检测部位区域是否渲染异常。其中,N为正整数,且N小于或等于滑动窗口滑动的总次数。
进一步地,业务服务器100对第一子区域E1和第二子区域E2进行比较的过程可以为:对第一子区域E1和第二子区域E2进行像素相似检测,得到第一子区域E1和第二子区域E2之间的像素相似参数,然后业务服务器100会根据该像素相似参数和第二子区域E2的前后景类型对第二子区域E2进行有效区域识别,通过有效区域识别可以确定第二子区域E2为有效子区域或无效子区域。其中,像素相似参数用于确定第一子区域E1和第二子区域E2的相似性,若两者相似,则说明第二子区域E2渲染正常;若两者不相似,则说明第二子区域E2渲染异常。其中,前后景类型包括前景类型和后景类型,若第二子区域E2的前后景类型为前景类型,则说明第二子区域E2中显示有虚拟角色相关的图像,若第二子区域E2的前后景类型为后景类型,则说明第二子区域E2为背景区域,即第二子区域E2中显示的图像与虚拟角色不相关,则第二子区域E2是否渲染异常与待检测部位区域C2的渲染异常无关。其中,无效子区域指的是渲染异常且前后景类型为前景类型的第二子区域,否则,该第二子区域为有效子区域。如果业务服务器100确定第二子区域E2为无效子区域,说明第二子区域E2可能出现显示不全、错误等情况,业务服务器100可以停止检测,确定该待检测部位区域C2渲染异常。如果业务服务器100确定第二子区域E2渲染正常,则业务服务器100会通过滑动窗口D1继续在标准关键部位区域B2中根据滑动方向和滑动步长进行滑动,获取新的第一子区域,通过滑动窗口D2获取新的第二子区域,然后针对新的第一子区域和新的第二子区域,重复上述对第一子区域E1和第二子区域E2的有效区域识别操作。当滑动窗口D2覆盖过待检测部位区域C2的所有区域后,业务服务器100确定通过滑动窗口D2获取到的所有第二子区域均为有效子区域时,业务服务器100会确定待检测部位区域C2渲染正常。可以理解,针对上述待检测部位区域C1、待检测部位区域C3、待检测部位区域C4以及待检测部位区域C5的异常渲染识别过程,可以参见上述待检测部位区域C2的异常渲染识别过程。业务服务器100可以同时针对各个待检测部位区域进行异常渲染识别,得到每个待检测部位区域的异常渲染结果,也可以依次对各个待检测部位区域进行异常渲染识别,如果确定某个待检测部位区域渲染异常,可以确定待检测图像300a中目标虚拟角色300b的渲染异常,终止后续对其他待检测部位区域的异常渲染识别,节约内存资源。
其中,上述针对虚拟角色的异常渲染检测过程还可以由终端设备200a执行,此处仅以业务服务器100执行为例进行说明,本申请实施例对此不做限制。需要说明的是,上述异常渲染检测方案可以应用于游戏、视频、即时通信等各类存在虚拟角色的场景中,本申请实施例仅以游戏应用为例进行说明,在其它场景下的检测过程与上述描述的过程一致,这里不再赘述。
其中,上述过程涉及到的待检测部位区域和标准关键部位区域的获取、像素相似参数的获取、前后景类型的确定,具体过程可以参见下述图3所对应的实施例。
请参见图3,图3是本申请实施例提供的一种虚拟角色检测方法的流程示意图。该方法由图1中所述的计算机设备执行,即可以为图1中的业务服务器100,也可以为图1中的终端设备集群(也包括终端设备200a、终端设备200b、终端设备200c以及终端设备200n)。如图3所示,该虚拟角色检测方法可以包括如下步骤S101-步骤S105。
步骤S101,获取包含目标虚拟角色的待检测图像,获取包含标准虚拟角色的基准图像;所述目标虚拟角色和所述标准虚拟角色属于同一种虚拟角色。
具体的,计算机设备可以获取目标应用(例如游戏应用、视频应用、即时通信应用等)中包含目标虚拟角色的待检测图像。目标应用中的目标虚拟角色处于虚拟场景中,并且目标虚拟角色可以在虚拟场景中原地旋转360度,不同旋转角度下目标虚拟角色在虚拟场景中的显示画面不同,各个旋转角度的目标虚拟角色渲染在终端设备上的显示画面(如上述图2a所示的游戏画面300a)时,都可能出现异常,通常情况下,检测目标虚拟角色的渲染是否异常,只需要获取目标虚拟角色的旋转角度为0度、90度、180度以及270度(四个选择角度是可以覆盖人眼所看到的360度范围)对应的显示画面作为待检测图像,然后分别对每幅待检测图像进行异常渲染检测,即可确定该目标虚拟角色在虚拟场景中的各个旋转角度对应的显示画面的渲染是否异常。为方便理解,请一并参见图4a,图4a是本申请实施例提供的一种不同旋转角度下的虚拟角色示意图。如图4a所示,待检测图像41a、待检测图像41b、待检测图像41c以及待检测图像41d中均包含同一虚拟角色41e。待检测图像41a中虚拟角色41e的旋转角度为0度;待检测图像41b中虚拟角色41e的旋转角度为90度,待检测图像41c中虚拟角色41e的旋转角度为180度;待检测图像41d中虚拟角色41e的旋转角度为270度。
具体的,计算机设备可以获取待检测图像的基础信息,其中,基础信息包括目标虚拟角色所属虚拟角色的角色标识、目标虚拟角色的旋转角度信息、以及待检测图像的版本信息等等。根据待检测图像的基准信息,计算机设备可以在基准数据库中获取与目标虚拟角色所属虚拟角色的角色标识、目标虚拟角色的旋转角度信息以及待检测图像的版本信息等基准信息相匹配的基准图像。其中,基准图像包含有标准虚拟角色,标准虚拟角色与目标虚拟角色属于同一种虚拟角色。
可选的,上述基础信息可以包含虚拟场景信息,当虚拟场景信息匹配时,待检测图像中虚拟场景和基准图像中的虚拟场景一致。其中,虚拟场景可以分为动态虚拟场景和半动态虚拟场景,动态虚拟场景通常指用户操作虚拟角色完成游戏时的场景,此时在目标应用的显示画面中的虚拟角色的位置可能随着用户的操作而变化;半动态虚拟场景是指虚拟角色的位置不变的场景,也就是说,用户操作的虚拟角色在半动态虚拟场景下,虚拟角色的虚拟装饰物品可以根据用户的设置发生改变,但是虚拟角色的位置不会更改,不过在半动态虚拟场景下虚拟角色可以原地旋转。为了加快后续检测速度,通常获取目标虚拟角色位于半动态虚拟场景下的待检测图像,此时获取到的基准图像中的标准虚拟角色也处于半动态虚拟场景下,则二者的在各自图像中的位置信息是相同的,后续获取虚拟角色时可以通过检测标准虚拟角色在基准图像中的位置信息,然后根据该位置信息在待检测图像中获取目标虚拟角色。
为便于理解,后续以待检测图像中目标虚拟角色处于半动态虚拟场景下且旋转角度为0度,基准图像中标准虚拟角色和目标虚拟角色处于同一半动态虚拟场景下且旋转角度相同的情况为例进行说明。
步骤S102,在所述基准图像中获取与所述标准虚拟角色相关的标准关键部位区域,在所述待检测图像中获取与所述目标虚拟角色相关的待检测部位区域。
具体的,计算机设备可以获取标准虚拟角色在基准图像中的角色位置信息;然后根据标准虚拟角色在基准图像中的角色位置信息,对标准虚拟角色进行关键部位分割,得到标准关键部位区域。其中,标准关键部位区域为包含标准虚拟角色的关键部位的区域,可以包括头部区域(如上述图2b所示的标准关键部位区域B2)、影子区域(如上述图2b所示的标准关键部位区域B1)、上身区域(如上述图2b所示的标准关键部位区域B3)、下身区域(如上述图2b所示的标准关键部位区域B4)、脚部区域(如上述图2b所示的标准关键部位区域B5)等等。目标虚拟角色和标准虚拟角色处于同一半动态虚拟场景下且旋转角度相同时,待检测部位区域在待检测图像中与半动态虚拟场景的相对位置,与标准关键部位区域在基准图像中与该半动态虚拟场景的相对位置相同。因此,计算机设备可以根据标准关键部位区域在基准图像中的位置信息,确定待检测区域在待检测图像中的位置信息。比如,待检测图像和基准图像的尺寸大小相同且显示的半动态虚拟场景相同时,可以使用相同的位置坐标系,此时,计算机设备可以获取标准关键部位区域在基准图像中的位置坐标,然后将该位置坐标直接映射到待检测图像的位置坐标系中,以此在待检测图像中获取与目标虚拟角色相关的待检测部位区域。可选的,计算机设备在待检测图像中获取与目标虚拟角色相关的待检测部位区域的过程,也可以为:获取目标虚拟角色在待检测图像中的角色位置信息,然后对目标虚拟角色进行关键部位分割,得到待检测部位区域。
具体的,要获取虚拟角色在待处理图像中的角色位置信息,计算机设备可以将待处理图像输入预先训练好的角色检测网络,进而可以在角色检测网络中,对待处理图像进行特征提取,得到图片特征矩阵,通常情况下,根据该图片特征矩阵可以生成至少两个检测框,其中,检测框也可以称为边界框(bounding box),用于定位出目标检测物体(本申请实施例中指虚拟角色)在基准图像中的位置。对至少两个检测框进行非极大值抑制处理(Non-Maximum Suppression,NMS),可以得到待处理检测框。其中,待处理图像是可以是上述基准图像,也可以是上述待检测图像,包括但不限于游戏画面图像、视频画面图像。虚拟角色是指待处理图像中需要检测的目标角色,包括但不限于虚拟人物、虚拟植物、虚拟动物、虚拟建筑、虚拟载具、虚拟物品等动态或静态的角色形象。
其中,在上述虚拟角色检测过程中,基于深度学习的角色检测网络包括角色分类和角色定位两个子任务,本申请实施例中主要是针对虚拟角色的检测,因此对象分类这个子任务主要是检测出待处理图像中类型为虚拟角色的物体,而角色定位这个子任务需要预测出虚拟角色在待处理图像中的位置,可选的,角色定位的过程不仅可以预测出待处理图像中虚拟角色的检测框,针对每个检测框还可以预测出一个置信度(confidence score),这里的置信度包含有两个方面信息,一是检测框包含有虚拟角色的可能性大小,二是检测框的准确度,因此置信度可以看成是检测框是否包含有虚拟角色的概率,且由于虚拟角色检测过程中可能会产生多个检测框用以框选在待处理图像中可能是虚拟角色的物体,因此可以先忽略那些置信度低于预设置信度阈值(比如0.3)的检测框,然后再对剩下的检测框进行非极大值抑制处理,这里进行非极大值抑制处理的目的是要去除重复冗余的检测框,从预测的检测框中提取出独立的、置信度最大的检测框,作为检测结果,即待处理检测框,最终可将检测结果映射为该待处理检测框在待处理图像中的检测框位置信息(例如待处理检测框在待处理图像中的位置坐标),该检测框位置信息可以作为虚拟角色在待处理图像中的角色位置信息。
具体的,在本申请实施例中,计算机设备通过角色检测网络对基准图像中的标准虚拟角色进行位置检测时,得到的待处理检测框可以均为矩形检测框,待处理检测框的检测框位置信息可以表示为区域坐标[(x1,y1),(x2,y2)],其中,(x1,y1)为待处理检测框左上角顶点在基准图像中的位置坐标,(x2,y2)为待处理检测框右下角顶点在基准图像中的位置坐标。也就是说,基准图像中标准虚拟角色的角色位置信息可以为区域坐标[(x1,y1),(x2,y2)],计算机设备根据该区域坐标可以获取到标准虚拟角色位置区域。然后,计算机设备可以获取标准关键部位与标准虚拟角色之间的位置比例关系,根据该位置比例关系和角色位置信息生成区域坐标,然后根据该区域坐标可以在基准图像中获取标准关键部位区域。其中,标准关键部位区域处于虚拟角色位置区域中,标准关键部位与标准虚拟角色之间的位置比例关系可以通过对大量图片样本数据进行统计所得。其中,位置比例关系用于表示每个标准关键部位区域与标准虚拟角色位置区域的相对占比,因此位置比例关系不是固定的,可以根据实际情况进行调整,且根据标准虚拟角色的不同形象,还可以划分出不同的标准关键部位区域,本申请实施例仅以虚拟角色为虚拟人物形象为例进行说明。
步骤S103,通过滑动窗口在所述标准关键部位区域中获取第一子区域,通过所述滑动窗口在所述待检测部位区域中获取第二子区域。
具体的,计算机设备可以控制滑动窗口根据滑动方向和滑动步长在标准关键部位区域中进行滑动,将每次滑动结束后,滑动窗口在标准关键部位区域中覆盖的区域,作为第一子区域。其中,滑动窗口的尺寸大小、滑动方向以及滑动步长,可以根据虚拟角色的类型、部位区域的类型等设定,这里不作限制,不过,为了更细粒度的进行异常渲染检测,滑动窗口的尺寸大小通常小于标准关键部位区域的尺寸大小,因此,通过滑动窗口的滑动,计算机设备可以得到至少两个第一子区域。计算机设备在待检测部位区域中获取第二子区域时使用的滑动窗口尺寸大小、滑动方向以及滑动步长,和在标准关键部位区域中获取第一子区域时使用的滑动窗口尺寸大小、滑动方向以及滑动步长应该保证一致。因为属于同一部位类型的标准关键部位区域和同一部位类型的待检测部位区域的尺寸大小相同,此时,滑动窗口在该部位类型的标准关键部位区域中的滑动次数与滑动窗口在该部位类型的待检测部位区域中的滑动次数相同。
步骤S104,获取所述第一子区域和所述第二子区域之间的像素相似参数。
具体的,由于滑动窗口在属于同一部位类型的标准关键部位区域中和待检测部位区域中的滑动次数相同,则第一子区域的数量与第二子区域的数量相同。获取第一子区域和第二子区域之间的像素相似参数,可以是,获取由滑动窗口在属于同一部位类型区域的标准关键部位区域中和待检测部位区域中通过相同滑动次数得到的第一子区域和第二子区域,确定两个区域之间的像素相似参数,比如,计算机设备通过滑动窗口第一次在标准头部区域中滑动,得到第一个第一子区域,通过滑动窗口第一次在待检测头部区域中滑动,得到第一个第二子区域,然后计算机设备会确定第一次滑动得到的2个子区域之间的像素相似参数;然后,计算机设备通过滑动窗口第二次在标准头部区域中滑动,得到第二个第一子区域,通过滑动窗口第二次在待检测头部区域中滑动,得到第二个第二子区域,然后计算机设备会确定第二次滑动得到的2个子区域之间的像素相似参数……直到计算机设备停止滑动窗口的滑动,停止获取像素相似参数。
具体的,像素相似参数是用于判定第一子区域和第二子区域之间是否具有相似性的参数。对于第一子区域和第二子区域之间像素相似参数的获取方法,可以包括相关系数法、均差系数法、模块匹配、巴氏系匹配、SIFT(Scale-invariant feature transform,尺度不变特征变换)特征匹配等等。当根据像素相似参数确定第一子区域和第二子区域相似时,因为第一子区域是从基准图像中获取的渲染正常的区域,因此计算机设备可以确定第二子区域的渲染正常;当根据像素相似参数确定第一子区域和第二子区域不相似时,计算机设备可以确定第二子区域的渲染异常。
步骤S105,根据所述像素相似参数和所述第二子区域的前后景类型对所述待检测部位区域进行异常渲染识别。
具体的,前后景类型包括前景类型和后景类型,第二子区域为前景类型时,说明第二子区域中的图像为虚拟角色相关图像,第二子区域为背景类型时,说明第二子区域中的图像为背景图像,与虚拟角色的渲染显示无关。可以理解的是,待检测部位区域是一个矩形区域,而虚拟角色的关键部位实际上是不规则的区域,获取到的待检测部位区域中存在部分区域为背景区域。为便于理解,请一并参见图4b,图4b是本申请实施例提供的一种第二子区域的前后景类型示意图。如图4b所示,待检测部位区域X1是计算机设备从待检测图像中获取的与目标虚拟角色相关的矩形区域,滑动窗口Y1在待检测部位区域X1中进行滑动时,能够得到多个第二子区域,一个可能的时刻,计算机设备通过滑动窗口Y1在待检测部位区域X1中获取到第二子区域Z1,明显,第二子区域Z1中包含有目标虚拟角色的一部分,第二子区域Z1如果渲染异常,则说明目标虚拟角色的渲染异常,此时可以确认第二子区域Z1为无效子区域;第二子区域Z1如果渲染正常,可以确认第二子区域Z1为有效子区域。请再参见图4b,滑动窗口Y1可以继续在待检测部位区域X1中滑动,一个可能的时刻,计算机设备通过滑动窗口Y1在待检测部位区域X1中获取到第二子区域Z2,明显,第二子区域Z2为背景区域,此时第二子区域是否渲染异常与目标虚拟角色渲染是否异常无关,可以确认第二子区域Z2为无效子区域。
具体的,计算机设备确认第二子区域的前后景类型,可以是根据第二子区域在待检测图像中的位置信息,和待检测部位区域在待检测图像中的位置信息,在待检测图像中获取背景区域;确定背景区域和第二子区域的背景相似度;若背景相似度大于背景相似阈值,则确定第二子区域的前后景类型为后景类型;若背景相似度小于或等于背景相似阈值,则确定第二子区域的前后景类型为前景类型。
具体的,计算机设备对待检测部位区域进行异常渲染识别,可以是对每个第二子区域进行有效区域识别,如果通过滑动窗口在待检测部位区域中获取到的每个第二子区域均为有效子区域,则计算机设备可以确定待检测部位区域渲染正常;如果计算机设备确定某个第二子区域为无效子区域,则计算机设备可以确定待检测部位区域渲染异常,可选的,计算机设备可以停止对剩余第二子区域的有效区域识别,释放内存资源。为便于理解,假设,通过滑动窗口可以获取到的至少两个第一子区域包括第一子区域Mi;通过滑动窗口可以获取到的至少两个第二子区域包括第二子区域Ni。其中,i为正整数,且i小于或等于至少两个第一子区域的数量,至少两个第一子区域的数量与至少两个第二子区域的数量相同。因此,根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别的过程,可以包括:根据第一子区域Mi与第二子区域Ni之间的像素相似参数以及第二子区域Ni对应的前后景类型对第二子区域Ni进行有效区域识别;若第二子区域Ni为无效子区域,则确定待检测部位区域渲染异常;若第二子区域Ni为有效子区域,则根据第一子区域Mi+1与第二子区域Ni+1之间的像素相似参数以及第二子区域Ni+1对应的前后景类型,对第二子区域Ni+1进行有效区域识别,直至确定出至少两个第二子区域均为有效子区域时确定待检测部位区域渲染正常。其中,第一子区域Mi+1为由滑动窗口所遍历到的第一子区域Mi的下一个子区域;第二子区域Ni+1为由滑动窗口所遍历到的第二子区域Ni的下一个子区域。
具体的,根据第一子区域Mi与第二子区域Ni之间的像素相似参数以及第二子区域Ni对应的前后景类型对第二子区域Ni进行有效区域识别的过程,可以为:若根据第一子区域Mi与第二子区域Ni之间的像素相似参数确定第一子区域Mi和第二子区域Ni相似,即第二子区域Ni渲染正常,计算机设备会确定第二子区域Ni为有效子区域;若根据第一子区域Mi与第二子区域Ni之间的像素相似参数确定第一子区域Mi和第二子区域Ni不相似,即第二子区域Ni渲染异常,此时计算机设备会确定第二子区域Ni的前后景类型,若第二子区域Ni的前后景类型为前景类型,计算机设备会确定第二子区域Ni为无效子区域;若第二子区域Ni的前后景类型为后景类型,计算机设备会确定第二子区域Ni为有效子区域。
通过本申请实施例提供的方法,可以获取包含目标虚拟角色的待检测图像,以及包含标准虚拟角色的基准图像,然后在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;可以进一步通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在所述待检测部位区域中获取第二子区域,然后获取第一子区域和第二子区域之间的像素相似参数,最终根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别。采用本申请提供的方法,可以自动化地识别待检测图像中与目标虚拟角色相关的待检测部位区域渲染是否异常,并通过确定待检测部位区域中的第二子区域的前后景类型,降低背景区域渲染异常对虚拟角色异常渲染识别的影响,从而可以满足各类产品的虚拟角色异常渲染识别,节省人力成本,加快测试流程,并提高检测虚拟角色的效率和准确率。
进一步地,请参见图5,图5是本申请实施例提供的一种虚拟角色检测方法的流程示意图。该方法由图1中所述的计算机设备执行,即可以为图1中的业务服务器100,也可以为图1中的终端设备集群(也包括终端设备200a、终端设备200b、终端设备200c以及终端设备200n)。如图5所示,该虚拟角色检测方法可以包括如下步骤S201-步骤S205。
步骤S201,获取包含目标虚拟角色的待检测图像,获取包含标准虚拟角色的基准图像;所述目标虚拟角色和所述标准虚拟角色属于同一种虚拟角色。
步骤S202,在所述基准图像中获取与所述标准虚拟角色相关的标准关键部位区域,在所述待检测图像中获取与所述目标虚拟角色相关的待检测部位区域。
步骤S203,通过滑动窗口在所述标准关键部位区域中获取第一子区域,通过所述滑动窗口在所述待检测部位区域中获取第二子区域。
具体的,步骤S201-步骤S203的实现,可以参见上述图3所对应实施例中步骤S101-步骤S103的具体描述,这里不再进行赘述。
步骤S204,获取所述第一子区域和所述第二子区域之间的像素相似参数;所述像素相似参数包括像素相关系数和像素均差系数。
具体的,计算机设备可以获取第一子区域对应的标准三通道图像,从标准三通道图像中提取标准单通道图像;获取第二子区域对应的待检测三通道图像,从待检测三通道图像中提取待检测单通道图像;确定组成标准单通道图像的标准像素点,确定组成待检测单通道图像的待检测像素点;根据标准像素点对应的像素值和待检测像素点对应的像素值,确定像素相关系数和像素均差系数。其中,标准三通道图像和待检测三通道图像均可以为R(红)G(绿)B(蓝)三通道图像,RGB三通道图像是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。其中,标准单通道图像可以为标准三通道图像中R通道对应的图像,待检测单通道图像可以为待检测三通道图像中R通道对应的图像。
具体的,根据标准像素点对应的像素值和待检测像素点对应的像素值,确定像素相关系数的过程,可以为:通过标准像素点对应的像素值确定标准单通道图像对应的第一标准差;通过待检测像素点对应的像素值确定待检测单通道图像对应的第二标准差;通过标准像素点对应的像素值和待检测像素点对应的像素值确定标准单通道图像和待检测单通道图像之间的协方差;然后根据第一标准差、第二标准差以及协方差,确定所述像素相关系数。假设xi为标准像素点的像素值,yi为待检测像素点的像素值,为标准单通道图像像素值平均值,/>为待检测单通道图像像素值平均值,n为标准单通道图像的像素点的总个数,待检测单通道图像的像素点的总个数和标准单通道图像相同,则第一标准差S1为:
同理,第二标准差S2为:
标准单通道图像和待检测单通道图像之间的协方差cov(x,y)为:
根据第一标准差、第二标准差以及协方差确定像素相关系数cor(x,y),可以为:
将上述公式(1)、公式(2)以及公式(3)代入公式(4),可得到
根据上述公式(1)-(5),计算机设备可以确定第一子区域和第二子区域之间的像素相关系数。
具体的,根据标准像素点对应的像素值和待检测像素点对应的像素值,确定像素均差系数的过程,还可以为:根据标准像素点对应的像素值与第一平均像素值之间的差值,确定标准单通道图像对应的第一绝对值;根据待检测像素点对应的像素值与第二平均像素值之间的差值,确定标准单通道图像对应的第二绝对值;根据第一绝对值、第二绝对值均差以及均差阈值,确定像素均差系数。其中,第一平均像素值是指标准像素点的平均像素值,即上述所说的第二平均像素值是指待检测像素点的平均像素值,即上述所说的/>同样,设xi为标准像素点的像素值,yi为待检测像素点的像素值,标准像素点和待检测像素点的个数均为n个,则第一绝对值d(x)可以为:
第二绝对值d(y)可以为:
均差阈值t是一个常量,具体取值可以根据实际情况作调整,这里不作限定。
具体的,根据所述第一绝对值、所述第二绝对值均差以及均差阈值,确定所述像素均差系数的过程,可以为:若第一绝对值等于第二绝对值,则将均差标准参数确定为像素均差系数;若第一绝对值不等于参考阈值,且第二绝对值不等于参考阈值,则将第一绝对值和第二绝对值中的最小值,作为分子绝对值,将第一绝对值和第二绝对值中的最大值,作为分母绝对值,将分子绝对值和分母绝对值相除,得到像素均差系数;若第一绝对值和第二绝对值中的任一数值等于参考阈值,则将第一绝对值和第二绝对值中的最大值,作为目标绝对值,将均差阈值和目标绝对值相除,得到像素均差系数。上述过程可理解为下述公式(8):
其中,c(x,y)即像素均差系数,通过上述公式(8),可以求出c(x,y)的具体值。
步骤S205,根据所述像素相关系数、所述像素均差系数和所述第二子区域的前后景类型对所述待检测部位区域进行异常渲染识别。
具体的,计算机设备会根据像素相关系数、像素均差系数和第二子区域的前后景类型对第二子区域进行有效区域识别,然后根据第二子区域的有效性对待检测部位区域进行异常渲染识别。为便于理解,以计算机设备获取至少两个第一子区域中的第一子区域Mi和至少两个第二子区域中的第二子区域Ni之间的像素相关系数Xi和像素均差系数Yi后,根据像素相关系数Xi、像素均差系数Yi以及第二子区域Ni的前后景类型对第二子区域Ni进行有效区域识别为例进行下述有效区域识别的说明。
一个可行的实施例中,计算机设备可以根据像素相关系数Xi、像素均差系数Yi以及第二子区域Ni的前后景类型对第二子区域Ni进行有效区域识别,该有效区域识别的过程可以为:若像素相关系数Xi大于相关阈值,则确定第二子区域Ni为有效子区域;若像素相关系数Xi等于相关阈值,则将像素均差系数Yi与均差阈值进行比对;若像素均差系数Yi大于均差阈值,则确定第二子区域Ni为有效子区域;若像素相关系数Xi小于相关阈值,或像素均差系数Yi小于或等于均差阈值,则获取第二子区域Ni对应的前后景类型;若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。其中,相关阈值的取值可以为0;均差阈值的取值可以根据实际情况来调整。
一个可行的实施例中,计算机设备可以根据像素相关系数Xi以及第二子区域Ni的前后景类型对第二子区域Ni进行有效区域识别,该有效区域识别的过程可以为:若像素相关系数Xi大于相关阈值,则确定第二子区域Ni为有效子区域;若像素相关系数Xi小于或等于相关阈值,则获取第二子区域Ni对应的前后景类型;若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
一个可行的实施例中,计算机设备可以根据像素均差系数Yi以及第二子区域Ni的前后景类型对第二子区域Ni进行有效区域识别,该有效区域识别的过程可以为:若像素均差系数Yi大于均差阈值,则确定第二子区域Ni为有效子区域;若像素均差系数Yi小于或等于均差阈值,则获取第二子区域Ni对应的前后景类型;若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
具体的,计算机设备根据第二子区域的有效性对待检测部位区域进行异常渲染识别的具体实现,可以参见上述图3所对应实施例中步骤S105的具体描述,这里不再进行赘述。
通过本申请实施例提供的方法,可以获取包含标准虚拟角色的基准图像中第一子区域和包含目标虚拟角色的待检测图像中第二子区域的像素相关系数和像素均差系数,然后根据像素相关系数、像素均差系数以及第二子区域的前后景类型对第二子区域进行有效区域识别,进而根据第二子区域的有效性对待检测图像中的待检测部位区域是否渲染异常。采用本申请提供的方法,通过像素相关系数和像素均差系数来识别待检测图像中与目标虚拟角色相关的待检测部位区域渲染是否异常,可以降低由于版本变化造成的虚拟角色整体亮度和色度变化造成的待检测图像和基准图像产生的误差,从而提高检测虚拟角色的准确率。
请参见图6a,图6a是本申请实施例提供的一种获取标准关键部位区域的流程图。如图6a所示,步骤S301-S305可以看作是对上述图3所对应实施例的补充描述,也可以看作是对上述图2b所对应实施例的补充描述。步骤S301-步骤S303是本申请实施例提供的一种在基准图像中获取与标准虚拟角色相关的标准关键部位区域的可行实施方式,可以包括以下步骤:
步骤S301,获取基准图像。
具体的,基准图像中包含有标准虚拟角色。
步骤S302,通过角色检测网络对基准图像进行检测,得到身体垂直区域、躯干外围区域、角色影子区域。
具体的,计算机设备可以选择运行速度较快、检测精度较高的SSD(Single ShotMultiBox Detector,目标检测)网络作为角色检测网络来对基准图像中的标准虚拟角色进行身体外部轮廓检测,得到三个待处理检测框,包括身体垂直区域检测框、躯干外围区域检测框以及角色影子检测框。为便于理解,请一并参见图6b,图6b是本申请实施例提供的一种待处理检测框示意图。如图6b所示,通过SSD网络对基准图像500a进行检测,得到标准虚拟角色相关的三个待处理检测框,即身体垂直区域检测框F1,躯干外围检测框F2以及角色影子检测框F3。基准图像中被身体垂直区域检测框F1覆盖的区域,即为身体垂直区域;被躯干外围检测框F2覆盖的区域,即为躯干外围区域;被角色影子检测框F3覆盖的区域,即为角色影子区域。此时,标准虚拟角色对应的角色位置信息,包括身体垂直区域位置信息、躯干外围区域位置信息和角色影子区域位置信息,每个区域位置信息为对应的待处理检测框的检测框位置信息,由每个区域的左上角顶点位置坐标和右下角顶点位置坐标确定。假设,身体垂直区域位置信息为[(x1,y1),(x2,y2)],躯干外围区域位置信息为[(x3,y3),(x4,y4)]以及角色影子区域位置信息为[(x5,y5),(x6,y6)]。
步骤S303,对身体垂直区域、躯干外围区域和角色影子区域进行区域分割,得到标准关键部位区域。
具体的,角色影子区域即为影子关键部位区域,因此可以根据角色影子区域位置信息[(x5,y5),(x6,y6)],直接在基准图像中获取影子关键部位区域。计算机设备可以根据身体垂直区域位置信息可以确定标准虚拟角色的高度为(y2-y1),然后可以获取身体关键部位在标准虚拟角色中的高度占比参数,根据高度占比参数和标准虚拟角色的高度确定身体关键部位的高度,并根据身体关键部位的高度、身体垂直区域位置信息、躯干外围区域位置信息,在基准图像中获取身体关键部位区域。假设身体关键部位区域包括头部区域、上身区域、下身区域以及脚部区域,获取标准虚拟角色的脚部、下身、上身占人身高的比例分别为r1、r2、r3,由身体垂直区域位置信息和r1的值可以确定脚部的高度h1为(y2-y1)*r1,则脚部区域左上角坐标为(x1,y2-h1),右下角区域坐标为(x2,y2),同理获得下身身体高度h2为(y2-y1)*r2,上身身体高度h3为(y2-y1)*r3,头部高度h4为(y2-y1)-h1-h2-h3,则下身区域坐标为[(x1,y2-h1-h2),(x2,y2-h1)],上身区域坐标为[(x1,y2-h1-h2-h3),(x2,y2-h1-h2)],头部区域坐标为[(x1,y1),(x2,y2-h1-h2-h3)]。另外,标准虚拟角色中还存在一些穿戴关键部位区域,比如眼镜区域,手链区域等等。计算机设备可以获取穿戴关键部位区域在身体关键部位区域中的目标位置关系;根据目标位置关系和身体关键部位区域,在基准图像中获取穿戴关键部位区域。比如,眼镜区域可以根据眼镜区域在头部区域中的相对位置获取。上述身体关键部位区域、穿戴关键部位区域以及影子关键部位区域,即为标准虚拟角色相关的标准关键部位区域。为便于理解,请一并参见图6c,图6c是本申请实施例提供的一种标准关键部位区域示意图。如图6c所示,计算机设备对图6b中基准图像500a中的虚拟角色500b对应的身体垂直区域、躯干外围区域和角色影子区域进行区域分割后,得到六个标准关键部位区域,即脚部区域G1,下身区域G2,上身区域G3,头部区域G4,眼镜区域G5以及影子关键部位区域G6。
采用本申请实施例提供的方法,可以通过滑动窗口从待检测图像的与目标虚拟角色相关的待检测部位区域中获取第二子区域,通过滑动窗口从基准图像的与标准虚拟角色相关的标准部位区域中获取第一子区域,然后基于第一子区域实现第二子区域的有效区域识别,再根据第二子区域的有效性对待检测部位区域进行异常渲染识别。滑动窗口的尺寸大小通常小于待检测部位区域,因此可以从粒度较大的待检测部位区域获取到粒度较小的第二子区域,从而实现待检测区域的细粒度检测,提高检测虚拟角色的准确率。
进一步地,请参见图7,图7是本申请实施例提供的一种虚拟角色异常检测方法的流程图。如图7所示,该虚拟角色异常检测方法包括以下步骤:
步骤S401,获取包含标准虚拟角色的基准图像和包含目标虚拟角色的待检测图像。
具体的,通过采集工具获取新版本目标应用中需要对比的原始图像,即待检测图像,然后通过版本等信息获取数据库中的基准图像,其中基准图像可以通过新版本中的游戏角色标识号、旋转角度等通过查找数据库获取。步骤S401的实现可以参见上述图3所对应实施例中步骤S101的实现,这里不再进行赘述。
步骤S402,对基准图像中的标准虚拟角色和待检测图像中的目标虚拟角色进行部位分割,得到标准关键部位区域和待检测部位区域。
具体的,通过身体部位自动分割算法获取虚拟角色的头部、上身、下身等部位,即在基准图像中获取标准关键部位区域,在待检测图像中获取待检测部位区域。步骤S402的实现可以参见上述图3所对应实施例中步骤S102的描述,这里不再进行赘述。
步骤S403,循环对各个待检测部位区域进行检测。
具体的,依次对各个待检测部位区域进行异常渲染检测,若分割部位得到的待检测部位区域全部检测结束,则执行步骤S409,若待检测部位区域未检测结束,则执行步骤S404。
步骤S404,提取R通道图像。
具体的,获取待检测部位区域的RGB三通道图像,并提取对应的R通道图像作为待检测单通道图像;同时获取标准关键部位区域的RGB三通道图像,并提取对应的R通道图像作为标准单通道图像。
步骤S405,滑动窗口检测。
具体的,可以在待检测单通道图像上用宽为w、高为h的滑动窗口分别沿x方向和y方向进行滑动窗口检测,x方向和y方向的滑动步长均设置为5个像素,每滑动一次滑动窗口,在待检测单通道图像中获取第二子区域,以相同的方式在标准单通道图像中获取与第二子区域对应的第一子区域,然后基于第一子区域对第二子区域进行异常检测。若通过滑动窗口在待检测单通道图像中获取到未进行异常检测的第二子区域,则执行步骤S406;若通过滑动窗口在待检测单通道图像中获取不到未进行异常检测的第二子区域,确定滑动结束,返回执行步骤S403;
步骤S406,相关系数检测。
具体的,相关系数即上述像素相关系数,相关系数的获取过程可以参见上述图3所对应实施例中步骤S104的描述,这里不再进行赘述。
具体的,获取到相关系数后,若相关系数大于0,说明此时获取到的第二子区域和其对应的第一子区域相似,该第二子区域的渲染正常,则返回执行步骤S405;若相关系数等于0,说明此时无法确定第二子区域和第一子区域之间的相似性,可以执行步骤S407,进一步判断第二子区域和第一子区域之间的相似性;若相关系数小于0,说明此时获取到的第一子区域与第二子区域不相似,该第二子区域的渲染异常,此时应执行步骤S408,确定该第二子区域是否为背景区域。
步骤S407,均差系数检测。
具体的,均差系数即上述像素均差系数,均差系数的获取过程可以参见上述图3所对应实施例中步骤S104的描述,这里不再进行赘述。
具体的,获取到均差系数后,若均差系数大于均差阈值,说明此时获取到的第二子区域和其对应的第一子区域相似,第二子区域的渲染正常,则返回执行步骤S405;若均差系数小于或等于均差阈值,说明此时获取到的第一子区域与第二子区域不相似,该第二子区域的渲染异常,此时应执行步骤S408,确定该第二子区域是否为背景区域。
步骤S408,位置相关性匹配。
具体的,对第二子区域进行位置相关性匹配,确定第二子区域是否为背景区域。若第二子区域为背景区域,即上述所说的第二子区域的前后景类型为后景类型,说明第二子区域的渲染是否异常与待检测图像中的目标虚拟角色是否渲染异常无关,此时应返回执行步骤S405;若第二子区域为非背景区域,即上述所述的第二子区域的前后景类型为前景类型,此时第二子区域异常,说明目标虚拟角色相关的部位渲染异常,执行步骤S409。
步骤S409,停止检测。
采用本申请实施例提供的方法,将滑动窗口、像素相关系数、像素均差系数以及前后景类型相结合,做到全自动化检测目标虚拟角色,提高了测试效率,并且降低了成本。
进一步地,请参见图8,图8是本申请实施例提供的一种位置相关性匹配的流程示意图。位置相关性匹配是用于确定第二子区域是否为背景区域,也就是上述所说的确定第二子区域的前后景类型,该位置相关性匹配的流程可以包括以下步骤:
S501,获取待检测图像。
S502,确定第二子区域坐标和背景区域坐标。
具体的,通过上述图3所对应实施例中步骤S101-S103的描述,可以确定待检测部位区域坐标[(x1,y1),(x2,y2)],滑动窗口坐标即第二子区域坐标,为[(x3,y3),(x4,y4)],结合待检测部位区域坐标和滑动窗口坐标,可以确定背景区域坐标为[(x1-x4+x3,y3),(x1,y4)]。
S503,根据第二子区域坐标和背景区域坐标在待检测图像中获取第二子区域和背景区域。
S504,对第二子区域和背景区域进行模板匹配,得到背景相似度。
S505,根据背景相似度和背景相似阈值,确定第二子区域和背景区域的位置相关性,确定第二子区域的前后景类型。
具体的,若背景相似度大于背景相似阈值,则确定第二子区域和背景区域位置相关,从而确定第二子区域的前后景类型为后景类型;若背景相似度小于或等于背景相似阈值,则确定第二子区域和背景区域位置不相关,从而确定第二子区域的前后景类型为前景类型。
通过本申请实施例提出的方法,通过滑动窗口的位置坐标和待检测部位区域的位置坐标,计算机设备可以从待检测图像中获取背景区域,然后通过模块匹配确定第二子区域和背景区域的位置相关性,从而确定第二子区域的前后景类型。采用本申请实施例提供的方法,可以快速确定背景区域在待检测图像中的位置坐标,从而从待检测图像中获取背景区域,提高检测的速度。
进一步地,请参见图9,图9是本申请实施例提供的一种虚拟角色检测装置的结构示意图。上述虚拟角色检测装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该虚拟角色检测装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该虚拟角色检测装置1可以包括:角色获取模块11、区域获取模块12、滑动获取模块13、参数获取模块14以及渲染识别模块15。
角色获取模块11,用于获取包含目标虚拟角色的待检测图像,获取包含标准虚拟角色的基准图像;目标虚拟角色和标准虚拟角色属于同一种虚拟角色;
区域获取模块12,用于在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;
滑动获取模块13,用于通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在待检测部位区域中获取第二子区域;
参数获取模块14,用于获取第一子区域和第二子区域之间的像素相似参数;
渲染识别模块15,用于根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别。
其中,角色获取模块11、区域获取模块12、滑动获取模块13、参数获取模块14以及渲染识别模块15的具体功能实现方式可以参见图3对应实施例中的步骤S101-步骤S105的具体描述,这里不再进行赘述。
请再参见图9,角色获取模块11可以包括:第一图像获取单元111、基础信息获取单元112以及第二图像获取单元113。
第一图像获取单元111,用于获取包含目标虚拟角色的待检测图像;
基础信息获取单元112,用于获取待检测图像的基础信息;基础信息包括目标虚拟角色的角色标识、目标虚拟角色的旋转角度信息以及待检测图像的版本信息;
第二图像获取单元113,用于在基准数据库中查找与标识号、旋转角度信息以及版本信息相匹配的基准图像;基准图像包括标准虚拟角色。
其中,第一图像获取单元111、基础信息获取单元112以及第二图像获取单元113的具体功能实现方式可以参见图3对应实施例中的步骤S101的具体描述,这里不再进行赘述。
请再参见图9,区域获取模块12可以包括:位置信息获取单元121、部位分割单元122以及区域获取单元123。
位置信息获取单元121,用于获取标准虚拟角色在基准图像中的角色位置信息;
部位分割单元122,用于根据标准虚拟角色在基准图像中的角色位置信息,对标准虚拟角色进行关键部位分割,得到标准关键部位区域;
区域获取单元123,用于根据标准关键部位区域在基准图像中的位置信息,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;待检测部位区域在待检测图像中的位置信息,与标准关键部位区域在基准图像中的位置信息相同。
其中,位置信息获取单元121、部位分割单元122以及区域获取单元123的具体功能实现方式可以参见图3对应实施例中的步骤S102的具体描述,这里不再进行赘述。
其中,角色位置信息包括身体垂直区域位置信息、躯干外围区域位置信息以及角色影子区域位置信息;
请再参见图9,部位分割单元122可以包括:部位获取子单元1221以及部位确定子单元1222。
部位获取子单元1221,用于根据角色影子区域位置信息获取影子关键部位区域;
部位获取子单元1221,还用于根据身体垂直区域位置信息确定标准虚拟角色的高度;
部位获取子单元1221,还用于获取身体关键部位在标准虚拟角色中的高度占比参数,根据高度占比参数和标准虚拟角色的高度确定身体关键部位的高度;
部位获取子单元1221,还用于根据身体关键部位的高度、身体垂直区域位置信息、躯干外围区域位置信息,在基准图像中获取身体关键部位区域;
部位获取子单元1221,还用于获取穿戴关键部位区域在身体关键部位区域中的目标位置关系;
部位获取子单元1221,还用于根据目标位置关系和身体关键部位区域,在基准图像中获取穿戴关键部位区域;
部位确定子单元1222,用于将身体关键部位区域、穿戴关键部位区域以及影子关键部位区域,确定为标准关键部位区域。
其中,部位获取子单元1221以及部位确定子单元1222的具体功能实现方式可以参见图6a对应实施例中的步骤S301-步骤S303的具体描述,这里不再进行赘述。
请再参见图9,参数获取模块14可以包括:单通道获取单元141、像素点确定单元142以及参数确定单元143。
单通道获取单元141,用于获取第一子区域对应的标准三通道图像,从标准三通道图像中提取标准单通道图像;
单通道获取单元141,还用于获取第二子区域对应的待检测三通道图像,从待检测三通道图像中提取待检测单通道图像;
像素点确定单元142,用于确定组成标准单通道图像的标准像素点,确定组成待检测单通道图像的待检测像素点;
参数确定单元143,用于根据标准像素点对应的像素值和待检测像素点对应的像素值,确定像素相似参数。
其中,单通道获取单元141、像素点确定单元142以及参数确定单元143的具体功能实现方式可以参见图5对应实施例中的步骤S204的具体描述,这里不再进行赘述。
其中,像素相似参数包括像素相关系数;
请再参见图9,参数确定单元143可以包括:第一计算子单元1431以及相关确定子单元1432。
第一计算子单元1431,用于通过标准像素点对应的像素值确定标准单通道图像对应的第一标准差;
第一计算子单元1431,还用于通过待检测像素点对应的像素值确定待检测单通道图像对应的第二标准差;
第一计算子单元1431,还用于通过标准像素点对应的像素值和待检测像素点对应的像素值确定标准单通道图像和待检测单通道图像之间的协方差;
相关确定子单元1432,还用于根据第一标准差、第二标准差以及协方差,确定像素相关系数。
其中,第一计算子单元1431以及相关确定子单元1432的具体功能实现方式可以参见图5对应实施例中的步骤S204的具体描述,这里不再进行赘述。
其中,像素相似参数包括像素均差系数;
请再参见图9,参数确定单元143可以包括:第二计算子单元1433以及均差确定子单元1434。
第二计算子单元1433,用于根据标准像素点对应的像素值与第一平均像素值之间的差值,确定标准单通道图像对应的第一绝对值;第一平均像素值是指标准像素点的平均像素值;
第二计算子单元1433,还用于根据待检测像素点对应的像素值与第二平均像素值之间的差值,确定标准单通道图像对应的第二绝对值;第二平均像素值是指待检测像素点的平均像素值;
均差确定子单元1434,用于根据第一绝对值、第二绝对值均差以及均差阈值,确定像素均差系数。
其中,第二计算子单元1433以及均差确定子单元1434的具体功能实现方式可以参见图5对应实施例中的步骤S204的具体描述,这里不再进行赘述。
其中,均差确定子单元具体用于若第一绝对值等于第二绝对值,则将均差标准参数确定为像素均差系数;若第一绝对值不等于参考阈值,且第二绝对值不等于参考阈值,则将第一绝对值和第二绝对值中的最小值,作为分子绝对值,将第一绝对值和第二绝对值中的最大值,作为分母绝对值,将分子绝对值和分母绝对值相除,得到像素均差系数;若第一绝对值和第二绝对值中的任一数值等于参考阈值,则将第一绝对值和第二绝对值中的最大值,作为目标绝对值,将均差阈值和目标绝对值相除,得到像素均差系数。
其中,前后景类型包括前景类型和后景类型;
请再参见图9,虚拟角色检测装置1还可以包括:背景获取模块16以及前后景判断模块17。
背景获取模块16,用于根据第二子区域在待检测图像中的位置信息,和待检测部位区域在待检测图像中的位置信息,在待检测图像中获取背景区域;
前后景判断模块17,用于确定背景区域和第二子区域的背景相似度;
前后景判断模块17,还用于若背景相似度大于背景相似阈值,则确定第二子区域的前后景类型为后景类型;
前后景判断模块17,还用于若背景相似度小于或等于背景相似阈值,则确定第二子区域的前后景类型为前景类型。
其中,背景获取模块16以及前后景判断模块17的具体功能实现方式可以参见图3对应实施例中步骤S104的具体描述,这里不再进行赘述。
其中,第一子区域的数量为至少两个;至少两个第一子区域包括第一子区域Mi,i为正整数,且i小于或等于至少两个第一子区域的数量;第二子区域的数量为至少两个;至少两个第二子区域包括第二子区域Ni,至少两个第一子区域的数量与至少两个第二子区域的数量相同;
请再参见图9,渲染识别模块15可以包括:有效区域识别单元151、有效处理单元152以及无效处理单元153。
有效区域识别单元151,用于根据第一子区域Mi与第二子区域Ni之间的像素相似参数以及第二子区域Ni对应的前后景类型对第二子区域Ni进行有效区域识别;
有效处理单元152,用于若第二子区域Ni为无效子区域,则确定待检测部位区域渲染异常;
无效处理单元153,用于若第二子区域Ni为有效子区域,则根据第一子区域Mi+1与第二子区域Ni+1之间的像素相似参数以及第二子区域Ni+1对应的前后景类型,对第二子区域Ni+1进行有效区域识别,直至确定出至少两个第二子区域均为有效子区域时确定待检测部位区域渲染正常;第一子区域Mi+1为由滑动窗口所遍历到的第一子区域Mi的下一个子区域;第二子区域Ni+1为由滑动窗口所遍历到的二子区域Ni的下一个子区域。
其中,有效区域识别单元151、有效处理单元152以及无效处理单元153的具体功能实现方式可以参见图3对应实施例中步骤S105的具体描述,这里不再进行赘述。
其中,像素相似参数包括像素相关系数Xi和像素均差系数Yi;
请再参见图9,有效区域识别单元151可以包括:第一识别子单元1511。
第一识别子单元1511,用于若像素相关系数Xi大于相关阈值,则确定第二子区域Ni为有效子区域;
第一识别子单元1511,还用于若像素相关系数Xi等于相关阈值,则将像素均差系数Yi与均差阈值进行比对;
第一识别子单元1511,还用于若像素均差系数Yi大于均差阈值,则确定第二子区域Ni为有效子区域;
第一识别子单元1511,还用于若像素相关系数Xi小于相关阈值,或像素均差系数Yi小于或等于均差阈值,则获取第二子区域Ni对应的前后景类型;
第一识别子单元1511,还用于若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;
第一识别子单元1511,还用于若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
其中,第一识别子单元1511的具体功能实现方式可以参见图5对应实施例中步骤S205的具体描述,这里不再进行赘述。
其中,像素相似参数包括像素相关系数Xi;
请再参见图9,有效区域识别单元151可以包括:第二识别子单元1512。
第二识别子单元1512,用于若像素相关系数Xi大于相关阈值,则确定第二子区域Ni为有效子区域;
第二识别子单元1512,还用于若像素相关系数Xi小于或等于相关阈值,则获取第二子区域Ni对应的前后景类型;
第二识别子单元1512,还用于若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;
第二识别子单元1512,还用于若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
其中,第二识别子单元1512的具体功能实现方式可以参见图5对应实施例中步骤S205的具体描述,这里不再进行赘述。
其中,像素相似参数包括像素均差系数Yi;
请再参见图9,有效区域识别单元151可以包括:第三识别子单元1513。
第三识别子单元1513,用于若像素均差系数Yi大于均差阈值,则确定第二子区域Ni为有效子区域;
第三识别子单元1513,还用于若像素均差系数Yi小于或等于均差阈值,则获取第二子区域Ni对应的前后景类型;
第三识别子单元1513,还用于若第二子区域Ni对应的前后景类型为后景类型,则确定第二子区域Ni为有效子区域;
第三识别子单元1513,还用于若第二子区域Ni对应的前后景类型为前景类型,则确定第二子区域Ni为无效子区域。
其中,第三识别子单元1513的具体功能实现方式可以参见图5对应实施例中步骤S205的具体描述,这里不再进行赘述。
进一步地,请参见图10,图10是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,上述图9所对应实施例中的虚拟角色检测装置1可以应用于上述计算机设备1000,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取包含目标虚拟角色的待检测图像,获取包含标准虚拟角色的基准图像;目标虚拟角色和标准虚拟角色属于同一种虚拟角色;
在基准图像中获取与标准虚拟角色相关的标准关键部位区域,在待检测图像中获取与目标虚拟角色相关的待检测部位区域;
通过滑动窗口在标准关键部位区域中获取第一子区域,通过滑动窗口在待检测部位区域中获取第二子区域;
获取第一子区域和第二子区域之间的像素相似参数,根据像素相似参数和第二子区域的前后景类型对待检测部位区域进行异常渲染识别。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文各个实施例中对该虚拟角色检测方法的描述,也可执行前文图9所对应实施例中对该虚拟角色检测装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的虚拟角色检测装置1所执行的计算机程序,当上述处理器加载并执行上述计算机程序时,能够执行前文任一实施例对上述区块共识方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的虚拟角色检测装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。