KR102218095B1 - Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof - Google Patents
Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof Download PDFInfo
- Publication number
- KR102218095B1 KR102218095B1 KR1020190121955A KR20190121955A KR102218095B1 KR 102218095 B1 KR102218095 B1 KR 102218095B1 KR 1020190121955 A KR1020190121955 A KR 1020190121955A KR 20190121955 A KR20190121955 A KR 20190121955A KR 102218095 B1 KR102218095 B1 KR 102218095B1
- Authority
- KR
- South Korea
- Prior art keywords
- target person
- target
- plane
- image
- virtual object
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
본 발명은 증강 현실 구현 방법 및 이를 위한 장치에 관한 것으로, 더 구체적으로는 촬영 수단을 갖춘 디바이스로 임의의 오브젝트, 바람직하게는 인물을 촬영하고자 할 때에 대상 인물이 위치해 있는 공간 중에서도 특히 평면을 인식하고, 해당 평면 상으로 가상 캐릭터가 등장한 후 포즈를 취하게 함으로써 대상 인물과 가상 캐릭터가 동일 평면 상에 서 있는 상태처럼 보이게 하는 증강 현실 구현 방법 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.The present invention relates to a method of implementing an augmented reality and an apparatus therefor, and more specifically, a device equipped with a photographing means to recognize an arbitrary object, preferably a person, among the spaces in which the target person is located, , An augmented reality implementation method and a computer-readable storage medium in which a target person and a virtual character appear as if they are standing on the same plane by making a pose after appearing on a corresponding plane.
촬영 수단을 갖춘 휴대용 디바이스들은 이제 일상 생활에서 매우 쉽게 접할 수 있으며, 특히 스마트폰의 폭발적인 사용 증가에 따라 스마트폰을 이용하여 사진 촬영, 동영상 촬영을 하는 모습 역시 매우 쉽게 볼 수 있다. Portable devices equipped with photographing means are now very easy to access in everyday life, and in particular, taking pictures and taking videos using a smartphone with the explosive increase in the use of smartphones can be seen very easily.
최근에는 단순히 카메라 프레임 내에 포함된 대상 오브젝트, 특히 인물만을 촬영하는 수준에서 벗어나, 해당 프레임 내에 다양한 효과를 입힘으로써 사용자들이 보다 재미있게 사진이나 동영상을 촬영할 수 있게 하거나, 보다 다양한 컨텐츠의 사진, 동영상을 만들 수 있게 하기 위해 많은 아이디어들이 제안되고 있다.In recent years, moving away from the level of simply photographing the target object included in the camera frame, especially people, by applying various effects within the frame, users can take pictures or videos more interestingly, or create photos and videos of more diverse contents. Many ideas have been proposed to make this possible.
이러한 아이디어들 중 하나로, 기존에는 촬영하고자 하는 대상 인물 주변에 가상의 캐릭터를 더 표시함으로써 마치 대상 인물과 가상 캐릭터가 한 공간에 존재하는 상태에서 사진 촬영이 이루어질 수 있게 한 서비스 방법이 제안된 바 있다. 그러나 종래 방식에서는 가상 캐릭터가 카메라의 프레임 내에서 정해진 위치에만 표시될 수 있었기 때문에 대상 인물이 직접 이동을 하거나 또는 사진을 찍어주는 사람이 촬영각도를 바꾸기 위해 자리를 옮겨야 하는 등 불편한 점이 있어 왔다. As one of these ideas, conventionally, a service method has been proposed in which a picture can be taken while the target person and the virtual character exist in one space by further displaying a virtual character around the person to be photographed. . However, in the conventional method, since the virtual character could be displayed only at a predetermined position within the frame of the camera, there have been inconvenient points such as the target person moving directly or the person taking the picture must move to change the shooting angle.
본 발명은 이와 같이 가상 캐릭터가 동반된 사진 촬영을 하고자 할 때에, 가상 캐릭터가 대상 오브젝트, 바람직하게는 대상 인물과의 공간적 위치에 연동하여 자연스럽게 등장 및 위치할 수 있게 하는 것을 목적으로 한다.An object of the present invention is to enable the virtual character to appear and position naturally in connection with a target object, preferably a spatial position with a target person, when a photo shoot accompanied by a virtual character is to be taken.
본 발명은 이와 같은 문제점에 착안하여 도출된 것으로, 이상에서 살핀 기술적 문제점을 해소시킬 수 있음은 물론, 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.The present invention was derived by focusing on such a problem, and invented to provide additional technical elements that can not be easily invented by those of ordinary skill in the art, as well as being able to solve the technical problems of salpin above. Became.
본 발명은 촬영하고자 하는 대상 인물 주변에 가상 캐릭터가 적절히 위치할 수 있도록 상기 대상 인물이 위치해 있는 공간을 이미지로부터 식별해 내는 것을 목적으로 한다. An object of the present invention is to identify a space in which the target person is located from an image so that the virtual character can be properly positioned around the target person to be photographed.
또한 본 발명은 별도의 조작 없이도 대상 인물과의 촬영 위치에 가상 캐릭터가 렌더링되도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to render a virtual character at a location where a target person is photographed without a separate manipulation.
또한 본 발명은 상기 식별한 공간 상에서 가상 캐릭터가 실제 등장 및 이동하는 것과 같은 효과를 제공함으로써 사용자가 더 즐거움을 느끼거나 실제 상황과 같이 몰입감을 느낄 수 있게 하는 것을 목적으로 한다.In addition, an object of the present invention is to provide an effect such that a virtual character actually appears and moves in the identified space, so that a user can feel more enjoyable or feel immersive like a real situation.
또한 본 발명은 촬영 후 결과물을 다양한 포맷의 출력으로 변환시킴으로써 다수의 사용자들이 다양한 형태로 공유할 수 있게 하는 것을 목적으로 한다.In addition, an object of the present invention is to enable a plurality of users to share in various forms by converting a result after shooting into an output in various formats.
한편, 본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Meanwhile, the technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.
위와 같은 문제점을 해결하기 위하여, 본 발명에 따른 증강 현식 서비스 구현 방법은, 대상 인물이 포함된 영상을 획득하는 단계; 가상 오브젝트를 선택하기 위한 사용자 입력을 수신하는 단계; 상기 영상 내에서 상기 대상 인물이 위치하고 있는 평면을 식별하는 단계; 상기 사용자 입력에 의해 선택된 가상 오브젝트를 로드하는 단계; 로드 된 가상 오브젝트를 상기 영상 내에서 식별된 평면 상에 표시하는 단계; 상기 가상 오브젝트 및 대상 인물이 포함된 영상으로부터 이미지 데이터 또는 영상 데이터를 생성하는 단계;를 포함하는 것을 특징으로 한다.In order to solve the above problems, a method for implementing an augmented representation service according to the present invention includes: obtaining an image including a target person; Receiving a user input for selecting a virtual object; Identifying a plane in which the target person is located in the image; Loading a virtual object selected by the user input; Displaying the loaded virtual object on a plane identified in the image; And generating image data or image data from an image including the virtual object and the target person.
또한, 상기 증강 현실 서비스를 구현하는 방법에 있어서 상기 대상 인물이 위치하고 있는 평면을 식별하는 단계는, 상기 영상의 하단에 위치한 오브젝트들 중 면(plane)의 영역이 가장 넓은 오브젝트를 대상 평면으로 식별하는 것을 특징으로 할 수 있다.In addition, in the method of implementing the augmented reality service, the step of identifying a plane in which the target person is located may include identifying an object with the largest plane area among the objects located at the bottom of the image as a target plane. It can be characterized.
또한, 상기 증강 현실 서비스를 구현하는 방법에 있어서 상기 영상 내에서 상기 대상 인물이 위치하고 있는 대상 평면을 식별하는 단계 이전에, 상기 영상 내에서 상기 대상 인물을 식별하는 단계를 더 포함할 수 있다.In addition, the method of implementing the augmented reality service may further include identifying the target person in the image before the step of identifying a target plane in which the target person is located in the image.
이 때, 상기 대상 인물을 식별하는 단계는 상기 대상 인물의 하체 영역을 식별하는 단계를 포함할 수 있다. In this case, the step of identifying the target person may include identifying a lower body region of the target person.
또한, 상기 대상 인물이 위치하고 있는 대상 평면을 식별하는 단계는, 식별된 상기 대상 인물의 하체 영역과 접한 오브젝트들 중 면(plane)의 영역이 가장 넓은 오브젝트를 상기 대상 평면으로 식별하는 것을 특징으로 할 수 있다.In addition, the step of identifying the target plane on which the target person is located may include identifying an object having the largest plane area among the objects in contact with the lower body area of the identified target person as the target plane. I can.
또한, 상기 증강 현실 서비스를 구현하는 방법에 있어서 상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계는, 상기 가상 오브젝트에 대하여 기 정의된 애니메이션을 표시하는 것을 특징으로 할 수 있다. 이 때, 상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계 이전, 상기 대상 평면 상에서 상기 가상 오브젝트가 위치하게 될 대상 위치를 결정하는 단계;를 더 포함할 수 있다. 또한, 상기 가상 오브젝트가 위치하게 될 대상 위치를 결정하는 단계는, 상기 영상 내에서 상기 대상 인물과의 간격, 상기 가상 오브젝트가 위치하였을 때 상기 대상 인물과 중첩되는 영역의 크기, 또는 상기 가상 오브젝트와 상기 대상 인물과 중첩되는 영역의 상기 대상 인물 영역 대비 비율 중 적어도 하나를 기준으로 결정되는 것을 특징으로 할 수 있다.In addition, in the method of implementing the augmented reality service, displaying the virtual object on the target plane may include displaying a predefined animation for the virtual object. In this case, before the step of displaying the virtual object on the target plane, determining a target position at which the virtual object will be located on the target plane; may further include. In addition, the determining of a target position in which the virtual object will be located may include an interval between the target person in the image, a size of an area overlapping the target person when the virtual object is located, or the virtual object It may be characterized in that it is determined based on at least one of a ratio of an area overlapping with the target person compared to the target person area.
또한, 상기 증강 현실 서비스를 구현하는 방법에 있어서 상기 대상 인물을 식별하는 단계는, 상기 대상 인물의 하체 영역, 상체 영역, 및 얼굴 영역을 식별하는 것을 특징으로 할 수 있다. 이 때, 상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계는, 상기 가상 오브젝트를, 식별된 상기 대상 인물의 하체 영역, 상체 영역, 또는 얼굴 영역에 대응되는 기 정의된 포즈로 표시하는 것을 특징으로 할 수 있다.In addition, in the method of implementing the augmented reality service, the step of identifying the target person may include identifying a lower body region, an upper body region, and a face region of the target person. In this case, displaying the virtual object on the target plane comprises displaying the virtual object in a predefined pose corresponding to a lower body region, an upper body region, or a face region of the identified target person. can do.
한편, 본 발명의 또 다른 실시예에 따른 컴퓨터 판독 가능 저장 매체는, 증강 현실 서비스를 구현하는 방법을 실행시키기 위한 명령어들을 저장하되, 상기 증강 현실 서비스를 구현하는 방법은, 대상 인물이 포함된 영상을 획득하는 단계; 상기 영상 내에서 상기 대상 인물이 위치하고 있는 대상 평면을 식별하는 단계; 가상 오브젝트를 선택하기 위한 사용자 입력을 수신하는 단계; 상기 사용자 입력에 의해 선택된 가상 오브젝트를 로드하는 단계; 로드 된 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계; 상기 가상 오브젝트 및 대상 인물이 포함된 영상으로부터 이미지 데이터 또는 영상 데이터를 생성하는 단계;를 포함할 수 있다.Meanwhile, a computer-readable storage medium according to another embodiment of the present invention stores instructions for executing a method of implementing an augmented reality service, but the method of implementing the augmented reality service includes an image including a target person. Obtaining a; Identifying a target plane in which the target person is located in the image; Receiving a user input for selecting a virtual object; Loading a virtual object selected by the user input; Displaying the loaded virtual object on the target plane; And generating image data or image data from an image including the virtual object and a target person.
본 발명에 따르면 대상 인물이 위치해 있는 공간을 이미지로부터 식별해 낼 수 있으며, 이를 이용하여 가상의 캐릭터가 상기 공간 상에서 자연스럽게 이동하는 모습을 연출해 낼 수 있어 사용자에게 실감나는 가상 캐릭터를 표시할 수 있는 효과가 있다.According to the present invention, a space in which a target person is located can be identified from an image, and a virtual character can be used to create a natural movement in the space, thereby displaying a realistic virtual character to the user. There is.
또한 본 발명에 따르면, 앞서 식별해 낸 공간 상에서 상기 가상 캐릭터가 대상 인물 주변에 적절한 촬영 위치에 렌더링 될 수 있게 함으로써 촬영자나 대상 인물이 특별히 조작하거나 이동하지 않더라도 쉽게 촬영이 가능하게 하는 효과가 있다.In addition, according to the present invention, by allowing the virtual character to be rendered at an appropriate shooting position around the target person in the previously identified space, there is an effect of enabling easy shooting even if the photographer or the target person does not specifically manipulate or move.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects that are not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명에 따른 증강 현실 서비스 구현방법에 의하여 대상 인물이 가상 캐릭터와 함께 촬영되는 과정을 간략히 도시한 것이다.
도 2는 본 발명에 따른 증강 현실 서비스 구현방법을 순서대로 도시한 것이다.
도 3 및 도 4는 대상 인물이 위치하고 있는 평면을 식별하는 과정을 설명하기 위한 도면이다.
도 5는 평면 식별이 어려운 경우 대상 인물이 위치하고 있는 라인을 가상적으로 생성한 모습을 도시한 것이다.
도 6은 가상 캐릭터가 프레임 내에 표시되는 모습을 순서에 따라 도시한 것이다.
도 7 및 도 8은 가상 캐릭터가 표시되는 위치를 도시한 것이다.
도 9는 대상 인물 및 가상 캐릭터가 촬영(캡쳐)될 때에 화질을 개선시키기 위한 실시예를 도시한 것이다.
도 10은 대상 인물 및 가상 캐릭터가 촬영된 후 다양한 포맷의 데이터로 변환되는 과정을 설명하기 위한 것이다.1 is a simplified diagram illustrating a process in which a target person is photographed together with a virtual character by a method of implementing an augmented reality service according to the present invention.
2 is a sequence diagram illustrating a method of implementing an augmented reality service according to the present invention.
3 and 4 are diagrams for explaining a process of identifying a plane on which a target person is located.
5 is a diagram illustrating a virtually generated line in which a target person is located when it is difficult to identify a plane.
6 is a sequence diagram illustrating a virtual character displayed in a frame.
7 and 8 illustrate locations where virtual characters are displayed.
9 shows an embodiment for improving image quality when a target person and a virtual character are photographed (captured).
10 is for explaining a process of converting a target person and a virtual character into data of various formats after being photographed.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.Details of the object and the technical configuration of the present invention and the effects of the operation thereof will be more clearly understood by the following detailed description based on the accompanying drawings in the specification of the present invention. An embodiment according to the present invention will be described in detail with reference to the accompanying drawings.
본 명세서에서 개시되는 실시예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시예들로 한정되는 것을 의도하지 않는다.The embodiments disclosed herein should not be construed or used as limiting the scope of the present invention. It is natural to those skilled in the art that the description including the embodiments of the present specification has various applications. Accordingly, any of the embodiments described in the detailed description of the present invention are illustrative for better describing the present invention, and it is not intended that the scope of the present invention be limited to the embodiments.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.The functional blocks shown in the drawings and described below are only examples of possible implementations. In other implementations, other functional blocks may be used without departing from the spirit and scope of the detailed description. Further, while one or more functional blocks of the present invention are represented as individual blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software configurations that perform the same function.
또한, 어떤 구성요소들을 포함한다는 표현은 "개방형"의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression that includes certain elements is an expression of "open type" and simply refers to the existence of the corresponding elements, and should not be understood as excluding additional elements.
나아가 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다. Furthermore, when a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to the other component, but other components may exist in the middle. do.
도 1은 본 발명에 따른 증강 현실 서비스를 이용하는 과정을 간략히 나타낸 것으로, 도 1의 (a)에는 촬영 장치(100)를 이용하여 대상 인물을 촬영하고 있는 모습이 도시되어 있으며, 도 1의 (b)에는 상기 대상 인물 옆으로 가상 캐릭터가 표시되어 마치 대상 인물과 가상 캐릭터가 같은 공간 내에서 실제 어깨동무를 하고 사진을 찍기 위한 포즈를 취하고 있는 모습을 도시한 것이다. 참고로, 본 상세한 설명에서는 대상 인물의 옆에 표시될 수 있는 가상 오브젝트들 중 특히 가상 캐릭터를 대표적인 실시예로 삼아 설명하게 될 것이나, 대상 인물의 옆에 표시되는 것에는 가상 캐릭터뿐만 아니라 여타의 가상 오브젝트들(별, 자동차, 식물 등)도 모두 포함될 수 있음을 이해해야 할 것이다.FIG. 1 is a brief illustration of a process of using an augmented reality service according to the present invention, and FIG. 1 (a) shows a state in which a target person is photographed using a
구체적으로 도 1의 (a)는 촬영 장치(100)의 프레임(F) 내에 대상 인물(10)이 포함되도록 구도가 잡혀 있는 상태를 도시한 것으로, 이 때 상기 프레임(F)은 촬영 장치(100)의 디스플레이 상에서 표시되는 화면을 가리키는 것으로 이해될 수 있다. 또한 도 1의 (b)는 대상 인물(10)의 옆으로 가상 캐릭터(20)가 위치하되, 특히 가상 캐릭터(20)는 상기 대상 인물(10)이 위치해 있는 평면 상에 서 있는 것처럼 보이도록 위치하고 있는 모습, 그리고 이렇게 대상 인물(10) 및 가상 캐릭터(20)가 마치 같은 공간에서 함께 있는 것처럼 보이도록 구현된 상태에서 사진 촬영이나 동영상 촬영이 이루어는 모습을 도시한 것이다. Specifically, (a) of FIG. 1 shows a state in which the
이처럼 본 발명은 도 1에 도시되어 있는 것과 같이 대상 오브젝트, 바람직하게는 대상 인물을 촬영하고자 할 때에 대상 인물이 서 있는 위치, 대상 인물이 서 있는 평면(200), 대상 인물의 머리, 상체, 하체 등을 인식한 후 이에 따라 가상 캐릭터를 촬영 장치(100)의 프레임(F) 내에 등장시키거나 표시함으로써 본 서비스를 이용하는 사용자로 하여금 새로운 경험을 할 수 있게 하는 것을 목적으로 한다.As shown in FIG. 1, the present invention relates to a target object, preferably, a position where a target person stands when a target person is to be photographed, a
본 발명을 본격적으로 설명하기에 앞서, 본 상세한 설명에서 언급되는 촬영 장치(100)에 대해 간략히 설명하기로 한다. 촬영 장치(100)란 대상 오브젝트를 스틸 이미지(사진) 또는 동영상으로 촬영할 수 있는 장치를 모두 포함하는 것으로 이해되며, 또한 상기 촬영 장치(100)는 연산을 위한 중앙처리유닛(CPU)와 메모리를 구비하고 있는 것으로 이해됨을 일러둔다. 중앙처리유닛은 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 또한 중앙처리유닛은 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있는데, 하드웨어를 이용하여 구현하는 경우에는 ASIC(application specific integrated circuit) 또는 DSP(digital signal processor), DSPD(digital signal processing device), PLD(programmable logic device), FPGA(field programmable gate array) 등으로, 펌웨어나 소프트웨어를 이용하여 구현하는 경우에는 위와 같은 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있다. 또한, 메모리는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등으로 구현될 수 있다. 또한, 상기 촬영 장치(100)는 중앙처리유닛 및 메모리 외에도 외부 단말기 또는 외부 서버와 네트워크를 통해 연결이 가능한 통신모듈을 더 포함할 수 있다. 쉬운 예로, 본 상세한 설명에서의 촬영 장치(100)는 스마트폰, 태블릿PC, 랩탑 컴퓨터 등과 같은 휴대용 장치일 수 있다. Before describing the present invention in earnest, a brief description will be given of the photographing
참고로, 이하의 상세한 설명에서는 발명의 이해를 돕기 위하여 스마트폰 또는 태블릿PC를 촬영 장치(100)의 대표적인 예시로 삼아 설명하기로 한다.For reference, in the following detailed description, a smartphone or a tablet PC will be described as a representative example of the photographing
도 2는 본 발명에 따른 증강 현실을 구현하는 방법을 순서에 따라 도시한 것이다. 2 is a sequence diagram illustrating a method of implementing an augmented reality according to the present invention.
도 2를 참조할 때, 증강 현실 구현 방법의 가장 첫 번째 단계는 대상 인물이 포함된 영상을 획득하는 단계(S100)이다. 대상 인물이란, 촬영의 대상이 되는 인물을 의미하며, 이 때 대상 인물은 하나 또는 복수일 수 있다. Referring to FIG. 2, the first step in the augmented reality implementation method is a step (S100) of obtaining an image including a target person. The target person means a person to be photographed, and in this case, the target person may be one or more.
참고로, 본 상세한 설명에서는 대상 인물이라는 용어를 사용하고 있으나, 촬영의 대상은 반드시 인물로 한정되는 것은 아니며, 포괄적 의미로는 대상 오브젝트라는 용어가 대신 사용될 수 있음을 이해한다. 예를 들어, 촬영 장치(100)에 의하여 촬영될 수 있는 대상 오브젝트에는 인물 외에 고양이, 강아지 등의 동물, 식물 등 생물체가 포함될 수 있으며, 나아가 음식물, 인형, 가구 등의 무생물체도 포함될 수 있다. For reference, although the term target person is used in this detailed description, it is understood that the subject of photographing is not necessarily limited to a person, and the term target object may be used instead in a comprehensive sense. For example, a target object that can be photographed by the photographing
한편, 상기 S100단계에서 대상 인물이 포함된 영상을 획득한다는 것의 의미는 대상 인물이 프레임(F) 내에 포함이 되도록 촬영자가 구도를 잡는 과정에서 촬영 장치(100)의 디스플레이를 통해 표시되는 영상 중 프레임(F)의 일부 또는 전부를 획득할 수 있음을 뜻할 수 있다. 즉, 후술하게 될 일련의 단계들 중에는 획득된 영상을 분석하여 대상 인물이 위치하고 있는 바닥면을 식별해 내거나 또는 대상 인물의 얼굴/상체/하체 등을 식별해 내는 단계들도 포함되는데 S100단계는 이와 같은 영상 분석을 위해 영상을 획득하는 단계로 이해될 수 있다. 상기 S100단계의 실제 구현은, 촬영 장치(100)에 의해 촬영된 실시간 영상 중 프레임(F)의 일부 또는 전부가 임시적으로 또는 영구적으로 메모리 등의 저장수단에 저장되는 방식으로 이루어질 수 있으며, 촬영 장치(100)를 조작하는 사용자의 입장에서는 상기 S100단계가 단지 대상 인물을 촬영하기 위해 구도를 잡는 중에 실시간으로 표시되는 화면으로 인지될 수 있다. Meanwhile, the meaning of acquiring the image including the target person in step S100 means that the frame among the images displayed through the display of the photographing
S100단계 이후에는 사용자로부터 복수의 가상 캐릭터들 중 어느 가상 캐릭터를 대상 인물 옆에 등장시킬 것인지에 대한 선택입력을 수신할 수 있다. (S101) S101단계에서는 촬영 장치(100)를 통해 사용자(촬영자)가 직접 원하는 가상 캐릭터를 여러 개의 텍스트 목록들 또는 아이콘 목록들로부터 선택할 수 있도록 선택메뉴 화면이 제공될 수 있으며, 촬영 장치(100)는 사용자로부터 선택입력을 수신할 수 있다. 이 때 선택입력은 터치입력, 버튼조작을 통한 입력, 스마트폰의 모션 입력 등 그 방식에는 제한이 없다 할 것이다. 한편, 본 상세한 설명에서는 S101단계가 S100단계 직후에 수행되는 것으로 설명하고 있으나, 가상 캐릭터를 선택하는 단계는 반드시 S100단계 직후에 존재하여야만 하는 것은 아니며, 후술하게 될 가상 캐릭터 로드 단계(S104) 이전의 시점이라면 어느 시점에서든지 존재 가능함을 이해해야 할 것이다.After step S100, a selection input for which virtual character among the plurality of virtual characters to appear next to the target person may be received from the user. (S101) In step S101, a selection menu screen may be provided so that a user (photographer) can directly select a desired virtual character from several text lists or icon lists through the photographing
사용자로부터 가상 캐릭터에 대한 선택입력을 수신한 이후에는 상기 프레임(F) 내 포함된 대상 인물을 식별하는 단계(S102)가 수행될 수 있다. S102단계는 대상 인물의 얼굴, 상체, 하체를 구분하여 식별하는 단계들을 포함할 수 있으며, 대상 인물의 얼굴을 식별하는 단계는, 예를 들어 얼굴의 기본적인 형상 및 얼굴 내에 포함될 수 있는 구성들(예: 눈, 코, 입 등)이 영상 분석에 의해 판별된 경우 해당 영역을 얼굴로 식별하는 알고리즘으로 구현될 수 있고, 또한 상체, 하체 역시 기 정의된 알고리즘에 따라 일련의 조건들을 만족시키는 영역을 각각 대상 인물의 상체, 또는 하체로 식별하도록 할 수 있다. After receiving the selection input for the virtual character from the user, the step (S102) of identifying the target person included in the frame (F) may be performed. Step S102 may include the steps of discriminating and identifying the face, upper body, and lower body of the target person, and the step of identifying the face of the target person includes, for example, the basic shape of the face and components that can be included in the face (for example, : If the eyes, nose, mouth, etc.) are determined by image analysis, the corresponding area can be implemented as an algorithm that identifies the face, and the upper body and lower body also satisfy a series of conditions according to a predefined algorithm. It can be identified by the upper body or lower body of the target person.
또 다른 방식으로, 상기 촬영 장치(100), 예를 들어 스마트폰은 특정 사용자가 소유한 것으로서 상기 스마트폰에 의해 촬영 대상이 되는 인물은 몇몇으로 한정될 수 있는데, 촬영 장치(100)로 하여금 한정된 인물에 대한 얼굴 정보, 상체 정보, 또는 하체 정보를 기 저장해 두도록 한 후 이를 현재 프레임(F) 내 오브젝트들과 비교하게 함으로써 유사도가 높은 오브젝트를 특정 인물로 식별해 내도록 구현할 수도 있다. 예를 들어 A 사용자가 소유한 스마트폰에 의해서는 A 자신, A의 가족, A의 반려견, A의 친구B 등과 같이 한정된 인물 또는 대상이 주된 촬영대상일 수 있는데, 이렇게 한정된 인물 또는 대상의 형상(얼굴, 상체, 하체의 형상), 색깔(옷의 색깔, 반려견의 색깔 등) 등의 정보는 사전에 상기 스마트폰의 저장 매체(메모리) 내에 저장되어 있을 수 있으며, 스마트폰에 의해 오브젝트들이 포함된 영상이 획득된 경우 위 저장된 정보들과 비교해 봄으로써 오브젝트들 중 어느 오브젝트가 대상 인물인지 또는 대상 오브젝트인지를 식별하게 할 수 있다. In another way, the photographing
한편, S102단계에서는 특히 대상 인물의 하체를 식별하는 과정을 필수적으로 포함할 수 있는데, 이는 대상 인물이 위치해 있는 평면, 즉 바닥면을 쉽게 찾아내는 데에 필요하기 때문이다. 대상 인물이 위치하고 있는 평면을 식별하는 방법론에 대해서는 후술하기로 한다. 참고로, 대상 인물의 하체를 식별하는 데에 활용되는 알고리즘에는 다양한 것들이 존재할 수 있는데, 예를 들어 서 있거나 앉아 있는 사람들의 이미지들을 학습, 특히 사람들의 하체 형상을 학습하고 그 결과물로서 얻어진 알고리즘을 이용하여 현재 촬영 장치(100)의 프레임(F) 내 대상 인물이 표시되는 영역 중 사람의 하체와 유사한 형상의 영역을 추출해 내는 알고리즘을 활용할 수 있다.On the other hand, in step S102, in particular, the process of identifying the lower body of the target person may be essentially included, because it is necessary to easily find the plane where the target person is located, that is, the floor surface. A methodology for identifying the plane on which the target person is located will be described later. For reference, there may be various algorithms used to identify the lower body of a target person. For example, learning images of people standing or sitting, especially learning the shape of people's lower body, and using the algorithm obtained as a result. Accordingly, an algorithm for extracting a region having a shape similar to a lower body of a person among regions in which the target person is displayed in the frame F of the current photographing
다음으로 S103단계는 상기 대상 인물이 위치하고 있는 평면을 식별하는 단계이다. 가상 캐릭터를 자연스럽게 표시하기 위해서는 프레임(F) 내 대상 인물이 어느 면을 발로 딛고 서 있는지, 또는 대상 인물이 어느 면에 몸을 접한 채 누워 있는 지 등 대상 인물을 지지하고 있는 면이 어떤 면인지를 식별하는 과정이 반드시 필요한데, 본 단계에서는 이렇게 대상 인물이 위치하고 있는 평면을 식별하는 단계로 이해될 수 있다. 본 상세한 설명에서는 대상 인물이 위치하고 있는 평면을 편의상 '대상 평면'이라 칭하기로 한다.Next, step S103 is a step of identifying a plane on which the target person is located. In order to display the virtual character naturally, determine which side the target person is supporting, such as which side of the frame (F) the target person is standing on, or on which side the target person is lying in contact with the body. The identification process is indispensable, but this step can be understood as a step of identifying the plane where the target person is located. In this detailed description, the plane in which the target person is located will be referred to as a'target plane' for convenience.
대상 평면을 식별하는 단계는 다양한 방법론에 의하여 구현될 수 있는데, 이하에서는 몇 가지 실시예를 서술하기로 한다.The step of identifying the target plane may be implemented by various methodologies. Hereinafter, several embodiments will be described.
먼저 첫 번째로는, 앞서 S100단계에서 획득된 영상의 프레임(F) 중 특히 하단에 위치한 임의의 오브젝트들 중 면의 넓이가 가장 넓은 것을 대상 평면으로 식별하는 실시예를 생각해 볼 수 있다. 참고로 이 첫 번째 실시예의 경우, 상기 대상 인물을 식별하는 단계인 S102단계가 없이도 수행될 수 있다. 구체적으로 위 첫 번째 실시예는, 획득된 영상의 프레임(F)을 단순히 상단, 하단으로 나눈 후, 하단에 존재하는 오브젝트들의 외곽선을 식별해 낸 뒤 외곽선 내 면의 넓이가 가장 큰 값을 가지는 것을 대상 평면으로 식별해 낼 수 있다. 예를 들어, 임의의 한 프레임(F)이 1280 X 800픽셀들로 구성된다고 가정할 때, 해당 프레임(F)의 아래쪽으로 1280 X 400만큼의 영역은 영상 하단 영역으로 정의될 수 있으며, 이러한 영상 하단 영역 내에 포함되어 있는 여러 오브젝트들 중 가장 넓은 면적을 가지는 것으로 인식된 오브젝트를 대상 평면으로 식별해 낼 수 있다. First of all, one of the frames F of the image acquired in step S100 above may be considered an embodiment in which a target plane is identified with the largest surface area among arbitrary objects located at the bottom. For reference, in the case of this first embodiment, it may be performed without step S102, which is the step of identifying the target person. Specifically, in the first embodiment above, after simply dividing the frame (F) of the acquired image into top and bottom, and after identifying the outlines of the objects existing at the bottom, the width of the inner surface of the outline has the largest value. Can be identified by the target plane. For example, assuming that an arbitrary frame F is composed of 1280 X 800 pixels, an area of 1280
도 3은 대상 인물이 포함된 영상 중 임의의 프레임(F)을 도시한 것으로, 이 프레임(F) 내에는 대상 인물 외에 복수 개의 오브젝트들(200)이 포함되어 있음을 볼 수 있다. 이 중 대상 평면을 식별하는 첫 번째 실시예에 있어서는 굳이 대상 인물의 얼굴(300A), 상체(300B), 하체(300C)를 구분하여 식별해 낼 필요까지는 없으며, 단지 대상 인물 역시 프레임(F) 내에 존재하는 하나의 오브젝트로만 취급될 수 있다. 참고로, 프레임(F) 내 각각의 오브젝트를 식별해 내는 방법에는 인접하는 픽셀들 간 값의 차이가 기준값을 초과하는 경우 이를 경계선으로 정의하는 알고리즘을 반복함으로써 임의 오브젝트들의 외곽선을 추출해 냄으로써 각 오브젝트들을 식별해 내는 방법이 활용될 수 있으나, 반드시 이에 한정되는 것은 아니다. 3 shows an arbitrary frame (F) of an image including a target person, and it can be seen that a plurality of
첫 번째 실시예에 따른 대상 평면 식별은 영상의 하단에 존재하는 오브젝트들 중 가장 넓은 면적을 가지는 것으로 인식된 것을 대상 평면으로 식별할 수 있다고 전술하였는데, 이를 도 3을 참조하여 살펴보면, 영상의 하단(세로 방향으로 프레임의 중간보다 아래에 해당하는 영역)에는 200A, 300B, 300C와 같은 오브젝트들이 존재한다는 점이 식별될 수 있으며, 이중 가장 넓은 면적을 가지는 200A가 대상 평면으로 식별될 수 있다. 이 때, 영상의 상단, 하단 구분은 전술한 바와 같이 프레임(F)의 세로 방향으로 최하단 픽셀로부터 해당 프레임(F)의 중간 지점에 위치하는 픽셀까지를 포함하는 영역을 하단으로, 그리고 프레임(F)의 나머지 윗부분을 상단으로 구분할 수 있다. 이처럼 첫 번째 실시예의 경우에는 프레임(F)의 하단에 존재하는 오브젝트들 중, 각 오브젝트의 외곽선을 추출하고 각 외곽선 내 면적을 연산한 후 그 값이 가장 큰 오브젝트를 대상 평면으로 식별해 내는 것을 특징으로 하며, 이 실시예는 굳이 대상 인물을 식별해 내지 않더라도 인물 수행될 수 있다. 참고로, 첫 번째 실시예에서 대상 인물을 식별해 낼 필요가 없다는 것의 의미는, 대상 인물을 '인물'로서 식별해 내지 않아도 됨을 의미하며, 당연히 대상 인물을 하나의 '오브젝트'로 식별해 내는 과정은 필요함을 이해한다.It has been described above that the target plane identification according to the first embodiment can identify the object recognized as having the largest area among the objects existing at the bottom of the image as the target plane. Referring to FIG. 3, the lower part of the image ( It can be identified that objects such as 200A, 300B, and 300C exist in an area below the middle of the frame in the vertical direction), of which 200A having the widest area can be identified as a target plane. At this time, the upper and lower divisions of the image include a region including from the lowest pixel in the vertical direction of the frame F to the pixel located at the middle point of the frame F as described above, and the frame F The remaining upper part of) can be divided into the upper part. As described above, in the case of the first embodiment, the outline of each object is extracted from the objects existing at the bottom of the frame (F), the area within each outline is calculated, and the object with the largest value is identified as the target plane. In this embodiment, a person can be performed even if the target person is not necessarily identified. For reference, the meaning that there is no need to identify the target person in the first embodiment means that it is not necessary to identify the target person as a'person', and of course the process of identifying the target person as a single'object' Understand the need.
두 번째 실시예에 따른 대상 평면 식별 방법은 대상 인물의 하체 영역이 먼저 식별되어 있음을 전제로, 상기 대상 인물의 하체 영역과 접해 있는 오브젝트, 또는 하체 영역과 접해 있는 오브젝트들 중 어느 하나를 대상 평면으로 식별하도록 하는 방법이다. 앞선 S102단계를 설명할 때에는 프레임(F) 내 포함된 대상 인물의 얼굴, 상체, 하체를 식별할 수 있음을, 특히 하체를 식별하는 과정이 필수적으로 포함될 수 있음을 설명하였는데, 두 번째 실시예에 따른 대상 평면 식별 방법에서는 앞서 식별한 대상 인물의 하체 영역을 이용하는 것을 특징으로 한다. The object plane identification method according to the second embodiment is based on the assumption that the lower body region of the target person is first identified, and any one of the objects in contact with the lower body region of the target person or objects in contact with the lower body region is a target plane. It is a way to identify as. When describing the previous step S102, it was explained that the face, upper body, and lower body of the target person included in the frame (F) can be identified, and in particular, the process of identifying the lower body can be essentially included.In the second embodiment, In the method of identifying the target plane according to the method, the lower body region of the target person identified above is used.
도 4를 참조할 때, 촬영 장치(100)가 앞선 단계에서 식별해 낸 대상 인물의 하체 영역(300C)이 굵은 선으로 표시되어 있으며, 위 굵은 선에 접하는 오브젝트 영역(200A)이 빗금으로 표시되어 있음을 확인할 수 있다. 즉, 두 번째 실시예에서는 선 식별된 대상 인물의 하체 영역과 접해 있는 오브젝트를 우선적으로 대상 평면으로 식별할 수 있다. 4, the
한편, 도 4와 같은 실시예가 아닌 다른 영상의 경우에 있어서는, 상기 하체 영역에 하나의 오브젝트 영역 만이 접해 있지 않는 경우가 존재할 수도 있다. 예를 들어, 야외에서 획득된 영상의 경우 대상 인물의 주변에 놓인 바위, 나무, 연못 등의 타 오브젝트들이 포함될 수 있는데, 이에 따라 프레임(F) 내에서는 복수의 오브젝트들이 상기 대상 인물의 하체 영역과 동시에 접해 있을 수 있다. 이러한 경우 대상 평면을 식별해 내는 방법에는, (i)상기 복수의 오브젝트들 중 가장 넓은 영역을 가지는 것을 대상 평면으로 식별해 내는 방법, (ii)상기 하체 영역의 외곽선과 접하는 부분이 가장 긴 오브젝트를 대상 평면으로 식별해 내는 방법, 또는 (iii)대상 인물의 하체 영역 중 최하단부와 접해 있는 오브젝트를 대상 평면으로 식별해 내는 방법 등이 존재할 수 있다. (iii)방법과 관련하여, 도 4에는 하체 영역 중 최하단부가 도면부호 300D로 표기(최하단부는 복수개일 수 있음)되어 있으며, 이 때 상기 최하단부 중 어느 하나와 접해 있는 오브젝트, 또는 상기 최하단부 모두와 접해 있는 오브젝트가 대상 평면으로 식별될 수 있다. Meanwhile, in the case of an image other than the embodiment shown in FIG. 4, there may be a case where only one object region does not contact the lower body region. For example, in the case of an image acquired outdoors, other objects such as rocks, trees, and ponds placed around the target person may be included. Accordingly, in the frame F, a plurality of objects may correspond to the lower body area of the target person. You can be in touch at the same time. In this case, the method of identifying the target plane includes (i) a method of identifying the object having the widest area among the plurality of objects as the target plane, and (ii) the object having the longest contact with the outline of the lower body area. There may be a method of identifying the target plane as the target plane, or (iii) a method of identifying an object in contact with the lowermost end of the target person's lower body region as the target plane. (iii) Regarding the method, in FIG. 4, the lowermost end of the lower body region is indicated by the
한편, S103단계를 수행하는 과정 중 대상 평면을 식별해 낼 수 없는 경우가 발생할 수도 있는데, 이 경우에는 도 5에서와 같이 대상 인물의 하체 영역의 최하단부와 접하되, 상기 프레임(F)의 밑변과 평행인 기준선(Reference line; 210A)을 임의로 정의함으로써 상기 기준선이 하나의 대상 평면으로 인식되도록 구현할 수도 있다. 예를 들어, 하체 영역과 접하는 오브젝트들의 영역이 서로 구별될 수 있을 정도의 넓이 차이가 없어 어느 것이 대상 평면인지 가리기 어려운 경우, 그리고 그 외에 이미지 분석을 함에 있어 오브젝트들을 식별하기 위한 경계선을 추출하기가 어려운 경우 등 여러 경우에 있어 대상 평면을 식별해 낼 수 없는 경우가 발생할 수 있는데, 이 경우에는 굳이 대상 평면을 프레임(F) 내로부터 식별해 내는 것 대신 해당 프레임(F) 내에서 임의의 기준선을 새로이 정의하고, 이 기준선 위에서 가상 캐릭터가 표시되도록 할 수 있다.On the other hand, during the process of performing step S103, there may be a case in which the target plane cannot be identified. In this case, as shown in FIG. 5, it is in contact with the lowermost end of the lower body area of the target person, but the base of the frame F and the By arbitrarily defining a
한편, 도 5에는 기준선(210A)이 프레임(F) 내에서 임의적으로 정의되는 실시예가 도시되어 있으나, 상기 기준선은 반드시 프레임(F) 내에서만 정의되는 것은 아님을 이해한다. 예를 들어, 상기 대상 인물을 촬영하는 영상에는 대상 인물의 하체가 포함되지 않은 채 얼굴과 상체만 포함되어 있을 수 있는데, 이러한 경우에 있어서도 상기 촬영 장치(100)는 연산을 통하여 프레임(F) 밖에서도 가상의 기준선을 임의로 정의할 수 있다. 가상의 기준선이 정의되기 위해서는 상기 프레임(F) 내 포함된 대상 인물의 얼굴 영역 크기, 상체 영역 크기, 그리고 일반적인 인물의 비율에 대한 정보가 이용될 수 있으며, 촬영 장치(100)는 상기 얼굴 영역 크기 또는 상체 영역 크기를 상기 일반적인 인물의 비율에 맞추어 가상의 하체 영역 존재 위치를 추정하고, 이에 따라 가상의 하체 영역 하단에 접하는 기준선을 정의할 수 있다. Meanwhile, although FIG. 5 illustrates an embodiment in which the
한편, 앞서 설명한 방법들 외에, 촬영 장치(100)에 의해 획득된 영상 내에서 하나 이상의 특징점을 추출해 내고, 연속된 영상 내에서 상기 추출된 특징점을 추적함으로써 대상 평면을 식별할 수 있는 방법도 존재할 수 있다. 구체적으로, 사용자가 촬영 장치(100)를 이용하여 대상 인물에 대한 촬영 구도를 잡고 있는 와중에 임의의 영상이 획득될 수 있다는 점은 S100단계에서 설명하였는데, 이 때 촬영 장치(100)는 획득된 입력 영상으로부터 적어도 하나 이상의 특징점을 추출 내지 정의하고, 연속된 영상으로부터 상기 특징점이 이동하는 거리를 연산할 수 있다. 한편, 상기 촬영 장치(100)는 자체적으로 관성 센서(Inertial Measurement Unit)를 구비할 수 있으며, 상기 관성 센서를 이용하여서는 당해 촬영 장치(100)의 이동거리, 회전정도, 자세(촬영장치의 기울어진 각도 등) 등의 정보를 획득할 수 있는데, 이렇게 관성 센서에 의해 획득된 정보들과 앞서 연산하였던 특징점의 이동거리를 이용하여 연속된 영상 내 프레임들 간의 관계를 분석하면 대상 평면을 인식할 수 있음은 물론 해당 대상 평면의 모양, 크기, 거리를 연산할 수 있다. Meanwhile, in addition to the above-described methods, there may also be a method for identifying a target plane by extracting one or more feature points from an image acquired by the photographing
한편, 대상 평면을 인식하는 방법에는 앞서 소개한 방법들 외에 더 다양한 것들도 존재할 수 있음을 이해한다. On the other hand, it is understood that there may be a wider variety of methods for recognizing the target plane in addition to the previously introduced methods.
이상 대상 평면을 식별하는 단계인 S103단계에 대해 살펴 보았다.We looked at step S103, which is the step of identifying the abnormal target plane.
다시 도 2를 참조할 때, S103단계 이후에는 가상 캐릭터를 로드(load)하는 단계(S104)가 이어질 수 있다. 본 단계는 앞서 사용자가 S101단계에서 선택한 가상 캐릭터를 프레임(F) 내에 구현하기 위하여 촬영 장치(100) 내부에 기 저장되어 있던 가상 캐릭터 혹은 촬영 장치(100)와 네트워크에 의해 연결된 서버에 저장된 가상 캐릭터를 로드하는 단계이다. 복수 개의 가상 캐릭터들에 대한 데이터들, 예를 들어 가상 캐릭터에 대한 이미지 데이터, 가상 캐릭터에 대한 애니메이션 데이터 등은 상기 촬영 장치(100)의 저장 매체(메모리) 내에 사전에 저장되어 있을 수 있으며, 이러한 데이터들은 외부에 네트워크로 연결된 서버로부터 다운로드 받은 것일 수 있다. 또는, 상기 가상 캐릭터들에 대한 데이터들은 서버 내에만 저장이 되어 있는 채로 존재할 수 있으며, 상기 촬영 장치(100)로부터의 요청이 있을 때마다, 즉, 사용자의 가상 캐릭터 선택입력이 있을 때에 상기 서버로부터 촬영 장치(100)로 다운로드 되어 임시적으로 저장될 수 있다.Referring to FIG. 2 again, after step S103, a step of loading a virtual character (S104) may follow. In this step, in order to implement the virtual character selected by the user in step S101 in the frame F, a virtual character previously stored in the photographing
S104단계 이후에는 상기 선택된 가상 캐릭터를 앞서 식별된 대상 평면 상에 표시하는 단계(S105)가 수행될 수 있다. 도 6에는 가상 캐릭터가 프레임(F)의 좌측으로부터 대상 인물의 옆에 정해진 위치로 걸어 나오는 실시예가 순서대로 도시되어 있다. S105단계는 도 6에서와 같이 가상 캐릭터가 프레임(F) 내에 표시하기 위한 다양한 애니메이션 데이터가 활용될 수 있으며, 애니메이션 데이터가 아니라 하더라도 상기 가상 캐릭터가 정해진 위치에 표시되도록 이미지 데이터 및 이미지 데이터를 표시하기 위한 다양한 효과들이 활용될 수도 있다. After step S104, a step (S105) of displaying the selected virtual character on the previously identified target plane may be performed. 6 shows an embodiment in which the virtual character walks from the left side of the frame F to a predetermined position next to the target person in order. In step S105, as shown in FIG. 6, various animation data for displaying the virtual character in the frame F may be used, and even if it is not animation data, image data and image data are displayed so that the virtual character is displayed at a predetermined position. Various effects may be utilized.
한편, S105단계에서는 가상 캐릭터를 프레임(F) 내 어느 위치에 표시할 것인지, 즉 가상 캐릭터를 대상 인물 옆 어느 위치에 표시할 것인지에 대한 연산이 이루어질 수 있다. 앞선 단계에서는 프레임(F) 내에서 가상 캐릭터가 위치 가능한 공간인 대상 평면을 식별해 내는 과정이 있었다면, 본 단계에서는 위 대상 평면 중에서 정확히 어느 위치에 가상 캐릭터를 표시할 것인지에 대한 위치 정보를 파악하게 되는 것이다. 본 상세한 설명에서는 가상 캐릭터가 표시되는 위치를 편의상 '대상 위치(400)'라는 용어로 표현하기로 한다. 도 7에는 대상 인물의 측면으로 대상 위치(400)가 임의로 표시된 실시예가 도시되어 있다. Meanwhile, in step S105, an operation may be performed as to which position in the frame F to display the virtual character, that is, at which position to display the virtual character next to the target person. In the previous step, if there was a process of identifying the target plane, which is the space where the virtual character can be located within the frame (F), in this step, the location information on exactly where the virtual character is to be displayed among the target planes above is identified. will be. In this detailed description, the location where the virtual character is displayed will be expressed in terms of'target location 400' for convenience. 7 shows an embodiment in which the
대상 위치(400)를 결정하는 연산에서는 예를 들어 (i)대상 인물과의 간격, (ii)상기 가상 오브젝트가 위치하였을 때 상기 대상 인물과 중첩되는 영역의 크기, 또는 (iii)상기 가상 오브젝트와 상기 대상 인물과 중첩되는 영역의 상기 대상 인물 영역 대비 비율 중 적어도 하나의 기준이 고려될 수 있다. In the operation of determining the
(i)의 예시로는, 가상 캐릭터의 중심점(임의로 정의된 중심점이 존재함을 전제로 함)이 앞서 식별된 대상 인물의 중심점(이 역시 임의로 정의된 중심점이 존재함을 전제로 함)으로부터 기 설정된 범위 내에 포함되도록 간격을 결정하거나, 또는 가상 캐릭터 형상의 측면부가 대상 인물의 측면부로부터 기 설정된 범위만큼 이격되도록 간격을 결정하는 것 등을 들 수 있다. As an example of (i), the center point of the virtual character (assuming the existence of a randomly defined center point) is based on the center point of the previously identified target character (this also assumes the existence of a randomly defined center point). The distance may be determined so as to be included within a set range, or the distance may be determined so that the side portion of the virtual character shape is spaced apart by a preset range from the side portion of the target person.
(ii) 및 (iii)의 예시는 도 8을 참조하여 설명한다. 도 8에는 대상 인물과 가상 캐릭터의 중첩된 영역(410)이 도시되어 있는데, 촬영 장치(100)는 이러한 중첩 영역(410)의 넓이가 기 설정된 값을 초과하지 않도록 대상 위치(400)를 결정할 수 있으며, 또는 중첩 영역(410)의 넓이 비율이 상기 대상 인물의 영역 넓이와 비교할 때 기 설정된 값을 초과하지 않도록 대상 위치(400)를 결정할 수도 있다. (ii), (iii)의 예시들은 모두 가상 캐릭터가 대상 인물과 너무 많이 중첩됨으로써 대상 인물을 가리게 되는 문제를 예방하기 위한 것이다. Examples of (ii) and (iii) will be described with reference to FIG. 8. In FIG. 8, an overlapped
한편, 상기 S105단계에서는 가상 캐릭터가 위치하게 될 대상 위치(400)를 결정하는 것뿐만 아니라, 가상 캐릭터의 포즈도 결정될 수 있다. 가상 캐릭터의 포즈 구현은, 예를 들어 기 설정된 포즈의 가상 캐릭터 이미지가 랜덤으로 프레임(F) 내에 표시되는 방식, 또는 앞서 식별된 대상 인물의 포즈와 동일하게 가상 캐릭터의 포즈를 표시하는 방식 등으로 구현될 수 있다.Meanwhile, in step S105, not only the
S105단계 이후에는 가상 캐릭터가 프레임(F) 내에 표시가 되어 있는 상태에서 새로운 이미지 데이터 또는 새로운 영상 데이터가 생성되는 단계(S106)가 수행된다. S106단계는 쉽게 말해 촬영 장치(100)에 의한 실제 촬영이 이루어지는 단계 또는 상기 가상 캐릭터가 프레임(F) 내에 표시 된 상태를 캡쳐(capture)하는 단계이다. 본 단계에서는 최종적으로 가상 캐릭터와 대상 인물이 한 공간에 존재하는 것처럼 보이게 한 이미지 데이터 또는 영상 데이터가 생성된다.After step S105, a step S106 of generating new image data or new image data while the virtual character is displayed in the frame F is performed. In simple terms, step S106 is a step in which an actual photographing is performed by the photographing
한편, S106단계가 실행됨에 있어 카메라 영상의 크기를 디바이스 스크린 크기에 맞추기 위해 조절하는 경우, 화질의 왜곡이 발생되는 문제점이 존재할 수 있다. 더 구체적으로, 보통 카메라 원본 영상의 해상도와 디바이스의 스크린 해상도는 다르지만 디바이스의 스크린 전체에 카메라 영상을 맞추기 위해서 카메라 해상도를 변경하는 과정에서 해상도가 떨어지는 문제가 발생하게 되는데, 이 경우 최종적으로 촬영(캡쳐)된 이미지 데이터 또는 영상 데이터는 화질이 좋지 못하여 사용자로서는 고품질의 결과물을 얻지 못하게 될 수 밖에 없다.Meanwhile, when the size of the camera image is adjusted to match the device screen size in step S106, there may be a problem in that image quality is distorted. More specifically, although the resolution of the original camera image and the screen resolution of the device are usually different, a problem arises in that the resolution decreases in the process of changing the camera resolution in order to fit the camera image on the entire screen of the device. ), the image data or video data is of poor quality, so the user cannot help but obtain a high-quality result.
본 발명에서는 이러한 문제점을 해결하기 위하여 후술하게 될 일련의 단계들이 포함된 S106단계를 소개한다. 도 9의 (a) 내지 (d)는 화질을 개선하기 위한 방법을 이해하기 위해 순서대로 도시된 과정으로, S106단계는 가장 먼저 촬영 장치의 원본 이미지(영상) 및 상기 촬영 장치의 원본 이미지(영상)와 동일한 크기로 조절된 가상 캐릭터 렌더링 영상을 로드(load)하는 것으로부터 시작된다. (도 9(a)) 촬영 장치의 원본 이미지(영상)은 표현 그대로 대상 인물이 촬영되고 있는 또는 촬영된 임의 시점에서의 이미지(영상)을 의미하며, 가상 캐릭터 렌더링 영상이란 도 9(a)에도 도시된 바와 같이 가상 캐릭터만이 구현된 영상(이 때 가상 캐릭터의 크기는 상기 원본 이미지(영상)와 동일한 크기로 조절된 상태의 것임)을 의미한다. In the present invention, step S106 is introduced, including a series of steps to be described later in order to solve this problem. 9A to 9D are processes sequentially shown in order to understand a method for improving image quality. In step S106, the first original image (image) of the photographing device and the original image (image) of the photographing device It starts by loading the virtual character rendering image scaled to the same size as ). (Fig. 9(a)) The original image (video) of the photographing device means an image (video) in which the target person is being photographed as it is expressed or at an arbitrary point in time, and the virtual character rendering image is also shown in Fig. 9(a). As shown, it means an image in which only a virtual character is implemented (at this time, the size of the virtual character is adjusted to the same size as the original image (image)).
원본 이미지(영상) 및 가상 캐릭터 렌더링 영상이 로드 된 이후, 도 9(b)에 도시된 것과 같이 가상 캐릭터 렌더링 영상으로부터 가상 캐릭터 부분과 배경 부분을 분리해 내는 단계, 그리고 가상 캐릭터 부분이 제외된 상태의 배경을 반전시킨 이진화 영상으로의 변환 단계가 더 수행될 수 있다. After the original image (video) and the virtual character rendering image are loaded, the step of separating the virtual character part and the background part from the virtual character rendering image as shown in FIG. 9(b), and the virtual character part is excluded The conversion step to a binarized image in which the background of is inverted may be further performed.
이진화 영상으로의 변환 단계가 수행된 이후, 도 9(c)에 도시된 것과 같이 앞서 얻어진 이진화 영상의 픽셀 데이터를 상기 원본 이미지(영상) 내에서 마스킹으로 활용함으로써, 결과적으로는 원본 이미지(영상)로부터 상기 가상 캐릭터 부분이 배제된 상태의 제1 수정 이미지(영상)를 얻을 수 있게 된다. After the conversion step to the binarized image is performed, as shown in Fig. 9(c), the pixel data of the previously obtained binarized image is used as masking in the original image (image), resulting in the original image (image). It is possible to obtain a first modified image (video) in which the virtual character part is excluded from
원본 이미지(영상)로부터 가상 캐릭터 부분이 배제된 상태의 제1 수정 이미지(영상)를 얻은 이후, 도 9(d)에 도시된 것과 같이 앞서의 제1수정 이미지(영상)에 상기 도 9(a)의 가상 캐릭터 렌더링 영상의 픽셀 간 ADD 연산을 수행시킴으로써 최종적으로 화질의 왜곡 문제가 개선된 캡쳐 영상을 얻을 수 있게 된다. 한편, 이렇게 얻은 영상은 사용자 입장에서는 마치 대상 인물과 가상 캐릭터가 한 공간에 존재하는 것처럼 보이는 사진 또는 영상으로 인식될 것이다.After obtaining the first modified image (video) in which the virtual character part is excluded from the original image (video), as shown in FIG. 9(d), the first modified image (video) is shown in FIG. 9(a). ), it is possible to obtain a captured image with improved image quality distortion problem by performing the inter-pixel ADD operation of the virtual character rendering image of ). On the other hand, the image obtained in this way will be recognized as a photograph or image in which the target person and the virtual character appear to exist in one space from the perspective of the user.
한편, 도 10을 참조할 때 상기 촬영 장치(100)는 렌즈를 통해 촬영되는 영상에 가상 캐릭터가 더해진 이미지 또는 영상을 새로운 포맷(500)으로 생성함으로써 사용자가 액세스 할 수 있는 형태의 이미지 데이터 또는 영상 데이터를 생성할 수 있다. 이미지 데이터의 포맷에는 PNG, GIF, JPG, BMP, TIF, APNG 등을 포함한 다양한 것들이 포함될 수 있으며, 영상 데이터의 포맷에는 AVI, MPG, WMV, FLV, MOV, DAT, MP4 등을 포함한 다양한 것들이 포함될 수 있다.Meanwhile, referring to FIG. 10, the photographing
한편, 상기 S106단계에 의해 생성된 이미지 데이터 또는 영상 데이터는 어플리케이션 상의 내보내기 기능 또는 공유 기능을 이용하여 다른 사용자들에게 전송될 수 있다. Meanwhile, the image data or image data generated by the step S106 may be transmitted to other users by using an export function or a sharing function on an application.
이상 증강 현실 서비스를 구현하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체에 대해 살펴보았다. 한편, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.A method of implementing the above augmented reality service and a computer-readable storage medium storing instructions for executing the method have been described. Meanwhile, the present invention is not limited to the specific embodiments and application examples described above, and various modifications are implemented by those of ordinary skill in the art without departing from the gist of the present invention claimed in the claims. Of course, these modifications should not be understood to be distinguished from the technical spirit or prospect of the present invention.
한편, 본 명세서에서 기술한 방법은 하드웨어 또는 특정 애플리케이션(Application)에 적합한 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 여기서 하드웨어는 개인용 컴퓨터, 이동통신 단말기 등과 같은 범용 컴퓨터 디바이스와 기업형 특정 컴퓨터 디바이스를 모두 포함하며, 컴퓨터 디바이스는 메모리, 마이크로프로세서, 마이크로콘트롤러, 디지털 신호 프로세서, 애플리케이션 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 조직 등을 포함하는 디바이스 또는 이들의 조합으로 구현될 수 있다.Meanwhile, the method described herein may be implemented in hardware or a combination of hardware and software suitable for a specific application. Here, the hardware includes both general-purpose computer devices such as personal computers and mobile communication terminals, as well as enterprise-specific computer devices, and computer devices include memory, microprocessors, microcontrollers, digital signal processors, application integrated circuits, programmable gate arrays, and programmable array organizations. It may be implemented as a device including, or a combination thereof.
또한, 위에서 기술한 컴퓨터 소프트웨어, 명령어, 코드 등은 판독 가능한 디바이스에 의해 저장 또는 접근될 수 있으며, 여기서 판독 가능한 디바이스는 일정 시간 간격 동안 컴퓨팅하는데 사용되는 디지털 정보를 구비하는 컴퓨터 컴포넌트, RAM 또는 ROM과 같은 반도체 스토리지, 광디스크와 같은 영구적인 스토리지, 하드 디스크, 테이프, 드럼 등과 같은 대용량 스토리지, CD 또는 DVD와 같은 광 스토리지, 플래시 메모리, 플로피 디스크, 자기 테이프, 페이퍼 테이프, 독립형 RAM 디스크, 컴퓨터로부터 착탈 가능한 대용량 스토리지와 동적 메모리, 정적 메모리, 가변 스토리지, 클라우드와 같은 네트워크 접속형 스토리지 등과 같은 메모리를 포함할 수 있다. 한편, 여기서 명령어와 코드 등은 SQL, dBase 등과 같은 정보 지향 언어, C, Objective C, C++, 어셈블리 등과 같은 시스템 언어, Java, NET 등과 같은 아키텍처 언어, PHP, Ruby, Perl, Python 등과 같은 애플리케이션 언어 등과 같은 언어들을 모두 포함하지만, 이에 한정되지는 않고 제안된 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 언어들을 모두 포함할 수 있다.In addition, the computer software, instructions, codes, etc. described above can be stored or accessed by a readable device, wherein the readable device includes a computer component, RAM or ROM having digital information used for computing over a period of time. Solid state storage, permanent storage such as optical disk, large storage storage such as hard disk, tape, drum, etc., optical storage such as CD or DVD, flash memory, floppy disk, magnetic tape, paper tape, standalone RAM disk, removable from computer It may include memory such as mass storage and dynamic memory, static memory, variable storage, and network-attached storage such as the cloud. On the other hand, the commands and codes here are information-oriented languages such as SQL and dBase, system languages such as C, Objective C, C++, and assembly, architectural languages such as Java, NET, and application languages such as PHP, Ruby, Perl, and Python. All of the same languages are included, but the present invention is not limited thereto, and all languages widely known to those of ordinary skill in the art to which the proposed invention belongs may be included.
또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다. 구체적으로 정보 스토리지 디바이스, 광디스크, 자기 디스크 등과 같은 비휘발성 매체, 동적 메모리 등과 같은 휘발성 매체와 정보를 전송하는 동축 케이블, 구리 와이어, 광섬유 등과 같은 전송 매체를 포함하지만 이에 한정되지는 않는다.In addition, the "computer-readable medium" described herein includes any medium that contributes to providing instructions to a processor for program execution. Specifically, it includes, but is not limited to, a nonvolatile medium such as an information storage device, an optical disk, a magnetic disk, and a volatile medium such as a dynamic memory, and a transmission medium such as a coaxial cable, a copper wire, and an optical fiber for transmitting information.
100 촬영 장치
10 대상 인물 20 가상 캐릭터
200A, 200B, 200C, 200D 오브젝트(배경, 바닥면)
210A 기준선
300A, 300B, 300C, 300D 오브젝트(대상 인물)
200 평면
400 대상 위치
410 중첩 영역
500 포맷100 shooting devices
10
200A, 200B, 200C, 200D objects (background, floor)
210A baseline
300A, 300B, 300C, 300D object (target person)
200 flat
400 target locations
410 overlap area
500 format
Claims (12)
대상 인물이 포함된 영상을 획득하는 단계;
가상 오브젝트를 선택하기 위한 사용자 입력을 수신하는 단계;
상기 영상 내에서 상기 대상 인물이 위치하고 있는 평면을 식별하는 단계;
상기 사용자 입력에 의해 선택된 가상 오브젝트를 로드하는 단계;
로드 된 가상 오브젝트를 상기 영상 내에서 식별된 평면 상에 표시하는 단계;
상기 가상 오브젝트 및 대상 인물이 포함된 영상으로부터 이미지 데이터 또는 영상 데이터를 생성하는 단계;
를 포함하되,
상기 대상 인물이 위치하고 있는 평면을 식별하는 단계는,
상기 영상의 하단에 위치한 오브젝트들 중 면(plane)의 영역이 가장 넓은 오브젝트를 대상 평면으로 식별하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
In the method of implementing an augmented reality service,
Obtaining an image including a target person;
Receiving a user input for selecting a virtual object;
Identifying a plane in which the target person is located in the image;
Loading a virtual object selected by the user input;
Displaying the loaded virtual object on a plane identified in the image;
Generating image data or image data from an image including the virtual object and a target person;
Including,
The step of identifying the plane on which the target person is located,
The object having the largest plane area among the objects located at the bottom of the image is identified as a target plane,
How to implement augmented reality service.
상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계는,
상기 가상 오브젝트에 대하여 기 정의된 애니메이션을 표시하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
The method of claim 1,
Displaying the virtual object on the target plane,
Characterized in that to display a predefined animation for the virtual object,
How to implement augmented reality service.
상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계 이전,
상기 대상 평면 상에서 상기 가상 오브젝트가 위치하게 될 대상 위치를 결정하는 단계;
를 더 포함하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
The method of claim 6,
Before the step of displaying the virtual object on the target plane,
Determining a target position in which the virtual object will be located on the target plane;
It characterized in that it further comprises,
How to implement augmented reality service.
상기 가상 오브젝트가 위치하게 될 대상 위치를 결정하는 단계는,
상기 영상 내에서 상기 대상 인물과의 간격, 상기 가상 오브젝트가 위치하였을 때 상기 대상 인물과 중첩되는 영역의 크기, 또는 상기 가상 오브젝트와 상기 대상 인물과 중첩되는 영역의 상기 대상 인물 영역 대비 비율 중 적어도 하나를 기준으로 결정되는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
The method of claim 7,
The step of determining a target location where the virtual object will be located,
At least one of a distance between the target person in the image, a size of an area overlapping with the target person when the virtual object is located, or a ratio of an area overlapping the virtual object and the target person to the target person area It characterized in that it is determined on the basis of,
How to implement augmented reality service.
상기 대상 인물을 식별하는 단계는,
상기 대상 인물의 하체 영역, 상체 영역, 및 얼굴 영역을 식별하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
The method of claim 1,
The step of identifying the target person,
Characterized in that to identify the lower body region, the upper body region, and the face region of the target person,
How to implement augmented reality service.
상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계는,
상기 가상 오브젝트를, 식별된 상기 대상 인물의 하체 영역, 상체 영역, 또는 얼굴 영역에 대응되는 기 정의된 포즈로 표시하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
The method of claim 9,
Displaying the virtual object on the target plane,
Displaying the virtual object in a predefined pose corresponding to a lower body region, an upper body region, or a face region of the identified target person,
How to implement augmented reality service.
상기 증강 현실 서비스를 구현하는 방법은,
대상 인물이 포함된 영상을 획득하는 단계;
상기 영상 내에서 상기 대상 인물이 위치하고 있는 대상 평면을 식별하는 단계;
가상 오브젝트를 선택하기 위한 사용자 입력을 수신하는 단계;
상기 사용자 입력에 의해 선택된 가상 오브젝트를 로드하는 단계;
로드 된 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계;
상기 가상 오브젝트 및 대상 인물이 포함된 영상으로부터 이미지 데이터 또는 영상 데이터를 생성하는 단계;
를 포함하되,
상기 대상 인물이 위치하고 있는 평면을 식별하는 단계는,
상기 영상의 하단에 위치한 오브젝트들 중 면(plane)의 영역이 가장 넓은 오브젝트를 대상 평면으로 식별하는 것을 특징으로 하는,
컴퓨터 판독 가능한 저장 매체.A computer-readable storage medium storing instructions for executing a method of implementing an augmented reality service,
The method of implementing the augmented reality service,
Obtaining an image including a target person;
Identifying a target plane in which the target person is located in the image;
Receiving a user input for selecting a virtual object;
Loading a virtual object selected by the user input;
Displaying the loaded virtual object on the target plane;
Generating image data or image data from an image including the virtual object and a target person;
Including,
The step of identifying the plane in which the target person is located,
The object having the largest plane area among the objects located at the bottom of the image is identified as a target plane,
Computer-readable storage media.
대상 인물이 포함된 영상을 획득하는 단계;
가상 오브젝트를 선택하기 위한 사용자 입력을 수신하는 단계;
상기 영상 내에서 상기 대상 인물을 식별하는 단계;
상기 영상 내에서 상기 대상 인물이 위치하고 있는 평면을 식별하는 단계;
상기 사용자 입력에 의해 선택된 가상 오브젝트를 로드하는 단계;
로드 된 가상 오브젝트를 상기 영상 내에서 식별된 평면 상에 표시하는 단계;
상기 가상 오브젝트 및 대상 인물이 포함된 영상으로부터 이미지 데이터 또는 영상 데이터를 생성하는 단계;
를 포함하되,
상기 대상 인물을 식별하는 단계는, 상기 대상 인물의 하체 영역을 식별하는 단계를 포함하고,
상기 대상 인물이 위치하고 있는 대상 평면을 식별하는 단계는, 식별된 상기 대상 인물의 하체 영역과 접한 오브젝트들 중 면(plane)의 영역이 가장 넓은 오브젝트를 상기 대상 평면으로 식별하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
In the method of implementing an augmented reality service,
Obtaining an image including a target person;
Receiving a user input for selecting a virtual object;
Identifying the target person in the image;
Identifying a plane in which the target person is located in the image;
Loading a virtual object selected by the user input;
Displaying the loaded virtual object on a plane identified in the image;
Generating image data or image data from an image including the virtual object and a target person;
Including,
The step of identifying the target person includes identifying a lower body region of the target person,
The step of identifying the target plane on which the target person is located comprises identifying, as the target plane, an object having the largest plane area among the objects in contact with the lower body area of the identified target person,
How to implement augmented reality service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190121955A KR102218095B1 (en) | 2019-10-02 | 2019-10-02 | Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190121955A KR102218095B1 (en) | 2019-10-02 | 2019-10-02 | Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102218095B1 true KR102218095B1 (en) | 2021-02-19 |
Family
ID=74687142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190121955A KR102218095B1 (en) | 2019-10-02 | 2019-10-02 | Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102218095B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100916706B1 (en) | 2008-01-09 | 2009-09-11 | 에스케이 텔레콤주식회사 | Method and System for playing motion animation of virtal character |
KR20160001699A (en) * | 2014-06-26 | 2016-01-06 | 한국과학기술원 | Method and apparatus for providing service for augmented reality interaction |
KR20160103897A (en) * | 2015-02-25 | 2016-09-02 | 이은미 | System for augmented reality image display and method for augmented reality image display |
JP2017138914A (en) * | 2016-02-05 | 2017-08-10 | 株式会社バンダイナムコエンターテインメント | Image generation system and program |
-
2019
- 2019-10-02 KR KR1020190121955A patent/KR102218095B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100916706B1 (en) | 2008-01-09 | 2009-09-11 | 에스케이 텔레콤주식회사 | Method and System for playing motion animation of virtal character |
KR20160001699A (en) * | 2014-06-26 | 2016-01-06 | 한국과학기술원 | Method and apparatus for providing service for augmented reality interaction |
KR20160103897A (en) * | 2015-02-25 | 2016-09-02 | 이은미 | System for augmented reality image display and method for augmented reality image display |
JP2017138914A (en) * | 2016-02-05 | 2017-08-10 | 株式会社バンダイナムコエンターテインメント | Image generation system and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010968B2 (en) | Automated three dimensional model generation | |
EP3457683B1 (en) | Dynamic generation of image of a scene based on removal of undesired object present in the scene | |
US10277806B2 (en) | Automatic image composition | |
CN107944420B (en) | Illumination processing method and device for face image | |
US10771761B2 (en) | Information processing apparatus, information processing method and storing unit | |
KR20140076632A (en) | Image recomposition using face detection | |
CN106165386A (en) | For photo upload and the automatic technology of selection | |
CN108875539B (en) | Expression matching method, device and system and storage medium | |
JP5949030B2 (en) | Image generating apparatus, image generating method, and program | |
CN108985263B (en) | Data acquisition method and device, electronic equipment and computer readable medium | |
CN111833457A (en) | Image processing method, apparatus and storage medium | |
US11019251B2 (en) | Information processing apparatus, image capturing apparatus, information processing method, and recording medium storing program | |
CN111625100A (en) | Method and device for presenting picture content, computer equipment and storage medium | |
CN113965773A (en) | Live broadcast display method and device, storage medium and electronic equipment | |
JP6410427B2 (en) | Information processing apparatus, information processing method, and program | |
JP2013200867A (en) | Animation creation device and camera | |
KR102218095B1 (en) | Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof | |
CN110766631A (en) | Face image modification method and device, electronic equipment and computer readable medium | |
KR101922073B1 (en) | Method for visualizing subject information of image and apparatus thereof | |
JP7385416B2 (en) | Image processing device, image processing system, image processing method, and image processing program | |
JP4505616B2 (en) | Eigenspace learning device, eigenspace learning method, and eigenspace program | |
KR20150011714A (en) | Device for determining orientation of picture | |
KR20180069312A (en) | Method for tracking of object using light field video and apparatus thereof | |
CN111625101A (en) | Display control method and device | |
KR101907297B1 (en) | System for producing game by using paper design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |