无人自主飞行器中的图像处理转让专利

申请号 : CN201680089527.3

文献号 : CN109792484B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄寅J·任X·朱L·张R·王

申请人 : 高通股份有限公司

摘要 :

各实施例包括用于处理由无人自主飞行器(UAV)的图像传感器捕获的图像的设备和方法。该UAV的处理器可确定该UAV的机体坐标矩阵。该处理器可确定该UAV的该图像传感器的估计旋转。该处理器可确定该UAV的估计旋转。该处理器可基于机体坐标矩阵、该图像传感器的估计旋转、和该UAV的估计旋转来变换由该图像传感器捕获的图像。

权利要求 :

1.一种处理由无人自主飞行器(UAV)的图像传感器捕获的图像的方法,包括:将所述图像传感器捕获的图像划分成多个子帧;

确定所述UAV的机体坐标矩阵;

确定所述UAV的所述图像传感器的估计旋转;

基于使用所述机体坐标矩阵执行的转置来确定所述UAV的估计旋转;以及基于所述机体坐标矩阵、所述图像传感器的估计旋转和所述UAV的估计旋转来变换所述多个子帧中的每个子帧。

2.如权利要求1所述的方法,其中所述UAV的估计旋转基于所述UAV的所确定的机体坐标矩阵。

3.如权利要求1所述的方法,其中所述UAV的估计旋转基于所述UAV的所述图像传感器的估计旋转。

4.如权利要求1所述的方法,进一步包括:确定变换矩阵,

其中基于所述机体坐标矩阵、所述图像传感器的估计旋转、和所述UAV的估计旋转来变换由所述图像传感器捕获的所述图像进一步包括使用所确定的变换矩阵来变换由所述UAV的所述图像传感器捕获的所述图像。

5.如权利要求4所述的方法,其中所述变换矩阵基于所述UAV的估计旋转。

6.如权利要求1所述的方法,其中基于所述机体坐标矩阵、所述图像传感器的估计旋转、和所述UAV的估计旋转来变换由所述图像传感器捕获的所述图像包括:将镜像置换矩阵应用于由所述UAV的所述图像传感器捕获的所述图像。

7.如权利要求1所述的方法,其中基于所述机体坐标矩阵、所述图像传感器的估计旋转、和所述UAV的估计旋转来变换由所述图像传感器捕获的所述图像包括:执行包括将变换矩阵并将镜像置换矩阵应用于由所述UAV的所述图像传感器捕获的所述图像的一步操作。

8.如权利要求1所述的方法,进一步包括:输出经变换的图像;以及

执行存储或显示所述经变换的图像中的一者。

9.一种无人自主飞行器(UAV),包括处理器,所述处理器被配置有处理器可执行指令以执行权利要求1-8中的任一项所述的方法 。

10.一种无人自主飞行器(UAV),包括用于执行权利要求1-8中的任一项所述的方法的功能的装置。

11.一种其上存储有处理器可执行指令的非瞬态处理器可读存储介质,所述处理器可执行指令被配置成使得无人自主飞行器(UAV)的处理器执行权利要求1-8中的任一项所述的方法 。

说明书 :

无人自主飞行器中的图像处理

[0001] 背景
[0002] 正在开发用于较宽范围的应用的无人自主飞行器(UAV)。UAV通常装备有一个或多个传感器,诸如能够捕获图像、一系列图像、或视频的相机。然而,UAV的运动可能导致不可
接受的失真或摇晃的图像或视频。
[0003] 图像稳定(IS)指代在图像或视频的捕获期间检测和校正由于相机晃动而引入的虚假运动的过程。在最一般意义上,虚假全局运动可包括与预期相机路径的任何偏离以及
由于非预期相机移动而引入的抖动。各种各样的机械图像稳定机构和技术可以是可用的。
然而,此类机构对于纳入到大多数UAV中且与大多数UAV联用而言通常是太重且太昂贵的。
[0004] 概述
[0005] 各个实施例包括可在UAV的处理器上实现的用于处理由该UAV的图像传感器捕获的图像的方法。各个实施例可包括:确定该UAV的机体坐标矩阵,确定该UAV的该图像传感器
的估计旋转,确定该UAV的估计旋转,以及基于该机体坐标矩阵、该图像传感器的估计旋转、
和该UAV的估计旋转来变换由该图像传感器捕获的图像。在一些实施例中,该UAV的估计旋
转可基于该UAV的所确定的机体坐标矩阵、该UAV的该图像传感器的估计旋转、和使用该机
体坐标矩阵执行的转置中的一者或多者。在一些实施例中,该UAV的处理器可确定变换矩
阵,可使用所确定的变换矩阵来变换由该UAV的该图像传感器捕获的图像。在一些实施例
中,该处理器可将镜像置换矩阵应用于由该UAV的该图像传感器捕获的图像。在一些实施例
中,该处理器可执行包括将该变换矩阵和该镜像置换矩阵应用于所捕获图像的一步操作。
[0006] 一些实施例包括一种具有成像传感器(例如,相机)以及处理器的UAV,该处理器被配置有处理器可执行指令以执行以上概述的方法的操作。一些实施例包括一种UAV,其具有
用于执行以上概述的方法的功能的装置。一些实施例包括其上存储有处理器可执行指令的
处理器可读存储介质,这些处理器可执行指令被配置成使得UAV的处理器执行以上概述的
方法的操作。
[0007] 附图简述
[0008] 纳入于此且构成本说明书一部分的附图解说了各示例实施例,并与以上给出的概括描述和下面给出的详细描述一起用来解释各个实施例的特征。
[0009] 图1是根据各个实施例的UAV在通信系统内操作的系统框图。
[0010] 图2是解说根据各个实施例的UAV的各组件的组件框图。
[0011] 图3A是解说根据各个实施例的UAV的图像捕获和处理系统的各组件的组件框图。
[0012] 图3B解说了根据各个实施例的失真图像。
[0013] 图3C解说了根据各个实施例的经校正图像。
[0014] 图4A和4B解说了根据各个实施例的由移动平台上的图像传感器捕获的图像中的图像失真。
[0015] 图5A和5B解说了根据各个实施例的UAV的坐标系。
[0016] 图6是解说根据各个实施例的UAV中的图像处理的方法的图像模型序列。
[0017] 图7是解说根据各个实施例的UAV中的图像处理的方法的过程流程图。
[0018] 详细描述
[0019] 将参照附图详细描述各个实施例。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实施例作出的引述用于解说性目的,而无意限定权利要
求的范围。
[0020] 各个实施例包括可在UAV的处理器上实现的用于处理由该UAV的图像传感器捕获的图像以将图像与地平线重新对准并针对飞行器俯仰和滚转来校正图像而无需物理万向
节(gimbal)的方法。各个实施例针对可使用不同的机身框架(body frame)坐标系的较宽范
围的UAV机身框架以及安装至该UAV的不同图像传感器来提高对此类图像进行图像处理的
效率和准确度。各个实施例进一步提高了对由运动中的UAV捕获的图像进行图像处理的效
率和准确度。
[0021] 如本文中所使用的,术语“UAV”指代各种类型的无人自主飞行器(unmanned autonomous vehicle)中的一者。UAV可包括配置成在没有(诸如来自人类操作员或远程计
算设备的)远程操作指令的情况下(即,自主地)操纵和/或导航该UAV的机载计算设备。替换
地,该机载计算设备可被配置成使用一些远程操作指令或者对存储在该机载计算设备的存
储器中的指令的更新来操纵和/或导航UAV。在一些实现中,UAV可以是使用多个推进单元来
推进飞行的飞行器,每个推进单元包括为该UAV提供推进力和/或提升力的一个或多个旋
翼。UAV推进单元可由一种或多种类型的电功率源(诸如电池、燃料电池、电动发电机、太阳
能电池、或其他电功率源)供电,该一种或多种类型的电功率源也可为机载计算设备、导航
组件、和/或其他板载组件供电。
[0022] UAV越来越多地装备有用于捕获图像和视频的图像传感器设备。装备成对地面进行成像的UAV遭受飞行器的俯仰和滚转导致不与地平线对准的图像的问题。此外,UAV的虚
假运动可能导致图像和视频中的抖动或其他失真。虽然各种各样的机械图像稳定机构(例
如,机械万向节和光学图像稳定(OIS))是可用的,但是此类机构对于纳入到大多数UAV中且
与大多数UAV联用而言通常是太重且太昂贵的。
[0023] 数字图像稳定(DIS)和电子图像稳定(EIS)技术可以减少或消除对机械图像稳定机构(诸如万向节)的需要。采用DIS技术的处理器可基于图像数据(诸如逐图像或逐帧的变
化)来估计UAV的虚假运动。例如,处理器可从图像数据确定一个或多个图像统计。处理器可
例如分析连贯帧以计算变换,该变换在被应用于图像或帧时相对于先前图像或帧减少运动
的影响。然而,图像统计不能被用来将图像传感器的运动与图像传感器的视野中的对象的
运动容易地区分开。此外,在图像稳定中使用图像统计、特别是在图像传感器的视野中存在
移动对象时可能导致视频中的附加抖动或晃动。附加地,DIS性能可能在低光或正改变的照
明条件下受损。
[0024] 为了实现EIS,UAV的处理器可分析来自该UAV的传感器的传感器数据以确定该UAV的虚假运动。例如,UAV的处理器可检测该UAV的定向(例如,俯仰和滚转)、该UAV的运动(例
如,在三维中加上关于俯仰、滚转和偏航轴的运动)、加速度(例如,振动和抖动)、和/或可从
该UAV的一个或多个传感器(例如,陀螺仪和加速计)可用的其他信息。使用UAV的估计定向
和估计运动,该UAV的处理器可以处理图像或视频以对图像校正该由定向和运动引起的失
真。在一些实施例中,该处理可被实时地执行或在对图像或视频的后处理中执行。例如,UAV
的处理器可使用传感器数据来确定要在两个连贯图像或帧之间使用例如陀螺仪和加速计
来应用于图像传感器的输出的旋转和平移。
[0025] 在EIS系统中,UAV的处理器可基于该UAV的坐标系和关于该UAV上的图像传感器的安装的信息、以及关于图像传感器的输出的定向的信息来处理图像或视频。
[0026] 例如,UAV可包括各种各样的机身框架,并且此类机身框架的制造商可例如在飞行控制器或该UAV的另一处理器中利用不同的坐标系。机身框架坐标系的一个示例是北-东-
地(NED),其中沿x轴的正值指示北,沿y轴的正值指示东,并且沿x轴的正值指示地(即,朝向
重力)。机身框架坐标系的另一示例是北-西-天(NWU),其中沿x轴的正值指示北,沿y轴的正
值指示西,沿x轴的正值指示天(即,远离重力)。不同UAV制造商和供应商可使用不同的坐标
系。
[0027] 作为另一示例,图像传感器(诸如相机)可以使用变化的定向(诸如横向定向或纵向定向)来安装在UAV上。此外,该图像传感器可按各种各样的定向(诸如横向输出或纵向输
出)来输出图像信息。
[0028] 各种实施例提供由UAV的处理器实现的用于处理由该UAV的图像传感器捕获的图像的方法。各个实施例进一步提高了对由运动中的UAV捕获的图像进行图像处理的效率和
准确度,并且进一步针对可使用不同的机身框架坐标系的较宽范围的UAV机身框架以及安
装至该UAV的不同图像传感器来提高对此类图像进行图像处理的效率和准确度。
[0029] 在各个实施例中,UAV的处理器可确定该UAV的机体坐标矩阵、该UAV的图像传感器的估计旋转、和该UAV的估计旋转(即,相对于参考框架的俯仰和滚转)。该UAV的处理器可基
于机体坐标矩阵、图像传感器的估计旋转、和该UAV的估计旋转来变换由该图像传感器捕获
的图像。在一些实施例中,UAV的估计旋转可基于该UAV的所确定的机体坐标矩阵、该UAV的
图像传感器的估计旋转、和使用该机体坐标矩阵执行的转置中的一者或多者。在一些实施
例中,UAV的处理器可确定变换矩阵并使用所确定的变换矩阵来变换由该UAV的图像传感器
捕获的图像。在一些实施例中,处理器可将镜像置换矩阵应用于由UAV的图像传感器捕获的
图像。在一些实施例中,处理器可执行包括将变换矩阵和镜像置换矩阵应用于所捕获图像
的一步操作。
[0030] 各个实施例可在各种各样的通信系统100内操作的UAV内实现,其中的一个示例在图1中解说。参照图1,通信系统100可包括UAV 102、基站104、接入点106、通信网络108和网
络元件110。
[0031] 基站104和接入点106可提供无线通信以分别在有线和/或无线通信回程116和118上接入通信网络108。基站104可包括配置成在广域(例如,宏蜂窝小区)上提供无线通信的
基站、以及小型蜂窝小区(其可包括微蜂窝小区、毫微微蜂窝小区、微微蜂窝小区以及其他
类似的网络接入点)。接入点106可包括配置成在相对较小的区域上提供无线通信的接入
点。基站和接入点的其他示例也是可能的。
[0032] UAV 102可在无线通信链路112上与基站104进行通信,并在无线通信链路114上与接入点106进行通信。无线通信链路112和114可包括多个载波信号、频率、或频带,其中每一
者可包括多个逻辑信道。无线通信链路112和114可利用一种或多种无线电接入技术(RAT)。
可在无线通信链路中使用的RAT的示例包括3GPP长期演进(LTE)、3G、4G、5G、全球移动性系
统(GSM)、码分多址(CDMA)、宽带码分多址(WCDMA)、全球微波接入互通(WiMAX)、时分多址
(TDMA)、以及其他移动电话通信技术蜂窝RAT。可在通信系统100内的各种无线通信链路中
的一者或多者中使用的RAT的其他示例包括中等距离协议(诸如Wi-Fi、LTE-U、LTE-直连、
LAA、MuLTEfire)和相对短距离RAT(诸如ZigBee、蓝牙和蓝牙低能量(LE))。
[0033] 网络元件110可包括网络服务器或另一类似的网络元件。网络元件110可在通信链路122上与通信网络108进行通信。UAV 102和网络元件110可经由通信网络108进行通信。网
络元件110可向UAV 102提供各种各样的信息,诸如导航信息、天气信息、关于局部气流、地
面、和/或海上运输的信息、移动控制指令、以及与UAV 102的操作相关的其他信息、指令、或
命令。
[0034] 在各个实施例中,UAV 102可移动通过环境120。当UAV 102移动通过环境120时,UAV 102的处理器可捕获环境120的一方面的图像或视频。
[0035] UAV可包括有翼或旋翼机种类。图2解说了旋转推进设计的示例UAV 200,其利用由对应的马达驱动的一个或多个旋翼202来提供升空(或起飞)以及其他空中运动(例如,向前
前进、上升、下降、横向运动、倾斜、旋转等)。UAV 200被解说为可利用各个实施例的UAV的示
例,但并不旨在暗示或要求各个实施例被限于旋翼机UAV。各个实施例也可与有翼UAV联用。
此外,各个实施例可同样地与基于陆地的自主交通工具、水上自主交通工具和基于空间的
自主交通工具联用。
[0036] 参照图1和2,UAV 200可类似于UAV 102。UAV 200可包括数个旋翼202、框架204、以及着陆柱206或着陆橇。框架204可为与旋翼202相关联的马达提供结构支撑。着陆柱206可
支撑UAV 200的各组件的组合的最大负载重量,并且在一些情况中,支撑有效载荷。为了描
述和解说方便,省略了UAV 200的一些详细方面,诸如布线、框架结构互连、或对本领域技术
人员是已知的其他特征。例如,虽然UAV 200被示为或描述为具有具备数个支撑构件或框架
结构的框架204,但UAV 200可使用其中通过模制结构获得支撑的模制框架来构造。虽然UAV 
200被解说为具有四个旋翼202,但是这仅仅是示例性的,并且各个实施例可包括多于或少
于4个旋翼202。
[0037] UAV 200可进一步包括控制单元210,其可容纳用来为UAV 200供电和控制其操作的各种电路和设备。控制单元210可包括处理器220、功率模块230、传感器240、有效载荷固
定单元244、输出模块250、输入模块260和无线电模块270。
[0038] 处理器220可被配置有处理器可执行指令以控制UAV 200的行进和其他操作(包括各个实施例的操作)。处理器220可包括或被耦合至导航单元222、存储器224、陀螺/加速计
单元226、和航空电子设备模块228。处理器220和/或导航单元222可被配置成通过无线连接
(例如,蜂窝数据网络)来与服务器进行通信,以接收在导航中有用的数据、提供实时位置海
拔报告、以及评估数据。
[0039] 航空电子设备模块228可被耦合至处理器220和/或导航单元222,并且可被配置成提供行进控制相关的信息,诸如导航单元222可用于导航目的(诸如全球导航卫星系统
(GNSS)位置更新之间的航位推算)的海拔、姿态、空速、航向和类似信息。陀螺/加速计单元
226可包括加速计、陀螺仪、惯性传感器、或其他类似的传感器。航空电子设备模块228可包
括或接收来自陀螺/加速计单元226的数据,该陀螺/加速计单元226提供关于UAV 200的可
在导航和定位计算中使用的定向和加速度的数据、以及提供在各个实施例中用于处理图像
的数据。
[0040] 处理器220可进一步从传感器240(诸如图像传感器或光学传感器(例如,能够感测可见光、红外线、紫外线、和/或其他波长的光))接收附加信息。传感器240还可包括射频
(RF)传感器、气压计、声纳发射器/探测器、雷达发射器/探测器、话筒、或另一声学传感器、
或者可提供可由处理器220用于移动操作以及导航和定位计算的信息的另一传感器。传感
器240可包括接触或压力传感器,其可提供指示UAV 200何时已经与表面接触的信号。有效
载荷固定单元244可包括致动器马达,其驱动抓握和释放机构以及响应于控制单元210的相
关控制,以响应于来自控制单元210的命令而抓握和释放有效载荷。
[0041] 功率模块230可包括可向各个组件(包括处理器220、传感器240、有效载荷固定单元244、输出模块250、输入模块260和无线电模块270)提供功率的一个或多个电池。另外,功
率模块230可包括能量存储组件,诸如可充电电池。处理器220可被配置有处理器可执行指
令以控制功率模块230的充电(即,对所收集能量的存储),诸如通过使用充电控制电路来执
行充电控制算法。替换地或附加地,功率模块230可被配置成管理其自己的充电。处理器220
可被耦合至输出模块250,该输出模块250可输出用于管理驱动旋翼202和其他组件的马达
的控制信号。
[0042] 当UAV 200朝目的地前进时,UAV 200可通过控制旋翼202的个体马达来控制。处理器220可从导航单元222接收数据并使用此类数据以便确定UAV200的当前位置和定向,以及
朝目的地或中间站点的恰适路线。在各个实施例中,导航单元222可包括使得UAV 200能够
使用GNSS信号进行导航的GNSS接收机系统(例如,一个或多个全球定位系统(GPS)接收机)。
替换地或附加地,导航单元222可装备有用于接收来自无线电节点(诸如导航信标(例如,甚
高频率(VHF)全向射程(VOR)信标)、Wi-Fi接入点、蜂窝网络站点、无线电站、远程计算设备、
其他UAV等)的导航信标或者其他信号的无线电导航接收机。
[0043] 无线电模块270可被配置成接收导航信号(诸如来自航空导航设施的信号等),并且将此类信号提供给处理器220和/或导航单元222以辅助UAV导航。在各个实施例中,导航
单元222可使用接收自地面上的可识别RF发射器(例如,AM/FM无线电站、Wi-Fi接入点、以及
蜂窝网络基站)的信号。
[0044] 无线电模块270可包括调制解调器274和发射/接收天线272。无线电模块270可被配置成与各种各样的无线通信设备(例如,无线通信设备(WCD)290)进行无线通信,该无线
通信设备的各示例包括无线电话基站或蜂窝塔台(例如,基站104)、网络接入点(例如,接入
点106)、信标、智能手机、平板设备、或UAV 200可与其进行通信的另一计算设备(诸如网络
元件110)。处理器220可经由无线电模块270的调制解调器274和天线272并且无线通信设备
290经由发射/接收天线292来建立双向无线通信链路294。在一些实施例中,无线电模块270
可被配置成使用不同的无线电接入技术来支持与不同无线通信设备的多个连接。
[0045] 在各个实施例中,无线通信设备290可通过中间接入点来连接到服务器。在一示例中,无线通信设备290可以是UAV运营商、第三方服务(例如,分组递送、记账等)、或站点通信
接入点的服务器。UAV 200可以通过一个或多个中间通信链路(诸如耦合至广域网(例如,因
特网)或其他通信设备的无线电话网络)来与服务器进行通信。在一些实施例中,UAV 200可
包括并采用其他形式的无线电通信,诸如与其他UAV的网状连接或者到其他信息源(例如,
用于收集和/或分发天气或其他数据采集信息的气球或其他站)的连接。
[0046] 在各个实施例中,控制单元210可被装备有可被用于各种各样的应用的输入模块260。例如,输入模块260可接收来自机载相机或传感器的图像或数据,或者可接收来自其它
组件(例如,有效载荷)的电子信号。
[0047] 虽然控制单元210的各种组件被解说为分开的组件,但是这些组件(例如,处理器220、输出模块250、无线电模块270、和其它单元)中的部分或全部可被一起集成在单个设备
或模块(诸如片上系统模块)中。
[0048] 图3A解说了根据各个实施例的UAV(例如,图1和2中的102、200)的图像捕获和处理系统300。参照图1-3A,图像捕获和处理系统300可在UAV的硬件组件和/或软件组件中实现,
其操作可由该UAV的一个或多个处理器(例如,处理器220和/或类似处理器)控制。为了实现
数字图像稳定,可从由UAV的处理器检测到的信息来估计该UAV的虚假运动。在图像捕获和
处理系统300中解说了可实现该数字图像稳定的组件的一个实施例。
[0049] 图像传感器306可捕获图像302的通过透镜304进入的光。透镜304可包括鱼眼镜头或可被配置成提供宽图像捕获角度的另一类似镜头。图像传感器306可将图像数据提供给
图像信号处理(ISP)单元308。感兴趣区域(ROI)选择单元312可向ISP 308数据提供数据,以
用于选择图像数据内的感兴趣区域。
[0050] ISP 308可向滚动快门校正、图像扭曲和裁剪单元326提供图像信息和ROI选择信息。鱼眼矫正单元314可向滚动快门校正、图像扭曲和裁剪单元326提供信息和/或处理功
能。
[0051] 飞行参数单元316可确定惯性测量数据、以及UAV位置和定向数据。例如,飞行参数单元316可从UAV的一个或多个传感器(例如,传感器240)获得或接收惯性测量数据以及UAV
位置和定向数据。飞行参数单元316可向姿势估计单元318提供惯性测量数据以及UAV位置
和定向数据。(“姿势”是“位置”和“定向”的混合。)
[0052] 姿势估计单元318可基于惯性测量数据以及位置和定向数据来确定UAV的位置和定向。在一些实施例中,姿势估计单元318可基于UAV的坐标系(例如,NED或NWU)来确定该
UAV的位置和定向(例如,俯仰、滚转和偏航)。姿势估计单元318可向运动滤波器单元320提
供UAV的所确定的位置和定向。附加地,平移和倾斜控制单元310可向运动滤波器单元320提
供关于图像传感器的平移和/或倾斜的数据。
[0053] 运动滤波器单元320可基于来自姿势估计单元318的位置和定向信息以及来自平移和倾斜控制单元310的平移和/或倾斜信息来确定UAV的图像传感器(例如,传感器240)的
物理和/或虚拟姿势变化。在一些实施例中,运动滤波器单元320可确定图像传感器随时间
的物理或虚拟姿势变化。在一些实施例中,运动滤波器单元320可基于第一图像与第二后续
图像之间的一个或多个变化来确定物理或虚拟姿势变化。在一些实施例中,运动滤波器单
元320可在逐帧的基础上确定图像传感器的物理或虚拟姿势变化。运动滤波器单元可将图
像传感器的所确定的物理和/或虚拟姿势变化提供给每行相机旋转计算单元322。
[0054] 每行相机旋转计算单元322可在逐行的基础上确定要对图像信息执行的旋转。每行相机旋转计算单元322可将关于所确定旋转的信息提供给变换矩阵计算单元324。
[0055] 变换矩阵计算单元324可确定供在处理图像中使用的变换矩阵。变换矩阵计算单元324可将变换矩阵提供给滚动快门校正和扭曲单元326。
[0056] 滚动快门校正和扭曲单元326可裁剪图像信息、校正图像中由透镜304引起的失真,并且可将变换矩阵应用于该图像信息。滚动快门校正和扭曲单元326可基于变换矩阵的
裁剪、失真校正、和/或应用来将经校正图像328提供作为输出。在一些实施例中,经校正图
像可包括具有经校正的水平定向或水平旋转的图像。在一些实施例中,经校正图像可包括
经稳定的视频输出。
[0057] 图3B解说了根据各个实施例的失真图像350。参照图1-3B所示,失真图像350可包括一个或多个失真,例如直线对象352的曲率、或由失真标记354和356以及由测试图像358
指示的失真。
[0058] 图3C解说了根据各个实施例的经校正图像328。参照图1–3C,经校正图像328已经逆时针旋转了90度,并且包括对例如直线对象352和测试图像358的校正。
[0059] 图4A和4B解说了根据各个实施例的由移动平台上的图像传感器捕获的图像中的图像失真。参照图1-4B,UAV的处理器(例如,处理器220和/或类似处理器)和UAV的硬件组件
和/或软件组件可使用UAV的图像传感器(例如,传感器240)来捕获和处理图像或视频。
[0060] 图4A解说了由运动图像传感器捕获的图像402,其包括偏斜物体404。例如,滚动快门失真可能发生在由某些图像传感器(例如,互补金属氧化物半导体(CMOS)图像传感器)捕
获的图像、特别是视频中,这些图像传感器从图像的顶部至底部逐行地记录每一帧,而非在
某个时间点记录单个快照。因为图像的各部分是在不同时间处捕获的,所以图像传感器运
动可能导致图像失真,其被称为“果冻效应”或“果冻摆动”。图像402中所解说的失真可能是
通过对象快速移动通过图像传感器的视野、或通过相机平移(例如,相机的水平或旋转运
动)导致的。另外,快速移动的对象可能随斜线偏斜而失真,如由图像402中的偏斜对象404
解说的。处理器可确定图像传感器在从帧的第一行进至最后一行所花费的时间期间的运
动,并且处理器可校正传感器运动引起的滚动快门失真。
[0061] 图4B解说了可能由运动传感器的俯仰和偏航引起的滚动快门失真。(例如,由图像传感器的平台(例如,UAV)的俯仰和偏航引起的)图像传感器旋转可能由于滚动快门而引起
两种不同的效果。例如,在帧的曝光期间的偏航变化可能导致垂直线产生斜线偏斜406。另
外,在帧的曝光期间的俯仰变化可能改变各水平线之间的间隔408并且可能导致感知沿图
像的Y轴(例如,水平轴)的残余运动。
[0062] 在一些实施例中,处理器可通过对图像或帧内的像素的运动进行建模来校正滚动快门失真。例如,处理器可将图像或帧划分成多个子帧,并且为每个子帧计算仿射变换。在
一些实现中,处理器可对在时间t1–t6(如与时间tf相比较的)处捕获的像素的运动进行建
模。时间tf可包括所选参考时间,其可以是时间t1与t6之间的中点时间。在一些实施例中,
时间t1可等于帧捕获的开始时间(SOF)减去曝光历时(期间捕获图像或帧的时间的历时)的
一半,并且可根据下式来表示:
[0063] t1=SOF–曝光/2   [式1]
[0064] 在一些实施例中,t6可等于帧捕获的结束时间(EOF)减去曝光历时的一半,并且可根据下式来表示:
[0065] T6=EOF–曝光/2   [式2]
[0066] 在一些实施例中,tf可根据下式来表示:
[0067] tf=(t1+t6)/2   [式3]
[0068] 在一些实施例中,处理器可根据最大运动频率(其可被设为图像捕获参数)来确定子帧(例如,在时间t1、t2、t3、t4、t5和t6处的子帧)的数目。
[0069] 处理器随后可针对时间tf确定变换,诸如仿射变换。处理器可将所确定的变换410应用于每个子帧。将变换应用于每个子帧以将整个帧建模为由全局快门在时间tf所捕获
的。
[0070] 图5A和5B解说了根据各个实施例的UAV的机身框架坐标系。参照图1-5B,UAV的处理器(例如,处理器220和/或类似处理器)以及该UAV的硬件组件和/或软件组件可基于该
UAV的坐标系(以及关于该UAV上的图像传感器的安装或定向的信息和关于该图像传感器的
输出的定向的信息)来捕获和处理图像或视频。UAV可包括各种各样的机身框架,并且此类
机身框架的制造商可例如在飞行控制器或该UAV的另一处理器中利用不同的坐标系。
[0071] 图5A解说了北-东-地(NED)机身框架坐标系的示例,其中沿x轴的正值指示北,沿y轴的正值指示东,沿x轴的正值指示地(即,朝向重力)。
[0072] 图5B解说了北-西-天(NWU)机身框架坐标系的示例,其中沿x轴的正值指示北,沿y轴的正值指示西,沿x轴的正值指示天(即,远离重力)。
[0073] 图6解说了根据各个实施例的图像处理方法600中所涉及的图像。参照图1-6,UAV的处理器(例如,处理器220和/或类似处理器)和该UAV的硬件组件和/或软件组件可使用该
UAV的图像传感器(例如,传感器240)来捕获和处理图像或视频。
[0074] 图像602表示由UAV的图像传感器捕获的图像信息。在所解说的示例中,图像602在纵向定向上捕获。在一些实施例中,一些类型的图像传感器(例如,CMOS图像传感器)可以按
一个或多个顺序扫描行来捕获图像602。例如,图像传感器可从图像602的右侧上的第一扫
描行至图像602的左侧上的最后一个扫描行来捕获图像602。
[0075] 图像604表示由UAV的处理器从图像传感器读出的图像信息。与由图像传感器捕获的图像信息相比,从图像传感器读出的图像可被旋转。例如,与图像602相比,图像604被逆
时针旋转90度成横向定向。
[0076] 图像606包括所标识的感兴趣区域606a。在一些实施例中,UAV的处理器可在从图像传感器读出的图像信息内标识感兴趣区域。在一些实施例中,处理器可基于图像信息的
预定裁剪区域或目标区域来标识感兴趣区域。在一些实施例中,处理器可在所标识的感兴
趣区域606a周围应用裁剪裕量。在一些实现中,处理器可施加10-20%范围内的裁剪裕量。
例如,处理器可应用10%的裁剪裕量,在该情形中,处理器可从顶部和底部、并且从左侧和
右侧中的每一侧裁剪5%的图像。
[0077] 图像608表示基于所标识的感兴趣区域606a裁剪的图像。在一些实施例中,图像608可在纵向定向上。
[0078] 图像610表示最终输出图像。在一些实施例中,UAV的处理器可将镜像和置换操作应用于图像608,以将图像608的纵向定向变换为横向定向。
[0079] 在一些实施例中,UAV的处理器可在所标识的感兴趣区域606a至最终输出图像610的单步骤变换612中执行一个或多个操作。在一些实现中,单步骤612可以包括一步反向扭
曲操作。
[0080] 例如,UAV的处理器可计算或获得镜像和置换矩阵。镜像和置换矩阵的一个示例可在下式中表示为“P”:
[0081]
[0082] 该UAV的处理器可进一步计算变换矩阵,其可被表示为“TF”。在一些实施例中,该处理器可计算或获得UAV的估计旋转Rc,其可由下式表示:
[0083]
[0084] 在式5中,Rbc表示UAV的机体坐标矩阵,其可基于UAV的机身框架坐标系(例如,NED或NWU);T表示使用机体坐标矩阵执行的转置;而Rsb表示UAV上的图像传感器的估计旋转。
在一些实施例中,该处理器可确定图像传感器相对于UAV的机身框架坐标系的估计旋转。在
一些实施例中,该图像传感器的估计旋转可包括确定图像传感器的定向(例如,横向或纵
向)。在一些实施例中,该图像传感器的估计旋转可被确定为数值旋转,例如,以度计。
[0085] UAV的处理器部分地基于该UAV的估计旋转来计算变换矩阵,这可由下式表示:
[0086] TF=KRCK-1   [式6]
[0087] 在式6中,K表示基于要被变换的图像(例如,感兴趣区域606a的图像)的表示的相机矩阵,而K-1表示逆相机矩阵。
[0088] 在一些实施例中,UAV的处理器可在单步骤612中执行复合或一步操作(例如,一步反向扭曲操作)。该一步操作可由下式表示:
[0089] TF复合=TF×P   [式7]
[0090] 执行图像扭曲过程可能需要处理器执行逐像素读/写操作,这可能是处理器密集的并且可能需要高处理吞吐量和高带宽吞吐量两者。执行复合或一步操作减少对处理器和
其他处理资源的处理需求、以及减少电池或其他功率资源的消耗。
[0091] 图7解说了根据各个实施例的UAV(例如,图1和2中的102、200)中的图像处理的方法700。参照图1-7,方法700可由UAV的处理器(例如,处理器220和/或类似处理器)实现。
[0092] 在框702中,该处理器可确定机体坐标矩阵(例如,Rbc)。在一些实施例中,该机体坐标矩阵可基于UAV的机身框架坐标系(诸如NED和NWU)。
[0093] 在框704中,该处理器可确定该UAV的图像传感器的估计旋转(例如,Rsb)。在一些实施例中,该处理器可确定图像传感器相对于UAV的机身框架坐标系的估计旋转。
[0094] 在框706中,该处理器可确定该UAV的估计旋转(例如,Rc)。在一些实施例中,该处理器可基于来自该UAV的一个或多个传感器的数据和/或由该UAV的飞行控制系统提供的数
据来确定UAV的估计旋转。在一些实施例中,该处理器可基于所确定的机体坐标矩阵和/或
所确定的图像传感器的估计旋转来确定该UAV的估计旋转。
[0095] 在框708中,该处理器可使用该UAV的图像传感器来捕获图像。
[0096] 在框710中,该处理器可检测由该图像传感器捕获的图像在纵向定向上。例如,该处理器可确定由该图像传感器捕获的图像信息(例如,图像602)。
[0097] 在框712中,该处理器可确定变换矩阵。在一些实施例中,该处理器可基于该UAV的估计旋转来确定变换矩阵。在一些实施例中,该处理器可基于相机矩阵来确定变换矩阵。在
一些实施例中,该处理器可基于逆相机矩阵来确定变换矩阵。
[0098] 在框714中,该处理器可将该变换矩阵应用于所捕获图像。
[0099] 在框716中,该处理器可将镜像置换矩阵应用于所捕获图像。在一些实施例中,该处理器可计算或获得镜像置换矩阵,并将计算出的镜像置换矩阵应用于所捕获图像。
[0100] 在一些实施例中,该处理器可执行复合操作或一步操作,其中在可任选的操作718中,该处理器将该变换矩阵和该镜像置换矩阵应用于所捕获图像。在一些实施例中,可任选
的操作718可包括框714和716的操作。
[0101] 在框720中,该处理器可输出经变换的图像。
[0102] 在框722中,该处理器可(例如,在该UAV的存储器中)存储经变换的图像,或者可(例如,在该UAV的显示器上、或在可与该UAV处于通信的设备(例如,无线通信设备290)的显
示器上)显示经变换的图像。
[0103] 可以针对每个所捕获图像执行方法700的操作,因为该处理器可再次在框704中确定该图像传感器的估计旋转。
[0104] 各个实施例使得UAV的处理器能够改进该UAV的图像捕获和处理。各个实施例还提高了UAV的图像捕获和处理的效率。各个实施例进一步改进了图像稳定的准确度以及图像
传感器在图像捕获期间引起的失真校正。各个实施例针对各种各样的机身框架坐标系实现
了UAV的改进的图像捕获和处理。各个实施例进一步针对图像传感器至UAV的机身框架的各
种各样的安装定向实现了该UAV的改进图像捕获和处理。此外,各个实施例进一步针对由图
像传感器输出的图像的各种各样的图像输出定向实现了UAV的改进图像捕获和处理。
[0105] 所解说和描述的各个实施例是仅作为解说权利要求的各种特征的示例来提供的。然而,关于任何给定实施例来示出和描述的特征不必限于相关联的实施例并且可以与所示
出和描述的其他实施例联用或者组合。另外,权利要求并不旨在由任何一个示例实施例限
制。例如,方法600和700的一个或多个操作可以替换成方法600和700的一个或多个操作或
与之组合,反之亦然。
[0106] 上述方法描述和过程流程图仅作为解说性示例而提供,且并非旨在要求或暗示各个实施例的操作必须按所给出的次序来执行。如本领域技术人员将领会的,前述各实施例
中的操作次序可按任何次序来执行。诸如“此后”、“然后”、“接着”等措辞并非旨在限定操作
次序;这些措辞被用来指引读者遍历方法的描述。进一步,对单数形式的权利要求元素的任
何引述,例如使用冠词“一”、“某”或“该”的引述不应解释为将该元素限定为单数。
[0107] 结合本文中所公开的实施例来描述的各种解说性逻辑框、模块、电路、和算法操作可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换
性,各种解说性组件、框、模块、电路和操作在上面是以其功能性的形式作一般化描述的。此
类功能性是被实现为硬件还是软件取决于具体应用和加诸于整体系统的设计约束。技术人
员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实施例决策不应被解读
为致使脱离权利要求的范围。
[0108] 用于实现结合本文中公开的方面描述的各种解说性逻辑、逻辑框、模块、以及电路的硬件可利用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集
成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、
分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案
中,处理器可以是任何常规处理器、控制器、微控制器、或状态机。处理器还可以被实现为接
收机智能对象的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或
多个微处理器、或任何其他此类配置。替换地,一些操作或方法可由专用于给定功能的电路
系统来执行。
[0109] 在一个或多个方面,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可作为一个或多个指令或代码存储在非瞬态计算机可读存储
介质或非瞬态处理器可读存储介质上。本文中所公开的方法或算法的操作可在处理器可执
行软件模块或处理器可执行指令中实施,该处理器可执行软件模块或处理器可执行指令可
驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态计算机可读或处理器可读存储
介质可以是能被计算机或处理器访问的任何存储介质。作为示例而非限定,此类非瞬态计
算机可读或处理器可读存储介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储、磁
盘存储或其他磁存储智能对象、或能被用来存储指令或数据结构形式的期望程序代码且能
被计算机访问的任何其他介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、
激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而
碟(disc)用激光以光学方式再现数据。以上的组合也被包括在非瞬态计算机可读和处理器
可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者代码和/或指
令的任何组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读存储介质
和/或计算机可读存储介质上。
[0110] 提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本权利要求。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,且本文所
定义的一般原理可被应用于其他实施例而不背离权利要求的精神或范围。由此,本公开并
非旨在限定于本文中示出的实施例,而是应被授予与所附权利要求和本文中公开的原理和
新颖性特征一致的最广义的范围。