๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ˜ŽAI/3D Reconstruction

[Paper Review] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

by SolaKim 2024. 10. 18.

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

Charles R. Qi* Hao Su* Kaichun Mo Leonidas J. Guibas 
Stanford University

 

 

 

Abstract

Point cloud ๋Š” ๊ธฐํ•˜ํ•™ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—์„œ ์ค‘์š”ํ•œ ์š”์†Œ์ด๋‹ค.
๊ธฐ์กด ์—ฐ๊ตฌ์ž๋“ค์€ Point cloud ์˜ ๋น„๊ทœ์น™์ ์ธ ๊ตฌ์„ฑ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ 3D voxel girds๋‚˜ Image collections๋กœ ๋ณ€ํ™˜ํ–ˆ๋‹ค.
=> ์ด์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์ƒ์„ธํ•˜๊ฒŒ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋งŽ์•„์ ธ์„œ ์„ฑ๋Šฅ์ €ํ•˜๋‚˜ ์‹œ์Šคํ…œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๊ทธ๋ฆฌํ•˜์—ฌ, ์ด ๋…ผ๋ฌธ์—์„œ๋Š” input์œผ๋กœ ๋“ค์–ด์˜ค๋Š” points๋“ค์˜ ์ˆœ์—ด ๋ถˆ๋ณ€์„ฑ(Permutation invariance)์„ ์ž˜ ๋ฐ˜์˜ํ•˜์—ฌ ์ง์ ‘์ ์œผ๋กœ Point cloud๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” novel type์˜ neural network๋ฅผ design ํ•˜์˜€๋‹ค.
=> PointNet์€ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ›์•„๋“ค์ด๋ฉด์„œ, ์ž…๋ ฅ๋œ ์ ๋“ค์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ๋™์ผํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ทธ novel type์˜ neural network ๋ฅผ ์ด ๋…ผ๋ฌธ์—์„œ๋Š” PointNet์œผ๋กœ ์ง€์นญํ•œ๋‹ค. ์ด๋Š” ๊ฐ์ฒด ๋ถ„๋ฅ˜(object classification), ๋ถ€๋ถ„ ๋ถ„ํ• (part segmentation), ์žฅ๋ฉด ์˜๋ฏธ ๋ถ„์„(scene semantic parsing)์„ ๋‹ค์–‘ํ•˜๊ฒŒ ํฌํ•จํ•œ application์„ ์œ„ํ•ด ํ†ตํ•ฉ๋œ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

PointNet์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋งค์šฐ ํšจ์œจ์ ์ด๊ณ  ํšจ๊ณผ์ ์ด๋‹ค. ์‹ค์ฆ์ ์œผ๋กœ SOTA (State of The Art) ๋ชจ๋ธ๋ณด๋‹ค ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ๋” ๋‚˜์€ ๊ฐ•ํ•œ performance๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.

 

Point cloud, Voxel, Mesh

 

 


Introduction

์ „ํ˜•์ ์ธ Convolutional architectures ์€ ์ด๋ฏธ์ง€๋‚˜ 3D voxel ์ฒ˜๋Ÿผ ์ผ์ •ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ํšจ์œจ์ ์ธ ๊ฐ€์ค‘์น˜ ๊ณต์œ (weight sharing)์™€ ์ตœ์ ํ™” ์ž‘์—… (other kernel optimizations) ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.

* ์—ฌ๊ธฐ์„œ "Convolutional" ์€ ํ•ฉ์„ฑ๊ณฑ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์ฃผ๋กœ "Convolutional Neural Network(CNN)"์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์€ ์ด๋ฏธ์ง€๋‚˜ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ๊ฐ’์€ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‹ ๊ฒฝ๋ง์˜ ํ•œ ์ข…๋ฅ˜๋กœ, ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ถ„์„ํ•˜๊ณ  ์ค‘์š”ํ•œ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. CNN์€ ์ฃผ๋กœ ์ด๋ฏธ์ง€ ์ธ์‹, ๊ฐ์ฒด ํƒ์ง€ ๋“ฑ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

PointNet ์ด ์ ์˜ ์ˆœ์—ด ๋ถˆ๋ณ€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ณ„์‚ฐ ๊ณผ์ •์—์„œ ๋Œ€์นญ์„ฑ(Symmetrizations) ์„ ๋ฐ˜์˜ํ•ด์•ผํ•˜๋ฉฐ, ๋” ๋‚˜์•„๊ฐ€ ๊ฐ•์ฒด ๋ณ€ํ™˜(Rigid motions) ์— ๋Œ€ํ•ด์„œ๋„ ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋™์ž‘ ํ•ด์•ผํ•œ๋‹ค. 

*  ์—ฌ๊ธฐ์„œ "Rigid motions" ๋Š” ๊ฐ•์ฒด ๋ณ€ํ™˜์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋ฌผ์ฒด๊ฐ€ ํ˜•ํƒœ๋ฅผ ์œ ์ง€ํ•œ ์ฑ„๋กœ ์œ„์น˜๋‚˜ ๋ฐฉํ–ฅ์ด ๋ณ€ํ•˜๋Š” ์›€์ง์ž„์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์ฆ‰, ๋ฌผ์ฒด๊ฐ€ ํšŒ์ „ํ•˜๊ฑฐ๋‚˜ ํ‰ํ–‰ ์ด๋™(๋ณ‘์ง„ ์šด๋™)ํ•˜๋”๋ผ๋„ ๊ทธ ๋ชจ์–‘์ด๋‚˜ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ณ€ํ™˜์ด๋‹ค.

 

PointNet ์€ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„์„œ, ์ „์ฒด ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ๊ฐ ์ ์— ๋Œ€ํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ถ„๋ฅ˜(์„ธ๊ทธ๋จผํŠธ ๋˜๋Š” ๋ถ€๋ถ„ ๋ ˆ์ด๋ธ”)๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค. 

PointNet ์€ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ ๋‚ด์—์„œ ์ค‘์š”ํ•œ ์ ๋“ค์„ ์‹๋ณ„ํ•˜๊ณ , ์™œ ๊ทธ ์ ๋“ค์ด ์œ ์˜๋ฏธํ•œ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ ํ•ด๋‹น ์ ๋“ค์„ ์ธ์ฝ”๋”ฉํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ์˜ ์ตœ์ข… ๊ณ„์ธต์—์„œ๋Š” ์ด์ „ ๋‹จ๊ณ„์—์„œ ํ•™์Šต๋œ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, ์ „์ฒด ํ˜•ํƒœ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ์ „์—ญ ํŠน์ง•์„ ๋งŒ๋“ค์–ด ํ˜•ํƒœ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ฑฐ๋‚˜, ๊ฐ๊ฐ€๊ทธ์ด ์ ์— ๋Œ€ํ•œ ๋ถ„ํ•  ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

์ด๋Ÿฌํ•œ PointNet์˜ ์ž…๋ ฅ ํ˜•์‹์€ ๊ฐ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ์ ๋“ค์ด ๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ•์ฒด ๋˜๋Š” ์•„ํ•€ ๋ณ€ํ™˜์„ ์ ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๋”์šฑ ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์ค€ํ™”ํ•จ์œผ๋กœ์จ PointNet์˜ ์„ฑ๋Šฅ์„ ๋” ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 


Related Work

1. Point Cloud Features

์š”์•ฝ : ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด ๊ธฐ์กด์˜ ์ˆ˜์ž‘์—… ํŠน์ง•๋“ค์ด ์ž‘์—…์— ๋งž์ถฐ ์„ค๊ณ„๋˜๋ฉฐ, ๋ณธ์งˆ์ (intrinsic) ๋˜๋Š” ์™ธ์  ๋ถˆ๋ณ€์„ฑ(extrinsic)์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„๋˜์ง€๋งŒ, ์ตœ์ ์˜ ํŠน์ง• ์กฐํ•ฉ์„ ์ฐพ๋Š” ๊ฒƒ์€ ๋ณต์žกํ•˜๋‹ค.

2. Deep Learning on 3D Data

    1 . ์š”์•ฝ : 3D ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด Volumetrix CNN์ด Voxelํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ํฌ์†Œ์„ฑ๊ณผ ๊ณ„์‚ฐ ๋น„์šฉ ๋ฌธ์ œ๋กœ ์ธํ•ด ํ•ด์ƒ๋„์— ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๊ฐœ์„ ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋งค์šฐ ํฐ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ ์ฒ˜๋ฆฌ์—๋Š” ์–ด๋ ค์›€์ด ์žˆ๋‹ค.
    2. ์š”์•ฝ : 3D ๋ฐ์ดํ„ฐ๋ฅผ 2D ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” Multiview CNN ๋ฐฉ์‹์ด 3D ํ˜•ํƒœ ๋ถ„๋ฅ˜์—์„œ๋Š” ์šฐ์ˆ˜ํ•œ ์„ฑ๊ณผ๋ฅผ ๋ƒˆ์ง€๋งŒ, ์ด๋ฅผ ๋” ๋ณต์žกํ•œ ์žฅ๋ฉด ์ดํ•ด(scence understanding) ๋‚˜, ์  ๋ถ„๋ฅ˜(point classification), ํ˜•ํƒœ ์™„์„ฑ(shape completion)๊ณผ ๊ฐ™์€ 3D ์ž‘์—…์œผ๋กœ ํ™•์žฅํ•˜์—ฌ ์ ์šฉํ•˜๋Š” ๋ฐ์—๋Š” ์–ด๋ ค์›€์ด ์žˆ๋‹ค.
    3. ์š”์•ฝ : Spectral CNN์€ ํŠน์ • ์œ ํ˜•์˜ Mesh, ํŠนํžˆ ์œ ๊ธฐ์ฒด ๊ฐ™์€ ๋ฌผ์ฒด์— ์ž˜ ๋งž์ง€๋งŒ, ๊ฐ€๊ตฌ์ฒ˜๋Ÿผ ํ˜•ํƒœ๊ฐ€ ๋‹ค์–‘ํ•˜๊ณ  ๋“ฑ๊ฑฐ๋ฆฌ ๋ณ€ํ™˜์ด ์–ด๋ ค์šด ๋น„๋“ฑ๊ฑฐ๋ฆฌ(non-isometric) ํ˜•์ƒ์—๋Š” ์ ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
    4. ์š”์•ฝ : Feature-based DNN (Deep Neural Network) ๋ฐฉ์‹์€ 3D ๋ฐ์ดํ„ฐ๋ฅผ ํ˜•์ƒ ํŠน์ง• ์ถ”์ถœํ•˜์—ฌ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•œ ๋‹ค์Œ, Fully Connected Network๋ฅผ ์‚ฌ์šฉํ•ด ํ˜•์ƒ์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์€ ์ถ”์ถœ๋œ ํŠน์ง•๋“ค์ด ์–ผ๋งˆ๋‚˜ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ํ‘œํ˜„ํ•˜๋Š๋ƒ์— ๋‹ฌ๋ ค ์žˆ๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค

3. Deep Learning on Unordered Sets

์š”์•ฝ : ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋Š” ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ๋”ฅ๋Ÿฌ๋‹ ์—ฐ๊ตฌ๋Š” ์ฃผ๋กœ ์ˆœ์„œ๋‚˜ ๊ทœ์น™์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์ง‘์ค‘๋˜์–ด ์žˆ์œผ๋ฉฐ, ํฌ์ธํŠธ ์ง‘ํ•ฉ์„ ๋‹ค๋ฃจ๋Š” ์—ฐ๊ตฌ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ ๋‹ค.

 


Problem Statement

์ด ๋…ผ๋ฌธ์—์„œ๋Š” ์ˆœ์„œ๊ฐ€ ์—†๋Š” ์  ์ง‘ํ•ฉ์„ ์ง์ ‘ ์ž…๋ ฅ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ค๊ณ„ํ–ˆ๋‹ค.

ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ : {Pi | i = 1, …, n} ๊ณผ ๊ฐ™์ด 3D ์ ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ‘œํ˜„๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ ๊ฐ ์  Pi๋Š” (x, y, z) ์ขŒํ‘œ์™€ ์ƒ‰์ƒ, ๋ฒ•์„  ๋“ฑ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ ํŠน์ง• ์ฑ„๋„์„ ๊ฐ€์ง„ ๋ฒกํ„ฐ์ด๋‹ค. +) ๋‹จ์ˆœ์„ฑ๊ณผ ๋ช…ํ™•์„ฑ์„ ์œ„ํ•ด, ๋ณ„๋„๋กœ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š๋Š” ํ•œ (x, y, z) ์ขŒํ‘œ๋งŒ์„ ์ ์˜ ์ฑ„๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๊ฐ์ฒด ๋ถ„๋ฅ˜์˜ ๊ฒฝ์šฐ K๊ฐœ์˜ ํ›„๋ณด ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์˜๋ฏธ๋ก ์  ๋ถ„ํ• ์—์„œ๋Š” ๊ฐ ์ ์— ๋Œ€ํ•ด ํ•ด๋‹นํ•˜๋Š” m๊ฐœ์˜ ์˜๋ฏธ ๋ฒ”์ฃผ์— ๋Œ€ํ•œ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ ์ ์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค.

 


Deep Learning on Point Sets

n์ฐจ์› ์œ ํด๋ฆฌ๋“œ ๊ณต๊ฐ„(R^n) ์—์„œ์˜ ์  ์ง‘ํ•ฉ์˜ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. ๋น„์ˆœ์„œ์„ฑ(Unordered)

: ์ด๋ฏธ์ง€์˜ ํ”ฝ์…€ ๋ฐฐ์—ด์ด๋‚˜ ๋ณผ๋ฅจ ๊ทธ๋ฆฌ๋“œ์˜ ๋ณต์…€ ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ, ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋Š” ํŠน์ •ํ•œ ์ˆœ์„œ๊ฐ€ ์—†๋Š” ์ ๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค. ์ฆ‰, ๋„คํŠธ์›Œํฌ๊ฐ€ N ๊ฐœ์˜ 3D ์  ์ง‘ํ•ฉ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ (N!๊ฐœ์˜ ์ˆœ์—ด์œผ๋กœ์จ) ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. 

2. ์  ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ(Interaction among points)

: ํด๋ผ์šฐ๋“œ์˜ ์ ๋“ค์€ ๊ฑฐ๋ฆฌ ์ฒ™๋„๊ฐ€ ์žˆ๋Š” ๊ณต๊ฐ„์—์„œ ๋‚˜์˜จ๋‹ค. ์ฆ‰, ์ ๋“ค์€ ๊ณ ๋ฆฝ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ, ์ด์›ƒํ•œ ์ ๋“ค์ด ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ํ˜•์„ฑํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋ธ์€ ๊ฐ€๊นŒ์šด ์ ๋“ค ์‚ฌ์ด์˜ ์ง€์—ญ ๊ตฌ์กฐ๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์ง€์—ญ ๊ตฌ์กฐ๋“ค ๊ฐ„์˜ ์กฐํ•ฉ์  ์ƒํ˜ธ์ž‘์šฉ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์•ผ ํ•œ๋‹ค.

3. ๋ณ€ํ™˜ ๋ถˆ๋ณ€์„ฑ(Invariance under transformations)

: ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋Š” ๊ธฐํ•˜ํ•™์  ๊ฐ์ฒด์ด๋ฏ€๋กœ ํ•™์Šต๋œ ํ‘œํ˜„์€ ํŠน์ • ๋ณ€ํ™˜์— ๋Œ€ํ•ด ๋ถˆ๋ณ€์„ฑ์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ์ ๋“ค์ด ์ „์ฒด์ ์œผ๋กœ ํšŒ์ „ํ•˜๊ฑฐ๋‚˜ ์ด๋™ํ•˜๋”๋ผ๋„ ์ „์ฒด ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ๋ฒ”์ฃผ๋‚˜ ์ ๋“ค์˜ ๋ถ„ํ• ์ด ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

 

PointNet Architecture

์œ„ ๊ทธ๋ฆผ์€ PointNet ์˜ Architecture์ด๋‹ค.
- classification network๋Š” n ๊ฐœ์˜ points ๋ฅผ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ›๋Š”๋‹ค.
- Max pooling* ์„ ์ด์šฉํ•˜์—ฌ point features ๋ฅผ ํ†ตํ•ฉํ•œ๋‹ค. 
- ์ถœ๋ ฅ๋ฐ›์€ k ๊ฐœ์˜ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜ ์ ์ˆ˜์ด๋‹ค.
- segmentation network๋Š” classification net์— ๋Œ€ํ•œ ํ™•์žฅ์ด๋‹ค. ์ด๋Š” global๊ณผ local features๋ฅผ ๊ฐ ํฌ์ธํŠธ ์ ์ˆ˜๋งˆ๋‹ค concaternate ํ•œ๋‹ค.
- MLP* ๋Š” ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์œผ๋กœ, ๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ์ˆซ์ž ๊ฐ’๋“ค์€ ๊ฐ ์ธต์˜ ํฌ๊ธฐ(๋‰ด๋Ÿฐ ๊ฐœ์ˆ˜)๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
- ๋ชจ๋“  ์ธต์— ReLU ํ™œ์„ฑํ™” ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ๋ฐฐ์น˜์ •๊ทœํ™”(BatchNorm) ์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋น„์„ ํ˜•์„ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
- ๋ถ„๋ฅ˜ ์ž‘์—…์˜ ๋งˆ์ง€๋ง‰ MLP์—์„œ๋Š” ๋“œ๋กญ์•„์›ƒ* ์ด ์ ์šฉ๋˜์–ด ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

* Max pooling ์ด๋ž€, ๋”ฅ๋Ÿฌ๋‹์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์šด ์ƒ˜ํ”Œ๋ง ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์ฃผ์–ด์ง„ ์˜์—ญ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์„ ํƒํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ์—ฐ์‚ฐ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN)์—์„œ ํŠน์ง• ๋งต์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋ฉด์„œ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๊ณ , ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. 
์ฃผ์š” ๋ชฉ์ ์€ ๊ณต๊ฐ„์  ์ฐจ์›์„ ์ค„์ด๋ฉด์„œ๋„ ๊ฐ€์žฅ ์ค‘์š”ํ•œ (๊ฐ€์žฅ ํฐ ๊ฐ’) ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ฑฐ๋‚˜ ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

* MLP๋Š” fully connected network์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, ์ฃผ๋กœ ๋น„์„ ํ˜• ๋ณ€ํ™˜์„ ํ†ตํ•ด ์ž…๋ ฅ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

* ๋“œ๋กญ์•„์›ƒ์€ ์ผ๋ถ€ ๋‰ด๋Ÿฐ์„ ๋ฌด์ž‘์œ„๋กœ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋” ์ผ๋ฐ˜ํ™”๋œ ์„ฑ๋Šฅ์„ ๋‚ด๋„๋ก ๋•๋Š”๋‹ค.

์ „์ฒด ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ถ„๋ฅ˜ ๋„คํŠธ์›Œํฌ์™€ ๋ถ„ํ•  ๋„คํŠธ์›Œํฌ๊ฐ€ ๋งŽ์€ ๊ตฌ์กฐ๋ฅผ ๊ณต์œ ํ•œ๋‹ค. ์ด ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ์„ธ ๊ฐ€์ง€์˜ ์ฃผ์š” ๋ชจ๋“ˆ์ด ์žˆ๋‹ค.

1. ๋ชจ๋“  ์ ๋“ค๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ์ง‘๊ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์นญ ํ•จ์ˆ˜๋กœ์„œ์˜ max pooling ์ธต [PointNet ๊ตฌ์กฐ ๊ทธ๋ฆผ์—์„œ ๋นจ๊ฐ„ ์ƒ์ž๋ถ€๋ถ„]

์ž…๋ ฅ ์ˆœ์—ด์— ๋Œ€ํ•ด ๋ถˆ๋ณ€์„ฑ์„ ๊ฐ€์ง€๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์„ธ๊ฐ€์ง€ ์ „๋žต์ด ์žˆ๋‹ค.

- ์ž…๋ ฅ์„ ์ •๋ ฌํ•˜์—ฌ ํ‘œ์ค€ ์ˆœ์„œ(Canonical Order) ๋กœ ๋ฐฐ์น˜
 : ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•ด์„œ ์ผ์ •ํ•œ ํ‘œ์ค€ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฅด๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋ธ์ด ํ•ญ์ƒ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ์ž…๋ ฅ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๋”๋ผ๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜จ๋‹ค.
=> ์  ์ง‘ํ•ฉ์„ ์ •๋ ฌํ•œ ํ›„ ์ฒ˜๋ฆฌํ•ด๋„ ์ˆœ์„œ ๋ฌธ์ œ๋ฅผ ์™„์ „ํžˆ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๊ณ , ๋ชจ๋ธ์ด ์ผ๊ด€๋œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๊ธฐ ์–ด๋ ต๋‹ค.
=> ์ •๋ ฌ์œผ๋กœ ๊ทผ๋ณธ์  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์—†๋‹ค.

- ์ž…๋ ฅ์„ ์‹œํ€€์Šค๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  RNN ํ›ˆ๋ จ
 : ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์‹œํ€€์Šค๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง(RNN, Recurrent Neural Network) ์„ ์‚ฌ์šฉํ•ด ํ•™์Šตํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์–‘ํ•œ ์ˆœ์—ด(์ž…๋ ฅ ์ˆœ์„œ)์„ ๋ชจ๋‘ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์ˆœ์—ด์— ๋Œ€ํ•ด ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ฆ๊ฐ•(Augment) ํ•˜์—ฌ ํ•™์Šตํ•ด์•ผ๋œ๋‹ค. ์ฆ‰, ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ผ๋„ ์ˆœ์„œ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋ฐฐ์น˜ํ•œ ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.
=> RNN์„ ์ด์šฉํ•œ ์ ‘๊ทผ์€ ์ž…๋ ฅ ์ˆœ์„œ์— ์–ด๋Š ์ •๋„ ๊ฒฌ๊ณ ์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์  ์ง‘ํ•™๊ณผ ๊ฐ™์ด ์ˆ˜๋งŽ์€ ์ž…๋ ฅ์„ ๋‹ค๋ฃฐ ๋•Œ์—๋Š” ๊ทธ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋ฉฐ, ์‹ค์ œ๋กœ ์‹คํ—˜๊ฒฐ๊ณผ์—์„œ๋„ RNN ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์ด ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋‚ฎ๋‹ค๋Š” ์ ์„ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค.

- ๋Œ€์นญ ํ•จ์ˆ˜ ์‚ฌ์šฉ
 : ์ž…๋ ฅ๋œ ๊ฐ ์ ์—์„œ ์–ป์€ ์ •๋ณด๋ฅผ ์ง‘๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์นญ์ ์ธ ํ•จ์ˆ˜(Symmetric function, ์ˆœ์„œ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ํ•จ์ˆ˜)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋Œ€์นญ ํ•จ์ˆ˜๋Š” n๊ฐœ์˜ ๋ฒกํ„ฐ(์˜ˆ: ์ž…๋ ฅ๋œ ์ ๋“ค)๋ฅผ ๋ฐ›์•„๋“ค์ด๊ณ , ์ž…๋ ฅ ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ง์…ˆ(+)๊ณผ ๊ณฑ์…ˆ(*)์€ ์ž…๋ ฅ ์ˆœ์„œ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ๋Œ€์นญ์ ์ธ ์ดํ•ญ ํ•จ์ˆ˜์ด๋‹ค. 

=> ํ•จ์ˆ˜ h๋Š” ๋‹ค์ธต ํผ์…‰ํŠธ๋ก (MLP) ๋„คํŠธ์›Œํฌ๋กœ ๊ทผ์‚ฌํ•˜๊ณ , ํ•จ์ˆ˜ g๋Š” ๋‹จ์ผ ๋ณ€์ˆ˜ ํ•จ์ˆ˜์™€ max pooling ํ•จ์ˆ˜์˜ ์กฐํ•ฉ์œผ๋กœ ๊ทผ์‚ฌํ•œ๋‹ค. 
=> ์‹ค์ œ ๋ฌธ์ œ์— ์ ์šฉํ•ด๋ณด๋ฉด point n๊ฐœ๊ฐ€ mlp๋กœ ์ด๋ฃจ์–ด์ง„ function์— input์œผ๋กœ ๊ฐ๊ฐ ๋“ค์–ด๊ฐ€๊ณ  output์œผ๋กœ ๋‚˜์˜จ๊ฐ’๋“ค์€ max poolingํ•ฉ๋‹ˆ๋‹ค. 
=> ์‹คํ—˜ ๊ฒฐ๊ณผ ์ด ๋ฐฉ๋ฒ•์ด ์ž˜ ์ž‘๋™ํ•จ์„ ํ™•์ธํ–ˆ๋‹ค. ๋‹ค์–‘ํ•œ h๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ f๋ฅผ ํ•™์Šตํ•˜์—ฌ ์  ์ง‘ํ•ฉ์˜ ๋‹ค์–‘ํ•œ ์†์„ฑ์„ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 
=> ์–ด๋–ค ์ˆœ์„œ๋กœ point๊ฐ€ model๋กœ ๋“ค์–ด๊ฐ€๋”๋ผ๋„ max pooling์„ ํ†ตํ•ด ๋‚˜์˜ค๋Š” ๊ฐ’์€ ๋™์ผํ•ด์ง„๋‹ค.

* ๋Œ€์นญ ํ•จ์ˆ˜๋Š” N๊ฐœ์˜ ๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›์•˜์„ ๋•Œ N๊ฐœ์˜ ๋ฒกํ„ฐ์˜ ์ž…๋ ฅ ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ํ•ญ์ƒ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ, ๋Œ€์นญ ํ•จ์ˆ˜๋ž€ ์ •์˜์—ญ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์˜ˆ : f(x1, x2) = f(x2, x1)

 

2. Local ๋ฐ Global ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ๊ตฌ์กฐ [PointNet ๊ตฌ์กฐ ๊ทธ๋ฆผ์—์„œ ํŒŒ๋ž‘ ์ƒ์ž๋ถ€๋ถ„]

 ์œ„์˜ ์„น์…˜์—์„œ ๋‚˜์˜จ ์ถœ๋ ฅ์€ [f1, …, fK] ๋ฒกํ„ฐ๋ฅผ ํ˜•์„ฑํ•œ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ์ž…๋ ฅ๋œ ์  ์ง‘ํ•ฉ์—์„œ ์ถ”์ถœ๋œ ์ „์—ญ ํŠน์ง•์„ ์‚ฌ์šฉํ•˜์—ฌ SVM ๋˜๋Š” MLP ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ์‰ฝ๊ฒŒ ํ›ˆ๋ จํ•˜์—ฌ ํ˜•์ƒ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์  ๋ถ„ํ•  ์ž‘์—…์—๋Š” ์ง€์—ญ์  ์ •๋ณด์™€ ์ „์—ญ์  ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์ƒ๊ฐํ•ด์•ผ๋œ๋‹ค. 

=> PointNet์ด Object Classification ์ž‘์—…๋งŒ ํ•œ๋‹ค๋ฉด ์œ„์˜ 1๋ฒˆ์—์„œ ๊ตฌํ•œ Global feature๋งŒ ์žˆ์œผ๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ Segmentation(๋ถ„ํ• )์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Local feature๋„ ์•Œ์•„์•ผํ•œ๋‹ค.

=> Global Feature ๊ณ„์‚ฐ์ด ๋๋‚˜๋ฉด, Local Feature ๋’ค์— Global Feature ๋ฒกํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์‹์œผ๋กœ ํ†ตํ•ฉํ•œ๋‹ค. ํ†ตํ•ฉํ•œ n x 1088 ํฌ๊ธฐ์˜ ์ƒˆ๋กœ์šด ๋ฒกํ„ฐ๊ฐ€ FC๋ฅผ ๊ฑฐ์ง€๋ฉด์„œ ์ƒˆ๋กœ์šด Point feature๋ฅผ ๊ฐ–๋Š” n x 128 ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. 

=> ์ด๋Š” ์ „์—ญ ํŠน์ง•์„ ๊ฐ ์ ์˜ ํŠน์ง•์— ๊ฒฐํ•ฉํ•จ์œผ๋กœ์จ, ๊ฐ ์ ์ด ์ฃผ๋ณ€์˜ ์ง€์—ญ์  ์ •๋ณด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ „์ฒด ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ์ „์—ญ์  ์ •๋ณด๊นŒ์ง€ ๋ฐ˜์˜๋œ ์ƒˆ๋กœ์šด ํŠน์ง•์„ ์–ป๊ฒŒ ๋œ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์  ๋ถ„ํ•  ์ž‘์—…์—์„œ ์ง€์—ญ ๋ฐ ์ „์—ญ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•œ ๋” ํšจ๊ณผ์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

=> ์ด๋Ÿฌํ•œ modification์„ ํ†ตํ•ด PointNet์€ ์ง€์—ญ ๊ธฐํ•˜ํ•™๊ณผ ์ „์—ญ ์˜๋ฏธ์— ์˜์กดํ•˜๋Š” ์ ๋ณ„ ๊ฐ’์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์  ๋ณ„๋กœ ๋ฒ•์„ ์„ ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐ ์ ์˜ ์ง€์—ญ์  ์ด์›ƒ์—์„œ ์ •๋ณด๋ฅผ ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. => ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐ ์ ์˜ ์ง€์—ญ์ ์ธ ์ •๋ณด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ „์ฒด์ ์ธ ๋งฅ๋ฝ์„ ์ž˜ ํ™œ์šฉํ•˜์—ฌ ๋” ์ •ํ™•ํ•œ ์˜ˆ์ธก์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

3. ์ž…๋ ฅ ์ ๊ณผ ์  ํŠน์ง•์„ ์ •๋ ฌํ•˜๋Š” ๋‘๊ฐœ์˜ ๊ณตํ†ต ์ •๋ ฌ ๋„คํŠธ์›Œํฌ [PointNet ๊ตฌ์กฐ ๊ทธ๋ฆผ์—์„œ ์ดˆ๋ก ์ƒ์ž๋ถ€๋ถ„]

 ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๊ฐ€ ํšŒ์ „, ์ด๋™ ๋“ฑ์˜ ๊ฐ•์ฒด ๋ณ€ํ™˜์„ ๊ฒช๋”๋ผ๋„ ์˜๋ฏธ์  ๋ผ๋ฒจ๋ง์ด ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ ค๋ฉด, ํ•™์Šต ๊ณผ์ •์—์„œ ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜์— ๋Œ€ํ•œ ๋ถˆ๋ณ€์„ฑ์„ ํ™•๋ณดํ•ด์•ผํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์ค€ ๊ณต๊ฐ„์— ์ •๋ ฌํ•˜๊ฑฐ๋‚˜, Jaderberg์˜ ๊ณต๊ฐ„ ๋ณ€ํ™˜๊ธฐ(์ƒ˜ํ”Œ๋ง๊ณผ ๋ณด๊ฐ„๋ฒ•์„ ํ†ตํ•ด 2D ์ด๋ฏธ์ง€๋ฅผ ์ •๋ ฌ)์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

"T-net์„ ๊ฑฐ์น˜๋ฉด์„œ ๋ชจ๋“  ์ ๋“ค์ด ํ‘œ์ค€ํ™”๋œ ๊ณต๊ฐ„์— ๋†“์ด๊ฒŒ ํ•˜๋Š”๊ฒŒ ๋ชฉ์ ". ์ฆ‰, T-Net ์ด 3 x 3 ํฌ๊ธฐ์˜ ์•„ํ•€ ๋ณ€ํ™˜ ํ–‰๋ ฌ์„ ์ž˜ ์˜ˆ์ธกํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค. n x 3 ํฌ๊ธฐ์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” 3 x 3 ํฌ๊ธฐ์˜ ์•„ํ•€ ๋ณ€ํ™˜ ํ–‰๋ ฌ๊ณผ ๊ณฑํ•ด์ ธ์„œ ํ‘œ์ค€ํ™”๊ฐ€ ๋œ๋‹ค.

 ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ์ž…๋ ฅ ํ˜•์‹์€ ์ƒˆ๋กœ์šด ๋ ˆ์ด์–ด๋ฅผ ๋ฐœ๋ช…ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ ์™œ๊ณก(aliasing)๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. 
์ด ๋…ผ๋ฌธ์—์„œ๋Š” ์ž‘์€ ๋„คํŠธ์›Œํฌ(T-net)์„ ํ†ตํ•ด ์•„ํ•€ ๋ณ€ํ™˜ ํ–‰๋ ฌ์„ ์˜ˆ์ธกํ•˜๊ณ , ์ด ๋ณ€ํ™˜์„ ์ž…๋ ฅ ์ ๋“ค์˜ ์ขŒํ‘œ์— ์ง์ ‘ ์ ์šฉํ•œ๋‹ค. ์ด ๋ฏธ๋‹ˆ ๋„คํŠธ์›Œํฌ๋Š” ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•˜๊ฒŒ ์„ค๊ณ„๋œ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

=> โญ๏ธ Input transformation ์„ ๊ฑฐ์น˜๊ณ  ๋‚˜์„œ ์ถœ๋ ฅ๋œ n x 3 ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ๋Š” FC๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ feature ๊ฐ€ ์ถ”์ถœ๋œ๋‹ค.์ด ๋•Œ ์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ๋Š” n x 64 ํฌ๊ธฐ์ธ๋ฐ, Feature ๊ณต๊ฐ„์— ๋Œ€ํ•ด์„œ๋„ ํ‘œ์ค€ํ™” ์ž‘์—…์„ ๊ฑฐ์น˜๊ธฐ ์œ„ํ•ด ๋‘ ๋ฒˆ์งธ T-Net์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋•Œ T-Net์€ Feature ๋ณ€ํ™˜ ํ–‰๋ ฌ์„ ์˜ˆ์ธกํ•˜๊ณ  ๋‘๋ฒˆ์งธ T-Net์€ 64 x 64 ํฌ๊ธฐ์˜ ํ–‰๋ ฌ์„ ์˜ˆ์ธกํ•œ๋‹ค. ์ด๊ฒƒ์€ ์ฒซ๋ฒˆ์งธ T-Net์ด ์˜ˆ์ธกํ•œ 3 x 3 ๋ณด๋‹ค ํ›จ์”ฌ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šตํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค. ๊ทธ๋ž˜์„œ PointNet ์˜ Softmax Loss ์— ์•„๋ž˜์˜ Regularizaion ํ•ญ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. 

์ด ์•„์ด๋””์–ด๋Š” ํŠน์ง• ๊ณต๊ฐ„์˜ ์ •๋ ฌ์—๋„ ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋‹ค. 
ํŠน์ง• ๊ณต๊ฐ„์—์„œ ์ž…๋ ฅ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ํŠน์ง•์„ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€ํ™˜ ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์ด ํ–‰๋ ฌ์˜ ์ฐจ์›์ด ์ปค์ง€๋ฉด์„œ ์ตœ์ ํ™”๊ฐ€ ์–ด๋ ค์›Œ์ง€๋ฏ€๋กœ, ๋ณ€ํ™˜ ํ–‰๋ ฌ์ด ์ง๊ต ํ–‰๋ ฌ์— ๊ฐ€๊น๊ฒŒ ๋˜๋„๋ก ์ œ์•ฝ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์•ˆ์ „์„ฑ์„ ๋†’์ธ๋‹ค

A๋Š” ๋ฏธ๋‹ˆ ๋„คํŠธ์›Œํฌ(T-net)์— ์˜ํ•ด ์˜ˆ์ธก๋œ ํŠน์ง• ์ •๋ ฌ ํ–‰๋ ฌ์ด๋‹ค. ์ง๊ต ๋ณ€ํ™˜์€ ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ๋•Œ ์ •๋ณด ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์ƒ์ ์ด๋‹ค. Lreg์™€ ๊ฐ™์€ ์ •๊ทœํ™” ํ•ญ์„ ๋„์ž…ํ•จ์œผ๋กœ์จ ๋„คํŠธ์›Œํฌ์˜ ํ•™์Šต ๊ณผ์ •์ด ๋” ์•ˆ์ •์ ์ด๊ฒŒ ๋˜๊ณ , ๋ชจ๋ธ์˜ ์ตœ์ข… ์„ฑ๋Šฅ๋„ ๊ฐœ์„ ๋œ๋‹ค.

=> ๊ณ ์ฐจ์› ๊ณต๊ฐ„์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ๋•Œ, ๋ณ€ํ™˜ ํ–‰๋ ฌ์ด ๋„ˆ๋ฌด ๋ณต์žกํ•ด์ง€์ง€ ์•Š๊ณ  ์ ์ ˆํžˆ ์ œ์–ด๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. ๋ณ€ํ™˜ ํ–‰๋ ฌ์ด ์ง๊ต ํ–‰๋ ฌ์— ๊ฐ€๊น๋„๋ก ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์œ„์™€ ๊ฐ™์€ ํ•ญ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ€์ค‘์น˜๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ์ปค์ง€์ง€ ์•Š๋„๋ก ์ œ์•ฝ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.


Theoretical Analysis

์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊นŠ์ด ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ด๋ฅผ ํ•œ ์ˆ˜์ค€ ์ •๋„๋กœ๋งŒ ์–˜๊ธฐ๋ฅผ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

์ถฉ๋ถ„ํžˆ ๋งŽ์€ α๊ฐ€ ์žˆ์„๋•Œ (point๋“ค์ด ์žˆ์„๋•Œ) Hausdorff distance์˜ max๊ฐ’ (global max pooling)์€ general function๊ณผ ฯต(๋งค์šฐ์ž‘์€) ์ฐจ์ด๋ฐ–์— ๋‚˜์ง€ ์•Š๋‹ค๋Š” ๋œป
์ถœ์ฒ˜: https://jaehoon-daddy.tistory.com/46?category=1053336

์ด ์ •๋ฆฌ๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ์  ์ง‘ํ•ฉ ํ•จ์ˆ˜ f ๋ฅผ ๊ทผ์‚ฌํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ค€๋‹ค. 
ํ•ต์‹ฌ์€ ๋„คํŠธ์›Œํฌ๊ฐ€ point cloud data๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ h ์™€ gamma ๋ผ๋Š” ๋‘๊ฐ€์ง€ ์—ฐ์† ํ•จ์ˆ˜์™€ MAX ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ, ๊ฐ ์ ์—์„œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์ด๋ฅผ ์ง‘ํ•ฉ ์ „์ฒด์˜ ์ตœ๋Œ€๊ฐ’์œผ๋กœ ์š”์•ฝํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์  ์ง‘ํ•ฉ์˜ ํŠน์ง•์„ ํšจ๊ณผ์ ์œผ๋กœ ์บก์ฒ˜ํ•œ๋‹ค.


(a) ์ค‘์š”ํ•œ ์ ๋“ค์ด ์œ ์ง€๋˜๋ฉด ์ถœ๋ ฅ์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
: ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋˜๊ฑฐ๋‚˜ ๋…ธ์ด์ฆˆ๊ฐ€ ์ถ”๊ฐ€๋˜๋”๋ผ๋„, ์ค‘์š”ํ•œ ๋ช‡ ๊ฐœ์˜ ์ ๋“ค๋งŒ ๊ทธ๋Œ€๋กœ ์žˆ์œผ๋ฉด ๋„คํŠธ์›Œํฌ์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

(b) ์ค‘์š”ํ•œ ์ ๋“ค์€ ์œ ํ•œํ•œ ์ˆ˜๋กœ ์ œํ•œ๋œ๋‹ค.
: ์ค‘์š”ํ•œ ์ ๋“ค์€ ๋„คํŠธ์›Œํฌ์˜ ๋ณ‘๋ชฉ ์ฐจ์›(K)๋ณด๋‹ค ๋งŽ์„ ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ์ด K ๋ผ๋Š” ๊ฐ’์— ์˜ํ•ด ์ค‘์š”ํ•œ ์ ๋“ค์˜ ์ˆ˜๊ฐ€ ์ œํ•œ๋œ๋‹ค.

=> ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”ํ•œ ์ ๋“ค๋งŒ ์„ ํƒํ•˜์—ฌ ํ•™์Šตํ•˜๊ณ , ๊ทธ ์ ๋“ค๋งŒ์œผ๋กœ๋„ ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด์ ์ธ ์ •๋ณด๋ฅผ ์ž˜ ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ค€๋‹ค. ์ด ์ ๋“ค์€ ๋งˆ์น˜ ๊ฐ์ฒด์˜ '๊ณจ๊ฒฉ'์ฒ˜๋Ÿผ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”ํ•œ ํŠน์ง•์„ ๋Œ€ํ‘œํ•œ๋‹ค.

๋”ฐ๋ผ์„œ, ๋„คํŠธ์›Œํฌ๋Š” ์ ์ด ๋ณ€ํ˜• ๋˜๊ฑฐ๋‚˜ ์ผ๋ถ€ ๋…ธ์ด์ฆˆ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด๋„ ์ค‘์š”ํ•œ ์ ๋“ค๋งŒ ์œ ์ง€๋˜๋ฉด ์•ˆ์ •์ ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ๊ฐ€ ๋” ๊ฒฌ๊ณ ํ•ด์ง„๋‹ค!

 


Experiment

์‹คํ—˜์€ 4๊ฐ€์ง€ ํŒŒํŠธ๋กœ ๋‚˜๋‰œ๋‹ค.

1. PointNet์ด ๋‹ค์ค‘์œผ๋กœ 3D ์ธ์ง€ ์ž‘์—…์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€

2. ๋„คํŠธ์›Œํฌ์˜ design์ด ๊ฒ€์ฆ๋  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์‹คํ—˜๋“ค

3. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ฌด์—‡์„ ํ•™์Šตํ–ˆ๋Š”์ง€ ์‹œ๊ฐํ™”

4. ์‹œ๊ฐ„ ๋ฐ ๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

 

1. PointNets can be applied to multiple 3D recognition tasks

   1-1. 3D Objection Classification

 ๋„คํŠธ์›Œํฌ๋Š” ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ์ „๋ฐ˜์ ์ธ ํŠน์ง•์„ ํ•™์Šตํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด 3D ๊ฐ์ฒด ๋ถ„๋ฅ˜์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ModelNet40 ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•œ๋‹ค. ModelNet40 ๋Š” 40๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด ๋ฒ”์ฃผ๋กœ ์ด๋ฃจ์–ด์ง„ 3D ํ˜•ํƒœ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค.

๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์€ 3D ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๋ณต์…€(Volumetric data)์ด๋‚˜ ์—ฌ๋Ÿฌ ๊ฐ๋„์˜ 2D ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜, ์ด ์—ฐ๊ตฌ์—์„œ ์ตœ์ดˆ๋กœ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ทธ๋ž˜๋„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ ‘๊ทผ๋ฒ•์„ ์ œ์‹œ.

๋„คํŠธ์›Œํฌ๋Š” Mesh ๋ฉด์˜ ๋ฉด์ ์— ๋”ฐ๋ผ 1024๊ฐœ์˜ ์ ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ์ƒ˜ํ”Œ๋งํ•˜๊ณ (์„ ํƒํ•˜๊ณ ), ์ด๋ฅผ Unit Sphere๋กœ ์ •๊ทœํ™”ํ•œ๋‹ค. training ์ค‘์—๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ์ฆ๊ฐ•ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด๋ฅผ ์ƒํ–ฅ ์ถ•(up-axis)์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌด์ž‘์œ„๋กœ ํšŒ์ „์‹œํ‚ค๊ณ , ๊ฐ ์ ์˜ ์œ„์น˜์— ํ‰๊ท ์ด 0์ด๊ณ  ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ 0.02์ธ ๊ฐ€์šฐ์‹œ์•ˆ ๋…ธ์ด์ฆˆ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. => ํ›ˆ๋ จ ์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์ž‘์œ„ ํšŒ์ „๊ณผ ์•ฝ๊ฐ„์˜ ๋…ธ์ด์ฆˆ ์ถ”๊ฐ€ํ•˜์—ฌ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ์ฆ๊ฐ•ํ•˜๋Š” ๋ฐฉ์‹

<Table 1> ์„ ๋ณด๋ฉด 3D ์ž…๋ ฅ(mesh, volume, point) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ฐฉ๋ฒ•๋“ค ์ค‘์—์„œ๋Š” Ours PointNet ์ด ์ตœ๊ณ ์˜ ์„ฑ๋Šฅ(89.2) ์„ ๋ณด์˜€์ง€๋งŒ, ๋‹ค์ค‘ ๋ทฐ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•(MVCNN) ์— ๋น„ํ•ด์„œ๋Š” ์•ฝ๊ฐ„ ๋’ค์ฒ˜์ง„๋‹ค. ๊ทธ ์ด์œ ๋Š” ๋‹ค์ค‘ ๋ทฐ ๋ Œ๋”๋ง ์ด๋ฏธ์ง€๊ฐ€ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์—์„œ ๋†“์น  ์ˆ˜ ์žˆ๋Š” ์„ธ๋ถ€์ ์ด ๊ธฐํ•˜ํ•™์  ์ •๋ณด๋ฅผ ๋” ์ž˜ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํŒ๋‹จ๋œ๋‹ค.

   1-2. 3D Object Part Segmentation

 Part segmentaion ์ž‘์—…์€ 3D ๋ชจ๋ธ์˜ ๊ฐ ๋ถ€๋ถ„์„ ์ธ์‹ํ•˜๊ณ  ๋ถ„ํ• ํ•˜๋Š” ์ž‘์—…์œผ๋กœ, ShapeNet ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‰๊ฐ€ ๋ฐ ์ง„ํ–‰๋˜์—ˆ๋‹ค. 
