本发明涉及图像识别技术领域,具体涉及一种影视资源下架的在线监控方法、装置及可读存储介质。
背景技术:
当前大多数智能电视厂家播放的影视资源都是第三方提供的,电视厂家通过自有的搜索渠道搜到的影视资源状态与第三方的影视资源状态不同步,造成用户通过搜索并播放了一部已下架的影视资源。如果采用人工审查的方式标记已下架的影视资源,耗时耗力。
技术实现要素:
有鉴于此,本申请针对当前智能电视厂家影视资源下架不及时的问题,提供了一种根据下架图片识别影视资源下架的方法,实现及时通知和下架不能正常播放的影视资源的方法及装置。
为解决以上技术问题,本发明提供的技术方案是一种影视资源下架的在线监控方法,包括:
获取待播放影视资源的来源信息和播放截图;
对播放截图进行预处理;
将处理后的播放截图输入图片识别模型进行影视资源下架识别;
若图片识别模型判定影视资源已下架,根据待播放影视资源的来源信息发出下架通知或下架该影视资源。
优选的,所述获取待播放影视资源的来源信息和播放截图的方法,包括:
收到播放影视资源的操作指令,获取该待播放影视资源的来源信息;
在预设时间内,若收到全屏影视资源的操作指令,在执行全屏影视资源的操作指令后获取播放截图,若收到全屏影视资源以外的其他操作指令,在执行其他操作指令前获取播放截图,若未收到任一个操作指令,获取播放截图。
优选的,所述对播放截图进行预处理的方法,包括:
判断播放截图是否为全屏播放截图;
若否,则获取当前播放截图中的播放框内图片,将播放框内图片压缩为指定像素的播放截图;
若是,则将全屏播放截图压缩为指定像素的播放截图。
优选的,所述获取当前播放截图中的播放框内图片的方法,包括;
将当前播放截图进行灰度化,获得灰度图片;
滤去灰度图片中叠加的高频噪声,获得去噪图片;
使用canny算法对去噪图片进行边缘识别,获得识别图片;
将识别图片进行二值化处理,获得二值化图片;
提取二值化图片的图像边框,对图像轮廓点进行矩形拟合;
在矩形中选出扫描图形的边界点进行裁剪,得到播放框内图片。
优选的,所述使用canny算法对去噪图片进行边缘识别,获得识别图片的方法,包括:
用一阶偏导的有限差分方法计算去噪图片梯度的幅值和方向;
使用预设规则过滤非边缘的点,使去噪图片边缘的宽度接近为1个像素点;
根据预设的两个阀值maxval和minval检测去噪图片边缘,其中大于maxval的都被检测为边缘,低于minval的都被检测为非边缘。
优选的,所述获取待播放影视资源的来源信息和播放截图的步骤前,还包括步骤:建立图片识别模型;所述建立图片识别模型的方法,包括:
获取各个来源的影视资源的下架图片进行预处理;
加载经预处理的下架图片;
构建第一个卷积层;
构建第一个池化层;
构建第二个卷积层;
构建第二个池化层;
构建全连接层;
使用dropout训练深度神经网络。
本发明还提供一种影视资源下架的在线监控装置,包括:
截图获取模块,用于获取待播放影视资源的来源信息和播放截图;
截图处理模块,用于对播放截图进行预处理;
截图识别模块,用于将处理后的播放截图输入图片识别模型进行影视资源下架识别;
下架处理模块,用于若图片识别模型判定影视资源已下架,根据待播放影视资源的来源信息发出下架通知或下架该影视资源。
优选的,所述截图获取模块包括:
来源获取单元,用于收到播放影视资源的操作指令,获取该待播放影视资源的来源信息;
截图获取单元,用于在预设时间内,若收到全屏影视资源的操作指令,在执行全屏影视资源的操作指令后获取播放截图,若收到全屏影视资源以外的其他操作指令,在执行其他操作指令前获取播放截图,若未收到任一个操作指令,获取播放截图。
优选的,所述截图处理模块对播放截图进行预处理的方法,包括:
判断播放截图是否为全屏播放截图;
若否,则获取当前播放截图中的播放框内图片,将播放框内图片压缩为指定像素的播放截图;
若是,则将全屏播放截图压缩为指定像素的播放截图。
优选的,所述获取当前播放截图中的播放框内图片的方法,包括;
将当前播放截图进行灰度化,获得灰度图片;
滤去灰度图片中叠加的高频噪声,获得去噪图片;
使用canny算法对去噪图片进行边缘识别,获得识别图片;
将识别图片进行二值化处理,获得二值化图片;
提取二值化图片的图像边框,对图像轮廓点进行矩形拟合;
在矩形中选出扫描图形的边界点进行裁剪,得到播放框内图片。
优选的,所述使用canny算法对去噪图片进行边缘识别,获得识别图片的方法,包括:
用一阶偏导的有限差分方法计算去噪图片梯度的幅值和方向;
使用预设规则过滤非边缘的点,使去噪图片边缘的宽度接近为1个像素点;
根据预设的两个阀值maxval和minval检测去噪图片边缘,其中大于maxval的都被检测为边缘,低于minval的都被检测为非边缘。
优选的,所述影视资源下架的在线监控装置还包括模型生成模块,所述模型生成模块建立图片识别模型的方法,包括:
获取各个来源的影视资源的下架图片进行预处理;
加载经预处理的下架图片;
构建第一个卷积层;
构建第一个池化层;
构建第二个卷积层;
构建第二个池化层;
构建全连接层;
使用dropout训练深度神经网络。
本发明还提供一种影视资源下架的在线监控装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述影视资源下架的在线监控方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述影视资源下架的在线监控方法的步骤。
本申请与现有技术相比,其有益效果详细说明如下:将影视资源的播放截图输入图片识别模型进行影视资源下架识别,实现了及时通知和下架不能正常播放的影视资源的效果,在提升下架影视资源速度的同时,节约了人力和时间成本,并且可以极大的避免用户打开已下架的影视资源,从而提升用户的影视搜索和播放体验。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种影视资源下架的在线监控方法的流程图;
图2为本发明实施例提供的一种获取待播放影视资源的来源信息和播放截图的方法的流程图;
图3为本发明实施例提供的一种对播放截图进行预处理的方法的流程图;
图4为本发明实施例提供的一种获取当前播放截图中的播放框内图片的方法的流程图;
图5为本发明实施例提供的一种建立图片识别模型的方法的流程图;
图6为本发明实施例提供的一种影视资源下架的在线监控装置的结构图;
图7为本发明实施例提供的另一种影视资源下架的在线监控装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
当前大多数智能电视厂家播放的影视资源都是第三方提供的,电视厂家通过自有的搜索渠道搜到的影视资源状态与第三方的影视资源状态不同步,造成用户通过搜索并播放了一部已下架的影视资源。如果采用人工审查的方式标记已下架的影视资源,耗时耗力。
本发明实施例提供了一种影视资源下架的在线监控系统,包括了客户端和服务器,多个客户端可以共用1个服务器,1个客户端即代表1个智能电视终端。
如图1所示,本发明实施例提供一种影视资源下架的在线监控方法,可以应用于客户端和/或服务器,具体方法包括:
s11:获取待播放影视资源的来源信息和播放截图;
s12:对播放截图进行预处理;
s13:将处理后的播放截图输入图片识别模型进行影视资源下架识别;
s14:若图片识别模型判定影视资源已下架,根据待播放影视资源的来源信息发出下架通知或下架该影视资源。
需要说明的是,如图2所示,步骤s11获取待播放影视资源的来源信息和播放截图的方法,可以应用在客户端,在用户打开一部影视的时候,将影视信息和影视播放截图上传至服务器,具体的方法包括:当用户点击播放后,进行下一个动作前(这里的动作不包括全屏操作),或者播放页自动跳转至其他界面前进行截图。客户端可以直接压缩图片,将压缩后的图片和对应的影视来源信息上传至服务器,不做预处理。客户端也可以直接压缩图片,将压缩后的图片和对应的影视来源信息,继续在客户端做预处理,具体方法包括:
s111:收到播放影视资源的操作指令,获取该待播放影视资源的来源信息;
s112:在预设时间内,若收到全屏影视资源的操作指令,在执行全屏影视资源的操作指令后获取播放截图,若收到全屏影视资源以外的其他操作指令,在执行其他操作指令前获取播放截图,若未收到任一个操作指令,获取播放截图。
例如,客户端如果在收到播放指令后10秒内未进行任何操作,则直接进行截图,在10秒(经验值)内,用户发出下一个指令(非全屏指令),则在下一个指令执行前立即截图,若在10秒内用户发出全屏指令,即用户将当前播放影视全屏,那么在该全屏操作发生时不进行截图,全屏操作完成后再进行截图。获得的播放截图在进行压缩后上传到服务器进行下一步预处理。
需要说明的是,如图3所示,步骤s12对播放截图进行预处理的方法,可应用于服务器或者客户端,以服务器为例,服务器在收到播放截图后首先进行预处理,包括:
s121:判断播放截图是否为全屏播放截图;
s122:若否,则获取当前播放截图中的播放框内图片,将播放框内图片压缩为指定像素的播放截图;
s123:若是,则将全屏播放截图压缩为指定像素的播放截图。
需要说明的是,如图4所示,由于影视播放图片在播放截图中的位置与影视来源有关,所以需要根据不同播放来源进行裁剪,提取播放框中的图片,全屏操作后的播放截图不需要做裁剪处理,具体的,步骤s122中获取当前播放截图中的播放框内图片的方法,包括;
s1221:将当前播放截图进行灰度化,获得灰度图片;
具体的,播放截图为彩色图片,需要将播放截图灰度化,即将彩色图片转为灰度图片。对一幅彩色图片进行灰度化,就是根据图像各个通道的采样值进行加权平均。加权平均公式为:gray=0.299r+0.587g+0.114b。
s1222:滤去灰度图片中叠加的高频噪声,获得去噪图片;
具体的,由于高斯函数确定的核可以在抗噪声干扰和边缘检测精确定位之间提供较好的折衷方案。即根据待滤波的像素点及其邻域点的灰度值按照一定的参数规则进行加权平均,这样可以有效滤去理想图像中叠加的高频噪声。通过下面二维高斯函数,确定参数得到二维核向量(其中sigma的平方为方差):
一个高斯矩阵乘以每一个像素点及其邻域,取其带权重的平均值作为最后的灰度值。即对于一个位置(m,n)的像素点,其灰度值(这里只考虑二值图)为f(m,n)。那么经过高斯滤波后的灰度值将变为:
s1223:使用canny算法对去噪图片进行边缘识别,获得识别图片;
具体的,使用canny算法对去噪图片进行边缘识别,获得识别图片的方法,包括:
(1)用一阶偏导的有限差分方法计算去噪图片梯度的幅值和方向;
具体的,用一阶偏导的有限差分来计算梯度的幅值和方向,常用梯度算子有:roberts算子,sobel算子,prewitt算子等。这里采用canny算法所采用的方法,采用如下卷积算子,求出不同方向的梯度值gx(m,n),gy(m,n),其中,gx、gy为x和y方向的梯度值;
梯度值和梯度方向计算公式如下:
(2)使用预设规则过滤非边缘的点,使去噪图片边缘的宽度接近为1个像素点;
具体的,在高斯滤波过程中,边缘有可能被放大了。这个步骤使用一个规则来过滤不是边缘的点,使边缘的宽度尽可能为1个像素点:如果一个像素点属于边缘,那么这个像素点在梯度方向上的梯度值是最大的。否则不是边缘,将灰度值设为0。
(3)根据预设的两个阀值maxval和minval检测去噪图片边缘,其中大于maxval的都被检测为边缘,低于minval的都被检测为非边缘;
具体的,设置两个阀值(threshold),分别为maxval和minval。其中大于maxval的像素点都被检测为边缘,而低于minval的像素点都被检测为非边缘。对于中间的像素点,如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘,采用双阈值检测可提高准确率。
s1224:将识别图片进行二值化处理,获得二值化图片;
具体的,图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。将所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
s1225:提取二值化图片的图像边框,对图像轮廓点进行矩形拟合;
s1226:在矩形中选出扫描图形的边界点进行裁剪,得到播放框内图片。
需要说明的是,获得播放框内图片后,采用双线性插值算法将播放截图图片缩放成指定像素大小(n*n),实际中可在保证模型准确率的情况下,适当调整图片像素大小,以减少内存消耗和缩短训练时间。
双线性插值核心思想是在两个方向分别进行一次线性插值。如果我们想得到位置函数f在p=(x,y)的值,公式如下:
首先在x方向进行线性插值,得到:
其中,f(q11)、f(q21)为函数f在(x1,y1)、(x2,y1)上的值,
其中,f(q12)、f(q22)为函数f在(x1,y2)、(x2,y2)上的值。
然后在y方向进行线性插值,得到:
这样就得到所要的结果f(x,y),
此外,还可以采用最近邻插值法,双三次插值,基于区域的图像插值算法,由于考虑处理速度,直接采用双线性插值,对于该情况,由于是对截图进行缩小,也可考虑采用基于区域的图像插值算法。
需要说明的是,步骤s11获取待播放影视资源的来源信息和播放截图的步骤前,还包括步骤:s10:建立图片识别模型。
需要说明的是,如图5所示,步骤s10建立图片识别模型的方法,包括:
s101:获取各个来源的影视资源的下架图片进行预处理;具体的方法包括:
(1)获取各个来源的影视资源的下架图片,包括了截取各个来源的影视资源的播放框中的下架图片和压缩图片等处理步骤。
(2)对于第一批训练数据,通过人工对处理的图片进行标注,正常播放标记为1,不能正常播放标记为0。后续通过不断上传的图片,逐步丰富数据,加入模型训练;
(3)由于提取的图片正常播放数量占所有图片比例较大,将不能正常播放的按照一定比例复制多张不能正常播放图片,与能正常播放图片比例基本维持一致。
s102:加载经预处理的下架图片;
s103:构建第一个卷积层;
具体的,定义卷积核(5*5),卷积核个数为32,步长为1,通道为1(只用单通道灰度图像即可),则处理后,输出32张像素大小为28*28的图片。
s104:构建第一个池化层;
具体的,将卷积32个输出图片,经过2*2过滤器,步长为2,通过平均值池化得到32张14*14的图片。
s105:构建第二个卷积层;
具体的,定义卷积核(3*3),卷积核个数为64,步长为1,通道为1(只用单通道灰度图像即可),则处理后,输出64张像素大小为12*12的图片。
s106:构建第二个池化层;
具体的,将卷积64个输出图片,经过2*2过滤器,步长为2,通过平均值池化得到64张6*6的图片。
s107:构建全连接层;
具体的,对于卷积提取的局部特征,采用16个6*6卷积核卷积输出16个全局特征,通过这些特征则可判断影视是否可播放。
s108:使用dropout训练深度神经网络。
具体的,使用dropout防止过拟合,dropout可以作为训练深度神经网络的一种trick供选择。在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。这种方式可以减少特征检测器(隐层节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。
其中,隐藏层层数及卷积核可根据实际效果调整,例如(1)lenet模型,若全部采用5*5卷积核,池化采用最大池化:
(1)输入尺寸:32*32;
(2)卷积层:3个;
(3)降采样层:2个;
(4)全连接层:1个;
(5)输出:2个类别(是否可播放)。
需要说明的是,建立图片识别模型后,根据预设准确率调整参数(输入图片像素大小,cnn模型层数等)。最后采用tensorflow-serving部署模型。
需要说明的是,步骤s13中,服务器端具体的图片识别步骤包括:对于上传的播放截图图片,经过裁剪后,采用双线性插值算法将图片缩放成指定图像大小(预处理方式与模型训练时数据预处理方式保持一致),并输入与训练模型相同的结构网络,加载已经训练好的模型,进行预测,如果预测为不正常播放,提示人工进行下架处理或者直接自动进行下架处理。
如图6所示,本发明还提供一种影视资源下架的在线监控装置,包括:
截图获取模块21,用于获取待播放影视资源的来源信息和播放截图;
截图处理模块22,用于对播放截图进行预处理;
截图识别模块23,用于将处理后的播放截图输入图片识别模型进行影视资源下架识别;
下架处理模块24,用于若图片识别模型判定影视资源已下架,根据待播放影视资源的来源信息发出下架通知或下架该影视资源。
需要说明的是,截图获取模块21包括:
来源获取单元,用于收到播放影视资源的操作指令,获取该待播放影视资源的来源信息;
截图获取单元,用于在预设时间内,若收到全屏影视资源的操作指令,在执行全屏影视资源的操作指令后获取播放截图,若收到全屏影视资源以外的其他操作指令,在执行其他操作指令前获取播放截图,若未收到任一个操作指令,获取播放截图。
需要说明的是,所述截图处理模块对播放截图进行预处理的方法,包括:
判断播放截图是否为全屏播放截图;
若否,则获取当前播放截图中的播放框内图片,将播放框内图片压缩为指定像素的播放截图;
若是,则将全屏播放截图压缩为指定像素的播放截图。
需要说明的是,所述获取当前播放截图中的播放框内图片的方法,包括;
将当前播放截图进行灰度化,获得灰度图片;
滤去灰度图片中叠加的高频噪声,获得去噪图片;
使用canny算法对去噪图片进行边缘识别,获得识别图片;
将识别图片进行二值化处理,获得二值化图片;
提取二值化图片的图像边框,对图像轮廓点进行矩形拟合;
在矩形中选出扫描图形的边界点进行裁剪,得到播放框内图片。
需要说明的是,所述使用canny算法对去噪图片进行边缘识别,获得识别图片的方法,包括:
用一阶偏导的有限差分方法计算去噪图片梯度的幅值和方向;
使用预设规则过滤非边缘的点,使去噪图片边缘的宽度接近为1个像素点;
根据预设的两个阀值maxval和minval检测去噪图片边缘,其中大于maxval的都被检测为边缘,低于minval的都被检测为非边缘。
如图7所示,本发明实施例还提供另一种影视资源下架的在线监控装置,在图6的在线监控装置的基础上,还包括模型生成模块20。模型生成模块20建立图片识别模型的方法,包括:
获取各个来源的影视资源的下架图片进行预处理;
加载经预处理的下架图片;
构建第一个卷积层;
构建第一个池化层;
构建第二个卷积层;
构建第二个池化层;
构建全连接层;
使用dropout训练深度神经网络。
本发明实施例还提供一种影视资源下架的在线监控装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现上述影视资源下架的在线监控方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述影视资源下架的在线监控方法的步骤。
图6-图7所对应实施例中特征的说明可以参见图1-图5所对应实施例的相关说明,这里不再一一赘述。
以上对本发明实施例所提供的一种影视资源下架的在线监控方法、装置和可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。