Non-local Neural Networks

Introduction

Convolution

local operator에 속함 (연산 시 kernel의 크기 만큼 볼 수 있음)

CNN

넓은 receptive field를 확보하기 위한 method

하지만 위의 method는 receptive field를 넓히는 측면에서 비효율적

충분한 receptive field를 확보하기 위해 network가 깊어져야함

하지만, 이는 연산량 대비 효율의 측면에서 매력적이지 못함

Propose

기존 convolution의 local한 특성을 보완해줄 수 있는, 한번의 연산이 영상 전체 영역을 대상으로 하는 Non-local operation 제안

Non-local Means Filter (NLM filter)

노이즈 제거 필터이며 여기에서 영감을 받아 새로운 Non-local operation을 제안

NLM Filter는 주로 speckle 형태의 랜덤 노이즈를 제거하는데 많이 사용

Untitled

NLM Filter to remove random noise on pixel p

NLM Filter to remove random noise on pixel p

랜덤 노이즈는 말그대로 랜덤한 특성을 띄는 노이즈이기 때문에 매번 영상을 촬영할때마다 촬영하고자 하는 대상은 그대로 있지만, 노이즈는 랜덤하게 변합니다. 그래서 랜덤 노이즈가 제거된 영상을 얻고자 할때는 동일한 사진을 여러 차례에 거쳐 촬영하고 이들 사진을 합쳐서 평균을 내주면 랜덤한 특성은 사라지고 우리가 원하는 사물만 깨끗하게 남아있는 영상을 얻을 수 있습니다. 하지만 동일한 영상을 여러차례에 거쳐서 촬영하는 것은 상당히 귀찮은 일이고 때론 불가능 할 수도 있습니다. 이를 극복하고자 NLM Filter는 한 장의 영상만을 가지고 기존의 노이즈 제거 방법과 같은 원리를 이용하여 노이즈를 제거합니다. 자세히 살펴보면 대체로 한 장의 영상 안에도 서로 유사한 영역들이 상당히 많이 존재합니다. 예를 들면 위 사진에서 p 지점의 경우 p의 위 아래에 q1, q2와 같이 p와 유사한 구조의 지점들이 존재합니다. 때문에 한 영상 안에서도 이러한 유사한 영역들을 모아준 후 평균을 취해주면 여러장의 영상을 평균해 준 결과와 유사한 결과를 얻을 수 있습니다. 이러한 원리를 이용하는 NLM Filter는 노이즈를 제거하는데 있어서 여타 다른 필터들에 비해 상당히 좋은 성능을 보여줍니다. NLM이라는 이름에서 드러나듯이 다수의 필터들과 가장 다른 주안점은 영상의 주변부 (local) 만을 이용한 것이 아니라 영상 전체 영역 (non-local)을 활용한 필터라는 것이었습니다. 이러한 특성 덕분에 NLM Filter는 한동안 가장 좋은 성능을 가진 노이즈 제거 필터였고, 현재까지도 가장 좋은 노이즈 제거 필터로 인정되고 있는 BM3D 필터 역시도 NLM의 원리를 차용하고 있습니다.