์ฃผ์–ด์ง„ ๊ฐ์ฒด์—์„œ ๋ถ€๋ถ„๋ณ„๋กœ ๋ ˆ์ด๋ธ”์„ ๋ถ€์—ฌํ•˜๋Š”๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค(์˜ˆ: ์˜์ž ๋‹ค๋ฆฌ, ์ปต ์†์žก์ด). ShapeNet ์€ ๋‹ค์–‘ํ•œ 3D ๊ฐ์ฒด์— ๋Œ€ํ•ด ์„ธ๋ฐ€ํ•œ ๋ถ€๋ถ„ ๋ ˆ์ด๋ธ”์„ ์ œ๊ณตํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค.

์ด ๋…ผ๋ฌธ์—์„œ๋Š” part segmentation ์ž‘์—…์„ ๊ฐ ์ ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋กœ ์ •์˜ํ–ˆ๋‹ค. ํ‰๊ฐ€ ์ง€ํ‘œ๋Š” ์  ๋‹จ์œ„์˜ ํ‰๊ท  ๊ต์ฐจ-ํ•ฉ์ง‘ํ•ฉ(mIoU) ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

์นดํ…Œ๊ณ ๋ฆฌ C์˜ ํ˜•ํƒœ S์— ๋Œ€ํ•ด mIoU๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. ์นดํ…Œ๊ณ ๋ฆฌ C์˜ ๊ฐ ๋ถ€๋ถ„ ์œ ํ˜•์— ๋Œ€ํ•ด ์‹ค์ œ ์ •๋‹ต๊ณผ ์˜ˆ์ธก ๊ฐ„์˜ IoU(๊ต์ฐจ-ํ•ฉ์ง‘ํ•ฉ)์„ ๊ณ„์‚ฐํ•œ๋‹ค. ๋งŒ์•ฝ ์‹ค์ œ ์ •๋‹ต๊ณผ ์˜ˆ์ธก ์ ๋“ค์˜ ํ•ฉ์ง‘ํ•ฉ์ด ๋น„์–ด ์žˆ์œผ๋ฉด, ํ•ด๋‹น ๋ถ€๋ถ„์˜ IoU๋ฅผ 1๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
2. ๊ทธ๋Ÿฐ ๋‹ค์Œ, ์นดํ…Œ๊ณ ๋ฆฌ C์˜ ๋ชจ๋“  ๋ถ€๋ถ„ ์œ ํ˜•์— ๋Œ€ํ•œ IoU ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜์—ฌ ํ•ด๋‹น ํ˜•ํƒœ์˜ mIoU๋ฅผ ๊ตฌํ•œ๋‹ค. ์นดํ…Œ๊ณ ๋ฆฌ์˜ mIoU๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋ชจ๋“  ํ˜•ํƒœ์— ๋Œ€ํ•œ mIoU ํ‰๊ท ์„ ๊ตฌํ•ด์•ผํ•œ๋‹ค. 

<Table 2> ์—์„œ ๊ฐ ์นดํ…Œ์ฝ”๋ฆฌ๋ณ„๊ณผ ํ‰๊ท  IoU(%) ์ ์ˆ˜๊ฐ€ ๋‚˜ํƒ€๋‚˜์žˆ๋‹ค. ์ด ๋„คํŠธ์›Œํฌ๋Š” IoU๊ฐ€ 2.3 % ํ–ฅ์ƒ๋˜์—ˆ์œผ๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ๋ฒ ์ด์Šค๋ผ์ธ ๋ฐฉ๋ฒ•๋“ค์„ ๋Šฅ๊ฐ€ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋˜ํ•œ, ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋“ค์˜ ๊ฒฌ๊ณ ์„ฑ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ Kinect ์Šค์บ” ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. ShapeNet ํŒŒํŠธ ๋ฐ์ดํ„ฐ์…‹์˜ ๋ชจ๋“  CAD ๋ชจ๋ธ์— ๋Œ€ํ•ด Blensor Kinect ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ์„ฏ ๊ฐœ์˜ ๋ฌด์ž‘์œ„ ์‹œ์ ์— ๋ถˆ์™„์ „ํ•œ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค. ๊ทธ๋ฆฌํ•˜์—ฌ ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜์™€ ํ•™์Šต ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํ•œ ํ˜•ํƒœ์™€ ๋ถ€๋ถ„ ์Šค์บ” ๋ฐ์ดํ„ฐ์—์„œ PointNet์„ ํ›ˆ๋ จํ–ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ํ‰๊ท  IoU ์—์„œ 5.3 % ๋งŒ ์†์‹ค๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

<Fig 3> ์—์„œ๋Š” ์™„์ „ํ•œ ๋ฐ์ดํ„ฐ์™€ ๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ ๋ชจ๋‘์— ๋Œ€ํ•œ ์ •์„ฑ์ (Qualitative) ๊ฒฐ๊ณผ๋ฅผ ์ œ์‹œํ–ˆ๋‹ค. ๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ๋‹นํžˆ ๋„์ „์ ์ด์—ˆ์ง€๋งŒ, ์˜ˆ์ธก๊ฐ’์ด ํ•ฉ๋ฆฌ์ ์ด๋ผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

   1-3. Semantic Segmentation in Scenes

๋ถ€๋ถ„ ๋ถ„ํ• ์— ์‚ฌ์šฉ๋œ ๋„คํŠธ์›Œํฌ๋Š” ๊ฐ์ฒด์˜ ์ผ๋ถ€ ๋ ˆ์ด๋ธ”์ด ์•„๋‹Œ, ๊ฐ์ฒด ์ž์ฒด์˜ ์˜๋ฏธ์  ํด๋ž˜์Šค ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•˜๋Š” ์˜๋ฏธ์  ์žฅ๋ฉด ๋ถ„ํ• ๋กœ ์‰ฝ๊ฒŒ ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ์—ฐ๊ตฌ์—์„œ๋Š” Stanford 3D semantic parsing ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•ด ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ์…‹์€ Matterport ์Šค์บ๋„ˆ๋กœ 6๊ฐœ ์ง€์—ญ, 271๊ฐœ์˜ ๋ฐฉ์„ ํฌํ•จํ•œ 3D ์Šค์บ”์„ ์ œ๊ณตํ•œ๋‹ค. ์Šค์บ”๋œ ๊ฐ ์ ์€ 13๊ฐœ์˜ ์นดํ…Œ๊ณ ๋ฆฌ(์˜์ž, ํ…Œ์ด๋ธ”, ๋ฐ”๋‹ฅ, ๋ฒฝ ๋“ฑ๊ณผ ์žก๋™์‚ฌ๋‹ˆ) ์ค‘ ํ•˜๋‚˜์˜ ์˜๋ฏธ์  ๋ ˆ์ด๋ธ”๋กœ ์ฃผ์„์ด ๋‹ฌ๋ ค์žˆ๋‹ค.

์ˆœ์„œ 
ํ•™์Šต๋ฐ์ดํ„ฐ ์ค€๋น„ : ๋จผ์ € ์ ๋“ค์„ ๋ฐฉ(room) ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ๋ฐฉ์„ 1m x 1m ํฌ๊ธฐ์˜ ๋ธ”๋ก์œผ๋กœ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค. 
ํ•™์Šต : ๊ฐ ๋ธ”๋ก์—์„œ ์ ๋ณ„ ํด๋ž˜์Šค๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก PointNet์˜ ๋ถ„ํ•  ๋ฒ„์ „์„ ํ•™์Šต์‹œํ‚จ๋‹ค. ๊ฐ ์ ์€ XYZ ์ขŒํ‘œ, RGB ๊ฐ’, ๋ฐฉ ์•ˆ์—์„œ์˜ ์ •๊ทœํ™”๋œ ์œ„์น˜(0์—์„œ 1์‚ฌ์ด์˜ ๊ฐ’)์œผ๋กœ ๊ตฌ์„ฑ๋œ 9์ฐจ์› ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„๋œ๋‹ค. 
ํ•™์Šต ์‚ฌํ•ญ : ํ•™์Šต ์‹œ์—๋Š” ๊ฐ ๋ธ”๋ก์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ 4096๊ฐœ์˜ ์ ์„ ๋ฌด์ž‘์œ„๋กœ ์ƒ˜ํ”Œ๋งํ•˜๊ณ , ํ…Œ์ŠคํŠธ ์‹œ์—๋Š” ๋ชจ๋“  ์ ์„ ํ…Œ์ŠคํŠธํ•œ๋‹ค. k-fold ์ „๋žต์„ ๋™์ผํ•˜๊ฒŒ ๋”ฐ๋ฅธ๋‹ค. 

<Table 3> ๋ฒ ์ด์Šค๋ผ์ธ์€ ๋™์ผํ•œ 9์ฐจ์› ๋กœ์ปฌ ํŠน์ง•๊ณผ ์ถ”๊ฐ€์ ์œผ๋กœ 3๊ฐœ์˜ ํŠน์ง•(๋กœ์ปฌ ์  ๋ฐ€๋„, ๋กœ์ปฌ ๊ณก๋ฅ , ๋ฒ•์„ )์„ ์ถ”์ถœํ•˜๋ฉฐ, ํ‘œ์ค€ MLP๋ฅผ ๋ถ„๋ฅ˜๊ธฐ๋กœ ์‚ฌ์šฉ. PointNet ์€ ๋ฒ ์ด์Šค๋ผ์ธ ๋ฐฉ๋ฒ•๋ณด๋‹ค ํ˜„์ €ํžˆ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. 

<Fig 4> ์ •์„ฑ์  ๋ถ„ํ•  ๊ฒฐ๊ณผ๋ฅผ ๋ถ€์—ฌ์ค€๋‹ค. ์ด ๋„คํŠธ์›Œํฌ๋Š” ๋งค๋„๋Ÿฌ์šด ์˜ˆ์ธก์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ ์ด ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ๊ฐ€๋ ค์ง„ ๊ฒฝ์šฐ์—๋„ ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.

<Table 4> ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ๋„คํŠธ์›Œํฌ์˜ ์˜๋ฏธ์  ๋ถ„ํ•  ์ถœ๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ๊ฒฐ ์„ฑ๋ถ„ ๋ถ„์„์„ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด ์ œ์•ˆ์„ ์ƒ์„ฑํ•˜๋Š” 3D ๊ฐ์ฒด ํƒ์ง€ ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€๋กœ ๊ตฌ์ถ•ํ–ˆ๋‹ค. ์ด์ „ SOTA ๋ชจ๋ธ๊ณผ ๋น„๊ตํ•ด๋ดค์„๋•Œ, ์ด์ „ ๋ฐฉ๋ฒ•์€ sliding shape ๋ฐฉ๋ฒ•๊ณผ CRF ํ›„์ฒ˜๋ฆฌ๋ฅผ ์ ์šฉํ–ˆ์œผ๋ฉฐ, SVM์„ ์‚ฌ์šฉํ•ด ๋ณต์…€ ๊ทธ๋ฆฌ๋“œ์—์„œ ๋กœ์ปฌ ๊ธฐํ•˜ํ•™์  ํŠน์ง• ๋ฐ ์ „์—ญ ๋ฐฉ(room) ์ปจํ…์ŠคํŠธ ํŠน์ง•์„ ํ•™์Šต์‹œ์ผฐ๋‹ค. PointNet์˜ ๋ฐฉ๋ฒ•์€ ๋ณด๊ณ ๋œ ๊ฐ€๊ตฌ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ์ด์ „ ๋ฐฉ๋ฒ•๋ณด๋‹ค ํ›จ์”ฌ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค.

 

2. Architecture Design Analysis

์ด ํŒŒํŠธ์—์„œ๋Š” ํ†ต์ œ ์‹คํ—˜์„ ํ†ตํ•ด ์„ค๊ณ„ ์„ ํƒ์„ ๊ฒ€์ฆํ•œ๋‹ค. ๋˜ํ•œ ๋„คํŠธ์›Œํฌ์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋ณด์—ฌ์ค€๋‹ค.

   2-1. Comparison with Alternative Order-invariant Methods

Unordered set inputs์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์€ ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ModelNet40 ์˜ ํ˜•ํƒœ ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

<Fig 5> ์ด๊ณณ์—์„œ ๋น„๊ตํ•œ ๋ฒ ์ด์Šค๋ผ์ธ์€ ๊ทธ๋ฆผ์— ๋‚˜ํƒ€๋‚˜์žˆ๋‹ค. 
๋ฒ ์ด์Šค๋ผ์ธ์œผ๋กœ๋Š” ์ •๋ ฌ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ •๋ ฌ๋œ ์ ๋“ค์„ n x 3 ๋ฐฐ์—ด๋กœ ์‚ฌ์šฉํ•œ ๋‹ค์ธต ํผ์…‰ํŠธ๋ก (MLP), ์ ์„ ์‹œํ€€์Šค๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” RNN ๋ชจ๋ธ(LSTM*), ๊ทธ๋ฆฌ๊ณ  ๋Œ€์นญ ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ชจ๋ธ์ด ์žˆ๋‹ค. 
์ด ๋…ผ๋ฌธ์—์„œ ์‹คํ—˜ํ•œ ๋Œ€์นญ ์—ฐ์‚ฐ์—๋Š” max pooling, average pooling, ๊ทธ๋ฆฌ๊ณ  Attention ๊ธฐ๋ฐ˜ ๊ฐ€์ค‘ํ•ฉ์ด ํฌํ•จ๋œ๋‹ค.
Attention method๋Š” ๊ฐ ์  ํŠน์ง•์—์„œ ์Šค์นผ๋ผ ์ ์ˆ˜๋ฅผ ์˜ˆ์ธกํ•œ ํ›„, ์†Œํ”„ํŠธ๋งฅ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์ ๋“ค ๊ฐ„์˜ ์ ์ˆ˜๋ฅผ ์ •๊ทœํ™”ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ, ์ •๊ทœํ™”๋œ ์ ์ˆ˜์™€ ์  ํŠน์ง•์— ๋Œ€ํ•ด ๊ฐ€์ค‘ํ•ฉ์„ ๊ณ„์‚ฐํ•œ๋‹ค.
Fig 5์— ๋‚˜์™€ ์žˆ๋“ฏ์ด, max pooling ์—ฐ์‚ฐ์ด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋“ค๋ณด๋‹ค ํฐ ์ฐจ์ด๋กœ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ–ˆ๋‹ค. => ๋„คํŠธ์›Œํฌ ์„ค๊ณ„์—์„œ max pooling์„ ์„ ํƒํ•œ ๊ฒƒ์ด ์ ์ ˆํ•จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

* LSTM ์ด๋ž€ Long Short-Term Memory ๋กœ RNN์˜ ์ผ์ข…์ด๋‹ค. RNN์€ ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ์ผ๋ฐ˜์ ์ธ RNN์€ ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ(Long-term dependencies)๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๋Š”๋‹ค. ์ด๋Š” ์ด์ „ ์ •๋ณด๊ฐ€ ๊ธด ์‹œํ€€์Šค ๋™์•ˆ ์œ ์ง€๋˜์ง€ ๋ชปํ•ด ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ์†์‹ค๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•œ๋‹ค.
LSTM ์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ํŠน์ˆ˜ํ•œ RNN ๊ตฌ์กฐ๋กœ, ์…€ ์ƒํƒœ (cell state)์™€ ๊ฒŒ์ดํŠธ ๋ฉ”์ปค๋‹ˆ์ฆ˜(์ž…๋ ฅ ๊ฒŒ์ดํŠธ, ์ถœ๋ ฅ ๊ฒŒ์ดํŠธ, ๋ง๊ฐ ๊ฒŒ์ดํŠธ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋” ์˜ค๋ž˜ ๊ธฐ์–ตํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด LSTM์€ ๊ธด ์‹œํ€€์Šค์—์„œ์˜ ํŒจํ„ด์„ ํ•™์Šตํ•˜๊ณ , ์žฅ๊ธฐ์ ์ธ ์˜์กด์„ฑ์„ ๋” ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

   2-2. Effectiveness of Input and Feature Transformations

<Table 5>์—์„œ ์ด ๋…ผ๋ฌธ์€ ์ž…๋ ฅ ๋ฐ ํŠน์ง• ๋ณ€ํ™˜(input and feature transfomation,์ •๋ ฌ์„ ์œ„ํ•œ)์ด ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์•„ํ‚คํ…์ฒ˜๋งŒ์œผ๋กœ๋„ ๊ฝค ๋งŒ์กฑ์Šค๋Ÿฌ์šด ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋งค์šฐ ํฅ๋ฏธ๋กญ๋‹ค. ์ž…๋ ฅ ๋ณ€ํ™˜(input 3x3)์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์ด 0.8% ํ–ฅ์ƒ๋œ๋‹ค. ๊ณ ์ฐจ์› ๋ณ€ํ™˜์ด ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ •๊ทœํ™” ์†์‹ค(Regularization loss)* ์ด ํ•„์š”ํ•œ๋‹ค. ๋‘ ๋ณ€ํ™˜๊ณผ ์ •๊ทœํ™” ํ•ญ์„ ๊ฒฐํ•ฉํ•จ์œผ๋กœ์จ ์ตœ๊ณ ์˜ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

* ์ •๊ทœํ™” ์†์‹ค(Regularization loss)๋Š” ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ณผ์ ํ•ฉ(overfitting)์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๋” ์ผ๋ฐ˜ํ™”๋œ ์„ฑ๋Šฅ์„ ์–ป๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ํ•˜๋Š” ์†์‹ค ํ•ญ๋ชฉ์ด๋‹ค. ์ฆ‰, ์ •๊ทœํ™” ์†์‹ค์€ ๋ชจ๋ธ์ด ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๋„ˆ๋ฌด ์„ธ๋ฐ€ํ•˜๊ณ  ๋งž์ถ”๋Š” ๊ฒƒ์„ ๋ง‰๊ณ , ๋ถˆํ•„์š”ํ•œ ๋ณต์žก์„ฑ์„ ์ค„์ด๋„๋ก ๋„์™€์ค€๋‹ค. (ex : L2 ์ •๊ทœํ™”(Ridge ์ •๊ทœํ™”), L1 ์ •๊ทœํ™”(Lasso ์ •๊ทœํ™”), Dropout) 

   2-3. Robustness Test (๊ฒฌ๊ณ ์„ฑ ํ…Œ์ŠคํŠธ)

PointNet ์ด ๋‹จ์ˆœํ•˜๊ณ  ํšจ๊ณผ์ ์ด๋ฉด์„œ๋„ ๋‹ค์–‘ํ•œ ์ž…๋ ฅ ์†์ƒ์— ๋Œ€ํ•ด ๊ฒฌ๊ณ ํ•จ์„ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์ด๊ธฐ ์œ„ํ•ด <Fig 5>์˜ max pooling ๋„คํŠธ์›Œํฌ์™€ ๋™์ผํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ž…๋ ฅ ์ ๋“ค์€ ๋‹จ์œ„ ๊ตฌ(unit sphere) ๋กœ ์ •๊ทœํ™”๋๋‹ค.

<Fig 6> ๊ฒฐ๊ณผ
- ๋ˆ„๋ฝ๋œ ์ ์— ๋Œ€ํ•ด์„œ๋Š” 50 %์˜ ์ ์ด ๋ˆ„๋ฝ๋˜์—ˆ์„ ๋•Œ, ๊ฐ€์žฅ ๋จผ ์ƒ˜ํ”Œ๋ง(furthest sampling)๊ณผ ๋ฌด์ž‘์œ„ ์ƒ˜ํ”Œ๋ง(random sampling)์—์„œ ๊ฐ๊ฐ ์ •ํ™•๋„๊ฐ€ 2.4%์™€ 3.8% ๋งŒ ๋–จ์–ด์กŒ๋‹ค.
- ํ›ˆ๋ จ ์ค‘์— ์ด์ƒ์ (outlier)์„ ๋ณธ ๊ฒฝ์šฐ, ๋„คํŠธ์›Œํฌ๋Š” ์ด์ƒ์ ์—๋„ ๊ฒฌ๊ณ ํ•œ๋‹ค. ์ด ๋…ผ๋ฌธ์—์„œ๋Š” (x, y, z) ์ขŒํ‘œ๋งŒ์œผ๋กœ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ๊ณผ (x, y, z) ์ขŒํ‘œ์— ์  ๋ฐ€๋„(density) ๋ฅผ ์ถ”๊ฐ€ํ•œ ๋ชจ๋ธ์„ ํ‰๊ฐ€ํ–ˆ๋‹ค. ์ด ๋„คํŠธ์›Œํฌ๋Š” ์ „์ฒด ์ ๋“ค ์ค‘ 20% ๊ฐ€ ์ด์ƒ์ ์ผ ๋•Œ์—๋„ 80 % ์ด์ƒ์˜ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•œ๋‹ค.
- ๋งจ ์˜ค๋ฅธ์ชฝ ๊ทธ๋ž˜ํ”„๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ์  ๋ณ€ํ˜•์— ๋Œ€ํ•ด์„œ๋„ ๊ฒฌ๊ณ ํ•จ์„ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค.

3. Visualizing PointNet

- ์ค‘์š” ์  ์ง‘ํ•ฉ Cs (Critical Point Sets):
   - max pooling ๋œ ํŠน์ง•์— ๊ธฐ์—ฌํ•˜๋Š” ์ค‘์š”ํ•œ ์ ๋“ค์ด ํ˜•ํƒœ์˜ ๊ณจ๊ฒฉ์„ ๋‚˜ํƒ€๋ƒ„
   - ์ด ์ ๋“ค๋งŒ ์žˆ์œผ๋ฉด ํ˜•ํƒœ์˜ ์ „์—ญ ํŠน์ง•์ด ์œ ์ง€๋œ๋‹ค. 

- ์ƒํ•œ ํ˜•ํƒœ Ns (Upper-bounded Shapes):
   - ์ž…๋ ฅ๋œ point cloud๊ณผ ๋™์ผํ•œ ์ „์—ญ ํŠน์ง•์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ point cloud
   - ๋„คํŠธ์›Œํฌ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์ ๋“ค ์ค‘ ์ค‘์š”ํ•œ ์ ์ด ์•„๋‹Œ ์ ๋“ค์ด ์‚ฌ๋ผ์ ธ๋„ ์ „์—ญ ํŠน์ง• f(s)์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

=> ๊ฒฐ๋ก , ์ค‘์š”ํ•œ ์ ์„ ์žƒ์ง€ ์•Š๋Š” ํ•œ, ์ผ๋ถ€ ์ ์ด ์†์‹ค๋˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€๋˜์–ด๋„ ์ „์—ญ ํŠน์ง•์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. PointNet์€ ๋ถˆํ•„์š”ํ•œ ์ ์ด ์žˆ์–ด๋„ ํ˜•ํƒœ๋ฅผ ์ธ์‹ํ•˜๋Š” ๋ฐ ๊ฒฌ๊ณ ํ•จ์„ ๋ณด์—ฌ์ค€๋‹ค.

4. Time and Space Complexity Analysis

<Table 6>์€ Classification ์šฉ PointNet์˜ Space(๋„คํŠธ์›Œํฌ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜)๊ณผ Time(์ƒ˜ํ”Œ๋‹น ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ, FLOP) ๋ณต์žก๋„๋ฅผ ์š”์•ฝํ•œ๋‹ค.

MVCNN ๊ณผ Subvolume (3D CNN) ์€ ๋†’์€ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ–ˆ์ง€๋งŒ, PointNet์€ ๊ณ„์‚ฐ ๋น„์šฉ์—์„œ ํ›จ์”ฌ ๋” ํšจ์œจ์ ์ด๋‹ค(์ƒ˜ํ”Œ๋‹น FLOP ์ธก์ • ๊ฒฐ๊ณผ, ๊ฐ๊ฐ 141๋ฐฐ ๋ฐ 8๋ฐฐ ๋” ํšจ์œจ์ ). ๋˜ํ•œ, PointNet์€ ๋„คํŠธ์›Œํฌ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜(#param) ๋ฉด์—์„œ MVCNN๋ณด๋‹ค ๊ณต๊ฐ„ ํšจ์œจ์„ฑ๋„ ๋›ฐ์–ด๋‚จ(ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ 17๋ฐฐ ์ ์Œ).
๋”์šฑ์ด, PointNet์€ ๋งค์šฐ ํ™•์žฅ์„ฑ์ด ๋†’๋‹ค. ์ฆ‰, ๊ณต๊ฐ„ ๋ฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€  O(N) ์œผ๋กœ, ์ž…๋ ฅ ์ ์˜ ๊ฐœ์ˆ˜์— ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€ (linearly increased) 
๋ฐ˜๋ฉด, ๋‹ค์ค‘ ๋ทฐ ๋ฐฉ์‹(MVCNN) ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ด๋ฏธ์ง€ ํ•ด์ƒ๋„์— ๋”ฐ๋ผ ์ œ๊ณฑ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ณ , ๋ณผ๋ฅจ ๊ธฐ๋ฐ˜ ํ•ฉ์„ฑ๊ณฑ ๋ฐฉ์‹์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ๋ณผ๋ฅจ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์„ธ์ œ๊ณฑ์œผ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค.

=> PointNet์€ ๋งค์šฐ ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ ๋ฐ ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋Œ€๊ทœ๋ชจ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 


Conclusion

- PointNet ์€ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด๋‹ค.

- ๊ฐ์ฒด ๋ถ„๋ฅ˜, ๋ถ€๋ถ„ ๋ถ„ํ• , ์˜๋ฏธ์  ๋ถ„ํ•  ๋“ฑ ๋‹ค์–‘ํ•œ 3D ์ธ์‹ ์ž‘์—…์— ๋Œ€ํ•ด ํ†ตํ•ฉ๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค.

- ๊ธฐ์กด SOTA ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ๊ณผ ๋™๋“ฑํ•˜๊ฑฐ๋‚˜ ๋” ๋‚˜์€ ์„ฑ๊ณผ๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค.

- ๋„คํŠธ์›Œํฌ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ก ์  ์„ค๋ช…๊ณผ ์‹œ๊ฐ์  ๋ถ„์„์„ ์ œ๊ณตํ•œ๋‹ค.

 

 

 

์ด๋ ‡๊ฒŒ 3D Reconstruction & generation ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” PointNet ์— ๋Œ€ํ•œ ๋…ผ๋ฌธ์„ ๋ฆฌ๋ทฐํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ œ๊ฐ€ ๊ณต๋ถ€ํ•˜๋Š” ์šฉ๋„๋กœ ์ž‘์„ฑ๋œ ๋ฌธ์„œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์ด ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค..! ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ‘€ <Supplementary> ๋ถ„์„์€ ๋‹ค์ŒํŽธ์—์„œ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค! To be continued.