CN104239501B - 一种基于Spark的海量视频语义标注方法 - Google Patents

一种基于Spark的海量视频语义标注方法 Download PDF

Info

Publication number
CN104239501B
CN104239501B CN201410459787.8A CN201410459787A CN104239501B CN 104239501 B CN104239501 B CN 104239501B CN 201410459787 A CN201410459787 A CN 201410459787A CN 104239501 B CN104239501 B CN 104239501B
Authority
CN
China
Prior art keywords
video
data
frame
spark
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410459787.8A
Other languages
English (en)
Other versions
CN104239501A (zh
Inventor
崔铜
葛军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN201410459787.8A priority Critical patent/CN104239501B/zh
Publication of CN104239501A publication Critical patent/CN104239501A/zh
Application granted granted Critical
Publication of CN104239501B publication Critical patent/CN104239501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • G06F16/739Presentation of query results in form of a video summary, e.g. the video summary being a video sequence, a composite still image or having synthesized frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/754Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries involving a deformation of the sample pattern or of the reference pattern; Elastic matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明提出了基于Spark的海量视频语义标注方法,其主要是以海量视频在Hadoop大数据集群环境下的弹性分布式存储为基础,采用Spark计算模式进行视频标注。该方法主要包括以下内容:基于分形理论的视频分割方法及其在Spark上的实现;基于Spark的视频特征提取方法和基于元学习策略的视觉单词形成方法;基于Spark的视频标注的生成方法。本发明,相对于传统的单机计算、并行计算或分布式计算,计算速度提高百倍以上,具有标注内容信息全、错误率低等优点。

Description

一种基于Spark的海量视频语义标注方法
技术领域
本发明涉及一种视频的处理方法,特别是一种基于Spark的海量视频语义标注方法。
背景技术
近年来,随着多媒体应用及社交网络的风靡流行,各种多媒体数据(文本、图像以及视频等)呈现指数级的爆炸式增长;这些大规模数据给传统的多媒体研究,尤其是基于视频应用和研究带来了新的挑战和机遇,如何有效地组织、利用视频数据来驱动和满足用户对于视频多种个性化需求正成为计算机视觉和多媒体领域的一个研究热点。
人类所理解的视频与用底层视觉特征来表达的视频之间存在着很大的差距,即在视频语义和视觉特征之间横亘着“语义鸿沟”。为了实现更为贴近用户理解能力的、用自然语言描述的查询方式,对视频语义标注的研究逐渐引起人们的广泛注意。标注就是使用语义关键字或标签来表示一幅视频的语义内容,进而可以将视频检索转化为基于文本的检索。早期,基于文本的视频检索大都采用人工标注的方法,即需要专业人员对每幅视频标出关键字。然而,一方面人工标注存在主观性和不精确性,直接影响到检索结果的准确性;另一方面对视频进行人工标注费时费力,尤其是面对目前的海量视频,人工标注十分困难。
大数据技术为海量视频标注提供了一个有效的解决途径。一方面,大数据技术可以解决大容量视频数据的存储问题;另一方面,分布式运算也可以解决视频语义分析运算。Spark是UC Berkeley AMP lab所开源的并行计算框架,Spark基于MapReduce算法实现的分布式计算,拥有Hadoop/MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
同时,Spark在机器学习方面有着无与伦比的优势,特别适合需要多次迭代计算的视频标注算法。同时Spark的拥有非常出色的容错和调度机制,确保系统的稳定运行。因此,使用Spark计算框架解决海量视频标注问题,具有非常好的易用性。
国内外已有诸多学者对多媒体标注进行了深入研究,图像内容语义注释方法(专利申请号200610053867.9)将图像处理技术与机器学习技术以及自然语言处理等技术 结合起来,实现了对图像内容的语义标注;同时支持根据用户的标注特点校正底层的标注映射规则库,使得标注结果更符合具体用户的标注要求。一种基于语义二叉树的图像标注(专利申请号201110002770.6)对于特定场景的图像集,采用图像分割算法对用于学习的标注图像进行分割,获得图像区域的视觉描述;同时,构造用于学习的所有图像的视觉最近邻图并建立所述场景的语义二叉树;最后,对所述场景下的待标注图像,从语义二叉树的根节点到叶子节点找到相应位置,并将该节点处到根节点的所有标注字传递给所述图像。
这两种方法在数据量不大、实时性要求不高的情况下,能够取得不错的图片标注效果,但对于海量视频资源,单机的计算资源明显无法支持大规模运算,因此该算法无法应用到海量视频标注中去。本发明中,在Spark框架强计算能力的支持下,通过颜色矩、边缘、纹理三重特征表征一类实体,采用元学习策略在实体表征合理性和分类学习可靠性方面有了很大提高。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于Spark的海量视频语义标注方法。
为了解决上述技术问题,本发明公开了一种一种基于Spark的海量视频语义标注方法,包括以下步骤:
步骤1:将海量视频部署到一组计算节点上,通过Spark集群计算视频帧时间序列的分形维度差值,实现镜头分割,获取关键帧;关于Spark集群和Hadoop,可以参见:1、基于Spark的机器学习平台设计与实现,唐振坤,厦门大学,2014-05-01,硕士论文;2、基于Hadoop的海量视频数据存储及转码系统的研究与设计,李晓波,浙江工业大学,2013-03-28,硕士论文;3、基于Hadoop开源框架的视频内容分发平台研究,叶志强;刘晨鸣;王一梅广播电视信息,2013-03-15
步骤2:在Spark集群上提取对象的检测样本的颜色矩、边缘以及纹理特征向量,进行元学习策略训练,形成视觉词典;并依据视觉词典对关键视频帧进行预测,产生能表征该关键视频帧的视觉单词;
步骤3:通过Tf方法对待测视频的视觉单词进行优先排序,将筛选结果作为该视频的标注。TF词频(Term Frequency),TF表示词条在文档中出现的频率,频率越高说 明该视觉单词在视频中的重要性越大。
步骤1在Spark集群上实现视频分割,划分海量视频分布至一组计算节点,利用分形方法将视频按时间序列分割为若干镜头,并提取关键帧,具体包括如下步骤:步骤1-1:转换视频数据格式,将视频二进制数据通过Hadoop自定义输出流转换为Spark集群可读取的byte型数据,并保存到Hadoop分布式系统Hadoop Distributed File System(以下简称“HDFS”)上;根据视频总帧数,利用并行分块函数parallelize把视频切分为块,一个块代表一个视频帧的弹性分布式数据集Resilient Distributed Datasets(以下简称“RDD”)数据对象parVideoRDD;调用帧处理程序,将parVideoRDD中的每一数据块都并行的分配到P个计算节点,从而实现对整个视频的帧数据并行处理;
步骤1-2:采用差分盒法,计算每一视频帧分形维度,通过时间序列的分形维度差值,求出切变镜头和渐变镜头的边界,从而将视频分割为一组镜头;在此计算过程中,通过Spark在各计算节点见的联系方式SparkContext实现各个计算节点间共享,使用映射函数map()完成分配步骤,再使用归一函数reduce()完成更新步骤;
步骤1-3:按时间序列,取每一镜头临界帧作为该镜头的关键帧,返回Spark主节点的结果是关键帧号和其场景描述的视频帧的RDD数据,将该视频帧的RDD数据存储为KeyFrameSce.txt文本文件,用于后续步骤调用。
步骤2包括如下步骤:
步骤2-1:截取一组包括待测对象的各类图片,作为该对象的检测样本;将图片通过通道管理函数pipe()分配到一组计算节点,根据关键帧颜色矩、边缘直方图以及分形维度特征提取18维特征向量,用于表征该对象的图像语义内容;返回Spark主节点的结果是特征向量RDD数据,将其输出到文本文件SampleVec.txt中,此时SampleVec.txt文本文件包含该对象的特征信息;
步骤2-2:将分布式文件系统HDFS上的文本文件SampleVec.txt通过分析类SparkContext的文本读取函数TextFile读取字符串String类型的RDD数据SampleVecRDD,并将该数据分配到P个计算节点,P为大于1的自然数;采用基于元学习策略的4种分类算法,包括Generalized Winnow算法、支持向量机算法、条件随机域算法和最大熵算法,对代表该类对象的语义内容进行特征训练,形成代表该类对象的视觉单词,并与文字语义内容相关联;视觉单词是一个由元分类器表征且与文字 语义内容存在相应映射关系的XML文件,每一个XML文件代表一类视觉单词;
步骤2-3:重复步骤2-1和步骤2-2,训练得到一组能够代表一类对象的特征的视觉单词,与相对应的文字语义内容建立映射关系后,汇聚成视觉词典;
步骤2-4:根据步骤2-1的,将步骤1-3得到的关键视频帧数据通过通道管理函数pipe()分配到一组计算节点,并提取18维特征向量,用于表征该关键视频帧的语义内容;返回Spark主节点的结果是关键视频帧的帧序号和特征向量RDD数据,将返回的[帧序号,特征向量RDD数据]输出到文本文件KeyFrameVec.txt中,此时KeyFrameVec.txt文本文件包含整个视频文件关键帧信息;
步骤2-5:根据步骤2-2,将分布式文件系统HDFS上的文本文件KeyFrameVec.txt通过SparkContext的文本读取函数TextFile函数读取字符串String类型RDD数据FrameVecRDD,数据FrameVecRDD每一行包含一帧号及语义特征向量,并将数据FrameVecRDD分配到P个计算节点;对照视觉词典,采用元学习策略对代表视频帧语义内容的特征向量进行预测,得出该视频帧所表述的一个以上的视觉单词;返回的结果是帧序号、视觉单词、对应文字组合的RDD数据,将该RDD数据存储为Word.txt文本文件,用于后续步骤调用。
步骤3将视频中各关键帧对应的视觉单词进行汇总,通过Tf模型筛选,实现视频基于量化单词的线性表达,形成视频标注,具体包括如下步骤:
步骤3-1:将HDFS上的文本文件Word.txt读取到Spark集群上,设待测视频所有关键帧共含有M个视觉单词,将这些视觉单词按照权值的大小进行排序,权值范围0~1,视觉单词权值由Tf模型决定;
步骤3-2:通过数据集RDD的保存文档函数SaveAsTextFile将视觉单词、对应文字及出现概率保存为HDFS上的文本文件KeyWords.txt,取出现频率最高的五个视觉单词作为该视频的标注。
步骤2-1中,所述一组包括待测对象的各类图片为1万至3万张。
本发明涉及基于Spark的海量视频语义标注方法。首先,在Spark集群上,以HDFS存储方式将海量视频部署到若干计算节点上,通过分形维度实现镜头分割。其次,在Spark集群上提取对象样本的颜色矩、边缘以及纹理特征向量,进行元学习策略训练,形成视觉词典;并依据视觉词典对关键帧进行预测,产生能表征该镜头的视觉单词。 最后,通过Tf方法对待测视频的视觉单词进行排序,将筛选结果作为该视频的标注。
本发明与现有技术相比,其显著优点为:采用Spark计算框架,将存储和计算节点在物理上结合在一起,从而避免在数据密集计算中易形成的I/O吞吐量的制约,通过数据冗余性,提升了可扩展性、容错能力、并发访问能力和并发读写能力;实现了对体量庞大的非结构化视频数据进行分析,将海量复杂多源的视频数据转化为机器可识别的、具有明确语义的信息,进而进行视频标注。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1基于Spark的海量视频语义标注流程图。
图2海量视频数据Hadoop存储模型架构图。
图3 Hadoop存储模型架构的写操作过程示意图。
图4 Hadoop存储模型架构的读操作过程示意图。
图5基于Spark的元学习训练过程示意图。
图6基于Spark的元学习测试过程示意图。
具体实施方式
本发明基于Spark的海量视频语义标注方法,步骤如下:
第一步,建立Hadoop/Spark海量视频大数据平台,该平台由管理模块、结构模块和数据模块三部分组成且相互独立,实现海量数据的弹性存储;模块间通过以太网实现通信,实现各模块单独维护和升级,灵活处理系统的冗余和备份。如图2所示,管理模块向操作系统(客户端)提供一组访问界面,主要包括:对文件和目录的建立、打开、关闭、撤销、读、写、权限管理等。操作系统(客户端)通过这些访问界面获得数据存储系统的各种服务。结构模块,将不同结构的数据文件在数据库中创建对应的数据表,表中描述了文件属性信息和文件存储信息。数据模块是管理模块、结构模块的桥梁。数据模块将管理模块提交的用户文件以硬盘数据块或扇区为单位存储到文件系统,并将磁盘数据块或扇区信息存入结构模块中。
实现数据写操作过程,如图3所示。
1)客户端调用管理模块接口调用函数来创建文件。
2)向文件数据结构数据库查询文件信息。若文件不存在,在文件数据结构数据 库中创建一个新的文件,即在对应文件类型的数据表中添加一条表项。管理软件模块返回“文件输出”命令给客户端,并创建文件输出缓冲,此缓冲用于客户端写入文件数据。文件输出缓冲的大小应和数据模块的数据块(扇区)大小保持一致。
3)客户端准备写入文件数据。将文件按数据块(扇区)的大小分割成独立块,再将第一个文件块写入文件输出缓冲,并将写入文件输出缓冲的数据大小信息发送给管理模块。
4)客户端向管理软件模块发出数据准备完毕消息。
5)管理模块向大数据数据模块请求一个磁盘块(扇区)。
6)把磁盘块(扇区)号返回给管理模块,并对本块(扇区)做已分配标记。
7)管理模块将文件输出缓冲中的数据发送给数据模块。
8)数据模块将文件系统返回的磁盘块(扇区)地址返回给管理模块。
9)管理模块收到确认消息后并通知结构模块把这个磁盘块(扇区)地址记录到文件的disk和sector表项中,并累计己写入的文件大小。
10)管理模块向客户端发数据写入成功消息,并通知客户端写入下一个文件块。循环执行3)到10),直到所有的文件块都传输完毕。
11)客户端收到最后一个文件块的写入确认消息后向管理模块发出关闭文件消息,文件管理模块收到文件关闭消息后执行文件关闭操作,文件写入过程结束。实现数据读的过程如下,如图4所示。
1)客户端调用管理模块接口调用函数打开所要读取的文件。
2)管理模块向文件数据结构数据库模块发出读取文件信息命令。
3)文件数据结构数据库模块返回文件信息。管理模块得到该文件的所有文件信息和对应的数据块(扇区)地址。
4)管理模块创建文件输入缓冲,此缓冲用于客户端读取文件数据。文件输入缓冲的大小应和数据模块的数据块(扇区)大小一致。管理模块根据文件数据块(扇区)地址向数据模块发出数据块(扇区)读取命令。
5)数据模块将数据块(扇区)数据发送到管理模块。
6)管理模块通知客户端输入数据准备好。
7)客户端调用管理模块接口调用函数开始读取数据。
8)管理模块将输入缓冲数据和数据大小值发送到客户端。
9)客户端向管理模块发送数据读取确认消息。管理模块收到确认消息后开始重复步骤5到步骤10。
10)全部数据块都发送完毕后,管理模块向客户端发送文件关闭消息。
第二步,将海量视频部署到若干计算节点上,在Spark集群上,通过分形维度实现镜头分割,并提取镜头关键帧。
1)转换视频数据格式,将HDFS上二进制的视频数据通过Hadoop的自定义输出流转换为Spark可读取的数据,视频数据通过分析类SparkContext的文件读取函数TextFile读取为Spark集群上的String类型RDD数据VideoRDD,利用RDD的数据类型转换函数toArray将该RDD数据转换为Int型的Array数据VideoArray。根据视频的总帧数,利用数据并行分块函数parallelize把VideoArray切分为块大小为一个视频帧的RDD数据parVideoRDD,此时调用帧处理程序,parVideoRDD中的每一块数据区都将并行的分配到P个计算节点,从而实现了对整个视频的帧数据并行处理。
2)通过SparkContext的参数共享函数broadcast在各个计算节点间共享镜头分割所需的参数。在每个计算节点,对每一视频帧采用差分盒法计算分形维度,定义第i帧图像的分形维度为Di,则第i帧与第i+1帧的分形维度差fdi=|Di+1-Di|。在同一个镜头内,帧差变化存在于很小范围内。镜头边界帧差应远大于所属镜头帧差平均值和下一时间序列镜头的帧差平均值。对于切边镜头,迭代求解出最大帧差fdmax,帧前镜头的帧差平均值fdb_avg,帧后镜头的帧差平均值fda_avg。如果fdmax>2*fdb_avg且fdmax>2*fda_avg,则判定该帧是切变的镜头边界。对于渐变镜头,当渐变未被标记时,若fdmax>2*fdb_avg且fdmax<2*fda_avg,则判定为渐变镜头边界的开始帧;如果渐变开始帧己被标记,若fdmax>2*fda_avg,则判定为渐变镜头边界的结束帧,从而将视频按照时间序列切分为若干镜头。
3)若所有视频帧处理过后,视频每一帧均转化为[帧序号,分形维度]RDD数据,返回Spark主节点的结果是一组时间序列临界帧(简称“关键帧”)的帧号和其场景描述图像RDD数据,该RDD数据存储为KeyFrameSce.txt文本文件,此时整 个文件包含视频文件关键帧的属性信息,以便进一步调用。
第三步:在Spark集群上提取对象样本的颜色矩、边缘以及纹理特征向量,进行元学习策略训练,形成视觉词典;并依据视觉词典对关键帧进行预测,产生能表征该镜头的视觉单词。
1)选取两万张对象的各种样本图片并提取其底层特征,包括8维的颜色矩、9维边缘分布直方图、1维分形维度特征,组成包括颜色、边缘、纹理在内的18维特征向量;由于分形维度能更好的表示图像特征,这里赋予32%的权重,其他各维均匀赋予4%的权重。这样的一组特征向量就代表了该对象的视觉特征。将这些图片通过通道管理函数pipe()分配到一组计算节点进行特征提取,返回Spark主节点的结果是特征向量RDD数据,将其输出到文本文件SampleVec.txt中,此时SampleVec.txt文本文件包含该对象的特征信息;
2)将Hadoop的HDFS上的SampleVec.txt文本文件通过SparkContext的文件读取函数TextFile读取为Spark集群上的String类型RDD数据SampleVecRDD,并将该数据分配到P个计算节点。采用基于元学习策略对代表图片样本语义内容的特征向量进行训练。即将4种分类算法即GeneralizedWinnow算法、支持向量机算法(SVM)、条件随机域算法(CRF)和最大熵算法(ME)作为基分类器,图片实例xi(i为n个图片的序号),其表征特征向量为Vec(xi),正确分类标识为I(xi),通过上述4种学习算法训练,分别获得基分类模型Mgen、MSVM、MRCF、MME,将4种算法的预测结果P(xi)gen、P(xi)SVM、P(xi)RCF、P(xi)ME和Vec(xi)、I(xi)为输入,以CRF为元分类器进行二次训练,可得元分类模型Mmeta,如图5所示。元分类模型Mmeta的表征XML文件可作为该类特征向量的视觉单词,将每个视觉单词与文字语义关联,即使得每一个视觉单词(XML文件)都与其文字符号相对应,并录入视觉单词库。依此类推,对多种对象样本进行训练,累积形成视觉词典。
3)将Hadoop的HDFS上的KeyFrameVec.txt文本文件通过SparkContext的文件读取函数TextFile读取为Spark集群上的String类型RDD数据FrameVecRDD,并将其分配到P个计算节点。类似第三步2)所述,采用基于元学习策略对关键帧的特征向量进行预测。关键帧实例xi(i为n个视频关键帧的序号),其表征特征向量为Vec(xi),分类标识为I(xi)。通过上述4种学习算法预测,将预测结果P(xi)gen、 P(xi)SVM、P(xi)RCF、P(xi)ME和Vec(xi)输入分类模型Mmeta,对照视觉词典中的单词逐一预测是否包含该单词内容,如图6所示。一副关键帧种可包含一个或多个视觉单词,程序返回Spark主机的结果是帧号、视觉单词、对应文字符号组合RDD数据,将该RDD数据存储为Word.txt文本文件,以便进一步调用。
第四步,将视频中各关键帧对应的视觉单词进行汇总,通过Tf模型,实现视频基于量化单词的线性表达,进行形成视频摘要关键词。
1)HDFS上的Word.txt文本文件通过SparkContext的TextFile函数读取为Spark集群上的String类型RDD数据FrameSemaRDD。
2)利用RDD的按键值统计函数ReduceByKey函数对FrameSemaRDD中的视觉单词和场景描述单词进行字数统计,结果为String类型的RDD数据SemaCountRDD,此数据每一行包含单词及出现的次数。
3)将字数统计结果SemaCountRDD数据中的视觉单词出现次数除以视频总帧数,获得视觉单词在整个视频中出现的概率,利用RDD的按键值排序函数SortByKey函数对概率进行排序,然后设定概率阈值p,将大于p的统计结果写入String类型的RDD数据KeyRDD中。通过Tf模型确定该视觉单词在总数中的权值,即视觉单词在关键帧中出现的次数越多,那么它与视觉内容相关性越强,其权值也应该越大。
将KeyRDD通过RDD的SaveAsTextFile函数分别保存为HDFS上的KeyWords.txt。此文件的每一行将包含整个视频的关键词和出现概率。取出现频率最高的五个视觉单词,并将其对应文字标注在视频名中。
本发明提供了一种基于Spark的海量视频语义标注方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (4)

