CN109477715A - 载体辅助跟踪 - Google Patents

载体辅助跟踪 Download PDF

Info

Publication number
CN109477715A
CN109477715A CN201680086519.3A CN201680086519A CN109477715A CN 109477715 A CN109477715 A CN 109477715A CN 201680086519 A CN201680086519 A CN 201680086519A CN 109477715 A CN109477715 A CN 109477715A
Authority
CN
China
Prior art keywords
carrier
carrying object
target
control signal
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680086519.3A
Other languages
English (en)
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.)
SZ DJI Osmo Technology Co Ltd
Original Assignee
SZ DJI Osmo Technology Co Ltd
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 SZ DJI Osmo Technology Co Ltd filed Critical SZ DJI Osmo Technology Co Ltd
Publication of CN109477715A publication Critical patent/CN109477715A/zh
Pending legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M13/00Other supports for positioning apparatus or articles; Means for steadying hand-held apparatus or articles
    • F16M13/04Other supports for positioning apparatus or articles; Means for steadying hand-held apparatus or articles for supporting on, or holding steady relative to, a person, e.g. by chains, e.g. rifle butt or pistol grip supports, supports attached to the chest or head
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M11/00Stands or trestles as supports for apparatus or articles placed thereon ; Stands for scientific apparatus such as gravitational force meters
    • F16M11/02Heads
    • F16M11/04Means for attachment of apparatus; Means allowing adjustment of the apparatus relatively to the stand
    • F16M11/06Means for attachment of apparatus; Means allowing adjustment of the apparatus relatively to the stand allowing pivoting
    • F16M11/10Means for attachment of apparatus; Means allowing adjustment of the apparatus relatively to the stand allowing pivoting around a horizontal axis
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M11/00Stands or trestles as supports for apparatus or articles placed thereon ; Stands for scientific apparatus such as gravitational force meters
    • F16M11/02Heads
    • F16M11/18Heads with mechanism for moving the apparatus relatively to the stand
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M11/00Stands or trestles as supports for apparatus or articles placed thereon ; Stands for scientific apparatus such as gravitational force meters
    • F16M11/20Undercarriages with or without wheels
    • F16M11/2007Undercarriages with or without wheels comprising means allowing pivoting adjustment
    • F16M11/2035Undercarriages with or without wheels comprising means allowing pivoting adjustment in more than one direction
    • F16M11/2071Undercarriages with or without wheels comprising means allowing pivoting adjustment in more than one direction for panning and rolling
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/78Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using electromagnetic waves other than radio waves
    • G01S3/782Systems for determining direction or deviation from predetermined direction
    • G01S3/785Systems for determining direction or deviation from predetermined direction using adjustment of orientation of directivity characteristics of a detector or detector system to give a desired condition of signal derived from that detector or detector system
    • G01S3/786Systems for determining direction or deviation from predetermined direction using adjustment of orientation of directivity characteristics of a detector or detector system to give a desired condition of signal derived from that detector or detector system the desired condition being maintained automatically
    • G01S3/7864T.V. type tracking systems
    • G01S3/7865T.V. type tracking systems using correlation of the live video image with a stored image
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B17/00Details of cameras or camera bodies; Accessories therefor
    • G03B17/56Accessories
    • G03B17/563Camera grips, handles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/675Focus control based on electronic image sensor signals comprising setting of focusing regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M2200/00Details of stands or supports
    • F16M2200/04Balancing means
    • F16M2200/041Balancing means for balancing rotational movement of the head
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M2200/00Details of stands or supports
    • F16M2200/04Balancing means
    • F16M2200/044Balancing means for balancing rotational movement of the undercarriage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/685Vibration or motion blur correction performed by mechanical compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Studio Devices (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Toys (AREA)
  • Manipulator (AREA)

Abstract

提供了使用搭载物与支持搭载物的载体一起跟踪物体的技术。搭载物可配置为利用图像传感器捕获图像并识别图像中的待跟踪目标。搭载物还可生成用于控制载体的控制信号以改变搭载物的姿态从而将搭载物保持在搭载物的视场内。

Description

载体辅助跟踪
背景技术
例如智能手机和平板电脑的现代移动设备通常配备有相机并用于拍摄周围环境中的物体的照片或视频。然而,当物体的运动要求移动设备的操作者相应地移动所述移动设备以使物体保持在视野中时,就出现了挑战。操作者方面可能需要更多技能来维持快速移动的物体在特定的图像位置。
发明内容
根据实施例,提供一种用于跟踪的方法。该方法包括由搭载物的一个或多个处理器检测由可释放连接至载体的搭载物的图像传感器捕获的图像中的目标与期望目标位置的偏差;以及由所述一个或多个处理器至少部分地基于检测的目标偏差来生成用于载体的一个或多个控制信号,所述一个或多个信号使载体改变搭载物的姿态,以减小图像传感器捕获的后续图像中的检测偏差。
在一些实施例中,该方法可进一步包括由搭载物的所述一个或多个处理器至少部分地基于初始目标信息来识别图像中的目标。所述初始目标信息可从搭载物提供的用户界面接收。识别目标可包括确定图像中目标的当前位置,并且该方法可进一步包括至少部分地基于目标的当前位置来调整图像传感器的焦距。
在一些实施例中,可至少部分地基于包括期望目标位置或期望目标大小的期望目标信息来检测偏差。所述期望目标信息可从搭载物提供的用户界面接收。
在一些实施例中,所述控制信号可包括关于载体的旋转轴线的角速度。
在一些实施例中,该方法可进一步包括通过搭载物使用无线连接将所述一个或多个控制信号发送至载体。所述无线连接可以是蓝牙、Wifi或近场通信(NFC)连接。
其他实施例针对与本文描述的方法相关的***、设备和计算机可读介质。例如,提供一个或多个非临时计算机可读存储介质。所述计算机可读存储介质存储当被搭载物的计算***执行时配置所述计算***以执行操作的计算机可执行指令,所述操作包括检测由可释放连接至载体的搭载物的图像传感器捕获的图像中的目标与期望目标位置的偏差;以及由所述一个或多个处理器至少部分地基于检测到的目标偏差来生成用于载体的一个或多个控制信号,所述一个或多个信号使载体改变搭载物的姿态,以减小图像传感器捕获的后续图像中的检测偏差。
在一些实施例中,所述操作还可进一步包括至少部分地基于初始目标信息来识别图像中的目标。所述初始目标信息可从搭载物提供的用户界面接收。识别目标可包括确定图像中的目标的当前位置,并且所述操作可进一步包括至少部分地基于目标的当前位置来调整图像传感器的焦距。
在一些实施例中,可至少部分地基于包括期望目标位置或期望目标大小的期望目标信息来检测偏差。所述期望目标信息可从搭载物提供的用户界面接收。
在一些实施例中,所述控制信号可包括关于载体的旋转轴线的角速度。
在一些实施例中,所述操作可进一步包括使用无线连接将所述一个或多个控制信号发送至载体。所述无线连接可以是蓝牙、Wifi或近场通信(NFC)连接。
根据实施例,提供一种用于支持跟踪的方法。该方法可包括由载体接收来自可释放连接至载体的搭载物的一个或多个搭载物控制信号,所述搭载物控制信号由搭载物响应于检测到搭载物捕获的图像中的目标与期望目标位置的偏差而生成;以及至少部分地基于所述一个或多个搭载物控制信号来致动载体的一个或多个致动器,以至少部分地基于所述搭载物控制信号而改变搭载物的姿态。
在一些实施例中,所述搭载物控制信号可包括相对于载体的旋转轴线的角速度。所述搭载物控制信号可无线连接接收。所述无线连接可以是蓝牙、Wifi或近场通信(NFC)连接。
在一些实施例中,致动一个或多个致动器可包括至少部分地基于搭载物控制信号来生成一个或多个载体控制信号,并且至少部分地基于所述载体控制信号来致动所述一个或多个致动器。载体控制信号可至少部分地基于所述一个或多个致动器的状态生成。
其他实施例针对与本文描述的方法相关的***、设备和计算机可读介质。例如,可提供配置为支持搭载物的载体。所述载体包括:一个或多个配置为允许搭载物关于一个或多个轴线相对于载体旋转的致动器;配置为接收来自搭载物的一个或多个搭载物控制信号的通信单元,所述控制信号由搭载物响应于检测到搭载物捕获的图像中的目标与期望目标位置的偏差而生成;以及通信耦合至所述通信单元和所述一个或多个致动器的载体控制器,所述载体控制器配置为至少部分地基于所述一个或多个搭载物控制信号来控制所述致动器以改变所述搭载物的姿态。
在一些实施例中,搭载物控制信号可包括关于所述一个或多个轴线中的一个的角速度。所述通信单元可配置为使用无线连接来接收所述一个或多个搭载物控制信号。所述无线连接可包括蓝牙、Wifi或近场通信(NFC)连接。
在一些实施例中,载体控制器可进一步配置为至少部分地基于搭载物控制信号来生成用于控制致动器的载体控制信号。搭载物可以可释放地连接至载体。
在一些实施例中,载体控制器可进一步配置为至少部分地基于由连接至载体的基座支撑件提供的基座控制信号来控制致动器。
根据实施例,提供一种用于图像处理的方法。该方法可包括由移动设备的图形处理单元(GPU)获取具有第一像素大小和第一颜色格式的第一组图像数据,所述第一组图像数据由所述移动设备的图像传感器生成;由GPU对所述第一组图像数据进行重新采样以生成具有第二像素大小的第二组图像数据;以及由GPU重新格式化第二组图像数据以生成具有第二颜色格式的第三组图像数据,其中所述第三组图像数据用于通过移动设备跟踪物体。
在一些实施例中,重新格式化第二组图像数据可包括基于第二组图像数据的对应像素的颜色信息确定第三组图像数据的每个像素的颜色信息。
在一些实施例中,该方法可进一步包括由移动设备的中央处理单元(CPU)的矢量处理器重新格式化第三组图像数据以生成具有第三颜色格式的第四组图像数据。重新格式化第三组图像数据可包括去除第三组图像数据的每个像素的一种颜色通道。第四组图像数据可由CPU处理以识别物体。
在一些实施例中,物体的跟踪可至少部分地基于从移动设备提供的用户界面接收到的初始目标信息。
在一些实施例中,第三组图像数据可由移动设备的中央处理单元(CPU)处理以生成用于控制移动设备的载体的控制信号。
其他实施例针对与本文描述的方法相关的***、设备和计算机可读介质。例如,可提供一个或多个非临时计算机可读存储介质。所述计算机可读存储介质可存储当被移动设备的计算***执行时配置所述计算***以执行操作的计算机可执行指令,所述操作包括由移动设备的图形处理单元(GPU)获取具有第一像素大小和第一颜色格式的第一组图像数据,所述第一组图像数据由移动设备的图像传感器生成;由所述GPU对所述第一组图像数据进行重新采样以生成具有第二像素大小的第二组图像数据;以及由GPU重新格式化第二组图像数据以生成具有第二颜色格式的第三组图像数据,其中第三组图像数据用于通过移动设备跟踪物体。
在一些实施例中,重新格式化第二组图像数据可包括基于第二组图像数据的对应像素的颜色信息确定第三组图像数据的每个像素的颜色信息。
在一些实施例中,所述操作进一步包括由移动设备的中央处理单元(CPU)的矢量处理器重新格式化第三组图像数据以生成具有第三颜色格式的第四组图像数据。重新格式化第三组图像数据可包括去除第三组图像数据的每个像素的一种颜色通道。第四组图像数据可由CPU处理以识别物体。
在一些实施例中,物体的跟踪可至少部分地基于从移动设备提供的用户界面接收到的初始目标信息。
在一些实施例中,第三组图像数据可由移动设备的中央处理单元(CPU)处理,以生成用于控制移动设备的载体的控制信号。
提供一种移动设备。所述移动设备可包括:配置为生成第一组图像数据的图像传感器;配置为重新采样所述第一组图像数据以生成具有第二像素大小的第二组图像数据并重新格式化第二组图像数据以生成具有第二颜色格式的第三组图像数据的图形处理单元(GPU);以及配置为使用所述第三组图像数据来跟踪物体的中央处理单元(CPU)。
在一些实施例中,重新格式化第二组图像数据可包括基于第二组图像数据的对应像素的颜色信息确定第三组图像数据的每个像素的颜色信息。
在一些实施例中,CPU可包括配置为重新格式化第三组图像数据以生成具有第三颜色格式的第四组图像数据的矢量处理器。重新格式化第三组图像数据可包括去除第三组图像数据的每个像素的一种颜色通道。
在一些实施例中,跟踪物体包括识别物体,可至少部分地基于从移动设备提供的用户界面接收到的初始目标信息。
在一些实施例中,跟踪物体可包括生成用于控制移动设备的载体的控制信号。
应该理解,可以单独地、共同地或彼此组合地认识本发明的不同方面。本文描述的本发明的各个方面可以应用于下面给出的任何特定应用或任何其他类型的可移动和/或静止物体之间的数据通信。
通过阅读说明书、权利要求书和附图,本发明的其他目的和特征将变得显而易见。
附图说明
本发明的新颖特征在所附权利要求中特别阐述。通过参考以下详细描述和附图来获得对本发明的特征和优点的更好理解,其中阐述了利用本发明的原理的说明性实施例。附图如下:
图1示出了根据实施例的载体。
图2示出了根据实施例的载体的另一视图。
图3示出了根据实施例的载体可安装于其上的手持式支撑件。
图4示出了根据实施例的***部件之间的示例性通信。
图5图示了根据实施例的用于实现目标跟踪的示例性过程。
图6示出了根据实施例的搭载物的示例性部件。
图7示出了根据实施例的用于目标跟踪的示例性过程。
图8示出了根据实施例的用于维持图像中的目标的期望位置的示例性方法。
图9示出了根据实施例的用于维持图像中的目标的期望位置的示例性方法。
图10示出了根据实施例的用于实现目标跟踪的示例性过程。
图11示出了根据实施例的使用现有技术进行图像处理的第一示例性过程。
图12示出了根据实施例的使用现有技术进行图像处理的第二示例性过程。
图13示出了根据实施例的用于图像处理的示例性过程。
图14示出了根据实施例的用于图像处理的另一示例性过程。
具体实施方式
本发明的***、设备和方法提供了使用搭载物(例如移动设备)来跟踪物体而不仅仅依赖于操作者技能的技术。具体地,辅助可由连接至搭载物的载体提供,所述载体可被控制以允许搭载物相对于载体移动(例如多达三个自由度轴线)。搭载物可配置为从由搭载物的图像传感器捕获的图像中识别要跟踪的目标。在一些实施例中,搭载物对目标的识别可基于经由搭载物提供的用户界面或从其他源提供的初始目标信息(例如初始位置和/或大小)。搭载物可配置为在显示器上显示图像,其中被跟踪目标被突出显示或以其他方式指示(例如,围绕目标的界框)。当在图像中目标偏离期望位置时,搭载物可生成用于载体的控制信号以补偿偏差。基于所述控制信号,载体可改变搭载物的姿态(例如相对于一个或多个轴线旋转搭载物),由此改变搭载物的图像传感器的视场,以使得感知目标接近期望位置。在一些实施例中,搭载物也可配置为调整图像传感器的一个或多个参数(例如焦距)。例如,通过调整图像传感器的焦距,可使目标在其当前位置处被聚焦。作为另一个例子,通过放大或缩小可将目标保持在期望的可感知大小。有利地,所描述的***、方法和装置提供了搭载物(例如智能手机)对目标的简单且有效的跟踪。通过直接控制搭载物的载体来调整搭载物的姿态,搭载物可实现比用户提供的更快和更精确的姿态改变,从而导致更有效的跟踪。
根据本发明的另一方面,提供用于高效图像处理的技术。本文描述的跟踪技术可能要求输入具有与由图像传感器生成的原始图像数据不同的像素大小和/或颜色格式的图像数据。因此,在用于进一步处理(例如,识别目标和/或生成控制信号)之前,原始图像数据被预处理以具有正确的大小和/或格式。这种预处理通常通过与共享主存储器连接的通用中央处理器(CPU)在软件级进行,从而导致性能缓慢。改进的技术依赖于硬件加速的图形处理单元(例如GPU)来执行大量的这种图像处理,由此缩短图像传感器和跟踪模块之间的延迟并改善整体跟踪过程的性能。
图1示出了根据实施例的载体100。载体100可以可释放地(可拆卸地)连接至搭载物102并且用于控制连接的搭载物102的空间布局(姿态)。例如,载体可用于改变搭载物102相对于载体关于多达三个自由度的轴线,即第一轴线104、第二轴线106和第三轴线108的方向。搭载物102可包括相机、智能手机、平板电脑或其他移动设备。搭载物可捕捉图像(例如使用连接至搭载物102的图像传感器103)。进一步地,搭载物102可配置为向载体100提供控制信号。所述控制信号可用于改变搭载物102的空间布局,以跟踪周围环境中的目标(例如使用图像传感器103)。
载体100可包括搭载物固持器110、一个或多个旋转组件114、118和122、通信单元(未示出)和载体控制器(未示出)。搭载物固持器110可配置为与搭载物102连接(例如,使用卡扣、夹具、托架、支架、框架、磁铁等)。旋转组件可由载体控制器控制以改变搭载物固持器110(并且因此连接的搭载物)的空间布局。通信单元可配置为从搭载物、基座支撑件和/或任何其他设备接收数据和/或向其发送数据。控制器可配置为例如基于由通信单元接收的控制信号来控制旋转组件的一个或多个致动器。关于通信单元和控制器的进一步细节将结合图4进行讨论。
在一些实施例中,搭载物固持器110可适于容纳各种大小的搭载物。例如,搭载物固持器110可包括一个或多个可沿一个或多个维度延伸或回缩的支架111。在另一示例中,搭载物固持器110可包括可磁性连接至搭载物102一侧而不使用例如夹具的任何紧固件的平台。在一些实施例中,搭载物可固定至搭载物固持器,使得搭载物的光轴105大致平行于载体的一条旋转轴线(例如轴线106)。可选地,光轴105可不平行于旋转轴线。
搭载物固持器110可连接至可被控制以围绕第一旋转轴线104旋转搭载物固持器110和搭载物102(当与搭载物固持器连接时)的第一旋转组件114。第一旋转组件114可连接至可配置为绕第二旋转轴线106旋转第一旋转组件114、搭载物固持器110和搭载物102的第二旋转组件118。第二旋转组件118可连接至可配置为绕第三旋转轴线108旋转第二旋转组件118、第一旋转组件114、搭载物固持器110和搭载物102的第三旋转组件122。
第一旋转组件114可包括连接至搭载物固持器110的第一旋转臂112和可被控制以引起第一旋转臂112相对于第二旋转组件118的第二旋转臂116旋转的第一致动器(例如电机,未示出)。第二旋转组件118可包括与第一旋转组件114连接的第二旋转臂116和可被控制以引起第二旋转臂116相对于第三旋转组件122的第三旋转臂120旋转的第二致动器(例如电机,未示出)。第三旋转组件122可包括与第二旋转组件118连接的第三旋转臂120和可被控制以引起第三旋转臂120相对于可连接至第三旋转组件122(例如通过安装组件)的基座支撑件(未示出)旋转的第三致动器(例如电机,未示出)。
旋转组件的旋转臂的长度可沿一个或多个方向调节(例如通过用户或自动化过程)。这种可调节旋转臂可用于将搭载物、搭载物固持器、第一旋转组件、第二旋转组件、和/或第三旋转组件的至少一部分的重心重新定位为更接近旋转组件的旋转轴线以提供效率。例如,第二旋转臂116可沿一个或多个方向(例如大致平行于第一轴线104或第二轴线106)延伸或回缩。类似地,第三旋转臂120可沿一个或多个方向(例如大致平行于第二轴线106或至第三轴线108)延伸或回缩。
旋转轴线104、106和108可以是正交的轴线。可选地,旋转轴线可以是非正交的轴线。在一些实施例中,围绕旋转轴线的旋转引起连接的搭载物102(并且因此图像传感器103)相应的俯仰、偏航和横滚旋转。俯仰轴线是指引起搭载物的俯仰旋转的旋转轴线。类似地,偏航轴线是指引起搭载物的偏航旋转的旋转轴线。横滚轴线是指引起搭载物的横滚旋转的旋转轴线。俯仰致动器是指配置为引起俯仰旋转的致动器。偏航致动器是指配置为引起偏航旋转的致动器。横滚致动器是指配置为引起横滚旋转的致动器。
第一旋转轴线104、第二旋转轴线106和第三旋转轴线108可分别对应于俯仰轴线、横滚轴线和偏航轴线。在其他一些实施例中,旋转轴线104、106、108可对应于例如俯仰-偏航-横滚、横滚-俯仰-偏航、横滚-偏航-俯仰、偏航-横滚-俯仰或偏航-俯仰-横滚的其他顺序轴线组合。
在一些实施例中,载体100可配置为允许搭载物相对于载体移动。例如,载体100可控制搭载物关于少于三个自由度的轴线的方向。相应地,在这些实施例中,载体可仅包括上述三个旋转组件的子集。例如,当载体配置为提供两个自由度的轴线时,载体可仅包括两个可互相转动连接的旋转组件,例如第一旋转组件114和第二旋转组件118(以提供围绕第一轴线104和第二轴线106的旋转),第一旋转组件114和第三旋转组件122(以提供围绕第一轴线104和第三轴线108的旋转),或第二旋转组件118和第三旋转组件122(以提供围绕第二轴线106和第三轴线108的旋转)。所述两个旋转组件的一个旋转组件可连接至搭载物固持器110,而另一个旋转组件可连接至例如其他部分所述的基座支撑件。
类似地,当载体配置为仅提供一个自由度的轴线时,载体可包括仅第一旋转组件114(以提供围绕第一轴线104的旋转),仅第二旋转组件118(以提供围绕第二轴线106的旋转),或者仅第三旋转组件122(以提供围绕第三轴线108的旋转)。旋转组件可在一端连接至搭载物固持器110,以及例如其他部分所述的基座支撑件。
图2示出了根据实施例的载体100的另一视图。具体地,图2示出了连接至载体100的搭载物102的显示器124。显示器124可设置于搭载物的与图像传感器103不同(例如相对)的侧上。可选地,显示器124可设置于与图像传感器103相同的一侧。
显示器可用于提供由在搭载物上运行的应用程序(例如跟踪应用程序)提供的用户界面。在一些实施例中,所述用户界面可配置为接收来自用户的输入(例如,待跟踪物体的选择或者是否启动或终止跟踪的指示),以及向用户显示输出数据。所述输出数据可包括由搭载物的一个或多个图像传感器捕获的实时或接近实时图像(包括静止图像和视频)。所述输出数据还可包括例如被跟踪目标的指示器(例如围绕目标的界框)、关于正在被跟踪的目标的信息(例如目标的位置、尺寸、形状)、关于跟踪模式或状态的信息等非图像数据。
图2还进一步详细示出搭载物固持器110的一对可延伸支架111。所述支架111可延伸以远离彼此(例如沿所示维度126)以容纳更大的搭载物。类似地,支架111可回缩至更靠近彼此(例如沿所示维度126),以容纳更小的搭载物。
在不同实施例中,本文描述的载体可安装至合适的可包括可移动物体(例如自行车、无人飞行器)、连接至可移动物体的基座适配器、三脚架、手持支撑件等的基座支撑件上。图3示出了根据实施例的其上可安装载体304的手持支撑件302。载体304可以上述方式连接至搭载物306。载体304可经由安装组件308安装到基座支撑件302上。
在一些实施例中,载体304可使用快速释放连接机构可释放地(可拆卸地)连接至基座支撑件。快速释放连接机构可使用户能够利用少量简单运动序列(例如旋转或扭转运动;滑动运动;按下按钮、开关或柱塞;等等))快速机械地连接和/或分离多个部件。
在一些实施例中,基座支撑件302可包括配置为支持与搭载物306、载体304、遥控器、连接的计算机或其他外部设备的有线和/或无线通信的通信单元。例如,基座支撑件302可包括一个或多个端口314以实现与外部设备的数据交换。
在一些实施例中,基座支撑件302可包括输入/输出部件。输入部件可用于控制或以其他方式与连接的载体304、搭载物306、遥控器等通信。这种输入部件的示例可包括按钮、杠杆、操纵杆、触摸屏、麦克风、相机等。例如,可使用一个或多个控制按钮312来锁定、重置、改变或以其他方式控制载体的姿态。输出部件用于向用户提供输出或反馈。例如,输出部件可包括显示器、扬声器等。
图4示出了根据实施例的本文所述的部件之间的示例性通信400。具体地,搭载物402可与连接至搭载物的载体404通信以控制载体404的状态。可选地,载体404也可由连接至载体404的基座支撑件406控制。基座支撑件406可配置为与一个或多个外部设备408通信。
搭载物402可包括配置为将控制信号发送至载体404以改变搭载物402的姿态的应用程序410。如本文所使用的,术语控制信号和控制数据可互换使用,以指代用于控制受控实体(例如载体404)的状态的任何信息。术语反馈信号和反馈数据可互换使用,以指代指示受控实体(例如载体404)的状态的任何信息。在一个实施例中,应用程序402是本文其他部分描述的跟踪应用程序。控制信号可由跟踪应用程序至少部分地基于检测到的由搭载物捕获的图像中的目标与预期位置的偏差来生成。目标的位置通常是指目标中心点的坐标。控制信号可用于补偿或校正检测到的偏差,以便在由搭载物捕获的后续图像中将目标维持在或靠近期望位置处。
载体404可包括通信单元412、载体控制器414和多个致动器416、418、420。致动器416、418和420的每一个可以是图1-2中描述的相应旋转组件的一部分。通信单元412能够与搭载物402进行单向或双向通信。例如,通信单元412可配置为从搭载物402接收控制信号。在一些实施例中,搭载物402的应用程序410提供控制信号至搭载物402的通信单元(未示出),搭载物402的通信单元然后将控制信号发送至载体404。在一些实施例中,载体的通信单元412还可配置为发送包括关于载体404的状态信息的反馈数据至搭载物402。例如,所述状态信息可以是空间布局、加速度、速度或关于载体或其组件的其他信息。所述状态信息可基于由连接或耦合至载体的传感器提供的传感器数据来生成。在不同实施例中,搭载物402与载体404之间的通信可使用有线连接、无线连接或两者来实现。例如,发送控制信号和/或从搭载物402向载体404的通信单元412发送控制信号可使用无线连接进行,例如使用蓝牙、Wifi或近场通信(NFC)。
通信单元412和载体控制器414可附接至载体404的任何合适的部分。例如,通信单元412或载体控制器414可附接至搭载物固持器或载体的任何一个旋转组件。
载体控制器414可配置为接收来自搭载物通信单元412的搭载物控制信号和/或发送载体反馈信号至通信单元412。载体控制器414和通信单元412之间的通信可在任何合适的通信通道上以任何合适的数据形式进行。例如,在一个示例中,使用通用异步接收器/发送器(UARTs)按顺序地发送数据位。可选地,数据位可并行发送。
可使用从搭载物402到载体404的搭载物控制信号来调整载体404的一个或多个致动器416、418、420的状态,以改变搭载物的姿态。致动器的状态可包括开或关状态、加速度、速度、角位置等。在一些实施例中,控制信号可包括各个致动器的一个、两个、更多个角速度。角速度可以是实际的或期望的(感知的)角速度。例如,控制信号可仅包括致动器相对于致动器的旋转轴线的一个角速度。旋转轴线可对应于或大致平行于搭载物的俯仰、偏航或横滚轴线。在另一个示例中,控制信号可包括两个角速度——第一致动器相对于第一旋转轴的第一角速度和/或第二致动器相对于第二旋转轴的第二角速度。第一旋转轴线和第二旋转轴线可分别对应于或大致平行于俯仰轴线和偏航轴线。可选地,第一旋转轴线和第二旋转轴线可对应于或大致平行于俯仰轴线和横滚轴线,或者偏航轴线和横滚轴线。在另一示例中,控制信号可包括三个不同致动器的三个角速度。可选地或附加地,控制信号可包括一个或多个致动器的一个或多个角位置。
载体控制器414可配置为基于从搭载物402接收到的搭载物控制信号来生成用于一些或全部致动器416、418、420的载体控制信号。载体控制信号可包括用于控制致动器以执行接收的搭载物控制信号的任何信号。载体控制信号可包括例如将被各个致动器施加的一个或多个预期或实际的转矩值。例如,如果搭载物控制信号包括相对于俯仰轴线的角速度,则载体控制器414可产生对应于俯仰轴线的角速度的俯仰致动器的转矩。类似地,如果搭载物控制信号包括相对于偏航轴线的角速度,则载体控制器414可产生对应于偏航轴线的角速度的偏航致动器的转矩。如果搭载物控制信号包括相对于横滚轴线的角速度,则载体控制器414可产生对应于横滚轴线的角速度的横滚致动器的转矩。
载体控制器414还可配置为接收表示致动器416、418、420或载体的其它部件的状态信息的反馈信号。所述反馈信号可包括例如各个致动器关于其旋转轴线的一个或多个角位置。在一些实施例中,可使用反馈信号来确定载体的致动器或其他部件的当前状态和/或生成如下所述的后续载体控制信号。
在一些实施例中,载体404可包括用于确定载体或由载体404承载的搭载物402的状态的一个或多个载体传感器(未示出)。状态信息可包括空间布局(例如位置、方向或姿态)、速度(例如线速度或角速度)、加速度(例如线性加速度或角加速度)、和/或关于载体、其部件、和/或搭载物402的其他信息。在一些实施例中,从传感器数据获取或计算的状态信息可用作反馈数据来控制载体的部件的旋转。这种载体传感器的例子可包括运动传感器(例如,加速度计)、旋转传感器(例如陀螺仪)、惯性传感器等。
载体传感器可连接或耦合至载体的任何合适的一个或多个部分(例如,搭载物固持器、旋转组件和/或致动器),并且可相对于搭载物移动或不移动。可选地或附加地,至少一些载体传感器可直接连接或耦合至由载体承载的搭载物。
载体传感器可与载体的一些或全部致动器连接或耦合。例如,三个载体传感器可分别连接至三轴载体的三个致动器,并且配置为测量各自致动器对三轴载体的驱动。这种传感器可包括电位计或其他类似的传感器。在一个实施例中,可在电机的电机轴上***传感器(例如电位计),以测量电机转子和电机定子的相对位置,由此测量转子和定子的相对位置并生成代表其位置的信号。在一个实施例中,每个耦合至致动器的传感器配置为提供其测量的对应致动器的位置信号。例如,可使用第一电位计生成第一致动器的第一位置信号,可使用第二电位计生成第二致动器的第二位置信号,并且可使用第三电位计生成第三致动器的第三位置信号。在一些实施例中,载体传感器也可连接至载体的一些或全部框架构件。传感器能够传达关于载体的一个或多个框架构件和/或搭载物的位置和/或方向的信息。传感器数据可用于确定图像传感器相对于搭载物和/或参考系的位置和/或方向。
载体传感器可提供可发送至可连接或耦合至载体和/或搭载物的一个或多个载体控制器414的位置和/或方向数据。传感器数据可用于基于反馈的控制方案。控制方案可用于控制例如一个或多个电机的一个或多个致动器的驱动。一个或多个控制器414可产生用于驱动致动器的控制信号。在一些情况下,控制信号可至少部分地基于从载体传感器接收的指示载体或载体承载的搭载物的空间布局的数据而生成。有利地,所述控制方案可用于提供用于驱动载体的致动器的反馈控制,由此使载体部件能够更精确和准确地旋转。
仍参照图4,载体控制器414可通过一个或一组例如微控制器、微处理器和例如电机起动器、降压起动器、可调速驱动器、智能电机控制器(IMC)等的致动器控制器(也称为致动器驱动器)等的控制器设备来实现。在一个示例中,载体控制器414至少部分地由嵌入惯性测量单元(IMU)的微控制器或微处理器来实现。致动器控制器可包括适用于控制相应致动器的驱动和接收来自相应传感器(例如电位计)的位置信号的硬件和/或软件部件。
在一些实施例中,载体控制器414由直接控制多个致动器的单个控制器设备实现。在其他一些实施例中,载体控制器414由多级控制器设备来实现。例如,顶级控制器可基于搭载物控制信号来控制多个低级控制器。每个低级控制器然后可基于来自顶级控制器的控制信号直接控制一个或多个致动器。在这样的示例中,顶级控制器可以是微控制器或微处理器,以及低级控制器可以是致动器控制器。可选地,低级控制器可继而控制直接控制致动器的更低级控制器。以此类推。
载体控制信号可同时发送至致动器控制器或下级控制器,以产生致动器的同时驱动。可选地,载体控制信号可按顺序发送,或仅发送至一个致动器控制器或下级控制器。
在一些实施例中,载体控制器可适于基于来自搭载物的输入搭载物控制信号来进行不同级别的计算。搭载物控制信号可包括上述角速度信息的上级或下级控制信息。在一些实施例中,来自搭载物的搭载物控制信号可包括例如跟踪目标的实际和/或期望位置的相对上级的控制信息。在这种情况下,载体控制器需要进行比当搭载物控制信号包括角速度时更复杂的处理。例如,载体控制器可配置为确定如何改变搭载物的姿态以维持跟踪目标在或靠近期望位置,以及致动器状态(例如角速度)的变化以实现姿态改变。所述确定可至少部分地基于搭载物固持器或搭载物的当前姿态。所述当前姿态可使用来自如上所述的载体传感器的传感器数据确定。在一些示例中,角速度可用于生成相应致动器的转矩值。在一些实施例中,载体控制器可实现比例-积分-微分控制器(PID控制器)以基于搭载物控制信号来确定载体控制信号。当搭载物提供角速度信息时,类似的PID控制器可由搭载物实现。
在一些实施例中,来自搭载物的搭载物控制信号可包括例如各个致动器的转矩值的相对下级的控制信息。在这种情况下,载体控制器需要进行比当搭载物控制信号包括角速度时较不复杂的处理。在一些实施例中,下级控制信息可直接提供至致动器或致动器控制器。
载体404可以可选地连接至基座支撑件406(例如图3的手持支撑件302)。基座支撑件406可包括与载体控制器414和/或载体致动器416、418、420通信的基座控制器422。在不同实施例中,载体控制器414、基座控制器422和/或致动器416、418、420可使用控制器局域网(CAN)总线或任何其它合适的通信网络彼此通信。
基座控制器422可生成用于控制载体致动器的控制信号。例如,基座控制器422可生成用于致动器的控制信号,以保持载体承载的搭载物的预定姿态。可选地,基座控制器422可生成用于载体控制器414的控制信号,载体控制器414继而控制载体致动器。基座控制器422可配置为基于与载体404或搭载物402相关联的传感器数据生成控制信号。基座控制器422可从本文所述的载体传感器接收传感器数据。在一些实施例中,基座控制器可配置为基于本地或远程命令生成控制信号。例如,用户可使用由基座支撑件406提供的按钮、杠杆、触摸屏或其他用户输入机构来手动控制载体。作为另一个示例,基座支撑件406可配置为接收由遥控器提供的控制数据,并且这样的控制数据可用于由基座控制器422生成用于载体404的控制信号。
如上所述,载体404可由搭载物402单独控制,由基座控制器422单独控制,或者由两者控制。在一些实施例中,载体404可由例如遥控器的附加设备控制。当载体控制器414接收多个源的控制信号时,载体控制器414可配置为过滤、优化或组合来自不同源的控制信号。例如,如果用户使用连接至基座控制器422的输入设备来指示移动载体404的指令,而为了保持目标在或靠近显示器上的期望位置,搭载物上的应用程序410(例如跟踪应用程序)也在控制载体以改变搭载物的姿态,那么基座控制器422和应用程序410都可同时或在不同的时间点发送控制信号至控制器414。
载体控制器可基于预定优先级确定是否和/或何时执行来自应用程序410或基座控制器422的控制信号。例如,如果来自两个源的控制信号旨在控制相同的一个致动器或多个致动器,则可能需要对控制信号进行这种优先处理。来自所选源的控制信号可以执行,而来自非选择源的控制信号可完全忽略或在较后的时间延迟执行。可选地,载体控制器可根据预定的规则或算法组合来自两个源的信号。例如,如果应用程序试图控制给定的致动器以第一角速度旋转并且基座控制器试图控制相同的致动器以第二角速度旋转,那么载体控制器可控制致动器以第一角速度和第二角速度的平均值、最大值或最小值旋转。作为另一个例子,如果应用程序试图控制第一致动器并且基座控制器试图控制另一个不同的致动器,那么载体控制器可生成第一致动器(基于来自应用程序的控制信号)和第二致动器(基于来自基座控制器的控制信号)的控制信号。在一些实施例中,载体控制器可从给定源中选择一些控制信号来执行,而忽略或延迟来自该源的其余控制信号。
在一些实施例中,载体控制器执行来自多个源的控制信号的方式可由载体、搭载物、基座支撑件等的状态来确定。状态可包括空间布局或姿态、加速度或速度、操作状态(例如跟踪模式)等。例如,当跟踪模式打开时,来自搭载物的控制信号可优先于来自基座支撑件的控制信号。当基座支撑件快速移动时,来自基座支撑件的控制信号优先。用于确定如何执行来自多个源的控制信号的附加因素可包括例如地理位置、时间、温度等的环境因素。
仍参考图4,基座控制器422可以可选地与一个或多个例如计算设备424和配件426的外部设备408通信。计算设备424可包括个人计算机(PC)、笔记本电脑、平板电脑、智能手机、游戏控制台、安装盒、可穿戴设备等。配件可包括可附接至基座支撑件的存储卡、电池、显示器、三脚架、车载安装座、延长臂/杆、安装适配器等。基座控制器422可配置为使用任何合适的有线或无线通信通道与外部设备进行通信。在一个示例中,基座控制器422可使用USB连接器连接至计算机424,并使用UART连接器连接至配件426。
图5示出了根据实施例的用于实现目标跟踪的示例性过程500。在一些实施例中,可通过本文所述的载体的部件来进行过程500的各方面。过程500(或本文所述的任何其他过程,或其变型和/或其组合)的一些或全部方面可通过硬件或其组合在配置有可执行指令的一个或多个计算机/控制***的控制下执行,并且可作为集中在一个处理器上或在多个处理器上运行的代码(例如可执行指令,一个或多个计算机程序或者一个或多个应用程序)被执行。代码可存储于计算机可读存储介质上,例如,以包括可由一个或多个处理器运行的多个指令的计算机程序的形式。计算机可读存储介质可以是非暂时性的。描述操作的顺序并不意图被解释为限制,并且可以任何顺序和/或并行地组合任何数量的所述操作以实现所述过程。
在框502处,载体从连接至载体的搭载物接收一个或多个搭载物控制信号。搭载物可以可释放地连接至载体或固定连接至载体。载体可配置为允许搭载物相对于如本文其他部分所述的多达三个自由度的轴线(例如,俯仰、横滚、偏航)移动。
搭载物控制信号可由载体的通信单元使用有线或无线连接接收。例如,搭载物控制信号可使用蓝牙、Wifi或NFC连接接收。连接可以支持搭载物与载体之间的单向或双向通信。
搭载物控制信号可由搭载物生成以用于目标跟踪。例如,可响应于检测到搭载物(例如使用图像传感器)捕获的图像内的目标与期望目标位置的偏差来生成搭载物控制信号。搭载物控制信号可用于使载体改变搭载物的姿态,以减少或校正检测到的偏差,即,使得在搭载物捕获的后续图像中目标更接近期望目标位置。
搭载物控制信号可包括用于实现搭载物的预期姿态的信息。这样的信息可包括相对于由载体提供的一些或全部自由度的轴线施加的的角速度、角位置、转矩等。例如,搭载物控制信号可包括关于三轴载体的一个、两个或三个轴线的角速度信息,关于两轴载体的一个或两个轴线的角速度信息以及关于单轴载体的一个轴线的角速度信息。
在框504处,载体基于搭载物控制信号来生成一个或多个载体控制信号。在一个实施例中,搭载物控制信号由通信单元提供至载体的载体控制器。载体控制器然后基于搭载物控制信号生成载体控制信号。例如,载体控制器可基于由搭载物控制信号指定的角速度和致动器的当前状态(例如角位置)来确定要施加至致动器的转矩。
载体控制器进行的处理量可取决于搭载物控制信号的特异性级别。搭载物控制信号的特异性越低或越高,则在载体的部分需要越少的搭载物控制信号处理以使用那些搭载物控制信号来控制致动器。例如,当搭载物控制信号指定一般高级指令(例如,改变搭载物的姿态以将目标移动至靠近图像中的期望位置)时,载体可能需要确定如何改变搭载物的姿态以将目标移动至靠近期望位置以及如何改变各个致动器的状态以改变姿态。作为另一示例,当搭载物控制信号指定更具体的和下级的指令(例如,将特定转矩应用于致动器)时,由载体进行的处理可能是最少的,如果有的话。在极端情况下,搭载物控制信号可直接提供至致动器或下级致动器控制器。
在框506处,载体至少部分地基于载体控制信号致动载体的致动器来改变搭载物的姿态。载体控制信号可提供至致动器或致动器驱动器以改变致动器的状态(例如,开始、停止、角速度),从而引起载体的一个或多个部件的旋转。例如,致动器可使载体的搭载物固持器和/或旋转臂相对于一个或多个轴线移动,由此使连接的搭载物相对于一个或多个轴线改变搭载物的方向。
在一些实施例中,改变搭载物的姿态允许搭载物更好地跟踪特定目标。具体地,搭载物可利用改变的姿态来捕捉另外的图像,使得目标在另外的图像中比在姿态改变前的先前的图像中更接近期望目标位置。
图6示出了根据实施例的搭载物600的示例性部件。在一些实施例中,搭载物600可以是根据本文所述的实施例的适于捕获图像和发送/接收信息的移动设备。例如但不限于,在不同实施例中,搭载物600可包括一个或多个下列设备,这些设备被不同地称为:移动电话、蜂窝电话、智能手机(例如但不限于,例如可从加利California州Cupertino的苹果公司获得的手机;和/或可从加利福尼亚州的山景城(Mountain View)的Google获得的基于AndroidTM操作***的手机等的智能手机)、手持移动设备、平板电脑、网络平板电脑、个人数字助理(PDA)、笔记本电脑、手持式电脑、手提电脑、和/或车载电脑等。
搭载物600可包括经由总线或类似网络互连的一个或多个图像传感器602、输入模块604、显示器606、通信模块608、处理模块610和存储模块612。
图像传感器602(也称为相机)可配置为将光学信号转换为电信号。在不同实施例中,图像传感器可包括半导体电荷耦合器件(CCD)、使用互补金属氧化物半导体(CMOS)或N型金属氧化物半导体(NMOS,Live MOS)技术的有源像素传感器,或任意其他类型的传感器。图像传感器和/或成像设备可配置为利用例如宽度、高度、宽高比、百万像素数、分辨率或质量等任何合适的参数来捕捉图片、视频或任何其他图像数据。例如,成像设备可配置为捕捉高清或超高清视频(例如720p、1080i、1080p、1440p、2000p、2160p、2540p、4000p、4320p等)。
图像传感器可固定附接至搭载物,使得图像传感器不会相对于搭载物的其余部分移动。在这样的实施例中,搭载物的姿态改变直接转换为图像传感器的等效姿态改变。可选地,图像传感器可相对于搭载物移动。在这样的情况下,可基于搭载物和图像传感器之间的空间关系而使用搭载物的姿态改变来导出图像传感器的姿态改变。
输入模块604可包括允许用户将信息输入至搭载物600中的一个或多个输入元件。通过举例而非限制,输入元件可包括一个或多个键盘、跟踪球、触摸屏、触摸板、定点设备、麦克风、生物传感器(例如指纹打印机读取器、语音识别设备、相机、视网膜读取器)或用于用户提供输入的任何其他合适的机构。此外,输入元件可配置为从外部设备获取信息。例如,输入元件可包括能够从存储卡、支付卡、身份证等读取信息的读卡器。
输入元件可用于由用户向在搭载物上运行的跟踪应用程序提供信息。例如,用户可使用输入元件来指示是否开始或停止跟踪目标并且提供关于待被或正被搭载物(例如使用图像传感器)跟踪的目标的信息。这样的信息可包括待跟踪目标的初始目标信息(例如位置、大小、颜色、纹理),用于跟踪目的的期望目标信息(例如期望位置或大小)等。输入元件还可用于调整搭载物或其部件的例如相机参数(例如变焦、聚焦)、显示参数(例如亮度)等的其他方面。
显示模块606可配置为向用户显示任何信息。这样的信息可包括由搭载物接收的例如感测数据(例如由图像传感器捕获的图像)的信息,或者来自外部设备(例如载体、基座支撑件、另一移动设备、远程服务器)的数据。此外,所述信息可包括来自搭载物上运行的应用程序(例如跟踪应用程序)的输出。在一些实施例中,显示模块606可由实现输入模块604(例如触摸屏)的相同设备来实现。在其他实施例中,显示模块606可由与实现输入模块604的设备分离(但是可以可操作地连接)的设备来实现。在一些实施例中,搭载物600可包括除显示模块606之外的例如扬声器、数据/网络端口等的其他输出设备。
通信模块608可配置为同一个或多个外部设备(例如载体、基座支撑件、基站、蜂窝网络、远程服务器、另一移动设备)发送数据和/或接收数据。例如,通信模块608可将控制信号发送到连接至搭载物的载体,所述控制信号用于致动载体以改变搭载物的空间布局。通信模块608也可接收来自载体的例如指示载体或其部件状态的反馈数据的信息。通信模块608可包括分别配置为同外部设备发送和接收数据的发送器和接收器。在一些实施例中,通信模块可包括结合发送器和接收器的功能的收发器。通信模块608可包括一个或多个接收器、发送器和/或收发器。通信模块608可配置为支持包括有线或无线通信的任何合适类型的通信。例如,通信模块可包括天线、无线传感器(例如用于检测蓝牙、NFC或Wifi信号)、无线电收发器、网卡等。
搭载物600可包括处理模块610。所述处理模块610可具有一个或多个处理器或处理单元。一些处理器可能专门用于特定的处理任务。例如,图形处理单元(GPU)616可包括设计为快速操纵和改变存储器以加速帧缓冲器中的图像的创建以输出至显示器的专门的电子电路。例如中央处理单元(CPU)618的其他处理器可设计为用于通用处理并由非图形相关的应用程序共享。在一些实施例中,处理单元可包括现场可编程门阵列(FPGA)和/或一个或多个ARM处理器。
在一些实施例中,CPU 610可包括一个或多个矢量处理器628和一个或多个标量处理器630。矢量处理器628可配置为实现包含在一维数据阵列(矢量)上操作的指令的指令集。标量处理器630可配置为实现对单个数据项进行操作的指令。相较于标量处理器630,矢量处理器628可提高并发性的CPU 610的性能。
处理模块610可以可操作地连接到存储模块612。存储模块612可包括配置为存储由处理模块610执行的逻辑、代码和/或程序指令和/或数据的暂时和/或非暂时存储介质。例如,存储模块612可存储用于操作***(O/S)624和一个或多个应用程序(或程序)626的逻辑、代码和/或程序指令,以实现本文所述方法的任何合适的实施例。例如,应用程序626可包括实现图7-10中所述的方法的跟踪应用程序。
根据搭载物600的配置和类型,存储介质可以是易失性的(例如随机存取存储器(RAM))和/或非易失性的(例如只读存储器(ROM)、闪存等)。在一些实施例中,存储模块612可包括不同类型的存储器单元。例如,存储模块可包括显示存储器(也称为图形存储器)620和主存储器622。显示存储器620可专用于GPU 616以存储GPU 616使用或生成的数据。显示存储器的实例可包括扩展数据输出RAM(EDORAM)、多组动态RAM(MDRAM)、同步动态RAM(SDRAM)、同步图形RAM(SGRAM)、视频RAM(VRAM)、窗口RAM(WRAM)、图形双数据速率同步动态RAM(GDDR SDRAM)等。主存储器622可供CPU 618使用以存储各种应用程序626使用或生成的数据。
在一些实施例中,搭载物600可以可选地包括除图像传感器602之外的其他传感器。例如,传感器可包括惯性传感器(例如加速度计、陀螺仪)、方位传感器(例如磁力计)、位置传感器(例如GPS传感器)、接近传感器(例如激光雷达、红外)、压力传感器(例如气压计)、光传感器、触摸传感器等。传感器可用于确定例如搭载物600的空间布局、速度和/或加速度的搭载物600的状态。
图7示出了根据实施例的用于目标跟踪的示例性过程700。过程700的各方面可由搭载物701实现。如本文其他部分所述,搭载物701可由提供用于搭载物701的多达三个自由度的轴线的载体702支持。搭载物701可配置为控制载体702移动搭载物701,以促进使用搭载物701的图像传感器704进行目标跟踪。
图像传感器704可配置为捕获搭载物701的周围环境的图像。图像传感器704捕获的图像可由预处理单元706预处理。预处理单元706可包括任何硬件、软件或其组合。预处理单元706的示例可包括GPU、现场可编程门阵列(FPGA)等。预处理单元706可以可操作地耦合至图像传感器704,以在预处理的图像数据用于提取特定的信息之前对原始图像数据进行预处理。由预处理单元706执行的任务的示例可以包括格式转换、重采样、降噪、对比度增强、尺度空间表示等。在一些实施例中,预处理单元706可使用图13-14中所述的图像处理技术实现。
由预处理单元706预处理的图像数据可由跟踪单元708进一步处理。跟踪单元708可配置为基于经预处理的图像数据来识别图像传感器704捕获的一个或多个图像内的目标。为此,跟踪单元708可配置为执行以下任务中的任一个,包括但不限于,以任何合适的复杂度级别进行特征提取、图像分割、数据验证、图像识别、图像配准、图像匹配等。跟踪单元708可由可操作耦合至预处理单元706(例如经由通用存储器控制器(GPMC)连接)的处理单元实现。处理单元706可包括一个或多个GPU、CPU等。
跟踪单元708可生成表示搭载物正在跟踪的目标的当前状态的跟踪信息。跟踪信息可包括例如一个或多个图像中的目标的当前位置、大小或其他特征。跟踪信息可用于生成要与原始图像数据叠加或结合的附加数据。例如,跟踪信息可用于生成与跟踪对象一起显示在显示器上以便用户可看到正在跟踪的内容的有界框或其他合适的图形跟踪指示符。跟踪信息可由用户基于由搭载物701的应用程序提供的用户界面710提供的初始目标信息生成。初始目标信息可包括关于由用户识别的特定目标的信息或尚待识别的目标的一般信息。例如,在一些实施例中,用户界面710可在显示器上显示由图像传感器704捕获的图像,并且用户可与用户界面交互以指示显示的图像上的待跟踪的目标。用户可在显示器上选择与目标相对应的区域。基于用户交互,可确定关于识别目标的例如目标位置(例如像素坐标)、大小等的初始目标信息。
在一些实施例中,用户可指定关于待识别和跟踪目标的一般特征,例如颜色、纹理、图案、大小、形状、维度等,而不用明确识别待跟踪目标。跟踪单元708可使用关于未识别的目标的这种初始目标信息来通过使用任何适当的图像匹配和/或图像识别技术以自动搜索和识别图像中的待跟踪的目标。在一些替代实施例中,可不从用户界面710接收初始目标信息。相反地,初始目标信息可在跟踪单元708执行的控制逻辑中硬编码,存储于本地和/或远离搭载物701的数据存储器中,或者从其他合适的源获得。
用户界面710还可允许用户指定期望目标信息,所述期望目标信息指定在图像传感器捕获的图像中或在显示器上期望跟踪目标保持的特征。期望目标信息可包括图像中或显示器上的期望位置或大小。例如,跟踪目标的期望位置可在图像或显示器的中心处或附近,或者偏离中心。在一些实施例中,用户可通过在显示器上选择目标并且在释放触摸之前将选择的目标拖动至显示器上想要的位置来指示目标的期望位置。跟踪的目标的预期大小可以是大约一定数量的像素。期望目标信息可能与初始目标信息相同或不同。在一些替代实施例中,可不从用户界面710接收期望目标信息。相反地,期望目标信息可在由跟踪单元708执行的控制逻辑中硬编码,存储于本地和/或远离搭载物701的数据存储器中,或者从其他合适的源获得。
期望目标信息(例如期望目标位置)和当前目标位置可提供至控制器单元712。控制器单元712可配置为通过确定当前目标状态(例如当前目标位置或大小)和期望目标状态(例如期望目标位置或大小)之间的差异来确定目标与期望状态的偏差。响应于所检测到的偏差,控制器单元可生成用于控制载体702的控制信号(例如一个或多个角速度)和/或用于搭载物701的控制信号(例如改变图像传感器的变焦或对焦),以校正、减小或最小化图像传感器704捕获的后续图像中的偏差。图8和图9分别示出了用于校正目标位置和目标大小的偏差的示例性过程。
在一些实施例中,控制器单元712可实现例如比例-积分-微分(PID)控制器的控制回路反馈机构。PID控制器可配置为计算作为当前目标状态(例如,当前目标位置或当前目标大小)和期望目标状态(例如期望目标位置或期望目标大小)之间的差异的误差值,并且尝试通过调整控制变量(例如角速度或焦距)来使误差随时间最小化。
PID控制器的传递函数可以是如下方程:
在上面的方程中,kP、kI、和kD分别表示比例项、积分项和微分项的系数。控制变量(例如相对于一个特定轴的角速度)到新值的调整可通过加权和来确定:
PID控制器的参数通常根据实验测量值确定。控制变量(例如角速度)的新值可发送到如本文其他部分所述的连接至搭载物701的载体702。
控制器单元708可由包括一个或多个GPU、CPU等的处理单元实现。控制单元708可以由或不由实现跟踪单元708的相同处理单元实现。
搭载物701可以可选地实现配置为基于由跟踪单元708确定的当前目标位置自动改善或校正目标的焦点的自动聚焦单元709。可使用例如相位测量和对比度检测的任何合适的自动对焦方法。在对比度检测中,通过测量镜头上的传感器区域内的对比度来实现自动对焦。传感器的相邻像素之间的强度差异通常随着正确的图像对焦而增加。因此可调整相机704的光学***直至检测到最大对比度。在非限制性示例中,可使用以下方程测量跟踪目标的对比度信息:
Variance=(∑(I(i,j)-I(mean))2)/S
在上式中,I(i,j)是目标位置(i,j)的像素值,I(mean)是目标内像素值的平均值,S是目标覆盖的像素总数。在跟踪过程中,对目标实时计算上述方差(variance)。当方差减小时,可调整焦距以增加方差,直至方差达到峰值收敛并由此获得正确的焦距。
在一些实施例中,搭载物701可以可选地实现变焦调整单元711,其配置为基于当前目标大小和期望目标大小来自动调整图像传感器的变焦以增加或减小目标的感知大小,如图9中进一步详细所述。
自动对焦单元709和变焦调整模块711可以由包括一个或多个GPU、CPU等的一个或多个处理单元实现。自动对焦单元709和变焦调整模块711可以由或不由实现跟踪单元708和/或控制器单元712的相同处理单元实现。
可重复所示过程700以用于在跟踪模式期间输入图像,从而连续生成用于调整载体702以控制目标的控制信号。图700示出了从用户界面710获取初始目标信息和期望目标信息,可以理解,一旦从用户界面710获取初始目标信息和期望目标信息,就不再需要用户输入。作为替代,初始目标信息和/或期望目标信息可存储于存储模块中。跟踪单元708和控制器单元702可从存储模块而不是从用户界面710搜索存储的初始目标信息和/或期望目标信息,以用于跟踪后续图像中的目标,除非用户决定改变初始和/或期望目标信息。
在一些替代实施例中,上述处理的一些部分可由载体702而非搭载物701执行。例如,控制器712可由载体702而非搭载物701实现。代替向载体702提供角速度信息,搭载物701可配置为将当前目标信息(从跟踪单元708输出)和期望目标信息提供给载体702,然后载体702基于当前和期望目标信息,使用与上述由控制器712实现的逻辑类似的逻辑来确定对于各个轴的角速度。
图8示出了根据实施例的用于维持目标在图像800内的期望位置的示例性方法。图像可由搭载物的成像设备(例如图像传感器)捕获。如本文所述,搭载物可连接至允许搭载物相对于载体关于多达三个自由度的轴线移动的载体。假设图像具有W个像素的宽度和H个像素的高度(其中W和H是正整数)。图像中的位置可由沿水平轴801(沿图像宽度)和纵轴803(沿图像高度)的一对坐标定义,其中图像的左上角具有坐标(0,0),图像的右下角具有坐标(W,H)。
假设如图像800中所捕获的目标位于位置P(u,v)802处,并且目标的期望位置是不同于P 802的P0(u0,v0)804。在一些实施例中,目标P0(u0,v0)的期望位置可靠近图像中心,使得u0=W/2,和/或v0=H/2。在其他实施例中,目标的期望位置可位于图像中的任何其他地方(例如偏离中心)。在不同实施例中,目标的期望位置可以与或不与目标的初始位置相同。假设当前位置P偏离期望位置P0,使得偏差超过预定阈值(例如表示为从u0偏离Δx和从v0偏离Δy),则需要进行调整以使目标位置从P到达接近期望位置P0
在一些实施例中,与期望目标位置的偏差可用于导出使成像设备(例如图像传感器)的视场绕一个或多个轴线旋转的一个或多个角速度。例如,沿图像水平轴线801的偏差(例如在u和u0之间)可用于导出使成像设备的视场绕Y(偏航)轴线806旋转的角速度ωY812,如下所示:
成像设备的视场围绕Y轴线的旋转可通过搭载物的旋转(经由载体)实现。在方程(1)中,α是可基于载体配置预定义和/或校准的常数。在一些实施例中,α大于零(α>0)。在其他实施例中,α可不大于零(α≤0)。在一些实施例中,α可用于将所计算的像素值映射到对应的控制杆量或用于控制绕某一轴线(例如偏航轴线)的角速度的灵敏度。通常,控制杆可用于控制可控物体(例如载体)的角运动或线性运动。更多的控制杆量对应于更高的灵敏度和更高的速度(用于角运动或线性运动)。在一些实施例中,控制杆量或其范围可由载体的控制***的配置参数确定。控制杆量的范围的上限和下限可包括任意数量。例如,对于一个控制***,控制杆量的范围可以是(1000,-1000),对于另一个控制***,控制杆量的范围可以是(-1000,1000)。
作为示例,假设图像具有W=1024个像素的宽度和H=768个像素的高度。因此,图像的大小是1024*768。进一步假设目标的期望位置具有u0=512。因此,(u-u0)∈(-512,512)。假设围绕偏航轴线的控制杆量的范围是(-1000,1000),则最大控制杆量或最大灵敏度是1000并且α=1000/512。因此,α的值可能受到成像设备提供的图像分辨率或大小、控制杆量(例如围绕某一旋转轴)范围、最大控制杆量或最大灵敏度和/或其它因素的影响。
如本文所示,绕Y(偏航)轴旋转的方向可取决于u-u0的符号。例如,如果期望位置位于实际位置的右侧(如图8所示),那么u-u0<0,并且视场需要以逆时针方式围绕偏航轴线806旋转(例如左移),以使目标到达期望位置。另一方面,如果期望位置位于实际位置的左侧,那么u-u0>0,并且视场需要以顺时针方式围绕偏航轴线806旋转(例如右移),以使目标到达期望位置。
如本文所示,围绕给定轴线(例如Y(偏航)轴线)的旋转速度(例如角速度的绝对值)可取决于目标沿轴线的期望位置与实际位置之间的距离(即|u-u0|)。距离越远,旋转速度越快。同样,距离越近,转速越慢。当期望位置与目标沿轴线的位置一致时(例如u=u0),则围绕轴线的旋转速度为零且旋转停止。
用于调节如上所述的预定目标位置和实际目标位置沿水平轴线801的偏差的方法可以类似的方式应用,以校正目标沿不同轴线803的偏差。例如,可使用沿图像纵轴803的偏差(例如在v和v0之间)来导出成像设备的视场绕X(俯仰)轴线808的角速度ωx 814,如下所示:
成像设备的视场绕X轴线的旋转可通过搭载物的旋转(经由载体)实现。因此,在方程(2)中,β是可基于载体配置预定义和/或校准的常数。在一些实施例中,β大于零(β>0)。在其他实施例中,β可不大于零(β≤0)。在一些实施例中,β可用于将所计算的像素值映射到对应的控制杆量,用于控制绕某一轴线(例如俯仰轴线)的角速度。通常,控制杆可用于控制可控物体(例如载体)的角运动或线性运动。更多的控制杆量对应于更高的灵敏度和更高的速度(用于角运动或线性运动)。在一些实施例中,控制杆量或其范围可由载体的载体控制***的配置参数确定。控制杆量的范围的上限和下限可包括任意数量。例如,对于一个控制***,控制杆量的范围可以是(1000,-1000),对于另一个控制***,控制杆量的范围可以是(-1000,1000)。
继续上面的示例,其中图像具有W=1024个像素的宽度和H=768个像素的高度,假设目标的期望位置具有v0=384。因此,(v-v0)∈(-384,384)。还假设围绕俯仰轴线的控制杆量的范围是(-1000,1000),则最大控制杆量或最大灵敏度是1000并且β=1000/384。因此,β的值可能受到成像设备提供的图像分辨率或大小、控制杆量(例如围绕某一旋转轴)范围、最大控制杆量或最大灵敏度和/或其它因素的影响。
如本文所示,绕X(俯仰)轴旋转的方向可取决于v-v0的符号。例如,如果期望位置位于实际位置的上侧(如图8所示),那么v-v0>0,并且视场需要以顺时针方式围绕俯仰轴线808旋转(例如下俯),以使目标到达期望位置。另一方面,如果期望位置位于实际位置的下侧,那么v-v0<0,并且视场需要以逆时针方式围绕俯仰轴线808旋转(例如上仰),以使目标到达期望位置。
如本文所示,旋转速度(例如角速度的绝对值)取决于目标沿给定轴线(例如X(俯仰)轴线)的期望位置与实际位置之间的距离(即|v-v0|)。距离越远,旋转速度越快。距离越近,转速越慢。当期望位置与目标的位置一致时(例如v=v0),则围绕轴线的旋转速度为零且旋转停止。
在一些实施例中,上述计算的角速度值可受到***各种约束的限定或以其他方式修改。这样的约束可包括载体可实现的最大和/或最小速度、控制杆量的范围或者载体的控制***的最大控制杆量或最大灵敏度等。例如,转速可以是所计算的转速和允许的最大转速中的最小值。
在一些实施例中,当根据本文所述的约束条件需要修改所计算的角速度时,可提供警告指示符。这种警告指标符的示例可包括文本、音频(例如警笛或嘟嘟声)、视觉(例如某种颜色的光或闪光)、机械、任何其他合适类型的信号。这种警告指示符可由载体直接提供。可选地或附加地,警告指示符可由搭载物提供(例如经由显示器)。
图9示出根据实施例的用于维持目标在图像900中的期望位置的示例性方法。示出了例如由载体支撑的成像设备(例如图像传感器)捕获的示例性图像900。假设目标902由图像900捕获。图像中目标的实际大小可以是s个像素(例如计算为目标宽度与目标高度的乘积)。期望目标大小S可小于(例如期望目标可由904表示且S=s0)或大于(例如期望目标可由905表示且S=s1)实际大小s。目标期望大小可能与目标初始大小(例如从用户界面接收到的)相同或不同。假设当前大小s偏离期望大小s0或s1,使得偏差超过预定阈值(诸如预定义的Δs像素),则需要调整以使目标大小接近期望大小s0或s1
虽然图像和目标的显示区域显示为矩形,但是仅用于说明目的而不是限制性的。相反,图像和/或目标的显示区域在不同实施例中可以是任何合适的形状,例如圆形、椭圆形、多边形等。同样,尽管本文所述的区域以像素表示,但只是为了说明的目的而非限制性的。在其他实施例中,区域可以任何合适的单位表示,例如百万像素、mm2、cm2、inch2等。
实际目标大小和期望目标大小之间的偏差可用于导出对成像设备的例如缩放级别或焦距的操作参数的调整,以校正偏差。示例性焦距调整F可表示为:
γ是基于成像设备的配置定义的常数。在一些实施例中,γ大于零(γ>0)。在其他实施例中,γ不大于零(γ≤0)。γ的值可基于透镜和/或成像设备的类型定义。
如果目标的实际大小s小于预期大小S,则F>0并且焦距增加|F|以增加图像中捕获的目标的大小。另一方面,如果目标的实际大小s大于预期的大小S,则F<0并且焦距减小|F|以减小图像中捕获的目标的大小。例如,在一个实施例中,γ=10。这意味着,例如,当目标的实际尺寸是期望尺寸S的两倍时,焦距应相应减小10mm(即,F=10*(1-2/1)=-10)),反之亦然。
在一些实施例中,成像设备的例如焦距的操作参数的调整可由***的各种约束限定或以其他方式修改。这样的约束可包括例如可由成像设备实现的最大和/或最小焦距。例如,假设焦距范围是(20mm,58mm)。进一步假设初始焦距是40mm。那么当s>S时,焦距应根据式(3)减小;以及当s<S时,焦距应根据式(3)增加。然而,这样的调整受焦距范围的下限和上限(例如,20mm到58mm)的限制。换言之,调整后的焦距应不小于最小焦距(例如20mm)且不大于最大焦距(例如58mm)。
如图8中所述,当所计算的调整(例如焦距)根据本文所述的约束被修改或以其他方式限制时,可提供警告指示符。这种警告指标符的示例可包括文本、音频(例如警笛或嘟嘟声)、视觉(例如某种颜色的光或闪光)、机械、任何其他合适类型的信号。在一个示例中,这种指示符可由搭载物提供(例如经由显示器)。
图10示出了根据实施例的用于实现目标跟踪的示例性过程1000。在一些实施例中,可以通过本文所述的搭载物的部件执行过程1000的各方面。搭载物可由允许搭载物绕多达三个轴移动的载体支持。在一些实施例中,搭载物可配置为跟踪由搭载物捕获的图像中的目标,并且控制载体改变搭载物的姿态以近似地维持图像中的期望目标位置。可选地,搭载物可配置为调整图像传感器的多个方面,以近似维持图像中目标的期望大小和/或改善对目标的聚焦。
在框1002处,待跟踪目标的初始目标信息由搭载物接收。初始目标信息可包括与具体识别的目标相关联的特征(例如像素位置、大小)或者与尚待识别的目标相关联的特征。初始目标信息可从在搭载物上运行的应用程序提供的用户界面接收。例如,用户可通过用户界面使用手指、触笔或任何其它合适的输入设备触摸或以其他方式选择与显示的图像上的期望目标相关联的区域来与用户界面交互。图像可能先前已被搭载物的图像传感器捕获。基于用户交互可确定初始目标信息。在其他一些实施例中,用户界面可允许用户输入关于待识别目标的例如尺寸、颜色、纹理等的信息。在一些实施例中,初始目标信息可由除用户界面之外的机制获取。例如,初始目标信息可在搭载物中预加载或由另一设备(例如对等设备、控制器、服务器)提供。
在框1004处,目标的期望目标信息被接收。期望的目标信息可包括目标的期望位置(例如图像中或显示器上的像素坐标)、目标的期望大小、或者所捕捉图像内或显示器上的被跟踪目标的其他期望特征。期望目标信息可由用户使用任何合适的输入设备(例如触摸屏、触控笔)而使用搭载物的用户界面来指定,或者从另一设备接收。
在框1006处,图像从图像传感器获取。图像可以是用户用来指示初始目标信息和/或期望目标信息的相同图像,或者可以是不同的图像。在一些实施例中,例如图13-14所示,可预处理来自图像传感器的原始图像数据,使得预处理后的图像数据可被其他处理单元用于目标跟踪。
在框1008处,基于初始目标信息识别图像中的目标。例如,如果目标的初始位置和初始大小是已知的,则可在图像的初始位置附近对初始大小的物体进行有限搜索。例如颜色和纹理的其他初始目标信息也可用于识别目标。在一些实施例中,可基于先前的图像处理结果随时间更新初始目标信息。例如,可更新初始目标信息以反映目标被识别的最后图像中的目标的特征。目标的附加特征可从图像中提取并用于促进更高效(例如更快和/或需要更少的计算)的目标识别。
在一些实施例中,可在图像上显示图形跟踪指示符(例如有界框、椭圆形、圆形或其他几何形状)以显示图像中的目标的当前位置。图形跟踪指示符可随每个新图像一起更新以跟踪新图像中目标的位置。
在框1010处,检测目标与图像中的期望目标位置的偏差。一旦识别目标,即可确定目标的当前信息(例如当前位置、当前大小)。当前的目标信息可与期望目标位置比较以确定是否存在偏差。在一些实施例中,一个或多个预定阈值可用于确定是否存在偏差。例如,当前目标位置离期望目标位置的位移小于像素的阈值数量A(例如5个像素)可能不被认为是目标位置的偏差。只有当位移等于或大于预定阈值A时才认为是偏差。类似地,与期望目标尺寸的尺寸变化小于像素的阈值数量B(例如10个像素)可能不被认为是目标尺寸(大小)的偏差。只有当变化等于或大于预定阈值B时才认为是偏差。
在框1012处,生成一个或多个用于控制支持搭载物的载体的控制信号以校正由搭载物捕获的后续图像中的偏差。对偏差的校正包括不再有任何偏差的完全校正,或偏差减小的部分校正。控制信号可用于导致(直接或间接地)搭载物的姿态(并且因此导致搭载物的图像传感器的视场)相对于一个或多个轴变化。例如,如本文所述,控制信号可包括相对于偏航轴线的角速度,以校正相对于俯仰轴线的水平位移和/或角速度,从而校正垂直位移。
在框1014处,控制信号被发送至载体。控制信号可由图6中所述的通信模块发送,并由图4中所述的载体的通信单元412接收。控制信号可通过有线或无线连接(例如蓝牙、Wifi、NFC)发送。
在框1016处,可在必要时可选地调整图像传感器的参数,以更好地跟踪目标。参数可包括焦距、缩放级别、图像模式、图像分辨率、景深、曝光、镜头速度、视场等。例如,如图9所示,如果检测到与期望目标大小的偏差,则可改变图像传感器的焦距(例如放大或缩小)以增加或减小后续图像中的目标的大小。作为另一示例,如图7所示,可使用任何合适的自动对焦技术改进目标的对焦。
在框1018处,确定是否继续跟踪。可经由用户界面基于用户输入来确定。例如,用户可通过触摸用户界面上的“停止”按钮或通过控制器(例如连接至载体的基座支撑件)来指示终止跟踪。如果跟踪停止,过程1000在框1020处结束。在某些情况下,用户还可指示是否改变跟踪目标,例如通过在显示器上触摸或选择不同的物体并选择“开始”。如果要跟踪不同的目标,则过程1000循环回到获取初始和/或期望目标信息的框1002处。如果要跟踪相同的目标(例如用户未终止跟踪或选择不同的跟踪目标),则过程1000循环回到框1006处。
有利地,所述***、方法和装置提供了搭载物(例如智能手机)对目标的简单而有效的跟踪。通过直接控制搭载物的载体来调整搭载物的姿态,搭载物可实现由用户提供的更快和更精确的姿态改变,导致更有效的跟踪。
根据本发明的另一方面,提供了用于优化图像处理的技术。具体地,所述技术可用于优化由图像传感器获取的原始图像数据到目标处理(即,输入转换数据时的处理)所需的不同形式(例如大小和/或格式)的转换。原始图像数据的处理可包括重新采样以改变图像数据的像素大小,将图像数据从一种颜色格式转换为另一种颜色格式等。如结合图7所述,由图像传感器捕获的原始图像数据通常需要进行处理或转换(例如通过预处理单元706)以使图像数据适合于进一步处理(例如,通过跟踪应用程序的跟踪单元708和控制器单元712)。原始图像数据转换的速度对目标处理可能很重要。例如,跟踪应用程序可能需要在图像传感器捕获图像后不久接收正确格式化的图像,以识别图像内的移动目标、刷新显示器上的图像以显示(例如通过有界框)目标、并且生成用于载体和/或图像传感器的控制信号以便以近乎实时的方式继续跟踪目标。
现有技术通常对大多数这样的图像转换使用例如CPU和主存储器的共享和/或通用计算资源,导致性能较慢和资源使用效率低下。,当需要在短时间内处理大量图像,以便于实时或接近实时地跟踪目标时,性能变慢对跟踪应用程序非常明显。
所述技术通过将大量图像处理从通用计算资源移动到例如GPU、矢量处理器和显示存储器的专用和专门的计算资源来改善这种图像处理的性能,从而减少因共享资源争用而引起的停顿或延迟。此外,所述技术使用硬件资源(例如GPU)来加速通常在软件中实现的一些图像处理步骤。
图11-12示出了由现有技术进行的示例性图像处理。图11示出了根据实施例的使用现有技术进行图像处理的第一示例性过程1100。在一个示例中,过程1100可由iOS设备实现。如图所示,设备的图像传感器1102可捕捉图像并输出原始图像数据1106(例如使用图像采集模块1104)。原始图像数据1106可被数字化并且可包括图像像素数据(例如每个像素的灰度值或颜色信息)和图像元数据(例如相机设置:例如相机型号和序列号、快门速度、光圈、焦距、分辨率)。
原始图像数据1106可存储于与GPU1114相关联的显示存储器1108中。显示存储器1108可仅仅专用于GPU 1114或与其他处理单元共享。GPU1114可配置为实现编码1112模块,其从显示存储器1108中检索一组显示存储器图像数据1110(例如,代表一个或多个帧的图像数据或其一部分的二维采样器)并将显示存储器数据1110转换为适合于CPU 1132处理的格式。例如,编码模块1112可将图像数据的大小设置为与相机分辨率(例如1920×1080)相同。编码模块1112的输出、图像数据的像素单元(例如像素字节)可提供给主存储器1118并由CPU 1132使用。CPU 1132可以是配置为执行不同应用程序的通用CPU,并且主存储器1118可在不同应用程序中共享。
取决于图像传感器和其他配置(例如设备的操作***)的设置,由图像传感器1102提供的原始图像数据1106、由显示存储器1108提供的显示存储器图像数据1110和/或由GPU1114提供的图像数据1116可具有特定图像大小(例如像素数)和/或特定格式(例如颜色格式或颜色空间)。例如,颜色格式可包括一组有序的颜色通道。这样的大小和格式可分别称为源图像尺寸或大小(或源尺寸或大小)和源图像格式(或源颜色格式或源格式)。
源图像大小和/或源图像格式可能与目标处理1130所要求的不同。目标处理的示例可包括由图8的跟踪单元708实现的跟踪处理。例如,源图像大小和源图像格式可分别是1920×1080(与图像传感器1102的默认像素分辨率相同或不同)和红绿蓝alpha(RGBA)。另一方面,目标处理1130所需的目标图像大小(也称为目标大小)和/或目标图像格式(也称为目标颜色格式或目标格式)可分别为640×360和蓝绿红(BGR),或者针对目标处理1130确定的任何内容。这样,在图像数据可用于目标处理1130之前,通常需要将图像传感器获取的图像数据从源大小和/或格式转换为合适的目标大小和/或格式。
涉及调整大小和格式转换的大量数据转换通常由通用CPU 1132与主存储器1118一起进行。如图11所示,CPU 1132可实现配置为增加或减小图像大小的重新采样模块1122。在一个实施例中,评估图像的每个像素(存储于主存储器1118中),并且对于每个像素,对其像素颜色值进行内插(例如使用双线性内插)以获取具有期望图像大小(例如640×360)的重采样图像。重采样的图像数据可存储于主存储器1118中。
CPU 1132还可实现配置为将重采样图像数据1124的颜色格式(例如RGBA)转换为具有不同颜色格式(例如BGR)的重新格式化的图像数据1128的格式转换模块1126。在一个实施例中,评估图像的每个像素(存储于主存储器1118中),并且对于每个像素,移除至少一个颜色通道(例如通道A),并转换其余通道的顺序(例如从RGB到BGR)。然后可将具有新颜色格式的重新格式化的图像数据1128存储于主存储器1118中并由目标处理1130使用。
图11所示的方法有几个缺点。原始图像数据必须先被编码并从显示存储器复制到主存储器,这可能会放慢进程。转换原始图像数据的大量处理涉及由通用CPU进行的软件级别上的逐像素串行操作,这与硬件实施相比可能较慢。例如,重采样模块1122和格式转换模块1126两者都使用逐像素串行操作实现,这与并行操作相比可能较慢。进一步地,在不同应用程序中共享CPU 1132和主存储器1118会导致资源争用,并且会减慢一些或全部应用程序的性能。
图12示出了根据实施例的使用现有技术进行图像处理的第二示例性过程1200。在一个示例中,过程1200可由Android设备实现。除了图像数据的源格式是YUVA而不是RGBA之外,过程1200的各方面与上述过程1100类似。此外,进行附加的格式转换步骤(例如通过由CPU 1232实现的格式转换模块1217)以将来自显示存储器1208的图像数据转换为中间格式YUV,并将重新格式化的数据存储于主存储器1218。
相应地,图12所示的方法具有图11所述的类似缺点。特别地,原始图像数据必须先被编码并从显示存储器复制到主存储器。转换原始图像数据的大量处理包括由通用CPU进行的逐像素串行操作。这里,使用逐像素的串行操作来实现三个模块(例如格式转换模块1217、重采样模块1222、格式转换模块1226)而不是两个(如图11所示)。
图13示出了根据实施例的用于解决现有技术的缺点的图像处理的示例性过程1300。过程1300的各方面可通过本文所述的搭载物实现。与现有技术相比,图13中的大量图像处理是由使用硬件加速器的GPU而不是由通用CPU实现的,从而提高了性能。
如图所示,图像传感器1302的图像采集模块1304可捕获图像并输出表示所捕获的图像的原始图像数据1306。原始图像数据1306可以存储于专用于GPU 1314的显示存储器1308中。取决于图像传感器1304的类型和其他配置(例如搭载物的操作***),原始图像数据可具有不同的格式或其他特征。例如,对于iOS设备或Android设备,原始图像数据可分别具有RGBA格式或YUVA格式。
代替将图像数据复制到主存储器并通过通用CPU对主存储器中的图像数据重新采样和重新格式化,可使用GPU1314在显示存储器1308中更高效地转换图像数据。例如,可从显示存储器1308中检索待呈现或处理的一组图像数据1310(例如图像帧或其一部分),并将其作为输入提供给由GPU1314实现的重采样模块1312。重采样模块1312可配置为将图像直接调整到目标处理1330所需的目标图像大小(例如640×360)。可编程GPU 1314以对图像数据的多个像素同时运行操作,而不是如图11-12所述的依靠通用CPU按顺序逐像素操作。这样的操作可包括例如内插法(例如最近邻内插、双线性内插、双三次内插、傅立叶内插、边缘定向内插)、矢量化、SFG转换等的任何合适的重采样方法。
重采样数据1316可由格式转换模块1318进一步处理,也可由GPU1314与显示存储器1308一起实现。格式转换可配置为将来自源格式(例如用于iOS设备的RGBA和用于Android设备的YUVA)的重采样图像数据1316的格式(例如颜色格式)改变为目标处理1330所需的目标格式(例如RGB)。取决于源格式和目标格式,格式转换可包括通道转换和通道移除。通道转换可包括切换图像的每个像素的颜色通道的值。因此,通道转换可将输入图像数据的格式从源格式改变为中间格式。通道移除可包括移除像素的一个或多个颜色通道值。通道移除可将输入图像数据的格式从中间格式改变为源格式。在一些实施例中,图像数据的格式可在达到目标格式之前改变为多个中间格式。
上述通常由通用CPU在逐像素的基础上按顺序实现的操作的一些方面,可通过GPU编程在硬件中同时进行。在替代实施例中,图像数据可在重采样之前被格式转换。当重采样用于按比例缩小图像(例如减少像素数量)时,由于需要重新格式化的数据量减少,所以格式转换之前重采样可能比重采样之前格式转换更高效。当重采样用于放大图像时(例如增加像素的数量),情况可能相反。
在不同实施例中,上述GPU模块(例如重采样模块1312和格式转换模块1318)可使用由底层GPU1314支持的任何合适的应用程序编程接口(API)或软件开发工具包(SDK)来实现。
具有目标格式(例如BGR)的重新格式化的图像数据1320可提供至主存储器1324,并由通用CPU 1332实现的目标处理1326使用。目标处理1326可包括或者被包括于但不限于本文所述的跟踪处理。例如,跟踪处理可使用调整大小和重新格式化的图像数据来识别由图像数据表示的图像中的待跟踪目标。例如,可确定图像中目标的当前位置、大小和/或其他特征。目标的识别可基于通过用户界面或其他手段提供的初始目标信息。基于当前目标信息,图像可通过动态指示当前目标信息(例如当前大小)的视觉跟踪指示符(例如有界框)呈现于显示器上。如本文所述,当前目标信息可用于确定是否存在与期望目标位置和/或大小的偏差,以及是否需要校正动作。如果需要校正动作,则可生成控制信号以引起校正动作,例如改变承载搭载物的载体的状态以引起搭载物的姿态的改变并因此引起搭载物的图像传感器的视场的改变的控制信号。控制信号还可包括用于改变图像传感器的参数(例如焦距)的指令,以调整对目标的聚焦,放大或缩小目标,或导致其他改变。可以理解的是,跟踪处理仅出于说明目的而被用作目标处理的示例。在其他实施例中,本文所述的图像处理技术可用于为任何其它合适的目标处理转换图像数据。
在一些实施例中,可通过通用CPU的并行处理部件来进行一些或全部的图像处理(例如重新采样、重新格式化)以提高性能。并行处理部件能够进行并行处理并且可包括一个或多个矢量处理器,例如图6中所述的矢量处理器628。图14示出了根据实施例的用于图像处理的另一示例性过程1400,其中,根据实施例,至少一些处理由矢量处理器进行。过程1400的各个方面可由本文所述的搭载物执行。如图所示,图像数据的重采样可由GPU 1414与显示存储器1408一起以上述图13中的方式进行。
格式转换的通道转换部分可由GPU 1414与显示存储器1408一起进行。因此,通道转换可将输入图像数据的格式从源格式改变为一个或多个中间格式或目标格式。在一个示例中,图像数据的每个像素的颜色信息由对应于用于图像数据的颜色格式的有序颜色通道集的有序数据集表示。例如,一个RGBA像素编码可包括一个字节(8位)的R通道数据,其后是一个字节的G通道数据,其后是一个字节的B通道数据,以及一个字节的A通道数据。作为另一示例,一个YUV像素编码可包括一个字节的Y通道数据,其后是一个字节的U通道数据,其后是一个字节的V通道数据。作为另一示例,一个BGR像素编码可包括一个字节的B通道数据,其后是一个字节的G通道数据,其后是一个字节的R数据通道。在不同实施例中,用于编码每个通道的数据量在不同实现中可多于或少于一个字节。
转换通道可包括重新排列通道数据的顺序和/或改变通道的数据。对于新图像数据的每个像素,可基于旧图像数据中的对应像素的颜色信息来确定其颜色信息(例如颜色通道数据)。取决于源格式和/或目标格式,可使用不同的通道转换算法。在一个示例中,例如当搭载物的操作***是iOS时,源格式是RGBA,并且目标格式是BGR。在这个示例中,使用以下变换矩阵对每个像素进行通道变换:
这里,每个像素的新颜色编码是B通道数据(从先前颜色信息的B通道获得),其后是G通道数据(从先前的G通道获得),随后是R通道数据(从先前的R通道获得),并且随后是W通道数据(零)。BGRW是中间格式,并且额外的通道W将通过下面描述的通道移除过程移除。
在另一示例中,例如当搭载物的操作***是Android时,源格式是YUV并且目标格式是BGR。在这个示例中,通道转换不仅包括通道重新排序,还包括数据转换。具体地,使用以下变换矩阵进行每个像素的通道转换:
这里,由于GPU仅支持四通道操作,所以可将通道W添加到源和中间格式作为虚拟通道。通道W将通过下面描述的通道移除过程移除。
通道转换数据(例如,以例如BGRW的中间格式)可存储于显示存储器1408中,并且可被例如矢量处理器1434的外部处理器访问。矢量处理器1434可实现通道移除模块1422,其将通道转换数据(例如以BGRW格式)作为输入,移除每个像素的额外颜色通道(例如W通道),并且将通道移除数据(例如以BGR格式)存储到主存储器1426以供目标处理1430(例如跟踪处理)使用。通道移除模块1422可使用用于矢量处理器1434的任何合适的API或SDK实现,例如由Apple提供的vImage框架。特别地,矢量处理器1434可编程为对多个像素执行并发操作,从而通过标量处理器(例如图6的标量处理器630)提高串行操作的性能。
上述实施例的变型也在本公开的范围内。例如,可使用本文所述的优化技术来将图像从任何合适的源大小调整到任何其他目标大小。同样地,本文所述的优化技术可用于将图像从任何合适的源格式(例如具有任何数量和类型的颜色通道)转换为任何其他合适的目标格式(例如具有任何数量和类型的颜色通道)。此外,取决于源格式和目标格式以及GPU和/或CPU的硬件/软件配置,可能仅需通道转换或通道移除步骤中的一个来转换数据格式。例如,在一些实施例中,如果源格式是RGBA并且目标格式是BGRA,则可能仅需通道转换。如果源格式为RGBA且目标格式为RGB,则仅需通道移除。在一些实施例中,通道转换和通道移除的顺序可以颠倒,使得在通道转换之前进行通道移除。在一些实施例中,除了通道移除或代替通道移除,格式转换可能需要添加通道。通道转换、通道移除和通道添加步骤的任何一个或任何组合可由GPU或CPU的并行处理部件(例如一个或多个矢量处理器)进行以提高性能。
与图11-12中所述的常规技术相比,本文所述的技术提供了几个优点。由于图像传感器通常将原始图像数据直接存储到显示存储器,所以GPU与显示存储器一起使用并进行大部分图像处理步骤(例如重采样和重新格式化)会更高效。GPU可直接访问显示存储器,并对存储于显示存储器中的图像数据进行操作,从而节省与例如在主存储器中分配存储空间、将数据存储到分配的空间以及恢复空间的数据存储操作相关的成本。此外,在硬件级别具有对图像处理的并发支持的GPU,可加速通常由CPU在软件级别串行执行的图像处理操作。CPU的并行处理部件的使用也通过在图像处理操作中引入更多的并发性来提高性能。进一步地,所述技术允许CPU投入更多的资源来处理其他过程,从而增加这些过程的响应时间,这可转化为更好的用户体验。例如,用户可在由现在接收更多CPU时间的应用程序提供的用户界面上体验到更好的响应。
尽管本文已经示出和描述了本发明的优选实施例,但是对于本领域技术人员而言显而易见的是,这样的实施例仅仅是作为示例提供的。本领域技术人员现在将想到许多变化、改变和替换而不偏离本发明。应该理解的是,在实施本发明时可以使用本文所述的本发明实施例的各种替代方案。意图是下面的权利要求限定本发明的范围,并且由此涵盖这些权利要求范围内的方法和结构及其等同物。

Claims (30)

1.一种方法,包括:
由搭载物的一个或多个处理器检测由所述搭载物的图像传感器捕获的图像中的目标与期望目标位置的偏差,搭载物可释放地连接至载体;和
由所述一个或多个处理器至少部分地基于检测到的目标的偏差,生成所述载体的一个或多个控制信号,所述一个或多个信号使所述载体改变所述搭载物的姿态,以减小所述图像传感器捕获的后续图像中检测到的偏差。
2.根据权利要求1所述的方法,还包括由搭载物的所述一个或多个处理器至少部分地基于初始目标信息识别图像中的目标。
3.根据权利要求2所述的方法,其特征在于,所述初始目标信息从所述搭载物提供的用户界面接收。
4.根据权利要求2所述的方法,其特征在于,识别目标包括确定目标在图像中的当前位置,并且还包括至少部分地基于目标的当前位置调整图像传感器的焦距。
5.根据权利要求1所述的方法,其特征在于,至少部分地基于包括期望目标位置或期望目标大小的期望目标信息检测所述偏差。
6.根据权利要求5所述的方法,其特征在于,所述期望目标信息从搭载物提供的用户界面接收。
7.根据权利要求1所述的方法,其特征在于,所述控制信号包括相对于载体的旋转轴线的角速度。
8.根据权利要求1所述的方法,其特征在于,还包括由所述搭载物使用无线连接将所述一个或多个控制信号发送至所述载体。
9.根据权利要求8所述的方法,其特征在于,所述无线连接是蓝牙、Wifi或近场通信(NFC)连接。
10.存储计算机可执行指令的一个或多个非临时计算机可读存储介质,当由搭载物的计算***执行时,所述计算机可执行指令将所述计算***配置为进行包括以下操作的操作:
检测由所述搭载物的图像传感器捕获的图像中的目标与期望目标位置的偏差,所述搭载物可释放地连接至载体;和
由一个或多个处理器至少部分地基于检测到的目标的偏差,生成所述载体的一个或多个控制信号,所述一个或多个信号使所述载体改变所述搭载物的姿态,以减小所述图像传感器捕获的后续图像中检测到的偏差。
11.根据权利要求10所述的一个或多个非临时计算机可读存储介质,其特征在于,所述操作还包括至少部分地基于初始目标信息识别图像中的目标。
12.根据权利要求11所述的一个或多个非临时计算机可读存储介质,其特征在于,所述初始目标信息从所述搭载物提供的用户界面接收。
13.根据权利要求11所述的一个或多个非临时计算机可读存储介质,其特征在于,识别目标包括确定目标在图像中的当前位置并且其中所述操作还包括至少部分地基于目标的当前位置调整图像传感器的焦距。
14.根据权利要求10所述的一个或多个非临时计算机可读存储介质,其特征在于,至少部分地基于包括期望目标位置或期望目标大小的期望目标信息检测所述偏差。
15.根据权利要求14所述的一个或多个非临时计算机可读存储介质,其特征在于,所述期望目标信息从搭载物提供的用户界面接收。
16.根据权利要求10所述的一个或多个非临时计算机可读存储介质,其特征在于,所述控制信号包括相对于载体的旋转轴线的角速度。
17.根据权利要求10所述的一个或多个非临时计算机可读存储介质,其特征在于,所述操作还包括使用无线连接将所述一个或多个控制信号发送至所述载体。
18.一种方法,包括:
由载体从可释放连接至载体的搭载物接收一个或多个搭载物控制信号,所述搭载物控制信号由搭载物响应于检测到搭载物捕获的图像中的目标与期望目标位置的偏差而生成;和
至少部分地基于所述一个或多个搭载物控制信号致动所述载体的一个或多个致动器,以至少部分地基于所述搭载物控制信号改变所述搭载物的姿态。
19.根据权利要求18所述的方法,其特征在于,所述搭载物控制信号包括相对于所述载体的旋转轴线的角速度。
20.根据权利要求18所述的方法,其特征在于,使用无线连接接收所述搭载物控制信号。
21.根据权利要求19所述的方法,其特征在于,所述无线连接是蓝牙、Wifi或近场通信(NFC)连接。
22.根据权利要求18所述的方法,其特征在于,致动所述一个或多个致动器包括:
至少部分地基于所述搭载物控制信号生成一个或多个载体控制信号;和
至少部分地基于所述载体控制信号致动所述一个或多个致动器。
23.根据权利要求19所述的方法,其特征在于,所述载体控制信号至少部分地基于所述一个或多个致动器的状态生成。
24.一种配置为支持搭载物的载体,包括:
一个或多个配置为允许搭载物关于一个或多个轴线相对于载体旋转的致动器;
配置为从所述搭载物接收一个或多个搭载物控制信号的通信单元,所述控制信号由搭载物响应于检测到搭载物捕获的图像中的目标与期望目标位置的偏差而生成;和
通信耦合至所述通信单元和所述一个或多个致动器的载体控制器,所述载体控制器配置为至少部分地基于所述一个或多个搭载物控制信号而控制所述致动器以改变所述搭载物的姿态。
25.根据权利要求24所述的载体,其特征在于,所述搭载物控制信号包括相对于所述个或多个轴线中的一个轴线的角速度。
26.根据权利要求24所述的载体,其特征在于,所述通信单元配置为使用无线连接接收所述一个或多个搭载物控制信号。
27.根据权利要求25所述的载体,其特征在于,所述无线连接包括蓝牙、Wifi或近场通信(NFC)连接。
28.根据权利要求24所述的载体,其特征在于,所述载体控制器进一步配置为至少部分地基于所述搭载物控制信号生成用于控制致动器的载体控制信号。
29.根据权利要求24所述的载体,其特征在于,所述搭载物可释放地连接至所述载体。
30.根据权利要求24所述的载体,其特征在于,所述载体控制器进一步配置为至少部分地基于由连接至所述载体的基座支撑件提供的基座控制信号控制所述致动器。
CN201680086519.3A 2016-06-06 2016-06-06 载体辅助跟踪 Pending CN109477715A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/084955 WO2017210826A1 (en) 2016-06-06 2016-06-06 Carrier-assisted tracking

Publications (1)

Publication Number Publication Date
CN109477715A true CN109477715A (zh) 2019-03-15

Family

ID=60577450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680086519.3A Pending CN109477715A (zh) 2016-06-06 2016-06-06 载体辅助跟踪

Country Status (6)

Country Link
US (2) US11106928B2 (zh)
EP (2) EP3465085B1 (zh)
CN (1) CN109477715A (zh)
DK (1) DK3465085T3 (zh)
ES (1) ES2905450T3 (zh)
WO (1) WO2017210826A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111513492A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 用于陈列物品的智能设备和物品监测的方法
CN113301189A (zh) * 2021-04-07 2021-08-24 厦门市思芯微科技有限公司 基于CamShift的移动客户端跟随拍摄方法和装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017167281A1 (zh) * 2016-03-31 2017-10-05 纳恩博(北京)科技有限公司 一种地面移动装置及稳定器、一种云台和机器人头部
TWM560035U (zh) * 2017-11-13 2018-05-11 鄭宇傑 影像追蹤裝置
CN108317379B (zh) * 2018-02-09 2019-01-22 桂林智神信息技术有限公司 控制手持云台的方法、装置及手持云台
CN112313576B (zh) * 2018-06-19 2022-09-06 杭州他若定位科技有限公司 具有稳定功能的相机移动设备支架
CN110914781A (zh) * 2018-07-27 2020-03-24 深圳市大疆创新科技有限公司 云台的控制方法及控制装置、云台、移动小车
USD914794S1 (en) * 2019-04-12 2021-03-30 SZ DJI Technology Co., Ltd. Gimbal with handle
US11438514B1 (en) * 2021-05-24 2022-09-06 Getac Technology Corporation Performing image collection adjustment within a body-mounted camera
US20230199316A1 (en) * 2021-12-17 2023-06-22 Matterport Motor mount for image capture of surrounding environment

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004052642A1 (de) * 2004-10-29 2006-05-18 Straßer, Gerald Schwebestativ Vorrichtung zum Stabilisieren von Kameras
CN103984193A (zh) * 2014-03-14 2014-08-13 广州虹天航空科技有限公司 拍摄设备稳定器及其控制方法
CN204188937U (zh) * 2014-11-13 2015-03-04 梁勇 竖握式三轴陀螺仪电子稳定器
CN104508346A (zh) * 2013-12-10 2015-04-08 深圳市大疆创新科技有限公司 非正交轴载体
CN104767906A (zh) * 2015-04-28 2015-07-08 姬志刚 一种高速运动成像检测器
CN105485189A (zh) * 2014-10-01 2016-04-13 碧阁***株式会社 开放式视野维持水平装置
CN105486288A (zh) * 2015-11-30 2016-04-13 上海电机学院 一种基于机器视觉的视觉伺服对准***
CN105518555A (zh) * 2014-07-30 2016-04-20 深圳市大疆创新科技有限公司 目标追踪***及方法
CN205226838U (zh) * 2015-12-26 2016-05-11 武汉智能鸟无人机有限公司 一种带跟踪功能的手持云台

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5012270A (en) * 1988-03-10 1991-04-30 Canon Kabushiki Kaisha Image shake detecting device
DE4413916A1 (de) * 1994-04-21 1995-11-02 Bodenseewerk Geraetetech Einrichtung zur passiven Freund/Feind-Unterscheidung
JPH08321984A (ja) * 1995-03-22 1996-12-03 Sony Corp 自動追尾撮像装置
US6226388B1 (en) * 1999-01-05 2001-05-01 Sharp Labs Of America, Inc. Method and apparatus for object tracking for automatic controls in video devices
US7038709B1 (en) * 2000-11-01 2006-05-02 Gilbert Verghese System and method for tracking a subject
US20050036036A1 (en) * 2001-07-25 2005-02-17 Stevenson Neil James Camera control apparatus and method
US7046823B2 (en) * 2002-08-01 2006-05-16 Raytheon Company Correlation tracker breaklock detection
US7681846B1 (en) * 2003-07-23 2010-03-23 Vladan Mijailovic Steadying camera support platform
KR100588170B1 (ko) * 2003-11-20 2006-06-08 엘지전자 주식회사 감시용 카메라에서의 프라이버시 마스킹 설정방법
US7742077B2 (en) * 2004-02-19 2010-06-22 Robert Bosch Gmbh Image stabilization system and method for a video camera
IL165190A (en) * 2004-11-14 2012-05-31 Elbit Systems Ltd System and method for stabilizing an image
US7642741B2 (en) * 2005-04-27 2010-01-05 Sidman Adam D Handheld platform stabilization system employing distributed rotation sensors
US8179078B2 (en) * 2005-04-27 2012-05-15 Sidman Adam D Handheld or vehicle-mounted platform stabilization system
JP4709101B2 (ja) * 2006-09-01 2011-06-22 キヤノン株式会社 自動追尾カメラ装置
EP2153641B2 (en) 2007-04-13 2021-10-27 Ari M. Presler Digital cinema camera system for recording, editing and visualizing images
US8064691B2 (en) 2007-05-15 2011-11-22 Creative Lifestyle, Inc. Method for identifying color in machine and computer vision applications
US8212880B2 (en) * 2007-12-20 2012-07-03 Utah State University Research Foundation Three-axis image stabilization system
JP4982407B2 (ja) * 2008-02-22 2012-07-25 株式会社東芝 移動体画像追尾装置及び方法
US9740922B2 (en) * 2008-04-24 2017-08-22 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
DE102008039468A1 (de) * 2008-08-25 2010-03-04 Stefan Reich Vorrichtung und Verfahren zur Lagestabilisierung von Kameras
US20100134632A1 (en) 2008-12-03 2010-06-03 Electronics And Telecommunications Research Institute Apparatus for tracking an object using a moving camera and method thereof
JP5010634B2 (ja) * 2009-03-17 2012-08-29 株式会社東芝 移動体画像追尾装置
JP4810582B2 (ja) * 2009-03-26 2011-11-09 株式会社東芝 移動体画像追尾装置および方法
US20120113266A1 (en) * 2009-04-07 2012-05-10 Nextvision Stabilized Systems Ltd Methods of manufacturing a camera system having multiple image sensors
WO2011100480A1 (en) * 2010-02-10 2011-08-18 Brian Lamb Automatic motion tracking, event detection and video image capture and tagging
WO2011127201A1 (en) * 2010-04-06 2011-10-13 Youbiq Llc Camera control
US9681065B2 (en) * 2010-06-15 2017-06-13 Flir Systems, Inc. Gimbal positioning with target velocity compensation
US9007432B2 (en) 2010-12-16 2015-04-14 The Massachusetts Institute Of Technology Imaging systems and methods for immersive surveillance
TWI394087B (zh) 2010-12-31 2013-04-21 Ind Tech Res Inst 追蹤目標物的方法及裝置
WO2012094667A1 (en) * 2011-01-07 2012-07-12 Delphian Systems, LLC System and method for access control via mobile device
DE102012217146A1 (de) * 2012-09-24 2014-03-27 Robert Bosch Gmbh Mobile Empfangseinheit, Verfahren zur Bedienung der mobilen Empfangseinheit sowie Computerprogramm
US9137488B2 (en) 2012-10-26 2015-09-15 Google Inc. Video chat encoding pipeline
DE102012111974A1 (de) * 2012-12-07 2014-06-12 Blackcam 4D Gmbh Kamerawagen und Aufnahmesystem
KR20140095333A (ko) 2013-01-24 2014-08-01 한남대학교 산학협력단 영상에서 객체 추적 방법 및 장치
US20140209777A1 (en) * 2013-01-25 2014-07-31 Informericials, Inc. Trigger actuated clamp for smart phone camera
KR20140102443A (ko) * 2013-02-14 2014-08-22 삼성전자주식회사 카메라를 이용한 물체 추적 방법 및 이를 위한 카메라 시스템
WO2014140354A1 (en) * 2013-03-15 2014-09-18 Freefly Systems Inc. Method and system for correcting camera pointing angle in an actively stabilized system to compensate for translational movements
US8903568B1 (en) * 2013-07-31 2014-12-02 SZ DJI Technology Co., Ltd Remote control method and terminal
WO2015101822A1 (en) * 2014-01-02 2015-07-09 Mastortech Limited Camera stabilisation mounting
US20150241713A1 (en) 2014-02-21 2015-08-27 The Lightco Inc. Camera holder methods and apparatus
CN103927745A (zh) 2014-03-28 2014-07-16 北京中海新图科技有限公司 面向可穿戴设备的跟踪与匹配并行计算方法
US10068311B2 (en) 2014-04-05 2018-09-04 Sony Interacive Entertainment LLC Varying effective resolution by screen location by changing active color sample count within multiple render targets
JP2015207886A (ja) * 2014-04-18 2015-11-19 ソニー株式会社 撮像装置および把持部材
JP6370140B2 (ja) * 2014-07-16 2018-08-08 キヤノン株式会社 ズーム制御装置、撮像装置、ズーム制御装置の制御方法、ズーム制御装置の制御プログラムおよび記憶媒体
US9219870B1 (en) 2014-07-31 2015-12-22 Apple Inc. Sensor data rescaler for image signal processing
KR20160024143A (ko) * 2014-08-25 2016-03-04 삼성전자주식회사 영상 처리 방법 및 전자 장치
US9554030B2 (en) * 2014-09-29 2017-01-24 Yahoo! Inc. Mobile device image acquisition using objects of interest recognition
US20180176483A1 (en) 2014-12-29 2018-06-21 Metaio Gmbh Method and sytem for generating at least one image of a real environment
US10091432B2 (en) * 2015-03-03 2018-10-02 Canon Kabushiki Kaisha Image capturing apparatus, control method thereof and storage medium storing control program therefor
CN104680558B (zh) 2015-03-14 2017-07-28 西安电子科技大学 使用GPU硬件加速的Struck目标跟踪方法
US9697796B2 (en) 2015-03-26 2017-07-04 Intel Corporation Adaptive linear luma domain video pipeline architecture
US9243741B1 (en) * 2015-04-20 2016-01-26 Intellectual Fortress, LLC Telescoping monopod apparatus for holding photographic instrument
US9927225B2 (en) 2015-05-28 2018-03-27 The Arizona Board Of Regents On Behalf Of The University Of Arizona Measuring dynamic displacement
US20160381271A1 (en) * 2015-06-25 2016-12-29 DelTron Intelligence Technology Limited Handheld camera stabilizer with integration of smart device
CN104914649A (zh) * 2015-06-30 2015-09-16 桂林飞宇电子科技有限公司 一种适用于运动拍摄的稳定器
KR102370374B1 (ko) * 2015-08-04 2022-03-04 삼성전자주식회사 촬상 장치 모듈, 이를 채용한 사용자 단말 장치 및 사용자 단말 장치의 작동 방법
CN105184220B (zh) 2015-08-04 2018-06-29 厦门大学 基于gpu的交替霍夫森林实时目标跟踪方法
US9648261B2 (en) 2015-08-26 2017-05-09 Apple Inc. Account for clipped pixels in auto-focus statistics collection
JP6574645B2 (ja) * 2015-08-28 2019-09-11 キヤノン株式会社 撮像装置を制御する制御装置、撮像装置の制御方法、及びプログラム
US9754182B2 (en) 2015-09-02 2017-09-05 Apple Inc. Detecting keypoints in image data
CN107975661B (zh) 2015-09-29 2020-03-03 深圳市大疆灵眸科技有限公司 手柄云台及其控制方法
JP6590628B2 (ja) * 2015-10-09 2019-10-16 キヤノン株式会社 撮像装置、その制御方法、およびプログラム、並びに記憶媒体
CN105405138B (zh) 2015-11-10 2018-05-29 上海交通大学 基于显著性检测的水面目标跟踪方法
CN105447811A (zh) 2015-11-23 2016-03-30 武汉珞珈德毅科技股份有限公司 空间数据处理方法、装置及***
US10602187B2 (en) 2015-11-30 2020-03-24 Intel Corporation Efficient, compatible, and scalable intra video/image coding using wavelets and HEVC coding
US10270973B2 (en) * 2015-12-08 2019-04-23 Canon Kabushiki Kaisha Control device and imaging apparatus with a subject selectable mode with higher image blur correction
CN105592269B (zh) 2016-03-03 2019-03-15 司马大大(北京)智能***有限公司 运动目标捕捉与跟踪设备及运动目标捕捉与跟踪方法
CN105513087A (zh) 2016-03-03 2016-04-20 北京志光伯元科技有限公司 激光瞄准与跟踪设备及其控制方法
US10116916B2 (en) 2016-03-17 2018-10-30 Nvidia Corporation Method for data reuse and applications to spatio-temporal supersampling and de-noising
WO2017167281A1 (zh) * 2016-03-31 2017-10-05 纳恩博(北京)科技有限公司 一种地面移动装置及稳定器、一种云台和机器人头部

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004052642A1 (de) * 2004-10-29 2006-05-18 Straßer, Gerald Schwebestativ Vorrichtung zum Stabilisieren von Kameras
CN104508346A (zh) * 2013-12-10 2015-04-08 深圳市大疆创新科技有限公司 非正交轴载体
CN103984193A (zh) * 2014-03-14 2014-08-13 广州虹天航空科技有限公司 拍摄设备稳定器及其控制方法
CN105518555A (zh) * 2014-07-30 2016-04-20 深圳市大疆创新科技有限公司 目标追踪***及方法
CN105485189A (zh) * 2014-10-01 2016-04-13 碧阁***株式会社 开放式视野维持水平装置
CN204188937U (zh) * 2014-11-13 2015-03-04 梁勇 竖握式三轴陀螺仪电子稳定器
CN104767906A (zh) * 2015-04-28 2015-07-08 姬志刚 一种高速运动成像检测器
CN105486288A (zh) * 2015-11-30 2016-04-13 上海电机学院 一种基于机器视觉的视觉伺服对准***
CN205226838U (zh) * 2015-12-26 2016-05-11 武汉智能鸟无人机有限公司 一种带跟踪功能的手持云台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
米夏埃尔•海纳曼: "《数码摄影全手册》", 31 January 2015, 中国摄影出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111513492A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 用于陈列物品的智能设备和物品监测的方法
CN113301189A (zh) * 2021-04-07 2021-08-24 厦门市思芯微科技有限公司 基于CamShift的移动客户端跟随拍摄方法和装置

Also Published As

Publication number Publication date
EP3982626A1 (en) 2022-04-13
US20210390327A1 (en) 2021-12-16
EP3465085A4 (en) 2019-12-25
US20190108412A1 (en) 2019-04-11
DK3465085T3 (da) 2022-03-07
WO2017210826A1 (en) 2017-12-14
ES2905450T3 (es) 2022-04-08
US11568626B2 (en) 2023-01-31
EP3465085A1 (en) 2019-04-10
EP3465085B1 (en) 2021-12-29
US11106928B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
CN109477715A (zh) 载体辅助跟踪
CN109477607A (zh) 用于跟踪的图像处理
US10515480B1 (en) Automated three dimensional model generation
US9489739B2 (en) Scene analysis for improved eye tracking
CN105283905B (zh) 使用点和线特征的稳健跟踪
US20180012411A1 (en) Augmented Reality Methods and Devices
CN105518555B (zh) 目标追踪***及方法
WO2017080451A1 (en) Methods and systems for binocular stereo vision
CN109614983B (zh) 训练数据的生成方法、装置及***
KR20150012274A (ko) 이미지 내 원형 객체 검출에 의한 계산장치 동작
KR20220160066A (ko) 이미지 처리 방법 및 장치
CN103348667A (zh) 摄像装置、摄像方法及程序
WO2016077568A1 (en) 3d enhanced image correction
CN115482556A (zh) 关键点检测模型训练及虚拟角色驱动的方法和对应的装置
US10789472B1 (en) Multiple image processing and sensor targeting for object detection
WO2021248432A1 (en) Systems and methods for performing motion transfer using a learning model
KR102458896B1 (ko) 세그멘테이션 맵 기반 차량 번호판 인식 방법 및 장치
KR20140095601A (ko) 자세 분류 장치 및 자세 분류 방법
US20240177414A1 (en) 3d generation of diverse categories and scenes
CN114239630B (zh) 翻拍二维码检测方法、装置及可读介质
US11985424B2 (en) Signal processing device and signal processing method for correcting input signal from sensor
CN115147922A (zh) 基于嵌入式平台的单目行人检测方法、***、设备及介质
JP2018206270A (ja) 画像管理装置
Hall GPU accelerated feature algorithms for mobile devices

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190315

RJ01 Rejection of invention patent application after publication