CN117056558A - 使用边缘计算的分布式视频存储和搜索 - Google Patents

使用边缘计算的分布式视频存储和搜索 Download PDF

Info

Publication number
CN117056558A
CN117056558A CN202311015898.5A CN202311015898A CN117056558A CN 117056558 A CN117056558 A CN 117056558A CN 202311015898 A CN202311015898 A CN 202311015898A CN 117056558 A CN117056558 A CN 117056558A
Authority
CN
China
Prior art keywords
data
visual data
vehicle
video
search query
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
CN202311015898.5A
Other languages
English (en)
Inventor
A·阿格拉沃尔
D·J·朱里安
V·S·R·安纳普莱蒂
M·V·图蒂卡
V·K·莱
S·潘德雅
A·D·卡恩
M·坎伯斯
B·N·查克拉瓦希
A·尼加姆
P·库玛
T·R·古德纳
K·基肖尔
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.)
Netradyne Inc
Original Assignee
Netradyne Inc
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 Netradyne Inc filed Critical Netradyne Inc
Publication of CN117056558A publication Critical patent/CN117056558A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • B60W40/09Driving style or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7844Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
    • 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/48Matching video sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本发明提供了用于使用边缘计算的分布式视频存储和搜索的系统和方法。该方法可以包括在第一设备上高速缓存第一部分数据。该方法还可以包括在第二设备处确定第一设备是否具有第一部分数据。该确定可以基于第一条数据是否满足指定的标准。该方法还可以包括将数据或数据的一部分和/或数据的表征从第一设备发送到第三设备。

Description

使用边缘计算的分布式视频存储和搜索
本发明申请是国际申请号为PCT/US2017/045932,国际申请日为2017年8月8日,进入中国国家阶段的申请号为201780062236.X,名称为“使用边缘计算的分布式视频存储和搜索”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求美国专利临时申请申请号为62/372,284,于2016年8月8日提交的题为“用于具有存储的连接装置的基于分析的查询”,和美国专利临时申请申请号为62/468,894,于2017年3月8日提交的题为“使用边缘计算的分布式视频搜索”的权益,其公开内容均通过引用其整体明确地并入本文。
背景技术
技术领域
本公开的某些方面一般涉及物联网(IOT)应用,更具体地,涉及使用边缘计算的分布式视频存储和搜索的系统和方法。
背景技术
物联网(IOT)应用可以包括用于智能驾驶员监视系统(IDMS)、高级驾驶辅助系统(ADAS)、自动驾驶系统、基于摄像头的监视系统、智能城市等的嵌入式机器视觉。例如,IOT系统的用户可能期望访问由一个或多个连接设备的传感器捕获的所有数据。
在物联网应用中,可能存在带宽和回程线路的限制。进而,由于数据传输网络的带宽和回程线路的限制,可能使得数据可访问性受到影响。此外,连接设备和/或中央服务器可能存在存储限制。
本公开涉及可以克服对由一个或多个连接设备捕获的数据的检索时所关联的技术问题的方法。技术问题包括带宽、回程线路和存储限制。此外,本公开涉及数据传输和/或数据检索的系统和方法。
发明内容
本公开的某些方面总体上涉及提供、实现和使用利用边缘计算的分布式视频存储和搜索的方法,包括用于具有存储的连接设备的基于分析的查询。该方法可以包括在第一设备上高速缓存第一数据。该方法还可以包括确定第一设备是否具有第一数据的第二设备。该方法还可以包括将数据或数据的一部分和/或数据的表征从第一设备发送到第二设备和/或发送到另一设备。
此外,本公开的某些方面提供用于智能查询的系统和方法。一些实施例可以包括智能预选。另外,本公开的某些方面提供了用于深度神经网络的可变速率吞吐量的系统和方法。此外,本公开的某些方面提供用于随机数据包丢弃的系统和方法。此外,本公开的某些方面提供用于数据访问的系统和方法。一些实施例可以包括视频数据的获取。
本公开的某些方面总体上涉及提供、实现和使用利用边缘计算的分布式视频搜索的方法。根据本公开的某些方面的方法可以包括接收视频数据、接收搜索查询、基于搜索查询确定视频数据的相关性、以及基于所确定的相关性传送视频数据。根据本公开的某些方面的方法还可以包括分布式图像搜索或分布式搜索来自另一模态的视觉数据和相关数据。因此,可以减少带宽、计算和存储器资源利用率。此外,可以基本上保护视觉数据的安全性和隐私性。
本公开的某些方面提供了一种方法。该方法总体上包括:在第一设备处从摄像头接收视觉数据,其中第一设备位于摄像头附近;将视觉数据存储在第一设备的存储器中;处理第一设备处的视觉数据以产生推理数据;将推理数据传送到第二设备;在第二设备处接收搜索查询;在第二设备处基于搜索查询和推理数据确定视觉数据的相关性;基于所确定的相关性将视觉数据从第一设备传送到第二设备。
本公开的某些方面提供了一种方法。该方法总体上包括:在第一设备处从摄像头接收视觉数据,其中第一设备位于摄像头附近;将视觉数据存储在第一设备的存储器中;在第二设备处接收搜索查询;将搜索查询从第二设备传送到第一设备;并且在第一设备处基于视觉数据和搜索查询确定第一设备处的视觉数据的相关性。
本公开的某些方面提供了一种被配置为执行视觉搜索的装置。该装置总体上包括第一存储单元;至少一个第一处理器,其耦合到第一存储器单元,其中至少一个第一处理器被配置为:从摄像头接收视觉数据;将视觉数据存储在第一存储单元中;处理视觉数据以产生推理数据;并将推理数据传送到第二存储器单元。该装置还包括:至少一个第二处理器,其耦合到第二存储器单元,其中至少一个第二处理器被配置为:接收搜索查询;基于搜索查询和推理数据确定视觉数据的相关性;并且基于所确定的相关性请求第一设备将视觉数据从第一存储器单元传送到第二存储器单元。
本公开的某些方面提供了一种被配置为执行视觉搜索的装置。该装置总体上包括:用于在第一设备处从摄像头接收视觉数据的单元,其中第一设备位于摄像头附近;用于在第一设备处存储视觉数据的单元;用于处理视觉数据以产生推理数据的单元;用于发送推理数据的单元;用于在第二设备处接收搜索查询的单元;用于在第二设备处基于搜索查询和推理数据确定视觉数据的相关性的单元;以及用于基于所确定的相关性请求第一设备传送视觉数据的单元。
本公开的某些方面提供了一种用于视觉搜索的计算机程序产品。该计算机程序产品总体上包括其上记录有程序代码的非瞬态计算机可读介质,该程序代码包括执行以下操作的程序代码:在第一设备处接收视觉数据;将视觉数据存储在第一设备的存储器中;处理第一设备处的视觉数据以产生推理数据;将推理数据传送到第二设备;在第二设备处接收搜索查询;基于搜索查询和推理数据确定视觉数据的相关性;并且基于所确定的相关性将视觉数据从第一设备传送到第二设备。
本公开的某些方面提供了一种被配置为执行视觉搜索的装置。该装置总体上包括:第二存储单元;至少一个第二处理器,其耦合到第二存储器单元,其中至少一个第二处理器被配置为:接收搜索查询;并将搜索查询发送到第一存储器单元。该装置还包括:第一存储单元;至少一个第一处理器,其耦合到第一存储器单元,其中至少一个第一处理器被配置为:接收来自邻近摄像头的视觉数据;将视觉数据存储在第一存储单元中;并基于视觉数据和搜索查询确定第一设备处的视觉数据的相关性。
本公开的某些方面提供了一种被配置为执行视觉搜索的装置。该装置总体上包括:用于在第一设备处从摄像头接收视觉数据的单元,其中第一设备位于摄像头附近;用于在第二设备处接收搜索查询的单元;用于将搜索查询从第二设备传送到第一设备的单元;以及用于在第一设备处基于视觉数据和搜索查询确定视觉数据的相关性的单元。
本公开的某些方面提供了一种计算机程序产品。该计算机程序产品通常包括其上记录有程序代码的非瞬态计算机可读介质,该程序代码包括执行以下步骤的程序代码:在第一设备处从摄像头接收视觉数据,其中第一设备位于摄像头附近;在第二设备处接收搜索查询;将搜索查询从第二设备传送到第一设备;以及在第一设备处基于视觉数据和搜索查询确定视觉数据的相关性。
本公开的某些方面提供了一种计算机程序产品。该计算机程序产品通常包括其上记录有程序代码的非瞬态计算机可读介质,该程序代码包括执行以下步骤的程序代码:在第一设备处从摄像头接收视觉数据,其中第一设备位于摄像头附近;将视觉数据存储在第一设备的存储器中;在第二设备处接收搜索查询;在第二设备处确定第一设备是否已将视觉数据存储在存储器中;并将视觉数据从第一设备传送到第二设备。
附图说明
图1A示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图1B示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图1C示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图2A示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图2B示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图2C示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图3示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图4示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图5A示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图5B示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图5C示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图5D示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图5E示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图6示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图7示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图8示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图9示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
图10示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的一个示例。
具体实施方式
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。处于对各种概念透彻理解的目的,本详细描述包括具体细节。然而,对本领域技术人员将显而易见的是,可在没有这些具体细节的情况下实践这些概念。在一些实例中,以框图形式示出了众所周知的结构和组件以避免此类概念模糊不清。
基于该教导,本领域技术人员应当理解,本公开的范围旨在覆盖本公开的任何方面,无论是独立实施还是与本公开的任何其他方面组合实施。例如,可使用本文所阐述的任何数量的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为本文中所阐述的本公开的各种方面的补充或者另外的其他结构、功能性、或者结构及功能性来实践的装置或方法。应当理解,本文中所披露的本公开的任何方面均为权利要求的一个或多个元素的实施方式。
本文使用的“示例性”一词意味着“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文描述了特定方面,但这些方面的众多变形和置换均落在本公开的范围之内。尽管提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。当然地,本公开的各方面旨在可宽泛地适用于不同技术、系统配置、网络和协议,其中一些藉由示例在附图和以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
特定查询模型
图1A示出了根据本公开的某些方面的使用边缘计算的分布式视频存储和搜索的前述方法的实现示例。如图1A中所示,在嵌入式客户端102上执行的处理可以向云提供上下文元数据。云可以基于从客户端接收的元数据,从云模型库106中选择104上下文特定模型,其可以部分地基于用户定义的查询。然后,云可以回传用于客户端的上下文特定推理模型108,以用于客户端推理引擎110中的嵌入式处理。
在备选实施例中,如图1B所示,客户端可以向云提供数据,并且云可以确定客户端的上下文112。云可以基于从客户端提供的数据而推理出的上下文,从云模型库116中选择114上下文特定模型。然后,云可以回传用于客户端的上下文特定推理模型118,以用于客户端推理引擎120中的实时处理。
在前述的使用边缘计算的分布式视频存储和搜索的系统和方法的示例性实施例中,视觉系统(诸如汽车或无人机机器视觉系统,它是高级驾驶辅助系统(ADAS)或自动驾驶系统的一部分,或无人机或其他嵌入式分析系统,其包括固定摄像系统)可以被配置为对用于识别感兴趣对象的通用模型或模型集进行处理。通用模型可以是已经被设计或训练为在任何内容或在广泛的典型内容中操作的模型。通用模型的处理可以为客户端设备提供基本的性能水平。此外,可以在嵌入式计算设备上处理通用模型,使得如果设备不具有对云的可靠连接,则该机器可以操作。作为处理各种传感器和用户简档输入的结果,客户端或云可以识别客户端的上下文,其中,上述各种传感器和用户简档输入包括摄像头、惯性传感器、GPS/GLASNOSS、麦克风、用户输入、引擎数据、气压和其他数据。在示例性实施例中,云可以使用所识别的上下文来确定上下文特定模型,然后,向客户端发送上下文特定模型以改善该上下文中的关键性能指示符,诸如准确性和延迟时间,和/或帮助确定设备内存存储是否包含与用户的查询匹配的数据。
尽管图1A-图1B示出了可以从传感器数据推理出上下文,但是本公开不是这样限制,而也可以是上下文基于包括处理传感器数据的多个输入,其中,该传感器包括:摄像头、惯性传感器、GPS、光传感器、气压计、温度、激光雷达和声纳,也可以是上下文基于从传感器或云源(诸如天气报告站点、地图地理等)确定的天气。此外,也可以基于客户端上可用的计算资源以及嵌入式系统上的延迟时间要求来确定上下文。
在上述使用边缘计算的分布式视频存储和搜索方法的另一个实施例中,上下文识别可以基于推理引擎的输出而不是直接基于传感器数据,或者可以基于传感器数据和设备上的推理引擎的输出的组合。
联机客户端和云处理
根据本公开的方面,客户端和云可以联合处理在客户端设备处获得的数据。图1C示出了使用边缘计算的分布式视频存储和搜索的方法。传感器数据可以被分段为帧132的子集。帧的子集可以被发送到云,其中,云可以由云推理引擎134处理。然后可以将云推理引擎的结果发送回客户端设备。同时,可以在客户端推理引擎136对设备上获得的传感器数据进行本地处理。来自云的结果可以与客户端设备上的推理引擎的结果组合以获得可以由客户端设备使用的推理结果。在本示例中,云可以向客户端提供额外的计算资源。可能存在与来自客户端的推理结果相关联的延迟惩罚。如在2016年10月25日提交的PCT申请PCT/US16/58723“用于嵌入式数据推理的联合处理”中所描述的,考虑了利用云的额外计算资源的若干方法,其通过引用以其整体并入本文。
根据本公开的某些方面,元数据和/或观测数据可以从客户端发送到云。元数据可以包括传感器数据,其可以包括与设备的位置相对应的GPS数据。观测数据可以包括由客户端设备上的推理引擎在视觉数据中检测到的对象的描述符。在一些实施例中,元数据和/或观测数据可以由云中的设备处理。云中的设备的附加处理可以称为次轮分析。在一个示例中,次轮分析模块可以确定元数据和/或观测数据是否满足“感兴趣”数据的标准。在另一示例中,云上的设备可以确定元数据和/或观测数据对应于存储在客户端设备上的“感兴趣”视频的概率。
根据某些方面,云设备可以周期性地、诸如每隔10分钟地查询天气数据。在一个示例中,客户端设备可以被配置为每隔10分钟上传元数据和观测数据。在该示例中,云设备可以基于在元数据中传送的位置信息来确定客户端设备附近存在一个或多个气象站。即使元数据和观测数据可能基于设备处的推理引擎而未触发“感兴趣”消息,但是天气查询可以揭示客户端位于具有“感兴趣”天气的区域中。如果是,则客户端可以识别一个或多个感兴趣的视频数据文件。或者,客户端也可以基于所确定的本地天气来分配对一个或多个视频数据文件感兴趣的概率。
通过分配对一视频感兴趣的概率,系统可以在一段时间内扩展感兴趣视频的检索。例如,如果期望在30天的时间段内捕获300个在多雨天气中驾驶的视频,则可以设置概率使得每天上传大约10个这样的视频。如果实际天气条件产生较少数量的上传视频,则可在该30天期间内增加概率。同样,如果上传的视频数量超过计划,则可降低概率。
可以基于许多考虑来确定视频是否“感兴趣”。例如,如果视频很罕见则可能“感兴趣”。与罕见天气事件相关的视频数据可能感兴趣。在一些实施例中,车队经理等可以指定驾驶行为或驾驶条件的类型为“感兴趣”。除了指定不同类型的感兴趣视频之外,车队经理还可以将有限的带宽预算分配给感兴趣的视频或特定种类的感兴趣视频。例如,车队经理可以将雨识别为第一“感兴趣”类,将雪识别为第二“感兴趣”类。如果他的车队中的驾驶员遇到几天下雨,那么包括下雨在内的感兴趣视频的搜索量可能很高。因此,可以减少对在暴雨期间捕获的视频进行检索的概率。同样地,系统可以维持或增加对在暴风雪期间捕获的视频进行检索的概率,这可以基于包含雪的视频的剩余带宽分配来保证。
车载摄像装置
图2A示出了根据上述使用边缘计算的分布式视频存储和搜索方法的连接设备的一个实施例。设备200可包括输入传感器(其可以包括前置摄像头202、面向驾驶员的摄像头204,其与物理上未安装到设备的其他摄像头的连接,惯性传感器206、车载OBD-II端口传感器数据(可以通过蓝牙连接208获得)等)和计算能力210。计算能力可以是CPU或集成的系统级芯片(SOC),其可以包括CPU和其他专用计算核,诸如图形处理器(GPU)、手势识别处理器等。在一些实施例中,作为用于使用边缘计算的分布式视频存储和的搜索的所公开方法的某些方面的实施方式的连接设备可包括连接到云服务的无线通信,诸如利用长期演进(LTE)216或蓝牙通信108连接到附近的其他设备。例如,云可以提供分析辅助。在涉及云服务的实施例中,云可以促进用于离线分析和/或用户查询的数据的聚合和处理。该设备还可以包括全球定位系统(GPS)作为单独的模块212,或者集成在系统级芯片210内。该设备还可以包括存储器214。
图2B-图2C示出了根据利用边缘计算的分布式视频存储和搜索的前述装置、系统和方法的某些方面的具有四个摄像头的设备的实施例。图2B示出了前透视图。图2C示出了后视图。图2B-图2C中所示的装置可以固定到车辆,并且可以包括前置摄像头取景框222,图像传感器可以通过该前置摄像头取景框222捕获来自车辆前方道路的视频数据。该设备还可以包括面向内的摄像头取景框224,图像传感器可以通过该摄像头取景框224捕获来自车辆的内部驾驶室的视频数据。例如,可以使用向内摄像头来监视车辆的操作者。该设备还可以包括右侧摄像头取景框226,图像传感器可以通过该右侧摄像头取景框226从车辆操作者的右侧视点(POV)捕获视频数据。该设备还可以包括左侧摄像头取景框228,图像传感器可以通过该左侧摄像头取景框228从车辆操作者的左侧POV捕获视频数据。
可变速率深度神经网络(DNN)
在一些情况下,可能需要深度神经网络(DNN)在期望的延迟时间内处理输入视频流。期望的延迟时间可以被配置为最大延迟时间或平均吞吐量。作为示例,在实时系统中,可期望近似于平均输入速率的DNN引擎的长期平均吞吐量。
使用DNN处理视觉数据可能在计算上成本较高。在某些情况下,连接设备可能没有足够的处理能力来处理所有输入数据且同时仍满足特定延迟时间或平均吞吐量目标。在其他情况下,DNN引擎可能正在未被配置为实时计算的操作系统上运行。例如,DNN可能在使用安卓或iOS的智能手机上运行。在这些情况下,可用于处理的时间量可能会根据设备上运行的其他应用程序而变化。
在其他情况下,输入数据可能来自不可靠的链路,并且输入流本身可以以可变速率呈现给DNN。在本公开的一个实施例中,传感器和视频可以在一个设备上捕获并且通过无线(通过Wi-Fi)传送到DNN引擎正在运行的另一个设备。
本公开的某些方面提供了用于处理输入速率大于设备上的DNN引擎的可实现吞吐量的情况的方法。
随机数据包丢弃
根据本公开的某些方面,输入数据可以被收集到数据包中。可以将数据包放入输入队列中。可基于可用存储大小来设置队列的大小。DNN引擎可以一次处理一个数据包。在一个示例中,输入数据的数据包可以对应于能由可用GPU批量处理的多个图像。如果队列已满,并且新数据包到达,则可能会丢弃队列中的一个数据包。在一个实施例中,丢弃队列中最旧的数据包。在备选实施例中,一些数据包可被标记为高优先级,从而可能不被丢弃。例如,如果存在另一个推理引擎,其处理对应于视频流的元数据,则该推理引擎的输出可用于标记输入视频包的优先级。在本公开的某些方面的一个实施例中,可以存在处理惯性数据(加速计、GPS、陀螺仪等)的惯性推理引擎。如果惯性引擎检测到惯性“警报”,则该惯性引擎可以将相应的视频数据包标记为高优先级数据包。即使队列已满,也可能无法删除该视频数据包。根据该方法,可以确保由惯性引擎标记为重要的每个数据包(或基本上每个数据包)可以由视频引擎处理。当丢弃数据包时,DNN引擎可以相应地调整其状态机。在一个实施例中,DNN可以在每个数据包的开始时重置其状态机。在另一个实施例中,DNN的状态可以由一个量调整,该量是先前状态变化的因素。在一个实施例中,一个数据包对应于视频的一帧。在另一个实施例中,一个数据包对应于一批视频帧,并且可以包括各个视频帧的经裁剪和/或重新缩放后的副本。
如上所述,当队列已满并且接收到新的视频数据包时,可以丢弃数据包。在另一个实施例中,可以周期性地丢弃数据包。在另一个实施例中,可以伪随机地丢弃数据包。
数据访问
在许多物联网(IOT)应用中,可以跨分布式设备来生成(例如捕获)数据。用户可能期望在生成后的某个时间点访问某些数据。然而,带宽和回程线路限制和/或成本可能妨碍所有分布式设备的所有数据的收集。虽然用户可能期望访问来自所有设备的所有数据,但带宽和回程线路限制会产生可能限制数据可用性的问题。
例如,智能驾驶员监视系统(IDMS)可以包括智能行车记录仪,其监视车辆驾驶员的好和差的驾驶行为,并且还可以向云服务器提供分析和原始数据。在这种使用状况下,为了克服带宽和回程线路限制,可以通过无线数据通信信道(诸如WAN或Wi-Fi连接)仅发送被确定为特别感兴趣的视频和数据。但是,设备上可能会生成更多视频和数据。在稍后的时间,可能存在呼叫以报告驾驶员的动作或与最初未被确定为特别感兴趣的时间段相关的感兴趣的事件。因此,在驾驶员动作的报告中提到的时间生成的相关视频和其他传感器数据将不会通过无线数据通信信道发送。如下情况可能已经发生:例如,因为嵌入式分析系统没有基于捕获的数据生成初始报告,因此可能没有自动上传感兴趣的视频和数据。或者,可能已生成初始报告,但嵌入式设备可能已选择不基于最新数据使用历史来发送数据。车队安全官仍然可能想要请求与报告相关的感兴趣的视频和数据。
另一个例子是一组智能监控摄像头。随着摄像头数量的增加,以及随着摄像头的像素分辨率的提高,网络回程线路和人工监视的需求可能无法扩展以适应所生成的数据量。智能监视摄像头可以使用计算机视觉和人工智能来识别和上传与检测到的异常和感兴趣的项目和/或事件相关联的视频或其他数据。监控摄像头还可以高速缓存未自动上传的附加视频。安全官可能基于报告的事件希望请求所高速缓存的视频和/或感兴趣的相关数据。
检索存储的数据
本公开的各方面提供了用于访问存储在生成数据的位置处或附近的感兴趣数据的系统和方法。据本公开的某些方面,可以在数据生成设备上临时高速缓存数据中的至少一些。本公开的某些方面提供了用于用户有效查找和检索感兴趣的视频或数据、或确认视频或数据不存在的方法。
作为额外的考虑因素,由于IOT设备通常设计用于功耗,因此它们可能不会一直处于开启状态。也就是说,IOT设备可能在用户想要访问存储在设备上的数据时处于断电。因此,本公开的各方面提供了对于设备的暂时存在或不存在而言具有鲁棒性的数据检索的系统和方法。
在一个实施例中,由于带宽约束、功率约束等,设备可能故意停止上传。例如,当通过蜂窝网络连接时,设备可能停止上传。在该示例中,设备可在稍后连接到WiFi时恢复上传。
考虑了用于确定设备应该停止上传的多种方法。在一个示例中,设备可尝试通过蜂窝连接(例如,LTE)上传数据,但是该上传尝试可能失败。然后,设备可在短时间之后重试数据传输。另外,在确定数量的不成功传送数据的尝试之后,设备可能故意停止通过蜂窝连接的进一步上传尝试。在这种情况下,连接管理器可以接收WiFi热点信息,使得它可以在接近热点时恢复上传。
在另一示例中,设备上的连接管理器可以广播信号强度的注册组件。例如,设备可以广播布尔信号(Boolean signal),其中“1”表示良好的信号强度,“0”表示不良信号强度。基于此输入,上传器模块可确定是否停止上传。例如,上传器模块可以基于信号强度消息确定设备应该停止进一步上传,直到蜂窝信号强度改善或者直到遇到WiFi热点为止。同样地,上传器也可以基于信号强度确定仅应该上传某些类型的视频数据。
在一个实施例中,数据可高速缓存于生成设备,或者高速缓存于生成设备附近的设备,所述生成设备具有比云更少的回程线路限制。然后,用户可以向服务器查询感兴趣的数据。然后,服务器可以向设备查询它所包含的数据。然后,服务器可以选择要下载的可用数据的子集。在一些实施例中,可以向用户呈现数据和/或数据的表征。如果需要,用户也可以基于下载的数据来细化搜索,并且可以重复该处理。
在另一个实施例中,设备可周期性地或不定期性地向云传送已高速缓存的数据的摘要。这可以使用户-服务器交互更快更有效,特别是当用户进行初始查询时设备处于脱机状态。
在另一个实施例中,本公开的各方面可以使云能够使用更多信息和/或更复杂的算法来处理经压缩的视频的表征和相关元数据。这可以通过仅检索可能感兴趣的未压缩视频来提高分析的准确性并减少带宽消耗。例如,可以将视频高速缓存在设备上,并且可以将一些或全部元数据(传感器数据)和/或经压缩的视频的表征传送到云。云可以处理数据。在一些实施例中,云中的附加处理可涉及嵌入在设备上的更多计算密集型算法。在一些实施例中,来自其他用户和/或其他服务器的附加信息可以合并到云上的分析中。云服务器可基于云中的处理来确定视频是否应该从设备检索。在该示例中,可以增加实际上与用户相关的所传送的感兴趣的视频的百分比。
有效传输的数据摘要
根据本公开的某些方面,可以基于数据的时间性质来有效地编码设备上的可用数据的概要。在一个实施例中,时间可以被插入,诸如在1分钟时隙中,并且摘要数据可以包括在一段时间内的比特掩码,其中,1表示数据可用于该时隙,0表示数据不可用于该时隙。该时间段可以在文件中编码,或者可以基于报告时间和间隔而隐含。在另一个实施例中,可以基于指定可用数据的开始和停止时间的一系列时间间隔来有效地编码可用数据的概要。
在另一个实施例中,输入视频可通过三维抽取滤波器,其中,第一和第二维度可以对应于视频的水平和垂直轴,第三维度可以对应于时间。可以由DNN引擎进一步处理经下采样的视频流,以用于对象检测和定位。可以基于期望的吞吐量来调整抽取滤波器的参数。
智能查询
可期望减少在查询指定的时间间隔期间发送的数据量。例如,一名车队安全官可能会接到一个电话,他们的一名驾驶员“于下午1点30分到下午2点之间在DelMar附近的I5不稳定地驾驶,并且几乎要碰到一辆蓝色皮卡车的后部”。如果车队安全官请求相应的30分钟的高清(HD)视频数据,则会造成与该请求相关联的较大的蜂窝传输成本。此外,如果传送30分钟的高清视频,则对于安全官而言查看数据以找到感兴趣的项目可能较为麻烦。
在一个实施例中,可以通过基于地理约束和时间约束的组合向设备发送查询来确定特别感兴趣的一部分数据。在该例子中,车队安全官可以在地图上的适当的I5区周围绘制一个框,从而产生一组纬度和纵向约束。安全官可替代地或另外地指定1:30pm至2:00pm的时间窗口。可以将查询发送到报告中标识的卡车上的设备,或者,如果卡车的身份未知或不确定,则可以将查询发送到可能已满足该指定约束的所有卡车上的所有设备。然后,设备上的处理可以处理本地高速缓存的数据,以确定是否存在满足查询约束的任何数据。然后,设备可以发回较小的数据集。在一些实施例中,设备可以发回数据列表,以允许用户确定是否进一步细化搜索。
在另一个实施例中,分析和更高级别的信息可用于细化搜索或特定查询。如在前面的示例中,用户可以请求视频包含蓝色皮卡车的数据。一组细化的分析可能已经提供了元数据,其包括例如检测到的汽车类型(汽车、厢式货车、皮卡车等)及其颜色。在一些实施例中,该元数据可用于进一步改进查询。在一些实施例中,元数据分析可以与地理和/或时间约束结合使用。或者,元数据分析可减少用户提供地理和/或时间约束的需要。此外,元数据分析可以使系统对人为错误更具鲁棒性。例如,报告的交通事故可能误报了事件的时间,使得实际的感兴趣事件发生在报告中指定的时间窗口之外。
在另一个实施例中,可以将分析程序或模型作为查询的一部分来传送。参考涉及蓝色皮卡车的示例,分析程序可以是经训练以检测蓝色皮卡车的卷积神经网络。可以基于来自多个嵌入式设备的数据在云中训练神经网络。然后可以将经训练的模型发送到设备,并且设备可以对全部或其剪辑的一子集运行该模型以查找实证。
在该示例中,连接设备可能已经推理出相关的分析值并存储了这些值。例如,设备可以例行地表征本地存储的剪辑以用于潜在的异常或事件上传。由于剪辑可能尚未上传,因此可能未满足在设备上配置的初始约束。在这种情况下,与视频数据相关联的一组摘要数据,诸如平均跟随距离数据或看到的人数的计数可以帮助用户选择要请求的数据。此外,可以将现有分析值的目标分析程序发送到设备以对数据进行优先级排序。可选地,可以将数据的特征向量表征发送到云以实现额外的分析或选择。可选地,可以将检测到的目标的频率和/或检测的置信度从设备发送到云。
根据某些方面,还可以发送关联视频剪辑的指示。在一个实施例中,可以是由于当时检测到的事件而先前发送的视频剪辑的指示。然后,设备可以确定:例如,第二剪辑中的蓝色皮卡车具有非常接近的特征向量,并且可能是先前发送的视频剪辑中的相同蓝色皮卡车。这可以允许用户查看现有剪辑以确定它是否是感兴趣的对象以及视频剪辑的传输是否值得消耗回程线路成本。此外,可以压缩数据并通过连续细化发送以进行更有效的搜索。在一个实施例中,可以通过使用Canny边缘检测器,接着使用设置为低比特率的H.264或H.265或其他视频编码器,来将视频压缩为1比特示意图。一旦用户找到感兴趣的事件,用户就可以请求完整的视频或更高分辨率编码的该视频。
根据某些方面,查询可用于找到期望的训练数据。例如,可以基于雪景发送特征向量查询或神经网络查询,以帮助找到跨设备的有雪的训练数据。
具有存储的连接设备上的数据管理
本公开的某些方面提供了管理设备存储的方法。例如,某些方面提供了用于在具有存储器的边缘设备是智能手机的情况下管理设备存储器存储的方法。另外,某些方面提供存储配置、检索系统和方法以及应用程序接口(API)。
在一个实施例中,可以在具有给定存储限制的单个先进先出(FIFO)队列中管理数据。在此示例中,最新数据可推出最旧的数据。在另一个实施例中,可以基于数据的年龄和数据的分析信息的组合来推出数据。例如,在具有较高加速力的IDMS用例的时间段中,更接近的跟随距离或更极端的车道位置可以具有更高的分数,因此与较典型或较不感兴趣的数据相比可保持更长。
在一个实施例中,可以使用关于不同分析要素的线性或非线性方程和剪辑的年龄来计算每个剪辑的概率或分数。可以将得分归一化为1以形成概率密度,然后可以使用具有这些概率的随机变量来确定在添加新剪辑或数据时要丢弃的剪辑或数据。
在第二实施例中,可以存在用于不同项目的多个队列,诸如用于具有大于0.3G的停止的事件的队列以及用于跟随距离小于2秒的队列。可以对队列进行优先级排序,并且每个队列可以是具有不同队列长度的FIFO队列。然后,可以基于满足该队列约束的最高优先级将数据放入适当的队列中。这可以使更感兴趣的事件保持更长时间。
作为FIFO队列的细化,可能存在一系列队列,使得数据从第一队列中被丢弃,然后,可以压缩数据而不是将其删除从而占用较少的存储空间。然后可以将经压缩的视频放入第二队列。可能存在多个级别的压缩。例如,一天之前的视频可以以第二压缩级别存储在第二队列中,且三天之前的视频可以以第二压缩级别存储在第三队列中。在一个实施例中,压缩可以包括降低视频压缩器的平均目标数据速率。压缩还可以降低帧速率、分辨率或颜色深度中的一个或多个。压缩还可以改变数据格式,诸如使用Canny边缘检测器制作示意图,使用对象识别、分析特征向量或其他过滤器或变换来压缩到边界框。
对于具有存储的连接设备,可能需要存储视频数据和相应的元数据文件。连接设备的示例可以是智能手机,诸如Nexus智能手机。在一个实施例中,连接的智能手机可以配置有32GB的内存。系统可以配置为分配15GB的内存用于本地设备存储。在一个实施例中,示例性数据文件对(其可包括一分钟视频文件和相关元数据文件)可占用30MB的存储空间。因此,15GB的内存分配可为500个这样的数据文件对提供足够的空间。内存分配可包含一个环形缓冲器,其中包含每个存储文件的名称。
在一个实施例中,可以将一些设备存储器分配给感兴趣的特定事件。例如,可期望保留与记录期间的前三分钟相关的视频和元数据文件数据。此外,可期望保留与记录期间的最后三分钟相关的视频和元数据文件数据。在记录期间对应于驾驶旅程的实施例中,旅程的前三分钟可被称为“点火开启”状态。同样,最后三分钟可以称为“点火关闭”状态。在这个例子中,可能存在用于3个“点火开启”状态对和3个“点火关闭”状态对的分配。然后,数据分配的其余部分可以是环形缓冲器,其可以保持最多494个一分钟数据对。分配给这些剩余494个数据对位置的数据对可以称为“一般视频”。
在一个示例中,一对中的文件名可以基本相同。例如,文件名可以包括与记录的数据相关联的GPS位置或时间戳。每对的文件名的不同点可仅在于扩展名(例如.mp4和.txt)。
在一配置中,智能手机可以被配置为维持三个不同大小的环形缓冲器。在一些实施例中,每个缓冲区的大小可以由用户配置。每个缓冲区可以与不同类型的“事件”相关联。在一个示例中,“事件”类型可以是“一般视频”、“点火关闭”、“点火开启”。如果在手机或附近设备上执行分析,则可以指定更多“事件”类型。
继续以智能手机为例,环形缓冲器可能包含最多494个一般视频对的文件名。“一般视频”环形缓冲器可以存储每个视频剪辑和相应的元数据文件,直到内存限制。“点火关闭”环形缓冲器可以存储点火开关关闭后的头1(3)分钟的视频和元数据文件。“点火开启”环形缓冲器可以存储点火开关开启后的头1(3)分钟的视频和元数据文件。分配给每个缓冲器的特定分钟数可以由用户配置。
可能需要从设备获取指定的文件。为了促进这样的请求,用于视频对数据获取的应用程序接口(API)可以包括注册API、视频列表API和视频上传API。作为视频列表API的一部分,连接设备(可以是智能手机)可传送它存储在不同环形缓冲器中的所有文件的列表。所有文件可以由GPS位置和时间唯一地标识,因此系统可以用于基于标识符按位置和/或时间列出文件。云可以将文件列表维护为可搜索的数据库。可以向用户提供用户界面(UI)以搜索列表。如果匹配或接近匹配,则云可以向手机发送要获取的文件的名称。手机可以使用视频上传API传送相应的文件。如果不匹配,则可以在UI中向用户显示合适的消息,以指示所请求的视频和/或视频数据对的不可用性。
可以从连接设备(诸如智能手机)调用注册API。在一些实施例中,可以从特定设备仅调用注册API一次。注册API可用于向服务器注册。在一个示例中,连接设备可向谷歌云消息传递(FCM)服务器进行注册。在一些实施例中,可以多次调用注册API。例如,如果所交换的交换令牌的安全性受到损害、应用程序被重新安装等,则可以再次调用它。
示例性注册API可以具有以下结构:
可以以预定间隔调用视频列表API。在一个示例中,可以以规则的间隔调用视频列表API。在第二示例中,可以在连接设备记录预定数量的数据对之后调用视频列表API。在一个实施例中,连接设备可以上传两个视频文件列表,一个用于当前由三个环形缓冲器保持的每个数据对。继续相同的示例,环形缓冲器可以对应于开启、一般和关闭状态。第一列表可以指示自上一次视频列表API调用以来已添加的文件,并且第二列表可以指示自从上一次视频列表API调用以来由于环形缓冲器而已删除的文件。
示例性视频列表API可以具有以下结构:
可以响应于从云服务器接收的FCM推送(PUSH)通知来调用视频上传API。视频上传API可用于从边缘设备提取任何类型的文件。例如,当发生碰撞事件时,视频上传消息可以既请求元数据又请求相应的视频(.mp4)数据。在此示例中,两种数据类型可以共享相同的文件名,而其文件扩展名不同。在其他示例中,视频上传消息可以仅请求与已上传的视频数据相关联的元数据文件。在一些实施例中,视频上传消息可以请求针对大多数事件类型上传的元数据和观测数据,并且还针对某些事件(诸如碰撞)上传该数据。
示例性FCM推送通知可以具有以下结构:
在上面的示例中,FCM推送请求包含多个视频文件名的列表。在一个示例中,FCM推送通知可以包括具有四个文件名的视频列表。在另一示例中,FCM推送通知可以包括仅包括一个文件名的列表。
所接收的通知可以包含视频或视频数据对的文件名,以为了需要从设备获取相应的数据。如果设备上存在所需视频,则可以使用该API上传相关视频,并且可以将状态字段设置为“可用”。否则,状态字段可以设置为“不可用”,并且不能上传文件。
示例性视频上传API可以具有以下结构:
在通过视频上传API接收消息后,连接的边缘设备可以上传所请求的一个或多个文件。如果文件不能被上传,则所请求的文件可能存储在与更高级别的数据持久性相关联的存储器的一部分中,从而可以在稍后的时间上传。
碰撞后的数据传输
每当IDMS检测到碰撞时,可能会增加将IDMS的信息传递给感兴趣方的紧迫性。考虑了多种方式的发送碰撞通知。
在碰撞之后进行数据传输的第一实施例中,在客户端设备上运行的处理器可例如通过观测对应于碰撞的加速度计读数来推理已经发生了高等级事件。然后,设备可以将数据包发送到包含以下内容的云服务器:包含警报描述的文件(例如json文件);在检测到的碰撞事件之前由IDMS记录的最新视频文件的名称;与检测到的事件对应的视频数据文件的名称;以及记录到发生碰撞时之前的当前元数据文件的内容。根据该实施例,可以从检测到推定的碰撞的时间起以非常低的延迟时间(例如,<50毫秒)从设备发送小消息。在检测到真实碰撞的情况下,这可能是期望的。对于一些碰撞,例如碰撞的影响可能损坏或破坏连接设备,因此切断随后的数据传输。在从设备接收到数据包时,云设备可以发送FCM推送通知,以请求上传所列出的文件:最后一个视频、最后一个元数据和当前视频。这些视频文件可能有助于了解事件的情况。请注意,与视频文件关联的元数据文件可能具有相同的名称,而其文件扩展名则不同。
在碰撞之后进行数据传输的第二实施例中,高重力(可能碰撞)警报和其他类型的警报(例如,基于对没有惯性签名的视觉数据进行的处理而检测到的警报)之间可能没有区别。在该实施例中,在分析(推理)引擎报告警报之后,向上传器模块通知警报文件的文件名/路径作为进程间通信(IPC)消息。然后,上传器可根据是否存在可用的网络连接来上传或备份文件。
在该第二实施例中,如果边缘设备连接到互联网,则检测到的警报可以使客户端设备上传与警报相关联的元数据和/或观测数据。此后,云设备可以对上传的一个文件或多个文件运行第二遍分析。第二遍分析可以确定警报是否可能是有效事件或假警报。如果确定它是有效事件,则云服务器会更新AWS(Amazon Web Services:亚马逊网络服务)影子。在一配置中,配置为在客户端设备上运行的AWS IoT客户端可以轮询AWS影子以获取状态更新。一旦客户端从影子收到警报上传请求,它将向上传器发送VoD(Video On Demand:视频点播技术)上传消息。以这种方式,系统可以通过拒绝上传可能是假警报的视频数据来节省带宽。此外,通过使用影子,系统可以对连接中断具有鲁棒性。
注意,第二实施例可以以流模式操作,使得可以以低延迟时间传送并上传推定的碰撞警报。如果确定来自特定类别的警报,则上传器可以以低延迟时间上传警报数据。然而,在上传器处接收的其他数据可能限制这种消息的传输。例如,观测数据可以指示推定的碰撞实际上是假警报。在这种情况下,上传器可能拒绝以低延迟时间传送推定的碰撞数据。
通知架构
本公开的某些方面的实施例可以包括使用谷歌的Firebase云消息传递(FCM)服务来向手机(安卓)应用发送通知。还考虑使用其他通知架构(诸如苹果的推送通知)。根据特定的一个(多个)视频的请求,云服务器(例如,用于IDMS应用程序)可以通过FCM向手机应用发送通知,这可以触发应用将一个或多个请求的视频发送到IDMS服务器(云)。这种方法可以确保即使手机暂时不在网络覆盖范围内,也不会丢失请求。在一配置中,如果设备无法连接,请求可以在FCM中保存长达4周。
在另一个实施例中,在请求新视频时,可以提供存储在云数据库中的所请求视频的列表。云服务器可以等待设备轮询(例如,keep-alive请求)。作为对轮询(keep-alive请求)的响应,云服务器可以向设备发送指令以上传视频列表。
另外,本公开的某些方面提供了云一次仅发送一个视频请求的方法。一旦接收到一个视频,如果在一个请求标识符(RequestId)中请求n(>1)个视频,则启用的系统可以自动发送对列表中的下一个视频的请求。这些方法可以减少设备上的内部开销,并且还可以为用户提供快速获取一些视频的手段。与请求所有视频的实施例相比,这可以更好地执行。在后一种情况下,设备有可能通过可能缓慢/不可靠的网络将所有视频一起发送,从而导致要么没有要么全部视频被云接收。前一种情况可能更为理想,因为安全官可以在等待其他视频到达的同时,访问至少一些视频以进行查看。
在一些实施例中,如上所述,如果作为先前请求的一部分或作为警报视频的一部分已经接收到视频,则可能没有对设备的发送请求。
智能预选
基于机器学习的系统需要用于学习的数据。传送和存储机器学习系统所期望的数据的成本可能过高。例如,在IDMS(智能驾驶监控系统)中,以1080p分辨率记录视频的设备可能每分钟产生超过30MB的数据。通过无线链路传送所有这些数据可能太昂贵,甚至在某些位置甚至可能不可行。此外,一旦被传送,将所有这些数据存储在云中可能太昂贵。
在某些情况下,不同时间的数据可能具有不同的训练相关性。例如,如果系统需要在下雨期间进行驾驶训练,那么在晴天期间传送数据可能没那么有用。在另一个示例中,系统可以被配置为对信号灯进行训练。在这种情况下,没有信号灯的视频可能相比具有信号灯的视频没那么有用。根据本公开的某些方面,设备可以使用“滤波器”来决定应该将哪些数据传送到云。这些滤波器可以具有高精度和高查全率。在一些实施例中,精度和查全率可以经过用户定义来权衡。
例如,具有高精度但查全率差的滤波器可以节省带宽,但也可能遗漏一些重要事件。具有低精度和高查全率的滤波器可能带宽效率较低,但可捕获更多所需事件。继续以信号灯为例,该设备可以运行DNN引擎,该DNN引擎可能具有低精度和高查全率以用于检测信号灯。即使精度较低,该网络也可以使系统相比将所有视频传送到云的系统,具有更高的带宽效率。在该示例中,由于在典型的驾驶场景中信号灯可能不常见,使用原始视频馈给进行训练的人工神经网络可能具有较差的信号灯检测精度。通过传送然后标记可能包含信号灯的视频,DNN的检测诸如信号灯这样的罕见对象(例如,州际卡车司机可能很少遇到)的性能可以被改善。
分布式视频搜索
本公开的某些方面涉及搜索在一个或多个设备处捕获的视觉数据,诸如视频流和图像。设备的数量可以表示为N。N的值可以从一个(单个设备)到数十亿个。每个设备可以正在捕获一个或多个视频流,可以已经捕获一个或多个视频流和/或可以在将来捕获一个或多个视频流。可期望在许多这些设备中搜索视频流。在一个示例中,用户可期望搜索所有N个设备中的所有捕获的视频流。在另一示例中,用户可期望搜索在N个设备的一部分中捕获的一部分视频。例如,用户可期望搜索所识别的地理区域中的设备的代表性样本。用户可替代地或另外地期望搜索在所识别的时间附近捕获的视频。
搜索查询可以包括特定对象的指示、具有某些属性的对象和/或事件序列。考虑了检测对象和事件的多种系统、装置和方法(包括检测可能与IDMS系统相关的安全和不安全驾驶行为的系统和方法),如2017年1月11日提交的题为“驾驶员行为监视”的PCT申请PCT/US17/13062中所述,该申请通过引用整体并入本文。
搜索在N个设备处收集的视频的当前方法包括将捕获的视频数据从N个连接设备传送到云服务器。然后,当前系统可以利用云中可用的计算资源来处理传送的视频。对于较大的N值,该方法的带宽和计算成本可能使一些用例丧失实用性。
本公开的某些方面涉及可以提高分布式视频搜索的效率的系统和方法。可以通过搜索查询的带宽成本和/或计算成本来测量效率。在一些实施例中,可对用于在云计算机网络中执行的计算的第一计算成本进行测量,并且可对用于在所连接的边缘设备处执行的计算的第二计算成本进行测量。例如,可期望减少云计算机网络的计算负担,使得由此转移到每个边缘设备的计算负担低于预定阈值。因此,连接的边缘设备处的计算成本的测量可以是计算成本小于或大于预定计算预算的指示。此外,效率测量可能包括延迟时间。效率测量还可以包括例如在数据中心中的存储器存储利用率。可以替代地或另外地测量连接的边缘设备的存储器存储利用率。
关于延迟时间,在一个示例中,用户可期望执行视频搜索,从而在指定的时间段内报告结果。视频搜索查询的发起和满意结果的返回之间的时间可被称为视频搜索查询的延迟时间。分布式视频搜索系统的效率可对应于期望的延迟时间。例如,由于结果相对更快的报告时间可能取决于相对更多的带宽利用率和/或相对更多的计算资源利用率,因此对于相对低的期望延迟时间,分布式视频搜索的效率可能较低。
分布式视频搜索的示例可包括智能驾驶员监视系统(IDMS),其中每个车辆具有IDMS设备,并且用户/系统可以搜索并获得“感兴趣”视频以用于训练/指导。在此上下文中“感兴趣”视频的示例可以是其中存在可见雪的视频、其中存在可见行人的视频、其中存在可见信号灯的视频、或者对应于非视觉传感器上的某些数据模式的视频。非视觉传感器中的数据模式的示例可以包括与指定的加速或制动模式相对应的惯性传感器数据。非视觉感官的其他示例可以包括系统监视模块。系统监视模块可以测量GPU利用率、CPU利用率、存储器利用率、温度等。在一些实施例中,视频搜索可仅基于来自与视频数据相关联的非视觉传感器的数据。替代地或另外地,视频搜索可基于原始的、经滤波的或经处理过的视觉数据。
分布式视频搜索的另一示例可以包括IDMS,其中,云服务器发出搜索查询以获取与驾驶员进行安全或不安全操纵的时间相对应的全部或部分视频。
分布式视频搜索的另一示例可以包括IDMS,其中用户发出搜索查询以获取包含一个或多个指定类型的车辆或者具有一个或多个指定特征的车辆的视频。例如,搜索查询可指定特定的牌照。在另一示例中,搜索查询可指定与牌照的部分描述一致的一组牌照。牌照的部分描述的示例可以是以字母“6XP”开头的所有牌照的搜索查询。替代地或另外地,搜索查询可以指定车辆的特征,诸如车辆的颜色、型号、制造商和/或类别。
分布式视频搜索的另一示例可以包括具有安装在不同位置的多个摄像头的视频监视系统。在该示例中,可期望搜索特定的人。在另一个示例中,可能需要搜索特定的一系列动作,诸如游荡。
分布式视频搜索的当前方法可取决于从多个摄像头或监视设备收集视频数据。例如,在恐怖袭击事件发生后,当局可首先从安装在袭击地附近的监控摄像头收集视频数据。此外,当局可收集可能已经上传到社交媒体平台的由手持设备(诸如智能手机)记录的视频数据。然后,当局可以搜索所收集的视频数据以找到与所识别的感兴趣的人相对应的图像。
诸如谷歌和雅虎等普及的搜索引擎可允许用户输入文本查询以搜索视频剪辑。基于文本查询,搜索引擎可以报告可能与文本查询相关的一组视频剪辑。You Tube和其他视频托管网站也提供类似的功能。为了启用基于文本的搜索,这些搜索引擎可以使用文本属性对视频序列加标签。在一些情况下,加标签可以以手动和/或自动方式完成。当用户输入文本查询时,可以将用户的文本与标签注释进行比较,以识别可能与文本查询相关的一组视频。该方法可以称为基于内容的视频搜索。基于内容的搜索的准确性可能受到文本注释描述相应视频内容的描述程度以及算法或者用于确定文本查询和文本注释之间相似性的算法的限制。
虽然视频托管网站和搜索引擎提供用户可以快速搜索大量视频数据的服务,但是这些搜索服务可能需要大量的计算和存储器存储资源。例如,You Tube可允许其用户搜索可存储在一个或多个数据中心中的大量视频数据。此外,接收视频数据的数据中心可能花费大量计算资源来自动注释每个上传的视频,对上传的视频进行分类等。另外,与内容提供者的众多独立上传视频内容相关联的聚合带宽利用率可能很大。与当前大规模视频搜索系统相关联的计算、存储和带宽资源的组合成本可能对除了最大的互联网公司之外的所有公司都是不可接受的。
因此,本公开的各方面涉及用于搜索视频内容的可扩展系统、设备和方法。例如,如果搜索查询被发送给热门的智能手机应用的所有用户,则视频内容可能在数十万设备上生成,甚至涉及数十亿的用户。
使用边缘计算的分布式视频搜索
图3示出了根据上述使用边缘计算的分布式视频搜索的设备、系统和方法的系统300的实施例。在图3中,示出了一个设备302。系统300可以包含N个设备,其中N可以从1到数十亿。设备302可以被称为“第K”设备。在该示例性系统中,N个设备中的每个设备均可从对应的一个摄像头或多个摄像头和/或多个音频流和/或附加元数据接收视频。在该示例中,设备302从邻近摄像头306接收视频数据并从音频传感器系统308接收音频数据。设备302还接收附加元数据。附加元数据的源310可包括GPS、加速计数据、陀螺仪数据等。元数据还可以包括诸如用于GPU、用于CPU、用于DSP、用于存储器等的系统数据。
设备302可以包括推理引擎312,其可以是GPU、CPU、DSP等,或者设备302上可用的计算资源的某些组合,被配置为基于所接收的数据执行推理。推理引擎312可解析所接收的数据。在一个示例中,推理引擎可以被配置为利用使用深度学习训练的机器学习模型来处理所接收的数据。模型的输出可以是文本表示,或者可以转换为文本表示。视频数据的文本表示可以包括一组文本标识符,其指示视频数据中视觉对象的存在、视频数据中视觉对象的位置等。
在另一示例中,推理引擎可以被配置为处理所接收的数据以将元数据与在相同时间间隔或大约相同时间间隔记录的视频数据相关联。在另一示例中,推理引擎可以被配置为使用机器学习模型来处理元数据。然后,推理引擎可将机器学习模型的输出与在相同时间间隔或大约相同时间间隔记录的相应视频数据相关联。
在一些实施例中,文本表示或推理数据的其它表示可以被传送到云304。云304可以包括可接受来自设备302的数据传送的一个或多个计算机。视频和/或其他推理数据的文本表示可称为“观测数据”。另外,在一些实施例中,可以将对应于某些非视觉数据源310的元数据传送到云。类似地,在一些实施例中,可以在推理引擎312处处理对应于某些非视觉数据源310的元数据以产生元数据推理数据,并且可以将元数据推理数据传送到云。
在一实施例中,默认情况下,由摄像头306捕获的视频可以不被传送到云304。反而,视频数据可以存储在设备302上的存储器314中。存储器414的该部分可以称为“VoD”缓冲器。“VoD”可以指示“视频点播”以反映视频可基于“点播”传送到云(或另一设备)。
云系统304可以接收搜索查询320。在云从N个设备中的至少一个的推理引擎(诸如第K设备302的推理引擎312)接收数据之后,云可以在配置为执行搜索的计算设备322处理搜索查询。搜索结果可以基于搜索查询320与接收的数据之间的匹配或相似度,其中,接收的数据可以包括元数据和/或观测数据(其可以是基于摄像头、音频的推理数据和/或元数据)。在一些实施例中,元数据可以包括非视觉传感器数据,诸如GPS和/或惯性传感器数据。另外,搜索可以基于来自存储的数据库324的数据。替代地或另外地,搜索可以进一步基于从互联网源326接收的数据。互联网源可以包括可以提供例如天气数据和/或速度限制数据的网络应用接口(API)。在一个示例中,被配置为执行搜索的计算设备322可以使用由第K设备302传送的GPS位置310作为元数据来对天气API 326进行查询。API可以基于所接收数据的GPS位置和时间返回天气信息,和/或指示何时捕获所接收数据的时间戳。
云系统304可以基于所确定的匹配或确定的相似度,确定给定视频数据的相关性。随后,云可以基于相关性识别要从N个设备获取的一组视频序列。例如,搜索可以确定应该获取来自第K设备302的视频。可以将与期望视频对应的数据传送到VoD处理引擎328。VoD处理引擎可以将VoD请求传送到第K设备302。在第K设备302内,VoD缓冲器314可接收VoD请求。然后可以将所请求的视频传送到云304或直接传送到另一个设备。
在一些实施例中,可以索引存储在边缘设备(例如第K设备302)上的VoD缓冲器314中的视频。每个视频的索引可以作为元数据的一部分传送到云系统。在该示例中,云系统304的VoD处理引擎328可发送包括与第K设备上所请求的视频相关联的索引在内的VoD请求。通过保持跟踪在第K设备和云中的索引,可以减少与未来VoD请求相关联的延迟时间和计算资源。
与依赖于将每个可搜索的视频上传到云的视频搜索系统相比,诸如图3中所示的视频系统可以使用更少的带宽。N个设备中的每一个可仅将经减少的视频数据表征传送到云,并且视频数据仍然可以在云中搜索。也就是说,N个设备中的每一个可将对应于每个可搜索视频的观测数据和/或元数据传送到云。由于视频数据可能大于相应的观测数据和/或元数据,因此可以说诸如图3中所示的分布式视频搜索系统是带宽效率较好的。另外,搜索系统322可被认为是计算有效的,因为解析输入视频序列的计算复杂的机器视觉任务是在每个设备完成而不是在中央服务器完成的。另外,视频搜索系统300可被认为是可扩展的,因为可用的计算能力随着可用设备的数量而增加。
如果贡献视频数据的设备的数量突然增加,则依赖于将每个可搜索的视频上传到数据中心的分布式视频搜索系统可能会崩溃。类似地,上述系统的数据中心所提供的计算资源可能超出系统当前的需要。相比之下,根据本公开的某些方面的分布式视频搜索系统可更循序渐进地扩展到大量的贡献设备。此外,云设备和N个贡献设备上可用的总计算能力可以随N而增加和减少,使得所提供的资源可以根据系统的需求更加紧密地波动。
使用边缘搜索的分布式视频搜索
图4中示出了分布式视频搜索的替代方法。在该实施例中,云系统404不执行搜索422。而是,云420将搜索查询420发送到一些连接设备,并且在连接设备中执行搜索。该搜索可被认为是“边缘搜索”,因为搜索发生在网络系统的最外边缘。
系统400可以包含N个设备,其中N可以从1到数十亿。设备402可以被称为“第K”设备。图4示出了将搜索查询420发送到第K设备402的示例。
在该示例中,设备402从摄像头406接收视频数据并从音频传感器系统408接收音频数据。设备402还接收附加元数据。附加元数据的源410可以包括GPS、加速计数据、陀螺仪数据、系统数据等。设备402包括推理引擎412,其可以是GPU、CPU\DSP等,或者设备402上可用的计算资源的某些组合,被配置为基于所接收的数据执行推理。推理引擎412可以解析所接收的数据。
在该实施例中,第K设备402的推理引擎412可以将观测数据(其可称为推理数据)和/或关联的元数据输出到被配置为执行搜索的邻近计算设备422。邻近计算设备422可位于设备402内或附近。
邻近计算设备可基于搜索查询420和接收数据之间的匹配或相似度来产生搜索结果。替代地或另外地,搜索可以进一步基于从互联网源426接收的数据。互联网源可以包括能提供例如天气数据和/或速度限制数据的网络应用接口(API)。在一个示例中,被配置为执行搜索的计算设备422可以使用由第K设备402接收的GPS位置410来查询天气API 426。
在一些实施例中,默认情况下,由摄像头406捕获的视频可以不被传送到云404。反而,视频数据可以存储在设备402上的存储器414中。
在一些实施例中,搜索的结果可以被传送到云,其中,该云可存储在云数据库424中。云系统404还可以被配置为具有响应滤波器430。响应滤波器430可以跟踪从系统400中的不同的N个设备返回的结果。VoD处理单元428可以基于所接收的响应的数量和搜索结果所示的相关度,生成用于传送相应视频文件的请求。可以将VoD请求发送到在存储器中具有视频的设备402,诸如第K设备402中的VoD缓冲器414。
在另一个实施例中,第一设备可以基于所确定的视频数据的相关性来发起视频数据的传送。在该示例中,邻近计算设备可以生成或不生成用于传送到云的搜索结果。
与图3中所示的配置相比,根据图4中所示的配置的实施例可以具有更高的带宽效率,因为不需要针对每个可搜索的视频将观测数据传送到云。同样地,与图3中所示的配置相比,搜索可以在连接的设备(例如第K设备402)处完成,因此该配置可以是计算效率较好的。
而且,与图3中所示的配置相比,图4中所示的配置由于搜索查询首先被传送到远程设备,因此可能具有更大的延迟时间。此外,某些类型的搜索的执行可能更麻烦。在一个示例中,用户可以搜索第一远程设备和第二远程设备上的摄像头的视野内的所有汽车。为了完成该搜索,可以将结果发送到云设备,然后在云设备处进行比较。替代地,结果可以从第一设备发送到第二设备,或者从第二设备发送到第一设备。相反,利用图3中所示的配置,来自第一设备和第二设备的结果在启动视频搜索时可能已经在云处可用。
另外,由于可以在每个设备处执行搜索,因此每个设备可能需要单独调用互联网API,诸如天气API。在一些情况下,远程设备可能具有较差的互联网连接,并且搜索结果可能被延迟和/或降级。相反,利用图3中所示的配置,可以将从云对互联网API的调用组合在一起,并且可以更快速且可靠地完成。
还预期有其他变化。在一个实施例中,发送到远程设备的搜索查询可以包括诸如计算机视觉模型的模型,其可以用在远程设备上以重新处理存储的视频数据和/或来自相机传感器的视频流数据,如下面的示例性实施例中所述。
设备靠近摄像头
在一个实施例中,接收搜索查询的设备的数量可以限于可用设备的子集。例如,云可以将搜索查询发送到位于特定地理位置的设备。在本公开的一些实施例中,存储视频数据的设备的位置可以与捕获视频数据的位置相关。在一个示例中,可以从对应于期望搜索位置的多个蜂窝电话塔广播搜索查询。在该示例中,搜索查询可以限于在所使用的蜂窝电话塔的范围内的设备。在另一示例中,云服务器可以跟踪每个连接设备的位置。一旦接收到搜索查询时,云服务器可以将搜索查询的传送限制到给定地理区域中的设备。同样地,云服务器可以将搜索查询的传送限制为在感兴趣的时间段的至少一部分中位于给定地理区域中的设备。
为了促进地理上有限的搜索,设备(诸如图3中示出的设备302或图4中示出的设备402)可以位于捕获存储在设备处的视频的摄像头(分别在图3中为306或在图4中为406)附近。设备和摄像头可以通过固定的有线连接、通过无线连接等。摄像头可以是移动的或固定的,同样,该设备可以是移动的或固定的。在摄像头是移动的而设备是静止的情况下,或摄像头是静止的而设备是移动的情况下,摄像头可以仅在有限的时间内位于设备附近。预期有包括以下的若干变化。
邻近摄像头406可以安装到汽车挡风玻璃上,并且装置402可以直接附接于摄像头406。在一些实施例中,设备402可以通过短程蓝牙连接与摄像头连接以进行通信,或者可以通过汽车的内部控制器局域网(CAN)总线间接连接。在一些实施例中,摄像头406可以安装在固定的地理位置,诸如家或建筑物的外部,并且邻近的设备402可以经由局域网(LAN)连接到摄像头。在其他实施例中,摄像头406可以附接到移动的车辆,并且设备402可以固定在静态地理位置,例如附接到信号灯、加油站或高速公路上的休息站。在该最后一个示例中,摄像头406可仅在有限时间内位于设备402附近。
可认为位于附近的距离范围可根据本公开的特定实施例的期望应用而变化。在一个实施例中,视频数据可以存储在嵌入固定摄像头(诸如安保摄像头)的设备。在该第一示例中,视频被存储在与摄像头传感器大致相同的物理位置的设备。在另一个示例,视频数据可以存储在卡车司机经常光顾的加油站的设备处。这种设备可以被配置为通过诸如WiFi的短程无线连接与安装在卡车内部的摄像头连接。例如,该装置可以被配置为每当有载卡车正在加油或在范围内时,使车载摄像机将数据传送到其本地存储器。在该第二示例中,在以下意义上可以认为该设备接近摄像头:即,它在物理上靠近摄像头一段时间。此外,在该第二示例中,在以下意义上可以认为设备的位置与捕获视频的位置相关:即,该视频是在定义区域内捕获的。在一个示例中,加油站设备可以被配置为在其WiFi集线器的范围内从每个卡车传送先前60分钟内记录的视频数据。在该示例中,可以合理地推理视频数据被记录在沿着高速公路以及沿着二级或三级道路的较短距离的加油站80英里半径内。
也考虑了中间接近范围。回到建筑物安全应用的示例,建筑物可以具有许多收集视频数据的活动安全摄像头。根据本公开的设备可以从多个这些活动安全摄像头接收摄像头数据。例如,来自每个摄像头的视频馈送可以连接到位于建筑物内的安保室。
与加油站示例一样,根据本公开的装置可以安装在城市环境中的信号灯处。附接或嵌入信号灯内的设备可以被配置为当汽车在信号灯附近空转时使安装到汽车的摄像头设备传送最近的视频数据。在密集的城市环境中,可能有许多类似的设备与附近其他交叉路口的信号灯相关联。在该示例中,单个设备可以导致从邻近摄像头传送相对短的一段记录视频数据。例如,它可以被配置为接收在三个城市街区半径内收集的视频数据。例如,这种设备可用于在交叉路口附近保持准确和及时的映射信息。例如,这种系统可用于对最近检测到的道路石渣方向上行驶的汽车等警告。
设备的层次结构
继续以从通过该位置的摄像头收集的视频数据保持空间地图的设备为例,设备的层次结构可以被配置为构建和/或保持大地理区域的可搜索地图。第一设备可嵌入汽车的摄像头内,并且在特定的市区区域中可以有N个这样的设备。第二设备可以保持地图并且可以位于固定位置。例如,如上所述,第二设备可以嵌入信号灯内。第二设备可以被配置为以预定概率请求来自过往车辆所记录的视频。可以将概率配置成使得信号灯设备每小时接收一个60秒的视频。当它接收到新视频时,它可以将视频内容与其本地存储的地图进行比较,并且如果有必要,可以对地图进行小调整。
第二设备有时可以接收指示环境中意外的变化的视频,诸如大坑的外观,或者指示突出的视觉界标已经被击倒的图像。该系统可以被配置为对随后通过的汽车进行特定查询以确认这种意外的观测。后续查询可能比每小时视频提取更具针对性。此外,随后的查询可以以更高的频率发送到过往的汽车。可以基于搜索查询返回的视频数据,相应地更新存储在第二设备上的地图。
在一个实施例中,可能存在数量为M的设备,其与上述示例中的第二设备类似地配置。在这种情况下,M个设备中的每一个均可以从第三设备接收基本为周期性的查询,并且可以基于所接收的查询将视觉和/或地图数据传送到第三设备。可以发送附加查询以确认意外的视觉或地图数据。因此,可以通过分布式数据收集和处理节点的层次结构的协调处理,来构建大地理区域的高分辨率地图。
基于位置的分布式搜索
在另一个实施例中,视频或图像搜索请求可以指定特定位置。例如,搜索可以请求在特定时间在建筑物附近识别的所有人的图像。根据本公开的某些方面,可以实现某个位置特定的搜索效率。例如,搜索请求可以被发送到嵌入在涉嫌的建筑物或附近的安保摄像头的设备。同样,搜索请求也可以被发送到涉嫌的建筑物的中央安保室和/或相邻建筑物的安保室。此外,如上所述,如果在那些可能已经收集了视频数据的位置处启用了设备,则可以将搜索请求发送到建筑物附近的信号灯或加油站。另外,搜索请求可以被发送到可能在感兴趣的时间附近在涉嫌的建筑物附近行进的所有移动设备。
可以对集中式数据库进行划分,使得来自不同国家或地区的视频更可能存储在地理上邻近的数据中心中。这种数据划分可以捕获根据本公开可以实现的一些效率。尽管如此,为了能够搜索一个建筑物及其周围环境,可能需要存储来自用户可能期望搜索的基本上所有建筑物的视频数据。如果对每单位的记录视频的搜索请求的数量低,则该方法可能需要比视频数据存储在接近其捕获的位置的分布式搜索系统更多的数据传送。在后一种系统中,只需要将与搜索查询相关的视频数据传送给制定查询的人或设备。因此,与依赖于通过集中式数据库搜索的系统相比,如上所述的分布式视频搜索系统可以更有效地使用带宽和计算资源,同时提高潜在敏感数据的安全性和隐私性。
有条件的搜索和隐私考虑
除了带宽、存储器存储和计算效率之外,本公开的某些方面可以实现视频数据的安全和隐私保护。继续以针对建筑物及其环境的搜索查询为例,执法机构可能期望识别出现在犯罪现场的每个人。根据本公开的某些方面,可以发起条件搜索。例如,可以在建筑物安装许多具有嵌入式设备的摄像头。一些摄像头可以被引导到建筑物的外部,并且一些可以被引导到内部位置。
设备可以被配置为使得它们可以接收搜索请求并确定连接的邻近摄像头是否可以包含与搜索查询相关的视频。在与内部摄像头相关联的设备的情况下,邻近的摄像头视野可能与本示例中的搜索查询无关。在这种情况下,设备可以拒绝进一步处理搜索查询。
在与外部摄像头相关联的设备的情况下,设备可以确定邻近的摄像头视野可能与搜索查询相关。在这种情况下,设备可以处理搜索请求以搜索先前处理的本地存储的视频的本地存储的描述符数据。例如,本地存储的描述符数据可以包含指示在特定视频帧中识别出人的标签。该标签可以包括人可见的一组帧编号和图像坐标。然而,由于存储器存储和/或本地计算的考虑,与视频帧中的所识别的人相关的标签可能无法跨帧地跟踪单个个体。相反,它可以仅存储每个帧处的每个“人”对象的坐标。因此,设备可以被配置为解释条件搜索请求,以便根据搜索查询重新处理本地存储的一部分视频。在该特定示例中,响应于该查询,设备可以运行跟踪模型以跨帧关联所识别的人,从而可以确定可见人的总数。同样地,设备可以选择一个或多个单独的帧,其中存在每个可识别的人的清晰视图。最后,设备可以打包搜索结果并将它们传送到搜索查询指定的位置。
根据上面的示例,网络安保摄像头的系统的操作员可以迅速地遵从执法机构的请求,但仍然保持与特定搜索无关的所有视频数据的隐私。此外,这样的系统可以遵守隐私法,该隐私法可能禁止在公共场所对个人进行持续的个人识别,但是可允许在某些情况下(例如在恐怖袭击或其他罕见事件期间)对个人进行有限识别。同样,即使没有识别特定的个人,也可能存在禁止记录和保持视频数据的大型集中式数据库的隐私法,因为这些可能被不当使用。然而,社会可能仍然重视一种机制,以便出于某些正当理由选择性地搜索相关视频数据。如上所述,分布式视频搜索系统可以通过将视频存储限制到邻近设备来实现上述相冲突的目的,从而限制在任何一个设备被泄露时数据量被暴露。尽管如此,在合理的情况下,适当授权的用户仍可以搜索大量视频数据。
搜索移交
根据某些方面,搜索查询可以被传达到启用的设备,然后由第二设备传达到另一个设备。因此,设备可以被配置为将视觉数据搜索“移交”到另一设备。在一个示例中,可能许多车辆沿着道路行驶。汽车A具有摄像头和能够接收分布式视频搜索查询的设备。设备接收搜索查询以定位和跟踪与特定描述匹配的汽车。第二辆汽车、汽车B对于安装在汽车A中的摄像机可见,与搜索查询匹配。响应于搜索查询,汽车A中的设备开始在视觉上跟踪汽车B。最终,汽车A靠近其驾驶员的家,并且驾驶员驶离高速公路。在汽车A驶离高速公路之前或刚好之后,它可以将汽车B的跟踪“移交”到高速公路上A和B附近的其他汽车。以这种方式,可以继续跟踪汽车B,直到可以确定汽车B是否是原始搜索查询的真正目标为止。根据该技术,可以通过不断发展的设备的自组织(ad-hoc)网来协调大规模分布式搜索,从而减少集中式服务器的协调开销。
另外,可以指定搜索查询以在不同设备处引起后续搜索,使得后续搜索可以与原始搜索查询不同。返回到针对特定建筑物的搜索的示例,由第一设备接收的原始搜索查询可能已经请求目标设备寻找并跟踪与在犯罪现场识别的特定描述匹配的任何人的移动。如上所述,第一设备可以识别感兴趣的人。该装置还可以检测到该人进入汽车并朝北方去了。然后,第一设备可以将第二搜索查询发送到与安装在汽车前进方向上的摄像头相关联的设备。在该示例中,后续搜索可以请求下游设备搜索匹配特定描述的汽车,来替代匹配特定描述的人,或者附加在匹配特定描述的人之外。
用于罕见事件示例挖掘的分布式视频搜索
本公开的某些方面可以针对基于某些感兴趣的对象或事件的视觉搜索,而不考虑它们被收集的位置。同样地,搜索查询可以请求视觉数据中的特定模式的示例,并且还可以请求示例表示一系列地理位置。
虽然近年来机器学习一直在快速发展,但是标记数据的可用性阻碍了进步。例如,在自动驾驶等重视安全性的应用中,特定问题涉及反映罕见但重要事件的数据的可用性。罕见但重要的事件可称为“极端情况”。由于缺乏训练数据,控制系统可能难以充分处理此类事件。因此,本公开的某些方面可以涉及在计算机视觉开发的背景下更快速地识别用于训练样本的一组训练图像或视频。
在一个示例中,可能期望自动检测驾驶员何时以激进且不安全的方式在车道中穿插。可以训练深度学习模型以在驾驶员频繁改变车道的时间从在汽车处捕获的一组标记视频中检测这样的活动。
插车行为检测模型可以被制定并部署在连接到汽车中的摄像头的设备上。该设备可以被配置为检测驾驶员以可能不安全的方式进行多条车道的变换。在检测模型的早期开发中,可能存在许多假警报。例如,可能不正确地检测到变道,或者变道的模式实际上可能对应于安全和正常的驾驶行为。在开发这种检测模型的一种方法中,具有部署模型的一组设备可以向中央服务器发送两周时间的量的检测结果(真和假)。基于所接收的检测结果,可以以这种方式迭代细化和重新部署模型。
另外地或替代地,根据本公开的某些方面,可以在设备上部署插车行为检测模型。然而,不是等待两周,插车模型可以成为每个设备的搜索查询的一部分。一旦接收到搜索查询时,每个设备均可以重新处理其本地存储的数据以确定最近是否存在任何相关事件。例如,该设备可以具有可以容纳2-4周的驾驶数据的本地存储器。与上述具有2周迭代周期的第一种方法相比,这种在边缘设备的本地存储数据上使用分布式视频搜索的方法可以在几分钟或几小时内返回示例训练视频。
同样地,可以将检测模型的后续迭代部署为对非重叠目标设备集的搜索请求。通过这种方式,每两周的机器学习开发周期可以基本上消除与观测候选事件相关的时间。
此外,如上所述,不是重新处理存储在每个本地设备上的所有视频,而是可以基于存储的描述符来处理搜索查询。同样地,搜索查询可能需要重新处理本地存储的视频的样本,其中可以基于对相关联的描述符数据的搜索来识别子样本。
边缘搜索配置
预期了几种边缘搜索配置。图5A-图5E示出了本公开的某些方面的各种组合,其可以在不同的应用中实现期望的分布式视觉搜索性能。
图5A示出了本公开的实施例,其中从邻近的摄像头502接收视觉数据;在边缘设备504上用推理引擎进行处理以产生推理数据。然后将推理数据存储在本地存储器506中。从邻近摄像头接收的视觉数据也存储在本地存储器510中,本地存储器510可以是与存储推理数据506相同的本地存储器。在该示例中,可以在第二设备处接收520搜索查询。然后,第二设备可以将搜索查询526发送到第一设备,在第一设备处接收546。搜索查询可以是期望视觉事件的文本表示。例如,在IDMS应用中,搜索查询可以在三十秒的间隔内指定三个以上的车道变化,其中至少一个左车道变换和一个右车道变换。可以将所接收的搜索查询546与所存储的推理数据506进行比较,以确定视觉数据与搜索查询508的相关性。例如,存储的推理数据可以包括由设备所附带的汽车的驾驶员展示的变道的日志。如果设备根据推理数据确定与搜索查询匹配的数据序列存储在设备中,则相应的存储的视觉数据510可以传送回554第二设备。在搜索查询被配置为搜索罕见事件的应用中,该实施例可能是期望的。在这种情况下,可能期望为每个匹配事件返回视频数据。
图5B示出了本公开的实施例,其类似于图5A中所示的实施例。然而,在图5B所示的实施例中,如果设备确定存在与搜索查询508相关的视觉数据,则它将搜索结果548传送到第二设备。然后,第二设备接收搜索结果528以及来自其他设备的其他搜索结果。然后,第二设备过滤结果530。例如,第二设备可以比较来自不同设备的搜索结果,和/或基于与搜索查询的相关性对结果进行排序。在过滤结果530之后,第二设备然后可以从返回搜索结果的多个设备请求视觉数据532。例如,第二设备可以从返回具有最高相关性的搜索结果的100个设备请求视觉数据。在该实施例中,设备中的一些接收对视觉数据552的请求,响应于此,边缘设备将所请求的视觉数据554传送回第二设备534。在期望搜索查询找到许多匹配事件的应用中,该实施例可能是期望的。在这种情况下,可能期望仅选择最相关的事件并忽略其他事件,从而节省带宽和存储器存储资源。
图5C示出了本公开的实施例,其中除了传送搜索查询526之外,第二设备还传送搜索推理引擎524。一旦第二设备处接收到搜索查询520时,第二设备可以确定搜索推理引擎。例如,搜索查询可以指定某种类型的汽车,例如蓝色科尔维特。边缘计算设备可能在其存储器中不具有可以区分不同类型的蓝色汽车的推理引擎。因此,第二设备可以训练这样的推理引擎,或者可以从库中选择一个。然后,第二设备可以传送搜索推理引擎524。边缘计算设备可以接收搜索推理引擎544。然后,它可以利用搜索推理引擎512处理存储的视觉数据510,以产生第二推理数据。然后可以将所接收的搜索查询546应用于第二推理数据,以确定所存储的视觉数据与搜索查询的相关性。类似于图5A中所示的实施例,然后可以将视觉数据传送554到第二设备534。在期望搜索查询找到仅从存储的推理数据中无法辨别的罕见事件的应用中,该实施例可能是期望的。因此,存储的视觉数据被重新处理。
图5D示出了本公开的实施例,其类似于图5C中所示的实施例。然而,在图5D所示的实施例中,边缘计算设备首先将搜索结果548传送到第二设备。基于在第二设备530处执行的滤波,边缘设备还可以传送视觉数据554。在期望搜索查询找到仅从存储的推理数据中无法辨别的事件的应用中,该实施例可能是期望的。尽管如此,在用搜索推理引擎512重新处理视觉数据之后,可能存在期望的更多匹配事件。
图5E示出了本公开的实施例,其组合了图5A-图5D中所示的所有实施例。在该实施例中,可以首先将搜索查询应用于存储的推理数据,以确定所存储的视觉数据的哪个部分可以与搜索查询508相关。可以识别一批所存储的视觉数据并将其传达516到第二处理,该第二处理利用搜索推理引擎512重新处理所存储的视觉数据。在可能期望每个边缘设备在其本地存储器中包含大量视觉数据的应用中,该实施例可能是期望的,并且为此可以基于存储的推理数据508的处理来缩小所存储的一批视觉数据。例如,存储的视觉数据508的处理可识别在30秒内具有至少三次变道的视频数据。然后,可以通过搜索推理引擎对所有满足该阈值的视频剪辑进行重新处理,该搜索推理引擎可以进一步从视觉场景中辨别情景信息。例如,可以训练搜索推理引擎以将一系列变道分类为安全或不安全。
分布式存储和边缘设备启动搜索
除了分布式搜索之外,本公开的各方面可以应用于分布式存储。对于一些用户,可能希望存储大量视频数据或一些其他形式的存储器密集数据。在这种情况下,本公开的某些方面可以用于确定在设备处收集的给定视频数据的相关性。设备可以基于所确定的相关性,确定视频数据应该存储在设备处。因为系统中可用的组合存储器存储量可随着系统中连接的设备的数量N而增长,所以本公开的某些方面可以实现可扩展的存储器存储。根据某些方面,可以根据给定搜索查询的相关性来选择网络存储器存储系统中可用的视频数据。
虽然以上示例描述了首先在云服务器处接收搜索查询的系统,但是根据某些方面,可以在N个连接的设备中的一个处发起视频搜索查询。在一个示例中,连接设备可以发起查询以寻找在其摄像头的视野中检测到的对象,该对象也可能在附近的设备处找到。
根据某些方面,连接设备可以发起搜索查询以找到先前遇到的与设备当前遇到的情况有关的情况。在一个示例中,该设备可以是自动驾驶系统的一部分。自动驾驶系统可能遇到其控制系统具有低置信度的情况。在这种情况下,自动驾驶系统可以发起查询以找到过去其他驾驶员遇到的相同或类似情况的其他示例。基于所接收的结果,自动驾驶系统可以确定安全且适当的行动过程。
类似地,执行IDMS功能的启用设备可以被配置为确定观测的异常。在该示例中,驾驶员可能进行不常见的驾驶操纵。为了确定行为是否应被归类为安全且具有响应性的操纵或者作为不安全和鲁莽的操纵,设备可以基于观测到的汽车的特定配置来创建搜索查询。搜索结果可以指示其他驾驶员在遇到与驾驶员的情况类似的情况下如何执行。
根据某些方面,如图3所示的示例,连接设备可以将观测数据和/或元数据发送到云。在一些实施例中,连接设备可以另外发送一部分的相应视频数据。例如,设备可以每分钟、每十分钟等发送一帧的视频数据。云可以使用附加视频数据来确定是否应该获取更多的视频数据。替代地或另外地,单个帧可以用于确定观测数据的环境背景。如,单个帧可用于确定视觉场景是否包括雪、雨、异常对象、长阴影等。
根据某些方面,云可以基于所确定的视频数据的相关性来确定应该获取来自设备的视频数据。在一些实施例中,云可以另外获取在捕获相关视频数据的时间附近的时间段捕获的视频数据。
根据某些方面,云服务器可以在两个或更多个阶段中发送搜索查询。在第一阶段,云服务器可以将第一搜索查询发送到远程设备。例如,第一查询可以是用于确定设备是否在感兴趣的时间段且位于期望的地理位置通电的查询。基于第一查询的响应,云服务器可以发送第二查询,该第二查询可以包含关于特定视觉对象或感兴趣事件的细节。.
分布式存储和搜索的用户界面
本公开的某些方面提供了一种用户界面,利用该用户界面可以从一个或多个客户端设备搜索和/或请求视频和相关联的数据。图6示出了用户界面的一个视图的示例。用户界面可以在网络浏览器中运行,或者作为桌面、智能手机、平板电脑等上的独立应用程序运行。如在图6中可以看到的,用户界面可以包括多个功能。每个功能均可以用图标表示。图6左侧的视频摄像头图标602对应于页面中的视频点播功能。
在图6中所示的用户界面页面的顶部附近有三个页签。第一页签604指示下面的数据列表对应于已经请求的视频数据。所请求数据的列表包括视频ID、创建请求的时间、与安装摄像头设备的车辆相对应的车牌号、请求的时间窗口或时隙以及状态。状态可以是已完成、部分已完成、待处理等。请求的视频数据可以称为“手动”请求数据。
第二页签可以提供最近由云服务器接收的警报视频数据的视图。警报数据可以包括视频和相应的数据,以供连接设备基于安全/不安全的驾驶标准确定视频数据是否应该被上传到服务器。第三页签可以提供“感兴趣的”视频的视图。在该示例中,“感兴趣的”视频和视频数据可以包括与罕见驾驶场景相对应的视频,这也可能是对于DNN系统准确注释具有挑战性的场景。与“警报”数据一样,可以基于在连接设备处执行的数据处理来上传“感兴趣的”视频。然而,与“警报”数据不同,“感兴趣的”数据可能不包括安全/不安全驾驶事件。“感兴趣的”和“警报”数据都可以被视为“自动”请求,因为它们可以基于在连接设备处执行的处理来上传。
在一些实施例中,用户可以通过点击图6中所示的列表的一部分来查看附加的请求细节。例如,用户可以在位置612处点击屏幕,该位置612可对应于与车辆“vn16300057”相关联的视频数据。
通过图6中所示的用户界面,用户可以通过按下按钮610来创建新请求。一旦按下该按钮时,用户可以看到他(她)可指定所需视频数据的新屏幕。
图7示出了在点击“创建新请求”按钮610之后用户可以看到的用户界面的页面。图7包括屏幕左上部分的许多数据字段。在数据字段702中,用户可以输入文本以搜索车辆ID,或者可以从下拉菜单中选择车辆ID。在数据字段740中,用户可以选择时间。在数据字段706中,用户可以选择在740中选择的时间附近的时间范围。在一些实施例中,随后,用户可以按下“搜索”按钮以发起搜索。
如图8所示,一旦按下“搜索”按钮时,可以向用户呈现更新的地图。更新的地图可以以收集到满足用户请求的数据的位置为中心。地图可以包括“+”和“-”按钮,以分别放大和缩小地图。在该示例中,可以在地图上用不同的图标指示记录的数据。每个图标的含义都列在地图右上角的事件图例中。例如,在位置802处记录的数据点由图标812示出,该图标812表示“警报视频(在云中)”。该图标812指示位置802处的视频已经从设备上传到云并且可供用户查看。在位置804记录第二视频数据文件。该数据文件由表示“警报视频(提取)”的图标814示出。该图标814指示连接设备已经基于已经执行的自动处理确定对应的视频数据包括安全警报。但是,该视频数据尚未上传。尽管如此,由于视频上传待处理,因此用户无需为此视频创建新请求。在该示例中,即使视频数据尚未上传到云服务器,用户界面中图标的存在指示对应于视频数据的一些元数据或观测数据已经上传到云。例如,元数据可以包括与记录视频数据时设备的位置相对应的GPS位置的列表。
如在地图顶部附近所示,用户可以选择地图视图或列表视图来查看满足用户搜索标准的视频数据。如图9所示,在点击“列表”图标时,可以向用户呈现可用视频的列表。列表视图可以包括关于该视频数据的附加细节,例如相应车辆的发动机状态。用户可以通过点击右边的复选框诸如复选框902来选择一个或多个视频,该复选框902可用于选择记录在08:05pm的视频数据。然后,用户可以点击屏幕底部的提交按钮,以向相应的设备发起对所需视频数据的请求。
在从图8或图9中所示的屏幕中选择一个或多个视频数据文件时,接下来可以向用户呈现视频观看屏幕。在该示例中,可以示出第一视频,其中暗的播放按钮1002指示视频上传仍然未完成并且相应视频尚未准备好观看。可以在视频框下方点亮“重试获取”按钮1004。用户可以通过点击按钮1004来发起新的视频数据获取请求。图10中的第二视频数据用亮的播放按钮1008示出。亮的播放按钮向用户指示相应的视频已上传并准备好观看。由于视频已经被上传,因此相应的“重试获取”按钮1008变暗以指示该按钮是不可用的。另外,在视频下方呈现新按钮1012,其具有文本“标注标记”。如果用户点击该按钮,则可以将相应的视频数据发送到标记队列以成为训练或测试集的一部分。
虽然上面参考图6-图10描述的用户界面可以基于车辆ID、地理位置和/或日期来启用视频搜索,但是也可以预期其他搜索标准。如上面参考的分布式视频搜索所描述的,例如,其他搜索标准可以包括视觉数据中的某些对象是否存在、天气状况、某些驾驶行为的示例等。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、查明及类似动作。而且,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)及类似动作。同样,“确定”还可包括解析、选择、选取、建立及类似动作。
如本文中所使用的,引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
处理系统可以被配置为通用处理系统,其中一个或多个微处理器提供处理器功能,外部存储器提供至少一部分机器可读介质,所有这些都通过外部总线架构与其他支持电路连接在一起。或者,处理系统可以包括一个或多个专用处理器,例如用于实现神经网络、以及本文所述的其他处理系统。
因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的传递手段。替换地,本文中所描述的各种方法能经由存储单元(例如,RAM、ROM、诸如光碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储单元耦合至或提供给该设备,用户终端和/或基站就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。
应当理解的,权利要求并不被限定于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、变更和变形而不会脱离权利要求的范围。

Claims (48)

1.一种方法,包括:
在第一设备处从摄像头接收第一视觉数据,其中,所述第一设备位于所述摄像头附近;
将所述第一视觉数据存储在所述第一设备的存储器中;
在第二设备处接收搜索查询;
将所述搜索查询从所述第二设备传送到所述第一设备;
在所述第一设备处基于所述第一视觉数据和所述搜索查询确定所述第一视觉数据相对于所述搜索查询的第一相关度;以及
基于所确定的第一相关度以及响应于所述搜索查询而接收到的多个搜索结果,将所述第一视觉数据从所述第一设备传送到所述第二设备。
2.如权利要求1所述的方法,还包括:
利用推理引擎处理所述第一设备处的所述第一视觉数据以产生推理数据;
其中,所确定的第一相关度基于所述推理数据和所述搜索查询。
3.如权利要求2所述的方法,其中,所述推理数据是所述第一视觉数据的文本表示。
4.如权利要求1所述的方法,还包括:
将第一搜索结果数据从所述第一设备传送到所述第二设备,所述第一搜索结果数据包括所确定的第一相关度的指示;以及
在所述第二设备处接收所述第一搜索结果数据。
5.如权利要求4所述的方法,还包括:
在第三设备处从第二摄像头接收第二视觉数据,其中,所述第三设备位于所述第二摄像头附近;
将所述搜索查询从所述第二设备传送到所述第三设备;
在所述第三设备处基于所述第二视觉数据和所述搜索查询确定所述第二视觉数据相对于所述搜索查询的第二相关度;
将第二搜索结果数据从所述第三设备传送到所述第二设备,所述第二搜索结果数据包括所确定的第二相关度的指示;
在所述第二设备处比较所述第一搜索结果数据和所述第二搜索结果数据;以及
由所述第二设备基于所述比较选择性地请求所述第一视觉数据而不是所述第二视觉数据。
6.如权利要求1所述的方法,还包括:
由所述第二设备基于所确定的第一相关度以及响应于所述搜索查询而接收到的所述多个搜索结果,请求来自所述第一设备的所述第一视觉数据。
7.如权利要求1所述的方法,还包括:
基于所传送的第一视觉数据更新推理引擎。
8.如权利要求1所述的方法,其中,所述第一摄像头固定于第一车辆。
9.如权利要求1所述的方法,其中,所述搜索查询是指很少观测到的驾驶场景。
10.如权利要求1所述的方法,还包括:
在所述第一设备处基于所存储的第一视觉数据确定第一车辆的驾驶员的驾驶行为是否应被分类为安全或者不安全,其中所述第一摄像头固定于所述第一车辆。
11.一种装置,所述装置包括:
第一存储器单元;
至少一个第一处理器,其耦合到所述第一存储器单元;
第二存储器单元;以及
至少一个第二处理器,其耦合到所述第二存储器单元;
其中所述至少一个第二处理器被配制成用于:
接收搜索查询;以及
将所述搜索查询传送到第一存储器单元;并且
其中所述至少一个第一处理器被配制成用于:
从附近的摄像头接收视觉数据;
将所述视觉数据存储在所述第一存储器单元中;
由所述至少一个第一处理器基于所述视觉数据和所述搜索查询确定所述视觉数据相对于所述搜索查询的相关度;以及
基于所确定的第关度以及响应于所述搜索查询而接收到的多个搜索结果,将所述视觉数据从所述第一存储器单元传送到所述第二存储器单元。
12.如权利要求11所述的装置,其中,所述至少一个第一处理器被进一步配置成:
用推理引擎处理所述视觉数据以产生推理数据;其中,所确定的相关性基于所述推理数据和所述搜索查询。
13.如权利要求11所述的装置,其中,所述第一摄像头固定于第一车辆。
14.如权利要求11所述的装置,其中,所述搜索查询是指很少观测到的驾驶场景。
15.如权利要求11所述的装置,其中,所述至少一个第一处理器被进一步配置成:
确定第一车辆的驾驶员的驾驶行为是否应被分类为安全或不安全。
16.一种计算机程序产品,所述计算机程序产品包括:
其上记录有程序代码的非瞬态计算机可读介质,所述程序代码包括执行如下操作的程序代码:
在第一设备处从摄像头接收视觉数据,其中,所述第一设备位于所述摄像头附近;
将所述视觉数据存储在所述第一设备处的存储器中;
将与所述视觉数据相关联的信息从所述第一设备传送到第二设备;
在所述第二设备处接收搜索查询;
在所述第二设备处至少部分地基于所述视觉数据和所述搜索查询确定所述视觉数据相对于所述搜索查询的相关度;以及
由所述第二设备基于所确定的相关度以及响应于所述搜索查询而接收到的多个搜索结果,请求由所述第一设备将所述视觉数据从所述第一设备传送到所述第二设备。
17.如权利要求16所述的计算机程序产品,其中,
与所述视觉数据相关联并且从所述第一设备传送到所述第二设备的所述信息包括与所述视觉数据相对应的元数据;并且
所述程序代码还包括用于执行如下操作的程序代码:
部分地基于所述元数据确定所述视觉数据相对于所述搜索查询的所述相关度。
18.如权利要求16所述的计算机程序产品,所述程序代码还包括用于执行如下操作的程序代码:
在第一设备处利用推理引擎处理所述视觉数据以产生与所述视觉数据相对应的推理数据,其中与所述视觉数据相关联并且从所述第一设备传送到所述第二设备的所述信息包括所述推理数据;以及
部分地基于所述推理数据确定所述视觉数据相对于所述搜索查询的所述相关度。
19.如权利要求16所述的计算机程序产品,所述程序代码还包括用于执行如下操作的程序代码:
在所述第二设备处查询所述第一设备附近的天气信息;以及
部分地基于所述查询确定所述视觉数据相对于所述搜索查询的所述相关度。
20.如权利要求16所述的计算机程序产品,其中,所述摄像头是车载摄像头、车辆仪表摄像头、无人机安装的摄像头、电器安装的摄像头,零售摄像头、智能城市摄像头或监视摄像头。
21.如权利要求16所述的计算机程序产品,其中,存储所述视觉数据包括将所述视觉数据的描述符分配给多个队列中的第一队列。
22.如权利要求21所述的计算机程序产品,其中,所述第一队列对应于以下中的至少一个:指定的压缩级别、来自一组标准的指定标准、指定的数据持久时间、位置、时间和天气条件。
23.一种方法,包括:
在设备处接收视觉数据,其中所述视觉数据是在所述设备附近的摄像头处在第一时间捕获的,其中所述摄像头固定于第一车辆,并且其中第二车辆在所述视觉数据中是可见的;
将所述视觉数据以第一分辨率存储在所述设备的存储器中;在耦合到所述存储器的处理器处处理所述视觉数据以产生观测数据,其中所述观测数据包括所述第二车辆的描述符;至少部分地基于所述观测数据中的所述第二车辆的描述符来确定所述视觉数据的优先级;以及
至少部分地基于所述优先级将所述视觉数据以第二分辨率存储在所述存储器中。
24.如权利要求1所述的方法,还包括:
基于所述第一时间确定经过时间;并且其中至少部分地基于所述经过时间确定所述优先级。
25.如权利要求1所述的方法,其中所述第二车辆的描述符包括所述第二车辆的牌照在以所述第一分辨率存储的所述视觉数据中可辨别的指示。
26.一种方法,包括:
在设备处接收视觉数据,其中所述视觉数据是在所述设备附近的摄像头处在第一时间捕获的,其中所述摄像头固定于第一车辆,并且其中第二车辆在所述视觉数据中是可见的;
将所述视觉数据以第一分辨率存储在所述设备的存储器中;在耦合到所述存储器的处理器处处理所述视觉数据以产生观测数据;其中所述观测数据包括所述第二车辆的描述符;其中所述第二车辆的描述符包括所述第二车辆可能已经卷入罕见交通事件的指示;
至少部分地基于所述观测数据确定所述视觉数据的优先级;
至少部分地基于所述优先级将所述视觉数据以第二分辨率存储在所述存储器中;
基于所述观测数据并且至少部分地基于所述指示来确定第二优先级;以及
基于所述第二优先级从所述存储器中删除以所述第二分辨率存储的视觉数据。
27.一种方法,包括:
在设备处接收视觉数据,其中所述视觉数据在所述设备附近的摄像头处在第一时间被捕获;
将所述视觉数据以第一分辨率存储在所述设备的存储器中;确定所述视觉数据的优先级;
至少部分地基于所述优先级将所述视觉数据以第二分辨率存储在所述存储器中,其中所述存储器的第一部分包含以所述第一分辨率存储的视觉数据,并且其中所述存储器的第二部分包含以所述第二分辨率存储的视觉数据;
在所述设备处接收推理模型;
接收与所述推理模型相关联的输入分辨率的指示;
至少部分地基于所指示的输入分辨率从所述存储器的第一部分和存储器的第二部分中的至少一者选择所存储的视觉数据;以及
在耦合到所述存储器的处理器处利用所述推理模型处理所选择的视觉数据以产生推理数据。
28.一种装置,包括:
至少一个存储器单元;以及
耦合到所述至少一个存储器单元的至少一个处理器,其中所述至少一个处理器被配置成用于:
在设备处接收视觉数据,其中所述视觉数据是在所述设备附近的摄像头处捕获的,其中所述摄像头固定于第一车辆,并且其中第二车辆在所述视觉数据中是可见的;
基于所述视觉数据产生观测数据,其中所述观测数据包括所述第二车辆的描述符;
至少部分地基于所述观测数据中的所述第二车辆的描述符来确定所述视觉数据的优先级;以及
至少部分地基于所述优先级,以第一分辨率、或以第二分辨率、或以第一分辨率和第二分辨率将所述视觉数据存储在所述至少一个存储器单元中。
29.如权利要求28所述的装置,其中所述第二车辆的描述符包括所述第二车辆卷入罕见交通事件的指示。
30.如权利要求29所述的装置,其中,所述罕见交通事件是涉及所述第二车辆的交通事故。
31.如权利要求29所述的装置,其中,响应于所述第二车辆卷入所述罕见交通事件的指示,所述至少一个处理器还被配置为延长所述视觉数据在所述至少一个存储器单元中的存储持续时间。
32.如权利要求28所述的装置,其中所述描述符包括车牌在所述视觉数据中是可见的指示;并且所述观测数据包括由字母数字字符串组成的车牌号。
33.如权利要求28所述的装置,其中所述描述符包括车牌在所述视觉数据中是可见的指示;并且所述观测数据包括在所述视觉数据中未识别出与所述车牌号对应的字母数字字符串的指示。
34.如权利要求28所述的装置,其中,所述至少一个处理器进一步被配置成用于:
接收搜索查询,其中所述搜索查询包括目标车牌号;以及
响应于接收到的搜索查询并基于所述视觉数据,确定所述第二车辆的车牌号。
35.如权利要求34所述的装置,其中,所述至少一个处理器进一步被配置成用于:
确定接收到的搜索查询是否是合格的用户查询;以及
响应于确定接收到的搜索查询是合格的用户查询,发送所述第二车辆的车牌号。
36.如权利要求34所述的装置,其中,所述至少一个处理器进一步被配置成用于:
将所确定的所述第二车辆的车牌号与所述目标车牌号进行比较;以及
响应于所确定的所述第二车辆的车牌号与所述目标车牌号之间的匹配,将搜索结果数据发送到远程设备。
37.如权利要求28所述的装置,其中,所述至少一个处理器进一步被配置成用于:
将位置数据和时间戳数据发送到远程设备,其中所述位置数据对应于捕获到所述视觉数据时所述第一车辆的位置,并且其中所述时间戳数据对应于捕获到所述视觉数据时的时间。
38.如权利要求28所述的装置,其中,所述观测数据包括所述第二车辆的车牌号;并且所述至少一个处理器进一步被配置成用于:
将经减少的观测数据传送到远程设备,其中所述经减少的观测数据是所述观测数据中不包括所述第二车辆的车牌号的部分;以及
将所述第二车辆的车牌号储存在所述至少一个存储器单元中。
39.一种计算机程序产品,所述计算机程序产品包括:
其上记录有程序代码的非瞬态计算机可读介质,所述程序代码在由处理器执行时使所述处理器用于:
在设备处接收视觉数据,其中所述视觉数据是在所述设备附近的摄像头处捕获的,其中所述摄像头固定于第一车辆,并且其中第二车辆在所述视觉数据中是可见的;
基于所述视觉数据产生观测数据,其中所述观测数据包括所述第二车辆的描述符;
至少部分地基于所述观测数据中的所述第二车辆的描述符来确定所述视觉数据的优先级;以及
基于所述优先级以第一分辨率、或以第二分辨率、或以所述第一分辨率和所述第二分辨率将所述视觉数据存储在存储器单元中。
40.如权利要求39所述的计算机程序产品,其中,所述描述符包括所述第二车辆卷入罕见交通事件的指示。
41.如权利要求40所述的计算机程序产品,其中,所述罕见交通事件是涉及所述第二车辆而非所述第一车辆的交通事故。
42.如权利要求39所述的计算机程序产品,其中,当由所述处理器执行时,所述程序指令进一步使得所述处理器用于:
接收搜索查询,其中所述搜索查询包括目标车牌号;以及
响应于接收到的搜索查询并基于所述视觉数据,确定所述第二车辆的车牌号。
43.如权利要求42所述的计算机程序产品,其中,当由所述处理器执行时,所述程序指令进一步使得所述处理器用于:
将所确定的所述第二车辆的车牌号与所述目标车牌号进行比较;以及
响应于所确定的所述第二车辆的车牌号与所述目标车牌号之间的匹配,将搜索结果数据发送到远程设备。
44.一种方法,包括:
在具有处理器和存储器的设备处接收视觉数据,其中所述设备在第一车辆内,其中所述视觉数据在固定于所述第一车辆的摄像头处被捕获,并且其中第二车辆在所述视觉数据中是可见的;
在所述处理器处处理所述视觉数据以产生所述第二车辆的描述符;
至少部分地基于所述描述符确定所述视觉数据的优先级;以及
基于所述优先级确定是否将所述视觉数据存储在所述存储器中。
45.如权利要求44所述的方法,其中,所述存储器包括长期存储器和短期存储器;所述方法包括基于所述优先级将所述视觉数据存储在所述长期存储器或所述短期存储器中。
46.如权利要求44所述的方法,其中,所述描述符包括所述第二车辆的牌照在所述视觉数据中可辨别的指示。
47.如权利要求44所述的方法,还包括:
接收搜索查询,其中所述搜索查询包括目标车牌号;以及
响应于接收到的搜索查询并基于所述视觉数据,确定所述第二车辆的车牌号。
48.如权利要求47所述的方法,还包括:
将所确定的所述第二车辆的车牌号与所述目标车牌号进行比较;以及
响应于所确定的所述第二车辆的车牌号与所述目标车牌号之间的匹配,将搜索结果数据发送到远程设备。
CN202311015898.5A 2016-08-08 2017-08-08 使用边缘计算的分布式视频存储和搜索 Pending CN117056558A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662372284P 2016-08-08 2016-08-08
US62/372,284 2016-08-08
US201762468894P 2017-03-08 2017-03-08
US62/468,894 2017-03-08
PCT/US2017/045932 WO2018031562A1 (en) 2016-08-08 2017-08-08 Distributed video storage and search with edge computing
CN201780062236.XA CN109804367B (zh) 2016-08-08 2017-08-08 使用边缘计算的分布式视频存储和搜索

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780062236.XA Division CN109804367B (zh) 2016-08-08 2017-08-08 使用边缘计算的分布式视频存储和搜索

Publications (1)

Publication Number Publication Date
CN117056558A true CN117056558A (zh) 2023-11-14

Family

ID=61162513

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311015898.5A Pending CN117056558A (zh) 2016-08-08 2017-08-08 使用边缘计算的分布式视频存储和搜索
CN201780062236.XA Active CN109804367B (zh) 2016-08-08 2017-08-08 使用边缘计算的分布式视频存储和搜索

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780062236.XA Active CN109804367B (zh) 2016-08-08 2017-08-08 使用边缘计算的分布式视频存储和搜索

Country Status (4)

Country Link
US (5) US10970333B2 (zh)
EP (1) EP3497590B1 (zh)
CN (2) CN117056558A (zh)
WO (1) WO2018031562A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056558A (zh) * 2016-08-08 2023-11-14 内特拉戴因股份有限公司 使用边缘计算的分布式视频存储和搜索
KR101765235B1 (ko) * 2016-11-28 2017-08-04 한국건설기술연구원 사물인터넷 기반 센서와 무인비행체를 이용한 시설물 유지관리 시스템 및 그 방법
EP3568774A1 (en) * 2017-01-12 2019-11-20 Telefonaktiebolaget LM Ericsson (PUBL) Anomaly detection of media event sequences
US10298505B1 (en) * 2017-11-20 2019-05-21 International Business Machines Corporation Data congestion control in hierarchical sensor networks
US11699522B2 (en) * 2018-04-27 2023-07-11 Tata Consultancy Services Limited Unified platform for domain adaptable human behaviour inference
JP6627995B2 (ja) * 2018-05-10 2020-01-08 株式会社Jvcケンウッド 記録装置、記録方法、およびプログラム
US11216516B2 (en) 2018-06-08 2022-01-04 At&T Intellectual Property I, L.P. Method and system for scalable search using microservice and cloud based search with records indexes
US10730463B2 (en) * 2018-06-11 2020-08-04 Ford Global Technologies, Llc Tigger based vehicle monitoring
US11294949B2 (en) 2018-09-04 2022-04-05 Toyota Connected North America, Inc. Systems and methods for querying a distributed inventory of visual data
US11463750B2 (en) * 2018-09-28 2022-10-04 Korea Advanced Institute Of Science And Technology Method and apparatus for transmitting adaptive video in real time using content-aware neural network
CN109194984B (zh) * 2018-11-09 2021-02-12 中山大学 一种基于边缘计算的视频帧调度方法
US10771787B2 (en) * 2018-11-30 2020-09-08 Toyota Motor North America, Inc. Dynamic data compression systems and methods for use with vehicle data
DE102019217642A1 (de) * 2019-11-15 2021-05-20 Volkswagen Aktiengesellschaft Verfahren zur Erfassung von Bildmaterial zur Überprüfung von bildauswertenden Systemen, Vorrichtung und Fahrzeug zur Verwendung bei dem Verfahren sowie Computerprogramm
US11604284B2 (en) * 2019-05-06 2023-03-14 Waymo Llc Methods and systems to determine a strategy for a drop process associated with a light detection and ranging (LIDAR) device
US11669743B2 (en) * 2019-05-15 2023-06-06 Huawei Technologies Co., Ltd. Adaptive action recognizer for video
US11580336B1 (en) 2020-09-11 2023-02-14 Lytx, Inc. Leveraging machine vision and artificial intelligence in assisting emergency agencies
US11452062B1 (en) * 2020-09-11 2022-09-20 Lytx, Inc. Edge model detection and management for distributed data collection
US11823564B1 (en) 2020-09-11 2023-11-21 Lytx, Inc. Adaptive data collection based on fleet-wide intelligence
CN112165716B (zh) * 2020-09-29 2022-07-08 重庆邮电大学 支持重传的无线网络信息年龄优化调度方法
US11748407B2 (en) * 2020-10-12 2023-09-05 Robert Bosch Gmbh Activity level based management and upload of ride monitoring data of rides of a mobility service provider
US11341786B1 (en) * 2020-11-13 2022-05-24 Samsara Inc. Dynamic delivery of vehicle event data
DE102020131996A1 (de) * 2020-12-02 2022-06-02 Bayerische Motoren Werke Aktiengesellschaft Absichern einer geografischen Position
US11942111B2 (en) * 2021-06-15 2024-03-26 Western Digital Technologies, Inc. Data storage device and method for auto-peeling of surveillance video content to increase archival storage
US11831698B2 (en) * 2021-06-29 2023-11-28 Microsoft Technology Licensing, Llc Data streaming protocols in edge computing
US20230091883A1 (en) * 2021-09-17 2023-03-23 HyDaaS Inc. Infrastructure inspection operation by using multiple drones
CN114297441B (zh) * 2021-12-08 2023-05-12 北京格灵深瞳信息技术股份有限公司 视频对象检索方法、装置、计算机设备及可读存储介质
US11922699B1 (en) * 2023-07-24 2024-03-05 The Adt Security Corporation Time-controlled access of third-party content associated with monitoring of premises

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826564B2 (en) 2000-07-10 2004-11-30 Fastforward Networks Scalable and programmable query distribution and collection in a network of queryable devices
US7068309B2 (en) * 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US6995857B2 (en) * 2004-01-23 2006-02-07 Vpr Matrix, Inc. System and method for routing service requests from a paired digital camera and transceiver module
US9346397B2 (en) * 2006-02-22 2016-05-24 Federal Signal Corporation Self-powered light bar
US8010555B2 (en) * 2006-06-30 2011-08-30 Aperio Technologies, Inc. System and method for managing images over a network
WO2008134901A1 (en) * 2007-05-08 2008-11-13 Eidgenössische Technische Zürich Method and system for image-based information retrieval
WO2009113102A2 (en) * 2008-02-27 2009-09-17 Tata Consultancy Services Limited Content based visual information retrieval systems
WO2010060440A2 (en) * 2008-11-25 2010-06-03 Metaio Gmbh Computer-implemented method for providing location related content to a mobile device
US9195898B2 (en) * 2009-04-14 2015-11-24 Qualcomm Incorporated Systems and methods for image recognition using mobile devices
US8515212B1 (en) * 2009-07-17 2013-08-20 Google Inc. Image relevance model
US8768313B2 (en) * 2009-08-17 2014-07-01 Digimarc Corporation Methods and systems for image or audio recognition processing
US8175617B2 (en) 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US9852156B2 (en) * 2009-12-03 2017-12-26 Google Inc. Hybrid use of location sensor data and visual query to return local listings for visual query
US9069443B2 (en) * 2010-06-11 2015-06-30 Doat Media Ltd. Method for dynamically displaying a personalized home screen on a user device
US9226037B2 (en) * 2010-12-30 2015-12-29 Pelco, Inc. Inference engine for video analytics metadata-based event detection and forensic search
SG192884A1 (en) 2011-02-21 2013-09-30 Univ Singapore Apparatus, system, and method for annotation of media files with sensor data
EP2705664A2 (en) 2011-05-03 2014-03-12 Atsmon, Alon Automatic image content analysis method and system
EP2783303A4 (en) * 2011-11-21 2015-09-30 Microsoft Technology Licensing Llc PROTOTYPE-BASED RESORT RESORT SORT
CA2875332A1 (en) * 2012-06-07 2013-12-12 Zoll Medical Corporation Systems and methods for video capture, user feedback, reporting, adaptive parameters, and remote data access in vehicle safety monitoring
KR101259957B1 (ko) * 2012-11-16 2013-05-02 (주)엔써즈 이미지 매칭을 이용한 부가 정보 제공 시스템 및 방법
US8925060B2 (en) * 2013-01-02 2014-12-30 International Business Machines Corporation Selecting image or video files for cloud storage
CA2906199C (en) * 2013-03-15 2021-08-24 Cognitive Media Networks, Inc. Systems and methods for addressing a media database using distance associative hashing
US9147353B1 (en) * 2013-05-29 2015-09-29 Allstate Insurance Company Driving analysis using vehicle-to-vehicle communication
US20140375810A1 (en) * 2013-06-21 2014-12-25 Digimarc Corporation Vehicular safety methods and arrangements
US8930072B1 (en) * 2013-07-26 2015-01-06 Lytx, Inc. Managing the camera acquiring interior data
BR112016002229A2 (pt) * 2013-08-09 2017-08-01 Behavioral Recognition Sys Inc sistema de reconhecimento de comportamento neurolinguístico cognitivo para fusão de dados de multissensor
US10311038B2 (en) * 2013-08-29 2019-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Methods, computer program, computer program product and indexing systems for indexing or updating index
US10853407B2 (en) * 2013-09-05 2020-12-01 Ebay, Inc. Correlating image annotations with foreground features
US9600494B2 (en) 2014-01-24 2017-03-21 Cisco Technology, Inc. Line rate visual analytics on edge devices
US10425479B2 (en) * 2014-04-24 2019-09-24 Vivint, Inc. Saving video clips on a storage of limited size based on priority
US10510095B2 (en) * 2014-06-30 2019-12-17 Samsung Electronics Co., Ltd. Searching based on a local density of entities
WO2016013915A1 (ko) * 2014-07-25 2016-01-28 오드컨셉 주식회사 검색 정보를 표시하는 방법, 장치 및 컴퓨터 프로그램
WO2016039273A1 (ja) * 2014-09-08 2016-03-17 日本電信電話株式会社 表示制御装置、表示制御方法および表示制御プログラム
EP3070625B1 (en) * 2015-03-19 2019-06-12 Accenture Global Services Limited Image-recognition-based guidance for network device configuration and other enviroments
US10102448B2 (en) * 2015-10-16 2018-10-16 Ehdp Studios, Llc Virtual clothing match app and image recognition computing device associated therewith
US9805289B2 (en) * 2015-12-18 2017-10-31 Ricoh Co., Ltd. Color-based post-processing of images
US10120882B2 (en) * 2016-02-17 2018-11-06 Google Llc Methods, systems, and media for storing information associated with content presented on a media presentation device
US10296538B2 (en) * 2016-02-23 2019-05-21 Baidu Usa Llc Method for matching images with content based on representations of keywords associated with the content in response to a search query
US11055335B2 (en) * 2016-07-15 2021-07-06 Google Llc Contextual based image search results
CN117056558A (zh) * 2016-08-08 2023-11-14 内特拉戴因股份有限公司 使用边缘计算的分布式视频存储和搜索
US10346464B2 (en) * 2016-09-27 2019-07-09 Canon Kabushiki Kaisha Cross-modiality image matching method
US20180260401A1 (en) * 2017-03-08 2018-09-13 Netradyne Inc Distributed video search with edge computing
US10795549B2 (en) * 2018-03-12 2020-10-06 International Business Machines Corporation Generating a graphical user interface to navigate video content

Also Published As

Publication number Publication date
US20230161816A1 (en) 2023-05-25
US20210191979A1 (en) 2021-06-24
EP3497590B1 (en) 2024-03-06
US10872117B2 (en) 2020-12-22
US20180341706A1 (en) 2018-11-29
CN109804367A (zh) 2019-05-24
US20190171668A1 (en) 2019-06-06
US10970333B2 (en) 2021-04-06
CN109804367B (zh) 2023-07-04
EP3497590A1 (en) 2019-06-19
US11562020B2 (en) 2023-01-24
EP3497590C0 (en) 2024-03-06
WO2018031562A1 (en) 2018-02-15
EP3497590A4 (en) 2020-02-26
US20210103616A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
CN109804367B (zh) 使用边缘计算的分布式视频存储和搜索
US20210334558A1 (en) Method and system for providing behavior of vehicle operator using virtuous cycle
US11335200B2 (en) Method and system for providing artificial intelligence analytic (AIA) services using operator fingerprints and cloud data
WO2020042984A1 (zh) 一种车辆行为检测方法及装置
US10803322B2 (en) Networks of sensors collaboratively chronicling events of interest
EP3497685A2 (en) Method and apparatus for providing goal oriented navigational directions
US20180260401A1 (en) Distributed video search with edge computing
US20230230386A1 (en) Automobile video capture and processing
EP4167193A1 (en) Vehicle data collection system and method of using

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