CN112889068A - 用于图像处理的神经网络对象识别的方法和系统 - Google Patents
用于图像处理的神经网络对象识别的方法和系统 Download PDFInfo
- Publication number
- CN112889068A CN112889068A CN201880094093.5A CN201880094093A CN112889068A CN 112889068 A CN112889068 A CN 112889068A CN 201880094093 A CN201880094093 A CN 201880094093A CN 112889068 A CN112889068 A CN 112889068A
- Authority
- CN
- China
- Prior art keywords
- neural network
- instance
- mask
- frame
- video sequence
- 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
Links
Images
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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
一种用于图像处理的神经网络对象识别的系统、物品和方法,包括定制训练数据库和适配用于执行定制的实例分割神经网络。
Description
背景技术
计算机视觉向计算机或自动化机器提供视觉能力。因此,希望在计算机视觉中,通过能够理解例如在3D中所看到的以及从由相机捕获的图像中所看到的内容,向这样的系统提供对物理世界进行推断的能力。换句话说,在机器人、虚拟现实(VR)、增强现实(AR)、和融合现实(MR)方面的应用可能需要了解在这些应用中提供视点的机器人或人周围的世界。例如,机器人需要理解它看到的东西以便操纵(抓取、移动等)物体。例如,VR、AR或MR应用需要了解提供视点的人周围的世界,使得当人在这样的世界中移动时,人被展示以避开该世界中的障碍物。这种能力还允许这样的计算机视觉系统向世界环境添加语义上看似可信的虚拟对象。因此,理解其正在看的是灯的系统能够理解灯的用途和操作。其他计算机视觉应用也使用这种语义对象识别,例如视频编辑、自动驾驶车辆、智能家居、安全系统等。
出于这些目的,包括对象分类、检测和分割的许多语义对象识别技术现在都基于神经网络。然而,许多传统的神经网络对象识别技术是在相对于世界中潜在对象的数目来说太小的数据集上训练的,因此经常丢失期望的对象。然而,网络数据集通常也非常大,以至于训练神经网络既昂贵又耗时。当这种神经网络通常不可适配以针对特定用户来将期望的目标对象添加到神经网络数据库时,情况变得更糟。
附图说明
本文描述的材料在附图中以示例方式而不是以限制方式示出。为简单和清楚起见,图中所示的元件不一定按比例绘制。例如,为了清楚起见,某些元件的尺寸可能会相对于其他元件被夸大。此外,在被认为合适的情况下,附图标记在附图之间被重复以指示相应或相似的元件。在附图中:
图1是根据本文的至少一个实现方式的图像处理设备的示意图;
图2是根据本文的至少一个实现方式的用于图像处理的对象识别方法的流程图;
图3A-3C是根据本文的至少一个实现方式的用于图像处理的识别方法的详细流程图;
图4是根据本文的至少一个实现方式的用于对象分割的局部和全局神经网络适配的示意性流程图;
图5是根据本文的至少一个实现方式的合并对象分割掩膜方法的示意性流程图;
图6是具有要分割的对象的示例视频图像的序列;
图7是针对图6的视频图像序列的示例所产生的对象分割掩膜的序列;
图8A-8D是根据本文中的至少一个实现方式的用于展示用户定义的数据集条目的示例图像,该用户定义的数据集条目用于图像处理的对象识别方法;
图9是示例系统的示意图;
图10是另一示例系统的示意图;以及
图11示出了另一示例设备,全部根据本公开的至少一些实现方式来布置。
具体实施方式
现在参考所附附图描述一个或多个实现方式。虽然讨论了具体的配置和布置,但应该理解,这仅是为了说明的目的而执行的。相关领域的技术人员将认识到,在不脱离说明书的精神和范围的情况下,可以采用其他配置和布置。对于相关领域的技术人员来说显而易见的是,本文描述的技术和/或布置也可以用于除本文描述之外的各种其他系统和应用中。
尽管下面的描述阐述了可以在诸如例如片上系统(SoC)体系结构之类的体系结构中体现的各种实现方式,但是本文描述的技术和/或布置的实现方式不限于特定的体系结构和/或计算系统,并且可以由用于类似目的的任何体系结构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种体系结构,和/或各种计算设备、商业设备和/或消费电子(CE)设备(诸如,可用于也可以不用于计算机视觉任务的成像设备、数码相机、智能电话、网络摄像头、视频游戏面板或控制台、机顶盒、平板电脑等)可以实现本文所描述的技术和/或布置,其中它们中的任一者可以具有用于执行对象检测、深度测量和其他任务的光投影仪和/或传感器。此外,尽管下面的描述可以阐述许多具体细节,例如逻辑实现方式、系统组件的类型和相互关系、逻辑分区/集成选择等,但是所要求保护的主题可以在没有这些具体细节的情况下被实施。在其他情况下,诸如例如控制结构和完整的软件指令序列之类的一些材料可能不会被详细示出,以便不模糊本文公开的材料。本文公开的材料可以以硬件、固件、软件或其任何组合来实现。
本文公开的材料还可以被实现为存储在机器可读介质或存储器上的指令,其可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电的、光的、声的或其他形式的传播信号(例如,载波、红外信号、数字信号等)以及其他。在另一种形式中,诸如非暂时性计算机可读介质之类的非暂时性物品可以与上述任何示例或其他示例一起使用,除了其不包括暂时性信号本身之外。它包括信号本身以外的那些可以以一种“暂时”的方式暂时保存数据的元件,例如RAM等。
在本说明书中,对“一个实现方式”、“实现方式”、“示例实现方式”等的引用指示所描述的实现方式可以包括特定的特征、结构或特性,但每个实现方式可能不一定包括该特定的特征、结构或特性。此外,这些短语不一定指的是相同的实现方式。此外,当结合实现方式描述特定的特征、结构或特性时,主张的是结合无论本文是否明确描述的其他实现方式影响这种特征、结构或特性在本领域技术人员的知识范围内。
用于提供用于成像处理的神经网络对象识别的系统、物品和方法。
如所提及的,计算机视觉经常被用来对物理世界进行推断。机器人、虚拟现实(VR)、增强现实(AR)、融合现实(MR)中的应用和其他计算机视觉自动化应用可能需要了解相机传感器周围的世界,无论相机传感器是在机器人上、针对用户的视点(POV)被安装、还是被安装在其他设备(诸如自动驾驶车辆)上。例如,这些系统可能需要理解它看到的内容,以便操纵(抓取、移动等)物体。VR/AR/MR应用可能需要了解世界,以便随着用户移动而避开障碍物,并且将语义上看似可信的虚拟对象添加到环境中。在其他方面,语义对象识别可以用于需要标识图像内的对象的许多不同应用。
为了执行这些任务,正在使用许多机器学习技术,诸如基于深度学习的方法,该方法训练神经网络以执行针对对象识别的计算机视觉任务,诸如对象分类、对象检测、空间对象分割、和语义对象分割(或识别)。对象识别技术可以包括经常重叠或被组合以由单个算法或神经网络技术执行的多个这样的操作。
传统的对象识别技术具有许多缺点。首先,许多传统的深度学习网络是在具有固定数目的对象类型的预定义数据集上训练的。目前,不可能构建一个具有世界上所有对象的数据集,因此,很难训练一通用网络来包含所有东西。例如,掩膜区域卷积神经网络(maskregional convolutional neural network,Mask R-CNN)检测并分割80个类别,并且Yolo9000检测9000个对象。虽然9000对于当前的数据集和分类器来说是一个很大的数字,但与世界上数以百万计的对象类型相比,这仍然是一个相对较小的数字。因此,从一个角度来看,针对传统对象识别神经网络的训练数据库是太小的数据库。
此外,一些技术被称为一次性(one-shot)视频对象识别和分割,其被用于小数据集和用户定义的对象理解场景。在该技术中,用户可以请求图像中要识别和分割的任何对象。该一次性技术通常通过使用在视频帧序列中对对象进行语义标记的单个注释帧来训练。然而,该一次性神经网络技术由于仅有单个注释帧而容易过拟合,并且不能处理其数据集中的对象在外观、形状等方面的对象变化。此外,该一次性技术是受限的,因为这些技术不能处理新场景,其中新场景包括它还没有经历过的新对象和新背景。
其次,从另一个角度来看,传统的对象识别和分割技术的神经网络训练数据库太大。特别地,深度学习技术的性能在很大程度上取决于所提到的带有仔细注释的大量训练数据。在许多应用中,感兴趣的对象因任务而异,并且神经网络必须被训练来处理所有任务。因此,例如通过针对每个特定任务训练通用神经网络来针对每个单独的任务构建单独的数据集可能是非常昂贵和耗时的,因此是不切实际的。
第三,传统的神经网络对象识别和分割技术不可适配。用户对某些对象类型的需求总是在变化。作为示例,在老年人护理领域,老年人可以使用具有计算机视觉的机器人来帮助标识药物或甚至分配药物。当需要这样的动作时,这些系统通常没有任何方式让用户将新药瓶类型(新瓶子形状和瓶子上的打印标签)的图像添加到神经网络数据库。
许多传统技术试图解决这些问题。这包括OSVOS(One-Shot Video ObjectSegmentation,一次性视频对象分割)(参见Caelles,S.等人,“One-shot Video ObjectSegment”,CVPR(2017))。OSVOS使用用于视频对象分割的半监督方法。对于每个视频,只有第一帧被注释。这种传统技术在大的数据集上预先训练分割神经网络,然后在给定的一个注释上微调神经网络。这种方法可以很好地处理简单的视频,但容易在开头的注释帧上过拟合,因此不能处理前景中对象的大的变化或变形,也不能处理背景上的显著变化。此外,该技术没有为用户提供定制和扩展网络能力的方式。
使用增扩数据来微调深度神经网络的一次性分割技术是清晰数据梦(Lucid DataDreaming)(参见Khoreva等人,“Lucid Data Dreaming for Object Tracking”,CVPR研讨会,(2017)),其通过模拟在照明、变形、运动等方面的前景和背景变化来合成训练数据,然后合成用于训练的新数据。这是通过在动态背景上进行内绘制(in-painting)来实现的。然而,该技术中的变换相对受限,因为该技术不能充分分割尚未被包括在神经网络训练数据库中的前景和背景对象(在此被称为尚未经历的对象)两者的大的变化。大变形很难模拟,并且未知的新对象很难预测。因此,该方法对于大的外观变化(尤其是在背景上的)不鲁棒。此外,清晰数据梦也不会向用户提供定制和扩展神经网络训练数据库的能力。
另一种技术确实执行了对神经网络训练数据库的自动增长,但是添加的数据是不可靠的。具体地,在线适配性视频对象分割(Online Adaptive Video ObjectSegmentation,OnAVOS)(参见Voigtlaender,P.等人,“Online adaptation ofconvolutional neural networks for video object segmentation”,BMVC(2017))是OSVOS数据库的更新在线适配版本,其通过使用其自己的以自循环方案形式的输出来将前景变化添加到训练数据库。通过使用更多的训练数据,针对外观改变的性能略有提高,但无法确定所添加的训练数据的准确性。不准确的标签可能会导致伪影,并且随着视频被分析和训练数据演进,分割错误可能会累积。因此,伪影很可能被不合需要地考虑作为正样本用于训练数据库,并且随着视频被分析,伪影然后可能贯穿训练迭代地扩散。
为了解决这些问题,本文公开了一种一次性、半监督的对象识别和分割系统和方法,其在小的训练数据集上有效地操作,并且可以由用户容易地定制以添加新的所需感兴趣对象。所公开的方法随着输入视频被逐实例和逐帧地分析来收集和累积训练数据,以用于对神经网络训练数据库进行训练,该神经网络训练数据库本身在定制设置模式期间自动生成用于训练实例分割神经网络的可靠注释。实例分割神经网络是语义分割神经网络,其通常提供针对单个实例的分割掩膜(mask),一次一个实例,并且在此该实例可以是用户定义的实例。实例分割神经网络在运行时(run-time)或推理模式期间提供精细(相对于粗略)像素级别边界和一个语义识别标签。然而,在这里描述的定制设置模式期间,还不需要语义识别,因为定制设置模式期间已经知道实例的标签,在如下所解释的。
在本文中,实例分割神经网络通过微调“自身”来被适配于每个帧。这是通过在定制设置模式期间提供三个特定特征来实现的。第一,用户能够将所需感兴趣对象添加到神经网络训练数据库,第二,一般知识(或通用)神经网络被用来提供候选掩膜,以及第三,实例分割神经网络是使用局部和全局神经网络适配技术来在数据库上训练的。在定制模式期间,实例分割神经网络提供分割掩膜,这些分割掩膜可以是二进制掩膜并且这些分割掩膜要与候选掩膜进行比较以确定候选掩膜的质量以供选择并添加到训练数据库。一旦经训练,实例分割神经网络在运行时(或推理)期间被使用,以提供作为语义对象识别结果的注释输出掩膜。
更具体地,提出了一种用户定制的对象分割解决方案或定制设置模式,在该对象分割解决方案或定制设置模式中,图像捕获设备和图像处理系统(例如,智能手机)的终端用户例如可以通过在(一个或多个)对象的视频序列的第一帧上提供每对象仅一个注释来定义他/她自己的感兴趣对象。无论用户想要的对象是什么,本方法只需要输入视频序列的帧中的一个帧被注释(或初始掩膜被提供),以自动生成相应的训练数据并使实例分割神经网络适配于对象变化。用户不需要针对所需对象和针对定制训练手动构建过大的预定义和固定的训练数据集。该定制设置模式由终端用户方便地执行,以根据终端用户的需要定制具有要识别的对象的神经网络训练数据库。这是由用户,在例如制造商对神经网络进行默认预训练之后,但在实际使用(或运行时或推理)以识别那些所需对象之前,执行的。定制设置模式也可以被称为网络微调模式。
这样的系统和方法还包括一般知识或通用神经网络的操作,以提供用户所需对象的候选掩膜。因此,这样的网络接收具有第一注释帧的用户视频序列作为输入。然后使用一般知识网络来提供可靠的、自动的对神经网络训练数据的生成。一般知识网络以候选掩膜的形式生成可能的训练数据,并且该训练数据对于外观改变、大的变换、遮挡等是鲁棒的。然后,通过选择通过某些标准的候选掩膜来确定质量度量以仅选择合格数据用于训练。
在预训练期间,一般知识神经网络基于一个或多个大的通用数据集,并且以类别不敏感的方式被重新训练或微调以使一般神经网络训练数据库适配于任何对象类型。由于帧中的一个(或某其他选定低数目的)帧在输入视频序列上被注释,并且因此为了避免过拟合,(一个或多个)输入注释帧上的目标对象被增扩(或改变)以形成针对每个对象的许多训练帧。此外,通过按层和/或历元(epoch)(其中历元是所有训练数据通过网络的单程)将经增扩数据限制到神经网络的一小部分来微调一般知识神经网络。因此,一般知识网络将能够标识所需的感兴趣对象,但它也将能够检测和分割其他新对象。
与训练后具有固定能力的传统深度神经网络不同,这里的实例分割神经网络随着数据基于两级网络适配策略被累积和添加到神经网络训练数据库而在能力方面有所增长。实例分割神经网络在定制微调模式期间自动地逐渐(或者换句话说,以逐帧的方式)被更新,并且被适配于前景和背景两者中的新场景和对象变化。这是通过使用局部适配技术和全局适配两者来实现的,其中局部适配技术强调来自(相对于沿视频序列在时间上更远的帧)附近帧的训练样本用于基于当前帧进行训练,而全局适配使用来自视频序列的所有或基本上所有帧的样本。具体地,在局部网络适配中,实例分割网络主要在附近帧上被微调,以便在下一帧上获得良好的性能,这是立即有益的,使得该方法在质量测量阶段期间选择良好的候选掩膜。在全局网络适配中,实例分割神经网络在所有生成的数据(针对实例和针对视频序列分析的所有帧)上被微调,以便可适配于不同的变化。这可以包括使用来自训练数据库的由局部适配使用的相同样本中的一些样本,使得可以使用同一对象的多个历元来执行训练。这导致通过利用所有训练数据来训练对象变化,从而提高神经网络的准确性。
因此,可以说,与传统方法相比,本方法在神经网络适配操作和数据生成操作之间迭代,以在较大变化的对象上提供更好的质量(更准确)。通过使用所提出的方法在定制模式下累积训练数据,实例分割神经网络在该数据上被微调以提高性能并且被指示通过在对象的累积数据上进行训练来强调对(一个或多个)目标对象的分割。如上所述结合一般知识(通用)神经网络来使用实例分割网络(而不是单独使用通用神经网络)具有少得多的错误警报和更好的对象边界上的轮廓。与传统方法和单独一般知识网络这两者相比,基于数据生成和网络适配两者,实例分割网络显著提高了性能。
参考图1,图像处理系统100可以包括对象识别系统102,以执行本文描述的对象识别方法。图像处理系统100还可以具有图像和注释输入单元104,其可以被认为是也可以不被认为是对象识别系统102的一部分。对象识别系统102可选择地可以具有如下所述的初始实例检测单元106,但另外还具有数据生成单元108、实例分割单元110、和神经网络训练数据库112。在定制或微调模式中,对象识别系统102执行迭代循环或环形训练过程,以在由用户在该模式期间添加到该系统的对象上训练实例分割神经网络。为了执行该过程,数据生成单元108接收具有所需对象的图像,并且针对对象提供候选掩膜。执行质量评估以确定哪个候选掩膜是最准确的掩膜,然后将所选择的掩膜添加到训练数据库112,从而使所添加的掩膜或数据可靠。实例分割单元110获得所添加的对象并执行适配过程以用那些新对象训练实例分割神经网络120,并输出针对那些新对象的分割掩膜。然后,通过将这些分割掩膜与同一实例的候选掩膜进行比较,来使用这些分割掩膜执行质量评估。
现在首先是更详细地关于系统100的预训练模式,数据生成单元108具有操作通用神经网络(Gen.Net)116的通用神经网络(或只用net表示)单元114,并且实例分割单元110具有运行实例分割神经网络(Ins.Seg.Net)120的实例分割神经网络(net)单元118。这两个单元都可以包括用于生成初始或默认神经网络的预训练模块,或者可以与远程预训练模块通信以生成初始神经网络116和120,初始神经网络116和120随后被分别上载到在具有对象识别系统的逻辑和软件的计算设备上的一般知识网络单元114和实例分割网络单元118,其中该一般知识网络单元114可以远程地或在设备上被微调。预训练可以包括在公共(或一般知识或通用)数据集上进行初始训练,然后在每个实例的经增扩数据上微调网络。下面通过过程300提供预训练的细节。
在定制设置模式中,用户(或由用户发起的自动程序)以视频记录将来要在运行时或推理模式期间识别的一个或多个目标对象。图像和注释输入单元104以视频序列的形式从用户接收图像,然后输入来自用户的针对视频序列的第一帧的注释,但是可以是不同的帧或比视频序列的全部帧少得多的不同数目的帧。通过一种形式,上载的第一图像在界面上被显示给用户,并且用户在要识别的实例(或对象)周围画出边界(例如针对每个对象以不同的颜色画出),然后输入针对每个标识实例的注释。这会自动生成在定制设置模式期间要训练的实例数目的计数。如果上载的视频序列中出现其他实例,则这些实例将被忽略。此外,如果一个或多个实例在视频序列期间从记录的视野中消失,也将不会影响对象识别。例如,假设输入视频序列中有两个实例。在视频序列的第一帧之后,无论实际有多少个实例,定制设置模式都会分割这两个目标实例。因此,如果这两个实例中的一个从图像中消失,则定制设置模式对象分割仍然执行两次,针对每个对象一次。对于缺失的实例,实例分割神经网络的输出提供空结果。通过一种形式,可以指示用户优选地从不同的视角对一个或多个对象进行录制。图像数据可以由该单元或足以进行对象识别操作的其他单元来预处理,如下所述。
通过另一选项,在用户上载视频序列之后,初始实例检测单元106然后分析视频序列的帧,特别是视频序列的第一帧,并且可以在单个第一帧上的每个对象或实例的位置被标识和计数的情况下,针对每个帧提供至少粗略的对象分割。
此后,对象识别系统102然后通过以下操作来一次一个实例地执行对象识别(包括实例分割):分析整个视频序列以适配实例中一个实例的实例分割,如下面详细描述的。然后,可以针对每个实例重复对视频序列的分析,或者针对每个实例并行地分开分析视频序列。
具体地,针对单个实例,视频序列的每个帧被分析,并且这针对每个实例被重复多次迭代,例如,三次。一般知识网络单元114将来自视频序列的图像一次一帧地输入到一般知识神经网络116,并且针对当前帧t并针对单个实例提供一组候选掩膜j,其中每个候选掩膜被指定为Ctj。
实例分割网络单元118还接收视频序列的帧并分析该帧的图像数据,这也是一次一帧并且针对正由一般知识网络单元114分析的相同实例进行。实例分割神经网络120的输出是分割掩膜Mt,并且一种形式是二进制分割掩膜。候选掩膜和分割掩膜两者都被提供给质量评估单元122,该质量评估单元122可以是数据生成单元108的一部分。质量评估单元122比较这些掩膜,并确定哪个候选掩膜与分割掩膜最相似。这可以通过将分割掩膜和每个候选掩膜之间的差异与阈值进行比较来确定。通过一种形式,这包括将质量分数与由颜色直方图形成的阈值进行比较,并计算候选与分割掩膜之间的加权Jaccard相似性系数或索引(或本文简称为Jaccard),如下所述。然后,将该分数与阈值或其他标准进行比较以选择候选中的一个作为用于添加到训练数据库112的最佳候选,其在本文也被称为添加掩膜,该添加掩膜可以成为要用于适配实例分割神经网络(或ISNN)120的样本。通过一个示例,训练数据库112仅保存添加掩膜,并且用于一般知识神经网络和实例分割掩膜的预训练初始数据集与训练数据库112保持分开。这些初始数据集可以是固定的和/或相对于本文描述的定制设置模式而单独随时间更新的。
转到对实例分割神经网络120的适配,使用两种适配技术:局部适配和全局适配。局部适配根据样本帧与正被分析的当前目标帧沿视频序列在时间上的接近程度,基于来自其他帧的训练数据库样本来适配实例分割神经网络以在目标帧上输出精细分割掩膜。帧在时间上越接近,实例分割神经网络(或ISNN)120样本就越有可能将被与该帧的样本适配。局部适配单元124将确定要选择哪些训练数据库样本来适配实例分割神经网络,如下所述。
全局适配单元126将来自视频序列(针对当前实例)的所有帧的所有样本适配到ISNN 120。全局适配单元126在整个视频序列或视频序列的指定多帧部分针对由迭代计数器128追踪的单次迭代被分析之后,执行该适配。同样,这针对单个实例执行设置次数的迭代。然后针对每个实例重复该过程。
在在线运行时(推理)模式中,运行时(推理)输入130被提供给用于运行ISNN 120的实例分割网络单元118。条件随机场(conditional random field,CRF)分类器132收集针对每个实例的二进制掩膜,并将它们组合成单个帧,以输出可由其他应用(无论是计算机视觉应用还是其他应用)使用的针对帧的实例掩膜。
参考图2,提供了用于成像处理的对象识别方法的过程200。在所示实现方式中,过程200可以包括一个或多个均匀编号的操作、功能或动作202至212。作为非限制性示例,本文可以参考图1的示例图像处理系统100或图9的示例图像处理系统900(在相关的情况下)来描述过程200。
过程200可以包括“获得捕获的视频序列的帧的图像数据,包括要被识别和被添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制神经网络训练数据库”202。该操作可以包括用户通过以下操作来激活定制设置模式:或者通过将视频序列上载到某应用或程序,或者通过在这种应用或程序上通过信号、电子开关等指示开始该模式。这可以涉及用户拍摄该用户希望他/她的设备(例如,智能手机)能够识别的一个或多个对象的视频。用户可以用智能手机相机或其他设备手动捕获图像,或者计算机视觉系统可以自动捕获图像,例如在针对这种布置设置相机的系统上。可以提供界面来指导用户如何捕获图像并针对图像中的对象输入标签或注释。通过一种形式,注释仅标记视频序列的第一图像上的对象。结果得到图像数据的视频序列,其将被用于对象识别或分割系统的定制化训练神经网络。该操作还可以包括,除了针对视频序列的多个帧的亮度值之外,还以具有RGB、YUV或其他颜色空间值的经预处理原始图像数据的形式获得视频序列。该操作还可以包括当深度数据被用于分割分析时获得深度数据。
可选地,尽管本文讨论的示例将从用户接收视频序列,但是将理解,首先捕获视频以用于对象识别训练目的的决定可以是完全自动的,其中,计算机视觉设备或应用可能无法识别图像中的对象并决定提示用户或其他应用进行识别注释或标记,并且然后将图像和注释提供给本文提供的对象识别系统。例如,首先,可以执行类别不敏感的对象检测和/或分割方法(参见例如,Uijlings,J.R.R.等人,“Selective Search for ObjectRecognition”,International Journal of Computer Vision,技术报告(2012);以及Vande Sande,Koen E.A.等人,“Segmentation as Selective Search for ObjectRecognition”,International Journal of Computer Vision,第104(2)卷,第154-171页(2013))。然后,对于每个检测到和分割的对象,可以运行常规的对象识别、检测和/或分割算法,例如对定制设置训练进行计数(参见例如,Redmon,Joseph等人,“Yolov3:Anincremental Improvement”,arXiv(2018))。该算法也可以用于利用初始实例检测单元106进行的上述自动分割。如果自动识别和实例计数失败,则可以在界面上提示用户手动标识和注释所捕获的视频中的所需对象。
过程200可以可选择地包括“将帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜”204。这可以包括例如基于已知的通用数据库生成通用神经网络。可以在预处理模式期间对数据库以及进而对神经网络进行微调,以提高神经网络的准确度,从而识别数据库中已有对象的更多变化并提高识别数据库中尚不存在的对象的准确度。此后,可以在定制或微调模式期间接收来自用户的图像数据。通过一种形式,图像数据已经运行通过初始分割算法来提供对图像中对象或实例的计数。然后,一般知识神经网络可以逐实例地分析图像,并且针对每个单个实例输出候选掩膜集合。
然后,过程200可以包括“通过将添加掩膜添加到训练数据库来定制训练数据库,并且该添加掩膜是多个候选掩膜中被选择的一个掩膜”206,并且因此,该方法然后将选择候选掩膜中的一个掩膜来添加到训练数据库。每个掩膜可以是以二进制、灰度尺度或揭示哪些像素是对象的一部分以及哪些像素不指示对象边界的其他尺度。
该操作还可以包括执行质量评估以提供针对每个候选掩膜的质量分数。通过一种方法,分数包括候选掩膜中的一个与来自实例分割神经网络的分割掩膜进行的比较。通过一种形式,针对每个候选掩膜都有分数。通过一个示例,分数可以包括对颜色直方图的比较和对加权Jaccard的计算,但是也可以使用其他算法。可以将分数与阈值或其他标准进行比较,以确定将哪个候选掩膜添加到训练数据库。
一旦选择了候选掩膜,则候选掩膜、形成掩膜中的对象(或实例)的相应图像或帧、以及针对对象或实例的注释作为定制数据集的一部分被存储在训练数据库中。
同时,过程200还可以包括“将帧输入到实例分割神经网络中以输出分割掩膜”208,并且这可以包括向ISNN提供相同的用户视频序列,ISNN也一次一个实例地操作历元。ISNN逐帧地接收单个帧作为输入,并输出针对实例和针对每个帧的分割掩膜。在定制设置模式期间,ISNN执行空间识别而不执行语义识别,因为ISNN是在针对单个实例操作,并且注释或标签是已知的。同样在该定制设置模式期间,分割掩膜被用于与候选掩膜进行比较以用于质量评估,如上所述。ISNN的结构的细节提供如下。
为了针对添加到训练数据库的定制化对象而训练ISNN,过程200还可以包括“修改实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于训练数据库中的至少一个添加掩膜”210。通过一个示例,这可以包括局部适配操作或全局适配操作。通过一种形式,两种操作都被使用。这涉及在被添加到训练数据库但通过多个帧被提供的样本(或添加掩膜)上运行ISNN。对于局部适配,每个帧都运行局部适配,并且帧沿着视频序列越接近正被分析的当前帧,ISNN就越有可能通过使用该帧的样本或添加掩膜来适配。例如,相同实例的并且在最接近的五帧内的每个样本可能有70%的机会被使用,而来自在时间上距当前目标帧更远的帧的样本可能只有30%的机会被使用。通过其他替代方案,可以替换为使用固定间隔或另外使用固定间隔,使得最近10帧的每个样本被使用,然后针对接下来的10帧每隔一帧地使用,然后针对接下来的100帧每隔5帧地使用,依此类推。
在整个视频序列上在每次迭代处运行一次全局适配,并且针对视频序列中的每个帧在相同实例的样本上运行ISNN。这复制了样本,使得全局和局部适配两者都可以使用来自训练数据库的相同样本,如上所述,这导致对那些特定样本的更强识别。
过程200可以包括“通过使用经修改的实例分割神经网络在推理运行时期间执行对象识别”212。这指的是在定制设置模式期间进行训练之后的在线运行时(或推理)模式,使得现在图像正被捕获以用于对象识别本身。在该模式期间,使用ISNN输出分割掩膜作为最终的对象识别掩膜。可以将其提供给分类器,该分类器收集同一帧的所有实例并形成针对整个帧的单个掩膜,如下所述。然后,该基于帧的掩膜可以被提供用于进一步的微调,或者可以被提供给使用对象识别的其他应用(例如自动车辆系统、不同的现实系统(虚拟的、增强的,等等))或者标识图像中的对象的其他应用(例如,本文提到的药物识别程序)。
因此,本文公开的这种半监督视频对象分割方法提供了用户可访问的的定制设置模式,该定制设置模式执行数据生成和神经网络适配。本系统不需要与领域相关的(注释的)大数据集来用于训练。取而代之的是,在只给出一个注释的情况下,系统从未经标记的视频中生成可靠的训练数据。此外,随着在定制设置模式期间累积的数据越来越多,本文的实例分割神经网络提高了其识别对象的能力。在这种模式下,随着视频序列的帧被分析,实例分割神经网络逐渐适配于前景和背景两者中的数据变化。基于这两个优点,所提出的方法能够利用小数据集和用户定义的场景对象理解来应用。
参考图3A-3C,提供了用于成像处理的对象识别方法的过程300。在所示实现方式中,过程300可以包括均匀编号的一个或多个操作、功能、或动作302至366。作为非限制性示例,本文可以参考图1的示例图像处理系统100或图9的系统900(在相关的情况下)来描述过程300。
在预训练模式期间,过程300初步可以包括“执行对一般知识对象识别神经网络的预训练”302。使用一般知识(或通用)神经网络来生成实例掩膜的候选。该神经网络的输入是视频序列的图像,其中只有第一图像(或诸如以间隔等方式之类的其他小数目帧)被注释,并且输出是候选掩膜集合。为了以类别不敏感的方式学习关于对象的外观、形状和其他变化的一般知识以使一般神经网络数据库适配于任何对象类型,可以首先在诸如ImageNet(参见Russakovsky,O.等人,“Large Scale Visual Recognition Challenge”,airXiv:1409.0575v3(2015);Fei,L.等人,“Analysis of Large-Scale Visual Recognition”,BayArea Vision Meeting(2013))以及COCO(Lin,T.Y.等人,“Microsoft COCO:CommonObjects in Context,ECCV”(2017))中之类的大通用数据集上训练神经网络。在本实现方式中,一般知识神经网络具有Mask R-CNN形式的体系结构。
由于在输入预训练视频序列上使用注释帧中的一个(或某其他选定的低数目),因此为了避免过拟合,输入注释帧上的目标对象被增扩(或改变)以形成针对每个对象的数千个训练帧。同样,通过一个示例,经增扩数据可以仅被用在一般知识神经网络的最后两层上以用于微调和用于几个历元。结果,由于在经增扩数据上进行的训练,一般知识神经网络能够处理它已在其上训练了的对象的更多变化,但它也能够检测和分割尚未经历的其他新的对象。然后,通过模拟照明、变形等方面的前景改变,使用清晰数据梦方法论(如上所述)来将新数据合成到一般知识神经网络中。一般知识神经网络的预训练数据集保持与如上所述的在定制设置模式期间用于实例分割训练的训练数据库112分开。
类似地,过程300初步可以包括“执行对实例分割神经网络的预训练”304。在这里,实例分割神经网络(ISNN)使用OSVOS中的父网络作为实例分割神经网络。在ImageNet(如上所述)上经预训练的权重被用作基本实例分割神经网络,并且该网络在DAVIS(参见Caelles,S.等人,“The 2018DAVIS Challenge on Video Object Segmentation”,arXiv预印本arXiv:1803.00557(2018))的二进制分割数据集上被微调。与一般知识神经网络一样,一个注释图像的训练实例被增扩成数百个附加训练图像。然后,实例分割神经网络被微调以基于其预训练增扩数据集来拟合每个实例。此外,本文还使用了清晰数据梦方法(如上所述),以通过模拟照明、变形等方面的前景改变来合成新数据。实例分割网络在本文针对过程300被表示为N,并且在下面描述的概要中被表示为算法1。
针对两个神经网络的预训练模式可以至少部分地离线并远离在定制设置模式期间提供视频序列的相机并且远离将执行本文描述的对象识别分析的移动设备或其他计算设备或服务器地发生。通过一种形式,通过公共或通用数据集对神经网络进行的初始训练是离线执行的,但是在预训练期间图像的增扩和微调可以在移动设备上被执行。通过另一种形式,尽管预处理的所有或部分是远程的,但定制设置和运行时(推理)模式两者都是在同一设备上执行的,并且以一种形式,是在与针对定制设置模式捕获视频序列的相机相同的设备上执行的。通过又一种形式,所有三种模式都是在同一设备上执行的,该设备可以是也可以不是捕获视频序列的图像的同一设备。
在定制(或微调)模式期间,过程300可以包括“获得视频序列的图像数据”306。这可以包括“获得图像”308。这涉及用户确定他/她想要由他/她的设备(无论是智能手机、平板电脑、计算机还是网络摄像头,或者可以是诸如车辆或VR护目镜上之类的特定对象识别系统的任何其他相机,等等)识别的一个或多个对象。然后,用户可以手动定位相机以视频记录该对象,并且以一种形式,从不同角度获得该对象的不同视图。可以在相机的视场中捕获一个以上的对象。视频序列应该尽可能多地捕获对象的不同视角,并且视频应该至少有大约300~500帧(10到20秒的视频,fps速率为25)。通过其他形式,对象被放置在一个或多个受计算机控制的相机的预设布置前面,或者相机布置被放置在一个或多个对象的旁边,并且用户激活一个或多个相机以自动捕获对象的图像,这种情况包括自动地移动以捕获对象的不同视图的多个相机或单个相机或者例如在转台上的对象。网站、移动应用或其他屏幕界面可以被用户用来激活定制设置模式,并且可以确认对来自用户的视频序列的输入和分析以及所需对象的标识。通过替代形式,对这种相机布置的激活可以是自动的也可以是如上所述的。
过程300可以包括“执行预处理”310。无论是要将上载的图像显示给用户以便用户可以选择和标识要识别的对象,还是要自动进行初始对象识别,都可以对图像进行足够的预处理以进行对象识别操作。根据需要,预处理可以包括去马赛克、降噪、像素线性化、阴影补偿、分辨率降低、晕影消除和/或3A相关操作,包括自动白平衡(AWB)、自动对焦(AF)和/或自动曝光(AE)修改等。此外,图像的颜色和亮度像素值可以以许多不同的附加形式提供,例如梯度、直方图等。此外,当被使用时,深度图像数据可以由立体相机系统(例如,利用RGBD相机)确定,该立体相机系统从多个角度捕获相同或运动场景的图像。该系统可以执行多个计算来确定针对图像中场景的3D空间以及针对图像中每个点、像素、特征或对象的深度尺寸。另外,用于从单个相机确定三维空间的其他方法也是可能的,例如飞行时间、结构或编码光技术。
然后操作306还可以包括“获得注释”312。视频序列应该有一个注释帧,并且以一种形式,只有第一帧具有注释。可选地,这可以是更多帧可以具有注释,但这可能效率较低并且需要更多不必要的语义计算。通过一种形式,用户通过在要识别的每个对象周围绘制边界或边缘来针对在注释帧上要识别的每个对象或实例提供单个标签作为注释,并且可以针对每个这样的对象出现用于输入标签的字段。针对不同对象的每个边界,界面可以具有不同的边界类型提示以用于用户,例如,其通过颜色或线型(如虚线)来彼此区分对象。注释可以是单个单词或多个单词。用于输入图像的网站、应用或界面还可以提供用于输入针对视频序列的第一图像上的每个对象的注释的屏幕。
然后,过程300可以包括“获得实例计数”314。当用户正在标识对象并输入注释时,对实例的计数可以在用户输入时自动且即时地进行。通过上述可选选项,一旦用户上载视频,实例计数就可以自动进行,或者对对象的选择也可以自动进行。在这种情况下,一旦图像被接收到并被预处理以足够进行对象检测,就可以应用初始对象分割以确定视频序列中的单个图像上有多少对象,并针对每个对象提供粗略的对象位置。这可以由本文提到的已知算法来执行。
无论是如何获得实例计数的,单个图像上的实例总数可以建立到最大值的实例的最大数目(I=i)。该系统可以被描述为针对每个实例I生成单独的实例分割神经网络。因此,假设视频包含I个目标实例,则实例分割单元包含I个分割网络,并且定制对象识别将被单独运行I次。通过另一替代方案,用户可以在上述界面上针对每个对象定义图像的区域,例如通过在图像中的每个对象周围放置边界框并然后在界面上指示要识别和进行训练的对象的总数。
然后,过程300可以包括“设置实例I=1”316来设置实例计数并以图像上的第一个实例开始。在定制设置模式期间,将分别针对每个实例分析相同的视频序列(无论是并行的还是连续的)。
然后,过程300可以包括“设置iter=1”318以设置迭代计数。具体地,该方法通过以下操作来迭代地进行:针对每次迭代重复对视频序列的分析并针对每个实例进行多次迭代,使得每个实例具有多次分析迭代。每一次迭代都应进一步微调实例分割神经网络。迭代次数通过实验并通过方法来确定,三次迭代被使用。每次迭代包括数据生成单元和实例分割单元两者的操作。
针对迭代I的第一个操作是“初始化训练数据库D”320,其中通过将输入注释添加到数据库中的数据集来初始化训练数据集合D,并且这还将迭代实例分割神经网络Niter设置为与实例分割神经网络N相同(此处其中N处于其初始或默认形式,但随后如下面所解释的那样通过局部和全局适配来被适配)。首先,默认的实例分割神经网络N是通过预处理形成的。
然后,过程300可以包括“设置帧t=1”322,其中帧可以被索引为t=1到T,并且针对视频序列的第一帧1并且针对当前迭代iter=1以及实例I=1开始分析。
接下来,过程300可以包括“将视频序列的帧t输入到针对实例I的一般知识神经网络中”324。这指的是接收输入帧并生成训练数据的一般知识网络单元的操作,并且以一种形式,这在定制设置模式期间在用户的设备处并且针对每个帧进行。通过可选形式,定制设置模式期间的神经网络处理可以例如在服务器处远程执行,使得输入图像被发送到服务器并且网络的输出被发送回用户的设备。如上所述,一般知识神经网络可以是经预训练的Mask R-CNN网络,但许多其他网络结构也可以运作。一般知识神经网络的输出是具有K个候选的候选掩膜Ctj的集合,其中j=1到K。每个掩膜是二进制的、灰度尺度的、或用于指示对象边界的像素级别位置的其他尺度。此后,过程300可以包括“从一般知识神经网络获得针对帧t的候选掩膜”326。
转向用于几个操作的实例分割单元,过程300可以包括“将视频序列的相同帧输入到实例分割神经网络中”328,因此首先,帧1也被输入到实例分割神经网络。实例分割神经网络的结构如上所述用于预处理,但是在其他情况下将随着它适配来自数据生成单元的新数据而被修改,如本文描述的那样。由于基于实例的操作,实例分割神经网络针对每个实例被单独地适配,并且针对每个实例逐帧地并逐迭代地演进,如下所述。实例分割神经网络可以提供以二进制或其他灰度或颜色尺度的掩膜,并且当为二进制时,它在本文可以被称为二进制分割网络或仅被称为分割网络。因此,每个实例可以具有不同的分割网络(或实例分割神经网络(ISNN))。
实例分割神经网络的输出是分割掩膜Mt,其显示实例或对象的边界并与相应对象的注释相关联。通过一种形式,掩膜Mt可以是二进制掩膜。该掩膜被用于质量评估。因此,过程300可以包括“获得单个掩膜Mt”330。
过程300可以包括“确定最佳质量候选掩膜”332,这指的是质量度量或评估,其用于度量候选掩膜的注释、形状和外观正确的可能性有多大。为此,过程300可以包括“确定掩膜Mt和各个候选掩膜Ctj之间的比较分数”334。质量分数表示每个候选和掩膜Mt之间的相似度。通过本文的一个示例,可以将两个特征用于度量:候选和掩膜Mt之间的(并集上的交集(intersection over union)),以及颜色直方图相似度。质量分数由这两个相似度的加权和来表示:
其中,scoretj是针对第t帧中的第j个候选的质量分数,f是颜色直方图,Ctj是第t帧处的候选,Mt是实例分割神经网络的掩膜,是Jaccard,并且β是在本实现方式中被设置在β=1.5(这是通过实验法确定的)处的加权。
过程300可以包括“将分数与标准进行比较”336。通过一个示例,将分数与阈值thquality进行比较,并且该阈值是通过试探法确定的。该阈值可以在针对所有实例和迭代的整个分析过程中是固定的,或者可以取决于实例或迭代而变化以便向训练数据集添加更多样本。换句话说,修改阈值的原因是试图在每次迭代时仅选择可靠样本以添加到训练数据库。例如,在早期阶段,实例分割神经网络的输出可能不是很准确。在这种情况下,使用高阈值来将针对训练数据的选择仅限于具有非常高置信度值的那些样本。在后续阶段,实例分割神经网络变得越来越准确,从而可以降低阈值以添加更多的样本到训练数据集中,因为更多的样本将是准确的。所选择的顶级候选掩膜dt是具有最高质量分数的一个候选掩膜,并且该分数被与阈值进行比较。如果质量分数高于阈值thquality,则过程300可以包括“将最佳候选掩膜添加到训练数据库”338,其中最佳候选掩膜dt被附加到训练数据库(或训练数据集合D=D U dt),其也被称为添加掩膜。最佳候选掩膜随着视频的演进从第一帧到最后一帧被累积在训练数据集合中,以形成定制化的添加掩膜的数据集,从而定制训练数据库。
现在转到实例分割神经网络的微调和适配,使用在训练数据库处累积的训练数据来在两个级别上更新实例分割神经网络:用于在单个帧上采用良好分割的局部适配,以及用于学习和适配视频中帧到帧的动态改变的全局适配。
因此,过程300可以包括“执行局部适配”340,特别是使实例分割神经网络(ISNN)适配于训练数据库中的添加掩膜。随着视频演进而在每个帧中并且在每次迭代处进行局部适配,使得局部适配对网络Niter(第i次迭代处的实例分割神经网络)进行微调。
为了执行局部适配,过程300可以包括:“在帧更接近正被分析的目标帧时,使用更大数目的样本”342,使得局部适配对来自附近帧的数据使用高样本率,而对来自远距离帧的那些数据使用低样本率。具体地,对于单个实例的每次迭代,在一个帧上有一个实例(或对象或相关联的添加掩膜)。在沿着视频序列更接近正被分析的当前目标帧的帧中的添加掩膜(或实例或对象)具有更高的概率被选择作为用于微调(或适配)实例分割神经网络的训练数据。因此,来自较近帧的实例更有可能被选择作为训练数据。换言之,对于单个实例,微调可以包括视频序列中针对多次迭代被分析的成百上千帧。在每个帧处,可以从训练数据库(或数据集)中选择一个实例样本来微调实例分割神经网络。数据集中的每个实例以不同的可能性被选择。通过本文使用的一个示例,概率0.7被分配给沿着视频序列最近的5帧,并且概率0.3被分配给更远的其他帧。因此,如果微调需要100帧,则系统从最近的5帧中选择训练数据库中的实例样本70次,并从其他帧中选择实例样本30次。可能性值(在当前示例中为0.7和0.3)由实验法决定。
过程300可以包括“通过输入与添加掩膜相对应的图像并同时使用添加掩膜作为有监督输出,来执行适配”344。当顶级候选掩膜(或添加掩膜)被保存到训练数据库时,相应的彩色图像也被保存。这些图像是用于微调或适配实例分割神经网络的输入训练数据,而保存的添加掩膜是具有已知注释的有监督空间掩膜输出,因为实例是已知的。
过程300可以包括查询“最后一帧t?”346,其确定是否已经到达视频序列的最后一帧。如果未到达最后一帧,则过程300将帧t设置348为视频序列中的下一帧,并循环回操作324以针对下一帧重复语义网络适配,这仍以相同实例I并且仍在相同迭代iter内进行。
如果已经到达视频序列中的最后一帧,则过程300可以包括“执行全局适配”350,特别地“从视频序列的所有帧的训练数据库中获得添加掩膜数据”352,这具体是针对正被分析的当前实例。全局神经网络适配通过整个或基本上整个视频来学习每个实例的动态变化。因此,在每次迭代iter处,在分析了所有帧之后,每个实例分割神经网络N在视频序列中每个帧的全部(或基本上全部)添加掩膜(或换言之,用于当前实例的视频序列的添加掩膜的整个训练数据集)上被微调。
然后将经适配的实例分割神经网络N用作下一次迭代中的初始分割网络。为此,过程300可以包括“运行经全局修改的实例分割神经网络作为下一次迭代的初始实例分割神经网络”356。
参考图4作为适配操作的概要图400,可以在两个级别处更新分割网络:局部适配和全局适配。随着视频演进,在如视频序列402所示的每个帧t=1到T中执行局部适配。局部适配在来自附近帧的训练数据(其被存储在数据库404中)上微调分割网络,以得到良好的分割结果。在处理完所有帧之后,通过以下操作来进行全局适配:在来自视频序列的所有训练数据404上针对当前实例微调分割网络,以便学习视频的动态变化。全局适配和局部适配如在下面所示的算法1中总结的那样也是迭代进行的,并且如上所述,其中N是离线和/或在预处理期间初始训练的分割网络,但是将在每次迭代的结尾处被更新,并且Niter是将针对每帧更新的分割神经网络。金字塔406表示经适配的实例分割神经网络,其按照上面的操作356针对帧分析的下一次迭代提供最新的分割神经网络N。
过程300可以包括“更新质量度量阈值”358,并且这是通过出于上述原因降低由实验法确定的阈值来执行的。通过一个示例,阈值可以被降低10%。随着通过更多迭代执行更多的全局适配,实例分割神经网络输出具有越来越好的轮廓,使得可以降低阈值以向训练数据集添加更多样本,如上所述。
然后,过程300可以包括查询“最大迭代iter?”360,以确定是否已到达最后一次迭代。如果否,则在计数操作362处将迭代计数器加1,并且该过程循环回到操作320以初始化训练数据库并再次以视频序列的第一帧开始分析。对训练数据库的初始化包括针对操作320的上述任务。如果已经到达最后一次迭代,则过程300可以包括查询“最后一个实例I?”364,以确定是否已经分析了最后一个实例。如果是,则该过程结束,实例分割神经网络已经被适配或修改,并且现在准备好用于运行时推理模式。
如果最后一个实例还没有被分析,则过程300可以包括“获得第一帧以训练下一个实例”366,并且该过程循环回到操作318以将迭代计数设置回1,并开始针对视频序列中的下一个实例进行定制化神经网络训练。
作为定制或微调设置模式过程的概要的算法1可以被陈述如下:
参考图5,在随后的运行时或推理模式中,可以使用一种技术来将实例分割掩膜组合成单个基于帧的掩膜以供其他应用使用。这种技术的一个示例是完全连接的条件随机场(CRF)分类器(参见P.等人,“Efficient inference in fully connectedCRFs with gaussian edge potentials”,Advances in neural information processingsystems,pp.109-117(2011))。当分割网络针对每个实例计算二进制掩膜时,CRF将所有二进制掩膜合并为一个掩膜,以作为针对帧的最终对象识别输出。合并后的单个基于帧的掩膜将具有帧上所有实例的例如标签1到L。这在掩膜合并流程图500上示出,其示出了输入到实例分割神经网络504的输入帧或图像502,在实例分割神经网络504处,针对帧上的每个实例(在这里是人和自行车)分别生成单独的分割掩膜506和508,它们然后通过CFR被合并到单个掩膜510中。
此后,应用可以出于本文提到的多种原因而使用该掩膜。由于视频对象分割是基本的计算机视觉任务,因此它在例如视频编辑、智能家居、机器人和自主驾驶领域有着重要的应用。所提出的方法还可以被嵌入到平板电脑、膝上型电脑、chromebook、智能手机、PC、智能电视等中。通过该技术,这些设备可以在分割相关应用上提供很多增值服务。
参考图6-7,是视频序列600和通过使用本文呈现的定制模式来执行对象识别的示例结果700。这里的评价是通过使用DAVIS 2018挑战数据集来执行的。它有150个视频序列,具有90个视频序列用于训练,30个视频序列用于评价,以及30个视频序列用于测试。有10,459个带注释的帧和376个对象。对于测试数据集,每个视频只有第一帧被注释。得到的分割掩膜702到705的序列700基于每个相应的帧602到605显示了良好的分割结果。
参考图8A-8D,在图像中呈现了利用小数据集和用于场景理解的用户定义的对象来应用所公开的方法的示例。在这里,例如,老年人可能想要为日常分配某些药物的机器人标识药瓶,因为例如,这个人用他/她的手来处理药物可能有困难。因此,机器人必须理解每种药物的标识。因此,首先用户在视频序列800(图8A)中捕获对象802,在这里是药瓶。如上文讨论的,视频序列的第一帧可以是手动、交互或自动地标记的。基于一次性注释,所公开的方法或机器人自动生成以彩色图像804和相应添加候选掩膜808形式的训练数据,该彩色图像804示出对象806并且相应添加候选掩膜808具有对象810。然后,机器人或方法根据未标记的视频自动生成训练数据,并且基于所生成的数据更新实例分割神经网络。在测试阶段期间,同一对象的数据是由用户的设备生成的,而不是例如在离线预处理期间生成的,并且实例分割神经网络随着数据累积而不断地被适配。
来自另一场景(不是用户提供的视频)的测试结果在图8C中被示出在瓶子824的不同视角的图像812至822上,其中结果被显示在阴影掩膜中。在测试结果中,图像826和830(图8D)显示,虽然只捕获到瓶子828正面上的标签,但机器人仍然可以识别和分割瓶子的背面832,其与瓶子的正面显著不同。此外,当场景改变时,该方法仍然有效。
此外,可以响应于由一个或多个计算机程序产品提供的指令来进行图4和5A-5B的任何一个或多个操作。这样的程序产品可以包括提供指令的信号承载介质,这些指令在由例如处理器执行时可以提供本文描述的功能。计算机程序产品可以以任何形式的一个或多个机器可读介质提供。因此,例如,包括一个或多个处理器核的处理器可以响应于由一个或多个计算机或机器可读介质传送到处理器的程序代码和/或指令或指令集,进行本文的示例过程的一个或多个操作。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式传送软件,该程序代码和/或指令或指令集可以使任何设备和/或系统如本文所述那样执行。机器或计算机可读介质可以是非暂时性物品或介质(例如非暂时性计算机可读介质),可以与上述任何示例或其他示例一起使用,除了其不包括暂时性信号本身之外。它包括除了信号本身以外的那些可以“暂时性”方式暂时保存数据的元件,例如RAM等等。
如在本文描述的任何实现方式中使用的,术语“模块”指的是被配置为提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。软件可以被体现为软件包、代码和/或指令集或指令,并且在本文描述的任何实现方式中使用的“硬件”可以例如单个地或以任何组合包括,硬连线电路系统、可编程电路系统、状态机电路系统和/或存储由可编程电路系统执行的指令的固定功能固件。这些模块可以,集体地或单独地,被体现为形成更大系统的一部分的电路系统,例如集成电路(IC)、片上系统(SoC)等。例如,模块可以被体现在逻辑电路系统中,用于经由本文讨论的编码系统的软件、固件或硬件进行实现。
如本文描述的任何实现方式中使用的,术语“逻辑单元”指的是被配置为提供本文描述的功能的固件逻辑和/或硬件逻辑的任何组合。逻辑单元可以,集体地或单独地,被体现为形成更大系统的一部分的电路系统,例如集成电路(IC)、片上系统(SoC)等。例如,逻辑单元可以被体现在逻辑电路系统中,用于本文讨论的编码系统的固件或硬件的实现方式。本领域普通技术人员将理解,由硬件和/或固定功能固件执行的操作可以可选地经由软件来实现,该软件可以被体现为软件包、代码和/或指令集或指令,并且还将理解,逻辑单元还可以利用软件的一部分来实现其功能。
如在本文描述的任何实现方式中所使用的,术语“组件”可以指模块或逻辑单元,如上文所描述的那些术语。因此,术语“组件”可以指被配置为提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域普通技术人员将理解,由硬件和/或固件执行的操作可以可选地经由软件模块来实现,该软件模块可以体现为软件包、代码和/或指令集,并且还将理解,逻辑单元也可以利用软件的一部分来实现其功能。
参考图9,根据本公开的至少一些实现方式布置示例图像处理系统900。在各种实现方式中,示例图像处理系统900可以具有成像设备902以形成或接收捕获的图像数据。这可以通过各种方式来实现。因此,以一种形式,图像处理系统900可以是一个或多个数码相机或其他图像捕获设备,并且在这种情况下,成像设备902可以是相机硬件和相机传感器软件、模块或组件。在其他示例中,成像处理系统900可以具有成像设备902,其包括或可以是一个或多个相机,并且逻辑模块904可以远程地与成像设备902通信或者以其他方式可以通信地耦合到成像设备902,以供进一步处理图像数据。
因此,图像处理系统900可以是单独的单个相机或位于多相机设备上,二者任一个可以是智能手机、平板电脑、膝上型电脑或其他移动设备,并且它们包括机器人、VR、AR或MR耳机等上的计算机视觉相机和传感器。另外,系统900可以是具有一个或多个相机的设备,其中处理发生在所述相机中的一个处或发生在与所述相机通信的单独处理位置处,无论是在设备上还是在设备外并且无论处理是否在移动设备上被执行。
在这些情况中的任何一种情况下,这种技术可以包括相机,例如数码相机系统、专用相机设备、或成像电话或平板电脑、或其他视频相机、或这些的某种组合。因此,以一种形式,成像设备902可以包括相机硬件和光学器件,包括一个或多个传感器以及自动对焦、变焦、光圈、ND滤光器、自动曝光、闪光灯和致动器控制。这些控件可以是用于操作传感器的传感器模块或组件的一部分,该传感器可用于为取景器生成图像并且拍摄静止图片或视频。成像设备902还可以具有透镜、具有RGB拜耳滤色器(RGB Bayer color filter)的图像传感器、模拟放大器、A/D转换器、用于将入射光转换成数字信号的其他组件等和/或其组合。本文中数字信号也可以被称为原始图像数据。
附加于或替代使用红-绿-蓝(RGB)深度相机和/或麦克风阵列来定位谁在讲话,其他形式还包括相机传感器类型的成像设备等(例如,网络摄像头或网络摄像头传感器或其他互补金属氧化物半导体类型图像传感器(CMOS))。相机传感器还可以支持其他类型的电子快门(shutter),例如附加于或替代卷帘式快门的全局快门,以及许多其他快门类型。在其他示例中,可以使用RGB深度相机和/或麦克风阵列来作为相机传感器的替代方案。在这些示例中,除了相机传感器之外,还可以提供相同的传感器或单独的传感器以及诸如IR投影仪之类的光投影仪,以提供可用于与相机图像进行三角测量的单独的深度图像。另外,成像设备可以具有用于通过使用多个相机或成像设备或者单个成像设备来提供深度图的任何其他已知技术。
在所示的示例中以及本文的相关部分中,逻辑模块904可以包括原始图像处理单元906并包括预处理单元908,其中原始图像处理单元906在图像数据上执行诸如去马赛克之类的预处理,预处理单元908执行如上所述的进一步预处理任务以进行充分分割,该充分分割可以包括也可以不包括生成深度图或深度图像以形成三维空间,其中像素或点在表示该三维空间(或同一场景的2D图像或图像集)的所产生的深度图或深度图像上具有三维(x,y,z)坐标。
逻辑模块还可以具有对象识别单元909,用于执行本文已经描述的许多操作。因此,例如,分割单元909可以具有定制模式单元910和运行时模式单元911。定制模式单元910可以具有初始分割单元912、数据生成单元913、和实例分割单元916。同样如上所述,数据生成单元913可以具有一般知识神经网络单元914和质量评估单元915,这些单元在上文被描述。实例分割单元916具有实例分割神经网络单元917、局部适配单元918和全局适配单元919,同样如上所述。训练数据库925可以被保存在存储器存储设备924中。
图像处理系统900还可以具有一个或多个处理器920,其可以包括专用图像信号处理器(ISP)922,例如Intel Atom、其他GPU和/或运行例如神经网络的专用特定用途硬件。图像处理系统900还可以具有(一个或多个)存储器存储设备924、一个或多个用于提供图像930的显示器928、编解码器932、和天线926。在一个示例实现方式中,图像处理系统900可以具有显示器928、通信地耦合到显示器的至少一个处理器920、以及通信地耦合到处理器的至少一个存储器924。编解码器932可以是编码器、解码器或两者。作为编码器932,并且利用天线934,编码器可以被提供来压缩图像数据以供发送到可以显示或存储图像的其他设备。应当理解,作为解码器,编解码器可以接收和解码图像数据,以供系统900处理来接收用于对象识别的图像,这作为利用设备900最初捕获图像的补充或替代。另外,处理后的图像930可以被显示在显示器928上或被存储在存储器924中。如图所示,这些组件中的任何一个可能够彼此通信和/或与逻辑模块904和/或成像设备902的部分通信。因此,处理器920可以通信地耦合到图像设备902和逻辑模块904两者,以用于操作那些组件。通过一种方法,尽管如图9所示的图像处理系统900可以包括与特定组件或模块相关联的特定的一组块或动作,但是这些块或动作可以与不同于本文所示的特定组件或模块的组件或模块相关联。
参考图10,根据本公开的示例系统1000操作本文描述的图像处理系统的一个或多个方面。从下面描述的系统组件的性质可以理解,这些组件可以与上述图像处理系统1000的某个或某些部分相关联,或被用于操作这个或这些部分,从而用于操作本文描述的方法。在各种实现方式中,系统1000可以是媒体系统,不过系统1000不限于此上下文。例如,系统1000可以结合到数字静态相机、数字视频相机、具有相机或视频功能的移动设备中,诸如成像手机、网络摄像头、个人计算机(PC)、膝上型计算机、超膝上型计算机、具有多个相机的平板电脑、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能手机、智能平板或智能电视)、移动互联网设备(MID)、消息收发设备、数据通信设备等。
在各种实现方式中,系统1000包括耦合到显示器1020的平台1002。平台1002可以从诸如(一个或多个)内容服务设备1030或(一个或多个)内容递送设备1040之类的内容设备或其他类似内容源接收内容。包括一个或多个导航特征的导航控制器1050可用于与例如平台1002和/或显示器1020交互。下面更详细地描述这些组件中的每一个。
在各种实现方式中,平台1002可以包括芯片组1005、处理器1010、存储器1012、存储设备1014、图形子系统1015、应用1016和/或无线电设备1018的任何组合。芯片组1005可以提供处理器1010、存储器1012、存储设备1014、图形子系统1015、应用1016和/或无线电设备1018之间的相互通信。例如,芯片组1005可以包括能够提供与存储设备1014的相互通信的存储适配器(未示出)。
处理器1010可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各种实现方式中,处理器1010可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器等。
存储器1012可以被实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储设备1014可以被实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存、电池备份SDRAM(同步DRAM)和/或网络可访问存储设备。在各种实现方式中,存储设备1014可以包括例如当多个硬驱动器被包括时提高对有价值的数字媒体的存储性能增强保护的技术。
图形子系统1015可以执行对诸如静止或视频之类的图像的处理以用于显示。例如,图形子系统1015可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口来通信地耦合图形子系统1015和显示器1020。例如,该接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD适用技术中的任何一种。图形子系统1015可以被集成到处理器1010或芯片组1005中。在一些实现方式中,图形子系统1015可以是通信地耦合到芯片组1005的独立卡。
本文描述的图形和/或视频处理技术可以在各种硬件体系结构中实现。例如,图形和/或视频功能可以被集成在芯片组内。可选地,可以使用离散图形和/或视频处理器。作为又一实现方式,图形和/或视频功能可以由包括多核处理器的通用处理器来提供。在其他实现方式中,这些功能可以在消费电子设备中实现。
无线电设备1018可以包括能够使用各种合适的无线通信技术发送和接收信号的一个或多个无线电设备。这样的技术可以涉及跨一个或多个无线网络进行的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这样的网络进行通信时,无线电设备1018可以根据任何版本中的一个或多个可适用标准来进行操作。
在各种实现方式中,显示器1020可以包括任何电视类型的监视器或显示器。显示器1020可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类似电视的设备、和/或电视。显示器1020可以是数字的和/或模拟的。在各种实现方式中,显示器1020可以是全息显示器。此外,显示器1020可以是可以接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像和/或对象。例如,这样的投影可以是针对移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用1016的控制下,平台1002可以在显示器1020上显示用户界面1022。
在各种实现方式中,(一个或多个)内容服务设备1030可以由任何国家的、国际的和/或独立的服务托管,从而例如可经由互联网由平台1002访问。(一个或多个)内容服务设备1030可以耦合到平台1002和/或显示器1020。平台1002和/或(一个或多个)内容服务设备1030可以耦合到网络1060以向和从网络1060传送(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备1040还可以耦合到平台1002和/或显示器1020。
在各种实现方式中,(一个或多个)内容服务设备1030可以包括有线电视盒、个人计算机、网络、电话、能够传递数字信息和/或内容的互联网使能设备或电器、以及能够经由网络1060或直接地在内容提供商和平台1002和/或显示器1020之间单向或双向传送内容的任何其他类似设备。可以理解,内容可以经由网络1060单向和/或双向地向和从内容提供商和系统1000中的组件中的任何一者传送。内容的示例可以包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息等。
(一个或多个)内容服务设备1030可以接收诸如有线电视节目之类的内容,包括媒体信息、数字信息和/或其他内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例并不意味着以任何方式限制根据本公开的实现方式。
在各种实现方式中,平台1002可以从具有一个或多个导航特征的导航控制器1050接收控制信号。例如,控制器1050的导航特征可以用于与用户界面1022交互。在实现方式中,导航控制器1050可以是指点设备(pointing device),该指点设备可以是允许用户向计算机输入空间(例如,连续和多维)数据的计算机硬件组件(具体地,人类界面设备)。诸如图形用户界面(GUI)以及电视和监视器的许多系统允许用户使用物理手势来控制计算机或电视并向计算机或电视提供数据。
控制器1050的导航特征的移动可以通过在显示器上显示的指针、光标、聚焦环或其他视觉指示器的移动来在显示器(例如,显示器1020)上复制。例如,在软件应用1016的控制下,例如,位于导航控制器1050上的导航特征可以被映射到显示在用户界面1022上的虚拟导航特征。在实现方式中,控制器1050可以不是单独的组件,而是可以被集成到平台1002和/或显示器1020中。然而,本公开不限于本文所示或描述的元件或上下文中。
在各种实现方式中,驱动(未示出)可以包括使得用户能够例如在初始启动之后通过触摸按钮(在被启用时)来即刻打开和关闭平台1002(如电视)的技术。程序逻辑可以允许平台1002将内容流送到媒体适配器或其他(一个或多个)内容服务设备1030或(一个或多个)内容递送设备1040,即使在平台被“关闭”时也是如此。此外,例如,芯片组1005可以包括对8.1环绕声音频和/或高清晰度(7.1)环绕声音频的硬件和/或软件支持。驱动可以包括用于集成图形平台的图形驱动。在实现方式中,图形驱动可以包括外围组件互连(PCI)快速图形卡。
在各种实现方式中,可以集成系统1000中所示的任何一个或多个组件。例如,可以集成平台1002和(一个或多个)内容服务设备1030,或者可以集成平台1002和(一个或多个)内容递送设备1040,或者例如可以集成平台1002、(一个或多个)内容服务设备1030和(一个或多个)内容递送设备1040。在各种实现方式中,平台1002和显示器1020可以是集成单元。例如,可以集成显示器1020和(一个或多个)内容服务设备1030,或者可以集成显示器1020和(一个或多个)内容递送设备1040。这些示例并不意味着限制本公开。
在各种实现方式中,系统1000可以被实现为无线系统、有线系统、或两者的组合。当被实现为无线系统时,系统1000可以包括适合于通过无线共享介质进行通信的组件和接口,诸如一个或多个天线1003、发射器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的部分,例如RF频谱等。当被实现为有线系统时,系统1000可以包括适合于通过有线通信介质进行通信的组件和接口,例如输入/输出(I/O)适配器、用于将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台1002可以建立一个或多个逻辑或物理信道来传输信息。信息可以包括媒体信息和控制信息。媒体信息可以指表示用于用户的内容的任何数据。例如,内容的示例可以包括来自语音对话的数据、视频会议、流视频、电子邮件(“email”)消息、文本(“texting”)消息、社交媒体格式、语音邮件消息、字母数字符号、图形、图像、视频、文本等。来自语音对话的数据可以是例如话音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统来路由媒体信息,或者指示节点以预定方式处理媒体信息。然而,这些实现方式不限于图10所示或描述的元件或上下文中。
参考图11,小形状因子设备1100是其中可以体现系统900或1000的不同物理样式或形状因子的一个示例。通过该方法,设备1100可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和诸如一个或多个电池之类的移动电源或供电的任何设备。
如上所述,移动计算设备的示例可以包括数字静态相机、数字视频相机、具有相机或视频功能的移动设备,诸如,成像手机、网络摄像头、个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息收发设备、数据通信设备等。
移动计算设备的示例还可以包括被布置为由人穿戴的计算机,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、带夹计算机、臂带计算机、鞋子计算机、服装计算机和其他可穿戴计算机。例如,在各种实施例中,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管一些实施例以示例的方式可以用被实现为智能电话的移动计算设备来描述,但是可以理解,其他实施例也可以使用其他无线移动计算设备来实现。这些实现方式不限于该上下文。
如图11所示,设备1100可以包括具有前面1101和后面1102的外壳。设备1100包括显示器1104、输入/输出(I/O)设备1106、和集成天线1108。设备1100还可以包括导航特征1112。I/O设备1106可以包括用于将信息输入到移动计算设备中的任何合适的I/O设备。I/O设备1106的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风1114被输入到设备1100中,或者可以由语音识别设备数字化。如图所示,设备1100可以包括相机1105(例如,包括至少一个透镜、光圈、和成像传感器)以及照明器1110(例如本文描述的那些),他们被集成到设备1100的后面1102(或其他地方)。这些实现方式不限于该上下文。
本文描述的各种形式的设备和过程可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定实施例是否是使用硬件元件和/或软件元件来实现的可以根据任何数目的因素而变化,例如期望的计算速率、功率水平、热容忍度、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性指令来实现,所述代表性指令表示处理器内的各种逻辑,这些指令当由机器读取时使该机器制造逻辑以执行本文描述的技术。这样的表示(被称为“IP核”)可以被存储在有形的机器可读介质上,并被提供给各种客户或制造设施,以加载到实际制造逻辑或处理器的制造机器中。
虽然本文提出的某些特征已经参考各种实现方式进行了描述,但是本说明书并不意图在限制意义上被解释。因此,对于本公开所涉及的本领域技术人员显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为在本公开的精神和范围内。
下面的示例与其他实现方式有关。
通过一个示例实现方式,一种由计算机实现的用于图像处理的对象识别方法,包括:获得捕获的视频序列的帧的图像数据,并包括要识别并添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制所述神经网络训练数据库;将这些帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜;通过将添加掩膜添加到所述训练数据库来定制所述训练数据库,所述添加掩膜是所述多个候选掩膜中被选择的一个掩膜;将所述帧输入到实例分割神经网络以输出分割掩膜;修改所述实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于所述训练数据库中的至少一个添加掩膜;以及通过使用所述经修改的实例分割神经网络来在推理运行时期间执行对象识别。
通过另一实现方式,该方法还可以包括:通过将各个候选掩膜与从所述实例分割神经网络输出的分割掩膜进行比较,来确定各个候选掩膜的质量分数;选择具有最高质量分数并且满足至少一个阈值标准的候选掩膜来作为添加掩膜;至少基于颜色直方图比较来计算所述质量分数;至少基于与Jaccard相关的值来计算所述质量分数;以及根据添加掩膜的帧与正被分析的当前目标帧沿着所述视频序列有多接近,使所述实例分割神经网络局部地适配于来自所述训练数据库的添加掩膜,其中,所述添加掩膜的所述帧越接近所述当前目标帧,所述实例分割神经网络就越有可能要被适配于所述添加掩膜,其中,在距离所述当前目标帧最近的五帧处的添加掩膜具有大约70%的机会被用于适配所述实例分割神经网络,而比所述最近的五帧更远的帧具有更小的机会被用于适配所述实例分割神经网络,其中,所述比所述最近的五帧更远的帧具有大约30%的机会被用于适配所述实例分割神经网络。该方法包括:除了局部适配之外,还使所述实例分割神经网络全局地适配于所述视频序列的基本上每个帧的添加掩膜,使得所述局部适配的添加掩膜被使用多于一次。该方法还包括:通过以下操作来利用有监督训练适配所述实例分割神经网络:将来自所述训练数据库的添加掩膜用作到所述实例分割神经网络的输出,以及将具有相应单独添加掩膜的图像数据的帧用作到所述实例分割神经网络的输入;其中,当被输入到所述一般知识神经网络时,所述视频序列中仅一个帧在该帧上具有一个或多个对象的注释;并且其中,当被输入到所述实例分割神经网络时,所述视频序列中仅一个帧在该帧上具有一个或多个对象的注释。
通过其他实现方式,一种如下各项的由计算机实现的系统:至少一个显示器;至少一个存储器;至少一个处理器,所述至少一个处理器通信地耦合到所述显示器和所述存储器,并且通过以下步骤进行操作:获得捕获的视频序列的帧的图像数据,并包括要识别并添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制所述神经网络训练数据库;将这些帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜;通过将添加掩膜添加到所述训练数据库来定制所述训练数据库,所述添加掩膜是所述多个候选掩膜中被选择的一个掩膜;将所述帧输入到实例分割神经网络中以输出分割掩膜;修改所述实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于所述训练数据库中的至少一个添加掩膜;以及通过使用所述经修改的实例分割神经网络来在推理运行时期间执行对象识别。
该系统还可以包括,其中,所述处理器通过以下步骤进行操作:从用户接收用于启动定制设置模式的激活,所述定制设置模式包括对所述图像数据的所述获得、将所述帧输入到所述一般知识神经网络和所述实例分割神经网络中、以及操作所述模式以执行对所述实例分割神经网络的所述修改;其中,所述一般知识神经网络和实例分割神经网络被协同地操作来分析所述视频序列的相同多个帧,以一次分析一个实例,使得所述视频序列被重复地分析并且针对每个实例被分析至少一次;其中,所述视频序列针对每个实例被重复地分析,以形成针对每个实例适配所述实例分割神经网络的多次迭代;其中,所述处理器用于通过以下步骤进行操作:在单独帧正被分析时局部地适配所述实例分割神经网络,所述局部地适配在单次迭代期间针对多个帧被重复,以及在每次迭代的结尾处,全局地适配所述实例分割神经网络一次,其中,局部地适配包括根据添加掩膜的帧相对于正被分析的当前目标帧沿着所述视频序列的位置,来利用来自所述训练数据库的添加掩膜适配所述实例分割神经网络,并且其中全局地适配包括使所述实例分割神经网络适配于所述视频序列的基本上每个帧的添加掩膜。
作为另一实现方式,在其上存储有指令的至少一种非暂时性计算机可读介质,这些指令在被执行时使得计算设备通过以下步骤进行操作:获得捕获的视频序列的帧的图像数据,并包括要识别并添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制所述神经网络训练数据库;将这些帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜;通过将添加掩膜添加到所述训练数据库来定制所述训练数据库,所述添加掩膜是所述多个候选掩膜中被选择的一个掩膜;将所述帧输入到实例分割神经网络以输出分割掩膜;修改所述实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于所述训练数据库中的至少一个添加掩膜;以及通过使用所述经修改的实例分割神经网络来在推理运行时期间执行对象识别。
所述指令还可以使得所述计算设备包括,其中,所述指令使得所述计算设备通过以下步骤进行操作:针对单个实例以多次迭代的方式适配所述实例分割神经网络,其中所述适配在每次迭代处针对视频序列的多个帧进行,使得实例被分别地适配于正被分析的每个实例;其中,所述指令使得所述计算设备通过以下步骤进行操作:通过将各个候选掩膜与由所述实例分割神经网络输出的分割掩膜进行比较,来确定针对每个候选掩膜的质量分数;以及局部地和全局地适配所述实例分割神经网络以执行对所述实例分割神经网络的修改,其中局部地适配包括根据添加掩膜的帧相对于正被分析的当前目标帧沿着所述视频序列的位置,来利用来自所述训练数据库的添加掩膜适配所述实例分割神经网络,并且其中全局地适配包括使所述实例分割神经网络适配于所述视频序列的基本上每个帧的添加掩膜;以及在定制所述实例分割神经网络的定制模式之后的运行时期间,运行所述实例分割神经网络以输出帧的一个实例的实例分割掩膜,所述输出针对所述帧上的每个实例被重复;以及将所输出的实例分割掩膜组合成单个基于帧的掩膜。
在另一示例中,至少一种机器可读介质可以包括多个指令,所述多个指令响应于在计算设备上被执行而使得所述计算设备执行根据以上示例中任一项的方法。
在又一示例中,一种装置可以包括用于执行根据以上示例中任一项的方法的构件。
上述示例可以包括特征的具体组合。然而,上述示例不限于此方面,并且在各种实现方式中,上述示例可以包括:仅从事这些特征的子集、从事这些特征的不同顺序、从事这些特征的不同组合、和/或从事除了那些明确列出的特征之外的附加特征。例如,关于任何示例方法描述的所有特征可以针对任何示例装置、示例系统、和/或示例物品来实现,反之亦然。
Claims (25)
1.一种由计算机实现的用于图像处理的对象识别方法,包括:
获得捕获的视频序列的帧的图像数据,并包括要被识别并添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制所述神经网络训练数据库;
将这些帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜;
通过将添加掩膜添加到所述训练数据库来定制所述训练数据库,所述添加掩膜是所述多个候选掩膜中被选择的一个掩膜;
将所述帧输入到实例分割神经网络中以输出分割掩膜;
修改所述实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于所述训练数据库中的至少一个添加掩膜;以及
通过使用所述经修改的实例分割神经网络来在推理运行时期间执行对象识别。
2.如权利要求1所述的方法,包括:通过将各个候选掩膜与从所述实例分割神经网络输出的分割掩膜进行比较,来确定各个候选掩膜的质量分数。
3.如权利要求2所述的方法,包括:选择具有最高质量分数并且满足至少一个阈值标准的候选掩膜来作为添加掩膜。
4.如权利要求2所述的方法,包括:至少基于颜色直方图比较来计算所述质量分数。
5.如权利要求2所述的方法,包括:至少基于与Jaccard相关的值来计算所述质量分数。
6.如权利要求1所述的方法,包括:根据添加掩膜的帧与正被分析的当前目标帧沿着所述视频序列有多接近,使所述实例分割神经网络局部地适配于来自所述训练数据库的添加掩膜。
7.如权利要求6所述的方法,其中,所述添加掩膜的所述帧越接近所述当前目标帧,所述实例分割神经网络就越有可能要被适配于所述添加掩膜。
8.如权利要求6所述的方法,其中,在距离所述当前目标帧最近的五帧处的添加掩膜具有大约70%的机会被用于适配所述实例分割神经网络,而比所述最近的五帧更远的帧具有更小的机会被用于适配所述实例分割神经网络。
9.如权利要求8所述的方法,其中,所述比所述最近的五帧更远的帧具有大约30%的机会被用于适配所述实例分割神经网络。
10.如权利要求6所述的方法,包括:除了局部适配之外,还使所述实例分割神经网络全局地适配于所述视频序列的基本上每个帧的添加掩膜,使得所述局部适配的添加掩膜被使用多于一次。
11.如权利要求1所述的方法,包括:使所述实例分割神经网络全局地适配于所述视频序列的基本上每个帧的添加掩膜。
12.如权利要求1所述的方法,包括:通过以下操作来利用有监督训练适配所述实例分割神经网络:将来自所述训练数据库的添加掩膜用作到所述实例分割神经网络的输出,以及将具有相应单独添加掩膜的图像数据的帧用作到所述实例分割神经网络的输入。
13.如权利要求1所述的方法,其中,当被输入到所述一般知识神经网络时,所述视频序列中仅一个帧在该帧上具有一个或多个对象的注释。
14.如权利要求1所述的方法,其中,当被输入到所述实例分割神经网络时,所述视频序列中仅一个帧在该帧上具有一个或多个对象的注释。
15.一种由计算机实现的用于图像处理的语义分割系统,包括:
至少一个显示器;
至少一个存储器;
至少一个处理器,所述至少一个处理器通信地耦合到所述显示器和所述存储器,并且通过以下步骤进行操作:
获得捕获的视频序列的帧的图像数据,并包括要被识别并添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制所述神经网络训练数据库;
将这些帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜;
通过将添加掩膜添加到所述训练数据库来定制所述训练数据库,所述添加掩膜是所述多个候选掩膜中被选择的一个掩膜;
将所述帧输入到实例分割神经网络中以输出分割掩膜;
修改所述实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于所述训练数据库中的至少一个添加掩膜;以及
通过使用所述经修改的实例分割神经网络来在推理运行时期间执行对象识别。
16.如权利要求15所述的系统,其中,所述处理器通过以下步骤进行操作:从用户接收用于启动定制设置模式的激活,所述定制设置模式包括对所述图像数据的所述获得;将所述帧输入到所述一般知识神经网络和所述实例分割神经网络中;以及操作所述模式以执行对所述实例分割神经网络的所述修改。
17.如权利要求16所述的系统,其中,所述一般知识神经网络和实例分割神经网络被协同地操作来分析所述视频序列的相同的多个帧,以一次分析一个实例,使得所述视频序列被重复地分析并且针对每个实例被分析至少一次。
18.根据权利要求17所述的系统,其中,所述视频序列针对每个实例被重复地分析,以针对每个实例形成适配所述实例分割神经网络的多次迭代。
19.如权利要求18所述的系统,其中,所述处理器用于通过以下步骤进行操作:在单独帧正被分析时局部地适配所述实例分割神经网络,所述局部地适配在单次迭代期间针对多个帧被重复;以及在每次迭代的结尾处,全局地适配所述实例分割神经网络一次,其中,局部地适配包括根据添加掩膜的帧相对于正被分析的当前目标帧沿着所述视频序列的位置,来利用来自所述训练数据库的添加掩膜适配所述实例分割神经网络,并且其中全局地适配包括使所述实例分割神经网络适配于所述视频序列的基本上每个帧的添加掩膜。
20.至少一种在其上存储有指令的非暂时性计算机可读介质,这些指令在被执行时使得计算设备通过以下步骤进行操作:
获得捕获的视频序列的帧的图像数据,并包括要被识别并添加到对象的神经网络训练数据库的至少一个对象的内容,以便通过包括特定用户的至少一个所需对象来定制所述神经网络训练数据库;
将这些帧输入到与通用数据库相关联的一般知识神经网络中,以输出与对象的实例相关联的多个候选掩膜;
通过将添加掩膜添加到所述训练数据库来定制所述训练数据库,所述添加掩膜是所述多个候选掩膜中被选择的一个掩膜;
将所述帧输入到实例分割神经网络中以输出分割掩膜;
修改所述实例分割神经网络以形成经修改的实例分割神经网络,其中所述修改至少部分地基于所述训练数据库中的至少一个添加掩膜;以及
通过使用所述经修改的实例分割神经网络来在推理运行时期间执行对象识别。
21.如权利要求20所述的介质,其中,所述指令使得所述计算设备通过以下步骤进行操作:针对单个实例以多次迭代的方式适配所述实例分割神经网络,其中所述适配在每次迭代处针对视频序列的多个帧进行,使得实例被分别地适配于正被分析的每个实例。
22.如权利要求20所述的介质,其中,所述指令使得所述计算设备通过以下步骤进行操作:
通过将各个候选掩膜与由所述实例分割神经网络输出的分割掩膜进行比较,来确定针对每个候选掩膜的质量分数;以及
局部地和全局地适配所述实例分割神经网络以执行对所述实例分割神经网络的修改,其中局部地适配包括根据添加掩膜的帧相对于正被分析的当前目标帧沿着所述视频序列的位置,来利用来自所述训练数据库的添加掩膜适配所述实例分割神经网络,并且其中全局地适配包括使所述实例分割神经网络适配于所述视频序列的基本上每个帧的添加掩膜。
23.如权利要求20所述的介质,包括:在定制所述实例分割神经网络的定制模式之后的运行时期间,运行所述实例分割神经网络以输出帧的一个实例的实例分割掩膜,所述输出针对所述帧上的每个实例被重复;以及将所输出的实例分割掩膜组合成单个基于帧的掩膜。
24.包括多个指令的至少一种机器可读介质,所述多个指令响应于在计算设备上被执行,使得所述计算设备执行如权利要求1-14中任一项所述的方法。
25.一种装置,包括用于执行根据权利要求1-14中任一项所述的方法的构件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/112233 WO2020082382A1 (en) | 2018-10-26 | 2018-10-26 | Method and system of neural network object recognition for image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112889068A true CN112889068A (zh) | 2021-06-01 |
Family
ID=70331287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880094093.5A Pending CN112889068A (zh) | 2018-10-26 | 2018-10-26 | 用于图像处理的神经网络对象识别的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11526704B2 (zh) |
CN (1) | CN112889068A (zh) |
WO (1) | WO2020082382A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11531516B2 (en) * | 2019-01-18 | 2022-12-20 | Samsung Electronics Co., Ltd. | Intelligent volume control |
US11200678B2 (en) * | 2019-09-17 | 2021-12-14 | Sony Corporation | Image-based mask frame interpolation |
JP2021180433A (ja) * | 2020-05-14 | 2021-11-18 | キヤノン株式会社 | 撮像装置、情報処理装置、それらの制御方法、プログラム並びに記憶媒体 |
US11488309B2 (en) * | 2020-08-27 | 2022-11-01 | The Chinese University Of Hong Kong | Robust machine learning for imperfect labeled image segmentation |
US11816188B2 (en) * | 2020-08-31 | 2023-11-14 | Sap Se | Weakly supervised one-shot image segmentation |
EP4352705A1 (en) * | 2021-07-14 | 2024-04-17 | Siemens Aktiengesellschaft | Method and apparatus for commissioning artificial intelligence-based inspection systems |
US20230305632A1 (en) * | 2021-12-02 | 2023-09-28 | SoftEye, Inc. | Systems, apparatus, and methods for gesture-based augmented reality, extended reality |
US11983920B2 (en) * | 2021-12-20 | 2024-05-14 | International Business Machines Corporation | Unified framework for multigrid neural network architecture |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2414616A (en) | 2004-05-28 | 2005-11-30 | Sony Uk Ltd | Comparing test image with a set of reference images |
US10719939B2 (en) * | 2014-10-31 | 2020-07-21 | Fyusion, Inc. | Real-time mobile device capture and generation of AR/VR content |
US9858525B2 (en) * | 2015-10-14 | 2018-01-02 | Microsoft Technology Licensing, Llc | System for training networks for semantic segmentation |
CN105957105B (zh) | 2016-04-22 | 2018-10-02 | 清华大学 | 基于行为学习的多目标跟踪方法及系统 |
GB2554435B (en) * | 2016-09-27 | 2019-10-23 | Univ Leicester | Image processing |
CN106709936A (zh) | 2016-12-14 | 2017-05-24 | 北京工业大学 | 一种基于卷积神经网络的单目标跟踪方法 |
US10322510B2 (en) * | 2017-03-03 | 2019-06-18 | Futurewei Technologies, Inc. | Fine-grained object recognition in robotic systems |
US10713794B1 (en) * | 2017-03-16 | 2020-07-14 | Facebook, Inc. | Method and system for using machine-learning for object instance segmentation |
US10217028B1 (en) * | 2017-08-22 | 2019-02-26 | Northrop Grumman Systems Corporation | System and method for distributive training and weight distribution in a neural network |
US10860919B2 (en) * | 2017-09-27 | 2020-12-08 | Google Llc | End to end network model for high resolution image segmentation |
US10460214B2 (en) * | 2017-10-31 | 2019-10-29 | Adobe Inc. | Deep salient content neural networks for efficient digital object segmentation |
WO2019099428A1 (en) * | 2017-11-15 | 2019-05-23 | Google Llc | Instance segmentation |
US10671855B2 (en) * | 2018-04-10 | 2020-06-02 | Adobe Inc. | Video object segmentation by reference-guided mask propagation |
US10649459B2 (en) * | 2018-04-26 | 2020-05-12 | Zoox, Inc. | Data segmentation using masks |
US10755147B2 (en) * | 2018-07-03 | 2020-08-25 | General Electric Company | Classification and localization based on annotation information |
US10977802B2 (en) * | 2018-08-29 | 2021-04-13 | Qualcomm Incorporated | Motion assisted image segmentation |
US11037051B2 (en) * | 2018-11-28 | 2021-06-15 | Nvidia Corporation | 3D plane detection and reconstruction using a monocular image |
US11200678B2 (en) * | 2019-09-17 | 2021-12-14 | Sony Corporation | Image-based mask frame interpolation |
-
2018
- 2018-10-26 CN CN201880094093.5A patent/CN112889068A/zh active Pending
- 2018-10-26 US US17/053,720 patent/US11526704B2/en active Active
- 2018-10-26 WO PCT/CN2018/112233 patent/WO2020082382A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20210248427A1 (en) | 2021-08-12 |
US11526704B2 (en) | 2022-12-13 |
WO2020082382A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11526704B2 (en) | Method and system of neural network object recognition for image processing | |
US10685446B2 (en) | Method and system of recurrent semantic segmentation for image processing | |
US20240112035A1 (en) | 3d object recognition using 3d convolutional neural network with depth based multi-scale filters | |
US9965865B1 (en) | Image data segmentation using depth data | |
US10360732B2 (en) | Method and system of determining object positions for image processing using wireless network angle of transmission | |
US10580140B2 (en) | Method and system of real-time image segmentation for image processing | |
EP4154511A1 (en) | Maintaining fixed sizes for target objects in frames | |
US20130272609A1 (en) | Scene segmentation using pre-capture image motion | |
US9727786B2 (en) | Visual object tracking system with model validation and management | |
US11977981B2 (en) | Device for automatically capturing photo or video about specific moment, and operation method thereof | |
US11776263B2 (en) | Bidirectional pairing architecture for object detection in video | |
CN116324878A (zh) | 针对图像效果的分割 | |
US10846560B2 (en) | GPU optimized and online single gaussian based skin likelihood estimation | |
US20220189108A1 (en) | Mechanism for improved light estimation | |
WO2020092276A1 (en) | Video recognition using multiple modalities | |
CN117413296A (zh) | 用于密集估计的具有相关表征的体积采样 | |
US20240007760A1 (en) | Low-power fusion for negative shutter lag capture | |
CN114758334A (zh) | 一种对象注册方法及装置 | |
WO2023114686A1 (en) | Co-training of action recognition machine learning models | |
CN117690129A (zh) | 一种图像处理方法、装置、电子设备、芯片及介质 | |
KR20220107683A (ko) | 전자 장치 및 이의 제어 방법 | |
CN118368516A (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 |