WO2023054832A1 - Annotation method for easily designating object, and computer program recorded in recording medium in order to perform method - Google Patents

Annotation method for easily designating object, and computer program recorded in recording medium in order to perform method Download PDF

Info

Publication number
WO2023054832A1
WO2023054832A1 PCT/KR2022/007647 KR2022007647W WO2023054832A1 WO 2023054832 A1 WO2023054832 A1 WO 2023054832A1 KR 2022007647 W KR2022007647 W KR 2022007647W WO 2023054832 A1 WO2023054832 A1 WO 2023054832A1
Authority
WO
WIPO (PCT)
Prior art keywords
bounding box
annotation
size
line segments
image
Prior art date
Application number
PCT/KR2022/007647
Other languages
French (fr)
Korean (ko)
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 WO2023054832A1 publication Critical patent/WO2023054832A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Definitions

  • the present invention relates to data design for artificial intelligence (AI) learning. More specifically, in annotating artificial intelligence (AI) learning data, it relates to an annotation method that can easily designate an object included in an image and a computer program recorded on a recording medium to execute the annotation method.
  • AI artificial intelligence
  • AI Artificial intelligence
  • machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. Such machine learning is classified into supervised learning, unsupervised learning, and reinforcement learning according to the form of learning data.
  • AI artificial intelligence
  • data structure design is performed through ontology definition, classification system definition, and the like.
  • Data collection is performed by collecting data through direct filming, web crawling, or associations/professional organizations.
  • Data purification is performed by removing redundant data from collected data and de-identifying personal information.
  • Data processing is performed by inputting meta data and performing annotation.
  • Data extension is performed by performing ontology mapping and supplementing or extending the ontology as needed.
  • data verification is performed by verifying validity according to the set target quality using various verification tools.
  • annotation in the data processing step is performed by processing a bounding box for an object included in an image and inputting property information of the object included in the image.
  • Such annotations are also referred to as data labeling.
  • a dataset corresponding to the work result of the annotation is calculated in the form of a JSON (Java Script Object Notation) file.
  • a worker manually processes the bounding box according to the outline of the object for each object to be recognized in the image.
  • the bounding box processing must follow various rules determined in advance to ensure an artificial intelligence (AI) learning effect (ie, recognition rate of an object in an image).
  • AI artificial intelligence
  • the bounding box processing must follow rules such as the minimum size value of an area in which an object can be recognized and the maximum number of pixels away from the object's outline. Therefore, it is not easy for a worker to perfectly comply with all rules determined in advance in the process of manually processing bounding boxes for a plurality of objects.
  • the attribute information to be entered by the operator includes various information such as the type of annotation, class name (class), classification item (tags), whether the object is truncated (truncated), large category, small category, and instance upper level. should be included Therefore, it is also not easy for an operator to manually and accurately input all attribute information for a plurality of objects one by one.
  • One object of the present invention is to provide an annotation method that can easily designate an object included in an image when annotating data for artificial intelligence (AI) learning.
  • AI artificial intelligence
  • Another object of the present invention is to provide a computer program recorded on a recording medium to execute an annotation method capable of easily designating an object included in an image.
  • the present invention proposes an annotation method that can easily designate an object included in an image.
  • the method includes the steps of setting a partial region in an image, which is a target of annotation work for artificial intelligence (AI) learning, as a bounding box under the control of an operator; identifying an object completely included in an inner region of the bounding box or spanning one or more line segments among a plurality of lines constituting the bounding box; enlarging or reducing the size of the bounding box to have a size corresponding to the outline of the identified object; and when the position and size of the expanded or reduced bounding box are determined under the operator's control, generating an annotation work result including coordinates according to the determined position and size of the bounding box.
  • AI artificial intelligence
  • the bounding box may be set based on a rectangle having two coordinates input from the operator as coordinates of an upper left vertex and a coordinate of a lower right vertex in the image.
  • the identifying the object it may be determined whether the object spans the line segment based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box.
  • the continuity may be determined based on whether a difference in color, saturation, or brightness between two adjacent pixels is within a preset range.
  • the priority may be a criterion set according to the size, position, or shape of an object occupied in the image.
  • the identified object when the identified object is completely included in the inner region of the bounding box, it is present on the outline of the object for each of a plurality of line segments constituting the bounding box.
  • the line segment may be moved toward the center of the bounding box until the distance from the closest point to the point is within a preset maximum number of pixels apart.
  • the step of enlarging or reducing the size may include, when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object is located in an inner area of the bounding box.
  • a line segment spanning the object may be moved toward an outside direction of the bounding box until it is completely included.
  • the step of enlarging or reducing the size may include, when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object is located in an inner area of the bounding box.
  • the size of the bounding box may be expanded in all directions while moving the center of the bounding box in the direction of the line segment on which the object spans until it is completely included.
  • the step of enlarging or reducing the size may include dividing the bounding box into a plurality of detailed areas when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, and then , From among the divided detailed areas, only the size of the detailed area spanning the object may be enlarged until the identified object is completely included in the inner area of the bounding box.
  • the step of enlarging or reducing the size may include, when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object is merged inside the bounding box.
  • a process of newly setting an additional area having a predetermined size outside the line segment where the object spans and merging the newly set additional area and the bounding box may be repeatedly performed until the object is completely included in the area.
  • the present invention proposes a computer program recorded on a recording medium to execute the annotation method.
  • the computer program may include a memory; input output device; and a processor configured to process instructions resident in the memory.
  • the computer program may include setting, by the processor, a partial region in an image to be an annotation work target for artificial intelligence (AI) learning as a bounding box according to operator control input through the input/output device; identifying, by the processor, an object completely included in an inner region of the bounding box or spanning one or more line segments among a plurality of line segments constituting the bounding box; enlarging or reducing, by the processor, the size of the bounding box to have a size corresponding to the outline of the identified object; and when the location and size of the expanded or reduced bounding box are confirmed by the processor under the operator's control input through the input/output device, annotation work including coordinates according to the location and size of the determined bounding box.
  • AI artificial intelligence
  • the size of the bounding box is automatically enlarged or reduced according to the shape of an object included in the image, so that the annotation A worker who performs can more easily set the bounding box, and the annotation work result can have a more uniform quality.
  • AI artificial intelligence
  • AI artificial intelligence
  • FIG. 1 to 3 are configuration diagrams of an artificial intelligence learning system according to various embodiments of the present invention.
  • FIG. 4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
  • FIG. 5 is a hardware configuration diagram of an annotation device according to an embodiment of the present invention.
  • 6 to 9 are exemplary diagrams for explaining a process of setting a bounding box according to an embodiment of the present invention.
  • 10 and 11 are exemplary diagrams for explaining a process of inputting object attributes according to an embodiment of the present invention.
  • FIG. 12 is a flowchart for explaining an annotation method according to an embodiment of the present invention.
  • FIG. 13 is a flowchart for explaining a method of setting a bounding box according to an embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating a method of inputting attribute information of an object according to an embodiment of the present invention.
  • first and second used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
  • the present invention intends to propose means capable of providing various conveniences to operators in the process of setting a bounding box and inputting object attribute information.
  • Figure 1 degree 3 is a variety of the present invention in the examples It is a configuration diagram of an artificial intelligence learning system according to
  • the artificial intelligence learning system includes one or more annotation devices (100-1, 100-2, 100-3, ..., 100-n; 100) and artificial intelligence learning. It may be configured to include device 300 .
  • the artificial intelligence learning system may be configured to additionally include a learning data design device 200 in addition to the annotation device 100 and the artificial intelligence learning device 300. .
  • the artificial intelligence learning system has a network ( They can also be connected to each other through a public network).
  • a part of the annotation device 100 may be a device that performs annotation by a clouding service.
  • components of the artificial intelligence learning system are merely functionally distinct elements, two or more components are integrated and implemented in the actual physical environment, or one component is implemented in the actual physical environment. may be implemented separately from each other.
  • the annotation device 100 is a device that can be used to annotate an image provided from the learning data design device 200 or the artificial intelligence learning device 300.
  • the annotation device 100 has a feature of providing various conveniences to the operator in the process of setting a bounding box and inputting object attribute information in relation to annotation work.
  • the annotation device 100 may be any device capable of transmitting/receiving data with the learning data design device 200 or the artificial intelligence learning device 300 and performing calculations using the transmitted/received data. there is.
  • the annotation device 100 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto, and may include a smart phone, such as laptops, tablets, phablets, Portable Multimedia Players (PMPs), Personal Digital Assistants (PDAs) or E-book readers. It may be any one of the mobile computing devices.
  • a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto, and may include a smart phone, such as laptops, tablets, phablets, Portable Multimedia Players (PMPs), Personal Digital Assistants (PDAs) or E-book readers. It may be any one of the mobile computing devices.
  • PDAs Personal Digital Assistants
  • the learning data design device 200 is a device that can be used to design and generate artificial intelligence (AI) learning data.
  • AI artificial intelligence
  • the learning data design device 200 is basically a device that is distinguished from the artificial intelligence learning device 300, but may be implemented by being integrated with the artificial intelligence learning device 300 in a real physical environment.
  • the learning data design device 200 may receive attributes of a project related to artificial intelligence (AI) learning from the artificial intelligence learning device 300 .
  • the learning data design device 200 designs data structures for artificial intelligence (AI) learning, refines collected data, processes data, expands data, and verifies data based on the user's control and the attributes of the project. can be done
  • the learning data design device 200 may transmit an image to be annotated to the annotation device 100 for data processing for artificial intelligence (AI) learning.
  • the learning data design device 200 may receive an annotation work result from the annotation device 100 .
  • the annotation work result may have a JSON (Java Script Object Notation) file format.
  • the learning data design device 200 may generate a JSON file based on the received result after receiving a result of annotation work in a format different from JSON.
  • the learning data design device 200 may inspect the received or created JSON file, package it, and transmit it to the artificial intelligence learning device 300.
  • the learning data design device 200 may be any device capable of transmitting/receiving data with the annotation device 100 and the artificial intelligence learning device 300 and performing calculations using the transmitted/received data.
  • the learning data design device 200 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
  • the artificial intelligence learning device 300 is a device that can be used to perform machine learning of artificial intelligence (AI) based on data for artificial intelligence (AI) learning.
  • the artificial intelligence learning device 300 may receive a JSON file packaged directly from the annotation device 100 or from the learning data design device 200 . And, the artificial intelligence learning device 300 may perform artificial intelligence (AI) machine learning using the received JSON file.
  • AI artificial intelligence
  • the artificial intelligence learning device 300 may be any device capable of transmitting and receiving data to and from the annotation device 100 or the learning data design device 200 and performing calculations using the transmitted and received data.
  • the artificial intelligence learning device 300 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
  • one or more of the annotation device 100, the learning data design device 200, and the artificial intelligence learning device 300 are a combination of one or more of a security line, a common wired communication network, or a mobile communication network directly connected between the devices. Data can be transmitted and received using a network.
  • public wired communication networks may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be, but is not limited thereto.
  • xDSL Digital Subscriber Line
  • HFC Hybrid Fiber Coax
  • FTTH Fiber To The Home
  • CDMA Code Division Multiple Access
  • WCDMA Wideband CDMA
  • HSPA High Speed Packet Access
  • LTE Long Term Evolution
  • 5th generation mobile telecommunication may be included, but is not limited thereto.
  • FIG. 4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
  • the annotation device 100 includes a communication unit 105, an input/output unit 110, a storage unit 115, a bounding box setting unit 120, an object property setting unit 125, and a result generation unit. It may be configured to include (130).
  • the components of the annotation device 100 are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is separated from each other in an actual physical environment. could be implemented.
  • the communication unit 105 can transmit/receive data with the learning data design device 200 and the artificial intelligence learning device 300 when each component is described.
  • the communication unit 105 may receive one or more images from the learning data design device 200 or the artificial intelligence learning device 300 .
  • the image is an image that is a target of annotation work for artificial intelligence (AI) learning.
  • AI artificial intelligence
  • the images to be annotated are individually received, or a plurality of images are collectively received. can receive
  • the communication unit 105 may transmit the annotation work result to the learning data design device 200 or the artificial intelligence learning device 300 .
  • the work result may include the coordinates of the bounding box set under the operator's control and property information of the object.
  • the work result may have a JSON file format, but is not limited thereto.
  • the communication unit 150 may receive project properties, image properties, or worker properties from the learning data design device 200 or the artificial intelligence learning device 300 .
  • the properties of the project may include the learning purpose, learning period, number of images required for learning, object properties to be identified in images, bounding box setting rules, etc. for a project related to artificial intelligence (AI) learning. It is not limited to this.
  • AI artificial intelligence
  • Image properties include image file name, image size (width, height), resolution, bit level, compression format, shooting device name, exposure time, ISO speed, focal length, aperture value, and shooting location coordinates (GPS latitude, longitude). , shooting time, etc. may be included, but is not limited thereto.
  • the worker's attributes may include, but are not limited to, the worker's name, identification number, assigned work amount, cost according to the work, work result evaluation, and the like.
  • bounding box setting rule is a rule that a worker must follow in a process of setting a bounding box for an object in an image according to a project property, an image property, or a worker property.
  • bounding box setting rules may include, but are not limited to, a minimum size value of an area and a maximum number of pixels separated from an object's outline.
  • the input/output unit 110 may input a signal from an operator through a user interface (UI) or output a calculated result to the outside.
  • UI user interface
  • the worker means a person who performs annotation work.
  • Such an operator may be referred to as a user, performer, labeler, or data labeler, but is not limited thereto.
  • the input/output unit 110 may output an image to be an annotation work.
  • the input/output unit 110 may receive a control signal for setting a bounding box from an operator. Also, the input/output unit 110 may overlay and output a bounding box on the image.
  • the bounding box is an area for specifying an object to be learned by artificial intelligence (AI) among objects included in the image.
  • AI artificial intelligence
  • Such a bounding box may have a rectangle or polygon shape, but is not limited thereto.
  • the input/output unit 110 may output a list of recommendation information that can be used as object attribute information. Also, the input/output unit 110 may receive a control signal for setting object attribute information from an operator.
  • the proposed information list is a list of information that is composed of information that is likely to be included in object attribute information and can be utilized as object attribute information in the process of performing annotation by a worker.
  • object attribute information is information for specifying the attribute of an object that is an artificial intelligence (AI) learning target.
  • object attribute information includes information on the type of annotation, class name (class), classification items (tags), truncated state of the object, major classification, subclassification, or upper level (instance upper). may be, but is not limited thereto.
  • the storage unit 115 may store data required for annotation work.
  • the storage unit 115 may store an image received through the communication unit 105 .
  • the storage unit 115 may store project properties, image properties, or worker properties received through the communication unit 105 .
  • the storage unit 115 may temporarily store the location and size of the bounding box set according to the control signal input through the input/output unit 110 .
  • the storage unit 115 may temporarily store attributes of objects input through the input/output unit 110 .
  • the bounding box setting unit 120 may set a bounding box for specifying an object to be studied by artificial intelligence (AI) among objects included in an image.
  • AI artificial intelligence
  • the bounding box setting unit 120 according to the present invention automatically adjusts the size of the bounding box according to the shape of the object included in the image so that the bounding box primarily set by the operator has a size corresponding to the outline of the object. It has a feature that can be enlarged or reduced.
  • the bounding box setting unit 120 may set a partial region in an image to be an annotation work target for learning as a bounding box according to control of an operator input through the input/output unit 110 .
  • the bounding box setting unit 120 receives two coordinates from the operator through the input/output unit 110, and has the input two coordinates as the coordinates of the upper left vertex and the coordinates of the lower right vertex in the image. You can set a bounding box based on a rectangle.
  • the two coordinates may be set by the operator inputting one type of input signal twice (eg, mouse click) or by the operator inputting two types of input signals once (eg, mouse drag). It may, but is not limited thereto.
  • the bounding box setting unit 120 may receive three or more line segments from an operator through the input/output unit 110 and set a bounding box based on a polygon composed of the input three or more line segments.
  • three or more line segments may be input by an operator at one time using a polygon tool or by inputting three or more segments by an operator using a straight line tool, but are not limited thereto.
  • the bounding box setting unit 120 may identify an object that is completely included in the inner region of the bounding box set by the operator's control or spans one or more line segments among a plurality of line segments constituting the bounding box.
  • the bounding box setting unit 120 may identify all or some of the objects included in the inner region of the bounding box set under the operator's control. To this end, the bounding box setting unit 120 may perform image processing on an area inside the bounding box.
  • the bounding box setting unit 120 may divide the inner region of the bounding box into three images according to RGB (Red, Green, Blue). The bounding box setting unit 120 may extract an edge of each image divided into three images.
  • the bounding box setting unit 120 may use either a Laplacian of Gaussian (LoG) algorithm or a Difference of Gaussian (DoG) algorithm to extract an edge of each image.
  • LoG Laplacian of Gaussian
  • DoG Difference of Gaussian
  • the bounding box setting unit 120 may remove noise existing in the image using a Gaussian filter.
  • the bounding box setting unit 120 may apply a Laplacian filter to the noise-removed image. Also, the bounding box setting unit 120 may extract an edge by detecting zerocrossing in the image to which the Laplacian filter is applied.
  • the bounding box setting unit 120 When using the DoG algorithm, the bounding box setting unit 120 generates two Gaussian masks having different variances from the image. The bounding box setting unit 120 subtracts another mask from one created mask. Also, the bounding box setting unit 120 may extract an edge by applying the subtracted mask to the image.
  • the bounding box setting unit 120 may identify one or more enclosures by edges extracted from each image. In this case, the bounding box setting unit 120 may first process binarization on each image in order to clarify whether the edge area is closed. Also, the bounding box setting unit 120 may identify the identified closed area as an object.
  • the bounding box setting unit 120 may select only one object from among the identified plurality of objects according to a preset priority.
  • the priority may be a criterion set according to the size, position or shape of the object occupying the image.
  • the bounding box setting unit 120 determines whether the identified object is one or more of a plurality of line segments constituting the bounding box based on continuity between pixels included in the inner region of the bounding box and pixels in the outer region of the bounding box. It can be determined whether or not it crosses a line segment.
  • continuity may be determined based on whether a difference in color, saturation, or brightness between two adjacent pixels is within a preset range.
  • the bounding box setting unit 120 may determine that the object is completely included in the inner region of the bounding box when the identified object does not span any line segment among a plurality of line segments constituting the bounding box.
  • the bounding box setting unit 120 when it is determined that the object is completely included in the inner region of the bounding box, bounds the object so that it closely fits the inner region of the bounding box. You can reduce the size of the box.
  • the bounding box setting unit 120 for each of a plurality of line segments constituting the bounding box, until the distance from the nearest point existing on the outline of the object is within a preset maximum number of spaced apart pixels. , the size of the bounding box can be reduced by moving the line segment toward the center of the bounding box.
  • the bounding box setting unit 120 when it is determined that the object spans one or more line segments among a plurality of line segments constituting the bounding box, sets the object to be completely included within the bounding box.
  • the size of the bounding box can be enlarged.
  • the bounding box setting unit 120 may reduce the size of the bounding box so that the object completely fits the inner region of the bounding box.
  • the bounding box setting unit 120 may, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, until the object is completely included in the inner area of the bounding box, in the outer direction of the bounding box.
  • the size of the bounding box can be enlarged by moving the line segment on which the object spans toward.
  • the bounding box setting unit 120 determines the center of the bounding box until the object is completely included in the inner region of the bounding box when the object spans one or more line segments among a plurality of line segments constituting the bounding box.
  • the size of the bounding box can be expanded in all directions by moving the object in the direction of the line segment that the object spans.
  • the bounding box setting unit 120 divides the bounding box into a plurality of subregions when the object spans one or more line segments among a plurality of line segments constituting the bounding box, and then the object is placed inside the bounding box. It is possible to enlarge only the size of the detailed region where the object spans among the divided detailed regions until it is completely included in the region. In this case, the size of the detailed region may be determined in advance according to the resolution of the image or the resolution of the object to be identified. Also, the bounding box enlarged according to the shape of the detailed region may have a polygonal shape.
  • the bounding box setting unit 120 may, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, until the object is completely included in the inner region of the merged bounding box, the object A process of newly setting an additional area outside the overlapped line segment and merging the newly set additional area and the bounding box may be repeatedly performed.
  • the object property setting unit 125 may set the properties of the object specified by the bounding box.
  • the object property setting unit 125 according to the present invention may preemptively provide a list of recommended information that can be used as object property information before a worker directly inputs property information.
  • the object property setting unit 125 may create a list of recommendation information that can be used as property information of an object corresponding to the bounding box set by the bounding box setting unit 120 .
  • the object property setting unit 125 provides information that may be used as property information of an object according to the property of a project related to artificial intelligence (AI) learning, the property of an image, or the property of a worker set in advance. You can include it to create a list of recommended information.
  • AI artificial intelligence
  • the object property setting unit 125 may calculate the average color, saturation, or brightness of pixels included in the bounding box set by the bounding box setting 120 .
  • the object property setting unit 125 may select one recommended object type according to the calculated average color, saturation, or brightness based on the probability distribution of color, saturation, or brightness configured for each type of object.
  • the object property setting unit 125 may create a list of recommendation information by including information related to the type of the selected recommendation object.
  • the object property setting unit 125 identifies the input frequency of the property information previously input by the operator from the operator's work log stored in the local storage of the annotation device 100. can do. Further, the object property setting unit 125 may create a list of recommended information by including property information with a high input frequency based on the identified input frequency.
  • the object property setting unit 125 may filter a pre-created list of recommended information.
  • the object property setting unit 125 includes information related to the type of object that cannot be set by the tool used by the operator in the process of setting the bounding box, among information included in the list of pre-created recommendation information. (ie, information irrelevant to the object) can be removed.
  • the object property setting unit 125 determines the type of object corresponding to a living organism from a list of pre-created recommendation information and Relevant information can be removed.
  • the object property setting unit 125 may select an object that does not have a skeleton from a list of pre-created recommended information. Information related to the type of may be removed.
  • the object property setting unit 125 may remove information unrelated to the object from the list of recommendation information and sort remaining information.
  • the object property setting unit 125 may arrange the information included in the list of recommended information according to a pre-set sorting criterion based on the position or size occupied by the bounding box in the image.
  • the object property setting unit 125 compares the shape of the object included in the bounding box with the basic shape provided in advance for each type of object, and based on the similarity of the two shapes included in the list of recommended information. Information can also be sorted.
  • the object property setting unit 125 may output the created and filtered recommendation information list to the input/output unit 110 . Also, the object property setting unit 125 may receive a control signal for setting object property information from an operator through the input/output unit 110 .
  • the object property setting unit 125 may provide feedback according to the type of object corresponding to the selected information.
  • the object property setting unit 125 reflects the color or transparency set differently according to the type of object corresponding to the selected information, and the user interface related to the area inside the bounding box or the area inside the object. , UI) can be changed.
  • the result generation unit 130 may generate an annotation work result and transmit it to the learning data design device 200 or the artificial intelligence learning device 300.
  • the result generation unit 130 determines the finalized bounding box.
  • Annotation work results including coordinates according to the location and size of the bounding box and determined attribute information can be created.
  • Such a work result may have a JSON file format, but is not limited thereto.
  • the output generation unit 130 may transmit the generated annotation work result to the learning data design device 200 or the artificial intelligence learning device 300 through the communication unit 105 .
  • the annotation device 100 includes a processor 150, a memory 155, a transceiver 160, an input/output device 165, and a data bus , 170) and storage (Storage, 175).
  • the processor 150 may implement operations and functions of the annotation device 100 based on instructions according to the software 180a in which the annotation method resident in the memory 155 is implemented.
  • Software 180a in which the annotation method is implemented may be loaded in the memory 155 .
  • the transceiver 160 may transmit and receive data with the learning data design device 200 and the artificial intelligence learning device 300 .
  • the input/output device 165 may receive data necessary for the operation of the annotation device 100 and output a list of images, bounding boxes, and recommendation information.
  • the data bus 170 is connected to the processor 150, the memory 155, the transceiver 160, the input/output device 165, and the storage 175, and is a movement path for transferring data between each component. role can be fulfilled.
  • the storage 175 may store an application programming interface (API), a library file, a resource file, and the like required for execution of the software 180a in which the annotation method is implemented.
  • the storage 175 may store software 180b in which the annotation method is implemented.
  • the storage 175 may store information necessary for performing the annotation method.
  • the storage 175 may include a database 185 for storing an image subject to an annotation work, a project attribute, an image attribute, a worker attribute, and a worker's work log.
  • the software (180a, 180b) for implementing the annotation method resident in the memory 155 or stored in the storage 175 is input by the processor 150 through the input/output device 165.
  • the software (180a, 180b) for implementing the annotation method resident in the memory 155 or stored in the storage 175 is input by the processor 150 through the input/output device 165.
  • AI artificial intelligence
  • the processor 150 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device.
  • the memory 155 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices.
  • the transceiver 160 may include a baseband circuit for processing wired/wireless signals.
  • the input/output device 165 includes an input device such as a keyboard, a mouse, and/or a joystick, and a Liquid Crystal Display (LCD), an Organic LED (OLED), and/or a liquid crystal display (LCD).
  • an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.
  • AMOLED active matrix OLED
  • a module may reside in memory 155 and be executed by processor 150 .
  • the memory 155 may be internal or external to the processor 150 and may be connected to the processor 150 by various well-known means.
  • Each component shown in FIG. 5 may be implemented by various means, eg, hardware, firmware, software, or a combination thereof.
  • one embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.
  • ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal Processors
  • DSPDs Digital Signal Processing Devices
  • PLDs Programmable Logic Devices
  • FPGAs Field Programmable Gate Arrays
  • processors controllers, microcontrollers, microprocessors, etc.
  • an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means.
  • the recording medium may include program commands, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software.
  • recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.
  • Fig. 6 degree 9 is one of the present invention in the examples according to bounding It is an exemplary diagram for explaining the process of setting a box.
  • the annotation device 100 of the artificial intelligence learning system loads an image 10, which is a target of annotation work for artificial intelligence (AI) learning, from an operator.
  • a control signal for specifying one object 20 included in (10) can be input.
  • FIG. 6 illustrates a situation in which two coordinates 30-1 and 30-2 are designated according to a control signal of an operator, but embodiments of the present invention are not limited thereto.
  • the annotation device 100 may set a partial region in the image 10 as a bounding box 40 according to a control signal input from a person in charge.
  • the bounding box 40 sets the bounding box 40 to have a rectangular shape having two coordinates input from the operator as the upper left vertex 30-1 and the lower right vertex 30-2, but can be set according to the present invention
  • the bounding box 40 may be various, such as a polygon, a skeleton, and the like, in addition to a rectangle.
  • the annotation device 100 is an object that is completely included in the inner region of the bounding box 40 or spans one or more line segments 40-1 among a plurality of line segments constituting the bounding box 40 ( 20) can be identified.
  • the annotation device 100 determines that the identified object 20 spans one or more line segments 40-1 among a plurality of line segments constituting the bounding box 40, the object within the bounding box 40
  • the size of the bounding box can be enlarged to include (20).
  • the annotation apparatus 100 may include a line segment 40-1 along which the object 20 extends toward the outside of the bounding box 40 until the object 20 is completely included in the inner region of the bounding box 40. ) may be moved to enlarge the size of the bounding box 40 .
  • the annotation apparatus 100 sets the center of the bounding box 40 to the line segment 40-1 along which the object 20 spans until the object 20 is completely included in the inner region of the bounding box 40. It is possible to increase the size of the bounding box 40 in all directions while moving in the direction of .
  • the annotation device 100 divides the bounding box 40 into a plurality of detailed regions, and then until the object 20 is completely included in the inner region of the bounding box 40, the object 20 is selected from among the divided detailed regions. Only the size of the detailed area spanned by (20) can be enlarged.
  • the annotation device 100 newly adds an additional area to the outer area of the line segment 40-1 spanned by the object 20 until the object 20 is completely included in the inner area of the bounding box 40.
  • the process of setting and merging the newly set additional area and the bounding box 40 may be repeatedly performed.
  • the annotation apparatus 100 when the object 20 does not span any line segment among a plurality of line segments constituting the bounding box 40, the annotation apparatus 100 indicates that the object 20 is located in an area inside the bounding box 40. It is determined that it is completely included, and the size of the bounding box 40 may be reduced so that the object 20 closely fits the inner region of the bounding box 40 .
  • the annotation device 100 determines that, for each of a plurality of line segments constituting the bounding box 40, the distance from the nearest point existing on the outline of the object 20 is within a preset maximum number of pixels apart.
  • the size of the bounding box 40 may be reduced by moving the segments 40-2 and 40-3 toward the center of the bounding box 40 until
  • the operator in performing annotation on each of the plurality of images 10 for artificial intelligence (AI) learning, according to the shape of the object 20 included in the image 10 Since the size of the bounding box 40 is automatically enlarged or reduced, the operator can more easily set the bounding box 40, and the annotation work result can have a more uniform quality.
  • AI artificial intelligence
  • a list 50 of recommended information that can be used as attribute information of the object 20 can be provided in advance.
  • the annotation device 100 creates a list 50 of recommended information based on the attributes of a project related to artificial intelligence (AI) learning, the attributes of an image, or the attributes of a worker, or included in the bounding box 40.
  • the recommended information list 50 may be prepared based on the average color, saturation, or brightness of the selected pixels, or the recommended information list 50 may be created based on the input frequency of the worker's work log stored in the local storage device. .
  • the annotation device 100 removes information irrelevant to the type of object 20 from the list of previously created recommendation information, and includes it in the list 50 according to the bounding box 40 or the characteristics of the object 20. information can be sorted.
  • the annotation device 100 may receive a control signal for setting object attribute information 51 from an operator.
  • the annotation device 100 selects the type of object 20 corresponding to the selected information 50. You can provide feedback accordingly.
  • the annotation device 100 reflects the color or transparency set differently according to the type of the object 20 corresponding to the selected information 51, and the area inside the bounding box 40 or the object 20 A user interface (UI) related to the internal area of the can be changed.
  • UI user interface
  • the annotation apparatus 100 may receive coordinates for setting a partial region in an image to be annotated as a bounding box from an operator (S100).
  • the annotation device 100 may set a bounding box based on the coordinates input by the operator (S200).
  • the annotation device 100 according to an embodiment of the present invention has a size of the bounding box that is primarily set by the operator to have a size corresponding to the outline of the object. can be automatically enlarged or reduced. A detailed description of this will be described later with reference to FIG. 13 .
  • the annotation apparatus 100 may input attribute information of an object specified by the bounding box (S300).
  • annotation device 100 may preemptively provide a list of recommended information that can be used as object attribute information before an operator directly inputs object attribute information. . A detailed description of this will be described later with reference to FIG. 14 .
  • the annotation apparatus 100 determines the location of the bounding box. And it is possible to create an annotation work result including coordinates according to the size and determined attribute information (S400). Such a work result may have a JSON file format, but is not limited thereto.
  • annotation device 100 may transmit the generated annotation work result to the learning data design device 200 or the artificial intelligence learning device 300.
  • 13 is one of the present invention in the examples according to bounding It is a flowchart to explain how to set a box.
  • the annotation apparatus 100 may set a bounding box based on coordinates input from an operator (S210).
  • the annotation apparatus 100 may set a bounding box based on a rectangle having two coordinates input from an operator as coordinates of an upper left vertex and a coordinate of a lower right vertex in an image.
  • the annotation apparatus 100 may set a bounding box based on a polygon composed of three or more line segments input from an operator.
  • the annotation device 100 may identify all or part of the objects included in the area inside the set bounding box (S220). To this end, the annotation apparatus 100 may perform image processing such as edge extraction, binarization, and closed region identification on the region inside the bounding box.
  • the annotation device 100 may determine whether a plurality of objects are included in the inner region of the bounding box (S230). As a result of the determination, if there are a plurality of objects identified in the inner region of the bounding box, the annotation apparatus 100 may select only one object from among the identified plurality of objects according to a preset priority (S240).
  • the annotation apparatus 100 may determine whether the identified object is completely included in the inner region of the bounding box (S250). To this end, the annotation apparatus 100 determines whether an identified object is assigned to one or more line segments among a plurality of line segments constituting the bounding box, based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box. It can be judged whether or not there is
  • the annotation apparatus 100 may enlarge the size of the bounding box so that the object is completely included in the bounding box (S260). .
  • the annotation apparatus 100 may enlarge the size of the bounding box by moving a line segment spanning the object toward the outside of the bounding box until the object is completely included in the inner region of the bounding box.
  • the annotation apparatus 100 may expand the size of the bounding box in all directions while moving the center of the bounding box in the direction of the line segment where the object spans until the object is completely included in the inner region of the bounding box.
  • the annotation apparatus 100 divides the bounding box into a plurality of detailed regions, and then enlarges only the size of the detailed region spanning the object among the divided detailed regions until the object is completely included in the inner region of the bounding box. can make it
  • the annotation apparatus 100 newly sets an additional area outside the line segment where the object spans, and merges the newly set additional area and the bounding box until the object is completely included in the inner area of the bounding box. may be repeated.
  • the annotation apparatus 100 may reduce the size of the bounding box so that the object closely fits the inner region of the bounding box (S270).
  • the annotation apparatus 100 performs bounding, for each of a plurality of line segments constituting the bounding box, until the distance from the nearest point existing on the outline of the object is within a preset maximum number of pixels apart. You can reduce the size of the bounding box by moving the line segment toward the center of the box.
  • the annotation apparatus 100 may create a list of recommendation information that can be used as attribute information of an object corresponding to a bounding box (310).
  • the annotation device 100 may create a list of recommended information by including information that may be used as object attribute information according to project attributes, image attributes, or worker attributes.
  • the annotation apparatus 100 may calculate the average color, saturation, or brightness of pixels included in the bounding box.
  • the annotation apparatus 100 may select one recommended object type according to the calculated average color, saturation, or brightness based on a probability distribution of color, saturation, or lightness configured for each type of object.
  • the annotation device 100 may create a recommendation information list by including information related to the type of the selected recommendation object.
  • the annotation device 100 may identify an input frequency of attribute information previously input by a worker from a worker's work log stored in a local storage device. Also, based on the identified input frequency, the annotation apparatus 100 may create a list of recommended information by including attribute information having a high input frequency.
  • the annotation device 100 may filter a pre-created list of recommendation information (S320).
  • filtering of the recommended information list may be performed by removing noise and sorting.
  • the annotation apparatus 100 may remove information related to the type of object that cannot be set by the work tool used by the operator in setting the bounding box, from among the information included in the list of recommendation information.
  • annotation device 100 may sort information remaining in the list of recommendation information.
  • the annotation apparatus 100 may arrange information included in the list of recommended information according to a pre-set sorting criterion based on the position or size occupied by the bounding box in the image.
  • the annotation device 100 compares the shape of the object included in the bounding box with the basic shape provided in advance for each object type, and compares the information included in the list of recommended information based on the similarity of the two shapes. can also be sorted.
  • the annotation device 100 may output a list of filtered recommendation information (S330). Also, the annotation apparatus 100 may receive a control signal for setting object property information from an operator (S340).
  • the annotation apparatus 100 may provide feedback according to the type of object corresponding to the selected information (S350).
  • the annotation device 100 reflects a color or transparency set differently according to the type of object corresponding to the selected information, so that the area inside the bounding box or the inside of the object You can change the user interface (UI) related to the area.
  • UI user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

The present invention proposes an annotation method for easily designating an object included in an image. The method may comprise the steps of: setting, in accordance with controlling by a worker, one area in an image which is subjected to an annotation work for artificial intelligence (AI) learning, as a bounding box; identifying an object which is completely included in the inner area of the bounding box or overlaps one or more lines from among a plurality of lines forming the bounding box; expanding or reducing the size of the bounding box such that the size corresponds to the outer line of the identified object; and, if the location and the size of the bounding box which has been expanded or reduced by the worker's controlling is determined, generating a work result of the annotation by including coordinates in accordance with the determined location and size of the bounding box.

Description

용이하게 객체를 지정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램An annotation method that can easily designate an object and a computer program recorded on a recording medium to execute the annotation method
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터 설계에 관한 것이다. 보다 상세하게는, 인공지능(AI) 학습용 데이터를 어노테이션함에 있어, 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to data design for artificial intelligence (AI) learning. More specifically, in annotating artificial intelligence (AI) learning data, it relates to an annotation method that can easily designate an object included in an image and a computer program recorded on a recording medium to execute the annotation method.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.Artificial intelligence (AI) refers to a technology that artificially implements some or all of human learning abilities, reasoning abilities, and perception abilities using computer programs. In relation to artificial intelligence (AI), machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. Such machine learning is classified into supervised learning, unsupervised learning, and reinforcement learning according to the form of learning data.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장, 및 데이터의 검증 단계로 진행된다.In general, the design of artificial intelligence (AI) learning data proceeds in the steps of data structure design, data collection, data refinement, data processing, data expansion, and data verification.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 메타데이터(meta data)를 입력하고 어노테이션(annotation)을 수행하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.To describe each step in more detail, data structure design is performed through ontology definition, classification system definition, and the like. Data collection is performed by collecting data through direct filming, web crawling, or associations/professional organizations. Data purification is performed by removing redundant data from collected data and de-identifying personal information. Data processing is performed by inputting meta data and performing annotation. Data extension is performed by performing ontology mapping and supplementing or extending the ontology as needed. In addition, data verification is performed by verifying validity according to the set target quality using various verification tools.
일반적으로, 데이터 가공 단계의 어노테이션은 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box) 처리하고, 바운딩 박스 처리된 객체의 속성 정보를 입력하여 진행된다. 이와 같은 어노테이션은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 그리고, 어노테이션의 작업 결과물에 해당되는 데이터셋(dataset)은 JSON(Java Script Object Notation) 파일 형태로 산출된다.In general, annotation in the data processing step is performed by processing a bounding box for an object included in an image and inputting property information of the object included in the image. Such annotations are also referred to as data labeling. And, a dataset corresponding to the work result of the annotation is calculated in the form of a JSON (Java Script Object Notation) file.
구체적으로, 어노테이션에서 바운딩 박스를 처리하는 과정은 이미지 속 인식하고자 하는 객체 각각에 대하여, 객체의 외곽에 따라 작업자가 일일이 수작업으로 바운딩 박스 처리하여 진행된다. Specifically, in the process of processing the bounding box in the annotation, a worker manually processes the bounding box according to the outline of the object for each object to be recognized in the image.
그러나, 바운딩 박스 처리는 인공지능(AI) 학습 효과(즉, 이미지 속 객체의 인식률)를 보장하기 위하여 사전에 결정된 다양한 규칙에 따라야 한다. 예를 들어, 바운딩 박스 처리는 객체가 인식될 수 있는 영역의 최소 크기 값, 객체의 외곽선으로부터의 최대 이격 픽셀(pixel) 수 등의 규칙에 따라야 한다. 따라서, 작업자가 다수의 객체에 대하여 일일이 수작업으로 바운딩 박스 처리하는 과정에서 사전에 결정된 모든 규칙을 완벽하게 준수하는 것은 쉬운 일이 아니다.However, the bounding box processing must follow various rules determined in advance to ensure an artificial intelligence (AI) learning effect (ie, recognition rate of an object in an image). For example, the bounding box processing must follow rules such as the minimum size value of an area in which an object can be recognized and the maximum number of pixels away from the object's outline. Therefore, it is not easy for a worker to perfectly comply with all rules determined in advance in the process of manually processing bounding boxes for a plurality of objects.
또한, 어노테이션에서 속성 정보를 입력하는 과정도 바운딩 박스 처리된 각각의 객체에 대하여 작업자가 일일이 수작업으로 정보를 입력하여 진행된다. In addition, the process of inputting attribute information in annotations is also performed by a worker manually inputting information for each bounding box processed object.
그러나, 작업자가 입력해야 하는 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류, 상위 레벨(instance upper) 등 다양한 정보가 포함되어야 한다. 따라서, 작업자가 다수의 객체에 대하여 일일이 수작업으로 모든 속성 정보를 정확하게 입력하는 것 또한 쉬운 일이 아니다. However, the attribute information to be entered by the operator includes various information such as the type of annotation, class name (class), classification item (tags), whether the object is truncated (truncated), large category, small category, and instance upper level. should be included Therefore, it is also not easy for an operator to manually and accurately input all attribute information for a plurality of objects one by one.
본 발명의 일 목적은 인공지능(AI) 학습용 데이터를 어노테이션함에 있어, 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 어노테이션 방법을 제공하는 것이다.One object of the present invention is to provide an annotation method that can easily designate an object included in an image when annotating data for artificial intelligence (AI) learning.
본 발명의 다른 목적은 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium to execute an annotation method capable of easily designating an object included in an image.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 어노테이션 방법을 제안한다. 상기 방법은 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계; 상기 바운딩 박스의 내측 영역에 완전히 포함되거나, 또는 상기 바운딩 박스를 구성하는 복수 개의 선분(line) 중에서 하나 이상의 선분에 걸쳐 있는 객체(object)를 식별하는 단계; 상기 식별된 객체의 외곽선에 대응하는 크기를 가지도록 상기 바운딩 박스의 크기를 확대 또는 축소하는 단계; 및 상기 작업자의 제어에 의해 상기 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되면, 상기 확정된 바운딩 박스의 위치 및 크기에 따른 좌표를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 포함할 수 있다.In order to achieve the above technical problem, the present invention proposes an annotation method that can easily designate an object included in an image. The method includes the steps of setting a partial region in an image, which is a target of annotation work for artificial intelligence (AI) learning, as a bounding box under the control of an operator; identifying an object completely included in an inner region of the bounding box or spanning one or more line segments among a plurality of lines constituting the bounding box; enlarging or reducing the size of the bounding box to have a size corresponding to the outline of the identified object; and when the position and size of the expanded or reduced bounding box are determined under the operator's control, generating an annotation work result including coordinates according to the determined position and size of the bounding box. .
상기 바운딩 박스로 설정하는 단계는 상기 이미지 내에서 상기 작업자로부터 입력된 두 좌표를 좌상단 꼭짓점(vertex)의 좌표와 우하단 꼭짓점의 좌표로 가지는 사각형을 기초로 상기 바운딩 박스를 설정할 수 있다.In the setting of the bounding box, the bounding box may be set based on a rectangle having two coordinates input from the operator as coordinates of an upper left vertex and a coordinate of a lower right vertex in the image.
상기 객체를 식별하는 단계는 상기 바운딩 박스의 내측 영역에 포함된 픽셀과 상기 바운딩 박스의 외측 영역의 픽셀 사이의 연속성을 기준으로 상기 객체가 상기 선분에 걸쳐 있는지 여부를 판단할 수 있다. 여기서, 상기 연속성은 인접한 두 픽셀의 색상, 채도 또는 명도의 차이가 사전에 설정된 범위 이내인지 여부를 기준으로 판단될 수 있다.In the identifying the object, it may be determined whether the object spans the line segment based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box. Here, the continuity may be determined based on whether a difference in color, saturation, or brightness between two adjacent pixels is within a preset range.
상기 객체를 식별하는 단계는 상기 바운딩 박스 내측 영역에서 식별된 객체가 복수 개인 경우, 사전에 설정된 우선순위에 따라 상기 복수 개의 객체 중에서 하나의 객체만을 선택할 수 있다. 이 경우, 상기 우선순위는 이미지 내에서 차지하고 있는 객체의 크기, 위치 또는 형성에 따라 설정된 기준이 될 수 있다.In the identifying of the object, when there are a plurality of objects identified in the inner region of the bounding box, only one object may be selected from among the plurality of objects according to a preset priority. In this case, the priority may be a criterion set according to the size, position, or shape of an object occupied in the image.
일 실시예에 따르면, 상기 크기를 확대 또는 축소하는 단계는 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함되는 경우, 상기 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여 상기 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 상기 바운딩 박스의 중심을 향하여 상기 선분을 이동시킬 수 있다.According to one embodiment, in the step of enlarging or reducing the size, when the identified object is completely included in the inner region of the bounding box, it is present on the outline of the object for each of a plurality of line segments constituting the bounding box. The line segment may be moved toward the center of the bounding box until the distance from the closest point to the point is within a preset maximum number of pixels apart.
다른 실시예에 따르면, 상기 크기를 확대 또는 축소하는 단계는 상기 식별된 객체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 바운딩 박스의 외부 방향을 향하여 상기 객체가 걸쳐진 선분을 이동시킬 수 있다.According to another embodiment, the step of enlarging or reducing the size may include, when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object is located in an inner area of the bounding box. A line segment spanning the object may be moved toward an outside direction of the bounding box until it is completely included.
다른 실시예에 따르면, 상기 크기를 확대 또는 축소하는 단계는 상기 식별된 개체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 바운딩 박스의 중심을 상기 객체가 걸쳐진 선분의 방향으로 이동시키며 상기 바운딩 박스의 크기를 사방으로 확대할 수 있다.According to another embodiment, the step of enlarging or reducing the size may include, when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object is located in an inner area of the bounding box. The size of the bounding box may be expanded in all directions while moving the center of the bounding box in the direction of the line segment on which the object spans until it is completely included.
다른 실시예에 따르면, 상기 크기를 확대 또는 축소하는 단계는 상기 식별된 개체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 분할된 세부 영역 중에서 상기 객체가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다.According to another embodiment, the step of enlarging or reducing the size may include dividing the bounding box into a plurality of detailed areas when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, and then , From among the divided detailed areas, only the size of the detailed area spanning the object may be enlarged until the identified object is completely included in the inner area of the bounding box.
또 다른 실시예에 따르면, 상기 크기를 확대 또는 축소하는 단계는 상기 식별된 개체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 식별된 객체가 병합된 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 객체가 걸쳐진 선분의 바깥 영역에 사전에 결정된 크기를 가지는 추가 영역을 새롭게 설정하고 새롭게 설정된 추가 영역과 상기 바운딩 박스를 병합시키는 과정을 반복 수행할 수 있다.According to another embodiment, the step of enlarging or reducing the size may include, when the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object is merged inside the bounding box. A process of newly setting an additional area having a predetermined size outside the line segment where the object spans and merging the newly set additional area and the bounding box may be repeatedly performed until the object is completely included in the area.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 입출력장치(input output device); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 상기 입출력장치를 통해 입력된 작업자의 제어에 따라, 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정하는 단계; 상기 프로세서가, 상기 바운딩 박스의 내측 영역에 완전히 포함되거나, 또는 상기 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별하는 단계; 상기 프로세서가, 상기 식별된 객체의 외곽선에 대응하는 크기를 가지도록 상기 바운딩 박스의 크기를 확대 또는 축소하는 단계; 및 상기 프로세서가, 상기 입출력장치를 통해 입력된 작업자의 제어에 의해 상기 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되면, 상기 확정된 바운딩 박스의 위치 및 크기에 따른 좌표를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 실행시키기 위하여, 기록매체에 기록될 수 있다.In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium to execute the annotation method. The computer program may include a memory; input output device; and a processor configured to process instructions resident in the memory. In addition, the computer program may include setting, by the processor, a partial region in an image to be an annotation work target for artificial intelligence (AI) learning as a bounding box according to operator control input through the input/output device; identifying, by the processor, an object completely included in an inner region of the bounding box or spanning one or more line segments among a plurality of line segments constituting the bounding box; enlarging or reducing, by the processor, the size of the bounding box to have a size corresponding to the outline of the identified object; and when the location and size of the expanded or reduced bounding box are confirmed by the processor under the operator's control input through the input/output device, annotation work including coordinates according to the location and size of the determined bounding box. In order to execute the step of generating the result, it can be recorded on a recording medium.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.
본 발명의 실시 예들에 따르면, 인공지능(AI) 학습을 위한 다수의 이미지 각각에 대하여 어노테이션을 수행함에 있어, 이미지 속에 포함된 객체의 형상에 따라 바운딩 박스의 크기가 자동으로 확대 또는 축소됨으로써, 어노테이션을 수행하는 작업자는 보다 용이하게 바운딩 박스를 설정할 수 있게 되며, 어노테이션 작업 결과물은 보다 균일한 품질을 가질 수 있게 된다.According to the embodiments of the present invention, in performing annotation on each of a plurality of images for artificial intelligence (AI) learning, the size of the bounding box is automatically enlarged or reduced according to the shape of an object included in the image, so that the annotation A worker who performs can more easily set the bounding box, and the annotation work result can have a more uniform quality.
결과적으로, 본 발명의 실시 예들에 따르면, 이미지 속에 포함된 객체의 인식률을 일정하게 보장할 수 있는 인공지능(AI) 학습용 데이터를 생성할 수 있게 된다.As a result, according to embodiments of the present invention, it is possible to generate artificial intelligence (AI) learning data capable of constantly guaranteeing a recognition rate of an object included in an image.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
도 1 내지 도 3은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.1 to 3 are configuration diagrams of an artificial intelligence learning system according to various embodiments of the present invention.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.5 is a hardware configuration diagram of an annotation device according to an embodiment of the present invention.
도 6 내지 도 9는은 본 발명의 일 실시예에 따라 바운딩 박스를 설정하는 과정을 설명하기 위한 예시도이다.6 to 9 are exemplary diagrams for explaining a process of setting a bounding box according to an embodiment of the present invention.
도 10 및 도 11은 발명의 일 실시예에 따라 객체의 속성을 입력하는 과정을 설명하기 위한 예시도이다.10 and 11 are exemplary diagrams for explaining a process of inputting object attributes according to an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.12 is a flowchart for explaining an annotation method according to an embodiment of the present invention.
도 13은 본 발명의 일 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.13 is a flowchart for explaining a method of setting a bounding box according to an embodiment of the present invention.
도 14는 본 발명의 일 실시예에 따라 객체의 속성 정보를 입력하는 방법을 설명하기 위한 순서도이다.14 is a flowchart illustrating a method of inputting attribute information of an object according to an embodiment of the present invention.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, technical terms used in this specification should be interpreted in terms commonly understood by those of ordinary skill in the art to which the present invention belongs, unless specifically defined otherwise in this specification, and are overly inclusive. It should not be interpreted in a positive sense or in an excessively reduced sense. In addition, when the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that those skilled in the art can correctly understand. In addition, general terms used in the present invention should be interpreted as defined in advance or according to context, and should not be interpreted in an excessively reduced sense.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "consisting of" or "having" should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or steps are included. It should be construed that it may not be, or may further include additional components or steps.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Also, terms including ordinal numbers such as first and second used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components may exist in the middle. On the other hand, when a component is referred to as “directly connected” or “directly connected” to another component, it should be understood that no other component exists in the middle.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are given the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed as extending to all changes, equivalents or substitutes other than the accompanying drawings.
한편, 인공지능(AI) 학습용 데이터를 가공하기 위한 어노테이션과 관련하여, 작업자가 다수의 객체에 대하여 일일이 수작업으로 바운딩 박스 처리하는 과정에서 사전에 결정된 모든 규칙을 완벽하게 준수하는 것은 쉬운 일이 아니다. 또한, 작업자가 다수의 객체에 대하여 일일이 수작업으로 모든 속성 정보를 정확하게 입력하는 것 또한 쉬운 일이 아니다. On the other hand, in relation to annotations for processing artificial intelligence (AI) learning data, it is not easy for workers to perfectly comply with all rules determined in advance in the process of manually processing bounding boxes for multiple objects. In addition, it is also not easy for a worker to manually and accurately input all attribute information for a plurality of objects.
이러한 어려움을 극복하기 위하여, 본 발명은 바운딩 박스를 설정하고, 객체의 속성 정보를 입력하는 과정에서 작업자에게 다양한 편의성을 제공할 수 있는 수단들을 제안하고자 한다.In order to overcome these difficulties, the present invention intends to propose means capable of providing various conveniences to operators in the process of setting a bounding box and inputting object attribute information.
**
도 1 Figure 1 내지 도degree 3은 본 발명의 다양한 3 is a variety of the present invention 실시예에in the examples 따른 인공지능 학습 시스템의 구성도이다. It is a configuration diagram of an artificial intelligence learning system according to
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(100-1, 100-2, 100-3, …, 100-n; 100) 및 인공지능 학습 장치(300)를 포함하여 구성될 수 있다.As shown in Figure 1, the artificial intelligence learning system according to an embodiment of the present invention includes one or more annotation devices (100-1, 100-2, 100-3, ..., 100-n; 100) and artificial intelligence learning. It may be configured to include device 300 .
도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 어노테이션 장치(100) 및 인공지능 학습 장치(300) 외에 학습 데이터 설계 장치(200)를 추가적으로 포함하여 구성될 수 있다.As shown in FIG. 2, the artificial intelligence learning system according to another embodiment of the present invention may be configured to additionally include a learning data design device 200 in addition to the annotation device 100 and the artificial intelligence learning device 300. .
또한, 도 3에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 인공지능 학습 시스템은 어노테이션 장치(100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)가 공개된 네트워크(public network)를 통해 서로 연결될 수도 있다. 이 경우, 어노테이션 장치(100)의 일부는 클라우딩 서비스(clouding service)에 의해 어노테이션을 수행하는 장치가 될 수도 있다.In addition, as shown in FIG. 3, the artificial intelligence learning system according to another embodiment of the present invention has a network ( They can also be connected to each other through a public network). In this case, a part of the annotation device 100 may be a device that performs annotation by a clouding service.
이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the artificial intelligence learning system according to various embodiments are merely functionally distinct elements, two or more components are integrated and implemented in the actual physical environment, or one component is implemented in the actual physical environment. may be implemented separately from each other.
각각의 구성 요소에 대하여 설명하면, 어노테이션 장치(100)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 제공된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.Each component is described, the annotation device 100 is a device that can be used to annotate an image provided from the learning data design device 200 or the artificial intelligence learning device 300.
특히, 본 발명에 따른 어노테이션 장치(100)는 어노테이션 작업과 관련하여 바운딩 박스를 설정하고, 객체의 속성 정보를 입력하는 과정에서 작업자에게 다양한 편의성을 제공할 수 있는 특징을 가지고 있다.In particular, the annotation device 100 according to the present invention has a feature of providing various conveniences to the operator in the process of setting a bounding box and inputting object attribute information in relation to annotation work.
이와 같은, 어노테이션 장치(100)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.As such, the annotation device 100 may be any device capable of transmitting/receiving data with the learning data design device 200 or the artificial intelligence learning device 300 and performing calculations using the transmitted/received data. there is.
예를 들어, 어노테이션 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.For example, the annotation device 100 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto, and may include a smart phone, such as laptops, tablets, phablets, Portable Multimedia Players (PMPs), Personal Digital Assistants (PDAs) or E-book readers. It may be any one of the mobile computing devices.
상술한 바와 같은, 어노테이션 장치(100)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 4 내지 도 14를 참조하여 설명하기로 한다.As described above, the specific configuration and operation of the annotation device 100 will be described with reference to FIGS. 4 to 14 later.
다음 구성으로, 학습 데이터 설계 장치(200)는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 설계 장치(200)는 기본적으로 인공지능 학습 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 인공지능 학습 장치(300)에 통합되어 구현될 수도 있다.With the following configuration, the learning data design device 200 is a device that can be used to design and generate artificial intelligence (AI) learning data. As such, the learning data design device 200 is basically a device that is distinguished from the artificial intelligence learning device 300, but may be implemented by being integrated with the artificial intelligence learning device 300 in a real physical environment.
구체적으로, 학습 데이터 설계 장치(200)는 인공지능 학습 장치(300)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치(200)는 사용자의 제어 및 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.Specifically, the learning data design device 200 may receive attributes of a project related to artificial intelligence (AI) learning from the artificial intelligence learning device 300 . The learning data design device 200 designs data structures for artificial intelligence (AI) learning, refines collected data, processes data, expands data, and verifies data based on the user's control and the attributes of the project. can be done
특히, 학습 데이터 설계 장치(200)는 인공지능(AI) 학습을 위한 데이터 가공을 위하여, 어노테이션의 대상이 되는 이미지를 어노테이션 장치(100)에 전송할 수 있다. 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 어노테이션 작업 결과물을 수신할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있다. 이와 다르게, 학습 데이터 설계 장치(200)는 JSON과 다른 형식의 어노테이션 작업 결과물을 수신한 후, 수신된 결과물을 기초로 JSON 파일을 생성할 수도 있다. 그리고, 학습 데이터 설계 장치(200)는 수신 또는 생성된 JSON 파일을 검수(inspection)한 후, 이를 패키징하여 인공지능 학습 장치(300)에 전송할 수 있다.In particular, the learning data design device 200 may transmit an image to be annotated to the annotation device 100 for data processing for artificial intelligence (AI) learning. The learning data design device 200 may receive an annotation work result from the annotation device 100 . In this case, the annotation work result may have a JSON (Java Script Object Notation) file format. Alternatively, the learning data design device 200 may generate a JSON file based on the received result after receiving a result of annotation work in a format different from JSON. In addition, the learning data design device 200 may inspect the received or created JSON file, package it, and transmit it to the artificial intelligence learning device 300.
이와 같은, 학습 데이터 설계 장치(200)는 어노테이션 장치(100) 및 인공지능 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 설계 장치(200)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the learning data design device 200 may be any device capable of transmitting/receiving data with the annotation device 100 and the artificial intelligence learning device 300 and performing calculations using the transmitted/received data. there is. For example, the learning data design device 200 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
다음 구성으로, 인공지능 학습 장치(300)는 인공지능(AI) 학습용 데이터를 기초로, 인공지능(AI)의 기계 학습을 수행하는데 사용될 수 있는 장치이다.With the following configuration, the artificial intelligence learning device 300 is a device that can be used to perform machine learning of artificial intelligence (AI) based on data for artificial intelligence (AI) learning.
구체적으로, 인공지능 학습 장치(300)는 어노테이션 장치(100)로부터 직접 또는 학습 데이터 설계 장치(200)로부터 패키징된 JSON 파일을 수신할 수 있다. 그리고, 인공지능 학습 장치(300)는 수신된 JSON 파일을 이용하여 인공지능(AI)의 기계 학습을 수행할 수 있다.Specifically, the artificial intelligence learning device 300 may receive a JSON file packaged directly from the annotation device 100 or from the learning data design device 200 . And, the artificial intelligence learning device 300 may perform artificial intelligence (AI) machine learning using the received JSON file.
이와 같은, 인공지능 학습 장치(300)는 어노테이션 장치(100) 또는 학습 데이터 설계 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the artificial intelligence learning device 300 may be any device capable of transmitting and receiving data to and from the annotation device 100 or the learning data design device 200 and performing calculations using the transmitted and received data. there is. For example, the artificial intelligence learning device 300 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
상술한 바와 같은, 하나 이상의 어노테이션 장치(100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, one or more of the annotation device 100, the learning data design device 200, and the artificial intelligence learning device 300 are a combination of one or more of a security line, a common wired communication network, or a mobile communication network directly connected between the devices. Data can be transmitted and received using a network.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired communication networks may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be, but is not limited thereto. In addition, in the mobile communication network, Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile telecommunication may be included, but is not limited thereto.
이하, 상술한 바와 같은, 어노테이션 장치(100)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the annotation device 100 as described above will be described in more detail.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
도 4에 도시된 바와 같이, 어노테이션 장치(100)는 통신부(105), 입출력부(110), 저장부(115), 바운딩 박스 설정부(120), 객체 속성 설정부(125) 및 결과물 생성부(130)를 포함하여 구성될 수 있다.As shown in FIG. 4, the annotation device 100 includes a communication unit 105, an input/output unit 110, a storage unit 115, a bounding box setting unit 120, an object property setting unit 125, and a result generation unit. It may be configured to include (130).
이와 같은, 어노테이션 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the annotation device 100 are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is separated from each other in an actual physical environment. could be implemented.
각각의 구성 요소에 대하여 설명하면, 통신부(105)는 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)와 데이터를 송수신할 수 있다.The communication unit 105 can transmit/receive data with the learning data design device 200 and the artificial intelligence learning device 300 when each component is described.
구체적으로, 통신부(105)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 하나 이상의 이미지를 수신할 수 있다. Specifically, the communication unit 105 may receive one or more images from the learning data design device 200 or the artificial intelligence learning device 300 .
여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 이미지는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)가 설계한 데이터 가공 계획에 따라, 어노테이션 작업의 대상이 되는 이미지를 개별적으로 수신하거나, 또는 복수 개의 이미지를 일괄적으로 수신할 수 있다.Here, the image is an image that is a target of annotation work for artificial intelligence (AI) learning. According to the data processing plan designed by the learning data design device 200 or the artificial intelligence learning device 300, the images to be annotated are individually received, or a plurality of images are collectively received. can receive
통신부(105)는 어노테이션의 작업 결과물을 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다.The communication unit 105 may transmit the annotation work result to the learning data design device 200 or the artificial intelligence learning device 300 .
여기서, 작업 결과물은 작업자의 제어에 따라 설정된 바운딩 박스의 좌표 및 객체의 속성 정보가 포함될 수 있다. 또한, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Here, the work result may include the coordinates of the bounding box set under the operator's control and property information of the object. In addition, the work result may have a JSON file format, but is not limited thereto.
그리고, 통신부(150)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다.Also, the communication unit 150 may receive project properties, image properties, or worker properties from the learning data design device 200 or the artificial intelligence learning device 300 .
여기서, 프로젝트의 속성에는 인공지능(AI)의 학습과 관련된 프로젝트에 대한 학습 목적, 학습 기간, 학습에 필요한 이미지의 수, 이미지에서 식별하고자 하는 객체의 속성, 바운딩 박스 설정 규칙 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Here, the properties of the project may include the learning purpose, learning period, number of images required for learning, object properties to be identified in images, bounding box setting rules, etc. for a project related to artificial intelligence (AI) learning. It is not limited to this.
이미지의 속성에는 이미지의 파일명, 이미지의 크기(너비, 높이), 해상도, 비트 수준, 압축 형식, 촬영 장치명, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 값, 촬영 장소 좌표(GPS 위도, 경도), 촬영 시각 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Image properties include image file name, image size (width, height), resolution, bit level, compression format, shooting device name, exposure time, ISO speed, focal length, aperture value, and shooting location coordinates (GPS latitude, longitude). , shooting time, etc. may be included, but is not limited thereto.
작업자의 속성에는 작업자의 명칭, 식별번호, 할당된 작업량, 작업에 따른 비용, 작업 결과 평가 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The worker's attributes may include, but are not limited to, the worker's name, identification number, assigned work amount, cost according to the work, work result evaluation, and the like.
또한, 바운딩 박스 설정 규칙은 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라, 작업자가 이미지 내의 객체에 바운딩 박스를 설정하는 과정에서 지켜야 하는 규칙이다. 이러한, 바운딩 박스 설정 규칙에는 영역의 최소 크기 값, 객체의 외곽선으로부터의 최대 이격 픽셀 수 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.In addition, the bounding box setting rule is a rule that a worker must follow in a process of setting a bounding box for an object in an image according to a project property, an image property, or a worker property. These bounding box setting rules may include, but are not limited to, a minimum size value of an area and a maximum number of pixels separated from an object's outline.
다음 구성으로, 입출력부(110)는 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 신호를 입력 거나, 또는 연산된 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit 110 may input a signal from an operator through a user interface (UI) or output a calculated result to the outside.
여기서, 작업자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 작업자는 사용자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.Here, the worker means a person who performs annotation work. Such an operator may be referred to as a user, performer, labeler, or data labeler, but is not limited thereto.
구체적으로, 입출력부(110)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit 110 may output an image to be an annotation work. The input/output unit 110 may receive a control signal for setting a bounding box from an operator. Also, the input/output unit 110 may overlay and output a bounding box on the image.
여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.Here, the bounding box is an area for specifying an object to be learned by artificial intelligence (AI) among objects included in the image. Such a bounding box may have a rectangle or polygon shape, but is not limited thereto.
입출력부(110)는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 출력할 수 있다. 그리고, 입출력부(110)는 객체의 속성 정보를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. The input/output unit 110 may output a list of recommendation information that can be used as object attribute information. Also, the input/output unit 110 may receive a control signal for setting object attribute information from an operator.
여기서, 추천 정보(proposed information)의 목록은 객체의 속성 정보에 포함될 가능성이 높은 정보들로 구성되어, 작업자가 어노테이션을 수행하는 과정에서 객체의 속성 정보로 활용할 수 있는 정보들의 목록(list)이다.Here, the proposed information list is a list of information that is composed of information that is likely to be included in object attribute information and can be utilized as object attribute information in the process of performing annotation by a worker.
또한, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.In addition, object attribute information is information for specifying the attribute of an object that is an artificial intelligence (AI) learning target. Such object attribute information includes information on the type of annotation, class name (class), classification items (tags), truncated state of the object, major classification, subclassification, or upper level (instance upper). may be, but is not limited thereto.
다음 구성으로, 저장부(115)는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.With the following configuration, the storage unit 115 may store data required for annotation work.
구체적으로, 저장부(115)는 통신부(105)를 통해 수신된 이미지를 저장할 수 있다. 저장부(115)는 통신부(105)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다. Specifically, the storage unit 115 may store an image received through the communication unit 105 . The storage unit 115 may store project properties, image properties, or worker properties received through the communication unit 105 .
저장부(115)는 입출력부(110)를 통해 입력된 제어 신호에 따라 설정된 바운딩 박스의 위치 및 크기를 임시 저장할 수 있다. 저장부(115)는 입출력부(110)를 통해 입력된 객체의 속성을 임시 저장할 수 있다.The storage unit 115 may temporarily store the location and size of the bounding box set according to the control signal input through the input/output unit 110 . The storage unit 115 may temporarily store attributes of objects input through the input/output unit 110 .
다음 구성으로, 바운딩 박스 설정부(120)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 바운딩 박스를 설정할 수 있다. 특히, 본 발명에 따른 바운딩 박스 설정부(120)는 이미지 속에 포함된 객체의 형상에 따라, 작업자가 일차적으로 설정한 바운딩 박스가 객체의 외곽선에 대응하는 크기를 가지도록, 바운딩 박스의 크기를 자동으로 확대 또는 축소할 수 있는 특징을 가지고 있다. With the following configuration, the bounding box setting unit 120 may set a bounding box for specifying an object to be studied by artificial intelligence (AI) among objects included in an image. In particular, the bounding box setting unit 120 according to the present invention automatically adjusts the size of the bounding box according to the shape of the object included in the image so that the bounding box primarily set by the operator has a size corresponding to the outline of the object. It has a feature that can be enlarged or reduced.
우선적으로, 바운딩 박스 설정부(120)는 입출력부(110)를 통해 입력된, 작업자의 제어에 따라 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정할 수 있다. First of all, the bounding box setting unit 120 may set a partial region in an image to be an annotation work target for learning as a bounding box according to control of an operator input through the input/output unit 110 .
구체적으로, 바운딩 박스 설정부(120)는 입출력부(110)를 통해 작업자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 두 개의 좌표는 작업자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 작업자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.Specifically, the bounding box setting unit 120 receives two coordinates from the operator through the input/output unit 110, and has the input two coordinates as the coordinates of the upper left vertex and the coordinates of the lower right vertex in the image. You can set a bounding box based on a rectangle. In this case, the two coordinates may be set by the operator inputting one type of input signal twice (eg, mouse click) or by the operator inputting two types of input signals once (eg, mouse drag). It may, but is not limited thereto.
이와 다르게, 바운딩 박스 설정부(120)는 입출력부(110)를 통해 작업자로부터 세 개 이상의 선분(line)을 입력 받고, 입력된 세 개 이상의 선분으로 구성된 다각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 세 개 이상의 선분은 작업자가 다각형 툴을 이용하여 한번에 입력되거나, 작업자가 직선 툴을 이용하여 세 번 이상 입력하여 설정될 수 있으나, 이에 한정되는 것은 아니다.Alternatively, the bounding box setting unit 120 may receive three or more line segments from an operator through the input/output unit 110 and set a bounding box based on a polygon composed of the input three or more line segments. In this case, three or more line segments may be input by an operator at one time using a polygon tool or by inputting three or more segments by an operator using a straight line tool, but are not limited thereto.
다음으로, 바운딩 박스 설정부(120)는 작업자의 제어에 의해 설정된 바운딩 박스의 내측 영역에 완전히 포함되거나, 또는 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별할 수 있다.Next, the bounding box setting unit 120 may identify an object that is completely included in the inner region of the bounding box set by the operator's control or spans one or more line segments among a plurality of line segments constituting the bounding box.
구체적으로, 바운딩 박스 설정부(120)는 작업자의 제어 의해 설정된 바운딩 박스 내측 영역에 포함된 객체의 전부 또는 일부를 식별할 수 있다. 이를 위하여, 바운딩 박스 설정부(120)는 바운딩 박스 내측 영역에 대하여 이미지 처리(image processing)를 수행할 수 있다.Specifically, the bounding box setting unit 120 may identify all or some of the objects included in the inner region of the bounding box set under the operator's control. To this end, the bounding box setting unit 120 may perform image processing on an area inside the bounding box.
예를 들어, 바운딩 박스 설정부(120)는 바운딩 박스 내측 영역을 RGB(Red, Green, Blue)에 따라 세 개의 이미지로 분할할 수 있다. 바운딩 박스 설정부(120)는 세 개의 이미지로 분할된 각 이미지의 엣지를 추출(edge detection)할 수 있다. 보다 상세하게, 바운딩 박스 설정부(120)는 각 이미지의 엣지 추출을 위하여, LoG(Laplacian of Gaussian) 알고리즘 또는 DoG(Difference of Gaussian) 알고리즘 중 어느 하나를 이용할 수 있다. For example, the bounding box setting unit 120 may divide the inner region of the bounding box into three images according to RGB (Red, Green, Blue). The bounding box setting unit 120 may extract an edge of each image divided into three images. In more detail, the bounding box setting unit 120 may use either a Laplacian of Gaussian (LoG) algorithm or a Difference of Gaussian (DoG) algorithm to extract an edge of each image.
LoG 알고리즘을 이용할 경우, 바운딩 박스 설정부(120)는 가우시안 필터(Gaussian filter)를 이용하여 이미지 내에 존재하는 잡음을 제거할 수 있다. 바운딩 박스 설정부(120)는 잡음이 제거된 이미지에 라플라시안 필터(Laplacian)를 적용할 수 있다. 그리고, 바운딩 박스 설정부(120)는 라플라시안 필터가 적용된 이미지에 영교차(zerocrossing)을 검출하여 엣지를 추출할 수 있다.When using the LoG algorithm, the bounding box setting unit 120 may remove noise existing in the image using a Gaussian filter. The bounding box setting unit 120 may apply a Laplacian filter to the noise-removed image. Also, the bounding box setting unit 120 may extract an edge by detecting zerocrossing in the image to which the Laplacian filter is applied.
DoG 알고리즘을 이용할 경우, 바운딩 박스 설정부(120)는 이미지로부터 분산이 서로 다른 가우시안 마스크(Gaussian mask)를 두 개 생성한다. 바운딩 박스 설정부(120)는 생성된 하나의 마스크에서 다른 하나의 마스크를 뺀다. 그리고, 바운딩 박스 설정부(120)는 뺀 마스크를 이미지에 적용하여 엣지를 추출할 수 있다.When using the DoG algorithm, the bounding box setting unit 120 generates two Gaussian masks having different variances from the image. The bounding box setting unit 120 subtracts another mask from one created mask. Also, the bounding box setting unit 120 may extract an edge by applying the subtracted mask to the image.
바운딩 박스 설정부(120)는 각 이미지 내에서 추출된 엣지에 의한 폐쇄 영역(enclosure)을 하나 이상 식별할 수 있다. 이 경우, 바운딩 박스 설정부(120)는 엣지 영역이 폐쇄되었는지 명확히 하기 위하여, 각 이미지에 이진화(binarization)를 먼저 처리할 수 있다. 그리고, 바운딩 박스 설정부(120)는 식별된 폐쇄 영역을 객체로 식별할 수 있다.The bounding box setting unit 120 may identify one or more enclosures by edges extracted from each image. In this case, the bounding box setting unit 120 may first process binarization on each image in order to clarify whether the edge area is closed. Also, the bounding box setting unit 120 may identify the identified closed area as an object.
만약, 바운딩 박스 내측 영역에서 식별된 객체가 복수 개인 경우, 바운딩 박스 설정부(120)는 사전에 설정된 우선순위에 따라, 식별된 복수 개의 객체 중에서 하나의 객체만을 선택할 수 있다. 이 경우, 우선순위는 이미지 내에서 차지하고 있는 객체의 크기, 위치 또는 형상에 따라 설정된 기준이 될 수 있다.If a plurality of objects are identified in the inner region of the bounding box, the bounding box setting unit 120 may select only one object from among the identified plurality of objects according to a preset priority. In this case, the priority may be a criterion set according to the size, position or shape of the object occupying the image.
다음으로, 바운딩 박스 설정부(120)는 바운딩 박스의 내측 영역에 포함된 픽셀과 바운딩 박스의 외측 영역의 픽셀 사이의 연속성을 기준으로, 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는지 여부를 판단할 수 있다. 여기서, 연속성은 인접한 두 픽셀의 색상, 채도 또는 명도의 차이가 사전에 설정된 범위 이내인지 여부를 기준으로 판단될 수 있다.Next, the bounding box setting unit 120 determines whether the identified object is one or more of a plurality of line segments constituting the bounding box based on continuity between pixels included in the inner region of the bounding box and pixels in the outer region of the bounding box. It can be determined whether or not it crosses a line segment. Here, continuity may be determined based on whether a difference in color, saturation, or brightness between two adjacent pixels is within a preset range.
바운딩 박스 설정부(120)는 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 어느 선분에도 걸쳐져 있지 않은 경우, 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단할 수 있다.The bounding box setting unit 120 may determine that the object is completely included in the inner region of the bounding box when the identified object does not span any line segment among a plurality of line segments constituting the bounding box.
특징적으로, 본 발명의 일 실시 예에 따르면, 바운딩 박스 설정부(120)는 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단된 경우, 객체가 바운딩 박스 내측 영역에 밀접하게 피팅(fitting)되도록 바운딩 박스의 크기를 축소할 수 있다.Characteristically, according to an embodiment of the present invention, when it is determined that the object is completely included in the inner region of the bounding box, the bounding box setting unit 120 bounds the object so that it closely fits the inner region of the bounding box. You can reduce the size of the box.
일 실시예로, 바운딩 박스 설정부(120)는 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여, 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 바운딩 박스의 중심을 향하여 선분을 이동시켜 바운딩 박스의 크기를 축소시킬 수 있다.In one embodiment, the bounding box setting unit 120, for each of a plurality of line segments constituting the bounding box, until the distance from the nearest point existing on the outline of the object is within a preset maximum number of spaced apart pixels. , the size of the bounding box can be reduced by moving the line segment toward the center of the bounding box.
특징적으로, 본 발명의 일 실시예에 따르면, 바운딩 박스 설정부(120)는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분이 걸쳐 있는 것으로 판단된 경우, 바운딩 박스 내에 객체가 완전히 포함되도록 바운딩 박스의 크기를 확대할 수 있다. 이와 같은, 바운딩 박스의 크기 확대가 수행된 이후, 바운딩 박스 설정부(120)는 객체가 바운딩 박스 내측 영역에 완전히 피팅되도록 바운딩 박스의 크기 축소를 수행할 수 있다.Characteristically, according to one embodiment of the present invention, the bounding box setting unit 120, when it is determined that the object spans one or more line segments among a plurality of line segments constituting the bounding box, sets the object to be completely included within the bounding box. The size of the bounding box can be enlarged. After expanding the size of the bounding box, the bounding box setting unit 120 may reduce the size of the bounding box so that the object completely fits the inner region of the bounding box.
일 실시예로, 바운딩 박스 설정부(120)는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 외부 방향을 향하여 객체가 걸쳐진 선분을 이동시켜 바운딩 박스의 크기를 확대시킬 수 있다.In one embodiment, the bounding box setting unit 120 may, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, until the object is completely included in the inner area of the bounding box, in the outer direction of the bounding box. The size of the bounding box can be enlarged by moving the line segment on which the object spans toward.
다른 실시예로, 바운딩 박스 설정부(120)는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 중심을 객체가 걸쳐진 선분의 방향으로 이동시키며 바운딩 박스의 크기를 사방으로 확대시킬 수 있다.In another embodiment, the bounding box setting unit 120 determines the center of the bounding box until the object is completely included in the inner region of the bounding box when the object spans one or more line segments among a plurality of line segments constituting the bounding box. The size of the bounding box can be expanded in all directions by moving the object in the direction of the line segment that the object spans.
다른 실시예로, 바운딩 박스 설정부(120)는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 분할된 세부 영역 중에서 객체가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다. 이 경우, 세부 영역의 크기는 이미지의 해상도 또는 식별하고자 하는 객체의 해상도에 따라 사전에 미리 결정될 수 있다. 또한, 세부 영역의 형상에 따라 확대된 바운딩 박스는 다각형 형상을 가질 수도 있다.In another embodiment, the bounding box setting unit 120 divides the bounding box into a plurality of subregions when the object spans one or more line segments among a plurality of line segments constituting the bounding box, and then the object is placed inside the bounding box. It is possible to enlarge only the size of the detailed region where the object spans among the divided detailed regions until it is completely included in the region. In this case, the size of the detailed region may be determined in advance according to the resolution of the image or the resolution of the object to be identified. Also, the bounding box enlarged according to the shape of the detailed region may have a polygonal shape.
또 다른 실시예로, 바운딩 박스 설정부(120)는 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 경우, 객체가 병합된 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 객체가 걸쳐진 선분의 바깥 영역에 추가 영역을 새롭게 설정하고 새롭게 설정된 추가 영역과 바운딩 박스를 병합시키는 과정을 반복 수행할 수 있다.In another embodiment, the bounding box setting unit 120 may, when the object spans one or more line segments among a plurality of line segments constituting the bounding box, until the object is completely included in the inner region of the merged bounding box, the object A process of newly setting an additional area outside the overlapped line segment and merging the newly set additional area and the bounding box may be repeatedly performed.
다음 구성으로, 객체 속성 설정부(125)는 바운딩 박스에 의해 특정된 객체의 속성을 설정할 수 있다. 특히, 본 발명에 따른 객체 속성 설정부(125)는 작업자가 속성 정보를 직접 입력하기 이전에, 선제적으로 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 제공할 수 있다.With the following configuration, the object property setting unit 125 may set the properties of the object specified by the bounding box. In particular, the object property setting unit 125 according to the present invention may preemptively provide a list of recommended information that can be used as object property information before a worker directly inputs property information.
우선적으로, 객체 속성 설정부(125)는 바운딩 박스 설정부(120)에 의해 설정된 바운딩 박스에 대응하는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 작성할 수 있다.First of all, the object property setting unit 125 may create a list of recommendation information that can be used as property information of an object corresponding to the bounding box set by the bounding box setting unit 120 .
일 실시예로, 객체 속성 설정부(125)는 사전에 설정된 인공지능(AI) 학습과 관련된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라, 객체의 속성 정보로 활용될 가능성이 있는 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.In one embodiment, the object property setting unit 125 provides information that may be used as property information of an object according to the property of a project related to artificial intelligence (AI) learning, the property of an image, or the property of a worker set in advance. You can include it to create a list of recommended information.
다른 실시예로, 객체 속성 설정부(125)는 바운딩 박스 설정(120)에 의해 설정된 바운딩 박스 내에 포함된 픽셀들의 평균 색상, 채도 또는 명도를 산출할 수 있다. 객체 속성 설정부(125)는 객체의 유형별로 구성된 색상, 채도 또는 명도의 확률 분포도를 기초로, 산출된 평균 색상, 채도 또는 명도에 따라 하나의 추천 객체의 유형을 선택할 수 있다. 그리고, 객체 속성 설정부(125)는 선택된 추천 객체의 유형과 관련된 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.As another embodiment, the object property setting unit 125 may calculate the average color, saturation, or brightness of pixels included in the bounding box set by the bounding box setting 120 . The object property setting unit 125 may select one recommended object type according to the calculated average color, saturation, or brightness based on the probability distribution of color, saturation, or brightness configured for each type of object. In addition, the object property setting unit 125 may create a list of recommendation information by including information related to the type of the selected recommendation object.
또 다른 실시예로, 객체 속성 설정부(125)는 어노테이션 장치(100)의 로컬 저장장치(local storage)에 저장된 작업자의 작업 로그(log)로부터 작업자가 기존에 입력한 속성 정보의 입력 빈도를 식별할 수 있다. 그리고, 객체 속성 설정부(125)는 식별된 입력 빈도를 기초로, 입력 빈도가 높은 속성 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.As another embodiment, the object property setting unit 125 identifies the input frequency of the property information previously input by the operator from the operator's work log stored in the local storage of the annotation device 100. can do. Further, the object property setting unit 125 may create a list of recommended information by including property information with a high input frequency based on the identified input frequency.
다음으로, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록을 필터링할 수 있다.Next, the object property setting unit 125 may filter a pre-created list of recommended information.
구체적으로, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록에 포함된 정보 중에서, 작업자가 바운딩 박스를 설정하는 과정에서 사용한 작업 툴(tool)에 의해 설정될 수 없는 객체의 유형과 관련된 정보(즉, 객체와 무관한 정보)들을 제거할 수 있다.Specifically, the object property setting unit 125 includes information related to the type of object that cannot be set by the tool used by the operator in the process of setting the bounding box, among information included in the list of pre-created recommendation information. (ie, information irrelevant to the object) can be removed.
일 실시예로, 작업자가 바운딩 박스를 설정하는 과정에서 사각형 모양의 영역을 지정할 수 있는 툴을 사용한 경우, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록에서 생명체에 해당하는 객체의 유형과 관련된 정보들을 제거할 수 있다. As an embodiment, when an operator uses a tool capable of specifying a rectangular area in the process of setting a bounding box, the object property setting unit 125 determines the type of object corresponding to a living organism from a list of pre-created recommendation information and Relevant information can be removed.
다른 실시예로, 작업자가 바운딩 박스를 설정하는 과정에서 객체의 스켈레톤(skeleton) 구조를 지정할 수 있는 툴을 사용한 경우, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록에서 뼈대를 가지지 않는 객체의 유형과 관련된 정보들을 제거할 수도 있다.In another embodiment, when a worker uses a tool capable of designating a skeleton structure of an object in the course of setting a bounding box, the object property setting unit 125 may select an object that does not have a skeleton from a list of pre-created recommended information. Information related to the type of may be removed.
객체 속성 설정부(125)는 추천 정보의 목록에서 객체와 무관한 정보가 제거되고 남은 정보들을 정렬할 수 있다.The object property setting unit 125 may remove information unrelated to the object from the list of recommendation information and sort remaining information.
일 실시예로, 객체 속성 설정부(125)는 이미지 내에서 바운딩 박스가 차지하고 있는 위치 또는 크기를 기초로, 사전에 설정된 정렬 기준에 따라 추천 정보의 목록에 포함된 정보를 정렬할 수 있다.As an embodiment, the object property setting unit 125 may arrange the information included in the list of recommended information according to a pre-set sorting criterion based on the position or size occupied by the bounding box in the image.
다른 실시예로, 객체 속성 설정부(125)는 객체의 유형별로 사전에 구비된 기초 형상과 바운딩 박스에 포함된 객체의 형상을 대비하여, 두 형상의 유사성을 기초로 추천 정보의 목록에 포함된 정보를 정렬할 수도 있다.In another embodiment, the object property setting unit 125 compares the shape of the object included in the bounding box with the basic shape provided in advance for each type of object, and based on the similarity of the two shapes included in the list of recommended information. Information can also be sorted.
다음으로, 객체 속성 설정부(125)는 작성 및 필터링된 추천 정보의 목록을 입출력부(110)를 출력할 수 있다. 그리고, 객체 속성 설정부(125)는 입출력부(110)를 통해 작업자로부터 객체의 속성 정보를 설정하기 위한 제어 신호를 입력받을 수 있다.Next, the object property setting unit 125 may output the created and filtered recommendation information list to the input/output unit 110 . Also, the object property setting unit 125 may receive a control signal for setting object property information from an operator through the input/output unit 110 .
객체 속성 설정부(125)는 작업자의 제어에 의해 추천 정보의 목록 중에서 하나의 정보가 선택되면, 선택된 정보에 대응하는 객체의 유형에 따라 피드백(feedback)을 제공할 수 있다.When one piece of information is selected from a list of recommended information under the control of an operator, the object property setting unit 125 may provide feedback according to the type of object corresponding to the selected information.
일 실시예로, 객체 속성 설정부(125)는 선택된 정보에 대응하는 객체의 유형에 따라 서로 다르게 설정된 색상 또는 투명도를 반영하여, 바운딩 박스 내부의 영역 또는 객체 내부의 영역과 관련된 사용자 인터페이스(User Interface, UI)를 변경할 수 있다.In one embodiment, the object property setting unit 125 reflects the color or transparency set differently according to the type of object corresponding to the selected information, and the user interface related to the area inside the bounding box or the area inside the object. , UI) can be changed.
다음 구성으로, 결과물 생성부(130)는 어노테이션의 작업 결과물을 생성하여, 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다. With the following configuration, the result generation unit 130 may generate an annotation work result and transmit it to the learning data design device 200 or the artificial intelligence learning device 300.
구체적으로, 결과물 생성부(130)는 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되고, 추천 정보 목록을 기초로 작업자의 제어에 의해 객체의 속성 정보가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표 및 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다. 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Specifically, when the position and size of the expanded or reduced bounding box is determined under the operator's control, and the object property information is determined under the operator's control based on the recommended information list, the result generation unit 130 determines the finalized bounding box. Annotation work results including coordinates according to the location and size of the bounding box and determined attribute information can be created. Such a work result may have a JSON file format, but is not limited thereto.
그리고, 결과물 생성부(130)는 생성된 어노테이션의 작업 결과물을 통신부(105)를 통해 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다. In addition, the output generation unit 130 may transmit the generated annotation work result to the learning data design device 200 or the artificial intelligence learning device 300 through the communication unit 105 .
이하, 상술한 바와 같은 어노테이션 장치(100)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the above-described logical components of the annotation device 100 will be described in more detail.
도 5는 본 발명의 일 5 is one of the present invention 실시예에in the examples 따른 followed 어노테이션annotation 장치의 하드웨어 구성도이다. It is a hardware configuration diagram of the device.
도 5에 도시된 바와 같이, 어노테이션 장치(100)는 프로세서(Processor, 150), 메모리(Memory, 155), 송수신기(Transceiver, 160), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 170) 및 스토리지(Storage, 175)를 포함하여 구성될 수 있다. As shown in FIG. 5, the annotation device 100 includes a processor 150, a memory 155, a transceiver 160, an input/output device 165, and a data bus , 170) and storage (Storage, 175).
프로세서(150)는 메모리(155)에 상주된 어노테이션 방법이 구현된 소프트웨어(180a)에 따른 명령어를 기초로, 어노테이션 장치(100)의 동작 및 기능을 구현할 수 있다. 메모리(155)에는 어노테이션 방법이 구현된 소프트웨어(180a)가 상주(loading)될 수 있다. 송수신기(160)는 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(165)는 어노테이션 장치(100)의 동작에 필요한 데이터를 입력 받고, 이미지, 바운딩 박스 및 추천 정보의 목록을 출력할 수 있다. 데이터 버스(170)는 프로세서(150), 메모리(155), 송수신기(160), 입출력장치(165) 및 스토리지(175)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 150 may implement operations and functions of the annotation device 100 based on instructions according to the software 180a in which the annotation method resident in the memory 155 is implemented. Software 180a in which the annotation method is implemented may be loaded in the memory 155 . The transceiver 160 may transmit and receive data with the learning data design device 200 and the artificial intelligence learning device 300 . The input/output device 165 may receive data necessary for the operation of the annotation device 100 and output a list of images, bounding boxes, and recommendation information. The data bus 170 is connected to the processor 150, the memory 155, the transceiver 160, the input/output device 165, and the storage 175, and is a movement path for transferring data between each component. role can be fulfilled.
스토리지(175)는 어노테이션 방법이 구현된 소프트웨어(180a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(175)는 어노테이션 방법이 구현된 소프트웨어(180b)를 저장할 수 있다. 또한, 스토리지(175)는 어노테이션 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지(175)는 어노테이션 작업의 대상이 되는 이미지, 프로젝트의 속성, 이미지의 속성, 작업자의 속성 및 작업자의 작업 로그 등을 저장하는 데이터베이스(185)를 포함할 수 있다.The storage 175 may store an application programming interface (API), a library file, a resource file, and the like required for execution of the software 180a in which the annotation method is implemented. The storage 175 may store software 180b in which the annotation method is implemented. Also, the storage 175 may store information necessary for performing the annotation method. In particular, the storage 175 may include a database 185 for storing an image subject to an annotation work, a project attribute, an image attribute, a worker attribute, and a worker's work log.
본 발명의 제1 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 입출력장치(165)를 통해 입력된 작업자의 제어에 따라 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정하는 단계, 프로세서(150)가 바운딩 박스의 내측 영역에 완전히 포함되거나 또는 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별하는 단계, 프로세서(150)가 식별된 객체의 외곽선에 대응하는 크기를 가지도록 바운딩 박스의 크기를 확대 또는 축소하는 단계, 및 프로세서(150)가 입출력장치(165)를 통해 입력된 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to the first embodiment of the present invention, the software (180a, 180b) for implementing the annotation method resident in the memory 155 or stored in the storage 175 is input by the processor 150 through the input/output device 165. Setting a partial region in an image to be an annotation task for artificial intelligence (AI) learning as a bounding box under the control of an operator, wherein the processor 150 is completely included in the inner region of the bounding box or Identifying an object spanning one or more line segments among a plurality of line segments, enlarging or reducing the size of the bounding box so that the processor 150 has a size corresponding to the outline of the identified object, and the processor 150 ) is input through the input/output device 165, when the location and size of the expanded or reduced bounding box are confirmed, an annotation work result is generated including the coordinates according to the location and size of the determined bounding box. It may be a computer program recorded on a recording medium to execute the steps.
본 발명의 제2 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 입출력장치(165)를 통해 입력된 작업자의 제어에 따라 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일영역을 바운딩 박스로 설정하는 단계, 프로세서(150)가 설정된 바운딩 박스에 대응하는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 작성하는 단계, 및 프로세서(150)가 작성된 추천 정보의 목록을 기초로 작업자의 제어에 의해 객체의 속정 정보가 확정되면 바운딩 박스의 위치 및 크기에 따른 좌표 및 상기 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to the second embodiment of the present invention, the software (180a, 180b) for implementing the annotation method resident in the memory 155 or stored in the storage 175 is input by the processor 150 through the input/output device 165. A step of setting a region in an image, which is an object of annotation work for artificial intelligence (AI) learning, as a bounding box under the control of an operator, which is used as attribute information of an object corresponding to the set bounding box by the processor 150. Creating a list of recommended information that can be recommended, and if the property information of the object is determined by the operator's control based on the list of recommended information created by the processor 150, coordinates according to the location and size of the bounding box and the determined It may be a computer program recorded on a recording medium to execute a step of generating a work result of annotation including attribute information.
보다 구체적으로, 프로세서(150)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(155)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(160)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(165)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 150 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 155 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. The transceiver 160 may include a baseband circuit for processing wired/wireless signals. The input/output device 165 includes an input device such as a keyboard, a mouse, and/or a joystick, and a Liquid Crystal Display (LCD), an Organic LED (OLED), and/or a liquid crystal display (LCD). Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(155)에 상주되고, 프로세서(150)에 의해 실행될 수 있다. 메모리(155)는 프로세서(150)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(150)와 연결될 수 있다.When the embodiments included in this specification are implemented as software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described functions. A module may reside in memory 155 and be executed by processor 150 . The memory 155 may be internal or external to the processor 150 and may be connected to the processor 150 by various well-known means.
도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 5 may be implemented by various means, eg, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means. can be recorded. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.
이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, features of the artificial intelligence learning system according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.
도 6 Fig. 6 내지 도degree 9는 본 발명의 일 9 is one of the present invention 실시예에in the examples 따라 according to 바운딩bounding 박스를 설정하는 과정을 설명하기 위한 예시도이다. It is an exemplary diagram for explaining the process of setting a box.
도 6을 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지(10)가 로딩되면, 작업자로부터 이미지(10) 속에 포함된 하나의 객체(20) 특정하기 위한 제어 신호를 입력 받을 수 있다. Referring to FIG. 6 , the annotation device 100 of the artificial intelligence learning system according to an embodiment of the present invention loads an image 10, which is a target of annotation work for artificial intelligence (AI) learning, from an operator. A control signal for specifying one object 20 included in (10) can be input.
도 6은 작업자의 제어 신호에 따라 두 좌표(30-1, 30-2)가 지정된 상황을 도시하고 있으나, 본 발명의 실시예들이 이에 한정되는 것은 아니다.6 illustrates a situation in which two coordinates 30-1 and 30-2 are designated according to a control signal of an operator, but embodiments of the present invention are not limited thereto.
도 7을 참조하면, 어노테이션 장치(100)는 자업자로부터 입력된 제어 신호에 따라 이미지(10) 속의 일부 영역을 바운딩 박스(40)로 설정할 수 있다. Referring to FIG. 7 , the annotation device 100 may set a partial region in the image 10 as a bounding box 40 according to a control signal input from a person in charge.
도 7은 작업자로부터 입력된 두 개의 좌표를 좌상단 꼭지점(30-1)과 우하단 꼭지점(30-2)으로 가지는 사각형 형상을 바운딩 박스(40)로 설정하고 있으나, 본 발명에 따라 설정될 수 있는 바운딩 박스(40)는 사각형 외에도, 다각형, 스켈레톤 등 다양할 수 있다. 7 sets the bounding box 40 to have a rectangular shape having two coordinates input from the operator as the upper left vertex 30-1 and the lower right vertex 30-2, but can be set according to the present invention The bounding box 40 may be various, such as a polygon, a skeleton, and the like, in addition to a rectangle.
도 8을 참조하면, 어노테이션 장치(100)는 바운딩 박스(40) 내측 영역에 완전히 포함되거나, 또는 바운딩 박스(40)를 구성하는 복수 개의 선분 중에서 하나 이상의 선분(40-1)에 걸쳐 있는 객체(20)를 식별할 수 있다.Referring to FIG. 8 , the annotation device 100 is an object that is completely included in the inner region of the bounding box 40 or spans one or more line segments 40-1 among a plurality of line segments constituting the bounding box 40 ( 20) can be identified.
그리고, 어노테이션 장치(100)는 식별된 객체(20)가 바운딩 박스(40)를 구성하는 복수 개의 선분 중에서 하나 이상의 선분(40-1)에 걸쳐 있는 것으로 판단된 경우, 바운딩 박스(40) 내에 객체(20)가 포함되도록 바운딩 박스의 크기를 확대할 수 있다.In addition, when the annotation device 100 determines that the identified object 20 spans one or more line segments 40-1 among a plurality of line segments constituting the bounding box 40, the object within the bounding box 40 The size of the bounding box can be enlarged to include (20).
일 실시예로, 어노테이션 장치(100)는 객체(20)가 바운딩 박스(40) 내측 영역에 완전히 포함될 때까지, 바운딩 박스(40)의 외부 방향을 향하여 객체(20)가 걸쳐진 선분(40-1)을 이동시켜 바운딩 박스(40)의 크기를 확대시킬 수 있다.In one embodiment, the annotation apparatus 100 may include a line segment 40-1 along which the object 20 extends toward the outside of the bounding box 40 until the object 20 is completely included in the inner region of the bounding box 40. ) may be moved to enlarge the size of the bounding box 40 .
다른 실시예로, 어노테이션 장치(100)는 객체(20)가 바운딩 박스(40)의 내측 영역에 완전히 포함될 때까지, 바운딩 박스(40)의 중심을 객체(20)가 걸쳐진 선분(40-1)의 방향으로 이동시키며 바운딩 박스(40)의 크기를 사방으로 확대시킬 수 있다.In another embodiment, the annotation apparatus 100 sets the center of the bounding box 40 to the line segment 40-1 along which the object 20 spans until the object 20 is completely included in the inner region of the bounding box 40. It is possible to increase the size of the bounding box 40 in all directions while moving in the direction of .
다른 실시예로, 어노테이션 장치(100)는 바운딩 박스(40)를 복수 개의 세부 영역으로 분할한 후, 객체(20)가 바운딩 박스(40) 내측 영역에 완전히 포함될 때까지, 분할된 세부 영역 중에서 객체(20)가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다.In another embodiment, the annotation device 100 divides the bounding box 40 into a plurality of detailed regions, and then until the object 20 is completely included in the inner region of the bounding box 40, the object 20 is selected from among the divided detailed regions. Only the size of the detailed area spanned by (20) can be enlarged.
또 다른 실시예로, 어노테이션 장치(100)는 객체(20)가 바운딩 박스(40) 내측 영역에 완전히 포함될 때까지, 객체(20)가 걸쳐진 선분(40-1)의 바깥 영역에 추가 영역을 새롭게 설정하고, 새롭게 설정된 추가 영역과 바운딩 박스(40)를 병합시키는 과정을 반복 수행할 수도 있다.In another embodiment, the annotation device 100 newly adds an additional area to the outer area of the line segment 40-1 spanned by the object 20 until the object 20 is completely included in the inner area of the bounding box 40. The process of setting and merging the newly set additional area and the bounding box 40 may be repeatedly performed.
도 9를 참조하면, 어노테이션 장치(100)는 객체(20)가 바운딩 박스(40)를 구성하는 복수 개의 선분 중에서 어느 선분에도 걸쳐 있지 않은 경우, 객체(20)가 바운딩 박스(40) 내측 영역에 완전히 포함된 것으로 판단하고, 객체(20)가 바운딩 박스(40) 내측 영역에 밀접하게 피팅되도록 바운딩 박스(40)의 크기를 축소할 수 있다.Referring to FIG. 9 , when the object 20 does not span any line segment among a plurality of line segments constituting the bounding box 40, the annotation apparatus 100 indicates that the object 20 is located in an area inside the bounding box 40. It is determined that it is completely included, and the size of the bounding box 40 may be reduced so that the object 20 closely fits the inner region of the bounding box 40 .
일 실시예로, 어노테이션 장치(100)는 바운딩 박스(40)를 구성하는 복수 개의 선분 각각에 대하여, 객체(20)의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 바운딩 박스(40)의 중심을 향하여 선분(40-2, 40-3)을 이동시켜 바운딩 박스(40)의 크기를 축소시킬 수 있다.In one embodiment, the annotation device 100 determines that, for each of a plurality of line segments constituting the bounding box 40, the distance from the nearest point existing on the outline of the object 20 is within a preset maximum number of pixels apart. The size of the bounding box 40 may be reduced by moving the segments 40-2 and 40-3 toward the center of the bounding box 40 until
상술한 바와 같은 본 발명의 실시예에 따르면, 인공지능(AI) 학습을 위한 다수의 이미지(10) 각각에 대하여 어노테이션을 수행함에 있어, 이미지(10) 속에 포함된 객체(20)의 형상에 따라 바운딩 박스(40)의 크기가 자동으로 확대 또는 축소됨으로써, 작업자가 보다 용이하게 바운딩 박스(40)를 설정할 수 있게 되며, 어노테이션의 작업 결과물은 보다 균일한 품질을 가질 수 있게 된다.According to the embodiment of the present invention as described above, in performing annotation on each of the plurality of images 10 for artificial intelligence (AI) learning, according to the shape of the object 20 included in the image 10 Since the size of the bounding box 40 is automatically enlarged or reduced, the operator can more easily set the bounding box 40, and the annotation work result can have a more uniform quality.
도 10 및 도 11은 본 발명의 일 10 and 11 are one of the present invention 실시예에in the examples 따라 객체의 속성을 입력하는 과정을 설명하기 위한 예시도이다. It is an exemplary diagram for explaining the process of inputting the properties of an object according to FIG.
도 10을 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 바운딩 박스(40)에 의해 특정된 객체(20)의 속성 정보를 작업자가 직접 입력하기 이전에, 선제적으로 객체(20)의 속성 정보로 활용될 수 있는 추천 정보의 목록(50)을 제공할 수 있다.Referring to FIG. 10, in the annotation device 100 of the artificial intelligence learning system according to an embodiment of the present invention, before an operator directly inputs attribute information of an object 20 specified by a bounding box 40, A list 50 of recommended information that can be used as attribute information of the object 20 can be provided in advance.
이를 위하여, 어노테이션 장치(100)는 인공지능(AI) 학습과 관련된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 기초로 추천 정보의 목록(50)을 작성하거나, 바운딩 박스(40)에 내에 포함된 픽셀들의 평균 색상, 채도 또는 명도를 기초로 추천 정보의 목록(50)을 작성하거나, 또는 로컬 저장장치에 저장된 작업자의 작업 로그의 입력 빈도를 기초로 추천 정보의 목록(50)을 작성할 수 있다.To this end, the annotation device 100 creates a list 50 of recommended information based on the attributes of a project related to artificial intelligence (AI) learning, the attributes of an image, or the attributes of a worker, or included in the bounding box 40. The recommended information list 50 may be prepared based on the average color, saturation, or brightness of the selected pixels, or the recommended information list 50 may be created based on the input frequency of the worker's work log stored in the local storage device. .
그 후, 어노테이션 장치(100)는 기 작성된 추천 정보의 목록에서 객체(20)의 유형과 무관한 정보들을 제거하고, 바운딩 박스(40) 또는 객체(20)의 특성에 따라 목록(50)에 포함된 정보들을 정렬할 수 있다.After that, the annotation device 100 removes information irrelevant to the type of object 20 from the list of previously created recommendation information, and includes it in the list 50 according to the bounding box 40 or the characteristics of the object 20. information can be sorted.
그리고, 어노테이션 장치(100)는 어노테이션 장치(100)는 작업자로부터 객체의 속성 정보(51)를 설정하기 위한 제어 신호를 입력 받을 수 있다.Also, the annotation device 100 may receive a control signal for setting object attribute information 51 from an operator.
도 11을 참조하면, 어노테이션 장치(100)는 작업자의 제어에 의해, 추천 정보의 목록(50) 중에서 하나의 정보(51)가 선택되면, 선택된 정보(50)에 대응하는 객체(20)의 유형에 따라 피드백을 제공할 수 있다.Referring to FIG. 11 , when one piece of information 51 is selected from a list of recommended information 50 under the control of an operator, the annotation device 100 selects the type of object 20 corresponding to the selected information 50. You can provide feedback accordingly.
일 실시예로, 어노테이션 장치(100)는 선택된 정보(51)에 대응하는 객체(20)의 유형에 따라 서로 다르게 설정된 색상 또는 투명도를 반영하여, 바운딩 박스(40) 내부의 영역 또는 객체(20)의 내부 영역과 관련된 사용자 인터페이스(UI)를 변경할 수 있다.In one embodiment, the annotation device 100 reflects the color or transparency set differently according to the type of the object 20 corresponding to the selected information 51, and the area inside the bounding box 40 or the object 20 A user interface (UI) related to the internal area of the can be changed.
상술한 바와 같은, 본 발명의 실시예에 따르면, 인공지능(AI) 학습을 위한 다수의 이미지(10) 각각에 대하여 어노테이션을 수행함에 있어, 바운딩 박스(40)로 설정된 객체(20)에 대응하여 추천 정보(50)를 제공함으로써, 작업자가 보다 용이하게 객체(20)의 속성 정보(51)를 입력할 수 있게 되며, 피드백을 통해 자신이 입력한 객체(20)의 속성 정보를 정확하게 인지할 수 있게 된다.As described above, according to the embodiment of the present invention, in performing annotation on each of the plurality of images 10 for artificial intelligence (AI) learning, in response to the object 20 set as the bounding box 40 By providing the recommended information 50, the operator can more easily input the attribute information 51 of the object 20, and can accurately recognize the attribute information of the object 20 input by the worker through feedback. there will be
이하, 상술한 바와 같은, 어노테이션 장치(100)의 동작에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the operation of the annotation device 100 as described above will be described in more detail.
도 12는 본 발명의 일 12 is one of the present invention 실시예에in the examples 따른 followed 어노테이션annotation 방법을 설명하기 위한 to explain how 순서도이다is a flowchart ..
도 12를 참조하여 본 발명의 일 실시예에 따른 어노테이션 방법을 설명함에 있어, 도 6 내지 도 11을 참조하여 설명한 바와 동일한 설명은 반복하여 기재하지 않는다.In describing the annotation method according to an embodiment of the present invention with reference to FIG. 12, the same description as described with reference to FIGS. 6 to 11 will not be repeated.
도 12를 참조하면, 어노테이션 장치(100)는 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정하기 위한 좌표를 작업자로부터 입력 받을 수 있다(S100).Referring to FIG. 12 , the annotation apparatus 100 may receive coordinates for setting a partial region in an image to be annotated as a bounding box from an operator (S100).
어노테이션 장치(100)는 작업자로부터 입력된 좌표를 기초로 바운딩 박스를 설정할 수 있다(S200). The annotation device 100 may set a bounding box based on the coordinates input by the operator (S200).
특히, 본 발명의 일 실시예에 따른 어노테이션 장치(100)는 이미지 속에 포함된 객체의 형상에 따라, 작업자가 일차적으로 설정한 바운딩 박스가 객체의 외곽선에 대응하는 크기를 가지도록, 바운딩 박스의 크기를 자동으로 확대 또는 축소할 수 있다. 이에 대한 구체적인 설명은 추후 도 13을 참조하여 후술하기로 한다.In particular, according to the shape of the object included in the image, the annotation device 100 according to an embodiment of the present invention has a size of the bounding box that is primarily set by the operator to have a size corresponding to the outline of the object. can be automatically enlarged or reduced. A detailed description of this will be described later with reference to FIG. 13 .
어노테이션 장치(100)는 바운딩 박스에 의해 특정된 객체의 속성 정보를 입력할 수 있다(S300). The annotation apparatus 100 may input attribute information of an object specified by the bounding box (S300).
특히, 본 발명의 일 실시예에 따른 어노테이션 장치(100)는 작업자가 객체의 속성 정보를 직접 입력하기 이전에, 선제적으로 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 제공할 수 있다. 이에 대한 구체적인 설명은 추후 도 14를 참조하여 후술하기로 한다.In particular, the annotation device 100 according to an embodiment of the present invention may preemptively provide a list of recommended information that can be used as object attribute information before an operator directly inputs object attribute information. . A detailed description of this will be described later with reference to FIG. 14 .
어노테이션 장치(100)는 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되고, 추천 정보 목록을 기초로 작업자의 제어에 의해 객체의 속성 정보가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표 및 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다(S400). 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.When the location and size of the expanded or reduced bounding box are determined under the control of the operator, and the property information of the object is determined under the control of the operator based on the recommended information list, the annotation apparatus 100 determines the location of the bounding box. And it is possible to create an annotation work result including coordinates according to the size and determined attribute information (S400). Such a work result may have a JSON file format, but is not limited thereto.
그리고, 어노테이션 장치(100)는 생성된 어노테이션의 작업 결과물을 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다. In addition, the annotation device 100 may transmit the generated annotation work result to the learning data design device 200 or the artificial intelligence learning device 300.
도 13은 본 발명의 일 13 is one of the present invention 실시예에in the examples 따라 according to 바운딩bounding 박스를 설정하는 방법을 설명하기 위한 순서도이다. It is a flowchart to explain how to set a box.
도 13을 참조하면, 본 발명의 일 실시예에 따른 어노테이션 장치(100)는 작업자로부터 입력된 좌표를 기초로 바운딩 박스를 설정할 수 있다(S210). Referring to FIG. 13 , the annotation apparatus 100 according to an embodiment of the present invention may set a bounding box based on coordinates input from an operator (S210).
일 실시예로서, 어노테이션 장치(100)는 작업자로부터 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 다른 실시예로서, 어노테이션 장치(100)는 작업자로부터 입력된 세 개 이상의 선분으로 구성된 다각형을 기초로 바운딩 박스를 설정할 수도 있다.As an embodiment, the annotation apparatus 100 may set a bounding box based on a rectangle having two coordinates input from an operator as coordinates of an upper left vertex and a coordinate of a lower right vertex in an image. As another embodiment, the annotation apparatus 100 may set a bounding box based on a polygon composed of three or more line segments input from an operator.
어노테이션 장치(100)는 설정된 바운딩 박스 내측 영역에 포함된 객체의 전부 또는 일부를 식별할 수 있다(S220). 이를 위하여, 어노테이션 장치(100)는 바운딩 박스 내측 영역에 대하여, 엣지 추출, 이진화 및 폐쇄 영역 식별 등의 이미지 처리를 수행할 수도 있다.The annotation device 100 may identify all or part of the objects included in the area inside the set bounding box (S220). To this end, the annotation apparatus 100 may perform image processing such as edge extraction, binarization, and closed region identification on the region inside the bounding box.
어노테이션 장치(100)는 바운딩 박스 내측 영역에 포함된 객체가 복수 개인지 판단할 수 있다(S230). 판단 결과, 바운딩 박스 내측 영역에서 식별된 객체가 복수 개인 경우, 어노테이션 장치(100)는 사전에 설정된 우선순위에 따라, 식별된 복수 개의 객체 중에서 하나의 객체만을 선택할 수 있다(S240).The annotation device 100 may determine whether a plurality of objects are included in the inner region of the bounding box (S230). As a result of the determination, if there are a plurality of objects identified in the inner region of the bounding box, the annotation apparatus 100 may select only one object from among the identified plurality of objects according to a preset priority (S240).
어노테이션 장치(100)는 식별된 객체가 바운딩 박스 내측 영역에 완전히 포함되었는지 판단할 수 있다(S250). 이를 위하여, 어노테이션 장치(100)는 바운딩 박스의 내측 영역에 포함된 픽셀과 바운딩 박스의 외측 영역의 픽셀 사이의 연속성을 기준으로, 식별된 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는지 여부를 판단할 수 있다.The annotation apparatus 100 may determine whether the identified object is completely included in the inner region of the bounding box (S250). To this end, the annotation apparatus 100 determines whether an identified object is assigned to one or more line segments among a plurality of line segments constituting the bounding box, based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box. It can be judged whether or not there is
판단 결과, 객체가 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐진 것으로 판단된 경우, 어노테이션 장치(100)는 바운딩 박스 내에 객체가 완전히 포함되도록 바운딩 박스의 크기를 확대할 수 있다(S260).As a result of the determination, when it is determined that the object spans one or more line segments among a plurality of line segments constituting the bounding box, the annotation apparatus 100 may enlarge the size of the bounding box so that the object is completely included in the bounding box (S260). .
일 실시예로, 어노테이션 장치(100)는 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 외부 방향을 향하여 객체가 걸쳐진 선분을 이동시켜 바운딩 박스의 크기를 확대시킬 수 있다.As an embodiment, the annotation apparatus 100 may enlarge the size of the bounding box by moving a line segment spanning the object toward the outside of the bounding box until the object is completely included in the inner region of the bounding box.
다른 실시예로, 어노테이션 장치(100)는 객체가 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 바운딩 박스의 중심을 객체가 걸쳐진 선분의 방향으로 이동시키며 바운딩 박스의 크기를 사방으로 확대시킬 수 있다.As another embodiment, the annotation apparatus 100 may expand the size of the bounding box in all directions while moving the center of the bounding box in the direction of the line segment where the object spans until the object is completely included in the inner region of the bounding box.
다른 실시예로, 어노테이션 장치(100)는 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 분할된 세부 영역 중에서 객체가 걸쳐 있는 세부 영역의 크기만을 확대시킬 수 있다.In another embodiment, the annotation apparatus 100 divides the bounding box into a plurality of detailed regions, and then enlarges only the size of the detailed region spanning the object among the divided detailed regions until the object is completely included in the inner region of the bounding box. can make it
또 다른 실시예로, 어노테이션 장치(100)는 객체가 바운딩 박스 내측 영역에 완전히 포함될 때까지, 객체가 걸쳐진 선분의 바깥 영역에 추가 영역을 새롭게 설정하고, 새롭게 설정된 추가 영역과 바운딩 박스를 병합시키는 과정을 반복 수행할 수도 있다.In another embodiment, the annotation apparatus 100 newly sets an additional area outside the line segment where the object spans, and merges the newly set additional area and the bounding box until the object is completely included in the inner area of the bounding box. may be repeated.
판단 결과, 객체가 바운딩 박스 내측 영역에 완전히 포함된 것으로 판단된 경우, 어노테이션 장치(100)는 객체가 바운딩 박스 내측 영역에 밀접하게 피팅되도록 바운딩 박스의 크기를 축소할 수 있다(S270).As a result of the determination, when it is determined that the object is completely included in the inner region of the bounding box, the annotation apparatus 100 may reduce the size of the bounding box so that the object closely fits the inner region of the bounding box (S270).
일 실시예로, 어노테이션 장치(100)는 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여, 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 바운딩 박스의 중심을 향하여 선분을 이동시켜 바운딩 박스의 크기를 축소시킬 수 있다.In an embodiment, the annotation apparatus 100 performs bounding, for each of a plurality of line segments constituting the bounding box, until the distance from the nearest point existing on the outline of the object is within a preset maximum number of pixels apart. You can reduce the size of the bounding box by moving the line segment toward the center of the box.
도 14는 본 발명의 일 14 is one of the present invention 실시예에in the examples 따라 객체의 속성 정보를 입력하는 방법을 설명하기 위한 순서도이다. It is a flowchart to explain how to input object property information according to
도 14를 참조하면, 본 발명의 일 실시예에 따른 어노테이션 장치(100)는 바운딩 박스에 대응하는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 작성할 수 있다(310).Referring to FIG. 14 , the annotation apparatus 100 according to an embodiment of the present invention may create a list of recommendation information that can be used as attribute information of an object corresponding to a bounding box (310).
일 실시예로, 어노테이션 장치(100)는 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라, 객체의 속성 정보로 활용될 가능성이 있는 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.As an embodiment, the annotation device 100 may create a list of recommended information by including information that may be used as object attribute information according to project attributes, image attributes, or worker attributes.
다른 실시예로, 어노테이션 장치(100)는 바운딩 박스 내에 포함된 픽셀들의 평균 색상, 채도 또는 명도를 산출할 수 있다. 어노테이션 장치(100)는 객체의 유형별로 구성된 색상, 채도 또는 명도의 확률 분포도를 기초로, 산출된 평균 색상, 채도 또는 명도에 따라 하나의 추천 객체의 유형을 선택할 수 있다. 그리고, 어노테이션 장치(100)는 선택된 추천 객체의 유형과 관련된 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.As another embodiment, the annotation apparatus 100 may calculate the average color, saturation, or brightness of pixels included in the bounding box. The annotation apparatus 100 may select one recommended object type according to the calculated average color, saturation, or brightness based on a probability distribution of color, saturation, or lightness configured for each type of object. Also, the annotation device 100 may create a recommendation information list by including information related to the type of the selected recommendation object.
또 다른 실시예로, 어노테이션 장치(100)는 로컬 저장장치(local storage)에 저장된 작업자의 작업 로그(log)로부터 작업자가 기존에 입력한 속성 정보의 입력 빈도를 식별할 수 있다. 그리고, 어노테이션 장치(100)는 식별된 입력 빈도를 기초로, 입력 빈도가 높은 속성 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.As another embodiment, the annotation device 100 may identify an input frequency of attribute information previously input by a worker from a worker's work log stored in a local storage device. Also, based on the identified input frequency, the annotation apparatus 100 may create a list of recommended information by including attribute information having a high input frequency.
어노테이션 장치(100)는 기 작성된 추천 정보의 목록을 필터링할 수 있다(S320). 이 경우, 추천 정보 목록의 필터링은 노이즈 제거 및 정렬을 수행하여 이루어질 수 있다.The annotation device 100 may filter a pre-created list of recommendation information (S320). In this case, filtering of the recommended information list may be performed by removing noise and sorting.
구체적으로, 어노테이션 장치(100)는 추천 정보의 목록에 포함된 정보 중에서, 작업자가 바운딩 박스를 설정하는 과정에서 사용한 작업 툴에 의해 설정될 수 없는 객체의 유형과 관련된 정보들을 제거할 수 있다.Specifically, the annotation apparatus 100 may remove information related to the type of object that cannot be set by the work tool used by the operator in setting the bounding box, from among the information included in the list of recommendation information.
그리고, 어노테이션 장치(100)는 추천 정보의 목록에 남아 있는 정보들을 정렬할 수 있다.Also, the annotation device 100 may sort information remaining in the list of recommendation information.
일 실시예로, 어노테이션 장치(100)는 이미지 내에서 바운딩 박스가 차지하고 있는 위치 또는 크기를 기초로, 사전에 설정된 정렬 기준에 따라 추천 정보의 목록에 포함된 정보를 정렬할 수 있다.As an embodiment, the annotation apparatus 100 may arrange information included in the list of recommended information according to a pre-set sorting criterion based on the position or size occupied by the bounding box in the image.
다른 실시예로, 어노테이션 장치(100)는 객체의 유형별로 사전에 구비된 기초 형상과 바운딩 박스에 포함된 객체의 형상을 대비하여, 두 형상의 유사성을 기초로 추천 정보의 목록에 포함된 정보를 정렬할 수도 있다.In another embodiment, the annotation device 100 compares the shape of the object included in the bounding box with the basic shape provided in advance for each object type, and compares the information included in the list of recommended information based on the similarity of the two shapes. can also be sorted.
어노테이션 장치(100)는 필터링된 추천 정보의 목록을 출력할 수 있다(S330). 그리고, 어노테이션 장치(100)는 작업자로부터 객체의 속성 정보를 설정하기 위한 제어 신호를 입력 받을 수 있다(S340).The annotation device 100 may output a list of filtered recommendation information (S330). Also, the annotation apparatus 100 may receive a control signal for setting object property information from an operator (S340).
그리고, 어노테이션 장치(100)는 작업자에 의해 추천 정보의 목록 중에서 하나의 정보가 선택되면, 선택된 정보에 대응하는 객체의 유형에 따라 피드백(feedback)을 제공할 수 있다(S350).Then, when one piece of information is selected from the list of recommended information by an operator, the annotation apparatus 100 may provide feedback according to the type of object corresponding to the selected information (S350).
구체적으로, 어노테이션 장치(100)는 추천 정보의 목록 중에서 하나의 정보가 선택되면, 선택된 정보에 대응하는 객체의 유형에 따라 서로 다르게 설정된 색상 또는 투명도를 반영하여, 바운딩 박스 내부의 영역 또는 객체 내부의 영역과 관련된 사용자 인터페이스(UI)를 변경할 수 있다.Specifically, when one piece of information is selected from the list of recommended information, the annotation device 100 reflects a color or transparency set differently according to the type of object corresponding to the selected information, so that the area inside the bounding box or the inside of the object You can change the user interface (UI) related to the area.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention belongs that other modified examples based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein. It is self-evident to those skilled in the art. In addition, although specific terms have been used in the present specification and drawings, they are only used in a general sense to easily explain the technical content of the present invention and help understanding of the present invention, but are not intended to limit the scope of the present invention. Accordingly, the foregoing detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the present invention should be selected by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (10)

  1. 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계;Setting a partial region in an image, which is a target of annotation for artificial intelligence (AI) learning, as a bounding box under operator control;
    상기 바운딩 박스의 내측 영역에 완전히 포함되거나, 또는 상기 바운딩 박스를 구성하는 복수 개의 선분(line) 중에서 하나 이상의 선분에 걸쳐 있는 객체(object)를 식별하는 단계;identifying an object completely included in an inner region of the bounding box or spanning one or more line segments among a plurality of lines constituting the bounding box;
    상기 식별된 객체의 외곽선에 대응하는 크기를 가지도록 상기 바운딩 박스의 크기를 확대 또는 축소하는 단계; 및enlarging or reducing the size of the bounding box to have a size corresponding to the outline of the identified object; and
    상기 작업자의 제어에 의해 상기 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되면, 상기 확정된 바운딩 박스의 위치 및 크기에 따른 좌표를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 포함하는, 어노테이션 방법.When the position and size of the expanded or reduced bounding box are determined under the control of the operator, generating an annotation work result including coordinates according to the determined position and size of the bounding box, the annotation method comprising: .
  2. 제1 항에 있어서, 상기 바운딩 박스로 설정하는 단계는The method of claim 1, wherein setting the bounding box
    상기 이미지 내에서 상기 작업자로부터 입력된 두 좌표를 좌상단 꼭짓점(vertex)의 좌표와 우하단 꼭짓점의 좌표로 가지는 사각형을 기초로 상기 바운딩 박스를 설정하는 것을 특징으로 하는, 어노테이션 방법.The annotation method characterized in that the bounding box is set based on a rectangle having two coordinates input from the operator in the image as the coordinates of the upper left vertex and the coordinates of the lower right vertex.
  3. 제1 항에 있어서, 상기 객체를 식별하는 단계는The method of claim 1 , wherein identifying the object comprises:
    상기 바운딩 박스의 내측 영역에 포함된 픽셀과 상기 바운딩 박스의 외측 영역의 픽셀 사이의 연속성을 기준으로 상기 객체가 상기 선분에 걸쳐 있는지 여부를 판단하되,determining whether the object spans the line segment based on continuity between pixels included in the inner area of the bounding box and pixels in the outer area of the bounding box;
    상기 연속성은 인접한 두 픽셀의 색상, 채도 또는 명도의 차이가 사전에 설정된 범위 이내인지 여부를 기준으로 판단되는 것을 특징으로 하는, 어노테이션 방법.The continuity is determined based on whether a difference in color, saturation, or brightness of two adjacent pixels is within a preset range.
  4. 제3 항에 있어서, 상기 객체를 식별하는 단계는4. The method of claim 3, wherein identifying the object comprises:
    상기 바운딩 박스 내측 영역에서 식별된 객체가 복수 개인 경우, 사전에 설정된 우선순위에 따라 상기 복수 개의 객체 중에서 하나의 객체만을 선택하되,When there are a plurality of objects identified in the inner region of the bounding box, only one object is selected from among the plurality of objects according to a preset priority,
    상기 우선순위는 이미지 내에서 차지하고 있는 객체의 크기, 위치 또는 형성에 따라 설정된 기준인 것을 특징으로 하는, 어노테이션 방법.Characterized in that the priority is a criterion set according to the size, position or shape of the object occupied in the image, the annotation method.
  5. 제3 항에 있어서, 상기 크기를 확대 또는 축소하는 단계는The method of claim 3, wherein the step of enlarging or reducing the size
    상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함되는 경우, 상기 바운딩 박스를 구성하는 복수 개의 선분 각각에 대하여 상기 객체의 외곽선에 존재하는 최인접 지점으로부터의 거리가 사전에 설정된 최대 이격 픽셀 수 이내가 될 때까지, 상기 바운딩 박스의 중심을 향하여 상기 선분을 이동시키는 것을 특징으로 하는, 어노테이션 방법.When the identified object is completely included in the inner region of the bounding box, the maximum number of pixels at which the distance from the nearest point existing on the outline of the object is set in advance for each of a plurality of line segments constituting the bounding box characterized in that, moving the line segment toward the center of the bounding box until it is within the bounding box.
  6. 제3 항에 있어서, 상기 크기를 확대 또는 축소하는 단계는The method of claim 3, wherein the step of enlarging or reducing the size
    상기 식별된 객체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 바운딩 박스의 외부 방향을 향하여 상기 객체가 걸쳐진 선분을 이동시키는 것을 특징으로 하는, 어노테이션 방법.When the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the object toward the outer direction of the bounding box until the identified object is completely included in the inner area of the bounding box. Annotation method characterized by moving the line segment spanned by .
  7. 제3 항에 있어서, 상기 크기를 확대 또는 축소하는 단계는The method of claim 3, wherein the step of enlarging or reducing the size
    상기 식별된 개체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 바운딩 박스의 중심을 상기 객체가 걸쳐진 선분의 방향으로 이동시키며 상기 바운딩 박스의 크기를 사방으로 확대시키는 것을 특징으로 하는, 어노테이션 방법.When the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the center of the bounding box is moved until the identified object is completely included in the inner area of the bounding box. Annotation method characterized by moving in the direction of a line segment and expanding the size of the bounding box in all directions.
  8. 제3 항에 있어서, 상기 크기를 확대 또는 축소하는 단계는The method of claim 3, wherein the step of enlarging or reducing the size
    상기 식별된 개체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 바운딩 박스를 복수 개의 세부 영역으로 분할한 후, 상기 식별된 객체가 상기 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 분할된 세부 영역 중에서 상기 객체가 걸쳐 있는 세부 영역의 크기만을 확대시키는 것을 특징으로 하는, 어노테이션 방법.If the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, the identified object will be completely included in the inner area of the bounding box after dividing the bounding box into a plurality of detailed areas. characterized in that only the size of the detailed region spanning the object is enlarged among the divided detailed regions.
  9. 제3 항에 있어서, 상기 크기를 확대 또는 축소하는 단계는The method of claim 3, wherein the step of enlarging or reducing the size
    상기 식별된 개체가 상기 바운딩 박스를 구성하는 복수 개의 선분 중 하나 이상의 선분에 걸쳐 있는 경우, 상기 식별된 객체가 병합된 바운딩 박스의 내측 영역에 완전히 포함될 때까지, 상기 객체가 걸쳐진 선분의 바깥 영역에 사전에 결정된 크기를 가지는 추가 영역을 새롭게 설정하고 새롭게 설정된 추가 영역과 상기 바운딩 박스를 병합시키는 과정을 반복 수행하는 것을 특징으로 하는, 어노테이션 방법.When the identified object spans one or more line segments among a plurality of line segments constituting the bounding box, until the identified object is completely included in the inner area of the merged bounding box, the object extends to the outer area of the line segment. An annotation method characterized by repeatedly performing a process of newly setting an additional region having a predetermined size and merging the newly set additional region and the bounding box.
  10. 메모리(memory);memory;
    입출력장치(input output device); 및input output device; and
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, In combination with a computing device configured to include a processor for processing instructions resident in the memory,
    상기 프로세서가, 상기 입출력장치를 통해 입력된 작업자의 제어에 따라, 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정하는 단계;setting, by the processor, a partial region in the image to be an object of annotation work for artificial intelligence (AI) learning as a bounding box according to operator control input through the input/output device;
    상기 프로세서가, 상기 바운딩 박스의 내측 영역에 완전히 포함되거나, 또는 상기 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별하는 단계;identifying, by the processor, an object completely included in an inner region of the bounding box or spanning one or more line segments among a plurality of line segments constituting the bounding box;
    상기 프로세서가, 상기 식별된 객체의 외곽선에 대응하는 크기를 가지도록 상기 바운딩 박스의 크기를 확대 또는 축소하는 단계; 및enlarging or reducing, by the processor, the size of the bounding box to have a size corresponding to the outline of the identified object; and
    상기 프로세서가, 상기 입출력장치를 통해 입력된 작업자의 제어에 의해 상기 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되면, 상기 확정된 바운딩 박스의 위치 및 크기에 따른 좌표를 포함하여 어노테이션의 작업 결과물을 생성하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.When the processor determines the location and size of the expanded or reduced bounding box by the operator's control input through the input/output device, an annotation work result including the coordinates according to the determined location and size of the bounding box A computer program recorded on a recording medium in order to execute the steps of generating a.
PCT/KR2022/007647 2021-09-30 2022-06-10 Annotation method for easily designating object, and computer program recorded in recording medium in order to perform method WO2023054832A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0129620 2021-09-30
KR20210129620 2021-09-30

Publications (1)

Publication Number Publication Date
WO2023054832A1 true WO2023054832A1 (en) 2023-04-06

Family

ID=85783019

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/007647 WO2023054832A1 (en) 2021-09-30 2022-06-10 Annotation method for easily designating object, and computer program recorded in recording medium in order to perform method

Country Status (1)

Country Link
WO (1) WO2023054832A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170002A1 (en) * 2013-05-31 2015-06-18 Google Inc. Object detection using deep neural networks
US9390506B1 (en) * 2015-05-07 2016-07-12 Aricent Holdings Luxembourg S.A.R.L. Selective object filtering and tracking
US20170154425A1 (en) * 2015-11-30 2017-06-01 Pilot Al Labs, Inc. System and Method for Improved General Object Detection Using Neural Networks
US20170206431A1 (en) * 2016-01-20 2017-07-20 Microsoft Technology Licensing, Llc Object detection and classification in images
KR102265678B1 (en) * 2021-03-23 2021-06-16 주식회사 에이모 Method of predicting difficulty of bounding box work in the image file and computer apparatus conducting thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170002A1 (en) * 2013-05-31 2015-06-18 Google Inc. Object detection using deep neural networks
US9390506B1 (en) * 2015-05-07 2016-07-12 Aricent Holdings Luxembourg S.A.R.L. Selective object filtering and tracking
US20170154425A1 (en) * 2015-11-30 2017-06-01 Pilot Al Labs, Inc. System and Method for Improved General Object Detection Using Neural Networks
US20170206431A1 (en) * 2016-01-20 2017-07-20 Microsoft Technology Licensing, Llc Object detection and classification in images
KR102265678B1 (en) * 2021-03-23 2021-06-16 주식회사 에이모 Method of predicting difficulty of bounding box work in the image file and computer apparatus conducting thereof

Similar Documents

Publication Publication Date Title
WO2020096099A1 (en) Machine learning method and device
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2021080102A1 (en) Method for training and testing adaption network corresponding to obfuscation network capable of processing data to be concealed for privacy, and training device and testing device using the same
WO2021132927A1 (en) Computing device and method of classifying category of data
WO2023120831A1 (en) De-identification method and computer program recorded in recording medium for executing same
WO2020138745A1 (en) Image processing method, apparatus, electronic device and computer readable storage medium
WO2022265262A1 (en) Method for extracting data for artificial intelligence training based on big data, and computer program recorded on recording medium in order to execute same
WO2020045848A1 (en) System and method for diagnosing disease using neural network performing segmentation
WO2019093819A1 (en) Electronic device and operation method therefor
WO2020180084A1 (en) Method for completing coloring of target image, and device and computer program therefor
WO2020032707A9 (en) Optimizing data partitioning and replacement strategy for convolutional neural networks
WO2021153969A1 (en) Methods and systems for managing processing of neural network across heterogeneous processors
WO2021010671A2 (en) Disease diagnosis system and method for performing segmentation by using neural network and unlocalized block
WO2020091207A1 (en) Method, apparatus, and computer program for completing painting of image, and method, apparatus, and computer program for training artificial neural network
WO2020168606A1 (en) Advertisement video optimising method, apparatus and device and computer readable storage medium
WO2023106572A1 (en) Method for training detection model for detecting fraudulent trading of virtual assets, method for detecting fraudulent trading of virtual assets using detection model, and device and computer program for performing methods
WO2019009664A1 (en) Apparatus for optimizing inspection of exterior of target object and method thereof
EP3922036A1 (en) Apparatus and method for generating image
WO2023054832A1 (en) Annotation method for easily designating object, and computer program recorded in recording medium in order to perform method
WO2021080175A1 (en) Content processing method
WO2020032560A2 (en) Diagnosis result generation system and method
WO2018191889A1 (en) Photo processing method and apparatus, and computer device
WO2022131723A1 (en) Method for providing drawing reading and searching function, and device and system therefor
WO2023282466A1 (en) Training data collection method using laser preview, and computer program recorded on recording medium to execute same
WO2021172921A1 (en) Medical imaging apparatus and medical image processing method

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

Country of ref document: EP

Kind code of ref document: A1