CN108961312B - 用于嵌入式视觉***的高性能视觉对象跟踪方法及*** - Google Patents

用于嵌入式视觉***的高性能视觉对象跟踪方法及*** Download PDF

Info

Publication number
CN108961312B
CN108961312B CN201810665152.1A CN201810665152A CN108961312B CN 108961312 B CN108961312 B CN 108961312B CN 201810665152 A CN201810665152 A CN 201810665152A CN 108961312 B CN108961312 B CN 108961312B
Authority
CN
China
Prior art keywords
target object
frame
video image
search window
video
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.)
Active
Application number
CN201810665152.1A
Other languages
English (en)
Other versions
CN108961312A (zh
Inventor
高宇
王星
埃里克·汉斯
马锐
沈超
陈明华
卢晔
梁杰
吴建兵
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.)
Altumview Systems Inc
Original Assignee
Altumview Systems 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 Altumview Systems Inc filed Critical Altumview Systems Inc
Publication of CN108961312A publication Critical patent/CN108961312A/zh
Application granted granted Critical
Publication of CN108961312B publication Critical patent/CN108961312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U20/00Constructional aspects of UAVs
    • B64U20/80Arrangement of on-board electronics, e.g. avionics systems or wiring
    • B64U20/87Mounting of imaging devices, e.g. mounting of gimbals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/262Analysis of motion using transform domain methods, e.g. Fourier domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • B64U2101/30UAVs specially adapted for particular uses or applications for imaging, photography or videography
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Astronomy & Astrophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)

Abstract

一种实时视觉跟踪***,一方面,用于实时视觉跟踪移动中的对象的无人驾驶飞行器(UAV)包括处理器、与该处理器连接的存储器,连接至该处理器和存储器的摄像机,其中摄像机用于捕捉该移动中的对象的视频;该UAV还包括视觉跟踪模块,用于接收第一帧视频图像及该目标对象的第一个位置;接收该第一帧视频图像后的第二帧视频图像;将第一搜索窗置于第一帧视频图像中,将第二搜索窗置于该第二帧视频图像中,该第二搜索窗在该第二帧视频图像中的位置与该第一搜索窗在该第一帧视频图像中的位置相同;计算第一搜索窗内的第一图像块和第二搜索窗内的第二图像块之间的相关图;基于计算出的该相关图确定该目标对象在该第二帧视频图像中的更新位置。

Description

用于嵌入式视觉***的高性能视觉对象跟踪方法及***
技术领域
本申请一般涉及机器视觉,更具体而言,涉及利用由安装在无人驾驶飞行器(UAV)或无人机上的摄像机捕捉的视频图像,执行实时对象视觉跟踪的***、设备和技术。
背景技术
近来,民用和商用无人驾驶飞行器(UAV)或无人机(一种微型无人驾驶飞机)备受欢迎并且已在全球范围内获得商业上的成功。无人驾驶飞行器通常由遥控和/或软件控制,并且利用由多旋翼等生成的空气动力效应在天空中机动飞行,在保持较高稳定性的同时执行已设计的功能,例如监控和包裹邮递。然而,民用UAV或无人机的最受欢迎的应用之一在于航拍,即在被拍照对象上方的有利位置拍摄静止图片或者录制视频。通常,利用UAV录制视频需要UAV使用者非常具有技术性地控制UAV及其摄像机万向架。然而,在一些情形下,手动控制是比较困难的,例如当用户走路的同时想要录制本人视频或者用户需要为移动目标录制视频。在这些情形下,UAV就非常有必要具有跟踪移动目标及自动捕捉视频的能力。
现有的大量民用UAV已经具备对象跟踪能力,然而这些UAV大多依赖GPS跟踪目标。换言之,被UAV跟踪的目标必须配置有GPS设备,用于接受GPS信号并将GPS位置信息回传至UAV,从而该UAV可以利用接收到的GPS信息来跟踪目标。然而,对于不具有GPS接收器的目标以及难以获取GPS信息的目标而言,UAV就非常有必要包括视频跟踪装置,该视频跟踪装置主要依赖已捕捉视频的视觉信息来跟踪该目标,而不需要如GPS接收器等的其他传感器或设备。市场上提供的少量民用UAV产品已经具备了高度复杂的视觉跟踪功能。然而不乐观的是,实现这些高度复杂的视觉跟踪功能一般需要该UAV产品配置有强大的计算平台,例如因特尔MovidiusTMMyriadTM2代视觉处理器(VPU)。因此,现有的这些视觉跟踪功能并不适用于很多低端UAV产品。
因此,需要提供一种可应用于低端民用UAV平台的低复杂度并具高性能的视觉跟踪装置。
发明内容
本申请描述的多个实施例提供了基于视频图像跟踪移动中的对象的实时视觉对象跟踪***的多个实例。一方面,公开了一种对视频中捕捉的目标对象执行实时视觉跟踪的过程。该过程包括如下步骤:接收该视频中的第一帧视频图像以及在该第一帧视频图像中该目标对象的预先确定的第一个位置;接收该第一帧视频图像后的视频的第二帧视频图像,其中该目标对象在该第二帧视频图像中的位置未知;将第一搜索窗置于第一帧视频图像中,该第一搜索窗以该目标对象的第一个位置为中心,并将第二搜索窗置于该第二帧视频图像中,该第二搜索窗在该第二帧视频图像中的位置与该第一搜索窗在该第一帧视频图像中的位置相同;计算第一搜索窗内的第一帧视频图像中的第一图像块和第二搜索窗内的第二帧视频图像中的第二图像块之间的相关图;以及基于计算出的该相关图确定该目标对象在该第二帧视频图像中的更新位置。
在一些实施例中,该第一搜索窗和该第二搜索窗具有相同的横向和纵向尺寸,并且该第一搜索窗和该第二搜索窗的横向和纵向尺寸分别明显大于该目标对象的边界框的对应尺寸。
在一些实施例中,计算第一搜索窗内的第一帧视频图像中的第一图像块和第二搜索窗内的第二帧视频图像中的第二图像块之间的相关图包括:从第一图像块中提取第一特征图,从第二图像块中提取第二特征图;计算第一特征图和第二特征图的二维(2D)快速傅里叶变换(FFT),以生成该第一特征图和该第二特征图的傅里叶表达式;计算该第一特征图的傅里叶表达式和该第二特征图的傅里叶表达式之间的互相关度;将计算得出的该互相关度转化为空间域,以获得相关图。
在一些实施例中,计算该第一特征图的傅里叶表达式和该第二特征图的傅里叶表达式之间的互相关度包括:通过计算该第一特征图的傅里叶表达式的高斯核自相关度计算该第一特征图的第一特征模型;通过计算该第二特征图的傅里叶表达式的高斯核自相关度计算该第二特征图的第二特征模型;计算该第一特征模型和该第二特征模型的元素级乘积(点积),从而计算该第一特征图的傅里叶表达式和该第二特征图的傅里叶表达式之间的互相关度。
在一些实施例中,从第一或第二图像块中提取第一或第二特征图包括:从图像块中提取几何型特征图;从图像块中提取颜色型特征图;将该几何型特征图与该颜色型特征图连结在一起,以获得第一或第二特征图。
在一些实施例中,在接收到该第一帧视频图像之前,该过程还执行如下步骤:接收该视频中一序列视频帧中的最早视频图像,以及该最早视频图像内该目标对象的用户选择位置;以及对该最早视频图像执行对象检测操作,从而基于该用户选择位置在该最早视频图像中生成该目标对象的初始位置和初始边界框。
在一些实施例中,基于计算出的该相关图确定该目标对象在该第二帧视频图像中的更新位置包括:在计算出的该相关图中识别峰值;将被识别出的该峰值与第一阈值进行比较;如果被识别出的该峰值大于或等于第一阈值,则将该峰值的位置选择为该目标对象在第二帧视频图像中的更新位置。
在一些实施例中,如果被识别出的该峰值小于该第一阈值,则该过程还包括如下步骤:接收该第二帧视频图像之后的视频的第三视频图像;从目标移动估计模块处接收该目标对象在该第三视频图像中的预测位置,其中该预测位置位于该第一个位置附近;基于该预测位置局部搜索该目标对象;以及如果在该预测位置附近局部重新识别出该目标对象,则重新采用该目标对象在该第三视频图像中确定的位置在该视频中的后续视频图像中跟踪该目标对象。
在一些实施例中,在接收到该预测位置之前,该过程执行步骤:利用该目标对象在该序列视频帧中的一组预先确定的位置训练该目标移动估计模块。
在一些实施例中,基于该预测位置局部搜索该目标对象包括:将第三搜索窗置于该第三视频图像中,该第三搜索窗以该目标对象的预测位置为中心;从该第三搜索窗内的第三视频图像中的第三图像块中提取第三特征图;检索一组存储特征图,该组存储特征图基于一组先前处理的视频图像中该目标对象的一组预先确定的位置计算得出;计算该第三特征图分别和该组存储特征图中的每个特征图之间的一组相关图;并基于计算得出的该组相关图在该第三视频图像中重新识别目标对象。
在一些实施例中,基于计算得出的该组相关图在该第三视频图像中重新识别目标对象包括:识别该组计算得出的相关图中的每个相关图的峰值;在该组峰值中识别出最高峰值;将被识别出的最高峰值与第二阈值进行比较;如果被识别出的最高峰值大于该第二阈值,确定该目标对象被重新识别。
在一些实施例中,该目标移动估计模块利用训练卡尔曼滤波器预测该目标对象的当前位置。
另一方面,公开了另一种对视频中捕捉的目标对象执行实时视觉跟踪的过程。该过程包括如下步骤:接收该视频中的第一帧视频图像以及在该第一帧视频图像中该目标对象的预先确定的第一个位置;接收该第一帧视频图像后的视频的第二帧视频图像,其中该目标对象在该第二帧视频图像中的位置未知;将第一搜索窗置于第一帧视频图像中,该第一搜索窗以该目标对象的第一个位置为中心,并将多个第二搜索窗置于该第二帧视频图像中,该第二搜索窗在该第二帧视频图像中的位置与该第一搜索窗在该第一帧视频图像中的位置相同;计算第一搜索窗内的第一帧视频图像中的第一图像块分别和该多个第二搜索窗内的第二帧视频图像中的多个第二图像块中的每个第二图像块之间的一组相关图;识别计算得出的该组相关图的每个相关图的峰值;识别该组峰值中的最高峰值;以及基于该最高峰值在该第二帧视频图像中的位置确定该目标对象在该第二帧视频图像中的更新位置。
在一些实施例中,该多个第二搜索窗包括:大于该第一搜索窗的一个或多个具有不同尺寸的搜索窗;小于该第一搜索窗的一个或多个具有不同尺寸的搜索窗;与该第一搜索窗具有相同尺寸的搜索窗。
在一些实施例中,在计算该组相关图之前,该过程还将该多个第二搜索窗缩放为与该第一搜索窗相同的尺寸。
在一些实施例中,计算第一搜索窗内的第一帧视频图像中的第一图像块和该多个第二搜索窗内的第二帧视频图像中的多个第二图像块中的一个第二图像块之间的相关图包括:从第一图像块中提取第一特征图,从第二图像块中提取第二特征图;计算第一特征图和第二特征图的二维(2D)快速傅里叶变换(FFT),以生成该第一特征图和该第二特征图的傅里叶表达式;计算该第一特征图和该第二特征图之间的互相关度;将计算得出的该互相关度转化为空间域,以获得相关图。
另一方面,公开了一种对摄像机在视频中捕捉的目标对象执行实时视觉跟踪的***。该***包括一个或多个处理器和与该一个或多个处理器连接的存储器,其中该存储器存储有指令,当该一个或多个处理器执行该指令时,会导致该***:接收该视频中的第一帧视频图像以及在该第一帧视频图像中该目标对象的预先确定的第一个位置;接收该第一帧视频图像后的视频的第二帧视频图像,其中该目标对象在该第二帧视频图像中的位置未知;将第一搜索窗置于第一帧视频图像中,该第一搜索窗以该目标对象的第一个位置为中心,并将第二搜索窗置于该第二帧视频图像中,该第二搜索窗在该第二帧视频图像中的位置与该第一搜索窗在该第一帧视频图像中的位置相同;计算第一搜索窗内的第一帧视频图像中的第一图像块和第二搜索窗内的第二帧视频图像中的第二图像块之间的相关图;以及基于计算出的该相关图确定该目标对象在该第二帧视频图像中的更新位置。
另一方面,公开了一种可对移动中的对象执行实时视觉跟踪的无人驾驶飞行器(UAV)。该UAV包括一个或多个处理器;与该一个或多个处理器连接的存储器;以及安装于万向架并连接至该一个或多个处理器和该存储器的摄像机,其中该摄像机用于捕捉该移动中的对象的视频。该过程还包括视觉跟踪模块,其中该视觉跟踪模块用于:接收该视频中的第一帧视频图像以及在该第一帧视频图像中该目标对象的预先确定的第一个位置;接收该第一帧视频图像后的视频的第二帧视频图像,其中该目标对象在该第二帧视频图像中的位置未知;将第一搜索窗置于第一帧视频图像中,该第一搜索窗以该目标对象的第一个位置为中心,并将第二搜索窗置于该第二帧视频图像中,该第二搜索窗在该第二帧视频图像中的位置与该第一搜索窗在该第一帧视频图像中的位置相同;计算第一搜索窗内的第一帧视频图像中的第一图像块和第二搜索窗内的第二帧视频图像中的第二图像块之间的相关图;以及基于计算出的该相关图确定该目标对象在该第二帧视频图像中的更新位置。
在一些实施例中,该视觉跟踪模块还用于采用该目标对象的更新位置控制该UAV和/或万向架的飞行。
附图说明
通过阅读下文详细描述和各个附图,可以理解本申请的结构和操作,在附图中,相同的附图标记表示相同的部件,其中:
图1所示为根据本申请一些实施例中包括UAV、用户和地面控制器的示例性无人驾驶飞行器(UAV)/无人机对象跟踪环境;
图2所示为根据本文描述的一些实施例,图1中的视觉对象跟踪***的示例性实施过程;
图3所示为根据本申请一些实施例中利用对象检测模块执行目标对象检测的示例性过程的流程图;
图4示出了根据本申请一些实施例中利用对象跟踪模块从初始视频帧到当前视频帧跟踪该目标对象的示例性过程的流程图;
图5显示了根据本申请一些实施例,基于采用多个搜索窗计算先前视频帧和当前视频帧之间提取“兴趣区域”(ROI)特征图的互相关的示例性过程;
图6显示了根据本申请描述的一些实施例的具有对象重新识别功能的视觉跟踪***的实施过程的状态机;
图7显示了根据本申请一些实施例,在视觉跟踪操作期间用于执行目标对象快速局部重新识别的过程的流程图;
图8描述了根据本申请一些实施例的示例性嵌入式视觉跟踪***,本申请公开的视觉对象跟踪***和技术可以在该***内实现。
具体实施方式
下文的详细描述旨在作为主题技术的各种配置的描述,并不旨在表示可以实施主题技术的唯一配置。附图包含在本文中,并构成详细描述的一部分。详细描述包括用于旨在全面理解主题技术的具体细节。然而,主题技术不仅限于本文所阐述的具体细节,没有这些具体细节也有可能实施。在某些情况下,结构和组件以框图的形式示出,以避免使主题技术的概念变得模糊。
UAV对象跟踪环境
图1示出了根据本申请一些实施例的示例性无人驾驶飞行器(UAV)/无人机对象跟踪环境100,包括UAV 102、用户104、地面控制器106。从图1可以看出,用户104利用一手持设备,即地面控制器106控制该UAV 102的飞行。该UAV 102包括通过万向架110安装于该UAV102上的机载摄像机108。在一些实施例中,该万向架110为三维架,从而该摄像机108可以在三个维度上自由移动。用户104可利用地面控制器106控制该摄像机万向架110,从而该摄像机108可以瞄准该用户104选定的位置或目标。飞行过程中,UAV 102上机载的摄像机108可以以一给定的帧率捕捉一序列视频帧,并且可以过视频信号的方式将该已捕捉视频帧从UAV 102传送至地面控制器106,该地面控制器106包括用于显示接收到的视频图像的图像用户界面(GUI)。
在一些实施例中,UAV 102用于执行实时视觉对象跟踪操作,以跟踪移动中的目标,如移动中的人110。在一些实施例中,该用于执行视觉对象跟踪操作的***可在嵌入到UAV 102的平台(例如片上***(Soc))上实现。然而,在一些其他实施例中,该用于执行视觉对象跟踪操作的***可部分由UAV 102实现,其余部分在地面控制器106中实现。在这些实施例中,该视觉对象跟踪操作需要UAV 102和地面控制器106合作完成跟踪功能。在图1所示的实施例中,本申请公开的视觉对象跟踪操作作为UAV 102上的视觉对象跟踪***114(或者简称为“***114”)。然而,该对象跟踪***114可以接受来自于地面控制器106的与跟踪操作相关的信息,例如由用户104选择的目标对象。
在一些实施例,为了开始执行视觉对象跟踪操作,用户104需要在地面控制器106的显示器上选择兴趣对象(例如移动中的人112或移动中的车(图中未示出))。例如,如果该地面控制器106的显示器为触屏,则用户104仅需要通过点出/碰触目标对象,在该触屏上选择兴趣对象(下文也称之为“目标对象”)。在一些实施例中,在用户104通过地面控制器106作出选择之后,UAV102接收用户选择,开始执行实时视觉对象跟踪操作。在一些实施例中,该地面控制器106上的用户选择可以触发对象检测模块去检测用户104起初指定的位置周围的目标对象的边界。根据该UAV 102和地面控制器106的不同配置,该对象检测模块可以在UAV 102上执行,或者在地面控制器106上执行。如果该对象检测模块在地面控制器106上执行,则该对象检测模块将已检测到的目标对象的边界框坐标输出,随后将该边界框坐标从地面控制器106处传送至UAV 102。需要说明,可将生成的边界框的内部区域称为“兴趣区域”(ROI)图像(因此,下文中的“边界框”和“ROI”可交替使用,均表达同一意思);在本申请公开的对象跟踪操作过程中,将会对该“兴趣区域”进行跟踪。然而,如果该对象检测模块在UAV 102上执行,则该对象检测模块可作为该视觉对象跟踪***114的一部分。
作为在地面控制器106的显示器上点出/碰触单个位置以选择兴趣对象的替换或补充,用户104还可以通过在该地面控制器106的显示器上在兴趣对象的周围画出初始边界框。接下来,对象检测模块基于该初始边界框自动更新该兴趣对象的边界,随后输出该兴趣对象的更新边界框坐标。再次声明,根据该UAV 102和地面控制器106的不同配置,该对象检测模块可以在UAV 102上(作为***114的一部分),或者在地面控制器106上。在下面的讨论中,假设该对象检测模块为该视觉对象***114的一部分,而该视觉对象跟踪***114与UAV102集成在一起。
嵌入式视觉对象跟踪***
图2示出了根据本文描述的一些实施例,图1中的视觉对象跟踪***(或“视觉跟踪***”)114的示例性实施过程200。从图2中可以看出,视觉跟踪***200包括用于执行各种功能的多个功能模块,该功能包括但不限于对象检测、特征提取、特征模型生成、对象跟踪、摄像机运动估计、目标运动估计和对象重新识别。视觉追踪***200与UAV 102集成在一起,以便于控制UAV102的飞行和摄像机108的定位。然而,本申请所公开的视觉追踪***200也可以应用在其他嵌入式平台,以执行其他视觉追踪功能。这些其他嵌入式平台包括但不限于机器人***、视频监视***、自动驾驶车辆、移动设备和其他机器视觉***。
需要说明的是,视觉追踪***200至少包括对象检测模块202、对象追踪模块204、局部重新识别模块250、全局重新识别模块252、摄像机运动估计模块242和目标运动估计模块244。视觉跟踪***200还可以包括图2中未示出的其他模块。下文将对视觉跟踪***200内的各种模块和功能块进行更加详细的描述。
初始对象检测
结合图1和图2,对象检测模块202分别与地面控制器106和UAV 102上的摄像机108连接。需要注意的是,在图1所示的地面控制器106和摄像机108旁边绘制虚线是为了表示该该地面控制器106和该摄像机108并非视觉跟踪***200的一部分。在视觉对象跟踪操作过程中,对象检测模块202可以从地面控制器106接收用户选择220;如上文所描述的,其中用户选择220可以包括用户104生成的兴趣点或者近似兴趣区域。此外,对象检测模块202可以接收由摄像机108捕捉的一系列视频图像(下文也称之为“视频帧”或“帧”)。具体地,对象检测模块202可以接收“初始”视频帧222(下文也称之为“第一视频帧”),用户104已在该“初始”视频帧222内作出选择220。基于接收到的用户选择220和初始视频帧222,对象检测模块202检测目标对象,其中用户104已经指示UAV 102跟踪并随后输出已检测到的该目标对象的边界框坐标。这些边界框坐标限定了该第一视频帧222内的“感兴趣区域”(ROI)图像,因此下文也被之为“ROI”。从图2中可以看出,对象检测模块202输出已检测到的该目标对象的初始ROI 224。需要注意的是,可以使用多种不同的技术来实现对象检测模块202。例如可以使用方向梯度直方图(HoG)技术并结合支持向量机(SVM)分类器来实现该对象检测模块202。
在一些实施例中,利用具有低计算复杂度的快速对象技术实现对象检测模块202。其中一项快速对象技术包括基于聚合信道特征(Aggregated Channel Features,简称ACF)的技术,如Dollar等人在“用于对象检测的快速特征金字塔(Fast feature pyramids forobject detection)”(IEEE模式分析和机器智能汇刊(IEEE Transactions on PatternAnalysis and Machine Intelligence),2014年第8期,第36卷,第1532-1545页)中所描述的。下面结合图3,针对使用基于ACF的技术并利用对象检测模块202实现对象检测进行更加详细的说明。然而,在不脱离所描述的技术范围的前提下,可以用其他已知的或以后开发的低复杂度对象检测技术来实现对象检测模块202。
图3所示为根据本申请一些实施例中利用对象检测模块202执行目标对象检测的示例性过程的流程图。首先,对象检测模块202接收来自用户104的用户选择相关的用户选择目标位置以及初始视频帧(步骤302)。如上文所描述的,用户可以通过在屏幕上点出/触碰该目标对象的单个位置,或者在屏幕上的目标对象周围绘制出初始边界框,从而在该地面控制器106的显示器上选择待跟踪的目标对象。接下来,基于接收到的目标位置限定以该目标位置为中心的检测窗(步骤304)。在一些实施例中,该用户限定的检测窗的尺寸可以介于已接收到的视频帧的一部分和整个已接收到的视频帧之间。例如,该检测窗口的尺寸可以为该整个已接收到的视频帧的一半左右,并且以该用户选择的目标位置为中心。一般而言,该检测窗口的实际尺寸是部分基于实现该对象检测过程的硬件平台(例如特定的处理器)的处理速度而确定的。
接下来,该过程计算该初始视频帧内的检测窗口中的子图像的一组输出通道(步骤306)。例如,该组输出通道可包括该初始视频帧的多个独立的颜色通道,以及这些颜色通道的方向梯度直方图(HoG)。在计算出该组输出通道后,图3所示的过程通过对预先限定的块区域(例如4*4像素的块)内的像素求和,从而对每个输出通道进行降采样;然后,对已降采样的通道进行平滑处理(步骤308)。然后,基于该降采样通道,采用滑动窗口技术检测该检索窗口内的目标对象。更具体地,在每一个给定的滑动窗应用中,所有已降采样的通道中的像素均可合并成单个向量;还可采用快速金字塔构建技术以多个比例在该滑动窗内估计并提取特征。这些提取特征通常被称为聚合通道特征(ACF)。接下来,步骤310可将该已提取ACF作为机器学习算法的输入,从而估计目标对象位于给定的该滑动窗内的概率,其中该机器学习算法例如为AdaBoost(通过迭代弱分类器而产生最终的强分类器的算法)分类器或者SVM。需要说明的是,可对该检测窗口内的每个滑动窗口重复执行该过程,从而可以在整个检测窗口范围内对该目标对象进行搜索。最后,该过程输出该被检测目标对象的初始ROI224(步骤312)。
需要说明的是,尽管文中基于四通道ACF的对象检测技术(即三个颜色通道和一个HoG通道)对对象检测模块202进行了描述,但是该对象检测模块202也可以采用其他基于ACF的对象检测技术,使用比上述四个通道更少或更多数量的输出通道。在一些实施例中,基于ACF的对象检测技术使用的多个通道包括以下通道的组合:一个或多个颜色/灰度通道、一个或多个基于纹理的通道(诸如基于Gabor滤波器的通道)、高斯差分(DoG)、基于非线性滤波器的通道(例如边缘检测器)以及上述HOG通道等。然而在一些实施例中,可以利用仅使用颜色/灰度信道或仅使用基于纹理的信道的基于ACF的对象检测技术来实现对象检测模块202。一般而言,对象检测模块202可以用适用于低成本嵌入式***的任何低复杂度对象检测技术来实现。
在图1和图2所示的实施例中,对象检测模块202是应用于UAV 102上的视觉跟踪***200的一个部件。然而,该对象检测模块202还可以位于地面控制器106上。在这一实施例中,该对象检测模块202不是该视觉跟踪***200的一个部件,而是作为该地面控制器106的一部分,并且该对象检测模块202通过无线连接方式与该视觉跟踪***200实现通信连接。该对象检测模块202应用于UAV 102还是地面控制器106是根据该UAV 102和地面控制器106的具体硬件配置而定的。在一些实施例中,通过谨慎选择ACF参数,可以在实现该对象检测模块202的低端硬件平台上实现较高性能的对象检测以及快速的检测速度。需要注意的是,当视觉对象跟踪过程中目标对象跟丢的情况下,该对象检测模块202还可用于对象重新识别操作。下文将对该对象重新识别操作作更加详细的说明。
基于图像特征的对象跟踪
回到图2,需要注意该对象检测模块202从摄像机108处接收一序列视频帧226,并且与对象跟踪模块204连接。在一些实施例中,一旦识别目标区域并且该对象跟踪模块204接收到初始ROI,则该对象跟踪模块204被触发并执行实时视觉跟踪操作,从而在该初始视频帧222之后的一序列视频帧226中跟踪目标对象。在一些实施例中,该对象跟踪模块204在该对象跟踪操作期间对该序列视频帧226中的每一个视频帧进行处理。在这些实施例中,该对象跟踪模块204需要针对在该序列视频帧226中的每个新的视频帧进行重新识别。在其他实施例中,该对象跟踪模块204在该对象跟踪操作期间对该序列视频帧226中的每N(例如N=4)个视频帧中选取一个视频帧进行处理。
需要说明,和对象检测模块202一样,对象跟踪模块204也可以由多种不同的技术实现。例如,跟踪该目标对象的其中一种方式为从“先前视频帧”到“当前视频帧”跟踪该目标对象的整个ROI图像(从初始ROI 224开始)。需要说明,在本申请视觉跟踪操作的上下文中,“先前视频帧”表示一序列视频帧226中,该对象跟踪模块204最近处理的视频帧;而“当前视频帧”表示一序列视频帧226中,该对象跟踪模块204刚接收并且正在处理的视频帧。因此,在该序列视频帧226中,该当前视频帧紧跟该先前视频帧之后。需要说明,上述定义的例外情况即当该目标对象刚刚被检测到时。在这种情形下,先前视频帧表示初始视频帧222,初始视频帧222是由对象检测模块202处理,而非对象跟踪模块204处理的;而当前视频帧表示紧跟该初始视频帧222之后最近接收到的视频帧。
在该视觉跟踪***200的一些实施例中,为了提高对象跟踪操作的稳健性,该对象跟踪模块204用于跟踪该目标对象的特定图像特征,而非直接跟踪该目标对象的ROI图像。从图2中可以看出,该对象跟踪模块204可包括用于提取该图像特征的特征提取子模块228。更具体地,该特征提取子模块228可从高度可能饱含该目标对象的当前视频帧中提取特定图像特征。由于用于特征提取的区域应当包含该目标对象,即ROI,因此该特征提取子模块228提取的特征也被称为“ROI特征”或“ROI特征图”。应当说明,这些ROI特征用于对象跟踪目的,并且不能与上文描述的用于目标对象检测的ACF混淆。例如,ROI特征与ACF的其中一个区别在于,ACF是从上文中的检测窗中提取的,而检测窗的尺寸不同于(通常远大于)该ROI特征的特征提取窗的尺寸。下文将会更加详细地描述该ROI特征的提取窗(下文称之为搜索窗)的尺寸。
图4示出了根据本申请一些实施例中利用对象跟踪模块204从初始视频帧222到当前视频帧跟踪该目标对象的示例性过程的流程图。如上文所描述的,该初始视频帧222已经由对象检测模块202处理,并且当前视频帧对应于该初始视频帧222之后的一序视频帧226中最新接收到的视频帧。在处理完初始视频帧222之后,对象检测模块202确定该目标对象在该初始视频帧222内的位置,随后输出该目标对象在该初始视频帧222内的初始ROI 224。由于目标对象一般是移动的,如图1所示的目标112,因此该对象跟踪模块204的目标是确定该目标对象在当前视频帧中的新位置,并且在当前视频帧中生成该目标对象的更新ROI。
该跟踪过程在该对象跟踪模块204接收到来自于对象检测模块202的目标对象初始RIO 224(步骤402)之后开始。对象跟踪模块204还从摄像机108处接收初始视频帧222之后的新视频帧(即当前视频帧)(步骤402)。为了简化目的,下文也将初始视频帧222称为先前视频帧。
接下来,为了在当前视频帧中搜索目标对象,该过程将第一搜索窗置于先前视频帧,以满足该第一搜索窗以先前视频帧的ROI为中心(步骤404)。如上文所描的,该目标对象在该先前视频帧中具有一个确定的位置以及对应的ROI/边界框。该过程还将第二搜索窗置于当前视频帧,以满足该第二搜索窗以先前视频帧的相同位置为中心(步骤406),该“相同位置”表示与先前视频帧中确定的ROI相同的位置。由于该先前视频帧与该当前视频帧尺寸一致,并且第一搜索窗和第二搜索窗位于各自视频帧的相同位置,因此,先前视频帧中的第一搜索窗和当前视频帧中的第二搜索窗为“同位”的。在一些实施例中,该第一搜索窗和该第二搜索窗尺寸一致,并且尺寸满足该目标对象的新位置依然位于该当前视频帧的第二搜索窗的概率非常高。例如,第一和第二搜索窗的水平和垂直方向的尺寸约为先前视频帧中确定的ROI的对应尺寸的2~2.5倍。在实际操作过程中,需要权衡处理速度和可在新视频帧中确定该目标对象的位置的概率,从而确定该第一和第二搜索窗的实际尺寸。
接下来,分别从先前视频帧中的第一搜索窗和当前视频帧中的第二搜索窗中提取ROI特征图(步骤408)。在一特定实施例中,从先前视频帧和当前视频帧中的任何一个视频帧中提取的ROC特征图均为上文描述的HoG特征图(更多细节见于Dalal等人发表的“面向人体检测的梯度直方图(Histograms of oriented gradients for human detection)”2005年关于计算机视觉和模式识别的IEEE会议记录,2005年6月)和“LAB”色心特征图的结合。HoG特征的计算通常涉及到梯度计算、方向分区和块归一化。该LAB颜色空间通常包括三个维度,其中L表示亮度;A和B分别表示绿-红和蓝-黄颜色对抗。需要说明,LAB颜色的设计与人眼类似。因此,与RGB和CMYK空间不同的是,在LAB颜色空间内两个点之间的欧几里德跟踪对应于人眼的感知差异。需要说明的是,采用基于几何型HoG特征和基于颜色的LAB色心的结合作为ROI特征用于目标对象检测/跟踪可以显著提高对象跟踪模块204的区分能力。需要说明的是,可以从搜索窗内提取的ROI特征不限于上述HoG和LAB颜色组合。可从接收到的视频帧中提取并用于对象跟踪的其他ROI特征包括触点特征、尺度不变性特征变换(SIFT)、光流以及色名。此外,ROI特征还可包括训练特征,如卷积神经网络(CNN)特征。
需要说明,由于已知该目标对象在先前视频帧中的位置,因此可以通过计算先前视频帧中提取的ROI特征图与当前视频帧提取的ROI特征图之间的相关度在当前视频帧中识别目标对象。因此,从两个共位搜索窗中提取出ROI特征图之后,该过程计算两个提取出的ROI特征图之间的互相关,从而生成相关图(步骤410)。该过程随后基于对应于两个视频帧的两个提取ROI特征图之间的计算的相关图的峰值,确定该目标对象在该当前帧的位置(步骤412)。在一些实施例中,为了避免误报,仅当峰值大于或等于预定义阈值的情况下才将该相关图中最大峰值对应的位置选择为该目标对象在当前视频帧中的位置。
需要说明,虽然在图4通过初始跟踪步骤(从初始视频帧222到该初始视频帧222之后的新的视频帧)描述了利用该对象跟踪模块204跟踪目标对象的示例性过程,然而,图4所描述的过程可以很容易被扩展并重复,应用于跟踪从给定先前视频帧到当前视频帧的目标对象,其中该给定先前视频由该对象跟踪模块204刚刚处理并且具有最近更新的ROI;该给定先前视频帧在该给定当前视频帧之后。
在一些实施例中,为了提高步骤410中相关度计算的速度,可以采用傅里叶域方法。例如,可以采用二维(2D)快速傅里叶变换(FFT)找到来自两个共位搜索窗的两个提取出的ROI特征图的傅里叶表达式。接下来,可以计算该两个提取出的ROI特征图的频域表达式之间的互相关(例如通过计算点积),然后再采用反向FFT将计算出的相关图转换为空间域。该空间域内的相关图中的该峰值(如果该峰值大于预定义阈值)及其在该相关图中的位置可以作为该目标对象在当前视频帧中的更新后的ROI的中心位置。在一些实施例中,在计算两个提取特征图的两个傅里叶表达式之间的互相关之前,首先要计算该两个傅里叶表达式中每一个的高斯核自相关。每一个计算得出的高斯核自相关都被称为各个搜索窗的“特征模型”。接下来,计算该两个提取ROI特征图的频域表达式之间的互相关涉及到计算与两个提取ROI特征图相关的两个特征模型的点积。
在一些实施例中,可以利用特征模型生成子模块230执行上文描述的FFT操作和高斯核自相关操作,从而计算出特征模型,其中如图2所示,该特征模型生成子模块230为该对象跟踪模块204的一部分。需要说明,该特征模型生成子模块230与特征提取子模块228相连,从而接收来自于该特征提取子模块228的提取ROI特征图232。除了被对象跟踪模块204用来对象跟踪以外,该视觉跟踪***200内的一些其他模块还可以使用该特征模块生成子模块230生成的特征模型。这些模型至少包括局部重新识别模块250和全局重新识别模块252,下面将会对这些模块的一些操作进行描述。
在傅里叶域中执行相关度计算的动机如下文所述。在一些实施例中,基于对应用于两个视频帧的两个搜索窗之间的相关(性)分析的对象跟踪引出了训练回归模型的问题。这通常涉及到利用多个横向和纵向偏移版本的搜索窗进行多次估计相关度。然而,通过将该计算转化为傅里叶域,可以将该学习问题转化为由循环矩阵表示的循环问题,然后利用离散傅里叶变换(DFT)将该循环矩阵对角化。在傅里叶域里,循环矩阵的相关度被简化为O(n)复杂度开销的点积,而非O(n3)复杂度开销的全秩矩阵积(更多细节见于Henriques等人发表的“采用核化相关度滤波器的高速跟踪(High-speed tracking with kernelizedcorrelation filters)”,IEEE模式分析和机器智能处理汇刊(IEEE Transactions onPattern Analysis and Machine Intelligence),2015年第3期,第第37卷,第583-596页)。因此,大大简化并加速了相关度计算。
需要说明的是,在图4所示的示例性过程中,计算先前视频帧中单个搜索窗(即第一搜索窗)和当前视频帧中单个搜索窗(即第二搜索窗)之间提取的ROI特征图的互相关。然而,被跟踪的目标对象在移动中,因此在该序列视频帧226中该目标对象的尺寸会随着时间发生变化。考虑到该目标对象潜在的尺寸变化并且为了提高跟踪过程的稳定性,对象跟踪模块204可以在当前视频帧中采用具有不同尺寸的多个搜索窗来代替单个第二搜索窗方法。图5显示了根据本申请一些实施例,基于采用多个搜索窗计算先前视频帧和当前视频帧之间提取ROI特征图的互相关的示例性过程。需要说明,该过程可替换图4所示的示例性过程中的步骤406~410。
具体地,图5所示的过程首先为当前视频帧创建具有不同尺寸的多个搜索窗,从而这些搜索窗基本全部以先前视频帧确定的ROI为中心(步骤502)。在一些实施例中,该多个搜索窗的尺寸满足其中一个或多个搜索窗要大于该第一搜索窗。这些大于该第一搜索窗的搜索窗可用于预测该目标对象在当前视频帧中尺寸会变大的情况。该多个搜索窗还包括小于该第一搜索窗的一个或多个搜索窗。这些小于该第一搜索窗的搜索窗可用于预测该目标对象在当前视频帧尺寸会变小的情况。该多个搜索窗还可以包括与第一搜索窗具有相同尺寸的另一搜索窗。该另一搜索窗用于预测该目标对象在当前视频帧中尺寸保持不变的情况。需要说明,与第一搜索窗具有相同尺寸的搜索窗可等同与图4所示过程中的第二搜索窗。
在一具体示例中,可以为当前视频帧创建三个具有不同尺寸的搜索窗,其中这三个搜索窗均以在先前视频帧中确定的ROI为中心。更具体地,这三个搜索窗中的第一个搜索窗的尺寸与第一搜索窗相同;第二个搜索窗的尺寸略小于第一搜索窗;而第三个搜索窗的尺寸略大于第一搜索窗。
在为当前视频帧构建多个搜索窗后,该过程会将与第一搜索窗具有不同尺寸的搜索窗缩放为与该第一搜索窗相同的尺寸(步骤504)。换言之,比第一搜索窗尺寸大的搜索窗被降采样至与第一搜索窗相同的尺寸,而比第一搜索窗尺寸小的搜索窗被补强至与第一搜索窗相同的尺寸。通过这种方式,可以以上文描述的相同的方式将每个缩放后的搜索窗与该先前视频帧中的该第一搜索窗进行比较。
接下来,该过程计算在先前视频帧中的第一搜索窗和当前视频帧的多个缩放搜索窗中的每个搜索窗之间的相关图(步骤506)。更具体地,该过程计算该先前视频帧中的第一搜索窗的提取ROI特征图与该当前视频帧的多个缩放搜索窗中的每个搜索窗的提取ROI特征图之间的相关度。在一些实施例中,为了计算每对ROI特征图之间的相关度,该过程将上述基于FFT的方法用于将ROI特征图转化为频域,在频域中计算该相关度并将计算出的相关图转化为空间域。在一些实施例中,在频域中计算一对已转化ROI特征图之间的相关图之前,首先计算该对已转化ROI特征图之间的特征模型,然后计算出与该对已转化ROI特征图相关的一对特征模型之间的相关图。
接下来,对于计算出的先前视频帧中的第一搜索窗和当前视频帧中的多个缩放搜索窗中的每一个搜索窗之间的相关图,该过程识别该相关图的峰值(步骤508)。接下来,该过程从该多个已识别峰值中识别出最大的峰值,并将该当前帧中具有最大峰值的位置确定为该目标对象的新位置(步骤510)。在一些实施例中,为了避免误报,仅当最大峰值大于或等于预定义阈值的情况下才将该相关图中最大峰值对应的位置选择为该目标对象在当前视频帧中的位置。
回到视觉跟踪***200,该视觉跟踪***200还包括模型缓冲器236。在一些实施例中,该最近处理的一些(例如4至10个)视频帧相关的搜索窗计算得出的特征模型以及初始视频帧222的特征模型可存储至模型缓冲器236。在一些实施例中,当多个搜索窗用于处理结合图5描述的每个当前视频帧,仅仅具有最高峰值的搜索窗相关的特征模型需要存储至该模型缓冲器236。如下文将要描述的,在对象跟踪过程中将会应用到该被存储的特征模型值,该对象跟踪过程即当目标对象在跟踪过程中可能被对象跟踪模块204跟丢的情况。
需要说明,当对象跟踪模块204跟踪该目标对象时,对象跟踪模块204继续生成该目标对象的更新ROI 238。这些更新后的ROI,即该目标对象更新后的边界框可用于多种目的。首先,作为该对象跟踪模块204的输出,该最新更新的ROI 238可作为飞行控制模块240的输入。在一些实施例中,利用更新后的ROI值,飞行控制模块240可控制该UAV 102的飞行,从而使该UAV 102与地面之间保持近似等距。关于该飞行控制模块240利用更新后的ROI238控制该UAV 102的飞行的更多细节见于下文描述。第二,该更新后的ROI 238的中心位置作为当前视频帧中搜索窗的中心。此外,最新更新的ROI 238用于更新用于预测目标对象位置的卡尔曼滤波器。当该对象跟踪模块204跟丢该目标对象时,该卡尔曼滤波器预测的位置可用于重新识别该目标对象(下面将会更加详细地描述进一步的细节)。
在一些实施例中,为了提高对象跟踪操作的速度,可以优化该特征提取子模块228的软件实现。例如,可以利用存储配置和读取排序来降低存储带宽要求,增加高速缓存局部性并提高该处理器的临时高速缓存一致性。还可以开发未显现在高级计算机语言中的一些硬件特征。这些优化还可应用于目标跟踪***200的一些其他部分。
UAV飞行控制
需要说明,可以通过在两个维度上的旋转移动来控制UAV 102的飞行:(1)横摇移动,即以UAV 102由头至尾的方向为轴进行旋转;(2)俯仰移动,即以UAV 102由左手侧至右手侧的方向为轴进行旋转(通常称之为“升起或俯冲”)。如上文所述,更新ROI 238限定了该目标对象在当前视频帧的新边界框。当新边界框出现在该当前视频帧的左侧时,通常表示该目标对象位于该UAV102的左边。在这种情况下,飞行控制模块240可以控制UAV 102向左横摇。当新边界框出现在该当前视频帧的右侧时,通常表示该目标对象位于该UAV102的右边。在这种情况下,飞行控制模块240可以控制UAV 102向右横摇。在这两种情况下,该横摇移动的角度是基于该边界框的中心与图像帧中心之间的水平偏移确定的。
在一些实施例中,如果新的边界框的面积小于先前边界框的面积,则通常表示该UAV 102和该目标对象之间的距离增加了。在这种情况下,飞行控制模块240会控制该UAV102向下偏移,从而当该UAV 102向前飞行时使该UAV102增速,而当该UAV 102向后飞行时使该UAV 102减速。或者,如果新的边界框的面积大于先前边界框的面积,则通常表示该UAV102和该目标对象之间的距离减小了。在这种情况下,飞行控制模块240会控制该UAV 102向上偏移,从而当该UAV 102向前飞行时使该UAV 102减速,而当该UAV 102向前飞行时使该UAV 102增速。在这两种情况下,该俯仰移动的角度是由该新的边界框和当该目标对象最初被检测时该初始边界框的面积之间的对比而确定的,或者由该新的边界框和用户定义的默认边界框大小之间的对比而确定的。需要说明的是,该飞行控制模块240还可以基于新的边界框控制该UAV102的高度。例如,当该新的边界框相对于当前视频帧的中心具有纵向偏移,该飞行控制模块240可控制UAV 102向上或向下飞行从而降低纵向偏移。控制该UAV 102的飞行的目的在于使目标对象位于视频帧的中心或者近中心,并且该目标对象的ROI/边界框的面积基本保持不变。
需要说明,飞行控制模块240还可通过控制万向架110控制该摄像机108的角度。在下文结合图6所示的状态机600的全局重新识别状态606中,UAV102临时跟丢了目标对象。在操作状态下,飞行控制模块240可以控制UAV 102,使得该UAV 102无需移动或旋转,只需要原地盘旋并同时改变摄像机万向架110的角度,用于搜索跟丢的目标对象。需要说明,该万向架110通常具有三个旋转轴。在控制万向架110时,只要满足该摄像机108的旋转速度足够慢,以使得该全局重新识别模块具有足够多的时间来处理在不同摄像机角度下捕捉的视频图像,可以采样任何万向架调节技术。
摄像机移动估计
回到图1,为了跟踪一个移动中的目标对象(例如移动中的人112),UAV 102可基本保持静止(例如通过在被跟踪的目标对象的上方盘旋,而无需跟随该目标对象移动),或者紧紧地跟随该目标对象,与该目标对象保持近似等距。在后一种情形下,UAV 102需要模仿该目标对象的移动。当UAV 102随着该目标对象的移动而飞行时,作为UAV 102的一部分,该摄像机108以与UAV 102相同的方式移动。此外,该摄像机108还可独立于UAV 102的移动,在其万向架110上实现一定的独立移动,例如实现较小角度的旋转。因此,为了提高该视觉跟踪***200的视觉跟踪精度,通常需要了解摄像机108的移动。回到图2,该视觉跟踪***200可以控制该摄像机移动估计模块242,用于估计该摄像机108的移动。
从图2可以看出,该摄像机移动估计模块242可以接收来自于摄像机108的一序列视频帧266。在一些实施例中,该摄像机移动估计模块242接收摄像机108捕捉的两个连续视频帧并且计算这两个帧之间的相对偏移,从而估计该相机108的移动。由于该UAV 102上的计算资源的局限性,将整个帧提供给该摄像机移动估计模块242是不现实的(实际应用中也是不必要的)。相反地,可以采用每个帧的一个帧块来计算该偏移。在一些实施例中,该摄像机移动估计模块242用于计算偏移的帧块的实际尺寸应当足够大,从而可以获得精确的摄像机移动估计并且具有较稳健的抗噪性。例如,对于一个720p的视频流(即大小为1280*720像素的视频帧),该帧块的尺寸可以为该实际帧在每个维度上的约10%(例如对于1280*720像素的帧,其帧块的大小为120*68像素)。为了避免在该帧块内包含目标对象(这会影响到对摄像机移动的估计),可以将该帧块的位置选择为远离该帧的中心,例如临近该帧的边缘。由于目标对象通常位于该视频帧中心周围,因此,该帧块选择技术通常可以正常执行。
回到图2,摄像机估计模块242连接到目标移动估计模块244,而该目标移动估计模块244又分别连接到局部重新识别模块250和全局重新识别模块252。下文将会更加详细的指出,该目标移动估计模块244用于在视觉对象跟踪过程中预测该目标对象的移动,这可以获得该被预测目标对象的大概位置。在局部和全局对象重新识别过程中,目标对象有可能被对象跟踪模块204跟丢,此时该局部重新识别模块250和该全局重新识别模块252可以采用该预测目标位置。当预测该目标移动时,目标移动估计模块244可以从该预测目标移动中提取出估计摄像机移动,从而校正该摄像机移动带来的影响。
状态机:具有对象重新识别的对象跟踪
从一个视频帧到下一个视频帧(即,从先前视频帧到当前视频帧),如果该目标对象的位置和形状并没有发生明显变化,则该目标跟踪模块204执行的上述视觉跟踪操作通常运转正常。然而在一些情况下,该目标对象的形状会发生急速变化,这会导致该目标跟踪模块204所执行的如上文所述的简单的视觉跟踪程序无法实现,即在当前视频帧中跟丢该目标对象。在这种情况下,可以采用一个更加复杂的视觉跟踪程序,该程序包括对象重新识别功能,用于在新的视频帧中重新识别该目标对象。回到图2所示的视觉跟踪***200,注意该局部重新识别模块250和该全局重新识别模块252与对象跟踪模块204相互连接。在该目标跟踪模块204跟丢该目标对象(例如,由于该目标对象的速度和/或形状发生急速变化)之后,这两个模块分别或者结合在一起共同执行重新识别功能。
在本申请提出的视觉跟踪***200中,该跟踪模块204、局部重新识别模块250和全局重新识别模块252可协同操作,也可以在不同的该视觉跟踪***200的不同的操作状态下分别操作。这些操作状态包括上文已经描述的由目标跟踪模块204执行的正常跟踪状态、由局部重新识别模块250执行的局部重新识别状态,以及由全局重新识别模块252执行的全局重新识别状态。在一些实施例中,当该目标对象在正常跟踪状态期间可能被跟丢的情况下启动该局部重新识别状态。在局部重新识别状态期间,局部重新识别模块250可以在该目标对象前次被确认的位置周围的局部区域内搜索目标对象,从而快速地重新识别该目标对象。如果该局部重新识别模块250成功地重新识别该目标对象,则该整个跟踪操作可以恢复到正常跟踪状态。否则,则认为该目标对象已经局部丢失,然后开始启动该全球重新识别状态。在全局重新识别状态期间,该全局重新识别模块252可以全局搜索该目标对象,即在该当前视频帧的多个位置搜索该目标对象。如果该全局重新识别模块252在当前视频帧内成功地重新识别该目标对象,则该整个跟踪操作可以恢复到正常跟踪状态。否则,该认为该目标对象完全跟丢,需要重启整个跟踪操作。因此,可以通过包括上文描述的三个跟踪状态的状态机来描述由视觉跟踪***200执行的整个跟踪操作。
图6显示了根据本申请描述的一些实施例的具有对象重新识别功能的视觉跟踪***200的实施过程的状态机600。下文将结合图2所示的视觉跟踪***200对该状态机600进行描述。从图6中可以看出,该状态机600包括上文描述的三个状态,即正常跟踪状态602、局部重新识别状态604以及合局重新识别状态606。在视觉跟踪***200中,跟踪模块204执行正常跟踪状态602;局部重新识别模块250执行该局部重新识别状态604,并由全局重新识别模块252执行该全局重新识别状态606。在一些实施例中,状态机600还可以包括选择新目标状态608,通过该选择新目标状态608,可以提示用户104选择新的兴趣对象并接收用户选择。一旦选择了新的对象,该选择新目标状态608可以为正常跟踪状态602生成初始输入610,该初始输入610使状态机600进入到正常跟踪状态602。
在一些实施例中,在进入到正常跟踪状态602之后,该对象检测模块202首先为目标对象生成初始ROI,然后,该对象跟踪模块204继续在一序列新的视频帧中跟踪该目标对象。当采用上文描述的基于ROI特征的跟踪技术时,可以为每个新的视频帧中计算出的相关图中识别新的峰值p。在一些实施例中,不仅仅使用最新处理的视频帧,该峰值p是通过计算最近处理的多个视频帧的多个峰值的加权平均值获得的。在一些实施例中,对该加权平均值的权重的选择满足:在最近处理的该多个视频帧中偏后的视频帧所占的权重较高,而最近处理的该多个视频帧中偏早的视频帧所占的权重较低。
需要说明,正常跟踪状态602配置有预先确定的阈值参数T1,该参数的值可以是该视觉跟踪***200的根据经验确定的值。在一些实施例中,每次处理新的视频帧时,都会将该最新识别的峰值p与T1进行比较。As shown in FIG.在如图6所示的状态602中,只要最新获得的峰值p等于或者大于阈值T1,则该状态机600就会维持在正常跟踪状态602。然而,如图6中所示,当该最新计算得出的峰值p小于T1时,则状态机600确定该目标对象有可能被跟丢,并且随后进入局部重新识别状态604。
在一些实施例中,一旦进入局部重新识别状态604,则触发该局部重新识别模块250执行局部重新识别程序,用于在正常跟踪状态602时最后一次识别到目标对象的位置附近搜索目标对象。在一些实施例中,该局部重新识别程序将每个最新计算出的峰值p与另一预先确定的阈值T2进行比较,该T2的值小于或者等于预先确定的阈值参数T1在如图6所示的状态604中,如果最新计算出的峰值p小于阈值T2,则状态机600依然处于状态604,并且继续执行该局部重新识别程序。然而,如果最新计算的峰值p大于阈值T2,则状态机600确定已经重新识别出该目标对象,并在随后恢复至正常跟踪模式602。下文将对该局部重新识别程序作更加详细的说明。
在一些实施例中,如果该视觉跟踪***200在该状态机600进入到局部重新识别状态604后的一定时间后依然保持在局部重新识别状态604,则认为该目标对象已经丢失,该状态机600随后从局部重新识别状态604转化为全局重新识别状态606,其中该“一定时间”基于多个视频帧(用F1表示)而定。在一实施例中,可以基于帧率和允许局部重新识别程序的时间确定该F1。例如,如果该帧率为30FPS,允许时间为4秒,则F1的值为120帧。
在一些实施例中,一旦进入全局重新识别状态606,则触发该全局重新识别模块252执行全局重新识别程序,即在整个视频帧内搜索该目标对象。在一些实施例中,该全局重新识别程序会在该整个视频帧内均匀分布的多个位置处多次调用上文及下文描述的局部重新识别程序。然而,由于高计算复杂度,在一些低端平台上对每个新的视频帧执行全局重新识别程序是不现实的。在这些***中,可基于预先确定的处理时距F2(例如每30帧)在每多个视频帧中选择一个视频帧启动全局重新识别程序。
在一些实施例中,该全局重新识别程序将该最新处理帧的最新计算出的峰值p与另一预先确定的阈值T3进行比较,该T3的值小于或者等于预先确定的阈值参数T2在图6所示的状态606中,如果最新计算的峰值p大于阈值T3,则状态机600确定该全局重新识别程序已经重新识别出该目标对象,并在随后恢复至正常跟踪状态602。然而,如果最新计算出的峰值p小于或等于阈值T3,则状态机600依然处于全局重新识别状态606,并且继续执行该全局重新识别程序。在一些实施例中,如果该视觉跟踪***200在该状态机600进入到全局重新识别状态606后的一定时间后依然保持在全局重新识别状态606,该状态机600则确定该目标对象不能被重新识别并且已经丢失,该状态机600随后从全局重新识别状态606转化为选择新目标状态608,提示用户重新选择该状态机600的目标,其中该“一定时间”基于多个视频帧(用F3表示)而定。在一实施例中,可以基于帧率和允许全局重新识别程序的时间确定该F3。例如,如果该帧率为30FPS,允许时间为60秒,则F3的值为1800帧。
目标移动估计和局部重新识别程序
回到图2,注意视觉跟踪***200可在本申请公开的视觉对象跟踪操作过程中采用目标移动估计模块244来预测该目标对象的移动。可预测该目标对象的移动的能力(下文也称之为“目标移动估计”)使得该目标对象的当前和未来的位置变得可预测。如上文所描述的的,当该目标跟踪模块204跟丢该目标对象时,该视觉跟踪操作由局部重新识别模块250替代,该局部重新识别模块250可以预测该目标对象的位置,从而在预测位置附近搜索该目标对象。在一些实施例中,该目标移动估计模块244利用卡尔曼滤波器预测目标对象的移动。当该视觉跟踪操作由对象跟踪模块204执行,可以继续识别该目标对象的新位置。该目标对象的这些已确定的位置可用于更新参数,并训练该目标移动估计模块244内的卡尔曼滤波器。因此,该目标移动估计模块244可利用已训练卡尔曼滤波器预测该目标对象的移动和位置,即使这在视觉跟踪操作中是不需要的。
更具体地,当该目标跟踪模块204跟踪该目标对象(即当该状态机处于正常跟踪状态602),该目标移动估计模块244继续更新该预测参数(例如卡尔曼滤波器参数)。该预测参数包括该目标对象在下一视频帧中的预测位置。一般来讲,提供给卡尔曼滤波器的确定位置越多,则该预测就会越精准。需要说明,这些预测并不会影响到该目标跟踪模块204确定的ROI位置。然而,当该目标对象在正常跟踪状态200下可能跟丢的情况下,该卡尔曼滤波器的预测可用于估计该目标对象的当前位置,从而有助于重新识别程序,进而重新找到该目标对象。
需要说明,该卡尔曼滤波器技术通常采用线性模型来预测对象移动。该线性模型易受摄像机移动的影响,这是由于该目标对象的移动和该摄像机的移动的结合事实上通常是非线性的。因此,当目标对象和摄像机均处于移动状态时,使用卡尔曼滤波器表征该目标对象的移动是比较困难的。在一些实施例中,为了提高卡尔曼滤波器预测的精确度,可以从该目标移动估计模块244预测的目标移动中减去该摄像机移动估计模块242估计的相机移动。该较正后的目标移动估计基本上就是该目标对象移动的结果,因此该已训练的卡尔曼滤波器获得的目标对象的估计位置明显更加可靠。
图7显示了根据本申请一些实施例,在视觉跟踪操作期间用于执行目标对象快速局部重新识别的过程的流程图。需要说明,应当结合图2所示的***200和图6所示的状态机的上下文去理解图7所示的过程。如上文所述,当状态机600开始输入局部重新识别状态604时,开始该局部重新识别过程(步骤702)。接下来,该过程接收当前视频帧,并从目标移动估计模块244处接收该目标对象244在该当前视频帧中的预测位置(步骤704)。在局部重新识别状态602的开始,该目标对象位于该目标移动估计模块244预测的位置附近。因此,在预测目标位置附近的局部区域执行快速的局部搜索比较有可能会定位到该目标对象。
接下来,该过程利用上文描述的基于ROI特征的检测技术来比较针对正常跟踪状态602中的先前几个视频帧计算出的已存储特征模型和当前视频帧中预测位置处获取的特征模型(步骤706)。更具体地,该局部重新识别过程计算当前视频帧的特征模型的步骤包括:首先将搜索窗置于当前视频帧,其中该搜索窗以该当前视频帧中的预测位置为中心;然后利用上文描述的特征模型生成技术计算被置于当前视频帧的搜索窗的特征模型。此外,该过程可获取与来自模型缓冲器236的先前几个视频帧相关的新近计算出的特征模型。
在一些实施例中,无需采用针对先前几个视频帧计算得出的几个特征模型,而是采用先前计算得出并存储在模型缓冲器236内的所有特征模型,使得该目标对象与当前视频帧的预测位置处生成的特征模型相比较。采用尽量多的已存储特征模型的原因在于,从正常跟踪状态602向局部重新识别状态604转换的过程中,该目标对象的外形(包括尺寸以及视角)可能发生变化。当采用大量先前视频帧中与同一目标对象相关的多个特征模型与预测位置处的特征模型进行比较时,更有可能在当前视频帧中识别出外形可能已经发生变化的目标对象。需要说明,该多个已存储特征模型包括在正常跟踪状态602下的正常跟踪过程中的不同时间点生成的特征模型。此外,该多个已存储特征模型可以包括与初始帧222相关的初始特征模型。需要说明,在步骤706中比较特征模型时,由于采用了与多个先前视频帧相关的多个特征模型,因此在当前视频帧的预测位置处无需采用多个具有不同尺寸的搜索窗,而只需要一个搜索窗。然而,在步骤706的特征模型比较期间,可以在该预测位置处或该预测位置附近的多个略有不同的位置处放置多个具有相同尺寸的搜索窗,并且将该多个已存储特征模型与该多个具有相同尺寸的搜索窗生成的多个特征模型进行比较。该方法可用于消除该预测位置处的不精确性并提高重新识别该目标对象的可能性。
回到图7,该过程在比较已存储特征模型和当前视频帧中该预测位置处特征模型的同时确定在相关图中是否识别出具有足够高的峰值。如图6所描述的,该过程可基于与阈值T2的比较作出选择。如果相关图中识别出具有足够高的峰值,则该目标对象被局部重新识别成功,并且该过程回到正常跟踪状态602(步骤710)。否则,该过程判断是否已经达到(例如已经接收并处理了F2个帧)预先确定的处理间隔(例如状态604中的最大时间)(步骤712)。如果未达到预先确定的处理间隔,则该过程回到步骤704,开始处理新的视频帧。然而,如果该目标对象在预先确定的处理时距内无法局部重新识别,则该过程确定该目标对象已经局部跟丢,并在随后转换入全局重新识别状态606(步骤714),可将该全局重新识别状态606作为重新识别该目标对象的最后的尝试。如上文描述的,全局重新识别状态606在整个视频帧内搜索该目标对象。这包括在给定视频帧内均匀分布的多个位置处调用上文所述的局部重新识别过程,如图7所示的过程。因此,在该多个位置中的每个位置处,该全局重新识别状态606的局部操作与该局部重新识别状态604的整体操作基本相同。
需要说明,由于复杂度低,本申请公开的视觉跟踪***200可以在很多低端嵌入式平台上实现。例如,视觉跟踪***200可以在全志科技股份有限公司(AllwinnerTechnology Co.,Ltd)出品的V40片上***中实现,该V40片上***具有4核ARM Cortex A7处理器和Mali 400MP2 GPU。在一些测试中,该***可以以20帧每秒(FPS)的速度操作,或者对于720p的视频分辨率而言以更高的帧率操作,这对于实时UAV飞行控制通常是足够的。通常,V40 SoC用于简单应用,例如后视镜、数字电子看牌以及POS终端。以令人满意的速度和性能在V40 SoC上运行本申请公开的视觉跟踪***的能力表明了本申请公开的视觉跟踪***可以在视觉跟踪性能和整体***成本之间获得最佳平衡。然而,本申请公开的视觉跟踪***和技术还可用于很多其他平台,这些平台类似于上文所述的V40 SoC或者比V40 SoC更强大的平台。
图8描述了示例性嵌入式视觉跟踪***800(下文还将其称为“嵌入式***800”);根据本申请一些实施例,本申请公开的视觉对象跟踪***和技术可以在该***800内实现。嵌入式***800可以与监控摄像机***集成或者作为监控摄像机***、机器视觉***、无人机、机器人或者自驾车。从图8中可以看出,嵌入式***800包括总线802、处理器804、存储器806、存储装置808、摄像机810、输入装置接口812、输出装置接口814以及网络接口816。
总线802集中表示可通信连接嵌入式视觉***800的各种组件的所有***、***装置以及芯片组总线。例如,总线802可将处理器与存储器806、存储装置808、摄像机***810、输入装置接口812、输出装置接口814,以及网络接口816通信连接。
处理器804从这些存储单元中取回指令予以执行并取回数据予以处理,以便执行本申请公开的多个过程、技术和功能,这包括本申请结合图2-8描述的视觉对象跟踪***和技术的多个实施例。具体地,处理器804通过总线802接收实时视频图像,并针对接收到的视频图像利用存储在存储器806上的程序和代码执行本申请公开的多种视觉跟踪操作,从而对目标对象执行实时视觉跟踪。处理器804包括任何类型的处理器,这包括但不限于通用处理器、图形处理器(GPU)、张量处理器(TPU)、智能处理器(IPU)、数字信号处理器(DSP)、专用集成电路(ASIC),现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或其任何用于执行本申请公开的功能的上述组合。通用处理器可以是微处理器,但是在备选方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。此外,处理器804可以包括一个或多个核。处理器804本身可以包括用于存储代码和数据的高速缓存,供处理器执行。在嵌入式***800的低端UAV实施中,处理器804至少包括四核ARMCortex A7处理器以及Mali 400MP2 GPU。
存储器806可以包括可存储代码和数据以供处理器804执行的任意类型的存储器。具体地,处理器806可以存储程序和代码,这些程序和代码可以执行本申请公开的多个过程、技术和功能,这包括本申请结合图2-8描述的视觉对象跟踪***和技术的多个实施例。存储器806可用于接收并缓存由摄像机810捕捉的视频帧。这类存储器包括但不仅限于动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、只读存储器(ROM)以及现在已知或以后开发的任何其他类型的存储器。
存储装置808可包括可以与嵌入式***800集成的任意类型的非易失性存储装置。这包括但不限于磁性、光学,以及磁光存储装置,以及基于闪存和/或带蓄电池后备电源的存储器的存储装置。
总线802还连接到摄像机810。摄像头810被配置成以预定的分辨率捕捉静止图像和/或视频图像序列,并通过总线802,将捕捉到的图像或视频数据传送到嵌入式***800内的各种组件,诸如连接到存储器806供缓冲,并连接到处理器804供视觉对象跟踪使用。摄像机810包括一个或多个数字摄像机。在一些实施例中,摄像机810包括一个或多个配置有广角镜头的数字摄像机。该摄像机810捕捉的视频帧可具有不同的分辨率,这包括1280*720p、1920*1080p或者其他更高或更低的分辨率。
总线802还连接到输入装置接口812。输入装置接口812可以使用户与计算机***交换信息并发送命令。与输入装置接口812结合使用的输入装置接口例如包括触摸屏显示器、字母数字键盘和定点设备(也称为“光标控制设备”)。
同样与总线802连接的输出装置接口814例如可以实时显示对象跟踪结果,例如,正在被跟踪的目标对象以及由处理器804生成的相关边界框。与输出装置接口120一起使用的输出装置例如包括打印机和显示装置,诸如阴极射线管显示器(CRT)、发光二极管显示器(LED)、液晶显示器(LCD)、有机发光二极管显示器(OLED)、等离子体显示器或电子纸。
最终,如图8所示,总线802还通过网络接口816将嵌入式***800连接到网络(未示出)。通过这种方式,嵌入式***800可以作为网络(诸如局域网(“LAN”)、广域网(“WAN”),或内联网,或网络的网络,诸如因特网)的一部分。该嵌入式***800的任一或所有部件都可以结合本申请公开主题使用。
这里所公开的各实施例所描述的各种说明性逻辑块、模块,电路、以及算法步骤,可以作为电子硬件、计算机软件或两者的组合来实现。为清楚地显示硬件和软件的此互换性,上文已经一般就其功能而言描述了各种说明性组件、单元、模块、电路,以及步骤。此类功能集是被实现为硬件还是软件取决于具体应用和整体***的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能集,但此类设计决策不应被解释为能够脱离本公开的范围。
用于实现与本文所公开的各方面一起所描述的各种说明性逻辑、逻辑块、模块、以及电路的硬件可以与通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其他可编程逻辑器件,单独的栅极或晶体管逻辑、单独的硬件组件,或被设计为执行本文所描述的功能的其任何组合,来实现或执行。通用处理器可以是微处理器,但是在备选方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可以作为接收器装置的组合来实现,例如,DSP和微处理器的组合、多个微处理器、和DSP核一起的一个或多个微处理器,或任何其他这样的配置。可另选地,一些步骤或方法可以由给定功能特定的电路来执行。
在一个或更多示例性方面,所描述的功能可以以硬件、软件、固件,或其任何组合来实现。如果以软件来实现,则功能可以作为一个或多个指令或代码存储在非暂态的计算机可读取的存储介质上或非暂态的处理器可读取的存储介质上。本文所公开的方法或算法的步骤可以以能够驻留在非暂态的计算机可读取的或处理器可读取的存储介质上的处理器可执行指令来具体化。非暂态的计算机可读取的或处理器可读取的存储介质可以是能够被计算机或处理器访问的任何存储介质。作为示例但不作为限制,这样的非暂态的计算机可读取的或处理器可读取的存储介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储装置,或可以用来存储指令或数据结构形式的所需要的程序代码并可以被计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘,以及蓝光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述各项的组合也包括在非暂态的计算机可读取的和处理器可读取的介质的范围内。另外,方法或算法的操作可以作为一个代码和/或指令或代码和/或指令的任何组合或组,驻留在非暂态的处理器可读取的存储介质和/或计算机可读取的存储介质上,存储介质可以被包括到计算机程序产品中。
尽管本专利文件包含许多细节,但是,这些不应该被解释为对任何所公开的技术的或要求保护的东西的范围的限制,而是作为对特定的技术的特定实施例的特定的特征的描述。在本专利文件中在单独的实施例的上下文中所描述的某些特征也可以在单一实施例中组合地实现。相反,在单一实施例的上下文中所描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,虽然特征在上文可以被描述为以某些组合地起作用,甚至最初要求如此,来自要求保护的组合的一个或多个特征可以在某些情况下从组合中删除,要求保护的组合可以被定向到子组合或子组合的变体。
类似地,尽管操作在附图中是按特定顺序描绘的,但是,这不应该被理解为要求这样的操作以所示出的特定顺序或按先后顺序执行,或所有所示出的操作都被执行,以实现所需要的结果。此外,在本专利文件中所描述的各实施例中的各种***组件的分离不应该被理解为在所有实施例中都要求这样的分离。
本专利文件只描述了几个实现和示例,可以基于在本专利文件中所描述的和示出的内容作出其他实现、增强和变化。

Claims (17)

1.用于对视频中捕捉的目标对象执行实时视觉跟踪的计算机执行方法,其特征在于,所述方法包括:
接收所述视频中的第一帧视频图像以及在所述第一帧视频图像中所述目标对象的预先确定的第一个位置;
接收所述第一帧视频图像后的视频的第二帧视频图像,其中所述目标对象在所述第二帧视频图像中的位置未知;
将第一搜索窗置于第一帧视频图像中,所述第一搜索窗以所述目标对象的第一个位置为中心,并将第二搜索窗置于所述第二帧视频图像中,所述第二搜索窗在所述第二帧视频图像中的位置与所述第一搜索窗在所述第一帧视频图像中的位置相同;
计算第一搜索窗内的第一帧视频图像中的第一图像块和第二搜索窗内的第二帧视频图像中的第二图像块之间的相关图;以及
基于计算出的所述相关图确定所述目标对象在所述第二帧视频图像中的更新位置;
其中,计算第一搜索窗内的第一帧视频图像中的第一图像块和第二搜索窗内的第二帧视频图像中的第二图像块之间的相关图包括:
从第一图像块中提取第一特征图,从第二图像块中提取第二特征图;
计算第一特征图和第二特征图的二维快速傅里叶变换,以生成所述第一特征图和所述第二特征图的傅里叶表达式;
计算所述第一特征图的傅里叶表达式和所述第二特征图的傅里叶表达式之间的互相关度;以及
将计算得出的所述互相关度转化为空间域,以获得相关图。
2.根据权利要求1所述的计算机执行方法,其特征在于,所述第一搜索窗和所述第二搜索窗具有相同的横向和纵向尺寸,并且所述第一搜索窗和所述第二搜索窗的横向和纵向尺寸分别明显大于所述目标对象的边界框的对应尺寸。
3.根据权利要求1所述的计算机执行方法,其特征在于,计算所述第一特征图的傅里叶表达式和所述第二特征图的傅里叶表达式之间的互相关度包括:
通过计算所述第一特征图的傅里叶表达式的高斯核自相关度,计算所述第一特征图的第一特征模型;
通过计算所述第二特征图的傅里叶表达式的高斯核自相关度,计算所述第二特征图的第二特征模型;
计算所述第一特征模型和所述第二特征模型的元素级乘积,从而计算所述第一特征图的傅里叶表达式和所述第二特征图的傅里叶表达式之间的互相关度。
4.根据权利要求1所述的计算机执行方法,其特征在于,从第一图像块中提取第一特征图或从第二图像块中提取第二特征图包括:
从图像块中提取几何型特征图;
从图像块中提取颜色型特征图;以及
将所述几何型特征图与所述颜色型特征图连结在一起,以获得第一特征图或第二特征图。
5.根据权利要求1所述的计算机执行方法,其特征在于,在接收到所述第一帧视频图像之前,所述方法还包括:
接收所述视频中一序列视频帧中的最早视频图像,以及所述最早视频图像内所述目标对象的用户选择位置;以及
对所述最早视频图像执行对象检测操作,从而基于所述用户选择位置在所述最早视频图像中生成所述目标对象的初始位置和初始边界框。
6.根据权利要求1所述的计算机执行方法,其特征在于,基于计算出的所述相关图确定所述目标对象在所述第二帧视频图像中的更新位置包括:
在计算出的所述相关图中识别峰值;
将被识别出的所述峰值与第一阈值进行比较;以及
如果被识别出的所述峰值大于或等于第一阈值,则将所述峰值的位置选择为所述目标对象在第二帧视频图像中的更新位置。
7.根据权利要求6所述的计算机执行方法,其特征在于,如果被识别出的所述峰值小于所述第一阈值,则所述方法还包括:
接收所述第二帧视频图像之后的视频的第三视频图像;
从目标移动估计模块处接收所述目标对象在所述第三视频图像中的预测位置,其中所述预测位置位于所述第一个位置附近;
基于所述预测位置局部搜索所述目标对象;以及
如果在所述预测位置附近局部重新识别出所述目标对象,则重新采用所述目标对象在所述第三视频图像中确定的位置在所述视频中的后续视频图像中跟踪所述目标对象。
8.根据权利要求7所述的计算机执行方法,其特征在于,在接收到所述预测位置之前,所述方法还包括:利用所述目标对象在序列视频帧中的一组预先确定的位置训练所述目标移动估计模块。
9.根据权利要求7所述的计算机执行方法,其特征在于,基于所述预测位置局部搜索所述目标对象包括:
将第三搜索窗置于所述第三视频图像中,所述第三搜索窗以所述目标对象的预测位置为中心;
从所述第三搜索窗内的第三视频图像中的第三图像块中提取第三特征图;
检索一组存储特征图,所述组存储特征图基于一组先前处理的视频图像中所述目标对象的一组预先确定的位置计算得出;
计算所述第三特征图分别和所述组存储特征图中的每个特征图之间的一组相关图;以及
基于计算得出的所述组相关图在所述第三视频图像中重新识别目标对象。
10.根据权利要求9所述的计算机执行方法,其特征在于,基于计算得出的所述组相关图在所述第三视频图像中重新识别目标对象包括:
识别所述组相关图中的每个相关图的峰值,得到一组峰值;
在所述组峰值中识别出最高峰值;
将被识别出的最高峰值与第二阈值进行比较;以及
如果被识别出的最高峰值大于所述第二阈值,确定所述目标对象被重新识别。
11.根据权利要求7所述的计算机执行方法,其特征在于,所述目标移动估计模块利用训练卡尔曼滤波器预测所述目标对象的当前位置。
12.一种对视频中捕捉的目标对象执行实时视觉跟踪的计算机执行方法,其特征在于,所述方法包括:
接收所述视频中的第一帧视频图像以及在所述第一帧视频图像中所述目标对象的预先确定的第一个位置;
接收所述第一帧视频图像后的视频的第二帧视频图像,其中所述目标对象在所述第二帧视频图像中的位置未知;
将第一搜索窗置于第一帧视频图像中,所述第一搜索窗以所述目标对象的第一个位置为中心,并将多个第二搜索窗置于所述第二帧视频图像中,所述第二搜索窗在所述第二帧视频图像中的位置与所述第一搜索窗在所述第一帧视频图像中的位置相同;
计算第一搜索窗内的第一帧视频图像中的第一图像块分别和所述多个第二搜索窗内的第二帧视频图像中的多个第二图像块中的每个第二图像块之间的一组相关图;
识别所述组相关图中的每个相关图的峰值,得到一组峰值;
在所述组峰值中识别出最高峰值;以及
基于所述最高峰值在所述第二帧视频图像中的位置确定所述目标对象在所述第二帧视频图像中的更新位置;
其中,计算第一搜索窗内的第一帧视频图像中的第一图像块和所述多个第二搜索窗内的第二帧视频图像中的多个第二图像块中的一个第二图像块之间的相关图包括:
从第一图像块中提取第一特征图,从第二图像块中提取第二特征图;
分别计算第一特征图和第二特征图的二维快速傅里叶变换,以生成所述第一特征图的傅里叶表达式和所述第二特征图的傅里叶表达式;
计算所述第一特征图和所述第二特征图之间的互相关度;以及
将计算得出的所述互相关度转化为空间域,以获得相关图。
13.根据权利要求12所述的计算机执行方法,其特征在于,所述多个第二搜索窗包括:
大于所述第一搜索窗的一个或多个具有不同尺寸的搜索窗;
小于所述第一搜索窗的一个或多个具有不同尺寸的搜索窗;以及
与所述第一搜索窗具有相同尺寸的搜索窗。
14.根据权利要求12所述的计算机执行方法,其特征在于,在计算所述组相关图之前,所述方法还将所述多个第二搜索窗缩放为与所述第一搜索窗相同的尺寸。
15.一种对摄像机在视频中捕捉的目标对象执行实时视觉跟踪的***,其特征在于,所述***包括:
一个或多个处理器;
与所述一个或多个处理器连接的存储器;
其中所述存储器存储有指令,当所述一个或多个处理器执行所述指令时,实现如权利要求1所述的方法的步骤。
16.一种对移动中的对象执行实时视觉跟踪的无人驾驶飞行器,其特征在于,所述无人驾驶飞行器包括:
一个或多个处理器;
与所述一个或多个处理器连接的存储器;
安装于万向架并连接至所述一个或多个处理器和所述存储器的摄像机,其中所述摄像机用于捕捉所述移动中的对象的视频;
视觉跟踪模块,所述视觉跟踪模块用于实现如权利要求1所述的方法步骤。
17.根据权利要求16所述的无人驾驶飞行器,其特征在于,所述视觉跟踪模块还用于采用所述目标对象的更新位置控制所述无人驾驶飞行器和/或万向架的飞行。
CN201810665152.1A 2018-04-03 2018-06-22 用于嵌入式视觉***的高性能视觉对象跟踪方法及*** Active CN108961312B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/943,725 US11205274B2 (en) 2018-04-03 2018-04-03 High-performance visual object tracking for embedded vision systems
US15/943,725 2018-04-03

Publications (2)

Publication Number Publication Date
CN108961312A CN108961312A (zh) 2018-12-07
CN108961312B true CN108961312B (zh) 2022-02-25

Family

ID=64486809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810665152.1A Active CN108961312B (zh) 2018-04-03 2018-06-22 用于嵌入式视觉***的高性能视觉对象跟踪方法及***

Country Status (2)

Country Link
US (2) US11205274B2 (zh)
CN (1) CN108961312B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104583A1 (zh) * 2017-11-30 2019-06-06 深圳市大疆创新科技有限公司 最高温度点跟踪方法、装置和无人机
CN108898086B (zh) * 2018-06-20 2023-05-26 腾讯科技(深圳)有限公司 视频图像处理方法及装置、计算机可读介质和电子设备
CN109272530B (zh) * 2018-08-08 2020-07-21 北京航空航天大学 面向空基监视场景的目标跟踪方法与装置
US11138278B2 (en) * 2018-08-22 2021-10-05 Gridspace Inc. Method for querying long-form speech
TWI697846B (zh) * 2018-11-26 2020-07-01 財團法人工業技術研究院 物體辨識方法及其裝置
US11200429B1 (en) * 2018-12-28 2021-12-14 Zoox, Inc. Tracking objects using sensor data segmentations and/or representations
CN109859241B (zh) * 2019-01-09 2020-09-18 厦门大学 自适应特征选择和时间一致性鲁棒相关滤波视觉跟踪方法
CN109886996B (zh) * 2019-01-15 2023-06-06 东华大学 一种视觉追踪优化方法
KR102627478B1 (ko) * 2019-06-14 2024-01-23 주식회사 에이치엘클레무브 차량 제어 시스템, 비이미지 센서 모듈 및 센싱 데이터 처리 방법
US10949982B1 (en) * 2019-06-21 2021-03-16 Amazon Technologies, Inc. Moving object recognition, speed estimation, and tagging
US11475675B2 (en) * 2019-07-08 2022-10-18 Uatc, Llc Systems and methods for identifying unknown instances
US11367211B2 (en) * 2019-07-29 2022-06-21 Raytheon Company Inertially-assisted target detection
CN110544272B (zh) * 2019-09-06 2023-08-04 腾讯科技(深圳)有限公司 脸部跟踪方法、装置、计算机设备及存储介质
KR102322000B1 (ko) * 2019-11-12 2021-11-04 네이버랩스 주식회사 비주얼 로컬리제이션과 오도메트리를 기반으로 한 경로 추적 방법 및 시스템
CN110956131B (zh) * 2019-11-27 2024-01-05 北京迈格威科技有限公司 单目标追踪方法、装置及***
CN111008305B (zh) * 2019-11-29 2023-06-23 百度在线网络技术(北京)有限公司 一种视觉搜索方法、装置以及电子设备
CN110992404B (zh) * 2019-12-23 2023-09-19 驭势科技(浙江)有限公司 目标跟踪方法、装置和***及存储介质
CN111242981A (zh) * 2020-01-21 2020-06-05 北京捷通华声科技股份有限公司 一种定置物品的跟踪方法、装置和安保设备
CN112805723B (zh) * 2020-03-06 2022-08-09 华为技术有限公司 一种图像处理***、方法以及包括该***的自动驾驶车辆
CN111862160B (zh) * 2020-07-23 2023-10-13 中国兵器装备集团自动化研究所有限公司 一种基于arm平台的目标跟踪方法、介质和***
JP7508350B2 (ja) * 2020-12-04 2024-07-01 株式会社日立製作所 キャリブレーション装置およびキャリブレーション方法
CN112486197B (zh) * 2020-12-05 2022-10-21 青岛民航凯亚***集成有限公司 基于多源图像自适应选权的融合定位跟踪控制方法
CN112507906A (zh) * 2020-12-14 2021-03-16 北京澎思科技有限公司 目标跟踪的方法、装置以及计算机可读存储介质
CN112232322A (zh) * 2020-12-14 2021-01-15 支付宝(杭州)信息技术有限公司 一种基于对象状态预测的图像生成方法及装置
CN112580525B (zh) * 2020-12-22 2023-05-23 南京信息工程大学 一种基于行人再识别的病例活动轨迹监测方法
CN112668524A (zh) * 2020-12-31 2021-04-16 深圳云天励飞技术股份有限公司 多目标跟踪***及方法
CN113358100B (zh) * 2021-05-25 2022-07-29 电子科技大学 嵌入式与yolo4改进算法的无人机实时目标识别***
KR102637343B1 (ko) 2021-05-26 2024-02-16 삼성전자주식회사 오브젝트 추적 방법 및 장치
CN113822198B (zh) * 2021-09-23 2023-10-17 华南农业大学 基于uav-rgb图像和深度学习的花生生长监测方法、***及介质
CN114219836B (zh) * 2021-12-15 2022-06-03 北京建筑大学 一种基于时空信息辅助的无人机视频车辆跟踪方法
CN115359240B (zh) * 2022-07-15 2024-03-15 北京中科思创云智能科技有限公司 基于多帧图像运动特征的小目标检测方法、装置和设备
CN116310742B (zh) * 2023-04-17 2023-11-28 中国人民解放军军事科学院军事医学研究院 一种用于无人机反制的类脑智能处理***
CN116503914B (zh) * 2023-06-27 2023-09-01 华东交通大学 行人重识别方法、***、可读存储介质及计算机设备
CN117830883B (zh) * 2024-03-04 2024-05-31 成都庆龙航空科技有限公司 一种无人机的瞄准方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443320B1 (en) * 2015-05-18 2016-09-13 Xerox Corporation Multi-object tracking with generic object proposals
CN106934332A (zh) * 2015-12-31 2017-07-07 中国科学院深圳先进技术研究院 一种多目标跟踪的方法
CN107066990A (zh) * 2017-05-04 2017-08-18 厦门美图之家科技有限公司 一种目标跟踪方法及移动设备
CN107506707A (zh) * 2016-11-30 2017-12-22 奥瞳***科技有限公司 采用嵌入式***中的小规模卷积神经网络模块的人脸检测
CN107527370A (zh) * 2017-07-26 2017-12-29 南京理工大学 一种基于camshift的目标跟踪方法
CN107680120A (zh) * 2017-09-05 2018-02-09 南京理工大学 基于稀疏表示和转移受限粒子滤波的红外小目标跟踪方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3059035B2 (ja) * 1993-12-14 2000-07-04 三菱電機株式会社 距離測定装置
US6545706B1 (en) * 1999-07-30 2003-04-08 Electric Planet, Inc. System, method and article of manufacture for tracking a head of a camera-generated image of a person
US6901110B1 (en) * 2000-03-10 2005-05-31 Obvious Technology Systems and methods for tracking objects in video sequences
US6970577B2 (en) * 2000-12-19 2005-11-29 Lockheed Martin Corporation Fast fourier transform correlation tracking algorithm with background correction
TWI348659B (en) * 2007-10-29 2011-09-11 Ind Tech Res Inst Method and system for object detection and tracking
EP2586011B1 (en) * 2010-06-23 2023-07-26 Nokia Technologies Oy Method, apparatus and computer program product for tracking face portion
US9514366B2 (en) * 2014-02-03 2016-12-06 Xerox Corporation Vehicle detection method and system including irrelevant window elimination and/or window score degradation
US10095942B2 (en) * 2014-12-15 2018-10-09 Reflex Robotics, Inc Vision based real-time object tracking system for robotic gimbal control
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
KR101645722B1 (ko) * 2015-08-19 2016-08-05 아이디어주식회사 자동추적 기능을 갖는 무인항공기 및 그 제어방법
US20190068829A1 (en) * 2017-08-24 2019-02-28 Qualcomm Incorporated Systems and Methods for Improving Performance of a Robotic Vehicle by Managing On-board Camera Obstructions
US10872531B2 (en) * 2017-09-29 2020-12-22 Uber Technologies, Inc. Image processing for vehicle collision avoidance system
CN107818326B (zh) * 2017-12-11 2018-07-20 珠海大横琴科技发展有限公司 一种基于场景多维特征的船只检测方法及***
US11074447B1 (en) * 2018-07-13 2021-07-27 Hana Resources, Inc. Land analysis system using drone-captured data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443320B1 (en) * 2015-05-18 2016-09-13 Xerox Corporation Multi-object tracking with generic object proposals
CN106934332A (zh) * 2015-12-31 2017-07-07 中国科学院深圳先进技术研究院 一种多目标跟踪的方法
CN107506707A (zh) * 2016-11-30 2017-12-22 奥瞳***科技有限公司 采用嵌入式***中的小规模卷积神经网络模块的人脸检测
CN107066990A (zh) * 2017-05-04 2017-08-18 厦门美图之家科技有限公司 一种目标跟踪方法及移动设备
CN107527370A (zh) * 2017-07-26 2017-12-29 南京理工大学 一种基于camshift的目标跟踪方法
CN107680120A (zh) * 2017-09-05 2018-02-09 南京理工大学 基于稀疏表示和转移受限粒子滤波的红外小目标跟踪方法

Also Published As

Publication number Publication date
CN108961312A (zh) 2018-12-07
US20220114739A1 (en) 2022-04-14
US20190304105A1 (en) 2019-10-03
US11205274B2 (en) 2021-12-21
US11645765B2 (en) 2023-05-09

Similar Documents

Publication Publication Date Title
CN108961312B (zh) 用于嵌入式视觉***的高性能视觉对象跟踪方法及***
CN110998594B (zh) 检测动作的方法和***
US10546387B2 (en) Pose determination with semantic segmentation
Hausler et al. Multi-process fusion: Visual place recognition using multiple image processing methods
CN108230361B (zh) 用无人机探测器和追踪器融合来增强目标追踪方法及***
US9990736B2 (en) Robust anytime tracking combining 3D shape, color, and motion with annealed dynamic histograms
KR101645722B1 (ko) 자동추적 기능을 갖는 무인항공기 및 그 제어방법
Portmann et al. People detection and tracking from aerial thermal views
Chen et al. A deep learning approach to drone monitoring
CN111328396A (zh) 用于图像中的对象的姿态估计和模型检索
KR101769601B1 (ko) 자동추적 기능을 갖는 무인항공기
KR20180042254A (ko) 오브젝트 추적을 위한 시스템들 및 방법들
CN111985403B (zh) 一种基于人脸姿态估计和视线偏离的分心驾驶检测方法
US20220292715A1 (en) Method and apparatus for estimating pose of device
WO2022256150A1 (en) Occlusion-aware multi-object tracking
Wu et al. Multivehicle object tracking in satellite video enhanced by slow features and motion features
WO2023155903A1 (en) Systems and methods for generating road surface semantic segmentation map from sequence of point clouds
Manglik et al. Future near-collision prediction from monocular video: Feasibility, dataset, and challenges
Jiang et al. Unexpected dynamic obstacle monocular detection in the driver view
Mohan et al. Adaptive video subsampling for energy-efficient object detection
Le et al. Human detection and tracking for autonomous human-following quadcopter
Hou et al. Deformable multiple-kernel based human tracking using a moving camera
KR101656519B1 (ko) 확장칼만필터를 이용하여 추적성능을 높인 자동추적 기능을 갖는 무인항공기
Aswini et al. Drone Object Detection Using Deep Learning Algorithms
Velazquez et al. Using Autonomous Drone Interactions towards MobilePersonal Spaces for Indoor Environments

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
GR01 Patent grant
GR01 Patent grant