Ⅰ. 서 론
디지털 영상을 의미 있게 해석하기 위하여 객체 별로 분류하거나 관심 있는 영역으로 나누는 작업을 영상 분류라고 한다. 일반적으로 영상의 물체를 추출하거나 영상에서 전경/배경을 나누는 영상 처리 기법은 여러 응용분야에서 사용되고 있다. 근래에 영상 분류 알고리즘 연구가 많이 이루어지고 있는데 프레임간 비교를 통해 화소 단위로 Mixture of Gaussian 모델[1][2]을 생성해서 배경을 분리하는 방법이 널리 사용되고 있다. 그 외 Bayesian decision 모델[8], Kernel density 모델[9] 등 많은 다른 방법들이 소개되고 있다. 그러나 이러한 방법들은 intensity 정보만을 사용하기 때문에 충분한 성능을 제공하지 못하는 단점이 있다. 이에 [3,4,5,6,7]에서는 texture 정보를 추가적인 feature 정보로 하여 알고리즘의 성능을 개선시킨다. 이는 다수의 영상 feature들을 사용함에 따라 정확도는 높아졌지만 그에 따른 알고리즘 복잡도가 높아지고 더욱 강력한 장치를 요구하게 된다는 것을 의미한다. [10]에서는 복잡도가 높은 알고리즘에서 하드웨어적인 향상을 구현하였지만 추가적인 장치가 요구된다. 위와 같이 단일 영상에서 소프트웨어적인 연산만으로 물체를 분류하는 방식과 다르게 영상의 깊이 정보를 이용하는 연구도 이루어지고 있다. [11,12,13]에서는 깊이 센서나 stereo 영상으로 깊이 정보를 얻음으로써 간단하게 전경과 배경을 분리하는 방법을 제시한다. 그러나 깊이 센서라는 추가적인 하드웨어가 요구되기 때문에 장치 가격은 증가하게 된다. 또한 깊이 센서의 기술적인 한계로 저해상도의 깊이 영상을 제공함으로써 실제 색 영상과의 합성이 불가피하게 되었다.
앞서 소개한 논문과 비교하여 본 논문에서는 추가적인 장치 없이 단일 카메라로 기존 방법의 성능을 보장하면서 복잡도를 낮춘 알고리즘을 제시한다. 고정된 카메라를 통해 참조 영상을 확보하는 초기화 과정으로 알고리즘이 시작된다. 제안하는 알고리즘은 RGB 색 정보를 기반으로 프레임간 DCT 요소 비교를 통해 이진 분류를 수행한다. 이 방법은 기존의 고전적인 색 또는 intensity 비교를 통한 분리 방법을 활용하는 동시에 영상 texture정보를 추가로 활용한 강력한 방법이다. 이미지 texture를 측정하는 방법 중 공간(spatial) 영역보다 주파수 영역에서 관찰하는 것이 성능이 좋기 때문에 변환된 DCT 도메인에서 더욱 정확한 texture 정보를 확보할 수 있다. 또한 Block DCT를 수행하면 알고리즘의 복잡도 및 계산 양을 현격히 줄일 수 있다. 일반적으로 Block단위 영상 처리는 under/over 분류를 야기할 수 있으므로 본 논문에서는 Guided 필터를 통해 이를 개선한다. Guided 필터는 edge 보존 기능을 제공하며 복잡도가 낮은 고성능 smoothing 필터로서 전경을 추출하는 matting에 유용한 필터로 알려져 있다[14]. 또한 본 논문에서는 Guided 필터의 한계를 제시하고 그 한계를 극복하여 성능을 향상시키는 방법을 제안한다. 최종적으로 제안한 알고리즘은 전체적인 복잡도를 줄여 실시간 처리가 가능하고 동시에 성능을 향상시킨 데 의미가 있다. 본 논문은 다음과 같이 구성되어 있다. 두 번째 장은 색정보에 따른 Block DCT를 활용한 이진분류 방법을 소개한다. 세 번째 장은 under/over 분류된 결과를 Guided 필터로 matting하고 보완하는 방법을 제안한다. 네 번째 장은 예시 영상을 통한 시뮬레이션 결과 비교 및 실제 알고리즘의 복잡도를 제시하고, 다섯 번째 장에서 결과 분석을 통해 결론을 내린다. 그림 1은 전체 흐름을 나타낸 구조도이다.
그림 1.전체 흐름도 Fig 1. Overall Flowchart
Ⅱ. RGB 분석 기반 Block DCT 이진 분류방법
공간영역에서의 texture 분석과 비교하여 DCT 도메인에서 영상을 분석하면 texture 정보를 더 정확하게 확보할 수 있다. 특히 DCT는 기존의 공간영역 기법과 다르게 복잡한 신호로 이루어진 texture뿐만 아니라 윤곽 texture(edge) 부분도 동시에 찾을 수 있다. 또한 intensity 정보도 포함하고 있기 때문에 활용도가 높다. 이렇듯 새로운 물체가 유입되지 않은 참조 프레임의 8x8 Block DCT 결과와 현재 프레임의 Block DCT 결과를 비교함으로써 현재 프레임에 새롭게 출현한 물체를 분류를 할 수 있다. 여기에 RGB 분석 결과를 추가적으로 포함시킨다.
1. RGB 분석을 통한 알고리즘 성능 향상 방법
DCT 변환에 앞서 RGB 크기 차이를 분석한다. 색 영상은 RGB 3개의 채널을 가지기 때문에 3채널 DCT를 수행하여 비교를 하는 것은 비효율적이다. 왜냐하면 3개의 채널 DCT를 한 후 비교를 하는 것은 계산 소요가 많기 때문이다. 기본적으로 프레임 간 RGB요소 중 가장 큰 변화만 고려하고 1개 채널에 대해서 DCT를 수행 하여도 같은 효과를 볼 수 있다. 따라서 식(1)과 (2)와 같이 RGB 가운데 가장 큰 차이를 갖는 채널을 구한 후 해당 채널만 Block DCT를 수행한다. Rr은 참조 프레임에서 R 채널의 8x8 block 평균 화소값(Average pixel value)이고 Rc는 현재 프레임에서 R 채널의 8x8 block 평균 화소값이다. G, B의 경우도 같은 방법으로 계산된다.
이렇게 함으로써 DCT를 각 block 당 한 개 채널만 수행하면서, DC 요소의 값이 결국 두 프레임에서 RGB 차이의 최댓값으로 나타낼 수 있는 장점이 있다. 또한 식 (3)과 같이 Diffmax의 값이 경험적으로 설정된 ρ값 이상일 경우는 확실한 전경으로 분류하고 나머지에 대해서만 DCT를 수행한다.
2. Block DCT기반 이진 분류 방법
명확한 색상 차이로 인해 구분된 전경 block을 제외하고, 아직 분류되지 않은 block을 DCT 변환을 통해 전경/배경으로 확정한다. 제안하는 방법은 DCT 내에서 참조 프레임과 현재 프레임의 생성된 DCT의 요소를 비교하여 분류를 한다. [15]에 따르면 그림 2과 같이 DCT는 DC, Low Frequency, Middle Frequency, High Frequency로 이루어지며 Middle Frequency와 High Frequency의 합 TexE=fmiddle+fhigh은 block의 texture정도를 나타내고 TexE(Texture Energy)라 한다.
그림 2.DCT 요소 분석 Fig 2. DCT Component Analysis
이를 기반으로 식(4)와 같이 DC 차이를 이용하면 두 프레임간의 Intensity 차이를 구할 수 있고 TexE를 이용하면 texture정도의 차이를 구할 수 있다.
Id는 두 프레임의 block intensity 차이이고 Td는 block texture 차이이다.
일반적으로 이진 분류영상을 만들 때 프레임 간의 차이 정도를 나타낼 수 있는 Id, Td의 절대치가 사용자가 설정한 값보다 작으면 배경, 그렇지 않으면 전경으로 분류할 수 있다. 그에 따른 결과는 그림 3과 같다.
그림 3.이진 분류 결과 (a) 원본 영상 (b) 이진 분류 영상 Fig 3. Binary Segmentation Result (a) Original Image (b) Binary Se- gmentation Image
색 정보와 DCT 정보의 병합으로 새롭게 출현한 전경을 올바르게 이진 분류할 수 있지만 block 처리이기 때문에 전경이 under/over 분류되는 경우가 발생한다. 따라서 다음절에서는 Guided 필터를 이용하여 under/over 분류 결과를 개선하는 방법을 제시한다.
Ⅲ. Guided 필터를 이용한 불충분 분류 개선방법
이 절에서는 전 단계에서 under/over 분류 결과를 개선하기 위한 matting 방법으로 Guided 필터[14]를 제시하고 추가적으로 Guided 필터의 한계를 해결하기 위한 방법도 제안한다.
1. 기존 Guided 필터 matting 방법
Guided 필터는 입력 영상 pi에 guidance 영상 Ii가 추가적으로 입력되어 출력영상 qi을 출력하는 영상처리 필터이다. Guided 필터는 식(5)와 같이 표현될 수 있다.
첫 번째 식에서 Ii와 qi가 선형관계라고 가정할 때 두 번째 식과 같이 입출력이 되는 pi와 qi에 대한 차이를 최소로 하는 계수 a, b을 구할 수 있다. I는 현재 화소의 위치를 나타낸다. 구해진 계수들과 첫 번째 식을 이용하면 출력 영상을 얻을 수 있다. 본 논문에서는 under/over 이진 segmentation 영상을 pi로 하고 현재 영상의 intensity 값을 Ii로 한다.
식(5)의 차이의 최솟값에 따른 a, b는 식(6)과 같다.
CovIp는 두 입력영상의 공분산을 나타내고 μp, μI는 각 pi, Ii 입력 영상들의 window 영역 내 평균값이다. ε는 Guided 필터의 파라미터로써 분모인 현재 영상의 분산이 낮은 평평한 영역일 때 a의 값이 매우 크게 되는 경우를 방지하면서 smoothing정도를 조절한다. 또한 식(4)에서 window ω는 크기에 따라 smoothing정도가 조절되므로 경험적으로 결정한다.
여기서 Guided 필터를 적용하면 이진 분류의 결과 값이 0에서 1사이의 실수 범위를 갖게 된다. 결과 값이 0인 경우 확실한 배경으로, 1인 경우 확실한 전경으로 판단 할 수 있다. 그사이의 값은 unknown 값으로써 hard threshold를 적용하면 이진 분류 결과로 다시 되돌릴 수 있다. 그러나 본 논문에서는 이진 분류로 변환하지 않고 [16]의 Alpha Blending을 적용하여 Guided 필터 출력을 그대로 Alpha 값으로 활용하는 Blending 처리를 제안한다. 이 방법은 영상을 새로운 배경에 합성할 경우, 이진 분류 영상보다 더 자연스러운 효과를 얻을 수 있다.
그림 4은 Guided 필터를 이용한 matting 결과 영상이다.
그림 4.Guided 필터에 의한 Matting 결과 Fig 4. Matting Result by Guided Filter
그림 2의 이진 분류결과와 비교하면 보다 실제의 물체 형태로 matting 된 것을 관찰할 수 있다. 그러나 Guided 필터는 edge를 보존하는 smoothing 필터기 때문에 guidance영상에서 edge가 약한 영역(빨간 표시 영역)에서는 기존 입력 이진 영상보다 출력 결과성능이 떨어지는 한계가 존재한다. 따라서 이를 보완하기 위한 방법을 제안한다.
2. 향상된 Guided 필터 Matting 방법
그림 5은 성능이 낮아지는 영역을 확대한 것이다. 이진 분류에서는 명확히 전경으로 결정된 영역들이 Guided 필터에 의해서 값이 낮아지고 unknown 값으로 필터링 되는 것을 관찰할 수 있다.
그림 5.Guided 필터의 한계 예시 (a) Guidance 영상 (b) 입력 영상 (c) 출력 영상 Fig 5. Example of Guided Filter Limitation (a) Guidance Image (b) Input Image (c) Output Image
예시 영상에서 전경과 배경의 경계부분(빨간 표시 영역)을 1차원 신호로 분석하면 그림 6과 같이 나타낼 수 있다.
그림 6.Guided 필터 1차원 신호 분석 Fig 6. One Dimension Analysis of Guided Filter
Guidance영상이 거의 평평하기 때문에 구하려는 분산과 공분산의 값이 0에 가까운 값을 갖는다. 이에 따라 식(5), (6)에서 계수를 구하면 식(7)과 같이 출력영상의 값이 결국 평균 입력영상이 된다.
Guided 필터는 guidance 영상에 따라 필터 출력이 영향을 받기 때문에 flat한 영역에서는 결과 성능이 저하된다. 또한 이 영역들의 공통적인 특징은 실제로는 전경이지만 이진 분류과정에서 확실하게 분류되지 않은 상태에서 guidance 영상도 평평한 어려운 경우이다. 이 문제를 해결하기 위해서 이진 분류로 얻은 입력영상을 개선한 후 matting을 적용하는 방법을 제안한다. 이를 위해 본 논문에서는 Guided 필터를 두 번 적용함으로써 성능감소를 최소화한다. 먼저 이진 분류로 얻어진 입력영상을 1stGuided 필터를 적용하여 입력 영상을 개선한다. Unknown 값으로 된 영역을 찾기 위해 식(8)를 적용한다.
qi*는 결정 파라미터로써 Guided 필터 출력 (qi) 과 입력영상의 평균치(μp)의 비율 값이다. 이 값은 guidance가 평평한 경우와 edge인 경우로 나누어서 고려한다. 첫 번째 경우를 그림 7에서 살펴보면 guidance가 평평한 영역은 Guided 필터 출력이 평균 입력 결과와 같아지기 때문에 비율이 1이 되는 것을 볼 수 있다.
그림 7.평평한 영역에서의 결정 파라미터 Fig 7. Decision Parameter in Flat Region
이 경우에는 결정 파라미터가 1인 영역을 명확히 전경이라고 판단함으로 안정적인 새로운 입력영상을 만들 수 있다. 그림 7에서 점 k1의 오른쪽부분은 실제 전경 영역이지만 이진 분류에서 전경으로 분류되지 못했던 영역으로 새로운 입력 생성과정에서 올바른 영역으로 재분류된다.
두 번째 경우를 그림 8에서 살펴보면 출력이 guidance에 영향을 받아 edge가 보존되어 결정 파라미터의 값이 진동하는 것을 관찰할 수 있다.
그림 8.Edge 영역에서의 결정 파라미터 Fig 8. Decision Parameter in Edge Region
이 경우에서는 결정 파라미터가 1일 때만 고려한다면 판별오류가 발생될 수 있으므로 결정 파라미터가 1보다 큰 경우를 전경으로 판단해야 한다. 그러면 점 k1까지 원래의 입력영역을 보존할 수 있게 된다. 그러나 그림 8에서 보이듯이 점 k2부터 출력과 평균 입력의 비율이 역전되는 것을 관찰할 수 있다. 왜냐하면 guidance의 영향을 받아 edge 보존력에 의해 이 영역에서 입력의 smoothing정도가 평균 입력보다 커지기 때문이다. 이를 방지하기 위한 추가적인 파라미터를 고려한다. 그림 9은 두 번째 경우의 결과인데 β를 적용한다면 역전현상이 일어난 영역이 새로운 입력영역으로 잘못 판단되는 것을 방지할 수 있다. 여기서 β는 평균 입력에 대한 파라미터이며 실제 알고리즘 적용 시 평균 입력에 대해 적용 범위를 조절한다.
그림 9.Edge 영역에서의 새로운 입력 결과 Fig 9. New Input Result in Edge Region
이에 따라 제안하는 방법을 식(9)과 같이 나타낼 수 있다.
얻어진 결과영상과 기존의 이진 분류 영상을 OR Opera- tor를 취해 새로운 입력영상을 생성한다.
그림 10는 제안하는 방법으로 개선한 결과를 보여준다.
그림 10.입력영상 비교(a) 이전 입력 영상 (b) 새로운 입력 영상 Fig 10. Comparison of Input (a) Previous Input (b) New Input
그림과 같이 이진 분류에서 배경으로 잘못 결정된 영역이 전경으로 변환됨과 동시에 edge부분은 역전현상 없이 안정적으로 유지됨을 확인할 수 있다.
위의 과정을 통해 성능이 향상된 새로운 입력 영상은 처음 입력과 마찬가지로 under/over 이진 분류 영상이므로 이를 해결함과 동시에 Alpha 영상으로 만들기 위해 2ndGuided 필터처리를 활용한 matting처리를 한다.
Ⅳ. 실험
그림 11는 기존 방법 중에서 texture정보를 분석하는 feature로써 복잡도가 낮고 주로 사용하는 LBP(Local Binary Pattern)의 Histogram방법[4]과 DCT방법을 적용하여 이진 분류한 결과이다. LBP 검사 화소 는 1 화소이며 비트 수는 8비트로 LBP를 설계하였다.
그림 11.이진 분류 성능 비교 영상 (a)원본 영상 (b)실측 영상 (c) LBP 방법 (d) DCT 방법 Fig 11. Comparison of Binary Segmentation Performance (a) Orignal Image (b) Ground Truth (c) LBP Method (d) DCT Method
표 1은 DCT의 성능을 검증하기 위해서 각 영상의 실측 자료(Ground Truth)영상과 이진분류영역의 각각 화소개수 및 개수 차이를 측정한 것이다. (영상 크기 1280x720, 총 화소개수 921600)
표 1.이진 분류 화소 개수 비교 Table 1. Comparison of Binary Segmentation Pixel Number
표와 같이 DCT방법에서 실측 자료와 화소 개수가 상대적으로 유사한 것을 관찰할 수 있다. DCT방법에서 성능이 더 뛰어난 이유는, 그림 12와 같이 texture정보에 대한 분석을 통해 알 수 있다. 이는 DCT를 적용하였을 때 전체적인 윤곽 texture, 몸체 내부에 있는 texture 등에 대해서 전경이 좀 더 안정적으로 추출되기 때문이고, 만약 LBP를 사용한다면 edge texture정보를 추출하는 다른 measure가 요구 된다.
그림 12.Texture분류 성능 비교 (a) 원본 영상 (b) LBP (c) DCT Fig 12. Comparison of Texture Segmentation Performance (a) Original Image (b) LBP (c) DCT
그림 13은 동일한 입력으로 matting을 하였을 때 기존의 Guided 필터방법과 제안하는 Guided 필터방법을 적용한 결과이다.
그림 13.Guided 필터 Matting 출력 비교 (a) 입력 영상 (b) 기존 Guided 필터 결과 (c) 제안하는 Guided 필터 결과 Fig 13. Comparison of Guided Filter Matting Result (a) Input (b) Basic Guided Filter Result (c) Proposed Guided Filter Result
그림과 같이 기존의 Guided 필터에서 보였던 문제 영역(빨간 표시 영역)이 개선되는 것과 동시에 다른 영역은 그대로 보존됨을 관찰할 수 있다.
앞서 언급하였듯이 제안하는 방법은 Guided 필터의 결과 값을 그대로 Alpha 값으로 사용한다. 따라서 새로운 배경에 적용할 때 자연스러운 결합을 가능케 한다. 그림 14는 현재 프레임을 새로운 배경에 결합한 영상이다.
그림 14.응용 예시 (a) 원본 영상 (b) 결합 영상 Fig 14. Application Example (a) Original Image (b) Combined Image
알고리즘은 Opencv 기반으로 구현 하였으며 intel core i5 cpu 3.3GHz의 컴퓨터 환경에서 HD(1280x720)영상에 대해 약 30fps의 합성/재생속도를 갖는다. 이는 일반적으로 실시간 동영상의 프레임속도이다.
Ⅴ. 결 론
제안하는 알고리즘은 intensity와 texture의 변화를 측정하여 분류를 하는 방법으로 DCT 분석을 기반을 두었고 RGB 색정보를 추가적으로 포함하여 알고리즘의 성능과 속도를 높였다. Matting의 유용한 Guided 필터를 사용하는 것과 동시에 필터의 한계를 극복하여 성능을 향상시켰다.
제안하는 알고리즘은 결과 값이 영상 합성을 위한 Alpha값이기 때문에 다양한 응용분야에서 쉽게 사용될 수 있다는 장점이 있다. 이는 Alpha 값이 영상 전체에서 전경만을 색인화하기 때문에 영상 전송/압축하는 응용분야에서 활용도가 높아질 것이다. 본 논문에서는 움직이는 물체를 안정적이며 실시간으로 추출할 수 있는 새로운 matting 방법을 제시하고 있지만 몇 가지 제한사항이 존재한다. 참조 프레임과 현재 프레임을 block 단위로 비교하기 때문에 전경 영역일지라도 만약 block의 색 및 texture 특성이 유사하다면 전경으로 판단되기 어려울 것이다. 위의 한계점들은 후속연구에서 다루어 질 것이다.
참고문헌
- J.J. Verbeek, N. Vlassis and B. Kr ose, "Efficient Greedy Learning of Gaussian Mixture Models," Published in Neural Computation 15(2), pages 469-485, 2003. https://doi.org/10.1162/089976603762553004
- T. Yu, C. Zhang, M. Cohen, Y. Rui and Y. Wu, "Monocular Video Foreground/Background Segmentation by Tracking Spatial-Color Gaussian Mixture Models," . In IEEE Workshop on Motion and Video Computing,pages 5–5, 2007.
- B. Vishnyakov, V. Gorbatsevich, S. Sidyakin, Y. Vizilter, I. Malin and A. Egorov, "Fast Moving Objects detection Using iLBP Background Model," The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XL-3, 2014.
- X. Sun and F. Chang, "Background Model Combining Gauss Model with Local Binary Pattern Feature," Journal of Convergence Information Technology(JCIT) Volume 7, Number 17, Sep 2012.
- A. Shimada and R.I Taniguchi, "Hybrid Background Model using Spatial-Temporal LBP," DOI: 10.1109/AVSS.2009.12 Conference: Sixth IEEE International Conference on Advanced Video and Signal Based Surveillance, AVSS 2009, 2-4 September 2009.
- J. Yao and J.M. Odobez, "Multi-Layer Background Subtraction Based on Color and Texture," IN IEEE The CVPR Visual Surveillance Workshop (CVPR-VS), MINNEAPOLIS, June 2007.
- M.Heikkila and M.Pietikainen, "A Texture-Based Method for Modeling the Background and Detecting Moving Objects," IEEE Transactions on Pattern Analysis and Machine Intelligence, VOL. 28, NO. 4, April 2006. https://doi.org/10.1109/TPAMI.2006.68
- L. Li, W. Huang, I. Y.H. Gu, and Q. Tian, "Foreground Object Detection from Videos Containing Complex Background," In Proceedings of the Eleventh ACM International Conference on Multimedia, Berkeley, CA, USA, 2-8 November 2003.
- L. Jeisung and P. Mignon, "An Adaptive Background Subtraction Method Based on Kernel Density Estimation," Sensors journal, 2012.
- R. Rodriguez-Gomez, E. J. Fernandez-Sanchez, J. Diaz and E. Ros, "FPGA Implementation for Real-Time Background Subtraction Based on Horprasert Model," Sensors journal, 2012.
- V.Ganapathi, C. Plagemann, D. Koller and S. Thrun, "Real Time Motion Capture Using a Single Time-Of-Flight Camera," In Proceedings of the 2010 IEEE Conference on Computer Vision and Pattern Recognition, San Francisco, CA, USA, 13-18 pp. 755-762. June 2010.
- V. Kolmogorov, A. Criminisi, A. Blake, G. Cross and C. Rother, "Bi-layer segmentation of binocular stereo video," In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Diego, CA, USA, 20-25 pp. 407-414. June 2005.
- E. J. Fernandez-Sanchez and J.Diaz and E.Ros, "Background Subtraction Based on Color and Depth Using Active Sensors," Sensors journal, 2013.
- H.Kaiming, J. Sun and X. Tang, "Guided Image Filtering," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 35, No. 6, June 2013.
- H. H. Y. Tong and A. N. Venetsanopoulos, "A Perceptual Model for JPEG Applications based on Block Classification, Texture Masking, and Luminance Masking," Proceedings of IEEE Internatiopnal Conference Image Processing (ICIP) ,1998.
- T. porter and T.Duff. "Compositing Digital Images," Computer Graphics Volume 18, Number 3 July 1984. https://doi.org/10.1145/964965.808606