一种基于开放式WebService架构的分布式视觉计算方法

文档序号:6606790阅读:194来源:国知局
专利名称:一种基于开放式Web Service架构的分布式视觉计算方法
技术领域
本发明涉及一种分布式计算机视觉计算的方法,尤其是基于开放式WebService 架构的分布式视觉计算方法。
背景技术
基于视觉的生物特征识别技术是公共安全领域的重要内容之一,经过较长时间的发展,所有的基于视觉的识别系统都可以按照统一的框架实现,即按照目标检测、图像预处理、特征提取和目标识别四个步骤来进行。目标检测主要完成图像中是否存在目标的判断以及初步定位;预处理通常包括精确定位、尺度和亮度的归一化,以便提取到有效的特征; 特征提取根据最终的识别目的是提取最有利于识别的信息;目标识别则是选取合适的分类器实现目标的识别和分类。在本发明以前,基于视觉的生物特征识别系统通常采用单一计算机的方式进行工作,以最为典型的人脸身份识别为例,Cognitec公司利用多阶高斯导数滤波特征开发的 FaceVACS-SDK产品,Identix公司的基于Rockfeller大学开发得LFA算法的FaceIt产品, Never Vision公司的基于Gabor特征的人脸识别产品等都是采用了这样的实现方式,这样使得识别系统的效率和数据库容量在很大程度上受到了处理器性能的限制。单一计算机机架构的另外一种发展形式是采用C/S架构,能够将全部或者主要的计算任务从视频采集前端转移到服务器端,降低了前端设备的性能要求,同时也实现了远程识别。但是,由于计算过程的完成还是在服务器一台机器上进行,所以与单一计算机方式并无本质区别。随着实际应用中对大规模数据处理的迫切需求,这种基于单一计算机的计算模式难以满足实际需求。尽管出现了诸如TH-ID i^ace等运用分布式计算的大型人脸身份识别系统,但是这些识别系统仅仅利用分布式提高计算的并行度和系统性能,没有充分考虑跨平台应用、与其他系统兼容等实用性问题,依然不能满足公共安防的实际应用需求。

发明内容
本发明的目的就是要克服上述缺陷,研制一种基于开放式ffeb Service架构的分布式视觉计算方法。本发明的技术方案是一种基于开放式ffeb Service架构的分布式视觉计算方法,包括以下步骤采用嵌入式视频采集前端采集被识别目标的视频图像,经过压缩编码后通过网络组播的方式发送回数据中心;数据中心由一台控制服务器和多台计算服务器组成,控制服务器将计算任务自动分配给计算服务器完成,计算服务器进行视频数据的解压缩、目标检测、图像预处理、特征提取、识别分类和结果绘制;将计算服务器的计算结果进行综合后与视频图像一起分发到用户的监控工作站、 平板电脑、智能手机的观察终端。
本发明的优点和效果体现在以下几方面(1)采用嵌入式视频采集前端采集被识别目标的视频图像并通过网络组播的方式发送回数据中心的服务器组。其中,服务器组由一台控制服务器和多台计算服务器组成,在控制服务器的统一调度下将目标检测、图像预处理、特征提取(多种特征)和目标分类(多个分类器)的计算任务自动分配到不同的计算服务器上进行,将结果绘制到视频上并通过压缩后发送到监控工作站、平板电脑、智能手机(含警务通等专用设备)等不同类型的终端。嵌入式视频采集前端的成本低,适合大量部署;分布式处理方式保证了系统的处理性能并且能够根据需要灵活安排计算能力和进行算法的在线升级;接入观察终端的种类多样, 适合各种形式的应用。(2)运行于同一台计算服务器的子计算任务采取基于共享内存的多线程并行处理加速计算。在计算任务协同进程的控制下,同一个计算任务的各子计算任务能够并行的或者按照先后顺序进行运行,并将数据直接存储到指定内存区域供其他进程读取,从而减少了不必要的数据传输。计算进程和共享内存区域采用进程池和内存池进行管理,减少了不必要的销毁和新建操作。共享内存区域和进程池、内存池的使用提升了系统运行的性能。(3)多台计算服务器之间或者应终端和其他外部系统的要求传输中间结果时采用 Web Service的方式,既保证了数据传输的可靠性,又使得数据能够被最广范围的外部系统 (可能需要简单升级)接受,获得了开放性和跨平台的特性。同样的,包括数据库在内的其他外部系统对本发明所述的系统传输数据时同样采用Web Service方式,使得能够兼容绝大部分的数据库和经过简单升级后的外部系统。(4)采用组播方式传输经过压缩的视频图像,当由于网络配置等原因无法采用组播时则在采用视频压缩的基础上进一步采用基于内容的视频图像压缩,从而在很大程度上减少了视频数据传输所占用的带宽,便于大规模使用。(5)采用分组方式实现对于身份证等大规模数据库的识别计算,在分组策略中综合考虑了数据库自身具有的地域分组、群体分组等特性和算法要求,结合分组匹配的策略能够避免大量不必要的匹配计算,提升了系统的整体性能。同时对于数据的提供采用了 Web Service的方式,不需要改动现有数据库的类型、数据格式和存储方式,并且能够权限管理, 仅按需提供数据,较好地解决了这些数据库的实际应用存在的问题。本发明上述方法的技术方案,一方面使得现有安防系统和平台的监控设备都能够简易升级并兼容到系统中,同时具有开放性和跨平台的特性,使得各类终端都可以按需获取相应的分析结果;另一方面,本发明上述方法的技术方案采用分组的方式实现了对于大规模数据库的识别计算并在分组策略考虑了身份证等数据库的特点,在数据提供方式上考虑并解决了其接入系统可能存在的问题。基于以上两点,本发明面向安防实际应用需求解决了大规模数据库的识别问题和与其它系统的数据共享兼容问题,具有实际应用价值。


