WO2021206447A1 - 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치 - Google Patents

오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치 Download PDF

Info

Publication number
WO2021206447A1
WO2021206447A1 PCT/KR2021/004349 KR2021004349W WO2021206447A1 WO 2021206447 A1 WO2021206447 A1 WO 2021206447A1 KR 2021004349 W KR2021004349 W KR 2021004349W WO 2021206447 A1 WO2021206447 A1 WO 2021206447A1
Authority
WO
WIPO (PCT)
Prior art keywords
objects
image
virtual
present disclosure
determining
Prior art date
Application number
PCT/KR2021/004349
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 삼성전자 주식회사
Publication of WO2021206447A1 publication Critical patent/WO2021206447A1/ko
Priority to US17/961,935 priority Critical patent/US20230037221A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Definitions

  • the present invention relates to a system and method for interaction between a human and a device (eg, a robot) in a home environment. More particularly, it relates to a method and apparatus for guiding a user to relocate household items or other personal belongings.
  • a device eg, a robot
  • Home robots currently on the mass market may include means of moving around the house by navigation, means of receiving video streams and other sensors such as heart rate devices.
  • robotic arms It is predicted that future mass market robots will have means for physical interaction, such as robotic arms, vacuum hands or other means for interaction with objects.
  • One possible application for such a robotic arm is to clean and rearrange items.
  • a device and method for performing a simulation of relocating a plurality of objects may be provided.
  • a device and method for generating a virtual arrangement image in which a plurality of objects are rearranged may be provided.
  • a method of generating a virtual arrangement image in which a plurality of objects are rearranged may include: obtaining images of the plurality of objects; determining at least one of a visual characteristic, a physical characteristic, or a usability characteristic for each of the plurality of objects based on the acquired image; generating data on a result of arranging the plurality of objects based on at least one of the visual feature, the physical feature, or the usability feature; generating a virtual arrangement image in which the plurality of objects are arranged, based on data about the arrangement result of the plurality of objects; and displaying the virtual arrangement image.
  • a device for generating a virtual arrangement image in which a plurality of objects are rearranged comprising: a memory for storing at least one or more instructions; and at least one processor controlling the device by executing the at least one or more instructions.
  • FIG. 1 is a diagram for schematically explaining an operation of the present disclosure, according to embodiments of the present disclosure.
  • FIG. 2 is a method for generating, by the device 100, a virtual arrangement image in which a plurality of objects are rearranged, according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram illustrating images of a plurality of objects, according to an embodiment of the present disclosure.
  • FIG. 4 is a view for explaining a text label according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating virtual arrangement images in which a plurality of objects are arranged, according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart illustrating that the device 100 performs a 3D simulation, according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart of a method of performing a simulation in consideration of a degree of similarity between objects, according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating a degree of similarity determined between objects, according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating a physical force acting between objects according to an embodiment of the present disclosure.
  • FIG. 10 is a graph illustrating a relationship between physical forces considered when modeling positions of objects, according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram illustrating a change in a position of an object over time in modeling, according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram illustrating a simulation result of arranging an object using usefulness characteristics of the objects, according to an embodiment of the present disclosure.
  • FIG. 13 is a flowchart of a method of determining a position of an object based on a frequency of use of the object, according to an embodiment of the present disclosure.
  • FIG. 14 is a flowchart of a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • 15 is a diagram illustrating a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • 16 is a diagram illustrating a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • 17 is a diagram illustrating a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • 18 is a diagram illustrating a method of determining positions of objects in consideration of characteristics of objects, according to an embodiment of the present disclosure.
  • 19 is a diagram illustrating a method of arranging an object in consideration of a frequency of use, according to an embodiment of the present disclosure.
  • 20 is a diagram for a method of determining a user preference area according to an embodiment of the present disclosure.
  • 21 and 22 are diagrams illustrating a UI in which the device 100 displays a virtual arrangement image, according to an embodiment of the present disclosure.
  • FIG. 23 is a flowchart of a method for a device to generate a control signal for arranging a plurality of objects based on a virtual arrangement image, according to an embodiment of the present disclosure.
  • FIG. 24 is a flowchart of a method of generating a virtual object, according to an embodiment of the present disclosure.
  • 25 is a diagram for describing semantic segmentation according to an embodiment of the present disclosure.
  • 26 is a diagram for explaining inpainting, according to an embodiment of the present disclosure.
  • FIG. 27 is a diagram for describing a method of generating a plurality of virtual objects corresponding to a plurality of objects, according to an embodiment of the present disclosure.
  • 28 is a diagram illustrating a method of generating a virtual object.
  • 29 is a diagram illustrating a method in which a device rearranges objects located in a specific area according to an embodiment of the present disclosure.
  • FIG. 30 is a block diagram illustrating the configuration of the device 100 according to an embodiment of the present disclosure.
  • a method of generating a virtual arrangement image in which a plurality of objects are rearranged may include: obtaining images of the plurality of objects; determining at least one of a visual characteristic, a physical characteristic, or a usability characteristic for each of the plurality of objects based on the acquired image; generating data on a result of arranging the plurality of objects based on at least one of the visual feature, the physical feature, or the usability feature; generating a virtual arrangement image in which the plurality of objects are arranged, based on data about the arrangement result of the plurality of objects; and displaying the virtual arrangement image.
  • the usability feature may include at least one of a frequency of use of each of the plurality of objects, information on whether or not the object is an arrangement target, information on a use purpose, or information on stability. have.
  • the method may further include: generating data on a result of arranging the plurality of objects based on at least one of the visual feature, the physical feature, or the usability feature; obtaining a frequency of use for a first object included in the plurality of objects based on the usability feature; and determining the position of the first object based on the frequency of use.
  • determining the location of the first object based on the frequency of use may include: when the frequency of use for the first object is greater than the frequency of use for the second object, the first object determining the position of the first object so that the object is located closer to the user's preferred area than the second object.
  • the user preference area may be determined based on a distance between at least one area in which the plurality of objects are disposed and the device.
  • determining at least one of the visual feature, the physical feature, or the usability feature for each of the plurality of objects based on the acquired image; each of the plurality of objects It may include; determining the frequency of use for each of the plurality of objects based on the amount of movement of the position.
  • determining the frequency of use for each of the plurality of objects may include: tracking a change in the position of a first object included in the plurality of objects from at least one image; determining a positional movement amount of the first object based on the information on the positional change of the first object; and determining a frequency of use of the first object based on the amount of position movement.
  • the visual feature based on at least one of the visual feature, the physical feature, or the usability feature, generating data on a result in which the plurality of objects are arranged; the visual feature, the determining a degree of similarity between a first object included in the plurality of objects and other objects based on at least one of a physical characteristic or the usability characteristic; and determining a position of the first object based on a degree of similarity between the first object and other objects.
  • the determining of the position of the first object based on the degree of similarity to the other objects may include determining that the degree of similarity between the first object and the second object is equal to that of the first object and the second object.
  • the method may include determining the position of the first object so that the first object is located closer to the second object than to the third object when the degree of similarity to the three objects is greater.
  • the method may further include: generating data on a result of arranging the plurality of objects based on at least one of the visual feature, the physical feature, or the usability feature; determining whether the first object is a target on which the first object is disposed, based on a usability characteristic of the first object included in the plurality of objects; and determining a position of the first object based on whether the first object is a placed target.
  • generating a virtual arrangement image in which the plurality of objects are arranged, based on data about a result in which the plurality of objects are arranged includes: a target on which the first object is arranged If not, generating a virtual arrangement image in which the first object and objects to be arranged are distinguished.
  • displaying the virtual arrangement image includes generating a UI for selecting at least one virtual arrangement image, wherein the at least one virtual arrangement image is mutually It may be an image in which a plurality of objects are virtually arranged based on another arrangement algorithm.
  • the displaying of the virtual arrangement image may include: receiving an input for selecting one virtual arrangement image from among the at least one virtual arrangement image; and generating a control signal for arranging the plurality of objects according to the selected virtual arrangement image.
  • determining a location for each of the plurality of objects in a virtual space based on a placement algorithm may further include.
  • the step of determining a position for each of the plurality of objects in the virtual space based on the placement algorithm includes the visual display corresponding to a first object included in the plurality of objects. assigning a feature, the physical feature, or the usability feature to a first virtual object; and determining the position of the first virtual object in the virtual space based on the placement algorithm.
  • determining the position of the first virtual object in the virtual space based on the placement algorithm includes determining a force acting on the first virtual object in the virtual space step; and determining a position of the first virtual object based on a force acting on the first virtual object.
  • the step of determining a force acting on the first virtual object in the virtual space includes: the attractive force acting between the first virtual object and the second virtual object in the virtual space is The determination may be made based on a degree of similarity between the first virtual object and the second virtual object.
  • a device for generating a virtual arrangement image in which a plurality of objects are rearranged comprising: a memory for storing at least one or more instructions; and at least one processor controlling the device by executing the at least one or more instructions.
  • the at least one processor obtains an image of the plurality of objects, and based on the obtained image, a visual feature, physical feature, or usefulness of each of the plurality of objects determine at least one of a characteristic, and based on at least one of the visual characteristic, the physical characteristic, or the usability characteristic, generate data on a result in which the plurality of objects are disposed, A virtual arrangement image in which the plurality of objects are arranged may be generated based on the data for the object, and the virtual arrangement image may be displayed.
  • the processor is configured to obtain a frequency of use for a first object included in the plurality of objects based on the usability feature, and select the first object based on the frequency of use. location can be determined.
  • each block of the flowchart diagrams and combinations of the flowchart diagrams may be performed by computer program instructions.
  • These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment are not described in the flowchart block(s). It creates a means to perform functions.
  • These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable memory.
  • the instructions stored in the flow chart block(s) produce an article of manufacture containing instruction means for performing the function described in the flowchart block(s).
  • the computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for performing the functions described in the flowchart block(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is also possible for the functions recited in blocks to occur out of order. For example, two blocks shown one after another may in fact be performed substantially simultaneously, or it is possible that the blocks are sometimes performed in the reverse order according to the corresponding function.
  • the term ' ⁇ unit' used in this embodiment means software or hardware components such as FPGA or ASIC, and ' ⁇ unit' performs certain roles.
  • '-part' is not limited to software or hardware.
  • the ' ⁇ unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors.
  • ' ⁇ ' denotes components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • components and ' ⁇ units' may be combined into a smaller number of components and ' ⁇ units' or further separated into additional components and ' ⁇ units'.
  • components and ' ⁇ units' may be implemented to play one or more CPUs in a device or secure multimedia card.
  • ' ⁇ unit' may include one or more processors.
  • FIG. 1 is a diagram for schematically explaining an operation of the present disclosure, according to embodiments of the present disclosure.
  • a method of organizing items in an unorganized state may be disclosed.
  • the device 100 may generate a virtual arrangement image in which a plurality of items are rearranged.
  • items may exist in an unorganized state in a specific space.
  • the present disclosure may be used to organize items when personal belongings are not arranged in a guest room, floor, or the like of a house in which a person resides.
  • the present invention may be used in, but not limited to, household robots, AR glasses, mobile communication devices, IoT, and other home appliances.
  • the device 100 may be implemented in various forms.
  • the device 100 is a smart TV, a set-top box, a mobile phone, a tablet PC, a digital camera, a laptop computer, a desktop, an e-book terminal, a digital broadcasting terminal, a PDA (Personal Digital Assistants), a PMP ( Portable Multimedia Player), navigation, MP3 players, wearable devices, AR glasses, robots, and the like may be included.
  • PDA Personal Digital Assistants
  • PMP Portable Multimedia Player
  • navigation MP3 players
  • wearable devices wearable devices
  • AR glasses robots, and the like
  • all home appliances may be connected to other home appliances, for example, devices may be connected to a surveillance camera, a microphone, and the like.
  • the device 100 is not limited to the above-described example, and any device capable of receiving a command for interaction between a human and a computer may be used.
  • the device 100 may be any device capable of performing a simulation of rearranging items.
  • the device 100 may be any device capable of displaying to the user several options for rearranging an item generated through simulation.
  • the device 100 may be a robot 120 having an arm capable of organizing items according to a result of a simulation.
  • the device 100 may arrange the items according to the generated virtual arrangement image according to the user's selection.
  • the AR glasses worn by the user may photograph the surrounding environment.
  • the AR glasses 130 may perform a simulation of rearranging items based on the captured image.
  • the AR glasses 130 may display a selection interface generated based on a result of the simulation for rearranging the item to the user.
  • the device 100 may transmit a command to the external device so that the external device can organize items according to the generated virtual arrangement image.
  • the external device may mean a separate device separated from the device 100 .
  • the external device may move items according to a result of the item relocation simulation of the device 100 based on the control signal received from the device 100 .
  • the device 100 may perform a simulation of arranging items according to a placement algorithm. That is, each position of the items may be determined as a new position different from the existing position according to the simulation result according to the placement algorithm. In this case, the device 100 may perform a simulation to determine not only the positions of the items, but also a direction and an angle in which the items are placed.
  • the determination of new positions, directions, angles, etc. of items as described above will be described as rearranging, arrangement, arrangement, and the like.
  • the device 100 is a robot 120 having a robot hand capable of moving items
  • the robot 120 may rearrange unorganized items (hereinafter, an arrangement algorithm).
  • the items are assigned to each placement algorithm. can be arranged accordingly.
  • the first arrangement algorithm of FIG. 1 is a diagram illustrating a state in which items are arranged according to the class of the item. According to the first arrangement algorithm, in consideration of the class of items, it can be confirmed that the markers are arranged close and the batteries are arranged close together.
  • the second arrangement algorithm of FIG. 1 is a diagram illustrating a state in which items are arranged so that gaps between the items are minimized in consideration of the volume of the arranged items. According to the second arrangement algorithm, it may be confirmed that the items are arranged so that the gaps between the items are minimized.
  • a non-limiting method (arrangement algorithm) for rearranging items a method of arranging items without gaps (compact arrangement) in consideration of a space element, a method of arranging in consideration of an aesthetic element, a method of arranging in consideration of convenience There may be ways to do it.
  • the robot 120 rearranges the items, it is necessary to consider the usefulness properties of the items.
  • a case in which any item cannot be moved should be considered. For example, if the item is a cup filled with water, the cup filled with water cannot be placed horizontally. If the robot 120 performs this operation, the user's item may be damaged. That is, an arbitrary item cannot be moved for various reasons, such as when the item is attached to a specific space with an adhesive, when moving the item is dangerous (eg, a glass bottle filled with water without being closed with a stopper). Also, the user will not move the item if it fits the specific location where it is currently located. Therefore, in order for the robot 120 to place the item, it is necessary to consider the usability property of the object, and in the present specification, the usability property of the object is the habit property of the object as described above. can mean
  • the present disclosure discloses a method of arranging unaligned items (hereinafter, objects) and a plurality of embodiments of the device 100 for arranging unaligned objects.
  • the device 100 may receive a user's command to rearrange objects located in a specific area. Also, the device 100 may capture at least one image (2D or RGBD) for a specific region.
  • the device 100 may perform semantic segmentation on objects in at least one image.
  • the device 100 may remove the divided objects one by one from the image and fill the gap by inpainting.
  • the device 100 may repeat the above description until there are no objects remaining as segments.
  • the device 100 may perform 3D reconstruction of objects on an area and a non-movable 3D object such as a plane.
  • the device 100 may calculate rearrangements of at least two possible 3D objects in the region reconstructed in 3D.
  • the device 100 may render at least two possible rearrangements into bitmap images of video files.
  • the present disclosure discloses a plurality of embodiments related to a user interface for selecting one from among methods for arranging a plurality of items generated by the device 100 . At least two possible rearrangements may be presented to the user.
  • the device 100 may receive one of at least two possible rearrangements selected by the user.
  • the device 100 may send a command to the robot (external device 100) to perform the selected rearrangement on the belongings (items).
  • the device 100 may perform the selected rearrangement.
  • the device 100 may perform a function of recognizing an object in 3D, a function of visualizing the objects, and a function of physically modeling the object.
  • a 2D approach for visualization may be used to require inpainting technology to perform reconstruction on closed portions of objects.
  • the device 100 may use an end-to-end deep learning approach for 3D reconstruction of object templates and complete scene understanding.
  • the device 100 performs a deep semantic understanding of a scene (eg, an acquired image) to obtain the best rearrangement result applicable to personal belongings. can be obtained
  • FIG. 2 is a method for generating, by the device 100, a virtual arrangement image in which a plurality of objects are rearranged, according to an embodiment of the present disclosure.
  • the device 100 may provide a method for planning rearrangement of a plurality of physical objects in a home environment.
  • an object may mean an item located without regularity in a specific space where the device 100 needs to organize. In this case, there is no restriction on the type, characteristic, etc. of the item corresponding to the object.
  • the plurality of objects may be located on a shelf, a floor, a chair, a table, and the like, and is not limited to the above-described example. Also, in the present specification, objects may have different shapes, sizes, and the like.
  • the device 100 may acquire images of a plurality of objects.
  • the device 100 may acquire images photographed for a plurality of physical objects from an external device.
  • an external device connected to the device 100 by wire or wirelessly may photograph an image of a plurality of physical objects and transmit the photographed image to the device 100 .
  • the device 100 may capture at least one image for a plurality of physical objects.
  • an image or picture may represent a still image, a moving picture composed of a plurality of continuous still images (or frames), or a video.
  • an image may mean an RBG or RGBD image.
  • the device 100 may photograph only one image for a plurality of objects.
  • the device 100 may photograph a plurality of images for a plurality of objects. If the device 100 acquires one or more images for a plurality of objects, the device 100 may additionally recognize the physical and visual characteristics of the object.
  • the device 100 may photograph a plurality of images of a plurality of objects at different times.
  • the device 100 may acquire images of a plurality of objects twice a day for a month.
  • the device 100 may acquire additional usability characteristics of the objects by photographing the objects several times with the same layout.
  • the image of the object may be captured at another location in order to improve the visual characteristics of the object acquired by the device 100 .
  • the visual characteristics of the object may mean information about the shape, texture, size, etc. of the object.
  • the image of the object may be captured at another location in order to improve the physical characteristics of the object obtained by the device 100 .
  • the physical characteristics of the object may mean information on the weight, friction coefficient, weight distribution, bendability, elasticity, etc. of the object.
  • images of a plurality of objects that are not aligned may be images captured under various conditions. More specifically, the RGB image and the RGBD image may be photographed under photographing conditions in which various photographing times, various photographing angles, and various photographing lighting conditions are combined.
  • Objects can be viewed in their entirety from certain angles. Also, objects may be partially obscured by other objects from different angles. Accordingly, the device 100 needs to acquire images of a plurality of objects photographed at various photographing angles.
  • FIG. 3 is a diagram illustrating images of a plurality of objects, according to an embodiment of the present disclosure.
  • the device 100 may include an RGB and IR camera.
  • lighting conditions may be changed by applying various lighting techniques. This is a method for improving device 100 recognizing objects.
  • Non-limiting examples of the above-described lighting conditions turning on or off a lamp located in the body of the device 100 (eg, a robot), using a structured light, Tof (Time-Of-Flight)
  • Tof Time-Of-Flight
  • the use of lighting in a variety of spectral bands, such as multispectral lighting and hyperspectral lighting, but not limited to white, red, green, and blue, modulated light may include the use of
  • FIG. 3A may mean an image of a Time-Of-Flight (Tof) method obtained by an RGBD camera.
  • (b) of FIG. 3 may mean an image of structured light obtained by an RGBD camera.
  • the device 100 may determine at least one of a visual characteristic, a physical characteristic, or a usability characteristic for each of the plurality of objects based on the acquired image.
  • the objects may be recognized by the device 100 .
  • the result of recognizing the objects by the device 100 may be defined as at least one of a visual characteristic of each object, a physical characteristic of the object, or a usefulness characteristic of the object.
  • the visual characteristics of the object may refer to the shape, size, texture, and optical characteristics of the object such as a reflective surface.
  • the physical characteristics of the object may mean the weight of the object, weight distribution, bending or stretching capabilities, friction coefficient, and the like.
  • the usability characteristics of the object are whether the object's position is changed and the frequency of position change, the frequency of use, whether the object is garbage (whether to be removed), what the object is used for, whether it is safe when tilting or holding the object It may mean information about
  • the device 100 may identify each of the plurality of objects based on the acquired image. Also, a characteristic may be determined for each of the identified objects.
  • FIGS. 14 to 17 A method of determining a usability characteristic for each of a plurality of objects based on an image obtained by the device 100 will be described in more detail below with reference to the following drawings ( FIGS. 14 to 17 ).
  • the device 100 obtains, from a database, a parameter for a physical characteristic corresponding to each of the objects in order to determine a physical characteristic for each of the plurality of objects based on the acquired image. can do.
  • the device 100 may generate a parameter for a physical characteristic of each of the objects as a text label.
  • FIG. 4 is a view for explaining a text label according to an embodiment of the present disclosure.
  • text labels can be used to search a database for parameters for average physical characteristics, such as weight of an object, coefficient of friction, and the like.
  • FIG. 4A illustrates a plurality of objects 410 and a flipchart marker 420 that is one object among the plurality of objects 410 .
  • FIG. 4B shows a text label in which physical parameters of the flip chart marker 420 are organized.
  • the average weight of the flip chart marker 420 is 15 g
  • the friction coefficient is 0.2
  • the center of mass is the center
  • there is no bendable and there is no stretchable.
  • it can be confirmed that there is no Dangerous That is, it can be confirmed that the flip chart marker 420 has the same physical characteristics as in FIG. 4B .
  • the text label may store physical parameters for each of the plurality of objects 410 .
  • an end-to-end deep neural network may be trained for all predictions in an end-to-end manner.
  • the method for determining the physical properties of the object is not limited to the above-described example.
  • the device 100 may generate data on a result of arranging a plurality of objects based on at least one of a visual characteristic, a physical characteristic, and a usability characteristic.
  • the device 100 may acquire the frequency of use of the first object included in the plurality of objects based on the usability feature. Also, the device 100 may determine the position of the first object based on the frequency of use. For example, when the device 100 determines the location of the first object based on the frequency of use, when the frequency of use for the first object is greater than the frequency of use for the second object, the device 100 determines the first object The position of the first object may be determined so that . In this case, the first object and the second object may mean any object included in the plurality of objects. More details will be described later with reference to FIGS. 13 to 20 .
  • the device 100 may determine a degree of similarity between the first object included in the plurality of objects and other objects based on at least one of a visual characteristic, a physical characteristic, and a usability characteristic. Also, the device 100 may determine the location of the first object based on the similarity between other objects.
  • the device 100 determines the location of the first object based on the degree of similarity with other objects, the degree of similarity between the first object and the second object is higher than the degree of similarity between the first object and the third object. If large, the position of the first object may be determined such that the first object is located closer to the second object than to the third object. In this case, the first object, the second object, and the third object may mean any object included in the plurality of objects. More details will be described later with reference to FIGS. 7 to 11 .
  • the device 100 may determine whether the first object is a target on which the first object is disposed, based on usability characteristics of the first object included in the plurality of objects. Also, the device 100 may determine the position of the first object based on whether the first object is a target on which it is placed. More details will be described later with reference to FIG. 12 .
  • the device 100 may determine a location for each of a plurality of objects in a virtual space based on a placement algorithm. It will be described later in FIG. 5 .
  • the device 100 may generate a first virtual object corresponding to the first object included in the plurality of objects.
  • virtual objects for each of a plurality of objects may be generated, and the virtual object may correspond to a 3D object used when performing a simulation. A more detailed description will be given later with reference to FIGS. 24 to 28 .
  • the device 100 determines a location for each of a plurality of objects in a virtual space based on a placement algorithm, a visual feature, a physical feature, or usefulness corresponding to a first object included in the plurality of objects A characteristic may be assigned to the first virtual object. Also, the device 100 may determine the position of the first virtual object in the virtual space based on the placement algorithm. It will be described later in FIG. 5 .
  • the device 100 may determine a force acting on the first virtual object in the virtual space. Also, the device 100 may determine a position of the first virtual object based on a force acting on the first virtual object.
  • the device 100 determines the force acting on the first virtual object in the virtual space
  • the attractive force acting between the first virtual object and the second virtual object in the virtual space is equal to the first virtual object and the second virtual object. It may be determined based on the degree of similarity to the second virtual object. 7 to 10 will be described later.
  • the device 100 may perform a simulation of how virtual objects to which the extracted features are assigned according to a placement algorithm may be arranged in a virtual space using 3D simulation.
  • the device 100 may perform at least one preset of repositioning on a plurality of recognized physical objects.
  • preset relocation means generating virtual objects corresponding to each of a plurality of objects by performing a simulation, and arranging virtual objects in a virtual space according to a placement algorithm based on the determined characteristics and characteristics of the virtual space.
  • preset of repositioning may mean arranging 3D objects (virtual objects) at positions different from the initial positions of the objects.
  • the preset relocation may be performed according to each arrangement algorithm at this time, and may correspond to each option selectable by the user.
  • the preset relocation may be performed by virtual physical simulation.
  • the preset relocation may be performed using at least one of the object's physical characteristics, the object's visual characteristics, or the object's usability characteristics.
  • the first preset rearrangement may be performed by simple 3D object positioning, which will be described later, while the other object preset rearrangement may be performed by a physical 3D simulation.
  • the preset rearrangement may be performed by physical simulation of the positions of 3D objects (virtual objects).
  • 3D objects may be placed in 3D rendering software.
  • the 3D rendering software may refer to software having a function of setting simple gravity and integrated friction coefficients for all objects, and as a non-limiting embodiment, the 3D rendering software may include Blender c.
  • 3D objects may be disposed one by one on a plane.
  • simulation may be performed so that 3D objects fall on a plane by gravity at a point located higher than the plane. This procedure allows objects to be placed very close to each other.
  • the above-described simulation method may be an embodiment in which simulation is performed most simply. In another embodiment after this procedure, virtual vertical walls may hold a plurality of objects together. More details will be described later in the drawings below.
  • the device 100 may generate a virtual arrangement image in which a plurality of objects are arranged according to an arrangement algorithm, based on the data about the arrangement result.
  • the device 100 may render the result of the at least one pre-relocation setting as at least one visual representation in consideration of at least one of the physical characteristics of the object, the visual characteristics of the object, or the usability characteristics of the object.
  • each of the at least one visual expression may correspond to at least one preset of repositioning.
  • the objects rearranged by the simulator according to the above-described method may be visually rendered based on various software such as blender.
  • FIG. 5 is a diagram illustrating virtual arrangement images in which a plurality of objects are arranged, according to an embodiment of the present disclosure.
  • steps S230 and S240 may be described in more detail.
  • the device 100 may generate virtual objects for the plurality of objects based on at least one of a visual characteristic, a physical characteristic, or a usability characteristic, in order to generate data on a result of arranging the plurality of objects.
  • a visual characteristic e.g., a visual characteristic
  • a physical characteristic e.g., a physical characteristic
  • a usability characteristic e.g., a usability characteristic
  • the device 100 may arrange the virtual objects created in the virtual space according to an arrangement algorithm. That is, the device 100 may apply at least one arrangement algorithm (eg, a rearrangement algorithm) to the virtual object reconstructed in 3D. In this case, the device 100 may generate data about a result of arranging a plurality of objects according to an arrangement algorithm, based on the arrangement result in the virtual space.
  • an arrangement algorithm e.g, a rearrangement algorithm
  • the placement algorithm may include a semantic similarity-based algorithm, a color similarity-based algorithm, a compactness-based algorithm, and the like.
  • the device 100 may generate a virtual arrangement image in which a plurality of objects are arranged based on the data on the result of arrangement of the plurality of objects, and FIG. 5 shows a virtual arrangement image corresponding to the virtual arrangement image.
  • the left image of FIG. 5A may be an image (initial image) of a plurality of objects obtained by the device 100 in step S210.
  • the device 100 may arrange virtual objects in a virtual space according to the first arrangement algorithm. That is, in this step, the device 100 may perform a 3D simulation on the virtual objects according to the first arrangement algorithm.
  • the first placement algorithm is a similarity-based algorithm
  • the device 100 may generate a first virtual placement image such as the right image of FIG. 5A . That is, when referring to the right image of FIG. 5A , it can be seen that similar types of objects are closely arranged.
  • the device 100 may arrange virtual objects in a virtual space according to the second arrangement algorithm.
  • the second arrangement algorithm is a miniaturization-based algorithm
  • the device 100 may generate a second virtual arrangement image such as the right image of FIG. 5B .
  • step S250 the device 100 may display a virtual arrangement image.
  • the device 100 may generate a UI for displaying at least one virtual arrangement image to be selected.
  • the at least one virtual arrangement image may be an image in which a plurality of objects are virtually arranged based on different arrangement algorithms.
  • the device 100 may display at least one virtual placement image corresponding to each placement algorithm. Also, the device 100 may receive an input for selecting one from the displayed at least one virtual arrangement image from the user.
  • FIG. 6 is a flowchart illustrating that the device 100 performs a 3D simulation, according to an embodiment of the present disclosure.
  • the device 100 may determine the location of each of the plurality of objects in the virtual space based on the placement algorithm.
  • the device 100 may generate a first virtual object corresponding to the first object included in the plurality of objects.
  • a virtual object is a 3D object generated by the device 100 to perform a 3D simulation in a virtual space, and may be a 3D virtual object corresponding to a real object.
  • a method of generating a virtual object will be described in more detail below with reference to FIGS. 24 to 28 .
  • the device 100 may allocate a visual feature, a physical feature, or a usability feature corresponding to the first object included in the plurality of objects to the first virtual object.
  • the device 100 may determine the location of the first virtual object in the virtual space based on the placement algorithm.
  • the virtual space may mean a virtual space for performing 3D simulation. New positions of the objects may be determined by changing a force in the virtual space acting on the object and a force acting between the objects in the virtual space.
  • FIG. 7 is a flowchart of a method of performing a simulation in consideration of a degree of similarity between objects, according to an embodiment of the present disclosure.
  • FIG. 7 may be a specific embodiment of step S230 of FIG. 2 described above.
  • FIG. 7 may be a case in which a plurality of objects are disposed in consideration of the degree of similarity between the objects.
  • the device 100 when the device 100 performs a simulation of relocating the positions of the objects, the device 100 uses semantic similarity between the objects to obtain a plurality of It is possible to generate data about the result of placing objects.
  • the degree of similarity between the plurality of objects may mean a value, a numerical value, or the like indicating the degree of similarity between the objects.
  • the similarity may refer to the above-described semantic similarity.
  • the device 100 may determine a degree of similarity between the first object included in the plurality of objects and other objects based on at least one of a visual characteristic, a physical characteristic, and a usability characteristic.
  • the first object may mean an arbitrary object included in the plurality of objects.
  • n * (n-1) / 2 pairwise semantic similarities may exist between pairs of objects.
  • the characteristics of the objects must be properly recognized.
  • the usefulness feature of the object may be recognized as described above, and in particular, the function of the object expressed as a 3D object (virtual object) should be recognized.
  • the semantic similarity according to the function of the object may mean, for example, that a marker and a pen are more similar than a marker and a nail.
  • the device 100 may determine the location of the first object based on the degree of similarity between the first object and other objects.
  • the device 100 determines the location of the first object based on the degree of similarity to the other objects, the degree of similarity between the first object and the second object is similar to that of the first object.
  • the position of the first object may be determined such that the first object is located closer to the second object than to the third object.
  • FIG. 8 is a diagram illustrating a degree of similarity determined between objects, according to an embodiment of the present disclosure.
  • the device 100 when determining the similarity between a plurality of objects based on the determined characteristic, the device 100 may obtain the names of the objects. And, the device 100 may determine the degree of similarity between the objects based on the names of the objects.
  • the similarity between objects may be determined by natural language similarity.
  • cosine similarity between two words may be calculated to determine natural language similarity
  • GloVe NLP may be used to calculate cosine similarity between two words.
  • a physical force (eg, attraction) acting between virtual objects in a virtual space may be proportional to the semantic similarity.
  • the attractive force of a physical force between objects may be a measure of positioning an object closer to or farther from another object when placing the objects. For example, when the attractive force of the physical force between the two objects is large, the objects having the large attractive force may be located close to each other. In addition, when the attractive force of the physical force between the two objects is small, the objects having the small attractive force may be positioned far from each other.
  • the attractive force acting between the first virtual object and the second virtual object in the virtual space may be determined based on the degree of similarity between the first virtual object and the second virtual object.
  • an attractive force acting between the first virtual object and the second virtual object in the virtual space may be determined in proportion to the degree of similarity between the first virtual object and the second virtual object.
  • the physical force between the two objects may be determined by the following equation.
  • a may mean a scaling factor, and in a non-limiting embodiment, a may be set to 30 when the simulation starts, and a may be set to 0 when the simulation ends.
  • d 12 may mean a semantic similarity coefficient.
  • the semantic similarity coefficient is a GloVe similarity between words or phrases that describe objects using a linear or empiric kind of monotonic increasing function. (GloVe similarity).
  • d 12 GloVe(word1, word2) 3 may be set.
  • m 1 may mean the mass of the first object
  • m 2 may mean the mass of the second object
  • a may mean the strength of an adhesion target to which objects are adhered together.
  • This simulation step may be performed in a viscosity environment.
  • the friction force may be proportional to the speed during the dynamic simulation (to prevent unnecessary vibration), and may be performed in a zero-gravity state that binds the objects to the surface.
  • a power of 2/3 can mean that when many objects are present, the determinant can be pressure. That is, it may mean proportional to the second power of the average size. On the other hand, it can be seen that the mass is proportional to the third power of the average size.
  • the force between objects may not be determined by their geometric size.
  • the physical force between the objects may be determined according to the following equation.
  • objects may start to adhere to each other with other objects during simulation, creating clusters of similar objects.
  • FIG. 9 is a diagram illustrating a physical force acting between objects according to an embodiment of the present disclosure.
  • FIG. 9 it can be seen that physical forces acting between the objects 910 , 920 , 930 , and 940 are illustrated.
  • the value of the value eg, F2/a(t) related to the attractive force acting between the objects of FIG. 8 is shown.
  • the device 100 may determine a degree of similarity between objects based on the feature.
  • the similarity between the objects may be proportional to the attractive force acting between the objects.
  • the force acting between the battery 920 and the charger 910 is 175 and the force acting between the pen 940 and the marker 930 is 43.6. These values are larger than the forces acting between other objects.
  • the force acting between the marker 930 and the battery 920 is 0.12
  • the value of the force acting between the marker 930 and the charger 910 is 3.3.
  • the device 100 can confirm that the similarity between the battery and the charger is the greatest. In addition, it can be confirmed that the similarity between the pen and the marker is the next largest.
  • the similarity may correspond to a relative value.
  • the degree of similarity it is necessary to relatively determine how the first object has a similarity with other objects based on one object (eg, the first object).
  • the object having the greatest similarity with respect to the battery 920 is the charger 910 .
  • the marker 930 is judged as a reference, the marker has a force of attraction with the pen 940 of 43.6, which is smaller than 175, but has the greatest similarity to the pen when viewed with the marker 930 as a reference. Accordingly, the object having the greatest similarity to the marker may be determined as a pen.
  • the device 100 may generate data about a result in which a plurality of objects are arranged in a virtual space based on the derived value (similarity). As an example, the device 100 may locate objects having a high similarity close to each other. Referring to FIG. 9 , the device 100 may generate data such that the marker and the pen are located close to each other, and the device 100 may generate data such that the charger and the battery are located close together. Also, the device 100 may align the plurality of objects so that objects having a low similarity value are located farther away.
  • arranging objects with high similarity close to each other may be an embodiment that can enhance user convenience.
  • FIG. 10 is a graph illustrating a relationship between physical forces considered when modeling positions of objects, according to an embodiment of the present disclosure.
  • a first force 1020 and a second force 1030 may act on the object 1010 .
  • the first force 1020 may be gravity acting on the object.
  • the second force 1030 may be an attractive force that the object acts with other objects.
  • the attractive force acting with other objects may be the force according to FIGS. 8 to 9 described above.
  • FIG. 10B is a diagram illustrating an embodiment in which the first force 1020 and the second force 1030 shown in FIG. 10A change during simulation.
  • modeling the positions of objects may have two steps.
  • the section 1040 of the first step may be an inter-object attraction phase.
  • the coefficient a(t) is not 0, but the gravitational acceleration g(t) is almost 0. Since there is no frictional force in this section 1040, objects can freely move with each other without friction while creating clusters for objects aligned according to semantic similarity between the objects.
  • the section 1050 of the second stage may be a finalization phase.
  • the gravity g(t) may be applied preferentially over the force between the objects. Therefore, objects can move under the influence of gravity rather than the attraction between objects.
  • FIG. 11 is a diagram illustrating a change in a position of an object over time in modeling, according to an embodiment of the present disclosure.
  • a method of using virtual force fields eg, a virtual bulldozer
  • a method of using vibration in a shrinking sphere e.g., a method of forcibly relocating objects without using physical modeling
  • a method of forcibly relocating objects without using physical modeling may be included, but is not limited thereto.
  • Other example embodiments may include other methods and means for determining attractive forces between objects and for determining immovable objects.
  • FIG. 12 is a diagram illustrating a simulation result of arranging an object using usefulness characteristics of the objects, according to an embodiment of the present disclosure.
  • the device 100 determines a target on which the first object is disposed (eg, removes when tidying up) based on the usability characteristics of the first object included in the plurality of objects. object to be, garbage, etc.) can be determined. Also, the device 100 may determine the position of the first object based on whether the first object is a target on which it is placed.
  • FIG. 12A may be a diagram illustrating objects before being organized. That is, (a) of FIG. 12 may correspond to the image acquired or photographed by the device 100 in step S210. In this case, when the object 1210 that is not an arrangement target is included in the objects to be arranged, the device 100 needs to clean up the garbage 1210 .
  • the device 100 may determine whether each of the plurality of objects is the target 1210 (eg, garbage) to be removed, based on the extracted usefulness feature. That is, in one embodiment, additional usefulness characteristics of objects may include classification as to whether the object is non garbage or garbage.
  • the target 1210 eg, garbage
  • additional usefulness characteristics of objects may include classification as to whether the object is non garbage or garbage.
  • step S250 when the device 100 is not a target on which the first object is disposed (that is, when the first object is garbage 1210 ), as shown in (b) of FIG. A virtual arrangement image in which the first object is distinguished may be generated.
  • the device 100 may generate an image by separating an object determined not to be an arrangement target.
  • an object classified as garbage 1210 may be displayed as a visually changed expression (eg, garbage may be marked) during a rendering process and a display process. That is, the garbage 1210 may be displayed to be distinguished from other objects.
  • FIG. 13 is a flowchart of a method of determining a position of an object based on a frequency of use of the object, according to an embodiment of the present disclosure.
  • the device 100 may acquire the frequency of use of the first object included in the plurality of objects based on the usability feature.
  • the usability characteristic may include a frequency of use for each of a plurality of objects.
  • the frequency of use for each of the objects may be a relative concept.
  • the device 100 may determine the frequency of use for each of the plurality of objects based on the amount of position movement for each of the plurality of objects. More details will be described later with reference to FIGS. 14 to 17 .
  • the device 100 may determine the location of the first object based on the frequency of use.
  • the device 100 determines the location of the first object based on the frequency of use
  • the frequency of use for the first object is greater than the frequency of use for the second object
  • the first The position of the first object may be determined so that the object is closer to the user preference region than the second object.
  • the user preference area may be determined based on a distance between at least one area in which the plurality of objects are disposed and the device 100 .
  • FIG. 14 is a flowchart of a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • data describing the frequency of use of objects may exist. Items can be rearranged according to frequency of use. In this case, various other metrics using the frequency of use may exist. In this case, as an example, the frequency of use during simulation may be determined as the forefront.
  • the device 100 may check the positions of the objects and track whether the positions of the objects are changed.
  • 14 may be a flowchart of a method of obtaining a frequency of use for a first object included in a plurality of objects based on a usability feature in operation S1310.
  • the device 100 may track a change in the position of the first object included in the plurality of objects from at least one image.
  • the first object may mean one object among a plurality of objects. That is, the first object may mean an object that is a target when tracking the position and movement of the object.
  • the at least one image may mean an image photographed so as to track a change in the position of the object in order to determine the frequency of use of the object.
  • the at least one image may be an image captured at a specific time interval.
  • the at least one image may be an image captured when the object moves.
  • the device 100 may determine the amount of position movement of the first object based on information on the change in position of the first object.
  • the device 100 may determine the frequency of use of the first object based on the amount of position movement.
  • 15 is a diagram illustrating a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • FIG. 15 illustrates a method of determining the frequency of use of an object in order to perform a simulation of organizing an object by using the usefulness characteristics of the object.
  • all observations of the object may be processed to calculate a root mean square (RMS) value, as shown in the following equation.
  • RMS root mean square
  • the first image may be the image taken on the first day
  • the second image may be the image taken on the second day
  • the third image may be the image taken on the third day
  • the fourth image may be the image taken on the fourth day.
  • the device 100 may confirm that the position of the pen 1510 is obtained as (2, 3, 7) in the first image.
  • the device 100 may obtain the position of the object as (x, y, z) coordinates, and the x, y, z coordinates of the object may be bound to a global coordinate system.
  • the device 100 may confirm that the position of the pen 1510 is obtained as (3, 6, 7) in the second image. In addition, the device 100 obtained the position of the pen 1510 in the third image as (2.5,6,7), and the device 100 obtained the position of the pen 1510 in the fourth image as (4,7, (4,7, 7) can be checked.
  • the RMS value of the pen 1510 may be 0.836.
  • an RMS value for each of the plurality of objects shown in (a) of FIG. 15 may be checked. It can be seen that the RMS value of the pen 1510 is large compared to the values of other objects. Accordingly, it can be seen that the user changes the position of the pen 1510 most frequently, and the user uses the pen 1510 more frequently than other objects.
  • 16 is a diagram illustrating a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • each object may be recognized using two anchor points.
  • the positions of the tip 1620 and the end 1610 of the pen 1600 were determined.
  • the positions of the end 1610 and the tip 1620 of the pen 1600 in the first photographed image are (3.2, 4.5, 3.1) and (1.6, 7.3, 3.1), respectively.
  • the positions of the end 1610 and tip 1620 of the pen 1600 in the second image are (7.2, 5.2, 3.1) and (4.5, 4.0, 3.1), respectively.
  • the positions of the end 1610 and tip 1620 of the pen 1600 are (2.6, 2.5, 3.1) and (1.0, 3.8, 3.1), respectively.
  • the device 100 may track the position of the object by using two anchor points for the object. Also, the device 100 may obtain an RMS value by using two anchor points for an object.
  • RMS can be calculated in the same way as described with reference to FIG. 15 by using the following equation.
  • the frequency of use is large for an object having a larger RMS value compared to other objects.
  • 17 is a diagram illustrating a method of determining the frequency of use of an object, according to an embodiment of the present disclosure.
  • FIG. 17 is a diagram for an example in which positions of objects change according to the frequency of use of the objects.
  • various methods for determining the frequency of use of objects may exist.
  • 3 anchor points per object may be used to track 6DoF position changes.
  • the coordinate RMS value or any other frequency measurement metric can be calculated using various rules or methods. have.
  • a constant positive value may be heuristically summed to the RMS value.
  • an end-to-end deep learning method may be applied to calculate the frequency of use of an object. Given a data set and a series of images synthesized based on the CleVR methodology containing the positions of the objects sequentially, the usefulness values (based on the coordinate values of the RMS values) can be used. A deep neural network based on a 3D convolutional network may be used to learn usefulness values of objects in an end-to-end manner.
  • 18 is a diagram illustrating a method of determining positions of objects in consideration of characteristics of objects, according to an embodiment of the present disclosure.
  • the above-mentioned frequency of use may be considered as a characteristic of the objects.
  • the attractive force acting between the objects in proportion to the frequency of use may be considered.
  • an additional force 1840 may be used on the object during simulation.
  • the additional force 1840 may include a spring force with respect to a virtual line passing through the user preference region.
  • the preferred area is an area that the user prefers to access, and more specifically, may mean the most convenient area in which the user can select and use or pick up an object.
  • a line of center of preferred area 1820 of FIG. 18 may mean a virtual line located on the user's preferred area.
  • the distance 1830 may mean a distance from the pen 1816 to the center line 1820 of the user preference area.
  • a force 1840 acting on the pen 1816 may be calculated as k*distance 1830 .
  • k may mean a coefficient acting to position the object close to the preferred region, and may mean an elastic coefficient.
  • k may be a value set in proportion to the frequency of use of the object.
  • 19 is a diagram illustrating a method of arranging an object in consideration of a frequency of use, according to an embodiment of the present disclosure.
  • 19(a) may correspond to a virtual arrangement image in which objects are arranged in consideration of the frequency of use of the pen 1900 when the pen 1900 is not used.
  • the value of k may be 0.
  • 19( b ) may correspond to a virtual arrangement image in which an object is arranged when the pen 1900 is used at an intermediate frequency of use.
  • the value of k may be 5.
  • 19(c) may correspond to a virtual arrangement image in which an object is arranged when the pen 1900 is used with a high frequency of use.
  • the value of k may be 20.
  • the frequency of use may be a relative concept between objects.
  • the pen 1900 may be positioned differently depending on additional forces.
  • the value of the elastic modulus k that attracts the object to the imaginary line that determines the central portion of the most accessible region (user preferred region) may be increased. The closer the object is to this line, the smaller the force can be.
  • a balance of forces can be established at the end of the simulation.
  • the forces affecting usability may decrease.
  • the objects may be located in the user preference area.
  • an object located in the user preference area may be determined based on the frequency of use.
  • 20 is a diagram for a method of determining a user preference area according to an embodiment of the present disclosure.
  • An easy or easy-to-access area (a user preference area) may be determined in a non-limiting manner.
  • the user preference area is an area located at the shortest distance to the camera mounted on the device 100 during all movements of the device 100 in a certain space (eg, an apartment), a table, a shelf, etc. It may be an area closest to the user, or an area explicitly designated by the user, etc.
  • the user preference region compares the location of the device 100 with a first distance between the first point 2050 and the second distance between the location of the device 100 and the second point 2040 . can be determined by
  • an area designated by the user as an object to be organized may be covered by a plurality of points.
  • an area designated by the user to be organized may be divided into three points.
  • the first point is the user's preferred access area (e.g., an area where the user can easily use the object), the second point is the moderately difficult access area, and the other area is the user's hard-to-reach area (e.g., if it is far away). ) can be specified.
  • the first point is the user's preferred access area (e.g., an area where the user can easily use the object)
  • the second point is the moderately difficult access area
  • the other area is the user's hard-to-reach area (e.g., if it is far away). ) can be specified.
  • it is not limited to three points as described above.
  • the first point 2050 and the second point 2040 exist in an area designated by the user to be organized.
  • the first point 2050 may be the closest area to be used by the user among the area of the table, and the second point 2040 may mean the middle area of the area of the table.
  • the device 100 may include a camera.
  • the position of the device 100 and the first point 2050 taking into account the geometric rules and the first position 2010, the second position 2020, and the third position 2030 of the device 100 (eg, a robot)
  • a first distance to and a second distance between the location of the device 100 and the second point 2040 may be determined.
  • the sum of the distances from the first location 2010, the second location 2020, and the third location 2030 of the devices 100 and 2000 to the second point 2040 is the device 100 (2000). greater than the sum of the distances from the first location 2010 , the second location 2020 , and the third location 2030 to the first point 2050 . That is, d21 + d22 + d23 > d11 + d12 + d13 holds. That is, d21 + d22 + d23 , which is the sum of the distances between the positions of the device 100 and the second point 5640 , is d11 + d12 + which is the sum of the distances between the positions of the device 100 and the first point 5650 . greater than d13. Accordingly, it can be seen that the second point is farther than the first point.
  • d21 is the second point 2040 and the first location 2010, d22 is the second point 2040 and the second location 2020, and d23 is the second point 2040 and the third location 2030.
  • d11 is a first point 2050 and a first location 2010, d12 is a first point 2050 and a second location 2020, and d13 is a first point 2050 and a third location 2030.
  • the first point 2050 and the surrounding environment of the first point 2050 may be identified as areas that can be more easily accessed by the user.
  • the devices 100 and 2000 may determine the area of the first point 2050 as the user's preferred area.
  • 21 and 22 are diagrams illustrating a UI in which the device 100 displays a virtual arrangement image, according to an embodiment of the present disclosure.
  • the rendered result may be generated as a UI.
  • the device 100 may generate and display several options that the user can select as a UI.
  • the option may also include selection of whether to agree to the relocation of objects proposed by the device 100 .
  • a UI for selecting whether to accept the arrangement of items presented from the device 100 may be generated. For example, as shown in FIG. 21 , an image of the state of the objects before (current) arrangement and an image of the state of the objects in the case of arrangement may be displayed.
  • the device 100 may arrange a plurality of objects according to the image selected based on the received input.
  • the user selects to reject (no) sorting the device 100 may not perform sorting of objects based on the received input.
  • selection A may be a virtual placement image generated based on a first placement algorithm
  • selection B may be a virtual placement image generated based on a second placement algorithm.
  • another relocation of the objects may be generated.
  • the device 100 may generate virtual placement images for objects based on another placement algorithm.
  • FIG. 23 is a flowchart of a method for a device to generate a control signal for arranging a plurality of objects based on a virtual arrangement image, according to an embodiment of the present disclosure.
  • the device 100 may generate a UI for selecting at least one virtual arrangement image.
  • the at least one virtual arrangement image may be an image in which a plurality of objects are virtually arranged based on different arrangement algorithms.
  • the device 100 may receive an input for selecting one virtual placement image from among at least one virtual placement image.
  • the device 100 may generate a control signal for arranging a plurality of objects according to the selected virtual arrangement image.
  • the device 100 may generate a control signal for arranging a plurality of objects according to an image selected based on a received input.
  • the device 100 may arrange a plurality of objects based on the control signal.
  • the device 100 may arrange a plurality of objects based on the generated control signal.
  • the device 100 may transmit a control signal to an external device.
  • the external device is a robot capable of performing a function of organizing objects based on a control signal
  • the device 100 transmits a control signal to the external device, and the external device (eg, robot) receives the received A plurality of objects may be arranged based on the control signal.
  • FIG. 24 is a flowchart of a method of generating a virtual object, according to an embodiment of the present disclosure.
  • the device 100 may perform segmentation on the first object in the acquired image.
  • to segment an object may use semantic segmentation.
  • the device 100 may perform semantic segmentation of objects in at least one image.
  • semantic segmentation may mean that a first object included in a plurality of objects is deleted or separated from an image acquired.
  • an initial image may be obtained.
  • segmentation may be performed on the battery 2520 as the first object in the initial image.
  • the separated object 2520 may be stored.
  • the segmented object 2530 may be cut from the image.
  • the device 100 may remove the divided objects one by one from the image and fill the gap by inpainting. That is, a mask for inpainting may be performed on the image.
  • inpainting may mean an algorithm for masking a specific area of an image and reconstructing an interval.
  • an initial image 2610 and a mask 2620 may be input to the inpainting algorithm to perform inpainting. Through this process, the image 2630 in which the object has disappeared may be acquired.
  • segmentation and inpainting may be sequentially performed on each of the plurality of objects included in the initial image as shown in (a) of FIG. 27 .
  • the device 100 may repeatedly perform segmentation and inpainting until there are no remaining objects.
  • the device 100 may assign a characteristic determined for the first object to the first object.
  • the characteristic determined for the first object may mean at least one of a visual characteristic, a physical characteristic, or a usefulness characteristic of the first object, as described above.
  • the device 100 may shape the first object in 3D.
  • the device 100 may perform 3D reconstruction of non-movable 3D objects such as objects on a region and a plane.
  • FIG. 28 is a diagram illustrating a method of generating a virtual object. As described above, segmentation and masking may be performed on the initial image 2810 . In addition, the segmented object may be stored for later 3D shaping. In addition, a virtual object 2830 may be generated by performing 3D shaping on the stored object.
  • 29 is a diagram illustrating a method in which a device rearranges objects located in a specific area according to an embodiment of the present disclosure.
  • the device 100 rearranges objects located in a specific area (area where objects to be placed are located) by the device 100 or the external device 100 (eg, a robot). To perform, it may receive a user's command.
  • the device 100 may capture at least one image (2D or RGBD) for a specific area.
  • the device 100 may be a robot or a device capable of communicating with an external device (eg, a robot).
  • the device 100 may perform semantic segmentation of objects in at least one image.
  • the device 100 may remove the divided objects one by one from the image and fill the gap by inpainting.
  • the device 100 may repeatedly perform segmentation and inpainting until there are no objects remaining as segments.
  • the device 100 may perform a simulation, so that the device 100 may perform 3D reconstruction of objects on an area and a non-movable 3D object such as a plane. As shown in (b) of FIG. 29 , the device 100 may calculate rearrangements of at least two possible 3D objects in the region reconfigured in 3D.
  • the device 100 may recognize objects.
  • text labels may be applied.
  • the device 100 may calculate a pairwise semantic distance between pairs of objects.
  • GloVe-300 embedding may be used.
  • the device 100 may estimate the physical characteristics of the objects (eg, the weights of the objects) based on a database of weights based on the types of objects. (virtual) objects with corresponding weights
  • virtual 3D objects may be input into the 3D physical simulator together with a database on physical properties of the objects (eg, weight of objects, frictional force), and the like.
  • a physical force e.g., pairwise force, attractive force
  • a simulation may be performed. While the simulation is being performed, a vibration that decreases with time may be applied to the surface to which a decreasing pairwise force is applied.
  • objects can be semantically grouped and positioned at optimal positions.
  • virtual objects may be virtually arranged in a virtual space according to at least one arrangement algorithm as shown in FIG. 29B .
  • a UI may be generated and displayed to the user.
  • the rendered view may be stored to be shown to the user.
  • the device 100 may render at least two possible rearrangements as bitmap images of video files. At this time, according to an embodiment of the present disclosure, at least two possible rearrangements may be presented to the user.
  • one of at least two possible rearrangements may be selected by the user.
  • the device 100 may send a command to the robot to perform the selected rearrangement of the belongings.
  • FIG. 30 is a block diagram illustrating the configuration of the device 100 according to an embodiment of the present disclosure.
  • the device 100 of the present disclosure may include a processor 3030 , a communication unit 3010 , a memory 3020 , a display 3030 , and a photographing unit 3050 .
  • the components of the device 100 are not limited to the above-described examples.
  • the device 100 may include more or fewer components than the aforementioned components.
  • the processor 3030 , the communication unit 3010 , and the memory 3020 may be implemented in the form of a single chip.
  • the device 100 may perform a method of generating a virtual arrangement image in which a plurality of objects are rearranged according to the above-described method, and descriptions of overlapping operations will be omitted.
  • the processor 3030 may control a series of processes in which the device 100 may operate according to the above-described embodiment of the present disclosure.
  • components of the device 100 may be controlled to perform a method of providing a service for generating a virtual arrangement image in which a plurality of objects are rearranged according to an embodiment of the present disclosure.
  • the communication unit 3010 may transmit/receive a signal to/from an external device (eg, an external device that captures an image, an external device capable of moving objects according to an image selected by a user, etc.).
  • a signal transmitted and received with an external device may include control information and data.
  • the communication unit 3010 may include an RF transmitter for up-converting and amplifying a frequency of a transmitted signal, and an RF receiver for low-noise amplifying and down-converting a received signal.
  • the communication unit 3010 is only an example, and components of the communication unit 3010 are not limited to the RF transmitter and the RF receiver.
  • the communication unit 3010 may receive a signal through a wireless channel and output it to the processor 3030 , and transmit a signal output from the processor 3030 through a wireless channel.
  • the memory 3020 may store programs and data necessary for the operation of the device 100 . Also, the memory 3020 may store control information or data included in a signal transmitted and received by the device 100 .
  • the memory 3020 may be configured as a storage medium or a combination of storage media such as ROM, RAM, hard disk, CD-ROM, and DVD. Also, there may be a plurality of memories 3020. According to an embodiment, the memory 3020 performs an operation of providing a service for generating a virtual arrangement image in which a plurality of objects, which are the above-described embodiments of the present disclosure, are rearranged. program can be stored for
  • the processor 3030 acquires an image for a plurality of objects, and determines at least one of a visual characteristic, a physical characteristic, or a usability characteristic for each of the plurality of objects based on the acquired image, Based on at least one of a visual characteristic, a physical characteristic, or a usability characteristic, data on a result in which a plurality of objects are disposed is generated, and based on the data on a result in which the plurality of objects are disposed, virtual in which the plurality of objects are disposed may generate a batch image of , and display a virtual batch image.
  • the usability characteristic may include at least one of a frequency of use of each of the plurality of objects, information on whether or not the object is an arrangement target, information on a use purpose, or information on stability. .
  • the processor 3030 may obtain the frequency of use of the first object included in the plurality of objects based on the usability feature, and determine the location of the first object based on the frequency of use.
  • the processor 3030 when the frequency of use of the first object is greater than the frequency of use of the second object, the processor 3030 is configured to position the first object so that the first object is located closer to the user preference region than the second object. can be decided
  • the processor 3030 may determine a user preference area based on a distance between at least one area in which the plurality of objects are disposed and the device.
  • the processor 3030 may determine the frequency of use for each of the plurality of objects based on the amount of position movement for each of the plurality of objects.
  • the processor 3030 tracks a change in the position of the first object included in the plurality of objects from at least one image, and based on the information on the change in the position of the first object, The position movement amount may be determined, and the frequency of use of the first object may be determined based on the position movement amount.
  • the processor 3030 determines a degree of similarity between a first object included in the plurality of objects and other objects based on at least one of a visual characteristic, a physical characteristic, or a usability characteristic, and The position of the first object may be determined based on the similarity between other objects.
  • the processor 3030 determines that the first object is closer to the second object than the third object when the degree of similarity between the first object and the second object is greater than the degree of similarity between the first object and the third object.
  • the position of the first object may be determined to be located.
  • the processor 3030 determines whether the first object is an object on which the first object is placed, based on the usability feature of the first object included in the plurality of objects, and determines whether the first object is an object on which the object is placed. Based on it, the position of the first object may be determined.
  • the processor 3030 may generate a virtual arrangement image in which the first object is distinguished from objects that are placed objects.
  • the processor 3030 may generate a UI for selecting at least one virtual arrangement image.
  • the at least one virtual arrangement image may be an image in which a plurality of objects are virtually arranged based on different arrangement algorithms.
  • the processor 3030 receives an input for selecting one virtual arrangement image from among at least one virtual arrangement image, and receives a control signal for arranging a plurality of objects according to the selected virtual arrangement image.
  • the processor 3030 may identify each of a plurality of objects based on the obtained image, and obtain the physical feature corresponding to each of the identified objects from a database.
  • the processor 3030 may determine a location for each of a plurality of objects in a virtual space based on a placement algorithm.
  • the processor 3030 assigns a visual feature, a physical feature, or a usability feature corresponding to the first object included in the plurality of objects to the first virtual object, and is configured to allocate the first virtual object in the virtual space based on the placement algorithm. 1 The location of the virtual object may be determined.
  • the processor 3030 may determine a force acting on the first virtual object in a virtual space, and determine a position of the first virtual object based on the force acting on the first virtual object. .
  • the processor 3030 may determine the attractive force acting between the first virtual object and the second virtual object in the virtual space based on the similarity between the first virtual object and the second virtual object.
  • a computer-readable storage medium or computer program product storing one or more programs (software modules) may be provided.
  • One or more programs stored in a computer-readable storage medium or computer program product are configured for execution by one or more processors in an electronic device (device).
  • One or more programs include instructions for causing an electronic device to execute methods according to embodiments described in a claim or specification of the present disclosure.
  • Such programs include random access memory, non-volatile memory including flash memory, read only memory (ROM), electrically erasable programmable ROM (EEPROM: Electrically Erasable Programmable Read Only Memory), magnetic disc storage device, Compact Disc-ROM (CD-ROM), Digital Versatile Discs (DVDs), or any other form of It may be stored in an optical storage device or a magnetic cassette. Alternatively, it may be stored in a memory composed of a combination of some or all thereof. In addition, each configuration memory may be included in plurality.
  • the program accesses through a communication network composed of a communication network such as the Internet, Intranet, Local Area Network (LAN), Wide LAN (WLAN), or Storage Area Network (SAN), or a combination thereof. It may be stored in an attachable storage device that can be accessed. Such a storage device may be connected to a device implementing an embodiment of the present disclosure through an external port. In addition, a separate storage device on the communication network may be connected to the device implementing the embodiment of the present disclosure.
  • a communication network such as the Internet, Intranet, Local Area Network (LAN), Wide LAN (WLAN), or Storage Area Network (SAN), or a combination thereof. It may be stored in an attachable storage device that can be accessed.
  • Such a storage device may be connected to a device implementing an embodiment of the present disclosure through an external port.
  • a separate storage device on the communication network may be connected to the device implementing the embodiment of the present disclosure.
  • the term "computer program product” or “computer readable medium” refers to a medium such as a memory, a hard disk installed in a hard disk drive, and a signal as a whole. used for These "computer program products” or “computer-readable recording medium” acquire images of a plurality of objects according to the present disclosure, and visual characteristics and physical characteristics of each of the plurality of objects based on the obtained images or determining at least one of the usability characteristics, and based on at least one of the visual characteristics, the physical characteristics, or the usability characteristics, generating data on a result in which the plurality of objects are disposed, It is a means for generating a virtual arrangement image in which a plurality of objects are arranged based on it, and providing the software computer system with instructions for displaying the virtual arrangement image.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법 및 디바이스가 개시된다. 디바이스는 복수의 오브젝트들에 대한 이미지를 획득하고, 획득한 이미지에 기초하여 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하며, 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하고, 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하며, 가상의 배치 이미지를 디스플레이할 수 있다.

Description

오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치
본 발명은 가정 환경에서 인간과 장치(예, 로봇) 간의 상호 작용을 위한 시스템 및 방법에 대한 것이다. 보다 상세하게, 가정 용품 또는 다른 개인 소지품을 재배치하도록 사용자에게 가이드 하는 방법 및 장치에 관한 것이다.
가정용 응용 제품에 대한 로봇 공학의 추세가 증가하고 있다. 현재 대중 시장의 가정용 로봇에는 내비게이션으로 집안을 이동하는 수단, 비디오 스트림을 입력 받는 수단 및 심박수 측정 장치와 같은 기타 센서들을 포함할 수 있다.
미래의 대중 시장의 로봇은 로봇 팔, 진공 손 또는 물체와의 상호 작용을 위한 다른 수단과 같은 물리적 상호 작용을 위한 수단을 가질 것으로 예측된다. 이러한 로봇 팔을 적용 가능한 응용 중 하나는 아이템들을 청소하고, 재배치하는 것이다.
따라서, 디바이스가 아이템들을 가상으로 아이템을 재배치하여 아이템들을 정리하는 방법에 대한 연구가 필요한 실정이다.
본 발명에 따르면, 복수의 오브젝트들을 재배치하는 시뮬레이션을 수행하는 디바이스 및 방법이 제공될 수 있다.
본 발명에 따르면, 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 디바이스 및 방법이 제공될 수 있다.
본 개시는 디바이스가 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법을 제공한다. 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법은 상기 복수의 오브젝트들에 대한 이미지를 획득하는 단계; 상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하는 단계; 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하는 단계; 및 상기 가상의 배치 이미지를 디스플레이하는 단계;를 포함할 수 있다.
본 개시에 따르면, 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 디바이스가 제공될 수 있다. 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 디바이스에 있어서, 적어도 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 적어도 하나 이상의 인스트럭션을 실행함으로써 상기 디바이스를 제어하는 적어도 하나 이상의 프로세서를 포함할 수 있다.
본 발명에 따르면, 복수의 오브젝트들을 재배치하는 시뮬레이션을 수행하는 효과가 존재한다.
본 발명에 따르면, 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 효과가 존재한다.
다만, 일 실시예에 따른 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 실시 예들에 따른, 본 개시의 동작을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따라, 디바이스(100)가 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법에 대한 것이다.
도 3은 본 개시의 일 실시예에 따라, 복수의 오브젝트들에 대한 이미지를 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른, 텍스트 레이블(Text label)을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따라, 복수의 오브젝트들이 배치된 가상의 배치 이미지들을 도시한 도면이다.
도 6은 본 개시의 일 실시예에 따라, 디바이스(100)가 3D 시뮬레이션을 수행하는 흐름도이다.
도 7은 본 개시의 일 실시예에 따라, 오브젝트들 간의 유사도를 고려하여 시뮬레이션을 수행하는 방법에 대한 흐름도이다.
도 8은 본 개시의 일 실시예에 따라, 오브젝트들 간에 결정된 유사도를 도시한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 오브젝트들 간의 작용하는 물리적 힘을 도시한 도면이다.
도 10은 본 개시의 일 실시예에 따라, 오브젝트들의 위치를 모델링할 때 고려되는 물리적 힘들의 관계를 도시한 그래프이다.
도 11은 본 개시의 일 실시예에 따라, 모델링의 시간 경과에 따른 오브젝트의 위치 변동을 도시한 도면이다.
도 12는 본 개시의 일 실시예에 따라, 오브젝트들의 유용성 특징을 이용하여 오브젝트를 배치하는 시뮬레이션 결과를 도시한 도면이다.
도 13은 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수에 기초하여 오브젝트의 위치를 결정하는 방법에 대한 흐름도이다.
도 14는 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법에 대한 흐름도이다.
도 15는 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법을 도시한 도면이다.
도 16은 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법을 도시한 도면이다.
도 17은 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법을 도시한 도면이다.
도 18은 본 개시의 일 실시예에 따라, 오브젝트의 특징을 고려하여 오브젝트들의 위치를 결정하는 방법을 도시한 도면이다.
도 19는 본 개시의 일 실시예에 따라, 사용 빈도수를 고려하여 오브젝트를 배치하는 방법을 도시한 도면이다.
도 20은 본 개시의 일 실시예에 따라, 사용자 선호 영역을 결정하는 방법에 대한 도면이다.
도 21 및 도 22는 본 개시의 일 실시예에 따라, 디바이스(100)가 가상 배치 이미지를 디스플레이하는 UI를 도시한 도면이다.
도 23은 본 개시의 일 실시예에 따라, 디바이스가 가상 배치 이미지에 기초하여 복수의 오브젝트들을 배열하기 위한 제어 신호를 생성하는 방법에 대한 흐름도이다.
도 24는 본 개시의 일 실시예에 따라, 가상 오브젝트를 생성하는 방법에 대한 흐름도이다.
도 25는 본 개시의 일 실시예에 따라, 시맨틱 세그먼테이션(semantic segmentation)를 설명하기 위한 도면이다.
도 26은 본 개시의 일 실시예에 따라, 인페인팅(inpainting)을 설명하기 위한 도면이다.
도 27은 본 개시의 일 실시예에 따라, 복수의 오브젝트들에 대응하는 복수의 가상 오브젝트를 생성하는 방법을 설명하기 위한 도면이다.
도 28은 가상 오브젝트를 생성하는 방법을 도시한 도면이다.
도 29는 본 개시의 일 실시예에 따라, 디바이스가 특정 영역에 위치한 오브젝트들의 재배열을 수행하는 방법을 도시한 도면이다.
도 30은 본 개시의 일 실시예에 따른 디바이스(100)의 구성을 나타내는 블록도이다.
본 개시는 디바이스가 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법을 제공한다. 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법은 상기 복수의 오브젝트들에 대한 이미지를 획득하는 단계; 상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하는 단계; 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하는 단계; 및 상기 가상의 배치 이미지를 디스플레이하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 유용성 특징은 상기 복수의 오브젝트들 각각에 대한 사용 빈도수, 배치되는 대상인지 여부에 대한 정보, 사용 용도에 대한 정보 또는 안정성에 대한 정보 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 는, 상기 유용성 특징에 기초하여, 상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득하는 단계; 및 상기 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정하는 단계;는 상기 제1 오브젝트에 대한 사용 빈도수가 제2 오브젝트에 대한 사용 빈도수보다 큰 경우, 상기 제1 오브젝트가 상기 제2 오브젝트 보다 사용자 선호 영역에 가깝게 위치하도록 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 사용자 선호 영역은 상기 복수의 오브젝트들이 배치되는 적어도 하나의 영역과 상기 디바이스와의 거리에 기초하여 결정될 수 있다.
본 개시의 일 실시예에 따라, 상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나를 결정하는 단계;는 상기 복수의 오브젝트들 각각에 대한 위치 이동량에 기초하여 상기 복수의 오브젝트들 각각에 대한 사용 빈도수를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 복수의 오브젝트들 각각에 대한 사용 빈도수를 결정하는 단계;는 상기 복수의 오브젝트들에 포함된 제1 오브젝트의 위치 변화를 적어도 하나의 이미지로부터 추적하는 단계; 상기 제1 오브젝트의 위치 변화에 대한 정보에 기초하여, 상기 제1 오브젝트의 위치 이동량을 결정하는 단계; 및 상기 위치 이동량에 기초하여, 상기 제1 오브젝트의 사용 빈도수를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계;는, 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들에 포함된 제1 오브젝트와 다른 오브젝트들 간의 유사도를 결정하는 단계; 및 상기 제1 오브젝트와 다른 오브젝트들 간의 유사도에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 다른 오브젝트들과 유사도에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 단계;는, 상기 제1 오브젝트와 제2 오브젝트와의 유사도가 상기 제1 오브젝트와 제3 오브젝트와의 유사도 보다 큰 경우, 상기 제1 오브젝트가 상기 제3 오브젝트 보다 상기 제2 오브젝트와 가깝게 위치하도록 상기 제1 오브젝트의 위치를 결정하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 는, 상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 유용성 특징에 기초하여, 상기 제1 오브젝트가 배치되는 대상인지 판단하는 단계; 및 상기 제1 오브젝트가 배치되는 대상인지 여부에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하는 단계;는, 상기 제1 오브젝트가 배치되는 대상이 아닌 경우, 배치되는 대상인 오브젝트들과 상기 제1 오브젝트가 구별되는 가상 배치 이미지를 생성하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 가상의 배치 이미지를 디스플레이하는 단계;는 적어도 하나의 가상의 배치 이미지를 선택하는 UI를 생성하는 단계;를 포함하고, 상기 적어도 하나의 가상의 배치 이미지는 서로 다른 배치 알고리즘에 기초하여 가상으로 복수의 오브젝트들이 배치된 이미지일 수 있다.
본 개시의 일 실시예에 따라, 상기 가상의 배치 이미지를 디스플레이하는 단계;는 상기 적어도 하나의 가상의 배치 이미지 중에서 하나의 가상의 배치 이미지를 선택하는 입력을 수신하는 단계; 및 상기 선택된 가상의 배치 이미지에 따라 상기 복수의 오브젝트들을 배치하기 위한 제어 신호를 생성하는 단계;를 더 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하는 단계;는 상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각을 식별하는 단계; 및 상기 식별된 오브젝트들 각각에 대응하는 상기 물리적 특징을 데이터 베이스로부터 획득하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 배치 알고리즘에 기초하여 가상 공간에서 상기 복수의 오브젝트들 각각에 대한 위치를 결정하는 단계; 를 더 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 배치 알고리즘에 기초하여 상기 가상 공간에서 상기 복수의 오브젝트들 각각에 대한 위치를 결정하는 단계;는 상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대응되는 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징을 제1 가상 오브젝트에 할당하는 단계; 및 상기 배치 알고리즘에 기초하여 상기 가상 공간에서 상기 제1 가상 오브젝트의 위치를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 배치 알고리즘에 기초하여 상기 가상 공간에서 상기 제1 가상 오브젝트의 위치를 결정하는 단계;는, 상기 가상 공간에서 상기 제1 가상 오브젝트에 대해 작용하는 힘을 판단하는 단계; 및 상기 제1 가상 오브젝트에 대해 작용하는 힘에 기초하여, 상기 제1 가상 오브젝트의 위치를 결정하는 단계;를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 가상 공간에서 상기 제1 가상 오브젝트에 대해 작용하는 힘을 판단하는 단계;는, 상기 가상 공간에서 상기 제1 가상 오브젝트와 제2 가상 오브젝트 사이에서 작용하는 인력은 상기 제1 가상 오브젝트와 상기 제2 가상 오브젝트와의 유사도에 기초하여 결정할 수 있다.
본 개시에 따르면, 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 디바이스가 제공될 수 있다. 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 디바이스에 있어서, 적어도 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 적어도 하나 이상의 인스트럭션을 실행함으로써 상기 디바이스를 제어하는 적어도 하나 이상의 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따라, 상기 적어도 하나 이상의 프로세서는, 상기 복수의 오브젝트들에 대한 이미지를 획득하고, 상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하며, 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하고, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하며, 상기 가상의 배치 이미지를 디스플레이할 수 있다.
본 개시의 일 실시예에 따라, 상기 프로세서는, 상기 유용성 특징에 기초하여, 상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득하고, 상기 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정할 수 있다.
이하, 본 개시의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
도 1은 본 개시의 실시 예들에 따른, 본 개시의 동작을 개략적으로 설명하기 위한 도면이다.
본 개시에 따라, 정리되지 않은 상태의 아이템들을 정리하는 방법이 개시될 수 있다. 이때, 디바이스(100)는 복수의 아이템들이 재배치된 가상의 배치 이미지를 생성할 수 있다. 도 1을 참고할 때, 특정한 공간에 아이템들이 정리되지 않는 상태로 존재할 수 있다. 예로, 사람이 거주하는 집의 객실, 바닥 등에 개인 소지품 등이 정리되지 않은 상태일 때, 아이템들을 정리하기 위해 본 개시가 사용될 수 있다.
본 발명은 한정되지 않은 예로, 가정용 로봇, AR 안경, 이동 통신 장치, IoT, 기타 가전 제품에 사용될 수 있다.
본 개시의 일 실시예에 따른 디바이스(100)는 다양한 형태로 구현될 수 있다. 예를 들어, 디바이스(100)는, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device), AR 안경, 로봇 등을 포함할 수 있다. 또한, IoT 환경에서 모든 가전 제품은 다른 가전 제품과 연결될 수 있으며, 예를 들어 디바이스는 감시 카메라, 마이크 등과 연결될 수 있다. 다만 디바이스(100)는 전술된 예에 한정되는 것은 아니고, 인간과 컴퓨터의 상호 작용을 위한 명령을 수신할 수 있는 장치면 어느 것이든 가능할 수 있다. 디바이스(100)는 아이템들을 재배치하는 시뮬레이션을 수행할 수 있는 장치이면 어느 것이든 가능할 수 있다. 또한, 디바이스(100)는 시뮬레이션을 통해 생성된 아이템을 재배치하는 수개의 옵션들을 사용자에게 디스플레이할 수 있는 장치이면 어느 것이든 가능할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 시뮬레이션의 결과 대로 아이템들을 정리할 수 있는 팔을 가진 로봇(120)일 수도 있다. 이때, 디바이스(100)는 사용자의 선택에 따라, 생성된 가상의 배치 이미지에 따라 아이템들을 정리할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)가 AR 안경(130)인 경우, 사용자가 착용한 AR 안경이 주변 환경을 촬영할 수 있다. AR 안경(130)은 촬영한 이미지에 기초하여 아이템들을 재배치하는 시뮬레이션을 수행할 수 있다. 또한, AR 안경(130)은 아이템을 재배치하는 시뮬레이션의 결과에 기초하여 생성된 선택 인터페이스를 사용자에게 디스플레이할 수 있다. 이때, 디바이스(100)는 사용자의 선택에 따라, 외부 디바이스가 생성된 가상의 배치 이미지에 따라 아이템들을 정리할 수 있도록 외부 디바이스로 명령을 전송할 수도 있다.
이때, 외부 디바이스는 디바이스(100)와 분리된 별개의 장치를 의미할 수 있다. 외부 디바이스는 디바이스(100)로부터 수신한 제어 신호에 기초하여, 디바이스(100)의 아이템 재배치 시뮬레이션의 결과에 따라 아이템들을 이동시킬 수 있다.
본 개시에서, 디바이스(100)는 아이템들을 배치 알고리즘에 따라 배치하는 시뮬레이션을 수행할 수 있다. 즉, 배치 알고리즘에 따른 시뮬레이션 결과에 따라, 아이템들의 각각의 위치는 기존의 위치와 다른 새로운 위치로 결정될 수 있다. 이때, 디바이스(100)는 시뮬레이션을 수행하여, 아이템들의 위치뿐 만이 아니라, 아이템이 놓여지는 방향, 각도 등을 결정할 수 있다. 이하 본 개시에서는 설명의 편의를 위하여, 상술한 바와 같이 아이템들의 새로운 위치, 방향, 각도 등을 결정하는 것을 재배치(rearranging), 배치, 정리 등으로 설명한다.
설명의 편의성을 위해, 디바이스(100)가 아이템들을 이동시킬 수 있는 로봇 손을 가진 로봇(120)인 경우를 예로 설명한다. 로봇(120)이 정리되어 있지 않은 아이템들을 재배치(rearranging)하는 방법(이하, 배치 알고리즘)에는 무한한 방법이 존재할 수 있다.
도 1을 참고할 때, 아이템들은 각 배치 알고리즘에 따라 정리될 수 있다. 한정되지 않은 예로, 도 1의 제1 배치 알고리즘은 아이템의 클래스에 따라 아이템들이 정리된 상태를 도시한 도면이다. 제1 배치 알고리즘에 따를 때, 아이템들의 클래스를 고려하여, 마커들이 가깝게 배치되고, 건전지들이 가깝게 배치된 것을 확인할 수 있다.
또한, 도 1의 제2 배치 알고리즘은 정리된 아이템의 부피를 고려하여, 아이템들 간의 빈틈이 최소화 되도록 아이템이 정리된 상태를 도시한 도면이다. 제2 배치 알고리즘에 따를 때, 아이템들 간의 빈틈이 최소화 되도록, 아이템들이 차곡차곡 쌓이도록 배치된 것을 확인할 수 있다.
이 때, 아이템을 재배치하는 한정되지 않은 방법(배치 알고리즘)의 예로, 공간 요소를 고려하여 빈틈 없이 아이템을 정돈(컴팩트 한 배열)하는 방법, 심미적 요소를 고려하여 정돈하는 방법, 편의성을 고려하여 정돈하는 방법 등이 있을 수 있다.
또한, 로봇(120)이 아이템을 재배치하는 경우 아이템들의 유용성 속성을 고려할 필요가 있다. 보다 상세하게, 로봇(120)이 아이템을 재배치하는 경우, 임의의 아이템이 이동될 수 없는 경우를 고려해야 한다. 예를 들어, 아이템이 물로 채워진 컵인 경우, 물로 채워진 컵을 수평으로 놓을 수 없다. 만약, 로봇(120)이 이러한 작업을 수행하면 사용자의 아이템이 손상 될 수 있다. 즉, 임의의 아이템은 아이템이 접착제로 특정 공간에 붙어 있는 경우, 아이템을 이동시키면 위험한 경우(예, 마개로 닫혀있지 않은 상태로 물로 채워진 유리병) 등과 같은 여러 가지 이유로 인해 이동될 수 없다. 또한, 사용자 역시 아이템이 현재 위치한 특정 위치에 적합한 경우, 아이템을 이동시키지 않을 것이다. 따라서, 로봇(120)이 아이템을 배치하기 위해서는 객체의 유용성 특징(usability property)을 고려할 필요가 있으며, 본 명세서에서 객체의 유용성 특징(usability property)은 상술한 바와 같은 객체의 습관 속성(habit properties)을 의미할 수 있다.
본 개시는 정렬되지 않는 아이템(이하, 오브젝트)을 배열하는 방법 및 정렬되지 않는 오브젝트들을 배열하는 디바이스(100)에 대한 다수의 실시 예를 개시한다. 본 개시의 일 실시예에 따라, 디바이스(100)는 특정 영역에 위치한 오브젝트들의 재배열을 수행하도록, 사용자의 명령을 수신할 수 있다. 또한, 디바이스(100)는 특정 영역에 대해 적어도 하나의 이미지 (2D 또는 RGBD)를 촬영할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 적어도 하나의 이미지에서 오브젝트들에 대해 시맨틱 세그먼테이션(semantic segmentation)을 수행할 수 있다. 디바이스(100)는 분할된 오브젝트들을 이미지로부터 하나씩 제거하고, 인페인팅(inpainting)으로 갭을 채울 수 있다. 디바이스(100)는 세그먼트로 남은 오브젝트들이 없을 때까지, 상술한 내용을 반복하여 수행할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 영역 상에 있는 오브젝트들 및 평면 등과 같은 움직일 수 없는 3D 물체의 3D 재구성을 수행할 수 있다. 디바이스(100)는 3D로 재 구성된 영역에서, 적어도 2개의 가능한 3D 오브젝트들의 재 배열들을 계산할 수 있다. 디바이스(100)는 적어도 두 개의 가능한 재배열을 비디오 파일들의 비트맵 이미지들로 렌더링할 수 있다.
또한, 본 개시는 디바이스(100)가 생성한 다수의 아이템을 배열하는 방법 중에서 하나를 선택하기 위한 사용자 인터페이스에 관한 다수의 실시 예를 개시한다. 적어도 2 개의 가능한 재배열이 사용자에게 제시될 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 사용자에 의해 적어도 2 개의 가능한 재배열 중 하나를 선택 받을 수 있다. 또한, 디바이스(100)는 소지품(아이템들)에 대해 선택된 재 배열을 수행하기 위해, 로봇(외부 디바이스(100))에 명령을 보낼 수 있다. 또는, 디바이스(100)가 선택된 재배열을 수행할 수도 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 오브젝트를 3D로 인식하는 기능, 오브젝트들을 시각화하는 기능, 물리적으로 모델링하는 기능을 수행할 수 있다.
본 개시의 일 실시예에 따라, 시각화를 위한 2D 접근법은 오브젝트들의 폐쇄된 부분에 대해 재구성을 수행하기 위한 인 페인팅 기술(inpainting technology)을 요구하는데 사용될 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 오브젝트 템플릿들의 3D 재구성 및 완벽한 장면 이해를 위해 엔드-투-엔드 딥 러닝 접근법을 사용할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 장면(예, 획득한 이미지)에 대해 깊은 의미론적 이해(semantic understanding)를 수행하여, 개인 소지품들에 대해 적용할 수 있는 최상의 재배열 결과를 얻을 수 있다.
본 개시에 대한 보다 자세한 내용은 후술된다.
도 2는 본 개시의 일 실시예에 따라, 디바이스(100)가 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법에 대한 것이다.
본 개시의 일 실시예에 따라, 디바이스(100)는 가정 환경에서 복수의 물리적 오브젝트들의 재배열을 계획하는 방법을 제공할 수 있다.
도 1에서 상술한 아이템들은 도2 의 오브젝트들에 대응될 수 있다. 본 개시에서 오브젝트란, 디바이스(100)가 정리를 수행해야 하는 특정 공간에 규칙성 없이 위치한 아이템을 의미할 수 있다. 이때, 오브젝트에 해당하는 아이템의 종류, 특성 등에는 제한이 존재하지 않는다. 복수의 오브젝트들은 선반, 바닥, 의자, 테이블 등에 위치할 수 있으며, 상술한 예에 한정하지 않는다. 또한, 본 명세서에서 오브젝트들은 서로 모양, 크기 등이 다를 수 있다.
단계 S210에서, 디바이스(100)는 복수의 오브젝트들에 대한 이미지를 획득할 수 있다.
본 개시의 일 실시예에 따라 디바이스(100)는 복수의 물리적 오브젝트들에 대해 촬영된 이미지를 외부 기기로부터 획득할 수 있다. 예로, 디바이스(100)와 유선 또는 무선으로 연결된 외부 디바이스가 복수의 물리적 오브젝트들에 대해 이미지를 촬영하고, 촬영된 이미지를 디바이스(100)로 전송할 수 있다.
본 개시의 다른 일 실시예에 따라 디바이스(100)는 복수의 물리적 오브젝트들에 대해 적어도 하나의 이미지를 촬영할 수 있다.
본 명세서에서, 이미지(image) 또는 픽처는 정지영상, 복수의 연속된 정지영상(또는 프레임)으로 구성된 동영상, 또는 비디오를 나타낼 수 있다. 일 예로, 본 개시에서 이미지는 RBG 또는 RGBD 이미지를 의미할 수 있다.
일 예로, 디바이스(100)는 복수의 오브젝트들에 대해 하나의 이미지만 촬영할 수도 있다.
다른 일 예로, 디바이스(100)는 복수의 오브젝트들에 대해 복수 장의 이미지를 촬영할 수 있다. 만약, 디바이스(100)가 복수의 오브젝트들에 대해 한 장 이상의 이미지를 획득하는 경우, 디바이스(100)는 물체의 물리적인 시각적 특성을 추가적으로 인식할 수 있을 것이다.
본 개시의 일 실시예에 따라, 디바이스(100)는 복수의 오브젝트들에 대한 복수장의 이미지들을 서로 다른 시간에 촬영할 수 있다. 한정되지 않는 일 예로, 디바이스(100)는 한달 동안 하루에 두 번 복수의 오브젝트들에 대한 이미지를 획득할 수 있다. 이 경우, 디바이스(100)는 동일한 레이아웃(layout)으로 오브젝트들을 여러 번 촬영하여, 오브젝트들에 대한 추가적인 유용성 특징(usability characteristics)을 획득할 수 있다.
본 개시의 일 실시예에 따라, 오브젝트에 대한 이미지는 디바이스(100)가 획득하는 오브젝트의 시각적 특징을 개선하기 위해 다른 위치에서 촬영될 수 있다. 이때, 본 개시에서 오브젝트의 시각적 특징이란, 오브젝트의 모양, 질감, 크기 등에 대한 정보를 의미할 수 있다.
또한 오브젝트에 대한 이미지는 디바이스(100)가 획득하는 오브젝트의 물리적 특징을 개선하기 위해 다른 위치에서 촬영될 수 있다. 이때, 본 명세서에서 오브젝트의 물리적 특징이란, 오브젝트의 무게, 마찰 계수, 무게 분포, 구부릴 수 있는지 여부, 신축성 등에 대한 정보를 의미할 수 있다.
본 개시의 일 실시예에 따라, 정렬되지 않은 복수의 오브젝트들에 대한 이미지들은 다양한 조건들에서 촬영된 이미지들일 수 있다. 보다 상세하게, RGB 이미지 및 RGBD 이미지는 다양한 촬영 시간들, 다양한 촬영 각도들, 다양한 촬영 조명 조건들이 결합된 촬영 조건 하에서 촬영 될 수 있다.
오브젝트들은 특정한 각도에서는 전체가 보여질 수 있다. 또한, 오브젝트들은 다른 각도에서는 다른 오브젝트들에 의해 부분적으로 가려질 수 있다. 따라서, 디바이스(100)는 다양한 촬영 각도들에 촬영한 복수의 오브젝트들에 대한 이미지들을 획득할 필요가 있다.
도 3은 본 개시의 일 실시예에 따라, 복수의 오브젝트들에 대한 이미지를 도시한 도면이다.
본 개시의 일 실시예에 따라, 디바이스(100)는 RGB 및 IR 카메라(camera)를 포함할 수 있다.
본 개시의 일 실시예에 따라, 조명 조건들은 여러 가지 조명 기술들을 적용함으로써 변경될 수 있다. 이는 디바이스(100)가 오브젝트들을 인식하는 것을 개선하기 위한 방법이다. 상술한 조명 조건들에 대해 한정되지 않은 예로, 디바이스(100)(예: 로봇) 본체에 위치한 램프를 켜거나 끄는 것, 구조형 광(structured light)을 사용하는 것, Tof(Time-Of-Flight) 방식의 조명을 사용하는 것, 백색, 적색, 녹색, 청색에 한정되지 않고 다중 스펙트럼(multispectral) 조명 및 하이퍼스펙트럴(hyperspectral) 조명과 같은 다양한 스펙트럼 대역에서 조명을 사용하는 것, 변조 광(modulated light) 을 사용하는 것 등을 포함할 수 있다.
도 3의 (a)는 RGBD 카메라에서 획득한 Tof(Time-Of-Flight) 방식의 이미지를 의미할 수 있다. 또한, 도 3의 (b)는 RGBD 카메라에서 획득한 구조형 광(structured light)의 이미지를 의미할 수 있다.
단계 S220에서, 디바이스(100)는 획득한 이미지에 기초하여 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정할 수 있다.
단계 S220에서, 오브젝트들은 디바이스(100)에 의해 인식될 수 있다. 이때, 디바이스(100)가 오브젝트들을 인식한 결과는 각 오브젝트의 시각적 특징, 오브젝트의 물리적 특징 또는 오브젝트의 유용성 특징 중 적어도 하나로 정의될 수 있다.
본 명세서에서, 오브젝트의 시각적 특징은 오브젝트의 모양, 크기, 질감, 반사 표면과 같은 광학 특성 등을 의미할 수 있다.
본 명세서에서, 오브젝트의 물리적 특징은 오브젝트의 무게, 무게 분포, 굽힘(bending) 또는 신축성(stretching capabilities), 마찰 계수 등을 의미할 수 있다.
본 명세서에서, 오브젝트의 유용성 특징은 오브젝트의 위치 변경 여부 및 위치 변경 빈도, 사용 빈도수, 오브젝트가 쓰레기(garbage)인지 여부(제거 대상 여부), 오브젝트가 사용되는 용도, 오브젝트를 기울이거나 잡았을 때 안전한지 등에 대한 정보를 의미할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 획득한 이미지에 기초하여, 복수의 오브젝트들 각각을 식별할 수 있다. 또한, 식별된 각각의 오브젝트들에 대해 특징을 결정할 수 있다.
디바이스(100)가 획득한 이미지에 기초하여 복수의 오브젝트들 각각에 대한 유용성 특징을 결정하는 방법은 하기의 도면들(도 14 내지 도 17)에서 보다 자세하게 후술된다.
본 개시의 일 실시예에 따라, 디바이스(100)는 획득한 이미지에 기초하여 복수의 오브젝트들 각각에 대한 물리적 특징을 결정하기 위해, 오브젝트들 각각에 대응하는 대한 물리적 특징에 대한 파라미터를 데이터베이스로부터 획득할 수 있다. 그리고, 디바이스(100)는 오브젝트들 각각에 대한 물리적 특징에 대한 파라미터를 텍스트 레이블(Text label)로 생성할 수 있다.
도 4는 본 개시의 일 실시예에 따른, 텍스트 레이블(Text label)을 설명하기 위한 도면이다.
상술한 바와 같이, 오브젝트들은 텍스트 레이블(Text label)로 설명될 수 있다. 특히, 텍스트 레이블은 오브젝트의 무게, 마찰 계수 등의 평균 물리적 특징에 대한 파라미터를 데이터베이스에서 검색하는 데 사용될 수 있다.
도 4의 (a)는 복수의 오브젝트들(410)과 복수의 오브젝트들(410) 중의 하나의 오브젝트인 플립차트 마커(flipchart marker)(420)를 도시하고 있다.
또한, 도 4의 (b)는 플립차트 마커(420)의 물리적 파라미터가 정리된 텍스트 레이블을 도시하고 있다. 도 4의 (b)를 참고하면, 플립차트 마커(420)의 평균 무게는 15g, 마찰 계수는 0.2, 질량 중심(Center of mass)은 중심, 구부러짐(Bendable)은 없음, 신축성(Stretchable)은 없음, 위험성(Dangerous)은 없는 것을 확인할 수 있다. 즉, 도 4의 (b)와 같은 물리적 특성을 플립차트 마커(420)가 갖고 있는 것을 확인할 수 있다.
도 4의 (b)는 설명의 편의를 위해, 복수의 오브젝트들(410) 중 하나의 오브젝트인 플립차트 마커(420)에 대한 텍스트 레이블을 도시하였으나, 이에 한정되지 않는다. 즉, 텍스트 레이블은 복수의 오브젝트들(410) 각각에 대한 물리적 파라미터를 저장할 수 있을 것이다.
다른 실시 예에서, 엔드-투-엔드 심층 신경망(end-to-end deep neural network)은 엔드-투-엔드 방식(end-to-end manner)으로 모든 예측에 대해 학습될 수 있다.
또한, 오브젝트의 물리적 특성들을 결정하기 위한 방법은 전술한 예에 한정되지 않는다.
단계 S230에서, 디바이스(100)는 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 유용성 특징에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득할 수 있다. 또한, 디바이스(100)는 사용 빈도수에 기초하여 제1 오브젝트의 위치를 결정할 수 있다. 일 예로, 디바이스(100)가 사용 빈도수에 기초하여 제1 오브젝트의 위치를 결정하는 경우, 디바이스(100)는 제1 오브젝트에 대한 사용 빈도수가 제2 오브젝트에 대한 사용 빈도수보다 큰 경우, 제1 오브젝트가 제2 오브젝트 보다 사용자 선호 영역에 가깝도록 제1 오브젝트의 위치를 결정할 수 있다. 이때, 제1 오브젝트 및 제2 오브젝트는 복수의 오브젝트들에 포함된 임의의 오브젝트를 의미할 수 있다. 보다 자세한 사항은 도 13 내지 도 20에서 후술된다.
본 개시의 일 실시예에 따라, 디바이스(100)는 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트와 다른 오브젝트들 간의 유사도를 결정할 수 있다. 또한, 디바이스(100)는 다른 오브젝트들 간의 유사도에 기초하여, 제1 오브젝트의 위치를 결정할 수 있다.
일 예로, 디바이스(100)는 다른 오브젝트들과의 유사도에 기초하여, 제1 오브젝트의 위치를 결정하는 경우, 제1 오브젝트와 제2 오브젝트와의 유사도가 제1 오브젝트와 제3 오브젝트와의 유사도 보다 큰 경우, 제1 오브젝트가 제3 오브젝트 보다 제2 오브젝트와 가깝게 위치하도록 제1 오브젝트의 위치를 결정할 수 있다. 이때, 제1 오브젝트, 제2 오브젝트 및 제3 오브젝트는 복수의 오브젝트들에 포함된 임의의 오브젝트를 의미할 수 있다. 보다 자세한 사항은 도 7 내지 11에서 후술된다.
본 개시의 일 실시예에 따라, 디바이스(100)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 유용성 특징에 기초하여, 제1 오브젝트가 배치되는 대상인지 판단할 수 있다. 또한, 디바이스(100)는 제1 오브젝트가 배치되는 대상인지 여부에 기초하여, 제1 오브젝트의 위치를 결정할 수 있다. 보다 자세한 사항은 도 12에서 후술된다.
본 개시의 일 실시예에 따라, 디바이스(100)는 배치 알고리즘에 기초하여 가상 공간에서 복수의 오브젝트들 각각에 대한 위치를 결정할 수 있다. 도 5에서 후술된다.
또한, 디바이스(100)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대응되는 제1 가상 오브젝트를 생성할 수 있다. 본 명세서에서 복수의 오브젝트들 각각에 대한 가상 오브젝트들이 생성될 수 있으며, 가상 오브젝트는 시뮬레이션을 수행할 때 사용되는 3D 오브젝트에 대응될 수 있다. 보다 자세한 설명은 도 24 내지 도 28에서 후술된다.
일 예로, 디바이스(100)는, 배치 알고리즘에 기초하여 가상 공간에서 복수의 오브젝트들 각각에 대한 위치를 결정하는 경우, 복수의 오브젝트들에 포함된 제1 오브젝트에 대응되는 시각적 특징, 물리적 특징 또는 유용성 특징을 제1 가상 오브젝트에 할당할 수 있다. 또한, 디바이스(100)는 배치 알고리즘에 기초하여 가상 공간에서 상기 제1 가상 오브젝트의 위치를 결정할 수 있다. 도 5에서 후술된다.
일 예로, 디바이스(100)는, 배치 알고리즘에 기초하여 가상 공간에서 제1 가상 오브젝트의 위치를 결정하는 경우, 가상 공간에서 제1 가상 오브젝트에 대해 작용하는 힘을 판단할 수 있다. 또한, 디바이스(100)는 제1 가상 오브젝트에 대해 작용하는 힘에 기초하여, 제1 가상 오브젝트의 위치를 결정할 수 있다.
일 예로, 디바이스(100)는 가상 공간에서 제1 가상 오브젝트에 대해 작용하는 힘을 판단하는 경우, 가상 공간에서 상기 제1 가상 오브젝트와 제2 가상 오브젝트 사이에서 작용하는 인력은 상기 제1 가상 오브젝트와 상기 제2 가상 오브젝트와의 유사도에 기초하여 결정할 수 있다. 도 7 내지 도 10에서 후술된다.
즉, 디바이스(100)는 3D 시뮬레이션을 이용하여, 추출된 특징들이 부여된 가상 오브젝트들이 가상 공간에서 배치 알고리즘에 따라 어떻게 배치될 수 있는지 시뮬레이션을 수행할 수 있다. 보다 상세하게 디바이스(100)는 인식된 복수의 물리적 오브젝트들에 대해 적어도 하나의 사전 설정 재배치(Preset of repositioning)를 수행할 수 있다.
본 명세서에서, 사전 설정 재배치란 시뮬레이션을 수행하여 복수의 오브젝트들 각각에 대응하는 가상 오브젝트들을 생성하고, 결정된 특징 및 가상 공간의 특징에 기초하여, 가상 오브젝트들을 배치 알고리즘에 따라 가상 공간에서 배치하는 것을 의미할 수 있다. 즉, 사전 설정 재배치(Preset of repositioning)는 오브젝트들의 초기 위치와 다른 위치로 3D 오브젝트들(가상 오브젝트들)을 배치하는 것을 의미할 수 있다. 또한, 사전 설정 재배치는 이때, 각 배치 알고리즘에 따라 수행될 수 있는바, 사용자가 선택할 수 있는 각 옵션에 대응될 수 있다.
본 명세서에서, 사전 설정 재배치는 가상 물리 시뮬레이션(virtual physical simulation)에 의해 수행될 수 있다. 사전 설정 재배치는 오브젝트의 물리적 특징, 오브젝트의 시각적 특징 또는 오브젝트의 유용성 특징 중 적어도 하나를 사용하여 수행될 수 있다.
본 개시의 일 실시예에 따라, 하나 이상의 사전 설정 재배치(Preset of repositioning)가 있을 수 있다. 예를 들어, 제1 사전 설정 재배치는 후술되는 간단한 3D 오브젝트 포지셔닝(3D object positioning)에 의해 수행 될 수 있는 반면, 다른 오브젝트 사전 설정 재배치는 물리적 3D 시뮬레이션(physical 3D simulation)에 의해 수행 될 수 있다.
바람직한 실시 예에서, 사전 설정 재배치는 3D 오브젝트들(가상 오브젝트들)의 위치에 대한 물리적 시뮬레이션(physical simulation)에 의해 수행될 수 있다.
간단한 예시적인 실시 예에서, 3D 오브젝트들은 3D 렌더링 소프트웨어 내에 배치될 수 있다. 이때, 3D 렌더링 소프트웨어는 모든 오브젝트들에 대해 간단한 중력 및 통합 마찰 계수를 설정할 수 있는 기능을 가진 소프트웨어를 의미할 수 있으며, 한정되지 않은 실시예로, 3D 렌더링 소프트웨어는 Blender ⓒ를 포함할 수 있다. 본 개시의 일 실시예에 따라, 3D 오브젝트들은 평면 위에 하나씩 배치될 수 있다. 또한, 3D 오브젝트들은 평면보다 높이 위치한 어떤 지점에서 중력에 의해 평면에 떨어지도록 시뮬레이션이 수행될 수 있다. 이 절차에 의해 오브젝트들은 서로 매우 가깝게 배치될 수 있다. 상술한 시뮬레이션 방법은 가장 간단하게 시뮬레이션을 수행하는 실시 예일 수 있다. 이 절차 후에 다른 실시 예에서, 가상 수직 벽(virtual vertical walls)은 복수의 오브젝트들을 함께 잡을 수 있다. 보다 자세한 내용은 하기의 도면들에서 후술된다.
단계 S240에서, 디바이스(100)는 정돈된 결과에 대한 데이터에 기초하여, 배치 알고리즘에 따라 복수의 오브젝트들이 정돈된 가상 배치 이미지를 생성할 수 있다.
보다 상세하게, 디바이스(100)는 오브젝트의 물리적 특징, 오브젝트의 시각적 특징 또는 오브젝트의 유용성 특징 중 적어도 하나를 고려하여, 적어도 하나의 시각적 표현으로서 적어도 하나의 사전 재배치 설정의 결과를 렌더링할 수 있다. 이때, 적어도 하나의 시각적 표현 각각은 적어도 하나의 사전 설정 재배치(Preset of repositioning)에 대응될 수 있다.
전술한 방법에 따라 시뮬레이터에 의해 재배치 된 오브젝트들은 블렌더 등과 같은 다양한 소프트웨어에 기초하여 시각적으로 렌더링될 수 있다.
도 5는 본 개시의 일 실시예에 따라, 복수의 오브젝트들이 배치된 가상의 배치 이미지들을 도시한 도면이다.
도 5를 참고하여, 단계 S230 및 S240을 보다 자세하게 설명할 수 있다.
단계 S230에서, 디바이스(100)는 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하기 위하여, 복수의 오브젝트들에 대하여 가상 오브젝트들을 생성할 수 있다. 이에 대한, 보다 자세한 설명은 하기의 도 24 내지 28에서 후술될 수 있다.
디바이스(100)는 가상 공간에 생성된 가상 오브젝트들을 배치 알고리즘에 따라 배치할 수 있다. 즉, 디바이스(100)는 적어도 하나의 배치 알고리즘(예, 재배열 알고리즘)을 3D로 재구성된 가상 오브젝트에 적용할 수 있다. 이때, 디바이스(100)는 가상 공간에서 배치한 결과에 기초하여, 배치 알고리즘에 따라 복수의 오브젝트들이 정돈된 결과에 대한 데이터를 생성할 수 있다.
본 개시의 일 실시예에 따라, 배치 알고리즘은 의미적 유사성 기반의 알고리즘, 컬러 유사성 기반의 알고리즘, 소형화(compactness) 기반의 알고리즘 등을 포함할 수 있다.
그 후, 단계 S240에서 디바이스(100)는 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성할 수 있으며, 도 5는 가상 배치 이미지에 대응될 수 있다.
먼저, 도 5의 (a)를 참고 할 때, 도 5의 (a)의 왼쪽 이미지는 디바이스(100)가 단계 S210에서 획득한 복수의 오브젝트들에 대한 이미지(초기 이미지)일 수 있다. 그리고, 디바이스(100)는 제1 배치 알고리즘에 따라, 가상 공간에서 가상 오브젝트들을 배치할 수 있다. 즉, 이 단계에서 디바이스(100)는 제1 배치 알고리즘에 따라 가상 오브젝트들에 대해 3D 시뮬레이션을 수행할 수 있다. 예로, 제1 배치 알고리즘이 유사성 기반의 알고리즘인 경우, 디바이스(100)는 도 5의 (a)의 오른쪽 이미지와 같은 제1 가상 배치 이미지를 생성할 수 있다. 즉, 도 5의 (a)의 오른쪽 이미지를 참고할 때, 비슷한 유형의 오브젝트들이 가깝게 나열된 것을 확인할 수 있다.
마찬가지로, 도 5의 (b)를 참고 할 때, 디바이스(100)는 제2 배치 알고리즘에 따라 가상 공간에서 가상 오브젝트들을 배치할 수 있다. 예로, 제2 배치 알고리즘이 소형화 기반의 알고리즘인 경우, 디바이스(100)는 도 5의 (b)의 오른쪽 이미지와 같은 제2 가상 배치 이미지를 생성할 수 있다.
S250 단계에서, 디바이스(100)는 가상 배치 이미지를 디스플레이 할 수 있다.
디바이스(100)는 가상의 배치 이미지를 디스플레이하는 경우, 디바이스(100)는 적어도 하나의 가상의 배치 이미지를 선택할 수 있도록 디스플레이하는 UI를 생성할 수 있다. 이때, 적어도 하나의 가상의 배치 이미지는 서로 다른 배치 알고리즘에 기초하여 가상으로 복수의 오브젝트들이 배치된 이미지일 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 각 배치 알고리즘들에 대응되는 적어도 하나의 가상 배치 이미지를 디스플레이할 수 있다. 또한 디바이스(100)는 디스플레이된 적어도 하나의 가상 배치 이미지들 중에서 하나를 선택하는 입력을 사용자로부터 수신할 수 있다.
보다 자세한 설명은 하기의 도 21 내지 25에서 후술된다.
도 6은 본 개시의 일 실시예에 따라, 디바이스(100)가 3D 시뮬레이션을 수행하는 흐름도이다.
보다 상세하게, 디바이스(100)는 배치 알고리즘에 기초하여 가상 공간에서 복수의 오브젝트들 각각에 대한 위치를 결정할 수 있다.
단계 S610에서, 디바이스(100)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대응되는 제1 가상 오브젝트를 생성할 수 있다.
본 개시에서 가상 오브젝트란, 디바이스(100)가 가상 공간에서 3D 시뮬레이션을 수행하기 위해 생성하는 3D 오브젝트로, 실제 오브젝트에 대응하는 3D 가상 오브젝트일 수 있다. 가상 오브젝트를 생성하는 방법은 하기의 도 24 내지 28에서 보다 자세하게 후술된다.
단계 S620에서, 디바이스(100)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대응되는 시각적 특징, 물리적 특징 또는 유용성 특징을 제1 가상 오브젝트에 할당할 수 있다.
단계 S630에서, 디바이스(100)는 배치 알고리즘에 기초하여 가상 공간에서 제1 가상 오브젝트의 위치를 결정할 수 있다.
본 개시에서 가상 공간이란, 3D 시뮬레이션을 수행하기 위한 가상 공간을 의미할 수 있다. 오브젝트에 대해 작용하는 가상 공간의 힘 및 가상 공간 내에서 오브젝트들 간의 작용하는 힘 등을 변경하여 오브젝트들의 새로운 위치를 결정할 수 있다.
도 7은 본 개시의 일 실시예에 따라, 오브젝트들 간의 유사도를 고려하여 시뮬레이션을 수행하는 방법에 대한 흐름도이다.
도 7은 전술한 도2의 단계 S230에 대한 구체적인 실시예일 수 있다. 보다 자세하게, 도 7은 오브젝트들 간의 유사도를 고려하여 복수의 오브젝트들을 배치하는 경우일 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)가 오브젝트들의 위치를 재배치하는 시뮬레이션을 수행할 때, 디바이스(100)는 오브젝트들 간의 시맨틱 유사성(semantic similarity)을 이용하여, 배치 알고리즘에 따라 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성할 수 있다.
이때, 복수의 오브젝트들 간의 유사도란, 오브젝트들 간의 유사한 정도를 나타내는 값, 수치 등을 의미할 수 있다. 또한, 유사도란 상술한 시맨틱 유사성(semantic similarity)을 의미할 수 있다.
단계 S710에서, 디바이스(100)는 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트와 다른 오브젝트들 간의 유사도를 결정할 수 있다.
이때, 제1 오브젝트는 복수의 오브젝트들에 포함된 임의의 오브젝트를 의미할 수 있다.
일 예로, 오브젝트들이 N개 인 경우, 각 오브젝트들의 페어(pair) 사이에 n * (n-1) / 2 개의 페어 시맨틱 유사성(pairwise semantic similarity)들이 존재할 수 있다. 오브젝트들 간의 시맨틱 유사성을 이용하기 위해서는, 오브젝트들의 특징들이 적절하게 인식되어야 한다. 이때, 일 예로 전술한 바와 같이 오브젝트의 유용성 특징이 인식될 수 있으며, 특히, 3D 오브젝트(가상 오브젝트)로 표현되는 오브젝트의 기능 등이 인식되어야 한다. 오브젝트의 기능에 따른 시맨틱 유사성이란, 일 예로, 마커와 펜은 마커와 손톱보다 유사한 것을 의미할 수 있다.
단계 S720에서, 디바이스(100)는 제1 오브젝트와 다른 오브젝트들과의 유사도에 기초하여, 제1 오브젝트의 위치를 결정할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 상기 다른 오브젝트들과 유사도에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 경우, 제1 오브젝트와 제2 오브젝트와의 유사도가 제1 오브젝트와 제3 오브젝트와의 유사도 보다 큰 경우, 제1 오브젝트가 제3 오브젝트 보다 제2 오브젝트와 가깝게 위치하도록 제1 오브젝트의 위치를 결정할 수 있다.
도 8은 본 개시의 일 실시예에 따라, 오브젝트들 간에 결정된 유사도를 도시한 도면이다.
본 개시의 일 실시예에 따라, 디바이스(100)는 결정된 특징에 기초하여, 복수의 오브젝트들 간의 유사도를 결정하는 경우, 오브젝트들의 명칭을 획득할 수 있다. 그리고, 디바이스(100)는 오브젝트들의 명칭에 기초하여, 오브젝트들간의 유사도를 결정할 수 있다.
즉, 일 예로, 오브젝트들 간의 유사도는 자연 언어 유사성(natural language similarity)에 의해 결정될 수 있다. 예를 들어, 자연 언어 유사성을 결정하기 위해 두 단어 사이의 코사인 유사성이 계산될 수 있으며, 한정되지 않은 일 실시예로, GloVe NLP가 사용되어 두 단어 사이의 코사인 유사성이 계산될 수 있다.
예를 들어, 도 8를 참고하면, "마커(marker)", "펜(pen)", "배터리(battery)"및 "충전기(charger)"라는 네 단어의 페어 거리(pairwise distance)가 도시되어 있다.
가상 공간에서 가상 오브젝트들 사이에서 작용하는 물리적 힘(예, 인력)은 시맨틱 유사성에 비례할 수 있다. 본 발명의 일 실시예에 따라, 오브젝트들 사이의 물리적 힘의 인력은 오브젝트들을 배치할 때, 오브젝트를 다른 오브젝트와 가깝게 또는 멀리 위치시키는 척도가 될 수 있다. 예로, 두 개의 오브젝트들 사이의 물리적 힘의 인력이 큰 경우, 인력이 큰 오브젝트들은 서로 가깝게 위치시킬 수 있다. 또한, 두 개의 오브젝트들 사이의 물리적 힘의 인력이 작은 경우, 인력이 작은 오브젝트들을 서로 멀리 위치시킬 수 있다.
즉, 가상 공간에서 제1 가상 오브젝트와 제2 가상 오브젝트 사이에서 작용하는 인력은 제1 가상 오브젝트와 제2 가상 오브젝트와의 유사도에 기초하여 결정될 수 있다. 보다 상세하게, 가상 공간에서 제1 가상 오브젝트와 제2 가상 오브젝트 사이에서 작용하는 인력은 제1 가상 오브젝트와 제2 가상 오브젝트와의 유사도에 비례하여 결정될 수 있다.
몇몇 예시적인 실시 예에서, 두 오브젝트들 사이의 물리적 힘은 하기의 수학식과 같이 결정될 수 있다.
[수학식 1]
F 1(t)=a(t)d 12 min(m 1,m 2) 2/3
이때, a는 스케일링 계수를 의미할 수 있고, 한정되지 않은 실시예로, 시뮬레이션 시작 시에 a는 30으로 설정되고, 시뮬레이션 종료 시에는 a는 0으로 설정될 수 있다.
d 12는 시맨틱 유사성 계수를 의미할 수 있다. 예를 들어, 시맨틱 유사성 계수는 선형성(linear) 또는 경험적 종류의 단조 증가 함수로서의 유사성(empiric kind of monotonic increasing function)을 사용하여 오브젝트들을 설명하는 단어들(words) 또는 문구들(phrases)간의 GloVe 유사성(GloVe similarity)을 의미할 수 있다. 한정되지 않은 실시예로, d 12=GloVe(word1, word2) 3 로 설정될 수 있다.
또한, m 1은 제1 오브젝트의 질량을 의미할 수 있고, m 2는 제2 오브젝트의 질량을 의미할 수 있다.
본 개시에서, a는 오브젝트가 함께 접착되는 접착 대상의 강도를 의미할 수 있다. 이 시뮬레이션 단계는, 점도 환경(viscosity environment)에서 수행될 수 있다. 이때, 마찰력은 동적 시뮬레이션 동안 속도에 비례할 수 있으며(불필요한 진동을 방지하기 위해), 오브젝트들을 표면에 묶는 무중력 상태에서 수행될 수 있다.
또한, 2/3의 거듭 제곱은 많은 오브젝트들이 존재할 때, 결정 요인이 압력이 될 수 있음을 의미할 수 있다. 즉, 평균 사이즈의 2차 거듭 제곱에 비례하는 것을 의미할 수 있다. 반면에, 질량은 평균 크기의 3제곱에 비례하는 것을 확인할 수 있다.
다른 실시 예에서, 오브젝트들 사이의 힘은 그들의 기하학적 크기에 의해 결정되지 않을 수 있다. 이 경우, 하기의 수학식에 따라 오브젝트들 간의 물리적 힘을 결정할 수 있다.
[수학식 2]
F 2(t)=a(t)d 12
이 경우, 시뮬레이션하는 동안 오브젝트가 다른 오브젝트들과 서로 접착되기 시작하여, 유사한 오브젝트들의 클러스터를 생성할 수 있다.
오브젝트들이 그들의 시맨틱 유사성에 비례하여 서로 끌리는 특성을 도출하는 수 많은 방법이 존재할 수 있으며, 상술한 두 예는 단지 예시적인 실시 예로서 개시될 수 있다.
하기의 도 10을 참고할 때, 제2 단계에서는 물체 간 힘보다 중력이 우선적으로 시작되고, 결국 물체는 물체 간 인력보다는 중력의 영향을 받는 것을 확인할 수 있다.
도 9는 본 개시의 일 실시예에 따른, 오브젝트들 간의 작용하는 물리적 힘을 도시한 도면이다.
도 9를 참고하면, 오브젝트들(910, 920, 930, 940) 간에 작용하는 물리적 힘이 도시된 것을 확인할 수 있다. 보다 상세하게, 도 8의 오브젝트들 간 작용하는 인력과 관계된 값(예, F2/a(t))의 값이 도시된 것을 확인할 수 있다.
먼저, 디바이스(100)는 특징에 기초하여 오브젝트들 간의 유사도를 결정할 수 있다. 이때, 오브젝트들 간의 유사도는 오브젝트들 사이에 작용하는 인력에 비례할 수 있다.
도 9를 참고하면, 배터리(920)와 충전기(910) 간의 작용하는 힘은 175이고, 펜(940)과 마커(930) 간의 작용하는 힘은 43.6임을 확인할 수 있다. 이 값들은 다른 오브젝트들 간에 작용한 힘 보다 큰 값이다. 예로, 마커(930)와 배터리(920) 간에 작용하는 힘은 0.12이고, 마커(930)와 충전기(910) 간에 작용하는 힘의 값은 3.3이다. 이를 통해서 디바이스(100)는 배터리와 충전기 간에 작용하는 유사도가 제일 크다는 것을 확인할 수 있다. 또한, 펜과 마커 사이에 작용하는 유사도가 그 다음으로 크다는 것을 확인할 수 있다.
이때, 유사도는 상대적인 값에 해당될 수 있다. 특히, 유사도는 하나의 오브젝트(예, 제1 오브젝트)를 기준으로 제1 오브젝트가 다른 오브젝트들과 어떻게 유사도를 가지고 있는지를 상대적으로 판단할 필요가 있다.
도 9를 기초로 설명하면, 즉, 배터리(920)를 기준으로 가장 큰 유사도를 가지고 있는 오브젝트는 충전기(910)다. 반면, 마커(930)를 기준으로 판단할 때, 마커는 175보다는 작은 값인 43.6을 펜(940)과의 인력으로 갖고 있으나, 마커를 기준으로 볼 때 펜과의 유사도가 가장 크다. 따라서, 마커와 가장 큰 유사도를 가진 객체는 펜으로 판단할 수 있다.
디바이스(100)는 도출된 값(유사도)에 기초하여, 가상 공간에서 복수의 오브젝트들이 정돈된 결과에 대한 데이터를 생성할 수 있다. 일 예로, 디바이스(100)는 유사도가 높은 오브젝트들을 가깝게 위치시킬 수 있다. 도 9를 참고할 때, 디바이스(100)는 마커와 펜이 가깝게 위치하도록 데이터를 생성하고, 충전기와 배터리가 가깝게 위치하도록 데이터를 생성할 수 있다. 또한, 디바이스(100)는 유사도 값이 낮은 오브젝트들을 멀리 위치하도록 복수의 오브젝트들을 정렬할 수 있다.
결과적으로, 도 9를 확인하면 유사성이 큰 오브젝트들끼리 서로 가까이에 배치하는 것이 사용자의 편리성을 증진시킬 수 있는 하나의 일 실시예가 될 수 있다.
도 10은 본 개시의 일 실시예에 따라, 오브젝트들의 위치를 모델링할 때 고려되는 물리적 힘들의 관계를 도시한 그래프이다.
도 10의 (a)를 참고할 때, 오브젝트(1010)에는 제1 힘(1020) 및 제2 힘(1030)이 작용할 수 있다. 본 개시의 일 실시예에 따라, 제1 힘(1020)은 오브젝트에 작용하는 중력일 수 있다. 또한, 제2 힘(1030)은 오브젝트가 다른 오브젝트 들과 작용하는 인력일 수 있다. 이때, 다른 오브젝트들과 작용하는 인력은 전술한 도 8 내지 도 9에 따른 힘일 수 있다.
도 10의 (b)는 도 10의 (a)에 도시된 제1 힘(1020) 및 제 2 힘(1030)이 시뮬레이션 수행 중에 변화하는 실시 예를 도시한 도면이다. 도 10의 (b)을 참고하면, 오브젝트들의 위치를 모델링하는 것은 두 단계가 있을 수 있다.
도 10의 (b)를 참고할 때, 제1 단계의 구간(1040)은 오브젝트 간 인력이 작용하는 단계(Inter-object attraction phase)일 수 있다. 제1 단계의 구간(1040)에서, 계수 a(t)는 0이 아니지만, 중력 가속도 g(t)는 거의 0에 가까운 것을 확인할 수 있다. 이 구간(1040)에서는 마찰력이 없으므로, 오브젝트들은 오브젝트들 간의 시맨틱 유사성에 따라 정렬된 오브젝트들에 대해 클러스터를 생성하면서 마찰 없이 서로 자유롭게 움직일 수 있다.
도 10의 (b)를 참고할 때, 제2 단계의 구간(1050)은 마무리 단계(Finalization phase)일 수 있다. 제2 단계의 구간(1050)에서, 중력(g(t))은 오브젝트들 간의 힘보다 우선적으로 작용될 수 있다. 따라서 오브젝트들은 오브젝트들 간의 인력보다는 중력의 영향을 받아 움직일 수 있다.
도 11은 본 개시의 일 실시예에 따라, 모델링의 시간 경과에 따른 오브젝트의 위치 변동을 도시한 도면이다.
도 11을 참고하면 모델링 시간이 경과할수록 서로 멀게 위치하였던 오브젝트들이 서로 가까워지도록 이동되는 것을 확인할 수 있다. 즉, 정리되지 않은 상태였던 오브젝트들이 모델링을 통해 서로 가깝게 위치하는 방식으로 배치된 것을 확인할 수 있다.
시뮬레이션을 통해 오브젝트들을 정렬하는 방법에는 다양한 방법이 존재할 수 있을 것이다. 한정되지 않은 일 예로, 오브젝트들의 가상의 힘 장(virtual force fields)(예, 가상의 불도저)를 사용하는 방법, 다양한 힘들을 조합하는 방법, 가상의 바람, 가상의 탄성력, 가상의 인력 지점, 진동 시뮬레이션 어닐링(vibrations simulated annealing), 수축하는 구(sphere) 내의 떨림 등을 사용하는 방법 및 물리적 모델링을 사용하지 않고 강제적으로 오브젝트들을 재배치하는 방법 등이 있을 수 있으며, 이에 한정되지 않는다.
다른 예시적인 실시 예는, 오브젝트들 간의 인력을 결정하고, 움직일 수 없는 물체를 결정하기 위한 다른 방법 및 수단을 포함할 수 있다.
전술한 예시적인 실시 예에서의 모든 오브젝트들은 유용성 특징을 갖지 않으며, 시뮬레이션을 위해 물리적 특징만 사용된 실시예 들이다. 이하의 실시 예는 객체의 유용성 특징을 사용하여 오브젝트들을 재배열하는 실시예를 설명한다.
도 12는 본 개시의 일 실시예에 따라, 오브젝트들의 유용성 특징을 이용하여 오브젝트를 배치하는 시뮬레이션 결과를 도시한 도면이다.
본 개시의 일 실시예에 따라 전술한 단계 S230에서, 디바이스(100)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 유용성 특징에 기초하여, 제1 오브젝트가 배치되는 대상(예, 정돈 시 제거되어야 하는 대상, 쓰레기 등)인지 판단할 수 있다. 또한, 디바이스(100)는 제1 오브젝트가 배치되는 대상인지 여부에 기초하여, 제1 오브젝트의 위치를 결정할 수 있다.
도 12의 (a)는 정리되기 전의 오브젝트들을 도시한 도면일 수 있다. 즉, 도 12의 (a)는 S210 단계에서 디바이스(100)가 획득 또는 촬영한 이미지에 대응될 수 있다. 이때, 배치 대상이 아닌 오브젝트(1210)가 정돈해야 하는 오브젝트들에 포함되어 있는 경우, 디바이스(100)는 쓰레기(1210)를 제외하고 정리를 수행할 필요가 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 추출한 유용성 특징에 기초하여, 복수의 오브젝트들 각각이 제거되어야 하는 대상(1210)(예, 쓰레기)인지 판단할 수 있다. 즉, 일 실시 예에서, 오브젝트들의 추가적인 유용성 특징은 오브젝트가 쓰레기가 아닌지(non garbage) 또는 쓰레기(garbage)인지에 대한 분류를 포함할 수 있다.
전술한 단계 S250에서, 디바이스(100)는 제1 오브젝트가 배치되는 대상이 아닌 경우(즉, 제1 오브젝트가 쓰레기(1210)인 경우), 도 12의 (b)와 같이 배치되는 대상인 오브젝트들과 제1 오브젝트가 구별되는 가상 배치 이미지를 생성할 수 있다.
일 예로, 디바이스(100)는 배치 대상이 아닌 것으로 판단된 오브젝트를 분리하여 이미지를 생성할 수 있다. 보다 상세하게, 도 12의 (b)와 같이, 쓰레기(1210)로 분류된 오브젝트는 렌더링 과정 및 디스플레이 과정에서, 시각적으로 변경된 표현(예; 쓰레기는 마킹되어 있을 수 있음)으로 표시될 수 있다. 즉, 쓰레기(1210)는 다른 오브젝트들과 구별되도록 표시될 수 있다.
도 13은 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수에 기초하여 오브젝트의 위치를 결정하는 방법에 대한 흐름도이다.
단계 S1310에서, 디바이스(100)는 유용성 특징에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득할 수 있다.
본 개시에서, 유용성 특징은 복수의 오브젝트들 각각에 대한 사용 빈도수를 포함할 수 있다. 이때, 오브젝트들 각각에 대한 사용 빈도수는 상대적인 개념일 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 복수의 오브젝트들 각각에 대한 위치 이동량에 기초하여 복수의 오브젝트들 각각에 대한 사용 빈도수를 결정할 수 있다. 보다 자세한 내용은 도 14 내지 도 17에서 후술된다.
단계 S1320에서, 디바이스(100)는 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)가 사용 빈도수에 기초하여 제1 오브젝트의 위치를 결정하는 경우, 제1 오브젝트에 대한 사용 빈도수가 제2 오브젝트에 대한 사용 빈도수보다 큰 경우, 제1 오브젝트가 제2 오브젝트 보다 사용자 선호 영역에 가깝도록 제1 오브젝트의 위치를 결정할 수 있다.
본 개시의 일 실시예에 따라, 사용자 선호 영역은 상기 복수의 오브젝트들이 배치되는 적어도 하나의 영역과 상기 디바이스(100)와의 거리에 기초하여 결정될 수 있다.
보다 자세한 설명은 하기의 도 18 내지 20에서 후술된다.
도 14는 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법에 대한 흐름도이다.
본 개시의 일 실시예에 따라, 오브젝트들의 사용 빈도를 기술하는 데이터(이하, 사용 빈도수)가 존재할 수 있다. 아이템들은 사용 빈도수에 따라 재배치될 수 있다. 이때, 사용 빈도를 사용하는 다양한 다른 메트릭(metrics)이 존재할 수 있다. 이때, 일 예로, 시뮬레이션을 하는 동안 사용 빈도수는 최전선으로 결정될 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 오브젝트들의 위치를 확인하고, 오브젝트들의 위치가 변경되는지 여부에 대해 추적할 수 있다.
도 14는 단계 S1310에서 유용성 특징에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득하는 방법에 대한 흐름도일 수 있다.
단계 S1410에서, 디바이스(100)는 복수의 오브젝트들에 포함된 제1 오브젝트의 위치 변화를 적어도 하나의 이미지로부터 추적할 수 있다. 이때, 제1 오브젝트는 복수의 오브젝트들 중 하나의 오브젝트를 의미할 수 있다. 즉, 제1 오브젝트는 오브젝트의 위치 및 이동을 추적할 때 대상이 되는 오브젝트를 의미할 수 있다.
이때, 적어도 하나의 이미지는 오브젝트의 사용 빈도수를 결정하기 위하여, 오브젝트의 위치 변경을 추적할 수 있도록 촬영된 이미지를 의미할 수 있다. 본 개시의 일 실시예에 따라, 적어도 하나의 이미지는 특정 시간 간격을 두고 촬영된 이미지일 수 있다. 또한, 다른 일 실시예에 따라, 적어도 하나의 이미지는 오브젝트가 이동한 경우 촬영된 이미지일 수도 있다.
단계 S1420에서, 디바이스(100)는 제1 오브젝트의 위치 변화에 대한 정보에 기초하여, 제1 오브젝트의 위치 이동량을 결정할 수 있다.
단계 S1430에서, 디바이스(100)는 위치 이동량에 기초하여, 제1 오브젝트의 사용 빈도수를 결정할 수 있다.
이때, 디바이스(100)의 위치 변경을 추적하는 실시예들은 하기의 도 15 내지 도 17에서 보다 자세하게 후술된다.
도 15는 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법을 도시한 도면이다.
보다 상세하게, 도 15는 오브젝트들의 유용성 특징을 이용하여 오브젝트를 정리하는 시뮬레이션을 수행하기 위하여, 오브젝트의 사용 빈도수를 결정하는 방법을 도시하고 있다.
일 실시 예에서, 오브젝트의 사용 빈도를 결정하기 위해, 오브젝트의 모든 관찰은 하기의 수학식과 같은, RMS (root mean square) 값을 계산하도록 처리될 수 있다.
[수학식 3]
Figure PCTKR2021004349-appb-img-000001
여기서,
Figure PCTKR2021004349-appb-img-000002
,
Figure PCTKR2021004349-appb-img-000003
Figure PCTKR2021004349-appb-img-000004
는 관찰 동안 획득된 오브젝트에 대한 모든 좌표 값들의 평균값이다. 이 실시 예에서, RMS 값이 클수록, 아이템이 사용자에 의해 더 자주 사용되는 것을 의미할 수 있다.
도 15의 (a)를 참고하면, 펜(1510)의 위치를 지속적으로 추적하여, RMS 값을 획득하는 방법을 확인할 수 있다. 이때, 일 예시에 따라, 제1 이미지는 1일차 촬영된 이미지, 제2 이미지는 2일차 촬영된 이미지, 제3 이미지는 3일차 촬영된 이미지, 제4 이미지는 4일차 촬영된 이미지일 수 있다.
도 15의 (a)를 확인하면, 디바이스(100)는 제1 이미지에서 펜(1510)의 위치를 (2,3,7)로 획득한 것을 확인할 수 있다. 이때, 디바이스(100)는 오브젝트의 위치를 (x,y,z) 좌표로 획득할 수 있으며, 오브젝트의 x, y, z 좌표는 글로벌 좌표계(global coordinate system)에 바인딩 될 수 있다.
도 15의 (a)를 확인하면, 디바이스(100)는 제2 이미지에서 펜(1510)의 위치를 (3,6,7)로 획득한 것을 확인할 수 있다. 또한, 디바이스(100)는 제3 이미지에서 펜(1510)의 위치를 (2.5,6,7)로 획득하였고, 디바이스(100)는 제4 이미지에서 펜(1510)의 위치를 (4,7,7)로 획득한 것을 확인할 수 있다.
보다 상세하게, 펜(1510)의 위치에 대한
Figure PCTKR2021004349-appb-img-000005
,
Figure PCTKR2021004349-appb-img-000006
,
Figure PCTKR2021004349-appb-img-000007
값은 각각
Figure PCTKR2021004349-appb-img-000008
=(2+3+2.5+4)/4=2.875;
Figure PCTKR2021004349-appb-img-000009
=(3+6+6+7)/4=5.5;
Figure PCTKR2021004349-appb-img-000010
=7로 계산될 수 있다. 따라서 상기의 수학식 3에 따라 제1 이미지 내지 제 4 이미지에서 펜(1510)의 RMS 값을 계산하면, 펜(1510)의 RMS 값은 하기의 식과 같이 계산될 수 있다.
[수학식 4]
RMS=0.25*((2-2.875) 2+(3-5.5) 2+0 2+(2.875-3) 2+(5.5-6) 2+0 2+(2.875-4) 2+(5.5-6) 2+0 2+(2.875-4) 2+(5.5-7) 2+0 2) 1/2=0.25*(11.1875) 1/2=0.836
따라서, 펜(1510)의 RMS 값은 0.836 일 수 있다.
도 15의 (b)를 확인하면, 도 15의 (a)에 도시된 복수개의 오브젝트들 각각에 대한 RMS 값을 확인할 수 있다. 다른 오브젝트들의 값에 비해, 펜(1510)의 RMS 값이 큰 것을 확인할 수 있다. 이에 따라, 사용자가 펜(1510)의 위치를 가장 자주 변경하였고, 사용자가 펜(1510)을 다른 오브젝트들에 비해 자주 사용한다는 것을 알 수 있다.
도 16은 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법을 도시한 도면이다.
다른 실시 예에서, 각 오브젝트는 2 개의 앵커 포인트가 사용되어 인식될 수 있다. 도 16의 경우, 일 예에 따라, 펜(1600)의 팁(1620) 및 엔드(1610) 각각에 대한 위치가 판단되었다.
도 16을 참고할 때, 촬영된 제1 이미지에서 펜(1600)의 엔드(1610) 및 팁(1620)의 위치는 각각 (3.2, 4.5, 3.1) 과 (1.6, 7.3, 3.1)이다. 제2 이미지에서 펜(1600)의 엔드(1610) 및 팁(1620)의 위치는 각각 (7.2, 5.2, 3.1) 과 (4.5, 4.0, 3.1)이다. 제3 이미지에서 펜(1600)의 엔드(1610) 및 팁(1620)의 위치는 각각 (2.6, 2.5, 3.1) 과 (1.0, 3.8, 3.1)이다.
이와 같이, 디바이스(100)는 오브젝트에 대해 2개의 앵커 포인트를 사용하여 오브젝트의 위치를 추적할 수 있다. 또한, 디바이스(100)는 오브젝트에 대해 2개의 앵커 포인트를 사용하여 RMS 값을 획득할 수 있다.
RMS는 하기의 수학식을 이용하여, 도 15에서 설명한 바와 같이, 동일하게 계산될 수 있다.
[수학식 5]
Figure PCTKR2021004349-appb-img-000011
마찬가지로, RMS 값이 다른 오브젝트들에 비해 큰 오브젝트에 대해 사용 빈도수가 큰 것으로 판단할 수 있다.
도 17은 본 개시의 일 실시예에 따라, 오브젝트의 사용 빈도수를 결정하는 방법을 도시한 도면이다.
도 17은 오브젝트들의 사용 빈도에 따라 오브젝트들의 위치가 변화하는 일 예에 대한 도면이다. 도 15 및 도 16에서 상술한 예시 외에도, 오브젝트들의 사용 빈도수를 결정하기 위한 다양한 방법이 존재할 수 있다.
예를 들어, 다른 실시 예에서, 6DoF 위치 변화를 추적하기 위해, 오브젝트 당 3 개의 앵커 포인트를 사용할 수 있다.
오브젝트가 카메라의 시야(Field-Of-View)에서 사라지거나 객체를 추적하기 위한 유사한 수단으로부터 추적되지 않는 경우, 좌표 RMS 값 또는 임의의 다른 사용 빈도 측정 메트릭은 다양한 규칙 또는 방법을 사용하여 계산 될 수 있다. 일 실시 예에서, 물체가 카메라의 FoV에서 사라지면, 일정한 양수(constant positive value)의 값이 휴리스틱하게(heuristically) RMS 값에 합산될 수 있다.
또 다른 실시 예에서 객체의 사용 빈도를 계산하기 위해 엔드 투 엔드 딥 학습(End-to-End deep learning) 방법이 적용될 수 있다. 오브젝트들의 위치들을 순차적으로 포함하는 CleVR 방법론에 기초하여 합성 된 데이터 세트 및 일련의 이미지가 제공되면 유용성 값 (RMS 값의 좌표 값에 기초 함)이 사용될 수 있다. 3D 컨볼루션 네트워크를 기반으로 하는 딥 뉴럴 네트워크는 엔드-투-엔드 방식(end-to-end manner)으로 오브젝트들의 유용성 값을 학습하는 데 사용될 수 있다.
전술한 방법에 한하지 않으며, 오브젝트들의 사용 빈도수는 다양한 방법으로 획득될 수 있다.
도 18은 본 개시의 일 실시예에 따라, 오브젝트의 특징을 고려하여 오브젝트들의 위치를 결정하는 방법을 도시한 도면이다.
먼저, 오브젝트들의 위치를 결정하기 위하여, 오브젝트들의 특징으로 전술한 사용 빈도수가 고려될 수 있다. 또한, 사용 빈도수에 비례하여 오브젝트들 간에 작용하는 인력도 고려될 수 있다. 또한, 도 18을 참고하면, 시뮬레이션 동안 오브젝트에 대해 추가적인 힘(1840)이 사용될 수 있다.
일 예로, 추가적인 힘(1840)이란 사용자 선호 영역을 통과하는 가상의 선에 대한 탄성력(spring force) 등을 포함할 수 있다. 이때, 선호 영역이란 사용자가 접근하기 선호하는 영역으로, 보다 상세하게는 사용자가 오브젝트를 선택하여 사용하거나 집을 수 있는 가장 편리한 영역을 의미할 수 있다.
도 18을 참고하면, 충전기(1810), 배터리(1812), 마커(1814) 및 펜(18165) 간에 작용하는 인력과 관련된 값이 도시되어 있다.
도 18을 참고할 때, 위치를 결정하려는 제1 오브젝트가 펜(1816)인 경우를 예를 들어 설명한다. 도 18의 사용자 선호 영역의 중심선(Line of center of preferred area)(1820)은 사용자 선호 영역 상에 위치한 가상의 선을 의미할 수 있다.
이때, 거리(1830)는 펜(1816)에서부터 사용자 선호 영역의 중심선(1820)까지의 거리를 의미할 수 있다.
이때, 펜(1816)에 대해 작용하는 힘(Force)(1840)은 k*거리(distance)(1830)으로 계산할 수 있다. 이때, k는 오브젝트가 선호 영역으로 가깝게 위치하도록 작용하는 계수를 의미할 수 있으며, 탄성 계수를 의미할 수 있다. 또한, 본 개시의 일 실시예에 따라, k는 오브젝트의 사용 빈도수에 비례하여 설정되는 값일 수 있다.
도 19는 본 개시의 일 실시예에 따라, 사용 빈도수를 고려하여 오브젝트를 배치하는 방법을 도시한 도면이다.
도 19의 (a)는 펜(1900)을 사용하지 않는 경우, 펜(1900)의 사용 빈도수를 고려하여 오브젝트를 배치한 가상 배치 이미지에 대응될 수 있다. 이때, k의 값은 0일 수 있다.
도 19의 (b)는 중간 사용 빈도수로 펜(1900)을 사용한 경우, 오브젝트를 배치한 가상 배치 이미지에 대응될 수 있다. 이때, k의 값은 5일 수 있다.
도 19의 (c)는 높은 사용 빈도수로 펜(1900)을 사용한 경우, 오브젝트를 배치한 가상 배치 이미지에 대응될 수 있다. 이때, k의 값은 20일 수 있다. 이때, 사용 빈도수는 오브젝트들 간의 상대적인 개념일 수 있다.
본 개시의 일 실시예에 따라, 시뮬레이션 동안 펜(1900)은 추가적인 힘에 따라 다르게 위치될 수 있다. 오브젝트가 사용자에 의해 더 자주 사용될 경우, 가장 접근하긴 쉬운 영역(사용자 선호 영역)의 중심 부분을 결정하는 가상의 선으로 오브젝트를 끌어당기는 탄성 계수(k)의 값이 커질 수 있다. 이 선에 오브젝트가 가까워 질수록 힘은 작아질 수 있다. 시뮬레이션이 수행되는 동안, 힘들의 균형은 시뮬레이션이 끝날 때 설정될 수 있다.
중력이 증가하고 탄성력이 감소하는 시뮬레이션의 제 2 단계(도 10 참고)에서 유용성에 영향을 주는 힘이 감소할 수 있다. 시뮬레이션이 종료되면, 오브젝트들은 사용자 선호 영역에 위치할 수 있다.
본 개시의 일 실시예에 따라, 사용 빈도수에 기초하여 사용자 선호 영역에 위치하는 오브젝트를 결정할 수 있다.
도 20은 본 개시의 일 실시예에 따라, 사용자 선호 영역을 결정하는 방법에 대한 도면이다.
용이하거나 접근하기 쉬운 영역(사용자 선호 영역)은 한정되지 않는 방법으로 결정될 수 있다.
본 개시의 일 실시예에 따라, 사용자 선호 영역은 일정 공간(예, 아파트)에서의 디바이스(100)의 모든 움직임 동안 디바이스(100)에 장착된 카메라까지의 최단 거리에 위치한 영역, 테이블, 선반 등에서 사용자와 가장 가까운 영역, 또는 사용자에 의해 명시 적으로 지정된 영역 등일 수 있다.
본 개시의 일 실시예에 따라, 사용자 선호 영역은 디바이스(100)의 위치와 제1 포인트(2050)와의 제1 거리 및 디바이스(100)의 위치와 제2 포인트(2040)와의 제2 거리를 비교하여 결정될 수 있다.
일 실시 예에서, 사용자가 정리 대상으로 지정한 영역은 복수의 포인트들로 커버될 수 있다. 한정되지 않은 일 예로, 사용자가 정리 대상으로 지정한 영역은 세 개의 포인트로 구분될 수 있다. 제1 포인트는 사용자가 선호하는 접근 영역(예, 사용자가 오브젝트를 쉽게 사용할 수 있는 영역), 제 2 포인트는 중간 난이도의 접근 영역, 그 외 영역은 사용자가 접근하기 어려운 영역(예, 멀리 떨어진 경우)로 지정할 수 있다. 다만 상술한 바와 같이 세 개의 포인트로 한정하는 것은 아니다.
도 20을 참고할 때, 제1 포인트(2050)와 제2 포인트(2040)가 사용자가 정리 대상으로 지정한 영역에 존재한다고 가정하고 설명한다. 제1 포인트(2050)는 테이블의 영역 중에서 사용자가 사용하기 가까운 공간(Closest area)이고, 제2 포인트(2040)는 테이블의 영역 중의 중간 영역(Middle area)을 의미할 수 있다.
이때, 디바이스(100)에는 카메라가 포함될 수 있다. 기하학적 규칙과 디바이스(100)(예, 로봇)의 제1 위치(2010), 제2 위치(2020) 및 제3 위치(2030)를 고려하여, 디바이스(100)의 위치와 제1 포인트(2050)와의 제1 거리 및 디바이스(100)의 위치와 제2 포인트(2040)와의 제2 거리를 결정할 수 있다.
이때, 디바이스(100)(2000)의 제1 위치(2010), 제2 위치(2020) 및 제3 위치(2030)에서 제2 포인트(2040)까지의 거리의 합은 디바이스(100)(2000)의 제1 위치(2010), 제2 위치(2020) 및 제3 위치(2030)에서 제1 포인트(2050)까지의 거리의 합보다 크다. 즉, d21 + d22 + d23> d11 + d12 + d13이 성립한다. 즉, 디바이스(100)의 위치들과 제2 포인트(5640)와의 거리의 합산인 d21 + d22 + d23가 디바이스(100)의 위치들과 제1 포인트(5650)와의 거리의 합산인 d11 + d12 + d13보다 크다. 따라서, 제2 포인트는 제1 포인트보다 먼 곳에 있는 것을 알 수 있다.
이때, d21은 제2 포인트(2040)와 제1 위치(2010), d22는 제2 포인트(2040)와 제2 위치(2020), d23은 제2 포인트(2040)와 제3 위치(2030)를 의미할 수 있다. 또한, d11은 제1 포인트(2050)와 제1 위치(2010), d12는 제1 포인트(2050)와 제2 위치(2020), d13은 제1 포인트(2050)와 제3 위치(2030)를 의미할 수 있다.
상술한 방법을 통해, 제1 포인트(2050)와 제1 포인트(2050)의 주변 환경은 사용자가 더 쉽게 접근할 수 있는 영역으로 확인할 수 있다. 이를 통해, 디바이스(100)(2000)는 제1 포인트(2050)의 영역을 사용자 선호 영역으로 결정할 수 있다.
도 21 및 도 22는 본 개시의 일 실시예에 따라, 디바이스(100)가 가상 배치 이미지를 디스플레이하는 UI를 도시한 도면이다.
도 21 및 도 22는 도 2에서 전술한 단계 S250에 대한 실시예를 설명한 도면이다. 본 개시의 일 실시예에 따라, 렌더링된 결과는 UI로 생성될 수 있다. 이때, 디바이스(100)는 사용자가 선택할 수 있는 수개의 옵션을 UI로 생성하여 디스플레이할 수 있다.
본 개시의 일 실시예에 따라, 옵션에는 디바이스(100)가 제안한 오브젝트들의 재배치에 동의하는지 여부에 대한 선택도 포함될 수 있다. 도 21을 참고하여 설명할 때, 디바이스(100)로부터 제시된 아이템들의 배열을 수락할 것인지를 선택할 수 있는 UI가 생성될 수 있다. 예로, 도 21과 같이 정리 전(현재)의 오브젝트들의 상태에 대한 이미지와 정리된 경우의 오브젝트들의 상태에 대한 이미지가 디스플레이 될 수 있다. 사용자에 의해 정리 동의(yes)가 선택된 경우, 디바이스(100)는 수신된 입력에 기초하여 선택된 이미지에 따라 복수의 오브젝트들을 배열할 수 있다. 또한, 다른 일 예로, 사용자에 의해 정리 거절(no)이 선택된 경우, 디바이스(100)는 수신된 입력에 기초하여 오브젝트들의 정리를 수행하지 않을 수 있다.
본 개시의 일 실시예에 따라, 수개의 선택들이 사용자에게 제시될 수 있다. 도 22를 참고할 때, 수개의 옵션들은 사용자가 선택할 수 있도록 디스플레이될 수 있다. 예로, 수개의 옵션들은 서로 다른 배치 알고리즘에 기초하여 생성된 가상 배치 이미지들에 대응될 수 있다. 도 22를 참고하면, 선택 A는 제1 배치 알고리즘에 기초하여 생성된 가상의 배치 이미지일 수 있고, 선택 B는 제2 배치 알고리즘에 기초하여 생성된 가상의 배치 이미지일 수 있다.
본 개시의 일 실시예에 따라, 사용자가 제시된 오브젝트들의 재배치 시뮬레이션을 거절한 경우, 오브젝트들에 대한 다른 재배치가 생성될 수 있다. 일 예로, 디바이스(100)가 도 21의 거절(No)에 대한 사용자 입력을 수신하는 경우, 디바이스(100)는 다른 배치 알고리즘에 기초하여 오브젝트들에 대해 가상의 배치 이미지를 생성할 수 있다.
도 23은 본 개시의 일 실시예에 따라, 디바이스가 가상 배치 이미지에 기초하여 복수의 오브젝트들을 배열하기 위한 제어 신호를 생성하는 방법에 대한 흐름도이다.
도 21 내지 도 22에서 전술한 바와 같이, 디바이스(100)는 가상의 배치 이미지를 디스플레이하는 경우, 적어도 하나의 가상의 배치 이미지를 선택하는 UI를 생성할 수 있다. 이때, 적어도 하나의 가상의 배치 이미지는 서로 다른 배치 알고리즘에 기초하여 가상으로 복수의 오브젝트들이 배치된 이미지일 수 있다.
S2310 단계에서, 디바이스(100)는 적어도 하나의 가상의 배치 이미지 중에서 하나의 가상의 배치 이미지를 선택하는 입력을 수신할 수 있다.
S2320 단계에서, 디바이스(100)는 선택된 가상의 배치 이미지에 따라 복수의 오브젝트들을 배치하기 위한 제어 신호를 생성할 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 수신된 입력에 기초하여 선택된 이미지에 따라 복수의 오브젝트들을 배열하기 위한 제어 신호를 생성할 수 있다. 이때, 디바이스(100)는 제어 신호에 기초하여 복수의 오브젝트들을 배열할 수 있다. 일 예로, 디바이스(100)가 제어 신호에 기초하여 오브젝트들을 정리할 수 있는 기능을 수행할 수 있는 로봇인 경우, 디바이스(100)는 생성된 제어 신호에 기초하여 복수의 오브젝트들을 배열할 수 있다.
다른 일 예로, 디바이스(100)는 제어 신호를 외부 디바이스로 전송할 수 있다. 일 예로, 외부 디바이스가 제어 신호에 기초하여 오브젝트들을 정리할 수 있는 기능을 수행할 수 있는 로봇인 경우, 디바이스(100)는 외부 디바이스로 제어 신호를 전송하고, 외부 디바이스(예, 로봇)는 수신된 제어 신호에 기초하여 복수의 오브젝트들을 배열할 수 있다.
도 24는 본 개시의 일 실시예에 따라, 가상 오브젝트를 생성하는 방법에 대한 흐름도이다.
단계 S2410에서, 디바이스(100)는 획득한 이미지에서 제1 오브젝트에 대해 분리(Segmentation)를 수행할 수 있다.
이때, 본 개시의 일 실시예에 따라, 오브젝트를 분리(Segmentation)하는 것은 시맨틱 분리(semantic segmentation)를 이용할 수 있다. 보다 상세하게, 디바이스(100)는 적어도 하나의 이미지에서 오브젝트들의 시맨틱 세그먼테이션(semantic segmentation)을 수행할 수 있다.
도 25를 참고하면, 시맨틱 세그먼테이션(semantic segmentation)란, 복수의 오브젝트들에 포함된 제1 오브젝트가 획득한 이미지에서 삭제 또는 분리되는 것을 의미할 수 있다. 보다 상세하게 설명하면, 도 25의 (a)와 같이, 초기 이미지(Initial image)가 획득될 수 있다. 그리고 도 25의 (b)와 같이, 초기 이미지에서 제1 오브젝트인 건전지(2520)에 대해 세그멘테이션(Segmentation)이 수행될 수 있다. 분리된 오브젝트(2520)는 저장될 수 있다. 도 25의 (c)와 같이, 세그멘트된 오브젝트(2530)는 이미지로부터 분리(cut)될 수 있다.
본 개시의 일 실시예에 따라, 디바이스(100)는 분할된 오브젝트들을 이미지로부터 하나씩 제거하고, 인페인팅(inpainting)으로 갭을 채울 수 있다. 즉, 이미지에 대해 인페인팅을 위한 마스크가 수행될 수 있다. 이때 본 개시에서 인페인팅(inpainting)이란, 이미지의 특정 영역을 마스킹하고 간격을 재구성하는 알고리즘을 의미할 수 있다.
도 26을 참고하면, 인페인팅이 수행되기 위하여 인페이팅 알고리즘에 초기 이미지(2610)와 마스크(2620)가 입력될 수 있다. 이와 같은 과정을 통해, 오브젝트가 사라진 이미지(2630)를 획득할 수 있다.
도 27를 참고하면, 상술한 단계들을 복수의 오브젝트들 각각에 대해 순차적으로 수행하는 것을 확인할 수 있다. 즉, 도 27의 (a)와 같은 초기 이미지에 포함된 복수의 오브젝트들 각각에 대해 세그멘테이션과 인페인팅을 순차적으로 수행할 수 있다. 디바이스(100)는, 남은 오브젝트들이 없을 때까지, 반복하여 세그멘테이션과 인페인팅을 수행할 수 있다.
단계 S2420에서, 디바이스(100)는 제1 오브젝트에 제1 오브젝트에 대해 결정된 특징을 할당할 수 있다.
이때, 제1 오브젝트에 대해 결정된 특징은 전술한 바와 같은, 제1 오브젝트에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 의미할 수 있다.
단계 S2430에서, 디바이스(100)는 제1 오브젝트를 3D로 형상화할 수 있다.
보다 상세하게, 디바이스(100)는 영역 상에 있는 오브젝트들 및 평면 등과 같은 움직일 수 없는 3D 물체의 3D 재구성을 수행할 수 있다.
도 28은 가상 오브젝트를 생성하는 방법을 도시한 도면이다. 상술한 바와 같이 초기 이미지(2810)에 대해 세그멘테이션 및 마스크를 수행할 수 있다. 그리고, 세그멘테이션이 적용된 오브젝트가 추후의 3D 형상화를 위하여 저장될 수 있다. 그리고, 저장된 오브젝트에 대해 3D 형상화를 수행하여 가상 오브젝트(2830)가 생성될 수 있다.
도 29는 본 개시의 일 실시예에 따라, 디바이스가 특정 영역에 위치한 오브젝트들의 재배열을 수행하는 방법을 도시한 도면이다.
도 29의 (a)를 참고하면, 먼저 디바이스(100)는 디바이스(100) 또는 외부 디바이스(100)(예, 로봇)가 특정 영역(배치해야 할 오브젝트들이 위치한 영역)에 위치한 오브젝트들의 재배열을 수행하도록, 사용자의 명령을 수신할 수 있다. 디바이스(100)는 특정 영역에 대해 적어도 하나의 이미지(2D 또는 RGBD)를 촬영할 수 있다. 도 1에서 전술한 바와 같이, 한정되지 않은 일 실시예에 따라 디바이스(100)는 로봇일 수 있으며, 또는 외부 디바이스(예, 로봇)과 통신할 수 있는 장치일 수 있다.
상술한 도 24 내지 27에 따라, 디바이스(100)는 적어도 하나의 이미지에서 오브젝트들의 시맨틱 세그먼테이션(semantic segmentation)을 수행할 수 있다. 디바이스(100)는 분할된 오브젝트들을 이미지로부터 하나씩 제거하고, 인페인팅(inpainting)으로 갭을 채울 수 있다. 디바이스(100)는 세그먼트로 남은 오브젝트들이 없을 때까지, 세그먼테이션과 인페인팅(inpainting)을 반복하여 수행할 수 있다.
디바이스(100)는 시뮬레이션을 수행하여, 디바이스(100)는 영역 상에 있는 오브젝트들 및 평면 등과 같은 움직일 수 없는 3D 물체의 3D 재구성을 수행할 수 있다. 도 29의 (b)와 같이 디바이스(100)는 3D로 재 구성된 영역에서 적어도 2개의 가능한 3D 오브젝트들의 재 배열들을 계산할 수 있다.
이때, 배치 알고리즘이 의미론적 유사성(Semantic similarity)에 따라 오브젝트들을 배치하는 방법인 경우의 실시예를 보다 자세히 설명한다.
먼저, 디바이스(100)는 오브젝트들을 인식할 수 있다. 이때, 텍스트 레이블(Textual labels)이 적용될 수 있다. 디바이스(100)는 오브젝트들의 페어 사이의 페어 의미 거리(Pairwise semantic distance)를 계산할 수 있다. 이 때, 일 예로 GloVe-300 embedding이 사용될 수 있다.
디바이스(100)는 오브젝트들의 종류를 기반으로 한 무게들에 대한 데이터 베이스에 기초하여 오브젝트들의 물리적 특징(예, 오브젝트들의 무게(Weight)를 추정할 수 있다. 대응되는 무게를 가진 (가상) 오브젝트들이 3D 물리적 시뮬레이터 내에 입력될 수 있다. 이때, 가상의 3D 오브젝트들은 3D 물리적 시뮬레이터 내에 오브젝트들의 물리적 특성들에 대한 데이터베이스와 함께(예, 오브젝트들의 무게, 마찰력) 등이 입력될 수 있다.
본 개시의 일 실시예에 따라, 3D 물리적 시뮬레이터 내에서 오브젝트들의 의미적 유사성(semantic similarity)에 비례하는 물리적 힘(예, 쌍으로 작용하는 힘(pairwise force), 인력)이 오브젝트들 간에 작용하도록, 시뮬레이션이 수행될 수 있다. 시뮬레이션이 수행되는 동안, 시간에 따라 감소하는 진동(vibration)이 감소하는 쌍으로 작용하는 힘(pairwise force)가 적용되는 표면에 적용될 수 있다.
상술한 방법으로, 시뮬레이션 된 어닐링에 따라, 오브젝트들은 의미적으로 그룹화되어 최적의 위치에 위치할 수 있다.
이에 따라 도 29의 (b)와 같이 적어도 하나의 배치 알고리즘에 따라 가상 공간에서 가상 오브젝트들을 가상으로 배치할 수 있다.
도 29의 (c)를 참고하면, 사용자에게 UI를 생성하여 디스플레이할 수 있다. 이때, 렌더링 된 뷰가 사용자에게 보여 지도록 저장될 수 있다. 이때, 디바이스(100)는 적어도 두 개의 가능한 재배열을 비디오 파일들의 비트맵 이미지들로 렌더링할 수 있다. 이때, 본 개시의 일 실시예에 따라, 적어도 2 개의 가능한 재배열이 사용자에게 제시될 수 있다.
본 개시의 일 실시예에 따라, 사용자에 의해 적어도 2 개의 가능한 재배열 중 하나를 선택 받을 수 있다. 또한, 일 예시에 따라, 디바이스(100)는 소지품의 선택된 재 배열을 수행하기 위해 로봇에 명령을 보낼 수 있다.
도 30은 본 개시의 일 실시예에 따른 디바이스(100)의 구성을 나타내는 블록도이다.
도 30에 도시되는 바와 같이, 본 개시의 디바이스(100)는 프로세서(3030), 통신부(3010), 메모리(3020), 디스플레이(3030), 촬영부(3050)를 포함할 수 있다. 다만 디바이스(100)의 구성 요소가 전술한 예에 한정되는 것은 아니다. 예를 들어, 디바이스(100)는 전술한 구성 요소보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다. 뿐만 아니라, 프로세서(3030), 통신부(3010) 및 메모리(3020)가 하나의 칩(Chip) 형태로 구현될 수도 있다.
디바이스(100)는 전술한 방법에 따라 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법을 수행할 수 있으며, 중복되는 동작은 설명을 생략한다. 일 실시예에 따르면, 프로세서(3030)는 상술한 본 개시의 실시 예에 따라 디바이스(100)가 동작할 수 있는 일련의 과정을 제어할 수 있다. 예를 들면, 본 개시의 실시 예에 따르는 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 서비스를 제공하는 방법을 수행하도록 디바이스(100)의 구성요소들을 제어할 수 있다. 프로세서(3030)는 복수 개일 수 있으며, 프로세서(3030)는 메모리(3020)에 저장된 프로그램을 실행함으로써 전술한 본 개시의 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 서비스를 제공하기 위한 동작을 수행할 수 있다.
통신부(3010)는 외부 디바이스(예를 들어, 이미지를 촬영하는 외부 디바이스, 사용자에 의해 선택된 이미지에 따라 오브젝트들을 이동시킬 수 있는 외부 디바이스 등)와 신호를 송수신할 수 있다. 외부 장치와 송수신하는 신호는 제어 정보와, 데이터를 포함할 수 있다. 통신부(3010)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 다만, 이는 통신부(3010)는 일 실시예일뿐이며, 통신부(3010)의 구성요소가 RF 송신기 및 RF 수신기에 한정되는 것은 아니다. 또한, 통신부(3010)는 무선 채널을 통해 신호를 수신하여 프로세서(3030)로 출력하고, 프로세서(3030)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
일 실시예에 따르면, 메모리(3020)는 디바이스(100)의 동작에 필요한 프로그램 및 데이터를 저장할 수 있다. 또한, 메모리(3020)는 디바이스(100)가 송수신하는 신호에 포함된 제어 정보 또는 데이터를 저장할 수 있다. 메모리(3020)는 롬(ROM), 램(RAM), 하드디스크, CD-ROM 및 DVD 등과 같은 저장 매체 또는 저장 매체들의 조합으로 구성될 수 있다. 또한, 메모리(3020)는 복수 개일 수 있다 일 실시예에 따르면, 메모리(3020)는 전술한 본 개시의 실시예들인 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 서비스를 제공하는 동작을 수행하기 위한 프로그램을 저장할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 복수의 오브젝트들에 대한 이미지를 획득하고, 획득한 이미지에 기초하여 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하고, 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하고, 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하고, 가상의 배치 이미지를 디스플레이할 수 있다.
본 개시의 일 실시예에 따라, 유용성 특징은 상기 복수의 오브젝트들 각각에 대한 사용 빈도수, 배치되는 대상인지 여부에 대한 정보, 사용 용도에 대한 정보 또는 안정성에 대한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 유용성 특징에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득하고, 사용 빈도수에 기초하여 제1 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 제1 오브젝트에 대한 사용 빈도수가 제2 오브젝트에 대한 사용 빈도수보다 큰 경우, 제1 오브젝트가 제2 오브젝트 보다 사용자 선호 영역에 가깝게 위치하도록 제1 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 사용자 선호 영역을 상기 복수의 오브젝트들이 배치되는 적어도 하나의 영역과 상기 디바이스와의 거리에 기초하여 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 복수의 오브젝트들 각각에 대한 위치 이동량에 기초하여 복수의 오브젝트들 각각에 대한 사용 빈도수를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 복수의 오브젝트들에 포함된 제1 오브젝트의 위치 변화를 적어도 하나의 이미지로부터 추적하고, 제1 오브젝트의 위치 변화에 대한 정보에 기초하여, 제1 오브젝트의 위치 이동량을 결정하며, 위치 이동량에 기초하여, 제1 오브젝트의 사용 빈도수를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들에 포함된 제1 오브젝트와 다른 오브젝트들 간의 유사도를 결정하고, 제1 오브젝트와 다른 오브젝트들 간의 유사도에 기초하여, 제1 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 제1 오브젝트와 제2 오브젝트와의 유사도가 상기 제1 오브젝트와 제3 오브젝트와의 유사도 보다 큰 경우, 제1 오브젝트가 제3 오브젝트 보다 제2 오브젝트와 가깝게 위치하도록 제1 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 유용성 특징에 기초하여, 제1 오브젝트가 배치되는 대상인지 판단하고, 제1 오브젝트가 배치되는 대상인지 여부에 기초하여, 제1 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 제1 오브젝트가 배치되는 대상이 아닌 경우, 배치되는 대상인 오브젝트들과 제1 오브젝트가 구별되는 가상 배치 이미지를 생성할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 적어도 하나의 가상의 배치 이미지를 선택하는 UI를 생성할 수 있다. 이때, 적어도 하나의 가상의 배치 이미지는 서로 다른 배치 알고리즘에 기초하여 가상으로 복수의 오브젝트들이 배치된 이미지일 수 있다.
일 실시예에 따르면, 프로세서(3030)는 적어도 하나의 가상의 배치 이미지 중에서 하나의 가상의 배치 이미지를 선택하는 입력을 수신하고, 선택된 가상의 배치 이미지에 따라 복수의 오브젝트들을 배치하기 위한 제어 신호를 생성할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 획득한 이미지에 기초하여 복수의 오브젝트들 각각을 식별하고, 식별된 오브젝트들 각각에 대응하는 상기 물리적 특징을 데이터 베이스로부터 획득할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 배치 알고리즘에 기초하여 가상 공간에서 복수의 오브젝트들 각각에 대한 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 복수의 오브젝트들에 포함된 제1 오브젝트에 대응되는 시각적 특징, 물리적 특징 또는 유용성 특징을 제1 가상 오브젝트에 할당하고, 배치 알고리즘에 기초하여 가상 공간에서 제1 가상 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 가상 공간에서 제1 가상 오브젝트에 대해 작용하는 힘을 판단하고, 제1 가상 오브젝트에 대해 작용하는 힘에 기초하여, 제1 가상 오브젝트의 위치를 결정할 수 있다.
일 실시예에 따르면, 프로세서(3030)는 가상 공간에서 제1 가상 오브젝트와 제2 가상 오브젝트 사이에서 작용하는 인력은 제1 가상 오브젝트와 상기 제2 가상 오브젝트와의 유사도에 기초하여 결정할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품이 제공될 수 있다. 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크 상의 별도의 저장 장치가 본 개시의 실시예를 수행하는 장치에 접속할 수도 있다.
본 개시에서, 용어 "컴퓨터 프로그램 제품(computer program product)" 또는 "컴퓨터로 읽을 수 있는 기록매체(computer readable medium)"는 메모리, 하드 디스크 드라이브에 설치된 하드 디스크, 및 신호 등의 매체를 전체적으로 지칭하기 위해 사용된다. 이들 "컴퓨터 프로그램 제품" 또는 "컴퓨터로 읽을 수 있는 기록매체"는 본 개시에 따른 복수의 오브젝트들에 대한 이미지를 획득하고, 획득한 이미지에 기초하여 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하고, 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나에 기초하여, 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하고, 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하고, 가상의 배치 이미지를 디스플레이하기 위한 명령어로 구성된 소프트웨어 컴퓨터 시스템에 제공하는 수단이다.
상술한 본 개시의 구체적인 실시예들에서, 본 개시에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 디바이스가 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 방법에 있어서,
    상기 복수의 오브젝트들에 대한 이미지를 획득하는 단계;
    상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하는 단계;
    상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계;
    상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하는 단계; 및
    상기 가상의 배치 이미지를 디스플레이 하는 단계;를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 유용성 특징은 상기 복수의 오브젝트들 각각에 대한 사용 빈도수, 배치되는 대상인지 여부에 대한 정보, 사용 용도에 대한 정보 또는 안정성에 대한 정보 중 적어도 하나를 포함하는, 방법.
  3. 제1 항에 있어서,
    상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 는,
    상기 유용성 특징에 기초하여, 상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득하는 단계; 및
    상기 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함하는, 방법.
  4. 제3 항에 있어서,
    상기 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정하는 단계;는
    상기 제1 오브젝트에 대한 사용 빈도수가 제2 오브젝트에 대한 사용 빈도수보다 큰 경우, 상기 제1 오브젝트가 상기 제2 오브젝트보다 사용자 선호 영역에 가깝게 위치하도록 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함하는, 방법.
  5. 제1 항에 있어서,
    상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나를 결정하는 단계;는
    상기 복수의 오브젝트들 각각에 대한 위치 이동량에 기초하여 상기 복수의 오브젝트들 각각에 대한 사용 빈도수를 결정하는 단계;를 포함하는, 방법.
  6. 제5 항에 있어서,
    상기 복수의 오브젝트들 각각에 대한 사용 빈도수를 결정하는 단계;는
    상기 복수의 오브젝트들에 포함된 제1 오브젝트의 위치 변화를 적어도 하나의 이미지로부터 추적하는 단계;
    상기 제1 오브젝트의 위치 변화에 대한 정보에 기초하여, 상기 제1 오브젝트의 위치 이동량을 결정하는 단계; 및
    상기 위치 이동량에 기초하여, 상기 제1 오브젝트의 사용 빈도수를 결정하는 단계;를 포함하는, 방법.
  7. 제1 항에 있어서,
    상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 는,
    상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들에 포함된 제1 오브젝트와 다른 오브젝트들 간의 유사도를 결정하는 단계; 및
    상기 제1 오브젝트와 다른 오브젝트들 간의 유사도에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함하는, 방법.
  8. 제7 항에 있어서,
    상기 다른 오브젝트들과 유사도에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 단계;는,
    상기 제1 오브젝트와 제2 오브젝트와의 유사도가 상기 제1 오브젝트와 제3 오브젝트와의 유사도 보다 큰 경우,
    상기 제1 오브젝트가 상기 제3 오브젝트보다 상기 제2 오브젝트와 가깝게 위치하도록 상기 제1 오브젝트의 위치를 결정하는 단계를 포함하는, 방법.
  9. 제1 항에 있어서,
    상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하는 단계; 는,
    상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 유용성 특징에 기초하여, 상기 제1 오브젝트가 배치되는 대상인지 판단하는 단계; 및
    상기 제1 오브젝트가 배치되는 대상인지 여부에 기초하여, 상기 제1 오브젝트의 위치를 결정하는 단계;를 포함하는, 방법.
  10. 제9 항에 있어서,
    상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하는 단계;는,
    상기 제1 오브젝트가 배치되는 대상이 아닌 경우, 배치되는 대상인 오브젝트들과 상기 제1 오브젝트가 구별되는 가상 배치 이미지를 생성하는 단계;를 포함하는, 방법.
  11. 제1 항에 있어서,
    상기 가상의 배치 이미지를 디스플레이하는 단계;는
    적어도 하나의 가상의 배치 이미지를 선택하는 UI를 생성하는 단계;를 포함하고,
    상기 적어도 하나의 가상의 배치 이미지는 서로 다른 배치 알고리즘에 기초하여 가상으로 복수의 오브젝트들이 배치된 이미지인, 방법.
  12. 제1 항에 있어서,
    상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하는 단계;는
    상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각을 식별하는 단계; 및
    상기 식별된 오브젝트들 각각에 대응하는 상기 물리적 특징을 데이터 베이스로부터 획득하는 단계;를 포함하는, 방법.
  13. 제1 항에 있어서,
    배치 알고리즘에 기초하여 가상 공간에서 상기 복수의 오브젝트들 각각에 대한 위치를 결정하는 단계; 를 더 포함하는, 방법.
  14. 복수의 오브젝트들이 재배치된 가상의 배치 이미지를 생성하는 디바이스에 있어서,
    적어도 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 적어도 하나 이상의 인스트럭션을 실행함으로써 상기 디바이스를 제어하는 적어도 하나 이상의 프로세서를 포함하며,
    상기 적어도 하나 이상의 프로세서는,
    상기 복수의 오브젝트들에 대한 이미지를 획득하고,
    상기 획득한 이미지에 기초하여 상기 복수의 오브젝트들 각각에 대한 시각적 특징, 물리적 특징 또는 유용성 특징 중 적어도 하나를 결정하며,
    상기 시각적 특징, 상기 물리적 특징 또는 상기 유용성 특징 중 적어도 하나에 기초하여, 상기 복수의 오브젝트들이 배치된 결과에 대한 데이터를 생성하고,
    상기 복수의 오브젝트들이 배치된 결과에 대한 데이터에 기초하여, 상기 복수의 오브젝트들이 배치된 가상의 배치 이미지를 생성하며,
    상기 가상의 배치 이미지를 디스플레이하는, 디바이스.
  15. 제14 항에 있어서,
    상기 프로세서는, 상기 유용성 특징에 기초하여, 상기 복수의 오브젝트들에 포함된 제1 오브젝트에 대한 사용 빈도수를 획득하고, 상기 사용 빈도수에 기초하여 상기 제1 오브젝트의 위치를 결정하는, 디바이스.
PCT/KR2021/004349 2020-04-08 2021-04-07 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치 WO2021206447A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/961,935 US20230037221A1 (en) 2020-04-08 2022-10-07 Method and device for generating image for arranging objects

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0042960 2020-04-08
KR1020200042960A KR20210125656A (ko) 2020-04-08 2020-04-08 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/961,935 Continuation US20230037221A1 (en) 2020-04-08 2022-10-07 Method and device for generating image for arranging objects

Publications (1)

Publication Number Publication Date
WO2021206447A1 true WO2021206447A1 (ko) 2021-10-14

Family

ID=78022647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/004349 WO2021206447A1 (ko) 2020-04-08 2021-04-07 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치

Country Status (3)

Country Link
US (1) US20230037221A1 (ko)
KR (1) KR20210125656A (ko)
WO (1) WO2021206447A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230073754A (ko) 2021-11-19 2023-05-26 주식회사 에이직스 이미지 아틀라스 기법을 활용한 대용량 이미지 배치 렌더링 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316858A (ja) * 1998-05-06 1999-11-16 Nippon Telegr & Teleph Corp <Ntt> 仮想物体の配置方法及びこの方法を記録した記録媒体
JP2004355578A (ja) * 2003-05-30 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置およびその3d出力方法
KR20110039072A (ko) * 2009-10-09 2011-04-15 엘지전자 주식회사 이동 단말기 및 그 물품 배치 시뮬레이션 방법
KR20190031526A (ko) * 2016-07-21 2019-03-26 이베이 인크. 동적인 재고 관리 시스템 및 방법
KR20190038886A (ko) * 2016-08-11 2019-04-09 매직 립, 인코포레이티드 3-차원 공간에서의 가상 객체의 자동적인 배치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316858A (ja) * 1998-05-06 1999-11-16 Nippon Telegr & Teleph Corp <Ntt> 仮想物体の配置方法及びこの方法を記録した記録媒体
JP2004355578A (ja) * 2003-05-30 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置およびその3d出力方法
KR20110039072A (ko) * 2009-10-09 2011-04-15 엘지전자 주식회사 이동 단말기 및 그 물품 배치 시뮬레이션 방법
KR20190031526A (ko) * 2016-07-21 2019-03-26 이베이 인크. 동적인 재고 관리 시스템 및 방법
KR20190038886A (ko) * 2016-08-11 2019-04-09 매직 립, 인코포레이티드 3-차원 공간에서의 가상 객체의 자동적인 배치

Also Published As

Publication number Publication date
US20230037221A1 (en) 2023-02-02
KR20210125656A (ko) 2021-10-19

Similar Documents

Publication Publication Date Title
WO2017131319A1 (en) Mobile terminal for one-hand operation mode of controlling paired device, notification and application
WO2016099031A1 (en) Portable apparatus and method of controlling location information of portable apparatus
WO2016060397A1 (en) Method and apparatus for processing screen using device
WO2018159864A1 (ko) 이동 단말기 및 그 이동 단말기의 제어 방법
WO2016182132A1 (ko) 이동단말기 및 그 제어방법
WO2017057803A1 (ko) 이동 단말기 및 그 제어 방법
WO2016035921A1 (ko) 이동 단말기 및 그것의 제어방법
WO2015170894A1 (en) Wearable device and controlling method thereof
WO2017111268A1 (ko) 변형 가능한 디스플레이 장치 및 이를 이용한 영상 표시 방법
WO2016010202A1 (en) Mobile terminal and control method for the mobile terminal
WO2014119894A1 (en) Method of performing function of device and device for performing the method
WO2018169135A1 (en) Terminal and method of controlling therefor
WO2016111556A1 (en) Method of wirelessly connecting devices, and device thereof
WO2016200136A1 (en) Portable device and method of changing screen of portable device
EP3241093A1 (en) Electronic system with gesture calibration mechanism and method of operation thereof
WO2017039094A1 (en) Mobile terminal and method for controlling the same
WO2016032045A1 (ko) 이동 단말기 및 이의 제어 방법
WO2016175424A1 (ko) 이동 단말기 및 그 제어 방법
WO2017051959A1 (ko) 단말 장치 및 단말 장치의 제어 방법
EP3180763A1 (en) Wearable device and method of transmitting content
WO2017090920A1 (en) Mobile terminal and method for controlling the same
WO2017018602A1 (ko) 이동단말기 및 그 제어방법
WO2016032113A1 (en) Mobile terminal and method for controlling the same
WO2020209624A1 (en) Head mounted display device and operating method thereof
WO2021206447A1 (ko) 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치

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: 21784624

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21784624

Country of ref document: EP

Kind code of ref document: A1