基于gpu的多视图三维重建developer.download.nvidia.com/gtc/pdf/1030_4.pdf3...

31
基于GPU的多视图三维重建 史英杰 北京航空航天大学 2011-12-14

Upload: others

Post on 07-Dec-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

基于GPU的多视图三维重建

史英杰

北京航空航天大学

2011-12-14

Page 2: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

2

选题目标

多视图三维重建(Multi-View Stereo)

输入:图片序列、相机参数

输出:三维模型

设计并实现一个能够兼顾重建精度和效率的多视图三维重

建算法,在取得较高重建精度的同时,通过GPU提高算法

速度。

选题背景与意义

精度

速度

Page 3: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

3

选题背景与意义

基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

优点:速度快

缺点:缺乏表面细节

基于颜色匹配的方法 原理:利用颜色信息求匹配点

优点:像素级重建、重建精度高

缺点:算法耗时、计算量大

多视图三维重建

Page 4: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

4

选题背景与意义

Middlebury 数据集

测评系统

多视图三维重建

Multi-view stereo evaluation

http://vision.middlebury.edu/mview

D. Scharstein et al.

Page 5: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

5

选题背景与意义

深度图融合法 原理:将双目视觉重建出的多幅深度图融合为一个点云

优点:算法复杂度低、易于GPU加速

缺点:鲁棒性低、易受光照等因素影响

基于表面贴片的方法 原理:通过表面贴片对三维点进行优化求解

优点:多视图匹配增大鲁棒性

缺点:算法复杂、计算量大

多视图三维重建

Page 6: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

6

选题背景与意义

通过多目匹配的重建算法在点云扩张阶段会产生噪点累积

重建算法计算量大、耗时严重

存在的问题

研究思路

通过一种渐进式的点云扩张方式,有效控制噪点的累积

利用GPU进行并行加速,提高算法效率

Page 7: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

7

基于特征匹配和渐进扩张的三维重建算法[1]

Harris算子

图像求导

高斯滤波

特征提取

像素点兴趣值

( , )0.5 ( 1, ) 0 ( , ) 0.5 ( 1, )

I x yI x y I x y I x y

x

( , )0.5 ( , 1) 0 ( , ) 0.5 ( , 1)

I x yI x y I x y I x y

y

2

2

( )

( )

( )

I I I

x x yM G s

I I I

x y y

2det( ) ( )I M k tr M

本质是一种角点,即图像中两个方向变化都剧烈的点

[1]Accurate, dense and robust multiview stereopsis. Furukawa et al. 2008 PAMI

Page 8: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

8

基于特征匹配和渐进扩张的三维重建算法

DoG算子

高斯模板

LoG

特征提取

DoG

2 2 2( ) / 2

2

1( , , )

2

x yG x y e

( , , ) ( , , ) ( , )L x y G x y I x y

( , , ) ( , , ) ( , , )D x y L x y k L x y

一种具有尺度空间不变性的特征点

Page 9: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

9

基于特征匹配和渐进扩张的三维重建算法

特征匹配

匹配速度快,但匹配精度低,可能出现误匹配

添加相关图片

极线约束

( ) { | ( ) ( ) ( ) / ( ) ( ) 0.5}V p I n p c p O I c p O I

'( ) { | ( ), ( , , ( )) }V p I I V p Ncc p I R p

去除低相似度图片

R(p)

n(p) c(p)

Page 10: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

10

基于特征匹配和渐进扩张的三维重建算法

特征匹配

投投1

投投2

投投投投

n(p)

c(p)

投投1 投投3

投投2 投投3

Patch p

通过双线性插

值求得每个点

的RGB

三维坐标,三

维法线

相关图片的数

量作为匹配是

否成功的标准

基于贴片的三维点优化

贴片:和三维点一一对应,用于对三维点进行优化

Page 11: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

11

基于特征匹配和渐进扩张的三维重建算法

点云扩张

( ) { ( ', ') | ( , ), ' ' 1}i iC p C x y p Q x y x x y y

候选扩张网格

基于图片的点云扩张

将二维图像划分为

网格,并记录对应

的三维点信息

生成新三维点

( ') ( )n p n p ( ') ( )R p R p ( ') ( )V p V p

'p

扩张以初始匹配点云为基础,其精度对最终结果有直接影响

Page 12: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

12

基于特征匹配和渐进扩张的三维重建算法

渐进扩张

第一次扩张:粗粒度扩张

第二次扩张:细粒度扩张

目的:快速得到物体表面轮廓,不纠结于细节

目的:得到物体表面细节信息

粗粒度扩张之后进行噪点过滤,避免第二阶段产生更多噪点

Page 13: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

13

基于特征匹配和渐进扩张的三维重建算法

点云去噪[1]

邻居关系

过滤器1:

过滤器2:

过滤器3:

( ( ) ( ')) ( ) ( ( ) ( ')) ( ') 2c p c p n p c p c p n p

( )

( ) (1 ( )) 1 ( )i

i

p U p

V p N p N p

( )V p

( )

( )

W p

A p

与p临近的

贴片集合

与p冲突的

贴片集合

与p所在二维网格

及其相邻网格中

贴片的集合

Page 14: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

14

基于特征匹配和渐进扩张的三维重建算法

泊松重建[2]

[2]Poisson surface reconstruction. M. Kazhdan et al. in Symp. Geom. Proc. 2006

点云 三角网格

Page 15: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

15

基于GPU的特征提取

算法流程

CPU GPU

Texture

memory

计计计计计计

计计gx, gy,计

计计计计计

gxgy

计计计计计计

计计计

计计计计计计

计计

计计计计计计计计计计计计

计计CPU

计计计计

计计计计计计

计计计计计计

计计

计计计计计计计计

Harr i s DoG

GPU端主要任务

高斯滤波

计算差分金字塔

采用CPU-GPU协同工作的方式提高效率

Page 16: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

16

基于GPU的特征提取

线程组织方式

gri d

bl ock t hread

以像素为单位

Page 17: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

17

基于GPU的特征提取

Intel Xeon 3.0GHz/3GB

GeForce GTX 285

(a) (b)

0

5

10

15

20

25

30

35

40

45

50

DSR DR TSR TR

加速

Harris DoG 与图片分辨率有关,

尚有一定的优化空

Page 18: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

18

基于GPU的非线性优化

算法流程

CPU GPU

计计Kernel

计计计计计 Texture

memory

计计计计

计计

Yes

NoConstant memory

计计计计计

计计计计计计

计计

No

Yes

计计计计计计

计计计计计

计计计计计计

计计计计计计

计计

计计计计计计

计计计CPU

计计计计计计

计计计计计

GPU端主要任务

迭代求优

CPU端主要任务

生成初值

处理结果

Page 19: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

19

基于GPU的非线性优化

目标函数

降低自由度

优化方法

线程组织方式

1 1( , , )

( )( 1) / 2

n n

i ii j iN I I p

Ncc pn n

到光心的

高度h( , , )x y z h

( , , ) ( , )m n t

Nelder-Mead法

一种单纯形法,不必求

目标函数导数,适合于

GPU计算

多线程处理多个非线性优化,每一个负责一个整个的优化过程

Page 20: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

20

基于GPU的非线性优化

存储器的选择

纹理存储器

自动进行插值运算

有缓存、只读

常量存储器

容量小、速度快

存储图片

存储相机参数

Page 21: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

21

基于GPU的非线性优化

基于GPU的特征匹配

将所有可能

匹配点保存

下来

和串行算法相比的优势

同时得到所有匹配点,通过对这些点按照Ncc进行排序,

可优先处理精度较高的点。

和串行算法相比的劣势

会做一部分重复运算

Page 22: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

22

基于GPU的非线性优化

基于GPU的特征匹配

(a) (b) (c)

(a) (b) (c)

Page 23: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

23

基于GPU的非线性优化

基于GPU的特征匹配

数据集 三维点个数(C) 三维点个数(G) NCC平均值(C) NCC平均值(G)

DSR 1659 1536 0.879 0.902

DR 6957 7165 0.781 0.896

TSR 1337 1022 0.853 0.898

TR 5423 3974 0.746 0.869

通过并行的特征匹配,可以得到更少但更精确的三维点,

有利于接下来的点云扩张

Page 24: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

24

基于GPU的非线性优化

基于GPU的点云扩张

(a) (b) (d)(c)

(a) (b) (d)(c)

Page 25: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

25

基于GPU的非线性优化

基于GPU的点云扩张

0

20000

40000

60000

80000

100000

120000

match expand-1 filter-1 expand-2 final

三维

点( 个

)

DSR DR

TSR TR

点云变化曲线基本重合

Page 26: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

26

基于GPU的非线性优化

非线性优化加速比

与并发线程数有关,超过4000时趋于稳定

CPU平均执行

时间:5.2ms

GPU平均执行

时间:0.18ms

Page 27: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

27

基于GPU的非线性优化

泊松表面重建结果

(a) (b)

(d)(c)

(a) (b)

(d)(c)

Page 28: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

28

基于GPU的非线性优化

算法时间测试

数据集 图像个数 特征提取 特征匹配 第一次扩张 第二次扩张 泊松重建 总时间

DSR 16 1s 9s 45s 44s 13s 1m52sDSR(C) 16 26s 19s 276s 95s 13s 7m9s

DR 48 3s 43s 57s 118s 20s 4m1sDR(C) 48 78s 112s 557s 171s 21s 15m39sTSR 16 1s 8s 35s 40s 10s 1m34s

TSR(C) 16 24s 16s 245s 86s 10s 6m21sTR 47 3s 54s 55s 109s 19s 4m

TR(C) 47 76s 93s 540s 169s 21s 14m59s

Page 29: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

29

基于GPU的非线性优化

Middlebury测评

本文方法

对Temple重建效果较差,有待改进

Page 30: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

30

基于GPU的非线性优化

Middlebury测评

重建

算法

TempleRing TempleSparseRing DinoRing DinoSparseRing

Acc Com Time Acc Com Time Acc Com Time Acc Com Time

Furuka

wa[1]0.47 99.6 272:12 0.63 99.3 128:34 0.28 99.8 300:34 0.37 99.2 151:37

Zach[3] 0.56 99.0 0:33 0.51 99.1 0:35

Chang[4] 0.54 99.0 02:04 0.73 94.5 01:19 0.51 94.6 08:53 0.66 89.9 03:46

Merrell[5] 0.83 88.0 00:19 0.84 83.1 00:21

本文 0.78 94.4 04:00 0.97 86.5 01:34 0.58 98.9 04:01 0.61 97.7 01:52

[3] Fast and high quality fusion of depth maps. C. Zach et al. 2008 3DPVT

[4] GPU-friendly multi-view stereo reconstruction using surfel representation and graph cuts.

Ju Yong Chang et al. 2011 CVIU

[5] Real-time visibility-based fusion of depth maps. P. Merrell et al. 2007 ICCV

Page 31: 基于GPU的多视图三维重建developer.download.nvidia.com/GTC/PDF/1030_4.pdf3 选题背景与意义 基于侧影轮廓线的方法 原理:利用物体轮廓投影形成的视锥求交

31

谢谢!

敬请各位专家老师批评指正