치즈케이크조

cdc wiki
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 영상 처리를 이용한 지능형 당구 프로그램 개발

영문 : Development of Intelligent Billiard Program Using Image Processing

과제 팀명

치즈케이크

지도교수

정형구 교수님

개발기간

2019년 9월 ~ 2019년 12월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20169200** 박*빈(팀장)

서울시립대학교 컴퓨터과학부 20169200** 이*진

서울시립대학교 컴퓨터과학부 20169200** 정*지

서론

개발 과제의 개요

개발 과제 요약

실제 당구대회에서 촬영된 영상을 OpenCV를 이용하여 데이터를 생성하고 이를 데이터베이스에 저장한다. 당구공의 위치가 변경되었을 때마다 데이터베이스에서 유사 상황을 검색하고, 당구 연습에 대한 가이드라인을 제공한다. 프로젝터를 통해 플레이가이드를 당구대에 투사한다.

개발 과제의 배경

◇ 배경

4차 산업혁명의 물결 속에서 기업은 기술의 융합을 산업에 접목, 미래 성장 동력 창출에 매진하고 있다. 이런 배경 아래에서 VR·AR 기술의 적용이 오락, 유흥 제품을 넘어 산업 전반으로 확대되고 있는 상황이다. 최근 LG유플러스가 전 세계 당구 선수들이 펼치는 ‘2019 LG유플러스 컵 3쿠션 마스터스’에서 U-VR 앱을 통해 세계 최초로 5G 기반 VR(가상현실) 생중계를 진행하였다. LG 유플러스는 이러한 스포츠 대회의 신설을 결정하고 후원하게 된 결정적 근거로, 당구의 마케팅 가치는 타 스포츠와 비교할 수 없는 국내 인프라를 보유하고 있음을 강조하였다. 당구는 1,200만 동호인을 가진, 일상에서 누구나 쉽게 즐길 수 있는 대중적인 스포츠이다. AR 기술과 당구가 접목되었을 때, 현실의 당구대를 바탕으로 AR을 이용하여 플레이 가이드를 제시하고 자동 스코어링을 제공하는 등의 기능을 도입한다면 당구라는 스포츠가 더 경쟁력 있는 생활 체육 종목으로서 발전할 수 있을 것으로 예상된다. 따라서 우리는 4차 산업혁명의 중심에 있는 AR기술을 이용하여 영상처리를 이용한 지능형 당구 프로그램을 개발하고자 한다.

◇ 효과

당구를 처음 입문하는 초보자들에게 도움을 줄 수 있다. 초보자를 위한 가이드라인을 시각적으로 표현하여 초보자가 느끼는 당구의 난이도를 완화시킨다. 중급자 이상의 사용자들에게도 가이드 시스템을 통해 개인 코치의 역할을 수행하며 혼자서도 가이드를 통해 연습할 수 있는 기회를 제공한다. 프로와 아마추어, 동호인 등 다수의 사용자에게 유익한 기능을 제공한다. 상황별 득점 확률이 높은 경로를 제공하여 더 나은 플레이를 가능하게 한다. 하나의 경로만이 아닌 통계를 바탕으로 한 다양한 경로 제공으로 새로운 경로에 도전할 수 있는 기회를 제공한다. 또, 경기 분석을 통해 통계 결과를 도출해 낼 수 있고 이를 바탕으로 빠른 실력 향상을 도모할 수 있다.

개발 과제의 목표 및 내용

- 캐롬 당구(3구 경기)에 한정하여 프로그램을 개발한다.
- 당구 플레이 가이드를 제시하여 더 나은 플레이 방법을 제안한다.
- 당구 경기의 분석으로 나온 통계 결과를 통해 더욱 빠른 실력 향상을 하도록 한다.
- 다양한 경로 제안으로 그 전과는 다른 경로를 도전할 수 있도록 한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

◇ 국내외 기술 현황

- 객체 추적 : 카메라로 촬영되는 영상에서 사람이나 동물, 차량 등의 특정한 객체의 위치 변화를 찾는 컴퓨터 비전(computer vision) 기술이다. 일련의 영상 프레임 내 객체의 크기, 색, 모양, 윤곽선 등의 그 객체의 특징적인 정보 간의 유사도를 활용하여 객체의 위치 변화를 추적한다. 이러한 기술은 실시간 영상 보안, 영상 통화, 교통 통제, 증강 현실 등의 여러 분야에서 활용되고 있다.

“윈도우 환경에서 YOLO로 실시간 객체 탐지”, https://diy-project.tistory.com/124, 2019.01.25.

- CCTV Surveillance : CCTV에 나타나는 물체의 행동, 활동 또는 정보를 관리 또는 감독을 목적으로 모니터링한다. 정보 수집, 범죄 예방, 사람이나 사물의 보호 또는 범죄수사를 위해 사용할 수 있다. 또한 고객에 대한 정보 수집에 이용할 수 있다. 객체 추적 기술을 활용한 사례 중 하나이다.

- AR : 가상현실(VR)의 한 분야로 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법. 정보통신산업진흥원의 이슈리포트에 따르면 글로벌 VR/AR 시장은 2016년 31억 9,300만 달러에서 2021년 908억 6,890만 달러로 성장하였다.

- Google Expeditions Pioneer Program : Google에서 제공하는 AR을 활용한 교육프로그램이다. 2015년 9월 시작되었고 미국의 6개 주와 호주, 브라질 영국에 우선 보급하였다. 이 가상현실 플랫폼을 이용하면 교실에 앉아서 세계 각국을 여행할 수 있다. 360도 동영상을 지원한다. 교사용 앱이 별도로 제공되며 학생들이 가상체험 할 장소 제공 및 학생의 시선을 직접 볼 수 있다.

- ITS(Intelligent Transport System) : 도로의 효율적 관리와 사고방지 등의 목적으로 도로상에 설치된 차량검지기로부터 수집되는 교통량, 속도, 차종 등 교통정보를 기반으로 속도위반, 차선 위반, 신호 위반 등 각종 교통법규를 위반하는 차량의 영상을 촬영하고 번호판을 자동으로 인식하여 영상 및 텍스트 데이터를 중앙시스템으로 전송해주는 시스템이다.

ITS(intelligent transport system) 최광기, “전파해석 및 지능형 레이다 핵심기술 개발 추진,” 과학기술정보통신부 3p, (2019)

- 구글 딥마인드의 알파고

- 알파제로 : 알파고 제로는 알파고와 다르게 더 이상 인간의 기보를 참조하지 않고 스스로 진화하는 알고리즘이다. 알파고 제로는 바둑에만 특화되어 8방향 랜덤으로 보드를 변환시켜 학습시키고 결과를 승/패로 정의하고, 승률을 추적/최적화한다. 그러나 알파제로는 더 이상 바둑에만 집중되지 않고 모든 종류의 게임에서 이용가능하게 만들어진 알고리즘이다.

  • 특허조사
◇ 서울여자대학교 산학협력단. 위반차량 단속을 위한 영상 인식 시스템 및 그 방법. 10-1438492. 2013.05.14., 2014.08.01.
◇ 한국산업기술대학교 산학협력단. 객체 식별방법. 10-1539944. 2014.02.25., 2015.07.22.
◇ 주식회사 엠제이비전테크. 통합 방범 지능형 CCTV의 영상 처리 방법 및 통합 방범 지능형 CCTV 시스템. 10-1743689. 2016.09.07., 2017.05.30.
◇ 주식회사 미래엔. 가상 현실과 증강 현실을 이용한 온라인 학습 시스템 및 방법. 10-1788248. 2017.05.02., 2017.10.20.
◇ 김용일, 이병준. 좌표값을 이용한 당구게임의 득점 자동계산 시스템. 10-1892514. 2018.08.10., 2018.08.22.
◇ (주) 아이즈프리. 당구공 위치 추적 시스템 및 방법. 10-1918196. 2018.06.30., 2018.11.07.
◇ (주) 아이즈프리. 당구게임용 영상 분석시스템 및 방법. 10-1938607. 2018.10.08., 2019.01.09.
◇ 주식회사 파워큐. 당구게임 진행시스템 및 그 진행방법. 10-1975512. 2018.05.14., 2019.04.29.
  • 특허 전략 분석
◇ 유사 소프트웨어가 특허 출원 되어 있는 경우, 차별점을 특정하여 특허로 출원할 수 있다.
◇ 오픈소스를 활용했을 경우, 수정, 추가한 부분을 특정하여 특허로 출원할 수 있다.
◇ 개발한 프로그램을 오픈소스로 공개하여 오픈소스 SW라이센스를 명시할 수 있다.
◇ 개발한 프로그램의 상표등록을 하여 권리를 획득할 수 있다.
  • 기술 로드맵
치즈케이크 기술로드맵.jpg

시장상황에 대한 분석

  • 경쟁제품 조사 비교
치즈케이크 경쟁제품 조사 비교표.jpg
  • 마케팅 전략 제시
치즈케이크 SWOT 분석.jpg

개발과제의 기대효과

기술적 기대효과

◇ 적절한 알고리즘 사용으로 객체 인식 및 추적 정확도 96% 이상으로 제공
◇ 적절한 경기 분석을 통한 유의미한 통계 결과 제공
◇ 직접 구현한 검색 알고리즘을 이용한 경로 예측 가이드의 정확도 90% 이상으로 제공
◇ 데이터의 축적으로 향후 더 정확한 분석 결과 제공

경제적, 사회적 기대 및 파급효과

◇ AR 가이드를 통해 혼자서도 연습하고 실력을 향상 시킬 수 있는 새로운 놀이 문화 창출
◇ 데이터를 이용한 객관적인 경기분석을 공유함으로 더 향상된 실력의 프로 당구선수 배출 가능

기술개발 일정 및 추진체계

개발 일정

치즈케이크 개발일정.JPG

구성원 및 추진체계

◇ 박수빈 : 프로젝트 관리, 프로그램 개발 계획 수립, 개발에 필요한 알고리즘 조사, 객체 인식 및 추적, AR 가이드 
◇ 이희진 : 프로그램 개발 계획 수립, 개발에 필요한 알고리즘 조사, 객체 충돌 확인 및 검색 알고리즘 개발, UI 디자인 및 마무리
◇ 정예지 : 프로그램 개발 계획 수립, 개발에 필요한 알고리즘 조사, 영상 수집 및 전처리, 객체 인식 및 추적, 테스트
치즈케이크 추진체계.jpg

설계

설계사양

사용자 요구사항

치즈케이크 사용자요구사항.jpg

기능 정의 및 기능별 정량 목표

◇ 기능 목록

치즈케이크 기능목록.jpg

◇ 기능 목록 상세 내용

치즈케이크 기능1.jpg


치즈케이크 기능2.JPG


치즈케이크 기능3.JPG


치즈케이크 기능4.JPG


치즈케이크 기능5.JPG


치즈케이크 기능6.JPG


치즈케이크 기능7.JPG


치즈케이크 기능8.JPG

◇ 기능별 정량목표

치즈케이크 기능별정량목표.JPG

개념설계안

치즈케이크 개념설계안.jpg
1. 당구 경기 영상 데이터 수집

- 데이터베이스 저장에 필요한 쓰리쿠션 대회 경기 영상을 수집

2. 영상 데이터 전처리

- 추적의 효율성을 위한 프레임 당 딜레이 속도 조절 기능

- 관심 영역 설정

3. 객체(당구공, 큐스틱, 당구대) 인식

- OpenCV를 이용한 객체 인식

- 좌표 추출

4. 객체(당구공) 이동 추적

- OpenCV를 이용한 객체 추적

- 수구의 이동경로 추적을 통한 성공 경로 데이터 수집

5. 객체 및 이동경로 데이터 생성

- 수구의 이동경로를 충돌, 쿠션 좌표를 이용하여 데이터화

6. 파이브 앤 하프 시스템 기반 데이터 생성

- 수구의 위치, 1쿠션, 3쿠션 지점을 포인트 값으로 계산하여 저장

7. 데이터베이스 저장

- 데이터 수집

8. 입력된 객체 상황과 유사한 상황 검색

- 공격 상황에서 경로 추천을 위해 객체가 인식된 상황에서 파이브 앤 하프 시스템을 기반으로 데이터베이스에 저장된 상황들 중에서 가장 유사한 상황을 검색

9. 시작 위치에 따른 성공 확률 제시

- 시작 위치에서 수구와 적구 거리에 따른 성공 확률 계산

10. 추천 경로 제안

- 추천 경로를 데이터베이스에서 찾아 제안

11. 당구대 위에 경로 투사

- 제안된 경로를 프로젝터를 이용하여 당구대 위에 투사

시스템 설계

◇ 시스템 아키텍처 설계

- 동영상을 분석하여 초구 위치에 따른 경로와 파이브 앤 하프 시스템에 따른 1쿠션, 3쿠션 포인트 값을 저장해놓는다.

프로그램을 실행하면 키넥트를 통해 초구 위치를 알아온다. 
→ 파이브 앤 하프 시스템에 따라 1쿠션, 3쿠션 포인트를 계산한다.
→ 초구 위치와 1쿠션, 3쿠션 포인트 값을 DB에서 검색한다.
→ 결과를 프로젝트를 통해 당구대에 투사한다.
→ 화면에 경로와 성공률을 표시한다.
치즈케이크 시스템설계.jpg

이론적 계산 및 시뮬레이션

◇ 좌표 범위 변환

- 관심영역 위의 기존 좌표 : 치즈케이크 수식1.JPG

x좌표 변환식 : 치즈케이크 수식2.JPG
y좌표 변환식 : 치즈케이크 수식3.JPG

변환된 좌표는 0~800, 0~400 범위 내에 존재한다.

◇ 충돌 인식

충돌 인식 계산 식 : 치즈케이크 수식4.JPG

두 공 사이의 거리가 공의 반지름 거리보다 가까워졌을 때 충돌로 인식한다.

◇ 쿠션 인식

x, y , (800-x), (400-y)가 공의 반지름보다 같거나 작을 때 프레임에 부딪힌 쿠션으로 인식한다.

◇ 성공률 계산

- 수구와 적구 사이 거리 계산

수구의 좌표 : 치즈케이크 수식5.JPG, 제1적구의 좌표 : 치즈케이크 수식6.JPG
두 공 사이의 거리 계산 식 : 치즈케이크 수식7.JPG

- 성공률 계산 식 : 치즈케이크 수식8.JPG

소프트웨어 설계

치즈케이크 소프트웨어모듈.jpeg

◇ 데이터 수집 프로그램 - 영상 인식 모듈 : 수집된 영상에서 당구대를 관심영역으로 설정하고, 객체(당구공, 큐스틱)을 인식하고 당구공의 움직임을 추적하여 좌표를 반환한다.

- 저장 모듈 : 반환된 객체의 좌표를 이용하여 파이브 앤 하프 시스템 기반의 포인트 값을 생성하고, 데이터베이스에 저장한다. 객체의 이동경로도 데이터베이스에 저장한다. 
- 계산 모듈 : 객체의 좌표를 이용하여 수구와 적구 사이의 거리를 이용한 성공률을 계산하여 저장한다.

◇ 사용자 프로그램

- 카메라 인식 모듈 : 카메라를 통해 당구대를 인식하고 객체를 인식, 당구공의 움직임을 추적하여 좌표를 반환한다.
- 검색 모듈 : 인식된 객체를 이용하여 데이터베이스에 저장된 기존의 데이터와 비교하여 가장 유사한 상황을 검색하고, 적합한 경로를 반환한다.
- 프로젝터 모듈 : 검색된 경로를 프로젝터를 이용하여 당구대 위에 적절하게 투사한다.
- 출력 모듈 : 검색된 경로를 프로그램 실행 화면 모니터에도 출력한다.

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

관련사업비 내역서

◇ 자재소요서

치즈케이크 자재소요서.jpg

◇ 개발사업비 내역서

치즈케이크 개발사업비내역서.jpg

완료작품의 평가

치즈케이크 완료작품의평가.jpg

향후계획

과제 수행 중 어려웠던 점

- OpenCV HSV 색인식의 범위 설정이 어려웠다. 영상마다 색상(Hue), 채도(Saturation), 명도(Value)값의 범위가 다양하게 분포해 있었기 때문에 기준점을 잡기가 애매했다.
- 색검출에서 발견한 문제가 세 가지 공의 인식, 관심 영역 설정, 데이터베이스 자동화 등의 프로세스에도 영향을 미쳤다. 
- 키넥트를 연결하고 실행 환경을 구축하는 부분에서 오픈소스의 소프트웨어 버전과 하드웨어 버전이 호환이 잘 되지 않았다.

차후 구현할 내용

- 현상황보다 더 높은 정확도를 가지는 추천 경로 제시
- 성공률을 계산하고 이에 따른 통계분석 제공 
- 데이터베이스 프로세스 처리 과정에 인공지능 적용
- 빌리내비, 빌리보드 같은 상용 제품을 가진 회사와 협력하여 자동 스코어링, 당구장 전산 관리 등 다양한 기능을 융합한 프로그램으로 발전