图像识别的方法和装置与流程

文档序号:19740283发布日期:2020-01-18 05:06阅读:308来源:国知局
图像识别的方法和装置与流程

本申请涉及计算机视觉领域,尤其涉及一种图像识别的方法及装置。



背景技术:

计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。

对于需要识别物体之间连接状态的场景,一种实现工业视觉的方式是通过手工设计的特征模板对设备、零件进行识别,并检测相互关系。为了确定连线关系,将连线信息添加到特征向量中。连线信息例如包括与设备相连的连线的颜色、粗细、材质、走向等。识别设备、零件等物体和连线后,提取物体和连线与连接关系有关的特征,从而确定两物体之间是否将连接。由于手工设计的特征缺乏泛化能力,针对不同场景需要手工设计对应的模板,工作冗余严重,效率低。



技术实现要素:

本申请提供一种图像识别的方法和装置,能够确定图像中的物体是否连接。

第一方面,提供一种图像识别的方法,包括:获取第一图像,所述第一图像包括至少两个物体;获取位置信息,所述位置信息用于指示所述至少两个物体中的第一物体和第二物体在所述第一图像中的位置;使用第一模型和所述位置信息对所述第一图像进行处理,以获取所述第一物体和所述第二物体的物体特征;获取所述第一图像的边缘信息;根据所述边缘信息、所述物体特征,使用第二模型识别所述第一物体和所述第二物体的连接状态。

从第一图像中得到至少两个物体的特征后,通过图像中的边缘信息,能够确定两个物体是否连接。避免了对于连接部件的识别,可以适用于更多的场景,能够在物体之间连接部件的不同的情况下对物体的连接状态进行识别,效率高。

结合第一方面,在一些可能的实现方式中,所述方法还包括:使用第三模型对所述第一图像进行处理,以获取所述位置信息。

通过第一图像获取位置信息,不需要额外获取位置信息,减少对于输入数据的依赖性。获取数据较多,获取数据出现错误的概率增加,另外,数据传输过程中可能出现错误,因此,通过该方式能够减小由于获取的数据错误导致的图像识别错误。

结合第一方面,在一种可能的实现方式中,所述方法还包括:获取第一训练图像和第一指示信息,所述第一训练图像包括至少两个物体,所述第一指示信息用于指示所述第一训练图像中的物体在所述第一训练图像中的第一位置;使用第一原始模型对所述第一训练图像处理,以获取第二指示信息,所述第二指示信息用于指示经过所述第一原始模型识别的所述第一训练图像中的物体在所述第一训练图像中的第二位置;根据所述第二指示信息和所述第一指示信息调整所述第一原始模型的参数,以使所述第一位置和所述第二位置的相似度在第一预设范围内;将经过调整后的第一原始模型,作为所述第三模型。

通过训练,生成第三模型,即目标检测模型。目标检测模型的训练,可以由使用神经网络模型的设备进行,也可以由其他设备进行。在目标检测模型训练的过程中,基于第一训练图像和第一指示信息对第一原始模型进行参数调整,以获取目标检测模型,提高了目标检测模型对图像的理解能力,从而提高了目标物体检测的准确性。

结合第一方面,在一种可能的实现方式中,所述方法还包括:使用第四模型对所述边缘信息、所述物体特征进行融合,以获取目标特征;所述根据所述边缘信息、所述物体特征,使用第二模型识别所述第一物体和所述第二物体的连接状态,包括:根据所述目标特征,使用所述第二模型识别所述第一物体和所述第二物体的连接状态。

输出图像识别中间过程的处理结果,在图像识别的过程中可以根据该处理结果判断检测结果的准确性,并且较为容易确定对结果准确性造成影响的因素。

结合第一方面,在一种可能的实现方式中,所述方法还包括:获取第二训练图像、第三指示信息、第四指示信息和第五指示信息,所述第二训练图像包括至少两个物体,所述第三指示信息用于指示至少两个物体中的第三物体和第四物体之间的第一连接状态,所述第四指示信息用于指示所述第三物体和所述第四物体在所述第二训练图像中的位置,所述第五指示信息包括所述第二训练图像的边缘信息;使用第二原始模型和所述第四指示信息对所述第二训练图像进行处理,以提取所述第三物体和所述第四物体的第一训练特征;使用第三原始模型对所述第二训练图像的边缘信息、所述第一训练特征进行融合,以获取第二训练特征;使用第四原始模型对所述第二训练特征进行处理,以获取第六指示信息,所述第六指示信息用于指示所述第三物体和所述第四物体的第二连接状态;根据所述第六指示信息和所述第三指示信息调整所述第二原始模型、第三原始模型和所述第四原始模型的参数,以使所述第一连接状态和所述第二连接状态之间的相似度在第二预设范围内;将经过调整后的第二原始模型,作为所述第一模型;将经过调整后的第三原始模型,作为所述第四模型;将经过调整后的第四原始模型,作为所述第二模型。

结合第一方面,在一种可能的实现方式中,所述获取所述第一图像的边缘信息,包括:使用第五模型对所述第一图像进行处理,以获取所述边缘信息。

结合第一方面,在一种可能的实现方式中,所述方法还包括:获取第三训练图像和第七指示信息,所述第三训练图像包括至少两个物体,所述第七指示信息用于指示所述第三训练图像的第一边缘信息;根据第五原始模型对所述第三训练图像处理,以获取第八指示信息,所述第八指示信息用于指示经过所述第五原始模型识别的所述第三训练图像的第二边缘信息;根据所述第七指示信息和所述第八指示信息调整所述第一原始模型的参数,以使所述第一边缘信息和所述第二边缘信息的相似度在第三预设范围内;将经过调整后的第五原始模型,作为所述第五模型。

结合第一方面,在一种可能的实现方式中,所述获取位置信息,包括:根据用户输入信息,获取所述位置信息。

根据用户输入信息获取所述位置信息,即根据用户的指示获取位置信息。可以根据用户的需求对图像进行处理,减小计算量。

结合第一方面,在一种可能的实现方式中,所述使用第一模型对所述位置信息和所述第一图像进行处理,以获取所述第一物体的特征以及所述第二物体的物体特征,包括:使用第一模型对所述位置信息和所述第一图像进行处理,以获取所述第一物体的第一特征和所述第二物体的第二特征;根据第六模型,对所述第一物体的特征和所述第二物体的特征进行融合,以获取所述物体特征。

分别提取第一物体的特征和所述第二物体的特征,可以减小计算量。对第一物体的特征和第二物体的特征进行融合,便于后续处理。将融合的结果输出,可以在图像识别的过程中根据该处理结果判断检测结果的准确性,并且较为容易确定对结果准确性造成影响的因素。

第二方面,提供一种图像识别装置,该装置包括获取模块,处理模块,识别模块。获取模块用于获取第一图像,所述第一图像包括至少两个物体。获取模块还用于,获取位置信息,所述位置信息用于指示所述至少两个物体中的第一物体和第二物体在所述第一图像中的位置;处理模块用于,使用第一模型和所述位置信息对所述第一图像进行处理,以获取所述第一物体和所述第二物体的物体特征;获取模块还用于,获取所述第一图像的边缘信息;识别模块用于,根据所述边缘信息、所述物体特征,使用第二模型识别所述第一物体和所述第二物体的连接状态。

结合第二方面,在一些可能的实现方式中,获取模块还用于,使用第三模型对所述第一图像进行处理,获取所述位置信息。

结合第二方面,在一些可能的实现方式中,装置还包括调整模块和融合模块。获取模块还用于,获取第一训练图像和第一指示信息,所述第一训练图像包括至少两个物体,所述第一指示信息用于指示所述第一训练图像中的物体在所述第一训练图像中的第一位置。处理模块还用于,使用第一原始模型对所述第一训练图像处理,以获取第二指示信息,所述第二指示信息用于指示经过所述第一原始模型识别的所述第一训练图像中的物体在所述第一训练图像中的第二位置。调整模块用于根据所述第二指示信息和所述第一指示信息调整所述第一原始模型的参数,以使所述第一位置和所述第二位置的相似度在第一预设范围内。经过调整后的第一原始模型为所述第三模型。

结合第二方面,在一些可能的实现方式中,所述装置还包括融合模块,融合模块用于,使用第四模型对所述边缘信息、所述物体特征进行融合,以获取目标特征;所述识别模块用于,根据所述目标特征,使用所述第二模型识别所述第一物体和所述第二物体的连接状态。

结合第二方面,在一些可能的实现方式中,所述装置还包括调整模块。获取模块还用于,获取第二训练图像、第三指示信息、第四指示信息和第五指示信息,所述第二训练图像包括至少两个物体,所述第三指示信息用于指示至少两个物体中的第三物体和第四物体之间的第一连接状态,所述第四指示信息用于指示所述第三物体和所述第四物体在所述第二训练图像中的位置,所述第五指示信息包括所述第二训练图像的边缘信息。处理模块还用于,使用第二原始模型和所述第四指示信息对所述第二训练图像进行处理,以提取所述第三物体和所述第四物体的第一训练特征;融合模块还用于,使用第三原始模型对所述第二训练图像的边缘信息、所述第一训练特征进行融合,以获取第二训练特征;处理模块还用于,使用第四原始模型对所述第二训练特征进行处理,以获取第六指示信息,所述第六指示信息用于指示所述第三物体和所述第四物体的第二连接状态;调整模块用于,根据所述第六指示信息和所述第三指示信息调整所述第二原始模型、第三原始模型和所述第四原始模型的参数,以使所述第一连接状态和所述第二连接状态之间的相似度在第二预设范围内。经过调整后的第二原始模型为所述第一模型;经过调整后的第三原始模型为所述第四模型;经过调整后的第四原始模型为所述第二模型。

结合第二方面,在一些可能的实现方式中,获取模块用于,使用第五模型对所述第一图像进行处理,以获取所述边缘信息。

结合第二方面,在一些可能的实现方式中,装置包括调整模块。获取模块还用于,获取第三训练图像和第七指示信息,所述第三训练图像包括至少两个物体,所述第七指示信息用于指示所述第三训练图像的第一边缘信息;处理模块还用于,根据第五原始模型对所述第三训练图像处理,以获取第八指示信息,所述第八指示信息用于指示经过所述第五原始模型识别的所述第三训练图像的第二边缘信息。调整模块用于根据所述第七指示信息和所述第八指示信息调整所述第一原始模型的参数,以使所述第一边缘信息和所述第二边缘信息的相似度在第三预设范围内。经过调整后的第五原始模型为所述第五模型。

结合第二方面,在一些可能的实现方式中,获取模块还用于根据用户输入信息,获取所述位置信息。

结合第二方面,在一些可能的实现方式中,装置还包括融合模块,处理模块用于,使用第一模型对所述位置信息和所述第一图像进行处理,以获取所述第一物体的第一特征和所述第二物体的第二特征;融合模块用于,根据第六模型,对所述第一物体的特征和所述第二物体的特征进行融合,以获取所述物体特征。

第三方面,提供一种图像识别装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于获取第一图像,所述第一图像包括至少两个物体;获取位置信息,所述位置信息用于指示所述至少两个物体中的第一物体和第二物体在所述第一图像中的位置;使用第一模型和所述位置信息对所述第一图像进行处理,以获取所述第一物体和所述第二物体的物体特征;获取所述第一图像的边缘信息;根据所述边缘信息、所述物体特征,使用第二模型识别所述第一物体和所述第二物体的连接状态。

结合第三方面,在一些可能的实现方式中,处理器用于使用第三模型对所述第一图像进行处理,以获取所述位置信息。

结合第三方面,在一些可能的实现方式中,处理器用于获取第一训练图像和第一指示信息,所述第一训练图像包括至少两个物体,所述第一指示信息用于指示所述第一训练图像中的物体在所述第一训练图像中的第一位置;使用第一原始模型对所述第一训练图像处理,以获取第二指示信息,所述第二指示信息用于指示经过所述第一原始模型识别的所述第一训练图像中的物体在所述第一训练图像中的第二位置;根据所述第二指示信息和所述第一指示信息调整所述第一原始模型的参数,以使所述第一位置和所述第二位置的相似度在第一预设范围内;将经过调整后的第一原始模型,作为所述第三模型。

结合第三方面,在一些可能的实现方式中,处理器用于使用第四模型对所述边缘信息、所述物体特征进行融合,以获取目标特征;处理器用于根据所述目标特征,使用所述第二模型识别所述第一物体和所述第二物体的连接状态。

结合第三方面,在一些可能的实现方式中,处理器用于获取第二训练图像、第三指示信息、第四指示信息和第五指示信息,所述第二训练图像包括至少两个物体,所述第三指示信息用于指示至少两个物体中的第三物体和第四物体之间的第一连接状态,所述第四指示信息用于指示所述第三物体和所述第四物体在所述第二训练图像中的位置,所述第五指示信息包括所述第二训练图像的边缘信息;使用第二原始模型和所述第四指示信息对所述第二训练图像进行处理,以提取所述第三物体和所述第四物体的第一训练特征;使用第三原始模型对所述第二训练图像的边缘信息、所述第一训练特征进行融合,以获取第二训练特征;使用第四原始模型对所述第二训练特征进行处理,以获取第六指示信息,所述第六指示信息用于指示所述第三物体和所述第四物体的第二连接状态;根据所述第六指示信息和所述第三指示信息调整所述第二原始模型、第三原始模型和所述第四原始模型的参数,以使所述第一连接状态和所述第二连接状态之间的相似度在第二预设范围内;将经过调整后的第二原始模型,作为所述第一模型;将经过调整后的第三原始模型,作为所述第四模型;将经过调整后的第四原始模型,作为所述第二模型。

结合第三方面,在一些可能的实现方式中,处理器用于使用第五模型对所述第一图像进行处理,以获取所述边缘信息。

结合第三方面,在一些可能的实现方式中,处理器用于获取第三训练图像和第七指示信息,所述第三训练图像包括至少两个物体,所述第七指示信息用于指示所述第三训练图像的第一边缘信息;根据第五原始模型对所述第三训练图像处理,以获取第八指示信息,所述第八指示信息用于指示经过所述第五原始模型识别的所述第三训练图像的第二边缘信息;根据所述第七指示信息和所述第八指示信息调整所述第一原始模型的参数,以使所述第一边缘信息和所述第二边缘信息的相似度在第三预设范围内;将经过调整后的第五原始模型,作为所述第五模型。

结合第三方面,在一些可能的实现方式中,处理器用于根据用户输入信息,获取所述位置信息。

结合第三方面,在一些可能的实现方式中,处理器用于使用第一模型对所述位置信息和所述第一图像进行处理,以获取所述第一物体的第一特征和所述第二物体的第二特征;根据第六模型,对所述第一物体的特征和所述第二物体的特征进行融合,以获取所述物体特征。

第四方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的方法。

第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的方法。

第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面中的方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。

第七方面,提供一种电子设备,该电子设备包括上述第二方面或第三方面中的图像识别装置。

附图说明

图1是本申请实施例提供的一种系统架构的示意图。

图2是一种卷积神经网络结构的示意图。

图3是本申请实施例提供的一种芯片的示意性结构图。

图4是一种通过神经网络实现的图像识别方法的示意性流程图。

图5是一种通过神经网络实现的图像识别方法的示意性流程图。

图6是本申请一个实施例提供的一种用于图像识别的神经网络模型的训练方法的示意性流程图。

图7是本申请另一个实施例提供的一种用于图像识别的神经网络模型的训练方法的示意性流程图。

图8是本申请又一个实施例提供的一种用于图像识别的神经网络模型的训练方法的示意性流程图。

图9是本申请一个实施例提供的一种图像识别的方法的示意性流程图。

图10是本申请另一个实施例提供的一种图像识别的方法的示意性流程图。

图11是本申请又一个实施例提供的一种图像识别方法的示意性流程图。

图12是本申请一个实施例提供的一种图像识别装置的示意性结构图。

图13是本申请一个实施例提供的一种神经网络模型的训练装置的示意性结构图。

图14是本申请一个实施例提供的另一种图像识别装置的示意性结构图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请实施例提供的图像识别的方法能够应用在检测图像中的物体是否连接的场景。

随着人工智能技术的应用的范围越来越广,在很多情况下,需要对图像中的内容进行识别。

在部署新增室外基站和室内机房时,需要对设备进行接线,将相关设备用导线连接在一起。为了避免施工时产生的连线错误,可以对设备进行拍照,通过神经网络对图像进行识别,能够确定图像中的设备是否连接。

由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。

(1)神经网络

神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距b为输入的运算单元,该运算单元的输出可以为:

其中,s=1、2、……n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activationfunctions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。

(2)深度神经网络