1.一种基于Spark的海量视频语义标注方法,其特征在于,包括以下步骤:
步骤1:将海量视频部署到一组计算节点上,通过Spark集群计算视频帧时间序列的分形维度差值,实现镜头分割,获取关键帧;
步骤2:在Spark集群上提取对象的检测样本的颜色矩、边缘以及纹理特征向量,进行元学习策略训练,形成视觉词典;并依据视觉词典对关键视频帧进行预测,产生能表征该关键视频帧的视觉单词;
步骤3:通过Tf方法对待测视频的视觉单词进行优先排序,将筛选结果作为该视频的标注;
步骤1在Spark集群上实现视频分割,划分海量视频分布至一组计算节点,利用分形方法将视频按时间序列分割为若干镜头,并提取关键帧,具体包括如下步骤:
步骤1-1:转换视频数据格式,将视频二进制数据通过Hadoop自定义输出流转换为Spark集群可读取的byte型数据,并保存到Hadoop分布式系统HDFS上;根据视频总帧数,利用并行分块函数把视频切分为块,一个块代表一个视频帧弹性分布式数据集RDD的数据对象parVideoRDD;调用帧处理程序,将数据对象parVideoRDD中的每一数据块都并行的分配到P个计算节点,从而实现对整个视频的帧数据并行处理;
步骤1-2:采用差分盒法,计算每一视频帧分形维度,通过时间序列的分形维度差值,求出切变镜头和渐变镜头的边界,从而将视频分割为一组镜头;在此计算过程中,通过Spark在各计算节点间的联系SparkContext实现各个计算节点间数据共享,使用映射函数map()完成分配步骤,再使用归一函数reduce()完成更新步骤;
步骤1-3:按时间序列,取每一镜头临界帧作为该镜头的关键视频帧,返回Spark主节点的结果是关键帧号和其场景描述的视频帧的RDD数据,将该视频帧的RDD数据存储为KeyFrameSce.txt文本文件,用于后续步骤调用。
2.根据权利要求1所述的基于Spark的海量视频语义标注方法,其特征在于,步骤2包括如下步骤:
步骤2-1:截取一组包括待测对象的各类图片,作为该对象的检测样本;将图片通过通道管理函数pipe()分配到一组计算节点,根据关键帧颜色矩、边缘直方图以及分形维度特征提取18维特征向量,用于表征该对象的图像语义内容;返回Spark主节点的结果是特征向量RDD数据,将其输出到文本文件SampleVec.txt中,此时SampleVec.txt文本文件包含该对象的特征信息;
步骤2-2:将分布式文件系统HDFS上的文本文件SampleVec.txt通过分析类SparkContext的文本读取函数TextFile读取字符串String类型的RDD数据SampleVecRDD,并将该数据分配到P个计算节点,P为大于1的自然数;采用基于元学习策略的4种分类算法,包括Generalized Winnow算法、支持向量机算法、条件随机域算法和最大熵算法,对代表该类对象的语义内容进行特征训练,形成代表该类对象的视觉单词,并与文字语义内容相关联;视觉单词是一个由元分类器表征且与文字语义内容存在相应映射关系的XML文件,每一个XML文件代表一类视觉单词;
步骤2-3:重复步骤2-1和步骤2-2,训练得到一组能够代表一类对象的特征的视觉单词,与相对应的文字语义内容建立映射关系后,汇聚成视觉词典;
步骤2-4:根据步骤2-1的,将步骤1-3得到的关键视频帧数据通过通道管理函数pipe()分配到一组计算节点,并提取18维特征向量,用于表征该关键视频帧的语义内容;返回Spark主节点的结果是关键视频帧的帧序号和特征向量RDD数据,将返回的[帧序号,特征向量RDD数据]输出到文本文件KeyFrameVec.txt中,此时KeyFrameVec.txt文本文件包含整个视频文件关键帧信息;
步骤2-5:根据步骤2-2,将分布式文件系统HDFS上的文本文件KeyFrameVec.txt通过SparkContext的文本读取函数TextFile函数读取字符串String类型RDD数据FrameVecRDD,数据FrameVecRDD每一行包含一帧号及语义特征向量,并将数据FrameVecRDD分配到P个计算节点;对照视觉词典,采用元学习策略对代表视频帧语义内容的特征向量进行预测,得出该视频帧所表述的一个以上的视觉单词;返回的结果是帧序号、视觉单词、对应文字组合的RDD数据,将该RDD数据存储为Word.txt文本文件,用于后续步骤调用。
3.根据权利要求2所述的基于Spark的海量视频语义标注方法,其特征在于,步骤3将视频中各关键帧对应的视觉单词进行汇总,通过Tf模型筛选,实现视频基于量化单词的线性表达,形成视频标注,具体包括如下步骤:
步骤3-1:将HDFS上的文本文件Word.txt读取到Spark集群上,设待测视频所有关键帧共含有M个视觉单词,将这些视觉单词按照权值的大小进行排序,权值范围0~1,视觉单词权值由Tf模型决定;
步骤3-2:通过数据集RDD的保存文档函数SaveAsTextFile将视觉单词、对应文字及出现概率保存为HDFS上的文本文件KeyWords.txt,取出现频率最高的五个视觉单词作为该视频的标注。
4.根据权利要求2所述的基于Spark的海量视频语义标注方法,其特征在于,所述一组包括待测对象的各类图片为1万至3万张。
CN201410459787.8A 2014-09-10 2014-09-10 一种基于Spark的海量视频语义标注方法 Active CN104239501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410459787.8A CN104239501B (zh) 2014-09-10 2014-09-10 一种基于Spark的海量视频语义标注方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410459787.8A CN104239501B (zh) 2014-09-10 2014-09-10 一种基于Spark的海量视频语义标注方法

Publications (2)

Publication Number Publication Date
CN104239501A CN104239501A (zh) 2014-12-24
CN104239501B true CN104239501B (zh) 2017-04-12

Family

ID=52227560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410459787.8A Active CN104239501B (zh) 2014-09-10 2014-09-10 一种基于Spark的海量视频语义标注方法

Country Status (1)

Country Link
CN (1) CN104239501B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573098B (zh) * 2015-01-30 2018-05-29 深圳市华傲数据技术有限公司 基于Spark系统的大规模对象识别方法
US9779304B2 (en) * 2015-08-11 2017-10-03 Google Inc. Feature-based video annotation
CN105468770A (zh) * 2015-12-09 2016-04-06 合一网络技术(北京)有限公司 一种数据处理方法及系统
CN105550318B (zh) * 2015-12-15 2017-12-26 深圳市华讯方舟软件技术有限公司 一种基于Spark大数据处理平台的查询方法
CN105740424A (zh) * 2016-01-29 2016-07-06 湖南大学 一种基于 Spark 平台的高效率文本分类方法
WO2018103042A1 (en) 2016-12-08 2018-06-14 Zhejiang Dahua Technology Co., Ltd. Methods and systems for video synopsis
CN106844044B (zh) * 2016-12-30 2020-07-24 东方晶源微电子科技(北京)有限公司 一种数据处理方法和装置
CN107133569B (zh) * 2017-04-06 2020-06-16 同济大学 基于泛化多标记学习的监控视频多粒度标注方法
CN107391704A (zh) * 2017-07-28 2017-11-24 重庆邮电大学 一种基于Spark框架的实体统一算法
CN107481191B (zh) * 2017-08-03 2020-07-10 东北林业大学 一种基于Spark的海量遥感图像并行镶嵌方法及系统
CN108334532B (zh) * 2017-09-27 2021-08-03 华南师范大学 一种基于Spark的Eclat并行化方法、系统及装置
CN107909014A (zh) * 2017-10-31 2018-04-13 天津大学 一种基于深度学习的视频理解方法
CN107861804A (zh) * 2017-10-31 2018-03-30 用友金融信息技术股份有限公司 大数据计算方法、计算系统、计算机设备及可读存储介质
US10534965B2 (en) * 2017-11-22 2020-01-14 Amazon Technologies, Inc. Analysis of video content
CN110121033A (zh) * 2018-02-06 2019-08-13 上海全土豆文化传播有限公司 视频编目方法及装置
CN108595469A (zh) * 2018-03-06 2018-09-28 洛阳中科龙网创新科技有限公司 一种基于语义的农机监控视频图像节带化传输系统
CN108647264B (zh) * 2018-04-28 2020-10-13 北京邮电大学 一种基于支持向量机的图像自动标注方法及装置
CN109089133B (zh) * 2018-08-07 2020-08-11 北京市商汤科技开发有限公司 视频处理方法及装置、电子设备和存储介质
CN109840551B (zh) * 2019-01-14 2022-03-15 湖北工业大学 一种用于机器学习模型训练的优化随机森林参数的方法
CN109885728B (zh) * 2019-01-16 2022-06-07 西北工业大学 基于元学习的视频摘要方法
WO2020197501A1 (en) * 2019-03-26 2020-10-01 Agency For Science, Technology And Research Method and system for image classification
CN111444390A (zh) * 2020-04-02 2020-07-24 徐州工程学院 一种基于Spark和深度哈希的视频并行检索方法
CN111813581B (zh) * 2020-07-24 2022-07-05 成都信息工程大学 一种基于完全二叉树的容错机制的配置方法
CN112733920A (zh) * 2020-12-31 2021-04-30 中国地质调查局成都地质调查中心 一种基于深度学习的图像识别方法及系统
CN113255493B (zh) * 2021-05-17 2023-06-30 南京信息工程大学 一种融合视觉词和自注意力机制的视频目标分割方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663015A (zh) * 2012-03-21 2012-09-12 上海大学 基于特征袋模型和监督学习的视频语义标注方法
CN102880879A (zh) * 2012-08-16 2013-01-16 北京理工大学 基于分布式和svm分类器的室外海量物体识别方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663015A (zh) * 2012-03-21 2012-09-12 上海大学 基于特征袋模型和监督学习的视频语义标注方法
CN102880879A (zh) * 2012-08-16 2013-01-16 北京理工大学 基于分布式和svm分类器的室外海量物体识别方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Large-Scale Multimedia Data Mining Using MapReduce Framework";Hanli Wang et al.;《2012 IEEE 4th International Conference on Cloud Computing Technology and Science》;20121231;第287-292页 *
"基于差分盒维数的空间目标图像分割算法";姚远 等;《计算机科学》;20121130;第39卷(第11A期);第359-383页 *
"集群计算引擎Spark中的内存优化研究与实现";冯琳;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140715;第I137-20页 *

Also Published As

Publication number Publication date
CN104239501A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104239501B (zh) 一种基于Spark的海量视频语义标注方法
CN109635171B (zh) 一种新闻节目智能标签的融合推理系统和方法
Tang et al. Tri-clustered tensor completion for social-aware image tag refinement
CN102663015B (zh) 基于特征袋模型和监督学习的视频语义标注方法
CN102799684B (zh) 一种视音频文件编目标引、元数据存储索引与搜索方法
CN104573130B (zh) 基于群体计算的实体解析方法及装置
CN105005578A (zh) 多媒体目标信息可视化分析系统
CN106649455A (zh) 一种大数据开发的标准化系统归类、命令集系统
CN113032552B (zh) 一种基于文本摘要的政策要点抽取方法与提取系统
Lee et al. MAP-based image tag recommendation using a visual folksonomy
CN113051914A (zh) 一种基于多特征动态画像的企业隐藏标签抽取方法及装置
CN103761286B (zh) 一种基于用户兴趣的服务资源检索方法
CN109271624A (zh) 一种目标词确定方法、装置及存储介质
Ła̧giewka et al. Distributed image retrieval with colour and keypoint features
CN109409529A (zh) 一种事件认知分析方法、系统及存储介质
CN106599305B (zh) 一种基于众包的异构媒体语义融合方法
Huang et al. Tag refinement of micro-videos by learning from multiple data sources
CN108427769B (zh) 一种基于社交网络的人物兴趣标签提取方法
CN109062551A (zh) 基于大数据开发命令集的开发框架
CN111538859B (zh) 一种动态更新视频标签的方法、装置及电子设备
CN115130453A (zh) 互动信息生成方法和装置
Sun et al. Design of a Media Resource Management System for Colleges Based on Cloud Service
CN106156259A (zh) 一种用户行为信息展示方法及系统
Rautray et al. ASSIE: application of squirrel search algorithm for information extraction problem
Nguyen et al. Keyword visual representation for image retrieval and image annotation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant