KR20080018397A - Computer-readable recording medium for recorded program for providing 3d modeling based real-time images - Google Patents

Computer-readable recording medium for recorded program for providing 3d modeling based real-time images Download PDF

Info

Publication number
KR20080018397A
KR20080018397A KR1020060080438A KR20060080438A KR20080018397A KR 20080018397 A KR20080018397 A KR 20080018397A KR 1020060080438 A KR1020060080438 A KR 1020060080438A KR 20060080438 A KR20060080438 A KR 20060080438A KR 20080018397 A KR20080018397 A KR 20080018397A
Authority
KR
South Korea
Prior art keywords
dimensional
marker
image
camera
module
Prior art date
Application number
KR1020060080438A
Other languages
Korean (ko)
Inventor
홍승모
임상민
장영진
Original Assignee
한국문화콘텐츠진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국문화콘텐츠진흥원 filed Critical 한국문화콘텐츠진흥원
Priority to KR1020060080438A priority Critical patent/KR20080018397A/en
Publication of KR20080018397A publication Critical patent/KR20080018397A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

A computer-readable recording medium having a program supporting real time image-based three dimensional modeling is provided to shorten a working time of contents manufacturers and perform precise modeling on an actual object. A three-dimensional matching module(110) recognizes a square candidate region which is to be a region of a marker of an image transferred from a camera, detects an actual region of the marker from the square candidate region, calculates a three-dimensional position of the marker, and matches a modeled object to an actual object. A laser point recognizing module(120) recognizes points illuminated by shooting a laser point to the actual object from two camera images, calculates three-dimensional coordinates at the points by using a marker-based three-dimensional positioning technique, and provides the same. A plug-in fabricating module(130) reads a value from a data structure of a 3D(three dimensional) max model, inputs the coordinates recognized by the laser point to the data structure, embeds the camera images to a 3D max program interface, and matches the 3D max model to the camera images.

Description

실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체{Computer-Readable Recording Medium for Recorded Program for Providing 3D Modeling based Real-time Images}Computer-Readable Recording Medium for Recorded Program for Providing 3D Modeling based Real-time Images}

도 1은 본 발명의 바람직한 실시예에 따른 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 설명하기 위한 개념적 구조도,1 is a conceptual structural diagram illustrating a program supporting real-time image-based three-dimensional modeling according to a preferred embodiment of the present invention;

도 2는 본 발명의 바람직한 실시예에 따른 마커 인식 및 3D 모델 정합을 설명하기 위한 예시도,2 is an exemplary view for explaining marker recognition and 3D model registration according to a preferred embodiment of the present invention;

도 3은 본 발명의 바람직한 실시예에 따른 임계치를 자동으로 계산하는 방법을 설명하기 위한 예시도,3 is an exemplary view for explaining a method for automatically calculating a threshold value according to a preferred embodiment of the present invention;

도 4는 본 발명의 바람직한 실시예에 따른 사각 영역 검출 과정을 설명하기 위한 예시도,4 is an exemplary view for explaining a blind spot detection process according to a preferred embodiment of the present invention;

도 5는 본 발명의 바람직한 실시예에 따른 3차원 매칭을 수행하는 화면을 설명하기 위한 예시도,5 is an exemplary view for explaining a screen for performing 3D matching according to a preferred embodiment of the present invention;

도 6은 본 발명의 바람직한 실시예에 따른 레이저 포인트 인식 과정을 설명하기 위한 예시도,6 is an exemplary view for explaining a laser point recognition process according to a preferred embodiment of the present invention;

도 7은 본 발명의 바람직한 실시예에 따른 플러그인 제작 모듈의 사용자 인터페이스 화면을 나타낸 예시도이다.7 is an exemplary view showing a user interface screen of the plug-in production module according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

110: 3차원 모델링 프로그램 110: 3차원 매칭 모듈110: 3D modeling program 110: 3D matching module

112: 영상 획득 모듈 114: 마커 인식 모듈112: image acquisition module 114: marker recognition module

116: 마커 위치 추적 모듈 120: 레이저 포인트 인식 모듈116: marker position tracking module 120: laser point recognition module

122: 포인트 인식 모듈 124: 포인트 위치 계산 모듈122: point recognition module 124: point position calculation module

130: 플러그인 제작 모듈 132: Max 모델 자료 구조 접근 모듈130: plug-in creation module 132: Max model data structure access module

134: Max 모델 영상 정합 모듈134: Max model image registration module

본 발명은 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체에 관한 것이다. 더욱 상세하게는 3D 맥스의 스크린에 비춰진 3차원 실물을 기반으로 카메라 매칭과 레이저 포인터 트랙킹 등의 기법을 이용하여 직관적인 3차원 모델링을 제공하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체에 관한 것이다.The present invention relates to a computer-readable recording medium that records a program supporting real-time image-based three-dimensional modeling. More specifically, a computer that records a program that supports real-time image-based three-dimensional modeling that provides intuitive three-dimensional modeling using techniques such as camera matching and laser pointer tracking based on three-dimensional objects reflected on the screen of 3D Max. It relates to a recording medium that can be read from.

현재 국내의 3D 제작은 주로 노동집약적인 방식으로 이루어진다. 그러나 해외의 경우엔 3D 제작을 3D 입력 장치(Input Device)를 이용하여 제작하는 방식이 정착된 지가 오래여서 국내의 열악한 제작여건과 대비되고 있다. At present, domestic 3D production is mainly done in a labor-intensive manner. However, in the case of overseas, it has been a long time since the method of producing 3D using a 3D input device has been established, which is contrasted with the poor production conditions in Korea.

그러나 이러한 3D 입력 장치는 대당 도입가격이 매우 높아 국내의 열악한 3D 제작여건에서 쉽게 구매결정을 내리지 못하게 하는 원인이 된다. 이러한 여건으로 인해 국내의 3D 관련 산업은 제작인력의 장시간 단순노동에 의존하고 있으며, 투여인력 대비 낮은 생산성으로 산업발전이 지체되고 있다. 또한, 3D 제작업체에서는 낮은 단가의 3D 단순 제작인력 관리에 매몰되어 고도의 수익을 창출할 수 있는 문화 콘텐츠의 창조적 개발 및 기획영역에 투여할 수 있는 역량을 충분히 확보하지 못하여 이후의 전망을 어둡게 하고 있는 실정이다.However, these 3D input devices have a very high introduction price per unit, which makes it difficult to make purchase decisions easily in the domestic poor 3D production conditions. Due to these conditions, domestic 3D-related industries rely on simple labor for a long time, and the industrial development is delayed due to low productivity compared to the administration personnel. In addition, 3D producers have been unable to secure enough capacity to be invested in low-cost 3D simple production manpower management and be able to inject into the creative development and planning areas of highly profitable cultural contents. There is a situation.

따라서 문화콘텐츠 시장을 이루는 중요한 영역 중 하나인 3D 관련 산업을 한 단계 발전시키고, 국내 3차원 콘텐츠 시장의 발전이라는 시너지효과를 창출하기 위해서는 3D 모델링에 관련된 제작기술의 확보가 요구되며, 그 핵심은 우리 실정에 맞는 3D 모델링 솔루션을 개발하는 것이라 할 수 있다. 실물기반의 3D 모델링 솔루션의 확보는 곧 3D 관련 산업의 제작생산성의 향상으로 이어져, 저비용 노동집약산업으로 폄하되고 있는 해당 산업의 질적인 발전 및 창조적 개발역량을 위한 투자로 이어질 수 있다.Therefore, in order to develop the 3D-related industry, one of the important areas of the cultural contents market, and to create a synergy effect of the development of the domestic 3D contents market, it is required to secure production technology related to 3D modeling. It can be said to develop a 3D modeling solution suitable for the situation. Acquisition of life-based 3D modeling solutions can lead to improved production productivity of 3D-related industries, which can lead to investments in qualitative development and creative development capabilities of those industries, which have been degraded as low-cost labor-intensive industries.

