(二)无人机数据处理算法介绍——图像拼接

2023-05-16

                                 无人机视频图像拼接

1.图像拼接技术概况

       图像拼接是将空间中具有一定重叠率的图像序列校正为一幅无缝的宽视场图像。它通常包括图像预处理、图像配准和图像融合3个步骤,其中图像配准是最为关键的一步,目前最常用的配准方法可以归纳为区域配准和特征配准两大类。基于区域的配准方法,例如互相关法、相位相关法和归一化的相关法等,处理思想简单,可以借助快速傅里叶变换(FFT)方法计算互相关系数,从而提高其计算速度以及缩短处理时间,但是它受图像灰度变化的影响较大,对旋转和畸变图像配准误差较大。基于特征的配准方法,具体的实现方法有空间关系法、不变描述算子法和统计概率法等,配准精度高,但是计算过程复杂,实现难度较高。尽管这两大类方法在实现过程中可以通过倒金子塔的思想提高计算速度,但是根据某型航侦相机的特点,如果直接应用这些算法实现图像拼接,则拼接过程产生的数据量大、消耗的时间长,不符合航空侦察实时任务的要求。

           1.1 二维模型

          图像拼接的研究是基于这样的假设相机固定在空间某一点,然后旋转一圈进行拍摄,每次拍摄的焦距没有变化。这一假设可以看成没有遮挡关系变化的柱面平面成像过程,来表示。两图像间的对应关系可以通过仿射变换或单应变换来模拟

例如平面运动关系


        1.2 图像配准方法

        (1)直接方法

       直接方法中最简单的方法先由用户交互指定一些初始匹配点,然后根据运动关系最小化这些匹配点间能量的差平方之和SSD。

        (2)基于特征配准方法

       基于特征的方法实现过程大致要经过特征查找、匹配和运动关系求解三个过程。早期的特征匹配算法以基于Harris特征检测器的特征检测技术最为稳定。Harris的原理是这样的,对于一幅灰度图像上的某一点I(x,y),可以通过计算出下面的海森阵判断该点是否为角点。
        特征检测之后,可以直接进行特征匹配,如直接进行特征周围象素的相似性比较,但是这种方法并不能保证稳定,特别是对于存在大量冗余特征的情况。比较好的做法给每个特征赋予一定的描述符,比如特征邻域内进行方向直方图统计的方法抽取特征的方向作为特征的描述方法等。LoW则是经过复杂的处理过程得到一个更SIFT高维的描述进行特征描述。实验对比发现等的这一描述字在特征匹配方面的效率更高。
        利用这样的描述字,特征匹配就变成查找相近的特征描述字的索引过程,如果是低维描述字,可以利用 马氏距离直接计算出最相近的描述字,从而得到一个可能的特征匹配对。而对于高维的描述字如SIFT128的维描述字一个最相近的描述字很难消除噪声的影响,因此需要采用一树搜索多个近似最相近的描述字来查找每个特征的多个可能匹配特征。k-d树本身已有很多近似最近邻算法,比如等最早利用递归查找的方法查找近似最近邻。arya等理提出优先搜索进行k-d树的搜索,该算法在执行过程中利用一个优先队列保存搜索过程中遇到的次近邻兄弟节点,在搜索到叶子结点后先从优先队列里的节点出发继续搜索,另外,作者还提出增量距离计算的思想进行加速搜索。也提出的类似的算法。
       找到特征匹配对之后,就可以求解运动关系。这里的运动关系通常是对应矩阵,因为复杂的相机运动关系只用两幅图像很难计算出来。求解运动关系可以采用RANSAC 方法。两者都是通过迭代的方法实现求解,且在每次迭代中都是先随机选一些特征匹配对求解一个初始的运动关系。不同的是前者在迭代结束时取产生最多特征匹配对的迭代中的特征匹配对求解最终对应矩阵,而后者则是取具有最小均值的迭代中的对应矩阵作为最终的对应矩阵,因此方法不能取得满足最终对应矩阵的特征匹配对。
2.图像拼接的关键技术之特征提取与匹配
       特征提取与匹配重要性:
          1)是图像拼接的基础
       2)是图像拼接制约发展的关键技术
       3)消耗时间最多
SIFT(Scale-invariant feature transform)
精度高,但耗时
首先建立尺度空间:
即创建从原图像2倍的图像大到32X32大小的尺度空间,每层空间分别采用不同的卷积核来卷积得到不同程度的卷积图像,每层图像间相减得到DOG,通过DOG图像中每层的中间两幅图像进行遍历,得到包括本层、上、下三层的极值,如下图
作为潜在特征点,通过输入图像关键点定位、消除边缘响应、关键点方向分配
特征点描述(128维向量)、 两幅图像特征点的匹配、 特征点绘制
特征描述后,进行特征匹配:
消除错误匹配:
  
最终试验拼接图像
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(二)无人机数据处理算法介绍——图像拼接 的相关文章

  • 官方免费的正版Xshell,人人都可以马上拥有

    找个 Xshell 咋就这么费劲 可以说 Xshell 是 Windows 平台下最好的第三方终端软件了 xff0c 程序员必备 但是屏幕前的你 xff0c 搜索下载 Xshell xff0c 都是跳到奇怪的下载网站 有时候下载的也是免费试
  • 第2章 梅西法 阅读

    梅西法可以用于任何对象集合的排名 xff0c 但是一定要预先定义好成对比较数据 比如乒乓球赛 xff0c 成对比较数据就是两个人PK的结果 xff1b 网页排序 xff0c 成对比较数据可以是两个网页的流量 梅西法的主要思路是构造一个最小二
  • 我与算法的缘分

    六年前 xff0c 我完全不知道算法是什么东西 六年后 xff0c 我看到算法就两眼放光 六年的时间让我从算法小菜鸟蜕变成算法爱好者 大一上学期 xff0c 我对算法一点概念都没有 xff0c 当时老师让我们用伪代码写算法 xff0c 我基
  • EM算法 实例讲解

    第一次接触EM算法 xff0c 是在完成半隐马尔科夫算法大作业时 我先在网上下载了两份Baum Welch算法的代码 xff0c 通过复制粘贴 xff0c 修修补补 xff0c 用java实现了HMM算法 xff08 应用是韦小宝掷两种骰子
  • 机器学习漫谈

    机器学习漫谈 数据挖掘 机器学习项目一般包括四个关键部分 xff0c 分别是 xff0c 数据分析 xff0c 特征工程 xff0c 建立模型 xff0c 验证 1 数据分析 从广义上讲 xff0c 数据分析包括数据收集 xff0c 数据处
  • 2015年机器学习/数据挖掘面试总结

    2015年机器学习 数据挖掘面试总结 明年硕士毕业 xff0c 今年开始找工作 在北方呆的太久 xff0c 想回湿润的南方 第一站 xff08 3月份 xff09 xff0c 阿里数据挖掘实习生面试 个人觉得 xff0c 阿里的面试是最人性
  • 研究生和本科有什么不同?

    本科学了4年计算机 xff0c 研究生又学了2年计算机 xff0c 感觉两个阶段的生活学习还是挺不一样的 一 在同学间的交流方面 xff0c 大学生比研究生交流更频繁 xff0c 交友更广泛 初中高中时 xff0c 大家座位固定 xff0c
  • 网易游戏2016校园招聘数据挖掘研究员在线笔试题和答案

    刚做完网易在线笔试题 xff0c 感触最深的地方是 xff0c 虽然题目形式和ACM题目相似 xff0c 但是内容更偏向于实际应用 总共有四个题目 xff0c 第一个题目属于字符串匹配类型 xff0c 难度较低 xff0c 第二个题目是模拟
  • ModemManager 1.10发布

    导读ModemManager是FreeDesktop org项目 xff0c 用于控制类似于NetworkManager进行网络连接的移动宽带设备 连接 上周 xff0c ModemManager 1 10被悄悄地作为最新的功能发布 Mod
  • C++程序设计陷阱读书笔记(一)

    差不多有三年没系统地温习C 43 43 程序设计了 xff0c 但面试官问起这方面的知识时 xff0c 我有种恍然隔世的感觉 年龄越大越难静下心来读完一本专业书 xff0c 越学心越浮躁 将所看所思记录下来能稍微提高一下学习效率 下面是我读
  • TK1(Linux)下通过I2C控制AM2320温湿度传感器和MPU6050加速度传感器(一)

    在TK1上有6条I2C总线可用 xff0c 这里只具体介绍两条常用的GEN1 I2C和 GEN2 I2C xff1a 其他的I2C使用方法类似 xff0c 就不一一赘述 GEN1 I2C引脚电压1 8V xff0c dev下的设备名是 i2
  • TK1(Linux)下通过I2C控制AM2320温湿度传感器和MPU6050加速度传感器(二)

    做好相关准备后 xff0c 我们关注的焦点在于怎么控制对应的I2C设备文件 Linux下一切皆文件 xff0c 控制I2C设备也是通过控制对应的文件来实现的 xff0c 下面是打开I2C文件过程 bool MPU6050 openMPU60
  • ROS: 创建并运行一个c++的demo

    1 创建catkin工作空间 mkdir p catkin ws src cd catkin ws src 2 编译catkin工作空间 cd catkin ws catkin make 3 配置环境变量 source devel setu
  • 开始使用博客,记录生活~

    记录生活点点滴滴 xff0c 技术心得 明年本命年 xff0c 来个突破吧 xff01
  • 辨析头文件与库文件的关系_少桀_新浪博客

    h 头文件 lib 库文件 dll 动态链接库文件关系 h头文件是编译时必须的 xff0c lib是链接时需要的 xff0c dll是运行时需要的 附加依赖项的是 lib不是 dll xff0c 若生成了DLL 则肯定也生成 LIB文件 如
  • 解决:Unexpected token (START_OBJECT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRA

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 1 redisTemplate 报错 xff1a Caused by com fasterxml jack
  • 解决:Caused by: redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 1 报错 xff1a Caused by redis clients jedis exceptions J
  • websocke 在线测试地址

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 记录一个websocke在线测试地址 xff1a http www websocket test com
  • C++常用类库大全

    C xff0b xff0b 常用类库大全 大 中 小 发布人 xff1a 圣才学习网 发布日期 xff1a 2011 12 29 12 15 共780人浏览 C xff0b xff0b 编程语言支持各种程序设计风格 其中就包括对面向对象特性
  • 三分钟明白 Activiti工作流 -- java运用

    前些天发现了一个巨牛的人工智能学习网站 xff0c 通俗易懂 xff0c 风趣幽默 xff0c 忍不住分享一下给大家 点击跳转到教程 一 什么是工作流 以请假为例 xff0c 现在大多数公司的请假流程是这样的 员工打电话 xff08 或网聊

随机推荐