CN110070107A - 物体识别方法及装置 - Google Patents
物体识别方法及装置 Download PDFInfo
- Publication number
- CN110070107A CN110070107A CN201910236937.1A CN201910236937A CN110070107A CN 110070107 A CN110070107 A CN 110070107A CN 201910236937 A CN201910236937 A CN 201910236937A CN 110070107 A CN110070107 A CN 110070107A
- Authority
- CN
- China
- Prior art keywords
- feature
- sample
- main body
- samples
- significance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 216
- 239000013598 vector Substances 0.000 claims abstract description 657
- 210000000746 body region Anatomy 0.000 claims abstract description 217
- 238000013527 convolutional neural network Methods 0.000 claims description 209
- 238000000605 extraction Methods 0.000 claims description 150
- 238000012549 training Methods 0.000 claims description 108
- 239000013256 coordination polymer Substances 0.000 claims description 91
- 238000012545 processing Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 56
- 238000001514 detection method Methods 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 26
- 230000002452 interceptive effect Effects 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 97
- 230000006870 function Effects 0.000 description 55
- 238000004891 communication Methods 0.000 description 45
- 238000013528 artificial neural network Methods 0.000 description 38
- 238000003860 storage Methods 0.000 description 38
- 238000011176 pooling Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 29
- 239000011159 matrix material Substances 0.000 description 29
- 230000008569 process Effects 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 19
- 230000003287 optical effect Effects 0.000 description 14
- 230000001537 neural effect Effects 0.000 description 12
- 241000282326 Felis catus Species 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 10
- 241000282472 Canis lupus familiaris Species 0.000 description 9
- 230000003068 static effect Effects 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000037361 pathway Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 241000282461 Canis lupus Species 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 240000006766 Cornus mas Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
- G06V10/443—Local 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 by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
- G06V10/457—Local 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 by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了人工智能领域的一种物体识别方法和装置。涉及人工智能领域。具体涉及计算机视觉领域。该方法包括:获取待识别图像的一个或多个主体区域,并确定一个或多个主体区域中每个主体区域的显著性评分;当主体区域A的显著性评分大于或等于分类阈值时,根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别;其中,主体区域A为所述一个或多个主体区域中的任一个主体区域。本申请的物体识别方法适用于各种物体识别的应用场景,有利于提高物体识别的效率。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种物体识别方法及装置。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
物体识别是计算机视觉中的经典问题之一,其任务是用识别窗口去标出图像中物体的位置,并给出物体的类别。从传统的人工设计特征加浅层分类器的框架,到基于深度学习的端到端的识别框架,物体识别一步步变得愈加成熟。
当前,业界有很多基于大量强监督训练样本的物体识别方法,但是按照目前流行的有监督训练方式,只能识别预先训练的已确定类别,识别窗口也是依据窗口内物体属于预定义类别的概率进行确定。对于新获取到的数据和新增的类别,往往需要重新训练一个物体识别模型,是一项极其耗时费力的工作。
发明内容
本申请实施例提供一种物体识别方法及装置,有利于物体识别的效率。
第一方面,提供一种物体识别方法,包括:
获取待识别图像及待识别图像的一个或多个主体区域,该主体区域包括有待识别的物体;确定一个或多个主体区域中每个主体区域的显著性评分;该主体区域的显著性评分用于表征该主体区域内物体的显著程度;当主体区域A的显著性评分大于或等于分类阈值时,根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别;其中,主体区域A为一个或多个主体区域中的任一个主体区域,类别特征向量用于表征同一类物体的共用特征或者一种物体的特征。
本申请的方案中,在获取主体区域A内物体的特征向量后,通过计算主体区域A内物体的特征向量与特征库中的特征中心向量之间的距离确定主体区域A内物体的类别,而不是计算主体区域A内物体的特征向量与特征库中每个物体的特征向量之间的距离,提高了物体识别的效率。并且在物体识别过程中,主体区域检测与物体识别解耦,为后续实现更新特征库中的类别及特征中心向量提供可能,进而扩大了物体识别的范围和提高了物体识别的准确性。
在一个可行的实施例中,获取待识别图像的一个或多个主体区域,包括:
将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;该显著性概率图的尺寸与待识别图像的相同;对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。
在一个可行的实施例中,确定一个或多个主体区域中每个主体区域的显著性评分,包括:获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域;根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A’的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;一个或多个主体区域的显著性评分包括主体区域A的显著性评分。
在一个可行的实施例中,特征库中的类别特征向量为特征中心向量,特征中心向量用于表征同一类物体的共用特征;根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别,包括:根据卷积神经网络CNN特征提取模型对主体区域A内物体的特征进行提取,以得到主体区域A内物体的特征向量;计算主体区域A内的物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;确定目标特征中心向量对应的类别为主体区域A内物体的类别,目标特征中心向量为特征库中与主体区域A内物体的特征向量之间距离最近的特征中心向量。通过计算特征库中特征中心向量与主体区域A内物体的特征向量之间的距离确定主体区域A内物体的类别,相对于通过计算特征库中每个物体的特征向量与与主体区域A内物体的特征向量之间的距离确定主体区域A内物体的类别,可以有效提高物体识别的效率,并且由于特征库存储的特征中心向量与对应的类别,减小了存储开销。
在一个可行的实施例中,根据CNN特征提取模型获取主体区域A内物体的特征向量之前,物体识别方法还包括:
根据多个样本训练CNN特征提取模型;其中,根据多个样本训练CNN特征提取模型,包括:根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;根据多个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度;损失函数用于表征CNN特征提取模型的精度;其中,损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),D(a,CP)为a与CP之间的距离,D(a,CN)为a与CN之间的距离,D(n,CP)为n与CP之间的距离,α和β均为常数。通过四元组网络来训练CNN特征提取模型,使得通过CNN特征提取模型提取出的物体的特征向量与其所属类别特征向量中心向量之间的距离越来越近,与非其所属类别的特征中心向量之间的距离越来越远。
在一个可行的实施例中,物体识别方法还包括:建立特征库;其中,建立特征库包括:获取M类样本和每类样本的类别,M类样本中的每类样本包括多个样本,其中,M为大于0的整数;根据CNN特征提取模型获取M类样本中的第K类样本中的每个样本的特征向量;K=1,2,3,……,M;根据第K类样本中每个样本的特征向量确定第K类样本的特征中心向量;其中,第K类样本的特征中心向量的第s个元素为第K类样本中所有样本的特征向量的第s个元素的平均值,特征库包括第K类样本的特征中心向量及其类别。
在一个可行的实施例中,物体识别方法还包括:接收到第三方的N类样本及每类样本的类别,N类样本中每类样本包括多个样本,N为大于0的整数;若特征库包括N类样本中的第T类样本的类别时,获取T’个特征向量,T’个特征向量为计算T类样本的类别对应的特征中心向量时使用的样本的特征向量;根据CNN特征提取模型获取第T类样本中的每个样本的特征向量;T大于0且小于或等于N;根据第T类样本中的每个样本的特征向量和T’个特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素和T’个特征向量的第s’个元素的平均值;将特征库中第T类样本的类别对应的特征中心向量更新为第T类样本的特征中心向量。
通过第三方发送的样本及类别更新特征库中的特征中心向量及类别,有利于提高物体识别的准确性和应用范围。
在一个可行的实施例中,物体识别方法还包括:若特征库不包括第T类样本中的每类样本的类别时,根据CNN特征提取模型获取第T类样本中的每个样本的特征向量;根据第T类样本中每个样本的特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s个元素’的平均值;将第T类样本的特征中心向量及第T类样本的类别添加到特征库中。
在一个可行的实施例中,在根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别之后,物体识别方法还包括:将主体区域A内的边框和主体区域A内物体及其类别叠加显示。
在一个可行的实施例中,物体识别方法还包括:若主体区域A的显著性评分小于显示阈值时,不显示主体区域A的边框;若主体区域A的显著性评分大于或者等于显示阈值,且小于分类阈值时,将主体区域A的物体与主体区域A的边框叠加显示。
通过将主体区域A的边框、主体区域A内的物体及类别叠加显示,在进行物体识别时,可以引导用户将终端对准待识别物体或者重新选取清晰的图像来进行物体识别,从而实现交互式显示。
第二方面,提供另一种物体识别方法,包括:
接收第一终端发送的特征库更新请求;该特征库更新请求携带有N类样本及每类样本的类别;根据N类样本及每类样本的类别更新特征库,接收第二终端发送的物体识别请求,该物体识别请求包括待识别图像块;其中第一终端与第二终端相同或不同;根据待识别图像块内物体的特征确定待识别图像块内物体的类别;向第二终端发送识别响应消息,识别响应消息携带有待识别图像块内物体的类别,该待识别图像块内物体的类别为N类样本的类别中的一种。通过第一终端的特征库更新请求更新特征库,可以提高物体识别结果的准确性,并且扩大了物体识别的范围。
在一个可行的实施例中,特征库包括多个特征中心向量及其类别,特征中心向量用于表征同一类物体的共同特征;根据N类样本及其类别更新特征库,包括:
若特征库中包括N类样本中的第T类样本的类别,则获取T’个特征向量,T’个特征向量为计算T类样本的类别对应的特征中心向量时使用的样本的特征向量;根据卷积神经网络CNN特征提取模型获取第T类样本中的每个样本的特征向量;T为大于0且小于或者等于N的整数;根据第T类样本中的每个样本的特征向量和T’个特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素和T’个特征向量的第s’个元素的平均值;将特征库中第T类样本的类别对应的特征中心向量更新为第T类样本的特征中心向量。
在一个可行的实施例中,根据N类样本及其类别更新特征库,还包括:
若特征库不包括N类样本中的每类样本的类别时,根据CNN特征提取模型获取第T类样本中的每个样本的特征向量;根据第T类样本中每个样本的特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素的平均值;将第T类样本的特征中心向量及第T类样本的类别添加到特征库中。
在一个可行的实施例中,根据N类样本及其类别更新特征库之前,物体识别方法还包括:建立特征库;其中,建立特征库包括:获取M类样本和每类样本的类别,M类样本中的每类样本包括多个样本,其中,M为大于0的整数;根据CNN特征提取模型获取M类样本中的第K类样本中的每个样本的特征向量;K=1,2,3,……,M;根据第K类样本中每个样本的特征向量确定第K类样本的特征中心向量;其中,第K类样本的特征中心向量的第s个元素为第K类样本中所有样本的特征向量的第s个元素的平均值,特征库包括第K类样本的特征中心向量及其类别。
在一个可行的实施例中,根据待识别图像块内物体的特征确定待识别图像块内物体的类别,包括:根据CNN特征提取模型对待待识别图像块内物体的特征进提取,以得到待识别图像块内物体的特征向量;特征向量用于表征待识别图像块内物体的特征;计算待识别图像块内物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;确定目标特征中心向量对应的类别为待识别图像块内物体的类别,目标特征中心向量为特征库中与待识别图像块内物体的特征向量之间距离最近的特征中心向量。通过计算待设备图像块内物体的特征向量与特征库内特征中心向量之间的距离,可以提高物体识别的效率。
在一个可行的实施例中,接收第一终端发送的特征库更新请求之前,物体识别方法还包括:根据多个样本训练CNN特征提取模型;其中,根据多个样本训练CNN特征提取模型,包括:根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;根据多个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度;损失函数用于表征CNN特征提取模型的精度;其中,损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),
D(a,CP)为a与CP之间的距离,D(a,CN)为a与CN之间的距离,D(n,CP)为n与CP之间的距离,α和β均为常数。通过四元组网络来训练CNN特征提取模型,使得通过CNN特征提取模型提取出的物体的特征向量与其所属类别特征向量中心向量之间的距离越来越近,与非其所属类别的特征中心向量之间的距离越来越远。
第三方面,提供另一种物体方法,包括:
获取待识别图像及待识别图像的一个或多个主体区域;确定一个或多个主体区域中每个主体区域的显著性评分,该主体区域的显著性评分用于表征该主体区域内物体的显著程度;当主体区域A的显著性评分大于或等于分类阈值时,向服务器发送物体识别请求,该识别更新请求携带有待识别图像块,待识别图像块为待识别图像中主体区域A覆盖的区域,主体区域A为一个或多个主体区域中的任一个主体区域;接收服务器发送的识别响应消息,该识别响应消息携带有待识别图像块内物体的类别。
在一个可行的实施例中,获取待识别图像的一个或多个主体区域,包括:将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;显著性概率图的尺寸与待识别图像的相同;对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。
在一个可行的实施例中,确定一个或多个主体区域中每个主体区域的显著性评分,包括:获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域;根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;一个或多个主体区域的显著性评分包括主体区域A的显著性评分。
在一个可行的实施例中,接收服务器发送的识别响应消息之后,该物体识别方法还包括:将所主体区域A内的边框和待识别图像块内物体及其类别叠加显示。
在一个可行的实施例中,将主体区域A内的边框和待识别图像块内物体及其类别叠加显示之后,该物体识别方法还包括:向服务器发送第一特征库更新消息,第一特征库更新消息携带有待识别图像块和目标类别,目标类别为用户针对待识别图像块内物体确定的类别,且目标类别与待识别图像块内物体的类别不相同。
在一个可行的实施例中,该物体识别方法还包括:若主体区域A的显著性评分小于显示阈值时,不显示主体区域A的边框;若主体区域A的显著性评分大于或者等于显示阈值,且小于分类阈值时,将主体区域A的物体与主体区域A的边框叠加显示。
在一个可行的实施例中,该物体识别方法还包括:向服务器发送第二特征库更新消息,该第二特征库更新消息包括N类样本及其类别,第二特征库更新消息用于指示服务器根据N类样本及其类别更新特征库。
第四方面,提供另一种物体识别方法,包括:
向服务器发送特征库更新请求,特征库更新请求包含N类样本图片及其类别;向服务器发送物体识别请求,该物体识别请求用于指示服务器对待识别图像中的物体进行识别,待识别图像包括X个待识别图像块;X为大于0的整数;接收服务器发送的用于响应物体识别请求的响应消息,响应消息携带有X个待识别图像块中每个待识别图像块内物体的类别;X个待识别图像块中至少一个待识别图像块内物体的类别包含于N类样本图像的类别;显示X个识别图像块及其类别和X个待识别图像对应的主体区域的边框,主体区域为在待识别图像中待识别图像块对应的区域。
可选地,在接收到用户的新增类别命令后,向服务器发送特征库更新请求。
可选地,在接收用户的对待识别图像中的物体进行识别的命令后,向服务器发送物体识别请求。
在一个可行的实施例中,向服务器发送物体识别请求之前,物体识别方法还包括:
获取待识别图像;将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;显著性概率图的尺寸与待识别图像的相同;将待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域;Y为大于或者等于X的整数;根据显著性评分模型对Y个主体区域中的每个主体区域进行计算,以得到每个主体区域的显著性评分;主体区域的显著性评分用于表征该主体区域内物体的显著程度;其中,X个待识别图像块分别为待识别图像中X个主体区域覆盖的区域,X个主体区域为Y个主体区域中显著性评分大于或等于显示阈值的主体区域。
在一个可行的实施例中,将待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域,包括:对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到Y个主体区域。
在一个可行的实施例中,根据显著性评分模型对Y个主体区域进行计算,以得到Y个主体区域的显著性评分,包括:
获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;Y个主体区域的显著性评分包括主体区域A的显著性评分。
第五方面,提供一种物体识别装置,该装置包括用于执行第一方面中的方法的模块。
第六方面,提供一种服务器,该服务器包括用于执行第二方面中的方法的模块。
第七方面,提供一种终端设备,该终端设备包括用于执行第三方面或第四方面中的方法的模块。
第八方面,提供一种物体识别装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面中的方法。
第九方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面、第二方面、第三方面或第四方面中的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面、第二方面、第三方面或第四方面中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面、第二方面、第三方面或第四方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面、第二方面、第三方面或第四方面中的方法。
第十二方面,提供一种电子设备,该电子设备包括上述第五方面至第八方面中的任意一个方面中的装置。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的系统架构的结构示意图;
图2为本申请实施例提供的CNN特征提取模型的示意图;
图3是本申请实施例提供的一种芯片硬件结构示意图;
图4为本申请实施例提供的一种物体识别方法的流程示意图;
图5为本申请实施例提供的主体区域的示意图;
图6为本申请实施例提供的四元组的示意图;
图7为本申请实施例提供的物体识别的结果示意图;
图8为本申请实施例提供的另一种物体识别方法的流程示意图;
图9为本申请实施例提供的另一种物体识别方法的流程示意图;
图10为本申请实施例提供的另一种物体识别系统示意图;
图11为本申请实施例提供的另一种物体识别方法的流程示意图;
图12为本申请实施例提供的另一种物体识别方法的流程示意图;
图13为本申请实施例提供的另一种物体识别方法的流程示意图;
图14为本申请实施例提供的一种物体识别过程示意图;
图15为本申请实施例提供的另一种物体识别过程示意图;
图16为本申请实施例提供的一种物体识别装置的结构示意图;
图17为本申请实施例提供的一种服务器的结构示意图;
图18为本申请实施例提供的一种终端设备的结构示意图;
图19为本申请实施例提供的另一种终端设备的结构示意图;
图20为本申请实施例提供的另一种物体识别装置的结构示意图;
图21为本申请实施例提供的另一种服务器的结构示意图;
图22为本申请实施例提供的另一种终端设备的结构示意图;
图23为本申请实施例提供的另一种终端设备的结构示意图。
具体实施方式
下面结合附图对本申请的实施例进行描述。
本申请实施例提供的物体识别方法能够应用在图像分类、商品分类、人脸识别和相册管理的场景。具体而言,本申请实施例的物体识别方法能够应用在图像分类和人机交互场景中,下面分别对图像分类和商品分类进行简单的介绍。
图像分类场景:
物体识别装置在获取待分类图像后,采用本申请的物体识别方法获取待分类图像中的物体的类别,然后可根据待分类图像中物体的物体的类别对待分类图像进行分类。对于摄影师来说,每天会拍很多照片,有动物的,有人物,有植物的。采用本申请的方法可以快速地将照片按照照片中的内容进行分类,可分成包含动物的照片、包含人物的照片和包含植物的照片。
对于图像数量比较庞大的情况,人工分类的方式效率比较低下,并且人在长时间处理同一件事情时很容易产生疲劳感,此时分类的结果会有很大的误差;而采用本申请的方法可以快速地将图像进行分类,并且不会有误差。
商品分类:
物体识别装置获取商品的图像后,然后采用本申请的物体识别方法获取商品的图像中商品的类别,然后根据商品的类别对商品进行分类。对于大型商场或超市中种类繁多的商品,采用本申请的物体识别方法可以快速完成商品的分类,降低了时间开销和人工成本。
本申请实施例提供的方法和装置还可以用于扩充训练数据库,如图1所示执行设备120的I/O接口112可以将经执行设备处理过的图像(如包含物体的图像块或图像)和用户输入的物体类别一起作为训练数据对发送给数据库130,以使得数据库130维护的训练数据更加丰富,从而为训练设备130的训练工作提供更丰富的训练数据。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的训练CNN特征提取模型的方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的物体的图像或图像块和物体的类别)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的CNN特征提取模型的;并且,本申请实施例提供的基于特征中心向量的四元组可以运用上述训练好的CNN特征提取模型,将输入数据(如本申请中的物体的图像)输入到所述训练好的CNN特征提取模型中,得到输出数据(如本申请中的物体的特征向量)。
所述基于特征中心向量的四元组包括样本的特征向量,所述样本所属类别对应的特征中心向量,与所述样本的特征向量距离最近的异类样本的特征中心向量,与所述样本所属类别对应的特征中心向量距离最近的异类样本的特征向量。
需要说明的是,本申请实施例提供的CNN特征提取模型的训练方法和物体特征提取方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)物体识别,利用图像处理和机器学习、计算机图形学等相关方法,确定图像物体的类别。
(2)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(3)深度神经网络
深度神经网络(Deep Neural Network,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形成的权重矩阵)。
(4)卷积神经网络
卷积神经网络(CNN,Convolutional Neuron Network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(5)循环神经网络(RNN,Recurrent Neural Networks)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如W,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法Back propagation Through Time(BPTT)。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(6)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(7)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
下面介绍本申请实施例提供系统架构。
参见图1,本申请实施例提供了一种系统架构110。如所述系统架构110所示,数据采集设备170用于采集训练数据,本申请实施例中训练数据包括:物体的图像或者图像块及物体的类别;并将训练数据存入数据库130,训练设备130基于数据库130中维护的训练数据训练得到CNN特征提取模型101(解释说明:这里的101就是前面介绍的经训练阶段训练得到的模型,可以是用于特征提取的网络等)。下面将以实施例一更详细地描述训练设备130如何基于训练数据得到CNN特征提取模型101,该CNN特征提取模型101能够用于实现本申请实施例提供的物体识别方法中对物体的特征向量的提取,即,将待识别图像或图像块通过相关预处理后输入该CNN特征提取模型101,即可得到待识别图像或图像块内物体的特征向量。本申请实施例中的CNN特征提取模型101具体可以为CNN卷积神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备170的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备130也不一定完全基于数据库130维护的训练数据进行CNN特征提取模型101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备130训练得到的CNN特征提取模型101可以应用于不同的系统或设备中,如应用于图1所示的执行设备120,所述执行设备120可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备120配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备150向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:用户输入的待识别图像或者图像块。
在执行设备120对输入数据进行预处理,或者在执行设备120的计算模块111执行计算等相关的处理(比如进行本申请中的物体识别方法)过程中,执行设备120可以调用数据存储系统160中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统160中。
最后,I/O接口112将处理结果,如上述得到的图像或图像块内物体的类别返回给客户设备150,从而提供给用户。
值得说明的是,训练设备130可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备150可以自动地向I/O接口112发送输入数据,如果要求客户设备150自动发送输入数据需要获得用户的授权,则用户可以在客户设备150中设置相应权限。用户可以在客户设备150查看执行设备120输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备150也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备150进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统160相对执行设备120是外部存储器,在其它情况下,也可以将数据存储系统160置于执行设备120中。
如图1所示,根据训练设备130训练得到CNN特征提取模型101,该CNN特征提取模型101在本申请实施例中可以是CNN卷积神经网络。
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
如图2所示,卷积神经网络(CNN)210可以包括输入层220,卷积层/池化层230(其中池化层为可选的),以及神经网络层230。
卷积层/池化层230:
卷积层:
如图2所示卷积层/池化层230可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络210进行正确的预测。
当卷积神经网络210有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络210深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中230所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层230的处理后,卷积神经网络210还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层230只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络210需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等……
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络210的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络210的前向传播(如图2由220至240方向的传播为前向传播)完成,反向传播(如图2由240至220方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络210的损失,及卷积神经网络210通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络210仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
下面介绍本申请实施例提供的一种芯片硬件结构。
图3为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器30。该芯片可以被设置在如图1所示的执行设备120中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备130中,用以完成训练设备130的训练工作并输出目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现。
神经网络处理器NPU 30,NPU作为协处理器挂载到主CPU(Host CPU)上,由HostCPU分配任务。NPU的核心部分为运算电路303,控制器304控制运算电路303提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路303内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器302中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)308中。
向量计算单元307可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能307将经处理的输出的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
入口:可以根据实际情况,说明算法的运算可以由303或307执行。
统一存储器306用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器305(Direct Memory AccessController,DMAC)将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)310,用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。
与控制器304连接的取指存储器(instruction fetch buffer)309,用于存储控制器304使用的指令;
控制器304,用于调用指存储器309中缓存的指令,实现控制该运算加速器的工作过程。
入口:可以根据实际发明说明这里的数据是说明数据,比如探测到车辆速度?障碍物距离等。
一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,简称DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
入口:可以由实际情况说明,图1和图2中的程序算法是由主CPU和NPU共同配合完成的。
其中,图2所示的卷积神经网络中各层的运算可以由运算电路303或向量计算单元307执行。
参见图4,图4为本申请实施例提供的一种物体识别方法的流程示意图。如图4所示,该方法包括:
S401、物体识别装置获取待识别图像及待识别图像的一个或多个主体区域。
其中,主体区域包括有待识别的物体。
可选地,该物体识别装置通过其摄像头获取待识别图像或者该物体识别装置从其本地存储设备中获取待识别图像。
在一个可能的实施例中,物体识别装置获取待识别图像的一个或多个主体区域,包括:
将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;显著性概率图的尺寸与待识别图像的相同;对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。
其中,待识别图像的显著性概率图为灰度图,在显著性概率图中每一个像素点的像素值代表在待识别图像对应位置(即相对应位置的像素点)的显著性概率,且显著性概率图中像素点的像素值越大,在待识别图像对应位置的显著性概率越大。该显著性概率图中的中像素点的像素值的取值范围为[0,1]。该待识别图像的尺寸与其显著性概率图的尺寸一致。
其中,显著性概率图生成模型为一个二分类的分割模型,分割类别为两类,一类是显著物体,另一类是背景。该显著性概率图生成模型可采用多种架构,比如特征金字塔网络(feature pyramid networks,FPN)、金字塔场景解析网络(pyramid scene parsingnetwork,PSP-Net)、细化网络(refinement networks,RefineNet)等。
其中,物体识别装置对待识别图像的显著性概率图进行二值化处理,以得到二值显著性概率图。具体地,将待识别图像的显著性概率图中的每个像素点的像素值与预设阈值进行比较,当像素点P的像素值小于预设阈值时,将像素点P的像素值置为0;当像素点P的像素值大于或者等于预设阈值时,将像素点P的像素值置为1。其中,像素点P为待识别图像的显著性概率图中的任一像素点。按照该方法得到二值显著性概率图。
物体识别装置根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。具体地,考虑到显著性概率图在物体上的不连续性和漏检,采用closedoperation算法,将二值显著性概率图中的不连续区域进行修补,然后采用two-pass算法对二值显著性概率图进行连通区域识别,将二值显著性概率图不同连通区域进行标注;再对连通区域进行筛选,设计连通域评估规则选取主体连通域;对选取的连通域生成最小矩形框,该最小矩形框所覆盖的区域为主体区域。针对待识别图像,采用这种方式可以得到一个或多个主体区域。
S402、物体识别装置确定一个或多个主体区域中每个主体区域的显著性评分,主体区域的显著性评分用于表征该主体区域内物体的显著程度。
在一个可能的实施例中,物体识别装置确定一个或多个主体区域中每个主体区域的显著性评分,包括:
获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域;根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A’的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;
其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;一个或多个主体区域的显著性评分包括主体区域A的显著性评分。
具体地,基于主体区域A,物体识别装置将待识别图像的显著性概率图划分为主体区域A和非主体区域A’,其中,非主体区域A’为待识别图像的显著性概率图除了主体区域A之外的区域。物体识别装置获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’。其中,主体区域A内显著性概率值的集合NA为在待识别图像的显著性概率图中主体区域A内所有像素点的像素值的集合;同理,非主体区域A’内显著性概率值的集合NA’为在待识别图像的显著性概率图的非主体区域A’内所有像素点的像素值的集合。
物体识别装置根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A’的平均显著性概率值和非主体区域A的平均显著性概率值;再根据主体区域A的平均显著性概率值和非主体区域A的平均显著性概率值计算得到主体区域A的显著性评分。一个或多个主体区域的显著性评分包括该主体区域A的显著性评分。如图5所示,灰色部分为主体区域A,白色部分为主体区域A’。
其中,主体区域A’的平均显著性概率值为主体区域A’内的所有像素点的像素值之和与主体区域A’内的所有像素点的个数的比值。同理,主体区域A的平均显著性概率值为主体区域A内的所有像素点的像素值之和与主体区域A内的所有像素点的个数的比值。主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A的平均显著性概率值的比值。
其中,S为主体区域A的显著性评分,ρ1为主体区域A的平均显著性概率值,即ρ2为主体区域A’的平均显著性概率值,即NA为主体区域A内像素点的个数,NA,为主体区域A’内像素点的个数,为主体区域A内所有像素点的像素值之和,Pi为主体区域A内第i个像素点的像素值。为主体区域A’内所有像素点的像素值之和,Pj为主体区域A’内第j个像素点的像素值。
基于图像主体的识别方案,可以在无需预先获得与类别相关的训练样本的情况下,生成图像的主要部分并获得其识别窗口。同时使用识别窗口将主体区域分割成主体像素集合和非主体像素集合,计算其显著性评分。这样使得待识别类别与识别窗口的生成解耦,为后续扩充特征库增加物体类别做出支撑。
S403、当主体区域A的显著性评分大于或等于分类阈值时,物体识别装置根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别。
其中,主体区域A为一个或多个主体区域中的任一个主体区域,上述类别特征向量用于表征同一类物体的共用特征或者一种物体的特征。
其中,一个物体对应的类特别特征向量中的每个元素代表了此类物体的通用特征,比如,比如狗的类别特征向量为(A,B,C),其中A用于表征狗的耳朵的特征,B用于表征狗的眼睛的特征,C用于表征狗的鼻子的特征。
在一种可能的实施例中,上述特征库中的类别特征向量为特征中心向量,该特征中心向量用于表征同一类物体的共用特征;
物体识别装置根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别,包括:
物体识别装置根据CNN特征提取模型获取主体区域A内物体的特征向量,并计算主体区域A内的物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;确定目标特征中心向量对应的类别为主体区域A内物体的类别,目标特征中心向量为特征库中与主体区域A内物体的特征向量之间距离最近的特征中心向量。
需要说明的是,特征库可以看成一张物体类别与特征中心向量的对应关系表。该关系表中包括多个类别对应的特征中心向量。
现有技术中的物体识别方案是计算待识别物体的特征向量与特征库中包含的已知样本的特征向量之间的距离,然后再根据该距离确定待识别物体的类别。而本申请的方案是计算待识别物体的特征向量与特征库中的已知类别对应的特征中心向量之间的距离,然后根据该距离确定待识别物体的类别。本申请的特征库只包括物体类别及特征中心向量,相对于现有技术,节省了存储空间,同时提高了物体识别的效率。
在一个可能的实施例中,在根据CNN特征提取模型获取主体区域A内物体的特征向量之前,该方法还包括:
物体识别装置根据多个样本训练CNN特征提取模型;其中,根据多个样本训练CNN特征提取模型,包括:根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;样本s为多个样本中的任一个;根据多个样本中每个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度值;损失函数用于表征CNN特征提取模型的精度;
其中,损失函数为:max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),D(a,CP)为a与CP之间的距离,CN为与a距离最近的异类样本对应类别的特征中心向量,D(a,CN)为a与CN之间的距离,n为与CP距离最近的异类样本的特征向量,D(n,CP)为n与CP之间的距离,α和β均为常数。
需要说明的是,对CNN特征提取模型进行训练的目标为:使得同一类样本的特征向量与其特征中心向量之间的距离加阈值小于其与任意其他类别的特征中心向量之间的距离。基于此,在确定主体区域内物体的类别时,无需计算主体区域内物体类别的特征向量与特征库中所有物体的特征向量之间的距离,仅需计算主体区域内物体的特征向量与每个类别的特征中心向量之间的距离。通过学习和计算特征中心向量,可以减小特征库的存储空间,同时提高识别效率。
具体地,物体识别装置获取多个样本后,通过CNN特征提取模型提取任一样本s的特征向量,然后基于该样本s的特征向量获该样本s的四元组(a,CP,CN,n),再根据样本s的四元组确定CNN特征提取模型的损失函数的值,若该损失函数的值大于或等于预设精度,则通过反向传播算法调整CNN特征提取模型的参数。在调整CNN特征提取模型的参数后,通过调整参数后的CNN提取特征模型提取多个样本中除了样本s之外的任一样本s’的特征向量,基于样本s’的特征向量获取该样本s’的四元组,再根据样本s’的四元组确定CNN特征提取模型的损失函数的值。若此时损失函数的值大于或等于预设精度值,则继续通过反向传播算法调整CNN特征提取模型的参数。重复以上步骤,直至损失函数的值小于预设精度值。
需要说明的是,CNN特征提取模型的损失函数越小,则表征CNN特征提取模型的精度越高。
如图6所示,黑色圆圈表示与样本s距离最近的异类样本对应类别的特征中心向量CN,白色圆圈表示样本s的特征向量a,阴影色圆圈表示样本s所属类别的特征中心向量CP,灰色圆圈为与特征中心向量CP距离最近的异类样本的特征向量n。
在一个可能的实施例中,物体识别装置建立所述特征库;其中,物体识别装置建立所述特征库包括:
物体识别装置获取M类样本和每类样本的类别,该M类样本中的每类样本包括多个样本,其中,M为大于0的整数;根据CNN特征提取模型获取M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,……,M;根据第K类样本中每个样本的特征向量确定第K类样本的特征中心向量;其中,第K类样本的特征中心向量的第s个元素为第K类样本中样本的特征向量的第s个元素的平均值,上述特征库包括第K类样本的特征中心向量及其类别。
具体地,比如M类样本中第K类样本包括NK个样本,该NK个样本均为同类样本,NK为大于1的整数。物体识别装置将该NK个样本分别输入CNN特征提取模型,以获得NK个样本中的每个样本的特征向量。然后物体识别装置根据该NK个样本中每个样本的特征向量计算得到第K类样本的特征中心向量,其中,第K类样本的特征中心向量的第s个元素为NK个样本的特征向量的第s个元素的的平均值。最后物体识别装置将第K类样本的特征中心向量加入特征库。特征中心向量计算公式如下所示:
f为CNN映射函数,为第K类样本中的第i个样本,为第K类样本中的第i个样本的特征向量,CK为第K类样本的特征中心向量。
举例说明,比如狗的特征中心向量为(A,B,C),其中A用于表征耳朵的特征,B用于表征眼睛的特征,C用于表征鼻子的特征。狗的特征中心向量(A,B,C)是根据哈士奇的特征向量(A1,B1,C1)、斗牛犬的特征向量(A2,B2,C2)、秋田犬的特征向量(A3,B3,C3)、和中华田园犬的特征向量(A4,B4,C4)得到的。其中,A=(A1+A2+A3+A4)/4,B=(B1+B2+B3+B4)/4,C=(C1+C2+C3+C4)/4。
在一个可能的实施例中,物体识别装置还接收第三方发送的样本及其对应的类别来更新特征库。
具体地,物体识别装置在接收到第三方的N类样本及每类样本的类别,该N类样本中每类样本包括多个样本,N为大于0的整数。然后物体识别装置确定特征库中是否已经包括N类样本的类别。
若确定特征库包括N类样本中的第T类样本的类别时,物体识别装置获取T’个特征向量,或者T’个特征向量同一位置的元素之和及个数T’。该T’个特征向量为在计算第T类样本的类别对应的特征中心向量时使用的样本的特征向量,其中T为大于0且小于或者等于N的整数。物体识别装置根据CNN特征提取模型获取该第T类样本中的每个样本的特征向量;根据第T类样本中的每个样本的特征向量和T’个特征向量确定所述第T类样本的特征中心向量;第T类样本的特征中心向量中的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素和T’个特征向量的第s’个元素的平均值;将特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
若确定特征库中不包括第N类样本中第T类样本的类别时,物体识别装置根据CNN特征提取模型获取该第T类样本中的每个样本的特征向量,然后根据第T类样本中每个样本的特征向量确定第T类样本的特征中心向量;其中该第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素的平均值;最后将第T类样本的特征中心向量及第T类样本的类别添加到特征库中。通过第三方或者APP服务商发送的样本及样本中物体的类别更新特征库,在提高物体识别精度的同时,也扩大物体识别的范围。
需要说明的是,特征库可以看成物体类别及特征中心向量的对应关系表。
在一个可能的实施例中,在根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别之后,将主体区域A内的边框和主体区域A内物体及其类别叠加显示。如图7中的b图所示,存在主体区域3和主体区域4。显示主体区域3的边框和主体区域3内物体的类别(即“书本”)及显示主体区域4的边框和主体区域4内物体的类别(即“计算器”)。
在一个可能的实施例中,若主体区域A的显著性评分小于显示阈值时,不显示主体区域A的边框;若主体区域A的显著性评分大于或者等于显示阈值,且小于分类阈值时,将主体区域A的物体与主体区域A的边框叠加显示。如图7中的a图所示,存在主体区域1和主体区域2。只显示主体区域1的边框和主体区域2的边框,主体区域1内物体的类别和主体区域2内物体的类别未显示。
基于图像的逐像素显著性,获得待识别主体区域的显著性评分,该显著性评分与普通识别网络不同之处在于,显著性评分不是基于识别窗口内的物体属于预定义类别的概率,而是评价识别窗口内的物体相对于识别窗口外物体的显著性。基于该显著性评分的交互式显示方案,可以引导用户逐步对准需识别物体,提高识别准确率与用户体验。
可以看出,在本申请实施例的方案中,物体设备装置获取待识别的图像后,得到待识别图像的一个或多个主体区域,并确定一个或多个主体区域中每个主体区域的显著性评分;当主体区域A的显著性评分大于或等于分类阈值时,根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别;其中,主体区域A为所述一个或多个主体区域中的任一个主体区域。与现有技术相比,本申请将图像主体区域的识别与物体识别解耦,使得可以通过第三方增加特征库中的物体类别,进而提高了物体识别的精度,同时也扩大的物体识别的范围。在进行物体识别过程中,是将待识别图像的特征向量与特征库中的特征中心向量进行比较,这也提高了物体识别的速度。
参见图8,图8为本申请实施例提供的另一种物体识别方法的流程示意图。如图8所示,该方法包括:
S801、物体识别装置获取待识别图像。
具体地,物体识别装置通过其摄像头获取待识别图像或从本地获取待识别图像。
S802、物体识别装置获取待识别图像的主体区域及其显著性评分。
其中,主体区域的显著性评分用于表征主体区域内的物体相当于待识别图像中背景的显著程度。
在此需要说明的是,物体识别装置获取待识别图像的主体区域及其显著性评分的过程可参见步骤S401和S402的相关内容,在此不再叙述。
S803、若主体区域的显著性评分小于显示阈值,则物体识别装置不显示主体区域的边界。
S804、若主体区域的显著性评分大于或者等于分类阈值,则物体识别装置根据图像识别模型确定主体区域内物体属于预定义类别的概率。
具体地,若主体区域的显著性评分大于或者等于分类阈值时,则物体识别装置将主体区域输入到图像识别模型(比如softmax模型)中进行计算,以确定主体区域内的物体属于预定义类别的概率。
S804a、若主体区域内的物体属于预定义类别的概率大于或等于显示概率阈值,且小于分类阈值,物体识别装置将主体区域的边界和待识别图像叠加显示。
需要说明的是,主体区域的边界如图7中的a图和b图所示的主体区域。
S804b、若主体区域内的物体属于预定义类别的概率小于显示概率阈值,物体识别装置根据度量学习识别模型获得主体区域内物体的类别,并将主体区域的边界、主体区域内物体的类别和待识别图像叠加显示。
其中,物体识别装置根据度量学习识别模型获得主体区域内物体的类别具体包括:首先获取主体区域内物体的特征向量,然后计算主体区域内物体的特征向量与特征库中每个特征中心向量之间的距离,确定与主体区域内物体的特征向量之间的距离最近的特征中心向量所对应的类别为主体区域内物体的类别。
S804c、若主体区域内的物体属于预定义类别的概率大于或等于分类概率阈值,将主体区域边界、主体区域内物体的类别和待识别图像叠加显示。
需要说明的是,物体识别装置显示的主体区域物体的类别为上述预定义的类别。
S805、主体区域的显著性评分大于或者等于显示阈值,且小于分类阈值,则物体识别装置将主体区域的边界和待识别图像叠加显示。
采用本实施例将基于图像显著性的物体检测流程与传统物体识别模型进行结合,充分发挥大样本训练出来的物体识别模型的物体识别能力。采用本实施例可以在强监督物体识别模型无法识别图中物体或其预定义类别时,新增基于度量学习的物体识别模型,该模型可以实现可识别的物体类别数的增加。
参见图9,图9为本申请实施例提供的另一种物体识别方法的流程示意图。如图9所示,该方法包括:
S901、物体识别装置获取待识别图像。
具体地,物体识别装置通过其摄像头获取待识别图像或从本地获取待识别图像。
S902、物体识别装置根据目标检测算法获取待识别图像中的检测窗口及检测窗口内的物体属于预定义类别的概率。
S903、若检测窗口内物体属于预定义类别的概率大于或者等于显示概率阈值,且小于分类概率阈值,则物体识别装置将检测窗口和待识别图像叠加显示。
S904、若检测窗口内物体属于预定义类别的概率小于显示概率阈值,则物体识别装置获取待识别图像的主体区域及其显著性评分。
其中,主体区域的显著性评分用于表征主体区域内的物体相当于待识别图像中背景的显著程度。
在此需要说明的是,物体识别装置获取待识别图像的主体区域及其显著性评分的过程可参见步骤S401和S402的相关内容,在此不再叙述。
S904a、若主体区域的显著性评分小于显示阈值,则物体识别装置不显示主体区域的边界。
S904b、若主体区域的显著性评分大于或者等于分类阈值,物体识别装置根据度量学习识别模型获得主体区域内物体的类别,并将主体区域的边界、主体区域内物体的类别和待识别图像叠加显示。
S904c、若主体区域的显著性评分大于或者等于显示阈值,且小于分类阈值,则物体识别装置将主体区域的边界及待识别图像叠加显示。
S905、若检测窗口内物体属于预定义类别的概率大于或者等于分类概率阈值,则物体识别装置将检测窗口、预定义的类别和待识别图像叠加显示。
可以看出,本实施例与现有技术之间的区别为:(1)提供基于图像主体的物体检测能力,实现与语义无关的主体检测。本实施例在使用强监督目标检测无法获得目标后,即可调用主体检测模块和物体识别模块进行二次检测与识别,在二次检测时可以在无需预先获得与类别有关的训练样本的情况下,生成图像的主要部分并获得其检测窗口。这样使得待识别类别与检测窗口的生成解耦,为后续扩充类别作出支撑。(2)提供交互式物体检测方案。在强监督检测阶段,若能获得检测窗口且其对应概率大于显示概率阈值,则对其进行显示,直到概率大于分类概率阈值,才最终确定其类别,通过这个方案引导用户逐步对准需识别物体,提高识别准确率与用户体验。在二次检测与识别阶段,同样基于显著性评分实现交互式物体检测,引导用户逐步对准需识别物体。
参见图10,图10为本申请实施例提供应用物体识别方法的场景示意图。如图10所示,该场景包括第一终端1001、服务器1002和第二终端1003。
第一终端1001通过其摄像头获取待识别图像或者从其本地获取待识别图像后,对该识别图像进行主体区域识别,以得到一个或多个主体区域。第一终端设备1001将一个或多个主体区域发送至服务器1002进行物体识别。对于一个或多个主体区域中任一个主体区域中的物体,服务器1002获取该物体的特征向量,然后计算该物体的特征向量与特征库中每个特征中心向量之间的距离,确定与物体的特征向量之间的距离最近的特征中心向量所对应的类别为该物体的类别。
在第一终端1001进行物体识别的过程中或者之前或之后,第二终端1003向服务器1002发送携带物体图像块及该物体的类别的特征库更新请求。服务器1002根据特征库更新请求中的物体图像块及该物体的类别更新特征中的特征中心向量。
需要说明的是,第一终端1001和第二终端1003可以是同一终端。
参见图11,图11为本申请实施例提供的一种物体识别方法的流程示意图。如图11所示,该方法包括:
S1101、服务器接收第一终端发送的特征库更新请求,该特征库更新请求携带有N类样本及每类样本的类别。
其中,N类样本中每类样本均包括一个或多个样本。比如类别为“哈士奇”的样本包括一张或多张哈士奇的图像,再比如类别为“猫”的样本包括一张或多张猫的图像。
S1102、服务器根据N类样本及每类样本的类别更新所述特征库。
具体地,服务器首先确定特征库中是否已经包括N类样本的类别。若确定特征库包括N类样本中的第T类样本的类别时,服务器获取T’个特征向量,或者T’个特征向量同一位置的元素之和及个数T’。该T’个特征向量为在计算第T类样本的类别对应的特征中心向量时使用的样本的特征向量,其中T为大于0且小于或者等于N的整数。服务器根据CNN特征提取模型获取该第T类样本中的每个样本的特征向量;根据第T类样本中的每个样本的特征向量和T’个特征向量确定所述第T类样本的特征中心向量;第T类样本的特征中心向量为第T类样本中所有样本的特征向量的第s’个元素和T’个特征向量的第s’个元素的平均值;将特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
若确定特征库中不包括第N类样本中第T类样本的类别时,服务器根据CNN特征提取模型获取该第T类样本中的每个样本的特征向量,然后根据第T类样本中每个样本的特征向量确定第T类样本的特征中心向量;其中该第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素的平均值;最后将第T类样本的特征中心向量及第T类样本的类别添加到特征库中。
在一个可能的实施例中,在根据N类样本及每类样本的类别对特征库进行更新之前,服务器还建立特征库。
具体地,服务器获取M类样本和每类样本的类别,该M类样本中的每类样本包括多个样本,其中,M为大于0的整数。服务器根据CNN特征提取模型获取M类样本中的第K类样本中的每个样本的特征向量;其中,K=1,2,3,……,M。服务器根据第K类样本中每个样本的特征向量确定第K类样本的特征中心向量;其中,第K类样本的特征中心向量的第s个元素为第K类样本中所有样本的特征向量的第s个元素的平均值,特征库包括第K类样本的特征中心向量及其类别。
举例说明,假设第K类样本为110张猫的图像,第K类样本的类别为“猫”。服务器根据CNN特征提取模型获取110张猫的图像中每张图像的特征向量,然后将110张猫的图像中每张图像的特征向量相同位置的元素进行累加,得到110张猫的图像的特征和向量V,第K类样本(即“猫”)的特征中心向量为V/110,表示V中每个元素都除以100。
S1103、服务器接收第二终端发送的物体识别请求,物体识别请求包括待识别图像信息;其中第一终端与第二终端相同或不同。
在一个可能的实施例中,待识别图像信息为待识别图像块,该待识别图像块中有待识别物体。
在一个可能的实施例中,待识别图像信息为待识别图像,该待识别图像包含待识别图像块。服务器在获取待识别图像后,根据步骤S401所示的相关内容获取一个或多个主体区域,该主体区域内有待识别物体。
S1104、服务器根据待识别图像块内物体的特征确定待识别图像块内物体的类别。
具体地,服务器根据CNN特征提取模型对待识别图像块内物体的特征进行提取,以得到待识别图像块内物体的特征向量,然后计算该待识别图像块内物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离,确定与待识别图像块内物体特征之间的距离最短的特征中心向量对应的类别为待识别图像块内物体的类别。
在一种可能的实施例中,在根据待识别图像块内的物体的特征确定待识别图像块内物体的类别之前,服务器还根据多个样本训练CNN特征提取模型。
具体地,待服务器根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;
根据多个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度值;损失函数用于表征CNN特征提取模型的精度;其中,损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),
D(a,CP)为a与CP之间的距离,D(a,CN)为a与CN之间的距离,D(n,CP)为n与CP之间的距离,α和β均为常数。
S1105、服务器向第二终端发送识别响应消息,该识别响应消息携带有待识别图像块内物体的类别,该待识别图像块内物体的类别为N类样本的类别中的一种。
可以看出,根据第一终端发送特征库更新请求中样本及类别更新特征库,有利于提高物体识别的准确性和扩大了物体识别的范围;通过计算特征库中特征中心向量与主体区域内物体的特征向量之间的距离确定物体的类别的方式,提高了物体识别的效率,并且由于特征库存储的为特征中心向量,从而避免了存储大量物体的特征向量,进而减小了存储开销。
参见图12,图12为本申请实施例提供的一种物体识别方法的流程示意图。如图12所示,该方法包括:
S1201、第二终端获取待识别图像及待识别图像的一个或多个主体区域。
其中,主体区域包括有待识别的物体。
可选地,该第二终端通过其摄像头获取待识别图像或者该第二终端从其本地存储设备中获取待识别图像。
在一个可能的实施例中,第二终端获取待识别图像的一个或多个主体区域,包括:
将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;显著性概率图的尺寸与待识别图像的相同;对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对所述二值显著性概率图进行处理,以得到一个或多个主体区域。
其中,待识别图像的显著性概率图为灰度图,在显著性概率图中每一个像素点的像素值代表在待识别图像对应位置(即相对应位置的像素点)的显著性概率,且显著性概率图中像素点的像素值越大,在待识别图像对应位置的显著性概率越大。该显著性概率图中的中像素点的像素值的取值范围为[0,1]。该待识别图像的尺寸与其显著性概率图的尺寸一致。
其中,显著性概率图生成模型为一个二分类的分割模型,分割类别为两类,一类是显著物体,一类是背景。该显著性概率图生成模型可采用多种架构,比如特征金字塔网络(feature pyramid networks,FPN)、金字塔场景解析网络(pyramid scene parsingnetwork,PSP-Net)、细化网络(refinement networks,RefineNet)等。
其中,第二终端对待识别图像的显著性概率图进行二值化处理,以得到二值显著性概率图。具体地,将待识别图像的显著性概率图中的每个像素点的像素值与预设阈值进行比较,当像素点P的像素值小于预设阈值时,将像素点P的像素值置为0;当像素点P的像素值大于或者等于预设阈值时,将像素点P的像素值置为1。其中,像素点P为待识别图像的显著性概率图中的任一像素点。按照该方法得到二值显著性概率图。
第二终端根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。具体地,考虑到显著性概率图在物体上的不连续性和漏检,第二终端采用closedoperation算法,将二值显著性概率图中的不连续区域进行修补,然后采用two-pass算法对二值显著性概率图进行连通区域识别,将二值显著性概率图不同连通区域进行标注;再对连通区域进行筛选,设计连通域评估规则选取主体连通域;对选取的连通域生成最小矩形框,该最小矩形框所覆盖的区域为主体区域。针对待识别图像,采用这种方式可以得到一个或多个主体区域。
S1202、第二终端确定一个或多个主体区域中每个主体区域的显著性评分,该主体区域的显著性评分用于表征该主体区域内物体的显著程度。
在一个可能的实施例中,第二终端确定一个或多个主体区域中每个主体区域的显著性评分,包括:
第二终端获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;一个或多个主体区域的显著性评分包括主体区域A的显著性评分。
具体地,基于主体区域A,第二终端将待识别图像的显著性概率图划分为主体区域A和非主体区域A’,其中,非主体区域A’为待识别图像的显著性概率图除了主体区域A之外的区域。第二终端获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’。其中,主体区域A内显著性概率值的集合NA为在待识别图像的显著性概率图中主体区域A内所有像素点的像素值的集合;同理,非主体区域A’内显著性概率值的集合NA’为在待识别图像的显著性概率图的非主体区域A’内所有像素点的像素值的集合。
第二终端根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A’的平均显著性概率值和非主体区域A的平均显著性概率值;再根据主体区域A的平均显著性概率值和非主体区域A的平均显著性概率值计算得到主体区域A的显著性评分。一个或多个主体区域的显著性评分包括该主体区域A的显著性评分。如图5所示,灰色部分为主体区域A,白色部分为主体区域A’。
其中,主体区域A’的平均显著性概率值为主体区域A’内的所有像素点的像素值之和与主体区域A’内的所有像素点的个数的比值。同理,主体区域A的平均显著性概率值为主体区域A内的所有像素点的像素值之和与主体区域A内的所有像素点的个数的比值。主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A的平均显著性概率值的比值。
其中,S为主体区域A的显著性评分,ρ1为主体区域A的平均显著性概率值,即ρ2为主体区域A’的平均显著性概率值,即NA为主体区域A内像素点的个数,NA′为主体区域A’内像素点的个数,为主体区域A内所有像素点的像素值之和,Pi为主体区域A内第i个像素点的像素值。为主体区域A’内所有像素点的像素值之和,Pj为主体区域A’内第j个像素点的像素值。
S1203、当主体区域A的显著性评分大于或等于分类阈值时,第二终端向服务器发送物体识别请求,该识别更新请求携带有待识别图像块,该待识别图像块为待识别图像中主体区域A覆盖的区域,该主体区域A为一个或多个主体区域中的任一个主体区域。
S1204、第二终端接收服务器发送的识别响应消息,该识别响应消息携带有待识别图像块内物体的类别。
在一个可能的实施例中,当显著性评分大于分类阈值的主体区域有多个时,第二终端向服务器发送的物体识别请求中包括多个待识别图像块,该多个待识别图像块为多个显著性评分大于分类阈值的主体区域分别覆盖的区域。在一个示例中,第二终端接收服务器发送的一个识别响应消息,该识别响应消息中携带有多个待识别图像内物体的类别。
在一个可能的实施例中,当显著性评分大于分类阈值的主体区域有多个时,第二终端向服务器发送多个物体识别请求,每个物体识别请求携带有一个待识别图像块。多个物体识别请求携带的待识别图像块分别为多个显著性评分大于分类阈值的主体区域分别覆盖的区域。在另一个示例中,第二终端接收服务器发送的多个识别响应消息,每个识别响应消息携带有一个待识别图像内物体的类别。换句话说,一个识别响应消息对应一个物体识别请求。
在一个可能的实施例中,在接收服务器发送的识别响应消息之后,第二终端还将主体区域A内的边框和待识别图像块内物体及其类别叠加显示。如图7中的b图所示,待识别图像中存在主体区域3和主体区域4。第二终端显示主体区域3的边框和主体区域3内物体的类别(即“书本”)及显示主体区域4的边框和主体区域4内物体的类别(即“计算器”)。
在一个可能的实施例中,在将主体区域A内的边框和待识别图像块内物体及其类别叠加显示之后,第二终端还向服务器发送第一特征库更新消息,该第一特征库更新消息携带有待识别图像块和目标类别,该目标类别为用户针对待识别图像块内物体确定的类别,且目标类别与待识别图像块内物体的类别不相同。其中待识别图像块为主体区域A内覆盖的区域。
具体地,第二终端显示服务器对主体区域A内物体的类别后,用户对服务器器识别出来的结果不满意或者用户确定服务器识别出来的结果就是错误的。比如主体区域A内的物体实际为“哈士奇”,而服务器识别出的结果为“狼”;或者主体区域A内的物体实际为“狗”,而服务器识别出的结果为“猫”。用户通过第二终端向服务器发送第一特征库更新消息,该第一特征库更新消息携带有待识别图像块和目标类别,该目标类别为用户针对待识别图像块内物体确定的类别,且该目标类别与服务器识别出来的结果不相同。第一特征库更新消息用于指示服务器根据第一特征库更新消息中携带的待识别图像块内的物体及目标类别更新特征库。
在一个可能的实施例中,若主体区域A的显著性评分小于显示阈值时,第二终端不显示主体区域A的边框;若主体区域A的显著性评分大于或者等于显示阈值,且小于分类阈值时,第二终端将主体区域A的物体与主体区域A的边框叠加显示。如图7中的a图所示,存在主体区域1和主体区域2。只显示主体区域1的边框和主体区域2的边框,主体区域1内物体的类别和主体区域2内物体的类别未显示。
在一个可能的实施例中,第二终端向服务器发送第二特征库更新消息,该第二特征库更新消息包括N类样本及其类别,该第二特征库更新消息用于指示服务器根据N类样本及其类别更新所述特征库。
其中,多类样本中的每类样本中包括一个或多个样本。
可以看出,采用本申请的方案将主体区域检测与物体识别解耦,为后续增加特征库的类别与特征中心向量提供了可能,可扩展性强。并且在物体识别后实现对可识别类别进行再定义与细分,使得后续物体识别的结果更加精确。
参见图13,图13为本申请实施例提供的另一种物体识别方法的流程示意图。如图13所示,该方法包括:
S1301、第一终端向服务器发送特征库更新请求,该特征库更新请求包含N类样本图像及其类别。
其中,N类样本图像中的每类样本图像包括一张或多张样本图像,N为大于或者等于1的整数。
在一个可能的实施例中,在接收到用户的新增类别命令后,第一终端向服务器发送特征库更新请求。
可选地,新增类别命令可以为触控命令、语音命令、手势命令或者其他命令。
在一个可能的实施例中,用户可根据自己的需求来更新特征库。比如若用户需要从多张图像中识别出“神舟飞船”,则在进行图像识别之前,且在接收到用户的新增类别命令后,第一终端获取多张包含“神舟飞船”的图像,然后通过向服务器发送携带多张包含“神舟飞船”的图像及其类别“神舟飞船”的特征库更新请求,以使服务器根据多张包含“神舟飞船”的图像及其类别“神舟飞船”更新特征库。
在另一个可能的实施例中,用户不进行物体识别,只是想更新特征库。在接收到用户的类别新增命令后,第一终端获取多张包含“物体A”的图像,然后通过向服务器发送携带多张包含“物体A”的图像及其类别“物体A”的特征库更新请求,以使服务器根据多张包含“物体A”的图像及其类别“物体A”更新特征库。
S1302、第二终端向服务器发送物体识别请求,该物体识别请求用于指示服务器对待识别图像中的物体进行类别识别,该待识别图像包括X个待识别图像块;X为大于0的整数。
在一个可能的实施例中,在接收到用户的对待识别图像中的物体进行类别识别的命令后,第二终端向服务器发送物体识别请求。
可选地,对待识别图像块中的物体进行类别识别的命令可以为触控命令、语音命令、手势命令或者其他命令。
在一个可能的实施例中,在向服务器发送物体识别请求之前,第二终端还获取待识别图像;并将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;待识别图像的显著性概率图的尺寸与所述待识别图像的相同;然后将待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域;其中Y为大于或者等于X的整数;根据显著性评分模型对Y个主体区域中的每个主体区域进行计算,以得到每个主体区域的显著性评分;主体区域的显著性评分用于表征该主体区域内物体的显著程度;其中,Y个待识别图像块分别为待识别图像中Y个主体区域覆盖的区域,该X个主体区域为Y个主体区域中显著性评分大于或等于显示阈值的主体区域。
在一个可能的实施例中,第二终端将待识别图像的显著性概率图输入到主体区域生成模型进行计算,以得到Y个主体区域,包括:
对待识别图像的显著性概率图进行二值化处理,以得到二值显著性概率图;再根据连通区域识别方法对二值显著性概率图进行处理,以得到Y个主体区域。
具体地,具体地,第二终端在获取待识别图像后,将该待识别图像输入到显著性概率图生成模型中进行处理,以得到待识别图像的显著性概率图。待识别图像的显著性概率图为灰度图,在显著性概率图中每个像素点的像素值表示在待识别图像的对应位置(即相对应位置的像素点)的显著性概率,若显著性概率图中像素点的像素值越大,则待识别图像对应位置的显著性概率越大。待识别图像的显著性概率图中的像素点的像素值的取值范围为[0,1],该待识别图像的显著性概率图的尺寸与待识别图像的相同。显著性概率图生成模型为一个二分类的分割模型,分割类别为两类,一类是显著性物体,另一类是背景。该显著性概率图生成模型可采用多种架构,比如FPN、PSP-Net和RefineNet等。
第二终端再将待识别图像的显著性概率图输入到主体区域生成模型中进行处理,以得到Y个主体区域具体包括:第二终端通过主体区域生成模型对待识别图像的显著性概率图进行二值化处理,以得到待识别图像的二值显著性概率图;然后通过连通区域识别方法对二值显著性概率图进行处理,以得到Y个主体区域。其中,第二终端通过主体区域生成模型对待识别图像的显著性概率图进行二值化处理,以得到二值显著性概率图包括:第二终端将待识别图像的显著性概率图中的每个像素点的像素值与预设阈值进行比较,当像素点P的像素值小于预设阈值时,将像素点P的像素值置为0;当像素点P的像素值大于或者等于预设阈值时,将像素点P的像素值置为1。其中,像素点P为待识别图像的显著性概率图中的任一像素点。按照该方法得到二值显著性概率图。第二终端通过连通区域识别方法对二值显著性概率图进行处理,以得到Y个主体区域,包括:考虑到显著性概率图在物体上的不连续性和漏检,采用closed operation算法,将二值显著性概率图中的不连续区域进行修补,然后采用two-pass算法对二值显著性概率图进行连通区域识别,将二值显著性概率图不同连通区域进行标注;再对连通区域进行筛选,设计连通域评估规则选取主体连通域;对选取的连通域生成最小矩形框,该最小矩形框所覆盖的区域为主体区域。针对待识别图像,采用这种方式可以得到Y个主体区域。
在一个可能的实施例中,第二终端根据显著性评分模型对所述Y个主体区域进行计算,以得到Y个主体区域的显著性评分,包括:
获取主体区域B内显著性概率值的集合NB和非主体区域B’内的显著性概率值的集合NB’,其中,非主体区域B’为在待识别图像的显著性概率图中除了主体区域B之外的区域;根据主体区域B内显著性概率值的集合NB和非主体区域B’内的显著性概率值的集合NB’分别获取主体区域B的平均显著性概率值和非主体区域B’的平均显著性概率值;根据主体区域B的平均显著性概率值和非主体区域B’的平均显著性概率值计算得到主体区域B的显著性评分;其中,主体区域B的显著性评分为主体区域A的平均显著性概率值与非主体区域B’的平均显著性概率值的比值;Y个主体区域的显著性评分包括主体区域B的显著性评分。第二终端从Y个主体区域中选出X个主体区域,该X个主体区域中每个主体区域的显著性评分大于或者等于显示阈值。
S1303、第二终端接收服务器发送的用于响应物体识别请求的响应消息,该响应消息携带有X个待识别图像块中每个待识别图像块内物体的类别;该X个待识别图像块中至少一个待识别图像块内物体的类别包含于N类样本图像的类别。
S1304、第二终端显示X个识别图像块及其类别和X个待识别图像对应的主体区域的边框,主体区域为在待识别图像中待识别图像块对应的区域。
举例说明,如图14所示,第一终端向服务器第三方自定义类别“哈士奇”和对应的样本(即哈士奇的图片)。服务器根据自定义类别“哈士奇”和对应的样本更新特征库(即在特征库中新增类别“哈士奇”和对应的特征中心向量或者更新特征库中已有类别“哈士奇”对应的特征中心向量)。当用户使用第二终端的物体识别功能时,第二终端获取待识别图像,并获取主体区域,主体区域内的物体为需识别的物体。然后第二终端向服务器发送物体识别请求,该物体识别请求携带有待识别图像块,该待识别图像块为待识别图像中主体区域所覆盖的区域。服务器接收物体识别请求后,获取待识别图像块内物体的特征向量,将该特征向量与特征库中的每个特征中心向量进行比对,确定类别“哈士奇”对应的特征中心向量与待识别图像块内物体的特征向量之间的距离最小,服务器确定待识别图像块内物体的类别为“哈士奇”。服务器向第二终端发送携带物体类别“哈士奇”的物体识别响应。第二终端接收到物体识别响应后,将待识别图像块、主体区域的边框和物体类别“哈士奇”叠加显示。其中,主体区域的边框为图14中黑色矩形框。
再举例说明,如图15所示,用户通过第二终端向服务器发送用户自定义类别“信封”和对应的样本至服务器,服务器接收到用户自定义类别“信封”和对应的样本后,根据该自定义类别“信封”和对应的样本更新特征库(即在特征库中新增类别“信封”及对应的特征中心向量,或者更新特征库中已有类别“信封”的特征中心向量)。当用户使用第二终端的物体识别功能时,第二终端获取待识别图像,并获取主体区域,主体区域内的物体为需识别的物体。然后第二终端向服务器发送物体识别请求,该物体识别请求携带有待识别图像块,该待识别图像块为待识别图像中主体区域所覆盖的区域。服务器接收物体识别请求后,获取待识别图像块内物体的特征向量,将该特征向量与特征库中的每个特征中心向量进行比对,确定类别“信封”对应的特征中心向量与待识别图像块内物体的特征向量之间的距离最小,服务器确定待识别图像块内物体的类别为“信封”。服务器向第二终端发送携带物体类别“信封”的物体识别响应。第二终端接收到物体识别响应后,将待识别图像块、主体区域的边框和物体类别“信封”叠加显示。其中,主体区域的边框为图15中黑色矩形框。
在一个可能的实施例中,第二终端向服务器发送物体识别请求,该物体识别请求中携带有待识别图像,或者待识别图像块中一个或多个待识别图像块。服务器接收到物体识别请求后,若物体识别请求携带有待识别图像,则服务器从待识别图像中获取一个或多个待识别图像块,再对待识别图像块中的一个或多个待识别图像块内的物体进行类别识别,以得到每个待识别图像块内物体的类别;若物体识别请求中携带有一个或多个待识别图像块,则服务器直接对一个或多个待识别图像块进行类别识别,以得到一个或者多个待识别图像块中每个待识别图像块内物体的类别。服务器向第二终端发送携带每个待识别图像块内物体的类别的响应消息。
其中,待识别图像块为待识别图像中的一部分。
在另一个可能的实施例中,第二终端向服务器发送携带待识别图像块的物体识别请求,并接收服务器发送的携带有第一类别的响应消息,该第一类别为服务器对待识别图像块内物体进行类别识别得到的结果。第二终端接收到响应消息后,显示待识别图像块内物体的第一类别,供用户查看。若用户确定显示的待识别图像块内物体的第一类别错误(比如说待识别图像块内物体为“哈士奇”,服务器识别出来的结果为“狼”),则第二终端根据用户的命令向服务器发送携带待识别图像块及第二类别的特征库更新请求,以使服务器根据待识别图像块及第二类别更新特征库。其中,第二类别为用户确定的待识别图像块内物体的类别。
可以看出,采用本申请的方案将主体区域检测与物体识别解耦,为后续增加特征库的类别与特征中心向量提供了可能,可扩展性强。并且在物体识别后实现对可识别类别进行再定义与细分,使得后续物体识别的结果更加精确。
参见图16,图16为本申请实施例提供的一种物体识别装置的结构示意图。如图16所示,该物体识别装置1600包括:
获取模块1601,用于获取待识别图像;
主体检测模块1602,用于获取所述待识别图像的一个或多个主体区域,该主体区域包括有待识别的物体;
所述主体检测模块1602,还用于确定所述一个或多个主体区域中每个主体区域的显著性评分;所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
物体识别模块1603,用于当主体区域A的显著性评分大于或等于分类阈值时,根据所述主体区域A内物体的特征确定所述主体区域A内物体的特征向量,并根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别;其中,所述主体区域A为所述一个或多个主体区域中的任一个主体区域,所述类别特征向量用于表征同一类物体的共用特征或者一种物体的特征。
在一个可行的实施例中,所述主体检测模块1602包括:
显著性概率图生成子模块16021,用于将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
待识别主体区域生成子模块16022,用于对所述显著性概率图进行二值化处理,以得到二值显著性概率图;并根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述一个或多个主体区域。
在一个可行的实施例中,所述主体检测模块1602还包括显著性评分子模块16023,所述显著性评分子模块16023具体用于:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A’的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述一个或多个主体区域的显著性评分包括所述主体区域A的显著性评分。
在一个可行的实施例中,所述特征库中的类别特征向量为特征中心向量,所述特征中心向量用于表征同一类物体的共用特征;所述物体识别模块1603包括:
CNN特征提取子模块16031,用于根据卷积神经网络CNN特征提取模型对所述主体区域A内物体的特征进行提取,以得到所述主体区域A内物体的特征向量;
物体类别生成子模块16032具体用于:计算所述主体区域A内的物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;并确定目标特征中心向量对应的类别为所述主体区域A内物体的类别,所述目标特征中心向量为所述特征库中与所述主体区域A内物体的特征向量之间距离最近的特征中心向量。
在一个可行的实施例中,所述CNN特征提取子模块16031还用于:
在根据卷积神经网络CNN特征提取模型获取所述主体区域A内物体的特征向量之前,根据多个样本训练所述CNN特征提取模型;其中,所述根据多个样本训练所述CNN特征提取模型,包括:根据所述CNN特征提取模型获取所述多个样本中的样本s对应的四元组(a,CP,CN,n),所述a为所述样本s的特征向量,所述CP为所述样本s所属类别对应的特征中心向量,所述CN为与所述a距离最近的异类样本的特征中心向量,所述n为与所述CP距离最近的异类样本的特征向量;
根据所述多个样本的四元组及损失函数训练所述CNN特征提取模型,直至所述损失函数的值小于预设精度;所述损失函数用于表征所述CNN特征提取模型的精度;其中,所述损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),所述D(a,CP)为所述a与所述CP之间的距离,所述D(a,CN)为所述a与所述CN之间的距离,所述D(n,CP)为所述n与所述CP之间的距离,所述α和β均为常数。
在一个可行的实施例中,所述物体识别模块1603还包括:
第一特征库构建子模块16033,用于建立所述特征库;其中,所述建立所述特征库具体包括:
获取M类样本和每类样本的类别,所述M类样本中的每类样本包括多个样本,其中,M为大于0的整数;
根据所述CNN特征提取模型获取所述M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,……,M;
根据所述第K类样本中每个样本的特征向量确定所述第K类样本的特征中心向量;其中,所述第K类样本的特征中心向量的第s个元素为所述第K类样本中所有样本的特征向量的第s个元素的平均值,所述特征库包括所述第K类样本的特征中心向量及其类别。
在一个可行的实施例中,所述物体识别模块1603还包括第二特征库构建子模块16034,所述第二特征库构建子模块16034具体用于:
接收到第三方的N类样本及每类样本的类别,所述N类样本中每类样本包括多个样本,所述N为大于0的整数;
若所述特征库包括所述N类样本中的第T类样本的类别时,获取T’个特征向量,所述T’个特征向量为计算所述T类样本的类别对应的特征中心向量时使用的样本的特征向量;
根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;所述T大于0且小于或等于N;
根据所述第T类样本中的每个样本的特征向量和所述T’个特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素和所述T’个特征向量的第s’个元素的平均值;
将所述特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
在一个可行的实施例中,所述第二特征库构建子模块16034还用于:
若所述特征库不包括所述第T类样本中的每类样本的类别时,根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;
根据所述第T类样本中每个样本的特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素的平均值;
将所述第T类样本的特征中心向量及第T类样本的类别添加到所述特征库中。
在一个可行的实施例中,所述主体检测模块1602还包括:
交互式显示子模块16024,用于在根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别之后,将所述主体区域A内的边框和所述主体区域A内物体及其类别叠加显示。
在一个可行的实施例中,所述交互式显示子模块16024还用于:
若所述主体区域A的显著性评分小于显示阈值时,不显示所述主体区域A的边框;
若所述主体区域A的显著性评分大于或者等于所述显示阈值,且小于所述分类阈值时,将所述主体区域A的物体与所述主体区域A的边框叠加显示。
需要说明的是,上述各模块(获取模块1601、主体检测模块1602和物体识别模块1603)用于执行上述步骤S301-S303所示方法的相关内容。具体地,获取模块1601用于执行步骤S301、S701和S801的相关内容,主体检测模块1602用于执行步骤S302、S702、S703、S705、S704a、S704c、S802、S803、S805、S804a和S804c、的相关内容,物体识别模块1603用于执行步骤S303、S704、S704b、S804和S804b的相关内容。
在本实施例中,物体识别装置1600是以模块的形式来呈现。这里的“模块”可以指特定专用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取模块1601、主体检测模块1602和物体识别模块1603可通过图20所示的物体识别装置的处理器2001来实现。
参见图17,图17为本申请实施例提供的一种服务器的结构示意图。如图17所示,该服务器1700包括:
接收模块1701,用于接收第一终端发送的特征库更新请求;所述特征库更新请求携带有N类样本及每类样本的类别;
特征库更新模块1702,用于根据所述N类样本及每类样本的类别更新所述特征库,
所述接收模块1701,还用于接收第二终端发送的物体识别请求,所述物体识别请求包括待识别图像块;其中所述第一终端与所述第二终端相同或不同;
确定模块1703,用于根据所述待识别图像块内物体的特征确定所述待识别图像块内物体的类别;
发送模块1704,用于向所述第二终端发送识别响应消息,所述识别响应消息携带有所述待识别图像块内物体的类别,该待识别图像块内物体的类别为N类样本的类别中的一种。
在一个可行的实施例中,所述特征库包括多个特征中心向量及其类别,所述特征中心向量用于表征同一类物体的共同特征;所述特征库更新模块1702具体用于:
若所述特征库中包括所述N类样本中的第T类样本的类别,则获取T’个特征向量,所述T’个特征向量为计算所述T类样本的类别对应的特征中心向量时使用的样本的特征向量;
根据卷积神经网络CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;所述T为大于0且小于或者等于N的整数;
根据所述第T类样本中的每个样本的特征向量和所述T’个特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素和所述T’个特征向量的第s’个元素的平均值;
将所述特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
在一个可行的实施例中,所述特征库更新模块1702还具体用于:
若所述特征库不包括所述N类样本中的每类样本的类别时,根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;
根据所述第T类样本中每个样本的特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素的平均值;
将所述第T类样本的特征中心向量及第T类样本的类别添加到所述特征库中。
在一个可行的实施例中,所述服务器1700还包括:
建立模块1705,用于在根据所述N类样本及其类别更新所述特征库之前,建立所述特征库;其中,所述建立所述特征库包括:
获取M类样本和每类样本的类别,所述M类样本中的每类样本包括多个样本,其中,M为大于0的整数;
根据所述CNN特征提取模型获取所述M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,……,M;
根据所述第K类样本中每个样本的特征向量确定所述第K类样本的特征中心向量;其中,所述第K类样本的特征中心向量的第s个元素为所述第K类样本中所有样本的特征向量的第s个元素的平均值,所述特征库包括所述第K类样本的特征中心向量及其类别。
在一个可行的实施例中,所述确定模块1703具体用于:
根据所述CNN特征提取模型对待待识别图像块内物体的特征进提取,以得到所述待识别图像块内物体的特征向量;所述特征向量用于表征所述待识别图像块内物体的特征;
计算所述待识别图像块内物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;
确定目标特征中心向量对应的类别为所述待识别图像块内物体的类别,所述目标特征中心向量为所述特征库中与所述待识别图像块内物体的特征向量之间距离最近的特征中心向量。
在一个可行的实施例中,服务器1700还包括:
训练模块1706,用于在接收第一终端发送的特征库更新请求之前,根据多个样本训练所述CNN特征提取模型;其中,根据多个样本训练CNN特征提取模型,包括:
根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;
根据多个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度;损失函数用于表征CNN特征提取模型的精度;其中,损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),
D(a,CP)为a与CP之间的距离,D(a,CN)为a与CN之间的距离,D(n,CP)为n与CP之间的距离,α和β均为常数。
需要说明的是,上述各模块(接收模块1701、特征库更新模块1702、确定模块1703、发送模块1704、建立模块1705和训练模块1706)用于执行上述步骤S301-S303所示方法的相关内容。具体地,接收模块1701用于执行步骤S1101和S1103的相关内容,特征库更新模块1702用于执行步骤S1102的相关内容,确定模块1703用于执行步骤S1104的相关内容,发送模块1704和训练模块1706用于执行步骤S1105的相关内容,建立模块1705用于执行步骤S1102中的建立特征库的内容,训练模块1706用于执行步骤S1104中的训练CNN特征提取模型的相关内容。
在本实施例中,服务器1700是以模块的形式来呈现。这里的“模块”可以指ASIC,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上接收模块1701、特征库更新模块1702、确定模块1703、发送模块1704、建立模块1705和训练模块1706可通过图21所示的服务器的处理器2101来实现。
参见图18,图18为本申请实施例提供的一种终端设备的结构示意图。如图18所示,该终端设备1800,包括:
获取模块1801,用于获取待识别图像及所述待识别图像的一个或多个主体区域;
确定模块1802,用于确定所述一个或多个主体区域中每个主体区域的显著性评分,所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
发送模块1803,用于当主体区域A的显著性评分大于或等于分类阈值时,向服务器发送物体识别请求,所述识别更新请求携带有待识别图像块,所述待识别图像块为所述待识别图像中所述主体区域A覆盖的区域,所述主体区域A为所述一个或多个主体区域中的任一个主体区域;
接收模块1804,用于接收所述服务器发送的识别响应消息,所述识别响应消息携带有所述待识别图像块内物体的类别。
在一个可行的实施例中,所述获取模块1801具体用于:
将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述一个或多个主体区域。
在一个可行的实施例中,所述确定模块1802具体用于:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述一个或多个主体区域的显著性评分包括所述主体区域A的显著性评分。
在一个可行的实施例中,所述终端设备1800还包括:
显示模块1805,用于在接收所述服务器发送的识别响应消息之后,将所述主体区域A内的边框和所述待识别图像块内物体及其类别叠加显示。
在一个可行的实施例中,所述发送模块1803还用于:
在将所述主体区域A内的边框和所述待识别图像块内物体及其类别叠加显示之后,向所述服务器发送第一特征库更新消息,所述第一特征库更新消息携带有所述待识别图像块和目标类别,所述目标类别为用户针对所述待识别图像块内物体确定的类别,且所述目标类别与所述待识别图像块内物体的类别不相同。
在一种可行的实施例中,所述显示模块1805还用于:
若所述主体区域A的显著性评分小于显示阈值时,不显示所述主体区域A的边框;
若所述主体区域A的显著性评分大于或者等于所述显示阈值,且小于所述分类阈值时,将所述主体区域A的物体与所述主体区域A的边框叠加显示。
在一种可行的实施例中,所述发送模块1803还用于:
向所述服务器发送第二特征库更新消息,所述第二特征库更新消息包括N类样本及其类别,所述第二特征库更新消息用于指示所述服务器根据所述N类样本及其类别更新所述特征库。
需要说明的是,上述各模块(获取模块1801、确定模块1802、发送模块1803、接收模块1804和显示模块1805)用于执行上述步骤S1201-S1204所示方法的相关内容。具体地,获取模块1801用于执行步骤S1201的相关内容,确定模块1802用于执行步骤S1202的相关内容,发送模块1803用于执行步骤S1203的相关内容,接收模块1804和显示模块1805用于执行步骤S1204的相关内容。
在本实施例中,终端设备1800是以模块的形式来呈现。这里的“模块”可以指ASIC,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取模块1801、确定模块1802、发送模块1803、接收模块1804和显示模块1805可通过图22所示的物体识别装置的处理器2201来实现。
参见图19,图19为本申请实施例提供的另一种终端设备的结构示意图。如图19所示,该终端设备1900包括:
发送模块1901,用于向服务器发送特征库更新请求,所述特征库更新请求包含N类样本图片及其类别;
发送模块1901,向所述服务器发送物体识别请求,所述物体识别请求用于指示所述服务器对所述待识别图像中的物体进行识别,所述待识别图像包括X个待识别图像块;X为大于0的整数;
接收模块1902,用于接收服务器发送的用于响应所述物体识别请求的响应消息,所述响应消息携带有X个待识别图像块中每个待识别图像块内物体的类别;所述X个待识别图像块中至少一个待识别图像块内物体的类别包含于所述N类样本图像的类别;
显示模块1903,用于显示所述X个识别图像块及其类别和所述X个待识别图像对应的主体区域的边框,所述主体区域为在待识别图像中所述待识别图像块对应的区域。
在一个可能的实施例中,在接收到用户的新增类别命令后,发送模块1901向服务器发送特征库更新请求。
在一个可能的实施例中,在接收到用户的对待识别图像中的物体进行类别识别的命令后,发送模块1901向服务器发送物体识别请求。
在一个可行的实施例中,所述终端设备1900还包括:
获取模块1904,用于在向所述服务器发送物体识别请求之前,获取所述待识别图像;
计算模块1905,用于将所述待识别图像输入到显著性概率图生成模型进行计算,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
所述计算模块1905,还用于将所述待识别图像的显著性概率图输入到主体区域生成模型进行计算,以得到Y个主体区域;所述Y为大于或者等于X的整数;
所述计算模块1905,还用于根据显著性评分模型对所述Y个主体区域中的每个主体区域进行计算,以得到所述每个主体区域的显著性评分;所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
其中,所述X个待识别图像块分别为所述待识别图像中X个主体区域覆盖的区域,所述X个主体区域为所述Y个主体区域中显著性评分大于或等于显示阈值的主体区域。
在一个可行的实施例中,在所述将所述待识别图像的显著性概率图输入到主体区域生成模型进行计算,以得到Y个主体区域的方面,所述计算模块1905具体用于:
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述Y个主体区域。
在一个可行的实施例中,在所述根据显著性评分模型对所述Y个主体区域进行计算,以得到所述Y个主体区域的显著性评分的方面,所述计算模块1905具体用于:
获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域;
根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;
其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;Y个主体区域的显著性评分包括主体区域A的显著性评分
需要说明的是,上述各模块(发送模块1901、接收模块1902、显示模块1903、获取模块1904和计算模块1905)用于执行上述步骤S1301-S1304所示方法的相关内容。发送模块1901和获取模块1904用于执行步骤S1301的相关内容,接收模块1902和计算模块1905用于执行步骤S1302和S1303的相关内容,显示模块1903用于执行步骤S1304的相关内容。
在本实施例中,终端设备1900是以模块的形式来呈现。这里的“模块”可以指特定专用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上发送模块1901、接收模块1902、显示模块1903、获取模块1904和计算模块1905可通过图23所示的推荐装置的处理器2301来实现。
如图20所示的物体识别装置可以以图20中的结构来实现,该物体识别装置2000包括至少一个处理器2001,至少一个存储器2002、至少一个通信接口2003以及至少一个显示设备2004。处理器2001、存储器2002、显示设备2004和通信接口2003通过通信总线连接并完成相互间的通信。
通信接口2003,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccess network,RAN),无线局域网(wireless local area networks,WLAN)等。
存储器2002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器2002用于存储执行以上方案的应用程序代码,并由处理器2001来控制执行。所述处理器2001用于执行所述存储器2002中存储的应用程序代码。
存储器2002存储的代码可执行以上提供的一种物体识别方法。
显示设备2004用于显示待识别图像、主体检测区域的边框及待主体区域内物体的类别。
处理器2001还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的物体识别方法或模型训练方法。
处理器2001还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐方法的各个步骤可以通过处理器2001中的硬件的集成逻辑电路或者软件形式的指令完成。在实现过程中,本申请的状态生成模型和选择策略的训练方法的各个步骤可以通过处理器2001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2001还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2002,处理器2001读取存储器2002中的信息,结合其硬件完成本申请实施例的物体识别方法或模型训练方法。
通信接口2003使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置与其他设备或通信网络之间的通信。例如,可以通过通信接口2003获取推荐相关数据(历史推荐对象和针对每个历史推荐对象的用户行为)或训练数据。
总线可包括在装置各个部件(例如,存储器2002、处理器2001、通信接口2003、显示设备2004)之间传送信息的通路。在一种可能的实施例中,处理器2001具体执行以下步骤:获取待识别图像及待识别图像的一个或多个主体区域,该主体区域包括待识别图像;确定一个或多个主体区域中每个主体区域的显著性评分;该主体区域的显著性评分用于表征该主体区域内物体的显著程度;当主体区域A的显著性评分大于或等于分类阈值时,根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别;其中,主体区域A为一个或多个主体区域中的任一个主体区域,类别特征向量用于表征同一类物体的共用特征或者一种物体的特征。
在一种可能的实施例中,在执行获取待识别图像的一个或多个主体区域的步骤时,处理器2001具体执行如下步骤:将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;该显著性概率图的尺寸与待识别图像的相同;对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。
在一种可能的实施例中,在执行确定一个或多个主体区域中每个主体区域的显著性评分时,处理器2001具体执行如下步骤:
获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域;根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A’的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;一个或多个主体区域的显著性评分包括主体区域A的显著性评分。
在一种可能的实施例中,特征库中的类别特征向量为特征中心向量,特征中心向量用于表征同一类物体的共用特征;在执行根据主体区域A内物体的特征确定主体区域A内物体的特征向量,并根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别,时,处理器2001具体执行如下步骤:
根据卷积神经网络CNN特征提取模型对主体区域A内物体的特征进行提取,以得到主体区域A内物体的特征向量;计算主体区域A内的物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;确定目标特征中心向量对应的类别为主体区域A内物体的类别,目标特征中心向量为特征库中与主体区域A内物体的特征向量之间距离最近的特征中心向量。
在一种可能的实施例中,在执行根据CNN特征提取模型获取主体区域A内物体的特征向量之前,处理器2001具体执行如下步骤:
根据多个样本训练CNN特征提取模型;其中,根据多个样本训练CNN特征提取模型,包括:根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;根据多个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度;损失函数用于表征CNN特征提取模型的精度;其中,损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),D(a,CP)为a与CP之间的距离,D(a,CN)为a与CN之间的距离,D(n,CP)为n与CP之间的距离,α和β均为常数。
在一种可能的实施例中,处理器2001还具体执行如下步骤:
建立特征库;其中,建立特征库包括:获取M类样本和每类样本的类别,M类样本中的每类样本包括多个样本,其中,M为大于0的整数;根据CNN特征提取模型获取M类样本中的第K类样本中的每个样本的特征向量;K=1,2,3,……,M;根据第K类样本中每个样本的特征向量确定第K类样本的特征中心向量;其中,第K类样本的特征中心向量的第s个元素为第K类样本中所有样本的特征向量的第s个元素的平均值,特征库包括第K类样本的特征中心向量及其类别。
在一种可能的实施例中,处理器2001还具体执行如下步骤:
接收到第三方的N类样本及每类样本的类别,N类样本中每类样本包括多个样本,N为大于0的整数;若特征库包括N类样本中的第T类样本的类别时,获取T’个特征向量,T’个特征向量为计算T类样本的类别对应的特征中心向量时使用的样本的特征向量;根据CNN特征提取模型获取第T类样本中的每个样本的特征向量;T大于0且小于或等于N;根据第T类样本中的每个样本的特征向量和T’个特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素和T’个特征向量的第s’个元素的平均值;将特征库中第T类样本的类别对应的特征中心向量更新为第T类样本的特征中心向量。
在一种可能的实施例中,处理器2001还具体执行如下步骤:
若特征库不包括第T类样本中的每类样本的类别时,根据CNN特征提取模型获取第T类样本中的每个样本的特征向量;根据第T类样本中每个样本的特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素的平均值;将第T类样本的特征中心向量及第T类样本的类别添加到特征库中。
在一种可能的实施例中,在处理器2001执行根据主体区域A内物体的特征向量与特征库中的类别特征向量确定主体区域A内物体的类别之后,显示设备2004具体执行如下步骤:将主体区域A内的边框和主体区域A内物体及其类别叠加显示。
在一种可能的实施例中,显示设备2004还具体执行如下步骤:若主体区域A的显著性评分小于显示阈值时,不显示主体区域A的边框;若主体区域A的显著性评分大于或者等于显示阈值,且小于分类阈值时,将主体区域A的物体与主体区域A的边框叠加显示。
如图21所示的服务器可以以图21中的结构来实现,该服务器2110包括至少一个处理器2101,至少一个存储器2102以及至少一个通信接口2103。处理器2101、存储器2102和通信接口2103通过通信总线连接并完成相互间的通信。
通信接口2103,用于与其他设备或通信网络通信,如以太网,RAN,WLAN等。
存储器2102可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM)CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器2102用于存储执行以上方案的应用程序代码,并由处理器2101来控制执行。所述处理器2101用于执行所述存储器2102中存储的应用程序代码。
存储器2102存储的代码可执行以上提供的一种物体识别方法。
处理器2101还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的物体识别方法或模型训练方法。
处理器2101还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐方法的各个步骤可以通过处理器2101中的硬件的集成逻辑电路或者软件形式的指令完成。在实现过程中,本申请的状态生成模型和选择策略的训练方法的各个步骤可以通过处理器2101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2001还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2102,处理器2101读取存储器2102中的信息,结合其硬件完成本申请实施例的物体识别方法或模型训练方法。
通信接口2103使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置与其他设备或通信网络之间的通信。例如,可以通过通信接口2103获取推荐相关数据(历史推荐对象和针对每个历史推荐对象的用户行为)或训练数据。
总线可包括在装置各个部件(例如,存储器2102、处理器2101、通信接口2103)之间传送信息的通路。在一种可能的实施例中,处理器2101具体执行以下步骤:接收第一终端发送的特征库更新请求;该特征库更新请求携带有N类样本及每类样本的类别;根据N类样本及每类样本的类别更新特征库,接收第二终端发送的物体识别请求,该物体识别请求包括待识别图像块;其中第一终端与第二终端相同或不同;根据待识别图像块内物体的特征确定待识别图像块内物体的类别;向第二终端发送识别响应消息,识别响应消息携带有待识别图像块内物体的类别。
在一个可行的实施例中,特征库包括多个特征中心向量及其类别,特征中心向量用于表征同一类物体的共同特征;在执行根据N类样本及其类别更新特征库时,处理器2101具体执行以下步骤:
若特征库中包括N类样本中的第T类样本的类别,则获取T’个特征向量,T’个特征向量为计算T类样本的类别对应的特征中心向量时使用的样本的特征向量;根据卷积神经网络CNN特征提取模型获取第T类样本中的每个样本的特征向量;T为大于0且小于或者等于N的整数;根据第T类样本中的每个样本的特征向量和T’个特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素和T’个特征向量的第s’个元素的平均值;将特征库中第T类样本的类别对应的特征中心向量更新为第T类样本的特征中心向量。
在一个可行的实施例中,在执行根据N类样本及其类别更新特征库时,处理器2101具体执行以下步骤:
若特征库不包括N类样本中的每类样本的类别时,根据CNN特征提取模型获取第T类样本中的每个样本的特征向量;根据第T类样本中每个样本的特征向量确定第T类样本的特征中心向量;第T类样本的特征中心向量的第s’个元素为第T类样本中所有样本的特征向量的第s’个元素的平均值;将第T类样本的特征中心向量及第T类样本的类别添加到特征库中。
在一个可行的实施例中,在执行根据N类样本及其类别更新特征库之前,处理器2101还具体执行以下步骤:建立特征库;其中,建立特征库包括:获取M类样本和每类样本的类别,M类样本中的每类样本包括多个样本,其中,M为大于0的整数;根据CNN特征提取模型获取M类样本中的第K类样本中的每个样本的特征向量;K=1,2,3,……,M;根据第K类样本中每个样本的特征向量确定第K类样本的特征中心向量;其中,第K类样本的特征中心向量的第s’个元素为第K类样本中所有样本的特征向量的第s个元素的平均值,特征库包括第K类样本的特征中心向量及其类别。
在一个可行的实施例中,在执行根据待识别图像块内物体的特征确定待识别图像块内物体的类别时,处理器2101具体执行以下步骤:根据CNN特征提取模型对待待识别图像块内物体的特征进提取,以得到待识别图像块内物体的特征向量;特征向量用于表征待识别图像块内物体的特征;计算待识别图像块内物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;确定目标特征中心向量对应的类别为待识别图像块内物体的类别,目标特征中心向量为特征库中与待识别图像块内物体的特征向量之间距离最近的特征中心向量。
在一个可行的实施例中,在执行接收第一终端发送的特征库更新请求之前,处理器2101具体执行以下步骤:根据多个样本训练CNN特征提取模型;其中,根据多个样本训练CNN特征提取模型,包括:根据CNN特征提取模型获取多个样本中的样本s对应的四元组(a,CP,CN,n),a为样本s的特征向量,CP为样本s所属类别对应的特征中心向量,CN为与a距离最近的异类样本的特征中心向量,n为与CP距离最近的异类样本的特征向量;根据多个样本的四元组及损失函数训练CNN特征提取模型,直至损失函数的值小于预设精度;损失函数用于表征CNN特征提取模型的精度;其中,损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),
D(a,CP)为a与CP之间的距离,D(a,CN)为a与CN之间的距离,D(n,CP)为n与CP之间的距离,α和β均为常数。
如图21所示的终端设备可以以图21中的结构来实现,该终端设备2210包括至少一个处理器2201,至少一个存储器2202、至少一个通信接口2203以及至少一个显示设备2204。处理器2201、存储器2202、显示设备2204和通信接口2203通过通信总线连接并完成相互间的通信。
通信接口2203,用于与其他设备或通信网络通信,如以太网,RAN,WLAN等。
存储器2202可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器2202用于存储执行以上方案的应用程序代码,并由处理器2201来控制执行。所述处理器2201用于执行所述存储器2202中存储的应用程序代码。
存储器2202存储的代码可执行以上提供的一种物体识别方法。
显示设备2204用于显示待识别图像、主体检测区域的边框及待主体区域内物体的类别。
处理器2201还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的物体识别方法方法。
处理器2201还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐方法的各个步骤可以通过处理器2201中的硬件的集成逻辑电路或者软件形式的指令完成。在实现过程中,本申请的状态生成模型和选择策略的训练方法的各个步骤可以通过处理器2201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2001还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2202,处理器2201读取存储器2202中的信息,结合其硬件完成本申请实施例的物体识别方法或模型训练方法。
通信接口2203使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置与其他设备或通信网络之间的通信。例如,可以通过通信接口2203获取推荐相关数据(历史推荐对象和针对每个历史推荐对象的用户行为)或训练数据。
总线可包括在装置各个部件(例如,存储器2202、处理器2201、通信接口2203、显示设备2204)之间传送信息的通路。在一种可能的实施例中,处理器2201具体执行以下步骤:获取待识别图像及待识别图像的一个或多个主体区域;确定一个或多个主体区域中每个主体区域的显著性评分,该主体区域的显著性评分用于表征该主体区域内物体的显著程度;当主体区域A的显著性评分大于或等于分类阈值时,向服务器发送物体识别请求,该识别更新请求携带有待识别图像块,待识别图像块为待识别图像中主体区域A覆盖的区域,主体区域A为一个或多个主体区域中的任一个主体区域;接收服务器发送的识别响应消息,该识别响应消息携带有待识别图像块内物体的类别。
在一个可行的实施例中,在执行获取待识别图像的一个或多个主体区域时,处理器2201具体执行如下步骤:将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;显著性概率图的尺寸与待识别图像的相同;对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到一个或多个主体区域。
在一个可行的实施例中,在执行确定一个或多个主体区域中每个主体区域的显著性评分时,处理器2201具体执行如下步骤:获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域;根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;一个或多个主体区域的显著性评分包括主体区域A的显著性评分。
在一个可行的实施例中,在执行接收服务器发送的识别响应消息之后,显示设备2004具体执行如下步骤:将所主体区域A内的边框和待识别图像块内物体及其类别叠加显示。
在一个可行的实施例中,在执行将主体区域A内的边框和待识别图像块内物体及其类别叠加显示之后,处理器2201具体执行如下步骤:向服务器发送第一特征库更新消息,第一特征库更新消息携带有待识别图像块和目标类别,目标类别为用户针对待识别图像块内物体确定的类别,且目标类别与待识别图像块内物体的类别不相同。
在一个可行的实施例中,处理器2201还具体执行如下步骤:若主体区域A的显著性评分小于显示阈值时,不显示主体区域A的边框;若主体区域A的显著性评分大于或者等于显示阈值,且小于分类阈值时,将主体区域A的物体与主体区域A的边框叠加显示。
在一个可行的实施例中,该物体识别方法还包括:向服务器发送第二特征库更新消息,该第二特征库更新消息包括N类样本及其类别,第二特征库更新消息用于指示服务器根据N类样本及其类别更新特征库。
如图23所示的终端设备可以以图23中的结构来实现,该终端设备2300包括至少一个处理器2301,至少一个存储器2302、至少一个通信接口2303以及至少一个显示设备2304。处理器2301、存储器2302、显示设备2304和通信接口2303通过通信总线连接并完成相互间的通信。
通信接口2303,用于与其他设备或通信网络通信,如以太网,RAN,WLAN等。
存储器2302可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器2302用于存储执行以上方案的应用程序代码,并由处理器2301来控制执行。所述处理器2301用于执行所述存储器2302中存储的应用程序代码。
存储器2302存储的代码可执行以上提供的一种物体识别方法。
显示设备2304用于显示待识别图像、主体检测区域的边框及待主体区域内物体的类别。
处理器2301还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的物体识别方法方法。
处理器2301还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐方法的各个步骤可以通过处理器2301中的硬件的集成逻辑电路或者软件形式的指令完成。在实现过程中,本申请的状态生成模型和选择策略的训练方法的各个步骤可以通过处理器2301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2001还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2302,处理器2301读取存储器2302中的信息,结合其硬件完成本申请实施例的物体识别方法或模型训练方法。
通信接口2303使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置与其他设备或通信网络之间的通信。例如,可以通过通信接口2303获取推荐相关数据(历史推荐对象和针对每个历史推荐对象的用户行为)或训练数据。
总线可包括在装置各个部件(例如,存储器2302、处理器2301、通信接口2303、显示设备2204)之间传送信息的通路。
在一种可能的实施例中,处理器2301具体执行以下步骤:在接收用户的新增类别命令后,向服务器发送特征库更新请求,特征库更新请求包含N类样本图片及其类别;在接收用户的对待识别图像中的物体进行识别的命令后,向服务器发送物体识别请求,该物体识别请求用于指示服务器对待识别图像中的物体进行识别,待识别图像包括X个待识别图像块;X为大于0的整数;接收服务器发送的用于响应物体识别请求的响应消息,响应消息携带有X个待识别图像块中每个待识别图像块内物体的类别;X个待识别图像块中至少一个待识别图像块内物体的类别包含于N类样本图像的类别;显示X个识别图像块及其类别和X个待识别图像对应的主体区域的边框,主体区域为在待识别图像中待识别图像块对应的区域。
可选地,处理器2301在接收到用户的新增类别命令后,向服务器发送特征库更新请求。
可选地,处理器2301在接收用户的对待识别图像中的物体进行识别的命令后,向服务器发送物体识别请求。
在一个可行的实施例中,在执行向服务器发送物体识别请求之前,处理器2301具体执行如下步骤:
获取待识别图像;将待识别图像输入到显著性概率图生成模型,以得到待识别图像的显著性概率图;显著性概率图的尺寸与待识别图像的相同;将待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域;Y为大于或者等于X的整数;根据显著性评分模型对Y个主体区域中的每个主体区域进行计算,以得到每个主体区域的显著性评分;主体区域的显著性评分用于表征该主体区域内物体的显著程度;其中,X个待识别图像块分别为待识别图像中X个主体区域覆盖的区域,X个主体区域为Y个主体区域中显著性评分大于或等于显示阈值的主体区域。
在一个可行的实施例中,在执行将待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域时,处理器2301具体执行如下步骤:对显著性概率图进行二值化处理,以得到二值显著性概率图;根据连通区域识别方法对二值显著性概率图进行处理,以得到Y个主体区域。
在一个可行的实施例中,在执行根据显著性评分模型对Y个主体区域进行计算,以得到Y个主体区域的显著性评分时,处理器2301具体执行如下步骤:
获取主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,非主体区域A’为在显著性概率图中除了主体区域A之外的区域根据主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’分别获取主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;根据主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到主体区域A的显著性评分;其中,主体区域A的显著性评分为主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;Y个主体区域的显著性评分包括主体区域A的显著性评分。
本申请提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如图3、7、8、10、11或12所示实施例的物体识别方法的相关内容。
本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述如图3、7、8、10、11或12所示实施例的物体识别方法的相关内容。
本申请提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行如图3、7、8、10、11或12所示实施例的物体识别方法的相关内容。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行如图3、7、8、10、11或12所示实施例的物体识别方法的相关内容。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。
Claims (54)
1.一种物体识别方法,其特征在于,包括:
获取待识别图像及所述待识别图像的一个或多个主体区域,所述主体区域包括有待识别的物体;
确定所述一个或多个主体区域中每个主体区域的显著性评分;所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
当主体区域A的显著性评分大于或等于分类阈值时,根据所述主体区域A内物体的特征确定所述主体区域A内物体的特征向量,并根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别;其中,所述主体区域A为所述一个或多个主体区域中的任一个主体区域,所述类别特征向量用于表征同一类物体的共用特征或者一种物体的特征。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待识别图像的一个或多个主体区域,包括:
将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述一个或多个主体区域。
3.根据权利要求1或2所述的方法,其特征在于,所述确定所述一个或多个主体区域中每个主体区域的显著性评分,包括:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A’的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述一个或多个主体区域的显著性评分包括所述主体区域A的显著性评分。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述特征库中的类别特征向量为特征中心向量,所述特征中心向量用于表征同一类物体的共用特征;所述根据所述主体区域A内物体的特征确定所述主体区域A内物体的特征向量,并根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别,包括:
根据卷积神经网络CNN特征提取模型对所述主体区域A内物体的特征进行提取,以得到所述主体区域A内物体的特征向量;
计算所述主体区域A内的物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;
确定目标特征中心向量对应的类别为所述主体区域A内物体的类别,所述目标特征中心向量为所述特征库中与所述主体区域A内物体的特征向量之间距离最近的特征中心向量。
5.根据权利要求4所述的方法,其特征在于,所述根据卷积神经网络CNN特征提取模型获取所述主体区域A内物体的特征向量之前,所述方法还包括:
根据多个样本训练所述CNN特征提取模型;其中,所述根据多个样本训练所述CNN特征提取模型,包括:根据所述CNN特征提取模型获取所述多个样本中的样本s对应的四元组(a,CP,CN,n),所述a为所述样本s的特征向量,所述CP为所述样本s所属类别对应的特征中心向量,所述CN为与所述a距离最近的异类样本的特征中心向量,所述n为与所述CP距离最近的异类样本的特征向量;
根据所述多个样本的四元组及损失函数训练所述CNN特征提取模型,直至所述损失函数的值小于预设精度;所述损失函数用于表征所述CNN特征提取模型的精度;其中,所述损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),所述D(a,CP)为所述a与所述CP之间的距离,所述D(a,CN)为所述a与所述CN之间的距离,所述D(n,CP)为所述n与所述CP之间的距离,所述α和β均为常数。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
建立所述特征库;其中,所述建立所述特征库包括:
获取M类样本和每类样本的类别,所述M类样本中的每类样本包括多个样本,其中,M为大于0的整数;
根据所述CNN特征提取模型获取所述M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,......,M;
根据所述第K类样本中每个样本的特征向量确定所述第K类样本的特征中心向量;其中,所述第K类样本的特征中心向量中的第s个元素为所述第K类样本中所有样本的特征向量中第s个元素的平均值,所述特征库包括所述第K类样本的特征中心向量及其类别。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
接收第三方的N类样本及每类样本的类别,所述N类样本中每类样本包括多个样本,所述N为大于0的整数;
若所述特征库包括所述N类样本中的第T类样本的类别时,获取T’个特征向量,所述T’个特征向量为计算所述T类样本的类别对应的特征中心向量时使用的样本的特征向量;
根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;所述T大于0且小于或等于N;
根据所述第T类样本中的每个样本的特征向量和所述T’个特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量中第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素和所述T’个特征向量中的第s’个元素的平均值;
将所述特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述特征库不包括所述第T类样本中的每类样本的类别时,根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;
根据所述第T类样本中每个样本的特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量为所述第T类样本中所有样本的特征向量的平均值;
将所述第T类样本的特征中心向量及第T类样本的类别添加到所述特征库中。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别之后,所述方法还包括:
将所述主体区域A内的边框和所述主体区域A内物体及其类别叠加显示。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
若所述主体区域A的显著性评分小于显示阈值时,不显示所述主体区域A的边框;
若所述主体区域A的显著性评分大于或者等于所述显示阈值,且小于所述分类阈值时,将所述主体区域A的物体与所述主体区域A的边框叠加显示。
11.一种物体识别方法,其特征在于,包括:
接收第一终端发送的特征库更新请求;所述特征库更新请求携带有N类样本及每类样本的类别;
根据所述N类样本及每类样本的类别更新所述特征库,
接收第二终端发送的物体识别请求,所述物体识别请求包括待识别图像块;其中所述第一终端与所述第二终端相同或不同;
根据所述待识别图像块内物体的特征确定所述待识别图像块内物体的类别;
向所述第二终端发送识别响应消息,所述识别响应消息携带有所述待识别图像块内物体的类别,所述待识别图像块内物体的类别为N类样本的类别中的一种。
12.根据权利要求11所述的方法,其特征在于,所述特征库包括多个特征中心向量及其类别,所述特征中心向量用于表征同一类物体的共同特征;所述根据所述N类样本及其类别更新所述特征库,包括:
若所述特征库中包括所述N类样本中的第T类样本的类别,则获取T’个特征向量,所述T’个特征向量为计算所述T类样本的类别对应的特征中心向量时使用的样本的特征向量;
根据卷积神经网络CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;所述T为大于0且小于或者等于N的整数;
根据所述第T类样本中的每个样本的特征向量和所述T’个特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量中第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素和所述T’个特征向量中第s’个元素的平均值;
将所述特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
13.根据权利要求12所述的方法,其特征在于,所述根据所述N类样本及其类别更新所述特征库,还包括:
若所述特征库不包括所述N类样本中的每类样本的类别时,根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;
根据所述第T类样本中每个样本的特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量中第s个元素为所述第T类样本中所有样本的特征向量的第s个元素的平均值;
将所述第T类样本的特征中心向量及第T类样本的类别添加到所述特征库中。
14.根据权利要求12或13所述的方法,其特征在于,所述根据所述N类样本及其类别更新所述特征库之前,所述方法还包括:
建立所述特征库;其中,所述建立所述特征库包括:
获取M类样本和每类样本的类别,所述M类样本中的每类样本包括多个样本,其中,M为大于0的整数;
根据所述CNN特征提取模型获取所述M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,......,M;
根据所述第K类样本中每个样本的特征向量确定所述第K类样本的特征中心向量;其中,所述第K类样本的特征中心向量中第s个元素为所述第K类样本中所有样本的特征向量的第s个元素的平均值,所述特征库包括所述第K类样本的特征中心向量及其类别。
15.根据权利要求12-14任一项所述的方法,其特征在于,所述根据所述待识别图像块内物体的特征确定所述待识别图像块内物体的类别,包括:
根据所述CNN特征提取模型对待待识别图像块内物体的特征进提取,以得到所述待识别图像块内物体的特征向量;所述特征向量用于表征所述待识别图像块内物体的特征;
计算所述待识别图像块内物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;
确定目标特征中心向量对应的类别为所述待识别图像块内物体的类别,所述目标特征中心向量为所述特征库中与所述待识别图像块内物体的特征向量之间距离最近的特征中心向量。
16.根据权利要求12-15任一项所述的方法,其特征在于,所述接收第一终端发送的特征库更新请求之前,所述方法还包括:
根据多个样本训练所述CNN特征提取模型;其中,所述根据多个样本训练所述CNN特征提取模型,包括:
根据所述CNN特征提取模型获取所述多个样本中的样本s对应的四元组(a,CP,CN,n),所述a为所述样本s的特征向量,所述CP为所述样本s所属类别对应的特征中心向量,所述CN为与所述a距离最近的异类样本的特征中心向量,所述n为与所述CP距离最近的异类样本的特征向量;
根据所述多个样本的四元组及损失函数训练所述CNN特征提取模型,直至所述损失函数的值小于预设精度;所述损失函数用于表征所述CNN特征提取模型的精度;其中,所述损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),
所述D(a,CP)为所述a与所述CP之间的距离,所述D(a,CN)为所述a与所述CN之间的距离,所述D(n,CP)为所述n与所述CP之间的距离,所述α和β均为常数。
17.一种物体识别方法,其特征在于,包括:
获取待识别图像及所述待识别图像的一个或多个主体区域;
确定所述一个或多个主体区域中每个主体区域的显著性评分,所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
当主体区域A的显著性评分大于或等于分类阈值时,向服务器发送物体识别请求,所述识别更新请求携带有待识别图像块,所述待识别图像块为所述待识别图像中所述主体区域A覆盖的区域,所述主体区域A为所述一个或多个主体区域中的任一个主体区域;
接收所述服务器发送的识别响应消息,所述识别响应消息携带有所述待识别图像块内物体的类别。
18.根据权利要求17所述的方法,其特征在于,所述获取所述待识别图像的一个或多个主体区域,包括:
将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述一个或多个主体区域。
19.根据权利要求17或18所述的方法,其特征在于,所述确定所述一个或多个主体区域中每个主体区域的显著性评分,包括:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述一个或多个主体区域的显著性评分包括所述主体区域A的显著性评分。
20.根据权利要求17-19任一项所述的方法,其特征在于,所述接收所述服务器发送的识别响应消息之后,所述方法还包括:
将所述主体区域A内的边框和所述待识别图像块内物体及其类别叠加显示。
21.根据权利要求20所述的方法,其特征在于,所述将所述主体区域A内的边框和所述待识别图像块内物体及其类别叠加显示之后,所述方法还包括:
向所述服务器发送第一特征库更新消息,所述第一特征库更新消息携带有所述待识别图像块和目标类别,所述目标类别为用户针对所述待识别图像块内物体确定的类别,且所述目标类别与所述待识别图像块内物体的类别不相同。
22.根据权利要求17-21任一项所述的方法,其特征在于,所述方法还包括:
若所述主体区域A的显著性评分小于显示阈值时,不显示所述主体区域A的边框;
若所述主体区域A的显著性评分大于或者等于所述显示阈值,且小于所述分类阈值时,将所述主体区域A的物体与所述主体区域A的边框叠加显示。
23.根据权利要求17-22任一项所述的方法,其特征在于,所述方法还包括:
向所述服务器发送第二特征库更新消息,所述第二特征库更新消息包括N类样本及其类别,所述第二特征库更新消息用于指示所述服务器根据所述N类样本及其类别更新所述特征库。
24.一种物体识别方法,其特征在于,包括:
向服务器发送特征库更新请求,所述特征库更新请求包含N类样本图片及其类别;
向所述服务器发送物体识别请求,所述物体识别请求用于指示所述服务器对所述待识别图像中的物体进行识别,所述待识别图像包括X个待识别图像块;X为大于0的整数;
接收服务器发送的用于响应所述物体识别请求的响应消息,所述响应消息携带有X个待识别图像块中每个待识别图像块内物体的类别;所述X个待识别图像块中至少一个待识别图像块内物体的类别包含于所述N类样本图像的类别;
显示所述X个识别图像块及其类别和所述X个待识别图像对应的主体区域的边框,所述主体区域为在待识别图像中所述待识别图像块对应的区域。
25.根据权利要求24所述的方法,其特征在于,所述向所述服务器发送物体识别请求之前,所述方法还包括:
获取所述待识别图像;
将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
将所述待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域;所述Y为大于或者等于X的整数;
根据显著性评分模型对所述Y个主体区域中的每个主体区域进行计算,以得到所述每个主体区域的显著性评分;所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
其中,所述X个待识别图像块分别为所述待识别图像中X个主体区域覆盖的区域,所述X个主体区域为所述Y个主体区域中显著性评分大于或等于显示阈值的主体区域。
26.根据权利要求25所述的方法,其特征在于,所述将所述待识别图像的显著性概率图输入到主体区域生成模型,以得到Y个主体区域,包括:
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述Y个主体区域。
27.根据权利要求25所述的方法,其特征在于,所述根据显著性评分模型对所述Y个主体区域进行计算,以得到所述Y个主体区域的显著性评分,包括:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述Y个主体区域的显著性评分包括所述主体区域A的显著性评分。
28.一种物体识别装置,其特征在于,包括:
获取模块,用于获取待识别图像;
主体检测模块,用于获取所述待识别图像的一个或多个主体区域,所述主体区域包括有待识别的物体;
所述主体检测模块,还用于确定所述一个或多个主体区域中每个主体区域的显著性评分;所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
物体识别模块,用于当主体区域A的显著性评分大于或等于分类阈值时,根据所述主体区域A内物体的特征确定所述主体区域A内物体的特征向量,并根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别;其中,所述主体区域A为所述一个或多个主体区域中的任一个主体区域,所述类别特征向量用于表征同一类物体的共用特征或者一种物体的特征。
29.根据权利要求28所述的装置,其特征在于,所述主体检测模块包括:
显著性概率图生成子模块,用于将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
待识别主体区域生成子模块,用于对所述显著性概率图进行二值化处理,以得到二值显著性概率图;并根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述一个或多个主体区域。
30.根据权利要求28或29所述的装置,其特征在于,所述主体检测模块还包括显著性评分子模块,所述显著性评分子模块具体用于:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A’的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述一个或多个主体区域的显著性评分包括所述主体区域A的显著性评分。
31.根据权利要求28-30任一项所述的装置,其特征在于,所述特征库中的类别特征向量为特征中心向量,所述特征中心向量用于表征同一类物体的共用特征;所述物体识别模块包括:
CNN特征提取子模块,用于根据卷积神经网络CNN特征提取模型对所述主体区域A内物体的特征进行提取,以得到所述主体区域A内物体的特征向量;
物体类别生成子模块具体用于:计算所述主体区域A内的物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;
确定目标特征中心向量对应的类别为所述主体区域A内物体的类别,所述目标特征中心向量为所述特征库中与所述主体区域A内物体的特征向量之间距离最近的特征中心向量。
32.根据权利要求31所述的装置,其特征在于,所述CNN特征提取子模块还用于:
在根据卷积神经网络CNN特征提取模型获取所述主体区域A内物体的特征向量之前,根据多个样本训练所述CNN特征提取模型;其中,所述根据多个样本训练所述CNN特征提取模型,包括:根据所述CNN特征提取模型获取所述多个样本中的样本s对应的四元组(a,CP,CN,n),所述a为所述样本s的特征向量,所述CP为所述样本s所属类别对应的特征中心向量,所述CN为与所述a距离最近的异类样本的特征中心向量,所述n为与所述CP距离最近的异类样本的特征向量;
根据所述多个样本的四元组及损失函数训练所述CNN特征提取模型,直至所述损失函数的值小于预设精度;所述损失函数用于表征所述CNN特征提取模型的精度;其中,所述损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),所述D(a,CP)为所述a与所述CP之间的距离,所述D(a,CN)为所述a与所述CN之间的距离,所述D(n,CP)为所述n与所述CP之间的距离,所述α和β均为常数。
33.根据权利要求31或32所述的装置,其特征在于,所述物体识别模块还包括:
第一特征库构建子模块,用于建立所述特征库;其中,所述建立所述特征库具体包括:
获取M类样本和每类样本的类别,所述M类样本中的每类样本包括多个样本,其中,M为大于0的整数;
根据所述CNN特征提取模型获取所述M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,......,M;
根据所述第K类样本中每个样本的特征向量确定所述第K类样本的特征中心向量;其中,所述第K类样本的特征中心向量中第s个元素为所述第K类样本中所有样本的特征向量的第s个元素的平均值,所述特征库包括所述第K类样本的特征中心向量及其类别。
34.根据权利要求31-33任一项所述的装置,其特征在于,所述物体识别模块还包括第二特征库构建子模块,所述第二特征库构建子模块具体用于:
接收到第三方的N类样本及每类样本的类别,所述N类样本中每类样本包括多个样本,所述N为大于0的整数;
若所述特征库包括所述N类样本中的第T类样本的类别时,获取T’个特征向量,所述T’个特征向量为计算所述T类样本的类别对应的特征中心向量时使用的样本的特征向量;
根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;所述T大于0且小于或等于N;
根据所述第T类样本中的每个样本的特征向量和所述T’个特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量中第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素和所述T’个特征向量的第s’个元素的平均值;
将所述特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
35.根据权利要求34所述的装置,其特征在于,所述第二特征库构建子模块还用于:
若所述特征库不包括所述第T类样本中的每类样本的类别时,根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;
根据所述第T类样本中每个样本的特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s个元素为所述第T类样本中所有样本的特征向量的第s个元素的平均值;
将所述第T类样本的特征中心向量及第T类样本的类别添加到所述特征库中。
36.根据权利要求28-35任一项所述的装置,其特征在于,所述主体检测模块还包括:
交互式显示子模块,用于在根据所述主体区域A内物体的特征向量与特征库中的类别特征向量确定所述主体区域A内物体的类别之后,将所述主体区域A内的边框和所述主体区域A内物体及其类别叠加显示。
37.根据权利要求28-35任一项所述的装置,其特征在于,所述交互式显示子模块还用于:
若所述主体区域A的显著性评分小于显示阈值时,不显示所述主体区域A的边框;
若所述主体区域A的显著性评分大于或者等于所述显示阈值,且小于所述分类阈值时,将所述主体区域A的物体与所述主体区域A的边框叠加显示。
38.一种服务器,其特征在于,包括:
接收模块,用于接收第一终端发送的特征库更新请求;所述特征库更新请求携带有N类样本及每类样本的类别;
特征库更新模块,用于根据所述N类样本及每类样本的类别更新所述特征库,
所述接收模块,还用于接收第二终端发送的物体识别请求,所述物体识别请求包括待识别图像块;其中所述第一终端与所述第二终端相同或不同;
确定模块,用于根据所述待识别图像块内物体的特征确定所述待识别图像块内物体的类别;
发送模块,用于向所述第二终端发送识别响应消息,所述识别响应消息携带有所述待识别图像块内物体的类别,所述待识别图像块内物体的类别为N类样本的类别中的一种。
39.根据权利要求38所述的服务器,其特征在于,所述特征库包括多个特征中心向量及其类别,所述特征中心向量用于表征同一类物体的共同特征;所述特征库更新模块具体用于:
若所述特征库中包括所述N类样本中的第T类样本的类别,则获取T’个特征向量,所述T’个特征向量为计算所述T类样本的类别对应的特征中心向量时使用的样本的特征向量;
根据卷积神经网络CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;所述T为大于0且小于或者等于N的整数;
根据所述第T类样本中的每个样本的特征向量和所述T’个特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s’个元素为所述第T类样本中所有样本的特征向量的第s’个元素和所述T’个特征向量的第s’个元素的平均值;
将所述特征库中所述第T类样本的类别对应的特征中心向量更新为所述第T类样本的特征中心向量。
40.根据权利要求39所述的服务器,其特征在于,所述特征库更新模块还具体用于:
若所述特征库不包括所述N类样本中的每类样本的类别时,根据所述CNN特征提取模型获取所述第T类样本中的每个样本的特征向量;
根据所述第T类样本中每个样本的特征向量确定所述第T类样本的特征中心向量;所述第T类样本的特征中心向量的第s个元素为所述第T类样本中所有样本的特征向量的第s个元素的平均值;
将所述第T类样本的特征中心向量及第T类样本的类别添加到所述特征库中。
41.根据权利要求39或40所述的服务器,其特征在于,所述服务器还包括:
建立模块,用于在根据所述N类样本及其类别更新所述特征库之前,建立所述特征库;其中,所述建立所述特征库包括:
获取M类样本和每类样本的类别,所述M类样本中的每类样本包括多个样本,其中,M为大于0的整数;
根据所述CNN特征提取模型获取所述M类样本中的第K类样本中的每个样本的特征向量;所述K=1,2,3,......,M;
根据所述第K类样本中每个样本的特征向量确定所述第K类样本的特征中心向量;其中,所述第K类样本的特征中心向量的第s个元素为所述第K类样本中所有样本的特征向量的第s个元素的平均值,所述特征库包括所述第K类样本的特征中心向量及其类别。
42.根据权利要求39-41任一项所述的服务器,其特征在于,所述确定模块具体用于:
根据所述CNN特征提取模型对待待识别图像块内物体的特征进提取,以得到所述待识别图像块内物体的特征向量;所述特征向量用于表征所述待识别图像块内物体的特征;
计算所述待识别图像块内物体的特征向量与特征库中每个类别对应的特征中心向量之间的距离;
确定目标特征中心向量对应的类别为所述待识别图像块内物体的类别,所述目标特征中心向量为所述特征库中与所述待识别图像块内物体的特征向量之间距离最近的特征中心向量。
43.根据权利要求39-42任一项所述的服务器,其特征在于,所述服务器还包括:
训练模块,用于在接收所述第一终端发送的特征库更新请求之前,根据多个样本训练所述CNN特征提取模型;其中,所述根据多个样本训练所述CNN特征提取模型,包括:
根据所述CNN特征提取模型获取所述多个样本中的样本s对应的四元组(a,CP,CN,n),所述a为所述样本s的特征向量,所述CP为所述样本s所属类别对应的特征中心向量,所述CN为与所述a距离最近的异类样本的特征中心向量,所述n为与所述CP距离最近的异类样本的特征向量;
根据所述多个样本的四元组及损失函数训练所述CNN特征提取模型,直至所述损失函数的值小于预设精度;所述损失函数用于表征所述CNN特征提取模型的精度;其中,所述损失函数为:
max(D(a,CP)-D(a,CN)+α,0)+max(D(a,CP)-D(n,CP)+β,0),
所述D(a,CP)为所述a与所述CP之间的距离,所述D(a,CN)为所述a与所述CN之间的距离,所述D(n,CP)为所述n与所述CP之间的距离,所述α和β均为常数。
44.一种终端设备,其特征在于,包括:
获取模块,用于获取待识别图像及所述待识别图像的一个或多个主体区域;
确定模块,用于确定所述一个或多个主体区域中每个主体区域的显著性评分,所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
发送模块,用于当主体区域A的显著性评分大于或等于分类阈值时,向服务器发送物体识别请求,所述识别更新请求携带有待识别图像块,所述待识别图像块为所述待识别图像中所述主体区域A覆盖的区域,所述主体区域A为所述一个或多个主体区域中的任一个主体区域;
接收模块,用于接收所述服务器发送的识别响应消息,所述识别响应消息携带有所述待识别图像块内物体的类别。
45.根据权利要求44所述的终端设备,其特征在于,所述获取模块具体用于:
将所述待识别图像输入到显著性概率图生成模型,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述一个或多个主体区域。
46.根据权利要求44或45所述的终端设备,其特征在于,所述确定模块具体用于:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述一个或多个主体区域的显著性评分包括所述主体区域A的显著性评分。
47.根据权利要求44-46任一项所述的终端设备,其特征在于,所述终端设备还包括:
显示模块,用于在接收所述服务器发送的识别响应消息之后,将所述主体区域A内的边框和所述待识别图像块内物体及其类别叠加显示。
48.根据权利要求47所述的终端设备,其特征在于,所述发送模块还用于:
在将所述主体区域A内的边框和所述待识别图像块内物体及其类别叠加显示之后,向所述服务器发送第一特征库更新消息,所述第一特征库更新消息携带有所述待识别图像块和目标类别,所述目标类别为用户针对所述待识别图像块内物体确定的类别,且所述目标类别与所述待识别图像块内物体的类别不相同。
49.根据权利要求44-48任一项所述的终端设备,其特征在于,所述显示模块还用于:
若所述主体区域A的显著性评分小于显示阈值时,不显示所述主体区域A的边框;
若所述主体区域A的显著性评分大于或者等于所述显示阈值,且小于所述分类阈值时,将所述主体区域A的物体与所述主体区域A的边框叠加显示。
50.根据权利要求44-49任一项所述的终端设备,其特征在于,所述发送模块还用于:
向所述服务器发送第二特征库更新消息,所述第二特征库更新消息包括N类样本及其类别,所述第二特征库更新消息用于指示所述服务器根据所述N类样本及其类别更新所述特征库。
51.一种终端设备,其特征在于,包括:
发送模块,用于向服务器发送特征库更新请求,所述特征库更新请求包含N类样本图片及其类别;
所述发送模块,还用于向所述服务器发送物体识别请求,所述物体识别请求用于指示所述服务器对所述待识别图像中的物体进行识别,所述待识别图像包括X个待识别图像块;X为大于0的整数;
接收模块,用于接收服务器发送的用于响应所述物体识别请求的响应消息,所述响应消息携带有X个待识别图像块中每个待识别图像块内物体的类别;所述X个待识别图像块中至少一个待识别图像块内物体的类别包含于所述N类样本图像的类别;
显示模块,用于显示所述X个识别图像块及其类别和所述X个待识别图像对应的主体区域的边框,所述主体区域为在待识别图像中所述待识别图像块对应的区域。
52.根据权利要求51所述的终端设备,其特征在于,所述终端设备还包括:
获取模块,用于在向所述服务器发送物体识别请求之前,获取所述待识别图像;
计算模块,用于将所述待识别图像输入到显著性概率图生成模型进行计算,以得到所述待识别图像的显著性概率图;所述显著性概率图的尺寸与所述待识别图像的相同;
所述计算模块,还用于将所述待识别图像的显著性概率图输入到主体区域生成模型进行计算,以得到Y个主体区域;所述Y为大于或者等于X的整数;
所述计算模块,还用于根据显著性评分模型对所述Y个主体区域中的每个主体区域进行计算,以得到所述每个主体区域的显著性评分;所述主体区域的显著性评分用于表征该主体区域内物体的显著程度;
其中,所述X个待识别图像块分别为所述待识别图像中X个主体区域覆盖的区域,所述X个主体区域为所述Y个主体区域中显著性评分大于或等于显示阈值的主体区域。
53.根据权利要求52所述的终端设备,其特征在于,在所述将所述待识别图像的显著性概率图输入到主体区域生成模型进行计算,以得到Y个主体区域的方面,所述计算模块具体用于:
对所述显著性概率图进行二值化处理,以得到二值显著性概率图;
根据连通区域识别方法对所述二值显著性概率图进行处理,以得到所述Y个主体区域。
54.根据权利要求52所述的终端设备,其特征在于,在所述根据显著性评分模型对所述Y个主体区域进行计算,以得到所述Y个主体区域的显著性评分的方面,所述计算模块具体用于:
获取所述主体区域A内显著性概率值的集合NA和非主体区域A’内的显著性概率值的集合NA’,所述非主体区域A’为在所述显著性概率图中除了所述主体区域A之外的区域;
根据所述主体区域A内显著性概率值的集合NA和所述非主体区域A’内的显著性概率值的集合NA’分别获取所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值;
根据所述主体区域A的平均显著性概率值和非主体区域A’的平均显著性概率值计算得到所述主体区域A的显著性评分;
其中,所述主体区域A的显著性评分为所述主体区域A的平均显著性概率值与非主体区域A’的平均显著性概率值的比值;所述Y个主体区域的显著性评分包括所述主体区域A的显著性评分。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236937.1A CN110070107B (zh) | 2019-03-26 | 2019-03-26 | 物体识别方法及装置 |
EP20777500.8A EP3933693B1 (en) | 2019-03-26 | 2020-03-26 | Object recognition method and device |
PCT/CN2020/081436 WO2020192736A1 (zh) | 2019-03-26 | 2020-03-26 | 物体识别方法及装置 |
US17/484,545 US20220012533A1 (en) | 2019-03-26 | 2021-09-24 | Object Recognition Method and Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236937.1A CN110070107B (zh) | 2019-03-26 | 2019-03-26 | 物体识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110070107A true CN110070107A (zh) | 2019-07-30 |
CN110070107B CN110070107B (zh) | 2020-12-25 |
Family
ID=67366703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910236937.1A Active CN110070107B (zh) | 2019-03-26 | 2019-03-26 | 物体识别方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220012533A1 (zh) |
EP (1) | EP3933693B1 (zh) |
CN (1) | CN110070107B (zh) |
WO (1) | WO2020192736A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110491062A (zh) * | 2019-08-21 | 2019-11-22 | 武汉白虹软件科技有限公司 | 一种安防系统及方法 |
CN110569380A (zh) * | 2019-09-16 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种图像标签获取方法、装置及存储介质和服务器 |
WO2020192736A1 (zh) * | 2019-03-26 | 2020-10-01 | 华为技术有限公司 | 物体识别方法及装置 |
CN112215228A (zh) * | 2020-12-14 | 2021-01-12 | 佛山市南海区广工大数控装备协同创新研究院 | 通过直接模仿两阶段特征搭建高效框架的方法 |
RU2742701C1 (ru) * | 2020-06-18 | 2021-02-09 | Самсунг Электроникс Ко., Лтд. | Способ интерактивной сегментации объекта на изображении и электронное вычислительное устройство для его реализации |
CN112364200A (zh) * | 2021-01-15 | 2021-02-12 | 清华大学 | 一种类脑成像的方法、装置、设备及存储介质 |
CN113807146A (zh) * | 2020-06-15 | 2021-12-17 | 深圳绿米联创科技有限公司 | 门锁识别方法、装置及电子设备 |
WO2022142644A1 (en) * | 2020-12-28 | 2022-07-07 | International Business Machines Corporation | Apparatus for automating inventory and automatic inventory system and method |
US11393181B2 (en) * | 2019-10-29 | 2022-07-19 | Institute For Information Industry | Image recognition system and updating method thereof |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10813102B2 (en) * | 2018-12-05 | 2020-10-20 | Spectrum Effect Inc. | Locating external interference in a wireless network |
JP2022537636A (ja) * | 2019-05-09 | 2022-08-29 | オートモビリア ツー リミテッド ライアビリティ カンパニー | メディア処理および表示のための方法、システム、およびコンピュータ・ プログラム製品 |
CN112085701B (zh) * | 2020-08-05 | 2024-06-11 | 深圳市优必选科技股份有限公司 | 一种人脸模糊度检测方法、装置、终端设备及存储介质 |
CN112101360B (zh) * | 2020-11-17 | 2021-04-27 | 浙江大华技术股份有限公司 | 一种目标检测方法、装置以及计算机可读存储介质 |
CN113159026A (zh) * | 2021-03-31 | 2021-07-23 | 北京百度网讯科技有限公司 | 图像处理方法、装置、电子设备和介质 |
CN114005177B (zh) * | 2021-10-29 | 2023-09-19 | 北京百度网讯科技有限公司 | 人物交互检测方法、神经网络及其训练方法、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820718A (zh) * | 2015-05-22 | 2015-08-05 | 哈尔滨工业大学 | 基于地理位置特征与全局视觉特征的图像分类和检索方法 |
CN105069457A (zh) * | 2015-07-15 | 2015-11-18 | 杭州朗和科技有限公司 | 图像识别方法和装置 |
CN106886795A (zh) * | 2017-02-17 | 2017-06-23 | 北京维弦科技有限责任公司 | 基于图像中的显著物体的物体识别方法 |
CN107016409A (zh) * | 2017-03-20 | 2017-08-04 | 华中科技大学 | 一种基于图像显著区域的图像分类方法和系统 |
CN107239203A (zh) * | 2016-03-29 | 2017-10-10 | 北京三星通信技术研究有限公司 | 一种图像管理方法和装置 |
CN107368614A (zh) * | 2017-09-12 | 2017-11-21 | 重庆猪八戒网络有限公司 | 基于深度学习的图像检索方法及装置 |
CN108921107A (zh) * | 2018-07-06 | 2018-11-30 | 北京市新技术应用研究所 | 基于排序损失和Siamese网络的行人再识别方法 |
CN108985135A (zh) * | 2017-06-02 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种人脸检测器训练方法、装置及电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003030655A (ja) * | 2001-07-12 | 2003-01-31 | Nec Corp | 画像認識システム及び画像認識プログラム |
US8768071B2 (en) * | 2011-08-02 | 2014-07-01 | Toyota Motor Engineering & Manufacturing North America, Inc. | Object category recognition methods and robots utilizing the same |
CN103207870B (zh) * | 2012-01-17 | 2020-06-02 | 华为技术有限公司 | 一种照片分类管理方法、服务器、装置及系统 |
CN103810503B (zh) * | 2013-12-26 | 2017-02-01 | 西北工业大学 | 一种基于深度学习的自然图像中显著区域的检测方法 |
US10262229B1 (en) * | 2015-03-24 | 2019-04-16 | Hrl Laboratories, Llc | Wide-area salient object detection architecture for low power hardware platforms |
US10503999B2 (en) * | 2015-03-24 | 2019-12-10 | Hrl Laboratories, Llc | System for detecting salient objects in images |
US9715638B1 (en) * | 2015-12-31 | 2017-07-25 | Nokia Technologies Oy | Method and apparatus for identifying salient subimages within a panoramic image |
US9846840B1 (en) * | 2016-05-25 | 2017-12-19 | Adobe Systems Incorporated | Semantic class localization in images |
US10699151B2 (en) * | 2016-06-03 | 2020-06-30 | Miovision Technologies Incorporated | System and method for performing saliency detection using deep active contours |
US10521691B2 (en) * | 2017-03-31 | 2019-12-31 | Ebay Inc. | Saliency-based object counting and localization |
US11507800B2 (en) * | 2018-03-06 | 2022-11-22 | Adobe Inc. | Semantic class localization digital environment |
US11420623B2 (en) * | 2019-03-20 | 2022-08-23 | Honda Motor Co., Ltd. | Systems for determining object importance in on-road driving scenarios and methods thereof |
CN110070107B (zh) * | 2019-03-26 | 2020-12-25 | 华为技术有限公司 | 物体识别方法及装置 |
-
2019
- 2019-03-26 CN CN201910236937.1A patent/CN110070107B/zh active Active
-
2020
- 2020-03-26 WO PCT/CN2020/081436 patent/WO2020192736A1/zh unknown
- 2020-03-26 EP EP20777500.8A patent/EP3933693B1/en active Active
-
2021
- 2021-09-24 US US17/484,545 patent/US20220012533A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820718A (zh) * | 2015-05-22 | 2015-08-05 | 哈尔滨工业大学 | 基于地理位置特征与全局视觉特征的图像分类和检索方法 |
CN105069457A (zh) * | 2015-07-15 | 2015-11-18 | 杭州朗和科技有限公司 | 图像识别方法和装置 |
CN107239203A (zh) * | 2016-03-29 | 2017-10-10 | 北京三星通信技术研究有限公司 | 一种图像管理方法和装置 |
CN106886795A (zh) * | 2017-02-17 | 2017-06-23 | 北京维弦科技有限责任公司 | 基于图像中的显著物体的物体识别方法 |
CN107016409A (zh) * | 2017-03-20 | 2017-08-04 | 华中科技大学 | 一种基于图像显著区域的图像分类方法和系统 |
CN108985135A (zh) * | 2017-06-02 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种人脸检测器训练方法、装置及电子设备 |
CN107368614A (zh) * | 2017-09-12 | 2017-11-21 | 重庆猪八戒网络有限公司 | 基于深度学习的图像检索方法及装置 |
CN108921107A (zh) * | 2018-07-06 | 2018-11-30 | 北京市新技术应用研究所 | 基于排序损失和Siamese网络的行人再识别方法 |
Non-Patent Citations (2)
Title |
---|
QIQI XIAO ET AL: "Margin Sample Mining Loss:A Deep Learning Based Method for Person Re-identification", 《ARXIV:1710.00478V3[CS.CV]》 * |
王法强 等: "计算机视觉中相似度学习方法的研究进展", 《智能计算机与应用》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020192736A1 (zh) * | 2019-03-26 | 2020-10-01 | 华为技术有限公司 | 物体识别方法及装置 |
CN110491062A (zh) * | 2019-08-21 | 2019-11-22 | 武汉白虹软件科技有限公司 | 一种安防系统及方法 |
CN110569380A (zh) * | 2019-09-16 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种图像标签获取方法、装置及存储介质和服务器 |
CN110569380B (zh) * | 2019-09-16 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 一种图像标签获取方法、装置及存储介质和服务器 |
US11393181B2 (en) * | 2019-10-29 | 2022-07-19 | Institute For Information Industry | Image recognition system and updating method thereof |
CN113807146A (zh) * | 2020-06-15 | 2021-12-17 | 深圳绿米联创科技有限公司 | 门锁识别方法、装置及电子设备 |
RU2742701C1 (ru) * | 2020-06-18 | 2021-02-09 | Самсунг Электроникс Ко., Лтд. | Способ интерактивной сегментации объекта на изображении и электронное вычислительное устройство для его реализации |
CN112215228A (zh) * | 2020-12-14 | 2021-01-12 | 佛山市南海区广工大数控装备协同创新研究院 | 通过直接模仿两阶段特征搭建高效框架的方法 |
CN112215228B (zh) * | 2020-12-14 | 2021-03-16 | 佛山市南海区广工大数控装备协同创新研究院 | 通过直接模仿两阶段特征搭建高效框架的方法 |
WO2022142644A1 (en) * | 2020-12-28 | 2022-07-07 | International Business Machines Corporation | Apparatus for automating inventory and automatic inventory system and method |
CN112364200A (zh) * | 2021-01-15 | 2021-02-12 | 清华大学 | 一种类脑成像的方法、装置、设备及存储介质 |
CN112364200B (zh) * | 2021-01-15 | 2021-04-13 | 清华大学 | 一种类脑成像的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3933693B1 (en) | 2024-02-14 |
US20220012533A1 (en) | 2022-01-13 |
CN110070107B (zh) | 2020-12-25 |
EP3933693A4 (en) | 2022-05-04 |
EP3933693A1 (en) | 2022-01-05 |
WO2020192736A1 (zh) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070107B (zh) | 物体识别方法及装置 | |
US20220165045A1 (en) | Object recognition method and apparatus | |
CN110532871B (zh) | 图像处理的方法和装置 | |
US20220108546A1 (en) | Object detection method and apparatus, and computer storage medium | |
CN110175671B (zh) | 神经网络的构建方法、图像处理方法及装置 | |
US20220215227A1 (en) | Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium | |
CN110222717B (zh) | 图像处理方法和装置 | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
CN111401517B (zh) | 一种感知网络结构搜索方法及其装置 | |
WO2021218786A1 (zh) | 一种数据处理系统、物体检测方法及其装置 | |
US20220157046A1 (en) | Image Classification Method And Apparatus | |
CN111291809A (zh) | 一种处理装置、方法及存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN113011562A (zh) | 一种模型训练方法及装置 | |
CN112215332A (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
CN112529146A (zh) | 神经网络模型训练的方法和装置 | |
CN113807183A (zh) | 模型训练方法及相关设备 | |
Grigorev et al. | Depth estimation from single monocular images using deep hybrid network | |
CN112464930A (zh) | 目标检测网络构建方法、目标检测方法、装置和存储介质 | |
US20230401826A1 (en) | Perception network and data processing method | |
CN113128285A (zh) | 一种处理视频的方法及装置 | |
CN110705564B (zh) | 图像识别的方法和装置 | |
CN114972182A (zh) | 一种物体检测方法及其装置 | |
CN111833363A (zh) | 检测方法及装置 | |
WO2023272431A1 (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 |