基于深度学习的视频搜索方法、存储介质、设备及系统
技术领域
本发明涉及软件工程领域,具体涉及一种基于深度学习的视频搜索方法、存储介质、设备及系统。
背景技术
当前,直播行业飞速发展,人们通过智能移动设备便能便捷的观看到内容各式各样的直播,极大地充实了人们的业余生活。
由于直播内容形式的多种多样,导致直播视频和普通视频、图文存在诸多不一样的地方,其中一个区别最大的便是直播行业所生成的视频,其文字描述较少,由于直播视频的文字描述较少,从而导致用户在使用直播网站的搜索功能进行直播视频的搜索时,很难搜索到相关直播视频。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于深度学习的视频搜索方法,能够有效提升用户搜索直播视频结果的准确性。
为达到以上目的,本发明采取的技术方案是,包括:
在直播的每个视频分类中均选取设定数量的样本,所述样本为视频的帧画面,且每个样本标记有该帧画面的所属分类和该帧画面中所含内容的短语描述;
将所有样本输入NeuralTalk2中进行训练学习,得到训练后的深度学习模型;
将直播所有视频的帧画面输入深度学习模型中,深度学习模型对输入的每一帧画面所含内容输出内容相应的描述;
对深度学习模型输出的每个视频所有画面的描述进行统计,并将出现频率较高的描述中的至少一个描述作为当前视频的索引;
当用户搜索时,根据用户输入的关键词匹配含有该关键词的索引,并将索引对应视频作为搜索结果展出。
在上述技术方案的基础上,
所述直播的视频分类包括户外类、游戏类和唱歌跳舞类。
在上述技术方案的基础上,所述深度学习模型对输入的每一个帧画面所含内容输出的描述为当前画面所含内容的短语描述。
在上述技术方案的基础上,将直播的每一个视频,每间隔一设定时间采样一帧画面作为当前视频的输入样本,然后将输入样本输入深度学习模型中,深度学习模型对每个输入样本画面所含内容输出描述。
在上述技术方案的基础上,对深度学习模型输出的每个视频的输入样本画面的描述进行统计并依出现频率高低排序,按出现频率高低顺序将至少一个描述作为当前视频的索引。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本发明还提供一种设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。
本发明还提供一种基于深度学习的视频搜索系统,包括:
取样模块,其用于在直播的每个视频分类中均选取设定数量的样本,所述样本为视频的帧画面,且每个样本标记有该帧画面的所属分类和该帧画面中所含内容的短语描述;
学习模块,其用于将所有样本输入NeuralTalk2中进行训练学习,得到训练后的深度学习模型,然后将直播所有视频的帧画面输入深度学习模型中,深度学习模型对输入的每一帧画面所含内容输出内容相应的描述,最后对深度学习模型输出的每个视频所有帧画面的描述进行统计,并将出现频率较高的描述中的至少一个描述作为当前视频的索引;
执行模块,其用于当用户搜索时,根据用户输入的关键词匹配含有该关键词的索引,并将索引对应视频作为搜索结果展出。
在上述技术方案的基础上,所述直播的视频分类包括户外类、游戏类和唱歌跳舞类。
在上述技术方案的基础上,所述深度学习模型对输入的每一帧画面所含内容输出的描述为当前画面所含内容的短语描述。
与现有技术相比,本发明的优点在于:对每个分类的视频进行采样,同时对样本中的画面进行描述,以此作为被学习对象输入到NeuralTalk2中得到深度学习模型,由深度学习模型给每个直播视频进行描述标记,从而当用户在进行关键词搜索时,便能匹配出与用户搜索关键词相关的视频,采用深度学习模型对复杂形式多样的直播画面视频进行精确标记,从而提升用户搜索结果的准确性,满足多样直播内容搜索的使用场景。
附图说明
图1为本发明实施例中一种基于深度学习的视频搜索方法的流程图;
图2为本发明实施例中一种设备的结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种基于深度学习的视频搜索方法,方便用户对直播视频进行搜索然后观看,本发明实施例的基于深度学习的视频搜索方法具体包括:
S1:在直播的每个视频分类中均选取设定数量的样本,样本为视频的帧画面,即一帧视频画面,且每个样本标记有该帧画面的所属分类和该帧画面中所含内容的短语描述。直播的视频分类包括户外类、游戏类和唱歌跳舞类,户外类的视频便是主播进行户外直播的画面,该类画面以人物、户外建筑、场景为主,游戏类的视频便是主播打游戏时的游戏画面,该类画面以游戏为主,唱歌跳舞类便是主播进行唱歌跳舞才艺展示时的画面。进一步的,为保证样本的精确性,便于后续学习时的准确度,例如,游戏类视频还可以进行细分,根据主播所玩游戏的种类和所玩游戏的游戏内人物进行进一步的细分;类似的,对于视频种类的划分,还可以更加细致,例如对于唱歌跳舞类,还可以根据主播所唱的歌和所跳的舞进行进一步的划分。
对于每个视频分类下的视频,均选取一定数量的样本作为该类视频的样本,通常,每个视频分类的样本至少为一万份。
对于样本中视频画面所含内容的短语描述,对于户外类,如画面为主播在深山里进行求生,则该帧直播画面的短语描述可以为山、水、生火等;对于游戏类,则对于该类视频画面的短语描述可以为游戏名、游戏人物名等;对于唱歌跳舞类,则对于该类视频画面的短语描述可以为直播所唱歌的名称、主播外观(年轻、时尚、青春等)、主播所唱歌类型等。短语描述即为视频画面所展现的内容以及主播当前正在做的事情等。
S2:将所有样本输入NeuralTalk2中进行训练学习,得到训练后的深度学习模型。NeuralTalk2是斯坦福大学建立的可以对图像内容产生自然语言描述的模型NeuralTalk的升级版,它是一个开源的Python工具,它可以根据图像生成对应的文本描述,实现了常用的图像生成文本描述的深度学习算法,因此可以从一副图像用递归神经网络(LSTM或RNN)得到一句描述这幅图像的话,本发明实施例中使用NeuralTalk2作为学习框架。LSTM(LongShort-Term Memory,长短期记忆网络)和RNN(Recurrent neural Network,循环神经网络)均是常用的递归神经网络。
将步骤S1选取的样本输入到NeuralTalk2得到深度学习模型,此时深度学习模型便具有了对类似(相关)画面生成文字类型描述的能力。
S3:将直播所有视频的帧画面输入深度学习模型中,深度学习模型对输入的每一帧画面所含内容输出内容相应的描述。深度学习模型对输入的每一个帧画面所含内容输出的描述为当前画面所含内容的短语描述,通过深度学习模型对每个直播的视频均进行描述标记,类似于对每个视频均打上标签。
S4:对深度学习模型输出的每个视频所有画面的描述进行统计并依出现频率高低排序,按出现频率高低顺序将至少一个描述作为当前视频的索引,优选的,按出现频率高低顺序,将排名前十的描述作为当前视频的索引。
为提高采样的速率,在实际的操作过程中可以不必将每个视频的所有画面,即每一帧画面均输入到深度学习模型中,优选的,可以将直播的每一个视频,每间隔一设定时间采样一帧画面作为当前视频的输入样本,优选的为每间隔五秒采样一帧画面作为当前视频的输入样本,然后将输入样本输入深度学习模型中,深度学习模型对每个输入样本画面所含内容输出描述,比如画面中含有山,则会输出山。深度学习模型在对输入的画面输入描述时,一帧画面可能输出多个描述,因此在对一个视频的所有画面的描述进行统计时,该视频可能会对应多个描述,且相同的描述也会出现多次,因此优先的,对深度学习模型输出的每个视频的输入样本画面的描述进行统计,将出现次数总排名前十的描述作为当前视频的索引。
S5:当用户搜索时,根据用户输入的关键词匹配含有该关键词的索引,并将索引对应视频作为搜索结果展出。如用户搜索山水,则将索引含有山水的视频推送给用户,提高用户结果的准确性。
本发明实施例的基于深度学习的视频搜索方法,首先对每个分类的视频进行采样,同时对样本中的画面进行描述,以此作为被学习对象输入到NeuralTalk2中得到深度学习模型,从而深度学习模型便具有了对类似直播画面生成文字类型描述的能力,然后将所有的直播视频输入到得到的深度学习模型中,由深度学习模型给每个直播视频进行描述标记,从而当用户在进行关键词搜索时,便能匹配出与用户搜索关键词相关的视频,采用深度学习模型对复杂形式多样的直播画面视频进行精确标记,从而提升用户搜索结果的准确性,满足多样直播内容搜索的使用场景。
另外,对应上述基于深度学习的视频搜索方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的基于深度学习的视频搜索方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图2所示,对应上述基于深度学习的视频搜索方法,本发明还提供一种设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例的基于深度学习的视频搜索方法。
本发明还提供一种基于上述基于深度学习的视频搜索方法的基于深度学习的视频搜索系统,包括取样模块、学习模块和执行模块。
取样模块用于在直播的每个视频分类中均选取设定数量的样本,样本为视频的帧画面,且每个样本标记有该帧画面的所属分类和该帧画面中所含内容的短语描述;学习模块用于将所有样本输入NeuralTalk2中进行训练学习,得到训练后的深度学习模型,然后将直播所有视频的帧画面输入深度学习模型中,深度学习模型对输入的每一帧画面所含内容输出内容相应的描述,最后对深度学习模型输出的每个视频所有帧画面的描述进行统计,并将出现频率较高的描述中的至少一个描述作为当前视频的索引;执行模块用于当用户搜索时,根据用户输入的关键词匹配含有该关键词的索引,并将索引对应视频作为搜索结果展出。
直播的视频分类包括户外类、游戏类和唱歌跳舞类;每个视频分类的样本至少为一万份。深度学习模型对输入的每一个画面所含内容输出的描述为当前画面所含内容的短语描述。深度学习模型对输入的每一个帧画面所含内容输出的描述为当前画面所含内容的短语描述。将直播的每一个视频,每间隔一设定时间采样一帧画面作为当前视频的输入样本,然后将输入样本输入深度学习模型中,深度学习模型对每个输入样本画面所含内容输出描述。对深度学习模型输出的每个视频的输入样本画面的描述进行统计,将出现次数总排名前十的描述作为当前视频的索引。
本发明实施例的基于深度学习的视频搜索系统,取样模块对每个分类的视频进行采样,同时对样本中的画面进行描述,以此作为被学习对象输入到NeuralTalk2中得到深度学习模型,从而深度学习模型便具有了对类似直播画面生成文字类型描述的能力,然后将所有的直播视频输入到得到的深度学习模型中,由深度学习模型给每个直播视频进行描述标记,从而当用户在进行关键词搜索时,便能匹配出与用户搜索关键词相关的视频,采用深度学习模型对复杂形式多样的直播画面视频进行精确标记,从而提升用户搜索结果的准确性,满足多样直播内容搜索的使用场景。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。