深度神经网络(deepneuralnetwork,dnn),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从dnn按不同层的位置划分,dnn内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。例如,全连接神经网络中层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然dnn看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于dnn层数多,则系数w和偏移向量的数量也就很多了。这些参数在dnn中的定义如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数w所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第l-1层的第k个神经元到第l层的第j个神经元的系数定义为需要注意的是,输入层是没有w参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。

(3)卷积神经网络

卷积神经网络(convolutionalneuronnetwork,cnn)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(featuremap)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。

卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(4)循环神经网络(recurrentneuralnetworks,rnn)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。rnn之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,rnn能够对任何长度的序列数据进行处理。对于rnn的训练和对传统的cnn或dnn的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将rnn进行网络展开,那么其中的参数,如w,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法(backpropagationthroughtime,bptt)。

既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?rnn就应运而生了。rnn旨在让机器像人一样拥有记忆的能力。因此,rnn的输出就需要依赖当前的输入信息和历史的记忆信息。

(5)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。

(6)残差网络

在不断加神经网络的深度时,会出现退化的问题,即随着神经网络深度的增加,准确率先上升,然后达到饱和,再持续增加深度则会导致准确率下降。普通直连的卷积神经网络和残差网络(residualnetwork,resnet)的最大区别在于,resnet有很多旁路的支线将输入直接连到后面的层,通过直接将输入信息绕道传到输出,保护信息的完整性,解决退化的问题。残差网络包括卷积层和/或池化层。

残差网络可以是:深度神经网络中多个隐含层之间除了逐层相连之外,例如第1层隐含层连接第2层隐含层,第2层隐含层连接第3层隐含层,第3层隐含层连接第4层隐含层(这是一条神经网络的数据运算通路,也可以形象的称为神经网络传输),残差网络还多了一条直连支路,这条直连支路从第1层隐含层直接连到第4层隐含层,即跳过第2层和第3层隐含层的处理,将第1层隐含层的数据直接传输给第4层隐含层进行运算。公路网络可以是:深度神经网络中除了有上面所述的运算通路和直连分支之外,还包括一条权重获取分支,这条支路引入传输门(transformgate)进行权重值的获取,并输出权重值t供上面的运算通路和直连分支后续的运算使用。

(7)工业视觉

工业视觉是一种用于工业生产、零件加工、设备安装等领域的计算视觉技术。工业视觉通常针对工厂、工程师、施工队等用户。工业视觉中,需要自动检测多设备、零件之间的相互关系。

(8)先验知识:在处理问题时,作为已知事实,为推理过程提供参考。

如图1所示,本申请实施例提供了一种系统架构100。在图1中,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:至少两个物体的图像、图像中物体的位置信息、图像的边缘信息、物体的连接状态等。

在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。

下面对训练设备120基于训练数据得到目标模型/规则101进行描述。本申请实施例中,目标模型/规则101包括第一目标模型/规则和第二目标模型/规则。

训练设备120对输入的图像、位置信息、边缘信息进行处理,将输出的物体连接状态与输入的物体连接状态进行对比,直到训练设备120输出的物体连接状态与输入的物体连接状态的差值小于一定的阈值,从而完成第一目标模型/规则的训练。

训练设备120对输入的图像、位置信息进行处理,将输出的位置信息与输入的位置信息进行对比,直到训练设备120输出的位置信息与输入的位置信息的差值小于一定的阈值,从而完成第二目标模型/规则的训练。

上述目标模型/规则101能够用于实现本申请实施例的图像识别方法,即,将待处理的图像通过相关预处理后输入该目标模型/规则101,即可得到图像中的物体的连接状态,即物体是否连接。本申请实施例中的目标模型/规则101具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。

根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,ar/vr,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有i/o接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向i/o接口112输入数据,所述输入数据在本申请实施例中可以包括:用户输入信息、包括至少两个物体的图像、图像的边缘信息等。

预处理模块113和预处理模块114用于根据i/o接口112接收到的输入数据(如待处理图像)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。

在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。

最后,i/o接口112将处理结果,如上述得到的图像中的物体的连接状态返回给客户设备140,从而提供给用户。

需要说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。

在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过i/o接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向i/o接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由i/o接口112直接将如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果,作为新的样本数据存入数据库130。

值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。

如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是cnn,深度卷积神经网络(deepconvolutionalneuralnetworks,dcnn),区域卷积神经网络(region-basedcnn或regionswithcnn,rcnn)等等。

卷积神经网络是一种带有卷积结构的深度神经网络,下面结合图2重点对cnn的结构进行详细的介绍。卷积神经网络是一种深度学习(deeplearning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,cnn是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。

如图2所示,卷积神经网络(cnn)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。下面对这些层的相关内容做详细介绍。

卷积层/池化层220:

卷积层:

如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。

下面将以卷积层221为例,介绍一层卷积层的内部工作原理。

卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,

需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。

不同的权重矩阵可以用来提取图像中不同的特征,例如,一个权重矩阵可以用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪声进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。

当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。

池化层:

由于常常需要减少训练参数的数量,因此,卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。

神经网络层230:

在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。

在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。

需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。

图3为本申请实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器(neural-networkprocessingunit)30。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现。

神经网络处理器(neuralprocessingunit,npu)50作为协处理器挂载到主中央处理器(centralprocessingunit,cpu)上,由主cpu分配任务。npu的核心部分为运算电路303,控制器304控制运算电路303提取权重存储器302或者输入存储器301中的数据并进行运算。

在一些实现中,运算电路303内部包括多个处理单元(processengine,pe)。在一些实现中,运算电路303可以是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。

在一些实现中,运算电路303是通用的矩阵处理器。

举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路303从权重存储器302中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路303从输入存储器301中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)308中。

向量计算单元307可以对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非fc层的网络计算,如池化(pooling),批归一化(batchnormalization),局部响应归一化(localresponsenormalization)等。

在一些实现种,向量计算单元能307将经处理的输出的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如,累加值的向量,用以生成激活值。

在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。

在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如,用于在神经网络中的后续层中的使用。

统一存储器306用于存放输入数据以及输出数据。

权重数据直接通过存储单元访问控制器(directmemoryaccesscontroller,dmac)305将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。

总线接口单元(businterfaceunit,biu)310,用于通过总线实现主cpu、dmac和取指存储器309之间进行交互。

与控制器304连接的取指存储器(instructionfetchbuffer)309,用于存储控制器504使用的指令;控制器304,用于调用指存储器309中缓存的指令,实现控制该运算加速器的工作过程。

一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(on-chip)存储器,外部存储器为该npu外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)、高带宽存储器(highbandwidthmemory,hbm)或其他可读可写的存储器。

其中,图2所示的卷积神经网络中各层的运算可以由运算电路303或向量计算单元307执行。

上文中介绍的图1中的执行设备110能够执行本申请实施例的图像显示方法的各个步骤,具体地,图2所示的cnn模型和图3所示的芯片也可以用于执行本申请实施例的图像显示方法的各个步骤。

应理解,在本申请的各实施例中,“第一”、“第二”、“第三”等仅是为了指代不同的对象,并不表示对指代的对象有其它限定。

在部署新增室外基站和室内机房时,需要对设备进行接线,将相关设备用导线连接在一起。为了避免施工时产生的连线错误,通常要求施工队对连线后的设备进行拍照,并将照片传至公司进行审核,由于数据传输和审核的延时,当审核中发现设备连线错误时,施工队可能已经转移到另外一个站点进行施工,造成施工队需要重新回到上一站点修正连线错误,耗费大量时间和经费。

对于需要识别物体之间连接状态的场景,一种实现工业视觉的方式是通过手工设计的特征模板对设备、零件进行识别,并检测相互关系。特征模板是用于识别特征对象的特征集合,包含特定对象的特征。可以是特征向量。传统方法中,特征向量里的每一个数字都有明确的语义特征,比如汽车的特征向量为(车身颜色,排量,车型),所以任何信息都可以很方便的加入特征向量中。传统方法为了确定连线关系,将连线信息添加到特征向量中。连线信息例如包括与设备相连的连线的颜色、粗细、材质、走向等。识别设备、零件等物体和连线后,提取物体和连线与连接关系有关的特征,从而确定两物体之间是否将连接。

通过上述方式,对待检测设备进行拍照,通过照片对连线错误进行检测,能及时反馈错误信息,避免施工队重复上站,提升了工作效率,节省了开支。但是由于手工设计的特征缺乏泛化能力,针对不同场景需要手工设计对应的模板,工作冗余严重,效率低。

图4和图5是两种基于工业视觉的检测物体之间的关系的方法的示意性流程图。使用深度学习方法,不需要手工设计特征模板,能够提升效率。但是这两种方案均无法准确获得两个物体是否连接。

图4是一种通过神经网络实现的图像识别方法的示意性流程图。

在该方法中,首先进行物体检测(objectdetection)。通过检测,获得目标物体,即图中不同虚线框中物体。对每两个目标物体进行组合,例如,可以将图像中的目标物体女孩与目标物体气球组合,也可以将图像中的目标物体女孩与目标物体窗户组合。

然后,通过关系识别(jointrecognition)确定目标物体的关系。在一种组合方式中,获取图中这两个目标物体的特征向量,通过空间模型和外观模型获得物体之间的关系。目标物体的特征向量可以用于表示目标物体的特征。例如,可以通过深度关系网络(deeprelationalnetwork,dr-net)对两个目标物体的空间模型和外观模型进行运算,结合统计关系数据,获得物体之间的关系。统计关系数据可以作为两个目标物体之间的关系的依据,例如(猫,吃,鱼)是常见的,而(猫,骑,鱼)、(鱼,吃,猫)可能性极小。对于每个组合,通过dr-net,可以输出两个目标物体的关系及概率。

该方案中,两个目标物体的关系可以是位置关系,如(女孩,旁边,窗户),也可以是某个动作的主被动关系,如(女孩,拿,气球)。

此方案采用了目标物体的特征,以及统计关系数据,但无法确定两个目标物体是否连接。在目标物体有多个的情况下,该方案确定了每两个目标物体之间的关系,计算量较大。另外,此方案采用端到端的黑盒模型,模型推理过程不透明,物体之间的相互关系完全依赖数据获得。

图5是一种通过神经网络实现的图像识别方法的示意性流程图。

程序生成模块包括长短期记忆(longshorttermmemory,lstm)循环神经网络,用于读取问题并生成一个计划或程序,该程序是函数的组合。执行模块使用神经网络实现每个函数,并在图像上执行生成的程序以产生答案。

该方案中,卷积神经网络(convolutionalneuralnetworks,cnn)对图像中的物体进行特征提取。程序生成模块通过读取问题,并对问题进行提取,确定两类目标物体各自的特征组合。特征的组合可以通过特征向量表示。执行模块根据上述特征组合,以及通过cnn确定的特征,在图像中定位两类目标物体,将这两类目标物体的特征进行组合。分类器通过这两类目标物体的特征,获得这两类物体的关系。

此方案采用了目标物体的特征,但无法获得两个目标物体是否连接。

每一类目标物体中,可以包括一个或多个该类目标物体,例如一类目标物体可以是颜色,大小,形状,材质等特征与问题中描述相符合的物体。图像中的一类目标物体包括多个目标物体时,该方案中没有对多个目标物体进行区分。因此通过问题描述的方式确定目标物体,可能存在物体指定错误,从而无法确定单个目标物体与其他物体的是否连接。

通过手工设计的特征模板,能够对图像中连接错误进行检测,能及时反馈该连接错误信息,提升了工作效率,节省了开支。但是由于手工设计的特征模板缺乏泛化能力,针对不同场景需要手工设计对应的模板,工作冗余严重,效率低。

通过神经网络对物体进行识别,能够提升效率,但是通过神经网络仅能够对物体的特征进行提取,无法判断物体的连接状态,发现连接错误。

为了解决上述问题,本申请实施例提供了一种图像识别的方法。利用图像中目标物体之外的区域的图像信息,能够确定目标物体之间的连接关系。

下面结合图6-图8,对本申请实施例提供的模型训练的方法进行说明。

方法600、方法700、方法800具体可以由如图1所示的训练设备120执行。

可选的,所述方法600、方法700、方法800可以在训练设备120中执行,也可以在训练设备120之前由其他功能模块预先执行。

可选的,所述方法600、方法700、方法800可以由cpu处理,可以由npu处理,也可以由cpu和图像处理器(graphicsprocessingunit,gpu)共同处理,也可以不用gpu,而使用其他适合用于神经网络计算的处理器,本申请不做限制。

训练设备120具体可以用于训练本申请实施例提供的第一模型、第二模型、第三模型、第四模型、第五模型中的一个或多个。

图6是本申请实施例提供的一种用于图像识别的神经网络模型的训练方法。

方法600中的第一训练图像和第一指示信息可以是如图1所示的数据库130中维护的训练数据。第一训练图像包括至少两个物体。第一指示信息用于指示第一训练图像中的物体在第一训练图像中的第一位置。连接状态的判断,是指至少两个物体之间是否连接。因此,要求第一训练图像中至少包括两个物体。

在步骤s610,获取第一训练图像和第一指示信息,第一训练图像包括至少两个物体,第一指示信息用于指示第一训练图像中的图像在第一训练图像中的第一位置。

在步骤s620,使用第一原始模型对第一训练图像处理,以获取第二指示信息,第二指示信息用于指示经过第一原始模型识别的第一训练图像中的物体在第一训练图像中的第二位置。

第一原始模型可以通过rcnn,快速rcnn(fast-rcnn),或更快速rcnn(faster-rcnn)实现。faster-rcnn包括残差网络、区域生成网络(regionalproposalnetwork,rpn)、分类器(classifier)。rpn是一个全卷积网络(fully-convolutionalnetwork,fcn)。残差网络是一种深度卷积网络,能够解决退化的问题,通过增加网络深度可以提高网络性能。

第一指示信息和第二指示信息可以采用相同的位置表示方式指示位置。例如第一指示信息和第二指示信息可以均为矩形目标提示框的集合,或者均为表示坐标的集合。

在步骤s630,根据第二指示信息和第一指示信息调整第一原始模型的参数,以使第一位置和第二位置的相似度在第一预设范围内。

也就是说,调整第一原始模型的参数,以减小通过第一原始模型得到的第二位置与第一位置的差异,提高第一原始模型识别物体位置的准确度。

在步骤s640,将经过调整后的第一原始模型,作为第三模型。

第三模型也可以称为目标检测模型,用于目标检测(objectdetection),即识别图像中的物体并确定该物体在图像中的位置。

图7是本申请实施例提供的一种用于图像识别的神经网络模型的训练方法。

方法700中的第二训练图像、第三指示信息、第四指示信息和第五指示信息可以是如图1所示的数据库130中维护的训练数据。第二训练图像包括至少两个物体。第三指示信息用于指示至少两个物体中的第三物体和第四物体之间的第一连接状态。第四指示信息用于指示第三物体和第四物体在第二训练图像中的位置。第五指示信息包括第二训练图像的边缘信息。

在步骤s710,获取第二训练图像、第三指示信息、第四指示信息和第五指示信息。

在步骤s720,使用第二原始模型和第四指示信息对第二训练图像进行处理,以提取第三物体和第四物体的第一训练特征。

可以通过特征向量或特征矩阵表示第一训练特征。用于表示特征的向量可以称为特征向量。用于表示特征的矩阵可以称为特征矩阵。以特征向量为例进行说明。

第一训练特征可以包括两个向量,两个向量分别为第三物体的特征向量和第四物体的特征向量。

第二原始模型可以包括一个cnn。该cnn可以按照先后顺序提取第三物体的特征和第四物体的特征。也就是说,该cnn可以先后输出第三物体的特征向量和第四物体的特征向量。

第二原始模型可以包括两个cnn,两个cnn分别用于提取第三物体的特征以及第四物体的特征。即两个cnn可以分别输出第三物体的特征向量和第四物体的特征向量。第二原始模型可以包括一个cnn,按照先后顺序对第三物体的特征以及第四物体的特征进行提取。

第一训练特征也可以包括一个向量,该向量用于表示第三物体的特征和第四物体的特征。第二原始模型可以包括一个cnn。该cnn可以用于输出该向量。

在步骤s730,使用第三原始模型对第二训练图像的边缘信息、第一训练特征进行融合,以获取第二训练特征。

对于第一训练特征包括第三物体的特征向量和第四物体的特征向量的情况,第三原始模型可以包括两个cnn。其中,第一个cnn用于将第三物体的特征以及第四物体的特征进行第一步融合,以获取第一训练特征,第二个cnn用于将第一训练特征与第五指示信息进行第二步融合,以获取第二训练特征。

融合的方式有多种。

组合(combine)是一种融合的方式。采用combine的方式进行融合,可以将待融合的特征直接相加,或者加权相加。加权相加,即乘以一定系数即权重值之后相加。也就是说,采用combine的方式,可以将通道维度(channelwise)进行线性组合。

以第一步融合为例进行说明。可以将第三物体的特征以及第四物体的特征相加,例如,可以将第三物体的特征以及第四物体的特征直接相加,也可以将第三物体的特征以及第四物体的特征按照一定权重相加。t1和t2分别表示第三物体的特征和第四物体的特征,可以用t3表示融合后的第一训练特征,t3=a×t1+b×t2,其中,a和b分别为计算t3时t1和t2乘的系数,即权重值,a≠0,且b≠0。

级联(concatenate)和通道融合(channelfusion)是另一种融合的方式。采用concatenate&channelfusion的方式,可以将待融合的特征的维数直接拼接,或者乘以一定系数即权重值之后进行拼接。

在一些实施例中,第一个cnn可以包括卷积核大小为1*1的卷积层。1*1的卷积层用于将第三物体的特征以及第四物体的特征进行第一步融合,以获取融合后的第一训练特征。应当理解,第一个cnn也可以包括多个卷积层。第一步融合可以采用组合(combine)的方法,将第三物体的特征以及第四物体的特征加权相加。第二个cnn用于将融合后的第一训练特征与第五指示信息进行第二步融合,以获取第二训练特征。第二步融合可以采用concatenate&channelfusion)的方法,将融合后的第一训练特征和第五指示信息进行线性运算。

对于第一训练特征包括一个特征向量的情况(该特征向量用于表示第三物体和第四物体的特征),第二原始模型可以包括一个cnn,同时提取第三物体的特征以及第四物体的特征,以得到第一训练特征。此时,第三原始模型不需要进行第三物体的特征以及第四物体的特征的第一步融合。第三原始模型可以不包括上述卷积核大小为1*1的卷积层构成的cnn网络。即第三原始模型可以包括一个cnn,用于将第一训练特征与第五指示信息进行第二步融合。

第三原始模型可以包括一个cnn,对第二训练图像的边缘信息、第三物体的特征以及第四物体的特征进行融合,以获取第二训练特征。

在步骤s740,使用第四原始模型对第二训练特征进行处理,以获取第六指示信息,第六指示信息用于指示第三物体和第四物体的第二连接状态。

第二连接状态是指第三物体和第四物体连接或不连接。

第四原始模型可以包括cnn和损失函数softmax。

在步骤s750,根据第六指示信息和第三指示信息调整第二原始模型、第三原始模型和第四原始模型的参数,以使第一连接状态和第二连接状态之间的相似度在第二预设范围内。

在步骤s760,将经过调整后的第二原始模型,作为第一模型;将经过调整后的第三原始模型,作为第四模型;将经过调整后的第四原始模型,作为第二模型。

第一模型也可以称为特征提取模型,用于提取物体的特征,例如形状、朝向、图片中的位置等。

第四模型也可以称为第一融合模型,用于融合待检测物体的特征。

第二模型也可以称为分类模型或分类器,用于确定待检测物体之间是否经连接部件连接。

应当理解,在步骤s703和步骤s704可以通过一个神经网络实现。第三原始模型可以是一个单独的神经网络,或者也可以作为第四原始模型的一部分。也就是说,第二训练图像的边缘信息、第一训练特征输入第四原始模型,第四原始模型输出第六指示信息。第二训练特征可以是第四原始模型的中间结果。

通过两个独立的神经网络第三原始模型和第四原始模型,第三原始模型可以输出图像识别中间过程的处理结果,从而可以在图像识别的过程中可以根据该处理结果判断检测结果的准确性,并且较为容易确定对结果准确性造成影响的因素。

第一步融合与第二步融合采用不同的神经网络进行,每个神经网络可以输出图像识别中间过程的处理结果。

图8是本申请实施例提供的一种用于图像识别的神经网络模型的训练方法。

方法800中的第三训练图像和第七指示信息可以是如图1所示的数据库130中维护的训练数据。第三训练图像包括至少两个物体,第七指示信息用于指示第三训练图像的第一边缘信息。

在步骤s810,获取第三训练图像和第七指示信息。

在步骤s820,根据第五原始模型对第三训练图像处理,以获取第八指示信息,第八指示信息用于指示经过第五原始模型识别的第三训练图像的第二边缘信息。

第五原始模型识别的第三训练图像的第二边缘信息,即第五原始模型对第三训练图形进行边缘检测(filteredge)。边缘信息也可以称为边缘特征。

在步骤s830,根据第七指示信息和第八指示信息调整第一原始模型的参数,以使第一边缘信息和第二边缘信息的相似度在第三预设范围内。

在步骤s840,将经过调整后的第五原始模型,作为第五模型。

第五模型也可以称为边缘检测模型,用于确定图像的边缘信息,即确定输入图像中的物体的边缘。

下面结合附图9对本申请实施例的图像处理的方法进行详细的介绍。图像识别设备可以是具有图像识别功能的电子设备,该电子设备还可以包括显示屏和摄像头。该电子设备具体可以是移动终端(例如,智能手机),电脑,个人数字助理,可穿戴设备,车载设备,物联网设备或者其他能够进行图像识别的设备。

图9是本申请实施例提供的一种图像识别的方法的示意性流程图。图9所示的方法900包括步骤s910至s950,下面分别对这些步骤进行详细的描述。步骤s910-s950可以由图像识别装置执行。

在步骤s910,获取第一图像。第一图像包括至少两个物体。

也就是说,第一图像中包括待检测连接关系的至少一对物体。

在步骤s920,获取位置信息。位置信息用于指示第一图像中至少两个物体中的第一物体和第二物体在所述第一图像中的位置。物体在图像中可以位于一个矩形框、圆形框或其他形状的内部。以矩形框为例,物体在图像中的位置可以通过矩形框四个顶点的坐标表示,或者通过矩形框中心点的坐标以及矩形框的长和宽表示。

可以将第一图像输入第三模型,以获得该位置信息。根据第一图像,使用第三模型确定位置信息。第三模型能够识别物体并确定物体在图像中的位置。图像识别装置可以包括或不包括第三模型。

在步骤s930,使用特征提取模型对所述位置信息和所述第一图像进行处理,以获取所述第一物体和所述第二物体的物体特征。

可以将位置信息和第一图像输入特征提取模型,以获取第一物体和第二物体的物体特征。特征提取模型可以用于提取物体的特征。第一物体和第二物体的物体特征包括第一问题的特征和第二物体的特征。

物体特征可以通过特征向量或特征矩阵表示,以特征向量为例进行说明。

物体特征可以包括两个特征向量。特征提取模型可以分别提取第一物体的第一特征和第二物体的第二特征。例如,特征提取模型可以按照先后顺序,分别提取第一物体和第二物体的特征。或者,特征提取模型包括两个独立的模型,两个独立的模型可以分别用于提取第一物体的第一特征和第二物体的第二特征。

在步骤s950之前,可以对第一特征和第二特征进行融合,以获取物体特征。对第一特征和第二特征的融合,可以采用combine的方法,也可以采用concatenate&channelfusion的方式,还可以采用其他融合的方式。如果以combine的方式对第一特征和第二特征的融合,可以采用卷积核大小为1*1的卷积层进行融合。

物体特征也可以包括一个特征向量,该特征向量用于表示第一物体和第二物体的特征。特征提取模型可以对第一图像进行提取得到该物体特征,即该特征向量。也就是说,特征提取模型可以包括一个独立的模块,该独立的模块可以用于提取第一物体和第二物体的物体特征。

可以使用特征提取模型对位置信息和第一图像进行处理,以获取物体特征。可以使用第一融合模型对边缘信息、物体特征进行融合,以获取所述目标特征。

也就是说,根据位置信息和第一图像,可以使用特征提取模型提取物体特征。

在步骤s940,获取所述第一图像的边缘信息。

存储器中可以存储有第一图像的边缘信息。可以通过读取存储器获取第一图像的边缘信息。

根据第一图像,可以使用边缘检测模型获取边缘信息。图像识别装置可以包括或不包括边缘检测模型。也就是说,可以使用边缘检测模型对第一图像进行处理,即,将第一图像输入边缘检测模型,以获取边缘信息。

在步骤s950,根据边缘信息、物体特征,使用分类模型识别所述第一物体和所述第二物体的连接状态。

使用分类模型,对边缘信息、物体特征进行处理,以识别第一物体和第二物体的连接状态,即识别第一物体和第二物体连接或未连接。

可以将边缘信息、物体特征输入分类模型。分类模型根据输入的信息进行处理,以获取连接状态。

也可以将边缘信息、物体特征进行融合,将融合后的信息输入分类模型。根据边缘信息、物体特征,可以使用第一融合模型进行融合,以获取所述目标特征。可以使用第一融合模型对边缘信息、物体特征进行融合,以获得目标特征。对边缘信息、物体特征进行融合,可以采用combine的方法,也可以采用concatenate&channelfusion方法等。如果通过concatenate&channelfusion进行边缘信息、物体特征的融合,可以采用cnn进行。

根据目标特征,可以使用分类模型进行识别,以获取第一物体和第二物体的连接状态。可以使用分类模型对目标特征进行处理,以确定第一物体和第二物体的连接状态。

通过步骤s910-s950,根据图像中两个物体的特征,以及图像的边缘信息,通过神经网络模型,能够确定两个物体的连接状态,即两个物体连接或未连接。

图10是本申请实施例提供的一种图像识别方法的示意性流程图。

在步骤s1001,使用目标检测模型,检测第一图像中的目标物体。目标检测模型用于检测第一图像中的所有目标物体,确定目标物体的位置信息,该位置信息用于指示目标物体在第一图像中的位置。

目标检测模型可以用于检测第一图像中的所有目标物体,并确定每一个目标物体在第一图像中的位置。第一图像包括至少两个目标物体。

在步骤s1001之前,可以获取第一图像。例如,对目标物体进行拍摄,以获取第一图像。或者,在存储器中读取第一图像。第一图像中包括目标物体的图像。

目标检测模型可以通过更快区域(fasterregionswithconvolutionalneuralnetworks,faster-rcnn)实现。faster-rcnn包括残差网络、区域生成网络(regionalproposalnetwork,rpn)、分类器(classifier)。

在步骤s1002,根据位置信息,在第一图像中标记特定目标物体。

根据目标物体在第一图像中的位置,在第一图像中,标记目标物体中的特定目标物体。对特定目标物体的标记,也可以理解为对特定目标物体在图像中的位置进行标记。例如,对特定目标物体所在的矩形框进行标记。

在第一图像中,可能包括多个目标物体。在实际情况中,可能仅需要确定多个目标物体中部分目标物体之间的连接关系,这部分目标物体即特定目标物体。

在步骤s1002之前,可以确定特定目标物体。在步骤1002,可以对确定的特定目标物体进行标记。

特定目标物体的确定,可以是由人工指定,也可以由程序确定。也就是说,可以由人工确定目标物体中的特定目标物体,也可以根据预设的条件自动确定目标物体中的特定目标物体。因此,可以由程序自动标记特定目标物体,或根据用户的输入标记特定目标物体。

例如,在步骤s1001,可以输出目标物体以及目标物体在第一图像中的位置。用户可以根据目标物体在第一图像中的位置,输入位置指令,该位置指令用于指示特定目标物体在第一图像中的位置。根据该指令,可以确定特定目标物体。

或者,也可以根据特征向量,确定特定目标物体。根据用户输入的特征信息,或者,根据预设置的特征信息,可以确定特定目标物体。特征信息可以包括特征向量,或者参见图5的说明,特征向量可以用于指示特定目标物体的特征。根据该特征信息,可以确定特定目标物体在第一图像中的位置。

通过对特定目标物体的连接关系的检测可以仅对该部分物体进行,一定程度上可以减少待检测物体的数量,减小运算量,降低系统开销。

可以对特定目标物体进行标记。标记的位置,是特定目标物体在第一图像中的位置。也就是说,标记的添加,可以根据位置信息进行。标记特定目标物体,可以是对目标物体中指定的特定目标物体进行标记。通过对标记的获取,可以确定特定目标物体。

可以通过显示装置显示的第一图像中,显示对特定目标物体的标记,表现方式直观。

对根据预设条件确定的特定目标物体,通过对特定目标物体的标记,可以预先显示待检测连接关系的对象。如果特定目标物体有误,可以提前结束检测过程,减小计算量。

如果由人工确定目标物体中的特定目标物体,则可以根据用户输入信息,标记特定目标物体。通过对标识的特定目标物体的进行连接关系的检测,用户可以对检测的对象进行选择。

步骤s1002为可选步骤。可以认为在第一图像中检测到的目标物体均为特定目标物体,则不需要进行标记。例如,当第一图像中仅存在两个目标物体时,连线关系的检测对这两个物体进行,这两个物体为特定目标物体。

由程序确定特定目标物体时,也可以不进行步骤s1002。

可以通过在特定目标物体上添加滤镜,对特定目标物体进行标记。例如,对特定目标物体所在的矩形框添加滤镜。滤镜的大小可以与矩形框的大小相同。

添加的滤镜可采用不同的颜色、形状、纹理等,也就是说,通过颜色、形状、纹理可以对滤镜进行区分。滤镜的种类不与物体种类绑定,所有目标物体均有可能被添加任意滤镜。一张图像中,同一种类滤镜只添加一次,一个物体仅添加一个滤镜,滤镜仅添加给目标物体,不会添加给背景。由于连线关系涉及两个物体,所以一次添加两个或两个以上滤镜。

可以对添加滤镜的物体两两之间进行连接关系的检测。添加的滤镜类型可以自动设置或根据用户的输入确定。

可以设定对于哪些滤镜对应的物体间是否连接进行检测,以及对于哪些滤镜对应的物体间是否连接不进行检测。例如,可以设定对红色和绿色滤镜对应的物体之间是否连接进行检测,对红色和蓝色滤镜对应的物体之间是否连接不进行检测。添加的滤镜类型可以由人工进行选择。通过这种方式,在图像中添加三个及三个以上滤镜的情况,可以减小计算量。

通过添加滤镜的方式对目标物体进行标记,操作简单,显示直观,且标记后的数据可以用于后续处理,无需进行其他预处理。

在步骤s1003,使用特征提取模型,提取特定目标物体的特征。

在确定特定目标物体后,可以提取特定目标物体的特征。

对于进行步骤s1002的情况,可以通过标记的引导,可以对特定目标物体进行特征的提取。也就是说,可以根据标记,确定特定目标物体。

对于通过滤镜标识特定目标物体的情况,可以依次提取每种滤镜对应的物体的特征,也可以同时提取所有通过滤镜进行标记的物体的特征。可以通过多个特征提取模块提取所有通过滤镜进行标记的物体的特征,其中,每个特征提取模块用于提取一个物体的特征。每个特征提取模块用于提取一个物体的特征,可以减小计算量,降低系统开销。

提取的特征可以包括特定目标物体的形状、朝向、图片中的位置。提取的特征还可以包括纹理、光照、大小、与连线相接处的部位等中的一种或多种。

特征提取模型可以用于特定目标物体进行特征的提取。特征提取模型可以根据标记,例如添加的滤镜,确定特定目标物体,并提取特定目标物体的特征。

特征提取模型可以依次提取每种滤镜对应的物体的特征,也可以同时提取所有特定目标物体的特征。特征提取模型可以包括一个特征提取模块,用于提取多个特定目标物体的特征,特征提取模型可以包括多个特征提取模块,每个特征提取模块用于提取一个特定目标物体的特征。特征提取模块可以与滤镜种类一一对应。例如:红色滤镜特征提取模块对应红色滤镜,对红色滤镜对应的物体进行特征提取;蓝色滤镜特征提取模块对应蓝色滤镜,对蓝色滤镜对应的物体进行特征提取。也就是说,可以通过选择特定的特征提取模块对图片中对应的滤镜标记的物体进行特征提取。

可以根据用户的输入,自动确定滤镜的类型和滤镜对应的特征提取模块。

特征提取模型用于提取物体的特征。特征提取模型可以通过cnn实现。

在步骤s1004,使用第六模型,对特定目标物体的特征进行融合。

将连接关系检测涉及的两个物体的特征进行融合,以得到融合后的特征。两个物体的特征的融合可以是指将多个特征向量合并为一个特征向量,融合后的物体特征向量的维数是融合前多个特征向量维数之和。

第六模型可以不经过训练。第六模型可以为卷积核大小为1*1的卷积层。第六模型也可以称为第二融合模型。

在步骤s1005,使用第一融合模型模型,对第一图像的边缘信息和融合后的物体特征进行融合。

第一融合模型可以通过cnn实现。第一融合模型可以采用concatenate&channelfusion方法对边缘信息、物体特征进行融合。

第一图像的边缘信息是根据第一图像的到的。

在步骤s1005之前,获取第一图像的边缘信息。

通过对第一图像进行边缘检测,可以获得第一图像的边缘信息。边缘检测是图像处理和计算机视觉中的基本处理方式,边缘检测的目的是标识数字图像中亮度变化明显的点。边缘可以定义为图像中灰度发生急剧变化的区域边界。

可以使用边缘检测模型,提取第一图像的边缘信息。

可以使用第一融合模型,将融合后的物体特征与第一图像的边缘信息进行融合。例如,可以将第一图像中特定目标物体之外的区域对应的边缘信息与融合后的物体特征进行融合。物体特征与边缘信息的融合可以是指线性组合。

在步骤s1006,使用分类模型,确定连接状态,即确定特定目标物体是否连接。

根据融合的结果,检测特定目标物体是否连接。

分类模型可以通过cnn实现。分类器的神经网络层包括全连接层(fullyconnectlayer)。分类器的输出层具有损失函数softmax。

对于特定目标物体多于两个的情况,在步骤s1004之前,可以对多个特定目标物体进行分组,每组包括两个待检测连接关系的特定目标物体。对每一组特定目标物体,分别进行步骤s1004-s1006。多组特定目标物体的连接关系检测可以同时进行。每个物体可以属于一个或多个组。

通过步骤s1001-s1006,能够实现对目标物体连接状态的检测。

需要说明的是,在本申请中,该训练设备120和执行设备110可以是同一设备,即,在本申请中,神经网络模型的训练过程可以由图像识别设备执行。

或者,该训练设备120和执行设备110也可以是不同设备,即,在本申请中,上述模型的训练过程也可以由第三方设备(例如,图像服务器等)执行,本申请并未特别限定。

本申请实施例对于执行上述步骤的处理器的类型不作限定。上述方法1000可以由cpu执行。或者,上述方法1000可以由gpu执行。或者,上述方法1000可以由npu执行。

图11是本申请实施例提供的一种图像识别方法的示意性流程图。

施工队完成设备安装后,对连线设备进行拍照。可以通过终端设备实现连接状态的检测。或者也可以将照片上传至计算机、服务器等设备,通过计算机、服务器等实现连接状态的检测。

检测目标物体的位置和种类,即识别目标物体并确定目标物体在图片中的位置。目标物体可以是设备的整体,或设备的一部分。目标检测模型可以检测出照片中所有的目标物体。目标物体也可以称为目标设备,例如可以是防水接口和标签。目标检测模型对图像中所有的防水接口和标签进行检测。

添加滤镜。可以使用物体高亮(objecthighlight),即对特定目标物体添加滤镜的方式,标记特定目标物体。特定目标物体可以由人工指定或由程序指定,特定目标物体也可以称为指定设备。图中白色边框内显示了对指定物体添加的滤镜。被标记的物体包括一个防水接口,以及标签1和标签2这两个标签。

标记特定目标物体,也可以理解为对于特定目标物体位置的标记。特定目标物体位置之后,进行连接状态的检测。连接状态检测的过程,通过神经网络进行。

通过标记,引导特定目标物体的特征提取。图中通过滤镜标记了三个特定目标物体,可以根据滤镜对三个目标物体进行特征的提取。可以使用特征提取模型分别提取每个特定目标物体的特征。

可以对特定目标物体进行分组,每组包括两个特定目标物体。每个特定目标物体可以属于一个或多个组。例如,第一组包括防水接口和标签1,第二组包括标签1和标签2。

可以对照片进行边缘检测(filteredge),以确定照片的边缘信息。边缘信息可以作为先验知识。也就是说,边缘检测模块可以作为第三方模块,提供图像的边缘信息,作为本方案的先验知识。应当理解,边缘信息可以包括照片所有物体的边缘,也可以仅包括除特定目标物体之外的其他物体的边缘。即边缘信息可以不包括指定物体的边缘。也就是说边缘检测模块可以对指定物体的对应的图片中的位置,不提取边缘信息。

融合特定目标物体的特征。对于每一组,可以将特定目标物体的特征进行融合(combine),以获取融合特征。对特定目标物体特征的融合,保留特定目标物体的位置关系,即保留每个特定目标物体在图像中的位置。

融合特定目标物体的特征和边缘信息。对于每一组,将边缘信息与融合特征进行融合(concatenate&channelfusion),以获取目标特征。

将目标特征输入分类模型,进行连接状态的检测。

根据本申请实施例提供的图像识别的方法,用户对设备拍照、上传电脑并指定待检测设备(或由程序自动指定待检测设备)后,即可获得待检测设备间是否连接的结果。只需拍照和人工指定待检测设备。根据用户输入,在图像上为指定的物体添加高亮滤镜,表现方式直观,且可以直接输入程序进行检测,无需其他预处理。

本申请实施例提供的图像识别的方法,在对实际拍摄的照片进行设备连接关系的检测时,准确率达到约92%。本申请实施例提供的图像识别的方法,兼顾了深度学习自动提取特征的优势。同时,检测过程透明,可以根据目标检测模块的输出结果,确定待检测物体的准确。另外,对支持先验知识即边缘信息的整合,无需设计复杂的手工模板,提高了效率。

在实际的场景中,图像中可能包括多个同类物体,需要制定其中的一个或多个进行检测。

可以参照图4的方式,对每两个目标物体进行组合,检测每种可能的两个目标物体之间的连接状态。应当理解,这种方式计算量较大,且结果中无用信息较多。

也可以参照图5的方式,通过特征向量指定特定目标物体。应当理解,这种方式可能无法对多个目标物体进行区分,存在无法指定的情况。

还可以根据用户输入进行指定。可以将目标检测模型确定的目标物体的位置告知用户,使得用户可以根据该位置,指定特定目标物体。

根据用户输入进行指定,简化确定待检测物体的过程。通过滤镜进行标记,显示直观。根据用户输入添加滤镜,操作简单,容易实现。

另外,由于特征提取模型、第一融合模型、第二融合模型、分类模型通过不同的神经网络模型实现,因此可以获取连线检测过程中的中间结果,容易判断检测结果的准确性,并且较为容易确定对结果准确性造成影响的模型。

上文结合图1至图11,详细描述了本申请实施例提供的神经网络训练的方法以及图像识别的方法,下面将结合图12至图14,详细描述本申请的装置实施例。应理解,本申请实施例中的图像显示设备可以执行前述本申请实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。

图12是本申请实施例提供的一种图像识别装置的示意性结构图。

装置1200包括获取模块1201,处理模块1202,识别模块1203。

获取模块1201用于获取第一图像,所述第一图像包括至少两个物体。

获取模块1201还用于,获取位置信息,所述位置信息用于指示所述至少两个物体中的第一物体和第二物体在所述第一图像中的位置;

处理模块1202用于,使用第一模型和所述位置信息对所述第一图像进行处理,以获取所述第一物体和所述第二物体的物体特征;

获取模块1201还用于,获取所述第一图像的边缘信息;

识别模块1203用于,根据所述边缘信息、所述物体特征,使用第二模型识别所述第一物体和所述第二物体的连接状态。

可选地,获取模块1201还用于,使用第三模型对所述第一图像进行处理,以获取所述位置信息。

可选地,装置1200还包括调整模块和融合模块。

获取模块1201还用于,获取第一训练图像和第一指示信息,所述第一训练图像包括至少两个物体,所述第一指示信息用于指示所述第一训练图像中的物体在所述第一训练图像中的第一位置。

处理模块1202还用于,使用第一原始模型对所述第一训练图像处理,以获取第二指示信息,所述第二指示信息用于指示经过所述第一原始模型识别的所述第一训练图像中的物体在所述第一训练图像中的第二位置。

调整模块用于根据所述第二指示信息和所述第一指示信息调整所述第一原始模型的参数,以使所述第一位置和所述第二位置的相似度在第一预设范围内。经过调整后的第一原始模型为所述第三模型。

可选地,所述装置还包括融合模块,融合模块用于,使用第四模型对所述边缘信息、所述物体特征进行融合,以获取目标特征。

所述识别模块用于,根据所述目标特征,使用所述第二模型识别所述第一物体和所述第二物体的连接状态。

可选地,所述装置还包括调整模块。

获取模块1201还用于,获取第二训练图像、第三指示信息、第四指示信息和第五指示信息,所述第二训练图像包括至少两个物体,所述第三指示信息用于指示至少两个物体中的第三物体和第四物体之间的第一连接状态,所述第四指示信息用于指示所述第三物体和所述第四物体在所述第二训练图像中的位置,所述第五指示信息包括所述第二训练图像的边缘信息。

处理模块1202还用于,使用第二原始模型和所述第四指示信息对所述第二训练图像进行处理,以提取所述第三物体和所述第四物体的第一训练特征;

融合模块还用于,使用第三原始模型对所述第二训练图像的边缘信息、所述第一训练特征进行融合,以获取第二训练特征;

处理模块1202还用于,使用第四原始模型对所述第二训练特征进行处理,以获取第六指示信息,所述第六指示信息用于指示所述第三物体和所述第四物体的第二连接状态;

调整模块用于,根据所述第六指示信息和所述第三指示信息调整所述第二原始模型、第三原始模型和所述第四原始模型的参数,以使所述第一连接状态和所述第二连接状态之间的相似度在第二预设范围内。

经过调整后的第二原始模型为所述第一模型;经过调整后的第三原始模型为所述第四模型;经过调整后的第四原始模型为所述第二模型。

可选地,获取模块1201用于,使用第五模型对所述第一图像进行处理,以获取所述边缘信息。

可选地,装置1200包括调整模块。

获取模块1201还用于,获取第三训练图像和第七指示信息,所述第三训练图像包括至少两个物体,所述第七指示信息用于指示所述第三训练图像的第一边缘信息;

处理模块1202还用于,根据第五原始模型对所述第三训练图像处理,以获取第八指示信息,所述第八指示信息用于指示经过所述第五原始模型识别的所述第三训练图像的第二边缘信息。

调整模块用于根据所述第七指示信息和所述第八指示信息调整所述第一原始模型的参数,以使所述第一边缘信息和所述第二边缘信息的相似度在第三预设范围内。

经过调整后的第五原始模型为所述第五模型。

可选地,获取模块1201还用于根据用户输入信息,获取所述位置信息。

可选地,装置1200还包括融合模块,

处理模块1202用于,使用第一模型和所述位置信息对所述第一图像进行处理,以获取所述第一物体的第一特征和所述第二物体的第二特征;

融合模块用于,根据第六模型,对所述第一物体的特征和所述第二物体的特征进行融合,以获取所述物体特征。

图13是本申请实施例提供的一种神经网络模型的训练装置的硬件结构示意图。

神经网络模型可以包括特征提取模型、第一融合模型、第二融合模型、分类模型、边缘检测模型、目标检测模型中的一个或多个。

例如,神经网络模型可以包括目标监测模型。

神经网络模型可以包括目标检测模型。

神经网络模型可以包括特征提取模型、第一融合模型、分类模型。神经网络模型还可以包括第二融合模型。

图13所示的训练装置1300(该装置1300具体可以是一种通信设备或服务器设备)包括存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。

存储器1301可以是只读存储器(readonlymemory,rom),静态存储设备,动态存储设备或者随机存取存储器(randomaccessmemory,ram)。存储器1301可以存储程序,当存储器1301中存储的程序被处理器1302执行时,处理器1302和通信接口1303用于执行本申请实施例的神经网络模型的训练方法的各个步骤。

处理器1302可以采用通用的中央处理器(centralprocessingunit,cpu),微处理器,应用专用集成电路(applicationspecificintegratedcircuit,asic)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的神经网络模型的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的神经网络模型的训练方法。

处理器1302还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的神经网络模型的训练方法的各个步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1302还可以是通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、asic、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1301,处理器1302读取存储器1301中的信息,结合其硬件完成本申请实施例的神经网络模型的训练装置中包括的单元所需执行的功能,或者执行本申请方法实施例的神经网络模型的训练方法。

通信接口1303使用例如但不限于收发器一类的收发装置,来实现装置1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1303获取训练数据。

总线1304可包括在装置1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。

可选地,处理器1302可以用于:

获取第一训练图像和第一指示信息,所述第一训练图像包括至少两个物体,所述第一指示信息用于指示所述第一训练图像中的物体在所述第一训练图像中的第一位置;

使用第一原始模型对所述第一训练图像处理,以获取第二指示信息,所述第二指示信息用于指示经过所述第一原始模型识别的所述第一训练图像中的物体在所述第一训练图像中的第二位置;

根据所述第二指示信息和所述第一指示信息调整所述第一原始模型的参数,以使所述第一位置和所述第二位置的相似度在第一预设范围内;

将经过调整后的第一原始模型,作为所述第三模型。

可选地,处理器1302可以用于:

获取第二训练图像、第三指示信息、第四指示信息和第五指示信息,所述第二训练图像包括至少两个物体,所述第三指示信息用于指示至少两个物体中的第三物体和第四物体之间的第一连接状态,所述第四指示信息用于指示所述第三物体和所述第四物体在所述第二训练图像中的位置,所述第五指示信息包括所述第二训练图像的边缘信息;

使用第二原始模型和所述第四指示信息对所述第二训练图像进行处理,以提取所述第三物体和所述第四物体的第一训练特征;

使用第三原始模型对所述第二训练图像的边缘信息、所述第一训练特征进行融合,以获取第二训练特征;

使用第四原始模型对所述第二训练特征进行处理,以获取第六指示信息,所述第六指示信息用于指示所述第三物体和所述第四物体的第二连接状态;

根据所述第六指示信息和所述第三指示信息调整所述第二原始模型、第三原始模型和所述第四原始模型的参数,以使所述第一连接状态和所述第二连接状态之间的相似度在第二预设范围内;

将经过调整后的第二原始模型,作为所述第一模型;将经过调整后的第三原始模型,作为所述第四模型;将经过调整后的第四原始模型,作为所述第二模型。

可选地,处理器1302可以用于:

获取第三训练图像和第七指示信息,所述第三训练图像包括至少两个物体,所述第七指示信息用于指示所述第三训练图像的第一边缘信息;

根据第五原始模型对所述第三训练图像处理,以获取第八指示信息,所述第八指示信息用于指示经过所述第五原始模型识别的所述第三训练图像的第二边缘信息;

根据所述第七指示信息和所述第八指示信息调整所述第一原始模型的参数,以使所述第一边缘信息和所述第二边缘信息的相似度在第三预设范围内;

将经过调整后的第五原始模型,作为所述第五模型。

图14是本申请实施例提供的图像识别装置的硬件结构示意图。图14所示的装置1400(该装置1400具体可以是一种通信设备或服务器设备)包括存储器1401、处理器1402、通信接口1403以及总线1404。其中,存储器1401、处理器1402、通信接口1403通过总线1404实现彼此之间的通信连接。

存储器1401可以存储程序,当存储器1401中存储的程序被处理器1402执行时,处理器1402和通信接口1403用于执行本申请实施例的图像识别方法的各个步骤。

处理器1402用于执行相关程序,以实现本申请实施例图像识别装置中的模块所需执行的功能,或者执行本申请方法实施例的图像识别的方法。

通信接口1403使用例如但不限于收发器一类的收发装置,来实现装置1400与其他设备或通信网络之间的通信。例如,可以通过通信接口1403获取神经网络模型或待处理数据。

总线1404可包括在装置1400各个部件(例如,存储器1401、处理器1402、通信接口1403)之间传送信息的通路。

处理器1402用于:

获取第一图像,所述第一图像包括至少两个物体;

获取位置信息,所述位置信息用于指示所述至少两个物体中的第一物体和第二物体在所述第一图像中的位置;

使用第一模型和所述位置信息对所述第一图像进行处理,以获取所述第一物体和所述第二物体的物体特征;

获取所述第一图像的边缘信息;

根据所述边缘信息、所述物体特征,使用第二模型识别所述第一物体和所述第二物体的连接状态。

可选地,处理器1402用于使用第三模型对所述第一图像进行处理,以获取所述位置信息。

可选地,处理器1402还用于使用第四模型对所述边缘信息、所述物体特征进行融合,以获取目标特征。

处理器1402还用于根据所述目标特征,使用所述第二模型识别所述第一物体和所述第二物体的连接状态。

可选地,处理器1402用于使用第五模型对所述第一图像进行处理,以获取所述边缘信息。

可选地,处理器1402还用于根据用户输入信息,获取所述位置信息。

应注意,尽管图13和图14所示的装置1300和1400仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1300和1400还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1300和1400还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1300和1400也可仅仅包括实现本申请实施例所必须的器件,而不必包括图13或图14中所示的全部器件。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1