Bayes Classifier 기반 중요 객체 검출(SOD) 알고리즘
초록
최근 객체 인식 기반 산업이 증가함에 따라 중요 객체 검출(SOD) 연구가 증가하고 있고, 특히 고해상도 영상의 처리가 중요해지고 있다. 영상처리 기반 SOD는 처리 속도는 빠르지만 낮은 검출률을 가지고, 딥러닝 기반 SOD는 높은 검출률을 가지지만 처리 속도는 느리며 별도의 GPU 사용이 필요하다. 본 논문에서는 GPU 사용 없이 고해상도 영상에서 빠른 처리 속도와 높은 검출률을 가지는 머신러닝 기반 SOD 알고리즘을 제안한다. 제안하는 알고리즘은 지도학습 중 하나인 베이즈 분류기를 사용하였고, 학습 특징으로 객체와 배경의 특성이 뚜렷한 엔트로피, 채도, 대비, 색상 분포를 사용하였다. 또한 MATLAB R2019a에서 구현하여 가시적 평가, 수치 평가, 다른 알고리즘과의 처리 속도 비교를 통해 개선된 성능을 검증하였다.
Abstract
Recently, as the industry based on object recognition increases, salient object detection(SOD) research is increasing, and in particular, processing at high resolution is becoming important. Image processing-based SOD has a fast processing speed but low detection rate, and deep learning-based SOD has a high detection rate but slow processing speed and requires the use of a separate GPU. In this paper, we propose a machine learning-based SOD algorithm with high processing speed a high detection rate in high resolution images without using GPU. The proposed algorithm used Bayed Classifier, and uses entropy, colorfulness, contrast, and color distribution as learning feature. In addition, it was implemented in MATLAB R2019a, and improved performance was verified through visual evaluation, numerical evaluation, and comparison of processing speed with other algorithms.
Keywords:
salient object detection, bayes classifier, machine learning, supervised learningⅠ. 서 론
최근 자율주행, 농산물 질병 탐지, 안면 인식 시스템 등 객체 인식 기반 산업이 늘어가고 있다[1][2]. 이에 따라 객체 인식 성능을 높이기 위한 중요 객체 검출(SOD, Salient Object Detection) 연구도 증가하고, 특히 카메라 및 영상처리 기술이 발전하면서 고해상도 영상의 처리가 중요해지고 있다[3].
SOD는 주로 영상처리, 머신러닝, 딥러닝 분야에서 연구되고, 최근 딥러닝에 관한 연구가 증가하면서 높은 검출률을 나타내고 있다[4]. 하지만 딥러닝 기반 SOD는 복잡한 신경망으로 인해 처리 속도 및 학습 속도가 현저히 느리고 고성능 GPU 사용이 필수적이다. 이에 따라 단가가 높아 실제 산업에서의 사용은 어렵고, 특히 복잡한 처리 과정으로 TV나 모바일에서 사용하기는 힘들다. 반면 영상처리 및 머신러닝 기반 SOD는 신경망을 사용하지 않아 낮은 가격과 간단한 처리 방식으로 산업에 적용할 수 있다.
영상처리 기반 SOD는 Otsu가 제안한 임계값 설정 기반 영상 분할법과 Chen이 제안한 GLLE(Gray Level Local Entropy) 히스토그램 기반 임계값 설정 및 영상 분할법이 있다[5][6]. 또한 Perazzi가 제안한 대비를 이용한 Saliency filter 알고리즘이 있다[7]. 이러한 방법은 간단하며 빠르지만 잡음이 많은 영상에서 좋은 결과를 얻기 어렵다.
머신러닝 기반 SOD는 Jiang이 제안한 특징벡터를 이용한 DRFI(Discriminative Regional Feature Integration) 방법과 Yang이 제안한 매니폴드 순위(Manifold ranking)를 이용한 방법이 있다[8][9]. 이러한 방법은 GPU를 사용하지 않으면서 딥러닝 알고리즘에 준하는 검출 성능을 갖고 있지만, 여전히 고해상도 영상의 처리에 많은 시간이 소요된다.
본 논문에서는 딥러닝, 머신러닝 기반 SOD처럼 높은 검출률을 가지면서 고해상도 영상의 처리가 빠른 머신러닝 기반 SOD 알고리즘을 제안한다. 이는 학습을 통해 영상 속 픽셀이 중요 객체(Salient object)인지 배경(Background)인지 분류하는 알고리즘으로, 학습법은 지도학습(Supervised learning)의 베이즈 분류기(Bayes classifier)를 사용하였고, 학습 특징은 객체와 배경의 특성이 뚜렷한 엔트로피(Entropy), 채도(Colorfulness), 대비(Contrast), 색상 분포(Color distribution)를 선택하였다.
알고리즘은 MATLAB R2019a에서 구현하였고, Intel Core i7-9700 CPU 3.00GHz, 32GB RAM, NVIDA GeForece RTX 2060(6GB GDDR6)의 환경에서 개발 및 성능 평가를 진행하였다.
본 논문의 구성은 다음과 같다. 2장에서 머신러닝 기반 알고리즘 설계 방법 및 제안하는 알고리즘에 대해 설명하고, 3장에서 가시적 평가, 수치 평가, 처리 속도 평가를 통해 제안하는 알고리즘의 성능을 검토한다. 마지막으로 4장에서 결론을 서술하였다.
Ⅱ. 본 론
2.1 머신러닝 기반 알고리즘
본 논문에서 사용한 머신러닝 기반 알고리즘은 그림 1의 과정을 통해 개발되었다. 우선 알고리즘을 설계한 후, 훈련 단계(Training step)에서 입력 영상을 통해 추출한 특징(Feature)과 정답 영상(Labels)을 이용해 알고리즘을 학습시킨다. 그리고 테스트 단계에서 학습된 알고리즘의 성능을 평가한다.
2.2 제안하는 알고리즘
본 논문에서 제안하는 알고리즘은 픽셀 단위로 중요 물체인지 배경인지 분류한다. 전체 흐름은 그림 2와 같다. 우선 입력 영상에서 4가지 특징을 추출하여 특징벡터 x를 만들고, 베이즈 분류기를 통해 현재 픽셀이 중요 물체인지 배경인지 분류한다.
베이즈 분류기 결과는 중요 물체는 흰색, 배경은 검은색인 이진 영상이다. 마지막 후처리 작업으로 영상침식(Erosion), Labelling, Thresholding을 이용하여 잡음을 제거한다. 여기서 Labelling과 Thresholding은 Jang이 제안한 방법을 사용하였다[10].
머신러닝에서 특징은 결과를 분류하기 위한 특성이 있어야 하므로, 본 논문에서는 그림 2와 같이 객체와 배경의 구분이 뚜렷한 엔트로피, 채도, 대비, 색상 분포를 선택하였다. 각 특징은 3*3 필터를 통해 지역적으로 계산되며 다음과 같은 의미를 가진다. 첫 번째로 엔트로피는 공간적인 복잡도를 의미한다. 그림 2의 'Local entropy'와 같이 중요 물체의 복잡한 부분은 엔트로피 값이 높고, 배경의 단조로운 부분은 값이 낮다. 두 번째로 채도는 색의 선명도를 의미한다. 그림 2의 'Colorfulness'와 같이 중요 물체는 선명하여 채도 값이 높고 배경은 선명하지 않아 값이 낮다. 세 번째로 대비는 서로 다른 밝기를 가진 물체나 배경의 경계에서 나타나는 차이로 그림 2의 'Local contrast'에서도 물체와 배경 사이의 경계에서 대비 값이 높게 나오는 것을 알 수 있다. 마지막으로 색상 분포는 현재 픽셀과 주변 픽셀의 색상 유사도를 나타낸다.
그림 2의 'Spatial color distribution'과 같이 중요 물체가 있는 부분은 색상 유사도가 낮고, 배경은 색상 유사도가 높다. 이처럼 4가지 특징은 중요 물체와 배경을 구분할 수 있는 특성이 있고, 따라서 본 논문에서 학습의 특징으로 선정하였다.
다음으로 추출한 4가지 특징을 특징벡터 x로 만들고, 특징을 기반으로 베이즈 분류기를 이용하여 현재 픽셀이 중요 물체인지 배경인지 결정한다. 이때 분류 방법은 특징벡터 x의 판단 손실을 이용한다.
그림 3과 같이 중요 물체 영역을 "O", 배경 영역을 "B"라고 하면, 특징벡터 x에 대한 손실은 수식 1-2로 나타낼 수 있다. 식 (1)의 rO(x)는 특징벡터 x가 "O" 영역에 있을 경우 발생하는 손실이고, 식 (2)의 rB(x)는 "B" 영역에 있을 경우의 손실이다. LBO는 특징벡터 x가 실제로 "O" 영역에 있지만 "B" 영역에 있다고 분류될 경우의 손실률이고, LOB는 "B" 영역에 있지만 "O" 영역에 있다고 분류될 경우의 손실률이다.
따라서 두 경우 모두 잘못 분류된 경우의 손실률이므로 1의 값을 가진다. P(B|x)는 특징벡터 x가 "B" 영역에 있을 확률, P(O|x)는 특징벡터 x가 "O" 영역에 있을 확률을 의미한다.
식 (3)은 식 (1)과 (2)를 비교한 것으로, 식 (3)이 참이라면 현재 픽셀은 "O" 영역에 있다고 판단하는 것이 손실이 적다. 따라서 현재 픽셀은 "O" 영역에 있다고 분류하고, 이러한 방식으로 영상의 모든 픽셀에 대해 판단한다.
(1) |
(2) |
(3) |
식 (1)과 (2)의 확률적 수식을 구현 가능한 식으로 표현하기 위해 베이즈 정리를 이용하면 식 (4)와 (5)로 나타낼 수 있고, 식 (4)와 (5)를 각각 식 (3)에 대입하면 식 (6)과 같이 나타낼 수 있다. 이때 는 상쇄되고 P(B)와 P(O)는 1/2 확률을 가진다고 가정한다.
(4) |
(5) |
(6) |
P(x|B)와 P(x|O)는 가우시안 분포(Gaussian distribution)를 따른다고 가정하며 식 (7)과 (8)로 나타낼 수 있다. Ai는 이고, n은 차원을 의미하며 현재 2차원 영상을 처리하므로 2이다. 또한 mB와 mO는 평균 벡터로 1×4 행렬이고, CB와 CO는 공분산 행렬(Covariance matrix)로 4×4 행렬이다. 이는 식 (9)와 (10)의 값을 가지며 학습을 통해 결정된다. 여기서 i는 "B" 또는 "O"이다.
(7) |
(8) |
(9) |
(10) |
식 (6)에 식 (7)과 (8)을 대입하면 식 (11)부터 식 (13)으로 나타낼 수 있고, 식 (11)이 참일 경우 현재 픽셀은 중요 객체로, 거짓일 경우 배경으로 분류된다.
식 (11)부터 식 (13)은 알고리즘 구현 시 실제 사용한 수식이며 그림 4와 같이 나타난다. 그림 4의 (a)는 입력 영상, (b)는 식 (12)의 결과로 배경 판단 부분이고, (c)는 식 (13)의 결과로 중요 객체 판단 부분이다. (d)는 식 (11)의 결과로 참이면 흰색, 거짓이면 검은색으로 나타내며, 베이즈 분류기의 최종 결과이다. 이는 그림 2의 Binary image와도 같다.
(11) |
(12) |
(13) |
베이즈 분류기를 통한 분류가 끝나면 그림 5와 같이 후처리 작업을 수행하여 잡음이 제거된 최종 결과를 출력한다. 그림 5의 (a)는 입력 영상, (b)는 베이즈 분류기를 통해 생성한 이진 영상, (c)는 영상침식을 통해 주요 잡음을 제거한 영상, (d)는 Labelling과 Thresholding을 통해 남은 잡음을 제거한 최종 결과 영상이다.
Ⅲ. 실험 및 결과
본 논문에서는 알고리즘의 성능 평가를 위해 가시적 평가와 수치 및 처리 속도를 평가한다. 성능 평가는 Intel Core i7-9700 CPU 3.00GHz, 32GB RAM, NVIDA GeForece RTX 2060의 환경에서 MATLAB R2019a를 사용하였다. 또한 가시적 평가 및 수치 평가는 Li의 논문에서 사용한 150개의 데이터 세트를 사용하였다[11].
3.1 가시적 평가
가시적 평가는 그림 6과 같이 테스트 데이터 세트 일부와 제안한 알고리즘의 결과를 비교하였다. (a)는 입력 영상, (b)는 답안 레이블, (c)는 제안하는 알고리즘의 결과 영상으로 답안 레이블과 유사하게 중요 물체를 검출하는 것을 확인할 수 있다.
3.2 수치 평가 및 처리 속도
수치 평가는 Precision, Recall, F-measure를 기준으로 사용하였다. Precision은 알고리즘에서 객체라고 예측한 픽셀 중 실제 객체 픽셀의 비율이고, Recall은 실제 객체 픽셀 중 객체라고 예측한 픽셀의 비율이다. F-measure은 Precision과 Recall의 조화평균을 나타내고 세 가지 수치는 높을수록 성능이 좋다.
표 1은 수치 평가 결과로 Otsu, GLLE, SF는 영상처리, DRFI, MR은 머신러닝, BASNet은 딥러닝을 이용한 SOD이다. 제안한 알고리즘은 영상처리 기반 SOD보다 높은 수치를 가지고 머신러닝, 딥러닝 기반 SOD에 준하는 수치 결과를 가진다.
표 2는 각 알고리즘에 대한 CPU Time 측정 결과로 제안한 알고리즘은 MATLAB 내장 함수를 사용한 Otsu 알고리즘을 제외한 대부분의 알고리즘보다 고해상도 영상의 처리 속도가 빠르다. 특히 같은 머신러닝 기반 알고리즘인 DRFI와 MR보다 빠른 속도를 가지며 개선된 성능을 보인다.
Ⅳ. 결 론
본 논문에서는 지도학습 중 하나인 베이즈 분류기를 이용한 중요 객체 검출(SOD) 알고리즘을 제안한다. 또한 학습의 특징으로 객체와 배경의 특성이 뚜렷한 엔트로피, 채도, 대비, 색상 분포를 선택하였으며, 제안하는 알고리즘의 성능을 가시적 평가, 수치 평가, 처리 속도 평가를 진행하였다. 가시적 평가를 통해 제안하는 알고리즘이 답안 레이블과 유사한 객체 검출이 가능함을 알 수 있고, 수치 평가를 통해 기존의 딥러닝, 머신러닝 기반 SOD에 준하는 검출 성능을 확인할 수 있다. 또한 처리 속도 평가를 통해 기존의 딥러닝, 머신러닝 기반 SOD보다 고해상도 영상에서의 빠른 처리 속도를 증명하였다.
Acknowledgments
This paper was supported by research funds form Dong-A University
References
- J. Song, S. B. Lee, and A. Park, "A Study on the Industrial Application of Image Recognition Technology", The Journal of the Korea Contents Association, Vol. 20, No. 7, pp. 86-96, Jul. 2020.
- Y. G. Kim, J. H. Jeong, J. H. Kim, M. J. Kang, M. S. Kang, H. J. Ju, W. H. Jang, and T. J. Yun, "Development of visitor counter system for disaster situations and marketing based on real-time object recognition technology", Proc. of the Korean Society of Computer Information Conference, pp. 187-188, Jan. 2021.
- W. Wang, Q. Lai, H. Fu, J. Shen, H. Ling, and R. Yang, "Salient Object Detection in the Deep Learning Era: An In-depth Survey", IEEE Transactions on Pattern Analysis and Machine Intelligence, Jan. 2021. [https://doi.org/10.1109/TPAMI.2021.3051099]
- X. Qin, Z. Zhang, C. Huang, C. Gao, M. Dehghan, and M. Jagersand, "BASNet: Boundary-Aware Salient Object Detection", 2019 IEEE/CVF Conference on CVPR, pp. 7471-7481, Jun. 2019. [https://doi.org/10.1109/CVPR.2019.00766]
- N. Otsu, "A Threshold Selection Method from Gray-Level Histograms", IEEE Transactions on Systems, Vol. 9, No. 1, pp. 62-66, Jan. 1979. [https://doi.org/10.1109/TSMC.1979.4310076]
- J. Chen, B. Guan, H. Wang, X. Zhang, Y. Tang, and W. hu, "Image Thresholding Segmentation Based on Two Dimensional Histogram Using Gray Level and Local Entropy Information", in IEEE Access, Vol. 6, pp. 5269-5275, Oct. 2017. [https://doi.org/10.1109/ACCESS.2017.2757528]
- F. Perazzi, P. Krahenbuhl, Y. Pritch, and A. Hornung, "Saliency filters: Contrast based filtering for salient region detection", 2012 IEEE Conference on CVPR, Providence, RI, USA, pp. 1155-1162, Jun. 2012. [https://doi.org/10.1109/CVPR.2012.6247743]
- H. Jiang, J. Wang, Z. Yuan, Y. Wu, N. Zheng, and S. Li, "Salient Object Detection: A Discriminative Regional Feature Integration Approach", 2013 IEEE Conference on CVPR, Portland, OR, USA, pp. 2083-2090, Jun. 2013. [https://doi.org/10.1109/CVPR.2013.271]
- C. Yang, L. Zhang, H. Lu, X. Ruan, and M. H. Yang, "Saliency Detection via Graph-Based Manifold Ranking", 2013 IEEE Conference on CVPR, pp. 3166-3173, Jun. 2013. [https://doi.org/10.1109/CVPR.2013.407]
- K. Jang, G. J. Kim, H. Cho, and B. Kang, "Foreground Segmentation Using Morphological Operator and Histogram Analysis for Indoor Applications", IEICE Transactions on Fundamentals of Electronics, Vol. E98-A, No. 9, pp. 1998-2003, Sep. 2015. [https://doi.org/10.1587/transfun.E98.A.1998]
- Y. Li, X. Hou, C. Koch, J. M. Rehg, and A. L. Yuille, "The secrets of salient object segmentation", 2014 IEEE Conference on CVPR, pp. 280-287, Jun. 2014.
2017년 3월 : 동아대학교 전자공학과(공학사)
2021년 3월 ~ 현재 : 동아대학교 전자공학과 석사과정
관심분야 : 영상처리, SoC설계
1985년 : 연세대학교 전자공학과(공학사)
1987년 : 미국 University of Pennsylvania 전기공학과(공학석사)
1990년 : 미국 Drexel University 전기 및 컴퓨터공학과(공학박사)
1989년 12월 ~ 1999년 2월 : 삼성전자 반도체 수석연구원
1999년 3월 ~ 현재 : 동아대학교 전자공학과 교수
관심분야 : 영상신호처리, SoC설계 및 무선 통신