CN105447853B - 飞行装置、飞行控制***及方法 - Google Patents
飞行装置、飞行控制***及方法 Download PDFInfo
- Publication number
- CN105447853B CN105447853B CN201510776453.8A CN201510776453A CN105447853B CN 105447853 B CN105447853 B CN 105447853B CN 201510776453 A CN201510776453 A CN 201510776453A CN 105447853 B CN105447853 B CN 105447853B
- Authority
- CN
- China
- Prior art keywords
- image
- scene
- offset
- flight instruments
- frame
- 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
Links
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000001133 acceleration Effects 0.000 claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims description 43
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000012937 correction Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 16
- 238000009416 shuttering Methods 0.000 claims description 11
- 238000009415 formwork Methods 0.000 claims description 9
- 238000005314 correlation function Methods 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000003708 edge detection Methods 0.000 claims description 6
- 238000005286 illumination Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000003702 image correction Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 claims description 3
- 239000006227 byproduct Substances 0.000 claims 1
- 238000011156 evaluation Methods 0.000 claims 1
- 238000003384 imaging method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000012271 agricultural production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D47/00—Equipment not otherwise provided for
- B64D47/08—Arrangements of cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/758—Involving statistics of pixels or of feature values, e.g. histogram matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/13—Satellite images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2101/00—UAVs specially adapted for particular uses or applications
- B64U2101/30—UAVs specially adapted for particular uses or applications for imaging, photography or videography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Astronomy & Astrophysics (AREA)
- Image Analysis (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及一种飞行控制方法,包括:获取飞行装置的相机模组采集的图像以及获取飞行装置的距离传感器感测到的飞行装置的高度;确定飞行装置当前所处的场景;根据采集的两帧相邻图像以及飞行装置所处的场景,计算两帧相邻图像的图像X、Y偏移量;获取飞行装置的加速度传感器侦测的飞行装置的加速度及角速度,并根据加速度及角速度对所述图像X、Y偏移量进行补偿得到图像校正偏移量;以及通过相机模组的镜头焦距、高度及图像校正偏移量计算世界坐标的X、Y偏移量,并根据所述两帧相邻图像采集的时间间隔以及世界坐标的X、Y偏移量求出飞行装置的速度。本发明还提供一种飞行控制***及飞行装置,可在无GPS信号时对飞行装置进行速度侦测及定位控制。
Description
【技术领域】
本发明涉及一种方法,尤其涉及一种用于控制飞行装置的飞行控制方法、飞行控制***及飞行装置。
【背景技术】
目前,无人机等飞行装置由于其便捷性和安全性,已经广泛应用于农业生产、地质勘测、气象监测、电力线巡查、抢险救灾辅助、视频拍摄、地图绘建等领域。在无人机的控制中,对无人机进行速度侦测及/或定位控制,是一个关键的技术。目前对无人机进行速度侦测及/或定位控制大都通过GPS(global positioning system,全球定位***)进行定位,然而,当无人机处于GPS信号较弱或GPS信号未覆盖的区域时,将无法对无人机进行速度侦测及/或定位控制。此外,目前对无人机进行速度侦测及/或定位控制大都通过基于一通用场景的算法进行,然而,当无人机实际处于场景与该通用场景差别较大时,基于通用场景的算法往往导致无法准确地定位。
【发明内容】
有鉴于此,本发明提供一种飞行装置及飞行控制方法,不依赖GPS即可对飞行装置进行速度侦测及定位控制。
为解决上述技术问题,本发明提供以下技术方案。
一方面,本发明提供一种飞行控制***,用于控制一飞行装置,该飞行控制***包括获取模块,用于获取飞行装置的相机模组采集的图像以及获取飞行装置的距离传感器感测到的飞行装置的高度;场景确定模块,用于确定飞行装置当前所处的场景;图像偏移量确定模块,用于根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量及图像Y偏移量;偏移量校准模块,用于获取飞行装置的加速度传感器侦测到的飞行装置在三维方向上的加速度及角速度,并根据该飞行装置的加速度及角速度对该图像X、Y偏移量进行补偿而得到包括校正后的图像X偏移量和图像Y偏移量的图像校正偏移量;以及速度计算模块,用于通过相机模组的镜头焦距、飞行装置的高度以及该图像校正偏移量计算该图像校正偏移量对应的世界坐标的X、Y偏移量,并根据该两帧相邻图像采集的时间间隔以及该世界坐标的X、Y偏移量求出该飞行装置的速度。
在一些实施例中,所述飞行控制***还包括一运行控制模块,用于至少基于该飞行装置的速度对飞行装置进行定位及/或悬停控制。
在一些实施例中,所述场景确定模块根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景,所述图像偏移量确定模块根据飞行装置所处场景对应的算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括纹理,所述场景确定模块采用sobel梯度算法对图像进行处理,得到梯度矩阵,统计梯度矩阵中梯度大于第一预定阈值的像素的个数,并在判断所统计像素的个数大于第二阈值时,认为当前场景为纹理丰富的场景,以及在判断所统计的像素的个数小于或等于第二阈值时认为纹理比较少,当前场景为纹理较少的场景;所述图像偏移量确定模块并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数还包括倒影,所述场景确定模块根据连续多帧图像进行阴影统计,判断是否有倒影,从而确定该场景为有倒影的场景或无倒影的场景,所述图像偏移量确定模块在飞行装置当前所处的场景为有倒影场景时,去除图像中的阴影,并在去除阴影后,判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括灰度,所述场景确定模块根据图像的灰度值将图像转换为灰度直方图并进行统计得到统计值,并将统计值与相应的阈值进行比较,检测出场景是否属于偏暗、普通亮度、或者偏亮的场景,所述图像偏移量确定模块在飞行装置当前所处的场景为光照偏亮或者偏暗的场景时,对图像进行直方图均衡化,将图像亮度调为均匀,然后判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括线条,所述场景确定模块对图像做梯度检测,进行二值化处理,然后使用hough直线检测,判断是否有直线,如果判断有至少一条直线且直线长度占图像宽度至少1/2的,则判断所述场景为线条丰富场景;所述图像偏移量确定模块在飞行装置当前所处的场景为线条丰富的场景时,划分直线为水平方向的直线和垂直方向的直线,在上一帧图像中找一条和当前图像检测到的水平方向的直线角度差最小的直线,计算两条角度差最小的直线的距离得到第一距离,当第一距离不在[-R,R]时设置为0,其中R是设定的移动范围,在上一帧图像中找一条和当前图像检测到的垂直方向的直线的角度差最小的直线,计算所述两条角度差最小的直线的距离得到第二距离,当第二距离不在[-R,R]时设置为0,直线定位得到的第一距离、第二距离就是两帧相邻图像的图像X、Y偏移量。
在一些实施例中,所述图像偏移量确定模块在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量包括:所述图像偏移量确定模块设当前图像宽高分别为W和H,设定一模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从当前帧图像(4,4)的位置获得;设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从上一帧图像获得,所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应当前帧图像的(4,4)位置,所述图像偏移量确定模块并在匹配时通过计算相关函数SAD来找到与模板图尽可能相似的搜索子图以及它的坐标位置(i,j),T和S(i,j)的SAD最小的值对应的(i,j)位置的横、纵坐标值为两帧相邻图像的图像X、Y偏移量,其中,SAD是指将两幅图像每个位置对应像素差值的绝对值进行累加求和的过程。
在一些实施例中,所述图像偏移量确定模块在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量包括:所述图像偏移量确定模块通过Sobel算子进行边缘检测,并使用二维模板进行计算,二维模板包括用于水平方向差分运算的水平模板和用于垂直方向差分运算的垂直模板;所述图像偏移量确定模块使用水平模板和垂直模板进行平面卷积运算,分别计算水平方向卷积fx和垂直方向卷积fy,求其梯度值G为fx的平方与fy的平方和的平方根,然后,分别对相邻两幅图像做梯度运算得到梯度值矩阵A和B,其中A为上帧图像的Sobel梯度矩阵,B为当前帧图像的Sobel梯度矩阵;所述图像偏移量确定模块设当前图像宽高分别为W和H,并设定模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从B的(4,4)位置获得;所述图像偏移量确定模块并设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从A获得;所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应A的(4,4)位置,对模板图T和S(i,j)做差运算法,得到矩阵差值矩阵C,将C矩阵中符合下面条件1和条件2的每个元素绝对值进行累加,得到和SS(i,j),其中,条件1为A[r,c]>Tth、条件2为B[r,c]>Tth;其中,A[r,c]是梯度值矩阵A中第r行、第c列的位置的梯度值,B[r,c]是梯度值矩阵B中第r行、第c列的位置的梯度值,r>=0且r<My,c>=0且c<Mx,Tth是梯度阈值,其中SS(i,j)最小的值对应的(i,j)位置对应的横、纵坐标值为两帧相邻图像的图像X、Y偏移量。
在一些实施例中,所述速度计算模块根据公式1:x1/X1=f/H计算所述世界坐标的X偏移量,以及根据公式2:y1/Y1=f/H计算所述世界坐标的Y偏移量,其中,x1为校正后的图像X偏移量,y1为校正后的图像Y偏移量,f为镜头焦距,H为飞行装置的高度,X1为世界坐标的X偏移量,Y1为世界坐标的Y偏移量;所述速度计算模块并根据该相机模组采集该两帧相邻图像的时间间隔为以及该世界坐标的X、Y偏移量计算得出飞行装置在X方向上的速率以及在Y方向上的速率。
另一方面,本发明提供一种飞行控制方法,用于控制飞行装置,所述飞行控制方法包括:获取飞行装置的相机模组采集的图像以及获取飞行装置的距离传感器感测到的飞行装置的高度;确定飞行装置当前所处的场景;根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算所述两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量和图像Y偏移量;获取飞行装置的加速度传感器侦测到的飞行装置在三维方向上的加速度及角速度,并根据所述飞行装置的加速度及角速度对所述图像X偏移量和图像Y偏移量进行补偿而得到包括校正后的图像X偏移量和图像Y偏移量的图像校正偏移量;以及通过相机模组的镜头焦距、飞行装置的高度以及所述图像校正偏移量计算所述图像校正偏移量对应的世界坐标的X、Y偏移量,并根据所述两帧相邻图像采集的时间间隔以及所述世界坐标的X、Y偏移量求出所述飞行装置的速度。
在一些实施例中,所述方法还包括步骤:至少基于所述飞行装置的速度对飞行装置进行定位及/或悬停控制。
在一些实施例中,所述步骤“确定飞行装置当前所处的场景”包括:根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景。
在一些实施例中,所述步骤“根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算所述两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量和图像Y偏移量”包括:根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括纹理,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:采用sobel梯度算法对图像进行处理,得到梯度矩阵,统计梯度矩阵中梯度大于第一预定阈值的像素的个数,并在判断所统计像素的个数大于第二阈值时,认为当前场景为纹理丰富的场景,以及在判断所统计的像素的个数小于或等于第二阈值时认为纹理比较少,当前场景为纹理较少的场景;所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数还包括倒影,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:根据连续多帧图像进行阴影统计,判断是否有倒影,从而确定该场景为有倒影的场景或无倒影的场景;所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在飞行装置当前所处的场景为有倒影场景时,去除图像中的阴影,并在去除阴影后,判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数还包括灰度,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:根据图像的灰度值将图像转换为灰度直方图并进行统计得到统计值,并将统计值与相应的阈值进行比较,检测出场景是否属于偏暗、普通亮度、或者偏亮的场景;所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在飞行装置当前所处的场景为光照偏亮或者偏暗的场景时,对图像进行直方图均衡化,将图像亮度调为均匀,然后判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数还包括线条,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:对图像做梯度检测,进行二值化处理,然后使用hough直线检测,判断是否有直线,如果判断有至少一条直线且直线长度占图像宽度至少1/2的,则判断所述场景为线条丰富场景;所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在飞行装置当前所处的场景为线条丰富的场景时,划分直线为水平方向的直线和垂直方向的直线,在上一帧图像中找一条和当前图像检测到的水平方向的直线角度差最小的直线,计算两条角度差最小的直线的距离得到第一距离,当第一距离不在[-R,R]时设置为0,其中R是设定的移动范围,在上一帧图像中找一条和当前图像检测到的垂直方向的直线的角度差最小的直线,计算所述两条角度差最小的直线的距离得到第二距离,当第二距离不在[-R,R]时设置为0,直线定位得到的第一距离、第二距离就是两帧相邻图像的图像X、Y偏移量。
在一些实施例中,所述步骤“在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:设当前图像宽高分别为W和H,设定一模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从当前帧图像(4,4)的位置获得;设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从上一帧图像获得,在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应当前帧图像的(4,4)位置;以及在匹配时通过计算相关函数SAD来找到与模板图尽可能相似的搜索子图以及它的坐标位置(i,j),T和S(i,j)的SAD最小的值对应的(i,j)位置的横、纵坐标值为两帧相邻图像的图像X、Y偏移量,其中,SAD是指将两幅图像每个位置对应像素差值的绝对值进行累加求和的过程。
在一些实施例中,所述步骤“在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:通过Sobel算子进行边缘检测,并使用二维模板进行计算,二维模板包括用于水平方向差分运算的水平模板和用于垂直方向差分运算的垂直模板;使用水平模板和垂直模板进行平面卷积运算,分别计算水平方向卷积fx和垂直方向卷积fy,求其梯度值G为fx的平方与fy的平方和的平方根,然后,分别对相邻两幅图像做梯度运算得到梯度值矩阵A和B,其中A为上帧图像的Sobel梯度矩阵,B为当前帧图像的Sobel梯度矩阵;设当前图像宽高分别为W和H,并设定模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从B的(4,4)位置获得;设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从A获得;所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应A的(4,4)位置,对模板图T和S(i,j)做差运算法,得到矩阵差值矩阵C,将C矩阵中符合下面条件1和条件2的每个元素绝对值进行累加,得到和SS(i,j),其中,条件1为A[r,c]>Tth、条件2为B[r,c]>Tth;其中,A[r,c]是梯度值矩阵A中第r行、第c列的位置的梯度值,B[r,c]是梯度值矩阵B中第r行、第c列的位置的梯度值,r>=0且r<My,c>=0且c<Mx,Tth是梯度阈值,其中SS(i,j)最小的值对应的(i,j)位置对应的横、纵坐标值为两帧相邻图像的图像X、Y偏移量。
另一方面,本发明提供一种飞行装置,包括相机模组、距离传感器以及加速度传感器,所述相机模组用于采集的图像,所述距离传感器用于以及获取飞行装置的高度,所述加速度传感器用于侦测到的飞行装置在三维方向上的加速度及角速度,所述飞行装置还包括一种飞行控制***,该飞行控制***包括获取模块,用于获取飞行装置的相机模组采集的图像以及获取飞行装置的距离传感器感测到的飞行装置的高度;场景确定模块,用于确定飞行装置当前所处的场景;图像偏移量确定模块,用于根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量及图像Y偏移量;偏移量校准模块,用于获取飞行装置的加速度传感器侦测到的飞行装置在三维方向上的加速度及角速度,并根据该飞行装置的加速度及角速度对该图像X、Y偏移量进行补偿而得到包括校正后的图像X偏移量和图像Y偏移量的图像校正偏移量;以及速度计算模块,用于通过相机模组的镜头焦距、飞行装置的高度以及该图像校正偏移量计算该图像校正偏移量对应的世界坐标的X、Y偏移量,并根据该两帧相邻图像采集的时间间隔以及该世界坐标的X、Y偏移量求出该飞行装置的速度。
在一些实施例中,所述飞行控制***还包括一运行控制模块,用于至少基于该飞行装置的速度对飞行装置进行定位及/或悬停控制。
在一些实施例中,所述场景确定模块根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景,所述图像偏移量确定模块根据飞行装置所处场景对应的算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括纹理,所述场景确定模块采用sobel梯度算法对图像进行处理,得到梯度矩阵,统计梯度矩阵中梯度大于第一预定阈值的像素的个数,并在判断所统计像素的个数大于第二阈值时,认为当前场景为纹理丰富的场景,以及在判断所统计的像素的个数小于或等于第二阈值时认为纹理比较少,当前场景为纹理较少的场景;所述图像偏移量确定模块并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数还包括倒影,所述场景确定模块根据连续多帧图像进行阴影统计,判断是否有倒影,从而确定该场景为有倒影的场景或无倒影的场景,所述图像偏移量确定模块在飞行装置当前所处的场景为有倒影场景时,去除图像中的阴影,并在去除阴影后,判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括灰度,所述场景确定模块根据图像的灰度值将图像转换为灰度直方图并进行统计得到统计值,并将统计值与相应的阈值进行比较,检测出场景是否属于偏暗、普通亮度、或者偏亮的场景,所述图像偏移量确定模块在飞行装置当前所处的场景为光照偏亮或者偏暗的场景时,对图像进行直方图均衡化,将图像亮度调为均匀,然后判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
在一些实施例中,所述至少一个参数包括线条,所述场景确定模块对图像做梯度检测,进行二值化处理,然后使用hough直线检测,判断是否有直线,如果判断有至少一条直线且直线长度占图像宽度至少1/2的,则判断所述场景为线条丰富场景;所述图像偏移量确定模块在飞行装置当前所处的场景为线条丰富的场景时,划分直线为水平方向的直线和垂直方向的直线,在上一帧图像中找一条和当前图像检测到的水平方向的直线角度差最小的直线,计算两条角度差最小的直线的距离得到第一距离,当第一距离不在[-R,R]时设置为0,其中R是设定的移动范围,在上一帧图像中找一条和当前图像检测到的垂直方向的直线的角度差最小的直线,计算所述两条角度差最小的直线的距离得到第二距离,当第二距离不在[-R,R]时设置为0,直线定位得到的第一距离、第二距离就是两帧相邻图像的图像X、Y偏移量。
在一些实施例中,所述图像偏移量确定模块在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量包括:所述图像偏移量确定模块设当前图像宽高分别为W和H,设定一模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从当前帧图像(4,4)的位置获得;设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从上一帧图像获得,所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应当前帧图像的(4,4)位置,所述图像偏移量确定模块并在匹配时通过计算相关函数SAD来找到与模板图相似的搜索子图以及它的坐标位置(i,j),T和S(i,j)的SAD最小的值对应的(i,j)位置的横、纵坐标值为两帧相邻图像的图像X、Y偏移量,其中,SAD是指将两幅图像每个位置对应像素差值的绝对值进行累加求和的过程。
在一些实施例中,所述图像偏移量确定模块在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量包括:所述图像偏移量确定模块通过Sobel算子进行边缘检测,并使用二维模板进行计算,二维模板包括用于水平方向差分运算的水平模板和用于垂直方向差分运算的垂直模板;所述图像偏移量确定模块使用水平模板和垂直模板进行平面卷积运算,分别计算水平方向卷积fx和垂直方向卷积fy,求其梯度值G为fx的平方与fy的平方和的平方根,然后,分别对相邻两幅图像做梯度运算得到梯度值矩阵A和B,其中A为上帧图像的Sobel梯度矩阵,B为当前帧图像的Sobel梯度矩阵;所述图像偏移量确定模块设当前图像宽高分别为W和H,并设定模板图T的大小为Mx×My,Mx=W-8,My=H-8,模板图T从B的(4,4)位置获得;所述图像偏移量确定模块并设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从A获得;所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应A的(4,4)位置,对模板图T和S(i,j)做差运算法,得到矩阵差值矩阵C,将C矩阵中符合下面条件1和条件2的每个元素绝对值进行累加,得到和SS(i,j),其中,条件1为A[r,c]>Tth、条件2为B[r,c]>Tth;其中,A[r,c]是梯度值矩阵A中第r行、第c列的位置的梯度值,B[r,c]是梯度值矩阵B中第r行、第c列的位置的梯度值,r>=0且r<My,c>=0且c<Mx,Tth是梯度阈值,其中SS(i,j)最小的值对应的(i,j)位置对应的横、纵坐标值为两帧相邻图像的图像X、Y偏移量。
在一些实施例中,所述速度计算模块根据公式1:x1/X1=f/H计算所述世界坐标的X偏移量,以及根据公式2:y1/Y1=f/H计算所述世界坐标的Y偏移量,其中,x1为校正后的图像X偏移量,y1为校正后的图像Y偏移量,f为镜头焦距,H为飞行装置的高度,X1为世界坐标的X偏移量,Y1为世界坐标的Y偏移量;所述速度计算模块并根据该相机模组采集该两帧相邻图像的时间间隔为以及该世界坐标的X、Y偏移量计算得出飞行装置在X方向上的速率以及在Y方向上的速率。
本发明的有益效果在于可在GPS信号较弱或没有GPS信号时仍然能够进行速度侦测及定位控制,并可基于不同的场景进行精确的控制。
【附图说明】
图1为本发明一实施方式中的飞行装置的硬件架构示意图。
图2为本发明一实施方式中的飞行控制***的模块图。
图3为本发明一实施方式中的世界坐标的X、Y偏移量的说明示意图。
图4为本发明一实施方式中的世界坐标的X、Y偏移量与图像校正偏移量的关系示意图。
图5为本发明一实施方式中的飞行控制方法的流程图。
附图标记:
飞行装置 100
处理器 10
相机模组 20
加速度传感器 30
距离传感器 40
飞行控制*** S1
获取模块 11
场景确定模块 12
图像偏移量确定模块 13
偏移量校准模块 14
速度计算模块 15
运行控制模块 16
镜头 21
图像传感器 22
图像 P1、P2
物体 A
成像点 A1
镜头焦距 f
高度 H
校正后的图像X偏移量 x1
校正后的图像Y偏移量 y1
世界坐标的X偏移量 X1
世界坐标的Y偏移量 Y1
步骤 501-511
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,为一实施方式中的飞行装置100的硬件架构示意图。该飞行装置100包括处理器10、相机模组20、加速度传感器30及距离传感器40。
该相机模组20用于每间隔预定时间采集图像,例如每间隔1秒采集一次图像。该相机模组20可为一单目或双目相机,采集的图像为低分辨率图像。该加速度传感器30用于侦测飞行装置100在三维方向(X、Y、Z)上的加速度及角速度。该距离传感器40用于侦测飞行装置100与地面的距离,即飞行装置100的高度。其中,在一实施方式中,该加速度传感器30可为陀螺仪,该距离传感器40可为超声波传感器。
请一并参阅图2,该处理器10运行有一飞行控制***S1。如图2所示,该飞行控制***S1包括获取模块11、场景确定模块12、图像偏移量确定模块13、偏移量校准模块14、速度计算模块15及运行控制模块16。所述飞行控制***S1用于侦测飞行装置100的速度并进行定位控制。其中,该飞行控制***S1的各个模块可为程序化的指令模块,并可被处理器10调用执行,该飞行控制***S1的各个模块也可为固化于处理器10中的固件(firmware)。在一应用中,该飞行控制***S1可为一安装于飞行装置100中的应用软件。
该获取模块11用于获取相机模组20采集的图像以及距离传感器40感测到的飞行装置100的高度。在本实施方式中,该获取模块11实时获取相机模组20采集的图像以及距离传感器40感测到的飞行装置100的高度。
场景确定模块12用于确定飞行装置100当前所处的场景。其中,场景确定模块12根据图像的特征确定飞行装置100所处的场景,其具体的过程将在后面介绍。
该图像偏移量确定模块13用于根据获取模块11获取的相机模组20采集的两帧相邻图像以及场景确定模块12确定的飞行装置100当前所处的场景,计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量及图像Y偏移量。在一实施方式中,图像偏移量确定模块14根据飞行装置100所处场景对应的算法分析该两帧图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。在其他实施方式中,该图像偏移量确定模块14可确定该两帧相邻图像中的相同特征点,并计算该相同特征点在该两帧相邻图像中的X、Y偏移量而得到该图像X、Y偏移量。其中,该相同特征点为同一物体在该两帧相邻图像中的成像点,该图像X、Y偏移量为该同一物体在该两帧图像中成像点的X方向上与Y方向上的偏移量。
偏移量校准模块14用于获取加速度传感器30侦测到的飞行装置100在三维方向上的加速度及角速度,并根据该飞行装置100的加速度及角速度对该图像X、Y偏移量进行补偿而得到一图像校正偏移量。
速度计算模块15用于通过镜头焦距、飞行装置100的高度以及该图像校正偏移量计算该图像校正偏移量对应的世界坐标的X、Y偏移量,即对应到真实世界的实际X、Y偏移量。其中,本发明的X、Y分别指三维坐标***中与地面平行的平面上的横轴方向和纵轴方向。世界坐标的X、Y偏移量为飞行装置100/相机模组20相对于地面在X方向和Y方向上的移动距离。
请一并参阅图3,为世界坐标的X、Y偏移量的说明示意图。其中,由于飞行装置100在拍摄两帧相邻图像P1、P2的时间间隔内会移动,因此,对于一实际的物体A而言,飞行装置100的相机模组20在采集图像时,相对该实际物体A会发生相对运动。如图3所示,相机模组20包括镜头21及图像传感器22。当该飞行装置100在拍摄两帧相邻图像P1、P2的时间间隔内向右上方移动一定距离时,导致该实际物体A通过飞行装置100的相机模组20的镜头21在图像传感器22上成像后,该实际物体A在该两帧相邻图像P1、P2中的成像点A1会发生如图3中所示的朝左下方的偏移,而形成图像X偏移量和图像Y偏移量,而该图像X偏移量和图像Y偏移量经过补偿校正后即为图像校正偏移量。因此,该图像校正偏移量与世界坐标的X、Y偏移量呈一定的对应关系,可根据该图像校正偏移量等得到世界坐标的X、Y偏移量。其中,相机模组20可为照相机、摄像机、摄像头等。该图像校正偏移量为物体A在该两帧相邻图像P1、P2中的成像点A1对应在图像传感器22上的X方向和Y方向的实际距离。
请一并参阅图4,为一世界坐标的X、Y偏移量与图像校正偏移量的关系示意图。设镜头焦距为f,飞行装置100的高度为H,图像校正偏移量中校正后的图像X偏移量为x1,校正后的图像Y偏移量为y1,世界坐标的X偏移量为X1,Y偏移量为Y1。显然,当相机模组20向下拍摄图像时,物距即为该高度H。如图4可见,世界坐标的X或Y偏移量与校正后的图像X偏移量或校正后的图像Y偏移量之比等于镜头焦距为f与高度H之比。即,世界坐标的X、Y偏移量与图像校正偏移量的关系分别满足公式1:x1/X1=f/H以及公式2:y1/Y1=f/H。由于焦距f、高度H以及图像校正偏移量中的校正后的X偏移量x1及Y偏移量y1均为已知,因此,速度计算模块15可根据镜头焦距、飞行装置100的高度以及该图像校正偏移量,通过上述的公式1和公式2分别求出世界坐标的X、Y偏移量X1、Y1。
该速度计算模块15并根据该两帧相邻图像采集的时间间隔t1以及该世界坐标的X、Y偏移量求出该飞行装置的速度。如前所述,该世界坐标的X、Y偏移量为该飞行装置在该两帧相邻图像获取的时间间隔内在X和Y方向上的移动距离,设该相机模组20采集该两帧相邻图像的时间间隔为t1,该速度计算模块15根据该时间间隔t1以及该世界坐标的X、Y偏移量计算得出飞行装置在X方向上的速率为X1/t1以及在Y方向上的速率为Y1/t1。在一实施方式中,该速度计算模块15先求出世界坐标的X、Y偏移量的矢量和得出该飞行装置100的实际位移D1,然后计算飞行装置100的实际速度为D1/t1。
该运行控制模块16用于至少基于该飞行装置100的速度对飞行装置100进行定位及/或悬停控制。例如,该运行控制模块16根据该飞行装置100的速度以及飞行装置100与目的地之间的距离计算所需的时间,并在所需时间小于一预定值时进行悬停或降落前的准备。在一实施方式中,该运行控制模块16判断当前计算的速度和方向与上一时刻计算的速度基本相等但方向相反时,则确定飞行装置100飞行速度接近为0,运动距离非常小,如1cm的运动距离,则控制飞行装置100在某一位置悬停。
因此,本发明中,在无GPS信号的情况下,通过拍摄的图片也能够计算出飞行装置100的速度,并进行定位控制。
该飞行装置100为无人飞行器。
其中,在本实施方式中,该场景确定模块12根据相机模组20采集的图像确定飞行装置100当前所处的场景。在其他实施方式中,该场景确定模块12也可根据用户选择的场景确定该用户选择的场景为飞行装置100当前所处的场景。
具体的,该场景确定模块12根据相机模组20采集的图像中的至少一个参数确定所述场景的类型。
其中,该至少一个参数包括纹理,所述场景确定模块12通过采用sobel梯度算法对图像进行处理,得到梯度矩阵,统计梯度矩阵中梯度大于阈值T1的像素的个数C,并判断值C大于阈值T2时认为纹理比较丰富,否则认为纹理比较少。
该至少一个参数还包括倒影,所述场景确定模块12根据连续多帧图像进行阴影统计,判断是否有倒影,从而确定该场景为有倒影的场景或无倒影的场景。具体的,当所述场景确定模块12判断所述连续多帧图像中存在偏暗和偏亮的情况或者进行无人机等光倒影检测,根据无人机等的形状进行检测,判断有符合无人机等的形状时,确定该场景为有倒影的场景。具体的,所述场景确定模块根据倒影检测算法进行判断。一般,对于容易反光的地面,无人机的圆形灯光会在图像中呈现亮度偏亮的灰度图像,因此场景确定模块12对灰度图像每个像素进行判断是否大于或等于阈值T,其中T根据经验值设定,可以设置为220;场景确定模块12并将大于等于T的灰度值像素设置为255,将小于T的灰度值像素设置为0,以此将图像转换为二值图像,其中0为背景,255为前景,然后进行连通区域提取,采用外接矩形表示;场景确定模块12并进行目标大小判断,符合目标大小范围的认为是灯光倒影目标。其中,目标大小范围是根据不同的高度的倒影的测量值得到。
该至少一个参数还包括灰度,所述场景确定模块12将根据图像的灰度值将图像转换为灰度直方图并进行统计,并与相应的阈值进行比较,检测出场景是否属于偏暗、普通亮度、或者偏亮。具体的,所述场景确定模块12根据灰度直方图的平均亮度L给定一个阈值T,当判断L<80(坎德拉)时属于偏暗场景,L>170属于偏亮场景,80<L<170时属于普通亮度场景。
该至少一个参数还可包括线条,所述场景确定模块12对图像做梯度检测,进行二值化处理,然后使用传统的hough直线检测,判断是否有直线,如果判断有至少一条直线且直线长度占图像宽度至少1/2的,则判断所述场景为线条场景。
在一实施方式中,该场景确定模块12单独根据上述的一个参数以及相应的算法确定当前场景的类型。在其他实施方式中,该场景确定模块也可同时根据上述的多个参数以及多个相应的算法确定所述场景。例如,该场景确定模块12可同时根据纹理、线条判断当前的场景是否为纹理丰富且有线条的场景。
其中,该图像偏移量确定模块13根据两帧相邻图像以及飞行装置100当前所处的场景计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像水平偏移量包括:该图像偏移量确定模块13根据飞行装置100当前所处的场景选择一对应的算法,并根据该算法对该两帧相邻图像进行分析处理而得出第二帧图像相对于第一帧图像的图像水平偏移量。
具体的,对于纹理丰富的场景,该图像偏移量确定模块13采用灰度模板匹配算法。具体包括:设当前图像宽高分别为W和H,设一模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从当前帧图像[4,4]的位置获得;匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从上一帧图像获得。匹配时模板图叠放在匹配图上平移,模板图覆盖下的那块基准图中的搜索子图为S(i,j),i,j为这块子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值。S(0,0)对应A的[4,4]位置。匹配时通过计算相关函数SAD来找到与模板图尽可能相似的搜索子图以及它的坐标位置i和j,T和S(i,j)的SAD最小的值为最佳匹配位置,也就是相邻两帧图像的X、Y方向相对偏移量或者移动量,即相邻两帧图像的图像X、Y偏移量,其中,偏移量在[-4,4]范围。SAD是指将两幅图像每个位置对应像素差值的绝对值进行累加求和的过程。SAD值越小,两个图像的匹配度越高,可以作为最佳匹配。
对于纹理比较少的场景,该图像偏移量确定模块13采用sobel梯度模板匹配算法。具体的,该图像偏移量确定模块13通过Sobel算法进行边缘检测,其使用二维模板进行计算,二维模板包括水平模板和垂直模板。如下图,水平模板用于水平方向差分运算,垂直模板用于垂直方向差分运算。
水平模板:
-1 | 0 | 1 |
-2 | 0 | 2 |
-1 | 0 | 1 |
垂直模板:
-1 | -2 | -1 |
0 | 0 | 0 |
1 | 2 | 1 |
该图像偏移量确定模块13使用上述模板进行平面卷积运算,分别计算水平方向卷积fx和垂直方向卷积fy,求其梯度值G为fx的平方与fy的平方和的平方根。然后,分别对相邻两幅图像做梯度运算得到梯度值矩阵A和B。其中A为上帧图像的Sobel梯度矩阵,B为当前帧图像的Sobel梯度矩阵。设模板图T大小为Mx X My,Mx=W-8,My=H-8,模板图T从B的[4,4]位置获得;匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从A获得。匹配时模板图叠放在匹配图上平移,模板图覆盖下的那块基准图中的搜索子图为S(i,j),i,j为这块子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值。S(0,0)对应A的[4,4]位置。对模板图T和S(i,j)做差运算法,得到矩阵差值矩阵C。将C矩阵中符合下面条件(如下条件1和条件2)的每个元素绝对值进行累加,得到和SS(i,j)。
A[r,c]>Tth (条件1)
B[r,c]>Tth (条件2)
其中A[r,c]是梯度值矩阵A中r,c位置的梯度值,[r,c]是梯度值矩阵B中r、c位置的梯度值,r>=0且r<My,c>=0且c<Mx,Tth是梯度阈值。其中SS(i,j)最小的值对应的(i,j)位置为最佳匹配位置,也就是相邻两帧图像的X、Y方向相对偏移量或者移动量,即相邻两帧图像的图像X、Y偏移量,其中,偏移量在[-4,4]范围。
其中,该图像偏移量确定模块13在飞行装置100当前所处的场景为光照特别亮或者特别暗的场景时,对图像进行直方图均衡化,将图像亮度调为均匀,然后判断是否为纹理丰富的场景,并根据如前所述的关系根据纹理是否丰富选择对应的算法对图像进行处理。
该图像偏移量确定模块13在飞行装置100当前所处的场景为有倒影场景时,去除图像中的阴影,并去除阴影后,判断是否为纹理丰富的场景,并根据如前所述的关系根据纹理是否丰富选择对应的算法。
该图像偏移量确定模块13在飞行装置100当前所处的场景为线条丰富的场景时,划分直线为水平方向的直线和垂直方向的直线,在上一帧图像中找一条和当前图像检测到的水平方向的直线Lch角度差最小的直线Lph。计算两条直线的距离得到j,当j不在[-R,R]时设置为0,其中R是设定的移动范围,一般R取4。在上一帧图像中找一条和当前图像检测到的垂直方向的直线Lcv角度差最小的直线Lcv。计算两条直线的距离得到i,当i不在[-R,R]时设置为0。直线定位得到的i,j就是相邻两帧图像的X、Y方向相对偏移量或者移动量,即相邻两帧图像的图像X、Y偏移量,其中,偏移量在[-4,4]范围。
从而,根据本发明的飞行装置100及飞行控制***S1,可在无GPS信号时确定飞行装置100的速度并进行定位控制,并能够进一步基于不同的场景进行精确的控制。
请参阅图5,为本发明一实施方式中的飞行控制方法的流程图。该飞行控制方法用于侦测飞行装置100的速度并进行定位控制。首先,获取模块11获取相机模组20采集的图像以及距离传感器40感测到的飞行装置100的高度(501)。
场景确定模块12确定飞行装置100当前所处的场景(503)。
图像偏移量确定模块13根据相机模组20采集的两帧相邻图像以及飞行装置100当前所处的场景,计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量(505)。其中,该图像偏移量确定模块13确定该两帧相邻图像中的相同特征点,并计算该相同特征点在该两帧相邻图像中的X、Y偏移量而得到该图像X、Y偏移量。其中,该场景确定模块12根据相机模组20采集的图像中的至少一个参数确定所述场景的类型,并根据飞行装置100当前所处的场景选择一对应的算法,并根据该算法对该两帧相邻图像进行分析处理而得出第二帧图像相对于第一帧图像的图像水平偏移量。
偏移量校准模块14获取加速度传感器30侦测到的飞行装置100在三维方向上的加速度及角速度,并根据该飞行装置的加速度及角速度对该图像X、Y偏移量进行补偿而得到一图像校正偏移量(507)。
速度计算模块15用于通过镜头焦距、飞行装置100的高度以及该图像校正偏移量计算该图像校正偏移量对应的世界坐标的X、Y偏移量,并根据该两帧相邻图像获取的时间间隔以及该世界坐标的X、Y偏移量求出该飞行装置的速度(509)。具体的,该速度计算模块15根据该时间间隔t1以及该世界坐标的X、Y偏移量计算得出飞行装置在X方向上的速率以及在Y方向上的速率。更具体的,该速度计算模块15用X、Y偏移量分别除以时间间隔而分别得出飞行装置100在X方向和Y方向上的速率。
该运行控制模块16至少基于该飞行装置100的速度对飞行装置100进行定位及/或悬停控制(511)。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (21)
1.一种飞行控制***,用于控制飞行装置,其特征在于,所述飞行控制***包括:
获取模块,用于获取飞行装置的相机模组采集的图像以及获取飞行装置的距离传感器感测到的飞行装置的高度;
场景确定模块,用于确定飞行装置当前所处的场景;
图像偏移量确定模块,用于根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算所述两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量及图像Y偏移量;
偏移量校准模块,用于获取飞行装置的加速度传感器侦测到的飞行装置在三维方向上的加速度及角速度,并根据所述飞行装置的加速度及角速度对所述图像X、Y偏移量进行补偿而得到包括校正后的图像X偏移量和图像Y偏移量的图像校正偏移量;以及
速度计算模块,用于通过相机模组的镜头焦距、飞行装置的高度以及所述图像校正偏移量计算所述图像校正偏移量对应的世界坐标的X、Y偏移量,并根据所述两帧相邻图像采集的时间间隔以及所述世界坐标的X、Y偏移量求出所述飞行装置的速度。
2.如权利要求1所述的飞行控制***,其特征在于,所述飞行控制***还包括运行控制模块,用于至少基于所述飞行装置的速度对飞行装置进行定位及/或悬停控制。
3.如权利要求1所述的飞行控制***,其特征在于,所述场景确定模块根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景,所述图像偏移量确定模块根据飞行装置所处场景对应的算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
4.如权利要求3所述的飞行控制***,其特征在于,所述至少一个参数包括纹理,所述场景确定模块采用sobel梯度算法对图像进行处理,得到梯度矩阵,统计梯度矩阵中梯度大于第一预定阈值的像素的个数,并在判断所统计像素的个数大于第二阈值时,认为当前场景为纹理丰富的场景,以及在判断所统计的像素的个数小于或等于第二阈值时认为纹理比较少,当前场景为纹理较少的场景;所述图像偏移量确定模块并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
5.如权利要求3所述的飞行控制***,其特征在于,所述至少一个参数包括倒影,所述场景确定模块根据连续多帧图像进行阴影统计,判断是否有倒影,从而确定该场景为有倒影的场景或无倒影的场景,所述图像偏移量确定模块在飞行装置当前所处的场景为有倒影场景时,去除图像中的阴影,并在去除阴影后,判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
6.如权利要求3所述的飞行控制***,其特征在于,所述至少一个参数包括灰度,所述场景确定模块根据图像的灰度值将图像转换为灰度直方图并进行统计得到统计值,并将统计值与相应的阈值进行比较,检测出场景是否属于偏暗、普通亮度、或者偏亮的场景,所述图像偏移量确定模块在飞行装置当前所处的场景为光照偏亮或者偏暗的场景时,对图像进行直方图均衡化,将图像亮度调为均匀,然后判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
7.如权利要求3所述的飞行控制***,其特征在于,所述至少一个参数包括线条,所述场景确定模块对图像做梯度检测,进行二值化处理,然后使用hough直线检测,判断是否有直线,如果判断有至少一条直线且直线长度占图像宽度至少1/2的,则判断所述场景为线条丰富场景;所述图像偏移量确定模块在飞行装置当前所处的场景为线条丰富的场景时,划分直线为水平方向的直线和垂直方向的直线,在上一帧图像中找一条和当前图像检测到的水平方向的直线角度差最小的直线,计算两条角度差最小的直线的距离得到第一距离,当第一距离不在[-R,R]时设置为0,其中R是设定的移动范围,在上一帧图像中找一条和当前图像检测到的垂直方向的直线的角度差最小的直线,计算所述两条角度差最小的直线的距离得到第二距离,当第二距离不在[-R,R]时设置为0,直线定位得到的第一距离、第二距离就是两帧相邻图像的图像X、Y偏移量。
8.如权利要求4-6中任一项所述的飞行控制***,其特征在于,所述图像偏移量确定模块在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量包括:所述图像偏移量确定模块设当前图像宽高分别为W和H,设定一模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从当前帧图像(4,4)的位置获得;设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从上一帧图像获得,所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应当前帧图像的(4,4)位置,所述图像偏移量确定模块并在匹配时通过计算相关函数SAD来找到与模板图相似的搜索子图以及它的坐标位置(i,j),T和S(i,j)的SAD最小的值对应的(i,j)位置的横、纵坐标值为两帧相邻图像的图像X、Y偏移量,其中,SAD是指将两幅图像每个位置对应像素差值的绝对值进行累加求和的过程。
9.如权利要求4-6中任一项所述的飞行控制***,其特征在于,所述图像偏移量确定模块在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量包括:所述图像偏移量确定模块通过Sobel算法进行边缘检测,并使用二维模板进行计算,二维模板包括用于水平方向差分运算的水平模板和用于垂直方向差分运算的垂直模板;所述图像偏移量确定模块使用水平模板和垂直模板进行平面卷积运算,分别计算水平方向卷积fx和垂直方向卷积fy,求其梯度值G为fx的平方与fy的平方和的平方根,然后,分别对相邻两幅图像做梯度运算得到梯度值矩阵A和B,其中A为上帧图像的Sobel梯度矩阵,B为当前帧图像的Sobel梯度矩阵;所述图像偏移量确定模块设当前图像宽高分别为W和H,并设定模板图T的大小为Mx×My,Mx=W-8,My=H-8,模板图T从B的(4,4)位置获得;所述图像偏移量确定模块并设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从A获得;所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应A的(4,4)位置,对模板图T和S(i,j)做差运算法,得到矩阵差值矩阵C,将C矩阵中符合下面条件1和条件2的每个元素绝对值进行累加,得到和SS(i,j),其中,条件1为A[r,c]>Tth、条件2为B[r,c]>Tth;其中,A[r,c]是梯度值矩阵A中第r行、第c列的位置的梯度值,B[r,c]是梯度值矩阵B中第r行、第c列的位置的梯度值,r>=0且r<My,c>=0且c<Mx,Tth是梯度阈值,其中SS(i,j)最小的值对应的(i,j)位置对应的横、纵坐标值为两帧相邻图像的图像X、Y偏移量。
10.如权利要求1所述的飞行控制***,其特征在于,所述速度计算模块根据公式1:x1/X1=f/H计算所述世界坐标的X偏移量,以及根据公式2:y1/Y1=f/H计算所述世界坐标的Y偏移量,其中,x1为校正后的图像X偏移量,y1为校正后的图像Y偏移量,f为镜头焦距,H为飞行装置的高度,X1为世界坐标的X偏移量,Y1为世界坐标的Y偏移量;所述速度计算模块并根据该相机模组采集该两帧相邻图像的时间间隔为以及该世界坐标的X、Y偏移量计算得出飞行装置在X方向上的速率以及在Y方向上的速率。
11.一种飞行控制方法,用于控制飞行装置,其特征在于,所述飞行控制方法包括:
获取飞行装置的相机模组采集的图像以及获取飞行装置的距离传感器感测到的飞行装置的高度;
确定飞行装置当前所处的场景;
根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算所述两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量和图像Y偏移量;
获取飞行装置的加速度传感器侦测到的飞行装置在三维方向上的加速度及角速度,并根据所述飞行装置的加速度及角速度对所述图像X偏移量和图像Y偏移量进行补偿而得到包括校正后的图像X偏移量和图像Y偏移量的图像校正偏移量;以及
通过相机模组的镜头焦距、飞行装置的高度以及所述图像校正偏移量计算所述图像校正偏移量对应的世界坐标的X、Y偏移量,并根据所述两帧相邻图像采集的时间间隔以及所述世界坐标的X、Y偏移量求出所述飞行装置的速度。
12.如权利要求11所述的飞行控制方法,其特征在于,所述方法还包括步骤:
至少基于所述飞行装置的速度对飞行装置进行定位及/或悬停控制。
13.如权利要求11所述的飞行控制方法,其特征在于,所述步骤“确定飞行装置当前所处的场景”包括:
根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景。
14.如权利要求13所述的飞行控制方法,其特征在于,所述步骤“根据相机模组采集的两帧相邻图像以及飞行装置当前所处的场景,计算所述两帧相邻图像中的第二帧图像相对于第一帧图像的图像X偏移量和图像Y偏移量”包括:
根据飞行装置当前所处的场景选择一对应的算法;以及
根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
15.如权利要求14所述的飞行控制方法,其特征在于,所述至少一个参数包括纹理,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:采用sobel梯度算法对图像进行处理,得到梯度矩阵,统计梯度矩阵中梯度大于第一预定阈值的像素的个数,并在判断所统计像素的个数大于第二阈值时,认为当前场景为纹理丰富的场景,以及在判断所统计的像素的个数小于或等于第二阈值时认为纹理比较少,当前场景为纹理较少的场景;
所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
16.如权利要求15所述的飞行控制方法,其特征在于,所述至少一个参数还包括倒影,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:根据连续多帧图像进行阴影统计,判断是否有倒影,从而确定该场景为有倒影的场景或无倒影的场景;
所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在飞行装置当前所处的场景为有倒影场景时,去除图像中的阴影,并在去除阴影后,判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
17.如权利要求15所述的飞行控制方法,其特征在于,所述至少一个参数还包括灰度,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:根据图像的灰度值将图像转换为灰度直方图并进行统计得到统计值,并将统计值与相应的阈值进行比较,检测出场景是否属于偏暗、普通亮度、或者偏亮的场景;
所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在飞行装置当前所处的场景为光照偏亮或者偏暗的场景时,对图像进行直方图均衡化,将图像亮度调为均匀,然后判断是否为纹理丰富的场景,并在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量,以及在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量。
18.如权利要求15所述的飞行控制方法,其特征在于,所述至少一个参数还包括线条,所述步骤“根据相机模组采集的图像中的至少一个参数确定飞行装置所处的场景”包括:对图像做梯度检测,进行二值化处理,然后使用hough直线检测,判断是否有直线,如果判断有至少一条直线且直线长度占图像宽度至少1/2的,则判断所述场景为线条丰富场景;
所述步骤“根据飞行装置当前所处的场景选择一对应的算法;以及根据所述算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:在飞行装置当前所处的场景为线条丰富的场景时,划分直线为水平方向的直线和垂直方向的直线,在上一帧图像中找一条和当前图像检测到的水平方向的直线角度差最小的直线,计算两条角度差最小的直线的距离得到第一距离,当第一距离不在[-R,R]时设置为0,其中R是设定的移动范围,在上一帧图像中找一条和当前图像检测到的垂直方向的直线的角度差最小的直线,计算所述两条角度差最小的直线的距离得到第二距离,当第二距离不在[-R,R]时设置为0,直线定位得到的第一距离、第二距离就是两帧相邻图像的图像X、Y偏移量。
19.如权利要求15-17中任一项所述的飞行控制方法,其特征在于,所述步骤“在当前场景为纹理丰富的场景时采用灰度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:
设当前图像宽高分别为W和H,设定一模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从当前帧图像(4,4)的位置获得;
设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从上一帧图像获得,在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应当前帧图像的(4,4)位置;以及
在匹配时通过计算相关函数SAD来找到与模板图相似的搜索子图以及它的坐标位置(i,j),T和S(i,j)的SAD最小的值对应的(i,j)位置的横、纵坐标值为两帧相邻图像的图像X、Y偏移量,其中,SAD是指将两幅图像每个位置对应像素差值的绝对值进行累加求和的过程。
20.如权利要求15-17中任一项所述的飞行控制方法,其特征在于,所述步骤“在当前场景为纹理较少的场景时采用sobel梯度模板匹配算法分析该两帧相邻图像中的参数的变化而计算该两帧相邻图像中的第二帧图像相对于第一帧图像的图像X、Y偏移量”包括:
通过Sobel算法进行边缘检测,并使用二维模板进行计算,二维模板包括用于水平方向差分运算的水平模板和用于垂直方向差分运算的垂直模板;
使用水平模板和垂直模板进行平面卷积运算,分别计算水平方向卷积fx和垂直方向卷积fy,求其梯度值G为fx的平方与fy的平方和的平方根,分别对相邻两幅图像做梯度运算得到梯度值矩阵A和B,其中A为上帧图像的Sobel梯度矩阵,B为当前帧图像的Sobel梯度矩阵;
设当前图像宽高分别为W和H,并设定模板图T大小为Mx×My,Mx=W-8,My=H-8,模板图T从B的(4,4)位置获得;
设定匹配图S大小为Nx×Ny,其中Nx=W,Ny=H,匹配图S从A获得;所述图像偏移量确定模块在匹配时将模板图叠放在匹配图上平移,模板图覆盖下的那块匹配图中的搜索子图为S(i,j),(i,j)为这块搜索子图的左上角像点在匹配图S中的位置,i和j在[-4,4]范围内取值,S(0,0)对应A的(4,4)位置,对模板图T和S(i,j)做差运算法,得到矩阵差值矩阵C,将C矩阵中符合下面条件1和条件2的每个元素绝对值进行累加,得到和SS(i,j),其中,条件1为A[r,c]>Tth、条件2为B[r,c]>Tth;其中,A[r,c]是梯度值矩阵A中第r行、第c列的位置的梯度值,B[r,c]是梯度值矩阵B中第r行、第c列的位置的梯度值,r>=0且r<My,c>=0且c<Mx,Tth是梯度阈值,其中SS(i,j)最小的值对应的(i,j)位置对应的横、纵坐标值为两帧相邻图像的图像X、Y偏移量。
21.一种飞行装置,包括相机模组、距离传感器以及加速度传感器,所述相机模组用于采集图像,所述距离传感器用于获取飞行装置的高度,所述加速度传感器用于侦测到的飞行装置在三维方向上的加速度及角速度,其特征在于,所述飞行装置还包括如权利要求1-10中任一项所述的飞行控制***。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510776453.8A CN105447853B (zh) | 2015-11-13 | 2015-11-13 | 飞行装置、飞行控制***及方法 |
PCT/CN2016/070162 WO2017080102A1 (zh) | 2015-11-13 | 2016-01-05 | 飞行装置、飞行控制***及方法 |
US15/630,613 US10515271B2 (en) | 2015-11-13 | 2017-06-22 | Flight device and flight control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510776453.8A CN105447853B (zh) | 2015-11-13 | 2015-11-13 | 飞行装置、飞行控制***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105447853A CN105447853A (zh) | 2016-03-30 |
CN105447853B true CN105447853B (zh) | 2018-07-13 |
Family
ID=55557986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510776453.8A Active CN105447853B (zh) | 2015-11-13 | 2015-11-13 | 飞行装置、飞行控制***及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10515271B2 (zh) |
CN (1) | CN105447853B (zh) |
WO (1) | WO2017080102A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6506031B2 (ja) * | 2015-01-28 | 2019-04-24 | 株式会社トプコン | 測量データ処理装置、測量データ処理方法およびプログラム |
JP6333396B2 (ja) * | 2015-06-26 | 2018-05-30 | エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd | モバイルプラットフォームの変位を計測する方法及び装置 |
CN105346706B (zh) * | 2015-11-13 | 2018-09-04 | 深圳市道通智能航空技术有限公司 | 飞行装置、飞行控制***及方法 |
CN106094861B (zh) * | 2016-06-02 | 2024-01-12 | 零度智控(北京)智能科技有限公司 | 无人机、无人机控制方法及装置 |
CN107438863B (zh) * | 2016-08-08 | 2021-07-30 | 深圳市道通智能航空技术股份有限公司 | 一种飞行定位的方法及装置 |
CN106469458B (zh) * | 2016-09-30 | 2019-01-08 | 哈尔滨工业大学 | 一种飞行相机的校正方法 |
CN106780553A (zh) * | 2016-11-18 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种飞行器的移动位置确定方法、装置及飞行器 |
CN106771329B (zh) * | 2016-12-27 | 2020-06-05 | 歌尔科技有限公司 | 一种无人机减速过程中运行速度的检测方法 |
US10602056B2 (en) * | 2017-01-13 | 2020-03-24 | Microsoft Technology Licensing, Llc | Optimal scanning trajectories for 3D scenes |
WO2019019172A1 (en) * | 2017-07-28 | 2019-01-31 | Qualcomm Incorporated | ADAPTIVE IMAGE PROCESSING IN A ROBOTIC VEHICLE |
US11087292B2 (en) * | 2017-09-01 | 2021-08-10 | Allstate Insurance Company | Analyzing images and videos of damaged vehicles to determine damaged vehicle parts and vehicle asymmetries |
WO2019126930A1 (zh) * | 2017-12-25 | 2019-07-04 | 深圳市道通智能航空技术有限公司 | 测距方法、装置以及无人机 |
CN112789571A (zh) * | 2018-07-05 | 2021-05-11 | 深圳市道通智能航空技术股份有限公司 | 无人机降落方法、装置及无人机 |
WO2020019130A1 (zh) * | 2018-07-23 | 2020-01-30 | 深圳市大疆创新科技有限公司 | 运动估计方法及可移动设备 |
CN109344970B (zh) * | 2018-11-27 | 2022-03-15 | 中国电子科技集团公司第二十研究所 | 一种无人机上基于视觉目标动向推理方法 |
CN109520939B (zh) * | 2019-01-03 | 2024-05-24 | 华域视觉科技(上海)有限公司 | 一种材料检测装置 |
CN110505463A (zh) * | 2019-08-23 | 2019-11-26 | 上海亦我信息技术有限公司 | 基于拍照的实时自动3d建模方法 |
CN110930455B (zh) * | 2019-11-29 | 2023-12-29 | 深圳市优必选科技股份有限公司 | 定位方法、装置、终端设备及存储介质 |
CN111815524B (zh) * | 2019-12-11 | 2024-04-23 | 长沙天仪空间科技研究院有限公司 | 一种辐射定标的校正***和方法 |
CN111540003A (zh) * | 2020-04-27 | 2020-08-14 | 浙江光珀智能科技有限公司 | 一种深度图像的生成方法及装置 |
CN112330618B (zh) * | 2020-10-29 | 2023-09-01 | 浙江大华技术股份有限公司 | 图像偏移检测方法、设备及存储介质 |
US11348470B1 (en) * | 2021-01-07 | 2022-05-31 | Rockwell Collins, Inc. | Apparent video brightness control and metric |
WO2023015566A1 (zh) * | 2021-08-13 | 2023-02-16 | 深圳市大疆创新科技有限公司 | 控制方法、控制装置、可移动平台及存储介质 |
CN117152144B (zh) * | 2023-10-30 | 2024-01-30 | 潍坊华潍新材料科技有限公司 | 基于图像处理的导辊监测方法及装置 |
CN117470199B (zh) * | 2023-12-27 | 2024-03-15 | 天津云圣智能科技有限责任公司 | 一种摆动摄影控制的方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426019A (zh) * | 2011-08-25 | 2012-04-25 | 航天恒星科技有限公司 | 一种无人机景象匹配辅助导航方法及*** |
CN104062977A (zh) * | 2014-06-17 | 2014-09-24 | 天津大学 | 基于视觉slam的四旋翼无人机全自主飞行控制方法 |
US9057609B2 (en) * | 2009-03-27 | 2015-06-16 | National University Of Defense Technology | Ground-based camera surveying and guiding method for aircraft landing and unmanned aerial vehicle recovery |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8581981B2 (en) * | 2006-04-28 | 2013-11-12 | Southwest Research Institute | Optical imaging system for unmanned aerial vehicle |
US20100250022A1 (en) * | 2006-12-29 | 2010-09-30 | Air Recon, Inc. | Useful unmanned aerial vehicle |
US8942964B2 (en) * | 2010-06-08 | 2015-01-27 | Southwest Research Institute | Optical state estimation and simulation environment for unmanned aerial vehicles |
FR2961601B1 (fr) * | 2010-06-22 | 2012-07-27 | Parrot | Procede d'evaluation de la vitesse horizontale d'un drone, notamment d'un drone apte au vol stationnaire autopilote |
CN102788580A (zh) * | 2012-06-20 | 2012-11-21 | 天津工业大学 | 无人机视觉导航中的飞行路线合成方法 |
US20150134143A1 (en) * | 2013-10-04 | 2015-05-14 | Jim Willenborg | Novel tracking system using unmanned aerial vehicles |
FR3020169A1 (fr) * | 2014-04-16 | 2015-10-23 | Parrot | Drone a voilure tournante muni d'une camera video delivrant des sequences d'images stabilisees |
CN104729506B (zh) * | 2015-03-27 | 2017-11-14 | 北京航空航天大学 | 一种视觉信息辅助的无人机自主导航定位方法 |
-
2015
- 2015-11-13 CN CN201510776453.8A patent/CN105447853B/zh active Active
-
2016
- 2016-01-05 WO PCT/CN2016/070162 patent/WO2017080102A1/zh active Application Filing
-
2017
- 2017-06-22 US US15/630,613 patent/US10515271B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9057609B2 (en) * | 2009-03-27 | 2015-06-16 | National University Of Defense Technology | Ground-based camera surveying and guiding method for aircraft landing and unmanned aerial vehicle recovery |
CN102426019A (zh) * | 2011-08-25 | 2012-04-25 | 航天恒星科技有限公司 | 一种无人机景象匹配辅助导航方法及*** |
CN104062977A (zh) * | 2014-06-17 | 2014-09-24 | 天津大学 | 基于视觉slam的四旋翼无人机全自主飞行控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017080102A1 (zh) | 2017-05-18 |
US20170293796A1 (en) | 2017-10-12 |
CN105447853A (zh) | 2016-03-30 |
US10515271B2 (en) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447853B (zh) | 飞行装置、飞行控制***及方法 | |
CN105346706B (zh) | 飞行装置、飞行控制***及方法 | |
CN105225482B (zh) | 基于双目立体视觉的车辆检测***和方法 | |
CN104700414B (zh) | 一种基于车载双目相机的前方道路行人快速测距方法 | |
CN104318561B (zh) | 基于双目立体视觉与光流融合的车辆运动信息检测方法 | |
KR101618814B1 (ko) | 단일객체에 대한 기울기를 추정하는 영상을 감시하는 장치 및 방법 | |
CN111553252B (zh) | 一种基于深度学习及u-v视差算法的道路行人自动识别定位方法 | |
US10311591B2 (en) | Displacement detecting apparatus and displacement detecting method | |
CN107248159A (zh) | 一种基于双目视觉的金属工件缺陷检测方法 | |
US20180108143A1 (en) | Height measuring system and method | |
CN109816673A (zh) | 一种非极大值抑制、动态阈值计算及图像边缘检测方法 | |
CN106981081A (zh) | 一种基于深度信息提取的墙面平整度检测方法 | |
CN106033614B (zh) | 一种强视差下的移动相机运动目标检测方法 | |
CN111996883B (zh) | 一种检测公路路面宽度的方法 | |
CN105957107A (zh) | 行人检测与跟踪方法及装置 | |
CN104331907B (zh) | 一种基于orb特征检测测量载体速度的方法 | |
CN109292099A (zh) | 一种无人机着陆判断方法、装置、设备及存储介质 | |
CN105913464A (zh) | 一种基于视频的多人体目标在线测量方法 | |
KR101469099B1 (ko) | 사람 객체 추적을 통한 자동 카메라 보정 방법 | |
CN108021857B (zh) | 基于无人机航拍图像序列深度恢复的建筑物检测方法 | |
CN107093187A (zh) | 一种无人机飞行速度的测量方法及装置 | |
CN108416735B (zh) | 基于几何特征的数字化x线图像的拼接方法及装置 | |
JP6860445B2 (ja) | 物体距離検出装置 | |
WO2014054124A1 (ja) | 路面標示検出装置及び路面標示検出方法 | |
CN109389602B (zh) | 天花板地图构建方法、构建装置以及构建程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518055 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Yuen Building 9 layer B1 Patentee after: Shenzhen daotong intelligent Aviation Technology Co.,Ltd. Address before: 518055 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Yuen Building 9 layer B1 Patentee before: AUTEL ROBOTICS Co.,Ltd. |