惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
美团技术团队
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
L
LangChain Blog
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
腾讯CDC
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky
博客园 - 司徒正美
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
C
Check Point Blog
小众软件
小众软件
V
Visual Studio Blog
V
V2EX
F
Full Disclosure
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
罗磊的独立博客
人人都是产品经理
人人都是产品经理
量子位
Apple Machine Learning Research
Apple Machine Learning Research
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
博客园_首页
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
Recorded Future
Recorded Future
G
Google Developers Blog
Vercel News
Vercel News
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
U
Unit 42
爱范儿
爱范儿
Jina AI
Jina AI

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
高光谱拼接算法(一)扫推式成像和航带拼接算法
哥布林学者 · 2026-05-22 · via 博客园_首页

新分类,不再只说纯理论了,我同步维护一个 github 仓库,也方便自己跑跑代码,有兴趣可以关注一下。

1. 扫推式成像 (Push broom Imaging)

在之前的 光谱融合中提到过,现有技术很难一次获取兼顾高光谱分辨率和高空间分辨率的图像。
概括来说可以理解为相机里的二维传感器难以完整采集三维数据,用来存储光谱信息就要丢失空间信息,反之亦然。

因此,为了获取兼顾二者的图像,便衍生了多种成像方式,其中,扫推式成像是目前在空间分辨率、光谱分辨率与采集效率之间最均衡、最主流的一种方案。
其逻辑很简单:

一次只拍“一条线”,但这条线里的每个像素,都带有完整光谱信息,最后随着设备不断前进,把一条条“光谱线”拼成完整三维数据立方体。

image.png
图片来源

此外,在前沿领域,也在研究 快照式成像:一种尝试利用压缩和编码技术,从根本解决高光谱图像获取问题的研究方向。

2.航带拼接获取高光谱图像

上面提到的,扫推式成像需要设备不断移动,早期搭载高光谱设备的是卫星或者科研飞机。但现在最常见的是无人机,因为它大幅降低了高光谱门槛,得益于其成本低,更灵活,这也是多数相关企业的选择。

此外,还有传送平台,显微扫描平台等很多选择,其关键就是产生相对运行实现“扫推”。

以无人机为例,只飞一次,扫描得到一条数据,我们就称之为单航带数据
这种数据前后一致性好、无需拼接、几何误差小,但覆盖范围有限

因此,当目标区域很大,整片农田、整座城市时,我们就会让一台无人机平行来回飞,或者多台无人机并行扫描不同区域。

现在,每一次扫描结束,都会得到一组单航带数据,我们把多个航带拼起来,就可以获得兼具光谱分辨率和空间分辨率的图像。

image.png
图片来源

但这种拼接不是直接让矩阵连接在一起那么简单,这其中涉及大量细节。

3. 拼接中的对齐问题

首先,在获取多航带数据过程中,航带之间通常不会完全贴边,而是会故意保留一定重叠区域,用于后续的配准、校正与拼接。

而理想情况下,最终得到的高光谱图像应描述的是:

同一时间、同一观测条件下的一片连续区域。

但由于扫推式成像依赖平台运动逐线采集,不同航带往往是在不同时间、不同姿态、不同光照条件下获得的,因此在拼接过程中需要解决多个层面的对齐问题。

3.1 几何对齐(Geometric Alignment)

由于飞行高度、平台姿态、速度变化以及 GPS / IMU 误差的存在,不同航带之间可能出现平移、旋转、拉伸、透视形变等几何失配问题。

image.png
图片来源

3.2 辐射对齐(Radiometric Alignment)

不同航带往往并非在完全一致的观测条件下采集,比如第一条航带在上午 10 点采集,第二条采集完已经 10:20 了。
这就会导致太阳高度角变化、云层遮挡、大气条件变化、曝光参数变化等等情况,导致同一目标在不同航带中的整体亮度存在差异。

因此,即使空间位置已经对齐,拼接后仍可能出现明显亮暗接缝。

image.png
图片来源

3.3 光谱对齐(Spectral Alignment)

相比普通图像,高光谱数据更重要的是每个像素对应的完整光谱曲线。

但由于传感器响应漂移、观测角变化或跨航带成像条件差异,不同航带中同一目标的光谱曲线可能发生波段偏移、光谱形状变化、反射峰位置漂移等问题。
这会进一步影响后续的地物分类、光谱匹配等下游任务。

因此,高光谱拼接不仅要求空间连续,还要求跨航带光谱保持物理一致性。
image.png
图片来源

4. 高光谱拼接算法(Hyperspectral Image Stitching/Mosaicking)

最终,高光谱拼接的结果直接影响整个高光谱立方体是否可信
很多后续高光谱算法, 默认都假设输入数据已经是“空间连续且光谱一致”的。
而这个前提,正是拼接算法负责建立的,其目标正是:

为后续分类、检测、反演等下游任务,构建空间连续、辐射统一、光谱一致的高质量高光谱数据立方体。

我们下载的很多公开数据集,包括 Indian Pines、Pavia University、Salinas 等都已经进行了这些甚至更复杂的处理。

而由于其任务属性,专门用于拼接算法的公开数据集较少,而且十分碎片化,可以说基本没有统一的 benchmark,但其涉及的领域、相关方法和模型又十分丰富。
因此,可以说是一个说不上人满为患,但又绝对不算小众的研究方向,其实难点在于数据获取本身以及“拼接没有标准答案”的问题上。

这个系列应该不会太长,会在之前的 DL 和 HSI 的基础上快速切入一些比较新的模型方法,深度学习进阶那个系列也会继续更。