Project/Eng-Do2009. 3. 3. 13:03

[ 선문비트교육센터 Windows Developer 과정 최종 프로젝트 ]

 

   
   
증강 현실은 효율적인 시각적 정보 전달이라는 큰 이점이 있습니다. 이를 이용하      

    학습에 대한 흥미 및 동기, 몰입을 가지고 올 수 있습니다. 그리하여 학습자가 스스

    로의 의도에 의해 학습상황에 주도적으로 개입하게 되는 적극적 상호작용을 유도

    함으로써 의도적이고 능동적인 학습을 가능하게 할 수 있습니다. 본 프로젝트는 증

    현실 기술을 활용, 학습자 활동 중심의 체험 형 학습과 입체적 상호작용이 가능

    한 컨텐츠를 제공하고, 학습을 위한 다양한 모드를 제공함으로써 효과적인 학습을

    하도록 하였습니다.

      

 

 

 

 

 

 

 


 

 프로젝트명  Eng-Do ( English Do it )
 개발기간  2008.11.03 ~  2009.01.31
 개발환경  .NET Framework 3.5, Windows XP Service Pack3
 사용 DB  MS –SQL 2000
 Language / Tool

 C++, C#, VS 2008, Microsoft Expression Blend 2,

 DirectX SDK, 3D MAX 2008, Microsoft Speech SDK 5.1,

 WPF, ARToolkit Plus, Zam3D

 담당역할  - ARToolkit Plus Wrapping 작업

 - 로직 일반화

 - 전체 UI

 

프로젝트 개요

초등학교 어린이의 대상으로 한 영어 교육은 영어에 대한 친밀감과 자신감을 심어 주고 기초적인 의사소통 능력을 길러 주기 위해서는 유희적인 과정을 통한 언어 교육이 이루어져야 합니다. 자연스런 환경에서 어린이들이 하는 신체적 움직임을 관찰하면 거의 대부분이 놀이와 관련되어 있는 것을 알 수 있습니다. 심지어는 놀이의 상대방이 없는 혼자서 하는 행동도 놀이와 관련되어 있습니다. 이처럼 초등학교 어린이의 대상 영어교육은 놀이와 함께 자연스레 교육하는 것이 효과적일 것입니다. 본 프로젝트는 어린이가 놀이를 하면서 영어교육을 받을 수 있는 Edutainment 솔루션을 제작 하였습니다

 

결론 및 개선 사항

3가지 학습모드와 스케쥴 관리, 책 읽기, 음악듣기의 부가기능 구현하였습니다.

3개월의 제작 기간중 2개월을 문제 해결방안 모색으로 허비하여 초기 계획에 이르지 못하였습니다.

- 대전 기능 및 캐릭터 레벨 별 성장 기능 미포함.

 

문제점

① XAML파일로 변환 하기 쉬운 점만 믿고 3DS포맷 파일을 선택한 계산 착오.

뼈대를 삽입한 캐릭터를 3DS 파일로 변환 시 뼈대만 움직이는 현상 발생. ( 뼈대와 스킨과의 정보를 잃어 버림 )

 

해결방안

뼈대와 스킨의 정보를 잃지 않는 X, WRL, MQO 포맷 파일 사용.

WRL, MQO파일의 자료부족과 습득기간 부족으로 x파일을 선택.

③ Directx와 WPF의 렌더링 방식 차이로 인한 화면 불일치 발생.

④ Timer를 이용하여 Frame 단위 애니메이션 선택.

 

▶ 나중에 시간이 되면 꼭 해결 하고 싶습니다.

 

[ 시연 영상 ]

메인 화면은 DB를 연동하지 않고 촬영하여 실제적인 기능을 사용하지 않았습니다.

아래 두 영상은 친구가 촬영해 준 것이고 위 영상은 장강사님이 촬영 해주신 겁니다.

저의 조장형이 그날 긴장 해서 많이 떨었지만 이해해주세요.^ㅡ^
 

 

 

 

 

 
 
 [ PPT 내용 ]
 ppt는 첨부가 되지않아 다음 주소에서 다운받으실 수 있습니다.
 
  안녕하십니까 1조 EngDO프로젝트의 발표를 시작하겠습니다.
  먼저 3개월간 함께해온 팀원들을 소개하겠습니다.
  저희 조는 조장 박정수외 5명으로 구성되어 있습니다.
  차렷~경례
  저는 발표를 맡은 박정수입니다.
 
  목차는 다음과 같이 구성되어 있습니다.
  간단한 소개에 이어 EngDO의 기능소개와 기술 순서로 발표를 진행하겠습니다.

 

  증강 현실에 대해선 많이들 들어보셨을겁니다.
  증강 현실이란 현실 세계에 추가적인 정보를 사용자에게 보여 줌으로서 증강된 현실을 만들어내는 것 입니다.
  2008년 미국 시장 조사 기관인 가트너 그룹에서 미래를 이끌 10대 혁신 기술 중 하나로 증강현실(AR, Agumented Reality)
  기술을 꼽았습니다. 이처럼 많은 기대를 받고있는 기술이면서 여러분야에서 응용되고 활용될 수 있는 혁신 기술입니다.

 

  특히 증강 현실은 교육 적인 부분에서 큰 효과를 발휘 할수 있습니다. 아이들의 교육을 위한 교재는 텍스트 위주로 그림을 삽입한 책

  이 대부분이며, 간혹 평면적이지만 입체감을 주기 위한 팝업 북(pop-up book)이 있습니다. 그러나 증강 현실은 아이들과 적극적인

  상호작용(Interaction)을 할 수 있으며, 흥미와 동기유발을 시킬 수 있는 시각적인 정보를 제공함으로 서 학습자가 스스로의 의도에  

  의학습상황에 주도적으로 개입하여 의도적이고 능동적인 학습을 가능하게 할 수 있습니다. 저희 EngDO는 이러한 장점을 부각시

  킨 Edutainment프로그램 입니다.  그럼 EngDO의 주요기능에 대해 살펴보시겠습니다.

 

 

 

  주요 기능입니다.

  먼저 학습에 재미를 줄 수 있는 캐릭터가 있습니다.

  이 캐릭터들은 약간의 애니메이션들을 가지고 있어 학습자에게 흥미와 재미를 줄 수 하였습니다.

  다음으로 효과적 학습을 할 수 있는 다양한 모드와 챕터별 구분 학습 (스터디 모드, 리뷰 모드, 테스트 모드, 북 모드의 다양한 모드가

  존재하고 챕터별 구분 학습을 할 수 있습니다.

  그리고 부가 기능으로 학습 스케쥴 관리, 쥬크박스 기능등이 있습니다.

 

 

  저희의 아키텍쳐입니다.
  닷넷 프레임워크3.5기반에 WPF 라이브러리를 사용하였고
  ARToolKitPlus와 DirectShow 음성 사용을 위해 MicrosoftSpeech SDK 5.1을 사용하였습니다.
 

 

 
  저희의 엔진 흐름입니다.
  WPFARVideoApp는 저희의 핵심 엔진입니다.
  먼저 DirectShow로 PC에 연결된 캠의 내부 파라미터 정보와 외부 파라미터 정보 및 캡쳐화면을 가지고 오게 됩니다.
  그리고 ARToolKitPlus로 부터는 이미지안의 마커의 정보를 불러오게 됩니다.
  그 후 WPFARVideoApp에서 WPF3D로 마커와 화면의 정보를 변형 또는 갱신하는 작업을 수행하게 되고
  카메라 메트릭스를 프로젝션에 셋팅함으로써 증강현실 화면을 만들어 냅니다.
 

 

 
증강현실화면을 만들어내는 과정을 보시겠습니다.다음과 같은 절차를 걸쳐 이루어집니다.
먼저 웹캠 같은 영상기기에서 영상 이미지를 받아와 이미지를 이진화 시킵니다. 영상을 이진화 하기 위해서 스래드홀딩이라는 기법을 사용 합니다.
스래드홀딩 기법은 이미지에서 구별되어야 할 오브젝트와 그외의 나머지 배경을 구분해 내기위한 것으로 보이는 그림처럼 지정한 스래스홀드 값을 기준으로 각 픽셀을 흰색과 검정색으로 영상 이미지를 바꿉니다.
그 후 변환된 이미지를 라벨링 후에 윤곽(Contour) 정보를 얻기 위해 Edge Tracing 또는 Boundary Flowing 이라고도 하는 알고리즘을 수행합니다.
라벨링된 물체에 해당하는 번호별로 edge를 찾는 방법입니다.
먼저 라벨링된 어떤 픽셀 p(x,y) 를 만나면 그와 동일한 라벨링 번호를 갖는 픽셀을 찾아서 따라갑니다.
이때 찾는 방향은 진행 방향의 왼쪽으로 90도 꺽인 방향에서부터 45도 씩 5방향으로만 탐색하면 됩니다.
다음의 방법은 CW(시계방향) 방향으로 Contour 정보를 얻어옵니다.
① 순차 탐색을 하면서 라벨링된 어떤 물체를 x 를 만나면, 큐에 넣는다.
② 5방향 탐색을 하며 같은 라벨링 번호의 픽셀을 만나면 큐에 넣는다.
③ 이 과정을 반복하며 시작점을 만나면 완전한 물체로 인식하고 만나지 못하면 제거한다.
이후에 이렇게 찾은 오브젝트를 일반화 시킵니다.
이렇게 영상에서 추출한 패턴은 정사각형이 아니기 때문에 Pose Estimation(자세 근사화)를 통해 정사각형으로 만들어 줘야 합니다.
다음 패턴 일반화는 기존의 호모그래피 계산과 RPP알고리즘을 더하여 일반화 하였습니다.
템플릿 매칭이란 구성요소의 표준 패턴을 정합하는 방법을 말합니다. 영상 가운데서 내가 원하는 타겟을 미리 설정해두고 여러 가지가 뒤섞여있는 영상 내에서 그것을 정확히 검출해낼 수가 있기 때문에 탬플릿 매칭 기법은 얼굴의 눈, 코, 입 인식이나 다소 복잡한 패턴에 많이 쓰이고 있습니다. 이를 통해 크기, 방향, 위치에 구애받지않고 원하는 마커영상을 뽑아낼 수 있습니다.
이렇게 나온 좌표계 행렬은 오른손 좌표계를 따르고 있습니다. D3D에서 이용하는 좌표계는 왼손 좌표계이기 때문에 이 행렬을 변환하여 합니다.
다음 변환된 좌표를 기준으로 지정된 3D객체를 화면에 정합시킴으로써 증강현실화면을 만들어 냈습니다.  
 

 

  결론입니다.
  저희 솔루션은 AR 기반으로 영어 교육 컨텐츠 솔루션입니다..
  개선 사항입니다.
  증강현실로 몰입감을 더욱 줄 수 있도록 재밌고 다양한 컨텐츠의 추가입니다.
  그리고 랜더링 성능 개선의 여지가 남아있습니다.

 

 

  개발환경입니다.

 

  참조한 레퍼런스들 입니다.

 

 

  이상으로 1조 EngDO의 발표를 마치겠습니다.

 

 

Posted by 열ㅇl