프로젝트 결과물 소개 (영상처리 관련 프로젝트)

Slides:



Advertisements
Similar presentations
Number Recognizer. Team 이성우 컴퓨터소프트웨어학과 조윤성 전자통신공학과
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
ReadyNAS Surveillance for x86 platform (Version ) NETGEAR.
Proprietary ETRI OOO 연구소 ( 단, 본부 ) 명 1 CDN 을 위한 캐시 시험 모듈 소프트웨어연구부문 빅데이터 SW 플랫폼연구부 분석소프트웨어연구실 ETRI Technology Marketing Strategy ETRI Technology Marketing.
스마트 KTC 사용자 매뉴얼 스마트폰용 모바일학생증 앱 설치 및 기본기능. 강원관광대 스마트 KTC 앱 설치 강원관광대학교 모바일학생증 앱 ( 이하 ‘ 스마트 KTC’ 로 명명 ) 은 안드로이드폰은 Google Play Store, 아이폰 은 App Store 에서 무료로.
멀티미디어공학과 윤인식 교수 프로필 및 수행한 관련 프로젝트 학력 사항 연세대학교 이과대학 수학과 ( 이학사 ) KAIST 전산학과 ( 공학석사, 공학박사 ), 프로그램 언어론, 컴파일러 전공 경력 사항 ~ ㈜ LG 전자 근무 ~
밥 팀 명 : TTL 조 팀 원 : 김정용 (PM) 서종규 노재현 엄성욱.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터비전 연구레포트 목 차 기능 수준 구조 기간
캡스톤 디자인 졸업논문 중간보고서 순천향대학교 컴퓨터공학과 빛의전사.
그래픽스 및 웹 응용설계 자기소개 멀티미디어 학과 4학년 장정환.
(1.1 v) 엔트리교육연구소 엔트리 카드게임 설명서.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
신호처리 실험 (Signal Processing Lab)
Network Lab. Young-Chul Hwang
컴퓨터 프로그래밍 기초 [Final] 기말고사
Android 시리즈 H2O SIM Card 데이터 사용 설정 방법
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
8장. 원격지 시스템 관리하기.
FTP 프로그램 채계화 박재은 박수민.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
NJM Messenger 박상원 박연호.
프로젝트 결과물 소개 (영상처리 관련 프로젝트)
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
Progress Seminar 선석규.
프로그래밍 개요
Transmission & Analysis
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
2016년 2학기 PULSE 4 Experiment 12 – 블루투스 통신.
USN(Ubiquitous Sensor Network)
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 11회차 강사 : 박영민.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
최종 발표 VoIP를 이용한 PC to PC 소프트 폰 1조 백상현 장현제.
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
자동차 사고 용의 차량 번호판 인식 시스템 개발 디지털정보융합학과 심영복.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Java , 안드로이드를 이용한 ‘사천성’ Game
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
프로젝트 제안서 -TCP/IP를 이용한 메신저 구현-
“웹과 모바일을 연동한 평가 간편 시스템” vol
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
네트워크 프로그래밍 (모바일 주문 프로그램 )
네이버 CCL 도입 현황 및 계획 서비스정책센터 최인혁.
Introduction to JSP & Servlet
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
05. General Linear List – Homework
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Chapter 10 데이터 검색1.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
다자간 채팅프로그램 김형도 허영민
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
통계학 R을 이용한 분석 제 2 장 자료의 정리.
학번: 이름: 견정수 학번: 이름: 장성우 학번: 이름: 조재훈
제 4 장 Record.
In-house Consultant Training
Network Lab. Young-Chul Hwang
영역 기반 처리.
2011학년도 졸업작품 주제 발표 -카메라 기반 제스처 인식 UI-
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
Presentation transcript:

프로젝트 결과물 소개 (영상처리 관련 프로젝트)

목차 1. 영상인식을 이용한 게임 자동사냥 2. 스마트폰용 골프 스코어카드 OCR 시스템 ㈜아이소프트 (2007.12 ~ 2010.01) MMORPG “데카론” 게임 자동사냥 예로 설명 2. 스마트폰용 골프 스코어카드 OCR 시스템 경북대학교 산업대학원 석사 졸업 논문(2014.03 ~ 2014.06)

1. 영상인식을 이용한 게임 자동사냥 정의 : 게임 자동사냥은 유저가 몬스터를 사냥하고, 아이템을 줍고, HP가 떨어지면 HP를 회복시키는 반복적인 과정을 영상인식과 키보드, 마우스 제어를 프로그래밍적으로 하여 자동으로 하여 레벨업을 도와주는 프로그램 자동사냥에 쓰인 영상처리 주요 기술 1. 차영상 – 하나의 영상을 화소 단위로 다른 영상에서 뺀 결과 영상 (자동사냥에서의 활용 : 몬스터 인식) 2. 템플릿 매칭 - 원본 이미지에서 템플릿으로 주어진 이미지에 해당 되는 영역을 찾는 기술 (자동사냥에서의 활용 : HP, MP, 스킬창, 아이템창 등의 대부분의 인식)

1. 영상인식을 이용한 게임 자동사냥 – MMORPG “데카론” 차영상 템플릿 매칭

1. 영상인식을 이용한 게임 자동사냥 - 데카론자동사냥프로그램 게임 유저가 이 프로그램을 이용하여 설정하여 게임 내에서 실행을 하게 되면 영상인식을 통하여 키보드, 마우스를 적절히 제어를 하여 자동사냥이 진행된다

2. 스마트폰용 골프 스코어카드 OCR 시스템 - 정의 정의 : 본 시스템은 스마트폰 카메라를 이용하여 골프 스코어카드의 인식을 할수 있도록 해주는 부분시스템(SubSystem)이다. [ Golf ScoreCard OCR Server ] 1) 스마트폰에서 이미지 파일 받음 2) 받은 이미지 파일 OCR 인식 작업 [ 스마트폰 ] 스코어카드 촬영 이미지 파일로 저장 영상 이미지 파일 전송 인식 결과 데이터 전송 스마트폰에서의 영상 촬영 전송만하고 고사양 PC 에서 실질적인 영상처리를 하여 Output값을 스마트폰으로 전달

2. 스마트폰용 골프 스코어카드 OCR 시스템– 사용예시1 2013. 11월 런칭 서비스 중 2014. 03월 런칭 서비스 중

2. 스마트폰용 골프 스코어카드 OCR 시스템 - 사용예시2 Golf ScoreCard OCR System [스마트폰] 영상분석 결과값을 받은 상황 [ Golf ScoreCard OCR Server ] 1) 스마트폰에서 이미지 파일 받음 2) 받은 이미지 파일 OCR 인식 작업 영상 이미지 파일 전송 인식 결과 데이터 전송 하나지 앱 구조 Send(Json) DB Server Recv(Json) 장점 : 입출력 데이터를 통신으로 송수신하기 때문에 멀티플랫폼에서 사용가능 Web 중계서버 Chating Server FTP Server

2. 스마트폰용 골프 스코어카드 OCR 시스템 – 기능 리스트 네트워크 영상처리 서버는 IOCP 모델로 구성 파일 전송 프로토콜 숫자를 인식한 값을 전달하는 프로토콜 제일 큰 사각형 찾기 제일 큰 사각형의 모서리 4개 찾기 Wapring 스코어카드 인지 판별(템플릿 매칭) 손 글씨 숫자 영역 추출(사각형 검출) 손 글씨 숫자 인식 클라이언트로 인식된 결과 전송

2. 스마트폰용 골프 스코어카드 OCR 시스템– SuDoKu Solver 표(Grid:격자)를 추출하고 표의 꼭지점를 이용하여 Warping를 시키는것은 스코어카드와 흡사하여 관련 문헌을 참고하여 차용한 상태 참고문헌) http://www.aishack.in/2010/08/sudoku-grabber-with-opencv/

2. 스마트폰용 골프 스코어카드 OCR 시스템– SuDoKu Solver 인식과정 1 2 3 촬영 및 이미지 획득 이진화, 침식연산 FloodFill함수로 이웃하는 픽셀 최대값 4 5 6 허프변환 SuDoKu의 꼭지점 찾음 Warpping를 한 후 숫자 OCR 수행

2. 스마트폰용 골프 스코어카드 OCR 시스템– 구현 (4. 손글씨 숫자 영역 추출) 추출 조건 : 모든 사각형을 검색하면서 Player1를 인식하는 템플릿 매칭을 수행하고 그 이후에 연속되는 9개의 사각형은 1~9홀이라고 가정한다 1~9홀

2. 스마트폰용 골프 스코어카드 OCR 시스템– 구현 (4. 손글씨 숫자 영역 추출) [기존의 OpenCV findSquares 함수] 밝기 값 46부터 23씩 증감하여 10번 loop 사각형 검출 전체 10번을 화면을 스캔하여 사각형을 검출하기때문에 같은 격자에 중복 검출 되어진다. 배열에 저장된 4개의 꼭지점도 특정한 규칙으로 저장되어지지 않는다. 적절한 가공이 필요. 목표 : 사각형 저장좌표를 규칙적으로 재정렬

2. 스마트폰용 골프 스코어카드 OCR 시스템– 구현 (4. 손글씨 숫자 영역 추출) 2) OpenCV findSquares 함수 수정 – 1(꼭지점 재정렬) [가공 전 배열의 사각형 꼭지점의 값 예] 사각형 배열1- 꼭지점0(14,21), 꼭지점1(285,17), 꼭지점2(286,123), 꼭지점3(15,125) 사각형 배열2- 꼭지점0(15,18), 꼭지점1(14,125), 꼭지점2(286,124), 꼭지점3(286,17) 문제점 – 사각형의 꼭지점의 값이 불규칙적으로 배열에 저장 정렬 꼭지점2(285,17) 꼭지점2(286,17) …… 꼭지점0(14,21) 꼭지점0(15,18) …… 꼭지점3(286,123) 꼭지점3(286,124) …… 꼭지점1(15,125) 꼭지점1(14,125) …… 꼭지점 재정렬 [정렬된 배열의 값] 사각형 배열1 - 꼭지점0(14,21), 꼭지점1(15,125), 꼭지점2(285,17), 꼭지점3(286,123) 사각형 배열2 - 꼭지점0(15,18), 꼭지점1(14,125), 꼭지점2(286,17), 꼭지점3(286,124) ......

2. 스마트폰용 골프 스코어카드 OCR 시스템– 구현 (4. 손글씨 숫자 영역 추출) 2) OpenCV findSquares 함수 수정 – 2(중복되는 사각형 필터링) for(int i=0;i<squares.size();i++) { iHave = 0; iAbsX1 = (abs(squares[i][0].x-approx[0].x)+ abs(squares[i][1].x-approx[1].x)+ abs(squares[i][2].x-approx[2].x)+ abs(squares[i][3].x-approx[3].x))/4; iAbsY1 = (abs(squares[i][0].y-approx[0].y)+ abs(squares[i][1].y-approx[1].y)+ abs(squares[i][2].y-approx[2].y)+ abs(squares[i][3].y-approx[3].y))/4; if( ((iAbsX1+iAbsY1)/2) <4) iHave = 1; break; } if(iHave == 0) squares.push_back(approx); (기존검색되어진 사각형 배열의 꼭지점 – 현재검색되어진 사각형의 꼭지점) = 절대값 두개의 절대값을 ½ 하여 4미만의 값이면 기존에 사각형과 동일 => 기존 배열(squares)에 저장 안함 x, y의 두 직선으로 또 다시 하나의 직선으로 만들어서 절대값이 4이하 이면 기존의 사각형과 같다는 가정 (중복되는 사각형 필터링) squares : 기존검색 되어진 사각형 배열 approx : 현재 검색되어진 사각형 배열

2. 스마트폰용 골프 스코어카드 OCR 시스템– 구현 (4. 손글씨 숫자 영역 추출) 2) OpenCV findSquares 함수 수정 – 3(오름차순으로 다시 저장) cv::Size s = image.size(); int CountHeight=0; for(CountHeight=0;CountHeight<s.height;CountHeight++) { for(int j=0;j<s.width;j++) for(int k=0;k<squares.size();k++) { // x 좌표를 중심으로 사각형 꼭지점0번째의 y값의 범위 +50 범위의 값의 배열을 재정렬한다 if( ((squares[k][0].y>=CountHeight) && (squares[k][0].y<=(CountHeight+50) )) && (j==squares[k][0].x)) moguwai.push_back(squares[k]); squares.erase(squares.begin()+k); continue; } CountHeight +=50; Y좌표 50씩의 증감값으로 x좌표를 순차 검색하여 오름차순으로 배열을 재정렬한다 31번째 배열의 꼭지점0(20,10) 27번째 배열의 꼭지점0(50,15) 1번째 배열의 꼭지점0(20,10) 2번째 배열의 꼭지점0(50,15) Sorting

2. 스마트폰용 골프 스코어카드 OCR 시스템– 구현 (4. 손글씨 숫자 영역 추출) 2) OpenCV findSquares 함수 수정 - 4 Player1 탬플릿 매칭 이후 2~10 배열 => 1~9홀 Player2 탬플릿 매칭 이후 13~21 배열 => 1~9홀

2. 스마트폰용 골프 스코어카드 OCR 시스템– 실험 전체 10장의 스코어카드 실험 안드로이드 갤럭시S4에서 OpenCV 라이브러리를 이용하여 1054x864 해상도의 png파일(1.04mb)을 서버로 전송 하여 테스트 실험 환경은 2가지로 분류 하였다 (1) 골프 스코어카드 OCR 시스템 정상 처리 성공율 스마트폰에서 사진을 촬영후 서버의 OCR인식 처리 한후 클라이언트인 스마트폰으로 절차상의 오류 없이 정상적으로 전달된 경우의 성공율 2가지 시점에서 각각 시점 10번 수행 (2) 표안에 손글씨 숫자 인식율 KNN과 MNIST Database의 직접적인 연관성이 있으므로 독립적으로 실험 10명 0~9 숫자를 표안에 숫자로 강제로 추출하여 인식을 진행한 인식율 TopDownView DownView

2. 스마트폰용 골프 스코어카드 OCR 시스템– 실험 [TopDownView] 성공율 70% 실패한 경우 특정 부분이 상대적으로 어두울 때 특정 부분이 상대적으로 밝을 때

2. 스마트폰용 골프 스코어카드 OCR 시스템– 실험 [DownView] 성공율 60% 실패한 경우 밝기가 일정하지 않은 경우

2. 스마트폰용 골프 스코어카드 OCR 시스템– 실험결과 TopDownView(70%)와 DownView(60%)의 실험 결과 TopDownView에서는 비교적 높은 성공율을 보였으나 DownView에서는 스코어카드를 찾는 부분에서 꼭지점을 잘못 찾는 오류로 인해서 그 이후로 진행 하지 못하였다. (2) 표 안에 손 글씨 숫자 인식율 결과 10명의 손 글씨 숫자 인식 0~9까지 테스트에서 평균 66%의 인식율을 보였다. 오류가 나는 부분은 스코어카드의 칸 안에 숫자를 경계선과 겹칠 경우에 오류가 발생하였고 특정 숫자에 국한되어서 오인식이 발생하지 않고 0~9 전체적으로 특정하게 오류가 발생한다.

6. 결론 본 논문에서는 스마트 폰 카메라로 스코어카드 사진을 찍으면 서버에서 OCR 작업을 수행하여 스마트 폰으로 인식한 숫자를 전송하는 SubSystem를 제안하였다. 골프 스코어카드 OCR 시스템 정상 처리 성공율은 평균 65%, 손글씨 숫자 인식율은 평균 66%로 만족스러운 결과를 얻지 못하였다. 정상 처리 성공율은 스코어카드의 4개의 꼭지점을 오인식하고 사각형 찾는부분에 노이즈와 손실이 발생하여 정확한 사각형 찾는것을 방해하여 그부분은 보충할수 있는 연구가 필요 할거 같다. 손글씨 숫자 인식율은 KNN과 MNIST Database를 사용하였는데 인식을 하는 알고리즘과 트레이닝 데이터를 다양화해서 인식율을 높이는 방향으로 연구가 필요 할것 같다.

감사합니다.