掌桥专利:专业的专利平台
掌桥专利
首页

卷积神经网络中的错误校正

文献发布时间:2023-06-19 11:32:36


卷积神经网络中的错误校正

相关申请的交叉引用

本申请与2018年1月8日提交的美国专利申请第62/614,602号有关,并主张优先权,其全部内容通过引用并入本文。

技术领域

本公开涉及数据处理的方面和实现,更具体地说,包括但不限于卷积神经网络中的错误校正。

背景技术

卷积神经网络是深度神经网络的一种形式。此类神经网络可用于分析视觉图像和/或其他内容。

附图简要说明

本披露的方面和实施将更充分地从下面给出的详细说明和所附图中更充分地理解披露的各个方面和实施情况,但是,不应将披露局限于具体方面或实施,而只是供解释和理解。

图1说明了一个示例系统,并符合示例实施例。

图2说明了本文描述的一个示例场景,根据示例实施例。

图3说明了本文描述的一个示例场景,根据示例实施例。

图4是一个流程图,说明一种卷积神经网络中错误校正的方法,并符合一个示例实施例。

图5是一个框图,说明能够从机器可读介质读取指令并执行本文讨论的任何方法的机器部件,根据示例实施例。

详细描述

本公开的方面和实现都指向卷积神经网络中的错误校正。

卷积神经网络是一种深度神经网络,可用于分析视觉图像和/或其他内容。此类神经网络可以包括多个连接层,包括以三维(宽度、高度和深度)排列的神经元。此类图层可以配置为分析或处理图像。例如,通过将各种滤镜应用于图像,可以生成一个或多个要素贴图/激活贴图。此类激活映射可以表示引用滤波器的应用响应或结果,例如,相对于与图像至少一部分相关的卷积神经网络层。在另一个示例中,输入图像可以通过卷积神经网络的一个或多个层进行处理,以创建一组要素/激活贴图。因此,卷积神经网络的各个图层可以生成激活映射的集或向量(反映对应于图像不同部分、区域或方面的激活映射)。在某些实现中,此类激活映射可以包括卷积神经网络("CNN")中一个或多个图层的输出,这是CNN处理图像期间生成的数据集(例如,在图像处理的任何阶段)。在某些实现中,引用的激活映射可以包括一个数据集,该数据集可能是在CNN中处理图像期间生成的数据的组合和/或操作(例如,此类数据是CNN生成的数据和存储库中的数据的组合)。

在某些实现中,描述的系统可以配置为检测事件,例如当对象覆盖至少部分被观测到的对象时(例如,手盖住驱动程序的脸部,驱动程序持有的对象覆盖驱动程序的一部分,等等)。

此外,在某些实现中,所述系统可实现用于驾驶员监控系统(DMS)、占用监测系统(OMS)等。例如,检测可能干扰检测与DMS相关的特征(例如与头部姿势、驾驶员眼睛位置、凝视方向、面部表情相关的特征)的遮挡。进一步的示例,检测可能干扰检测或预测驾驶员行为和活动的遮挡。

公开系统的各个方面及相关技术可以包括或涉及机器学习。机器学习可以包括一个或多个技术、算法和/或模型(例如数学模型),这些模型在处理设备上实现和运行。在机器学习系统中实现的模型可以使系统能够根据数据的统计特征而不是根据人类专家的预定义规则来学习和改进数据。机器学习侧重于开发可以访问数据并用它来学习执行特定任务的计算机程序。

机器学习模型可根据机器学习系统的结构、监督或无人监督、系统内的数据流、输入数据和外部触发器进行成型。

机器学习可以作为人工智能(AI)的应用而相关,它使系统能够在不进行显式编程的情况下自动从数据输入中学习和改进。

机器学习可应用于各种任务,如功能学习、稀疏字典学习、异常检测、关联规则学习以及推荐系统的协作筛选。机器学习可用于特征提取、降维、聚类、分类、回归或指标学习。机器学习系统可以受到监督和半监督,不受监督,加强。机器学习系统可以通过各种方式实现,包括线性回归和逻辑回归、线性鉴别分析、支持向量机(SVM)、决策树、随机森林、植物、贝叶斯网络、增强、遗传算法、模拟退火或卷积神经网络(CNN)。

深度学习是一种机器学习系统的特殊实现。在一个示例中,深度学习算法可以发现多个级别的表示或要素的层次结构,使用较低级别的要素提取更高级别、更抽象的要素。深度学习可以在各种前馈或循环架构中实现,包括多层感知器、卷积神经网络、深度神经网络、深度信念网络、自动编码器、长期短期记忆(LSTM)网络、生成对抗网络和深度强化网络。

上述体系结构不是相互排斥的,可以组合或用作实现其他类型的深度网络的构建基块。例如,使用自动编码器可以实现深刻的信念网络。反过来,自动编码器可能使用多层感知器或卷积神经网络实现。

深度神经网络的训练可以作为一个优化问题,涉及最小化预定义的目标(损耗)函数,这是网络参数、其实际预测和所需预测的函数。目标是通过调整网络参数来最小化实际预测和所需预测之间的差异。这种优化过程的许多实现都基于可以使用反传播算法实现的随机梯度下降方法。然而,对于一些操作机制,如在线学习场景,随机梯度下降有各种缺陷,并提出了其他优化方法。

深度神经网络可用于预测输入传感器数据(如静止图像、视频、声音和语音)的各种人类特征、行为和动作。

在另一个实现示例中,基于视频、触觉传感器和GPS等传感器数据的集合,使用深度循环LSTM网络在驾驶员发生前几秒钟预测驾驶员的行为或行为。

在一些实施例中,处理器可以配置为实现一个或多个机器学习技术和算法,以方便检测/预测用户行为相关变量。术语"机器学习"是非限制的,可能包括(但不限于)计算机视觉学习、深度机器学习、深度学习、深度神经网络、神经网络、人工智能和在线学习,即系统操作期间的学习。机器学习算法可以检测收集的传感器数据中的一个或多个模式,例如图像数据、接近传感器数据和此处披露的其他类型的传感器的数据。处理器实现的机器学习组件可能基于收集的传感器数据或保存的数据与感兴趣的用户行为相关变量之间的相关性,使用一个或多个训练数据集进行训练。保存数据可能包括其他机器学习系统生成的数据、传感器输入的预处理分析、与系统观测到的对象相关的数据。机器学习组件可以根据新的训练数据集和反馈循环持续或定期更新。

机器学习组件可用于检测或预测手势、运动、身体姿势、与用户警觉性相关的特征、驾驶员警觉性、疲劳度、对道路的专注性、分心、与用户表情或情绪相关的特征、与用户、驾驶员或乘客的凝视方向相关的特征。机器学习组件可用于检测或预测动作,包括说话、喊叫、唱歌、开车、睡觉、休息、吸烟、阅读、发短信、手持移动设备、将移动设备放在脸颊上、用手手持设备进行短信或扬声器通话、观看内容、玩数字游戏,使用头部安装设备,如智能眼镜,VR,AR,设备学习,与车内设备互动,固定安全带,系安全带,系安全带,正确系安全带,打开车窗,进入或出车,挑选物体,寻找物体,与其他乘客互动,固定眼镜,固定/放眼睛接触,固定头发/衣服,把唇膏,穿衣或脱衣服,参与性活动,参与暴力活动,看着镜子,使用数字设备与另一人或多人/系统/AIs通信,与用户行为相关的功能,与环境的交互,与他人的互动,活动,情绪状态,情绪反应:内容,事件,触发另一个人,一个或多个对象,学习车辆内部。

机器学习组件可用于检测面部属性,包括头部姿势、凝视、面部和面部属性3D位置、面部表情、面部地标,包括:嘴、眼、脖子、鼻子、眼睑、虹膜、瞳孔、配饰,包括:眼镜/太阳镜、耳环、化妆;面部动作包括:说话,打哈欠,眨眼,瞳孔扩张,惊讶;用其他身体部位(如手、手指)遮挡脸部,用用户持有的其他物体(帽子、食物、电话)、其他人(其他人手)或物体(车辆的一部分)、用户唯一的表达方式(如图雷特综合症相关表达式)。

机器学习系统可以使用来自车辆中一个或多个系统的输入,包括ADAS、车速测量、L/R转向信号、方向盘运动和位置、车轮方向、汽车运动路径、指示车辆周围周围的输入、SFM和3D重建。

机器学习组件可用于检测车辆客舱的占用情况,检测和跟踪人员和身体,并根据其存在、位置、姿势、身份、年龄、性别、身体尺寸、状态、情绪、健康、头部姿势、手势、手势、面部特征和表情进行操作。机器学习组件可用于检测一个或多个人、人识别/年龄/性别、人种族、人身高、体重、怀孕状态、姿势、姿势(例如腿部向上、躺下等)、座椅有效性(安全带可用)、人骨架姿势、安全带安装、物体、车辆中的动物存在、车内一个或多个物体、学习车辆内部、异常、车辆中的儿童/婴儿座椅、车辆中的人数、车辆中的人员太多(例如,后座有4名儿童,而只允许3名儿童),坐在其他人的腿上的人。

机器学习组件可用于检测或预测与用户行为、行动、与环境互动、与其他人互动、活动、情绪状态、情绪反应:内容、事件、触发另一个人、一个或多个物体、检测所有成人离开汽车后儿童在车内的存在、监控车辆后座、识别攻击行为、破坏行为,呕吐,身体或精神不适,检测行为,如吸烟,饮食和饮酒,通过他们的目光或其他身体特征了解用户的意图。

在卷积神经网络中分析/处理图像时,如果此类图像包含遮挡或其他缺陷,这些缺陷会掩盖图像中部分内容,则会出现挑战。例如,在通过卷积神经网络分析的图像与人头/人脸相对应的情况下(例如,为了识别此类用户头部的方向/方向),某些图像可能包括遮挡此类头部/面部部分的遮挡。例如,用户可能戴着帽子、眼镜、珠宝,或者可能触摸他/她的脸。处理在这种情况下捕获的图像(包含遮挡,遮盖用户面部/头部的部分)可能会导致来自卷积神经网络(例如,根据不包含此类遮挡的图像配置或训练的卷积神经网络)导致不准确的结果。

因此,本文中描述的各种实现是卷积神经网络中用于错误校正的系统、方法和相关技术。如本文所述,所披露的技术克服了所引用的缺点,并提供了许多额外的优势和改进。例如,公开的技术可以比较一个或多个与新接收的图像生成的激活映射与各种参考图像关联的相应激活映射(输出(例如,用户头部的角度)是已知的)。这样,至少可以识别与新接收的图像最相关的激活映射参考集的一部分。然后可以比较接收图像的激活映射和参考图像的激活映射,以标识接收图像中的激活映射,这些激活映射与参考图像中的相应激活映射没有实质性关联。然后,可以替换参考图像中相应的激活映射,从而生成一组更正的激活映射。这种校正集可以通过卷积神经网络的后续层进行处理。这样,所述技术可以通过使内容以更高效、更准确的方式进行识别来增强此类卷积神经网络的操作,即使在原始输入中存在遮挡的情况中。通过执行所述操作(包括与参考图像相关的激活映射的替代),可以显著提高各种图像识别操作的性能。

因此,可以理解的是,所述技术针对并解决多个技术领域的具体技术挑战和长期缺陷,包括但不限于图像处理、卷积神经网络和机器视觉。如本文所述,所披露的技术为所引用的技术挑战和所引用技术领域的未满足需求提供了具体的技术解决方案,并为传统方法提供了许多优势和改进。此外,在各种实现中,此处引用的一个或多个硬件元素、组件等操作以启用、改进和/或增强所述技术,例如以此处描述的方式。

图1说明了一个示例系统100,根据一些实现。如图所示,系统100包括设备110,可以是计算设备、移动设备、传感器等,用于生成和/或提供输入130。例如,设备110可以是图像采集设备(例如摄像机)、图像传感器、红外传感器等。在某些实现中,设备110可以包括或以其他方式集成一个或多个处理器,例如处理映像和/或其他传感器捕获的其他此类内容的处理器。在其他实现中,传感器可以配置为与其他设备连接和/或以其他方式通信(如此处所述),并且此类设备可以接收和处理引用的图像。

在某些实现中,参考传感器可以是图像采集设备(例如相机)、图像传感器、红外传感器或本文描述的任何此类传感器。此类传感器可以定位或定向在车辆内(例如,汽车、公共汽车或任何其他用于运输的车辆)。在某些实现中,传感器可以包括或集成一个或多个处理器,该处理器处理图像和/或其他传感器捕获的其他此类内容。在其他实现中,传感器可以配置为与其他设备连接和/或以其他方式通信(如此处所述),并且此类设备可以接收和处理引用的图像。

传感器(例如相机)可包括CCD图像传感器、CMOS图像传感器、光传感器、红外传感器、超声波传感器、接近传感器、短波红外(SWIR)图像传感器、反射率传感器、RGB相机、黑白相机或任何其他能够感应环境视觉特征的设备。此外,传感器可能包括单个光传感器或1-D线传感器,能够扫描区域、2-D传感器或立体传感器,例如,包括多个2-D图像传感器。例如,在某些实现中,摄像机可能与镜头关联,用于将特定光线区域对焦到图像传感器上。镜头可以是窄的,也可以是宽的。宽镜头可用于获得宽视野,但这可能需要高分辨率传感器才能获得良好的识别距离。或者,两个传感器可以与具有重叠视野的较窄镜头一起使用;它们共同提供宽广的视野,但两个此类传感器的成本可能低于高分辨率传感器和宽镜头。

传感器可以查看或感知,例如,圆锥或金字塔空间体积。传感器可能有固定位置(例如,在车辆内)。传感器130捕获的图像可以数字化并输入到至少一个处理器,也可以以模拟形式输入到至少一个处理器,并由至少一个处理器数字化。

应当注意的是,传感器以及本文描述和/或引用的各种其他传感器可能包括,例如,一个图像传感器配置为获取三维(3-D)观察空间的图像。图像传感器可包括任何图像采集设备,例如,包括一个或多个摄像机、光传感器、红外(IR)传感器、超声波传感器、接近传感器、CMOS图像传感器、短波红外(SWIR)图像传感器或反射率传感器、能够扫描区域的单光传感器或一维线传感器、CCD图像传感器、反射率传感器、包含三维图像传感器或两个或更多二维(2-D)立体图像传感器的深度视频系统,以及能够感应环境视觉特征的任何其他设备。位于传感器查看空间中的用户或其他元素可能会出现在传感器获得的图像中。传感器可将2-D或3-D单色、彩色或红外视频输出到处理单元,该处理单元可与传感器集成,或通过有线或无线通信信道连接到传感器。

输入130可以是一个或多个图像,例如传感器捕获和/或处理器数字化的图像。此类图像的示例包括但不限于用户头部、眼睛、面部等的传感器数据。此类图像可以以不同的帧速率(FPS)捕获。

参考处理器可以包括,例如,对输入或输入执行逻辑操作的电路。例如,此类处理器可能包括一个或多个集成电路、微芯片、微控制器、微处理器、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、现场可编程栅极阵列(FPGA)、特定应用集成电路(ASIC)或任何其他适合执行指令或执行逻辑操作的电路。至少一个处理器可能与处理单元(如处理单元)的任何部分重合,也可能构成处理单元,其中可能包括可用于存储图像传感器获得的图像的处理器和内存。处理单元可包括可用于存储传感器获得的图像的处理器和内存。处理单元和/或处理器可以配置为执行驻留在处理器和/或内存中的一个或多个指令。例如,此类内存可能包括持久内存、ROM、EEPROM、EAROM、SRAM、DRAM、DDR SDRAM、闪存设备、磁盘、磁光盘、CD-ROM、DVD-ROM、蓝光等,并且可能包含说明(即软件或固件)或其他数据。通常,至少有一个处理器可以接收由内存存储的指令和数据。因此,在一些实施例中,至少有一个处理器通过对输入数据和生成输出执行软件或固件来执行功能。但是,至少一个处理器也可以是专用硬件或特定于应用程序的集成电路(ASIC),通过对输入数据和生成输出进行操作来执行进程。至少一个处理器可以是专用硬件、一个或多个ASIC、一个或多个通用处理器、一个或多个DSP、一个或多个GPU或能够处理数字信息的一个或多个其他处理器的任意组合。

传感器捕获的图像可由传感器数字化并输入处理器,也可以以模拟形式输入处理器,并由处理器数字化。例如,接近传感器可能包括一个或多个电容式传感器、电容式位移传感器、激光测距仪、使用飞行时间(TOF)技术的传感器、红外传感器、检测磁失真的传感器或任何其他能够生成指示物体在接近传感器附近存在的信息的传感器。在一些实施例中,接近传感器生成的信息可能包括物体与接近传感器的距离。接近传感器可能是单个传感器,也可以是一组传感器。系统100还可能包括多种类型的传感器和/或同一类型的多个传感器。例如,多个传感器可以处置在单个设备中,例如包含系统100的一个或多个组件的数据输入设备、系统100其他组件外部的单个设备中,或在各种其他配置中,该配置至少具有一个外部传感器和至少一个传感器内置于系统100的另一个组件中。

处理器可以通过一个或多个有线或无线通信链路连接到传感器或集成到传感器中,并且可能从传感器(如图像)或传感器能够收集的任何数据(如本文所述)接收数据。例如,此类传感器数据可以包括用户头部、眼睛、面部等的传感器数据。图像可能包括传感器捕获的一个或多个模拟图像、传感器捕获或确定的数字图像、传感器捕获的数字或模拟图像子集、处理器进一步处理的数字信息、与传感器感知的数据相关的信息的数学表示或转换、作为视觉信息(如表示图像的频率数据)显示的信息、传感器视野中物体的存在等概念信息等。图像还可能包括指示传感器状态的信息,以及在拍摄图像时的信息,例如曝光率、帧速率、图像的分辨率、色位分辨率、深度分辨率、传感器130的视野,包括捕获图像期间来自其他传感器的信息,例如接近传感器信息、加速度传感器(例如加速度计)信息、描述进一步处理以捕获图像的信息、图像捕获期间的照明条件、传感器从数字图像中提取的功能,或传感器感知的传感器数据相关的任何其他信息。此外,引用的图像可能包括与静态图像、运动图像(即视频)或任何其他基于视觉的数据相关的信息。在某些实现中,从一个或多个传感器接收的传感器数据可能包括运动数据、GPS位置坐标和/或方向矢量、眼睛凝视信息、声音数据和由各种传感器类型测量的任何数据类型。此外,在某些实现中,传感器数据可能包括通过分析来自两个或多个传感器的数据组合获得的指标。