图1——本发明的架构示意图。图2——本发明的流程示图。图3——用户发起对特定前端视频进行分析的响应过程示意图。图4——计算任务及子计算任务划分示意图。
图5——控制服务器的进程划分及表单构成示意图。图6——控制服务器自动分配计算任务流程图。图7——计算服务器的进程划分及表单构成示意图。图8——计算服务器的计算进程和共享内存管理流程图,其中,a是分配计算进程和共享内存的流程图,b是销毁计算进程和共享内存的流程图。图9——Web Service方式传输中间结果及获取外部系统数据的流程图,其中,a 是计算服务器之间传输中间结果以及对终端或外部系统提供数据的流程图,b是数据库等外部系统对系统提供数据的流程图。图10——基于内容的视频数据压缩办法示意图。图11——大规模数据集数据分组流程图。图12——大规模数据集分组识别的系统架构示意图。图13——大规模数据集分组识别的系统流程示意图。图14——本发明可行应用示意图。
具体实施例方式如图1所示本发明整套系统由嵌入式视频采集前端、数据中心、多种观察终端以及传输网络构成。嵌入式视频采集前端采集被识别目标的视频图像并通过网络组播的方式发送回数据中心;嵌入式采集前端的形式可以是多样的,具体包括直接基于嵌入式处理器开发的IP摄像机、模拟或数字摄像机通过网络视频服务器接入、其他视频采集设备通过具有联网能力的设备接入等;采用嵌入式采集前端能够获得较低的成本,从而方便大规模部属和应用。在本发明的实施例中,具体采用的是基于海思Hi3510处理器的IP摄像机作为嵌入式视频采集前端。数据中心由一台控制服务器和多台计算服务器组成,在控制服务器的统一调度下将计算任务自动分配到不同的计算服务器上进行,并将结果绘制到视频上发送到等不同类型的终端。在本发明的实施例中,具体要实现的计算分析内容是对目标进行人脸身份识别和面部表情分类。多种观察终端具体包括监控工作站、通用电脑(台式机、笔记本、平板电脑)、智能手机、警务通等专用移动设备,能够适用于各种场合的不同应用需求。在本发明的实施例中,具体采用的终端为笔记本电脑和智能手机两种。传输网络可以为公共的hternet网络、警务专用网络等有线介质网络,也可以为 3G网络、卫星通信等无线网络,从而使得本系统能够便利的部署和应用,也可以应对突发情况采用无线方式应急使用。在本发明的具体实施例中具体采用的传输网络是以太网和WIFI 无线网络两种。如图2所示本发明的实现流程图从大的层面,首先由视频采集前端捕获视频数据并传送回数据中心,然后由数据中心进行分布式视觉计算处理,最后数据中心将分析结果绘制到视频中并发送给多种终端显示,其中数据中心进行分布式视觉计算处理又可以细分为视频解压缩、目标检测、图像预处理、特征提取、识别分类和结果绘制六个步骤。嵌入式视频采集前端传送给计算服务器的视频数据是经过压缩编码的,所以计算服务器进行的第一个步骤为视频解压缩,在本发明的实施例中视频的分辨率为640*480像素,视频压缩采用的是H. 264算法。目标检测步骤的目的是判断视频图像中是否存在目标并给出目标的位置和大小信息,目标检测的算法一般有两种思路实现,一种是基于传统的视频处理和分析检测目标的位置,另一种则是通过统计学习的办法利用大量的正样本和负样本进行模型训练并实现目标检测,两种办法都是可行的。在本发明的实施例中目标检测需要实现对人脸的检测,采用的是基于统计学习的实现方式,具体的是基于简单矩形特征的Adaboost算法,能够达到 95%以上的检测准确率和实时检测的效果。应当指出,本发明目标检测步骤以及后续的特征提取和识别分类步骤具体算法是与最终要完成的分析任务密切相关的,应该根据具体内容具体选择合适的算法,并且同一个步骤通常存在多种不同的算法,而本发明对于这些算法具有普适性,任何算法都能够在本发明的方案下实现,而本发明的创新之处和优点也并不体现在这些算法上,故下面的描述仅作为本发明实施例的一种具体形式,并不用以限制本发明。图像预处理步骤需要将检测到的人脸图像截取出来并进行尺度和光照两个方面的归一化。对于人脸图像的尺度归一化是通过旋转、尺度和平移三种仿射变化将人脸图像的两个眼睛对齐到相同的位置实现的。对于眼睛的定位可以通过眼睛检测的办法实现,也可以通过特征点对准算法来实现。眼睛检测属于目标检测的一种,实现方式不再阐述。特征点对准算法是通过统计学习的办法实现将预先定义的各特征点精确定位到目标的各位置(主要为目标和目标内部各子部件的边缘、关键点等),目前普遍使用的算法有主动形状模型ASM和主动表观模型AAM即两者的改进算法。本发明的实施例中,从后续特征提取的角度采用了特征点对准的办法实现人脸图像的尺度归一化,具体的是采用ASM算法精确定位人脸的轮廓、眉毛眼睛等器官的轮廓共计87个特征点,再将人脸缩放到64*64大小,并将两眼固定于(16,16)和08,16)两个固定的坐标,还进一步将人脸轮廓以外的部分设置为 0,排除非人脸图像对于后续特征提取和识别分类的影响。对于光照的归一化是为了剔出光照变化对于系统的影响,本发明的实施例中采用了直方图均衡化的办法实现这一目标。特征提取和识别分类是针对每一个检测到的目标并行进行的,并且可以采用多种特征、多个分类器的算法并行进行,还可以同步完成对于多种需求的分析,如本发明的实时例中就是同步识别身份和表情等。在本发明的实施例中,特征提取步骤的具体做法是综合利用Gabor小波和几何特征两种类型的特征,并经过PCA降维处理进一步减少特征数据的冗余,提高后续识别分类的效率。在本发明的实施例中,进行Gabor小波变换时采用了 5个尺度6个方向并将归一化后的图像进行变换得到的模值作为特征,共计64*64*5*6 = 12观80维特征,几何特征则直接将87个特征点的坐标作为特征,共计87 = 174维特征,进行降维操作时采取了保留特征90%的模式变换的准则进行,一方面降低了数据维数,减少计算量,另一方面在一定程度上避免了数据噪声对于系统的影响。在本发明的实施例中识别分类步骤需要实现人脸身份识别和表情分类,具体的, 进行身份识别采用基于主成份分析的最小化重构误差来实现,进行表情分类则采用带有多类扩展的SVM分类器进行6类表情的分类。结果绘制步骤则将识别分类的结果绘制到视频中,经过视频压缩后发送给终端设备用于显示。当用户提交中间数据绘制请求时,目标检测、特征点对准等中间结果需要一并绘制到视频中。在本发明的实施例中,结果绘制采用DirectDraw进行加速,绘制后的视频压缩仍然采用H. 264压缩。如图3所示为用户发起对特定前端视频进行分析的响应过程示意图,当用户发起一次分析请求并由数据中心完成相应的功能和做出响应可以细分为如下步骤①户从终端登录并获取设备清单,其中设备清单是由控制服务器自动进行维护的,当增加前端设备或者前端设备故障不能正常使用,设备清单自动增减;②控制服务器返回设备清单;③用户从终端选择要求预览的前端视频采集设备;④控制服务器添加终端IP地址到前端组播范围;⑤前端分发视频到终端实现图像预览,前① ⑤步骤用户完成了前端视频的选择,下面的分析请求则是针对用户选择的视频进行;⑥用户从终端请求对视频数据进行分析;⑦控制服务器分配计算任务给计算服务器并添加计算服务器IP地址到前端组播范围;⑧前端分发视频数据到计算服务器;⑨计算服务器完成计算任务,该步骤可能是由一台计算服务器的多个计算进程完成的,也可能是由多台计算服务器协同完成的;⑩绘制分析结果到视频并发送给终端显示查看,整个响应过程完成。如图3-6所示计算任务是由控制服务器自动分配到多台计算服务器完成的。具体实现方式如下参考图4,对于一帧视频图像的处理为一个计算任务,其中处理的各步骤(即对一帧视频图像解压缩、目标检测、图像预处理、特征提取、识别分类和结果绘制)为一个子计算任务,当一帧视频图像内存在多个目标或者采用多种特征提取算法和多种分类器时,则对于不同目标的处理操作或者对于同一个目标的不同的特征提取和识别分类计算亦被认为是不同的子计算任务,子计算任务可以根据算法细节划分为更小的子任务。参考图5,控制服务器内运行对外响应进程、用户权限认证进程、前端管理进程、计算任务分配进程和若干已分配计算任务的协同进程,并建立用户权限表单、前端设备表单和计算任务资源需求表单分别为用户权限认证进程、前端管理进程和计算任务分配进程提供数据;用户通过控制服务器对外响应进程提供的接口经过权限认证后完成获取设备表单和发起指定计算任务的请求交互操作;前段管理进程自动维护和对用户提供设备表单;计算任务分配进程完成计算任务的分配,并建立协同进程协同计算任务的运行。参考图6,用户发起某个计算任务的请求后,控制服务器首先自动获取各计算服务器的资源占用情况(主要为CPU占用情况和内存占用情况),并优先将该计算任务的全部子任务分配到同一台资源充足的服务器,当各计算服务器都已经在运行计算任务单台服务器
9剩余资源不足以完成新的计算任务则将各子计算任务分配到多台计算服务器,分配计算任务的同时控制服务器建立与该计算任务对应的协同进程协调各子计算任务的运行直至任务运行结束。在本发明的实施例中,采用了一台控制服务器和两台计算服务器来实现计算任务的自动分配,其中控制服务器为普通PC机,配置为四核3. OGHz处理器,4GB内存,用来完成计算任务的分配合协同。如图3,7,8所示计算服务器内运行若干个子计算任务,并且这些子计算任务可以根据所属的计算任务分组和采用基于内存共享的多线程并行处理方法加速计算,具体按照如下方式实现参考图7,一个计算任务被划分为若干子计算任务,具体包括视频图像解压缩计算、目标检测计算、图像预处理计算、特征提取计算、识别分类计算和结果绘制计算,这些子计算任务在计算服务器中分别对应一个视频图像解压缩进程、目标检测进程、图像预处理进程、特征提取进程、识别分类进程、结果绘制进程;同一个计算任务对应的这些计算进程形成一个计算进程组;参考图7,与每个计算进程组对应一个共享内存区域,用于存储各计算进程的输入输出数据,具体可以划分为解压缩视频图像数据存储区域、目标检测结果数据存储区域、图像预处理结果数据存储区域、特征提取结果数据存储区域和识别分类结果数据存储区域, 其中目标检测结果数据存储区域、图像预处理结果数据存储区域、特征提取结果数据存储区域和识别分类结果数据存储区域是按照程序设定的最大目标数分配空间大小的,能够保存程序设定的最大目标数量的结果,若超出则不处理;参考图7,视频图像解压缩进程对视频采集前端发送回的视频数据进行解压缩计算并输出解压缩视频图像数据,目标检测进程对解压缩视频图像数据进行目标检测并输出目标检测结果(包括数量和各目标的位置、大小信息)数据,图像预处理进程根据目标检测结果从解压缩视频图像数据中截取局部图像进行进预处理计算(进一步精确定位目标并进行尺度、光照的归一化)并输出图像预处理结果数据,特征提取在预处理后的图像数据提取适合识别分类的特征经过特征降维后保存有效特征为特征提取结果数据,识别分类进程输入有效特征数据经过特定算法的计算输出识别分类的结果,结果绘制进程将识别分类的结果绘制到视频图像上、根据设定决定是否绘制中间结果到图像,并经过压缩后发送给各种类型的观察终端;参考图7,当控制服务器分配计算任务到计算服务器时,相应的计算进程的建立和共享内存区域的分配是由运行于该计算服务器的代理进程进行的,当计算任务完成后计算进程和共享内存区域的回收也是由代理进程进行的,代理进程由服务器资源表单为其提供数据;参考图7,同一个计算任务的不同子计算任务的运行有先后顺序要求,子计算任务的运行顺序协调是由控制服务器的计算任务协同进程控制计算任务所涉及各计算服务器的代理进程完成的,具体的子计算任务的先后顺序为视频图像解压缩进程最先运行,其次运行目标检测进程,其三运行图像预处理进程,其四运行特征提取进程,其五运行识别分类进程,最后运行结果绘制进程;对于检测到的多个目标的后续处理可以并行进行;对于采用多种特征提取算法和识别分类算法的,不同算法对应的特征提取进程和识别分类进程可以并行进行;参考图8,计算服务器对于各步骤的计算进程和共享内存区域的回收不是采用销毁和新建的方式,而是采用计算进程池和共享内存池的方式。具体的说,参考图8_a代理进程收到新的计算任务时不是直接建立相应的计算进程和共享内存区域,而是查询是否存在闲置的计算进程和共享内存区域(由前面的计算任务使用后留下的),若存在则直接设置空闲进程和共享内存区域的标识符为该计算任务使用,否则建立新的计算进程并分配共享内存区域;参考图8-b,当不再使用该计算服务器(即由控制服务器命令销毁该计算服务器的代理进程)则由代理服务器销毁全部计算进程以及共享内存区域。在本发明的实施例中,每台计算服务器的配置为双路四核至强处理器,运算主频 3. 0GHz,内存32GB,每台服务器设定允许的最大计算线程数量为14,其中一个内核完全用来运行代理进程,保证其实时响应,其余每个内核最多绑定两个计算进程。如图3,7,9所示参考图7,当一个计算任务的不同子计算任务运行于同一台计算服务器时,各计算进程直接从对应的内存区域读取运行需要的数据,不需要拷贝或者传输;参考图3和图9_a,当一个计算任务的不同子计算任务运行于多台计算服务器时, 或者观察终端以及存在其他外部系统要求获得计算中间结果时,需要进行子计算任务的计算结果传输,则由所在计算服务器的代理进程采用Web Service方式进行。Web Service是上世纪90年代企业信息化过程中解决信息孤岛问题产生的技术, 其核心思想是采用简单对象访问协议(SOAP)来完成数据的传输,具体的说就是采用XML方式将数据进行串行化以便在网络中传输,同时不光提供数据的内容还通过自描述或者外置数据描述文件的方式提供数据格式的说明,由于XML本身是开放的适用于任何平台的,所以ffeb Service同样具有开放性和跨平台的特性,并且在企业信息化的实际应用中得到了很好的体现。本发明采用WebService的方式传输计算结果,使得计算结果能够被本系统以外的其他系统或者平台接受和利用,获得了跨平台和兼容性的优良特性。参考图9-b,本发明中ffeb Service的方式同样应用于数据库等外部系统对本发明所述德系统提供数据,对于外部系统的数据格式和存储方式是无要求的,仅需要按照 SOAP协议将数据打包后提供,该方式能够被几乎全部主流数据库所支持,其他外部系统可能需要通过简单升级的方式实现;同时按需传输所需要的数据,适合对于不同的权限开放不同的数据内容,从而实现数据的局部开放和权限管理。在本发明的实施例中具体实施了计算服务器之间数据交换、终端要求提供中间计算结果、外部数据库向系统提供数据的操作。在传输SOAP打包的数据时是采用自描述的方式将数据内容和格式描述一起传输的。如图3,10所示参考图3,本发明中传输视频数据时是不采用ffeb Service方式的,而是直接采用视频组播的方式传输经过压缩的视频数据。该方案是经过实验对比的,由于采用Web Service方式传输时不仅仅传输数据内容,还需要进一步传输XML的格式和数据格式描述等内容,这样传输的冗余信息大大增加,使得在传输视频数据时的网络带宽利用率变得很低,所以直接采用视频组播的方式传输经过压缩的视频数据是更加有效的办法。参考图10,当由于网络配置等原因不能采取组播方式传输视频数据时则在普通视频压缩的基础上进一步采取基于内容的视频图像压缩办法,其步骤为对输入的视频图像序列进行目标检测计算;抽取存在目标的视频图像帧并按照检测结果剪裁,仅保留存在目标的图像范围;将剪裁后的图像重新组成序列并经过压缩后传输。在本发明的实施例中验证了该基于内容的视频图像压缩办法。如图11-13所示对于大规模数据库的识别计算是采用分组方式进行的,具体实现方式如下参考图11,对于数据库的分组可以按照两个策略进行,首先是根据数据库本身的地域分组、群体分组等特性自然分组(如身份证数据库可以按照持有人所在地区划分为若干组,而流动人口数据库则可以按照人员的来源、来本地目的、有无需要特殊注意的条目等进行分组),然后是将数据库按照适合算法计算的尺度分为若干组。两种策略是综合利用的,将数据分成尺度合适的若干最小分组,然后再按照数据相近的原则聚合小的分组为高层次的分组,从而最终形成树状结构。参考图12,数据库的一个最小分组对应于一个服务器组,若干个服务器组与一台分组管理服务器形成一个服务器分组,若干个服务器分组与一台更高层次的分组管理服务器形成一个更高层次的服务器分组,从而最终形成多个层次的树状分组结构;参考图13,进行识别计算的分组匹配按照一定的步骤进行首先在所在服务器组进行匹配计算;若匹配成功则直接输出结果,否则依据是否有其他先验分组信息(如事先知道是外地人员及其所在地)则决定是否直接选定分组进行匹配;若选定分组匹配成功则输出结果,若不存在先验分组信息或者选定分组匹配失败则发送匹配请求到分组管理服务器,在本组的其他服务器组进行匹配;当任意一台服务器返回匹配成功结果时则终止其他服务器的匹配计算并输出结果;当分组内全部匹配计算完成仍无结果则向更高层次的分组发送匹配请求,扩大范围进行新的匹配计算;当完成最大范围匹配计算仍无结果则分组匹配失败,输出匹配失败信息。在本发明的实施例中,采用国际FERET数据库进行分组(虚拟方式提供数据的自然分组特性)并实施了分组识别的操作。如图14所示视频采集前端可以兼容现有的各种监控摄像机以有线或无线的方式接入网络,甚至可以通过笔记本电脑和摄像头方式架设临时终端应对突发性应用,带有摄像头的警务通、智能手机等移动终端也可以作为视频采集设备使用;多个计算服务器集群通过专用网络连接身份证数据库、暂住人口数据库等,避免外部直接访问敏感数据,确保安全;计算服务器集群采用多层次分组的方式工作,提高运行效率,并且专门设置算法升级服务器组,进行匹配算法的动态升级;公安、交警、边防等业务平台采用Web Service方式简易升级即可融入到整个系统中并获取相应的功能。以上所述仅为本发明的一个实施例而已,并不用以限制本发明,故凡在本发明的精神和原则之内,所做的任何修改、等同替换等,都应包含在本发明的保护范围之内。
权利要求
1.一种基于开放式Web Service架构的分布式视觉计算方法,其步骤在于采用嵌入式视频采集前端采集被识别目标的视频图像,经过压缩编码后通过网络组播的方式发送回数据中心;数据中心由一台控制服务器和多台计算服务器组成,控制服务器将计算任务自动分配给计算服务器完成,计算服务器进行视频数据的解压缩、目标检测、图像预处理、特征提取、 识别分类和结果绘制;将计算服务器的计算结果进行综合后与视频图像一起分发到用户的监控工作站、平板电脑、智能手机的观察终端。
2.根据权利要求1所述的一种基于开放式WebService架构的分布式视觉计算方法, 其特征在于控制服务器对计算任务自动分配到各计算服务器运行,具体实现方式如下对于一帧视频图像的处理为一个计算任务,其中处理的各步骤(即对一帧视频图像解压缩、目标检测、图像预处理、特征提取、识别分类和结果绘制)为一个子计算任务,当一帧视频图像内存在多个目标或者采用多种特征提取算法和多种分类器时,则对于不同目标的处理操作或者对于同一个目标的不同的特征提取和识别分类计算亦被认为是不同的子计算任务,子计算任务可以根据算法细节划分为更小的子任务;控制服务器内运行对外响应进程、用户权限认证进程、前端管理进程、计算任务分配进程和若干已分配计算任务的协同进程,并建立用户权限表单、前端设备表单和计算任务资源需求表单分别为用户权限认证进程、前端管理进程和计算任务分配进程提供数据;用户通过控制服务器对外响应进程提供的接口经过权限认证后完成获取设备表单和发起指定计算任务的请求交互操作;用户发起某个计算任务的请求后,控制服务器自动获取各计算服务器的资源占用情况 (主要为CPU占用情况和内存占用情况),并优先将该计算任务的全部子任务分配到同一台资源充足的服务器,当各计算服务器都已经在运行计算任务单台服务器剩余资源不足以完成新的计算任务则将各子计算任务分配到多台计算服务器,分配计算任务的同时控制服务器建立与该计算任务对应的协同进程协调各子计算任务的运行直至任务运行结束。
3.根据权利要求1所述的一种基于开放式WebService架构的分布式视觉计算方法, 其特征在计算服务器内运行若干个子计算任务,并且这些子计算任务可以根据所属的计算任务分组和采用基于内存共享的多线程并行处理方法加速计算,具体实现方式如下一个计算任务被划分为若干子计算任务,具体包括视频图像解压缩计算、目标检测计算、图像预处理计算、特征提取计算、识别分类计算和结果绘制计算,这些子计算任务在计算服务器中分别对应一个视频图像解压缩进程、目标检测进程、图像预处理进程、特征提取进程、识别分类进程、结果绘制进程;同一个计算任务对应的这些计算进程形成一个计算进程组;与每个计算进程组对应一个共享内存区域,用于存储各计算进程的输入输出数据,具体可以划分为解压缩视频图像数据存储区域、目标检测结果数据存储区域、图像预处理结果数据存储区域、特征提取结果数据存储区域和识别分类结果数据存储区域,其中目标检测结果数据存储区域、图像预处理结果数据存储区域、特征提取结果数据存储区域和识别分类结果数据存储区域是按照程序设定的最大目标数分配空间大小的,能够保存程序设定的最大目标数量的结果,若超出则不处理;视频图像解压缩进程对视频采集前端发送回的视频数据进行解压缩计算并输出解压缩视频图像数据,目标检测进程对解压缩视频图像数据进行目标检测并输出目标检测结果 (包括数量和各目标的位置、大小信息)数据,图像预处理进程根据目标检测结果从解压缩视频图像数据中截取局部图像进行进预处理计算(进一步精确定位目标并进行尺度、光照的归一化)并输出图像预处理结果数据,特征提取在预处理后的图像数据提取适合识别分类的特征经过特征降维后保存有效特征为特征提取结果数据,识别分类进程输入有效特征数据经过特定算法的计算输出识别分类的结果,结果绘制进程将识别分类的结果绘制到视频图像上、根据设定决定是否绘制中间结果到图像,并经过压缩后发送给各种类型的观察终端;当控制服务器分配计算任务到计算服务器时,相应的计算进程的建立和共享内存区域的分配是由运行于该计算服务器的代理进程进行的,当计算任务完成后计算进程和共享内存区域的回收也是由代理进程进行的,代理进程由服务器资源表单为其提供数据;同一个计算任务的不同子计算任务的运行有先后顺序要求,子计算任务的运行顺序协调是由控制服务器的计算任务协同进程控制计算任务所涉及各计算服务器的代理进程完成的,具体的子计算任务的先后顺序为视频图像解压缩进程最先运行,其次运行目标检测进程,其三运行图像预处理进程,其四运行特征提取进程,其五运行识别分类进程,最后运行结果绘制进程;对于检测到的多个目标的后续处理可以并行进行;对于采用多种特征提取算法和识别分类算法的,不同算法对应的特征提取进程和识别分类进程可以并行进行;计算服务器对于各步骤的计算进程和共享内存区域的回收不是采用销毁和新建的方式,而是采用进程池和内存池的方式,具体的说,代理进程收到新的计算任务时不是直接建立相应的计算进程和共享内存区域,而是查询是否存在闲置的进程和共享内存区域(由前面的计算任务使用后留下的),若存在则直接设置空闲进程和共享内存区域的标识符为该计算任务使用,若不存在则建立新的计算进程并分配共享内存区域,当不在使用该计算服务器(即由控制服务器命令销毁该计算服务器的代理进程)则由代理服务器销毁全部计算进程以及共享内存区域。
4.根据权利要求2所述的一种基于开放式ffebService架构的分布式视觉计算方法, 其特征在于当一个计算任务的不同子计算任务运行于同一台计算服务器时,各计算进程直接从对应的内存区域读取运行需要的数据,不需要拷贝或者传输;当一个计算任务的不同子计算任务运行于多台计算服务器时,或者观察终端以及存在其他外部系统要求获得计算中间结果时,需要进行子计算任务的计算结果传输,则由所在计算服务器的代理进程采用 Web Service方式(即按照SOAP协议将数据打包后传输),从而获得数据传输的可靠性以及Wfeb Service架构的开放性、跨平台等特性。
5.根据权利要求2所述的一种基于开放式ffebService架构的分布式视觉计算方法, 其特征在于Web Service的方式同样应用于数据库等外部系统对本发明所述德系统提供数据,对于外部系统的数据格式和存储方式是无要求的,仅需要按照SOAP协议将数据打包后提供,该方式能够被几乎全部主流数据库所支持,其他外部系统可能需要通过简单升级的方式实现;同时按需传输所需要的数据,适合对于不同的权限开放不同的数据内容,从而实现数据的局部开放和权限管理。
6.根据权利要求2所述的一种基于开放式ffebService架构的分布式视觉计算方法,其特征在于视频数据采集前端发送视频数据到各计算服务器以及计算服务器完成计算任务处理后发送绘制有结果的视频数据到各种类型的观察终端都是经过视频压缩后采用组播的方式同步发送的,当由于网络配置等原因不能采取组播方式传输视频数据时则在普通视频压缩的基础上进一步采取基于内容的视频图像压缩办法,其步骤为对输入的视频图像序列进行目标检测计算;抽取存在目标的视频图像帧并按照检测结果剪裁,仅保留存在目标的图像范围;将剪裁后的图像重新组成序列并经过压缩后传输。
7.根据权利要求1所述的一种基于开放式WebService架构的分布式视觉计算方法, 其特征在于对于大规模数据库的识别是采用分组方式进行的,具体分组的实现方式如下对于数据库的分组可以按照两个策略进行,其一是根据数据库本身的地域分组、群体分组等特性自然分组(如身份证数据库可以按照持有人所在地区划分为若干组,而流动人口数据库则可以按照人员的来源、来本地目的、有无需要特殊注意的条目等进行分组),其二是将数据库按照适合算法计算的尺度分为若干组,两种策略是综合利用的;数据库的一个最小分组对应于一个服务器组,若干个服务器组与一台分组管理服务器形成一个服务器分组,若干个服务器分组与一台更高层次的分组管理服务器形成一个更高层次的服务器分组,从而最终形成多个层次的树状分组结构;
8.根据权利要求7所述的一种基于开放式ffebService架构的分布式视觉计算方法, 其特征在于进行分组识别计算时的分组匹配按照一定的步骤进行首先在所在服务器组进行匹配计算;若匹配成功则直接输出结果,否则依据是否有其他先验分组信息(如事先知道是外地人员及其所在地)则决定是否直接选定分组进行匹配;若选定分组匹配成功则输出结果,若不存在先验分组信息或者选定分组匹配失败则发送匹配请求到分组管理服务器,在本组的其他服务器组进行匹配;当任意一台服务器返回匹配成功结果时则终止其他服务器的匹配计算并输出结果;当分组内全部匹配计算完成仍无结果则向更高层次的分组发送匹配请求,扩大范围进行新的匹配计算;当完成最大范围匹配计算仍无结果则分组匹配失败,输出匹配失败信息。
全文摘要
本发明涉及基于开放式Web Service架构的分布式视觉计算方法。本发明技术方案是采用嵌入式视频采集前端采集被识别目标的视频图像,通过网络组播的方式发送回数据中心;数据中心的控制服务器将计算任务给计算服务器完成,并进行视频数据的解压缩、目标检测、图像预处理、特征提取、识别分类和结果绘制;将计算结果进行综合。本发明解决了与其他系统兼容难的缺陷。本发明在控制服务器的统一调度下,避免大量不必要的匹配计算,提升了系统运行的性能,能够兼容绝大部分的数据库和经过简单升级后的外部系统,采用分组方式实现大规模数据库的识别计算。
文档编号G06K9/00GK102222213SQ20101024012
公开日2011年10月19日 申请日期2010年7月29日 优先权日2010年7月29日
发明者王春茂, 郑文明 申请人:郑文明
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1