一种视频标记方法及装置与流程

文档序号:17235111发布日期:2019-03-30 08:18阅读:147来源:国知局
本发明涉及视频处理领域,尤其涉及一种视频标记方法及装置。
背景技术
::随着监控技术的快速发展,视频数据呈海量增长,为了快速的从视频数据中确定待分析目标,视频标记技术应运而生。待分析目标可以是用户感兴趣或想要查找的人、车等等。目前,应用于移动终端(例如手机)的视频标记技术的相关研究较少,通常是在电脑上通过人工标记的方式,完成视频标记。因此有必要设计一种视频标记方法,以实现移动终端对视频流的标记。技术实现要素:本发明的目的在于克服现有技术之缺陷,提供了一种视频标记方法及装置,以实现移动终端对视频流的标记。本发明是这样实现的:第一方面,本发明提供一种视频标记方法,应用于移动终端,所述方法包括:获得目标图像,记录所述目标图像的目标尺寸,确定所述目标图像的目标矩阵;将所述目标矩阵分成预设数量个第一子矩阵,计算各第一子矩阵的特征值;用各第一子矩阵的特征值构成第一向量;在获得视频流后,对所述视频流进行解析,将解析所得的原始图像数据封装成各个单帧图像;按照以下方式对每一单帧图像添加标记:逐像素扫描该单帧图像,得到该单帧图像中尺寸大小为所述目标尺寸的各子图像;对于每一子图像,确定该子图像的矩阵,将该子图像的矩阵分成所述预设数量个第二子矩阵,计算各第二子矩阵的特征值,用各第二子矩阵的特征值构成该子图像的第二向量;在获得各子图像的第二向量后,计算所述各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度;确定相似度最大的子图像在该单帧图像中所处的目标区域;给该目标区域添加标记。可选的,对所述视频流进行解析,包括:对所述视频流进行解协议,得到封装数据;将所得的封装数据进行解封装,得到音视频编码数据;对所述音视频编码数据进行解码,得到非压缩的原始图像数据和原始音频数据。可选的,在对每一单帧图像添加标记后,所述方法还包括:播放所述原始音频数据和添加标记后的每一单帧图像。可选的,所述原始图像数据和所述原始音频数据的格式分别为rgb图像格式和pcm音频格式。可选的,计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度,包括:构建二维数组,将各子图像的第二向量记录在所述二维数组中;遍历已记录第二向量的二维数组,针对遍历所得的每一第二向量,计算该第二向量与所述第一向量之间的余弦相似度,作为该第二向量所属子图像的相似度。可选的,给该目标区域添加标记,包括:添加包围该目标区域的矩形框。第二方面,本发明提供一种视频标记装置,应用于移动终端,所述装置包括:获得模块,用于获得目标图像,记录所述目标图像的目标尺寸,确定所述目标图像的矩阵;将所述目标矩阵分成预设数量个第一子矩阵,计算各第一子矩阵的特征值;用各第一子矩阵的特征值构成第一向量;解析模块,用于在获得视频流后,对所述视频流进行解析,将解析所得的原始图像数据封装成各个单帧图像;添加标记模块,用于按照以下方式对每一单帧图像添加标记:逐像素扫描该单帧图像,得到该单帧图像中尺寸大小为所述目标尺寸的各子图像;对于每一子图像,确定该子图像的矩阵,将该子图像的矩阵分成所述预设数量个第二子矩阵,计算各第二子矩阵的特征值,用各第二子矩阵的特征值构成该子图像的第二向量;在获得各子图像的第二向量后,计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度;确定相似度最大的子图像在该单帧图像中所处的目标区域;给该目标区域添加标记。可选的,解析模块对所述视频流进行解析,具体为:对所述视频流进行解协议,得到封装数据;将所得的封装数据进行解封装,得到音视频编码数据;对所述音视频编码数据进行解码,得到非压缩的原始图像数据和原始音频数据。可选的,所述装置还包括播放模块,用于:在对每一单帧图像添加标记后,播放所述原始音频数据和添加标记后的每一单帧图像。可选的,所述原始图像数据和所述原始音频数据的格式分别为rgb图像格式和pcm音频格式。可选的,添加标记模块计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度,具体为:构建二维数组,将各子图像的第二向量记录在所述二维数组中;遍历已记录第二向量的二维数组,针对遍历所得的每一第二向量,计算该第二向量与所述第一向量之间的余弦相似度,作为该第二向量所属子图像的相似度。可选的,添加标记模块给该目标区域添加标记,具体为:添加包围该目标区域的矩形框。本发明具有以下有益效果:应用本发明实施例,移动终端可以用所获得的目标图像确定第一向量,并在获得视频流后,可以对视频流进行解析,将解析所得的原始图像数据封装成各个单帧图像,按照以下方式对每一单帧图像添加标记:逐像素扫描该单帧图像,确定该单帧图像中尺寸大小为所述目标尺寸的各子图像;在获得各子图像的第二向量后,计算各子图像的第二向量与第一向量之间的余弦相似度,作为各子图像的相似度;确定相似度最大的子图像在该单帧图像中所处的目标区域;给该目标区域添加标记。可见,移动终端可以对来自于视频流中的各单帧图像进行标记,实现了移动终端对视频流的标记,并且整个过程无需人工参与,故提高了标记效率,另外,第一向量和各第二向量均由多个特征值构成,能够更精细的反映出目标图像和各子图像的特点,有利于提高图像相似度匹配的精细度,提高标记的准确性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本发明实施例提供的视频标记方法的一种流程示意图;图2为本发明实施例提供的视频标记装置的一种结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。需要说明的是,本发明所提供的视频标记方法可以应用于移动终端,例如,可以是安装了ios操作系统(ios是由苹果公司开发的手持设备操作系统)、或安卓操作系统(android系统是一种基于linux的自由及开放源代码的操作系统)、或windowsphone操作系统(windowsphone是微软公司发布的一款手机操作系统)的移动终端。在具体应用中,移动终端可以为平板、手机、智能穿戴设备等等,这都是合理的。参见图1,本发明实施例提供一种视频标记方法,方法包括如下步骤:s101、获得目标图像,记录所述目标图像的目标尺寸,确定所述目标图像的目标矩阵;将所述目标矩阵分成预设数量个第一子矩阵,计算各第一子矩阵的特征值;用各第一子矩阵的特征值构成第一向量;目标图像可以待匹配目标的图像,待匹配目标可以是人物、动物、树木等物体,目标图像根据需求事先设定,例如,可以事先在后端服务器或其他移动终端设定,并在设定后可以发送给本移动终端(本发明的执行主体),从而本移动终端可以获得目标图像,或者,也可以通过本移动终端设定目标图像,从而本移动终端可以直接获得目标图像。预设数量可以根据需求事先设定,例如可以为:16/17/18等等。可以理解的是,目标图像作为一种数字图像,可以用目标矩阵来表示,目标矩阵的行可以对应目标图像的高(单位为像素),目标矩阵的列可以对应目标图像的宽(单位为像素),目标矩阵的元素可以对应目标图像的像素,目标矩阵中各元素的值就是所对应像素的像素值。目标图像可以是rgb(redgreenblue,红绿蓝)彩色图像、灰度图像、hsv(huesaturationvalue)彩色图像等等。本发明对将所述目标矩阵分成预设数量个第一子矩阵的方式不做限定,例如,可以采用现有的分块矩阵算法来实现。各第一子矩阵的大小可以相同,也可以不同,本发明对此不做限定。另外,本发明对计算各第一子矩阵的特征值的方式不做限定,例如可以采用以下公式计算特征值:(a-λe)x=0,其中,a表示某个第一子矩阵,e表示单位矩阵,通过计算可以得出该第一子矩阵的特征值λ和特征向量x,可以并行计算各第一子矩阵的特征值,在计算出各第一子矩阵的特征值后,可以得到由各第一子矩阵的特征值构成的第一向量。例如,各第一子矩阵的特征值分别为λ1、λ2、…、λ16,则第一向量为:[λ1,λ2,…,λ16]。s102、在获得视频流后,对所述视频流进行解析,将解析所得的原始图像数据封装成各个单帧图像;移动终端可以获得视频流,视频流可以是视频采集设备(如摄像头、车辆卡口等)实时采集的、也可以是预先存储于移动终端中的、也可以是从其他终端服务器下载的等等,本发明对获得视频流的具体方式不做限定。在获得视频流后,一种实现方式中,对所述视频流进行解析,可以包括以下步骤:步骤a1、对所述视频流进行解协议,得到封装数据;步骤a2、将所得的封装数据进行解封装,得到音视频编码数据;步骤a3、对所述音视频编码数据进行解码,得到非压缩的原始图像数据和原始音频数据。视频流可以是采用格式为http(hypertexttransferprotocol,超文本传输协议)、rtmp(realtimemessagingprotocol,实时消息传输协议)、rtsp(realtimestreamingprotocol,实时流传输协议)等流媒体协议传输的视频文件。视频文件可以指出应该使用哪种编码格式(如mjpeg、mpeg1/2、mpeg4、h.264等)来解析音频和视频数据,对于这种视频文件,可以直接按照视频文件所指出的编码格式对视频流进行解封装,得到音视频编码数据,进而,对所述音视频编码数据进行解码,得到非压缩的原始图像数据和原始音频数据。或者,视频文件也可以没有指出应该使用哪种编码格式来解析音频和视频数据,例如采用avi封装格式的视频文件并没有指出应该使用哪种编码格式来解析音频和视频数据,它们只是按视频封装格式封装而成的音视频数据,对于这种视频文件,可以先通过libavformat库中提供的avformat_open_input()方法对所述视频流进行解协议,得到封装数据。视频封装格式可以是mp4、mvk(matroskamedia,一种多媒体封装格式)、rmvb(realmediavariablebitrate,可变比特率)、ts(transportstream,传输流)、flv(flashvideo)、avi(audiovideointerleaved,音频视频交错格式)等,所得的封装数据可以包括音、视频编码数据,音频编码数据可以是采用acc(advancedaudiocoding,高级音频编码技术)、flac(freelosslessaudiocodec,无损音频压缩编码)、amr(adaptivemulti-rate,自适应多速率编码)等音频压缩格式编码的音频压缩编码数据;视频编码数据可以是采用h.264、h.261、h.263、m-jpeg(motion-joinphotographicexpertsgroup,运动静止图像压缩技术)和mpeg(movingpictureexpertsgroup,动态图像专家组)系列标准等视频压缩格式的视频压缩编码数据。音、视频编码数据可以包括播放持续时间、视音频压缩格式、音轨、字幕、帧率、采样率等信息,从而可以按照这些信息,对解码后的音、视频编码数据进行播放。可以通过libavcodec库中提供的avcodec_send_packet()方法,将待解码的音视频编码数据存入avpacket中,并通过调用avcodec_receive_frame()方法,得到包含解码后的音视频数据的avframe,avframe是一个结构体,这个结构体可以用于描述解码所得的音视频数据(即非压缩的原始图像数据和原始音频数据),进而,可以将avframe存入缓冲区,当缓冲区满后,再统一返回所得到的非压缩的原始图像数据和原始音频数据。libavcodec库是一款自由软件编解码库,ky用于视频和音频数据的编解码工作。avpacket可以用于存放视频编码数据,avpacket也是结构体,可以保存解封装之后,解码之前的数据(即音视频编码数据)和关于这些数据的一些附加信息,如显示时间戳(pts)、解码时间戳(dts)、数据时长,所在媒体流的索引等。对于视频编码数据来说,一个avpacket可以包含一个压缩的frame(帧),而音频编码数据来说,一个avpacket可以包含多个压缩的frame(帧)。非压缩的原始图像数据和所述原始音频数据的格式可以分别为rgb图像格式和pcm(pulsecodemodulation,脉冲编码调制)音频格式。或者,在其他实施方式中,也可以采用其他具有解协议、解封装以及解码功能的程序代码分别实现上述步骤,本发明对具体程序代码的实现方式不做限定。通过对视频流进行解析,可以得到原始图像数据,原始图像数据即非压缩的图像数据,进而可以将解析所得的原始图像数据封装成各个单帧图像。原始图像数据的图像格式可以是rgb格式、yuv格式等等,每个单帧图像可以是一个bitmap对象,可以采用实例化bitmapfactory类的方法将原始图像数据封装成各个bitmap对象;或者,也可以采用其他具有将原始图像数据封装成bitmap对象的功能的程序代码得到各个单帧图像。bitmap对象可以是指一张图片,图片格式可以是png(portablenetworkgraphics,便携式网络图形)或者jpg(jointphotographicexpertsgroup)等。s103、按照以下方式对每一单帧图像添加标记:逐像素扫描该单帧图像,得到该单帧图像中尺寸大小为所述目标尺寸的各子图像;对于每一子图像,确定该子图像的矩阵,将该子图像的矩阵分成所述预设数量个第二子矩阵,计算各第二子矩阵的特征值,用各第二子矩阵的特征值构成该子图像的第二向量;在获得各子图像的第二向量后,计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度;确定相似度最大的子图像在该单帧图像中所处的目标区域;给该目标区域添加标记。可以采用横向或纵向像素扫描方式,逐像素扫描单帧图像,得到该单帧图像中尺寸大小为所述目标尺寸的各子图像。单帧图像可以不小于目标尺寸,子图像可以有一个或多个,每个子图像的大小均为目标尺寸。逐像素扫描可以是每间隔固定数量个像素扫描一次,从而得到一个子图像,固定数量可以预先设定,例如可以为1/2/3/4等。进而,对于每一子图像,可以确定该子图像的矩阵,将该子图像的矩阵分成所述预设数量个第二子矩阵,计算各第二子矩阵的特征值,用各第二子矩阵的特征值构成该子图像的第二向量。每一子图像的第二子矩阵的数量与第一子矩阵的数量相同,故每一第二向量中的元素数量与第一向量中的元素数量相同。可以理解的是,不同图像的特征值不同,特征值具有唯一性,图像的特征值越相似,可以认为图像的相似程度越高,第一向量和各第二向量均由多个特征值构成,能够更精细的反映出目标图像和各子图像的特点,有利于提高图像相似度匹配的精细度。在获得各子图像的第二向量后,可以计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度,具体可以包括以下步骤:步骤b1、构建二维数组,将各子图像的第二向量记录在所述二维数组中;可以根据每行/每列扫描出的子图像的数量和行数/列数,确定二维数组的行数和列数,例如,每行扫描出的子图像的数量为1024个,子图像的行数为像960,则二维数组的行数和列数分别为1024和960。二维数组中的每个元素对应一个子图像的第二向量,可以按照获得子图像的顺序,按行/列依次将各子图像的第二向量记录在所述二维数组中。从而,可以统一存储各子图像的第二向量,便于后续对子图像的第二向量的统一处理,提高了处理速度。步骤b2、遍历已记录第二向量的二维数组,针对遍历所得的每一第二向量,计算计算该第二向量与所述第一向量之间的余弦相似度,作为该第二向量所属子图像的相似度。在构建二维数组后,可以并行计算各个二维数组中各第二向量与第一向量之间的余弦相似度,从而可以提高计算速度。针对每一第二向量,可以采用预设的余弦相似度计算公式,计算该第二向量与第一向量之间的余弦相似度。预设的余弦相似度计算公式可以为:其中,a和b分别表示第一向量和第二向量,第二向量与第一向量之间的余弦相似度cos(θ)越大,该第二向量所属的子图像的相似度越高。在获得各子图像的相似度后,可以从中确定出相似度最大者,可以理解的是,图像之间的相似度越大,表明图像之间的相似程度越高,相似度最大者即为一个单帧图像的所有子图像中与目标图像最相似的子图像,进而,可以将相似度最大者在该单帧图像中所处的区域确定为目标区域,并可以给该目标区域添加标记,具体方式可以为:添加包围该目标区域的矩形框。在其他方式中,可以为椭圆框、正方形框等等。在获得各子图像后,可以存储各子图像在单帧图像中所处的坐标区域,进而在确定相似度最大者,可以直接获得相似度最大者在该单帧图像中所处的区域。或者,可以按照像素扫描方式,记录每个子图像的扫描序号,根据扫描间隔和扫描序号,计算出相似度最大者在该单帧图像中所处的区域。应用本发明实施例提供的技术方案,可以在移动终端对视频流进行标记,实现了快速地确定出视频流中目标图像可能存在的区域。并且第一向量和各第二向量均由多个特征值构成,能够更精细的反映出目标图像和各子图像的特点,有利于提高图像相似度匹配的精细度,提高标记的准确性。为了便于用户观看,一种实现方式中,在对每一单帧图像添加标记后,所述方法还包括:播放所述原始音频数据和添加标记后的每一单帧图像。在播放过程中,还可以接收播放指令,播放指令可以包括快进指令、暂停指令、音量控制指令、拖动播放指令,进而可以按照所接收的播放指令,对原始音频数据和添加标记后的每一单帧图像进行快进、暂停、音量控制、拖动播放,从而进一步提高用户体验。应用本发明实施例,可以对所获得的视频流进行播放,并且播放的视频图像是带有标记的图像,可以便于用户在观看视频的过程中,快速查找到感兴趣的目标图像。与上述的方法实施例相对应,本发明实施例还提供一种视频标记装置。参见图2,图2为本发明实施例所提供的一种视频标记装置的结构示意图,装置应用于移动终端,装置包括:获得模块201,用于获得目标图像,记录所述目标图像的目标尺寸,确定所述目标图像的目标矩阵;将所述目标矩阵分成预设数量个第一子矩阵,计算各第一子矩阵的特征值;用各第一子矩阵的特征值构成第一向量;解析模块202,用于在获得视频流后,对所述视频流进行解析,将解析所得的原始图像数据封装成各个单帧图像;添加标记模块203,用于按照以下方式对每一单帧图像添加标记:逐像素扫描该单帧图像,得到该单帧图像中尺寸大小为所述目标尺寸的各子图像;对于每一子图像,确定该子图像的矩阵,将该子图像的矩阵分成所述预设数量个第二子矩阵,计算各第二子矩阵的特征值,用各第二子矩阵的特征值构成该子图像的第二向量;在获得各子图像的第二向量后,计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度;确定相似度最大的子图像在该单帧图像中所处的目标区域;给该目标区域添加标记。应用本发明实施例,移动终端可以用所获得的目标图像确定第一向量,并在获得视频流后,可以对视频流进行解析,将解析所得的原始图像数据封装成各个单帧图像,按照以下方式对每一单帧图像添加标记:逐像素扫描该单帧图像,确定该单帧图像中尺寸大小为所述目标尺寸的各子图像;在获得各子图像的第二向量后,计算各子图像的第二向量与第一向量之间的余弦相似度,作为各子图像的相似度;确定相似度最大的子图像在该单帧图像中所处的目标区域;给该目标区域添加标记。可见,移动终端可以对来自于视频流中的各单帧图像进行标记,实现了移动终端对视频流的标记,并且整个过程无需人工参与,故提高了标记效率,另外,第一向量和各第二向量均由多个特征值构成,能够更精细的反映出目标图像和各子图像的特点,有利于提高图像相似度匹配的精细度,提高标记的准确性。可选的,解析模块对所述视频流进行解析,具体为:对所述视频流进行解协议,得到封装数据;将所得的封装数据进行解封装,得到音视频编码数据;对所述音视频编码数据进行解码,得到非压缩的原始图像数据和原始音频数据。可选的,所述装置还包括播放模块,用于:在对每一单帧图像添加标记后,播放所述原始音频数据和添加标记后的每一单帧图像。可选的,所述原始图像数据和所述原始音频数据的格式分别为rgb图像格式和pcm音频格式。可选的,添加标记模块计算各子图像的第二向量与所述第一向量之间的余弦相似度,作为各子图像的相似度,具体为:构建二维数组,将各子图像的第二向量记录在所述二维数组中;遍历已记录第二向量的二维数组,针对遍历所得的每一第二向量,计算该第二向量与所述第一向量之间的余弦相似度,作为该第二向量所属子图像的相似度。可选的,添加标记模块给该目标区域添加标记,具体为:添加包围该目标区域的矩形框。以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1