CN113033507B - 场景识别方法、装置、计算机设备和存储介质 - Google Patents

场景识别方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113033507B
CN113033507B CN202110551265.0A CN202110551265A CN113033507B CN 113033507 B CN113033507 B CN 113033507B CN 202110551265 A CN202110551265 A CN 202110551265A CN 113033507 B CN113033507 B CN 113033507B
Authority
CN
China
Prior art keywords
feature
scene
sub
feature map
training
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.)
Active
Application number
CN202110551265.0A
Other languages
English (en)
Other versions
CN113033507A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110551265.0A priority Critical patent/CN113033507B/zh
Publication of CN113033507A publication Critical patent/CN113033507A/zh
Application granted granted Critical
Publication of CN113033507B publication Critical patent/CN113033507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种场景识别方法、装置、计算机设备和存储介质。该方法包括:将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图,基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图的第一场景相关度;基于第一子特征图的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图;基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果;基于预测场景识别结果对场景识别模型进行参数调整。采用本方法能够提高场景识别的准确度。本申请中的场景识别模型可以是基于人工智能的神经网络模型。

Description

场景识别方法、装置、计算机设备和存储介质
技术领域
本申请涉及图像处理技术领域,特别是涉及一种场景识别方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术以及多媒体技术的发展,视频的种类越来越多,视频涉及到的场景也越来越丰富,视频涉及到的场景例如可以包括海滩、羽毛球场或图书馆等。由于视频的场景是反映视频内容的重要信息,因此识别视频中的场景可以更好的理解视频的内容。
目标,可以通过多种方式识别视频的场景,例如可以通过基于人工智能的神经网络模型确定视频帧的场景。
然而,目前的识别视频场景的方法存在不能准确识别视频场景的情况,导致场景识别的准确度低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高场景识别准确度的场景识别方法、装置、计算机设备和存储介质。
一种场景识别方法,所述方法包括:获取训练图像,将所述训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图;基于所述训练特征图以及所述场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,所述第一子特征图集合包括多个第一子特征图,所述第一子特征图集合是对所述训练特征图进行划分得到的;基于各个所述第一子特征图对应的第一场景相关度,从所述第一子特征图集合中筛选得到与场景相关的训练子特征图;基于所述训练子特征图以及所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果;基于所述预测场景识别结果对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
一种场景识别装置,所述装置包括:训练特征图得到模块,用于获取训练图像,将所述训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图;第一场景相关度检测模块,用于基于所述训练特征图以及所述场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,所述第一子特征图集合包括多个第一子特征图,所述第一子特征图集合是对所述训练特征图进行划分得到的;训练子特征图得到模块,用于基于各个所述第一子特征图对应的第一场景相关度,从所述第一子特征图集合中筛选得到与场景相关的训练子特征图;预测场景识别结果得到模块,用于基于所述训练子特征图以及所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果;训练后的场景识别模型得到模块,用于基于所述预测场景识别结果对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
在一些实施例中,所述训练子特征图为多个,所述预测场景识别结果是结合多个所述训练子特征图识别得到的;所述训练后的场景识别模型得到模块包括:第一预测损失值得到单元,用于基于所述预测场景识别结果得到第一预测损失值;预测类别识别结果得到单元,用于对各个所述训练子特征图分别进行类别识别,得到各个所述训练子特征图分别对应的预测类别识别结果;第二预测损失值得到单元,用于基于各个所述预测类别识别结果得到第二预测损失值;目标损失值得到单元,用于基于所述第一预测损失值以及所述第二预测损失值得到目标损失值;参数调整单元,用于基于所述目标损失值对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
在一些实施例中,所述预测类别识别结果包括对象类别识别结果;所述第二预测损失值包括对象类别损失值;所述预测类别识别结果得到单元,还用于将所述训练子特征图分别输入到对象分类网络中进行识别,得到各个所述训练子特征图分别对应的对象类别识别结果;所述第二预测损失值得到单元,还用于基于多个所述训练子特征图进行聚类,得到各个所述训练子特征图分别对应的参考对象类别;基于所述对象类别识别结果与所述参考对象类别之间的差异得到对象类别损失值。
在一些实施例中,所述预测类别识别结果得到单元,还用于对多个所述训练子特征图进行聚类,得到各个特征图聚类所对应的聚类中心;获取所述聚类中心所对应的聚类类别,将所述聚类类别作为所述特征图聚类中的训练子特征图对应的参考对象类别。
在一些实施例中,所述预测类别识别结果包括场景类别识别结果,所述第二预测损失值包括场景类别损失值;所述预测类别识别结果得到单元,还用于将所述训练子特征图分别输入到场景分类网络中进行分类,得到各个所述训练子特征图分别对应的场景类别识别结果;所述第二预测损失值得到单元,还用于获取所述训练图像对应的标准场景识别结果;基于所述场景类别识别结果与所述标准场景识别结果之间的差异得到场景类别损失值。
在一些实施例中,所述预测场景识别结果得到模块包括:训练融合特征得到单元,用于将所述训练特征图与所述训练子特征图进行融合,得到训练融合特征;预测场景识别结果得到单元,用于将所述训练融合特征输入到所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果。
在一些实施例中,所述训练子特征图得到模块,还用于将所述第一子特征图集合中满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图;所述第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取训练图像,将所述训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图;基于所述训练特征图以及所述场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,所述第一子特征图集合包括多个第一子特征图,所述第一子特征图集合是对所述训练特征图进行划分得到的;基于各个所述第一子特征图对应的第一场景相关度,从所述第一子特征图集合中筛选得到与场景相关的训练子特征图;基于所述训练子特征图以及所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果;基于所述预测场景识别结果对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取训练图像,将所述训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图;基于所述训练特征图以及所述场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,所述第一子特征图集合包括多个第一子特征图,所述第一子特征图集合是对所述训练特征图进行划分得到的;基于各个所述第一子特征图对应的第一场景相关度,从所述第一子特征图集合中筛选得到与场景相关的训练子特征图;基于所述训练子特征图以及所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果;基于所述预测场景识别结果对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
上述场景识别方法、装置、计算机设备和存储介质,获取训练图像,将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图,基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图,基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果,基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型,由于训练子特征图是与场景相关的特征,故通过训练子特征图进行场景识别,可以提高场景识别的准确度,即提高预测场景识别结果的准确度,从而基于预测场景识别网络对场景识别模型进行训练,可以提高场景识别模型进行场景识别的准确度。
一种场景识别方法,所述方法包括:获取待识别的目标图像;对所述目标图像进行特征提取,得到目标特征图;基于所述目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度;所述第二子特征图集合包括多个第二子特征图,所述第二子特征图集合是对所述目标特征图进行划分得到的;基于各个所述第二子特征图对应的第二场景相关度,从所述第二子特征图集合中筛选得到与场景相关的目标子特征图;基于所述目标子特征图进行场景识别,得到所述目标图像对应的目标场景。
一种场景识别装置,所述装置包括:目标图像获取模块,用于获取待识别的目标图像;目标特征图得到模块,用于对所述目标图像进行特征提取,得到目标特征图;第二场景相关度检测模块,用于基于所述目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度;所述第二子特征图集合包括多个第二子特征图,所述第二子特征图集合是对所述目标特征图进行划分得到的;目标子特征图得到模块,用于基于各个所述第二子特征图对应的第二场景相关度,从所述第二子特征图集合中筛选得到与场景相关的目标子特征图;场景识别模块,用于基于所述目标子特征图进行场景识别,得到所述目标图像对应的目标场景。
在一些实施例中,所述第二场景相关度检测模块包括:特征提取向量得到单元,用于基于目标特征图进行特征提取,得到特征提取向量;特征位置获取单元,用于获取所述特征提取向量中各个向量特征值在所述目标特征图中所对应的特征位置;第二子特征图得到单元,用于将所述目标特征图中所述特征位置对应的特征区域,作为所述向量特征值对应的第二子特征图,将所述特征值作为所述第二子特征图对应的第二场景相关度。
在一些实施例中,所述特征提取向量包括第一特征向量以及第二特征向量,所述特征提取向量得到单元,还用于对所述目标特征图进行特征空间压缩,得到第一特征图,对所述第一特征图进行特征空间压缩,得到第二特征图;基于所述第一特征图进行向量变换,得到所述第一特征向量;基于所述第二特征图进行向量变换,得到所述第二特征向量。
在一些实施例中,所述目标子特征图得到模块,还用于将所述第二子特征图集合中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图;所述第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待识别的目标图像;对所述目标图像进行特征提取,得到目标特征图;基于所述目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度;所述第二子特征图集合包括多个第二子特征图,所述第二子特征图集合是对所述目标特征图进行划分得到的;基于各个所述第二子特征图对应的第二场景相关度,从所述第二子特征图集合中筛选得到与场景相关的目标子特征图;基于所述目标子特征图进行场景识别,得到所述目标图像对应的目标场景。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待识别的目标图像;对所述目标图像进行特征提取,得到目标特征图;基于所述目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度;所述第二子特征图集合包括多个第二子特征图,所述第二子特征图集合是对所述目标特征图进行划分得到的;基于各个所述第二子特征图对应的第二场景相关度,从所述第二子特征图集合中筛选得到与场景相关的目标子特征图;基于所述目标子特征图进行场景识别,得到所述目标图像对应的目标场景。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
上述场景识别方法、装置、计算机设备和存储介质,获取待识别的目标图像,对目标图像进行特征提取,得到目标特征图,基于目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度,第二子特征图集合包括多个第二子特征图,第二子特征图集合是对目标特征图进行划分得到的,基于各个第二子特征图对应的第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图,基于目标子特征图进行场景识别,得到目标图像对应的目标场景,由于目标子特征图是与场景相关的特征,故基于目标子特征图进行场景识别,提高了场景识别的准确度。
附图说明
图1为一些实施例中场景识别方法的应用环境图;
图2为一些实施例中场景识别方法的流程示意图;
图3为一些实施例中得到第一子特征图的原理图;
图4为一些实施例对参考子特征图与待合并的子特征图进行合并的原理图;
图5A为一些实施例中场景识别模型的结构图;
图5B为一些实施例中场景识别方法的原理图;
图6为一些实施例中残差模块的结构示意图;
图7为一些实施例中场景识别方法的流程示意图;
图8为一些实施例中场景识别方法的应用场景示意图;
图9为一些实施例中场景识别模型的结构图;
图10为一些实施例中场景识别方法的应用场景示意图;
图11为一些实施例中场景识别装置的结构框图;
图12为一些实施例中场景识别装置的结构框图;
图13为一些实施例中计算机设备的内部结构图;
图14为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的图像处理以及机器学习等技术,具体通过如下实施例进行说明:
本申请提供的场景识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102上可以安装有客户端,例如可以安装有视频客户端、浏览器客户端、即时通信客户端或者教育客户端等中的至少一个,例如终端102 可以通过视频客户端展示推送的视频。终端102 可以采集图像或者视频,将采集到的图像或者视频传输至服务器104,服务器104可以将获取到的图像或者视频中的视频图像作为训练图像,利用训练图像对待训练的场景识别模型进行训练,得到训练后的场景识别模型。具体地,服务器104可以将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图,基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,其中,第一子特征图集合包括多个第一子特征图,第一子特征图集合是对训练特征图进行划分得到的,基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图,基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果,基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型。终端102还可以通过客户端响应于目标视频对应的场景搜索操作,确定待搜索的场景,例如获取用户输入或选择的场景作为待搜索的场景,当然待搜索的场景也可以是预先设置的,向服务器104发送目标视频对应的场景搜索请求,服务器104可以场景搜索请求,从目标视频中获取视频图像,将获取的视频图像作为待识别的目标图像,将目标图像输入到训练后的场景识别模型中进行场景识别,得到目标图像的场景,服务器104可以从目标视频中获取场景为待搜索的场景的视频图像,将场景为待搜索的场景的视频图像作为目标视频图像,可以从目标视频中确定包括目标视频图像的视频片段,将视频片段在目标视频中的位置返回至终端102,终端102可以根据视频片段在目标视频中的位置播放该视频片段。
其中,终端102可以但不限于是笔记本电脑、智能手机、平板电脑、台式电脑、智能电视、智能音响、智能手表、车载计算机和便携式可穿戴设备等,但并不局限于此。服务器104可以是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式***,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可以理解,上述应用场景仅是一种示例,并不构成对本申请实施例提供的场景识别的限定,本申请实施例提供的方法还可以应用在其他应用场景中,例如本申请提供的场景识别可以是由终端102执行的,终端102可以将场景识别的结果上传至服务器104,服务器104可以存储场景识别的结果,也可以将场景识别的结果转发至其他终端设备。
如本申请所公开的场景识别方法,其中,可以将训练后的场景识别模型保存到区块链中,例如可以生成训练后的场景识别模型对应的查询码,将查询码与训练后的场景识别模型关联存储到区块链上,当需要获取训练后的场景识别模型时,可以基于查询码从区块链中查询得到训练后的场景识别模型,从而提高了训练后的场景识别模型的安全性。当前还可以将对目标图像进行场景识别所识别得到的场景识别结果保存到区块链中,例如可以生成场景识别结果对应的查询码,将查询码与场景识别结果对应存储到区块链上,当需要获取目标图像的场景时,可以基于查询码从区块链中查询得到对应的目标场景,从而提高了场景识别结果的安全性。其中查询码可以根据目标图像生成,例如可以对目标图像进行编码,将编码的结果作为查询码,例如可以对目标图像进行哈希计算,将计算得到的哈希值作为查询码。
在一些实施例中,如图2所示,提供了一种场景识别方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行,在本申请实施例中,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S202,获取训练图像,将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图。
其中,训练图像是用于进行模型训练的图像,训练图像可以是存储在服务器中的,也可以是存储在与服务器独立的其他设备中的,例如可以是存储在与服务器独立的数据库服务器中的。
场景可以用于表示图像所处的场面或情景,可以表示图像所处的环境或意境中的至少一种。可以将场景划分为多种类型,例如,可以将不同的场所划分为不同的场景类型,例如一种场所可以对应一种场景类型,例如当图像为图书馆的图片时,可以将图像的场景确定为图书馆,当图像为咖啡厅的图片时,可以将图像的场景确定为咖啡厅。也可以根据场所类型将场景划分为不同的场景类型,场所类型可以包括学习场所、运动场所或休闲场所中的至少一种,学习场所可以包括图书馆、书店或教室中的至少一种,运动场所可以包括操场、羽毛球场或足球场中的至少一个,可以将不同场所类型的图像划分为不同的场景类型,例如可以将图书馆的图像、书店的图像以及教室的图像的场景确定为学习场景,将羽毛球场的图像、足球场的图像或游泳馆的图像的场景确定为运动场景。
场景识别模型是用于识别场景的模型,待训练的场景识别模型指的是需要进一步训练的场景识别模型,可以是未经过训练的场景识别模型,也可以是经过一轮或多轮训练的场景识别模型。场景识别模型可以是深度神经网络模型,深度神经网络模型可以具有多层的神经网络结构,神经网络结构可以包括多个堆叠的卷积层,还可以包括池化层,神经网络结构中还可以跨层连接,可以是基于CNN(Convolutional Neural Networks,卷积神经网络)的模型,通过卷积层对图像进行特征提取,例如深度神经模型可以是基于ResNet101的网络模型。
特征提取是指提取图像信息,以得到图像的特征。例如可以用卷积核进行特征提取,得到每层神经网络层输出的特征图(feature map),特征图是指利用模型参数对输入图像进行处理例如进行卷积处理后,得到的图像的特征。训练特征图是利用特征提取网络的模型参数对训练图像进行处理所得到的图像的特征。其中,模型参数是指模型内部的变量参数,对于神经网络模型,也可以称为神经网络权重(weight)。特征提取网络是用于提取特征的网络,可以是基于人工智能的神经网络,例如可以是卷积神经网络,还可以是基于ResNet101(深度残差网络101 )的网络。特征提取网络可以是预训练的网络,例如可以是预训练的ResNet101。
具体地,服务器可以将训练图像输入到特征提取网络中,利用特征提取网络对训练图像进行卷积处理,将卷积处理的结果作为训练特征图。
S204,基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,第一子特征图集合包括多个第一子特征图,第一子特征图集合是对训练特征图进行划分得到的。
其中,场景相关度是指与场景相关的程度,场景相关度越大,则表示与场景越相关,场景相关度越小,则表示与场景越不相关,场景相关度还可以称为置信度。第一场景相关度指的是第一子特征图与场景相关的程度。
子特征图是特征图中的一部分区域,可以将特征图划分为多个子特征图,各个子特征图之间可以有重叠区域,各个子特征图也可以是不重叠的。第一子特征图是训练特征图中的一部分区域,通过对训练特征图进行划分,可以得到多个第一子特征图,多个指的是至少两个,第一子特征图集合是各个第一子特征图组成的集合。子特征图可以称为示例,示例也可以称为实例,示例是对图像的区域进行特征提取所得到的特征。例如第一子特征图集合为X={X1,X2,…,XN},X1~XN是各个第一子特征图,则X1~XN为训练图像的N个示例,N是训练图像被分割出的区域的数量,也是训练图像的示例的数量。示例的场景类型与示例所属的图像的场景类别一致,例如当训练图像的场景为海滩,并且图像中包括“沙子”和“水”时,可以对“沙子”区域进行特征提取得到“沙子”示例,对“水”区域进行特征提取得到“水”示例,则“沙子”示例以及“水”示例对应的场景也为沙滩。
场景识别模型中还可以包括相关度检测网络,相关度检测网络用于对训练特征图进行处理,得到训练特征图对应的第一子特征图以及各个第一子特征图分别对应的第一场景相关度。例如,相关度检测网络可以对训练特征图进行压缩处理,例如可以对训练特征图的特征空间或通道(channel)中的至少一个进行压缩处理,得到压缩特征图,基于压缩特征图确定训练特征图对应的第一子特征图以及各个第一子特征图分别对应的第一场景相关度。其中,对特征空间压缩可以包括对训练特征图的长度或宽度中的至少一个进行压缩。相关度检测网络可以是基于卷积神经网络的,例如可以是卷积层构成的网络或多个卷积层堆叠的网络,多个指的是至少两个。
具体地,服务器可以将训练特征图输入到相关度检测网络中,利用相关度检测网络对训练特征图进行压缩处理,得到压缩特征图,训练特征图中包括与压缩特征图中的各个压缩特征值分别对应的训练特征区域,压缩特征值是通过对训练特征区域进行压缩处理所得到的结果。不同的压缩特征值对应的训练特征区域之间可以存在重叠区域也可以不存在重叠区域。服务器可以确定各个压缩特征值分别对应的训练特征区域,将训练特征区域作为第一子特征图,将训练特征区域对应的压缩特征值作为第一场景相关度。压缩特征值是指压缩特征图中的特征值。如图3所示,点B为压缩特征图中的点,点B是通过对训练特征图中的特征区域A进行压缩处理所得到的,故可以将特征区域A作为第一子特征图,将点B对应的压缩特征值作为特征区域A对应的第一子特征图的第一场景相关度。
在一些实施例中,服务器可以对压缩特征图中的压缩特征值进行顺序排列,将排列得到的序列作为压缩特征向量,服务器可以获取压缩特征向量中的各个压缩特征值分别对应的训练特征区域,将训练特征区域作为第一子特征图,将训练特征区域对应的压缩特征值作为第一场景相关度。
在一些实施例中,相关度检测网络可以包括特征空间压缩网络或通道压缩网络中的至少一个,特征空间压缩网络可以有一个或多个,多个是指至少两个,通道压缩网络可以有一个或多个,多个是指至少两个。特征空间压缩网络用于对特征图的特征空间进行压缩,通道压缩网络用于对特征图的通道进行压缩。服务器可以先利用通道压缩网络对训练特征图的通道进行压缩,得到通道压缩特征图,再利用特征空间压缩网络对通道压缩特征图进行压缩,将压缩后的特征作为压缩特征图,或者服务器可以先利用特征空间压缩网络对训练特征图的特征空间进行压缩,得到空间压缩特征图,再利用通道压缩网络对空间压缩特征图进行压缩,将压缩后的特征作为压缩特征图。
在一些实施例中,压缩特征图可以有多个,各个压缩特征图的尺寸可以是不同的,例如压缩特征图的特征空间的尺寸或通道尺寸中的至少一个可以是不同的,服务器可以将各个压缩特征图对应的训练特征区域作为第一子特征图集合。例如压缩特征图可以包括第一压缩特征图以及第二压缩特征图,并且第一压缩特征图与第二压缩特征图的尺寸不同。压缩特征向量可以包括第一压缩特征向量以及第二压缩特征向量,服务器可以对第一压缩特征图中的压缩特征值进行排列,将排列得到的序列作为第一压缩特征向量,对第二压缩特征图中的压缩特征值进行排列,将排列得到的序列作为第二压缩特征向量。服务器可以获取第一压缩特征图或第一压缩特征向量中的压缩特征值对应的训练特征区域,作为第一训练特征区域,获取第二压缩特征图或第二压缩特征向量中的压缩特征值对应的训练特征区域,作为第二训练特征区域,将各个第一训练特征区域以及各个第二训练特征区域组成第一子特征图集合。
在一些实施例中,特征空间压缩网络可以包括第一特征空间压缩网络以及第二特征空间压缩网络,通道压缩网络可以包括第一通道压缩网络以及第二通道压缩网络,服务器可以将训练特征图输入到第一特征空间压缩网络中进行特征空间压缩,得到第一空间压缩特征图,将第一空间压缩特征图输入到第二特征空间压缩网络中进行特征空间压缩,得到第二空间压缩特征图,将第一空间压缩特征图输入到第一通道压缩网络中进行通道压缩,得到第一压缩特征图,将第二空间压缩特征图输入到第二通道压缩网络中进行通道压缩,得到第二压缩特征图。特征空间压缩是指对特征空间进行压缩。通道压缩是指对通道进行压缩。第一压缩特征图与第二压缩特征在特征空间上的长度可以不同。例如,一个训练图像对应的训练特征图的大小为38×63×2048,其中,2048为卷积的通道数量,38×63为训练图像在特征空间的长度,第一空间压缩特征图的大小为9×15×128,可见特征空间的长度由38×63压缩为9×15,第一压缩特征图的大小为9×15×6,可见通道数量由128压缩到6。
S206,基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图。
其中,训练子特征图是基于第一场景相关度从第一子特征图集合中获取的第一子特征图。例如可以是基于非极大值抑制(Non Maximum Suppression,NMS)从第一子特征图集合中获取的各个第一子特征图。
具体地,服务器可以从第一子特征图集合中获取满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图,第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个。第一场景相关度排序是指在第一场景相关度序列中的排序,第一场景相关度序列是按照从大到小的顺序,对第一场景相关度进行排列所得到的序列,第一场景相关度越大,在第一场景相关度序列中的排序越靠前。第一排序阈值可以预先设定,例如可以是9或10等固定值,也可以根据第一场景相关度的数量计算得到,例如,服务器可以获取预设的第一排序系数,对第一排序系数与第一场景相关度的数量进行相乘运算,将相乘运算的结果作为第一排序阈值。第一排序系数可以是小于1的数值,例如可以是0.5或0.3等固定值。第一相关度阈值可以预先设定,例如可以是0.8或0.9等固定值,第一相关度阈值也可以对第一场景相关度进行计算得到的,例如,服务器可以对各个第一场景相关度进行均值计算,得到第一相关度均值,获取预设的第一相关度系数,将第一相关度系数与第一相关度均值进行相乘运算,将相乘运算的结果作为第一相关度阈值。第一相关度系数可以是大于1的数值,例如可以是1.2。
在一些实施例中,服务器可以按照第一场景相关度从大到小的顺序,对第一子特征图进行排列,得到第一子特征图序列,第一场景相关度越大,第一场景相关度对应的第一子特征图在第一子特征图序列中的排序越靠前。服务器可以将第一子特征图序列中排列在首位的第一子特征图作为参考子特征图,服务器可以计算第一子特征图序列中除参考子特征图之外的第一子特征图与参考子特征图之间的重叠度,将与参考子特征图的重叠度大于重叠度阈值的第一子特征图作为待合并子特征图,将待合并子特征图中的至少一个与参考子特征图进行合并,例如可以将各个待合并子特征图中第一场景相关度最大的待合并子特征图与参考子特征图进行合并,得到合并后的子特征图,第一子特征图可以包括合并后的子特征图或参考子特征图中的至少一个,例如第一子特征图可以包括参考子特征图或合并后的子特征图中的任意一个。
在一些实施例中,服务器可以将与参考子特征图的重叠度小于重叠度阈值的第一子特征图作为候选子特征图,第一子特征图还可以包括各个候选子特征图中的至少一个,例如第一子特征图可以包括所有的候选子特征图,或者第一子特征图可以包括各个候选子特征图中的最大子特征图,最大子特征图指的是各个候选子特征图中第一场景相关度最大的候选子特征图,第一子特征图还可以包括与最大子特征图之间的重叠度小于重叠度阈值的各个候选子特征图中的至少一个。其中,重叠度用于表示两个子特征图的重叠程度,重叠度越大,两个子特征图之间的重叠程度越大,例如可以计算第一子特征图与参考子特征图的交并比(Intersection over Union,IOU),将计算得到的交并比作为重叠度。重叠度阈值可以是预设的,例如可以是0.5。
在一些实施例中,服务器可以计算第一子特征图与参考子特征图之间的重叠区域的面积,将重叠区域的面积作为重叠面积,将第一子特征图的面积与参考子特征图的面积进行加和运算,得到加和面积,计算重叠面积与加和面积之间的比值,将计算得到的比值作为重叠度。
举例说明,假设有4个第一子特征图,分别是box1、box2、box3以及box4,box1对应的第一场景相关度为0.8,box2对应的第一场景相关度为0.9,box3对应的第一场景相关度为0.7,box4对应的第一场景相关度为0.5。按照第一场景相关度从大到小的顺序,对这4个第一子特征图进行排列,得到第一子特征图序列[box2,box1,box3,box4],由于box2的第一场景相关度最大,则计算box1与box2的重叠度、box3与box2的重叠度以及box4与box2的重叠度,假如box1与box2的重叠度为0.1,box3与box2的重叠度为0.7,box3与box2的重叠度为0.2,重叠度阈值为0.5,由于box3与box2的重叠度大于重叠度阈值,则可以将box3与box2进行合并,得到合并后的子特征图(记作box23),则第一特征图可以包括box2或box23中的任意一个,由于box1与box2的重叠度小于重叠度阈值,box3与box2的重叠度小于重叠度阈值,则第一子特征图还可以包括box1或box3中的至少一个,例如第一子特征图还可以包括box1以及box3,或者由于box1的第一场景相关度大于box3的第一场景相关度,或者第一子特征图可以包括box1以及box3中第一场景相关度最大的一个,即第一子特征图还可以包括box1,当box1与box3之间的重叠度小于重叠度阈值时,第一子特征图还可以包括box3。
本实施例中,第一子特征图包括重叠度小于重叠度阈值的第一子特征图,可以减少冗余信息,提高计算效率,将参考子特征图与待合并的子特征图进行合并,可以补充区域的面积,减少由于第一子特征图不足造成信息丢失的情况发生,如图4所示,展示了一些实施例中将参考子特征图与待合并的子特征图进行合并的原理图,从图中可以看出,合并后的子特征图中不仅包括参考子特征图以及待合并的子特征图,还包括区域A和区域B,从而实现了补充区域面积的效果。
S208,基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果。
其中,场景识别网络是用于识别场景的网络,场景识别结果可以包括训练图像属于各个场景的置信度,例如可以包括训练图像属于海滩的置信度或属于图书馆的置信度中的至少一个。预测场景识别结果是场景识别网络输出的场景识别结果。训练子特征图可以有一个或者多个,多个是指至少两个。
具体地,服务器可以将训练子特征图输入到场景识别网络中,利用场景识别网络的模型参数对训练子特征图进行处理,可以将处理的结果作为训练图像对应的预测场景识别结果。
在一些实施例中,训练子特征图为多个,预测场景识别结果可以是结合多个训练子特征图进行识别所得到的场景识别结果,例如服务器可以将各个训练子特征图进行拼接,将得到拼接子特征图,将拼接子特征图输入到场景识别网络中,利用场景识别网络的模型参数对拼接子特征图进行处理,可以将处理的结果作为训练图像对应的预测场景识别结果。其中,拼接是指按顺序连接。
在一些实施例中,服务器可以将训练特征图与一个或多个训练子特征图进行融合,例如进行拼接,将融合后的特征作为训练融合特征,将训练融合特征输入到场景识别网络中,利用场景识别网络的模型参数对训练融合特征进行处理,可以将处理的结果作为训练图像对应的预测场景识别结果。
S210,基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型。
其中,进行参数调整是指对模型参数进行调整。训练后的场景识别模型可以是经过一次或者多次训练得到的,或者可以是经过一次或多次参数调整得到的。
具体地,服务器可以获取训练图像的标准场景识别结果,标准场景识别结果是期望场景识别网络输出的场景识别结果,服务器可以计算预测场景识别结果与标准场景识别结果之间的差异,将计算得到的差异作为识别结果差异,基于识别结果差异得到目标损失值,目标损失值与识别结果差异成正相关关系,例如可以将识别结果差异作为目标损失值。服务器可以利用交叉熵损失函数对预测场景识别结果进行计算,得到目标损失值。交叉熵损失函数例如可以用公式(1)表示,其中, y表示标准场景识别结果,当计算的是基础损失值时,
Figure 751415DEST_PATH_IMAGE002
表示基础场景识别结果。
Figure 668556DEST_PATH_IMAGE003
(1)
其中,正相关关系指的是:在其他条件不变的情况下,两个变量变动方向相同,一个变量由大到小变化时,另一个变量也由大到小变化。可以理解的是,这里的正相关关系是指变化的方向是一致的,但并不是要求当一个变量有一点变化,另一个变量就必须也变化。例如,可以设置当变量a为10至20时,变量b为100,当变量a为20至30时,变量b为120。这样,a与b的变化方向都是当a变大时,b也变大。但在a为10至20的范围内时,b可以是没有变化的。
在一些实施例中,训练子特征图为多个,预测场景识别结果是结合多个训练子特征图识别得到的。服务器还可以对各个训练子特征图分别进行类别识别,得到各个训练子特征图分别对应的预测类别识别结果,基于预测场景识别结果以及预测类别识别结果调整场景识别模型的模型参数,得到训练后的场景识别模型。例如服务器可以基于预测场景识别结果得到第一预测损失值,基于预测类别识别结果得到第二预测损失值,基于第一预测损失值以及第二预测损失值得到目标损失值,基于目标损失值对场景识别模型进行参数调整,得到训练后的场景识别模型。其中,预测类别识别结果可以包括对象类别识别结果或场景类别识别结果中的至少一个。对象指的是图像中的事物,对象可以是图像中的有生命的事物,例如可以是图像中的人、动物或植物中的至少一个,对象也可以是图形中的无生命的事物,例如可以是图像中的沙子或水中的至少一个。对象类别指的是对象的类型,场景类别指的是场景的类型。对象类别识别结果是对训练子特征图进行对象识别所得到的识别结果,场景类别识别结果是对训练子特征图进行场景识别所得到的识别结果。第二预测损失值可以包括对象类别损失值或场景类别损失值中的至少一个,对象类别损失值是根据对象类别识别结果得到的损失值,场景类别损失值是根据场景类别识别结果得到的损失值。
在一些实施例中,服务器可以朝着目标损失值变小的方向调整场景识别模型的模型参数,可以经过多次迭代训练,得到训练后的场景识别模型。例如服务器可以基于目标损失值进行反向传播,并在反向传播的过程中,沿梯度下降的方向更新场景识别模型的模型参数,得到训练后的场景识别模型。其中,反向指的是模型参数的更新与场景识别的方向是相反的,由于模型参数的更新是反向传播的,因此可以根据目标损失值得到下降梯度,从场景识别模型的最后一层开始,根据下降梯度开始进行模型参数的梯度更新,直至到达场景识别模型的第一层。梯度下降方法可以包括随机梯度下降法(Stochastic GradientDescent,SGD)或批量梯度下降法。例如当场景识别模型为深度神经网络模型时,可以采用随机梯度下降法求解神经网络模型的卷积模板参数w和偏置参数b。神经网络模型的所有参数可以都设为需要学习的状态。
可以理解,模型的训练可以是迭代多次的,即训练后的场景识别模板可以是迭代训练得到的,当满足模型收敛条件时则停止训练。模型收敛条件可以包括目标损失值小于预设损失值或模型参数的变化小于预设参数变化值中的至少一个。预设损失值以及预设参数变化值可以是预先设置的数值。
在一些实施例中,服务器可以利用目标损失值对特征提取网络、相关度检测网络以及场景识别网络的模型参数进行调整,得到训练后的场景识别模型。
上述场景识别方法中,获取训练图像,将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图,基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图,基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果,基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型,由于训练子特征图是与场景相关的特征,故通过训练子特征图进行场景识别,可以提高场景识别的准确度,即提高预测场景识别结果的准确度,从而基于预测场景识别网络对场景识别模型进行训练,可以提高场景识别模型进行场景识别的准确度。
由于视频理解主要是对视频内剧情发生的场景进行识别,因此本申请提供的场景识别方法可以用于对视频进行场景识别,辅助理解视频。
在一些实施例中,训练子特征图为多个,预测场景识别结果是结合多个训练子特征图识别得到的;基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型包括:基于预测场景识别结果得到第一预测损失值;对各个训练子特征图分别进行类别识别,得到各个训练子特征图分别对应的预测类别识别结果;基于各个预测类别识别结果得到第二预测损失值;基于第一预测损失值以及第二预测损失值得到目标损失值;基于目标损失值对场景识别模型进行参数调整,得到训练后的场景识别模型。
其中,第一预测损失值根据预测场景识别结果计算得到,例如可以是基于交叉熵损失函数对预测场景识别结果进行计算所得到的结果。类别识别可以包括对象识别或场景识别中的至少一个。对象识别是指识别对象的类型,场景识别是指识别场景的类别。预测类别识别结果可以包括对象类别识别结果或场景类别识别结果中的至少一个,对象类别识别结果是对训练子特征图进行对象识别所得到的识别结果,场景类别识别结果是对训练子特征图进行场景识别所得到的识别结果。第二预测损失值可以包括对象类别损失值或场景类别损失值中的至少一个,对象类别损失值是根据对象类别识别结果得到的损失值,场景类别损失值是根据场景类别识别结果得到的损失值。
具体地,服务器可以计算预测场景识别结果与标准场景识别结果之间的差异,将计算到的差异作为识别结果差异,基于识别结果差异得到第一预测损失值,第一预测损失值与识别结果差异成正相关关系,例如可以将识别结果差异作为第一预测损失值,或者对识别结果差异进行线性运算或非线性运算,将运算的结果作为第一预测损失值。线性运算包括加和运算或乘积运算中的至少一个,非线性运算包括指数或对数运算中的至少一个。
在一些实施例中,服务器可以对训练子特征图进行对象识别,得到训练子特征图对应的对象类别识别结果,获取训练子特征图对应的参考对象识别结果,计算对象类别识别结果与参考对象识别结果之间的差异,将计算得到的差异作为对象识别结果差异,基于对象识别结果差异得到对象类别损失值,对象类别损失值与对象识别结果差异成正相关关系。当训练子特征图为多个时,服务器可以获取各个训练子特征图对应的对象识别结果差异,对各个对象识别结果差异进行统计运算,例如进行加权运算,将统计运算的结果作为对象类别损失值。其中,参考对象识别结果是对象识别中所期望得到的识别结果。不同的训练子特征对应的参考对象识别结果可以相同也可以不同。
在一些实施例中,参考对象识别结果可以是通过对训练图像的训练子特征图进行聚类得到的,例如,在每轮训练时,可以将多个训练图像输入到场景识别网络中,多个是指至少两个,服务器可以获取各个训练图像分别对应的训练子特征图,组成训练子特征图集合,对训练子特征图集合中的训练子特征图进行聚类,得到多个聚类中心,将与训练子特征图最近的聚类中心对应的聚类类别,作为训练子特征对应的参考对象识别结果。
在一些实施例中,参考对象识别结果可以是通过对训练图像的训练子特征图的关键特征区域进行聚类得到的,关键特征区域为训练子特征图中处于关键位置的区域,关键位置例如可以包括与中心位置之间的距离小于距离阈值的位置。中心位置指的是是训练子特征图中心所处的位置。距离阈值可以是预设的,也可以是根据训练子特征图的面积计算得到的,例如训练子特征图中与中心位置之间的距离小于距离阈值的位置组成的区域的面积占训练子特征图的面积的二分之一。
在一些实施例中,服务器可以分别对训练子特征图进行场景识别,得到各个训练子特征分布对应的场景类别识别结果,分别计算各个场景类别识别结果与标准场景识别结果之间的差异,将计算得到的差异作为场景识别结果差异,基于各个场景识别结果差异得到场景类别损失值,场景类别损失值与场景识别结果差异成正相关关系,例如可以对各个场景识别结果差异进行统计运算,例如进行加权运算,将统计运算的结果作为场景类别损失值。
在一些实施例中,第二预测损失值可以包括对象类别损失值以及场景类别损失值,服务器可以基于第一预测损失值、对象类别损失值以及场景类别损失值得到目标损失值,例如可以对第一预测损失值、对象类别损失值以及场景类别损失值进行统计运算,例如加权运算,将运算的结果作为目标损失值。
在一些实施例中,场景识别模型中还可以包括基础分类网络,服务器可以基于训练特征图以及基础分类网络进行场景识别,将识别的结果作为基础场景识别结果,基于基础场景识别结果与标准场景识别结果之间的差异得到基础损失值。基于第一预测损失值、第二预测损失值以及基础损失值得到目标损失值,基于目标损失值对场景识别模型进行参数调整,得到训练后的场景识别模型。其中,基础损失值用于调整场景识别模型中的特征提取网络以及基础分类网络的模型参数。
在一些实施例中,场景识别模型中还可以包括第一池化网络,服务器可以将训练特征图输入到第一池化网络进行池化,将池化后的特征作为训练池化特征图,基于训练池化特征以及基础分类网络进行场景识别,将识别的结果作为基础场景识别结果。基础损失值用于还可以用于调整第一池化网络的模型参数。其中,第一池化网络可以采用最大池化或平均池化中的任意一种。
本实施例中,基于预测场景识别结果得到第一预测损失值,对各个训练子特征图分别进行类别识别,得到各个训练子特征图分别对应的预测类别识别结果,基于各个预测类别识别结果得到第二预测损失值,基于第一预测损失值以及第二预测损失值得到目标损失值,由于预测场景识别结果是结合多个训练子特征图识别得到的,故第一预测损失值是根据多个训练子特征图的共同识别结果得到的损失值,而第二预测损失值是根据各个训练子特征图分别对应的预测类别识别结果得到的损失值,从而目标损失值包括多种方式得到的损失值,提高了目标损失值的丰富程度,通过目标损失值进行参数调整,可以提高参数调整的准确度。
在一些实施例中,预测类别识别结果包括对象类别识别结果;第二预测损失值包括对象类别损失值;对各个训练子特征图分别进行类别识别,得到各个训练子特征图分别对应的预测类别识别结果包括:将训练子特征图分别输入到对象分类网络中进行识别,得到各个训练子特征图分别对应的对象类别识别结果;基于各个预测类别识别结果得到第二预测损失值包括:基于多个训练子特征图进行聚类,得到各个训练子特征图分别对应的参考对象类别;基于对象类别识别结果与参考对象类别之间的差异得到对象类别损失值。
其中,参考对象类别为期望对象分类网络对训练子特征图进行识别所得到的类别。不同的训练子特征图对应的参考对象类别可以相同也可以不同。可以将训练子特征图所属的簇对应的类别作为训练子特征图对应的参考对象类别,服务器可以利用聚类方法对多个训练子特征图进行聚类,得到预设数量的聚类中心,分别计算训练子特征图与各个聚类中心之间的距离,将计算得到的各个距离组成距离集合,将距离集合中最小距离对应的聚类中心的聚类类别作为训练子特征图对应的参考对象类别。其中,预设数量可以是预设的,例如可以是3。对象类别识别结果中可以包括训练子特征图分别属于各个聚类类别的置信度。
场景识别模型中还可以包括对象分类网络,对象分类网络用于确定训练子特征图属于各个聚类类别的置信度。多个训练子特征图可以是每轮训练中的所有训练子特征图,也可以是每轮训练的所有训练子特征图中的一部分。
具体地,服务器可以获取训练子特征图对应的对象类别识别结果以及对应的参考对象类别,计算对象类别识别结果与对应的参考对象类别之间的差异,将该差异作为训练子特征图对应的对象识别结果差异,对各个训练子特征图分别对应的对象识别结果差异进行统计运算,例如加权运算,将运算的结果作为对象类别损失值。
在一些实施例中,对多个训练子特征图进行聚类,得到各个训练子特征图分别对应的聚类类别包括:获取训练子特征的关键特征区域,对多个训练子特征图分别对应的关键特征区域进行聚类,得到预设数量的聚类类别分别对应的聚类中心,将各个聚类中心中与关键特征区域之间的距离最小的聚类中心的聚类类别,作为该关键特征区域对应的参考对象类别。服务器可以获取训练子特征图的关键特征区域对应的对象类别识别结果以及对应的参考对象类别,计算对象类别识别结果与对应的参考对象类别之间的差异,将该差异作为训练子特征图对应的对象识别结果差异,对各个训练子特征图的关键特征区域分别对应的对象识别结果差异进行统计运算,例如加权运算,将运算的结果作为对象类别损失值。
本实施例中,将训练子特征图分别输入到对象分类网络中进行识别,得到各个训练子特征图分别对应的对象类别识别结果,基于多个训练子特征图进行聚类,得到各个训练子特征图分别对应的参考对象类别,基于对象类别识别结果与参考对象类别之间的差异得到对象类别损失值,从而实现了自监督学习,即将聚类类别作为训练子特征图对应的标签,减少了人工标注的工作,节省了时间,提高了模型训练的效率。
在一些实施例中,基于多个训练子特征图进行聚类,得到各个训练子特征图分别对应的参考对象类别包括:对多个训练子特征图进行聚类,得到各个特征图聚类所对应的聚类中心;获取聚类中心所对应的聚类类别,将聚类类别作为特征图聚类中的训练子特征图对应的参考对象类别。
其中,特征图聚类是基于训练子特征图进行聚类所得到的簇,特征图聚类可以包括多个,特征图聚类中可以包括多个训练子特征图,一个特征图聚类对应一个对象类别,训练子特征图的聚类类别为该训练子特征图所属的特征图聚类对应的对象类别。由于特征图聚类是通过聚类得到的簇,故特征图聚类中的各个训练子特征图之间具有较大的相似度,同一特征图聚类中的训练子特征图为同一对象的特征的概率较大,故可以认为一个特征图聚类对应一种对象类别。
对象类别可以是自动生成的,例如对象类别可以通过类别向量表示,类别向量中包括各个对象类别分别对应的向量值,向量值可以为第一预设值或第二预设值中的任意一个,当对象类别与类别向量所表示的对象类别一致时,对象类别对应的向量值为第一预设值,当对象类别与类别向量所表示的对象类别不一致时,对象类别对应的向量值为第二预设值。其中,第一预设值以及第二预设值可以根据需要设置,第一预设值与第二预设值不同。第一预设值例如可以为1,第二预设值例如可以为0。例如,假设有4个对象类别,分别为A、B、C和D,第一预设值为1,第二预设值为0,类别向量包括4个向量值,第一个向量值为A对应的向量值,第二个向量值为B对应的向量值,第三个向量值为C对应的向量值,第四个向量值为D对应的向量值,若类别向量表示的对象类别为C,则类别向量可以为(0,0,1,0),类别向量中的第一个0表示A的向量值,第二个0表示B的向量值,第三个0表示D的向量值,1表示C的向量值,由于C的向量值为1,则可以确定类别向量表示的对象类别为C。
具体地,服务器可以通过聚类算法对多个训练子特征图进行聚类,得到预设数量的聚类中心,分别计算训练子特征图与各个聚类中心之间的距离,将计算得到的距离组成距离集合,将距离集合中的最小距离对应的聚类中心作为该训练子特征图对应的聚类中心,将与聚类中心对应的各个训练子特征图组成的集合作为该聚类中心对应的特征图聚类。
在一些实施例中,服务器可以将训练子特征图与聚类中心进行相似度运算,将运算的结果作为训练子特征图与聚类中心之间的相似度,根据该相似度确定训练子特征图与聚类中心之间的距离,训练子特征图与聚类中心之间的距离与该相似度成负相关关系,相似度越大,距离越小,相似度越小,距离越大。其中,负相关关系指的是:在其他条件不变的情况下,两个变量变动方向相反,一个变量由大到小变化时,另一个变量由小到大变化。可以理解的是,这里的负相关关系是指变化的方向是相反的,但并不是要求当一个变量有一点变化,另一个变量就必须也变化。
本实施例中,对多个训练子特征图进行聚类,得到各个特征图聚类所对应的聚类中心,获取聚类中心所对应的聚类类别,将聚类类别作为特征图聚类中的训练子特征图对应的参考对象类别,提高了参考对象类别的准确度。
在一些实施例中,预测类别识别结果包括场景类别识别结果,第二预测损失值包括场景类别损失值;对各个训练子特征图分别进行类别识别,得到各个训练子特征图分别对应的预测类别识别结果包括:将训练子特征图分别输入到场景分类网络中进行分类,得到各个训练子特征图分别对应的场景类别识别结果;基于各个预测类别识别结果得到第二预测损失值包括:获取训练图像对应的标准场景识别结果;基于场景类别识别结果与标准场景识别结果之间的差异得到场景类别损失值。
其中,场景分类网络用于确定训练子特征图分别属于各个场景的置信度,场景类别识别结果可以包括训练子特征图属于各个场景的置信度,例如可以包括属于图书馆的置信度或属于排球场的置信度中的至少一个。
场景分类网络学习的过程可以是多示例学习(multiple instance learning,MIL)。多示例学习是由监督式学习演变而来的,相较于输入一系列被单独标注的示例,在多示例学习中,输入的是一系列被标注的“包”,每个“包”都包括许多示例。在多示例学习中,图像被描述成一个包:Y={Y1,Y2,…,YI}, 其中每一个Yi均是从图像中相应第i个区域中提取出来的特征向量(我们称之为示例),i为小于等于I的正整数,I是图像被分割出的区域(示例)个数。多示例学习的目的是通过对具有分类标签的多示例包的学习,建立多示例分类器,并将该分类器应用于未知多示例包的预测。例如在对场景分类网络进行训练时,可以将各个训练子特征图组成训练子特征图集合,将训练图像的标准场景识别结果(即训练图像的真实的场景类别)作为训练子特征图集合的标签。
具体地,服务器可以将分别将各个训练子特征图输入到场景分类网络中进行分类,得到各个训练子特征图分别对应的场景类别识别结果,即每个训练子特征图可以对应有场景类别识别结果。标准场景识别结果为期望得到的场景识别结果,为训练图像所属的真实的场景对应的场景识别结果,例如假设训练图像为图书馆的图像,则训练图像的标准场景识别结果表示场景类别为图书馆。当训练图像为多个时,每个训练图像可以对应有各自的标准场景识别结果。
在一些实施例中,服务器可以获取训练子特征图对应的场景类别识别结果以及对应的标准场景识别结果,计算场景类别识别结果与标准场景识别结果之间的差异,将计算得到的差异作为场景识别结果差异,对各个训练子特征图分别对应的场景识别结果差异进行统计运算,例如加权运算,将运算的结果作为场景类别损失值。场景类别损失值与场景识别结果差异成正相关关系。当然,服务器也可以利用损失函数计算方法对各个场景识别结果差异进行计算,将计算的结果作为场景类别损失值,其中,损失函数计算方法例如可以是交叉熵损失函数。
在一些实施例中,将训练子特征图分别输入到场景分类网络中进行分类,得到各个训练子特征图分别对应的场景类别识别结果,基于场景类别识别结果与标准场景识别结果之间的差异得到场景类别损失值包括:将训练子特征的关键特征区域分别输入到场景分类网络中进行分类,得到各个关键特征区域分别对应的场景类别识别结果,基于场景类别识别结果与标准场景识别结果之间的差异得到场景类别损失值。
在一些实施例中,服务器基于第一预测损失值、场景类别损失值以及对象类别损失值以及基础损失值进行加权计算,将加权计算的结果作为目标损失值,例如,服务器可以确定基础损失值对应的第一权重,场景类别损失值对应的第二权重,对象类别损失值对应的第三权重以及第一预测损失值对应的第四权重,基于第一权重、第二权重、第三权重以及第四权重,对基础损失值、场景类别损失值、对象类别损失值以及第一预测损失值进行加权计算,将计算的结果作为目标损失值。例如,可以采用公式(2)计算目标损失值
Figure 713872DEST_PATH_IMAGE004
,其中,
Figure 312344DEST_PATH_IMAGE005
表示目标损失值,
Figure 392295DEST_PATH_IMAGE006
表示基于损失值,
Figure 214758DEST_PATH_IMAGE007
表示场景类别损失值,
Figure 809687DEST_PATH_IMAGE008
表示对象类别损失值,
Figure 274167DEST_PATH_IMAGE009
表示第一预测损失值,a为第一权重,b为第二权重,c为第三权重,d为第四权重。
Figure 146308DEST_PATH_IMAGE010
(2)
本实施例中,将训练子特征图分别输入到场景分类网络中进行分类,得到各个训练子特征图分别对应的场景类别识别结果,基于场景类别识别结果与标准场景识别结果之间的差异的都场景类别损失值,从而当朝着场景类别损失值变小的方向调整模型参数时,可以使得场景类别识别结果与标准场景识别结果之间的差异变小,从而可以使得各个训练子特征图能够准确的表示训练图像中的对象的特征,并且使得各个训练子特征图表示的是与场景相关的对象的特征。
在一些实施例中,基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果包括:将训练特征图与训练子特征图进行融合,得到训练融合特征;将训练融合特征输入到场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果。
具体地,融合可以包括拼接、相加或相乘中的至少一个,拼接是指顺序连接。服务器可以将训练特征图与训练子特征图进行拼接,将拼接后的特征作为训练融合特征。
在一些实施例中,服务器可以将各个训练子特征图中的至少一个训练特征图与训练特征图进行融合,例如可以将所有的训练子特征图与训练特征图进行训练,获取可以从各个训练子特征图中选取满足第一相关度筛选条件的训练子特征图,将满足第一相关度筛选条件的训练子特征图与训练特征图进行融合,得到训练融合特征。第一相关度筛选条件包括第一相关度排序在第一排序之前或第一场景相关度大于第一相关度中的至少一个,第一排序以及第一相关度可以是预设的,也可以是通过计算得到的,第一排序的计算方法可以参考第一排序阈值的计算方法,第一相关度的计算方法可以参考第一相关度阈值的计算方法,这里不再赘述。第一相关度排序指的是在第一相关度序列中的排序,第一相关度序列是按照从大到小的顺序,对各个训练子特征图的第一场景相关度进行排序所得到的序列,第一场景相关度越大,在第一相关度序列中的排序越靠前。例如训练子特征图有K个,则当第一相关度筛选条件为第一相关度排序在第一排序之前且第一排序为M+1时,则满足第一相关度筛选条件的训练子特征图有M个,则将M个训练子特征图与训练特征图进行融合。
在一些实施例中,将训练特征图与训练子特征图进行融合,得到训练融合特征包括:获取训练特征图中关键位置的区域,将该关键位置的区域作为第一关键特征区域,将训练子特征图的关键特征区域作为第二关键特征区域,将第一关键特征区域与各个第二关键特征区域中的至少一个进行融合,得到训练融合特征。例如可以将第一关键特征区域与各个第二关键特征区域中的至少一个进行拼接,将拼接后的特征作为训练融合特征。
在一些实施例中,服务器可以对训练特征图进行池化处理,得到训练特征向量,可以对第二关键特征区域进行池化处理,得到训练关键特征向量,将训练特征向量与各个训练关键特征向量中的至少一个进行融合,得到训练融合特征。例如可以将训练特征向量与各个训练关键特征向量中的至少一个进行拼接,将拼接后的特征作为训练融合特征。其中,池化处理可以包括最大池化或平均池化中的至少一种。本实施例中的池化处理用于生成向量。
本实施例中,将训练特征图与训练子特征图进行融合,得到训练融合特征,将训练融合特征输入到场景识别模型的场景识别网络进行场景识别,由于训练融合特征中既包括训练特征图又包括训练子特征图,从而使得训练融合特征中既包括完整图像的特征又包括图像中与场景相关的区域的特征,提高了特征的表达能力,从而提高了场景识别的准确度。
在一些实施例中,基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图包括:将第一子特征图集合中满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图;第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个。
本实施例中,将第一子特征图集合中满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图,由于第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个,故可以从第一子特征图集合中获取与场景强相关的第一子特征图作为训练子特征图,提高了训练子特征图与场景的相关程度。
如图5A所示,为一些实施例中的场景识别模型的结构图,该场景识别模型包括特征提取网络,特征提取网络可以为卷积网络,特征提取网络例如可以是基于 ResNet101(Residual Neural Network,深度残差网络101)的网络模型,深度残差网络101的模型结构如图6所示,该图为一个三层的残差模块,用于降低参数的数目。1×1以及3×3代表卷积核的尺寸,64代表通道数。圆圈内一个加号代表相加,即恒等映射。ReLU(Rectified LinearUnit,线性整流函数)表示利用激活函数进行激活。256-d代表输入为256维。如表1所示,为一些实施例中深度神经网络模型中ResNet101的结构表,其中,x3、x4以及x23分别表示有3个模块、4个模块以及23个模块。卷积层有5种,Conv5_x为第5层卷积层。Conv5_x输出训练图像的深度特征feature map(图像和滤波器进行卷积后得到的特征图)。其中,Conv1-Conv5可以是采用在ImageNet数据集上预训练的 ResNet101的参数。
表1 ResNet101的结构表
Figure 139671DEST_PATH_IMAGE011
该场景识别模型中还包括第一池化网络、第一嵌入网络以及基础分类网络,第一池化网络、第一嵌入网络以及基础分类网络可以为ResNet101中分类层中的各个模块,如表2所示,为ResNet101中分类层的结构表,第一池化网络可以为表2中的Pool(池化)层,第一嵌入网络可以是表2中的embedding1层,基础分类网络可以是表2中的Fc1层。其中, pool层输出图像特征向量,为图像在经过深度学习神经网络前向计算后输出的深层高维度特征,可以为在某个feature map后,进行池化操作后得到的一维特征向量,embedding1可以为非线性层,可以是多个非线性层的堆叠,非线性层可以是由全连接(Fully connected,Fc)层和激活层组成的层,Fc1层输出各场景的场景置信度。N代表场景的数量,即学习类别的数量。其中,embedding1以及Fc1可以采用方差为0.01,均值为0的高斯分布进行初始化。
表2 ResNet101的分类层结构表
Figure 159580DEST_PATH_IMAGE012
该场景识别模型中还包括相关度检测网络,相关度检测网络中包括第一特征空间压缩网络、第二特征空间压缩网络、第一通道压缩网络、第二通道压缩网络。如表3所示,为相关度检测网络的结构表,表3中的Down1_y为第一特征空间压缩网络,Proposal1_y为第一通道压缩网络,Down2_y为第二特征空间压缩网络,Proposal2_y为第二通道压缩网络。如图5A所示,第一通道压缩网络输出第一压缩特征图,第二通道压缩网络输出第二压缩特征图。
表3相关度检测网络的结构表
Figure 224488DEST_PATH_IMAGE013
该场景识别模型中还包括第一向量生成模块以及第二向量生成模块,第一向量生成模块用于对第一压缩特征图中的特征值进行排列得到第一压缩特征向量,第二向量生成模块用于对第二压缩特征图中的特征值进行排列得到第二压缩特征向量。该场景识别模型还包括子特征图获取模块,子特征图获取模块用于从训练特征图中确定与第一压缩特征值对应的第一特征区域以及与第二压缩特征值对应的第二特征区域,将各个第一特征区域以及各个第二特征区域作为第一子特征图,组成第一子特征图集合。其中,第一压缩特征值为第一压缩特征向量中的特征值,第二压缩特征值为第二压缩特征向量中的特征值。第一特征区域是训练特征图中与第一压缩特征值对应的特征区域,第二特征区域是训练特征图中与第二压缩特征值对应的特征区域。
该场景识别模型中还包括特征图筛选模块,特征图筛选模块用于从第一子特征图集合中筛选得到各个训练子特征图。该场景识别模型中还包括第二嵌入网络以及第二池化网络,第二嵌入网络用于确定训练子特征图对应的第二关键特征区域,第二池化网络用于对第二关键特征区域进行池化处理,得到训练关键特征向量。该场景识别模型还包括特征融合模块,特征融合模块用于将训练特征向量与各个训练关键特征向量进行融合,得到训练融合特征。
该场景识别模型中还包括参考对象类别生成模块,参考对象类别生成模块用于通过聚类算法对各个训练关键特征向量进行聚类,得到各个聚类中心,确定各个聚类中心对应的聚类类别,确定各个训练关键特征向量分别对应的参考对象类别。特征融合模块例如可以是特征拼接模块,特征拼接模块是用于将特征进行拼接的模块。
该场景识别模型中还包括基础分类网络、场景分类网络、对象分类网络以及场景识别网络,基础分类网络用于对训练特征向量进行场景识别,得到基础场景识别结果,场景分类网络用于对训练关键特征向量进行场景识别,得到场景类别识别结果,对象分类网络用于对训练关键特征向量进行对象识别,得到训练关键特征向量对应的对象类别识别结果,场景识别网络用于对训练融合特征进行场景识别,得到预测场景识别结果。
如表4所示,为场景分类网络的结构表,其中Fc_locate表示场景分类网络,如表5所示,为对象分类网络的结构表,其中Fc_instance表示对象分类网络,如表6所示,为特征融合模块以及场景识别网络的结构表,其中Concat表示特征融合模块,Fc_all表示场景识别网络。其中,P为聚类中心的数量,K为训练子特征图的数量,也是训练关键特征向量的数量,Z=1+M ,M 小于等于K,M为与训练特征向量进行融合的训练关键特征向量的数量。
表4场景分类网络的结构表
Figure 747873DEST_PATH_IMAGE014
表5对象分类网络的结构表
Figure 443297DEST_PATH_IMAGE015
表6特征融合模块以及场景识别网络的结构表
Figure 888185DEST_PATH_IMAGE016
场景识别模型中的特征提取网络可以是预训练的,在对场景识别模型进行训练时,可以对预训练的特征提取网络的模型参数进行微调,例如可以设置特征提取网络、第一嵌入网络和基础分类网络的学习率为其他网络(例如相关度检测网络)的0.1倍。图5A中的各个网络可以是联合训练的,例如特征提取网络与相关度检测网络可以是联合训练的。如图5B所示,为一些实施例中的场景识别方法的原理图,其中,全局特征图指的是特征提取网络对图像进行特征提取所提取到的特征,拼接特征指的是全局特征图与至少一个的关键特征向量拼接所得到的特征。
本实施例中,增加端到端的多实例检测和特征分支实现额外任务,对多实例分支学习时减少了人工标注的投入,通过特征聚类与相似度度量产生多实例学习任务,并辅助到最终的分类学习中,实现了自监督学习,通过在训练阶段进行场景多实例特征学习,强化了模型对与场景相关的元素的表征,通过联合基础特征与多实例特征,实现了实例特征与基础特征联合获得多个场景样式的表征。
在一些实施例中,如图7所示,提供了一种场景识别方法,该场景识别方法可以利用上述各个实施例中的训练后的场景识别模型进行场景识别,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行,在本申请实施例中,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S702,获取待识别的目标图像。
其中,目标图像为待进行场景识别的图像,目标图像可以是服务器中存储的图像,也可以是服务器从其他设备获取的图像,例如可以是终端发送至服务器的。
具体地,终端可以响应于针对目标内容的场景确定操作,向服务器发送针对目标内容的场景识别请求,服务器可以响应于场景识别请求,根据目标内容获取待识别的目标图像,例如当目标内容为图像时,服务器可以将目标内容作为目标图像,当目标内容为视频时,服务器可以从目标内容中提取视频图像,将提取得到的视频图像作为待识别的目标图像。其中,场景识别请求中可以携带目标内容或目标内容标识中的至少一个。内容可以包括图像或视频中的至少一种。目标内容可以为任意一种内容,例如可以是视频。内容标识用于唯一识别内容。目标内容标识为目标内容的标识,用于唯一识别目标内容。
在一些实施例中,终端可以响应于针对目标视频的场景搜索操作,确定待搜索的目标场景,向服务器发送视频场景搜索请求,视频场景搜索请求中可以携带目标场景,还可以携带目标视频或目标视频的标识中的至少一个。服务器可以响应于视频场景搜索请求,从目标视频中获取视频图像,将获取到的视频图像作为待识别的目标图像。其中,场景搜索操作用于触发从目标视频中搜索与目标场景相关的视频图像或视频片段。场景搜索请求用于请求对目标视频中的视频图像进行场景识别,并从目标视频中获取用于目标场景相关的视频图像或视频片段。
如图8所示,终端在视频播放界面802上展示有视频播放区域804、场景搜索区域806、视频播放进度条808以及“确定”控件810,视频播放区域804中播放的内容为“abc视频”,视频播放进度条808中的黑色区域表示视频播放的进度。当终端获取到对“确定”控件810的触发操作时,可以获取场景搜索区域806中选择或输入的场景,例如“图书馆”,响应于对“确定”控件810的触发操作,向服务器发送针对“abc视频”视频场景搜索请求,视频场景搜索请求中可以携带“abc视频”或者“abc视频”的标识中的至少一个,还可以携带待搜索场景,待搜索场景指的是场景搜索区域806接收到的场景,服务器可以响应于视频场景搜索请求,从“abc视频”中获取视频图像,利用本申请实施例提供的场景识别方法对该视频图像进行场景识别,得到各个视频图像分别对应的场景,将场景为图书馆的视频图像对应的视频片段在“abc视频”中的播放位置返回至终端,播放位置可以包括播放的起始位置,还可以包括播放的终止位置,终端可以将“abc视频”的当前播放位置跳转至该视频片段的起始位置,从该起始位置开始播放该视频片段。当然,服务器也可以将场景为图书馆的视频图像返回至终端。
S704,对目标图像进行特征提取,得到目标特征图。
具体地,目标特征图是对目标图像进行特征提取所得到的特征。服务器可以获取训练后的场景识别模型,将目标图像输入到场景识别模型的特征提取网络中,利用特征提取网络对目标图像进行特征提取,将提取的特征作为目标特征图,例如当特征提取网络为卷积网络时,可以利用特征提取网络对目标图像进行卷积运算,将卷积运算的结果作为目标图像对应的目标特征图。
S706,基于目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度;第二子特征图集合包括多个第二子特征图,第二子特征图集合是对目标特征图进行划分得到的。
具体地,第二场景相关度用于表示第二子特征图与场景的相关程度。第二子特征图为目标图像中的图像区域对应的特征。服务器可以将目标特征图输入到训练后的场景识别模型的相关度检测网络,利用相关度检测网络对目标特征图进行压缩处理,得到目标压缩特征图,从目标特征图中确定与目标压缩特征图中的特征值对应的特征区域,将该特征区域作为第二子特征图。
S708,基于各个第二子特征图对应的第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图。
具体地,服务器可以将各个第二子特征图中的至少一个作为目标子特征图,例如可以将所有的第二子特征图作为目标子特征图,或者根据第二场景相关度从第二子特征图集合中筛选得到与场景相关的目标子特征图。
在一些实施例中,将第二子特征图集合中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图。其中,第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个。
S710,基于目标子特征图进行场景识别,得到目标图像对应的目标场景。
具体地,服务器可以将多个目标子特征图进行拼接,多个指的是至少两个,得到拼接特征图,将拼接特征图输入到已训练的场景识别模型的场景识别网络中进行场景识别,将识别的结果作为目标场景识别结果,根据目标场景识别结果确定目标图像对应的目标场景。
在一些实施例中,服务器可以将各个目标子特征图中的至少一个目标子特征图与目标特征图进行拼接,将拼接后的特征作为拼接特征图,例如可以从各个目标子特征图中获取满足第二相关度筛选条件的目标子特征图,将满足第二相关度筛选条件的各个目标子特征图与目标特征图进行拼接,将拼接后的特征作为拼接特征图。其中,第二相关度筛选条件包括第二相关度排序在第二排序之前或第二场景相关度大于第二相关度中的至少一个。第二相关度排序指的是在第二相关度序列中的排序,第二相关度序列是按照从大到小的顺序,对各个目标子特征图的第二场景相关度进行排序所得到的序列,第二场景相关度越大,在第二相关度序列中的排序越靠前。第二排序以及第二相关度可以是预设的,也可以是通过计算得到的。第二排序的计算方法可以参考第二排序阈值的计算方法,第二相关度的计算方法可以参考第二相关度阈值的计算方法,这里不再赘述。
上述场景识别方法中,获取待识别的目标图像,对目标图像进行特征提取,得到目标特征图,基于目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度,第二子特征图集合包括多个第二子特征图,第二子特征图集合是对目标特征图进行划分得到的,基于各个第二子特征图对应的第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图,基于目标子特征图进行场景识别,得到目标图像对应的目标场景,由于目标子特征图是与场景相关的特征,故基于目标子特征图进行场景识别,提高了场景识别的准确度。
在一些实施例中,基于目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度包括:基于目标特征图进行特征提取,得到特征提取向量;获取特征提取向量中各个向量特征值在目标特征图中所对应的特征位置;将目标特征图中特征位置对应的特征区域,作为向量特征值对应的第二子特征图,将特征值作为第二子特征图对应的第二场景相关度。
具体地,向量特征值指的是特征提取向量中包括的特征值。服务器可以将目标特征图输入到训练后的场景识别模型的相关度检测网络中,利用相关度检测网络对目标特征图进行压缩处理,得到目标压缩特征图,对目标压缩特征图中的各个特征值进行排列,将排列得到的序列作为特征提取向量。
在一些实施例中,服务器可以利用相关度检测网络对目标特征图的特征空间或通道中的至少一种进行压缩,将压缩后的特征作为目标压缩特征。其中,相关度检测网络中可以包括特征空间压缩网络或通道压缩网络中的至少一种,特征空间压缩网络用于进行对特征空间进行压缩,通道压缩网络用于进行对通道进行压缩。
本实施例中,将目标特征图中特征位置对应的特征区域,作为向量特征值对应的第二子特征图,将向量特征值作为第二子特征图对应的第二场景相关度,从而可以获取目标图像的多个图像区域的特征。
在一些实施例中,特征提取向量包括第一特征向量以及第二特征向量,基于目标特征图进行特征提取,得到特征提取向量包括:对目标特征图进行特征空间压缩,得到第一特征图,对第一特征图进行特征空间压缩,得到第二特征图;基于第一特征图进行向量变换,得到第一特征向量;基于第二特征图进行向量变换,得到第二特征向量。
具体地,目标压缩特征图可以包括第一特征图以及第二特征图,特征空间压缩网络可以包括第一特征空间压缩网络以及第二特征空间压缩网络,服务器可以将目标特征图输入到第一特征空间压缩网络中进行特征空间压缩,将压缩后的特征作为第一特征图,将第一特征图输入到第二特征空间压缩网络中,将压缩后的特征作为第二特征图,将第一特征图中的特征值进行顺序排列,将排列得到的序列作为第一特征向量,将第二特征图中的特征值进行顺序排列,将排列得到的序列作为第二特征向量。
在一些实施例中,目标压缩特征图可以包括第三特征图以及第四特征图,通道压缩网络可以包括第一通道压缩网络以及第二通道压缩网络,服务器可以将第一特征图输入到第一通道压缩网络中进行通道压缩,将压缩后的特征作为第三特征图,将第二特征图输入到第二通道压缩网络中进行通道压缩,将压缩后的特征作为第四特征图,将第三特征图中的特征值进行顺序排列,将排列得到的序列作为第一特征向量,将第四特征图中的特征值进行顺序排列,将排列得到的序列作为第二特征向量。
在一些实施例中,训练后的场景识别模型中还可以包括第一向量生成模块以及第二向量生成模块,服务器可以将第三特征图输入到第一向量生成模块中,利用第一向量生成模块对第三特征图进行向量变换,得到第一特征向量,将第四特征图输入到第二向量生成模块中,利用第二向量生成模块对第四特征图进行向量变换,得到第二特征向量。
本实施例中,由于第二特征图是对第一特征图进行特征空间压缩得到的特征,故第二特征图与第一特征图的尺寸不同,从而得到了尺寸不同的第一特征向量以及第二特征向量,提高了特征向量在尺度上的丰富程度。
在一些实施例中,基于各个第二子特征图对应的第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图包括:将第二子特征图集合中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图;第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个。
其中,第二场景相关度排序是指在第二场景相关度序列中的排序,第二场景相关度序列是按照从大到小的顺序,对第二场景相关度进行排序所得到的序列,第二场景相关度越大,在第二场景相关度序列中的排序越靠前。第二排序阈值可以预先设定,也可以根据第二场景相关度的数量计算得到,例如,服务器可以获取预设的第二排序系数,对第二排序系数与第二场景相关度的数量进行相乘运算,将相乘运算的结果作为第二排序阈值。第二排序系数可以是小于1的数值,例如可以是0.5或0.3等固定值。第二相关度阈值可以预先设定,第二相关度阈值也可以对第二场景相关度进行计算得到的,例如,服务器可以对各个第二场景相关度进行均值计算,得到第二相关度均值,获取预设的第二相关度系数,将第二相关度系数与第二相关度均值进行相乘运算,将相乘运算的结果作为第二相关度阈值。第二相关度系数可以是大于1的数值,例如可以是1.2。
本实施例中,将第二子特征图集合中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图,由于第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个,故可以从第二子特征图集合中获取与场景强相关的第二子特征图作为目标子特征图,提高了目标子特征图与场景的相关程度。
在一些实施例中,提供了一种场景识别方法,包括以下步骤:
1、服务器获取待识别的目标图像,将目标图像输入到训练后的场景识别模型的特征提取网络中进行特征提取,得到目标特征图。
如图9所示,为一些实施例中的训练后的场景识别模型的结构图。目标图像为待进行场景识别的图像,对图像进行场景识别属于图像识别的一种。图像识别,是一种类别级别的识别,不考虑对象的特定实例,仅考虑对象的类别进行的识别,并给出对应的类别,对象的类别例如为人、狗、猫或鸟等。图像识别例如为大型通用物体识别开源数据集Imagenet中的识别任务,用于识别出某个物体是1000个类别中的哪一个。图像识别还可以进行图像多标签识别。图像多标签识别指的是通过计算机识别出图像是否具有指定属性标签的组合。一张图像可以具有多个属性,多标签识别任务是判断某张图像具有哪些预设的属性标签。图像识别中还可以包括带噪识别。带噪识别指的是采用带噪声的样本所进行的物体识别任务,带噪声的样本也可以称为带噪样本,带噪样本可以包括标注人员失误造成错误类别标签或概念不清晰造成图像与对应类别标签不完全一致。例如两个类别的概念之间存在部分重叠,造成某张图像具有两个类别的属性,但仅被标注为其中一种类别。
2、服务器将目标特征图输入到第一池化网络中进行池化处理,得到池化向量,将池化向量输入到第一嵌入网络中,得到图像特征向量;
如图9所示,训练后的场景识别模型中包括第一池化网络以及第一嵌入网络,第一嵌入网络的输出数据可以与第一嵌入网络的输入数据相同。池化向量是对目标特征图进行池化处理后所生成的向量。
3、服务器将目标特征图输入到相关度检测网络的第一特征空间压缩网络中进行特征空间压缩,得到第一特征图。
如图9所示,训练后的场景识别模型中还包括相关度检测网络,相关度检测网络中包括第一特征空间压缩网络。
4、服务器将第一特征图输入到相关度检测网络的第二特征空间压缩网络中进行特征空间压缩,得到第二特征图。
如图9所示,相关度检测网络中还包括第二特征空间压缩网络。
5、服务器将第一特征图输入到相关度检测网络的第一通道压缩网络中进行通道压缩,得到第三特征图,将第二特征图输入到相关度检测网络的第二通道压缩网络中进行通道压缩,得到第四特征图。
如图9所示,相关度检测网络中还包括第一通道压缩网络以及第二通道压缩网络。
6、服务器利用第一向量生成模块对第三特征图进行向量变换,得到第一特征向量,利用第二向量生成模块对第四特征图进行向量变换,得到第二特征向量。
如图9所示,训练后的场景识别模型中还包括第一向量生成模块以及第二向量生成模块。
7、服务器获取第一特征向量中各个第一向量特征值在目标特征图中所对应的第一特征位置,将目标特征图中第一特征位置对应的特征区域,作为第一向量特征值对应的第二子特征图,将第一向量特征值作为对应的第二子特征图的第二场景相关度;获取第二特征向量中各个第二向量特征值在目标特征图中所对应的第二特征位置,将目标特征图中第二特征位置对应的特征区域,作为第二向量特征值对应的第二子特征图,将第二向量特征值作为对应的第二子特征图的第二场景相关度。
其中,第一向量特征值为第一特征向量中包括的特征值,第二向量特征值为第二特征向量中包括的特征值。第一特征位置为目标特征图中第一向量特征值对应的位置。第二特征位置为目标特征图中第二向量特征值对应的位置。第一子特征图为目标特征图中第一特征位置处的特征,第二子特征图为第二特位置处的特征。如图9所示,子特征图获取模块可以从目标特征中确定获取第一特征位置对应的特征区域以及第二特征位置对应的特征区域,将得到的各个特征区域作为第二子特征图,组成第二子特征图集合。
8、服务器将各个第二子特征图输入到特征图筛选模块中,利用特征图筛选模块从第二子特征图集合中筛选得到与场景相关的目标子特征图。
其中,特征图筛选模块可以基于第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图,如图9所示,训练后的场景识别模型中还包括特征图筛选模块。
9、服务器将目标子特征图输入到第二嵌入网络中进行关键区域提取,得到目标子特征图对应的关键特征区域,将目标子特征图对应的关键特征区域输入到第二池化网络中,得到目标关键特征向量。
如图9所示,训练后的场景识别模型中还包括第二池化网络以及第二嵌入网络,第二嵌入网络用于确定目标子特征图对应的关键特征区域。第二池化网络用于对关键特征区域进行池化处理,生成一维的目标关键特征向量。
10、服务器将各个目标关键特征向量中的至少一个以及图像特征向量输入到特征拼接模块中进行拼接,得到拼接特征图。
如图9所示,训练后的场景识别模型中还包括特征拼接模块。
11、服务器将拼接特征图输入到训练后的场景识别模型中的场景识别网络中进行场景识别,得到目标图像对应的目标场景。
如图9所示,训练后的场景识别模型中还包括场景识别模型。
如图 10 所示,为一些实施例中提供的场景识别方法的应用场景图。该应用场景包括前端A1002、云服务器1004以及前端B1006,前端A1002 可以是图像采集设备,例如可以是摄像头,前端B1006可以是终端,例如可以为图1中的终端102,云服务器1004可以为图1中的服务器104。云服务器1004中部署有已训练的场景识别模型,前端A1002 可以向云服务器1004 发送携带待识别场景的图像对应的场景识别请求,云服务器1004可以根据场景识别请求获取待识别的图像,利用本申请提供的场景识别方法对待识别场景的图像进行场景识别,得到场景识别结果。云服务器1004 可以向前端B1006 发送场景识别结果。前端B1006例如可以是电脑或者手机,前端A1002 可以是图像采集设备。可以理解,前端A1002 与前端B1006 可以是同一设备,也可以是不同设备。
应该理解的是,虽然图2-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图11所示,提供了一种场景识别装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:训练特征图得到模块1102、第一场景相关度检测模块1104、训练子特征图得到模块1106、预测场景识别结果得到模块1108和训练后的场景识别模型得到模块1110,其中:
训练特征图得到模块1102,用于获取训练图像,将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图。
第一场景相关度检测模块1104,用于基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,第一子特征图集合包括多个第一子特征图,第一子特征图集合是对训练特征图进行划分得到的。
训练子特征图得到模块1106,用于基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图。
预测场景识别结果得到模块1108,用于基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果。
训练后的场景识别模型得到模块1110,用于基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型。
在一些实施例中,训练子特征图为多个,预测场景识别结果是结合多个训练子特征图识别得到的;训练后的场景识别模型得到模块1110包括:第一预测损失值得到单元,用于基于预测场景识别结果得到第一预测损失值;预测类别识别结果得到单元,用于对各个训练子特征图分别进行类别识别,得到各个训练子特征图分别对应的预测类别识别结果;第二预测损失值得到单元,用于基于各个预测类别识别结果得到第二预测损失值;目标损失值得到单元,用于基于第一预测损失值以及第二预测损失值得到目标损失值;参数调整单元,用于基于目标损失值对场景识别模型进行参数调整,得到训练后的场景识别模型。
在一些实施例中,预测类别识别结果包括对象类别识别结果;第二预测损失值包括对象类别损失值;预测类别识别结果得到单元,还用于将训练子特征图分别输入到对象分类网络中进行识别,得到各个训练子特征图分别对应的对象类别识别结果;第二预测损失值得到单元,还用于基于多个训练子特征图进行聚类,得到各个训练子特征图分别对应的参考对象类别;基于对象类别识别结果与参考对象类别之间的差异得到对象类别损失值。
在一些实施例中,预测类别识别结果得到单元,还用于对多个训练子特征图进行聚类,得到各个特征图聚类所对应的聚类中心;获取聚类中心所对应的聚类类别,将聚类类别作为特征图聚类中的训练子特征图对应的参考对象类别。
在一些实施例中,预测类别识别结果包括场景类别识别结果,第二预测损失值包括场景类别损失值;预测类别识别结果得到单元,还用于将训练子特征图分别输入到场景分类网络中进行分类,得到各个训练子特征图分别对应的场景类别识别结果;第二预测损失值得到单元,还用于获取训练图像对应的标准场景识别结果;基于场景类别识别结果与标准场景识别结果之间的差异得到场景类别损失值。
在一些实施例中,预测场景识别结果得到模块1108包括:训练融合特征得到单元,用于将训练特征图与训练子特征图进行融合,得到训练融合特征;预测场景识别结果得到单元,用于将训练融合特征输入到场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果。
在一些实施例中,训练子特征图得到模块1106,还用于将第一子特征图集合中满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图;第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个。
上述场景识别装置,获取训练图像,将训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图,基于训练特征图以及场景识别模型的相关度检测网络进行场景相关度检测,得到第一子特征图集合中各个第一子特征图对应的第一场景相关度,基于各个第一子特征图对应的第一场景相关度,从第一子特征图集合中筛选得到与场景相关的训练子特征图,基于训练子特征图以及场景识别模型的场景识别网络进行场景识别,得到训练图像对应的预测场景识别结果,基于预测场景识别结果对场景识别模型进行参数调整,得到训练后的场景识别模型,由于训练子特征图是与场景相关的特征,故通过训练子特征图进行场景识别,可以提高场景识别的准确度,即提高预测场景识别结果的准确度,从而基于预测场景识别网络对场景识别模型进行训练,可以提高场景识别模型进行场景识别的准确度。
在一些实施例中,如图12所示,提供了一种场景识别装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:目标图像获取模块1202、目标特征图得到模块1204、第二场景相关度检测模块1206、目标子特征图得到模块1208和场景识别模块1210,其中:
目标图像获取模块1202,用于获取待识别的目标图像。
目标特征图得到模块1204,用于对目标图像进行特征提取,得到目标特征图。
第二场景相关度检测模块1206,用于基于目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度;第二子特征图集合包括多个第二子特征图,第二子特征图集合是对目标特征图进行划分得到的。
目标子特征图得到模块1208,用于基于各个第二子特征图对应的第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图。
场景识别模块1210,用于基于目标子特征图进行场景识别,得到目标图像对应的目标场景。
上述场景识别装置,获取待识别的目标图像,对目标图像进行特征提取,得到目标特征图,基于目标特征图进行场景相关度检测,得到第二子特征图集合中各个第二子特征图对应的第二场景相关度,第二子特征图集合包括多个第二子特征图,第二子特征图集合是对目标特征图进行划分得到的,基于各个第二子特征图对应的第二场景相关度,从第二子特征图集合中筛选得到与场景相关的目标子特征图,基于目标子特征图进行场景识别,得到目标图像对应的目标场景,由于目标子特征图是与场景相关的特征,故基于目标子特征图进行场景识别,提高了场景识别的准确度。
在一些实施例中,第二场景相关度检测模块1206包括:特征提取向量得到单元,用于基于目标特征图进行特征提取,得到特征提取向量;特征位置获取单元,用于获取特征提取向量中各个向量特征值在目标特征图中所对应的特征位置;第二子特征图得到单元,用于将目标特征图中特征位置对应的特征区域,作为向量特征值对应的第二子特征图,将特征值作为第二子特征图对应的第二场景相关度。
在一些实施例中,特征提取向量包括第一特征向量以及第二特征向量,特征提取向量得到单元,还用于对目标特征图进行特征空间压缩,得到第一特征图,对第一特征图进行特征空间压缩,得到第二特征图;基于第一特征图进行向量变换,得到第一特征向量;基于第二特征图进行向量变换,得到第二特征向量。
在一些实施例中,目标子特征图得到模块1208,还用于将第二子特征图集合中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图;第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个。
关于场景识别装置的具体限定可以参见上文中对于场景识别方法的限定,在此不再赘述。上述场景识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种场景识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储与场景识别方法相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种场景识别方法。
本领域技术人员可以理解,图13和图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Rand
om Access Memory,SRAM)或动态随机存取存储器(Dynamic Random AccessMemory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (24)

1.一种场景识别方法,其特征在于,所述方法包括:
获取训练图像,将所述训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图;
利用所述场景识别模型的相关度检测网络对所述训练特征图进行压缩处理,得到压缩特征图,所述压缩特征图包括多个压缩特征值,将所述训练特征图中与所述压缩特征值对应的区域作为第一子特征图,将所述压缩特征值作为所述第一子特征图对应的第一场景相关度;
基于各个所述第一子特征图对应的第一场景相关度,从各个所述第一子特征图中筛选得到与场景相关的训练子特征图;所述训练子特征图为多个;
将各个所述训练子特征图进行拼接,得到拼接子特征图,利用所述场景识别模型的场景识别网络对所述拼接子特征图进行场景识别,得到所述训练图像对应的预测场景识别结果;
对各个所述训练子特征图分别进行对象类别识别,得到各个所述训练子特征图分别对应的对象类别识别结果,基于所述对象类别识别结果与对应的参考对象类别之间的差异得到对象类别损失值,所述参考对象类别是通过对各个所述训练子特征图进行聚类得到的;
基于所述预测场景识别结果以及所述对象类别损失值对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
2.根据权利要求1所述的方法,其特征在于,所述预测场景识别结果是结合多个所述训练子特征图识别得到的;
所述基于所述预测场景识别结果以及所述对象类别损失值对所述场景识别模型进行参数调整,得到训练后的场景识别模型包括:
基于所述预测场景识别结果得到第一预测损失值;
基于所述第一预测损失值以及所述对象类别损失值得到目标损失值;
基于所述目标损失值对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
3.根据权利要求1所述的方法,其特征在于,所述对各个所述训练子特征图分别进行对象类别识别,得到各个所述训练子特征图分别对应的对象类别识别结果包括:
将所述训练子特征图分别输入到对象分类网络中进行识别,得到各个所述训练子特征图分别对应的对象类别识别结果;
所述基于所述对象类别识别结果与对应的参考对象类别之间的差异得到对象类别损失值包括:
基于多个所述训练子特征图进行聚类,得到各个所述训练子特征图分别对应的参考对象类别;
基于所述对象类别识别结果与所述参考对象类别之间的差异得到对象类别损失值。
4.根据权利要求3所述的方法,其特征在于,所述基于多个所述训练子特征图进行聚类,得到各个所述训练子特征图分别对应的参考对象类别包括:
对多个所述训练子特征图进行聚类,得到各个特征图聚类所对应的聚类中心;
获取所述聚类中心所对应的聚类类别,将所述聚类类别作为所述特征图聚类中的训练子特征图对应的参考对象类别。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第一预测损失值以及所述对象类别损失值得到目标损失值包括:
将所述训练子特征图分别输入到场景分类网络中进行分类,得到各个所述训练子特征图分别对应的场景类别识别结果;
获取所述训练图像对应的标准场景识别结果;
基于所述场景类别识别结果与所述标准场景识别结果之间的差异得到场景类别损失值;
基于所述第一预测损失值、所述对象类别损失值以及所述场景类别损失值得到目标损失值。
6.根据权利要求1所述的方法,其特征在于,所述将各个所述训练子特征图进行拼接,得到拼接子特征图,利用所述场景识别模型的场景识别网络对所述拼接子特征图进行场景识别,得到所述训练图像对应的预测场景识别结果包括:
将所述训练特征图与所述训练子特征图进行融合,得到训练融合特征;
将所述训练融合特征输入到所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果。
7.根据权利要求1所述的方法,其特征在于,所述基于各个所述第一子特征图对应的第一场景相关度,从各个所述第一子特征图中筛选得到与场景相关的训练子特征图包括:
将各个所述第一子特征图中满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图;所述第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个。
8.一种场景识别方法,其特征在于,所述方法包括:
获取待识别的目标图像;
对所述目标图像进行特征提取,得到目标特征图;
利用训练后的场景识别模型的相关度检测网络对所述目标特征图进行压缩处理,得到目标压缩特征图,从所述目标特征图中确定与目标压缩特征图中的特征值对应的特征区域,作为第二子特征图,将所述目标压缩特征图中的特征值作为对应的第二子特征图对应的第二场景相关度;所述场景识别模型是利用训练图像对应的训练子特征图训练得到的,其中,对各个所述训练子特征图分别进行对象类别识别,得到各个所述训练子特征图分别对应的对象类别识别结果,基于所述对象类别识别结果与对应的参考对象类别之间的差异得到对象类别损失值,所述参考对象类别是通过对各个所述训练子特征图进行聚类得到的;
基于各个所述第二子特征图对应的第二场景相关度,从各个所述第二子特征图中筛选得到与场景相关的目标子特征图;
将各个所述目标子特征图进行拼接,对拼接所得到的特征进行场景识别,得到所述目标图像对应的目标场景。
9.根据权利要求8所述的方法,其特征在于,所述从所述目标特征图中确定与目标压缩特征图中的特征值对应的特征区域,作为第二子特征图,将所述目标压缩特征图中的特征值作为对应的第二子特征图的第二场景相关度包括:
对目标特征图进行压缩处理,得到目标压缩特征图,对所述目标压缩特征图中各个特征值进行排列,将排列得到的序列作为特征提取向量;
获取所述特征提取向量中各个向量特征值在所述目标特征图中所对应的特征位置;
将所述目标特征图中所述特征位置对应的特征区域,作为所述向量特征值对应的第二子特征图,将所述向量特征值作为所述第二子特征图对应的第二场景相关度。
10.根据权利要求9所述的方法,其特征在于,所述特征提取向量包括第一特征向量以及第二特征向量,所述对目标特征图进行压缩处理,得到目标压缩特征图,对所述目标压缩特征图中各个特征值进行排列,将排列得到的序列作为特征提取向量包括:
对所述目标特征图进行特征空间压缩,得到第一特征图,对所述第一特征图进行特征空间压缩,得到第二特征图;
基于所述第一特征图进行向量变换,得到所述第一特征向量;
基于所述第二特征图进行向量变换,得到所述第二特征向量。
11.根据权利要求8所述的方法,其特征在于,所述基于各个所述第二子特征图对应的第二场景相关度,从各个所述第二子特征图中筛选得到与场景相关的目标子特征图包括:
将各个所述第二子特征图中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图;所述第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个。
12.一种场景识别装置,其特征在于,所述装置包括:
训练特征图得到模块,用于获取训练图像,将所述训练图像输入到待训练的场景识别模型的特征提取网络中进行特征提取,得到训练特征图;
第一场景相关度检测模块,用于利用所述场景识别模型的相关度检测网络对所述训练特征图进行压缩处理,得到压缩特征图,所述压缩特征图包括多个压缩特征值,将所述训练特征图中与所述压缩特征值对应的区域作为第一子特征图,将所述压缩特征值作为所述第一子特征图对应的第一场景相关度;
训练子特征图得到模块,用于基于各个所述第一子特征图对应的第一场景相关度,从各个所述第一子特征图中筛选得到与场景相关的训练子特征图;
预测场景识别结果得到模块,用于将各个所述训练子特征图进行拼接,得到拼接子特征图,利用所述场景识别模型的场景识别网络对所述拼接子特征图进行场景识别,得到所述训练图像对应的预测场景识别结果;
所述装置还用于对各个所述训练子特征图分别进行对象类别识别,得到各个所述训练子特征图分别对应的对象类别识别结果,基于所述对象类别识别结果与对应的参考对象类别之间的差异得到对象类别损失值,所述参考对象类别是通过对各个所述训练子特征图进行聚类得到的;
训练后的场景识别模型得到模块,用于基于所述预测场景识别结果以及所述对象类别损失值对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
13.根据权利要求12所述的装置,其特征在于,所述预测场景识别结果是结合多个所述训练子特征图识别得到的;所述训练后的场景识别模型得到模块包括:
第一预测损失值得到单元,用于基于所述预测场景识别结果得到第一预测损失值;
目标损失值得到单元,用于基于所述第一预测损失值以及所述对象类别损失值得到目标损失值;
参数调整单元,用于基于所述目标损失值对所述场景识别模型进行参数调整,得到训练后的场景识别模型。
14.根据权利要求12所述的装置,其特征在于,所述装置还用于将所述训练子特征图分别输入到对象分类网络中进行识别,得到各个所述训练子特征图分别对应的对象类别识别结果;基于多个所述训练子特征图进行聚类,得到各个所述训练子特征图分别对应的参考对象类别;基于所述对象类别识别结果与所述参考对象类别之间的差异得到对象类别损失值。
15.根据权利要求14所述的装置,其特征在于,所述装置还用于对多个所述训练子特征图进行聚类,得到各个特征图聚类所对应的聚类中心;获取所述聚类中心所对应的聚类类别,将所述聚类类别作为所述特征图聚类中的训练子特征图对应的参考对象类别。
16.根据权利要求13所述的装置,其特征在于,所述目标损失值得到单元,还用于将所述训练子特征图分别输入到场景分类网络中进行分类,得到各个所述训练子特征图分别对应的场景类别识别结果;获取所述训练图像对应的标准场景识别结果;基于所述场景类别识别结果与所述标准场景识别结果之间的差异得到场景类别损失值;基于所述第一预测损失值、所述对象类别损失值以及所述场景类别损失值得到目标损失值。
17.根据权利要求12所述的装置,其特征在于,所述预测场景识别结果得到模块包括:
训练融合特征得到单元,用于将所述训练特征图与所述训练子特征图进行融合,得到训练融合特征;
预测场景识别结果得到单元,用于将所述训练融合特征输入到所述场景识别模型的场景识别网络进行场景识别,得到所述训练图像对应的预测场景识别结果。
18.根据权利要求12所述的装置,其特征在于,所述训练子特征图得到模块,还用于将所述第一子特征图集合中满足第一场景相关度筛选条件的第一子特征图,作为与场景相关的训练子特征图;所述第一场景相关度筛选条件包括第一场景相关度排序在第一排序阈值之前或第一场景相关度大于第一相关度阈值中的至少一个。
19.一种场景识别装置,其特征在于,所述装置包括:
目标图像获取模块,用于获取待识别的目标图像;
目标特征图得到模块,用于对所述目标图像进行特征提取,得到目标特征图;
第二场景相关度检测模块,用于利用训练后的场景识别模型的相关度检测网络对所述目标特征图进行压缩处理,得到目标压缩特征图,从所述目标特征图中确定与目标压缩特征图中的特征值对应的特征区域,作为第二子特征图,将所述目标压缩特征图中的特征值作为对应的第二子特征图对应的第二场景相关度;所述场景识别模型是利用训练图像对应的训练子特征图训练得到的,其中,对各个所述训练子特征图分别进行对象类别识别,得到各个所述训练子特征图分别对应的对象类别识别结果,基于所述对象类别识别结果与对应的参考对象类别之间的差异得到对象类别损失值,所述参考对象类别是通过对各个所述训练子特征图进行聚类得到的;
目标子特征图得到模块,用于基于各个所述第二子特征图对应的第二场景相关度,从各个所述第二子特征图中筛选得到与场景相关的目标子特征图;
场景识别模块,用于将各个所述目标子特征图进行拼接,对拼接所得到的特征进行场景识别,得到所述目标图像对应的目标场景。
20.根据权利要求19所述的装置,其特征在于,所述第二场景相关度检测模块包括:
特征提取向量得到单元,用于对目标特征图进行压缩处理,得到目标压缩特征图,对所述目标压缩特征图中各个特征值进行排列,将排列得到的序列作为特征提取向量;
特征位置获取单元,用于获取所述特征提取向量中各个向量特征值在所述目标特征图中所对应的特征位置;
第二子特征图得到单元,用于将所述目标特征图中所述特征位置对应的特征区域,作为所述向量特征值对应的第二子特征图,将所述特征值作为所述第二子特征图对应的第二场景相关度。
21.根据权利要求20所述的装置,其特征在于,所述特征提取向量包括第一特征向量以及第二特征向量,所述特征提取向量得到单元,还用于对所述目标特征图进行特征空间压缩,得到第一特征图,对所述第一特征图进行特征空间压缩,得到第二特征图;基于所述第一特征图进行向量变换,得到所述第一特征向量;基于所述第二特征图进行向量变换,得到所述第二特征向量。
22.根据权利要求19所述的装置,其特征在于,所述目标子特征图得到模块,还用于将各个所述第二子特征图中满足第二场景相关度筛选条件的第二子特征图,作为与场景相关的目标子特征图;所述第二场景相关度筛选条件包括第二场景相关度排序在第二排序阈值之前或第二场景相关度大于第二相关度阈值中的至少一个。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7或8至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7或8至11中任一项所述的方法的步骤。
CN202110551265.0A 2021-05-20 2021-05-20 场景识别方法、装置、计算机设备和存储介质 Active CN113033507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110551265.0A CN113033507B (zh) 2021-05-20 2021-05-20 场景识别方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110551265.0A CN113033507B (zh) 2021-05-20 2021-05-20 场景识别方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113033507A CN113033507A (zh) 2021-06-25
CN113033507B true CN113033507B (zh) 2021-08-10

Family

ID=76455384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110551265.0A Active CN113033507B (zh) 2021-05-20 2021-05-20 场景识别方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113033507B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113269176B (zh) * 2021-07-21 2021-10-08 腾讯科技(深圳)有限公司 图像处理模型训练、图像处理方法、装置和计算机设备
CN115761390A (zh) * 2021-09-02 2023-03-07 上海哔哩哔哩科技有限公司 图像场景识别方法及装置
CN113971761A (zh) * 2021-11-05 2022-01-25 南昌黑鲨科技有限公司 多输入场景识别方法、终端设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681752A (zh) * 2018-05-28 2018-10-19 电子科技大学 一种基于深度学习的图像场景标注方法
CN108710847A (zh) * 2018-05-15 2018-10-26 北京旷视科技有限公司 场景识别方法、装置及电子设备
CN109919244A (zh) * 2019-03-18 2019-06-21 北京字节跳动网络技术有限公司 用于生成场景识别模型的方法和装置
CN112733969A (zh) * 2021-03-31 2021-04-30 北京达佳互联信息技术有限公司 对象类别的识别方法和装置及服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4036328B2 (ja) * 2002-09-30 2008-01-23 株式会社Kddi研究所 動画像データのシーン分類装置
CN107220657B (zh) * 2017-05-10 2018-05-18 中国地质大学(武汉) 一种面向小数据集的高分辨率遥感影像场景分类的方法
CN108491856B (zh) * 2018-02-08 2022-02-18 西安电子科技大学 一种基于多尺度特征卷积神经网络的图像场景分类方法
CN108810413B (zh) * 2018-06-15 2020-12-01 Oppo广东移动通信有限公司 图像处理方法和装置、电子设备、计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710847A (zh) * 2018-05-15 2018-10-26 北京旷视科技有限公司 场景识别方法、装置及电子设备
CN108681752A (zh) * 2018-05-28 2018-10-19 电子科技大学 一种基于深度学习的图像场景标注方法
CN109919244A (zh) * 2019-03-18 2019-06-21 北京字节跳动网络技术有限公司 用于生成场景识别模型的方法和装置
CN112733969A (zh) * 2021-03-31 2021-04-30 北京达佳互联信息技术有限公司 对象类别的识别方法和装置及服务器

Also Published As

Publication number Publication date
CN113033507A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN110866140B (zh) 图像特征提取模型训练方法、图像搜索方法及计算机设备
CN110472531B (zh) 视频处理方法、装置、电子设备及存储介质
CN113033507B (zh) 场景识别方法、装置、计算机设备和存储介质
CN111582409A (zh) 图像标签分类网络的训练方法、图像标签分类方法及设备
CN111339343A (zh) 图像检索方法、装置、存储介质及设备
CN114332680A (zh) 图像处理、视频搜索方法、装置、计算机设备和存储介质
US11966829B2 (en) Convolutional artificial neural network based recognition system in which registration, search, and reproduction of image and video are divided between and performed by mobile device and server
CN110796204A (zh) 视频标签确定方法、装置和服务器
CN114358188A (zh) 特征提取模型处理、样本检索方法、装置和计算机设备
CN111339812A (zh) 一种基于全部或部分人体结构化特征集的行人识别和再识别的方法、电子设备和存储介质
CN116580257A (zh) 特征融合模型训练及样本检索方法、装置和计算机设备
CN114329029B (zh) 对象检索方法、装置、设备及计算机存储介质
CN110765882A (zh) 一种视频标签确定方法、装置、服务器及存储介质
CN113705596A (zh) 图像识别方法、装置、计算机设备和存储介质
CN112949740A (zh) 一种基于多级度量的小样本图像分类方法
CN114358109A (zh) 特征提取模型训练、样本检索方法、装置和计算机设备
CN113254687B (zh) 图像检索、图像量化模型训练方法、装置和存储介质
CN112101154B (zh) 视频分类方法、装置、计算机设备和存储介质
CN114764870A (zh) 对象定位模型处理、对象定位方法、装置及计算机设备
CN114329004A (zh) 数字指纹生成、数据推送方法、装置和存储介质
CN113762041A (zh) 视频分类方法、装置、计算机设备和存储介质
CN113706550A (zh) 图像场景识别和模型训练方法、装置和计算机设备
CN113705293A (zh) 图像场景的识别方法、装置、设备及可读存储介质
CN116955707A (zh) 内容标签的确定方法、装置、设备、介质及程序产品
CN115129908A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40046479

Country of ref document: HK