具体实施方式
本申请描述的系统架构以及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
图像分类模型,用于识别样本图像中每个类别图像以及每个类别图像对应的置信度。在本申请中,提供了一种如图1所示的图像分类模型,在图像分类模型10中,至少包括输入参数11、深度卷积分类网络12和输出参数13。其中,输入参数11至少包括样本图像111和当前场景下出现每个类别图像的先验概率112,输出参数13为样本图像111的识别结果,具体可以包括样本图像111对应的图像类别置信度131。需要说明的是,考虑到不同场景下可能需要权衡图像特征和先验概率对图像识别过程所产生的影响,因此,在本申请中,输入参数11还可以包括影响比重113。
在本申请中,softmax层具有场景感知的功能,也就意味着,softmax层可以将应用场景作为图像识别的一个影响因素考虑在内,而在背景技术中所阐述的传统的softmax层单纯是根据从样本图像中提取的图像特征进行图像识别过程的。由此可见,具有场景感知功能的softmax层增加了各个类别图像的先验概率这一输入参数,能够综合图像特征和各个类别图像的先验概率分布情况,进行更加准确地图像识别。
本申请提供了一种图像识别方法,如图2所示,该方法可以由上述图像分类模型10执行,该方法包括:
步骤101、获取样本图像。
所获取的样本图像可以为测试集合中的部分或是全部图像,也可以为当前用户通过诸如照相机、手机等具有图像采集功能的设备所采集的图像,还可以为数据库中或是终端本地存储的图像。在本申请中,对于样本图像的来源不进行限定,可以由用户确定将哪些图像作为样本图像来获取。
步骤102、确定在当前场景下出现每个类别图像的先验概率分布。
不同场景下出现每个类别图像的先验概率可以不完全相同,或是完全不同。其中,在当前场景下,每个类别图像的先验概率指的是属于各个类别的图像部分在当前输入的样本图像中出现的概率。比如,类别图像可以为图像主体包括植物这一类别的图像部分、图像主体包括动物这一类别的图像部分等。需要说明的是,类别图像所指的类别可以由用户或是维护人员预先设置,至于类别的划分方式,在本申请中不做限定。在本申请中,用户或是维护人员可以预先根据经验值、和/或历史记录、和/或采集样本图像的地理位置来完成不同场景下出现每个类别图像的先验概率的设置,具体确定方式会在后文提出,在此不进行赘述。需要说明的是,在图像分类模型完成训练后,可以确定各个类别图像。之后只需要针对已经确定的类别图像确定每个类别图像在不同场景下出现的先验概率分布即可。
步骤103、根据先验概率分布对样本图像进行识别,得到识别结果。
其中,识别结果至少包括样本图像对应的图像类别置信度。
在图像识别过程中,不仅需要考虑先验概率,还需要考虑图像特征,这样在识别后才能得到样本图像对应的更加准确的图像类别置信度,即该样本图像对应的各个类别图像以及每个类别图像的置信度。需要说明的是,同一样本图像在完成图像识别之后,所输出的所有类别图像的置信度的总和为1。
本申请可以根据先当前场景下出现每个类别图像的先验概率分布,对所获取的样本图像进行识别,得到样本图像对应的图像类别置信度。由此可见,在测试过程中,虽然无法有效缩小训练集合和测试集合中各类别图像分布本身的差异,但是通过考虑当前的应用场景,可以将不同应用场景下各个类别图像的先验概率分布作为图像识别过程中另一输入参数。这样就能以当前场景为依据,结合在当前场景下出现各个类别图像的概率来分别调整图像识别过程中每个类别的先验概率,也就提升了图像识别过程的准确率。
为了得到更加符合当前场景的图像类别置信度,在本申请的一个实现方式中,可以结合公式来对样本图像进行识别。其中,在公式中设置了会随着应用场景的改变而变化的各个类别图像的先验概率。因此,在如图2所示的实现方式的基础上,还可以实现为如图3所示的实现方式。其中,步骤103根据先验概率分布对样本图像进行识别,得到识别结果,可以具体实现为步骤201:
步骤201、根据公式计算softmax层输出的识别结果,得到样本图像对应的每个类别图像的置信度。
其中,y(i)用于表示类别图像的种类,x(i)用于表示第i张样本图像,p(y(i)=n|x(i);θ)用于表示样本图像x(i)隶属于第n类别的置信度,p0(n)用于表示第n类别图像在当前场景下出现的先验概率,p0(j)用于表示第j类别图像在当前场景下出现的先验概率,n、j和i均为大于或等于1且小于或等于k的正整数,k为大于或等于1的正整数,θ用于表示图像分类模型的基础参数,∈为影响比重。
需要说明的是,影响比重的取值与图像特征对识别样本图像带来影响的大小呈正相关,影响比重的取值与先验概率对识别样本图像带来影响的大小呈负相关。
目前,在深度卷积视神经网络中,采用图像分类模型对样本图像进行识别的过程中,可以依据如下公式得到图像类别置信度:
由此可见,本申请所涉及的公式与上述公式存在相同的部分,而两个公式主要存在的差别为:本申请的输入参数中增加了p0(n)和∈。其中,影响比重∈可以由用户或是维护人员进行预先设置,在本申请中,∈可以为[0,+∞)内任意取值的参数,主要用于控制深度卷积视神经网络模型抽取的图像特征和应用场景内物体出现的先验概率两个影响因素的比重,即图像分类模型中图像特征和各个分类图像的先验概率为样本图像识别过程带来影响的大小。其中,∈的取值越小,则在图像识别过程中,图像特征给图像识别结果带来的影响越小,而当前场景下各个类别图像的先验概率给图像识别结果带来的影响越大;同理,∈的取值越大,则在图像识别过程中,图像特征给图像识别结果带来的影响越大,而当前场景下各个类别图像的先验概率给图像识别结果带来的影响越小。
本申请可以通过对已有softmax层进行改进,使图像识别过程能够充分考虑到环境因素所带来的影响,即在公式中引入针对于当前场景所确定的各个类别图像的先验概率。同时,通过考虑图像特征与先验概率在图像识别过程中所占的比重,使图像识别过程更贴近当前场景,且符合用户需求。这样一来,就可以得到更加准确的图像识别结果。
在本申请的一个实现方式中,提供了两种可行的用于确定先验概率的方式。因此,在如图2或图3所示的实现方式的基础上,以图2为例,还可以实现为如图4所示的实现方式。其中,步骤102确定在当前场景下出现每个类别图像的先验概率分布,可以具体实现为步骤301和步骤302,或者可以具体实现为步骤401和步骤402:
步骤301、在指定集合中,确定当前场景下出现每个类别图像的次数占属于当前场景的样本图像总数量的占比。
其中,指定集合至少包括训练集合中的部分图像或是全部图像。
步骤302、将占比确定为先验概率分布。
上述实现方式主要是根据经验值和/或历史记录来确定先验概率。需要说明的是,历史记录可以为同一用户或是不同用户在历史时间段内进行图像识别所产生的数据。
步骤401、确定当前场景所处地理位置对应的场景类别。
步骤402、确定与场景类别对应的先验概率分布。
上述实现方式主要是根据采集样本图像的地理位置来确定先验概率。
例如,以钱币识别应用为例。用户可以使用如图1所示的图像分类模型识别常用的钱币。其中,常用的钱币具体可以包括美元、人民币、欧元、日元等币种。在训练过程中,为了使图像分类模型能够识别各种币种,则在训练集合中必然包括上述各种币种所对应的样本图像,即训练样本。然而,在完成图像分类模型的训练之后,考虑到该图像分类模型的实际应用主要在国内,因此,根据国内的使用需求可以了解到人民币的各个币值在国内出现的概率较高,而美元、欧元、日元等币种的外币的各个币值在国内出现的概率会相对较低。据此,可以估计出一个各个币种的各个币值出现的概率,并将上述估计的概率作为图像分类模型的输入参数,同时设定先验概率的影响因子的取值。这样一来,如果根据图像特征,币种很确定地被识别为外币,即最终结果为外币;如果根据图像特征,币种被识别为外币的概率不显著大于识别为人民币的概率,则识别结果倾向于人民币。
由此可见,在图像识别的实际使用过程中,环境因素往往会给样本图像的处理结果带来很大的影响。
需要说明的是,在实际确定先验概率的过程中,不仅限于上述步骤301和步骤302,以及步骤401和步骤402所示的实现方式,还可以采用其他能够确定各个类别图像在不同应用场景中出现的概率来确定先验概率,在此不做限定。
目前,深度神经网络算法训练新的图像分类模型需要足够长的时间,并且在实际训练过程中,若任务复杂度较高,则可能需要数天、数周甚至更长的时间来完成训练。为了实现上述内容,需要储备大量的计算资源、采集海量数据,同时还需要配备能够掌握深度学习算法的人才。因此,考虑到图像分类模型在训练过程中需要耗费大量的人力、物力,因此,采用本申请进行图像识别,则可以使用已完成训练的图像分类模型进行图像识别。由于考虑到环境因素给识别过程带来的影响,因此,即便在不对图像分类模型进行新的训练过程的情况下,也可以有效提高图像识别的精度。
由于预先训练好的图像分类模型中所涉及的类别图像的种类往往很多,其中,很多类别图像在特定场景出现的概率极小,因此,需要抑制该类别图像的结果。具体抑制方案可以为:对于当前场景中基本不会出现的类别图像所对应的先验概率赋值为0,和/或对于当前场景中可能出现的类别图像所对应的先验概率之上再加一个较大的常数,即步骤201的公式中所涉及的影响比重,比如,100。这样就可以有效调整各个类别图像在当前场景中出现的概率,并且,将上述内容输入如图1所示的深度卷积分类网络12后,可以尽可能地提升当前场景下图像识别过程的准确性。
也就意味着,在本申请中,在效果损失可以接受的范围内,在不重新对已有图像分类模型进行训练的基础上,充分利用已有的图像分类模型储备,节省大量的训练时间,且减少计算、数据、人力等各项资源的投入,也就是尽可能规避已有图像分类模型在使用过程中对于时间、资源的限制,有效扩大了诸如图像分类模型等的深度分类模型的应用范围。
本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对图像识别装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图5示出了上述实施例中所涉及的图像识别装置的一种可能的结构示意图,图像识别装置20包括:获取单元21、确定单元22和处理单元23。获取单元21用于支持图像识别装置20执行图2至图4中的步骤101,确定单元22用于支持图像识别装置20执行图2和图3中的步骤102,图4中的步骤301和步骤302,以及图4中的步骤401和步骤402;处理单元23用于支持图像识别装置20执行图2和图4中的步骤103,以及图3中的步骤201。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的图像识别装置的一种可能的结构示意图。图像处理装置30包括:处理模块31和通信模块32。其中,处理模块31用于对图像识别装置30的动作进行控制管理,例如,处理模块31用于支持图像识别装置30执行图2和图3中的步骤102,图4中的步骤301和步骤302,图4中的步骤401和步骤402,图2和图4中的步骤103,以及图3中的步骤201,和/或用于执行本文所描述的技术的其它步骤;通信模块32用于支持图像识别装置30与其他网络实体的通信,例如,可以与其他功能模块或网络实体之间进行通信,还可以用于支持图像识别装置30执行图2至图4中的步骤101。图像识别装置30还可以包括存储模块33,用于存储图像识别装置30的程序代码和数据。
其中,处理模块31可以是处理器或控制器,例如可以是中央处理器(英文:centralprocessing unit,CPU),通用处理器,数字信号处理器(英文:digital signal processor,DSP),专用集成电路(英文:application-specific integrated circuit,ASIC),现场可编程门阵列(英文:field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块32可以是收发器、收发电路或通信接口等。存储模块33可以是存储器。
当处理模块31为处理器,通信模块32为通信接口,存储模块33为存储器时,本申请所涉及的图像识别装置30可以为图7所示的图像识别装置40。该图像识别装置40包括:处理器41、通信接口42、存储器43以及总线44。其中,处理器41、通信接口42以及存储器43可以通过总线44相互连接,该总线44可以是外设部件互连标准(英文:peripheral componentinterconnect,PCI)总线或扩展工业标准结构(英文:extended industry standardarchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。本申请还提供一种存储介质,该存储介质可以包括存储器43,用于储存为图像识别装置40所用的计算机软件指令,其包含执行人机混合决策方法所设计的程序代码。具体的,软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:random access memory,RAM)、闪存、只读存储器(英文:read only memory,ROM)、可擦除可编程只读存储器(英文:erasable programmable ROM,EPROM)、电可擦可编程只读存储器(英文:electrically EPROM,EEPROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器41,从而使处理器41能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器41的组成部分。处理器41和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器41和存储介质也可以作为分立组件存在于核心网接口设备中。
本申请还提供一种计算机程序产品,该计算机程序可直接加载到存储器43中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述的障碍物检测方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。