CN112115762A - 用于对象检测的传感器的图像帧中的经调适扫描窗 - Google Patents
用于对象检测的传感器的图像帧中的经调适扫描窗 Download PDFInfo
- Publication number
- CN112115762A CN112115762A CN202010566805.8A CN202010566805A CN112115762A CN 112115762 A CN112115762 A CN 112115762A CN 202010566805 A CN202010566805 A CN 202010566805A CN 112115762 A CN112115762 A CN 112115762A
- Authority
- CN
- China
- Prior art keywords
- region
- scanning
- data
- memory
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 87
- 230000015654 memory Effects 0.000 claims abstract description 175
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims description 92
- 238000013528 artificial neural network Methods 0.000 claims description 28
- 238000005094 computer simulation Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 19
- 230000000694 effects Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 14
- 238000013480 data collection Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 abstract description 16
- 238000004891 communication Methods 0.000 description 34
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000004438 eyesight Effects 0.000 description 16
- 230000004927 fusion Effects 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 238000002835 absorbance Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Abstract
本申请案涉及用于对象检测的传感器的图像帧中的经调适扫描窗。当进行对象检测时,使用扫描窗扫描传感器的图像帧。在一种方法中,将所述图像帧内的位置存储于存储器中。每一位置对应于针对前一数据帧在所述位置处进行的对象检测。基于所述所存储的位置确定所述图像帧的第一区域。当开始分析新数据帧时,扫描所述第一区域以检测至少一个对象。在所述第一区域内进行扫描之后,扫描所述新图像帧的至少一个其它区域。
Description
技术领域
本文中所公开的至少一些实施例大体涉及用于对象检测的传感器数据的处理,且更具体地说,但不限于使用传感器的图像帧中的经调适扫描窗进行对象检测。
背景技术
自主车辆通常包含多个传感器以辅助控制自主车辆。在一些情况下,传感器故障可致使涉及车辆的事故、碰撞或近距离碰触。
在计算系统中使用多个传感器融合来管理来自环境的不理想输入。传感器融合可使用例如人工智能(AI)、图案辨识、数字信号处理、控制理论和统计估计等技术。可熔合来自多个微机电系统(MEMS)的数据以为应用提供增加的响应和准确度。
随着传感器技术和处理技术的进步,并结合改进的硬件,使传感器数据的实时融合成为可能。举例来说,系统可将MEMS加速度计、陀螺仪、压力传感器、磁传感器和麦克风组合并集成到具有机载处理和无线连接性的多传感器组合中。
取决于应用,数据融合可以不同方式发生,通常涉及正在测量的元件的复杂程度和数目。特征层级融合涉及从不同传感器观测结果或测量值提取特征并组合成串接的特征向量。决策层级融合在每一传感器单独地测量或评估目标之后从所述每一传感器获取信息。
可用于传感器融合中的一种形式的传感器数据是来自相机的图像数据。车辆可使用基于车辆的相机和其它传感器收集的关于环境的信息进行导航。车辆的计算装置可从传感器接收信息并且处理所述信息以控制车辆的导航(例如,以避开障碍物,例如车行道中的对象)。除了一或多个相机,自主车辆还可包含传感器,例如光达和/或雷达。
发明内容
本公开的一个方面提供一种方法,其中所述方法包括:将图像帧内的位置存储于存储器中,每一位置对应于对象检测;确定所述图像帧的第一区域,其中所述确定是基于所述所存储的位置;在所述第一区域内进行扫描以检测至少一个对象;和在所述第一区域内进行扫描之后,在所述图像帧的至少一个其它区域内进行扫描。
本公开的另一方面提供一种系统,其中所述系统包括:至少一个处理装置;和含有指令的存储器,所述指令被配置成指示所述至少一个处理装置进行以下操作:存储传感器的图像帧内的位置,每一位置对应于基于由所述传感器收集的数据进行的对象检测;选择所述图像帧的多个区域中的第一区域,其中所述第一区域是使用所述所存储的位置并且基于与所述区域中的每一个相关联的对象检测活动性水平被选择的;和针对当前图像扫描在所述第一区域内收集的数据,所述扫描是为了检测所述第一区域内的至少一个对象。
本公开的另一方面提供一种非暂时性计算机存储媒体,其中所述非暂时性计算机存储媒体存储指令,所述指令当在至少一个处理装置上执行时致使所述至少一个处理装置至少进行以下操作:存储与通过传感器进行的数据收集对应的位置,每一位置与对象检测相关联,且所述传感器被配置成从多个区域收集数据;选择所述多个区中的第一区,其中所述第一区是基于所述所存储位置被选择的;和扫描在所述第一区内收集的数据,所述扫描为了是检测所述第一区内的至少一个对象。
附图说明
实施例是借助于实例而非限制在附图的图式中示出,在附图中相似参考指示类似元件。
图1示出根据一个实施例的用于基于存储的扫描窗位置处理来自传感器的数据的实例计算系统。
图2示出根据一个实施例的传感器的实例图像帧。
图3示出根据一个实施例的图像帧的各个经定义区的实例。
图4示出根据一个实施例的扫描窗在图像帧中的与对象检测相关联的各个位置的实例。
图5说明根据一个实施例的包含提供数据到中心处理装置的传感器模块的自主车辆。
图6说明根据一个实施例的包含提供原始数据到处理器的传感器的传感器模块。
图7说明根据一个实施例的存储从车辆接收的事件数据的服务器。
图8说明根据一个实施例的包含传感器模块并且被配置成使用人工神经网络(ANN)模型的车辆的实例。
图9示出可用于各种实施例中的计算装置(例如,服务器)的框图。
图10示出根据一个实施例的计算装置(例如,用户的移动装置或用户终端)的框图。
图11示出根据一个实施例的用于确定图像帧的用于扫描图像数据的区域的方法。
具体实施方式
本文中的至少一些实施例涉及处理由一或多个传感器收集的数据。在一个实施例中,传感器是收集图像的数据的相机。在传感器的图像帧内收集数据。扫描所收集到的数据以检测一或多个对象。基于对一或多个先前图像的所收集的数据的分析来调适对当前图像的所收集的数据的扫描。在一个实施例中,使用扫描窗扫描图像帧。基于对先前图像的所收集的数据的分析来确定扫描窗在当前图像的图像帧中的开始位置。在一个实例中,通过使跨图像帧的扫描窗的位置递增来选择图像帧的进行扫描的第一区域。
关于如本文中所公开的经调适扫描窗的各种实施例涉及可用于自主车辆(例如,导航)的系统和方法。举例来说,所述车辆可为数种类型的自主车辆(例如,轿车、卡车、飞机、无人机、船艇等)中的任一种。然而,这些实施例的使用不限于自主车辆。其它实施方案可包含受人类驾驶者控制的车辆、包含执行图像处理和/或对象检测的装置的固定结构(例如,安全系统)、独立传感器装置或系统(例如,作为组装到最终制造产品中的组件出售),或其它实施方案(例如,其中期望更快的对象检测)。
恰当的自主车辆系统操作在许多情况下为任务关键型。举例来说,恰当的车辆导航对于避免与个人或其它车辆碰撞来说是至关重要的。检测车辆的路径中的对象所需的时间可确定是否可避免碰撞。缓慢的对象检测时间可增加涉及车辆的事故的机率。
通常使用一或多个传感器执行通过车辆进行的对象检测。这些传感器中的一个可为相机,其为相机中使用的传感器的图像帧提供图像数据。当使用多于一个传感器时,传感器融合系统对来自各个传感器的数据输入执行处理。
在一些情况下,使用基于人工智能(AI)的传感器融合。AI传感器融合由以下组成:传感器(例如,图像、雷达、光达传感器)和检测预期将在图像上的对象的传感器融合块(例如,电路,或执行图像处理算法的处理装置)。传感器融合算法可实施于专用处理装置(例如,SOC、FPGA、CPU、GPU等)上。
用于汽车和其它任务关键型应用的先前方法中的关键参数中的一个是对象检测速度。一些先前方法使用经训练的AI推理机制检测预定义扫描窗(例如,240×240像素)中的对象。应注意,增加扫描窗大小会产生很高的资源成本。典型图像传感器(例如,相机中的传感器)与AI扫描窗相比提供大得多的图像大小。对象检测机制通过在扫描窗内部执行AI对象检测,接着使扫描窗移位到新位置来进行工作。在一个实例中,扫描窗向右移位数个像素以执行对象检测,并且接着又进行数次移位以在数个新方位中的每一个中检测对象。对象检测针对每一后续递增方位继续,直到整个图像(例如,全图像帧内的图像)经过扫描为止。
图像传感器帧上的对象检测时间的促成因素中的一个是对象相对于扫描窗位置的位置。在先前方法中,扫描窗针对所有递增的位置以极简的系统性方式移动(例如,在每一扫描之后向右移动8个像素)然而,这通常引起缓慢对象检测的技术问题。举例来说,在一些情况下,使用此极简方法的扫描窗的位置在远离待检测对象的图像帧方位中缓慢地递增。因此,对象检测显著延迟。
本公开的各种实施例提供了针对上述技术问题中的一或多个的技术解决方案。举例来说,以下各种实施例提供扫描由一或多个传感器收集的图像(或替代地,围绕车辆的三维空间的区)的数据,以便与上述的先前方法相比加速预期对象的检测。举例来说,选择在其中开始扫描(例如,针对由相机收集的当前图像使用递增扫描窗)的二维区域,或更一般来说,三维区。开始区的选择是基于来自先前扫描(例如,针对来自相机的先前图像完成的先前对象检测)的所存储位置。
在一个实施例中,一种方法包含:存储与通过传感器进行的数据收集对应的位置,每一位置与对象检测相关联,且传感器被配置成从多个区收集数据;选择所述多个区中的第一区(例如,图3的区A),其中所述第一区是基于所存储位置被选择的;和扫描在第一区内收集的数据,所述扫描是为了检测所述第一区内的至少一个对象。
在一个实施例中,一种方法包含:存储传感器(例如,相机)的图像帧内的位置,每一位置对应于基于由传感器收集的数据进行的对象检测;选择图像帧的多个区域中的第一区域,其中所述第一区域是使用所存储位置并基于与所述区域中的每一个相关联的对象检测活动性水平被选择的;和针对当前图像扫描在所述第一区域内收集的数据,所述扫描是为了检测所述第一区域内的至少一个对象。
在一个实例中,所存储的位置是存储于存储器中。举例来说,存储器可被配置成将1,000个位置存储为(X,Y)坐标对。在一个实例中,坐标参考(X=0,Y=0)是图像帧的拐角。在一个实例中,所述参考是车辆上的位置(例如,底架,或外部组件)。所述位置与在通过图像处理算法检测到对象的时间处的扫描窗方位对应。
在一个实施例中,所存储的位置按每一个区进行分类。举例来说,存储针对第一区进行的对象检测的数目,并且还存储针对第二区进行的对象检测的数目。可比较每一区的对象检测活动性水平。具有最高对象检测活动性水平的区可用以选择或定义用于未来扫描的开始区(例如,使用计算机模型或其它例如下文所描述实施计算机视觉处理的方法)。
在一个实施例中,一种方法包含:将图像帧内的位置存储于存储器中,每一位置对应于对象检测;确定图像帧的第一区域(例如,图3的区A),其中所述确定是基于所存储的位置;在所述第一区域内进行扫描以检测至少一个对象;和在所述第一区域内进行扫描之后,在图像帧的至少一个其它区域(例如,图3的区B、C、D和/或E)内进行扫描。
在一个实施例中,传感器是相机。扫描窗在由传感器收集的数据的图像帧中递增。在其它实施例中,可使用其它类型的传感器(例如,光达或雷达传感器)。在一个实例中,基于所存储的位置的扫描区选择可应用于与可使用的扫描窗或其它扫描技术相比提供较高分辨率的任何类别的传感器。
在一个实施例中,使用如下算法:通过首先扫描当基于先前检测存在高对象活动性时的区域(例如,如图3中所说明区域A,且更一般地指示为“区”)来定位图像窗并对所述图像窗进行扫描。最后扫描具有低对象活动性的区域(例如,图3的区域B、C、D、E)(例如对应于天空区域的区域,例如图3的区D)。此算法在许多情况下改进检测时间,这是因为与先前方法相比,在图像扫描过程的较早时间命中扫描窗内的对象的机率较高。
在一个实施例中,作为选择区或区域进行扫描的部分,确定所述区或区域的边界(例如,使用算法定义二维或三维空间中的边界的坐标)。在一个实施例中,如下文所描述确定首先扫描的区域(例如,区或区域A)的边界。
只要不存在现有检测历史(例如,针对新车辆或系统的部署),图像帧内的整个图像即可定义为区域A。
每当存在对象检测时,将扫描窗的位置(例如,图4中的(X1,Y1))存储于存储器中。存储器存储扫描窗的n个最后位置(例如,n=1,000或其它预定存储器大小)。在一个实例中,当存储器满时,每一新位置条目替换存储器中的最旧条目。
在每一图像传感器帧完成之后,并且当在存储器中存在足够历史(例如,预定1,000个所存储的位置的最大值,或在替代性实施例中低于最大值的数目)时,区域A的边界计算如下:
·上边界=最大值(存储器中的所有Y位置)
·下边界=最小值(存储器中的所有Y位置)-扫描窗竖直大小
·左边界=最小值(存储器中的所有X位置)
·右边界=最大值(存储器中的所有X位置)+扫描窗水平大小
在针对对象检测将处理的下一个图像上,将针对对象扫描第一区域A。接着,扫描其它剩余的是。在一个实例中,扫描顺序可能未针对其它区域(例如,如图3中所说明区B、C、D、E)进行定义或为随机的。在一个实例中,可以每一相应区或区域的对象活动性水平确定的次序扫描其它区或区域。在一个实例中,可优先使用预定区域次序。
在一个实施例中,使用扫描窗通过已知现有图像处理算法执行给定区域(例如,区域A、B、C、D或E)内的扫描,以在扫描窗在给定区域中的当前位置处检测所述扫描窗内的对象。
图1示出根据一个实施例的用于基于存储的扫描窗位置111处理来自传感器103的数据的车辆101的实例计算系统。窗位置111存储于存储器109中。所存储的位置111对应于当扫描由传感器103针对先前图像收集到的数据时的扫描窗的位置。所存储的位置111对应于图像帧105内的扫描窗的位置。举例来说,使用从传感器103收集的数据导航车辆101。
由传感器103在图像帧105内收集的数据提供给处理器107。当传感器103在图像帧105内收集到新图像时,处理器107执行确定图像帧105的第一区域的算法,在所述第一区域中开始扫描以在新图像中进行对象检测。第一区域的确定是基于存储的扫描窗位置111。
在确定第一区域之后,处理器107扫描第一区域以检测一或多个对象。在检测到每一对象时,将与所检测到的对象对应的数据存储于存储器109中的所检测到的对象113的数据库中。用以扫描新图像的图像处理算法可作为计算机模型115存储在存储器109中。在一个实例中,计算机模型115包含神经网络和/或其它机器学习算法。
图2示出根据一个实施例的传感器(例如,图1的传感器103)的实例图像帧201。图像帧201是图1的图像帧105的实例。如图2中所说明,扫描窗跨图像帧201递增以扫描由传感器收集的数据。扫描窗被指示(通过实线)为在当前位置205处,在其中收集并分析数据以针对图像帧201所捕获(例如,通过相机)的当前图像来检测对象。
指示(通过虚线)扫描窗的前一位置203。存储于存储器109中的扫描窗位置111的一部分可对应于在前一位置203处发生的对象检测。指示(通过虚线)扫描窗的下一位置207。针对当前位置205执行对象检测算法并且接着在下一位置207处再次执行所述对象检测算法。
图3示出根据一个实施例的图像帧201的各个经定义区(例如,区A、B、C、D和/或E)的实例。图像帧201是图像帧105的实例。传感器在图像帧201内收集数据。在一个实例中,传感器是传感器103。在一个实例中,传感器是自主车辆的相机,其在图像帧201内的位置处收集呈多种像素形式的数据。
图像帧201内的数据收集位置由水平X轴和竖直Y轴指示。在此实例中,X轴和Y轴的原点是位置(0,0)。在一个实例中,由相机收集的每一像素数据的位置由与像素的水平位置和竖直位置对应的坐标对指示。
在一个实施例中,传感器在图像帧201内针对当前图像收集数据以供分析。所收集的数据的分析在第一预定区(例如,区A)内开始。第一预定区的位置由图像帧201内的水平和竖直坐标定义。
在一个实例中,相机随时间收集图像序列的数据。上述第一预定区用作此序列中的当前图像的对象检测分析的开始位置,其是以对基于相机所收集的先前图像获得的所存储的位置的分析为基础被选择的。在一个实施例中,第一预定区是基于与图像帧201内的各个区中的每一个相关联的对象检测活动性水平被选择的。
在一个实施例中,通过使扫描窗在上述第一预定区(例如,区A)内递增来执行在图像帧201内对当前图像的扫描。在一个实例中,在可使用扫描窗检测到一或多个对象时,将在这类检测发生时的扫描窗位置存储于存储器中。在一个实例中,所述位置是存储于图1的存储器109中的扫描窗位置111。存储于存储器中的针对正在被扫描的当前图像的扫描窗位置将用以选择图像帧201的第一区,在所述第一区中起始对由传感器收集的未来图像的扫描。在一些实例中,所选择的第一区可为在图像帧201的周边附近的区(例如,区C或E)。
在一个实施例中,所述区中的每一个对应于二维空间中的区域(例如,相机的图像传感器的活动区域)。在一个实施例中,所述区中的每一个对应于三维空间的体积。在一个实例中,此三维体积对应于传感器可在其中收集数据的区。
在一个实例中,光达传感器在环绕自主车辆的全部或一部分的三维空间中收集数据。所述三维空间可分成各个三维区。可(例如,基于所存储的位置111)选择这些区中的第一区来针对给定数据帧和/或在给定时间段内进行数据收集。
图4示出根据一个实施例的扫描窗407在图像帧201中的与对象检测相关联的各个位置的实例。扫描窗407的每一位置由图像帧201中的一对X和Y坐标(X,Y)指示。扫描窗407在图像帧201内递增。当检测到一或多个对象时,将扫描窗407的位置存储于存储器中。举例来说,这些所存储的位置包含(X1,Y1)、(X2,Y2)、(X3,Y3)和(X4,Y4)。
在一个实施例中,在从201的图像扫描完成之后,基于上述的所存储的位置确定图像帧201的第一区域。通过界定图像帧201内的竖直位置和水平位置来确定第一区域(例如,区A)的边界。这些边界是基于上述所存储的位置而确定的。
第一区域的边界包含上边界402、下边界404、左侧边界405和右侧边界403。通过取存储于存储器中的所有竖直Y轴位置的最大值(例如,Y1)来确定上边界402的竖直位置。通过取存储器中的所有竖直Y轴位置的最小值(例如,Y3),并且接着减去扫描窗的大小401来确定下边界404的竖直位置。
通过取存储于存储器中的所有水平X轴位置的最小值(例如,X2)来确定左侧边界405的水平位置。通过取存储于存储器中的所有水平X轴位置的最大值(例如,X4),并且接着加上扫描窗的大小409来确定右侧边界403的水平位置。
在一个实施例中,如上文所描述针对由传感器收集的图像数据的每一帧确定在其中开始扫描的第一区域。在一个实施例中,存储于存储器中的扫描窗的位置的数目限于预定最大值。用于扫描的第一区域的确定可基于所有所存储的位置或可基于所存储的位置的小于预定最大值存储的子集。在一个实例中,存储器是循环存储器,在其中当存储于存储器中的位置的数目达到预定最大值时,所存储的位置中的一最旧个替换为扫描窗的新位置。
在一个实施例中,对象检测包含使用受监督或无监督学习中的至少一个训练计算机模型,并且使用计算机模型分析视频数据。在一个实例中,计算机模型包含神经网络。在一个实例中,计算机模型是计算机模型115。在一个实例中,视频数据是由传感器103收集。
在一个实施例中,在图像帧105内使用扫描窗进行对象检测可包含使用机器学习技术(例如,计算机模型,例如经训练神经网络)检测在由相机收集的视频数据中识别的对象。
在一个实施例中,对象检测可另外包含将从视频数据提取的视频特征输入到计算机模型中。举例来说,可在分析上述视频数据之前收集用于训练计算机模型的视频数据。在一个实例中,计算机模型可为一或多个人工神经网络。举例来说,神经网络可基于由传感器装置收集的视频数据经训练。
在一个实施例中,对象检测可另外包含基于所提取的视频数据特征确定来自计算机模型的输出。举例来说,来自计算机模型的输出可基于使用从所收集的视频数据确定的情境调整的输出。
在一个实施例中,处理器107可包含用于信息的本地处理且无需服务器或后端计算装置的功能性。在一些实施例中,处理器107包含音频分析模块、视频分析模块和配置设置,以及其它专用软件单元。这些模块中的每一个可作为指令和/或数据存储于存储器装置上,例如存储器109(例如,EEPROM和/或其它非易失性存储器)。用以实例化这些模块的特定配置和软件可为可修改和可更新的(例如,可经由从远程计算装置进行更新)。
配置设置也可表示特定配置、参数、加权,或定量模型、分类器、机器学习算法等的其它设置。作为一个实例,支持向量机(SVM)可表示为超平面,其将向量空间的两个区划分成两个相应分类。定义超平面的系数可包含于配置设置内。作为另一实例,人工神经网络(ANN)可包括一组互连节点,在每一节点连接之间具有比重。这些连接权重也可包含于配置设置内。
处理器107可执行用于检测特定音频事件或视频帧(例如,图1的图像帧105内的视频帧)内的特定对象的方法。在一些实施方案中,处理器107和/或其它计算装置包含在车辆101上局部执行的分类器或机器学习算法。分类器或机器学习算法的参数或加权(即配置设置)可经更新(例如,经由通信模块从计算装置接收)。因此,配置设置可包含启用或改进音频分析模块和视频分析模块以执行特定任务的参数、系数或加权。
在一些情况下,包含处理器107和/或存储器109的计算系统的各种实施例可在其上包含指令,所述指令在执行时实施计算机视觉和/或图像或视频分析功能。替代地或另外,计算装置(例如,包含处理器107的装置)可包含与处理器通信以执行计算机视觉功能的方面,例如对象辨识、图像或视频压缩和/或面部检测以及其它功能的一或多个集成电路。
如本文所描述,计算机视觉包含例如用于获取、处理、分析和理解图像并且一般来说,来自现实世界的高维数据以便产生例如呈决策形式的数字或符号信息的方法。图像数据可呈多种形式,例如视频序列、从多个相机的视图,或来自扫描仪的多维数据。
计算机视觉的一个方面包括确定图像数据是否含有一些特定对象、特征或活动。不同变种的计算机视觉辨识包含:对象辨识(也被称为对象分类),可辨识一个或数个预先指定或学习的对象或对象类别,通常连同其在图像中的2D位置或在场景中的3D姿势。识别,辨识对象的个别例子。实例包含识别特定对象、识别风景或结构和/或识别特定车辆类型。检测,针对特定条件扫描图像数据。实例包含在道路自动收费系统中检测车辆。基于相对简单且快速的计算的检测有时用于找到受关注图像数据的较小区,可通过在计算上具有更高要求的技术进一步分析所述较小区以产生正确解释。
在以下段落中描述多个计算机视觉系统中发现的典型功能和组件(例如,硬件)。本发明的实施例可包含这些方面中的至少一些。举例来说,参考图1,车辆101的实施例可包含计算机视觉模块。计算机视觉模块可包含本文中参照计算机视觉所描述的组件(例如,硬件)和/或功能性中的任一个,包含但不限于一或多个相机、传感器和/或处理器。在本发明的实施例中的一些中,麦克风、相机和/或成像处理器可为计算机视觉模块的组件。
图像获取,通过一个或数个图像传感器产生数字图像,除各种类型的光敏相机以外,所述图像传感器还可包含测距传感器、X线断层摄影装置、雷达、超声波相机等。取决于传感器的类型,所得的图像数据可为2D图像、3D体积或图像序列。像素值可对应于一个或数个光谱带(灰色图像或彩色图像)中的光强度,但也可与例如深度、声波或电磁波的吸收率或反射率或核磁共振等各个物理度量相关。
预处理,在计算机视觉方法可应用于图像数据以便提取一些特定信息片段之前,通常有利的是处理所述数据以便确保其满足所述方法暗示的特定假设。预处理的实例包含但不限于重新取样以便确保图像坐标系是正确的、降噪以便确保传感器噪声不引入虚假信息、对比度增强以确保可检测到相关信息,以及尺度空间表示以增强局部适当尺度处的图像结构。
特征提取,从图像数据提取各种复杂程度的图像特征。这类特征的典型实例:线、边缘和脊线;局部化的兴趣点,例如拐角、象点或点;更复杂的特征可与纹理、形状或运动相关。
检测/细分,在处理的某一点处,可做出关于图像的哪些图像点或区相关的决策以便进一步处理。实例是:选择受关注点的特定集合;将含有特定关注对象的一个或多个图像区细分;以图像细分成包括前景、对象群组、单个对象或突出的对象部分(还被称作按空间分类的场景层次结构)嵌套式场景架构。
高层级处理,在此步骤处,输入可为小数据集,例如假设含有特定对象的一组点或图像区。剩余的处理可包括例如:验证所述数据满足基于模型的专用假设;估计专用参数,例如对象姿势或对象大小;图像辨识,对检测到的对象分类成不同类别;图像配准,将同一对象的两个不同的视图进行比较和组合。
做出决策,做出应用所需的最后决策,例如辨识应用中的匹配/不匹配。
在一个实例中,决策是已检测到对象。在此情况下,图像帧(例如,图像帧105)中的扫描窗的位置存储于存储器中。
本发明的实施例中的一或多个可包含视觉处理单元(其可为计算机视觉模块的组件)。在一个实例中,视觉处理单元是一类微处理器;其是特定类型的人工智能(AI)加速器,其被设计成加速机器视觉任务。视觉处理单元在其对于正在运行的机器视觉算法(例如卷积神经网络、SIFT、等)的适用性上不同于视频处理单元(其专门用于视频编码和解码)。视觉处理单元可包含从相机(绕过任何芯片外缓冲器)取得数据的直接接口,并且可更着重于具有中间结果暂时存储器(scratchpad memory)的多个并行执行单元(如多核心数字信号处理器(DSP)之间的芯片上数据流。但与视频处理单元一样,视觉处理单元可具有集中于低精度固定点算术用于图像处理。
在一个实施例中,辨识算法可分成两个主要方法:几何方法,其着眼于将特征区分开;或光度方法,其为将图像提取成值并将所述值与模板进行比较以消除方差的数据统计法。
一些辨识算法包含使用特征脸(eigenface)的主分量分析、线性判别分析、使用费舍脸(Fisherface)算法的弹性约束图匹配、隐式马尔可夫模型、使用张量表示的多线性子空间学习,以及神经元激励的动态链路匹配。
另外或替代地,计算装置(例如,车辆101的装置)也可将所捕获的音频/视频经由网络发射到计算装置,例如后端服务器以用于对其进行后续处理。在一些情况下,这类后端服务器可进行音频、图像和/或视频分析以确定某一对象或事件的存在或不存在。如果进行检测,那么后端服务器接着可将消息发射到计算装置、客户端装置和/或其它装置。在一些情况下,发射的音频/视频可存储于存储装置中(例如,存储于数据库中),以充当出于产生和/或改进分类器或机器学习工具的目的的训练数据。
计算装置(例如,图1的车辆101)可包括促进相机的操作的组件。举例来说,成像器可包括视频录像传感器和/或相机芯片。在本公开的一个方面中,成像器可包括互补金属氧化物半导体(CMOS)阵列,表情可能能够录制高清(例如,720p、2120p等)视频文件。
相机处理器可包括编码和压缩芯片。在一些实施例中,相机处理器可包括桥式处理器。相机处理器可处理成像器所录制的视频,表情可将此数据变换成适用于通过通信模块无线传递到网络的形式。相机存储器可包括可当数据正在被相机处理器缓冲或编码时所使用的易失性存储器。举例来说,在某些实施例中,相机存储器可包括同步动态随机存取存储器(SD RAM)。红外线LED可包括能够辐射红外光的发光二极管。红外线滤波器可包括当被触发时将成像器配置成相较于可见光主要看见红外光的系统。当光传感器时检测到低环境光照水平(其可包括阻碍成像器在可见光谱中的性能的光照水平),红外线LED可将红外光照射到环境中,且红外线滤波器可使得成像器能够看见此红外光,此红外光是从传感器的视场内的对象反射或折射出的。此过程可为计算装置提供夜视功能。
可使用包含以下各项的计算装置(例如,车辆101)实施关于确定用于图像数据扫描的图像帧区域的各种实施例:处理器(例如,处理器107)、存储器(例如,存储器109)、显示器、通信模块、输入装置、扬声器、麦克风、连接器、电池和数据端口。这些组件通过互连总线以通信方式耦合在一起。处理器可包含用于智能手机和/或便携式计算装置中的任何处理器,例如ARM处理器(基于由高级RISC机器(ARM))开发的精简指令集计算机(RISC)架构的处理器。在一些实施例中,处理器可包含一或多个其它处理器,例如一或多个常规微处理器,和/或一或多个补充性协同处理器,例如数学协同处理器。
存储器可包含操作存储器,例如随机存取存储器(RAM),以及数据存储装置,例如只读存储器(ROM)、硬盘驱动器、快闪存储器或任何其它合适的存储器/存储元件。存储器可包含可拆卸式存储器元件,例如小型闪存卡、多媒体卡(MMC)和/或安全数字(SD)卡。在一些实施例中,存储器可包括磁性、光学和/或半导体存储器的组合,并且可包含例如RAM、ROM、闪存驱动器和/或硬盘或驱动器。处理器和存储器各自可例如整体位于单个装置内,或可通过通信媒体彼此连接,所述通信媒体例如USB端口、串口线、同轴电缆、以太网类型的电缆、电话线、射频收发器,或其它类似无线或有线媒体或上述的组合。举例来说,处理器可经由数据端口连接到存储器。
显示器可包含适用于智能电话和/或便携式计算装置的任何用户接口或呈现元件,例如小键盘、显示屏、触摸屏、麦克风和扬声器。通信模块被配置成处置计算装置和其它外部装置(例如,服务器)或接收器之间的通信链路,并且被配置成适当地路由传入/呼出数据。举例来说,从数据端口流入的数据可通过通信模块路由,之后被引导到处理器,且从处理器流出的数据可通过通信模块路由,之后被引导到数据端口。通信模块可包含能够发射和接收数据,并且例如使用例如GSM、UMTS(3GSM)、IS-95(CDMA 1)、IS-2000(CDMA 2000)、LTE、FDMA、TDMA、W-CDMA、CDMA、OFDMA、Wi-Fi、WiMAX或任何其它协议和/或技术的一或多种协议和/或技术的一或多个收发器模块。
数据端口可以是用于与智能电话和/或便携式计算装置物理介接的任何类型的连接器,例如微型USB或USB-C端口或30引脚连接器或连接器。在其它实施例中,数据端口可包含用于与例如其它处理器、服务器和/或客户端终端同时通信的多个通信信道。
存储器可存储用于与例如计算机的其它系统通信的指令。存储器可例如存储适于根据本发明的实施例指导处理器的程序(例如,计算机程序代码)。所述指令还可包含程序元件,例如操作系统。虽然程序中的指令序列的执行致使处理器执行本文中所描述的过程步骤,但硬接线电路可代替或结合软件/固件指令用于实施本发明的实施例的过程。因此,本发明的实施例不限于硬件和软件的任何特定组合。
输入装置可包含接收用户输入和/或促进接收到的输入的解释的硬件和/或软件的任何组合。输入装置可为硬件(例如,物理按钮和开关)、软件(例如,虚拟按钮、滑块等),或其某一组合(例如,用于模拟按钮点击的软件控制的触觉反馈)。在一些情况下,输入装置包含触摸屏或触摸式数字化器。输入装置可包含虚拟键盘或者还包含其它虚拟输入元件。
扬声器可包含扬声器或其它发声装置的任何组合。扬声器可为可操作的以产生多种声音,例如来自实况视频的音频、通知或警报声音,或其它可听见的声音。
麦克风可包含将压力波转换成电信号的换能器的任何组合。麦克风可捕获在一些情况下可发射到单独计算装置或服务器的音频。所述发射的音频接着可转送到另一计算装置。
天线可使得计算装置能够进行无线通信。举例来说,天线准许计算装置在蜂窝式网络上,经由一或多个通信标准(例如,GSM、CDMA、LTE等)通信。天线可允许计算装置在其它无线协议(例如Wi-Fi或蓝牙,以及其它无线协议)上通信。取决于特定实施方案,天线可包含多个天线。
图5说明根据一个实施例的包含提供数据到中心处理装置618的传感器模块612的自主车辆610。中心处理装置618是图1的处理器107的实例。
每一传感器模块612、614将对象数据提供到中心处理装置618。一或多个其它传感器616将传感器数据提供到中心处理装置618。在一个实施例中,传感器616提供原始传感器数据和/或对象数据。
中心处理装置618将从传感器模块612、614中的每一个接收的对象数据进行比较。在一个实例中,所述比较是基于在传感器模块612和传感器模块614的视场中检测到单个对象。在一个实例中,所述比较是基于基于数个事件确定的相关性,其中每一事件与不同对象的检测相关。中心处理装置618使用对象数据的比较确定来自传感器模块612的对象数据是否对应于对象。
响应于检测到对象,中心处理装置618将信号发送到主机处理装置620。所述信号指示已经识别对象。
在一个实施例中,主机处理装置620响应于接收到指示对象检测的信号而执行一或多个动作。在各种实施例中,主机处理装置620将控制信号发送到一或多个车辆系统622以改变自主车辆610的一或多个方面的操作。在一个实例中,改变导航、刹车控制和/或引擎控制。在另一实例中,更新一或多个车辆系统622的配置。在一个实例中,更新用于车辆系统622中的一个的固件。在一个实例中,使用无线通信从中央服务器下载固件的至少一部分。
在一个实施例中,传感器616提供数据到中心处理装置618以用于确定自主车辆610的操作的情境。举例来说,传感器616可提供指示车辆目前是在白天还是在夜间操作的数据。这提供可供中心处理装置618在分析图像数据以检测对象时使用的情境数据。
在一个实例中,中心处理装置618是芯片上系统(SOC)、现场可编程门阵列(FPGA)、CPU或图形处理单元(GPU)。在一个实例中,中心处理装置618将运行时间数据存储于易失性存储器装置(例如,DRAM装置)中。在一个实例中,中心处理装置618可包含实施本文所描述的各种实施例的至少一部分的逻辑电路。
在一个实例中,主机处理装置620是芯片上系统(SOC)、现场可编程门阵列(FPGA)、CPU或图形处理单元(GPU)。在一个实例中,主机处理装置620将数据存储于易失性存储器装置中。举例来说,所存储的数据是从车辆系统622接收。举例来说,主机处理装置620可为处理器的处理核心、执行单元等。
在一个实例中,中心处理装置618和/或主机处理装置620可包含例如以下各项的硬件:一或多个集成电路和/或离散组件、缓冲存储器、高速缓冲存储器或其组合。主机或中心处理装置可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或另一适当的处理器。
在一个实例中,每一传感器模块612、614是相机。每一相机共享共同视场。预期在正常操作期间,相机将在大部分时间检测相同对象。
图6说明根据一个实施例的包含提供原始数据到处理器626的传感器624的传感器模块612。处理器626是图1的处理器107的实例。
在一个实例中,传感器模块614与传感器模块612相同或类似。在另一实例中,传感器616类似于传感器模块612。在一个实例中,传感器624是相机。在另一实例中,传感器624是雷达或光达传感器。处理器626是例如微处理器、GPU和/或FPGA。
处理器626执行用于评估来自传感器624的原始数据的一或多个过程。处理器626提供对象数据作为来自此处理的结果。所述对象数据发射到中心处理装置。对象数据包含例如位置数据和/或对象类型数据。也可包含表征所检测到的对象的其它元数据。
处理器626在操作期间存取存储器628。存储器628是例如易失性存储器和/或非易失性存储器。
存储器628包含对象数据库630。数据库630包含对象类型库。当提供来自评估来自传感器624的原始数据的结果时,处理器626可从所述库检索预定对象类型。
在一个实施例中,神经网络632存储于存储器628中。神经网络632可用以当处理器626正在评估来自传感器624的原始数据时,将一或多个输入提供到处理器626。在一个实施例中,神经网络632从传感器616接收输入以作为来自神经网络632的输出用于确定用于自主车辆610的操作情境。所述输出提供给处理器626以供在评估来自传感器624的原始数据时使用。
图7说明根据一个实施例的存储从车辆7111接收的事件数据的服务器7101。车辆7111是图1的车辆101的实例。
在一个实例中,所述事件数据对应于通过中心处理装置(例如,车辆7111的使用扫描窗扫描传感器的图像帧以检测对象的CPU和/或传感器模块)对车辆7111的一或多个传感器模块已检测到对象的确定。举例来说,车辆7111可使用将对象数据发送到中心处理装置的传感器模块检测对象7155。
在一个实例中,事件数据7160可包含传感器数据7103(例如,从车辆7111的传感器模块获得)、方位数据7163(例如,当检测到对象时的车辆7111的位置)、与紧急制动系统的激活相关的数据,和/或来自人工神经网络的数据输出。在操作期间,车辆7111收集关于检测到的对象(例如对象7155和对象7157)的数据。
在一个实施例中,事件数据7160是从车辆7111的非易失性存储器提取并且通过无线通信网络7102传送到服务器7101。服务器7101分析事件数据7160(例如,以对图像数据进行进一步的处理,从而支持车辆7111进行的对象检测)。在一个实例中,服务器7101选择将下载的事件数据7160的类型(例如传感器数据或控制系统状态)来进行分析。无线通信网络7102的一个实例是蜂窝电话网络。
分析通过服务器7101从车辆7111接收的所收集事件数据。举例来说,此分析可包含图案辨识或其它数据分析(例如,确定事件数据与其它数据的相关性)。
响应于确定或识别对象检测(例如,通过服务器7101和/或车辆7111),执行至少一个动作。举例来说,服务器7101可将通信发射到车辆7111以致使车辆重新配置软件(例如,以改变执行图像分析的神经网络的配置设置)。
在一个实例中,车辆可经由到接入点(或基站)7105的无线连接7115,与服务器7101通信以提交事件数据。可经由无线局域网、蜂窝式通信网络和/或通信链路7107无线连接7115到卫星7109或通信气球。
任选地,车辆7111具有自学习能力。在道路上达延长的时段之后,车辆7111可将其软件进行重新配置。在一个实例中,集中式服务器7101可由车辆7111的工厂、生产商或制造商或用于车辆7111的自主驾驶和/或高级驾驶辅助系统的供应商操作。
图8说明根据一个实施例的包含传感器模块137并且被配置成使用人工神经网络(ANN)模型(例如,图1的计算机模型115)的车辆7111的实例。传感器模块137提供对象数据到计算机131。计算机131包含执行中心处理装置的角色的处理器和/或软件处理器(例如,图1的处理器107)。
在一个实例中,对象数据是对应于图1的图像帧105的所收集的数据。在一个实例中,传感器模块可处理所述所收集的数据以做出初始对象检测决策,计算机131将确认或驳斥所述初始对象检测决策。
车辆7111包含信息娱乐系统149、通信装置139和一或多个传感器模块137。计算机131连接到车辆7111的一些控件,例如用于指引车辆7111的转向控制141、用于停止车辆7111的刹车控制143、用于车辆7111的速度的加速度控制145等。
车辆7111的计算机131包含一或多个处理器133、存储固件(或软件)127、ANN模型119和其它数据129的存储器135。
在一个实例中,作为对响应于对象检测(例如,在车辆7111处理初始对象检测之后从车辆7111接收并且通过服务器7101确认的初始对象检测决策)而从服务器7101发送的通信的响应,通过空中更新来更新固件127。替代地和/或另外,可更新车辆7111的各个计算装置或系统的其它固件。
一或多个传感器模块137可包含可见光相机、红外相机、光达、雷达或声纳系统,和/或外围传感器,其被配置成将传感器输入提供到计算机131。在处理器133中执行的固件(或软件)127的模块将传感器输入应用到由模型119定义的ANN,以产生识别或分类在传感器输入(例如图像或视频剪辑)中所捕获的事件或对象的输出。来自此识别和/或分类的数据可包含在由存储器装置(例如,非易失性存储器装置)收集并且如上文所论述从车辆7111发送到服务器7101的的数据中。
替代地和/或另外,固件(或软件)127的自主驾驶模块可使用对象检测(例如,通过服务器和/或车辆进行的对象检测)来产生响应。所述响应可为激活和/或调整车辆控件141、143和145中的一个的命令。在一个实施例中,所述响应是由车辆执行的动作,其中所述动作已基于来自服务器7101的更新命令(例如,服务器7101可响应于基于事件数据分析的对象检测而产生所述更新命令)经配置。在一个实施例中,在产生控制响应之前,车辆经配置。在一个实施例中,通过更新车辆7111的固件执行车辆的配置。在一个实施例中,车辆的配置包含存储于车辆7111中的计算机模型(例如,ANN模型119)的更新。
在一个实施例中,服务器7101存储接收到的传感器输入以作为用于后续使用受监督训练模块进一步训练或更新ANN模型119的传感器数据的部分。当ANN模型119的经更新版本在服务器7101中可用时,车辆7111可使用通信装置139下载经更新ANN模型119以用于安装于存储器135中和/或用于替换先前安装的ANN模型119。可响应于确定车辆7111未能恰当地检测到对象和/或响应于识别到不安全软件而执行这些动作。
在一个实例中,ANN模型119的输出可用以在自主驾驶期间控制(例如,141、143、145)车辆(例如,7111)的加速度、车辆111的速度和/或车辆7111的方向。
在一个实例中,从车辆的传感器获得的数据可为使用如下各项捕获对象的图像:使用对人眼可见的光成像的相机,或使用红外光成像的相机,或声纳、雷达或光达系统。在一个实施例中,从车辆的至少一个传感器获得的图像数据是来自车辆的被分析的所收集数据的部分。在一些情况下,ANN模型基于传感器和其它收集到的数据被配置成用于特定车辆。
在图9中,计算装置8201包含互连件8202(例如,总线和系统核心逻辑),其使微处理器8203和存储器8208互连接。在图9的实例中,微处理器8203耦合到高速缓冲存储器8204。
互连件8202将微处理器8203和存储器8208互连在一起,并且还通过输入/输出控制器8206将它们互连到显示控制器和显示装置8207以及外围装置,例如输入/输出(I/O)装置8205。典型的I/O装置包含鼠标、键盘、调制解调器、网络接口、打印机、扫描仪、摄像机和本领域众所周知的其它装置。
互连件8202可以包含通过各种桥、控制器和/或适配器彼此连接的一或多个总线。在一个实施例中,I/O控制器8206包含用于控制通用串行总线(USB)外围设备的USB适配器,和/或用于控制IEEE-1394外围设备的IEEE-1394总线适配器。
存储器8208可以包含只读存储器(ROM)、易失性随机存取存储器(RAM)和非易失性存储器,例如硬盘驱动器、快闪存储器等。
易失性RAM通常被实现为动态RAM(DRAM),动态RAM需要不断供电以刷新或维护存储器中的数据。非易失性存储器通常是固态驱动器、磁性硬盘驱动器、磁性光盘驱动器或光盘驱动器(例如DVD RAM),或即使在从系统移除电力之后也维护数据的其它类型的存储器系统。非易失性存储器也可为随机存取存储器。
非易失性存储器可以是直接耦合到计算装置中的剩余组件的本地装置。也可以使用远离计算装置的非易失性存储器,例如通过网络接口(例如,调制解调器或以太网接口)耦合到计算装置的网络存储装置。
在一个实施例中,如图9中所说明的计算装置用以实施包含处理器107、传感器模块612、服务器7101、中心处理装置618和/或主机处理装置620的计算装置。
在另一实施例中,使用如图9所示的计算装置来实施在其上安装或正在安装应用程序的用户终端或移动装置。用户终端可以是例如手提式计算机或笔记本式计算机或个人台式计算机的形式。
在一些实施例中,可以用多个数据处理系统的对等网络或分布式计算系统的网络的服务来替换一或多个服务器。对等网络或分布式计算系统可以统称为计算装置。
可经由微处理器8203和/或存储器8208实施本公开的实施例。举例来说,可经由微处理器8203中的硬件逻辑和部分地使用存储于存储器8208中的指令部分地实施所描述的功能性。使用微处理器8203在无需存储于存储器8208中的额外指令的情况下实施一些实施例。使用存储于存储器8208中以由一或多个通用微处理器8203执行的指令来实施一些实施例。因此,本公开不限于硬件和/或软件的特定配置。
图10示出根据一个实施例的计算装置(例如,用户的移动装置或用户终端)的框图。在图10中,计算装置包含互连件9221,其连接演示装置9229、用户输入装置9231、处理器9233、存储器9227、位置识别单元9225和通信装置9223。
在图10中,位置识别单元9225用于识别地理方位。位置识别单元9225可以包含卫星定位系统接收器,例如全球定位系统(GPS)接收器,以自动识别计算装置的当前位置。
在图10中,通信装置9223被配置成与服务器通信以提供数据,包含参数数据。在一个实施例中,用户输入装置9231被配置成接收或产生用户数据或内容。用户输入装置9231可以包含文本输入装置、静止图像相机、摄像机和/或录音机等。
图11示出根据一个实施例的用于确定图像帧的用于扫描图像数据的区域的方法。举例来说,图11的方法可实施于图1和5-8的系统中。
图11的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。
在一些实施例中,图11的方法至少部分地由一或多个处理器(例如,图1的处理器107)执行。在一些实施例中,通过系统使用图9或10的处理器和存储器实施所述方法。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。
在框1101处,将传感器的图像帧内的位置存储于存储器中。所述位置中的每一个与基于由传感器收集的数据进行的对象检测对应。在一个实例中,所述图像帧是图像帧105且所述传感器是传感器103。所存储的位置中的每一个对应于当在所述位置处检测到一或多个对象时扫描窗407的位置。
在框1103处,确定图像帧的第一区域。所确定的第一区域将用以针对后续图像开始对由传感器收集的数据的扫描。第一区域是基于所存储的位置确定的。在一个实例中,所确定的第一区域是图3的区A,其具有如图4中所示的边界402、403、404、405。所存储的位置是扫描窗位置111。
在框1105处,扫描所确定的第一区域以检测一或多个对象。在一个实例中,通过使图像帧201的第一区域内的扫描窗递增来扫描第一区域。
在框1107处,在扫描第一区域之后,扫描图像帧的一或多个其它区域。在一个实例中,其它区域是如图3中所示的区B、C、D和/或E。
在一个实施例中,一种方法包括:将图像帧内的位置(例如,扫描窗位置111)存储于存储器中,每一位置对应于对象检测;确定所述图像帧的第一区域(例如,图3的区A),其中所述确定是基于所述所存储的位置;在所述第一区域内进行扫描以检测至少一个对象(例如,在递增的位置203、205、207处进行扫描);和在所述第一区域内进行扫描之后,在所述图像帧的至少一个其它区域内进行扫描。
在一个实施例中,在所述第一区域内进行扫描包括通过使扫描窗在所述第一区域内的位置递增来进行扫描,且所述方法另外包括确定在所述扫描窗的每一递增位置处是否检测到对象。
在一个实施例中,所述所存储的位置(X,Y)中的每一个包含第一轴线(例如,Y轴)和第二轴线(例如,X轴)上的一对相应位置,且确定所述第一区域包括使用所述所存储的位置,确定所述第一轴线上的最大位置,以及所述第二轴线上的最小位置。
在一个实施例中,所述第一轴线是竖直轴线,且所述第二轴线是水平轴线。
在一个实施例中,所述图像帧是由安装到自主车辆的相机收集的图像数据的帧,且所述相机被配置成提供用于控制所述车辆的的导航的数据。
在一个实施例中,在所述第一区域内进行扫描包含通过使扫描窗的位置递增进行扫描,并且在所述扫描窗在所述图像帧中的第一位置处检测第一对象。
在一个实施例中,使用从一或多个先前图像收集的数据来确定所述所存储的位置,且在所述第一区域内的扫描使用从当前图像收集的数据。
在一个实施例中,确定所述第一区域包括使用与所述所存储的位置对应的竖直位置和水平位置来确定所述第一区域的边界。
在一个实施例中,所述边界包括上边界和侧边界,所述上边界是基于所述竖直位置的最大值确定的,且所述侧边界是基于所述水平位置的最小值确定的。
在一个实施例中,在所述第一区域内的扫描包含使用具有一竖直大小的扫描窗进行扫描,所述边界另外包括下边界,且所述下边界是基于所述竖直位置的最小值减去所述扫描窗的所述竖直大小而确定的。
在一个实施例中,响应于与扫描窗相关联的对象检测而存储每一位置,且所述所存储的位置是当所述对象检测发生时所述扫描窗的当前位置。
在一个实施例中,存储于所述存储器中的所述位置的数目限于预定最大值(例如,1,000个X、Y坐标对),且确定所述图像帧的所述第一区域是基于等于或小于所述预定最大值的所述所存储的位置的数目。
在一个实施例中,所述方法另外包括当存储于所述存储器中的所述位置数目达到所述预定最大值时,将所述所存储的位置中的一个替换为所述扫描窗的新位置。
在一个实施例中,在预定时间段内,所述至少一个其它区域与小于和所述第一区域相关联的对象检测总数目的对象检测总数目相关联。在一个实例中,所述时间段是五秒。第一区域即区A中的对象检测的总数目是五个,且在同一时间段期间,图像帧的所有其它区域中的对象检测的总数目是三个。选择区A以在数据的下一图像帧中进行初始扫描。
在一个实施例中,一种系统包括:至少一个处理装置;和含有指令的存储器,所述指令被配置成指示所述至少一个处理装置进行以下操作:存储传感器的图像帧内的位置,每一位置对应于基于由所述传感器收集的数据进行的对象检测;选择所述图像帧的多个区域中的第一区域,其中所述第一区域是使用所述所存储的位置并且基于与所述区域中的每一个相关联的对象检测活动性水平被选择的;和针对当前图像扫描在所述第一区域内收集的数据,所述扫描是为了检测所述第一区域内的至少一个对象。
在一个实施例中,所述第一区域具有大于每一所述其它区域的相应对象检测活动性水平的对象检测活动性水平。
在一个实施例中,所述所存储的位置对应于针对至少一个先前图像收集的数据。
在一个实施例中,扫描所述数据包括使用计算机模型,分析在所述第一区域内收集的所述数据的至少一部分。
在一个实施例中,所述计算机模型包括神经网络。
在一个实施例中,一种存储指令的非暂时性计算机存储媒体,所述指令当在至少一个处理装置上执行时致使所述至少一个处理装置至少进行以下操作:存储与通过传感器(例如,光达传感器)进行的数据收集对应的位置,每一位置与对象检测相关联,且所述传感器被配置成从多个区域收集数据;选择所述多个区中的第一区,其中所述第一区是基于所述所存储位置被选择的;和扫描在所述第一区内收集的数据,所述扫描为了是检测所述第一区内的至少一个对象。
结束语
本公开包含执行上述方法并实现上述系统的各种装置,包含执行这些方法的数据处理系统,以及含有指令的计算机可读媒体,所述指令当在数据处理系统上执行时使得系统执行这些方法。
描述和图式是说明性的且不应理解为限制性。描述许多特定细节为提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本公开中对一个或一实施例的提及未必是指同一实施例;且此类提及意指至少一个。
在本说明书中对“一个实施例”或“一实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。本说明书中各个位置中的词组“在一个实施例中”的出现未必完全是指相同实施例,也未必是与其它实施例相互排斥的单独或替代实施例。此外,描述了可以由一些实施例而不是由其它实施例展示的各种特征。类似地,描述了各种要求,这些要求可能是一些实施例的要求而不是其它实施例的要求。
如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
在此描述中,各种功能和操作可被描述为由软件代码执行或由软件代码引起以简化描述。然而,所属领域的技术人员将认识到,这类表达的意思是所述功能由一或多个处理器执行代码所引起,所述处理器例如微处理器、专用集成电路(ASIC)、图形处理器和/或现场可编程门阵列(FPGA)。替代地,或以组合方式,可使用具有或不具有软件指令的专用电路(例如,逻辑电路)实施所述功能和操作。可使用并无软件指令的硬连线电路或结合软件指令实施实施例。因此,所述技术既不限于硬件电路和软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。
尽管一些实施例可以在功能全面的计算机和计算机系统中实现,但是各种实施例能够分布为多种形式的计算产品,且能够不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都适用。
所公开的至少一些方面可至少部分体现于软件中。即,可在计算装置或其它系统中响应于其处理器(例如微处理器)执行存储器(例如ROM、易失性RAM、非易失性存储器、高速缓存器或远程存储装置)中所含的指令序列而进行所述技术。
经执行以实施实施例的例程可实施为操作系统、中间件、业务交付平台、软件开发工具包(SDK)组件、网络服务或其它被称为“计算机程序”的特定应用程序、组件、程序、对象、模块或指令序列的部分。这些例程的调用接口可作为应用程序编程接口(API)暴露给软件开发社区。计算机程序通常在计算机中的各个存储器和存储装置中的各个时间处包括一或多个指令集,且所述指令集当被计算机中的一或多个处理器读取和执行时致使所述计算机执行为进行涉及各个方面的元素所必需的操作。
机器可读媒体可用以存储软件和数据,所述软件和数据当由计算装置执行时致使所述装置执行各种方法。可执行软件和数据可存储于包含例如ROM、易失性RAM、非易失性存储器和/或高速缓冲存储器的各处。此软件和/或数据的部分可以存储在这些存储装置中的任一个中。此外,数据和指令可从集中式服务器或对等网络获得。数据和指令的不同部分可在不同时间处和在不同通信会话或相同通信会话中从不同集中式服务器和/或对等网络获得。可在执行应用程序之前获得全部数据及指令。或者,可动态地、及时地在需要执行时获得数据和指令的部分。因此,并不要求数据和指令在特定时刻全部在机器可读媒体上。
计算机可读媒体的实例包含但不限于可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、固态驱动器存储媒体、可移动磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CDROM)、数字多功能磁盘(DVD)等)。计算机可读媒体可存储指令。
一般来说,有形或非暂时性机器可读媒体包含以机器(例如,计算机、移动装置、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)可存取的形式提供(例如,存储)信息的任何机制。
在各种实施例中,硬接线电路可与软件指令组合使用以实施技术。因此,所述技术既不受限于硬件电路和软件的任何特定组合,也不受限于由计算装置执行的指令的任何特定来源。
虽然图式中的一些以特定次序说明数个操作,但可将非次序相依性操作重新排序并且可组合或分解其它操作。虽然具体提及了一些重新排序或其它分组,但是其它重新排序或分组对于所属领域的技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,所述阶段可用硬件、固件、软件或其任何组合来实施。
在前述说明书中,已参考本发明的具体示范性实施例描述了本发明。将显而易见的是,可在不脱离如所附权利要求书中阐述的更广精神和范围的情况下进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
可使用多种不同类型的计算装置实施本文中阐述的各种实施例。如本文中所使用,“计算装置”的实例包含但不限于服务器、集中式计算平台、多个计算处理器和/或组件的系统、移动装置、用户终端、车辆、个人通信装置、可佩戴数字装置、电子自助服务终端、通用计算机、电子文档阅读器、平板计算机、手提式计算机、智能电话、数码相机、住宅家庭设备、电视或数字音乐播放器。计算装置的额外实例包含是被称为“物联网(IOT)”的部分的装置。这类“事物”可与其拥有者或管理员偶然交互,所述拥有者或管理员可监控所述事物或修改这些事物上的设置。在一些情况下,这类拥有者或管理员扮演关于“事物”装置的用户的角色。在一些实例中,用户的主要移动装置(例如,苹果iPhone(Apple iPhone))可为关于用户佩戴的经配对“事物”装置(例如,苹果手表(Apple watch))的管理服务器。
在一些实施例中,计算装置可为主机系统,其例如实施为台式计算机、手提式计算机、网络服务器、移动装置,或其它包含存储器和处理装置的计算装置。主机系统可包含或耦合到存储器子系统,使得主机系统可从存储器子系统读取数据或将数据写入到存储器子系统。主机系统可经由物理主机接口耦合到存储器子系统。
物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双数据速率(DDR)存储器总线等。物理主机接口可用于在主机系统与存储器子系统之间发射数据。当存储器子系统通过PCIe接口与主机系统耦合时,主机系统还可利用NVM高速(NVMe)接口来存取存储器子系统的存储器组件。物理主机接口可提供用于在存储器子系统与主机系统之间传送控制、地址、数据和其它信号的接口。一般来说,主机系统可经由相同通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
在一个实施例中,主机系统包含处理装置和控制器。举例来说,主机系统的处理装置可为微处理器、图形处理单元、中央处理单元(CPU)、FPGA、处理器的处理核心、执行单元等。在一个实例中,处理装置可为组合FPGA和微处理器的单个封装,其中微处理器进行大部分的处理,但将某些预定的特定任务转移给FPGA块。在一个实例中,处理装置是软微处理器(有时也被称作软核微处理器或软处理器),其为使用逻辑合成实施的微处理器核心。可经由含有可编程逻辑(例如,ASIC、FPGA或CPLD)的不同半导体装置实施软微处理器。
在一些实例中,控制器是存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器控制在主机系统与存储器子系统之间经由总线的通信。
一般来说,控制器可将对存储器组件的所要存取的命令或请求发送到存储器子系统。控制器可另外包含用于与存储器子系统通信的接口电路。接口电路可将从存储器子系统接收的响应转换成用于主机系统的信息。主机系统的控制器可与存储器子系统的控制器通信以进行操作,例如在存储器组件处读取数据、写入数据或擦除数据以及其它这类操作。
在一些情况下,控制器可与处理装置集成于相同封装内。在其它情况下,控制器与处理装置的封装隔开。控制器和/或处理装置可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器、高速缓存存储器或其组合。控制器和/或处理装置可以是微控制器、专用逻辑电路(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。
存储器组件可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(NAND)类型闪存存储器。存储器组件中的每一个可包含存储器单元的一或多个阵列,所述存储器单元如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一个可存储供主机系统使用的一或多个数据位(例如,数据块)。虽然描述如NAND类型快闪存储器的非易失性存储器组件,但存储器组件可基于任何其它类型的存储器,如易失性存储器。
在一些实施例中,存储器组件可为但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁性随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、铁电随机存取存储器(FeTRAM)、铁电RAM(FeRAM)、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、负或(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)、基于纳米线的非易失性存储器、并入有忆阻器技术的存储器,以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的记忆体对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件的存储器单元可分组为存储器页或数据块,其可指用以存储数据的存储器组件的单元。
存储器子系统的控制器可与存储器组件通信以执行操作,例如在存储器组件处读取数据、写入数据或擦除数据以及其它这类操作(例如,响应于通过控制器在命令总线上调度的命令)。控制器可包含被配置成执行存储在本地存储器中的指令的处理装置(处理器)。控制器的本地存储器可包含嵌入式存储器,其被配置成存储用于执行各个过程、操作、逻辑流以及控制存储器子系统的操作的例程,包含处置存储器子系统和主机系统之间的通信的指令。在一些实施例中,本地存储器可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器还可包含用于存储微码的只读存储器(ROM)。虽然实例存储器子系统包含控制器,但在本公开的另一个实施例中,存储器子系统可不包含控制器,且可替代地依赖于外部控制(例如,由外部主机提供,或由与存储器子系统隔开的处理器或控制器提供)。
一般来说,控制器可从主机系统接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件的所需存取。控制器可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校正码(ECC)操作、加密操作、高速缓存操作和在与存储器区域相关联的逻辑块地址与物理块地址之间的地址转换。控制器可另外包含主机接口电路以经由物理主机接口与主机系统通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件,以及将与存储器组件相关联的响应转换成用于主机系统的信息。
存储器子系统还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统可包含高速缓存器或缓冲器(例如,DRAM或SRAM)以及可从控制器接收地址并将地址解码以存取存储器组件的地址电路(例如,行解码器和列解码器)。
Claims (20)
1.一种方法,其包括:
将图像帧内的位置存储于存储器中,每一位置对应于对象检测;
确定所述图像帧的第一区域,其中所述确定是基于所述所存储的位置;
在所述第一区域内进行扫描以检测至少一个对象;和
在所述第一区域内进行扫描之后,在所述图像帧的至少一个其它区域内进行扫描。
2.根据权利要求1所述的方法,其中在所述第一区域内进行扫描包括通过使扫描窗在所述第一区域内的位置递增来进行扫描,所述方法另外包括确定在所述扫描窗的每一递增位置处是否检测到对象。
3.根据权利要求1所述的方法,其中所述所存储的位置中的每一个包含第一轴线和第二轴线上的一对相应位置,且确定所述第一区域包括使用所述所存储的位置,确定所述第一轴线上的最大位置,以及所述第二轴线上的最小位置。
4.根据权利要求3所述的方法,其中所述第一轴线是竖直轴线,且所述第二轴线是水平轴线。
5.根据权利要求1所述的方法,其中所述图像帧是由安装到自主车辆的相机收集的图像数据的帧,且所述相机被配置成提供用于控制所述车辆的的导航的数据。
6.根据权利要求1所述的方法,其中在所述第一区域内进行扫描包含通过使扫描窗的位置递增进行扫描,并且在所述扫描窗在所述图像帧中的第一位置处检测第一对象。
7.根据权利要求1所述的方法,其中使用从一或多个先前图像收集的数据来确定所述所存储的位置,且在所述第一区域内的扫描使用从当前图像收集的数据。
8.根据权利要求1所述的方法,其中确定所述第一区域包括使用与所述所存储的位置对应的竖直位置和水平位置来确定所述第一区域的边界。
9.根据权利要求8所述的方法,其中所述边界包括上边界和侧边界,所述上边界是基于所述竖直位置的最大值确定的,且所述侧边界是基于所述水平位置的最小值确定的。
10.根据权利要求9所述的方法,其中在所述第一区域内的扫描包含使用具有一竖直大小的扫描窗进行扫描,所述边界另外包括下边界,且所述下边界是基于所述竖直位置的最小值减去所述扫描窗的所述竖直大小而确定的。
11.根据权利要求1所述的方法,其中响应于与扫描窗相关联的对象检测而存储每一位置,且所述所存储的位置是当所述对象检测发生时所述扫描窗的当前位置。
12.根据权利要求11所述的方法,其中存储于所述存储器中的所述位置的数目限于预定最大值,且确定所述图像帧的所述第一区域是基于等于或小于所述预定最大值的所述所存储的位置的数目。
13.根据权利要求12所述的方法,其另外包括当存储于所述存储器中的所述位置数目达到所述预定最大值时,将所述所存储的位置中的一个替换为所述扫描窗的新位置。
14.根据权利要求1所述的方法,其中在预定时间段内,所述至少一个其它区域与小于与所述第一区域相关联的对象检测总数目的对象检测总数目相关联。
15.一种系统,其包括:
至少一个处理装置;和
含有指令的存储器,所述指令被配置成指示所述至少一个处理装置进行以下操作:
存储传感器的图像帧内的位置,每一位置对应于基于由所述传感器收集的数据进行的对象检测;
选择所述图像帧的多个区域中的第一区域,其中所述第一区域是使用所述所存储的位置并且基于与所述区域中的每一个相关联的对象检测活动性水平被选择的;和
针对当前图像扫描在所述第一区域内收集的数据,所述扫描是为了检测所述第一区域内的至少一个对象。
16.根据权利要求15所述的系统,其中所述第一区域具有大于每一所述其它区域的相应对象检测活动性水平的对象检测活动性水平。
17.根据权利要求16所述的系统,其中所述所存储的位置对应于针对至少一个先前图像收集的数据。
18.根据权利要求15所述的系统,其中扫描所述数据包括使用计算机模型,分析在所述第一区域内收集的所述数据的至少一部分。
19.根据权利要求18所述的系统,其中所述计算机模型包括神经网络。
20.一种存储指令的非暂时性计算机存储媒体,所述指令当在至少一个处理装置上执行时致使所述至少一个处理装置至少进行以下操作:
存储与通过传感器进行的数据收集对应的位置,每一位置与对象检测相关联,且所述传感器被配置成从多个区域收集数据;
选择所述多个区中的第一区,其中所述第一区是基于所述所存储位置被选择的;和
扫描在所述第一区内收集的数据,所述扫描是为了检测所述第一区内的至少一个对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/448,624 US11348245B2 (en) | 2019-06-21 | 2019-06-21 | Adapted scanning window in image frame of sensor for object detection |
US16/448,624 | 2019-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115762A true CN112115762A (zh) | 2020-12-22 |
Family
ID=73799489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010566805.8A Pending CN112115762A (zh) | 2019-06-21 | 2020-06-19 | 用于对象检测的传感器的图像帧中的经调适扫描窗 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11348245B2 (zh) |
CN (1) | CN112115762A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303045B1 (en) * | 2017-12-20 | 2019-05-28 | Micron Technology, Inc. | Control of display device for autonomous vehicle |
US11043003B2 (en) * | 2019-11-18 | 2021-06-22 | Waymo Llc | Interacted object detection neural network |
GB2620909A (en) * | 2022-07-04 | 2024-01-31 | Opteran Tech Limited | Method and system for determining the structure, connectivity and identity of a physical or logical space or attribute thereof |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000348180A (ja) * | 1999-06-01 | 2000-12-15 | Fujitsu Ltd | 移動領域追跡方法及び装置及び記録媒体 |
JP2008176555A (ja) * | 2007-01-18 | 2008-07-31 | Fujitsu Ten Ltd | 障害物検知装置および障害物検知方法 |
US20160171311A1 (en) * | 2014-12-16 | 2016-06-16 | Sighthound Inc. | Computer Vision Pipeline and Methods for Detection of Specified Moving Objects |
US20160269714A1 (en) * | 2015-03-11 | 2016-09-15 | Microsoft Technology Licensing, Llc | Distinguishing foreground and background with infrared imaging |
CN106446832A (zh) * | 2016-09-27 | 2017-02-22 | 成都快眼科技有限公司 | 一种基于视频的实时检测行人的方法 |
CN108460356A (zh) * | 2018-03-13 | 2018-08-28 | 上海海事大学 | 一种基于监控系统的人脸图像自动处理系统 |
CN109344725A (zh) * | 2018-09-04 | 2019-02-15 | 上海交通大学 | 一种基于时空关注度机制的多行人在线跟踪方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4784709B1 (ja) * | 2011-03-10 | 2011-10-05 | オムロン株式会社 | 対象物追跡装置、対象物追跡方法、および制御プログラム |
US9098753B1 (en) | 2014-04-25 | 2015-08-04 | Google Inc. | Methods and systems for object detection using multiple sensors |
KR101610502B1 (ko) | 2014-09-02 | 2016-04-07 | 현대자동차주식회사 | 자율주행차량의 주행환경 인식장치 및 방법 |
US9940533B2 (en) | 2014-09-30 | 2018-04-10 | Qualcomm Incorporated | Scanning window for isolating pixel values in hardware for computer vision operations |
US9811732B2 (en) * | 2015-03-12 | 2017-11-07 | Qualcomm Incorporated | Systems and methods for object tracking |
US9672446B1 (en) | 2016-05-06 | 2017-06-06 | Uber Technologies, Inc. | Object detection for an autonomous vehicle |
US20180082428A1 (en) * | 2016-09-16 | 2018-03-22 | Qualcomm Incorporated | Use of motion information in video data to track fast moving objects |
US10013773B1 (en) * | 2016-12-16 | 2018-07-03 | Waymo Llc | Neural networks for object detection |
US11615566B2 (en) * | 2017-05-10 | 2023-03-28 | Fotonation Limited | Multi-camera vehicle vision system and method |
US10890919B2 (en) | 2017-09-22 | 2021-01-12 | Waymo Llc | Calculating velocity of an autonomous vehicle using radar technology |
US10861167B2 (en) * | 2019-02-19 | 2020-12-08 | Arm Limited | Graphics processing systems |
-
2019
- 2019-06-21 US US16/448,624 patent/US11348245B2/en active Active
-
2020
- 2020-06-19 CN CN202010566805.8A patent/CN112115762A/zh active Pending
-
2022
- 2022-05-13 US US17/744,405 patent/US20220270262A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000348180A (ja) * | 1999-06-01 | 2000-12-15 | Fujitsu Ltd | 移動領域追跡方法及び装置及び記録媒体 |
JP2008176555A (ja) * | 2007-01-18 | 2008-07-31 | Fujitsu Ten Ltd | 障害物検知装置および障害物検知方法 |
US20160171311A1 (en) * | 2014-12-16 | 2016-06-16 | Sighthound Inc. | Computer Vision Pipeline and Methods for Detection of Specified Moving Objects |
US20160269714A1 (en) * | 2015-03-11 | 2016-09-15 | Microsoft Technology Licensing, Llc | Distinguishing foreground and background with infrared imaging |
CN106446832A (zh) * | 2016-09-27 | 2017-02-22 | 成都快眼科技有限公司 | 一种基于视频的实时检测行人的方法 |
CN108460356A (zh) * | 2018-03-13 | 2018-08-28 | 上海海事大学 | 一种基于监控系统的人脸图像自动处理系统 |
CN109344725A (zh) * | 2018-09-04 | 2019-02-15 | 上海交通大学 | 一种基于时空关注度机制的多行人在线跟踪方法 |
Non-Patent Citations (2)
Title |
---|
C. DIREKOĞLU, H 等: "Efficient Face and Facial Feature Tracking Using Search Region Estimation", 《ICIAR 2005》, 30 September 2005 (2005-09-30), pages 1149 - 1157, XP019020108 * |
朱尧 等: "基于有监督显著性检测的目标跟踪", 《南京大学学报(自然科学)》, vol. 53, no. 4, 31 July 2017 (2017-07-31), pages 747 - 755 * |
Also Published As
Publication number | Publication date |
---|---|
US20200402240A1 (en) | 2020-12-24 |
US20220270262A1 (en) | 2022-08-25 |
US11348245B2 (en) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11912203B2 (en) | Virtual mirror with automatic zoom based on vehicle sensors | |
US20220270262A1 (en) | Adapted scanning window in image frame of sensor for object detection | |
KR102142232B1 (ko) | 얼굴 라이브니스 검출 방법 및 장치, 그리고 전자 디바이스 | |
US20180218256A1 (en) | Deep convolution neural network behavior generator | |
US10282623B1 (en) | Depth perception sensor data processing | |
US10366300B1 (en) | Systems and methods regarding 2D image and 3D image ensemble prediction models | |
KR20200145825A (ko) | 3차원 시선 벡터를 이용한 차량 탑승자 참여 | |
WO2019221654A1 (en) | Autoencoding generative adversarial network for augmenting training data usable to train predictive models | |
KR102557561B1 (ko) | 이미지의 깊이 정보를 결정하는 방법 및 시스템 | |
US11176414B1 (en) | Systems and methods for 3D image distification | |
CN113015984A (zh) | 卷积神经网络中的错误校正 | |
US20210272292A1 (en) | Detection of moment of perception | |
CN111630568A (zh) | 电子装置及其控制方法 | |
US20220130019A1 (en) | Electronic device and method for processing image by same | |
US10909412B2 (en) | Electronic device and control method thereof | |
KR20160146964A (ko) | 웨어러블 디바이스용 개인화된 분류기를 트레이닝하는 일반 분류기 이용 | |
CN113553877B (zh) | 深度手势识别方法及其系统和电子设备 | |
KR20140095601A (ko) | 자세 분류 장치 및 자세 분류 방법 | |
CN113516665A (zh) | 图像分割模型的训练方法、图像分割方法、装置、设备 | |
US20230274539A1 (en) | Inference processing system capable of reducing load when executing inference processing, edge device, method of controlling inference processing system, method of controlling edge device, and storage medium | |
KR102443330B1 (ko) | 치아 기반 개인 식별 장치 및 방법 | |
US20230305097A1 (en) | Systems and methods for associating rf signals with an individual | |
CN117786520B (zh) | 目标感知模型的训练方法和应用、无人车和存储介质 | |
CN116745842A (zh) | 电子装置及其控制方法 | |
CN114756115A (zh) | 交互控制方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |