WO2023182713A1 - 인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템 - Google Patents

인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템 Download PDF

Info

Publication number
WO2023182713A1
WO2023182713A1 PCT/KR2023/003341 KR2023003341W WO2023182713A1 WO 2023182713 A1 WO2023182713 A1 WO 2023182713A1 KR 2023003341 W KR2023003341 W KR 2023003341W WO 2023182713 A1 WO2023182713 A1 WO 2023182713A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
text
model
objects
image
Prior art date
Application number
PCT/KR2023/003341
Other languages
English (en)
French (fr)
Inventor
최인묵
Original Assignee
(주)인포플라
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)인포플라 filed Critical (주)인포플라
Publication of WO2023182713A1 publication Critical patent/WO2023182713A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Definitions

  • the present invention relates to a method and system for generating an event in an object on a screen using an artificial function-based screen information recognition method. More specifically, the present invention relates to an event of an object on a display screen using an artificial intelligence-based screen content inference method. It relates to a method and system for generating.
  • RPA Robot Process Automation
  • Korean Patent Publication No. 10-2020-0127695 a prior art, allows the RPA to run a web browser on the PC screen to find information and deliver it back to the chatbot when work is delivered to the RPA through a chatbot.
  • the way RPA recognizes the web browser's search box or search button is to find the Class ID of the search box or search button that has been learned in advance from the sources of HTML and JAVASCRIPT, which are web script languages, and find out if it exists on the screen. If so, enter text such as a search term into the Class Id of the search box, and enter a mouse click event into the Class Id of the search button to operate the web browser.
  • the method and device for adjusting a screen according to an embodiment of the present invention to solve the above-described problem can perform object detection and text recognition of a UI screen on a display based on AI technology.
  • the AI-based method of recognizing screen information including text and non-text images and generating events in objects on the screen involves accessing a web-based IT operation management system platform on a PC and registering a schedule in the scheduler.
  • a schedule is registered in the scheduler, registration of the schedule is notified to the AI websocket of the web-based IT operation management system platform, and the AI screen of the PC at a specified time is sent from the AI websocket of the web-based IT operation management system platform.
  • the AI screen agent transmits the screen image of the PC, including text and non-text images, to the AI screen of the web-based IT operation management system platform, and text and requesting information data for inferring the position of an object on the screen from an AI screen that includes an AI model that learned the object position from a screen image including a non-text image, text and non-text images transmitted by the AI screen.
  • the AI model of the AI screen includes images of the entire screen and a UI image including text and non-text of the entire screen.
  • the result data is output by inferring the object position that will generate the object event on the entire screen, and the AI screen receives the data from the screen image including text and non-text images transmitted.
  • the step of inferring the location of objects on the screen through the learned AI model of the AI screen is to detect UI images containing text and non-text. It may include distinguishing a part containing text from a part other than text, and recognizing text from the part of the UI image containing text.
  • the AI model determines the portion containing text and the portion other than text among the UI images containing text and non-text.
  • it is learned to perform the function of an object detector that provides information about where in a screen (localization) and what type of object is (classification), and the object detector is a localization stage. ) and classification stage simultaneously. It may be a one stage detector.
  • the one-stage detector may be a Single Shot MultiBox Detector (SSD), or YOLO, or a Deconvolutional Single Shot Detector (DSSD).
  • SSD Single Shot MultiBox Detector
  • YOLO YOLO
  • DSSD Deconvolutional Single Shot Detector
  • inferring the location of objects on the screen through the learned AI model of the AI screen allows the AI model to utilize a C-RNN model to recognize text from the portion of the UI image containing the text. You can.
  • a method of recognizing screen information including text and non-text images based on AI in a PC including an AI screen agent and generating an event to an object on the screen is a method of generating an event in an object on the screen.
  • An AI screen that includes an AI model that learns the location of an object from a screen image containing text and non-text images, and the AI screen learns the location of an object on the screen through the learned AI model of the AI screen from the screen image.
  • the AI screen agent generating an event for an object on the screen of the PC based on the position of the object inferred from the AI screen within the AI screen agent, and the AI model of the AI screen includes images of the entire screen and Using the positions of objects labeled in UI images including text and non-text on the entire screen as learning data, the result data is output by inferring the object location that will generate the object event on the entire screen, and the AI screen is displayed on the screen.
  • AI Screen's learned AI model from images allows AI Screen's AI model to detect UI images containing text and non-text. It may include distinguishing between a portion of an image that includes text and a portion that is not text, and recognizing text from the portion of the UI image that includes text.
  • a method of recognizing screen information based on AI on a PC including an AI screen agent and generating an event on an object on the screen involves accessing a web-based IT operation management system platform on the PC and setting a schedule in the scheduler. Registering, when the schedule is registered in the scheduler, notifying the registration of the schedule in the AI web socket of the web-based IT operation management system platform, AI screen agent (AI screen agent) on the PC at a set time from the AI web socket of the web-based IT operation management system platform It may further include transmitting data notifying the start of the scheduler through communication with the AI web socket of the agent.
  • the object is a console window, a window window, a dialog box on a computer screen that can be selected, a link that can be selected, a button that can be selected, a cursor position that allows input of information, an ID input position, and a password. It can be one or more of the input location and search bar input location.
  • the object may be a password input unit.
  • the web-based IT operation management system platform may be installed on a cloud server.
  • a program programmed to perform a method of generating an event in an object on the screen by recognizing screen information including text and non-text images based on I using a computer is provided on a computer-readable recording medium. It can be saved in .
  • a system that recognizes screen information based on AI and generates events to objects on the screen includes a PC including an AI screen agent, and a server including a web-based IT operation management system platform; Including, the AI screen agent connects to the web-based IT operation management system platform and registers the schedule in the scheduler, and the server registers the schedule in the AI web socket of the web-based IT operation management system platform within the server when the schedule is registered in the scheduler. Notification, and data notifying the start of the scheduler is transmitted through communication from the AI websocket of the web-based IT operation management system platform to the AI websocket of the PC's AI screen agent at a set time, and the PC's AI screen agent sends data through the web.
  • An AI screen that transmits PC screen images containing text and non-text images to the AI screen of the underlying IT operation management system platform and includes an AI model that learns object locations from screen images containing text and non-text images.
  • Information data that infers the location of one or more objects on the screen is requested from the screen, and the AI screen infers the location of the object on the screen through the learned AI model of the AI screen from the screen image including the received text and non-text images.
  • Information data about the location of the inferred object is transmitted through communication to the AI web socket of the AI screen agent, and the AI screen agent generates an event for one or more objects on the PC screen based on the transmitted data.
  • the learned AI model uses the positions of objects labeled in the images of the entire screen and UI images including text and non-text of the entire screen as learning data, and infers the location of the object that will generate the object event in the entire screen. Outputs the resulting data, and AI Screen's AI model detects UI images containing text and non-text. Among UI images containing text and non-text, the part containing text and the part not containing text are used. It can perform segmentation and recognition of text from parts of a UI image that contain text.
  • a screen object control device that recognizes screen information based on AI within a computer and generates an event to an object on the screen includes an AI screen agent, and the AI screen agent displays text and non-text images. Data about the entire screen from the display device of the computer and positional data of objects displayed on the screen, including text and non-text images, in order to learn the positions of objects displayed on the computer screen and generate events on the objects.
  • a data collection unit that collects data
  • an artificial intelligence model learning unit that learns through a deep neural network based on the collected data
  • a screen object detection unit that detects objects in the screen based on the results learned in the artificial intelligence model learning unit
  • an object It includes a screen object control unit that generates an event to an object based on the object position on the entire screen detected and classified by the detection unit, and the AI model learned from the artificial intelligence model learning unit includes images of the entire screen, text and text of the entire screen.
  • the object position that will generate the object event on the entire screen is inferred and the result data is output, and the AI model uses text and non-text To detect a containing UI image, distinguish between text-containing parts and non-text parts of UI images containing text and non-text and recognize text from the part of the UI image containing text. can do.
  • the AI model uses a certain type of object (localization) within a screen to distinguish between text-containing parts and non-text parts among UI images containing text and non-text. Trained to perform the function of an object detector that provides information about classification, the AI model can utilize a C-RNN model to recognize text from parts of UI images that contain text. .
  • the present invention is a data learning unit that can learn and recognize various object data that may appear on the screen, such as screen-related data of various devices such as PCs, such as browsers, search boxes, and search buttons.
  • AI screen models can be created.
  • the scheduler operates on the server at a certain time, and can instruct the artificial intelligence agent running in the form of a program or app on the user terminal, laptop, or desktop computer to execute through TCP/IP socket communication such as Web Socket, and the artificial intelligence agent itself By sending a screen photo to an AI screen model located on a server or your PC, you can predict the desired object through the learned model.
  • the artificial intelligence agent By transmitting the predicted data value to the artificial intelligence agent through socket communication, it can be processed through input control such as text data input or mouse button click on the user's PC screen coordinates.
  • input control such as text data input or mouse button click on the user's PC screen coordinates.
  • screen recognition and screen coordinate input control By repeating screen recognition and screen coordinate input control, a person can control the user's PC Artificial intelligence can automatically perform tasks performed on screens such as.
  • Using the present invention it is possible to support all environments such as the web, Command Line, and RDP (Remote Desktop Protocol) by determining from the screen photo whether the expected object such as browser, image, or input window is on the screen, and determines the coordinates of the screen. Since you can directly input text data and click buttons using , input is possible in most environments. Therefore, most devices that use screens connected to the network, such as PCs, IoT, connected car terminals, and kiosks, can recognize the screen and perform input control.
  • environments such as the web, Command Line, and RDP (Remote Desktop Protocol)
  • the present invention has the advantage that screen recognition artificial intelligence technology can learn the objects of various programs on the screen. While RPA has limitations in the environments it supports (web, CLI, RDP, etc.) due to the characteristics of each product, screen recognition artificial intelligence technology can recognize all objects that appear on the screen. Additionally, in order for RPA to find objects such as input boxes or buttons in the browser, a reference value called an anchor is needed, but screen recognition artificial intelligence technology can directly recognize and access objects without an anchor.
  • Existing RPA primarily uses the web due to its nature of automating tasks on a PC, and mainly uses text search within HTML to quickly and better understand the web.
  • HTML changed
  • the screen recognition artificial intelligence technology of the present invention it may be possible to recognize objects on the screen without searching for secure HTML even if the HTML changes, such as secure HTML.
  • the screen object recognition technology using artificial intelligence of the present invention is operable because it recognizes screens provided by OSs regardless of operating systems such as web, Windows, Mac OS, and Linux.
  • RPA obtains object information on the screen using the API of specific RDP products, whereas screen recognition artificial intelligence technology can recognize objects on the screen without the need for the API of any RDP product.
  • a series of human actions can be automated through continuous recognition of screen objects and input of letters/buttons into screen coordinates.
  • FIG. 1 is an exemplary diagram of a screen object control system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of an AI screen agent according to an embodiment of the present invention.
  • Figure 3 is a flowchart of a screen object control process according to an embodiment of the present invention.
  • FIG. 4 is a flowchart for training an artificial intelligence screen learning model that infers the location of objects on the screen of FIG. 1.
  • Figure 5 is an example diagram showing the results of inferring the location of an object through an artificial intelligence model learned on a browser screen.
  • Figure 6 is an example diagram showing the results of inferring the location of an object through an artificial intelligence model learned on the PC desktop.
  • FIG. 7A is an example diagram showing a screen on which an artificial intelligence model for inferring the location of an object on the screen according to FIG. 4 will be trained.
  • FIG. 7B is an example of labeling objects on a screen to train an artificial intelligence model for inferring the location of objects on the screen according to FIG. 4.
  • FIG. 7C is an example of the result of actually recognizing an object after training an artificial intelligence model that infers the location of the object on the screen according to FIG. 4.
  • Figure 7d is an example diagram showing the process of learning by applying mask-RCNN from the screen to be learned in Figure 7a.
  • Figure 8 is an example diagram showing screen information including text and non-text images.
  • FIG. 9A is an example diagram showing screen information of a specific portal site including text, non-text images, and non-text images.
  • Figure 9b is an example diagram illustrating a case in which screen UI images are distinguished according to object detection according to an embodiment of the present invention.
  • FIG. 9C is an example diagram illustrating text images that cannot be distinguished from screen UI images by object detection alone, according to an embodiment of the present invention.
  • FIG. 10 is an exemplary diagram illustrating a process for recognizing a text image from a screen image including text and non-text images according to an embodiment of the present invention.
  • FIG. 11A is an example diagram illustrating a case in which misrecognition is reduced by recognizing a text image from a screen image including text and non-text images according to an embodiment of the present invention.
  • FIG. 11B is an example diagram illustrating a case where a text image can be recognized as error information from a screen image including text and non-text images according to an embodiment of the present invention.
  • FIG. 1 is an exemplary diagram of a screen object control system according to an embodiment of the present invention.
  • the screen object control system may be composed of a user PC 100 and a server.
  • the user PC 100 may include a user PC screen 120 and an AI screen agent 110 displayed on the display.
  • the AI screen agent (Agent) 110 may include an AI web socket (112).
  • the web-based IT operation management system platform 200 may include a homepage 210, an AI web socket 222, and an AI screen 230 of the web-based IT operation management system platform 200.
  • AI screen 230 may include a learned AI model 232.
  • the AI screen 230 may be included in the user PC 100.
  • 'object' refers to any object on the screen that can be activated with an input device such as a mouse or keyboard.
  • objects on the screen can be objects to be learned by an artificial intelligence model.
  • a program window that the user uses on the PC screen an input window in a chat window, a search window in a browser, various buttons such as a login button and a sign-up button, or specific characters such as a logo, ID, password, or company name. I may be a symbol.
  • 'control' of 'object' refers to all actions that generate an event of an object by activating a program window, entering input into a dialog window, entering a search bar in a browser window, entering an ID, entering a password, and entering a company name.
  • the server may be a cloud server or a general independent server.
  • ITOMS is Infopla Co., Ltd.'s web-based IT operation management system platform (200).
  • the user PC 100 may automatically or by clicking the user's scheduler button 212 access the server's web-based IT operation management system platform 200 and register a scheduler (S302).
  • the user PC 100 can connect to the server's web-based IT operation management system platform 200 and register a scheduler automatically or by clicking the user's scheduler button 212 (S202).
  • the registration of the scheduler can be notified to the AI web socket 222 of the web-based IT operation management system platform 200 (S304).
  • the scheduler communicates from the AI websocket 222 of the web-based IT operation management system platform 200 to the AI websocket 112 on the AI screen agent 110 of the user PC 100 at a set time. Data notifying the start of can be transmitted (S306).
  • the AI screen agent 110 transmits the image of the screen 120 of the user's PC to the AI screen 230 of the web-based IT operation management system platform 200 and displays the AI screen 230 including the learned AI model 232.
  • Information data deduced from the location of the object on the screen can be requested (S308).
  • the learned AI model may be an object location search model that uses images of the entire screen and the positions of objects labeled in the images of the entire screen as learning data to infer the location of an object that generates an object event on the entire screen. .
  • collecting learning data is necessary to build AI learning data.
  • This kind of learning data can be collected, for example, by collecting PC screen images, placing bounding boxes on key objects in an annotation tool, and performing labeling. For example, by putting a box in the Google search box on the Google search site web screen and labeling it as Google search box, you can collect data on the entire screen of the Google search site and label data for objects in the Google search box.
  • the location of the object on the screen can be inferred through the learned AI model 232 of the AI screen 230 (S310 and S312).
  • the web-based IT operation management system platform 200 can transmit information data about the location of the inferred object through communication to the AI web socket 112 of the AI screen agent 110 (S314).
  • an event for an object can be generated on the screen 120 of the user's PC through the AI screen agent 110 (S316).
  • the user PC 100 may include an AI screen 230.
  • the AI screen agent 110 displays the image of the screen 120 of the user PC to the AI screen 230 of the web-based IT operation management system platform 200.
  • the target is the user PC on the iToms AI screen 230 in the cloud server 200. It is changed to the iToms AI screen in (100), and the iToms AI screen of the AI screen agent 110 includes the data collection unit 131, artificial intelligence model learning unit 132, and object detection unit 133 in Figure 2 below. ) performs the same function as the iToms AI screen 230.
  • the method of recognizing screen information based on AI and generating an event on an object on the screen is to access the web-based IT operation management system platform from the user PC and enter the scheduler.
  • Registering a schedule When the schedule is registered in the scheduler, notifying the registration of the schedule in the AI web socket of the web-based IT operation management system platform; Transmitting data notifying the start of the scheduler through communication from the AI websocket of the web-based IT operation management system platform to the AI websocket of the AI screen agent on the user's PC at a set time;
  • the AI screen agent requests information data for inferring the location of one or more objects on the screen from the AI screen including an AI model that learns the location of the object from the screen image of the user's PC on the AI screen within the AI screen agent; A step where the AI screen infers the location of one or more objects on the screen from the screen image through the learned AI model of the AI screen; And a step of the AI screen agent
  • the AI model of the AI screen may include the entire By using the images on the screen and the positions of objects labeled in one or more images of the entire screen as learning data, the object position that will generate the event of one or more objects on the entire screen can be inferred and the resulting data can be output.
  • FIG. 2 is a block diagram of an AI screen agent according to an embodiment of the present invention.
  • the screen object control system can be built as a screen object control device within the user's PC (100) without the web-based IT operation management system platform (200).
  • the screen object control device includes a scheduler register (not shown) and an AI screen agent 110, and the AI screen agent 110 may include a function to learn the location of the object displayed on the screen and generate an event to the object. there is.
  • the AI screen agent 110 has a data collection unit 131 that collects data about the entire screen from the display device, and an artificial intelligence model that learns through a deep neural network based on the collected data. It may include a unit 132 and a screen object detection unit 133.
  • the AI screen agent 110 includes a screen object control unit 134, a memory 102 that stores various data such as video screen-related data and learning data, a communication unit 103 that communicates with a server or external device, and an input/output adjustment unit ( 104) may be included.
  • the scheduler register that registers the schedule notifies the AI screen agent 110 of the registration of the scheduler and notifies the start of the scheduler on the user PC 100 at a set time.
  • the data collection unit 131 of the AI screen agent 110 can collect data related to the entire screen on the PC screen 120 on the display.
  • the object detection unit 133 can detect the positions of objects on the entire screen for data collected through a learned artificial intelligence learning model.
  • the artificial intelligence model learning unit 132 uses images of the PC screen and specific positions of objects labeled in the images of the PC screen as learning data (or learning data set), and learns to infer the position of the object on the entire screen. I order it.
  • the artificial intelligence model learning unit 132 may include a processor specialized for parallel processing, such as an NPU.
  • the artificial intelligence model learning unit 132 stores learning data in the memory 102 to learn the object location, and then the NPU collaborates with the memory 102 to learn the object location, and the AI learned in the object detection unit 133 After creating a model and collecting new learning data, you can continuously improve the artificial intelligence learning model by training it at a specific time or periodically.
  • the artificial intelligence model learning unit 132 functions until new learning data is collected in the data collection unit 131. You can stop. In this case, the data collection unit 131 and the collected artificial intelligence model learning unit 132 may stop functioning and directly transmit the screen image received from the user's PC screen to the object detection unit 133.
  • the new artificial intelligence model learning unit 132 creates an artificial intelligence model using supervised learning, but can learn one or more objects using unsupervised learning or reinforcement learning.
  • the object detection unit 133 can detect whether a desired object exists on the screen, the location of one object, and detect the locations of a plurality of objects through the artificial intelligence model learned in the artificial intelligence model learning unit 132.
  • the learned AI model uses the images of the entire screen and the positions of objects labeled in one or more images of the entire screen as learning data, and generates data as a result of inferring the object position that will generate an event of one or more objects in the entire screen. Print out.
  • the screen detection unit 133 may be configured to detect and classify the location of objects on the screen 120 of the user's PC through a learned artificial intelligence model transmitted from the server. .
  • the object control unit 134 may generate an event for an object based on the object location on the entire screen detected and classified by the object detection unit 133.
  • the object control unit 134 can control to automate a series of human actions through continuous recognition of screen objects and input of letters/buttons into screen coordinates.
  • the object control unit 134 may detect the search bar 401 on the browser as shown in FIG. 5 and generate an event to search for a desired search query.
  • the object control unit 134 detects the login 410 dialog box in several program windows on the PC desktop, as shown in FIG.
  • the AI screen agent 110 is included in a user terminal, laptop, or desktop computer in the form of a program or app, the AI screen agent 110 is connected to the communication unit of the user terminal, laptop, or desktop computer through the communication unit 103. (103) can be used to communicate with external devices such as servers.
  • the AI screen agent 110 connects to a web-based IT operation management system platform outside the user's PC, receives object location information data learned from the web-based IT operation management system platform, and provides information about objects on the screen. Events can be generated.
  • the web-based IT operation management system platform 200 uses the data collection unit 131 and the artificial intelligence unit. Including the model learning unit 132 and the object detection unit 133, AI screen model learning is performed, and the AI screen agent 110 is connected to the web-based IT operation management system platform 200 through the communication unit 103. Events for objects can be generated by transmitting the user's PC screen image and receiving object location information data.
  • Figure 3 is a flowchart of a screen object control process according to an embodiment of the present invention.
  • the web-based IT operation management system platform (200) is automatically activated or by clicking the user's scheduler button (212).
  • a scheduler can be registered by accessing the server's web-based IT operation management system platform (200) (S202).
  • the registration of the scheduler can be notified to the AI web socket (222) of the web-based IT operation management system platform (200).
  • the web-based IT operation management system platform 200 operates at a set time (S204), executes the designated scheduler function (S206), and connects the AI web socket (S200) of the web-based IT operation management system platform 200.
  • Data notifying the start of the scheduler can be transmitted through communication from 222) to the AI web socket 112 of the AI screen agent 110 of the user PC 100 at a set time.
  • the AI screen agent 110 transmits the image of the screen 120 of the user's PC to the AI screen 230 of the web-based IT operation management system platform 200 and displays the AI screen 230 including the learned AI model 232. You can request information data that infers the location of the object on the screen.
  • FIG. 4 is a flowchart for training an artificial intelligence screen learning model that infers the location of objects on the screen of FIG. 1.
  • artificial intelligence model learning to infer the location of an object on the screen begins and progresses on the AI screen agent 110 or AI screen 230 (S100).
  • Learning of an artificial intelligence model can be performed in any of the following forms: supervised learning, unsupervised learning, and reinforcement learning.
  • Artificial intelligence model learning is performed with data for artificial intelligence model training, including data related to the screen image on the user's PC screen 120 and data labeling the object location in the data (S110).
  • an AI screen learning model is created.
  • the data collection unit 131 of the AI screen agent 110 or AI screen 230 generates screen image data values and object positions labeled with respect to the screen image data values at regular intervals as artificial intelligence learning data and testing data. You can.
  • the ratio of training data and testing data may vary depending on the amount of data, and can generally be set at a ratio of 7:3. Learning data can be collected and stored for each object, and actual usage screens can be collected through the capture app. To collect and store such learning data, the server 200 can collect and store screen images.
  • Data for artificial intelligence model training can undergo data preprocessing and data augmentation processes to obtain accurate learning results.
  • artificial intelligence model learning uses screen image data values on the user's PC screen 120 displayed on the browser site as input data, and labels the positions of objects such as search windows and clickable icons. This can be done by constructing a learning data set using the data as output data.
  • Artificial intelligence models for example, artificial neural networks such as mask-RCNN or SSD, learn the positions of objects on the entire screen using learning data collected through supervised learning (S100).
  • a deep learning-based screen analyzer can be used, for example, by tuning an artificial intelligence learning model based on TensorFlow, an artificial intelligence language library used in artificial intelligence programming, or Keras' MobileNetV1/MobileNetV2. You can.
  • CNN Convolutional Neural Network
  • CNN is the most representative deep neural network method, and characterizes images from small features to complex features.
  • CNN is an artificial neural network that consists of one or several convolutional layers and general artificial neural network layers placed on top of them, and has a structure that performs preprocessing in the convolutional layer. For example, to learn images of human faces through CNN, first, a convolutional layer is created by extracting simple features using a filter, and then a new layer is created to extract more complex features from these features, e.g. For example, add a polling layer.
  • the revolution layer is a layer that extracts features through convolution operations and performs multiplication with a regular pattern.
  • the advantage of CNN is that it creates a filter that characterizes the features of the image through artificial neural network learning.
  • Object detection is a subfield of computer vision that detects specific, meaningful objects within digital images and videos. This object detection can be used to solve problems in various fields such as Image retrieval, Image annotation, Face detection, and Video Tracking.
  • object detection provides information about where (localization) and what type of object (classification) the objects are classified as objects within a screen (or image).
  • Object detection consists of two parts. The first is localization, which finds the location where the object itself exists, and the second is classification, which checks what object exists in that local area.
  • deep learning networks for object detection are divided into 2-Stage Detector and 1-Stage Detector. Simply put, if localization and classification are performed separately, it is a 2-Stage Detector, and if they are performed simultaneously, it is a 1-Stage Detector. In 2-Stage, first select the area where you think there will be an object and classify each area. In 1-Stage, this process takes place simultaneously, so it has the advantage of being faster.
  • R-CNN is a 2-Stage Detector series algorithm that adds Region Proposal to CNN to suggest where objects are likely to be and perform object detection in that region.
  • R-CNN series models There are four types of R-CNN series models: R-CNN, Fast R-CNN, Faster R-CNN, and Mask R-CNN.
  • R-CNN, Fast R-CNN, and Faster R-CNN are all models for object detection.
  • Mask R-CNN is a model that extends Faster R-CNN and is applied to Instance Segmentation.
  • Mask R-CNN is Faster R-CNN by adding a CNN that masks whether each pixel is an object or not.
  • Mask R-CNN is known to perform better than previous models in all tasks of COCO challenges.
  • Figure 7d illustrates the process of learning by applying mask-RCNN from the screen to be learned in Figure 7a.
  • SSD Single Shot MultiBox Detector
  • YOLO YOLO
  • DSSD Deconvolutional Single Shot Detector
  • the 1-Stage Detector series algorithm has the advantage of fast execution speed because it executes the area where an object is likely to be present and the object detection simultaneously without dividing it, so in the embodiments of the present invention, the 1-stage detector is used depending on the application target. A detector or two-stage detector can be used.
  • YOLO is the first real-time object detector that solves the slow drawback of 2-Stage object detection models.
  • a feature map can be extracted through convolution layers, and the bounding box and class probability can be predicted directly through a fully connected layer.
  • the input image can be divided into an SxS grid and the bounding box, confidence, and class probability map corresponding to each grid area can be obtained.
  • YOLO the image is divided into a grid and the bounding box for each region is predicted, while SSD can be predicted using the CNN pyramidal feature hierarchy.
  • image features can be extracted from layers at various locations and detectors and classifiers can be applied. SSD showed higher performance than YOLO in terms of learning speed, recognition speed, and accuracy.
  • Mask RCNN has relatively high classification and location accuracy, but the learning speed and object The recognition speed is relatively slow, YOLO has relatively low classification and location accuracy, but the learning speed and object recognition speed are fast, and SSD has relatively fast classification and location accuracy, and the learning speed and object recognition speed are also fast.
  • DSSD added deconvolution operation to improve performance and add context features to the existing SSD (Single Shot MultiBox Detecotr).
  • VGG network used in the front part of the SSD was replaced with Resnet-based Residual-101, and when testing on the network, the test time was reduced by 1.2 ⁇ 1.2 by eliminating the batch normalization process. Reduced by 1.5 times.
  • An artificial intelligence model is created through evaluation of the learned artificial intelligence model. Evaluation of the learned artificial intelligence model is performed using test data. Throughout the present invention, 'learned artificial intelligence model' means learning the training data and determining the learned model after testing it with test data, even if there is no special mention.
  • Artificial neural network is an information processing system that models the operating principles of biological neurons and the connection relationships between neurons. It is an information processing system in which multiple neurons, called nodes or processing elements, are connected in the form of a layer structure.
  • Artificial neural network is a model used in machine learning. It is a statistical learning algorithm inspired by biological neural networks (especially the brain in the central nervous system of animals) in machine learning and cognitive science.
  • an artificial neural network can refer to an overall model in which artificial neurons (nodes), which form a network through the combination of synapses, change the strength of the synapse connection through learning and have problem-solving capabilities.
  • artificial neural network may be used interchangeably with the term neural network.
  • An artificial neural network may include multiple layers, and each layer may include multiple neurons. Additionally, artificial neural networks may include synapses that connect neurons.
  • Artificial neural networks generally use the following three factors: (1) connection patterns between neurons in different layers, (2) learning process to update connection weights, and (3) output values from the weighted sum of inputs received from the previous layer. It can be defined by the activation function it creates.
  • Artificial neural networks include DNN (Deep Neural Network), RNN (Recurrent Neural Network), BRDNN (Bidirectional Recurrent Deep Neural Network), MLP (Multilayer Perceptron), CNN (Convolutional Neural Network), C-RNN, R-CNN, Fast R - May include network models such as CNN, Faster R-CNN, and Mask-RCNN, but are not limited to these.
  • 'layer' may be used interchangeably with the term 'layer'.
  • Artificial neural networks are divided into single-layer neural networks and multi-layer neural networks depending on the number of layers.
  • a typical single-layer neural network consists of an input layer and an output layer.
  • a typical multi-layer neural network consists of an input layer, one or more hidden layers, and an output layer.
  • the input layer is a layer that receives external data.
  • the number of neurons in the input layer is the same as the number of input variables.
  • the hidden layer is located between the input layer and the output layer and receives signals from the input layer, extracts the characteristics, and passes them to the output layer. do.
  • the output layer receives a signal from the hidden layer and outputs an output value based on the received signal.
  • the input signal between neurons is multiplied by each connection strength (weight) and then summed. If this sum is greater than the neuron's threshold, the neuron is activated and outputs the output value received through the activation function.
  • a deep neural network that includes multiple hidden layers between the input layer and the output layer may be a representative artificial neural network that implements deep learning, a type of machine learning technology.
  • the term 'deep learning' can be used interchangeably with the term 'deep learning'.
  • An artificial neural network can be trained using training data.
  • learning refers to the process of determining the parameters of an artificial neural network using learning data to achieve the purpose of classifying, regression, or clustering input data. You can.
  • Representative examples of artificial neural network parameters include weights assigned to synapses and biases applied to neurons.
  • An artificial neural network learned from training data can classify or cluster input data according to patterns in the input data.
  • an artificial neural network learned using training data may be referred to as a trained model in this specification.
  • Learning methods of artificial neural networks can be broadly classified into supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.
  • Supervised learning is a method of machine learning to infer a function from training data.
  • outputting continuous values can be called regression, and inferring and outputting the class of the input vector can be called classification.
  • an artificial neural network is trained given labels for training data.
  • the label may mean the correct answer (or result value) that the artificial neural network must infer when training data is input to the artificial neural network.
  • the correct answer (or result value) that the artificial neural network must infer is called a label or labeling data.
  • labeling training data setting labels on training data for learning an artificial neural network is referred to as labeling training data.
  • the training data and the labels corresponding to the training data constitute one training set, and can be input to the artificial neural network in the form of a training set.
  • training data represents a plurality of features
  • labeling the training data may mean that the features represented by the training data are labeled.
  • the training data may represent the characteristics of the input object in vector form.
  • An artificial neural network can use training data and labeling data to infer a function for the correlation between training data and labeling data. And, the parameters of the artificial neural network can be determined (adjusted) through evaluation of the function inferred from the artificial neural network.
  • the structure of an artificial neural network is specified by the model composition, activation function, loss function or cost function, learning algorithm, adjustment algorithm, etc., and hyperparameters are set in advance before learning. It is set, and later, through learning, model parameters are set and the content can be specified.
  • elements that determine the structure of an artificial neural network may include the number of hidden layers, the number of hidden nodes included in each hidden layer, an input feature vector, and a target feature vector.
  • Hyperparameters include several parameters that must be initially set for learning, such as the initial values of model parameters. And, model parameters include several parameters to be determined through learning.
  • hyperparameters may include initial weight values between nodes, initial bias values between nodes, mini-batch size, number of learning repetitions, learning rate, etc.
  • model parameters may include inter-node weights, inter-node bias, etc.
  • the loss function can be used as an indicator (standard) to determine optimal model parameters in the learning process of an artificial neural network.
  • learning refers to the process of manipulating model parameters to reduce the loss function, and the purpose of learning can be seen as determining model parameters that minimize the loss function.
  • the loss function may mainly use Mean Squared Error (MSE) or Cross Entropy Error (CEE), but the present invention is not limited thereto.
  • MSE Mean Squared Error
  • CEE Cross Entropy Error
  • Cross-entropy error can be used when the correct answer label is one-hot encoded.
  • One-hot encoding is an encoding method in which the correct answer label value is set to 1 only for neurons that correspond to the correct answer, and the correct answer label value is set to 0 for neurons that are not the correct answer.
  • a learning adjustment algorithm can be used to minimize the loss function.
  • the learning adjustment algorithm includes Gradient Descent (GD), Stochastic Gradient Descent (SGD), and Momentum. ), NAG (Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam, etc.
  • Gradient descent is a technique that adjusts model parameters in the direction of reducing the loss function value by considering the slope of the loss function in the current state.
  • the direction in which model parameters are adjusted is called the step direction, and the size of the adjustment is called the step size.
  • the step size may mean the learning rate.
  • the gradient descent method obtains the gradient by performing partial differentiation of the loss function with each model parameter, and can update the model parameters by changing the obtained gradient direction by the learning rate.
  • Stochastic gradient descent is a technique that increases the frequency of gradient descent by dividing the learning data into mini-batches and performing gradient descent on each mini-batch.
  • Adagrad, AdaDelta, and RMSProp are techniques to improve adjustment accuracy by adjusting the step size in SGD.
  • momentum and NAG are techniques to increase adjustment accuracy by adjusting the step direction.
  • Adam is a technique that improves adjustment accuracy by combining momentum and RMSProp to adjust the step size and step direction.
  • Nadam is a technique that improves adjustment accuracy by combining NAG and RMSProp to adjust the step size and step direction.
  • the learning speed and accuracy of artificial neural networks are largely dependent on hyperparameters as well as the structure of the artificial neural network and the type of learning adjustment algorithm. Therefore, in order to obtain a good learning model, it is important to not only determine the appropriate artificial neural network structure and learning algorithm, but also set appropriate hyperparameters.
  • hyperparameters are experimentally set to various values to train an artificial neural network, and are set to optimal values that provide stable learning speed and accuracy as a result of the learning.
  • Figure 5 is an example diagram showing the results of inferring the location of an object through an artificial intelligence model learned on the browser screen.
  • the location 401 of the browser's search bar is specified as a learning result of the AI screen learning model in FIG. 4.
  • the data of the object to be clicked and the data that specifies the location of the objects are learned.
  • the locations of the icons can be specified using the learning results of the trained AI screen learning model.
  • Figure 6 is an example diagram showing the results of inferring the location of an object through an artificial intelligence model learned on the PC desktop.
  • the location of the desired search bar 401 and objects such as login 410, company name 420, ID 430, and password 440 can be specified.
  • FIG. 7A is an example diagram showing a screen on which an artificial intelligence model for inferring the location of an object on the screen according to FIG. 4 will be trained.
  • the user's PC screen becomes the screen image 400 to be learned.
  • the AI screen agent 110 transmits the screen image 400 of the user PC to the AI screen 230 of the web-based IT operation management system platform 200 and displays the AI screen 230 including the learned AI model 232.
  • Information data deduced from the location of the object on the screen can be requested (S308).
  • FIG. 7B is an example of labeling objects on a screen to train an artificial intelligence model for inferring the location of objects on the screen according to FIG. 4.
  • the data processing unit 234 receives the screen image 400 from the user PC and performs labeling of the objects such as login 410, company name 420, ID 430, and password 440.
  • a data set in which screen image 400 data and the positions of each object with respect to the screen image 400 are labeled may be provided from another database.
  • FIG. 7C is an example of the result of actually recognizing an object after training an artificial intelligence model that infers the location of the object on the screen according to FIG. 4.
  • the AI screen 230 transmits the location of the object through the learned AI screen learning model.
  • Figure 7d is an example diagram showing the process of learning by applying mask-RCNN from the screen to be learned in Figure 7a.
  • Objects are detected by executing the existing Faster RCNN process in the screen image 400 of Figure 7d.
  • RoI pooling was a model for object detection, so containing accurate location information is not important. Therefore, if RoI has decimal coordinates, the coordinates are moved by rounding and then pooling is performed. did.
  • location information is important because if the decimal point is rounded, the location information is distorted. Therefore, RoI align, which contains location information using bilinear interpolation, is used.
  • a feature map is extracted using conv with RoI align, RoI is extracted from the feature map, classified by class, and masking is performed in parallel to detect objects.
  • FIG. 8 is an example diagram illustrating screen information including text and a non-text image 810, a non-text image 820, and a text image 830. 1 to 7D, it is possible to click on an event through screen UI recognition by recognizing a non-text image 820, but the text image 830 included in the UI image is possible. In this case, the content of the text image 830 could not be recognized, and there was a limitation in recognizing similar text with different text content as the same text image. In this case, only half of the screen recognition function was provided, so improvement was needed. This problem can be solved by constructing an artificial intelligence model for complex recognition of shape images and text in order to recognize UI images 810 (also referred to as “text and non-text images”) including text and non-text. .
  • FIG. 9A is an example diagram showing screen information of a specific portal site including a non-text image 820 and a text image 830.
  • the screen UI may be trained in advance through object detection, so that only registered classes (Naver hat icon, search magnifying glass, etc.) can be recognized.
  • the Naver hat icon and search magnifying glass are examples of non-text images 820
  • banner advertisements, portal login windows, and menu buttons containing text are examples of text images 830.
  • the text in the banner advertisement and the test in the menu cannot be learned in advance through object detection.
  • Figure 9b is an example diagram illustrating a case in which screen UI images are distinguished according to object detection according to an embodiment of the present invention.
  • a UI image is composed of a non-text image (hat image) and a text image (“NAVER” text)
  • the screen UI recognition model using existing object detection uses a non-text image (820) and a text image (830). It is possible to separate into two different images.
  • a screen UI recognition model using existing object detection can recognize a text image (NAVER image) as just a text box (text class) without knowing the content of the text.
  • FIG. 9C is an example diagram illustrating text images that cannot be distinguished from screen UI images by object detection alone, according to an embodiment of the present invention. If the text image 230 and a similar text image 840 are entered together, the screen UI recognition model cannot correctly distinguish between the two different images (NAVER, NAVEG). This is because in the object detection model, if the shape or form is similar, it is recognized as the same object. Therefore, in order to correctly recognize all objects on the screen, not only the screen UI but also the contents of the text image must be recognized.
  • FIG. 10 is an exemplary diagram illustrating a process for recognizing a text image from a screen image including text and non-text images according to an embodiment of the present invention.
  • a non-text UI and text image complex cognitive model When a non-text UI and text image complex cognitive model receives a screen image including a non-text UI and a text image, it largely: 1) uses object detection (SSD or YOLO or Mask R-CNN, etc.) to detect the non-text image Step (S2000) of distinguishing between the partial hat image and the remaining two text images, and 2) recognizing the text in each text image using a text recognition artificial intelligence model such as the C-RNN (Convolutional Recurrent Neural Network) model to determine the content (830) Image recognition can be performed in two steps: identifying -NAVER, 840-NAVEG) (S5000).
  • the text recognition artificial intelligence model is not limited to C-RNN, and other artificial intelligence models that recognize text may be used.
  • the flow of the non-text UI and text image complex recognition model which recognizes the non-text UI and text images complexly and generates an event on an object on the screen according to an embodiment of the present invention, is as follows.
  • the non-text UI and text image complex cognitive model receives one non-text and text image as input (S1000). If the non-text UI and text image composite recognition model receives only the non-text UI image 820, recognition will be possible from an object detector that recognizes the screen UI.
  • the non-text UI and text image complex recognition model can use object detection (SSD or YOLO or Mask R-CNN, etc.) to distinguish between the hat image in the non-text image part and the remaining two text images (S2000).
  • object detection SSD or YOLO or Mask R-CNN, etc.
  • the non-text UI and text image complex recognition model can complete recognition processing of the non-text UI image 820 using object detection (S3000).
  • Object detection of the non-text UI and text image complex cognitive model can output Rectangle coordinates and non-text screen UI class (Naver hat icon) to the non-text UI image.
  • the non-text UI and text image complex cognitive model recognizes and extracts the two text images (830 and 840) as text boxes and proceeds to the next step (S4000).
  • Object detection can output the rectangular coordinates of two text images (830 and 840) and a screen UI class (text box).
  • the non-text UI and text image complex recognition model uses the C-RNN (Convolutional Recurrent Neural Network) model to recognize text in each text image and identify the content (830-NAVER, 840-NAVEG) (S5000).
  • the C-RNN model can accurately recognize text in a text box.
  • C-RNN is a structure that first calculates the CNN and then divides each channel and inputs it to the RNN. It can be seen as a flow of extracting features through CNN and classifying them into RNN.
  • the non-text UI and text image complex cognitive model recognizes the text of text images and completes text image processing (S6000).
  • the AI model of the AI screen is the entire screen. Using the images and the positions of the objects labeled in the UI images including text and non-text of the entire screen as learning data, inferring the position of the object that will generate the event of the object in the entire screen outputs the result data; , In the step of inferring the location of the object on the screen through the learned AI model of the AI screen from the screen image containing the text and non-text images received by the AI screen, the AI model of the AI screen is based on the text and non-text images.
  • step 1 To detect a UI image containing text, distinguishing between text-containing parts and non-text parts among UI images containing text and non-text (step 1) and text from the part of the UI image containing text. It may include a step of recognizing (step 2).
  • the screen object detection unit that detects objects in the screen creates a UI including images of the entire screen and text and non-text of the entire screen through an AI model learned from the artificial intelligence model learning unit. Using the positions of objects labeled in images as learning data, the object position that will generate the object event on the entire screen is inferred and result data is output, and the AI model generates a UI image including the text and non-text. For detection, distinguishing between text-containing parts and non-text parts of UI images containing text and non-text and recognizing text from the text-containing parts of the UI image may be performed.
  • FIG. 11A is an example diagram illustrating a case in which misrecognition is reduced by recognizing a text image from a screen image including text and non-text images according to an embodiment of the present invention.
  • the non-text UI and text image composite cognitive model is a non-text part or text part that is recognizable even if the non-text part or part of the text part is unrecognizable due to an error in the UI that includes both the non-text UI and text image. You can recognize the correct UI from .
  • FIG. 11B is an example diagram illustrating a case where a text image can be recognized as error information from a screen image including text and non-text images according to an embodiment of the present invention.
  • the non-text UI and text image composite cognitive model is This allows error information to be recognized.
  • Embodiments according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded on a computer-readable medium.
  • the media includes magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROM.
  • RAM, flash memory, etc. may include hardware devices specifically configured to store and execute program instructions.
  • the computer program may be designed and configured specifically for the present invention, or may be known and available to those skilled in the art of computer software.
  • Examples of computer programs may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • AI screen agent 112 AI websocket
  • Object control unit 200 IT operation management system platform
  • AI web socket 230 IT operation management system
  • AI screen 232 AI screen learning model 234: Data processing unit
  • Text image 840 Similar text image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법은 PC에서 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러를 등록하는 것, 스케줄러가 등록되면 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄러의 등록을 알리는 것, 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하는 것, AI스크린 에이전트가 웹기반 IT운영관리시스템 플랫폼의 AI스크린으로 PC의 화면 이미지를 전송하고 기학습된 AI 모델을 포함하는 AI스크린으로부터 화면 상의 하나 이상의 오브젝트의 위치를 추론한 정보데이터를 요청하는 것, AI스크린이 전송받은 화면 이미지로부터 AI스크린의 기학습된 AI 모델을 통해 화면의 하나 이상의 오브젝트의 위치를 추론하는 것, 추론된 하나 이상의 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트의 AI웹소켓으로 통신을 통해 전송하는 것, 및 AI스크린 에이전트가 전송된 데이터를 토대로 PC의 화면에서 하나 이상의 오브젝트에 대한 이벤트를 발생시키는 것을 포함할 수 있다.

