WO2025110438A1 - Erp 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치 - Google Patents
Erp 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치 Download PDFInfo
- Publication number
- WO2025110438A1 WO2025110438A1 PCT/KR2024/013621 KR2024013621W WO2025110438A1 WO 2025110438 A1 WO2025110438 A1 WO 2025110438A1 KR 2024013621 W KR2024013621 W KR 2024013621W WO 2025110438 A1 WO2025110438 A1 WO 2025110438A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- normal
- mesh
- generating
- depth
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
Definitions
- the present invention relates to a method for generating a three-dimensional mesh from an ERP image captured using a 360-degree monocular camera and a computing device using the same.
- 360-degree video can refer to video or image content that is captured or played back in all directions (360 degrees) simultaneously.
- 360-degree video can be displayed on a three-dimensional spherical surface.
- 360-degree video can be created by capturing images or videos for each of multiple viewpoints through one or more cameras, connecting the captured multiple images to create a single panoramic image or spherical image, and projecting it onto a 2D picture.
- indoor spaces may include mirrors or glass, but since mirrors or glass included in 360-degree videos cannot be distinguished, shapes appearing on mirrors or glass may be reflected in 3D modeling. In other words, problems such as 3D modeling being created for spaces that do not actually exist may also occur.
- the present invention aims to provide a method for generating a three-dimensional mesh based on an ERP image, which can generate an accurate three-dimensional mesh from an ERP image captured using a 360-degree monocular camera, and a computing device using the same.
- the present invention aims to provide a method for generating a three-dimensional mesh based on an ERP image, which can remove noise or errors on a three-dimensional mesh caused by a mirror or glass included in an ERP image, and a computing device using the same.
- the present invention provides a three-dimensional mesh generation method based on an ERP image, which utilizes a mesh generation model that performs learning by scheduling each hyperparameter, and a computing device that uses the same.
- the present invention provides a method for generating a three-dimensional mesh based on an ERP image, which can remove noise by simplifying a plane within the generated three-dimensional mesh, and a computing device using the same.
- a method for generating a three-dimensional mesh based on an ERP (Equirectangular Project) image using a computing device may include the steps of: generating a plurality of perspective images by converting an ERP image for a target environment; removing a perspective image including a specific material area from among the plurality of perspective images by using an inpainting technique, if the perspective image includes the specific material area; generating a depth map and a normal map corresponding to the ERP image by using the plurality of perspective images; and generating a three-dimensional mesh corresponding to the depth map and the normal map by using a mesh generation model.
- ERP Equirectangular Project
- a computing device for generating a three-dimensional mesh based on an ERP (Equirectangular Project) image includes a processor, wherein the processor may perform the following operations: generating a plurality of perspective images by converting an ERP image for a target environment; removing a perspective image including a specific material area from among the plurality of perspective images by using an inpainting technique, if the perspective image includes the specific material area; generating a depth map and a normal map corresponding to the ERP image by using the plurality of perspective images; and generating a three-dimensional mesh corresponding to the depth map and the normal map by using a mesh generation model.
- the processor may perform the following operations: generating a plurality of perspective images by converting an ERP image for a target environment; removing a perspective image including a specific material area from among the plurality of perspective images by using an inpainting technique, if the perspective image includes the specific material area; generating a depth map and a normal map corresponding to the ERP image by using the plurality of perspective images; and
- noise or errors on a 3D mesh caused by mirrors or glass included in an ERP image can be removed, so it is possible to generate an accurate 3D mesh for a target environment.
- a three-dimensional mesh generation method based on an ERP image since learning can be performed by scheduling each hyperparameter when learning a mesh generation model, it is possible to implement a mesh generation model capable of generating a three-dimensional mesh with high performance without finding optimal hyperparameters.
- a method for generating a 3D mesh based on an ERP image according to one embodiment of the present invention and a computing device using the same, by performing post-processing on the generated 3D mesh, noise within the 3D mesh can be removed and the plane can be simplified, so that a high-quality 3D mesh can be provided.
- Figure 1 is an exemplary diagram showing the generation of an ERP image using a 360-degree monocular camera according to one embodiment of the present invention.
- Figure 2 is a schematic diagram showing a three-dimensional mesh generating device according to one embodiment of the present invention.
- Figure 3 is an exemplary diagram showing an ERP image and a cube map image according to one embodiment of the present invention.
- Figure 4 is an exemplary diagram showing a perspective image and a masking image according to one embodiment of the present invention.
- Figure 5 is a schematic diagram showing inpainting for a masking area according to one embodiment of the present invention.
- Figure 6 is an exemplary diagram showing projection of points located within a set range from a plane onto the plane according to one embodiment of the present invention.
- Figure 7 is a block diagram showing a computing device according to one embodiment of the present invention.
- FIGS. 8 and 9 are flowcharts showing a method for generating a 3D mesh based on an ERP image according to one embodiment of the present invention.
- module and “part” used for components in the following description are given or used interchangeably only for the convenience of writing the specification, and do not have distinct meanings or roles in themselves. That is, the term “part” used in the present invention means a hardware component such as software, FPGA, or ASIC, and the “part” performs certain roles. However, the “part” is not limited to software or hardware. The “part” may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors.
- a 'part' may include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.
- the functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or further separated into additional components and 'parts'.
- Figure 1 is an exemplary diagram showing the creation of an ERP (Equirectangular Projection) image using a 360-degree monocular camera (Omnidirectional Camera) according to one embodiment of the present invention.
- ERP Equirectangular Projection
- Omnidirectional Camera 360-degree monocular camera
- the ERP image may be a photograph taken using a 360-degree monocular camera (1), and depending on the embodiment, an image captured from a video taken using the 360-degree monocular camera (1) may also be utilized as an ERP image. In this case, the 360-degree monocular camera (1) may also generate and provide information about the camera height, etc. when taking the ERP image.
- the target environment (T) to be photographed using a 360-degree monocular camera (1) may be a specific object or space, and in some embodiments, the indoor space of a building may be used as the target environment (T) for use in real estate transactions, etc.
- the 360-degree monocular camera (1) can be configured independently, but depending on the embodiment, it can also be implemented by combining it with various terminal devices such as a smart phone, a tablet PC, a PDA (Personal Digital Assistant), a notebook computer, a wearable device, etc.
- ERP images of the target environment (T) can be created using the 360-degree monocular camera (1) equipped on one's smart phone, etc.
- the user can request the generation of a 3D mesh corresponding to the captured ERP image by transmitting the captured ERP image to the 3D mesh generation device via a wired or wireless network. That is, the user can request the generation of a 3D mesh to the 3D mesh generation device in order to generate a 3D model corresponding to the target environment based on the 3D mesh.
- the user can connect to the network using his/her terminal device and communicate with the 3D mesh generation device through the network. That is, the user can transmit ERP images, etc. taken by a 360-degree monocular camera (1) using the terminal device to the 3D mesh generation device, and the 3D mesh generation device can generate a 3D mesh for the target environment based on the received ERP image. Thereafter, it is also possible to generate a 3D model, etc. for the target environment based on the 3D mesh.
- the communication method between the terminal device and the 3D mesh generation device is not limited, and may include not only a communication method utilizing a communication network that the network may include (for example, a mobile communication network, wired Internet, wireless Internet, broadcasting network, satellite network, etc.), but also short-distance wireless communication between devices, etc.
- the network may include any one or more of a network such as a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), and the Internet.
- PAN personal area network
- LAN local area network
- CAN campus area network
- MAN metropolitan area network
- WAN wide area network
- BBN broadband network
- the network may include any one or more of a network topology including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree, or a hierarchical network.
- a network topology including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree, or a hierarchical network.
- an ERP image is created using a 360-degree monocular camera (1), depending on the embodiment, it is also possible to create an ERP image using a panorama mode of a general camera, etc.
- a three-dimensional modeling of an indoor space is desired to be created from an ERP image captured by a 360-degree monocular camera (1).
- the ERP image is severely distorted compared to a general perspective image, it may be difficult to obtain accurate depth or normal line estimation results using a general depth estimation model based on a perspective image.
- indoor spaces may include mirrors or glass, but since the 3D mesh generator cannot distinguish between mirrors or glass included in the ERP image, it may generate depth maps and normal maps by reflecting shapes that appear on the mirrors or glass. In other words, since depth maps and normal maps are generated for spaces that do not actually exist, problems such as incorrect 3D mesh generation may occur.
- the 3D mesh generation device may further include a mesh generation model for generating a 3D mesh, and the mesh generation model may be trained to generate a 3D mesh using a loss function including depth loss and normal loss corresponding to the difference between the depth map and normal map of the generated 3D mesh and the depth map and normal map of the ERP image.
- the performance of the 3D mesh generated by the mesh generation model may vary depending on each hyperparameter set for the depth loss and normal loss. That is, when training the mesh generation model, the setting of each hyperparameter is important, but there is a problem that it is difficult to set the optimized hyperparameter every time according to the characteristics of each ERP image, etc.
- a three-dimensional mesh generation device can convert an ERP image into a perspective image, generate a depth map and a normal map corresponding to the perspective image, and generate a three-dimensional mesh based on the depth map and normal map.
- the three-dimensional mesh generation device can learn a mesh generation model capable of generating a high-performance three-dimensional mesh without finding an optimal hyperparameter by scheduling each hyperparameter and performing learning.
- Figure 2 is a schematic diagram showing a three-dimensional mesh generating device according to one embodiment of the present invention.
- a 3D mesh generation device (100) may include a receiving unit (110), an image conversion unit (120), a preprocessing unit (130), a depth and normal estimation unit (140), a mesh generation unit (150), and a postprocessing unit (160).
- the receiving unit (110) can receive ERP images through wired or wireless communication networks. That is, the receiving unit (110) can receive ERP images directly from a 360-degree monocular camera (1) that generates ERP images or a user's terminal device, and depending on the embodiment, it is also possible to receive ERP images through a separate server or storage device that stores ERP images generated by the 360-degree monocular camera.
- the image conversion unit (120) can convert an ERP image for a target environment to generate a plurality of perspective images. That is, as illustrated in FIG. 3(a), an ERP image on a spherical domain can be input, and the image conversion unit (120) can convert the ERP image to generate a cubemap image on a corresponding cubemap domain, as illustrated in FIG. 3(b).
- the cubemap image can be generated in a form corresponding to a development diagram of a rectangular solid, and each of the front, back, left side, right side, top side, and bottom side corresponding to the target environment (T) can be displayed in a perspective form.
- the image conversion unit (120) can generate the cubemap image by utilizing various algorithms for converting from an ERP image to a cubemap image. Thereafter, the image conversion unit (120) can divide the six perspective images corresponding to the six faces included in the cube map image into each perspective image to generate a perspective image. That is, six perspective images corresponding to the front, back, left side, right side, top side, and bottom side can be divided and generated, respectively.
- the preprocessing unit (130) can remove the specific material area using the inpainting technique if there is a perspective image including a specific material area among a plurality of perspective images.
- the specific material area includes a surface that is transparent or reflective, and may be a mirror, glass, a metal surface, etc. However, it is not limited thereto, and depending on the embodiment, a user, etc. may define a necessary area as the specific material area and utilize it.
- the preprocessing unit (130) is shown here to remove the specific material area included in the perspective image, depending on the embodiment, the preprocessing unit (130) may remove the specific material area in advance from the ERP image.
- the preprocessing unit (130) can regenerate pixel values of a specific material area using the inpainting technique, and at this time, the preprocessing unit (130) can regenerate the specific material area so that it appears to have the same material as the adjacent area. Since the specific material area reflects or projects light to represent another space inside, it is necessary to remove the characteristics of the specific material area, such as reflecting or projecting light, before estimating a depth map or normal map based on a perspective image. Accordingly, the preprocessing unit (130) can redraw the specific material area with the same material as the adjacent area of the specific material area.
- the preprocessing unit (130) can inpaint the specific material area so that it is recognized as a flat plane.
- the preprocessing unit (130) can receive a masking image including a masking area that masks a specific material area in a perspective image.
- a mirror (A) can be included in the perspective image, and since the space opposite to the mirror (A) can be reflected and appear, it corresponds to a specific material area.
- a masking image including a masking area (M) that masks the mirror (A) can be generated.
- the masking image can be generated within the preprocessing unit (130). That is, the preprocessing unit (130) can recognize a specific material area by applying segmentation or object recognition techniques to each perspective image or ERP image, and automatically mask the recognized specific material area to generate a masking image.
- a masking image by having a worker, etc. visually confirm a specific material area, such as a mirror or glass, included in a perspective image or an ERP image, and masking the specific material area. That is, since it may be difficult to automatically recognize a mirror or glass, etc. included in a perspective image or an ERP image through image processing, etc., it is also possible to request a masking task from a worker, etc., and then receive and process each masking image.
- the preprocessing unit (130) can inpaint the inside of the masking area based on the pixel values of adjacent pixels located within the adjacent area that contacts the masking area. That is, in order to inpaint with the same material as the material of the adjacent area, the pixel values of the adjacent pixels can be checked and inpainting can be performed with the corresponding pixel values.
- the preprocessing unit (130) can extract pixel values of adjacent pixels that are in horizontal contact with the masking area among adjacent pixels, and can reset pixel values within the masking area with an interpolated value generated by interpolating the pixel values.
- an indoor space it can be divided into a ceiling surface, a floor surface, and side surfaces.
- the preprocessing unit (130) can perform inpainting based on the pixel values of adjacent pixels that are in horizontal contact with each specific material area. Through this, it is possible to make it difficult to distinguish the inpainted specific material area from the ceiling surface or the floor surface and from the side surface where the specific material area is located.
- each pixel included in the masking area (M) of Fig. 5(a) may be divided into rows, and inpainting may be performed on each row as a unit. Specifically, for each row included in the masking area (M), each adjacent pixel (a, b) that borders the left and right sides of the row may be specified.
- linear interpolation may be performed on the pixel values of the adjacent pixels (a, b) to generate an interpolation value, and the interpolation value may be reset to the pixel values for all pixels included in the row.
- the masking area (M) can be inpainted by resetting the pixel values of the entire row included within the masking area (M).
- each adjacent pixel (a) included in the left adjacent area can be specified, and the pixel values of all pixels in the row can be reset to the pixel value of the adjacent pixel (a).
- the masking area (M) can be inpainted by resetting the pixel values of all rows included in the masking area (M).
- the pixel value can be reset to a preset single color.
- the depth and normal estimation unit (140) can generate a depth map and a normal map corresponding to the ERP image using a plurality of perspective images.
- the depth and normal estimation unit (140) can include a depth estimation model that generates each depth map and a normal estimation model that generates a normal map.
- the depth and normal estimation unit (140) can generate depth maps corresponding to multiple perspective images using a depth estimation model.
- the depth estimation model is learned to set depth values corresponding to each pixel in the perspective image when the perspective image is input, and can be implemented in various ways such as a deep learning model or a neural network model.
- the depth and normal estimation unit (140) can utilize various types of depth estimation models according to the embodiment, and any model that sets depth values for the input perspective image and generates a depth map corresponding to the perspective image can be used as a depth estimation model.
- the depth and normal estimation unit (140) can generate normal maps corresponding to multiple perspective images using a normal estimation model.
- a normal map is required together with a depth map. Therefore, it is also possible to generate a normal map together with a depth map by further including a normal estimation model.
- the normal estimation model When multiple perspective images are input, the normal estimation model generates a normal map that represents normal information for each plane included in the perspective images, and can be implemented in various ways based on a deep learning model or a neural network model. In other words, anything that can generate a normal map corresponding to the perspective image by setting a normal vector for the input perspective image can be used as a normal estimation model.
- the depth and normal estimation unit (140) may convert each of the depth maps and normal maps into a spherical domain corresponding to the ERP image, thereby generating the ERP depth map and the ERP normal map, respectively. That is, the depth maps and normal maps generated on the cubemap domain may be combined, and converted back into a spherical domain, thereby generating the ERP depth map and the ERP normal map.
- the depth and normal estimation unit (140) may parameterize the depth maps and the normal maps, and update the depth values of the depth maps and the normal vectors of the normal maps, thereby maintaining consistency between the depth maps and the normal maps while ensuring that the scales are matched. Thereafter, the ERP depth map and the ERP normal map may be generated by converting based on the updated depth maps and normal maps.
- the mesh generation unit (150) can generate a three-dimensional mesh corresponding to the depth map and the normal map using the mesh generation model. That is, the mesh generation unit (150) can input a plurality of depth maps and normal maps corresponding to each perspective image into the mesh generation model, and generate a three-dimensional mesh corresponding to the corresponding ERP image. However, depending on the embodiment, it is also possible to input each ERP depth map and ERP normal map into the mesh generation model to generate a three-dimensional mesh.
- the mesh generation model may be one that generates a 3D mesh based on neural rendering such as mono-SDF (Signed Distance Function).
- the mesh generation model may be one that is generated by learning based on a loss function that includes depth loss and normal loss, which are differences between a depth map and a normal map in the generated 3D mesh and a depth map and a normal map generated from an ERP image.
- a loss function for learning the mesh generation model may be set as follows.
- L L rgb + ⁇ 1 L eikonal + ⁇ 2 L depth + ⁇ 3 L normal
- L rgb is the color loss
- L eikonal is the iconic loss
- L depth is the depth loss
- L normal is the normal loss
- ⁇ 1 corresponds to the iconic weight
- ⁇ 2 corresponds to the depth weight
- ⁇ 3 corresponds to the normal weight.
- ⁇ 1 , ⁇ 2 , and ⁇ 3 correspond to hyperparameters used to learn the mesh generation model.
- the loss function for learning the mesh generation model may include depth loss, normal loss, etc., and depth weights and normal weights may be applied to the depth loss and normal loss, respectively.
- the optimal hyperparameters it is necessary to set the optimal hyperparameters according to the characteristics of each data during learning. For example, if the normal weight is set higher than the depth weight, learning is performed centered on the normal rather than the depth, so each distance in the generated 3D mesh may appear differently, but each plane may be generated straight. That is, in the case of a thin wall, the plane of the thin wall may appear flat in the 3D mesh, but it may appear thick or be incorrectly generated as two different planes.
- each distance within the 3D mesh may appear to be consistent, but problems such as each plane not being generated in a straight shape may occur. That is, in the case of a thin wall, the distance between the thin wall and another wall may appear well, but problems such as a hole being created in the thin wall may occur.
- the mesh generation unit (150) can learn while changing each weight applied to the depth loss and the normal loss during learning of the mesh generation model according to a preset scheduling. That is, the depth weight applied to the depth loss can be scheduled to decrease from the initial depth weight every epoch to reach the target depth weight, and the normal weight applied to the normal loss can be scheduled to increase from the initial normal weight every epoch to reach the target normal weight.
- the initial depth weight can be set to be larger than the initial normal weight
- the target depth weight can be set to be smaller than the target normal weight.
- the initial depth weight can be set to be 0.20
- the target depth weight can be set to be 0.14, and to decrease by 0.01 every 20 epochs
- the initial normal weight can be set to be 0.02
- the target normal weight can be set to be 0.14, and to increase by 0.02 every 20 epochs.
- a 3D mesh generated by a mesh generation model can generally provide information about the relative distance or ratio between internal points, but it cannot provide information about the actual distance between the points.
- ERP images, etc. do not contain information about actual distances, etc.
- a 3D mesh alone may not be able to provide information about actual distances.
- the mesh generation unit (150) may learn by including an additional item in the depth loss when learning the mesh generation model so that the actual distance value in the 3D mesh can be reflected. That is, when the target environment (T) is an indoor space, an additional item corresponding to the difference between the depth value of the center point in the depth map of the 3D mesh and the camera height value of the camera that captured the ERP image may be additionally added to the depth loss and learned. At this time, the mesh generation unit (150) may learn by reflecting the additional item only for the perspective image corresponding to the floor surface of the target environment among the plurality of perspective images.
- the depth value of the center point within the floor plane corresponds to the camera height of the 360-degree monocular camera (1). Therefore, if a loss function is set so that the depth value of the center point within the floor plane approaches the actual camera height, the depth value of the center point within the floor plane can appear as the actual camera height value in the generated 3D mesh. In this case, since the remaining depth values within the 3D mesh also appear to correspond to actual distance values, it is possible to generate a 3D mesh that reflects a metric scale that can measure distances, etc., of an actual target environment.
- the post-processing unit (160) can detect planes included in a 3D mesh and perform post-processing to remove noise by simplifying the planes when the target environment is an indoor space. Specifically, the post-processing unit (160) can first convert a 3D mesh into a point cloud and distinguish each plane included in the point cloud using a segmentation technique such as RANSAC (Random Sample Consensus).
- RANSAC Random Sample Consensus
- the ceiling plane and the floor plane can be distinguished. Specifically, by comparing the predefined vertical direction with the normal direction of each plane, candidate planes that match the vertical direction within the error range can be found. Among the candidate planes, candidate planes that include the most points above and below the center of the entire coordinate system can be found, and set as the ceiling plane and the floor plane, respectively.
- points located within the set range in the normal direction of the ceiling and floor planes can be projected onto the corresponding ceiling or floor planes, respectively, and included in the ceiling or floor planes. That is, as illustrated in Fig. 6, each point located within the set range (threshold) in the normal direction of each ceiling or floor plane can be found, and the points can be projected onto a plane. Through this, noises located around the ceiling or floor plane can be simplified by organizing them into the ceiling or floor plane.
- the post-processing unit (160) can set the remaining points except for the ceiling and floor surfaces as sides based on each normal line. Specifically, points having normal lines perpendicular to the normal vector of the ceiling or floor surface can be clustered, and at this time, points adjacent to the points can be further included and clustered based on each normal direction.
- each of the clustered surfaces can be distinguished by each side. That is, points having normal lines perpendicular to the normal vector of the ceiling or floor surface correspond to sides within the indoor space, and thus can be clustered.
- the Manhattan-world assumption is that each surface within an indoor space is generated to be orthogonal to each other.
- the Manhattan-world assumption is applied, if the normal direction of the ceiling or floor surface is set to the z-axis on the orthogonal coordinate system, the remaining sides can be defined as having normal directions corresponding to the x-axis and y-axis, respectively. Accordingly, points having normal directions corresponding to the x-axis and y-axis can be clustered and distinguished into sides.
- the side faces may be perpendicular to the normals of the ceiling and floor, but may not form perpendiculars between the side faces. Therefore, the side faces can be distinguished by clustering points whose normals are perpendicular to the normal vectors of the ceiling or floor.
- the tangents between the ceiling, floor, and side walls can be detected, and it can be checked whether there are areas crossing the tangents. If there are areas crossing the tangents, the areas can be removed by projecting them respectively into the tangent lines.
- the ERP image is a photograph of an indoor space
- the ceiling, floor, and side walls can be combined to generate a rectangular solid shape.
- the areas crossing the tangents correspond to areas that protrude from the rectangular solid, and can be viewed as areas corresponding to errors. Therefore, by projecting the outlier areas onto each plane and removing them, it is possible to simplify and generate the entire 3D mesh.
- FIG. 7 is a block diagram illustrating a computing environment (10) suitable for use in exemplary embodiments.
- each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.
- the illustrated computing environment (10) includes a computing device (12).
- the computing device (12) may be a device that generates a three-dimensional mesh based on an ERP image (e.g., a three-dimensional mesh generating device (100)).
- a computing device (12) includes at least one processor (14), a computer-readable storage medium (16), and a communication bus (18).
- the processor (14) may cause the computing device (12) to operate in accordance with the exemplary embodiments described above.
- the processor (14) may execute one or more programs stored in the computer-readable storage medium (16).
- the one or more programs may include one or more computer-executable instructions, which, when executed by the processor (14), may be configured to cause the computing device (12) to perform operations in accordance with the exemplary embodiments.
- a computer-readable storage medium (16) is configured to store computer-executable instructions or program code, program data, and/or other suitable forms of information.
- a program (20) stored in the computer-readable storage medium (16) includes a set of instructions executable by the processor (14).
- the computer-readable storage medium (16) may be a memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, any other form of storage medium that can be accessed by the computing device (12) and capable of storing desired information, or a suitable combination thereof.
- a communication bus (18) interconnects various other components of the computing device (12), including the processor (14) and computer-readable storage media (16).
- the computing device (12) may also include one or more input/output interfaces (22) that provide interfaces for one or more input/output devices (24) and one or more network communication interfaces (26).
- the input/output interfaces (22) and the network communication interfaces (26) are coupled to the communication bus (18).
- the input/output devices (24) may be coupled to other components of the computing device (12) via the input/output interfaces (22).
- Exemplary input/output devices (24) may include input devices such as a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or a touchscreen), a voice or sound input device, various types of sensor devices and/or photographing devices, and/or output devices such as a display device, a printer, speakers, and/or a network card.
- the exemplary input/output devices (24) may be included within the computing device (12) as a component that constitutes the computing device (12), or may be coupled to the computing device (12) as a separate device distinct from the computing device (12).
- FIGS. 8 and 9 are flowcharts showing a method for generating a 3D mesh based on an ERP image according to one embodiment of the present invention.
- each step of FIGS. 8 and 9 can be performed by a computing device according to one embodiment of the present invention.
- the computing device can receive an ERP image for the target environment (S110). That is, the computing device can receive the ERP image directly from a 360-degree monocular camera or a user's terminal device that generates the ERP image through a wired or wireless communication network, or can receive the ERP image through a separate server or storage device that stores the ERP image.
- the computing device can convert the ERP image for the target environment to generate a plurality of perspective images (S120). That is, when an ERP image on a sphere domain is input, the computing device can convert the corresponding ERP image to generate a cubemap image on a corresponding cubemap domain.
- the cubemap image can be generated in a form corresponding to a development diagram of a rectangular solid, and each of the front, back, left side, right side, top side, and bottom side corresponding to the target environment can be displayed in a perspective form.
- the computing device can generate the perspective image by dividing each of the six perspective images corresponding to the six faces included in the cubemap image. That is, each of the six perspective images corresponding to the front, back, left side, right side, top side, and bottom side can be divided and generated.
- the computing device can remove a specific material area using an inpainting technique if a perspective image including a specific material area exists among a plurality of perspective images (S130).
- the specific material area includes a surface that is transparent or reflective, such as a mirror, glass, or metal surface.
- the computing device can re-paint a specific material area using the inpainting technique, and at this time, the specific material area can be regenerated so that it appears with the same material as the adjacent area. Since the specific material area reflects or projects light to represent another space inside, it is necessary to remove the characteristics of the specific material area, such as reflecting or projecting light, before estimating a depth map or normal map based on a perspective image. Therefore, the computing device can be made to draw the specific material area with the same material as the adjacent area.
- the computing device can receive a masking image including a masking area in which a specific material area within a perspective image is masked.
- the masking image may be generated within the preprocessing unit (130), and depending on the embodiment, it is also possible to receive a masking image generated by a worker or the like from the outside.
- the computing device can inpaint the inside of the masking area based on pixel values of adjacent pixels located within an adjacent area that contacts the masking area.
- pixel values of adjacent pixels that contact the masking area in a horizontal direction are extracted, and the pixel values within the masking area can be reset with an interpolated value generated by interpolating the pixel values.
- it can be implemented so that the inpainted specific material area is distinguishable from a ceiling surface or a floor surface, but difficult to distinguish from a side surface where the specific material area is located.
- the computing device can generate a depth map and a normal map corresponding to the ERP image using a plurality of perspective images (S140).
- the computing device can generate the depth map and the normal map, respectively, using a depth estimation model that generates each depth map and a normal estimation model that generates each normal map.
- the depth estimation model and the normal estimation model can be implemented in various ways, such as a deep learning model or a neural network model, and any of them can be used as long as they set a depth value and a normal vector for an input perspective image to generate a corresponding depth map and normal map.
- the computing device may convert each of the depth maps and normal maps into a spherical domain corresponding to the ERP image, thereby generating the ERP depth map and the ERP normal map, respectively. That is, the depth maps and normal maps generated on the cubemap domain may be combined, and converted back into a spherical domain, thereby generating the ERP depth map and the ERP normal map.
- the computing device may parameterize the depth maps and the normal maps, and update the depth values of the depth maps and the normal vectors of the normal maps, thereby maintaining consistency between the depth maps and the normal maps while ensuring that the scales are matched. Thereafter, the ERP depth map and the ERP normal map may be generated by converting based on the updated depth maps and normal maps.
- the computing device can generate a three-dimensional mesh corresponding to the depth map and the normal map using the mesh generation model (S150). That is, the computing device can input a plurality of depth maps and normal maps corresponding to each perspective image into the mesh generation model, and generate a three-dimensional mesh corresponding to the corresponding ERP image. However, depending on the embodiment, it is also possible to input each ERP depth map and ERP normal map into the mesh generation model to generate a three-dimensional mesh.
- the mesh generation model may be one that generates a 3D mesh based on neural rendering such as mono-SDF (Signed Distance Function).
- the mesh generation model may be one that is learned based on a loss function that includes depth loss and normal loss, which are the differences between the depth map and normal map of the generated 3D mesh and the depth map and normal map generated from the ERP image.
- the computing device may learn by changing each weight applied to the depth loss and normal loss during learning of the mesh generation model according to a preset scheduling. That is, the depth weight applied to the depth loss may be scheduled to decrease from the initial depth weight every epoch to reach the target depth weight, and the normal weight applied to the normal loss may be scheduled to increase from the initial normal weight every epoch to reach the target normal weight.
- the initial depth weight may be set to be greater than the initial normal weight
- the target depth weight may be set to be smaller than the target normal weight.
- a 3D mesh generated by a mesh generation model can generally provide information about the relative distance or ratio between points within it, but it may not be able to provide information about the actual distance between those points.
- the computing device can learn by including an additional item in the depth loss when learning the mesh generation model so that the actual distance value in the 3D mesh can be reflected. That is, when the target environment is an indoor space, an additional item corresponding to the difference between the depth value of the center point in the depth map of the 3D mesh and the camera height value of the camera that captured the ERP image can be included in the learning by adding it to the depth loss. At this time, the computing device can learn by reflecting the additional item only for the perspective image corresponding to the floor surface of the target environment among the plurality of perspective images.
- the depth value of the center point within the floor plane corresponds to the camera height of the 360-degree monocular camera. Therefore, if a loss function is set so that the depth value of the center point of the floor plane approaches the actual camera height, the depth value of the center point of the floor plane in the generated 3D mesh can match the actual camera height value. Accordingly, since the remaining depth values within the 3D mesh also appear to correspond to actual distance values, the mesh generation model can generate a generated 3D mesh that reflects a metric scale that can measure distances, etc., of an actual target environment.
- the computing device can detect planes included in a 3D mesh if the target environment is an indoor space, and perform postprocessing to simplify the planes and remove noise (S160). Specifically, referring to FIG. 9, the computing device can first convert a 3D mesh into a point cloud, and then segment each plane included in the point cloud using a segmentation technique such as RANSAC (S161).
- the ceiling plane and the floor plane can be distinguished (S162). Specifically, by comparing the predefined vertical direction with the normal direction of each plane, candidate planes that match the vertical direction within the error range can be found. Among the candidate planes, candidate planes that include the most points above and below the center of the entire coordinate system can be found, and set as the ceiling plane and the floor plane, respectively.
- points located within the set range in the normal direction of the ceiling and floor surfaces can be projected onto the corresponding ceiling or floor surfaces, respectively, and included in the ceiling or floor surfaces (S163).
- noises located around the ceiling or floor surfaces can be simplified by organizing them into the ceiling or floor surfaces.
- the computing device can set the remaining points except for the ceiling and floor planes as sides based on each normal line.
- points having normal lines perpendicular to the normal vector of the ceiling or floor plane can be clustered, and at this time, points adjacent to the points can be further included and clustered based on each normal direction.
- each of the clustered sides can be distinguished by each side (S164). That is, points having normal lines perpendicular to the normal vector of the ceiling or floor plane correspond to sides within the indoor space, and thus can be clustered.
- the Manhattan-world assumption is that each surface within an indoor space is generated to be orthogonal to each other.
- the normal direction of the ceiling or floor surface can be set to the z-axis on the orthogonal coordinate system, and the remaining sides can be defined as having normal directions corresponding to the x-axis and y-axis, respectively. Accordingly, points having normal directions corresponding to the x-axis and y-axis can be clustered and distinguished into sides.
- the side faces may be perpendicular to the normals of the ceiling and floor, but may not form perpendiculars between the side faces. Therefore, the side faces can be distinguished by clustering points whose normals are perpendicular to the normal vectors of the ceiling or floor.
- the computing device can detect the tangents where the ceiling, floor, and side surfaces meet, and check whether there are areas crossing the tangents. If there are areas crossing the tangents, the areas can be removed by projecting them respectively into the tangents (S166). That is, since the ERP image is a photograph of an indoor space, if the Manhattan assumption is satisfied, the ceiling, floor, and side walls can be combined to generate a rectangular solid shape. At this time, the areas crossing the tangents correspond to areas that protrude from the rectangular solid, and can therefore be viewed as areas corresponding to errors. Therefore, by projecting the outlier areas onto each plane and removing them, it is possible to simplify and generate the entire 3D mesh.
- the above-described present invention can be implemented as a computer-readable code on a medium in which a program is recorded.
- the computer-readable medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or downloading.
- the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, and may be distributed on a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROMs, RAMs, flash memories, etc., configured to store program instructions.
- examples of other media may include recording media or storage media managed by app stores that distribute applications or other sites, servers, etc. that supply or distribute various software. Therefore, the above detailed description should not be construed as limiting in all respects and should be considered exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all changes coming within the equivalent scope of the present invention are intended to be included within the scope of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치에 관한 것으로서, 본 발명의 일 실시예에 의한 컴퓨팅 장치를 이용한, ERP(Equirectangular Project) 이미지 기반의 3차원 메시(mesh) 생성방법은, 대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지(perspective image)를 생성하는 단계; 상기 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 상기 특정재질영역을 인페인팅 기법으로 제거하는 단계; 상기 복수의 투시도 이미지를 이용하여, 상기 ERP 이미지에 대응하는 깊이 맵 및 법선 맵을 생성하는 단계; 및 메시생성모델을 이용하여, 상기 깊이 맵 및 상기 법선 맵에 대응하는 3차원 메시를 생성하는 단계를 포함할 수 있다.
Description
본 발명은 360도 단안 카메라를 이용하여 촬영한 ERP 이미지로부터 3차원 메시를 생성하는 방법 및 이를 이용하는 컴퓨팅 장치에 관한 것이다.
360도 비디오는 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 예를 들어 360도 비디오는 3차원 구형면(Spherical surface) 상에 나타내어질 수 있다. 360도 비디오는 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오가 캡처되고, 캡처된 복수개의 이미지들을 연결하여 하나의 파노라마 이미지 또는 구형의 이미지로 만들어 2D 픽처 상에 프로젝션하여 생성할 수 있다.
여기서, 실내 공간을 360도 비디오로 촬영하고, 이를 기반으로 실내 공간에 대한 3차원 모델링을 생성하고자 하는 경우가 있을 수 있다. 그러나, 360도 비디오를 기반으로 3차원 모델링을 수행하는 경우, 360도 비디오 내 왜곡이 심하게 나타나므로, 일반적인 깊이 추정을 위한 딥러닝 모델을 적용하기 어려운 문제점이 존재한다.
또한, 실내 공간에는 거울이나 유리 등이 포함될 수 있으나, 360도 비디오 내에 포함된 거울이나 유리 등을 구별할 수 없으므로, 거울이나 유리에 나타난 형상이 3차원 모델링 내에 반영될 수 있다. 즉, 실제 존재하지 않는 공간에 대한 3차원 모델링이 생성되는 등의 문제도 발생할 수 있다.
본 발명은 360도 단안 카메라를 이용하여 촬영한 ERP 이미지로부터, 정확한 3차원 메시를 생성할 수 있는, ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치를 제공하고자 한다.
본 발명은 ERP 이미지 내 포함되는 거울이나 유리 등에 의한 3차원 메시 상의 노이즈나 오류를 제거할 수 있는, ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치를 제공하고자 한다.
본 발명은 각각의 하이퍼파라미터들을 스케줄링하여 학습을 수행한 메시생성모델을 활용하는, ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치를 제공하고자 한다.
본 발명은 생성한 3차원 메시 내 평면을 단순화하여 노이즈를 제거할 수 있는, ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치를 제공하고자 한다.
본 발명의 일 실시예에 의한, 컴퓨팅 장치를 이용한 ERP(Equirectangular Project) 이미지 기반의 3차원 메시(mesh) 생성방법은, 대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지(perspective image)를 생성하는 단계; 상기 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 상기 특정재질영역을 인페인팅 기법으로 제거하는 단계; 상기 복수의 투시도 이미지를 이용하여, 상기 ERP 이미지에 대응하는 깊이 맵 및 법선 맵을 생성하는 단계; 및 메시생성모델을 이용하여, 상기 깊이 맵 및 상기 법선 맵에 대응하는 3차원 메시를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 의한 ERP(Equirectangular Project) 이미지 기반의 3차원 메시(mesh) 생성하는 컴퓨팅 장치는 프로세서를 포함하는 것으로, 상기 프로세서는, 대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지를 생성하는 것; 상기 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 상기 특정재질영역을 인페인팅 기법으로 제거하는 것; 상기 복수의 투시도 이미지를 이용하여, 상기 ERP 이미지에 대응하는 깊이 맵 및 법선 맵을 생성하는 것; 및 메시생성모델을 이용하여, 상기 깊이 맵 및 상기 법선 맵에 대응하는 3차원 메시를 생성하는 것을 포함하여 수행할 수 있다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치에 의하면, ERP 이미지 내 포함되는 거울이나 유리 등에 의한 3차원 메시 상의 노이즈나 오류를 제거할 수 있으므로, 대상환경에 대한 정확한 3차원 메시를 생성하는 것이 가능하다.
본 발명의 일 실시예에 의한 ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치에 의하면, 메시생성모델 학습시 각각의 하이퍼파라미터들을 스케줄링하여 학습을 수행할 수 있으므로, 최적의 하이퍼파라미터를 찾지 않고도, 높은 성능의 3차원 메시를 생성할 수 있는 메시생성모델을 구현하는 것이 가능하다.
본 발명의 일 실시예에 의한 ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치에 의하면, 생성한 3차원 메시에 대한 후처리를 통하여, 3차원 메시 내 노이즈를 제거하고 평면을 단순화할 수 있으므로, 고품질의 3차원 메시를 제공하는 것이 가능하다.
다만, 본 발명의 실시예들에 따른 ERP 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도1은 본 발명의 일 실시예에 의한 360도 단안 카메라를 이용한 ERP 이미지 생성을 나타내는 예시도이다.
도2는 본 발명의 일 실시예에 의한 3차원 메시 생성장치를 나타내는 개략도이다.
도3은 본 발명의 일 실시예에 의한 ERP 이미지 및 큐브맵 이미지를 나타내는 예시도이다.
도4는 본 발명의 일 실시예에 의한 투시도 이미지 및 마스킹 이미지를 나타내는 예시도이다.
도5는 본 발명의 일 실시예에 의한 마스킹 영역에 대한 인페인팅을 나타내는 개략도이다.
도6은 본 발명의 일 실시예에 의한 평면으로부터 설정범위 내 위치하는 점들을 해당 평면 상으로 투영하는 것을 나타내는 예시도이다.
도7은 본 발명의 일 실시예에 의한 컴퓨팅 장치를 나타내는 블록도이다.
도8 및 도9는 본 발명의 일 실시예에 의한 ERP 이미지 기반의 3차원 메시 생성 방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도1은 본 발명의 일 실시예에 의한 360도 단안 카메라(Omnidirectional Camera)를 이용한 ERP(Equirectangular Projection) 이미지 생성을 나타내는 예시도이다
도1을 참조하면, ERP 이미지는 360도 단안 카메라(1)를 이용하여 촬영한 사진일 수 있으며, 실시예에 따라서는 360도 단안 카메라(1)로 촬영한 동영상으로부터 캡쳐한 이미지 등을 ERP 이미지로 활용하는 것도 가능하다. 이때, 360도 단안 카메라(1)는 해당 ERP 이미지를 촬영할 때의 카메라 높이 등에 대한 정보도 함께 생성하여 제공할 수 있다.
여기서, 360도 단안 카메라(1)를 이용하여 촬영하는 대상 환경(T)은 특정한 객체이거나 공간 등일 수 있으며, 실시예에 따라서는 부동산 거래 등에 활용하기 위하여, 건물의 실내공간을 대상 환경(T)으로 하는 것도 가능하다.
360도 단안 카메라(1)는 단독으로 구성될 수 있으나, 실시예에 따라서는 스마트폰, 태블릿 PC, PDA(Personal Digital Assistant), 노트북 컴퓨터, 웨어러블 디바이스(wearable device) 등 다양한 단말장치에 결합하여 구현하는 것도 가능하다. 즉, 자신의 스마트 폰 등에 구비된 360도 단안 카메라(1)를 이용하여 대상 환경(T)에 대한 ERP 이미지들을 생성할 수 있다.
이후, 사용자는 촬영한 ERP 이미지를, 유, 무선 네트워크를 통하여 3차원 메시 생성장치로 전송하여, 촬영한 ERP 이미지에 대응하는 3차원 메시를 생성할 것을 요청할 수 있다. 즉, 3차원 메시를 기반으로 대상 환경에 대응하는 3차원 모델 등을 생성하기 위하여, 3차원 메시 생성장치에게 3차원 메시의 생성을 요청할 수 있다.
이때, 사용자는 자신의 단말장치를 이용하여 네트워크에 접속할 수 있으며, 네트워크를 통하여 3차원 메시 생성장치와의 통신을 수행할 수 있다. 즉, 사용자는 단말장치를 이용하여 360도 단안 카메라(1)로 촬영한 ERP 이미지 등을 3차원 메시 생성장치로 전송할 수 있으며, 3차원 메시 생성장치는 수신한 ERP 이미지를 기반으로 해당 대상 환경에 대한 3차원 메시를 생성할 수 있다. 이후, 3차원 메시를 기반으로, 해당 대상 환경에 대한 3차원 모델 등을 생성하는 것도 가능하다.
여기서, 단말장치와 3차원 메시 생성장치 사이의 통신 방식은 제한되지 않으며, 네트워크가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 등도 포함될 수 있다. 예를 들어, 네트워크는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
추가적으로, 여기서는 360도 단안 카메라(1)를 이용하여 ERP 이미지를 생성하는 것으로 도시하였으나, 실시예에 따라서는 일반 카메라의 파노라마(panorama) 모드 등을 이용하여 ERP 이미지를 생성하는 것도 가능하다.
한편, 실시예에 따라서는, 360도 단안 카메라(1)로 실내 공간을 촬영한 ERP 이미지로부터, 해당 실내 공간에 대한 3차원 모델링을 생성하고자 하는 경우가 있을 수 있다. 여기서, ERP 이미지를 기반으로 3차원 모델링을 수행하기 위해서는, ERP 이미지 내 깊이나 법선 등을 추정할 필요가 있다. 다만, ERP 이미지는 일반적인 투시도 이미지(Perspective image)와 비교할 때 왜곡이 심하므로, 투시도 이미지를 기반으로 하는 일반적인 깊이 추정 모델로는 정확한 깊이나 법선 추정 결과를 얻기 어려울 수 있다.
또한, 실내 공간에는 거울이나 유리 등이 포함될 수 있으나, 3차원 메시 생성장치는 ERP 이미지 내에 포함된 거울이나 유리 등을 구별하지 못하므로, 거울이나 유리에 나타난 형상을 반영하여 깊이 맵 및 법선 맵을 생성할 수 있다. 즉, 실제 존재하지 않는 공간에 대한 깊이 맵과 법선 맵이 생성되는 것이므로, 잘못된 3차원 메시가 생성하는 등의 문제가 발생할 수 있다.
이외에도, 3차원 메시 생성장치는 3차원 메시를 생성하기 위한 메시 생성모델을 더 포함할 수 있으며, 메시생성모델은 생성한 3차원 메시의 깊이 맵 및 법선 맵과, ERP 이미지의 깊이 맵 및 법선 맵의 차이에 해당하는 깊이 손실 및 법선 손실을 포함하는 손실함수를 이용하여 3차원 메시를 생성하도록 학습된 것일 수 있다. 이때, 깊이 손실과 법선 손실에 설정되는 각각의 하이퍼파라미터에 따라, 메시 생성모델이 생성하는 3차원 메시의 성능이 상이하게 나타날 수 있다. 즉, 메시 생성모델을 학습할 때, 각각의 하이퍼파라미터들에 대한 설정이 중요하나, 각각의 ERP 이미지 등의 특성에 따라 최적화된 하이퍼파라미터를 매번 설정하기에는 어려운 문제점이 존재한다.
이에 본 발명의 일 실시예에 의한 3차원 메시 생성장치는, ERP 이미지를 투시도 이미지로 변환하여 해당 투시도 이미지에 대응하는 깊이 맵 및 법선 맵을 생성하고, 이를 기반으로 3차원 메시를 생성하도록 할 수 있다. 또한, ERP 이미지나 투시도 이미지에 대한 전처리를 통하여 거울이나 유리 등의 특정재질영역에 대하여는 미리 인페인팅하여 실제 존재하지 않는 공간을 생성하는 것을 방지할 수 있다. 하이퍼파라미터의 경우, 본 발명의 일 실시예에 의한 3차원 메시 생성장치는, 각각의 하이퍼파라미터들을 스케줄링하면서 학습을 진행함으로써, 최적의 하이퍼파라미터를 찾지 않고도, 높은 성능의 3차원 메시를 생성할 수 있는 메시 생성모델을 학습하는 것이 가능하다.
이하, 도2를 참조하여 본 발명의 일 실시예에 의한 3차원 메시 생성장치를 설명한다.
도2는 본 발명의 일 실시예에 의한 3차원 메시 생성장치를 나타내는 개략도이다.
도2를 참조하면, 본 발명의 일 실시예에 의한 3차원 메시 생성장치(100)는, 수신부(110), 이미지 변환부(120), 전처리부(130), 깊이 및 법선 추정부(140), 메시생성부(150) 및 후처리부(160)를 포함할 수 있다.
수신부(110)는 유, 무선 통신망을 통하여 ERP 이미지를 수신할 수 있다. 즉, 수신부(110)는 ERP 이미지를 생성하는 360도 단안 카메라(1)나 사용자의 단말장치 등으로부터 직접 ERP 이미지를 수신할 수 있으며, 실시예에 따라서는 360도 단안 카메라가 생성한 ERP 이미지를 저장한 별도의 서버나 저장장치 등을 통하여 ERP 이미지를 수신하는 것도 가능하다.
이미지 변환부(120)는 대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지(perspective image)를 생성할 수 있다. 즉, 도3(a)에 도시한 바와 같이, 구체(Spherical) 도메인 상의 ERP 이미지가 입력될 수 있으며, 이미지 변환부(120)는 도3(b)에 도시한 바와 같이, ERP 이미지를 변환하여 대응하는 큐브맵(cubemap) 도메인 상의 큐브맵 이미지를 생성할 수 있다. 도3(b)를 참조하면, 큐브맵 이미지는 직육면체의 전개도에 대응하는 형태로 생성될 수 있으며, 대상 환경(T)에 대응하는 각각의 전면, 후면, 좌측면, 우측면, 상면 및 하면이 각각 투시도 형태로 표시될 수 있다. 즉, ERP 이미지에서 전면, 후면, 좌측면, 우측면, 상면 및 하면에 대응하는 영역들을 구분하고, 해당 영역들을 투시도 형태로 변환하여 큐브맵 이미지를 생성할 수 있다. 여기서, 이미지 변환부(120)는 ERP 이미지로부터 큐브맵 이미지로 변환하는 다양한 알고리즘을 활용하여 큐브맵 이미지를 생성할 수 있다. 이후, 이미지 변환부(120)는 큐브맵 이미지 내 포함된 6개의 면들에 대응하는 6개의 투시도 이미지들을 각각 분할하여 투시도 이미지를 생성할 수 있다. 즉, 전면, 후면, 좌측면, 우측면, 상면 및 하면에 대응하는 각각의 6개의 투시도 이미지를 분할하여 생성할 수 있다.
전처리부(130)는 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 특정재질영역을 인페인팅(inpainting) 기법으로 제거할 수 있다. 여기서, 특정재질영역은 투시 또는 반사되는 표면을 포함하는 것으로, 거울이나 유리, 금속표면 등일 수 있다. 다만, 이에 한정되는 것은 아니며, 실시예에 따라 사용자 등이 필요한 영역을 특정재질영역으로 정의하여 활용하는 것도 가능하다. 또한, 여기서는 전처리부(130)가 투시도 이미지 내 포함된 특정재질영역을 제거하는 것으로 나타나 있으나, 실시예에 따라서는 전처리부(130)가 ERP 이미지에서 미리 특정재질영역을 제거하는 것도 가능하다.
전처리부(130)는 인페인팅 기법으로 특정재질영역의 픽셀값들을 재생성할 수 있으며, 이때 전처리부(130)는 해당 특정재질영역이 인접 영역과 동일한 재질로 나타나도록 재생성할 수 있다. 특정재질영역은 빛을 반사하거나 투영시켜 내부에 다른 공간이 존재하는 것처럼 나타내는 것이므로, 투시도 이미지를 기반으로 깊이 맵이나 법선 맵 등을 추정하기 전에, 특정재질영역의 빛을 반사하거나 투영하는 등의 특성을 제거할 필요가 있다. 따라서, 전처리부(130)는 특정재질영역의 인접 영역과 동일한 재질로, 특정재질영역을 다시 그리도록 할 수 있다. 예를 들어, 실내 공간 중 하나의 벽면에 거울이 포함된 경우, 해당 거울의 옆에 나타난 벽지의 재질로 해당 거울을 다시 그려 거울 내부의 반사된 영역을 제거할 수 있다. 즉, 인페인팅을 통하여 새롭게 생성한 특정재질영역 내 픽셀값들에 의하여 법선이 상이하게 추정되는 것을 방지하기 위하여, 전처리부(130)는 특정재질영역이 평평한 평면으로 인식되도록 인페인팅할 수 있다.
먼저, 전처리부(130)는 투시도 이미지 내 특정재질영역을 마스킹(masking) 처리한 마스킹 영역을 포함하는 마스킹 이미지를 수신할 수 있다. 도4(a)를 참조하면, 투시도 이미지 내 거울(A)이 포함될 수 있으며, 거울(A)에는 맞은편 공간이 반사되어 나타날 수 있으므로, 특정재질영역에 해당한다. 따라서, 도4(b)에 도시한 바와 같이, 거울(A)을 마스킹한 마스킹 영역(M)을 포함하는 마스킹 이미지가 생성될 수 있다.
여기서, 마스킹 이미지는 전처리부(130) 내부에서 생성할 수 있다. 즉, 전처리부(130)는 각각의 투시도 이미지 또는 ERP 이미지에 세그먼테이션이나 객체 인식 기법 등을 적용하여 특정재질영역을 인식하고, 인식된 특정재질영역을 자동으로 마스킹하도록 하여, 마스킹 이미지를 생성할 수 있다.
또한, 실시예에 따라서는, 작업자 등이 투시도 이미지 또는 ERP 이미지 내에 포함된 거울이나 유리 등의 특정재질영역을 육안으로 확인하고, 해당 특정재질영역을 마스킹하는 방식으로 마스킹 이미지를 생성하는 것도 가능하다. 즉, 투시도 이미지나 ERP 이미지 내 포함된 거울이나 유리 등을 이미지 처리 등을 통하여 자동으로 인식하는 것이 어려울 수 있으므로, 작업자 등에게 마스킹 작업을 요청한 후, 각각의 마스킹 이미지들을 수신하여 처리하는 것도 가능하다.
마스킹 이미지를 수신하면, 전처리부(130)는 마스킹 영역과 접하는 인접 영역 내 위치하는 인접 픽셀들의 픽셀값을 기반으로 마스킹 영역 내부를 인페인팅할 수 있다. 즉, 인접 영역의 재질과 동일한 재질로 인페인팅하기 위하여, 인접 픽셀들의 픽셀값을 확인하고, 해당 픽셀값으로 인페인팅을 수행할 수 있다.
구체적으로, 전처리부(130)는 인접 픽셀들 중에서, 마스킹 영역과 수평방향으로 접하는 인접 픽셀들의 픽셀값들을 추출할 수 있으며, 해당 픽셀값들을 보간(interpolation)하여 생성한 보간값으로 해당 마스킹 영역 내 픽셀값들을 재설정할 수 있다. 실내 공간의 경우, 천장면과 바닥면, 그리고 측면들로 구분할 수 있다. 일반적으로, 거울이나 유리 등은 실내공간 내 측면에 위치하므로, 전처리부(130)는 각각의 특정재질영역과 수평방향으로 접하는 각각의 인접 픽셀들의 픽셀값을 기반으로 인페인팅을 수행할 수 있다. 이를 통하여 인페인팅된 특정재질영역이 천장면이나 바닥면과는 구별되고, 해당 특정재질영역이 위치하는 측면과는 구별이 어렵게 되도록 하는 것이 가능하다.
도5를 참조하면, 도5(a)와 같이 마스킹 이미지 내 마스킹 영역(M)의 좌측과 우측에 각각 인접 영역들이 존재하는 경우가 있을 수 있다. 이 경우, 해당 마스킹 영역(M)의 좌측과 우측에 접하는 각각의 픽셀값으로 선형보간을 수행하여 보간값을 생성하고, 해당 보간값으로 마스킹 영역(M) 내 각각의 픽셀값을 채울 수 있다. 즉, 도5(a)의 마스킹 영역(M) 내 포함되는 각각의 픽셀들은 행으로 구분할 수 있으며, 이때 각각의 행을 단위로 인페인팅을 수행할 수 있다. 구체적으로, 마스킹 영역(M) 내 포함되는 각각의 행에 대하여, 해당 행의 좌측과 우측에서 접하는 각각의 인접 픽셀(a, b)을 특정할 수 있다. 이후, 해당 인접 픽셀(a, b)의 픽셀값을 선형보간하여 보간값을 생성하고, 해당 보간값을 해당 행에 포함된 전체 픽셀에 대한 픽셀값으로 재설정할 수 있다. 동일한 방식으로, 마스킹 영역(M) 내에 포함되는 전체 행의 픽셀값을 재설정하여 마스킹 영역(M)을 인페인팅할 수 있다.
또한, 5(b)와 같이 마스킹 영역(M)의 좌측과 우측 중 일측에만 인접 영역이 존재하는 경우가 있을 수 있다. 이 경우에는, 마스킹 영역(M) 내 포함되는 각각의 행들에 대하여, 좌측의 인접 영역에 포함되는 각각의 인접 픽셀(a)을 특정하고, 해당 인접 픽셀(a)의 픽셀값으로 해당 행의 전체 픽셀들의 픽셀값을 재설정할 수 있다. 동일한 방식으로, 마스킹 영역(M) 내 포함되는 전체 행의 픽셀값을 재설정하여 마스킹 영역(M)을 인페인팅할 수 있다.
한편, 도5(c)와 같이, 마스킹 영역(M)과 수평방향으로 접하는 인접 영역이 존재하지 않는 경우가 있을 수 있다. 이 경우, 마스킹 영역(M) 내 포함되는 각각의 행들에 대하여, 미리 설정한 단색으로 픽셀값을 재설정할 수 있다. 예를 들어, 해당 픽셀의 픽셀값을 (r, g, b) = (128, 128, 128)로 설정하여 인페인팅할 수 있다.
전처리가 완료되면, 깊이 및 법선 추정부(140)는 복수의 투시도 이미지를 이용하여, ERP 이미지에 대응하는 깊이 맵(depth map) 및 법선 맵(normal map)을 생성할 수 있다. 여기서, 깊이 및 법선 추정부(140)는 각각의 깊이 맵을 생성하는 깊이 추정 모델과, 법선 맵을 생성하는 법선 추정 모델을 포함할 수 있다.
깊이 및 법선 추정부(140)는, 깊이 추정 모델을 이용하여, 복수의 투시도 이미지에 대응하는 각각의 깊이 맵을 생성할 수 있다. 여기서, 깊이 추정 모델은 투시도 이미지가 입력되면, 해당 투시도 이미지 내 각각의 픽셀들에 대응하는 깊이값을 설정하도록 학습된 것으로, 딥러닝 모델이나 신경망 모델 등 다양한 방식으로 구현한 것일 수 있다. 깊이 및 법선 추정부(140)는 실시예에 따라 다양한 종류의 깊이 추정 모델을 활용할 수 있으며, 입력되는 투시도 이미지에 대한 깊이값을 설정하여, 해당 투시도 이미지에 대응하는 깊이 맵을 생성하는 것이면, 어떠한 것도 깊이 추정 모델로 활용할 수 있다.
또한, 깊이 및 법선 추정부(140)는, 법선 추정 모델을 이용하여, 복수의 투시도 이미지에 대응하는 각각의 법선 맵을 생성할 수 있다. ERP 이미지로부터 대응하는 3차원 메시를 생성하기 위해서는, 깊이 맵과 함께 법선 맵도 필요하다. 따라서, 법선 추정 모델을 더 포함하여, 깊이 맵과 함께 법선 맵도 함께 생성하는 것도 가능하다. 법선 추정 모델은 복수의 투시도 이미지가 입력되면, 해당 투시도 이미지 내에 포함된 각각의 평면들에 대한 법선 정보를 나타내는 법선 맵을 생성하는 것으로, 딥러닝 모델이나 신경망 모델 등을 기반으로 다양한 방식으로 구현할 수 있다. 즉, 입력되는 투시도 이미지에 대한 법선 벡터를 설정하여 해당 투시도 이미지에 대응하는 법선 맵을 생성할 수 있는 것이면, 어떠한 것도 법선 추정 모델로 활용할 수 있다.
실시예에 따라서는, 깊이 및 법선 추정부(140)가 각각의 깊이 맵과 법선 맵들을 ERP 이미지에 대응하는 구체 도메인으로 변환하여, ERP 깊이 맵과 ERP 법선 맵을 각각 생성하는 것도 가능하다. 즉, 큐브맵 도메인 상에서 생성한 깊이 맵과 법선 맵들을 결합하고, 이를 다시 구체 도메인으로 변환함으로써 ERP 깊이 맵과 ERP 법선 맵을 생성할 수 있다. 이때, 깊이 및 법선 추정부(140)는 깊이 맵과 법선 맵들을 파라미터화(parameterize)할 수 있으며, 깊이 맵들의 깊이값과 법선 맵들의 법선 벡터들을 업데이트하여, 각각의 깊이 맵과 법선 맵들 사이의 일관성을 유지하는 동시에 스케일이 매칭되도록 구현할 수 있다. 이후 업데이트된 깊이 맵과 법선 맵들을 기반으로 변환하여, ERP 깊이 맵과 ERP 법선 맵을 생성할 수 있다.
메시생성부(150)는 메시생성모델을 이용하여, 깊이 맵 및 법선 맵에 대응하는 3차원 메시를 생성할 수 있다. 즉, 메시생성부(150)는 각각의 투시도 이미지에 대응하는 복수의 깊이 맵과 법선 맵들을 메시생성모델에 입력하여, 해당 ERP 이미지에 대응하는 3차원 메시를 생성할 수 있다. 다만, 실시예에 따라서는, 각각의 ERP 깊이 맵과 ERP 법선 맵을 메시생성모델에 입력하여 3차원 메시를 생성하는 것도 가능하다.
여기서, 메시생성모델은 mono-SDF(Signed Distance Function) 등 뉴럴 렌더링(Neural Rendering)을 기반으로, 3차원 메시를 생성하는 것일 수 있다. 메시생성모델은 생성한 3차원 메시에서의 깊이 맵 및 법선 맵과, ERP 이미지로부터 생성한 깊이 맵 및 법선 맵의 차이인 깊이 손실 및 법선 손실을 포함하는 손실함수를 기반으로 학습하여 생성한 것일 수 있다. 예를 들어, 메시생성모델을 학습하기 위한 손실함수를 다음과 같이 설정될 수 있다.
L = Lrgb + λ1Leikonal + λ2Ldepth + λ3Lnormal
여기서, Lrgb는 색상 손실, Leikonal는 아이코날 손실, Ldepth는 깊이 손실, Lnormal는 법선 손실이고, λ1는 아이코날 가중치, λ2는 깊이 가중치, λ3는 법선 가중치에 해당한다. λ1, λ2, λ3는 메시생성모델을 학습하기 위하여 사용되는 하이퍼파라미터에 해당한다.
즉, 메시생성모델을 학습하기 위한 손실함수에는 깊이 손실, 법선 손실 등이 포함될 수 있으며, 깊이 손실과 법선 손실에는 각각 깊이 가중치 및 법선 가중치가 적용될 수 있다. 여기서, 고정된 하이퍼파라미터를 사용하는 경우에는, 학습시 각각의 데이터들의 특성에 따라 최적의 하이퍼파라미터들을 설정할 필요가 있다. 예를 들어, 법선 가중치가 깊이 가중치보다 높게 설정된 경우, 깊이보다는 법선을 중심으로 학습이 수행되므로, 생성된 3차원 메시 내 각각의 거리들은 상이하게 나타날 수 있으나, 각각의 평면들은 반듯하게 생성될 수 있다. 즉, 얇은 벽의 경우, 얇은 벽의 평면은 3차원 메시 내 평평하게 잘 나타나지만, 두께가 두껍게 나타나거나, 서로 다른 두 개의 평면 등으로 잘못 생성될 수 있다.
또한, 깊이 가중치가 법선 가중치보다 높게 설정되는 경우에는, 깊이가 더 중요하게 학습되므로, 3차원 메시 내 각각의 거리는 일치하게 나타날 수 있으나, 각각의 평면들의 반듯한 형태로 생성되지 않는 등의 문제가 발생할 수 있다. 즉, 얇은 벽의 경우 얇은 벽과 다른 벽 사이의 거리는 잘 나타날 수 있으나, 해당 얇은 벽에 구멍이 생기는 등의 문제가 발생할 수 있다.
따라서, 메시생성부(150)는, 메시생성모델의 학습시 깊이 손실 및 법선 손실에 적용되는 각각의 가중치를, 미리 설정된 스케줄링에 따라 변경하면서 학습할 수 있다. 즉, 깊이 손실에 적용되는 깊이 가중치는, 초기 깊이 가중치부터 매 에폭(epoch)마다 감소시켜 목표 깊이 가중치에 도달하도록 하고, 법선 손실에 적용되는 법선 가중치는, 초기 법선 가중치부터 매 에폭마다 증가시켜 목표 법선 가중치에 도달하도록 스케줄링을 설정할 수 있다. 이때, 초기 깊이 가중치는 초기 법선 가중치보다 크고, 목표 깊이 가중치는 목표 법선 가중치보다 작게 설정될 수 있다. 예를 들어, 깊이 가중치의 경우, 초기 깊이 가중치는 0.20, 목표 깊이 가중치는 0.14이고, 매 20 에폭마다 0.01씩 감소하도록 설정할 수 있으며, 법선 가중치의 경우, 초기 법선 가중치는 0.02, 목표 법선 가중치는 0.14이고, 매 20 에폭마다 0.02씩 증가하도록 설정할 수 있다.
이 경우, 초기에는 깊이 가중치가 높고, 법선 가중치가 낮으므로, 초기에는 3차원 메시 내 벽 등의 구조를 거리에 맞게 어느 정도 생성하도록 할 수 있으며, 이후 학습이 진행되면서 깊이 가중치는 작고 법선 가중치를 높이게 되므로, 점차 3차원 메시 내 벽 등의 구조의 평면의 노이즈들이 제거되어 반듯하게 생성될 수 있다.
즉, 메시생성모델을 학습하면서, 하이퍼파라미터들을 고정된 값으로 사용하는 것이 아니라, 매 에폭마다 하이퍼파라미터들을 변화시키면서 학습을 진행함으로써, 최적의 하이퍼파라미터를 찾을 필요없이 높은 성능의 3차원 메시를 생성할 수 있는 메시생성모델을 학습시키는 것이 가능하다.
한편, 메시생성모델이 생성한 3차원 메시의 경우, 일반적으로 내부의 지점들 사이의 상대적인 거리나 비율 등에 대한 정보를 제공할 수 있으나, 해당 지점들 사이의 실제 거리 등에 대한 정보를 제공하지는 못한다. 즉, ERP 이미지 등에는 실제 거리 등에 대한 정보가 포함되어 있지 않으므로, 3차원 메시만으로는 실제 거리에 대한 정보를 제공하지 못할 수 있다.
이에, 메시생성부(150)는 3차원 메시 내 실제 거리값이 반영될 수 있도록, 메시생성모델의 학습시 깊이 손실에 추가적인 항목을 더 포함하여 학습하도록 할 수 있다. 즉, 대상 환경(T)이 실내 공간인 경우, 3차원 메시의 깊이 맵 내 중심점의 깊이 값과, ERP 이미지를 촬영한 카메라의 카메라 높이값 사이의 차에 해당하는 추가 항목을, 깊이 손실에 추가로 더하여 학습하도록 할 수 있다. 이때, 메시생성부(150)는 복수의 투시도 이미지 중에서, 대상 환경의 바닥면에 대응하는 투시도 이미지에 대하여만 해당 추가 항목을 반영하여 학습하도록 할 수 있다.
360도 단안 카메라(1)가 생성하는 ERP 이미지의 경우, 바닥면 내 중심점의 깊이 값이, 해당 360 단안 카메라(1)의 카메라 높이에 대응한다. 따라서, 바닥면의 중심점의 깊이 값이 실제 카메라 높이에 접근하도록 손실함수를 설정하면, 생성된 3차원 메시에서는 바닥면의 중심점의 깊이 값이 실제 카메라 높이값으로 나타날 수 있다. 이 경우, 3차원 메시 내 나머지 깊이 값들도 실제 거리값들에 대응하도록 나타나므로, 실제 대상 환경의 거리 등을 측정하는 것이 가능한 메트릭 스케일이 반영된 3차원 메시를 생성하는 것이 가능하다.
후처리부(160)는 대상 환경이 실내 공간인 경우, 3차원 메시 내 포함된 평면을 감지하고, 평면들을 단순화하여 노이즈를 제거하는 후처리를 수행할 수 있다. 구체적으로, 후처리부(160)는 먼저 3차원 메시를 포인트클라우드(pointcloud)로 변환하고, RANSAC(Random Sample Consensus) 등의 세그멘테이션(segmentation) 기법으로 해당 포인트클라우드 내 포함되는 각각의 평면들을 구분할 수 있다.
이후, 각각의 평면들의 법선의 방향을 기반으로, 천장면과 바닥면을 구분할 수 있다. 구체적으로, 미리 정의된 수직방향과 각각의 평면들의 법선 방향을 비교하여, 해당 수직방향과 오차범위 내에서 일치하는 후보 평면들을 찾을 수 있다. 후보 평면들 중에서, 전체 좌표계의 중심을 기준으로 각각 위쪽과 아래쪽에 가장 많은 점들을 포함하는 후보 평면들을 찾아서, 각각 천장면과 바닥면으로 설정할 수 있다.
또한, 천장면과 바닥면의 법선 방향으로 설정범위 내 위치하는 점들은 해당 천장면 또는 바닥면으로 각각 투영하여, 천장면 또는 바닥면에 포함시킬 수 있다. 즉, 도6에 도시한 바와 같이, 각각의 천장면 또는 바닥면(plane)의 법선 방향에서 설정범위(threshold) 범위 내에 위치하는 각각의 점들을 찾을 수 있으며, 해당 점들을 평면으로 투영할 수 있다. 이를 통하여, 천장면이나 바닥면 주위에 위치하는 노이즈들을 천장면 또는 바닥면으로 정리하여 단순화시킬 수 있다.
이후, 후처리부(160)는 천장면과 바닥면을 제외한 나머지 점들을, 각각의 법선을 기준으로 측면으로 설정할 수 있다. 구체적으로, 천장면 또는 바닥면의 법선 벡터와 수직인 법선을 가지는 점들을 클러스터링할 수 있으며, 이때 해당 점들과 인접하는 점들을 더 포함하여 각각 법선 방향을 기준으로 클러스터링할 수 있다. 여기서, 클러스터링된 각각의 면들은 각각의 측면으로 구분할 수 있다. 즉, 천장면 또는 바닥면의 법선 벡터와 수직인 법선들을 가지는 점들은 실내 공간 내 측면에 해당하므로, 이를 클러스터링할 수 있다.
한편, 맨하탄 가정(Manhattan-world assumption)은 실내 공간 내 각각의 면들은 서로 직교하도록 생성된다는 것으로, 맨하탄 가정이 적용되는 경우에는, 천장면 또는 바닥면의 법선 방향을 직교좌표계 상의 z축으로 설정하면, 나머지 측면들은 각각 x축 및 y축에 대응하는 법선 방향을 가지는 것으로 정의할 수 있다. 따라서, x축 및 y축에 대응하는 법선 방향을 가지는 점들을 각각 클러스터링하여 측면으로 구분할 수 있다.
반면에, 맨하탄 가정이 적용되지 않는 경우에는, 측면들이 천장면과 바닥면의 법선과는 서로 직각을 이룰 수 있으나, 측면들 사이에는 서로 직각을 형성하지 않을 수 있다. 따라서, 천장면 또는 바닥면의 법선 벡터와 수직인 법선을 가지는 점들을 각각 클러스터링하는 방식으로 측면을 구분할 수 있다.
이후, 측면에 대하여도, 각각의 측면들의 법선 방향으로 설정범위 내 위치하는 점들을, 해당 측면으로 투영하여 측면에 각각 포함시킬 수 있다.
마지막으로, 천장면, 바닥면 및 측면이 각각 구분되면, 각각의 천장면 및 바닥면과, 측면벽들이 접하는 접선들을 검출하고, 접선들을 넘어가는 영역들이 존재하는 지 확인할 수 있다. 접선을 넘어가는 영역들이 존재하는 경우에는 해당 영역을 접선 내부로 각각 투영하여 제거할 수 있다. 즉, ERP 이미지는 실내공간을 촬영한 것이므로, 맨하탄 가정을 만족하는 경우, 천장면, 바닥면, 측면벽들을 결합하면 직육면체 형상으로 생성될 수 있다. 이때, 접선을 넘어가는 영역들은 해당 직육면체에서 삐져나온 영역에 해당하므로, 오차에 해당하는 영역으로 볼 수 있다. 따라서, 벗어난 영역들을 각각의 평면 상에 투영하여 제거함으로써, 전체 3차원 메시를 단순화하여 생성하는 것이 가능하다.
도7은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 환경(10)을 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 ERP 이미지 기반의 3차원 메시를 생성하는 장치(예를 들어, 3차원 메시 생성장치(100))일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
도8 및 도9는 본 발명의 일 실시예에 의한 ERP 이미지 기반의 3차원 메시 생성 방법을 나타내는 순서도이다. 여기서, 도8 및 도9의 각 단계들은 본 발명의 일 실시예에 의한 컴퓨팅 장치에 의하여 수행될 수 있다.
도8을 참조하면, 컴퓨팅 장치는 대상 환경에 대한 ERP 이미지를 수신할 수 있다(S110). 즉, 컴퓨팅 장치는 유, 무선 통신망을 통하여, ERP 이미지를 생성하는 360도 단안 카메라나 사용자의 단말장치 등으로부터 직접 ERP 이미지를 수신하거나, ERP 이미지를 저장한 별도의 서버나 저장장치 등을 통하여 ERP 이미지를 수신할 수 있다.
이후, 컴퓨팅 장치는 대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지를 생성할 수 있다(S120). 즉, 구체 도메인 상의 ERP 이미지가 입력되면, 컴퓨팅 장치는 해당 ERP 이미지를 변환하여 대응하는 큐브맵 도메인 상의 큐브맵 이미지를 생성할 수 있다. 큐브맵 이미지는 직육면체의 전개도에 대응하는 형태로 생성될 수 있으며, 대상 환경에 대응하는 각각의 전면, 후면, 좌측면, 우측면, 상면 및 하면이 각각 투시도 형태로 표시될 수 있다. 또한, 컴퓨팅 장치는 큐브맵 이미지 내 포함된 6개의 면들에 대응하는 6개의 투시도 이미지들을 각각 분할하여 투시도 이미지를 생성할 수 있다. 즉, 전면, 후면, 좌측면, 우측면, 상면 및 하면에 대응하는 각각의 6개의 투시도 이미지를 분할하여 생성할 수 있다.
컴퓨팅 장치는, 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 특정재질영역을 인페인팅 기법으로 제거할 수 있다(S130). 여기서, 특정재질영역은 투시 또는 반사되는 표면을 포함하는 것으로, 거울이나 유리, 금속표면 등일 수 있다.
컴퓨팅 장치는 인페인팅 기법으로 특정재질영역을 재설정할 수 있으며, 이때 해당 특정재질영역이 인접 영역과 동일한 재질로 나타나도록 재생성할 수 있다. 특정재질영역은 빛을 반사하거나 투영시켜 내부에 다른 공간이 존재하는 것처럼 나타내는 것이므로, 투시도 이미지를 기반으로 깊이 맵이나 법선 맵 등을 추정하기 전에, 특정재질영역의 빛을 반사하거나 투영하는 등의 특성을 제거할 필요가 있다. 따라서, 컴퓨팅 장치는 특정재질영역의 인접 영역과 동일한 재질로 그리도록 할 수 있다.
구체적으로, 컴퓨팅 장치는 투시도 이미지 내 특정재질영역을 마스킹 처리한 마스킹 영역을 포함하는 마스킹 이미지를 수신할 수 있다. 여기서, 마스킹 이미지는 전처리부(130) 내부에서 생성한 것일 수 있으며, 실시예에 따라서는, 작업자 등이 생성한 마스킹 이미지를 외부로부터 제공받는 것도 가능하다.
마스킹 이미지를 수신하면, 컴퓨팅 장치는 마스킹 영역과 접하는 인접 영역 내 위치하는 인접 픽셀들의 픽셀값을 기반으로 마스킹 영역 내부를 인페인팅할 수 있다. 실시예에 따라서는, 인접 픽셀들 중에서, 마스킹 영역과 수평방향으로 접하는 인접 픽셀들의 픽셀값들을 추출하고, 해당 픽셀값들을 보간하여 생성한 보간값으로 해당 마스킹 영역 내 픽셀값들을 재설정할 수 있다. 여기서, 수평방향으로 접하는 각각의 인접 픽셀들의 픽셀값을 기반으로 인페인팅을 수행함으로써, 인페인팅된 특정재질영역이 천장면이나 바닥면과는 구별되나, 해당 특정재질영역이 위치하는 측면과는 구별이 어렵게 되도록 구현할 수 있다.
이후, 컴퓨팅 장치는, 복수의 투시도 이미지를 이용하여, ERP 이미지에 대응하는 깊이 맵 및 법선 맵을 생성할 수 있다(S140). 여기서, 컴퓨팅 장치는 각각의 깊이 맵을 생성하는 깊이 추정 모델과, 법선 맵을 생성하는 법선 추정 모델을 활용하여 깊이 맵 및 법선 맵을 각각 생성할 수 있다. 깊이 추정 모델과 법선 추정 모델은, 딥러닝 모델이나 신경망 모델 등 다양한 방식으로 구현할 수 있으며, 입력되는 투시도 이미지에 대한 깊이값과 법선 벡터를 설정하여 대응하는 깊이 맵과 법선 맵을 생성하는 것이면, 어떠한 것도 활용할 수 있다.
실시예에 따라서는, 컴퓨팅 장치가 각각의 깊이 맵과 법선 맵들을 ERP 이미지에 대응하는 구체 도메인으로 변환하여, ERP 깊이 맵과 ERP 법선 맵을 각각 생성하는 것도 가능하다. 즉, 큐브맵 도메인 상에서 생성한 깊이 맵과 법선 맵들을 결합하고, 이를 다시 구체 도메인으로 변환함으로써 ERP 깊이 맵과 ERP 법선 맵을 생성할 수 있다. 이때, 컴퓨팅 장치는 깊이 맵과 법선 맵들을 파라미터화할 수 있으며, 깊이 맵들의 깊이값과 법선 맵들의 법선 벡터들을 업데이트하여, 각각의 깊이 맵과 법선 맵들 사이의 일관성을 유지하는 동시에 스케일이 매칭되도록 구현할 수 있다. 이후 업데이트된 깊이 맵과 법선 맵들을 기반으로 변환하여, ERP 깊이 맵과 ERP 법선 맵을 생성할 수 있다.
컴퓨팅 장치는, 메시생성모델을 이용하여 깊이 맵 및 상기 법선 맵에 대응하는 3차원 메시를 생성할 수 있다(S150). 즉, 컴퓨팅 장치는 각각의 투시도 이미지에 대응하는 복수의 깊이 맵과 법선 맵들을 메시생성모델에 입력하여, 해당 ERP 이미지에 대응하는 3차원 메시를 생성할 수 있다. 다만, 실시예에 따라서는, 각각의 ERP 깊이 맵과 ERP 법선 맵을 메시생성모델에 입력하여 3차원 메시를 생성하는 것도 가능하다.
여기서, 메시생성모델은 mono-SDF(Signed Distance Function) 등 뉴럴 렌더링(Neural Rendering)을 기반으로, 3차원 메시를 생성하는 것일 수 있다. 메시생성모델은 생성한 3차원 메시에서의 깊이 맵 및 법선 맵과, ERP 이미지로부터 생성한 깊이 맵 및 법선 맵의 차이인 깊이 손실 및 법선 손실을 포함하는 손실함수를 기반으로 학습하여 생성한 것일 수 있다.
여기서, 고정된 하이퍼파라미터를 사용하는 경우에는, 학습시 각각의 데이터들의 특성에 따라 최적의 하이퍼파라미터들을 설정할 필요가 있다. 다만, 매번 최적의 하이퍼파라미터를 찾아서 설정하는 것은 쉬운 일이 아니므로, 높은 성능의 3차원 메시를 생성하는 메시생성모델을 구현하기 어려울 수 있다.
다만, 컴퓨팅 장치는, 메시생성모델의 학습시 깊이 손실 및 법선 손실에 적용되는 각각의 가중치는 미리 설정된 스케줄링에 따라 변경하면서 학습하도록 할 수 있다. 즉, 깊이 손실에 적용되는 깊이 가중치는 초기 깊이 가중치부터 매 에폭(epoch)마다 감소시켜 목표 깊이 가중치에 도달하도록 하고, 법선 손실에 적용되는 법선 가중치는 초기 법선 가중치부터 매 에폭마다 증가시켜 목표 법선 가중치에 도달하도록 스케줄링을 설정할 수 있다. 이때. 초기 깊이 가중치는 초기 법선 가중치보다 크고, 목표 깊이 가중치는 목표 법선 가중치보다 작게 설정될 수 있다.
이 경우, 초기에는 깊이 가중치가 높고, 법선 가중치가 낮으므로, 초기에는 3차원 메시 내 벽 등의 구조를 거리에 맞게 어느 정도 생성하도록 할 수 있으며, 이후 학습이 진행되면서 깊이 가중치는 작고 법선 가중치를 높이게 되므로, 점차 3차원 메시 내 벽 등의 구조의 평면의 노이즈들이 제거되어 반듯하게 생성될 수 있다.
즉, 메시생성모델을 학습하면서, 하이퍼파라미터들을 고정된 값으로 사용하는 것이 아니라, 매 에폭마다 하이퍼파라미터들을 변화시키면서 학습을 진행함으로써, 최적의 하이퍼파라미터를 찾을 필요없이 높은 성능의 3차원 메시를 생성할 수 있는 메시생성모델을 학습시키는 것이 가능하다.
추가적으로, 메시생성모델이 생성한 3차원 메시의 경우, 일반적으로 내부의 지점들 사이의 상대적인 거리나 비율 등에 대한 정보를 제공할 수 있으나, 해당 지점들 사이의 실제 거리 등에 대한 정보를 제공하지는 못할 수 있다.
이에, 컴퓨팅 장치는, 3차원 메시 내 실제 거리값이 반영될 수 있도록, 메시생성모델의 학습시 깊이 손실에 추가적인 항목을 더 포함하여 학습하도록 할 수 있다. 즉, 대상 환경이 실내 공간인 경우, 3차원 메시의 깊이 맵 내 중심점의 깊이 값과, ERP 이미지를 촬영한 카메라의 카메라 높이값 사이의 차에 해당하는 추가 항목을, 깊이 손실에 추가로 더하는 방식으로 포함하여 학습할 수 있다. 이때, 컴퓨팅 장치는, 복수의 투시도 이미지 중에서 대상 환경의 바닥면에 대응하는 투시도 이미지에 대하여만 해당 추가 항목을 반영하여 학습하도록 할 수 있다.
360도 단안 카메라가 생성하는 ERP 이미지의 경우, 바닥면 내 중심점의 깊이 값은, 해당 360 단안 카메라의 카메라 높이에 대응한다. 따라서, 바닥면의 중심점의 깊이 값이 실제 카메라 높이에 접근하도록 손실함수를 설정하면, 생성된 3차원 메시에서 바닥면의 중심점의 깊이 값은 실제 카메라 높이값과 일치할 수 있다. 따라서, 3차원 메시 내 나머지 깊이 값들도 실제 거리값들에 대응하도록 나타나므로, 해당 메시생성모델은 실제 대상 환경의 거리 등을 측정하는 것이 가능한 메트릭 스케일이 반영된 생성된 3차원 메시를 생성하는 것이 가능하다.
컴퓨팅 장치는, 대상 환경이 실내 공간이면, 3차원 메시 내 포함된 평면을 감지하고, 평면들을 단순화하여 노이즈를 제거하는 후처리를 수행할 수 있다(S160). 구체적으로, 도9를 참조하면, 컴퓨팅 장치는, 먼저 3차원 메시를 포인트클라우드로 변환하고, RANSAC 등의 세그멘테이션 기법으로 해당 포인트클라우드 내 포함되는 각각의 평면들을 구분할 수 있다(S161).
이후, 각각의 평면들의 법선의 방향을 기반으로, 천장면과 바닥면을 구분할 수 있다(S162). 구체적으로, 미리 정의된 수직방향과 각각의 평면들의 법선 방향을 비교하여, 해당 수직방향과 오차범위 내에서 일치하는 후보 평면들을 찾을 수 있다. 후보 평면들 중에서, 전체 좌표계의 중심을 기준으로 각각 위쪽과 아래쪽에 가장 많은 점들을 포함하는 후보 평면들을 찾아서, 각각 천장면과 바닥면으로 설정할 수 있다.
여기서, 천장면과 바닥면의 법선 방향으로 설정범위 내 위치하는 점들은 해당 천장면 또는 바닥면으로 각각 투영하여, 천장면 또는 바닥면에 포함시킬 수 있다(S163). 이를 통하여, 천장면이나 바닥면 주위에 위치하는 노이즈들을 천장면 또는 바닥면으로 정리하여 단순화시킬 수 있다.
이후, 컴퓨팅 장치는, 천장면과 바닥면을 제외한 나머지 점들을, 각각의 법선을 기준으로 측면으로 설정할 수 있다. 구체적으로, 천장면 또는 바닥면의 법선 벡터와 수직인 법선을 가지는 점들을 클러스터링할 수 있으며, 이때 해당 점들과 인접하는 점들을 더 포함하여 각각 법선 방향을 기준으로 클러스터링할 수 있다. 여기서, 클러스터링된 각각의 면들은 각각의 측면으로 구분할 수 있다(S164). 즉, 천장면 또는 바닥면의 법선 벡터와 수직인 법선들을 가지는 점들은 실내 공간 내 측면에 해당하므로, 이를 클러스터링할 수 있다.
한편, 맨하탄 가정(Manhattan-world assumption)은 실내 공간 내 각각의 면들은 서로 직교하도록 생성된다는 것으로, 맨하탄 가정이 적용되는 경우에는, 천장면 또는 바닥면의 법선 방향을 직교좌표계 상의 z축으로 설정하고, 나머지 측면들은 각각 x축 및 y축에 대응하는 법선 방향을 가지는 것으로 정의할 수 있다. 따라서, x축 및 y축에 대응하는 법선 방향을 가지는 점들을 각각 클러스터링하여 측면으로 구분할 수 있다.
반면에, 맨하탄 가정이 적용되지 않는 경우에는, 측면들이 천장면과 바닥면의 법선과는 서로 직각을 이룰 수 있으나, 측면들 사이에는 서로 직각을 형성하지 않을 수 있다. 따라서, 천장면 또는 바닥면의 법선 벡터와 수직인 법선을 가지는 점들을 각각 클러스터링하는 방식으로 측면을 구분할 수 있다.
이후, 측면에 대하여도, 각각의 측면들의 법선 방향으로 설정범위 내 위치하는 점들을, 해당 측면으로 투영하여 측면에 각각 포함시킬 수 있다(S165).
천장면, 바닥면 및 측면이 각각 구분되면, 컴퓨팅 장치는 각각의 천장면 및 바닥면과, 측면벽들이 접하는 접선들을 검출하고, 접선들을 넘어가는 영역들이 존재하는 지 확인할 수 있다. 접선을 넘어가는 영역들이 존재하는 경우에는 해당 영역을 접선 내부로 각각 투영하여 제거할 수 있다(S166). 즉, ERP 이미지는 실내공간을 촬영한 것이므로, 맨하탄 가정을 만족하는 경우, 천장면, 바닥면, 측면벽들을 결합하면 직육면체 형상으로 생성될 수 있다. 이때, 접선을 넘어가는 영역들은 해당 직육면체에서 삐져나온 영역에 해당하므로, 오차에 해당하는 영역으로 볼 수 있다. 따라서, 벗어난 영역들을 각각의 평면 상에 투영하여 제거함으로써, 전체 3차원 메시를 단순화하여 생성하는 것이 가능하다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
Claims (14)
- 컴퓨팅 장치를 이용한, ERP(Equirectangular Project) 이미지 기반의 3차원 메시(mesh) 생성방법에 있어서,대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지(perspective image)를 생성하는 단계;상기 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 상기 특정재질영역을 인페인팅 기법으로 제거하는 단계;상기 복수의 투시도 이미지를 이용하여, 상기 ERP 이미지에 대응하는 깊이 맵 및 법선 맵을 생성하는 단계; 및메시생성모델을 이용하여, 상기 깊이 맵 및 상기 법선 맵에 대응하는 3차원 메시를 생성하는 단계를 포함하는, ERP 이미지 기반의 3차원 메시 생성방법.
- 제1항에 있어서, 상기 특정재질영역은투시 또는 반사되는 표면을 포함하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제1항에 있어서, 상기 인페인팅 기법으로 제거하는 단계는상기 인페인팅 기법을 이용하여, 상기 특정재질영역을 상기 특정재질영역의 인접 영역과 동일한 재질로 재생성하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제1항에 있어서, 상기 인페이팅 기법으로 제거하는 단계는상기 투시도 이미지 내 상기 특정재질영역을 마스킹(masking) 처리한 마스킹 영역을 포함하는 마스킹 이미지를 수신하는 단계; 및상기 마스킹 영역과 접하는 인접 영역 내 위치하는 인접 픽셀들의 픽셀값을 기반으로 상기 마스킹 영역 내부를 인페인팅하는 단계를 포함하는, ERP 이미지 기반의 3차원 메시 생성방법.
- 제4항에 있어서, 상기 인페인팅하는 단계는상기 마스킹 영역과 수평방향으로 접하는 인접 픽셀들의 픽셀값을 보간(interpolation)하여 보간값을 생성하고, 상기 보간값으로 상기 마스킹 영역 내 픽셀값들을 재설정하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제1항에 있어서, 상기 메시생성모델은,상기 3차원 메시의 깊이 맵 및 법선 맵과, 상기 ERP 이미지로부터 생성한 깊이 맵 및 법선 맵의 차이인 깊이 손실 및 법선 손실을 포함하는 손실함수를 기반으로 학습하여 생성한 것으로,학습시, 상기 깊이 손실 및 법선 손실에 적용되는 각각의 가중치는 미리 설정된 스케줄링에 따라 변경되는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제6항에 있어서, 상기 스케줄링은상기 깊이 손실에 적용되는 깊이 가중치는 초기 깊이 가중치부터 매 에폭(epoch)마다 감소시켜 목표 깊이 가중치에 도달하도록 하고, 상기 법선 손실에 적용되는 법선 가중치는 초기 법선 가중치부터 매 에폭마다 증가시켜 목표 법선 가중치에 도달하도록 설정된 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제7항에 있어서,상기 초기 깊이 가중치는 상기 초기 법선 가중치보다 크고, 상기 목표 깊이 가중치는 상기 목표 법선 가중치보다 작은 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제6항에 있어서, 상기 메시생성모델은상기 대상 환경이 실내 공간이면, 상기 3차원 메시의 깊이 맵 내 중심점의 깊이 값과 상기 ERP 이미지를 촬영한 카메라의 카메라 높이값 사이의 차에 해당하는 추가 항목을, 상기 깊이 손실에 더 포함하여 학습하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제9항에 있어서, 상기 메시생성모델은상기 복수의 투시도 이미지 중에서, 상기 대상 환경의 바닥면에 대응하는 투시도 이미지에 대하여 상기 추가 항목을 반영하여 학습하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제1항에 있어서,상기 대상 환경이 실내 공간이면, 상기 3차원 메시 내 포함된 평면을 감지하고, 상기 평면들을 단순화하여 노이즈를 제거하는 후처리 단계를 더 포함하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 제11항에 있어서, 상기 후처리 단계는상기 3차원 메시를 포인트클라우드로 변환하고, 세그멘테이션(segmentation) 기법으로 상기 포인트클라우드 내 포함되는 각각의 평면들을 구분하는 단계;상기 평면들의 법선의 방향을 기반으로, 천장면과 바닥면을 구분하는 단계;상기 천장면과 바닥면의 법선 방향으로 설정범위 내 위치하는 점들을 상기 천장면 또는 바닥면으로 투영하여, 상기 천장면 또는 바닥면에 포함시키는 단계;상기 천장면 또는 바닥면의 법선 벡터와 수직인 법선을 가지는 점들을 클러스터링하여 각각의 측면으로 구분하는 단계;상기 측면들의 법선 방향으로 설정범위 내 위치하는 점들을, 상기 측면으로 투영하여 상기 측면에 각각 포함시키는 단계; 및상기 천장면 및 바닥면과, 상기 측면벽들이 접하는 접선들을 검출하고, 상기 접선들을 넘어가는 영역들은 상기 접선 내부로 각각 투영하는 단계를 포함하는, ERP 이미지 기반의 3차원 메시 생성방법.
- 제12항에 있어서, 상기 각각의 측면으로 구분하는 단계는맨하탄 가정(Manhattan-world assumption)이 적용되는 경우, 상기 천장면 또는 바닥면의 법선 방향을 직교좌표계 상의 z축으로 설정하고, 나머지 x축 및 y축에 대응하는 법선 방향을 가지는 점들을 각각 클러스터링하여 상기 측면으로 구분하는 것인, ERP 이미지 기반의 3차원 메시 생성방법.
- 프로세서를 포함하며, ERP(Equirectangular Project) 이미지 기반의 3차원 메시(mesh) 생성하는 컴퓨팅 장치에 있어서,상기 프로세서는,대상 환경에 대한 ERP 이미지를 변환하여 복수의 투시도 이미지를 생성하는 것;상기 복수의 투시도 이미지 중에서 특정재질영역이 포함된 투시도 이미지가 존재하면, 상기 특정재질영역을 인페인팅 기법으로 제거하는 것;상기 복수의 투시도 이미지를 이용하여, 상기 ERP 이미지에 대응하는 깊이 맵 및 법선 맵을 생성하는 것; 및메시생성모델을 이용하여, 상기 깊이 맵 및 상기 법선 맵에 대응하는 3차원 메시를 생성하는 것을 포함하여 수행하는, 컴퓨팅 장치.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230160309A KR102817940B1 (ko) | 2023-11-20 | 2023-11-20 | Erp 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치 |
| KR10-2023-0160309 | 2023-11-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025110438A1 true WO2025110438A1 (ko) | 2025-05-30 |
Family
ID=95826884
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2024/013621 Pending WO2025110438A1 (ko) | 2023-11-20 | 2024-09-09 | Erp 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치 |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR102817940B1 (ko) |
| WO (1) | WO2025110438A1 (ko) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220167824A (ko) * | 2021-06-14 | 2022-12-22 | 크레플 주식회사 | 인공지능 기반의 노이즈 제거에 따른 이미지 구축을 통한 불량 검출 시스템 및 방법 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102126561B1 (ko) | 2018-07-23 | 2020-06-24 | 주식회사 쓰리아이 | 적응적 삼차원 공간 생성방법 및 그 시스템 |
-
2023
- 2023-11-20 KR KR1020230160309A patent/KR102817940B1/ko active Active
-
2024
- 2024-09-09 WO PCT/KR2024/013621 patent/WO2025110438A1/ko active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220167824A (ko) * | 2021-06-14 | 2022-12-22 | 크레플 주식회사 | 인공지능 기반의 노이즈 제거에 따른 이미지 구축을 통한 불량 검출 시스템 및 방법 |
Non-Patent Citations (4)
| Title |
|---|
| ISLAM MD NAZRUL, TAHTALI MURAT, PICKERING MARK: "Specular Reflection Detection and Inpainting in Transparent Object through MSPLFI", REMOTE SENSING (BASEL, SWITZERLAND), MDPI AG, BASEL, vol. 13, no. 3, Basel, pages 455, XP093317995, ISSN: 2072-4292, DOI: 10.3390/rs13030455 * |
| NAOFUMI AKIMOTO; YUHI MATSUO; YOSHIMITSU AOKI: "Diverse Plausible 360-Degree Image Outpainting for Efficient 3DCG Background Creation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 28 March 2022 (2022-03-28), 201 Olin Library Cornell University Ithaca, NY 14853, XP091185438 * |
| SCHWANDT TOBIAS; BROLL WOLFGANG: "A Single Camera Image Based Approach for Glossy Reflections in Mixed Reality Applications", 2016 IEEE INTERNATIONAL SYMPOSIUM ON MIXED AND AUGMENTED REALITY (ISMAR), IEEE, 19 September 2016 (2016-09-19), pages 37 - 43, XP033023405, DOI: 10.1109/ISMAR.2016.12 * |
| ZHANG ZHAOXUAN; DONG BO; LI TONG; HEIDE FELIX; PEERS PIETER; YIN BAOCAI; YANG XIN: "Single Depth-image 3D Reflection Symmetry and Shape Prediction", 2023 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), IEEE, 1 October 2023 (2023-10-01), pages 8862 - 8872, XP034514655, DOI: 10.1109/ICCV51070.2023.00817 * |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102817940B1 (ko) | 2025-06-09 |
| KR20250073862A (ko) | 2025-05-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11270460B2 (en) | Method and apparatus for determining pose of image capturing device, and storage medium | |
| WO2022265347A1 (en) | Three-dimensional scene recreation using depth fusion | |
| CN109697728B (zh) | 数据处理方法、装置、系统和存储介质 | |
| Sola et al. | Fusing monocular information in multicamera SLAM | |
| WO2022086200A1 (ko) | 파노라마 영상으로부터 공간 모델을 생성하는 서버, 방법 및 컴퓨터 프로그램 | |
| CN115035162A (zh) | 基于视觉slam的监控视频人员定位跟踪方法及系统 | |
| WO2013151270A1 (en) | Apparatus and method for reconstructing high density three-dimensional image | |
| WO2023169281A1 (zh) | 图像配准方法、装置、存储介质及电子设备 | |
| WO2021025242A1 (ko) | 전자 장치 및 그의 실내 환경에서 반사에 의한 객체 허상을 식별하기 위한 방법 | |
| WO2023082822A1 (zh) | 图像数据的处理方法和装置 | |
| CN115205134B (zh) | 相机模组的畸变映射数据生成方法和畸变矫正方法 | |
| WO2015008932A1 (ko) | 증강현실에서의 원격 협업을 위한 디지로그 공간 생성기 및 그를 이용한 디지로그 공간 생성 방법 | |
| WO2021142843A1 (zh) | 图像扫描方法及装置、设备、存储介质 | |
| CN116723385A (zh) | 处理构图的方法、装置、设备和存储介质 | |
| WO2025110438A1 (ko) | Erp 이미지 기반의 3차원 메시 생성방법 및 이를 이용하는 컴퓨팅 장치 | |
| WO2025105599A1 (ko) | Erp 이미지 기반의 깊이 추정 방법 및 이를 이용하는 컴퓨팅 장치 | |
| WO2025121551A1 (ko) | 영상 기반의 실내 평면도 생성 방법 및 이를 이용하는 컴퓨팅 장치 | |
| CN113436247B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
| KR20240086004A (ko) | 디지털 휴먼 실감 가시화를 위한 컴퓨팅 장치 및 방법 | |
| WO2023279868A1 (zh) | 同步定位与建图初始化方法、装置及存储介质 | |
| CN102566831B (zh) | 一种目标定位方法、装置及图像显示设备 | |
| CN114742930A (zh) | 图像生成方法、装置、设备及存储介质 | |
| CN107608077B (zh) | 一种多光源位置估计方法 | |
| WO2024071653A1 (ko) | 시차 분석을 기반으로 하는 거리맵 산출 방법 및 그를 위한 시스템 | |
| KR20250062237A (ko) | 신경방사필드 모델 기반의 3차원 공간 복원 방법 및 이를 이용하는 컴퓨팅 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24894334 Country of ref document: EP Kind code of ref document: A1 |