一种视频卫星在轨视频稳像方法
技术领域
本发明涉及一种针对视频卫星的在轨视频稳像的方法,可实现在轨快速、高精度稳像,应用于具有凝视成像模式的视频卫星,可为运动目标在轨识别、检测及跟踪提供稳定的视频图像。
背景技术
现今,视频卫星已具有多种成像模式:推扫、面阵、夜光及凝视成像等,其中凝视成像可以获取运动目标的运行信息,使其成为视频卫星设计不可或缺的重要工作模式。为了提高运动目标信息获取的时效性,进一步提高视频卫星遥感的价值,需要在轨进行目标检测、识别及跟踪,因而要求视频多帧影像保持空间位置恒定。但受卫星空间运行和卫星姿控系统精度的影像,多帧影像间存在一定的投影变换。因此在进行运动目标信息计算前,结合卫星自身能效约束,实现在轨快速、高精度视频稳像,具有重要的工程应用价值。
专利“一种移动终端视频的电子稳像方法,公开号:CN104902142A”公开了一种用于移动终端视频的电子稳像方法,该方法旨在利用陀螺仪、加速度计、地磁传感器等姿态传感器测量视频的帧间运动矢量,从而对抖动的视频帧进行补偿稳像,但该专利所用传感器较多,星上应用存在难度;专利“一种用于微纳卫星的视频稳像方法”,公开号:CN106027852A,公开了一种用于微纳卫星的稳像方法,使用陀螺仪获取相机的运动信息,采用SIFT算法提取图像特征点,但SIFT算法复杂度较高,运算相对复杂,不利于星上嵌入式实现。且两者均为没有给出对视频卫星的稳像效果。
发明内容
本发明为解决现有视频卫星稳像方法存在硬件结构复杂以及算法复杂度高,导致不利于星上嵌入式实现的问题,提供一种视频卫星在轨视频稳像方法。
一种视频卫星在轨视频稳像方法,该方法由以下步骤实现:
步骤一、图像预处理;
步骤一一、连续读取两帧视频图像,分别记作参考图像I1和待稳像图像I2,截取两幅图像的特定区域分别记为图像I'1和图像I'2,采用傅里叶变换方法,计算图像I'1和图像I'2的平移量;
步骤一二、对参考图像I1进行裁剪和对待稳像图像I2进行平移;
根据步骤一一中获得的图像I'1的平移量对参考图像I1进行上下、左右裁剪量解析,根据图像I'2的平移量对待稳像图像I2进行上下、左右平移量解析;
若Δx'>roi/2,则x轴方向的平移量mx=Δx'-roi,表示待稳像图像I2右部分向左移动-mx个像元,同时表示参考图像I1保留左部分,右部分-mx列像素置零;
若Δx'<roi/2,则x轴方向的平移量mx=Δx',表示待稳像图像I2的左部分向右移动mx个像元,同时表示参考图像I1保留右部分,左部分mx列像素置零;
若Δy'>roi/2,则y轴方向的平移量my=Δy'-roi,表示待稳像图像I2的y方向的上部分向下移动-my个像元,同时表示参考图像I1保留下部分,上部分-my行像素置零;
若Δy'<roi/2,则y轴方向的平移量my=Δy',表示待稳像图像I2的下部分向上移动my个像元,同时表示参考图像I1保留上部分,下部分my行像素置零;
所述Δx'和Δy'分别为图像I'1和图像I'2的在x轴和y轴方向的平移量,对参考图像I1进行裁剪后生成新的参考图像I4,对待稳像图像I2进行平移后生成新的待稳像图像I3;
步骤一三、图像分块选择;
对步骤一二中获得的新的参考图像I4的四角选择小块图像,分别记作小块图像S1、小块图像S2、小块图像S3和小块图像S4以及中心区域的小块图像S5;
首先对步骤一二中获得的mx和my的正负值进行判断;
若my>0,则小块图像S1和小块图像S2的行选择从(my+1)像元位置开始选择,若my<0,则小块图像S3和小块图像S4的截至行为(-my-1)行;
若mx>0,则小块图像S1和小块图像S3的列为(mx+1)列;
若mx<0,则小块图像S2和小块图像S4的截止列为(-mx-1)列;
对新的待稳像图像I3进行小块选择,对所述新的待稳像图像I3进行小块选择的原则与新的参考图像I4的小块选择原则相同,对应的五个小块图像分别记为小块图像S'1、小块图像S'2、小块图像S'3、小块图像S'4及小块图像S'5,小块图像S1和小块图像S'1、小块图像S2和小块图像S'2、小块图像S3和小块图像S'3、小块图像S4和小块图像S'4、小块图像S5和小块图像S'5分别组成五对图像,再对每对小块图像进行数字域降采样;
步骤二、图像角点计算;
步骤二一、图像强角点计算,采用Sobel梯度算子,首先计算小块图像S1的一阶梯度和二阶梯度,再采用二阶导数的自相关矩阵计算小块图像S1的强角点坐标值;
步骤二二、设置小块图像S1的强角点周围的多组梯度以及相关向量的点集为0,求解小块图像S1的亚像素角点坐标值;
步骤三、单应矩阵求解;
采用光流金字塔分解法寻找获得小块图像S1的亚像素角点坐标值在小块图像S'1中运动的新位置坐标;然后分别计算另外四对小块图像的亚像素角点坐标值和运动的新位置坐标;
根据步骤一三的分块原则,获得新的参考图像I4和新的待稳像图像I3的角点坐标和运动坐标值;再采用RANSAC算法计算单应矩阵;
步骤四、采用透视变换法将新的参考图像I4与新的待稳像图像I3进行稳像。
本发明的有益效果:本发明采用相位相关+图像截取+光流稳像的方法对视频卫星影像进行稳像。首先依据现有视频卫星成像特点,连续两帧影像间差异以平移为主,采用相位相关法对图像平移量进行判断;再通过对截取后的小块图像计算角点,生成原始图像对应的全局角点;最后采用光流和RANSAC方法实现高精度稳像。
本发明基于视频卫星成像特点,采用相位相关粗平移和图像分块及光流算法实现了视频卫星稳像,避免了星上定位定姿设备固有精度误差对稳像的影像,实验中采用长光卫星技术有限公司的视频卫星下传的视频图像,验证了该发明的实用性。
附图说明
图1为本发明所述的一种视频卫星在轨视频稳像方法的流程图;
图2为本发明所述的一种视频卫星在轨视频稳像方法中图像分块的示意图;
图3为采用本发明所述的一种视频卫星在轨视频稳像方法与现有直接光流方法获得的稳像效果对比图;其中,图3a为采用本发明方法获得的第2帧稳像效果图,图3b为采用现有直接光流方法获得的第2帧稳像效果图;
图4为采用本发明所述的一种视频卫星在轨视频稳像方法与现有直接光流方法获得的稳像效果对比图;其中,图4a为采用本发明方法获得第11帧稳像效果图,图4b为采用现有直接光流方法获得的第11帧稳像效果图;
图5为采用本发明所述的一种视频卫星在轨视频稳像方法获得的第20帧稳像效果图。
具体实现方式
具体实施方式一、结合图1至图5说明本实施方式,一种视频卫星在轨视频稳像方法,该方法由以下步骤实现:
一、图像预处理;
步骤一、图像预处理;
a、相位相关区域图像选择:连续读取两帧视频图像,分别记作参考图像I1和待稳像图像I2,截取两幅图像的特定区域分别记为图像I'1和图像I'2,
本实施方式针对5K*4.5K的视频图像,设置的区域为图像中心的roi×roi部分,并对该区域的方差进行判断;若方差较小,本实施方式中,认为对于8bit图像,方差小于7时,认为该区域图像细节信息较少,不适合后续相位相关计算,以100个像素为步长,改变选择区域,直至满足方差需求为止。本实施方式中,roi=1024;
b、相位相关计算:采用傅里叶变换方法,计算图像I'1和图像I'2的平移量;根据傅里叶变换原理,图像间的平移反应频域的相移。因此可以利用频域信息计算两幅图像的平移量,这就是相位相关的基本原理。
设参考图像I1'和待稳像图像I2'之间的平移关系为:
I1'(x,y)=I2'(x+Δx',y+Δy') (1)
其中x,y表示图像像素坐标,Δx',Δy'表示参考图像I1'和待稳像图像I2'在x和y方向的平移量。
上式傅里叶变换结果如下:
F2(u,v)=exp[-j2π(u+Δx',v+Δy')]F1(u,v) (2)
其中,F(·)表示频域,(u,v)表示频域坐标。
对两帧图像进行相关计算,得到公式3:
其中F*(·)表示F(·)的共轭。
而exp(-j2π(uΔx'+vΔy'))的逆傅里叶变换为一个冲击函数,如式4所示:
F-1[exp(-j2π(uΔx'+vΔy'))]=δ(x-Δx',y-Δy') (4)
因此可通过上式在图像存在较小的旋转和缩放值条件下,粗略估计两帧图像的x和y向的平移值(Δx',Δy'),并记录。
c、参考图像裁剪和待稳像图像平移:若(Δx',Δy')中的任意一个平移量大于500个像素,则认为图像振动较大,不进行稳像处理,输出停止稳像标识;若小于500个像素,认为可以进行后续稳像操作。首先对平移结果进行上下、左右平移量解析,
若Δx'>roi/2,则平移量mx=Δx'-roi,表示图像I1保留左部分,右部分-mx列像素置零,同时表示图像I2右部分向左移动-mx个像元;
若Δx'<roi/2,表示图像I1保留右部分,左部分mx像素置零,同时表示图像I2的左部分向右移动mx个像元;
若Δy'>roi/2,平移量my=Δy'-roi,表示图像I1保留下部分,上部分-my行像素置零,同时表示图像I2的上部分向下移动-my个像元;
若Δy'<roi/2,表示图像I1保留上部分,下部分my行像素置零,同时表示图像I2的下部分向上移动my个像元。
平移后生成新的待稳像图像I3和新的参考图像I4,此时可以认为I4和I3之间仅存在较小的平移、旋转和缩放差异。所述Δx'和Δy'分别为图像I'1和图像I'2的在x轴和y轴方向的平移量,
d、图像分块选择:为了提高稳像处理的速度,本实施方式对新的参考图像I4在四角和中心区域选择五个小块图像,每个小块图像尺度记为SL(SL=1024),如图1所示,四角及中心的方块区域代表选择的小块图像,其它部分表示原始图像,小块图像与原始图像边缘连接的短线表示平移量。首先对mx和my的正负值进行判断。
若my>0,则小块图像S1和图像S2的行选择从(my+1)像元位置开中选择,
若my<0,则小块图像S3和S4的截至行为(-my-1)行;
若mx>0,则小块图像S1和S3的列为(mx+1),反之,小块图像S2和S4的截止列为(-mx-1)。
在行平移方面,图像仅存在向下或向上平移,在列平移方面同理,因此图1仅表示平移关系,并代表图像在左右或者上下同时平移。为进一步提高稳像速度,对选择的小块图像进行数字域降采样,如本实施方式中选择数字域降4倍采样。
二、图像角点计算
a、强角点计算:采用Sobel梯度算子,计算小块图像S1至S5的强角点,Sobel水平和垂直梯度算子的加权矩阵分别如式5和式6所示。
以小块图像S1为例推演二阶梯度计算过程如式7-9所示。
得到自相关矩阵为:
其中w(i,j)为高斯窗口函数,再采用Shi Tomasi角点判定防范,即可得到图像的强角点坐标值。
b、亚像素角点计算:本实施方式将强角点周围的多组梯度及相关的向量的点集为0,求解方程组即得到亚像素角点坐标,其中强角点周围搜索窗口半轴长度为10,亚像素角点计算的终止条件为:迭代20次或精度小于0.03像元。
三、单应矩阵求解:首先采用光流金字塔分解法解析五对小块图像的角点和运动点坐标,光流运动位置计算的终止条件为:迭代40次或者精度小于0.1像元;将每对图像解析的亚像素角点坐标和运动点坐标,结合预处理的d)分块选择原则,还原新的参考图像I4的角点坐标和新的待稳像图像I3的运动坐标。该部分一定要注意小块图像选择时的开始和结束坐标。再采用RANSAC算法计算单应矩阵。
四、图像稳像:采用透视变换将新的参考图像I4和新的待稳像图像I3进行稳像。
本实施方式中,采用办公电脑针对20帧5K×4.5K图像运算时间为24117ms,而全局稳像在处理第12帧时,由于两帧图像偏差较大,程序报错,停止运行。为对比处理速度,处理帧数调整为11,本提案方法用时10639ms,而传统全局光流稳像方法用时16209ms。由上可见本提案方法的适应性优于直接光流稳像方法,处理时间提高了0.65倍。
本实施方式所述的的稳像方法和直接全局图像光流稳像在不同帧的对比结果如图3和图4所示,由于直接光流稳像方法在处理12帧就已经出错,因此图5仅体现了本提案方法的第20帧稳像结果。