KR101627653B1 - 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법 - Google Patents

란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법 Download PDF

Info

Publication number
KR101627653B1
KR101627653B1 KR1020150038784A KR20150038784A KR101627653B1 KR 101627653 B1 KR101627653 B1 KR 101627653B1 KR 1020150038784 A KR1020150038784 A KR 1020150038784A KR 20150038784 A KR20150038784 A KR 20150038784A KR 101627653 B1 KR101627653 B1 KR 101627653B1
Authority
KR
South Korea
Prior art keywords
image
unit
edge
checkerboard
edges
Prior art date
Application number
KR1020150038784A
Other languages
English (en)
Inventor
전경구
박동진
Original Assignee
인천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인천대학교 산학협력단 filed Critical 인천대학교 산학협력단
Priority to KR1020150038784A priority Critical patent/KR101627653B1/ko
Application granted granted Critical
Publication of KR101627653B1 publication Critical patent/KR101627653B1/ko

Links

Images

Classifications

    • G06T7/0034
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • A63F3/022Recording or reproducing chess games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • G06T7/0085
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording

Abstract

본 발명은 RANSAC(Random Sample Consensus)알고리즘 기반의 영상처리를 통해 바둑돌의 미세한 위치변화, 조도 변화, 카메라의 높이 변화에 영향을 받지 않고, 바둑대국을 자동으로 기록할 수 있는 시스템 및 방법에 관한 것으로, 본 발명에 따른 자동 바둑 기보 방법은 (a) 영상획득부를 이용하여 바둑판 전체를 촬영한 영상을 획득하는 단계, (b) 흑백영상 생성부를 이용하여, 획득된 바둑판 영상을 그레이스케일 변환시켜 흑백영상을 생성하는 단계, (c) 크기 추정부를 이용하여, 카메라 높이에 따른 바둑돌의 크기를 추정하는 단계, (d) 전처리부를 이용하여, 변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 단계 및 (e) 자동 기보부를 이용하여 RANSAC을 실행하여, 바둑돌의 위치를 검출한 후, 기보에 기록하는 단계를 포함하는 것을 기술적 특징으로 한다.

Description

란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법{RANSAC based automatic game of go recording system and the method}
본 발명은 란삭(RANSAC-Random Sample Consensus, 이하 편의상 RANSAC으로 기재함)알고리즘 기반의 영상처리를 통해 바둑돌의 미세한 위치변화, 조도 변화, 카메라의 높이 변화에 영향을 받지 않고, 바둑대국을 자동으로 기록할 수 있는 자동 바둑 기보 시스템 및 그 방법에 관한 것이다.
일반적으로, 기보란 그림과 문자로 바둑의 기본 기술과 전략, 유명한 대국의 전체적인 수순 등을 정리해 놓은 문서다. 바둑을 익힘에서 명인들의 기보를 익히는 연구회가 있을 정도로 기보는 중요한 역할을 한다. 현재 바둑은 온라인으로도 많이 즐길 수 있어, 편하게 기보를 작성할 수 있다. 하지만 프로들의 대국은 오프라인으로 진행되고, 이 같은 경우는 여전히 수작업으로 기보를 불편하게 작성하고 있다.
수작업 기보 작성의 어려움 때문에, 자동으로 기보를 작성하기 위한 몇 가지 시도가 있었다. 종래기술 [1]과 [2]에서는 바둑판에 장치를 설치해 기보를 작성하는 시스템을 구현했다. 바둑판에는 총 38개의 직선과 이 직선의 접점인 361개의 교점이 있다. 종래기술 [1]에서는 이 교점에 버튼을 설치해 기보를 작성하고, 종래기술 [2]에서는 바둑판에 전기적인 장치를 설치하고, 전기신호를 이용해 바둑돌의 위치를 감지해, 기보를 작성한다. 하지만 종래기술 [1]과 [2]는 별도로 제작된 바둑판을 이용해야 하므로 대중화되기는 어려운 문제점이 있다.
이러한 문제를 해소하고자 종래기술 [3]과 [4]는 영상처리를 통해 별도의 장치에 의존하지 않는 방법을 제안하였다.
종래기술 [3]은 대국영상에서 바둑판 위의 교차점을 찾아내고, 해당 좌표의 색상정보를 이용해 기보를 작성한다. 교차점 검출 과정은 도 17과 같다. 대국영상에서 canny edge detection[5]를 통해 바둑판의 선들을 검출하며, 이는 도 의 2번 영상과 같다. 상기 2번의 영상에서 이진화를 통해 노이즈를 제거한 것이 3번이다.
3번에서 hough transform[6]을 이용해 38개의 직선을 검출하면, 각 직선의 좌표들을 얻을 수 있다. 이를 통해 361개의 교차점을 구해낸 것이 4번 영상이다.
하지만 바둑판 위의 노이즈로 직선의 위치가 미세하게 어긋나 잘못 검출된 교차점이 있다. 이를 제거하기 위해 교차점을 수정하는 과정이 5, 6, 7번의 영상들이다. 5번 영상에서 바둑판의 네 개의 꼭지점을 검출하고, 대각의 교차점을 이용해 중심점을 찾아낸다. 또한 이 점들의 좌표를 이용해 각 교차점 사이의 거리를 계산하고, 잘못 검출된 교차점의 위치를 삭제하거나, 수정한다. 일련의 과정들을 통해 361개의 교차점을 검출한 것이 8번 영상이다. 검출해낸 교차점 좌표들의 색상정보를 통해 바둑돌의 존재 여부, 흑 혹은 백의 여부를 결정할 수 있다.
종래기술 [4]는 바둑돌의 위치변화를 감지하기 위해 새로운 바둑돌을 놓기 전과 후의 영상 차이를 이용한다. 시간 t에 획득한 2차원 영상을 It 라 하고, 이 영상의 좌표 (x, y)의 픽셀값을 It(x, y)라 하자. 이때 It는 그레이스케일 영상이고, 노이즈제거를 위해 가우시안 필터링이 적용된 상태라고 가정한다. 시간 i에 새로 놓인 바둑돌의 위치를 검출하기 위한 Ii - 1와 Ii 영상 간의 차이, Di는 각 픽셀(x, y)에 대해서 다음 수학식 1과 같이 계산된다.
[수학식 1]
Figure 112015027484814-pat00001
이 때, 집합 Si를 Ii-1 간의 픽셀값 차이가 있는 (x, y)들의 집합이라고 하자
[수학식 2]
Figure 112015027484814-pat00002
종래기술 [4]는 다음 식을 만족하는 양의 정수 k가 존재하면 Ii에 새로운 바둑돌이 놓였다고 판단한다.
[수학식 3]
Figure 112015027484814-pat00003
여기서 n은 차 영상에서 하나의 바둑돌을 나타내는데 필요한 픽셀 개수이다. 카메라와 바둑판 간의 거리가 고정되었다는 가정 하에 n은 실험을 통해 구할 수 있다. 따라서 Ii-1과 Ii 간에 값이 변화된 전체 픽셀의 개수 |S|가 n의 k 정수배일 경우, 바둑돌 k개가 새로 놓였다는 것을 의미한다. 그리고 이들이 놓인 위치는 Di(x, y)>0인 픽셀 간의 근접 정도를 고려하여 계산한다.
앞서 설명한 종래기술 [3]의 방법은 새로 바둑돌을 놓을 때마다 361개의 교점의 정보를 매번 검사해야 하는 문제가 있다. 이는 종래기술 [4]의 방법을 사용할 경우 간단히 해결할 수 있는 문제지만, 이 방법 또한 몇 가지 문제점을 가지고 있다.
첫 번째는 조도 변화에 취약하다는 것이다. Ii-1과 Ii 영상 간에 조도변화가 있으면, 바둑돌을 인식하지 못할 수도 있다. 두 번째는 카메라와 바둑판 간의 거리를 미리 알고 있어야 한다. 세 번째는 바둑돌의 미세한 위치 변화에 취약하다. 즉, 새로운 바둑돌을 놓으면서 주변 돌을 움직일 경우, 위치가 변화된 바둑돌이 재인식되는 상황이 발생한다.
[1] R. Cheni, Baduk Record Device, 20-0152326, Korea, 1999. [2] J.S. Na, Automatic Order Recording Badook Table, 20-0200127, Korea, 2000. [ 4 ] H.Y. Kim, Sihong Park, and Seokhwan Jang, Method and Device for Creating Paduk Record of Go, 10-0472102, Korea, 2005.
[3] A. Srisuphab, P. Silapachote, T. Chaivanichanan, W. Ratanapairojkul, and W. Porncharoensub, "An Application for the Game of Go: Automatic Live Go Recording and Searchable Go Database," Proceeding of IEEE Region 10 Conference, pp. 1-6, 2012. [5] J. Canny, "A Computational Approach to Edge Detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 8, No. 6, pp. 679-698, 1986. [6] R.O. Duda and P.E. Hart, "Use of Hough Transformation to Detect Line and Curves in Picture," Communications of the ACM, Vol. 15, No. 1, pp. 11-15, 1972.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 제안된 것으로, 본 발명에 따른 자동 바둑 기보 시스템 및 그 방법의 목적은 조도변화와 미세한 위치변화, 카메라와 바둑판 간의 높이 변화가 발생하는 상황에서도 자동 기보를 수행하는 시스템 및 방법을 제공하는데 있다.
본 발명에 따른 자동 바둑 기보 시스템은 바둑판 전체를 촬영하여, 영상을 획득하는 영상획득부, 획득된 바둑판 영상을 그레이스케일 변환하여, 흑백 영상을 생성하는 흑백영상 생성부, 변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 전처리부 및 RANSAC을 기반으로 바둑돌의 위치를 검출하여, 기보에 기록하는 자동 기보부를 포함하는 것을 특징으로 한다.
본 발명에 따른 자동 바둑 기보 방법은 (a) 영상획득부를 이용하여 바둑판 전체를 촬영한 영상을 획득하는 단계, (b) 흑백영상 생성부를 이용하여, 획득된 바둑판 영상을 그레이스케일 변환시켜 흑백영상을 생성하는 단계, (c) 크기 추정부를 이용하여, 카메라 높이에 따른 바둑돌의 크기를 추정하는 단계, (d) 전처리부를 이용하여, 변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 단계 및 (e) 자동 기보부를 이용하여 RANSAC을 실행하여, 바둑돌의 위치를 검출한 후, 기보에 기록하는 단계를 포함하는 것을 기술적 특징으로 한다.
이상에서 설명한 바와 같이, 본 발명에 따른 자동 바둑 기보 시스템 및 그 방법은 RANSAC 알고리즘을 기반으로 기보를 작성함으로써, 바둑돌 위치의 미세한 변하나 조도 변화, 카메라 높이의 변화 등에 영향을 받지 않고, 안정적으로 기보를 작성할 수 있는 효과가 있다.
도 1은 본 발명에 따른 자동 바둑 기보 시스템의 전체 구성을 나타내는 구성도.
도 2는 본 발명에 따른 자동 바둑 기보 시스템에 있어서, 영상 획득부의 바둑판 촬영 모습을 나타내는 도면.
도 3은 본 발명에 따른 자동 바둑 기보 시스템에 있어서, 흑백영상, 캐니 에지 검출 영상, 이진 영상의 일실시예를 나타내는 도면.
도 4는 본 발명에 따른 자동 바둑 기보 시스템에 있어서, 전처리부의 상세 구성을 나타내는 구성도.
도 5는 본 발명에 따른 자동 바둑 기보 시스템에 있어서, 필터 영상의 일실시예를 나타내는 화면.
도 6은 본 발명에 따른 자동 바둑 기보 시스템에 있어서, 전처리부의 동작을 나타내는 일실시예 화면.
도 7은 본 발명에 따른 자동 바둑 기보 시스템에 있어서, 자동 기보부의 상세 구성을 나타내는 구성도.
도 8은 본 발명에 따른 자동 바둑 기보 방법의 전체 흐름을 나타내는 흐름도.
도 9는 본 발명에 따른 자동 바둑 기보 방법에 있어서, S40 단계의 상세 흐름도.
도 10은 본 발명에 따른 자동 바둑 기보 방법에 있어서, S50 단계의 상세 흐름도.
도 11 내지 도 16는 본 발명에 따른 자동 바둑 기보 방법의 성능을 확인하기 위한 실험 내용 및 결과를 나타내는 도면.
도 17은 종래 교차점 검출 방법을 나타내는 도면.
이하, 본 발명에 따른 자동 바둑 기보 시스템 및 그 방법을 실시하기 위한 구체적인 내용을 설명하면 다음과 같다.
도 1은 본 발명에 따른 자동 바둑 기보 시스템의 전체 구성을 나타내는 구성도로 영상획득부(10), 흑백영상 생성부(20), 크기 추정부(30), 전처리부(40) 및 자동 기보부(50)를 포함한다.
본 발명에 따른 상기 영상획득부(10)는 도 2에 도시된 바와 같이, 바둑판(1)과 일정 거리 떨어진 위치에서 상기 바둑판(1) 전체를 촬영하여 영상을 획득하며, 상기 흑백영상 생성부(20)는 도 3의 (a)와 같이, 획득된 바둑판 영상을 그레이스케일 변화시켜 흑백영상을 생성하며, 생성된 흑백 영상은 도 3(b)와 같이, 바둑돌의 위치를 검출하는 용도와 도 3의 (c)와 같이, 검출된 바둑돌의 흑백 여부를 구분하는 용도로 사용된다.
본 발명에 따른 바둑 기보 작업은 RANSAC(Random Sample Consensus)알고리즘을 기반으로 하는데 무작위로 선택한 데이터로부터 수학모델을 구성하고, 나머지 데이터들이 상기 수학모델을 만족하는 비율을 근거로 수학모델이 적합한지 여부를 판단하는 기술이다.
이러한 RANSAC 알고리즘은 수학모델을 만족하는 데이터들을 인라이어(inlier), 그렇지 않은 것들을 아웃라이어(outlier)라고 정의되며, 본 발명에 따른 자동 바둑 기보 시스템은 바둑판을 촬영한 영상에서 추출된 에지들의 픽셀들을 데이터로 원에 대한 수학모델을 구성한다.
이러한 원 모델은 바둑돌을 검출하는데 충분한 개수의 인라이어(inlier)들이 상기 원 모델을 만족하면 그 위치에서 바둑돌이 검출된 것으로 판단할 수 있다.
즉, 본 발명에 있어서, 상기 인라이어는 바둑돌의 에지 픽셀을 나타내며, 개수가 바둑돌 검출에 중요한 조건이 된다. 하지만 픽셀의 개수는 카메라의 높이에 다라 가변되기 쉽다.
따라서 본 발명에 따른 자동 바둑 기보 시스템에서는 상기 크기 추정부(30)를 이용하여, 바둑돌의 크기를 추정하는 것이 바람직하다.
카메라 높이에 따른 바둑돌의 픽셀 개수를 결정하는 것은 사전에 알려진 값에 대한 비례식으로 계산할 수 있는데 미리 알려진 카메라 높이에서 바둑판 한 변을 나타내는 에지 개수를 W, 바둑돌 에지 픽셀 개수를 N라고 하면 카메라 높이가 변화되어 바둑판 한 변의 픽셀의 개수가 w로 변하면 바둑돌 에지 픽셀의 개수 n은 다음 수학식 4로 계산된다.
[수학식 4]
Figure 112015027484814-pat00004
본 발명의 실시예에서 카메라 높이가 54cm이 일 때 바둑판 한 변의 픽셀 개수는 368pixels, 바둑돌의 에지 픽셀 수가 48pixels임을 적용한다.
상기 전처리부(40)는 본 발명에 따른 RANSAC 실행 효율을 높이기 위해 에지가 검출된 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하며, 본 발명에 따른 상기 전처리부(40)는 도 4에 도시된 바와 같이, 차 영상 생성부(41), 필터 영상 생성부(42), 이진화 영상부(43), 에지 검출부(44) 및 영상매핑부(45)를 포함한다.
즉, 캐니 에지 검출 시, 바둑돌 에지 이외에 바둑판의 선과 기타 테두리의 에지도 검출되는데 RANSAC 실행 시, 바둑돌의 에지에 해당하는 픽셀은 인라이어가 되고 이외 픽셀들은 아웃라이어가 됨에 따라 원 검출 성공확률을 높이기 위해서는 아웃라이어 에지들은 최대한 제외시키는 것이 바람직하다. 따라서, 본 발명에 따른 전처리부(40)를 이용하여, 아웃라이어를 최대한 제거하는 것이다.
상기 차 영상 생성부(41)는 이전 바둑돌 위치에 따른 흑백 영상과 현재 바둑돌 위치에 따른 흑백 영상의 차 영상(Ci)을 생성한다.
즉, 대국이 진행될수록 바둑판에 놓여지는 바둑돌의 수가 많아져 RANSAC 연산량이 증가되는 단점이 있는데 본 발명에 따른 상기 차 영상 생성부(41)를 통해 이전 바둑돌 위치에 따른 캐니 에지 영상(Ei-1)과 현재 바둑돌 위치에 따른 캐니 에지 영상(Ei) 간의 차이(Ci)에 대해 RANSAC을 적용한다.
[수학식 5]
Figure 112015027484814-pat00005
이때 차 영상(Ci)에는 이전 바둑돌들의 에지가 모두 제거됨에 따라 새로 놓여진 바둑돌의 에지만 남게 되어 RANSAC 연산량이 감소할 수 있는 것이다.
하지만 차 영상(Ci)에는 항상 새로 놓여진 바둑돌 에지만 존재하는 것은 아니다. 대국자들이 바둑돌을 놓을 때 이미 놓여진 주변 바둑돌을 건드려 원래 위치에서 벗어나는 미세변화 때문에 새로운 에지가 생기기도 한다.
또한, 이전 바둑돌 위치에 따른 캐니 에지 영상(Ei-1)과 현재 바둑돌 위치에 따른 캐니 에지 영상(Ei)를 얻기 위해 사용한 원래 연상들 간에 조도가 다를 경우에도 에지가 생길 수 있는데 이러한 에지들은 검출하고자하는 바둑돌에 해당되는 것이 아니므로 노이즈 에지인 것이다.
따라서, 본 발명에 따른 상기 전처리부(40)는 필터 영상 생성부(42)를 통해 도 5에 도시된 바와 같이 별도의 필터 영상을 생성하고, 새로운 바둑돌이 검출될 때마다 누적해서 원을 그려 넣는다. 이러한 필터영상과 차 영상(Ci)의 차이를 구함으로써, 노이즈 에지를 제거할 수 있고, 노이즈 에지가 제거된 영상에서 RANSAC 실행을 할 수 있다.
상기 이진화 영상부(43)는 도 6에 도시된 바와 같이, 필터링된 결과 영상을 을 이진화하며, 상기 이진화 영상부(23)에서 생성된 이진영상은 별도로 저장되어, 바둑돌의 흑백 여부를 구분하는 작업에 사용된다.
상기 캐니 에지 검출부(44)는 이진화 영상에서 캐니(canny) 마스크를 이용하여 에지를 검출한다.
상기 영상매핑부(43)는 검출된 에지정보를 벡터에 저장하며, 이러한 작업을 결과 영상 매핑(mapping)이라 한다.
상기 자동 기보부(50)은 RANSAC 알고리즘을 기반으로 바둑돌의 위치를 검출하여 기보에 기록하며, 본 발명에 따른 상기 자동 기보부(50)는 도 7에 도시된 바와 같이 란삭 실행부(51), 바둑돌 검출부(52) 및 기보 기록부(53)를 포함한다.
상기 란삭 실행부(51)는 바둑돌의 에지를 구성하는 임의의 픽셀로 외접원 모델을 구성하고, 상기 외접원 모델을 만족하는 만족비율을 계산한다.
본 발명에 따른 RANSAC 실행 시, 바둑돌의 위치를 검출하기 위한 수학 모델로 삼각형의 외접원을 이용한다.
보다 자세히 설명하면, 바둑돌의 에지를 구성하는 세 개의 픽셀 A(x1, y1), B(x2, y2), C(x3, y3)로 삼각형을 만든다면 그 외접원의 중심O(x, y)와 반지름은 다음 수학식 6과 수학식 7로 나타낼 수 있다.
[수학식 6]
Figure 112015027484814-pat00006
[수학식 7]
Figure 112015027484814-pat00007
외접원 모델을 구하기 위해 우선 픽셀데이터 중에서 임의로 3개의 픽셀을 뽑아 외접원 모델을 구성하고 나머지 픽셀데이터들이 만족하는 비율인 합의(consensus) 비율을 계산한다. RANSAC에서 이러한 과정을 N번 반복하고 이중 consensus가 가장 높은 모델을 반환한다.
이때 N은 다음과 같이 결정된다. 한 번에 뽑는 픽셀데이터의 개수를 m 데이터 중 인라이어 비율을 α라하며, N번 수행하면서 m개를 모두 인라이어로 선택할 확률 p는 다음과 같다.
[수학식 8]
Figure 112015027484814-pat00008
따라서, m과 α가 결정된다면 N은 다음 수학식 9와 같이 계산된다.
[수학식 9]
Figure 112015027484814-pat00009
여기서 α는 전체 픽셀 데이터 개수 대비 바둑돌 에지의 픽셀 개수의 비율인데 α를 결정하기 위해서는 카메라의 높이가 고려되어야 한다. 외냐하면 바둑판 위에 설치되는 카메라 높이에 따라 에지를 구성하는 픽셀의 개수가 가변되기 때문이다. 특히 하나의 바둑돌의 에지를 구성하는 픽셀 개수는 높이에 따라 가변되는데 본 발명에 있어서는 상기 크기 추정부(30)를 이용하여 수학식 4를 통해 산출하였으며 수학식 7을 통해 N을 산출한다.
상기 바둑돌 검출부(52)는 외접원 모델에 대한 인라이어(inlier) 비율로 바둑돌의 위치를 검출한다.
즉, 상기 란삭 실행부(51)에서 구성된 수학모델이 적합한지는 수학 모델에 대한 다른 픽셀들의 인라이어 비율로 결정하며, 임의의 픽셀이 인라이어인지를 판단하기 위해 수학모델이 나타내는 원의 중심 좌표를 반지름을 r, 픽셀 p의 좌표를 cp라 할 때, 두 좌표간의 거리 d=|c-cp|가 다음 수학식 10의 조건을 만족하면 픽셀 p는 인라이어로 판단한다.
[수학식 10]
Figure 112015027484814-pat00010
이러한 인라이어 픽셀들의 개수가 하나의 바둑돌 에지 픽셀 수 n의 90% 이상이면 수학모델이 적합하다고 결정한다.
상기 기보 기록부(53)는 검출된 바둑돌의 흑백을 결정하여, 기보에 기록하며, 상기 이진 영상의 픽셀을 이용하여 바둑돌의 흑백을 결정할 수 있는 것이다.
도 8는 본 발명에 따른 자동 바둑 기보 시스템의 자동 바둑 기보 방법의 전체 흐름을 나타내는 흐름도로, 상기 영상획득부(10)를 이용하여 바둑판 전체를 촬영한 영상을 획득하는 단계(S10)를 수행하며, 상기 흑백영상 생성부(20)를 이용하여, 상기 S10 단계에서 획득된 컬러영상(RGB영상)을 그레이스케일 변화시켜 흑백영상을 생성하는 단계(S20)를 수행한다.
다음으로 상기 크기 추정부(30)를 이용하여, 카메라 높이에 따른 바둑돌의 크기를 추정하는 단계(S30)를 수행한다.
다음으로 상기 전처리부(40)를 이용하여, 변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 단계(S40)를 수행한다.
본 발명에 따른 상기 S40단계는 도 9에 도시된 바와 같이, 상기 차 영상 생성부(41)를 이용하여 이전 바둑돌 위치에 따른 흑백 영상과 현재 바둑돌 위치에 따른 흑백 영상의 차 영상(Ci)을 생성하는 단계(S41), 상기 필터 영상 생성부(42)를 이용하여, 상기 차 영상(Ci)에서 노이즈 에지 제거를 위한 필터 영상을 생성하는 단계(S43), 상기 이진화 영상부(43)를 이용하여, 필터링된 영상을 이진화하는 단계(S45), 상기 에지 검출부(44)를 이용하여, 이진화 영상에서 캐니 에지 검출로 획득된 에지 정보를 검출하는 단계(S47) 및 상기 영상 매핑부(45)를 이용하여, 검출된 에지 정보를 벡터에 저장하는 단계(S49)를 수행한다.
다음으로, 상기 자동 기보부(50)를 이용하여 RANSAC을 실행하여, 바둑돌의 위치를 검출한 후, 기보에 기록하는 단계(S50)를 수행한다.
상기 S50 단계는 도 10에 도시된 바와 같이, 상기 란삭 실행부(51)를 이용하여, 바둑돌의 에지를 구성하는 임의의 픽셀로 외접원 모델을 구성하고, 상기 외접원 모델을 만족하는 만족비율을 계산하는 단계(S51), 상기 바둑돌 검출부(52)를 이용하여, 상기 외접원 모델에 대한 인라이어(inlier) 비율로 바둑돌의 위치를 검출하는 단계(S53) 및 상기 기보 기록부(53)를 이용하여, 검출된 바둑돌의 흑백을 결정하여, 기보에 기록하는 단계(S55)를 수행한다.
본 발명에 따른 S10 단계 내지 S50 단계에 관한 상세 동작은 앞서 설명한 상기 영상획득부(10) 내지 자동 기보부(50)에 관한 상세 내용에 기재하였으므로, 추가 기재는 생략하도록 한다.
이러한 본 발명에 따른 자동 바둑 기보 시스템 및 그 방법의 성능을 평가하기 위해 다음과 같은 실험을 진행하였다.
바둑판 전체를 촬영하기 위해 카메라를 바둑판 위에 설치하였다. 카메라의 높이는 임의로 조절할 수 있으며, 본 실험에서는 바둑 대신 오목에 대한 기보를 작성했다. 영상처리 관점에서 두 게임 간에 큰 차이가 없으므로, 바둑 기보작성과 큰 차이가 없으리라 생각된다. 실험에 사용된 RANSAC 파라미터 값은 다음 표 1과 같다.
[표 1]
Figure 112015027484814-pat00011
도 11은 서로 다른 카메라 높이에서 작성된 기보들이다. 카메라 높이를 54, 69, 82cm로 각각 설정한 이후에 실험을 진행하였다. 이는 제안방식이 카메라 높이가 달라질 경우에도 성공적으로 기보 작성이 가능하다는 것을 보여준다.
바둑돌 위치의 미세변화와 조도변화에 따른 종래 기술의 문제점들을 언급한 바 있는데, 본 실험에서는 인위적으로 바둑돌 위치의 미세변화와 조도변화 상황을 만들어, 종래 기술[4]와 본 발명의 성능을 평가한다.
첫 번째 실험에서는 바둑돌 위치의 미세변화에 대한 실험으로, 본 실험에서는 기존에 놓여있는 바둑돌 사이에 새로운 바둑돌을 놓으면서, 주변 바둑돌이 위치 이동되도록 하였다.
도 12의 (A)와 (B)는 바둑돌을 놓기 전후의 영상이 다. 새로 놓인 바둑돌의 위치를 사각형으로 표시하였으며, 도 12의 (A)는 종래기술[4]을 사용했을 때 차 영상 결과이고, 도 12의 (B)는 본 발명을 적용한 결과로, 필터영상을 이용하여 노이즈 에지들을 상당 부분 제거되는 것을 확인할 수 있다.
두 번째 실험은 조도변화에 대한 실험이다. 바둑돌을 놓기 전과 후에 급격한 조도변화를 주었다. 바둑돌의 위치는 첫 번째 실험과 같다. 도 14 (A)는 종래기술[4]을 사용했을 때, 차 영상을 이진화한 영상이다.
종래기술[4]의 경우 조도변화로 생긴 그림자 때문에, 검출한 새 바둑돌을 찾을 수가 없는 반면 본 발명을 적용한 도 14의 (B)는 그림자 노이즈들이 상당부분 제거된 것을 확인할 있다.
마지막 실험은 종래 기술[4]과 본 방법의 바둑돌검출 속도와 정확도를 비교한 실험이다.
실험의 객관성을 높이기 위해 실제 바둑 대국 영상에서 바둑판화면을 캡쳐해 실험하였으며, 대국 영상은 총 303수로 이뤄졌고, 303장의 캡쳐 사진을 자동바둑기보시스템에 입력해 바둑돌 검출 여부와 검출 속도를 측정했다.
종래기술[4]는 오차율을 0.1로 적용해, 차 영상의 크기가 수학식 3을 만족하는지의 여부로 검출여부와 속도를 측정했다. 도 15과 도 16은 종래기술[4]와 본 발명의 검출률과 검출 속도를 보여주는 것으로, 총 303번의 시도 중 본 발명은 291번을 성공해 96%의 성공률을 보였고, 종래기술[4]의 경우 96번을 성공해 35%의 성공률을 보여준다. 종래기술[4]의 경우 대부분 대국자의 바둑돌 건드림으로 검출에 실패했고, 바둑돌이 많아질수록 더 자주 발생했다.
검출 속도의 경우 본 바렴은 평균 검출 속도가 0.0314, 기존 방법은 0.0227임을 확인했다. 종래기술[4]보다 0.0087초 느리지만, 그 차이가 작은 것을 알 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따른 자동 바둑 기보 시스템 및 그 방법은 란삭(RANSAC) 알고리즘을 기반으로 기보를 작성함으로써, 바둑돌 위치의 미세한 변하나 조도 변화, 카메라 높이의 변화 등에 영향을 받지 않고, 안정적으로 기보를 작성할 수 있으며, RANSAC 연산량의 개선하여 기보 작성의 효율과 정확성을 크게 향상시킬 수 있다.
이상 본 발명의 실시예로 설명하였으나 본 발명의 기술적 사상이 상기 실시예로 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범주에서 다양한 자동 바둑 기보 시스템 및 그 방법으로 구현할 수 있다.
1 : 바둑판 10 : 영상 획득부
20 : 흑백영상 생성부 30 : 크기 추정부
40 : 전처리부 41 : 차영상 생성부
42 : 필터영상 생성부 43 : 이진화 영상부
44 : 에지 검출부 45 : 영상 매핑부
50 : 자동 기보부 51 : 란삭 실행부
52 : 바둑돌 검출부 53 : 기보 기록부
100 : 자동 바둑 기보 시스템

Claims (9)

  1. 삭제
  2. 삭제
  3. 바둑판 전체를 촬영하여, 영상을 획득하는 영상획득부;
    획득된 바둑판 영상을 그레이스케일 변환하여, 흑백 영상을 생성하는 흑백영상 생성부;
    변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 전처리부 및
    란삭(RANSAC)을 기반으로 바둑돌의 위치를 검출하여, 기보에 기록하는 자동 기보부를 포함하는 것을 특징으로 하며,
    상기 전처리부는,
    이전 바둑돌 위치에 따른 흑백 영상과 현재 바둑돌 위치에 따른 흑백 영상의 차 영상(Ci)을 생성하는 차영상 생성부;
    상기 차 영상(Ci)에서 노이즈 에지 제거를 위한 필터 영상을 생성하는 필터영상 생성부;
    필터링된 영상을 이진화하는 이진화 영상부;
    이진화된 영상에서 캐니 에지 검출로 획득된 에지 정보를 검출하는 에지 검출부 및
    상기 에지 검출부에서 검출된 에지 정보를 벡터에 저장하는 영상 매핑부를 포함하는 것을 특징으로 하고,
    상기 차 영상(Ci)은 수학식 5에 의해 산출되는 것을 특징으로 하는 자동 바둑 기보 시스템.
    [수학식 5]
    Figure 112016019066924-pat00012

    여기서, Ei-1 : 이전 바둑돌 위치에서 검출된 캐니 에지 영상
    Ei : 현재 바둑돌 위치에서 검출된 캐니 에지 영상
  4. 바둑판 전체를 촬영하여, 영상을 획득하는 영상획득부;
    획득된 바둑판 영상을 그레이스케일 변환하여, 흑백 영상을 생성하는 흑백영상 생성부;
    변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 전처리부 및
    란삭(RANSAC)을 기반으로 바둑돌의 위치를 검출하여, 기보에 기록하는 자동 기보부를 포함하는 것을 특징으로 하며,
    상기 자동 기보부는,
    바둑돌의 에지를 구성하는 임의의 픽셀로 외접원 모델을 구성하고, 상기 외접원 모델을 만족하는 만족비율을 계산하는 란삭 실행부;
    상기 외접원 모델에 대한 인라이어(inlier) 비율로 바둑돌의 위치를 검출하는 바둑돌 검출부 및
    검출된 바둑돌의 흑백을 결정하여, 기보에 기록하는 기보 기록부를 포함하는 것을 특징으로 하는 자동 바둑 기보 시스템.
  5. 바둑판 전체를 촬영하여, 영상을 획득하는 영상획득부;
    획득된 바둑판 영상을 그레이스케일 변환하여, 흑백 영상을 생성하는 흑백영상 생성부;
    변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 전처리부 및
    란삭(RANSAC)을 기반으로 바둑돌의 위치를 검출하여, 기보에 기록하는 자동 기보부를 포함하는 것을 특징으로 하며,
    상기 흑백영상 생성부와 연결되어, 카메라 높이에 따른 바둑돌의 크기를 추정하는 크기 추정부를 더 포함하는 것을 특징으로 하는 자동 바둑 기보 시스템.
  6. 제5항에 있어서,
    상기 크기 추정부는
    카메라 높이 변화에 따른 바둑돌 픽셀의 개수로 바둑돌의 크기를 추정하고, 상기 바둑돌의 크기는 수학식 4로 산출되는 것을 특징으로 하는 자동 바둑 기보 시스템.
    [수학식 4]
    Figure 112015027484814-pat00013

    여기서, W : 사전에 입력된 바둑판 한변을 나타내는 에지 픽셀의 개수
    N : 사전에 입력된 바둑돌 에지 픽셀 개수
    w : 카메라 높이에 따른 바둑판 한 변의 픽셀 개수
    n : 카메라 높이에 따른 바둑돌
  7. (a) 영상획득부를 이용하여 바둑판 전체를 촬영한 영상을 획득하는 단계;
    (b) 흑백영상 생성부를 이용하여, 획득된 바둑판 영상을 그레이스케일 변환시켜 흑백영상을 생성하는 단계;
    (c) 크기 추정부를 이용하여, 카메라 높이에 따른 바둑돌의 크기를 추정하는 단계;
    (d) 전처리부를 이용하여, 변환된 바둑판 영상에서 바둑돌 에지 이외의 바둑판의 선과 테두리의 에지를 제거하는 단계 및
    (e) 자동 기보부를 이용하여 RANSAC을 실행하여, 바둑돌의 위치를 검출한 후, 기보에 기록하는 단계를 포함하며,
    상기 (e) 단계는
    (e-1) 란삭 실행부를 이용하여, 바둑돌의 에지를 구성하는 임의의 픽셀로 외접원 모델을 구성하고, 상기 외접원 모델을 만족하는 만족비율을 계산하는 단계;
    (e-2) 바둑돌 검출부를 이용하여, 상기 외접원 모델에 대한 인라이어(inlier) 비율로 바둑돌의 위치를 검출하는 단계 및
    (e-3) 기보 기록부를 이용하여, 검출된 바둑돌의 흑백을 결정하여, 기보에 기록하는 단계를 포함하는 것을 특징으로 하는 자동 바둑 기보 방법.
  8. 제7항에 있어서,
    상기 (d) 단계는,
    (d-1) 차영상 생성부를 이용하여 이전 바둑돌 위치에 따른 흑백 영상과 현재 바둑돌 위치에 따른 흑백 영상의 차 영상(Ci)을 생성하는 단계;
    (d-2) 필터영상 생성부를 이용하여, 상기 차 영상(Ci)에서 노이즈 에지 제거를 위한 필터 영상을 생성하는 필터 영상 생성부;
    (d-2) 이진화 영상부를 이용하여, 필터링된 영상을 이진화하는 단계;
    (d-3) 에지 검출부를 이용하여, 이진화 영상에서 캐니 에지 검출로 획득된 에지 정보를 검출하는 단계 및
    (d-4) 영상 매핑부를 이용하여, 검출된 에지 정보를 벡터에 저장하는 단계를 포함하는 것을 특징으로 하는 자동 바둑 기보 방법.
  9. 삭제
KR1020150038784A 2015-03-20 2015-03-20 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법 KR101627653B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150038784A KR101627653B1 (ko) 2015-03-20 2015-03-20 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150038784A KR101627653B1 (ko) 2015-03-20 2015-03-20 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101627653B1 true KR101627653B1 (ko) 2016-06-08

Family

ID=56193942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038784A KR101627653B1 (ko) 2015-03-20 2015-03-20 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101627653B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128741A (ko) 2020-04-17 2021-10-27 주식회사 비툴즈 기보 생성 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09285594A (ja) * 1996-04-23 1997-11-04 Sanyo Electric Co Ltd 囲碁のステイタス自動認識装置および棋譜記録装置
KR200152326Y1 (ko) 1993-06-15 1999-07-15 류첸-이 바둑기보 기록장치
KR200200127Y1 (ko) 1999-12-30 2000-10-16 나정선 자동 기보작성 바둑판
KR20030081732A (ko) * 2002-04-12 2003-10-22 (주)유라비젼 바둑 기보 생성 방법 및 장치
JP2014109555A (ja) * 2012-12-04 2014-06-12 Nippon Telegr & Teleph Corp <Ntt> 点群解析処理装置、点群解析処理方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200152326Y1 (ko) 1993-06-15 1999-07-15 류첸-이 바둑기보 기록장치
JPH09285594A (ja) * 1996-04-23 1997-11-04 Sanyo Electric Co Ltd 囲碁のステイタス自動認識装置および棋譜記録装置
KR200200127Y1 (ko) 1999-12-30 2000-10-16 나정선 자동 기보작성 바둑판
KR20030081732A (ko) * 2002-04-12 2003-10-22 (주)유라비젼 바둑 기보 생성 방법 및 장치
KR100472102B1 (ko) 2002-04-12 2005-03-08 (주)유라비젼 바둑 기보 생성 방법 및 장치
JP2014109555A (ja) * 2012-12-04 2014-06-12 Nippon Telegr & Teleph Corp <Ntt> 点群解析処理装置、点群解析処理方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
[3] A. Srisuphab, P. Silapachote, T. Chaivanichanan, W. Ratanapairojkul, and W. Porncharoensub, "An Application for the Game of Go: Automatic Live Go Recording and Searchable Go Database," Proceeding of IEEE Region 10 Conference, pp. 1-6, 2012.
[5] J. Canny, "A Computational Approach to Edge Detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 8, No. 6, pp. 679-698, 1986.
[6] R.O. Duda and P.E. Hart, "Use of Hough Transformation to Detect Line and Curves in Picture," Communications of the ACM, Vol. 15, No. 1, pp. 11-15, 1972.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128741A (ko) 2020-04-17 2021-10-27 주식회사 비툴즈 기보 생성 장치 및 방법
KR102380738B1 (ko) 2020-04-17 2022-03-31 주식회사 비툴즈 기보 생성 장치 및 방법

Similar Documents

Publication Publication Date Title
CN109376681B (zh) 一种多人姿态估计方法及系统
US9805443B2 (en) Image processing method, image processing apparatus, program, storage medium, production apparatus, and method of producing assembly
JP2009211179A (ja) 画像処理方法、パターン検出方法、パターン認識方法及び画像処理装置
JP2009258968A (ja) 画像検査装置
CN111220235B (zh) 水位监测方法及装置
JP2007034733A (ja) 対象物領域検出装置、方法およびプログラム
JP2011237296A (ja) 3次元形状計測方法、3次元形状計測装置、及びプログラム
JP2018055367A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2015204023A (ja) 被写体検出装置、被写体検出方法及びプログラム
JP5772675B2 (ja) 濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラム
KR101627653B1 (ko) 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법
JP2006279442A (ja) 画像処理方法および装置並びにプログラム
JP2019036030A (ja) 物体検出装置、物体検出方法及び物体検出プログラム
JP2011233060A (ja) 物体認識装置、物体認識方法、及びコンピュータプログラム
KR101635804B1 (ko) 원형 허프 변환 기반의 자동 바둑 기보 시스템 및 그 방법
JP2020122769A (ja) 評価方法、評価プログラム及び情報処理装置
JP2001184512A (ja) 画像処理装置及び方法並びに記録媒体
JP4692151B2 (ja) 画像認識方法及び画像認識装置
JP3772845B2 (ja) 画像処理プログラム、画像処理装置、および撮影装置
JP5470529B2 (ja) 動き検出装置、動き検出方法及び動き検出プログラム
JPH0624014B2 (ja) 濃淡画像の処理方法
JP2008225654A (ja) 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体
JP2004258931A (ja) 画像処理方法、画像処理装置、画像処理プログラム
JP4986797B2 (ja) 画像処理装置及び画像処理方法
CN111539970B (zh) 一种适用于结构光三维重建的棋盘格角点检测方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant