WO2022139408A1 - 멀티 뎁스 이미지를 이용하여 이미지를 레이블링하고 어노테이션하는 방법 및 장치 - Google Patents
멀티 뎁스 이미지를 이용하여 이미지를 레이블링하고 어노테이션하는 방법 및 장치 Download PDFInfo
- Publication number
- WO2022139408A1 WO2022139408A1 PCT/KR2021/019504 KR2021019504W WO2022139408A1 WO 2022139408 A1 WO2022139408 A1 WO 2022139408A1 KR 2021019504 W KR2021019504 W KR 2021019504W WO 2022139408 A1 WO2022139408 A1 WO 2022139408A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- images
- target
- target image
- label
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000002372 labelling Methods 0.000 title claims abstract description 35
- 230000008569 process Effects 0.000 description 36
- 239000003550 marker Substances 0.000 description 21
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 6
- 241001415849 Strigiformes Species 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Definitions
- the present invention relates to a method of utilizing a multi-depth image, and more particularly, to a method and apparatus for labeling and annotating images using a correlation between images included in a multi-depth image.
- an image file when an image file is opened using an electronic device, detailed information or an enlarged image of a specific part of the image file may be requested. For example, in the case of an image of a car, a more detailed image of a specific part, such as a headlight and a wheel, may be requested. In this case, the user has trouble finding new related images.
- 'insert image' a new format image that allows the insertion of another image (hereinafter, 'inserted image') that provides additional information to one basic image (hereinafter, 'main image').
- 'multi-depth image' a method for generating the same have been registered as Korean Patent No. 10-1501028 (registered on March 4, 2015).
- the document discloses a definition of a multi-depth image and a user interface for creating and editing a multi-depth image.
- An embodiment of the present invention provides a method and apparatus for labeling and annotating images using a correlation between images included in a multi-depth image.
- the first images constituting the multi-depth image are labeling the first images using the assigned tags, the first images including a target image and one or more other images located in the same path in the tree structure; collecting one or more images corresponding to the label of the target image from an image database; annotating one or more target objects in the target image to the target image based on the collected images; and annotating the upper node image by using the information on the annotated target object and the position where the target image is inserted in the upper node image of the target image.
- the method comprising: acquiring a multi-depth image in which one or more images are inserted in a tree structure in a main image; and labeling the first images using tags assigned to the first images constituting the multi-depth image.
- the first images include one or more other images and a target image located in the same path in the tree structure.
- the labeling includes further labeling the target image with a label of the other images according to the other images and a layer in the tree structure in which the target image is located.
- the correlation between images constituting the multi-depth image is labeled on the images, it is possible to provide an image search in a more extended range and to build a hierarchical image database. can do.
- image annotation is performed according to a correlation between images constituting a multi-depth image, more accurate image annotation can be implemented.
- 1 is an exemplary diagram for explaining a tree structure of a multi-depth image.
- FIG. 2 is an exemplary diagram for explaining an example of inserting an image in the first mode.
- FIG 3 is an exemplary diagram for explaining an example of inserting an image in the second mode.
- FIG. 4 is an exemplary diagram illustrating the configuration of an electronic device for implementing the present embodiment.
- 5 is a flowchart for describing an operation of an electronic device.
- FIG. 6 is an exemplary diagram for explaining generation of a multi-depth image according to a user manipulation.
- FIG. 7 is an exemplary diagram for explaining a transition between objects in a multi-depth image.
- FIG. 8 is another exemplary diagram for explaining a transition between objects in a multi-depth image.
- FIG. 9 is a flowchart illustrating an example of a method of labeling images in a multi-depth image.
- 10A to 10C are exemplary diagrams for explaining an example of a method of labeling images in a multi-depth image.
- 11 is a flowchart illustrating an example of a method of annotating images in a multi-depth image.
- 12A and 12B are flowcharts illustrating examples of a method of selecting related images from an image database according to a labeling method of images in a multi-depth image.
- 13A and 13B are exemplary diagrams for explaining an example of a method of annotating images in a multi-depth image.
- FIG. 14 is a flowchart illustrating an example of a method of annotating images in which a target object overlaps.
- 15A and 15B are exemplary diagrams for explaining an example of a method of annotating images in which a target object overlaps.
- 16 is an exemplary diagram for explaining another example of a method of annotating images in a multi-depth image.
- 17 is an exemplary diagram for explaining another example of a method of annotating images in a multi-depth image.
- Multi-depth image 210 Full car image
- headlight image 221 light bulb image
- the multi-depth image refers to an image in which a plurality of images are formed in a tree structure by hierarchically repeating a process of inserting another image into one image.
- the multi-depth image may include one main image and a plurality of sub images.
- a plurality of images of the multi-depth image may be layered in consideration of a specific subject or context, and then form a single tree structure by configuring nodes. In this case, the main image forms the root node of the tree structure, and the sub images form lower nodes.
- 1 exemplarily shows a tree structure of a multi-depth image having a car as a subject.
- the main image representing the overall exterior of the car corresponds to the root node (depth (depth) 0).
- An image of a headlight and wheels, which are components of a vehicle, is inserted into the main image as a sub image to constitute nodes of depth 1.
- Images related to the light bulb and reflector, which are constituent parts of the headlight, are inserted as sub-images in the headlight image to constitute nodes of depth 2.
- the tire which is a component of the wheel, and images related to the tire wheel are inserted as sub-images in the wheel image to constitute nodes of depth 2 .
- a headlight node and a wheel node are located under the car node, a bulb node and a reflector node are located under the headlight node, and a tire node and a tirewheel node are located under the wheel node.
- the plurality of sub-images are connected to each other in a tree structure, and the image of the child node is inserted into the image of the parent node.
- the multi-depth image is an image format in which an object of a child node is inserted into an object of a parent node illustrated in FIG. 1 in a tree structure. That is, a plurality of images connected in a tree structure form a single image file.
- the object to be inserted is generally an image, and the image may be two-dimensional or three-dimensional.
- various objects such as moving pictures, text, audio, links to other files, Internet address links, bookmarks, 360 images, 3D objects, etc. may be inserted into objects of parent nodes as objects of child nodes.
- the present embodiment will be described on the assumption that the object inserted into each node of the multi-depth image is an image. However, it should be noted that this is only for convenience of description and does not limit the present invention.
- multimedia content may be additionally mapped to each node.
- the multimedia content is digital content related to an image inserted into each node, and may include various types of objects such as text, video, and audio.
- text representing specification information such as a manufacturer, luminance, and lifespan may be mapped to a headlight node.
- Text representing specification information such as a material and a manufacturing method may be mapped to the tire wheel node.
- a video representing the appearance of a tire wheel while driving a vehicle may be additionally mapped to the tire wheel node.
- This embodiment includes two modes as a method of generating a multi-depth image.
- the first mode is a mode in which the child node image is inserted at a specific position in the parent node image.
- attribute information including a node attribute indicating a connection relationship between a parent node image and a child node image, and a coordinate attribute indicating a position at which the child node image is inserted within the parent node image is defined. Attribute information is stored together with the parent node image and the child node image.
- a multi-depth image 200 of a car includes a car image 210 , a headlight image 220 , a light bulb image 221 , a reflector image 222 , a wheel image 230 , and a tire wheel image. 231 and a tire image 232 .
- the user may insert the headlight image 220 (a detail image of the headlight) at a headlight position in the vehicle image 210 displayed on the display unit of the electronic device.
- the user selects the headlight image 220 by a method such as touch or click, and drags the selected headlight image 220 to a position to be inserted in the car image 210 to obtain the headlight image 220 . can be inserted at that location.
- a first marker (eg, ' ⁇ ' in FIG. 2 ) for indicating that another image is inserted at the position of the headlight is displayed on the car image 210 .
- the user may select the first marker ⁇ displayed on the car image 210 and view the headlight image 220 inserted therein through the display unit of the electronic device.
- the user may insert a detail image (bulb image, 221 ) of the light bulb at the position of the light bulb in the headlight image 220 while the headlight image 220 is displayed on the display unit.
- a first marker (' ⁇ ') for indicating that the image is inserted is displayed at a position where the light bulb image 221 is inserted in the headlight image 220 .
- the electronic device may generate a tree-structured multi-depth image by inserting a child node image at a specific position of the parent node image according to a user's manipulation. Also, when an input of clicking or touching a marker (' ⁇ ') displayed in the parent node image is received, the electronic device displays the child node image inserted at the position where the marker is displayed.
- the first mode described above is useful when defining an insertion relationship between two images in a subordinate relationship, such as a car and a headlight, or two images in a relationship between a higher concept and a lower concept.
- this dependency relationship may not be established between the two images.
- two images that are related in an equal relationship rather than a dependent relationship such as a photograph showing changes over time, a before/after comparison photograph, and an interior/external comparison photograph, it is natural to insert the other image at a specific position in one image. it's not like
- the headlight image 220 in FIG. 2 is a photo in a state in which the headlight is off
- the user may want to further associate the photo in a state in which the headlight is on with the photo in a state in which the headlight is turned off.
- the second mode which is another mode described by the present disclosure, is a mode in which a child node image is inserted into a parent node image without designating a specific position in the parent node image. That is, the child node image is inserted into the parent node image in an equal relationship with the parent node image.
- the second mode only the node property indicating the connection relationship between the parent node image and the child node image is defined, and the coordinate property indicating the position where the child node image is inserted in the parent node image is not defined. Node properties are stored along with parent node images and child node images.
- a second marker is displayed on the parent node image indicating that the object has been inserted in the second mode.
- the second marker may be displayed on the edge of the first object so as not to interfere with inserting the object in the first mode at a specific position in the parent node image.
- the second marker may be a marker 310 in which a page is folded at one corner of the parent node image.
- the method of constructing a multi-depth image using the first mode and the second mode described above may be implemented as a program and executed by an electronic device capable of reading the program.
- the electronic device may generate a tree-structured multi-depth image by executing a program and inserting an image in the first mode in some nodes and inserting the image in the second mode in other nodes.
- the electronic device may insert a plurality of images using the first mode and the second mode into an image corresponding to one node.
- a plurality of images hierarchically inserted in at least one of the first mode or the second mode are generated as one file together with attribute information defining a relationship between the images, and a multi-depth image having a tree structure is generated. .
- the attribute information defining between a parent node and a child node associated in the first mode includes a node attribute defining a parent node and a child node and a coordinate attribute indicating a specific location in the parent node image.
- the attribute information defining between the parent node and the child node related in the second mode includes only the node attribute without the coordinate attribute.
- the electronic device may include a memory 410 , an input unit 420 , a processor 430 , a display unit 440 , an image database 450 , and a communication unit 460 .
- the memory 410 stores a program for generating or viewing a multi-depth image in the first mode and the second mode. Also, the memory 410 stores one or more programs for image annotation and one or more programs for image labeling.
- the input unit 420 is a means for receiving a user's input, and may be a keypad, a mouse, or the like.
- the input unit 420 may be a touch screen integrated with the display unit 440 .
- the processor 430 receives a user input from the input unit 420 , reads execution codes of a program stored in the memory 410 , and executes a function of generating a multi-depth image or a function of viewing. Also, the processor 430 reads execution codes of a program stored in the memory 410 and executes an image annotation function on images constituting the multi-depth image. Furthermore, the processor 430 reads execution codes of the program stored in the memory 410 and executes an image labeling function for images constituting the multi-depth image.
- the display unit 440 displays the execution result by the processor 430 so that the user can check it.
- the display unit 440 may display a soft button for inputting a user input.
- the image database 450 stores the generated multi-depth image. Also, the image database 450 stores images to which an image labeling function is applied, and stores images to which an image annotation function is applied. Since the image labeling function and the image annotation function are implemented according to the correlation between images constituting the multi-depth image, the image database 450 to which the images to which the image labeling function is applied and the images to which the image annotation function is applied is stored has a hierarchical structure may be an image database of The image database 450 may be implemented in a configuration distinct from the memory 410 as shown in FIG. 4 , or may be implemented in the same configuration as the memory 410 .
- the communication unit 460 is a means for performing wired/wireless communication with the outside, and a multi-depth image may be acquired through the communication unit 460 .
- the processor 430 determines a first object corresponding to a parent node and a second object corresponding to a child node according to a user operation input through the input unit 420 (S502).
- the first object is a 2D or 3D image having coordinate information.
- the second object may be an image or multimedia data such as audio or video.
- the user may select the first object and the second object corresponding to the parent node and the child node using images stored in the memory 410 of the electronic device or pictures taken with a camera provided in the electronic device.
- the user may manipulate the input unit 420 to classify and stack objects in units of layers.
- the processor 430 may determine an object of an upper layer as a child node, and determine an object of a layer immediately below the upper layer as a parent node. The lowest layer is used as the main image corresponding to the root node.
- the processor 430 determines whether the user input is a first user input or a second user input (S506) ).
- the first user input includes a node property connecting the first object and the second object and a coordinate property indicating a location of the second object in the first object.
- the second user input includes a node attribute without a coordinate attribute (S506).
- the processor 430 executes the first mode (S508). That is, the second object is inserted at the position indicated by the coordinate attribute within the first object.
- the first user input is generated from a user manipulation that assigns a specific location within the first object. For example, when the user drags the second object and assigns it to a specific location within the first object displayed on the display unit 440 , the processor 430 inserts the second object at the specific location within the first object.
- the user can select a position to insert the second object (B) while moving the pointer-ized second object (B) on the first object (A).
- the processor 430 moves the first object A in a direction opposite to the movement direction of the second object B. Referring to FIG. 6C , in response to a user's manipulation of moving the second object B in the upper left direction, the processor 430 moves the first object A in the lower right direction. This enables the fast movement of the second object (B) on the first object (A). Also, by making it possible to position the second object B at the edge of the first object A, it is easy to insert the second object B into the edge portion of the first object A.
- the processor 430 inserts the second object B at the specific location.
- the processor 430 determines the node attribute defining the node connection relationship between the first object and the second object and the specific location within the first object.
- the indicated coordinate property is stored in the memory 410 together with the first object and the second object.
- a first marker (eg, ' ⁇ ' in FIG. 2 ) is displayed at a position where the second object is inserted within the first object so that the user can identify that another object has been inserted.
- the processor 430 displays the second object inserted at the position of the first marker on the display unit 440 .
- the processor 430 executes the second mode ( S510 ). That is, the second object is inserted into the first object without designating a location within the first object.
- the second user input is generated from a user operation that does not assign a location within the first object.
- the second user input may be generated from a user manipulation of allocating the second object to an area outside of the first object displayed on the display unit 440 . Referring to FIG. 6 , the user may drag the second object B to position the second object in an area outside the first object (FIG. 6(d)).
- the processor 430 When the second object is allocated to the area outside the first object, the processor 430 generates a second user input and assigns the second object to the first object without designating a specific location within the first object according to the second user input. Insert in 2nd mode.
- the second user input may be generated through a manipulation of pressing a button assigned to the second mode as a physical button provided in the electronic device.
- the second user input may be generated by a user manipulation of selecting a soft button or region displayed on the display unit 440 of the electronic device.
- the soft button or area may be displayed outside the first object or inside the first object.
- the node attribute included in the second user input is stored in the memory 410 together with the first object and the second object.
- a second marker (eg, 310 in FIG. 3 ) indicating that the second object has been inserted in the second mode may be displayed on one corner of the first object.
- the processor 430 displays the second object on the display unit 440 .
- a plurality of second objects to be inserted into the first object in the second mode may be selected. For example, after the user selects a plurality of second objects in the order of object A, object B, object C, and object D, a second user input for collectively inserting the selected second objects into the first object in the second mode Upon input, the processor 430 sequentially and hierarchically inserts the second objects in the second mode.
- 'inserting sequentially/hierarchically in the second mode' means that each object is inserted into the immediately preceding object in the second mode in the order of object 1, object A, object B, object C, and object D. .
- the first object A among the second objects is inserted into the first object in the second mode
- the second object B among the second objects is inserted into the first object A in the second mode
- the third object C It is inserted in the second mode in the second object B
- the fourth object D is inserted into object C in the second mode.
- the program stored in the memory 410 includes a user-intuitive function for showing the user the second object inserted into the first object in the second mode.
- the second mode is particularly useful when associating photos showing changes over time, before/after comparison photos, and internal/external comparison photos. Accordingly, the present embodiment provides a viewing function for comparing the first object and the second object with each other.
- any one of the first object and the second object related in the second mode is displayed on the display unit 440 .
- the processor 440 displays a transition between the first object and the second object according to the direction and movement length of the input gesture, but is displayed according to the movement length of the gesture. Accordingly, the transition between the first object and the second object is gradually performed. In other words, the degree of transition between the first object and the second object varies according to the movement length of the gesture.
- a gesture having directionality may be input in proportion to the time or number of times the soft button or physical button of the electronic device is pressed.
- the direction of the gesture may be determined according to the type of the direction key, and the movement length of the gesture may be determined according to the time the direction key is continuously pressed.
- the degree of conversion may be transparency.
- the processor 430 may gradually adjust the transparency of the first object and the second object according to the movement length of the gesture, overlap the first object and the second object, and display it on the display unit 440 . have.
- the gesture input is stopped (eg, touch release)
- an object having low transparency is selected from among the first and second objects overlapped and displayed on the display unit 440 and displayed on the display unit 440 .
- the first object and the second object may be displayed by overlapping each other with transparency when the gesture is stopped.
- the degree of conversion may be a ratio in which the second object to the first object is displayed on the screen of the display unit 440 .
- a partial area of the first object disappears from the screen by a proportion proportional to the movement length of the gesture.
- a partial area of the second object corresponding to the ratio is displayed in the area within the screen where the first object has disappeared.
- the first object is gradually pushed to the right according to the dragging length, and the second object is gradually displayed in the area of the screen where the first object is pushed.
- the left part of the first object is folded by a ratio proportional to the length of dragging the touch from left to right, and the left partial area of the second object corresponding to the ratio is the first Objects may appear in areas of the folded screen.
- an image group composed of a plurality of images may be inserted into the first object as the second object.
- An example of sequentially/hierarchically inserting a plurality of second objects into a first object in a second mode by selecting a plurality of second objects described above is a case in which each of the selected objects is recognized as a single object. That is, the example is to insert a plurality of objects into the first object in the second mode at once.
- an image group composed of a plurality of images is treated as one object. This corresponds to a group of images taken at regular time intervals, such as pictures or videos taken in burst mode.
- a case in which the user selects a plurality of images and sets them as a single object by grouping them into one image group also corresponds to the application of the present embodiment.
- the second object is an image group composed of a plurality of images
- the second object may be inserted into the first object in the first mode.
- the processor 430 is included in the second object
- One image (eg, the first image) among the plurality of images is inserted at a specific position of the first object. Then, the remaining images among the plurality of images are inserted into the single image (the first image) in the second mode.
- a first marker (eg, ' ⁇ ' in FIG. 2 ) is displayed at the specific location of the first object.
- the processor 430 displays the first image among the second objects inserted at the specific position of the first object on the display unit 440 . Since the remaining images among the plurality of images are inserted in the second mode in the first image displayed on the display unit 440, a second marker (eg, 310 in FIG. 2) is displayed on one corner of the first image. .
- the processor 430 reproduces the plurality of images. That is, the plurality of images are reproduced by sequentially displaying the remaining images among the plurality of images on the display unit 440 .
- the second object which is an image group consisting of a plurality of images, may be inserted into the first object in the second mode.
- the user inputs a second user input for inserting the second object into the first object in the second mode.
- the second user input may be input through a method in which the user allocates the second object to an area outside of the first object.
- the processor 430 inserts the second object into the first object without designating a specific location within the first object.
- a second marker is displayed on one corner of the first object.
- the processor 430 sequentially displays a plurality of images included in the second object on the display 440 .
- the user may reproduce the second object inserted into the first object in the first mode or the second mode through a gesture input having directionality.
- the processor 440 refers to the currently displayed image according to the direction of the gesture. Images are sequentially reproduced in the forward or reverse direction. The playback speed is determined by the speed of the gesture.
- the processor 440 displays, on the display unit 440 , an image displayed at the time when the gesture is stopped among a plurality of images.
- the user may insert another object in the first mode or the second mode into the image displayed when the gesture is stopped. That is, the second object reproduction method through the gesture input provides a function of selecting an arbitrary image among a plurality of images grouped into one image group and inserting another object into the selected image in the first mode or the second mode.
- FIGS. 10A to 10C are exemplary diagrams illustrating an example of an image labeling method.
- the processor 430 acquires a multi-depth image in which one or more images are inserted in a tree structure in the main image (S902).
- the multi-depth image may be acquired from the memory 410 or the image database 450 .
- the image labeling function is applied to the multi-depth image received from the outside, the multi-depth image received from the outside may be acquired through the communication unit 460 .
- One or more tags may be assigned to images (first images) constituting the multi-depth image.
- the tag may have a text form for describing each of the first images, and may be inserted into each of the first images in the first mode or the second mode. According to an embodiment, the tag may be mapped to each of the first images.
- the processor 430 labels the first images using tags assigned to each of the first images (S904).
- the multi-depth image 1000 includes an evening mountain image 1010 corresponding to the main image, a sky image 1020 corresponding to a sub-image inserted into the main image, a tree image 1030, and an owl. may include an image 1032 .
- the evening mountain image 1010 corresponds to depth 0 (layer 0)
- the sky image 1020 and tree image 1030 correspond to depth 1 (layer 1)
- the owl image 1032 corresponds to depth 2 (layer 2).
- ) corresponds to
- An “evening mountain” tag is assigned to the evening mountain image 1010 , and a “sky” tag is assigned to the sky image 1020 .
- a “tree” tag is attached to the tree image 1030
- an “owl” tag is attached to the owl image 1032 .
- the processor 430 may label the evening mountain image 1010 with a tag “evening mountain” (# evening mountain), and label the sky image 1020 with a “sky” tag (# sky). . Also, the processor 430 may label the tree image 1030 with a “tree” tag (# tree) and label the owl image 1032 with a “owl” tag (# owl).
- the processor 430 may further label the target image with labels of other images according to one or more other images and a layer in the tree structure in which the target image is located ( S905 ).
- the target image refers to any one image corresponding to a labeling target among the first images.
- Another image means one or more images located in the same path (stem) as the target image in the tree structure of the multi-depth image. Accordingly, another image and the target image may have a relationship between the parent image and the child image.
- the evening mountain image 1010 corresponding to the parent image becomes another image.
- the owl image 1032 is the target image
- the evening mountain image 1010 and the tree image 1030 corresponding to the parent image are different images.
- the processor 430 may further label the target image with a label of another image located in a higher layer than the target image.
- the owl image 1032 is the target image, “# tree”, which is the label of the tree image 1030 located in the upper layer, and the label of the evening mountain image 1010 located in the upper layer
- An “# evening mountain” may be further labeled in the owl image 1032 .
- the sky image 1020 is the target image, “# Evening Mountain”, which is a label of the evening mountain image 1010 located in the upper layer, may be further labeled on the sky image 1020 .
- each of the labels of another image that is further labeled in the target image may be sequentially labeled in the target image according to a layer positioned in the tree structure. For example, since the evening mountain image (1010) is in the topmost layer, the label “evening mountain” is labeled topmost (first) in the owl image 1032, and the label “tree” ranks next to the owl The image 1032 is labeled, and the label “owl” is placed in the lowest rank (last). As another example, since the evening mountain image 1010 is located in the uppermost layer, the “evening mountain” label is labeled as the highest in the sky image 1020, and the “sky” label is located in the lowest rank.
- the processor 430 may further label the target image with a label of another image located in a lower layer than the target image.
- each of the labels of another image that is further labeled on the target image may be sequentially labeled on the target image according to a layer positioned in the tree structure.
- the process of further labeling the target image with the label of another image located in a layer higher or lower than the target image may be "a process of inheriting the label or tag of another image to the target image".
- the inherited label may indicate a relationship between the first images. For example, if the “tree” label is inherited from the owl image 1032, the owl image 1032 can be interpreted as an image expressing “owl” as well as “an owl perched on a tree” can be In addition, when the “evening mountain” label is further inherited from the owl image 1032 , the meaning of the corresponding owl image 1032 may be expanded to “an owl perched on a tree existing in the evening mountain”.
- the processor 430 may store the labeled first images in the image database 450 (S906).
- the image database 450 may be a hierarchical image database in which a relationship between the first images is expressed using labels.
- the hierarchical image database may be utilized as a practical search database with a further extended range by using the relation between the first images. For example, when a user wants to search for “an owl perched on a tree,” a conventional database that does not consider the correlation between images cannot provide the search result desired by the user, but the hierarchical image database uses an owl image ( 1032 ), the tree image 1030 , and the evening mountain image 1010 may use labels labeled to provide a search result desired by the user.
- the hierarchical image database may be utilized to implement a more accurate image annotation function by using the relation between the first images.
- FIGS. 12A and 12B are flowcharts illustrating examples of a method of selecting related images from an image database for image annotation.
- 13A and 13B are exemplary diagrams for explaining an example of an image annotation method.
- the processor 430 labels the first images using tags assigned to each of the first images (S1102).
- the processor 430 may further label the target image with labels of other images according to one or more other images and a layer in the tree structure in which the target image is located ( S1202 ). That is, the processor 430 may further label the target image with a label of another image located on a lower layer than the target image, or further label the target image with a label of another image located on a higher layer than the target image.
- the processor 430 collects one or more images corresponding to the label of the target image from the image database 460 (S1104).
- the processor 430 may select a label of the target object from among the labels labeled on the target image ( S1204 ).
- the target object may mean an object to be searched among objects expressed in the target image.
- owls are expressed in the owl image 1032 , and the owls correspond to target objects.
- the “# owl” label from among the “# evening mountain” label, “# tree” label, and “# owl” label labeled in the owl image 1032 is selected as the label of the target object.
- trees are expressed in the tree image 1030 , and these trees correspond to target objects. In this case, a “# tree” label from among the “# tree” label and the “# owl” label labeled on the tree image 1030 is selected as the label of the target object.
- the processor 430 sets the lowest-labeled label (“ # label) is selected as the label of the target object (S1212).
- the label labeled with the highest level corresponds to a unique label of the target image (target object).
- the processor 430 selects the highest-labeled label (“# tree” label) among the labels (“# tree” label and “# owl” label) labeled in the target image (the tree image in FIG. 10C ). It is selected by the label of the object (S1210).
- the processor 430 may collect one or more images (collected images) corresponding to the selected label from the image database 460 ( S1208 ).
- the target image is the owl image 1032
- the “# owl” label is selected as the label of the target object
- images corresponding to the “# owl” label images in which owls are expressed
- Fig. 1310 of 13a may be collected from the image database 460 .
- the processor 430 annotates the target object expressed in the target image based on the collected images 1310 ( S1106 ).
- the process of annotating the target object on the target image may correspond to extracting the target object from the target image. That is, the process of annotating the target object on the target image may correspond to extracting the target object from the target image using an object recognition algorithm or an object extraction algorithm.
- the process of annotating the target object on the target image will be referred to as a “primary annotation process”.
- the target image is an owl image 1032 (FIG. 13A (b))
- images 1310 in which an owl is expressed are collected from the image database 460 (FIG. 13A (a)) )
- the target object owl 1320 may be annotated from the owl image 1032 .
- the processor 430 annotates the upper node image (S1108).
- the process of annotating the upper node image is to display or express the position in the upper node image of the target object 1320 extracted through the primary annotation in the upper node image.
- the process of annotating the upper node image will be referred to as a “secondary annotation process”.
- the information on the target object may be a primary annotated target object or a label of the primary annotated target object.
- the owl 1320 or “# owl” extracted from the owl image 1032 through the primary annotation process on the owl image 1032, which is the target image may correspond to information about the target object. have.
- the position where the target image is inserted into the upper node image corresponds to the coordinate property between the target image and the upper node image.
- a position (coordinate property) at which an owl image 1032, which is a target image, is inserted into a tree image 1030, which is an upper image corresponds to the coordinate property.
- the processor 430 annotates the owl 1320 as the target object at the position where the target image, the owl image 1032, in the tree image 1030, which is the upper node image, is inserted.
- the secondary annotation process can be performed.
- the primary annotation of the target image there are a plurality of primary annotated target objects, and some of the plurality of target objects may overlap with the object expressed in the upper image.
- a tree is annotated as an object through the primary annotation process
- the target image 1032 is a tree and an owl through the primary annotation process. It can be annotated with a target object.
- the processor 430 may secondary annotate only non-overlapping target objects (owls) among the target objects (trees and owls) of the target image on the tree image 1030, which is the upper image (see ( a)), all of the target objects (tree and owl) may be secondary annotated on the tree image 1030, which is the upper image ((b) of FIG. 15B).
- the processor 430 determines whether there are a plurality of primary annotated target objects in the target image (S1402).
- the processor 430 When there is one primary annotated target object in the target image, the processor 430 annotates the target object in the upper node image as described above ( S1408 ). Contrary to this, when there are a plurality of primary annotated target objects in the target image, the following processes may be performed.
- the processor 430 compares the plurality of target objects with the object primarily annotated in the upper node image, and selects overlapping or non-overlapping objects (target objects annotated only on the target image) (S1404). Also, the processor 430 may perform a secondary annotation process by annotating the target object annotated only on the target image to the upper node ( S1406 ).
- all of the plurality of target objects do not overlap with the object of the upper node image, all of the plurality of target objects may be secondarily annotated on the upper node image.
- the primary annotation process when one or more other objects as well as the target object are expressed in the target image, these other objects may act as noise in the process of recognizing the target object (the primary annotation process). For example, if a tree (another object) and an owl (target object) are represented in the target image, and the distance between the tree and the owl is very short or the shape of the tree covers a part of the shape of the owl, the tree will recognize the owl. It can act as noise in the process. In this case, the owl corresponding to the target object may not be accurately recognized in the first annotation process.
- the present invention provides a method of 1) determining in advance a position where the target object is likely to be located in a target image, and recognizing the target object based on the location, 2) the target We propose a method of removing or cleaning out other objects corresponding to noise using objects recognized (primarily annotated) in the lower node image or the upper node image of the image.
- the processor 430 determines whether the target object is annotated in the target image (whether the target object is correctly recognized). When the target object is correctly recognized, the secondary annotation process is immediately performed, but when the target object is not correctly recognized, the secondary annotation process is performed after the following processes are performed.
- the processor 430 may perform the primary annotation process again centering on a location (the location of the target object) where the target object is most likely to be located in the target image.
- the location of the target object may be preset.
- the location of the target object may be preset according to a location where the target object (higher-level object) of the upper node image is located in the upper node image.
- the location of the target object may be preset according to a location where the target object (sub-object) of the sub-node image is located in the sub-node image.
- i) and ii) are methods for estimating the location of a target object in consideration of the shooting habit of the user who has created the multi-depth image.
- the position of the target object may be set as the center position of the target image.
- method 2 An example of method 2) is shown in FIG. 16 .
- the processor 430 determines whether the target object is annotated on the target image (whether the target object is correctly recognized) (S1602). When the target object is correctly recognized, the secondary annotation process (S1608) is immediately performed, but when the target object is not correctly recognized, the secondary annotation process (S1608) is performed after the following processes are performed.
- the processor 430 may remove or delete one or more other objects in the target image (excluding the target object from among objects expressed in the target image) by using the upper object and/or the lower object ( S1604 ). Specifically, the processor 430 searches for an object corresponding to the shape or feature of the upper object or lower object from other objects expressed in the target image, and retrieves another object (corresponding to the shape or feature of the upper object or lower object). other objects) can be excluded from the target image. As such, by removing other objects corresponding to noise from the target image, accuracy of target object recognition may be improved.
- the processor 430 may primary annotate the target object again on the target image from which other objects have been removed ( S1606 ).
- a tag may not be assigned to the target image, or only tags that do not accurately represent the target object may be assigned even if the tag is assigned. That is, the target image may not be tagged with the target object.
- a label accurately representing the target object may not be labeled on the target image. That is, a label for the target object may not exist among one or more labels of the target image.
- the present invention proposes a method of performing additional labeling based on the primary annotation result in order to solve the problem that the label for the target object may not exist among the labels of the target image.
- the processor 430 determines whether a label for the target object is included in the label labeled in the target image ( S1702 ). If the label for the target object is included in the label of the target image, the secondary annotation process (S1706) is immediately performed. However, if the label for the target object is not included in the label of the target image, after the following process is performed A secondary annotation process (S1706) is performed.
- the processor 430 labels the target image with a label for the target object (S1704).
- the label for the target object may be 1) obtained based on labels or tags of images collected from the image database 450 , or 2) may be obtained based on labels of upper node images or lower node images.
- FIGS. 5, 9, 11, 12A, 12B, 14, 16 and 17 each process is described as being sequentially executed, which exemplarily explains the technical idea of an embodiment of the present invention it is only In other words, those of ordinary skill in the art to which an embodiment of the present invention pertain are shown in Figs. , It will be applicable by changing the order described in FIGS. 16 and 17 to change the order or to execute one or more of the respective processes in parallel with various modifications and variations. Accordingly, FIGS. 5, 9, 11, 12A, 12B, 14, 16, and 17 are not limited to a chronological order.
- the processes shown in FIGS. 5, 9, 11, 12A, 12B, 14, 16 and 17 can be implemented as computer-readable codes on a computer-readable recording medium.
- the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. That is, the computer-readable recording medium may be a non-transitory medium such as ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device, and also carrier wave (eg, It may further include transitory media such as transmission over the Internet) and data transmission medium.
- the computer-readable recording medium is distributed in network-connected computer systems, and computer-readable codes may be stored and executed in a distributed manner.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 이용한 이미지 어노테이션(annotation) 방법에 대한 것으로, 상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하는 단계 - 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함함 -; 상기 대상 이미지의 레이블에 대응되는 하나 이상의 이미지들을 이미지 데이터 베이스로부터 수집하는 단계; 상기 수집된 이미지들에 기반하여, 상기 대상 이미지 내 하나 이상의 대상 객체를 상기 대상 이미지에 어노테이션하는 단계; 및 상기 어노테이션된 대상 객체에 대한 정보 및 상기 대상 이미지의 상위 노드 이미지 내에서 상기 대상 이미지가 삽입된 위치를 이용하여, 상기 상위 노드 이미지를 어노테이션하는 단계를 포함한다.
Description
본 발명은 멀티 뎁스 이미지를 활용하는 방법에 관한 것으로서, 더욱 구체적으로는 멀티 뎁스 이미지에 포함된 이미지들 간의 연관 관계를 이용하여 이미지들을 레이블링하고 어노테이션하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
정보 통신 및 반도체 기술의 발전으로 사용자들은 인터넷을 통해 다양한 콘텐츠에 접근하거나 다양한 콘텐츠들을 자신의 전자 장치(예컨대, 스마트폰이나 PC)에 저장하고 사용할 수 있다.
다만, 콘텐츠의 양은 방대한 반면, 방대한 양의 콘텐츠들이 산발적으로 흩어져 있어 서로 관련성이 높은 콘텐츠를 일괄적으로 손쉽게 찾고 확인하기는 어렵다.
하나의 예시로서, 전자 장치를 이용하여 이미지 파일을 열었을 때 이미지 파일의 특정 부분에 대한 자세한 정보 또는 확대된 이미지가 요구될 수 있다. 예를 들어 자동차 이미지의 경우, 헤드라이트, 바퀴 등과 같은 특정 부분에 대한 보다 자세한 이미지가 요구될 수 있다. 이 경우, 사용자는 관련 이미지들을 새로이 찾아야 하는 번거로움이 있다.
이러한 문제를 해결하기 위하여, 본 출원인은 기본이 되는 하나의 이미지(이하, '메인 이미지')에 추가적인 정보를 제공하는 다른 이미지(이하, '삽입 이미지')의 삽입이 가능한 새로운 포맷의 이미지(이하, '멀티 뎁스 이미지') 및 그 생성 방법에 대한 발명을 한국 특허 제10-1501028호(2015.03.04 등록)로 등록 받은 바 있다.
동 문헌은 멀티 뎁스 이미지의 정의와, 멀티 뎁스 이미지의 생성 및 편집을 위한 사용자 인터페이스를 개시하고 있다. 본 발명은 동 발명의 후속 발명으로서, 멀티 뎁스 이미지에 포함된 이미지들 간의 연관 관계를 이용하여 계층형 이미지 데이터 베이스를 구축하기 위한 다양한 방법들을 제공하고자 한다.
본 발명의 일 실시예는, 멀티 뎁스 이미지에 포함된 이미지들 간의 연관 관계를 이용하여 이미지들을 레이블링하고 어노테이션하는 방법 및 장치를 제공하는 데에 일 목적이 있다.
본 발명의 일 실시예에 의하면, 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 이용한 이미지 어노테이션(annotation) 방법으로서, 상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하는 단계 - 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함함 -; 상기 대상 이미지의 레이블에 대응되는 하나 이상의 이미지들을 이미지 데이터 베이스로부터 수집하는 단계; 상기 수집된 이미지들에 기반하여, 상기 대상 이미지 내 하나 이상의 대상 객체를 상기 대상 이미지에 어노테이션하는 단계; 및 상기 어노테이션된 대상 객체에 대한 정보 및 상기 대상 이미지의 상위 노드 이미지 내에서 상기 대상 이미지가 삽입된 위치를 이용하여, 상기 상위 노드 이미지를 어노테이션하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명의 다른 일 실시예에 의하면, 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 획득하는 단계; 및 상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하는 단계를 포함하는 방법을 제공한다. 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함한다. 상기 레이블링하는 단계는, 상기 다른 이미지들 및 상기 대상 이미지가 위치하는 상기 트리 구조 내 레이어에 따라, 상기 다른 이미지들의 레이블을 상기 대상 이미지에 더 레이블링하는 것을 포함한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 멀티 뎁스 이미지를 구성하는 이미지들 간의 연관관계가 이미지들에 레이블링되므로, 더욱 확장된 범위의 이미지 검색을 제공할 수 있으며 계층형 이미지 데이터베이스를 구축할 수 있다.
또한, 본 발명의 다른 일 실시예에 의하면, 멀티 뎁스 이미지를 구성하는 이미지들 간의 연관관계에 따라 이미지 어노테이션이 수행되므로, 더욱 정확한 이미지 어노테이션이 구현될 수 있다.
도 1은 멀티 뎁스 이미지의 트리 구조를 설명하기 위한 예시도이다.
도 2는 제1모드로 이미지를 삽입하는 예를 설명하기 위한 예시도이다.
도 3은 제2모드로 이미지를 삽입하는 예를 설명하기 위한 예시도이다.
도 4는 본 실시예를 구현하기 위한 전자 장치의 구성을 나타내는 예시도이다.
도 5는 전자 장치의 동작을 설명하기 위한 순서도이다.
도 6은 사용자 조작에 따른 멀티 뎁스 이미지 생성을 설명하기 위한 예시도이다.
도 7은 멀티 뎁스 이미지에서의 개체 간 전환을 설명하기 위한 일 예시도이다.
도 8은 멀티 뎁스 이미지에서의 개체 간 전환을 설명하기 위한 또 다른 예시도이다.
도 9는 멀티 뎁스 이미지 내 이미지들을 레이블링하는 방법의 일 예를 설명하기 위한 순서도이다.
도 10a 내지 도 10c는 멀티 뎁스 이미지 내 이미지들을 레이블링하는 방법의 일 예를 설명하기 위한 예시도이다.
도 11은 멀티 뎁스 이미지 내 이미지들을 어노테이션하는 방법의 일 예를 설명하기 위한 순서도이다.
도 12a 및 도 12b는 멀티 뎁스 이미지 내 이미지들의 레이블링 방법에 따라 이미지 데이터 베이스로부터 관련된 이미지들을 선별하는 방법의 예들을 설명하기 위한 순서도이다.
도 13a 및 도 13b는 멀티 뎁스 이미지 내 이미지들을 어노테이션하는 방법의 일 예를 설명하기 위한 예시도이다.
도 14는 대상 객체가 중복되는 이미지들을 어노테이션하는 방법의 일 예를 설명하기 위한 순서도이다.
도 15a 및 도 15b는 대상 객체가 중복되는 이미지들을 어노테이션하는 방법의 일 예를 설명하기 위한 예시도이다.
도 16은 멀티 뎁스 이미지 내 이미지들을 어노테이션하는 방법의 다른 예를 설명하기 위한 예시도이다.
도 17은 멀티 뎁스 이미지 내 이미지들을 어노테이션하는 방법의 또 다른 예를 설명하기 위한 예시도이다.
[부호의 설명]
200, 1000: 멀티 뎁스 이미지 210: 자동차 전체 이미지
220: 헤드라이트 이미지 221: 전구 이미지
222: 반사경 이미지 230: 바퀴 이미지
231: 타이어휠 이미지 232: 타이어 이미지
310: 마커 1010: 저녁 산 이미지
1020: 하늘 이미지 1030: 나무 이미지
1032: 부엉이 이미지 1310: 수집된 이미지들
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
멀티 뎁스 이미지는 어느 하나의 이미지에 다른 이미지를 삽입하는 과정을 계층적으로 반복함으로써 복수의 이미지가 트리 구조로 형성된 이미지를 의미한다. 멀티 뎁스 이미지는 하나의 메인 이미지와 복수 개의 서브 이미지들로 구성될 수 있다. 멀티 뎁스 이미지의 복수 개의 이미지들은 세부 주제(specific subject)나 문맥(context) 등을 고려하여 계층화된 후 노드들을 구성함으로써 하나의 트리 구조를 형성할 수 있다. 이 때, 메인 이미지는 트리 구조의 루트 노드를 형성하고, 서브 이미지들은 하위 노드들을 형성한다.
도 1은 자동차를 주제로 하는 멀티 뎁스 이미지의 트리 구조를 예시적으로 나타낸다.
자동차의 전체 외관을 나타내는 메인 이미지는 루트 노드(깊이(심도, depth) 0)에 해당한다. 메인 이미지에 자동차의 구성 부품인 헤드라이트 및 바퀴에 관한 이미지가 서브 이미지로서 삽입되어 깊이 1의 노드들을 구성한다. 헤드라이트의 구성 부품인 전구 및 반사경에 관한 이미지들은 헤드라이트 이미지에 서브 이미지로서 삽입되어 깊이 2의 노드들을 구성한다. 또한, 바퀴의 구성 부품인 타이어 및 타이어 휠에 관한 이미지들은 바퀴 이미지에 서브 이미지로서 삽입되어 깊이 2의 노드들을 구성한다.
결과적으로, 자동차 노드 아래에 헤드라이트 노드 및 바퀴 노드가 위치하고, 헤드라이트 노드 아래에 전구 노드 및 반사경 노드가 위치하며, 바퀴 노드 아래에 타이어 노드 및 타이어휠 노드가 위치한다. 그리고, 이와 같은 방식으로, 본 실시예에서 복수의 서브 이미지들은 서로 트리 구조로 연결되어 부모 노드의 이미지에 자식 노드의 이미지가 삽입된다.
멀티 뎁스 이미지는 도 1에 예시된 부모 노드의 개체에 자식 노드의 개체가 트리 구조에서 삽입된 형태의 이미지 포맷이다. 즉, 트리 구조로 연결된 복수의 이미지들이 단일의 이미지 파일을 형성한다. 부모 노드의 개체에 자식 노드의 개체가 삽입될 때, 삽입되는 개체는 일반적으로 이미지이며, 그 이미지는 2차원 또는 3차원일 수 있다. 그러나, 이미지 외에도 동영상, 텍스트, 음성, 다른 파일에 대한 링크, 인터넷 주소 링크, 북마크, 360 영상, 3D 오브젝트 등 다양한 개체가 자식 노드의 개체로서 부모 노드의 개체에 삽입될 수 있다. 이하, 멀티 뎁스 이미지의 각 노드에 삽입되는 개체가 이미지인 것을 전제로 본 실시예를 설명하기로 한다. 다만, 이는 설명의 편의를 위한 것일 뿐, 본 발명을 한정하는 것은 아니라는 점에 유의하여야 한다.
한편, 멀티 뎁스 이미지의 트리 구조에서, 각 노드에는 멀티미디어 콘텐츠가 추가적으로 매핑될 수 있다. 여기서, 멀티미디어 콘텐츠는 각 노드에 삽입된 이미지와 관련된 디지털 콘텐츠로서, 텍스트, 비디오, 오디오 등 다양한 유형의 개체들을 포함할 수 있다. 예컨대, 도 1의 트리 구조에서, 헤드라이트 노드에는 제조사, 휘도, 수명 등의 스펙 정보를 나타내는 텍스트가 매핑될 수 있다. 타이어 휠 노드에는 재질, 제조방식 등의 스펙 정보를 나타내는 텍스트가 매핑될 수 있다. 또한, 타이어 휠 노드에는 자동차 주행 중 타이어 휠의 모습을 나타내는 동영상이 추가 매핑될 수 있다.
본 실시예는 멀티 뎁스 이미지를 생성하는 방법으로서 두 가지 모드를 포함한다.
제1모드는 부모 노드 이미지 내의 특정 위치에 자식 노드 이미지를 삽입하는 모드이다. 제1모드에서는, 부모 노드 이미지와 자식 노드 이미지 간의 연결 관계를 나타내는 노드 속성, 및 부모 노드 이미지 내에서 자식 노드 이미지가 삽입되는 위치를 나타내는 좌표 속성을 포함하는 속성 정보가 정의된다. 속성 정보는 부모 노드 이미지 및 자식 노드 이미지와 함께 저장된다.
도 2는 제1모드로 이미지를 삽입하는 일 예를 나타내는 예시도이다. 도 2를 참조하면, 자동차에 대한 멀티 뎁스 이미지(200)는 자동차 이미지(210), 헤드라이트 이미지(220), 전구 이미지(221), 반사경 이미지(222), 바퀴 이미지(230), 타이어휠 이미지(231) 및 타이어 이미지(232)를 포함할 수 있다.
사용자는 전자 장치의 디스플레이부에 표시된 자동차 이미지(210) 내의 헤드라이트 위치에 헤드라이트 이미지(220, 헤드라이트의 디테일 이미지)를 삽입할 수 있다. 예를 들어, 사용자는 터치 또는 클릭 등의 방식으로 헤드라이트 이미지(220)를 선택하고, 선택한 헤드라이트 이미지(220)를 자동차 이미지(210) 내의 삽입하고자 하는 위치에 드래그하여 헤드라이트 이미지(220)를 해당 위치에 삽입할 수 있다.
헤드라이트 이미지(220)가 삽입되면, 자동차 이미지(210)에는 헤드라이트 위치에 다른 이미지가 삽입되어 있음을 나타내기 위한 제1마커(예컨대, 도 2에서 '⊙')가 표시된다. 사용자는 자동차 이미지(210)에 표시된 제1마커(⊙)를 선택하여 그 위치에 삽입된 헤드라이트 이미지(220)를 전자 장치의 디스플레이부를 통해 볼 수 있다.
한편, 사용자는 헤드라이트 이미지(220)가 디스플레이부에 표시된 상태에서 헤드라이트 이미지(220)의 전구 위치에 전구에 대한 디테일 이미지(전구 이미지, 221)을 삽입할 수 있다. 헤드라이트 이미지(220) 내에서 전구 이미지(221)가 삽입된 위치에는 이미지가 삽입되어 있음을 나타내기 위한 제1마커('⊙')가 표시된다.
이러한 방식으로, 전자 장치는 사용자의 조작에 따라 부모 노드 이미지의 특정 위치에 자식 노드 이미지를 삽입하여 트리 구조 형태의 멀티 뎁스 이미지를 생성할 수 있다. 또한, 전자 장치는 부모 노드 이미지 내에 표시된 마커('⊙')를 클릭 또는 터치하는 입력이 수신되면 마커가 표시된 위치에 삽입된 자식 노드 이미지를 표시한다.
이상에서 설명한 제1모드는 자동차와 헤드라이트와 같이 종속 관계에 있는 두 이미지 또는 상위 개념과 하위 개념의 관계에 있는 두 이미지 간의 삽입 관계를 정의할 때 유용하다. 그러나, 두 이미지 간에 이러한 종속 관계가 성립하지 않을 수도 있다. 예컨대, 시간에 따른 변화를 나타내는 사진, before/after 비교 사진, 내부/외부 비교 사진 등과 같이, 종속 관계보다 대등한 관계로 연관된 두 개의 이미지는 어느 한 이미지의 특정 위치에 다른 이미지를 삽입하는 것이 자연스럽지 않다.
예를 들어, 도 2에서 헤드라이트 이미지(220)가 헤드라이트가 꺼진 상태의 사진이라면, 사용자는 헤드라이트가 켜진 상태의 사진을 헤드라이트가 꺼진 상태의 사진과 추가로 더 연관시키고자 할 수 있다. 헤드라이트가 켜진 상태의 사진을 꺼진 상태의 이미지 내의 특정 위치에 삽입하는 것은 부자연스럽다.
본 개시가 기술하는 또 다른 모드인 제2모드는 부모 노드 이미지 내의 특정 위치를 지정함이 없이 자식 노드 이미지를 부모 노드 이미지에 삽입하는 모드이다. 즉, 자식 노드 이미지는 부모 노드 이미지와 대등한 관계로 부모 노드 이미지에 삽입된다. 제2모드에서는 부모 노드 이미지와 자식 노드 이미지 간의 연결 관계를 나타내는 노드 속성만이 정의되며, 부모 노드 이미지 내에서 자식 노드 이미지가 삽입되는 위치를 나타내는 좌표 속성은 정의되지 않는다. 노드 속성은 부모 노드 이미지 및 자식 노드 이미지와 함께 저장된다.
부모 노드 이미지에는 개체가 제2모드로 삽입되었음을 나타내는 제2마커가 표시된다. 제2마커는, 부모 노드 이미지 내의 특정 위치에 제1모드로 개체를 삽입하는 데에 방해되지 않도록, 제1개체의 가장자리 부분에 표시될 수 있다. 예컨대, 도 3에서 보는 바와 같이, 제2마커는 부모 노드 이미지의 일측 모서리에 페이지가 접힌 형태의 마커(310)일 수 있다.
이상에서 설명한 제1모드와 제2모드를 사용하여 멀티 뎁스 이미지를 구성하는 방법은 프로그램으로 구현되고 그 프로그램을 판독할 수 있는 전자 장치에 의해 실행될 수 있다.
전자 장치는 프로그램을 실행시켜 일부 노드에서는 제1모드로 이미지를 삽입하고 다른 노드에서는 제2모드로 이미지를 삽입함으로써 트리 구조의 멀티 뎁스 이미지를 생성할 수 있다. 또는, 전자 장치는 하나의 노드에 해당하는 이미지에 제1모드와 제2모드를 이용하여 복수 개의 이미지를 삽입할 수도 있다.
제1모드 또는 제2모드 중 적어도 하나 이상의 모드로 계층적으로 삽입된 복수의 이미지들은 이미지들 간의 관계를 정의하는 속성 정보와 함께 하나의 파일로 생성되어, 트리 구조로 이루어진 멀티 뎁스 이미지가 생성된다.
제1모드로 연관된 부모 노드와 자식 노드 간을 정의하는 속성 정보는 부모 노드와 자식 노드를 정의하는 노드 속성과 부모 노드 이미지 내의 특정 위치를 지시하는 좌표 속성을 포함한다. 반면, 제2모드로 연관된 부모 노드와 자식 노드 간을 정의하는 속성 정보는 좌표 속성 없이 노드 속성만을 포함한다.
도 4는 본 개시의 기술을 구현하기 위한 전자 장치의 예시도이다. 전자 장치는 메모리(410), 입력부(420), 프로세서(430), 디스플레이부(440), 이미지 데이터베이스(450) 및 통신부(460)를 포함할 수 있다.
메모리(410)는 제1모드 및 제2모드로 멀티 뎁스 이미지를 생성하거나 뷰잉(viewing)하기 위한 프로그램을 저장한다. 또한, 메모리(410)는 이미지 어노테이션(annotation)을 위한 하나 이상의 프로그램과 이미지 레이블링(labeling)을 위한 하나 이상의 프로그램을 저장한다.
입력부(420)는 사용자의 입력을 수신하기 위한 수단으로서, 키패드, 마우스 등일 수 있다. 입력부(420)는 디스플레이부(440)와 일체로 구현되는 터치 스크린일 수도 있다.
프로세서(430)는 입력부(420)로부터 입력되는 사용자 입력을 수신하고 메모리(410)에 저장된 프로그램의 실행 코드들을 판독하여 멀티 뎁스 이미지를 생성하는 기능 또는 뷰잉하는 기능을 실행한다. 또한, 프로세서(430)는 메모리(410)에 저장된 프로그램의 실행 코드들을 판독하여 멀티 뎁스 이미지를 구성하는 이미지들에 대한 이미지 어노테이션 기능을 실행한다. 나아가, 프로세서(430)는 메모리(410)에 저장된 프로그램의 실행 코드들을 판독하여 멀티 뎁스 이미지를 구성하는 이미지들에 대한 이미지 레이블링 기능을 실행한다.
디스플레이부(440)는 프로세서(430)에 의한 실행 결과를 사용자가 확인할 수 있도록 표시한다. 또는, 입력부(430)가 터치 스크린으로 구현되는 경우, 디스플레이부(440)는 사용자 입력을 입력하기 위한 소프트 버튼을 표시할 수 있다.
이미지 데이터베이스(450)는 생성된 멀티 뎁스 이미지를 저장한다. 또한, 이미지 데이터베이스(450)는 이미지 레이블링 기능이 적용된 이미지들을 저장하고, 이미지 어노테이션 기능이 적용된 이미지들을 저장한다. 이미지 레이블링 기능과 이미지 어노테이션 기능은 멀티 뎁스 이미지를 구성하는 이미지들 간의 연관 관계에 따라 구현되므로, 이미지 레이블링 기능이 적용된 이미지들 및 이미지 어노테이션 기능이 적용된 이미지들이 저장되는 이미지 데이터베이스(450)는 계층형 구조의 이미지 데이터베이스일 수 있다. 이미지 데이터베이스(450)는 도 4에 표현된 바와 같이 메모리(410)와 구분되는 구성으로 구현되거나, 메모리(410)와 같은 구성으로 구현될 수도 있다.
통신부(460)는 외부와의 유무선 통신을 수행하기 위한 수단으로서, 통신부(460)를 통해 멀티 뎁스 이미지가 획득될 수 있다.
상기의 프로그램이 실행될 때의 프로세서의 동작을 도 5를 참조하여 설명한다.
프로세서(430)는 입력부(420)를 통해 입력된 사용자 조작에 따라 부모 노드에 해당하는 제1개체와 자식 노드에 해당하는 제2개체를 결정한다(S502). 여기서, 제1개체는 좌표 정보를 가지는 2차원 또는 3차원 이미지이다. 제2개체는 이미지일 수도 있고, 또는 오디오 또는 비디오 등의 멀티미디어 데이터일 수도 있다.
사용자는 전자 장치의 메모리(410)에 저장된 이미지들 또는 전자 장치에 구비된 카메라로 촬영한 사진들을 이용하여 부모 노드와 자식 노드에 해당하는 제1개체 및 제2개체를 선택할 수 있다. 하나의 예시로서, 사용자는 입력부(420)를 조작하여 개체들을 층(layer) 단위로 구분하여 쌓을 수 있다. 프로세서(430)는 상위 층의 개체를 자식 노드로 결정하고, 그 상위 층 바로 아래의 층의 개체를 부모 노드로 결정할 수 있다. 가장 아래에 놓인 층은 루트 노드에 해당하는 메인 이미지로 사용된다.
프로세서(430)는 제1개체 내에 제2개체를 삽입하기 위한 사용자 명령(사용자 입력)이 수신되면(S504), 사용자 입력이 제1 사용자 입력인지, 아니면 제2 사용자 입력인지 여부를 판단한다(S506). 제1 사용자 입력은 제1개체와 제2개체를 연결하는 노드 속성 및 제2개체의 제1개체 내 위치를 나타내는 좌표 속성을 포함한다. 제2 사용자 입력은 좌표 속성 없이 노드 속성을 포함한다(S506).
수신한 입력이 제1 사용자 입력이면, 프로세서(430)는 제1모드를 실행한다(S508). 즉, 제1개체 내에서 좌표 속성에 의해 지시되는 위치에 제2개체를 삽입한다. 제1 사용자 입력은 제1개체 내에 특정 위치를 할당하는 사용자 조작으로부터 생성된다. 예컨대, 사용자가 제2개체를 드래그하여 디스플레이부(440)에 표시된 제1개체 내의 특정 위치에 할당하면 프로세서(430)는 제1개체 내의 특정 위치에 제2개체를 삽입한다.
도 6을 참조하여 보다 구체적으로 설명한다. 사용자에 의해 제1개체(A)와 제2개체(B)가 선택된 후, 제2개체(B)가 화면에 표시된 상태에서 사용자가 제2개체(B)를 일정 시간 이상 누르면(도 6의 (a)), 제2개체(B)가 포인터화되고 화면에는 제1개체(A)가 표시된다(도 6의 (b)).
사용자는 포인터화된 제2개체(B)를 제1개체(A) 상에서 이동시키면서 제2개체(B)를 삽입할 위치를 선택할 수 있다. 제2개체(B)를 이동시키는 사용자 조작에 따라, 프로세서(430)는 제2개체(B)의 이동 방향의 역방향으로 제1개체(A)를 이동시킨다. 도 6의 (c)를 참조하면, 사용자가 제2개체(B)를 좌상단 방향으로 이동시키는 조작에 반응하여 프로세서(430)는 제1개체(A)를 우하단 방향으로 이동시킨다. 이는 제1개체(A) 상에서 제2개체(B)의 빠른 이동을 가능하게 한다. 또한, 제1개체(A)의 가장자리 부분에 제2개체(B)을 위치시키는 것이 가능하게 함으로써, 제2개체(B)를 제1개체(A)의 가장자리 부분에 삽입하는 것을 용이하게 한다.
사용자가 제2개체(B)를 제1개체(A) 내의 특정 위치에 할당하면 프로세서(430)는 그 특정 위치에 제2 개체(B)를 삽입한다. 제1모드에 의해 제2개체가 제1개체의 특정 위치에 삽입되면, 프로세서(430)는 제1개체와 제2개체 간의 노드 연결 관계를 정의하는 노드 속성 및 제1개체 내에서 그 특정 위치를 지시하는 좌표 속성을 제1개체 및 제2개체와 함께 메모리(410)에 저장한다. 다른 개체가 삽입되었다는 것을 사용자가 식별할 수 있도록, 제1개체 내에서 제2개체가 삽입된 위치에는 제1마커(예컨대, 도 2의 '⊙')가 표시된다. 사용자가 디스플레이부(440)에 표시된 제1개체 상의 제1마커를 선택하면, 프로세서(430)는 제1마커의 위치에 삽입된 제2개체를 디스플레이부(440)에 표시한다.
한편, 수신한 입력이 제2 사용자 입력이면, 프로세서(430)는 제2모드를 실행한다(S510). 즉, 제1개체 내의 위치를 지정함 없이 제2개체를 제1개체에 삽입한다. 제2 사용자 입력은 제1개체 내에 위치를 할당하지 않는 사용자 조작으로부터 생성된다. 예컨대, 제2사용자 입력은 디스플레이부(440)에 표시된 제1개체의 외부 영역에 제2개체를 할당하는 사용자 조작으로부터 생성될 수 있다. 도 6을 참조하면, 사용자는 제2개체(B)를 드래그하여 제1개체의 외부 영역에 제2개체를 위치시킬 수 있다(도 6의 (d)). 제1개체의 외부 영역에 제2개체가 할당되면, 프로세서(430)는 제2 사용자 입력을 생성하고 제2 사용자 입력에 따라 제1개체 내의 특정 위치를 지정함 없이 제2개체를 제1개체에 제2모드로 삽입한다.
대안적으로, 제2 사용자 입력은 전자 장치에 구비된 물리적 버튼으로서 제2모드에 할당된 버튼을 누르는 조작을 통해 생성될 수도 있다. 또는, 제2 사용자 입력은 전자 장치의 디스플레이부(440)에 표시되는 소프트 버튼(soft button) 또는 영역을 선택하는 사용자 조작에 의해 생성될 수도 있다. 그 소프트 버튼 또는 영역은 제1개체의 외부에 표시될 수도 있고 제1개체의 내부에 표시될 수도 있다. 소프트 버튼 또는 영역이 제1개체의 내부에 표시되도록 구현되는 경우, 소프트 버튼 또는 영역을 선택하는 사용자 조작은 제1개체의 좌표 속성을 할당하지 않아야 한다.
제2 사용자 입력에 포함된 노드 속성은 제1개체 및 제2개체와 함께 메모리(410)에 저장된다. 제1개체의 일측 모서리에는 제2개체가 제2모드로 삽입되었음을 나타내는 제2마커(예컨대, 도 3의 310)가 표시될 수 있다. 사용자가 디스플레이부(440)에 표시된 제1개체 상의 제2마커를 선택하면, 프로세서(430)는 제2개체를 디스플레이부(440)에 표시한다.
제1개체에 제2모드로 삽입할 제2개체는 복수 개 선택될 수도 있다. 예컨대, 사용자가 A 개체, B 개체, C 개체, D 개체 순서로 복수 개의 제2개체를 선택한 이후에 선택한 제2개체들을 일괄적으로 제1개체에 제2모드로 삽입하기 위한 제2 사용자 입력을 입력하면, 프로세서(430)는 제2모드로 제2개체들을 순차적이고 계층적으로 삽입한다. 여기서, '제2모드로 순차적/계층적으로 삽입한다' 함은 제1개체, A 개체, B 개체, C 개체, D 개체의 순서로 각 개체가 바로 직전 개체에 제2모드로 삽입됨을 의미한다. 즉, 제2개체들 중 첫 번째 A 개체는 제1개체에 제2모드로 삽입되고, 제2개체들 중 두 번째 B 개체는 첫 번째 A 개체에 제2모드로 삽입되며, 세 번째 C 개체는 두 번째 B 개체에 제2모드로 삽입된다. 그리고 네 번째 D 개체는 C 개체에 제2 모드로 삽입된다.
한편, 메모리(410)에 저장된 프로그램은 제1개체 내에 제2모드로 삽입된 제2개체를 사용자에게 보여주기 위한 사용자 직관적인 기능을 포함한다. 전술한 바와 같이, 제2모드는 시간에 따른 변화를 나타내는 사진, before/after 비교 사진, 내부/외부 비교 사진들 간을 연관시키는 경우에 특히 유용한다. 이에 본 실시예는 제1개체와 제2개체 간을 서로 비교하면서 볼 수 있는 뷰잉 기능을 제공한다.
제2모드로 연관된 제1개체와 제2개체 중 어느 하나가 디스플레이부(440)에 표시되어 있다. 이 상태에서 사용자가 방향성을 가지는 제스처를 입력하면, 프로세서(440)는 입력된 제스처의 방향 및 이동 길이에 따라 제1개체와 제2개체 간을 전환(transition)시켜 표시하되, 제스처의 이동 길이에 따라 제1개체와 제2개체 간의 전환을 점진적으로 수행한다. 다시 말해, 제1개체와 제2개체 간의 전환의 정도가 제스처의 이동 길이에 따라 다르다.
방향성을 가지는 제스처를 입력하는 방법은 다양할 수 있다. 제1개체가 표시된 상태에서 좌에서 우로 터치를 이동시키는 제스처를 입력 받으면 디스플레이부(440)에 표시된 제1개체가 점진적으로 제2개체로 전환된다. 그리고, 제2개체가 표시된 상태에서 우에서 좌로 터치를 이동하는 제스처를 입력 받으면 디스플레이부(440)에 표시된 제2개체가 점진적으로 제1개체로 전환된다. 대안적으로, 전자 장치의 소프트 버튼 또는 물리적 버튼이 눌리는 시간 또는 횟수에 비례하여 방향성을 가지는 제스처가 입력될 수도 있다. 예컨대, 방향키의 종류에 따라 제스처의 방향이 결정되고 방향키를 지속적으로 누르는 시간에 따라 제스처의 이동 길이가 결정될 수 있다. 제1개체가 표시된 상태에서 사용자가 “-->” 방향키를 누르는 경우 “-->” 방향키를 지속적으로 누르는 시간에 비례하여 디스플레이부(440)에 표시된 제1개체가 점진적으로 제2개체로 전환될 수 있다.
전환의 정도는 투명도일 수 있다. 도 7을 참조하면, 프로세서(430)는 제스처의 이동 길이에 따라 제1개체와 제2개체의 투명도를 점진적으로 조절하고 제1개체와 제2개체를 중첩하여 디스플레이부(440)에 표시할 수 있다. 제스처 입력이 중단되면(예컨대, 터치 해제), 디스플레이부(440)에 중첩되어 표시된 제1개체와 제2개체 중에서 투명도가 낮은 개체를 선택하여 디스플레이부(440)에 표시한다. 대안적으로, 제스처가 중단된 시점에서 투명도로 제1개체와 제2개체를 서로 중첩해서 표시할 수도 있다.
또 다른 예시로서, 전환의 정도는 제1개체 대비 제2개체가 디스플레이부(440)의 화면에 표시되는 비율일 수 있다. 제1개체가 표시된 상태에서 제스처가 입력되면, 제스처의 이동 길이에 비례하는 비율만큼 제1개체의 일부 영역이 화면에서 사라진다. 그리고 그 비율에 해당하는 제2개체의 일부 영역이 제1개체가 사라진 화면 내의 영역에 표시된다. 예컨대, 도 8의 (a)를 참조하면, 터치를 좌에서 우로 드래그하면 드래그하는 길이에 따라 제1개체가 우측으로 점진적으로 밀리고, 제1개체가 밀린 화면의 영역에 제2개체가 점진적으로 나타난다. 또는, 도 8의 (b)에서 보는 바와 같이, 터치를 좌에서 우로 드래그하는 길이에 비례하는 비율만큼 제1개체의 왼쪽 부분이 접히고 그 비율에 해당하는 제2개체의 왼쪽 일부 영역이 제1개체가 접힌 화면의 영역에 나타날 수도 있다.
본 실시예의 응용으로서 복수의 이미지로 구성된 이미지 그룹을 제2개체로서 제1개체에 삽입할 수도 있다. 앞에서 설명한 제2개체를 복수 개로 선택하여 복수 개의 제2개체를 제2모드로 제1개체에 순차적/계층적으로 삽입하는 예시는 선택된 개체 각각이 하나의 개체로서 인식되는 경우이다. 즉, 그 예시는 복수의 개체를 한번에 제2모드로 제1개체에 삽입하는 것이다. 반면, 여기서 설명하는 본 실시예의 응용은 복수의 이미지로 구성된 이미지 그룹이 하나의 개체로서 취급된다. 연사 모드로 촬영된 사진들이나 동영상과 같이 일정 시간 간격으로 촬영된 이미지들의 그룹이 이에 해당한다. 또는, 사용자가 복수의 이미지들을 선택한 이후에 이를 하나의 이미지 그룹으로 묶어 단일의 개체로 설정한 경우도 본 실시예의 응용에 해당한다.
제2개체가 복수의 이미지로 구성된 이미지 그룹인 경우, 하나의 예시로서, 제2개체는 제1개체에 제1모드로 삽입될 수 있다. 사용자가 제2개체를 선택하고 선택한 제2개체를 디스플레이부(440)에 표시된 제1개체 내의 특정 위치에 할당하는 방식 등으로 제1 사용자 입력을 입력하면, 프로세서(430)는 제2개체에 포함된 복수의 이미지 중 하나의 이미지(예: 첫 번째 이미지)를 제1개체의 특정 위치에 삽입한다. 그리고 복수의 이미지들 중 나머지 이미지들을 제2모드로 그 하나의 이미지(첫 번째 이미지)에 삽입한다.
제1개체의 특정 위치에 제2개체가 삽입되었으므로 제1개체의 특정 위치에는 제1마커(예컨대, 도 2의 '⊙')가 표시된다. 사용자가 제1마커를 선택하면, 프로세서(430)는 제1개체의 그 특정 위치에 삽입된 제2개체 중 첫 번째 이미지를 디스플레이부(440)에 표시한다. 디스플레이부(440)에 표시된 첫 번째 이미지에는 그 복수의 이미지 중 나머지 이미지들이 제2모드로 삽입되어 있으므로, 그 첫 번째 이미지의 일측 모서리에는 제2마커(예컨대, 도 2의 310)가 표시되어 있다. 사용자가 제2마커를 선택하면, 프로세서(430)는 그 복수의 이미지들을 재생한다. 즉, 그 복수의 이미지들 중 나머지 이미지들을 순차적으로 디스플레이부(440)에 표시함으로써, 복수의 이미지들을 재생한다.
다른 예시로서, 복수의 이미지로 구성된 이미지 그룹인 제2개체는 제2모드로 제1개체에 삽입될 수 있다. 사용자는 제2개체를 제2모드로 제1개체에 삽입하기 위한 제2 사용자 입력을 입력한다. 예컨대, 제2 사용자 입력은, 전술한 바와 같이, 사용자가 제2개체를 제1개체의 외부 영역에 할당하는 방식 등을 통해 입력될 수 있다. 프로세서(430)는 제1개체 내의 특정 위치를 지정함 없이 제2개체를 제1 개체에 삽입한다.
제1개체에 제2개체가 제2모드로 삽입되었으므로, 제1개체의 일측 모서리에는 제2마커가 표시된다. 사용자가 제2마커를 선택하면, 프로세서(430)는 제2개체에 포함된 복수의 이미지들을 순차적으로 디스플레이부(440)에 표시한다.
한편, 사용자는 방향성을 가지는 제스처 입력을 통해 제1개체에 제1모드 또는 제2모드로 삽입된 제2개체를 재생할 수 있다. 제2개체에 포함된 복수의 이미지들 중 어느 하나가 디스플레이부(440)에 표시된 상태에서, 사용자로부터 방향성을 가지는 제스처를 수신하면, 프로세서(440)는 그 제스처의 방향에 따라 현재 표시된 이미지를 기준으로 순방향 또는 역방향으로 순차적으로 이미지들을 재생한다. 재생되는 속도는 제스처의 속도에 의해 결정된다. 제스처가 중단되면, 프로세서(440)는 복수의 이미지들 중 제스처 중단 시점에 표시된 이미지를 디스플레이부(440)에 표시한다. 사용자는 제스처 중단 시점에 표시된 이미지에 다른 개체를 제1모드 또는 제2모드로 삽입할 수 있다. 즉, 제스처 입력을 통한 제2개체 재생 방식은 하나의 이미지 그룹으로 묶인 복수의 이미지 중 임의의 이미지를 선택하여 그 선택한 이미지에 다른 개체를 제1모드 또는 제2모드로 삽입하는 기능을 제공한다.
이하에서는 이미지 레이블링 방법에 대해 설명한다. 도 9는 이미지 레이블링 방법의 일 예를 설명하기 위한 순서도이며, 도 10a 내지 도 10c는 이미지 레이블링 방법의 일 예를 설명하기 위한 예시도이다.
프로세서(430)는 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스 이미지를 획득한다(S902).
메모리(410) 또는 이미지 데이터베이스(450)에 미리 저장된 멀티 뎁스 이미지에 대해 이미지 레이블링 기능을 적용하는 경우에는 멀티 뎁스 이미지가 메모리(410) 또는 이미지 데이터베이스(450)로부터 획득될 수 있다. 외부로부터 수신되는 멀티 뎁스 이미지에 대해 이미지 레이블링 기능을 적용하는 경우에는 외부로부터 수신되는 멀티 뎁스 이미지가 통신부(460)를 통해 획득될 수 있다.
멀티 뎁스 이미지를 구성하는 이미지들(제1이미지들)에는 하나 이상의 태그들이 부여될 수 있다. 태그는 제1이미지들 각각을 설명하기 위한 텍스트 형태를 가질 수 있으며, 제1이미지들 각각에 제1모드 또는 제2모드로 삽입될 수 있다. 실시형태에 따라, 태그는 제1이미지들 각각에 매핑될 수도 있다.
프로세서(430)는 제1이미지들 각각에 부여된 태그들을 이용하여 제1이미지들을 레이블링한다(S904).
도 10a의 예를 참조하면, 멀티 뎁스 이미지(1000)는 메인 이미지에 해당하는 저녁 산 이미지(1010), 메인 이미지에 삽입된 서브 이미지에 해당하는 하늘 이미지(1020), 나무 이미지(1030) 및 부엉이 이미지(1032)를 포함할 수 있다. 저녁 산 이미지(1010)는 깊이 0(레이어 0)에 해당하고, 하늘 이미지(1020)와 나무 이미지(1030)는 깊이 1(레이어 1)에 해당하며, 부엉이 이미지(1032)는 깊이 2(레이어 2)에 해당한다.
저녁 산 이미지(1010)에는 “저녁 산” 태그가 부여되어 있으며, 하늘 이미지(1020)에는 “하늘” 태그가 부여되어 있다. 또한, 나무 이미지(1030)에는 “나무” 태그가 부여되어 있으며, 부엉이 이미지(1032)에는 “부엉이” 태그가 부여되어 있다.
이와 같은 예에서, 프로세서(430)는 저녁 산 이미지(1010)에 “저녁 산” 태그를 레이블링하고(# 저녁 산), 하늘 이미지(1020)에 “하늘” 태그를 레이블링(# 하늘)할 수 있다. 또한, 프로세서(430)는 나무 이미지(1030)에 “나무” 태그를 레이블링(# 나무)하고, 부엉이 이미지(1032)에 “부엉이” 태그를 레이블링(# 부엉이)할 수 있다.
실시형태에 따라, 프로세서(430)는 하나 이상의 다른 이미지들 및 대상 이미지가 위치하는 트리 구조 내 레이어에 따라, 다른 이미지들의 레이블을 대상 이미지에 더 레이블링할 수도 있다(S905).
대상 이미지는 제1이미지들 중에서 레이블링의 대상에 해당하는 어느 하나의 이미지를 의미한다. 다른 이미지는 멀티 뎁스 이미지의 트리 구조에서 대상 이미지와 같은 경로(줄기)에 위치하는 하나 이상의 이미지들을 의미한다. 따라서, 다른 이미지와 대상 이미지는 부모 이미지와 자식 이미지 간의 관계를 가질 수 있다. 도 10a의 예에서, 하늘 이미지(1020)가 대상 이미지인 경우, 부모 이미지에 해당하는 저녁 산 이미지(1010)가 다른 이미지가 된다. 부엉이 이미지(1032)가 대상 이미지인 경우, 부모 이미지에 해당하는 저녁 산 이미지(1010) 및 나무 이미지(1030)가 다른 이미지가 된다.
프로세서(430)는 대상 이미지보다 상위 레이어에 위치하는 다른 이미지의 레이블을 대상 이미지에 더 레이블링할 수 있다.
도 10b의 예에서, 부엉이 이미지(1032)가 대상 이미지라고 가정하면, 상위 레이어에 위치하는 나무 이미지(1030)의 레이블인 “# 나무”와, 상위 레이어에 위치하는 저녁 산 이미지(1010)의 레이블인 “# 저녁 산”이 부엉이 이미지(1032)에 더 레이블링될 수 있다. 하늘 이미지(1020)가 대상 이미지라고 가정하면, 상위 레이어에 위치하는 저녁 산 이미지(1010)의 레이블인 “# 저녁 산”이 하늘 이미지(1020)에 더 레이블링될 수 있다.
이 경우, 대상 이미지에 더 레이블링되는 다른 이미지의 레이블들 각각은 트리 구조에서 위치하는 레이어에 따라 대상 이미지에 순차적으로 레이블링될 수 있다. 예를 들어, 저녁 산 이미지(1010)가 가장 상위 레이어에 위치하므로 “저녁 산” 레이블이 부엉이 이미지(1032)에 가장 상위로(첫 번째로) 레이블링되고, “나무” 레이블이 그 다음 순위로 부엉이 이미지(1032) 레이블링되며, “부엉이” 레이블이 가장 낮은 순위(마지막)에 위치하게 된다. 다른 예로, 저녁 산 이미지(1010)가 가장 상위 레이어에 위치하므로 “저녁 산” 레이블이 하늘 이미지(1020)에 가장 상위로 레이블링되고, “하늘” 레이블이 가장 낮은 순위에 위치하게 된다.
프로세서(430)는 대상 이미지보다 하위 레이어에 위치하는 다른 이미지의 레이블을 대상 이미지에 더 레이블링할 수 있다.
도 10c의 예에서, 나무 이미지(1030)가 대상 이미지인 경우에는 하위 레이어에 위치하는 부엉이 이미지(1032)의 레이블인 “# 부엉이”가 나무 이미지(1030)에 더 레이블링되고, 저녁 산 이미지(1010)가 대상 이미지인 경우에는 하위 레이어에 위치하는 나무 이미지(1030) 및 부엉이 이미지(1032) 각각의 레이블인 “# 나무” 및 “# 부엉이”가 저녁 산 이미지(1010)에 더 레이블링된다. 또한, 저녁 산 이미지(1010)와 하늘 이미지(1020)가 구성하는 경로에서는, 하위 레이어에 위치하는 하늘 이미지(1020)의 레이어인 “# 하늘”이 저녁 산 이미지(1010)에 더 레이블링된다.
이 경우에도, 앞서 설명된 바와 같이, 대상 이미지에 더 레이블링되는 다른 이미지의 레이블들 각각은 트리 구조에서 위치하는 레이어에 따라 대상 이미지에 순차적으로 레이블링될 수 있다.
대상 이미지보다 상위 레이어 또는 하위 레이어에 위치하는 다른 이미지의 레이블을 대상 이미지에 더 레이블링하는 과정은, “다른 이미지의 레이블 또는 태그를 대상 이미지에 계승하는 과정”일 수 있다. 계승되는 레이블은 제1이미지들 간의 연관 관계를 나타낼 수 있다. 예를 들어, 부엉이 이미지(1032)에 “나무” 레이블이 계승된 경우, 해당 부엉이 이미지(1032)는 “부엉이”를 표현하는 이미지로 해석될 수 있을 뿐만 아니라, “나무에 자리하는 부엉이”로 해석될 수 있다. 또한, 부엉이 이미지(1032)에 “저녁 산” 레이블이 더 계승된 경우에, 해당 부엉이 이미지(1032)는 “저녁 산에 존재하는 나무에 자리하는 부엉이”로 그 의미가 확장될 수 있다.
프로세서(430)는 레이블링된 제1이미지들을 이미지 데이터베이스(450)에 저장할 수 있다(S906). 레이블링된 제1이미지들이 이미지 데이터베이스(450)에 저장되는 경우, 이미지 데이터베이스(450)는 제1이미지들 간에 연관 관계가 레이블을 이용하여 표현된 계층형 이미지 데이터베이스가 될 수 있다.
계층형 이미지 데이터베이스는 제1이미지들 간의 연관 관계를 이용하여 더욱 확장된 범위의 실용적인 검색 데이터베이스로 활용될 수 있다. 예를 들어, 이용자가 “나무에 자리하는 부엉이”를 검색하고자 하는 경우, 이미지들 간의 연관 관계를 고려하지 않는 종래 데이터베이스는 이용자가 원하는 검색 결과를 제공할 수 없으나, 계층형 이미지 데이터베이스는 부엉이 이미지(1032), 나무 이미지(1030) 및 저녁 산 이미지(1010)에 레이블링된 레이블들을 이용하여 이용자가 원하는 검색 결과를 제공할 수 있다.
또한, 계층형 이미지 데이터베이스는 제1이미지들 간의 연관 관계를 이용하여 더욱 정확한 이미지 어노테이션 기능을 구현하기 위해 활용될 수도 있다.
이하에서는 제1이미지들 간의 연관 관계를 이용한 이미지 어노테이션 방법에 대해 설명한다. 도 11은 이미지 어노테이션 방법의 일 예를 설명하기 위한 순서도이며, 도 12a 및 도 12b는 이미지 어노테이션을 위해 이미지 데이터 베이스로부터 관련된 이미지들을 선별하는 방법의 예들을 설명하기 위한 순서도이다. 도 13a 및 도 13b는 이미지 어노테이션 방법의 일 예를 설명하기 위한 예시도이다.
프로세서(430)는 제1이미지들 각각에 부여된 태그들을 이용하여 제1이미지들을 레이블링한다(S1102).
도 12a에 나타낸 바와 같이, 프로세서(430)는 하나 이상의 다른 이미지들 및 대상 이미지가 위치하는 트리 구조 내 레이어에 따라, 다른 이미지들의 레이블을 대상 이미지에 더 레이블링할 수도 있다(S1202). 즉, 프로세서(430)는 대상 이미지보다 하위 레이어에 위치하는 다른 이미지의 레이블을 대상 이미지에 더 레이블링하거나, 대상 이미지보다 상위 레이어에 위치하는 다른 이미지의 레이블을 대상 이미지에 더 레이블링할 수 있다.
프로세서(430)는 대상 이미지의 레이블에 대응되는 하나 이상의 이미지들을 이미지 데이터베이스(460)로부터 수집한다(S1104).
다른 이미지들의 레이블이 대상 이미지에 더 레이블링된 경우에, 대상 이미지에 레이블링된 레이블들 중에는 다른 이미지로부터 계승된 레이블과 대상 이미지의 태그에 해당하는 레이블이 존재할 수 있다. 이 경우, 프로세서(430)는 대상 이미지에 레이블링된 레이블들 중에서, 대상 객체의 레이블을 선별할 수 있다(S1204).
대상 객체는 대상 이미지에 표현된 객체들 중에서 검색의 대상이 되는 객체를 의미할 수 있다. 도 10b의 예를 참조하면, 부엉이 이미지(1032)에는 부엉이들이 표현되어 있으며, 이 부엉이들이 대상 객체에 해당한다. 이 경우, 부엉이 이미지(1032)에 레이블링된 “# 저녁 산” 레이블, “# 나무” 레이블 및 “# 부엉이” 레이블 중에서 “# 부엉이” 레이블이 대상 객체의 레이블로 선별된다. 도 10c의 예를 참조하면, 나무 이미지(1030)에는 나무들이 표현되어 있으며, 이 나무들이 대상 객체에 해당한다. 이 경우, 나무 이미지(1030)에 레이블링된 “# 나무” 레이블 및 “# 부엉이” 레이블 중에서 “# 나무” 레이블이 대상 객체의 레이블로 선별된다.
대상 이미지에는 레이블들이 트리 구조 내 레이어의 위치에 따라 순차적으로 레이블링되므로, 다른 이미지들이 대상 이미지보다 상위 레이어에 위치하는 경우(S1208)에는 최하위로 레이블링된 레이블이 대상 이미지(대상 객체)의 고유한 레이블에 해당한다. 이 경우, 프로세서(430)는 대상 이미지(도 10b의 부엉이 이미지)에 레이블링된 레이블들(“# 저녁 산” 레이블, “# 나무” 레이블 및 “# 부엉이” 레이블) 중에서 최하위로 레이블링된 레이블(“# 부엉이” 레이블)을 대상 객체의 레이블로 선별한다(S1212).
이와 달리, 다른 이미지들이 대상 이미지보다 하위 레이어에 위치하는 경우(S1208)에는 최상위로 레이블링된 레이블이 대상 이미지(대상 객체)의 고유한 레이블에 해당한다. 이 경우, 프로세서(430)는 대상 이미지(도 10c의 나무 이미지)에 레이블링된 레이블들(“# 나무” 레이블 및 “# 부엉이” 레이블) 중에서 최상위로 레이블링된 레이블(“# 나무” 레이블)을 대상 객체의 레이블로 선별한다(S1210).
프로세서(430)는 선별된 레이블에 대응되는 하나 이상의 이미지들(수집된 이미지들)을 이미지 데이터베이스(460)로부터 수집할 수 있다(S1208).
예를 들어, 대상 이미지가 부엉이 이미지(1032)인 경우에, “# 부엉이” 레이블이 대상 객체의 레이블로 선별되며, “# 부엉이” 레이블에 대응되는 이미지들(부엉이가 표현된 이미지들)(도 13a의 1310)이 이미지 데이터베이스(460)로부터 수집될 수 있다.
프로세서(430)는 수집된 이미지들(1310)에 기반하여 대상 이미지에 표현된 대상 객체를 대상 이미지에 어노테이션한다(S1106).
대상 객체를 대상 이미지에 어노테이션하는 과정은 대상 이미지로부터 대상 객체를 추출하는 것에 해당할 수 있다. 즉, 대상 객체를 대상 이미지에 어노테이션하는 과정은 객체 인식 알고리즘 또는 객체 추출 알고리즘을 이용하여 대상 이미지로부터 대상 객체를 추출하는 것에 해당할 수 있다. 이하에서는, 대상 객체를 대상 이미지에 어노테이션하는 과정을 “1차 어노테이션 과정”으로 지칭하도록 한다.
도 13a를 참조하면, 대상 이미지가 부엉이 이미지(1032)인 경우에(도 13a의 (b)), 부엉이가 표현된 이미지들(1310)이 이미지 데이터베이스(460)로부터 수집되며(도 13a의 (a)), 대상 객체인 부엉이(1320)가 부엉이 이미지(1032)로부터 어노테이션될 수 있다.
프로세서(430)는 상위 노드 이미지를 어노테이션한다(S1108). 상위 노드 이미지를 어노테이션하는 과정은 1차 어노테이션을 통해 추출된 대상 객체 대상 객체(1320)의 상위 노드 이미지 내 위치를 이 상위 노드 이미지에 표시 또는 표현하는 것이다. 이하에서는, 상위 노드 이미지를 어노테이션하는 과정을 “2차 어노테이션 과정”으로 지칭하도록 한다.
2차 어노테이션에는 대상 객체에 대한 정보 및, 대상 이미지가 상위 노드 이미지에 삽입된 위치가 이용된다.
대상 객체에 대한 정보는 1차 어노테이션된 대상 객체 또는 1차 어노테이션된 대상 객체의 레이블일 수 있다. 예를 들어, 도 13a에서 대상 이미지인 부엉이 이미지(1032)에 대한 1차 어노테이션 과정을 통해 부엉이 이미지(1032)로부터 추출된 부엉이(1320) 또는 “# 부엉이”가 대상 객체에 대한 정보에 해당할 수 있다.
대상 이미지가 상위 노드 이미지에 삽입된 위치는 대상 이미지와 상위 노드 이미지 간의 좌표 속성에 해당한다. 예를 들어, 도 10a에서, 대상 이미지인 부엉이 이미지(1032)가 상위 이미지인 나무 이미지(1030)에 삽입된 위치(좌표 속성)가 좌표 속성에 해당한다. 이 경우, 도 13b의 예시와 같이, 프로세서(430)는 상위 노드 이미지인 나무 이미지(1030) 내 대상 이미지인 부엉이 이미지(1032)가 삽입된 위치에 대상 객체인 부엉이(1320)를 어노테이션하여, 2차 어노테이션 과정을 수행할 수 있다.
한편, 대상 이미지를 1차 어노테이션한 결과, 1차 어노테이션된 대상 객체가 복수 개이며, 복수 개의 대상 객체들 중에서 일부가 상위 이미지에 표현된 객체와 중복될 수 있다.
예를 들어, 도 15a의 예시와 같이, 상위 노드 이미지인 나무 이미지(1030)는 1차 어노테이션 과정을 통해 나무가 객체로 어노테이션되며, 대상 이미지(1032)는 1차 어노테이션 과정을 통해 나무 및 부엉이가 대상 객체로 어노테이션될 수 있다.
이와 같은 경우, 프로세서(430)는 대상 이미지의 대상 객체들(나무 및 부엉이) 중에서 중복되지 않는 대상 객체(부엉이)만을 상위 이미지인 나무 이미지(1030)에 2차 어노테이션할 수도 있고(도 15b의 (a)), 대상 객체들 모두(나무 및 부엉이)를 상위 이미지인 나무 이미지(1030)에 2차 어노테이션할 수도 있다(도 15b의 (b)).
이하에서는 도 15b의 (a)에서 예시된 방법인 대상 객체들 중에서 상위 노드 이미지의 객체와 중복되지 않는 대상 객체만을 상위 이미지에 2차 어노테이션하는 방법에 대해 설명한다.
프로세서(430)는 대상 이미지에 1차 어노테이션된 대상 객체가 복수 개인지 여부를 판단한다(S1402).
대상 이미지에 1차 어노테이션된 대상 객체가 하나인 경우, 프로세서(430)는 앞서 설명된 바와 같이 해당 대상 객체를 상위 노드 이미지에 어노테이션 한다(S1408). 이와 달리, 대상 이미지에 1차 어노테이션된 대상 객체가 복수 개인 경우에는 아래의 과정들이 수행될 수 있다.
프로세서(430)는 복수 개의 대상 객체들과 상위 노드 이미지에 1차 어노테이션된 객체를 서로 비교하여, 중복되는 대상 객체 또는 중복되지 않는(대상 이미지에만 어노테이션된 대상 객체)를 선별한다(S1404). 또한, 프로세서(430)는 대상 이미지에만 어노테이션된 대상 객체를 상위 노드에 어노테이션하여 2차 어노테이션 과정을 수행할 수 있다(S1406).
만약, 복수 개의 대상 객체들 모두가 상위 노드 이미지의 객체와 중복되지 않는 경우에는 복수 개의 대상 객체들 모두가 상위 노드 이미지에 2차 어노테이션될 수 있다.
1차 어노테이션과 관련하여, 대상 객체뿐만 아니라 하나 이상의 다른 객체들이 대상 이미지에 표현되어 있는 경우에, 이 다른 객체들이 대상 객체를 인식하는 과정(1차 어노테이션 과정)의 노이즈로 작용할 수 있다. 예를 들어, 대상 이미지에 나무(다른 객체)와 부엉이(대상 객체)가 표현되어 있고 나무와 부엉이 간의 거리가 매우 짧거나 나무의 형상이 부엉이 형상의 일부를 가리는 경우에는, 나무가 부엉이를 인식하는 과정의 노이즈로 작용할 수 있다. 이와 같은 경우에는, 1차 어노테이션 과정에서 대상 객체에 해당하는 부엉이가 정확하게 인식되지 않을 수 있다.
본 발명은 대상 객체가 정확하게 인식되지 않는 문제를 해결하기 위해 1) 대상 이미지 내에 대상 객체가 위치할 가능성이 높은 위치를 미리 결정하고, 해당 위치를 중심으로 대상 객체를 인식하는 방법과, 2) 대상 이미지의 하위 노드 이미지 또는 상위 노드 이미지에서 인식된(1차 어노테이션된) 객체들을 이용하여 노이즈에 해당하는 다른 객체들을 제거 또는 삭제(clean out)하는 방법을 제안한다.
방법 1)에서, 프로세서(430)는 대상 객체가 대상 이미지에 어노테이션되었는지 여부(대상 객체가 정확하게 인식되었는지 여부)를 판단한다. 대상 객체가 정확하게 인식된 경우에는 2차 어노테이션 과정이 바로 수행되지만, 대상 객체가 정확하게 인식되지 않은 경우에는 아래의 과정들이 수행된 후에 2차 어노테이션 과정이 수행된다.
프로세서(430)는 대상 객체가 대상 이미지 내에서 위치할 가능성이 높은 위치(대상 객체의 위치)를 중심으로 다시 1차 어노테이션 과정을 수행할 수 있다. 여기서, 대상 객체의 위치는 미리 설정될 수 있다. 예를 들어, i) 대상 객체의 위치는 상위 노드 이미지의 대상 객체(상위 객체)가 상위 노드 이미지 내에 자리하는 위치에 따라 미리 설정될 수 있다. 다른 예로, ii) 대상 객체의 위치는 하위 노드 이미지의 대상 객체(하위 객체)가 하위 노드 이미지 내에 자리하는 위치에 따라 미리 설정될 수 있다. i)과 ii)는 멀티 뎁스 이미지를 생성한 유저의 촬영에 대한 습관을 고려하여 대상 객체의 위치를 추정하는 방법이라 할 수 있다. 다른 예로, iii) 대상 객체의 위치는 대상 이미지의 중심 위치로 설정될 수도 있다.
방법 2)에 대한 일 예가 도 16에 나타나 있다. 방법 2)에서, 프로세서(430)는 대상 객체가 대상 이미지에 어노테이션되었는지 여부(대상 객체가 정확하게 인식되었는지 여부)를 판단한다(S1602). 대상 객체가 정확하게 인식된 경우에는 2차 어노테이션 과정(S1608)이 바로 수행되지만, 대상 객체가 정확하게 인식되지 않은 경우에는 아래의 과정들이 수행된 후에 2차 어노테이션 과정(S1608)이 수행된다.
프로세서(430)는 상위 객체 및/또는 하위 객체를 이용하여 대상 이미지 내 하나 이상의 다른 객체들(대상 이미지에 표현된 객체들 중에서 대상 객체 제외)을 제거 또는 삭제할 수 있다(S1604). 구체적으로, 프로세서(430)는 상위 객체 또는 하위 객체의 형상 또는 특징에 대응되는 객체를 대상 이미지 내에 표현된 다른 객체들로부터 검색하고, 검색된 다른 객체(상위 객체 또는 하위 객체의 형상 또는 특징에 대응되는 다른 객체)를 대상 이미지로부터 제외할 수 있다. 이와 같이, 노이즈에 해당하는 다른 객체들을 대상 이미지로부터 제거함으로써, 대상 객체 인식에 대한 정확성이 향상될 수 있다.
S1604 과정이 수행된 후에, 프로세서(430)는 대상 객체를 다른 객체들이 제거된 대상 이미지에 다시 1차 어노테이션할 수 있다(S1606).
한편, 대상 이미지에는 태그가 부여되지 않거나, 태그가 부여되어 있다고 하더라도 대상 객체를 정확하게 표현하지는 못하는 태그들만이 부여될 수도 있다. 즉, 대상 이미지에는 대상 객체에 대한 태그가 부여되지 않을 수도 있다. 이러한 경우, 레이블링 과정에서, 대상 객체를 정확하게 표현하는 레이블이 대상 이미지에 레이블링되지 않을 수 있다. 즉, 대상 이미지의 하나 이상의 레이블들 중에서 대상 객체에 대한 레이블이 존재하지 않을 수 있다.
본 발명은 대상 이미지의 레이블들 중에서 대상 객체에 대한 레이블이 존재하지 않을 수 있는 문제점을 해결하기 위해, 1차 어노테이션된 결과를 기반으로 추가적인 레이블링을 수행하는 방법을 제안한다.
도 17을 참조하면, 프로세서(430)는 대상 객체에 대한 레이블이 대상 이미지에 레이블링된 레이블에 포함되는지 여부를 판단한다(S1702). 대상 객체에 대한 레이블이 대상 이미지의 레이블에 포함된 경우에는 2차 어노테이션 과정(S1706)이 바로 수행되지만, 대상 객체에 대한 레이블이 대상 이미지의 레이블에 포함되지 않은 경우에는 아래의 과정이 수행된 후에 2차 어노테이션 과정(S1706)이 수행된다.
프로세서(430)는 대상 객체에 대한 레이블을 대상 이미지에 (더) 레이블링한다(S1704). 대상 객체에 대한 레이블은 1) 이미지 데이터베이스(450)로부터 수집된 이미지들의 레이블 또는 태그에 기반하여 획득되거나, 2) 상위 노드 이미지 또는 하위 노드 이미지의 레이블에 기반하여 획득될 수 있다.
도 5, 도 9, 도 11, 도 12a, 도 12b, 도 14, 도 16 및 도 17에서는 각 과정들이 순차적으로 실행되는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 5, 도 9, 도 11, 도 12a, 도 12b, 도 14, 도 16 및 도 17에 기재된 순서를 변경하여 실행하거나 각 과정들 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다. 따라서, 도 5, 도 9, 도 11, 도 12a, 도 12b, 도 14, 도 16 및 도 17은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 5, 도 9, 도 11, 도 12a, 도 12b, 도 14, 도 16 및 도 17에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 비일시적인(non-transitory) 매체일 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송) 및 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2020 년 12월 22일에 한국에 출원한 특허출원번호 제10-2020-0180965호에 대해 우선권을 주장한다.
Claims (14)
- 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 이용한 이미지 어노테이션(annotation) 방법으로서,상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하는 단계 - 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함함 -;상기 대상 이미지의 레이블에 대응되는 하나 이상의 이미지들을 이미지 데이터 베이스로부터 수집하는 단계;상기 수집된 이미지들에 기반하여, 상기 대상 이미지 내 하나 이상의 대상 객체를 상기 대상 이미지에 어노테이션하는 단계; 및상기 어노테이션된 대상 객체에 대한 정보 및 상기 대상 이미지의 상위 노드 이미지 내에서 상기 대상 이미지가 삽입된 위치를 이용하여, 상기 상위 노드 이미지를 어노테이션하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 레이블링하는 단계는,상기 다른 이미지들 및 상기 대상 이미지가 위치하는 상기 트리 구조 내 레이어에 따라, 상기 다른 이미지들의 레이블을 상기 대상 이미지에 더 레이블링하고,상기 수집하는 단계는,상기 대상 이미지에 레이블링된 레이블들 중에서 상기 대상 객체의 레이블을 선별하는 단계; 및상기 선별된 대상 객체의 레이블에 대응되는 하나 이상의 이미지들을 상기 이미지 데이터 베이스로부터 수집하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제2항에 있어서,상기 다른 이미지들은,상기 트리 구조에서 상기 대상 이미지보다 상위 레이어에 위치하며,상기 선별하는 단계는,상기 대상 이미지에 레이블링된 레이블들 중에서 최하위로 레이블링된 레이블을 상기 대상 객체의 레이블로 선별하는 것을 특징으로 하는 방법.
- 제2항에 있어서,상기 다른 이미지들은,상기 트리 구조에서 상기 대상 이미지보다 하위 레이어에 위치하며,상기 선별하는 단계는,상기 대상 이미지에 레이블링된 레이블들 중에서 최상위로 레이블링된 레이블을 상기 대상 객체의 레이블로 선별하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 상위 노드 이미지를 어노테이션하는 단계는,상기 대상 이미지에 어노테이션된 대상 객체가 복수 개인 경우에, 상기 상위 노드 이미지에 어노테이션된 객체와 상기 대상 이미지에 어노테이션된 대상 객체를 비교하는 단계; 및상기 대상 이미지에 어노테이션된 대상 객체 중에서 상기 대상 이미지에만 어노테이션된 대상 객체에 대한 정보 및 상기 대상 이미지가 삽입된 상기 상위 노드 이미지 내 위치를 이용하여, 상기 상위 노드 이미지를 어노테이션하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 대상 이미지에 어노테이션하는 단계는,상기 대상 객체가 어노테이션되지 않는 경우에 상기 대상 이미지의 하위 노드 이미지에 어노테이션된 하나 이상의 하위 객체 또는 상기 상위 노드 이미지에 어노테이션된 하나 이상의 상위 객체를 이용하여, 상기 대상 이미지에 표현된 객체들 중에서 상기 대상 객체를 제외한 다른 객체들을 제거하는 단계; 및상기 대상 객체를 상기 다른 객체들이 제거된 대상 이미지에 어노테이션하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 대상 이미지에 어노테이션하는 단계 후, 상기 대상 객체에 대한 레이블이 상기 대상 이미지의 레이블에 포함되지 않는 경우에 상기 대상 객체에 대한 레이블을 상기 대상 이미지에 레이블링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
- 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 이용한 이미지 어노테이션(annotation)을 위한 하나 이상의 프로그램이 기록된 메모리; 및상기 메모리에 기록된 프로그램을 실행하는 프로세서를 포함하고,상기 프로세서는,상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하고 - 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함함 -,상기 대상 이미지의 레이블에 대응되는 하나 이상의 이미지들을 이미지 데이터 베이스로부터 수집하며,상기 수집된 이미지들에 기반하여, 상기 대상 이미지 내 하나 이상의 대상 객체를 상기 대상 이미지에 어노테이션하고,상기 어노테이션된 대상 객체에 대한 정보 및 상기 대상 이미지의 상위 노드 이미지 내에서 상기 대상 이미지가 삽입된 위치를 이용하여, 상기 상위 노드 이미지를 어노테이션하는 것을 특징으로 하는 장치.
- 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 획득하는 단계; 및상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하는 단계를 포함하고 - 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함함 -,상기 레이블링하는 단계는,상기 다른 이미지들 및 상기 대상 이미지가 위치하는 상기 트리 구조 내 레이어에 따라, 상기 다른 이미지들의 레이블을 상기 대상 이미지에 더 레이블링하는 것을 특징으로 하는 방법.
- 제10항에 있어서,상기 다른 이미지들은,상기 트리 구조에서 상기 대상 이미지보다 상위 레이어에 위치하는 것을 특징으로 하는 방법.
- 제10항에 있어서,상기 다른 이미지들은,상기 트리 구조에서 상기 대상 이미지보다 하위 레이어에 위치하는 것을 특징으로 하는 방법.
- 제10항 내지 제12항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
- 메인 이미지 내에 하나 이상의 이미지들이 트리 구조로 삽입된 멀티 뎁스(multi depth) 이미지를 이용한 이미지 레이블링(labeling)을 위한 하나 이상의 프로그램이 기록된 메모리; 및상기 메모리에 기록된 프로그램을 실행하는 프로세서를 포함하고,상기 프로세서는,상기 멀티 뎁스 이미지를 획득하고,상기 멀티 뎁스 이미지를 구성하는 제1이미지들에 부여된 태그들을 이용하여, 상기 제1이미지들을 레이블링(labeling)하되 - 상기 제1이미지들은 상기 트리 구조에서 같은 경로에 위치하는 하나 이상의 다른 이미지들 및 대상 이미지를 포함함,상기 다른 이미지들 및 상기 대상 이미지가 위치하는 상기 트리 구조 내 레이어에 따라, 상기 다른 이미지들의 레이블을 상기 대상 이미지에 더 레이블링하는 것을 특징으로 하는 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200180965A KR20220090103A (ko) | 2020-12-22 | 2020-12-22 | 멀티 뎁스 이미지를 이용하여 이미지를 레이블링하고 어노테이션하는 방법 및 장치 |
KR10-2020-0180965 | 2020-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022139408A1 true WO2022139408A1 (ko) | 2022-06-30 |
Family
ID=82158157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/019504 WO2022139408A1 (ko) | 2020-12-22 | 2021-12-21 | 멀티 뎁스 이미지를 이용하여 이미지를 레이블링하고 어노테이션하는 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220090103A (ko) |
WO (1) | WO2022139408A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130129725A (ko) * | 2012-05-21 | 2013-11-29 | 주식회사 다음커뮤니케이션 | 검색 시스템 및 검색 서비스 방법 |
KR20170007747A (ko) * | 2014-05-16 | 2017-01-20 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 자연어 이미지 검색 기법 |
US20180276867A1 (en) * | 2012-12-19 | 2018-09-27 | Shutterfly, Inc. | Generating an assembled group image from subject images |
KR20190081907A (ko) * | 2017-12-29 | 2019-07-09 | 주식회사 피제이팩토리 | 멀티 심도 이미지의 자동 생성 방법 |
WO2020138801A1 (ko) * | 2018-12-26 | 2020-07-02 | 주식회사 피제이팩토리 | 멀티 뎁스 이미지 생성 및 뷰잉 |
-
2020
- 2020-12-22 KR KR1020200180965A patent/KR20220090103A/ko unknown
-
2021
- 2021-12-21 WO PCT/KR2021/019504 patent/WO2022139408A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130129725A (ko) * | 2012-05-21 | 2013-11-29 | 주식회사 다음커뮤니케이션 | 검색 시스템 및 검색 서비스 방법 |
US20180276867A1 (en) * | 2012-12-19 | 2018-09-27 | Shutterfly, Inc. | Generating an assembled group image from subject images |
KR20170007747A (ko) * | 2014-05-16 | 2017-01-20 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 자연어 이미지 검색 기법 |
KR20190081907A (ko) * | 2017-12-29 | 2019-07-09 | 주식회사 피제이팩토리 | 멀티 심도 이미지의 자동 생성 방법 |
WO2020138801A1 (ko) * | 2018-12-26 | 2020-07-02 | 주식회사 피제이팩토리 | 멀티 뎁스 이미지 생성 및 뷰잉 |
Also Published As
Publication number | Publication date |
---|---|
KR20220090103A (ko) | 2022-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016024806A1 (en) | Method and apparatus for providing image contents | |
US7970240B1 (en) | Method and apparatus for archiving and visualizing digital images | |
US8250490B2 (en) | Display image control apparatus | |
KR20010042221A (ko) | 멀티미디어 콘텐츠 기재 시스템 및 방법 | |
WO2019132566A1 (ko) | 멀티 심도 이미지의 자동 생성 방법 | |
WO2013183810A1 (en) | Video editing method and digital device therefor | |
WO2016076540A1 (en) | Electronic apparatus of generating summary content and method thereof | |
WO2016028042A1 (en) | Method of providing visual sound image and electronic device implementing the same | |
WO2016126007A1 (en) | Method and device for searching for image | |
US20090192998A1 (en) | System and method for deduced meta tags for electronic media | |
WO2013048091A2 (en) | Apparatus and method for clipping and sharing content at a portable terminal | |
WO2019139270A1 (ko) | 디스플레이 장치 및 이의 컨텐츠 제공 방법 | |
WO2017142143A1 (en) | Method and apparatus for providing summary information of a video | |
WO2015147437A1 (ko) | 모바일 서비스 시스템, 그 시스템에서의 위치 기반 앨범 생성 방법 및 장치 | |
WO2019093599A1 (ko) | 사용자 관심 정보 생성 장치 및 그 방법 | |
WO2018062901A1 (ko) | 터치스크린 단말기에서 저장 사진의 앨범 지정 및 태깅 방법, 컴퓨터 판독 가능 기록매체 및 단말기 | |
WO2018052269A1 (en) | Method of displaying images in a multi-dimensional mode based on personalized topics | |
JP2017005442A (ja) | コンテンツ生成装置およびプログラム | |
US8405754B2 (en) | Image processing apparatus and control method for image processing apparatus | |
WO2015142137A1 (ko) | 전자 장치, 영상 처리 방법, 및 컴퓨터 판독가능 기록매체 | |
WO2022139408A1 (ko) | 멀티 뎁스 이미지를 이용하여 이미지를 레이블링하고 어노테이션하는 방법 및 장치 | |
JP3200819B2 (ja) | 画像表示方法 | |
WO2018056587A1 (en) | Electronic apparatus and controlling method thereof | |
JPH06309381A (ja) | 動画像処理装置 | |
JPH07175816A (ja) | 映像の連想検索装置及び方法 |
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: 21911475 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: 21911475 Country of ref document: EP Kind code of ref document: A1 |