CN113841155A - 使用图像理解配置数据管道 - Google Patents

使用图像理解配置数据管道 Download PDF

Info

Publication number
CN113841155A
CN113841155A CN202080035405.2A CN202080035405A CN113841155A CN 113841155 A CN113841155 A CN 113841155A CN 202080035405 A CN202080035405 A CN 202080035405A CN 113841155 A CN113841155 A CN 113841155A
Authority
CN
China
Prior art keywords
data
nodes
node
image
image understanding
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
CN202080035405.2A
Other languages
English (en)
Inventor
A·A·瓦杰斯
A·科亨
下村宗弘
三好弘孝
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.)
Sony Semiconductor Solutions Corp
Sennara
Scenera Inc
Original Assignee
Sony Semiconductor Solutions Corp
Sennara
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 Sony Semiconductor Solutions Corp, Sennara filed Critical Sony Semiconductor Solutions Corp
Publication of CN113841155A publication Critical patent/CN113841155A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/09Recognition of logos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Pipeline Systems (AREA)
  • Electric Cable Installation (AREA)
  • Image Analysis (AREA)

Abstract

一种节点网络被组织成数据管道,以用于需要图像理解的一个或多个应用。取决于应用,节点可配置为形成不同数据管道。从节点配置数据管道的过程可以标准化。在一种实现方式中,节点具有各种能力,这些能力可以包括传感器功能(例如,图像捕获)和图像理解功能(例如,对象检测和识别)。基于对节点的能力的描述,选择各种节点以包含在数据管道中,并且还确定选定节点之间用于形成数据管道的互连。控制数据被传输到所选择的节点以形成数据管道。控制数据根据每个节点在数据管道中的角色为选择的节点指定传感器功能和/或图像理解功能,并且还指定选择的节点之间的互连。

Description

使用图像理解配置数据管道
技术领域
本公开一般涉及对包括图像的传感器数据的处理和理解。
相关技术的描述
当今部署了数以百万计的相机和其他传感器设备。通常没有机制使得计算能够以有意义方式轻松地与相机所捕获的内容进行交互。这导致来自相机的大多数数据没有得到实时处理,并且最多在已知事件发生后将所捕获的图像用于取证目的。结果,大量的数据存储被浪费在存储最终对其的分析是不令人感兴趣的视频上。另外,通常需要人工监测才能理解所捕获的视频。可用于解释或检测图像中相关数据的机器辅助有限。
当今的另一问题是对信息的处理高度特定于应用。诸如高级驾驶员辅助***和基于面部识别的安全之类的应用需要定制软件,该定制软件使用每个相机的本机低级接口从相机中读取原始图像,然后针对目标应用以特定方式处理原始图像。应用开发人员通常必须针对每种不同类型的相机创建特定低级接口才能获取原始图像,然后他们通常还必须创建应用特定软件来处理原始视频帧以提取期望信息。
除了低级相机接口之外,如果应用开发人员想要使用现有处理或分析能力,诸如人工智能或机器学习来进行较高层级的图像理解,他们还必须理解并为这些***中的每个***创建接口。这些***可能使用专有API。应用开发人员可能会被锁定在特定供应商的解决方案中,从而难以后续切换到其他解决方案。
结果,开发利用传感器网络的应用既缓慢又有限。例如,安装在环境中的监督相机通常仅用于安全目的并且以非常有限的方式使用。这部分是因为这样的***所捕获的图像帧很难从中提取有意义的数据。同样,在汽车上安装有相机网络的汽车环境中,从这些相机中捕获的图像数据会以非常特定于汽车特征的方式进行处理。例如,前向相机可能仅用于车道辅助。通常没有能力使得应用能够将数据或视频用于其他目的。此外,通常没有灵活性允许不同的应用根据特定应用的需要将不同的传感器和不同的处理功能拼凑成数据管道。
因此,需要在访问并处理由传感器设备捕获的数据方面具有更大的灵活性和易用性,该访问和处理包括对相机所捕获的图像和视频的更高层级的理解。此外,需要在允许多个应用从现有(和共享)传感器和处理能力来组装定制数据管道方面,有更大的灵活性和易用性。
发明内容
本公开通过提供一种用于将节点网络组织成数据管道的方案来克服对现有技术的限制,所述数据管道用于需要图像理解的一个或多个应用。取决于应用需求,节点可配置为形成不同的数据管道。在一些实施例中,根据节点配置数据管道的过程根据标准和/或经由标准化API来执行。
节点具有各种能力,这些能力可以包括对传感器功能(例如,图像捕获)和图像理解功能(例如,对象检测和识别)的访问。基于对节点的能力的描述,选择某些节点以包括在数据管道中。还确定选择的节点之间形成数据管道的互连。控制数据被传输到选择的节点,从而形成数据管道。控制数据根据每个节点在数据管道中的角色为选择的节点指定传感器功能和/或图像理解功能,并且选择的节点之间的互连。
在管道中,一些节点能够访问传感器能力。它们本身可能是传感器或能够访问传感器。传感器功能作为数据管道的源来操作。这包括能够捕获图像的节点(即,相机)。数据管道从源所捕获的传感器数据生成图像数据和图像理解元数据。图像数据的示例包括所捕获的图像和/或从所捕获的图像导出的增强图像。图像理解元数据是描述图像数据的图像理解(例如,对面部或对象的检测或识别)的元数据。图像理解元数据还关联对应于图像理解的图像数据。例如,它可能包含缩略图以及指向所识别的面部或对象的视频帧的指针。在一些情况下,控制数据还指定了数据管道所产生的图像数据和图像理解元数据。
其他方面包括部件、设备、***、改进、方法、过程、应用、计算机可读介质、以及与上述各项中的任一项有关的其他技术。
附图说明
专利或申请文件包含至少一个彩色绘图。本专利或专利申请出版物的带有一个或多个彩色附图的副本将在请求和支付必要费用后由专利局提供。
本公开的各实施例具有其他优点和特征,当结合附图中的示例进行考虑时,这些优点和特征根据以下具体实施方式和所附权利要求变得更加显而易见,其中
图1A是针对应用可配置到数据管道中的节点网络的框图。
图1B是节点的框图。
图2至图4图示了具有图像理解的数据管道的示例。
图5是图示了图1的节点配置到数据管道的框图。
图6A至图6B图示了由数据管道产生的输出数据。
图7是图示了中间服务的使用的框图。
图8是数据管道的基于标准的配置的事件迹线。
图9是所配置的数据管道的框图。
图10是具有节点内部反馈的数据管道的框图。
图11是具有节点之间的反馈的数据管道的框图。
具体实施方式
附图和以下描述仅通过说明的方式涉及优选实施例。应当指出,根据以下讨论,本文中所公开的结构和方法的备选实施例将被容易地识别为可以在没有背离所要求保护的原理的情况下采用的可行备选方案。
图1A是可配置到应用170的数据管道中的节点110的网络的框图。应用170的示例包括智能电话应用、云应用和网页应用。节点110可以互连到物理设备内或单独物理设备中的其他节点以实现应用170所期望的功能。
图1B是示例节点110的框图。节点110具有一个或多个端口,该一个或多个端口可以是输入端口112或输出端口118。它还具有换能器能力120和/或处理能力130。图1B是节点的通用框图。实际节点可能没有显示所有功能。
换能器120可以广泛地细分为传感器122和致动器128。传感器122将外部刺激转化为数据。示例包括图像传感器和其他光谱传感器、麦克风、温度传感器或热量传感器、压力传感器、以及烟雾传感器和其他化学传感器。致动器128将数据转化为外部刺激。示例包括扬声器和触觉反馈。
在下文示例中,为了方便起见,在节点110内部示出了换能器能力。在节点110包含物理换能器的情况下,节点将能够直接访问换能器功能。然而,节点110还可以访问用于位于节点外部的换能器的换能器功能。例如,遗留相机可能与实现下文所描述的构思的标准不兼容。在那种情况下,网桥可以用作具有对相机的能力的访问的节点110。这也适用于处理功能130。
处理130可以广泛地细分为图像处理132和非图像处理138。图像处理132还可以细分为图像开发134和图像理解136。图像开发134是用于提高图像质量的较低层级的功能。示例包括传感器偏差校正、像素缺陷校正、渐晕补偿、暗帧减法、白平衡、去马赛克、降噪、空间滤波、色彩空间转换、色调映射、伽玛校正、对比度增强、边缘增强、像差校正、焦点调整、曝光调整、重采样、分辨率增强、高动态范围调整、以及滤色器阵列插值。
图像理解136是用于理解图像内容的较高层级的功能。一个示例是检测对特定对象的存在与否:检测面部、人类、动物或某些类型的动物、车辆、武器、人造结构或某些类型的结构、或文本或徽标或条形码。较高层级的示例是特定对象的标识(即,识别):标识人群中的***、通过姓名标识个人、通过公司标识徽标、根据护照或驾驶执照或其他凭据标识个体。图像理解136的甚至更高层级的示例是基于特定对象的检测或标识的其他表征。例如,可以检测并随后分析面部以了解所表达的情绪。图像理解的其他示例包括对特定动作或活动以及特定位置或环境的检测和标识。
返回到图1A,节点110可以在许多不同的平台上实现,例如,嵌入在相机内、在云上执行或实现为移动应用。设备可能包含一个节点或多个节点。设备负责配置其节点。设备可以是物理设备,或者可以在服务器上或云中进行虚拟化。每个节点都是唯一可标识的。
在图1A中,不同的节点组110A-C由对应管理层160A-C管理,尽管这并非必需的。在该示例中,管理层160A管理A组中的节点110A1-3,管理层160B管理B组中的节点110B1-2,并且管理层160C管理C组中的节点110C1-2。
可以通过设备或其他方式进行分组。例如,组A可能包含相机内的所有节点110:例如,单独传感器、设备上图像处理、以及应用处理器。B组可能包含本地可访问的节点池110,诸如分布在联网在一起的设备***中的不同功能。更复杂的图像理解形式可能基于需要显著计算资源的机器学习、深度学习和/或人工智能技术。例如,C组可能包含可用作云服务的较高层级的功能。
应用170将节点110组织成数据管道。数据管道包括图像捕获作为数据源。它还对所捕获的图像数据执行图像理解,并且产生描述图像理解的元数据。为了清楚起见,这将被称为图像理解元数据以区别于其他类型的元数据。例如,图像理解元数据可能会说明是否有人在场,或提供所标识的人员的姓名,或列出根据面部标识的情绪。通常,数据管道还将产生图像数据(所捕获的图像或根据所捕获的图像导出的版本),并且图像理解元数据还将关联与图像理解相对应的图像数据。例如,标识情绪的图像理解元数据也可以关联对应面部的一个或多个图像帧。
应用170可以在其他实体的协助下直接组装数据管道,或通过其他实体(诸如管理层)间接组装。因为节点110可以被组织,并且然后被多次重新组织成不同数据管道,所以本文中所描述的途径提供了更好地利用节点的能力的灵活性。在一些实施例中,用于将节点组织成数据管道的过程基于诸如标准化API(应用编程接口)之类的标准。然后,多个应用170可以访问节点以构建不同数据管道并且如果节点具有足够容量,则可以同时运行它们的管道。
图2至图4是具有图像理解的数据管道的示例。在图2中,应用正在对人群中的人执行虹膜扫描。数据管道开始于捕获具有大视野的低分辨率彩色图像210。管道的下一阶段使用快速数码变焦来放大212感兴趣区域。这之后是面部检测和识别214(图像理解)以标识感兴趣对象。然后,确定216眼睛的位置。高倍率相机使用光学变焦和数码裁剪引导218到眼睛位置。然后,这些图像可以用于生物特征虹膜标识。图2的底部示出了数据管道所产生的图像数据。例如,该管道的元数据可能包括主题的标识。
在图3的示例中,应用提供对学校的监督。在该示例中,数据管道从提供教室的一般视频监督的阶段开始。该阶段针对大面积的一般监督定制。在这个阶段期间,12:00存在声音识别事件,该声音识别事件标识人员在哭。这会自动标记时间12:00的图像帧。
该事件触发管道级以捕获更多数据和/或提供更多处理,如图3的下部四帧所示。本文中,正常视频太暗,因此还捕获了高曝光帧。数据管道还捕获红外帧并且放大特写帧。根据这些不同的图像,数据管道中的附加级将学生标识为John,并且标识他处于悲伤的情感状态。这种图像理解由数据管道输出作为元数据面部=John和情感=悲伤,如图3所示。该元数据用于四个图像帧的集合,而非任何特定一个帧。元数据还关联了对应图像帧。
图4图示了其中快速帧速率允许将多个帧组合以供数据管道分析的示例。在该示例中,传感器设备的原始帧速率为每秒120个帧。在正常操作下,每四帧被捕获,并且存储为图像数据。然而,在数据管道中,一定触发之后,附加帧在不同条件下得以捕获。在该示例中,相机是3色相机,但可以对其进行过滤以有效捕获IR图像。运动检测之后,捕获附加图像:曝光增加的图像、红外图像、以及具有深度测量的帧(在该示例中,基于红外结构光)。数据管道在后期处理这些图像以检测面部或对象或执行其他类型的图像理解。
图5是图示了将图1的节点配置成数据管道的框图。该示例包括账户服务580,该账户服务580维护节点及其能力的列表,并且还向应用授予访问节点的权限。账户服务580可以为最终用户提供一种管理相机和其他传感器设备以及较高层级的处理的方式。
在一种途径中,用户指派他们能够访问他们的用户账户的设备/节点,然后将他们所选择的应用170链接到他们的账户。一旦应用170被授予访问用户账户的权限,应用170就可以请求510与用户账户及其能力相关联的设备列表。账户服务580返回512该信息并且还可以返回获得对节点的访问所需的密码、密钥或其他凭证。通常,这将是访问令牌。如果不用账户服务580,则应用170可以例如通过如在标准中指定的自动发现过程直接确定可用节点及其能力。可替代地,该信息可以在单独文件中提供。
基于对节点的能力的描述,应用170确定520数据管道。它选择将哪些节点包含在数据管道中,并且确定选定节点之间的互连以形成数据管道。数据管道将包括用作数据源的传感器节点,用于管道的其余部分,还将包括具有图像理解能力的节点。确定数据管道可以基于附加信息,而不仅仅是对节点的能力的描述。例如,传感器彼此之间的地理覆盖范围或接近度可以用于确定将哪些传感器包括在管道中以及如何将它们互连。
应用170将控制数据传输530到被选择为形成数据管道的节点110。在图5中,控制数据被传输530到管理层160(即,间接传输到节点),该管理层然后执行所请求的配置。控制数据指定每个节点的功能并且指定节点之间的互连。它还可以指定要由数据管道生成的图像数据和元数据。在一种途径中,数据管道由每个节点(汇聚节点)形成,该节点与向其供应数据的直接上游节点(源节点)建立控制会话,尽管还可以使用其他控制途径。在图5中,控制平面由虚线表示,而数据管道由粗实线示出。
图5中的示例数据管道并非线性的。它具有分支。节点110A1是整个数据管道的源。前向数据路径首先是从节点110A1到节点110A2。然后,它分支到节点110A3和110B2。110A3分支继续到110B1、110C1、110C2,然后540到应用170。在另一分支中,节点110B2的输出被提供540给应用170。它还馈送110C2,其中该馈送110C2与分支110A3组合。因此,存在到应用170的两个数据馈送540:一个数据馈送来自节点110B2,并且一个数据馈送来自节点110C2。
数据管道中的分支可以是静态的,如上文所描述的,其中来自节点110A2的数据总是流向两个分支。它也可能由关于图像理解的条件触发。例如,如果节点110A2执行一些图像理解,则数据管道可以依据图像理解的结果继续到110A3或110B2。例如,如果没有检测到武器,则某些处理发生,但如果检测到致命武器,则其他处理发生。可以在控制数据中指定触发。
图5中的示例数据管道还包括从节点110A2到节点110A1的反馈回路,该反馈回路是同一组中(例如,在同一设备上)的两个节点之间的反馈。该特定回路向源节点110A1提供反馈。例如,可以依据图像理解改变图像捕获设置。还可以在其他节点之间(例如,在不同设备上的节点之间)建立反馈回路。
图5只是一个示例。其他示例和拓扑将是显而易见的。例如,数据管道可能包括捕获不同类型的传感器数据的多个源,其中数据管道还包含基于传感器融合的图像理解功能。另外,来自相同或不同用户的多个应用170可以访问相同的节点以构建它们自己的数据管道。
图6A至图6B提供了由数据管道产生的数据的示例。在这些示例中,图像数据和其他原始传感器数据或增强传感器数据被称为“场景数据”。数据按时间组织成“场景镜头”。如果快照是一系列视频图像中的一个帧,则场景镜头是类似概念,但不限于单帧或仅图像。场景镜头通常还包括元数据,该元数据在图6A中分为图像理解元数据和其他类型的元数据。
图6A是场景镜头的框图。该场景镜头包括标题。它包括以下通用元数据:传感器设备ID、SceneMode(其是下文所描述的一种控制数据)、请求应用的ID、时间戳、GPS位置戳。
场景镜头的数据部分还包括场景数据,该场景数据可以包括来自两个相机的彩***、具有不同分辨率和帧速率的IR视频、深度测量、以及音频。在视频上下文内,场景数据的示例包括单色、彩色、红外、以及以不同分辨率和帧速率捕获的图像。非图像类型的场景数据包括音频、温度、环境照明或亮度、以及关于周围环境的其他类型的数据。场景数据可以被编码和/或加密。它们还可以通过图像开发功能得到增强,诸如传感器偏差校正、暗帧减法、白平衡、去马赛克、降噪、空间滤波、对比度增强、边缘增强等。
场景镜头还包括图像理解元数据:例如,运动检测和对象/人类/面部检测。这些可以采用SceneMark的形式,如下文所更详细描述的。
该数据还具有时间方面。在传统视频中,根据视频的帧速率定期捕获新图像。视频序列中的每个图像都称为帧。同样,场景通常具有一定持续时间(尽管一些场景可以无限期地持续下去),并且随着时间的推移,捕获/生成场景的不同“样本”。为了避免混淆,场景的这些样本被称为场景镜头而非帧,因为场景镜头可能包括一个或多个视频帧。术语场景镜头是场景和快照的组合。
与传统视频相比较,场景镜头还可以具有更多的可变性。场景镜头可能会或可能不会以固定时间间隔产生。即使以固定时间间隔产生,时间间隔也可能随着场景的进展而改变。例如,如果在场景中检测到一些有趣东西,则可以增加场景镜头的频率。同一应用的场景镜头序列还可能包含或不包含相同类型的数据或在每个场景镜头中源自相同传感器通道的数据。例如,场景的某些部分的高分辨率变焦图像可能是期望的,或随着场景的进展,可以添加或移除附加传感器通道。作为最后一个示例,场景镜头或场景镜头内的部件可以在不同应用之间以及更广泛地共享。
在实践中,实际场景数据可能非常庞大。因此,该数据可能由中间软件存储或存储在云上,并且场景镜头的实际数据分组可能包含指向场景数据而非实际数据本身的指针。作为另一示例,元数据可以是动态的(即,随同每个场景镜头而被包含在内并且是可变的)。然而,如果元数据不频繁改变,则可以将其与个体场景镜头分开传输或作为单独通道传输。
图6B是图示了将场景镜头组织成“场景”的时间线。在该图中,时间从左进展到右。原始场景1针对学校进行课后监督的应用。针对该场景1捕获/产生场景镜头652A。场景镜头652A可以包括学校主要入口点的粗分辨率、相对较低的帧速率的视频。场景镜头652A还可以包括运动检测或可以指示潜在可疑活动的其他经处理数据。在图6B中,场景镜头由括号(N)中的数字表示,因此652A(01)是一个场景镜头,652A(02)是下一场景镜头,依此类推。
在场景镜头652A(01)中检测到可能可疑活动,该可能可疑活动由场景标志2标记并且孵化第二场景2。场景标志2包括指示检测到运动的图像理解元数据。这个场景2是场景1的子场景。应当指出,“子”是指孵化关系,并且在数据或时间长度方面,不意味着场景2是场景1的子集。事实上,这个场景2请求附加数据652B。也许该附加数据是面部识别。在现场检测到的个体不被识别为授权,并且这会孵化场景标记3所标记的场景3(即,子子场景3)。场景3不使用数据652B,但它使用附加数据652C,该附加数据652C例如来自位于整个现场而不仅仅是入口点的相机的更高分辨率图像。图像捕获速率也得以提高。场景标志3触发通知当局调查情形。
同时,另一非相关应用创建场景4。也许该应用用于远程监测学校基础设施,以用于早期检测故障或用于预防性维护。它还利用相同数据652A中的一些数据,但由不同应用用于不同目的。
图7是图示了使用中间服务来配置数据管道的框图。图7与图5相似,不同之处在于引入了中间服务790。应用170不直接与账户服务580或管理层160交互。相反,应用170与中介790交互,该中介790与账户服务580和管理层160交互。例如,数据服务790可以向应用170提供API以向应用提供服务。
在图7中,***操作如下。数据服务790维护节点及其能力的列表。它可以周期性地请求710设备、节点及其能力的列表。账户服务580返回712该信息,而且还可以返回获得对节点的访问所需的密码、密钥或其他凭证。然后,应用170从数据服务790请求714并接收716该信息。
基于对节点的能力的描述,应用170确定720数据管道。它选择将哪些节点包含在数据管道中,并且确定选定节点之间的互连以形成数据管道。然后,应用170向数据服务790传输730控制数据,该数据服务790向管理层160(即,间接地向节点)传输732对应控制数据,该管理层160然后执行所请求的配置。控制数据指定每个节点的功能并且指定节点之间的互连。它还可以指定要由数据管道生成的图像数据和元数据。
所得数据管道将数据740返回到数据服务790,该数据服务790将该数据提供742给请求应用170。可以配置不同的数据管道,如关于图5所描述的。
在上述示例中,中间服务790被描述为位于应用170与***的其余部分之间的穿透实体。然而,数据服务790还可以提供附加功能。例如,数据服务790本身可以具有换能器或处理功能。它还可以执行来自多个节点110或多个应用170的数据的交叉分析。数据服务790还可以对来自多个应用170的数据的请求进行聚合、优先化或多路复用。设备可以被限制为一次与单个应用170交互。然而,在这种情况下,多个应用170可以与数据服务790交互,该数据服务790然后与该设备交互。
数据服务790还可以提供附加服务,例如,提供关于设备和节点的附加信息,诸如接近度地图或关于设备如何彼此交互的附加信息。数据服务790还将节点110从个体设备中抽象出来。与节点110交互的应用170不必与每个设备建立控制会话来配置每个节点。相反,应用170请求数据服务790配置节点110,并且数据服务790负责创建与每个节点110的控制会话。中介不必是数据服务。例如,它可以为中间软件层。
在一些实现方式中,用于配置数据管道的过程在标准中或通过使用标准化API来定义。图8至图11提供了标准的一个示例。在该示例中,标准中定义了大写术语,诸如汇聚、源、能力、SceneData、SceneMark和SceneMode。图8是数据管道的基于标准的配置的事件迹线。在该示例中并且与图1至图7进行比较,汇聚870是对应于请求应用170的节点,而源810是对应于节点110的节点。能力使用标准的语法描述节点的能力。SceneMode是图5中用于配置节点的控制数据。SceneData和SceneMark是数据管道所返回的数据。SceneData包含图像数据和其他传感器数据。SceneMark包含图像理解元数据、以及对相关SceneData的关联。这些数据被组织成场景,场景的样本被称为场景镜头。
更详细地,该示例使用由标准定义的以下数据对象:
·节点是数据管道的构建块。每个节点都具有唯一ID。
·能力是源节点能够提供的能力,诸如AI算法、所支持的SceneMode、硬件传感器能力等。
·SceneMode是节点的配置。如果适用,则SceneMode定义传感器的捕获过程、用于处理数据的计算机视觉或人工智能算法、数据输出格式等。
·SceneMark是由节点产生的用于描述事件的结构化输出。该节点包括节点的标识符、SceneMark何时被触发的时间戳、以及触发事件的节点处理的结果。它还包含对与事件相关联的SceneData的关联。
·SceneData是与触发了SceneMark的事件相关联的实际数据。它可能是静止图像、视频剪辑、温度、或其他传感器数据。依据所请求的SceneMode,数据可以在事件之前几秒钟开始并且在事件之后运行几秒钟。
能力对象用于建立节点的能力,而SceneMode对象用于定义每个节点的配置以及节点之间的互连。SceneMark对象和SceneData对象是由数据管道处理的数据的表示。
数据管道产生最终由应用消耗的SceneMark对象和SceneData对象。SceneMark对象可以由数据管道中的不同节点操作。这通常需要向SceneMark对象添加附加字段,这些附加字段是处理来自先前节点的SceneMark或SceneData的节点的结果。节点还可以生成SceneData,该SceneData是处理先前SceneMark和SceneData的结果。例如,能够检测面部的节点可以从前一节点生成的SceneData中处理视频帧,并且从帧中提取与已经检测到的面部相对应的矩形。
数据管道的配置利用能力对象来确定节点的能力。能力对象描述节点是否包含一个或多个换能器、包括支持哪些SceneMode在内的节点的处理能力、节点中的进程可以执行的分析层级、以及用于输入节点或从该节点输出数据的端口选项。使用该信息,定义节点的SceneMode,包括流入和流出节点的数据以及节点是否捕获新传感器数据和/或处理从其他节点传入的数据。
一旦每个节点的SceneMode已经被提供给每个节点,数据管道就被构建并且将根据提供给每个节点的SceneMode开始产生SceneMode和SceneData的序列。下文在章节A中提供了本示例标准的这些数据对象的更详细定义。
参考图8,如下设置数据管道。汇聚870与源810建立805控制会话。在一种方案中,控制会话的配置通过账户服务发生,该账户服务向汇聚870提供访问令牌或凭证。汇聚870使用访问令牌来与源810通信。汇聚通过向每个源发出GetCapabilities请求814来确定每个源的能力。源返回816它们的能力。汇聚通过确定管道中每个节点的换能器和处理功能/配置并且确定节点之间的互连来定义820进程的数据管道。
汇聚发出832对应SetSceneMode命令。SceneMode数据对象指定节点的传感器和/或图像理解功能。该配置还触发每个节点创建与数据管道中其他节点的互连。汇聚使用StartScene命令单独触发834每个节点以启动SceneMode。然后,数据管道使用标准中定义的SceneMark和SceneData格式生成数据。汇聚消耗840节点所生成的SceneMark和SceneData。数据管道操作,直至汇聚发出848StopScene命令。
更详细地,在一种方案中,节点可通过节点ID唯一标识。节点ID基于托管节点的设备的设备ID,并且在托管多于一个节点的设备的情况下,为节点提供另一节点编号,该另一节点编号与设备ID结合定义节点的唯一节点ID。同样,对于与节点相关联的输入端口和输出端口,每个端口在节点范围内都具有唯一端口编号。设备ID、节点编号和端口编号的组合定义了唯一端口ID。
节点通常具有两个接口:控制接口和数据接口。控制接口用于配置利用节点的数据管道,其包括诸如确定节点的能力和将SceneMode分发到数据管道内的节点等之类的功能。在一种实现方式中,源节点被限制为一次仅接受一个控制会话,这意味着任何节点只能由一个其他节点控制。然而,汇聚节点可以并行建立多个控制会话,从而控制多个源节点。相对于不同节点,一些节点可能同时充当源和汇聚。
节点使用数据接口处理并分发SceneMark和SceneData。这些根据节点顺序及其在SceneMode中定义的配置进行处理。节点的数据接口使得节点能够在它们之间交换数据。
返回到图8,汇聚节点使用节点ID向源节点发送SetSceneMode命令832。SetSceneMode确定:
·要优先化的哪些数据,例如,对于SceneMode=面部,对面部进行优先化。
·导致生成SceneMark的触发。
·触发发生时生成的SceneData的类型和数量,例如,JPEG或触发前和20秒后的3秒视频或JPEG等。
·节点对SceneData执行的为提取SceneMark的信息的任何处理。
在下文的章节B中提供本示例标准所支持的命令的附加细节。
数据管道通过链接节点的输入和输出来构造。SceneMode对象的规范包括以下项目:
·一个或多个输入:每个输入都具有预期通过输入接收的数据类型的配置、其加密状态、对权限对象的关联、以及输入的源数据的源URI。每个输入还具有唯一端口ID。
·一个或多个输出:每个输出的配置与输入端口的配置相似。每个输出还具有唯一端口ID。
·一个或多个换能器:换能器是传感器或致动器。传感器的输出可以路由到一个或多个输出、(用于致动器的)输入、以及节点中的处理功能。
·一个或多个过程。该过程对节点所生成的数据或从其他节点路由的数据执行分析。数据可以采用来自其他节点的SceneMark或SceneData的形式。过程执行分析,并且如果达到所定义的阈值,则过程将生成触发条件,该触发条件导致根据SceneMode配置生成SceneMark和SceneData。
图9是所配置的数据管道的框图。在该示例中,节点910A包含图像传感器(换能器能力)和运动检测(过程能力)。输出SceneData是所捕获的视频。它根据节点的输出端口的配置进行编码,并且链接到节点910B上的输入端口。SceneData可以以特定目标比特率和编码机制被编码为视频流。如果检测到运动,则节点910A还产生SceneMark,其中元数据指示检测到运动。节点910B内的过程被设置为“面部”SceneMode,该“面部”SceneMode还指定:节点将当检测到运动时执行“检测”和“识别”面部的分析层级。该过程将所得元数据附加到从节点910A接收的SceneMark并且将经更新的SceneMark转发到请求应用170。例如,经更新的SceneMark现在可以包括基于面部来指示所检测的面部的(x、y)坐标和个体的身份的元数据。在输入端口上接收的SceneData被进一步处理以提取面部信息。例如,可以应用数码变焦和裁剪。这个SceneData还可以被转发到应用170。
数据管道通过将节点链接在一起来构建。节点的SceneMode定义了该配置。构建管道的应用为每个节点设置SceneMode,注意节点执行过程,并且从该过程的所需输出被转发到数据管道中的后续节点的输入。链接通过为所生成的端口或SceneMark定义目的地并且为端口或SceneMark定义源来执行。同时定义源和目的地与使用诸如MQTT之类的协议兼容,其中中间人是两个过程之间的中介。源节点向中间人上的主题贴送消息,而汇聚节点订阅来自中间人的消息。对于这种类型的连接,源节点具有其消息的目的地,而汇聚节点具有其传入消息的源。这可能会因所使用的协议而变化。
单个设备可以具有单个节点或具有多个节点。在设备具有多个节点的情况下,用于在设备内的节点之间传送SceneData和SceneMark的方法可能为设备所专有。在一种方案中,设备内节点的SceneMode的配置定义了设备内的数据的源和目的地。端口配置用于配置数据当其在设备之间传送时的编码。
数据管道内的一些过程可以将结果反馈回到数据管道中较早的过程。例如,执行面部检测的过程可以将已经检测到面部的区域反馈给传感器。传感器可能会使用该信息来调适其捕获设置,以确保以最佳清晰度(焦点、曝光、变焦等)捕获所检测的面部。
图10是节点内部具有反馈的数据管道的框图。在该示例中,节点1010A具有检测运动的能力。该节点的SceneMode被设置为使得如果检测到运动时,捕获序列被反馈回传感器。捕获序列定义传感器要捕获的帧序列的设置。这些设置可能包括其中已经检测到运动的区域以及对焦点、曝光和变焦设置的引导。捕获序列可以包括一个或多个帧。捕获序列在节点内部传送,但被定义为节点的SceneMode配置的一部分。
图11是在节点之间具有反馈的数据管道的框图。在该示例中,节点1110B将其SceneMode设置为面部,并且被配置为将传感器的捕获序列反馈给节点1110A。在该示例中,过程被设置为检测面部,并且在检测到面部时,与面部相对应的感兴趣区域被发送到传感器,以使得传感器能够优化对其中已经检测到面部的区域的捕获。
尽管具体实施方式包含许多细节,但这些不应被解释为限制本发明的范围,而仅应解释为说明不同示例。应当领会,本公开的范围包括上文未详细讨论的其他实施例。在没有背离所附权利要求所限定的精神和范围的情况下,可以对本文中所公开的方法和设备的布置、操作和细节进行对于本领域技术人员而言显而易见的各种其他修改、改变和变型。因此,本发明的范围应由所附权利要求及其法律等同物来确定。
在计算机硬件、固件、软件和/或其组合中实现备选实施例。可以在有形地体现在机器可读存储设备中以供可编程处理器执行的计算机程序产品中实现各实现方式;并且方法步骤可以由可编程处理器执行,该可编程处理器执行指令程序以通过对输入数据进行操作并且生成输出来执行功能。各实施例可以有利地在一个或多个计算机程序中实现,该一个或多个计算机程序可以在可编程***上执行,该可编程***包括被耦合为从数据存储***接收数据和指令并且向该数据存储***传输数据和指令的至少一个可编程处理器、至少一个输入设备、以及至少一个输出设备。每个计算机程序都可以高级过程或面向对象的编程语言来实现,如果需要,则可以汇编语言或机器语言来实现;并且在任何情况下,该语言都可以是编译型语言或解释型语言。例如,合适处理器包括通用微处理器和专用微处理器。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。通常,计算机将包括用于存储数据文件的一个或多个大容量存储设备;这样的设备包括磁盘,诸如内置硬盘和可移除盘;磁光盘;以及光盘。适用于以有形方式体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,例如包括半导体存储器设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内置硬盘和可移除磁盘;磁光盘;以及CD-ROM盘。上述内容中的任一项都可以由ASIC(专用集成电路)和其他形式的硬件来补充或合并。
章节A:对数据对象的描述
本章节A描述了以下数据对象:
·能力
·SceneMode
·SceneMark
·SceneData
能力对象
能力对象定义节点能够提供的处理、换能器和端口。能力数据结构描述了节点所支持的图像、音频、数据源和数据输出的可用处理、捕获(输入)和输出。这些包括以下内容。
1.换能器:换能器是可以将数据转换成物理干扰的传感器或致动器(例如,扬声器)。以下是换能器的示例:
·图像传感器(图像、深度或温度相机)通常输出表示一帧的二维阵列。
·数据传感器(湿度传感器、温度传感器等)通常输出文本或数据结构。
·音频麦克风通常会产生音频样本的连续序列。
·扬声器将音频样本序列当作输入并且输出音频。
2.所支持的SceneMode:这些是用于分析图像的所定义的模式。另请参见下文的SceneMode对象。
3.音频处理:这可以由节点定义。它包括语音转文本的功能。
4.CustomAnalysis:这允许用户定义自定义分析。作为一个示例,它可以是可以处理音频、图像或视频输入并且生成其含义由算法定义的分数向量的算法。
5.输入:这可以是SceneData或SceneMark并且可以采用经过处理或未经处理的形式。以下可能是该过程的源:
·设备内部或外部的传感器的输出。
·节点在不同设备上的输出。
·同一设备内不同节点的输出。
6.输出:输出可以是SceneData或SceneMark,还可以是经过处理或未经处理的形式。
SceneMode对象
SceneMode确定要生成的数据。它定义了通过捕获帧并且处理所捕获的帧来优先处理哪种类型的数据。它还定义了所生成的SceneMark和用于生成SceneMark的触发条件。
例如,面部SceneMode将对帧序列内的面部的捕获进行优先化。当检测到面部时,相机***将捕获具有存在如下情况下的面部的帧,该情况即面部被正确聚焦、照亮、并且在必要时充分变焦,以使得能够在成功机会增加的情况下执行面部识别。当检测到多于一个面部时,相机可能正确地捕获尽可能多的面部。相机可能会使用具有针对视图中的面部进行优化的不同设置的多个帧。例如,对于靠近相机的面部,相机会聚焦得很近。对于更远的面部,使用数码变焦和更长的焦距。
可以定义以下SceneMode:
·面部
·人类
·动物
·文本/徽标/条形码
·车辆
·对象标签。这是对所相机捕获的图像的广义标签。
·定制。这是用户定义的。
SceneMode可以生成在与其他SceneMode相关联的SceneMark中的数据字段。SceneMode的目的是指导图像的捕获以适应该模式并且定义用于生成如由SceneMode定义的数据的工作流程。在应用层级处,应用无需深入了解设备的特定配置以及设备如何捕获图像。应用使用SceneMode来指示应用对哪些类型的数据感兴趣并且哪些类型的数据对应用具有最高优先级。
触发条件
SceneMode通常将具有一个或多个“触发”。触发是生成SceneMark并且捕获和处理针对SceneMode而定义的SceneData的条件。应用可以确定何时应该生成SceneMark。
在一种方案中,触发基于多级图像理解模型。分析层级如下:
1.检测到运动:该过程能够检测视野内的运动。
2.检测到事项或事项消失:该过程能够检测与SceneMode相关联的事项(检测到事项)或检测事项何时不再存在(事项消失)。例如,在SceneMode=面部的情况下,检测到事项意指已经检测到面部。在SceneMode=动物的情况下,事项消失意味着先前所检测的动物不再存在。
3.识别到事项:该过程能够标识所检测到的事项。例如,在SceneMode=标签的情况下,“识别”意味着可以为所检测的事项加标签。在SceneMode=面部的情况下,“识别”意指可以确定面部的身份。在一个版本中,SceneMode配置支持基于对象的参考图像来对对象的识别。
4.使事项特征化:该过程能够确定事项的较高层级的特点。例如,在SceneMode=面部中,“特征化”意味着所检测的面部的一些特征具有与之相关联的属性。例如,情绪或情感已经归因于所检测的面部。
SceneMode定义触发生成SceneMark所需的分析层级。例如,对于SceneMode=面部,触发条件可以是检测到面部、或识别面部、或针对情感而特征化的面部。类似选项可以用于上文所列出的其他SceneMode。
SceneMark对象
SceneMark是基于对时间相关聚合事件和/或位置相关聚合事件的图像理解的所识别的感兴趣场景的紧凑表示。SceneMark可以用于提取和呈现与传感器数据的消费者相关的信息。SceneMark还可以用于促进详细信息(包括原始传感器数据)的智能和高效归档/检索。在该角色中,SceneMark用作非常大量传感器数据的索引。
SceneMark对象包括以下各项:
·SceneMark标识符
·时间戳
·图像理解元数据
·对对应SceneData的关联
当分析引擎遇到触发条件时,产生SceneMark。它为触发条件提供了对SceneData和元数据的关联。SceneMark的完整性由节点的分析能力确定。如果节点在最终期望较高层级的分析时只能执行运动检测,则可能会生成部分SceneMark。然后,部分SceneMark可以由后续处理节点完成。
SceneData对象
SceneData由一个或多个传感器设备和/或传感器模块的组捕获或提供,它包括与场景有关的不同类型的传感器数据。SceneData不限于原始捕获的数据,而且还可能包括一些其他处理。示例包括:
·RGB图像数据
·IR图像数据
·RGB IR图像数据
·深度图
·立体图像数据
·音频
·温度
·湿度
·一氧化碳
·被动红外
SceneMode定义了当触发与SceneMode相关联的触发时生成的SceneData的类型和数量。例如,SceneMode配置可以指示触发前的10秒视频和触发后的30秒视频被作为SceneData生成。这是在SceneMode数据对象的SceneData配置字段中设置的。如果触发发生得比针对SceneData定义的时段更快,则多个SceneMark可能会关联SceneData的单个视频文件。例如,在30秒内发生多次触发,并且针对每次触发而定义的SceneData为30秒。如果在这30秒内发生多次触发,则针对每次触发而生成的SceneMark关联构成触发的SceneData的相同视频文件。
章节B:对命令的描述
控制接口支持以下命令:
·GetCapabilities。被汇聚用于获得特定源节点的能力列表。
·SetSceneMode。汇聚将SceneMode加载到源节点中。当SceneModeSchedule触发SceneMode或显式StartScene命令被发送到节点时,SceneMode变为活动。根据调度或当StopScene命令被发送到节点时,SceneMode变为非活动。StartScene和StopScene命令覆写调度。
·SetCaptureSequence。该控制类别实现旨在供汇聚用于控制用于图像捕获的换能器源节点的捕获设置。捕获模式表示帧的捕获序列和每个帧的设置。例如,如果捕获模式需要4个视频帧之后的高分辨率帧,则两个控制类别被发送到传感器。第一控制类别将在捕获静止图像之前被发送,并且将指示全分辨率帧应当使用特定曝光设置、特定焦点设置等捕获。第二类别将会被发送,该第二类别指示应当捕获视频序列、序列中的帧数、数码变焦设置等。
·StartScene。汇聚启动SceneMode。为了停止该SceneMode,发出明确StopScene命令。如果SceneMarkSchedule中出现同一SceneID,则该命令将覆写SceneMarkSchedule。
·StopScene。汇聚停止运行的SceneMode。这可以用于停止经安排的或定期触发的SceneMode。如果使用该命令停止经安排的SceneMode,则只有在StartSceneMode命令被发送或下一经安排的时间发生时,SceneMode才会重新启动。
·SetSceneModeSchedule。汇聚设置SceneMode调度以与经预先加载的SceneModes结合使用。多个SceneMode可以被加载到节点中。如果该对象被加载到节点中,则对象中列出的SceneModeID根据对象中定义的调度执行。
数据接口支持以下命令:
·GetSceneData。汇聚从源节点请求SceneData文件或清单。
·SetSceneData。源节点发布包含至少一个SceneData对象或对至少一个SceneData文件的关联的SceneData清单。该结构还可以用于包含或关联部分或完整的历史SceneData集合。SceneData还可以在这个数据对象中被编码。
·GetSceneMark。汇聚从与特定SceneMarkID相对应的节点请求特定SceneMark。
·SetSceneMark。源写入可以存储在节点中的SceneMark。

Claims (42)

1.一种用于将节点组织成数据管道的方法,所述方法是针对包括多个可配置节点的网络而言的,所述数据管道用于需要图像理解的一个或多个应用,所述方法包括:
基于对所述节点的能力的描述,选择将哪些节点包括在所述数据管道中并且确定选择的所述节点之间的互连以形成所述数据管道,其中所述节点的所述能力包括对至少一个传感器功能的访问,并且还包括至少一个图像理解功能;以及
将控制数据传输到选择的所述节点,所述控制数据根据每个节点在所述数据管道中的作用为选择的所述节点指定功能,并且还指定选择的所述节点之间所确定的互连;
其中所述数据管道包括具有对传感器功能的访问的一个或多个节点,所述一个或多个节点作为所述数据管道的源而操作,所述源中的至少一个源捕获图像,所述数据管道从所述源捕获的传感器数据产生图像数据和图像理解元数据,所述图像数据包括所捕获的图像和/或从所捕获的图像开发的增强图像,所述图像理解元数据包括描述所述图像数据的图像理解,并且关联与所述图像理解相对应的所述图像数据的元数据,并且所述控制数据还指定所述数据管道所产生的所述图像数据和图像理解元数据。
2.根据权利要求1所述的方法,其中所述数据管道执行图像理解,所述图像理解包括对预先指定的对象的检测、对预先指定的对象的不存在的检测、和/或对预先指定的对象的标识;并且图像理解元数据描述所述图像理解。
3.根据权利要求2所述的方法,其中所述预先指定的对象包括以下各项中的至少一项:面部、人类、动物、车辆、文本、徽标、或条形码。
4.根据权利要求2所述的方法,其中所述数据管道执行图像理解,所述图像理解包括基于对所述预先指定的对象的所述检测或标识的进一步理解;并且所述图像理解元数据描述所述图像理解。
5.根据权利要求1所述的方法,其中所述数据管道执行图像理解,所述图像理解包括对预先指定的动作或活动的检测、对预先指定的动作或活动的标识、对预先指定的位置或环境的检测、和/或对预先指定的位置或环境的标识;并且所述图像理解元数据描述所述图像理解。
6.根据权利要求1所述的方法,其中所述数据管道使用机器学习、深度学习和/或人工智能技术执行图像理解;并且所述图像理解元数据描述所述图像理解。
7.根据权利要求1所述的方法,其中所述控制数据基于图像理解的多级模型;并且所述多级模型包括运动检测层级、对象检测层级、对象标识层级、以及对象表征层级。
8.根据权利要求7所述的方法,其中所述能力的所述描述指定每个节点能够实现所述多级模型的哪些层级以及针对哪些对象。
9.根据权利要求7所述的方法,其中所述控制数据指定为选择的所述节点配置所述多级模型的哪些层级以及针对哪些对象。
10.根据权利要求1所述的方法,其中对所述节点的能力的所述描述包括对所述节点的图像开发功能的描述。
11.根据权利要求10所述的方法,其中所述图像开发功能包括以下各项中的至少一项:传感器偏差校正、像素缺陷校正、渐晕补偿、暗帧减法、白平衡、去马赛克、降噪、空间滤波、色彩空间转换、色调映射、伽马校正、对比度增强、边缘增强、像差校正、焦点调整、曝光调整、重采样、分辨率增强、高动态范围调整、以及滤色器阵列插值。
12.根据权利要求1所述的方法,其中所述数据管道包括不同分支,所述不同分支包括不同传感器、图像开发功能和/或图像理解功能;所述不同分支由关于所述图像理解的条件触发。
13.根据权利要求12所述的方法,其中所述控制数据还指定关于所述图像理解的所述条件。
14.根据权利要求1所述的方法,其中所述数据管道包括来自至少一个图像理解功能的反馈回路。
15.根据权利要求14所述的方法,其中所述反馈回路是从所述图像理解功能到至少一个图像捕获功能。
16.根据权利要求14所述的方法,其中所述图像理解功能在所述节点中的一个节点中实现,并且所述反馈回路是从所述图像理解功能到不同节点中的功能。
17.根据权利要求1所述的方法,其中所述数据管道能够访问捕获不同类型传感器数据的多个源,并且所述数据管道融合所述传感器数据以用于至少一个图像理解功能。
18.根据权利要求1所述的方法,其中选择将哪些节点包括在所述数据管道中并且确定选择的所述节点之间的互连以形成所述数据管道,还基于向所述数据管道提供传感器数据的传感器之间的已知接近度。
19.根据权利要求1所述的方法,其中选择将哪些节点包括在所述数据管道中并且确定选择的所述节点之间的互连以形成所述数据管道,还基于未包括在对所述节点的所述能力的所述描述中的信息。
20.根据权利要求1所述的方法,其中所述可配置节点的网络还包括对以下各项中的至少一项的访问:麦克风、温度传感器和扬声器。
21.根据权利要求1所述的方法,其中至少一个应用能够访问中间服务,所述中间服务能够访问所述节点。
22.根据权利要求1所述的方法,其中对所述节点的访问是条件访问。
23.根据权利要求22所述的方法,其中所述条件访问由与所述应用和所述节点分开的服务授权。
24.根据权利要求1所述的方法,其中所述数据管道经由互联网访问至少一个节点。
25.一种在标准中被指定用于多个不同应用中的每个应用的方法,所述方法是针对包括能够由所述多个不同应用访问的多个可配置节点的网络而言的,所述方法用于将来自所述网络的节点组织成用于该应用的数据管道,所述数据管道需要图像理解,所述方法包括:
基于对所述节点的所述能力的描述,选择将哪些节点包括在所述数据管道中,并且确定选择的所述节点之间的互连以形成所述数据管道,其中所述节点的所述能力包括所述节点对传感器功能的访问,并且还包括所述节点的图像理解功能;以及
根据每个节点在所述数据管道中的作用,将SceneMode传输到选择的所述节点,所述SceneMode被所述标准定义为针对选择的所述节点指定功能;
其中所述数据管道包括具有对传感器功能的访问的一个或多个节点,所述一个或多个节点作为所述数据管道的源而操作,所述源中的至少一个源捕获图像,所述数据管道从所述源所捕获的传感器数据产生SceneData和SceneMark,所述SceneData包括所捕获的图像和/或从所捕获的图像开发的增强图像,所述SceneMark被所述标准定义为包括图像理解元数据,所述图像理解元数据描述所述SceneData的图像理解和对与所述图像理解相对应的所述SceneData的关联,并且所述SceneMode还被所述标准定义为指定所述数据管道产生的所述SceneData和SceneMark。
26.根据权利要求25所述的方法,其中由所述标准定义的所述SceneMode包括以下各项中的至少一项:面部SceneMode、人类SceneMode、ObjectLabel SceneMode、动物SceneMode、文本SceneMode、徽标SceneMode、条形码SceneMode、以及车辆SceneMode。
27.根据权利要求25所述的方法,其中所述SceneMode被所述标准定义为还指定选择的所述节点之间的所述互连。
28.根据权利要求25所述的方法,其中由所述标准定义的所述SceneMark包括描述以下各项中的至少一项的图像理解元数据:对象检测和对象标识。
29.根据权利要求25所述的方法,其中所述SceneMark在对所述SceneData的所述图像理解中的触发发生时生成,并且所述SceneMode被所述标准定义为还指定所述触发。
30.根据权利要求25所述的方法,还包括:
以所述标准指定的方式访问对所述节点的所述能力的所述描述。
31.根据权利要求30所述的方法,其中所述标准指定自动发现过程,用于从每个节点中发现该节点的所述能力。
32.根据权利要求30所述的方法,其中所述标准指定数据对象,所述数据对象包含对所述节点的所述能力的描述。
33.根据权利要求30所述的方法,其中所述标准指定所述节点的所述能力包括每个节点所支持的SceneMode列表。
34.根据权利要求30所述的方法,其中所述标准指定所述节点的所述能力包括被支持作为每个节点的输入或输出的SceneData和/或SceneMark列表。
35.根据权利要求34所述的方法,其中所述SceneData和/或SceneMark列表还指定编码和/或加密。
36.根据权利要求25所述的方法,其中至少一个应用能够直接访问所述节点。
37.根据权利要求25所述的方法,其中至少一个应用能够访问中间服务,所述中间服务能够访问所述节点。
38.根据权利要求25所述的方法,其中对所述节点的访问是条件访问。
39.根据权利要求38所述的方法,其中所述条件访问由与所述应用和所述节点分开的服务授权。
40.根据权利要求25所述的方法,其中所述标准支持用户定义的SceneMode。
41.根据权利要求25所述的方法,其中所述数据管道经由互联网访问至少一个节点。
42.根据权利要求25所述的方法,其中所述节点中的至少两个节点在同一设备上实现。
CN202080035405.2A 2019-03-15 2020-03-12 使用图像理解配置数据管道 Pending CN113841155A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/355,705 US10990840B2 (en) 2019-03-15 2019-03-15 Configuring data pipelines with image understanding
US16/355,705 2019-03-18
PCT/US2020/022485 WO2020190657A1 (en) 2019-03-15 2020-03-12 Configuring data pipelines with image understanding

Publications (1)

Publication Number Publication Date
CN113841155A true CN113841155A (zh) 2021-12-24

Family

ID=72424688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080035405.2A Pending CN113841155A (zh) 2019-03-15 2020-03-12 使用图像理解配置数据管道

Country Status (7)

Country Link
US (1) US10990840B2 (zh)
EP (1) EP3938954A4 (zh)
JP (1) JP2022526869A (zh)
KR (1) KR20210150414A (zh)
CN (1) CN113841155A (zh)
TW (2) TWI734406B (zh)
WO (1) WO2020190657A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647472A (zh) * 2022-03-24 2022-06-21 北京字跳网络技术有限公司 图片处理方法、装置、设备、存储介质和程序产品

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579940B2 (en) * 2019-04-11 2023-02-14 Salesforce.Com, Inc. Techniques and architectures for managing global installations and configurations
US11188758B2 (en) 2019-10-30 2021-11-30 Scenera, Inc. Tracking sequences of events
US11068742B2 (en) 2019-10-30 2021-07-20 Scenera, Inc. Curation of custom workflows using multiple cameras
WO2021145682A1 (en) 2020-01-13 2021-07-22 Samsung Electronics Co., Ltd. Method of fast estimation of scene brightness and optimal camera exposure
CA3199392A1 (en) * 2020-11-18 2022-05-27 Apera Ai Inc. Method and system for image processing using a vision pipeline
US20230394875A1 (en) * 2021-04-22 2023-12-07 Seoul National University R&Db Foundation Method and device for multi-dnn-based face recognition using parallel-processing pipelines

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005073911A1 (de) * 2004-01-30 2005-08-11 Baumer Optronic Gmbh Bildverarbeitungssystem
CN102216941A (zh) * 2008-08-19 2011-10-12 数字标记公司 用于内容处理的方法和***
CA2778094A1 (en) * 2012-05-23 2013-11-23 Srd Innovations Inc. Wireless data pipeline
US20140168084A1 (en) * 2012-12-13 2014-06-19 Intel Corporation Gesture pre-processing of video stream using a markered region
CN103975345A (zh) * 2011-09-27 2014-08-06 瑞典爱立信有限公司 管理社交网络中的联网资源节点之间的数据流
US20170336858A1 (en) * 2016-05-19 2017-11-23 Scenera, Inc. Scene-Based Sensor Networks
US20180069838A1 (en) * 2016-09-02 2018-03-08 Scenera, Inc. Security for Scene-Based Sensor Networks
US20190042870A1 (en) * 2017-12-28 2019-02-07 Yen-Kuang Chen Multi-domain convolutional neural network

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809346A (en) 1986-07-18 1989-02-28 Hughes Aircraft Company Computer vision architecture for iconic to symbolic transformation
JPH08135889A (ja) 1994-11-10 1996-05-31 Canon Inc 電動雲台、撮像装置および画像入力装置
US6031573A (en) 1996-10-31 2000-02-29 Sensormatic Electronics Corporation Intelligent video information management system performing multiple functions in parallel
US7110024B1 (en) * 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6628339B1 (en) 1999-06-14 2003-09-30 Eastman Kodak Company Image sensor mount for a digital camera
US7969306B2 (en) 2002-01-11 2011-06-28 Sap Aktiengesellschaft Context-aware and real-time item tracking system architecture and scenarios
US20040048507A1 (en) 2002-03-05 2004-03-11 George Hage Quick-release sensor assembly and method
WO2005039185A1 (en) 2003-10-06 2005-04-28 Mindego, Inc. System and method for creating and executing rich applications on multimedia terminals
US7307663B2 (en) 2004-09-16 2007-12-11 Pelco Video surveillance camera
US7561191B2 (en) 2005-02-18 2009-07-14 Eastman Kodak Company Camera phone using multiple lenses and image sensors to provide an extended zoom range
JP4506658B2 (ja) 2005-11-30 2010-07-21 ソニー株式会社 無線通信システム,通信装置,設定情報提供方法,設定情報取得方法,およびコンピュータプログラム
JP2007228019A (ja) 2006-02-21 2007-09-06 Olympus Corp 撮像装置
US7860271B2 (en) 2006-09-05 2010-12-28 Zippy Technology Corp. Portable image monitoring and identifying device
US8655939B2 (en) 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US7978239B2 (en) 2007-03-01 2011-07-12 Eastman Kodak Company Digital camera using multiple image sensors to provide improved temporal sampling
US8791984B2 (en) 2007-11-16 2014-07-29 Scallop Imaging, Llc Digital security camera
US8560785B1 (en) 2008-06-02 2013-10-15 Symantec Corporation Techniques for providing multiple levels of security for a backup medium
US20120033101A9 (en) 2008-11-12 2012-02-09 Xiaoguang Yu Apparatus and methods for controlling image sensors
US8970654B1 (en) 2008-12-22 2015-03-03 Verint Systems Inc. System and method for selecting portions of video data for high quality feed while continuing a low quality feed
US8311983B2 (en) 2009-04-28 2012-11-13 Whp Workflow Solutions, Llc Correlated media for distributed sources
US8494259B2 (en) 2009-12-28 2013-07-23 Teledyne Scientific & Imaging, Llc Biologically-inspired metadata extraction (BIME) of visual data using a multi-level universal scene descriptor (USD)
US8587682B2 (en) 2010-02-12 2013-11-19 Nvidia Corporation Display system, method, and computer program product for capturing images using multiple integrated image sensors
JP5068333B2 (ja) 2010-02-26 2012-11-07 京セラドキュメントソリューションズ株式会社 画像形成装置
US9756292B2 (en) 2010-04-05 2017-09-05 Alcatel Lucent System and method for distributing digital video streams from remote video surveillance cameras to display devices
US8320644B2 (en) 2010-06-15 2012-11-27 Apple Inc. Object detection metadata
US9210322B2 (en) 2010-12-27 2015-12-08 Dolby Laboratories Licensing Corporation 3D cameras for HDR
US8750621B2 (en) 2011-04-27 2014-06-10 Eastman Kodak Company Method of authenticating security marker
JP2012242821A (ja) 2011-05-16 2012-12-10 Sony Mobile Communications Inc 表示画像生成方法
US9596398B2 (en) 2011-09-02 2017-03-14 Microsoft Technology Licensing, Llc Automatic image capture
US8958659B2 (en) 2011-12-24 2015-02-17 Ecole De Technologie Superieure Image registration method and system robust to noise
US9288377B2 (en) 2012-05-02 2016-03-15 Semiconductor Components Industries, Llc System and method for combining focus bracket images
US8780219B2 (en) 2012-07-23 2014-07-15 Wooblue, Inc. Wireless viewing and control interface for imaging devices
US9648218B2 (en) 2012-12-13 2017-05-09 Thomson Licensing Remote control of a camera module
US9588822B1 (en) 2012-12-18 2017-03-07 Amazon Technologies, Inc. Scheduler for data pipeline
US8888005B2 (en) 2013-04-12 2014-11-18 David Prokop Uniquely identifiable drug dosage form units
US20150146037A1 (en) 2013-11-25 2015-05-28 Semiconductor Components Industries, Llc Imaging systems with broadband image pixels for generating monochrome and color images
EP3105714A4 (en) 2014-02-10 2017-10-04 Google, Inc. Smart camera user interface
US9189707B2 (en) 2014-02-24 2015-11-17 Invent.ly LLC Classifying and annotating images based on user context
US20160044227A1 (en) 2014-03-14 2016-02-11 Ashley Lynn Johnson Image capturing device support with remote controller
WO2015183693A1 (en) * 2014-05-27 2015-12-03 Rambus, Inc. Oversampled high dynamic-range image sensor
US9788039B2 (en) 2014-06-23 2017-10-10 Google Inc. Camera system API for third-party integrations
US9225889B1 (en) 2014-08-18 2015-12-29 Entropix, Inc. Photographic image acquisition device and method
US9654296B2 (en) 2014-08-25 2017-05-16 Intel Corporation Handling sensor data
JP6429539B2 (ja) 2014-09-03 2018-11-28 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US10489407B2 (en) 2014-09-19 2019-11-26 Ebay Inc. Dynamic modifications of results for search interfaces
US9723200B2 (en) 2014-10-15 2017-08-01 Microsoft Technology Licensing, Llc Camera capture recommendation for applications
US9697796B2 (en) * 2015-03-26 2017-07-04 Intel Corporation Adaptive linear luma domain video pipeline architecture
US9826149B2 (en) * 2015-03-27 2017-11-21 Intel Corporation Machine learning of real-time image capture parameters
US9769169B2 (en) 2015-09-25 2017-09-19 Intel Corporation Secure sensor data transport and processing
US10516651B2 (en) 2015-12-22 2019-12-24 Intel IP Corporation Securely routing sensor data from sensors to a trusted execution environment (TEE)
US20170337425A1 (en) 2016-05-19 2017-11-23 Scenera, Inc. Scene marking

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005073911A1 (de) * 2004-01-30 2005-08-11 Baumer Optronic Gmbh Bildverarbeitungssystem
CN102216941A (zh) * 2008-08-19 2011-10-12 数字标记公司 用于内容处理的方法和***
CN103975345A (zh) * 2011-09-27 2014-08-06 瑞典爱立信有限公司 管理社交网络中的联网资源节点之间的数据流
CA2778094A1 (en) * 2012-05-23 2013-11-23 Srd Innovations Inc. Wireless data pipeline
US20140168084A1 (en) * 2012-12-13 2014-06-19 Intel Corporation Gesture pre-processing of video stream using a markered region
US20170336858A1 (en) * 2016-05-19 2017-11-23 Scenera, Inc. Scene-Based Sensor Networks
US20180069838A1 (en) * 2016-09-02 2018-03-08 Scenera, Inc. Security for Scene-Based Sensor Networks
US20190042870A1 (en) * 2017-12-28 2019-02-07 Yen-Kuang Chen Multi-domain convolutional neural network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
C. BOURRASSET: "Distributed FPGA-based smart camera architecture for computer vision applications", 2013 SEVENTH INTERNATIONAL CONFERENCE ON DISTRIBUTED SMART CAMERAS (ICDSC), 27 March 2014 (2014-03-27), pages 1 - 2 *
JON PATMAN: "Predictive Analytics for Fog Computing using Machine Learning and GENI", 2018 IEEE INFOCOM INTERNATIONAL WORKSHOP ON COMPUTER AND NETWORKING EXPERIMENTAL RESEARCH USING TESTBEDS, pages 790 - 795 *
沙超;张悦;王汝传;: "一种基于硬件编解码的无线视频节点设计与实现", 信息化研究, no. 05, pages 29 - 33 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647472A (zh) * 2022-03-24 2022-06-21 北京字跳网络技术有限公司 图片处理方法、装置、设备、存储介质和程序产品
CN114647472B (zh) * 2022-03-24 2023-08-15 北京字跳网络技术有限公司 图片处理方法、装置、设备、存储介质和程序产品

Also Published As

Publication number Publication date
US10990840B2 (en) 2021-04-27
TW202137061A (zh) 2021-10-01
TWI767763B (zh) 2022-06-11
US20200293803A1 (en) 2020-09-17
JP2022526869A (ja) 2022-05-26
WO2020190657A1 (en) 2020-09-24
EP3938954A1 (en) 2022-01-19
TW202044114A (zh) 2020-12-01
KR20210150414A (ko) 2021-12-10
TWI734406B (zh) 2021-07-21
EP3938954A4 (en) 2022-12-14

Similar Documents

Publication Publication Date Title
TWI767763B (zh) 資料管線裝置
US11972036B2 (en) Scene-based sensor networks
US11245676B2 (en) Security for scene-based sensor networks, with privacy management system
US8063936B2 (en) Modular immersive surveillance processing system and method
AU2005251372B2 (en) Modular immersive surveillance processing system and method
US20170337425A1 (en) Scene marking
AU2022246412A2 (en) A method and apparatus for conducting surveillance
US20190356841A1 (en) Intelligent interface for interchangeable sensors
US11663049B2 (en) Curation of custom workflows using multiple cameras
US20210133456A1 (en) Tracking Sequences of Events
US20210306560A1 (en) Software-driven image understanding
Middleton et al. A middleware for a large array of cameras
GB2601402A (en) Event entity monitoring network and method
CN113906735A (zh) 网络监控相机***及其操作方法
GB2550971A (en) Method and system for managing access to a media sample captured at a first site by a movable camera
MXPA06001362A (es) Toma instantanea de video/alerta de imagen

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