CN113821657A - 基于人工智能的图像处理模型训练方法及图像处理方法 - Google Patents
基于人工智能的图像处理模型训练方法及图像处理方法 Download PDFInfo
- Publication number
- CN113821657A CN113821657A CN202110646164.1A CN202110646164A CN113821657A CN 113821657 A CN113821657 A CN 113821657A CN 202110646164 A CN202110646164 A CN 202110646164A CN 113821657 A CN113821657 A CN 113821657A
- Authority
- CN
- China
- Prior art keywords
- image
- training
- segments
- video
- cluster
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本申请提供了一种基于人工智能的图像处理模型训练方法、图像处理方法、装置、电子设备及计算机可读存储介质;方法包括:对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;对聚类簇中的多个分镜片段进行去重处理,以更新聚类簇;对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;根据训练图像组中的多个训练图像、以及多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的图像处理模型用于对图像进行特征提取处理。通过本申请,能够提升模型训练的效果,进而提升图像处理的精度。
Description
技术领域
本申请涉及计算机视觉技术,尤其涉及一种基于人工智能的图像处理模型训练方法、图像处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。计算机视觉技术(Computer Vision,CV)是人工智能的重要分支,主要研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。
针对图像的特征提取是计算机视觉技术的一个重要应用,在相关技术提供的方案中,通常是从海量图像中随机采样两个图像以构建负样本对,同时对其中的一个图像进行图像增强处理,以与未进行图像增强处理的另一个图像构建正样本对,最后根据负样本对和正样本对训练图像处理模型。然而,随机采样的两个图像可能是相似或不相似的,导致得到的负样本对和正样本对不准确,对图像处理模型的训练效果差,进一步导致根据训练后的图像处理模型进行图像处理的准确性低。
发明内容
本申请实施例提供一种基于人工智能的图像处理模型训练方法、图像处理方法、装置、电子设备及计算机可读存储介质,能够提升图像处理模型的训练效果,并提升图像处理的准确性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的图像处理模型训练方法,包括:
对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,所述分镜片段包括多个相似的训练图像;
对所述聚类簇中的多个分镜片段进行去重处理,以更新所述聚类簇;
对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;
根据所述训练图像组中的多个训练图像、以及所述多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的所述图像处理模型用于对图像进行特征提取处理。
本申请实施例提供一种基于图像处理模型的图像处理方法,包括:
通过所述图像处理模型对样本图像进行特征提取处理,得到所述样本图像的图像特征;
根据多个所述样本图像分别对应的图像特征建立图像索引;
通过所述图像处理模型对待查询图像进行特征提取处理,得到所述待查询图像的图像特征;
根据所述待查询图像的图像特征对所述图像索引进行相似查询处理,得到相似图像索引;
将所述相似图像索引对应的至少部分样本图像,作为所述待查询图像的相似样本图像。
本申请实施例提供一种基于人工智能的图像处理模型训练装置,包括:
聚类模块,用于对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,所述分镜片段包括多个相似的训练图像;
去重模块,用于对所述聚类簇中的多个分镜片段进行去重处理,以更新所述聚类簇;
采样模块,用于对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;
训练模块,用于根据所述训练图像组中的多个训练图像、以及所述多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的所述图像处理模型用于对图像进行特征提取处理。
本申请实施例提供一种基于图像处理模型的图像处理装置,包括:
特征提取模块,用于通过所述图像处理模型对样本图像进行特征提取处理,得到所述样本图像的图像特征;
索引建立模块,用于根据多个所述样本图像分别对应的图像特征建立图像索引;
所述特征提取模块,还用于通过所述图像处理模型对待查询图像进行特征提取处理,得到所述待查询图像的图像特征;
相似查询模块,用于根据所述待查询图像的图像特征对所述图像索引进行相似查询处理,得到相似图像索引;
所述相似查询模块,还用于将所述相似图像索引对应的至少部分样本图像,作为所述待查询图像的相似样本图像。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的图像处理模型训练方法或者基于图像处理模型的图像处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的基于人工智能的图像处理模型训练方法或者基于图像处理模型的图像处理方法。
本申请实施例具有以下有益效果:
对多个训练视频分别对应的分镜片段进行聚类处理得到多个聚类簇,并对聚类簇中的多个分镜片段进行去重处理,以更新聚类簇。如此,在更新后的多个聚类簇中,属于同一分镜片段的多个训练图像即可确定为相似,分别属于不同分镜片段的多个训练图像即可确定为不相似,能够保证经采样处理得到的训练图像组的准确性,进而能够提升对图像处理模型的训练效果,也能够提升根据训练后的图像处理模型进行图像处理的准确性。
附图说明
图1是本申请实施例提供的图像处理系统的架构示意图;
图2A-图2B是本申请实施例提供的终端设备的架构示意图;
图3A-图3D是本申请实施例提供的基于人工智能的图像处理模型训练方法的流程示意图;
图4是本申请实施例提供的基于图像处理模型的图像处理方法的流程示意图;
图5是本申请实施例提供的分桶查询的示意图;
图6是本申请实施例提供的数据挖掘的示意图;
图7是本申请实施例提供的分镜片段的示意图;
图8是本申请实施例提供的数据整合的示意图;
图9是本申请实施例提供的数据整合的示意图;
图10是本申请实施例提供的聚类示意图;
图11是本申请实施例提供的生成三元组及计算损失值的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。在以下的描述中,所涉及的术语“多个”是指至少两个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)图像:本申请实施例主要涉及三种类型的图像,分别为训练图像、样本图像及待查询图像。训练图像用于训练图像处理模型;样本图像指用于支持相似图像查询的样本,例如可以将已存储的图像作为样本图像,也可以将已存储的视频中的图像作为样本图像,其中,样本图像可以与训练图像相同或不同;待查询图像用于触发相似图像查询,即相似图像查询的目的是在多个样本图像中找到待查询图像的相似样本图像(相似图像)。
2)度量学习(Metric Learning):指给定一些相似的图像以及一些不相似的图像,通过学习相似度(距离)度量,使得原本相似的图像之间的相似度增大(或距离减小),同时原本不相似的图像之间的相似度减小(或距离增大)。在本申请实施例中,可以通过度量学习的方式训练图像处理模型。
3)图像处理模型:基于人工智能原理构建出的、用于进行特征提取处理的模型,其中,对图像处理模型的类型不做限定,例如可以是人工神经网络模型。在本申请实施例中,图像处理模型可以包括初始特征提取网络及深度特征提取网络。值得说明的是,图像处理模型中的网络是指人工神经网络,而并非是指通信网络。
4)损失值:用于表示模型的输出结果与实际结果(或称标注结果)之间的差异。模型的训练主要涉及前向传播(Forward Propagation)及反向传播(Back Propagation)两个过程,以包括输入层、隐藏层及输出层的神经网络模型为例,前向传播处理是指依次通过输入层、隐藏层及输出层进行处理,最终得到输出结果;反向传播处理是指根据计算出的损失值依次传播至输出层、隐藏层及输入层,从而对各个层中的权重参数进行更新。
5)分镜处理:又称场景切分处理,是指将视频切分为多个分镜片段,其中每个分镜片段包括多个相似的图像。
6)聚类处理:将物理或抽象对象的集合分成由类似的对象组成的多个簇的过程。本申请实施例对聚类处理的方式不做限定,例如可以通过Kmeans算法、分层聚类算法或K-means++算法等来实现聚类处理。
图像处理模型的训练涉及到训练图像组的构建,以训练图像组为三元组的情况为例,相关技术主要提供了以下三种方案,其中,三元组的形式如(anchor,positive,negative),anchor与positive相似,且anchor与negative不相似,(anchor,positive)又称为正样本对,negative又称为负样本。
1)从多个图像中随机采样两个图像,并分别记为图像A和图像B,默认图像A和图像B不相似。对图像A进行图像增强处理得到图像A1,最终生成三元组(图像A,图像A1,图像B),其中,图像A与图像A1为正样本对(即彼此相似),图像A与图像B为负样本对(即彼此不相似)。然而,方案1)中采样到的图像A和图像B可能是相似的,导致会在三元组中引入噪声,进一步导致根据三元组进行模型训练的效果差。
2)对多个图像进行随机组合得到多个三元组,并将三元组交由人工进行标注(如标注三元组是否准确)。然而,方案2)需要大量人工投入,即耗费的人力成本较高;同时,正样本对难以寻找,而负样本又极其多,模型的有效训练需要标注百万以上的三元组,如何在有限人力下有效构造三元组是一个极大的问题。
3)从标注为某一类别(如人脸)的多个图像中随机采样2个图像以作为正样本对,即(anchor,positive),从标注为另一类别(如猫)的多个图像中随机采样1个图像以作为负样本,即negative。最终,生成三元组(anchor,positive,negative),以进行模型训练。然而,方案3)只支持学习到与分类(类别)相关的图像特征,即学习到的具备相同类别但不相似的两个图像之间的距离(指图像特征之间的距离)非常近,导致无法满足后续的图像处理要求(如相似图像查询的要求),即后续进行图像处理的准确性低;此外,随机采样出的2个图像也可能是相同的图像,导致生成的三元组不够准确,进而导致模型训练的效果差。
此外,在相关技术提供的方案中,构造出的大部分三元组都是模型容易区分的简单样本,这些海量的简单样本容易使得真正需要学习的难样本被淹没,导致图像处理模型的训练效果差。
本申请实施例提供一种基于人工智能的图像处理模型训练方法、图像处理方法、装置、电子设备及计算机可读存储介质,能够提升图像处理模型的训练效果,并提升图像处理的准确性。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为各种类型的终端设备,也可以实施为服务器。
参见图1,图1是本申请实施例提供的图像处理系统100的一个架构示意图,终端设备400通过网络300连接服务器200,服务器200连接数据库500,其中,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,以电子设备是终端设备为例,本申请实施例提供的基于人工智能的图像处理模型训练方法及基于图像处理模型的图像处理方法可以由终端设备实现。例如,终端设备400对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,分镜片段包括多个相似的训练图像;对聚类簇中的多个分镜片段进行去重处理,以更新聚类簇;对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;根据训练图像组中的多个训练图像、以及多个训练图像之间的相似关系,对图像处理模型进行训练。
终端设备400可以通过训练后的图像处理模型对样本图像进行特征提取处理,得到样本图像的图像特征,并根据多个样本图像分别对应的图像特征建立图像索引。终端设备400在接收到相似图像查询的请求时,通过训练后的图像处理模型对该请求对应的待查询图像进行特征提取处理,得到待查询图像的图像特征,作为示例,在图1中示出了“相似图像查询”的选项,当接收到针对该选项的触发操作时,确定接收到相似图像查询的请求。然后,终端设备400根据待查询图像的图像特征对图像索引进行相似查询处理,得到相似图像索引,并将相似图像索引对应的至少部分样本图像作为待查询图像的相似样本图像。作为示例,在图1中示例性地示出了待查询图像及相似样本图像,两个图像中均包括飞机。
值得说明的是,训练后的图像处理模型可以存储于终端设备400本地,并在需要时调用。另外,对于训练图像、样本图像及待查询图像中的每一种图像,可以是终端设备400预先存储在本地的,可以是终端设备400实时拍摄的,也可以是终端设备400从外界(如服务器200、数据库500或区块链等)获取的。
在一些实施例中,以电子设备是服务器为例,本申请实施例提供的基于人工智能的图像处理模型训练方法及基于图像处理模型的图像处理方法也可以由服务器实现。例如,服务器200可以对多个训练视频进行一系列处理,以训练图像处理模型。服务器200可以通过训练后的图像处理模型对样本图像进行特征提取处理,以建立图像索引。如此,服务器200在接收到相似图像查询的请求时,可以通过训练后的图像处理模型对该请求对应的待查询图像进行一系列处理,并结合图像索引得到召回的相似样本图像。值得说明的是,训练后的图像处理模型可以存储于服务器200本地,如存储于服务器200的分布式文件系统中。另外,对于训练图像、样本图像及待查询图像中的每一种图像,可以是服务器200预先存储在本地的,也可以是服务器200从外界获取的。
在一些实施例中,本申请实施例提供的基于人工智能的图像处理模型训练方法及基于图像处理模型的图像处理方法也可以由终端设备及服务器协同实现。例如,服务器200可以进行图像处理模型的训练,并将训练后的图像处理模型发送至终端设备400,以使终端设备400具有基于训练后的图像处理模型进行图像处理的能力。
又例如,服务器200可以进行图像处理模型的训练,通过训练后的图像处理模型对样本图像进行特征提取处理以建立图像索引,并将图像索引存储至本地。终端设备400在接收到相似图像查询的请求时,将该请求对应的待查询图像发送至服务器200。服务器200通过训练后的图像处理模型对接收到的待查询图像进行特征提取处理,并结合图像索引得到召回的相似样本图像,最后将相似样本图像发送至终端设备400,以使终端设备400根据接收到的相似样本图像响应相似图像查询的请求。
在一些实施例中,可以将图像处理模型训练过程中以及图像处理过程中涉及到的各种结果(如训练图像、样本图像、待查询图像、图像索引等)存储至区块链中,由于区块链具有不可篡改的特性,因此能够保证区块链中的数据的准确性。电子设备可以向区块链发送查询请求,以查询区块链中存储的数据。
在一些实施例中,终端设备400或服务器200可以通过运行计算机程序来实现本申请实施例提供的基于人工智能的图像处理模型训练方法及基于图像处理模型的图像处理方法,计算机程序可以为图1示出的客户端410。例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云服务可以是基于人工智能的图像处理模型训练服务或基于图像处理模型的图像处理服务,供终端设备400进行调用。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,数据库500和服务器200可以独立设置。在一些实施例中,数据库500和服务器200也可以集成在一起,即数据库500可以视为存在于服务器200内部,与服务器200一体化,服务器200可以提供数据库500的数据管理功能。
以本申请实施例提供的电子设备是终端设备为例说明,可以理解的,对于电子设备是服务器的情况,图2A中示出的结构中的部分(例如用户接口、呈现模块和输入处理模块)可以缺省。参见图2A,图2A是本申请实施例提供的终端设备400的结构示意图,图2A所示的终端设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的基于人工智能的图像处理模型训练装置可以采用软件方式实现,图2A示出了存储在存储器450中的基于人工智能的图像处理模型训练装置4551,其可以是程序和插件等形式的软件,包括以下软件模块:聚类模块45511、去重模块45512、采样模块45513及训练模块45514,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本申请实施例提供的基于图像处理模型的图像处理装置可以采用软件方式实现,图2B示出了存储在存储器450中的基于图像处理模型的图像处理装置4552,其可以是程序和插件等形式的软件,包括以下软件模块:特征提取模块45521、索引建立模块45522及相似查询模块45523,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。值得说明的是,图2B中除了示出的基于图像处理模型的图像处理装置4552外,其余结构均可与图2A相同。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的基于人工智能的图像处理模型训练方法。
参见图3A,图3A是本申请实施例提供的基于人工智能的图像处理模型训练方法的流程示意图,该方法可以由上述的电子设备执行,将结合图3A示出的步骤进行说明。
在步骤101中,对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,分镜片段包括多个相似的训练图像。
这里,获取用于进行模型训练的多个视频,为了便于区分,命名为训练视频。其中,每个训练视频包括至少一个分镜片段,每个分镜片段包括多个彼此相似的训练图像。
对得到的所有训练视频分别对应的分镜片段进行聚类处理,得到多个聚类中心以及每个聚类中心对应的一个聚类簇,其中,聚类中心为分镜片段,每个聚类簇包括多个分镜片段。本申请实施例对聚类处理的方式不做限定,例如可以通过Kmeans算法、分层聚类算法或K-means++算法等来实现;对聚类中心的数量(等同于聚类簇的数量)也不做限定,可以根据实际应用场景进行设定。
在一些实施例中,步骤101之前,还包括:对训练视频进行分镜处理得到多个分镜片段;对训练视频的多个分镜分段进行去重处理,并将保留的分镜片段作为训练视频中待进行聚类处理的分镜片段。
针对多个训练视频中的每个训练视频,可以对训练视频进行分镜处理得到多个分镜片段,其中,分镜片段包括多个相似的训练图像;分镜处理可以借助开源工具实现。对于每个训练视频的多个分镜片段,可以进行去重处理,并将去重处理后保留的分镜片段(即关键分镜片段)作为待进行聚类处理的分镜片段,如此,通过前置的去重处理,可以保证进行聚类处理的分镜片段的代表性和有效性,并且,由于减少了分镜片段的数量,因此还能够降低聚类处理的处理压力。
值得说明的是,这里的去重处理是通过丢弃掉一些分镜片段,来保证训练视频中保留的多个分镜片段彼此不相似。这里的去重处理的方式类似于步骤102,将在后文说明去重处理的示例方式,这里的去重处理过程中所用的距离条件可以与步骤102中所用的距离条件相同或不同。
在一些实施例中,可以通过这样的方式来实现上述的对多个训练视频分别对应的分镜片段进行聚类处理:对同一视频类别的多个训练视频分别对应的分镜片段进行聚类处理;其中,训练视频的视频类别包括以下任意一种:针对训练视频设置的视频类别;视频播放平台中与训练视频对应的视频类别;通过视频分类模型对训练视频进行视频分类处理得到的视频类别。
这里,可以确定每个训练视频的视频类别,本申请实施例提供了以下三种示例方式。
1)获取针对训练视频设置的视频类别。例如,训练视频的视频类别可以是人为标注的,该方式能够保证视频类别的绝对准确性。
2)确定训练视频的视频播放平台,并获取视频播放平台中与训练视频对应的视频类别。这里,可以根据训练视频的视频源来确定视频播放平台,该视频播放平台用于播放该训练视频。然后,获取视频播放平台中与训练视频对应的视频类别,例如,视频播放平台包括多个频道,如交通、生活、游戏、育儿等,若训练视频位于交通频道下,则确定训练视频的视频类别为交通。该方式能够节省人为标注所带来的人力成本。
3)通过视频分类模型对训练视频进行视频分类处理,得到视频类别。本申请实施例对视频分类模型的类型不做限定,例如可以是神经网络模型。在通过视频分类模型对训练视频进行视频分类处理之前,可以对视频分类模型进行预先训练,例如通过开源的视频数据集(如YouTube-8M)进行训练,如此,能够保证得到的视频类别的精度。该方式同样也能够节省人力成本。
根据得到的视频类别可以对所有训练视频进行归类,然后,对同一视频类别的多个训练视频分别对应的分镜片段进行聚类处理,即在图像处理模型的训练过程中,不同的视频类别单独处理,互相隔离。如此,对于最终得到的每个训练图像组来说,训练图像组中的所有训练图像均属于同一视频类别,能够避免因类别不同所导致的仅学习到与类别相关的特征,即能够使图像处理模型在训练过程中关注到图像中多个方面的特征,而不仅限于与类别相关的特征。
在步骤102中,对聚类簇中的多个分镜片段进行去重处理,以更新聚类簇。
例如,可以根据分镜片段中的训练图像的标注图像特征,来确定分镜片段的片段特征,并根据片段特征来确定不同分镜片段之间的距离。对于一个聚类簇中的多个分镜片段来说,可以根据不同分镜片段之间的距离进行去重处理,即丢弃掉一些导致距离过小的分镜片段,以更新聚类簇。如此,可以保证更新后的聚类簇中不同分镜片段之间的距离足够大,即在更新后的聚类簇中,不同分镜片段之间不相似。
值得说明的是,在本申请实施例中,特征与特征之间的距离可以是L2距离,也可以是其他类型的距离。特征与特征之间的距离越小,表示两个特征之间越为相似。经过步骤102的去重处理后,更新后的每个聚类簇包括至少一个分镜片段。
在步骤103中,对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组。
在通过步骤102得到的更新后的多个聚类簇中,属于同一分镜片段的多个训练图像之间相似,分别属于不同分镜片段的多个训练图像之间不相似,例如,训练图像P1属于分镜片段1,训练图像P2属于分镜片段2,则可以确定训练图像P1与训练图像P2之间不相似。
因此,在已确定相似关系(包括相似和不相似两种情况)的基础上,可以根据训练图像组的构建需求对更新后的多个聚类簇进行采样处理,得到训练图像组。本申请实施例对训练图像组所包括的训练图像的数量不做限定,例如训练图像组包括但不限于以下几种类型。
1)二元组。二元组包括两种类型,第一种类型的二元组包括的两个训练图像相似;第二种类型的二元组包括的两个训练图像不相似。二元组对应的用于进行度量学习的损失函数可以是对比损失(Contrastive Loss)。
2)三元组。三元组包括第一训练图像、与第一训练图像相似的第二训练图像、以及与第一训练图像不相似的第三训练图像。三元组对应的用于进行度量学习的损失函数可以是三元组损失(Triplet Loss)。
3)四元组。四元组包括第一训练图像、与第一训练图像相似的第二训练图像、与第一训练图像不相似的第三训练图像、以及与第一训练图像不相似的第四训练图像。四元组对应的用于进行度量学习的损失函数可以是四元组损失(Quadruplet Loss)。
在一些实施例中,可以通过这样的方式来实现上述的对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组:根据数量比例对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到满足数量比例的多个训练图像组;其中,数量比例用于约束第一训练图像组的数量小于第二训练图像组的数量;其中,第一训练图像组包括属于更新后的同一聚类簇、且分别属于不同分镜片段的多个不相似的训练图像;第二训练图像组包括分别属于更新后的不同聚类簇的多个不相似的训练图像。
在本申请实施例中,可以通过特定的数量比例对采样处理的过程进行约束,即约束得到的第一训练图像组的数量小于第二训练图像组的数量,其中,第一训练图像组与第二训练图像组之间的数量比例可以根据实际应用场景进行设定,如设定为1:3或者1:10等。
第一训练图像组包括属于更新后的同一聚类簇、且分别属于不同分镜片段的多个训练图像,这些训练图像之间不相似,但由于位于同一聚类簇内,因此在某些方面(如与类别相关的方面)又具有一定的相似性,故而这些训练图像之间的相似关系不易判别,根据第一训练图像组进行模型训练的训练难度较高。举例来说,在三元组(anchor,positive,negative)中,anchor与negative属于更新后的同一聚类簇,但是分别属于不同的分镜片段,因此该三元组即为第一训练图像组。
第二训练图像组包括分别属于更新后的不同聚类簇的多个训练图像,这些训练图像之间不相似,且位于不同的聚类簇,故而这些训练图像之间的相似关系易于判别,根据第二训练图像组进行模型训练的训练难度较低。举例来说,在三元组(anchor,positive,negative)中,anchor与negative属于不同的聚类簇,因此该三元组即为第二训练图像组。
值得说明的是,约束第一训练图像组的数量小于第二训练图像组的数量的原因在于,在图像处理的实际应用场景中,易于判别相似关系的情况偏多,如果模型训练过程中第一训练图像组所占的比例过大,则会导致训练后的图像处理模型倾向于对第一训练图像组类似的情况进行预测(即特征提取处理),而对第二训练图像组类似的情况进行预测的精度较低,即会导致训练后的图像处理模型的泛化能力较弱。在上述方式中,通过特定的数量比例对采样处理的过程进行约束,进而能够有效提升训练后的图像处理模型的泛化能力。
在步骤104中,根据训练图像组中的多个训练图像、以及多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的图像处理模型用于对图像进行特征提取处理。
例如,根据训练图像组中的多个训练图像、以及多个训练图像之间的相似关系,同时结合度量学习的机制计算出损失值,并根据损失值对图像处理模型进行训练。由于训练图像组中的多个训练图像之间的相似关系足够准确,因此,能够保证取得良好的训练效果。对于训练后的图像处理模型来说,可以用于图像处理,例如用于对图像进行特征提取处理,得到准确的图像特征。
如图3A所示,本申请实施例通过聚类处理及去重处理,能够保证经采样处理得到的训练图像组中的相似关系的准确性,进而能够提升对图像处理模型的训练效果。
在一些实施例中,参见图3B,图3B是本申请实施例提供的基于人工智能的图像处理模型训练方法的一个流程示意图,该方法可以由上述的电子设备执行,图3A示出的步骤101可以通过步骤201至步骤203实现,将结合各步骤进行说明。
在步骤201中,根据分镜片段的片段特征,确定不同分镜片段之间的距离。
这里提供了聚类处理的一种示例方式,首先,将任意两个分镜片段的片段特征之间的距离,作为该任意两个分镜片段之间的距离。举例来说,可以将分镜片段1的片段特征与分镜片段2的片段特征之间的距离,作为分镜片段1与分镜片段2之间的距离。
在一些实施例中,步骤201之前,还包括:将分镜片段中的任意一个训练图像的标注图像特征,作为分镜片段的片段特征;其中,任意一个训练图像的标注图像特征包括以下任意一种:针对任意一个训练图像设置的图像特征;通过图像分类模型对任意一个训练图像进行特征提取处理得到的图像特征;方向梯度直方图HOG特征;尺度不变特征变换SIFT特征。
例如,可以在分镜片段包括的多个训练图像中随机选择一个,并将选择出的训练图像的标注图像特征作为该分镜片段的片段特征。本申请实施例提供了以下三种示例方式来确定标注图像特征,将进行分别说明。
1)将针对训练图像设置的图像特征作为标注图像特征。例如,标注图像特征可以是人为标注的。
2)通过图像分类模型对训练图像进行特征提取处理,并将得到的图像特征作为该训练图像的标注图像特征,图像分类模型区别于图像处理模型。其中,在通过图像分类模型对训练图像进行特征提取处理之前,可以通过开源的图像数据集对图像分类模型进行训练,以保证得到的标注图像特征的准确性。值得说明的是,在图像分类模型为神经网络模型的情况下,可以将训练图像输入至图像分类模型,并将图像分类模型的最后一个全连接(Fully Connected,FC)层紧邻的前一个网络层(如池化层)的输出作为标注图像特征,其原因在于,最后一个FC层通常用于对分类目标(即类别)进行直接拟合,因此最后一个FC层的输出难以表征除类别外的其他信息,通过将前一个网络层的输出作为标注图像特征,能够提升标注图像特征的准确性和全面性。
3)提取训练图像的方向梯度直方图(Histogram of Oriented Gradient,HOG)特征,以作为该训练图像的标注图像特征。其中,HOG特征是计算机视觉技术中用于进行物体检测的特征描述子,能够较好地描述训练图像。
4)提取训练图像的尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)特征,以作为该训练图像的标注图像特征。该SIFT特征是一种局部特征描述子,具有尺度不变性,同样也能够较好地描述训练图像。
通过上述方式,能够提升确定标注图像特征的灵活性,可以根据实际应用场景中的需求选用其中任意一种方式。
值得说明的是,分镜片段的片段特征的确定方式并不限于此,例如,也可以对分镜片段中的所有训练图像分别对应的标注图像特征进行融合处理,得到该分镜片段的片段特征,其中,融合处理可以是平均处理或求和处理(如直接求和或加权求和)等。
在步骤202中,根据距离对多个训练视频分别对应的分镜片段进行聚类中心选取处理,得到多个聚类中心。
这里,根据不同分镜片段之间的距离,对多个训练视频分别对应的分镜片段进行聚类中心选取处理,得到多个聚类中心,其中,聚类中心即为具有代表性的分镜片段,每个聚类中心对应一个聚类簇。聚类中心的数量可以根据实际应用场景进行设定。
在步骤203中,针对区别于多个聚类中心的任意一个分镜片段,将任意一个分镜片段添加至相距的距离最小的聚类中心对应的聚类簇中。
例如,可以对区别于多个聚类中心的所有分镜片段进行遍历处理,并将遍历到的分镜片段添加至相距的距离最小的聚类中心对应的聚类簇中。如此,对于每一个分镜片段,均可确定出所在的聚类簇,能够提升聚类处理的有效性。
在图3B中,图3A示出的步骤102可以更新为步骤204,在步骤204中,当聚类簇中的任意两个分镜片段之间的距离满足去重距离条件时,丢弃任意两个分镜片段的其中之一,得到更新后的聚类簇。
这里,提供了去重处理的一种示例方式。对于聚类处理得到的每个聚类簇,可以对聚类簇中的所有分镜片段进行穷举式的两两组合处理,得到多个分镜片段对。对于每个分镜片段对,当分镜片段对中的两个分镜片段之间的距离满足去重距离条件时,证明该两个分镜片段过于相似,因此在该两个分镜片段所在的聚类簇中丢弃该两个分镜片段的其中之一(如其中任意一个),得到更新后的聚类簇。其中,去重距离条件如距离小于去重距离阈值,去重距离阈值可以根据实际应用场景进行设定,如设定为0.1。
如此,对于经过步骤204得到的更新后的聚类簇,其内的任意两个分镜片段之间的距离不满足去重距离条件,即包括的所有分镜片段彼此不相似。
如图3B所示,本申请实施例根据不同分镜片段之间的距离进行聚类处理,能够提升聚类处理的有效性;基于去重距离条件对聚类簇中的多个分镜片段进行去重处理,能够保证更新后的聚类簇中的所有分镜片段彼此不相似。
在一些实施例中,参见图3C,图3C是本申请实施例提供的基于人工智能的图像处理模型训练方法的一个流程示意图,该方法可以由上述的电子设备执行,图3A示出的步骤101可以通过步骤301至步骤302实现,将结合各步骤进行说明。
在步骤301中,对多个训练视频进行划分处理,得到多个训练视频集合。
例如,可以对所有训练视频进行平均划分处理,得到多个训练视频集合,其中,每个训练视频集合包括的训练视频的数量相同;需要划分出的训练视频集合的数量可以根据实际应用场景进行设定。
在一些实施例中,可以对同一视频类别的多个训练视频进行划分处理,得到多个训练视频集合。如此,可以保证不同的视频类别单独处理,互相隔离。
在步骤302中,对初始训练视频集合中的多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,初始训练视频集合是多个训练视频集合中的任意一个。
例如,可以将得到的任意一个训练视频集合作为初始训练视频集合,并根据初始训练视频集合中的所有训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇。如此,能够减少聚类处理的工作量,提升聚类处理的效率。
在图3C中,图3A示出的步骤103之前,还可以在步骤303中,根据区别于初始训练视频集合的训练视频集合,对更新后的多个聚类簇进行合并更新处理。
在通过步骤302得到多个聚类簇,并通过步骤102更新聚类簇后,可以根据区别于初始训练视频集合的所有训练视频集合,对更新后的多个聚类簇进行合并更新处理。合并更新处理的目的在于,将区别于初始训练视频集合的训练视频集合中的分镜片段添加至更新后的某个聚类簇中。
在一些实施例中,可以通过这样的方式来实现上述的根据区别于初始训练视频集合的训练视频集合,对更新后的多个聚类簇进行合并更新处理:对更新后的聚类簇中多个分镜片段的片段特征进行融合处理,得到融合片段特征;针对区别于初始训练视频集合的训练视频集合中的任意一个分镜片段,执行以下处理:根据融合片段特征以及任意一个分镜片段的片段特征,确定任意一个分镜片段与更新后的多个聚类簇之间的距离,并将距离最小的更新后的聚类簇作为目标聚类簇;当任意一个分镜片段与目标聚类簇中的多个分镜片段之间的距离均满足合并距离条件时,将任意一个分镜片段添加至目标聚类簇中,以更新目标聚类簇。
这里,提供了合并更新处理的一种示例方式。首先,针对更新后的每个聚类簇,对更新后的聚类簇中的所有分镜片段分别对应的片段特征进行融合处理,得到该更新后的聚类簇的融合片段特征,其中,融合处理如平均处理或求和处理等。
然后,可以对区别于初始训练视频集合的所有训练视频集合进行遍历处理,并对遍历到的训练视频集合中的分镜片段进行遍历处理。针对遍历到的分镜片段,可以执行以下处理。
1)根据遍历到的分镜片段的片段特征以及更新后的每个聚类簇的融合片段特征,确定遍历到的分镜片段与更新后的每个聚类簇之间的距离,并将距离最小的更新后的聚类簇作为目标聚类簇。
2)根据遍历到的分镜片段的片段特征以及目标聚类簇中每个分镜片段的片段特征,确定遍历到的分镜片段与目标聚类簇中的每个分镜片段之间的距离。
3)当遍历到的分镜片段与目标聚类簇中的所有分镜片段之间的距离均满足合并距离条件时,证明遍历到的分镜片段与目标聚类簇中的所有分镜片段均不相似,则将遍历到的分镜片段添加至目标聚类簇中,以更新目标聚类簇;当遍历到的分镜片段与目标聚类簇中的任意一个分镜片段之间的距离不满足合并距离条件时,证明遍历到的分镜片段与该任意一个分镜片段相似,则继续遍历下一个分镜片段。其中,合并距离条件与上文的去重距离条件在作用上相反,例如合并距离条件可以是距离大于或等于合并距离阈值(如0.1)。
通过上述方式,能够在减小聚类处理的工作量的基础上,保证最终得到的更新后的各个聚类簇的完整性和准确性。
如图3C所示,本申请实施例将多个训练视频划分为多个训练视频集合,并进行聚类处理及合并更新处理,如此,在保证最终得到的更新后的聚类簇的质量的基础上,大大提升了处理效率。
在一些实施例中,参见图3D,图3D是本申请实施例提供的基于人工智能的图像处理模型训练方法的一个流程示意图,该方法可以由上述的电子设备执行,图3A示出的步骤104可以通过步骤401至步骤403实现,将结合各步骤进行说明。
在步骤401中,通过图像处理模型对训练图像组中的训练图像进行特征提取处理,得到待对比的图像特征。
例如,在训练过程中,针对训练图像组中的每个训练图像,通过图像处理模型进行前向传播处理,即对训练图像进行特征提取处理得到图像特征,为了便于区分,将这里得到的图像特征命名为待对比的图像特征。
在步骤402中,根据训练图像组中的多个训练图像分别对应的待对比的图像特征、以及多个训练图像之间的相似关系进行损失计算处理,得到训练图像组的损失值。
例如,可以根据训练图像组中的多个训练图像之间的相似关系确定相应的损失函数,并根据损失函数对该训练图像组中的多个训练图像分别对应的待对比的图像特征进行损失计算处理,得到该训练图像组的损失值。举例来说,二元组对应的损失函数为对比损失,三元组对应的损失函数为三元组损失,四元组对应的损失函数为四元组损失,当然,损失函数的类型并不限于此。
在一些实施例中,训练图像组包括第一训练图像、与第一训练图像相似的第二训练图像、以及与第一训练图像不相似的第三训练图像;可以通过这样的方式来实现上述的根据训练图像组中的多个训练图像分别对应的待对比的图像特征、以及多个训练图像之间的相似关系进行损失计算处理,得到训练图像组的损失值:根据第一训练图像与第二训练图像对应待对比的图像特征的距离、以及第一训练图像与第三训练图像对应待对比的图像特征的距离,确定训练图像组的损失值。
这里,以训练图像组为三元组的情况举例,即训练图像组包括第一训练图像、与第一训练图像相似的第二训练图像、以及与第一训练图像不相似的第三训练图像。在该情况下,可以确定第一训练图像的待对比的图像特征与第二训练图像的待对比的图像特征之间的距离(为了便于区分,后文命名为第一距离),同时确定第一训练图像的待对比的图像特征与第三训练图像的待对比的图像特征之间的距离(为了便于区分,后文命名为第二距离),并根据第一距离和第二距离确定出训练图像组的损失值。该损失值用于缩小第一距离,同时扩大第二距离。针对训练图像组是三元组的情况,通过上述方式,能够快速、准确地确定出三元组的损失值。
在步骤403中,根据训练图像组的损失值训练图像处理模型。
例如,根据训练图像组的损失值在图像处理模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新图像处理模型中的网络层的权重参数。其中,梯度下降算法可以采用批量梯度下降(Batch Gradient Descent,BGD)算法、随机梯度下降(StochasticGradient Descent,SGD)算法或小批量梯度下降(Mini-Batch Gradient Descent,MBGD)算法等,对此不做限定。
在一些实施例中,图像处理模型包括初始特征提取网络及深度特征提取网络;可以通过这样的方式来实现上述的通过图像处理模型对训练图像组中的训练图像进行特征提取处理,得到待对比的图像特征:通过初始特征提取网络对训练图像组中的训练图像进行初始特征提取处理,得到初始特征;通过深度特征提取网络对初始特征进行深度特征提取处理,得到待对比的图像特征;可以通过这样的方式来实现上述的根据训练图像组的损失值训练图像处理模型:执行以下任意一种处理:根据训练图像组的损失值训练初始特征提取网络及深度特征提取网络;根据训练图像组的损失值训练深度特征提取网络。
在本申请实施例中,图像处理模型可以主要包括两部分:初始特征提取网络(又称基础特征提取网络)及深度特征提取网络。在通过图像处理模型对训练图像进行前向传播处理的过程中,首先通过初始特征提取网络对训练图像进行初始特征提取处理,得到初始特征,然后再通过深度特征提取网络对初始特征进行深度特征提取处理,得到待对比的图像特征。值得说明的是,在通过初始特征提取网络对训练图像进行初始特征提取处理之前,可以对初始特征提取网络进行单独训练,如通过开源的图像数据集进行训练,从而提升对图像处理模型的整体训练效果。
在根据待对比的图像特征确定出训练图像组的损失值后,可以通过以下两种训练方式进行训练。第一种训练方式是,将初始特征提取网络及深度特征提取网络均作为需要训练的网络,并根据训练图像组的损失值进行训练,该方式的训练效果较好;第二种训练方式是,仅将深度特征提取网络作为需要训练的网络,并根据训练图像组的损失值进行训练,该方式的训练效率更高。通过上述方式,提升了训练的灵活性,可以根据实际应用场景中的需求(如偏向训练效果还是训练效率)选用任意一种训练方式。
如图3D所示,本申请实施例结合前向传播和反向传播的机制,能够保证度量学习的有效性,提升对图像处理模型的训练效果。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的基于图像处理模型的图像处理方法。
参见图4,图4是本申请实施例提供的基于图像处理模型的图像处理方法的一个流程示意图,该方法可以由上述的电子设备执行,将结合图4示出的步骤进行说明。
在步骤501中,通过图像处理模型对样本图像进行特征提取处理,得到样本图像的图像特征。
例如,可以获取多个样本图像,并通过训练后的图像处理模型对每个样本图像进行特征提取处理得到图像特征。其中,样本图像可以与上文的训练图像相同,也可以不同。
在步骤502中,根据多个样本图像分别对应的图像特征建立图像索引。
这里,图像索引可以是至少部分样本图像对应的图像特征。
在一些实施例中,可以通过这样的方式来实现上述的根据多个样本图像分别对应的图像特征建立图像索引:将多个样本图像分别对应的图像特征均作为图像索引。在该情况下,样本图像与图像索引之间为一对一的对应关系。
在一些实施例中,可以通过这样的方式来实现上述的根据多个样本图像分别对应的图像特征建立图像索引:根据样本图像的图像特征,确定不同样本图像之间的距离;根据距离对多个样本图像分别对应的图像特征进行聚类中心选取处理,将得到的多个聚类中心均作为图像索引。
这里,可以根据样本图像的图像特征,确定不同样本图像之间的距离。例如,可以将样本图像P1的图像特征与样本图像P2的图像特征之间的距离,作为样本图像P1与样本图像P2之间的距离。
根据不同样本图像之间的距离,对多个样本图像分别对应的图像特征进行聚类中心选取处理,将得到的多个聚类中心均作为图像索引。如此,可以避免图像索引的数量过多所导致的后续计算量过大。
在一些实施例中,步骤502之后,还包括:建立样本图像与索引距离满足索引距离条件的图像索引之间的对应关系;其中,索引距离表示样本图像的图像特征与图像索引之间的距离。
在得到多个图像索引后,针对每个样本图像,还可以建立样本图像与索引距离满足索引距离条件的图像索引之间的对应关系,其中,索引距离表示该样本图像的图像特征与图像索引之间的距离。索引距离条件可以包括以下至少之一:索引距离小于索引距离阈值;在按照索引距离从小到大的顺序,对该样本图像与所有图像索引之间的索引距离进行排序的情况下,排序位次位于前N位。其中,索引距离阈值和这里的N可以根据实际应用场景进行设定,如将N设定为1。通过上述方式,能够快速、准确地建立样本图像与图像索引之间的对应关系。
在步骤503中,通过图像处理模型对待查询图像进行特征提取处理,得到待查询图像的图像特征。
例如,通过训练后的图像处理模型对获取到的待查询图像进行特征提取处理,得到待查询图像的图像特征。
值得说明的是,本申请实施例对步骤501与步骤503之间的执行顺序不做限定,例如可以同时执行,也可以一先一后执行。
在步骤504中,根据待查询图像的图像特征对图像索引进行相似查询处理,得到相似图像索引。
例如,可以根据待查询图像的图像特征与各个图像索引之间的距离(为了便于区分,后文命名为查询距离),筛选出至少部分图像索引以作为相似图像索引。本申请实施例对确定出的相似图像索引的数量不做限定,可以为至少一个。
在一些实施例中,可以通过这样的方式来实现上述的根据待查询图像的图像特征对图像索引进行相似查询处理,得到相似图像索引:将与待查询图像之间的查询距离满足查询距离条件的图像索引,作为相似图像索引;其中,查询距离表示待查询图像的图像特征与图像索引之间的距离。
这里,在多个图像索引中,将与待查询图像之间的查询距离满足查询距离条件的图像索引作为相似图像索引。其中,查询距离条件可以包括以下至少之一:查询距离小于查询距离阈值;在按照查询距离从小到大的顺序,对待查询图像与所有图像索引之间的查询距离进行排序的情况下,排序位次位于前N位。其中,查询距离阈值和这里的N可以根据实际应用场景进行设定,如将N设定为1。通过上述方式,能够快速、准确地确定出相似图像索引。
在步骤505中,将相似图像索引对应的至少部分样本图像,作为待查询图像的相似样本图像。
这里,可以将相似图像索引对应的全部样本图像,均作为待查询图像的相似样本图像;也可以将相似图像索引对应的部分样本图像作为待查询图像的相似样本图像。
举例来说,对于相似图像索引对应的每个样本图像,可以确定样本图像与待查询图像之间的距离(指图像特征之间的距离),并将小于筛选距离阈值的距离对应的样本图像作为相似样本图像,如此,可以实现对样本图像的进一步筛选。其中,筛选距离阈值可以根据实际应用场景进行设定。
在一些实施例中,样本图像是对样本视频进行采样处理得到的,待查询图像是对待查询视频进行采样处理得到的;步骤505之后,还包括:将相似样本图像所在的样本视频,作为待查询视频的相似样本视频。
本申请实施例除了支持相似图像查询外,还可以支持相似视频查询。例如,样本图像是对样本视频进行采样处理得到的,待查询图像是对待查询视频进行采样处理得到的,在该情况下,确定出相似样本图像后,可以将相似样本图像所在的样本视频,作为待查询视频的相似样本视频。
如图4所示,本申请实施例能够基于训练后的图像处理模型实现准确的相似查询,可以应用于如图像去重/视频去重的应用场景中。
下面,将说明本申请实施例在实际的应用场景中的示例性应用。本申请实施例可以应用于相似图像查询或相似视频查询的场景,作为示例,提供了如图5所示的分桶查询(分桶检索)的示意图,其中,一个桶即对应一个聚类簇,如图5示出的类1、类2、……类Z,其中,Z为大于1的整数。在图5中,可以对图像库中的多个样本图像分别进行特征提取处理,然后对多个样本图像的图像特征进行聚类处理,得到多个聚类簇以及每个聚类簇的聚类中心(即簇中心),其中,图像特征如图5示出的(41,98,……,61)、(29,81,……,79)等,聚类中心如图5示出的类1中心、类2中心等,每个聚类中心对应多个样本图像。对于待查询图像,同样对其进行特征提取处理得到图像特征,再将待查询图像的图像特征与多个聚类中心进行比对,根据比对结果从图像库中筛选出待查询图像的相似样本图像,例如可以将与待查询图像之间的距离最小的聚类中心对应的样本图像作为相似样本图像,在此基础上,也可以将相似样本图像所在的样本视频,作为待查询图像所在的待查询视频的相似样本视频。
值得说明的是,在确定出与待查询图像之间的距离最小的聚类中心时,还可以将该聚类中心对应的样本图像的图像特征与待查询图像的图像特征进行比对,例如,当该聚类中心对应的任意一个样本图像的图像特征与待查询图像的图像特征之间的距离小于设定的筛选距离阈值时,将该任意一个样本图像作为相似样本图像,如此,可以实现对样本图像的进一步筛选。
此外,在确定出相似样本图像所在的样本视频后,也可以将该样本视频与待查询视频进行逐帧的图像特征比对。例如,确定样本视频的第一帧图像的图像特征与待查询视频的第一帧图像的图像特征之间的距离、该样本视频的第二帧图像的图像特征与待查询视频的第二帧图像的图像特征之间的距离……。当样本视频与待查询视频在每一帧进行图像特征比对后得到的距离均小于筛选距离阈值时,将该样本视频作为相似样本视频,如此,可以实现对样本视频的进一步筛选。
为了保证特征提取处理的准确性,本申请实施例提供了一种基于人工智能的图像处理模型训练方法,接下来进行详细说明。作为示例,提供了如图6所示的数据挖掘的示意图,将通过步骤形式说明数据挖掘的过程,数据挖掘的目的是生成用于模型训练的三元组。
1)获取训练视频的视频类别。这里,提供了两种示例方式,第一种方式是,在视频播放平台中获取训练视频的视频类别,例如,视频播放平台包括交通、生活、游戏、育儿等多个视频类别(或称频道、品类等),每个视频类别下包括多个视频(训练视频)。第二种方式是,通过视频分类模型对训练视频进行视频分类处理,得到视频类别,其中,视频分类模型可以通过开源的视频数据集(如YouTube-8M)进行训练。
2)对训练视频进行分镜处理,得到多个分镜片段。本申请实施例对分镜处理的方式不做限定,例如可以通过PySceneDetect工具来实现。作为示例,提供了如图7所示的分镜片段的示意图,提供了5个示例的分镜片段,以分镜片段71为例,其内的训练图像711和训练图像712是在分镜片段71内进行随机采样得到的,从图7中可以看出,训练图像711和训练图像712相似。
针对得到的每个分镜片段,从分镜片段包括的多个训练图像中随机采样出2个训练图像以组成三元组中的正样本对,并从这2个训练图像中随机采样出1个训练图像以作为代表训练图像,将代表训练图像的标注图像特征作为该分镜片段的片段特征。在后续的数据挖掘过程中,以分镜片段为粒度,即三元组中的正样本对(anchor,positive)从同一分镜片段中采样,而该三元组中的负样本negative则从其他分镜片段中采样。
3)确定训练图像的标注图像特征。这里,可以通过图像分类模型对训练图像(如上文的代表训练图像)进行特征提取处理,得到标注图像特征。本申请实施例对图像分类模型的结构不做限定,例如图像分类模型可以是根据开源的图像数据集(如ImageNet、OpenImage等)训练的ResNet101模型,其模型结构可以包括表1和表2所示的结构。
表1:
表2:
对于输入图像分类模型的训练图像,先后通过表1示出的结构和表2示出的结构进行处理,将表2的Pool层的输出(即1*2048维向量)作为该训练图像的标注图像特征(语义表征)。其原因在于:对于图像分类模型来说,FC层的作用是对分类目标(即类别)进行直接拟合,相较于其他网络层,该FC层受标注噪声(如标注的错误类别)、分类学习的影响最大,难以用来表征图像除类别外的其他信息(如针对两个均包括狗但不相似的图像,FC层的输出非常相似,此时FC层难以表征图像中除了狗以外的其他信息),因此,在数据挖掘阶段采用Pool层的输出作为标注图像特征。在本申请实施例中,标注图像特征的确定方式并不限于此,例如标注图像特征也可以是HOG特征或SIFT特征等。
4)基于训练视频的视频类别以及训练图像的标注图像特征进行数据整合。这里,数据整合的目的是产生每个视频类别对应的聚类库,作为示例,提供了如图8所示的数据整合的示意图,对于每个视频类别,通过聚类处理的方式产生对应的聚类库,如视频类别交通对应的聚类库1、视频类别生活对应的聚类库2、视频类别知识对应的聚类库3、以及视频类别游戏对应的聚类库N,其中,每个聚类库包括多个聚类簇,每个聚类簇包括多个分镜片段。即在本申请实施例中,先根据视频类别对多个训练视频进行一次分类(一级聚合),然后在每个视频类别下产生聚类库(二级聚合)。
作为示例,还提供了如图9所示的数据整合的示意图,将通过步骤形式进行说明。
①对训练视频的多个分镜分段进行去重处理。例如,某训练视频经分镜处理后得到p个分镜片段,则去除其中的相似的分镜片段,最终保留相对不相似的分镜片段,以构建关键分镜片段集合Sx。示例过程如下。
a)将训练视频的第一个分镜片段添加至Sx中,即默认第一个分镜片段是关键分镜片段。
b)遍历训练视频的剩余的分镜片段,并针对遍历到的分镜片段i执行以下处理:分别确定分镜片段i与Sx中的多个分镜片段之间的距离,该距离即是指片段特征之间的距离;当分镜片段i与Sx中的任意一个分镜片段之间的距离小于0.2时,表示分镜片段i与该任意一个分镜片段相似,则继续遍历分镜片段i+1;当分镜片段i与Sx中的所有分镜片段之间的距离均大于或等于0.2时,证明分镜片段i是关键分镜片段,将分镜片段i添加至Sx中,并继续遍历分镜片段i+1。
②对多个训练视频的关键分镜片段进行聚类处理,得到多个聚类簇。
a)对于每个视频类别,将对应的多个训练视频随机划分为M个数量均衡的视频子集(对应上文的训练视频集合),例如,某个视频类别对应Nclassi个视频,则得到的每个视频子集包括Nclassi/M个训练视频。为了便于理解,后文以图9示出的视频类别交通为例进行说明。
b)针对视频类别交通对应的任意一个视频子集(对应上文的初始训练视频集合,这里以图9中的视频子集1为例),对视频子集1中的多个训练视频的关键分镜片段进行聚类中心选取处理,其中,对使用的聚类算法不做限定,例如可以是Kmeans算法、分层聚类算法、K-means++算法等,例如,K-means++算法通过如下的方式选取K个聚类中心:假设已经选取了n个聚类中心(0<n<K),则在选取第n+1个聚类中心时,距离当前n个聚类中心越远的点(即关键分镜片段)会有更高的概率被选为第n+1个聚类中心,其中,可以通过随机选择的方式来选取第1个聚类中心。本申请实施例对聚类中心的数量不做限定,例如可以取Nclassi/M/100~Nclassi/M/10范围内的数值,例如聚类中心的数量K=Nclassi/M/10。
c)对于视频子集1中区别于聚类中心的每个关键分镜片段,将关键分镜片段添加至距离最小的聚类中心对应的聚类簇中。作为示例,提供了如图10所示的聚类示意图,在图10中,关键分镜片段1和9属于同一聚类簇,关键分镜片段2和4属于同一聚类簇,值得说明的是,在图10中,同一聚类簇中存在重叠的关键分镜片段相似(如关键分镜片段1和9),紧挨着但不存在重叠的关键分镜片段不相似(如关键分镜片段6和7)。
③对聚类簇中的多个关键分镜片段进行去重处理,以更新聚类簇。以包括D个关键分镜片段的聚类簇为例,则可以对该聚类簇中的第1个关键分镜片段到第D-1个关键分镜片段进行遍历处理,并针对遍历到的关键分镜片段(以第i个关键分镜片段举例)执行以下处理:当第i个关键分镜片段与第i+1个关键分镜片段到第D个关键分镜片段中的任意一个关键分镜片段之间的距离小于0.1(对应上文的去重距离条件)时,在该聚类簇中丢弃该任意一个关键分镜片段,以更新该聚类簇,并继续遍历第i+1个关键分镜片段;当第i个关键分镜片段与第i+1个关键分镜片段到第D个关键分镜片段中的所有关键分镜片段之间的距离均大于或等于0.1时,继续遍历第i+1个关键分镜片段。
④保存去重处理后的聚类簇以及聚类簇中的每个关键分镜片段。对于去重处理后的每个聚类簇,聚类簇内的任意两个关键分镜片段之间的距离均大于或等于0.1。这里,可以对聚类簇内的所有关键分镜片段的片段特征进行平均处理(对应上文的融合处理),得到该聚类簇的融合片段特征。为了便于描述,将去重处理后的所有聚类簇添加至聚类库Cnew中。
⑤对聚类簇进行合并更新处理。例如,针对视频类别交通对应的且区别于视频子集1的每个视频子集,可以对视频子集中的多个关键分镜片段进行遍历处理,并针对遍历到的关键分镜片段i(即第i个关键分镜片段)执行以下处理:根据关键分镜片段i的片段特征及Cnew中各个聚类簇的融合片段特征,确定关键分镜片段i与Cnew中各个聚类簇之间的距离,并将距离最小的聚类簇作为目标聚类簇;当关键分镜片段i与目标聚类簇中的任意一个关键分镜片段之间的距离小于0.1时,表示关键分镜片段i与该任意一个关键分镜片段相似,则继续遍历关键分镜片段i+1;当关键分镜片段i与目标聚类簇中的所有关键分镜片段之间的距离均大于或等于0.1(对应上文的合并距离条件)时,将关键分镜片段i添加至目标聚类簇中,并继续遍历关键分镜片段i+1。
如图10所示,对于视频子集2中的新关键分镜片段1及新关键分镜片段2来说(视频子集2中的新关键分镜片段在图10的聚类簇中以虚线框表示),在Cnew中对应的目标聚类簇均为视频子集1中的关键分镜片段9所在的聚类簇。由于新关键分镜片段1与关键分镜片段9相似(距离小于0.1),新关键分镜片段2与关键分镜片段9不相似(距离大于或等于0.1),因此,仅将新关键分镜片段2添加至关键分镜片段9所在的聚类簇中。
⑥保存合并更新处理后的聚类簇以及聚类簇中的每个关键分镜片段。这里,每次根据新的视频子集进行合并更新处理后,保存合并更新处理所得到的新的Cnew。针对新的Cnew中的每个聚类簇,对聚类簇内的所有关键分镜片段的片段特征进行平均处理,得到该聚类簇的新的融合片段特征,以便于进行下一次合并更新处理。
如此,在通过视频类别交通对应的所有训练视频得到的Cnew中,属于同一关键分镜片段的2个训练图像可以视为相似,属于不同关键分镜片段的多个训练图像之间可以视为不相似(原因是进行了去重处理及合并更新处理)。
在数据挖掘完成时,即可进行模型训练,模型训练的过程主要涉及以下几个方面。
1)模型结构。本申请实施例对图像处理模型的结构不做限定,例如可以是初始特征提取网络+深度特征提取网络,其中,初始特征提取网络可以是(Convolutional NeuralNetworks,CNN),例如去除掉最后的FC分类层的任意图像分类模型。以图像分类模型为ResNet101模型为例,则图像处理模型可以包括上文的表1示出的结构以及下文的表3示出的结构。
表3:
其中,Pool_cr2层用于对Conv5_x层的输出结果进行最大池化,Embedding用于将Pool_cr2层的输出结果映射到64维,最终输出1*64的向量,即为图像处理模型输出的图像特征。
2)参数初始化。这里,Conv1层至Conv5_x层可以采用根据开源的图像数据集训练的ResNet101模型中的权重参数,新增的深度特征提取网络中的权重参数(如Embedding层中的权重参数)可以采用方差为0.01、且均值为0的高斯分布进行初始化,即进行随机初始化。
3)确定需要学习(即需要更新)的权重参数。这里,第一种方式是,将初始特征提取网络及深度特征提取网络均确定为需要训练的网络,即表1中的权重参数和表3中的权重参数均需要学习;第二种方式是,将深度特征提取网络确定为需要训练的网络,而初始特征提取网络则不需训练,即仅需学习表3中的权重参数。
4)学习率(Learning Rate)。在本申请实施例中,初始特征提取网络及深度特征提取网络可以采用统一的学习率,如0.0005,也可以采用不同的学习率。
5)学习过程(训练过程)。这里,可以对图像处理模型进行epoch轮迭代,epoch是大于1的整数,可以根据实际应用场景进行设定。在每轮迭代中,处理一次全量的训练图像(指Cnew中的所有训练图像),例如可以根据batch-size对全量的训练图像进行划分,得到Nb个批次,对于每个批次(batch)执行以下处理,batch-size为大于1的整数,可以根据实际应用场景进行设定。
①前向传播处理。这里,通过图像处理模型对batch内的每个训练图像进行前向传播处理,得到图像特征,为了便于区分,将这里得到的图像特征命名为待对比的图像特征。
②损失值计算。在batch中找到对应的三元组计算损失值即Triplet Loss。
作为示例,提供了如图11示出的采样得到三元组及计算损失值的过程,将通过步骤形式进行说明。
a)抽取正样本对。例如,在本batch中随机选择一个视频类别n(如交通),从该视频类别n的Cnew中随机选择k个聚类簇(如k>2),从选择的每个聚类簇中随机选择m个关键分镜片段(如m>10)。由于每个关键分镜片段中的两个训练图像可以构建一个正样本对,因此可以得到m×k个正样本对。
b)抽取难三元组(对应上文的第一训练图像组)。例如,在已选择出每个聚类簇中的m个关键分镜片段的基础上,对于m个关键分镜片段中的任意一个关键分镜片段x,从其他的m-1个关键分镜片段中确定与关键分镜片段x距离(指片段特征之间的距离)最小的若干个关键分镜片段,这里以5个关键分镜片段为例。对于这5个关键分镜片段,从每个关键分镜片段中随机选择一个训练图像作为负样本,并与关键分镜片段x中的正样本对组成难三元组,如此,对于关键分镜片段x可以得到5个难三元组。
c)抽取易三元组(对应上文的第二训练图像组)。例如,对于某个聚类簇中选择出的m个关键分镜片段中的任意一个关键分镜片段x,从其他的k-1个聚类簇中随机选择若干个关键分镜片段,这里以15个关键分镜片段为例。对于这15个关键分镜片段,从每个关键分镜片段中随机选择一个训练图像以作为负样本,并与关键分镜片段x中的正样本对组成易三元组,如此,对于关键分镜片段x可以得到15个易三元组。
值得说明的是,由于在数据挖掘阶段已对同一聚类簇中的关键分镜片段进行了去重处理及合并更新处理,因此,同一聚类簇中的多个关键分镜片段彼此不相似,但是这些关键分镜片段又基于片段特征(分类Embedding)聚类到同一聚类簇中,表示存在一定的分类相似性。故而,将具有分类相似性的训练图像作为负样本所构成的三元组作为难三元组,由于难三元组中的anchor与negative之间具有分类相似性但又不是相似的图像,故这样的难三元组是在训练过程中更需要学习的困难数据。相较于相关技术提供的方案中直接从海量训练图像中随机抽取负样本、或者在某个随机组合得到的三元组中寻找困难负样本(困难负样本在全量的训练图像中占比一般偏小,例如只占全量的训练图像的1/10000,因此,随机组合得到难三元组的概率较低,例如在每个batch中得到2个难三元组的概率是1/10000*1/10000),本申请实施例通过视频类别以及具备分类语义的片段特征,更巧妙地在更有意义的搜索空间中寻找难三元组;通过这种搜索空间划分(视频类别以及聚类簇这两个层次的划分)来进行难三元组的采样,有效保证每次batch学习时都有足够数量的难三元组。
在本申请实施例中可以进行样本均衡,即难三元组与易三元组之间的数量比例为1:3,该数量比例可以根据模型训练的难度进行修正,例如,若基于难三元组进行学习的难度过高,则可以修正数量比例为1:10。保证难三元组的数量少于易三元组的数量的原义在于,难三元组在实际应用场景中的比例一般偏小,如果用于模型训练的难三元组的比例越大,则会导致训练出的图像处理模型对难三元组倾斜,对易三元组则越来越没有判别性,因此,在模型训练过程中保证大量易三元组的投入,从而保证图像处理模型的泛化性。
d)计算损失值。通过上述步骤可以得到m×k×20个三元组。在计算损失值时,计算其中每个三元组的Triplet Loss,并对m×k×20个三元组的Triplet Loss进行求和处理(直接求和或加权求和)得到总损失值,该总损失值用于进行权重参数更新。
其中,根据任意一个三元组(anchor,positive,negative)计算Triplet Loss的公式如下:
Triplet Loss=max(‖xa-xp‖-‖xa-xn‖+α,0)
其中,xa表示三元组中的anchor的待对比的图像特征,以此类推;‖xa-xp‖表示anchor与positive对应待对比的图像特征的距离,以此类推;α为margin参数,可以根据待对比的图像特征的维度进行调整,例如可以与待对比的图像特征的维度正相关,例如α可以设定为0.4。计算Triplet Loss的目的在于:约束anchor与negative对应待对比的图像特征的距离较之anchor与positive对应待对比的图像特征的距离更大,且两个距离之间的差值大于α。
③权重参数更新。例如,可以采用随机梯度下降算法或其他梯度下降算法,对得到的损失值(如总损失值)进行反向传播处理,并在反向传播的过程中,沿梯度下降方向更新需要训练的网络的权重参数。
模型训练完成时,即可基于训练后的图像处理模型进行相似图像查询/相似视频查询,这里以相似视频查询的情况为例,将通过步骤形式进行说明。
1)建立图像索引。
①对于S个样本视频中的每个样本视频,进行均匀采样处理得到P个样本图像,如此,总共可以得到P*S个样本图像,其中,对这里的均匀采样处理的采样频率不做限定,例如可以是一秒五帧。值得说明的是,样本视频可以是上述的训练视频,也可以是区别于训练视频的新的视频。
②对于得到的每个样本图像,通过训练后的图像处理模型进行前向传播处理,得到图像特征。
③根据所有样本图像的图像特征进行聚类中心选取处理,并将得到的聚类中心作为图像索引。本申请实施例对聚类中心选取处理所采用的聚类算法不做限定,例如可以是Kmeans算法、分层聚类算法、K-means++算法等。此外,对聚类中心的数量也不做限定,例如可为一万个。
2)建立倒排表(也称倒排矩阵)。
在得到图像索引的基础上,还可以进一步建立与图像索引对应的倒排表,其中,该倒排表用于记录图像索引与样本图像之间的对应关系。示例过程如下。
①初始化二维的倒排表中的数值为全0,该倒排表的维度为(K,S),其中,K表示图像索引的数量,例如可为1万;S表示样本视频的数量。倒排表中的某个数值(k,s,x)表示第s个样本视频中有x个样本图像对应(即存在对应关系)的图像索引均为第k个图像索引。
②针对每个样本视频(以第s个样本视频为例),遍历样本视频中的多个样本图像,并针对遍历到的样本图像执行以下处理。
a)确定与遍历到的样本图像之间的距离(指图像特征之间的距离)最小的图像索引j。
b)根据图像索引j更新倒排表,即是将倒排表中的数值(j,s,x)更新为(j,s,x+1)。
3)根据倒排表进行视频召回。这里,以步骤形式说明视频召回的过程。
①在获取到待查询视频时,对待查询视频进行均匀采样处理(例如采样频率为一秒五帧),得到多个待查询图像。对于每个待查询图像,通过训练后的图像处理模型进行前向传播处理,得到图像特征。
②遍历多个待查询图像,并根据遍历到的待查询图像的图像特征进行视频召回,示例过程如下。
a)确定与遍历到的待查询图像之间的距离最小的图像索引t。
b)根据图像索引t,获取倒排表中的第t个向量Vt,其中,向量Vt的维度为1*S。当向量Vt中的第s个值为x时,表示第s个样本视频中的x个样本图像与图像索引t存在对应关系。
c)遍历向量Vt中的多个值。当遍历到的值等于0时,跳过遍历到的值,并继续遍历下一个值;当遍历到的值大于0时,将遍历到的值对应的样本视频作为召回的视频,即待查询视频的相似样本视频。
本申请实施例至少能够实现以下技术效果:1)借助先验知识(如视频类别等)从海量训练视频中产生有效的三元组进行模型训练,无需人工标注投入即可实现数据挖掘及模型训练;2)借助视频类别及图像分类模型,对由训练视频产生的海量无组织的训练图像进行二级层次归类并清洗去重,从而实现有效的数据收集整理;3)通过设计有约束的三元组生成方案,更有效地进行难三元组的挖掘,并且对难三元组和易三元组进行样本均衡,使得图像处理模型能够更均衡地学习全量数据;4)通过上述数据挖掘和模型训练,在有限人工投入下,能够提升模型训练效果,从而提升后续的召回精度;5)支持增量的数据挖掘,对于新增的训练视频来说,按其所属的视频类别找到对应的聚类库,对该聚类库进行合并更新处理,并驱动图像处理模型在更新后的聚类库下训练即可,能够在最快时间内实现新增数据,避免历史数据的重复挖掘;6)应用场景广泛,例如可应用于图像去重/视频去重的场景中。
下面继续说明本申请实施例提供的基于人工智能的图像处理模型训练装置4551实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器450的基于人工智能的图像处理模型训练装置4551中的软件模块可以包括:聚类模块45511,用于对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,分镜片段包括多个相似的训练图像;去重模块45512,用于对聚类簇中的多个分镜片段进行去重处理,以更新聚类簇;采样模块45513,用于对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;训练模块45514,用于根据训练图像组中的多个训练图像、以及多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的图像处理模型用于对图像进行特征提取处理。
在一些实施例中,聚类模块45511,还用于:根据分镜片段的片段特征,确定不同分镜片段之间的距离;根据距离对多个训练视频分别对应的分镜片段进行聚类中心选取处理,得到多个聚类中心;针对区别于多个聚类中心的任意一个分镜片段,将任意一个分镜片段添加至相距的距离最小的聚类中心对应的聚类簇中;去重模块45512,还用于:当聚类簇中的任意两个分镜片段之间的距离满足去重距离条件时,丢弃任意两个分镜片段的其中之一,得到更新后的聚类簇。
在一些实施例中,聚类模块45511,还用于:将分镜片段中的任意一个训练图像的标注图像特征,作为分镜片段的片段特征;其中,任意一个训练图像的标注图像特征包括以下任意一种:针对任意一个训练图像设置的图像特征;通过图像分类模型对任意一个训练图像进行特征提取处理得到的图像特征;方向梯度直方图HOG特征;尺度不变特征变换SIFT特征。
在一些实施例中,聚类模块45511,还用于:对多个训练视频进行划分处理,得到多个训练视频集合;对初始训练视频集合中的多个训练视频分别对应的分镜片段进行聚类处理;其中,初始训练视频集合是多个训练视频集合中的任意一个;根据区别于初始训练视频集合的训练视频集合,对更新后的多个聚类簇进行合并更新处理。
在一些实施例中,聚类模块45511,还用于:对更新后的聚类簇中多个分镜片段分别对应的片段特征进行融合处理,得到融合片段特征;针对区别于初始训练视频集合的训练视频集合中的任意一个分镜片段,执行以下处理:根据融合片段特征以及任意一个分镜片段的片段特征,确定任意一个分镜片段与更新后的多个聚类簇之间的距离,并将距离最小的更新后的聚类簇作为目标聚类簇;当任意一个分镜片段与目标聚类簇中的多个分镜片段之间的距离均满足合并距离条件时,将任意一个分镜片段添加至目标聚类簇中,以更新目标聚类簇。
在一些实施例中,训练模块45514,还用于:通过图像处理模型对训练图像组中的训练图像进行特征提取处理,得到待对比的图像特征;根据训练图像组中的多个训练图像分别对应的待对比的图像特征、以及多个训练图像之间的相似关系进行损失计算处理,得到训练图像组的损失值;根据训练图像组的损失值训练图像处理模型。
在一些实施例中,训练图像组包括第一训练图像、与第一训练图像相似的第二训练图像、以及与第一训练图像不相似的第三训练图像;训练模块45514,还用于:根据第一训练图像与第二训练图像对应待对比的图像特征的距离、以及第一训练图像与第三训练图像对应待对比的图像特征的距离,确定训练图像组的损失值。
在一些实施例中,图像处理模型包括初始特征提取网络及深度特征提取网络;训练模块45514,还用于:通过初始特征提取网络对训练图像组中的训练图像进行初始特征提取处理,得到初始特征;通过深度特征提取网络对初始特征进行深度特征提取处理,得到待对比的图像特征;执行以下任意一种处理:根据训练图像组的损失值训练初始特征提取网络及深度特征提取网络;根据训练图像组的损失值训练深度特征提取网络。
在一些实施例中,采样模块45513,还用于:根据数量比例对更新后的多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到满足数量比例的多个训练图像组;其中,数量比例用于约束第一训练图像组的数量小于第二训练图像组的数量;其中,第一训练图像组包括属于更新后的同一聚类簇、且分别属于不同分镜片段的多个不相似的训练图像;第二训练图像组包括分别属于更新后的不同聚类簇的多个不相似的训练图像。
在一些实施例中,基于人工智能的图像处理模型训练装置4551还包括前置去重模块,用于:对训练视频进行分镜处理得到多个分镜片段;对训练视频的多个分镜分段进行去重处理,并将保留的分镜片段作为训练视频中待进行聚类处理的分镜片段。
在一些实施例中,聚类模块45511,还用于:对同一视频类别的多个训练视频分别对应的分镜片段进行聚类处理;其中,训练视频的视频类别包括以下任意一种:针对训练视频设置的视频类别;视频播放平台中与训练视频对应的视频类别;通过视频分类模型对训练视频进行视频分类处理得到的视频类别。
下面继续说明本申请实施例提供的基于图像处理模型的图像处理装置4552实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器450的基于图像处理模型的图像处理装置4552中的软件模块可以包括:特征提取模块45521,用于通过图像处理模型对样本图像进行特征提取处理,得到样本图像的图像特征;索引建立模块45522,用于根据多个样本图像分别对应的图像特征建立图像索引;特征提取模块45521,还用于通过图像处理模型对待查询图像进行特征提取处理,得到待查询图像的图像特征;相似查询模块45523,用于根据待查询图像的图像特征对图像索引进行相似查询处理,得到相似图像索引;相似查询模块45523,还用于将相似图像索引对应的至少部分样本图像,作为待查询图像的相似样本图像。
在一些实施例中,索引建立模块45522,还用于:根据样本图像的图像特征,确定不同样本图像之间的距离;根据距离对多个样本图像分别对应的图像特征进行聚类中心选取处理,将得到的多个聚类中心均作为图像索引;建立样本图像与索引距离满足索引距离条件的图像索引之间的对应关系;其中,索引距离表示样本图像的图像特征与图像索引之间的距离。
在一些实施例中,相似查询模块45523,还用于;将与待查询图像之间的查询距离满足查询距离条件的图像索引,作为相似图像索引;其中,查询距离表示待查询图像的图像特征与图像索引之间的距离。
在一些实施例中,样本图像是对样本视频进行采样处理得到的,待查询图像是对待查询视频进行采样处理得到的;相似查询模块45523,还用于:将相似样本图像所在的样本视频,作为待查询视频的相似样本视频。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令(即可执行指令),该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的基于人工智能的图像处理模型训练方法或基于图像处理模型的图像处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3A、图3B、图3C及图3D示出的基于人工智能的图像处理模型训练方法,或者如图4示出的基于图像处理模型的图像处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种基于人工智能的图像处理模型训练方法,其特征在于,所述方法包括:
对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,所述分镜片段包括多个相似的训练图像;
对所述聚类簇中的多个分镜片段进行去重处理,以更新所述聚类簇;
对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;
根据所述训练图像组中的多个训练图像、以及所述多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的所述图像处理模型用于对图像进行特征提取处理。
2.根据权利要求1所述的方法,其特征在于,所述对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇,包括:
根据所述分镜片段的片段特征,确定不同所述分镜片段之间的距离;
根据所述距离对所述多个训练视频分别对应的分镜片段进行聚类中心选取处理,得到多个聚类中心;
针对区别于所述多个聚类中心的任意一个分镜片段,将所述任意一个分镜片段添加至相距的距离最小的聚类中心对应的聚类簇中;
所述对所述聚类簇中的多个分镜片段进行去重处理,以更新所述聚类簇,包括:
当所述聚类簇中的任意两个分镜片段之间的距离满足去重距离条件时,丢弃所述任意两个分镜片段的其中之一,得到更新后的所述聚类簇。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分镜片段的片段特征,确定不同所述分镜片段之间的距离之前,所述方法还包括:
将所述分镜片段中的任意一个训练图像的标注图像特征,作为所述分镜片段的片段特征;
其中,所述任意一个训练图像的标注图像特征包括以下任意一种:针对所述任意一个训练图像设置的图像特征;通过图像分类模型对所述任意一个训练图像进行特征提取处理得到的图像特征;方向梯度直方图HOG特征;尺度不变特征变换SIFT特征。
4.根据权利要求1所述的方法,其特征在于,所述对多个训练视频分别对应的分镜片段进行聚类处理,包括:
对所述多个训练视频进行划分处理,得到多个训练视频集合;
对初始训练视频集合中的多个训练视频分别对应的分镜片段进行聚类处理;其中,所述初始训练视频集合是所述多个训练视频集合中的任意一个;
所述对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理之前,所述方法还包括:
根据区别于所述初始训练视频集合的训练视频集合,对更新后的所述多个聚类簇进行合并更新处理。
5.根据权利要求4所述的方法,其特征在于,所述根据区别于所述初始训练视频集合的训练视频集合,对更新后的所述多个聚类簇进行合并更新处理,包括:
对更新后的所述聚类簇中多个分镜片段分别对应的片段特征进行融合处理,得到融合片段特征;
针对区别于所述初始训练视频集合的训练视频集合中的任意一个分镜片段,执行以下处理:
根据所述融合片段特征以及所述任意一个分镜片段的片段特征,确定所述任意一个分镜片段与更新后的所述多个聚类簇之间的距离,并将距离最小的更新后的所述聚类簇作为目标聚类簇;
当所述任意一个分镜片段与所述目标聚类簇中的多个分镜片段之间的距离均满足合并距离条件时,将所述任意一个分镜片段添加至所述目标聚类簇中,以更新所述目标聚类簇。
6.根据权利要求1所述的方法,其特征在于,所述根据所述训练图像组中的多个训练图像、以及所述多个训练图像之间的相似关系,对图像处理模型进行训练,包括:
通过所述图像处理模型对所述训练图像组中的训练图像进行特征提取处理,得到待对比的图像特征;
根据所述训练图像组中的多个训练图像分别对应的待对比的图像特征、以及所述多个训练图像之间的相似关系进行损失计算处理,得到所述训练图像组的损失值;
根据所述训练图像组的损失值训练所述图像处理模型。
7.根据权利要求6所述的方法,其特征在于,所述训练图像组包括第一训练图像、与所述第一训练图像相似的第二训练图像、以及与所述第一训练图像不相似的第三训练图像;
所述根据所述训练图像组中的多个训练图像分别对应的待对比的图像特征、以及所述多个训练图像之间的相似关系进行损失计算处理,得到所述训练图像组的损失值,包括:
根据所述第一训练图像与所述第二训练图像对应所述待对比的图像特征的距离、以及所述第一训练图像与所述第三训练图像对应所述待对比的图像特征的距离,确定所述训练图像组的损失值。
8.根据权利要求6所述的方法,其特征在于,所述图像处理模型包括初始特征提取网络及深度特征提取网络;
所述通过所述图像处理模型对所述训练图像组中的训练图像进行特征提取处理,得到待对比的图像特征,包括:
通过所述初始特征提取网络对所述训练图像组中的训练图像进行初始特征提取处理,得到初始特征;
通过所述深度特征提取网络对所述初始特征进行深度特征提取处理,得到待对比的图像特征;
所述根据所述训练图像组的损失值训练所述图像处理模型,包括:
执行以下任意一种处理:
根据所述训练图像组的损失值训练所述初始特征提取网络及所述深度特征提取网络;
根据所述训练图像组的损失值训练所述深度特征提取网络。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组,包括:
根据数量比例对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到满足所述数量比例的多个训练图像组;
其中,所述数量比例用于约束第一训练图像组的数量小于第二训练图像组的数量;
其中,所述第一训练图像组包括属于更新后的同一聚类簇、且分别属于不同分镜片段的多个不相似的训练图像;所述第二训练图像组包括分别属于更新后的不同聚类簇的多个不相似的训练图像。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述对多个训练视频分别对应的分镜片段进行聚类处理之前,所述方法还包括:
对训练视频进行分镜处理得到多个分镜片段;
对所述训练视频的多个分镜分段进行去重处理,并将保留的分镜片段作为所述训练视频中待进行聚类处理的分镜片段。
11.根据权利要求1至8任一项所述的方法,其特征在于,所述对多个训练视频分别对应的分镜片段进行聚类处理,包括:
对同一视频类别的多个训练视频分别对应的分镜片段进行聚类处理;
其中,所述训练视频的视频类别包括以下任意一种:针对所述训练视频设置的视频类别;视频播放平台中与所述训练视频对应的视频类别;通过视频分类模型对所述训练视频进行视频分类处理得到的视频类别。
12.一种基于权利要求1至11任一项所述的图像处理模型的图像处理方法,其特征在于,所述方法包括:
通过所述图像处理模型对样本图像进行特征提取处理,得到所述样本图像的图像特征;
根据多个所述样本图像分别对应的图像特征建立图像索引;
通过所述图像处理模型对待查询图像进行特征提取处理,得到所述待查询图像的图像特征;
根据所述待查询图像的图像特征对所述图像索引进行相似查询处理,得到相似图像索引;
将所述相似图像索引对应的至少部分样本图像,作为所述待查询图像的相似样本图像。
13.一种基于人工智能的图像处理模型训练装置,其特征在于,所述装置包括:
聚类模块,用于对多个训练视频分别对应的分镜片段进行聚类处理,得到多个聚类簇;其中,所述分镜片段包括多个相似的训练图像;
去重模块,用于对所述聚类簇中的多个分镜片段进行去重处理,以更新所述聚类簇;
采样模块,用于对更新后的所述多个聚类簇中属于同一分镜片段的多个相似的训练图像、以及分别属于不同分镜片段的多个不相似的训练图像进行采样处理,得到训练图像组;
训练模块,用于根据所述训练图像组中的多个训练图像、以及所述多个训练图像之间的相似关系,对图像处理模型进行训练;其中,训练后的所述图像处理模型用于对图像进行特征提取处理。
14.一种基于图像处理模型的图像处理装置,其特征在于,所述装置包括:
特征提取模块,用于通过所述图像处理模型对样本图像进行特征提取处理,得到所述样本图像的图像特征;
索引建立模块,用于根据多个所述样本图像分别对应的图像特征建立图像索引;
所述特征提取模块,还用于通过所述图像处理模型对待查询图像进行特征提取处理,得到所述待查询图像的图像特征;
相似查询模块,用于根据所述待查询图像的图像特征对所述图像索引进行相似查询处理,得到相似图像索引;
所述相似查询模块,还用于将所述相似图像索引对应的至少部分样本图像,作为所述待查询图像的相似样本图像。
15.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的基于人工智能的图像处理模型训练方法,或者权利要求12所述的基于图像处理模型的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110646164.1A CN113821657A (zh) | 2021-06-10 | 2021-06-10 | 基于人工智能的图像处理模型训练方法及图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110646164.1A CN113821657A (zh) | 2021-06-10 | 2021-06-10 | 基于人工智能的图像处理模型训练方法及图像处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821657A true CN113821657A (zh) | 2021-12-21 |
Family
ID=78912528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110646164.1A Pending CN113821657A (zh) | 2021-06-10 | 2021-06-10 | 基于人工智能的图像处理模型训练方法及图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821657A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114897060A (zh) * | 2022-04-25 | 2022-08-12 | 中国平安人寿保险股份有限公司 | 样本分类模型的训练方法和装置、样本分类方法和装置 |
CN115984671A (zh) * | 2023-03-17 | 2023-04-18 | 中科慧远视觉技术(北京)有限公司 | 模型在线更新方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-06-10 CN CN202110646164.1A patent/CN113821657A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114897060A (zh) * | 2022-04-25 | 2022-08-12 | 中国平安人寿保险股份有限公司 | 样本分类模型的训练方法和装置、样本分类方法和装置 |
CN114897060B (zh) * | 2022-04-25 | 2024-05-03 | 中国平安人寿保险股份有限公司 | 样本分类模型的训练方法和装置、样本分类方法和装置 |
CN115984671A (zh) * | 2023-03-17 | 2023-04-18 | 中科慧远视觉技术(北京)有限公司 | 模型在线更新方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829880B2 (en) | Generating trained neural networks with increased robustness against adversarial attacks | |
US11741361B2 (en) | Machine learning-based network model building method and apparatus | |
US8280915B2 (en) | Binning predictors using per-predictor trees and MDL pruning | |
CN111708876B (zh) | 生成信息的方法和装置 | |
CN112052387B (zh) | 一种内容推荐方法、装置和计算机可读存储介质 | |
CN111382283B (zh) | 资源类别标签标注方法、装置、计算机设备和存储介质 | |
CN113761261A (zh) | 图像检索方法、装置、计算机可读介质及电子设备 | |
US11010411B2 (en) | System and method automatically sorting ranked items and generating a visual representation of ranked results | |
CN110737805B (zh) | 图模型数据的处理方法、装置和终端设备 | |
CN113190670A (zh) | 一种基于大数据平台的信息展示方法及系统 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN116601626A (zh) | 个人知识图谱构建方法、装置及相关设备 | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN113343020B (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
CN114676279A (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
KR102039244B1 (ko) | 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템 | |
US11853858B2 (en) | Chart building user interface providing machine learned chart recommendations | |
CN110472058B (zh) | 实体搜索方法、相关设备及计算机存储介质 | |
CN115098732B (zh) | 数据处理方法及相关装置 | |
Dhoot et al. | Efficient Dimensionality Reduction for Big Data Using Clustering Technique | |
US20230162518A1 (en) | Systems for Generating Indications of Relationships between Electronic Documents | |
US20230229570A1 (en) | Graph machine learning for case similarity | |
CN112906824B (zh) | 车辆聚类方法、系统、设备及存储介质 | |
Wei et al. | Learning and exploiting interclass visual correlations for medical image classification | |
CN111538859B (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 |