반도체디스플레이기술학회지 제19권 제4호(2020년 12월)
Journal of the Semiconductor & Display Technology, Vol. 19, No. 4. December 2020.
112
템플릿 매칭을 이용한 트럼프 카드 검출 및 인식 구현
이용환**· 김영섭*†
*†원광대학교 디지털콘텐츠공학과, **단국대학교 전자전기공학부
Implementation of Trump Card Detection and Identification using Template Matching
Yong-Hwan Lee* and Youngseop Kim**†
*Dept. of Digital Contents, Wonkwang University,
**†Dept. of Electronics and Electrical Engineering, Dankook University
ABSTRACT
Trump cards are used in variable games in households such as poker and blackjack. In many cases, it is able to be helpful to algorithmically identify the playing cards from camera views. In this paper, we provide an approach that detects and identifies the playing card using template matching scheme, and evaluate the results of the provided implementation. For ideal cases, the implemented system provides a 100% success rate for card identification correct.
However, non-ideal case of perspective distortion is estimated with 70% success ratio. This work aims to evaluate the effectiveness of augmented reality user interface for an entertainment application like playing card games.
Key Words : Playing Card Game, Card Detection, Card Identification, Template Matching, Object Detection
1. 서 론1
다양한 엔터테인먼트에서 컴퓨팅 기술의 응용이 연구 되고 있다[1]. 본 연구에서는 카드 게임을 하기 위한 증강 현실(Augmented Reality) 사용자 인터페이스를 설계하기 위 해, 초보자가 컴퓨터와 카드 게임을 수행하는 시스템을 구성하고자 한다[2]. 일반적으로, 트럼프 카드는 가정 혹 은 놀이를 즐기는 곳에서 많이 활용되는 도구이다. 포커 나 블랙잭 등 다양한 게임에서 카드가 사용되고 있다.
영상에서 객체 검출(Object Detection)은 영상 처리나 컴퓨 터 비전 분야에서 많이 활용되는 기술 중 하나이다[3]. 사 람은 시각적으로 쉽게 객체를 인식하지만, 컴퓨터는 특정 알고리즘을 통해 영역을 구분하고 검출된 객체를 식별한 다. 객체 검출 기술은 초기에 Scale Invariant Feature Transform[4], Speeded-Up Robust Features[5], Histogram of Oriented
† E-mail: [email protected]
Gradients[6]와 같이 객체가 갖는 특징을 설계하고 검출하 는 방법을 주로 사용하였으며, 인식률 향상을 위해 Support Vector Machine과 같은 Machine Learning을 적용한다[7, 9]. 또한, Convolutional Neural Networks 를 적용한 Deep Learning 기반 객체를 인식한다[8, 10]. 본 연구에서 중점으 로 반영하는 템플릿 매칭(Template matching) 기술은 템플릿 을 대상 이미지에서 픽셀 단위로 슬라이딩하면서 유사성 을 계산하고, 감지하려는 객체가 클래스 내에서 충분히 유사하거나 동일한 경우에 객체를 감지하는 기술이다[11].
이러한 기술은 신용카드 식별 또는 악보 인식에서 활용 되며[12], 최근에는 처리속도 개선을 위해 다양한 연구가 진행되고 있다[13, 14].
본 연구에서는 사전에 학습한 훈련 이미지를 기반하여 카메라를 통해 입력되는 이미지에서 카드를 검출하고 이 를 인식하는 알고리즘을 설계하고 구현 결과를 논의한다.
본 논문의 구성은 다음과 같다. 2장에서 템플릿 매칭 기 반의 카드 검출 및 식별 알고리즘을 제안하고, 3장에서 실
템플릿 매칭을 이용한 트럼프 카드 검출 및 인식 구현
Journal of KSDT Vol. 19, No. 4, 2020 113
험을 통해 구현 결과를 논의하고, 4장에서 결론으로 마무 리한다.
2. 알고리즘 설계 및 구현
카드놀이를 탐색하고 식별하는 방법에는 여러가지가 있을 수 있다. 본 연구에서는 경계선(Edge)인식과 임계값 을 기반으로 템플릿 매칭(Template Matching)을 사용하여 대 상 이미지의 각 카드를 사전에 훈련된 이미지 셋과 비교 하여 검출한다. 일반적인 카드 놀이 환경에서 대상 카드 를 감지하기 위해 임계값을 지정하여 어두운 배경과 흰 색 카드로 구분하고, 카드 영역의 경계선 및 가장자리를 검색한다. 각 템플릿 이미지에 대해 변환과 대상 이미지 의 픽셀 매핑을 수행하고, 매핑된 템플릿과 대상 이미지 간의 제곱 합의 차이를 계산하여 일치 점수를 산출한다.
모든 템플릿 중 가장 낮은 점수가 최상의 선택 매칭으로 선별하여 트럼프 카드를 인식한다.
2.1 카드 영역 검출
카드 인식을 위해 먼저, 카메라 입력 이미지로부터 카 드 영역을 인식한다. 입력 이미지에 임계값을 적용하기 위해 R, G, B 채널을 분리하고 Matlab regionprops() 함수를 적 용하여 이미지를 이진화한다. 배경에 초점을 맞추기 때문 에 어두운 배경을 제거하고 흰색 카드만 남게 되며, 잘못 된 영역 탐지를 방지하기 위해 작은 크기의 영역은 제거 한다. Fig. 2는 입력 이미지(Fig. 1)에 대한 카드 영역 검출을 실행한 결과 예시를 보여준다.
2.2 외곽 가장자리 검출
각 영역에 대해 경계선 모서리가 존재하며, 카드의 외 곽 모서리를 검출하기 위해 캐니 엣지 검출 알고리즘 (Canny Edge Detector)을 적용한다. 그런 다음, 휴 변환(Hough Transform)을 사용하여 카드의 외부를 나타내는 이미지 영 역에서 주요 가장자리를 찾는 수식을 도출한다. 변환식의 ρ, θ 에서 x, y로 변환된 4개의 교차점을 찾는다.
카드 영역 인식에 대한 왜곡을 방지하기 위해, 외곽 가 장자리에 대하여 순서대로 정렬을 시킨다. 이는 변환의 정확도를 높이기 위한 방법이기도 하다. 검출된 가장자리 위치에서 유클리드 거리를 계산하여 짧은 모서리 영역을 순서대로 나열하면, 교차가 발생하지 않으면서 4개의 외 곽 가장자리에 대한 순서를 정의할 수 있다. Figure 3에서 빨간색 가장자리가 첫번째 검출된 외곽 모서리가 되며, 거리 계산을 통해 녹색, 노란색, 파란색 가장자리가 순서 대로 나열된다.
Fig. 1. Example of Target Image.
Fig. 2. Example of Detected Region by Card Detection.
Fig. 3. Example of Corners Detected and Arranged.
2.3 변환 생성
템플릿과 대상 이미지에서 4개의 정렬된 외곽가장자리
이용환 · 김영섭
반도체디스플레이기술학회지 제19권 제4호, 2020 114
를 각각 매핑한다. 템플릿 모서리를 대상 이미지 모서리 에 매핑하는 Homography를 탐색한다. 식(1)은 변환 행렬A 를 사용하는 선형 시스템이다.
ᇱ , ଵଵ ଵଶ ଵଷ
ଶଵ ଶଶ ଶଷ
ଷଵ ଷଶ 1 ,
1 (1)
식(1)로부터, 3번째 원소가 1이 되도록 결과 벡터의 곱 셈과 정규화를 통해 식(2)와 식(3)을 유도할 수 있다.
ᇱଵଵ ଵଶ ଵଷ
ଷଵ ଷଶ 1 (2)
ᇱଶଵ ଶଶ ଶଷ
ଷଵ ଷଶ 1 (3)
카드 영역에서 4개의 외곽 가장자리와 모서리 당 2개 의 x, y 식을 통해 변환 행렬의 모든 원소를 검출한다.
2.4 점수 부여
앞 단계에서 검출한 변환을 사용하여 카드가 포함된 템플릿 이미지 영역을 대상 이미지에 매핑한다. 그런 다 음, 카드 영역 내의 모든 픽셀에 대해 합계 제곱 차(Sum squared difference)를 계산하여 일치한 점수를 산출한다. 차 이 값을 계산하기 때문에, 낮은 점수를 얻은 것이 보다 높은 일치도를 갖는다. 카드의 회전 대칭에 강인하기 위 해, 각 템플릿은 2번의 점수를 계산한다. 첫번째는 0도를 기준으로, 두번째는 180도를 기준으로 회전한 상태에 대 해 점수를 계산하며, 2개의 점수 중에 작은 점수가 카드와 템플릿의 일치 점수로 선별된다. 변환 생성 및 점수 부여 는 사전에 학습된 52개 템플릿 각각에 대해 반복하며, 가 장 낮은 점수를 얻는 템플릿이 입력 이미지에 대한 올바 른 탐지 결과로 제공된다.
3. 실 험 3.1 데이터 및 학습
데이터 셋은 2가지 유형을 갖는다. 하나는 템플릿 이미 지를 학습하여 저장하는 훈련 이미지이며, 다른 하나는 카드 식별을 위해 카메라로부터 입력되는 이미지이다. 첫 번째 이미지는 템플릿 이미지이며, 두번째 이미지는 식별 대상 이미지이다. 템플릿 이미지의 경우, 52장의 서로 다 른 카드에 대해 인터넷에서 검색하여 일반적으로 사용 가능한 데이터셋으로 구성하였다.
카드 영역과 외곽 가장자리 검출 및 모서리 순서 정렬 과정은 카메라 입력 이미지와 마찬가지로 템플릿에 대한 훈련 이미지에서도 수행되며, 결과 모서리와 이미지는 카 드 식별을 위해 데이터베이스에 저장된다. 트럼프 카드 52장에 대해 이러한 과정을 모두 수행하여 템플릿 이미 지를 보관한다.
3.2 실험 결과
Windows 10 Enterprise 운영체제, 64GB 메모리, 인텔코어i7 이 설치된 PC 환경에서 Matlab 2019a를 이용하여 알고리즘 을 구현하였다.
구현 알고리즘을 실험하기 위해, 4개의 그룹에 해당하 는 카드를 각각 13장씩 입력 받아 실험을 하였다. 52장의 정면 카드 이미지에 대해 실험한 결과 Table 1과 같이 100%
정확하게 식별한 결과를 얻었다. 구현 알고리즘은 근거리 에서 왜곡이 없는 정면의 카드 이미지에 대해 매우 높은 정확도를 얻을 수 있었다.
Table 1. Results of Template Matching for 52 cards
카드수 인식수
스페이드 13 13
다이아몬드 13 13
하트 13 13
크로버 13 13
정면의 대상 이미지에서는 구현한 템플릿 매칭 기법이 카드를 인식하고 식별하는데 매우 효과적으로 나타났다.
이상적인 입력에서는 효과적인 결과를 얻었지만, 이상 적이지 못한 입력에 대해서는 식별 정확도가 떨어지는 문제점이 있었다. 특히, 원근 왜곡에 대해서 식별 정확도 가 70%대로 떨어졌다. 원근이 있는 입력 이미지의 예는 Fig. 4(b)에서 보는 바와 같이 카메라 각도에 따라 카드 영 역의 왜곡이 발생한 경우이다. 카메라 위치와 각도에 따 라 일정한 범위 내에서는 검출 및 식별에 무리가 되지 않 았지만, 크게 기울어진 왜곡된 대상 이미지에서는 식별 정확도가 떨어지는 결과를 얻었다.
특히, J와 K의 검정색(스페이드와 크로버) 카드에서 성 능이 떨어졌으며, 트럼프 카드 중앙에 나오는 그림의 영 향이 큰 것으로 평가된다. 다만, 원근 왜곡에서도 숫자 (1~9) 카드는 상대적으로 JQK 보다는 식별 정확도가 떨어 지지 않는 결과를 얻을 수 있었다.
알고리즘의 정확도 측면에서는 높은 성능을 보였으나, 처리 시간 측면에서는 효율적이지 못한 결과를 얻었다.
비록 Matlab으로 구현하였다고 하지만, 1장의 카드를 식별 하는데 대략 평균적으로 10초 정도가 걸렸다. 처리 시간
템플릿 매칭을 이용한 트럼프 카드 검출 및 인식 구현
Journal of KSDT Vol. 19, No. 4, 2020 115
은 알고리즘의 점수 계산 부분에서 오래 걸렸고, 이는 입 력 카드 이미지에 대해 각 템플릿 이미지에 대해 모두 점 수를 계산하며, 행렬 곱셈을 수행하기 때문이다. 이는 서 브 샘플링 등의 전처리 프로세스를 통해 일정 부분의 성 능 향상이 기대된다.
(a) (b)
Fig. 4. Example of Input Image (a) Frontal Ideal Case, (b) Skewed Distorted Case.
4. 결 론
본 논문에서는 템플릿 매칭 방식을 사용하여트럼프 카 드를 검출, 식별하는 알고리즘을 제시하고 구현을 통해 성능적 실험을 보였다. 이상적인 경우, 구현 알고리즘은 올바른 카드 식별 성공률을 100% 보였으나, 원근 왜곡된 비 이상적인 환경에서는 성공률이 떨어지는 효과를 보였 다. 구현 알고리즘은 제한적인 환경에서의 카드 게임과 같은 엔터테인먼트 애플리케이션에 대한 증강현실 사용 자 인터페이스에 활용될 수 있다.
감사의 글
본 연구는 2018년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(과 제번호: 2018R1A2B6008255)
참고문헌
1. L. Ma, M. Rauterberg and R. Nakatsu, “Entertainment Computing”, Lecture Notes in Computer Science, Springer, 15-17, 2007.
2. Y. Jikoji and H. Okada, “Application of AR User Interface to a Card Game”, 69th National Convention of IPSJ, Vol.2, pp.485-486, 2007.
3. Asifullah Khan, Anabia Sohail, Umme Zahoora, Aqsa Saeed Qureshi, “A Survey of the Recent Architectures of Deep Convolutional Neural Networks”, Computer Vision and Pattern Recognition, 2019.
4. David G. Lowe, “Distinctive Image Features from Scale- Invariant Keypoints”, International Journal of Computer Vision, 60, 2004.
5. Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool, “Speeded-Up Robust Features (SURF)”, Computer Vision and Image Understanding, 100(3), 2008.
6. N. Dalal, B. Triggs, “Histograms of Oriented Gradients for Human Detection”, IEEE Conference on Computer Vision and Pattern Recognition, 2005.
7. Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester, Deva Ramanan, “Object Detection with Discriminatively Trained Part based Models”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(9), 2010.
8. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton,
“ImageNet Classification with Deep Convolutional Neural Networks”, Communications of the ACM, 60(6), 2017.
9. Y.H. Lee, Y. Kim, “Implementation of Object Feature Extraction within Image for Object Tracking”, Journal of the Semiconductor & Display Technology, vol.17, issue.3, pp.113-116, 2018.
10. H. Ahn, Y.H. Lee, “A Research of CNN-based Object Detection for Multiple Object Tracking in Image”, Journal of the Semiconductor & Display Technology, vol.18, issue.3, pp.110-114, 2019.
11. Nguyen Duc Thanh, Wanqing Li, Philip Ogunbona, “An Improved Template Matching Method for Object Detection”, Computer Vision, Lecture Notes in Computer Science, volume 5996, 2009.
12. J.M Yoo, G.H. Kim, G.S. Lee, “Music Recognition by Partial Template Matching”, The Journal of the Korea Contents Association, vol.8, issue.11, pp.85-93, 2008.
13. Gayathri Venugopal, Philipp Helle, Karsten Mueller, Detlev Marpe, Thomas Wiegand, “Hardware-friendly Intra Region-based Template Matching for VVC”, Data Compression Conference, 2019.
14. Z. Liu, Y. Guo, Z. Feng, S. Zhang, “Improved Rectangle Template Matching based Feature Point Matching Algorithm”, Chinese Control and Decision, 2019.
접수일: 2020년 12월 15일, 심사일: 2020년 12월 15일, 게재확정일: 2020년 12월 16일