Description

인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
본 발명은 인공기능 기반 화면 정보 인지 방법을 이용하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템에 관한 것으로, 더욱 상세하게는 인공지능 기반의 화면의 내용 추론 방법을 이용하여 디스플레이 화면 상에서 오브젝트의 이벤트를 발생시키는 방법 및 시스템에 관한 것이다.
RPA(로봇 프로세스 자동화)는 이전에는 사람이 하던 반복적인 태스크를 소프트웨어 로봇이 대신하는 것이다.
선행기술인 한국특허공개공보 10-2020-0127695호는 챗봇을 통해 RPA에 업무가 전달되면 RPA가 PC화면에서 웹브라우저를 구동하여 정보를 찾아 이를 다시 챗봇에 전달할 수 있다. 이때 RPA가 웹브라우저의 검색창 또는 검색버튼 등을 인식하는 방법은 웹 스크립트 언어인 HTML 및 JAVASCRIPT의 소스에서 미리 학습되어 있는 해당 검색창 또는 검색버튼의 Class Id 등을 찾아서 화면에 존재하는지 찾고, 만약 있다면 해당 검색창 Class Id에 검색어 등의 텍스트를 입력하고, 검색버튼의 클래스 아이디(Class Id)에 마우스 클릭 이벤트를 입력하여 웹브라우저를 동작시킨다.
최근 보안 및 RPA 자동화에 대항하기 위해 HTML의 Class Id를 매번 바꾸는 방식으로 웹페이지를 구성하는 사례가 점점 늘어나고 있어, 이 경우 RPA가 학습된 Class Id를 찾을 수 없어 인식 및 입력이 불가능한 경우를 인공지능 학습 모델을 통해 해결하려는 연구가 진행되고 있다.
그런데 인공지능 학습 모델을 통해 화면 UI 인식을 통한 이벤트 클릭이 가능하더라도, 텍스트 이미지를 포함하는 이미지에서 텍스트를 인식하지 못하여 UI 인식의 어려움이 있었다.
화면상의 아이콘, 웹 브라우저, 검색버튼 등 화면 UI에 대해서 인식율을 높이기 위해 여러 연구가 진행되고 있는데, 개발되고 있는 화면 인식 방법에서는 화면상의 아이콘, 웹 브라우저, 검색버튼 등 비-텍스트의 화면 UI에 대해서는 인식이 가능하지만, 아이콘 텍스트, 어플리케이션 제목 텍스트 등 이미지 속의 텍스트에 대한 인식이 불가능하다는 단점이 있었다.
상술한 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 화면을 조정하는 방법 및 조정 장치는 AI 기술을 기반으로 디스플레이 상의 UI 화면의 오브젝트 탐지 및 텍스트 인식을 수행될 수 있다.
구체적으로, AI기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법은 PC에서 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하는 것, 스케줄러에 스케줄이 등록되면 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리는 것, 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하는 것, AI스크린 에이전트가 웹기반 IT운영관리시스템 플랫폼의 AI스크린으로 텍스트 및 비-텍스트 이미지를 포함하는 PC의 화면 이미지를 전송하고, 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린으로부터 화면 상의 오브젝트의 위치를 추론하는 정보데이터를 요청하는 것, AI스크린이 전송받은 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 것, 추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트의 AI웹소켓으로 통신을 통해 전송하는 것, 및 AI스크린 에이전트가 전송된 데이터를 토대로 PC의 화면에서 오브젝트에 대한 이벤트를 발생시키는 것을 포함하고, AI스크린의 AI 모델은 전체 화면의 이미지들 및 전체 화면의 텍스트 및 비-텍스트를 포함하는 UI 이미지들에 레이블링된 오브젝트들의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고, AI스크린이 전송받은 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 단계는 AI스크린의 AI 모델은 텍스트 및 비-텍스트를 포함하는 UI 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 단계 및 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하는 것을 포함할 수 있다.
본 발명의 다른 실시 예에서, AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 것에서, AI 모델은 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하기 위해 한 화면 내에 어느 위치에(localization) 어떤 종류의 오브젝트가 있는지(classification)에 대한 정보를 주는 오브젝트 탐지기(object detector)의 기능을 수행하도록 학습되고, 오브젝트 탐지기는 위치찾기(localization stage) 및 분류(classification stage)를 동시에 수행하는 1 스테이지 탐지기(one stage detector)일 수 있다.
본 발명의 다른 실시예에서, 1-스테이지 탐지기는 SSD(Single Shot MultiBox Detector), 또는 YOLO, 또는 DSSD(Deconvolutional Single Shot Detector)일 수 있다.
본 발명의 다른 실시예에서, AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 것은 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하기 위해, AI 모델이 C-RNN 모델을 활용할 수 있다.
본 발명의 다른 실시 예에서, AI스크린 에이전트를 포함하는 PC에서 AI기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법은 PC 내의 AI스크린 에이전트는 PC의 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린을 포함하고, AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 것, 및 AI스크린 에이전트가 AI스크린 에이전트 내의 AI스크린에서 추론한 오브젝트의 위치를 토대로 PC의 화면 상에서 오브젝트에 대한 이벤트를 발생시키는 것을 포함하고, AI스크린의 AI 모델은 전체 화면의 이미지들 및 전체 화면의 텍스트 및 비-텍스트를 포함하는 UI 이미지들에 레이블링된 오브젝트의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고, AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 것은 AI스크린의 AI 모델이 텍스트 및 비-텍스트를 포함하는 UI 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 단계 및 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하는 것을 포함할 수 있다.
본 발명의 다른 실시예에서, AI스크린 에이전트를 포함하는 PC에서 AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법은 PC에서 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하는 것, 스케줄러에 스케줄이 등록되면 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리는 것, 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하는 것을 더 포함할 수 있다.
본 발명의 다른 실시예에서, 오브젝트는 선택될 수 있는 컴퓨터 화면 상의 콘솔창, 윈도우창, 대화창, 선택될 수 있는 링크, 선택될 수 있는 버튼, 정보의 입력이 가능한 커서위치, 아이디 입력위치, 패스워드 입력위치, 검색바 입력위치 중 하나 이상일 수 있다.
본 발명의 다른 실시 예에서, 오브젝트는 패스워드 입력부일 수 있다.
본 발명의 다른 실시 예에서, 웹기반 IT운영관리시스템 플랫폼은 클라우드 서버에 설치될 수 있다.
본 발명의 다른 실시 예에서, 컴퓨터를 이용하여 I기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법을 수행하도록 프로그래밍된 프로그램이 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 다른 실시 예에서, AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 시스템은 시스템은 AI스크린 에이전트를 포함하는 PC, 및 웹기반 IT운영관리시스템 플랫폼을 포함하는 서버;를 포함하고, AI스크린 에이전트는 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하고, 서버는 스케줄러에 스케줄이 등록되면 서버 내의 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리고, 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하고, PC의 AI스크린 에이전트는 웹기반 IT운영관리시스템 플랫폼의 AI스크린으로 텍스트 및 비-텍스트 이미지를 포함하는 PC의 화면 이미지를 전송하고 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린으로부터 화면 상의 하나 이상의 오브젝트의 위치를 추론한 정보데이터를 요청하며, AI 스크린은 전송받은 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하며, 추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트의 AI웹소켓으로 통신을 통해 전송하고, 그리고 AI스크린 에이전트는 전송된 데이터를 토대로 PC의 화면에서 하나 이상의 오브젝트에 대한 이벤트를 발생시키고, 학습된 AI 모델은 전체 화면의 이미지들 및 전체 화면의 텍스트 및 비-텍스트를 포함하는 UI 이미지들에 레이블링된 오브젝트들의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고, AI스크린의 AI 모델은 텍스트 및 비-텍스트를 포함하는 UI 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 것 및 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하는 것을 수행할 수 있다.
본 발명의 다른 실시 예에서, 컴퓨터 내에서 AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 화면 오브젝트 제어 장치는 AI스크린 에이전트를 포함하고, AI스크린 에이전트는 텍스트 및 비-텍스트 이미지를 포함하는 컴퓨터 화면 상에 표시된 오브젝트의 위치를 학습시키고 오브젝트에 이벤트를 발생시키기 위해, 컴퓨터의 디스플레이 장치로부터 전체 화면에 관한 데이터 및 텍스트 및 비-텍스트 이미지를 포함하는 화면 상에 표시된 오브젝트의 위치 데이터를 수집하는 데이터 수집부, 수집된 데이터를 기초로 심층신경망을 통해 학습시키는 인공지능 모델 학습부, 인공지능 모델 학습부에서 학습된 결과를 기초로, 화면 내 오브젝트를 탐지하는 화면 오브젝트 탐지부, 및 오브젝트 탐지부에서 탐지하고 분류한 전체 화면 상의 오브젝트 위치를 기초로 오브젝트에 이벤트를 발생시키는 화면 오브젝트 제어부를 포함하고, 인공지능 모델 학습부로부터 학습된 AI 모델은 전체 화면의 이미지들 및 전체 화면의 텍스트 및 비-텍스트를 포함하는 UI 이미지들에 레이블링된 오브젝트의 위치들을 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트위치를 추론한 결과 데이터를 출력하고, AI 모델은 텍스트 및 비-텍스트를 포함하는 UI 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 것 및 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하는 것을 수행할 수 있다.
본 발명의 다른 실시 예에서, AI 모델은 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하기 위해, 한 화면 내에 어느 위치에(localization) 어떤 종류의 오브젝트가 있는지(classification)에 대한 정보를 주는 오브젝트 탐지기(object detector)의 기능을 수행하도록 학습되고, AI 모델은 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하기 위해, C-RNN 모델을 활용할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 방법을 실행하기 위한 컴퓨터 프로그램이 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명은 기존의 RPA 문제점을 해결하기 위해, 데이터 학습부에서는 PC 등 다양한 디바이스의 화면 관련 데이터 즉, 브라우저, 검색창, 검색버튼 등 화면상에 나타날 수 있는 다양한 오브젝트 데이터를 학습하여 인식할 수 있는 AI 스크린 모델을 생성할 수 있다.
서버에서 스케쥴러가 일정시간에 동작하여, 사용자 단말, 노트북, 데스크탑 컴퓨터에 프로그램 또는 앱 형태로 실행되는 인공지능 에이전트에 웹소켓 등의 TCP/IP 소켓통신으로 실행을 지시할 수 있고, 인공지능 에이전트 자신의 화면 사진을 서버 또는 자신의 PC에 위치한 AI 스크린 모델에 전송하여, 학습된 모델을 통하여 원하는 오브젝트를 예측할 수 있다.
예측된 데이터값을 인공지능 에이전트에 소켓통신으로 전송하여 사용자 PC 화면 좌표상에서 텍스트데이터 입력 또는 마우스 버튼 클릭 등을 입력제어하여 처리할 수 있고, 화면인식과 화면좌표 입력제어를 반복하여 사람이 사용자 PC 등의 화면에서 수행하는 작업을 인공지능이 자동으로 수행할 수 있다.
본 발명을 이용하면, 기대하는 브라우저, 이미지, 입력창 등의 오브젝트가 화면에 있는지 화면사진에서 판단함으로써, 웹, Command Line, RDP(Remote Desktop Protocol) 등의 환경을 모두 지원할 수 있으며, 화면의 좌표를 이용하여 직접 텍스트 데이터 입력, 버튼 클릭 등이 가능하므로 대부분의 환경에서 입력이 가능하다. 따라서 PC, IoT, Connected Car 단말기, 키오스크 등 네트워크에 연결된 화면을 이용하는 대부분의 장비에서 화면을 인식하고, 입력제어할 수 있다.
본 발명은 화면인지 인공지능기술이 화면속의 다양한 프로그램의 오브젝트를 학습시킬 수 있는 장점이 있다. RPA가 제품별 특징에 의해 지원하는 환경(웹, CLI, RDP 등)에 제약이 있는데 반하여 화면인지 인공지능기술은 화면에 나타나는 모든 오브젝트를 인지가능하다. 또한, RPA가 브라우저안의 인풋박스나 버튼 등의 오브젝트를 찾기 위해서는 앵커라고 불리우는 기준값이 필요하나, 화면인지 인공지능기술은 앵커없이 오브젝트를 직접 인식하여 접근할 수 있다.
기존 RPA는 PC에서 업무자동화라는 특성상 웹을 주로 사용하게 되고, 웹을 빠르고 더 잘 이해하기 위해 html내에서 텍스트 검색을 주로 한다. 그러나, 보안 html처럼 html이 바뀌면 기존 RPA는 작동하는 문제점이 있었다. 본 발명의 화면인지 인공지능기술을 사용하면 보안 html처럼 html이 바뀌더라도 보안 html을 검색하지 않고 화면에서 오브젝트 인식이 가능할 수 있다. 또한, 웹, 윈도우, Mac OS, 리눅스와 같이 운영체계에 상관없이 OS들이 제공하는 화면을 보고 인식하므로, 본 발명의 인공지능을 이용한 화면 오브젝트 인식 기술은 작동 가능하다.
또한, RDP의 경우 RPA는 특정 RDP 제품들의 API를 이용하여 화면속의 오브젝트 정보를 얻는데 비하여, 화면인지 인공지능기술은 어떠한 RDP 제품들의 API 필요없이 화면속의 오브젝트 인식할 수 있다.
본 발명을 이용하면 화면 오브젝트의 연속적인 인식 및 화면좌표에 글자/버튼 입력을 통해 사람이 작업하는 일련의 행위를 자동화할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 화면 오브젝트 제어 시스템의 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 AI스크린 에이전트의 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 화면 오브젝트 제어 과정의 흐름도이다.
도 4는 도 1의 화면의 오브젝트의 위치를 추론하는 인공지능 스크린 학습 모델을 학습시키기 위한 흐름도이다.
도 5는 브라우저 화면에서 학습된 인공지능 모델을 통해 오브젝트의 위치를 추론한 결과를 도시한 예시도이다.
도 6은 PC 바탕화면에서 학습된 인공지능 모델을 통해 오브젝트의 위치를 추론한 결과를 도시한 예시도이다.
도 7a는 도 4에 따른 화면의 오브젝트의 위치를 추론하는 인공지능 모델을 학습시킬 화면을 도시한 예시도이다.
도 7b는 도 4에 따른 화면의 오브젝트의 위치를 추론하는 인공지능 모델을 학습시킬 화면에서 오브젝트에 라벨링을 한 예시도이다.
도 7c는 도 4에 따른 화면의 오브젝트의 위치를 추론하는 인공지능 모델을 학습시킨 후 오브젝트를 실제 인식한 결과의 예시도이다.
도 7d는 도 7a의 학습시킬 화면으로부터 마스크-RCNN을 적용하여 학습시키는 과정을 도시한 예시도이다.
도 8은 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 도시한 예시도이다.
도 9a는 텍스트 및 비-텍스트 이미지 및 비-텍스트 이미지를 포함하는 특정 포털 사이트의 화면 정보를 도시한 예시도이다.
도 9b는 본 발명의 일 실시예에 따라 화면 UI 이미지들을 오브젝트 탐지에 따라 구별하는 경우를 도시한 예시도이다.
도 9c는 본 발명의 일 실시예에 따라 화면 UI 이미지들을 오브젝트 탐지만으로 UI 이미지를 구별하지 못하는 텍스트 이미지들을을 도시한 예시도이다.
도 10은 본 발명의 일 실시예에 따라 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 텍스트 이미지를 인식하는 과정을 도시한 예시도이다.
도 11a는 본 발명의 일 실시예에 따라 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 텍스트 이미지를 인식하여 오인식이 줄어드는 경우를 도시한 예시도이다.
도 11b는 본 발명의 일 실시예에 따라 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 텍스트 이미지를 인식하여 에러정보로 인식 가능한 경우를 도시한 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 화면 오브젝트 제어 시스템의 예시도이다.
화면 오브젝트 제어 시스템은 사용자 PC(100) 및 서버로 구성될 수 있다.
사용자 PC(100)는 디스플레이에 표시되는 사용자 PC 화면(120) 및 AI스크린 에이전트(Agent)(110)를 포함할 수 있다. AI스크린 에이전트(Agent)(110)는 AI웹소켓(112)를 포함할 수 있다.
웹기반 IT운영관리시스템 플랫폼(200)은 웹기반 IT운영관리시스템 플랫폼(200)의 홈페이지(210), AI웹소켓(222), AI스크린(230)을 포함할 수 있다. AI스크린(230)은 학습된 AI 모델(232)을 포함할 수 있다.
본 발명의 다른 실시예에서, 사용자 PC(100)의 컴퓨팅파워가 충분한 경우 AI스크린(230)은 사용자 PC(100)에 포함될 수 있다.
본 발명에서 '오브젝트'는 화면에서 마우스나, 키보드 등의 입력 장치로 활성하시킬 수 있는 화면상의 모든 대상을 의미한다. 이러한 화면상의 오브젝트는 인공지능 모델로 학습시킬 대상이 될 수 있다. 예를 들어, 사용자가 PC 화면상에서 사용하는 프로그램 창, 대화창의 입력창, 브라우저의 검색창 창이거나, 로그인버튼 및 가입버튼 등의 각종 버튼이거나, 또는 로고, 아이디, 패스워드, 회사명 등의 특정 문자나 기호일 수 있다. 본 발명에서 '오브젝트'의 '제어'이라고 하면 프로그램 창의 활성화, 대화창에 입력 사항 입력, 브라우저 창의 검색바 입력, 아이디 입력, 패스워드 입력, 회사명 입력하여 오브젝트의 이벤트를 발생시키는 모든 행위들을 가리킨다.
서버는 클라우드 서버일 수 있으며, 일반적인 독립 서버일 수 있다. 아이톰즈(ITOMS)는 (주)인포플라의 웹기반 IT운영관리시스템 플랫폼(200)이다.
사용자 PC(100)는 자동으로 또는 사용자의 스케줄러 버튼(212)의 클릭으로 서버의 웹기반 IT운영관리시스템 플랫폼(200)에 접속하여 스케줄러를 등록할 수 있다(S302).
사용자 PC(100)는 자동으로 또는 사용자의 스케줄러 버튼(212)의 클릭으로 서버의 웹기반 IT운영관리시스템 플랫폼(200)에 접속하여 스케줄러를 등록할 수 있다(S202).
스케줄러가 등록되면 웹기반 IT운영관리시스템 플랫폼(200)의 AI웹소켓(222)에 스케줄러의 등록을 알릴 수 있다(S304).
상기 웹기반 IT운영관리시스템 플랫폼(200)의 AI웹소켓(222)으로부터 정해진 시간에 사용자 PC(100)의 AI스크린 에이전트(Agent)(110)에 있는 AI웹소켓(112)으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송할 수 있다(S306).
AI스크린 에이전트(110)는 웹기반 IT운영관리시스템 플랫폼(200)의 AI스크린(230)으로 사용자 PC의 화면(120) 이미지를 전송하고 학습된 AI 모델(232)을 포함하는 AI스크린(230)으로부터 화면 상의 오브젝트의 위치를 추론한 정보데이터를 요청할 수 있다(S308). 학습된 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 이미지들에 레이블링된 오브젝트의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시키는 오브젝트위치를 추론하는 오브젝트 위치탐색모델일 수 있다. 일반적으로 AI 학습데이터의 구축을 위해서는 학습데이터의 수집이 필요하다. 이러한 학습데이터의 수집은 예를들어, PC화면 이미지를 모은 후 어노테이션 툴에서 주요 오브젝트에 바운딩 박스를 치고, 레이블링 작업을 하여 수집할 수 있다. 예를 들면 구글 검색 사이트 웹 화면에서 구글 검색창에 박스를 치고 구글검색창이라고 레이블링하여, 구글 검색 사이트 전체 화면 데이터 및 구글 검색창의 오브젝트에 대한 레이블 데이터를 수집할 수 있다.
전송받은 화면 이미지로부터 AI스크린(230)의 학습된 AI 모델(232)을 통해 화면의 오브젝트의 위치를 추론할 수 있다(S310 및 S312).
웹기반 IT운영관리시스템 플랫폼(200)은 추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트(110)의 AI웹소켓(112)으로 통신을 통해 전송할 수 있다(S314).
전송된 데이터를 토대로 예를 들어 AI스크린 에이전트(110)를 통해 사용자 pc의 화면(120)에서 오브젝트에 대한 이벤트를 발생시킬 수 있다(S316).
본 발명의 다른 실시예에서, 사용자 PC(100)에 AI스크린(230)이 포함될 수 있다. 이 경우, 웹기반 IT운영관리시스템 플랫폼(200)에 데이터들을 전송하지 않고, 자체적으로 AI스크린 학습모델을 생성할 수 있다. 사용자 PC(100)에 AI스크린(230)이 포함된 경우에서, AI스크린 에이전트(110)가 웹기반 IT운영관리시스템 플랫폼(200)의 AI스크린(230)으로 사용자 PC의 화면(120) 이미지를 전송하고 학습된 AI 모델(232)을 포함하는 AI스크린(230)으로부터 화면 상의 오브젝트의 위치를 추론한 정보데이터를 요청하는 단계(S308) 및 웹기반 IT운영관리시스템 플랫폼(200)가 추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트(110)의 AI웹소켓(112)으로 통신을 통해 전송하는 단계(S314)는 그 대상이 클라우드 서버(200)내의 아이톰즈 AI 스크린(230)에서 사용자PC(100)내의 아이톰즈 AI 스크린으로 변경되며, AI스크린 에이전트(110)의 아이톰즈 AI 스크린은 하기 도 2의 데이터 수집부(131), 인공지능모델 학습부(132), 및 오브젝트 탐지부(133)가 아이톰즈 AI 스크린(230)의 기능과 동일한 기능을 수행한다.
사용자 PC(100)에 AI스크린(230)이 포함된 경우에서, AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법은 사용자 PC에서 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하는 단계; 스케줄러에 스케줄이 등록되면 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리는 단계; 상기 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 사용자 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하는 단계; AI스크린 에이전트가 AI스크린 에이전트 내의 AI스크린에서 사용자 PC의 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린으로부터 화면 상의 하나 이상의 오브젝트의 위치를 추론하는 정보데이터를 요청하는 단계; AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면의 하나 이상의 오브젝트의 위치를 추론하는 단계; 및 AI스크린 에이전트가 AI스크린 에이전트 내의 AI스크린에서 추론한 하나 이상의 오브젝트의 위치를 토대로 사용자 pc의 화면에서 하나 이상의 오브젝트에 대한 이벤트를 발생시키는 단계;를 포함할 수 있고, AI스크린의 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 하나 이상의 이미지들에 레이블링된 오브젝트의 위치를 학습 데이터로 하여, 전체 화면에서 하나 이상의 오브젝트의 이벤트를 발생시킬 오브젝트위치를 추론한 결과 데이터를 출력할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 AI스크린 에이전트의 블록도이다.
화면 오브젝트 제어 시스템은 웹기반 IT운영관리시스템 플랫폼(200) 없이 사용자 PC(100) 내에 화면 오브젝트 제어 장치로 구축될 수 있다.
화면 오브젝트 제어 장치는 스케줄러 등록부(미도시) 및 AI스크린 에이전트(110)를 포함하고, AI스크린 에이전트(110)는 화면 상에 표시된 오브젝트의 위치를 학습시키고 오브젝트에 이벤트를 발생시키는 기능을 포함할 수 있다. AI스크린 에이전트(110)는 자체적으로 오브젝트 위치를 학습시키기 위해, 디스플레이 장치로부터 전체 화면에 관한 데이터를 수집하는 데이터 수집부(131), 수집된 데이터를 기초로 심층신경망을 통해 학습시키는 인공지능 모델 학습부(132), 화면 오브젝트 탐지부(133)를 포함할 수 있다. AI스크린 에이전트(110)는 화면 오브젝트 제어부(134), 영상 화면 관련 데이터, 학습 데이터 등 각종 데이터를 저장하는 메모리(102), 서버 또는 외부 장치와 통신하는 통신부(103), 및 입력/출력 조정부(104)를 포함할 수 있다.
스케줄을 등록하는 스케줄러 등록부는 AI스크린 에이전트(110)에 스케줄러의 등록을 알리고, 정해진 시간에 사용자 PC(100)에서 스케줄러의 시작을 알리는 기능을 한다.
스케줄러 등록부의 알림에 따라, AI스크린 에이전트(110)의 데이터 수집부(131)는 디스플레이 상의 PC 화면(120) 상의 전체 화면과 관련된 데이터를 수집할 수 있다. 오브젝트 탐지부(133)는 학습된 인공지능 학습 모델을 통해 수집된 데이터에 대해, 상기 전체 화면 상에서 오브젝트들의 위치를 탐지(detect)할 수 있다.
인공지능 모델 학습부(132)는 PC 화면의 이미지들, 및 PC 화면의 이미지들에 레이블링된 오브젝트들의 특정 위치들을 학습용 데이터(또는 학습 데이터 세트)로 하여, 전체 화면 상에서 오브젝트의 위치를 추론하도록 학습시킨다. 인공지능 모델 학습부는(132)는 NPU와 같은 병렬처리에 특화된 프로세서를 포함할 수 있다. 인공지능 모델 학습부는(132)는 오브젝트 위치 학습을 위해 메모리(102)에 학습용 데이터를 저장한 후 NPU가 메모리(102)와 협업하여 오브젝트 위치를 학습시켜, 오브젝트 탐지부(133)에 학습된 AI 모델을 생성하고, 새로운 학습용 데이터가 수집되면 특정시기에 또는 주기적으로 학습시켜서 인공지능 학습 모델을 지속적으로 개선시킬 수 있다.
본 발명의 일 실시예에서, 인공지능 모델 학습부(132)는 일단 오브젝트 탐지부(133)에 학습된 인공지능 모델이 생성되면, 데이터 수집부(131)에서 새로운 학습용 데이터가 수집되기 전까지 기능을 정지할 수 있다. 이 경우 데이터 수집부(131) 및 수집된 인공지능 모델 학습부(132)는 기능을 정지하고, 사용자 PC 화면으로부터 수신된 화면 이미지를 바로 오브젝트 탐지부(133)에 전달할 수 있다. 새로운 인공지능 모델 학습부(132)는 지도학습을 이용하여 인공지능 모델을 생성하지만, 비지도학습, 또는 강화학습을 이용하여 하나 이상의 오브젝트를 학습시킬 수 있다.
오브젝트 탐지부(133)는 인공지능 모델 학습부(132)에서 학습된 인공지능 모델을 통해, 화면 상에 원하는 오브젝트가 있는지 여부 및 하나 오브젝트의 위치를 탐지하고 복수개의 오브젝트 위치들을 탐지할 수 있다. 학습된 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 하나 이상의 이미지들에 레이블링된 오브젝트의 위치를 학습 데이터로 하여, 전체 화면에서 하나 이상의 오브젝트의 이벤트를 발생시킬 오브젝트위치를 추론한 결과 데이터를 출력한다. 본 발명의 다른 실시 예에서, 전술한 바와 같이, 화면 탐지부(133)는 서버에서 전송받은 학습된 인공지능 모델을 통해 사용자 PC의 화면(120) 상의 오브젝트 위치를 탐지 및 분류하도록 구성될 수 있다.
오브젝트 제어부(134)는 오브젝트 탐지부(133)에서 탐지하고 분류한 전체 화면 상의 오브젝트 위치를 기초로 오브젝트에 이벤트를 발생시킬 수 있다. 오브젝트 제어부(134)는 화면 오브젝트의 연속적인 인식 및 화면좌표에 글자/버튼 입력을 통해 사람이 작업하는 일련의 행위를 자동화하도록 제어할 수 있다. 예를 들어, 오브젝트 제어부(134)는 도 5에서와 같이 브라우저 상의 검색바(401)을 탐지하고, 원하는 검색쿼리를 검색하는 이벤트를 발생시킬 수 있다. 또한, 오브젝트 제어부(134)는 도 6에서와 같이 PC 바탕화면 상의 여러개의 프로그램 창에서 로그인(410) 대화창을 탐지하고, 아이디 및 패스워드 입력위치, 및 검색창 브라우저 상의 검색바(401)위치, 각종버튼 등을 탐지하고, 원하는 회사명(420), 아이디(430), 및 패스워드(440)를 입력하거나, 또는 검색쿼리를 검색하는 이벤트를 발생시킬 수 있다.
AI스크린 에이전트(110)가 사용자 단말, 노트북, 데스크탑 컴퓨터에 프로그램 또는 앱 형태로 실행되는 방법으로 포함되어 있다면, AI스크린 에이전트(110)는 통신부(103)를 통해 사용자 단말, 노트북, 데스크탑 컴퓨터의 통신부(103)를 이용하여 서버와 같은 외부 기기와 통신할 수 있다.
다른 실시예에서, AI스크린 에이전트(110)는 사용자 PC의 외부에 있는 웹기반 IT운영관리시스템 플랫폼에 접속하여 웹기반 IT운영관리시스템 플랫폼에서 학습된 오브젝트 위치 정보데이터를 수신하여 화면상의 오브젝트에 대한 이벤트를 발생시킬 수 있다. 이 경우 데이터 수집부(131), 인공지능모델 학습부(132), 및 오브젝트탐지부(133)를 사용하지 않고, 웹기반 IT운영관리시스템 플랫폼(200)가 데이터 수집부(131), 인공지능모델 학습부(132), 및 오브젝트탐지부(133)를 포함하여, AI 스크린 모델 학습을 진행하며, AI스크린 에이전트(110)는 통신부(103)를 통해 웹기반 IT운영관리시스템 플랫폼(200)에 사용자 PC 화면 이미지를 전송하고 오브젝트 위치 정보데이터를 수신하여 오브젝트에 대한 이벤트를 발생시킬 수 있다.
도 3은 본 발명의 일 실시 예에 따른 화면 오브젝트 제어 과정의 흐름도이다.
사용자 PC(100)와 같은 등 화면인식을 원하는 단말기에서 AI 스크린의 오브젝트 제어를 시작하면(S200), 웹기반 IT운영관리시스템 플랫폼(200)을 자동으로 또는 사용자의 스케줄러 버튼(212)의 클릭으로 서버의 웹기반 IT운영관리시스템 플랫폼(200)에 접속하여 스케줄러를 등록할 수 있다(S202).
스케줄러가 등록되면 웹기반 IT운영관리시스템 플랫폼(200)의 AI웹소켓(222)에 스케줄러의 등록을 알릴 수 있다. 스케줄러의 등록에 따라 웹기반 IT운영관리시스템 플랫폼(200)은 정해진 시간에 동작하고(S204), 정해진 스케줄러 기능을 실행하고(S206), 웹기반 IT운영관리시스템 플랫폼(200)의 AI웹소켓(222)으로부터 정해진 시간에 사용자 PC(100)의 AI스크린 에이전트(Agent)(110)의 AI웹소켓(112)으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송할 수 있다.
AI스크린 에이전트(110)는 웹기반 IT운영관리시스템 플랫폼(200)의 AI스크린(230)으로 사용자 PC의 화면(120) 이미지를 전송하고 학습된 AI 모델(232)을 포함하는 AI스크린(230)으로부터 화면 상의 오브젝트의 위치를 추론한 정보데이터를 요청할 수 있다.
PC(100)로부터 이미지 인식 데이터 요청이 있는지 판단하고(S208), PC(100)로부터 이미지 인식 데이터 요청이 있으면 데이터 요청이 완료될 때까지(S212) 전송받은 화면 이미지로부터 AI스크린(230)의 학습된 AI 모델(232)을 통해 화면의 오브젝트의 위치를 추론할 수 있고, 웹기반 IT운영관리시스템 플랫폼(200)은 추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트(110)의 AI웹소켓(112)으로 통신을 통해 전송할 수 있고, PC(100)의 AI스크린 에이전트(110)는 전송된 데이터를 토대로 사용자 pc의 화면(120)에서 오브젝트에 대한 이벤트를 발생시켜서, 텍스트 또는 마우스 입력 이벤트를 처리한다(S214).
PC(100)로부터 이미지 인식 데이터 요청이 없다면, 주어진 과정 모든 처리 완료시 또는 에러시 로그를 작성하고(S216), AI 스크린(230)의 오브젝트 제어를 종료한다.
도 4는 도 1의 화면의 오브젝트의 위치를 추론하는 인공지능 스크린 학습 모델을 학습시키기 위한 흐름도이다.
도 4를 참조하면, AI스크린 에이전트(110) 또는 AI 스크린(230)에서 화면 상의 오브젝트 위치를 추론하기 위한 인공지능 모델 학습이 시작되어 진행된다(S100). 인공지능 모델의 학습은 지도학습, 비지도학습 및 강화학습 중에서 어느 하나의 형태로 수행될 수 있다.
사용자 PC 화면(120) 상의 화면 이미지와 관련된 데이터 및 상기 데이터에 오브젝트 위치를 레이블링한 데이터를 포함하는 인공지능 모델 학습용 데이터로 인공지능 모델 학습이 진행되고(S110). 학습이 완료되면(S110), AI 스크린 학습 모델을 생성한다. AI스크린 에이전트(110) 또는 AI 스크린(230)의 데이터 수집부(131)는 일정 주기로 화면 이미지 데이터 값 및 상기 화면 이미지 데이터 값에 대해 레이블된 오브젝트 위치들을 인공지능 학습용 데이터 및 테스트용 데이터로 생성할 수 있다. 학습용 데이터 및 테스트용 데이터의 비율은 데이터 양에 따라 다를 수 있으며, 일반적으로 7:3의 비율로 정할 수 있다. 학습용 데이터의 수집 및 저장은 오브젝트 별로 수집하여 저장할 수 있으며, 실제 사용 화면을 캡처앱을 통해 수집할 수 있다. 이러한 학습데이터의 수집 및 저장은 서버(200)에서 화면 이미지를 취합하여 저장할 수 있다. 인공지능 모델 학습용 데이터는 정확한 학습결과를 얻기 위해 데이터 전처리 및 데이터 증강 과정을 거칠 수 있다. 도 5와 같은 결과를 얻기 위해, 인공지능 모델 학습은 브라우저의 사이트에 표시된 사용자 PC 화면(120) 상의 화면 이미지 데이터 값들을 입력 데이터로 하고, 검색 창 및 클릭가능한 아이콘들 등 오브젝트들의 위치를 레이블링한 데이터를 출력 데이터로 학습 데이터 세트를 구성하여 진행될 수 있다.
인공지능 모델, 예를 들어 마스크-RCNN이나 SSD와 같은 인공 신경망은 지도학습을 통해 수집된 학습 데이터를 이용하여 전체화면 상에서 오브젝트의 위치들이 학습된다(S100). 본 발명의 일 실시 예에서, 딥러닝 기반의 화면 분석기가 사용될 수 있고, 예를 들어 인공지능 프로그래밍에 사용되는 인공지능 언어 라이브러리인 TensorFlow 또는 Keras의 MobileNetV1/MobileNetV2 기반으로 인공지능 학습 모델을 튜닝하여 사용할 수 있다.
CNN(Convolutional Neural Network)은 심층신경망의 가장 대표적인 방법으로, 이미지를 작은 특징에서 복잡한 특징화한다. CNN은 하나 또는 여러 개의 컨볼루션 레이어와 그 위에 올려진 일반적인 인공 신경망 레이어들로 이루어져 컨볼루션 레이어에서 전처리를 수행하는 구조를 가진 인공신경망이다. 예를 들어, 사람 얼굴의 이미지를 CNN을 통해 학습시키기 위해, 제일 먼저 필터를 사용하여 간단한 특징들을 뽑아내어 하나의 컨볼루션 레이어를 만들고, 이 특징들에서 좀 더 복잡한 특징을 추출하는 새로운 레이어, 예를 들어 폴링 레이어를 추가한다. 볼루션 레이어는 컨볼루션 연산을 통해 특징들을 추출하는 레이어로서, 규칙적인 패턴을 가진 곱셈을 수행한다. 폴링레이어는 입력 공간을 추상화하는 레이어로 서브샘플링을 통해 이미지의 차원을 축소시킨다. 예를들어 28x28 사이즈의 얼굴 이미지를 스크라이드가 1인 4개의 필터를 사용하여 각각 24x24의 피쳐맵을 만들고 서브샘플링(또는 풀링)으로 12x12로 압축할 수 있다. 그 다음 레이어에서 8x8 사이즈로 12개의 피처맵을 만들고 다시 4x4로 서브샘플링을 하여, 최종적으로 12x4x4 = 192의 입력을 가진 신경망으로 학습을 하여 이미지를 탐지할 수 있다. 이렇게 여러 개의 컨볼류션 레이어를 연결하여 이미지의 특징을 뽑아내고 최종적으로 기존과 같은 오류역전파 신경망을 사용하여 학습을 시킬 수 있다. CNN의 장점은 인공신경망 학습을 통해 이미지의 특징을 특징화하는 필터를 스스로 만든다는 것이다.
오브젝트 탐지(Object Detection, 객체 탐지)란 컴퓨터 비전의 하위 분야 중 하나로 전체 디지털 이미지 및 비디오 내에서 유의미한 특정 객체를 감지하는 작업을 한다. 이러한 object detection은 Image retrieval(이미지 검색), Image annotation(이미지 주석), Face detection(얼굴 인식), Video Tracking(비디오 추적) 등 다양한 분야의 문제를 해결하기 위해 사용될 수 있다. 본 발명에서 object detection는 한 화면(또는 이미지) 내에 object로 분류한 오브젝트(객체)들에 대해, 어느 위치에(localization) 어떤 종류의 object가 있는지(classification)에 대한 정보를 주는 것이다. 
object detection은 두 가지로 구성된다. 첫 번째는 object 자체가 존재하는 위치를 찾아내는 localization이며, 두 번째는 해당 local에 존재하는 object가 무엇인지 확인하는 classification이다. 일반적으로 object detection의 딥러닝 네트워크는 2-Stage Detector 와 1-Stage Detector 로 구분하고 있다. 간단히 말하면, localization과 classification이 따로 이루어지면 2-Stage Detector, 동시에 이루어지는 것이 1-Stage Detector이다. 2-Stage에서는 먼저 object가 있을거라고 생각하는 영역을 선택하고 그 영역 각각에 대해 classification을 한다. 1-Stage에서는 이 과정이 동시에 이루어지기 때문에 더욱 속도가 빠른 장점이 있다. 원래 2-Stage와 1-Stage 사이에서 2-Stage는 정확도가 높지만 느리고 1-Stage는 빠르지만 2-Stage보다는 정확도가 낮다는 것으로 구분이 되었지만, 최근에는 1-Stage 방법들이 2-Stage의 정확도를 따라잡으면서 1-Stage 방법들이 각광받고 있다. R-CNN은 CNN에 Region Proposal 을 추가하여 물체가 있을 법한 곳을 제안하고, 그 구역에서 object detection을 하는 2-스테이지 디텍터(2 Stage Detector) 계열의 알고리즘이다. R-CNN 계열 모델은 R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN 까지 총 4가지 종류가 있다. R-CNN, Fast R-CNN, Faster R-CNN 모두 Object Detection을 위한 모델이다. Mask R-CNN은 Faster R-CNN을 확장하여 Instance Segmentation에 적용하고자 하는 모델이다. Mask R-CNN은 Faster R-CNN에 각 픽셀이 객체인지 아닌지를 masking하는 CNN을 추가한 것이다. Mask R-CNN은 COCO challenges의 모든 task에서 이전 모델보다 우수한 성능을 보이는 것으로 알려져 있다. 도 7d는 도 7a의 학습시킬 화면으로부터 마스크-RCNN을 적용하여 학습시키는 과정을 예시한다.
SSD(Single Shot MultiBox Detector), YOLO, DSSD(Deconvolutional Single Shot Detector) 등은 1-스테이지 디텍터(1 Stage Detector) 계열의 알고리즘이다. 1-스테이지 디텍터(1 Stage Detector) 계열의 알고리즘은 물체가 있을 법한 구역제시와 object detection을 나누지 않고 동시에 실행하므로 실행속도가 빠른 장점이 있으므로, 본 발명의 실시예들에서는 적용대상에 따라 1-스테이지 디텍터 또는 2-스테이지 디텍터를 사용할 수 있다.
YOLO는 2-Stage object detection 모델들의 느리다는 단점을 해결한 최초의 real-time object detector이다. YOLO에서는 convolution layer들을 통해 feature map을 추출하고, fully connected layer를 거쳐 바로 bounding box와 class probability를 예측할 수 있다. 또한, YOLO에서는 input 이미지를 SxS grid로 나누고 각 grid 영역에 해당하는 bounding box와 confidence, class probability map을 구할 수 있다.
YOLO에서는 이미지를 grid로 나누어서 각 영역에 대해 bounding box를 예측했다면, SSD 는 CNN pyramidal feature hierarchy 를 이용해 예측할 수 있다. SSD에서는 image feature를 다양한 위치의 layer들에서 추출하여 detector와 classifier를 적용할 수 있다. SSD는 YOLO 보다 학습 속도 및 인식속도나 정확도 측면에서 더 높은 성능을 보였다. AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키기 위한 학습모델에 적용된 마스크RCNN, YOLO, 및 SSD의 성능을 비교하면, 마스크 RCNN은 분류 및 위치 찾기 정확도가 상대적으로 높지만 학습속도 및 오브젝트 인식속도가 상대적으로 느리고, YOLO는 분류 및 위치 찾기 정확도가 상대적으로 낮지만 학습속도 및 오브젝트 인식속도가 빨랐고, SSD는 분류 및 위치 찾기 정확도가 상대적으로 빠르고, 학습속도 및 오브젝트 인식속도도 빨랐다.
DSSD는 기존의 SSD(Single Shot MultiBox Detecotr)에서 성능 향상을 위해, Context 특징들을 더하기 위해 Deconvolution 연산을 추가하였다. 기존의 SSD에 Deconvolution 연산을 추가함으로써, 속도를 상대적으로 유지하면서 탐지 성능을 높이고자 하였다. 특히 작은 객체들(small object)에 대하여 SSD의ㄷ앞ㄷㄷㄷㄷㄷ부분에서 사용되었던 VGG network를 Resnet기반의 Residual-101로 교체하였고, 네트워크에서 테스트 할때, 배치 정규화 과정을 제거함으로써 테스트 시간을 1.2 ~ 1.5배 줄였다.
학습된 인공지능 모델의 평가를 통해 인공지능 모델이 생성된다. 학습된 인공지능 모델의 평가는 테스트용 데이터를 사용하여 수행된다. 본 발명 전체에서 '학습된 인공지능 모델'은 학습용 데이터를 학습시키고 생성된 특별한 언급이 없어도 테스트용 데이터를 통해 테스트한 후 학습된 모델을 결정한 것을 의미한다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다.
인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network), C-RNN, R-CNN, Fast R-CNN, Faster R-CNN, 및 마스크-RCNN와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성된다.
또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 수신한 출력값을 출력한다.
한편 입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비지도 학습, 준지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다.
그리고 이렇게 유추되는 함수 중, 연속 적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 추론하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 한다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭 한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(조정)될 수 있다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 조정 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함한다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함한다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법이다.
기계 학습 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 조정 알고리즘을 이용할 수 있으며, 학습 조정 알고리즘에는 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법이다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭한다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법이다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 조정 정확도를 높이는 기법이다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 조정 정확도를 높이는 기법이다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 조정 정확도를 높이는 기법이다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 조정 정확도를 높이는 기법이다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 조정 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징이 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요하다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정한다.
도 5는 브라우저 화면에서 학습된 인공지능 모델을 통해 오브젝트의 위치를 추론한 결과를 도시한 예시도이다.
도 5의 화면 이미지로부터 도 4의 AI 스크린 학습 모델의 학습 결과로 브라우저의 검색 바(search bar)의 위치(401)가 특정된다. 검색 바(401)의 입력창인 오브젝트의 위치를 특정하는 이벤트이외에도, 브라우저의 해당 사이트에서 다른 아이콘들을 클릭하는 이벤트를 발생시키기 위해, 클릭할 아이콘들을 오브젝트의 데이터 및 오브젝트들의 위치를 특정한 데이터를 학습 데이터 세트로 하여, 학습시킨 AI 스크린 학습 모델의 학습 결과로 아이콘들의 위치를 특정할 수 있다.
도 6은 PC 바탕화면에서 학습된 인공지능 모델을 통해 오브젝트의 위치를 추론한 결과를 도시한 예시도이다.
복수의 검색창 및 대화창이 있는 경우에도 원하는 검색바(401), 오브젝트들인 로그인(410), 회사명(420), 아이디(430), 및 패스워드(440)의 위치를 특정할 수 있다.
도 7a는 도 4에 따른 화면의 오브젝트의 위치를 추론하는 인공지능 모델을 학습시킬 화면을 도시한 예시도이다.
사용자 PC 화면은 학습시킬 화면 이미지(400)가 된다. AI스크린 에이전트(110)는 웹기반 IT운영관리시스템 플랫폼(200)의 AI스크린(230)으로 사용자 PC의 화면 이미지(400)를 전송하고 학습된 AI 모델(232)을 포함하는 AI스크린(230)으로부터 화면 상의 오브젝트의 위치를 추론한 정보데이터를 요청할 수 있다(S308).
도 7b는 도 4에 따른 화면의 오브젝트의 위치를 추론하는 인공지능 모델을 학습시킬 화면에서 오브젝트에 라벨링을 한 예시도이다.
데이터처리부(234)는 사용자 PC로부터 화면 이미지(400)를 수신하여 오브젝트들인 로그인(410), 회사명(420), 아이디(430), 및 패스워드(440)의 라벨링을 수행한다.
다른 실시예에서, 다른 데이터 베이스로부터 화면 이미지(400) 데이터 및 화면 이미지(400)에 대한 각 오브젝트들의 위치가 라벨링된 데이터 세트를 제공받을 수 있다.
도 7c는 도 4에 따른 화면의 오브젝트의 위치를 추론하는 인공지능 모델을 학습시킨 후 오브젝트를 실제 인식한 결과의 예시도이다.
학습된 AI 스크린 학습모델을 통해 AI 스크린(230)은 오브젝트의 위치를 전송한다.
도 7d는 도 7a의 학습시킬 화면으로부터 마스크-RCNN을 적용하여 학습시키는 과정을 도시한 예시도이다.
도 7d의 화면 이미지(400)에서 기존의 Faster RCNN과정을 실행하여 물체를 검출한다. 기존의 Faster RCNN 에서 RoI pooling은 오브젝트 탐지(object detection)을 위한 모델이였기에 정확한 위치정보를 담는 것은 중요하지 않고 따라서 RoI가 소수점 좌표를 가지면 좌표를 반올림하는 식으로 이동시킨후 풀링(pooling)을 진행하였다. 마스크(mask)를 씌울 때는(segmentation) 소수점을 반올림하면 위치정보가 왜곡되기 때문에 위치정보가 중요하다. 따라서 양선형 보간법(bilinear interpolation)을 이용해서 위치정보를 담는 RoI align을 이용한다. RoI align으로 conv를 이용해 특징 지도(feature map)을 뽑아내고, 그 특징 지도에서 RoI를 뽑아내 class별로 분류하고 마스킹(masking)을 병렬로 수행하여 오브젝트를 검출해낸다.
도 8은 텍스트 및 비-텍스트 이미지(810), 비-텍스트 이미지(820), 및 텍스트 이미지(830)를 포함하는 화면 정보를 도시한 예시도이다. 도 1 내지 도 7d의 인공지능 모델을 통한 화면의 오브젝트 인식은 비-텍스트 이미지(820) 인식에 의해 화면 UI 인식을 통한 이벤트를 클릭하는 것은 가능하나, UI 이미지 내에 텍스트 이미지(830)이 포함된 경우, 텍스트 이미지(830)의 내용을 인식하지 못하고, 텍스트 내용이 다른 유사한 텍스트를 동일한 텍스트 이미지로 인식하는 한계가 있었다. 이 경우 반쪽짜리 화면인식 기능만 제공하는게 되므로 개선이 필요하게 되었다. 이러한 문제점은 텍스트 및 비-텍스트를 포함하는 UI 이미지(810)("텍스트 및 비-텍스트 이미지"라고도 함)를 인식하기 위해, 형태 이미지 및 텍스트를 복합 인식하기 위한 인공지능 모델구성 통해 해결할 수 있다.
도 9a는 비-텍스트 이미지(820) 및 텍스트 이미지(830)를 포함하는 특정 포털 사이트의 화면 정보를 도시한 예시도이다. 화면 UI는 오브젝트 탐지(object detection)로 미리 학습하여 등록된 클래스(네이버모자 아이콘, 검색 돋보기 등)만 인식이 가능할 수 있다. 네이버모자 아이콘 및 검색 돋보기는 비-텍스트 이미지(820)의 예이고, 텍스트를 포함하는 배너광고, 포털 로그인창, 및 메뉴 버튼은 텍스트 이미지(830)의 예이다. 배너광고 안의 텍스트 및 메뉴 내의 테스트는 오브젝트 탐지로는 미리 학습 불가하므로, 이를 해결하기 위해, 1단계로 오브젝트 탐지기를 통해 텍스트 박스 오브젝트(클래스라고도 부름)로 인식한 후 2단계에서 C-RNN(Convolutional Recurrent Neural Network) 모델로 텍스트 인식을 하도록 할 수 있다.
도 9b는 본 발명의 일 실시예에 따라 화면 UI 이미지들을 오브젝트 탐지에 따라 구별하는 경우를 도시한 예시도이다. 만약 비-텍스트 이미지(모자 이미지)와 텍스트 이미지("NAVER" 텍스트)로 UI 이미지를 구성한다면, 기존의 오브젝트 탐지를 활용한 화면 UI 인식모델은 비-텍스트 이미지(820) 및 텍스트 이미지(830)를 서로 다른 2개의 이미지로 구분하는 것은 가능하다. 그러나 기존의 오브젝트 탐지를 활용한 화면 UI 인식모델은 텍스트의 내용을 모르는채 텍스트 이미지(NAVER 이미지)를 단지 텍스트 박스(text class)로만 인식할 수 있다.
도 9c는 본 발명의 일 실시예에 따라 화면 UI 이미지들을 오브젝트 탐지만으로 UI 이미지를 구별하지 못하는 텍스트 이미지들을 도시한 예시도이다. 만약 텍스트 이미지(230) 및 이와 유사한 텍스트 이미지(840)가 같이 들어온다면 화면 UI 인식모델은 두개의 서로 다른 이미지(NAVER, NAVEG)를 올바르게 구분할 수 없다. 오브젝트 탐지(Object detection) 모델에서는 모양이나 형태가 비슷하다면 동일한 오브젝트로 인식하기 때문이다. 따라서, 화면 UI 뿐만 아니라 텍스트 이미지의 내용까지 인식이 가능해야 화면내의 모든 object를 올바르게 인식할 수 있다.
도 10은 본 발명의 일 실시예에 따라 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 텍스트 이미지를 인식하는 과정을 도시한 예시도이다.
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 비-텍스트 UI 및 텍스트 이미지를 포함하는 화면 이미지를 한장 입력 받으면 크게 1) 오브젝트 탐지(SSD or YOLO or Mask R-CNN 등)를 활용하여 비-텍스트 이미지 부분의 모자 이미지와 나머지 두개의 텍스트 이미지를 구분하는 단계(S2000) 및 2) C-RNN(Convolutional Recurrent Neural Network) 모델 등 텍스트 인식 인공지능 모델을 활용하여 각 텍스트 이미지에서 텍스트를 인식하여 내용(830-NAVER, 840-NAVEG)을 파악하는 단계(S5000)의 2 단계로 이미지 인식을 수행할 수 있다. 본 발명의 다른 실시예에서, 텍스트 인식 인공지능 모델은 C-RNN에 국한되지 않으며 텍스트를 인식하는 다른 인공지능 모델이 사용될 수 있다. 본발명의 일 실시예에 따른 비-텍스트 UI 및 텍스트 이미지를 복합적으로 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 비-텍스트 UI 및 텍스트 이미지 복합 인지 모델의 플로우는 다음과 같다.
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 비-텍스트 및 텍스트 이미지를 한장 입력받는다(S1000). 만약 비-텍스트 UI 및 텍스트 이미지 복합 인지 모델이 비-텍스트 UI 이미지(820)만을 입력받는다면 화면 UI를 인식하는 오브젝트 탐지기로부터 인식이 가능할 것이다.
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 오브젝트 탐지(SSD or YOLO or Mask R-CNN 등)를 활용하여 비-텍스트 이미지 부분의 모자 이미지와 나머지 두개의 텍스트 이미지를 구분할 수 있다(S2000).
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 오브젝트 탐지를 활용하여 비-텍스트 UI이미지(820)를 인식 처리를 완료할 수 있다(S3000). 비-텍스트 UI 및 텍스트 이미지 복합 인지 모델의 오브젝트 탐지는 비-텍스트 UI 이미지에 사각형(Rectangle) 좌표 및 비-텍스트 화면 UI 클래스(네이버 모자아이콘)를 출력할 수 있다.
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 2개의 텍스트 이미지들(830 및 840)을 텍스트 박스로 인식하고 추출하여 다음단계로 넘긴다(S4000). 오브젝트 탐지는 텍스트 이미지 2개(830 및 840)의 사각형 좌표 및 화면UI클래스(텍스트박스)를 출력할 수 있다.
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 C-RNN(Convolutional Recurrent Neural Network) 모델을 활용하여 각 텍스트 이미지에서 텍스트를 인식하여 내용(830-NAVER, 840-NAVEG)을 파악한다(S5000). C-RNN 모델은 텍스트 박스내의 텍스트를 정확하게 인식할 수 있다. C-RNN은 CNN을 연산을 먼저 한 뒤에 각 채널을 나눠서 RNN에 입력하는 구조이다. CNN을 통해 Feature를 추출하고, 이를 RNN으로 분류하는 흐름이라 볼 수 있다.
비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 텍스트 이미지들의 텍스트를 인식하여 텍스트이미지 처리를 완료한다(S6000).
도 3의 "AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법"에 도 10의 "비-텍스트 UI 및 텍스트 이미지 복합 인지 모델"을 도입하면, AI스크린의 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 텍스트 및 비-텍스트를 포함하는 UI 이미지들에 레이블링된 오브젝트들의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고, 상기 AI스크린이 전송받은 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 단계에서 AI스크린의 AI 모델은 상기 텍스트 및 비-텍스트를 포함하는 UI 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 단계(1 단계) 및 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하는 단계(2 단계)를 포함할 수 있다.
본 발명의 다른 실시예에서, 화면 내 오브젝트를 탐지하는 화면 오브젝트 탐지부는 상기 인공지능 모델 학습부로부터 학습된 AI 모델을 통해 전체 화면의 이미지들 및 상기 전체 화면의 텍스트 및 비-텍스트를 포함하는 UI 이미지들에 레이블링된 오브젝트의 위치들을 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트위치를 추론한 결과 데이터를 출력하고, 상기 AI 모델은 상기 텍스트 및 비-텍스트를 포함하는 UI 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 UI 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 것 및 텍스트를 포함하는 UI 이미지의 부분으로부터 텍스트를 인식하는 것을 수행할 수 있다.
도 11a는 본 발명의 일 실시예에 따라 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 텍스트 이미지를 인식하여 오인식이 줄어드는 경우를 도시한 예시도이다. 비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 비-텍스트 UI 및 텍스트 이미지를 모두 포함하는 UI에 에러가 있어서 비-텍스트 부분 또는 텍스트 부분의 일부가 인식불가하더라도, 인식가능한 비-텍스트 부분 또는 텍스트 부분으로부터 올바른 UI를 인식할 수 있다.
도 11b는 본 발명의 일 실시예에 따라 텍스트 및 비-텍스트 이미지를 포함하는 화면 이미지로부터 텍스트 이미지를 인식하여 에러정보로 인식 가능한 경우를 도시한 예시도이다. 도 11b에서와 같이, 비-텍스트 UI 이미지부분에 대응하는 텍스트 부분에 에러가 있는 경우 또는 텍스트 부분에 대응하는 비-텍스트 UI 부분에 에러가 있는 경우, 비-텍스트 UI 및 텍스트 이미지 복합 인지 모델은 이를 에러 정보를 인식할 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 사용자 PC 102: 메모리
103: 통신부 104: 입력/출력 인터페이스
110: AI 스크린 에이전트 112: AI 웹소켓
120: 사용자 PC 화면 131: 데이터 수집부
132: 인공지능모델 학습부 133: 오브젝트 분류부
134: 오브젝트 제어부 200: IT운영관리시스템 플랫폼
210: IT운영관리시스템 홈페이지 212: 스케줄러 버튼
222: AI 웹소켓 230: IT운영관리시스템 AI 스크린 232: AI 스크린 학습모델 234: 데이터처리부
810: 텍스트 및 비-텍스트 포함 이미지 820: 비-텍스트 이미지
830: 텍스트 이미지 840: 유사한 텍스트 이미지

Claims (12)

  1. AI기반으로 텍스트 및 비-텍스트를 포함하는 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법으로서,
    PC에서 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하는 단계;
    스케줄러에 스케줄이 등록되면 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리는 단계;
    상기 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하는 단계;
    AI스크린 에이전트가 웹기반 IT운영관리시스템 플랫폼의 AI스크린으로 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 PC의 화면 이미지를 전송하고, 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린으로부터 화면 상의 오브젝트의 위치를 추론하는 정보데이터를 요청하는 단계;
    AI스크린이 전송받은 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 단계;
    추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트의 AI웹소켓으로 통신을 통해 전송하는 단계; 및
    AI스크린 에이전트가 전송된 데이터를 토대로 PC의 화면에서 오브젝트에 대한 이벤트를 발생시키는 단계;를 포함하고,
    AI스크린의 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 텍스트 및 비-텍스트를 포함하는 이미지들에 레이블링된 오브젝트들의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고,
    상기 AI스크린이 전송받은 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 단계는 AI스크린의 AI 모델은 상기 텍스트 및 비-텍스트를 포함하는 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 단계 및 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하는 단계를 포함하는,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  2. 제 1 항에 있어서,
    상기 AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 단계에서, AI 모델은 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하기 위해 한 화면 내에 어느 위치에(localization) 어떤 종류의 오브젝트가 있는지(classification)에 대한 정보를 주는 오브젝트 탐지기(object detector)의 기능을 수행하도록 학습되고,
    오브젝트 탐지기는 위치찾기(localization stage) 및 분류(classification stage)를 동시에 수행하는 1 스테이지 탐지기(one stage detector)인,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  3. 제 2 항에 있어서,
    1-스테이지 탐지기는 SSD(Single Shot MultiBox Detector), 또는 YOLO, 또는 DSSD(Deconvolutional Single Shot Detector)인,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  4. 제 1 항에 있어서,
    AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하는 단계는 상기 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하기 위해, AI 모델이 C-RNN 모델을 활용하는,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  5. AI스크린 에이전트를 포함하는 PC에서 AI기반으로 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법으로서,
    PC 내의 AI스크린 에이전트는 PC의 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린을 포함하고, AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 단계; 및
    AI스크린 에이전트가 AI스크린 에이전트 내의 AI스크린에서 추론한 오브젝트의 위치를 토대로 PC의 화면 상에서 오브젝트에 대한 이벤트를 발생시키는 단계;를 포함하고,
    AI스크린의 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 텍스트 및 비-텍스트를 포함하는 이미지들에 레이블링된 오브젝트의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고,
    상기 AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 단계는 AI스크린의 AI 모델이 상기 텍스트 및 비-텍스트를 포함하는 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 단계 및 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하는 단계를 포함하는,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  6. 제 5 항에 있어서,
    PC에서 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하는 단계;
    스케줄러에 스케줄이 등록되면 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리는 단계;
    상기 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하는 단계;를 더 포함하는,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  7. 제 5 항에 있어서,
    상기 AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 단계에서, AI 모델은 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하기 위해 한 화면 내에 어느 위치에(localization) 어떤 종류의 오브젝트가 있는지(classification)에 대한 정보를 주는 오브젝트 탐지기(object detector)의 기능을 수행하도록 학습되고,
    오브젝트 탐지기는 오브젝트 자체가 존재하는 위치를 찾아내는 위치찾기(localization) stage, 및 찾아진 위치(local)에 존재하는 오브젝트가 무엇인지 확인하는 분류(classification)의 stage를 순차적으로 수행하는 2 스테이지 탐지기(2 stage detector)이거나, 또는
    위치찾기(localization stage) 및 분류(classification stage)를 동시에 수행하는 1 스테이지 탐지기(one stage detector)인,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  8. 제 5 항에 있어서,
    상기 AI스크린이 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면 상의 오브젝트의 위치를 추론하는 단계에서, AI 모델은 상기 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하기 위해, C-RNN 모델을 활용하는,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법.
  9. 컴퓨터를 이용하여 제 1 항 내지 제 8 항 중 어느 한 항에 따른 화면 상의 오브젝트에 이벤트를 발생시키는 방법을 수행하도록 프로그래밍된 프로그램을 저장한 컴퓨터 판독 가능한 기록매체.
  10. AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 시스템으로서,
    상기 시스템은 AI스크린 에이전트를 포함하는 PC; 및
    웹기반 IT운영관리시스템 플랫폼을 포함하는 서버;를 포함하고,
    상기 AI스크린 에이전트는 웹기반 IT운영관리시스템 플랫폼에 접속하여 스케줄러에 스케줄을 등록하고,
    상기 서버는 스케줄러에 스케줄이 등록되면 상기 서버 내의 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓에 스케줄의 등록을 알리고, 상기 웹기반 IT운영관리시스템 플랫폼의 AI웹소켓으로부터 정해진 시간에 PC의 AI스크린 에이전트(Agent)의 AI웹소켓으로 통신을 통해 스케줄러의 시작을 알리는 데이터를 전송하고,
    상기 PC의 AI스크린 에이전트는 웹기반 IT운영관리시스템 플랫폼의 AI스크린으로 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 PC의 화면 이미지를 전송하고 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 이미지로부터 오브젝트 위치를 학습한 AI 모델을 포함하는 AI스크린으로부터 화면 상의 하나 이상의 오브젝트의 위치를 추론한 정보데이터를 요청하며,
    상기 AI 스크린은 전송받은 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 이미지로부터 AI스크린의 학습된 AI 모델을 통해 화면의 오브젝트의 위치를 추론하며, 추론된 오브젝트의 위치에 대한 정보데이터를 AI스크린 에이전트의 AI웹소켓으로 통신을 통해 전송하고, 그리고
    상기 AI스크린 에이전트는 전송된 데이터를 토대로 PC의 화면에서 하나 이상의 오브젝트에 대한 이벤트를 발생시키고,
    상기 학습된 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 텍스트 및 비-텍스트를 포함하는 이미지들에 레이블링된 오브젝트들의 위치를 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트 위치를 추론한 결과 데이터를 출력하고,
    상기 AI스크린의 AI 모델은 상기 텍스트 및 비-텍스트를 포함하는 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 것 및 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하는 것을 수행하는,
    AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 시스템.
  11. 컴퓨터 내에서 AI기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 화면 오브젝트 제어 장치로서,
    AI스크린 에이전트를 포함하고,
    AI스크린 에이전트는
    텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 컴퓨터 화면 상에 표시된 오브젝트의 위치를 학습시키고 오브젝트에 이벤트를 발생시키기 위해, 컴퓨터의 디스플레이 장치로부터 전체 화면에 관한 데이터 및 텍스트 및 비-지텍스트를 포함하는 이미지를 포함하는 화면 상에 표시된 오브젝트의 위치 데이터를 수집하는 데이터 수집부,
    수집된 데이터를 기초로 심층신경망을 통해 학습시키는 인공지능 모델 학습부,
    인공지능 모델 학습부에서 학습된 결과를 기초로, 화면 내 오브젝트를 탐지하는 화면 오브젝트 탐지부, 및
    오브젝트 탐지부에서 탐지하고 분류한 전체 화면 상의 오브젝트 위치를 기초로 오브젝트에 이벤트를 발생시키는 화면 오브젝트 제어부를 포함하고,
    상기 인공지능 모델 학습부로부터 학습된 AI 모델은 전체 화면의 이미지들 및 상기 전체 화면의 텍스트 및 비-텍스트를 포함하는 이미지들에 레이블링된 오브젝트의 위치들을 학습 데이터로 하여, 전체 화면에서 오브젝트의 이벤트를 발생시킬 오브젝트위치를 추론한 결과 데이터를 출력하고,
    상기 AI 모델은 상기 텍스트 및 비-텍스트를 포함하는 이미지를 탐지하기 위해, 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하는 것 및 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하는 것을 수행하는,
    화면 오브젝트 제어 장치.
  12. 제 11 항에 있어서,
    AI 모델은 텍스트 및 비-텍스트를 포함하는 이미지 중 텍스트를 포함하는 부분과 텍스트가 아닌 부분을 구분하기 위해, 한 화면 내에 어느 위치에(localization) 어떤 종류의 오브젝트가 있는지(classification)에 대한 정보를 주는 오브젝트 탐지기(object detector)의 기능을 수행하도록 학습되고,
    AI 모델은 상기 텍스트를 포함하는 이미지의 부분으로부터 텍스트를 인식하기 위해, C-RNN 모델을 활용하는,
    화면 오브젝트 제어 장치.
PCT/KR2023/003341 2022-03-24 2023-03-23 인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템 WO2023182713A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220036637A KR20230138703A (ko) 2022-03-24 2022-03-24 인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
KR10-2022-0036637 2022-03-24

Publications (1)

Publication Number Publication Date
WO2023182713A1 true WO2023182713A1 (ko) 2023-09-28

Family

ID=88101445

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/003341 WO2023182713A1 (ko) 2022-03-24 2023-03-23 인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR20230138703A (ko)
WO (1) WO2023182713A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112633287A (zh) * 2020-12-25 2021-04-09 中国矿业大学 一种面向矿井多源异构图文信息的文本识别方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003060788A1 (fr) * 2002-01-10 2003-07-24 Wireaction Inc. Procede d'entree automatique d'informations personnelles d'une page web
KR20060035932A (ko) * 2004-10-21 2006-04-27 주식회사 팬택 개인 휴대 단말기에서 일정 알림 서비스 제공 방법 및 그시스템
KR20130093838A (ko) * 2012-01-26 2013-08-23 정성권 자동 로그인 방법 및 자동 로그인 시스템
KR20180112031A (ko) * 2016-06-29 2018-10-11 구글 엘엘씨 컨텐츠 선택을 제공하는 시스템들 및 방법들
CN110070081A (zh) * 2019-03-13 2019-07-30 深圳壹账通智能科技有限公司 自动信息录入方法、装置、存储介质及电子设备
KR20220145408A (ko) * 2021-02-18 2022-10-28 (주)인포플라 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003060788A1 (fr) * 2002-01-10 2003-07-24 Wireaction Inc. Procede d'entree automatique d'informations personnelles d'une page web
KR20060035932A (ko) * 2004-10-21 2006-04-27 주식회사 팬택 개인 휴대 단말기에서 일정 알림 서비스 제공 방법 및 그시스템
KR20130093838A (ko) * 2012-01-26 2013-08-23 정성권 자동 로그인 방법 및 자동 로그인 시스템
KR20180112031A (ko) * 2016-06-29 2018-10-11 구글 엘엘씨 컨텐츠 선택을 제공하는 시스템들 및 방법들
CN110070081A (zh) * 2019-03-13 2019-07-30 深圳壹账通智能科技有限公司 自动信息录入方法、装置、存储介质及电子设备
KR20220145408A (ko) * 2021-02-18 2022-10-28 (주)인포플라 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112633287A (zh) * 2020-12-25 2021-04-09 中国矿业大学 一种面向矿井多源异构图文信息的文本识别方法及装置
CN112633287B (zh) * 2020-12-25 2024-04-26 中国矿业大学 一种面向矿井多源异构图文信息的文本识别方法及装置

Also Published As

Publication number Publication date
KR20230138703A (ko) 2023-10-05

Similar Documents

Publication Publication Date Title
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2022177345A1 (ko) 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2019182265A1 (ko) 인공 지능 기기 및 그의 동작 방법
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2019093819A1 (ko) 전자 장치 및 그 동작 방법
WO2023182713A1 (ko) 인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2019231130A1 (ko) 전자 장치 및 그의 제어방법
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2019107674A1 (en) Computing apparatus and information input method of the computing apparatus
WO2019050137A1 (en) SYSTEM AND METHOD FOR DETERMINING INPUT CHARACTERS BASED ON SCAN INPUT
EP3665897A1 (en) Electronic device and control method thereof
WO2020130260A1 (en) Mobile terminal and method of operating the same
WO2023090864A1 (ko) 악성 이벤트로그 자동분석 장치 및 방법
WO2020204219A1 (ko) 인공지능을 이용한 사물 인식 학습에서 아웃라이어를 분류하는 방법 및 분류장치와 로봇
WO2021040105A1 (ko) 개체명 테이블을 생성하는 인공 지능 장치 및 그 방법
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법
WO2020071618A1 (ko) 엔트로피 기반 신경망 부분학습 방법 및 시스템
WO2018124464A1 (ko) 전자 장치 및 전자 장치의 검색 서비스 제공 방법
WO2018164435A1 (en) Electronic apparatus, method for controlling the same, and non-transitory computer readable recording medium
WO2023224430A1 (en) Method and apparatus for on-device personalised analysis using a machine learning model
WO2023132657A1 (ko) 상품 트렌드 예측 서비스 제공 장치, 방법 및 프로그램
WO2024019226A1 (ko) 유해 url 탐지 방법
WO2019139459A2 (ko) 인공지능 장치

Legal Events

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

Ref document number: 23775211

Country of ref document: EP

Kind code of ref document: A1