CN111510680A - 一种图像数据的处理方法、系统及存储介质 - Google Patents
一种图像数据的处理方法、系统及存储介质 Download PDFInfo
- Publication number
- CN111510680A CN111510680A CN202010326125.9A CN202010326125A CN111510680A CN 111510680 A CN111510680 A CN 111510680A CN 202010326125 A CN202010326125 A CN 202010326125A CN 111510680 A CN111510680 A CN 111510680A
- Authority
- CN
- China
- Prior art keywords
- frame image
- image sequence
- service scene
- frame
- service
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
本发明提供了一种图像数据的处理方法、系统及存储介质;方法包括:终端获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;发送各所述业务场景下的第二帧图像序列至分发服务器;所述分发服务器分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。通过本发明,能够有效节省带宽资源。
Description
技术领域
本发明涉及计算机视觉及云技术领域,尤其涉及一种图像数据的处理方法、系统及存储介质。
背景技术
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。借助于云技术的快速发展,基于云部署的计算机视觉技术已在智慧安防、智慧社区、智慧零售等领域得到广泛应用。然而,在各业务场景下,相关技术中终端在获取到包含对象的帧图像序列后,直接发送至云服务器,然而获取的帧图像序列中往往包含对于后续业务处理来说无用或不必要的帧图像,对这些帧图像的数据传输造成了带宽资源的浪费。
发明内容
本发明实施例提供一种图像数据的处理方法、系统及存储介质,能够节省带宽成本。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种图像数据的处理方法,包括:
终端获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
发送各所述业务场景下的第二帧图像序列至分发服务器;
所述分发服务器分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;
所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种图像数据的处理系统,包括:
终端,用于获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
发送各所述业务场景下的第二帧图像序列至分发服务器;
所述分发服务器,用于分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;
所述云服务器,用于在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
上述方案中,所述终端,还用于分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的多个轨迹片段;
分别对各所述对象的轨迹片段进行轨迹融合,得到各所述业务场景下的各所述对象的运动轨迹;
基于各所述对象的运动轨迹,分别对所述业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下对应各所述运动轨迹的第二帧图像序列。
上述方案中,所述终端,还用于分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的位置信息;
分别将各所述对象的位置信息进行关联,得到各所述业务场景下的各所述对象的多个轨迹片段。
上述方案中,所述终端,还用于获取各所述业务场景下的各所述对象的轨迹片段的轨迹标识;
分别将具有相同所述轨迹标识的轨迹片段进行合并,得到各所述业务场景下的各所述对象的运动轨迹。
上述方案中,所述终端,还用于分别对各业务场景下的所述第一帧图像序列执行以下操作:
对所述第一帧图像序列中的多个帧图像进行质量检测,得到对应各所述帧图像的质量分值;
按照所述质量分值由高到低的顺序,对各所述帧图像进行排序,得到参考帧图像序列;
从所述参考帧图像序列中第一个帧图像开始,选取目标数量的帧图像组合得到第二帧图像序列。
上述方案中,所述终端,还用于分别对所述业务场景下的第一帧图像序列执行以下操作:
对所述第一帧图像序列中的多个帧图像进行图像缩放,得到对应各所述帧图像的缩放帧图像;
分别对各所述缩放帧图像进行图像压缩,得到各所述缩放帧图像对应的压缩帧图像;
将各所述缩放帧图像对应的压缩帧图像进行组合,得到第二帧图像序列。
上述方案中,所述终端,还用于分别对各所述业务场景下的第二帧图像序列、及相应的业务场景标识进行消息封装,得到对应各所述业务场景的帧图像消息;
发送对应各所述业务场景的帧图像消息至分发服务器,以使所述分发服务器基于所述业务场景标识,缓存第二帧图像序列至相应业务场景的消息队列。
上述方案中,所述云服务器,还用于当接收的图像处理请求的数量超过数量阈值时,基于请求均衡策略,对所述第二帧图像序列进行相应的图像处理并返回图像处理结果,所述请求均衡策略包括以下至少之一:限流策略、均衡负载策略。
本发明实施例提供一种图像数据的处理方法,包括:
获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
发送各所述业务场景下的第二帧图像序列至分发服务器,以使
所述分发服务器分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种图像数据的处理方法,包括:
接收至少两个业务场景下的第二帧图像序列;
其中,所述第二帧图像序列为,基于各所述业务场景下的第一帧图像序列进行帧图像筛选得到,所述第一帧图像序列包含至少一个对象;
分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种图像数据的处理装置,包括:
图像获取模块,获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
图像筛选模块,用于分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
图像发送模块,用于发送各所述业务场景下的第二帧图像序列至分发服务器,以使
所述分发服务器分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种图像数据的处理装置,包括:
图像接收模块,用于接收至少两个业务场景下的第二帧图像序列;
其中,所述第二帧图像序列为,基于各所述业务场景下的第一帧图像序列进行帧图像筛选得到,所述第一帧图像序列包含至少一个对象;
缓存分发模块,用于分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的图像数据的处理方法。
本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的图像数据的处理方法。
本发明实施例具有以下有益效果:
1、终端对获取的至少两个业务场景下的第一帧图像序列进行帧图像筛选,得到各业务场景下的第二帧图像序列,然后将第二帧图像序列发送给云端的分发服务器;如此,筛选掉一些对各业务场景没有意义的帧图像,将筛选过后的帧图像序列发送至分发服务器,减少了发送的帧图像的数量,不仅节省宝贵的带宽资源,还避免后续计算资源的浪费进而提高资源利用率。
2、分发服务器将第二帧图像序列缓存至对应各业务场景的消息队列,并基于各消息队列,将各业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;如此,通过在引入消息队列进行数据缓存与分发,解耦了终端设备与云端的云服务器,即使相应业务场景对应的云服务器出现问题,也可将终端发送的帧图像数据进行存储,以备相应的云服务器恢复时使用,避免图像数据丢失,提高了图像数据的高可用性。
附图说明
图1为本发明实施例提供的基于公有云部署的计算机视觉技术方案的架构示意图;
图2为本发明实施例提供的图像数据的处理系统的一个可选的架构示意图;
图3为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图4为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图5为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图6为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图7为本发明实施例提供的图像数据的处理系统的一个可选的架构示意图;
图8为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图9为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图10为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图11为本发明实施例提供的压缩因子与效果损失的关系示意图;
图12为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图;
图13为本发明实施例提供的图像数据的处理效果示意图;
图14为本发明实施例提供的电子设备的一个可选的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\...”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\...”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能,人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
2)计算机视觉技术(CV,Computer Vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
3)云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
4)软件开发工具包(SDK,Software Development Kit)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、业务系統等建立应用软件的开发工具的集合。
5)每秒查询率(QPS,Queries-Per-Second)是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
发明人在实施本发明实施例时发现,基于云部署的计算机视觉技术已在智慧安防、智慧社区、智慧零售等领域得到广泛应用,在实际应用中,在各业务场景下,摄像头实时流采集得到包含对象的帧图像序列并将采集的帧图像序列发送给终端,终端将帧图像序列传送至云端的各业务场景对应的云服务器进行相应的如人脸识别、人体识别等图像处理,以完成人脸身份建档、人脸检索、人体行为轨迹处理等一系列流程。
在实际实施时,基于云部署的计算机视觉技术的落地方案主要包括私有化部署和公有上云部署,其中,私有化部署的流程简单,但是私有化部署存在软硬件版本数目繁杂、难以统一导致交付和运维难度很高、硬件成本难以进一步压缩、组件私有化部署难以复用等一系列问题;公有上云部署是将涉及到具体业务场景的摄像头采集第一帧图像序列和算法SDK处理作为前端测置于场内,而涉及到人脸、人体识别、检索等一系列场景非强相关的后台服务置于公有云上,充分利用云上定制化、统一的软硬件资源和组件,便于方案复用、扩展、成本进一步压缩,因此,很多基于云部署的计算机视觉技术落地方案更倾向于公有上云部署。
参见图1,图1为本发明实施例提供的基于公有云部署的计算机视觉技术方案的架构示意图,如图1所示,基于公有云部署的计算机视觉技术方案包括场内模块和公有云模块两大部分。场内模块主要包括跟具体部署业务场景强相关的摄像头、取流和算法SDK处理三大部分,这三大部分协同实现将摄像头实时获取的包含至少一个对象的第一帧图像序列经目标检测、目标跟踪等SDK处理后得到各对象的人脸、人体运动轨迹,其中,每个运动轨迹又包含多个对象的人脸或人体的帧图像等抓拍信息和行为信息,且每个相同轨迹标识下的轨迹又会因摄像头内存有限不能缓存轨迹或跟踪SDK的长时间截断等原因很有可能被细分为多个轨迹片段(即短碎轨迹),将这些轨迹数据经外网带宽传输上报给公有云模块。公有云模块主要包括分发各对象的人体或人脸等帧图像序列的分发服务、人脸后台模块、人体后台模块以及最后上报结果服务。在实际实施时,无论是人脸后台服务还是人体后台服务都会通过调用基础微服务如提特征、属性、检索完成一系列计算以完成人脸身份和属性建档、人体运动轨迹分析等需求。由于属性建档需要选取质量分最好的运动轨迹,故还需要调用检测、配准和质量分检测等SDK。
从图1可知,基于公有云部署下的计算机视觉技术方案存在上报轨迹多、包含帧图像序列规模巨大、公有云环境后台服务处理高度依赖集群计算、计算较多等特点,在应用过程中,至少存在以下技术问题:
1)落地成本高:由于在上报公有云时包含大量运动轨迹,而每个运动轨迹下又包含多个帧图像,导致巨大的上报数据对带宽提出更高要求,其中,带宽与帧图像之间关系如下公式所示:Band=Fun(人脸帧图像QPS,人脸帧图像大小)+Fun(人体帧图像QPS,人体帧图像大小),根据该公式可知,帧图像越多越大,所需要的带宽就越大,由于上报数据依赖外网带宽,故相应的带宽成本上升。公有云后台部分接收到这些轨迹数据后,SDK底层需要调用CPU、GPU、VPU、内存参与计算,由于较多的轨迹数及帧图像导致计算压力加大,增加了计算资源的成本。
2)资源利用率低:由于没有相应优化策略,导致上报的运动轨迹中包含很多质量差的帧图像,在后台部分会直接过滤掉质量差的帧图像,故这些质量差的帧图像对最终算法效果没有任何影响。因此,如果将这类质量差的帧图像上传到后台进行处理,则将是对宝贵的带宽和计算资源的浪费。同时,QPS在节假日和平时日差别明显,若采用节假日高峰期的数据配置相应资源,将对成本提出巨大挑战,而且在平时日这些资源利用率也将大大降低。
3)低可用:由于在公有云入口处直接由分发服务通过HTTP请求等方式将上报的轨迹数据发送给后台服务,一旦后台服务出现问题,上报的轨迹数据(即帧图像序列)将丢失,无法再进行后续的处理。
鉴于此,本发明实施例提供一种图像数据的处理方法,以至少解决上述问题,接下来进行说明。
参见图2,图2为本发明实施例提供的图像数据的处理系统100的一个可选的架构示意图,为实现支撑一个示例性应用,各个业务场景下的摄像头通过网络与终端200连接,终端200通过云带宽连接云端的分发服务器300,分发服务器300将消息队列分发至相应业务场景对应的云服务器(示例性示出了云服务器400-1~云服务器400-3),云带宽是运用云计算平台的网络,网络可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在实际应用中,终端200可以为智能手机、笔记本电脑、台式计算机等各种类型的用户终端;分发服务器300既可以为单独配置的支持目标业务的一个云服务器,亦可以配置为一个云服务器集群。
在实际实施时,终端200设置有客户端,用于对各业务场景进行管理,如在智慧社区的应用中,终端上设置有智慧社区管理客户端,基于智慧社区管理客户端可获取各业务场景下的摄像头采集的帧图像序列。
终端200,用于获取至少两个业务场景下的第一帧图像序列,其中,第一帧图像序列包含至少一个对象;分别对各业务场景下的第一帧图像序列进行帧图像筛选,得到各业务场景下的第二帧图像序列;发送各业务场景下的第二帧图像序列至分发服务器300;
分发服务器300,用于分别将各业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各消息队列,将各业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;例如,将业务场景1下的第二帧图像序列,缓存至对应该业务场景的消息队列1,并基于消息队列1将该业务场景1下的第二帧图像序列发送至该业务场景1对应的云服务器400-1;
云服务器,用于在接收到终端200针对第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果;例如,云服务器400-1用于在接收到终端200针对业务场景1下的第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
基于上述对本发明实施例的图像数据的处理系统的说明,接下来对本发明实施例提供的图像数据的处理方法进行说明,在实际实施时,本发明实施例提供的图像数据的处理方法可由分发服务器或终端单独实施,还可由分发服务器及终端协同实施。
参见图3,图3为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
步骤101:终端获取至少两个业务场景下的第一帧图像序列,第一帧图像序列包含至少一个对象。
在实际应用中,本发明实施例提供的图像数据的处理方法可用于多种业务场景中,如智慧安防、智慧社区、智慧零售等,其中,视频监控是各业务场景的重要组成部分,视频监控中的摄像头用于采集包含至少一个对象的第一帧图像序列,并将采集得到的第一帧图像序列传输至终端。
例如,社区的智慧安防应用涉及出入口管理系统、周界防范系统、视频监控系统、智能访客系统、停车场管理系统等系统,在社区公共区域、重要周界和社区出入口等区域安置多个摄像机进行视频监控、显示、记录和回放,摄像机采集视频的帧图像序列,并通过网络线缆或无线WiFi将视频的帧图像序列传输到设置于社区的安防控制管理中心的终端如台式计算机上。
步骤102:分别对各业务场景下的第一帧图像序列进行帧图像筛选,得到各业务场景下的第二帧图像序列。
这里,在将各业务场景下的帧图像序列发送至云端的分发服务器之前,先对各业务场景下的第一帧图像序列进行帧图像,以减少发送给分发服务器的图像数据量。
参见图4,图4为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,在一些实施例中,图3示出的步骤102可通过如图4示出的步骤:201-203来实现:
步骤201:分别对各业务场景下的第一帧图像序列进行目标跟踪,得到各业务场景下的各对象的多个轨迹片段。
在实际应用中,由于摄像头内存缓存有限或长轨迹断开,导致各业务场景下的各对象存在对应的多个轨迹片段。因此,需分别对各业务场景下的第一帧图像序列进行目标检测或目标跟踪,得到各业务场景下的各对象的轨迹片段。这里对各业务场景下的第一帧图像序列进行目标跟踪是指根据各业务场景下的第一帧图像序列中时空相关信息在每一帧图像中确定各对象的位置、大小或形状信息等,进而得到对应各对象的多个轨迹片段。
在实际实施时,在对各业务场景下的第一帧图像序列中进行目标跟踪时,可先采用均值滤波、中值滤波或高斯滤波等去噪方法对第一帧图像序列中的帧图像进行图像预处理,以得到预处理后的帧图像;然后对第一帧图像序列中预处理后的帧图像进行目标跟踪。
在一些实施例中,终端可通过如下方式对各业务场景下的第一帧图像序列进行目标跟踪,得到各业务场景下的各对象的多个轨迹片段:
分别对各业务场景下的第一帧图像序列进行目标跟踪,得到各业务场景下的各对象的位置信息;分别将各对象的位置信息进行关联,得到各业务场景下的各对象的多个轨迹片段。
这里,针对获取的各业务场景下的第一帧图像序列,分别通过目标提取和目标匹配技术提取当前帧图像相对于相邻前帧图像的距离变化及角度变化,依次将各对象的位置信息进行关联,得到对应该对象的轨迹片段。在实际实施时,根据获取的相邻帧图像间的距离变化以及角度变化,采用陀螺仪实时获取坐标角度变化和空间坐标系的转换关系,实现目标运动轨迹的实时跟踪和提取。
步骤202:分别对各对象的轨迹片段进行轨迹融合,得到各业务场景下的各对象的运动轨迹。
在一些实施例中,终端可通过如下方式分别对各对象的轨迹片段进行轨迹融合,得到各业务场景下的各对象对应的运动轨迹:
获取各业务场景下的各对象的轨迹片段的轨迹标识;分别将具有相同轨迹标识的轨迹片段进行合并,得到各业务场景下的各对象的运动轨迹。
这里,针对每个业务场景,将同一摄像头内获取的同一对象的轨迹的标识确定为对应该对象的轨迹标识,将具有相同轨迹标识的轨迹片段统计合并到一个运动轨迹。由于在实际应用中,某个对象的轨迹片段中存在一些偏离该对象运动轨迹的轨迹片段,或该对象的运动轨迹中存在重复的轨迹片段,这里,在对各轨迹片段进行合并的过程中,将一些偏离运动轨迹的轨迹片段或重复的轨迹片段进行了过滤,这样大大降低了上报的运动轨迹数量,从而降低轨迹QPS。
步骤203:基于各对象的运动轨迹,分别对业务场景下的第一帧图像序列进行帧图像筛选,得到各业务场景下对应各运动轨迹的第二帧图像序列。
这里,基于各对象的运动轨迹,分别对各业务场景下的第一帧图像序列进行帧图像筛选,从第一帧图像序列中筛选各对象的运动轨迹对应的帧图像,将筛选得到的帧图像组合得到各业务场景下对应各运动轨迹的第二帧图像序列;如此,对各业务场景下的第一帧图像序列中的帧图像进行筛选,减少了上报帧图像的数量,从而节省宝贵的带宽资源。
例如,某一业务场景下的第一帧图像序列包括1000帧图像,对这1000帧图像进行目标跟踪,得到对应目标对象的10个轨迹片段;然后基于对应该目标对象的轨迹标识对轨迹片段进行合并,过滤掉10个轨迹片段中的3个重复的轨迹片段,即得到由7个轨迹片段组合而得的运动轨迹;最后基于由7个轨迹片段组合得到的运动轨迹,从第一帧图像序列的1000帧图像中筛选对应该运动轨迹的700帧图像,将这700帧图像进行组合得到对应该运动轨迹的第二帧图像序列。由此可知,从1000帧图像中筛选得到700帧图像,后续将筛选得到的700帧图像上报给云服务,降低了上报帧图像的数量,节省了带宽资源。
参见图5,图5为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,在一些实施例中,图3示出的步骤102可通过分别对各业务场景下的第一帧图像序列执行如图5示出的步骤301-303来实现:
步骤301:对第一帧图像序列中的多个帧图像进行质量检测,得到对应各帧图像的质量分值。
这里,在实际实施时,可通过检测质量分SDK,对第一帧图像序列中的帧图像进行质量检测,得到对应各帧图像的质量分值。
步骤302:按照质量分值由高到低的顺序,对各帧图像进行排序,得到参考帧图像序列。
步骤303:从参考帧图像序列中第一个帧图像开始,选取目标数量的帧图像组合得到第二帧图像序列。
其中,目标数量的大小可根据需求进行配置。在一些实施例中,还可设置质量阈值,将超过质量阈值的质量分值所对应的帧图像从各业务场景的第一帧图像序列中筛选出来,并将筛选出的帧图像进行组合得到第二帧图像序列。
通过上述方式,分别对各业务场景下的第一帧图像序列进行质量检测,将各业务场景下的第一帧图像序列中的帧图像中质量相同或质量较差的帧图像筛选出来,将满足质量要求的帧图像进行组成得到各业务场景下的第二帧图像序列。如此,直接在终端过滤掉质量差的帧图像,不仅减少上报的帧图像数量以节省带宽资源,而且还减少后台处理任务,避免计算资源浪费。
参见图6,图6为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,在一些实施例中,图3示出的步骤102可通过分别对各业务场景下的第一帧图像序列执行如图6示出的步骤401-403来实现:
步骤401:对第一帧图像序列中的多个帧图像进行图像缩放,得到对应各帧图像的缩放帧图像。
这里,考虑到终端获取的摄像头采集的帧图像无大小限制,而在实际应用中,云服务器提特征/提属性服务对于帧图像大小并无过高要求,例如对于帧图像达到规定的H*W(由具体提特征/属性SDK决定),即可完成SDK计算的现状,因此将各对象的人脸或人体图像等第一帧图像压缩至H*W,也保证无任何效果损。
步骤402:分别对各缩放帧图像进行图像压缩,得到各所述缩放帧图像对应的压缩帧图像。
这里,可采用如JPEG格式编解码,在尽量不降低系统算法性能的前提下,压缩帧图像,其中,压缩比值可根据算法效果配置,如果设置的压缩比导致算法效果不及预期,可以反馈重新修改压缩比值直至效果达到预期即可。
步骤403:将各所述缩放帧图像对应的压缩帧图像进行组合,得到第二帧图像序列。
通过上述方式,在终端将各业务场景下的帧图像发送至分发服务器之前,先对帧图像进行resize和压缩比优化等规格调整,将调整之后的帧图像发送给分发服务器,可大大降低各业务场景下对应各对象的帧图像的大小及压缩比例,减少了带宽压力。
步骤103:发送各业务场景下的第二帧图像序列至分发服务器。
这里,在实际实施时,终端可分别对各业务场景下的第二帧图像序列、及相应的业务场景标识进行消息封装,得到对应各业务场景的帧图像消息;通过云带宽发送对应各业务场景的帧图像消息至分发服务器。其中,分发服务器位于云端。
步骤104:分发服务器分别将各业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各消息队列,将各业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器。
这里,分发服务器接收到终端发送的对应各业务场景的帧图像消息,并基于帧图像消息中的业务场景标识,缓存第二帧图像序列至相应业务场景的消息队列;并基于各消息队列,将各业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器。
这里,针对节假日流量是平常的若干倍,请求毛刺严重,存在明显的波峰波谷,按照毛刺峰值部署会浪费GPU资源以及后台云服务器不可用时,终端上报的帧图像序列等数据会直接丢失,无法再进行后续处理。
为此,在分发服务前加入消息队列,如kafka消息队列,即终端先将包含第二帧图像序列及对应业务场景标识的帧图像消息发送至分发服务器,分发服务器根据业务场景标识将第二帧图像序列缓存至对应的kafka消息队列,一方面通过缓存数据达到缓慢毛刺请求问题;同时消息队列将缓存数据持久化,避免因后台的云服务器不可用时数据丢失问题。
例如,终端首先将业务场景1下的第二帧图像序列及相应的业务标识1进行消息封装,得到对应业务场景1的帧图像消息1;将业务场景2下的第二帧图像序列及相应的业务标识2进行消息封装,得到对应业务场景2的帧图像消息2;然后将帧图像消息1和帧图像消息2发送至分发服务器;分发服务器基于帧图像消息中的业务场景标识,将帧图像消息1缓存至业务场景1在redis数据库中的消息队列1,将帧图像消息2缓存至业务场景2在redis数据库中的消息队列2;并基于消息队列,将帧图像消息1中的第二帧图像序列分发至业务场景1对应的云服务器1,将帧图像消息2中的第二帧图像序列分发至业务场景2对应的云服务器2。
步骤105:云服务器在接收到终端针对第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
在一些实施例中,云服务器在接收到所述终端针对第二帧图像序列的图像处理请求时,可通过如下方式进行相应的图像处理并返回图像处理结果:
当云服务接收的图像处理请求的数量超过数量阈值时,云服务器基于请求均衡策略,对第二帧图像序列进行相应的图像处理并返回图像处理结果,其中,请求均衡策略包括以下至少之一:限流策略、均衡负载策略。
这里,在实际实施时,云服务器上还可加入限流和负载均衡逻辑,当终端请求的图像处理过多时,限制后台的云服务器并发任务数,优先处理实时任务,并通过GPU、VPU计算复杂的任务,通过CPU计算简单的任务,同时将来不及处理的请求数据缓存到redis数据库中待后续处理。
如此,后台的云服务器基于redis、限流、负载均衡等策略,按系统实际处理能力平滑处理请求,将波峰请求平移至波谷处理,去除终端请求毛刺,实现削峰填谷最终提高了系统资源利用率。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
本发明实施例提供的图像数据的处理方法可应用于如智慧社区、智慧安防、智慧零售等场景,在实际实施时,终端获取至少两个业务场景下的第一帧图像序列,其中,第一帧图像序列包含至少一个对象;分别对各业务场景下的第一帧图像序列进行帧图像筛选,得到各业务场景下的第二帧图像序列;发送各业务场景下的第二帧图像序列至分发服务器;分发服务器分别将各业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各消息队列,将各业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;云服务器在接收到终端针对第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供的图像数据的处理方法通过优化场内(即终端)请求QPS、帧图像大小以及云端的削峰填谷等策略灵活组合,降低基于云部署的计算机视觉技术落地成本,提高资源利用率和保证系统高可用,助力未来云+AI产业更加稳健发展。
参见图7,图7为本发明实施例提供的图像数据的处理系统的一个可选的架构示意图,如图7所示,本发明实施例在场内模块增加了后置端服务,将公有云后台服务调用的检测、质量分的逻辑移到后置端,直接在后置端完成帧图像过滤,在后置端服务完成帧图像QPS和帧图像大小优化这两种策略,在完成策略优化后上报给云服务器的帧图像数据将大大降。同时在公有云模块引入请求均衡策略,即在分发模块前引入消息队列进行功能解耦和数据缓存,后台服务基于redis缓存、限流、负载均衡等策略,按系统实际处理能力平滑处理请求,将波峰请求平移至波谷处理,去除摄像头端请求毛刺,实现削峰填谷。
参见图8,图8为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,如图8所示,本发明实施例提供的图像数据的处理方法包括场内的运动轨迹QPS优化子策略、运动轨迹对应的帧图像大小优化子策略和云上的基于削峰填谷的请求均衡子策略,这三个子策略彼此独立,与具体的业务场景相脱离,可以根据实际情况灵活组织这三种策略以达到系统成本下降和资源利用率提升;同时在公有云模块入口引入消息队列进行数据缓存、持久化将解耦场内和公有云模块,避免上报数据丢失,保证了系统高可用和高扩展。接下来针对这三部分优化策略进行说明。
1、运动轨迹QPS优化子策略
运动轨迹QPS优化子策略位于场内后置端模块(即在终端实施),主要包括轨迹片段的融合和对帧图像质量的检测,参见图9,图9为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,如图9所示,本发明实施例增加了后置端服务,对各业务场景下的第一帧图像序列进行目标检测或目标跟踪等算法处理,得到多个轨迹片段,利用廉价的内网带宽将这些轨迹片段对应的帧图像序列发送给后置端服务。
后置端服务包括轨迹片段的融合和帧图像的质量筛选,具体地,由于在实际应用中,某个对象的轨迹片段中存在一些偏离该对象运动轨迹的轨迹片段,或存在重复的轨迹片段,故在实施时,将同一摄像头内获取的同一对象的轨迹的标识确定为对应该对象的轨迹标识,将具有相同轨迹标识的轨迹片段统计合并到一个运动轨迹;然后基于各对象的运动轨迹,分别对各业务场景下的第一帧图像序列进行帧图像筛选,得到各业务场景下的对应各运动轨迹的帧图像序列。
同时,考虑到业务场景下的对应各对象轨迹的帧图像序列中存在质量相同或质量较差的帧图像,因此,通过检测质量分SDK分别对各业务场景下的对应各运动轨迹的帧图像序列进行质量检测,得到对应帧图像的质量分值;然后按照质量分值由高到低的顺序,对各帧图像进行排序,得到对应的参考帧图像序列;最后从参考帧图像序列中第一个帧图像开始,选取目标数量的帧图像,如TOPN个帧图像,并将目标数量的帧图像组合得到各业务场景下的第二帧图像序列,其中,目标数量N的取值可根据需求进行配置,如果配置的N导致算法效果不及预期,则可以反馈至后置端重新修改N的值直至达到预期效果为止。
通过上述方式,在对各业务场景下的各对应的轨迹片段进行合并的过程中,将一些偏离运动轨迹的轨迹片段或重复的轨迹片段进行了过滤,这样大大降低了上报的运动轨迹数量,从而降低轨迹QPS;同时,直接在前端过滤掉质量差的帧图像,不仅减少上报的帧图像数量以节省带宽资源,而且还减少后台处理任务,避免计算资源浪费。
2、运动轨迹对应的帧图像大小优化子策略
运动轨迹对应的帧图像大小优化子策略也位于场内后置端模块,主要包括帧图像resize与帧图像JPEG压缩,参见图10,图10为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,如图10所示,本发明实施例增加了后置端服务,对各业务场景下的第一帧图像序列进行目标检测或目标跟踪等算法处理,得到多个轨迹片段,利用廉价的内网带宽将这些轨迹片段对应的帧图像序列发送给后置端服务,后置端服务分别对各业务场景下的第一帧图像序列执行以下操作:
首先,对第一帧图像序列中的多个帧图像进行图像缩放,得到对应各帧图像的缩放帧图像。这里,对帧图像进行图像缩放主要考虑到在实际应用中,云服务器提特征/提属性服务对于帧图像大小并无过高要求,例如对于帧图像达到规定的H*W(由具体提特征/属性SDK决定),即可完成SDK计算的现状,因此将各对象的人脸或人体帧图像压缩至H*W,也保证无任何效果损失,这样大大降低了运动轨迹对应的每帧图像的大小,减少了带宽压力。
其次,分别对各缩放帧图像进行图像压缩,得到对应各缩放帧图像的压缩帧图像。这里,可采用如JPEG格式编解码,在尽量不降低系统算法性能的前提下压缩帧图像,其中,JPEG压缩因子可根据算法效果配置,参见图11,图11为本发明实施例提供的压缩因子与效果损失的关系示意图,可根据图11所示的关系预先设置JPEG压缩因子,当设置的JPEG压缩因子导致算法效果不及预期,可以反馈重新修改压缩比值直至效果达到预期即可。
最后,将各压缩帧图像进行组合,得到第二帧图像序列。这里,将得到的各业务场景下的第二帧图像序列通过公有云带宽发送至公有云的分发服务器。
通过上述方式,在发送各业务场景下的帧图像至公有云的分发服务器之前,先对帧图像进行resize和压缩比优化等调整,大大降低各业务场景下对应各对象的帧图像的大小,减少了带宽压力。
3、基于削峰填谷的请求均衡子策略
基于削峰填谷的请求均衡子策略位于公有云上,主要包括公有云入口出的分发服务器引入消息队列如kafka,及后台模块引入限流+负载均衡机制。参见图12,图12为本发明实施例提供的图像数据的处理方法的一个可选的流程示意图,如图12所示,采用消息的方式发送各业务场景下的第二帧图像序列至云端的分发服务器,以使分发服务器将各业务场景下的第二帧图像序列缓存至对应各业务场景的消息队列,并基于各消息队列,将各业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使云服务器在接收到针对第二帧图像序列的图像处理请求时,对第二帧图像序列进行相应的图像处理并返回图像处理结果。
这里,考虑到实际应用中节假日流量是平常的若干倍,请求毛刺严重,存在明显的波峰波谷,按照毛刺峰值部署会浪费GPU资源以及云服务器不可用时,终端上报的帧图像序列等数据会直接丢失,无法再进行后续处理。
为此,在分发服务前加入消息队列,如kafka消息队列,先将各业务场景下的对应各对象运动轨迹的第二帧图像序列以消息的方式发送至分发服务器,分发服务器根据消息类型将各业务场景下的第二帧图像序列缓存至相应业务场景的kafka消息队列,一方面通过缓存数据达到缓慢毛刺请求问题;同时消息队列将缓存数据持久化,避免因后台的云服务器不可用时数据丢失问题。
在实际实施时,云服务器上还可加入限流和负载均衡逻辑,当终端请求的图像处理过多时,限制云端的云服务器并发任务数,优先处理实时任务,并通过GPU、VPU计算复杂的任务,通过CPU计算简单的任务,同时将来不及处理的请求数据缓存到redis数据库中待后续处理。
参见图13,图13为本发明实施例提供的图像数据的处理效果示意图,如图13所示,云端的云服务器基于redis、限流、负载均衡等策略,按系统实际处理能力平滑处理请求,将波峰请求平移至波谷处理,削峰填谷后,去除终端请求毛刺,实现削峰填谷最终提高了系统资源利用率。
通过上述方式,本发明实施例至少具有以下有益效果:
1)适用性广。本方案适用当前所有基于公有云部署环境下计算机视觉技术框架的落地实现。
2)落地成本低。本方案设计的策略提供运动轨迹QPS优化、帧图像大小优化和请求均衡策略旨在降低昂贵的公有云带宽、计算资源成本,以及提升资源利用率。
3)高可用。本方案引入kafka/redis组件缓存、持久化数据保证了上报的数据不会丢失;后台模块限流、均衡策略保证了系统高可用。
4)实用性强。本发明实施例首创性提出一整套从场内到云端的带宽优化策略,策略可以根据实际情况灵活组合。
本发明实施例提供一种图像数据的处理系统,包括:
终端设备,用于获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
发送各所述业务场景下的第二帧图像序列至分发服务器;
所述分发服务器,用于分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;
所述云服务器,用于在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
在一些实施例中,所述终端,还用于分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的多个轨迹片段;
分别对各所述对象的轨迹片段进行轨迹融合,得到各所述业务场景下的各所述对象的运动轨迹;
基于各所述对象的运动轨迹,分别对所述业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下对应各所述运动轨迹的第二帧图像序列。
在一些实施例中,所述终端,还用于分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的位置信息;
分别将各所述对象的位置信息进行关联,得到各所述业务场景下的各所述对象的多个轨迹片段。
在一些实施例中,所述终端,还用于获取各所述业务场景下的各所述对象的轨迹片段的轨迹标识;
分别将具有相同所述轨迹标识的轨迹片段进行合并,得到各所述业务场景下的各所述对象的运动轨迹。
在一些实施例中,所述终端,还用于分别对各业务场景下的所述第一帧图像序列执行以下操作:
对所述第一帧图像序列中的多个帧图像进行质量检测,得到对应各所述帧图像的质量分值;
按照所述质量分值由高到低的顺序,对各所述帧图像进行排序,得到参考帧图像序列;
从所述参考帧图像序列中第一个帧图像开始,选取目标数量的帧图像组合得到第二帧图像序列。
在一些实施例中,所述终端,还用于分别对所述业务场景下的第一帧图像序列执行以下操作:
对所述第一帧图像序列中的多个帧图像进行图像缩放,得到对应各所述帧图像的缩放帧图像;
分别对各所述缩放帧图像进行图像压缩,得到各所述缩放帧图像对应的压缩帧图像;
将各所述缩放帧图像对应的压缩帧图像进行组合,得到第二帧图像序列。
在一些实施例中,所述终端,还用于分别对各所述业务场景下的第二帧图像序列、及相应的业务场景标识进行消息封装,得到对应各所述业务场景的帧图像消息;
发送对应各所述业务场景的帧图像消息至分发服务器,以使所述分发服务器基于所述业务场景标识,缓存第二帧图像序列至相应业务场景的消息队列。
在一些实施例中,所述云服务器,还用于当接收的图像处理请求的数量超过数量阈值时,基于请求均衡策略,对所述第二帧图像序列进行相应的图像处理并返回图像处理结果,所述请求均衡策略包括以下至少之一:限流策略、均衡负载策略。
本发明实施例提供一种图像数据的处理装置,包括:
图像获取模块,获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
图像筛选模块,用于分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
图像发送模块,用于发送各所述业务场景下的第二帧图像序列至分发服务器,以使
所述分发服务器分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种图像数据的处理装置,包括:
图像接收模块,用于接收至少两个业务场景下的第二帧图像序列;
其中,所述第二帧图像序列为,基于各所述业务场景下的第一帧图像序列进行帧图像筛选得到,所述第一帧图像序列包含至少一个对象;
缓存分发模块,用于分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器,以使所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
本发明实施例提供一种电子设备,参见图14,图14为本发明实施例提供的电子设备500的一个可选的结构示意图,在实际应用中,电子设备500可以为图2中的终端或分发服务器,以电子设备为图2所示的终端为例,对实施本发明实施例的图像数据的处理方法的电子设备进行说明,电子设备包括:
存储器550,用于存储可执行指令;
处理器510,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的图像数据的处理方法。
这里,处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中还可包括至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统540。
本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的图像数据的处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种图像数据的处理方法,其特征在于,所述方法包括:
终端获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
发送各所述业务场景下的第二帧图像序列至分发服务器;
所述分发服务器分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;
所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
2.如权利要求1所述的方法,其特征在于,所述分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列,包括:
分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的多个轨迹片段;
分别对各所述对象的轨迹片段进行轨迹融合,得到各所述业务场景下的各所述对象的运动轨迹;
基于各所述对象的运动轨迹,分别对所述业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下对应各所述运动轨迹的第二帧图像序列。
3.如权利要求2所述的方法,其特征在于,所述分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的多个轨迹片段,包括:
分别对各业务场景下的所述第一帧图像序列进行目标跟踪,得到各所述业务场景下的各所述对象的位置信息;
分别将各所述对象的位置信息进行关联,得到各所述业务场景下的各所述对象的多个轨迹片段。
4.如权利要求2所述的方法,其特征在于,分别对各所述对象的轨迹片段进行轨迹融合,得到各所述业务场景下的各所述对象对应的运动轨迹,包括:
获取各所述业务场景下的各所述对象的轨迹片段的轨迹标识;
分别将具有相同所述轨迹标识的轨迹片段进行合并,得到各所述业务场景下的各所述对象的运动轨迹。
5.如权利要求1所述的方法,其特征在于,所述分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列,包括:
分别对各业务场景下的所述第一帧图像序列执行以下操作:
对所述第一帧图像序列中的多个帧图像进行质量检测,得到对应各所述帧图像的质量分值;
按照所述质量分值由高到低的顺序,对各所述帧图像进行排序,得到参考帧图像序列;
从所述参考帧图像序列中第一个帧图像开始,选取目标数量的帧图像组合得到第二帧图像序列。
6.如权利要求1所述的方法,其特征在于,所述分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列,包括:
分别对所述业务场景下的第一帧图像序列执行以下操作:
对所述第一帧图像序列中的多个帧图像进行图像缩放,得到对应各所述帧图像的缩放帧图像;
分别对各所述缩放帧图像进行图像压缩,得到各所述缩放帧图像对应的压缩帧图像;
将各所述缩放帧图像对应的压缩帧图像进行组合,得到第二帧图像序列。
7.如权利要求1所述的方法,其特征在于,所述发送各所述业务场景下的第二帧图像序列至分发服务器,包括:
分别对各所述业务场景下的第二帧图像序列、及相应的业务场景标识进行消息封装,得到对应各所述业务场景的帧图像消息;
发送对应各所述业务场景的帧图像消息至分发服务器,以使所述分发服务器基于所述业务场景标识,缓存第二帧图像序列至相应业务场景的消息队列。
8.如权利要求1所述的方法,其特征在于,所述云服务器在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果,包括:
当所述云服务接收的图像处理请求的数量超过数量阈值时,所述云服务器基于请求均衡策略,对所述第二帧图像序列进行相应的图像处理并返回图像处理结果,所述请求均衡策略包括以下至少之一:限流策略、均衡负载策略。
9.一种图像数据的处理系统,其特征在于,所述系统包括:
终端,用于获取至少两个业务场景下的第一帧图像序列,所述第一帧图像序列包含至少一个对象;
分别对各业务场景下的所述第一帧图像序列进行帧图像筛选,得到各所述业务场景下的第二帧图像序列;
发送各所述业务场景下的第二帧图像序列至分发服务器;
所述分发服务器,用于分别将各所述业务场景下的第二帧图像序列,缓存至对应各业务场景的消息队列,并
基于各所述消息队列,将各所述业务场景下的第二帧图像序列分发至相应业务场景对应的云服务器;
所述云服务器,用于在接收到所述终端针对所述第二帧图像序列的图像处理请求时,进行相应的图像处理并返回图像处理结果。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至8任一项所述的图像数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010326125.9A CN111510680B (zh) | 2020-04-23 | 2020-04-23 | 一种图像数据的处理方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010326125.9A CN111510680B (zh) | 2020-04-23 | 2020-04-23 | 一种图像数据的处理方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510680A true CN111510680A (zh) | 2020-08-07 |
CN111510680B CN111510680B (zh) | 2021-08-10 |
Family
ID=71871201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010326125.9A Active CN111510680B (zh) | 2020-04-23 | 2020-04-23 | 一种图像数据的处理方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510680B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449628A (zh) * | 2021-06-24 | 2021-09-28 | 北京澎思科技有限公司 | 图像处理系统及方法、装置、存储介质、计算机程序产品 |
CN116095099A (zh) * | 2023-01-20 | 2023-05-09 | 广东省中山市质量计量监督检测所 | 一种基于机器视觉的机械零件质检系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017150899A1 (ko) * | 2016-02-29 | 2017-09-08 | 광주과학기술원 | 전역적 다중 객체 추적을 위한 객체 재식별 방법 |
CN108347645A (zh) * | 2018-01-19 | 2018-07-31 | 浙江大华技术股份有限公司 | 一种视频帧解码显示的方法及装置 |
CN109857812A (zh) * | 2019-02-27 | 2019-06-07 | 珠海天燕科技有限公司 | 一种处理缓存中数据的方法和装置 |
CN109978918A (zh) * | 2019-03-21 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 一种轨迹追踪方法、装置和存储介质 |
CN110191428A (zh) * | 2019-05-27 | 2019-08-30 | 北京鸿联九五信息产业有限公司 | 一种基于智能云平台的数据分配方法 |
CN110210276A (zh) * | 2018-05-15 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种移动轨迹获取方法及其设备、存储介质、终端 |
CN110418112A (zh) * | 2019-08-09 | 2019-11-05 | 上海商汤智能科技有限公司 | 一种视频处理方法及装置、电子设备和存储介质 |
-
2020
- 2020-04-23 CN CN202010326125.9A patent/CN111510680B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017150899A1 (ko) * | 2016-02-29 | 2017-09-08 | 광주과학기술원 | 전역적 다중 객체 추적을 위한 객체 재식별 방법 |
CN108347645A (zh) * | 2018-01-19 | 2018-07-31 | 浙江大华技术股份有限公司 | 一种视频帧解码显示的方法及装置 |
CN110210276A (zh) * | 2018-05-15 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种移动轨迹获取方法及其设备、存储介质、终端 |
CN109857812A (zh) * | 2019-02-27 | 2019-06-07 | 珠海天燕科技有限公司 | 一种处理缓存中数据的方法和装置 |
CN109978918A (zh) * | 2019-03-21 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 一种轨迹追踪方法、装置和存储介质 |
CN110191428A (zh) * | 2019-05-27 | 2019-08-30 | 北京鸿联九五信息产业有限公司 | 一种基于智能云平台的数据分配方法 |
CN110418112A (zh) * | 2019-08-09 | 2019-11-05 | 上海商汤智能科技有限公司 | 一种视频处理方法及装置、电子设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449628A (zh) * | 2021-06-24 | 2021-09-28 | 北京澎思科技有限公司 | 图像处理系统及方法、装置、存储介质、计算机程序产品 |
CN116095099A (zh) * | 2023-01-20 | 2023-05-09 | 广东省中山市质量计量监督检测所 | 一种基于机器视觉的机械零件质检系统 |
CN116095099B (zh) * | 2023-01-20 | 2023-09-12 | 广东省中山市质量计量监督检测所 | 一种基于机器视觉的机械零件质检系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111510680B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255605B (zh) | 一种基于神经网络的图像识别协同计算方法及系统 | |
CN111510680B (zh) | 一种图像数据的处理方法、系统及存储介质 | |
CN111898416A (zh) | 视频流处理方法、装置、计算机设备和存储介质 | |
CN110769257A (zh) | 智能视频结构化分析装置、方法和系统 | |
CN114679607B (zh) | 一种视频帧率控制方法、装置、电子设备及存储介质 | |
CN114255432A (zh) | 视频流处理方法、装置、电子设备、存储介质及系统 | |
CN205263812U (zh) | 分布式人脸识别轨迹搜索系统 | |
CN103152613A (zh) | 基于视频图像组分割的分布式转码任务调度系统及方法 | |
US20190325199A1 (en) | Information processing method, device, system and storage medium | |
CN107566785B (zh) | 一种面向大数据的视频监控系统及方法 | |
CN111402297A (zh) | 目标追踪检测方法、系统、电子设备及存储介质 | |
CN101127830A (zh) | 基于嵌入式具有识别功能的智能网络摄像机 | |
CN111479095A (zh) | 一种业务处理控制系统、方法及装置 | |
WO2022121196A1 (zh) | 一种可伸缩视觉计算系统 | |
CN214338041U (zh) | 一种基于5g物联网的智能城市监控系统 | |
CN106529497A (zh) | 一种图像采集设备的定位方法及装置 | |
Hou et al. | Real-time surveillance video salient object detection using collaborative cloud-edge deep reinforcement learning | |
KR102398788B1 (ko) | 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템 | |
CN113808157B (zh) | 图像处理方法、装置、及计算机设备 | |
CN112202932B (zh) | 一种基于边缘计算的对视频进行结构化分析的方法及装置 | |
CN112669353B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111212128B (zh) | 基于边缘辅助的协作式Web AR多人服务系统及方法 | |
CN114513681A (zh) | 一种视频处理系统、方法、装置、电子设备和存储介质 | |
CN113449628A (zh) | 图像处理系统及方法、装置、存储介质、计算机程序产品 | |
KR102588729B1 (ko) | 하이브리드 인공지능 영상분석 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |