본문 바로가기
딥러닝(Machine Deep learning)

VOS(Video Object Segmentation)

by Park Hyun Kook 2019. 12. 19.

Video Object Segmentation

비디오를 프레임별로 나눠서 segmentation진행

원활한 segmentation과 성능개선을 위해서 아래의 기법들을 사용

각 기법별로 네트워크 구조도 존재

 

용어들

Warping

찌그러지거나 손상된 이미지를 정규화하기 위해 사용하는 기법

 

Propagation

-순전파(forwards propagation)은 뉴럴 네트워크의 그래프를 계산하기 위해서 중간 변수들을 순서대로 계산하고 저장합니다. 즉, 입력층부터 시작해서 출력층까지 처리합니다.

-역전파(back propagation)은 중간 변수와 파라미터에 대한 그래디언트(gradient)를 반대 방향으로 계산하고 저장합니다.

-딥러닝 모델을 학습시킬 때, 순전파(forward propagation)과 역전파(back propagation)는 상호 의존적입니다.

-학습은 상당히 많은 메모리와 저장 공간을 요구합니다.

 

Refinement

- 네트워크 개선, 정제

마스크 refinement

결과로 segmentation output이 더 좋아진다.

 

Fine-Tuning

기존에 학습되어 있는 모델을 기반으로 아키텍쳐를 새로운 목적(나의 이미지 데이터에 맞게)변형하고 이미 학습된 모델 Weights로부터 학습을 업데이트하는 방법

 

-시간이 오래 걸린다.

 

-모델의 파라미터를 미세하게 조정하는 행위 (특히 딥러닝에서는 이미 존재하는 모델에 추가 데이터를 투입하여 파라미터를 업데이트하는 것을 말한다)

 

파인튜닝은 정교한 파라미터 튜닝이라고 생각하면 되는데 정교한과 파라미터가 키포인트들이다.

고양이와 개 분류기를 만드는데 다른 데이터로 학습된 모델(VGG16, ResNet 등)을 가져다 쓰는 경우를 생각해보자.

ex) VGG16 모델의 경우 1000개의 카테고리를 학습시켰기 때문에 고양이와 개, 2개의 카테고리만 필요한 우리 문제를 해결하는데 모든 레이어를 그대로 쓸 수는 없다.

 

따라서 가장 쉽게 이용하려면 내 데이터를 해당 모델로 predict하여 보틀넥 피쳐만 뽑아내고, 이를 이용하여 어파인 레이어(Fully-connected layer)만 학습시켜서 사용하는 방법을 취하게 된다. 하지만 이 경우는 파인튜닝이라고 부르지 않는다. 피쳐를 추출해내는 레이어의 파라미터를 업데이트하지 않기 때문이다.

 

어파인 레이어를 업데이트하지 않냐고 생각할 수 있지만 내가 새로 구성한 레이어이기 때문에 업데이트가 아니며 초기 웨이트가 랜덤이기 때문에 정교하지도 않다.

인튜닝을 했다고 말하려면 기존에 학습이 된 레이어에 내 데이터를 추가로 학습시켜 파라미터를 업데이트해야 한다.

이 때 주의할 점은, 튜토리얼에서도 나오듯, 정교해야 한다.

완전히 랜덤한 초기 파라미터를 쓴다거나 가장 아래쪽의 레이어(일반적인 피쳐를 학습한 덜추상화된 레이어)의 파라미터를 학습해버리면 오버피팅이 일어나거나 전체 파라미터가 망가지는 문제가 생기기 때문이다.

 

Embedding(임베딩)

범주형 자료를 연속형 벡터 형태로 변환시키는 것을 embedding이라고 한다. 주로 인공신경망 학습을 통해 범주형 자료를 벡터 형태로 바꾼다. 인공신경망 학습 과정을 통해 각 벡터에 가장 알맞는 값을 할당하게 된다. 이 과정에서 각 범주(category)는 각각의 특징을 가장 잘 표현할 수 있는 형태의 벡터값을 가지게 된다. t-SNE와 같은 방법을 활용하면 이 벡터들을 시각화해서 표현할 수도 있으며, 매우 직관적으로 표현된다.

 

임베딩 사용하는 이유?

1. 차원을 축소할 수 있다.
범주형 자료를 one-hot-encoding으로 표현할 경우 n-1개의 차원이 필요한 반면,
embedding을 활용하면 2,3차원으로도 자료를 표현할 수 있다.

2. 범주형 자료를 연속형으로 표현할 수 있다.

3. 의미를 도출하기에 용이하다

vector space로 나타낼 경우, 직관적으로 이해할 수 있는 형태를 띠므로 의미를 도출하기에 편리하다.

 

임베딩 스페이스

RGB가 인코더 통과후의 얻어지는 feature map을 통해서 위치 관계를 확인할수 있으므로 그 자체를 임베딩 스페이스라 한다.

 

References:
https://eehoeskrap.tistory.com/186

https://github.com/tkwoo/visualization-segmentation-process

댓글