WO2023128100A1 - 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템 - Google Patents

3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템 Download PDF

Info

Publication number
WO2023128100A1
WO2023128100A1 PCT/KR2022/010580 KR2022010580W WO2023128100A1 WO 2023128100 A1 WO2023128100 A1 WO 2023128100A1 KR 2022010580 W KR2022010580 W KR 2022010580W WO 2023128100 A1 WO2023128100 A1 WO 2023128100A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
user terminal
photographing
degree
model
Prior art date
Application number
PCT/KR2022/010580
Other languages
English (en)
French (fr)
Inventor
김켄
정지욱
루스탐 욱리 후다이베르가노브파르호드
이미하일
Original Assignee
주식회사 쓰리아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쓰리아이 filed Critical 주식회사 쓰리아이
Priority to JP2022564794A priority Critical patent/JP2024506763A/ja
Publication of WO2023128100A1 publication Critical patent/WO2023128100A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Definitions

  • This application relates to a method for providing a 3D virtual model and a system for providing a 3D virtual model therefor.
  • the digital twin or metaverse is based on technologies that provide virtual space based on real space.
  • a virtual 3D model which is a three-dimensional virtual image, based on image information and distance information of the real space to be implemented.
  • One technical aspect of the present application is to solve the above problems of the prior art, and to provide a three-dimensional virtual space corresponding to the indoor space based on a photographic data set collected from various photographing points in the indoor space. do.
  • an object of the present invention is to improve the accuracy of a 3D virtual model by efficiently and accurately calculating distance information between various photographing points in an indoor space.
  • the 3D virtual model providing system includes a user terminal and a server.
  • the user terminal derives relative movement information from a previous capturing point to a corresponding capturing point at each of a plurality of capturing points in a real indoor space, generates location information about the corresponding capturing point, and uses the corresponding capturing point as a reference.
  • a 360-degree color image and a 360-degree depth map image are created to create a shooting data set for the corresponding shooting point.
  • the server receives a plurality of photographing data sets for each of a plurality of photographing points in the real indoor space from the user terminal, and a 360-degree color image and a 360-degree depth map generated at each photographing point of the plurality of photographing points
  • a point group is created by associating images with each unit pixel position and setting a distance value and color value for each unit pixel.
  • the point group is individually generated for each photographing point, and the server positionally associates a plurality of point groups, each individually generated for each of the plurality of photographing points, based on the location information to form one integrated point group. is formed, and a 3D virtual model is created based on the integration point group.
  • the 3D model generating method is a 3D model generating method performed in a system including a user terminal and a server providing a virtual 3D model corresponding to a real indoor space in conjunction with the user terminal, wherein the user terminal , A plurality of photographing data sets at each of a plurality of photographing points in the real indoor space-
  • the photographing data set is a 360-degree color image generated based on any one of the plurality of photographing points, based on any one of the photographing points
  • FIG. 1 is a diagram illustrating a system for providing a 3D virtual model according to an embodiment disclosed in the present application.
  • FIG. 2 is a diagram illustrating an example of use of a user terminal and a driven auxiliary device according to an embodiment disclosed in the present application.
  • FIG. 3 is a block configuration diagram illustrating a driven auxiliary device according to an exemplary embodiment disclosed in the present application.
  • FIG. 4 is a block diagram illustrating a user terminal according to an embodiment disclosed in the present application.
  • FIG. 5 is a diagram for explaining an example of photographing at a plurality of photographing points in an indoor space.
  • FIG. 6 is a diagram illustrating an example of a control method performed in a user terminal according to an embodiment disclosed in the present application.
  • FIG. 7 is a diagram for explaining another example of a control method performed in a user terminal according to an embodiment disclosed in the present application.
  • FIG. 8 is a block diagram illustrating a server according to an embodiment disclosed in the present application.
  • FIG. 9 is a diagram for explaining an example of a control method performed in a server according to an embodiment disclosed in the present application.
  • FIG. 10 is a diagram for explaining another example of a control method performed in a server according to an embodiment disclosed in the present application.
  • 11 to 15 are diagrams for explaining a texturing method performed in a server according to an exemplary embodiment disclosed in the present application.
  • expressions such as “has,” “can have,” “includes,” or “can include” indicate the presence of a corresponding feature (eg, numerical value, function, operation, or component such as a part). , which does not preclude the existence of additional features.
  • Terms such as “first”, “second”, or “first” or “second” may simply be used to distinguish that component from other corresponding components, and may refer to that component in other aspects (e.g., importance or order).
  • a (e.g., first) component is “coupled” to another (e.g., second) component, with or without the terms “functionally” or “communicatively”.
  • connection or “connected” it means that the certain component can be connected to the other component directly or through a third component.
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented with hardware or software, or a combination of hardware and software.
  • a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • Various embodiments of the present application may be implemented as software (eg, a program) including one or more instructions stored in a storage medium readable by a machine.
  • the processor 301 may call at least one command among one or more commands stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term means that data is stored semi-permanently in the storage medium. It does not distinguish between the case and the case of temporary storage.
  • FIG. 1 is a diagram illustrating a system for providing a 3D virtual model according to an embodiment disclosed in the present application.
  • the system for providing a 3D virtual model may include a user terminal 200 , a driving type shooting assist device 200 and a server 300 .
  • the user terminal 200 is an electronic device for generating a shooting data set at each shooting point in an indoor space, and is a portable electronic device including a camera and a distance measurement sensor.
  • the user terminal 200 includes a smart phone, a tablet PC, a laptop computer, personal digital assistants (PDA), a portable multimedia player (PMP), and a watch type terminal (smartwatch). ) or a wearable device such as a glass terminal (smart glass).
  • the user terminal 200 may generate a color image expressed in color.
  • a color image encompasses all images expressed in color, and is not limited to a specific expression method. Accordingly, the color image can be applied in various standards, such as not only an RGB image expressed in RGB (Red Green Blue), but also a CMYK image expressed in CMYK (Cyan Magenta Yellow Key).
  • the user terminal 200 is a device capable of generating a depth map image by generating depth information.
  • a depth map image is an image including depth information about a subject space.
  • each pixel in the depth map image may be distance information from an imaging point to each point in the subject space captured - a point corresponding to each pixel.
  • the user terminal 200 may generate a 360-degree color image and a 360-degree depth map image at a plurality of photographing points located indoors, respectively. Also, the user terminal 200 may generate location information for each of the plurality of photographing points.
  • the user terminal 200 may individually create a photographing data set for each of a plurality of photographing points located indoors.
  • the photographing data set may include a 360-degree color image, a 360-degree depth map image, and location information of the corresponding photographing point.
  • location information of each point may be based on relative location information generated based on the previous point. Since it is difficult to calculate absolute location information such as GPS (Global Positioning System) for an indoor space, the user terminal 200 generates relative movement information based on image recognition and changes in inertial measurement data, and based on this, the user terminal 200 generates location information. information can be set.
  • GPS Global Positioning System
  • the user terminal 200 is fixed to the driving type shooting assistance device 200 and controls driving of the driving type shooting assistance device 200 to enable 360-degree shooting. Since the user terminal 200 itself cannot be driven in rotation, the user terminal 200 can move smoothly at 360 degrees by including the drive-type photographing assisting device 200 driven under the control of the user terminal 200 in the present system. It is also possible to take pictures—that is, create 360-degree color images and 360-degree depth map images.
  • the server 300 may receive, from the user terminal 200, a plurality of photographing data sets generated at various photographing points in the room.
  • the server 300 may generate a 3D virtual model, which is a 3D virtual space corresponding to the indoor space, using a plurality of photographing data sets, that is, color images and depth map images respectively generated at various points in the room. .
  • the server 300 receives a plurality of photographing data sets for each of a plurality of photographing points in a real indoor space from a user terminal, and generates a 360-degree color image and a 360-degree depth generated at each photographing point of the plurality of photographing points.
  • a point group may be created by associating map images with each unit pixel position and setting a distance value and color value for each unit pixel.
  • the point group may be individually created for each capturing point.
  • the server 300 may form one integrated point group by positionally associating a plurality of point groups individually generated for each of a plurality of capturing points based on location information.
  • the server 300 may generate a 3D virtual model based on the integration point group.
  • the server 300 may provide a 3D virtual space corresponding to a real space by providing a 3D virtual model to the user terminal 200 or other terminals.
  • FIG. 2 is a diagram illustrating an example of use of a user terminal and a driven auxiliary device according to an embodiment disclosed in the present application.
  • the user terminal 200 may be fixed to the top of the driven auxiliary device 100, and the driven auxiliary device 100 rotates the rotation unit on which the user terminal 200 is mounted so that the user terminal 200 rotates 360 degrees. It can operate so that it can be photographed.
  • the driven auxiliary device 100 may use a height compensating member such as the tripod 101, and information on the photographing height HC of the camera reflecting the height compensating member may be input by the user or a preset height- It may be provided to the server 300 as a pre-set using a standardized height compensating member.
  • a height compensating member such as the tripod 101
  • information on the photographing height HC of the camera reflecting the height compensating member may be input by the user or a preset height- It may be provided to the server 300 as a pre-set using a standardized height compensating member.
  • FIG. 3 is a block configuration diagram illustrating a driven auxiliary device according to an exemplary embodiment disclosed in the present application.
  • the terminal holder 100 may include a rotating part 110 and a main body part 120 .
  • the user terminal 200 is mounted on the rotation unit 110 and can be rotated by the operation of the motor unit 121 .
  • the photographing direction of the user terminal 200 may be changed according to the rotation of the rotating unit 110 .
  • the rotation direction and rotation speed of the rotation unit 110 may be changed according to the driving of the motor unit 121 .
  • the rotation unit 110 may include a fixing table, a fastener, and a rotating table.
  • the fixing table and fasteners may be placed on the rotating table.
  • the holder and the fastener may fix the user terminal 200 .
  • the rotary table may rotate according to the operation of the motor unit 121, and for this purpose, the rotary table may be mechanically connected to the motor unit 121.
  • the body unit 120 may include a motor unit 121 , a control unit 122 and a communication unit 123 .
  • the control unit 122 may control the operation of the terminal holder 100 by controlling components of the body unit 120 .
  • the communication unit 123 may perform a communication connection with the user terminal 200 and receive a control signal for driving the terminal holder 100 from the user terminal 200 .
  • the communication unit 123 may establish a communication connection with the user terminal 200 using at least one of a short-distance communication module and wired communication.
  • the control unit 122 may control driving of the rotation unit 110 by driving the motor unit 121 in response to the control signal received through the communication unit 123 .
  • FIG. 4 is a block diagram illustrating a user terminal according to an embodiment disclosed in the present application.
  • the user terminal 200 includes a camera 210, a distance measurement sensor 220, a measurement sensor 230, a communication module 240, a processor 250, and a memory 260.
  • the configuration of the user terminal 200 is not limited to the configurations listed above or the names of each component.
  • a battery for supplying power to the user terminal 200 may be included in the user terminal 200 .
  • the user terminal 200 or the processor 250 is expressed as a subject of control, instruction, or function by driving an application, but this is because the processor 250 operates by driving an instruction or application stored in the memory 260.
  • the camera 210 may include at least one camera.
  • Camera 210 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the camera 210 may capture a front image of the user terminal 200 .
  • the shooting direction of the camera 210 may be rotated, and through this, 360-degree shooting is possible.
  • 360-degree shooting by the camera 210 can be implemented in various ways according to embodiments. For example, images are taken at each predetermined angle, and the processor 250 may generate a 360-degree color image by matching them.
  • a front image may be taken at each predetermined angle through 360-degree rotation, provided to the server 300, and the server 300 may generate a 360-degree image by matching them.
  • the distance measuring sensor 220 may measure the distance of the subject from the user terminal 200 .
  • a LiDAR sensor, an infrared sensor, an ultrasonic sensor, or the like may be used as the distance measurement sensor 220 .
  • it may be implemented as a stereo camera, a stereoscopic camera, or a 3D depth camera capable of measuring distance information by replacing the distance measurement sensor 220. there is.
  • a depth map image may be created based on measurements of the ranging sensor 220 .
  • a depth map image is an image including depth information about a subject space. For example, each pixel in the depth map image may be distance information from an imaging point to each point in the subject space captured - a point corresponding to each pixel.
  • the 360 degree color image and 360 degree depth map image may be a panoramic image suitable for covering 360 degrees, eg an equirectangular projection panoramic image.
  • the inertial measurement sensor 230 may detect an inertial characteristic of the user terminal 200 and generate an electrical signal or data value corresponding to the sensed state.
  • the inertial measurement sensor 230 may include a gyro sensor and an acceleration sensor. Data measured by the inertial measurement sensor 230 is hereinafter referred to as inertial sensing data.
  • the communication module 240 may include one or more modules enabling communication between the user terminal 200 and the driven photographing assist device 100 or between the user terminal 200 and the server 300 .
  • the communication module 240 may include at least one of a mobile communication module, a wireless Internet module, and a short-distance communication module.
  • the processor 250 may control at least some of the components shown in FIG. 3 to drive an application program stored in the memory 260, that is, an application. Furthermore, the processor 250 may combine and operate at least two or more of the components included in the mobile terminal 100 to drive the application program. The processor 250 may run an application by executing instructions stored in the memory 260 .
  • the processor 250 controls overall operations of the user terminal 200 in addition to operations related to the application program.
  • the processor 250 may provide or process appropriate information or functions to a user by processing signals, data, information, etc. input or output through the components described above or by running an application program stored in the memory 260.
  • the processor 250 may be implemented as one processor or a plurality of processors.
  • the processor 250 may generate relative positional information about an indoor point from which an omnidirectional image was acquired by using a change in the front image and a change in inertial sensing data. For example, the processor 250 calculates a corresponding capture point from a previous capture point based on a change in the front image and a change amount of inertial sensing data from the previous capture point to the corresponding capture point for each of several capture points in the indoor space. A relative positional change up to may be generated and set as relative movement information.
  • the processor 250 extracts at least one feature point from a front image, and visual movement information of the mobile terminal based on a change in the extracted at least one feature point - the visual movement information is selected from among a movement direction and a movement distance. contains at least one - can be created.
  • the processor 250 generates inertial movement information of the mobile terminal, wherein the inertial movement information includes at least one of a movement direction and a movement distance, using a change amount of inertial sensing data, and inertial movement
  • the relative location information may be generated by verifying visual movement information based on the information.
  • the processor 250 when outlier data exceeding a predetermined threshold value, wherein the threshold value includes at least one of a direction change threshold value and a movement distance threshold value, is generated in the visual movement information, visually It is possible to determine whether to apply the outlier data by comparing data of the inertial movement information corresponding to the outlier data of the movement information with the outlier data.
  • the processor 250 may control driving of the driving type photographing assistance device 100 to rotate the rotating part of the driving type photography assistance device 100 by 360 degrees.
  • FIG. 7 is a diagram for explaining an example of a control method performed in a user terminal, and will be further described with reference to FIG. 7 .
  • the processor 250 may control the communication module 240 to establish a communication connection with the driven photographing assistance device 100, for example, short-range wireless communication (S701).
  • the processor 250 may control a camera to capture a 360-degree image as well as control a rotational motion of the capturing device (S702).
  • the processor 250 may control the driving of the distance measuring sensor 220 as well as the rotation of the photographing assistant to perform 360-degree measurement (S703). .
  • the processor 250 may generate a 360 degree color image based on an image captured by the camera 210 and a 360 degree depth map image based on measurement data of the distance measuring sensor 220 .
  • the server 300 may also generate such a 360-degree color image or a 360-degree depth map image.
  • the processor 250 performs 360-degree shooting by controlling the shooting of the camera during the first rotation by the driven shooting assist device 100, and detects the distance measurement sensor 220 during the second rotation. It can perform 360 degree sensing by controlling.
  • the processor 250 controls the operation of the driven shooting assist device 100 at any one shooting point in the indoor space so that the shooting direction of the user terminal is first rotated by 360 degrees so that at any one shooting point. It can create 360-degree color images.
  • the processor 250 may generate a 360-degree depth map image at any one capturing point by controlling the operation of the driven photographing assistance device 100 so that the photographing direction of the user terminal is rotated secondly by 360 degrees.
  • the processor 250 includes relative distance information for each point in the indoor space, a 360-degree color image-or a plurality of color images for generating them- and a 360-degree depth map image-or a plurality of depth map images for generating them- may be stored as one data set, that is, a photographing data set, and provided to the server 300.
  • FIG. 5 is a diagram for explaining an example of capturing at a plurality of capturing points in an indoor space
  • FIG. 6 is a diagram for explaining an example of a control method performed in a user terminal according to an embodiment disclosed in the present application.
  • FIGS. 5 and 6 a method of generating a photographing data set performed in a user terminal will be described.
  • the user may perform 360-degree shooting at the start shooting point SP.
  • the user may set a start shooting point (SP) in a plan view displayed on the user terminal 200 (S601).
  • the user may input a photographing command through software installed in the user terminal 200, and the user terminal 200 may perform 360-degree photographing and sensing by controlling the operation of the driven photographing assist device 100 ( S602).
  • the user terminal 200 may generate a shooting data set for the start shooting point SP, including location information of the set start shooting point SP, and a 360-degree color image and a 360-degree depth image captured at the location. (S603).
  • the user may move from the start capturing point SP to the first capturing point P1, and during this movement, the camera 210 of the user terminal 200 may capture an image during movement.
  • the user terminal 200 generates a relative position change from the start capture point SP to the first capture point P1 based on the image change for the image during movement and the amount of change in inertial sensing data, and converts this to relative movement information. It can be set as (S604).
  • the user may perform 360-degree photographing and sensing at the first photographing point P1 to generate a 360-degree color image and a 360-degree depth image for the first photographing point SP1 (S605).
  • the user terminal 200 may generate a photographing data set for the first photographing point P1 by including relative location information in the generated 360-degree color image and 360-degree depth image (S606).
  • the user terminal 200 may transmit all created photographing data sets to the server 300 .
  • the server 300 may include a communication module 310 , a memory 320 and a processor 330 .
  • a communication module 310 may be included in the server 300 .
  • a memory 320 may be included in the server 300 .
  • a processor 330 may be included in the server 300 .
  • such a configuration is exemplary, and it is of course that new configurations may be added or some configurations may be omitted in addition to such configurations in carrying out the present disclosure.
  • the communication module 310 may perform communication with the user terminal 200 .
  • the processor 330 may receive various data or information from the user terminal 200 connected through the communication module 310, and may transmit various data or information to an external device.
  • the communication module 310 is applicable to various communication modules, and may support wired communication or wireless communication.
  • At least one command for the electronic device 300 may be stored in the memory 320 .
  • An operating system (O/S) for driving the electronic device 300 may be stored in the memory 320 .
  • various software programs or applications for operating the server 300 may be stored in the memory 320 according to various embodiments of the present disclosure.
  • the memory 320 may include a semiconductor memory such as a flash memory or a magnetic storage medium such as a hard disk.
  • various software modules for operating the server 300 may be stored in the memory 320 according to various embodiments of the present disclosure, and the processor 330 executes various software modules stored in the memory 320 to Operations of the server 300 may be controlled. That is, the memory 320 is accessed by the processor 330, and data can be read/written/modified/deleted/updated by the processor 330.
  • various information required within the scope of achieving the object of the present disclosure may be stored in the memory 320, and the information stored in the memory 320 may be updated as received from an external device or input by a user. .
  • the processor 330 controls overall operations of the electronic device 300 . Specifically, the processor 330 is electrically connected to other components of the electronic device 300 including the communication module 310 and the memory 320 as described above, and at least one command stored in the memory 320 It is possible to control the overall operation of the server 300 by executing.
  • Processor 330 can be implemented in a variety of ways.
  • the processor 330 may include an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor Processor, DSP) may be implemented as at least one.
  • ASIC application specific integrated circuit
  • FSM hardware finite state machine
  • DSP digital signal processor Processor
  • the term processor 330 may be used to include a Central Processing Unit (CPU), a Graphic Processing Unit (GPU), and a Main Processing Unit (MPU).
  • CPU Central Processing Unit
  • GPU Graphic Processing Unit
  • MPU Main Processing Unit
  • FIG. 9 is a diagram for explaining an example of a control method performed in a server according to an embodiment disclosed in the present application, and an operation of generating a virtual 3D model of the processor 330 is described with reference to FIG. 9 do.
  • the processor 330 may receive a plurality of photographing data sets for each of a plurality of photographing points in a real indoor space from the user terminal 200 (S901).
  • the processor 330 associates the 360-degree color image and the 360-degree depth map image generated at each of the plurality of shooting points for each unit pixel position, and sets a distance value and color value for each unit pixel to form a point group It can be created (S902).
  • the point group may be individually created for each capturing point.
  • a plurality of point groups may be individually created based on an independent coordinate system for each capturing point. That is, the processor 330 associates the 360-degree color image and the 360-degree depth map image generated at each shooting point for each location of a unit pixel, and generates points having respective distance values and color values to generate point groups can do.
  • These point groups are created individually for each photographing point, and can be created based on a 3D absolute coordinate system in which the position of the camera is located on one axis.
  • the processor 330 may form one integrated point group by reflecting the positions of a plurality of point groups generated on the basis of each independent coordinate system to one coordinate system.
  • the processor 330 may form an integrated point group by arranging each of the plurality of point groups generated on the basis of an independent coordinate system, that is, relative position information, to one integrated absolute coordinate system. (S903).
  • the start imaging point SP is set as a reference position of an integrated absolute coordinate system, for example, an integrated 3-axis coordinate system, and the relative distance from the start imaging point SP to the first imaging point P1 is set.
  • An absolute coordinate position of the first capturing point P1 in the integrated 3-axis coordinate system may be set by reflecting the distance information.
  • relative distance information is used to set the position of a horizontal plane (eg, X-Y plane) in an absolute coordinate system
  • height information eg, Z-axis value
  • the processor 330 may generate a 3D virtual model based on the integrated point group. For example, the processor 330 may generate a mesh network based on the integration point group (S904).
  • the mesh network is set based on integrated point groups, and can be created by partitioning the integrated point groups into unit spaces, generating one mesh point for each unit space, and connecting the mesh points to adjacent mesh points.
  • the mesh point may be set to any one point in the unit space representing the unit space - eg, closest to the average of the unit space.
  • the mesh points may be set by calculating an average value of a plurality of points existing in a unit space, for example, a position value and a color value.
  • the processor 330 may generate a 3D mesh model by setting a plurality of faces having a plurality of mesh points as vertices based on the generated mesh network. For example, a 3D mesh model may be created by connecting three adjacent mesh points to create a plurality of triangular faces.
  • the processor 330 may generate a 3D virtual model by texturing each of a plurality of faces included in the generated mesh network, that is, the 3D mesh model, using a 360-degree color image (S905).
  • texturing may not be performed on an area in a blind spot of the camera.
  • the face on which texturing is not performed remains as a hole, and the processor 330 may perform a process of filling the hole.
  • the processor 330 determines the points of the point group for at least one face that does not correspond to a 360-degree color image and remains as a hole among a plurality of faces included in the mesh network, that is, the 3D mesh model. You can set color based on color.
  • the color of the face can be set using these color values.
  • a color of a mesh point may be determined based on points in a point group, and a face expressed alone has a plurality of vertex mesh points constituting such a face.
  • the color of the face may be determined by extending the color based on the color of the plurality of vertex mesh points of the hole face - for example, in the case of a triangular face, by extending the color to the face based on the color of each vertex.
  • the color expansion may be set to include an intermediate color in the form of a gradient between two points having different colors.
  • FIG. 10 is a diagram for explaining another example of a control method performed in a server according to an embodiment disclosed in the present application.
  • FIG. 10 describes an embodiment of a texturing method performed in a server, and FIGS. It will be described below with reference to the example of 15.
  • the processor 330 selects a first face, which is one of a plurality of faces included in the 3D mesh model, and selects a first face from among a plurality of 360-degree color images (hereinafter collectively referred to as color images) associated with the first face. Any one first color image suitable for the face may be selected (S1001).
  • the processor 330 calculates a unit vector perpendicular to the first face, and based on the unit vector, at least one color image having a photographing angle corresponding to the corresponding unit vector. , may be selected as a color image associated with the corresponding face. This is because information on the shooting angle of the color image is generated together when the color image is captured, so the color associated with the first face, that is, the color on which the first face is captured, based on the photographing height and photographing angle information of the color image. You can select an image.
  • the processor 330 selects a color image having a unit vector perpendicular to the first face and a shooting angle opposite to the unit vector within a predetermined angle, that is, facing each other within a predetermined angle, as a color image associated with the corresponding face.
  • the processor 330 may select one color image suitable for a corresponding face from among color images associated with a face. For example, the processor 330 may calculate a plurality of weight factors for each associated color image, calculate a weight based on the calculated weight, and select one color image based on the weight.
  • the first color image matching the first face may be evaluated and selected based on the photographing direction, resolution, and color noise of the first face among a plurality of color images associated with the 3D mesh model.
  • the processor 330 may perform texturing by selecting a local region corresponding to the first face in the selected color image and mapping the local region to the first face (S1002).
  • each object in each color image and each object of the 3D mesh model may be projected and mapped to each other. Therefore, based on the projection mapping between the 2D color image and the 3D mesh model, a local area in the 2D color image corresponding to the corresponding face may be selected.
  • the processor 330 may generate color information for each face and perform texturing by repeating steps S1001 to S1002 for all faces of the 3D mesh model (S1003). Since the 3D model created in this way is in a state in which color correction between each color image is not performed, stains may occur even on the same surface. This is because, as described above, the photographing environment at each photographing point in the room is different.
  • the processor 330 may perform color adjustment in order to correct a color difference due to a photographing environment at each photographing point in the room (S1004).
  • FIG. 11 is a perspective view illustrating a hexahedral subject in an indoor space, and a first capturing point PP1 and a second capturing point PP2 in the room, as an example.
  • 12A shows an example of a color image captured at a first capture point PP1
  • FIG. 12B illustrates an example of a color image captured at a second capture point PP2.
  • FIG. 12A and 12B are images of the same subject, but FIG. 12B shows an example in which a color change occurs due to a shadow.
  • the processor 330 may set a reference vector for the first face of the 3D mesh model, that is, a first direction vector Vfc1 perpendicular to the first face.
  • the processor 330 may calculate a first weight factor having a directional correlation with the first direction vector for each of the plurality of color images associated with the first face.
  • the processor 330 may determine photographing directions of a plurality of color images associated with the first face, and calculate a first weight factor based on a directional correlation between a first direction vector of the first face and the photographing direction. For example, as the angle between the first direction vector of the first face and the photographing direction decreases, a higher weight factor may be calculated.
  • the processor 330 may calculate second weight factors for resolutions of the plurality of color images associated with the first face.
  • the processor 330 may determine the resolution of the plurality of color images themselves, and calculate the second weight factor based on this. That is, the higher the resolution, the higher the second weight factor can be calculated.
  • the processor 330 may identify an object to be texturing or a face that is part of the object, and calculate the second weight factor based on the resolution of the identified object or face. Since the resolution of these objects or faces is set in inverse proportion to the distance between the objects at the capturing point, a high second weight is given to a color image that is advantageous in terms of distance.
  • the processor 330 may calculate a third weight factor for color noise for each of the plurality of color images associated with the first face.
  • the processor 330 may calculate color noise for each color image.
  • various methodologies such as unsupervised learning using DCGAN (Deep Convolutional Generative Adversarial Network) and a method using Enlighten GAN may be applied.
  • DCGAN Deep Convolutional Generative Adversarial Network
  • Enlighten GAN Enlighten GAN
  • the processor 330 may assign a higher third weight factor as the color noise decreases.
  • the processor 330 may calculate a weight for each of the plurality of color images by reflecting the first to third weight factors.
  • the processor 330 may select one color image having the highest weight as the first image mapped with the first face.
  • the processor 330 may calculate the weight in various ways, such as simply summing the first to third weight factors or deriving an average thereof.
  • FIG. 13 illustrates an example of setting a first direction vector perpendicular to the first face Fc1 of the hexahedron. Referring to the examples shown in FIGS. 13 and 11 , it can be seen that the first capturing point PP1 has a higher first weight than the second capturing point PP2 .
  • FIG. 14A shows the local area P1Fc1 corresponding to the first face in the color image at the first capture point PP1
  • FIG. 14B shows the local area P2Fc1 corresponding to the first face in the color image at the second capture point PP2.
  • the second weight factor is higher. This resolution may be set based on the size of the face.
  • the first imaging point PP1 shown in FIG. 14A will have a higher third weight factor.
  • the color image at the first capture point PP1 will be selected, and the local area P1Fc1 in the color image at the first capture point PP1 is matched to the first face to be textured for the first face. This is shown in Figure 15.
  • the present invention relates to a system for providing a 3D virtual model including a user terminal and a server, and can accurately provide a 3D virtual space corresponding to my space using a photographic data set collected from various photographing points in an indoor space. and by using a 360-degree rotatable driven auxiliary stand, it is possible to provide an environment in which a 3D virtual model can be easily created even using a general smart device such as a smart phone, and various shooting points in an indoor space. By efficiently and accurately calculating the distance information between the spaces, it is possible to improve the accuracy of the three-dimensional virtual model, and thus has high industrial applicability.
  • inertial measurement sensor 240 communication module
  • processor 260 memory

Abstract

본 출원의 일 기술적 측면에 따른 3차원 가상모델 제공 시스템은, 사용자 단말 및 서버를 포함하고 사용자 단말은, 현실 실내 공간 내의 복수의 촬영 지점의 각 지점에서, 이전의 촬영 지점에서 해당 촬영 지점까지의 상대적 이동 정보를 도출하여 해당 촬영 지점에 대한 위치 정보를 생성하고, 해당 촬영 지점을 기준으로 생성된 360도 색상 이미지 및 360도 깊이 맵 이미지를 생성하여 해당 촬영 지점에 대한 촬영 데이터 셋을 생성한다. 서버는, 사용자 단말로부터 현실 실내 공간 내의 복수의 촬영 지점 각각에 대한 복수의 촬영 데이터 셋을 수신하고, 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 깊이 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성한다.

Description

3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템
본 출원은 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템에 관한 것이다.
근래에 들어서는 실제 공간에 대응되는 온라인 상의 가상 공간을 제공받음으로써, 사용자가 직접 실제 공간에 방문하지 않고서도 실제 공간에 있는 듯한 체험이 가능한 가상공간 구현기술이 개발되고 있다.
디지털 트윈 또는 메타버스(metaverse)는 이와 같이 현실공간을 기반으로 가상 공간을 제공하는 기술들을 기초로 한다.
이러한 현실 공간에 대응되는 가상공간을 구현하기 위해서는, 구현하고자 하는 실제 공간에 대한 이미지 정보 및 거리 정보를 기초로 입체적인 가상 이미지인 가상의 3차원 모델을 생성하는 것이 필요하다.
종래의 경우, 이와 같은 3차원 모델을 생성하기 위하여, 실내 공간의 여러 촬영지점에서 촬영된 360도 이미지를 획득하고 이들을 이용하여 3차원 모델을 생성하였다.
다만, 종래의 경우, 실내 공간의 여러 촬영 지점에 대한 위치 정보를 확인하기 어려워, 각 촬영 지점에서 촬영된 이미지들을 기초로 여러 촬영 지점의 위치를 역산하는 방식 등을 사용하였으나, 이는 촬영 위치를 결정하는데 높은 리소스가 요구되고 그 처리가 느린 한계를 가지고 있다.
본 출원의 일 기술적 측면은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 실내 공간에서의 여러 촬영 지점에서 수집된 촬영 데이터 셋을 기초로 실내 공간에 대응되는 3차원 가상 공간을 제공하는 것을 목적으로 한다.
본 출원에 개시되는 일 실시예에 따르면, 360도 회전 가능한 구동형 보조 거치장치를 이용하여 스마트 폰과 같은 일반적인 스마트 기기를 이용하여도 손쉽게 3차원 가상 모델을 생성할 수 있는 환경을 제공하는 것을 목적으로 한다.
본 출원에 개시되는 일 실시예에 따르면, 실내 공간에서의 여러 촬영 지점 간의 거리 정보를 효율적이고 정확하게 산출함으로써, 3차원 가상 모델의 정확도를 향상시킬 수 있는 것을 목적으로 한다.
본 출원의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 기술적 측면은 3차원 가상모델 제공 시스템을 제안한다. 상기 3차원 가상모델 제공 시스템은, 사용자 단말 및 서버를 포함한다. 상기 사용자 단말은, 현실 실내 공간 내의 복수의 촬영 지점의 각 지점에서, 이전의 촬영 지점에서 해당 촬영 지점까지의 상대적 이동 정보를 도출하여 해당 촬영 지점에 대한 위치 정보를 생성하고, 해당 촬영 지점을 기준으로 생성된 360도 색상 이미지 및 360도 깊이 맵 이미지를 생성하여 해당 촬영 지점에 대한 촬영 데이터 셋을 생성한다. 상기 서버는, 상기 사용자 단말로부터 상기 현실 실내 공간 내의 복수의 촬영 지점 각각에 대한 복수의 촬영 데이터 셋을 수신하고, 상기 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 깊이 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성한다. 상기 포인트 그룹은 각각의 촬영 지점마다 개별적으로 생성되고, 상기 서버는, 상기 복수의 촬영 지점마다 각각 개별적으로 생성된 복수의 포인트 그룹을 상기 위치 정보를 기준으로 위치적으로 연관하여 하나의 통합 포인트 그룹을 형성하고, 상기 통합 포인트 그룹을 기초로 3차원 가상 모델을 생성한다.
본 출원의 다른 일 기술적 측면은 3차원 모델 생성 방법을 제안한다. 상기 3차원 모델 생성 방법은, 사용자 단말 및 상기 사용자 단말과 연동하여 현실 실내 공간에 대응되는 가상의 3차원 모델을 제공하는 서버를 포함하는 시스템에서 수행되는 3차원 모델 생성 방법으로서, 상기 사용자 단말이, 상기 현실 실내 공간 내의 복수의 촬영 지점 각각에서 복수의 촬영 데이터 셋- 촬영 데이터 셋은, 상기 복수의 촬영 지점 중 어느 한 촬영 지점을 기준으로 생성된 360도 색상 이미지, 상기 어느 한 촬영 지점을 기준으로 생성된 360도 깊이 맵 이미지 및 이전 촬영 지점로부터 상기 어느 한 촬영 지점까지의 상대적 이동 정보를 기초로 도출되는 위치 정보를 포함함-을 생성하여 상기 서버에 제공하는 단계, 상기 서버가, 상기 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 깊이 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성 -상기 포인트 그룹은 각각의 촬영 지점마다 개별적으로 생성됨- 하는 단계 및 상기 서버가, 상기 복수의 촬영 지점마다 개별적으로 생성된 복수의 포인트 그룹을 상기 위치 정보를 기준으로 위치적으로 연관하여 하나의 통합 포인트 그룹을 형성하는 단계를 포함한다.
상기한 과제의 해결 수단은, 본 출원의 특징을 모두 열거한 것은 아니다. 본 출원의 과제 해결을 위한 다양한 수단들은 이하의 상세한 설명의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 출원에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
본 출원에 개시되는 일 실시예에 따르면, 실내 공간에서의 여러 촬영 지점에서 수집된 촬영 데이터 셋을 이용하여 내 공간에 대응되는 3차원 가상 공간을 정확하게 제공할 수 있는 효과가 있다.
본 출원에 개시되는 일 실시예에 따르면, 360도 회전 가능한 구동형 보조 거치장치를 이용함으로써, 스마트 폰과 같은 일반적인 스마트 기기를 이용하여도 손쉽게 3차원 가상 모델을 생성할 수 있는 환경을 제공하는 효과가 있다.
본 출원에 개시되는 일 실시예에 따르면, 실내 공간에서의 여러 촬영 지점 간의 거리 정보를 효율적이고 정확하게 산출함으로써, 3차원 가상 모델의 정확도를 향상시킬 수 있는 효과가 있다.
본 출원의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 출원에 개시되는 일 실시예에 따른 3차원 가상모델 제공 시스템을 예시하는 도면이다.
도 2는 본 출원에 개시되는 일 실시예에 따른 사용자 단말 및 구동형 보조 장치의 일 사용예를 도시하는 도면이다.
도 3은 본 출원에 개시되는 일 실시예에 따른 구동형 보조 장치를 설명하는 블록 구성도이다.
도 4는 본 출원에 개시되는 일 실시예에 따른 사용자 단말을 설명하는 블록 구성도이다.
도 5는 실내 공간 내의 복수의 촬영 지점에서의 촬영 예를 설명하기 위한 도면이다.
도 6은 본 출원에 개시되는 일 실시예에 따른 사용자 단말에서 수행되는 제어 방법의 일 예를 설명하는 도면이다.
도 7은 본 출원에 개시되는 일 실시예에 따른 사용자 단말에서 수행되는 제어 방법의 다른 일 예를 설명하는 도면이다.
도 8은 본 출원에 개시되는 일 실시예에 따른 서버를 설명하는 블록 구성도이다.
도 9는 본 출원에 개시되는 일 실시예에 따른 서버에서 수행되는 제어 방법의 일 예를 설명하는 도면이다.
도 10은 본 출원에 개시되는 일 실시예에 따른 서버에서 수행되는 제어 방법의 다른 일 예를 설명하는 도면이다.
도 11 내지 도 15는 본 출원에 개시되는 일 실시예에 따른 서버에서 수행되는 텍스처링 방법을 설명하기 위한 도면들이다.
이하, 첨부된 도면을 참조하여 본 출원의 바람직한 실시 형태들을 설명한다.
그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 출원에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다.
"제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예를 들어, 중요성 또는 순서)에서 한정하지 않는다.
어떤(예를 들어, 제 1) 구성요소가 다른(예를 들어, 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드", "커넥티드" 또는 "연결된" 이라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것 만을 반드시 의미하지 않을 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다
본 출원의 다양한 실시 예들은 기기(machine)에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예를 들어, 프로그램)로서 구현될 수 있다. 예를 들면, 프로세서(301)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 장치가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예를 들어, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
본 출원의 실시형태를 설명하기 위하여 다양한 순서도가 개시되고 있으나, 이는 각 단계 또는 동작의 설명의 편의를 위한 것으로, 반드시 순서도의 순서에 따라 각 단계가 수행되는 것은 아니다. 즉, 순서도에서의 각 단계는, 서로 동시에 수행되거나, 순서도에 따른 순서대로 수행되거나, 또는 순서도에서의 순서와 반대의 순서로도 수행될 수 있다.
도 1은 본 출원에 개시되는 일 실시예에 따른 3차원 가상모델 제공 시스템을 예시하는 도면이다.
3차원 가상모델 제공 시스템은 사용자 단말(200), 구동형 촬영 보조 장치(200) 및 서버(300)를 포함할 수 있다.
사용자 단말(200)은 실내 공간의 각 촬영 지점에서 촬영 데이터 셋을 생성하기 위한 전자 기기로서, 카메라 및 거리 측정센서를 포함하는 휴대형 전자 기기이다.
예를 들어, 사용자 단말(200)은 스마트 폰(smart phone), 태블릿 PC(tablet PC), 노트북 컴퓨터(laptop computer), PDA(personal digital assistants), PMP(portable multimedia player), 워치형 단말기 (smartwatch)나 글래스형 단말기 (smart glass) 등의 웨어러블 디바이스(wearable device) 일 수 있다.
사용자 단말(200)은 색으로 표현되는 색상 이미지를 생성할 수 있다. 본 출원 명세서에서, 색상 이미지는 색으로 표현되는 이미지를 모두 포괄하는 것으로서, 특정한 표현 방식으로 제한하는 것은 아니다. 따라서, 색상 이미지는 RGB(Red Green Blue)로 표현되는 RGB 이미지 뿐만 아니라, CMYK(Cyan Magenta Yellow Key)로 표현되는 CMYK 이미지 등 다양한 표준으로 적용 가능하다.
사용자 단말(200)은 깊이 정보를 생성하여 깊이 맵 이미지를 생성할 수 있는 장치이다. 본 출원 명세서에서, 깊이 맵 이미지는 피사 공간에 대하여 깊이 정보를 포함하는 이미지이다. 예컨대, 깊이 맵 이미지에서의 각 픽셀은, 촬상 지점에서 촬영된 피사 공간의 각 지점-각 픽셀에 대응되는 지점-까지의 거리 정보 일 수 있다.
사용자 단말(200)은 실내에 위치되는 복수의 촬영 지점에서 각각 360도 색상 이미지와 360도 깊이 맵 이미지를 생성할 수 있다. 또한, 사용자 단말(200)은 그러한 복수의 촬영 지점 각각에 대한 위치 정보를 생성할 수 있다.
사용자 단말(200)은 실내에 위치되는 복수의 촬영 지점의 각 지점에 대하여, 촬영 데이터 셋을 개별적으로 생성할 수 있다. 여기에서, 촬영 데이터 셋은 해당 촬영 지점에서의 360도 색상 이미지, 360도 깊이 맵 이미지 및 해당 촬영 지점에 대한 위치 정보를 포함할 수 있다.
일 실시예에서, 각 지점의 위치 정보는, 이전 지점을 기준으로 생성되는 상대적인 위치 정보를 기초로 할 수 있다. 이는, 실내 공간에 대해서는 GPS(Global Positioning System)과 같은 절대적인 위치 정보를 산출하기 어려우므로, 사용자 단말(200)은 영상 인식 및 관성 측정 데이터의 변화를 기초로 상대적인 이동 정보를 생성하고 이를 기초로 위치 정보를 설정할 수 있다.
일 실시예에서, 사용자 단말(200)은 구동형 촬영 보조 장치(200)에 고정되고, 구동형 촬영 보조 장치(200)의 구동을 제어함으로써 360도 촬영이 가능하도록 할 수 있다. 이는, 사용자 단말(200) 자체는 회전 구동이 불가능하므로, 본 시스템에서는 사용자 단말(200)의 제어에 따라 구동하는 구동형 촬영 보조 장치(200)를 포함함으로써, 사용자 단말(200)이 원활하게 360도 촬영-즉, 360도 색상 이미지 및 360도 깊이 맵 이미지의 생성-이 가능하도록 할 수 있다.
서버(300)는 사용자 단말(200)로부터 실내의 여러 촬영 지점에서 각각 생성된 복수의 촬영 데이터 셋을 수신할 수 있다. 서버(300)는 복수의 촬영 데이터 셋, 즉, 실내의 여러 지점에서 각각 생성된 색상 이미지와 깊이 맵 이미지를 이용하여, 실내 공간에 대응되는 3차원 가상공간인 3차원 가상 모델을 생성할 수 있다.
일 예로, 서버(300)는 사용자 단말로부터 현실 실내 공간 내의 복수의 촬영 지점 각각에 대한 복수의 촬영 데이터 셋을 수신하고, 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 깊이 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성할 수 있다. 여기에서, 포인트 그룹은 각각의 촬영 지점마다 개별적으로 생성될 수 있다. 서버(300)는 복수의 촬영 지점마다 각각 개별적으로 생성된 복수의 포인트 그룹을 위치 정보를 기준으로 위치적으로 연관하여 하나의 통합 포인트 그룹을 형성할 수 있다. 서버(300)는, 통합 포인트 그룹을 기초로 3차원 가상 모델을 생성할 수 있다.
서버(300)는 사용자 단말(200) 또는 기타 다른 단말에, 3차원 가상 모델을 제공함으로써 현실 공간에 대응되는 3차원 가상 공간을 제공할 수 있다.
도 2는 본 출원에 개시되는 일 실시예에 따른 사용자 단말 및 구동형 보조 장치의 일 사용예를 도시하는 도면이다.
사용자 단말(200)은 구동형 보조 장치(100)의 상부에 고정될 수 있으며, 구동형 보조 장치(100)는 사용자 단말(200)이 거치된 회전부를 회전시킴으로써, 사용자 단말(200)이 360도 촬영 가능하도록 동작할 수 있다.
구동형 보조 장치(100)는 트라이포드(101) 등의 높이 보완 부재를 이용할 수 있으며, 이러한 높이 보완 부재를 반영한 카메라의 촬영 높이(HC)에 대한 정보는, 사용자에 입력되거나 또는 사전 설정된 높이-규격화된 높이 보완부재를 사용하여 사전 설정됨-로서 서버(300)에 제공될 수 있다.
도 3은 본 출원에 개시되는 일 실시예에 따른 구동형 보조 장치를 설명하는 블록 구성도이다.
단말 거치대(100)는 회전부(110) 및 본체부(120)를 포함할 수 있다.
회전부(110)에는 사용자 단말(200)가 거치되고, 모터부(121)의 동작에 의하여 회전될 수 있다. 회전부(110)의 회전에 따라 사용자 단말(200)의 촬영 방향이 변경될 수 있다. 또한, 회전부(110)의 회전 방향 및 회전 속도는 모터부(121)의 구동에 따라 변경될 수 있다.
일 예로, 회전부(110)는 고정대, 조이개 및 회전대를 포함할 수 있다. 고정대 및 조이개는 회전대 상에 배치될 수 있다. 고정대와 조이개는 사용자 단말(200)을 고정할 수 있다. 회전대는 모터부(121)의 동작에 따라 회전할 수 있으며, 이를 위해 회전대는 모터부(121)와 기계적으로 연결될 수 있다.
본체부(120)는 모터부(121), 제어부(122) 및 통신부(123)를 포함할 수 있다. 제어부(122)는 본체부(120)의 구성요소들을 제어하여 단말 거치대(100)의 동작을 제어할 수 있다.
통신부(123)는 사용자 단말(200)과 통신 연결을 수행하고, 사용자 단말(200)로부터 단말 거치대(100)를 구동시키기 위한 제어 신호를 제공받을 수 있다. 일 예로, 통신부(123)는 근거리 통신 모듈 또는 유선 통신 중 적어도 하나를 이용하여 사용자 단말(200)과 통신 연결을 형성할 수 있다.
제어부(122)는 통신부(123)를 통하여 수신된 제어 신호에 대응하여, 모터부(121)를 구동하여, 회전부(110)의 구동을 제어할 수 있다.
도 4는 본 출원에 개시되는 일 실시예에 따른 사용자 단말을 설명하는 블록 구성도이다.
도 4를 참조하면, 사용자 단말(200)은 카메라(210), 거리 측정 센서(220), 측정 센서(230), 통신 모듈(240), 프로세서(250) 및 메모리(260)를 포함한다.
도시하지는 않았으나, 사용자 단말(200)의 구성은 상기 나열된 구성이나 각 구성요소의 명칭에 제한되지 않는다. 예컨대, 사용자 단말(200)에 전원을 공급하기 위한 배터리 등이 사용자 단말(200)에 포함될 수도 있다.
이하에서, 사용자 단말(200) 또는 프로세서(250)를 어플리케이션을 구동하여 제어, 지시 또는 기능의 주체로서 표현하나, 이는, 프로세서(250)가 메모리(260)에 저장된 인스트럭션 또는 어플리케이션을 구동하여 동작하는 것을 의미한다.
카메라(210)는 적어도 하나의 카메라를 포함할 수 있다. 카메라(210)는 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
카메라(210)는 사용자 단말(200)의 전방 영상을 촬영할 수 있다. 일 예로, 구동형 촬영 보조 장치(100)의 회전 구동에 의하여, 카메라(210)의 촬영 방향이 회전할 수 있으며, 이를 통하여 360도 촬영이 가능하다. 카메라(210)의 360도 촬영은 실시예에 따라 다양하게 구현 가능하며, 예컨대, 소정 각도마다 이미지를 촬영하고, 프로세서(250)는 이들을 정합하여 360도 색상 이미지를 생성할 수 있다. 실시예에 따라, 360도 촬영을 위하여 360도 회전을 통하여 소정 각도마다 전방 이미지를 촬영하고 이들을 서버(300)에 제공하고 서버(300)에서 이들을 정합하여 360도 이미지를 생성할 수도 있다.
거리 측정 센서(220)는 사용자 단말(200)로부터 피사체의 거리를 측정할 수 있다. 예를 들어, 이러한 거리 측정 센서(220)로는, 라이다(LiDAR) 센서, 적외선 센서, 초음파 센서 등이 사용될 수 있다.
실시예에 따라서는, 거리 측정 센서(220)를 대체하여 거리 정보를 측정할 수 있는 스테레오 카메라(stereo camera), 스테레오스코픽 카메라(stereoscopic camera), 3D 깊이 카메라(3D, depth camera)로 구현될 수도 있다.
구동형 촬영 보조 장치(100)의 회전 구동에 의하여, 거리 측정 센서(220)의 측정 방향이 회전할 수 있으며, 이를 통하여 360도 측정이 가능하다. 거리 측정 센서(220)의 측정을 기초로 깊이 맵 이미지가 생성될 수 있다. 깊이 맵 이미지는, 피사 공간에 대하여 깊이 정보를 포함하는 이미지이다. 예컨대, 깊이 맵 이미지에서의 각 픽셀은, 촬상 지점에서 촬영된 피사 공간의 각 지점-각 픽셀에 대응되는 지점-까지의 거리 정보 일 수 있다.
일 실시예에서, 360도 색상 이미지 및 360도 깊이 맵 이미지는, 360도를 커버하기 위하여 적합한 파노라마 이미지, 예컨대, 등장방형 투영 파노라마 이미지일 수 있다.
관성 측정 센서(230)는 사용자 단말(200)의 관성적 특징을 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다.
일 예로, 관성 측정 센서(230)는 자이로 센서 및 가속도 센서를 포함할 수 있다. 관성 측정 센서(230)에 의하여 측정된 데이터를 이하, 관성 센싱 데이터라 칭한다.
통신 모듈(240)은, 사용자 단말(200)과 구동형 촬영 보조 장치(100) 사이, 또는 사용자 단말(200)와 서버(300) 사이의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 이러한 통신 모듈(240)은 이동통신 모듈, 무선 인터넷 모듈 및 근거리 통신모듈 중 적어도 하나를 포함할 수 있다.
프로세서(250)는 메모리(260)에 저장된 응용 프로그램, 즉, 어플리케이션을 구동하기 위하여, 도 3에서 도시된 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(250)는 상기 응용 프로그램의 구동을 위하여, 모바일 단말(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다. 프로세서(250)는 메모리(260)에 저장된 인스트럭션들(instructions)을 실행하여 어플리케이션을 구동할 수 있다.
프로세서(250)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 사용자 단말(200)의 전반적인 동작을 제어한다. 프로세서(250)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(260)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다. 프로세서(250)는 하나의 프로세서 또는 복수의 프로세서로 구현 가능하다.
프로세서(250)는 전방 영상의 변화 및 관성 센싱 데이터의 변화량을 이용하여, 전방위 이미지가 획득된 실내 지점에 대한 상대적 위치 정보를 생성할 수 있다. 예컨대, 프로세서(250)는 실내 공간의 여러 촬영 지점의 각각에 대하여, 이전의 촬영 지점에서 해당 촬영 지점 까지의 전방 영상의 변화 및 관성 센싱 데이터의 변화량을 기초로, 이전의 촬영 지점에서 해당 촬영 지점까지의 상대적인 위치 변화를 생성하여 상대적 이동 정보로서 설정할 수 있다.
일 예로, 프로세서(250)는, 전방 영상에서 적어도 하나의 특징점을 추출하고, 추출된 상기 적어도 하나의 특징점의 변화를 기초로 모바일 단말의 시각적 이동 정보 -상기 시각적 이동 정보는 이동 방향 및 이동 거리 중 적어도 하나를 포함함- 를 생성할 수 있다.
일 예로, 프로세서(250)는, 관성 센싱 데이터의 변화량을 이용하여 모바일 단말의 관성적 이동 정보 -상기 관성적 이동 정보는 이동 방향 및 이동 거리 중 적어도 하나를 포함함- 를 생성하고, 관성적 이동 정보를 기초로 시각적 이동 정보를 검증하여 상기 상대적 위치 정보를 생성할 수 있다.
일 예로, 프로세서(250)는, 시각적 이동 정보에서 기 설정된 임계값-상기 임계값은 방향 전환의 임계값 및 이동 거리의 임계값 중 적어도 하나를 포함함- 을 초과하는 이상치 데이터가 발생하면, 시각적 이동 정보의 이상치 데이터에 대응되는 관성적 이동 정보의 데이터를 이상치 데이터와 비교하여, 이상치 데이터의 적용 여부를 판단할 수 있다.
프로세서(250)는 구동형 촬영 보조 장치(100)의 구동을 제어하여 구동형 촬영 보조 장치(100)의 회전부가 360도 회전하도록 제어할 수 있다. 도 7은 사용자 단말에서 수행되는 제어 방법의 일 예를 설명하는 도면으로서 도 7을 더 참조하여 설명한다. 프로세서(250)는 통신모듈(240)을 제어하여 구동형 촬영 보조 장치(100)와의 통신 연결, 예컨대, 근거리 무선 통신을 연결할 수 있다(S701). 프로세서(250)는, 360도 색상 이미지를 촬영하기 위하여, 촬영 보조장치의 회전 동작을 제어함과 함께 카메라를 촬영 제어하여 360도 촬영을 하도록 할 수 있다(S702). 또한, 프로세서(250)는 360도 깊이 맵 이미지를 촬영하기 위하여, 촬영 보조장치의 회전 동작을 제어함과 함께 거리측정 센서(220)의 구동을 제어하여 360도 측정을 하도록 할 수 있다(S703).
프로세서(250)는 카메라(210)에서 촬상된 이미지를 기초로 360도 색상 이미지를 생성하고, 거리 측정 센서(220)의 측정 데이터를 기초로 360도 깊이 맵 이미지를 생성할 수 있다. 다만 실시예에 따라, 이러한 360도 색상 이미지 또는 360도 깊이 맵 이미지의 생성은, 서버(300)에서 수행될 수도 있다.
일 실시예예서, 프로세서(250)는 구동형 촬영 보조 장치(100)에 의한 제1 회전 시 카메라의 촬영을 제어하여 360도 촬영을 수행하고, 제2 회전 시 거리 측정 센서(220)의 감지를 제어하여 360도 감지를 수행할 수 있다. 예컨대, 프로세서(250)는, 실내 공간의 어느 한 촬영 지점에서, 구동형 촬영 보조 장치(100)의 동작을 제어하여 사용자 단말의 촬영 방향이 360도로 제1 회전되도록 제어하여 어느 한 촬영 지점에서의 360도 색상 이미지를 생성할 수 있다. 프로세서(250)는, 구동형 촬영 보조 장치(100)의 동작을 제어하여 사용자 단말의 촬영 방향이 360도로 제2 회전되도록 제어하여 어느 한 촬영 지점에서의 360도 뎁스맵 이미지를 생성할 수 있다.
프로세서(250)는 실내 공간의 각각의 지점에 대한 상대적 거리 정보, 360도 색상 이미지-또는 이들을 생성하기 위한 복수의 색상 이미지- 및 360도 깊이 맵 이미지-또는 이들을 생성하기 위한 복수의 깊이 맵 이미지-를 하나의 데이터 셋, 즉, 촬영 데이터 셋으로 저장하고, 이를 서버(300)에 제공할 수 있다.
도 5는 실내 공간 내의 복수의 촬영 지점에서의 촬영 예를 설명하기 위한 도면이고, 도 6은 본 출원에 개시되는 일 실시예에 따른 사용자 단말에서 수행되는 제어 방법의 일 예를 설명하는 도면이다.
도 5 및 도 6을 참조하여, 사용자 단말에서 수행되는 촬영 데이터 셋 생성 방법에 대하여 설명한다.
도 5의 실내 공간에서는 총 4번의 촬영이 이루어졌음을 알 수 있으며, 이러한 촬영 지점의 이동은 사용자에 의하여 수행될 수 있다.
도 6을 참조하면, 사용자는 스타트 촬영 지점(SP)에서 360도 촬영을 수행할 수 있다. 예컨대, 사용자는 사용자 단말(200)에 표시되는 평면도에서 스타트 촬영 지점(SP)을 설정할 수 있다(S601).
사용자는 사용자 단말(200)에 설치된 소프트웨어를 통하여 촬영 명령을 입력할 수 있고, 사용자 단말(200)은 구동형 촬영 보조 장치(100)의 동작을 제어하여 360도 촬영 및 감지를 수행할 수 있다(S602).
사용자 단말(200)은 설정된 스타트 촬영 지점(SP)의 위치 정보 및 그 위치에서 촬영된 360도 색상 이미지 및 360도 깊이 이미지를 포함하여 스타트 촬영 지점(SP)에 대한 촬영 데이터 셋을 생성할 수 있다(S603).
이후, 사용자는 스타트 촬영 지점(SP)에서 제1 촬영 지점(P1)으로 이동할 수 있으며, 이러한 이동 간에 사용자 단말(200)의 카메라(210)는 이동 중 영상을 촬영할 수 있다. 사용자 단말(200)은 이동 중 영상에 대한 영상 변화와, 관성 센싱 데이터의 변화량을 기초로, 스타트 촬영 지점(SP)에서 제1 촬영 지점(P1) 까지의 상대적인 위치 변화를 생성하고 이를 상대적 이동정보로서 설정할 수 있다(S604).
사용자는 제1 촬영 지점(P1)에서 360도 촬영 및 센싱을 수행하도록 하여, 제1 촬영 지점(SP1)에 대한 360도 색상 이미지 및 360도 깊이 이미지를 생성하도록 할 수 있다(S605).
사용자 단말(200)은 생성된 360도 색상 이미지 및 360도 깊이 이미지에, 상대적 위치 정보를 포함하여 제1 촬영 지점(P1)에 대한 촬영 데이터 셋을 생성할 수 있다(S606).
이와 같은 과정은, 제2 촬영 지점 및 제3 촬영 지점에서도 계속 수행되고, 사용자에 의하여 촬영 종료가 설정되는 지점 -도시된 예에서는, 제3 촬영 지점-에서 모든 촬영 데이터 셋의 생성이 종료될 수 있다. 사용자 단말(200)은 생성한 모든 촬영 데이터 셋을 서버(300)에 송신할 수 있다.
이하, 도 8 내지 도 15를 참조하여, 서버(300)의 다양한 실시예에 대하여 설명한다.
도 8은 본 출원에 개시되는 일 실시예에 따른 서버를 설명하는 블록 구성도이다. 도 8을 참조하면, 서버(300)는 통신모듈(310), 메모리(320) 및 프로세서(330)를 포함할 수 있다. 그러나, 이와 같은 구성은 예시적인 것으로서, 본 개시를 실시함에 있어 이와 같은 구성에 더하여 새로운 구성이 추가되거나 일부 구성이 생략될 수 있음을 물론이다.
통신모듈(310)는 사용자 단말(200)과의 통신을 수행할 수 있다. 예컨대, 프로세서(330)는 통신모듈(310)를 통해 연결된 사용자 단말(200)로부터 각종 데이터 또는 정보를 수신할 수 있으며, 외부 장치로 각종 데이터 또는 정보를 전송할 수도 있다. 통신모듈(310)는 다양한 통신모듈이 적용가능 하며, 유선 통신 또는 무선 통신을 지원할 수 있다.
메모리(320)에는 전자장치(300)에 관한 적어도 하나의 명령이 저장될 수 있다. 메모리(320)에는 전자장치(300)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(320)에는 본 개시의 다양한 실시 예들에 따라 서버(300)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수 도 있다. 그리고, 메모리(320)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(HardDisk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(320)에는 본 개시의 다양한 실시 예에 따라 서버(300)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 프로세서(330)는 메모리(320)에 저장된 각종 소프트웨어 모듈을 실행하여 서버(300)의 동작을 제어할 수 있다. 즉, 메모리(320)는 프로세서(330)에 의해 액세스되며, 프로세서(330)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
그 밖에도 본 개시의 목적을 달성하기 위한 범위 내에서 필요한 다양한 정보가 메모리(320)에 저장될 수 있으며, 메모리(320)에 저장된 정보는 외부 장치로부터 수신되거나 사용자에 의해 입력됨에 따라 갱신될 수도 있다.
프로세서(330)는 전자 장치(300)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(330)는 상술한 바와 같은 통신모듈(310) 및 메모리(320)를 포함하는 전자 장치(300)의 다른 구성들과 전기적으로 연결되며, 메모리(320)에 저장된 적어도 하나의 명령을 실행하여 서버(300)의 동작을 전반적으로 제어할 수 있다.
프로세서(330)는 다양한 방식으로 구현될 수 있다. 예를 들어, 프로세서(330)는 주문형 집적 회로(Application Specific Integrated Circuit, ASIC), 임베디드 프로세서, 마이크로 프로세서, 하드웨어 컨트롤 로직, 하드웨어 유한 상태 기계(hardware Finite State Machine, FSM), 디지털 신호 프로세서(Digital Signal Processor, DSP) 중 적어도 하나로 구현될 수 있다. 한편, 본 개시에서 프로세서(330)라는 용어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 및 MPU(Main Processing Unit)등을 포함하는 의미로 사용될 수 있다.
도 9는 본 출원에 개시되는 일 실시예에 따른 서버에서 수행되는 제어 방법의 일 예를 설명하는 도면으로서, 도 9를 참조하여 프로세서(330)의 가상의 3차원 모델을 생성하는 동작에 대하여 설명한다.
프로세서(330)는 사용자 단말(200)로부터 현실 실내 공간 내의 복수의 촬영 지점 각각에 대한 복수의 촬영 데이터 셋을 수신할 수 있다(S901).
프로세서(330)는 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 뎁스맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성할 수 있다(S902).
여기에서, 포인트 그룹은 각각의 촬영 지점마다 개별적으로 생성될 수 있다.
예컨대, 복수의 포인트 그룹은 각각의 촬영 지점마다 개별적으로 독립 좌표계를 기준으로 생성될 수 있다. 즉, 프로세서(330)는 각각의 촬영 지점에서 생성된 360도 색상 이미지와 360도 뎁스 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각각의 거리값과 색상값을 가지는 포인트를 생성하여 포인트 그룹을 생성할 수 있다. 이러한 포인트 그룹은 촬영 지점별로 개별로 하나씩 생성되며, 카메라의 위치가 일 축 상에 위치하는 3차원 절대 좌표계를 기초로 생성될 수 잇다.
프로세서(330)는 각각 독립 좌표계를 기준으로 생성된 복수의 포인트 그룹에 대하여 위치를 반영하여 하나의 좌표계에 반영하여, 하나의 통합 포인트 그룹을 형성할 수 있다. 예컨대, 프로세서(330)는 각각 독립 좌표계를 기준으로 생성된 복수의 포인트 그룹 각각에 대한 위치 정보, 즉, 상대적 위치 정보를 기초로 하나의 통합적인 절대 좌표계에 배치하여 통합 포인트 그룹을 형성할 수 있다(S903).
도 5의 예를 들면, 스타트 촬영 지점(SP)를, 통합적인 절대 좌표계, 예컨대, 통합 3축 좌표계의 기준 위치로 설정하고, 스타트 촬영 지점(SP)에서 제1 촬영 지점(P1)까지의 상대적 거리 정보를 반영하여 통합 3축 좌표계에서의 제1 촬영 지점(P1)의 절대 좌표 위치를 설정할 수 있다. 일 예로, 상대적 거리 정보는 절대 좌표계에서의 수평 평면(예컨대, X-Y평면)의 위치를 설정하는데 사용되고, 높이 정보(예컨대, Z축 값)은 카메라 높이 Hc로 모두 동일하게 설정될 수 있다.
프로세서(330)는 통합 포인트 그룹을 기초로 3차원 가상 모델을 생성할 수 있다. 예컨대, 프로세서(330)는 통합 포인트 그룹을 기초로 메쉬 네트워크를 생성할 수 있다(S904).
메쉬 네트워크는 통합 포인트 그룹을 기초로 설정되며, 통합 포인트 그룹을 단위 공간으로 구획하고, 단위 공간 마다 하나의 메쉬 포인트를 생성하고 이러한 메쉬 포인트를 인접한 메쉬 포인트와 연결함으로서 생성될 수 있다. 일 예로 메쉬 포인트는 단위 공간을 대표하는 -예컨대, 단위 공간의 평균에 가장 가까운- 단위 공간 내의 어느 하나의 포인트로 설정될 수 있다. 다른 예로, 메쉬 포인트는 단위 공간 내에 존재하는 복수의 포인트들의 평균적인 값-예컨대, 위치값 및 색상값-을 산출하여 설정될 수 있다.
프로세서(330)는 생성된 메쉬 네트워크를 기초로, 복수의 메쉬 포인트를 꼭지점으로 하는 페이스를 다수 개 설정하여, 3차원 메쉬 모델을 생성할 수 있다. 예컨대, 인접한 3개의 메쉬 포인트를 연결하여 삼각형 형상의 페이스를 복수개 생성함으로써, 3차원 메쉬 모델을 생성할 수 있다.
프로세서(330)는, 생성된 메쉬 네트워크, 즉, 3차원 메쉬 모델에 포함된 복수의 페이스 각각에 대하여, 360도 색상 이미지를 이용하여 텍스처링하여 3차원 가상 모델을 생성할 수 있다(S905).
이러한 텍스처링의 수행 시, 카메라의 사각지대에 있는 영역에 대해서는 텍스처링이 수행되지 않을 수 있다. 이러한 경우, 텍스처링이 수행되지 않은 페이스는 홀(Hole)로서 남아 있으며, 프로세서(330)는 이러한 홀을 채우는 과정을 수행할 수 있다. 예컨대, 프로세서(330)는, 메쉬 네트워크, 즉, 3차원 메쉬 모델에 포함된 복수의 페이스 중에서 360도 색상 이미지에 대응되지 않아 홀(Hole)로 남아있는 적어도 하나의 페이스에 대하여, 포인트 그룹의 포인트 색상을 기초로 색상을 설정할 수 있다.
여기에서, 포인트 그룹에 포함되는 포인트는 전술한 바와 같이, 360도 색상 이미지를 기초로 색상값을 가지므로, 이러한 색상값을 이용하여 페이스의 색상을 설정할 수 있다. 예컨대, 포인트 그룹 내의 포인트를 기초로 메쉬 포인트의 색상을 결정할 수 있고, 홀로 표현되는 페이스는 그러한 페이스를 구성하는 복수의 꼭지점 메쉬 포인트를 가진다. 따라서, 홀 페이스의 복수의 꼭지점 메쉬 포인트의 색상을 기초로 색상을 확장하여-예컨대, 삼각형 페이스의 경우, 각 꼭지점의 색상을 기초로 페이스로의 색상을 확장하여- 페이스의 색상을 결정할 수 있다. 이러한 색상의 확장은 서로 다른 색을 가지는 두 점 사이에서 그라데이션 형태로 중간색을 포함하도록 변화하는 것 등으로 설정될 수 있다.
도 10은 본 출원에 개시되는 일 실시예에 따른 서버에서 수행되는 제어 방법의 다른 일 예를 설명하는 도면으로서, 도 10은 서버에서 수행되는 텍스처링 방법의 일 실시예를 설명하며, 도 11 내지 도 15의 예를 참조하여 이하에서 설명한다.
프로세서(330)는, 3차원 메쉬 모델에 포함된 복수의 페이스 중 어느 하나인 제1 페이스를 선택하고, 제1 페이스와 연관된 복수의 360도 색상 이미지(이하, 색상 이미지로 통칭함) 중에서 제1 페이스에 적합한 어느 하나의 제1 색상 이미지를 선택할 수 있다(S1001).
여기에서, 제1 페이스와 연관된 색상 이미지를 선정함에 있어서, 프로세서(330)는, 제1 페이스에 수직하는 단위 벡터를 산출하고 이를 기반으로 해당 단위 벡터에 대응되는 촬영 각도를 가지는 적어도 하나의 색상 이미지를, 해당 페이스와 연관된 색상 이미지로서 선정할 수 있다. 이는, 색상 이미지의 촬영 시, 해당 색상 이미지의 촬영 각도에 대한 정보가 함께 생성되므로, 색상 이미지에 대한 촬영 높이 및 촬영 각도 정보를 기초로 제1 페이스와 연관된, 즉, 제1 페이스가 찍혀있는 색상 이미지를 선정할 수 있다. 예컨대, 프로세서(330)는 제1 페이스에 수직하는 단위 벡터와, 그에 소정 각도 내에서 대향하는, 즉, 소정 각도 내로 서로 마주보는 촬영 각도를 가지는 색상 이미지를, 해당 페이스와 연관된 색상 이미지로서 선정할 수 있다.
프로세서(330)는 페이스와 연관된 색상 이미지 중에서, 해당 페이스에 적합한 어느 하나의 색상 이미지를 선별할 수 있다. 예컨대, 프로세서(330)는 연관된 색상 이미지 각각에 대하여 복수의 가중치 요소를 산출한 후 이를 기초로 가중치를 산정한 후, 가중치를 기초로 어느 하나의 색상 이미지를 선택할 수 있다.
일 예로, 제1 페이스에 매칭되는 제1 색상 이미지는, 3차원 메쉬 모델과 연관된 복수의 색상 이미지 중에서 제1 페이스에 대한 촬영 방향, 해상도 및 컬러 노이즈를 기준으로 평가하여 선별될 수 있다.
프로세서(330)는 선택된 어느 하나의 선택된 어느 하나의 색상 이미지에서, 제1 페이스에 대응되는 로컬 영역을 선택하여 제1 페이스에 매핑하여 텍스처링을 수행할 수 있다(S1002).
프로세서(330)는 각각의 색상 이미지의 촬영 위치에 대한 정보를 가지고 있으므로, 각각의 색상 이미지에서의 각 객체와 3D 메쉬 모델의 각 객체를 서로 투영하여 매핑할 수 있다. 따라서, 이러한 2차원 색상 이미지와 3차원 메쉬 모델의 투영 매핑을 기초로, 해당 페이스에 대응되는 2차원 색상 이미지에서의 로컬 영역을 선택할 수 있다.
프로세서(330)는 3차원 메쉬 모델의 모든 페이스에 대하여, 상술한 단계 S1001 내지 S1002를 반복하여, 각 페이스에 대하여 색상 정보를 생성하여 텍스처링을 수행할 수 있다(S1003). 이와 같이 생성된 3D 모델은 각 색상 이미지 간의 색상 보정이 이루어지지 않은 상태이므로, 동일한 면에 대해서도 얼룩이 발생할 수 있다. 이는 전술한 바와 같이, 실내의 각 촬영 지점에서의 촬영 환경이 상이하기 때문이다.
프로세서(330)는, 이러하니 실내의 각 촬영 지점에서의 촬영 환경에 의한 색상 차이를 보정하기 위하여, 컬러 조정을 수행할 수 있다(S1004).
도 11은 일 예로서 실내 공간 내의 육면체 피사체, 이에 대하여 실내의 제1 촬영 지점 PP1과 제2 촬영 지점 PP2를 도시하는 사시도이다. 도 12a는 제1 촬영 지점 PP1에서 촬영된 색상 이미지의 일 예를, 도 12b는 제2 촬영 지점 PP2에서 촬영된 색상 이미지의 일 예를 도시한다.
도 12a 및 도 12b는 동일한 피사체에 촬영하였으나, 도 12b에서는 음영에 의한 색상 변화가 발생한 예를 도시하고 있다.
프로세서(330)는, 3차원 메쉬 모델의 제1 페이스에 대한 기준 벡터, 즉, 제1 페이스에 수직하는 제1 방향 벡터 Vfc1를 설정할 수 있다.
프로세서(330)는 제1 페이스와 연관된 복수의 색상 이미지에 대해, 제1 방향 벡터와 방향적 연관성을 가지는 제1 가중치 요소를 각각 산정할 수 있다.
프로세서(330)는 제1 페이스와 연관된 복수의 색상 이미지들의 촬영 방향을 확인하고, 제1 페이스의 제1 방향 벡터와 상기 촬영 방향 간의 방향적 연관성을 기초로 제1 가중치 요소를 산정할 수 있다. 예컨대, 제1 페이스의 제1 방향 벡터와 촬영 방향 간의 각도가 적을수록 보다 높은 가중치 요소가 산정될 수 있다.
프로세서(330)는 제1 페이스와 연관된 복수의 색상 이미지에 대해, 해상도에 대한 제2 가중치 요소를 각각 산정할 수 있다.
일 예로, 프로세서(330)는 상기 복수의 색상 이미지 자체에 대한 해상도를 확인하고, 이를 기반으로 제2 가중치 요소를 산정할 수 있다. 즉, 높은 해상도를 가질수록 높은 제2 가중치 요소를 가지도록 산정할 수 있다.
다른 예로, 프로세서(330)는 텍스처링의 대상이 되는 객체 또는 해당 객체의 일부인 페이스를 식별하고, 식별된 객체 또는 페이스의 해상도를 기초로 제2 가중치 요소를 산정할 수 있다. 이러한 객체 또는 페이스에 대한 해상도는 촬영 지점에서의 객체간의 거리에 반비례하여 설정되므로, 거리 상 유리한 색상 이미지에게 높은 제2 가중치가 부여된다.
프로세서(330)는 제1 페이스와 연관된 복수의 색상 이미지에 대해, 컬러 노이즈에 대한 제3 가중치 요소를 각각 산정할 수 있다.
프로세서(330)는 각 색상 이미지에 대하여 컬러 노이즈를 산출할 수 있다. 컬러 노이즈를 산출하기 위하여, DCGAN(Deep Convolutional Generative Adversarial Network)을 이용한 비지도 학습, Enlighten GAN을 이용한 방법 등 다양한 방법론들이 적용될 수 있다.
프로세서(330)는 컬러 노이즈가 적을수록 높은 제3 가중치 요소가 부여되도록 할 수 있다.
프로세서(330)는 제1 가중치 요소 내지 제3 가중치 요소를 반영하여, 상기 복수의 색상 이미지 각각에 대하여 가중치를 산출할 수 있다. 프로세서(330)는 가장 높은 가중치를 가지는 하나의 색상 이미지를, 제1 페이스와 매핑되는 제1 이미지로서 선정할 수 있다.
제1 가중치 요소 내지 제3 가중치 요소의 반영에는 다양한 알고리즘이 적용 가능하다. 예컨대, 프로세서(330)는 제1 가중치 요소 내지 제3 가중치 요소를 단순 합산하거나, 또는 이들의 평균을 도출하는 등 다양한 방식으로 가중치를 산정할 수 있다.
상술한 예에서는 제1 가중치 요소 내지 제3 가중치 요소를 모두 반영하는 것을 예시하였으나, 이에 한정되는 것은 아니다. 따라서, 제1 가중치 요소와 제2 가중치 요소를 기초로 가중치를 산정하거나, 또는 제1 가중치 요소와 제3 가중치 요소를 기초로 가중치를 산정하는 등의 변형 실시가 가능하다. 다만 이러한 변형에 있어서도, 제1 가중치 요소를 포함하는 것이 보다 높은 성능을 제공하는 요소이다.
도 13은 육면체 중 제1 페이스(Fc1)에 수직하는 제1 방향 벡터를 설정하는 예를 도시하고 있다. 도 13과 도 11에 도시된 예를 참조하면, 제1 촬영 지점 PP1이, 제2 촬영 지점 PP2보다 높은 제1 가중치를 가질 것을 알 수 있다.
도 14a는 제1 촬영 지점 PP1에서의 색상 이미지에서 제1 페이스에 대응하는 로컬 영역(P1Fc1)을, 도 14b는 제2 촬영 지점 PP2에서의 색상 이미지에서 제1 페이스에 대응하는 로컬 영역(P2Fc1)을 예시하고 있다.
도 14a에 도시된, 제1 촬영 지점 PP1에서의 색상 이미지가, 도 14b에 도시된, 제2 촬영 지점 PP2에서의 색상 이미지 보다 높은 해상도를 가지므로 제2 가중치 요소가 더 높을 것을 알 수 있다. 이러한 해상도는 해당 페이스의 크기를 기초로 설정될 수 있다.
컬러 노이즈는 도 14b에 도시된 제2 촬영 지점 PP2에서의 색상 이미지에서 보다 높게 설정될 것이므로, 따라서, 도 14a에 도시된 제1 촬영 지점 PP1가 더 높은 제3 가중치 요소를 가질 것이다.
따라서, 제1 페이스에 대해서는 제1 촬영 지점 PP1에서의 색상 이미지가 선택될 것이고, 제1 촬영 지점 PP1에서의 색상 이미지에서의 로컬 영역(P1Fc1)을 제1 페이스에 매칭하여 제1 페이스에 대하여 텍스처링이 수행된 것을 도 15에서 도시하고 있다.
이상에서 설명한 본 출원은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고 후술하는 특허청구범위에 의해 한정되며, 본 출원의 구성은 본 출원의 기술적 사상을 벗어나지 않는 범위 내에서 그 구성을 다양하게 변경 및 개조할 수 있다는 것을 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
본 발명은 사용자 단말 및 서버를 포함하는 3차원 가상모델 제공 시스템에 관한 것으로, 실내 공간에서의 여러 촬영 지점에서 수집된 촬영 데이터 셋을 이용하여 내 공간에 대응되는 3차원 가상 공간을 정확하게 제공할 수 있고, 360도 회전 가능한 구동형 보조 거치장치를 이용함으로써, 스마트 폰과 같은 일반적인 스마트 기기를 이용하여도 손쉽게 3차원 가상 모델을 생성할 수 있는 환경을 제공할 수 있고, 실내 공간에서의 여러 촬영 지점 간의 거리 정보를 효율적이고 정확하게 산출함으로써, 3차원 가상 모델의 정확도를 향상시킬 수 있어 산업상 이용가능성이 높다.
<부호의 설명>
100: 구동형 촬영 보조 장치
110: 회전부 120: 본체부
121: 모터부 122: 제어부
123: 통신부
200: 사용자 단말
210: 카메라 220: 거리 측정센서
230: 관성 측정센서 240: 통신모듈
250: 프로세서 260: 메모리
300: 서버
310: 통신모듈 320: 프로세서
330: 메모리

Claims (14)

  1. 현실 실내 공간 내의 복수의 촬영 지점의 각 지점에서, 이전의 촬영 지점에서 해당 촬영 지점까지의 상대적 이동 정보를 도출하여 해당 촬영 지점에 대한 위치 정보를 생성하고, 해당 촬영 지점을 기준으로 생성된 360도 색상 이미지 및 360도 깊이 맵 이미지를 생성하여 해당 촬영 지점에 대한 촬영 데이터 셋을 생성하는 사용자 단말; 및
    상기 사용자 단말로부터 상기 현실 실내 공간 내의 복수의 촬영 지점 각각에 대한 복수의 촬영 데이터 셋을 수신하고, 상기 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 깊이 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성하는 서버; 를 포함하고,
    상기 포인트 그룹은 각각의 촬영 지점마다 개별적으로 생성되고,
    상기 서버는, 상기 복수의 촬영 지점마다 각각 개별적으로 생성된 복수의 포인트 그룹을 상기 위치 정보를 기준으로 위치적으로 연관하여 하나의 통합 포인트 그룹을 형성하고, 상기 통합 포인트 그룹을 기초로 3차원 가상 모델을 생성하는,
    3차원 가상모델 제공 시스템.
  2. 제1항에 있어서, 상기 3차원 가상모델 제공 시스템은,
    상기 사용자 단말이 거치되고, 상기 사용자 단말의 제어에 따라 동작하여 상기 사용자 단말의 촬영 방향을 360도로 회전시키는 구동형 촬영 보조 장치; 를 더 포함하는,
    3차원 가상모델 제공 시스템.
  3. 제2항에 있어서, 상기 사용자 단말은,
    어느 한 촬영 지점에서, 상기 구동형 촬영 보조 장치의 동작을 제어하여 상기 사용자 단말의 촬영 방향이 360도로 제1 회전되도록 제어하여 상기 어느 한 촬영 지점에서의 360도 색상 이미지를 생성하고,
    상기 구동형 촬영 보조 장치의 동작을 제어하여 상기 사용자 단말의 촬영 방향이 360도로 제2 회전되도록 제어하여 상기 어느 한 촬영 지점에서의 360도 깊이 맵 이미지를 생성하는,
    3차원 가상모델 제공 시스템.
  4. 제2항에 있어서, 상기 사용자 단말은,
    상기 이전의 촬영 지점에서 상기 해당 촬영 지점 까지의 전방 영상의 변화 및 관성 센싱 데이터의 변화량을 기초로, 상기 이전의 촬영 지점에서 상기 해당 촬영 지점까지의 상대적인 위치 변화를 생성하여 상기 상대적 이동 정보로서 설정하는,
    3차원 가상모델 제공 시스템.
  5. 제1항에 있어서,
    상기 복수의 포인트 그룹은
    각각의 촬영 지점마다 개별적으로 독립 좌표계를 기준으로 생성되고,
    상기 서버는,
    각각 독립 좌표계를 기준으로 생성된 상기 복수의 포인트 그룹을 상기 위치 정보를 기초로 하나의 통합적인 절대 좌표계에 배치하여 상기 통합 포인트 그룹을 형성하는,
    3차원 가상모델 제공 시스템.
  6. 제1항에 있어서, 상기 서버는,
    상기 통합 포인트 그룹을 기초로 3차원 메쉬 모델을 생성하고, 생성된 3차원 메쉬 모델에 포함된 복수의 페이스 각각을 360도 색상 이미지를 이용하여 텍스처링하여 상기 3차원 가상 모델을 생성하는,
    3차원 가상모델 제공 시스템.
  7. 제6항에 있어서, 상기 서버는,
    상기 3차원 메쉬 모델에 포함된 복수의 페이스 중 360도 색상 이미지에 대응되지 않아 홀(Hole)로 남아있는 적어도 하나의 페이스에 대하여, 상기 포인트 그룹의 포인트 색상을 기초로 색상을 설정하는,
    3차원 가상모델 제공 시스템.
  8. 사용자 단말 및 상기 사용자 단말과 연동하여 현실 실내 공간에 대응되는 가상의 3차원 모델을 제공하는 서버를 포함하는 시스템에서 수행되는 3차원 모델 생성 방법으로서,
    상기 사용자 단말이, 상기 현실 실내 공간 내의 복수의 촬영 지점 각각에서 복수의 촬영 데이터 셋을 생성하여 상기 서버에 제공하는 단계;
    - 촬영 데이터 셋은, 상기 복수의 촬영 지점 중 어느 한 촬영 지점을 기준으로 생성된 360도 색상 이미지, 상기 어느 한 촬영 지점을 기준으로 생성된 360도 깊이 맵 이미지 및 이전 촬영 지점로부터 상기 어느 한 촬영 지점까지의 상대적 이동 정보를 기초로 도출되는 위치 정보를 포함함-
    상기 서버가, 상기 복수의 촬영 지점의 각 촬영 지점에서 생성된 360도 색상 이미지와 360도 깊이 맵 이미지를 단위 픽셀의 위치 별로 연관하여, 각 단위 픽셀 별로 거리값 및 색상값을 설정하여 포인트 그룹을 생성 -상기 포인트 그룹은 각각의 촬영 지점마다 개별적으로 생성됨- 하는 단계; 및
    상기 서버가, 상기 복수의 촬영 지점마다 개별적으로 생성된 복수의 포인트 그룹을 상기 위치 정보를 기준으로 위치적으로 연관하여 하나의 통합 포인트 그룹을 형성하는 단계; 를 포함하는,
    3차원 모델 생성 방법.
  9. 제8항에 있어서, 상기 시스템은,
    상기 사용자 단말이 거치되고, 상기 사용자 단말의 제어에 따라 동작하여 상기 사용자 단말의 촬영 방향을 360도로 회전시키는 구동형 촬영 보조 장치; 를 더 포함하는,
    3차원 모델 생성 방법.
  10. 제9항에 있어서,
    상기 사용자 단말이 상기 현실 실내 공간 내의 복수의 촬영 지점 각각에서 복수의 촬영 데이터 셋을 생성하여 상기 서버에 제공하는 단계는,
    상기 사용자 단말이, 어느 한 촬영 지점에서, 상기 구동형 촬영 보조 장치의 동작을 제어하여 상기 사용자 단말의 촬영 방향이 360도로 제1 회전되도록 제어하여 상기 어느 한 촬영 지점에서의 360도 색상 이미지를 생성하는 단계; 및
    상기 사용자 단말이, 상기 구동형 촬영 보조 장치의 동작을 제어하여 상기 사용자 단말의 촬영 방향이 360도로 제2 회전되도록 제어하여 상기 어느 한 촬영 지점에서의 360도 깊이 맵 이미지를 생성하는 단계; 를 포함하는,
    3차원 모델 생성 방법.
  11. 제10항에 있어서,
    상기 사용자 단말이 상기 현실 실내 공간 내의 복수의 촬영 지점 각각에서 복수의 촬영 데이터 셋을 생성하여 상기 서버에 제공하는 단계는,
    상기 이전의 촬영 지점에서 상기 해당 촬영 지점 까지의 전방 영상의 변화 및 관성 센싱 데이터의 변화량을 기초로, 상기 이전의 촬영 지점에서 상기 해당 촬영 지점까지의 상대적인 위치 변화를 생성하여 상기 상대적 이동 정보로서 설정하는 단계; 를 더 포함하는,
    3차원 모델 생성 방법.
  12. 제7항에 있어서, 상기 복수의 포인트 그룹은
    각각의 촬영 지점마다 개별적으로 독립 좌표계를 기준으로 생성되고,
    상기 서버는,
    각각 독립 좌표계를 기준으로 생성된 상기 복수의 포인트 그룹을 상기 위치 정보를 기초로 하나의 통합적인 절대 좌표계에 배치하여 상기 통합 포인트 그룹을 형성하는,
    3차원 모델 생성 방법.
  13. 제7항에 있어서, 상기 3차원 모델 생성 방법은,
    상기 서버가, 상기 통합 포인트 그룹을 기초로 3차원 메쉬 모델을 생성하고, 생성된 3차원 메쉬 모델에 포함된 복수의 페이스 각각을 360도 색상 이미지를 이용하여 텍스처링하여 상기 3차원 가상 모델을 생성하는 단계; 를 더 포함하는,
    3차원 모델 생성 방법.
  14. 제13항에 있어서, 상기 3차원 모델 생성 방법은,
    상기 3차원 메쉬 모델에 포함된 복수의 페이스 중 360도 색상 이미지에 대응되지 않아 홀(Hole)로 남아있는 적어도 하나의 페이스에 대하여, 상기 포인트 그룹의 포인트 색상을 기초로 색상을 설정하는 단계; 를 더 포함하는,
    3차원 모델 생성 방법.
PCT/KR2022/010580 2021-12-31 2022-07-20 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템 WO2023128100A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022564794A JP2024506763A (ja) 2021-12-31 2022-07-20 3次元仮想モデル提供方法およびそのための3次元仮想モデル提供システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0193635 2021-12-31
KR1020210193635A KR102600420B1 (ko) 2021-12-31 2021-12-31 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템

Publications (1)

Publication Number Publication Date
WO2023128100A1 true WO2023128100A1 (ko) 2023-07-06

Family

ID=86999461

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/010580 WO2023128100A1 (ko) 2021-12-31 2022-07-20 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템

Country Status (3)

Country Link
JP (1) JP2024506763A (ko)
KR (2) KR102600420B1 (ko)
WO (1) WO2023128100A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053694A (ja) * 2004-08-10 2006-02-23 Riyuukoku Univ 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
KR20170007102A (ko) * 2015-07-08 2017-01-18 고려대학교 산학협력단 3차원 지도 생성 및 표시 장치 및 방법
KR20200071990A (ko) * 2018-12-12 2020-06-22 삼성전자주식회사 전자 장치 및 그의 3d 이미지 표시 방법
KR20200082441A (ko) * 2018-12-28 2020-07-08 주식회사 시스템팩토리 촬영영상을 이용한 실내공간 실측 시스템
KR20210050366A (ko) * 2019-10-28 2021-05-07 에스케이텔레콤 주식회사 촬영 위치 결정 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053694A (ja) * 2004-08-10 2006-02-23 Riyuukoku Univ 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
KR20170007102A (ko) * 2015-07-08 2017-01-18 고려대학교 산학협력단 3차원 지도 생성 및 표시 장치 및 방법
KR20200071990A (ko) * 2018-12-12 2020-06-22 삼성전자주식회사 전자 장치 및 그의 3d 이미지 표시 방법
KR20200082441A (ko) * 2018-12-28 2020-07-08 주식회사 시스템팩토리 촬영영상을 이용한 실내공간 실측 시스템
KR20210050366A (ko) * 2019-10-28 2021-05-07 에스케이텔레콤 주식회사 촬영 위치 결정 장치 및 방법

Also Published As

Publication number Publication date
JP2024506763A (ja) 2024-02-15
KR20230103054A (ko) 2023-07-07
KR102600420B1 (ko) 2023-11-09
KR20230157275A (ko) 2023-11-16

Similar Documents

Publication Publication Date Title
WO2018199701A1 (en) Method for providing content and apparatus therefor
WO2011074759A1 (ko) 메타정보 없는 단일 영상에서 3차원 개체정보 추출방법
WO2021015505A1 (en) Foldable electronic device and photographing method using multiple cameras in foldable electronic device
EP3586315A1 (en) Method and apparatus for displaying image based on user motion information
WO2019142997A1 (ko) 광학식 이미지 안정화 움직임에 의한 이미지의 변화를 보상하기 위한 장치 및 방법
EP3763119A1 (en) Method for generating depth information and electronic device supporting the same
WO2017007166A1 (ko) 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
WO2016126083A1 (ko) 주변 상황 정보를 통지하기 위한 방법, 전자 장치 및 저장 매체
WO2022203189A1 (en) A method and an electronic device for photographing
WO2019045517A1 (ko) 복수의 이미지 센서들의 동기화 제어 방법 및 이를 구현한 전자 장치
WO2020171588A1 (en) Electronic device and object measurement method thereof
WO2020091457A1 (en) Camera module including aperture
WO2023128100A1 (ko) 3차원 가상모델 제공 방법 및 그를 위한 3차원 가상모델 제공 시스템
WO2019066370A1 (ko) 외부 광에 기반하여 카메라를 제어하는 전자 장치 및 제어 방법
WO2020171450A1 (ko) 뎁스 맵을 생성하는 전자 장치 및 방법
WO2020190030A1 (en) Electronic device for generating composite image and method thereof
WO2020171558A1 (en) Method of providing augmented reality contents and electronic device therefor
WO2019190250A1 (ko) 이미지에 포함된 반사 객체의 속성에 기반하여, 반사 객체에 다른 이미지를 합성하는 방법 및 전자 장치
WO2022030943A1 (ko) 딥러닝에 기반한 이미지 분할 장치 및 방법
WO2023128289A1 (ko) 3차원 가상모델 생성을 위한 텍스처링 방법 및 그를 위한 컴퓨팅 장치
WO2021118187A1 (ko) 회전이 가능한 카메라를 구비한 폴더블 전자 장치 및 이를 이용한 촬영 방법
WO2021158043A1 (ko) 전자 장치 및 오토 포커스 수행 방법
WO2018182066A1 (ko) 이미지에 동적 효과를 적용하는 방법 및 장치
WO2023095969A1 (ko) 3차원 가상모델 생성을 위한 텍스처링 방법 및 그를 위한 컴퓨팅 장치
WO2020251151A1 (ko) 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022564794

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 17922054

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22916255

Country of ref document: EP

Kind code of ref document: A1