CN116012290A - 用于验证产品实拍的系统和方法 - Google Patents

用于验证产品实拍的系统和方法 Download PDF

Info

Publication number
CN116012290A
CN116012290A CN202211416829.0A CN202211416829A CN116012290A CN 116012290 A CN116012290 A CN 116012290A CN 202211416829 A CN202211416829 A CN 202211416829A CN 116012290 A CN116012290 A CN 116012290A
Authority
CN
China
Prior art keywords
image
segment
bounding box
features
alternate
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
CN202211416829.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.)
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Publication of CN116012290A publication Critical patent/CN116012290A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • 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/20112Image segmentation details

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Image Analysis (AREA)

Abstract

一种产品推荐方法,包括:提供具有产品描述、主图像和多个备用图像的产品信息;针对每个备用图像:进行显著性分割以获得片段和背景,定义包围所述片段的片段边界框,从所述片段边界框中提取图像特征,从所述产品描述中提取文本特征,从所述主图像中提取主图像特征,将所述片段边界框的所述图像特征与所述文本特征和所述主图像特征进行匹配,如果所述片段边界框的所述图像特征与所述文本特征和所述主图像特征匹配,则将所述备用图像确定为合格的备用图像;当合格的备用图像的数量等于或大于阈值数量时,向客户推荐所述产品。

Description

