CN111507257A - 图片处理方法、装置、系统、介质及程序 - Google Patents
图片处理方法、装置、系统、介质及程序 Download PDFInfo
- Publication number
- CN111507257A CN111507257A CN202010302529.4A CN202010302529A CN111507257A CN 111507257 A CN111507257 A CN 111507257A CN 202010302529 A CN202010302529 A CN 202010302529A CN 111507257 A CN111507257 A CN 111507257A
- Authority
- CN
- China
- Prior art keywords
- picture
- algorithm
- picture processing
- processed
- information
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 233
- 238000000034 method Methods 0.000 claims abstract description 197
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 165
- 230000008569 process Effects 0.000 claims abstract description 147
- 230000015654 memory Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种图片处理方法。该方法包括:接收调用方的图片处理请求,该图片处理请求包括待处理图片的信息以及用于处理待处理图片的至少一个算法的信息;针对至少一个算法中的每个算法创建一个进程,以得到与至少一个算法对应的至少一个进程;在该至少一个进程中的每个进程中利用相应的算法处理待处理图片,以得到图片处理结果;以及将图片处理结果反馈给调用方。本公开还提供了一种图片处理装置、系统、介质、及程序。
Description
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种图片处理方法、以及一种图片处理装置、系统、介质及程序。
背景技术
在网站、数据中心、搜索引擎等网络服务平台的建设和维护过程中,通常需要收集并整理大量的图片数据。对图片数据进行识别、分类等的有效地管理,对于为终端用户提供高品质的服务来说是非常必要的。其中,网络服务平台可以通过调用相关的图片处理服务来进行图片数据的处理。
相关技术中对于图片数据进行处理时往往是在单机系统中,对设定好的某一种或几种特定类型的图片进行识别处理。然而,一方面单机系统本身缺乏可扩展性,面向计算量较大的业务需求时依赖于牺牲硬件成本换取时间成本,另一方面对于新类型的图片处理业务需要重新开发,技术成本较高。
目前也出现了一些借助于开源的、已有的分布式系统(例如,开源的分布式文件HDFS(hadoop)等)进行图片识别处理的解决方案。然而,通常这些开源的、已有的分布式系统具有较强的通用性,并不是针对图片处理这一专项用途,因而这类开源的分布式系统架构通常都比较复杂,开发难度较高并且同样占用了大量的硬件资源,不够灵活,而且具有很高的开发和使用成本。
发明内容
有鉴于此,本公开实施例提供了一种可热插拔地、可定制化地图片处理方法、装置、系统、介质及程序。
本公开实施例的一个方面,提供了一种图片处理方法。所述方法包括:接收调用方的图片处理请求,所述图片处理请求包括待处理图片的信息以及用于处理所述待处理图片的至少一个算法的信息;针对所述至少一个算法中的每个算法创建一个进程,以得到与所述至少一个算法对应的至少一个进程;在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,以得到图片处理结果;以及将所述图片处理结果反馈给所述调用方。
根据本公开的实施例,所述针对所述至少一个算法中的每个算法创建一个进程,以得到与所述至少一个算法对应的至少一个进程包括:解析所述图片处理请求,以得到所述待处理图片的信息以及所述至少一个算法的信息;以及基于至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到所述至少一个进程。
根据本公开的实施例,所述在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,以得到图片处理结果包括:基于所述待处理图片的信息,将所述待处理图片分发至所述至少一个进程对应的计算节点;基于所述至少一个算法的信息,对所述至少一个进程中的每个进程调用相应的算法;以及在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,以得到所述图片处理结果。
根据本公开的实施例,在所述接收调用方的图片处理请求之前,所述方法还包括配置所述至少一个算法。
根据本公开的实施例,所述至少一个算法包括多个图像处理算法,所述多个图像处理算法不同。
本公开实施例的另一方面,提供了一种图片处理装置。所述装置包括接口服务层、调度层以及计算层。接口服务层用于接收调用方的图片处理请求,所述图片处理请求包括待处理图片的信息、以及用于处理所述待处理图片的至少一个算法的信息;以及将所述图片处理请求对应的图片处理结果发送给所述调用方。调度层用于针对所述至少一个算法中的每个算法创建一个进程,以得到与所述至少一个算法对应的至少一个进程。计算层用于在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,得到所述图片处理结果。
根据本公开的实施例,所述接口服务层还用于将所述图片处理请求缓存入队列,以及从所述队列中获取所述图片处理结果。所述调度层还用于:从所述队列中读取所述图片处理请求;解析所述图片处理请求,以得到所述待处理图片的信息以及所述至少一个算法的信息;基于所述至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到所述至少一个进程。所述计算层还用于在所述至少一个计算节点中运行所述至少一个进程,以利用所述至少一个算法处理所述待处理图片,得到所述图片处理结果,以及将所述图片处理结果缓存到所述队列中。
根据本公开的实施例,所述调度层还用于:基于所述待处理图片的信息,将所述待处理图片分发至所述至少一个进程对应的计算节点;以及,基于所述至少一个算法的信息,对所述至少一个进程中的每个进程调用相应的算法,以处理所述待处理图片。
根据本公开的实施例,所述装置还包括数据层。所述数据层用于配置所述至少一个算法。
本公开实施例的另一方面,提供了一种图片处理系统。所述系统包括网络服务模块、分布式任务调度模块、以及计算模块。所述网络服务模块包括数据收发单元以及队列管理单元,其中,所述数据收发单元和所述队列管理单元通信。分布式任务调度模块包括至少一个主从备份节点、任务调度单元以及多进程管理单元,其中,所述至少一个主从备份节点与所述任务调度单元通信,所述任务调度单元与所述多进程管理单元通信。计算模块包括至少一个计算节点。其中,所述网络服务模块用于:通过所述数据收发单元接收调用方的图片处理请求,其中,所述图片处理请求包括待处理图片的信息以及用于处理所述待处理图片的至少一个算法的信息;通过所述队列管理单元向所述分布式任务调度模块同步所述图片处理请求;以及通过所述队列管理单元接收所述计算模块传输的图片处理结果;以及通过所述数据收发单元向所述调用方发送所述图片处理结果。所述分布式任务调度模块用于:通过至少一个主从备份节点从所述队列管理单元同步所述图片处理请求;通过所述任务调度单元调用所述至少一个计算节点,并基于所述至少一个算法的信息,确定所述至少一个计算节点中每个计算节点对应部署的算法;通过所述多进程管理单元在所述至少一个计算节点中的每个计算节点创建对应的算法的进程,以得到与所述至少一个算法对应的至少一个进程。所述计算模块用于通过所述至少一个计算节点运行所述至少一个进程,以利用所述至少一个算法处理所述待处理图片,得到所述图片处理结果;以及将所述图片处理结果从所述至少一个节点发送给所述队列管理单元。
根据本公开的实施例,所述分布式任务调度模块还用于:通过所述任务调度单元解析所述图片处理请求,以得到所述待处理图片的信息以及所述至少一个算法的信息,以及通过所述多进程管理单元基于所述至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到所述至少一个进程。
根据本公开的实施例,所述分布式任务调度模块还用于:通过所述任务调度单元基于所述待处理图片的信息,将所述待处理图片分发至所述至少一个进程对应的计算节点;以及通过所述多进程管理单元基于所述至少一个算法的信息,对所述至少一个进程中的每个进程调用相应的算法。
根据本公开的实施例,所述计算模块还用于预先配置并存储所述至少一个算法。
本公开实施例的另一方面,提供了一种图片处理系统。所述系统包括一个或多个存储器、以及一个或多个处理器。所述一个或多个存储器存储有可执行指令。所述一个或多个处理器执行所述可执行指令,以实现如上所述的方法。
本公开实施例的另一方面,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
本公开实施例的另一方面,提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开实施例的方法,可以利用一个或多个算法对待处理图片并行处理,得到图片处理结果。以此方式不仅可以提高图片处理效率,而且满足多样化的图片处理需求。
根据本公开实施例的装置和系统,可以设置于分布式系统中,提供了一种针对于图片处理的分布式系统架构。相比于现有的开源的分布式系统,本公开实施例的装置和系统可以节省开发成本、硬件成本,拥有更好的鲁棒性而且更容易部署,并且具有灵活的定制化能力,可以容易地实现热插拔,更加适用于不同的图片处理需求。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了可以应用根据本公开实施例的图片处理方法、装置、系统、介质及程序的示例性系统架构;
图2示意性示出了根据本公开实施例的图片处理方法的流程图;
图3示意性示出了根据本公开另一实施例的图片处理方法的流程图;
图4示意性示出了根据本公开实施例的图片处理方法中创建至少一个进程的方法流程图;
图5示意性示出了根据本公开实施例的图片处理方法中处理待处理图片的方法流程图;
图6示意性示出了根据本公开实施例的图片处理装置的方框图;
图7示意性示出了根据本公开另一实施例的图片处理装置的层次架构图;
图8示意性示出了根据本公开实施例的图片处理系统的逻辑架构图;
图9示意性示出了根据本公开实施例的图片处理系统中分布式任务调度模块的工作流程图;
图10示意性示出了根据本公开实施例的图片处理系统进行图片处理的流程图;以及
图11示意性示出了适于实现根据本公开实施例的图片处理方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种图片处理方法、装置、系统、介质和程序。该方法包括首先接收调用方的图片处理请求,该图片处理请求包括待处理图片的信息以及用于处理待处理图片的至少一个算法的信息;然后针对至少一个算法中的每个算法创建一个进程,以得到与至少一个算法对应的至少一个进程;接着在该至少一个进程中的每个进程中利用相应的算法处理待处理图片,以得到图片处理结果;最后将图片处理结果反馈给调用方。
根据本公开的实施例,可以利用一个或多个算法对待处理图片并行处理,得到图片处理结果。以此方式不仅可以提高图片处理效率,而且可以满足多样化的图片处理需求。
根据本公开的各个实施例,该至少一个算法可配置,从而可以实现热插拔,提高了图片处理业务的扩展性和多样性。
图1示意性示出了可以应用根据本公开实施例的图片处理方法、装置、系统、介质及程序的示例性系统架构100。
如图1所示,根据该实施例的系统架构100可以包括调用方101、102、103,网络104和分布式系统105。网络104用以在调用方101、102、103和分布式系统105之间提供通信链路。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
调用方101、102、103例如可以是应用程序服务器(集群)101、流媒体服务器(集群)102、以及电子商务服务器(集群)103。应用程序服务器(集群)101可以用于为终端用户提供应用程序的后台管理服务,流媒体服务器(集群)102可以用于为终端用户提供相应流媒体服务,以及电子商务服务器(集群)103可以为终端用户提供电子商务服务。
调用方101、102、103在建设和/或维护其服务的过程中,往往需要收集、整理大量的图片。对这些图片进行管理时,调用方101、102、103可以通过网络104向分布式系统105发送图片处理请求,以调用分布式系统105进行图片处理,例如,识别图片的内容、和/或进行图片分类等等。然后调用方101、102、103通过网络104接收分布式系统105返回的图片处理结果,并基于图片处理结果对图片数据进行管理。
分布式系统105例如可以包括一个或多个web服务器51、一个或多个分布式任务调度服务器52、以及一个或多个计算服务器53。首先,web服务器51可以接收调用方101、102、103发送的图片处理请求,并将图片处理请求同步给分布式任务调度服务器52。然后,分布式任务调度服务器52可以根据一个或多个计算服务器53的硬件资源使用情况,对基于图片处理请求中所包含的至少一个算法在一个或多个计算服务器53中创建相应的进程,并将图片处理请求中的待处理图片调度到对应的进程中。接着一个或多个计算服务器53可以运行相应的进程,以通过至少一个算法并行地处理该待处理图片,以得到图片处理结果,并将图片处理结果发送给web服务器51。最后,web服务器51再将图片处理结果通过网络104反馈给调用方101、102、103。
在上述系统架构100中,本公开实施例所提供的图片处理方法可以由分布式系统105执行。相应地,本公开实施例所提供的图片处理装置、系统、介质及程序可以设置于分布式系统105中。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在一些实施例中,本公开实施例所提供的图片处理方法也可以由单机系统来执行,相应地本公开实施例所提供的图片处理装置、系统、介质及程序可以设置于单机系统中。
应该理解,图1中的网络和服务器的种类和数目仅仅是示意性的。根据实现需要,可以具有任意种类和数据的网络和服务器。
图2示意性示出了根据本公开实施例的图片处理方法的流程图。
如图2所示,该图片处理方法可以包括操作S210~操作S240。
在操作S210,接收调用方的图片处理请求,图片处理请求包括待处理图片的信息以及用于处理待处理图片的至少一个算法的信息。根据本公开的一个实施例,图片处理请求可以由<url,{funId1,funId2...}>向量组成,其中url代表待处理图片的链接,funId代表计算模块算法的唯一id。
在操作S220,针对至少一个算法中的每个算法创建一个进程,以得到与至少一个算法对应的至少一个进程。
在操作S230,在至少一个进程中的每个进程中利用相应的算法处理待处理图片,以得到图片处理结果。例如,针对{funId1,funId2...},为每个算法创建一个进程,然后在各个进程中分别运行funId1,funId2...所标识的算法来处理该待处理图片,得到图片处理结果。根据本公开的一个实施例,该图片处理结果可以由<code,result>向量组成,其中code代表待处理图片的处理状态,result代表处理结果。
在操作S240,将图片处理结果反馈给调用方。
根据本公开的一个实施例,至少一个算法包括多个图像处理算法,多个图像处理算法不同。
例如,该至少一个算法可以包括人脸识别算法、人物识别算法、物体检测算法、场景识别算法和信息量计算算法中的一个或多个。人脸识别算法可以用于通过检测人脸关键点的坐标识别出人脸区域,例如识别眼睛、鼻子和/或嘴巴的坐标;也可以用于提取人脸信息,例如识别性别、表情、是否佩戴有眼镜等装饰物等。人物识别算法可以从图像中截取人脸并识别人物信息(例如,人物的姓名、身份、是否为特定的人等),其中,可以通过人脸检测、人脸识别模型、获得特征向量、计算L2距离、获取最近距离标签等算法来实现。物体检测算法用于检测和定位待处理图片存在的一种或多种物体的类别和位置.(可能存在多种物体);可以通过深度学习来实现物体检测,例如,在CNN卷积神经网络中输入待处理图片,然后通过CNN提取特征、全连接分支进行预测回归框位置与长宽、全连接分支进入分类器进行目标分类,输出待处理图片的类别标签和物体的坐标和宽高(x,y,w,h)。场景识别算法可以用于识别场景的分类,场景中的特征映射,获得场景描述信息,例如但不限于场景中人物比例、是否为室内、是自然光还是室内照明等。信息量计算算法可以是计算图片的信息上,包括一维熵计算、或者二维熵计算。
其中,一维熵的计算如下式(1):
式中,H为一维熵;i为灰度值,取值范围0~255;Pi为图像中灰度值为i的像素所占的比例。一维熵反映了图像中平均信息量的多少,反映了图像中灰度分布的聚集特征所包含的信息量。
二维熵的计算如下式(2):
式中,H为二维熵;i为像素的灰度值,其中,0≤i≤255);j为邻域灰度均值(即每个像素周围的像素的灰度均值),其中,0≤j≤255,其中,在二维熵计算中选择图像的邻域灰度均值j作为灰度分布的空间特征量,与图像的像素灰度i组成特征二元组,即(i,j);Pij=f(i,j)/N2,其中,中f(i,j)为特征二元组(i,j)出现的频数,N为图像的尺度(例如,图像的面积或者图像的像素个数)。
根据本公开的实施例,可以根据图片处理请求中的对至少一个算法中的每个算法创建一个进程,然后在对应的进程中运行相应的算法来处理待处理图片,然后获得相应的图片处理结果。最后将图片处理结果发送给调用方。这样可以方便调用方根据图片处理结果中所包含的待处理图片的信息对待处理图片进行分类等管理。例如,调用方可以根据图片处理结果来筛选过滤掉不符合使用需求的垃圾图片等。例如,调用方需要筛选出包括特定人物再特定场景下(例如,某个明星演出)的图片,根据本公开实施例的方法对待处理图片通过例如人物识别算法和场景算法等处理后给出图片处理结果并反馈给调用方。调用方可以根据图片处理结果筛选出其中同时包括有该明星和舞台的图片,过滤掉不同时包括该明星和舞台的垃圾图片。以此方式,根据本公开实施例的方法,进行图片处理时可以对一个图片并行地执行多种不同的图像处理算法,然后将每种图像处理算法的结果混合后得到所需的图像处理结果,极大地提高了图像处理效率。
图3示意性示出了根据本公开另一实施例的图片处理方法的流程图。
如图3所示,根据本公开的实施例,该图片处理方法除了包括操作S210~操作S240以外,还可以包括操作S310。其中,操作S310可以在操作S210之前执行。
在操作S310,配置至少一个算法。该至少一个算法可配置,例如可以预先配置,或者在遇到新的业务需求时增加或减少某个算法,或者改变某个算法,从而可以实现热插拔,提高了图片处理业务的扩展性和多样性。
图4示意性示出了根据本公开实施例的图片处理方法中操作S220创建至少一个进程的方法流程图。
如图4所示,根据本公开的实施例操作S220可以包括操作S221~操作S222。
在操作S221,解析图片处理请求,以得到待处理图片的信息以及至少一个算法的信息。例如,从图片处理请求<url,{funId1,funId2...}>中解析得到待处理图片的链接url,以及所使用的算法的标识为funId1,funId2...。
在操作S222,基于至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到至少一个进程。例如对于由funId1,funId2...标识的算法中的每个算法分别创建一个进程。具体地,可以可以根据硬件资源的使用情况,针对每个算法运行所需的资源情况,对不同算法在对应的节点创建进程。
图5示意性示出了根据本公开实施例的图片处理方法中操作S230处理待处理图片的方法流程图。
如图5所示,根据本公开的实施例操作S230可以包括操作S231~操作S233。
在操作S231,基于待处理图片的信息,将待处理图片分发至至少一个进程对应的计算节点。例如,根据待处理图片的链接url获取到该待处理图片,并将该待处理图片分发到对应的计算节点。
在操作S232,基于至少一个算法的信息,对至少一个进程中的每个进程调用相应的算法。每个进程可以根据该进程所对应的算法的标识(例如,funId1,或funId2...)调用算法。
例如,可以在多个计算节点(例如,多个服务器)中可以根据图片处理请求中需要使用的算法在不同服务器中分发待处理图片。例如,基于各个服务器可使用的硬件资源情况,以及不同算法处理图片时的资源占用情况,将待处理图片分发到各个计算节点,以力求每个计算节点中算法处理的资源占用与硬件资源使用状态相匹配。
在操作S233,在至少一个进程中的每个进程中利用相应的算法处理待处理图片,以得到图片处理结果。在每个进程中通过与该进程的算法处理图片,得到对图片的处理信息(例如,图片中的人物信息、场景信息、或信息熵等数据),然后对不同进程得到的图片的处理信息进行汇总,得到该图片处理结果。之后,就可以将该图片处理结果反馈给调用方。
图6示意性示出了根据本公开实施例的图片处理装置600的方框图。
如图6所示,该图片处理装置600可以包括接口服务层610、调度层620、以及计算层630。根据本公开的一些实施例,该装置600还可以包括数据层640。该装置600可以用于执行参考图2~图5所描述的方法。
接口服务层610例如可以执行操作S210和操作S240,用于接收调用方的图片处理请求,图片处理请求包括待处理图片的信息、以及用于处理待处理图片的至少一个算法的信息;以及将图片处理请求对应的图片处理结果发送给调用方。
调度层620例如可以执行操作S220,用于针对至少一个算法中的每个算法创建一个进程,以得到与至少一个算法对应的至少一个进程。
计算层630例如可以执行操作S230,用于在至少一个进程中的每个进程中利用相应的算法处理待处理图片,得到图片处理结果。
数据层640例如可以执行操作S310,用于配置至少一个算法。
可选地,接口服务层610还可以用于将图片处理请求缓存入队列,以及从队列中获取图片处理结果。
调度层620还用于从队列中读取图片处理请求;解析图片处理请求,以得到待处理图片的信息以及至少一个算法的信息;基于至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到至少一个进程。
调度层620还用于基于待处理图片的信息,将待处理图片分发至至少一个进程对应的计算节点;基于至少一个算法的信息,对至少一个进程中的每个进程调用相应的算法,以处理待处理图片。
计算层630还用于在至少一个计算节点中运行至少一个进程,以利用至少一个算法处理待处理图片,得到图片处理结果,以及将图片处理结果缓存到队列中。
图7示意性示出了根据本公开另一实施例的图片处理装置700的层次架构图。
如图7所示,该图片处理装置700可以包括接口服务层610、调度层620、计算层630、数据层640以及基础层750。其中,装置700为前述装置600的一个具体实施例。接口服务层610、调度层620、计算层630、数据层640与前述一致。
根据本公开的实施例,接口服务层610可以应用WSGI(Python Web ServerGateway Interface,Web服务器网关接口)协议,具有多线程轻量级web服务框架,用于接受调用方的图片处理请求,将图片处理请求对应的计算任务缓存入队列(例如,Zookeeper任务队列,简称ZK任务队列),以及从ZK任务队列取出对应的图片处理结果,并将图处理结果发送给调用方。
调度层620可以从ZK任务队列中读取基于图片处理请求而获得的图片处理任务,通过zookeeper服务实现数据一致性,通过调度逻辑将任务分配给计算层630的多个计算节点,以及通过多进程管理在多个计算节点对每个算法创建相应的进程。其中,一个图片处理任务可以是对一个图片按照一个算法进行处理。当一个图片处理请求中包含有对一个图片按照多个算法进行处理时,该图片处理请求可以被分解得到多个图片处理任务。
基础层750可以用于提供守护进程服务和定时任务功能。守护进程可以是一个独立进程,用于监控整个系统的运行状态,并判断系统是否正常。定时任务功能用于定时回收泄漏的内存、清理因异常造成的僵尸进程、清理系统在硬盘中的日志、缓存数据,定时监控或重启守护进程等工作。基础层750可以通过守护进程与定时任务用来检测系统状态,决定重启系统、清空元数据、初始化主从数据库、重启主从数据库等操作。
基础层750还可以用于计算节点分配以及进程资源回收。计算节点分配,例如可以是读取调度层620分配的计算节点和任务状态,在单台或多台计算机中开启多进程计算程序来通过不同算法处理待处理图片。进程资源回收可以用于将空闲进程进行回收,以回收由于进程错误或资源错误导致占用的系统资源。
计算层630可以在单台或多台计算机的进程中,运行Opencv处理图片,或运行Sklearn计算图片信息,或运行tensorflow构建得模型进行图片识别、分类计算等。
数据层640可以用于配置至少一个算法、调度元数据、保持计算结果、或者保存子进程状态等。
图8示意性示出了根据本公开实施例的图片处理系统800的逻辑架构图。
如图8,该图片处理系统800可以包括网络服务模块810、分布式任务调度模块820、以及计算模块830。该图片处理系统800可以部署于分布式系统105中,用于执行参考图2~图5所描述的方法。
网络服务模块810可以包括数据收发单元811以及队列管理单元812。数据收发单元811和队列管理单元812通信。分布式任务调度模块820可以包括至少一个主从备份节点821、任务调度单元822以及多进程管理单元823。其中,至少一个主从备份节点821与任务调度单元822通信,任务调度单元822与多进程管理单元823通信。计算模块830包括至少一个计算节点831~836等。
网络服务模块810用于:通过数据收发单元811接收调用方的图片处理请求(操作S210),其中,图片处理请求包括待处理图片的信息以及用于处理待处理图片的至少一个算法的信息;通过队列管理单元812向分布式任务调度模块同步图片处理请求;通过队列管理单元812接收计算模块传输的图片处理结果;以及通过数据收发单元812向调用方发送图片处理结果(操作S240)。
其中,数据收发单元811存在同步与异步两种请求方式,同步方式会将图片处理结果实时同步,异步模式需要在计算结束后回调接口。队列管理单元812与数据收发单元811、至少一个主从备份节点821、计算模块830进行交互,用于管理队列中任务的执行状态数据。
另外,网络服务模块810还可以包括守护程序单元813和定时任务单元814。守护程序单元813运行守护进程,其作用是监控整个系统(例如,分布式系统105)的运行状态,并判断系统是否正常,如果其发现系统存在异常,如任务异常结束、系统内组件异常、内存泄漏、图片状态异常等,该功能子模块会对任务队列、系统内组件、图片进行重启、回滚、逻辑跳转、清理内存等操作,以此保证系统的鲁棒性。定时任务单元814用于提供定时任务功能,用于定时回收泄漏的内存、清理因异常造成的僵尸进程、清理系统在硬盘中的日志、缓存数据,定时监控或重启守护进程等工作。
分布式任务调度模块820用于:通过至少一个主从备份节点821从队列管理单元812同步图片处理请求;通过任务调度单元822调用至少一个计算节点,并基于至少一个算法的信息,确定至少一个计算节点中每个计算节点对应部署的算法;通过多进程管理单元823在至少一个计算节点831~836中的每个计算节点创建对应的算法的进程,以得到与至少一个算法对应的至少一个进程(操作S220)。
根据本公开的实施例,分布式任务调度模块820还用于:通过任务调度单元822解析图片处理请求,以得到待处理图片的信息以及至少一个算法的信息,以及通过多进程管理单元823基于至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到至少一个进程。可选地,分布式任务调度模块820还可以用于:通过任务调度单元822基于待处理图片的信息,将待处理图片分发至至少一个进程对应的计算节点;以及通过多进程管理单元823基于至少一个算法的信息,对至少一个进程中的每个进程调用相应的算法。
其中,至少一个主从备份节点821还可以将从队列管理单元812的队列中的数据进行主从备份,使用分布式数据一致性算法ZAB进行数据的多节点一致性备份。任务调度单元822执行任务调度功能,还可以将主从备份节点821获取的的图片处理请求解析成一个或多个图片处理任务(例如,当一个图片处理请求包括对一个图片的多种算法处理时,可以将该图片处理请求解析为多个图片处理任务),并根据当前部署的单个计算节点或多个计算节点的资源情况分配用于执行每个图片处理任务的计算节点。多进程管理单元823根据任务调度单元822调度的分配结果实例多个进程以进行后面的计算工作,并实时地管理这些进程状态和回收资源。
计算模块830用于:通过至少一个计算节点831~836运行至少一个进程,以利用至少一个算法处理待处理图片,得到图片处理结果(操作S230);以及将图片处理结果从至少一个节点发送给队列管理单元812。根据本公开的实施例,计算模块830还用于预先配置并存储至少一个算法(操作S310)。
计算模块830可以根据每个任务需求调用定制化好的算法,对不同的图片处理任务在不同进程中运行不同的算法,计算结果会反馈给队列管理单元812中的任务队列,用于返回结果或记录任务状态。例如,计算节点831对待处理图片进行人脸或人物识别运算,计算节点832对待处理图片进行物体检测运算,计算节点833对待处理图片进行场景识别,计算节点834对待处理图片进行图片分类,计算节点835可以运行进程来识别待处理图片中的二维码,以及计算节点836可以计算待处理图片的二维熵。然后,计算节点831~836将各个节点的处理结果可以反馈给主从备份节点821进行备份,然后同步给给队列管理单元812以缓存入队列中,从而得到图片处理结果。
图9示意性示出了根据本公开实施例的图片处理系统中分布式任务调度模块的工作流程图。
如图9所示,主从备份节点821从队列管理单元812中的队列中同步图片处理请求等数据,并实现元数据备份。例如,通过树形结构进行元数据存储。例如,可以使用zookeeper的树形结构和ZAB数据一致性算法,在多个服务器构建多个主从备份节点821的元数据备份,建立主从关系的zookeeper服务。
图9中主从备份节点821中的每个节点可代表一个图片处理任务,其中记录了任务处理状态、图片链接、图片处理结果等信息。其中,一个图片处理任务可以是对一个图片按照一个算法进行处理。
任务调度单元822用于解析主从备份节点821中各个节点的任务信息,并根据硬件资源使用状态对图片处理任务进行分配,例如,决定在哪台服务器对哪张图片执行哪个算法。
多进程管理单元823可以对主从备份节点821中的不同节点的图片处理任务,基于任务调度单元822分配的硬件资源来创建不同的进程,同时还可以负责进程回收、管理,弹性进程管理实现充分利用资源的特性同时不会使得服务器过载的特性。
主从备份节点821还可以对图片处理过程或图片处理结果进行动态优化。例如,在大图片利用主从备份节点821进行预处理,使得一部分存储资源进行共享,减少网络开销,提高系统工作流程的响应速度。主从备份节点821还可以备份图片处理结果并延迟回调接口,用于在存储其他需要快速响应的请求的情况下,将图片处理请求对应的图片处理结果延迟回调至网络服务模块810以减少对其他业务流程的干扰。
图10示意性示出了根据本公开实施例的图片处理系统800进行图片处理的流程图。
图10展示了展示了图片处理系统800进行图片处理的流程。其中图片处理请求可以使用形如<url,{GetFace,FaceInfo,SceneReco,ObjectDetection}>的向量,向量中”{}”中的部分为需要对待处理图片进行计算的算法。
图片处理请求被网络服务模块810接收后进入任务队列并在分布式任务调度模块820中进行备份,然后分布式任务调度模块820可以在多个服务器中会根据图片处理请求中需要使用的算法在计算模块830对应的不同服务器中分发任务,并相应地在计算模块830对应的不同服务器进行创建进程、调用算法等工作,接着计算模块830对应的不同服务器执行计算任务对图片进行处理后,将结果返回给任务队列,等待网络服务模块810回调。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,接口服务层610、调度层620、计算层630、数据层640、基础层750、网络服务模块810、分布式任务调度模块820、计算模块830、数据收发单元811、队列管理单元812、守护程序单元813、定时任务单元814、主从备份节点821、任务调度单元822、多进程管理单元823、至少一个计算节点831~836中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接口服务层610、调度层620、计算层630、数据层640、基础层750、网络服务模块810、分布式任务调度模块820、计算模块830、数据收发单元811、队列管理单元812、守护程序单元813、定时任务单元814、主从备份节点821、任务调度单元822、多进程管理单元823、至少一个计算节点831~836中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接口服务层610、调度层620、计算层630、数据层640、基础层750、网络服务模块810、分布式任务调度模块820、计算模块830、数据收发单元811、队列管理单元812、守护程序单元813、定时任务单元814、主从备份节点821、任务调度单元822、多进程管理单元823、至少一个计算节点831~836中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了适于实现根据本公开实施例的图片处理方法的计算机系统1100的方框图。图11示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,根据本公开实施例的计算机系统1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有计算机系统1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,计算机系统1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。系统1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种图片处理方法,包括:
接收调用方的图片处理请求,所述图片处理请求包括待处理图片的信息以及用于处理所述待处理图片的至少一个算法的信息;
针对所述至少一个算法中的每个算法创建一个进程,以得到与所述至少一个算法对应的至少一个进程;
在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,以得到图片处理结果;以及
将所述图片处理结果反馈给所述调用方。
2.根据权利要求1所述的方法,其中,所述针对所述至少一个算法中的每个算法创建一个进程,以得到与所述至少一个算法对应的至少一个进程包括:
解析所述图片处理请求,以得到所述待处理图片的信息以及所述至少一个算法的信息;以及
基于至少一个算法的信息,针对每个算法调用一个计算节点来创建相应的进程,以得到所述至少一个进程。
3.根据权利要求2所述的方法,其中,所述在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,以得到图片处理结果包括:
基于所述待处理图片的信息,将所述待处理图片分发至所述至少一个进程对应的计算节点;
基于所述至少一个算法的信息,对所述至少一个进程中的每个进程调用相应的算法;以及
在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,以得到所述图片处理结果。
4.根据权利要求1所述的方法,其中,在所述接收调用方的图片处理请求之前,所述方法还包括:
配置所述至少一个算法。
5.根据权利要求1所述的方法,其中,所述至少一个算法包括多个图像处理算法,所述多个图像处理算法不同。
6.一种图片处理装置,包括:
接口服务层,用于接收调用方的图片处理请求,所述图片处理请求包括待处理图片的信息、以及用于处理所述待处理图片的至少一个算法的信息;以及将所述图片处理请求对应的图片处理结果发送给所述调用方;
调度层,用于针对所述至少一个算法中的每个算法创建一个进程,以得到与所述至少一个算法对应的至少一个进程;
计算层,用于在所述至少一个进程中的每个进程中利用相应的算法处理所述待处理图片,得到所述图片处理结果。
7.一种图片处理系统,包括:
网络服务模块,包括数据收发单元以及队列管理单元,其中,所述数据收发单元和所述队列管理单元通信;
分布式任务调度模块,包括至少一个主从备份节点、任务调度单元以及多进程管理单元,其中,所述至少一个主从备份节点与所述任务调度单元通信,所述任务调度单元与所述多进程管理单元通信;
计算模块,包括至少一个计算节点;
其中:
所述网络服务模块用于:
通过所述数据收发单元接收调用方的图片处理请求,其中,所述图片处理请求包括待处理图片的信息以及用于处理所述待处理图片的至少一个算法的信息;
通过所述队列管理单元向所述分布式任务调度模块同步所述图片处理请求;
通过所述队列管理单元接收所述计算模块传输的图片处理结果;以及
通过所述数据收发单元向所述调用方发送所述图片处理结果;
所述分布式任务调度模块用于:
通过至少一个主从备份节点从所述队列管理单元同步所述图片处理请求;
通过所述任务调度单元调用所述至少一个计算节点,并基于所述至少一个算法的信息,确定所述至少一个计算节点中每个计算节点对应部署的算法;以及
通过所述多进程管理单元在所述至少一个计算节点中的每个计算节点创建对应的算法的进程,以得到与所述至少一个算法对应的至少一个进程;
所述计算模块用于:
通过所述至少一个计算节点运行所述至少一个进程,以利用所述至少一个算法处理所述待处理图片,得到所述图片处理结果;以及
将所述图片处理结果从所述至少一个节点发送给所述队列管理单元。
8.一种图片处理系统,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~5中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~5中任一项所述的方法。
10.一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现根据权利要求1~5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302529.4A CN111507257B (zh) | 2020-04-16 | 2020-04-16 | 图片处理方法、装置、系统、介质及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302529.4A CN111507257B (zh) | 2020-04-16 | 2020-04-16 | 图片处理方法、装置、系统、介质及程序 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111507257A true CN111507257A (zh) | 2020-08-07 |
CN111507257B CN111507257B (zh) | 2023-09-08 |
Family
ID=71876184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010302529.4A Active CN111507257B (zh) | 2020-04-16 | 2020-04-16 | 图片处理方法、装置、系统、介质及程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507257B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068963A (zh) * | 2020-09-15 | 2020-12-11 | 中国科学技术大学 | 一种嵌入式系统分布式调度系统 |
CN113821357A (zh) * | 2021-09-23 | 2021-12-21 | 瑞芯微电子股份有限公司 | 基于socket的跨进程通信方法、介质及电子设备 |
CN114647472A (zh) * | 2022-03-24 | 2022-06-21 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100241698A1 (en) * | 2009-03-18 | 2010-09-23 | Talk3, Inc. | Methods and systems for auto-generating models of networks for network management purposes |
CN107426282A (zh) * | 2017-05-02 | 2017-12-01 | 努比亚技术有限公司 | 一种图片加载方法、终端及服务器 |
CN109814987A (zh) * | 2017-11-20 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 任务处理方法、系统、电子设备和计算机可读介质 |
EP3506095A2 (en) * | 2017-12-29 | 2019-07-03 | INTEL Corporation | Communication optimizations for distributed machine learning |
CN110914829A (zh) * | 2017-04-07 | 2020-03-24 | 英特尔公司 | 使用改进的卷积神经网络用于图像处理的方法和系统 |
CN110968433A (zh) * | 2018-09-29 | 2020-04-07 | 北京京东尚科信息技术有限公司 | 信息处理方法、系统和电子设备 |
-
2020
- 2020-04-16 CN CN202010302529.4A patent/CN111507257B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100241698A1 (en) * | 2009-03-18 | 2010-09-23 | Talk3, Inc. | Methods and systems for auto-generating models of networks for network management purposes |
CN110914829A (zh) * | 2017-04-07 | 2020-03-24 | 英特尔公司 | 使用改进的卷积神经网络用于图像处理的方法和系统 |
CN107426282A (zh) * | 2017-05-02 | 2017-12-01 | 努比亚技术有限公司 | 一种图片加载方法、终端及服务器 |
CN109814987A (zh) * | 2017-11-20 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 任务处理方法、系统、电子设备和计算机可读介质 |
EP3506095A2 (en) * | 2017-12-29 | 2019-07-03 | INTEL Corporation | Communication optimizations for distributed machine learning |
CN110968433A (zh) * | 2018-09-29 | 2020-04-07 | 北京京东尚科信息技术有限公司 | 信息处理方法、系统和电子设备 |
Non-Patent Citations (1)
Title |
---|
王荣;王建新;陈向;盛羽;: "面向异构资源集成的数字图像实验平台" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068963A (zh) * | 2020-09-15 | 2020-12-11 | 中国科学技术大学 | 一种嵌入式系统分布式调度系统 |
CN113821357A (zh) * | 2021-09-23 | 2021-12-21 | 瑞芯微电子股份有限公司 | 基于socket的跨进程通信方法、介质及电子设备 |
CN113821357B (zh) * | 2021-09-23 | 2024-06-07 | 瑞芯微电子股份有限公司 | 基于socket的跨进程通信方法、介质及电子设备 |
CN114647472A (zh) * | 2022-03-24 | 2022-06-21 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
CN114647472B (zh) * | 2022-03-24 | 2023-08-15 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111507257B (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11159411B2 (en) | Distributed testing service | |
CN111400008B (zh) | 计算资源调度方法、装置及电子设备 | |
CN111507257B (zh) | 图片处理方法、装置、系统、介质及程序 | |
CN111258744A (zh) | 一种基于异构计算的任务处理方法及软硬件框架系统 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN112449750A (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
CN114741207B (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
CN112114950A (zh) | 任务调度方法和装置、以及集群管理系统 | |
CN103999121A (zh) | 用于将图像基元部署至计算构造的图像流管线控制器 | |
CN100593169C (zh) | 多线程可达性 | |
US20220374219A1 (en) | Deployment of service | |
Brogi et al. | Container-based support for autonomic data stream processing through the fog | |
CN105740085A (zh) | 容错处理方法及装置 | |
CN111611086A (zh) | 信息处理方法、装置、电子设备和介质 | |
US20200310828A1 (en) | Method, function manager and arrangement for handling function calls | |
CN115509704A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN112965809A (zh) | 深度学习任务处理系统和方法 | |
Yang et al. | Edgebench: a workflow-based benchmark for edge computing | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN110717992B (zh) | 调度模型的方法、装置、计算机系统和可读存储介质 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN115378937B (zh) | 任务的分布式并发方法、装置、设备和可读存储介质 | |
CN116719623A (zh) | 作业调度方法、作业结果处理方法及其装置 | |
US9323509B2 (en) | Method and system for automated process distribution | |
CN113672348B (zh) | 基于容器集群对联合计算多方进行服务校验的方法及系统 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |