以Hadoop平台为依托设计海量视频检索系统

2018-09-21 03:18王纪萍
电视技术 2018年8期
关键词:检索系统海量分布式

王纪萍

(南京审计大学 金审学院,江苏 南京 210023)

以往视频数据存储和检索平台功能较为单一,性能低效,容量有限,较多地应用在科学计算领域,在数据处理领域应用较少。设计一款以Hadoop平台为依托的海量视频检索系统所需硬件、软件环境造价低,但功能却很丰富,具有极高的拓展性和包容性,可根据视频数据处理需要拓展功能,且性能高、容量大,在视频数据处理方面优势明显。

1 系统需求分析

1.1 现实需求

随着智能安防技术的发展,智能视频监控系统的运用愈发普遍,遍布大街小巷的“天网”系统和分布在不同场所的监控摄像头,每时每刻都在不停录像,捕捉视频图像。当需要从这些视频图像中检索跟踪某一特定目标时,就需要从存储的海量视频中,分析、检索、提取特定对象,这无异于大海捞针。设计一套能够智能快速进行海量筛选检索的系统就显得尤为重要。以往视频图像检测的方法有很多,如颜色分类法、帧差法等,在这些方法基础上开发出的视频检索系统,虽然可以进行人车分类、视频浓缩等处理,但并不能完成对特定目标的检索,实际应用存在诸多局限,必须要设计一款功能强大、拓展性强的海量视频检索系统。

1.2 功能需求

(1)强大的存储需求

海量视频检索系统必须要具有强大的存储功能,要能够存储海量视频,因此,存储系统功能必须要足够强大。一是要具有较强的包容性,要能够存储各种类型的视频文件;二是要有较强的写入性能。要能够同时满足KB级的人脸或车辆图像文件的读写、GB级的高清视频文件的读写,并能够快速读取并批量存储数据三是要具备动态拓展性,要在存储各种原始数据信息的同时,支持动态拓展,为存储各种目标图像和视频提供强大支持;四是要满足跨平台数据读写的需求,海量视频检索系统涉及到不同数据的操作处理,而这些处理是由不同的平台完成的,系统必须要满足跨平台进行数据读取和写入的需求。

(2)分布式转码需求

海量视频检索系统中,视频和各种图像数据每天以指数级的速度增长,会不断消耗系统内存,对系统运行产生压力。过去的海量视频检索系统多采用的是单节点的转码方式进行视频检索,但这种方式不但效率低,还会加重系统运行负担,使其出现宕机的情况,影响海量视频数据检索的实现。因此,要设计的海量视频检索系统需要满足分布式转码需求,可通过系统将视频转码任务分布到多个计算机上,由他们共同完成数据转码,实现多个节点的联动作业,提高视频检索系统的检索效率。

2 Hadoop海量视频检索系统架构

采用Hadoop进行设计,可满足海量视频检索系统的现实需求和功能需求,Hadoop最大的特色就是对视频数据进行分布式的存储和转换处理,能够实现海量视频检索的高效运行,并能实现在海量视频中快速提取某一目标。

2.1 系统核心组件架构

以Hadoop平台为依托建构的海量视频检索系统包含多个组件,但其中最主要的核心组件有三,分别为HDFS、MapReduce、HBase,它们各自承担不同的分布式海量视频数据处理任务,是支撑系统稳定运行的核心组件,如图1所示。

图1 Hadoop系统核心组件架构

(1)HDFS系统架构

在Hadoop海量视频检索系统设计中,将HDFS架构在最底层,它的功能是连接获取Hadoop平台上传输过来的视频数据,对其进行副本复制、出错处理等一系列存储管理工作。该系统具有强大的分布式存储管理优势。即便是几百GB或几百TB的超大型视频文件,HDFS系统都可以轻松存储。利用该系统的流式数据访问优势,可轻松提升数据吞吐量,并能根据Hadoop集群的存储需要随时删除或增加节点。在架构HDFS系统系统时,可按照Hadoop远程过程调用协议实现各个节点之间的通信,确保HDFS系统各个节点之间的协调运作。若用户需存储文件,就可以通过客户端启动HDFS系统,然后调用create方法。此时在远程通信机制的支持下,可以实现HDFS各节点间的网络通讯,用户只需要在节点域名空间内新建地址文件,就可以获得相应存储地址,即可进行数据写入存储操作[1]。

(2)HBase系统架构

这个面向列的存储系统,其作用是对以表的形式存储的视频数据进行增删查改、调整和故障恢复等操作。在架构该系统时,需要运用多个区域服务器,通过服务器来响应用户提出的视频存储需求,然后与HDFS之间进行交互协作,从后者读写数据。

(3)MapReduce系统架构

MapReduce系统架构的目的是为了完成对视频数据的分布式计算和调度任务。其架构主要包括JobTracker和TaskTracker两部分,前者属于任务控制节点,负责发布和调度任务,后者属于任务的执行节点,执行JobTracker指派的任务,并在任务完成后,将结果反馈给JobTracker。整个系统的运行流程为:JobTracke任务提交——任务初始化——TaskTracker任务执行——Map输出——Reduce分配——结束[2]。

2.2 系统整体框架架构

如图2所示,基于Hadoop系统的海量视频检索系统共分为六层:第一层是硬件层,这一层是服务器集群层,采用一台主服务器Master和三台从服务器Slave进行架构的方式,将它们布局在同一局域网中。服务器内存为8GB,硬盘为120GBSATA;第二、三、四层分别为分布式数据存储管理层、数据库处理层和分布式数据计算层;第五层为业务逻辑层。负责通过对目标视频进行预处理和特征提取等工作,实现视频精准检索;第六层为用户层,为用户提供视频检索的接口和查询服务。

图2 Hadoop系统整体框架架构

2.3 系统运行流程

Hadoop系统的前端运行极为简捷高效,用户只需要进入系统视频检索界面,提供需要检索的目标图像,系统就会自动对目标图像进行特征提取。同时,数据库底层会自动运行,在海量数据中层层筛选,最终选定相似目标图像,并进行相似度匹配。最终通过比对结果确定获得的图像是否是目标图像,至此,系统运行结束,用户完成检索。如图3所示。

图3 Hadoop系统运行流程

3 Hadoop海量视频检索系统的实现

Hadoop海量视频检索系统实现的关键在于图像特征的提取和匹配,这其中需要用到先进的提取算法,本文在系统中嵌入了两套不同的算法,这两种算法都具有精确检索的特征,用户可根据实际需要选择任一算法进行视频检索。

3.1 待检索目标图像的特征提取

Hadoop海量视频检索系统在待检索目标图像特征提取时采用的是分布式提取方法,提取的特征主要包括目标图像的RGB颜色、目标图像的边缘直方图、目标图像的纹理特征等。提取。

(1)利用Hu不变矩算法获得目标图像的特征向量

该算法的优点在于不受图像变换的影响,无论是旋转还是缩放图像,都不会影响其对图像特征的提取。同时,该方法对噪声不敏感,能够准确描述目标图像的形状特征,在海量视频检索领域应用广泛[3]。其公式表示如下:设二维数字图像为f(x,y),图像高度为n,图像宽度为m,图像水平方向的重点为x0,垂直方向重心为y0。那么(p+q)阶的普通矩和中心矩公式分别如下:

(1)

(2)

在此公式的基础上,对图像的中心距归一,归一公式如下:

(3)

利用这个公式可以获得7个不变矩,它们就可以作为目标图像的特征向量,有了图像的特征向量,就可以将其转换成相应函数。

(2)采用Gabor小波变换法对目标图像纹理特征进行提取

Gabor小波变换法具有多尺度、多层次分析和描述待检索目标图像的优点,采用这种方法进行图像纹理特征提取,可以最大程度降低图像纹理信息冗杂度,获得有效纹理信息[4]。

第一步要获取目标图像的纹理特征向量。设图像函数为g(x,y),按照Gabor小波变换可将图像表述为:

Wmn(x,y)=∬g(x,y)fmn*(x-x1,y-y1)dxdy

(4)

在式(4)中,*表示的是共轭复数,通过这个公式,可以得出目标图像Gabor小波变换的均值和方差,其均值和方差分别用μmn、σmn表示,可以得到二者的值,即如下:

μmn=∬|Wmn(x,y)|dxdy

(5)

(6)

通过以上公式可计算目标图像的纹理特征在水平、垂直等不同方向及尺寸上的能量分布,得到图像的纹理特征。如图4所示。

图4 Gabor小波变换法纹理特征提取

3.2 待检索目标图像与视频图像相似度匹配

设待检索目标图像数量为N幅,待检索目标图像就可以用In表示,n指的是1,2,3,…,N。海量视频数据中对应的图像的颜色、纹理及边缘特征等分别用Cn、Tn、En来表示,那么待检索目标图像I1的特征相应在海量视频图像中对应的就是C1、T1、E1[6]。待检索目标图像与海量视频数据中图像颜色、纹理和边缘相似度分别用DCN、DTn、DEn表示,然后按照以下公式分别计算他们的相似度:

(7)

(8)

(9)

3.3 待检索图像检索流程

利用Hadoop平台的MapReduce分布式数据计算系统设计Map任务、Reduce任务。先将目标图像的特征值存储到HBase的图片表列中,然后选择其中的行来执行数据输入任务,同时,将Rowkey作为key,图片数据列则作为value,然后执行Map任务,获得待检索图片的关键参数和相应特征值,并自动生成特征函数和向量[7]。然后按照上述相似度匹配公式,对待检索目标图像与海量视频库中的图像进行三种特征的比对和匹配,最终可以获得较为准确的检索结果。图5为用户在Hadoop海量视频检索系统中输入待检索目标图像获得的结果。

图5 Hadoop海量视频检索效果

4 结语

本文以Hadoop平台为依托设计海量视频检索系统硬件布局较为简单,采用的算法也并不复杂,但是依托于Hadoop平台良好的性能和高效的数据存储及分布式处理优势,可以达到在海量视频数据库中快速高效检索目标图像的目的。本文的研究也表明,相较于单机节点的海量检索系统,分布式的集群运算系统更能满足当下海量视频存储及检索的需求。未来应加大对这一技术的运用,将Hadoop海量视频检索系统应用到更多领域,造福社会。

猜你喜欢
检索系统海量分布式
一种傅里叶域海量数据高速谱聚类方法
海量快递垃圾正在“围城”——“绿色快递”势在必行
收录《信号处理》的检索系统及数据库
收录《信号处理》的检索系统及数据库
本刊被以下检索系统及数据库收录
本刊被以下检索系统及数据库收录
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
一个图形所蕴含的“海量”巧题
基于DDS的分布式三维协同仿真研究