论文名片
| 项目 | 内容 |
|---|---|
| 论文名 | Structure recovery from single omnidirectional image with distortion-aware learning |
| 方法名 | OmniSRNet(Omni Structure Recovery Network) |
| 作者 | Ming Meng、Yi Zhou、Dongshi Zuo、Zhaoxin Li、Zhong Zhou |
| 期刊 | JKSUCI (Journal of King Saud University - Computer and Information Sciences),Vol.36, Issue 7, 102151,2024-09-01 |
| DOI | 10.1016/j.jksuci.2024.102151 |
| 代码/数据 | github.com/mmlph/OmniSRNet |
| 前身 | Meng et al. (2021) 的初步工作------本文大幅扩展 |
| 一句话贡献 | 一个统一的深度学习框架:畸变感知模块 DAM (全景用 EquiConv、鱼眼用 OrthConv 两种可变形卷积)+ 双向 LSTM + 水平垂直步进模块 HVSM ,从单张全向图 (全景 360° 或鱼眼 180°)恢复房间结构(长方体 + 非长方体都行),并贡献了 **IOSR 数据集(45K 张)** |
名字拆解 :Omni (全向 180°/360°)+ SR(Structure Recovery,结构恢复)+ Net。
标题里 **"distortion-aware learning"(畸变感知学习)** 是它的核心武器。
一、先做一个重要区分:它处理"两种"全向图,不只是全景
这是本文和这个系列大多数论文最大的不同。
| 类型 | 视场角 | 投影模型 | 畸变特点 |
|---|---|---|---|
| **全景图(Panorama)** | **360°** 水平 | ERP(等距柱状投影) | 越靠近两极(天花板/地板)横向拉伸越夸张 |
| **鱼眼图(Fisheye)** | 180°(本文用俯视 top-view) | 正交投影(Orthographic) | 中心正常、边缘严重压缩扭曲 |
打个比方:
- 全景图 像把地球摊成一张世界地图------两极被拉得很扁;
- 鱼眼图 像透过猫眼/鱼眼镜头看------中间正常、四周扭曲成一圈。
两种畸变的"形状"完全不同 ,所以要用不同的卷积去应对。这就是本文 DAM 模块要分成 EquiConv 和 OrthConv 的原因。
为什么鱼眼很重要? 因为真实的视频监控系统、很多 VR/AR 设备用的都是鱼眼相机(成本低、单镜头就能看一大片)。以往研究几乎只做全景,本文把鱼眼也纳入进来------这是它的重要贡献。
二、动机:两个绕不开的难题
2.1 难题 1:全向图的"严重非线性畸变"
标准相机遵循针孔模型,卷积核的"方形采样"是合理的。但全向图不遵循针孔模型:
论文原话:由于全向图像不遵循针孔相机模型,常规的透视关系无法准确描述这些图像中的畸变。这些方法在建模几何信息上存在局限,使得学习全向特征变得复杂。
具体后果 :标准卷积的固定采样策略限制了网络建模几何变换的能力------它只会"按方格采样",无法适应全向图的非均匀拉伸。
打个比方 :用一把方格尺去量一块被揉皱、且不同位置皱法不一样的布------尺子形状对不上布的纹理走向。
2.2 难题 2:室内场景的"严重遮挡 + 非长方体"
- 家具杂物遮挡关键局部区域(墙脚线被沙发挡、墙角被柜子挡);
- 真实房间不都是长方体 ------L 形、多角(本文数据集房间角点数从 4 个到 10 个以上)。
2.3 前人的做法与不足
论文把现有方法分三类:
| 类别 | 代表 | 不足 |
|---|---|---|
| 基于几何 | Baskurt (2011)、PanoContext (2014) | 依赖手工几何特征,生成假设再排序优化 |
| 几何+数据混合 | --- | 结合了语义但复杂 |
| 端到端数据驱动 | LayoutNet、DuLa-Net、HorizonNet、PanoRoom | 用标准卷积核 学全向特征------固定采样策略无法建模畸变 |
最近有研究(CFL 的 EquiConv、OmniLayout 的 SphConv)开始用可变形卷积处理畸变,但论文指出:
不同投影模型具有截然不同的位置和畸变特性。 为此,我们采用基于投影模型的畸变感知模块,以实现对全向图像的有效特征提取。
这就是本文的立论 :不能只做通用的"畸变感知",必须针对全景和鱼眼各自的投影模型分别设计。
2.4 传统方法的核心痛点:畸变让网络 "看走眼"
所有全景图都是把球面视野 "摊平" 成平面图片,必然存在投影畸变,就像我们熟悉的世界地图:越靠近南北极,横向拉伸越严重,格陵兰岛看起来和非洲差不多大,实际面积只有 1/14。
普通的 CNN 网络是为普通透视照片设计的,天生默认图片没有变形,直接用在全景图上就会出现严重问题:
- 特征提取不公平 :同样大小的卷积核,在图像中间(平视区域)覆盖的真实空间大,到了上下边缘(天花板、地板区域)覆盖的真实空间很小,信息密度不均,学出来的特征不准。
- 通俗例子:就像用同一把尺子,去量哈哈镜不同位置的物体,量出来的尺寸肯定全错,因为镜子本身就是变形的。
- 结构输出失真 :网络学出来的墙线,越往上下越弯,墙角角度越偏,两极区域的布局误差能比中间区域大好几倍。
- 传统修正思路的缺陷 :
- 先去畸变再处理:插值会丢失边缘细节,反而让墙线更模糊;
- 硬靠后处理掰直:很容易把正确的结构改错,误差叠加。
2.5 核心思路:让网络 "看懂畸变",主动抵消变形
不去强行修图,而是给网络嵌入畸变感知能力 ------ 让它知道每个位置的变形程度,自动调整观察方式,直接在畸变的原图上精准提取结构特征,再配合建筑几何规则约束,端到端输出正确的 3D 结构。
- 通俗类比:就像专业的地图测绘员,知道世界地图有投影变形,会根据纬度自动调整测量尺度,直接在变形的地图上算出正确的真实尺寸,不用先把地图还原成球体再量。
三、核心方法:OmniSRNet 三大件

输入:单张全向图(全景 ERP 或 鱼眼 top-view)
↓
【① 编码器 + DAM(畸变感知模块)】★核心
ResNet-50 骨干
├─ 全景图 → EquiConv(等距柱状投影可变形卷积)
└─ 鱼眼图 → OrthConv(正交投影可变形卷积)★本文设计
→ 输出无畸变的多尺度特征
↓
【② 解码器:Bi-LSTM + HVSM】★核心
HVSM(水平+垂直步进模块)替代 LSTM 的单向步进
→ 同时利用【宽度方向】和【高度方向】的上下文
→ 识别扩展几何模式,保证整体预测一致
↓
【③ 输出 + 后处理】
→ 角点概率图(corner probability map)+ 边界
→ 显著峰值提取(prominent peaks extraction)
→ 3D 点云恢复(带纹理)
↓
输出:2D 结构 → 3D 房间结构(长方体 + 非长方体)
注意动词分工:DAM 负责"提取特征",HVSM 负责"上下文预测" 。前者管看得清,后者管想得通。
四、技术拆解 ①:DAM------畸变感知模块(第一贡献)
这是论文标题 "distortion-aware" 的落点。
4.1 为什么可变形卷积能治畸变?
标准卷积:在固定的方格位置采样(比如 3×3 的九个固定点)。
可变形卷积(Deformable Convolution) :给每个采样点学一个偏移量(offset)------采样位置可以"歪"、可以"拉伸"、可以"聚拢"。
打个比方:
- 标准卷积 = 用一个硬方框去盖章------章的花纹排布是固定的;
- 可变形卷积 = 用一个橡皮章------每个花纹的位置都能被"掰"到该去的地方。
面对全向图上"不同位置畸变不同"的情况,橡皮章能自适应地变形,硬方框不行。
4.2 两种投影 → 两种卷积
| 图像类型 | 卷积 | 偏移怎么算 |
|---|---|---|
| **全景(Panorama)** | EquiConv | 沿用 Fernandez-Labrador et al. (2020,即 CFL) 的方法,**基于等距柱状投影(ERP)**计算可变形卷积偏移 |
| **鱼眼(Fisheye)** | OrthConv | 本文新设计 ------基于**正交投影(Orthographic projection)**计算偏移 |
4.3 OrthConv 是本文的设计(值得强调)
论文明确说 OrthConv 是为鱼眼图像**"designed"(设计)**的------因为鱼眼遵循正交投影模型,和全景的 ERP 模型完全不同,不能照搬 EquiConv。
打个比方 :全景和鱼眼是两种不同形状的"橡皮"。你得按照各自的形状去切模具 ------全景用 ERP 模具,鱼眼用正交投影模具。通用模具对不上。
4.4 DAM 放在哪?
论文明确:在编码器(encoder)内部引入 DAM。
因为畸变是输入图像的固有属性------在最靠近原始像素的编码阶段就处理,代价最小、最直接。
五、技术拆解 ②:Bi-LSTM + HVSM(第二贡献)
这是解决"遮挡 + 非长方体复杂场景"的部分。
5.1 先理解:为什么全景布局估计爱用 LSTM/RNN?
从 HorizonNet 开始有个经典做法:
把 2D 特征图沿高度方向压扁成一维序列 ,然后用 **Bi-LSTM(双向长短期记忆网络)**沿这个序列扫描。
为什么? 因为房间布局是环形/序列结构------沿着水平方向(360°)走一圈,墙、角点依次出现。LSTM 擅长建模这种"前后依赖"。
打个比方 :读一封信。你不是孤立地看每个字,而是顺着句子的前后文 理解------LSTM 就是那个"顺着读"的机制。双向(Bi-)则是既能顺着读又能倒着读。
5.2 本文的改进:HVSM(水平+垂直步进模块)
问题 :传统做法是单向步进 ------一般只沿宽度(水平)方向扫描一维序列。
但本文处理的是 180°/360° FoV 的全向图,论文指出:
我们提出并行的水平和垂直步进模块(HVSM) 来替代 LSTM 的单一步进,以利用鱼眼和全景图像中 180° 或 360° FoV 所呈现的【高度方向】和【宽度方向】上下文先验。
HVSM 做什么?
| 传统单向步进 | **HVSM(本文)** |
|---|---|
| 只沿宽度方向扫 | 同时 沿宽度 和高度两个方向步进 |
| 只用水平上下文 | 水平 + 垂直双向上下文都要 |
5.3 为什么"高度方向"的上下文也重要?
因为房间布局里,天花板和地板是上下对称的结构 。你从左往右扫能知道"墙在哪",但从上往下扫能知道"天花板边界和地板边界的关系"。
打个比方 :读一页乐谱。传统方法是只从左到右读一行 ;HVSM 是同时看多行的上下对应关系 ------这样即使某一行有音符被污渍遮住(遮挡),你也能从上下行的规律推断出那里该是什么。
5.4 Bi-LSTM 在这里的角色
论文说:
对于具有严重遮挡和杂乱的复杂场景 ,我们采用双向 LSTM 来识别扩展的几何模式,并确保整体预测的一致性。
**"整体预测一致"** 是什么意思?------预测的墙角、边界不能前后矛盾(比如前一步说这里有 4 个角,后一步突然变 6 个)。
六、技术拆解 ③:输出与后处理(3D 点云恢复)
6.1 网络直接输出什么?
**角点概率图(probability map of predicted indoor corners)** mc + 边界。
角点用 BCE(二元交叉熵)损失监督------因为每个像素"是不是角点"是个二分类问题。
6.2 后处理:从概率图到 3D 点云(Algorithm 1)
论文给出了完整的算法流程(这是本文相对 2021 初步工作的新增):
输入:鱼眼/全景图 I,角点概率图 m_c
↓
Step 1 - 提取(Extraction):
① extend(m_c) → 扩展概率图
② binarize(...) → 二值化
③ regioncons(...) → 区域连通/一致性处理
→ 得到【显著峰值】(prominent peaks)
↓
Step 2 - 3D 点云恢复:
把峰值反投影 → 生成【带纹理的 3D 点云(PCL)】
"显著峰值提取" 是什么意思?网络输出的角点概率图是一片"热力图"------每个位置有个 0~1 的分数。峰值就是分数最高的那几个点,也就是真正的墙角位置。
6.3 长方体和非长方体都支持
论文 Fig.1 明确:3D 结构(cuboid 长方体 和 non-cuboid 非长方体 )都通过后处理生成。
七、数据集贡献:IOSR(第三贡献)
论文自己收集了一个新数据集:
| 项目 | 数值 |
|---|---|
| 名称 | IOSR(Indoor Omnidirectional Structure Recovery) |
| 总规模 | 45K(4.5 万)张全向图像 |
| 全景图 | 22,583 张 |
| 俯视鱼眼图 | 22,783 张 |
| 房间复杂度 | 角点数从 4 个到 10 个以上 |
| 特点① | 修正了错误标注的全景图(correcting mislabeled panorama images) |
| 特点② | 扩展了来自真实视频监控场景的鱼眼图 |
| 地位 | 论文自称是第一个 专门为室内全向结构恢复设计的大规模数据集,尤其(首次)包含鱼眼图像 |
数据集构成(来自代码库):
- 全景部分:基于 PanoContext / Stanford2D3D / Structured3D;
- 鱼眼部分 :PanoContext-F 、Stanford2D3D-F 、Structured3D-F ------由优化后的全景图通过 pano2fish 工具转换得到(真实监控场景鱼眼为扩展)。
**"第一个专为鱼眼设计"** 这个定位很关键------以往数据集几乎只有全景,本文填补了鱼眼结构恢复的数据空白。
八、训练设置
| 项目 | 值(论文原文) |
|---|---|
| 骨干 | ResNet-50 编码器 |
| 训练轮数 | 300 epochs |
| Batch size | 4 |
| 角点损失 | **Binary Cross-Entropy(BCE)** |
| 框架 | PyTorch 1.8.1 + Python 3.7.6;Ubuntu 20 + NVIDIA GPU/CUDA |
| 训练耗时 | PanoContext 5 小时 ;Stanford2D3D 4 小时 ;Structured3D 48 小时 |
注意 Structured3D 要训 48 小时------因为它规模最大(合成数据)。而 PanoContext/Stanford2D3D 只要 4~5 小时,说明数据量小得多。
九、实验结果
⚠️ 来源说明 :以下指标数值来自综述论文(CVM 2025, 3D indoor scene geometry estimation... )整理的 Table 3,而非OmniSRNet 原论文表格。
指标含义:
- CE (Corner Error,角点误差)------越小越好
- PE (Pixel Error,像素误差)------越小越好
- 3DIoU (3D 交并比)------越大越好
9.1 PanoContext(长方体)
| 方法 | CE ↓ | PE ↓ | **3DIoU ↑** |
|---|---|---|---|
| LayoutNet | 0.93 | 2.81 | 76.90 |
| DuLa-Net | --- | --- | 77.42 |
| AtlantaNet | --- | --- | 78.70 |
| LED²-Net | --- | --- | 82.75 |
| PanoViT | --- | --- | 83.88 |
| OmniLayout | 0.69 | 2.10 | 84.50 |
| PanelNet | --- | --- | 84.52 |
| LGT-Net | 0.69 | 2.07 | 85.16 |
| DMH-Net | 0.73 | 1.96 | 85.48 |
| Shape-Net | 0.72 | 2.21 | 86.07 |
| JLDNet | 0.71 | 2.08 | 86.21 |
| **OmniSRNet(本文)** | 0.48 | 0.93 | 88.64 |
四条读法:
- 3DIoU 88.64 是全场最高 ------超过第二名的 JLDNet(86.21)2.43 个点 ,超过 LGT-Net(85.16)3.48 个点;
- 角点误差 CE 0.48 ------大幅优于所有对手(第二名 LGT-Net/OmniLayout 都是 0.69)。相对 LGT-Net 降低约 30%;
- 像素误差 PE 0.93 ------同样大幅领先(第二名 DMH-Net 1.96)。不到第二名的 1/2;
- ⚠️ 这个数字非常强,需要谨慎看待 :88.64 的 3DIoU 在 PanoContext 上属于极高水平。考虑到这是综述整理的数据、且 OmniSRNet 主要贡献在"鱼眼+畸变感知",建议以原论文表格为准核对。
9.2 Stanford2D3D(角点误差 CE)
| 方法 | CE ↓ |
|---|---|
| DuLa-Net | 1.06 |
| LayoutNet | 0.88 |
| Shape-Net | 0.69 |
| AtlantaNet | 0.70 |
| OmniLayout | 0.68 |
| DMH-Net | 0.67 |
| PanoSwin | 0.65 |
| LGT-Net | 0.63 |
| JLDNet | 0.61 |
| **OmniSRNet(本文)** | 0.52 |
读法 :CE 0.52 同样是全场最低------低于 JLDNet(0.61)和 LGT-Net(0.63)。
综合两个数据集:OmniSRNet 在角点定位精度(CE)上优势最明显------这正是它"峰值提取 + 畸变感知"设计的直接回报(角点是最吃精确位置、也最容易被畸变干扰的量)。
9.3 关于鱼眼与非长方体的结果
论文声明在 cuboid(长方体)和 non-cuboid(非长方体)数据集上都取得领先结果,并且:
- DAM 的可变形卷积消融:验证了 EquiConv / OrthConv 各自的有效性;
- 扩展实验(expansion experiments):验证了方法在不同设置下的泛化;
- 深入分析:对全景/鱼眼、长方体/非长方体结构都做了分析。
十、两个实际应用(本文的特色)
这是本文相对纯算法论文的额外价值------它真的落地了。
应用 1:VR 看房(VR-based house viewing)
用全景相机拍摄 360° 图像
↓
OmniSRNet 处理 → 预测 2D 结构
↓
转换为 3D 点云
↓
生成详细的 3D 全景展示,用于 VR 看房
打个比方 :中介带你看房,不用跑现场------戴上 VR 眼镜,房间结构自动重建出来,你可以"走进去"看。OmniSRNet 就是那个"拍一张照片就能生成 3D 户型"的引擎。
应用 2:MR 视频监控(MR-based video surveillance)
办公室部署 9 个鱼眼相机
↓
OmniSRNet 预测每个相机的 2D 结构
↓
【相机标定】把 2D 结构与室内 CAD 模型对齐
↓
【投影纹理映射】生成带纹理的模型
↓
实时视频流更新模型 → 沉浸式监控
为什么这个应用很聪明? 监控室里 9 个鱼眼画面各自扭曲、互不关联,操作员看着头晕。本文把它们统一映射到一个 3D CAD 模型上 ------你在 3D 场景里看,哪个角落发生什么一目了然。这就是 "MR(混合现实)" 的价值:把多个扭曲的 2D 画面,"贴"回真实的 3D 空间。
注意 :这个应用正好发挥了本文"支持鱼眼"的独特优势------监控相机大多是鱼眼,以往只做全景的方法用不了。
十一、优势与局限
✅ 优势
| 优势 | 说明 |
|---|---|
| 同时支持全景 + 鱼眼(最独特) | 覆盖 360° 和 180° 两种全向图,以往方法基本只做全景 |
| DAM 按投影模型定制 | 全景用 EquiConv、鱼眼用 OrthConv(本文设计)------不是"通用畸变感知" |
| HVSM 双向上下文 | 同时利用宽度 + 高度两个方向的上下文,抗遮挡 |
| Bi-LSTM 保证整体一致 | 识别扩展几何模式,避免前后矛盾 |
| **贡献 IOSR 数据集(45K)** | 22,583 全景 + 22,783 鱼眼,首个 专为此任务设计的大规模数据集,尤其首个含鱼眼 |
| 修正了错误标注 | 提升了全景图数据质量 |
| 支持长方体 + 非长方体 | 房间角点 4 到 10+ |
| 角点精度优势明显 | PanoContext CE 0.48(第二名 0.69) |
| 有真实落地应用 | VR 看房 + MR 视频监控(9 相机) |
| 代码和数据集开源 | github.com/mmlph/OmniSRNet |
❌ 局限
| 局限 | 说明 |
|---|---|
| 鱼眼数据多为"全景转换"而来 | PanoContext-F / S2D3D-F / S3D-F 是用 pano2fish 从全景转换 的------不是真实鱼眼相机拍摄,与真实鱼眼的畸变/噪声特性有差距(论文虽扩展了真实监控场景鱼眼,但主体仍是转换数据) |
| 依赖后处理 | 3D 结构通过后处理 (峰值提取 + 点云)生成,不是端到端可微的 3D 回归 |
| 峰值提取是启发式 | extend → binarize → regioncons 这套流程非学习得到 |
| 期刊非顶会 | JKSUCI 是沙特国王大学学报,影响力不同于 CVPR/ICCV/ECCV |
| 未报告参数量 / 推理速度 | 无法评估部署成本(只给了训练耗时) |
| 未明确说明是否支持斜墙/曲面墙 | Atlanta World 之外的能力未声明 |
| Structured3D 训练需 48 小时 | 大规模数据训练成本高 |
十二、在方法谱系中的位置
把"畸变处理"这条线单独拎出来:
| 方法 | 怎么处理畸变 | 支持鱼眼? |
|---|---|---|
| HorizonNet / LGT-Net / DOP-Net | 回避(压成一维,把畸变摊匀) | ❌ 只全景 |
| CFL(Fernandez-Labrador 2020) | EquiConv(ERP 可变形卷积) | ❌ 只全景 |
| OmniLayout | SphConv(球面卷积) | ❌ 只全景 |
| PanoFormer / DOPNet | 虚拟切平面 / 跨尺度聚合 | ❌ 只全景 |
| **Meng et al. 2021(本文前身)** | 鱼眼 OrthConv | ✅ 只鱼眼 |
| **OmniSRNet(本篇)** | **DAM = EquiConv(全景)+ OrthConv(鱼眼)** | ✅ 两者都支持 |
本文的独特定位 :它是这条线上少数真正把"鱼眼"纳入统一框架 的工作,并且针对两种投影分别设计卷积------而不是指望一个"通用畸变感知模块"搞定所有投影。
这回应了论文那句关键论断:"不同投影模型具有截然不同的位置和畸变特性。"
意思是:别指望一个模块通吃------投影模型不同,卷积就该不同。
十三、一句话总结 + 四条可迁移的思路
OmniSRNet 做的是一件"补齐短板"的工作:全向结构恢复此前几乎只做 360° 全景,但真实世界(监控、VR/AR 设备)大量使用 180° 鱼眼相机,而鱼眼遵循正交投影、畸变形状与全景的 ERP 完全不同。它的解法是------在 ResNet-50 编码器里放一个"畸变感知模块 DAM",按投影模型分别定制:全景用 EquiConv(等距柱状投影可变形卷积,沿用 CFL),鱼眼用本文设计的 OrthConv(正交投影可变形卷积);解码端用双向 LSTM 加一个"水平+垂直步进模块 HVSM",不再只沿宽度方向扫,而是同时利用高度方向的上下文,从而在被严重遮挡和杂乱的非长方体场景里也能保持整体一致;最后从角点概率图提取显著峰值、恢复带纹理的 3D 点云。它还贡献了 IOSR 数据集------45K 张(22,583 全景 + 22,783 鱼眼),是首个专为室内全向结构恢复设计的大规模数据集,尤其首次系统纳入鱼眼。应用上落地了 VR 看房和 9 相机 MR 视频监控。
四条可以带走的思路:
- "通用模块"未必通用------当处理对象有明确的物理/几何分类时,就该分类定制。 本文最锋利的一点:全景(ERP)和鱼眼(正交)是两种投影模型 ,畸变特性不同,所以 DAM 分成 EquiConv 和 OrthConv,而不是做一个"通用畸变感知卷积"。当你发现一个模块要服务几种"性质明确不同"的输入时,先分类,再分别设计------一个模块通吃的想法往往是精度上限的杀手。
- 可变形卷积的本质是"让采样网格跟着几何走"。 标准卷积是固定方格,可变形卷积给每个采样点学一个偏移量------于是它能适应拉伸、压缩、扭曲。当你面对"非均匀形变"的数据(球面图、鱼眼、医学影像、极坐标数据)时,别只想着"先把数据掰正",让卷积核自己适应形变常常更直接。
- 序列建模时,别忘了"另一个方向"的上下文也是上下文。 大家都沿宽度(水平 360°)扫一维序列,本文加了个 HVSM 把高度方向 也纳入步进。当你用 RNN/LSTM/Transformer 扫一个序列时,问一句:这个数据还有没有"另一个维度"的规律没被利用? 天花板/地板的上下对称关系,就是那个被忽略的维度------它恰恰能在水平方向被遮挡时提供补充信息。
- 填补"数据空白"本身就是高价值贡献,尤其当它对应真实的落地场景。 本文的 IOSR 数据集自称"首个专为室内全向结构恢复设计、尤其首个含鱼眼"。这不只是"发论文的副产品"------它直接让"鱼眼结构恢复"这个此前没人做(因为没数据)的方向变得可做 ,并且支撑了 MR 监控这个真实应用。当你发现某个子方向"没人做"时,先确认:是不是因为缺数据?如果是,造数据集可能比改进模型更有价值。
核心贡献
- 提出畸变感知卷积机制 : 从特征提取层面解决了全景投影畸变的痛点,设计通用,可迁移到全景分割、检测等几乎所有全景视觉任务。
- 建立几何约束的训练范式 : 把建筑几何规则做成可微损失嵌入训练过程,输出结构天然符合物理规律,比后处理修正更精准、更稳定。
- 大幅提升边缘区域精度 : 解决了长期存在的 "两极区域精度差" 的行业痛点,让全景图全区域的结构估计精度都达到可用水平。
📖 名词小抄
| 名词 | 大白话 |
|---|---|
| OmniSRNet | Omni directional S tructure Recovery Net------全向结构恢复网络(本文方法) |
| **全向图像(Omnidirectional)** | FoV 达 **180°(鱼眼)或 360°(全景)** 的图像,远超普通相机 |
| **ERP(等距柱状投影)** | 全景图格式:把球面摊成"世界地图",两极拉伸最严重 |
| **正交投影(Orthographic)** | 鱼眼图模型:中心正常、边缘严重压缩扭曲 |
| **DAM(Distortion-Aware Module)** | 畸变感知模块,在 encoder 内;按投影模型定制卷积 |
| EquiConv | 全景用:基于 ERP 计算偏移的可变形卷积(沿用 CFL/Fernandez-Labrador 2020) |
| OrthConv | 鱼眼用:基于正交投影 计算偏移的可变形卷积------本文设计 |
| 可变形卷积 | 采样位置可学习偏移------不是固定方格,能"跟着形变走" |
| **HVSM(Horizontal & Vertical Step Module)** | 并行水平和垂直步进模块 ,替代 LSTM 单向步进,利用宽+高双向上下文 |
| Bi-LSTM | 双向长短期记忆网络;本文用来识别扩展几何模式、保证整体一致 |
角点概率图 |
网络输出:每个像素是墙角的概率(热力图) |
| **BCE(二元交叉熵)** | 角点监督损失 |
| 显著峰值提取 | 从概率图里找分数最高的点 = 真正的墙角位置 |
| 后处理流程 | extend → binarize → regioncons → 反投影 → 带纹理 3D 点云 |
| IOSR 数据集 | 45K 张(22,583 全景 + 22,783 俯视鱼眼);房间 4~10+ 个角 |
| Pano2Fish | 把优化后的全景图转换成鱼眼图的工具(生成 -F 子集) |
| 训练配置 | ResNet-50 编码器;300 epochs ;batch 4;BCE |
| 训练耗时 | PanoContext 5h |Stanford2D3D 4h |Structured3D 48h |
| **指标(PanoContext)** | CE 0.48 |PE 0.93 |3DIoU 88.64(综述 Table 3) |
| **指标(Stanford2D3D CE)** | 0.52(综述 Table 3) |
| 两个应用 | VR 看房 (360°→2D→3D 点云);MR 视频监控(9 鱼眼相机 + CAD 对齐) |
| 代码 | github.com/mmlph/OmniSRNet |