Paper/3D vision

A Concise and Provably Informative Multi-Scale Signature Based on Heat Diffusion (a.k.a HKS)

침닦는수건 2024. 8. 16. 17:06
반응형

내 맘대로 Introduction

 

*요즘은 최신 논문을 이해하는 것보다 과거 논문을 이해하는게 더 어려운 것 같다. 기념비적인 논문들은 특히 수학적으로 탄탄하기 때문에 내 부족한 수학 밑천으로는 이해하기가 벅차다. 이 논문도 마찬가지인 논문이고, 사실 상 10% 정도 컨셉 이해에 그쳤다. 정리 수준이 부끄럽지만 그래도 10%라도 잘 기억해보려고 기록해본다. 

 

이 논문은 간단히 말하면, Mesh vertex를 xyz, normal 외에 어떤 property로 표현할 수 있을지 고민한 느낌이다. 다시 말하면 mesh vertex descriptor를 만드는 방법을 설명한다. 3D correspondence나 segmentation에 응용할 수 있는 기본기다.

 

핵심 아이디어는 열역학에서 나왔다. 열이 어떤 형상에서 퍼져나갈 때 그 퍼져나가는 양상은 표면의 굴곡에 영향을 받는다. 즉 주변 형상이 어떻게 생겼냐에 따라 속도, 열전달율 등이 다르다. 이런 현상에서 착안해서 mesh vertex 하나하나마다 열역학적으로 주변 neighbor를 고려했을 때 열이 퍼져나가는 특징을 부여하고 이를 descriptor로 사용하는 컨셉이다. 한마디로 열전달/열확산 특징을 descriptor로 사용하는 것이다. 

 

굉장히 다른 필드에서 지식을 빌려와 이식한 것이라 저자가 대단하게 보일 뿐이다. 

 

메모




모든 것의 시작 heat diffusion process다. 수식(1)과 같이 어떤 한 위치 x에서 시간 t 이후 열 상태는 mesh 상의 laplace-beltrami operator + 미분 term으로 표현 가능하다. mesh surface를 알고 있으면 모델링이 가능하다는 것.


실제로 많은 연구가 있어 왔고, Laplace-beltrami operator의 eigenvalue, eigenvector로 만든 kernel로 표현하는 것이 정확하다고 밝혀져 있다. 



heat kernel로 계산해 낸 열 값은, 각 vertex의 특징을 나름 잘 반영하고 있는 대표값이기도 해서 mesh deformation에도 약간 강건한 특성이 있고


물리적으로 neighbor와 거리와도 연결점이 있기 때문에 활용할 가치가 굉장히 높은 값이다.



특히, 시간 t에 따라 "퍼져나가는" 특징이 있기 때문에 t를 어떻게 설정하느냐에 따라 얼마나 좁게, 얼마나 멀리까지 주변 형상을 고려하느냐까지 조절할 수 있다. 

마치 receptive field를 조절하는 느낌.


확산 시간 t를 좁게 보아 좁은 neighbor만 보도록 설정할 경우, mesh를 전체 다 볼 필요없이 국소적인 mesh만 보고 계산해도 결과가 똑같다. (part part 계산하는 것도 t만 작으면 가능)



 일종의 vertex 주변 형상과의 weighted average function인 셈이다.

mesh deformation이 있을 때 heat kernel의 변화도 안정적인 편이다. 

일종의 bound가 있어서 그 범위 안에서 움직이기 때문에 변형 전 후 heat kernel이 완전 변하는 일도 없다.
heat kernel을 이렇게 다룬 이유는 결국 vertex descriptor로 쓰기 위함이다. 그러려면 필히 가볍고 계산하기 편해야 한다.

따라서 이를 descriptor로 만들 때, heat kernel에서 "neighbor"와 계산하는 값을 빼고 x to x 자기 자신으로의 확산 + 시간에 따른 변화만 다뤘다.

x to y (neighbor)를 포함하면 계산량이 너무 많음. 

이렇게 자기자신으로 neighbor 범위를 축소한 heat kernel 값을 HKS라고 이름 붙여 일종의 descriptor로 사용하기로 했다.



하나 약점은, laplace operator의 eigenvalue 계산했을 때 같은 값은 없다고 "가정"하고 가는 점이다. 

즉 형상이 매우 반복적일 경우, descriptor가 비슷해진다. 


위 그림들처럼 반복 형상이 많을 때는 표현력이 떨어지는 단점이 있다. (이건 모든 descriptor가 풀지 못한 문제니까 어쩔 수 없다고 생각함.)



그래도 여전히 짱짱맨은 맞다. 실제 geometry와 수학적으로 대응되어 있고


diffusion distance가 뭔진 모르겠지만, 또 다른 물리값과도 엮여있다.
기존에 쓰던 GPS라는 방식보다 뛰어난 것도 확실함.



실제 계산할 때는 어떻게 하느냐, 

Laplace-beltrami operator라는 것은 사실 N차원 manifold 상에서 정의된 것이라서 딱 mesh에 적용되는 개념은 아니다. 더 수학적으로 큰 개념. (내가 이해할 때는 큰 차이는 없는 듯)

이를 3차원 그것도 discrete vertex로 쪼개진 mesh에 적용할 때는 생각보다 operator 계산이 간단해진다. 

kernel function k(x,y)도 그냥 gaussian으로 퉁칠 수 있다. 



laplace operator 자체도 face area로 만든 A matrix를 활용해서 간단히 만들 수 있다. (실제로 계산하는 방법은 모르겠으나, 다른 N차원보다는 훨씬 간단해진다는 의미)


실제로 mesh에 적용해보면 나름 구분력있게 descriptor가 뽑힘.

반복구조는 취약한 편.



descriptor 간의 similarity는 어떻게 게산하느냐? cosine similarity로 계산하면 안되고 HKS 값 간의 l2 distance 쓰면 된다.


하나 주의점은, distance 값이 t에 영향을 받긴 한다. t가 커서 멀리까지 확산 (넓은 neighbor까지 고려)한 경우에는 descriptor 간 차이가 좀 작아지는 편이다.
-> 넓게 넓게 보고 있으므로 descriptor가 global해져서 local 표현력이 좀 줄어든다는 의미인 듯함.
t가 다를 경우에는 다음과 같이 integral 형태로 차이값을 계산한다.


여러 스케일 t를 사용할 경우 표현력이 증가함
 
반응형