CN116171461A - 堆叠物体的识别方法、装置、设备及计算机存储介质 - Google Patents

堆叠物体的识别方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN116171461A
CN116171461A CN202180002768.0A CN202180002768A CN116171461A CN 116171461 A CN116171461 A CN 116171461A CN 202180002768 A CN202180002768 A CN 202180002768A CN 116171461 A CN116171461 A CN 116171461A
Authority
CN
China
Prior art keywords
image
edge
category
sequence
identified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180002768.0A
Other languages
English (en)
Inventor
陈景焕
陈凯歌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensetime International Pte Ltd
Original Assignee
Sensetime International Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sensetime International Pte Ltd filed Critical Sensetime International Pte Ltd
Publication of CN116171461A publication Critical patent/CN116171461A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

提供了一种堆叠物体的识别方法、装置、设备及计算机存储介质,其中,该方法包括:获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。

Description

堆叠物体的识别方法、装置、设备及计算机存储介质
相关申请的交叉引用
本申请要求在2021年9月21日提交新加坡知识产权局、申请号为10202110412V的新加坡专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开实施例涉及但不限于计算机视觉技术领域,尤其涉及一种堆叠物体的识别方法、装置、设备及计算机存储介质。
背景技术
在一些场景中,有许多产品需要成批地生产或使用,这些产品中的一部分是可堆叠物体。可堆叠物体按照一定的堆叠方向进行堆叠则形成物体序列。
在视频分析场景中,由于形成堆叠物的物体在外形上比较类似,例如可能都是尺寸相同的片状物体,且形成堆叠物的物体数量不确定,基于图像或视频识别序列物体的构成——即识别堆叠物中的每个物体,存在一定的难度。
发明内容
本公开实施例提供一种堆叠物体的识别方法、装置、设备及计算机存储介质。
第一方面,提供一种堆叠物体的识别方法,包括:获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
在一些实施例中,所述基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别,包括:基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像;对每个所述子图像进行类别识别,得到所述每个物体的类别。
这样,由于基于边缘分割图像,对待识别图像的物体序列中每个物体进行切割,得到每个物体对应的子图像,对每个子图像进行类别识别,从而能够获取到每个子图像对应的类别,进而基于每个子图像对应的类别,能够准确地确定物体序列中每个物体的类别。
在一些实施例中,所述基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像,包括:基于所述形成所述物体序列的每个物体的边缘信息,确定所述每个物体在所述待识别图像中的第一位置信息;基于所述第一位置信息,对所述待识别图像中所述每个物体进行切割,得到所述每个子图像。
这样,由于先基于形成物体序列的每个物体的边缘信息,确定每个物体在待识别图像中的第一位置信息,然后再基于第一位置信息对待识别图像的物体序列中每个物体进行切割,得到每个子图像,从而能够基于第一位置信息,准确的定位到物体序列中每个物体在边缘分割图像的位置信息,进而基于第一位置信息对待识别图像的物体序列进行切割得到的每个子图像,能够准确地匹配物体序列中每一个物体,从而能够准确地确定出物体序列中每一个物体的类别。
在一些实施例中,所述对所述每个子图像进行类别识别,得到所述每个物体的类别,包括:对每个所述子图像进行类别识别,得到至少两个类别和与所述至少两个类别中的每个类别一一对应的至少两个置信度;在所述至少两个置信度中,最高置信度与第二高置信度之间的差值大于阈值的情况下,将所述最高置信度所对应的类别,确定为与所述子图像对应的物体的类别。
这样,在最高置信度与第二高置信度之间的差值大于阈值的情况下,将最高置信度所对应的类别,确定为与子图像对应的物体的类别,从而能够准确地确定物体序列中每个物体的类别。
在一些实施例中,所述方法还包括以下至少之一:
在所述差值小于或等于所述阈值,且所述最高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述第二高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别均不同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
这样,在差值小于或等于阈值的情况下,如果基于每个子图像确定的最高置信度对应的类别,与该每个子图像相邻的两个子图像的类别相同的情况下,将第二高置信度对应的类别确定为每个子图像对应的物体的类别;如果基于每个子图像确定的第二高置信度对应的类别,与该每个子图像相邻的两个子图像的类别相同的情况下,将最高置信度对应的类别确定为每个子图像对应的物体的类别,从而能够去除每个子图像的相邻的子图像,对该每个子图像的类别判断产生的影响;以及如果第二高置信度对应的类别,与每个子图像相邻的两个子图像的类别均不同的情况下,将最高置信度对应的类别,确定为与每个子图像对应的物体的类别,从而能够准确地确定每个子图像对应的物体的类别。
在一些实施例中,所述边缘分割图像包括表征每个物体的边缘信息的掩模图像,和/或,所述边缘分割图像与所述待识别图像的尺寸相同。
这样,通过边缘分割图像包括表征每个物体的边缘信息的掩模图像,从而基于掩膜图像能够容易地确定每个物体的边缘信息,以及由于边缘分割图像与待识别图像的尺寸相同,从而能够基于边缘分割图像中每个物体的边缘位置,准确的确定待识别图像中每个物体的边缘位置。
在一些实施例中,所述边缘分割图像为二值化掩模图像,所述边缘分割图像中的第一像素值的像素对应所述待识别图像中的每个物体的边缘的像素,所述边缘分割图像中的第二像素值的像素对应所述待识别图像中的每个物体的非边缘的像素。
这样,通过边缘分割图像为二值化掩模图像,从而能够基于二值化掩模图像中的每一个像素点的是第一像素值或第二像素值,确定每一个像素点是否为物体序列中每个物体的边缘,从而能够容易的确定物体序列中每个物体的边缘。
在一些实施例中,所述基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,包括:将所述待识别图像输入至经过训练的边缘检测模型中,得到所述物体序列中的每个物体的边缘检测结果,其中,所述边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到;根据所述边缘检测结果生成所述物体序列的边缘分割图像。
这样,基于经过训练的边缘检测模型,确定待识别图像中物体序列中每个物体的边缘检测结果,且经过训练的边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到,从而能够通过经过训练的边缘检测模型,容易且准确地确定物体序列中的每个物体的边缘检测结果。
在一些实施例中,所述对每个所述子图像进行类别识别,得到所述每个物体的类别,包括:将所述每个子图像输入至经过训练的物体分类模型中,得到对应的每个物体的类别;其中,所述物体分类模型基于单物体图像训练得出,所述单物体图像是按照所述每个物体的边缘检测结果对所述序列物体图像进行分割后得到的。
这样,基于经过训练的物体分类模型,确定物体序列中每个物体的类别,且经过训练的物体分类模型基于单物体图像训练得出,从而能够通过经过训练的物体分类模型,容易且准确地确定物体序列中每个物体的类别。
在一些实施例中,所述物体具有与类别对应的价值属性;所述方法还包括:基于所述每个物体的类别和对应的价值属性,确定所述物体序列中物体的总价值。
这样,由于基于每个物体的类别和对应的价值属性,确定物体序列中物体的总价值,从而可以方便的统计堆叠物体的总价值,例如方便对堆叠的游戏币的总价值进行检测和确定。
第二方面,提供一种堆叠物体的识别装置,包括:获取单元,用于获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;确定单元,用于基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;识别单元,用于基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
在一些实施例中,所述识别单元,还用于:基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像;对每个所述子图像进行类别识别,得到所述每个物体的类别。
在一些实施例中,所述识别单元,还用于:基于所述形成所述物体序列的每个物体的边缘信息,确定所述每个物体在所述待识别图像中的第一位置信息;基于所述第一位置信息,对所述待识别图像中所述每个物体进行切割,得到所述每个子图像。
在一些实施例中,所述识别单元,还用于:对每个所述子图像进行类别识别,得到至少两个类别和与所述至少两个类别中的每个类别一一对应的至少两个置信度;在所述至少两个置信度中,最高置信度与第二高置信度之间的差值大于阈值的情况下,将所述最高置信度所对应的类别,确定为与所述子图像对应的物体的类别。
在一些实施例中,所述识别单元,还用于以下至少之一:
在所述差值小于或等于所述阈值,且所述最高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述第二高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别均不同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
在一些实施例中,所述边缘分割图像包括表征每个物体的边缘信息的掩模图像,和/或,所述边缘分割图像与所述待识别图像的尺寸相同。
在一些实施例中,所述边缘分割图像为二值化掩模图像,所述边缘分割图像中的第一像素值的像素对应所述待识别图像中的每个物体的边缘的像素,所述边缘分割图像中的第二像素值的像素对应所述待识别图像中的每个物体的非边缘的像素。
在一些实施例中,所述确定单元,还用于:将所述待识别图像输入至经过训练的边缘检测模型中,得到所述物体序列中的每个物体的边缘检测结果,其中,所述边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到;根据所述边缘检测结果生成所述物体序列的边缘分割图像。
在一些实施例中,所述识别单元,还用于:将所述每个子图像输入至经过训练的物体分类模型中,得到对应的每个物体的类别;其中,所述物体分类模型基于单物体图像训练得出,所述单物体图像是按照所述每个物体的边缘检测结果对所述序列物体图像进行分割后得到的。
在一些实施例中,所述物体具有与类别对应的价值属性;所述确定单元,还用于:基于所述每个物体的类别和对应的价值属性,确定所述物体序列中物体的总价值。
第三方面,提供一种堆叠物体的识别设备,包括:存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中的步骤。
第四方面,提供一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述方法中的步骤。
本公开实施例中,由于基于待识别图像和边缘分割图像,识别物体序列中每个物体的类别,从而不仅考虑到基于边缘分割图像确定的每个物体的边缘信息,还考虑到待识别图像中物体序列中每个物体自身的特征信息,从而使得确定的待识别图像中的物体序列中每个物体的类别的准确度高。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开实施例提供的一种堆叠物体的识别系统的结构示意图;
图2为本公开实施例提供的一种堆叠物体的识别方法的实现流程示意图;
图3为本公开实施例提供的另一种堆叠物体的识别方法的实现流程示意图;
图4为本公开实施例提供的又一种堆叠物体的识别方法的实现流程示意图;
图5为本公开实施例提供的再一种堆叠物体的识别方法的实现流程示意图;
图6为本公开实施例提供的一种堆叠物体的识别方法的流程框架示意图;
图7为本公开实施例提供的一种堆叠物体的识别装置的组成结构示意图;
图8为本公开实施例提供的一种堆叠物体的识别设备的硬件实体示意图。
具体实施方式
下面将通过实施例并结合附图具体地对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
需要说明的是:在本公开实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
本公开实施例中的至少一个、至少一帧,可以分别指的是一个或至少两个、一帧或至少两帧。本公开实施例中的多个、多帧,可以分别指的是至少两个、至少两帧。在本公开实施例中的至少一帧图像,可以是连续拍摄的图像,或者,可以是非连续拍摄的图像。图像的数量可以基于实际情况确定,本公开实施例对此不作限制。
为了解决通过人工确定堆叠构成的物体序列中每个物体的类别,而造成人力资源浪费的问题,提出了采用计算机视觉的方式来识别物体序列中的每个物体,例如,提出以下两种解决方案:
第一种:在得到针对物体序列进行拍摄的图像后,首先可以采用卷积神经网络(Convolutional Neural Networks,CNN)提取图像特征,然后使用循环神经网络(Recurrent Neural Network,RNN)对特征进行序列建模,接着利用时序类数据分类算法(Connectionist Temporal Classification,CTC)损失函数,对每个特征切片进行类别预测和去重,得到输出结果,基于该输出结果能够确定物体序列中每个物体的类别。然而,该方法的主要问题是RNN序列建模部分训练耗时,且模型只能用CTC损失(loss)单独监督,预测效果有限。
第二种:在得到针对物体序列进行拍摄的图像后,首先可以采用卷积神经网络提取图像特征,然后结合视觉注意力机制生成注意力中心,对每个注意力中心预测相应的结果并忽略其他多余的信息。然而,该方法的主要问题在于注意力机制对计算量与内存使用要求较高。
因此,对于堆叠构成的物体序列中每个物体的识别问题,并未有相关算法专门地进行解决。虽然上述的两种方法都可以运用到物体序列识别中,但由于物体序列通常序列长度较长,形成堆叠物的物体在外形上比较类似,堆叠物体的物体数量不确定,使用上述的两种方法均无法达到高准确度的预测物体序列中每个物体的类别。
图1为本公开实施例提供的一种堆叠物体的识别系统的结构示意图,如图1所示,该堆叠物体的识别系统100可以包括:摄像头组件101、堆叠物体的识别设备102以及管理系统103。
在一些实施方式中,摄像头组件101可以包括多个摄像头,多个摄像头可以从不同的角度针对用于放置物体的表面进行拍摄,用于放置物体的表面可以是游戏桌或置物台的表面等,一个摄像头组件101可以与一个用于放置物体的表面对应。例如,摄像头组件101可以包括三个摄像头,第一摄像头可以为鸟瞰摄像头,第一摄像头可以架设在用于放置物体的表面的顶部。第二摄像头和第三摄像头分别架设在用于放置物体的表面的侧部,且第二摄像头和第三摄像头之间的夹角为设定夹角,例如,设定夹角可以在30度至120之间,设定夹角可以为30度、60度、90度或120度等。第二摄像头和第三摄像头可以设置在用于放置物体的表面上,以从侧视视角拍摄到用于放置物体的表面上物体和玩家的情况。
在一些实施方式中,堆叠物体的识别设备102可以仅对应一个摄像头组件101,这样,一个堆叠物体的识别设备102可以对应一个用于放置物体的表面。在另一些实施方式中,堆叠物体的识别设备102可以对应多个摄像头组件101,这样,一个堆叠物体的识别设备102可以对应多个用于放置物体的表面。堆叠物体的识别设备102和用于放置物体的表面可以均设置在指定空间(例如游戏场所)中。例如,堆叠物体的识别设备102可以是边端设备,堆叠物体的识别设备102可以与指定空间中的服务器连接,以使服务器能够对边端设备进行控制,且不影响服务器原先的结构和功能。在另一些实施方式中,堆叠物体的识别设备102可以是指定空间中的服务器,或者设置在云端。
摄像头组件101可以与堆叠物体的识别设备102通信连接。在一些实施方式中,摄像头组件101可以周期性或非周期性的拍摄实时图像,并将拍摄的实时图像发送给堆叠物体的识别设备102。例如,在摄像头组件101包括多个摄像头的情况下,多个摄像头可以每隔目标的时长拍摄一次实时图像,并将拍摄的实时图像发送给堆叠物体的识别设备102。其中,多个摄像头可以同时或不同时拍摄实时图像。在另一些实施方式中,摄像头组件101可以拍摄实时视频,并将实时视频发送给堆叠物体的识别设备102。例如,在摄像头组件101包括多个摄像头的情况下,多个摄像头可以分别将拍摄的实时视频发送给堆叠物体的识别设备102,以使堆叠物体的识别设备102从实时视频中截取实时图像。每次从多个实时视频中分别截取的实时图像可以是时间相同的实时图像,本公开实施例中的实时图像可以是下述的任一个图像或多个图像。在其它实施例中,堆叠物体的识别设备102可以从其它视频源中获取图像或视频,获取的图像或视频可以是实时的,或者,是预先存储的。
堆叠物体的识别设备102可以基于实时图像,对指定空间中的用于放置物体的表面上的物体,以及位于用于放置物体的表面旁边的对象(例如游戏参与者,包括游戏控制者和/或玩家)的行为进行分析,以确定对象的行为是否符合规定或者是否正当。
堆叠物体的识别设备102可以与管理系统103通信连接。管理系统可以包括显示设备。在堆叠物体的识别设备102确定到对象的行为不正当的情况下,堆叠物体的识别设备102可以向行为不正当的对象所对应的,且用于放置物体的表面上设置的管理系统103发送告警信息,以使得管理系统103能够发出与该告警信息对应的告警。
在图1对应的实施例中,示出的是摄像头组件101、堆叠物体的识别设备102以及管理系统103分别是独立的,但是在其它实施例中,摄像头组件101和堆叠物体的识别设备102可以集成在一起,或者,堆叠物体的识别设备102和管理系统103可以集成在一起,或者,摄像头组件101、堆叠物体的识别设备102以及管理系统103集成在一起。
本公开实施例中的堆叠物体的识别方法可以应用在游戏、娱乐、竞技场景下,物体可以包括该场景下的游戏币、游戏牌、游戏筹码等,本公开对此不作具体限定。
图2为本公开实施例提供的一种堆叠物体的识别方法的实现流程示意图,如图2所示,该方法应用于堆叠物体的识别装置,该方法包括:
S201、获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列。
在一些实施方式中,堆叠物体的识别装置可以包括堆叠物体的识别设备。在另一些实施方式中,堆叠物体的识别装置可以包括处理器或芯片,处理器或芯片可以应用于堆叠物体的识别设备中。其中,堆叠物体的识别设备可以包括以下之一或者至少两者的组合:服务器、手机(Mobile Phone)、平板电脑(Pad)、带无线收发功能的电脑、掌上电脑、台式计算机、个人数字助理、便捷式媒体播放器、智能音箱、导航装置、智能手表、智能眼镜、智能项链等可穿戴设备、计步器、数字TV、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(Industrial Control)中的无线终端、无人驾驶(Self Driving)中的无线终端、远程手术(Remote Medical Surgery)中的无线终端、智能电网(Smart Grid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(Smart City)中的无线终端、智慧家庭(Smart Home)中的无线终端、车联网系统中的车、车载设备、车载模块等等。
架设在用于放置物体的表面的侧部的摄像头,可以针对物体序列进行拍摄得到拍摄图像,摄像头可以每隔设定时长进行一次拍摄,拍摄图像可以是摄像头当前拍摄的图像,或者,摄像头可以拍摄视频,拍摄图像可以是从视频中截取出的图像。待识别图像可以是基于拍摄图像确定的。在有一个摄像头针对物体序列进行拍摄的情况下,可以将该一个摄像头拍摄的图像确定为拍摄图像。在有至少两个摄像头针对物体序列进行拍摄的情况下,可以将该至少两个摄像头拍摄的图像分别确定为至少两帧拍摄图像。待识别图像可以包括一帧图像或者至少两帧图像,至少两帧图像可以是分别是基于至少两帧拍摄图像确定的。在另一些实施例中,待识别图像可以是从其它视频源中获取的图像确定的,例如,获取的图像可以是视频源中直接存储的,或者,获取的图像可以是从视频源中存储的视频中截取的。
在一些实施方式中,可以直接将拍摄图像或者获取的图像,确定为待识别图像。
在另一些实施方式中,可以对拍摄图像或者获取的图像进行以下至少之一的处理,得到待识别图像:缩放处理、裁剪处理、去噪处理、添加噪声处理、灰度处理、旋转处理、归一化处理。
在又一些实施方式中,可以对拍摄图像或者获取的图像进行物体检测,得到物体的检测框(例如矩形框),基于物体的检测框对拍摄图像进行裁剪,得到待识别图像。例如,在一个拍摄图像中包括一个物体序列的情况下,基于该一个拍摄图像确定一个识别图像。再例如,在一个拍摄图像中包括至少两个物体序列的情况下,基于该一个拍摄图像可以确定一个识别图像,该一个识别图像中包括至少两个物体序列,或者,基于该一个拍摄图像可以确定与至少两个物体序列一一对应的至少两个待识别图像。在其它实施方式中,可以先对拍摄图像进行以下至少之一的处理后在进行裁剪,或者,可以在对拍摄图像裁剪后进行以下至少之一的处理,得到待识别图像:缩放处理、裁剪处理、去噪处理、添加噪声处理、灰度处理、旋转处理、归一化处理。
在再一些实施方式中,待识别图像从拍摄图像或者获取的图像中截取得到,并且待识别图像中的物体序列的至少一个边缘可以分别与待识别图像的至少一个边缘对齐,例如,待识别图像中的物体序列的某一个或各个边缘分别与待识别图像的某一个或各个边缘对齐。
本公开实施例中的物体序列可以是一个或至少两个,至少一个物体可以堆叠构成一个物体序列或至少两个物体序列,每一个物体序列可以是指沿着一个堆叠方向堆叠构成的一摞物体。一个物体序列可以是包括规则堆叠的物体或者包括不规则堆叠的物体。
本公开实施例中的物体可以包括片状物、块状物和袋装物等中的至少之一。物体序列中的物体可以包括形态相同的物体或者不同形态的物体。物体序列中任相邻的两个物体之间可以直接接触,例如,一个物体放置在另一个物体上;或者,物体序列中任相邻的两个物体之间可以通过其它物体粘结,其它物体包括胶水或粘结剂等任一种具有粘接作用的物体。
在物体包括片状物体的情况下,片状物体是具有一个厚度的物体,物体的厚度方向可以为物体的堆叠方向。
物体序列中的至少一个物体在沿着堆叠方向的一面(或者称为侧面)具有设定的用于标识其类别的外观标识。本公开实施例中,待识别图像的物体序列中的不同物体的侧面上可以具有不同的外观标识,用以区分不同的物体。外观标识可以包括尺寸、颜色、图案、纹理、表面的文字等中的至少一种。物体的侧面可以与堆叠方向(或者物体的厚度方向)平行。
物体序列中的物体可以是圆柱状、棱柱、圆台、棱台或其它规则或不规则的片状物体。在一些实施场景中,物体序列中的物体可以是游戏币。物体序列可以为多个游戏币在纵向上或者在水平方向上堆叠形成,由于不同类型的游戏币具有不同的币值或面值,而不同币值的游戏币的大小、颜色、花纹、币值符号中的至少一种会存在不同,本公开实施例可以根据得到的包括至少一个游戏币的待识别图像,检测待识别图像中的每个游戏币对应的币值的类别,得到游戏币的币值分类结果。在一些实施例中,游戏币可以包括游戏筹码,游戏币的币值可以包括筹码的码值。
S202、基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息。
在一些实施例中,基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,可以包括:将待识别图像输入至边缘分割模型(或者称边缘分割网络)中,通过边缘分割模型对待识别图像中的物体序列进行边缘检测,通过边缘分割模型输出物体序列的边缘分割图像。其中,边缘分割网络可以为针对物体序列中每个物体的边缘的分割模型。
本申请实施例中的边缘分割模型可以是经过训练的边缘分割模型。例如,可以通过训练样本对初始的边缘分割模型进行训练,确定经过训练的边缘分割模型。训练样本中可以包括多个带标注的图像,每个带标注的图像中包括物体和对于每一物体的边界轮廓的标注信息,或者,每个带标注的图像中包括物体序列和物体序列中对于每一物体的边界轮廓的标注信息。
边缘分割网络可以包括以下之一:基于更丰富特征的边缘检测(RicherConvolutional Features for Edge Detection,RCF)网络、整体嵌套的边缘检测(holistically-nested edge detection,HED)网络、Canny边缘检测网络,以及这些网络的演进网络等。
边缘分割图像的像素尺寸可以与待识别图像的像素尺寸相同,例如,待识别图像的像素尺寸为800×600或者800×600×3的情况下,其中,800为待识别图像在宽度方向上的像素尺寸,600为待识别图像在高度方向上的像素尺寸,3为待识别图像的通道数,通道包括红绿蓝(RGB)三通道,边缘分割图像的像素尺寸为800×600。
对待识别图像进行边缘分割的目的是,对待识别图像中的每个像素进行二分类,确定待识别图像中每个像素是否属于物体的边缘像素。在待识别图像中某一个像素属于物体的边缘(edge)像素的情况下,可以将边缘分割图像中对应像素的标识值确定为第一值,在待识别图像中某一个像素不属于物体的边缘像素的情况下,可以将边缘分割图像中对应像素的标识值确定为第二值。第一值和第二值不同。第一值可以是1,第二值可以是0;或者,第一值可以是0,第二值可以是1。这样,边缘分割图像中每一像素的标识值为第一值或第二值,从而可以基于边缘分割图像中第一值和第二值的位置,确定待识别图像物体序列中每一物体的边缘。在一些实施方式中,边缘分割图像可以称为边缘掩膜(Edge mask)。
S203、基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
通过边缘分割图像,可以得到物体序列中每个物体的边缘,从而通过结合边缘分割图像和待识别图像,可以得到每个物体的边缘对应在待识别图像中所限定的区域,进而通过确定待识别图像中每个限定的区域中物体的类别,识别得到物体序列中每个物体的类别。
在一些实施方式中,可以对待识别图像中每个所限定的区域进行图像分类,得到每个区域中物体的类别。例如,可以通过分类神经网络确定每个区域的类别。
在另一些实施方式中,可以通过特征物检测,以检测每个区域中存在的特征物,基于检测到的特征物确定每个区域的类别。其中,特征物可以包括具有设定形状、设定颜色、设定纹理、设定大小、设定数量中至少一者的物体。
在又一些实施方式中,可以对待识别图像中每个所限定的区域进行图像的语义分割,得到语义分割后的图像,基于语义分割后的图像,确定每个区域中物体的类别。例如,可以对待识别图像中每个所限定的区域的每一像素,通过语义分割模型进行分类,得到语义分割后的图像,基于语义分割后的图像确定每一像素属于的物体类别,从而确定每个所限定的区域的类别。例如可以将每个所限定的区域中,最多像素点所对应的类别确定为每个所限定的区域的类别。
在本公开实施例中,通过边缘分割图像,还可以得到待识别图像的物体序列中物体的数量。
在物体为游戏币的情况下,不同类别的物体可以是指游戏币的价值(或者面值)不同。
在一些实施方式中,堆叠物体的识别装置在得到物体序列中每个物体的类别的情况下,可以输出物体序列中每个物体的类别,或者,可以输出物体序列中每个物体的类别所对应的标识值。在一些实施方式中,每个物体的类别所对应的标识值可以是该物体的价值。在物体为游戏币的情况下,每个物体的类别可以用游戏币的价值表示。
例如,可以向管理系统输出每个物体的类别或者每个物体的类别所对应的标识值,以使管理系统显示。再例如,可以向堆叠物体的识别设备中的行为分析装置,输出每个物体的类别或者每个物体的类别所对应的标识值,以使行为分析装置可以基于每个物体的类别或者每个物体的类别所对应的标识值,确定用于放置物体的表面周围的对象的行为是否符合规范。
在一些实施方式中,行为分析装置可以确定每一放置区域的游戏币的数量和/或总价值增多或减少,其中,放置区域可以为在用于放置物体的表面上,用于放置游戏币的区域。例如,在游戏清算阶段,确定某一放置区域中游戏币减少,且出现玩家的手的情况下,确定玩家移动了游戏币,将向管理系统输出告警,以使管理系统产生告警。
本公开实施例中,由于基于待识别图像和边缘分割图像,识别物体序列中每个物体的类别,从而不仅考虑到基于边缘分割图像确定的每个物体的边缘信息,还考虑到待识别图像中物体序列中每个物体自身的特征信息,从而使得确定的待识别图像中的物体序列中每个物体的类别的准确度高。
图3为本公开实施例提供的另一种堆叠物体的识别方法的实现流程示意图,如图3所示,该方法应用于堆叠物体的识别装置,该方法包括:
S301、获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列。
S302、基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像。
S303、基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像。
在一些实施例中,S303可以通过以下方式实现:基于所述形成所述物体序列的每个物体的边缘信息,确定所述每个物体在所述待识别图像中的第一位置信息;基于所述第一位置信息,对所述待识别图像中所述每个物体进行切割,得到所述每个子图像。
在一些实施方式中,可以基于边缘分割图像的轮廓,确定第一位置信息。例如,还可以基于边缘分割图像或者基于边缘分割图像的轮廓或边界位置,确定物体序列中物体的数量,然后基于物体序列中物体的数量,确定物体序列中每个物体在边缘分割图像或待识别图像中的第一位置信息。
在得到物体序列中物体的数量之后,可以输出该物体序列中物体的数量。例如,可以向管理系统或者分析装置输出物体序列中物体的数量,以使管理系统显示,或者,以使分析装置基于物体序列中物体的数量,确定对象的行为是否符合规范。
在一些实施方式中,无论不同类别的物体的尺寸相同或不同,可以基于边缘分割图像,能够确定物体序列中每一物体的轮廓或边界位置,基于每一物体的轮廓或边界位置,确定物体序列中物体的数量信息。
在另一些实施方式中,在不同类别的物体尺寸相同的情况下,可以基于边缘分割图像中确定物体序列的总高度和任一物体的宽度,由于一个物体的高度和宽度的比值是固定的,从而可以基于物体序列的总高度和任一物体的宽度,确定物体序列中物体的数量信息。
在又一些实施方式中,在不同类别的物体尺寸相同的情况下,可以基于边缘分割图像中确定物体序列的总高度和拍摄参数,由于在同一拍摄参数下物体序列中的每个物体的高度是恒定的,从而可以基于物体序列的总高度和拍摄参数,确定物体序列中物体的数量信息。
在待识别图像是一帧图像的情况下,可以基于一帧待识别图像得到一帧边缘分割图像,基于一帧边缘分割图像,确定物体序列中物体的数量信息。
在待识别图像是至少两帧图像的情况下,至少两帧待识别图像可以基于至少两帧拍摄图像得到,至少两帧拍摄图像可以是同一时刻在不同的角度针对物体序列进行拍摄得到的,可以基于至少两帧待识别图像得到对应的至少两帧边缘分割图像,基于至少两帧边缘分割图像,确定物体序列中物体的数量信息。在另一些实施例中,可以对至少两帧待识别图像进行拼接,得到拼接图像,基于拼接图像对应的边缘分割图像,确定物体序列中物体的数量信息。
第一位置信息可以是一维坐标信息或者二维坐标信息。在一些实施方式中,每个物体在边缘分割图像或待识别图像中的第一位置信息,可以包括:在边缘分割图像或待识别图像中,每个物体的边缘在堆叠方向上的起始位置信息和/或结束位置信息。在另一些实施方式中,每个物体在边缘分割图像或待识别图像中的第一位置信息,可以包括:在边缘分割图像或待识别图像中,每个物体的边缘在堆叠方向上的起始位置信息和结束位置信息,以及每个物体的边缘在垂直于堆叠方向的方向上的起始位置信息和结束位置信息。
例如,可以以边缘分割图像的宽度方向为x轴,以边缘分割图像的高度方向为y轴,堆叠方向可以是y轴方向,每个物体的边缘在堆叠方向上的起始位置信息和结束位置信息,可以为y轴上的坐标信息,或者,可以为x轴和y轴方向上的坐标信息。在另一些实施方式中,每个物体在边缘分割图像或待识别图像中的第一位置信息,可以包括:每个物体的边缘或者每个物体的边缘上的关键点,在边缘分割图像或待识别图像中的位置信息。
每个子图像可以是矩形。在一些实施方式中,对每个物体进行切割得到的每个图像为矩形,然后将每个矩形图像确定为每个子图像。在另一些实施方式中,每个物体进行切割得到的每个图像为非矩形(例如,存在至少一个边为弧形),然后对每个非矩形图像进行像素填充和/或拉伸处理,得到每个矩形的子图像。
在一些实施方式中,任两个子图像的图像尺寸可以相同。在另一些实施方式中,多个不同的子图像的图像尺寸可以不同。子图像的输入尺寸可以与能够输入至网络的尺寸相同。在某个子图像的尺寸与能够输入至网络的尺寸不同的情况下,可以对该子图像进行尺寸变换处理,使得尺寸变换处理后的子图像尺寸与能够输入至网络的尺寸相同。
通过这种方式,由于先基于形成物体序列的每个物体的边缘信息,确定每个物体在待识别图像中的第一位置信息,然后再基于第一位置信息对待识别图像的物体序列中每个物体进行切割,得到每个子图像,从而能够基于第一位置信息,准确的定位到物体序列中每个物体在边缘分割图像的位置信息,进而基于第一位置信息对待识别图像的物体序列进行切割得到的每个子图像,能够准确地匹配物体序列中每一个物体,从而能够准确地确定出物体序列中每一个物体的类别。
S304、对每个所述子图像进行类别识别,得到所述每个物体的类别。
在一些实施方式中,S304可以通过以下方式实现:对每个所述子图像进行类别识别,得到至少两个类别和与所述至少两个类别中的每个类别一一对应的至少两个置信度;在所述至少两个置信度中,最高置信度与第二高置信度之间的差值大于阈值的情况下,将所述最高置信度所对应的类别,确定为与所述每个子图像对应的物体的类别。
例如,可以通过分类网络(或称分类模型)对每个子图像进行类别识别。分类网络可以包括卷积神经网络(Convolutional Neural Network,CNN)。卷积神经网络可以包括以下之一:AlexNet、GoogLeNet、ResNet、LeNet、超分辨率测试序列(Visual Geometry Group,VGG)、生成式对抗网络(Generative Adversarial Networks,GAN)、区域卷积神经网络(Region-CNN,R-CNN)等。
再例如,可以通过检测网络对每个子图像进行特征检测,基于检测到的特征确定每个子图像的类别。示例性的,针对一个子图像,检测网络在检测到具有第一类别的特征的情况下,确定第一类别的特征所对应的像素点占子图像的所有像素点的第一比值,基于第一比值确定第一置信度;检测网络在检测到具有第二类别的特征的情况下,确定第二类别的特征所对应的像素点占子图像的所有像素点的第二比值,基于第二比值确定第二置信度;直到确定子图像存在的所有类别,以及每一类别对应的置信度。在一些实施方式中,第一置信度可以是最高置信度,第二置信度可以为第二高置信度。在一些实施场景中,第一类别具有的特征可以是至少一个粉色的矩形;第二类别的特征可以是至少一个棕色的矩形。
在一些实施方式中,堆叠物体的识别装置中可以包括一个目标网络(本公开实施例中的目标网络可以是分类网络或检测网络),一个目标网络可以依次对每个子图像进行处理,以得到每个子图像的至少两个类别和对应的至少两个置信度。在另一些实施例中,堆叠物体的识别装置中可以包括至少两个目标网络,至少两个目标网络可以并行对基于切割得到的子图像进行处理,以得到每个子图像的至少两个类别和对应的至少两个置信度。其中,至少两个目标网络可以相同(包括网络结构相同和网络参数相同)。这样,通过至少两个目标网络对基于切割得到的子图像并行处理,可以极大地加快确定物体序列中每个物体的类别的速度。例如,堆叠物体的识别装置中可以包括5个目标网络的情况下,对所述待识别图像中所述每个物体进行切割,得到10个子图像,从而5个目标网络可以并行对前5个子图像进行处理,再对后5个子图像进行处理。
这样,在最高置信度与第二高置信度之间的差值大于阈值的情况下,将最高置信度所对应的类别,确定为与子图像对应的物体的类别,从而能够准确地确定物体序列中每个物体的类别。
在本公开实施例中,由于基于边缘分割图像,对待识别图像的物体序列中每个物体进行切割,得到每个物体对应的子图像,对每个子图像进行类别识别,从而能够获取到每个子图像对应的类别,进而基于每个子图像对应的类别,能够准确地确定物体序列中每个物体的类别。
在一些实施方式中,所述方法还可以包括:在所述至少两个置信度中,所述最高置信度与所述第二高置信度之间的差值小于或等于所述阈值的情况下,输出最高置信度所对应的类别和第二高置信度所对应的类别,例如,堆叠物体的识别装置可以向管理系统输出最高置信度所对应的类别和第二高置信度所对应的类别,以使游戏管理者可以通过管理系统选择正确的类别。例如,管理系统可以输出至少一个物体在物体序列中的位置,以及每个物体的最高置信度所对应的类别、第二高置信度所对应的类别以及其它类别,以使游戏管理者选择每个物体的正确类别,之后管理系统可以向堆叠物体的识别装置输出正确的类别。在一些实施方式中,堆叠物体的识别装置可以基于正确的类别对目标模型进行训练。
通过这种方式,游戏控制者可以辅助堆叠物体的识别装置进行物体序列中每个物体的类别判断,从而能够提高确定的物体序列中每个物体的类别的准确性。
在一些实施例中,在对所述每个子图像进行类别识别,得到至少两个类别和与所述至少两个类别分别对应的至少两个置信度,确定最高置信度与第二高置信度之间的差值之后,堆叠物体的识别方法还可以包括以下步骤:在所述差值小于或等于所述阈值,且所述最高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述第二高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
每个子图像相邻的一个或两个子图像,是基于每个子图像在物体序列中的位置确定的,例如,在某一个子图像对应的物体在物体序列的端部的情况下(例如,某一个子图像对应的物体为物体序列中的最底下的一个或者最顶上的一个),确定该子图像具有相邻的一个子图像。在其它情况下,确定该子图像存在相邻的两个子图像,从而可以确定与该子图像相邻的一个或两个子图像的类别。
在另一些实施例中,在对所述每个子图像进行类别识别,得到至少两个类别和与所述至少两个类别分别对应的至少两个置信度,确定最高置信度与第二高置信度之间的差值之后,堆叠物体的识别方法还可以包括以下步骤:在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
在又一些实施例中,在对所述每个子图像进行类别识别,得到至少两个类别和与所述至少两个类别分别对应的至少两个置信度,确定最高置信度与第二高置信度之间的差值之后,堆叠物体的识别方法还可以包括以下步骤:在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别均不同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
在本公开实施例中,在差值小于或等于阈值的情况下,如果基于每个子图像确定的最高置信度对应的类别,与该每个子图像相邻的两个子图像的类别相同的情况下,将第二高置信度对应的类别确定为每个子图像对应的物体的类别;如果基于每个子图像确定的第二高置信度对应的类别,与该每个子图像相邻的两个子图像的类别相同的情况下,将最高置信度对应的类别确定为每个子图像对应的物体的类别,从而能够去除每个子图像的相邻的子图像,对该每个子图像的类别判断产生的影响;以及如果第二高置信度对应的类别,与每个子图像相邻的两个子图像的类别均不同的情况下,将最高置信度对应的类别,确定为与每个子图像对应的物体的类别,从而能够准确地确定每个子图像对应的物体的类别。
在一些实施例中,所述边缘分割图像包括表征每个物体的边缘信息的掩模图像,和/或,所述边缘分割图像与所述待识别图像的尺寸相同。
本申请实施例中,所述边缘分割图像与所述待识别图像的尺寸相同,可以为边缘分割图像与待识别图像的像素尺寸相同。即,边缘分割图像与待识别图像中在宽度方向和高度方向上的像素点的数量相同。
这样,通过边缘分割图像包括表征每个物体的边缘信息的掩模图像,从而基于掩膜图像能够容易地确定每个物体的边缘信息,以及由于边缘分割图像与待识别图像的尺寸相同,从而能够基于边缘分割图像中每个物体的边缘位置,准确的确定待识别图像中每个物体的边缘位置。
在一些实施例中,所述边缘分割图像为二值化掩模图像,所述边缘分割图像中的第一像素值的像素对应所述待识别图像中的每个物体的边缘的像素,所述边缘分割图像中的第二像素值的像素对应所述待识别图像中的每个物体的非边缘的像素。
边缘分割图像的像素尺寸可以为N×M,即边缘分割图像可以包括N×M个像素点,N×M个像素点中每个像素点的像素值为第一像素值或第二像素值。例如,在第一像素值为0,第二像素值为1的情况下,像素值为0的像素为每个物体的边缘的像素,像素值为1的像素为每个物体的非边缘的像素。每个物体的非边缘的像素可以包括物体序列中每个物体的没有处于边缘的像素,以及还可以包括物体序列的背景像素。
这样,通过边缘分割图像为二值化掩模图像,从而能够基于二值化掩模图像中的每一个像素点的是第一像素值或第二像素值,确定每一个像素点是否为物体序列中每个物体的边缘,从而能够容易的确定物体序列中每个物体的边缘。
图4为本公开实施例提供的又一种堆叠物体的识别方法的实现流程示意图,如图4所示,该方法应用于堆叠物体的识别装置,该方法包括:
S401、获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列。
S402、将所述待识别图像输入至经过训练的边缘检测模型中,得到所述物体序列中的每个物体的边缘检测结果。
其中,所述边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到。
边缘检测结果包括待识别图像中每个像素是否属于物体的边缘像素的结果。
S403、根据所述边缘检测结果生成所述物体序列的边缘分割图像。
边缘分割图像中每一个像素点的像素值可以为第一像素值或第二像素值,在某一个像素点的像素值为第一像素值的情况下,表征该像素点为物体的边缘像素点;在某一个像素点的像素值为第二像素值的情况下,表征该像素点为非物体边缘点。非物体边缘点可以是物体内部的点或物体序列的背景上的点。
S404、基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
在一些实施例中,S404可以通过以下方式实现:基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像;对每个所述子图像进行类别识别,得到所述每个物体的类别。
其中,所述对每个所述子图像进行类别识别,得到所述每个物体的类别,包括:将所述每个子图像输入至经过训练的物体分类模型中,得到对应的每个物体的类别;其中,所述物体分类模型基于单物体图像训练得出,所述单物体图像是按照所述每个物体的边缘检测结果对所述序列物体图像进行分割后得到的。
单物体图像中可以包括一个物体。在一些实施例中,单物体图像上可以仅存在一个物体。在另一些实施例中,单物体图像上不仅可以存在一个物体,还可以存在一些背景和/或遮挡。
经过训练的物体分类模型,可以是通过多个单物体图像对初始物体分类模型进行训练得到的。
单物体图像可以通过以下方式确定:获取对物体序列拍摄的图像,对拍摄图像中的物体序列中每个物体进行切割,以确定每个物体对应的单物体图像。在切割后的图像与能够输入至初始物体分类模型的图像的尺寸不同的情况下,可以对切割后的图像进行尺寸变换,以得到与能够输入至初始物体分类模型的图像的尺寸相同的单物体图像。即单物体图像与能够输入至初始物体分类模型的图像的尺寸相同。
在一些实施例中,对拍摄的图像中的物体序列中每个物体进行切割的方式可以包括:任何能够用于显示的显示设备显示拍摄图像,用户针对显示的拍摄图像进行操作,以对物体序列中每个物体进行切割。在本申请实施例中,每个物体的边缘检测结果可以是人工确定的检测结果。
在一些实施例中,在获取到拍摄图像的情况下,可以对拍摄图像进行以下至少之一的处理:缩放处理、裁剪处理、去噪处理、添加噪声处理、灰度处理、旋转处理、归一化处理,得到处理后的图像,对处理后的图像中的每个物体进行切割。
通过这种方式,基于经过训练的物体分类模型,确定物体序列中每个物体的类别,且经过训练的物体分类模型基于单物体图像训练得出,从而能够通过经过训练的物体分类模型,容易且准确地确定物体序列中每个物体的类别。
在本申请实施例中,基于经过训练的边缘检测模型,确定待识别图像中物体序列中每个物体的边缘检测结果,且经过训练的边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到,从而能够通过经过训练的边缘检测模型,容易且准确地确定物体序列中的每个物体的边缘检测结果。
本申请实施例还可以提供一种堆叠物体的识别方法,该方法包括:获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;所述待识别图像包括至少两帧图像;基于所述至少两帧图像,确定每个所述图像中所述物体序列的边缘分割图像;确定所述至少两帧图像分别对应的至少两帧边缘分割图像中,每个边缘分割图像的物体的数量;将最大数量所对应的边缘分割图像中物体的数量,确定为所述物体序列中物体的数量;基于所述最大数量对应的所述图像和所述最大数量对应的边缘分割图像,识别所述物体序列中每个物体的类别。
在一些实施方式中,至少两帧图像中的每一帧图像可以是针对物体序列进行拍摄得到的。在一些实施方式中,可以确定至少两帧图像中每一帧图像对应的每一边缘分割图像。例如,在至少两帧图像包括图像A和图像B的情况下,可以基于图像A确定边缘分割图像A,基于图像B确定边缘分割图像B。
在至少两帧边缘分割图像包括边缘分割图像A和边缘分割图像B的情况下,基于边缘分割图像A确定的物体序列中物体的数量为10,基于边缘分割图像B确定的物体序列中物体的数量为20,则确定20为物体序列中物体的数量。
在这种实施例中,由于将最大数量所对应的边缘分割图像中物体的数量,确定为所述物体序列中物体的数量,从而能够确定尽可能多的物体序列中的物体,进而提高了确定的物体序列中物体数量的准确性;并且,基于所述最大数量对应的所述图像和所述最大数量对应的边缘分割图像,识别所述物体序列中每个物体的类别,使得能够尽可能多的物体序列中物体的类别,提高了确定的物体序列中每个物体的类别的准确性。
本申请还可以提供一种堆叠物体的识别方法,该方法包括:获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;所述待识别图像包括至少两帧图像;基于所述至少两帧图像,确定每个所述图像中所述物体序列的边缘分割图像;对所述至少两帧图像分别对应的至少两帧边缘分割图像进行合成,得到合成图像,基于所述合成图像确定所述物体序列中物体的数量,输出所述物体序列中物体的数量。在一些实施例中,还可以对至少两帧图像进行拼接,得到拼接图像;基于拼接图像和合成图像,识别所述物体序列中每个物体的类别。
本申请还可以提供一种堆叠物体的识别方法,该方法包括:获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;所述待识别图像包括至少两帧图像;对至少两帧图像进行拼接,得到拼接图像,确定拼接图像中物体序列的边缘分割图像;基于拼接图像中物体序列的边缘分割图像确定物体序列中物体的数量,输出所述物体序列中物体的数量。在一些实施例中,还可以基于拼接图像和拼接图像中物体序列的边缘分割图像,识别所述物体序列中每个物体的类别。
例如,在至少两帧图像包括图像A和图像B的情况下,图像A的上侧中的物体被遮挡,图像B的下侧中的物体被遮挡,从而可以将图像A的下侧和图像B的上侧进行拼接,从而得到物体没有被遮挡的拼接图像。
获取对至少两帧图像进行拼接得到的拼接图像,基于拼接图像和合成图像,识别所述物体序列中每个物体的类别。
其中,基于拼接图像和合成图像识别物体序列中每个物体类别的方式,或者,基于拼接图像和拼接图像中物体序列的边缘分割图像,识别物体序列中每个物体类别的方式,可以与S203中的基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别的方式类似。
图5为本公开实施例提供的再一种堆叠物体的识别方法的实现流程示意图,如图5所示,该方法应用于堆叠物体的识别装置,该方法包括:
S501、获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列。
S502、基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像。
S503、基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
在一些实施例中,所述物体具有与类别对应的价值属性。不同的类别可以具有相同或不同的价值属性。
S504、基于所述每个物体的类别和对应的价值属性,确定所述物体序列中物体的总价值。
堆叠物体的识别装置中可以配置有物体的类别与物体的价值之间的映射关系,从而可以基于该映射关系和每个物体的类别,确定每个物体的价值属性。
在物体包括游戏币的情况下,确定的每个物体的价值可以是游戏币的面值。
可以对得到的每个物体的价值进行相加,得到物体序列中物体的总价值。
在一些实施方式,用于放置物体的表面可以包括多个放置区域,可以向多个放置区域中的至少一个放置区域放置物体,从而可以基于待识别图像,确定每个放置区域中放置的物体序列中每个物体的类别,一个放置区域可以放置一个或多个物体序列。例如,可以基于边缘分割图像和语义分割图像,确定每个放置区域中物体序列中每个物体的类别。
在得到每个放置区域中物体序列中每个物体的类别,可以确定每个放置区域中物体序列中每个物体的价值属性,然后基于每个放置区域中物体序列中每个物体的价值属性,确定每个放置区域中物体的总价值。
在一些实施方式中,通过每个放置区域中物体的总价值的变化,结合游戏参与者的动作,可以确定游戏参与者的动作是否符合规范。
在得到每个放置区域中物体的总价值的情况下,可以向管理系统输出每个放置区域中物体的总价值,以使管理系统显示。再例如,可以向堆叠物体的识别设备中的行为分析装置,输出每个放置区域中物体的总价值,以使行为分析装置可以基于每个放置区域中物体的总价值的变化,确定用于放置物体的表面周围的对象的行为是否符合规范。
在本公开实施例中,由于基于每个物体的类别和对应的价值属性,确定物体序列中物体的总价值,从而可以方便的统计堆叠物体的总价值,例如方便对堆叠的游戏币的总价值进行检测和确定。
图6为本公开实施例提供的一种堆叠物体的识别方法的流程框架示意图,如图6所示,待识别图像中可以是图像61或者包括图像61,将待识别图像输入至边缘检测网络,得到边缘分割图像,边缘分割图像可以是图像62或者包括图像62。
基于图像62能够确定物体序列中每个物体的轮廓,从而可以确定物体序列的数量以及物体序列中每个物体在图像62纵坐标(y轴上)上的起始位置和/或结束位置。在一些实施方式中,还可以得到物体序列中每个物体在图像62横坐标(x轴上)上的起始位置和结束位置。
通过图像62中每个物体在图像62纵坐标上的起始位置和结束位置,或者,通过图像62中每个物体在图像62纵坐标和横坐标上的起始位置和结束位置,可以对图像61进行分割,得到多个子图像,每个子图像可以是图像63,或者包括图像63,子图像可以仅包括物体区域,或者,子图像可以不仅包括物体区域,还包括背景区域。然后将每一个图像63输入至分类网络,以通过分类网络对每一个图像63进行分类,从而得到每一个图像63对应的物体的类别。
例如,图6示出了每一个图像63对应的物体的类别包括(6,6,6,5,,5,5)。即可以确定3个标识值为6的类别和识别出3个标识值为5的类别。
本公开实施例提供的堆叠物体的识别方法,包括边缘检测和物体分类两个部分。
在边缘检测中,利用深度学习边缘检测模型(对应上述的边缘检测网络),输入为物体序列图(对应上述的待识别图像),输出为物体边缘图(Edge mask)(对应上述的边缘分割图像)。Edge mask的大小与输入的物体序列图的大小一致,Edge mask为像素值为0或1的图片,其中像素值为1代表该像素处于物体的边缘,否则像素值为0。
在物体分类中,利用输出的Edge mask,将物体序列图根据物体边缘图中的边缘线进行切割,得到每片物体的小图(对应上述的子图像)。利用物体分类器(对应上述的分类网络)对每片物体进行类别识别。物体分类器可以为深度学习常用CNN分类器,以ResNet18作为网络基本结构,分n类,n大于或等于1,n为物体种类总数。最后将分类结果按照每片物体的位置排列,可以得到图片中物体序列的识别结果。
基于前述的实施例,本公开实施例提供一种堆叠物体的识别装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过堆叠物体的识别设备中的处理器来实现;当然也可通过具体的逻辑电路实现。
图7为本公开实施例提供的一种堆叠物体的识别装置的组成结构示意图,如图7所示,堆叠物体的识别装置700包括:获取单元701,用于获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;确定单元702,用于基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;识别单元703,用于基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
在一些实施例中,识别单元703,还用于基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像;对每个所述子图像进行类别识别,得到所述每个物体的类别。
在一些实施例中,识别单元703,还用于基于所述形成所述物体序列的每个物体的边缘信息,确定所述每个物体在所述待识别图像中的第一位置信息;基于所述第一位置信息,对所述待识别图像中所述每个物体进行切割,得到所述每个子图像。
在一些实施例中,识别单元703,还用于对每个所述子图像进行类别识别,得到至少两个类别和与所述至少两个类别中的每个类别一一对应的至少两个置信度;在所述至少两个置信度中,最高置信度与第二高置信度之间的差值大于阈值的情况下,将所述最高置信度所对应的类别,确定为与所述子图像对应的物体的类别。
在一些实施例中,识别单元703,还用于以下至少之一:
在所述差值小于或等于所述阈值,且所述最高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述第二高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别均不同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
在一些实施例中,所述边缘分割图像包括表征每个物体的边缘信息的掩模图像,和/或,所述边缘分割图像与所述待识别图像的尺寸相同。
在一些实施例中,所述边缘分割图像为二值化掩模图像,所述边缘分割图像中的第一像素值的像素对应所述待识别图像中的每个物体的边缘的像素,所述边缘分割图像中的第二像素值的像素对应所述待识别图像中的每个物体的非边缘的像素。
在一些实施例中,确定单元702,还用于将所述待识别图像输入至经过训练的边缘检测模型中,得到所述物体序列中的每个物体的边缘检测结果,其中,所述边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到;根据所述边缘检测结果生成所述物体序列的边缘分割图像。
在一些实施例中,识别单元703,还用于将所述每个子图像输入至经过训练的物体分类模型中,得到对应的每个物体的类别;其中,所述物体分类模型基于单物体图像训练得出,所述单物体图像是按照所述每个物体的边缘检测结果对所述序列物体图像进行分割后得到的。
在一些实施例中,所述物体具有与类别对应的价值属性;确定单元702,还用于基于所述每个物体的类别和对应的价值属性,确定所述物体序列中物体的总价值。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的堆叠物体的识别方法,并作为独立的产品销售或使用时,也可以存储在一个计算机存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台堆叠物体的识别设备执行本公开各个实施例所述方法的全部或部分。
图8为本公开实施例提供的一种堆叠物体的识别设备的硬件实体示意图,如图8所示,该堆叠物体的识别设备800的硬件实体包括:处理器801和存储器802,其中,存储器802存储有可在处理器801上运行的计算机程序,处理器801执行程序时实现上述任一实施例的方法中的步骤。
存储器802存储有可在处理器上运行的计算机程序,存储器802配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及堆叠物体的识别设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
处理器801执行程序时实现上述任一项的堆叠物体的识别方法的步骤。处理器801通常控制堆叠物体的识别设备800的总体操作。
本公开实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一实施例的堆叠物体的识别方法的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开存储介质和设备实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
上述堆叠物体的识别装置、芯片或处理器可以包括以下任一个或多个的集成:特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal ProcessingDevice,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、嵌入式神经网络处理器(neural-networkprocessing units,NPU)、控制器、微控制器、微处理器。可以理解地,实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。上述堆叠物体的识别装置、芯片或处理器可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本公开实施例”或“前述实施例”或“一些实施方式”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本公开实施例”或“前述实施例”或“一些实施方式”或“一些实施例”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在未做特殊说明的情况下,堆叠物体的识别装置执行本公开实施例中的任一步骤,可以是堆叠物体的识别装置的处理器执行该步骤。除非特殊说明,本公开实施例并不限定堆叠物体的识别装置执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本公开实施例中的任一步骤是堆叠物体的识别装置可以独立执行的,即堆叠物体的识别装置执行上述实施例中的任一步骤时,可以不依赖于其它步骤的执行。
在本公开的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本公开中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本公开所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本公开所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
在本公开实施例中,不同实施例中相同步骤和相同内容的说明,可以互相参照。在本公开实施例中,术语“并”不对步骤的先后顺序造成影响,例如,堆叠物体的识别装置执行A,并执行B,可以是堆叠物体的识别装置先执行A,再执行B,或者是堆叠物体的识别装置先执行B,再执行A,或者是堆叠物体的识别装置执行A的同时执行B。
值得注意的是,本公开实施例中的附图只是为了说明各个器件在堆叠物体的识别装置上的示意位置,并不代表在堆叠物体的识别装置中的真实位置,各器件或各个区域的真实位置可根据实际情况(例如,堆叠物体的识别装置的结构)作出相应改变或偏移,并且,图中的堆叠物体的识别装置中不同部分的比例并不代表真实的比例。
在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,本公开所涉及的各个实施例中,可以执行全部的步骤或者可以执行部分的步骤,只要能够形成一个完整的技术方案即可。
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种堆叠物体的识别方法,包括:
获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;
基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;
基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
2.根据权利要求1所述的方法,其中,所述基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别,包括:
基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像;
对每个所述子图像进行类别识别,得到所述每个物体的类别。
3.根据权利要求2所述的方法,其中,所述基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像,包括:
基于所述形成所述物体序列的每个物体的边缘信息,确定所述每个物体在所述待识别图像中的第一位置信息;
基于所述第一位置信息,对所述待识别图像中所述每个物体进行切割,得到所述每个子图像。
4.根据权利要求2或3所述的方法,其中,所述对所述每个子图像进行类别识别,得到所述每个物体的类别,包括:
对每个所述子图像进行类别识别,得到至少两个类别和与所述至少两个类别中的每个类别一一对应的至少两个置信度;
在所述至少两个置信度中,最高置信度与第二高置信度之间的差值大于阈值的情况下,将所述最高置信度所对应的类别,确定为与所述子图像对应的物体的类别。
5.根据权利要求4所述的方法,其中,所述方法还包括以下至少之一:
在所述差值小于或等于所述阈值,且所述最高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述第二高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别均不同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
6.根据权利要求1至5任一项所述的方法,其中,所述边缘分割图像包括表征每个物体的边缘信息的掩模图像,和/或,所述边缘分割图像与所述待识别图像的尺寸相同。
7.根据权利要求6所述的方法,其中,所述边缘分割图像为二值化掩模图像,所述边缘分割图像中的第一像素值的像素对应所述待识别图像中的每个物体的边缘的像素,所述边缘分割图像中的第二像素值的像素对应所述待识别图像中的每个物体的非边缘的像素。
8.根据权利要求2至5任一项所述的方法,其中,所述基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,包括:
将所述待识别图像输入至经过训练的边缘检测模型中,得到所述物体序列中的每个物体的边缘检测结果,其中,所述边缘检测模型基于包含物体边缘标注信息的序列物体图像训练得到;
根据所述边缘检测结果生成所述物体序列的边缘分割图像。
9.根据权利要求8所述的方法,其中,所述对每个所述子图像进行类别识别,得到所述每个物体的类别,包括:
将所述每个子图像输入至经过训练的物体分类模型中,得到对应的每个物体的类别;
其中,所述物体分类模型基于单物体图像训练得出,所述单物体图像是按照所述每个物体的边缘检测结果对所述序列物体图像进行分割后得到的。
10.根据权利要求1至9任一项所述的方法,其中,所述物体具有与类别对应的价值属性;所述方法还包括:
基于所述每个物体的类别和对应的价值属性,确定所述物体序列中物体的总价值。
11.一种堆叠物体的识别装置,包括:
获取单元,用于获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;
确定单元,用于基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;
识别单元,用于基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
12.一种堆叠物体的识别设备,包括:存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时配置为:
获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;
基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;
基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
13.根据权利要求12所述的设备,其中,在基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别时,所述处理器配置为:
基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像;
对每个所述子图像进行类别识别,得到所述每个物体的类别。
14.根据权利要求13所述的设备,其中,在基于所述边缘分割图像,对所述待识别图像的物体序列中每个物体进行切割,得到所述每个物体对应的子图像时,所述处理器配置为:
基于所述形成所述物体序列的每个物体的边缘信息,确定所述每个物体在所述待识别图像中的第一位置信息;
基于所述第一位置信息,对所述待识别图像中所述每个物体进行切割,得到所述每个子图像。
15.根据权利要求13或14所述的设备,其中,在对所述每个子图像进行类别识别,得到所述每个物体的类别时,所述处理器配置为:
对每个所述子图像进行类别识别,得到至少两个类别和与所述至少两个类别中的每个类别一一对应的至少两个置信度;
在所述至少两个置信度中,最高置信度与第二高置信度之间的差值大于阈值的情况下,将所述最高置信度所对应的类别,确定为与所述子图像对应的物体的类别。
16.根据权利要求15所述的设备,其中,所述处理器还配置为进行以下操作中至少一项:
在所述差值小于或等于所述阈值,且所述最高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述第二高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别相同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别;
在所述差值小于或等于所述阈值,且所述第二高置信度对应的类别,与所述子图像对应的第一物体在所述物体序列中相邻的两个第二物体对应的子图像的类别均不同的情况下,将所述最高置信度对应的类别,确定为与所述子图像对应的第一物体的类别。
17.根据权利要求12至16任一项所述的设备,其中,所述边缘分割图像包括表征每个物体的边缘信息的掩模图像,和/或,所述边缘分割图像与所述待识别图像的尺寸相同。
18.根据权利要求17所述的设备,其中,所述边缘分割图像为二值化掩模图像,所述边缘分割图像中的第一像素值的像素对应所述待识别图像中的每个物体的边缘的像素,所述边缘分割图像中的第二像素值的像素对应所述待识别图像中的每个物体的非边缘的像素。
19.一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序被一个或者多个处理器执行时配置为:
获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;
基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;
基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
20.一种计算机程序,包括可由电子设备执行的计算机指令,其中,所述计算机指令在被所述电子设备中的处理器执行时配置为:
获取待识别图像,所述待识别图像包括由至少一个物体堆叠构成的物体序列;
基于所述待识别图像,对所述物体序列进行边缘检测,以确定所述物体序列的边缘分割图像,其中,所述边缘分割图像包括形成所述物体序列的每个物体的边缘信息;
基于所述待识别图像和所述边缘分割图像,识别所述物体序列中每个物体的类别。
CN202180002768.0A 2021-09-21 2021-09-27 堆叠物体的识别方法、装置、设备及计算机存储介质 Pending CN116171461A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG10202110412V 2021-09-21
SG10202110412V 2021-09-21
PCT/IB2021/058781 WO2023047166A1 (en) 2021-09-21 2021-09-27 Method, apparatus and device for recognizing stacked objects, and computer storage medium

Publications (1)

Publication Number Publication Date
CN116171461A true CN116171461A (zh) 2023-05-26

Family

ID=85719329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180002768.0A Pending CN116171461A (zh) 2021-09-21 2021-09-27 堆叠物体的识别方法、装置、设备及计算机存储介质

Country Status (3)

Country Link
CN (1) CN116171461A (zh)
AU (1) AU2021240228A1 (zh)
WO (1) WO2023047166A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118038442B (zh) * 2024-02-04 2024-10-22 华中科技大学同济医学院附属同济医院 一种基于鼻咽镜成像的腺样体识别方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285034B2 (en) * 2009-08-26 2012-10-09 Bally Gaming, Inc. Apparatus, method and article for evaluating a stack of objects in an image
CN106886997A (zh) * 2015-12-15 2017-06-23 株式会社理光 识别堆叠物体的方法和装置
CN109344832B (zh) * 2018-09-03 2021-02-02 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN111062237A (zh) * 2019-09-05 2020-04-24 商汤国际私人有限公司 识别图像中的序列的方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
WO2023047166A1 (en) 2023-03-30
AU2021240228A1 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
US11830230B2 (en) Living body detection method based on facial recognition, and electronic device and storage medium
CN109325933B (zh) 一种翻拍图像识别方法及装置
WO2022083504A1 (en) Machine-learning model, methods and systems for removal of unwanted people from photographs
CN106250894B (zh) 卡片信息识别方法及装置
WO2018166525A1 (zh) 人脸防伪检测方法和系统、电子设备、程序和介质
JP2020523665A (ja) 生体検出方法及び装置、電子機器並びに記憶媒体
CN112733802B (zh) 图像的遮挡检测方法、装置、电子设备及存储介质
WO2019061658A1 (zh) 眼镜定位方法、装置及存储介质
CN111242090B (zh) 基于人工智能的人脸识别方法、装置、设备及介质
KR20160032170A (ko) 자동 이미지 크로핑 및 공유
CN106886774A (zh) 识别身份证信息的方法和装置
US20240013572A1 (en) Method for face detection, terminal device and non-transitory computer-readable storage medium
CN111539311A (zh) 基于ir和rgb双摄的活体判别方法、装置及系统
CN112651333A (zh) 静默活体检测方法、装置、终端设备和存储介质
CN112766012B (zh) 二维码图像的识别方法、装置、电子设备及存储介质
CN111325107A (zh) 检测模型训练方法、装置、电子设备和可读存储介质
CN110738607A (zh) 基于人工智能拍摄驾驶证的方法、装置、设备及存储介质
CN116171461A (zh) 堆叠物体的识别方法、装置、设备及计算机存储介质
CN116171463A (zh) 一种堆叠物体的识别方法、装置、设备及计算机存储介质
CN112257628A (zh) 一种户外比赛运动员的身份识别方法、装置及设备
CN116958795A (zh) 翻拍图像的识别方法、装置、电子设备及存储介质
CN114463685B (zh) 行为识别方法、装置、电子设备及存储介质
CN111126283A (zh) 一种自动过滤模糊人脸的快速活体检测方法及系统
CN106402717B (zh) 一种ar播放控制方法及智能台灯
CN115984978A (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