KR20030081732A - 바둑 기보 생성 방법 및 장치 - Google Patents
바둑 기보 생성 방법 및 장치 Download PDFInfo
- Publication number
- KR20030081732A KR20030081732A KR1020020020095A KR20020020095A KR20030081732A KR 20030081732 A KR20030081732 A KR 20030081732A KR 1020020020095 A KR1020020020095 A KR 1020020020095A KR 20020020095 A KR20020020095 A KR 20020020095A KR 20030081732 A KR20030081732 A KR 20030081732A
- Authority
- KR
- South Korea
- Prior art keywords
- checkerboard
- image
- starting point
- area
- game
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 바둑 기보 생성 방법 및 장치에 관한 것으로서, 본 발명에 따른 바둑 기보 생성 방법은 촬영되는 대국 영상으로부터 바둑판의 영역을 검출하는 단계(a); 상기 바둑판 영역에 존재하는 교차점들의 위치를 검출하는 단계(b); 대국이 종료될 때까지, 새로운 착수점이 놓여지는지 여부를 감지하여 새로 놓여진 착수점들의 위치 정보를 출력하는 단계(c)를 포함할 수 있다. 본 발명에 따르면, 일반적인 바둑판에 기계적인 장치를 부가하지 않고 바둑 기보를 생성할 수 있기 Eo 종래의 디지털 바둑판에서와 같이 바둑 전문 기사들이 대국을 기피하는 문제점을 해결할 수 있다.
Description
본 발명은 바둑 기보 생성 방법 및 장치에 관한 것으로서, 더욱 상세하게는 대국 장면을 촬영하고 촬영된 영상을 이용하여 자동적으로 바둑 기보를 생성하도록 하는 방법 및 장치에 관한 것이다.
근래에 들어, 인터넷이 활성화되면서 바둑에 관련된 사이트들이 많이 등장하고 있으며, 인터넷을 통해 디지털 바둑 기보에 관한 다양한 서비스도 제공되고 있다.
종래의 디지털 바둑 기보 생성 시스템은 바둑판에 기계적인 장치를 부착하여 착수가 이루어질 경우, 이를 인식하여 바둑 기보를 생성하였다.
그러나, 이와 같은 디지털 바둑 기보 생성 시스템은 바둑판에 기계적인 스위치를 부착하여야 되기 때문에 상대적으로 많은 비용이 들며, 또한 바둑 전문 기사들이 기계 장치가 되어 있는 바둑판에서 대국을 두는 것을 기피하는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래 기술의 문제점을 해결하기 위해, 바둑판에 기계적인 장치가 부가되지 않더라도 바둑 기보를 생성할 수 있는 장치 및 방법을 제안하고자 한다.
본 발명의 또 다른 목적은 대국 장면을 촬영하고 촬영된 정보를 이용하여 기보를 생성할 수 있는 바둑 기보 생성 방법 및 장치를 제안하는 것이다.
본 발명의 또 다른 목적은 바둑 기보를 자동 및 실시간으로 생성할 수 있는 바둑 기보 생성 방법 및 장치를 제안하는 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 바둑 기보 생성을 위한 시스템 구성을 도시한 도면.
도 2는 본 발명의 또 다른 실시예에 따른 바둑 기보 생성 시스템의 전체 구성을 도시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 영상 처리 장치의 상세 구성을 도시한 블록도.
도 4는 본 발명의 바람직한 실시예에 따른 저장부의 필드 구성을 도시한 도면.
도 5는 본 발명의 바람직한 실시예에 따른 기보 데이터 생성 방법의 전체적인 흐름을 도시한 순서도.
도 6a 및 도6b는 본 발명의 바람직한 실시예에 따른 바둑판 영역을 인식하는 방법의 흐름을 도시한 순서도.
도 7은 본 발명의 또 다른 실시예에 따른 바둑판 영역을 인식하는 과정의 상세 흐름을 나타낸 순서도.
도 8은 본 발명의 바람직한 실시예에 따른 교차점을 인식하는 과정의 상세한 흐름을 도시한 순서도.
도 9는 본 발명의 또 다른 실시예에 따른 교차점을 인식하는 과정을 도시한 순서도.
도 10은 본 발명의 바람직한 실시예에 따른 움직임을 검출하여 새로운 착수점을 인식하는 과정을 도시한 순서도.
도 11a, 도 11b 및 도11c는 바둑판 영역을 인식하는 과정을 사진으로 설명한 예시도.
도 12a 및 도 12b는 교차점을 인식하는 과정을 사진으로 나타낸 예시도이고, 도 12c는 교차점 인식에 이용되는 네 개의 마스크를 도시한 것.
도 13a는 대국이 시작되기 전 영상을 나타낸 것이고, 도 13b는 대국자에 의한 움직임이 검출되는 일례를 도시한 것이고, 도 13c는 착수가 이루어진 후의 착수 영상을 나타낸 것이다.
도 14a는 초기 상태에서 대국자의 움직임에 의한 영상과 기준 영상과의 차영상을 나타낸 일례를 도시한 도면이고, 도 14b는 대국자의 움직임 이후 착수가 이루어진 상태의 영상과 기준 영상과의 차영상을 나타낸 일례를 도시한 도면이며,
도 15는 차신호의 변화 크기를 나타낸 도면.
도 16a는 대국의 중반에 기준 영상으로 등록된 영상의 일례를 나타낸 것이고, 도 16b는 도 16a와 같은 기준 영상이 등록된 후, 대국자의 움직임이 검출되는 화면의 일례를 나타낸 것이며, 도 16c는 도 16a와 같은 기준 영상이 등록된 후 착수가 이루어진 후의 영상의 일례를 나타낸 것.
도 17a는 도 16a와 도 16b의 차영상을 나타낸 것이고, 도 17b는 도 16a와 도 16c의 차영상을 나타낸 것.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명에 따른 바독 기보 생성 방법은 촬영되는 대국 영상으로부터 바둑판의 영역을 검출하는 단계(a); 상기 바둑판 영역에 존재하는 교차점들의 위치를 검출하는 단계(b); 대국이 종료될 때까지, 새로운 착수점이 놓여지는지 여부를 감지하여 새로 놓여진 착수점들의 위치 정보를 출력하는 단계(c)를 포함할 수 있다.
상기 단계(a)는, 상기 촬영되는 대국 영상 내에 적어도 하나의 점을 선택하는 단계; 상기 선택한 적어도 하나의 점을 기준으로 수평 및 수직 방향으로 색상 변화를 조사하는 단계; 상기 수평 및 수직 방향으로 색상 변화를 조사 결과, 색상의 변화가 미리 설정된 임계치 이하인 부분을 바둑판 영역으로 인식하는 단계; 상기 선택한 적어도 하나의 점을 기준으로 인식한 바둑판 영역의 평균을 바둑판 영역정보로 출력하는 단계를 포함할 수 있다.
상기 단계(a)의 바둑판 영역의 검출은 상기 촬영되는 대국 영상에서 운용자가 마우스 또는 터치스크린을 이용해 입력함으로써 이루어질 수 있다.
상기 단계(b)는, 직각으로 꺽인 형태의 네 개의 마스크를 이용하여 상기 검출한 바둑판 영역에 대해 매칭을 수행하는 단계; 상기 매칭 결과 미리 설정한 임계치 이상인 부분을 교차점으로 인식하는 단계; 중복되어 인식되는 교차점들에 대해 평균을 계산하여, 그 평균값을 교차점으로 판단하는 단계를 포함할 수 있다.
본 발명의 또 다른 실시예에 따르면, 상기 단계(b)는, 상기 검출한 바둑판 영역의 단면 프로필 정보를 파악하는 단계; 상기 단면 프로필 정보를 수평 방향으로 미분하여 수직으로 존재하는 바둑판선들의 위치 정보를 판단하는 단계; 상기 단면 프로필 정보를 수직 방향으로 미분하여 수평으로 존재하는 바둑판 선들의 위치 정보를 판단하는 단계; 상기 수평 방향 선들 및 수직 방향 선들의 위치 정보를 이용하여 교차점들의 위치 좌표를 출력하는 단계를 포함할 수 있다.
상기 단계(c)는, 상기 촬영되는 대국 영상에 변화가 있는지 여부를 감지하는 단계; 변화가 있을 경우, 대국자의 움직임에 의한 변화인지 새로운 착수점에 의한 변화인지 여부를 판단하는 단계; 새로운 착수점에 의한 변화일 경우, 새로운 착수점의 위치 정보를 출력하는 단계를 포함할 수 있다.
상기 단계(a)는 상기 촬영되는 대국 영상을 흐리게 필터링하는 단계를 더 포함할 수 있다.
상기 단계(b)는 상기 인식한 바둑판상의 선들이 하나의 픽셀로 인식되도록씨닝(Thining) 알고리즘을 수행하는 단계를 더 포함할 수 있다.
상기 대국 영상에 변화가 있는 지 여부는 초기 영상 또는 이전 착수점이 놓여져 있는 영상을 기준 영상으로 하여 기준 영상과 현재 영상과의 차신호가 존재하는지 여부를 통해 검출할 수 있다.
상기 영상의 변화가 새로운 착수점에 의한 것인지는 상기 기준 영상과 현재 영상과의 차신호가 바둑돌 크기의 배수배로 수렴하는지를 계산하여 판단할 수 있다.
새로운 착수점의 위치 정보는 상기 기준 영상과 현재 영상과의 차영상에 나타나는 바둑돌의 위치를 계산하여 출력할 수 있다.
한편, 본 발명에 따른 바둑 기보 생성 장치는 촬영되는 대국 영상으로부터 바둑판의 영역을 검출하는 바둑판 인식부; 상기 바둑판 영역에 존재하는 교차점들의 위치를 검출하는 바둑판 교차점 인식부; 및 대국이 종료될 때까지, 새로운 착수점이 놓여지는지 여부를 감지하여 새로 놓여진 착수점들의 위치 정보를 출력하는 착수점 인식부 및; 상기 검출한 바둑판 영역, 바둑판 교참점 위치 및 착수점 위치를 저장하는 저장부를 포함할 수 있다.
또한, 본 발명에 따른 바둑 기보 제공 시스템은 대국 장면을 촬영하는 카메라; 상기 카메라로부터 영상 정보를 수신하여 새로운 착수점이 놓일 때, 착수점의 위치 좌표를 계산하여 기보 데이터를 출력하는 영상 처리 장치; 상기 영상 처리 장치에서 출력하는 기보 데이터를 전송하는 통신 모듈; 및 상기 통신 모듈로부터 기보 데이터를 수신하여 접속한 사용자 클라이언트에 기보 정보를 제공하는 서버를포함할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 바둑 기보 제공 시스템은 대국 장면을 촬영하는 카메라; 상기 카메라가 촬영하는 영상 정보를 전송하는 통신 모듈; 상기 통신 모듈로부터 영상 정보를 수신하여, 새로운 착수점이 놓일 때, 착수점의 위치 좌표를 계산하여 기보 데이터를 출력하고 상기 기보 데이터를 전송하는 영상 처리 장치 단말기; 및 상기 영상 처리 단말기로부터 기보 데이터를 수신하여 접속한 사용자 클라이언트에 기보 정보를 제공하는 서버를 포함할 수 있다.
이하에서 첨부된 도면을 참조하여 본 발명에 따른 바둑 기보 생성 방법 및 장치의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 바둑 기보 생성을 위한 시스템 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 바둑 기보 생성 시스템은 카메라(100), 지지대(102), 영상 처리 장치(104), 통신 모듈(106) 및 웹서버(108)를 포함할 수 있다.
도 1에서, 카메라는 대국이 진행되는 바둑판 위에 설치되며, 대국 영상 정보를 수신하여 영상 처리장치(104)에 제공하는 기능을 한다. 일반적인 기능을 수행하는 카메라라면 아날로그 카메라 또는 디지털 카메라인지를 구별하지 않고 모두 사용될 수 있을 것이다. 단 아날로그 카메라를 사용하는 경우에는 영상 처리 장치(104)에서 아날로그 신호를 디지털 신호로 변환하여야 할 것이다.
지지대(102)는, 도 1에 도시된 바와 같이, 카메라가 대국자의 머리 위쪽으로 위치하도록 카메라를 지지하는 역할을 한다. 지지대(102)는 일반적인 철골 구조물 또는 목재 구조물을 통해 구현될 수 있을 것이다. 단 지지대(102)는 본 발명의 필수적인 구성요소라고 할 수 없으며, 지지대 없이 카메라를 천장에 설치하는 경우도 본 발명의 범주에 속한다는 것은 당업자에게 있어 자명할 것이다.
영상 처리 장치(104)는 카메라(100)로부터 영상 정보를 수신하여 대국이 진행되는 동안에 놓여지는 새로운 착수점 정보들을 인식하여 기보 정보를 생성하는 기능을 한다.
본 발명의 바람직한 실시예에 따르면, 영상 처리 장치(104)는 카메라로부터 수신되는 영상 정보를 이용하여 바둑판 영역 및 바둑판에 그어진 교차점 정보를 인식하고, 대국 중에 일어나는 움직임을 검출하여 새로운 착수점 정보를 인식한다.
통신 모듈(106)은 상기 영상 처리 장치(104)에서 생성한 기보 데이터를 서버(108)로 전송하는 기능을 한다. 도 1에는 인터넷을 통해 인터넷과 연결된 웹서버로 기보 정보를 전송하는 경우를 도시하였으나, 인터넷 외에 다른 통신망이 이용될 수 있다는 것은 당업자에게 있어 자명할 것이다. 예를 들어, 통신 모듈(106)은 무선 통신망이나 사설 네트워크를 통해 서버로 기보 데이터를 전송할 수도 있을 것이다. 데이터 정보를 통신 모듈을 통해 서버로 전송하는 것은 이미 종래에 널리 알려진 기술이므로 이에 대해 상세한 설명은 생략하기로 한다.
기보 데이터는 새로운 착수점이 놓여질 때마다 전송될 수도 있으며, 대국이 종료된 후 전체 기보 데이터를 한번에 전송할 수도 있을 것이다. 전자는 인터넷 등을 통해 대국을 생방송 할 경우에 사용될 수 있을 것이며, 후자는 생방송이 아닌 경우에 사용될 수 있을 것이다.
서버(108)는 통신 모듈로부터 수신한 기보 데이터를 디코딩하여 기보 정보를 요청한 사용자 클라이언트들(110)에 제공하는 기능을 한다.
도 2는 본 발명의 또 다른 실시예에 따른 바둑 기보 생성 시스템의 전체 구성을 도시한 도면이다.
도 1은 카메라, 영상 처리 장치, 통신 모듈이 결합된 구성을 도시하였으나, 도 2는 영상 처리 장치가 카메라에 결합되지 않고 별도의 장치로 존재하는 구성을 도시한 것이다.
도 2에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 바둑 기보 생성 시스템은 카메라(200), 통신 모듈(202) 및 지지대(204)로 구성되는 영상 전송 장치와 상기 영상 전송 장치로부터 전송되는 영상 정보를 수신하여 기보 정보를 생성하는 영상 처리 단말기(206) 및 서버(208)를 포함할 수 있다. 도 2에 도시된 각 구성 요소들의 기능은 도 1의 설명과 동일하므로 생략하기로 한다. 단 도 1에서, 통신 모듈(102)은 기보 정보를 서버(108)로 전송하였으나, 도 2에서의 통신 모듈(202)은 카메라로부터 수신되는 영상 정보를 영상 처리 단말기(206)로 전송한다.
영상 처리 단말기(206)는 일반적인 PC나 기타의 디지털 정보를 처리할 수 있는 장치로 구현될 수 있을 것이다. 통신 모듈(202)은 일반적인 유선 또는 무선 통신 방식을 모두 이용하여 영상 처리 단말기(206)로 카메라로부터 수신한 영상 정보를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 블루투스를 이용하여 영상 정보를 영상 처리 단말기로 전송할 수 있다. 블루투스 방식을 이용할 경우, 데이터의 호환이 용이하므로 영상 처리 단말기로 다양한 장치들이 사용될 수 있는 장점이 있다.
본 발명의 또 다른 실시예에 따르면, 일반적인 RF 신호로 영상 정보를 영상 처리 단말기로 전송할 수 있다. RF 신호로 영상 정보를 전송할 경우, 영상 처리 단말기는 RF 신호를 수신하고 이를 복조할 수 있는 수단을 구비하여야 한다.
본 발명의 또 다른 실시예에 따르면, 통신 모듈과 영상 처리 단말기가 USB 포트 등을 통해 유선으로 연결될 수도 있다. 이러한 방법은 영상 처리 단말기가 PC인 경우에 사용될 수 있을 것이다.
상기한 실시예들 이외의도 다양한 통신 방법이 사용될 수도 있으며, 이러한 통신 방법의 변경이 본 발명의 범주에 속한다는 것은 당업자에게 있어 자명할 것이다.
영상 처리 단말기(206)는 도 1의 영상 처리 장치와 마찬가지로 통신 모듈(202)로부터 수신되는 영상 정보를 이용하여 바둑판 영역 및 바둑판에 그어진 교차점 정보를 인식하고, 대국 중에 일어나는 움직임을 검출하여 새로운 착수점 정보를 인식하여 기보 데이터를 생성한다.
생성된 기보 데이터는 영상 처리 단말기(206)로부터 서버(208)로 전송되며, 도 2에서는 인터넷을 통해 서버(208)로 기보 데이터가 전송되는 경우를 도시하였으나, 이동통신망을 이용하는 경우 등 다른 통신 방법에 의해 기보 데이터를 서버(208)에 전송하는 방법도 본 발명의 범주에 속할 것이다.
도 1 및 도 2에 도시된 경우 이외에도, 별도의 영상 처리 단말기가 존재하지 않고, 서버가 영상 처리 및 사용자 클라이언트에 기보 데이터를 제공하는 기능을 함께 수행할 수도 있을 것이다. 이 경우, 통신 모듈은 서버로 영상 데이터를 직접 전송한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 영상 처리 장치의 상세 구성을 도시한 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 영상 처리 장치는 전처리부(300), 바둑판 인식부(302), 바둑판 교차점 인식부(304), 움직임 검출부(306), 착수점 인식부(308) 및 저장부(310)를 포함할 수 있다.
도 3에서, 전처리부(300)는 카메라로부터 수신되는 영상 정보를 평활화하는 기능을 한다. 카메라에 잡히는 영상 정보는 피쉬 아이(Fish Eye) 현상이 발생하는 경우가 많다. 피쉬 아이(Fish Eye) 현상은 볼록 렌즈를 통해 사물을 보는 것과 같이 외부로 갈수록 영상이 휘어지는 현상을 말한다. 전처리부(300)는 이러한 휘어짐을 평활화하며, 일례로 와핑(Wapping) 알고리즘을 이용하여 영상을 평활화할 수 있을 것이다.
바둑판 인식부(302)는 카메라로부터 수신된 영상 중 바둑판에 해당하는 영역을 인식하여 바둑판 좌표 정보를 출력하는 기능을 한다. 본 발명의 일 실시예에 따르면, 바둑판의 모서리에 해당하는 4개의 끝점에 대한 좌표 정보를 출력한다. 바둑판 인식부(302)는 색상이 연속적으로 같은 부분을 바둑판 영역으로 인식하며, 색상이 달라지는 부분을 바둑판 영역의 경계로 설정한다.
본 발명의 또 다른 실시예에 따르면, 운용자의 수동 입력에 의해 바둑판 영역을 설정할 수도 있다. 이 경우, 카메라가 촬영한 영상 정보는 영상 처리 장치 또는 영상 처리 단말기의 표시부에 디스플레이된다. 운용자는 디스플레이된 영상에서 바둑판의 끝점에 해당하는 부분을 마우스 등을 이용하여 클릭하고, 클릭한 지점의 좌표 정보를 출력하여 바둑판 영역을 설정한다.
바둑판 교차점 인식부(302)는 바둑판에 그어진 선들의 교차점을 인식하여 교차점의 좌표를 출력하는 기능을 한다. 본 발명의 일 실시예에 따르면, 상기 인식한 바둑판 영역에 대해 직각으로 꺽인 형태의 마스크를 사용하여 바둑판의 교차점을 인식한다. 마스킹을 통해 바둑판의 교차점을 인식하는 상세한 방법은 후술하기로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 인식한 바둑판 영역의 단면 프로필 정보를 파악하여 바둑판 영역내에 그어진 선 정보를 인식하고, 인식한 선 정보를 이용하여 교차점을 파악할 수도 있다.
움직임 검출부(306)는 대국이 진행되는 동안에 대국자에 의해 새로운 착수점이 발생하는지 여부를 검출하는 기능을 한다. 본 발명의 바람직한 실시예에 따르면, 움직임 검출부(306)는 새로운 착수점이 발생하기전 영상을 기준 영상으로 하고, 그 이후의 영상 정보와의 차신호를 구해 차신호가 발생하는 경우에 새로운 착수점이 발생한 것으로 판단한다.
착수점 인식부(308)는 새로운 착수점이 발생한 경우 새로운 착수점의 좌표를 출력하는 기능을 한다. 본 발명의 바람직한 실시예에 따르면, 새로운 착수점이 발생한 경우, 현재 영상 정보를 기준 영상 정보로 빼면 새로운 착수점에 대한 영상만이 존재하는 차영상이 생성되며, 상기 차영상에 존재하는 착수점의 좌표를 인식하도록 한다. 착수점의 좌표를 인식하는 상세한 방법은 별도의 도면을 통해 후술하기로 한다.
저장부(310)는 상기 바둑판 인식부(302), 바둑판 교차점 인식부(304), 움직임 검출부(306) 및 착수점 인식부(308)에서 출력하는 정보들을 저장하는 기능을 한다.
도 4는 본 발명의 바람직한 실시예에 따른 저장부의 필드 구성을 도시한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 저장부에는 바둑판 좌표 필드(400), 교차점 좌표 필드(402), 착수점 좌표 필드(404) 및 기준 영상 필드(406)가 포함될 수 있다.
바둑판 좌표 필드(400)에는 상기 바둑판 인식부(302)가 출력하는 바둑판의 영역의 좌표값이 저장되며, 예를 들어, 4개의 바둑판 끝점의 좌표가 저장될 수 있을 것이다. 바둑판 좌표 필드에 저장된 정보는 교차점을 인식하거나 착수점을 인식할 경우 마스킹 또는 차영상 생성을 수행하는 경계 영역 정보로 활용된다.
교차점 좌표 필드(402)에는 상기 바둑판 교차점 인식부(304)가 출력하는 바둑판 교차점들의 좌표값들이 저장된다.
착수점 좌표 필드(404)에는 상기 착수점 인식부(308)가 출력하는 착수점들의 좌표가 저장된다. 착수점 좌표 필드는 대국 중에 새로운 수가 놓여질 때마다 갱신되며, 대국이 종료된 후에 착수점 필드에 저장된 데이터들은 기보 데이터로 사용된다.
기준 영상 필드(406)에는 상기 기준 영상들이 저장된다. 착수점 좌표 필드와 마찬가지로 기준 영상 필드는 새로운 수가 놓여질 때마다 갱신된다. 기준 영상은 영상의 차신호를 구하는 경우 이외에 작성된 기보 데이터가 올바른지 여부를 판단할 때에도 사용될 수 있다.
도 5는 본 발명의 바람직한 실시예에 따른 기보 데이터 생성 방법의 전체적인 흐름을 도시한 순서도이다.
도 5에 도시된 바와 같이, 우선 카메라로부터 수신되는 영상 신호를 수신한다(S500). 카메라가 디지털 카메라가 아닌 경우, 수신한 영상 신호를 디지털 신호로 변환하는 과정이 필요하다.
영상 신호를 수신하면, 수신한 영상 정보를 평활화하는 과정을 수행한다(S502). 전술한 바와 같이, 카메라로부터 수신한 영상 신호는 피쉬 아이(Fish Eye) 현상이 발생하는 경우가 많으므로 이와 같은 현상을 제거하는 것이다.
영상 정보를 평활화한 후에는 수신한 영상 중에서 바둑판에 해당하는 영역을 인식한다(S504). 자동으로 바둑판을 인식하는 경우, 같은 색상이 계속 연속되는 영역을 바둑판 영역으로 인식하며, 색상이 바뀌는 영역을 바둑판의 경계 영역으로 판단한다. 본 발명의 또 다른 실시예에 따르면, 바둑판 영역은 수동으로도 인식할 수 있으며, 이 경우 운용자가 디스플레이되는 영상에 마우스 등을 클릭하여 바둑판의경계 좌표를 설정할 수 있다.
바둑판 영역을 인식한 후, 바둑판에 그어진 선들의 교차점들을 인식한다(S506). 전술한 바와 같이, 직각으로 꺽인 형태의 마스크를 이용하여 바둑판의 교차점을 인식할 수 있으며, 단면 프로필의 에지 정보를 이용하여 교차점을 인식할 수도 있다. 인식한 교차점 정보는 착수점 기준 좌표로 사용된다.
바둑판의 교차점을 인식한 후에는, 대국 중 바둑판 위에서 발생하는 움직임을 검출한다(S508). 움직임을 검출하기 위해, 기준 영상과 현재 수신되는 영상과의 차신호가 존재하는지 여부를 판단한다. 대국자가 바둑돌을 놓기 위해 손을 바둑판 위로 가져가거나 바둑돌을 일정한 점에 착수할 때에는 차신호가 존재하며, 아무런 움직임이 없을 때에는 차신호가 0이 된다.
움직임이 검출된 경우, 검출된 움직임이 단순히 착수를 위한 대국자의 손의 움직임인지 또는 새로운 바둑돌이 착수되어 형성된 움직임인지를 판단하고, 새로운 바둑돌이 착수되어있다고 판단되는 경우, 새로운 착수점의 좌표를 인식한다(S510). 기준 영상에서 새로운 바둑돌이 착수된 상태의 영상을 빼면 새로이 착수된 바둑돌만 존재하는 차 영성이 생성되며, 상기 차 영상을 통해 새로운 착수점의 좌표를 인식한다.
상기 움직임을 검출하여 착수점을 인식하는 과정은 대국이 종료될 때까지 계속 반복되며, 대국이 종료되면 상기 인식한 착수점들의 좌표를 토대로 기보 데이터를 생성한다(S512).
생성된 기보 데이터는 유선 네트워크 또는 무선 통신망 등을 통해 기보 정보를 제공하는 서버로 전송된다(S514).
도 6a 및 도6b는 본 발명의 바람직한 실시예에 따른 바둑판 영역을 인식하는 방법의 흐름을 도시한 순서도이고, 도 11a, 도 11b 및 도11c는 바둑판 영역을 인식하는 과정을 사진으로 설명한 예시도이다.
이하에서는 도 6a, 도 6b, 도11a, 도 11b 및 도 11c를 참조하여 바둑판 영역을 인식하는 과정을 상세히 설명한다.
도 6a에 도시된 바와 같이, 우선 카메라로부터 수신되는 영상 정보를 필터링한다(S600). 도 11a는 카메라로부터 수신되는 영상을 도시한 것으로서, 도11a에 도시된 바와 같이, 카메라에 잡힌 바둑판은 여러 개의 선이 그어져있다. 이와 같이 바둑판에 그어진 선들은 바둑판 영역을 정확히 인식하는데 방해가 되므로 영상을 전체적으로 흐리게 해주는 필터링을 수행하는 것이다.
본 발명의 일 실시예에 따르면, 스무딩(Smoothing Filter) 필터를 이용해 영상을 흐리게 할 수 있으며, 본 발명의 또 다른 실시예에 따르면 가우시안 블러(Gaussian Blur)를 이용하여 영상을 흐리게 할 수도 있다.
영상을 필터링한 후, 영상의 중심점을 기준으로 임의의 개수(n)의 점을 찍는다(S602). 도 11b는 영상의 중심을 기준으로 랜덤하게 떨어진 거리에 임임의 점을 선택하는 일례를 도시한 것이다. 영상에 선택되는 임의의 개수의 점은 바둑판 위에 선택되는 것이 바람직하며, 이를 위해 점을 선택할 때 영상의 중심을 기준으로 약2/3정도 영역 내에서 점이 선택되도록 조절하는 것이 바람직하다. 또한, 선택되는 점의 개수가 반드시 복수이어야 하는 것은 아니며 하나의 점만 선택하여도 무방하다. 단 복수의 점을 선택할 경우, 바둑판의 색상 분포를 여러 번에 걸쳐 조사할 수 있으므로 인식의 정확성을 위해 복수의 점을 선택하도록 하는 것이 바람직하다.
임의의 개수의 점을 선택한 후에는 그 중 어느 한 점의 위치를 기준으로 오른쪽 방향으로 색상 변화를 조사한다(S606).
색상 변화는 영상 정보를 미분하여 조사할 수 있으며, 색상 변화도가 임계치 이하의 차이를 보이면(S606), 바둑판의 속한 픽셀로 판단하며, 오른쪽 방향으로 다음 픽셀의 색상 변화를 조사하는 단계로 회귀한다(S604).
색상 변화를 조사하여 색상 변화도가 임계치 이하의 차이를 보이지 않는 경우에는 바둑판 영역 외의 픽셀로 판단하고, 해당 X좌표 값을 출력한다(S608).
바둑판 영역의 오른쪽 X좌표 값을 출력한 후, 같은 점에 대해 왼쪽 방향으로 색상 변화를 조사한다(S610).
왼쪽 방향으로 색상 변화를 조사하여 색상 변화도가 임계치 이하일 경우(S612) 해당 픽셀은 바둑판 영역으로 판단하며, 왼쪽 방향으로 다음 픽셀의 색상 변화를 조사하는 단계로 회귀한다(S610).
색상 분포를 조사하여 픽셀이 임계치 이하의 차이를 보이지 않는 경우에는 바둑판 영역의 외의 픽셀로 판단하고, 해당 X좌표 값을 출력한다(S614).
바둑판 영역의 왼쪽 X좌표 값을 출력한 후, 같은 점에 대해 위쪽 방향으로 색상 변화를 조사한다(S616).
위쪽 방향으로 색상 변화를 조사하여 색상 변화도가 임계치 이하일 경우(S618) 해당 픽셀은 바둑판 영역으로 판단하며, 위쪽 방향으로 다음 픽셀의 색상 변화를 조사하는 단계로 회귀한다(S616).
색상 변화를 조사하여 색상 변화도가 임계치 이하의 차이를 보이지 않는 경우에는 바둑판 영역의 외의 픽셀로 판단하고, 해당 Y좌표 값을 출력한다(S620).
바둑판 영역의 위쪽 Y좌표 값을 출력한 후, 같은 점에 대해 아래쪽 방향으로 색상 변화를 조사한다(S622).
아랫쪽 방향으로 색상 변화를 조사하여 픽셀이 임계치 이하일 경우(S624) 해당 픽셀은 바둑판 영역으로 판단하며, 아랫쪽 방향으로 다음 픽셀의 색상 변화를 조사하는 단계로 회귀한다(S622).
색상 분포를 조사하여 픽셀이 임계치 이하의 차이를 보이지 않는 경우에는 바둑판 영역의 외의 픽셀로 판단하고, 해당 Y좌표 값을 출력한다(S626).
상기 단계 S604 내지 S626을 통해 임의의 한 점을 기준으로 수직 및 수평 방향으로 색상 변화를 조사하면 바둑판 영역의 양끝 X좌표 및 Y좌표를 파악할 수 있다.
임의의 한 점을 기준으로 X좌표 및 Y좌표를 출력한 후에는 상기 선택한 임의의 개수(n)의 점에 대해 모두 X좌표 및 Y좌표를 출력하였는지를 판단한다(S628). 선택한 모든 점을 기준으로 좌표를 출력하지 않은 경우, 좌표를 출력하지 않은 다음 점을 선택하고(S630), 해당 점에 대해 오른쪽으로 색상 분포를 조사하는 단계로 회귀한다(S604).
도 11c는 복수의 점에 대해 수직 및 수평 방향으로 바둑판 영역을 인식하는 일례를 도시한 것이다. 도 11c에 도시된 바와 같이, 각 점을 기준으로 수직 및 수평방향으로 영상의 색상 변화를 조사하여 바둑판 영역을 인식한다.
정확성을 위해, 복수의 점을 기준으로 판단한 바둑판 영역 좌표값들의 평균을 계산하고(S632), 평균값을 최종 좌표값으로 출력한다(S634).
도 7은 본 발명의 또 다른 실시예에 따른 바둑판 영역을 인식하는 과정의 상세 흐름을 나타낸 순서도이다.
도 6a 및 도6b는 카메라의 영상을 이용하여 자동으로 바둑판 영역을 인식하는 과정을 도시한 것이며, 도 7은 운용자의 수동 입력에 의해 바둑판 영역을 인식하는 과정을 도시한 것이다. 바둑판 영역 정보는 이후에 구하는 교차점 및 착수점을 인식하는데 기준이 되는 정보이므로, 바둑판 영역이 잘못 설정되면 이후의 교차점 및 착수점 역시 잘못 설정될 수밖에 없다. 따라서, 정확성을 기하기 위해, 본 발명의 또 다른 실시예에 따르면, 수동 입력에 의해 바둑판 영역을 설정할 수도 있다.
도 7에 도시된 바와 같이, 수동으로 바둑판 영역을 인식할 경우 운용자 모니터에 카메라를 통해 획득한 영상이 디스플레이된다(S700).
운용자는 마우스 또는 터치스크린 등을 이용하여 디스플레이되는 영상에서 바둑판의 끝점을 선택하고, 영상 처리 장치는 해당 선택 정보를 수신한다(S702).
선택 정보를 수신한 영상 처리 장치는 선택한 점의 좌표값을 계산하고(S704), 해당 좌표값을 출력하여 바둑판 영역을 설정한다(S706).
도 8은 본 발명의 바람직한 실시예에 따른 교차점을 인식하는 과정의 상세한 흐름을 도시한 순서도이며, 도 12a 및 도 12b는 교차점을 인식하는 과정을 사진으로 나타낸 예시도이고 도 12c는 교차점 인식에 이용되는 네 개의 마스크를 도시한 것이다.
이하에서는 도 8, 도12a, 도12b 및 도12c를 참조하여 교차점을 인식하는 과정을 상세히 설명하기로 한다.
도 8은 마스킹을 통해 교차점을 인식하는 과정을 설명한 것이며, 도 8에 도시된 바와 같이, 우선 상기 인식한 바둑판 영역을 마스킹을 수행하는 경계값으로 설정한다(S800). 도 12a는 바둑판 영역의 최외곽점을 찾아 마스킹을 수행하는 경계값으로 설정하는 일례를 도시한 것이다.
마스킹은 도12c에 도시된 (a),(b),(c),(d)의 직각으로 꺽인 형태의 마스크를 이용하여 수행한다.
우선, 도 8에 도시된 바와 같이, 도12c의 (a) 형태의 마스크에 대해 마스킹을 수행한다. 도 12c에 도시된 (a),(b),(c),(d) 마스크에 대해 마스킹을 수행하는 순서의 변경이 본 발명의 범주에 속한다는 것은 당업자에게 있어 자명할 것이다.
마스킹은 상기 (a) 마스크를 픽셀 단위로 이동하면서 이루어지며, 크로스 상관(Cross Correlation) 또는 상관 계수(Correlation Coefficient )을 계산하여 매칭 여부를 확인할 수 있다.
매칭 결과, 상관값이 임계치 이상인 부분들을 교차점으로 인식하며, 그렇지 않은 부분은 교차점이 아닌 것으로 인식한다(S804). 임계치는 환경에 따라 임의로 설정될 수 있을 것이다.
도12c (a) 마스크에 대해 매칭을 수행할 경우, 바둑판의 교차점 중 가장 오른쪽에 있는 교차점과, 가장 아래쪽에 있는 교차점은 인식할 수 있다. 그러나, (a) 마스크를 통해 인식할 수 없는 교차점은 다른 마스크들을 이용하여 인식할 수 있다.
도 12c의 (a) 마스크에 대해 마스킹을 수행한 후에는 도12c의 (b) 마스크에 대해 마스킹을 수행한다(S806).
(a) 마스크의 경우와 마찬가지로 (b) 마스크도 마스크를 픽셀 단위로 이동하면서 마스킹을 수행하며, 크로스 상관(Cross Correlation) 또는 상관 계수(Correlation Coefficient )을 계산하여 매칭 여부를 확인한다.
상관값이 미리 설정된 임계치 이상일 경우에는 교차점으로 인식하며, 그렇지 않은 경우에는 교차점이 아닌 것으로 인식한다(S808).
(b) 마스크를 이용하여 교차점을 인식할 경우, 바둑판의 가장 왼쪽에 존재하는 교차점들과 바둑판의 가장 아래쪽에 존재하는 교차점들은 인식할 수 없으며, 나머지 교차점은 모두 인식할 수 있다.
(c) 마스크 및 (d) 마스크에 대해서도 위에서 설명한 마스크들과 같은 과정이 수행(단계 S810 ~ 단계 S816)되며 교차점을 인식하는 방식은 위에서 설명한 것과 동일하므로 이에 대한 설명은 생략하기로 한다.
(c) 마스크를 이용하여 교차점을 인식할 경우, 바둑판의 가장 위쪽에 있는 교차점과 가장 오른쪽에 있는 교차점을 인식할 수 없으며, (d) 마스크를 사용할 경우에는 바둑판의 가장 위쪽에 있는 교차점과 가장 왼쪽에 있는 교차점을 인식할 수 없으며, 나머지 교차점들은 인식할 수 있다.
상기한 바와 같이, (a), (b), (c), (d)의 마스크를 사용할 경우, 교차점들이 중복해서 인식된다. 바둑판의 끝쪽에 존재하지 않고 내부에 존재하는 교차점들은 네 번에 걸쳐 인식이 되며, 바둑판의 끝쪽에 존재하며 최외곽에 있는 교차점들은 한 번만 인식되고, 바둑판의 끝쪽에 존재하며 최외곽에 있지 않은 교차점들은 두 번 인식된다.
따라서, 상기 4개의 마스크에 대해 마스킹을 수행한 후에는 인식한 교차점들이 내부에 존재하는 교차점인지, 바둑판의 끝쪽이면서 최외곽에 존재하는 교차점인지 또는 바둑판의 끝쪽이면서 최외곽이 아닌 곳에 존재하는 교차점인지 여부를 판단한다. 교차점의 위치를 파악한 후에는 중복되어 인식되는 교차점들에 대해서는 그 좌표값의 평균값을 계산한다(S818). 예를 들어, 네번에 걸쳐 인식되는 내부의 교차점에 대해서는 4번에 걸쳐 인식된 각 좌표값들의 평균값을 구하는 것이다. 이와 같이 평균값을 통해 교차점을 인식할 경우, 보다 정확하게 교차점을 인식할 수 있다. 바둑판의 최외곽 교차점은 단 한번만 인식되므로 평균값을 계산하지 않는다.
상기 평균값 계산을 통해 바둑판의 교차점들에 대한 좌표 정보를 출력하고, 출력한 교차점 좌표가 정확한지 여부를 판단하기 위해, 인식한 최외곽 교차점 4개를 이용하여 교차점 정보를 검증한다(S820). 교차점들은 같은 간격으로 존재하므로, 최외각의 교차점 4개를 각각 수직 및 수평 방향으로 잇는 4개의 선분을 등간격으로 19등분한 교차점과 인식된 교차점을 비교하여 검증한다.
도 9는 본 발명의 또 다른 실시예에 따른 교차점을 인식하는 과정을 도시한 순서도이다.
도 9에 도시된 바와 같이, 우선 인식한 바둑판 영역의 단면 프로필 정보를 파악한다(S900).
단면 프로필 정보를 파악한 후, 수평 방향으로 단면 프로필 정보를 미분한다(S902).
단면 프로필 정보를 수평 방향으로 계속해서 미분하면, 수직 방향으로 그어진 선이 있을 경우에 미분값이 달라져서, 수직 방향으로 그어진 선들의 위치를 검출할 수 있다(S904).
바둑판 영역의 끝까지 미분하여 수직 방향의 선 정보를 모두 검출한 후, 수직 방향으로 단면 프로필 정보를 미분한다(S906).
수직 방향으로 단면 프로필 정보를 미분하면, 수평 방향으로 그어진 선이 있을 경우에 미분값이 달라져서, 수평 방향으로 그어진 선들의 위치를 검출할 수 있다(S908).
상기한 방법에 의해 수평 방향으로 존재하는 선들 및 수직 방향으로 존재하는 선들에 대한 정보를 검출할 경우, 각 선은 하나의 픽셀을 점유하여야 하나 여러개의 픽셀을 점유하는 에러가 발생할 수 있다. 이를 보정하기 위해 씨닝(Thing) 알고리즘을 적용하여 각 선이 하나의 픽셀만을 점유하도록 한다.
검출한 수평 및 수직 방향 선들의 위치 정보를 이용하면 모든 교차점들의 위치 좌표를 출력할 수 있다(S912).
도 10은 본 발명의 바람직한 실시예에 따른 움직임을 검출하여 새로운 착수점을 인식하는 과정을 도시한 순서도이다.
도 10에 도시된 바와 같이, 우선 대국이 시작되기 전 바둑돌이 놓이지 않은 상태의 영상을 기준영상으로 등록한다(S1000). 도 13a는 대국이 시작되기 전 영상을 나타낸 것으로 기준 영상은 도13a와 같은 영상이 될 수 있을 것이다.
기준 영상이 등록된 후, 상기 기준 영상과 현재 영상 신호의 차신호를 계산한다(S1002).
차신호를 계산하여, 차신호가 존재하는지 즉 움직임이 검출되는지 여부를 판단한다(S1004). 차신호가 존재하지 않으면, 처음 상태에서 변화가 없는 것이므로, 현재 영상과 기준 영상과의 차신호를 계산하는 단계로 회귀한다(S1002).
차신호가 존재하는 경우, 차신호의 크기가 바둑돌의 배수배로 수렴하는지 여부를 판단한다(S1006).
차신호가 존재한다는 것은 움직임이 검출된다는 것을 의미하며, 이러한 움직임은 바둑돌을 착수하기 위한 대국자의 움직임일 수도 있고, 착수를 하여 바둑돌이 놓여진 상태에 의해 검출되는 움직임일 수도 있다. 새로운 착수점을 인식하기 위해서는 대국자에 의한 움직임은 무시하고 새로운 착수가 이루어져 바둑돌이 놓여진 상태의 착수 영상이 필요하다.
도 13b는 대국자에 의한 움직임이 검출되는 일례를 도시한 것이고, 도 13c는 착수가 이루어진 후의 착수 영상을 나타낸 것이다. 즉, 본 발명에서는 움직임이 검출될 경우, 도 13b와 같은 영상을 무시하고 도 13c와 같은 영상을 선정할 필요가 있는 것이다.
따라서, 본 발명의 바람직한 실시예에 따르면, 착수를 위한 움직임과 착수가이루어진 상태를 구별하기 위해, 차신호가 바둑돌 크기의 배수배로 수렴하는지 여부를 판단하는 것이다.
도 14a는 초기 상태에서 대국자의 움직임에 의한 영상과 기준 영상과의 차영상을 나타낸 일례를 도시한 도면이고, 도 14b는 대국자의 움직임 이후 착수가 이루어진 상태의 영상과 기준 영상과의 차영상을 나타낸 일례를 도시한 도면이다.
도 14a에 도시된 바와 같이, 대국자의 움직임에 의한 영상과 기준 영상과의 차영상을 구하면 착수를 하기 위한 대국자의 손만이 차영상에 존재한다. 또한, 도 14b에 도시된 바와 같이, 착수가 이루어진 후의 영상과 기준영상과의 차영상을 구하면 새로이 착수된 바둑돌만이 차영상에 존재한다.
따라서, 대국자의 움직임에 의한 차영상을 무시하고 착수 화면만을 선택하여 차영상을 구하면 새로이 착수된 바둑돌의 위치를 판단할 수 있다.
도 15는 차신호의 변화 크기를 나타낸 도면이다.
도 15에 도시된 바와 같이, 움직임이 없는 5 프레임까지는 기준 영상과 현재 입력되는 영상이 동일하므로 차신호의 크기가 0이다.
도 15에서, 5프레임부터 13프레임까지는 대국자의 움직임이 있는 영상과 기준 영상과의 차신호를 나타낸 것이다. 도 15에 도시된 바와 같이, 대국자의 움직임에 따라 5프레임부터 13프레임까지의 차신호의 크기는 불규칙적으로 존재한다.
도 15에서, 13프레임부터 17프레임은 착수가 이루어진 후의 영상과 기준 영상과의 차신호를 나타낸 것이다. 도 15에 도시된 바와 같이, 착수가 이루어진 후의 영상은 바둑돌이 놓인 상태가 일정시간 동안 계속되므로 일정시간 동안 차신호의크기가 동일하다는 것을 확인할 수 있다.
움직임이 검출되는 5프레임부터 17프레임사이동안, 대국자의 움직임에 의한 차신호인지 착수 후의 영상과의 차신호인지를 판단하기 위해 차신호의 크기가 바둑돌의 배수배로 수렴하는지를 판단하는 작업이 수행된다.
도 15에 도시된 바와 같이, 대국자의 움직임에 의한 차신호는 착수 후 영상과의 차신호보다 값이 크다. 따라서, 5프레임부터 13프레임까지의 차신호는 착수 후 영상에 의한 차신호라고 판단하지 않으며, 13프레임부터 17프레임까지의 차신호를 착수 후 영상에 의한 차신호라고 판단한다.
차신호의 크기가 바둑돌 크기의 배수배로 수렴하지 않으면, 다시 기준 영상과 현재 영상과의 차신호를 계산하는 단계로 회귀한다(S1002).
차신호의 크기가 바둑돌 크기의 배수배로 수렴하면, 차영상을 이용하여 새로운 착수점의 위치를 인식한다(S1008). 즉, 도 14b와 같은 차영상을 이용하여 착수점의 위치를 인식하는 것이다.
착수점의 위치가 인식되면, 인식된 착수점과 오차가 가장 적은 교차점을 계산한다(S1010).
인식된 착수점과 오차가 가장 적은 교차점을 찾아내면, 그 교차점의 위치를 새로운 착수점의 위치로 판단한다(S1012).
착수점의 위치를 판단한 후, 현재 새로운 착수점이 놓인 영상을 i번째 기준 영상으로 등록하고, 판단된 착수점의 위치를 i번째 착수점의 위치로 하여 저장부에 저장한다(S1014). 인식한 착수점이 대국이 시작된 후 첫 번째 착수점이면 제1 착수점 및 제1 기준영상으로 인식한 착수점의 위치 및 도 13c와 같은 영상이 저장되는 것이다.
착수점 및 기준 영상을 저장한 후, 착수가 이루어진 횟수를 나타내는 i를 하나 증가시키고(S1016), 대국이 종료되었는지 여부를 판단한다(S1018).
대국이 종료되지 않은 경우, 갱신된 기준 영상과 현재 영상과의 차신호를 계산하는 단계로 회귀한다(S1002).
상기에서는 첫 번째 착수가 이루어지는 경우를 예로 하여 설명하였으나, 대국의 중반전에서 착수가 이루어지는 경우를 예로 하여 착수점 인식 방법울 다시 설명하기로 한다.
도 16a는 대국의 중반에 기준 영상으로 등록된 영상의 일례를 나타낸 것이다. 도 16b는 도 16a와 같은 기준 영상이 등록된 후, 대국자의 움직임이 검출되는 화면의 일례를 나타낸 것이다.
도 16b와 같은 화면이 카메라로부터 수신될 경우, 차신호를 계산하여 움직임이 있다는 것을 검출하고, 차신호의 크기가 바둑돌 크기의 배수배로 수렴하는지 여부를 판단한다.
도 17a는 도 16a와 도 16b의 차영상을 나타낸 것이다. 도 17a에 도시된 바와 같이, 차영상에는 대국자의 손이 나타나며, 대국자의 손에 의한 차신호는 바둑돌의 크기보다 높게 나타나므로 바둑돌 크기의 배수배로 수렴하지 않을 것이다.
도 16c는 도 16a와 같은 기준 영상이 등록된 후 착수가 이루어진 후의 영상의 일례를 나타낸 것이고, 도 17b는 도 16a와 도 16c의 차영상을 나타낸 것이다.
도 17b에 도시된 바와 같이, 도 16a와 도 16c의 차영상을 구하면, 새로 착수된 바둑돌의 영상만이 나타나며, 차신호의 크기는 바둑돌의 배수배로 수렴한다.
이상과 같은 과정이 대국이 종료될 때가지 반복되면, 각 착수점들의 위치 좌표가 포함된 기보 데이터가 생성될 수 있다. 또한, 저장된 각각의 기준 영상들은 기보 데이터가 올바른지 여부를 판단하는 자료로 활용될 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 바둑 기보 생성 방법 및 장치에 따르면, 일반적인 바둑판에 기계적인 장치를 부가하지 않고 바둑 기보를 생성할 수 있으므로, 종래의 디지털 바둑판에서와 같이 바둑 전문 기사들이 대국을 기피하는 문제점을 해결할 수 있다.
또한, 본 발명에 따르면, 방대한 양의 디지털 기보를 빠른 시간 안에 확보할 수 있으므로 매년 행해지는 많은 기전의 예선전부터 결승전까지의 모든 대국의 기보를 손쉽게 확보할 수 있는 장점이 있으며, 이러한 기보는 다양한 형태의 온라인 서비스에 활용될 수 있을 것이다.
Claims (18)
- 바둑 기보를 생성하는 방법에 있어서,촬영되는 대국 영상으로부터 바둑판의 영역을 검출하는 단계(a);상기 바둑판 영역에 존재하는 교차점들의 위치를 검출하는 단계(b);대국이 종료될 때까지, 새로운 착수점이 놓여지는지 여부를 감지하여 새로 놓여진 착수점들의 위치 정보를 출력하는 단계(c)를 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제1항에 있어서,상기 단계(a)는,상기 촬영되는 대국 영상 내에 적어도 하나의 점을 선택하는 단계;상기 선택한 적어도 하나의 점을 기준으로 수평 및 수직 방향으로 색상 변화를 조사하는 단계;상기 수평 및 수직 방향으로 색상 변화를 조사 결과, 색상의 변화가 미리 설정된 임계치 이하인 부분을 바둑판 영역으로 인식하는 단계;상기 선택한 적어도 하나의 점을 기준으로 인식한 바둑판 영역의 평균을 바둑판 영역 정보로 출력하는 단계를 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제1항에 있어서,상기 단계(a)의 바둑판 영역의 검출은 상기 촬영되는 대국 영상에서 운용자가 마우스 또는 터치스크린을 이용해 입력함으로써 이루어지는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제1항에 있어서,상기 단계(b)는,직각으로 꺽인 형태의 네 개의 마스크를 이용하여 상기 검출한 바둑판 영역에 대해 매칭을 수행하는 단계;상기 매칭 결과 미리 설정한 임계치 이상인 부분을 교차점으로 인식하는 단계;중복되어 인식되는 교차점들에 대해 평균을 계산하여, 그 평균값을 교차점으로 판단하는 단계를 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제1항에 있어서,상기 단계(b)는,상기 검출한 바둑판 영역의 단면 프로필 정보를 파악하는 단계;상기 단면 프로필 정보를 수평 방향으로 미분하여 수직으로 존재하는 바둑판선들의 위치 정보를 판단하는 단계;상기 단면 프로필 정보를 수직 방향으로 미분하여 수평으로 존재하는 바둑판 선들의 위치 정보를 판단하는 단계;상기 수평 방향 선들 및 수직 방향 선들의 위치 정보를 이용하여 교차점들의 위치 좌표를 출력하는 단계를 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제1항에 있어서,상기 단계(c)는,상기 촬영되는 대국 영상에 변화가 있는지 여부를 감지하는 단계;변화가 있을 경우, 대국자의 움직임에 의한 변화인지 새로운 착수점에 의한 변화인지 여부를 판단하는 단계;새로운 착수점에 의한 변화일 경우, 새로운 착수점의 위치 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제2항에 있어서,상기 촬영되는 대국 영상을 흐리게 필터링하는 단계를 더 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제5항에 있어서,상기 인식한 바둑판상의 선들이 하나의 픽셀로 인식되도록 씨닝(Thining) 알고리즘을 수행하는 단계를 더 포함하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제6항에 있어서,상기 대국 영상에 변화가 있는 지 여부는 초기 영상 또는 이전 착수점이 놓여져 있는 영상을 기준 영상으로 하여 기준 영상과 현재 영상과의 차신호가 존재하는지 여부를 통해 검출하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제9항에 있어서,상기 영상의 변화가 새로운 착수점에 의한 것인지는 상기 기준 영상과 현재 영상과의 차신호가 바둑돌 크기의 배수배로 수렴하는지를 계산하여 판단하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 제10항에 있어서,새로운 착수점의 위치 정보는 상기 기준 영상과 현재 영상과의 차영상에 나타나는 바둑돌의 위치를 계산하여 출력하는 것을 특징으로 하는 바둑 기보 생성 방법.
- 바둑 기보 생성 장치에 있어서,촬영되는 대국 영상으로부터 바둑판의 영역을 검출하는 바둑판 인식부;상기 바둑판 영역에 존재하는 교차점들의 위치를 검출하는 바둑판 교차점 인식부; 및대국이 종료될 때까지, 새로운 착수점이 놓여지는지 여부를 감지하여 새로 놓여진 착수점들의 위치 정보를 출력하는 착수점 인식부 및;상기 검출한 바둑판 영역, 바둑판 교차점 위치 및 착수점 위치를 저장하는 저장부를 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
- 제12항에 있어서,상기 바둑판 인식부는,상기 촬영되는 대국 영상 내에 적어도 하나의 점을 선택하는 수단;상기 선택한 적어도 하나의 점에 대해 수평 및 수직 방향으로 색상 변화를조사하는 수단;상기 수평 및 수직 방향으로 색상 변화를 조사 결과, 색상의 변화가 미리 설정된 임계치 이하인 부분을 바둑판 영역으로 판단하는 수단을 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
- 제10항에 있어서,상기 바둑판 인식부는,운용자가 마우스 또는 터치 스크린을 통해 바둑판 영역을 입력하는 정보를 수신하는 수단; 및상기 운용자의 입력 정보를 이용하여 바둑판 영역의 좌표를 출력하는 수단을 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
- 제12항에 있어서,상기 바둑판 교차점 인식부는,직각으로 꺽인 형태의 네 개의 마스크를 이용하여 상기 검출한 바둑판 영역에 대해 매칭을 수행하는 수단;상기 매칭 결과가 미리 설정한 임계치 이상인 부분을 교차점으로 인식하는 수단; 및중복되어 인식되는 교차점들에 대해 평균을 계산하여, 그 평균값을 교차점으로 판단하는 수단을 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
- 제12항에 있어서,상기 바둑판 교차점 인식부는,상기 검출한 바둑판 영역의 단면 프로필 정보를 파악하는 수단;상기 단면 프로필 정보를 수평 방향으로 미분하여 수직으로 존재하는 바둑판선들의 위치 정보를 판단하는 수단;상기 단면 프로필 정보를 수직 방향으로 미분하여 수평으로 존재하는 바둑판 선들의 위치 정보를 판단하는 수단; 및상기 수평 방향 선들 및 수직 방향 선들의 위치 정보를 이용하여 교차점들의 위치 좌표를 출력하는 수단을 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
- 제12항에 있어서,상기 착수점 인식부는,초기 영상 또는 이전 착수점이 놓여져 있는 영상을 기준 영상으로 하여 기준 영상과 현재 영상과의 차신호를 계산하는 수단;상기 차신호가 존재할 경우, 상기 차신호의 크기가 바둑돌의 배수배로 수렴하는지 여부를 판단하는 수단; 및상기 차신호의 크기가 바둑돌의 배수배로 수렴할 경우, 상기 현재 영상과 상기 기준 영상의 차영상을 이용하여 새로운 착수점의 위치 좌표를 출력하는 수단을 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
- 제13항에 있어서,상기 촬영되는 대국 영상을 흐리게 하는 필터 수단을 더 포함하는 것을 특징으로 하는 바둑 기보 생성 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0020095A KR100472102B1 (ko) | 2002-04-12 | 2002-04-12 | 바둑 기보 생성 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0020095A KR100472102B1 (ko) | 2002-04-12 | 2002-04-12 | 바둑 기보 생성 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030081732A true KR20030081732A (ko) | 2003-10-22 |
KR100472102B1 KR100472102B1 (ko) | 2005-03-08 |
Family
ID=32378820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0020095A KR100472102B1 (ko) | 2002-04-12 | 2002-04-12 | 바둑 기보 생성 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100472102B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100788017B1 (ko) * | 2006-07-12 | 2007-12-21 | 박병호 | 음표 바둑 |
KR101599810B1 (ko) * | 2015-01-28 | 2016-03-04 | 한국기술교육대학교 산학협력단 | 바둑 복기 시스템 |
KR101627653B1 (ko) * | 2015-03-20 | 2016-06-08 | 인천대학교 산학협력단 | 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법 |
CN113117341A (zh) * | 2021-05-18 | 2021-07-16 | 网易(杭州)网络有限公司 | 图片处理方法及装置、计算机可读存储介质、电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101635804B1 (ko) | 2015-03-20 | 2016-07-04 | 인천대학교 산학협력단 | 원형 허프 변환 기반의 자동 바둑 기보 시스템 및 그 방법 |
KR101835830B1 (ko) * | 2016-03-29 | 2018-03-08 | 주식회사 에스지데이타 | 자동 기보 작성 장치 및 시스템 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0211180A (ja) * | 1988-06-29 | 1990-01-16 | Atsuo Shibata | 将棋・チェスの対局情報読込み装置 |
US5392130A (en) * | 1993-11-24 | 1995-02-21 | Xerox Corporation | Analyzing an image showing a row/column representation |
JPH09108403A (ja) * | 1995-10-17 | 1997-04-28 | Sanyo Electric Co Ltd | 棋譜記録装置 |
JPH09285594A (ja) * | 1996-04-23 | 1997-11-04 | Sanyo Electric Co Ltd | 囲碁のステイタス自動認識装置および棋譜記録装置 |
JPH1015150A (ja) * | 1996-06-28 | 1998-01-20 | Sanyo Electric Co Ltd | 将棋盤上の駒有無認識装置 |
-
2002
- 2002-04-12 KR KR10-2002-0020095A patent/KR100472102B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100788017B1 (ko) * | 2006-07-12 | 2007-12-21 | 박병호 | 음표 바둑 |
KR101599810B1 (ko) * | 2015-01-28 | 2016-03-04 | 한국기술교육대학교 산학협력단 | 바둑 복기 시스템 |
KR101627653B1 (ko) * | 2015-03-20 | 2016-06-08 | 인천대학교 산학협력단 | 란삭 알고리즘 기반의 자동 바둑 기보 시스템 및 그 방법 |
CN113117341A (zh) * | 2021-05-18 | 2021-07-16 | 网易(杭州)网络有限公司 | 图片处理方法及装置、计算机可读存储介质、电子设备 |
CN113117341B (zh) * | 2021-05-18 | 2024-02-02 | 网易(杭州)网络有限公司 | 图片处理方法及装置、计算机可读存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
KR100472102B1 (ko) | 2005-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110036258B (zh) | 信息处理装置和信息处理方法 | |
JP6009502B2 (ja) | 情報処理装置および情報処理方法 | |
US9392248B2 (en) | Dynamic POV composite 3D video system | |
EP2642451B1 (en) | Apparatus and method of augmented reality interaction | |
US9628755B2 (en) | Automatically tracking user movement in a video chat application | |
CN107507243A (zh) | 一种摄像机参数调整方法、导播摄像机及系统 | |
US9268408B2 (en) | Operating area determination method and system | |
CN104243951A (zh) | 图像处理设备、图像处理系统以及图像处理方法 | |
JP7023696B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US8934667B2 (en) | System and method for confidence-based marker adjustment | |
JP7416782B2 (ja) | 画像処理方法、電子機器、記憶媒体及びコンピュータプログラム | |
EP2669868A1 (en) | Apparatus and method for augmenting a video image | |
WO2017056757A1 (ja) | 撮像装置および撮像方法 | |
US20120219179A1 (en) | Computer-readable storage medium, image processing apparatus, image processing system, and image processing method | |
JP2006072668A (ja) | 画像処理装置、ゲーム装置および画像処理方法 | |
EP2662829A1 (en) | System and method of book leaf tracking | |
WO2019215820A1 (ja) | 情報処理装置および被写体情報取得方法 | |
KR100472102B1 (ko) | 바둑 기보 생성 방법 및 장치 | |
JP2004062393A (ja) | 注目判定方法及び注目判定装置 | |
TWI420406B (zh) | 未控制環境下之立體視覺骰點辨識系統及方法 | |
CN105858377A (zh) | 电梯安全控制系统 | |
JP2019185178A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5651659B2 (ja) | 物体検出システムおよびプログラム | |
WO2019215821A1 (ja) | 情報処理装置および被写体情報取得方法 | |
CN113542679B (zh) | 一种图像播放方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090205 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |