[ GaitSet : Regarding Gait as a Set for Cross-View Gait Recognition]

 

( 1 ) ........ Gait as Unordered Set

( 2 ) ........ Proposed Method & Set Pooling ( 현재 글 )

( 3 ) ........ Horizontal Pyramid Mapping & Multilayer Global Pipeline

 


- Proposed Method

 

< GaitSet Network >

 

  위 그림은 전체적인 GaitSet Model의 구조를 나타낸 것이다. Gait을 set으로 다루기 위해서 Concept을 수식화하면 아래와 같다.

 

 

  N명의 Dataset이 주어졌을 때, 각 사람의 Gait silhouette들이 어떤 Distribution을 따른다고 가정한다. 이때 각 분포는 해당 사람의 Identity에만 연관되어 있다. 그렇다면 한 사람의 여러 Gait Sequence를 하나의 큰 set으로 생각할 수 있다. 이러한 가정을 토대로 수식을 세우면 위 왼쪽 수식과 같다.

 

  F 는 Convolutional Network를 의미하고, 각 Silhouette Image의 Frame Level Feature Extraction을 목적으로 한다. G는 Permutation invariant function으로 Frame Level Feature를 하나의 Set Level Feature로 추합해주는 함수이다. Set Pooling으로 구현되어 있고 설명은 아래 단락에서 하겠다. 마지막으로 H는 Horizontal Pyramid Mapping을 통해 구현되었는데, 한 사람의 보행 Data 분포를 잘 구분지을 수 있도록 표현하는 Representation을 학습하기 위한 함수이다. HPM은 다음 글에 적도록 하겠다.

 


 

- Set Pooling

 

  Set 단위의 입력을 주었을 때,  각각의 Silhouette Image에서 직접적으로 Feature Extraction이 이루어진다. 이 때 추출된 Local Feature를 Frame Level Feature라고 표현한다. 입력 Image 갯수 만큼의 Local Feature를 추출한 뒤 이 Feature들을 Aggregation하여 Global Feature인 Set Level Feature를 만들어내는 구조이다. 이 때, Local Feature Aggregation 방법으로 논문에서는 Set Pooling이라는 방식을 제안하였다. 

 

< z = Set Level Feature, V = Frame Level Feature, G is Set Pooling >

  위 그림을 보면 Set Pooling을 G( · ), z = Set Level Feature, V = Frame Level Feature 로 수식화했다. 이때 두 가지의 제약 조건이 있다.

 

  첫 번째로 입력이 set 단위이기 때문에 ( 중복을 허용하지 않고, 순서가 없다. ) 공식화된 G는 Permutation invariant function이어야 한다. Permutation invariant의 뜻은, 입력 Vector의 요소 순서와 상관 없이 같은 출력을 내는 것을 말합니다. 즉 G( · )는 입력의 순서에 상관없이 요소가 같은 입력이라면 같은 출력을 내는 함수여야 합니다. 대표적인 예로 MLP ( Multi Layer Perceptron )를 들 수 있다.

 

  두 번째로 실제 상황에서는 사람의 Gait Silhouette의 숫자가 항상 동일하지 않을 수 있다. 따라서 G( · )는 임의의 cardinality로 Set을 취할 수 있어야 한다. 여기서 cardinality라는 단어에서 살짝 당황했는데, 위키피디아다른 글을 참고하자면 사전적 의미로는 집합원의 갯수를 의미하고, 상대적 개념으로 보면 중복도의 높고 낮음을 나타내는 지표이다.

예를 들어 집합 A = {0, 1, 2, 3, 4}의 Cardinality는 5이고 , B = { 남, 남, 여, 여, 여 }의 Cardinality는 2이다. 상대적으로 봤을 때 A의 Cardinality가 B보다 높다고 표현할 수 있다.

 

  쉬운 이해를 위해 다른 예를 들자면, 한국의 지역 집합에는 우리나라 여러 지명이 들어있을 것이고, 주민번호 집합에는 개개인의 주민번호가 담겨있을 것이다. 상대적으로 주민번호 집합이 Cardinality가 높다고 표현할 수 있다. 유한 집합의 경우에는 자연수로 표현할 수 있지만, 무한 집합의 크기는 자연수로 표현할 수 없고 상대적인 크기를 표현할 때 사용한다.

 

 

  여튼 결과적으로 두 번째 제약의 의미는, Set의 길이다. 위의 그림에서 알 수 있듯이 Cardinality가 높을 수록, 즉 Sequence의 길이가 길수록 성능이 좋아짐을 알 수 있다.

 

 

 

  위 두 제약조건을 만족시키기 위해 Statistical Function을 Set dimension에 적용한다. Computational Cost와 Representativeness를 고려하여 max( · ), mean( · ), median( · )의 3가지 함수를 적용한다. 이 함수들을 적절히 사용하여 Joint Function의 형태로 G( · )를 구성한다.

< Set Pooling Layer >

  최근 Visual Attention이 많은 분야에서 성공적으로 적용되고 있기 때문에, 이를 포함한 Set Pooling Layer를 구성한다. 위의 그림이 이를 표현한 그림이다. Main idea는 Global Information을 활용하여 element-wise attention map을 학습시키고 이를 통해 frame-level feature map을 정제하는 것이다.

 


 

이전글 ) GaitSet : Gait as Unordered Set

다음글 ) GaitSet : Horizontal Pyramid Mapping & Multilayer Global Pipeline

 

 

- 참고 자료

- GaitSet : Regarding Gait as a Set for Cross-View Gait Recognition, Hanqing Chao et al arXiv:1811.06186

 

 

+ Recent posts