

본 발명은 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a metaverse service server and its operating method for providing a metaverse service that recommends a 3D avatar usable in the metaverse in a user-customized manner.
메타버스(metaverse)란, 가상, 초월을 의미하는 '메타(meta)'와 세계, 우주를 의미하는 '유니버스(universe)'의 합성어로, 현실과 연동된 3차원 가상 세계를 의미한다.Metaverse is a compound word of 'meta', meaning virtual or transcendent, and 'universe', meaning world or universe, and refers to a three-dimensional virtual world linked to reality.
최근, 대용량의 정보를 고속으로 전송할 수 있는 5G 통신망이 확충되면서, 생활형 또는 게임형 가상 세계를 지원하는 다양한 형태의 메타버스 서비스들이 등장하고 있다.Recently, as 5G communication networks capable of transmitting large amounts of information at high speeds have expanded, various forms of metaverse services supporting life-style or game-style virtual worlds are emerging.
이러한 메타버스 서비스는, 사용자들이 메타버스 환경에서 자신의 아바타를 활성화시킬 수 있도록 함으로써, 사용자들이 자신의 아바타를 통해 교육, 쇼핑 등 개인적인 활동을 하거나, 자신의 아바타에 다양한 디지털 아이템들을 적용시킬 수 있도록 하는 기능을 제공한다. 사용자는 이러한 기능을 활용하여, 물리적인 제약 없이 메타버스 환경에서, 사용자가 원하는 활동을 하거나, 아바타에 다양한 디지털 아이템들을 적용시킴으로써 재미와 만족감을 얻을 수 있다.These metaverse services provide users with the ability to activate their avatars in the metaverse environment, allowing them to engage in personal activities such as education and shopping through their avatars, or to apply various digital items to their avatars. By utilizing these functions, users can obtain fun and satisfaction by engaging in activities they want in the metaverse environment without physical constraints, or by applying various digital items to their avatars.
보통, 사용자들은 자신의 외형과 유사한 형태의 아바타를 만드는 것을 선호하는 경우가 많다. 다만, 사용자가 자신의 외형과 유사한 형태의 아바타를 직접 생성하는 것은 많은 어려움이 있다는 점에서, 사용자의 외형과 유사한 형태의 아바타를 자동으로 생성해 주는 아바타 추천 생성 기법에 대한 연구가 필요하다.Usually, users tend to prefer to create avatars that are similar to their own appearance. However, since it is very difficult for users to directly create avatars that are similar to their own appearance, research on avatar recommendation generation techniques that automatically create avatars that are similar to the user's appearance is needed.
본 발명은 사용자의 얼굴 이미지와 신체 정보를 기초로, 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 생성하여, 사용자에게 추천해 줄 수 있는 서비스 기술을 제공하고자 한다.The present invention aims to provide a service technology capable of creating a customized 3D avatar usable in the metaverse based on the user's facial image and body information and recommending it to the user.
본 발명의 일실시예에 따른 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버는 3D 아바타의 얼굴을 생성하기 위한, 사전 제작된 복수의 3D 얼굴 모델링 데이터들이 저장되어 있는 얼굴 모델링 저장부, 상기 3D 아바타에서 얼굴을 제외한 바디(body)를 생성하기 위한, 사전 제작된 복수의 3D 바디 모델링 데이터들이 저장되어 있는 바디 모델링 저장부, 상기 메타버스 서비스에 가입된 복수의 회원들 중 제1 회원의 제1 전자 단말로부터, 메타버스 환경에서 사용하기 위한 아바타의 추천 생성 명령이 수신되면, 상기 제1 전자 단말로, 상기 제1 회원의 얼굴을 촬영한 얼굴 이미지와, 상기 제1 회원의 신장 및 몸무게에 대한 정보를 전송할 것을 요청하는 내용이 포함된 안내 메시지를 전송하는 메시지 전송부, 상기 제1 전자 단말로부터, 상기 안내 메시지에 대한 응답으로, 제1 얼굴 이미지와, 제1 신장 및 제1 몸무게에 대한 정보가 수신되면, 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 얼굴 이미지에 매칭되는 제1 3D 얼굴 모델링 데이터를 추출하고, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 신장 및 상기 제1 몸무게에 매칭되는 제1 3D 바디 모델링 데이터를 추출하는 데이터 추출부, 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터가 추출되면, 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터를 조합하여 제1 3D 아바타에 대한 모델링 데이터를 생성하는 아바타 생성부 및 상기 제1 3D 아바타에 대한 모델링 데이터를 기초로 상기 제1 3D 아바타에 대한 렌더링 이미지를 생성하여 상기 제1 전자 단말로 전송함과 동시에, 상기 제1 3D 아바타가 상기 제1 회원에 대한 추천 아바타임을 안내하는 내용이 포함된 추천 메시지를 상기 제1 전자 단말로 전송하는 이미지 전송부를 포함한다.According to one embodiment of the present invention, a metaverse service server for providing a metaverse service that recommends a 3D avatar that can be used in a metaverse in a customized manner comprises: a face modeling storage unit storing a plurality of pre-made 3D face modeling data for creating a face of a 3D avatar; a body modeling storage unit storing a plurality of pre-made 3D body modeling data for creating a body excluding the face of the 3D avatar; a message transmission unit transmitting a guidance message including a request to transmit a face image of the face of the first member and information about the height and weight of the first member to the first electronic terminal when a recommendation generation command for an avatar to be used in a metaverse environment is received from a first electronic terminal of a first member among a plurality of members subscribed to the metaverse service; a first 3D face modeling data matching the first face image from the plurality of 3D face modeling data is extracted when a first face image and information about the first height and the first weight are received from the first electronic terminal in response to the guidance message, and a first 3D face modeling data matching the first face image from the plurality of 3D face modeling data is extracted from the plurality of 3D face modeling data, and a body modeling storage unit storing a plurality of pre-made 3D body modeling data for creating a body excluding the face of the 3D avatar. The present invention comprises: a data extraction unit which extracts first 3D body modeling data matching the first height and the first weight from among body modeling data; an avatar generation unit which, when the first 3D face modeling data and the first 3D body modeling data are extracted, generates modeling data for a first 3D avatar by combining the first 3D face modeling data and the first 3D body modeling data; and an image transmission unit which generates a rendered image for the first 3D avatar based on the modeling data for the first 3D avatar and transmits the rendered image to the first electronic terminal, and simultaneously transmits a recommendation message including content informing that the first 3D avatar is a recommended avatar for the first member to the first electronic terminal.
또한, 본 발명의 일실시예에 따른 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버의 동작 방법은 3D 아바타의 얼굴을 생성하기 위한, 사전 제작된 복수의 3D 얼굴 모델링 데이터들이 저장되어 있는 얼굴 모델링 저장부를 유지하는 단계, 상기 3D 아바타에서 얼굴을 제외한 바디를 생성하기 위한, 사전 제작된 복수의 3D 바디 모델링 데이터들이 저장되어 있는 바디 모델링 저장부를 유지하는 단계, 상기 메타버스 서비스에 가입된 복수의 회원들 중 제1 회원의 제1 전자 단말로부터, 메타버스 환경에서 사용하기 위한 아바타의 추천 생성 명령이 수신되면, 상기 제1 전자 단말로, 상기 제1 회원의 얼굴을 촬영한 얼굴 이미지와, 상기 제1 회원의 신장 및 몸무게에 대한 정보를 전송할 것을 요청하는 내용이 포함된 안내 메시지를 전송하는 단계, 상기 제1 전자 단말로부터, 상기 안내 메시지에 대한 응답으로, 제1 얼굴 이미지와, 제1 신장 및 제1 몸무게에 대한 정보가 수신되면, 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 얼굴 이미지에 매칭되는 제1 3D 얼굴 모델링 데이터를 추출하고, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 신장 및 상기 제1 몸무게에 매칭되는 제1 3D 바디 모델링 데이터를 추출하는 단계, 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터가 추출되면, 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터를 조합하여 제1 3D 아바타에 대한 모델링 데이터를 생성하는 단계 및 상기 제1 3D 아바타에 대한 모델링 데이터를 기초로 상기 제1 3D 아바타에 대한 렌더링 이미지를 생성하여 상기 제1 전자 단말로 전송함과 동시에, 상기 제1 3D 아바타가 상기 제1 회원에 대한 추천 아바타임을 안내하는 내용이 포함된 추천 메시지를 상기 제1 전자 단말로 전송하는 단계를 포함한다.In addition, a method of operating a metaverse service server for providing a metaverse service that recommends a 3D avatar that can be used in a metaverse according to an embodiment of the present invention comprises the steps of: maintaining a face modeling storage unit in which a plurality of pre-made 3D face modeling data are stored for creating a face of a 3D avatar; maintaining a body modeling storage unit in which a plurality of pre-made 3D body modeling data are stored for creating a body excluding a face from the 3D avatar; when a recommendation creation command for an avatar to be used in a metaverse environment is received from a first electronic terminal of a first member among a plurality of members subscribed to the metaverse service, transmitting a guidance message including a request to transmit a face image of the first member's face and information about the height and weight of the first member to the first electronic terminal; when a first face image and information about the first height and the first weight are received from the first electronic terminal in response to the guidance message, extracting first 3D face modeling data that matches the first face image from the plurality of 3D face modeling data, and The method comprises the steps of: extracting first 3D body modeling data matching the first height and the first weight from among 3D body modeling data; generating modeling data for a first 3D avatar by combining the first 3D face modeling data and the first 3D body modeling data when the first 3D face modeling data and the first 3D body modeling data are extracted; and generating a rendered image for the first 3D avatar based on the modeling data for the first 3D avatar and transmitting the rendered image to the first electronic terminal, and simultaneously transmitting a recommendation message including content informing that the first 3D avatar is a recommended avatar for the first member to the first electronic terminal.
본 발명은 사용자의 얼굴 이미지와 신체 정보를 기초로, 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 생성하여, 사용자에게 추천해 줄 수 있는 서비스 기술을 제공할 수 있다.The present invention can provide a service technology that can create a customized 3D avatar usable in the metaverse based on the user's facial image and body information and recommend it to the user.
도 1은 본 발명의 일실시예에 따른 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버의 동작 방법을 도시한 순서도이다.FIG. 1 is a diagram illustrating the structure of a metaverse service server for providing a metaverse service that recommends a 3D avatar that can be used in the metaverse in a user-customized manner according to one embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operation method of a metaverse service server for providing a metaverse service that recommends a 3D avatar that can be used in the metaverse in a user-customized manner according to one embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the attached drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing each drawing, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the art to which the present invention belongs.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.In this document, when a part is said to "include" a certain component, this means that other components may be further included, rather than excluding other components, unless otherwise specifically stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more subcomponents, and the electrical, electronic and mechanical functions performed by each component may be implemented by various known elements such as electronic circuits, integrated circuits, ASICs (Application Specific Integrated Circuits), or mechanical elements, and each may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks of the attached block diagram or the steps of the flow chart may be interpreted as computer program instructions that are loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, or a network computer, and perform designated functions. Since these computer program instructions may be stored in a memory equipped in a computer device or a computer-readable memory, the functions described in the blocks of the block diagram or the steps of the flow chart may be produced as a manufactured product that includes a command means for performing the same. In addition, each block or each step may represent a module, segment, or part of code that includes one or more executable instructions for performing a specific logical function(s). In addition, it should be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may be performed in a different order from the specified order. For example, two blocks or steps illustrated in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be performed with some blocks or steps omitted.
도 1은 본 발명의 일실시예에 따른 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버의 구조를 도시한 도면이다.FIG. 1 is a diagram illustrating the structure of a metaverse service server for providing a metaverse service that recommends a 3D avatar that can be used in the metaverse in a user-customized manner according to one embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 메타버스 서비스 서버(110)는 얼굴 모델링 저장부(111), 바디 모델링 저장부(112), 메시지 전송부(113), 데이터 추출부(114), 아바타 생성부(115) 및 이미지 전송부(116)를 포함한다.Referring to FIG. 1, the metaverse service server (110) according to the present invention includes a face modeling storage unit (111), a body modeling storage unit (112), a message transmission unit (113), a data extraction unit (114), an avatar generation unit (115), and an image transmission unit (116).
얼굴 모델링 저장부(111)에는 3D 아바타의 얼굴을 생성하기 위한, 사전 제작된 복수의 3D 얼굴 모델링 데이터들이 저장되어 있다.The face modeling storage unit (111) stores a plurality of pre-made 3D face modeling data for creating the face of a 3D avatar.
바디 모델링 저장부(112)에는 상기 3D 아바타에서 얼굴을 제외한 바디(body)를 생성하기 위한, 사전 제작된 복수의 3D 바디 모델링 데이터들이 저장되어 있다.The body modeling storage unit (112) stores a plurality of pre-made 3D body modeling data for creating a body excluding the face in the 3D avatar.
여기서, 바디란, 아바타를 구성하는 얼굴을 제외한 몸통, 팔, 다리 등의 나머지 부분을 의미한다.Here, body refers to the torso, arms, legs, etc. that make up the avatar, excluding the face.
메시지 전송부(113)는 상기 메타버스 서비스에 가입된 복수의 회원들 중 제1 회원의 제1 전자 단말(100)로부터, 메타버스 환경에서 사용하기 위한 아바타의 추천 생성 명령이 수신되면, 제1 전자 단말(100)로, 상기 제1 회원의 얼굴을 촬영한 얼굴 이미지와, 상기 제1 회원의 신장 및 몸무게에 대한 정보를 전송할 것을 요청하는 내용이 포함된 안내 메시지를 전송한다.When a message transmission unit (113) receives a command to create a recommendation for an avatar for use in a metaverse environment from a first electronic terminal (100) of a first member among multiple members subscribed to the metaverse service, the message transmission unit (113) transmits a guidance message including a request to transmit a facial image of the first member's face and information about the first member's height and weight to the first electronic terminal (100).
데이터 추출부(114)는 제1 전자 단말(100)로부터, 상기 안내 메시지에 대한 응답으로, 제1 얼굴 이미지와, 제1 신장 및 제1 몸무게에 대한 정보가 수신되면, 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 얼굴 이미지에 매칭되는 제1 3D 얼굴 모델링 데이터를 추출하고, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 신장 및 상기 제1 몸무게에 매칭되는 제1 3D 바디 모델링 데이터를 추출한다.When the data extraction unit (114) receives a first face image and information on a first height and a first weight from the first electronic terminal (100) in response to the guidance message, it extracts first 3D face modeling data matching the first face image from among the plurality of 3D face modeling data, and extracts first 3D body modeling data matching the first height and the first weight from among the plurality of 3D body modeling data.
이때, 본 발명의 일실시예에 따르면, 데이터 추출부(114)는 임베딩 벡터 저장부(117), 바디 정보 저장부(118), 얼굴 모델링 추출부(119) 및 바디 모델링 추출부(120)를 포함할 수 있다.At this time, according to one embodiment of the present invention, the data extraction unit (114) may include an embedding vector storage unit (117), a body information storage unit (118), a face modeling extraction unit (119), and a body modeling extraction unit (120).
임베딩 벡터 저장부(117)에는 상기 복수의 3D 얼굴 모델링 데이터들 각각에 대응되는 사전 설정된 k(k는 2이상의 자연수임)차원의 임베딩 벡터가 저장되어 있다.In the embedding vector storage unit (117), a preset k-dimensional embedding vector (k is a natural number greater than or equal to 2) corresponding to each of the plurality of 3D facial modeling data is stored.
예컨대, k를 5라고 하는 경우, 임베딩 벡터 저장부(117)에는 하기의 표 1과 같이, 상기 복수의 3D 얼굴 모델링 데이터들 각각에 대응되는 사전 설정된 5차원의 임베딩 벡터가 저장되어 있을 수 있다.For example, when k is 5, the embedding vector storage unit (117) may store preset 5-dimensional embedding vectors corresponding to each of the plurality of 3D facial modeling data, as shown in Table 1 below.
바디 정보 저장부(118)에는 상기 복수의 3D 바디 모델링 데이터들 각각에 대응되는 신장 및 몸무게에 대한 정보가 저장되어 있다.In the body information storage unit (118), information on height and weight corresponding to each of the plurality of 3D body modeling data is stored.
관련해서, 바디 정보 저장부(118)에는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.In relation to this, information may be stored in the body information storage unit (118) as shown in Table 2 below.
얼굴 모델링 추출부(119)는 제1 전자 단말(100)로부터, 상기 제1 얼굴 이미지와, 상기 제1 신장 및 상기 제1 몸무게에 대한 정보가 수신되면, 사전 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks)에 상기 제1 얼굴 이미지를 입력으로 인가하여, k차원의 제1 출력 벡터를 산출한 후, 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 출력 벡터와의 벡터 유사도가 최대로 산출되는 임베딩 벡터를 갖는 3D 얼굴 모델링 데이터를 상기 제1 3D 얼굴 모델링 데이터로 추출한다.When the face modeling extraction unit (119) receives the first face image and information about the first height and the first weight from the first electronic terminal (100), it inputs the first face image as input to a convolutional neural network that has completed preliminary machine learning, and then extracts a 3D face modeling data having an embedding vector that maximizes vector similarity with the first output vector among the plurality of 3D face modeling data as the first 3D face modeling data.
여기서, 상기 합성곱 신경망은, 복수의 훈련용 얼굴 이미지들과 각 훈련용 얼굴 이미지에 매칭되는 것으로 지정된 3D 얼굴 모델링 데이터로 구성되어 있는 훈련 세트를 기초로 사전 기계학습된, k차원의 출력 벡터를 산출하는 신경망을 의미한다. 이때, 상기 합성곱 신경망에 대한 기계학습은, 상기 복수의 훈련용 얼굴 이미지들 중 어느 하나인 제1 훈련용 얼굴 이미지를 상기 합성곱 신경망에 입력으로 인가하였을 때 산출되는 출력 벡터가, 상기 복수의 3D 얼굴 모델링 데이터들 각각에 대한 임베딩 벡터 중에서, 상기 제1 훈련용 얼굴 이미지에 매칭된 3D 얼굴 모델링 데이터에 대한 임베딩 벡터에 최대로 유사한 벡터가 되도록 역전파(backpropagation) 처리가 수행됨으로써, 진행될 수 있다.Here, the convolutional neural network means a neural network that is machine-learned in advance based on a training set consisting of a plurality of training face images and 3D face modeling data that is designated to match each of the training face images, and produces a k-dimensional output vector. At this time, the machine learning for the convolutional neural network can be performed by performing backpropagation processing so that when a first training face image, which is one of the plurality of training face images, is input to the convolutional neural network, an output vector produced becomes a vector that is maximally similar to an embedding vector for 3D face modeling data that matches the first training face image among the embedding vectors for each of the plurality of 3D face modeling data.
예컨대, k를 5라고 하고, 상기 훈련 세트가 하기의 표 3과 같이 구성되어 있다고 하는 경우, 상기 합성곱 신경망에 대한 기계학습이 수행되는 과정을 예를 들어 설명하면, 다음과 같다.For example, if k is 5 and the training set is configured as shown in Table 3 below, the process of performing machine learning for the convolutional neural network is explained as follows.
먼저, 첫 번째 과정에서는 상기 복수의 훈련용 얼굴 이미지들 중 어느 하나인 '훈련용 얼굴 이미지 1'을, 상기 합성곱 신경망에 입력으로 인가하여, 5차원의 출력 벡터를 '[o1 o2 o3 o4 o5]'와 같이 산출할 수 있다.First, in the first process, one of the plurality of training face images, 'training face image 1', is input to the convolutional neural network, and a 5-dimensional output vector can be produced as '[o1 o2 o3 o4 o5]'.
그러고 나서, 두 번째 과정에서는 '훈련용 얼굴 이미지 1'에 대한 출력 벡터인 '[o1 o2 o3 o4 o5]'와 상기 표 1과 같은 복수의 3D 얼굴 모델링 데이터들 각각의 임베딩 벡터 간의 벡터 유사도를 연산할 수 있다.Then, in the second process, the vector similarity between the output vector '[o1 o2 o3 o4 o5]' for 'Training face image 1' and the embedding vector of each of the multiple 3D face modeling data as shown in Table 1 above can be calculated.
여기서, 벡터 유사도는 유클리드 거리나 코사인 유사도가 사용될 수 있다.Here, vector similarity can be Euclidean distance or cosine similarity.
그 이후, 세 번째 과정에서는 상기 복수의 3D 얼굴 모델링 데이터들 각각의 임베딩 벡터와의 벡터 유사도 중, '훈련용 얼굴 이미지 1'에 매칭되어 있는 '얼굴 모델링 데이터 2'의 임베딩 벡터인 '[a2 b2 c2 d2 e2]'와의 벡터 유사도가 최대가 되도록 역전파 처리를 수행함으로써, 상기 합성곱 신경망을 기계학습시킬 수 있다.Thereafter, in the third process, by performing backpropagation processing so that the vector similarity between the embedding vector of each of the plurality of 3D face modeling data and the embedding vector of 'face modeling data 2' matching 'training face image 1' and '[a2 b2 c2 d2 e2]' is maximized, the convolutional neural network can be machine-learned.
이러한 방식으로, 상기 합성곱 신경망에 대한 기계학습은, 상기 복수의 훈련용 얼굴 이미지들 각각에 대해, 위 과정을 반복함으로써 수행될 수 있다In this way, machine learning for the convolutional neural network can be performed by repeating the above process for each of the plurality of training face images.
이로 인해서, 기계학습이 완료된 상기 합성곱 신경망에 제1 전자 단말(100)로부터 수신된 상기 제1 얼굴 이미지가 입력되면, k차원의 제1 출력 벡터가 산출될 수 있고, 이때, 얼굴 모델링 추출부(119)는 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 출력 벡터와의 벡터 유사도가 최대로 산출되는 임베딩 벡터를 갖는 3D 얼굴 모델링 데이터를, 상기 제1 얼굴 이미지에 매칭되는 상기 제1 3D 얼굴 모델링 데이터로 추출할 수 있다.Accordingly, when the first facial image received from the first electronic terminal (100) is input into the convolutional neural network where machine learning has been completed, a k-dimensional first output vector can be produced, and at this time, the facial modeling extraction unit (119) can extract 3D facial modeling data having an embedding vector that maximizes vector similarity with the first output vector among the plurality of 3D facial modeling data as the first 3D facial modeling data matching the first facial image.
바디 모델링 추출부(120)는 상기 복수의 3D 바디 모델링 데이터들 각각에 대해, 각 3D 바디 모델링 데이터에 대응되는 신장 및 몸무게를 성분으로 갖는 2차원의 바디 특징 벡터를 생성함으로써, 상기 복수의 3D 바디 모델링 데이터들 각각에 대응되는 바디 특징 벡터를 생성하고, 상기 제1 신장 및 상기 제1 몸무게를 성분으로 갖는 2차원의 제1 바디 특징 벡터를 생성한 후, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 바디 특징 벡터와의 벡터 유사도가 최대로 산출되는 바디 특징 벡터를 갖는 3D 바디 모델링 데이터를 상기 제1 3D 바디 모델링 데이터로 추출한다.The body modeling extraction unit (120) generates a two-dimensional body feature vector having height and weight corresponding to each 3D body modeling data as components for each of the plurality of 3D body modeling data, thereby generating a body feature vector corresponding to each of the plurality of 3D body modeling data, and after generating a two-dimensional first body feature vector having the first height and the first weight as components, extracts a 3D body modeling data having a body feature vector that has the highest vector similarity with the first body feature vector among the plurality of 3D body modeling data as the first 3D body modeling data.
관련해서, 바디 정보 저장부(118)에 상기 표 2와 같이, 상기 복수의 3D 바디 모델링 데이터들 각각에 대응되는 신장 및 몸무게에 대한 정보가 저장되어 있다고 하는 경우, 바디 모델링 추출부(120)는 '바디 모델링 데이터 1'에 대응되는 신장 및 몸무게인 '175(cm)'와 '65(kg)'을 성분으로 갖는 2차원의 바디 특징 벡터로 '[175 65]'를 생성할 수 있고, '바디 모델링 데이터 2'에 대응되는 신장 및 몸무게인 '165(cm)'와 '55(kg)'을 성분으로 갖는 2차원의 바디 특징 벡터로 '[165 55]'를 생성할 수 있으며, '바디 모델링 데이터 3'에 대응되는 신장 및 몸무게인 '180(cm)'와 '85(kg)'을 성분으로 갖는 2차원의 바디 특징 벡터로 '[180 85]'를 생성할 수 있다. 이러한 방식으로, 바디 모델링 추출부(120)는 상기 복수의 3D 바디 모델링 데이터들 각각에 대응되는 바디 특징 벡터를 생성할 수 있다.In this regard, if the body information storage unit (118) stores information on height and weight corresponding to each of the plurality of 3D body modeling data, as shown in Table 2, the body modeling extraction unit (120) can generate a two-dimensional body feature vector, '[175 65]', having as components '175 (cm)' and '65 (kg)', which are height and weight corresponding to 'body modeling data 1', can generate a two-dimensional body feature vector, '[165 55]', having as components '165 (cm)' and '55 (kg)', which are height and weight corresponding to 'body modeling data 2', and can generate a two-dimensional body feature vector, '[180 85]', having as components '180 (cm)' and '85 (kg)', which are height and weight corresponding to 'body modeling data 3'. In this way, the body modeling extraction unit (120) can generate a body feature vector corresponding to each of the plurality of 3D body modeling data.
그러고 나서, 바디 모델링 추출부(120)는 제1 전자 단말(100)로부터 수신된 상기 제1 신장 및 상기 제1 몸무게를 성분으로 갖는 2차원의 제1 바디 특징 벡터를 생성한 후, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 바디 특징 벡터와의 벡터 유사도가 최대로 산출되는 바디 특징 벡터를 갖는 3D 바디 모델링 데이터를, 상기 제1 신장 및 상기 제1 몸무게에 매칭되는 상기 제1 3D 바디 모델링 데이터로 추출할 수 있다.Then, the body modeling extraction unit (120) generates a two-dimensional first body feature vector having the first height and the first weight as components received from the first electronic terminal (100), and then extracts 3D body modeling data having a body feature vector that maximizes vector similarity with the first body feature vector among the plurality of 3D body modeling data as the first 3D body modeling data matching the first height and the first weight.
이렇게, 데이터 추출부(114)를 통해, 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터가 추출되면, 아바타 생성부(115)는 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터를 조합하여 제1 3D 아바타에 대한 모델링 데이터를 생성한다.In this way, when the first 3D face modeling data and the first 3D body modeling data are extracted through the data extraction unit (114), the avatar generation unit (115) combines the first 3D face modeling data and the first 3D body modeling data to generate modeling data for the first 3D avatar.
이미지 전송부(116)는 상기 제1 3D 아바타에 대한 모델링 데이터를 기초로 상기 제1 3D 아바타에 대한 렌더링 이미지를 생성하여 제1 전자 단말(100)로 전송함과 동시에, 상기 제1 3D 아바타가 상기 제1 회원에 대한 추천 아바타임을 안내하는 내용이 포함된 추천 메시지를 제1 전자 단말(100)로 전송한다.The image transmission unit (116) generates a rendering image of the first 3D avatar based on modeling data for the first 3D avatar and transmits the image to the first electronic terminal (100), while simultaneously transmitting a recommendation message containing information indicating that the first 3D avatar is a recommended avatar for the first member to the first electronic terminal (100).
이를 통해, 상기 제1 회원은 제1 전자 단말(100)에 수신된 상기 제1 3D 아바타에 대한 렌더링 이미지를 보고, 상기 제1 3D 아바타를 자신의 메타버스 계정에 따른 메타버스 환경에서 사용할지 여부를 결정할 수 있다.Through this, the first member can view the rendering image of the first 3D avatar received on the first electronic terminal (100) and decide whether to use the first 3D avatar in the metaverse environment according to his/her metaverse account.
만약, 제1 회원이 상기 제1 3D 아바타를 자신의 메타버스 계정에 따른 메타버스 환경에서 사용할 아바타로 결정함에 따라, 제1 전자 단말(100)로부터 메타버스 서비스 서버(110)에 상기 제1 3D 아바타를, 상기 제1 회원의 계정에 따른 메타버스 환경에서 사용하기 위한 정식 아바타로 지정할 것을 요청하는 지정 명령이 수신되는 경우, 활성화부(121)는 상기 제1 회원에 대한 사용자 인증을 진행한 후 상기 제1 회원의 계정에 따른 메타버스 환경 상에서 상기 제1 3D 아바타가 활성화되도록 처리한다.If, as the first member decides to use the first 3D avatar as an avatar to be used in the metaverse environment according to his/her metaverse account, a designation command is received from the first electronic terminal (100) requesting the metaverse service server (110) to designate the first 3D avatar as an official avatar to be used in the metaverse environment according to the first member's account, the activation unit (121) performs user authentication for the first member and then processes the first 3D avatar to be activated in the metaverse environment according to the first member's account.
이를 통해, 상기 제1 회원은 자신의 계정에 따른 메타버스 환경 상에서 상기 제1 3D 아바타를 이용할 수 있다.Through this, the first member can use the first 3D avatar in the metaverse environment according to his/her account.
이때, 본 발명의 일실시예에 따르면, 활성화부(121)는 제1 전자 단말(100)로부터, 상기 제1 3D 아바타를, 상기 제1 회원의 계정에 따른 메타버스 환경에서 사용하기 위한 정식 아바타로 지정할 것을 요청하는 지정 명령이 수신되는 경우, 상기 제1 회원이 본 발명에 따른 메타버스 서비스에 가입된 정식 회원이 맞는 것으로 확인되는 경우에 한해서, 상기 제1 회원이 상기 제1 3D 아바타를 메타버스 환경에서 이용할 수 있도록 하기 위한 사용자 인증을 수행하는 구성을 더 포함할 수 있다.At this time, according to one embodiment of the present invention, when a designation command requesting to designate the first 3D avatar as a formal avatar for use in a metaverse environment according to the account of the first member is received from the first electronic terminal (100), the activation unit (121) may further include a configuration for performing user authentication to allow the first member to use the first 3D avatar in the metaverse environment only when it is confirmed that the first member is a formal member subscribed to the metaverse service according to the present invention.
이와 관련해서, 활성화부(121)는 숫자 테이블 저장부(122), 인증 행렬 저장부(123), 이벤트 발생부(124), 데이터 분할부(125), 일련번호 생성부(126), 특성 행렬 생성부(127), 전송부(128) 및 활성화 처리부(129)를 포함할 수 있다.In this regard, the activation unit (121) may include a number table storage unit (122), an authentication matrix storage unit (123), an event generation unit (124), a data division unit (125), a serial number generation unit (126), a characteristic matrix generation unit (127), a transmission unit (128), and an activation processing unit (129).
숫자 테이블 저장부(122)에는 상기 복수의 회원들의 전자 단말과 사전 공유하고 있는, 사전 설정된 숫자 테이블이 저장되어 있다.The number table storage unit (122) stores a preset number table that is shared in advance with the electronic terminals of the plurality of members.
여기서, 상기 숫자 테이블은, 9이하의 크기를 갖는 자연수로 구성된 사전 설정된 n(n은 2이상의 자연수임)개의 서로 다른 숫자들과 상기 n개의 숫자들 각각에 대응되는 사전 설정된 n차원의 특성 벡터가 기록된 테이블로서, n을 3이라고 하는 경우, 상기 숫자 테이블은 하기의 표 4와 같이 구성되어 있을 수 있다.Here, the number table is a table in which a preset n (n is a natural number greater than or equal to 2) different numbers composed of natural numbers having a size of 9 or less and a preset n-dimensional feature vector corresponding to each of the n numbers are recorded. When n is 3, the number table can be configured as in Table 4 below.
인증 행렬 저장부(123)에는 상기 복수 회원들의 전자 단말과 사전 공유하고 있는, n x n 크기의 사전 설정된 인증 행렬(상기 인증 행렬은 역행렬이 존재하는 행렬임)이 저장되어 있다.The authentication matrix storage unit (123) stores a preset authentication matrix of n x n size (the authentication matrix is a matrix having an inverse matrix) that is shared in advance with the electronic terminals of the above-mentioned multiple members.
이벤트 발생부(124)는 제1 전자 단말(100)로부터 상기 지정 명령이 수신되면, 상기 제1 회원에 대한 사용자 인증을 진행하기 위한 인증 이벤트를 발생시킨다.When the above-mentioned designated command is received from the first electronic terminal (100), the event generation unit (124) generates an authentication event to perform user authentication for the first member.
데이터 분할부(125)는 상기 인증 이벤트가 발생되면, 사전 설정된 크기를 갖는 랜덤 데이터를 생성하고, 상기 랜덤 데이터를 구성하는 데이터열을 n개로 분할함으로써, n개의 제1 분할 데이터들을 생성한 후, 상기 n개의 제1 분할 데이터들 각각에 대해 상기 n개의 숫자들을 오름차순으로 할당한다.When the above authentication event occurs, the data division unit (125) generates random data having a preset size, divides the data string constituting the random data into n pieces, thereby generating n first division data, and then assigns the n numbers in ascending order to each of the n first division data.
예컨대, 전술한 예와 같이, n을 3이라고 하는 경우, 데이터 분할부(125)는 상기 랜덤 데이터를 구성하는 데이터열을 3개로 분할함으로써, 3개의 제1 분할 데이터들로 'A', 'B', 'C'를 생성할 수 있다. 그러고 나서, 데이터 분할부(125)는 'A', 'B', 'C' 각각에 대해 상기 3개의 숫자들인 '1', '2', '3'을 오름차순으로 할당함으로써, 'A'에 '1'을, 'B'에 '2'를, 'C'에 '3'을 할당할 수 있다.For example, as in the example described above, when n is 3, the data division unit (125) can divide the data string constituting the random data into three, thereby generating 'A', 'B', and 'C' as three first division data. Then, the data division unit (125) can assign '1' to 'A', 'B', and 'C', respectively, by assigning the three numbers '1', '2', and '3' in ascending order.
일련번호 생성부(126)는 상기 n개의 제1 분할 데이터들을 랜덤한 순서로 재배치하여 연접(concatenate)함으로써, 연접 데이터를 생성하고, 상기 연접 데이터 상에서의 상기 n개의 제1 분할 데이터들이 연접된 순서와 동일 순서로, 각 분할 데이터에 할당된 숫자를 연접함으로써, n자릿수의 일련번호 생성한다.The serial number generating unit (126) randomly rearranges and concatenates the n first segmented data to generate concatenated data, and concatenates the numbers assigned to each segmented data in the same order as the order in which the n first segmented data were concatenated on the concatenated data to generate an n-digit serial number.
관련해서, 전술한 예와 같이, 상기 제1 분할 데이터들이 'A', 'B', 'C'라고 하는 경우, 일련번호 생성부(126)는 상기 제1 분할 데이터들을 랜덤한 순서로 재배치하여 연접함으로써, 'BAC'와 같은 연접 데이터를 생성할 수 있다. 그러고 나서, 일련번호 생성부(126)는 상기 연접 데이터 상에서의 상기 제1 분할 데이터들이 연접된 순서인 'B', 'A', 'C'와 동일한 순서로, 각 분할 데이터에 할당된 숫자인 '2', '1', '3'을 연접함으로써, 3자릿수의 '213'이라고 하는 일련번호를 생성할 수 있다.In relation to this, as in the example described above, if the first segmented data are 'A', 'B', and 'C', the serial number generating unit (126) can generate concatenated data such as 'BAC' by rearranging and concatenating the first segmented data in a random order. Then, the serial number generating unit (126) can generate a three-digit serial number such as '213' by concatenating the numbers '2', '1', and '3' assigned to each segmented data in the same order as the order in which the first segmented data are concatenated, 'B', 'A', and 'C' on the concatenated data.
특성 행렬 생성부(127)는 상기 숫자 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 특성 벡터를 순차적으로 행백터로 배치함으로써, n x n 크기의 특성 행렬을 생성한다.The characteristic matrix generation unit (127) refers to the number table and sequentially arranges characteristic vectors corresponding to each digit of the serial number into a row vector, thereby generating a characteristic matrix of size n x n.
관련해서, 전술한 예와 같이, 상기 일련번호가 '213'과 같이 생성되었다고 하는 경우, 특성 행렬 생성부(127)는 상기 표 4와 같은 숫자 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자인 '2', '1', '3'에 대응되는 특성 벡터를 순차적으로 행벡터로 배치함으로써, ''과 같은 특성 행렬을 생성할 수 있다.In relation to this, as in the example described above, if the serial number is generated as '213', the characteristic matrix generation unit (127) sequentially arranges the characteristic vectors corresponding to the numbers '2', '1', and '3' of each digit constituting the serial number as a row vector by referring to the number table as in Table 4, thereby ' ' can generate a feature matrix like this.
전송부(128)는 상기 특성 행렬과 상기 인증 행렬을 서로 행렬곱하여 연산 행렬을 생성한 후, 상기 연산 행렬과 상기 연접 데이터를 제1 전자 단말(100)로 전송하면서, 제1 전자 단말(100)에 대해, 상기 연산 행렬과 상기 연접 데이터로부터 상기 랜덤 데이터와 동일한 데이터를 생성하여 피드백할 것을 지시하는 피드백 명령을 전송한다.The transmission unit (128) multiplies the characteristic matrix and the authentication matrix by each other to generate an operation matrix, and then transmits the operation matrix and the concatenated data to the first electronic terminal (100), while transmitting a feedback command instructing the first electronic terminal (100) to generate and feed back data identical to the random data from the operation matrix and the concatenated data.
이때, 본 발명의 일실시예에 따르면, 제1 전자 단말(100)은 메타버스 서비스 서버(110)로부터, 상기 연산 행렬과 상기 연접 데이터가 수신됨과 동시에, 상기 피드백 명령이 수신되면, 상기 연산 행렬과 상기 연접 데이터로부터 상기 랜덤 데이터와 동일한 데이터를 생성하여 메타버스 서비스 서버(110)로 피드백할 수 있다.At this time, according to one embodiment of the present invention, when the first electronic terminal (100) receives the operation matrix and the concatenated data from the metaverse service server (110) and at the same time the feedback command is received, the first electronic terminal (100) can generate data identical to the random data from the operation matrix and the concatenated data and feed it back to the metaverse service server (110).
구체적으로, 제1 전자 단말(100)은 상기 연산 행렬에 대해, 제1 전자 단말(100)에 사전 저장되어 있는 상기 인증 행렬에 대한 역행렬을 행렬곱함으로써, 상기 특성 행렬을 산출할 수 있다. 관련해서, 상기 연산 행렬은 상기 특성 행렬과 상기 인증 행렬이 행렬곱되어 생성된 행렬이므로, 제1 전자 단말(100)은 상기 연산 행렬에, 상기 인증 행렬에 대한 역행렬을 행렬곱함으로써, 상기 특성 행렬을 산출할 수 있다.Specifically, the first electronic terminal (100) can calculate the characteristic matrix by matrix-multiplying the operation matrix by the inverse matrix of the authentication matrix pre-stored in the first electronic terminal (100). In this regard, since the operation matrix is a matrix generated by matrix-multiplying the characteristic matrix and the authentication matrix, the first electronic terminal (100) can calculate the characteristic matrix by matrix-multiplying the operation matrix by the inverse matrix of the authentication matrix.
그러고 나서, 제1 전자 단말(100)은 제1 전자 단말(100)에 사전 저장되어 있는 상기 숫자 테이블을 참조하여, 상기 특성 행렬을 구성하는 n개의 행벡터들 각각과 동일한 특성 벡터에 대응되는 숫자를 순차적으로 추출하여 연접함으로써, n자릿수의 상기 일련번호를 생성할 수 있다.Then, the first electronic terminal (100) can generate the n-digit serial number by sequentially extracting and concatenating numbers corresponding to the same characteristic vector as each of the n row vectors constituting the characteristic matrix by referring to the number table pre-stored in the first electronic terminal (100).
관련해서, 전술한 예와 같이, 상기 특성 행렬이 ''라고 하는 경우, 제1 전자 단말(100)은 상기 표 4와 같은 숫자 테이블을 참조하여, 상기 특성 행렬을 구성하는 3개의 행벡터들 각각과 동일한 특성 벡터에 대응되는 숫자인 '2', '1', '3'을 순차적으로 추출하여 연접함으로써, 3자릿수의 '213'이라는 일련번호를 생성할 수 있다.In relation to this, as in the example above, the characteristic matrix is ' ' In this case, the first electronic terminal (100) can sequentially extract and concatenate the numbers '2', '1', and '3' corresponding to the same characteristic vector as each of the three row vectors constituting the characteristic matrix by referring to the number table as in Table 4, thereby generating a three-digit serial number '213'.
이렇게, 상기 일련번호가 생성되면, 제1 전자 단말(100)은 상기 연접 데이터를 구성하는 데이터열을 n개로 분할함으로써, n개의 제2 분할 데이터들을 생성하고, 상기 n개의 제2 분할 데이터들 각각에 대해 상기 일련번호 구성하는 각 자리의 숫자를 순차적으로 할당한 후, 상기 n개의 제2 분할 데이터들 각각에 할당된 숫자에 대해 오름차순으로 상기 n개의 제2 분할 데이터들을 재배치하여 연접함으로써, 피드백용 데이터를 생성하여 메타버스 서비스 서버(110)로 전송할 수 있다.In this way, when the above serial number is generated, the first electronic terminal (100) generates n second divided data by dividing the data string constituting the above concatenated data into n pieces, and sequentially assigns a number of each digit constituting the serial number to each of the n second divided data, and then rearranges and concatenates the n second divided data in ascending order for the numbers assigned to each of the n second divided data, thereby generating data for feedback and transmitting it to the metaverse service server (110).
관련해서, 전술한 예와 같이, 상기 연접 데이터가 'BAC'라고 하는 경우, 제1 전자 단말(100)은 상기 연접 데이터를 구성하는 데이터열을 3개로 분할함으로써, 3개의 제2 분할 데이터들로 'B', 'A', 'C'를 생성할 수 있다.In relation to this, as in the example described above, if the above-mentioned concatenated data is called 'BAC', the first electronic terminal (100) can generate 'B', 'A', and 'C' as three second divided data by dividing the data string constituting the above-mentioned concatenated data into three.
그러고 나서, 제1 전자 단말(100)은 상기 제2 분할 데이터들 각각에 대해 상기 일련번호인 '213'을 구성하는 각 자리의 숫자를 순차적으로 할당함으로써, 'B'에 '2'를, 'A'에 '1'을, 'C'에 '3'을 할당할 수 있다.Then, the first electronic terminal (100) can sequentially assign a number to each digit of the serial number '213' to each of the second segmented data, thereby assigning '2' to 'B', '1' to 'A', and '3' to 'C'.
그 이후, 제1 전자 단말(100)은 상기 제2 분할 데이터들 각각에 할당된 숫자에 대해 오름차순인 '1', '2', '3'의 순서로, 상기 제2 분할 데이터들을 'A', 'B', 'C'의 형태로 재배치하여 연접함으로써, 'ABC'라고 하는 피드백 데이터를 생성할 수 있다. 이러한 피드백 데이터인 'ABC'는, 데이터 분할부(125)가 상기 랜덤 데이터를 분할하여 생성한 상기 제1 분할 데이터들인 'A', 'B', 'C'를 순차적으로 연접한 데이터와 동일한 데이터로서, 결국, 상기 피드백 데이터는 상기 랜덤 데이터와 동일한 데이터가 될 수 있다.Thereafter, the first electronic terminal (100) can generate feedback data called 'ABC' by rearranging and concatenating the second segmented data in the form of 'A', 'B', 'C' in ascending order of the numbers assigned to each of the second segmented data, '1', '2', '3'. This feedback data, 'ABC', is the same data as the data obtained by sequentially concatenating the first segmented data, 'A', 'B', 'C', which are generated by dividing the random data by the data segmentation unit (125), and thus, the feedback data can be the same data as the random data.
이렇게, 제1 전자 단말(100)로부터, 상기 피드백 명령에 대응하여, 상기 랜덤 데이터와 동일한 데이터가 생성되어 메타버스 서비스 서버(110)에 피드백되는 경우, 활성화 처리부(129)는 상기 제1 회원에 대한 사용자 인증이 완료된 것으로 처리한 후, 상기 제1 회원의 계정에 따른 메타버스 환경 상에서 상기 제1 3D 아바타가 활성화되도록 처리한다.In this way, when data identical to the random data is generated and fed back to the metaverse service server (110) in response to the feedback command from the first electronic terminal (100), the activation processing unit (129) processes that the user authentication for the first member is completed, and then processes the first 3D avatar to be activated in the metaverse environment according to the account of the first member.
본 발명의 일실시예에 따르면, 메타버스 서비스 서버(110)는 저장 요청부(130), NFT 생성부(131) 및 등록 처리부(132)를 더 포함할 수 있다.According to one embodiment of the present invention, the metaverse service server (110) may further include a storage request unit (130), an NFT generation unit (131), and a registration processing unit (132).
저장 요청부(130)는 제1 전자 단말(100)로부터, 상기 제1 3D 아바타에 대한 NFT(Non-Fungible Token)의 생성 요청 명령이 수신되면, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버(20)로, 상기 제1 3D 아바타에 대한 모델링 데이터를 전송하면서, 상기 제1 3D 아바타에 대한 모델링 데이터를 저장할 것을 요청한다.When a request command for generating an NFT (Non-Fungible Token) for the first 3D avatar is received from the first electronic terminal (100), the storage request unit (130) transmits modeling data for the first 3D avatar to a cloud storage server (20) preset for data storage, and requests that the modeling data for the first 3D avatar be stored.
이때, 클라우드 스토리지 서버(20)는 메타버스 서비스 서버(110)로부터 상기 제1 3D 아바타에 대한 모델링 데이터와 저장 요청이 수신되면, 클라우드 스토리지 서버(20) 상에 상기 제1 3D 아바타에 대한 모델링 데이터를 저장한 후, 상기 제1 3D 아바타에 대한 모델링 데이터가 저장된 제1 저장 경로에 대한 정보를 생성하여 메타버스 서비스 서버(110)로 전송할 수 있다.At this time, when the cloud storage server (20) receives a request for storing modeling data for the first 3D avatar from the metaverse service server (110), the cloud storage server (20) stores the modeling data for the first 3D avatar on the cloud storage server (20), and then generates information on the first storage path where the modeling data for the first 3D avatar is stored and transmits it to the metaverse service server (110).
NFT 생성부(131)는 클라우드 스토리지 서버(20)에서 상기 제1 3D 아바타에 대한 모델링 데이터가 저장됨에 따라, 클라우드 스토리지 서버(20)로부터 상기 제1 3D 아바타에 대한 모델링 데이터가 저장된 상기 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 회원이 상기 제1 3D 아바타에 대한 소유자임을 지시하는 소유자 정보가 포함된 제1 NFT를 생성한다.When the NFT generation unit (131) receives information about the first storage path where the modeling data for the first 3D avatar is stored from the cloud storage server (20), as the modeling data for the first 3D avatar is stored in the cloud storage server (20), it generates a first NFT including information about the first storage path and owner information indicating that the first member is the owner of the first 3D avatar.
등록 처리부(132)는 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크(10)에 상기 제1 NFT를 등록 처리한다.When the first NFT is created, the registration processing unit (132) registers the first NFT to a preset blockchain network (10) for registration of the NFT.
이때, 본 발명의 일실시예에 따르면, 등록 처리부(132)는 블록체인 네트워크(10)에 상기 제1 NFT를 등록 처리하기 위해, 상기 제1 NFT가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 전파할 수 있다. 그러면, 블록체인 네트워크(10)를 구성하고 있는 복수의 노드들(11, 12, 13, 14, 15, 16) 중 어느 하나의 노드가 상기 트랜잭션이 포함된 블록을 생성하여, 복수의 노드들(11, 12, 13, 14, 15, 16)로 전파할 수 있다. 이에 따라, 복수의 노드들(11, 12, 13, 14, 15, 16)에 상기 블록이 수신되면, 복수의 노드들(11, 12, 13, 14, 15, 16)은 각 노드에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 NFT를 공유할 수 있다.At this time, according to one embodiment of the present invention, the registration processing unit (132) may generate a transaction including the first NFT and then propagate the transaction to the blockchain network (10) in order to register the first NFT in the blockchain network (10). Then, any one of the plurality of nodes (11, 12, 13, 14, 15, 16) constituting the blockchain network (10) may generate a block including the transaction and propagate it to the plurality of nodes (11, 12, 13, 14, 15, 16). Accordingly, when the block is received by multiple nodes (11, 12, 13, 14, 15, 16), the multiple nodes (11, 12, 13, 14, 15, 16) can share the first NFT by chaining the block to the blockchain data based on the previous block chained to the blockchain data stored in each node.
이렇게, 본 발명에 따른 메타버스 서비스 서버(110)는 회원이 자신의 아바타에 대한 소유권 정보가 포함된 NFT를 발행할 수 있도록 함으로써, 각 회원이 NFT를, 자신의 아바타에 대한 소유권 증빙에 사용할 수 있도록 지원할 수 있고, 각 회원이 NFT를 이용하여 자신의 아바타를 다른 사람에게 판매하는 것이 가능하도록 지원할 수 있다.In this way, the metaverse service server (110) according to the present invention can support each member to use the NFT as proof of ownership of his/her avatar by allowing the member to issue an NFT containing ownership information for his/her avatar, and can support each member to sell his/her avatar to another person using the NFT.
도 2는 본 발명의 일실시예에 따른 메타버스에서 사용 가능한 3D 아바타를 사용자 맞춤형으로 추천해주는 메타버스 서비스를 제공하기 위한 메타버스 서비스 서버의 동작 방법을 도시한 순서도이다.FIG. 2 is a flowchart illustrating an operation method of a metaverse service server for providing a metaverse service that recommends a 3D avatar that can be used in the metaverse in a user-customized manner according to one embodiment of the present invention.
단계(S210)에서는 3D 아바타의 얼굴을 생성하기 위한, 사전 제작된 복수의 3D 얼굴 모델링 데이터들이 저장되어 있는 얼굴 모델링 저장부를 유지한다.In step (S210), a face modeling storage unit is maintained in which a plurality of pre-made 3D face modeling data are stored for creating a face of a 3D avatar.
단계(S220)에서는 상기 3D 아바타에서 얼굴을 제외한 바디를 생성하기 위한, 사전 제작된 복수의 3D 바디 모델링 데이터들이 저장되어 있는 바디 모델링 저장부를 유지한다.In step (S220), a body modeling storage unit is maintained in which a plurality of pre-made 3D body modeling data are stored for creating a body excluding the face from the 3D avatar.
단계(S230)에서는 상기 메타버스 서비스에 가입된 복수의 회원들 중 제1 회원의 제1 전자 단말로부터, 메타버스 환경에서 사용하기 위한 아바타의 추천 생성 명령이 수신되면, 상기 제1 전자 단말로, 상기 제1 회원의 얼굴을 촬영한 얼굴 이미지와, 상기 제1 회원의 신장 및 몸무게에 대한 정보를 전송할 것을 요청하는 내용이 포함된 안내 메시지를 전송한다.In step (S230), when a command to create a recommendation for an avatar for use in a metaverse environment is received from a first electronic terminal of a first member among multiple members subscribed to the metaverse service, a guidance message including a request to transmit a facial image of the first member's face and information about the first member's height and weight is transmitted to the first electronic terminal.
단계(S240)에서는 상기 제1 전자 단말로부터, 상기 안내 메시지에 대한 응답으로, 제1 얼굴 이미지와, 제1 신장 및 제1 몸무게에 대한 정보가 수신되면, 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 얼굴 이미지에 매칭되는 제1 3D 얼굴 모델링 데이터를 추출하고, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 신장 및 상기 제1 몸무게에 매칭되는 제1 3D 바디 모델링 데이터를 추출한다.In step (S240), when a first face image and information on a first height and a first weight are received from the first electronic terminal in response to the guidance message, first 3D face modeling data matching the first face image is extracted from among the plurality of 3D face modeling data, and first 3D body modeling data matching the first height and the first weight is extracted from among the plurality of 3D body modeling data.
단계(S250)에서는 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터가 추출되면, 상기 제1 3D 얼굴 모델링 데이터와 상기 제1 3D 바디 모델링 데이터를 조합하여 제1 3D 아바타에 대한 모델링 데이터를 생성한다.In step (S250), when the first 3D face modeling data and the first 3D body modeling data are extracted, the first 3D face modeling data and the first 3D body modeling data are combined to generate modeling data for the first 3D avatar.
단계(S260)에서는 상기 제1 3D 아바타에 대한 모델링 데이터를 기초로 상기 제1 3D 아바타에 대한 렌더링 이미지를 생성하여 상기 제1 전자 단말로 전송함과 동시에, 상기 제1 3D 아바타가 상기 제1 회원에 대한 추천 아바타임을 안내하는 내용이 포함된 추천 메시지를 상기 제1 전자 단말로 전송한다.In step (S260), a rendering image of the first 3D avatar is generated based on modeling data for the first 3D avatar and transmitted to the first electronic terminal, and at the same time, a recommendation message including information indicating that the first 3D avatar is a recommended avatar for the first member is transmitted to the first electronic terminal.
이때, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 복수의 3D 얼굴 모델링 데이터들 각각에 대응되는 사전 설정된 k(k는 2이상의 자연수임)차원의 임베딩 벡터가 저장되어 있는 임베딩 벡터 저장부를 유지하는 단계, 상기 복수의 3D 바디 모델링 데이터들 각각에 대응되는 신장 및 몸무게에 대한 정보가 저장되어 있는 바디 정보 저장부를 유지하는 단계, 상기 제1 전자 단말로부터, 상기 제1 얼굴 이미지와, 상기 제1 신장 및 상기 제1 몸무게에 대한 정보가 수신되면, 사전 기계학습이 완료된 합성곱 신경망(상기 합성곱 신경망은, 복수의 훈련용 얼굴 이미지들과 각 훈련용 얼굴 이미지에 매칭되는 것으로 지정된 3D 얼굴 모델링 데이터로 구성되어 있는 훈련 세트를 기초로 사전 기계학습된, k차원의 출력 벡터를 산출하는 신경망으로써, 상기 합성곱 신경망에 대한 기계학습은, 상기 복수의 훈련용 얼굴 이미지들 중 어느 하나인 제1 훈련용 얼굴 이미지를 상기 합성곱 신경망에 입력으로 인가하였을 때 산출되는 출력 벡터가, 상기 복수의 3D 얼굴 모델링 데이터들 각각에 대한 임베딩 벡터 중에서, 상기 제1 훈련용 얼굴 이미지에 매칭된 3D 얼굴 모델링 데이터에 대한 임베딩 벡터에 최대로 유사한 벡터가 되도록 역전파 처리가 수행됨으로써, 진행됨)에 상기 제1 얼굴 이미지를 입력으로 인가하여, k차원의 제1 출력 벡터를 산출한 후, 상기 복수의 3D 얼굴 모델링 데이터들 중 상기 제1 출력 벡터와의 벡터 유사도가 최대로 산출되는 임베딩 벡터를 갖는 3D 얼굴 모델링 데이터를 상기 제1 3D 얼굴 모델링 데이터로 추출하는 단계 및 상기 복수의 3D 바디 모델링 데이터들 각각에 대해, 각 3D 바디 모델링 데이터에 대응되는 신장 및 몸무게를 성분으로 갖는 2차원의 바디 특징 벡터를 생성함으로써, 상기 복수의 3D 바디 모델링 데이터들 각각에 대응되는 바디 특징 벡터를 생성하고, 상기 제1 신장 및 상기 제1 몸무게를 성분으로 갖는 2차원의 제1 바디 특징 벡터를 생성한 후, 상기 복수의 3D 바디 모델링 데이터들 중 상기 제1 바디 특징 벡터와의 벡터 유사도가 최대로 산출되는 바디 특징 벡터를 갖는 3D 바디 모델링 데이터를 상기 제1 3D 바디 모델링 데이터로 추출하는 단계를 더 포함할 수 있다.At this time, according to one embodiment of the present invention, in step (S240), a step of maintaining an embedding vector storage unit storing a preset k-dimensional (k is a natural number greater than or equal to 2)-dimensional embedding vector corresponding to each of the plurality of 3D face modeling data is provided; a step of maintaining a body information storage unit storing information on height and weight corresponding to each of the plurality of 3D body modeling data is provided; when the first face image and the information on the first height and the first weight are received from the first electronic terminal, a convolutional neural network for which pre-machine learning has been completed (the convolutional neural network is a neural network that is pre-machine learned and produces a k-dimensional output vector based on a training set consisting of a plurality of training face images and 3D face modeling data designated to match each training face image), and the machine learning for the convolutional neural network is performed such that when one of the plurality of training face images, the first training face image, is input to the convolutional neural network, an output vector produced is a vector that is a vector of the plurality of 3D face modeling data. A step of applying the first face image as an input to the step of performing backpropagation processing so that, among the embedding vectors for each, a vector that is maximally similar to the embedding vector for the 3D face modeling data matched to the first training face image is maximally similar, and then extracting, as the first 3D face modeling data, the 3D face modeling data having the embedding vector that maximizes the vector similarity with the first output vector among the plurality of 3D face modeling data, and generating, for each of the plurality of 3D body modeling data, a two-dimensional body feature vector having height and weight corresponding to each 3D body modeling data as components, thereby generating a body feature vector corresponding to each of the plurality of 3D body modeling data, and then generating a two-dimensional first body feature vector having the first height and the first weight as components, and then extracting, from the plurality of 3D body modeling data, the 3D body modeling data having the body feature vector that maximizes the vector similarity with the first body feature vector among the plurality of 3D body modeling data. It may further include a step of extracting the first 3D body modeling data.
또한, 본 발명의 일실시예에 따르면, 상기 메타버스 서비스 서버의 동작 방법은 상기 제1 전자 단말에 상기 제1 3D 아바타에 대한 렌더링 이미지와 상기 추천 메시지가 전송된 이후, 상기 제1 전자 단말로부터, 상기 제1 3D 아바타를, 상기 제1 회원의 계정에 따른 메타버스 환경에서 사용하기 위한 정식 아바타로 지정할 것을 요청하는 지정 명령이 수신되면, 상기 제1 회원에 대한 사용자 인증을 진행한 후 상기 제1 회원의 계정에 따른 메타버스 환경 상에서 상기 제1 3D 아바타가 활성화되도록 처리하는 단계를 더 포함할 수 있다.In addition, according to one embodiment of the present invention, the operating method of the metaverse service server may further include a step of, after the rendering image of the first 3D avatar and the recommendation message are transmitted to the first electronic terminal, receiving a designation command from the first electronic terminal requesting to designate the first 3D avatar as an official avatar to be used in a metaverse environment according to the account of the first member, performing user authentication on the first member and then processing the first 3D avatar to be activated in the metaverse environment according to the account of the first member.
이때, 본 발명의 일실시예에 따르면, 상기 활성화되도록 처리하는 단계는 상기 복수의 회원들의 전자 단말과 사전 공유하고 있는, 사전 설정된 숫자 테이블(상기 숫자 테이블은, 9이하의 크기를 갖는 자연수로 구성된 사전 설정된 n(n은 2이상의 자연수임)개의 서로 다른 숫자들과 상기 n개의 숫자들 각각에 대응되는 사전 설정된 n차원의 특성 벡터가 기록된 테이블임)이 저장되어 있는 숫자 테이블 저장부를 유지하는 단계, 상기 복수 회원들의 전자 단말과 사전 공유하고 있는, n x n 크기의 사전 설정된 인증 행렬(상기 인증 행렬은 역행렬이 존재하는 행렬임)이 저장되어 있는 인증 행렬 저장부를 유지하는 단계, 상기 제1 전자 단말로부터 상기 지정 명령이 수신되면, 상기 제1 회원에 대한 사용자 인증을 진행하기 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, 사전 설정된 크기를 갖는 랜덤 데이터를 생성하고, 상기 랜덤 데이터를 구성하는 데이터열을 n개로 분할함으로써, n개의 제1 분할 데이터들을 생성한 후, 상기 n개의 제1 분할 데이터들 각각에 대해 상기 n개의 숫자들을 오름차순으로 할당하는 단계, 상기 n개의 제1 분할 데이터들을 랜덤한 순서로 재배치하여 연접함으로써, 연접 데이터를 생성하고, 상기 연접 데이터 상에서의 상기 n개의 제1 분할 데이터들이 연접된 순서와 동일 순서로, 각 분할 데이터에 할당된 숫자를 연접함으로써, n자릿수의 일련번호 생성하는 단계, 상기 숫자 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 특성 벡터를 순차적으로 행백터로 배치함으로써, n x n 크기의 특성 행렬을 생성하는 단계, 상기 특성 행렬과 상기 인증 행렬을 서로 행렬곱하여 연산 행렬을 생성한 후, 상기 연산 행렬과 상기 연접 데이터를 상기 제1 전자 단말로 전송하면서, 상기 제1 전자 단말에 대해, 상기 연산 행렬과 상기 연접 데이터로부터 상기 랜덤 데이터와 동일한 데이터를 생성하여 피드백할 것을 지시하는 피드백 명령을 전송하는 단계 및 상기 제1 전자 단말로부터, 상기 피드백 명령에 대응하여, 상기 랜덤 데이터와 동일한 데이터가 생성되어 피드백되는 경우, 상기 제1 회원에 대한 사용자 인증이 완료된 것으로 처리한 후, 상기 제1 회원의 계정에 따른 메타버스 환경 상에서 상기 제1 3D 아바타가 활성화되도록 처리하는 단계를 더 포함할 수 있다.At this time, according to one embodiment of the present invention, the step of processing to be activated comprises: a step of maintaining a number table storage unit in which a preset number table (the number table is a table in which preset n (n is a natural number greater than or equal to 2) different numbers composed of natural numbers having a size of 9 or less and preset n-dimensional feature vectors corresponding to each of the n numbers) is stored, which is shared in advance with the electronic terminals of the plurality of members; a step of maintaining an authentication matrix storage unit in which a preset authentication matrix of n x n size (the authentication matrix is a matrix having an inverse matrix) is stored, which is shared in advance with the electronic terminals of the plurality of members; a step of generating an authentication event for performing user authentication for the first member when the designation command is received from the first electronic terminal; a step of generating random data having a preset size when the authentication event occurs, and dividing a data string constituting the random data into n pieces to generate n first division data, and then allocating the n numbers in ascending order to each of the n first division data; a step of generating the n first division data The method may further include: a step of generating a concatenated data by rearranging data in a random order and concatenating them, and generating an n-digit serial number by concatenating numbers assigned to each segmented data in the same order as the order in which the n first segmented data are concatenated on the concatenated data; a step of generating a characteristic matrix of n x n size by sequentially arranging characteristic vectors corresponding to each digit of the serial number in a row vector with reference to the number table; a step of multiplying the characteristic matrix and the authentication matrix by each other to generate an operation matrix, and then transmitting the operation matrix and the concatenated data to the first electronic terminal, while transmitting a feedback command instructing the first electronic terminal to generate and feed back data identical to the random data from the operation matrix and the concatenated data; and a step of processing the first 3D avatar to be activated in the metaverse environment according to the account of the first member when data identical to the random data is generated and fed back in response to the feedback command from the first electronic terminal, after processing that the user authentication of the first member is completed. there is.
이때, 상기 제1 전자 단말은 상기 메타버스 서비스 서버로부터, 상기 연산 행렬과 상기 연접 데이터가 수신됨과 동시에, 상기 피드백 명령이 수신되면, 상기 연산 행렬에 대해, 상기 제1 전자 단말에 사전 저장되어 있는 상기 인증 행렬에 대한 역행렬을 행렬곱함으로써, 상기 특성 행렬을 산출하고, 상기 제1 전자 단말에 사전 저장되어 있는 상기 숫자 테이블을 참조하여, 상기 특성 행렬을 구성하는 n개의 행벡터들 각각과 동일한 특성 벡터에 대응되는 숫자를 순차적으로 추출하여 연접함으로써, n자릿수의 상기 일련번호를 생성한 후, 상기 연접 데이터를 구성하는 데이터열을 n개로 분할함으로써, n개의 제2 분할 데이터들을 생성하고, 상기 n개의 제2 분할 데이터들 각각에 대해 상기 일련번호 구성하는 각 자리의 숫자를 순차적으로 할당한 후, 상기 n개의 제2 분할 데이터들 각각에 할당된 숫자에 대해 오름차순으로 상기 n개의 제2 분할 데이터들을 재배치하여 연접함으로써, 피드백용 데이터를 생성하여 상기 메타버스 서비스 서버로 전송할 수 있다.At this time, when the first electronic terminal receives the operation matrix and the concatenated data from the metaverse service server and the feedback command is received at the same time, the first electronic terminal calculates the characteristic matrix by multiplying the inverse matrix of the authentication matrix pre-stored in the first electronic terminal by the operation matrix, and by sequentially extracting numbers corresponding to the same characteristic vector as each of n row vectors constituting the characteristic matrix and concatenating them with reference to the number table pre-stored in the first electronic terminal, thereby generating the n-digit serial number, and then dividing the data column constituting the concatenated data into n pieces to generate n second segmented data, and then sequentially assigning the numbers of each digit constituting the serial number to each of the n second segmented data, and then rearranging and concatenating the n second segmented data in ascending order with respect to the numbers assigned to each of the n second segmented data, thereby generating data for feedback and transmitting it to the metaverse service server.
또한, 본 발명의 일실시예에 따르면, 상기 메타버스 서비스 서버의 동작 방법은 상기 제1 전자 단말로부터, 상기 제1 3D 아바타에 대한 NFT의 생성 요청 명령이 수신되면, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버로, 상기 제1 3D 아바타에 대한 모델링 데이터를 전송하면서, 상기 제1 3D 아바타에 대한 모델링 데이터를 저장할 것을 요청하는 단계, 상기 클라우드 스토리지 서버에서 상기 제1 3D 아바타에 대한 모델링 데이터가 저장됨에 따라, 상기 클라우드 스토리지 서버로부터 상기 제1 3D 아바타에 대한 모델링 데이터가 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 회원이 상기 제1 3D 아바타에 대한 소유자임을 지시하는 소유자 정보가 포함된 제1 NFT를 생성하는 단계 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리하는 단계를 더 포함할 수 있다.In addition, according to one embodiment of the present invention, the operating method of the metaverse service server may further include, when a command to request the creation of an NFT for the first 3D avatar is received from the first electronic terminal, a step of requesting storage of the modeling data for the first 3D avatar while transmitting the modeling data for the first 3D avatar to a cloud storage server preset for data storage, and requesting storage of the modeling data for the first 3D avatar; when information on a first storage path where the modeling data for the first 3D avatar is stored is received from the cloud storage server as the modeling data for the first 3D avatar is stored in the cloud storage server, a step of generating a first NFT including information on the first storage path and owner information indicating that the first member is the owner of the first 3D avatar; and, when the first NFT is generated, a step of registering the first NFT in a blockchain network preset for registration of the NFT.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 메타버스 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 메타버스 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 메타버스 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Above, the operation method of the metaverse service server according to one embodiment of the present invention has been described with reference to FIG. 2. Here, the operation method of the metaverse service server according to one embodiment of the present invention can correspond to the configuration for the operation of the metaverse service server (110) described using FIG. 1, and therefore, a more detailed description thereof will be omitted.
본 발명의 일실시예에 따른 메타버스 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The operating method of the metaverse service server according to one embodiment of the present invention can be implemented as a computer program stored in a storage medium for execution through combination with a computer.
또한, 본 발명의 일실시예에 따른 메타버스 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.In addition, the operating method of the metaverse service server according to one embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination. The program commands recorded on the medium may be those specially designed and configured for the present invention or may be those known to and usable by those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, and flash memories. Examples of the program commands include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.Although the present invention has been described with specific details such as specific components and limited examples and drawings, these have been provided only to help a more general understanding of the present invention, and the present invention is not limited to the above examples, and those with common knowledge in the field to which the present invention pertains can make various modifications and variations from this description.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the idea of the present invention should not be limited to the described embodiments, and all things that are equivalent or equivalent to the claims described below as well as the claims are included in the scope of the idea of the present invention.
110: 메타버스 서비스 서버
111: 얼굴 모델링 저장부112: 바디 모델링 저장부
113: 메시지 전송부114: 데이터 추출부
115: 아바타 생성부116: 이미지 전송부
117: 임베딩 벡터 저장부118: 바디 정보 저장부
119: 얼굴 모델링 추출부120: 바디 모델링 추출부
121: 활성화부122: 숫자 테이블 저장부
123: 인증 행렬 저장부124: 이벤트 발생부
125: 데이터 분할부126: 일련번호 생성부
127: 특성 행렬 생성부128: 전송부
129: 활성화 처리부130: 저장 요청부
131: NFT 생성부132: 등록 처리부
100: 제1 전자 단말
10: 블록체인 네트워크
20: 클라우드 스토리지 서버110: Metaverse Service Server
111: Face Modeling Storage 112: Body Modeling Storage
113: Message transmission section 114: Data extraction section
115: Avatar creation section 116: Image transmission section
117: Embedding vector storage 118: Body information storage
119: Face modeling extraction part 120: Body modeling extraction part
121: Activation section 122: Number table storage section
123: Authentication matrix storage unit 124: Event generation unit
125: Data partitioning section 126: Serial number generation section
127: Feature matrix generation unit 128: Transmission unit
129: Activation Processing Unit 130: Storage Request Unit
131: NFT creation unit 132: Registration processing unit
100: First electronic terminal
10: Blockchain Network
20: Cloud storage server
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20210144248 | 2021-10-27 | ||
| KR1020210144248 | 2021-10-27 |
| Publication Number | Publication Date |
|---|---|
| KR20230060432A KR20230060432A (en) | 2023-05-04 |
| KR102738198B1true KR102738198B1 (en) | 2024-12-04 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020220049282AActiveKR102738198B1 (en) | 2021-10-27 | 2022-04-21 | Metaverse service server to provide a metaverse service that recommends 3d avatars that can be used on the metaverse in a customized way and the operating method thereof |
| Country | Link |
|---|---|
| KR (1) | KR102738198B1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102864549B1 (en) | 2023-04-06 | 2025-09-26 | 주민영 | System for providing service for generating 3d character sample for one source multi use |
| KR102638782B1 (en)* | 2023-05-16 | 2024-02-20 | 주식회사 젭 | Method and system for displaying non-fungible token avatar in metaverse |
| KR20250067033A (en) | 2023-11-07 | 2025-05-14 | 주민영 | System for producting 3d animation using the avatar service of the metaverse platform |
| KR20250076375A (en) | 2023-11-22 | 2025-05-29 | 주민영 | System for greating metaverse character and 3d animation character for one source multi use |
| KR102678148B1 (en)* | 2023-12-28 | 2024-06-26 | 주식회사 지에이치스튜디오 | Method and apparatus for generating storyboards for video production using artificial intelligence |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102317223B1 (en)* | 2021-08-31 | 2021-10-26 | 주식회사 에스에이엠지엔터테인먼트 | System and method for implementing metaverse using biometric data |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010114196A (en)* | 2001-11-30 | 2001-12-29 | 오광호 | Avatar fabrication system and method by online |
| KR20180097914A (en)* | 2017-02-24 | 2018-09-03 | 트라이큐빅스 인크. | Method and syste for creating three dimension contents |
| CN114096977A (en)* | 2018-11-02 | 2022-02-25 | 维罗纳控股经济特区公司 | Tokenized Platform |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102317223B1 (en)* | 2021-08-31 | 2021-10-26 | 주식회사 에스에이엠지엔터테인먼트 | System and method for implementing metaverse using biometric data |
| Publication number | Publication date |
|---|---|
| KR20230060432A (en) | 2023-05-04 |
| Publication | Publication Date | Title |
|---|---|---|
| KR102738198B1 (en) | Metaverse service server to provide a metaverse service that recommends 3d avatars that can be used on the metaverse in a customized way and the operating method thereof | |
| CN113287118B (en) | System and method for facial reproduction | |
| US20220108358A1 (en) | Providing personalized recommendations of game items | |
| CN115359219B (en) | Virtual world virtual image processing method and device | |
| US10217224B2 (en) | Method and system for sharing-oriented personalized route planning via a customizable multimedia approach | |
| CN113096001A (en) | Image processing method, electronic device and readable storage medium | |
| KR20210102698A (en) | Method, system, and computer program for providing communication using video call bot | |
| CN111729314A (en) | Virtual character face pinching processing method and device and readable storage medium | |
| CN110288703A (en) | Image processing method, device, equipment and storage medium | |
| CN106457672A (en) | Color Processing System And Method For Three-Dimensional Object | |
| KR102739967B1 (en) | Metaverse service operation server to operate the metaverse service that can create its own 3d avatar matching the protagonist of the movie selected by the user in the metaverse environment and the operating method thereof | |
| WO2025044276A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
| US20250037095A1 (en) | Electronic device and method for trading content | |
| KR102739969B1 (en) | Metaverse service operation server to operate the metaverse service that can provide the metaverse environment with a virtual stadium background matching the match scene to a user based on the shooting image of which match scene is photographed and the operating method thereof | |
| KR20230036386A (en) | Service managing server for managing metaverse service, which provides metaverse environment using avatar, and the operating method thereof | |
| JP2009151608A (en) | Image formation method and image display method | |
| KR102508523B1 (en) | Metaverse service server to operate the metaverse service that can provide the item matching the real product in the metaverse environment based on the two-dimensional code and the operating method thereof | |
| KR102731585B1 (en) | Metaverse service operation server for operating the metaverse service that can provide a virtual residential environment on the metaverse and the operating method thereof | |
| KR102701275B1 (en) | Metaverse service server for providing metaverse service to provide avatars in a metaverse environment based on digital dna, and the operating method thereof | |
| KR102710310B1 (en) | Electronic apparatus that can personally create the 3d avatar with the costume skin which a user desires applied and the operating method thereof | |
| KR102462657B1 (en) | Used luxury products trading platform service server for managing used luxury products trading platform service, and the operating method thereof | |
| KR20240125772A (en) | Metaverse service providing server to provide the metaverse service that enables the virtual travel experience with family and the operating method thereof | |
| KR102770851B1 (en) | Metaverse service operation server to operate the metaverse service that can create the 3d animal character matching a user's pet in the metaverse environment and the operating method thereof | |
| KR100385896B1 (en) | Method and Apparatus for Providing and Using of 3 Dimensional Image Which Represents the User in Cyber-Space | |
| KR102271983B1 (en) | Virtual currency trading platform server providing customized virtual currency recommendation through machine learning based on customer information and purchase history of virtual currency and operating method thereof |
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| R18-X000 | Changes to party contact information recorded | St.27 status event code:A-3-3-R10-R18-oth-X000 | |
| PN2301 | Change of applicant | St.27 status event code:A-3-3-R10-R13-asn-PN2301 St.27 status event code:A-3-3-R10-R11-asn-PN2301 | |
| R18-X000 | Changes to party contact information recorded | St.27 status event code:A-3-3-R10-R18-oth-X000 | |
| PG1501 | Laying open of application | St.27 status event code:A-1-1-Q10-Q12-nap-PG1501 | |
| D13-X000 | Search requested | St.27 status event code:A-1-2-D10-D13-srh-X000 | |
| P22-X000 | Classification modified | St.27 status event code:A-2-2-P10-P22-nap-X000 | |
| D14-X000 | Search report completed | St.27 status event code:A-1-2-D10-D14-srh-X000 | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | St.27 status event code:A-1-2-D10-D21-exm-PE0902 | |
| PN2301 | Change of applicant | St.27 status event code:A-3-3-R10-R13-asn-PN2301 St.27 status event code:A-3-3-R10-R11-asn-PN2301 | |
| E13-X000 | Pre-grant limitation requested | St.27 status event code:A-2-3-E10-E13-lim-X000 | |
| P11-X000 | Amendment of application requested | St.27 status event code:A-2-2-P10-P11-nap-X000 | |
| P13-X000 | Application amended | St.27 status event code:A-2-2-P10-P13-nap-X000 | |
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | St.27 status event code:A-1-2-D10-D22-exm-PE0701 | |
| PR0701 | Registration of establishment | St.27 status event code:A-2-4-F10-F11-exm-PR0701 | |
| PR1002 | Payment of registration fee | St.27 status event code:A-2-2-U10-U11-oth-PR1002 | |
| PG1601 | Publication of registration | St.27 status event code:A-4-4-Q10-Q13-nap-PG1601 |