用于验证产品实拍的系统和方法
相关申请的引用
在本公开的描述中引用和讨论了一些参考文献,其可包括专利、专利申请和各种出版物。提供此类参考文献的引用和/或讨论仅用于阐明本公开的描述,并不承认任何此类参考文献是本文所述公开的“现有技术”。在说明书中引用和讨论的所有参考文献通过引用整体并入本文,并且与每篇参考文献通过引用单独并入的程度相同。
技术领域
本公开总体上涉及电子商务,更具体地涉及用于自动验证产品实拍以提供通过验证标准的推荐产品的系统和方法。
背景技术
在此提供的背景描述是为了概括地呈现本公开的上下文。在本背景部分描述的范围内,发明人的工作,以及在申请时可能不符合现有技术的描述方面,既不明确也不隐含地承认为针对本公开的现有技术。
在电子商务平台中,卖家可以为要在电子商务平台上销售的产品提供多张照片。产品实拍是推动电子商务转化的一个关键因素,其中照片的质量、视角、颜色和设计模板对于向客户传达产品信息非常重要。为了确保高质量的产品照片,电子商务平台可以雇用人工检查和验证每张上传的产品照片。该过程缓慢且不准确。
因此,在本领域中存在解决上述缺陷和不足的需要。
发明内容
在某些方面,本公开提供了从产品实拍中自动提取有用信息,在文本描述、数字属性和其他图像之间进行交叉验证以及增强电子商务评估指标中的关键因素的方法和装置。本公开的某些实施例所实现的效果包括:(1)从给定图像中自动提取产品的颜色和纹理,并通过图像的文本描述和数字属性验证图像;(2)从给定图像中自动提取产品的颜色和纹理,并通过同一库存单元(SKU)中的其他图像验证图像;(3)自动提取显著性对象,评估对象布局,并将图像与不同设计模板进行对比;以及(4)自动增强的图像质量,例如图像对比度、亮度和清晰度。
在某些方面,本公开涉及一种产品推荐方法。在某些实施例中,由计算设备执行该方法,该方法包括:
提供产品信息,其中所述产品信息包括产品描述、主图像和多个备用图像;
从所述产品描述中提取文本特征,从所述主图像中提取主图像特征;
针对所述多个备用图像中的每个备用图像,从所述备用图像中提取图像特征,将所述图像特征与所述文本特征和所述主图像特征进行匹配,如果所述图像特征与所述文本特征和所述主图像特征匹配,则将所述备用图像确定为合格的备用图像;以及
当合格的备用图像的数量等于或大于阈值数量时,向客户推荐具有更新产品信息的所述产品。所述更新产品信息包括所述产品描述、所述主图像和所述阈值数量个推荐备用图像。
在某些实施例中,所述提取图像特征包括:进行显著性分割以获得所述备用图像的掩膜,所述掩膜包括片段和背景,所述片段的显著性值大于所述背景的显著性值;定义包围所述片段的片段边界框;以及从所述片段边界框中提取所述图像特征。
在某些实施例中,所述推荐备用图像的阈值数量的平均显著性值大于所述合格的备用图像的其余数量的平均显著性值。
在某些实施例中,该方法还包括,在从所述片段边界框中提取所述图像特征之前:对所述片段边界框中的所述片段进行细化以获得细化的片段边界框;以及增强所述细化的片段边界框的图像质量以获得增强的片段边界框。从所述增强的片段边界框中提取所述图像特征,所述合格的图像是基于所述增强的片段边界框获得的。
在某些实施例中,所述对所述片段边界框中的所述片段进行细化包括:
从所述片段中去除异常像素;
对所述片段的像素的显著性值进行归一化以获得0到1范围内的归一化显著性值;
将自适应阈值应用于所述归一化显著性值以定义背景像素和前景像素;
将所述片段的轮廓中像素的显著性值设定为1;以及
将所述轮廓的边缘周围的显著性值平滑地降至0。
在某些实施例中,通过腐蚀和膨胀从所述片段中去除异常像素。在某些实施例中,通过将像素的显著性值与其相邻像素的平均或中值显著性值进行比较来应用自适应阈值。当所述像素的显著性值小于平均值或中值时,所述像素被定义为背景像素。否则,所述像素被定义为前景像素。在某些实施例中,针对所述像素定义了k像素×k像素框,其中k为奇数。所述像素位于像素框的中心,而k像素×k像素框中的其余像素是相邻像素。在某些实施例中,k是3、5、7、9或大于9的奇数。在一个实施例中,k是3。
在某些实施例中,所述归一化显著性值也可以在0到255的范围内。
在某些实施例中,所述增强所述细化的片段边界框的图像质量包括对所述细化的片段边界框执行图像锐化和自适应图像直方图均衡化。
在某些实施例中,所述备用图像的所述片段包括多个片段,所述方法还包括,在从所述片段边界框中提取所述图像特征之前:
计算多个片段边界框中的每个片段边界框的0度图像矩;
从所述多个片段边界框中删除一个小片段边界框,保留一个大片段边界框,其中所述小片段边界框的0度图像矩小于0度图像矩阈值,所述大片段边界框的0度图像矩等于或大于所述0度图像矩阈值;以及
当所述大片段边界框的个数大于一个时:计算每个大片段边界框的平均显著性值,选择具有最高平均显著性值的大片段边界框作为用于提取所述图像特征的所述片段边界框。
在某些实施例中,所述0度图像矩阈值是所述备用图像的面积的10%。
在某些实施例中,所述从所述片段边界框中提取所述图像特征包括:使用卷积网络从所述片段边界框中提取一般图像特征;从所述片段边界框中提取颜色直方图;从所述颜色直方图中提取前k个颜色;以及将所述一般图像特征和所述前k个颜色进行组合以形成所述图像特征。
在某些实施例中,使用k均值聚类来提取所述前k个颜色。在某些实施例中,k是3。
在某些实施例中,所述将所述备用图像确定为合格的备用图像包括:使用转换器将所述图像特征与所述文本特征进行匹配;以及使用余弦相似度将所述图像特征与所述主图像特征进行匹配。
在某些实施例中,所述阈值数量是2。
在某些方面,本公开涉及一种产品推荐系统。在某些实施例中,所述系统包括计算设备。所述计算设备包括处理器和存储计算机可执行代码的存储设备,所述计算机可执行代码在所述处理器处执行时被配置为:
提供产品信息,其中所述产品信息包括产品描述、主图像和多个备用图像;
从所述产品描述中提取文本特征,从所述主图像中提取主图像特征;
针对所述多个备用图像中的每个备用图像,从所述备用图像中提取图像特征,将所述图像特征与所述文本特征和所述主图像特征进行匹配,如果所述图像特征与所述文本特征和所述主图像特征匹配,则将所述备用图像确定为合格的备用图像;以及
当合格的备用图像的数量等于或大于阈值数量时,向客户推荐具有更新产品信息的所述产品。所述更新产品信息包括所述产品描述、所述主图像和所述阈值数量个合格的备用图像。
在某些实施例中,所述计算机可执行代码被配置为通过以下步骤提取所述图像特征:进行显著性分割以获得所述备用图像的掩膜,所述掩膜包括片段和背景,所述片段的显著性值大于所述背景的显著性值;定义包围所述片段的片段边界框;以及从所述片段边界框中提取所述图像特征。
在某些实施例中,所述阈值数量个推荐备用图像的平均显著性值大于其余数量个所述合格的备用图像的平均显著性值。
在某些实施例中,所述计算机可执行代码还被配置为,在从所述片段边界框中提取所述图像特征之前:对所述片段边界框中的所述片段进行细化以获得细化的片段边界框;以及增强所述细化的片段边界框的图像质量以获得增强的片段边界框。所述计算机可执行代码被配置为从所述增强的边界框中提取所述图像特征,所述合格的图像是基于所述增强的片段边界框获得的。
在某些实施例中,所述计算机可执行代码被配置为通过以下步骤对所述片段边界框中的所述片段进行细化:
从所述片段中去除异常像素;
对所述片段的像素的显著性值进行归一化以获得0到1范围内的归一化显著性值;
将自适应阈值应用于所述归一化显著性值以定义背景像素和前景像素;
将所述片段的轮廓中像素的显著性值设定为1;以及
将所述轮廓的边缘周围的显著性值平滑地降至0。
在某些实施例中,所述计算可执行代码被配置为通过以下步骤增强所述细化的片段边界框的图像质量:对所述细化的片段边界框执行图像锐化和自适应图像直方图均衡化。
在某些实施例中,所述备用图像的所述片段包括多个片段,所述计算机可执行代码还被配置为:
计算多个片段边界框中的每个片段边界框的0度图像矩;
从所述多个片段边界框中删除一个小片段边界框,保留一个大片段边界框,其中所述小片段边界框的0度图像矩小于0度图像矩阈值,并所述大片段边界框的0度图像矩等于或大于所述0度图像矩阈值;以及
当所述大片段边界框的个数大于一个时:计算每个大片段边界框的平均显著性值,选择具有最高平均显著性值的所述大片段边界框作为提取所述图像特征的所述片段边界框。
在某些实施例中,所述0度图像矩阈值是所述备用图像的面积的10%。
在某些实施例中,所述计算机可执行代码被配置为通过以下步骤从所述片段边界框中提取图像特征:使用卷积网络从所述片段边界框中提取一般图像特征;从所述片段边界框中提取颜色直方图;从所述颜色直方图中提取前k个颜色;以及将所述一般图像特征和所述前k个颜色进行组合以形成所述图像特征。
在某些实施例中,所述计算机可执行代码被配置为使用k均值聚类来提取前k个颜色。在某些实施例中,k是3。
在某些实施例中,所述计算机可执行代码被配置为通过以下步骤将所述备用图像确定为合格的备用图像:使用转换器将所述图像特征与所述文本特征进行匹配;以及使用余弦相似度将所述图像特征与所述主图像特征进行匹配。
在某些实施例中,所述阈值数量是2。
在某些方面,本公开涉及一种存储计算机可执行代码的非暂时性计算机可读介质。所述计算机可执行代码在计算设备的处理器处执行时被配置为执行上述方法。
本公开的这些和其他方面将通过结合以下附图及他们的说明对优选实施例的以下描述而变得显而易见的,尽管在不脱离本公开新颖概念的精神和范围的情况下可能影响其中的变化和修改。
附图说明
附图示出了本公开的一个或多个实施例,并与书面描述一起用于解释本公开的原理。在整个附图中使用相同的附图标记来指代实施例的相同或相似元素。
图1示意性地描绘了根据本公开的某些实施例的产品推荐系统。
图2示意性地描绘了根据本公开的某些实施例的图像模块。
图3示意性地描绘了根据本公开的某些实施例的显著性分割的示例。
图4示意性地描绘了根据本公开的某些实施例的轮廓创建和边界框检测。
图5示意性地描绘了根据本公开的某些实施例的片段的细化。
图6示意性地描绘了根据本公开的某些实施例的对象模块。
图7示意性地描绘了根据本公开的某些实施例的特征模块。
图8示意性地描绘了根据本公开的某些实施例的特征提取模型。
图9示意性地描绘了根据本公开的某些实施例的比较模块。
图10A和图10B示意性地描绘了根据本公开的某些实施例的产品推荐方法。
图11示意性地描绘了根据本公开的某些实施例的产品推荐系统的流程图。
图12示意性地描绘了根据本公开的某些实施例的备用图像的处理和过滤。
具体实施方式
在以下示例中更具体地描述本公开,这些示例仅旨在作为说明,因为其中的许多修改和变化对于本领域技术人员来说将是显而易见的。现在详细描述本公开的各种实施例。参考附图,贯穿视图,相同的数字指示相同的部件。除非上下文另有明确规定,否则本文的描述中和整个权利要求中使用的“一个”、“一”和“所述”的含义包括复数。此外,如在本公开的描述和权利要求书中所使用的,除非上下文另有明确规定,“在”的含义包括“在……中”和“在……上”。如本文所述,“多个”是指两个或更多个。如本文所述,术语“包含”、“携带”、“具有”、“含有”、“涉及”等应被理解为开放式的,即意指包括但不仅限于。
本说明书中使用的术语在本领域中、在本公开的上下文中以及在使用每个术语的特定上下文中通常具有它们的普通含义。用于描述本公开的某些术语在下文或说明书的其他地方进行讨论,以向从业者提供关于本公开的描述的额外指导。可以理解,同样的事情可以用不止一种方式表达出来。因此,替代语言和同义词可用于此处讨论的任何一个或多个术语,并且对于此处是否详细阐述或讨论术语没有任何特殊意义。一个或多个同义词的使用不排除使用其他同义词。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于在本说明书中给出的各种实施例。
如本文所述,短语A、B和C中的至少一个应被解释为表示逻辑(A或B或C),使用非排他性逻辑或(OR)。应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时)执行方法。如本文所述,术语“和/或”包括一个或多个相关列出项目的任何和所有组合。
如本文所述,术语“模块”可以指示属于或包括专用整合电路(ASIC);电子线路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享的、专用的或组);提供所描述功能的其他合适的硬件组件;或以上部分或全部的组合,例如在片上系统中。术语模块可以包括存储由处理器执行的代码的存储器(共享的、专用的或组)。
本文中使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类和/或对象。上面使用的术语共享意味着可以使用单个(共享)处理器执行来自多个模块的部分或全部代码。此外,来自多个模块的部分或全部代码可以存储在单个(共享)存储器中。上面使用的术语组意味着可以使用一组处理器执行来自单个模块的部分或全部代码。此外,可以使用一组存储器来存储来自单个模块的一些或全部代码。
如本文所述,术语“接口”通常是指在组件之间的交互点处用于执行组件之间的数据通信的通信工具或装置。一般而言,接口可以在硬件和软件层面都适用,可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、端子和其他I/O装置或组件。与接口通信的组件可以是例如计算机系统的多个组件或外围装置。
本公开涉及计算机系统。如附图中所示,计算机组件可以包括物理硬件组件,其显示为实线块,以及虚拟软件组件,其显示为虚线块。本领域普通技术人员将理解,除非另有说明,否则这些计算机组件可以以软件、固件或硬件组件或其组合的形式来实现,但不限于这些形式。本文所述的装置、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非临时有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。
现在将在下文中参考附图更全面地描述本公开,其中示出了本公开的实施例。然而,本公开可以以许多不同的形式体现并且不应被解释为限于这里阐述的实施例;相反,提供这些实施例是为了使本公开彻底和完整,并将本公开的范围充分传达给本领域技术人员。
在相关技术中存在图像信息的提取和分析,例如分类和检测。但是,它们大多是用于自然图像,而不是用于商业图像;他们只关注单一主题,而不是组合主题。从显著性分割、基于实例的特征提取、布局检查、跨域验证和质量增强来讲,没有现有的解决方案可以完成电子商务特定任务的整个流程。相关技术中的分类、检测和分割等机器视觉方法只关注当前图像。缺少与其他图像特征的比较。
在本公开的某些方面,本公开的电子商务平台要求来自相同SKU的图像或图片仅包括具有相同颜色和相同类型的产品。来自不同视角、不同光照条件、不同背景、不同变焦倍率、或有/无后处理、或只有部分产品的详细视图的产品图像使得这项任务更具挑战性。同一产品在不同视角、光照条件、变焦倍率下的详细视图,比不同类型产品或相同视角、相同光照条件、相同变焦倍率下不同颜色的同类型产品会产生更大的特征差异。在这些情况下,机器视觉领域的常见主题,例如在相关技术中查找重复图像都失败了。
另一方面,仅在文本描述中进行自然语言处理(NLP)领域的文本特征分析。查询和标题描述之间的相关性是相关技术中的常见用法。缺少图像、数字属性和文本描述之间的通信。在某些方面,为了自动检查图像是否与其描述及其列出的属性一致,本公开提供了跨域相关性计算。
相关技术中的图像分割可以分为两类。第一类是分割已知对象实例,例如人、车辆和自行车。必须首先提供这些对象实例的标记数据集合。经训练的神经网络无法分割新类型的实例。第二类是显著性检测和分割。该方法试图接近人类感知方法并生成图像的显著图。这种方法可以从训练数据中分割出未知类型的实例。但是对于商业用途来说,精度仍然是不可接受的。除此之外,该方法通常处理自然图像,而不是人工商业图像。在某些方面,本公开提供了基于显著图的准确对象感知,该对象感知适用于人工商业图像。
相关技术中的图像增强只能处理整个图像。它没有实例分割图像的功能。在某些方面,本公开从商业合规模板的角度,对每个分割实例分别进行处理,并考虑不同分割实例之间的关系。
本公开内容优于相关技术。在某些实施例中,本公开的优点包括:(1)提供迭代分割过程来分割产品图像以达到所需的精度。首先,来自电子商务图像的微调显著性检测/分割神经网络应用于摄影。之后在显著图上应用归一化和自适应阈值。开发了质量增强、子像素平滑和噪声去除,以进一步逐区域地改善和增强图像质量。分割和增强的图像最终可以达到电子商务的高标准。(2)为图像内的每个分割实例/区域提取广义图像特征和人工特征。较少的显著性实例/对象会相应地自动删除。通过对各片段部分的布局和关系的分析,总结和提取美学等高级特征。通过组合层,将数值属性特征和纹理特征等多模态特征与图像特征相结合,以验证和检查来自多个域的图像信息。特征冲突,例如属性表示产品为蓝色而图像特征表示产品为绿色,被配置为评估产品信息是否存在错误。不正确的图像、带有错误标签属性或文本描述的图像、与来自同一SKU的其余图像相冲突的图像可以在无人为干扰的情况下自动拒绝。
图1示意性地描绘了根据本公开的某些实施例的产品推荐系统。如图1所示,系统100包括计算设备110。在某些实施例中,计算设备110可以是提供产品推荐服务的服务器计算机、集群、云计算机、通用计算机或专用计算机。在某些实施例中,计算设备110可以与其他计算设备或服务通信,以获取和提供产品信息。产品信息可以包括文本和图像。文本可以包括产品的标题和描述,图像可以包括产品的主图像和备用图像。在某些实施例中,通过网络进行通信,该网络可以是有线或无线网络,也可以是各种形式,例如公共网络和专用网络,或者通过非暂时性计算机媒体进行通信,包括但不限于闪存驱动器、USB驱动器、硬盘驱动器、软盘、SD卡、光驱或任何其他便携式数据存储介质。
如图1所示,计算设备110可以包括但不限于处理器112、存储器114和存储设备116。在某些实施例中,计算设备110可以包括其他硬件组件和软件组件(未示出)以执行其相应的任务。这些硬件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(I/O)模块或设备、网络接口和外围设备。处理器112可以是中央处理单元(CPU),其被配置为控制计算设备110的操作。处理器112可以执行计算设备110的操作系统(OS)或其他应用。在一些实施例中,计算设备110可以具有多个CPU作为处理器,例如两个CPU、四个CPU、八个CPU或任何合适数量的CPU。存储器114可以是易失性存储器,例如随机存取存储器(RAM),用于在计算设备110的操作期间存储数据和信息。在某些实施例中,存储器114可以是易失性存储器阵列。在某些实施例中,计算设备110可以在多个的存储器114上运行。存储设备116是一种用于存储计算设备110的操作系统(未示出)和其他应用的非易失性数据存储介质。存储设备116的示例可以包括非易失性存储器,例如闪存、存储卡、USB驱动器、硬盘驱动器、软盘、光驱、固态驱动器(SSD)或任何其他类型的数据存储设备。在某些实施例中,存储设备116可以是本地存储、远程存储或云存储。在某些实施例中,计算设备110可以具有多个存储设备116,它们可以是相同的存储设备或不同类型的存储设备,计算设备110的应用可以存储在计算设备110的一个或多个存储设备116中。在某些实施例中,计算设备110是云计算机,处理器112、存储器114和存储设备116是通过互联网按需提供的共享资源。
如图1所示,存储设备116包括产品推荐应用118、产品数据库190和推荐产品数据库192。产品推荐应用118被配置为确定高质量的产品并向客户推荐高质量的产品。产品数据库190包括电子商务平台的产品或库存单位(SKU)的信息。产品的信息可以包括产品的标题、描述、主图像和备用图像。备用图像的数量可以是例如大约5到10。推荐产品数据库192包括系统计划向客户推荐的产品的信息。用于推荐的产品信息可以包括产品的标题、描述、主图像和预定数量个增强备用图像。例如,预定数量可以是1到3。在一个示例中,预定数量是2。在某些实施例中,产品数据库190和推荐产品数据库192也可以被存储在与计算设备110通信的远程计算设备中,只要这些数据库可被产品推荐应用118访问即可。
除此之外,产品推荐应用118包括产品检索器120、图像模块130、对象模块140、特征模块150、文本和主图像模块160、比较模块170、推荐模块180和用户界面182。在某些实施例中,产品推荐应用118可以包括其操作所需的其他应用或模块。需要说明的是,各个模块由计算机可执行代码或指令,或数据表或数据库实现,他们共同构成一个应用。在某些实施例中,每个模块还可以包括子模块。或者,一些模块可以组合为一个堆栈。在某些实施例中,某些模块可以实现为电路而不是可执行代码。在某些实施例中,产品推荐应用118的一些或所有模块可以位于远程计算设备处或分布在云端中。
产品检索器120被配置为从产品数据库190中检索产品信息,并将产品信息提供给图像模块130和文本和主图像模块160。产品信息可以包括例如标题文本和描述、主图像和备用图像。产品检索器120被配置为将备用图像发送给图像模块130,并将文本和主图像发送给文本和主图像模块160。备用图像可以逐张发送,也可以批量发送。备用图像的数量可能因产品而异。备用图像的数量可以是例如2到20。在某些实施例中,备用图像的数量是5到10。在某些实施例中,备用图像的数量是大约7或8。在某些实施例中,产品检索器120可以被配置为逐个产品地从产品数据库190中检索产品的信息,使得产品数据库190中的所有产品可以通过产品推荐应用118进行分析。在某些实施例中,产品数据库190可以由产品推荐应用118在预定的时间线,例如每24小时或每周进行分析。在这种情况下,产品检索器120可以记录之前已经分析过的产品,并仅将产品数据库190中新存储的产品的信息提供给图像模块130和文本和主图像模块160。主图像和备用图像的尺寸可以相同。在某些实施例中,当主图像和备用图像的尺寸不相同时,产品检索器120还可以被配置为将备用图像的尺寸调整为主图像的尺寸。在某些实施例中,备用图像的纵横比在调整大小期间保持不变,添加白色背景使得主图像和调整大小的备用图像在水平方向和垂直方向均具有相同的像素大小。在以下描述中,本公开对主图像和备用图像使用500像素×500像素的尺寸,但尺寸不限于此。
图像模块130被配置为,在接收到产品的备用图像时,处理每个备用图像以获得增强的图像,并将增强的图像提供给对象模块140。在某些实施例中,图像模块130可以可以依次或并行处理备用图像。每个备用图像的处理包括分割图像以获得图像中的片段、定义包围片段的边界框、细化片段以及增强备用图像的质量。如图2所示,图像模块130包括显著性分割模块132、边界框检测模块134、分割细化模块136和质量增强模块138。
显著性分割模块132被配置为对接收到的每一个备用图像进行显著性检测和分割以获得分割图像,并将分割图像发送给边界框检测模块134。在某些实施例中,使用静态显著性、运动显著性或对象性进行显著性估计。在某些实施例中,使用基于神经网络的方法,例如TASED-Net、STRA-Net或STAViS,来进行显著性估计。在某些实施例中,使用卷积神经网络(CNN)模型进行显著性检测和分割,该模型使用电子商务图像进行微调。在某些实施例中,备用图像是具有三个通道的红-绿-蓝(RGB)图像,并且显著性检测和分割将第四通道添加到备用图像中。添加的通道也称为备用图像的显著图,添加的通道中每个像素的值可以在0~1的范围内,也可以在0~255的范围内,或者在任何其他任意范围内。显著性值越高,像素越受关注。在某些实施例中,四通道的备用图像也可以称为抠图图像,其中具有高显著性值的像素为前景像素,具有低显著性值的像素为背景像素。在某些实施例中,前景像素和背景像素的界限值可以是大约0.5~0.9。在某些实施例中,界限值设置为0.6,其中显著性值等于或大于0.6的像素被视为前景像素。在某些实施例中,显著性通道或显著图也可以称为掩码,其中前景像素和背景像素包含在掩码中,前景像素在掩码中为1,背景像素在掩码中为0。分割图像与备用图像具有相同的大小;每个像素具有四个通道,三个RGB通道具有各自的颜色值,一个显著通道具有其显著性值。在某些实施例中,背景像素的三个RGB通道中的值被设置为255,使得背景像素为白色。然而,原始备用图像存储在存储器中,并且备用图像的原始RGB信息可供产品推荐应用118中的模块在需要时从中检索。
在某些实施例中,由于一个备用图像可能具有多个对象,所以显著性分割模块132可以找到多个片段。图3示意性地描绘了根据本公开的某些实施例的备用图像的显著性检测和分割,其中左侧是显著性处理之前的备用图像,右侧是显著性处理之后的备用图像。如图3右侧所示,两个瓶子具有高显著性值并被视为前景,而其余的备用图像具有低显著性值并被视为背景。
在某些实施例中,对备用图像中的一个备用图像进行显著性检测和分割之后,显著性分割模块132还被配置为以相同方式处理下一个备用图像。在某些实施例中,如果在备用图像中没有前景像素,则显著性分割模块132将丢弃备用图像,然后处理下一个备用图像。在处理了产品的所有备用图像之后,显著性分割模块132接着可以处理下一个产品的备用图像。
边界框检测模块134被配置为,在从显著性分割模块132接收到分割图像时,为每个片段创建一个轮廓,定义包围片段的轮廓的最小边界框,并将具有边界框的图像发送给分割细化模块136。边界框包括在片段的轮廓内的像素,以及在边界框内但在轮廓外的像素。
图4示意性地描绘了根据本公开的某些实施例的边界框检测的结果。如图4所示,边界框402被定义为包围瓶子的轮廓404。需要注意,当备用图像中有多个对象,例如两个瓶子时,边界框将包围两个瓶子的轮廓。在某些实施例中,边界框也可以被定义为仅包围一个对象。在这种情况下,如果图像中有多个对象,则一个备用图像可能有多个边界框。
分割细化模块136被配置为,在接收到来自边界框检测模块134的边界框时,对包围在边界框中的一个或几个片段进行细化以获得细化的片段,并将细化的片段发送给质量增强模块138。在该阶段和在分割细化模块136处理之前,分割图像具有与备用图像相同的大小,且每个像素具有四个通道。边界框被定义在分割图像中,并包围这些片段。每个片段都具有一个轮廓。边界框外的像素是白色背景像素,而边界框内的像素包括背景像素和前景像素。由于显著性检测可能不是完美的,所以可以进行细化来提高片段的质量。在某些实施例中,分割细化模块136被配置为为每个片段定义一个片段边界框,并对每个片段进行片段细化。(1)首先,对于在其片段边界框中的每个片段,分割细化模块136对从显著性检测模块获得的显著图进行异常值的去除。在某些实施例中,通过腐蚀和膨胀来进行异常值的去除。(2)其次,分割细化模块136在去除异常值之后对显著图进行归一化。在某些实施例中,归一化类似于L-无穷归一化。在某些实施例中,对于片段中的显著图,分割细化模块136对显著图进行高斯模糊,在0~1.1的范围内重新缩放显著性值,然后用1进行切割。换句话说,在1~1.1范围内的所有值现在都设置为1。(3)进行归一化后,片段中像素的显著性值现在在0~1范围内。分割细化模块136进一步将自适应阈值应用于片段边界框中的归一化显著性值。在某些实施例中,每个像素具有周围的相邻像素,并计算相邻像素的平均显著性值或中等显著性值。如果像素的显著性值小于平均或中等显著性值,则该像素被定义为背景像素。如果像素的显著性值等于或大于平均或中等显著性值,则该像素被定义为前景像素。(4)此外,为了达到子像素精度和平滑度,将轮廓内的像素和轮廓周围的像素分开进行处理。轮廓内的显著性像素被设定为1(或255,8位的最大值),边缘周围的显著性像素平滑地下降至0以与周围环境进行融合。(5)在每个片段边界框中,除了片段边界框内的主要片段外,可能还有一个或多个其他片段的一小部分。在最后的细化步骤中,将在片段边界框内相交的任何其他实例或片段进行擦除以创建干净的分割。在某些实施例中,沿着片段的轮廓进行擦除。需要注意,通过细化,前景像素和背景像素被进一步细化,并且可以不同于显著性分割模块132所确定的前景像素和背景像素。当像素从前景像素变为背景像素时,其颜色更改为白色;当一个像素从背景像素更改为前景像素时,此时可以从存储在存储器114中的原始备用图像中检索其颜色值。图5示意性地示出了根据本公开的某些实施例的片段的细化,其中左侧是显著性分割模块132获得的片段,右侧是分割细化模块136细化之后的片段。从图5可以看出,经过片段细化后,片段的边缘更加清晰,片段的某些前景部分得到恢复。
在某些实施例中,边界框检测和分割细化可以执行一次或者可以迭代地执行几轮。在某些实施例中,在边界框检测之前进行分割细化。
在某些实施例中,在从边界框检测模块134(大边界框)接收的边界框内进行图像腐蚀和膨胀以粗略地去除图像噪声。在某些实施例中,可以返回几个片段(小边界框)。在某些实施例中,图像中只有一个片段,大边界框和小边界框是相同的边界框。
质量增强模块138被配置为,在接收到来自分割细化模块136的细化的片段时,提高像素级的图像对比度、亮度和锐度,以获得在其片段边界框中的增强片段,并将具有增强片段的片段边界框发送给对象模块140。具有增强片段的片段边界框也称为增强的片段边界框。在某些实施例中,出于美学目的进行增强。在某些实施例中,图像增强包括改善高频图像信息的图像锐化和改善对比度的自适应图像直方图均衡化。
对象模块140被配置为,在从质量增强模块138接收到增强的片段边界框时,提取片段的内部属性,对片段进行排序,过滤片段以获得一个片段,并将具有增强片段的增强的片段边界框发送给特征模块150。参照图6,对象模块140包括框内属性模块142、显著性排序模块144和噪声去除模块146。
框内属性模块142被配置为,在接收到增强片段时,为每个增强片段提供像素索引,提取片段边界框中每个增强片段的框内属性,将像素索引发送给显著性排序模块144,并将框内属性发送给噪声去除模块146。在某些实施例中,框内属性模块142可以并行或者依次处理增强片段。根据分割结果,增强片段的数量可以是例如1到8。在某些实施例中,增强片段的数量是1到3。在某些实施例中,框内属性包括图像矩、中心矩、纵横比和可选的方位角。其中一个增强片段的图像矩定义为:
Mij=∑xyxiyjI(x,y)    (1),
其中I(x,y)为像素强度,增强片段的零阶(0阶)或零度(0°)图像矩(M00)表示增强片段在边界框中的面积。这里的强度是显著性强度。
增强片段的中心矩定义为:
Figure BDA0003938094880000171
其中质心是:
Figure BDA0003938094880000172
在某些实施例中,框内属性模块142被配置为检测包围对应的一个片段的每个片段边界框的纵横比。纵横比被定义为相应片段边界框的宽度与高度的比率。
在某些实施例中,框内属性模块142还可以被配置为检测增强片段的方位角。在某些实施例中,通过在该片段周围形成一个椭圆来定义方位角,并确定水平线和主轴之间的角度。
对于每个片段,框内属性模块142还被配置为获取片段轮廓中像素的坐标,制备具有其坐标的像素列表,并将片段或对象的像素列表提供给显著性排序模块144。在某些实施例中,像素列表中的每个像素还具有指示属于哪个片段的标识,像素列表也称为像素索引。在某些实施例中,框内属性模块142可以不提取图像矩、中心矩、方位角和纵横比,而是仅获取像素索引并将其提供给显著性排序模块144。
显著性排序模块144被配置为,在接收到像素索引时,根据像素索引计算每个增强片段的列出像素的平均显著性值,对片段的平均显著性值进行排序,并将排序片段提供给噪声去除模块146。在某些实施例中,用于计算的显著性值是在分割细化模块136归一化之后但在分割细化模块136子像素精度平滑之前的值。
噪声去除模块146被配置为,在接收到来自框内属性模块142的框内属性和来自显著性排序模块144的排序片段时,丢弃不符合框内属性标准的片段,选择满足框内属性标准且在排序片段中排名最高的片段,并将所选片段发送给特征模块150。
在某些实施例中,噪声去除模块146被配置为使用图像矩过滤片段。片段的零阶图像矩表示片段的面积,零阶图像矩的大小与整个备用图像的大小,例如500像素×500像素,进行比较。当该比率等于或大于0度图像矩阈值时,保留该片段,而当该比率小于0度图像矩阈值时,丢弃该片段。在某些实施例中,0度图像矩阈值在0.05~0.5的范围内。在某些实施例中,0度图像矩阈值在0.1~0.2的范围内。在某些实施例中,0度图像矩阈值为0.15,即片段边界框的面积与备用图像的面积之比等于或大于0.15。通过这个标准,太小的片段将作为噪声去除。
在某些实施例中,噪声去除模块146被配置为使用质心矩过滤片段,其中质心矩是一阶图像矩。片段的质心矩表示片段的中心,计算片段中心到备用图像中心的距离,然后计算距离与备用图像对角线长度的比值。当该比值小于中心偏差阈值时,保留该片段;当该比值等于或大于中心偏差阈值时,丢弃该片段。在某些实施例中,中心偏差阈值在0.1~0.6的范围内。在某些实施例中,中心偏差阈值在0.2~0.3的范围内。在某些实施例中,中心偏差阈值为0.25,即片段边界框的中心与备用图像的中心之间的距离比应小于备用图像的对角线长度的0.25。通过这个标准,远离备用图像中心的片段将作为噪声去除。
在某些实施例中,噪声去除模块146被配置为使用纵横比过滤片段。片段边界框的纵横比表示片段的形状,其优选为约1∶1。当纵横比在纵横比范围内时,保留该片段;当该比值超出纵横比范围时,丢弃该片段。在某些实施例中,纵横比范围为0.2(1∶5)~5(5∶1)。在某些实施例中,纵横比范围为0.5(1∶2)~2(2∶1)。在某些实施例中,纵横比范围为0.75(3∶4)~1.33(4∶3)。通过这个标准,太细或太粗的片段将作为噪声去除。
在某些实施例中,噪声去除模块146被配置为使用方位角过滤片段。方位角指示片段在备用图像中是否倾斜,并优选地为大约0度或大约90度。当方位角在0度或90度的方位角阈值内时,保留该片段;否则,丢弃该片段。在某些实施例中,方位阈值在0或90的-20~20范围内。在某些实施例中,方位阈值在0或90的-10~10范围内,即,片段的方向角应为-10到10度或80~100度。在某些实施例中,使用方位角进行过滤是可选的。
在某些实施例中,噪声去除模块146被配置为使用排序片段过滤片段。片段按其平均显著性值进行排序,噪声去除模块146被配置为选择具有最高平均显著性值的片段,并将所选片段发送给特征模块150。当根据图像矩、质心矩、纵横比或可选的方位角去除片段时,噪声去除模块146被配置为丢弃该片段,并从其余片段中选择具有最高显著性值的片段。换句话说,所选片段是在满足图像矩、质心矩、纵横比和可选的方位角标准的排序片段列表中的最高的片段。
可以不按照如上所述的顺序通过使用图像矩、质心矩、纵横比、方位角和排序显著性值进行去噪,并且一些去噪的步骤,例如基于方位角的步骤,可以不是必须的。在某些实施例中,可以仅使用纵横比和排序显著性值来进行噪声去除。噪声去除后,只剩下一个片段,还有它的片段边界框(具有增强片段的增强片段边界框)。在某些实施例中,当在噪声去除期间丢弃掉所有片段时,完成对备用图像的分析,丢弃备用图像,并且产品推荐应用118被配置为分析下一个备用图像。
特征模块150被配置为,在接收到具有所选片段的片段边界框时,从片段边界框中提取图像特征和热门颜色,并将提取的图像特征和热门颜色发送给比较模块170。如图7所示,特征模块150包括图像特征提取模块151、图像特征嵌入模块152、人工颜色直方图特征模块153、颜色直方图增强模块154、热门颜色模块155和特征组合模块156。
图像特征提取模块151被配置为,在接收到包含所选片段的片段边界框时,提取包含所选片段的片段边界框的图像特征,并将图像特征发送给图像特征嵌入模块152。在某些实施例中,使用卷积神经网络(CNN)进行图像特征提取。在某些实施例中,CNN是在ImageNet中预训练的ResNet。在某些实施例中,用于提取图像特征的CNN模型具有如图8所示的模型结构,其中提取的图像特征由使用152个浮点值的向量表示。
图像特征嵌入模块152被配置为,在接收到来自图像特征提取模块151的图像特征时,嵌入图像特征以获得嵌入图像特征,并将嵌入图像特征发送给特征组合模块156。在某些实施例中,图像特征嵌入模块152是多层感知器(MLP)的一层,其将152个浮点值向量压缩成更小的数量,例如128个浮点值向量。在某些实施例中,图像特征嵌入模块152是可选的。
人工颜色直方图特征模块153被配置为,在接收到包含所选片段的片段边界框时,收集片段内的颜色信息,将收集到的颜色信息列为颜色直方图,并将直方图发送给颜色直方图增强模块154。归一化的颜色直方图特征可以是不变的,而与图像比例、平移、旋转无关。它可以被视为给定产品的颜色和纹理特征。
颜色直方图增强模块154被配置为,在接收到片段的颜色直方图时,将颜色直方图的颜色空间从RGB空间转换为色相饱和度值(HSV)空间以获得增强的颜色直方图,并将增强的颜色直方图发送给热门颜色模块155。可以从传统的RGB空间到HSV空间的不同颜色空间中收集颜色特征。与RGB空间相比,HSV空间旨在接近人类感知,对照明干扰的抵抗力更强。在某些实施例中,颜色直方图增强模块154还被配置为截断颜色直方图以增加这种特征的鲁棒性。在某些实施例中,从RGB空间到HSV空间的转换减少了不同照明条件下的差异。
热门颜色模块155被配置为,在接收到增强的颜色直方图时,对增强的颜色直方图特征应用k均值聚类算法以获得经由k均值选择的主要颜色,并将k个主要颜色发送给特征组合模块156。在某些实施例中,数字k被设置在1到5范围内。在某些实施例中,数字k被设置为2或3。
特征组合模块156被配置为,在接收到来自图像特征嵌入模块152的嵌入颜色特征以及来自热门颜色模块155的主要颜色时,将该嵌入颜色特征和主要颜色进行组合以形成组合图像特征,并将组合图像特征发送给比较模块170。组合图像特征可以是具有多个维度的向量的形式,并且该维度存储表示嵌入颜色特征和主要颜色的值。
文本和主图像模块160被配置为,在接收到来自产品检索器120的产品的文本和主图像后,嵌入文本以获得产品的文本特征,嵌入产品的主图像以获得产品的主图像特征,并将该文本特征和主图像特征发送给比较模块170。在某些实施例中,文本特征是使用BERT、Word2Vec、GloVe、FastTex或其他类型的预训练词嵌入模型获得的,文本特征特征是向量的形式。在某些实施例中,嵌入主图像以获得主图像特征类似于备用图像的处理,嵌入的结果包括一般图像特征和主要颜色。
比较模块170被配置为,在接收到备用图像(包含所选增强片段的增强的片段边界框)的组合图像特征、产品的文本特征和主图像的图像特征时,将组合图像图像特征与文本特征进行匹配,将组合图像特征与主图像的图像特征进行匹配,判断产品是否为有效推荐产品,并将有效产品发送给推荐模块180。
拼接模块172被配置为对来自特征组合模块156的图像特征和来自文本和主图像模块160的文本特征进行加权拼接以获得拼接向量,使拼接向量经过分类/回归层(或转换器)以获得产品的备用图像的图像特征与产品的文本特征之间的相关性,并将备用图像-文本相关性发送给产品验证模块176。在某些实施例中,为了将图像特征和文本特征进行比较,通过模仿文本的嵌入来嵌入图像特征。例如,备用图像可以被分割成小网格,小网格顺序对齐,将每个网格提供给CNN模型以获得每个网格的嵌入,网格序列中的网格的位置被嵌入,序列网格的嵌入与句子中的单词序列具有相似的格式。在某些实施例中,如图9所示,比较模块170可以包括拼接模块172、特征比较模块174和产品验证模块176。
特征比较模块174被配置为,在接收到来自特征组合模块156的备用图像的图像特征和来自文本和主图像模块160的主图像的图像特征时,将备用图像的图像特征与主图像的图像特征进行比较以获得备用图像和主图像之间的相关性,并将匹配结果发送给产品验证模块176。在某些实施例中,特征比较模块174被配置为使用以下特征比较方法中的至少一种来确定备用图像(包含所选片段的片段边界框)与主图像之间的相关性,例如余弦相似度、相关性、直方图交集和库尔贝克·莱布勒散度。
在某些实施例中,为比较两个图像特征而计算余弦相似度得分:
Figure BDA0003938094880000221
在某些实施例中,为比较两个图像特征而计算相关性得分:
Figure BDA0003938094880000222
其中:
Figure BDA0003938094880000223
在某些实施例中,为比较两个图像特征而计算交叉得分:
d(H1,H2)=∑Imin(H1(I),H2(I))  (5)。
在某些实施例中,为比较两个图像特征而计算KL散度:
Figure BDA0003938094880000224
在某些实施例中,仅用余弦相似度得分进行比较。
产品验证模块176被配置为,在接收到来自拼接模块172的备用图像-文本相关性和来自特征比较模块174的备用图像-主图像相关性时,确定备用图像是否是合格的备用图像,确定是否其他备用图像为合格的备用图像,如果合格的备用图像的数量等于或大于阈值数量,则选择阈值数量个合格的备用图像,并将带有文本、主图像和阈值数量个合格的备用图像的产品发送给推荐模块180。
在某些实施例中,产品验证模块176被配置为当备用图像与文本之间以及备用图像与主图像之间存在相关性时确定备用图像是合格的备用图像。备用图像与文本之间的相关性,以及备用图像与主图像之间的相关性可以是结果为是或否的分类的形式,或者是相关性值。当相关性由相关性值表示时,可以通过将相关性值与相关性阈值进行比较来确定该相关性。在某些实施例中,阈值可以在0.5~0.9的范围内。在某些实施例中,相关性阈值为0.6~0.8。在某些实施例中,相关性阈值为0.7。在某些实施例中,产品验证模块176被配置为将增强的片段边界框放置到原始备用图像的大小以获得最终备用图像,其中可能需要添加白色背景像素。在某些实施例中,由于主图像通常具有高质量,因此可以无需增强主图像,便可以直接将来自产品数据库190的主图像用于推荐产品中。
在确定一个备用图像是否为合格的备用图像之后,产品验证模块176还被配置为指示图像模块130来处理该产品的下一个备用图像。例如,该产品可以具有大约七个或八个备用图像。产品验证模块176还被配置为统计合格的备用图像的数量,如果该数量等于或大于阈值数量,则选择阈值数量个具有最高平均显著性值的合格的备用图像,并将带有文本、主图像和阈值数量个备用图像的产品发送给推荐模块180。阈值数量可以在1~5的范围内。在某些实施例中,阈值数量为2。在某些实施例中,备用图像的大小与主图像的大小相同;在每个备用图像中,该片段为增强片段,背景为白色。
推荐模块180被配置为,在接收到带有文本、主图像和阈值数量个备用图像的产品后,将该产品定义为推荐产品,并向客户或选定客户推荐该推荐产品。在某些实施例中,在产品推荐应用118处理了来自产品数据库190的所有产品之后进行推荐。在某些实施例中,推荐模块180被配置为将推荐产品存储在推荐产品数据库192中,并在需要向客户推荐时检索推荐产品。在某些实施例中,产品推荐应用118可以在预定时间间隔内对产品数据库190中的新产品或产品数据库190中已经更新主图像或更新备用图像的产品进行处理,以定期更新推荐产品数据库192。预定时间间隔可以是例如每24小时、每周或每月。
用户界面182被配置为例如通过图形用户界面与产品推荐应用118的管理员通信。管理员可以调整产品推荐应用118的参数,或与其他应用通信以向客户提供推荐产品。
在某些实施例中,产品推荐应用118还可以包括调度器,以协调产品的文本和图像信息的数据流。可以通过将产品图像加载到内存中,并调用产品推荐应用118的不同功能模块来逐步处理图像以进行协调。
在某些方面,本公开涉及一种产品推荐方法。图10示意性地描绘了根据本公开的某些实施例的产品推荐方法。在某些实施例中,该方法由图1所示的计算设备110实施。需要特别说明的是,除非本公开另有说明,该方法的步骤可以按不同的顺序排列,并不限于图10所示的顺序。
在步骤1002,产品检索器120从产品数据库190中检索产品信息。产品信息包括诸如标题和描述等文本、主图像和多个备用图像。产品检索器120将备用图像发送给显著性分割模块132,并将文本和主图像发送给文本和主图像模块160。
在步骤1004,对于每一个备用图像,显著性分割模块132进行显著性检测和分割以获得分割图像,并将分割图像发送给边界框检测模块134。在某些实施例中,使用在电子商务图像中微调的CNN进行显著性检测和分割。因此,除了备用图像的三个RGB通道外,分割图像还包括存储像素的显著性值的第四通道。第四通道中每个像素的显著性值可以在0~1的范围内。将具有等于或大于阈值的显著性值的像素定义为前景像素,将具有小于阈值的显著性值的像素定义为背景值。在某些实施例中,阈值设置为约0.6。在某些实施例中,背景像素被赋予白色。在某些实施例中,前景可以包括一个或多个片段。每个片段可以对应于备用图像中的一个对象,并且每个片段可以被命名为一个实例。
在步骤1006,在接收到分割图像时,边界框检测模块134为每个片段创建一个轮廓,定义包围片段轮廓的最小边界框,并将具有边界框和片段轮廓的图像发送给分割细化模块136。
在步骤1008,在接收到具有封闭的前景片段的边界框时,分割细化模块136对片段进行细化,并将具有细化的片段的细化的片段边界框发送给质量增强模块138。具体地,分割细化模块136为每个片段定义小片段边界框,然后细化小片段边界框中的片段。在某些实施例中,片段细化包括片段轮廓的异常值去除、片段的显著图的归一化、自适应阈值的应用、子像素平滑度以及片段交叉的擦除。结果是一个或几个小片段边界框,每个片段边界框包含相应的一个细化的片段。在细化期间,一些像素可能会从背景像素变为前景像素,它们的RGB值可以从位于存储器114中的原始备用图像中进行检索;一些像素可能会从前景像素变为背景像素,并被赋予白色。
在步骤1010,在接收到具有细化的片段的细化的片段边界框时,质量增强模块138改进细化的片段的质量以获得具有增强片段的增强的片段边界框,并将增强的片段边界框发送给对象模块140的框内属性模块142。该增强可以包括图像锐化和自适应图像直方图均衡化。
在步骤1012,在接收到增强片段时,框内属性模块142提取增强片段的像素索引,提取增强片段的框内属性,将像素索引发送给显著性排序模块144,并将提取的框内属性发送给噪声去除模块146。提取的框内属性可以包括例如图像矩、中心矩和透视比,以及可选的方位角。
在步骤1014,在接收到像素索引后,显著性排序模块144基于增强片段的平均显著性值对增强片段进行排序,并将排序片段发送给噪声去除模块146。
在步骤1016,在接收到片段和排序片段的框内属性时,噪声去除模块146去除噪声,选择一个增强片段,并将所选片段发送给特征模块150。在某些实施例中,噪声去除模块146首先使用图像矩过滤片段以丢弃具有太小的图像矩的片段,然后使用质心矩过滤保留的片段以丢弃远离备用图像中心的片段,然后使用纵横比过滤保留的片段以丢弃具有大纵横比的片段,然后使用方位角过滤保留的片段以丢弃倾斜度太大的片段,最后选择保留片段中具有最高平均显著性值的一个保留片段。在某些实施例中,基于方位角的过滤是可选的并可以删除。在某些实施例中,仅使用纵横比和排序的平均显著性值来进行噪声去除。
在步骤1018,在从噪声去除模块146接收到包含所选片段的片段边界框时,图像特征提取模块151从具有增强片段的增强的片段边界框中提取图像特征,并将提取的图像特征发送给图像特征嵌入模块152;图像特征嵌入模块152嵌入提取的图像特征以获得嵌入图像特征,并将该嵌入图像特征发送给特征组合模块156。
在步骤1020,在从噪声去除模块146接收到包含所选片段的分割边界框时,人工颜色直方图特征模块153为该片段生成颜色直方图,并将颜色直方图发送给颜色直方图增强模块154;颜色直方图增强模块154将颜色直方图从RGB空间转换为HSV空间以获得增强的颜色直方图,并将增强的颜色直方图发送给热门颜色模块155。热门颜色模块155根据增强直方图确定多个热门颜色,并将热门颜色发送给特征组合模块156。热门颜色的数量可以在1~5的范围内。在某些实施例中,热门颜色的数量为3。
在步骤1022,特征组合模块156将嵌入图像特征和片段的热门颜色进行组合以获得组合图像特征,并将组合图像特征发送给比较模块170。在某些实施例中,组合图像特征是向量的形式。
在步骤1024,在从产品检索器120接收到产品的文本和主图像时,文本和主图像模块160嵌入文本以获得产品的文本特征,嵌入产品的主图像以获得产品的主图像特征,并将文本特征和主图像特征发送给比较模块170。在某些实施例中,使用特征模块150将主图像直接用于图像嵌入。在某些实施例中,主图像也可以在被特征模块150嵌入之前由图像模块130、对象模块140预先处理。
在步骤1026,在接收到备用图像的组合图像特征、文本特征和主图像特征时,比较模块170将组合图像特征分别与文本特征和主图像特征进行比较,如果组合图像特征同时匹配文本特征和主图像特征,则将备用图像确定为合格的备用图像。可以对其他备用图像重复上述步骤1004~1024。如果有阈值数量或更多个备用图像是合格的备用图像,比较模块170选择阈值数量个具有最高平均显著性值的备用图像,并将文本、主图像(或增强的主图像)和阈值数量个增强备用图像发送给推荐模块180。阈值数量例如可以是2。
在步骤1028,在从比较模块170接收到产品时,推荐模块180将产品推荐给客户或选定的客户。每个推荐产品包括产品的文本、产品的主图像(或增强的主图像)和阈值数量个增强备用图像。
图11示意性地描绘了根据本公开的某些实施例的产品推荐系统的流程图。如图所11所述,M个产品要经过推荐过程。对于具有N个备用图像的产品m,每个备用图像n都进行了处理和过滤,并与产品m的文本和主图像进行匹配。如果备用图像n匹配文本并匹配主图像,则存储备用图像,该过程继续处理下一个备用图像。在处理完所有的备用图像后,如果该产品存在阈值数量个备用图像,则该产品被确定为合格的产品,并且该产品被确定为推荐产品。在处理完所有的M个产品后,将获得的推荐产品推荐给客户。图12示意性地描绘了根据本公开的某些实施例的备用图像的处理和过滤。如图12所示,可以对每个备用图像依次执行显著性分割、边界框检测、片段细化、片段增强、框内属性提取、平均显著性值排序和噪声去除的步骤。
在某些方面,本公开涉及一种存储计算机可执行代码的非暂时性计算机可读介质。代码在计算设备的处理器执行时可以执行上述方法。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。在某些实施例中,非暂时性计算机可读介质可以实现为如图1所示的计算设备110的存储设备116。
总之,本公开创建了一个完整的机器视觉处理流程来对产品照片进行分割、提取特征、增强和跨域验证。目前还没有能完全处理此任务的解决方案。一般而言,本公开有四个模块:(1)图像块、(2)对象块、(3)特征块和(4)匹配块。
图像块处理精确的图像分割和质量改进。该模块将图像切割成几个对象实例,并根据显著性优先级处理每个对象。
目标块分析每个分割图像区域并提取以下内容:(a)几何特征:质心、边界框、透视比、面积和图像内的相应位置,(b)一般图像特征:残差网络骨干特征提取,(c)颜色分布特征:去除噪声的显著性分析和纹理信息的颜色直方图特征。
特征块对所有图像特征进行后处理:(a)嵌入一般图像特征;(b)颜色空间变换、归一化、k均值、颜色分布特征的截断。
匹配块将所有差异特征嵌入在一起并评估这些特征之间的相关性。特征相关性得分低或包含冲突信息的图像会被自动删除。
本公开的某些实施例尤其具有以下有益优点:(1)例如通过迭代细化分割,图像的显著性检测是准确的。(2)可以在片段级中进行图像特征提取。(3)使用可变方法增强备用图像以获得高质量的备用图像。(4)提供图像和文本之间的对比。
本公开的示例性实施例的前述描述仅出于说明和描述的目的而呈现并且不旨在穷举或将本公开限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。
选择和描述实施例是为了解释本公开的原理及其实际应用,从而使本领域的其他技术人员能够利用本公开和各种实施例以及适合于预期的特定用途的各种修改。在不脱离本公开的精神和范围的情况下,替代实施例对于本公开所属领域的技术人员将变得显而易见。因此,本公开的范围由所附权利要求而不是前述描述和其中描述的示例性实施例限定。

Claims (20)

1.一种计算机实施的产品推荐方法,包括:
提供所述产品的产品信息,其中所述产品信息包括产品描述、主图像和多个备用图像;
从所述产品描述中提取文本特征,从所述主图像中提取主图像特征;
针对所述多个备用图像中的每个备用图像,从所述备用图像中提取图像特征,将所述图像特征与所述文本特征和所述主图像特征进行匹配,如果所述图像特征与所述文本特征和所述主图像特征匹配,则将所述备用图像确定为合格的备用图像;以及
当合格的备用图像的数量等于或大于阈值数量时,向客户推荐具有更新产品信息的所述产品,其中所述更新产品信息包括所述产品描述、所述主图像和所述阈值数量个合格的备用图像。
2.根据权利要求1所述的方法,其中,所述从所述备用图像中提取图像特征包括:
对所述备用图像进行显著性分割以获得所述备用图像的掩膜,所述掩膜包括片段和背景,所述片段的显著性值大于所述背景的显著性值;
定义包围所述片段的片段边界框;以及
从所述片段边界框中提取所述图像特征。
3.根据权利要求2所述的方法,在从所述片段边界框中提取所述图像特征之前,还包括:
对所述片段边界框中的所述片段进行细化以获得细化的片段边界框;以及
增强所述细化的片段边界框的图像质量以获得增强的片段边界框,
其中,从所述增强的片段边界框中提取所述图像特征,所述合格的备用图像是基于所述增强的片段边界框获得的。
4.根据权利要求3所述的方法,其中,所述对所述片段边界框中的所述片段进行细化包括:
通过腐蚀和膨胀从所述片段中去除异常像素;
对所述片段的像素的显著性值进行归一化以获得0到1范围内的归一化显著性值;
将自适应阈值应用于所述归一化显著性值以定义背景像素和前景像素;
将所述片段的轮廓中像素的显著性值设定为1;以及
将所述轮廓的边缘周围的显著性值平滑地降至0。
5.根据权利要求4所述的方法,其中,所述增强所述细化的片段边界框的图像质量包括对所述细化的片段边界框执行图像锐化和自适应图像直方图均衡化。
6.根据权利要求2所述的方法,其中,所述掩膜的所述片段包括多个片段,所述方法还包括,在从所述片段边界框中提取所述图像特征之前:
计算多个片段边界框中的每个片段边界框的0度图像矩;
当所述多个片段边界框之一的0度图像矩小于0度图像矩阈值时,删除所述多个片段边界框之一,以获得保留片段边界框;以及
计算每个所述保留片段边界框的平均显著性值,选择具有最高平均显著性值的保留片段边界框作为用于提取所述图像特征的所述片段边界框。
7.根据权利要求6所述的方法,其中,所述0度图像矩阈值是所述备用图像的面积的10%。
8.根据权利要求2所述的方法,其中,所述从所述片段边界框中提取所述图像特征包括:
使用卷积网络从所述片段边界框中提取一般图像特征;
从所述片段边界框中提取颜色直方图;
从所述颜色直方图中提取前k个颜色;以及
将所述一般图像特征和所述前k个颜色进行组合以形成所述图像特征。
9.根据权利要求8所述的方法,其中,使用k均值聚类来提取所述前k个颜色,k是3。
10.根据权利要求1所述的方法,其中,所述将所述备用图像确定为合格的备用图像包括:
使用转换器将所述图像特征与所述文本特征进行匹配;以及
使用余弦相似度将所述图像特征与所述主图像特征进行匹配。
11.根据权利要求1所述的方法,其中,所述阈值数量是2。
12.一种产品推荐系统,其中,所述系统包括计算设备,所述计算设备包括处理器和存储计算机可执行代码的存储设备,所述计算机可执行代码在所述处理器处执行时被配置为:
提供所述产品的产品信息,其中所述产品信息包括产品描述、主图像和多个备用图像;
从所述产品描述中提取文本特征,从所述主图像中提取主图像特征;
针对所述多个备用图像中的每个备用图像,从所述备用图像中提取图像特征,将所述图像特征与所述文本特征和所述主图像特征进行匹配,如果所述图像特征与所述文本特征和所述主图像特征匹配,则将所述备用图像确定为合格的备用图像;以及
当合格的备用图像的数量等于或大于阈值数量时,向客户推荐具有更新产品信息的所述产品,其中所述更新产品信息包括所述产品描述、所述主图像和所述阈值数量个合格的备用图像。
13.根据权利要求12所述的系统,其中,所述计算机可执行代码被配置为通过以下步骤提取所述图像特征:
对所述备用图像进行显著性分割以获得所述备用图像的掩膜,所述掩膜包括片段和背景,所述片段的显著性值大于所述背景的显著性值;
定义包围所述片段的片段边界框;以及
从所述片段边界框中提取所述图像特征。
14.根据权利要求13所述的系统,其中,所述计算机可执行代码还被配置为,在从所述片段边界框中提取所述图像特征之前:
对所述片段边界框中的所述片段进行细化以获得细化的片段边界框;以及
增强所述细化的片段边界框的图像质量以获得增强的片段边界框,
其中,所述计算机可执行代码被配置为从所述增强的片段边界框中提取所述图像特征,所述合格的备用图像是基于所述增强的片段边界框获得的。
15.根据权利要求14所述的系统,其中所述计算机可执行代码被配置为通过以下步骤对所述片段边界框中的所述片段进行细化:
通过腐蚀和膨胀从所述片段中去除异常像素;
对所述片段的像素的显著性值进行归一化以获得0到1范围内的归一化显著性值;
将自适应阈值应用于所述归一化显著性值以定义背景像素和前景像素;
将所述片段的轮廓中像素的显著性值设定为1;以及
将所述轮廓的边缘周围的显著性值平滑地降至0。
16.根据权利要求15所述的系统,其中,所述计算可执行代码被配置为通过以下步骤增强所述细化的片段边界框的图像质量:对所述细化的片段边界框执行图像锐化和自适应图像直方图均衡化。
17.根据权利要求12所述的系统,其中,所述备用图像的所述片段包括多个片段,所述计算机可执行代码还被配置为:
计算多个片段边界框中的每个片段边界框的0度图像矩;
当所述多个片段边界框之一的0度图像矩小于0度图像矩阈值时,删除所述多个片段边界框之一,以获得保留片段边界框;以及
计算每个所述保留片段边界框的平均显著性值,选择具有最高平均显著性值的保留片段边界框作为提取所述图像特征的所述片段边界框,
其中,所述0度图像矩阈值是所述备用图像的面积的10%。
18.根据权利要求12所述的系统,其中,所述计算机可执行代码被配置为通过以下步骤从所述片段边界框中提取图像特征:
使用卷积网络从所述片段边界框中提取一般图像特征;
从所述片段边界框中提取颜色直方图;
从所述颜色直方图中提取前k个颜色;以及
将所述一般图像特征和所述前k个颜色进行组合以形成所述图像特征。
19.根据权利要求12所述的系统,其中,所述计算机可执行代码被配置为通过以下步骤将所述备用图像确定为合格的备用图像:
使用转换器将所述图像特征与所述文本特征进行匹配;以及
使用余弦相似度将所述图像特征与所述主图像特征进行匹配。
20.一种存储计算机可执行代码的非暂时性计算机可读介质,其中,所述计算机可执行代码在计算设备的处理器处执行时被配置为:
提供所述产品的产品信息,其中所述产品信息包括产品描述、主图像和多个备用图像;
从所述产品描述中提取文本特征,从所述主图像中提取主图像特征;
针对所述多个备用图像中的每个备用图像,从所述备用图像中提取图像特征,将所述图像特征与所述文本特征和所述主图像特征进行匹配,如果所述图像特征与所述文本特征和所述主图像特征匹配,则将所述备用图像确定为合格的备用图像;以及
当合格的备用图像的数量等于或大于阈值数量时,向客户推荐具有更新产品信息的所述产品,其中所述更新产品信息包括所述产品描述、所述主图像和所述阈值数量个合格的备用图像。
CN202211416829.0A 2022-02-01 2022-11-11 用于验证产品实拍的系统和方法 Pending CN116012290A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/590,210 2022-02-01
US17/590,210 US20230245208A1 (en) 2022-02-01 2022-02-01 System and method for validating product photography

Publications (1)

Publication Number Publication Date
CN116012290A true CN116012290A (zh) 2023-04-25

Family

ID=86018087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211416829.0A Pending CN116012290A (zh) 2022-02-01 2022-11-11 用于验证产品实拍的系统和方法

Country Status (2)

Country Link
US (1) US20230245208A1 (zh)
CN (1) CN116012290A (zh)

Also Published As

Publication number Publication date
US20230245208A1 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
US20240070214A1 (en) Image searching method and apparatus
JP5916886B2 (ja) 画像特徴の類似性に基づく画像索引作成
US9367756B2 (en) Selection of representative images
EP3028184B1 (en) Method and system for searching images
Liang et al. Objective quality prediction of image retargeting algorithms
CN108334644B (zh) 图像识别方法和装置
US8649602B2 (en) Systems and methods for tagging photos
CN110023989B (zh) 一种素描图像的生成方法及装置
CN108154132A (zh) 一种身份证文字提取方法、系统及设备和存储介质
US11574392B2 (en) Automatically merging people and objects from multiple digital images to generate a composite digital image
CN111476319B (zh) 商品推荐方法、装置、存储介质和计算设备
CN108830175A (zh) 虹膜图像局部增强方法、装置、设备及存储介质
CN113111880B (zh) 证件图像校正方法、装置、电子设备及存储介质
CN108205657A (zh) 视频镜头分割的方法、存储介质和移动终端
Kim et al. Robust facial landmark extraction scheme using multiple convolutional neural networks
Wu et al. Privacy leakage of sift features via deep generative model based image reconstruction
Chen et al. Learning to rank retargeted images
CN111222546A (zh) 一种多尺度融合的食品图像分类模型训练及图像分类方法
US20190220693A1 (en) Systems and methods for image matching
Shen et al. Gestalt rule feature points
CN113971644A (zh) 基于数据增强策略选择的图像识别方法及装置
JP2015094973A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び記録媒体
CN110942062B (zh) 图像验证码生成方法、介质、装置和计算设备
CN113012030A (zh) 图像拼接方法、装置及设备
CN111597894A (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