WO2022265262A1 - Method for extracting data for artificial intelligence training based on big data, and computer program recorded on recording medium in order to execute same - Google Patents

Method for extracting data for artificial intelligence training based on big data, and computer program recorded on recording medium in order to execute same Download PDF

Info

Publication number
WO2022265262A1
WO2022265262A1 PCT/KR2022/007663 KR2022007663W WO2022265262A1 WO 2022265262 A1 WO2022265262 A1 WO 2022265262A1 KR 2022007663 W KR2022007663 W KR 2022007663W WO 2022265262 A1 WO2022265262 A1 WO 2022265262A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
learning
artificial intelligence
image
annotation
Prior art date
Application number
PCT/KR2022/007663
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 WO2022265262A1 publication Critical patent/WO2022265262A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Definitions

  • the present invention relates to the processing of artificial intelligence (AI) learning data. More specifically, it relates to a method for extracting artificial intelligence learning data that meets needs based on preformed big data and a computer program recorded on a recording medium to execute the 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.
  • designing data for artificial intelligence (AI) learning proceeds in the steps of data structure design, data collection, data refinement, data processing, data expansion, and data verification.
  • 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 performing annotation and inputting metadata.
  • 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.
  • Data processing is also referred to as data labeling. More specifically, the annotation work of data processing is performed by a worker processing a bounding box for an object included in an image.
  • the bounding box is an area for specifying the position and shape of an object included in the image.
  • image information may include a file name, file size, and image size.
  • Copyright information may include information about the copyright holder of the image.
  • the photographing condition information may include resolution, bit value, aperture transmittance, exposure time, ISO sensitivity, focal length, aperture value, angle of view, white balance, and RGB depth.
  • Object information may include annotation type, coordinate value, area size, class name, tag item, clipping, major classification, middle classification, small classification, and instance information.
  • the environment information may include a shooting date and time, a shooting location, and weather information.
  • the number and type of information that can be input in the metadata input process of data processing may vary depending on the purpose of artificial intelligence (AI) learning.
  • environment information may further include the type of road on which an image is captured, road surface information, traffic congestion information, and the like.
  • One object of the present invention is to provide a method capable of extracting data for artificial intelligence (AI) learning that meets a specific purpose using metadata from big data.
  • AI artificial intelligence
  • Another object of the present invention is to provide a computer program recorded on a recording medium to execute a method capable of generating data for artificial intelligence (AI) learning that meets a specific purpose from big data.
  • AI artificial intelligence
  • the present invention proposes a method for generating artificial intelligence (AI) learning data that meets a specific purpose from big data using metadata.
  • the method includes the steps of distributing, by a learning data generating device, a plurality of images to be annotated;
  • a plurality of annotation devices specify the coordinates of an object included in each image for the distributed plurality of images, and generate coordinates of the specified object in the image and metadata for the image. and generating an annotation work result by including the generated metadata; and receiving, by the learning data generating device, the plurality of annotation job results, classifying the plurality of annotation job results based on the metadata, and generating data for artificial intelligence (AI) learning. can do.
  • big data is built using the annotation work result classified based on the metadata, and when a requested value is input from the outside, the big data is mined.
  • An annotation work result corresponding to the requested value may be extracted by mining or filtering, and the extracted annotation work result may be packaged to generate the artificial intelligence (AI) learning data.
  • the requested value may be a value indicating the type of information to be included in the AI learning data.
  • the big data includes a hash table composed of a plurality of buckets according to the type of the metadata, and each of the buckets includes a link to an annotation work result. It may be configured to include more than one slot (slot) of.
  • the step of generating the AI learning data is to search for one or more slots by substituting the requested value into a hash function previously set in correspondence with the hash table, and to search for one or more slots. You can extract one or more annotation work outputs through the included links.
  • the link included in the slot is maintained.
  • the capacity of the hash table may be increased by readjusting the home bucket of the slot.
  • the data structure is such that the type of information not included is included in the metadata.
  • the plurality of images may be redistributed to the plurality of annotation devices.
  • the big data is divided into a plurality of layers, and in the process of constructing the big data, based on the job evaluation grade given to the user of the annotation device, the A layer to which the annotation work result belongs may be determined, and the annotation work result may be extracted from each layer according to a ratio corresponding to the request value input from the outside.
  • AI artificial intelligence
  • the step of generating the annotation work result when the plurality of images correspond to images continuously photographed by the same camera, environmental information previously given to an image photographed in advance among the plurality of images is followed by It is possible to generate metadata for an image taken later by including it as environment information of a captured image.
  • the environment information may include information on the date and time of image capture, location, weather information, road type, road surface, and traffic congestion.
  • the step of generating the annotation work result if there are a plurality of previously photographed images, environment information previously assigned to an image including an object to which the same tracking identifier is assigned among the plurality of images is selected. It can be included as environment information of images taken later.
  • the tracking ID may be a unique identifier of an object assigned to track the object.
  • the step of generating the annotation work result is based on a result of comparing the background area obtained by removing the area occupied by the object to which the same ID is assigned for each of the preceding and succeeding images, It may be determined whether or not the captured image can be applied as the environment information of the captured image by following the environment information given to the captured image.
  • the present invention proposes a computer program recorded on a recording medium to execute the verification method as described above.
  • the computer program may include a memory; transceiver; and a processor configured to process instructions resident in the memory.
  • the computer program may further include distributing, by the processor, a plurality of images to be annotated through the transceiver; receiving, by the processor, the plurality of annotation job results through the transceiver, the annotation job result including coordinates of an object in the image for each of the plurality of images and metadata for the image; and generating data for artificial intelligence (AI) learning by the processor classifying the plurality of annotation work results based on the metadata, which may be a computer program recorded on a recording medium.
  • AI artificial intelligence
  • AI learning data when AI learning data is requested from a customer who wants to learn AI, after that, data structure design, data collection, data refinement, data processing, It took a relatively long time to expand data, verify data, generate artificial intelligence (AI) learning data based on the results, and deliver it to customers.
  • AI artificial intelligence
  • AI artificial intelligence
  • FIG. 1 and 2 are configuration diagrams of an artificial intelligence learning system according to various embodiments of the present invention.
  • FIG. 3 is a logical configuration diagram of an apparatus for generating learning data according to an embodiment 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.
  • FIG. 6 is a signal flow diagram for explaining a method of generating data for artificial intelligence (AI) learning according to an embodiment of the present invention.
  • FIG. 7 is a conceptual diagram for explaining the concept of generating data for artificial intelligence (AI) learning according to an embodiment of the present invention.
  • FIG. 8 is an exemplary view for explaining the concept of a tracking ID according to an embodiment of the present invention.
  • FIG. 9 is an exemplary diagram for explaining a user interface (UI) for checking a tracking ID according to an embodiment of the present invention.
  • UI user interface
  • 10 and 11 are exemplary diagrams for explaining a process of determining environment information in consecutive images according to some embodiments of the present invention.
  • 12 and 13 are exemplary diagrams for explaining a process of automatically determining environment information according to some embodiments of the present invention.
  • UI 14 is an exemplary diagram for explaining a user interface (UI) for inspecting metadata according to an embodiment of the present invention.
  • 15 is a flowchart illustrating an operation process of an annotation device 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.
  • AI artificial intelligence
  • the present invention intends to propose various means capable of more easily processing a large number of images and more easily verifying the processed data.
  • the artificial intelligence learning system includes a learning data generating device 100, one or more annotation devices 200-1, 200-2, ..., 200-n; 200 , It may be configured to include a learning data verification device 300 and an artificial intelligence learning device 400.
  • the artificial intelligence learning system includes one or more annotation devices (200-a, 200-b, ..., 200-m; 200) and a learning data verification device ( 300-a, 300-b, ..., 300-m; 300) consisting of a plurality of groups (Group-a, Group-b ..., Group-m), the learning data generating device 100 and the artificial intelligence learning device ( 400) may be configured.
  • 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 learning data generating device 100 is a device that can be used to design and generate artificial intelligence (AI) learning data.
  • AI artificial intelligence
  • the learning data generating device 100 is basically a device that is distinguished from the learning data verifying device 300, but in an actual physical environment, the learning data generating device 100 and the learning data verifying device 300 are integrated into one device. It may be integrated and implemented.
  • the learning data generating device 100 preemptively generates artificial intelligence (AI) data before receiving a request for artificial intelligence (AI) learning data from the artificial intelligence learning device 400. It is possible to build big data that can generate data for learning.
  • AI artificial intelligence
  • the learning data generating device 100 receives a request value according to the customer's needs from the artificial intelligence learning device 400, it mines or filters the preemptively built big data to generate artificial intelligence (AI). Data for learning may be generated, and the generated data for artificial intelligence (AI) learning may be transmitted to the artificial intelligence learning device 400 .
  • AI artificial intelligence
  • the learning data generation device 100 having such characteristics transmits and receives data with the annotation device 200, the learning data verification device 300, and the artificial intelligence learning device 400, and performs calculations based on the transmitted and received data. Any device that can do this is acceptable.
  • the learning data generating device 100 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
  • a detailed configuration and operation of the learning data generating device 100 will be described later with reference to FIG. 3 .
  • the annotation device 200 is a device that can be used to annotate images distributed by the learning data generating device 100.
  • the annotation device 200 tracks a specific object from each image distributed by the learning data generating device 100 (ie, an annotation target image).
  • a tracking identifier can be assigned.
  • the annotation device 200 may automatically assign environment information to each image distributed by the learning data generating device 100.
  • the annotation device 200 having such characteristics may be any device capable of transmitting and receiving data to and from the learning data generating device 100 and the learning data verifying device 300 and performing calculations based on the transmitted and received data.
  • the annotation device 100 may be a stationary computing device such as a desktop, workstation, or server, or a smart phone, a laptop, a tablet, a phablet, or a portable multimedia player.
  • PMP Portable Multimedia Player
  • PDAs personal digital assistants
  • E-book reader e-book readers
  • annotation device 200 may be a device in which an annotation worker performs annotation through a clouding service.
  • the learning data verification device 300 is a device that can be used to verify artificial intelligence (AI) learning data. That is, the learning data verification device 300 verifies whether the annotation task result generated by the annotation device 200 meets a pre-set target quality or whether the annotation task result is valid for artificial intelligence (AI) learning. It is a device that can
  • the learning data verification device 300 may receive an annotation job result from the annotation device 200 .
  • the annotation work result may include coordinates of an object specified by an annotation worker and metadata about an image or object.
  • the metadata of the annotation work result may include image information, copyright information, photographing condition information, specific object information, and environment information, but is not limited thereto.
  • Such an annotation work result may have a JSON (Java Script Object Notation) file format, but is not limited thereto.
  • the learning data verification device 300 may inspect the received annotation work result. To this end, the learning data verification device 300 may perform inspection using a script for annotation work results.
  • the script is a code for verifying whether or not the target quality previously set for the annotation work result meets or whether the data is valid.
  • the learning data verification device 300 can provide a user interface (UI) that can more easily inspect the tracking ID and environment variables of objects included in the annotation work result. .
  • UI user interface
  • the learning data verification apparatus 300 outputs a user interface (UI) capable of verifying the metadata of the annotation work result, a cropped image of an object to which the same tracking ID is assigned from images included in the image group.
  • UI user interface
  • the cropped images collected on the user interface (UI) may be sequentially arranged and output according to the order of the images taken.
  • the image group is a set of annotated images. Such image groups may be formed for each annotation device 200 or for each project.
  • the image group includes images taken consecutively in time series by the same camera as the camera that took the image to be annotated, and other images arranged adjacent to the camera that took the image to be annotated. Images spatially continuously photographed by a camera may be included, but are not limited thereto.
  • the cropped image is an image obtained by cropping a part of an image that is an annotation work target based on coordinates set to specify an object by annotation.
  • the learning data verification apparatus 300 compares patterns of RGB (Red, Green, Blue) values and patterns of edges of objects included in each of the cropped images to crop images of objects to which the same tracking ID is assigned. In cross-contrast, it is possible to self-inspect whether the same tracking ID is assigned to each object.
  • RGB Red, Green, Blue
  • the learning data verification apparatus 300 cross-contrasts the RGB value pattern and the edge pattern of objects to which different tracking IDs have been assigned, targeting cropped images of objects to which different tracking IDs have been assigned. It is also possible to check whether different tracking IDs are assigned to each other.
  • the pattern of RGB values means a pattern of a ratio of RGB values to pixels in an image and an arrangement order of RGB values.
  • the pattern of the edge means a pattern for the number of pixels included in an enclosure closed by the edge extracted from the image and the relative position where the edge is located in the image.
  • the learning data verification device 300 determines that it is incorrect to assign the same tracking ID or to assign different tracking IDs
  • the tracking ID that is determined to be incorrect is displayed on the user interface (UI).
  • Information about the assigned object can be output.
  • the learning data verification device 300 outputs a user interface (UI) in which cropped images of a plurality of objects to which the same tracking ID is assigned are successively arranged, and the result of self-checking whether the tracking ID of the objects is correctly assigned
  • UI user interface
  • the user of the training data verification device 300 can easily check and inspect a plurality of objects determined to be the same at a glance.
  • the learning data verification apparatus 300 in outputting a user interface (UI) capable of verifying the metadata of the annotation work result, the learning data verification apparatus 300 has a figure having a preset color corresponding to a value included in each metadata. ), each of the images included in the image group may be graphicalized and included in the user interface (UI).
  • UI user interface
  • the learning data verification apparatus 300 may express each of the images included in the image group as a single line having a color corresponding to a value included in metadata.
  • the training data verification apparatus 300 may construct bar-shaped graphics by continuously arranging each line segment in the direction of the width of the line segment according to the sequence of images captured.
  • the training data verification device 300 may output the configured bar-shaped graphic by including it in the user interface (UI).
  • UI user interface
  • the learning data verification apparatus 300 outputs a user interface (UI) in which a plurality of images are simply graphic according to the value of the metadata, so that the user of the learning data verification apparatus 300 can view the metadata of the plurality of images.
  • UI user interface
  • the learning data verification device 300 may transmit annotation work results and inspection results received from the annotation devices 200 to the learning data generating device 100 .
  • the learning data verification device 300 having the above characteristics can transmit and receive data with the annotation device 200 and the learning data generating device 100 and perform calculations based on the transmitted and received data. Any device may be acceptable.
  • the learning data verification device 300 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 400 is a device that can be used to develop artificial intelligence (AI).
  • the artificial intelligence learning device 400 provides the learning data generating device 100 with a request value including requirements that AI learning data must satisfy in order for AI to achieve its development purpose. can transmit
  • the artificial intelligence learning device 400 may receive artificial intelligence (AI) learning data from the learning data generating device 100 .
  • the artificial intelligence learning device 400 may perform machine learning on artificial intelligence (AI) to be developed using the received artificial intelligence (AI) learning data.
  • the artificial intelligence learning device 400 may be any device capable of transmitting and receiving data to and from the learning data generating device 100 and performing calculations using the transmitted and received data.
  • the artificial intelligence learning device 400 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
  • the learning data generating device 100, one or more annotation devices 200, the learning data verification device 300, and the artificial intelligence learning device 400 are directly connected to each other through a security line and a public wired communication network.
  • data may be transmitted and received using a network in which one or more of the mobile communication networks are combined.
  • 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. 3 is one of the present invention in the examples It is a logical configuration diagram of the learning data generating device according to FIG.
  • the learning data generating device 300 includes a communication unit 105, an input/output unit 110, a storage unit 115, a data structure design unit 120, a data collection and refinement unit 125, and a data It may include a processing unit 130, a big data management unit 135, and a learning data generation unit 140.
  • the components of the learning data generating device 100 are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is integrated with each other in an actual physical environment. It could be implemented separately.
  • the communication unit 105 may transmit/receive data with one or more of the annotation device 200, the learning data verification device 300, and the artificial intelligence learning device 400.
  • the communication unit 105 may transmit a plurality of images to be annotated to the annotation device 200 .
  • the communication unit 105 may receive annotation work results and inspection results from the learning data verification device 300 .
  • the communication unit 105 may receive a request value from the artificial intelligence learning device 400 .
  • the required value is a value related to requirements that AI learning data must satisfy in order for AI to achieve its development purpose. That is, the requested value is a value indicating the type of information to be included in the data for AI learning.
  • the communication unit 105 may transmit artificial intelligence (A) learning data to the artificial intelligence learning device 400 .
  • the input/output unit 110 may receive a signal from a user through a user interface (UI) or output an operation result to the outside.
  • UI user interface
  • the input/output unit 110 may receive a control signal for designing a data structure for artificial intelligence (AI) learning from a user.
  • the input/output unit 110 may receive data (ie, images) for artificial intelligence (AI) learning from the outside.
  • the input/output unit 110 may receive an input of an allocation amount for distributing annotation work to a plurality of annotation devices 200 from a user.
  • the input/output unit 110 may output state information of the big data managed by the big data management unit 135 . Also, the input/output unit 110 may output the requested value received from the artificial intelligence learning device 400 through the communication unit 105 .
  • the storage unit 115 may store data for generating artificial intelligence (AI) learning data.
  • AI artificial intelligence
  • the storage unit 115 may store a data structure designed by the data structure design unit 120 .
  • the storage unit 115 may store data (ie, images) for artificial intelligence (AI) learning collected by the data collection and refinement unit 125 .
  • the storage unit 115 may store annotation work results received from the annotation device 200 or the learning data verification device 300 .
  • the storage unit 115 may store information about big data being generated and managed by the big data management unit 135 .
  • the storage unit 115 according to another embodiment of the present invention may store information about big data being generated and managed by the big data management unit 135 through an external storage device.
  • the data structure design unit 120 may design a data structure for artificial intelligence (AI) learning.
  • AI artificial intelligence
  • the data structure design unit 120 may design a data structure for artificial intelligence (AI) learning based on user control input through the input/output unit 110 .
  • the data structure design unit 120 may define an ontology for artificial intelligence (AI) learning and a data classification system for artificial intelligence (AI) learning based on user control.
  • AI artificial intelligence
  • the user of the learning data generating device 100 can control the structure of data for artificial intelligence (AI) learning to have versatility in consideration of the needs of the main business partner or customer.
  • the data collection and refinement unit 125 may collect and refine data for artificial intelligence (AI) learning based on the data structure designed by the data structure design unit 120 .
  • AI artificial intelligence
  • the data collection and refinement unit 125 may receive an image from the outside through the input/output unit 110 based on the designed data structure.
  • the data collection and refinement unit 125 may collect images by performing web crawling through the communication unit 105 .
  • the data collection and refinement unit 125 may download an image from an external institution's device having image data.
  • the data collection and refinement unit 125 may remove redundant or extremely similar images from among collected images. Also, the data collection and refinement unit 125 may de-identify personal information included in the collected images.
  • the data processing unit 130 may process the collected and refined data (ie, the image to be annotated) using the annotation device 200 .
  • the data processing unit 130 distributes the collected and refined data (ie, images to be annotated) to the plurality of annotation devices 200 based on the quota set through the input/output unit 110 can be sent.
  • the data processing unit 130 may receive annotation work results directly from the annotation device 200 or receive annotation work results and inspection results from the learning data verification device 300 through the communication unit 105 .
  • the big data management unit 135 may construct and manage big data related to a plurality of annotation work results based on metadata.
  • the big data management unit 135 performs a plurality of annotation tasks received from the annotation device 200 or the learning data verification device 300 through the data processing unit 130 based on the metadata included in the annotation task result. Results can be categorized.
  • the metadata included in the annotation work result may include image information, copyright information, shooting condition information, annotated object information, and environment information, but is not limited thereto.
  • Image information included in metadata may include a file name, file size, and image size.
  • Copyright information may include information about the copyright holder of the image.
  • the photographing condition information may include resolution, bit value, aperture transmittance, exposure time, ISO sensitivity, focal length, aperture value, angle of view, white balance, and RGB depth.
  • Object information may include annotation type, coordinate value, area size, class name, tag item, clipping, major classification, middle classification, small classification, and instance information.
  • the environmental information may include shooting date and time, shooting location, weather information, road type, road surface information, and traffic jam information.
  • the number and type of information that may be included in metadata is not limited thereto.
  • the big data management unit 135 may build big data using a plurality of annotation work results classified based on metadata.
  • the big data management unit 135 may include a plurality of annotation work results received after the big data is pre-constructed in the pre-constructed big data.
  • the big data constructed by the big data management unit 135 may include a hash table.
  • a hash table included in big data may be composed of a plurality of buckets according to the type of metadata.
  • Each of the plurality of buckets constituting the hash table may include one or more slots.
  • each slot included in the bucket may include a link to an annotation work result.
  • the big data management unit 1335 in the process of constructing big data, when the load density of the hash table exceeds a preset critical density, maintains the links included in each slot and stores the metadata.
  • the capacity of the hash table can be increased by doubling the number of buckets according to the type of , and then readjusting only the home bucket of each slot.
  • the big data constructed by the big data management unit 135 may be partitioned into a plurality of layers.
  • a layer of big data may be determined, and a corresponding annotation work result may be added to the determined layer of big data.
  • the learning data generating unit 140 may generate artificial intelligence (AI) learning data using the big data built by the big data management unit 135 .
  • AI artificial intelligence
  • the learning data generator 140 mines or filters the built big data to obtain the requested value. Annotation work results corresponding to can be extracted.
  • the required value is a value related to requirements that AI learning data must satisfy in order for AI to achieve its development purpose. That is, the requested value is a value indicating the type of information to be included in the data for AI learning.
  • the learning data generating unit 140 may search for one or more slots by substituting a requested value into a hash function set in advance corresponding to a hash table of big data.
  • the training data generator 140 may extract one or more annotation work results through links respectively included in one or more searched slots.
  • the learning data generation unit 140 may extract annotation work results from each layer of the big data composed of a plurality of layers according to a preset ratio corresponding to the requested value.
  • the learning data generation unit 140 may generate AI learning data by packaging the extracted annotation work result. And, the learning data generation unit 140 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning device 400 through the communication unit 105 .
  • AI artificial intelligence
  • the learning data generator 140 allows the type of information not included in the metadata to be included in the metadata,
  • the data structure may be redesigned through the data structure design unit 120 .
  • the learning data generation unit 140 may redistribute the plurality of images to the plurality of annotation devices 200 through the data processing unit 130 to redistribute the annotation work.
  • FIG. 4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
  • the annotation device 200 includes a communication unit 205, an input/output unit 210, a storage unit 215, an object specification unit 220, a metadata generation unit 225, and a result generation unit ( 230) may be configured.
  • the components of the annotation device 200 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 205 may transmit/receive data with the learning data generating device 100 and the learning data verifying device 300 .
  • the communication unit 205 may receive a plurality of images distributed by the learning data generating device 100 .
  • the image is an image that is a target of annotation work for artificial intelligence (AI) learning.
  • AI artificial intelligence
  • Such a plurality of images may be received individually or collectively.
  • the communication unit 205 may transmit the annotation work result to the learning data verification device 300 .
  • Such an annotation work result may have a JSON file format, but is not limited thereto.
  • the input/output unit 210 may receive a signal from a user through a user interface (UI) or output an operation result to the outside.
  • UI user interface
  • the user means a person who performs annotation work.
  • Such a user may be referred to as a worker, performer, labeler, data labeler, and the like, but is not limited thereto.
  • the input/output unit 210 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 a user. Also, the input/output unit 110 may overlay and output a bounding box on the image.
  • the input/output unit 110 may receive a control signal for setting metadata of an image from a user.
  • the storage unit 215 may store data required for annotation work.
  • the storage unit 215 may store an image received through the communication unit 205 . Also, the storage unit 215 may store project properties, image properties, or user properties received through the communication unit 205 .
  • the object specifying unit 220 may specify an object included in an image to be annotated.
  • the object specifying unit 220 may load an image to be an annotation work into memory.
  • the object specifying unit 220 may select a tool according to a user's control signal input through the input/output unit 210 .
  • the tool is a tool for setting a bounding box that specifies one or more objects included in the image.
  • the object specifying unit 220 may receive coordinates through the selected tool according to a control signal input through the input/output unit 210 .
  • the object specifying unit 220 may specify an object included in the image by setting a bounding box based on the input coordinates.
  • 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 object specification unit 220 receives two coordinates from the user through the input/output unit 210, 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.
  • An object included in an image can be specified by setting a bounding box based on a rectangle.
  • the two coordinates may be set by the user inputting one type of input signal twice (eg, mouse click) or by the user inputting two types of input signal once (eg, mouse drag). It may, but is not limited thereto.
  • the metadata generating unit 225 may generate metadata for an image that is a target of annotation work.
  • the metadata may include image information, copyright information, shooting condition information, annotated object information, and environment information, but is not limited thereto.
  • Image information included in metadata may include a file name, file size, and image size.
  • Copyright information may include information about the copyright holder of the image.
  • the photographing condition information may include resolution, bit value, aperture transmittance, exposure time, ISO sensitivity, focal length, aperture value, angle of view, white balance, and RGB depth.
  • Object information may include annotation type, coordinate value, area size, class name, tag item, clipping, major classification, middle classification, small classification, and instance information.
  • the environmental information may include shooting date and time, shooting location, weather information, road type, road surface information, and traffic jam information.
  • the number and type of information that may be included in metadata is not limited thereto.
  • the metadata generator 225 may set specific values to be included in the metadata according to a control signal input from the user, but characteristically, the metadata generator 225 responds to the user's control signal. It is possible to automatically determine or assign the object's tracking ID and environment information without relying on it. In other words, the metadata generator 225 may generate metadata by including coordinates in the image of the specified object, an automatically assigned tracking ID, and automatically determined environment information.
  • the metadata generation unit 225 may automatically assign a tracking ID to the object specified by the object specification unit 220 .
  • the tracking ID is a unique identifier of an object assigned to track an object from an image group.
  • An image group is a set of annotated images.
  • the image group includes images taken consecutively in time series by the same camera as the camera that took the image to be annotated, and other images arranged adjacent to the camera that took the image to be annotated. Images spatially continuously photographed by a camera may be included, but are not limited thereto.
  • the metadata generating unit 225 may assign a tracking ID based on the color of the object. Specifically, the metadata generating unit 225 may identify a pattern of RGB values for an area occupied by an object in an image. The metadata generation unit 225 may generate an identifier corresponding to the identified pattern of RGB values and assign it as the tracking ID of the object specified by the object specification unit 220 .
  • the pattern of RGB values means a pattern of ratios of RGB values to pixels and arrangement order of RGB values.
  • the metadata generating unit 225 before generating a new identifier, determines the pattern of RGB values for objects specified from the images included in the image group and the object specified by the object specifying unit 220. Similar objects may be searched for by comparing the identified patterns of RGB values. Also, when a similar object is found from the images included in the image group, the metadata generator 225 assigns the tracking ID assigned to the searched similar object to the tracking ID of the object specified by the object specifying unit 220. can do.
  • the metadata generator 225 may assign a tracking ID based on the shape of an object. Specifically, the metadata generating unit 225 may extract an edge of an image (edge detection). The metadata generation unit 225 may identify only the edge of the object specified by the object specification unit 220 from all edges of the extracted image. The metadata generating unit 225 may generate an identifier corresponding to the edge pattern of the identified object and assign it as the tracking ID of the object specified by the object specifying unit 220 .
  • the pattern of the edge means a pattern for the number of pixels included in the area closed by the edge extracted from the image and the relative position of the edge within the image.
  • the metadata generation unit 225 identifies edge patterns for objects specified from the images included in the image group and the object identified by the object specification unit 220 before newly generating the identifier. Similar objects may be searched for by comparing the edge patterns of objects with each other. Also, when a similar object is found from the images included in the image group, the metadata generator 225 assigns the tracking ID assigned to the searched similar object to the tracking ID of the object specified by the object specifying unit 220. can do.
  • the metadata generator 225 may assign a tracking ID based on symbols or characters included in objects. Specifically, the metadata generating unit 225 may identify whether symbols or characters are included in the area occupied by the object in the image. The metadata generation unit 225 targets objects specified from the images included in the image group, and similar objects including the same symbol or character as the symbol or character identified from the object specified by the object specifying unit 220. can be searched for. Also, when a similar object is found from the images included in the image group, the metadata generator 225 assigns the tracking ID assigned to the searched similar object to the tracking ID of the object specified by the object specifying unit 220. can do.
  • the metadata generating unit 225 may automatically determine environment information about an image that is a target of annotation work.
  • the environment information refers to information related to a place or time point at which an image was captured by a camera.
  • Such environmental information may include, but is not limited to, information on the date and time of image capture, location, weather information, road type, road surface, and traffic congestion. It doesn't.
  • the metadata generation unit 225 compares an existing image with an image to be annotated, and converts environmental information given to the existing image to the environment of the image to be annotated. information can be applied.
  • the metadata generation unit 225 compares the existing image with the image to be annotated, and determines whether environmental information given to the existing image can be applied as environmental information of the image to be annotated. can determine whether
  • the existing image means an image taken prior to the image to be annotated by the same camera as the camera that captured the image to be annotated.
  • the metadata generation unit 225 assigns the same tracking ID as the object specified by the object specification unit 220 among the plurality of images. You can select an image that contains an object that has been deleted as an existing image.
  • the metadata generation unit 225 selects an image whose shooting time is closest to the image to be annotated from among the plurality of images. You can also choose by image.
  • the metadata generating unit 225 may identify a background area occupied by an object to which the same tracking ID as an object of the existing image is removed from the image to be annotated.
  • the metadata generating unit 225 may identify a background area occupied by an object to which the same tracking ID as the object of the image to be annotated is removed from the selected existing image.
  • the metadata generation unit 225 converts environment information pre-assigned to the existing image to a target of annotation based on a result of comparing the background area of the image to be annotated with the background area of the existing image. It can be determined whether or not it is applicable as environment information of the image to be applied.
  • the metadata generating unit 225 is an area occupied by an object to which the same ID has been assigned to each of the previously photographed image (i.e., the previous image) and the subsequent photographed image (annotation target image).
  • the background areas from which are removed are compared with each other, and based on the comparison result, it is determined whether or not the environmental information previously assigned to the previously photographed image can be applied as the environment information of the subsequent photographed image.
  • the metadata generation unit 225 determines the existing image based on the pattern of RGB values for the background area of the image to be annotated and the pattern of RGB values for the background area of the existing image. It is possible to determine whether pre-given environmental information can be applied as environmental information of an image to be annotated.
  • the metadata generation unit 225 is based on the pattern of the edge of the background area of the image to be annotated and the pattern of the edge of the background area of the existing image, the environment given to the existing image. It is possible to determine whether the information can be applied as environmental information of an image to be annotated.
  • the metadata generator 225 may set the average brightness value or average gamma value of the background area of the image to be annotated, and the average brightness value or average brightness value of the background area of the existing image. Based on the average gamma value, it may be determined whether environmental information given to an existing image can be applied as environmental information of an image to be annotated.
  • the metadata generation unit 225 when it is determined that the metadata generation unit 225 can apply the environmental information previously assigned to the existing image as the environmental information of the image to be annotated, the metadata generation unit 225 annotates the environmental information previously assigned to the existing image. Metadata can be created by including it as the environment information of the target image.
  • the metadata generation unit 225 assigns previously given environment information to the preceding image among the plurality of images to be photographed. By including it as environment information of the image, it is possible to automatically generate metadata for images taken later.
  • the metadata generation unit 225 cannot apply the environment information already given to the existing image as the environmental information of the image to be annotated, one or more sets in the image to be annotated. Based on the characteristics of the reference point, environmental information about an image to be annotated can be automatically determined.
  • the metadata generating unit 225 may set one or more reference points in an image to be annotated.
  • a number of images used in machine learning have a relatively similar composition so that artificial intelligence (AI) can achieve a specific purpose.
  • a reference point according to an embodiment of the present invention may be one or more points in an image set to correspond to the learning purpose of artificial intelligence (AI).
  • the metadata generator 225 may determine environment information of an image to be annotated based on the color, brightness, or gamma of each pixel of one or more set reference points.
  • the metadata generator 225 may extract an edge of an image to be annotated, and divide the image into a plurality of regions based on the extracted edge.
  • the metadata generating unit 225 may set one or more reference points for each of the plurality of divided areas.
  • the metadata generation unit 225 may identify a background area by removing an area occupied by an object from an image to be annotated based on the extracted edge.
  • the metadata generating unit 225 may determine the orientation of the object in the image based on the class assigned to the object. For example, when the class assigned to the object is a vehicle, the metadata generation unit 225 may determine the direction in which the wheels of the object are heading in the image as the ground.
  • the metadata generator 225 may identify a ground area and an air area from among a plurality of areas included in the identified background area, based on the determined object directionality.
  • the ground area is an area closest to the ground among a plurality of areas divided by edges.
  • the aerial area is an area furthest from the ground among a plurality of areas divided by edges.
  • the metadata generation unit 225 determines road surface information constituting the environment information based on the pixels of the reference point set in the ground area, and determines the environment information based on the pixels of the reference point set in the air area. It is possible to determine constituting weather information.
  • the metadata generator 225 may set one or more reference points for each of the four line segments constituting the border of the image to be annotated.
  • the metadata generating unit 225 may determine the orientation of the object in the image based on the class assigned to the object.
  • the metadata generation unit 225 may identify a ground segment and an air segment among four line segments based on the determined object direction.
  • the ground segment is a line segment closest to the ground among four line segments constituting the edge of the image.
  • the mid-air segment is the farthest line segment from the ground among the four line segments constituting the edge of the image.
  • the metadata generator 225 determines road surface information constituting environmental information based on pixels of a reference point set in a ground segment, and weather information constituting environmental information based on pixels of a reference point set in an aerial segment can decide
  • the metadata generation unit 225 sets a reference point at the same location for each of the image to be annotated and the existing image included in the image group, and the pixel of the reference point set in the image to be annotated is compared with the existing image. Contrasting the pixels of reference points identically set in the image, if the color, brightness, and gamma values of the pixels are within the preset allowable range, the preset environment information of the existing image will be determined as the environment information of the image to be annotated. may be If the difference between the color, brightness, and gamma values of the pixels of the reference point set identically in the image to be annotated and the existing image is out of the allowable range, the metadata generator 225 sets the environment information manually. A message informing that it should be done may be output through a user interface (UI).
  • UI user interface
  • the result generation unit 230 may generate an annotation work result based on the metadata generated by the metadata generation unit 225 .
  • the annotation work result may have a JSON file format, but is not limited thereto.
  • the result generation unit 230 may directly transmit the generated annotation work result to the learning data generation device 100 or to the learning data verification device 300 through the communication unit 205 .
  • the annotation device 200 includes a processor 250, a memory 255, a transceiver 260, an input/output device 265, and a data bus. , 270) and storage (Storage, 275).
  • the processor 250 may implement operations and functions of the annotation device 200 based on instructions according to the software 280a in which the method according to the embodiments of the present invention is resident in the memory 255 .
  • Software 280a in which a method according to embodiments of the present invention is implemented may be loaded in the memory 255 .
  • the transceiver 260 may transmit and receive data to and from the learning data generating device 100 and the learning data verifying device 300 .
  • the input/output device 265 may receive data necessary for the operation of the annotation device 200 and output an image, a bounding box, and metadata to be an annotation work.
  • the data bus 270 is connected to the processor 250, the memory 255, the transceiver 260, the input/output device 265, and the storage 275, and is a movement path for transferring data between each component. role can be fulfilled.
  • the storage 275 stores an application programming interface (API), a library file, a resource file, etc. necessary for the execution of the software 280a in which the method according to the embodiments of the present invention is implemented. can be saved
  • the storage 275 may store software 280b in which a method according to embodiments of the present invention is implemented. Also, the storage 275 may store information necessary for performing a method according to embodiments of the present invention.
  • the software (280a, 280b) for implementing the method of assigning and verifying the tracking ID resides in the memory 255 or stored in the storage 275
  • the processor 250 is artificial intelligence (AI) Step of specifying an object included in an image that is a target of annotation work for learning, step of giving a tracking ID to the specified object by the processor 250, and step of the processor 250 specifying the image of the specified object It may be a computer program recorded on a recording medium to execute the step of generating metadata for the image by including the inside coordinates and the assigned tracking ID.
  • AI artificial intelligence
  • the software (280a, 280b) for implementing the method of generating and checking metadata resident in the memory 255 or stored in the storage 275 is the processor 250 artificial intelligence (AI) Specifying an object included in an image that is a target of annotation work for learning, the processor 250 compares the image with an existing image, and converts environment information given to the existing image into environment information of the image. Determining whether or not it is applicable, and if the processor 250 determines that the environment information given to the existing image is applicable as the environment information of the image, the coordinates of the specified object in the image and the existing image It may be a computer program recorded on a recording medium to execute the step of generating metadata for the image by including the given environment information.
  • AI artificial intelligence
  • the software (280a, 280b) for implementing a method for automatically generating metadata residing in the memory 255 or stored in the storage 275 is provided by the processor 250 using artificial intelligence (AI) Specifying an object included in an image that is a target of annotation work for learning, the processor 250 setting one or more reference points in the image, and based on the color, brightness, or gamma of a pixel of the set reference point
  • AI artificial intelligence
  • the recording medium It can be a recorded computer program.
  • the processor 250 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device.
  • the memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices.
  • the transceiver 260 may include a baseband circuit for processing wired/wireless signals.
  • the input/output device 265 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 255 and be executed by processor 250 .
  • the memory 255 may be internal or external to the processor 250 and may be connected to the processor 250 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.
  • the learning data generation apparatus 100 of the artificial intelligence learning system may design a data structure for artificial intelligence (AI) learning (S105).
  • AI artificial intelligence
  • the learning data generating device 100 may define an ontology for AI learning and a classification system of data for AI learning based on a user's control.
  • the user of the learning data generating device 100 can control the structure of data for artificial intelligence (AI) learning to have versatility in consideration of the needs of the main business partner or customer.
  • AI artificial intelligence
  • the learning data generating device 100 may collect and refine data for artificial intelligence (AI) learning based on the designed data structure (S110).
  • AI artificial intelligence
  • the learning data generating device 100 may receive images from the outside, collect images by performing web crawling, or download images from an external institution's device that holds image data.
  • the learning data generation device 100 may remove duplicate or extremely similar images from among the collected images and de-identify personal information included in the images.
  • the learning data generating device 100 may distribute and transmit the collected and refined data (ie, the image to be annotated) to a plurality of annotation devices 200 (S115).
  • Each of the plurality of annotation devices 200 of the artificial intelligence learning system may specify an object included in an image received from the learning data generating device 100 and to be annotated ( S120).
  • the annotation device 200 may receive coordinates through a tool according to a user's control signal, and set a bounding box based on the input coordinates to specify an object included in 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.
  • the annotation device 200 may generate metadata for an image to be an annotation work (S125).
  • the annotation device 200 may set specific values to be included in metadata according to a control signal input from a user, but the tracking ID and environment of the object are not dependent on the user's control signal. Information can be determined or assigned automatically.
  • the annotation device 200 may generate an annotation work result based on the generated metadata and transmit the generated annotation work result to the learning data verification device 300 (S130).
  • the learning data verification apparatus 300 of the artificial intelligence learning system may inspect annotation work results received from the annotation apparatuses 200 (S135).
  • the learning data verification device 300 may perform inspection using a script for annotation work results.
  • the script is a code for verifying whether or not the target quality previously set for the annotation work result meets or whether the data is valid.
  • the learning data verification device 300 can provide a user interface (UI) that can more easily inspect tracking IDs and environment variables of objects included in annotation work results. .
  • UI user interface
  • the learning data verification device 300 may transmit annotation work results and inspection results to the learning data generating device 100 (S140).
  • the learning data generating apparatus 100 may build big data about a plurality of annotation work results based on the metadata of the annotation work results (S145).
  • the learning data generating device 100 may receive a data request including a request value from the artificial intelligence learning device 400 (S150).
  • the required value is a value related to requirements that AI learning data must satisfy in order for AI to achieve its development purpose. That is, the requested value is a value indicating the type of information to be included in the data for AI learning.
  • the learning data generating apparatus 100 may mine or filter the constructed big data to extract an annotation work result corresponding to a requested value.
  • the learning data generating device 100 may generate artificial intelligence (AI) learning data by packaging the extracted annotation work result (S155).
  • AI artificial intelligence
  • the learning data generating device 100 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning device 400 .
  • AI artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Proposed is a method whereby data for artificial intelligence training based on big data can be extracted. The method may comprise a step in which a training data generation device receives a plurality of annotation task results, classifies the plurality of annotation task results on the basis of metadata, and generates data for artificial intelligence (AI) training.

Description

빅데이터 기반의 인공지능 학습용 데이터 추출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램Data extraction method for artificial intelligence learning based on big data and computer program recorded on a recording medium to execute it
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 미리 형성된 빅데이터를 기반으로 니즈에 부합하는 인공지능 학습용 데이터를 추출할 수 있는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to the processing of artificial intelligence (AI) learning data. More specifically, it relates to a method for extracting artificial intelligence learning data that meets needs based on preformed big data and a computer program recorded on a recording medium to execute the 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, designing data for artificial intelligence (AI) learning proceeds in the steps of data structure design, data collection, data refinement, data processing, data expansion, and data verification.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(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 performing annotation and inputting metadata. 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.
데이터 가공은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 보다 구체적으로, 데이터 가공의 어노테이션 작업은 작업자가 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box) 처리하여 진행된다. 여기서, 바운딩 박스는 이미지 속에 포함된 객체의 위치, 형상 등을 특정하기 위한 영역이다. Data processing is also referred to as data labeling. More specifically, the annotation work of data processing is performed by a worker processing a bounding box for an object included in an image. Here, the bounding box is an area for specifying the position and shape of an object included in the image.
그리고, 데이터 가공의 메타데이터 입력 작업은 작업자가 이미지의 정보, 저작권 정보, 촬영 조건 정보, 어노테이션된 객체의 정보 및 환경 정보 등을 입력하여 진행된다. 예를 들어, 이미지의 정보에는 파일명, 파일 크기 및 이미지 크기가 포함될 수 있다. 저작권 정보에는 이미지 저작권자에 관한 정보가 포함될 수 있다. 촬영 조건 정보에는 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이가 포함될 수 있다. 객체의 정보에는 어노테이션 종류, 좌표 값, 영역의 크기, 클래스 명, 태그 항목, 잘림 여부, 대분류, 중분류, 소분류, 인스턴스 정보가 포함될 수 있다. 그리고, 환경 정보에는 촬영 일시, 촬영 장소, 기상 정보가 포함될 수 있다.In addition, the metadata input operation of data processing is performed by a worker inputting image information, copyright information, shooting condition information, annotated object information, environment information, and the like. For example, image information may include a file name, file size, and image size. Copyright information may include information about the copyright holder of the image. The photographing condition information may include resolution, bit value, aperture transmittance, exposure time, ISO sensitivity, focal length, aperture value, angle of view, white balance, and RGB depth. Object information may include annotation type, coordinate value, area size, class name, tag item, clipping, major classification, middle classification, small classification, and instance information. In addition, the environment information may include a shooting date and time, a shooting location, and weather information.
이러한, 데이터 가공의 메타데이터 입력 과정에서 입력될 수 있는 정보의 개수와 종류는 인공지능(AI) 학습 목적에 따라 달라질 수 있다. 예를 들어, 자율주행(automatic driving)을 수행하기 위한 인공지능(AI) 학습용 데이터의 경우, 환경 정보에 이미지가 촬영된 도로의 유형, 도로 표면 정보, 교통 체증(traffic congestion) 정보 등이 더 포함될 수 있다. The number and type of information that can be input in the metadata input process of data processing may vary depending on the purpose of artificial intelligence (AI) learning. For example, in the case of artificial intelligence (AI) learning data for performing automatic driving, environment information may further include the type of road on which an image is captured, road surface information, traffic congestion information, and the like. can
상술한 바와 같은, 데이터 가공은 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수의 데이터를 대상으로 이루어진다. 따라서, 많은 수의 데이터를 보다 용이하게 가공하고, 가공된 데이터를 보다 용이하게 검증할 수 있는 다양한 수단들이 요구되고 있다. As described above, data processing is performed on a large number of data ranging from a few thousand to several million. Accordingly, various means capable of more easily processing a large number of data and more easily verifying the processed data are required.
본 발명의 일 목적은 빅데이터(big data)로부터 메타데이터(metadata)를 이용하여 특정 목적에 부합하는 인공지능(AI) 학습용 데이터를 추출할 수 있는 방법을 제공하는 것이다.One object of the present invention is to provide a method capable of extracting data for artificial intelligence (AI) learning that meets a specific purpose using metadata from big data.
본 발명의 다른 목적은 빅데이터로부터 특정 목적에 부합하는 인공지능(AI) 학습용 데이터를 생성할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium to execute a method capable of generating data for artificial intelligence (AI) learning that meets a specific purpose from big data.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.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.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 메타데이터(metadata)를 이용하여 빅데이터로부터 특정 목적에 부합하는 인공지능(AI) 학습용 데이터를 생성할 수 있는 방법을 제안한다. 상기 방법은 학습 데이터 생성 장치가 어노테이션(annotation) 작업의 대상이 되는 복수 개의 이미지를 분배하는 단계; 복수 개의 어노테이션 장치가 상기 분배된 복수 개의 이미지를 대상으로 각각의 이미지 속에 포함된 객체(object)의 좌표를 특정하고, 상기 특정된 객체의 이미지 속 좌표와 상기 이미지에 대한 메타데이터(metadata)를 생성하고, 상기 생성된 메타데이터 포함시켜 어노테이션 작업 결과물을 생성하는 단계; 및 상기 학습 데이터 생성 장치가 상기 복수 개의 상기 어노테이션 작업 결과물을 수신하고, 상기 메타데이터를 기반으로 상기 복수 개의 어노테이션 작업 결과물을 분류하고, 인공지능(Artificial Intelligence, AI) 학습용 데이터를 생성하는 단계를 포함할 수 있다.In order to achieve the technical problem as described above, the present invention proposes a method for generating artificial intelligence (AI) learning data that meets a specific purpose from big data using metadata. The method includes the steps of distributing, by a learning data generating device, a plurality of images to be annotated; A plurality of annotation devices specify the coordinates of an object included in each image for the distributed plurality of images, and generate coordinates of the specified object in the image and metadata for the image. and generating an annotation work result by including the generated metadata; and receiving, by the learning data generating device, the plurality of annotation job results, classifying the plurality of annotation job results based on the metadata, and generating data for artificial intelligence (AI) learning. can do.
상기 인공지능(AI) 학습용 데이터를 생성하는 단계는 상기 메타데이터를 기반으로 분류된 상기 어노테이션 작업 결과물을 이용하여 빅데이터(big data)를 구축하고, 외부로부터 요구 값이 입력되면 상기 빅데이터를 마이닝(mining) 또는 필터링(filtering)하여 상기 요구 값에 대응하는 어노테이션 작업 결과물을 추출하고, 상기 추출된 어노테이션 작업 결과물을 패키징(packaging)하여 상기 인공지능(AI) 학습용 데이터를 생성할 수 있다. 이 경우, 상기 요구 값은 상기 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이 될 수 있다.In the step of generating data for artificial intelligence (AI) learning, big data is built using the annotation work result classified based on the metadata, and when a requested value is input from the outside, the big data is mined. An annotation work result corresponding to the requested value may be extracted by mining or filtering, and the extracted annotation work result may be packaged to generate the artificial intelligence (AI) learning data. In this case, the requested value may be a value indicating the type of information to be included in the AI learning data.
예를 들어, 상기 빅데이터는 상기 메타데이터의 종류에 따른 복수 개의 버킷(bucket)으로 구성된 해시 테이블(hash table)을 포함하고, 상기 버킷 각각은 어노테이션 작업 결과물에 대한 링크(link)를 포함하는 하나의 이상의 슬롯(slot)을 포함하여 구성될 수 있다. 그리고, 상기 인공지능(AI) 학습용 데이터를 생성하는 단계는 상기 해시 테이블에 대응하여 사전에 설정된 해시 함수(hash function)에 상기 요구 값을 대입하여 하나 이상의 슬롯을 탐색하고, 탐색된 하나 이상의 슬롯에 포함된 링크를 통해 하나 이상의 어노테이션 작업 결과물을 추출할 수 있다.For example, the big data includes a hash table composed of a plurality of buckets according to the type of the metadata, and each of the buckets includes a link to an annotation work result. It may be configured to include more than one slot (slot) of. In addition, the step of generating the AI learning data is to search for one or more slots by substituting the requested value into a hash function previously set in correspondence with the hash table, and to search for one or more slots. You can extract one or more annotation work outputs through the included links.
상기 인공지능(AI) 학습용 데이터를 생성하는 단계는 상기 빅데이터를 구축하는 과정에서 상기 해시 테이블의 적재 밀도(loading density)가 사전에 설정된 임계 밀도를 초과하는 경우, 상기 슬롯에 포함된 링크는 유지한 상태에서 상기 메타데이터의 종류에 따른 버킷의 수를 두 배로 늘린 이후 상기 슬롯의 홈 버킷을 재조정하여, 상기 해시 테이블의 용량을 증가할 수 있다.In the step of generating artificial intelligence (AI) learning data, if the loading density of the hash table exceeds a preset critical density in the process of constructing the big data, the link included in the slot is maintained. In one state, after doubling the number of buckets according to the type of metadata, the capacity of the hash table may be increased by readjusting the home bucket of the slot.
상기 인공지능(AI) 학습용 데이터를 생성하는 단계는 상기 요구 값에 의해 지시되는 정보의 유형이 상기 메타데이터에 포함되어 있지 않은 경우, 상기 메타데이터에 상기 포함되지 않은 정보의 유형이 포함되도록 데이터 구조(data structure)를 재설계한 후, 상기 복수 개의 어노테이션 장치에 상기 복수 개의 이미지를 재분배할 수 있다.In the step of generating data for artificial intelligence (AI) learning, when the type of information indicated by the request value is not included in the metadata, the data structure is such that the type of information not included is included in the metadata. After redesigning the data structure, the plurality of images may be redistributed to the plurality of annotation devices.
상기 인공지능(AI) 학습용 데이터를 생성하는 단계는 상기 빅데이터는 복수 개의 계층(layer)으로 구획되며, 상기 빅데이터를 구축하는 과정에서 상기 어노테이션 장치의 사용자에게 부여된 업무 평가 등급을 기준으로 상기 어노테이션 작업 결과물이 소속될 계층을 결정하며, 상기 외부로부터 입력된 요구 값에 대응하는 비율에 따라 각각의 계층으로부터 상기 어노테이션 작업 결과물을 추출할 수도 있다.In the step of generating artificial intelligence (AI) learning data, the big data is divided into a plurality of layers, and in the process of constructing the big data, based on the job evaluation grade given to the user of the annotation device, the A layer to which the annotation work result belongs may be determined, and the annotation work result may be extracted from each layer according to a ratio corresponding to the request value input from the outside.
한편, 상기 어노테이션 작업 결과물을 생성하는 단계는 상기 복수 개의 이미지가 동일한 카메라에 의해 연속적으로 촬영된 이미지에 해당하는 경우, 상기 복수 개의 이미지 중 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 포함시켜 상기 후행하여 촬영된 이미지에 대한 메타데이터를 생성할 수 있다. 이 경우, 상기 환경 정보에는 이미지의 촬영 일시, 촬영 장소, 기상(weather) 정보, 도로의 유형(road type), 노면(road surface) 및 교통 상황(traffic congestion)에 관한 정보가 포함될 수 있다.On the other hand, in the step of generating the annotation work result, when the plurality of images correspond to images continuously photographed by the same camera, environmental information previously given to an image photographed in advance among the plurality of images is followed by It is possible to generate metadata for an image taken later by including it as environment information of a captured image. In this case, the environment information may include information on the date and time of image capture, location, weather information, road type, road surface, and traffic congestion.
상기 어노테이션 작업 결과물을 생성하는 단계는 상기 선행하여 촬영된 이미지가 복수 개인 경우, 상기 복수 개의 이미지들 중에서 동일한 트래킹 아이디(tracking identifier)가 부여된 객체를 포함하고 있는 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 포함시킬 수 있다. 이 경우, 상기 트래킹 아이디는 객체를 추적할 수 있도록 부여된 객체의 고유 식별자가 될 수 있다.In the step of generating the annotation work result, if there are a plurality of previously photographed images, environment information previously assigned to an image including an object to which the same tracking identifier is assigned among the plurality of images is selected. It can be included as environment information of images taken later. In this case, the tracking ID may be a unique identifier of an object assigned to track the object.
상기 어노테이션 작업 결과물을 생성하는 단계는 상기 선행하여 촬영된 이미지와 후행하여 촬영된 이미지 각각에 대하여 동일한 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교한 결과를 기초로, 상기 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수도 있다. The step of generating the annotation work result is based on a result of comparing the background area obtained by removing the area occupied by the object to which the same ID is assigned for each of the preceding and succeeding images, It may be determined whether or not the captured image can be applied as the environment information of the captured image by following the environment information given to the captured image.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상술한 바와 같은 검증 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(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 verification method as described above. The computer program may include a memory; transceiver; and a processor configured to process instructions resident in the memory. The computer program may further include distributing, by the processor, a plurality of images to be annotated through the transceiver; receiving, by the processor, the plurality of annotation job results through the transceiver, the annotation job result including coordinates of an object in the image for each of the plurality of images and metadata for the image; and generating data for artificial intelligence (AI) learning by the processor classifying the plurality of annotation work results based on the metadata, which may be a computer program recorded on a recording medium.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.
종래의 수단들에 따르면, 인공지능(AI)을 학습시키고자 하는 고객으로부터 인공지능(AI) 학습용 데이터가 요청되면, 그 이후에 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행하고, 수행된 결과물을 기초로 인공지능(AI) 학습용 데이터를 생성하여 고객에게 납품하기까지 상대적으로 오랜 기간이 소요되었다. According to conventional means, when AI learning data is requested from a customer who wants to learn AI, after that, data structure design, data collection, data refinement, data processing, It took a relatively long time to expand data, verify data, generate artificial intelligence (AI) learning data based on the results, and deliver it to customers.
이와 대비하여, 본 발명의 실시예들에 따르면, 인공지능(AI)을 학습시키고자 하는 고객의 니즈(needs)에 대응하여 사전에 구축해 놓은 빅데이터를 단순히 마이닝 또는 필터링하여 인공지능(AI) 학습용 데이터를 생성하고, 생성된 인공지능(AI) 학습용 데이터를 곧바로 납품함으로써, 인공지능(AI) 학습용 데이터를 생성하여 납품하기까지 소요되는 기간을 크게 단축시킬 수 있다.In contrast, according to the embodiments of the present invention, big data built in advance in response to the needs of customers who want to learn artificial intelligence (AI) is simply mined or filtered for artificial intelligence (AI) learning. By generating data and immediately delivering the generated AI learning data, the period required to generate and deliver AI learning data can be greatly shortened.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.1 and 2 are configuration diagrams of an artificial intelligence learning system according to various embodiments of the present invention.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.3 is a logical configuration diagram of an apparatus for generating learning data according to an embodiment 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은 본 발명의 일 실시예에 따라 인공지능(AI) 학습용 데이터를 생성하는 방법을 설명하기 위한 신호 흐름도이다.6 is a signal flow diagram for explaining a method of generating data for artificial intelligence (AI) learning according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 개념을 설명하기 위한 개념도이다.7 is a conceptual diagram for explaining the concept of generating data for artificial intelligence (AI) learning according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 트래킹 아이디의 개념을 설명하기 위한 예시도이다.8 is an exemplary view for explaining the concept of a tracking ID according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따라 트래킹 아이디를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다. 9 is an exemplary diagram for explaining a user interface (UI) for checking a tracking ID according to an embodiment of the present invention.
도 10 및 도 11은 본 발명의 몇몇 실시예들에 따라 연속된 이미지에 환경 정보를 결정하는 과정을 설명하기 위한 예시도이다.10 and 11 are exemplary diagrams for explaining a process of determining environment information in consecutive images according to some embodiments of the present invention.
도 12 및 도 13은 본 발명의 몇몇 실시예들에 따라 환경 정보를 자동으로 결정하는 과정을 설명하기 위한 예시도이다.12 and 13 are exemplary diagrams for explaining a process of automatically determining environment information according to some embodiments of the present invention.
도 14는 본 발명의 일 실시예에 따라 메타데이터를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.14 is an exemplary diagram for explaining a user interface (UI) for inspecting metadata according to an embodiment of the present invention.
도 15는 본 발명의 일 실시예에 따른 어노테이션 장치의 동작 과정을 설명하기 위한 순서도이다. 15 is a flowchart illustrating an operation process of an annotation device 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) 학습용 데이터를 생성하기 위한 이미지의 가공은 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수의 이미지를 대상으로 이루어진다. 따라서, 종래의 수단들에 따르면, 인공지능(AI)을 학습시키고자 하는 고객의 의뢰가 접수된 이후 인공지능(AI) 학습용 데이터를 생성하여 고객에게 납품하기까지 상대적으로 오랜 기간이 소요되었다.Processing of images to create data for artificial intelligence (AI) learning is performed on a large number of images ranging from a few thousand to several million. Therefore, according to the conventional means, it took a relatively long time to generate AI learning data and deliver it to the customer after receiving the customer's request to learn artificial intelligence (AI).
이러한 어려움을 해결하고자, 본 발명은 많은 수의 이미지를 보다 용이하게 가공하고, 가공된 데이터를 보다 용이하게 검증할 수 있는 다양한 수단들을 제안하고자 한다.In order to solve these difficulties, the present invention intends to propose various means capable of more easily processing a large number of images and more easily verifying the processed data.
도 1 및 도 2는 본 발명의 다양한 1 and 2 are various of the present invention 실시예에in the examples 따른 인공지능 학습 시스템의 구성도이다. It is a configuration diagram of an artificial intelligence learning system according to
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200-1, 200-2, …, 200-n; 200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.As shown in FIG. 1, the artificial intelligence learning system according to an embodiment of the present invention includes a learning data generating device 100, one or more annotation devices 200-1, 200-2, ..., 200-n; 200 , It may be configured to include a learning data verification device 300 and an artificial intelligence learning device 400.
또한, 도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(200-a, 200-b, …, 200-m; 200)와 학습 데이터 검증 장치(300-a, 300-b, …, 300-m; 300)가 하나로 이루어진 복수 개의 그룹(Group-a, Group-b …, Group-m), 학습 데이터 생성 장치(100) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.In addition, as shown in FIG. 2, the artificial intelligence learning system according to another embodiment of the present invention includes one or more annotation devices (200-a, 200-b, ..., 200-m; 200) and a learning data verification device ( 300-a, 300-b, ..., 300-m; 300) consisting of a plurality of groups (Group-a, Group-b ..., Group-m), the learning data generating device 100 and the artificial intelligence learning device ( 400) may be configured.
이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.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)는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 생성 장치(100)는 기본적으로 학습 데이터 검증 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 학습 데이터 생성 장치(100)와 학습 데이터 검증 장치(300)가 하나의 장치로 통합되어 구현될 수도 있다.Each component will be described. The learning data generating device 100 is a device that can be used to design and generate artificial intelligence (AI) learning data. As such, the learning data generating device 100 is basically a device that is distinguished from the learning data verifying device 300, but in an actual physical environment, the learning data generating device 100 and the learning data verifying device 300 are integrated into one device. It may be integrated and implemented.
특징적으로, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 인공지능(AI) 학습용 데이터의 요청이 수신되기 이전에, 선제적으로 인공지능(AI) 학습용 데이터를 생성할 수 있는 빅데이터(big data)를 구축해 놓을 수 있다.Characteristically, the learning data generating device 100 according to an embodiment of the present invention preemptively generates artificial intelligence (AI) data before receiving a request for artificial intelligence (AI) learning data from the artificial intelligence learning device 400. It is possible to build big data that can generate data for learning.
그리고, 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 고객의 니즈(needs)에 따른 요구 값이 수신되면, 선제적으로 구축되어 있는 빅데이터를 마이닝 또는 필터링하여 인공지능(AI) 학습용 데이터를 생성하고, 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.In addition, when the learning data generating device 100 receives a request value according to the customer's needs from the artificial intelligence learning device 400, it mines or filters the preemptively built big data to generate artificial intelligence (AI). Data for learning may be generated, and the generated data for artificial intelligence (AI) learning may be transmitted to the artificial intelligence learning device 400 .
이와 같은 특징을 가지는, 학습 데이터 생성 장치(100)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The learning data generation device 100 having such characteristics transmits and receives data with the annotation device 200, the learning data verification device 300, and the artificial intelligence learning device 400, and performs calculations based on the transmitted and received data. Any device that can do this is acceptable. For example, the learning data generating device 100 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
이와 같은, 학습 데이터 생성 장치(100)의 구체적인 구성 및 동작에 대해서는 추후 도 3을 참조하여 설명하기로 한다.A detailed configuration and operation of the learning data generating device 100 will be described later with reference to FIG. 3 .
다음 구성으로, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다. With the following configuration, the annotation device 200 is a device that can be used to annotate images distributed by the learning data generating device 100.
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 각각의 이미지(즉, 어노테이션의 대상이 되는 이미지)로부터 특정된 객체(object)를 추적할 수 있는 트래킹 아이디(tracking identifier)를 부여할 수 있다. 또한, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 각각의 이미지에 대한 환경 정보(environment information)를 자동으로 부여할 수 있다.Characteristically, the annotation device 200 according to an embodiment of the present invention tracks a specific object from each image distributed by the learning data generating device 100 (ie, an annotation target image). A tracking identifier can be assigned. In addition, the annotation device 200 may automatically assign environment information to each image distributed by the learning data generating device 100.
이와 같은 특징을 가지는, 어노테이션 장치(200)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(100)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.The annotation device 200 having such characteristics may be any device capable of transmitting and receiving data to and from the learning data generating device 100 and the learning data verifying device 300 and performing calculations based on the transmitted and received data. may be allowed For example, the annotation device 100 may be a stationary computing device such as a desktop, workstation, or server, or a smart phone, a laptop, a tablet, a phablet, or a portable multimedia player. (Portable Multimedia Player, PMP), personal digital assistants (PDAs), or e-book readers (E-book reader).
또한, 어노테이션 장치(200)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션을 수행하는 장치가 될 수도 있다.In addition, all or part of the annotation device 200 may be a device in which an annotation worker performs annotation through a clouding service.
이와 같은, 어노테이션 장치(200)의 구체적이 구성 및 동작에 대해서는 추후 도 4 및 도 5를 참조하여 설명하기로 한다.A detailed configuration and operation of the annotation device 200 will be described with reference to FIGS. 4 and 5 later.
다음 구성으로, 학습 데이터 검증 장치(300)는 인공지능(AI) 학습용 데이터를 검증하는데 사용될 수 있는 장치이다. 즉, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 사전에 설정된 목표 품질에 부합하는지 여부, 또는 어노테이션 작업 결과물이 인공지능(AI) 학습에 유효한지 여부를 검증할 수 있는 장치이다.With the following configuration, the learning data verification device 300 is a device that can be used to verify artificial intelligence (AI) learning data. That is, the learning data verification device 300 verifies whether the annotation task result generated by the annotation device 200 meets a pre-set target quality or whether the annotation task result is valid for artificial intelligence (AI) learning. It is a device that can
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 수신할 수 있다. 여기서, 어노테이션 작업 결과물은 어노테이션 작업자에 의해 특정된 객체의 좌표와, 이미지 또는 객체에 대한 메타데이터가 포함될 수 있다. 어노테이션 작업 결과물의 메타데이터는 이미지의 정보, 저작권 정보, 촬영 조건 정보, 특정된 객체의 정보 및 환경 정보가 포함될 수 있으며, 이에 한정되지 않는다. 이와 같은, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Specifically, the learning data verification device 300 may receive an annotation job result from the annotation device 200 . Here, the annotation work result may include coordinates of an object specified by an annotation worker and metadata about an image or object. The metadata of the annotation work result may include image information, copyright information, photographing condition information, specific object information, and environment information, but is not limited thereto. Such an annotation work result may have a JSON (Java Script Object Notation) file format, but is not limited thereto.
학습 데이터 검증 장치(300)는 수신된 어노테이션 작업 결과물을 검수할 수 있다. 이를 위하여, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.The learning data verification device 300 may inspect the received annotation work result. To this end, the learning data verification device 300 may perform inspection using a script for annotation work results. Here, the script is a code for verifying whether or not the target quality previously set for the annotation work result meets or whether the data is valid.
특징적으로, 본 발명의 실시예들에 따른 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물에 포함된 객체의 트래킹 아이디 및 환경 변수를 보다 용이하게 검수할 수 있는 사용자 인터페이스(UI)를 제공할 수 있다.Characteristically, the learning data verification device 300 according to the embodiments of the present invention can provide a user interface (UI) that can more easily inspect the tracking ID and environment variables of objects included in the annotation work result. .
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물의 메타데이터를 검증할 수 있는 사용자 인터페이스(UI)를 출력함에 있어, 이미지 그룹에 포함된 이미지들로부터 동일한 트래킹 아이디가 부여된 객체의 크롭 이미지(cropped image)들을 수집한 후, 사용자 인터페이스(UI) 상에서 수집된 크롭 이미지들을 이미지의 촬영 선후에 따라 연속적으로 배치하여 출력할 수 있다.Specifically, the learning data verification apparatus 300 outputs a user interface (UI) capable of verifying the metadata of the annotation work result, a cropped image of an object to which the same tracking ID is assigned from images included in the image group. After collecting (cropped images), the cropped images collected on the user interface (UI) may be sequentially arranged and output according to the order of the images taken.
여기서, 이미지 그룹은 어노테이션이 수행된 이미지들의 집합이다. 이와 같은, 이미지 그룹은 어노테이션 장치(200)별 또는 프로젝트 별로 형성될 수 있다. 예를 들어, 이미지 그룹은 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의해 시계열적으로 연속적으로 촬영된 이미지들, 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 인접하게 배치된 다른 카메라에 의해 공간적으로 연속되게 촬영된 이미지들이 포함될 수 있으며, 이에 한정되는 것도 아니다.Here, the image group is a set of annotated images. Such image groups may be formed for each annotation device 200 or for each project. For example, the image group includes images taken consecutively in time series by the same camera as the camera that took the image to be annotated, and other images arranged adjacent to the camera that took the image to be annotated. Images spatially continuously photographed by a camera may be included, but are not limited thereto.
그리고, 크롭 이미지는 어노테이션에 의해 객체를 특정하기 위해 설정된 좌표를 기준으로, 어노테이션 작업의 대상이 된 이미지의 일부를 잘라낸 이미지이다.Also, the cropped image is an image obtained by cropping a part of an image that is an annotation work target based on coordinates set to specify an object by annotation.
또한, 학습 데이터 검증 장치(300)는 동일한 트래킹 아이디가 부여된 객체들의 크롭 이미지들을 대상으로, 크롭 이미지들 각각에 포함된 객체들의 RGB(Red, Green, Blue) 값의 패턴과 엣지의 패턴을 서로 교차 대비하여, 각각의 객체들에 대하여 동일한 트래킹 아이디가 부여된 것이 올바른지 자체적으로 검수할 수 있다. In addition, the learning data verification apparatus 300 compares patterns of RGB (Red, Green, Blue) values and patterns of edges of objects included in each of the cropped images to crop images of objects to which the same tracking ID is assigned. In cross-contrast, it is possible to self-inspect whether the same tracking ID is assigned to each object.
이와 반대로, 학습 데이터 검증 장치(300)는 서로 다른 트래킹 아이디가 부여된 객체들의 크롭 이미지들을 대상으로, 서로 다른 트래킹 아이디가 부여된 객체들의 RGB 값의 패턴과 엣지의 패턴을 서로 교차 대비하여, 객체들에 대하여 서로 다른 트래킹 아이디가 부여된 것이 올바른지 검수할 수도 있다.Conversely, the learning data verification apparatus 300 cross-contrasts the RGB value pattern and the edge pattern of objects to which different tracking IDs have been assigned, targeting cropped images of objects to which different tracking IDs have been assigned. It is also possible to check whether different tracking IDs are assigned to each other.
이 경우, RGB 값의 패턴은 이미지 속 화소(pixel)들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴(pattern)을 의미한다. 그리고, 엣지의 패턴은 이미지로부터 추출된 엣지(edge)에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴을 의미한다.In this case, the pattern of RGB values means a pattern of a ratio of RGB values to pixels in an image and an arrangement order of RGB values. And, the pattern of the edge means a pattern for the number of pixels included in an enclosure closed by the edge extracted from the image and the relative position where the edge is located in the image.
그리고, 학습 데이터 검증 장치(300)는 동일한 트래킹 아이디가 부여된 것이 올바르지 않다고 판단되거나, 또는 서로 다른 트래킹 아이디가 부여된 것이 올바르지 않다고 판단되는 경우, 사용자 인터페이스(UI) 상에서 올바르지 않다고 판단된 트래킹 아이디가 부여된 객체에 관한 정보를 출력할 수 있다.In addition, when the learning data verification device 300 determines that it is incorrect to assign the same tracking ID or to assign different tracking IDs, the tracking ID that is determined to be incorrect is displayed on the user interface (UI). Information about the assigned object can be output.
이와 같이, 학습 데이터 검증 장치(300)가 동일한 트래킹 아이디가 부여된 복수 개의 객체들의 크롭 이미지들이 연속적으로 배치된 사용자 인터페이스(UI)를 출력하며, 객체들의 트래킹 아이디가 올바르게 부여되었는지 자체 검수한 결과를 포함하는 사용자 인터페이스(UI)를 출력함으로써, 학습 데이터 검증 장치(300)의 사용자는 동일한 것으로 판단된 다수의 객체들을 한 눈에 쉽게 확인하고 검수할 수 있게 된다.In this way, the learning data verification device 300 outputs a user interface (UI) in which cropped images of a plurality of objects to which the same tracking ID is assigned are successively arranged, and the result of self-checking whether the tracking ID of the objects is correctly assigned By outputting a user interface (UI) including the user interface (UI), the user of the training data verification device 300 can easily check and inspect a plurality of objects determined to be the same at a glance.
한편, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물의 메타데이터를 검증할 수 있는 사용자 인터페이스(UI)를 출력함에 있어, 메타데이터 각각에 포함된 값에 대응하여 사전에 설정된 색상을 가지는 도형(figure)으로 표현될 수 있도록, 이미지 그룹에 포함된 이미지들 각각을 그래픽화(graphicalize)하여 사용자 인터페이스(UI)에 포함시킬 수 있다.On the other hand, in outputting a user interface (UI) capable of verifying the metadata of the annotation work result, the learning data verification apparatus 300 has a figure having a preset color corresponding to a value included in each metadata. ), each of the images included in the image group may be graphicalized and included in the user interface (UI).
예를 들어, 학습 데이터 검증 장치(300)는 이미지 그룹에 포함된 이미지들 각각을 메타데이터에 포함된 값에 대응하는 색상을 가지는 하나의 선분(line)으로 표현할 수 있다. 학습 데이터 검증 장치(300)는 이미지들의 촬영 선후에 따라 선분의 폭(width) 방향으로 각각의 선분을 연속적으로 배치하여 막대(bar) 형태의 그래픽을 구성할 수 있다. 그리고, 학습 데이터 검증 장치(300)는 구성된 막대 형태의 그래픽을 사용자 인터페이스(UI)에 포함시켜 출력할 수 있다.For example, the learning data verification apparatus 300 may express each of the images included in the image group as a single line having a color corresponding to a value included in metadata. The training data verification apparatus 300 may construct bar-shaped graphics by continuously arranging each line segment in the direction of the width of the line segment according to the sequence of images captured. In addition, the training data verification device 300 may output the configured bar-shaped graphic by including it in the user interface (UI).
이와 같이, 학습 데이터 검증 장치(300)가 복수 개의 이미지들이 메타데이터의 값에 따라 단순 그래픽화된 사용자 인터페이스(UI)를 출력함으로써, 학습 데이터 검증 장치(300)의 사용자는 복수 개의 이미지들의 메타데이터를 한 눈에 쉽게 확인할 수 있으며, 다른 이미지들과 다르게 특이적인 메타데이터 값을 가지는 이미지를 직관적으로 식별할 수 있게 된다.In this way, the learning data verification apparatus 300 outputs a user interface (UI) in which a plurality of images are simply graphic according to the value of the metadata, so that the user of the learning data verification apparatus 300 can view the metadata of the plurality of images. can be easily checked at a glance, and an image having a specific metadata value unlike other images can be intuitively identified.
그리고, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다.Also, the learning data verification device 300 may transmit annotation work results and inspection results received from the annotation devices 200 to the learning data generating device 100 .
상술한 바와 같은 특징을 가지는, 학습 데이터 검증 장치(300)는 어노테이션 장치(200) 및 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 검증 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The learning data verification device 300 having the above characteristics can transmit and receive data with the annotation device 200 and the learning data generating device 100 and perform calculations based on the transmitted and received data. Any device may be acceptable. For example, the learning data verification device 300 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
다음 구성으로, 인공지능 학습 장치(400)는 인공지능(AI)을 개발하는데 사용될 수 있는 장치이다. With the following configuration, the artificial intelligence learning device 400 is a device that can be used to develop artificial intelligence (AI).
구체적으로, 인공지능 학습 장치(400)는 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항을 포함하는 요구 값을 학습 데이터 생성 장치(100)에 전송할 수 있다. 인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)로부터 인공지능(AI) 학습용 데이터를 수신할 수 있다. 그리고, 인공지능 학습 장치(400)는 수신된 인공지능(AI) 학습용 데이터를 이용하여, 개발하고자 하는 인공지능(AI)을 기계 학습할 수 있다.Specifically, the artificial intelligence learning device 400 provides the learning data generating device 100 with a request value including requirements that AI learning data must satisfy in order for AI to achieve its development purpose. can transmit The artificial intelligence learning device 400 may receive artificial intelligence (AI) learning data from the learning data generating device 100 . In addition, the artificial intelligence learning device 400 may perform machine learning on artificial intelligence (AI) to be developed using the received artificial intelligence (AI) learning data.
이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the artificial intelligence learning device 400 may be any device capable of transmitting and receiving data to and from the learning data generating device 100 and performing calculations using the transmitted and received data. For example, the artificial intelligence learning device 400 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.
상술한 바와 같은, 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, the learning data generating device 100, one or more annotation devices 200, the learning data verification device 300, and the artificial intelligence learning device 400 are directly connected to each other through a security line and a public wired communication network. Alternatively, data may be transmitted and received using a network in which one or more of the mobile communication networks are combined.
예를 들어, 공용 유선 통신망에는 이더넷(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 learning data generating device 100 as described above will be described in more detail.
도 3은 본 발명의 일 3 is one of the present invention 실시예에in the examples 따른 학습 데이터 생성 장치의 논리적 구성도이다. It is a logical configuration diagram of the learning data generating device according to FIG.
도 3에 도시된 바와 같이, 학습 데이터 생성 장치(300)는 통신부(105), 입출력부(110), 저장부(115), 데이터 구조 설계부(120), 데이터 수집 및 정제부(125), 데이터 가공부(130), 빅데이터 관리부(135) 및 학습 데이터 생성부(140)를 포함하여 구성될 수 있다. As shown in FIG. 3, the learning data generating device 300 includes a communication unit 105, an input/output unit 110, a storage unit 115, a data structure design unit 120, a data collection and refinement unit 125, and a data It may include a processing unit 130, a big data management unit 135, and a learning data generation unit 140.
이와 같은, 학습 데이터 생성 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the learning data generating device 100 are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is integrated with each other in an actual physical environment. It could be implemented separately.
각각의 구성 요소에 대하여 설명하면, 통신부(105)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400) 중 하나 이상과 데이터를 송수신할 수 있다.Describing each component, the communication unit 105 may transmit/receive data with one or more of the annotation device 200, the learning data verification device 300, and the artificial intelligence learning device 400.
구체적으로, 통신부(105)는 어노테이션 장치(200)에 어노테이션 작업의 대상이 되는 복수 개의 이미지를 전송할 수 있다. 통신부(105)는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.Specifically, the communication unit 105 may transmit a plurality of images to be annotated to the annotation device 200 . The communication unit 105 may receive annotation work results and inspection results from the learning data verification device 300 .
통신부(105)는 인공지능 학습 장치(400)로부터 요구 값을 수신할 수 있다. 여기서, 요구 값은 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항에 관한 값이다. 즉, 요구 값은 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이다. 그리고, 통신부(105)는 인공지능(A) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.The communication unit 105 may receive a request value from the artificial intelligence learning device 400 . Here, the required value is a value related to requirements that AI learning data must satisfy in order for AI to achieve its development purpose. That is, the requested value is a value indicating the type of information to be included in the data for AI learning. Also, the communication unit 105 may transmit artificial intelligence (A) learning data to the artificial intelligence learning device 400 .
다음 구성으로, 입출력부(110)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit 110 may receive a signal from a user through a user interface (UI) or output an operation result to the outside.
구체적으로, 입출력부(110)는 사용자로부터 인공지능(AI) 학습을 위한 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다. 입출력부(110)는 인공지능(AI) 학습을 위한 데이터(즉, 이미지)를 외부로부터 입력 받을 수 있다. 입출력부(110)는 사용자로부터 복수 개의 어노테이션 장치(200)에 대하여 어노테이션 작업을 분배하기 위한 할당량을 입력 받을 수 있다.Specifically, the input/output unit 110 may receive a control signal for designing a data structure for artificial intelligence (AI) learning from a user. The input/output unit 110 may receive data (ie, images) for artificial intelligence (AI) learning from the outside. The input/output unit 110 may receive an input of an allocation amount for distributing annotation work to a plurality of annotation devices 200 from a user.
입출력부(110)는 빅데이터 관리부(135)에 의해 관리되는 빅데이터의 상태 정보를 출력할 수 있다. 그리고, 입출력부(110)는 통신부(105)를 통해 인공지능 학습 장치(400)로부터 수신된 요구 값을 출력할 수 있다.The input/output unit 110 may output state information of the big data managed by the big data management unit 135 . Also, the input/output unit 110 may output the requested value received from the artificial intelligence learning device 400 through the communication unit 105 .
다음 구성으로, 저장부(115)는 인공지능(AI) 학습용 데이터를 생성하기 위한 데이터를 저장할 수 있다.With the following configuration, the storage unit 115 may store data for generating artificial intelligence (AI) learning data.
구체적으로, 저장부(115)는 데이터 구조 설계부(120)에 의해 설계된 데이터 구조를 저장할 수 있다. 저장부(115)는 데이터 수집 및 정제부(125)에 의해 수집된 인공지능(AI) 학습을 위한 데이터(즉, 이미지)를 저장할 수 있다. 저장부(115)는 어노테이션 장치(200) 또는 학습 데이터 검증 장치(300)로부터 수신된 어노테이션 작업 결과물을 저장할 수 있다. Specifically, the storage unit 115 may store a data structure designed by the data structure design unit 120 . The storage unit 115 may store data (ie, images) for artificial intelligence (AI) learning collected by the data collection and refinement unit 125 . The storage unit 115 may store annotation work results received from the annotation device 200 or the learning data verification device 300 .
그리고, 저장부(115)는 빅데이터 관리부(135)에 의해 생성 및 관리 중인 빅데이터에 관한 정보를 저장할 수 있다. 본 발명의 다른 실시예에 따른 저장부(115)는 빅데이터 관리부(135)에 의해 생성 및 관리 중인 빅데이터에 관한 정보를 외부의 저장장치를 통해 저장할 수도 있다.Also, the storage unit 115 may store information about big data being generated and managed by the big data management unit 135 . The storage unit 115 according to another embodiment of the present invention may store information about big data being generated and managed by the big data management unit 135 through an external storage device.
다음 구성으로, 데이터 구조 설계부(120)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다.With the following configuration, the data structure design unit 120 may design a data structure for artificial intelligence (AI) learning.
구체적으로, 데이터 구조 설계부(120)는 입출력부(110)를 통해 입력된 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다. 예를 들어, 데이터 구조 설계부(120)는 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다. 이 경우, 학습 데이터 생성 장치(100)의 사용자는 주된 거래처 또는 고객의 니즈(needs)를 고려하여, 인공지능(AI) 학습을 위한 데이터의 구조가 범용성을 가지도록 제어를 수행할 수 있다. Specifically, the data structure design unit 120 may design a data structure for artificial intelligence (AI) learning based on user control input through the input/output unit 110 . For example, the data structure design unit 120 may define an ontology for artificial intelligence (AI) learning and a data classification system for artificial intelligence (AI) learning based on user control. In this case, the user of the learning data generating device 100 can control the structure of data for artificial intelligence (AI) learning to have versatility in consideration of the needs of the main business partner or customer.
다음 구성으로, 데이터 수집 및 정제부(125)는 데이터 구조 설계부(120)에 의해 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집 및 정제할 수 있다.With the following configuration, the data collection and refinement unit 125 may collect and refine data for artificial intelligence (AI) learning based on the data structure designed by the data structure design unit 120 .
구체적으로, 데이터 수집 및 정제부(125)는 설계된 데이터 구조를 기초로, 입출력부(110)를 통해 외부로부터 이미지를 입력 받을 수 있다. 데이터 수집 및 정제부(125)는 통신부(105)를 통해 웹 크롤링(crawling)을 수행하여 이미지를 수집할 수 있다. 또한, 데이터 수집 및 정제부(125)는 이미지 데이터를 보유하고 있는 외부 기관의 장치로부터 이미지를 다운로드할 수도 있다.Specifically, the data collection and refinement unit 125 may receive an image from the outside through the input/output unit 110 based on the designed data structure. The data collection and refinement unit 125 may collect images by performing web crawling through the communication unit 105 . Also, the data collection and refinement unit 125 may download an image from an external institution's device having image data.
데이터 수집 및 정제부(125)는 수집된 이미지들 중에서 중복되거나 또는 극히 유사한 이미지를 제거할 수 있다. 그리고, 데이터 수집 및 정제부(125)는 수집된 이미지에 포함된 개인정보를 비식별화(de-identification)할 수 있다.The data collection and refinement unit 125 may remove redundant or extremely similar images from among collected images. Also, the data collection and refinement unit 125 may de-identify personal information included in the collected images.
다음 구성으로, 데이터 가공부(130)는 수집 및 정제된 데이터(즉, 어노테이션 작업의 대상이 되는 이미지)를 어노테이션 장치(200)를 이용하여 가공할 수 있다.With the following configuration, the data processing unit 130 may process the collected and refined data (ie, the image to be annotated) using the annotation device 200 .
구체적으로, 데이터 가공부(130)는 입출력부(110)를 통해 설정된 할당량에 기초하여, 수집 및 정제된 데이터(즉, 어노테이션 작업의 대상이 되는 이미지들)를 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다. Specifically, the data processing unit 130 distributes the collected and refined data (ie, images to be annotated) to the plurality of annotation devices 200 based on the quota set through the input/output unit 110 can be sent.
데이터 가공부(130)는 통신부(105)를 통해, 어노테이션 장치(200)로부터 직접 어노테이션 작업 결과물을 수신하거나, 또는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.The data processing unit 130 may receive annotation work results directly from the annotation device 200 or receive annotation work results and inspection results from the learning data verification device 300 through the communication unit 105 .
다음 구성으로, 빅데이터 관리부(135)는 메타데이터를 기반으로 복수 개의 어노테이션 작업 결과물에 관한 빅데이터를 구축 및 관리할 수 있다.With the following configuration, the big data management unit 135 may construct and manage big data related to a plurality of annotation work results based on metadata.
구체적으로, 빅데이터 관리부(135)는 어노테이션 작업 결과물에 포함된 메타데이터를 기반으로, 데이터 가공부(130)를 통해 어노테이션 장치(200) 또는 학습 데이터 검증 장치(300)로부터 수신된 복수 개의 어노테이션 작업 결과물을 분류할 수 있다. Specifically, the big data management unit 135 performs a plurality of annotation tasks received from the annotation device 200 or the learning data verification device 300 through the data processing unit 130 based on the metadata included in the annotation task result. Results can be categorized.
여기서, 어노테이션 작업 결과물에 포함된 메타데이터에는 이미지의 정보, 저작권 정보, 촬영 조건 정보, 어노테이션된 객체의 정보 및 환경 정보가 포함될 수 있으나, 이에 한정되지 않는다. 메타데이터에 포함된 이미지의 정보에는 파일명, 파일 크기 및 이미지 크기가 포함될 수 있다. 저작권 정보에는 이미지 저작권자에 관한 정보가 포함될 수 있다. 촬영 조건 정보에는 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이가 포함될 수 있다. 객체의 정보에는 어노테이션 종류, 좌표 값, 영역의 크기, 클래스 명, 태그 항목, 잘림 여부, 대분류, 중분류, 소분류, 인스턴스 정보가 포함될 수 있다. 환경 정보에는 촬영 일시, 촬영 장소, 기상 정보, 도로의 유형, 도로 표면 정보, 교통 체증 정보가 포함될 수 있다. 또한, 메타데이터에 포함될 수 있는 정보의 개수와 종류는 이에 한정되지 아니한다.Here, the metadata included in the annotation work result may include image information, copyright information, shooting condition information, annotated object information, and environment information, but is not limited thereto. Image information included in metadata may include a file name, file size, and image size. Copyright information may include information about the copyright holder of the image. The photographing condition information may include resolution, bit value, aperture transmittance, exposure time, ISO sensitivity, focal length, aperture value, angle of view, white balance, and RGB depth. Object information may include annotation type, coordinate value, area size, class name, tag item, clipping, major classification, middle classification, small classification, and instance information. The environmental information may include shooting date and time, shooting location, weather information, road type, road surface information, and traffic jam information. In addition, the number and type of information that may be included in metadata is not limited thereto.
빅데이터 관리부(135)는 메타데이터를 기반으로 분류된 복수 개의 어노테이션 작업 결과물을 이용하여 빅데이터를 구축할 수 있다. 빅데이터 관리부(135)는 빅데이터가 기 구축된 이후에 수신된 복수 개의 어노테이션 작업 결과물을 기 구축된 빅데이터에 포함시킬 수 있다. The big data management unit 135 may build big data using a plurality of annotation work results classified based on metadata. The big data management unit 135 may include a plurality of annotation work results received after the big data is pre-constructed in the pre-constructed big data.
이와 같이, 빅데이터 관리부(135)에 의해 구축된 빅데이터는 해시 테이블(hash table)을 포함할 수 있다. 빅데이터에 포함된 해시 테이블은 메타데이터의 종류에 따라 복수 개의 버킷(bucket)으로 구성될 수 있다. 해시 테이블을 구성하는 복수 개의 버킷 각각은 하나 이상의 슬롯(slot)을 포함하여 구성될 수 있다. 그리고, 버킷에 포함된 각각의 슬롯에는 어노테이션 작업 결과물에 대한 링크(link)가 포함될 수 있다. In this way, the big data constructed by the big data management unit 135 may include a hash table. A hash table included in big data may be composed of a plurality of buckets according to the type of metadata. Each of the plurality of buckets constituting the hash table may include one or more slots. In addition, each slot included in the bucket may include a link to an annotation work result.
한편, 빅데이터 관리부(135)는 빅데이터를 구축하는 과정에서 해시 테이블의 적재 밀도(load density)가 사전에 설정된 임계 밀도를 초과하는 경우, 각각의 슬롯에 포함된 링크를 유지한 상태에서 메타데이터의 종류에 따른 버킷의 수를 두 배로 늘린 이후 각 슬롯의 홈 버킷(home bucket)만을 재조정함으로써, 해시 테이블의 용량을 증가시킬 수 있다.On the other hand, the big data management unit 135, in the process of constructing big data, when the load density of the hash table exceeds a preset critical density, maintains the links included in each slot and stores the metadata. The capacity of the hash table can be increased by doubling the number of buckets according to the type of , and then readjusting only the home bucket of each slot.
이와 다르게, 빅데이터 관리부(135)에 의해 구축된 빅데이터는 복수 개의 계층(layer)로 구획될 수 있다. 이 경우, 빅데이터 관리부(135)는 빅데이터를 구축하는 과정에서 어노테이션 장치(200)의 사용자에게 부여된 업무 평가 등급을 기준으로, 해당 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 소속될 빅데이터의 계층을 결정하고, 결정된 빅데이터의 계층에 해당 어노테이션 작업 결과물을 추가할 수도 있다.Unlike this, the big data constructed by the big data management unit 135 may be partitioned into a plurality of layers. In this case, the big data management unit 135, based on the job evaluation grade given to the user of the annotation device 200 in the process of constructing big data, the annotation work result generated by the corresponding annotation device 200 belongs to. A layer of big data may be determined, and a corresponding annotation work result may be added to the determined layer of big data.
다음 구성으로, 학습 데이터 생성부(140)는 빅데이터 관리부(135)에 의해 구축된 빅데이터를 이용하여 인공지능(AI) 학습용 데이터를 생성할 수 있다.With the following configuration, the learning data generating unit 140 may generate artificial intelligence (AI) learning data using the big data built by the big data management unit 135 .
구체적으로, 학습 데이터 생성부(140)는 입출력부(110) 또는 통신부(105)를 통해 외부로부터 요구 값이 입력 또는 수신되면, 구축된 빅데이터를 마이닝(mining) 또는 필터링(filtering)하여 요구 값에 대응하는 어노테이션 작업 결과물을 추출할 수 있다. Specifically, when a request value is input or received from the outside through the input/output unit 110 or the communication unit 105, the learning data generator 140 mines or filters the built big data to obtain the requested value. Annotation work results corresponding to can be extracted.
여기서, 요구 값은 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항에 관한 값이다. 즉, 요구 값은 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이다. Here, the required value is a value related to requirements that AI learning data must satisfy in order for AI to achieve its development purpose. That is, the requested value is a value indicating the type of information to be included in the data for AI learning.
예를 들어, 학습 데이터 생성부(140)는 빅데이터의 해시 테이블에 대응하여 사전에 설정된 해시 함수(hash function)에 요구 값을 대입하여 하나 이상의 슬롯을 탐색할 수 있다. 학습 데이터 생성부(140)는 탐색된 하나 이상의 슬롯에 각각 포함된 링크를 통해 하나 이상의 어노테이션 작업 결과물을 추출할 수 있다. For example, the learning data generating unit 140 may search for one or more slots by substituting a requested value into a hash function set in advance corresponding to a hash table of big data. The training data generator 140 may extract one or more annotation work results through links respectively included in one or more searched slots.
이와 다르게, 학습 데이터 생성부(140)는 요구 값에 대응하여 사전에 설정된 비율에 따라, 복수 개의 계층으로 구성된 빅데이터의 각각의 계층으로부터 어노테이션 작업 결과물을 추출할 수도 있다. Alternatively, the learning data generation unit 140 may extract annotation work results from each layer of the big data composed of a plurality of layers according to a preset ratio corresponding to the requested value.
그리고, 학습 데이터 생성부(140)는 추출된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 생성부(140)는 생성된 인공지능(AI) 학습용 데이터를 통신부(105)를 통해 인공지능 학습 장치(400)에 전송할 수 있다. In addition, the learning data generation unit 140 may generate AI learning data by packaging the extracted annotation work result. And, the learning data generation unit 140 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning device 400 through the communication unit 105 .
한편, 학습 데이터 생성부(140)는 요구 값에 의해 지시되는 정보의 유형이 어노테이션 작업 결과물의 메타데이터에 포함되어 있지 않은 경우, 메타데이터에 포함되지 않은 정보의 유형이 메타데이터에 포함될 수 있도록, 데이터 구조 설계부(120)를 통해 데이터 구조의 재설계를 수행할 수 있다. 그리고, 학습 데이터 생성부(140)는 데이터 가공부(130)를 통해 복수 개의 어노테이션 장치(200)에 복수 개의 이미지를 재분배하여, 어노테이션 작업을 재수행할 수도 있다.On the other hand, when the type of information indicated by the request value is not included in the metadata of the annotation work result, the learning data generator 140 allows the type of information not included in the metadata to be included in the metadata, The data structure may be redesigned through the data structure design unit 120 . Also, the learning data generation unit 140 may redistribute the plurality of images to the plurality of annotation devices 200 through the data processing unit 130 to redistribute the annotation work.
이하, 상술한 바와 같은, 어노테이션 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the annotation device 200 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에 도시된 바와 같이, 어노테이션 장치(200)는 통신부(205), 입출력부(210), 저장부(215), 객체 특정부(220), 메타데이터 생성부(225) 및 결과물 생성부(230)를 포함하여 구성될 수 있다.As shown in FIG. 4, the annotation device 200 includes a communication unit 205, an input/output unit 210, a storage unit 215, an object specification unit 220, a metadata generation unit 225, and a result generation unit ( 230) may be configured.
이와 같은, 어노테이션 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the annotation device 200 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.
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다.Describing each component, the communication unit 205 may transmit/receive data with the learning data generating device 100 and the learning data verifying device 300 .
구체적으로, 통신부(205)는 학습 데이터 생성 장치(100)에 의해 분배된 복수 개의 이미지를 수신할 수 있다. 여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 복수 개의 이미지는 개별적으로 수신하거나, 또는 일괄적으로 수신할 수 있다.Specifically, the communication unit 205 may receive a plurality of images distributed by the learning data generating device 100 . Here, the image is an image that is a target of annotation work for artificial intelligence (AI) learning. Such a plurality of images may be received individually or collectively.
그리고, 통신부(205)는 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다. 이와 같은, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.And, the communication unit 205 may transmit the annotation work result to the learning data verification device 300 . Such an annotation work result may have a JSON file format, but is not limited thereto.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다. 여기서, 사용자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 사용자는 작업자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.With the following configuration, the input/output unit 210 may receive a signal from a user through a user interface (UI) or output an operation result to the outside. Here, the user means a person who performs annotation work. Such a user may be referred to as a worker, performer, labeler, data labeler, and the like, but is not limited thereto.
구체적으로, 입출력부(210)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit 210 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 a user. Also, the input/output unit 110 may overlay and output a bounding box on the image.
그리고, 입출력부(110)는 이미지의 메타데이터를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다. Also, the input/output unit 110 may receive a control signal for setting metadata of an image from a user.
다음 구성으로, 저장부(215)는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.With the following configuration, the storage unit 215 may store data required for annotation work.
구체적으로, 저장부(215)는 통신부(205)를 통해 수신된 이미지를 저장할 수 있다. 또한, 저장부(215)는 통신부(205)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 사용자의 속성을 저장할 수 있다. Specifically, the storage unit 215 may store an image received through the communication unit 205 . Also, the storage unit 215 may store project properties, image properties, or user properties received through the communication unit 205 .
다음 구성으로, 객체 특정부(220)는 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정할 수 있다. With the following configuration, the object specifying unit 220 may specify an object included in an image to be annotated.
구체적으로, 객체 특정부(220)는 어노테이션 작업의 대상이 되는 이미지를 메모리로 로딩할 수 있다. 객체 특정부(220)는 입출력부(210)를 통해 입력된 사용자의 제어 신호에 따라 툴을 선택할 수 있다. 여기서, 툴(tool)은 이미지 속에 포함되어 있는 하나 이상의 객체를 특정하는 바운딩 박스를 설정하기 위한 도구이다. Specifically, the object specifying unit 220 may load an image to be an annotation work into memory. The object specifying unit 220 may select a tool according to a user's control signal input through the input/output unit 210 . Here, the tool is a tool for setting a bounding box that specifies one or more objects included in the image.
객체 특정부(220)는 입출력부(210)를 통해 입력된 제어 신호에 따라, 선택된 툴을 통한 좌표를 입력 받을 수 있다. 객체 특정부(220)는 입력된 좌표를 기초로, 바운딩 박스(bounding box)를 설정하여 이미지 속에 포함된 객체를 특정할 수 있다. The object specifying unit 220 may receive coordinates through the selected tool according to a control signal input through the input/output unit 210 . The object specifying unit 220 may specify an object included in the image by setting a bounding box based on the input coordinates.
여기서, 바운딩 박스는 이미지 속에 포함된 객체들 중에서 인공지능(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.
예를 들어, 객체 특정부(220)는 입출력부(210)를 통해 사용자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정하여, 이미지 속에 포함된 객체를 특정할 수 있다.For example, the object specification unit 220 receives two coordinates from the user through the input/output unit 210, 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. An object included in an image can be specified by setting a bounding box based on a rectangle.
이 경우, 두 개의 좌표는 사용자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.In this case, the two coordinates may be set by the user inputting one type of input signal twice (eg, mouse click) or by the user inputting two types of input signal once (eg, mouse drag). It may, but is not limited thereto.
다음 구성으로, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지에 대한 메타데이터(metadata)를 생성할 수 있다. With the following configuration, the metadata generating unit 225 may generate metadata for an image that is a target of annotation work.
여기서, 메타데이터에는 이미지의 정보, 저작권 정보, 촬영 조건 정보, 어노테이션된 객체의 정보 및 환경 정보가 포함될 수 있으나, 이에 한정되지 않는다. 메타데이터에 포함된 이미지의 정보에는 파일명, 파일 크기 및 이미지 크기가 포함될 수 있다. 저작권 정보에는 이미지 저작권자에 관한 정보가 포함될 수 있다. 촬영 조건 정보에는 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이가 포함될 수 있다. 객체의 정보에는 어노테이션 종류, 좌표 값, 영역의 크기, 클래스 명, 태그 항목, 잘림 여부, 대분류, 중분류, 소분류, 인스턴스 정보가 포함될 수 있다. 환경 정보에는 촬영 일시, 촬영 장소, 기상 정보, 도로의 유형, 도로 표면 정보, 교통 체증 정보가 포함될 수 있다. 또한, 메타데이터에 포함될 수 있는 정보의 개수와 종류는 이에 한정되지 아니한다.Here, the metadata may include image information, copyright information, shooting condition information, annotated object information, and environment information, but is not limited thereto. Image information included in metadata may include a file name, file size, and image size. Copyright information may include information about the copyright holder of the image. The photographing condition information may include resolution, bit value, aperture transmittance, exposure time, ISO sensitivity, focal length, aperture value, angle of view, white balance, and RGB depth. Object information may include annotation type, coordinate value, area size, class name, tag item, clipping, major classification, middle classification, small classification, and instance information. The environmental information may include shooting date and time, shooting location, weather information, road type, road surface information, and traffic jam information. In addition, the number and type of information that may be included in metadata is not limited thereto.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 사용자로부터 입력된 제어 신호에 따라 메타데이터에 포함될 구체적인 값들을 설정할 수 있으나, 특징적으로 메타데이터 생성부(225)는 사용자의 제어 신호에 의지하지 않고, 객체의 트래킹 아이디 및 환경 정보를 자동으로 결정 또는 부여할 수 있다. 다르게 말하면, 메타 데이터 생성부(225)는 특정된 객체의 이미지 속 좌표, 자동으로 부여된 트래킹 아이디, 자동으로 결정된 환경 정보를 포함시켜 메타데이터를 생성할 수 있다.The metadata generator 225 according to an embodiment of the present invention may set specific values to be included in the metadata according to a control signal input from the user, but characteristically, the metadata generator 225 responds to the user's control signal. It is possible to automatically determine or assign the object's tracking ID and environment information without relying on it. In other words, the metadata generator 225 may generate metadata by including coordinates in the image of the specified object, an automatically assigned tracking ID, and automatically determined environment information.
구체적으로, 메타데이터 생성부(225)는 객체 특정부(220)에 의해 특정된 객체에 대하여 자동으로 트래킹 아이디를 부여할 수 있다. 여기서, 트래킹 아이디는 이미지 그룹으로부터 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자이다. 이미지 그룹은 어노테이션이 수행된 이미지들의 집합이다. 예를 들어, 이미지 그룹은 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의해 시계열적으로 연속적으로 촬영된 이미지들, 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 인접하게 배치된 다른 카메라에 의해 공간적으로 연속되게 촬영된 이미지들이 포함될 수 있으며, 이에 한정되는 것도 아니다.Specifically, the metadata generation unit 225 may automatically assign a tracking ID to the object specified by the object specification unit 220 . Here, the tracking ID is a unique identifier of an object assigned to track an object from an image group. An image group is a set of annotated images. For example, the image group includes images taken consecutively in time series by the same camera as the camera that took the image to be annotated, and other images arranged adjacent to the camera that took the image to be annotated. Images spatially continuously photographed by a camera may be included, but are not limited thereto.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 객체의 색상을 기준으로 트래킹 아이디를 부여할 수 있다. 구체적으로, 메타데이터 생성부(225)는 이미지 속에 객체가 차지하고 있는 영역에 대한 RGB 값의 패턴을 식별할 수 있다. 그리고, 메타데이터 생성부(225)는 식별된 RGB 값의 패턴에 대응하는 식별자를 생성하여, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 여기서, RGB 값의 패턴은 화소들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴을 의미한다.The metadata generating unit 225 according to an embodiment of the present invention may assign a tracking ID based on the color of the object. Specifically, the metadata generating unit 225 may identify a pattern of RGB values for an area occupied by an object in an image. The metadata generation unit 225 may generate an identifier corresponding to the identified pattern of RGB values and assign it as the tracking ID of the object specified by the object specification unit 220 . Here, the pattern of RGB values means a pattern of ratios of RGB values to pixels and arrangement order of RGB values.
이 경우, 메타데이터 생성부(225)는 식별자를 새롭게 생성하기 이전에, 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 RGB 값의 패턴과 객체 특정부(220)에 의해 특정된 객체로부터 식별된 RGB 값의 패턴을 서로 비교하여 유사 객체를 검색할 수 있다. 그리고, 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 유사 객체가 검색된 경우, 검색된 유사 객체에 부여된 트래킹 아이디를, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. In this case, the metadata generating unit 225, before generating a new identifier, determines the pattern of RGB values for objects specified from the images included in the image group and the object specified by the object specifying unit 220. Similar objects may be searched for by comparing the identified patterns of RGB values. Also, when a similar object is found from the images included in the image group, the metadata generator 225 assigns the tracking ID assigned to the searched similar object to the tracking ID of the object specified by the object specifying unit 220. can do.
본 발명의 다른 실시예에 따른 메타데이터 생성부(225)는 객체의 형상을 기준으로 트래킹 아이디를 부여할 수 있다. 구체적으로, 메타데이터 생성부(225)는 이미지의 엣지를 추출(edge detection)할 수 있다. 메타데이터 생성부(225)는 추출된 이미지의 전체 엣지로부터 객체 특정부(220)에 의해 특정된 객체의 엣지만을 식별할 수 있다. 메타데이터 생성부(225)는 식별된 객체의 엣지의 패턴에 대응하는 식별자를 생성하여, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 여기서, 엣지의 패턴은 이미지로부터 추출된 엣지에 의해 폐쇄된 영역에 포함된 픽셀의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴을 의미한다.The metadata generator 225 according to another embodiment of the present invention may assign a tracking ID based on the shape of an object. Specifically, the metadata generating unit 225 may extract an edge of an image (edge detection). The metadata generation unit 225 may identify only the edge of the object specified by the object specification unit 220 from all edges of the extracted image. The metadata generating unit 225 may generate an identifier corresponding to the edge pattern of the identified object and assign it as the tracking ID of the object specified by the object specifying unit 220 . Here, the pattern of the edge means a pattern for the number of pixels included in the area closed by the edge extracted from the image and the relative position of the edge within the image.
이 경우, 메타데이터 생성부(225)는 식별자를 새롭게 생성하기 이전에, 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 엣지 패턴과 객체 특정부(220)에 의해 특정된 객체로부터 식별된 객체의 엣지의 패턴을 서로 비교하여 유사 객체를 검색할 수 있다. 그리고, 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 유사 객체가 검색된 경우, 검색된 유사 객체에 부여된 트래킹 아이디를, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. In this case, the metadata generation unit 225 identifies edge patterns for objects specified from the images included in the image group and the object identified by the object specification unit 220 before newly generating the identifier. Similar objects may be searched for by comparing the edge patterns of objects with each other. Also, when a similar object is found from the images included in the image group, the metadata generator 225 assigns the tracking ID assigned to the searched similar object to the tracking ID of the object specified by the object specifying unit 220. can do.
본 발명의 또 다른 실시예에 따른 메타데이터 생성부(225)는 객체에 포함된 기호 또는 문자를 기준으로 트래킹 아이디를 부여할 수 있다. 구체적으로, 메타데이터 생성부(225)는 이미지 속에서 객체가 차지하고 있는 영역에 기호 또는 문자가 포함되어 있는지 식별할 수 있다. 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 특정된 객체들을 대상으로, 객체 특정부(220)에 의해 특정된 객체로부터 식별된 기호 또는 문자와 동일한 기호 또는 문자를 포함하는 유사 객체를 검색할 수 있다. 그리고, 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 유사 객체가 검색된 경우, 검색된 유사 객체에 부여된 트래킹 아이디를, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. The metadata generator 225 according to another embodiment of the present invention may assign a tracking ID based on symbols or characters included in objects. Specifically, the metadata generating unit 225 may identify whether symbols or characters are included in the area occupied by the object in the image. The metadata generation unit 225 targets objects specified from the images included in the image group, and similar objects including the same symbol or character as the symbol or character identified from the object specified by the object specifying unit 220. can be searched for. Also, when a similar object is found from the images included in the image group, the metadata generator 225 assigns the tracking ID assigned to the searched similar object to the tracking ID of the object specified by the object specifying unit 220. can do.
한편, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지에 대한 환경 정보를 자동으로 결정할 수 있다. 여기서, 환경 정보는 카메라에 의해 이미지가 촬영된 장소 또는 시점과 관련된 정보를 의미한다. 이와 같은, 환경 정보에는 이미지의 촬영 일시, 촬영 장소, 기상(weather) 정보, 도로의 유형(road type), 노면(road surface) 및 교통 상황(traffic congestion)에 관한 정보가 포함될 수 있으나, 이에 한정되지 아니한다.Meanwhile, the metadata generating unit 225 may automatically determine environment information about an image that is a target of annotation work. Here, the environment information refers to information related to a place or time point at which an image was captured by a camera. Such environmental information may include, but is not limited to, information on the date and time of image capture, location, weather information, road type, road surface, and traffic congestion. It doesn't.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 기존 이미지와 어노테이션 작업의 대상이 되는 이미지를 서로 비교하여, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용할 수 있다.The metadata generation unit 225 according to an embodiment of the present invention compares an existing image with an image to be annotated, and converts environmental information given to the existing image to the environment of the image to be annotated. information can be applied.
보다 구체적으로, 메타데이터 생성부(225)는 기존 이미지와 어노테이션 작업의 대상이 되는 이미지를 서로 비교하여, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다. 여기서, 기존 이미지는 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의하여, 어노테이션 작업의 대상이 되는 이미지보다 선행하여 촬영된 이미지를 의미한다. More specifically, the metadata generation unit 225 compares the existing image with the image to be annotated, and determines whether environmental information given to the existing image can be applied as environmental information of the image to be annotated. can determine whether Here, the existing image means an image taken prior to the image to be annotated by the same camera as the camera that captured the image to be annotated.
만약, 어노테이션 작업의 대상이 되는 이미지보다 선행하여 촬영된 이미지가 복수 개인 경우, 메타데이터 생성부(225)는 복수 개의 이미지들 중에서 객체 특정부(220)에 의해 특정된 객체와 동일한 트래킹 아이디가 부여된 객체를 포함하고 있는 이미지를 기존 이미지로 선택할 수 있다.If there are a plurality of images taken prior to the image to be annotated, the metadata generation unit 225 assigns the same tracking ID as the object specified by the object specification unit 220 among the plurality of images. You can select an image that contains an object that has been deleted as an existing image.
이와 다르게, 어노테이션 작업의 대상이 되는 이미지보다 선행하여 촬영된 이미지가 복수 개인 경우, 메타데이터 생성부(225)는 복수 개의 이미지들 중에서 어노테이션 작업의 대상이 되는 이미지와 촬영 시각이 가장 인접한 이미지를 기존 이미지로 선택할 수도 있다.In contrast, when there are a plurality of images taken prior to the image to be annotated, the metadata generation unit 225 selects an image whose shooting time is closest to the image to be annotated from among the plurality of images. You can also choose by image.
이후, 메타데이터 생성부(225)는 기존 이미지의 객체와 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을, 어노테이션 작업의 대상이 되는 이미지로부터 제거한 배경 영역을 식별할 수 있다. 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 객체와 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을, 선택된 기존 이미지로부터 제거한 배경 영역을 식별할 수 있다. Thereafter, the metadata generating unit 225 may identify a background area occupied by an object to which the same tracking ID as an object of the existing image is removed from the image to be annotated. The metadata generating unit 225 may identify a background area occupied by an object to which the same tracking ID as the object of the image to be annotated is removed from the selected existing image.
그리고, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역과, 기존 이미지의 배경 영역을 서로 비교한 결과를 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.Further, the metadata generation unit 225 converts environment information pre-assigned to the existing image to a target of annotation based on a result of comparing the background area of the image to be annotated with the background area of the existing image. It can be determined whether or not it is applicable as environment information of the image to be applied.
즉, 메타데이터 생성부(225)는 선행하여 촬영된 이미지(즉, 기존 이미지)와 후행하여 촬영된 이미지(어노테이션 작업의 대상이 되는 이미지) 각각에 대하여, 동일한 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교하고, 비교한 결과를 기초로 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 것이다.That is, the metadata generating unit 225 is an area occupied by an object to which the same ID has been assigned to each of the previously photographed image (i.e., the previous image) and the subsequent photographed image (annotation target image). The background areas from which are removed are compared with each other, and based on the comparison result, it is determined whether or not the environmental information previously assigned to the previously photographed image can be applied as the environment information of the subsequent photographed image.
구체적인 판단에 대한 예로서, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역에 대한 RGB 값의 패턴과, 기존 이미지의 배경 영역에 대한 RGB 값의 패턴을 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.As an example of a specific determination, the metadata generation unit 225 determines the existing image based on the pattern of RGB values for the background area of the image to be annotated and the pattern of RGB values for the background area of the existing image. It is possible to determine whether pre-given environmental information can be applied as environmental information of an image to be annotated.
이와 다르게, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역에 대한 엣지의 패턴과, 기존 이미지의 배경 영역에 대한 엣지의 패턴을 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.Unlike this, the metadata generation unit 225 is based on the pattern of the edge of the background area of the image to be annotated and the pattern of the edge of the background area of the existing image, the environment given to the existing image. It is possible to determine whether the information can be applied as environmental information of an image to be annotated.
이와 또 다르게, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역에 대한 평균 밝기(brightness) 값 또는 평균 감마(gamma) 값과, 기존 이미지의 배경 영역에 대한 평균 밝기 값 또는 평균 감마 값을 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수도 있다.Alternatively, the metadata generator 225 may set the average brightness value or average gamma value of the background area of the image to be annotated, and the average brightness value or average brightness value of the background area of the existing image. Based on the average gamma value, it may be determined whether environmental information given to an existing image can be applied as environmental information of an image to be annotated.
그리고, 메타데이터 생성부(225)는 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한 것으로 판단된 경우, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 포함시켜 메타데이터를 생성할 수 있다.In addition, when it is determined that the metadata generation unit 225 can apply the environmental information previously assigned to the existing image as the environmental information of the image to be annotated, the metadata generation unit 225 annotates the environmental information previously assigned to the existing image. Metadata can be created by including it as the environment information of the target image.
정리하면, 메타데이터 생성부(225)는 복수 개의 이미지가 동일한 카메라에 의해 연속적으로 촬영된 이미지에 해당하는 경우, 복수 개의 이미지 중 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 포함시켜 후행하여 촬영된 이미지에 대한 메타데이터를 자동으로 생성할 수 있다. In summary, when a plurality of images correspond to images continuously photographed by the same camera, the metadata generation unit 225 assigns previously given environment information to the preceding image among the plurality of images to be photographed. By including it as environment information of the image, it is possible to automatically generate metadata for images taken later.
한편, 메타데이터 생성부(225)는 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용이 불가능한 것으로 판단된 경우, 어노테이션 작업 대상이 되는 이미지의 내에 설정된 하나 이상의 기준점이 가지는 특징을 기초로 어노테이션 작업 대상이 되는 이미지에 대한 환경 정보를 자동으로 결정할 수 있다.On the other hand, if it is determined that the metadata generation unit 225 cannot apply the environment information already given to the existing image as the environmental information of the image to be annotated, one or more sets in the image to be annotated. Based on the characteristics of the reference point, environmental information about an image to be annotated can be automatically determined.
보다 구체적으로, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지 내에서 하나 이상의 기준점을 설정할 수 있다. 인공지능(AI)이 특정 목적을 달성할 수 있도록 기계학습에 사용되는 다수의 이미지들은 상대적으로 유사한 구도를 가지고 있다. 본 발명의 실시예에 따른 기준점은 인공지능(AI)의 학습 목적에 대응하여 설정되는 이미지 내의 하나 이상의 지점이 될 수 있다. 그리고, 메타데이터 생성부(225)는 설정된 하나 이상의 기준점 각각이 화소의 색상, 밝기 또는 감마를 기초로, 어노테이션 작업의 대상이 되는 이미지의 환경 정보를 결정할 수 있다. More specifically, the metadata generating unit 225 may set one or more reference points in an image to be annotated. A number of images used in machine learning have a relatively similar composition so that artificial intelligence (AI) can achieve a specific purpose. A reference point according to an embodiment of the present invention may be one or more points in an image set to correspond to the learning purpose of artificial intelligence (AI). In addition, the metadata generator 225 may determine environment information of an image to be annotated based on the color, brightness, or gamma of each pixel of one or more set reference points.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 엣지를 추출하고, 추출된 엣지를 기준으로 이미지를 복수 개의 영역으로 구분할 수 있다. 메타데이터 생성부(225)는 구분된 복수 개의 영역 각각에 대하여 하나 이상의 기준점을 설정할 수 있다. 메타데이터 생성부(225)는 추출된 엣지를 기준으로 어노테이션 작업의 대상이 되는 이미지에서 객체가 차지하고 있는 영역을 제거하여 배경 영역을 식별할 수 있다. 메타데이터 생성부(225)는 객체에 부여된 클래스(class)를 기준으로 이미지 내에서 객체의 방향성을 판단할 수 있다. 예를 들어, 메타데이터 생성부(225)는 개체에 부여된 클래스가 차량인 경우, 이미지 내에서 객체의 바퀴가 향하는 방향을 지면으로 판단할 수 있다. 메타데이터 생성부(225)는 판단된 객체의 방향성을 기초로, 식별된 배경 영역에 포함된 복수 개의 영역 중에서 지면(ground) 영역과 공중(air) 영역을 식별할 수 있다. 여기서, 지면 영역은 엣지에 의해 구분된 복수 개의 영역 중에서 지면에 가장 가까운 영역이다. 공중 영역은 엣지에 의해 구분된 복수 개의 영역 중에서 지면으로부터 가장 먼 영역이다. 그리고, 메타데이터 생성부(225)는 지면 영역 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 노면(road surface) 정보를 결정하고, 공중 영역 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 기상(weather) 정보를 결정할 수 있다.The metadata generator 225 according to an embodiment of the present invention may extract an edge of an image to be annotated, and divide the image into a plurality of regions based on the extracted edge. The metadata generating unit 225 may set one or more reference points for each of the plurality of divided areas. The metadata generation unit 225 may identify a background area by removing an area occupied by an object from an image to be annotated based on the extracted edge. The metadata generating unit 225 may determine the orientation of the object in the image based on the class assigned to the object. For example, when the class assigned to the object is a vehicle, the metadata generation unit 225 may determine the direction in which the wheels of the object are heading in the image as the ground. The metadata generator 225 may identify a ground area and an air area from among a plurality of areas included in the identified background area, based on the determined object directionality. Here, the ground area is an area closest to the ground among a plurality of areas divided by edges. The aerial area is an area furthest from the ground among a plurality of areas divided by edges. Further, the metadata generation unit 225 determines road surface information constituting the environment information based on the pixels of the reference point set in the ground area, and determines the environment information based on the pixels of the reference point set in the air area. It is possible to determine constituting weather information.
본 발명의 다른 실시예에 따른 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 가장자리(border)를 구성하는 네 개의 선분 각각에 대하여 하나 이상의 기준점을 설정할 수 있다. 메타데이터 생성부(225)는 객체에 부여된 클래스(class)를 기준으로 이미지 내에서 객체의 방향성을 판단할 수 있다. 메타데이터 생성부(225)는 판단된 객체의 방향성을 기초로, 네 개의 선분 중에서 지면 선분과 공중 선분을 식별할 수 있다. 여기서, 지면 선분은 이미지의 가장자리를 구성하는 네 개의 선분 중에서 지면에 가장 가까운 선분이다. 공중 선분은 이미지의 가장자리를 구성하는 네 개의 선분 중에서 지면으로부터 가장 먼 선분이다. 그리고, 메타데이터 생성부(225)는 지면 선분 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 노면 정보를 결정하고, 공중 선분 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 기상 정보를 결정할 수 있다.The metadata generator 225 according to another embodiment of the present invention may set one or more reference points for each of the four line segments constituting the border of the image to be annotated. The metadata generating unit 225 may determine the orientation of the object in the image based on the class assigned to the object. The metadata generation unit 225 may identify a ground segment and an air segment among four line segments based on the determined object direction. Here, the ground segment is a line segment closest to the ground among four line segments constituting the edge of the image. The mid-air segment is the farthest line segment from the ground among the four line segments constituting the edge of the image. Then, the metadata generator 225 determines road surface information constituting environmental information based on pixels of a reference point set in a ground segment, and weather information constituting environmental information based on pixels of a reference point set in an aerial segment can decide
한편, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지와 이미지 그룹에 포함된 기존 이미지 각각에 대하여 동일한 위치에 기준점을 설정하고, 어노테이션 작업의 대상이 되는 이미지에 설정된 기준점의 화소와 기존 이미지에 동일하게 설정된 기준점의 화소를 대비하여, 화소의 색상, 밝기 및 감마 값이 사전에 설정된 허용 범위 이내인 경우, 기존 이미지에 대하여 기 설정된 환경 정보를 어노테이션 작업의 대상이 되는 이미지이 환경 정보로 결정할 수도 있다. 만약, 어노테이션 작업의 대상이 되는 이미지와 기존 이미지에 서로 동일하게 설정된 기준점의 화소의 색상, 밝기, 감마 값의 차이가 허용 범위를 벗어나는 경우, 메타데이터 생성부(225)는 환경 정보가 수동으로 설정되어야 함을 알리는 메시지를 사용자 인터페이스(UI)를 통해 출력할 수도 있다.Meanwhile, the metadata generation unit 225 sets a reference point at the same location for each of the image to be annotated and the existing image included in the image group, and the pixel of the reference point set in the image to be annotated is compared with the existing image. Contrasting the pixels of reference points identically set in the image, if the color, brightness, and gamma values of the pixels are within the preset allowable range, the preset environment information of the existing image will be determined as the environment information of the image to be annotated. may be If the difference between the color, brightness, and gamma values of the pixels of the reference point set identically in the image to be annotated and the existing image is out of the allowable range, the metadata generator 225 sets the environment information manually. A message informing that it should be done may be output through a user interface (UI).
다음 구성으로, 결과물 생성부(230)는 메타데이터 생성부(225)에 의해 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.With the following configuration, the result generation unit 230 may generate an annotation work result based on the metadata generated by the metadata generation unit 225 . In this case, the annotation work result may have a JSON file format, but is not limited thereto.
그리고, 결과물 생성부(230)은 생성된 어노테이션 작업 결과물을 통신부(205)를 통해 학습 데이터 생성 장치(100)에 직접 전송하거나, 또는 학습 데이터 검증 장치(300)에 전송할 수 있다.In addition, the result generation unit 230 may directly transmit the generated annotation work result to the learning data generation device 100 or to the learning data verification device 300 through the communication unit 205 .
이하, 상술한 바와 같은 어노테이션 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the above-described logical components of the annotation device 200 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에 도시된 바와 같이, 어노테이션 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다. As shown in FIG. 5, the annotation device 200 includes a processor 250, a memory 255, a transceiver 260, an input/output device 265, and a data bus. , 270) and storage (Storage, 275).
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 어노테이션 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 어노테이션 장치(200)의 동작에 필요한 데이터를 입력 받고, 어노테이션 작업의 대상이 되는 이미지, 바운딩 박스, 메타데이터를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement operations and functions of the annotation device 200 based on instructions according to the software 280a in which the method according to the embodiments of the present invention is resident in the memory 255 . Software 280a in which a method according to embodiments of the present invention is implemented may be loaded in the memory 255 . The transceiver 260 may transmit and receive data to and from the learning data generating device 100 and the learning data verifying device 300 . The input/output device 265 may receive data necessary for the operation of the annotation device 200 and output an image, a bounding box, and metadata to be an annotation work. The data bus 270 is connected to the processor 250, the memory 255, the transceiver 260, the input/output device 265, and the storage 275, and is a movement path for transferring data between each component. role can be fulfilled.
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다. The storage 275 stores an application programming interface (API), a library file, a resource file, etc. necessary for the execution of the software 280a in which the method according to the embodiments of the present invention is implemented. can be saved The storage 275 may store software 280b in which a method according to embodiments of the present invention is implemented. Also, the storage 275 may store information necessary for performing a method according to embodiments of the present invention.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 트래킹 아이디 부여 및 검수 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계, 프로세서(250)가 상기 특정된 객체에 대하여 트래킹 아이디를 부여하는 단계, 및 프로세서(250)가 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 부여된 트래킹 아이디를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to one embodiment of the present invention, the software (280a, 280b) for implementing the method of assigning and verifying the tracking ID resides in the memory 255 or stored in the storage 275, the processor 250 is artificial intelligence (AI) Step of specifying an object included in an image that is a target of annotation work for learning, step of giving a tracking ID to the specified object by the processor 250, and step of the processor 250 specifying the image of the specified object It may be a computer program recorded on a recording medium to execute the step of generating metadata for the image by including the inside coordinates and the assigned tracking ID.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 메타데이터 생성 및 검수 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계, 프로세서(250)가 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계, 및 프로세서(250)가 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the method of generating and checking metadata resident in the memory 255 or stored in the storage 275 is the processor 250 artificial intelligence (AI) Specifying an object included in an image that is a target of annotation work for learning, the processor 250 compares the image with an existing image, and converts environment information given to the existing image into environment information of the image. Determining whether or not it is applicable, and if the processor 250 determines that the environment information given to the existing image is applicable as the environment information of the image, the coordinates of the specified object in the image and the existing image It may be a computer program recorded on a recording medium to execute the step of generating metadata for the image by including the given environment information.
본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 메타데이터 자동 생성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계, 프로세서(250)가 상기 이미지 내에서 하나 이상의 기준점을 설정하고, 상기 설정된 기준점의 화소의 색상, 밝기 또는 감마를 기초로 상기 이미지에 대한 환경 정보를 결정하는 단계, 및 프로세서(250)가 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 결정된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing a method for automatically generating metadata residing in the memory 255 or stored in the storage 275 is provided by the processor 250 using artificial intelligence (AI) Specifying an object included in an image that is a target of annotation work for learning, the processor 250 setting one or more reference points in the image, and based on the color, brightness, or gamma of a pixel of the set reference point In order to execute the step of determining environmental information about an image, and the step of generating metadata about the image by including the coordinates of the specified object in the image and the determined environment information by the processor 250, the recording medium It can be a recorded computer program.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired/wireless signals. The input/output device 265 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.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.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 255 and be executed by processor 250 . The memory 255 may be internal or external to the processor 250 and may be connected to the processor 250 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은 본 발명의 일 6 is one of the present invention 실시예에in the examples 따라 인공지능(AI) 학습용 데이터를 생성하는 방법을 설명하기 위한 신호 흐름도이다. This is a signal flow diagram to explain how to generate data for artificial intelligence (AI) learning.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 학습 데이터 생성 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다(S105). As shown in FIG. 6 , the learning data generation apparatus 100 of the artificial intelligence learning system according to an embodiment of the present invention may design a data structure for artificial intelligence (AI) learning (S105).
구체적으로, 학습 데이터 생성 장치(100)는 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 온톨로지, 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다. 이 경우, 학습 데이터 생성 장치(100)의 사용자는 주된 거래처 또는 고객의 니즈(needs)를 고려하여, 인공지능(AI) 학습을 위한 데이터의 구조가 범용성을 가지도록 제어를 수행할 수 있다. Specifically, the learning data generating device 100 may define an ontology for AI learning and a classification system of data for AI learning based on a user's control. In this case, the user of the learning data generating device 100 can control the structure of data for artificial intelligence (AI) learning to have versatility in consideration of the needs of the main business partner or customer.
학습 데이터 생성 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집 및 정제할 수 있다(S110). The learning data generating device 100 may collect and refine data for artificial intelligence (AI) learning based on the designed data structure (S110).
구체적으로, 학습 데이터 생성 장치(100)는 외부로부터 이미지를 입력 받거나, 웹 크롤링(crawling)을 수행하여 이미지를 수집하거나, 또는 이미지 데이터를 보유하고 있는 외부 기관의 장치로부터 이미지를 다운로드할 수도 있다.Specifically, the learning data generating device 100 may receive images from the outside, collect images by performing web crawling, or download images from an external institution's device that holds image data.
그리고, 학습 데이터 생성 장치(100)는 수집된 이미지들 중에서 중복되거나 또는 극히 유사한 이미지를 제거하고, 이미지에 포함된 개인정보를 비식별화할 수 있다.Also, the learning data generation device 100 may remove duplicate or extremely similar images from among the collected images and de-identify personal information included in the images.
학습 데이터 생성 장치(100)는 수집 및 정제된 데이터(즉, 어노테이션 작업의 대상이 되는 이미지)를 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다(S115).The learning data generating device 100 may distribute and transmit the collected and refined data (ie, the image to be annotated) to a plurality of annotation devices 200 (S115).
본 발명의 일 실시예에 따른 인공지능 학습 시스템의 복수 개의 어노테이션 장치(200) 각각은 학습 데이터 생성 장치(100)로부터 수신된, 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정할 수 있다(S120). Each of the plurality of annotation devices 200 of the artificial intelligence learning system according to an embodiment of the present invention may specify an object included in an image received from the learning data generating device 100 and to be annotated ( S120).
구체적으로, 어노테이션 장치(200)는 사용자의 제어 신호에 따라, 툴을 통해 좌표를 입력 받고, 입력된 좌표를 기초로 바운딩 박스를 설정하여 이미지 속에 포함된 객체를 특정할 수 있다. 여기서, 바운딩 박스는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다.Specifically, the annotation device 200 may receive coordinates through a tool according to a user's control signal, and set a bounding box based on the input coordinates to specify an object included in the image. Here, the bounding box is an area for specifying an object to be learned by artificial intelligence (AI) among objects included in the image.
어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지에 대한 메타데이터(metadata)를 생성할 수 있다(S125). The annotation device 200 may generate metadata for an image to be an annotation work (S125).
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 사용자로부터 입력된 제어 신호에 따라 메타데이터에 포함될 구체적인 값들을 설정할 수 있으나, 사용자의 제어 신호에 의지하지 않고도 객체의 트래킹 아이디 및 환경 정보를 자동으로 결정 또는 부여할 수 있다.Characteristically, the annotation device 200 according to an embodiment of the present invention may set specific values to be included in metadata according to a control signal input from a user, but the tracking ID and environment of the object are not dependent on the user's control signal. Information can be determined or assigned automatically.
어노테이션 장치(200)는 생성된 메타데이터를 기초로 어노테이션 작업 결과물을 생성하고, 생성된 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다(S130).The annotation device 200 may generate an annotation work result based on the generated metadata and transmit the generated annotation work result to the learning data verification device 300 (S130).
본 발명의 일 실시예에 따른 인공지능 학습 시스템의 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물을 검수할 수 있다(S135). The learning data verification apparatus 300 of the artificial intelligence learning system according to an embodiment of the present invention may inspect annotation work results received from the annotation apparatuses 200 (S135).
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.Specifically, the learning data verification device 300 may perform inspection using a script for annotation work results. Here, the script is a code for verifying whether or not the target quality previously set for the annotation work result meets or whether the data is valid.
특징적으로, 본 발명의 일 실시예에 따른 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물에 포함된 객체의 트래킹 아이디 및 환경 변수를 보다 용이하게 검수할 수 있는 사용자 인터페이스(UI)를 제공할 수 있다.Characteristically, the learning data verification device 300 according to an embodiment of the present invention can provide a user interface (UI) that can more easily inspect tracking IDs and environment variables of objects included in annotation work results. .
학습 데이터 검증 장치(300)는 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다(S140).The learning data verification device 300 may transmit annotation work results and inspection results to the learning data generating device 100 (S140).
학습 데이터 생성 장치(100)는 어노테이션 작업 결과물의 메타데이터를 기반으로, 복수 개의 어노테이션 작업 결과물에 관한 빅데이터를 구축할 수 있다(S145).The learning data generating apparatus 100 may build big data about a plurality of annotation work results based on the metadata of the annotation work results (S145).
상술한 바와 같이 빅데이터가 구축된 이후, 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 요구 값을 포함하는 데이터 요청을 수신할 수 있다(S150). 여기서, 요구 값은 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항에 관한 값이다. 즉, 요구 값은 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이다. After the big data is constructed as described above, the learning data generating device 100 may receive a data request including a request value from the artificial intelligence learning device 400 (S150). Here, the required value is a value related to requirements that AI learning data must satisfy in order for AI to achieve its development purpose. That is, the requested value is a value indicating the type of information to be included in the data for AI learning.
학습 데이터 생성 장치(100)는 구축된 빅데이터를 마이닝(mining) 또는 필터링(filtering)하여 요구 값에 대응하는 어노테이션 작업 결과물을 추출할 수 있다. 학습 데이터 생성 장치(100)는 추출된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다(S155).The learning data generating apparatus 100 may mine or filter the constructed big data to extract an annotation work result corresponding to a requested value. The learning data generating device 100 may generate artificial intelligence (AI) learning data by packaging the extracted annotation work result (S155).
그리고, 학습 데이터 생성 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.And, the learning data generating device 100 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning device 400 .

Claims (10)

  1. 복수 개의 어노테이션 장치가 복수 개의 어노테이션 작업 결과물을 생성하는 단계; 및generating a plurality of annotation work results by a plurality of annotation devices; and
    학습 데이터 생성 장치가, 상기 복수 개의 상기 어노테이션 작업 결과물을 수신하고, 상기 메타데이터를 기반으로 상기 복수 개의 어노테이션 작업 결과물을 분류하고, 인공지능(Artificial Intelligence, AI) 학습용 데이터를 생성하는 단계를 포함하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법. A learning data generating device receiving the plurality of annotation job results, classifying the plurality of annotation job results based on the metadata, and generating artificial intelligence (AI) learning data , Data extraction method for artificial intelligence learning based on big data.
  2. 제1 항에 있어서, 상기 인공지능(AI) 학습용 데이터를 생성하는 단계는The method of claim 1, wherein the generating data for artificial intelligence (AI) learning
    상기 메타데이터를 기반으로 분류된 상기 어노테이션 작업 결과물을 이용하여 빅데이터(big data)를 구축하고, 외부로부터 요구 값이 입력되면 상기 빅데이터를 마이닝(mining) 또는 필터링(filtering)하여 상기 요구 값에 대응하는 어노테이션 작업 결과물을 추출하고, 상기 추출된 어노테이션 작업 결과물을 패키징(packaging)하여 상기 인공지능(AI) 학습용 데이터를 생성하되,Big data is built using the annotation work result classified based on the metadata, and when a request value is input from the outside, the big data is mined or filtered to obtain the requested value. Extracting the corresponding annotation work result, and packaging the extracted annotation work result to generate the artificial intelligence (AI) learning data,
    상기 요구 값은 상기 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값인 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.The request value is a value indicating the type of information to be included in the artificial intelligence (AI) learning data.
  3. 제2 항에 있어서, 상기 빅데이터는The method of claim 2, wherein the big data
    상기 메타데이터의 종류에 따른 복수 개의 버킷(bucket)으로 구성된 해시 테이블(hash table)을 포함하고, 상기 버킷 각각은 어노테이션 작업 결과물에 대한 링크(link)를 포함하는 하나의 이상의 슬롯(slot)을 포함하여 구성되고,A hash table composed of a plurality of buckets according to the type of the metadata, and each bucket includes one or more slots including a link to an annotation work result. is composed of,
    상기 인공지능(AI) 학습용 데이터를 생성하는 단계는The step of generating data for artificial intelligence (AI) learning
    상기 해시 테이블에 대응하여 사전에 설정된 해시 함수(hash function)에 상기 요구 값을 대입하여 하나 이상의 슬롯을 탐색하고, 탐색된 하나 이상의 슬롯에 포함된 링크를 통해 하나 이상의 어노테이션 작업 결과물을 추출하는 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.Searching for one or more slots by substituting the requested value into a hash function set in advance corresponding to the hash table, and extracting one or more annotation work results through a link included in the searched one or more slots. A data extraction method for artificial intelligence learning based on big data.
  4. 제3 항에 있어서, 상기 인공지능(AI) 학습용 데이터를 생성하는 단계는The method of claim 3, wherein the generating data for artificial intelligence (AI) learning
    상기 빅데이터를 구축하는 과정에서 상기 해시 테이블의 적재 밀도(loading density)가 사전에 설정된 임계 밀도를 초과하는 경우, 상기 슬롯에 포함된 링크는 유지한 상태에서 상기 메타데이터의 종류에 따른 버킷의 수를 두 배로 늘린 이후 상기 슬롯의 홈 버킷을 재조정하여, 상기 해시 테이블의 용량을 증가시키는 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.In the process of constructing the big data, if the loading density of the hash table exceeds a preset critical density, the number of buckets according to the type of metadata while maintaining the link included in the slot Big data-based data extraction method for artificial intelligence learning, characterized in that the capacity of the hash table is increased by readjusting the home bucket of the slot after doubling.
  5. 제2 항에 있어서, 상기 인공지능(AI) 학습용 데이터를 생성하는 단계는The method of claim 2, wherein the step of generating data for artificial intelligence (AI) learning
    상기 요구 값에 의해 지시되는 정보의 유형이 상기 메타데이터에 포함되어 있지 않은 경우, 상기 메타데이터에 상기 포함되지 않은 정보의 유형이 포함되도록 데이터 구조(data structure)를 재설계한 후, 상기 복수 개의 어노테이션 장치에 상기 복수 개의 이미지를 재분배하는 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.When the type of information indicated by the request value is not included in the metadata, after redesigning the data structure to include the type of information not included in the metadata, Characterized in that redistributing the plurality of images to the annotation device, big data-based artificial intelligence learning data extraction method.
  6. 제2 항에 있어서, 상기 인공지능(AI) 학습용 데이터를 생성하는 단계는The method of claim 2, wherein the step of generating data for artificial intelligence (AI) learning
    상기 빅데이터는 복수 개의 계층(layer)으로 구획되며, 상기 빅데이터를 구축하는 과정에서 상기 어노테이션 장치의 사용자에게 부여된 업무 평가 등급을 기준으로 상기 어노테이션 작업 결과물이 소속될 계층을 결정하며, 상기 외부로부터 입력된 요구 값에 대응하는 비율에 따라 각각의 계층으로부터 상기 어노테이션 작업 결과물을 추출하는 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.The big data is divided into a plurality of layers, and in the process of constructing the big data, the layer to which the annotation work result belongs is determined based on the task evaluation grade given to the user of the annotation device, and the external Big data-based artificial intelligence learning data extraction method, characterized in that for extracting the annotation work result from each layer according to the ratio corresponding to the requested value input from.
  7. 제1 항에 있어서, 상기 어노테이션 작업 결과물을 생성하는 단계는The method of claim 1, wherein generating the annotation work result
    상기 복수 개의 이미지가 동일한 카메라에 의해 연속적으로 촬영된 이미지에 해당하는 경우, 상기 복수 개의 이미지 중 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 포함시켜 상기 후행하여 촬영된 이미지에 대한 메타데이터를 생성하되,When the plurality of images correspond to images consecutively photographed by the same camera, environment information previously assigned to an image photographed earlier among the plurality of images is included as environment information of an image photographed later, and the subsequent image is captured. to generate metadata for the captured image,
    상기 환경 정보에는 이미지의 촬영 일시, 촬영 장소, 기상(weather) 정보, 도로의 유형(road type), 노면(road surface) 및 교통 상황(traffic congestion)에 관한 정보가 포함되는 것을 특징으로 하는 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.Characterized in that the environment information includes information on the date and time of image capture, location, weather information, road type, road surface, and traffic congestion. A data extraction method for artificial intelligence learning based on big data.
  8. 제7 항에 있어서, 상기 어노테이션 작업 결과물을 생성하는 단계는8. The method of claim 7, wherein generating the annotation work result
    상기 선행하여 촬영된 이미지가 복수 개인 경우, 상기 복수 개의 이미지들 중에서 동일한 트래킹 아이디(tracking identifier)가 부여된 객체를 포함하고 있는 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 포함시키는 것을 특징으로 하되, If there are a plurality of images photographed in advance, environment information of an image photographed subsequent to an image including an object to which the same tracking identifier is assigned among the plurality of images is converted to environmental information. It is characterized by including
    상기 트래킹 아이디는 객체를 추적할 수 있도록 부여된 객체의 고유 식별자인 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.The tracking ID is a data extraction method for artificial intelligence learning based on big data, characterized in that the unique identifier of the object given to track the object.
  9. 제8 항에 있어서, 상기 어노테이션 작업 결과물을 생성하는 단계는9. The method of claim 8, wherein generating the annotation work result
    상기 선행하여 촬영된 이미지와 후행하여 촬영된 이미지 각각에 대하여 동일한 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교한 결과를 기초로, 상기 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 것을 특징으로 하는, 빅데이터 기반의 인공지능 학습용 데이터 추출 방법.Based on a result of comparing the background areas obtained by removing the area occupied by the object to which the same ID is assigned to each of the preceding images and the succeeding images, an environment assigned to the preceding images is determined. A data extraction method for learning artificial intelligence based on big data, characterized in that it determines whether the information can be applied as environmental information of the image taken after the information.
  10. 메모리(memory);memory;
    송수신기(transceiver); 및transceiver; and
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, In combination with a computing device configured to include a processor for processing instructions resident in the memory,
    상기 프로세서가, 상기 송수신기를 통해 복수 개의 어노테이션 작업 결과물을 수신하되, 상기 어노테이션 작업 결과물은 상기 복수 개의 이미지 각각에 대한 이미지 속 객체의 좌표와 상기 이미지에 대한 메타데이터를 포함하는 단계; 및receiving, by the processor, a plurality of annotation work results through the transceiver, the annotation work results including coordinates of an object in the image for each of the plurality of images and metadata for the image; and
    상기 프로세서가, 상기 메타데이터를 기반으로 상기 복수 개의 어노테이션 작업 결과물을 분류하여, 인공지능(AI) 학습용 데이터를 생성하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.A computer program recorded on a recording medium so that the processor executes the step of classifying the plurality of annotation work results based on the metadata and generating data for artificial intelligence (AI) learning.
PCT/KR2022/007663 2021-06-17 2022-05-30 Method for extracting data for artificial intelligence training based on big data, and computer program recorded on recording medium in order to execute same WO2022265262A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210078671A KR102310600B1 (en) 2021-06-17 2021-06-17 Method of extracting data for machine learning based on bigdata, and computer program recorded on record-medium for executing method thereof
KR10-2021-0078671 2021-06-17

Publications (1)

Publication Number Publication Date
WO2022265262A1 true WO2022265262A1 (en) 2022-12-22

Family

ID=78150823

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/007663 WO2022265262A1 (en) 2021-06-17 2022-05-30 Method for extracting data for artificial intelligence training based on big data, and computer program recorded on recording medium in order to execute same

Country Status (2)

Country Link
KR (1) KR102310600B1 (en)
WO (1) WO2022265262A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102310600B1 (en) * 2021-06-17 2021-10-13 주식회사 인피닉 Method of extracting data for machine learning based on bigdata, and computer program recorded on record-medium for executing method thereof
KR102592561B1 (en) * 2021-10-27 2023-10-23 (주) 경성테크놀러지 Data construction system for artificial intelligence learning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236761A1 (en) * 2003-05-23 2004-11-25 Hans-Joachim Both File system storage
KR20190088094A (en) * 2017-12-29 2019-07-26 주식회사 아임클라우드 Model learning system and method by automatic learning and data generation
KR20200042629A (en) * 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor
US20200152316A1 (en) * 2018-11-09 2020-05-14 Lunit Inc. Method for managing annotation job, apparatus and system supporting the same
US20200202171A1 (en) * 2017-05-14 2020-06-25 Digital Reasoning Systems, Inc. Systems and methods for rapidly building, managing, and sharing machine learning models
KR102310600B1 (en) * 2021-06-17 2021-10-13 주식회사 인피닉 Method of extracting data for machine learning based on bigdata, and computer program recorded on record-medium for executing method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236761A1 (en) * 2003-05-23 2004-11-25 Hans-Joachim Both File system storage
US20200202171A1 (en) * 2017-05-14 2020-06-25 Digital Reasoning Systems, Inc. Systems and methods for rapidly building, managing, and sharing machine learning models
KR20190088094A (en) * 2017-12-29 2019-07-26 주식회사 아임클라우드 Model learning system and method by automatic learning and data generation
KR20200042629A (en) * 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor
US20200152316A1 (en) * 2018-11-09 2020-05-14 Lunit Inc. Method for managing annotation job, apparatus and system supporting the same
KR102310600B1 (en) * 2021-06-17 2021-10-13 주식회사 인피닉 Method of extracting data for machine learning based on bigdata, and computer program recorded on record-medium for executing method thereof