일반적으로 2D 또는 3D의 콘텐츠를 생성하는 경우에 실물 기반의 모델링을 수행하는데, 촬영한 이미지를 기반으로 2차원 평면상에서 대상을 손으로 조작하기 위해 마우스를 사용한다. 그러나 2차원 평면상의 마우스는 2단계의 동작 자유도를 제공하기 때문에 6단계의 동작 자유도를 요구하는 3차원 공간에서의 대상을 조작해야 하는 실물기반 모델링에서 활용하기에 적합한 방법은 아니다.In general, when generating 2D or 3D content, object-based modeling is performed. A mouse is used to manually manipulate an object on a two-dimensional plane based on the captured image. However, because the mouse on the two-dimensional plane provides two degrees of freedom of movement, it is not a suitable method for use in the object-based modeling that requires manipulating objects in three-dimensional space requiring six degrees of freedom of movement.

3개의 축으로 이루어진 입체공간 대상물의 모든 측면을 살펴보기 위해 그 물체의 공간적인 회전이 가능하게 하기 위해서는 6단계의 자유도를 제공하여야 한다. 그러나 대다수의 컴퓨터는 마우스나 트랙볼, 조이스틱과 같은 2차원의 입력도구들을 보유하고 있는 실정이다.In order to allow spatial rotation of the object to examine all aspects of a three-dimensional space object, six degrees of freedom must be provided. However, most computers have two-dimensional input tools such as mice, trackballs and joysticks.

또한, 마야(Maya)나 3D 맥스(3D Max)와 같은 일반적인 상용 3D 모델링 소프트웨어는 3차원 영상을 제작하기 위해 기존의 마우스/모니터 인터페이스 체계를 활용한다.In addition, common commercial 3D modeling software, such as Maya or 3D Max, utilize existing mouse / monitor interface systems to produce three-dimensional images.

그러나 실제 고품질의 3D 제작을 추구하는 콘텐츠 제작자들은 이러한 수학적 방식에 기반한 2D 마우스에 의한 간접적인 공간 생성 방식을 매우 불편하게 느낀다. 작업자들은 실물 등을 고가의 3D 스캐너 장치로 제작하려하나 이러한 방법은 현실적으로 매우 높은 비용을 지출해야 한다. 또는 제작자들이 직접 3D 제작툴을 학습하여 제작하기도 하나 이는 교육시간과 제작 과정상의 엔지니어적 접근방식으로 인해 대부분의 예술가가 접근하기에는 어려운 점이 많다. 이는 기존의 2D 마우스에 의한 제작방식은 공간상에서의 면생성에 다양한 방법이 있으며, 이를 학습해야 하기 때문이다. However, content creators who pursue high-quality 3D production are inconveniently feeling the indirect space generation method by 2D mouse based on this mathematical method. Workers try to produce real objects with expensive 3D scanner devices, but these methods are expensive in reality. In addition, producers can learn and produce 3D production tools by themselves, which is difficult for most artists to access due to the training time and the engineering approach in the production process. This is because the existing production method using 2D mouse has various methods for surface creation in space, and it is necessary to learn this.

실물에 기반하여 실제 콘텐츠 제작업체들이 모델링하는 방식은 사진을 정면, 측면 등 여러 장을 촬영하고 이를 3D 맥스 상에서 배경으로 둔 후 와이어 프레임을 오버랩시키면서 모델링하는 방식을 취하고 있다. 그러나 이 방식은 제작자에게 많은 시간을 요구하며 3D 카메라 창에서 직접 매칭시키면서 작업하기보다는 3가지의 평면상에서 모델을 매칭시켜야 하므로 모델링 시간이 매우 오래 걸린다.Based on the real model, the actual content producers take a picture of the front and the side, and put it in the background on the 3D Max and then overlap the wire frame. However, this method requires a lot of time for the manufacturer and requires very long modeling time because the model must be matched on three planes rather than working directly in the 3D camera window.

전술한 문제점을 해결하기 위해 본 발명은, 3D 맥스의 스크린에 비춰진 3차 원 실물을 기반으로 카메라 매칭과 레이저 포인터 트랙킹 등의 기법을 이용하여 직관적인 3차원 모델링을 제공하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체를 제공하는 데 그 목적이 있다.In order to solve the above problems, the present invention, based on the three-dimensional real image reflected on the screen of 3D Max, real-time image-based three-dimensional to provide intuitive three-dimensional modeling using techniques such as camera matching and laser pointer tracking An object of the present invention is to provide a computer-readable recording medium recording a program supporting modeling.

전술한 목적을 달성하기 위해 본 발명은, 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램으로서, (a) 카메라로부터 들어오는 영상에서 마커의 영역이 될 사각후보영역을 인식하고, 상기 사각후보영역에서 실제 마커의 영역을 검출한 후, 상기 마커의 3차원 위치를 계산하여 실제객체에 모델링한 객체를 매치시키는 기능을 수행하는 3차원 매칭 모듈; (b) 실제물체에 레이저 포인트를 쏘아 발광되는 점을 두 개의 카메라 영상에서 각각 인식한 후, 상기 점에서 마커 기반의 3차원 위치추적 기술을 이용하여 3차원 좌표를 계산하여 제공하는 기능을 수행하는 레이저 포인트 인식 모듈; 및 (c) 3D 맥스 모델의 자료구조 상에서 값을 읽어오며, 상기 3D 맥스 모델의 상기 자료구조에 상기 레이저 포인트로 인식된 좌표를 입력하는 기능, 3D 맥스 프로그램 인터페이스에 카메라 영상을 임베디드화 하고, 카메라 영상에 상기 3D 맥스의 모델을 정합하는 기능을 수행하는 플러그인 제작 모듈을 포함하는 것을 특징으로 하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체를 제공한다.In order to achieve the above object, the present invention is a program that supports real-time image-based three-dimensional modeling, (a) recognizes the blind candidate area to be the marker area in the image from the camera, and the actual in the blind candidate area A three-dimensional matching module for detecting a region of the marker and calculating a three-dimensional position of the marker to match an object modeled with a real object; (b) Recognizing the point of light emitted by shooting a laser point on a real object in each of the two camera images, and then calculates and provides three-dimensional coordinates using a marker-based three-dimensional position tracking technology at the point Laser point recognition module; And (c) reading a value on a data structure of a 3D max model, inputting coordinates recognized as the laser point into the data structure of the 3D max model, embedding a camera image in a 3D max program interface, and It provides a computer-readable recording medium that records a program that supports a three-dimensional modeling based on the real-time image, characterized in that it comprises a plug-in production module for performing a function of matching the model of the 3D Max to the image.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소 들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are designated as much as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 바람직한 실시예에 따른 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 설명하기 위한 개념적 구조도이다.1 is a conceptual structural diagram for explaining a program supporting real-time image-based three-dimensional modeling according to a preferred embodiment of the present invention.

본 발명의 바람직한 실시예에 따른 3차원 모델링 프로그램(110)은 카메라의 영상을 입력받아 마커를 인식한 후에 마커의 위치를 계산하고, 계산된 위치 값을 3D 맥스(Max)의 결과물의 위치 값에 적용하여 정합된 영상을 제공하는 기능을 수행한다. 또한, 카메라 영상에서 레이저 포인트를 인식하고 3차원 좌표를 계산하여 3차원 결과물의 좌표데이터를 제공하는 기능을 수행한다.The 3D modeling program 110 according to the preferred embodiment of the present invention receives the image of the camera, recognizes the marker, calculates the position of the marker, and calculates the calculated position value to the position value of the result of the 3D max. It performs the function of providing the matched image by applying. Also, it recognizes a laser point in the camera image and calculates three-dimensional coordinates to provide coordinate data of the three-dimensional result.

3차원 모델링 프로그램(110)은 3차원 매칭 모듈(110), 레이저 포인트 인식 모듈(120) 및 플러그인 제작 모듈(130)을 포함한다.The 3D modeling program 110 includes a 3D matching module 110, a laser point recognition module 120, and a plug-in manufacturing module 130.

본 발명의 바람직한 실시예에 따른 3차원 매칭 모듈(110)은 카메라에서 영상을 획득하거나, 영상을 획득하지 않는 2가지 제어 기능을 수행하는 영상 획득 모듈(112), 카메라로부터 들어오는 영상에서 마커의 영역이 될 사각후보영역을 찾아내고, 사각후보영역에서 실제 마커의 영역을 획득하는 마커 인식 모듈(114) 및 마커와 카메라와의 상대적인 3차원 좌표계산 기능을 수행하는 마커 위치 추적 모듈(116)을 포함한다.The 3D matching module 110 according to an embodiment of the present invention is an image acquisition module 112 that performs two control functions to acquire an image from the camera, or does not acquire the image, the area of the marker in the image from the camera A marker recognition module 114 for finding a rectangular candidate area to be obtained and obtaining a real marker area in the rectangular candidate area, and a marker position tracking module 116 for performing a function of calculating a three-dimensional coordinate relative to the marker and the camera do.

이와 같은 3차원 매칭 모듈(110)은 3차원 매칭 기술을 이용하여 카메라로부 터 들어오는 영상의 마커(바코드, 스페이스 태그)를 인식하여, 3차원 위치를 추적한 후, 영상 속에 보이는 실제객체에 모델링한 객체를 매치시키면서 보정을 수행한다. The 3D matching module 110 recognizes a marker (barcode, space tag) of the image coming from the camera by using the 3D matching technology, tracks the 3D position, and models the actual object shown in the image. Perform corrections by matching one object.

또한, 3차원 매칭 모듈(110)은 증강현실 기술을 이용하는데, 여기서, 증강현실 기술이란 실세계 환경에 문자와 그래픽과 같은 부가 정보를 실시간으로 합성하여 제공함으로써 사용자에게 보다 향상된 현실감을 제공하는 기술이다.In addition, the 3D matching module 110 uses augmented reality technology, wherein the augmented reality technology is a technology that provides a user with improved realism by synthesizing additional information such as text and graphics in a real world environment in real time. .

도 2는 본 발명의 바람직한 실시예에 따른 마커 인식 및 3D 모델 정합을 설명하기 위한 예시도이다.2 is an exemplary diagram for explaining marker recognition and 3D model registration according to a preferred embodiment of the present invention.

3차원 매칭 모듈(110)은 마커 인식 모듈(114) 및 마커 위치 추적 모듈(116)을 통해 마커 인식 및 3차원 위치 추적을 수행한다. 영상획득으로 얻은 카메라 영상을 마커 인식 모듈(114)로 전달하고, 마커 인식 모듈(114)에서는 마커 정보 DB와 매칭되는 사각 영역을 찾아낸다. 마커 영역이 확정되면 3차원 좌표를 추적하고 추적된 좌표를 기반으로 3D 결과물을 출력한다. 즉, 3차원 매칭 모듈(110)은 입력되는 카메라의 영상을 이진화하여, 마커 영역을 인식하고 마커의 3차원 위치를 추적하여 3D 모델을 렌더링하는 것이다.The 3D matching module 110 performs marker recognition and 3D position tracking through the marker recognition module 114 and the marker position tracking module 116. The camera image obtained by the image acquisition is transferred to the marker recognition module 114, and the marker recognition module 114 finds a rectangular area matching the marker information DB. Once the marker area is confirmed, the 3D coordinates are tracked and 3D output is output based on the tracked coordinates. That is, the 3D matching module 110 binarizes the input image of the camera, recognizes the marker region, and tracks the 3D position of the marker to render the 3D model.

보다 상세히 설명하면, 카메라로부터 영상을 획득하고, 사각형 후보영역을 찾기 위한 임계값(Threshold)을 계산한 후에, 계산된 임계값으로 사각형 후보 영역을 라벨링한다. 라벨링된 영역들의 외곽선을 검출하고, 검출된 외곽선 상의 점들 중에서 꼭지점을 획득하여 사각형 영역을 확정하며, 사각형 내의 정보를 분석하여 마커영역을 검출한 후에 사각형의 왜곡된 모양으로부터 3차원 위치 정보를 찾는 과 정을 수행한다.In more detail, after obtaining an image from a camera, calculating a threshold for finding a rectangular candidate area, the rectangular candidate area is labeled with the calculated threshold. Detects the outlines of the labeled areas, obtains vertices from the detected points, determines the rectangular area, analyzes the information in the rectangle, detects the marker area, and finds 3D location information from the distorted shape of the rectangle. Do the justice.

카메라로부터 영상을 획득하기 위해서는 VFW(Video For Windows) 라이브러리를 이용한다. VFW 라이브러리는 마이크로소프트(Microsoft)사에서 기본적으로 제공하는 비디오 관련 라이브러리로 vfw32.dll에서 함수들을 제공한다. 기본으로 제공하고 있는 함수 중 중요한 함수 2가지는 캡쳐 윈도우를 생성해주는 capCreateCaptureWindow()와 캡쳐 드라이버의 버전 정보를 가져다주는 capGetDriveDescription()로, 화면 표시를 위하여, 다음과 같은 순서로 진행한다.To acquire video from the camera, use the VFW (Video For Windows) library. The VFW library is a video library provided by Microsoft, which provides functions in vfw32.dll. The two most important functions provided by default are capCreateCaptureWindow (), which creates a capture window, and capGetDriveDescription (), which retrieves the version information of the capture driver.

캡쳐된 화면을 보여줄 윈도우 영역 지정하고, 비디오 캡쳐 윈도우를 지정된 영역에 생성한 후에, 캡쳐 윈도우와 드라이버를 연결하여 캡쳐 윈도우에 프리뷰 모드로 디스플레이된다.After specifying the window area to show the captured screen and creating a video capture window in the designated area, the capture window and the driver are connected and displayed in the preview mode in the capture window.

이와 같은 과정을 통해 호스트 카메라를 통한 캡쳐된 이미지가 화면에 디스플레이되며, 콜백 함수의 호환을 위해서 비디오 포맷을 설정하고, 캡쳐되는 이미지의 정보를 얻어낸 후에, 콜백 함수를 지정하고 캡쳐에 필요한 정보를 세팅 후 저장하여 캡쳐링을 실시한다. Through this process, the captured image from the host camera is displayed on the screen, the video format is set for compatibility of the callback function, the information of the captured image is obtained, the callback function is specified, and the information required for capture is set. Save and capture.

카메라로부터 획득된 영상에서 특정 마커를 찾아내기 위해서는, 특정 임계치를 기준으로 그 이상의 값인 픽셀들을 먼저 선별하는 작업이 필요하다. 이런 작업을 라벨링이라고 하는데, 본 발명에서도 특정 임계치를 이용하여 후보영역을 라벨링하여 마커의 후보영역을 찾게 된다. 하지만, 고정으로 설정된 임계값은 주변 밝기(조명, 햇빛)에 영향을 받기가 쉽기 때문에, 프로그램이 구동할 때의 환경에 따라서 적절한 임계값을 추출할 수 있는 방법이 필요하다. 이런 환경에 따른 임계치 를 자동으로 계산하는 방법으로 도 4와 같은 방법을 사용한다.In order to find a specific marker in an image obtained from a camera, it is necessary to first select pixels having a higher value based on a specific threshold. This operation is called labeling. In the present invention, the candidate region is found by using a specific threshold to find the candidate region of the marker. However, since the threshold set to fixed is easily affected by the ambient brightness (lighting, sunlight), a method for extracting an appropriate threshold value according to the environment when the program is running is needed. A method as shown in FIG. 4 is used to automatically calculate the threshold value according to such an environment.

도 3에 도시된 바와 같이 임계치를 찾아내기 위해서 평균값을 이용한 방법을 사용한다. 먼저, 획득된 영상 전체 픽셀의 평균값을 찾아내고, 이렇게 찾아낸 전체 픽셀의 평균값이 되지 않는 픽셀의 평균값을 다시 찾아내고, 이 둘의 평균값을 임계치로 적용한다.As shown in FIG. 3, a method using an average value is used to find a threshold. First, the average value of all the acquired pixels is found, the average value of the pixels that does not become the average value of all the pixels thus found is again found, and the average value of the two is applied as a threshold.

도 4는 본 발명의 바람직한 실시예에 따른 사각 영역 검출 과정을 설명하기 위한 예시도이다.4 is an exemplary view for explaining a blind spot detection process according to an exemplary embodiment of the present invention.

영상인식 기반의 위치추적을 하기 위해서는 우선 획득되는 카메라 영상에서 마커를 검출하는 작업이 선행되어야 한다. 본 발명에서는 카메라로부터 들어오는 영상을 획득하고, 환경에 따른 임계치를 계산하여 영상을 0과 1로 이진화한 후, 마커로 인식하는 후보사각영역을 표시하여 처리할 부분을 선별하는 라벨링을 수행하여, 라벨링된 영역에서 연속된 점을 찾아 외곽선을 검출하고, 검출된 외곽선에서, 4개의 꼭지점을 찾아낸다.In order to perform location tracking based on image recognition, a process of detecting a marker in an acquired camera image should be performed first. The present invention obtains an image from the camera, calculates a threshold value according to the environment, binarizes the image to 0 and 1, and then displays a candidate square region recognized as a marker to perform labeling to select a portion to be processed. The edges are detected by finding consecutive points in the area, and four vertices are found from the detected edges.

마커 기반의 증강현실 기술을 활용한 3D 매칭 기술을 구현하기 위해서는 마커 인식이 종료된 이후에 마커의 3차원 위치를 추적하고, 이렇게 계산된 3차원 위치에 3D 맥스 모델 데이터를 합성하여야 한다. 따라서, 마커의 모양이나 특성은 본 발명에서 중요한 부분이다. 본 발명에서는 ARToolkit 마커의 ID 인식 부분의 단점을 해결할 수 있는 확장형 마커 기술을 이용하였다.In order to implement 3D matching technology using marker-based augmented reality technology, after marker recognition is completed, the 3D position of the marker is tracked, and 3D max model data is synthesized at the calculated 3D position. Therefore, the shape or characteristics of the marker are an important part of the present invention. In the present invention, an extended marker technology that can solve the disadvantage of the ID recognition portion of the ARToolkit marker was used.

우선, RGB 영상에서 임계값을 구하여 2진 영상으로 변환하고 마커 영역으로 인식한다. 마커에서 꼭지점을 구한 뒤, 기울어진 사다리꼴 형태를 직사각형으로 펴 낸다. 마커의 내부 꼭지점을 찾아내 ID 영역만을 추출해 내고, 내부 영역을 4등분으로 분할하고 마스크와 비교한다. 마커인지 유무를 판별하고 마커의 방향성을 검사하여 마커로 판별되면 각 부분을 다시 4등분으로 분할하여 총 16등분으로 나눈다. 마커 확인 영역을 제외한 나머지 부분을 이진수로 인식한 뒤 ID값을 계산한다.First, a threshold value is obtained from an RGB image, converted into a binary image, and recognized as a marker region. Find the vertex on the marker and flatten the oblique trapezoid. Find the inner vertex of the marker, extract only the ID region, divide the inner region into quarters, and compare it with the mask. After determining whether the marker is a marker and checking the direction of the marker, if it is determined as a marker, each part is divided into 4 equal parts and divided into 16 equal parts. Recognize the rest of the code except the marker check area as a binary number and calculate the ID value.

카메라로부터 획득된 영상에서의 마커는 카메라가 비추는 방향에 따라서 사각형 모양이 사다리꼴 모양으로 변형된 형태를 갖게 된다. 정사각형으로부터 이런 사다리꼴을 만들기 위해서는, 3차원 공간상에서 초기 정사각형을 조금씩 돌려가면서 가장 근접한 형태의 모양이 되었을 때, 좌표를 결정할 수 있다.The marker in the image obtained from the camera has a shape in which the rectangular shape is transformed into a trapezoidal shape according to the direction in which the camera shines. To make this trapezoid from a square, you can determine the coordinates when you turn the initial square little by little in three-dimensional space to form the nearest shape.

마커 영역이 결정된 이후에는, 마커의 3차원 위치 정보를 계산한다. 이때, ARToolkit Core함수에서 계산된 3차원 값만을 이용하여, 3차원 객체를 영상에 합성하게 되면, 실제 객체를 실사 영상에 정합할 경우에 약간의 오차가 발생한다. 보다 정확한 위치 값 계산을 위하여 측정되는 거리에 따라서 자동으로 오차를 보정 하도록 개선하는 방법을 사용한다. 위치 보정은 카메라의 수직이동 보정과 상하이동 시 값 보정을 연속 적용함으로써 계산된다.After the marker region is determined, three-dimensional position information of the marker is calculated. At this time, when the 3D object is synthesized to the image using only the 3D value calculated by the ARToolkit Core function, a slight error occurs when matching the real object to the real image. In order to calculate the position more accurately, the improvement method is used to automatically correct the error according to the measured distance. Position correction is calculated by applying the camera's vertical shift correction and vertical shift correction.

전술한 바와 같이 마커 인식 모듈(114)에서 카메라로부터 획득된 영상에서 마커를 인식하고 마커의 3차원 위치가 추적되면, 카메라 영상과 3차원 물체를 매칭하여 화면에 보여주는 과정을 수행한다. As described above, when the marker recognition module 114 recognizes the marker in the image obtained from the camera and tracks the three-dimensional position of the marker, a process of matching the camera image with the three-dimensional object and displaying it on the screen is performed.

카메라로부터 영상이 획득되고 마커 인식 및 3차원 위치 추적이 수행되면, 3D 맥스에서 적용될 활성화 뷰(View) 창을 획득하여 뷰 창에 카메라의 영상을 갱신하고, 활성화된 뷰 창에 들어갈 카메라의 영상을 갱신한다. 활성화된 뷰 창의 매트 릭스(Matrix)를 얻고 마커의 위치 값으로 갱신하고, 적용된 위치 값으로 보이도록 화면을 갱신한다.When the image is acquired from the camera and the marker recognition and 3D position tracking are performed, the active view window to be applied in the 3D max is acquired to update the image of the camera in the view window, and the image of the camera to enter the activated view window is acquired. Update Get the matrix of the active view window, update it with the position value of the marker, and update the screen to show the applied position value.

이러한 과정을 수행함으로써 3차원 매칭 모듈(110)은 카메라의 영상을 입력받아 마커를 인식한 후에 마커의 위치를 계산하고, 계산된 위치 값을 3D 맥스의 대상 물체의 위치 값에 적용함으로써 도 5에 도시된 바와 같은 정합된 영상을 제공할 수 있다.By performing such a process, the 3D matching module 110 receives the image of the camera, recognizes the marker, calculates the position of the marker, and applies the calculated position value to the position value of the target object of the 3D max. As shown, a matched image may be provided.

본 발명의 바람직한 실시예에 따른 레이저 포인트 인식 모듈(120)은 레이저 포인트를 찾아내기 위하여 임계값을 수동으로 설정하는 기능을 수행하며, 카메라 영상에서 레이저 포인트가 빛나는 지점을 인식하는 포인트 인식 모듈(112) 및 카메라 영상에 보이는 레이저 포인트의 3차원 좌표를 계산하는 포인트 위치 계산 모듈(124)을 포함한다.The laser point recognition module 120 according to a preferred embodiment of the present invention performs a function of manually setting a threshold to find a laser point, and the point recognition module 112 recognizes a point where a laser point shines in a camera image. And a point position calculation module 124 that calculates three-dimensional coordinates of the laser point shown in the camera image.

레이저 포인트 인식 모듈(120)은 실제 물체에 레이저 포인트를 쏘아 발광되는 점을 두 개의 카메라 영상에서 각각 인식한 후, 이 두 점을 마커 기반 3차원 위치추적 기술을 바탕으로, 3차원 좌표를 계산한다. 이렇게 계산된 3차원 좌표는 보정과정 이후 텍스트 파일로 출력이 가능하며 3D 맥스 프로그램에서도 사용할 수 있다. The laser point recognition module 120 recognizes points emitted by shooting a laser point on a real object in two camera images, and then calculates three-dimensional coordinates based on the marker-based three-dimensional position tracking technology. . The calculated three-dimensional coordinates can be output to a text file after the calibration process and used in 3D Max programs.

즉, 레이저 포인트 인식 모듈(120)은 카메라에서 획득된 이미지에서 레이저 포인트를 인식하여 이미지 프로세싱 처리를 통하여 이미지에서의 2차원 좌표를 획득하고, 카메라 두 대에서 얻어진 레이저 포인터의 3차원 좌표와 3차원 상의 카메라 좌표를 잇는 선분을 생성하여 생성된 두 선분의 교점을 획득하여 레이저 포인트 의 3차원 좌표를 계산한다.That is, the laser point recognition module 120 acquires two-dimensional coordinates in the image through image processing by recognizing the laser point in the image acquired by the camera, and three-dimensional coordinates and three-dimensional coordinates of the laser pointers obtained by the two cameras. Calculate the three-dimensional coordinates of the laser point by acquiring the intersection of the two segments created by creating the segment connecting the camera coordinates of the image.

도 6은 본 발명의 바람직한 실시예에 따른 레이저 포인트 인식 과정을 설명하기 위한 예시도이다.6 is an exemplary view for explaining a laser point recognition process according to a preferred embodiment of the present invention.

두 대의 카메라를 이용하여 축을 이루는 4개의 마커를 인식하고, 4개의 마커로 2차원과 3차원의 좌표축을 생성한다. 보정용 육면체를 이용하여 육면체의 꼭지점들을 입력받고, 입력받은 꼭지점들을 이용하여 3차원 좌표의 보정값들을 계산한다. 모델링될 물체를 두 대의 카메라가 비추도록 하고, 레이저 포인트를 모델링될 물체의 표면에 쏜 후에, 두 대의 카메라 이미지에서 레이저 포인트의 위치를 찾는다. 레이저 포인터의 3차원 좌표를 획득하고, 획득된 좌표를 보정한다.Two cameras are used to recognize four markers on the axis, and two and three coordinate axes are generated from the four markers. The vertices of the hexahedron are input using a correction hexahedron, and the correction values of three-dimensional coordinates are calculated using the input vertices. Let two cameras illuminate the object to be modeled, shoot the laser point onto the surface of the object to be modeled, and then locate the laser point in the two camera images. Obtain three-dimensional coordinates of the laser pointer and correct the obtained coordinates.

즉, 레이저 포인트 인식 및 3D 위치 계산을 하기 위해서는 마커 검색을 하고, 3차원 축을 형성하여 육면체의 꼭지점 좌표를 입력한 후 육면체 내부의 보정좌표들을 모두 계산해 두어야 한다. 이후 레이저 포인트가 인식되면 내부보정좌표를 기반으로 레이저 포인트의 좌표를 계산한다.That is, in order to recognize the laser point and calculate the 3D position, the marker search is performed, the three-dimensional axis is formed, the vertex coordinates of the cube are input, and the correction coordinates inside the cube must be calculated. After the laser point is recognized, the coordinates of the laser point are calculated based on the internal calibration coordinates.

레이저 포인트를 찾아내기 위해서는 카메라 영상이 2개가 필요하다. 이미 설명한 VFW 라이브러리를 이용하여 영상을 얻을 수 있지만, DirectX내의 DirectShow기술을 활용하면 조금 더 빠른 성능을 기대할 수 있다. 따라서, 레이저 포인트 인식 시에는, DirectShow기술을 활용한다. 하지만, DirectShow에서의 카메라 영상획득을 위한 사용방법이 복잡하여 실제 프로젝트마다 적용하기가 어려운 단점이 있다. 또한, 다수의 카메라에 대한 동시 영상 획득 기능은 구현되어 있지 않아서 다양한 응용프로그램에 적합하지 않으므로, 기본적으로 제공하는 샘플 소스인 AMCap 의 카메라 획득 부분의 소스를 수정하여 사용하였다. AMCap은 여러 개의 카메라 중에 선택적으로 하나의 영상을 얻어 와서 출력해주며 해당 카메라의 옵션조정, 캡쳐 기능을 제공한다. 또한, BaseClasses라는 라이브러리를 사용하여 카메라에 접근하므로, 이 라이브러리의 일부 세팅 값을 변경 조정하여 일반 응용 프로그램 작성 시 사용할 수 있도록 하였다. 이렇게 수정된 라이브러리를 이용하여 사용될 카메라 개수에 맞게 CSampleGrabberCBXX 클래스를 추가하여 동시 영상획득 기능을 구현한다.Two camera images are needed to find the laser point. You can get the image using the VFW library already described, but you can expect faster performance by using DirectShow technology in DirectX. Therefore, DirectShow technology is used for laser point recognition. However, there is a disadvantage that it is difficult to apply it to each project because the usage method for acquiring camera image in DirectShow is complicated. In addition, since the simultaneous image acquisition function for a plurality of cameras is not implemented, it is not suitable for various applications, and thus the source of the camera acquisition portion of AMCap, which is a basically provided sample source, is modified and used. AMCap takes one image from among several cameras and outputs it, and provides options for adjusting and capturing the camera. In addition, since the camera is accessed using a library called BaseClasses, some setting values of this library are changed and adjusted so that it can be used when writing general applications. Using this modified library, the CSampleGrabberCBXX class is added to match the number of cameras to be used to implement simultaneous image acquisition.

이미지 상에서의 마커가 이루는 2차원 축(이하 2차원 축이라 함)이나 3차원 공간 상에서의 3차원 축(이하 3차원 축이라 함)을 형성하기 위해서는 4개의 마커가 필요하다. 이 4개의 마커 중에서 하나라도 검색되지 않으면, 축의 위치를 정확하게 계산할 수 없게 된다. 따라서, 본 발명에서는 반드시 4개의 마커를 이용하도록 한다.Four markers are required to form a two-dimensional axis (hereinafter referred to as a two-dimensional axis) formed by the marker on the image or a three-dimensional axis (hereinafter referred to as a three-dimensional axis) in three-dimensional space. If no one of these four markers is found, the position of the axis cannot be calculated accurately. Therefore, in the present invention, four markers must be used.

2차원 축을 이루는 마커 4개의 위치를 모두 찾게 되면, 2차원과 3차원 각각의 축을 생성하여야 한다. 차후에 찾아질 레이저 포인트는 이 축들의 상대적인 위치 값으로 계산된다.  If all four markers that form the two-dimensional axis are found, then two axes must be created. The laser point to be found later is calculated as the relative position value of these axes.

우선 2차원 축은 이미지 상에서 결정되며 카메라의 각도와 위치에 따라 다양한 모양으로 나타난다. 이미지 영상에서 인식된 4개의 마커 중에 서로 마주보는 2쌍의 마커를 이용하여 중심을 잇는 선분 2개를 만든다. 이 두 선분의 교점이 2차원 축의 중심이 되며 각각의 선분은 마커의 ID값에 따라 X축과 Y축으로 구분이 되므로 이미지를 4분면으로 나눌 수 있다. First, the 2D axis is determined on the image and appears in various shapes depending on the angle and position of the camera. Using two pairs of markers facing each other out of four markers recognized in the image, two line segments are formed. The intersection of these two segments becomes the center of the two-dimensional axis, and each segment is divided into X and Y axes according to the ID value of the marker, so the image can be divided into quadrants.

ARToolkit을 사용하여 마커의 2차원 좌표와 3차원 좌표를 얻을 수 있다. 마 커의 3차원 좌표는 카메라의 위치에 따른 독립적인 공간이며, 이 공간들을 공통된 하나의 카메라 위치로 변경한다. 이러한 과정을 통하여 하나의 3차원 공간에 카메라를 기준으로 한 각각의 위치가 나타나게 된다. You can use ARToolkit to get the 2D and 3D coordinates of a marker. The three-dimensional coordinates of the marker are independent spaces according to the position of the camera, and change these spaces to one common camera position. Through this process, each position with respect to the camera appears in one three-dimensional space.

앞에서 구해진 2차원의 축에 대한 상대적 좌표를 이용하여 3차원의 좌표축에 대한 상대적 좌표를 획득할 수 있다. 2차원의 좌표를 3차원으로 바로 적용할 수 없으나 앞에서 마커가 이루는 평면의 변환 과정을 통해 y축이 없는 (X, Z)평면을 생성하였으므로 2차원 좌표는 3차원에서 y축 값이 0인 3차원 좌표로 변환이 가능해 진다. The relative coordinates of the three-dimensional coordinate axis can be obtained using the relative coordinates of the two-dimensional axis obtained above. Although two-dimensional coordinates cannot be directly applied to three dimensions, the (X, Z) plane without the y-axis was created through the transformation process of the plane formed by the marker. Conversion to dimensional coordinates is possible.

정리하면, 레이저 포인트 인식 모듈(120)은 레이저 포인트의 3차원 위치를 찾기 위해 축이 되는 4개의 마커를 찾고 2차원과 3차원의 좌표축을 생성한다. 좌표축은 두 대의 카메라에서 들어오는 각각의 이미지에서 별도로 생성되어야 하기 때문에 2개의 좌표축이 생성되게 된다.In summary, the laser point recognition module 120 finds four markers that serve as axes to find the three-dimensional position of the laser point and generates two-dimensional and three-dimensional coordinate axes. Two axes are created because the axes must be created separately for each image coming from two cameras.

여기서, 2차원 좌표축은 마커의 2차원 위치 값들의 중점을 구하고 마주보는 마커들의 연장선이 좌표축이 되며, 3차원 좌표축은 마커의 3차원 위치 값들을 X축과, Z축에 오도록 회전을 통하여 얻을 수 있다. 마커의 위치 값들을 회전할 때에는 모든 마커의 점과 카메라를 함께 적용시킨다. Here, the 2D coordinate axis obtains the midpoint of the 2D position values of the marker and the extension lines of the facing markers become the coordinate axis, and the 3D coordinate axis can be obtained by rotating the 3D position values of the marker on the X axis and the Z axis. have. When rotating the marker position values, apply the markers of all markers and the camera together.

또한, 레이저 포인트 인식 모듈(120)은 레이저 포인트의 인식을 위해 물체에 쏘아진 레이저 포인트의 위치를 카메라 이미지에서 찾아낸다. 레이저 포인트의 위치를 찾기 위해서는 카메라의 옵션 값을 조정해 주어야하는데, 카메라의 옵션은 카메라의 기종과 환경에 따라 달라진다. 일반적으로 화면의 컬러 값이 어두워질 정 도로 맞추는 것이 좋다. 어두워진 영상에서는 레이저 포인트가 밝게 나타나지며 이점의 위치 값을 찾게 된다.In addition, the laser point recognition module 120 finds the position of the laser point shot on the object in the camera image to recognize the laser point. To find the location of the laser point, you need to adjust the camera's options. The camera's options depend on the camera's type and environment. It is generally a good idea to adjust the color value on the screen to be dark. In darker images, the laser point appears brighter and finds the location of the benefit.

레이저 포인트의 위치 값을 찾기 위해서는 옵션을 변경하여 컬러 값이 어두워진 영상을 카메라로부터 획득하고, 라벨링을 하기 위한 임계값을 찾는다. 그리고 레이저 포인터로 추정되는 가장 밝은 부분의 위치 값을 찾으면 임계값을 적용하여 영상을 이진화한다. 이진화된 영상을 라벨링하여 영역별로 나누고 가장 밝은 부분이 포함된 라벨링 영역을 획득한다. 획득된 라벨링 영역의 중심을 찾아 레이저 포인터의 위치 값으로 설정한다.In order to find the position value of the laser point, the option is changed to obtain an image of a dark color value from the camera, and to find a threshold for labeling. When the position value of the brightest part estimated by the laser pointer is found, the threshold value is applied to binarize the image. The binarized image is labeled and divided by regions, and a labeling region including the brightest portion is obtained. The center of the acquired labeling area is found and set as the position value of the laser pointer.

또한, 레이저 포인트의 3차원 위치를 인식하기 위해서는 레이저 포인터가 비춰진 2차원에서의 위치 값을 2차원 축에 맞게 변환한 뒤 3차원의 좌표에 적용한다. 3차원에서 마커가 이루는 평면은 y축이 없는 (x, z)평면이므로 2차원의 점을 3차원에 적용시킬 수 있다. In addition, in order to recognize the three-dimensional position of the laser point, the position value in the two-dimensional illuminated by the laser pointer is converted to fit the two-dimensional axis and then applied to the three-dimensional coordinates. Since the plane formed by the marker in 3D is a (x, z) plane without a y-axis, a 2D point can be applied to the 3D.

두 영상에서 얻은 3차원 상에서의 카메라 위치와 물체의 위치를 이은 선분을 각각 생성한다. 생성된 두 직선의 교점이 레이저 포인터의 3차원 좌표가 되며 다음과 같은 과정에 의해 계산된다.A line segment is created by connecting the camera position and the object position in three dimensions obtained from the two images. The intersection of the two straight lines generated is the three-dimensional coordinates of the laser pointer and is calculated by the following process.

2차원의 레이저 좌표를 2차원 축을 기준으로한 좌표로 변환하고 2차원의 좌표를 3차원의 좌표로 적용한 후에 3차원 카메라 위치와 물체의 위치를 이은 선분을 두 개 생성하고 3차원 직선의 교점을 구한다.After converting 2D laser coordinates to coordinates based on 2D axis, applying 2D coordinates to 3D coordinates, create two line segments connecting the 3D camera position and the object's position. Obtain

이와 같은 동작을 수행하여 레이저 포인트 인식 모듈(120)은 발광되는 레이저 포인트의 3차원 위치를 파악함으로써 3차원의 결과물을 쉽게 생성할 수 있도록 한다.By performing such an operation, the laser point recognition module 120 can easily generate a three-dimensional result by identifying a three-dimensional position of the laser point emitted.

본 발명의 바람직한 실시예에 따른 플러그인 제작 모듈(130)은 3차원 매칭 모듈(110)과 레이저 포인트 인식 모듈(120)로부터 생성된 결과값을 이용하여, 3D 맥스의 SDK에서 제공하는 기능을 활용하여, 3D 맥스 프로그램에 임베디드화하여 사용되는 플러그인 형태의 모듈로 제공된다.Plug-in manufacturing module 130 according to a preferred embodiment of the present invention by using the results generated from the three-dimensional matching module 110 and laser point recognition module 120, by utilizing the functions provided by the SDK of the 3D Max It is provided as a plug-in module that is embedded in 3D Max program.

플러그인 제작 모듈(130)은 3D 맥스 모델의 자료구조상에서 값을 읽어오는 기능을 수행하고, 3D 맥스 모델의 자료구조상에 레이저 포인트로 인식된 좌표를 입력하는 기능을 수행하는 Max 모델 자료 구조 접근 모듈(132) 및 3D 맥스 프로그램 인터페이스에 카메라 영상을 임베디드화 하고, 카메라 영상에 3D 맥스의 모델을 정합하는 Max 모델 영상 정합 모듈(134)을 포함한다.The plug-in production module 130 performs a function of reading a value from the data structure of the 3D max model, and inputs a coordinate recognized as a laser point on the data structure of the 3D max model. 132) and a Max model image registration module 134 for embedding a camera image in the 3D max program interface and matching a model of the 3D max to the camera image.

본 발명의 바람직한 실시예에 따른 플러그인 제작 모듈(130)은 3D 매칭 기능과 레이저 포인트 인식 기능이 포함되어, 실시간 화상 기반의 직관적인 모델링을 지원한다. 3D 매칭 기능을 이용하면, 모델링을 하고 있는 사용자는 카메라 영상이 3D 맥스 프로그램에 나오도록 할 수 있으며, 이 카메라 영상에 마커를 비추면, 실사에 3D 모델 정보가 정합된 증강현실 영상을 볼 수 있고, 이를 통한 모델링 작업으로 작업 효율성을 높일 수 있다. 레이저 포인트 인식 기능은 각기 다른 각도의 2장의 화상이미지에서 레이저 포인트를 찾아내어, 레이저 포인트의 3차원 좌표를 계산한다. 계산된 좌표는 3D 맥스 프로그램에 전달되어 3D 모델링 작업에 이용할 수 있다.The plug-in manufacturing module 130 according to the preferred embodiment of the present invention includes a 3D matching function and a laser point recognition function to support intuitive modeling based on a real-time image. Using the 3D matching function, the modeling user can make the camera image appear in the 3D Max program, and by illuminating the marker on the camera image, the augmented reality image in which the 3D model information is matched in the real world can be seen. Therefore, modeling work through this can increase work efficiency. The laser point recognition function finds laser points in two image images of different angles and calculates three-dimensional coordinates of the laser points. The calculated coordinates are passed to the 3D Max program for use in 3D modeling work.

도 7은 본 발명의 바람직한 실시예에 따른 플러그인 제작 모듈의 사용자 인 터페이스 화면을 나타낸 예시도이다.7 is an exemplary view showing a user interface screen of the plug-in production module according to an embodiment of the present invention.

플러그인 제작 모듈(130)의 인터페이스 화면에서는 카메라 조정 버튼, 카메라 이진 영상, 활성화된 뷰 가로폭, 임계값 조정 버튼 및 3차원 매칭 다이얼로그 실행버튼 등이 구비되어 카메라 영상이 임베디드된 것과 더불어 카메라에 대한 옵션 설정도 할 수 있다.The interface screen of the plug-in production module 130 includes a camera adjustment button, a camera binary image, an active view width, a threshold adjustment button, and a 3D matching dialog execution button, so that the camera image is embedded and options for the camera are included. You can also set.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명에 의하면, 실시간 화상 기반의 3차원 모델링을 지원함으로써, 콘텐츠 제작자들의 작업시간의 단축과 아울러 실물에 정확한 모델링을 가능하게 하는 효과가 있다.As described above, according to the present invention, by supporting real-time image-based three-dimensional modeling, it is possible to reduce the working time of content creators and to enable accurate modeling in real life.

또한, 3D 관련 산업의 제작생산성의 향상으로, 저비용 노동집약산업으로 폄하되고 있는 해당 산업의 질적인 발전 및 창조적 개발역량을 위한 투자로 이어지는 효과가 있다.In addition, the improvement in production productivity of 3D-related industries has the effect of investing in the qualitative development and creative development capability of the industry, which has been degraded as a low-cost labor-intensive industry.

Claims (5)

실시간 화상 기반의 3차원 모델링을 지원하는 프로그램으로서,This program supports real-time image based 3D modeling. (a) 카메라로부터 들어오는 영상에서 마커의 영역이 될 사각후보영역을 인식하고, 상기 사각후보영역에서 실제 마커의 영역을 검출한 후, 상기 마커의 3차원 위치를 계산하여 실제객체에 모델링한 객체를 매치시키는 기능을 수행하는 3차원 매칭 모듈;(a) Recognizing the rectangular candidate area to be the marker area in the image from the camera, detecting the actual marker area in the rectangular candidate area, calculating the three-dimensional position of the marker and modeling the object on the real object. A three-dimensional matching module performing a matching function; (b) 실제물체에 레이저 포인트를 쏘아 발광되는 점을 두 개의 카메라 영상에서 각각 인식한 후, 상기 점에서 마커 기반의 3차원 위치추적 기술을 이용하여 3차원 좌표를 계산하여 제공하는 기능을 수행하는 레이저 포인트 인식 모듈; 및(b) Recognizing the point of light emitted by shooting a laser point on a real object in each of the two camera images, and then calculates and provides three-dimensional coordinates using a marker-based three-dimensional position tracking technology at the point Laser point recognition module; And (c) 3D 맥스 모델의 자료구조 상에서 값을 읽어오며, 상기 3D 맥스 모델의 상기 자료구조에 상기 레이저 포인트로 인식된 좌표를 입력하는 기능, 3D 맥스 프로그램 인터페이스에 카메라 영상을 임베디드화 하고, 카메라 영상에 상기 3D 맥스의 모델을 정합하는 기능을 수행하는 플러그인 제작 모듈(c) read values on the data structure of the 3D Max model, input the coordinates recognized as the laser points into the data structure of the 3D Max model, embed the camera image in the 3D Max program interface, and Plug-in production module that performs the function of matching the model of the 3D Max to 을 포함하는 것을 특징으로 하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체.A computer-readable recording medium recording a program for supporting real-time image-based three-dimensional modeling, comprising a. 제 1 항에 있어서, 상기 3차원 매칭 모듈은,The method of claim 1, wherein the three-dimensional matching module, 상기 카메라에서 영상을 획득하거나, 영상을 획득하지 않는 제어 기능을 수행하는 영상 획득 모듈;An image acquisition module configured to acquire an image from the camera or perform a control function not acquiring an image; 상기 카메라로부터 들어오는 상기 영상에서 상기 마커의 영역이 될 상기 사각후보영역을 찾아내고, 상기 사각후보영역에서 실제 마커의 영역을 획득하는 마커 인식 모듈; 및A marker recognition module for finding the rectangular candidate area to be the area of the marker in the image coming from the camera, and obtaining a real marker area from the rectangular candidate area; And 상기 마커와 상기 카메라와의 3차원 좌표를 계산하는 기능을 수행하는 마커 위치 추적 모듈Marker position tracking module for calculating a three-dimensional coordinates of the marker and the camera 을 포함하는 것을 특징으로 하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체.A computer-readable recording medium recording a program for supporting real-time image-based three-dimensional modeling, comprising a. 제 1 항에 있어서, 상기 레이저 포인트 인식 모듈은,The method of claim 1, wherein the laser point recognition module, 상기 레이저 포인트를 찾아내기 위하여 임계값을 설정하는 기능을 수행하며, 상기 카메라의 영상에서 상기 레이저 포인트가 빛나는 지점을 인식하는 포인트 인식 모듈; 및A point recognition module for setting a threshold to find the laser point, and recognizing a point where the laser point shines in the image of the camera; And 상기 카메라의 영상에 보이는 상기 레이저 포인트의 상기 3차원 좌표를 계산하는 포인트 위치 계산 모듈Point position calculation module for calculating the three-dimensional coordinates of the laser point seen in the image of the camera 을 포함하는 것을 특징으로 하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체.A computer-readable recording medium recording a program for supporting real-time image-based three-dimensional modeling, comprising a. 제 1 항에 있어서, 상기 프로그램은,According to claim 1, wherein the program, 상기 카메라로부터 들어오는 영상을 획득하고, 주변 환경에 따른 임계치를 계산한 후, 상기 임계치를 이용하여 상기 영상을 0과 1로 이진화하며, 상기 사각후 보영역에 대한 라벨링을 수행하여 상기 마커로 인식하는 상기 사각후보영역을 표시하여 처리할 부분을 선별하고, 라벨링된 영역에서 외곽선을 검출하여 4개의 꼭지점을 찾는 과정을 수행하여 상기 사각후보영역을 검출하는 것을 특징으로 하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체.After acquiring an image from the camera, calculating a threshold value according to a surrounding environment, binarizing the image to 0 and 1 using the threshold value, and labeling the blind spot region to recognize the marker as the marker. The real-time image-based three-dimensional modeling is performed by selecting the area to be processed by displaying the rectangular candidate area, and detecting the four candidate points by detecting an outline in the labeled area. Computer-readable recording media that records supported programs. 제 1 항에 있어서, 상기 프로그램은,According to claim 1, wherein the program, 2차원의 레이저 좌표를 2차원 축을 기준으로한 좌표로 변환하여, 2차원의 좌표를 3차원의 좌표로 적용한 후, 3차원 카메라 위치와 물체의 위치를 이은 선분을 두개 생성하여 3차원 직선의 교점을 구하는 과정을 수행하여 상기 레이저 포인트의 상기 3차원 좌표를 계산하는 것을 특징으로 하는 실시간 화상 기반의 3차원 모델링을 지원하는 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체.Convert two-dimensional laser coordinates to coordinates based on two-dimensional axes, apply two-dimensional coordinates to three-dimensional coordinates, and then create two line segments connecting the three-dimensional camera position and the object's position to the intersection of three-dimensional straight lines. And calculating the three-dimensional coordinates of the laser point by performing a process of obtaining the data.
KR1020060080438A 2006-08-24 2006-08-24 Computer-readable recording medium for recorded program for providing 3d modeling based real-time images KR20080018397A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060080438A KR20080018397A (en) 2006-08-24 2006-08-24 Computer-readable recording medium for recorded program for providing 3d modeling based real-time images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060080438A KR20080018397A (en) 2006-08-24 2006-08-24 Computer-readable recording medium for recorded program for providing 3d modeling based real-time images

Publications (1)

Publication Number Publication Date
KR20080018397A true KR20080018397A (en) 2008-02-28

Family

ID=39385429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060080438A KR20080018397A (en) 2006-08-24 2006-08-24 Computer-readable recording medium for recorded program for providing 3d modeling based real-time images

Country Status (1)

Country Link
KR (1) KR20080018397A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509105B1 (en) * 2013-04-29 2015-04-08 주식회사 제이엠랩 Apparatus for providing augmented reality and method thereof
KR20150125326A (en) * 2014-04-30 2015-11-09 (주)제이앤씨마케팅커뮤니케이션 System and method for providing interactive augmented reality service
CN116310806A (en) * 2023-02-28 2023-06-23 北京理工大学珠海学院 Intelligent agriculture integrated management system and method based on image recognition

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509105B1 (en) * 2013-04-29 2015-04-08 주식회사 제이엠랩 Apparatus for providing augmented reality and method thereof
KR20150125326A (en) * 2014-04-30 2015-11-09 (주)제이앤씨마케팅커뮤니케이션 System and method for providing interactive augmented reality service
CN116310806A (en) * 2023-02-28 2023-06-23 北京理工大学珠海学院 Intelligent agriculture integrated management system and method based on image recognition
CN116310806B (en) * 2023-02-28 2023-08-29 北京理工大学珠海学院 Intelligent agriculture integrated management system and method based on image recognition

Similar Documents

Publication Publication Date Title
TWI419081B (en) Method and system for providing augmented reality based on marker tracing, and computer program product thereof
Kaskman et al. Homebreweddb: Rgb-d dataset for 6d pose estimation of 3d objects
US10964049B2 (en) Method and device for determining pose of camera
US9519968B2 (en) Calibrating visual sensors using homography operators
KR101135186B1 (en) System and method for interactive and real-time augmented reality, and the recording media storing the program performing the said method
US10674135B2 (en) Handheld portable optical scanner and method of using
JP5013961B2 (en) Position / orientation measuring apparatus and control method thereof
JP6089722B2 (en) Image processing apparatus, image processing method, and image processing program
JP6417702B2 (en) Image processing apparatus, image processing method, and image processing program
WO2018133130A1 (en) 3d marker model construction and real-time tracking using monocular camera
US9117267B2 (en) Systems and methods for marking images for three-dimensional image generation
US9014507B2 (en) Automatic tracking matte system
WO2014172484A1 (en) Handheld portable optical scanner and method of using
AU2017279672A1 (en) Alignment of captured images by fusing colour and geometrical information.
KR20110107545A (en) Augmented reality system and method using recognition light source, augmented reality processing apparatus for realizing the same
KR100702534B1 (en) Id judgment method by using extension type visual marker including direrction information
KR20080018397A (en) Computer-readable recording medium for recorded program for providing 3d modeling based real-time images
JP2001101419A (en) Method and device for image feature tracking processing and three-dimensional data preparing method
Knecht et al. Interactive BRDF estimation for mixed-reality applications
Lee et al. Estimation of illuminants for plausible lighting in augmented reality
Seo et al. Real-time visual tracking of less textured three-dimensional objects on mobile platforms
KR20100097297A (en) Apparatus and method for providing augmented space without using markers
Uma et al. Marker based augmented reality food menu
Tybusch et al. Color-based and recursive fiducial marker for augmented reality
BARON et al. APPLICATION OF AUGMENTED REALITY TOOLS TO THE DESIGN PREPARATION OF PRODUCTION.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application