DuLa-Net vs HorizonNet:复杂房型对决

先定义一下"复杂房型":这里指6 个角及以上的非长方体房间------L 形、T 形、十字形、带凹角的房型。


一、一句话结论

**在复杂房型上,HorizonNet 全面领先,而且房间越复杂、领先越多。**​ 但 DuLa-Net 开创的"不预设房间角点数"这条思路,是它真正的历史贡献------后来的赢家都站在它肩上。


二、硬数据:两组同场竞技的数字

数据组 1:Realtor360(DuLa-Net 自己的主场)

这个数据集是 DuLa-Net 作者专门造的,含大量复杂房型。看看两位选手在别人主场的表现(3D IoU %):

房型 DuLa-Net HorizonNet 差距
4 角(长方体) 78.91 84.73 −5.8
6 角 77.79 84.78​ −7.0
8 角 74.86 78.44​ −3.6
10 角以上​ 59.72 73.64​ −13.9​
整体​ 77.20 83.66​ −6.5

关键观察 :DuLa-Net 自己造的复杂房型数据集上,HorizonNet 依然全面碾压,而且在最难的 10+ 角房型上领先近 14 个点。

数据组 2:MatterportLayout(IJCV 对比研究,统一了编码器后重测)

这是最公平的一次对比------两个方法都换成同样的 ResNet 编码器、同样的训练设置 :

房型 指标 DuLa-Net v2 HorizonNet
4 角 3D IoU 77.02 81.88​
6 角​ 3D IoU 78.79 82.26​
8 角​ 3D IoU 71.03 71.78​
8 角​ 2D IoU​ 74.00​ 73.91 ← DuLa-Net 唯一反超
≥10 角​ 3D IoU 63.27 68.32​
整体​ 3D IoU 75.05 79.11​
整体​ **RMSE(深度误差)**​ 0.291 0.197​
整体​ **δ₁(深度准确率)**​ 0.818 0.929​

三个必须读懂的细节:

  1. 8 角房型的 2D IoU,DuLa-Net 反超了(74.00 vs 73.91)。说明只看"平面轮廓"时,它的俯视直推在中等复杂度上仍有竞争力。
  2. 深度指标差距最悬殊 (δ₁ 0.818 vs 0.929)。IJCV 那篇论文专门强调:2D/3D IoU 看着差距不大,但深度指标一比就露馅了------DuLa-Net 倾向于把 L 形房间的凹角"抹平",IoU 掉得不多,实际几何却错了不少。
  3. DuLa-Net v2 在 6 角房型上(78.79)远超 LayoutNet v2(72.33)。这证明它"不预设角点数"的设计确实对症。

三、根本差异:两种不同的"世界观"

这是理解两者优劣的钥匙。

DuLa-Net​ HorizonNet​
怎么对付遮挡​ 物理上绕开:抬头看天花板,那里没家具 算法上推断:LSTM 看完整一圈,脑补被挡的角
答案长什么样​ 一张 2D 俯视平面图 三条 1D 曲线(每列的上下边界 + 墙角概率)
信息如何整合​ 空间上拼图(三张概率图加权平均) 序列上推理(双向 LSTM 前后各扫一遍)
对房间形状的假设​ 不预设角点数 ✅ 不预设角点数 ✅
垂直方向假设​ 整间房一个高度 H​ 逐列预测,但后处理取平均(也是平顶)

两种"对付遮挡"的哲学,决定了胜负

这是最本质的一点:

  • DuLa-Net 的思路是"躲" ------地面有家具?那我看天花板,天花板总是空的。这个想法很聪明,但有个致命漏洞:天花板视图只能看到天花板附近,看不到墙脚。沙发挡住的墙脚,天花板视角一样看不见。而且天花板本身可能有吊灯、吊顶。
  • HorizonNet 的思路是"推"------这一列被沙发挡住了?没关系,LSTM 已经看过整圈墙的走势,知道对面那面墙在哪、房间大概多宽,能反推出这里应该有个角。

**为什么"推"比"躲"强?**​ 因为角点越多,能互相印证的线索就越多。10 个角的房间,就算挡住 2 个,剩下 8 个构成的几何约束已经足够推出答案。而"躲"的策略不随角点数增加而变强------天花板永远只有那一片。

这解释了数据里最关键的那一行:10+ 角房型,HorizonNet 领先 13.9 个点。


四、DuLa-Net 的优点(在复杂房型上)

✅ 1. 开创了"不预设角点数"------这是它最大的功劳

LayoutNet 默认"房间是长方体",L 形房间直接崩到 22.35(10+ 角)。DuLa-Net 直接在 2D 上画平面图,几个角都行,一下把 10+ 角提升到 59.72。这是从"完全不会"到"会了"的质变。

✅ 2. 天花板视角确实干净

往上看到的轮廓是个闭合图形,提取起来比从全景图里找边界容易得多。这个洞察本身非常漂亮,后来 AtlantaNet 也继承了这个思路。

✅ 3. 后处理极快,且不依赖慢速优化

平面图拟合只要 21.71 毫秒,对比 LayoutNet 的 30.5 秒 3D 优化,快了上千倍。

✅ 4. 平面图是最"好用"的输出格式

直接给出俯视轮廓,房产、装修、CAD 这类下游应用拿来就能用,不用再转换。

✅ 5. 中等复杂度(8 角)的平面轮廓仍有竞争力

前面提到,8 角房型的 2D IoU 它略胜 HorizonNet。


五、DuLa-Net 的缺点(在复杂房型上)

❌ 1. E2P 投影的 FoV 是硬伤

天花板视图只有 160° 视场角 ,输出到 512×512。房间角越多,越容易有角落落在视野边缘------那里透视变形最严重 ,或者干脆看不见。而且 IJCV 对比研究专门点名:DuLa-Net 对这个 FoV 参数极其敏感,设多少直接影响成绩。这是个没有理论最优解的"玄学超参"。

❌ 2. 平面图拟合的几何近似会累积误差

它的后处理是:找最大连通域 → 取外接矩形​ → 切网格 → 面积比 >0.5 的格子保留。

问题在于:一个 L 形房间被塞进"外接矩形"再切网格近似,每多一个凹角,近似误差就多一分。角越多,这个"矩形+网格"的近似越粗糙。

❌ 3. 整间房只预测一个高度 H

复杂房型常伴随局部吊顶、错层、梁。DuLa-Net 只能给一个全局高度,全部抹平。

❌ 4. 天花板视角救不了墙脚

沙发、柜子挡的是墙脚线(地板-墙边界),而天花板视图主要看天花板附近。M_FC 图里的地板部分照样被挡。

❌ 5. 编码器太浅

原始版用 ResNet-18(DuLa-Net v2 换成更深的 ResNet 才明显提升)。复杂房型需要更强的特征提取能力。

❌ 6. 缺物体语义

论文自己放了两张失败图:被镜子反射 骗出一个不存在的房间;被冰箱挡住边界。它分不清"这是镜子"还是"这是墙"。


六、HorizonNet 的优点(在复杂房型上)

✅ 1. LSTM 全局推理------角越多越强

这是它赢的核心。双向 LSTM 把 1024 列当成一句话正读倒读,每一列都知道"全局发生了什么"。被家具挡住的墙角能被脑补出来。论文明确说:后处理对"即使墙角被遮挡的复杂房间"也有效。

✅ 2. 1D 表示没有"零背景"问题

二维边界图里 95% 的值是 0,网络容易学成"一律答没有"。HorizonNet 的 yᶜ/yᶠ 是实数回归,每一列都有真实答案;墙角 yʷ 用 0.96^距离 做成"山包"而非孤立的点。有效信号浓度提高几百倍------这对角点多的复杂房型尤其关键,因为要检测的"山头"更多。

✅ 3. 不受外接矩形/网格的几何近似限制

每列独立预测边界,是一套"连续"的表示,不像网格投票那样有离散化误差。

✅ 4. 深度指标优势巨大

RMSE 0.197 vs 0.291,δ₁ 0.929 vs 0.818。说明它能保住凹角这类局部细节,而不是把复杂形状抹平成方盒子。

✅ 5. 参数更少、精度更高

一维输出只要 25M 参数(对比密集二维的 67M),3D IoU 还从 77.87 涨到 80.65。

✅ 6. 后处理有 PCA 自动纠偏兜底

万一预处理对齐没做好,它会用主成分分析找出墙的主方向,自动把场景转回来。DuLa-Net 没有这层保护。

✅ 7. Pano Stretch 增强特别对症

把房间在 3D 里真的拉长/压扁,直接造出"不同长宽比的复杂房型"训练样本。在一般房型上,一个增强就把 3D IoU 从 77.4 拉到 82.5(+5.1)。


七、HorizonNet 的缺点(在复杂房型上)

❌ 1. 每列只能有一个天花板/地板边界值

1D 表示的天生限制:垂直方向只能表达一层。遇到错层、阁楼、带夹层 Loft 的房间,它表达不了。这点上它和 DuLa-Net 其实是半斤八两。

❌ 2. 后处理把层高"平均"了

虽然逐列预测了 yᶜ/yᶠ,但后处理是1024 列投票取平均作为最终层高。这意味着它最终也假设了平顶,局部高度变化会被平均掉。

❌ 3. 相机高度是硬假设(1.6 米)

单张图测不出真实尺度,全靠这个假设。真实相机高度不同会带来尺度误差。

❌ 4. LSTM 让它变慢

带 RNN 后从 119 FPS 掉到 20 FPS。虽然够用,但 LSTM 的串行计算是瓶颈。

❌ 5. 极重度遮挡照样失手

整面墙被挡完时,全局推断也救不回来。不过它的"救回率"比 DuLa-Net 高得多。

❌ 6. 依然受曼哈顿假设约束

斜墙、圆弧墙、斜天花板------两位选手都搞不定。这是这一代方法的共同天花板,后来 AtlantaNet 才专门来破这个限制。


八、该怎么选?

你的场景 推荐 理由
追求复杂房型最高精度 HorizonNet​ 10+ 角领先近 14 点,深度指标优势巨大
需要保住凹角等局部细节 HorizonNet​ δ₁ 0.929 vs 0.818,差距明显
房间遮挡严重(家具多) HorizonNet​ LSTM 能脑补,天花板视角躲不掉墙脚遮挡
只需要俯视平面图,不关心高度 两者都行​ 8 角房型 DuLa-Net 的 2D IoU 甚至略胜
下游要直接对接 CAD / 房产展示 DuLa-Net​ 平面图输出最直观,拿来即用
算力紧张、要极致轻量 DuLa-Net​ 无 RNN 版本更快,参数更少(但精度低)
想在此基础上继续研究 HorizonNet​ 它才是后来的主流地基(HoHoNet、LED²-Net、LGT-Net 都继承它)

九、总结对照表

维度 DuLa-Net HorizonNet
核心表示​ 2D 俯视平面图 1D 三条边界曲线
对付遮挡​ 躲(看天花板) 推(LSTM 全局推理)
10+ 角 3D IoU​ 59.72 73.64​
深度准确率 δ₁​ 0.818 0.929​
后处理速度​ 21.71 ms 12 ms​
编码器​ ResNet-18(浅) ResNet-50(深)
最大短板​ FoV 敏感 + 网格近似误差 + 单一高度 每列单一边界 + 相机高度硬假设
历史定位​ 打开"复杂房型"这扇门的先驱 成为后续主流方法的地基

最后一句总结:

DuLa-Net 解决了"能不能做 "的问题(不预设角点数,让复杂房型从 22 分涨到 60 分),HorizonNet 解决了"能做多好"的问题(用全局推理把 60 分推到 74 分)。两者真正的分水岭在于:一个靠"换个视角躲开遮挡",一个靠"看清全局推断遮挡"------而在房间越复杂、可互证的线索越多时,后者的优势会被放大得越明显。

相关推荐
AI浩2 小时前
面向视觉预训练的对象级自蒸馏
人工智能·计算机视觉
闭包不眠2 小时前
网页转PDF字体出错不报错,我先看文件大小
图像处理·人工智能·计算机视觉·pdf
陈嘿萌2 小时前
CVPR 2026 | 上交&复旦&清华 3M-TI:让 RGB 成为热成像超分助手,手机也能看清细节!
人工智能·计算机视觉·智能手机·学术研究与理论基础
YOLO数据集集合3 小时前
滑坡检测数据集 | 滑坡检测 地质灾害 无人机巡检 应急响应 目标检测 YOLO格式 深度学习数据集 计算机视觉10670期
深度学习·yolo·目标检测·计算机视觉·无人机·滑坡
I Am a robert girl3 小时前
从最后一帧反推世界:LIFT 如何用布局控制视频生成
深度学习·数码相机·计算机视觉·音视频·视频生成·可控生成·布局控制
拉你进_教堂3 小时前
小龙虾技能之【Basic Object Detection Skill | 基础目标检测技能】简介
人工智能·目标检测·计算机视觉·多模态大模型·openclaw小龙虾技能
拜小白6 小时前
【论文解读】PanoContext:全景场景理解的全房间 3D 上下文模型
计算机视觉·全景图
Keep_Trying_Go6 小时前
MobileSAMv2分割算法详解
图像处理·人工智能·计算机视觉
lank_M12 小时前
截图OCR预处理在普通屏上翻车,Retina截图却没事
图像处理·人工智能·计算机视觉·ocr