在某些实现中,处理器可以通过一个或多个有线或无线通信链路从多个传感器接收数据。在某些实现中,处理器132也可能连接到显示器,并可能向显示器发送指示,用于显示一个或多个图像,例如此处描述和/或引用的图像。应当理解,在各种实现中,所述传感器、传感器、处理器和显示器可以合并到单个设备中,也可以分布在具有传感器、处理器和显示器的不同组合的多个设备中。

如上所述,在某些实现中,为了减少从传感器到嵌入式设备主板、处理器、应用处理器、GPU、由应用处理器控制的处理器或任何其他处理器的数据传输,系统可以部分或完全集成到传感器中。如果只与传感器、ISP或传感器模块进行部分集成,则提取对象特征(例如,与预定义对象相关的图像预处理)可以集成为传感器、ISP或传感器模块的一部分。视频/图像和/或对象的功能的数学表示可以通过专用线连接或总线在外部CPU上进行进一步处理。如果整个系统集成到传感器、ISP或传感器模块中,则消息或命令(例如,包括此处引用的消息和命令)可能会发送到外部CPU。此外,在一些实施例中,如果系统包含立体图像传感器,则可以通过在2D图像传感器或图像传感器ISP中对视频/图像进行图像预处理来创建环境深度图,视频/图像、对象特征和/或其他减少信息的数学表示可以进一步在外部CPU中处理。

在某些实现中,传感器可以定位以捕获或以其他方式接收用户的图像或其他此类输入(例如,可能是车辆驾驶员或操作员的人类用户)。此类图像可以以不同的帧速率(FPS)捕获。如本文所述,此类图像可以反映用户脸部的各个方面,包括但不限于用户的目光或眼睛方向、位置(空间中的位置)和用户脸部的方向等。

应理解为本文描述和描述的方案通过示例方式提供。因此,所述技术也可以在各种其他安排、配置等中配置或实施。例如,传感器可以定位或定位在任何数量的其他位置(例如,在车辆内)。例如,在某些实现中,传感器可以位于用户上方、用户前面(例如,位于车辆仪表板上或集成在车辆仪表板内)、用户一侧以及任何数量的其他位置/位置。此外,在某些实现中,所述技术可以使用多个传感器实现(这些传感器可以安排在不同的位置)。

在某些实现中,输入130可以通过设备110提供给服务器120,例如通过各种通信协议、网络连接。服务器120可以是配置为处理各种输入的机器或设备,例如,如此处所述。

应当理解为图1中描述的场景通过示例方式提供。因此,描述的技术也可以在其他安排、配置等中配置或实施。例如,设备110和服务器120的组件可以组合到一台计算机或服务中(例如,该计算机或服务既捕获图像,又以此处所述的方式处理图像)。进一步的示例,服务器120的组件可以分布在多台计算机上(例如,存储库160可以是连接到服务器120的独立设备)。

服务器120可以包括卷积神经网络('CNN')140等元素。CNN140可以是一个深度神经网络,例如可用于分析视觉图像和/或其他内容。在某些实现中,CNN140可以包括多个连接的图层,如图1所示的层142A和142B(统称为第142层)。此类图层的示例包括但不限于卷积层、整流线性单位("RELU")图层、池层、完全连接的图层和规范化图层。在某些实现中,此类层可以包括以三维(宽度、高度和深度)排列的神经元,其中一个图层中的神经元连接到层前的一个小区域(例如,而不是以完全连接的方式连接的所有神经元)。

每个描述的图层都可以配置为处理输入130(例如图像)和/或方面或表示。例如,可以通过一个或多个卷积和/或其他图层处理图像,以生成一个或多个要素贴图/激活图。在某些实现中,每个激活映射可以表示引用图层相对于输入部分(例如图像)的输出。因此,CNN的各个图层可以生成和/或提供不同维度的激活映射集或矢量(反映对应于图像的不同部分、区域或方面的激活映射)。

通过图1所示,输入130(例如,来自设备110的图像),可由服务器120接收并由CNN140处理。在这种情况下,可以相对于CNN的一个或多个层142A处理引用的输入。这样,可以生成和/或由此类层142A输出设置150A。如图所示图1、设置150A可以是一组激活映射(此处,激活映射152A,激活映射152B等)生成和/或输出层142A的CNN140。

服务器120也可以包括存储库160。存储库160可以包含一个或多个参考映像170。此类参考图像可以是以前计算或以其他方式定义过各种确定或标识的图像。每个参考图像可以包含或与一组关联,如图1所示的组150B。这样的一组可以是一组由CNN140的各个层生成的和/或输出的激活映射。

计算一组与CNN140的特定图层相关的激活映射(例如,图1所示,根据输入130计算,该集可与与参考图像170关联的一组或多组进行比较。通过比较相应的集(例如,组150A,对应于与输入130计算的激活映射对应,并设置150B对应于参考图像或图像),可以识别与组150A最接近或最紧密匹配或与之关联的此类参考图像关联的集。各种技术可用于识别这种相关性,包括但不限于皮尔逊相关性、绝对或平方差之和、古德曼-克鲁斯克尔伽马系数等。为了识别这种相关性,引用的关联技术可以应用于引用集的一个或多个激活映射,如此处所述。例如,两组激活映射之间的相关性度量可以是部分或所有相应激活映射对的相关性的总和或平均值,也可以是相应激活映射或其他适当函数之间相关性的最大值。基于此类相关度量值的值(例如,最终相关度量),激活映射的参考集被标识为与接收的输入生成的矢量集最相关。

在存储库160中确定与接收的输入生成的集最相关后,可以计算这些集中各个激活映射之间的相似性度度或度量值。例如,在将组150B标识为与组150A最密切相关后,可以根据此类集中相应的激活映射计算皮尔逊相关系数(PCC)(或任何其他此类相似性指标)。在某些实现中,此类指标可以反映-1和1之间的值(零反映无相关性,1反映完美相关性,-1反映负相关)。

通过图示,图2描述了一个示例场景,其中引用的相似性是根据组150A(对应于输入130)和组150B(对应于一个或多个引用图像170)的各自激活映射计算的。可以定义一个或多个标准(例如阈值),以反映计算的相似性是否反映令人满意的结果(例如,在图像识别过程中)。例如,皮尔逊相关系数(PCC)值0.6可以定义为反映满意结果的阈值(例如,在输入130中标识内容)。在相应激活映射之间的比较导致PCC值低于定义的阈值的情况下,可以在CNN中将此类激活映射标识为可修改的候选图。例如,这种修改候选项可以反映可能影响输入130的处理/识别的各个方面的遮挡。

因此,在图2中描述的场景中,可以比较组150A(对应于输入130)和组150B(对应于参考图像170)的相应激活映射,并可以计算每个比较的相似性值。如图2所示,激活映射152A、152B和152D的相似性值(与组150B的激活映射152W、152X和152Z相比)满足或超过某些定义的标准(例如,PCC值阈值为0.6)。因此,可以确定这种激活映射与引用的参考图像足够接近(例如,为了能够识别输入130中的内容)。

相比之下,激活映射152C-与组150B-的激活映射152Y相比可以确定不符合引用的条件(例如,PCC值低于0.6)。因此,激活映射152C可以标识为在CNN内修改的候选图,例如,反映可能影响输入130处理/识别的各个方面的遮挡。

在将激活映射152C确定为CNN内修改的候选对象后,可以替换参考图像中的相应激活映射(此处,激活映射152Y)。这样,可以生成新的或更新的组250。如图2所示,此类组250可以包括确定与参考图像中的激活映射(此处为激活映射152A、152B和152D)基本关联的激活映射,以及与未与参考图像基本关联的输入中的激活映射关联的激活映射,这些映射与未与参考图像基本关联的输入(此处为激活映射152Y)。

在生成了新的/更新的组250后,此类集可以进一步用作与CNN140的一个或多个后续层142B的输入。通过图3所示,图3描绘了将原始激活映射152C替换到CNN140中的组250(包括激活映射152Y),用于进一步处理(例如,与图层142B有关)。然后,CNN可以根据引用集继续其处理,然后可以提供一个或多个输出180。在某些实施中,此类产出可包括各种标识或确定,例如,关于收到的投入130中的内容。这样,所述技术可以更高效、更准确地识别此类内容,即使在原始输入中存在遮挡的情况中。通过执行所述操作(包括与参考图像相关的激活映射的替代),可以显著提高各种图像识别操作的性能。

在某些实现中,所述技术可以配置为启动各种操作,例如与捕获或接收的图像中识别的方面、特征、现象等相关的操作。执行的操作(例如,由处理器执行)可能是生成消息或执行命令(可能与检测到的方面、特征、现象等相关)。例如,生成的消息或命令可以发到任何类型的目标,包括但不限于操作系统、一个或多个服务、一个或多个应用程序、一个或多个设备、一个或多个远程应用程序、一个或多个远程服务或一个或多个远程设备。

应当指出,如本文所用,"命令"和/或"消息"可以指指向和/或能够由任何类型的目标接收/处理的说明和/或内容,包括但不限于:操作系统、一个或多个服务、一个或多个应用程序、一个或多个设备、一个或多个远程应用程序、一个或多个远程应用程序、一个或多个远程服务或一个或多个远程设备。

在某些实现中,此处描述的各种操作可能导致生成消息或命令,消息或命令可用于操作系统、一个或多个服务、一个或多个应用程序、一个或多个设备、一个或多个远程应用程序、一个或多个远程服务或一个或多个远程设备。

应当注意的是,如本文所用,命令和/或消息可以发到任何类型的目标,包括但不限于:操作系统、一个或多个服务、一个或多个应用程序、一个或多个设备、一个或多个远程应用程序、一个或多个远程服务或一个或多个远程设备。

目前披露的主题可能还包括与外部设备或网站通信,对图形元素的选择做出响应。通信可能包括向在外部设备上运行的应用程序发送消息、在外部设备上运行的服务、在外部设备上运行的操作系统、在外部设备上运行的进程、在外部设备处理器上运行的一个或多个应用程序、在外部设备后台运行的软件程序,或在外部设备上运行的一个或多个服务。该方法还可能包括向设备上运行的应用程序发送消息、设备上运行的服务、设备上运行的操作系统、设备上运行的进程、在设备处理器上运行的一个或多个应用程序、在设备后台运行的软件程序或在设备上运行的一个或多个服务。

目前披露的主题可能还包括,响应图形元素的选择,发送消息,请求与图像中标识的图形元素相关的数据,该数据来自在外部设备上运行的应用程序、在外部设备上运行的服务、在外部设备上运行的操作系统、在外部设备上运行的进程,在外部设备的处理器上运行的一个或多个应用程序、在外部设备后台运行的软件程序,或在外部设备上运行的一个或多个服务。

目前披露的主题可能还包括,响应图形元素的选择,发送消息,请求与图像中标识的图形元素相关的数据,从设备上运行的应用程序,在设备上运行的服务,在设备上运行的操作系统,在设备上运行的进程,在设备处理器上运行的一个或多个应用程序,在设备后台运行的软件程序,或在设备上运行的一个或多个服务。

到外部设备或网站的消息可能是命令。例如,可以选择该命令,例如,从在外部设备或网站上运行应用程序的命令、停止在外部设备或网站上运行的应用程序的命令、在外部设备或网站上运行的服务的命令、停止在外部设备或网站上运行的服务的命令,或发送与图像中标识的图形元素相关的数据的命令。

给设备的消息可能是命令。例如,可以选择该命令,例如,在设备上运行应用程序的命令、停止在设备或网站上运行的应用程序的命令、激活设备上运行的服务的命令、停止在设备上运行的服务的命令,或发送与图像中标识的图形元素相关的数据的命令。

目前披露的主题可进一步包括,对图形元素的选择做出响应,从外部设备或网站接收与图像中标识的图形元素相关的数据,以及向用户呈现接收的数据。与外部设备或网站的通信可能通过通信网络进行。

用双手指向的命令和/或消息可以包括例如选择一个区域,通过移动指尖彼此或向对方来放大或缩小选定区域,通过指尖的旋转旋转选定区域。使用两根手指指向执行的命令和/或消息还可以包括创建两个对象之间的交互,例如将音乐轨道与视频轨道组合,或用于游戏交互,例如通过用一根手指指向对象来选择对象,以及通过用另一个手指指向显示器上的位置来设置其移动方向。

还应理解,根据特定实现,此处引用的各种组件可以组合在一起或分离成进一步的组件。此外,在某些实现中,各种组件可以运行或体现在单独的计算机上。此外,本文还详细介绍了某些组件的某些操作。

目前披露的主题也可以配置为与外部设备或网站进行通信,例如响应图形(或其他)元素的选择。此类通信可以包括向在外部设备上运行的应用程序发送消息、在外部设备上运行的服务、在外部设备上运行的操作系统、在外部设备上运行的进程、在外部设备处理器上运行的一个或多个应用程序、在外部设备后台运行的软件程序,或在外部设备上运行的一个或多个服务。此外,在某些实现中,可以向设备上运行的应用程序、设备上运行的服务、设备上运行的操作系统、设备上运行的进程、在设备处理器上运行的一个或多个应用程序、在设备后台运行的软件程序或设备上运行的一个或多个服务发送消息。

图4是一个流程图,说明一种方法400,根据示例实施例,用于卷积神经网络中的错误校正。该方法由处理逻辑执行,该逻辑可以包括硬件(电路、专用逻辑等)、软件(如在计算设备上运行,如此处描述的)或两者的组合。在一个实现中,方法400(以及本文描述的其他方法)由与图1相关的一个或多个元素执行(包括但不限于服务器120和/或集成/连接计算设备,如本文所述)。在一些其他实现中,图4的一个或多个块可由另一台计算机或机器执行。

为了简单解释,方法被描述和描述为一系列的行为。但是,根据本披露的行为可以同时发生在各种订单和/或同时发生的其他行为,以及此处未提出和描述的其他行为。此外,并非所有说明的行为都可能需要按照所披露的事项执行这些方法。此外,精通本领域的人会理解并理解这些方法可以通过状态图或事件表示为一系列相互关联的状态。此外,应当认识到,本规范中披露的方法能够存储在制造产品上,以便利将此类方法运输和传输到计算设备。此处使用的制造条款旨在包含可从任何计算机可读设备或存储介质访问的计算机程序。

在操作402时,收到一个或多个参考输入(例如参考图像)。此类参考图像170可以是捕获/处理后续图像/输入之前的一个或多个图像(例如,如此处所述的410接收的图像)。例如,如图1所示,设备110可以是捕获一个或多个参考图像的传感器(例如,在捕获输入130之前)。此类参考映像可由设备110提供给服务器120,并存储在存储库160中。例如,此类参考图像可以是输入130的主题相同的人的图像,该图像在以前时刻捕获。

在操作404时,将生成第一个参考激活映射/激活映射集,例如,在402时收到的参考输入/图像。在某些实现中,此类参考激活映射/激活映射组150B可以在卷积神经网络的一个或多个层中生成,例如,以与本文描述的输入130(例如,420)类似的方式生成。此类参考激活映射可与生成的与随后捕获的图像生成的激活映射进行比较,如此处所述。

在操作410时,收到第一个输入,如图像。例如,如图1所示,设备110可以是捕获一个或多个图像的传感器。此类映像可由设备110作为输入130提供,并由服务器120接收。

在操作420时,将生成第一个激活映射/激活映射集,例如,对于410时收到的输入/图像。在某些实现中,可以在卷积神经网络的一个或多个图层(例如,卷积图层、RELU图层、池图层、完全连接的图层、规范化图层等)中生成此类激活映射/激活映射集。在某些实现中,描述的操作可以生成图像的激活映射集或矢量(反映对应于图像不同部分、区域或方面的激活映射)。

例如,如图1所示,输入130(例如,来自设备110的图像)可以相对于CNN140的层142A进行处理。

应当理解,在某些实现中,引用集中的激活映射数可以通过CNN140和/或层142的结构来定义。例如,在CNN140的选定卷积层142A包含64个筛选器的情况下,引用的集将具有64个相应的激活映射。

在操作430中,将一组与第一图像生成的激活映射(例如,在420)进行比较,将一组激活映射与根据各种参考图像生成的一组或多组激活映射(例如,在404生成)。此类参考图像可以是以前计算或以其他方式定义过各种确定或标识的图像(例如,预定义的地面真实值,例如反映用户的头部姿势)。在某些实现中,每个参考图像可以包括或与CNN140的各个层生成的和/或输出的一组激活映射(例如,与组150B关联的参考图像170,如图1所示)。

在某些实现中,与第一个图像生成的引用激活映射集(例如,图1所示的组150A)可以与多个集进行比较,每个集可能与不同的参考图像关联。这样,可以标识与组150A最接近或最匹配或与之关联的引用图像的集。可以使用任何数量的技术(如本文所述和/或引用的技术(例如,皮尔逊相关性、绝对或平方差之和、古德曼-克鲁斯克尔伽马系数等)来识别或确定这种相关性。在一个实现中,为输入激活映射(例如,与第一个图像/输入生成的映射)和引用激活映射(例如,与参考图像生成的图)之间的相关性设置了一个值。在一个示例中,此类值可以是某些或所有相应激活映射对的相关性的总和或平均值,也可以是相应激活映射之间的相关性最大值,也可以是另一个合适的函数。根据设置值,根据接收的输入标识一个或多个激活映射。

应该注意的是,在某些实现中,引用组150A可以与参考图像170相关的集根据集内的每个激活映射进行比较。在其他实现中,此类比较只能根据某些激活映射(例如,来自筛选器编号2、12和51的激活映射)进行在64个总激活映射中)。此外,在某些实现中,可以根据相应的图像执行引用的比较(例如,通过比较输入图像和参考图像,以及比较相应的激活映射(如本文所述)

在某些实现中,描述的参考图像170可以先前捕获/处理的图像,其中已经计算或以其他方式分配了各种识别、确定等(例如,不同位置、角度等的人脸图像的参考数据库)。此外,在某些实现中,所述参考图像可以是设备110捕获的图像,例如在捕获输入130之前(例如,在402、404)。在捕获了这些先前的图像后,可以比较和确定这些图像与其他引用的图像(例如,以本文所述的方式)充分关联。在确定此类先前图像与存储的参考图像170相关后,引用的先前图像可用于处理随后捕获的图像(例如,此处所述的输入130)。利用最近捕获/处理的图像作为参考图像可能非常有利,因为之前图像中标识的内容与当前处理的图像中的内容之间预期高度的相关性。

通过进一步说明,在某些实现中,参考图像可以是多个图像之一的集合(例如,来自数据库)。此外,在某些实现中,参考图像可以是同一个人的图像(例如,从以前的时间时刻)。可以从以前的时间选择的图像,例如,通过将图像关联到另一个参考映像(例如,从数据库/存储库160)进行关联选择,如果前一个图像和数据库中的图像之间的相关输出不引入低于预定义阈值的任何激活映射的任何相关性,则选择该图像。还应当指出,在某些实现中,对于每个激活映射,可以使用不同的参考图像。

在某些实现中,可以使用任何数量的其他技术/方法识别和/或选择所述的参考映像。此外,在某些实现中,描述的参考映像可以是一组参考映像。在这种情况下,用于替换输入图像激活映射的激活映射可以是来自参考图像存储库/集的激活映射的线性或其他此类组合。

在某些实现中,可以从一组基于输入图像关联的数据识别/选择参考图像。例如,从输入图像中提取的特征(如在图像中识别用户、检测图像中用户的性别/年龄/高度/种族)可用于识别/选择参考图像(例如,与相同或相关特征关联的参考图像)。

此外,在某些实现中,可以使用/基于图像传感器捕获输入图像的上下文信息来识别/选择所述参考图像。此类信息(关于图像传感器捕获输入图像的上下文)可以包括或反映图像是在汽车内部捕获的,即用户可能的身体姿势(例如,用户坐在驾驶座上)、时间、照明条件、摄像机相对于观测对象的位置和位置(例如用户脸)、与用户脸部相关的特征、与用户脸部相关的特征、用户凝视、面部动作(例如,说话、打哈欠、眨眼、扩张、惊讶等)和/或用户的活动或行为。

在某些实现中,可以使用/基于与一种遮挡类型相关的数据(例如,喝杯咖啡的手势、打哈欠的手势等)来识别/选择参考图像。在一个实现中,引用图像可以是捕获和/或保存在内存中的图像,在发生引用的手势/闭塞之前反映或对应于一个或多个帧。

此外,在某些实现中,可以使用/基于要捕获的已定义数量的将来帧来识别/选择所述参考图像。

应当理解,从参考映像存储库中使用的图像可以预先处理或转换,例如,在用作参考映像之前。在一个实现中,这种变换可以是几何变换(例如,向上或向下缩放图像、旋转图像或执行光度变换(如亮度或对比度校正)。在另一个实现中,引用的转换可以包括将RGB映像更改为IR传感器捕获的图像。在另一个实现中,引用的预处理可以包括删除对象或向图像添加对象(例如眼镜等)。

应当理解为,"干净"图像可以是包含感兴趣对象的图像,并且感兴趣的对象不受遮挡、可见伪影或其他缺陷的影响。例如,对于配置为检测用户头部各种姿势的系统,此类"干净"图像可以包含一张不被太阳镜、手、杯子等无关物体遮挡的面部,并且不受硬阴影或强光的影响。对于这样的"干净"图像,CNN应返回接近其地面真实值的输出。在头部姿势检测系统的情况下,CNN将人脸的图像作为输入,并输出头部姿势参数,例如,打哈欠、俯仰和/或滚动角度。

在某些实现中,可以生成以下参考映像存储库/数据库160。捕获具有不同头部姿势的"干净"图像数。存储库/数据库160可以包含"干净"图像,使用从-90度到+90度的"干净"图像(从右到左配置文件),间距为-60到+60度(下至上),滚动从-40度到+40度。图像可以根据角度的预定义分辨率进行捕获,即使用一度步进拍摄的图像数据库(用于打哈欠和一度步进拍摄的俯仰)将包含181*121=21901图像。每个图像通过CNN的图层传递,以计算每个数据库图像的一组激活映射。集数据库可以称为激活映射数据库。每个数据库图像的头部姿势值都可以记录,例如,通过磁头跟踪器或使用各种头部姿势检测技术进行计算。

在操作440时,可以识别一组与参考图像生成的激活映射。此类集可以是与参考图像关联的激活映射集,这些激活映射与生成的第一个图像相关的激活映射集最相关。在某些实现中,可以根据激活映射的比较(例如,在430)来标识此类集。

在操作450时,确定了一个或多个要修改的候选项。在某些实现中,可以根据计算相关性(例如统计相关性)确定此类候选项。在某些实现中,可以根据第一组激活映射中反映的数据(例如,在420时生成的激活映射)中反映的第二组激活映射(例如,来自440上标识的激活映射集)中反映的数据之间计算出的此类修改候选项。在某些实现中,每对激活映射之间的此类相关性可以反映与第一个图像相关的激活映射集与参考图像关联的一组激活映射之间的相关性。

此外,在某些实现中,这种相关性可以反映与第一个图像生成的激活映射与与一个或多个参考图像关联的一个或多个激活映射之间的相关性。此外,在某些实现中,可以使用任何数量的技术(如此处描述和/或引用的技术)计算此类相关性(例如,斯皮尔曼的排名、皮尔逊排名、绝对或平方差之和、古德曼-克鲁斯克尔伽马系数等)。

例如,如本文所述,在某些实现中,可以定义各种标准,以反映计算的相似性/相关性是否反映令人满意的结果(例如,在图像识别过程中)。例如,皮尔逊相关系数(PCC)值0.6可以定义为反映满意结果的阈值(例如,在输入130中标识内容)。在相应激活映射之间的比较导致PCC值低于定义的阈值的情况下,可以在CNN中将此类激活映射标识为可修改的候选图。例如,这种修改候选项可以反映可能影响输入130的处理/识别的各个方面的遮挡。

通过图1所示的图例,已确定组150B与组150A(与参考图像170相关组之间)最相关,可以根据此类组(150A和150B)中相应的激活映射计算统计相关性(例如,PCC等相似性指标)。这种统计相关性可以表示为相似性值,例如-1和1之间(零反映无相关性,1反映完全相关,-1反映负相关性)。例如,如图2所示,可以比较组150A和150B中各自的激活映射,并计算每对激活映射之间的相似度/相关性。在图2中描述的方案中,激活映射152C可以标识为可修改的候选图,如此处所述。

应当理解为参考图像可以是具有最接近输入图像特征的"干净"图像。在头部姿势检测系统的情况下,参考图像中的面具有最接近的打哈欠、俯仰和滚动到输入图像中对头部姿势的打哈欠、俯仰和滚动。

如本文所述,在某些实现中,输入图像可以转换为一组150A(例如,一组激活映射),并且可以识别与参考图像170相关的最佳匹配组150B。统计相关系数(如皮尔逊相关系数)可以在组150A和组150B的每个激活映射之间计算,并可用作输入图像130和参考图像170之间的相似性度量。组150A和组150B之间的总相关性可以计算,例如,通过计算每对激活映射计算的统计相关系数总和。例如,如果每个集都包含64个激活映射,则激活映射152A和激活映射152W之间的相关系数(例如,如图2所示)可以添加到激活映射152B和激活映射152X之间的相关系数中,直到映射号64之前。在这种情况下,最大总关联值将为64。在另一个实现中,仅使用激活映射的特定列表(例如,那些已确定或确定为重要的映射)。

具有最高总关联值的激活映射的参考集(例如,如上述方式计算)是参考图像,以此处所述的方式标识并选择用于修复要修改的候选图像。应当理解为所选参考图像的输出预测标签(例如头部姿势)是已知的。如本文所述,这种具有最高总相关性的激活映射和从输入图像生成的激活映射集的参考激活映射可以作为输出提供。

应当理解,新的/修改/替换的激活映射可能是一个或多个:与一秒多/参考图像关联的多个激活映射的组合,与第一个图像关联的激活映射的组合,以及与第二个图像关联的激活映射的组合,等等。此外,在某些实现中,引用的修改激活映射可以反映标识的激活映射(例如,从激活映射集)的删除。

此外,在某些实现中,可以对数据库进行天真的搜索,或者使用各种数值优化方法改进参考图像的识别/选择。例如,可以执行网格搜索,以一点一点缩小搜索范围。

此外,在某些实现中,输入图像130可以转换为由多个激活映射(例如,64个激活映射)组成的设置150A。每个激活映射可以视为一个小图像表示,因此可能包含有关图像数据的信息,如头部姿势。在某些实现中,每个激活映射可以独立用于计算几个头部姿势候选者。稍后,所有候选者都可以组合,以获得/确定最终的头部姿势输出。

例如,对于每个地图,可以从存储库/数据库160中识别出一些"最接近"的激活映射,例如,以本文所述的方式标识。已识别参考贴图的地面真实头姿势值可用作当前输入图像激活映射的头部姿势候选值。最终头部姿势计算为激活映射的头部姿势候选者的加权组合。

例如,第一个激活映射最近的地图是"干净"图像编号1和2的第一个激活映射。这意味着相应组150A的头部姿势候选是图像1和2的头部姿势。这两个头部姿势候选项可以组合成一个对应于设置150A的头部姿势候选项。同样,计算其他激活映射的头部姿势候选项,例如,对于各种头部姿势输出。然后,最终输出头姿势候选项可以计算为参考头姿势输出的加权组合。

在操作460中,使用与第二个图像关联的激活映射或一组激活映射在卷积神经网络的一个或多个层中处理第一个图像。在某些实现中,可以使用与第二个图像关联的激活映射处理第一个图像,其依据是统计相关性(例如,在450时计算)不符合某些预定义条件。

例如,在某些实现中,可以定义各种标准(例如,定义的阈值、标准差的阈值等),以反映计算的相似性(例如,450计算的统计相关性)是否反映令人满意的结果(例如,在图像识别过程中)。例如,皮尔逊相关系数(PCC)值0.6可以定义为反映满意结果的阈值(例如,在输入130中标识内容)。在相应激活映射之间的比较导致PCC值低于定义的阈值的情况下,可以将此类激活映射标识为在CNN中可修改的候选图(例如,在450)。例如,这种修改候选项可以反映可能影响输入130的处理/识别的各个方面的遮挡。

在某些实现中,对于第一个图像生成的激活映射(和/或激活映射的一部分或部分)可以替换为与参考图像生成的激活映射(和/或激活映射的一部分或段)。例如,在一组与第一个图像生成的激活映射中(例如,设置150A),确定与参考图像(如图2所示的激活映射152C)中的相应激活映射(例如,从组150B中的激活映射152Y)进行充分关联或替换的激活映射。

通过进一步说明,如图2所示,本文所述,可以比较组150A(对应于输入130)和组150B(对应于参考图像170)的相应激活映射,并计算每个相应比较的统计相关性(如相似性值所示)。在图2中描述的方案中,激活映射152A、152B和152D的相似性值(与组150B的激活映射152W、152X和152Z相比)满足或超过一个或多个定义的标准(例如,PCC值阈值为0.6)。因此,可以确定此类激活映射与引用图像(例如,以便通过CNN140识别输入130中的内容)足够相关。

相比之下,激活映射152C-与组150B-的激活映射152Y相比可以确定不符合引用条件(例如,PCC值低于0.6)。因此,激活映射152C可以标识为在CNN内修改的候选图,例如,反映可能影响输入130处理/识别的各个方面的遮挡。

通过进一步说明,可以计算所有64个激活映射的关联系数,以及此类相关系数的平均值(例如0.6)和标准差(例如0.15)。在这种情况下,识别相关系数低于平均值1标准差的激活映射(此处为相关系数低于0.45的激活映射)(可以替换,如此处所述)。

在将激活映射152C确定为CNN内修改的候选图后,可以替换/替换参考图像中的相应激活映射(此处,激活映射152Y)。这样,可以生成新的或更新的组250。如图2所示,此类组250可以包括与参考图像中足够相关的激活映射(此处,激活映射152A、152B和152D),以及与参考图像没有足够关联的输入中的激活映射关联的激活映射,这些激活映射与参考图像没有足够关联的输入中的激活映射(此处为激活映射152D)。

应当理解,所述的替换/替换操作(例如,确定候选的修改)可以通过任何数量的方式执行。例如,在某些实现中,可以组合多个引用激活映射、平均值等,并且可以使用这种组合替换/替换标识的候选项进行修改。通过进一步的示例,可以组合各种参考激活图和用于修改的标识候选项等,并可以使用这种组合来替换/替换已识别的候选项进行修改。通过进一步的示例,可以忽略或删除已识别的修改候选项(例如,在激活映射集内),还可以按本文所述进一步处理激活映射集(说明缺少要修改的候选项)。

在生成了新的/更新的组250后,此类组可以进一步用作与CNN140的一个或多个后续层142B的输入。例如,如图3所示,将第250组(包括用于原始激活映射152C的激活映射152Y)输入到CNN140中,用于进一步处理(例如,与图层142B有关)。

在操作470时,提供输出。在某些实现中,此类输出基于在CNN第二部分(例如,460)内使用替换的激活映射集的处理来提供此类输出。此外,在某些实现中,神经网络输出的有效性可以量化,例如,基于计算的相关性。此外,在某些实现中,根据卷积神经网络第二层(例如,460)中第一个图像的处理,可以识别第一个图像中包含或反映的内容。

例如,如图3所示,使用组250作为CNN140的142B层输入,CNN140可以继续其处理并提供一个或多个输出180。在某些实现中,此类产出可以包括或反映标识或确定,例如,关于输入130内或由输入中反映的内容。例如,CNN140可以提供输入中的输出标识内容,例如对象的存在、用户正在查找的方向等。

此外,在某些实现中,在确定在CNN内进行修改的候选对象(例如,导致一个或多个激活映射与参考图像中的相应激活映射没有充分关联的遮挡),可以选择和利用与此类参考图像相关的输出(例如,替代激活映射以在CNN内进一步处理,如本文所述)。例如,在确定最近的参考图像与某些输出(例如,识别此类图像中的内容(如对象的存在、用户正在查找的方向等)时,此类输出也可以与正在处理的图像关联。

此外,在某些实现中,对描述的修正的有效性进行了测试。例如,在某些实现中,原始(未更正)组150A可以通过第142B层进一步处理,以基于此类输入确定CNN140的输出。此类方案中的输出可以与CNN140的输出进行比较(使用组250代替组150A),以确定哪组输入提供的输出与参考映像关联的输出更紧密相关。在已更正的组250不会导致CNN140产生与参考图像的输出更紧密相关的输出的情况下,可以确定所述校正无效(例如,在输入中识别内容、头部姿势等)。此外,在某些实现中,在确定已更正的组250确实会导致CNN140生成与参考图像的输出更紧密相关的输出时,可以提供最终输出,例如,反映CNN使用校正集提供的输出与参考图像关联的输出值之间的线性组合(例如,平均值)。

此外,在某些实现中,所述技术可以配置为执行一个或多个操作,包括但不限于:接收第一个映像;在卷积神经网络的第一层中生成第一组激活映射,第一组包含一个或多个第一个激活映射,并生成与第一个图像有关;将第一组激活映射与一组或多组与一个或多个第二图像关联的激活映射进行比较;根据比较,确定第二组与第二个图像关联的激活映射,作为与第一组激活映射最相关的激活映射集;基于至少一个或多个第一次激活映射中反映的数据与至少一个或多个第二个激活映射中反映的数据之间的统计相关性,确定一个或多个要修改的候选数据;通过在第一组激活映射中将至少一个或多个修改候选程序中的一个替换为至少一个或多个第二个激活映射,生成第一组修改的激活映射;在卷积神经网络的一个或多个第二层中处理第一组经过修改的激活映射,以生成第一个输出;基于第一个输出,生成第二组修改的激活映射;在卷积神经网络的一个或多个三层内处理第二组经过修改的激活映射,以生成第二个输出;并在卷积神经网络的一层或三层内处理第二组修改后的激活映射,为第一个图像提供第三个输出。这样,可以在CNN的一个或多个第一层中执行一个或多个修改(例如替换、替换等),并且可以根据此类修改的激活映射集生成输出,如本文所述。然后,此类输出可以在CNN的进一步图层中使用,所述技术可以对一个或多个引用的激活映射(例如,以前修改过的)执行一个或多个修改(例如替换、替换等),并且可以根据此处所述的此类修改激活映射集生成进一步的输出。这样,可以在CNN的多个图层上修改/替换多个激活映射,如此处所述。

此外,在某些实现中,输入图像130可以转换为由多个激活映射(例如,64个激活映射)组成的设置/矢量150A。每个激活映射可以视为一个小图像表示,因此包含有关图像数据的信息,如头部姿势。在某些实现中,每个激活映射可以独立地用于计算几个头部姿势候选者。稍后,所有候选者都可以组合,以获得/确定最终的头部姿势输出。

例如,对于每组激活映射,存储库/数据库160中的多个激活映射可以标识为"最近",例如,以此处描述的方式标识为"最近"。已识别参考贴图的地面真实头姿势值可用作当前输入图像激活映射的头部姿势候选值。最终头部姿势可以计算为激活映射的头部姿势候选者的组合。

例如,第一个激活映射最近的地图是"干净"图像编号1和2的第一个激活映射。这意味着相应组150A的头部姿势候选是图像1和2的头部姿势。这两个头部姿势候选项可以组合成对应于矢量150A的单个头部姿势候选对象。同样,还计算其他激活映射的头部姿势候选项,例如,对于各种头部姿势输出。然后,最终输出头姿势候选项可以计算为参考头姿势输出的加权组合。

在某些实现中,所述技术可用于检测和校正卷积神经网络输入中的错误(例如,此类输入可以是图像)。此类错误的示例包括但不限于:捕获对象的物理遮挡(例如,手或杯子遮挡用户脸部)或任何类型的数据损坏(例如饱和图像区域、突然的镜头污染、传感器损坏的像素、由于编码/解码错误导致的图像区域像素化等)。

在某些实现中,所述技术也可以扩展,以分析输入中检测到的错误,以卷积神经网络。可以将某些激活映射与图像区域(以及图像特征(如内容、颜色分布等)关联。因此,此类激活映射可以与可能遮挡或损坏的图像区域关联度低(与参考图像中的相应激活映射关联不够相关)。这些激活映射中显示的信息可用于定义遮挡区域,例如面部分。此外,还可以从这些激活映射中提取有关遮挡或损坏性质的信息。

低相关性的激活映射可以稍后使用/处理(例如通过额外的CNN部件),以便提取有关位置和遮挡类型的信息:可以收集和分析闭塞区域的统计数据(例如:头部上部的遮挡可以定义帽子;这种遮挡对于某些应用可能不重要,例如驾驶员监控,因此可能会被忽略;左脸或右脸部分的遮挡对于驾驶员监控可能更为关键,因为它可能定义驾驶时使用的手机,在这种情况下,可以应用对象检测方法(例如额外的CNN),以识别对象或遮挡原因)。

可使用额外的卷积神经网络(或其部件,类似于142B)执行对象分类任务的在线学习。低相关性的激活映射可用作对象分类卷积神经网络(类似于142B)的输入,并可以了解检测到的遮挡的类别(类/类型/性质)。

通过这种卷积神经网络(或任何其他对象分类技术,无论是确定性或随机性)所学的数据(在线或离线)以后可用于提高本文所述初始系统的性能。例如,检测到的遮挡可以检测到并学会成为新面孔的神器(例如胡须、胡子、纹身、化妆、理发等)或配件(如眼镜、穿孔、帽子、耳戴)。在这种情况下,遮挡可以视为面特征,因此可以将特征添加到训练过程中,并且/或包含此类工件的图像可以添加到参考数据集中。选择要添加到参考数据的图像可以使用与检测到的面部伪影或配件相关的信息(例如,检测到用户戴太阳镜的图像将在白天;在会话期间,将使用检测到用户佩戴耳塞的图像,而用户有新纹身的图像将永久使用。

所述系统在车内环境对象监控系统中的一种应用,可以说明安全带检测、儿童检测或任何其他特定物体检测。例如,有关儿童座椅是否空的分析可以与本文所述系统一起执行,例如,不使用其他物体检测技术。首先,可以识别与子座位置关联的激活映射。其次,如果参考数据集包含具有空子座的图像,则与子座位置关联的输入图像的激活映射与空子座参考图像的相应激活映射进行比较,并计算相关度量。可以应用一个标准(例如阈值),以确定比较的激活映射是否足够相似。如果比较的激活映射足够相似(例如,计算相关性高于阈值),则返回空椅子的最终答案/输出。如果比较的激活映射差异太大(例如计算相关性低于阈值),则可能会发出信号“婴儿在椅子上!”。

还应注意,虽然本文所述的系统在卷积神经网络中的错误校正方面进行了说明,但所述系统也可以在数量多的附加或替代设置或上下文中实现,并针对任何数量的额外目标实现。

所述技术可在各种设备或组件(如任何数字设备)内实施和/或结合实施,包括但不限于:个人电脑(PC)、娱乐设备、机顶盒、电视(电视)、移动游戏机、手机或平板电脑、电子阅读器、智能手表、数字手腕臂、游戏机、便携式游戏机、便携式电脑(如笔记本电脑或超极本)、一对一、电视、互联电视、显示设备、家用电器、通信设备、空调、基座、游戏机、数码相机、手表、交互式表面、3D显示屏、娱乐设备、扬声器、智能家居设备、物联网设备、物联网模块、智能窗口、智能玻璃、智能灯泡、厨房设备、媒体播放器或媒体系统,基于位置的设备;和移动游戏机,皮科投影仪或嵌入式投影仪,医疗设备,医疗显示设备,车辆、车载/空中信息娱乐系统、无人机、自动驾驶汽车、自动驾驶汽车、导航系统、可穿戴设备、增强现实设备、可穿戴护目镜、虚拟现实设备、基于位置的设备、机器人、社交机器人、机器人、机器人、交互式数字标牌、数字亭、自动售货机、自动出纳机(ATM)和/或任何其他可以接收、输出和/或处理数据的此类设备。

详细描述的某些部分以算法和计算机内存中数据位操作的符号表示形式进行介绍。这些算法描述和表示是数据处理艺术中技术人员使用的手段,以最有效地将作品的实质内容传达给本领域技术人员。算法在这里,通常被认为是一个自一致的步骤序列,导致期望的结果。这些步骤是那些需要物理操作物理量的步骤。通常,虽然不一定,这些数量采取电或磁信号的形式,能够存储,传输,组合,比较,以其他方式操纵。事实证明,有时(主要出于常见使用的原因)将这些信号称为位、值、元素、符号、字符、术语、数字等都很方便。

但是,应当记住,所有这些术语和类似的术语都与适当的物理量相关,并且只是应用于这些数量的方便标签。除非上述讨论另有明确说明,在整个描述中,使用"接收"、"处理"、"提供"、"识别"等术语的讨论是指计算机系统或类似电子计算设备的操作和过程,这些操作和过程操作并转换出计算机系统登记册和存储中的物理(例如电子)数量的数据,并将其转换为计算机系统存储或寄存器或其他此类信息存储、传输或显示设备中的物理数量。

披露的方面和实现也涉及一种执行本文操作的装置。相应地激活或配置计算设备的计算机程序可以存储在计算机可读存储介质中,例如(但不限于)任何类型的磁盘,包括软盘、光盘、CD-ROM和磁盘、只读存储器(ROM)、随机存取存储器(ROM)、EPROM、EEPROM、磁卡或光盘,或适用于存储电子指令的任何类型的介质。

本披露不提及任何特定的编程语言。如本文所述,可以使用各种编程语言实现披露的教导。

如本文所用,短语"例如","例如","例如"及其变体描述当前披露的物项的非限制实施例。在规范中提及"一种情况"、"某些情况"、"其他情况"或其中的变型,意味着与实施例有关的特定特征、结构或特征至少包含在目前披露的主题事项的一个实施例中。因此,短语"一种情况"、"某些情况"、"其他案例"或其变体的出现不一定指同一实施例。

为了清楚起见,本规范中描述的某些特性在单独的实施例的上下文中,也可以在单个实施例中组合提供。相反,在单个实施例的上下文中描述的各种特征也可以单独在多个实施例或任何合适的子组合中提供。此外,虽然上述特征可以描述为某些组合,甚至最初声称为某种组合,但在某些情况下,声称组合的一个或多个功能可以从组合中切除,并且声称的组合可以定向到子组合的子组合或变体。

已描述特定实施例。其他实施例属于以下声明的范围。

本文描述的某些实现包括逻辑或许多组件、模块或机制。模块可以构成软件模块(例如,机器可读介质上体现的代码)或硬件模块。"硬件模块"是能够执行某些操作的有形单元,可以以特定物理方式进行配置或排列。在各种示例实现中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以通过软件(例如应用程序或应用程序部分)配置为硬件模块,以执行此处所述的某些操作。

在某些实现中,硬件模块可以通过机械、电子或任何合适的组合实现。例如,硬件模块可以包括永久配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以是特殊用途的处理器,例如现场可编程门阵列(FPGA)或应用特定集成电路(ASIC)。硬件模块还可以包括可编程逻辑或电路,这些逻辑或电路由软件临时配置为执行某些操作。例如,硬件模块可以包括处理器或其他可编程处理器执行的软件。一旦由此类软件配置,硬件模块就成为特定计算机(或计算机的特定组件),专门定制以执行配置的功能。将不胜感激的是,在专用和永久配置的电路中,或在临时配置的电路(例如,由软件配置)中机械地实施硬件模块的决定,可以由成本和时间考虑驱动。

因此,"硬件模块"一语应理解为包含有形实体,即物理构造、永久配置(例如硬连线)或临时配置(例如编程)以特定方式操作或执行此处描述的某些操作的实体。如本文所述,"硬件实现模块"是指硬件模块。考虑到临时配置硬件模块(例如编程)的实现,每个硬件模块都不需要在任何一个实例中及时配置或实例化。例如,如果硬件模块包含由软件配置为特殊用途处理器的处理器,则处理器可以在不同的时间分别配置为不同的专用处理器(例如,由不同的硬件模块组成)。因此,软件将特定处理器或处理器配置为在一个实例中构成特定硬件模块,并在不同的时间实例中组成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息,并接收其他硬件模块的信息。因此,所述硬件模块可视为通信耦合。如果同时存在多个硬件模块,则可以通过信号传输(例如,通过适当的电路和总线)在两个或多个硬件模块之间或之间实现通信。在不同时间配置或实例化多个硬件模块的实现中,可以实现此类硬件模块之间的通信,例如,通过存储和检索多个硬件模块可以访问的内存结构中的信息。例如,一个硬件模块可以执行该操作,并将其通信耦合的内存设备中存储该操作的输出。然后,另一个硬件模块可以在以后访问内存设备以检索和处理存储的输出。硬件模块还可以启动与输入或输出设备的通信,并可以对资源进行操作(例如,信息集合)。

此处描述的示例方法的各种操作可由临时配置(例如,软件)或永久配置以执行相关操作的一个或多个处理器执行,至少部分执行。无论是临时配置还是永久配置,此类处理器都可以构成处理器实现的模块,这些模块可执行此处描述的一个或多个操作或功能。如本文所述,"处理器实现的模块"是指使用一个或多个处理器实现的硬件模块。

同样,本文描述的方法至少可以部分实现处理器,其中特定处理器或处理器是硬件示例。例如,方法的一些操作至少可以由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可以在"云计算"环境中或作为"软件服务"(SaaS)支持相关操作的性能。例如,至少某些操作可以由一组计算机执行(例如包括处理器在内的计算机的示例),这些操作可通过网络(例如因特网)和一个或多个适当的接口(例如API)访问。

某些操作的性能可以分布在处理器之间,不仅驻留在一台计算机中,而且部署在多台计算机上。在某些示例实现中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公环境或服务器场中)。在其他示例实现中,处理器或处理器实现的模块可以分布在多个地理位置。

与图1-4结合图文法所述的模块、方法、应用程序等在计算机和相关软件体系结构的一些实现中实现。以下各节介绍适用于公开实现的代表性软件架构师和机器(例如硬件)体系结构。

软件体系结构与硬件架构结合使用,以创建针对特定用途定制的设备和机器。例如,特定的硬件体系结构与特定的软件体系结构相结合,将创建移动设备,如移动电话、平板电脑设备等。稍有不同的硬件和软件体系结构可以生成用于"物联网"的智能设备,而另一种组合会产生一台服务器计算机,供云计算体系结构使用。并非所有此类软件和硬件架构的组合都在这里呈现,因为本领域的技能组合可以很容易地了解如何在与本文所包含的披露不同的上下文中实现发明主题。

图5是一个框图,说明机器500的部件,根据一些示例实现,能够读取机器可读介质(例如,机器可读存储介质)的说明,并执行本文讨论的任何一种或多种方法。具体到图5显示了计算机500以计算机系统示例形式表示,其中可以执行指示516(例如,软件、程序、应用程序、小程序、应用程序或其他可执行代码),用于使机器500执行此处讨论的任何一种或多种方法。说明516将非编程机器转换为编程的特定机器,以描述的方式执行描述和说明的功能。在替代实现中,机器500作为独立设备运行,或者可以与其他计算机耦合(例如联网)。在网络部署中,计算机500可以在服务器计算机或客户端计算机的容量下在服务器-客户端网络环境中运行,也可以在对等(或分布式)网络环境中作为对等计算机运行。机器500可以包括,但不限于,服务器计算机,客户端计算机,PC,平板电脑,笔记本电脑,上网本,机顶盒(STB),个人数字助理(PDA),娱乐媒体系统,移动电话、智能手机、移动设备、可穿戴设备(例如智能手表)、智能家庭设备(例如智能设备)、其他智能设备、网络设备、网络路由器、网络交换机、网络网桥或任何能够按顺序或其他方式执行指令516的任何计算机,这些设备指定机器500要执行的操作。此外,虽然只说明了一台机器500,但"机器"一词还应包含单独或联合执行指令516以执行本文讨论的任何一种或多种方法的机器500集合。

机器500可包括处理器510、内存/存储530和I/O组件550,它们可配置为相互通信,例如通过总线502进行通信。在示例实现中,处理器510(例如,中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、另一个处理器或任何合适的组合)可以包括,例如,处理器12和处理器514,可以执行指令516。术语"处理器"旨在包括可包含两个或多个独立处理器(有时称为"内核")的多核处理器,这些处理器可以同时执行指令。虽然图5显示了多个处理器510,但机器500可以包括单个处理器(单核)、具有多个内核的单个处理器(例如多核处理器)、具有单核的多个处理器、具有多个内核的多个处理器或任意组合。

内存/存储530可以包括内存532,如主内存或其他内存存储,以及存储单元536,两者都可以通过总线502等处理器访问。存储单元536和内存532存储说明516,其中包含此处描述的任何一种或多种方法或功能。指令516也可以完全或部分地驻留在存储单元532的内存532中,至少位于处理器510中的一个(例如,在处理器的缓存内存中),或者在计算机500执行过程中,它们的任何适当组合。因此,内存532、存储单元536和处理器510的内存是机器可读介质的示例。

如本文所用,"机器可读介质"是指能够暂时或永久存储指令(例如指令516)和数据的设备,包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、缓存内存、其他类型的存储(例如,可擦除可编程只读存储器(EEPROM))和/或任何适当的组合。术语"机器可读介质"应包含能够存储说明516的单个介质或多媒体(例如,集中或分布式数据库或关联的缓存和服务器)。术语"机器可读介质"还应包括任何介质或多种介质的组合,这些介质能够存储指令(例如,说明516),供机器执行(例如,机器500),以便指令在由机器的一个或多个处理器(例如处理器510)执行时,会导致机器执行本文所述的任何一种或多种方法。因此,"机器可读介质"是指单个存储设备或设备,以及包含多个存储设备或设备的"基于云的"存储系统或存储网络。术语"机器可读介质"不包括信号本身。

I/O组件550可包括各种组件,用于接收输入、提供输出、生产输出、传输信息、交换信息、捕获测量等。特定机器中包含的特定I/O组件550将取决于机器的类型。例如,移动电话等便携式计算机可能包含触摸输入设备或其他此类输入机制,而无头服务器计算机可能不包括此类触摸输入设备。I/O组件550可以包括图5中未显示的许多其他组件,将不胜感激。I/O组件550仅根据功能进行分组,只是为了简化以下讨论,分组没有任何限制。在各种示例实现中,I/O组件550可以包括输出组件552和输入组件554。输出元件552可包括可视元件(例如等离子显示面板(PDP)、发光二极管(LED)显示屏、液晶显示器(LCD)、投影仪或阴极射线管(CRT)、声学元件(例如扬声器)、触觉元件(例如振动电机、电阻机制)、其他信号发生器等。输入组件554可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光光键盘、或其他字母数字输入组件)、基于点的输入组件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指针)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如麦克风)等。

在进一步的示例实现中,I/O组件550可包括生物识别组件556、运动组件558、环境组件560或位置组件562等一系列其他组件。例如,生物识别组件556可以包括检测表达(例如手表达、面部表情、声音表情、身体手势或眼动追踪)、测量生物信号(例如血压、心率、体温、汗水或脑电波)、识别人(例如语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件558可包括加速度传感器组件(例如加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。例如,环境组件560可包括照明传感器组件(例如光度计)、温度传感器组件(例如,一个或多个检测环境温度的温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪音的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,气体检测传感器,用于检测有害气体的浓度,以保证安全或测量大气中的污染物),或其他能够提供与周围物理环境对应的指示、测量或信号的部件。位置组件562可包括位置传感器组件(例如,全局位置系统(GPS)接收器组件)、高度传感器组件(例如,用于检测可从该高度获得的空气压力的高度计或气压计)、定向传感器组件(例如磁力计)等。

通信可以使用多种技术实现。I/O组件550可包括可操作的通信组件564,分别通过耦合582和耦合572将机器500耦合到网络580或设备570。例如,通信组件564可以包括网络接口组件或其他适合与网络580接口的设备。在进一步示例中,通信组件564可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、

此外,通信组件564可以检测标识符或包括可操作的组件来检测标识符。例如,通信组件564可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读卡器组件(例如,用于检测一维条形码的光学传感器,如通用产品代码(UPC)条形码、多维条形码(如快速响应(QR)代码、阿兹特克码、数据矩阵、数据字形、MaxiCode(二维码)、PDF417、超代码、UCC RSS-2D条形码和其他光学代码)或声学检测组件(例如,用于识别标记音频信号的麦克风)。此外,还可以通过通信组件564获得各种信息,例如通过互联网协议(IP)地理位置定位的位置、通过

在各种示例实现中,网络580的一个或多个部分可以是临时网络、内部网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网、无线万域网(WWAN)、大都市域网(MAN)、互联网、部分互联网、部分公共交换电话网络(PSTN)、普通旧电话服务(POTS)网络、移动电话网络、无线网络、

指令516可以通过网络接口设备(例如,通信组件564中包含的网络接口组件)通过网络580传输或接收,并利用许多已知传输协议(例如HTTP)中的任何一个。同样,指令516可以通过将耦合572(例如点对点耦合)传输到器件570,使用传输介质传输或接收指令。术语"传输介质"应包括任何能够存储、编码或携带指令516以由机器500执行的任何无形介质,并包括数字或模拟通信信号或其他无形介质,以方便此类软件的通信。

在整个规范中,复数实例可以实现被描述为单个实例的组件、操作或结构。尽管一个或多个方法的单个操作被说明并描述为单独的操作,但一个或多个单个操作可以同时执行,并且不需要按说明的顺序执行操作。示例配置中作为独立组件呈现的结构和功能可以作为组合结构或组件实现。同样,作为单个组件呈现的结构和功能可以作为单独的组件实现。这些和其他变体、修改、添加和改进属于本文主题的范围。

虽然已参照具体示例实现对发明主题进行了概述,但可以在不偏离本公开的更广泛实施范围的情况下,对这些实现进行各种修改和修改。本发明主体的此类实施可单独或集体地指以"发明"一词为方便,而无意自愿将本申请的范围限制在任何单一披露或发明概念上,如果不止一项实际上被披露。

本文所说明的实现进行了足够详细的描述,使本领域技术人员能够实践所披露的教义。可以使用和推导出其他实现,以便可以在不偏离本披露范围的情况下进行结构和逻辑替换和更改。因此,《详细描述》不应从限制意义上考虑,各种实现的范围仅由所附权利要求书以及此类权利要求书所应享有的全部等同物定义。

如本文所用,术语"或"可以解释为包含或排他性。此外,可以为此处描述为单个实例的资源、操作或结构提供复数实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界有些任意,并且特定操作在特定说明性配置的上下文中进行了说明。其他功能分配是设想的,可以属于本公开的各种实现范围。通常,在示例配置中作为单独资源呈现的结构和功能可以作为组合结构或资源实现。同样,作为单个资源呈现的结构和功能也可以作为单独的资源实现。这些和其他变化、修改、增加和改进属于所附权利要求书所表示的本披露的实现范围。因此,规范和图纸应从说明性而非限制性意义上来理解。

相关技术
  • 卷积神经网络中的错误校正
  • 用于存储器装置中的改进的错误校正的错误高速缓存技术
技术分类

06120112960466