Also Published As

Publication number Publication date
KR102310600B1 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
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
WO2023120831A1 (en) De-identification method and computer program recorded in recording medium for executing same
WO2020045848A1 (en) System and method for diagnosing disease using neural network performing segmentation
WO2010062063A2 (en) Method and system for preventing browser-based abuse
WO2020180084A1 (en) Method for completing coloring of target image, and device and computer program therefor
WO2020138745A1 (en) Image processing method, apparatus, electronic device and computer readable storage medium
WO2019093819A1 (en) Electronic device and operation method therefor
KR102310598B1 (en) Method of creating data for machine learning using metadata, and computer program recorded on record-medium for executing method thereof
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2021091022A1 (en) Machine learning system and operating method for machine learning system
WO2021153969A1 (en) Methods and systems for managing processing of neural network across heterogeneous processors
WO2015084034A1 (en) Method and apparatus for displaying images
WO2016129923A1 (en) Display device, display method and computer-readable recording medium
WO2020091207A1 (en) Method, apparatus, and computer program for completing painting of image, and method, apparatus, and computer program for training artificial neural network
WO2021010671A9 (en) Disease diagnosis system and method for performing segmentation by using neural network and unlocalized block
WO2019074316A1 (en) Convolutional artificial neural network-based recognition system in which registration, search, and reproduction of image and video are divided between and performed by mobile device and server
WO2021080175A1 (en) Content processing method
WO2016035979A1 (en) Method and system for controlling operation of image forming apparatus by using wearable device
WO2023282466A1 (en) Training data collection method using laser preview, and computer program recorded on recording medium to execute same
WO2020032560A2 (en) Diagnosis result generation system and method
WO2018191889A1 (en) Photo processing method and apparatus, and computer device
EP3803797A1 (en) Methods and systems for performing editing operations on media
WO2023054832A1 (en) Annotation method for easily designating object, and computer program recorded in recording medium in order to perform method
WO2023022321A1 (en) Distributed learning server and distributed learning method
WO2015174623A1 (en) Device and method for input process

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE