인공지능/Computer Vision

RGB 이미지의 합성곱 연산

해리누나 2023. 5. 15. 03:08
728x90
반응형

지금까지는 위의 예시처럼 채널을 고려하지 않고 합성곱 연산을 했었는데, 실제 합성곱 연산의 입력이미지는 다수의 채널을 가지고 있거나 또는 이전 연산의 결과로 나온 특성 맵일 수도 있다.

 

 

그레이 스케일의 이미지의 경우 채널이 1개지만 RGB 이미지는 적,녹,청의 3개의 채널을 가지니 RGB 이미지를 예로 다수의 채널을 가진 입력 이미지의 합성곱 연산을 살펴보자.

입력이미지가 다수의 채널을 가진다면 필터 또한 같은 채널의 개수를 가져야 한다.

“입력이미지의 채널 수 = 필터의 채널 수

 

 

저 세 개의 행렬을 쌓은 것 같은 3 x 3 x 3 필터를 단순화시켜서 삼차원의 정육면체로 나타내볼 수 있다. 이때 합성곱 연산은 이전이랑 같은 방법이다. 이 정육면체의 필터를 입력 이미지의 가장자리부터 시작해 계산하면서 쭉 옮겨주면 된다.

필터안의 각각의 요소들을  빨강, 초록, 파랑 채널에 맵핑되는 수와 곱해준다. 마지막으로 각각의 채널에서 곱해서 나온 수들을 다 더해준다.. 그렇게 되면 특징 맵은 4 x 4 x 1 , 즉 하나의 채널만을 가지게 된다.

 

 

출처: https://wikidocs.net/64066

RGB 이미지의 합성곱 연산의 다른 예시다. 마찬가지로 3개의 채널을 가진 입력 이미지에 3개의 채널을 가진 하나의 필터로 합성곱 연산을 진행했을 때다. 결과로 하나의 채널을 가진 특성 맵이 나온다.

 

 

하지만 만약에 예를 들어 세로 윤곽선을 검출하는 필터 뿐만아니라 가로 윤곽선을 검출하는 필터까지 같이 쓰고 싶은 상황이면 어떻게 될까? 필터가 여러개인 상황을 보자.

 

위의 예시처럼 두가지의 필터를 동시에 사용한다고 해보자. (세로와 가로 윤곽선 검출 필터)

첫 번째 필터와의 합성곱은 4 x 4 의 특성맵을 가지고 두 번째 필터와의 합성곱은 또 다른 4 x 4 의 특성맵을 결과로 가진다.

이 각 필터와의 계산을 통해 나온 각각의 특성맵들을 쌓으면 두개의 필터와의 합성곱연산의 결과가 되는 것이다.

따라서 위의 6 x 6 x 3 입력 이미지와 두 개의 3 x 3 x 3 필터의 결과는 4 x 4 x 2의 크기를 가진다.

 

 

정리해보자면...

하나의 필터만 사용할 경우 3차원 텐서를 가진 입력 이미지의 합성곱 연산의 결과는 2차원의 특성맵이 된다.

(이때 사용한 필터의 채널 수는 입력 이미지의 채널 수와 같아야 한다.)

 

 

 

합성곱 연산에서 다수의 필터를 사용할 경우 합성곱 연산의 결과는 3차원의 특성맵이 된다.

(이때 사용한 필터의 수는 합성곱 연산의 결과로 나오는 특성 맵의 채널수가 된다.)

 

따라서 위와 같은 관계식을 만들어 볼 수 있다. (스트라이드가 1이고 패딩이 없을 때의 성립하는 식이다.)

$n$ : 입력 이미지의 높이 혹은 너비, $n_c$ : 입력 이미지의 채널 수 , $f$ : 필터의 높이 혹은 너비, $n'_c$ : 필터의 개수

 

 

 

 

 

 

728x90
반응형