- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
基于英特尔 oneAPI 双目立体匹配算法并发性改造实践-高云龙
议题介绍
首先对整体基于无人机的三维重建流程进行介绍,然后根据三维重建中基于影像的密集匹配问题,讲解如何从串行处理,逐步改造到并行处理的详细过程,最后总结基于OneAPI改造后进行的性能提升指数。
高云龙,武汉大势智慧有限公司研发总监
展开查看详情
1 . 基于英特尔oneAPI 双目立体匹配算法并发性改造实践 高云龙 博士 研发总监 2021年11月10日
2 .实景三维是未来世界的基础设施 万物互联,泛在感知世界 5G、物联网 环境感知 人机混合与协同的世界 街道清扫机器人 物流机器人、无人驾驶 机器人警察 机器护士 数字与真实打通孪生世界 虚拟交互现实 智慧城市建设
3 .
4 .
5 .
6 .
7 .大规模场景的算法与算力需求 智慧坪山案例 计算服务器(100台) 166平方公里,3cm分辨率 intel i7 8700K 三个月 约100万张图像(2400万像素) 64GB内存
8 .全国城区一年一次实景三维建模的算力需求 30% 3 10000 25万 成本 年 计算节点 平方公里 稳定可靠的算法与算力建设 长期、基础性工作
9 . 三维重建基本流程 视觉三维重建 = SFM + MVS(稠密重建+表面重建+纹理映射) 输入影像 特征提取 影像匹配 结果 平差 初值计算 非线性最小二乘优化 SFM:恢复场景中不同视角影像的位置和姿态,并纳入到统一地理参考中
10 . 三维重建整体流程 视觉三维重建 = SFM + MVS(稠密重建+表面重建+纹理映射) 点->密集点(密集匹配) 点->三角网(表面重建) 三角网->模型(纹理映射)
11 .双目立体匹配算法原理 A a1 a2 S1 A(X、Y、Z) S2 2 通过照片,进行测量 1
12 .双目立体匹配算法原理 PatchMatch密集匹配算法原 理: 1、随机视差平面 2、视差平面传递 空间传递、视图传递
13 .双目立体匹配 1、视差信息初始化 2、初始匹配代价计算 3、视差信息传递 空间传递、视图传递、视差平面优化 4、视差图后处理 左右一致性检查、无效视差填充、视差图滤波 [1] Bleyer M , Rhemann C , Rother C . PatchMatch Stereo - Stereo Matching with Slanted Support Windows[C]. British Machine Vision Conference 2011. 2011.
14 . 双目立体匹配并发性改造 1、视差信息初始化(像素之间相互独立,易于并行) 𝑑𝑝 = 𝑎𝑓 𝑝𝑥 + 𝑏𝑓 𝑝𝑦 + 𝑐𝑓 oneapi::dpl::minstd_rand oneapi::dpl::uniform_real_distribution
15 . 双目立体匹配 2、初始匹配代价计算(像素之间相互 独立,易于并行) NCC 相似性测度:𝑐 𝑝, 𝑝′ = 1 − 𝛼 ∙ min 𝐼𝑝 − 𝐼𝑝′ , 𝜏𝑐𝑜𝑙 + α ∙ min( 𝛻𝐼𝑝 − 𝛻𝐼𝑝′ , 𝜏𝑔𝑟𝑎𝑑 ) 𝐼𝑝 −𝐼𝑞 − 匹配代价聚合:𝑚 𝑝, 𝑓 = σ𝑞∈𝑊𝑝 𝑤(𝑝, 𝑞) ∙ 𝑐(𝑞, 𝑞 − 𝑑𝑞 ) , 𝑤 𝑝, 𝑞 = 𝑒 𝛾
16 .双目立体匹配性能提升 3、视差信息传递(胜者为王) 1)空间传递(前后依赖,不易并行,最耗时) 2)视图传递(相互独立,易于并行) 3)视差平面优化(相互独立,易于并行)
17 .双目立体匹配性能提升 Cost (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) 视差平面
18 .双目立体匹配性能提升 4、视差图后处理(像素之间相互独立,易于并行) 1) 左右一致性检查 2) 无效视差填充 3) 视差图滤波
19 .双目立体匹配性能提升 CPU与OneAPI优化后算法匹配耗时统计表 影像尺寸 CPU OneAPI 时间比 左图 右图 648×515 630×515 7.0 s 158 ms 44.3 1553×1055 1548×1055 45.6 s 289 ms 157.8 2457×2788 2259×2788 175.4 s 791 ms 221.2 4804×3916 5497×3916 332.6 s 1182 ms 270.0 Intel xeon 6230R
20 .双目立体匹配性能提升 OneAPI并行优化中每步耗时统计表 步骤 左图(4804×3916) 右图(5497×3916) 视差信息初始化 1 ms 1 ms 初始匹配代价计算 13 ms 14 ms 视差信息传递 519 ms 550 ms 视差图后处理 39 ms 45 ms Intel xeon 6230R
21 .简单总结 1)算法复杂度 2)并行化方法 3)硬件特性
22 .其他方面的优化指标
23 .软硬件深度适配与耦合 软件深度适配 定制硬件 >2 • 顾及硬件的CPU/GPU力、内存频率、网络吞吐 G-Engine 等资源特性特性 • 原生算法粒度拆分和重组 • 基于指令集的算法优化
24 .三维重建整体流程算法效率提高5.8倍 基于 Intel® C++ Compiler & Intel® Integrated Performance Primitives (IPP) 优化, 整体提高 5.8倍 CUDA 英伟达 T4 显卡 特征点匹配效率提高 9.4倍 AI 影像增强 Tensorflow 基于 Intel optimized Tensorflow* 提高AI推理效率 3D 查找表影像增强 9.4倍。 AI Cuda 英伟达 T4 9倍 三维点类别推理效率提高9倍 特征提取 Tensorflow 提速 基于 Intel optimized Tensorflow*提高物方点类别 影像特征点提取 推理效率9倍。 CUDA 英伟达 T4 Tensorflow AI 类别推理 地物点分类 Intel xeon 6230R
25 .软件整体性能提升80% 三维建模面积(单位:平方公里) 计算节点配置: 处理照片数量(单位:张) 1400 0 12647 5 算力: 4.217 1200 0 4 1000 1) G3D 4.0 Intel xeon 6230R 0 8000 6945 3 2.315 12) G3D 3.0 Intel i7 9700K + NV T4 6000 4740 2 1.58 4000 内存:512GB 1 2000 硬盘:512GB SSD 0 0 其他软件 重建大师 重建大师 同类软件 重建大师 重建大师 3.0 4.0 3.0 4.0 数据信息: 区域:城区 较“G3D 3.0”效率提升 80% 分辨率:3cm
26 .26