Computer Vision Theory : 관심 영역 & 관심 채널
관심 영역(ROI)

관심 영역이란 이미지 상에서 관심 있는 영역을 의미합니다. ROI라 부르며 Region Of Interest의 약자입니다. 이미지를 처리함에 있어서 객체를 탐지하거나 검출하는 경우, 이부분을 명확하게 관심 영역이라 지정할 수 있습니다. 알고리즘을 구성시, 초기 검출 단계에서는 이미지 전체에 대해 오브젝트를 검출합니다.
이 후, 추가적인 알고리즘이 적용된다면 해당 오브젝트의 이미지 영역에서 알고리즘을 진행하는 방법이 가장 좋습니다. 객체를 탐지한 이후에 두 번째 알고리즘을 적용할 때 객체 주변 영역에 대해서 불필요한 연산이 들어가게 됩니다. 불필요한 이미지 영역에 대해서도 연산이 시작되므로 그 만큼 연산량이 많아지고 많은 리소스를 소모하게됩니다.
알고리즘의 정확도와 연산속도의 향상을 위해서는 관심 영역을 설정해야합니다. 만약, 이미지에서 시계에서 시간을 받아오는 알고리즘을 구성한다면, 첫 번째로 시계라는 객체를 검출하고, 붉은색 영역을 관심 영역으로 설정한 다음 해당 이미지 안에서 시간을 검출하는 알고리즘을 구성해야합니다. 관심 영역 지정을 효율적으로 사용한다면 알고리즘의 정확도와 연산 속도를 높일 수 있습니다.
관심 채널(COI)

관심 채널이란 이미지 상에서 관심 있는 채널을 의미합니다. COI라 부르며 Channel Of Interest의 약자입니다. 역시, 이미지를 처리함에 있어서 특정 채널을 사용하여 연산을 진행하는 경우, 이 부분을 관심 채널이라 부를 수 있습니다. 색상 이미지 (BGR)에는 매우 많은 데이터가 담겨있습니다.
이때 채널을 분리하여 특정 채널에 대해 연산을 시작한다면 단순하게 1/3배로 데이터의 양이 줄어듭니다. 또한, 채널을 모두 분리한 뒤에 동일한 알고리즘을 적용하여 더 많은 결과를 얻을 수 있습니다. 단순하게 계산하는 데이터의 양은 1/3배로 줄지만, 얻어내는 데이터의 양은 3배로 늘어나게 됩니다.
채널을 분리하였을 때, GrayScale과 비슷한 형태를 보입니다. 하지만, GrayScale의 경우, Y = 0.299 x R + 0.587 x G + 0.114 x B의 공식을 통해 얻어진 값입니다. 각 채널의 값에 대한 가중치의 곱으로 GrayScale을 생성합니다. 확실하게 데이터의 변형이 생깁니다. Green 채널에 대한 값에 가장 영향을 많이 받으며, Blue 채널에 대해 가장 영향을 적게 받습니다.
특정 알고리즘을 구성할 때에는 각각의 채널에 대한 연산이 더 높은 정확도를 얻어낼 수 있습니다.
관심 영역과 관심 채널 둘 다 데이터의 형태를 변형하는 것이 아닌, 특정 영역을 불러와 연산량과 정확도를 높이는데 사용할 수 있습니다. 알고리즘을 구성하는데 있어 관심 영역, 관심 채널, 비관심 영역, 비관심 채널을 구분한다면 효율 높은 프로그램을 구성할 수 있습니다.
마스크(Mask)
관심 영역(ROI)은 일반적으로 직사각형 형태로 지정합니다. 배열의 일부를 잘라내는 방식이므로 구현이 간단하고 연산도 빠르지만, 검출하려는 객체가 원형이거나 불규칙한 형태라면 관심 영역 안에 불필요한 배경이 함께 포함됩니다.
이때 사용하는 것이 마스크(Mask)입니다. 마스크는 원본 이미지와 크기가 같은 단일 채널 이미지로, 연산에 포함할 픽셀은 255, 제외할 픽셀은 0으로 표시합니다. 이를 통해 사각형이 아닌 임의의 형태로도 연산 범위를 지정할 수 있습니다.
관심 영역이 어느 위치를 가져올지를 정한다면, 마스크는 그중 어떤 픽셀을 사용할지를 정합니다. 두 가지를 함께 사용하면 필요한 영역만 잘라낸 뒤 그 안에서도 원하는 형태만 남길 수 있어, 연산량과 정확도를 동시에 개선할 수 있습니다.
- Tip : OpenCV의 여러 함수는
mask인자를 지원하므로, 이미지를 직접 잘라내지 않고도 특정 영역에만 연산을 적용할 수 있습니다.
- Writer by : 윤대희
댓글 남기기