Advanced
Region of Interest Extraction Method and Hardware Implementation of Matrix Pattern Image
Region of Interest Extraction Method and Hardware Implementation of Matrix Pattern Image
Journal of the Korea Institute of Information and Communication Engineering. 2015. Apr, 19(4): 940-947
Copyright © 2015, The Korean Institute of Information and Commucation Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • Received : December 23, 2014
  • Accepted : February 16, 2015
  • Published : April 30, 2015
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
호상 조
근준 김
봉순 강
bongsoon@dau.ac.kr

Abstract
본 논문에서는 기존의 터치 센서방법과 초음파나 레이저를 사용하는 방법이 아닌 디스플레이에 프린트된 매트릭스 패턴 영상을 이용하여 위치 정보를 추출하는 시스템의 패턴 영상의 특징점을 찾고 관심 영역의 영상을 추출하는 방법을 제안하였다. 제안하는 방법은 패턴 영상의 조도값과 패턴의 특징을 이용하여 촬영된 영상의 회전된 각도와 신뢰성 있는 특징점을 찾고 관심영역을 추출한다. 성공적인 관심 영역 추출을 위해서 다양한 각도에서 판서된 패턴영상을 이용하여 위치 관심영역 추출을 테스트하였고 성공적으로 관심영역을 추출하는 것을 확인하였다. 제안한 알고리즘은 OpenCV와 Window 프로그램을 사용하여 소프트웨어적으로 검증하고, 또한, Verilog-HDL을 사용하여 하드웨어 시스템을 설계하고, Xilinx FPGA(xc6vlx760) 보드를 이용하여 검증하였다.
Keywords
Ⅰ. 서 론
최근 다양한 컨텐츠의 발달과 소프트웨어의 발달로 이를 이용하기 위한 스마트 패드, 전자 교탁, 전자칠판을 연동하는 스마트 스쿨 시스템, 홍보 및 전시를 위한 사용자 응답형 시스템이 상용화되었고 점차 확대되고 연구되고 있다 [1 , 2] . 이러한 시스템의 중심은 대화면 디스플레이에 사용자가 판서하는 위치를 인식하여 해당위치의 픽셀위치에 사용자가 설정한 픽셀값을 입력하는 판서 시스템이다 [3] . 사용자가 판서하는 위치를 인식하는 기술은 대표적으로 정전식과 감압식 같은 터치센서를 이용하는 방법과 초음파나 레이저를 이용하는 방법이 있다. 하지만 터치센서를 이용하는 방법은 디스플레이가 커질수록 터치 감지 정확도와 반응 속도가 느려지는 단점이 있고 초음파와 레이저를 이용한 방법은 인식 정확도가 다소 떨어지는 문제점이 있다 [4 , 5] . 이러한 문제점을 해결하기 위해 초소형 카메라가 탑재된 디바이스와 픽셀을 표현하는 매트릭스 패턴 내부에 위치 정보가 프린트된 디스플레이를 이용하여 디바이스의 위치 추출하는 시스템이 연구되었다 [6] . 그림 1 은 디스플레이에서 픽셀을 표현하는 매트릭스 패턴의 예시이다.
PPT Slide
Lager Image
매트릭스 패턴 영상 Fig. 1 the matrix pattern image
촬영된 매트릭스 패턴 영상에서 위치 정보를 추출하기 위해서는 디바이스의 위치 정보 패턴이 존재하는 영역을 찾는 과정과 해당 영역을 디코딩에 알맞은 크기와 방향으로 사상하는 작업이 수행되어야한다 [7] . 하지만 영상 촬영 디바이스의 각도와 디스플레이 패널의 밝기정도에 따라 촬영된 영상이 왜곡되는 문제점이 발생한다. 이러한 왜곡이 발생한 영상은 패턴의 밝기가 균일하지 못하고 패턴의 모양이 뒤틀려 디코딩에 맞는 영상을 추출하지 못하게 된다. 본 논문에서는 이러한 왜곡된 영상에서도 강인한 관심 영역 검출과 관심 영역을 사상시키는 방법을 제안한다. 또한 빠른 연산 속도를 위하여 제안하는 방법을 하드웨어로 구현하였다.
Ⅱ. 제안하는 방법
입력되는 매트릭스 패턴 영상은 픽셀을 표현하는 패널의 화소부분이 각 행과 열에 따른 일정한 간격을 두고 분포되어 있는 특징을 가지고 있다. 관심영역 영상을 얻기 위해서는 패턴 영상의 특징을 이용하여 관심영역으로 지정할 4개의 사상점을 추출하여야 한다. 그림 2 는 관심영역의 영상을 추출하기 위한 연산 흐름도이다. 연산은 입력 패턴 영상의 회전 각도를 검출하는 각도 찾기, 패턴 영상의 특징을 이용한 특징점 찾기, 특징점을 중심으로 왜곡된 영상의 패턴 영상 각도 보정, 각각의 특징점과 보정된 각도를 이용한 사상점 추출로 이루어진다.
PPT Slide
Lager Image
관심 영역 영상 추출 흐름도 Fig. 2 The flowchart of the region of interest image extraction
- 2.1. 각도 검출
디바이스의 카메라에서 입력되는 패턴 영상은 판서하는 글이나 그림에 따라 회전된 패턴 영상이 촬영된다. 이러한 회전된 영상은 디바이스의 위치 정보를 추출하는 디코딩 과정을 수행하기 위해서 회전 각도를 검출하여 보정하여야 한다. 패턴 영상의 특징을 이용하여 입력 영상을 각도를 검출하기 위해 수식 (1)을 수행한다.
PPT Slide
Lager Image
LS 는 각도에 따른 조도값의 총합에 대한 데이터이다. deg 는 패턴 영상의 회전각도를 찾기 위한 검색 각도이다. I ( x,y )는 패턴 영상의 조도값이다. y x 는 패턴 영상의 행의 위치와 열의 위치 정보를 나타낸다. 위치정보는 deg 값에 따라 수식 (2)와 같이 연산된다.
PPT Slide
Lager Image
CPx CPy 는 패턴영상의 중심을 기점으로 윈도우 영역의 밝기 평균값이 가장 작은 영역이 중심점이다. Tan 은 tangent 테이블이다. 수식 (1)은 CPx CPy 를 중심으로 회전하며 해당 각도의 조도값에 대한 평균이 가장 낮은 각도를 중심점 각도 CD 로 선택하게 된다. 추출된 각도는 특징점을 찾는 연산에서 사용된다. 그림 3 은 입력된 패턴 영상과 중심점 CPx CPy 를 기준으로 각도 검출 연산을 위한 마스크와 방향을 표현한 영상이다. 그림 3 의 (a)는 입력 패턴 영상, 그림 3 의 (b)는 각도 검출 마스크와 각도 검색 방향을 도시하였다.
PPT Slide
Lager Image
각도 검출 연산 (a) 입력 매트릭스 패턴 영상, (b) 각도 검출 윈도우 Fig. 3 degree detection operation (a) the input matrix pattern image, (b) degree detection window
- 2.2. 패턴 영상의 특징점 검출
영상이 회전된 각도 CD 를 검출했다면 패턴 영상의 특징을 이용하여 일정 범위의 간격을 가지고 있는 특징점을 검출하게 된다. 이러한 특징점은 사상점 추출 연산에서 중요한 기준점으로 사용되며 신뢰성이 높은 특징점을 검출하는 것이 이후 성공적인 관심 영역 추출에 많은 영향을 끼치게 된다.
수식 (3)는 가로 방향 특징점을 찾기 위한 가로방향 조도값 평균 테이블 HLS 에 대한 수식이다. 가로 방향 중심점 HPN 를 기준으로 3×10의 가로 방향 윈도우를 사용하여 조도값에 대한 평균이 가장 낮은 지점을 가로 방향 특징점 후보로 선택하게 된다. yh xh 는 가로방향 중심점 HPN 를 기준으로 연산된 윈도우의 위치 정보이다.
PPT Slide
Lager Image
HPN 는 수식 (4)를 통해 연산된다. OD CPx CPy 를 중심으로 가로 방향 중심점 HPN 를 연산하기 위한 직교 각도로써 CD 에 90°를 뺀 값이다. 가로 방향 특징점 후보는 CPx CPy 를 중심으로 일정한 간격 사이에 존재하는 조도값에 대한 평균이 가장 낮은 지점이 선택되며 CPx CPy 를 중심으로 양옆의 이웃한 구간에서 선택된 특징점 후보가 최종 가로 방향 특징점으로 선택된다.
PPT Slide
Lager Image
수식 (5)는 세로 방향 조도값 평균 테이블 VLS 수식이다. 수식 (2)와 같이 10×3의 세로 방향 윈도우를 사용하여 일정 간격내의 조도값 평균이 가장 낮은 지점을 후보점으로 추출한다. 중심점과 가장 가까운 후보점 중왼쪽과 오른쪽으로 3번째 구간의 후보점을 세로 방향 특징점으로 선택한다.
PPT Slide
Lager Image
VPN 는 세로 방향 중심점이며 수식 (4)에서 중심점 값인 CPx CPy 는 중심점에서 일정간 간격으로 이동한 값으로 대체되고 OD CD 로 대체되어 연산된다. yv xv 는 세로 방향 중심점 VPN 를 기준으로 연산된 윈도우의 위치 정보이다.
- 2.3. 보정 각도 검출 및 사상점 연산
추출된 각도는 패턴 영상의 블러와 영상의 왜곡으로 각 라인의 패턴 마다 다른 각도를 가질 수 있으므로 보정 각도를 연산하는 과정을 거치게 된다. 보정 각도 검출 연산은 가로 방향 특징점에서 좁은 범위의 각도 내에서 각도 검출을 수행한다. 이때 사용되는 수식은 수식 (1)과 동일하고 중심점이 가로 방향 특징이 중심점으로 사용된다. 추출된 각도는 이후 사상점 연산에서 사용된다. 가로 방향과 세로 방향 특징점, 연산된 보정각도를 이용하여 각각의 특징점을 지나는 직선이 교차하는 지점을 사상점으로 선택하게 된다. 총 4개의 사상점이 선택되어 관심 영역 영상 추출을 위한 행렬 연산에 사용된다.
그림 4 는 사상점 선택 결과이다. 그림 4 의 (a)는 그림 2 의 (a)를 입력 패턴 영상으로 사용했을 때 검출된 특징점을 보여주고 있다. 파란색점은 가로방향 특징점이고 빨간색점은 세로방향 특징점이다. 그림 4 의 (b)는 관심영역의 중심을 기준으로 이동된 사상점 ( MPx1, MPy1 ), ( MPx2, MPy2 ), ( MPx3, MPy3 ), ( MPx4, MPy4 )과 패턴 영상의 관심 영역이 사상될 영상 면적을 빨간박스로 나타내었다. MW 는 사상될 관심 영역 영상의 가로 크기이며 MH 는 세로 크기이다. 사상점을 중심점으로 원점 이동한 함으로써 이후 연산될 관심 영역 사상을 위한 변환 계수 행렬 크기를 3×3에서 2×2로 최소화 할 수 있다.
PPT Slide
Lager Image
사상점 선택 결과 (a) 입력 패턴 영상의 관심영역, (b) 연산된 사상점 Fig. 4 The operation result of mapping points (a) region of interest on the pattern image (b) mapping points
- 2.4. 관심 영역 영상 추출
패턴 영상의 관심 영역을 하나의 독립적인 영상으로 추출하기 위하여 와핑(warping) 연산을 수행하게 된다. 와핑 연산은 입력 패턴 영상의 픽셀을 관심 영역 영상좌표로 대응시켜 왜곡된 영상을 보정하게 된다. 수식 (6)은 사상을 위한 변환 계수 행렬 [ TM1 , TM2 ; TM3 , TM4 ]의 연산 수식이다. MWh MHh 는 관심 영역 영상의 가로와 세로 크기의 1/2 값이다.
PPT Slide
Lager Image
연산된 변환 행렬을 이용하여 사상시킬 위치와 대응되는 입력 영상의 픽셀 위치를 연산하여 픽셀값을 사상시킨다. 사상시킬 위치와 이에 대응되는 입력 영상의 픽셀 위치 ( xm , ym )는 수식 (7)을 사용하여 연산할 수 있다. ( xnew , ynew )은 관심 영역 영상의 픽셀 위치 정보이다. MPCx , MPCy 는 원본 패턴 영상에서 사상점들의 중심점 위치 정보이다.
변환행렬의 간략화 하기 위해서 원점 이동한 위치 정보를 이용하였기 때문에 다시 원점 이동한 위치를 보정하는 값으로 사용된다. 역방향 사상을 하였기 때문에 추출된 관심영역 영상은 데이터가 없는 hole이 발생하지 않게 된다.
PPT Slide
Lager Image
그림 5 는 추출된 관심영역 영상이다. 그림 5 의 (a)는 입력 패턴 영상이고 (b)는 와핑 연산된 관심영역 영상이다. 판서되는 디바이스의 각도로 인해 관심영역이 사각형의 형태로 만들어지지 않아도 왜곡된 각도를 다시 검출과하는 과정을 거치며 각도가 보정되어 정상적으로 관심영역 영상이 추출된 것을 볼 수 있다.
PPT Slide
Lager Image
관심영역 추출 연산 (a) 입력 패턴 영상, (b) 관심 영역 Fig. 5 The region of interest extraction (a) the input pattern image, (b) The region of interest image
Ⅲ. 시뮬레이션 결과
제안하는 방법이 관심 영역을 추출하는 것을 검증하기 위해서 다양한 각도에서 판서된 디바이스의 패턴 영상을 테스트하였고 디코딩을 위한 관심 영역 추출이 용이하게 이루어지는지 확인하였다.
그림 6 은 다양한 회전각도에 따른 왜곡이 발상하는 테스트 패턴 영상의 관심영역 추출 결과 영상이다. 판서하는 디바이스의 각도가 점점 증가 할수록 패턴 영상의 왜곡 정도가 커지는 현상이 나타나게 된다. 따라서 임의로 회전된 패턴 영상에 왜곡을 만든 영상으로 테스트하였다. 관심 영역 영상이 총 12개의 매트릭스를 포함하고 있다면 디코딩하기 위한 위치 정보를 정상적으로 추출한 것으로 판별하였다. 그림 6 의 (a)는 카메라가 탑재된 디바이스의 판서 각도가 10°인 왜곡 패턴 영상, (b)는 20°인 왜곡 패턴 영상, (c)는 30°인 왜곡 패턴 영상, (d)는 40°인 왜곡 패턴 영상이다. 그림 6 의 (e), (f), (g) 그리고 (h)는 각각 (a), (b), (c), 그리고 (d)의 관심영역 추출 영상이다. 판서되는 디바이스의 각도에 따른 왜곡에도 디바이스의 위치 정보를 얻기 위한 관심 영역 영상을 성공적으로 추출한 것을 볼 수 있다.
PPT Slide
Lager Image
디바이스의 각도에 따른 시뮬레이션 결과 (a) 왜곡된 10° 패턴 영상, (b) 왜곡된 20° 패턴 영상, (c) 왜곡된 30° 패턴 영상, (d) 왜곡된 40° 패턴 영상, (e) (a)의 관심 영역 영상, (f) (b)의 관심 영역 영상, (g) (c)의 관심 영역 영상, (h) (d)의 관심 영역 영상 Fig. 6 The simulation result depending on writing angle of device (a) distorted 10° pattern image, (b) distorted 20° pattern image, (c) distorted 30° pattern image, (d) distorted 40° pattern image, (e) the region of interest image of (a), (f) the region of interest image of (b), (g) the region of interest image of (c), (h) the region of interest image of (d)
표 1 은 1°에서 40° 사이 1°각도로 회전된 매트릭스 패턴 영상의 이용하여 회전 보정이 정상적으로 이루어 졌는지 테스트 결과이다. 총 40 프레임을 테스트한 결과 가장 큰 오차 범위는 +0.25°로 패턴 영상의 회전 각도에 따라 정상적으로 패턴 영상의 회전 각도를 검출하였다.
매트릭스 패턴 영상의 각도 검출 결과Table. 1 Angle detection results of pattern image
PPT Slide
Lager Image
매트릭스 패턴 영상의 각도 검출 결과 Table. 1 Angle detection results of pattern image
Ⅳ. 하드웨어 구현 결과
제안하는 방법은 Verilog-HDL을 이용하여 하드웨로 구현하였으며 Xilinx FPGA (xc6vlx760)를 이용하여 하드웨어 복잡도를 평가하였다. 그림 7 은 제안하는 방법의 하드웨어 블록도이다. 패턴 영상을 저장하는 메모리의 동작 주파수와 연산블록의 동작 주파수를 분리하여 사용 환경에 따라 연산 속도를 조절할 수 있게 하였다. 각도 검출에 필요한 tangent 테이블은 빠른 연산속도와 하드웨어 설계 용이함을 위해서 정수형 LUT(look up table) 형식으로 구현하였다. 각각의 로직 블록에 맞는 FSM(finite state machine)을 설계하여 상대적으로 Slice Registers의 사용도가 큰 곱셈기와 나눗셈기 같은 연산기를 공유하여 Slice Registers의 사용을 최소화 할 수 있도록 설계하였다. 표 2 는 FPGA 구현 결과를 요약한 표이다. Slice Registers와 Slice LUTs은 구현을 위한 논리 영역을 나타내고 BRAMs은 메모리 사용량을 나타낸다. 제안하는 방법은 사용가능한 Slice Registers의 4%인 38,184 를 사용하였고 Slice LUTs 사용량은 사용 가능한 총량에서 6% 28,965를 사용하였다. 사용한 메모리는 총BRAMs의 1%인 962를 사용하였다. 동작속도는 최고 110.693MHz를 만족하였다.
PPT Slide
Lager Image
제안하는 방법의 하드웨어 블록 다이어그램 Fig. 7 block diagram of the proposed method
Xilinx* FPGA 구현 결과Table. 2 Summary of the Xilinx* FPGA implementation
PPT Slide
Lager Image
*IDEC의 EDA Tool을 제공받아 수행하였음.
Ⅴ. 결 론
본 논문에서는 초소형 카메라가 탑재된 디바이스와 특정 패턴이 프린트된 디스플레이를 이용하는 판서 시스템의 판서 디바이스 위치정보 인식을 위한 관심영역 추출 방법을 제안하고 하드웨어로 구현하였다. 다양한 각도에서 판서되는 디바이스가 촬영하는 매트릭스 패턴영상을 생성하여 회전 각도 검출을 수행한 결과 +0.25°의 오차율을 보였다. 또한 매트릭스 패턴 영상의 모양이 뒤틀린 영상의 경우에도 정상적으로 관심 영역을 추출하는 것을 실험을 통해서 확인할 수 있었다. 또한 이와 같이 관심 영역이 정상적으로 추출되면 디바이스의 위치 인식 디코딩 연산이 성공적으로 동작할 확률이 크게 상승할 것으로 보인다. 제안하는 방법은 Verilog-HDL을 사용하여 하드웨어로 설계를 하였고 FPGA보드를 이용하여 동작 주파수가 최고 110.693MHz를 만족하는 것을 확인 하였다.
Acknowledgements
본 논문은 동아대학교 학술연구비 지원에 의하여 연구되었음
BIO
조호상(Hosang Cho)
2010년 2월 동아대학교 전자공학과 (공학사)
2010년 3월 ~ 현재 동아대학교 전자공학과 석·박사 통합 과정
※관심분야 : 영상 신호처리, VLSI architecture design
김근준(Geun-Jun Kim)
2013년 2월 동아대학교 전자공학과 (공학사)
2013년 3월 ~ 현재 동아대학교 전자공학과 석·박사 통합 과정
※관심분야 : 영상 신호처리, VLSI architecture design
강봉순(Bongsoon Kang)
1985년 연세대학교 전자공학과 (공학사)
1987년 미국 University of Pennsylvania 전기공학과 (공학석사)
1990년 미국 Drexel University 전기 및 컴퓨터 공학과 (공학박사)
1989년 ~ 1999년 삼성전자 반도체 수석연구원
1999년 ~ 현재 동아대학교 전자공학과 교수
2006년 ~ 2011년 멀티미디어 연구센터 소장
2006년 ~ 2013년 2단계 BK21 사업팀장
2013년 ~ 현재 BK21 Plus 사업팀장
※관심분야 : 영상신호처리, SoC설계 및 무선통신
References
Math Shaila S , Manjula R. B , Manvi S.S. , Kaunds Paul 2005 “A usability survey of a contents-based video retrieval system by combining digital video and an electronic bulletin board,” The Internet and Higher Education 8 (3) 251 - 262    DOI : 10.1016/j.iheduc.2005.06.005
Global Industry Analysts, Inc. 2012 Interactive Whiteboard (IWB): A Global Strategic Business Report. [Online]. Available:
Ko Eunsang , Rhee Yang Won , Lee Chang Woo 2012 "Implementation of Commercial IWB Interface using Image Processing," Journal of the Korea industrial information systems society 17 (6) 19 - 24    DOI : 10.9723/jksiis.2012.17.6.019
Takeoka Yoshiki , Miyaki Takashi , Rekimoto Jun “Z-touch: an infrastructure for 3d gesture interaction in the proximity of tabletop surfaces,” ACM International Conference on Interactive Tabletops and Surfaces 2010 91 - 94
Shotton Jamie , Fitzgibbon Andrew , Cook Mat , Sharp Toby , Finocchio Mark , Moore Richard , Kipman Alex , Blake Andrew 2011 “Real-time human pose recognition in parts from single depth images,” Computer Vision and Pattern Recognition 56 (1) 116 - 124
Kim Cheolha 2005 Pen-type position input device KR Patent KR-10-2004-0005190
Wolber G. 1990 “Digital Image Warping,” IEEE Computer Society Press