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 PDF

Info

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
Application number
KR1020190121955A
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 KR1020190121955A priority Critical patent/KR102218095B1/en
Application granted granted Critical
Publication of KR102218095B1 publication Critical patent/KR102218095B1/en

Links

Images

Classifications

    • 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
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/30196Human 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

The present invention relates to an augmented reality implementation method and a device therefor. More specifically, the present invention relates to the method for implementing augmented reality and the computer-readable storage medium, wherein when a user wants to photograph an arbitrary object, preferably a person, with a device equipped with a photographing means, a plane among the space in which the target person is located is recognized, and, by having the virtual character appear on the plane and pose, allows the target person and the virtual character appear as if they were standing at the same place.

Description

인물 및 평면 인식을 이용한 증강 현실 구현 방법 및 위 방법을 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체{Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof}Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof}

본 발명은 증강 현실 구현 방법 및 이를 위한 장치에 관한 것으로, 더 구체적으로는 촬영 수단을 갖춘 디바이스로 임의의 오브젝트, 바람직하게는 인물을 촬영하고자 할 때에 대상 인물이 위치해 있는 공간 중에서도 특히 평면을 인식하고, 해당 평면 상으로 가상 캐릭터가 등장한 후 포즈를 취하게 함으로써 대상 인물과 가상 캐릭터가 동일 평면 상에 서 있는 상태처럼 보이게 하는 증강 현실 구현 방법 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.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.

한국등록특허 제10-0916706호 (2009. 9. 11. 공고)Korean Patent Registration No. 10-0916706 (announced on September 11, 2009)

본 발명은 촬영하고자 하는 대상 인물 주변에 가상 캐릭터가 적절히 위치할 수 있도록 상기 대상 인물이 위치해 있는 공간을 이미지로부터 식별해 내는 것을 목적으로 한다. 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 photographing device 100, and FIG. 1 (b) ) Shows a virtual character next to the target person, showing that the target person and the virtual character actually shoulder to shoulder in the same space and take a pose to take a picture. For reference, in this detailed description, in particular, a virtual character among virtual objects that can be displayed next to a target person will be described as a representative example. However, those displayed next to the target person include not only virtual characters but also other virtual objects. It will be appreciated that objects (stars, cars, plants, etc.) can all be included.

구체적으로 도 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 target person 10 is included in the frame F of the photographing apparatus 100, and in this case, the frame F is the photographing apparatus 100 ) Can be understood as referring to a screen displayed on the display. In addition, in (b) of FIG. 1, the virtual character 20 is located next to the target person 10, in particular, the virtual character 20 is positioned so that it appears to be standing on the plane where the target person 10 is located. It shows a state in which a picture is taken or a video is taken in a state in which the target person 10 and the virtual character 20 are realized as if they are together in the same space.

이처럼 본 발명은 도 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 plane 200 on which the target person stands, a head, an upper body, and a lower body of the target person. The object of the present invention is to allow a user who uses the service to experience a new experience by appearing or displaying a virtual character in the frame F of the photographing apparatus 100 after recognizing the like.

본 발명을 본격적으로 설명하기에 앞서, 본 상세한 설명에서 언급되는 촬영 장치(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 apparatus 100 referred to in this detailed description. The photographing device 100 is understood to include all devices capable of photographing a target object as a still image (photo) or a video, and the photographing device 100 includes a central processing unit (CPU) and a memory for calculation. Note that you understand that you are doing. The central processing unit may also be called a controller, a microcontroller, a microprocessor, a microcomputer, or the like. In addition, the central processing unit may be implemented by hardware, firmware, software, or a combination thereof. When implemented using hardware, an application specific integrated circuit (ASIC) or a digital signal processor (DSP) , DSPD (digital signal processing device), PLD (programmable logic device), FPGA (field programmable gate array), etc., when implemented using firmware or software, modules, procedures, or functions that perform the above functions or operations Firmware or software may be configured to include. In addition, the memory is ROM (Read Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, SRAM (Static RAM), It may be implemented as a hard disk drive (HDD) or a solid state drive (SSD). In addition, the photographing apparatus 100 may further include a communication module capable of connecting to an external terminal or an external server through a network in addition to a central processing unit and a memory. As an easy example, the photographing device 100 in this detailed description may be a portable device such as a smart phone, a tablet PC, and a laptop computer.

참고로, 이하의 상세한 설명에서는 발명의 이해를 돕기 위하여 스마트폰 또는 태블릿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 device 100 in order to aid understanding of the invention.

도 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 apparatus 100 may include animals such as cats and dogs, and living things such as plants, in addition to people, and may also include inanimate objects such as food, dolls, and furniture.

한편, 상기 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 apparatus 100 in the process of the photographer composes the target person to be included in the frame F. It may mean that you can acquire some or all of (F). In other words, among the series of steps to be described later, steps to identify the floor surface on which the target person is located by analyzing the acquired image or to identify the face/upper/lower body of the target person are also included.Step S100 It can be understood as a step of acquiring an image for the same image analysis. The actual implementation of step S100 may be made in a manner in which a part or all of the frame F among the real-time images captured by the photographing device 100 is temporarily or permanently stored in a storage means such as a memory, and the photographing device From the perspective of the user operating 100, the step S100 may be perceived as a screen displayed in real time while composing a composition for photographing a target person.

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 device 100, and the photographing device 100 May receive a selection input from a user. In this case, there is no limit to the method of selection input, such as touch input, input through button manipulation, and motion input of a smartphone. On the other hand, in this detailed description, it is described that step S101 is performed immediately after step S100, but the step of selecting a virtual character does not have to exist immediately after step S100, and before the step of loading a virtual character (S104) to be described later. It should be understood that any point in time can exist at any point in time.

사용자로부터 가상 캐릭터에 대한 선택입력을 수신한 이후에는 상기 프레임(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 device 100, for example, a smartphone is owned by a specific user, and the number of persons to be photographed by the smartphone may be limited to a few. Face information, upper body information, or lower body information about a person is pre-stored and then compared with objects in the current frame F, an object with high similarity can be identified as a specific person. For example, a limited number of people or targets, such as A herself, A's family, A's dog, A's friend B, etc., may be the main target for shooting by a smartphone owned by User A. Information such as face, upper body, lower body shape), color (color of clothes, color of dog, etc.) may be stored in the storage medium (memory) of the smartphone in advance, and objects are included by the smartphone. When an image is acquired, which of the objects is a target person or a target object can be identified by comparing it with the stored information.

한편, 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 apparatus 100 may be used.

다음으로 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 X 400 to the bottom of the frame F may be defined as the lower area of the image. An object recognized as having the largest area among several objects included in the lower area can be identified as a target plane.

도 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 objects 200 are included in the frame (F) in addition to the target person. Among these, in the first embodiment of identifying the target plane, it is not necessary to distinguish and identify the target person's face (300A), upper body (300B), and lower body (300C), but the target person is also within the frame (F). It can only be treated as an existing object. For reference, in the method of identifying each object in the frame (F), if the difference between the values between adjacent pixels exceeds the reference value, the algorithm that defines it as a boundary is repeated to extract the outlines of arbitrary objects, thereby extracting each object. A method of identifying may be used, but is not limited thereto.

첫 번째 실시예에 따른 대상 평면 식별은 영상의 하단에 존재하는 오브젝트들 중 가장 넓은 면적을 가지는 것으로 인식된 것을 대상 평면으로 식별할 수 있다고 전술하였는데, 이를 도 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 lower body area 300C of the target person identified in the previous step by the photographing apparatus 100 is indicated by a thick line, and the object area 200A in contact with the upper bold line is indicated by hatching. It can be confirmed that there is. That is, in the second embodiment, an object in contact with the lower body area of the target person identified by line may be preferentially identified as the target plane.

한편, 도 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 reference numeral 300D (the lowermost end may be plural), and at this time, the object in contact with any one of the lowermost ends or all of the lowermost ends are in contact. An object that exists can be identified as a target plane.

한편, 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 parallel reference line 210A, the reference line may be recognized as one target plane. For example, when it is difficult to determine which is the target plane because the area of the lower body area and the area of the objects that are in contact with each other are not distinguishable from each other, and in other image analysis, it is difficult to extract a boundary line to identify objects. In many cases, such as difficult cases, it may not be possible to identify the target plane.In this case, instead of discriminating the target plane from within the frame (F), an arbitrary reference line is drawn within the frame (F). You can define a new one and display a virtual character above this baseline.

한편, 도 5에는 기준선(210A)이 프레임(F) 내에서 임의적으로 정의되는 실시예가 도시되어 있으나, 상기 기준선은 반드시 프레임(F) 내에서만 정의되는 것은 아님을 이해한다. 예를 들어, 상기 대상 인물을 촬영하는 영상에는 대상 인물의 하체가 포함되지 않은 채 얼굴과 상체만 포함되어 있을 수 있는데, 이러한 경우에 있어서도 상기 촬영 장치(100)는 연산을 통하여 프레임(F) 밖에서도 가상의 기준선을 임의로 정의할 수 있다. 가상의 기준선이 정의되기 위해서는 상기 프레임(F) 내 포함된 대상 인물의 얼굴 영역 크기, 상체 영역 크기, 그리고 일반적인 인물의 비율에 대한 정보가 이용될 수 있으며, 촬영 장치(100)는 상기 얼굴 영역 크기 또는 상체 영역 크기를 상기 일반적인 인물의 비율에 맞추어 가상의 하체 영역 존재 위치를 추정하고, 이에 따라 가상의 하체 영역 하단에 접하는 기준선을 정의할 수 있다. Meanwhile, although FIG. 5 illustrates an embodiment in which the reference line 210A is arbitrarily defined within the frame F, it is understood that the reference line is not necessarily defined only within the frame F. For example, the image photographing the target person may include only the face and the upper body without including the lower body of the target person. Even in this case, the photographing apparatus 100 may perform an operation outside the frame F. Also, a virtual reference line can be arbitrarily defined. In order to define a virtual reference line, information on the size of the face area, the size of the upper body area, and the ratio of the general person included in the frame (F) may be used, and the photographing apparatus 100 may use the size of the face area. Alternatively, the location of the virtual lower body region may be estimated by matching the size of the upper body region to the ratio of the general person, and accordingly, a reference line in contact with the lower body of the virtual lower body region may be defined.

한편, 앞서 설명한 방법들 외에, 촬영 장치(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 device 100 and tracking the extracted feature points within a continuous image. have. Specifically, it has been described in step S100 that an arbitrary image can be obtained while the user is using the photographing device 100 to compose a photographing composition for a target person. In this case, the photographing device 100 At least one or more feature points may be extracted or defined from an image, and a distance to which the feature points move from consecutive images may be calculated. Meanwhile, the photographing apparatus 100 may itself include an inertial measurement unit, and by using the inertial sensor, the movement distance, rotational accuracy, and posture of the photographing apparatus 100 Angle, etc.), and the target plane can be recognized by analyzing the relationship between the frames in the continuous image using the information obtained by the inertial sensor and the movement distance of the feature point calculated previously. Of course, you can calculate the shape, size, and distance of the target plane.

한편, 대상 평면을 인식하는 방법에는 앞서 소개한 방법들 외에 더 다양한 것들도 존재할 수 있음을 이해한다. 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 device 100 or a virtual character stored in a server connected to the photographing device 100 by a network This is the step of loading. Data for a plurality of virtual characters, for example, image data for a virtual character, animation data for a virtual character, etc. may be stored in advance in a storage medium (memory) of the photographing device 100, such as The data may be downloaded from a server connected to an external network. Alternatively, the data on the virtual characters may be stored only in the server, and whenever there is a request from the photographing device 100, that is, when there is a user's virtual character selection input, It may be downloaded to the photographing device 100 and temporarily stored.

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 target position 400 is arbitrarily displayed on the side of the target person.

대상 위치(400)를 결정하는 연산에서는 예를 들어 (i)대상 인물과의 간격, (ii)상기 가상 오브젝트가 위치하였을 때 상기 대상 인물과 중첩되는 영역의 크기, 또는 (iii)상기 가상 오브젝트와 상기 대상 인물과 중첩되는 영역의 상기 대상 인물 영역 대비 비율 중 적어도 하나의 기준이 고려될 수 있다. In the operation of determining the target location 400, for example, (i) the distance between the target person, (ii) the size of the area overlapping the target person when the virtual object is located, or (iii) the virtual object At least one criterion of a ratio of an area overlapping the target person to the target person area may be considered.

(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 area 410 between a target person and a virtual character is shown, and the photographing device 100 may determine the target location 400 so that the area of the overlapping area 410 does not exceed a preset value. Alternatively, the target location 400 may be determined so that the area ratio of the overlapping area 410 does not exceed a preset value when compared with the area area of the target person. The examples in (ii) and (iii) are all intended to prevent the problem of obscuring the target person by overlapping the virtual character too much with the target person.

한편, 상기 S105단계에서는 가상 캐릭터가 위치하게 될 대상 위치(400)를 결정하는 것뿐만 아니라, 가상 캐릭터의 포즈도 결정될 수 있다. 가상 캐릭터의 포즈 구현은, 예를 들어 기 설정된 포즈의 가상 캐릭터 이미지가 랜덤으로 프레임(F) 내에 표시되는 방식, 또는 앞서 식별된 대상 인물의 포즈와 동일하게 가상 캐릭터의 포즈를 표시하는 방식 등으로 구현될 수 있다.Meanwhile, in step S105, not only the target position 400 in which the virtual character will be located is determined, but also a pose of the virtual character may be determined. Implementation of the pose of the virtual character may include, for example, a method in which a virtual character image of a preset pose is randomly displayed in the frame (F), or a method of displaying the pose of the virtual character in the same manner as the pose of the target person identified previously. Can be implemented.

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 device 100 or a step of capturing a state in which the virtual character is displayed in the frame F. In this step, image data or image data that makes the virtual character and the target person appear to exist in one space are finally generated.

한편, 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 device 100 generates an image or image in which a virtual character is added to an image photographed through a lens in a new format 500, thereby allowing the user to access the image data or image. Data can be created. Image data format can include various things including PNG, GIF, JPG, BMP, TIF, APNG, etc.Video data format can include various things including AVI, MPG, WMV, FLV, MOV, DAT, MP4, etc. have.

한편, 상기 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 target people 20 virtual characters
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.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계는,
상기 가상 오브젝트에 대하여 기 정의된 애니메이션을 표시하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
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.
제6항에 있어서,
상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계 이전,
상기 대상 평면 상에서 상기 가상 오브젝트가 위치하게 될 대상 위치를 결정하는 단계;
를 더 포함하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
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.
제7항에 있어서,
상기 가상 오브젝트가 위치하게 될 대상 위치를 결정하는 단계는,
상기 영상 내에서 상기 대상 인물과의 간격, 상기 가상 오브젝트가 위치하였을 때 상기 대상 인물과 중첩되는 영역의 크기, 또는 상기 가상 오브젝트와 상기 대상 인물과 중첩되는 영역의 상기 대상 인물 영역 대비 비율 중 적어도 하나를 기준으로 결정되는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
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.
제1항에 있어서,
상기 대상 인물을 식별하는 단계는,
상기 대상 인물의 하체 영역, 상체 영역, 및 얼굴 영역을 식별하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
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.
제9항에 있어서,
상기 가상 오브젝트를 상기 대상 평면 상에 표시하는 단계는,
상기 가상 오브젝트를, 식별된 상기 대상 인물의 하체 영역, 상체 영역, 또는 얼굴 영역에 대응되는 기 정의된 포즈로 표시하는 것을 특징으로 하는,
증강 현실 서비스를 구현하는 방법.
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.
KR1020190121955A 2019-10-02 2019-10-02 Augmented Reality Implementation Method Using Person and Plane Recognition, and Medium Storing Instructions to Execute the method Thereof KR102218095B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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