一种飞机入坞引导和机型识别的系统及方法 |
|||||||
申请号 | CN201410377430.5 | 申请日 | 2014-08-01 | 公开(公告)号 | CN105302151A | 公开(公告)日 | 2016-02-03 |
申请人 | 深圳中集天达空港设备有限公司; 中国国际海运集装箱(集团)股份有限公司; | 发明人 | 邓览; 常绍民; 向卫; 杨月峰; 王海彬; 刘海秋; | ||||
摘要 | 本 发明 公开了一种飞机入坞引导和机型识别的系统及方法,该方法执行于包括 机器视觉 子系统、激光扫描子系统和融合模 块 的飞机入坞引导和机型识别的系统中,该方法包括:步骤1000,该机器视觉子系统通过图像拍摄方式获取图像,并从中计算得到第一飞机前轮 位置 ;步骤2000,该激光扫描子系统通过激光扫描方式获取飞机的机鼻位置,并推算得到第二飞机前轮位置;步骤3000,针对该第一飞机前轮位置和该第二飞机前轮位置,根据一融合规则进行融合,得到飞机前轮偏离情况。 | ||||||
权利要求 | 1.一种飞机入坞引导和机型识别的方法,其特征在于,执行于包括机器视觉子系统、激光扫描子系统和融合模块的飞机入坞引导和机型识别的系统中,该方法包括: |
||||||
说明书全文 | 一种飞机入坞引导和机型识别的系统及方法技术领域[0001] 本发明涉及泊位引导系统,特别是涉及一种飞机入坞引导和机型识别的系统及方法。 背景技术[0002] 飞机泊位引导是指将到港飞机从滑行道末端导引至机坪的停机位置并准确停泊的过程。飞机泊位引导的目的是保障入坞飞机安全准确停泊,能方便飞机与各种地勤接口的准确对接,并使登机桥能有效靠接飞机舱门,提高机场运行效率和安全。 [0004] (1)地埋线圈类;(2)激光扫描测距类;(3)视觉感知类。 [0005] 由于激光扫描测距类和视觉感知类自动引动系统能有效获取入坞飞机的可视化信息,因此该两类自动飞机泊位引导系统又称为可视化泊位引导系统。 [0006] 地埋感应线圈类自动引导系统通过探测是否有金属物体经过或停留来确定入坞飞机的位置。地埋感应线圈的优点是响应速度快、成本低,对天气和照度无要求,但误差较大、抗干扰能力低。同时,埋在地下的引线和电子元件容易被压坏、可靠性不高,测量精度不高,不能识别机型,可调试可维修性差。 [0007] 激光扫描测距类自动引导系统通过激光测距和激光扫描来确定飞机位置、速度和机型等信息,不受环境照度的影响、且受天气影响较小,精度较高,可调试可维修性好。 [0008] 视觉感知类自动引导系统通过光学成像方式获取飞机入坞过程的图像信息,进而通过智能化信息处理技术确定入坞飞机的位置、速度和机型等信息,系统架构简单、成本低,具有高的智能化水平,可调性可维护性较好,但对天气和照度有要求、适应性较差。 [0009] 随着视觉感知成像技术、智能化信息处理技术和计算机技术的不断深入发展,可视化飞机泊位引导技术能精确、快速获取入坞飞机的入坞信息,已在机场的泊位引导系统中得到应用。 [0010] 美国Honeywell公司研制的可视化飞机泊位引导系统(VDGS)和德国西门子公司研制的视频泊位引导系统(VDOCKS)作为国际领先水平的视觉引导设备也在国际上一些机场得到应用。 [0011] 但这些系统对天气和照度要求较高、适应性较差,且缺乏智能化的信息处理能力,且不具备较高的精确性。 发明内容[0012] 本发明解决的技术问题在于,实现飞机入坞泊位引导,并有效提高飞机入坞过程中,在确认飞机前轮偏离情况方面的精确性。 [0014] 步骤1000,该机器视觉子系统通过图像拍摄方式获取图像,并从中计算得到第一飞机前轮位置; [0015] 步骤2000,该激光扫描子系统通过激光扫描方式获取飞机的机鼻位置,并推算得到第二飞机前轮位置; [0016] 步骤3000,针对该第一飞机前轮位置和该第二飞机前轮位置,根据一融合规则进行融合,得到飞机前轮偏离情况。 [0017] 该步骤1000进一步包括:步骤S1,飞机泊位场景设置步骤,将监测场景划分为不同的信息处理功能区;步骤S2,图像预处理步骤,对所拍摄的图像进行预处理;步骤S3,飞机捕获步骤,通过在该图像中识别飞机的引擎和前轮,以确认该图像中出现飞机;步骤S4,飞机跟踪步骤,对步骤S3所捕获到的飞机的引擎和前轮的图像进行连续跟踪和实时更新;步骤S5,飞机定位步骤,实现对飞机实时定位并准确判断飞机相对于引导线的偏离程度。 [0018] 该图像预处理步骤进一步包括: [0019] 步骤S21,根据该图像的平均灰度值判断该图像为低照度图像、强光照图像还是正常光照图像,对低照度图像执行低照度图像处理步骤,对强光照图像执行强光照图像处理步骤; [0020] 步骤S22,根据该图像的方差判断该正常光照图像是否为正常图像; [0021] 步骤S23,对于非正常图像,判断其为雨雪图像还是雾图像,对雨雪图像执行雨雪图像处理步骤,对雾图像执行雾图像处理步骤。 [0022] 该低照度图像处理步骤包括: [0023] g(x,y)=f(x,y)+af(x,y)(255-f(x,y)) [0025] 该雨雪图像处理步骤包括: [0026] 利用光度测定模型寻找被雨雪污染的待处理像素; [0027] 对于当前图像的待处理像素,提取与该当前图像前后相邻的图像的相应像素的亮度值,根据该亮度值判断与该当前图像前后相邻的图像的相应像素是否均为待处理像素,如果是,取该当前图像的待处理像素的所有相邻像素的亮度值的平均值,用该平均值代替该当前图像的待处理像素的亮度值,如果否,利用该当前图像前后相邻的图像的相应像素的亮度值中的最小值或最小的两个值的平均值,代替该当前图像的待处理像素的亮度值。 [0028] 通过同态滤波进行该雾图像处理步骤。 [0029] 该飞机捕获步骤进一步包括: [0030] 步骤S31,背景消除步骤,利用单高斯背景模型来模拟场景中背景的动态分布并进行背景建模,然后将当前图像与背景模型作差分以消除背景,得到前景区域; [0031] 步骤S32,阴影消除步骤,统计该前景区域的灰度值,找出最大灰度值gmax和最小灰度值gmin,然后在灰度值小于T=gmin+(gmax-gmin)*0.5的区域进行阴影消除; [0032] 步骤S33,区域分类步骤,建立一个标准正面飞机区域模板,经过变化检测提取目标区域并求取该区域的垂直投影曲线,然后求取该垂直投影曲线与所述标准正面飞机区域模板的垂直投影曲线的相关系数,若该相关系数大于或等于一分类阈值,则该目标为飞机; [0033] 步骤S34,特征验证步骤,通过检测捕获到的飞机的引擎和前轮来进一步验证该目标是否为飞机。 [0034] 该特征验证步骤进一步包括: [0035] 步骤S341,图像极黑区域提取,对当前图像的目标区域进行灰度直方图统计,在灰度级中间1%~99%范围内获得最大灰度值、最小灰度值,借助预设的极黑判定阈值以及该最大灰度值、最小灰度值提取图像中最黑的部分,得到一幅极黑区域; [0036] 步骤S342,类圆形检测,提取该极黑区域的所有外层边界,对每一个边界使用边界的矩计算边界的重心坐标,边界的第ji阶矩定义如下: [0037] [0038] 重心坐标 [0039] [0040] 对于当前边界的所有像素点,计算其与该重心的距离,若计算得到的最大距离与最小距离的比值大于一圆形判定阈值,则认为该区域非圆形,进行下一区域的判定,否则认为该区域为类圆形,记录类圆形区域的重心坐标和半径; [0041] 步骤S343,在类圆形区域中通过判断相似度检测飞机引擎; [0042] 步骤S344,检测飞机前轮,得到第一飞机前轮位置。 [0043] 在步骤S343中,对于检测到的M个类圆形区域,其中第i个和第j个的相似度Similarityij为: [0044] Similarityij=|Heighti-Heightj|*|Radiusi-Radiusj| [0045] 其中,Height为重心高度,Radius为半径,当相似度Similarityij小于预设的相似度阈值时,则认为类圆形区域i和j为飞机引擎。 [0046] 在步骤S343中,若没有检测出飞机引擎,则进行迭代检测,将所述极黑判定阈值、圆形判定阈值、相似度阈值分别增大,再进行步骤S341-343;若仍然没有检测出飞机引擎,则对所有的极黑区域使用7*7的圆形模板进行开操作,再进行步骤S342-343; [0047] 若仍然没有检测出飞机引擎,则再进行2次上述迭代检测; [0048] 若仍然没有检测出飞机引擎,则判定图像中无引擎存在。 [0049] 所述极黑判定阈值、圆形判定阈值、相似度阈值的增加量分别为0.05、0.5、20。 [0050] 该步骤S344进一步包括: [0051] 在图像的搜索区域中,将256级的灰度级量化至64级,搜索量化为64级的灰度直方图中的第一个波峰和波谷,原始256级灰度的灰度直方图中的最优波峰位置BestPeak、最优波谷BestValley位置定义如下: [0052] [0053] [0054] 其中hist256(i)为256级灰度的灰度直方图中,灰度为i的像素总数; [0055] 以此最优波谷BestValley对灰度进行分割,对小于最优波谷BestValley的部分,除去面积较小的杂点,使用一个扁平椭圆型结构元素对图像进行闭操作; [0056] 接着对所有图形计算边界的7阶Hu矩特征,与预置的标准前轮模型的矩特征进行比对,当相似度低于一阈值时则判定中间一个为前轮。 [0057] 该飞机跟踪步骤进一步包括: [0059] 步骤S42,如果步骤S41的填充结果无效,执行阴暗环境检测跟踪步骤,使用上一帧的参数进行步骤S341和步骤S342来检测跟踪引擎区域; [0060] 步骤S43,在获取到引擎区域的信息之后,使用步骤S344检测飞机前轮,得到该第一飞机前轮位置; [0061] 步骤S44,前轮跟踪应急处理步骤,在检测前轮形状不正确或前轮位置与之前多帧图像相比发生明显偏离时,根据上一帧图像和当前图像的信息,利用相邻两帧图像引擎的位移对该帧的前轮位移进行估计,将估计结果作为前轮跟踪结果,如果超出N帧仍检测不到,则输出错误信息。 [0062] 该飞机定位步骤包括:步骤S51,摄像装置标定与图像矫正步骤,用于确定摄像装置的光学参数与地理坐标系之间的对应关系;步骤S52,飞机前轮偏离程度解算步骤;步骤S53,飞机前轮实际距离解算步骤。 [0063] 该步骤S51进一步包括: [0064] 步骤S511,读取N幅标定图片; [0065] 步骤S512,使用OpenCV的cvFindChessboardCorners()函数寻找棋盘角点,将读取的所述N幅标定图片分别代入所述cvFindChessboardCorners()函数,如果成功寻找到所有的角点,则函数返回1,并得到角点在图像坐标系下坐标;如果不成功则返回0; [0066] 步骤S513,将成功寻找到的所述角点在标定模板上的坐标代入函数cvCalibrateCamera2()中,返回得到摄像装置的参数矩阵、畸变系数、旋转向量和平移向量。 [0067] 该步骤S52进一步包括: [0068] 根据由步骤S43得到该第一飞机前轮位置(x0,y0),利用所述位置坐标点与引导线和停止线的关系,求得引导线的直线方程为:y1=k1x1+b1,停止线的直线方程为:y2=k2x2+b2,所述位置坐标点到直线的距离为: [0069] [0070] 将(x0,y0)代入两个直线方程分别求得d1和d2,d2≥0表示飞机前轮超出停止线,d2<0表示飞机前轮未到达停止线,此时若k1>0,d1>0则表示飞机偏左,d1<0表示飞机偏右;若k1<0,则d1<0表示飞机偏左,d1>0表示飞机偏右。 [0071] 该步骤S52还包括,判断|d1|>width/2是否成立,width为一等于检测的飞机前轮的宽度的阈值,如果成立,认为飞机已经偏离引导线。 [0072] 该步骤S53进一步包括: [0073] 建立图像坐标与大地坐标的对应关系; [0074] 由步骤S1的场景设置中的标记点得到图像坐标,采用最小二乘法对该图像坐标2 进行二次曲线拟合,得到曲线方程y=ax+bx+c,x是图像上的距离,y是实际距离; [0075] 对于飞机前轮在图像上的位置,沿停止线方向将其投影到引导线上,计算投影点2 到停止点的欧氏距离作为x,则通过y=ax+bx+c可得到飞机前轮到停止线的实际距离。 [0076] 该步骤S3之后还可执行步骤S7,飞机识别及身份验证步骤,步骤S7进一步包括: [0077] 步骤S71,参数验证,提取图像中的飞机参数并与预置于数据库中的机型数据进行比对,得到机型相似度参数; [0078] 步骤S72,模板匹配,将图像与预置于所述数据库中的机型模板进行比对,得到模板相似度参数; [0079] 步骤S73,综合判断,所述机型数据相似度参数与所述模板相似度参数大于或等于一验证阈值时,视为通过身份验证。 [0080] 步骤S71进一步包括: [0081] 步骤S711,提取图像中的飞机引擎参数并与预置于数据库中对应机型的飞机引擎参数进行比对,得到第一比值; [0082] 步骤S712,提取图像中的飞机机翼参数并与预置于数据库中对应机型的飞机机翼参数进行比对,得到第二比值; [0083] 步骤S713,提取图像中的飞机机头参数并与预置于数据库中对应机型的飞机机头参数进行比对,得到第三比值; [0084] 步骤S714,提取图像中的飞机尾翼参数并与预置于数据库中对应机型的飞机尾翼参数进行比对,得到第四比值;以及 [0085] 步骤S715,取第一比值、第二比值、第三比值、第四比值这四者中的最小值以及最大值,将最小值/最大值,作为该机型相似度参数。 [0086] 步骤S72进一步包括: [0087] 步骤S721,全局模板匹配,以整幅图像为被搜索图像,标准飞机图像为模板,计算全局模板相似度参数; [0088] 步骤S722,局部模板匹配,分别以步骤S711-S714中提取得到的所述飞机引擎、飞机机翼、飞机机头和所述飞机尾翼为被搜索图像,分别以标准飞机图像的引擎、机翼、机头和尾翼为模板,计算被搜索图像与模板的4个相似度,去掉所述4个相似度中的最小值,计算所述4个相似度中其余3个相似度的平均数为局部模板相似度参数。 [0089] 步骤S73进一步包括:若所述机型相似度参数、全局模板相似度参数和所述局部模板相似度参数中至少有2个大于或等于第一验证阈值,视为通过身份验证,或,所述机型相似度参数、全局模板相似度参数和所述局部模板相似度参数都大于第二验证阈值,视为通过身份验证。 [0090] 该步骤2000进一步包括: [0091] 捕获步骤,对飞机机头的预计出现位置进行水平方向的激光扫描,获取激光扫描的回波数据,根据一判断条件对该回波数据进行判断,以识别飞机是否出现; [0092] 引导步骤,在飞机出现后,对飞机机头进行水平方向的激光扫描,获取激光扫描的回波数据并据以判断飞机的机鼻位置; [0093] 跟踪步骤,在飞机行进过程中,通过调整该激光扫描的垂直扫描角度,跟踪该机鼻位置。 [0094] 该捕获步骤之前还包括零点标定步骤,该零点标定步骤包括设备安装零点标定步骤,执行于扫描系统初次安装时,该设备安装零点标定步骤包括水平零点测量步骤和垂直零点测量步骤; [0095] 该水平零点测量步骤包括: [0096] 扫描系统以固定垂直扫描角度向地面的一标定区域进行水平扫描,将该标定区域等分为N个小区域,对每个小区域的边界点进行测距,从获得的测距值中找出最小值,以具有最小值的边界点为中心,确定一扩展区域,以该扩展区域中的具有最小测距值的点作为水平零点; [0097] 该垂直零点测量步骤包括: [0098] 该扫描系统在垂直扫描角度β1进行测距得到第一距离值L1,针对该垂直扫描角度β1调整λ度再次测距得到第二距离值L2,利用公式 [0099] L1*sinβ1=L2*sin(β1-λ) [0100] 计算β1,确认以L1所在直线为斜边,以该斜边在地面投影为直角边,该斜边与该直角边的夹角为β1的直角三角形的直角顶点为垂直零点。 [0101] 该零点标定步骤还包括零点修正步骤,该零点修正步骤包括: [0102] 在该设备安装零点标定步骤执行完毕后,该扫描系统从零点起逐步调整扫描角度直至扫描到一预设参照物,记录此时的扫描角度作为修正角度; [0103] 当该扫描系统重新开机时,该扫描系统在扫描到该预设参照物后,回调该修正角度,以找到该零点。 [0104] 该判断条件进一步包括: [0105] A、判断具有连续且具有最小测距值的感兴趣点的个数与回波数据的总数之比是否大于一阈值; [0106] B、根据该回波数据的总数计算飞机宽度,判断该飞机宽度是否不小于一宽度阈值;以及 [0107] C、计算飞机高度,判断计算得到的飞机高度是否处于预定范围; [0108] 其中,该感兴趣点的测距值在一预测长度两侧的规定范围。 [0109] 该捕获步骤在获取该回波数据时,先对该回波数据进行中值滤波,再识别飞机是否出现。 [0110] 该引导步骤进一步包括: [0111] 从该回波数据中,截取落在机头的目标点,将该目标点从极坐标数据转换为三维空间数据; [0112] 从该目标点中提取Y方向最短的点作为最近点; [0113] 利用该目标点进行曲线拟合,获取曲线的顶点; [0114] 根据该最近点的X值与该顶点的X值的差值,确定该最近点以及该顶点中之一为该机鼻位置。 [0115] 该跟踪步骤进一步包括: [0116] 在飞机进行过程中以预定垂直扫描角度扫描飞机的机鼻位置; [0117] 根据回波数据计算飞机的当前机鼻点; [0118] 对该当前机鼻点进行垂直扫描,根据扫描得到的抛物线的顶点计算垂直扫描角度的改变量,并据以改变该垂直扫描角度,或者,根据该当前机鼻点计算垂直扫描角度的改变量,并据以改变该垂直扫描角度。 [0119] 所述的方法还包括机型识别的步骤,包括:机鼻高度验证、机舱宽度验证、机头俯视轮廓验证、机头侧视轮廓验证和飞机引擎验证中的一种或几种; [0120] 该机鼻高度验证包括:如果机鼻高度与预设机鼻高度之差在一预设范围内,视为通过机鼻高度验证; [0121] 该机舱宽度验证包括:寻找该回波数据中x坐标相差最大的两个点,将这两个点的直线距离作为机舱宽度,如果该机舱宽度大于理论机舱宽度与一宽度系数的乘积,视为通过机舱宽度验证; [0122] 该机头俯视轮廓验证包括:将水平方向的激光扫描获得的回波数据(xi,yi,zi)代入预设的俯视轮廓方程y=fn(x),水平拟合点误差为 水平拟合最大误差 若DH<ΔDH,则可认为机头的俯视轮廓验证通过,ΔDH为俯视验证阈 值,i为回波数据的目标点的序号,n为俯视方程的拟合次数; [0123] 该机头侧视轮廓验证包括:将垂直方向的激光扫描获得的回波数据(xi,yi,zi)代m入预设的俯视轮廓方程z=g(y),垂直拟合点误差为 垂直拟合最大误 差 若DV<ΔDV,则可认为机头的侧视轮廓验证通过,ΔDV为侧视验证阈值, i为回波数据的目标点的序号,m为侧视方程的拟合次数; [0124] 该飞机引擎验证包括: [0125] 根据该机鼻位置计算引擎位置,对该引擎位置进行水平方向的激光扫描以及垂直方向的激光扫描; [0126] 将水平方向的激光扫描得到的回波数据转换到x-y-z三维坐标,寻找距离理论引擎中心最近的坐标点,并寻找与该最近的坐标点连续的点,得到一点集,点集中最左端和最右端的两个点的距离作为引擎宽度,该两个点的中点为引擎中心的水平坐标; [0127] 将垂直方向的激光扫描得到的回波数据转换到x-y-z三维坐标,寻找距离理论引擎中心最近的坐标点,并寻找与该最近的坐标点连续的点,得到一点集,点集中最上端和最下端的两个点的距离作为引擎高度,该两个点的中点为引擎中心的离地高度; [0128] 判断引擎的个数与预定个数是否一致,如不一致,视为飞机引擎验证失败; [0129] 判断该引擎中心的水平坐标或该引擎中心的离地高度与标准值的差距是否超过阈值,如果是,视为飞机引擎验证失败; [0130] 判断该引擎宽度或该引擎高度与标准值的差距是否超过阈值,如果是,视为引擎验证失败。 [0131] 该融合规则包括: [0132] 对于飞机前轮偏离引导线的情况: [0133] 判断该第一飞机前轮位置与该第二飞机前轮位置的坐标差距中的x轴的差距是否小于等于一阈值,如果是,选用该机器视觉子系统计算得到的飞机前轮偏离程度,如果否,将该第二飞机前轮位置以及该第一飞机前轮位置做平滑滤波后给出飞机前轮偏离引导线的情况; [0134] 对于飞机前轮距离停止线的距离: [0135] 判断该第二飞机前轮位置是否出现异常波动,如果否,取该第二飞机前轮位置作为飞机前轮距离停止线的距离,如果是,取之前N次的由该机器视觉子系统以及该激光扫描子系统分别获得的飞机前轮位置,求其平均差距,采用本次该机器视觉子系统得到的飞机前轮位置,加上该平均差距,作为飞机前轮距离停止线的距离。 [0136] 该融合规则进一步包括: [0138] 建立该机器视觉子系统的mass函数m1(·)和该激光扫描子系统的mass函数m2(·),且满足: [0139] Σm1(·)=1,Σm2(·)=1 [0140] 其中, 系数i, [0141] (1-系数i), [0142] m2(h)和 根据该激光扫描子系统预先设定的优先等级判别顺序而变化; [0143] 计算mass函数的正交和 [0144] 其中, [0145] 若有 [0146] [0147] 其中ε1、ε2为预设的门限值,则融合结果为:机型正确身份验证通过; [0148] 若有 [0149] [0150] 则融合结果为:机型错误身份验证失败。 [0151] 本发明还公开了一种飞机入坞引导和机型识别的系统,包括: [0152] 机器视觉装置,用于使机器视觉子系统通过图像拍摄方式获取图像,并从中计算得到第一飞机前轮位置; [0153] 激光扫描装置,用于使激光扫描子系统通过激光扫描方式获取飞机的机鼻位置,并推算得到第二飞机前轮位置; [0154] 融合装置,针对该第一飞机前轮位置和该第二飞机前轮位置,根据一融合规则进行融合,得到飞机前轮偏离情况。 [0155] 该机器视觉装置进一步包括: [0156] 飞机泊位场景设置单元,用于将监测场景划分为不同的信息处理功能区; [0157] 图像预处理单元,用于对所拍摄的图像进行预处理; [0158] 飞机捕获单元,用于在该图像中识别飞机的引擎和前轮,以确认该图像中出现飞机; [0159] 飞机跟踪单元,用于对所捕获到的飞机的引擎和前轮的图像进行连续跟踪和实时更新; [0160] 飞机定位单元,用于实现对飞机的实时定位并准确判断飞机相对于引导线的偏离程度。 [0161] 该机器视觉装置进一步包括: [0162] 捕获单元,用于对飞机机头的预计出现位置进行水平方向的激光扫描,获取激光扫描的回波数据,根据一判断条件对该回波数据进行判断,以识别飞机是否出现; [0163] 引导单元,用于在飞机出现后,对飞机机头进行水平方向的激光扫描,获取激光扫描的回波数据并据以判断飞机的机鼻位置;以及 [0164] 跟踪单元,用于在飞机行进过程中,通过调整该激光扫描的垂直扫描角度,跟踪该机鼻位置。 [0165] 本发明的飞机入坞引导和机型识别的系统及方法,具有有效的智能化信息处理能力,能有效实现飞机入坞过程的飞机捕获、跟踪与定位、机型识别与身份验证等功能,而且具有智能化的站坪可视化监控功能,能有效提高民航机场自动化、智能化和运营管理的水平。附图说明 [0166] 图1所示为本发明的飞机入坞引导和机型识别系统的结构示意图。 [0167] 图2A、2B所示为本发明的机器视觉子系统的结构示意图。 [0168] 图3所示为本发明的飞机入坞引导和机型识别流程图。 [0169] 图4所示为本发明的飞机泊位场景设置示意图。 [0170] 图5A、5B所示为图像预处理步骤的详细流程图。 [0171] 图6所示为同态滤波器函数的曲线示例图; [0172] 图7A所示为本发明的背景消除流程图; [0173] 图7B所示为一幅典型的极黑区域示意图; [0174] 图7C所示为相似度判定的流程示意图; [0175] 图7D所示为256级灰度的灰度直方图示例图; [0176] 图7E所示为量化后的64级灰度的灰度直方图示例图; [0177] 图7F所示为使用一个扁平椭圆型结构元素对图像进行闭操作的效果示例图; [0178] 图8A所示为飞机跟踪步骤的流程示意图; [0179] 图8B所示为飞机引擎部分的图像示例图; [0180] 图9是实际距离与图像距离的对应点及拟合曲线示例图; [0182] 图10B所示为分层图像结构示意图; [0183] 图10C所示为飞机图像边缘示例图; [0184] 图10D所示为机翼轮廓与引擎轮廓示例图; [0185] 图10E所示为被搜索图像S、子图Sij、模板T的示意图; [0186] 图11公开了激光扫描子系统的结构示意图; [0187] 图12所示为扫描系统的结构示意图; [0188] 图13所示为飞机入坞场景划分示意图; [0189] 图14为水平零点标定的原理示意图; [0190] 图15为垂直零点标定的原理示意图; [0191] 图16所示为激光扫描子系统与飞机的相对位置示意图; [0192] 图17、18所示为本发明激光扫描子系统所执行的捕获步骤的流程示意图; [0193] 图19所示为本发明激光扫描子系统所执行的引导步骤的流程示意图; [0194] 图20所示为飞机跟踪的俯视示意图; [0195] 图21所示为跟踪步骤的流程示意图; [0196] 图22所示为显示于显示设备中的一种可行的显示方式示例图。 具体实施方式[0197] 下面结合附图对本发明的结构原理和工作原理作具体的描述。 [0198] 本发明公开了一种飞机入坞引导和机型识别系统。如图1所示为本发明的飞机入坞引导和机型识别系统的结构示意图。 [0199] 飞机入坞引导和机型识别系统主要包括机器视觉子系统1000、激光扫描子系统2000、视觉信息和激光信息融合单元3000和显示设备4000。机器视觉子系统1000、激光扫描子系统2000和显示设备4000均分别与视觉信息和激光信息融合单元3000连接。机器视觉子系统1000、激光扫描子系统2000针对同一机坞,各自获取飞机的泊位信息,交由视觉信息和激光信息融合单元3000融合为一个信息,并发送给显示设备4000进行显示。 [0200] 图2A、2B所示为本发明的机器视觉子系统的结构示意图。机器视觉子系统1000主要包括摄像装置1001和中央处理设备1002。摄像装置1001与中央处理设备1002连接,中央处理设备1002将处理后的信息发送给信息融合模块3000。 [0201] 其中,摄像装置1001安装在飞机泊位站坪40的停止线42后方,正对引导线41为宜,安装高度要高于飞机5的机身,在5-8m左右为宜,图2A中与摄像装置1001相连的虚线表示其设置在地面正上方。摄像装置1001将拍摄的图像发送给中央处理设备1002。 [0202] 中央处理设备1002可以是一台拥有接受数据、处理数据、储存数据、生成显示图像数据、发送数据能力的计算装置,包括用于执行飞机泊位场景配置、视频图像预处理、飞机捕获、飞机跟踪、飞机定位、飞机识别及身份验证的多个功能模块,全部作为软件安装在中央处理设备1002中。显示设备4000优选为安装于机场中可供飞机驾驶员观看的大型信息显示屏,另外,机场工作人员也可配备手持式显示设备以观察飞机情况。 [0203] 参见图3,图3为本发明一实施例的飞机入坞引导和机型识别流程图。本发明基于机器视觉的飞机入坞引导和机型识别方法,包括如下步骤: [0204] 以下首先详细介绍机器视觉子系统1000的详细运行方式。 [0205] 步骤S1、飞机泊位场景设置。 [0206] 飞机泊位场景配置是指将监测场景划分成不同的信息处理功能区,并且确定场景中的一些重要的参照物的具体位置和状态,是实现飞机泊位信息有效处理的基础。 [0207] 由于飞机从开始进入机位到最终停止需要经历一个较长的距离,故而在飞机入坞引导过程中,需分为多个阶段,每个阶段的监测内容不同,也就是说,需要提前进行飞机泊位场景设置。 [0208] 在步骤S1中,将飞机泊位站坪40的监测场景划分为不同的信息处理的功能区,以缩小图片的处理区域范围,提高处理效率。 [0209] 除了不同功能区以外,飞机泊位场景中最重要的两个标志是引导线和停止线,有效的获取引导线和停止线的位置,是确保飞机泊位过程成功的一个重要依据和必不可少的一个环节,也是区分各个功能区的关键要素。本发明标记出上述各个功能区,从而在各个功能区完成相应的引导信息处理任务。此外还标记出相关地勤设备区,可避免引导的过程中出现事故。 [0210] 该步骤中首先需要在飞机泊位站坪40的监测场景中进行场景定义,紧邻该引导线41铺设一条黑白间隔的标尺,黑色与白色的长度间隔相同,长度间隔最大1m,可根据摄像装置的分辨率,使用长度间隔为0.5m、0.25m等更精细的标尺,标尺的总长度不超过对飞机位置进行距离解算的范围,通常为50m。 [0211] 通过运行于中央处理设备1002中的软件可再现该监测场景。开启该软件可显示摄像装置1001拍摄的关于飞机泊位站坪40的画面,并通过手动绘制线条、选框和点,来标记相关区域,并保存记录。 [0212] 摄像装置1001拍摄没有飞机停靠时的飞机泊位站坪40的场景图像,并传送至中央处理设备1002。飞机泊位场景设置示意图见图4,图中边框43表示进行标定操作时所显示的画面和可用于描绘的区域,图中虚线线框可以是手动描绘的位置,可以在显示的图像上手动绘制线条,分别标记出引导线41和停止线42,保存记录引导线41和停止线42在图像中的位置信息。通过手动绘制选框,分别标记出捕获区6、跟踪定位区7和相关地勤设备区8,保存记录捕获区6和跟踪定位区7在图像中的位置信息。机型识别与身份验证区,以及,跟踪定位区7,可以对应同一段区域。再根据场景中铺设的标尺,手动画点,标记出紧邻引导线41旁边的最大间隔为1m的所有标记点9,保存记录所有标记点9在图像中的位置信息,以及每个标记点9在实际场景中距离第一标记点91的距离。 [0213] 其中,在标记引导线41、停止线42和标记点9的时候,可将需要标记的图像部分放大,放大到数十像素宽时,手动在其中间部分标记,以提高标记精度。标记的捕获区6和跟踪定位区7的位置不需要非常严格,捕获区6上边缘在实际场景中的位置距离停止线42大约100m,捕获区6下边缘在实际场景中的位置距离停止线42大约50m,跟踪定位区7上边缘在实际场景中的位置距离停止线42大约50m,跟踪定位区7下边缘在停止线42以下即可。 [0214] 图3中虚线以上的步骤S1为在系统安装完成后,进行泊位引导之前执行。虚线以下的部分均在泊位引导时执行。其中虚线框中的步骤需要在泊位引导过程中实时执行和更新。 [0215] 步骤S1之后执行步骤S2,图像预处理步骤。该步骤用于改善图像的视觉效果,提高图像成分的清晰度或者使图像变得更有利于计算机处理。在飞机的泊位过程中涉及到各种天气情况,包括白天、黑夜、阴雨雪雾等情况,得到的图像也各不相同,有的图像照度偏低,有的图像光照过强等等,为了方便后续对图像的处理,必须先对所采集到的图像进行预处理,从而得到较理想的图像。针对不同情况所采集到的图像,根据光照情况可以分为四类:低照度图像、强照度图像、正常照度图像以及阴雨雪雾天气图像,按照这四种不同类型的图像,分别采取不同的措施来处理。 [0216] 如图5A、5B所示为图像预处理步骤的详细流程图。 [0217] 摄像装置1001实时的对捕获区6进行拍照,对于拍摄到的每幅图像,均执行步骤S2以其后的步骤。 [0218] 步骤S2进一步包括: [0219] 步骤S21,对于拍摄的图像进行灰度化。 [0220] 步骤S22,统计图像的平均灰度值和方差,判断图像的平均灰度值是否低于一最低阈值,如果是,该图像为低照度图像,执行步骤S25的低照度图像处理步骤,如果否,执行步骤23。 [0221] 该最低阈值为预先设置,该最低阈值为处于50-60之间的一个数值。 [0222] 步骤S23,判断图像的平均灰度值是否高于一最高阈值,如果是,该图像为强光照图像,执行步骤S24的强光照图像处理的步骤,如果否,该图像为正常光照图像,执行步骤S26。 [0223] 该最低阈值为预先设置,该最高阈值为处于150-160之间的一个数值。平均灰度值位于最高阈值与最低阈值之间的图像为正常光照图像。 [0224] 步骤S24,强光照图像处理。 [0225] 该步骤S24采用gamma变换的方式对该强光照图像进行亮度降低的处理。 [0226] 步骤S25,低照度图像处理。 [0227] 对于低照度图像,本发明采用非线性变换的方式进行处理,变换公式为: [0228] g(x,y)=f(x,y)+af(x,y)(255-f(x,y)) [0229] 其中,f(x,y)为原图像,(x,y)为图像中的像素点坐标,g(x,y)为处理之后的图像,a为低照度图像处理参数,该参数可取值0.01。 [0230] 步骤S26,对正常光照图像判断其方差是否大于一方差标准值,如果是,该图像为雨雪雾图像,执行步骤S27,如果否,可知该正常光照图像非雨雪雾图像,为正常图像,则不做任何处理。 [0231] 步骤S27,判断该正常光照图像的熵是否大于一阈值,如果是,该正常光照图像为雨雪图像,执行步骤S28的雨雪图像处理的步骤,如果否,该正常光照图像为雾图像,执行步骤S29的雾图像处理的步骤。 [0232] 熵是一个数学变量,通常用于表示信息量的大小,对于图像来说,熵表示图像的细节的多少,也就是图像所含信息量的多少。雨雪图像由于雨雪的存在,图像上的雨点和雪花在不同位置出现,使得图像的细节比较多,而雾的图像则因为雾的均匀分布而显得细节较少,所以可以通过熵来判别雨雪图像与雾图像。 [0233] 在一实施例中,对于灰度图像来说,选择图像的邻域灰度均值作为灰度分布的空间特征量,与图像的像素灰度组成特征二元组,记为(i,j),其中i表示像素的灰度值(0<=i<=255),j表示邻域灰度均值(0<=j<=255):令f(i,j)为特征二元组(i,j)出现的2 频数,N为图像的尺度,pij=f(i,j)/N,灰度图像的二维熵的计算公式为 [0234] 步骤S28,雨雪图像处理。 [0235] 该雨雪图像处理步骤使用图像序列中像素的光度测定模型来判断亮度的线性相关性,从而实现去除雨雪对图像的影响的目的。 [0236] 受雨雪天气影响所拍摄的图像具有如下的光度测定模型: [0237] 在当前为雨雪天气且背景固定不变情况下,对同一位置连续拍摄的三帧图像(n-1、n、n+1帧)中,同一像素点P的像素亮度值In-1、In、In+1,满足如下条件: [0238] 第n-1帧的亮度值In-1与第n+1帧的亮度值In+1是相等的,并且在第n帧中由雨雪引起的亮度变化值ΔI满足以下条件: [0239] ΔI=In-In-1=In-In+1≥c [0240] c代表由雨雪引起的亮度变化最小阈值。 [0241] 故而,在步骤S28中,进一步包括: [0242] 步骤S281,利用光度测定模型寻找被雨雪污染的待处理像素。 [0243] 即,对当前图像n的像素点P,判断In-1与In+1是否相等,且,ΔI是否大于等于c,如果两个判断的结果均为是,则认为该图像n的像素点P是待处理像素。对图像n中的所有像素均进行上述判断,直至找到所有待处理像素。 [0244] 步骤S282,对待处理像素进行亮度调节。 [0245] 步骤S282进一步包括: [0246] 步骤S2821,对于图像n的待处理像素P,提取与该图像n相邻的前两帧(n-1、n-2)图像和后两帧(n+1、n+2)图像的相应像素P的亮度值,判断所提取的四帧图像的像素P是否均为待处理像素,如果是,执行步骤S2822,如果否,执行步骤S2823。 [0247] 步骤S2822,取该待处理像素P的所有相邻像素的亮度值的平均值,用该平均值代替图像n的待处理像素P的亮度值,以消除雨雪对图像亮度的影响。 [0248] 步骤S2823,对于图像n的待处理像素P,提取与该图像n相邻的前两帧(n-1、n-2)图像和后两帧(n+1、n+2)图像的相应像素P的亮度值,共提取四帧图像的同一像素点的亮度值,取其中最小的两个亮度值,用这两个亮度值取平均值,用该平均值代替图像n的待处理像素P的亮度值,以消除雨雪对图像亮度的影响。在又一实施例中,可直接利用四帧图像的同一像素点的亮度值中的最小值代替图像n的待处理像素P的亮度值。 [0249] 该步骤S2821以及步骤S2823中,还可提取图像n相邻的前后一帧或三帧或更多图像对应像素的亮度值。 [0250] 步骤S29,雾图像处理。 [0251] 步骤S29的雾图像处理步骤可以使用同态滤波,以消除雾对图像亮度的影响。 [0252] 具体地,对图像f(x,y),将其表达成照明和反射两部分乘积形式: [0253] f(x,y)=i(x,y)r(x,y) [0254] 其中0≤i(x,y)≤+∞为照明分量,0≤r(x,y)≤1为反射分量,在对其两边取自然对数,得到: [0255] lnf(x,y)=lni(x,y)+lnr(x,y) [0256] 再进行傅里叶变换,得到: [0257] F(u,v)=I(u,v)+R(u,v) [0258] 对F(u,v)使用同态滤波器函数H(u,v)进行处理: [0259] S(u,v)=H(u,v)F(u,v)=H(u,v)I(u,v)+H(u,v)R(u,v) [0261] [0262] 如图6所示为同态滤波器函数的曲线示例图。 [0263] 再进行傅里叶逆变换: [0264] s(x,y)=F-1[H(u,v)I(u,v)]+F-1[H(u,v)R(u,v)] [0265] 最后做指数运算,得到处理结果: [0266] g(x,y)=exp(s(x,y)) [0267] g(x,y)为经过雾图像处理步骤后得到的结果。 [0268] 每一帧经过步骤S3所述预处理步骤处理过的图像,获得了较高的画面质量,可以据以进行后续的步骤。 [0269] 步骤S2之后执行步骤S3,飞机捕获步骤。 [0270] 该飞机捕获步骤至关重要,如果未捕获到飞机,那么后续的一切操作将不会执行。因此,快速、准确捕获是完成泊位飞机引导任务的基础和前提。一个快速、准确的捕获算法能够为后续的飞机机型识别、跟踪和引导提供更准确的信息和更多的处理时间。为了实现快速、准确的泊位飞机捕获,获得一个稳定的目标区域,整个捕获过程都只在场景定义中的捕获区6内进行,避免了在整幅图像中进行泊位飞机捕获操作,降低了计算量,有利于飞机捕获的快速实现。在捕获区内,首先进行变化检测,提取出运动物体区域,然后再对提取出的运动物体区域进行分类判断是否为泊位飞机,以实现泊位飞机的准确捕获。 [0271] 具体来说,为了实现对入坞飞机的捕获,需持续对步骤S2中经过预处理的图像进行分析,并从中准确识别出飞机是否已出现。 [0272] 步骤S3进一步包括: [0273] 步骤S31,背景消除步骤。 [0274] 步骤S32,阴影消除步骤。 [0275] 步骤S33,区域分类步骤。 [0276] 步骤S34,特征验证步骤。 [0277] 飞机存在于图像的前景中,为了准确的从图像中捕获到飞机,首先需要去除图像中的背景,消除干扰。 [0278] 步骤S31的背景消除步骤是利用单高斯背景模型来模拟场景中背景的动态分布并进行背景建模,然后将当前帧与背景模型作差分以消除背景,背景消除流程图见图7A。 [0279] 步骤S31进一步包括: [0280] 步骤S311,背景模型初始化。 [0281] 本发明采用的是单高斯背景模型,单高斯背景模型是把背景模型中的每一个像素都看成是一个一维正态分布,而且每个像素之间是相互独立的,其分布由正态分布的均值和方差来确定。 [0282] 利用经过步骤S2处理的连续的N帧图像进行背景模型的训练,以确定高斯分布的均值和方差。该N帧图像拍摄到的是,在飞机未出现在捕获区6时,捕获区6的场景,该N帧图像也就是背景图像。该N帧图像所拍摄到的位置均相同。该N帧图像可例如为摄像装置1001拍摄的50帧图像。 [0283] 计算该连续的N帧图像f(x,y)中每一个像素的平均灰度值μ0以及像素灰度的方差 由μ0和 组成具有高斯分布η(x,μ0,σ0)的初始背景图像B0, [0284] 其中: [0285] [0286] 此后为每帧图像的每个像素点建立高斯模型η(xi,μi,σi)。其中,下标i表示图像的帧序号,xi为像素点的当前像素值,μi为当前像素点高斯模型的均值,σi为当前像素点高斯模型的均方差。 [0287] 随后对η(xi,μi,σi)进行判断,若η(xi,μi,σi)≤Tp(Tp为概率阈值,或称前景检测阈值),则该点被判定为前景点,否则为背景点(这时又称xi与η(xi,μi,σi)匹配)。所收集到的背景点组成背景模型,完成背景模型初始化。 [0288] 在实际应用时,也可以用等价的阈值代替概率阈值Tp。记di=|xi-μi|,在常见的一维情形中,则常根据di/σi的取值来设置前景检测阈值:若di/σi>T(T值在2到3之间),则该点被判定为前景点,否则为背景点。 [0289] 步骤S312,背景模型更新。 [0290] 若在步骤S311完成后,场景发生变化,则背景模型需要响应这些变化,此时就要对背景模型进行更新。 [0291] 利用摄像装置1001在场景发生变化后拍摄的连续图像提供的实时信息对背景模型进行更新,如下式: [0292] [0293] 其中α为更新率,表示背景模型更新的快慢程度,若该像素为背景,则更新率α取0.05,若该像素为前景,则更新率α一般取0.0025。 [0294] 若在步骤S311完成后,场景未发生变化,则直接执行步骤S313。 [0295] 步骤S313,摄像装置1001拍摄的当前帧图像经步骤S2处理后,与该背景模型做差分,以得到该当前帧图像的前景区域。 [0297] 在消除了图像中的背景之后,为准确的捕获飞机,还可进一步消除图像中的阴影。 [0298] 在步骤S32的阴影消除步骤中,首先统计经过步骤31的处理而得到的前景区域中各像素的灰度值,找出最大灰度值gmax和最小灰度值gmin,并针对较低灰度值的区域进行阴影消除。该较低灰度值的区域为灰度值小于 [0299] gmin+(gmax-gmin)*0.5的区域。 [0300] 每帧图像包括前景区域和背景区域,而前景区域和背景区域可能重合,则前景区域中的像素,在背景区域的同一位置点可能具有对应的背景像素。 [0301] 在该较低灰度的区域中,求取每个像素与对应的背景像素之间的灰度比值,若这一比值在0.3与0.9之间,则这个像素被认为是阴影点。 [0302] 接着通过多次形态学腐蚀和膨胀操作,除去阴影点集合中的非阴影区域,从而得到阴影区域。 [0303] 从前景区域中去除该阴影区域,再通过多次形态学膨胀和腐蚀操作消除需要的前景区域中的空洞以及把各个区域连通起来,得到了目标区域。该目标区域对应着出现在捕获区6的物体,可能为飞机,也可能为车辆等其他物体。 [0304] 在步骤S33的区域分类步骤中,事先建立一个标准正面飞机区域的模板,由于飞机具有两边窄中间宽的特性,故而该模板可用于区别飞机与非飞机。 [0305] 经过变化检测提取该目标区域,并求取该目标区域的垂直投影曲线。随后,求取该标准正面飞机区域的垂直投影曲线。判断该目标区域的垂直投影曲线与该标准正面飞机区域的垂直投影曲线的相关系数是否大于一分类阈值,如果是,该目标区域对应一飞机,继续执行步骤S34;如果否,该目标区域对应的不是一飞机。该分类阈值例如为0.9。 [0306] 步骤S33仅通过外形轮廓大致确认目标区域是否为飞机,之后还需要通过步骤S34的特征验证步骤来进一步确认,该目标区域是否的确为飞机。该特征验证步骤是通过检测捕获到的飞机的引擎和前轮来进一步验证该目标是否为飞机。 [0307] 步骤S34进一步包括: [0308] 步骤S341,图像极黑区域提取。 [0309] 对当前帧图像的目标区域进行灰度直方图统计,在灰度级1%~99%的范围内(通常也就是2~253的灰度级)获取最大(gmax)灰度值和最小(gmin)灰度值,获得像素数不为0的最大(gmax)灰度值/最小(gmin)灰度值这一灰度值比值,通过该比值判断是白天还是夜晚。结合该比值使用预设的阈值提取图像中最黑的部分,得到一幅极黑区域。 [0310] 具体来说,使用阈值BlackestJudge(极黑判定阈值),来提取图像中灰度值在gmin到(gmax-gmin)*BlackestJudge+gmin之间的区域,也就是图像中最黑的部分,得到一幅极黑区域。 [0311] 而根据最大(gmax)灰度值和最小(gmin)灰度值的比值可以判断图像处于白天还是夜晚,当该比值大于一标准值时属于白天,该极黑判定阈值选择0.05,否则属于夜晚,该极黑判定阈值选择0.5。 [0312] 一幅典型的极黑区域示意图见图7B,图中的各个图形内部是极黑区域。 [0313] 步骤S342,类圆形检测。 [0314] 提取该极黑区域的所有外层边界,对每一个边界,计算其重心坐标。 [0315] 具体地,使用边界的矩计算边界的重心,边界的第ji阶矩mji定义如下: [0316] [0317] (x,y)为像素点的坐标值,f(x,y)为该极黑区域的图像。 [0318] 重心坐标可由00、10、01阶矩计算得到: [0319] [0320] 对于当前边界的所有像素点,计算其与重心的距离,若计算得到的最大距离与最小距离的比值超过了一预设值(优选为1.5的圆形判定阈值circleJudge),则判定该边界所对应的区域不是圆形,若计算得到的最大距离与最小距离的比值未超过了该预设值,则判定该边界所对应的区域是圆形。依据这一规则对所有边界完成判定。 [0321] 对于认定为圆形的区域(简称类圆形区域),记录其重心坐标、边界到重心的平均距离(即半径),以进行后续步骤S343的相似度判定。 [0322] 步骤S343,相似度判定。参见图7C所示为相似度判定的流程示意图。 [0323] 步骤S343进一步包括: [0324] 步骤S3431,通过对类圆形区域的相似度计算,检测该类圆形区域中是否存在引擎,如果是,执行步骤S4,如果否,执行步骤S3432。 [0325] 假设一共检测到了M个类圆形区域,其中第i个类圆形区域和第j个类圆形区域的相似度的计算公式为: [0326] Similarityij=|Heighti-Heightj|*|Radiusi-Radiusj| [0327] 其中Height为重心高度,Radius为边界到重心的平均距离(即半径)。 [0328] 当相似度Similarityij小于相似度阈值similarThresh(优选预设为40)时,则认为类圆区域i和j为引擎区域。如果没有一个Similarityij小于阈值similarThresh,则视为未检测到引擎区域,执行步骤S3432。 [0329] 步骤S3432,调整阈值,重新执行步骤S341、342、3431,如果仍未检测到引擎区域,执行步骤S3433。 [0330] 将阈值BlackestJudge、circleJudge、similarThresh分别增大,增加量可分别优选取0.05、0.5、20,再进行极黑区域提取、类圆形检测和引擎检测的步骤。如果仍未检测到引擎区域,执行步骤S3433。 [0331] 步骤S3433,对所有的极黑区域使用圆形模板进行形态学处理的开操作,重新执行步骤S342、3431。 [0332] 该圆形模板可优选为7*7的圆形模板,开操作后再进行步骤S342的类圆形检测和步骤S3431的引擎检测,如果仍未检测到引擎区域,迭代执行步骤S3432。 [0333] 如迭代N次后仍未检测到引擎区域,判定图像中并无引擎。N可优选为2次。 [0334] 在对后续帧图像进行检测时,若其前一帧图像使用的迭代步数为n,则直接从第n-1步开始迭代。 [0335] 步骤S344,前轮检测。 [0336] 将步骤S343中检测到的引擎圆心的连线作为底边,底边下方4个半引擎高度的矩形区域为搜索区域。 [0337] 在搜索区域中,将256级的灰度级量化至64级,256级灰度的灰度直方图示例图见图7D,量化后的64级灰度的灰度直方图示例图见图7E。 [0338] 以图7E为例,搜索量化后为64级灰度的灰度直方图中的第一个波峰3001和第一个波谷3002。 [0339] 设量化后的第一个波峰位置为peak,第一个波谷位置为valley,则原始256级灰度的灰度直方图中的最优波峰位置BestPeak、最优波谷BestValley位置定义如下: [0340] [0341] [0342] 其中hist256(i)为256级灰度的灰度直方图中,灰度为i的像素总数。 [0343] 以此最优波谷BestValley对灰度进行分割,对小于最优波谷BestValley的部分,除去面积较小的杂点,使用一个扁平椭圆型结构元素对图像进行闭操作,效果示例图如图7F。 [0344] 接着对经过闭操作后的所有图形计算其边界的7阶Hu矩特征,并与预置的标准前轮模型的Hu矩特征进行比对(关于HU距特征:几何矩是由Hu(Visual pattern recognition by moment invariants)在1962年提出的,具有平移、旋转和尺度不变性。Hu利用二阶和三阶中心距构造的7个不变距。故此,7阶Hu距特征的7阶是唯一确定的),当相似度低于一阈值(优选取值1)时则判定为轮子。这样会得到多组轮子的位置,中间靠下的轮子即为前轮。 [0345] 一旦确认检测到引擎和前轮即可认为捕获成功,直到捕获成功才能继续执行步骤S4。 [0346] 步骤S4,飞机跟踪步骤。 [0347] 该步骤中,为实现对飞机实时定位并准确得到飞机相对引导线的偏离程度,根据引擎外壁和内部之间亮度的巨大差异和引擎的圆形结构,提取引擎的位置和半径,然后通过空间位置关系找到飞机前轮,对飞机进行定位。 [0348] 具体而言,在实现对飞机的捕获后,摄像装置1001继续进行图像拍摄。则在上一帧图像已经实现了飞机捕获后,对于当前帧图像,在执行过步骤S2的图像预处理步骤后,直接执行步骤S4,或者,执行过S2、S3后,执行步骤S4。 [0349] 由于利用步骤S34的特征验证的方法已经获得了上一帧图像的引擎位置,则当前帧图像的引擎位置只会进行微小的移动,因此并不需要对全图进行重新检测,只在一个较小的扩展区域进行当前帧的引擎提取,上一帧的参数(BlackestJudge,circleJudge)将可以用于当前帧的目标检测。 [0350] 如图8A所示为飞机跟踪步骤的流程示意图。 [0351] 步骤S41,判断是否有上一帧的引擎信息,如果是,执行步骤S42,如果否,执行步骤S46。 [0352] 步骤S42,利用洪水填充法确定引擎位置。 [0354] 在天色阴暗或低照度时,引擎边界的灰度值可能不会比中心高太多,加上一些噪声点,可能使洪水填充法可能出现溢出,导致结果无效,使得到的引擎区域明显过大,且不再是圆形,故而,继续执行步骤S43。 [0355] 步骤S43,判断步骤S42的填充结果是否有效,如果是,执行步骤S46,如果否,执行步骤S44。 [0356] 步骤S44,阴暗环境检测跟踪步骤。 [0357] 该步骤中,直接使用处理上一帧图像时所采用的参数,重新执行步骤S341和342,检测引擎区域。 [0358] 步骤S45,判断检测结果是否为有效,如果是,输出引擎区域的信息,如果否,将该上一帧的引擎信息置空,执行步骤S41。 [0359] 步骤S46,直接执行步骤S34的特征验证步骤,并输出引擎区域的信息。 [0360] 执行步骤S46的情况在一组飞机泊位的图像序列中不能超过两次。另外,在连续使用步骤S44的阴暗环境检测跟踪步骤检测特定帧图像(例如20帧)之后,无论检测结果如何,都将使用步骤S34的特征验证步骤进行检测。 [0361] 步骤S47,前轮跟踪步骤。 [0362] 在获取到引擎区域的信息之后,在本步骤中,使用步骤S344的前轮检测的方法检测飞机前轮,以用于后续的飞机定位步骤。 [0363] 步骤S48,前轮跟踪应急处理步骤。 [0364] 当步骤S47中得到的检测结果明显不正确时,即,判定为轮子的区域存在形状不正确、位置与之前5~10帧相比发生明显偏离的问题时,根据上一帧和当前帧的信息,利用相邻两帧引擎的位移对该帧的前轮位移进行估计,将估计结果作为前轮跟踪结果返回。 [0365] 步骤S5,飞机定位步骤。该步骤用于产生正确的泊位引导信息。 [0366] 步骤S5进一步包括: [0367] 步骤S51,摄像装置标定与图像矫正步骤。 [0368] 步骤S52,飞机前轮偏离程度解算步骤。 [0369] 步骤S53,飞机前轮实际距离解算步骤。 [0370] 步骤S51的摄像装置标定过程就是确定摄像装置1001的几何和光学参数、摄像装置1001相对于世界坐标系的方位。 [0371] 摄像装置标定基于OpenCV实现,标定过程采用黑白相间的平面棋盘格作为标定模板。摄像装置1001需在不同的角度抓取多张平面标定模板的图片,来实现对摄像装置1001的标定。为了使标定的结果更加精确,标定过程中至少需要10副7*8或更大棋盘的图像,并且需要抓取尽量多的不同角度的标定图片。实现的流程如下: [0372] 步骤S511,读取N幅标定图片。 [0373] 步骤S512,使用OpenCV的函数cvFindChessboardCorners()寻找棋盘角点,将读取的N幅标定图片分别代入cvFindChessboardCorners()函数,如果寻找到所有的角点,则函数返回1表示成功,并得到角点在图像坐标系下坐标;如果不成功则返回0。 [0374] 步骤S513,如果寻找角点成功,则将角点在标定模板上的坐标代入函数cvCalibrateCamera2()中,返回得到摄像装置1001的参数矩阵、畸变系数、旋转向量和平移向量。 [0375] 由于实际的镜头有不同程度的畸变,主要是径向畸变,也有轻微的切向畸变。故而在函数cvCalibrateCamera2()返回的畸变系数中包含了径向畸变系数和切向畸变系数,将它们带入OpenCV的函数cvUndistort2(),即可在数学上去掉透镜畸变。 [0376] 步骤S52的飞机前轮偏离程度计算是用于判断飞机前轮是否处于引导线上,或者,相对于引导线偏左或偏右。 [0377] 通过步骤S47的前轮跟踪步骤的结果可以得到前轮的位置坐标点,则通过场景定义可以得到引导线、停止线等的相关位置信息,于是利用代数中点与直线之间关系的知识,即可实现对飞机前轮偏离程度的判断。具体可包括: [0378] 通过前轮跟踪的结果得到前轮的位置坐标点(x0,y0),通过场景定义得到引导线上任意两点坐标(xG1,yG1)、(xG2,yG2)和停止线上任意两点坐标(xS1,yS1)、(xS2,yS2)。如果引导线中两点的x坐标满足:xG1=xG2,则不能用点斜式表示引导线41的直线方程1,此时直线方程1为:x1=xG1,直线的斜率k1→∞;当xG1≠xG2时,直线方程1为:y1=k1x1+b1。同理,求得停止线42的直线方程2为:y2=k2x2+b2,所述位置坐标点到直线的距离为,坐标系的建立是在图像上,依照摄像装置1001的安装位置可知,从左到右为x轴,从下到上为y轴,使用修改后的点到直线的距离方程: [0379] [0380] 不同于常用的距离方程,该方程得到的结果可正可负。将当前飞机前轮的坐标点(x0,y0)代入两个直线方程分别求得d1和d2: [0381] [0382] [0383] d2≥0表示飞机前轮超出停止线41,d2<0表示飞机前轮未到达停止线41,此时若k1>0(其中包括了k1→+∞的情况),d1>0则表示飞机偏左,d1<0表示飞机偏右;若k1<0,则d1<0表示飞机偏左,d1>0表示飞机偏右,该偏左、偏右均以飞机驾驶员的视角确定。更进一步的,为了使算法不会过于敏感,任何d1≠0的情况都得出“偏离引导线”的结论,可加入判断条件|d1|>width/2,width为一阈值,该阈值可取等于检测的飞机前轮的宽度,当满足该判断条件时,才认为飞机已经偏离引导线。 [0384] 由参数判定偏离情况见表1。 [0385] [0386] 步骤S53的飞机前轮实际距离解算步骤,用于实时解算飞机距离停止线的真实距离。 [0387] 首先建立图像坐标与大地坐标的对应关系。在场景中紧邻引导线处铺设黑白相间的标尺,随后在场景定义中根据标尺,每隔最大间隔1m描点得到标记点,并记录每个标记点在实际场景中距离第一标记点的距离。 [0388] S1中的场景设置的标记点的坐标都是图像坐标,以间隔1m的20个点为例,分别为:{point1,point2,...,point20},求得每个点相对停止线上的终点(point1)的相对坐标:{relativepoint1,relativepoint2,...,relativepoint20},其中relativepoint1的坐标为(0,0),每个点距离终点relativepoint1的距离为{dis1,dis2,...,dis20},每个点距离终点point1的实际距离又分别为:{0m,1m,...,19m},这样得到了{dis1,dis2,...,dis20}与{0m,1m,...,19m}的一一对应关系。 [0389] 因为地面上等间距的点在图像中的表现应为二次曲线关系,即随距离的增大,两点间距呈等差数列,所以采用最小二乘法对所描的点进行二次曲线拟合,得到曲线方程y2 =ax+bx+c,x是图像上的距离,y是实际距离,实际距离与图像距离的对应点及拟合曲线示例图如图9,图中横轴是实际距离,单位为m,纵轴是图像距离,单位为像素; [0390] 对于飞机前轮在图像上的位置,沿所述停止线方向将其投影到所述引导线上,计2 算投影点到停止点的欧氏距离作为x,代入方程y=ax+bx+c求得y,得到飞机前轮到停止线的实际距离(单位m)。据此产生正确的泊位引导信息。 [0391] 在飞机进入站坪前,机场向所述基于机器视觉的飞机入坞引导和机型识别系统发送机型信息,执行完步骤S3之后,接下来即可执行的步骤S6,飞机识别及身份验证步骤就是通过对图像的分析来验证这一机型信息。也就是说,步骤S4、S5可以与步骤S6同步执行。 [0392] 参见图10A所示为飞机识别及验证算法流程图。图10B为分层图像结构示意图。优选采用由粗到精的多级视觉特征的检测方法来检测飞机轮廓,具体包括: [0393] i=0时原始图像S0具有最高的分辨率,随着i的增大图像分辨率下降,而i=L时图像SL的分辨率最低,分层图像结构示意图见图10B。在噪声较大的环境(例如雨雪雾天气、夜晚等),采用较低分辨率的分层图像,而在天气晴朗的条件下,采用较高分辨率的分层图像以获得更高的精度。在低分辨率图像中获取飞机区域后再映射回原始图像S0之后,可以得到边缘具有马赛克效果的区域分割结果。 [0394] 该由粗到精的多级视觉特征的检测方法用于在天气不好的情况下,比如雨雪雾天合夜晚,图像的噪声会变大,因此降低分辨率可以提高检测的效果,然后再映射会最大分辨率,进行飞机机型的识别验证。是在恶劣环境下检测飞机特征的一个方法,系统自动根据图像质量分析最佳的分辨率,以提取飞机轮廓。 [0395] 步骤S6具体包括: [0396] 步骤S61,参数验证。 [0397] 步骤S62,模板匹配。 [0398] 步骤S63,综合判断。 [0399] 其中,步骤S61进一步包括: [0400] S611,提取飞机引擎参数,并与预置于系统的数据库中对应机型的飞机引擎参数进行比对。 [0401] 其中,提取飞机引擎参数的步骤可具体采用前述步骤S341-S343来实现。提取的飞机引擎参数以像素为单位即可。 [0402] 计算提取到的飞机引擎参数中的飞机引擎半径与系统所收到的机型信息在机场机型参数数据库中所对应的引擎半径数据的比值,该比值称为第一比值。 [0403] 步骤S612,提取飞机机翼参数,并与预置于数据库中对应机型的飞机机翼参数进行比对。 [0404] 该提取飞机机翼参数的步骤包括: [0405] 步骤S6121,使用Canny算子提取飞机图像的边缘。飞机图像边缘示例图见图10C。 [0406] 步骤S6122,提取飞机图像边缘像素点,沿远离飞机的登机桥一侧(图10C中为左侧)的飞机引擎中轴向上枚举像素点,对每个像素点,各画多条斜率倾角为0-20°的直线,统计每条所述直线所经过的Canny边缘像素点数; [0407] 步骤S6123,确定飞机机翼边缘,取经过边缘像素点数最多的两条直线作为飞机机翼的边缘。 [0408] 步骤S6124,确定飞机翼尖,取翼尖周围区域的边缘像素,作为翼尖特征记录下来。 [0409] 机翼轮廓与引擎轮廓示例图见图10D。 [0410] 步骤S6125,参数比对,通过翼尖位置测量飞机机翼的长度,计算该飞机机翼的长度与系统所收到的机型信息在机场机型参数数据库中所对应的机翼长度数据的比值,该比值称为第二比值。 [0411] 步骤S613,提取飞机机头特征参数,并与预置于数据库中对应机型的飞机机头特征参数进行比对。 [0412] 步骤S6131、确定飞机机头边界,通过已经确定的飞机引擎参数,确定飞机的中轴位置,枚举中轴上的点作为圆心,枚举2至4倍所述飞机引擎半径的长度为半径画圆,取经过Canny边缘像素点最多的圆作为飞机机头的边界。 [0413] 步骤S6132、确定飞机机头窗。 [0415] 步骤S6133、参数比对,测量飞机机头半径,计算飞机机头半径与系统所收到的机型信息在机场机型参数数据库中所对应的飞机机头半径的比值,该比值称为第三比值。测量到的该飞机机头半径以像素为单位即可。 [0416] 步骤S614,提取飞机尾翼参数,并与预置于数据库中对应机型的飞机尾翼参数进行比对。 [0417] 步骤S6141,利用深度优先搜索的方法,沿所述飞机机头的边界的上边缘寻找突起的部分为飞机尾翼。 [0418] 步骤S6142,参数比对,测量所述飞机尾翼高度,以像素为单位即可,计算飞机尾翼高度与系统所收到的机型信息在机场机型参数数据库中所对应的飞机尾翼参数的比值,该比值称为第四比值。 [0419] 步骤S615,取第一比值、第二比值、第三比值、第四比值这四者中的最小值以及最大值,将最小值/最大值,作为机型相似度参数,作为系数1。 [0420] 所述模板匹配步骤S62包括: [0421] 步骤S621,全局模板匹配,以当前拍摄的整幅图像为被搜索图像,以系统的数据库中的标准飞机图像为模板,计算全局模板相似度参数,以该全局模板相似度参数作为系数2。 [0422] 图10E为被搜索图像S、子图Sij、模板T的示意图。具体地,全局模板匹配计算过ij程为:被搜索图像S,图中标记6001,宽高为W*H。被搜索图像S的子图S ,图中标记6002,宽高为n*m,距离图左边缘j个像素,距离图下边缘i个像素。模板T,图中标记6003,宽高ij 为n*m。模板T与子图S 的相似度参数R(i,j): [0423] [0424] M为子图Sij在高度方向能够取得的最大值,N为子图Sij在宽度方向能够取得的最大值。 [0425] 在所有结果R(i,j)中找出R(i,j)的最大值Rmax(im,jm),其对应的子图Sij即为ij匹配目标,Rmax(im,jm)也就是该子图S 的全局模板相似度参数。 [0426] 步骤S622,局部模板匹配,分别以步骤S61中提取得到的所述飞机引擎、飞机机翼、飞机机头和所述飞机尾翼位置为被搜索图像,分别以系统所收到的机型信息在机场机型参数数据库中所对应的标准飞机图像的引擎、机翼、机头和尾翼为模板,利用步骤S621中的计算公式,分别计算出所述飞机引擎、飞机机翼、飞机机头和所述飞机尾翼的4个相似度参数R,去掉所述4个相似度参数中的最小值,计算所述4个相似度参数中其余3个相似度参数的平均数为局部模板相似度参数,以该局部模板相似度参数作为系数3。 [0427] 系数1、2、3可以提供至融合模块3000与激光扫描子系统2000得到的数据进行融合。但是,机器视觉子系统1000也可以独立的获得身份验证的结论,此时继续执行步骤S63。 [0428] 步骤S63,综合判断,系数1、2、3中至少有2个大于等于一第一验证阈值(例如0.85),或,系数1、2、3全部大于一第二验证阈值(例如0.7)时,当前所拍摄到的飞机与预先获得的该机型信息相符,通过身份验证,否则验证失败。 [0429] 以下首先详细介绍激光扫描子系统2000的详细运行方式。 [0430] 图11公开了激光扫描子系统2000的结构示意图。激光扫描子系统2000设置在停止线42后方,引导线41的延长线上的正对机头的位置。飞机沿引导线41行进。 [0431] 以引导线41和停止线42的交点为零点;以垂直引导线41且平行地面的方向为x轴方向,正方向为飞机入坞的方向的左手方向;以平行地面且平行引导线41方向为y轴方向,正方向和飞机入坞的方向相反;以垂直地面且垂直引导线的方向为z轴方向,正方向为垂直地面向上。 [0432] 与机器视觉子系统1000相同的,激光扫描子系统2000也需执行飞机泊位场景配置步骤,执行过程与前述步骤S1相同,在此不赘述。 [0433] 激光扫描子系统2000包括激光测距装置2001、水平激光扫描装置2002、垂直激光扫描装置2003、扫描控制装置2004和信息处理单元2005。 [0434] 该激光测距装置2001、水平激光扫描装置2002、垂直激光扫描装置2003和信息处理单元2005均分别与扫描控制装置2004连接,信息处理单元2005还与显示设备4000连接。 [0435] 该信息处理单元2005、中央处理设备1002以及视觉信息和激光信息融合单元3000可设置在同一具有处理能力的装置中,或者,三者分别设立。 [0436] 激光测距装置2001用于发射激光和接收碰触到障碍物而返回的激光,同时测量激光发出点与障碍物之间的距离,得到测距值。激光扫描装置采用水平、垂直的双振镜结构,即,该水平激光扫描装置2002包括水平扫描步进电机2002.1和水平反射镜2002.2,垂直激光扫描装置2003包括垂直扫描步进电机2003.1和垂直反射镜2003.2。通过在扫描过程中,水平扫描步进电机2002.1的转动角度α,垂直扫描步进电机2003.1的转动角度β和激光测距装置2001获得的激光测距数据l,可以得到空间某个点的极坐标。 [0437] 本发明中的水平方向的激光扫描指:水平扫描步进电机2002.1转动角度α,带动水平反射镜2002.2转动角度α,使得激光测距装置2001在水平方向进行测距。且垂直扫描步进电机2003.1不转动,仅水平扫描步进电机2002.1转动,同时激光测距装置2001不断地进行测距,得到水平方向上的一组测距数据,便是一次水平方向的激光扫描。 [0438] 本发明中的垂直方向的激光扫描指:垂直扫描步进电机2003.1转动角度β,带动垂直反射镜2003.2转动角度β,使得激光测距装置2001在垂直方向进行测距,且水平扫描步进电机2002.1不转动,仅垂直扫描步进电机2003.1转动,同时激光测距装置2001不断地进行测距,得到垂直方向上的一组测距数据,便是一次垂直方向的激光扫描。 [0439] 激光测距装置2001、水平激光扫描装置2002和垂直激光扫描装置2003组成了激光扫描子系统2000中的扫描系统。 [0440] 扫描控制装置2004接受信息处理单元2005的命令对扫描系统分别配置和发送控制命令,且将扫描系统的采集到的飞机入坞的相关数据传输至信息处理单元2005。信息处理单元2005对数据进行处理,可以独立的将处理后信息显示在显示设备4000上,飞行员可以依照显示设备4000上显示的飞机位置,对飞机行进方向进行调整。或者,信息处理单元2005将数据发送至视觉信息和激光信息融合单元3000,融合后再进行显示。 [0441] 为实时反映入坞飞机的位置信息,扫描系统和信息处理单元2005特点是快速和精确。 [0442] 图12所示为扫描系统的结构示意图。与图11对应的,扫描系统外壳11中至少容置有激光测距装置2001、水平激光扫描装置2002和垂直激光扫描装置2003。扫描系统外壳11上开设有激光发射窗12,水平激光扫描装置2002以及垂直激光扫描装置2003发出的激光均经由该激光发射窗12射出,以用于扫描被引导物体。激光发射窗12相对水平激光扫描装置2002以及垂直激光扫描装置2003的位置固定。 [0443] 在激光扫描子系统2000初次安装时,需要执行设备安装零点标定步骤,对扫描系统进行零点标定,特别是需要确定水平激光扫描装置2002激光水平射出方向的水平零点位置,以及,垂直激光扫描装置2003激光垂直射出方向的垂直零点位置。 [0444] 水平零点标定 [0445] 水平激光扫描装置2002和垂直激光扫描装置2003均安装在距离地面高度为H的地方。在标定水平零点位置时,垂直反射镜2003.2保持初始垂直扫描角度β0固定不变,水平扫描步进电机2002.1驱动水平反射镜2002.2向前方地面的一标定区域进行水平扫描,扫过的角度为α0,该标定区域例如为一条直线,该标定区域通常位于水平激光扫描装置2002的前下方,例如图13中的停止线42。在水平扫描过程中,激光测距装置2001实时获取该标定区域中各点的测距值。图14为水平零点标定的原理示意图。 [0446] 随后,信息处理单元2005将该标定区域等分为N个小区域,并对每个小区域的边界点进行测距,获得N+1个测距值Dn,n=0、1……N。 [0447] 从该N+1个测距值Dn中找出最小值Dmin,以具有最小值Dmin的边界点为中心,确定一扩展区域Dexe。例如,以具有最小值Dmin的边界点为中心,左右偏移预设长度或度数,得到该扩展区域。确定该扩展区域,即是为了确定水平零点可能存在的大致范围。 [0448] 对该扩展区域再次进行扫描,此次需以最小分辨率对该扩展区域进行细密的划分,并对划分得到的每个边界点进行测距,以其中的最小测距值所对应的点作为水平零点。 [0449] 垂直零点标定 [0450] 对垂直零点的标定需通过两次扫描实现。 [0451] 首先,水平激光扫描装置2002保持固定角度不同,垂直激光扫描装置2003在垂直扫描角度β1进行测距得到第一距离值L1。 [0452] 随后,水平激光扫描装置2002仍保持固定角度不同,垂直激光扫描装置2003的扫描角度上扬λ度,即,在垂直扫描角度β2进行测距得到第二距离值L2,β1、β2均为激光与水平线的夹角。 [0453] 图15为垂直零点标定的原理示意图,图15中以L1为斜边的直角三角形与L2为斜边的直角三角形共用一条直角边,该直角边为扫描系统距离水平地面的高度值。 [0454] 另外,β2=β1-λ,根据测量得到的L1、L2以及已知的λ值,再利用公式L1*sinβ1=L2*sin(β1-λ),可以得知β1。 [0455] 如此即可以确认以L1所在直线为斜边,以该斜边在地面投影PO为直角边,该斜边与该直角边PO的夹角为β1的直角三角形的直角顶点为垂直零点。 [0456] 至此,水平零点与垂直零点均已标定,零点标定结束。 [0457] 以上为基于激光扫描子系统2000初次实现设备安装时执行的标定,而每次扫描系统重新上电时,还需进行零点修正。 [0459] 选定激光发射窗12的边界为该参考物。在该设备安装零点标定步骤执行完毕后,该扫描系统从标定好的零点起逐步调整扫描角度直至扫描到一预设参照物,记录此时的扫描角度(αr,βr)作为修正角度。 [0460] 具体来说,水平扫描步进电机2002.1和垂直扫描步进电机2003.1从标定好的零点起步,以激光发射窗12的一预定角为例,例如左上角,垂直反射镜从初始角度逐渐上扬,并在每一个垂直扫描角度进行水平扫描,直到在某一垂直扫描角度获取符合预设长度的测距值,且当时的水平扫描角度与该激光发射窗12的左上角所在位置相对应,即当时的水平扫描角度的方向向左。则记录该垂直扫描角度βr与水平扫描角度αr作为修正角度,并将该修正角度固化为恒量进行记录。 [0461] 则当该扫描系统重新开机时,水平扫描步进电机2002.1和垂直扫描步进电机2003.1进行随机扫描,直至扫描到该预设参照物,则从当前扫描角度回调该修正角度,以找到该经过标定过的零点,使得后续的捕获、跟踪、引导过程具有更高的准确性。 [0462] 完成了前述的标定以及修正过程,基于激光扫描子系统2000开始执行捕获步骤。本发明的激光扫描子系统2000的飞机入坞引导方法,整体包括三个步骤:捕获步骤、引导步骤和跟踪步骤,一并参见图3所示。 [0463] 捕获步骤用于对飞机机头的预计出现位置进行水平方向的激光扫描,获取激光扫描的回波数据,根据一判断条件对该回波数据进行判断,以识别飞机是否出现。 [0464] 引导步骤用于在飞机出现后,对飞机机头进行水平方向的激光扫描,获取激光扫描的回波数据并据以判断飞机的机鼻位置; [0465] 跟踪步骤用于在飞机行进过程中,通过调整该激光扫描的垂直扫描角度,跟踪该机鼻位置。 [0466] 具体来说,对于捕获步骤,参阅图16所示,对于特定机位,通常已经预先分配好该机位将停靠的机型或特定的某架飞机,则应该停放的飞机的机鼻高度h是预先知道的,系统2000的安装高度为H,场景设置中系统2000距离捕获区的最远边缘的距离为s。 [0467] 在该捕获步骤中,扫描系统将对飞机机头的预计出现位置进行水平方向的激光扫描,获取激光扫描的回波数据,并根据一判断条件对该回波数据进行判断,以识别飞机是否出现。 [0468] 具体来说,飞机机头的预计出现位置为捕获区的最远边缘s、高度为飞机机鼻高度h的位置。则系统2000的垂直激光扫描装置2003的初始的垂直扫描角度β(与水平线的夹角)为: [0469] 图17所示为本发明的捕获步骤的流程示意图。 [0470] 步骤S101,扫描系统对飞机机头的预计出现位置进行水平扫描,获取回波数据。 [0471] 扫描系统不断获得同一行的数据,特别是同一行的测距值。在飞机出现前,扫描系统得到的数据应该是超过最远距离的错误返回,或者远大于边缘距离的结果。当飞机出现时,预计扫描系统获得的数据dis_predict是: [0472] [0473] 步骤S102,对回波数据进行统计。 [0474] 以回波数据中在dis_predict上下一定范围内的点为感兴趣的点,如在dis_predict±5m范围内的点为感兴趣的点。 [0475] 统计一次水平扫描所得到的一行数据中,感兴趣的点的总个数CountTotal。 [0476] 该行数据中既包括感兴趣的点也包括非感兴趣的点,寻找该行中连续出现的感兴趣的点,其中可能找到多段连续的感兴趣的点。从多段连续的感兴趣的点中,寻找拥有最小数据Lmin的那一段。该最小数据所对应的点可视为预计机鼻点。拥有最小数据Lmin的那一段的点的总个数为CountMin。 [0477] 步骤S103,判断CountMin/CountTotal是否大于一阈值,如果是,执行步骤S104,如果否,执行步骤S101。 [0478] 该阈值可例如为0.5,不以此为限。 [0479] 步骤S104,根据该回波数据的总数计算飞机宽度,判断该飞机宽度是否不小于一宽度阈值,如果是,执行步骤S105,如果否,执行步骤S101。 [0480] 由于每个机位已经预先分配给特定型号的飞机,故而该型号的飞机的各项参数均为已知。则此时可根据实际入坞飞机的宽度数据做进一步的判断,以识别当前入坞的飞机是否符合预定型号的参数要求,进而判断当前入坞的飞机是否是预先分配的该特定型号的飞机。 [0481] 计算当前入坞的飞机宽度width_cal。 [0482] width_cal=Lmin*sin(CountTotal*R) [0483] R为机型参数,由于机型已知,故而,机型参数也是已知的。根据特定机型,该机型参数可例如为0.1125°。 [0484] 判断飞机宽度是否符合width_cal≥width*0.7,width为该特定型号的飞机的飞机宽度。如果符合,执行步骤S105,如果否,执行步骤S101,继续进行扫描。 [0485] 步骤S105,计算飞机高度z,判断计算得到的飞机高度是否处于预定范围,如果是,执行步骤S106,如果否,执行步骤S101。 [0486] 与步骤S104类似的,此步骤继续对入坞飞机的高度数据进行判断,以精准识别当前入坞的飞机是否符合预定型号的参数要求,进而判断当前入坞的飞机是否是预先分配的该特定型号的飞机。 [0487] 飞机高度z即为机鼻高度。在第一次进行步骤S101的激光扫描时,所获得的回波数据中的Lmin所对应的点,即视为预计机鼻点。 [0488] z=H-Lmin*sinβ [0489] 判断飞机高度是否符合h-0.5m≤z≤h+0.5m。h为该特定型号的飞机的已知机鼻高度。 [0490] 如果符合,视为当前入坞飞机就是该特定型号的飞机,则继续执行步骤S106,如果不符合,执行步骤S101。 [0491] 步骤S106,判断飞机是否前行一特定距离,如果否,执行步骤S101,如果是,计算捕获到的飞机的预计机鼻点的三维坐标,并继续执行后续引导步骤以及跟踪步骤。 [0492] 该特定距离例如为10米。本发明从飞机进入捕获区开始,在行进10米范围内进行反复扫描并判断,一旦飞机符合特定机型并行进超过10米,获取飞机的预计机鼻点的三维坐标。飞机前行该特定距离即进入引导区。 [0493] 预计机鼻点的三维坐标可根据扫描系统的回波数据中Lmin所对应的点,以及与该点对应的垂直、水平激光扫描装置的偏转角度β、α进行换算。 [0494] x=Lmin*sinα*cosβ [0495] y=Lmin*cosα*cosβ [0496] z=H-Lmin*sinβ [0497] 在另一实施例中,在步骤S101与S102之间,还可包括一步骤S1011,预处理步骤。 [0498] 该预处理步骤用于在获取到该回波数据时,先对该回波数据进行中值滤波,再识别飞机是否出现。该预处理步骤也可以在任何一次收到回波数据时使用,对回波数据进行预处理后再执行后续步骤。 [0499] 数据预处理的主要目的是保证数据的有效性和实时性。其主要包含的内容是:杂散噪声点去除以及数据点坐标转换。在失真度不影响飞机位置信息判别的前提下,滤除回波数据中的杂散噪声点,以保证回波数据点的均匀性和可靠性。同时在保证精度的前提下,利用数据精简方法,将数据传输时间降低1/3。 [0500] 将步骤 S101所进行 的一 次扫描 所获 得的一 行数 据定义 为点 集P(d1,d2,d3,...,dN)。定义前向数据差Δd=dj-dj-1。 [0501] 对于连续曲面上的相邻点,Δd很小;由于存在噪声点,且假设该噪声点的值为dj,通常噪声点值与其相邻点dj-1和Δdj+1的两个差值Δd会较大。 [0502] 取排序模长s=5,即取中值排序点(dj-2,dj-1,dj,dj+1,dj+2)进行滤波,其中dj为噪声点。 [0503] 为区分噪声点和不同扫描平面上的点,需要对数据进行重排。对任意相邻激光点(dj-2,dj-1,dj,dj+1,dj+2),若dj的值和dj-1距离满足:|dj-dj-1|≥1m。则对(dj-2,dj-1,dj,dj+1,dj+2)重新从小到大排序后得到新序列(ds-2,ds-1,ds,ds+1,ds+2),将dj修改为新序列的中值ds(即dj=ds)。以此可达到滤除突变点dj并将其值修改为邻近点的值,其他值在原有序列中的位置和值都不变。 [0504] 中值滤波的主要步骤为: [0505] 1.逐次比较相邻数据点的距离值Δdj=dj-dj-1; [0506] 2.判 断每 个Δdj 是否 大 于设 定阈 值(1m),若 是则 提取 dj的 邻 域(dj-2,dj-1,dj,dj+1,dj+2); [0507] 3.对提取数据序列(dj-2,dj-1,dj,dj+1,dj+2)重新按数值从小到大排序后得到新序列(ds-2,ds-1,ds,ds+1,ds+2),并将用中间点值ds替代dj的值,其他值在原有序列中的位置和值都保持不变。 [0508] 为保证中值滤波的稳定性,在进行迭代开始时需要在初始化阶段将起始的两个值设定为相等且为0(d0=d1=0)。以此获得较稳定的中值滤波迭代。 [0509] 步骤S106后继续执行该引导步骤,如图19为所示引导步骤的流程示意图,该引导步骤进一步包括: [0510] 步骤S201,飞机进入引导区后,以预定垂直扫描角度扫描飞机的预计机鼻点位置,获得回波数据,从中截取落在机头的目标点,将该目标点从极坐标数据转换为三维空间数据。 [0511] 该目标点的选取规则与前述的感兴趣点的选取规则一致。 [0512] 步骤S202,从该目标点中提取Y方向最短的点作为最近点(Xd,Yd)。 [0513] 步骤S203,利用该目标点进行曲线拟合,获取曲线的顶点。 [0514] 假设落在机头上的目标点的点集为S(p1、p2…pi…pI),i为目标点的序号,I为目标点的总数。其中取每个目标点pi的X轴、Y轴坐标为(xi,yi),对所有目标点进行用二次多项式拟合,即 [0515] p(x)=a0+a1x+a2x2 [0516] 根据最小二乘法则,可以得到a0,a1,a2的值。 [0517] 求出二次曲线方程之后便可求出该曲线的顶点(X0,Y0),记该点的坐标为(xmin,ymin),该点为机鼻位置点。 [0518] 其中 根据(xmin,ymin)到目标点的点集S中去进行匹配,找到X轴Y轴数据与(xmin,ymin)一致的点,以(xmin,ymin)以及该点的Z轴数据共同组成机鼻位置的三维坐标(xn,yn,zn)。 [0519] 步骤S204,根据该最近点(Xd,Yd)的Xd值与该顶点的Xmin值的差值,确定该最近点以及该顶点中之一为该机鼻位置。 [0520] ΔX=∣Xd-Xmin∣ [0521] 判断ΔX是否小于一预设阈值,如果否,以(X0,Y0)为机鼻点,如果是,以最近点(Xd,Yd)为机鼻点。如此可准确的定位机鼻点。该预设阈值可以是50厘米。 [0522] 定位好机鼻以后,由于飞机不断运动,所以扫描系统需要实时更新飞机机鼻位置以随时确定飞机的实时位置。故而,步骤S204之后继续执行一跟踪步骤。如图20所示为飞机跟踪的俯视示意图。如图21所示为跟踪步骤的流程示意图。 [0523] 跟踪步骤包括: [0524] 步骤S301,以预定垂直扫描角度β扫描飞机的机鼻点位置,记录此时机鼻点到x轴的垂直距离Y10。 [0525] 步骤S302,随着飞机前进,保持当前垂直扫描角度不变继续进行水平扫描。 [0526] 步骤S303,通过定位算法找到当前机鼻点并记录机鼻点到x轴的垂直距离Y20。 [0527] 该定位算法为,在保持垂直扫描角度β进行水平扫描时,飞机在前进,则当前收到的回波数据中的最小的测距值也在逐渐减小,而飞机的外形是固定的,且数据已知,则根据收到的回波数据以及已知特定型号的飞机的外形数据,则可以判断出保持垂直扫描角度β进行水平扫描时所扫到飞机的具体位置,则借助特定型号的飞机的外形数据,通过换算可以知道当前的机鼻点所在位置。 [0528] 步骤S304,计算运动距离Y30=Y10-Y20。 [0529] 步骤S305,判断Y30是否满足给定的阈值范围要求,如果是,执行步骤S306,如果否,执行步骤S302。 [0530] 当Y10大于等于20米时,阈值设为5米,当Y10小于20米时,阈值设为1米,判断该Y30是否小于该阈值。 [0531] 步骤S306,判断飞机是否达到停止线,如果是执行步骤S308,如果否,执行步骤S307。 [0532] 步骤S307,在当前机鼻点处进行一次垂直扫描,得到飞机轮廓,找到飞机轮廓的抛物线顶点,从而计算出垂直扫描角度的改变量β’,同时,根据Y20计算垂直扫描角度的预计改变量β”,计算d=∣β’-β”∣,如果d满足改变量阈值要求,采用β’调整垂直扫描角度,如果不满足,采用β”调整垂直扫描角度,执行步骤S302。 [0533] 垂直扫描的步骤与步骤S203一致。 [0534] 其中, [0535] 步骤S308,持续跟踪预定时间,判断飞机是否继续移动。 [0536] 步骤S309,如果是,发出警报,执行步骤S306,如果否,停止跟踪。 [0537] 由此本发明可随时调整垂直扫描角度以随时扫描到机鼻点的实际位置,实现对机鼻点的跟踪。 [0538] 除上述步骤外,本发明在飞机进入机型识别与身份验证区后,还包括机型识别的步骤,如果在机型识别的步骤中发现当前飞机与该机位应当停放的飞机的机型不符,未通过对应的验证条件,则发出警示信息。机型识别包括:机鼻高度验证、机舱宽度验证、机头俯视轮廓验证、机头侧视轮廓验证和飞机引擎验证中的一种或几种。 [0539] 针对不同需求,可对上述验证条件进行分级,可以获得以下几个级别: [0540] Level1——验证机鼻高度和机舱宽度; [0541] Level2——验证机鼻高度,机舱宽度和机头俯视轮廓正确; [0542] Level3——验证机鼻高度,机舱宽度,机头俯视轮廓和机头侧视轮廓正确; [0543] Level4——验证机鼻高度,机舱宽度,机头俯视轮廓和机头侧视轮廓正确,以及飞机引擎个数正确,引擎间距离正确。 [0544] 安全等级越高,飞机机型验证和身份识别正确的条件越苛刻,也需要更多的时间。因此可以根据机场站坪引导线长度和飞机机型选择相应的验证等级。 [0545] 另外,扫描引擎的同时,也可以通过得到的位置和机鼻-引擎之间的相对位置关系,解算出机鼻的位置,以用于对飞机进行定位。 [0546] 该机鼻高度验证的过程等同于步骤S105。 [0547] 该机舱宽度验证的过程等同于步骤S104。 [0548] 该机头俯视轮廓验证包括:将水平方向的激光扫描获得的多个回波数据的三维数n据(xi,yi,zi)代入预设的机头的俯视轮廓方程y=f(x)。预设的机头的俯视轮廓方程对应通过机头机鼻的截面,且该截面和地面平行,该截面轮廓投影在地面上为一条曲线。水平拟合点误差为 水平拟合最大误差 设ΔDH=0.3m,若DH <ΔDH,则可认为机头的俯视轮廓验证通过,ΔDH为俯视验证阈值,i为回波数据的目标点的序号,n为俯视方程的拟合次数,一般取n=7。 [0549] 该机头侧视轮廓验证包括:将垂直方向的激光扫描获得的多个回波数据的三维数m据(xi,yi,zi)代入预设的机头的侧视轮廓方程z=g(y)。预设的机头的侧视轮廓方程对应通过机头机鼻的截面且该截面和地面垂直,在坐标系中将该截面轮廓投影在yoz平面上并对该曲面边界进行高次曲线拟合。垂直拟合点误差为 垂直拟合最大误 差 设ΔDV=0.3m,若DV<ΔDV,则可认为机头的侧视轮廓验证通过,ΔDV 为侧视验证阈值,i为回波数据的目标点的序号,m为侧视方程的拟合次数,一般取m=11。 [0550] 该飞机引擎验证包括: [0551] 步骤S41,根据该机鼻位置计算引擎位置,对该引擎位置进行水平方向的激光扫描以及垂直方向的激光扫描。 [0552] 由于应当停放于该机位的机型是确定的,故而机鼻位置与每个引擎位置的相对位置关系是确定的,根据机鼻位置可以换算出每个引擎位置。 [0553] 已知飞机机鼻和引擎中心的坐标差为(Δxn,Δyn,Δzn),已获取的机鼻坐标为(xn,yn,zn)。则理论引擎中心坐标为pegn(xn+Δxn,yn+Δyn,zn+Δzn)。调制激光垂直反射镜32的偏转角度,使激光可以扫描到该理论上的引擎中心,并进行水平扫描。 [0554] 步骤S42,将水平方向的激光扫描得到的回波数据转换到x-y-z三维坐标,寻找距离理论引擎中心最近的坐标点,并寻找与该最近的坐标点连续的点,得到一点集,点集中最左端和最右端的两个点的距离作为引擎宽度,该两个点的中点为引擎中心的水平坐标xegn。 [0555] “连续的点”要求是其中相邻点的距离不超过20cm。 [0556] 步骤S43,将垂直方向的激光扫描得到的回波数据转换到x-y-z三维坐标,寻找距离理论引擎中心最近的坐标点,并寻找与该最近的坐标点连续的点,得到一点集,点集中最上端和最下端的两个点的距离作为引擎高度,该两个点的中点为引擎中心的离地高度zegb。 [0557] 步骤S44,如果可以找到一组xegn和zegb,视为找到一个引擎,多次扫描不同的引擎可以获得引擎的个数negn。 [0558] 步骤S45,判断引擎的个数与预定个数是否一致,如不一致,视为飞机引擎验证失败。 [0559] 步骤S46,判断该引擎中心的水平坐标或该引擎中心的离地高度与标准值的差距是否超过阈值(例如30cm),如果是,视为飞机引擎验证失败。 [0560] 步骤S47,判断该引擎宽度或该引擎高度与标准值的差距是否超过阈值(例如20cm),如果是,视为引擎验证失败。 [0561] 视觉信息和激光信息融合单元3000针对机器视觉子系统1000、激光扫描子系统2000获得的泊位信息进行融合,该融合主要包括位置信息的融合步骤S3100和身份验证的融合S3200。 [0562] 步骤S3100:将机器视觉子系统通过步骤S5得到的飞机定位信息与激光扫描子系统得到的飞机位置信息融合为一个信息。 [0563] 步骤S3100进一步包括: [0564] 步骤S3101,计算由激光扫描子系统1000得到的飞机前轮位置与由机器视觉子系统2000得到的飞机前轮位置的坐标差距。 [0565] 机器视觉子系统2000通过步骤S344或步骤S43得到的飞机前轮位置。 [0566] 激光扫描子系统1000通过计算得到了机鼻位置,而机鼻到飞机前轮的水平距离为已知的固定值,故而,可根据机鼻位置推算该飞机前轮位置。 [0567] 步骤S3102,根据该坐标差距以及一融合规则,获得融合结果。 [0568] 该融合规则包括: [0569] 对于飞机前轮偏离引导线的情况:判断该坐标差距中的x轴(垂直于引导线的方向)的差距是否小于等于一阈值,该阈值可优选为20cm,如果是,该飞机前轮偏离引导线的情况直接选用该机器视觉子系统1000给出的数值,如果否,由激光扫描子系统2000得到的飞机前轮位置以及机器视觉子系统1000得到的飞机前轮位置,做平滑滤波后给出飞机前轮偏离引导线的情况。 [0570] 对于飞机前轮距离停止线的距离: [0571] 判断由激光扫描子系统得到的飞机前轮位置是否出现异常波动,如果否,取激光扫描子系统得到的飞机前轮位置作为飞机前轮距离停止线的距离,如果是,取之前N次(数十次)的由机器视觉子系统以及激光扫描子系统分别获得的飞机前轮位置,求其平均差距,采用本次机器视觉子系统得到的飞机前轮位置,加上该平均差距,作为飞机前轮距离停止线的距离。 [0572] 该异常波动包括水平方向变化过大(如20cm)、沿引导线方向变化异常(变化速度明显超过前几次位置的变化、向后移动)、飞机跟踪出现跟踪失败、飞机丢失等异常波动。 [0573] 步骤S3200,将机器视觉子系统与激光扫描子系统得到的飞机身份验证信息融合为一个验证结果。 [0574] 步骤S3200进一步包括: [0575] 步骤S3201、使用基于D-S理论的融合方法,建立一个非空的辨识框架:其中,h表示机型正确, 表示机型错误, 表示机型可能正确 也可能错误,即暂时不能确定, 表示不可能事件; [0576] 步骤S3202、建立机器视觉子系统和激光扫描子系统各自的mass函数。 [0577] m1(·)为机器视觉子系统的mass函数,m2(·)为激光扫描子系统的mass函数,且满足: [0578] Σm1(·)=1,Σm2(·)=1 [0579] 其中, 系数i, [0580] (1-系数i) [0581] 系数1、系数2、系数3为机器视觉子系统已经得到的已知值。 [0582] m2(h)和 根据激光扫描子系统预先设定的优先等级判别顺序而变化,当身份验证通过了一定等级、而未进行更高等级的身份验证时,m1(h)随通过的等级增高而增大,同时 随通过的等级增高而减小;当身份验证通过了一定等级、而在更高一级的身份验证中失败时,m1(h)随通过的等级增高而减小,同时 随通过的等级增高而增大。一种典型的经验取值为: [0583] [0584] 步骤S3203、计算mass函数的正交和 [0585] 其中, [0586] 使用上述同样的公式计算 和m(H), [0587] 若有 [0588] [0589] 其中ε1、ε2为预设的门限值,例如,ε1=0.3,ε2=0.2,则h为判决结果,融合结果为:机型正确身份验证通过; [0590] 若有 [0591] [0592] 则 为判决结果,融合结果为:机型错误身份验证失败。 [0593] 之后继续执行信息显示步骤,融合结果被发送至显示设备4000进行显示。 [0594] 显示设备4000为安装于机场中的可供飞机驾驶员在飞机入坞过程中观看的大型显示屏,同时,也可供机场工作人员观察飞机情况。 [0595] 如图22所示为显示于该显示设备4000中的一种可行的显示方式示例图。 [0596] 图中7000代表显示设备4000上用于显示引导信息的区域,7002代表引导线和停止线所形成的“T”形状,以方便表示飞机和引导线、停止线的相对位置。 [0597] 本发明对显示细节不做具体限定,但要显示出对引导飞机起作用的飞机具体位置,包括:偏左或偏右7001、距离停止线距离7003;同时还需要显示飞机识别及验证所验证的飞机机型7004。 [0598] 以供飞行员观察飞机的行进线路,提高飞机入坞的安全性。 [0599] 本发明通过两个子系统分别获得泊位信息,经过融合后,获得前轮偏离以及身份验证的最终结果,在实现飞机入坞泊位引导的同时,有效提高了飞机入坞过程中,在确认飞机前轮偏离情况方面的精确性,以及,身份验证的精确性。另外,本发明的飞机入坞引导和机型识别的系统及方法,具有有效的智能化信息处理能力,能有效实现飞机入坞过程的飞机捕获、跟踪与定位、机型识别与身份验证等功能,而且具有智能化的站坪可视化监控功能,能有效提高民航机场自动化、智能化和运营管理的水平。 |