Segmentation을 위해 labeling을 하는 단계는 시간도 오래 걸리고 힘든 작업이다. 이를 좀 더 효율적이고 덜 고통스럽게 해주는 레이블링 방식이 등장했는데 그것이 바로 Scribble이다. 찾고자 하는 객체의 엣지를 따라 레이블링 하는 것이 아니라 객체를 단어 그대로 휘갈기듯이, 객체에 선을 그어주면서 레이블링 한다. (논문링크)
ScribbleSup Network의 전반적인 구조
ScribbleSup Network는 Fully Convolutional Network 와 Graphical Model 두 부분으로 나뉜다. 첫 단계는 scribble 방식으로 레이블링 된 정보를 가지고 segmentated Image를 뽑아내는 Graphical Model 단계를 거치고, 이 labeled segmented image를 FCN network에 넣어주어 일반적인 segmentation 훈련 과정을 진행한다. 인퍼런스 단계에서는 오직 FCN Network만 이용하고, Graphical Model은 훈련 단계에서만 진행시킨다.
여기서 Graphical model은 scribbles 정보를 가지고 pixel의 정보를 유추해내는 일을 하는데, 초기 그래프의 생성은 image의 super pixels 위에서 이루어진다. (super-pixel 이란 유사한 픽셀끼리 뭉친 그룹을 의미하는데 이때 color, texture, brightness 등을 보고 유사성을 판단하게 된다) 그래프 상의 vertex는 super-pixel을 의미하고 edge는 super-pixel들 간의 유사성이 존재함을 의미한다.
- scribble based unary term - 이 단계에서는 scribble과 super-pixel간의 겹치는 부분이 존재하면, super-pixel이 나타내는 labeled class와 교집합이 있다고 판단해 loss cost가 0이 된다. 교집합이 없다고 한다면 그 labeled class를 제외하고 현재 이미지 상에 나타나는 class들 중에서 super-pixel이 나타내는 객체가 있다고 판단하여 같은 확률을 적용해 loss값을 구한다.
- pairwise term - 이 단계에서는 근접한 super-pixel들 사이의 유사성을 판단한다. scribble sup에서는 color 와 texture histogram으로 유사성을 비교한다.
- FCN based unary term - 이 단계에서는 super-pixel 안에있는 모든 pixel들의 pixel-wise log probability의 합을 계산한다.