본문 바로가기

Material Recognition

Encoding based Material Recognition(2)

반응형

Encoding based Material Recognition 두 번째 포스팅입니다.

지난 포스팅에서는 이전 FVCNN, Deep Filter banks 기반 재질 인식에서 한 발짝 더 나아간 <Deep TEN: Texture Encoding Network> 논문을 리뷰했었는데요, 이번에는 이 네트워크의 단점을 보완해 이듬해 CVPR에서 발표된 논문을 살펴보겠습니다. 이전 포스팅을 아직 읽지 않으셨다면 먼저 읽고 오시는 것을 추천드리겠습니다. 링크 걸어두었습니다.

Deep Texture Manifold for Ground Terrain Recognition (Xue et al. CVPR 2018)

이전 포스팅에서 Deep TEN이 Texture Recognition에 유용한 order-less, spatially-invariant 한 feature representation 방법을 제시했다고 설명드렸었는데요, 잠깐 언급했던 것처럼 이 방식에는 문제점이 하나 존재합니다. 바로 Texture / Material을 order-less texture detail로만 정의하는 것이 classification 관점에서 볼 때 몹시 불리하다는 점인데요, 논문의 figure를 예로 들어 설명해보겠습니다. 

J. Xue, H. Zhang, and K. Dana, ‘‘Deep texture manifold for ground terrain recognition,’’ in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Salt Lake City, UT, USA, Jun. 2018, pp. 558–567

첫 번째 행의 이미지들은 어떤 특정 texture가 이미지의 FoV(Field of View)를 꽉 채운 형태를 띄고 있습니다. 이런 경우, 해당 texture를 가지는 객체의 전체 shape이 이미지에 노출되지 않았고, 비슷한 형태의 패턴이 반복되는 형식을 띄고 있기 때문에 Deep TEN이 제시한 order-less texture representation 만으로 충분히 정의가 가능할 것입니다. 

반면, 두 번째 행의 이미지들을 보면 각 이미지들이 특정 shape을 가지는 복수의 texture로 채워져 있는 것을 확인할 수 있습니다. 과연 이런 이미지 -'images in the wild with regular shape' - 에 대해서도 Deep TEN의 order-less texture detail이 완전한 feature description을 하고 있다고 할 수 있을까요? 아마도 답은 '아니다' 일 것입니다.

잎(leaves), 나무(tree), 쇠(metal)과 같은 재질의 이미지를 일상 생활에서 얻는다고 할 때, 이 재질들이 가지는 shape는 정형화까지는 아니더라도 어느 정도 일정한 패턴을 가집니다. 잎의 경우에는 유선형, 중심에서 밖으로 향하는 줄기, 동시에 여러 개가 모여 있는 특성 등등을 가지고 있을 것이고, 길거리에서 일반적으로 관찰할 수 있는 metal object 들은 하수구 뚜껑, 가로등, 가드레일 등으로 한정되어 있겠죠. 이런 특성을 고려할 때, orderless detail 들만 사용해 재질을 인식하는 것은 classification에 유리한 정보를 버리는 셈이 됩니다.

이 문제를 논문은 order-less texture detail과 local spatial information 사이의 balancing으로 해결했습니다. 좀 더 구체적으로 살펴보도록 하겠습니다.

DEP(Deep Encoding Pooling) Network

J. Xue, H. Zhang, and K. Dana, ‘‘Deep texture manifold for ground terrain recognition,’’ in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Salt Lake City, UT, USA, Jun. 2018, pp. 558–567

위 그림에서 알 수 있듯, DEP network는 Conv layer의 뒷 단에 두 개의 branch를 만들었습니다. 첫 번째는 Texture Encoding layer로 Deep TEN에서 사용된 것과 같은 encoding layer 입니다. Order-less texture detail들을 뽑아내는 역할을 하는데, 구체적인 설명은 이전 포스트 를 참조하시면 좋을 것 같습니다. 이 포스트에서는 그냥 arbitrary input size에 대해 fixed number(number of code word. 학습의 파라미터로, 더 많은 수의 code word를 사용하면 좀 더 detail한 feature까지 뽑을 수 있을 것입니다) dimension의 encoding vector를 추출한다고만 설명하고 넘어가겠습니다.

두 번째는 local spatial information을 추출하는 GAP(Global Average Pooling) layer입니다. GAP는 conv layer의 output으로 나온 HxWxC의 feature map을 feature map -wise averaging을 통해 1x1xC의 vector로 바꿔주는 pooling을 수행합니다. 결과적으로 각 conv filter가 통과한 local region 들의 spatial information을 추출해준다고 할 수 있습니다. GAP의 자세한 개념에 대해서는 terminology section에서 따로 정리한 뒤 링크 달아두도록 하겠습니다. 

이렇듯 각 branch의 중심 기능을 담당하는 layer 에는 논문의 novelty 가 없습니다. 다만 이 논문은 이 두 정보 - order-less texture detail 과 local spatial information 가 classification에 미치는 contribution을 조절할 수 있는, differentiable한 bilinear model를 구성해 좀 더 효율적인 material classifier를 만들어냈습니다.

수식 1

수식 1은 bilinear function Y^ts 를 정의하고 있습니다. 수식의 a^t와 b^s는 각각 IxJ dimension에서의 material texture information과 spatial information을 지칭합니다. 이 bilinear model은 learning weight wij를 통해 더 좋은 classifier를 만들기 위한 두 정보의 적정비율을 학습합니다. 

Bilinear model에 들어가기 전, 각 branch의 끝단에는 fc layer가 하나씩 붙어 있는데요, 이는 두 output feature의 dimension을 줄여 좀 더 효율적이고 정확한 parameter를 추출하기 위함이라고 논문은 말하고 있습니다. 

J. Xue, H. Zhang, and K. Dana, ‘‘Deep texture manifold for ground terrain recognition,’’ in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Salt Lake City, UT, USA, Jun. 2018, pp. 558–567

위 그림은 18-layer ResNet 기반의 DEP Network structure를 보여주고 있습니다. Material Classification Network 로써 DEP이 가지고 가는 base idea는 이 정도 이구요, training 과정에서 쓰인 몇 가지 skill / Novelty를 짚어 본 뒤에, Texture Manifold에 대해 설명하는 것으로 포스팅을 마무리하도록 하겠습니다. 

  • Multi-scale Training: 이 논문은 특정 material을 서로 다른 거리 혹은 관점에서 바라 보는 것이 재질 인식에 도움을 줄 거라는 직관을 바탕으로 서로 다른 scale를 가지도록 patch를 추출해 학습데이터로 사용했습니다. 그 결과 모든 실험에서 multi-scale이 single-scale network를 앞섰다고 리포트했습니다.
  • GTOS-Mobile : 논문은 기존 DAIN 논문에서 제시했던 GTOS에서 한발짝 더 나아간 GTOS-mobile 데이터를 제시했습니다. 이 데이터셋은 real-world ground terrain 이미지를 얻기 위해 야외 토지를 걸으면서 아이폰으로 촬영한 몇 가지 영상으로 구성되어 있고, 테스트시에는 이 영상들로부터 정한 규칙에 따라 이미지를 추출하여 사용했습니다.

Deep Texture Manifold

개인적인 의견으로는 지금까지 설명드린 내용이 논문의 전부였다면 아마 이 논문은 CVPR을 통과하지 못했을 것이라고 생각됩니다. 논문은 Deep Texture Manifold 를 또다른 novelty로 제시하고 있는데요, 논문은 이를 'DNN을 이용해 texture image로부터 2d manifold coordinate / embedded distribution 을 바로 얻을 수 있는' parametric texture manifold라고 설명하고 있습니다(아마 논문 제목이 Deep Encoding Network가 아닌 Deep Texture Manifold 인 이유도 여기에 있겠죠..).

이 뜻을 제대로 이해하기 위해서는 우선 manifold라는 개념에 대해 이해하고 있어야 하는데요, 이 곳 에 따로 좀 더 자세히 설명을 해놓았으니 보고 오시면 좋을 것 같습니다.  

J. Xue, H. Zhang, and K. Dana, ‘‘Deep texture manifold for ground terrain recognition,’’ in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Salt Lake City, UT, USA, Jun. 2018, pp. 558–567

Texture Manifold를 추출하기 위한 네트워크는 DEP의 막단 feature들을 input으로 받습니다. DEP 뒤로 이어지는 texture embedding network 부분에는 큰 novelty가 있어보이지는 않습니다. 논문에서도 대부분 prior work(L. Van Der Maaten. Accelerating t-sne using tree-based algorithms. Journal of machine learning research, 15(1):3221– 3245, 2014)를 따랐다고 소개하고 있어서 따로 깊게 설명은 하지 않고 링크 달아 두겠습니다. 

J. Xue, H. Zhang, and K. Dana, ‘‘Deep texture manifold for ground terrain recognition,’’ in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Salt Lake City, UT, USA, Jun. 2018, pp. 558–567

논문에서 마지막으로 시사하고 있는 바는 다음과 같습니다. 사실 재질 인식에 있어서 클래스의 정의와 구분은 사람이 임의로 정한 것이기 때문에 해석하기 모호한 경우가 많습니다. 예를 들어, 동일한 색상을 가지는 돌바닥과 시멘트, 벽돌 을 서로 잘 구분하지 못한다고 해서, 이 classifier가 재질을 잘 구분하지 못한다고 할 수 있느냐 하면 애매하다는 거죠. 사실 세 클래스는 가공과정에서 목적에 따라 형태가 달라졌을 뿐, 표면 재질에는 큰 차이가 없을 수 있으니까요. 실제 위 그림의 confusion matrix를 보면, 완벽히 분류되지 않더라도 서로간의 유사성 때문에 판단이 모호해지는 몇 가지 클래스 그룹을 발견할 수 있습니다. 즉, 제시한 DEP 네트워크는 모든 재질을 정확히 해당 클래스로 분류하지는 못했어도 최소한 비슷한 - closely related classes 로 구분하는데에 성공했음을 확인할 수 있습니다.

지금까지 CVPR 2018 에서 발표된 Deep Texture Manifold 논문을 살펴보았는데요, 이 논문의 contribution을 정리하자면 크게 세 가지입니다.

  • orderless texture detail 과 local spatial information 의 contribution을 조절한 DEP material recognition network
  • Texture image로부터 texture manifold를 바로 추출가능한 Deep Texture Manifold
  • Hand-held mobile camera로 GTOS와 유사한 ground terrain을 수집한 GTOS-mobile dataset. 

 개인적으로 Texture manifold 쪽은 재질 인식 네트워크의 성능을 측정/비교할 때 꼭 필요하다고 생각되는 부분입니다. 기회가 된다면 따로 공부하고 정리해서 포스팅하도록 하겠습니다.

부족한 글 읽어주셔서 감사합니다. 잘못된 부분이 있다면 댓글로 남겨주시면 감사하겠습니다.

반응형

'Material Recognition' 카테고리의 다른 글

Encoding based Material Recognition (1)  (0) 2019.11.25