CN113066038A - 图像评估方法、装置、电子设备及计算机存储介质 - Google Patents

图像评估方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN113066038A
CN113066038A CN201911284849.5A CN201911284849A CN113066038A CN 113066038 A CN113066038 A CN 113066038A CN 201911284849 A CN201911284849 A CN 201911284849A CN 113066038 A CN113066038 A CN 113066038A
Authority
CN
China
Prior art keywords
image
evaluated
images
model
image evaluation
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
Application number
CN201911284849.5A
Other languages
English (en)
Other versions
CN113066038B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911284849.5A priority Critical patent/CN113066038B/zh
Publication of CN113066038A publication Critical patent/CN113066038A/zh
Application granted granted Critical
Publication of CN113066038B publication Critical patent/CN113066038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例提供了一种图像评估方法、装置、电子设备及计算机存储介质。该图像评估方法,包括:通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。通过本发明实施例,可以快速、高效地获得图像评估结果。

Description

图像评估方法、装置、电子设备及计算机存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种图像评估方法、装置、电子设备及计算机存储介质。
背景技术
在视觉业务场景中,对于待展示的图像,经常需要给予一个评分,以进行后续的推荐或者画像。为此,多种图像评估方式应运而生。
在目前的多种图像评估方式中,基于深度学习的神经网络模型的方式是一种较为通用的方式。例如,基于BRISQUE算法的神经网络模型的方式、基于MSCN算法的神经网络模型的方式等等。通常,在对这些基于深度学习的神经网络模型进行训练后,将其投入到实际的应用中。在应用过程中,每次针对一张图像进行处理,输出图像评估结果。
然而,现有的这种方式,在应对大规模的图像评估时就会受限于模型的计算能力,造成图像评估效率低下。若该种方式应用于与用户交互的场景,例如,向用户推荐图像的场景,则会造成图像推荐的延迟,影响用户的使用体验。
发明内容
有鉴于此,本发明实施例提供一种图像评估方案,以至少部分解决上述问题。
根据本发明实施例的第一方面,提供了一种图像评估方法,包括:通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
根据本发明实施例的第二方面,提供了一种图像评估装置,包括:接收模块,用于通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;加载模块,用于使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;评估模块,用于通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的图像评估方法对应的操作。
根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的图像评估方法。
根据本发明实施例提供的图像评估方案,基于分布式业务平台对多个待评估图像进行并行处理,包括通过分配的多个进程并行加载多个算法模型,通过加载的多个算法模型并行进行图像评估处理。分布式业务平台通常包括多台计算设备,相较于单终端系统拥有更为丰富的计算资源,基于此,可以在分布式业务平台中对待评估图像分配更多的资源以进行并行图像评估处理,快速、高效地获得图像评估结果。若分布式业务平台中的每台计算设备也具有相较于普通终端更多的计算资源,可为待评估图像提供更多进程以进行处理,则可以进一步提升图像评估的速度和效率。尤其是将其应用于与用户交互的场景中时,用户将得到快速响应,及时满足用户的图像评估需求,提升用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1a为根据本发明实施例一的一种图像评估方法的步骤流程图;
图1b为图1a所示图像评估方法的一种使用场景的示意图;
图2a为根据本发明实施例二的一种图像评估方法的步骤流程图;
图2b为图2a所示图像评估方法的一种使用场景的示意图;
图3a为根据本发明实施例三的一种图像评估方法的步骤流程图;
图3b为图3a所示图像评估方法使用的一种计算模型的结构示意图;
图4为根据本发明实施例四的一种图像评估装置的结构框图;
图5为根据本发明实施例五的一种图像评估装置的结构框图;
图6为根据本发明实施例六的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1a,示出了根据本发明实施例一的一种图像评估方法的步骤流程图。
本实施例的图像评估方法包括以下步骤:
步骤S102:通过分布式业务平台接收多个待评估图像,在分布式业务平台中为多个待评估图像分配多个进程。
其中,分布式业务平台可以为任意适当的、可进行本发明实施例的图像评估相关的业务处理的分布式系统,包括但不限于电商平台、具有图像搜索或推荐功能的平台、具有对包含图像的富文本进行处理的平台,等等。一般来说,一个分布式业务平台包括多台计算设备,多台计算设备间可以协同工作,合作完成任务,也可以独立工作,各自完成各自的任务。可见,分布式业务平台可以提供更为丰富的计算资源和强大的计算能力。
需要说明的是,本发明实施例中,若无特殊说明,“多个”、“多种”等与“多”有关的数量均意指两个及两个以上。
分布式业务平台在接收到多个待评估图像后,可以将该多个待评估图像分配至多台计算设备,通过多台计算设备中的多个进程对该多个待评估图像进行处理,包括如后续步骤中加载算法模型和使用算法模型进行图像评估等。其中,每台计算设备启用的进程数量与接收到的待评估图像的数量以及使用的计算模型的数量有关。
若每台计算设备均仅收到一个待评估图像且确定仅使用一个计算模型(如图像质量评估模型)进行处理,则可以每台计算设备启用一个进程,多台计算设备则启用多个进程,协同工作对多个待评估图像进行处理。若每台计算设备均仅收到一个待评估图像且确定使用多个计算模型(如用于进行图像质量评估的第一模型和用于进行图像美学评估的第二模型)进行处理,则可以每台计算设备启用两个进程,对多个待评估图像进行处理。
若多台计算设备中的部分或全部计算设备均收到不止一个待评估图像,则每台计算设备可以根据接收到的待评估图像的数量和待使用的计算模型的数量启用相应的多个进程。
但不限于此,在对一个待评估图像同时使用两个及以上计算模型进行处理时,也可以使用不同计算设备对该图像进行处理。例如,在计算设备A上使用进程W加载所述第一模型对待评估图像X进行图像质量评估,在计算设备B上使用进程P加载所述第二模型对待评估图像X进行图像美学评估。当然,与此同时,计算设备A和B上仍然可以各自运行相应的进程对其它待评估图像进行图像评估处理。
但不限于上述方式,分布式业务平台也可以将接收的多个待评估图像分配给一台计算设备,该台计算设备可以基于自身的计算资源如CPU内核的数量为待评估图像分配多个进程。若CPU内核的数量能够满足对多个待评估图像同时进行处理,则可一次性分配足够数量的进程;若CPU内核的数量不能够满足对多个待评估图像同时进行处理,则可提供可使用的多个进程对部分待评估图像先行处理,待处理完成后,再分配多个进程对剩余的待评估图像进行处理,依此类推,直至所有的待评估图像全部被处理完。
步骤S104:使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型。
如前所述,可以通过一台或多台计算设备启用多个进程,每个进程加载一个算法模型,其中,当算法模型包括多个时,每个进程加载的计算模型可能不同,当然也可能相同。在所述算法模型包括所述第一模型和所述第二模型的情况下,一般来说,一台计算设备可以启用至少一对(两个)进程,分别加载所述第一模型和所述第二模型,以并行对同一待评估图像进行处理。当然,如果该台计算设备同时接收有多个待评估图像,则可以同时分配多对进程分别对多个待评估图像进行并行处理。
当用于进行图像评估的算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型时,使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型可以包括:使用所述多个进程中的第一部分进程并行加载所述第一模型,使用所述多个进程中的第二部分进程并行加载所述第二模型,所述第一部分进程和所述第二部分进程为不同的进程。第一部分进程的数量和第二部分进程的数量可以相等也可以不等,第一部分进程和第二部分进程可以是所述多个进程的全部,也可以是所述多个进程中的部分进程。
步骤S106:通过多个所述算法模型对多个待评估图像并行进行图像评估,输出与多个待评估图像对应的多个图像评估结果。
本发明实施例中,所述图像评估包括但不限于:图像质量评估和/或图像美学评估。
其中,所述图像质量评估包括但不限于对图像的逼真度和图像的可读懂性进行评估。图像的逼真度用于指示被评估图像与标准图像的偏离程度,偏差越小,逼真度越高。图像的可读懂性用于指示由图像能向人或机器提供信息的能力。一般来说,图像质量评估可以根据图像的模糊度、噪声和曝光度等多种指标进行评估。
所述图像美学评估用于指示用户通过观察图像给出的对于图像的感觉,如好看或难看等。图像美学评估可以根据图像的构图、颜值和色彩等多种指标进行评估。
其中,用于进行图像评估的算法模型可以包括用于进行图像质量评估的第一模型和/或用于进行图像美学评估的第二模型,这些算法模型可以是已经训练完成的模型,也可以是第三方提供的模型。
以下,以图片搜索的使用场景为示例,对图1a所示的图像评估方法进行说明,通过该使用场景进行图像评估的过程如图1b所示。
例如,用户通过客户端A的浏览器搜索输入框输入“故宫图像”(搜索关键字)进行与故宫有关的图像搜索;浏览器在获取到该搜索关键字后生成相应的搜索信息;该搜索信息被发送至图像搜索引擎X;图像搜索引擎X根据该搜索关键字从海量图像中筛选出匹配的多个图像作为待评估图像(为便于描述,假设仅有10个待评估图像)并将其发送至分布式业务平台(例如,分布式业务平台中的某台接口设备);假设分布式业务平台包括100台计算设备,则分布式业务平台在接收到10个待评估图像后,设定根据各台计算设备的工作状态和负载情况,将10个待评估图像分配至3台计算设备,分别为计算设备1、计算设备2和计算设备3。再假设计算设备1被分配了5张图像,计算设备2被分配了3张图像,计算设备3被分配了2张图像,且需要对10个待评估图像同时进行图像质量评估和图像美学评估。则,在计算设备1中则启用5对(10个)进程,这5对进程并发执行,每对进程对应一个待评估图像,每对进程中的一个进程加载并使用用于进行图像质量评估的第一模型为待评估图像进行图像质量评估,另一个加载并使用用于进行图像美学评估的第二模型为待评估图像进行图像美学评估。与此类似,在计算设备2中启用3对并发执行的进程分别对3张待评估图像进行图像评估,在计算设备3中启用2对并发执行的进程分别对2张待评估图像进行图像评估。在获得图像评估结果(如图像评分)后,分布式业务平台可以将图像评估结果反馈给图像搜索引擎X,由图像搜索引擎X根据图像评估结果向客户端A反馈推荐图像并向用户展示。用户由此可以查看到不管质量还是美学都处于较高水平的图像。
因上述图像评估通过多台计算设备中的多个进程并行进行处理,处理速度和效率都远高于传统的单设备。
需要说明的是,本发明实施例中的分布式业务平台可以设置于云服务端,其提供的图像评估功能作为云服务端提供的云服务中的一种。基于此,云服务端向外提供有图像传输接口,该图像传输接口用于接收待评估的图像以及发送图像评估结果。例如,与客户端或图像搜索引擎或其它装置或设备或功能模板进行图像传输,接收待评估的图像,并返回图像评估结果。
在此情况下,在一种可行方式中,若用户通过云服务端进行图像评估,则可以在所述通过分布式业务平台接收多个待评估图像之前,经由所述图像传输接口接收客户端或图像搜索引擎发送的所述多个待评估图像并发送至所述分布式业务平台;相应地,在所述输出与所述多个待评估图像对应的多个图像评估结果之后,还可以将所述多个图像评估结果经由所述图像传输接口发送给请求进行图像评估的客户端或图像搜索引擎。
由此,用户通过统一的接口即可使用云服务端提供的服务,且无需了解云服务端的实现细节,使用简单,且能够提升了用户体验。
在另一种可行方式中,单图像评估方式和多图像并行评估方式可同时设置,在待评估的图像数量较少时,比如仅有一张或个位数量级的图像评估时,或者对图像评估结果的反馈速度要求较低时,可使用单图像评估方式;而在待评估的图像数量较多或对图像评估结果的反馈速度要求较高时,使用本发明实施例提供的并行评估方式。
基于此,在所述通过分布式业务平台接收多个待评估图像之前,可以先对接收的图像评估请求进行解析;若根据解析结果确定对所述多个待评估图像进行并行评估,则将所述多个待评估图像发送至所述分布式业务平台。
进一步可选地,若根据所述解析结果确定对所述多个待评估图像进行逐个图像串行评估,则可以对所述多个待评估图像逐个进行单图像评估,并逐个输出图像评估结果。
由此,可以根据实际情况灵活地选择相应的图像评估方式,提升了图像评估的灵活性。
综上,通过本实施例,基于分布式业务平台对多个待评估图像进行并行处理,包括通过分配的多个进程并行加载多个算法模型,通过加载的多个算法模型并行进行图像评估处理。分布式业务平台通常包括多台计算设备,相较于单终端系统拥有更为丰富的计算资源,基于此,可以在分布式业务平台中对待评估图像分配更多的资源以进行并行图像评估处理,快速、高效地获得图像评估结果。若分布式业务平台中的每台计算设备也具有相较于普通终端更多的计算资源,可为待评估图像提供更多进程以进行处理,则可以进一步提升图像评估的速度和效率。尤其是将其应用于与用户交互的场景中时,用户将得到快速响应,及时满足用户的图像评估需求,提升用户的使用体验。
实施例二
参照图2a,示出了根据本发明实施例二的一种图像评估方法的步骤流程图。
本实施例对前述实施例一中的分布式业务平台在接收到多个待评估图像后的处理部分进行了进一步的优化。基于此,本实施例的图像评估方法包括以下步骤:
步骤S202:通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在分布式业务平台中为多个待评估图像分配多个进程。
本实施例中,在分布式业务平台中设置了用于进行待评估图像和算法模型对接的图像处理函数。该图像处理函数一方面接收多个待评估图像,一方面可以根据多个待评估图像的信息如数量或业务请求类型的信息等,为待评估图像分配对应的多个进程。如实施例一中所述,多个进程的数量可以和待评估图像的数量相等(一个算法模型)或者为待评估图像数量的两倍(两个算法模型),或者大于待评估图像的数量(一个算法模型)或者大于待评估图像数量的两倍(两个算法模型),当然,也可以小于待评估图像的数量(一个算法模型)或者小于待评估图像数量的两倍(两个算法模型),能够对待评估图像进行图像评估的并行处理即可。
在一种可行方式中,假设图像处理函数所在计算设备自身即具有足够的计算资源,则可以在本地为多个待评估图像分配足够的进程数量,以加载计算模型对多个待评估图像进行图像评估处理。
在另一种可行方式中,图像处理函数可以将多个待评估图像发送至分布式业务平台中的某一台计算资源足够充足的计算设备中,由该计算设备分配足够的进程数量,以加载计算模型对多个待评估图像进行图像评估处理。
在再一种可行方式中,在通过分布式业务平台中的图像处理函数的接口接收多个待评估图像后,可以按照预设分配规则,通过图像处理函数将多个待评估图像分配至分布式业务平台中的多台计算设备中,以使各台所述计算设备为自身分配到的待评估图像分配多个进程。其中,所述预设分配规则可以采用根据各台计算设备的工作状态和计算资源的空闲情况进行适当设定,以实现分布式业务平台中各台计算设备的负载均衡。具体的分配规则可由本领域技术人员根据实际需求适当设置,本发明实施例对此不作限制。一种实现方式可如实施例一的图1b所示场景中的方式,在此不再赘述。
通过设置图像处理函数的方式,将其集成于分布式业务平台中,在需要时直接使用图像处理函数即可为待评估图像分配计算资源,使用方便,且可将待评估图像灵活地分配至合适的计算设备进行处理,提高了图像评估的效率。
此外,在某些情况下,用户的业务请求中可能还包含有更为具体的信息。比如,用户通过电商平台购买杯子,虽然通过对商家提供的杯子图像的图像评估可以提供整体高水平的图像,但一方面有针对性地对图像中的杯子进行图像评估,获得更有针对性的结果,既可以满足用户需求又可以减轻计算模型的图像评估负担;另一方面,有可能图像整体水平较高,但图像中的杯子却拍摄的不够好。
为此,在一种可行方式中,步骤S202可以实现为:通过分布式业务平台接收业务请求,从所述业务请求中获取多个待评估图像;根据所述业务请求确定用于对多个待评估图像进行业务处理的多个算法模型,其中,所述多个算法模型中包括业务预处理模型和用于进行图像评估的算法模型;为所述业务预处理模型分配至少一个第一进程,以及,为用于进行图像评估的算法模型分配多个第二进程。
仍以上述进行杯子搜索为例,此种情况下,分布式业务平台可以接收搜索引擎发送过来的包含有多个待评估图像的业务请求,并从中获取多个待评估图像。进而,根据业务请求确定可以先对待评估图像进行杯子检测,再进行图像评估。基于此,分布式业务平台会先为待评估图像分配用于进行目标对象检测的一个或多个进程,通过该一个或多个进程进行杯子检测。例如,通过5个进程加载目标对象检测算法(如object_detecter()方法)模型对10张待评估图像进行杯子检测,获得对应的检测结果。进而,再为进行了杯子检测后的10张待评估图像分配假设10对进程,通过10对进程加载用于进行图像评估的算法模型,仍假设每对进程中的一个进程加载用于进行图像质量评估的第一模型,另一个进程加载用于进行图像美学评估的第二模型。将10张待评估图像及各张待评估图像对应的杯子检测结果一同发送给相应的计算模型,通过10对进程同时对10张待评估图像进行图像评估,并最终获得图像评估结果。
由上可见,分布式业务平台中集成有实现不同功能的多种算法模型,在一种可行方式中,多种算法模型可以根据需要组合使用,串联执行,如上述在使用至少一个第一进程对多个待评估图像进行业务预处理后,使用多个进程并行加载多个用于进行图像评估的算法模型,进而通过该多个用于进行图像评估的算法模型对多个待评估图像进行图像评估处理。例如,上述至少一个第一进程加载目标对象检测算法模型的和多个第二进程加载的图像评估算法模型,两者之间串联执行。
但不限于此,在另一种可行方式中,多种不同的算法模型还可以并行被调用执行。例如,在通过多个第二进程加载并使用用于进行图像评估的算法模型对多个待评估图像进行图像评估的同时,还可以通过至少一个第一进程加载并使用水印去除算法模型对该多个待评估图像进行水印去除处理。进而,将图像评估结果和去除水印后的图像发送回请求方如搜索引擎或业务请求方等。通过多种不同算法模型的灵活组合和并行执行,进一步提升了图像处理速度和效率,大大缩短的业务请求的响应时间和用户的等待时间。
步骤S204:使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型。
本实施例中,用于进行图像评估的算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型。但不限于此,在实际应用中,本领域技术人员也可以根据实际需求,仅选择其中一种使用。此种情况下,只需为相应的第一模型或第二模型分配进程,与成对分配进程不同的是,分配的多个进程均用于加载并使用第一模型或第二模型对待评估图像进行图像评估处理。通过第一模型进行图像质量评估,通过第二模型进行图像美学评估,综合两者的结果作为图像的最终评估结果,实现了从多个维度评估图像,图像评估结合更为全面、合理和准确。
本步骤的其它实现部分可参考前述实施例一中相应部分的描述及步骤S202中的描述,在此不再赘述。
步骤S206:通过多个所述算法模型对多个待评估图像并行进行图像评估,输出与多个待评估图像对应的多个图像评估结果。
本步骤的实现可参考前述实施例一中相应部分的描述,在此不再赘述。
以下,以基于Hadoop框架的分布式业务平台,对视频流中的视频帧进行图像评估为例,对本实施例的上述过程进行示例性说明。
Hadoop提供了一个分布式文件系统HDFS(Hadoop Distributed File System),HDFS具有高容错性,可部署在低廉的(low-cost)硬件上;而且能够提供高吞吐量(highthroughput)来访问业务数据,尤其适合具有超大数据集(large data set)的业务应用。视频流由连续的视频帧组成,视频帧之间的间隔以毫秒计算,通过本发明实施例的图像评估方案,并行对视频流中的视频帧进行图像评估处理,实现对视频流的实时图像评估。为适应HDFS,视频流中的视频帧首先会被处理成文本格式,例如,通过【224*224*3】数组转换为Base64格式,以实现大数据量的图像评估处理。
基于此,本示例中的图像评估过程如图2b所示。首先,HDFS中的接口设备在接收到视频流后,通过解码器对其进行解码,获得多个视频帧。然后,转换器将多个视频帧转换为Base64格式,形成Base64格式的多个视频帧。接着,接口设备将Base64格式的多个视频帧发送至HDFS中的多台计算设备上,本示例中以10台计算设备为例,每台计算设备接收5帧视频帧,启用5对进程加载算法模型对接收的5帧视频帧进行图像评估处理。与前述类似,每对进程中的一个进程用于加载并使用第一模型对一个视频帧进行图像质量评估,另一个进程用于加载并使用第二模型对该视频帧进行图像美学评估。5对进程并发执行,输出图像评估结果。10台计算设备中的任意一台完成图像评估处理后可继续使用。若在10台计算设备进行图像评估过程中,又有新的视频帧到达,则可以从HDFS中除上述10台计算设备之外的其它计算设备中再为新的视频帧分配新的计算设备。
针对视频流来说,可以将其所有视频帧的图像质量评分的均值作为视频流的图像质量评分,将其所有视频帧的图像美学评分的均值作为视频流的图像美学评分。
由此,极大地提高了视频流的图像评估的执行效率。
可见,通过本实施例,基于分布式业务平台对多个待评估图像进行并行处理,包括通过分配的多个进程并行加载多个算法模型,通过加载的多个算法模型并行进行图像评估处理。分布式业务平台通常包括多台计算设备,相较于单终端系统拥有更为丰富的计算资源,基于此,可以在分布式业务平台中对待评估图像分配更多的资源以进行并行图像评估处理,快速、高效地获得图像评估结果。若分布式业务平台中的每台计算设备也具有相较于普通终端更多的计算资源,可为待评估图像提供更多进程以进行处理,则可以进一步提升图像评估的速度和效率。尤其是将其应用于与用户交互的场景中时,用户将得到快速响应,及时满足用户的图像评估需求,提升用户的使用体验。
实施例三
参照图3a,示出了根据本发明实施例三的一种图像评估方法的步骤流程图。
本实施例中,着重对前述实施例一和二中使用的算法模型及其训练过程进行说明。
基于此,本实施例的图像评估方法包括以下步骤:
步骤S302:使用图像训练样本集对用于进行图像评估的算法模型进行训练。
本实施例中,所述算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型。这两个模型的模型结构、使用的图像训练样本集及训练过程均相同,所不同的是,图像训练样本集中对图像样本的标注信息不同,第一模型使用的图像样本的标注信息用于标注图像质量评分,而第二模型使用的图像样本的标注信息用于标注图像美学评分。
在此情况下,本步骤实现为使用图像训练样本集分别对所述第一模型和所述第二模型进行训练。
以下,首先对图像训练样本集的生成过程进行说明。在一种可行方式中,图像训练样本集包括原始图像样本和镜像图像样本,其中,镜像图像样本通过以下方式生成:针对每个原始图像样本,将该原始图像样本的长度边的边长或宽度边的边长调整为预设边长;按照该原始图像样本的原始长宽比例,自适应调整未进行所述预设边长的调整的边的边长,以使自适应调整后的图像样本保持原始长宽比例;对自适应调整后的图像样本按照预设尺寸进行随机裁剪;对进行了随机裁剪后的图像样本进行镜像处理,获得与原始图像样本对应的镜像图像样本。其中,所述预设边长可以由本领域技术人员根据使用的算法模型的要求适当调整即可。
例如,针对每个原始图像样本,(1)先将其调整为短边为256,长边为自适应,以等比例的调整图像尺寸,避免图像被缩放,导致失真;(2)将短边为256的图像,随机剪裁224x224的图像,256->224裁剪幅度较小,保证有效图像信息尽可能的不会被损失;(3)将224x224的图像,随机翻转,如随机左右翻转,即镜像,丰富图像训练样本集的样式。通过对每个原始图像样本进行上述操作,可形成后续用于进行训练的图像训练样本集。
通过上述过程,既能保证图像样本符合算法模型的标准输入,又能保证图像样本不会失真。与传统的以非等比例调整尺寸(resize)、颜色抖动、或者随机亮度为主调整图像样本的方式相比,本实施例提供的上述方式可以有效减少观测误差。
进一步地,针对上述图像训练样本集中的图像样本进行标注。因本实施例的算法模型的输入是图像样本,输出是图像评分。基于此,本实施例中图像样本的标注是图像样本质量评分的归一化概率分布或者是美学评分的归一化概率分布。即,一张图像样本,多人评分,将评分的平均期望作为图像样本的最终评分。
以标注为10维数组,即1~10分的评分为例,假设归一化概率分布为:[0.01,0.04,0.10,0.18,0.27,0.26,0.08,0.04,0.01,0.01](10维,总和为1),其表示的含义是:1~10分的概率,如1分的概率是0.01,2分的概率是0.04,3分的概率是0.10,以此类推。
仍以概率分布为[0.01,0.04,0.10,0.18,0.27,0.26,0.08,0.04,0.01,0.01]为例,则根据平均期望公式:
Figure BDA0002317718680000151
可得到期望x为:x=0.01*1+0.04*2+0.10*3+0.18*4+0.27*5+0.26*6+0.08*7+0.04*8+0.01*9+0.01*10=4.91
上述公式中,E[X]表示期望,p表示概率,x表示预设分值,i表示预设分值的数量。
据此,可以将4.91作为图像样本的标注。基于该标注,训练完成的算法模型的输出也将是1~10分的概率分布,基于此,可以进一步计算概率分布的期望和方差。其中,期望可以用于计算图像的质量评分或美学评分,方差可以用于判断评分的一致性。
基于上述图像样本及其标注,即可进行第一模型和第二模型的训练。本实施例中,第一模型和第二模型采用相同的模型结构。在一种可行方式中,第一模型和第二模型均使用改进后的MobileNet作为基础网络,预训练参数采用ImageNet数据集的预训练参数。
为便于说明,以下先对现有的MobileNet的结构进行说明。如图3b中左侧界面所示,其示出了现有MobileNet主体部分的结构,包括多层卷积层(Conv),图中示意为18层,在卷积层之后为均值池化层(Avg Pool),在均值池化层之后为全连接层(FC),再之后是输出层(Softmax)。其中,Conv dw表示depth-wise卷积,不加dw表示point-wise卷积。
本实施例中,对上述MobileNet的结构进行了进一步改进,包括:(1)将现有MobileNet的顶部全连接层(FC)去除,即No-Top,保留最后的卷积层;(2)在均值池化层(AvgPool),使用均值(Average)池化,输出1024维向量;(3)在均值池化层之后再连接一个Dropout层(丢弃层),然后再在Dropout层之后连接一个全连接层(FC),激活函数使用Softmax,输出预设维度的概率分布,以评分为1~10为例,则输出10维概率分布,即评分1~10分的分布。
此外,因现有MobileNet中的损失函数Softmax无法计算数据分布的损失,因此,本实施例改进后的MobileNet中对损失函数也进行了改进,使用EMD(Earth Mover'sDistance,推土机距离)函数,度量两个概率分布之间的距离作为损失。该EMD的公式如下:
Figure BDA0002317718680000161
其中,CDF表示累积分布函数,即Cumulative Distribution Function,y表示真实值,h表示预测值,n表示图像数量。使用EMD度量两个概率分布之间的距离,可以充分利用标注的内部联系,提升训练效果。
例如,真实值的概率是[0.1,0.3,0.6],预测值的概率是[0.2,0.4,0.4],则累积分布函数对应为[0.1,0.4,1.0]和[0.2,0.6,1.0],则EMD的值是:
0.016=((0.2-0.1)^2+(0.6-0.4)^2+(1.0-1.0)^2)/3
上述改进如图3b右侧界面中的虚线框部分所示。由图3b中可见,改进后的MobileNet的主体结构包括多层卷积层(Conv),在卷积层之后为均值池化层(Avg Pool),在均值池化层之后为丢弃层(Dropout),在丢弃层之后是全连接层(FC),再之后是输出层(Softmax)。除此之外,与常规基于深度学习的算法模型类似,本实施例中的MobileNet也包括输入层(图中未示出)。
改进后的MobileNet中,输入层用于接收输入的待评估图像的图像向量;卷积层用于对所述图像向量进行特征提取,输出对应的特征向量;均值池化层,用于对所述特征向量进行均值池化处理,获得池化向量;丢弃层用于对所述池化向量进行正则处理;全连接层用于对所述正则处理过的向量进行全连接处理,获得待评估图像的图像评估特征,其中,当所述算法模型为第一模型时,图像评估特征为图像质量特征;当算法模型为第二模型时,图像评估特征为图像美学特征;输出层用于根据图像评估特征,输出对应的图像评估信息。需要说明的是,在训练阶段,输出层会根据所述图像评估特征通过预设的损失函数来计算出损失值,进而,MobileNet会根据该损失值进行MobileNet的参数调整。而在应用阶段,输出层则可以直接输出图像评估信息。
此外,在对算法模型的实际训练过程中,还可以使用两阶段训练方法,即:冻结MobileNet未进行改进部分(如图3b右侧界面中虚线框之上的部分)的参数,使用较大的学习率,如1e-3;只训练改进部分(如图3b右侧界面中虚线框所示的部分)的参数;执行若干轮次(epoch)之后(由本领域技术人员根据实际需求适当设定,如50次、100次等等),再解除对未改进部分的参数训练冻结,使用较小的学习率,如1e-4,进行全部MobileNet网络的训练。这是因为未改进部分使用预训练模型的参数,已经有序,而改进部分使用随机参数,需要提前训练。在改进部分的参数有序之后,再训练全部网络模型的参数。由此,避免了不同分布的参数相互干扰,提升了训练效果。
以针对一张图像样本A对第一模型进行训练为例,首先将图像样本A对应的图像向量及其标注通过输入层输入到MobileNet中;再通过多个卷积层对图像向量进行特征提取,获得特征向量;通过均值池化层对特征向量进行均值池化后获得池化向量;该池化向量被输入丢弃层dropout处理;之后,通过全连接层对丢弃层处理后的向量进行全连接映射,获得图像质量评估特征;进而,输出层根据该图像质量评估特征,通过EMD计算损失值,该损失值用于MobileNet的参数调整。上述训练过程迭代进行,直至达到训练终止条件,如训练次数达到预设次数,或者,损失值满足预设阈值,等等。
第二模型的训练与第一模型的训练类似,所不同的是图像样本的标注不同,进而导致输入第二模型的数据及最终输出的结果与第一模型不同,实现对图像美学的评估。
以1~10分的评分为例,经过上述改进后的MobileNet的输入是224x224x3的彩色图像,输出是10维分布,取值0~1,即1~10分中各个分值的概率分布。基于此,可以进一步计算输出的概率分布的期望作为图像的最终评分。可选地,还可以基于所述概率分布进行方差计算。
以输出的10维概率分布为:[0.01,0.04,0.10,0.18,0.27,0.26,0.08,0.04,0.01,0.01]为例,根据前述平均期望公式可得期望为4.91。
进一步地,可以基于下述公式计算方差:
Figure BDA0002317718680000181
其中,Var[X]表示方差,n表示前述概率分布的维度,xi表示第i个概率分布,
Figure BDA0002317718680000182
表示多个概率分布的均值。
基于上述公式可得到上述概率分布的方差为0.00928。
在实际应用中,进行图像推荐或图像评分时,可以计算图像对应的评分均值(即期望),还可以计算对应的方差。先按评分均值,由大到小进行排序,当评分均值相同时,选择方差较小的排在前列,作为图像评估的排序。
基于上述训练完成的第一模型和第二模型,可进行如前述实施例一或二中的图像评估处理。包括:
步骤S304:将第一模型和第二模型部署在分布式业务平台中。
本步骤的具体实现可由本领域技术人员根据实际需求采用任意适当的方式实现,本发明实施例对此不作限制。
步骤S306:通过分布式业务平台接收多个待评估图像,在分布式业务平台中为多个待评估图像分配多个进程。
步骤S308:使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型。
其中,所述算法模型包括前述第一模型和第二模型。
步骤S310:通过多个所述算法模型对多个待评估图像并行进行图像评估,输出与多个待评估图像对应的多个图像评估结果。
上述步骤S306-S310的实现可参照前述实施例一或二中相应部分的描述,在此不再赘述。
训练完成的算法模型可适用于多种场景,例如:
网页推荐场景:可以提取已召回的网页配图,将网页配图转换为Base64的文本格式,分别输入至第一模型和第二模型,输出用于图像质量评估的概率分布和用于图像美学评估的概率分布,分别计算期望和方差,将期望作为配图评分,将方差作为评分的一致性。计算网页中所有配图评分的均值,所有方差的均值,按评分均值,由大到小进行排序,当均值相同时,选择方差较小的排在前列,作为配图质量的排序。结合网络内容和配图评分,重新排序已召回的网页,将配图较好和内容较好的网页提供给用户,增加用户的点击率,提升用户体验。
图像搜索场景:当用户搜索图像时,将已召回的图像输入第一模型和第二模型,计算图像质量的评分和图像美学的评分,与网页推荐场景类似,将评分较高的图像推荐给用户,更好地满足用户的图像搜索需求。
拍照评价场景:当用户拍摄图像时,使用第二模型进行图像美学评估,获得所拍摄图像的评分,为用户所拍摄的图像提供技术参考,增加拍摄的趣味性。
传输检测场景:在网络传输中,由于网络环境不稳定,可能导致传输质量不可控,通过第一模型获得已传输图像的图像质量评分,判断当前网络环境的可靠性,是否支持视频播放,提示用户更换更稳定的网络环境。
以上场景仅为示例性说明,本发明实施例提供的图像评估方案可广泛应用于各种与图像评估相关的场景。
通过本实施例,基于分布式业务平台对多个待评估图像进行并行处理,包括通过分配的多个进程并行加载多个算法模型,通过加载的多个算法模型并行进行图像评估处理。分布式业务平台通常包括多台计算设备,相较于单终端系统拥有更为丰富的计算资源,基于此,可以在分布式业务平台中对待评估图像分配更多的资源以进行并行图像评估处理,快速、高效地获得图像评估结果。若分布式业务平台中的每台计算设备也具有相较于普通终端更多的计算资源,可为待评估图像提供更多进程以进行处理,则可以进一步提升图像评估的速度和效率。尤其是将其应用于与用户交互的场景中时,用户将得到快速响应,及时满足用户的图像评估需求,提升用户的使用体验。
实施例四
参照图4,示出了根据本发明实施例四的一种图像评估装置的结构框图。
在本实施例中,图像评估装置包括:接收模块402,用于通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;加载模块404,用于使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;评估模块406,用于通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
本实施例的图像评估装置用于实现前述多个方法实施例中相应的图像评估方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的图像评估装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例五
参照图5,示出了根据本发明实施例五的一种图像评估装置的结构框图。
在本实施例中,图像评估装置包括:接收模块502,用于通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;加载模块504,用于使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;评估模块506,用于通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
可选地,所述用于进行图像评估的算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型;所述加载模块504用于使用所述多个进程中的第一部分进程并行加载所述第一模型,使用所述多个进程中的第二部分进程并行加载所述第二模型,所述第一部分进程和所述第二部分进程为不同的进程。
可选地,所述接收模块502用于通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在所述分布式业务平台中为所述多个待评估图像分配多个进程。
可选地,所述接收模块502用于通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并按照预设分配规则,通过所述图像处理函数将所述多个待评估图像分配至所述分布式业务平台中的多台计算设备中,以使各台所述计算设备为自身分配到的待评估图像分配多个进程。
可选地,所述接收模块502包括:图像获取模块5021,用于通过分布式业务平台接收业务请求,从所述业务请求中获取所述多个待评估图像;算法确定模块5022,用于根据所述业务请求确定用于对所述多个待评估图像进行业务处理的多个算法模型,其中,所述多个算法模型中包括业务预处理模型和所述用于进行图像评估的算法模型;进程分配模块5023,用于为所述业务预处理模型分配至少一个第一进程,以及,为所述用于进行图像评估的算法模型分配多个第二进程。
可选地,所述加载模块504用于在使用所述至少一个第一进程对所述多个待评估图像进行业务预处理后,使用所述多个进程并行加载多个用于进行图像评估的算法模型。
可选地,所述第一模型和所述第二模型均包括:依次连接的输入层、卷积层、均值池化层、丢弃层、全连接层和输出层;其中:所述输入层,用于接收输入的待评估图像的图像向量;所述卷积层,用于对所述图像向量进行特征提取,输出对应的特征向量;所述均值池化层,用于对所述特征向量进行均值池化处理,获得池化向量;所述丢弃层,用于对所述池化向量进行正则处理;所述全连接层,用于对所述正则处理过的向量进行全连接处理,获得所述待评估图像的图像评估特征,其中,当所述算法模型为所述第一模型时,所述图像评估特征为图像质量特征;当所述算法模型为所述第二模型时,所述图像评估特征为图像美学特征;所述输出层,用于根据所述图像评估特征,输出对应的图像评估信息。
可选地,所述装置还包括:训练模块508,用于在所述接收模块502通过分布式业务平台接收多个待评估图像之前,使用图像训练样本集分别对所述第一模型和所述第二模型进行训练。
可选地,所述图像训练样本集包括原始图像样本和镜像图像样本;本实施例的图像评估装置还包括:样本生成模块510,用于通过以下方式生成所述镜像图像样本:针对每个所述原始图像样本,将所述原始图像样本的长度边的边长或宽度边的边长调整为预设边长;按照所述原始图像样本的原始长宽比例,自适应调整未进行所述预设边长的调整的边的边长,以使自适应调整后的图像样本保持所述原始长宽比例;对自适应调整后的图像样本按照预设尺寸进行随机裁剪;对进行了所述随机裁剪后的图像样本进行镜像处理,获得与所述原始图像样本对应的镜像图像样本。
可选地,所述分布式业务平台设置于云服务端,所述云服务端提供有图像传输接口,所述图像传输接口用于接收待评估的图像以及发送图像评估结果。
可选地,本实施例的图像评估装置还包括:接口模块512,用于在所述接收模块502通过分布式业务平台接收多个待评估图像之前,经由所述图像传输接口接收客户端或图像搜索引擎发送的所述多个待评估图像并发送至所述分布式业务平台;以及,发送模块514,用于在所述评估模块506输出与所述多个待评估图像对应的多个图像评估结果之后,将所述多个图像评估结果经由所述图像传输接口发送给请求进行图像评估的客户端或图像搜索引擎。
可选地,本实施例的图像评估装置还包括:解析模块516,用于在所述接收模块502通过分布式业务平台接收多个待评估图像之前,对接收的图像评估请求进行解析;若根据解析结果确定对所述多个待评估图像进行并行评估,则将所述多个待评估图像发送至所述分布式业务平台。
可选地,所述解析模块516,还用于若根据所述解析结果确定对所述多个待评估图像进行逐个图像串行评估,则对所述多个待评估图像逐个进行单图像评估,并逐个输出图像评估结果。
本实施例的图像评估装置用于实现前述多个方法实施例中相应的图像评估方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的图像评估装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例六
参照图6,示出了根据本发明实施例六的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
其中:
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
通信接口604,用于与其它电子设备或服务器进行通信。
处理器602,用于执行程序610,具体可以执行上述寄存器分配方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器62可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序610具体可以用于使得处理器602执行以下操作:通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
在一种可选的实施方式中,所述用于进行图像评估的算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型;程序610还用于使得处理器602在使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型时,使用所述多个进程中的第一部分进程并行加载所述第一模型,使用所述多个进程中的第二部分进程并行加载所述第二模型,所述第一部分进程和所述第二部分进程为不同的进程。
在一种可选的实施方式中,程序610还用于使得处理器602在通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程时,通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在所述分布式业务平台中为所述多个待评估图像分配多个进程。
在一种可选的实施方式中,程序610还用于使得处理器602在通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在所述分布式业务平台中为所述多个待评估图像分配多个进程时,通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并按照预设分配规则,通过所述图像处理函数将所述多个待评估图像分配至所述分布式业务平台中的多台计算设备中,以使各台所述计算设备为自身分配到的待评估图像分配多个进程。
在一种可选的实施方式中,程序610还用于使得处理器602在通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程时,通过分布式业务平台接收业务请求,从所述业务请求中获取所述多个待评估图像;根据所述业务请求确定用于对所述多个待评估图像进行业务处理的多个算法模型,其中,所述多个算法模型中包括业务预处理模型和所述用于进行图像评估的算法模型;为所述业务预处理模型分配至少一个第一进程,以及,为所述用于进行图像评估的算法模型分配多个第二进程。
在一种可选的实施方式中,程序610还用于使得处理器602在所述使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型时,在使用所述至少一个第一进程对所述多个待评估图像进行业务预处理后,使用所述多个进程并行加载多个用于进行图像评估的算法模型。
在一种可选的实施方式中,所述第一模型和所述第二模型均包括:依次连接的输入层、卷积层、均值池化层、丢弃层、全连接层和输出层;其中:所述输入层,用于接收输入的待评估图像的图像向量;所述卷积层,用于对所述图像向量进行特征提取,输出对应的特征向量;所述均值池化层,用于对所述特征向量进行均值池化处理,获得池化向量;所述丢弃层,用于对所述池化向量进行正则处理;所述全连接层,用于对所述正则处理过的向量进行全连接处理,获得所述待评估图像的图像评估特征,其中,当所述算法模型为所述第一模型时,所述图像评估特征为图像质量特征;当所述算法模型为所述第二模型时,所述图像评估特征为图像美学特征;所述输出层,用于根据所述图像评估特征,输出对应的图像评估信息。
在一种可选的实施方式中,程序610还用于使得处理器602在所述通过分布式业务平台接收多个待评估图像之前,使用图像训练样本集分别对所述第一模型和所述第二模型进行训练。
在一种可选的实施方式中,所述图像训练样本集包括原始图像样本和镜像图像样本,其中,所述镜像图像样本通过以下方式生成:针对每个所述原始图像样本,将所述原始图像样本的长度边的边长或宽度边的边长调整为预设边长;按照所述原始图像样本的原始长宽比例,自适应调整未进行所述预设边长的调整的边的边长,以使自适应调整后的图像样本保持所述原始长宽比例;对自适应调整后的图像样本按照预设尺寸进行随机裁剪;对进行了所述随机裁剪后的图像样本进行镜像处理,获得与所述原始图像样本对应的镜像图像样本。
在一种可选的实施方式中,所述分布式业务平台设置于云服务端,所述云服务端提供有图像传输接口,所述图像传输接口用于接收待评估的图像以及发送图像评估结果。
在一种可选的实施方式中,程序610还用于使得处理器602在所述通过分布式业务平台接收多个待评估图像之前,经由所述图像传输接口接收客户端或图像搜索引擎发送的所述多个待评估图像并发送至所述分布式业务平台;以及,程序610还用于使得处理器602在所述输出与所述多个待评估图像对应的多个图像评估结果之后,将所述多个图像评估结果经由所述图像传输接口发送给请求进行图像评估的客户端或图像搜索引擎。
在一种可选的实施方式中,程序610还用于使得处理器602在所述通过分布式业务平台接收多个待评估图像之前,对接收的图像评估请求进行解析;
若根据解析结果确定对所述多个待评估图像进行并行评估,则将所述多个待评估图像发送至所述分布式业务平台。
在一种可选的实施方式中,程序610还用于使得处理器602若根据所述解析结果确定对所述多个待评估图像进行逐个图像串行评估,则对所述多个待评估图像逐个进行单图像评估,并逐个输出图像评估结果。
程序610中各步骤的具体实现可以参见上述图像评估方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,基于分布式业务平台对多个待评估图像进行并行处理,包括通过分配的多个进程并行加载多个算法模型,通过加载的多个算法模型并行进行图像评估处理。分布式业务平台通常包括多台计算设备,相较于单终端系统拥有更为丰富的计算资源,基于此,可以在分布式业务平台中对待评估图像分配更多的资源以进行并行图像评估处理,快速、高效地获得图像评估结果。若分布式业务平台中的每台计算设备也具有相较于普通终端更多的计算资源,可为待评估图像提供更多进程以进行处理,则可以进一步提升图像评估的速度和效率。尤其是将其应用于与用户交互的场景中时,用户将得到快速响应,及时满足用户的图像评估需求,提升用户的使用体验。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的图像评估方法。此外,当通用计算机访问用于实现在此示出的图像评估方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的图像评估方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

Claims (28)

1.一种图像评估方法,包括:
通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;
使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;
通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
2.根据权利要求1所述的方法,其中,所述用于进行图像评估的算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型;
所述使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型,包括:使用所述多个进程中的第一部分进程并行加载所述第一模型,使用所述多个进程中的第二部分进程并行加载所述第二模型,所述第一部分进程和所述第二部分进程为不同的进程。
3.根据权利要求1所述的方法,其中,所述通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程,包括:
通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在所述分布式业务平台中为所述多个待评估图像分配多个进程。
4.根据权利要求3所述的方法,其中,所述通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在所述分布式业务平台中为所述多个待评估图像分配多个进程,包括:
通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并按照预设分配规则,通过所述图像处理函数将所述多个待评估图像分配至所述分布式业务平台中的多台计算设备中,以使各台所述计算设备为自身分配到的待评估图像分配多个进程。
5.根据权利要求1所述的方法,其中,所述通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程,包括:
通过分布式业务平台接收业务请求,从所述业务请求中获取所述多个待评估图像;
根据所述业务请求确定用于对所述多个待评估图像进行业务处理的多个算法模型,其中,所述多个算法模型中包括业务预处理模型和所述用于进行图像评估的算法模型;
为所述业务预处理模型分配至少一个第一进程,以及,为所述用于进行图像评估的算法模型分配多个第二进程。
6.根据权利要求5所述的方法,其中,所述使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型,包括:
在使用所述至少一个第一进程对所述多个待评估图像进行业务预处理后,使用所述多个进程并行加载多个用于进行图像评估的算法模型。
7.根据权利要求2所述的方法,其中,所述第一模型和所述第二模型均包括:依次连接的输入层、卷积层、均值池化层、丢弃层、全连接层和输出层;
其中:
所述输入层,用于接收输入的待评估图像的图像向量;
所述卷积层,用于对所述图像向量进行特征提取,输出对应的特征向量;
所述均值池化层,用于对所述特征向量进行均值池化处理,获得池化向量;
所述丢弃层,用于对所述池化向量进行正则处理;
所述全连接层,用于对所述正则处理过的向量进行全连接处理,获得所述待评估图像的图像评估特征,其中,当所述算法模型为所述第一模型时,所述图像评估特征为图像质量特征;当所述算法模型为所述第二模型时,所述图像评估特征为图像美学特征;
所述输出层,用于根据所述图像评估特征,输出对应的图像评估信息。
8.根据权利要求2所述的方法,其中,在所述通过分布式业务平台接收多个待评估图像之前,所述方法还包括:
使用图像训练样本集分别对所述第一模型和所述第二模型进行训练。
9.根据权利要求8所述的方法,其中,所述图像训练样本集包括原始图像样本和镜像图像样本,其中,所述镜像图像样本通过以下方式生成:
针对每个所述原始图像样本,将所述原始图像样本的长度边的边长或宽度边的边长调整为预设边长;
按照所述原始图像样本的原始长宽比例,自适应调整未进行所述预设边长的调整的边的边长,以使自适应调整后的图像样本保持所述原始长宽比例;
对自适应调整后的图像样本按照预设尺寸进行随机裁剪;
对进行了所述随机裁剪后的图像样本进行镜像处理,获得与所述原始图像样本对应的镜像图像样本。
10.根据权利要求1所述的方法,其中,所述分布式业务平台设置于云服务端,所述云服务端提供有图像传输接口,所述图像传输接口用于接收待评估的图像以及发送图像评估结果。
11.根据权利要求10所述的方法,其中,
在所述通过分布式业务平台接收多个待评估图像之前,所述方法还包括:经由所述图像传输接口接收客户端或图像搜索引擎发送的所述多个待评估图像并发送至所述分布式业务平台;
在所述输出与所述多个待评估图像对应的多个图像评估结果之后,所述方法还包括:将所述多个图像评估结果经由所述图像传输接口发送给请求进行图像评估的客户端或图像搜索引擎。
12.根据权利要求1所述的方法,其中,在所述通过分布式业务平台接收多个待评估图像之前,所述方法还包括:
对接收的图像评估请求进行解析;
若根据解析结果确定对所述多个待评估图像进行并行评估,则将所述多个待评估图像发送至所述分布式业务平台。
13.根据权利要求12所述的方法,其中,所述方法还包括:
若根据所述解析结果确定对所述多个待评估图像进行逐个图像串行评估,则对所述多个待评估图像逐个进行单图像评估,并逐个输出图像评估结果。
14.一种图像评估装置,包括:
接收模块,用于通过分布式业务平台接收多个待评估图像,在所述分布式业务平台中为所述多个待评估图像分配多个进程;
加载模块,用于使用所述多个进程并行加载对应的多个用于进行图像评估的算法模型;
评估模块,用于通过多个所述算法模型对所述多个待评估图像并行进行图像评估,输出与所述多个待评估图像对应的多个图像评估结果。
15.根据权利要求14所述的装置,其中,所述用于进行图像评估的算法模型包括用于进行图像质量评估的第一模型,和,用于进行图像美学评估的第二模型;
所述加载模块用于使用所述多个进程中的第一部分进程并行加载所述第一模型,使用所述多个进程中的第二部分进程并行加载所述第二模型,所述第一部分进程和所述第二部分进程为不同的进程。
16.根据权利要求14所述的装置,其中,所述接收模块用于通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并在所述分布式业务平台中为所述多个待评估图像分配多个进程。
17.根据权利要求16所述的装置,其中,所述接收模块用于通过分布式业务平台中的图像处理函数的接口接收多个待评估图像,并按照预设分配规则,通过所述图像处理函数将所述多个待评估图像分配至所述分布式业务平台中的多台计算设备中,以使各台所述计算设备为自身分配到的待评估图像分配多个进程。
18.根据权利要求14所述的装置,其中,所述接收模块包括:
图像获取模块,用于通过分布式业务平台接收业务请求,从所述业务请求中获取所述多个待评估图像;
算法确定模块,用于根据所述业务请求确定用于对所述多个待评估图像进行业务处理的多个算法模型,其中,所述多个算法模型中包括业务预处理模型和所述用于进行图像评估的算法模型;
进程分配模块,用于为所述业务预处理模型分配至少一个第一进程,以及,为所述用于进行图像评估的算法模型分配多个第二进程。
19.根据权利要求18所述的装置,其中,所述加载模块用于在使用所述至少一个第一进程对所述多个待评估图像进行业务预处理后,使用所述多个进程并行加载多个用于进行图像评估的算法模型。
20.根据权利要求15所述的装置,其中,所述第一模型和所述第二模型均包括:依次连接的输入层、卷积层、均值池化层、丢弃层、全连接层和输出层;
其中:
所述输入层,用于接收输入的待评估图像的图像向量;
所述卷积层,用于对所述图像向量进行特征提取,输出对应的特征向量;
所述均值池化层,用于对所述特征向量进行均值池化处理,获得池化向量;
所述丢弃层,用于对所述池化向量进行正则处理;
所述全连接层,用于对所述正则处理过的向量进行全连接处理,获得所述待评估图像的图像评估特征,其中,当所述算法模型为所述第一模型时,所述图像评估特征为图像质量特征;当所述算法模型为所述第二模型时,所述图像评估特征为图像美学特征;
所述输出层,用于根据所述图像评估特征,输出对应的图像评估信息。
21.根据权利要求15所述的装置,其中,所述装置还包括:
训练模块,用于在所述接收模块通过分布式业务平台接收多个待评估图像之前,使用图像训练样本集分别对所述第一模型和所述第二模型进行训练。
22.根据权利要求21所述的装置,其中,所述图像训练样本集包括原始图像样本和镜像图像样本;
所述装置还包括样本生成模块,用于通过以下方式生成所述镜像图像样本:
针对每个所述原始图像样本,将所述原始图像样本的长度边的边长或宽度边的边长调整为预设边长;
按照所述原始图像样本的原始长宽比例,自适应调整未进行所述预设边长的调整的边的边长,以使自适应调整后的图像样本保持所述原始长宽比例;
对自适应调整后的图像样本按照预设尺寸进行随机裁剪;
对进行了所述随机裁剪后的图像样本进行镜像处理,获得与所述原始图像样本对应的镜像图像样本。
23.根据权利要求14所述的装置,其中,所述分布式业务平台设置于云服务端,所述云服务端提供有图像传输接口,所述图像传输接口用于接收待评估的图像以及发送图像评估结果。
24.根据权利要求23所述的装置,其中,所述装置还包括:
接口模块,用于在所述接收模块通过分布式业务平台接收多个待评估图像之前,经由所述图像传输接口接收客户端或图像搜索引擎发送的所述多个待评估图像并发送至所述分布式业务平台;
以及,
发送模块,用于在所述评估模块输出与所述多个待评估图像对应的多个图像评估结果之后,将所述多个图像评估结果经由所述图像传输接口发送给请求进行图像评估的客户端或图像搜索引擎。
25.根据权利要求14所述的装置,其中,所述装置还包括:
解析模块,用于在所述接收模块通过分布式业务平台接收多个待评估图像之前,对接收的图像评估请求进行解析;若根据解析结果确定对所述多个待评估图像进行并行评估,则将所述多个待评估图像发送至所述分布式业务平台。
26.根据权利要求25所述的装置,其中,所述解析模块,还用于若根据所述解析结果确定对所述多个待评估图像进行逐个图像串行评估,则对所述多个待评估图像逐个进行单图像评估,并逐个输出图像评估结果。
27.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指示,所述可执行指示使所述处理器执行如权利要求1-13中任一项所述的图像评估方法对应的操作。
28.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-13中任一所述的图像评估方法。
CN201911284849.5A 2019-12-13 2019-12-13 图像评估方法、装置、电子设备及计算机存储介质 Active CN113066038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911284849.5A CN113066038B (zh) 2019-12-13 2019-12-13 图像评估方法、装置、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911284849.5A CN113066038B (zh) 2019-12-13 2019-12-13 图像评估方法、装置、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN113066038A true CN113066038A (zh) 2021-07-02
CN113066038B CN113066038B (zh) 2024-07-26

Family

ID=76557782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911284849.5A Active CN113066038B (zh) 2019-12-13 2019-12-13 图像评估方法、装置、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN113066038B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114286107A (zh) * 2021-12-30 2022-04-05 武汉华威科智能技术有限公司 一种提高实时视频处理效率的方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007050262A (ja) * 2005-08-18 2007-03-01 Siemens Ag 2次元投影画像の画像評価方法およびこれに対応した対象物
CN108269254A (zh) * 2018-01-17 2018-07-10 百度在线网络技术(北京)有限公司 图像质量评估方法和装置
US20190172193A1 (en) * 2017-12-06 2019-06-06 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for evaluating image definition, computer device and storage medium
CN110223292A (zh) * 2019-06-20 2019-09-10 厦门美图之家科技有限公司 图像评估方法、装置及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007050262A (ja) * 2005-08-18 2007-03-01 Siemens Ag 2次元投影画像の画像評価方法およびこれに対応した対象物
US20190172193A1 (en) * 2017-12-06 2019-06-06 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for evaluating image definition, computer device and storage medium
CN108269254A (zh) * 2018-01-17 2018-07-10 百度在线网络技术(北京)有限公司 图像质量评估方法和装置
CN110223292A (zh) * 2019-06-20 2019-09-10 厦门美图之家科技有限公司 图像评估方法、装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LAURA CURIEL等: "Progress in Multimodality Imaging: Truly Simultaneous Ultrasound and Magnetic Resonance Imaging", 《 IEEE TRANSACTIONS ON MEDICAL IMAGING》 *
程晓梅;沈远彤;: "双目标的CNN无参考图像质量评价方法", 计算机工程与应用, no. 09 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114286107A (zh) * 2021-12-30 2022-04-05 武汉华威科智能技术有限公司 一种提高实时视频处理效率的方法、系统、设备及介质

Also Published As

Publication number Publication date
CN113066038B (zh) 2024-07-26

Similar Documents

Publication Publication Date Title
CN108830235B (zh) 用于生成信息的方法和装置
US20230089380A1 (en) Neural network construction method and apparatus
CN108197652B (zh) 用于生成信息的方法和装置
CN107507153B (zh) 图像去噪方法和装置
CN107292352B (zh) 基于卷积神经网络的图像分类方法和装置
CN107679466B (zh) 信息输出方法和装置
CN111476708B (zh) 模型生成方法、模型获取方法、装置、设备及存储介质
CN109377508B (zh) 图像处理方法和装置
CN111861867B (zh) 图像背景虚化方法和装置
EP4290448A1 (en) Image generation model training method, generation method, apparatus, and device
CN110503149B (zh) 一种图像中局部特征分类方法及系统
CN115145812B (zh) 测试用例生成方法、装置、电子设备和存储介质
CN110795235B (zh) 一种移动web深度学习协作的方法及系统
CN112132279A (zh) 卷积神经网络模型压缩方法、装置、设备及存储介质
CN112836804B (zh) 图像处理方法、装置、电子设备及存储介质
JP2023131117A (ja) 結合感知モデルのトレーニング、結合感知方法、装置、機器および媒体
CN109978058B (zh) 确定图像分类的方法、装置、终端及存储介质
CN113066038A (zh) 图像评估方法、装置、电子设备及计算机存储介质
CN117671431A (zh) 一种工业缺陷图像生成方法、装置、设备及存储介质
CN111476060A (zh) 人脸清晰度分析方法、装置、计算机设备及存储介质
Wang et al. Blind Image Quality Assessment via Adaptive Graph Attention
CN115457365B (zh) 一种模型的解释方法、装置、电子设备及存储介质
CN116128044A (zh) 一种模型剪枝方法、图像处理方法及相关装置
CN115841437A (zh) 一种图像增强的方法、装置及设备
CN110866605B (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
GR01 Patent grant
GR01 Patent grant