KR20100086128A - Mixed Reality Situation Training System - Google Patents
Mixed Reality Situation Training System Download PDFInfo
- Publication number
- KR20100086128A KR20100086128A KR1020090005323A KR20090005323A KR20100086128A KR 20100086128 A KR20100086128 A KR 20100086128A KR 1020090005323 A KR1020090005323 A KR 1020090005323A KR 20090005323 A KR20090005323 A KR 20090005323A KR 20100086128 A KR20100086128 A KR 20100086128A
- Authority
- KR
- South Korea
- Prior art keywords
- marker
- image
- xsd
- camera
- unit
- Prior art date
Links
- 238000012549 training Methods 0.000 title claims abstract description 72
- 239000003550 marker Substances 0.000 claims abstract description 100
- 239000011159 matrix material Substances 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 238000013500 data storage Methods 0.000 claims abstract description 10
- 238000012546 transfer Methods 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 14
- 238000002372 labelling Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 208000035976 Developmental Disabilities Diseases 0.000 description 4
- 235000013305 food Nutrition 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- YSGQGNQWBLYHPE-CFUSNLFHSA-N (7r,8r,9s,10r,13s,14s,17s)-17-hydroxy-7,13-dimethyl-2,6,7,8,9,10,11,12,14,15,16,17-dodecahydro-1h-cyclopenta[a]phenanthren-3-one Chemical compound C1C[C@]2(C)[C@@H](O)CC[C@H]2[C@@H]2[C@H](C)CC3=CC(=O)CC[C@@H]3[C@H]21 YSGQGNQWBLYHPE-CFUSNLFHSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003923 mental ability Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/003—Repetitive work cycles; Sequence of movements
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/06—Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 실제 훈련 환경에 마커를 두고 실제 공간에서는 사용하기 어려운 물체들을 가상 물체로 대체한 혼합 현실 공간을 구성하여 발달 장애인이 안전하고 주변 환경의 제약 없이 반복 훈련할 수 있도록 하는 상황 훈련 시스템에 관한 것으로, 본 발명에 의한 혼합 현실 상황 훈련 시스템은, 하나 이상의 마커를 포함한 실제 현실의 영상을 촬영하는 카메라; 카메라에 의해 촬영된 영상을 입력하는 카메라 입력부와, 카메라 입력부에 의해 입력된 영상에 포함된 모든 마커들을 검출하여 각각 위치좌표와 회전정보를 포함하는 마커 매트릭스를 생성하는 마커 검출부와, 3차원 모델 데이터를 저장하는 모델 데이터 저장부와, 마커 검출부로부터 전달되는 마커 매트릭스를 이용하여 특정 마커의 가시성, 마커와 마커의 거리 및 카메라의 시점과 마커 간의 거리를 생성하고 조합하여 훈련자의 행동 정보를 생성하고, 미리 정의된 시나리오에 따른 장면 정보에 훈련자의 행동 정보를 적용하여 훈련자에게 제공하는 장면 정보와 다음 장면으로의 이전 여부를 결정하는 상황 제어부와, 카메라 입력부에 의해 입력된 영상을 백그라운드 이미지로 하고 마커 검출부로부터 전달되는 마커 매트릭스를 이용하여 마커 위치에 모델 데이터 저장부에서 대응하는 3차원 모델을 인출하여 정합하는 영상 정합부와, 영상 정합부에 의해 정합된 영상을 출력하는 HMD 출력부를 구비한 훈련제어장치; 및 카메라와 일체로 결합되고, HMD 출력부에 의해 출력되는 영상을 디스플레이하는 두부장착형 디스플레이;를 포함하여 구성된다.The present invention relates to a situation training system that allows a developmentally disabled person to repeat the training safely and without limitations of the surrounding environment by constructing a mixed reality space in which a marker is placed in a real training environment and objects that are difficult to use in a real space are replaced with virtual objects. In other words, the mixed reality training system according to the present invention includes a camera for photographing an image of real reality including one or more markers; A camera input unit for inputting an image captured by the camera, a marker detection unit for detecting all markers included in the image input by the camera input unit, and generating a marker matrix including position coordinates and rotation information, respectively, and three-dimensional model data Using the model data storage unit for storing the, and the marker matrix transmitted from the marker detection unit generates and combines the visibility of a specific marker, the distance between the marker and the marker, and the distance between the camera's viewpoint and the marker to generate the trainer's behavior information, The situation controller which determines the scene information provided to the trainer and whether to transfer to the next scene by applying the behavior information of the trainer to the scene information according to the predefined scenario, the image inputted by the camera input unit as a background image, and the marker detector The marker matrix passed from A training control device including an image matching unit for retrieving and matching a corresponding 3D model from the model data storage unit, and an HMD output unit for outputting an image matched by the image matching unit; And a head mounted display which is integrally coupled with the camera and displays an image output by the HMD output unit.
Description
본 발명은 혼합 현실을 기반으로 한 상황 훈련 시스템에 관한 것으로, 보다 상세하게는 실제 훈련 환경에 마커를 두고 실제 공간에서는 사용하기 어려운 물체들을 가상 물체로 대체한 혼합 현실 공간을 구성하여 발달 장애인이 안전하고 주변 환경의 제약 없이 반복 훈련할 수 있도록 하는 상황 훈련 시스템에 관한 것이다.The present invention relates to a situation training system based on mixed reality, and more particularly, to construct a mixed reality space in which a marker is placed in a real training environment and a virtual object is replaced with objects that are difficult to use in a real space. And a situational training system that allows repetitive training without limitations of the surrounding environment.
일반적으로 발달 장애인은 신체 및 정신이 해당 연령의 정상 기대치보다 25%이상 뒤져 있어 일상생활 혹은 사회생활을 영위하기 위한 기능 수행에 제한을 받아 도움이 필요한 사람을 말한다. 이들은 지적 기능이 제한되어 있고 적응 능력이 부족하기 때문에, 일상생활에 적응하고 직장생활을 영위하는 데는 많은 어려움이 있다. 발달 장애인들이 이러한 어려움을 극복하기 위해서는 다양한 훈련을 해야 한다. 위험한 도구를 다루는 훈련, 상점이나 음식점을 이용하는 훈련, 도로 교통안전 훈련 등이 그 예가 될 수 있다. 하지만, 실제 도구를 가지고 훈련을 하거나 현장에서 훈련을 행하는 것은 안전사고 발생의 가능성이 일반인에 비해 월등히 높기 때문에 어려움이 있다.In general, people with developmental disabilities are those who need help because their physical and mental abilities are 25% or more behind the normal expectations of their age, and are restricted from performing their functions for daily or social life. Because of their limited intellectual functioning and lack of adaptability, they have a lot of difficulties in adapting to their daily lives and in their work lives. People with developmental disabilities need to be trained to overcome these difficulties. Examples include training in hazardous tools, training in stores or restaurants, and road traffic safety training. However, training with real tools or training in the field is difficult because the possibility of a safety accident is much higher than that of the general public.
혼합현실 기술의 활용은 앞서 언급한 발달 장애인들이 훈련을 수행하는데 있어서 어려운 점을 해소시켜 줄 수 있다. 교사의 도움 없이 직접 다루기 어려운 도구들을 다루는 법을 습득하거나 현장에서 경험해보기 어려운 장소들을 혼합 현실을 기반으로 한 훈련을 통해 겪어볼 수 있다.The use of mixed reality technology can alleviate the challenges of the developmental disabilities mentioned above. You can learn how to handle difficult-to-handle tools without the help of a teacher, or experience places that are hard to experience in the field through training based on mixed reality.
혼합 현실 기술을 교육에 활용하는 연구는 국내외적으로 활발히 진행되고 있다. 국내에서는 한국전자통신연구원에서 상용화를 목적으로 실감형 e-러닝 기반 개인맞춤형 학습 시스템을 개발하였다. 이 시스템에 의하면 카메라를 사용하여 마커가 부착된 교재를 보게 되면, 사용자는 모니터를 통해 교재 내용과 함께 가상 콘텐츠를 볼 수 있다.Researches that use mixed reality technology in education are being actively conducted at home and abroad. In Korea, the Korea Electronics and Telecommunications Research Institute developed a personalized learning system based on realistic e-learning for the purpose of commercialization. According to the system, when a user uses a camera to view a textbook with markers, the user can view virtual text along with the text on a monitor.
국외에서는 싱가포르의 난양기술대학교의 HIT lab에서 독자적인 마커인식 기술을 이용하여 3D 매직 큐브(magic cube), 3D 매직 랜드 등 AR기술을 적용한 에듀테인먼트용 콘텐츠를 개발하였다. 3D 매직 큐브는 실제 사용자가 카메라가 부착된 HMD(Head Mounted Display)를 착용하고 마커 기반의 큐브를 보면, 음성이 들리면서 가상 콘텐츠를 볼 수 있다. 오스트리아의 Vienna University of Technology에서는 최초로 PDA를 이용하여 혼합현실을 구현하였다. Invisible train이라는 이 콘텐츠는 2명의 사용자가 PDA를 들고 주변에 마커가 부착된 레일을 보게 되면, 레일 위로 가상의 기차가 움직이고 사용자가 이를 조작할 수 있다.Overseas, HIT Lab, Nanyang Technological University, Singapore, developed unique contents for edutainment using AR technology such as 3D Magic Cube and 3D Magic Land using unique marker recognition technology. 3D Rubik's Cube can be viewed by a real user wearing a head-mounted display (HMD) with a camera attached to the marker-based cube. Vienna University of Technology, Austria, is the first to implement mixed reality using PDAs. This content, called an invisible train, shows that when two users grab a PDA and see a rail with markers around it, a virtual train moves over the rail and the user can manipulate it.
이 같은 연구들은 혼합 현실 기반의 사용자 체험 중심 교육 및 훈련 시스템을 제공하고 있으며, 미리 정의된 마커를 사용하여 영상을 기반으로 특정 위치를 추적하는 기술을 사용한다. 영상의 정보로 위치를 추적하기 때문에 카메라 이외에 특수 장비를 사용하지 않음으로써 적은 비용으로 쉽게 활용이 가능하며 미리 정의된 패턴의 마커를 사용함으로써 위치 추적의 성능과 정확도를 향상시킨다.These studies provide a user experience-based education and training system based on mixed reality, and use a technique to track a specific location based on images using predefined markers. Since the location is tracked by the information of the image, it is easy to use at low cost by not using special equipment except the camera, and the performance and accuracy of the location tracking are improved by using the marker of the predefined pattern.
반면, 장애인들을 위한 교육 및 훈련 시스템에서는 이러한 활용성, 성능 및 정확도 문제뿐 아니라 장애인의 예측할 수 없는 돌발 상황에 대한 대응도 필요하며, 조작 복잡한 기기를 사용하는 것은 인지 능력이 부족한 장애인들에게는 어려운 일이기 때문에 단순한 조작을 통해 장비를 사용할 수 있어야 한다. 또한, 마커가 훈련 화면상에서 장애인들에게 보여 지게 될 경우 집중력을 흐트러뜨리거나 혼란을 유도할 수 있기 때문에 이에 대한 고려도 필요하다.On the other hand, education and training systems for people with disabilities require not only these usability, performance and accuracy issues, but also the response to unforeseen unforeseen situations of the disabled. Because of this, the equipment must be available for simple operation. In addition, if the marker is shown to people with disabilities on the training screen, it is necessary to consider this because it may distract concentration or induce confusion.
본 발명은 상기의 문제점들을 해결하기 위하여 창안된 것으로, 훈련자가 카메라가 부착된 HMD를 착용하고 혼합 현실 공간을 움직이면서 미리 설정된 상황에 대해 훈련을 할 때, 마커를 통해 획득된 정보를 기반으로 삽입된 가상의 물체들을 현실상의 물체와 동일하게 인지할 수 있으며, 실제 물체를 이동시키는 것처럼 가상의 물체들을 움직일 수 있도록 함으로써 발달장애인들의 부족한 인지 능력과 상황 대처 능력 향상에 도움을 주는 혼합 현실 상황 훈련 시스템을 제공함을 그 목적으로 한다.The present invention was devised to solve the above problems, and when a trainer trains on a preset situation while wearing a HMD with a camera attached and moves in a mixed reality space, it is inserted based on information obtained through a marker. It is a hybrid reality training system that can recognize virtual objects in the same way as real objects and improves the cognitive and situational coping ability of the developmental disabled by moving the virtual objects as if they were moving the real objects. The purpose is to provide.
상기의 목적들을 달성하기 위하여, 본 발명에 의한 혼합 현실 상황 훈련 시스템은, 하나 이상의 마커를 포함한 실제 현실의 영상을 촬영하는 카메라; 상기 카 메라에 의해 촬영된 영상을 입력하는 카메라 입력부와, 상기 카메라 입력부에 의해 입력된 영상에 포함된 모든 마커들을 검출하여 각각 위치좌표와 회전정보를 포함하는 마커 매트릭스를 생성하는 마커 검출부와, 3차원 모델 데이터를 저장하는 모델 데이터 저장부와, 상기 마커 검출부로부터 전달되는 마커 매트릭스를 이용하여 특정 마커의 가시성, 마커와 마커의 거리 및 상기 카메라의 시점과 마커 간의 거리를 생성하고 조합하여 훈련자의 행동 정보를 생성하고, 미리 정의된 시나리오에 따른 장면 정보에 상기 훈련자의 행동 정보를 적용하여 훈련자에게 제공하는 장면 정보와 다음 장면으로의 이전 여부를 결정하는 상황 제어부와, 상기 카메라 입력부에 의해 입력된 영상을 백그라운드 이미지로 하고 상기 마커 검출부로부터 전달되는 마커 매트릭스를 이용하여 마커 위치에 상기 모델 데이터 저장부에서 대응하는 3차원 모델을 인출하여 정합하는 영상 정합부와, 상기 영상 정합부에 의해 정합된 영상을 출력하는 HMD 출력부를 구비한 훈련제어장치; 및 상기 카메라와 일체로 결합되고, 상기 HMD 출력부에 의해 출력되는 영상을 디스플레이하는 두부장착형 디스플레이;를 포함하여 구성된다.In order to achieve the above objects, the mixed reality situation training system according to the present invention comprises a camera for photographing an image of real reality including one or more markers; A camera input unit for inputting an image photographed by the camera, a marker detection unit for detecting all markers included in the image input by the camera input unit, and generating a marker matrix including position coordinates and rotation information, respectively; A model data storage unit for storing dimensional model data and a marker matrix transmitted from the marker detector generate and combine the visibility of a specific marker, the distance between the marker and the marker, and the distance between the camera's viewpoint and the marker, and then perform the training of the trainer. A situation controller configured to generate information, determine scene information provided to the trainer by applying the behavior information of the trainer to scene information according to a predefined scenario and whether to transfer to the next scene, and an image input by the camera input unit Is a background image and is transmitted from the marker detection unit. A training control device having an image matching unit for extracting and matching a corresponding 3D model from the model data storage unit at a marker position using a Kerr matrix, and an HMD output unit for outputting an image matched by the image matching unit; And a head mounted display which is integrated with the camera and displays an image output by the HMD output unit.
상기 혼합 현실 상황 훈련 시스템에서 상기 마커 검출부는, 카메라 입력부에 의해 입력된 영상의 이미지를 이진화하고, 레이블링하고, 마커의 윤곽선을 검출한 후, 미리 정의된 마커들과 패턴을 비교하여 검출된 마커의 패턴을 결정하고, 검출된 마커 이미지의 크기와 모양을 통해 카메라를 원점으로 하였을 때의 마커의 위치좌표와 회전정보를 포함하는 마커 매트릭스를 생성하는 것을 특징으로 한다.In the mixed reality training system, the marker detector is configured to binarize, label, and detect the contour of the image input by the camera input unit, and then compare the pattern with a predefined marker to detect the marker. The pattern is determined, and a marker matrix including position coordinates and rotation information of the marker when the camera is at the origin through the size and shape of the detected marker image is generated.
상기 혼합 현실 상황 훈련 시스템에서 상기 마커 검출부는, 마커의 위치좌표에 칼만 필터를 적용하는 것을 특징으로 한다.The marker detection unit in the mixed reality training system is characterized in that to apply a Kalman filter to the position coordinates of the marker.
상기 혼합 현실 상황 훈련 시스템에서 상기 상황 제어부에 의해 제공되는 장면 정보에는, 애니메이션, 동영상, 음성 및 텍스트 중 적어도 하나 이상을 포함됨을 특징으로 한다.The scene information provided by the context controller in the mixed reality context training system may include at least one of animation, video, voice, and text.
상기 혼합 현실 상황 훈련 시스템에서 상기 상황 제어부에서 시나리오에 따른 장면 정보는, XML 스키마로 표현됨을 특징으로 한다.In the mixed reality training system, scene information according to a scenario may be represented by an XML schema in the situation controller.
이상 설명한 바와 같이 본 발명에 따르면, 일상생활에서 훈련하기 어려운 특정 상황을 근거로 하여 시나리오를 구성하고 이러한 시나리오에 체험감을 증폭시키기 위하여 훈련 공간을 현실과 같이 느낄 수 있는 혼합 현실 환경을 구성함으로써, 발달장애인들이 간편한 장비로 안전하게 훈련에 임할 수 있고, 다양한 가상 모델들을 사용함으로써 흥미유발이 가능하고, 반복 훈련을 통하여 훈련 결과를 개선할 수 있는 효과를 얻을 수 있다.As described above, according to the present invention, by constructing a scenario based on specific situations that are difficult to train in daily life, and by constructing a mixed reality environment in which a training space can be felt as reality in order to amplify the experience in such a scenario, People with disabilities can train safely with simple equipment, can be interested by using various virtual models, and can improve the training results through repetitive training.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1에 의하면, 본 발명에 의한 혼합 현실 상황 훈련 시스템(1)은 카메라(10), 훈련제어장치(20) 및 카메라(10)와 일체로 결합된 두부장착형 디스플레이(이하 HMD라 한다)(30)를 포함하여 구성된다.1, the mixed
카메라(10)는 실제 현실 세계의 영상을 촬영하여 훈련제어장치(20)로 제공하는데, 카메라(10)가 촬영하는 현실 세계에는 하나 이상의 마커들이 부착되고, 카메라(10)가 촬영한 영상에는 이 마커들의 이미지가 함께 포함된다. The
훈련제어장치(20)는 대응하는 기능을 포함하는 소프트웨어를 장착한 정보처리장치에 의해 구현될 수 있는데, 본 발명의 바람직한 일 실시예에서는 정보처리장치로 개인용 컴퓨터(PC)가 사용된다. 개인용 컴퓨터에 구현된 훈련제어장치(20)는 기능적으로 카메라 입력부(21), 마커 검출부(22), 모델 데이터 저장부(23), 상황 제어부(24), 영상 정합부(25) 및 HMD 출력부(26)를 구비한다.The
카메라 입력부(21)는 카메라(10)에 의해 촬영된 영상을 훈련제어장치(20)로 입력하는데, USB(Universal Serial Bus) 포트와 이를 제어하는 드라이버로 구성된다.The
마커 검출부(22)는 카메라 입력부(21)에 의해 입력된 영상에 포함된 모든 마커들을 검출하여 각각 위치좌표와 회전정보를 포함하는 마커 매트릭스를 생성한다. The
마커 검출부(22)가 마커를 검출하는 과정을 도 2를 참조하여 설명하면 다음과 같다. 도 2에서 좌측은 마커 검출 과정을 단계별로 도식화한 것이고, 우측은 각 단계에 대응하는 영상을 표현한 것이다.The process of detecting the marker by the
먼저 기본 영상은 카메라 입력부에 의해 입력된 영상으로 RGB의 칼라 영상이다. First, the basic image is an image input by the camera input unit and is a color image of RGB.
이진화 단계에서는 기본 칼라 영상을 흑백 영상으로 전환한다. 이때, R(적색), G(녹색), B(청색)의 각 값을 합한 값이 소정의 임계값 (T)보다 작으면 흑색이고, 크면 백색으로 결정한다.In the binarization step, the basic color image is converted into a black and white image. At this time, if the sum of the values of R (red), G (green), and B (blue) is smaller than the predetermined threshold value T, it is black.
레이블링 단계에서는 주변의 색상이 동일한 경우 확장해 나가면서 구역을 정하고, 독립적으로 정해진 구역에 대해서는 별도의 구역별 식별자(ID)를 부여하고, 마커일 가능성이 높은 구역을 추려낸다.In the labeling stage, if the surrounding colors are the same, the area is expanded while the area is defined. For the independently determined area, a separate area ID is assigned, and the area most likely to be a marker is selected.
윤곽선 검출 단계에서는 마커일 가능성이 높은 구역에 대하여 영상의 x 축 또는 y 축으로 편미분하여 그 변화량을 기준으로 하여 윤곽선을 검출하여 사각형의 정점을 알아낸다.In the contour detection step, the vertices of the quadrangle are found by detecting the contours based on the amount of change based on the amount of change of the region, which is likely to be a marker, by the partial differential.
패턴 비교 단계에서는 윤곽선 검출에 의해 검출된 마커를 미리 정의된 마커 들(패턴 파일)과 패턴을 비교하여 검출된 마커의 패턴을 결정한다. 패턴 파일에는 마커의 내부의 모양이 그레이 영상값으로 표현되어 있다. 4방향으로 회전된 패턴 정보와 영상에서 검출한 사각형 비교하여 일치도를 산출하고, 일치도 값이 가장 높은 것을 해당 패턴으로 확정하게 된다. 또한, 이와 같이 결정된 마커의 패턴에 의해 마커마다 부여된 마커 식별자를 결정할 수 있다.In the pattern comparison step, a pattern of the detected marker is determined by comparing the pattern detected by the contour detection with a pattern with predefined markers (pattern file). In the pattern file, the internal shape of the marker is represented by gray image values. The degree of agreement is calculated by comparing the pattern information rotated in the four directions with the rectangles detected in the image, and the one having the highest degree of agreement is determined as the corresponding pattern. In addition, the marker identifier given to each marker can be determined by the pattern of the marker thus determined.
좌표 정규화 단계에서는 검출된 마커 이미지의 크기와 모양을 통해 카메라를 원점으로 하였을 때의 마커의 위치좌표와 회전정보를 포함하는 마커 매트릭스를 생성한다.In the coordinate normalization step, a marker matrix including position coordinates and rotation information of the marker when the camera is the origin through the size and shape of the detected marker image is generated.
마커 매트릭스는 4x4 매트릭스로서, 다음과 같은 의미로 구성되어 있다.The marker matrix is a 4x4 matrix and has the following meaning.
수학식 1에서의 좌측 상단 3x3 매트릭스가 3차원에서의 회전 정보를 나타내며, 각각 한 행씩 3차원에서의 축을 나타내는 방향 벡터로 사용된다. The upper left 3x3 matrix in
다음으로 수학식 2의 마지막 행은 회전 변환이 적용된 후, 원점으로부터의 이동좌표 tx, ty, tz 를 의미한다. 이 매트릭스는 카메라를 원점으로 하기에 카메라와 마커 간의 거리는 수학식 3과 같이 구할 수 있다.Next, the last row of
또한 마커 비교에서 자주 사용하는 두 마커 간의 거리는 수학식 4와 같다.In addition, the distance between two markers frequently used in the marker comparison is shown in Equation 4.
카메라 영상으로부터 마커를 검출하여 카메라의 위치좌표를 생성해 내므로 그 결과가 영상에 매우 종속적이다. 카메라 파라미터나 주변광 등 몇몇 요인에 의해 카메라 영상에서의 마커의 위치좌표는 때때로 카메라가 고정된 상태에서도 인접 프레임 간에 비교적 큰 차이를 보이게 된다. 다시 말하면, 카메라 영상의 마커로부터 위치좌표 값을 계산해 내는 과정에서 미세한 변화에 대해서도 그 위치좌표 값은 상당한 차이를 갖게 되고, 그러한 원인에 의해서 생성된 위치좌표 값을 연속으로 관측하게 되면 불안정한 형태, 즉 떨림 현상이 발생하게 된다. 따라서 생성된 위치좌표 값의 신뢰도를 높이고자 본 발명에서는 칼만 필터를 적용하여 그 문제를 해결한다.Since the marker is detected from the camera image to generate the position coordinates of the camera, the result is very dependent on the image. Due to some factors such as camera parameters and ambient light, the positional coordinates of markers in the camera image sometimes show relatively large differences between adjacent frames even when the camera is fixed. In other words, even in the case of calculating the position coordinate value from the marker of the camera image, the position coordinate value has a significant difference, and continuous observation of the position coordinate value generated by the cause causes an unstable shape, that is, The shaking phenomenon occurs. Therefore, in order to improve the reliability of the generated position coordinate values, the present invention solves the problem by applying a Kalman filter.
칼만 필터란 오차 보정 알고리즘으로서 공학 전반에 걸쳐 사용되어지는 알고리즘이다. 칼만 필터에서는 연속적인 입력 데이터들의 평균을 구하는데 있어서, 기존의 평균과 표준편차(일반적인 오류정도)와 새로운 입력데이터와 표준편차(일반 적인 오류정도)를 사용하여 평균을 구한다.Kalman filter is an error correction algorithm that is used throughout engineering. The Kalman filter calculates the average of successive input data using the existing mean and standard deviation (general error) and the new input data and standard deviation (general error).
위 방법은 가장 기본적인 방법을 의미하고, 실제로 사용되는 방정식은 이를 응용한 다양한 변형식을 사용한다.The above method means the most basic method, and the equations used in practice use various transformations that apply them.
변형된 칼만 필터 알고리즘은 다음과 같다.The modified Kalman filter algorithm is as follows.
<Time update equations><Time update equations>
<Measurement update equations><Measurement update equations>
오차와 오차의 표준편차를 사용하여 계산한다. 본 발명에서는 H를 사용하지 않기에 1로 정하고 식을 간단히 표시한다면, K = P' / (P' + R) 로 나타낼 수 있다.Calculate using the error and standard deviation of the error. In the present invention, if H is not used and it is set to 1 and the equation is simply expressed, it can be expressed as K = P '/ (P' + R).
민감도(s)를 정하는데 두 가지 요소를 사용한다. 이전 데이터와 현재 데이터 간의 거리차(d)와는 비례하고, 카메라로부터 물체와의 거리(f)와는 반비례합한다. Two factors are used to determine the sensitivity (s). It is proportional to the distance difference d between the previous data and the current data, and inversely proportional to the distance f from the camera to the object.
이는 데이터를 보정시키는데 카메라로부터 가까이 있을 경우나 움직임이 큰 경우, 민감도를 높여 반응속도를 빠르게 표현하기 위해서이다.This is to correct the data so that the response speed can be increased by increasing the sensitivity when it is close to the camera or when the motion is large.
여기까지의 과정이 데이터 보정 단계이며, 다음 수학식 11 단계는 보정 단계에서 사용하는 오차 값을 재설정하는 단계이다.The process so far is a data correction step, and the following equation (11) is a step of resetting the error value used in the correction step.
알고리즘에서 은 최적화 전의 상태변수이고, 는 우리가 얻고자 하는 최적화된 상태변수이다. 는 단계의 오차를 이용해 갱신한 새로운 오차 값이고, 와 은 각각 참값과 오차에 대한 분산, 그리고 는 칼만 게인 값으로 예측된 오차 과 을 이용해 계산해 낸다. In the algorithm Is the state variable before optimization, Is the optimized state variable we want to get. Is Is the new error value updated using the error of the step, Wow Are the variances of the true value and the error, and Is the error predicted by the Kalman gain value and Calculate using
은 구축된 3D 공간의 깊이에 비례하는 계수이다. 는 각각 마커의 움직임에 대한 3차원 공간 좌표이고, 이러한 좌표들을 이용해 기본 칼만 필터 식에 추가적인 입력 s를 계산해 낸다. s는 입력 값의 민감도와 관련이 있는 계수로써 기존 식에서 고정 상수 1 이었으나 본 시스템에서는 마커의 움직임에 비례, 거리에 반비례하는 관계를 가지고 값이 변하게 되며 그 범위가 1 ~ 5 로 정해진다. s가 1에 가까울수록 상태변수 의 값은 안정적이고 잡음에 강하게 되며, 반대로 1과 멀어질수록 반응성이 올라가게 된다. Is a coefficient proportional to the depth of the constructed 3D space. Are each three-dimensional space coordinates of the marker's movement, and these coordinates are used to compute additional input s to the basic Kalman filter equation. s is a coefficient that is related to the sensitivity of the input value, which was a fixed constant of 1 in the existing equation. However, in this system, the value changes with the relation proportional to the marker movement and inversely proportional to the distance, and the range is set to 1 to 5. As s approaches 1, the state variable The value of is stable and noise-resistant. On the contrary, the distance from 1 increases the responsiveness.
기본적인 칼만 필터의 알고리즘에서 수학식 10의 s에 대한 식을 추가하였고, 수학식 6 내지 11이 반복적으로 수행되며, 예측된 입력 값과 실제 입력 값, 오차 값 그리고 참값과 오차 값의 표준 편차를 이용하여 최적화된 상태변수 을 구해 낸다. In the basic Kalman filter's algorithm, the equation for s in
다시 도 1에서 모델 데이터 저장부(23)는 3차원 모델 데이터를 저장하는데, 하드디스크, 플래시 메모리 등과 같은 비휘발성 저장수단이 사용된다.In FIG. 1, the model
상황 제어부(24)는 마커 검출부(22)로부터 전달되는 마커 매트릭스를 이용하여 특정 마커의 가시성, 마커와 마커의 거리 및 카메라의 시점과 마커 간의 거리를 생성하고 조합하여 훈련자의 행동 정보를 생성한다. 또한, 상황 제어부(24)는 미리 정의된 시나리오에 따른 장면 정보에 훈련자의 행동 정보를 적용하여 훈련자에게 제공하는 장면 정보와 다음 장면으로의 이전 여부를 결정한다.The
영상 정합부(25)는 카메라 입력부(21)에 의해 입력된 영상을 백그라운드 이미지로 하고, 마커 검출부(22)로부터 전달되는 마커 매트릭스를 이용하여 마커 위치에 모델 데이터 저장부(23)에서 대응하는 3D 모델을 인출하여 정합한다. 이때, 백그라운드 이미지는 직교 투영을 이용한 텍스쳐 매핑을 수행하고, 3D 모델은 원근 투영을 하여 마커 매트릭스를 기준으로 렌더링한다.The
HMD 출력부(26)는 영상 정합부(25)에 의해 정합된 영상을 HMD(30)로 출력하는데, D-SUB 출력 단자, USB 포트와 이를 제어하는 드라이버로 구성된다.The
HMD(30)는 카메라(10)와 일체로 결합되고, HMD 출력부(26)에 의해 출력되는 영상을 디스플레이한다.The
발달장애인들의 인지 능력을 향상시키고, 처한 상황에 맞는 적절한 대응 행 동을 하는데 도움을 주기위한 훈련에는 교통안전훈련, 위험한 도구 사용법 학습, 상점이나 음식점 이용 훈련 등이 있다. 이러한 훈련 중 음식점의 종업원이 되어 직접 음식 서빙을 해보는 상황을 기반으로 한 기본적인 훈련 시나리오는 표 1과 같다. 훈련은 현재 단계를 성공하여야 다음 단계로 진행되며, 현재 단계를 실패하였을 시에는 반복적인 훈련을 취하게 된다.Training to improve the cognitive abilities of people with developmental disabilities and to help them respond appropriately to their situation includes traffic safety training, learning to use dangerous tools, and using shops and restaurants. Table 1 shows the basic training scenarios based on the situation of serving a restaurant and serving food directly. The training will be progressed to the next stage only if the current stage is successful. If the current stage fails, the training will be repeated.
상황훈련 시나리오에서 장애인의 잘못된 행동에 대한 처리가 필요하다. 다만, 모든 상황을 예측할 수 있는 것이 아니므로, 예측가능하며 시나리오 흐름에 영향을 미치는 돌발 상황을 정의하고, 이에 대한 피드백 처리를 한다. 본 발명에서 정의한 돌발 상황은 벽면에 마커를 두고, 벽면 마커의 거리가 가까워지는 것을 돌발 상황으로 정의한다. 시나리오 진행 중 돌발 상황 조건을 만족하였을 경우 돌발 상황으로 진입하여 사용자에게 잘못된 행동이라는 음성 멘트를 제공한다.In situational training scenarios, it is necessary to address the wrong behavior of people with disabilities. However, not all situations can be predicted, so the unexpected situation that is predictable and affects the scenario flow is defined and feedback processing is performed. The accident situation defined in the present invention is defined as an accident situation in which a marker is placed on a wall surface and a distance of the wall marker is closer. When the scenario condition is satisfied while the scenario is in progress, the scenario is entered and the user is provided with a voice comment of wrong behavior.
혼합 현실 상황 훈련 시스템(1)은 카메라(10)를 기반으로 하는 혼합 현실 환경에서 훈련을 수행하도록 지원한다. 혼합 현실 상황 훈련 시스템(1)을 이용한 훈련은 훈련자가 HMD(30)를 쓰고 실제 공간에서 훈련을 수행하면, HMD(30)에 부착된 카메라(10)가 훈련자의 정면을 촬영하여 획득된 실세계 영상과 가상의 3D 모델들을 정합한 혼합된 현실을 훈련자의 HMD(30)와 훈련제어장치(20)의 모니터(도시되지 않음) 상에 보여주어 상호작용을 하도록 이루어져 있다.The mixed reality
이러한 훈련 환경을 개략적으로 보이면 도 3과 같다.3 schematically shows this training environment.
주방 테이블(50)에는 가상의 음식 모델(도시되지 아니함)들이 보여 지고, 손님 테이블(70)에는 가상의 손님 모델(80)이 보여 진다. 훈련자(60)는 주방 테이블(50)과 손님 테이블(70) 사이를 이동하면서 시나리오에 정의된 훈련 과정에 따라 가상의 음식들을 서빙하는 것을 훈련한다.A virtual food model (not shown) is shown in the kitchen table 50, and a
본 발명에서는 사람의 시야를 카메라 영상으로 대체하기 위하여 HMD(30)와 카메라(10)를 붙여서 사용한다. 따라서 사용자 행동 파악도 카메라(10)에 들어오는 영상 기반의 마커 매트릭스로 파악한다. 본 발명에서 사용하는 마커의 정보는 다음과 같다.In the present invention, the
- 특정 마커의 가시성 : 현재 프레임에서 마커를 찾을 수 있는지 여부-Visibility of a specific marker: whether the marker can be found in the current frame
- 마커 간의 거리 계산 : 현재 프레임에서 찾을 수 있는 마커 두 개 사이의 거리-Distance calculation between markers: Distance between two markers found in the current frame
- 시점과 마커 간의 거리 : 마커 매트릭스의 z 축 방향 이동 좌표-Distance between marker and marker: z-axis movement coordinate of marker matrix
위에서 나타내어진 정보를 조합하여 훈련자(60)가 현재 시나리오에서 어떠한 행동을 하는지 유추할 수 있다. 예를 들어 훈련자(60)가 특정한 위치로 이동해야 하는 행동을 훈련한다고 가정한다면, 주변에 배치한 마커의 정보와 카메라 영상에서의 마커의 좌표를 통하여 훈련자가 현재 어디쯤에 위치하였는지를 알 수 있다. 또 물건을 이용하는 훈련의 경우, 마커 간의 거리 계산은 물건의 이동이나 움직임을 유추할 수 있는 정보로 사용되어 지며, 더 나아가 마커의 매트릭스 비교를 통하여 단순히 물체간 거리 추정이 아니라 물체들의 기울기나 방향 등을 구하는데 사용될 수 있다.The information presented above can be combined to infer what the
훈련이 준비된 공간에서 훈련자(60)는 HMD(30)를 착용하고 대기한다. 훈련이 시작되면 시나리오별로 정의된 데이터에 따라 음성멘트와, 동영상, 애니메이션 등을 통하여 훈련자(60)가 현재 단계에서 취해야하는 행동을 알려주게 된다. 도 4는 상황 제어부(24)에 의한 상황 제어 과정을 예를 들어 도시한 것이다. 상황 제어 과정은 시나리오 체크 단계(S10), 조건 검사 단계(S20), 조건 및 예외검사 단계(S30) 및 예외 처리 단계(S40)를 포함한다. 훈련자(60)는 장면별로 정의되어 있는 훈련 성공 조건을 충족해야 하며, 성공 조건을 충족시키면 다음 장면을 수행하도록 진행된다. 만약 성공 조건을 정해진 시간 내에 충족시키지 못했을 경우 반복하여 훈련하도록 한다.In the space where training is prepared, the
본 발명에서는 시나리오를 표현하는 공통된 형식을 정하고 이를 수용하는 프로그램을 제작함으로써, 새로운 시나리오를 추가할 때 데이터 파일만 추가함으로서 쉽게 시나리오를 제작할 수 있다. 즉 프로그램과는 독립적으로 시나리오 컨텐츠 제작이 가능하며 프로그래밍을 모르는 시나리오 제작자들이 시나리오를 추가하는데 용이해진다.In the present invention, by setting a common format for representing a scenario and producing a program that accommodates it, a scenario can be easily produced by adding only a data file when adding a new scenario. In other words, scenario contents can be created independently of the program, and scenario creators who don't know programming can easily add scenarios.
본 발명에서 시나리오는 장면과 장면의 흐름을 기술함으로써 정의하는데, 각각의 장면에는 다음과 같은 특징들을 찾을 수 있다.In the present invention, the scenario is defined by describing the scene and the flow of the scene, and each scene can find the following features.
- 교육 컨텐츠이므로 사용자에게 장면 설명이 필요하며 음성 또는 문자로 표현된다.-As it is educational content, the user needs to explain the scene and it is expressed by voice or text.
- 훈련 컨텐츠이므로 사용자에게 특정 행동을 요구한다.-As it is training content, it requires a specific action from the user.
- 훈련 효과를 높이기 위하여 많은 특수 효과들을 사용하며, 그 중에는 증강 현실 구현, 3D 모델 에니메이션 사용, 동영상, 효과음 사용 등이 있다.-Many special effects are used to enhance training effects, including augmented reality, 3D model animation, video and sound effects.
이러한 시나리오 특징들을 표 2와 같이 데이터 구조로 나타낸다.These scenario features are represented in a data structure as shown in Table 2.
이러한 구조의 데이터를 정의하기 위하여 본 발명에서는 XML(Extensible Markup Language) 형식을 사용한다. W3C(World Wide Web Consortium) 표준인 XML을 사용할 경우 다음과 같은 장점이 주어진다.In order to define the data of this structure, the present invention uses XML (Extensible Markup Language) format. Using XML, the World Wide Web Consortium (W3C) standard, offers the following advantages:
- XML의 특징인 뛰어난 확장성과 플랫폼 독립성, 그리고 호환성을 이어 받을 수 있으며, 기존에 존재하는 파서를 재사용함으로써 개발기간을 단축시킬 수 있다.-It can inherit XML's outstanding extensibility, platform independence, and compatibility, and can shorten development period by reusing existing parser.
- XML은 정해진 스키마에 유효한 문서인지를 검증하는 방법을 제공하기에 프로그램 코드에서 데이터가 유효한지 검증하는 부분을 제거하여 많은 코드를 절약 할 수 있다.XML provides a way to verify that a document is valid for a given schema, thus saving a lot of code by eliminating the part of the program that verifies that the data is valid.
- 내부 프로그램 구조를 모르거나 추가적인 스크립트 언어를 배우지 않아도, 단지 XML 문서에 익숙한 사용자라면 정의된 스키마(Schema) 형식에 맞게 쉽게 시나리오 문서를 작성할 수 있다.Without knowing the internal program structure or learning additional scripting languages, users who are just familiar with XML documents can easily create scenario documents for the defined Schema format.
본 발명에서 제시하는 스키마(Schema)는 장면을 정의하는 <SCENE> 태그와 장면에서 사용할 리소스들을 정의한 <MODEL>, <SOUND>, <SENSORS> 태그를 추가적으로 기술한다. <SCENE> 태그 안에 리소스를 사용하여 장면을 연출하고, 조건에 따른 "goto" 속성을 참조하여 다음 장면의 ID로 이동할 수 있다. 이 때 사용자의 편의를 위하여 자주 사용되는 경우에 해당하는 문자열 (self, next, exit)을 정의하였다.Schema proposed in the present invention further describes a <SCENE> tag defining a scene and <MODEL>, <SOUND>, and <SENSORS> tags defining resources to be used in the scene. You can create a scene using resources in the <SCENE> tag, and move to the next scene's ID by referring to the "goto" attribute according to the condition. At this time, for the convenience of the user, a string (self, next, exit) that is used frequently is defined.
아래 표 3은 이러한 구조를 사용한 실제 시나리오의 일부를 예시적으로 표시한다.Table 3 below shows some examples of actual scenarios using this structure.
<ANIMATE>0</ANIMATE>
<VIDEO>0</VIDEO>
<SOUNDMENT>7</SOUNDMENT>
<TEXTMENT>7</TEXTMENT>
<TIMEOUT sec="20" goto="self"/>
<SUCCESS goto="next">
<DIST marker1="9" marker2="6">60</DIST>
<DIST marker1="9">400</Dist>
<VISB marker1="6" marker2="7"/>
</SUCCESS>
<EXCEPTION goto="27">
<DIST marker1="16">200</DIST>
</EXCEPTION>
</SCENE><SCENE id = "7">
<ANIMATE> 0 </ ANIMATE>
<VIDEO> 0 </ VIDEO>
<SOUNDMENT> 7 </ SOUNDMENT>
<TEXTMENT> 7 </ TEXTMENT>
<TIMEOUT sec = "20" goto = "self"/>
<SUCCESS goto = "next">
<DIST marker1 = "9" marker2 = "6"> 60 </ DIST>
<DIST marker1 = "9"> 400 </ Dist>
<VISB marker1 = "6" marker2 = "7"/>
</ SUCCESS>
<EXCEPTION goto = "27">
<DIST marker1 = "16"> 200 </ DIST>
</ EXCEPTION>
</ SCENE>
본 발명의 일실시예에서 사용된 XML 스키마는 다음과 같다. The XML schema used in one embodiment of the present invention is as follows.
<?xml version="1.0" encoding="ks_c_5601-1987"?><? xml version = "1.0" encoding = "ks_c_5601-1987"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="Schema.xsd" elementFormDefault="qualified" targetNamespace="Schema.xsd"><xsd: schema xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns = "Schema.xsd" elementFormDefault = "qualified" targetNamespace = "Schema.xsd">
<xsd:element name="SCENARIO"> <xsd: element name = "SCENARIO">
<xsd:complexType> <xsd: complexType>
<xsd:sequence> <xsd: sequence>
<xsd:element name="SCENE" maxOccurs="unbounded" type="ctScene" /> <xsd: element name = "SCENE" maxOccurs = "unbounded" type = "ctScene" />
</xsd:sequence> </ xsd: sequence>
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:complexType name="ctScene"> <xsd: complexType name = "ctScene">
<xsd:sequence> <xsd: sequence>
<xsd:element name="ANIMATE" type="xsd:integer" /> <xsd: element name = "ANIMATE" type = "xsd: integer" />
<xsd:element name="VIDEO" type="xsd:integer" /> <xsd: element name = "VIDEO" type = "xsd: integer" />
<xsd:element name="SOUNDMENT" type="xsd:integer" /> <xsd: element name = "SOUNDMENT" type = "xsd: integer" />
<xsd:element name="TEXTMENT" type="xsd:integer" /> <xsd: element name = "TEXTMENT" type = "xsd: integer" />
<xsd:element name="TIMEOUT"> <xsd: element name = "TIMEOUT">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="minute" use="required" type="xsd:integer" /> <xsd: attribute name = "minute" use = "required" type = "xsd: integer" />
<xsd:attribute name="sec" type="xsd:integer" /> <xsd: attribute name = "sec" type = "xsd: integer" />
<xsd:attribute name="goto" type="xsd:integer" /> <xsd: attribute name = "goto" type = "xsd: integer" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="SUCCESS" type="ctCompare" /> <xsd: element name = "SUCCESS" type = "ctCompare" />
<xsd:element name="EXCEPTION" type="ctCompare" /> <xsd: element name = "EXCEPTION" type = "ctCompare" />
</xsd:sequence> </ xsd: sequence>
<xsd:attribute name="id" use="required" type="xsd:integer" /> <xsd: attribute name = "id" use = "required" type = "xsd: integer" />
</xsd:complexType> </ xsd: complexType>
<xsd:complexType name="ctCondition"> <xsd: complexType name = "ctCondition">
<xsd:sequence> <xsd: sequence>
<xsd:element name="DIST"> <xsd: element name = "DIST">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="marker1" use="required" type="xsd:integer" /> <xsd: attribute name = "marker1" use = "required" type = "xsd: integer" />
<xsd:attribute name="marker2" use="optional" type="xsd:integer" /> <xsd: attribute name = "marker2" use = "optional" type = "xsd: integer" />
<xsd:attribute name="marker3" type="xsd:integer" /> <xsd: attribute name = "marker3" type = "xsd: integer" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="VISB" type="xsd:integer" /> <xsd: element name = "VISB" type = "xsd: integer" />
</xsd:sequence> </ xsd: sequence>
<xsd:attribute name="goto" type="xsd:integer" /> <xsd: attribute name = "goto" type = "xsd: integer" />
</xsd:complexType> </ xsd: complexType>
<xsd:complexType name="ctCompare"> <xsd: complexType name = "ctCompare">
<xsd:sequence> <xsd: sequence>
<xsd:element name="condition" type="ctCondition" /> <xsd: element name = "condition" type = "ctCondition" />
<xsd:element name="success"> <xsd: element name = "success">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="goto" type="xsd:integer" /> <xsd: attribute name = "goto" type = "xsd: integer" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="failed"> <xsd: element name = "failed">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="goto" type="xsd:integer" /> <xsd: attribute name = "goto" type = "xsd: integer" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
</xsd:sequence> </ xsd: sequence>
</xsd:complexType> </ xsd: complexType>
<xsd:element name="SOUNDS"> <xsd: element name = "SOUNDS">
<xsd:complexType> <xsd: complexType>
<xsd:sequence> <xsd: sequence>
<xsd:element name="MENT"> <xsd: element name = "MENT">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="id" type="xsd:integer" /> <xsd: attribute name = "id" type = "xsd: integer" />
<xsd:attribute name="path" type="xsd:string" /> <xsd: attribute name = "path" type = "xsd: string" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
</xsd:sequence> </ xsd: sequence>
<xsd:attribute name="base_path" type="xsd:string" /> <xsd: attribute name = "base_path" type = "xsd: string" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="MODELS"> <xsd: element name = "MODELS">
<xsd:complexType> <xsd: complexType>
<xsd:sequence> <xsd: sequence>
<xsd:element name="MODEL" type="ctModel"> <xsd: element name = "MODEL" type = "ctModel">
</xsd:element> </ xsd: element>
</xsd:sequence> </ xsd: sequence>
<xsd:attribute name="base_path" type="xsd:string" /> <xsd: attribute name = "base_path" type = "xsd: string" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:complexType name="ctModel"> <xsd: complexType name = "ctModel">
<xsd:sequence> <xsd: sequence>
<xsd:element name="TRANS"> <xsd: element name = "TRANS">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="x" type="xsd:float" /> <xsd: attribute name = "x" type = "xsd: float" />
<xsd:attribute name="y" type="xsd:float" /> <xsd: attribute name = "y" type = "xsd: float" />
<xsd:attribute name="z" type="xsd:float" /> <xsd: attribute name = "z" type = "xsd: float" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="ROTATE"> <xsd: element name = "ROTATE">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="x" type="xsd:float" /> <xsd: attribute name = "x" type = "xsd: float" />
<xsd:attribute name="y" type="xsd:float" /> <xsd: attribute name = "y" type = "xsd: float" />
<xsd:attribute name="z" type="xsd:float" /> <xsd: attribute name = "z" type = "xsd: float" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="SCALE"> <xsd: element name = "SCALE">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="x" type="xsd:float" /> <xsd: attribute name = "x" type = "xsd: float" />
<xsd:attribute name="y" type="xsd:float" /> <xsd: attribute name = "y" type = "xsd: float" />
<xsd:attribute name="z" type="xsd:float" /> <xsd: attribute name = "z" type = "xsd: float" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:element name="Visibility"> <xsd: element name = "Visibility">
<xsd:complexType> <xsd: complexType>
<xsd:attribute name="id" type="xsd:integer" /> <xsd: attribute name = "id" type = "xsd: integer" />
<xsd:attribute name="path" type="xsd:string" /> <xsd: attribute name = "path" type = "xsd: string" />
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
</xsd:sequence> </ xsd: sequence>
</xsd:complexType> </ xsd: complexType>
<xsd:element name="SENSORS"> <xsd: element name = "SENSORS">
<xsd:complexType> <xsd: complexType>
<xsd:sequence> <xsd: sequence>
<xsd:element name="MARKER" type="ctSensor" /> <xsd: element name = "MARKER" type = "ctSensor" />
</xsd:sequence> </ xsd: sequence>
</xsd:complexType> </ xsd: complexType>
</xsd:element> </ xsd: element>
<xsd:complexType name="ctSensor"> <xsd: complexType name = "ctSensor">
<xsd:sequence> <xsd: sequence>
<xsd:element name="MODEL" type="xsd:integer" /> <xsd: element name = "MODEL" type = "xsd: integer" />
</xsd:sequence> </ xsd: sequence>
<xsd:attribute name="id" type="xsd:integer" /> <xsd: attribute name = "id" type = "xsd: integer" />
<xsd:attribute name="name" type="xsd:string" /> <xsd: attribute name = "name" type = "xsd: string" />
</xsd:complexType> </ xsd: complexType>
</xsd:schema></ xsd: schema>
도 5는 본 발명에서 사용되는 카메라(10)가 부착된 HMD(30)를 도시한 것이다. 도 5에 의하면, 사람의 시야와 근접한 카메라 영상을 얻기 위하여 HMD(30) 정면에 소형의 카메라(10)를 부착하였다.5 shows the
도 6은 본 발명에 의한 혼합 현실 상황 훈련 시스템(1)을 사용하여 훈련을 하는 모습을 도시한 것이고, 도 7은 훈련제어장치의 모니터를 통해 교사에게 보여 지는 사용자 인터페이스 화면을 도시한 것이다. 훈련자에게는 도 7에서 '사용자 훈련 영상' 부분만 HMD(30)를 통해 보여 진다.FIG. 6 is a view showing training using the mixed
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
도 1은 본 발명에 의한 본 혼합 현실 상황 훈련 시스템의 전체적인 구성을 도시한 것이고,Figure 1 shows the overall configuration of the present mixed reality situation training system according to the present invention,
도 2는 마커 검출부에 의한 마커 검출 과정을 도시한 것이고,2 illustrates a marker detection process by the marker detection unit,
도 3은 음식 서빙을 해보는 상황에 의한 훈련 환경을 개략적으로 도시한 것이고,Figure 3 schematically shows a training environment by the situation of serving food,
도 4는 상황 제어부에 의한 상황 제어 과정을 예시적으로 도시한 것이고,4 exemplarily illustrates a situation control process by the situation controller;
도 5는 본 발명에서 사용되는 카메라가 부착된 HMD를 도시한 것이고,5 shows a HMD with a camera used in the present invention,
도 6은 본 발명에 의한 혼합 현실 상황 훈련 시스템을 사용하여 훈련을 하는 모습을 도시한 것이고,Figure 6 illustrates the training using the mixed reality training system according to the present invention,
도 7은 훈련제어장치의 모니터를 통해 교사에게 보여 지는 사용자 인터페이스 화면을 도시한 것이다.7 illustrates a user interface screen displayed to the teacher through the monitor of the training control device.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
1 : 혼합 현실 상황 훈련 시스템1: Mixed Reality Situation Training System
10 : 카메라 20 : 훈련제어장치10: camera 20: training control device
21 : 카메라 입력부 22 : 마커 검출부21: camera input unit 22: marker detection unit
23 : 모델 데이터 저장부 24 : 상황 제어부23: model data storage unit 24: situation control unit
25 : 영상 정합부 26 : HMD 출력부25: image matching unit 26: HMD output unit
30 : HMD30: HMD
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090005323A KR20100086128A (en) | 2009-01-22 | 2009-01-22 | Mixed Reality Situation Training System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090005323A KR20100086128A (en) | 2009-01-22 | 2009-01-22 | Mixed Reality Situation Training System |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100086128A true KR20100086128A (en) | 2010-07-30 |
Family
ID=42644751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090005323A KR20100086128A (en) | 2009-01-22 | 2009-01-22 | Mixed Reality Situation Training System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100086128A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101279869B1 (en) * | 2012-03-23 | 2013-06-28 | 국방과학연구소 | Apparatus and method for displaying flight simulator image using head mounted display |
KR101372099B1 (en) * | 2012-10-17 | 2014-03-07 | 에스케이씨앤씨 주식회사 | System and method for spatial disposition of multimedia contents |
KR20170083807A (en) * | 2016-01-11 | 2017-07-19 | 전자부품연구원 | Virtual training system for disassemble and assemble a pipe |
KR20190056759A (en) * | 2017-11-17 | 2019-05-27 | 고려대학교 산학협력단 | Apparatus and method for preventing falling accidents of patients based on a Virtual Reality |
CN113383345A (en) * | 2019-12-17 | 2021-09-10 | 索尼互动娱乐有限责任公司 | Method and system for defining emotion machine |
US11410329B2 (en) * | 2019-09-24 | 2022-08-09 | Toshiba Tec Kabushiki Kaisha | Information processing device, method performed thereby, and non-transitory computer readable medium |
-
2009
- 2009-01-22 KR KR1020090005323A patent/KR20100086128A/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101279869B1 (en) * | 2012-03-23 | 2013-06-28 | 국방과학연구소 | Apparatus and method for displaying flight simulator image using head mounted display |
KR101372099B1 (en) * | 2012-10-17 | 2014-03-07 | 에스케이씨앤씨 주식회사 | System and method for spatial disposition of multimedia contents |
KR20170083807A (en) * | 2016-01-11 | 2017-07-19 | 전자부품연구원 | Virtual training system for disassemble and assemble a pipe |
WO2017122944A1 (en) * | 2016-01-11 | 2017-07-20 | 전자부품연구원 | Remote multi-trainee participation-type pipe assembly/disassembly virtual training system |
KR20190056759A (en) * | 2017-11-17 | 2019-05-27 | 고려대학교 산학협력단 | Apparatus and method for preventing falling accidents of patients based on a Virtual Reality |
US11410329B2 (en) * | 2019-09-24 | 2022-08-09 | Toshiba Tec Kabushiki Kaisha | Information processing device, method performed thereby, and non-transitory computer readable medium |
CN113383345A (en) * | 2019-12-17 | 2021-09-10 | 索尼互动娱乐有限责任公司 | Method and system for defining emotion machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11417069B1 (en) | Object and camera localization system and localization method for mapping of the real world | |
Petersen et al. | Cognitive augmented reality | |
KR101079925B1 (en) | An augmented reality situational training system by recognition of markers and hands of trainee | |
US9159152B1 (en) | Mapping between a capture volume and a virtual world in a motion capture simulation environment | |
US12014459B2 (en) | Image processing device, image processing method, and program for forming an accurate three-dimensional map | |
US11156830B2 (en) | Co-located pose estimation in a shared artificial reality environment | |
US20120262558A1 (en) | Apparatus, systems and methods for providing motion tracking using a personal viewing device | |
JP2006072903A (en) | Image compositing method and device | |
CN103477348A (en) | Color channels and optical markers | |
KR20100086128A (en) | Mixed Reality Situation Training System | |
US20160148429A1 (en) | Depth and Chroma Information Based Coalescence of Real World and Virtual World Images | |
JP2021002290A (en) | Image processing apparatus and method for controlling the same | |
JP4834424B2 (en) | Information processing apparatus, information processing method, and program | |
CN114333046B (en) | Dance movement scoring method, device, equipment and storage medium | |
CN112927259A (en) | Multi-camera-based bare hand tracking display method, device and system | |
KR102069366B1 (en) | Augmented reality implementation apparatus and method for interacting with robot for education | |
Selvam et al. | Augmented reality for information retrieval aimed at museum exhibitions using smartphones | |
Afif et al. | Vision-based tracking technology for augmented reality: a survey | |
JP2020013035A (en) | Training device, training system, training method and program | |
KR20130079962A (en) | Method of displaying post-it contents using augmented reality and apparatus using the same | |
EP4279157A1 (en) | Space and content matching for augmented and mixed reality | |
Mohareri et al. | A vision-based location positioning system via augmented reality: An application in humanoid robot navigation | |
US20240428437A1 (en) | Object and camera localization system and localization method for mapping of the real world | |
KR101187843B1 (en) | Education System for railway maintenance using Augmented Reality | |
KR101783156B1 (en) | Physical Programming Information Recognition method and Method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20090122 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20110105 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20110929 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20110105 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |