WO2023177019A1 - 에지 및 클라우드 간 협업 시스템 및 방법 - Google Patents

에지 및 클라우드 간 협업 시스템 및 방법 Download PDF

Info

Publication number
WO2023177019A1
WO2023177019A1 PCT/KR2022/008387 KR2022008387W WO2023177019A1 WO 2023177019 A1 WO2023177019 A1 WO 2023177019A1 KR 2022008387 W KR2022008387 W KR 2022008387W WO 2023177019 A1 WO2023177019 A1 WO 2023177019A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
service
data
reasoner
cloud
Prior art date
Application number
PCT/KR2022/008387
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 WO2023177019A1 publication Critical patent/WO2023177019A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Definitions

  • This disclosure relates to an Edge-Cloud Collaboration System and Method, and more specifically, to a system that can perform analysis of edge data collected from edge devices through collaboration between edge devices and cloud servers. and methods.
  • edge devices such as various Internet of Things (IoT) devices
  • IoT Internet of Things
  • cloud services in which edge data collected from edge devices are sent to cloud servers and the cloud servers analyze the edge data have become widespread. It is being utilized.
  • edge device In these cloud services, having the edge device send all edge data to the cloud server and the cloud server process all edge data may be inefficient, at least in terms of cloud communication traffic and latency. Additionally, if all edge data collected by the edge device is sent to the cloud server, private personal data may also be provided to the cloud server, which may raise concerns about privacy infringement.
  • edge computing technology may be used to analyze edge data either from the edge device itself that collected the edge data or from another edge device separately.
  • edge devices and cloud servers may be used to analyze edge data.
  • a method may be needed to ensure that the configuration of the edge device and cloud server and/or the artificial intelligence model applied to each of them can be easily updated.
  • the present disclosure is proposed to solve this problem, and provides a collaboration system and method between the edge and the cloud that allows edge data to be inferred from an appropriate location among the edge device and cloud server depending on the type and purpose of the edge data.
  • the purpose is to
  • edge and cloud a collaboration system between edge and cloud that allows the configuration of edge devices and cloud servers and/or artificial intelligence models applied to each of them to be easily updated so that edge data can be used for various purposes in edge devices and cloud servers.
  • the purpose is to provide and method.
  • the present disclosure is a collaboration system between an edge device and a cloud server, wherein the edge device collects the edge data collected by at least one sensor for each of a plurality of services provided by the collaboration system.
  • a service coordinator who manages the flow within the collaborative service, and at least one edge artificial intelligence model for receiving the edge data as input data for inference and outputting an inference result for each of at least one service among the plurality of services.
  • An edge inference unit that may be provided, wherein the cloud server receives the edge data as input data for inference and outputs an inference result for each of at least one service among the plurality of services.
  • a collaboration system including a cloud reasoner including an intelligence model, and a collaboration manager for changing the configuration of at least one of the edge reasoner and the cloud reasoner based on log information of the edge reasoner and the cloud reasoner. can be provided.
  • the collaboration manager changes or creates data flow settings to match the changed configuration, and the service coordinator receives the data flow settings and manages the flow of edge data within the collaboration system for each service accordingly. there is.
  • the collaboration system may further include a service outpost for detecting triggering data from the edge data.
  • the collaboration manager may further change the configuration of the service outpost based on log information of the edge reasoner and the cloud reasoner.
  • the service coordinator may transmit the edge data as input data for inference to the edge reasoner or the cloud reasoner for a predetermined period of time from the time the triggering data is detected.
  • the service outpost processes the edge data to extract features of the edge data, and the service coordinator processes the processed edge data as input data for inference for a predetermined time from when the triggering data is detected. Alternatively, it can be transmitted to the cloud inference device.
  • the service coordinator receives edge data from the at least one sensor, identifies a target service corresponding to the received edge data among a plurality of services, and when the triggering data is detected through the service outpost, the service coordinator The inference location corresponding to the target service may be confirmed, and the edge data may be transmitted to a reasoner corresponding to the inference location among the edge inference device and the cloud inference device.
  • the service coordinator can confirm the inferred location corresponding to the target service through the data flow settings.
  • the collaboration manager determines the priority of the plurality of services based on the suitability of edge reasoner application for each service of the plurality of services, and according to the priority, each service of the plurality of services requests resources and the
  • the inference position can be determined by comparing the available resources of the edge device, and system configuration optimization can be performed based on the inference position for each service of the plurality of services.
  • the collaboration manager may change the configuration of at least one of the edge reasoner and the cloud reasoner through the system configuration optimization performed.
  • the collaboration manager may calculate the edge reasoner application suitability for each service by multiplying the pre-prepared edge reasoner suitability parameter for each item by the pre-prepared weight for each item for all items.
  • the weights for each item may have different values in normal times and in emergencies, so the suitability of applying the edge reasoner to each service in normal times may be different from the suitability of applying the edge reasoner to each service in an emergency.
  • the collaboration manager may perform the system configuration optimization at regular time intervals or when a predetermined event occurs.
  • the collaboration system further includes a collaboration user interface for outputting the changed configuration and receiving approval for the changed configuration from the user, and the collaboration manager receives approval for the changed configuration from the user for the collaboration user interface.
  • the changed configuration can be applied to the system.
  • At least one of the number of edge artificial intelligence models in the edge reasoner and the number of cloud artificial intelligence models in the cloud reasoner may change.
  • the service outpost may include at least one service filter where one service filter can be responsible for at least one service.
  • One of the at least one service filter includes a backbone for processing the edge data to extract features of the edge data for two or more services, and two filters for detecting the triggering data for each of the two or more services from the processed edge data. It may include the above outpost artificial intelligence models.
  • Another of the at least one service filter includes a backbone for processing the edge data to extract features of the edge data for two or more services, and a backbone for detecting the triggering data for each of the two or more services from the processed edge data. May include judgment logic.
  • Another one of the at least one service filter may include a lightweight artificial intelligence model for detecting triggering data from raw edge data received from the at least one sensor.
  • the present disclosure provides a method of collaboration between an edge device and a cloud server, including collecting edge data through at least one sensor of the edge device, the collaboration system through a service coordinator of the edge device, Managing the flow of the edge data within the collaboration system for each of the plurality of services provided, inferring the edge data through at least one edge artificial intelligence model in an edge inferrator of the edge device.
  • a collaboration method may be provided including the step of changing the configuration of at least one of an edge reasoner and the cloud reasoner.
  • the present disclosure provides a cloud server capable of communicating with an edge device, which receives edge data as input data for inference from the edge device and provides at least one of a plurality of services to be provided by the edge device.
  • a cloud reasoner including at least one cloud artificial intelligence model for outputting an inference result for each service, and log information of the cloud reasoner received from the cloud reasoner and an edge reasoner provided in the edge device
  • a cloud server including a collaboration manager for changing the configuration of the cloud reasoner based on at least one of the received log information of the edge reasoner may be provided.
  • the collaboration manager changes the configuration of the edge reasoner based on at least one of the log information of the cloud reasoner and the log information of the edge reasoner, and sends information about the changed configuration of the edge reasoner to the edge device. It can be sent to .
  • the collaboration manager configures a service outpost of the edge device to detect triggering data from the edge data based on at least one of the log information of the edge reasoner received from the edge reasoner provided in the edge device. may be changed, and information regarding the changed configuration of the service outpost may be transmitted to the edge device.
  • the collaboration manager may create data flow settings regarding the flow of edge data in the cloud server and the edge device, and transmit the generated data flow settings to the edge device.
  • the number of cloud artificial intelligence models in the cloud reasoner may change, and as the configuration of the edge reasoner changes, the number of edge artificial intelligence models in the edge reasoner may change. It may vary.
  • the collaboration manager determines the priority of the plurality of services based on the suitability of edge reasoner application for each service of the plurality of services, and according to the priority, each service of the plurality of services requests resources and the
  • the inference location may be determined by comparing the available resources of the edge device, and the configuration of at least one of the cloud inference device and the edge inference device may be changed based on the inference location for each service of the plurality of services.
  • the collaboration manager may change the configuration at regular time intervals or when a predetermined event occurs.
  • the collaboration manager may further change the configuration of the edge reasoner as the purpose of the edge device changes.
  • the collaboration manager may receive information about the purpose of the edge device from the edge device.
  • the collaboration manager may set the initial inference location for provision of a new service to the cloud reasoner, and change the inference location to the edge inference device when a predetermined time has elapsed after provision of the new service.
  • the collaboration manager may determine an inference location for a specific service based on a communication environment with the edge device.
  • the collaboration manager sets the inference location for the specific service to the cloud reasoner when communication with the edge device is good, and sets the inference location for the specific service to the edge reasoner when communication with the edge device is poor. You can.
  • the present disclosure provides a control method of a cloud server capable of communicating with an edge device, wherein edge data is input as input data for inference from the edge device, and the edge device is transmitted through a cloud inference device of the cloud server. outputting an inference result for each of at least one service among a plurality of services to be provided, and log information and the edge of the cloud inferencer received from the cloud inferencer through a collaboration manager of the cloud server.
  • a method of controlling a cloud server may be provided, including the step of changing the configuration of the cloud reasoner based on at least one of the log information of the edge reasoner received from the edge reasoner provided in the device.
  • the present disclosure provides an edge device capable of communicating with a cloud server, a service that manages the flow of edge data collected by at least one sensor for each of a plurality of services provided by the edge device.
  • a coordinator, and an edge reasoner capable of receiving the edge data as input data for inference and having at least one edge artificial intelligence model to output an inference result for each of at least one service among the plurality of services; , an edge device in which the configuration of the edge inferrator can be changed according to configuration information received from the cloud server can be provided.
  • the edge device may further include a service outpost for detecting triggering data from the edge data.
  • the configuration of the service outpost may be changed according to configuration information received from the cloud server.
  • the service coordinator may transmit the edge data as input data for inference to the edge reasoner or the cloud reasoner of the cloud server for a predetermined period of time from the time the triggering data is detected.
  • the service outpost processes the edge data to extract features of the edge data, and the service coordinator processes the processed edge data as input data for inference for a predetermined time from when the triggering data is detected. It can be transmitted to a reasoner or a cloud reasoner of the cloud server.
  • the service coordinator receives edge data from the at least one sensor, identifies a target service corresponding to the received edge data among a plurality of services, and when the triggering data is detected through the service outpost, the service coordinator The inference location corresponding to the target service may be confirmed, and the edge data may be transmitted to a reasoner corresponding to the inference location among the edge inference device and the cloud inference device of the cloud server.
  • the service coordinator can confirm the inferred location corresponding to the target service based on information about data flow settings received from the cloud server.
  • the number of edge artificial intelligence models in the edge reasoner may change.
  • the service outpost may include at least one service filter where one service filter can be responsible for at least one service.
  • One of the at least one service filter includes a backbone for processing the edge data to extract features of the edge data for two or more services, and two filters for detecting the triggering data for each of the two or more services from the processed edge data. It may include the above outpost artificial intelligence models.
  • Another of the at least one service filter includes a backbone for processing the edge data to extract features of the edge data for two or more services, and a backbone for detecting the triggering data for each of the two or more services from the processed edge data. May include judgment logic.
  • Another one of the at least one service filter may include a lightweight artificial intelligence model for detecting triggering data from raw edge data received from the at least one sensor.
  • the standard for detecting the triggering data may change depending on the location of the edge device.
  • the present disclosure is a method of controlling an edge device capable of communicating with a cloud server, which includes at least one sensor for each of a plurality of services provided by the edge device through a service coordinator of the edge device. Managing the flow of edge data collected by, receiving the edge data as input data for inference through an edge reasoner of the edge device and outputting an inference result for each of at least one service among the plurality of services.
  • a method of controlling an edge device can be provided, including the step of changing the configuration of the edge reasoner according to configuration information received from the cloud server.
  • edge data can be inferred from an appropriate location between the edge device and the cloud server depending on the type and purpose of the edge data.
  • an artificial intelligence model that allows edge data to be used for various purposes may be applied to edge devices and cloud servers, or the used artificial intelligence model may be utilized for other purposes. It has the advantage of being able to be easily updated.
  • FIG 1 shows an AI device according to an embodiment of the present disclosure.
  • Figure 2 shows an AI server according to an embodiment of the present disclosure.
  • Figure 3 shows an AI system according to an embodiment of the present disclosure.
  • Figure 4 shows an AI device according to another embodiment of the present disclosure.
  • Figure 5 is a block diagram from a software perspective of a collaboration system between an edge device and a cloud server according to an embodiment of the present disclosure.
  • FIG. 6 is a block diagram illustrating in more detail the relationship between the service coordinator and the service outpost of the collaboration system of FIG. 5.
  • Figure 7 is a block diagram showing the service outpost of Figure 6 in more detail.
  • FIG. 8 is a block diagram illustrating in more detail the relationship between the service outpost, edge inference unit, and cloud inference unit of the collaboration system of FIG. 5.
  • Figures 9 to 12 show examples of changes in system configuration in the collaboration system of Figure 5.
  • FIG. 13 is a diagram showing the collaboration user interface of the collaboration system of FIG. 5 in more detail.
  • FIG. 14 illustrates a process in which edge data is processed in one selected from an edge reasoner and a cloud reasoner to provide a service according to an embodiment of the present disclosure.
  • Figure 15 shows a process for optimizing system configuration according to an embodiment of the present disclosure.
  • FIG. 16 shows the edge reasoner application suitability calculation process for each service in FIG. 15 and the parameters and weights for this.
  • Figure 17 shows an example of calculation of edge reasoner application suitability for each service in Figure 16.
  • Figure 18 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • Figure 19 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • Figure 20 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • Figure 21 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • Figure 22 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • These components may each be composed of separate individual hardware modules or may be implemented as two or more hardware modules, or two or more components may be implemented as one hardware module, and in some cases, may also be implemented as software. Of course.
  • the expression “at least one of A and B” may mean “A”, may mean “B”, or may mean both “A” and “B”.
  • AI artificial intelligence
  • Machine learning refers to the field of defining various problems dealt with in the field of artificial intelligence and researching methodologies to solve them. do.
  • Machine learning is also defined as an algorithm that improves the performance of a task through consistent experience.
  • ANN Artificial Neural Network
  • ANN is a model used in machine learning and can refer to an overall model with problem-solving capabilities that is composed of artificial neurons (nodes) that form a network through the combination of synapses.
  • Artificial neural networks can be defined by connection patterns between neurons in different layers, a learning process that updates model parameters, and an activation function that generates output values.
  • An artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include synapses connecting neurons. In an artificial neural network, each neuron can output the activation function value for the input signals, weight, and bias input through the synapse.
  • Model parameters refer to parameters determined through learning and include the weight of synaptic connections and the bias of neurons.
  • Hyperparameters refer to parameters that must be set before learning in a machine learning algorithm and include learning rate, number of repetitions, mini-batch size, initialization function, etc.
  • the purpose of artificial neural network learning can be seen as determining model parameters that minimize the loss function.
  • the loss function can be used as an indicator to determine optimal model parameters in the learning process of an artificial neural network.
  • Machine learning can be classified into supervised learning, unsupervised learning, and reinforcement learning depending on the learning method.
  • Supervised learning refers to a method of training an artificial neural network with a given label for the learning data.
  • a label refers to the correct answer (or result value) that the artificial neural network must infer when learning data is input to the artificial neural network. It can mean.
  • Unsupervised learning can refer to a method of training an artificial neural network in a state where no labels for training data are given.
  • Reinforcement learning can refer to a learning method in which an agent defined within an environment learns to select an action or action sequence that maximizes the cumulative reward in each state.
  • machine learning implemented with a deep neural network is also called deep learning, and deep learning is a part of machine learning.
  • machine learning is used to include deep learning.
  • Object detection models using machine learning include the single-step YOLO (you Only Look Once) model and the two-step Faster R-CNN (Regions with Convolution Neural Networks) model.
  • the YOLO (you Only Look Once) model is a model in which objects that exist in an image and their location can be predicted by looking at the image only once.
  • the YOLO (you Only Look Once) model divides the original image into grids of equal size. Then, for each grid, the number of bounding boxes designated in a predefined form centered on the center of the grid is predicted, and reliability is calculated based on this.
  • the Faster R-CNN (Regions with Convolution Neural Networks) model is a model that can detect objects faster than the RCNN model and Fast RCNN model.
  • the Faster R-CNN (Regions with Convolution Neural Networks) model is explained in detail.
  • a feature map is extracted from the image through a CNN (Convolution Neural Network) model. Based on the extracted feature map, a plurality of regions of interest (RoI) are extracted. RoI pooling is performed for each region of interest.
  • CNN Convolution Neural Network
  • RoI pooling sets the grid on which the area of interest is projected to fit the predetermined H It is an extraction process.
  • a feature vector is extracted from a feature map having a size of H x W, and identification information of the object can be obtained from the feature vector.
  • Figure 1 shows an AI device 100 according to an embodiment of the present disclosure.
  • the AI device 100 includes TVs, projectors, mobile phones, smartphones, desktop computers, laptops, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation, tablet PCs, wearable devices, and set-top boxes (STBs). ), DMB receivers, radios, washing machines, refrigerators, desktop computers, digital signage, robots, vehicles, etc., can be implemented as fixed or movable devices.
  • the AI device 100 includes a communication unit 110, an input unit 120, a learning processor 130, a sensing unit 140, an output unit 150, a memory 170, and a processor 180. may include.
  • the communication unit 110 can transmit and receive data with external devices such as other AI devices 100a to 100e or the AI server 200 using wired or wireless communication technology.
  • the communication unit 110 may transmit and receive sensor information, user input, learning models, and control signals with external devices.
  • the communication technologies used by the communication unit 110 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth TM , RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • 5G Fifth Generation
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • Bluetooth TM Bluetooth TM
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the input unit 120 can acquire various types of data.
  • the input unit 120 may include a camera for inputting video signals, a microphone for receiving audio signals, and a user input unit for receiving information from the user.
  • the camera or microphone may be treated as a sensor, and the signal obtained from the camera or microphone may be referred to as sensing data or sensor information.
  • the input unit 120 may acquire training data for model learning and input data to be used when obtaining an output using the learning model.
  • the input unit 120 may acquire unprocessed input data, and in this case, the processor 180 or the learning processor 130 may extract input features by preprocessing the input data.
  • the learning processor 130 can train a model composed of an artificial neural network using training data.
  • the learned artificial neural network may be referred to as a learning model.
  • a learning model can be used to infer a result value for new input data other than learning data, and the inferred value can be used as the basis for a decision to perform an operation.
  • the learning processor 130 may perform AI processing together with the learning processor 240 of the AI server 200.
  • the learning processor 130 may include memory integrated or implemented in the AI device 100.
  • the learning processor 130 may be implemented using the memory 170, an external memory directly coupled to the AI device 100, or a memory maintained in an external device.
  • the sensing unit 140 may use various sensors to obtain at least one of internal information of the AI device 100, information about the surrounding environment of the AI device 100, and user information.
  • the sensors included in the sensing unit 140 include a proximity sensor, illuminance sensor, acceleration sensor, magnetic sensor, gyro sensor, inertial sensor, RGB sensor, IR sensor, fingerprint recognition sensor, ultrasonic sensor, light sensor, microphone, and lidar. , radar, etc.
  • the output unit 150 may generate output related to vision, hearing, or tactile sensation.
  • the output unit 150 may include a display unit that outputs visual information, a speaker that outputs auditory information, and a haptic module that outputs tactile information.
  • the memory 170 may store data supporting various functions of the AI device 100.
  • the memory 170 may store input data, learning data, learning models, learning history, etc. obtained from the input unit 120.
  • the processor 180 may determine at least one executable operation of the AI device 100 based on information determined or generated using a data analysis algorithm or a machine learning algorithm. Additionally, the processor 180 may control the components of the AI device 100 to perform the determined operation.
  • the processor 180 may request, retrieve, receive, or utilize data from the learning processor 130 or the memory 170, and perform an operation that is predicted or determined to be desirable among the at least one executable operation.
  • Components of the AI device 100 can be controlled to execute.
  • the processor 180 may generate a control signal to control the external device and transmit the generated control signal to the external device.
  • the processor 180 may obtain intent information regarding user input and determine the user's request based on the obtained intent information.
  • the processor 180 uses at least one of a STT (Speech To Text) engine for converting voice input into a character string or a Natural Language Processing (NLP) engine for acquiring intent information of natural language, so that the user Intent information corresponding to the input can be obtained.
  • STT Seech To Text
  • NLP Natural Language Processing
  • At this time, at least one of the STT engine or the NLP engine may be composed of at least a portion of an artificial neural network learned according to a machine learning algorithm. And, at least one of the STT engine or the NLP engine is learned by the learning processor 130, learned by the learning processor 240 of the AI server 200, or learned by distributed processing thereof. It may be.
  • the processor 180 collects history information including the user's feedback on the operation or operation of the AI device 100 and stores it in the memory 170 or the learning processor 130, or in the AI server 200, etc. Can be transmitted to an external device. The collected historical information can be used to update the learning model.
  • the processor 180 may control at least some of the components of the AI device 100 to run an application program stored in the memory 170. Furthermore, the processor 180 may operate two or more of the components included in the AI device 100 in combination with each other to run the application program.
  • FIG. 2 shows an AI server 200 according to an embodiment of the present disclosure.
  • the AI server 200 may refer to a device that trains an artificial neural network using a machine learning algorithm or uses a learned artificial neural network.
  • the AI server 200 may be composed of a plurality of servers to perform distributed processing, and may be defined as a 5G network.
  • the AI server 200 may be included as a part of the AI device 100 and may perform at least part of the AI processing.
  • the AI server 200 may include a communication unit 210, a memory 230, a learning processor 240, and a processor 260.
  • the communication unit 210 can transmit and receive data with an external device such as the AI device 100.
  • Memory 230 may include a model storage unit 231.
  • the model storage unit 231 may store a model (or artificial neural network, 231a) that is being trained or has been learned through the learning processor 240.
  • the learning processor 240 can train the artificial neural network 231a using training data.
  • the learning model may be used while mounted on the AI server 200 of the artificial neural network, or may be mounted and used on an external device such as the AI device 100.
  • Learning models can be implemented in hardware, software, or a combination of hardware and software.
  • the learning model When part or all of the learning model is implemented as software, one or more instructions constituting the learning model may be stored in the memory 230.
  • the processor 260 may infer a result value for new input data using a learning model and generate a response or control command based on the inferred result value.
  • FIG. 3 shows an AI system 1 according to an embodiment of the present disclosure.
  • the AI system 1 includes at least one of an AI server 200, a robot 100a, an autonomous vehicle 100b, an XR device 100c, a smartphone 100d, or a home appliance 100e. It can be configured to be connected to the cloud network 10.
  • a robot 100a, an autonomous vehicle 100b, an XR device 100c, a smartphone 100d, or a home appliance 100e to which AI technology is applied may be referred to as AI devices 100a to 100e.
  • the cloud network 10 may constitute part of a cloud computing infrastructure or may refer to a network that exists within the cloud computing infrastructure.
  • the cloud network 10 may be configured using a 3G network, 4G, Long Term Evolution (LTE) network, or 5G network.
  • each device (100a to 100e, 200) constituting the AI system 1 may be connected to each other through the cloud network 10.
  • the devices 100a to 100e and 200 may communicate with each other through a base station, but may also communicate directly with each other without going through the base station.
  • the AI server 200 may include a server that performs AI processing and a server that performs calculations on big data.
  • the AI server 200 is connected to at least one of the AI devices constituting the AI system 1: a robot 100a, an autonomous vehicle 100b, an XR device 100c, a smartphone 100d, or a home appliance 100e. It is connected through the cloud network 10 and can assist at least some of the AI processing of the connected AI devices 100a to 100e.
  • the AI server 200 can train an artificial neural network according to a machine learning algorithm on behalf of the AI devices 100a to 100e, and directly store or transmit the learning model to the AI devices 100a to 100e.
  • the AI server 200 receives input data from the AI devices 100a to 100e, infers a result value for the received input data using a learning model, and provides a response or control command based on the inferred result value. It can be generated and transmitted to AI devices (100a to 100e).
  • the AI devices 100a to 100e may infer a result value for input data using a direct learning model and generate a response or control command based on the inferred result value.
  • AI devices 100a to 100e to which the above-described technology is applied will be described.
  • the AI devices 100a to 100e shown in FIG. 3 can be viewed as specific examples of the AI device 100 shown in FIG. 1.
  • the robot 100a applies AI technology and can be implemented as a guidance robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, etc.
  • the robot 100a may include a robot control module for controlling operations, and the robot control module may mean a software module or a chip implementing it as hardware.
  • the robot 100a uses sensor information obtained from various types of sensors to obtain status information of the robot 100a, detect (recognize) the surrounding environment and objects, generate map data, or determine movement path and driving. It can determine a plan, determine a response to user interaction, or determine an action.
  • the robot 100a may use sensor information acquired from at least one sensor among lidar, radar, and camera to determine the movement path and driving plan.
  • the robot 100a may perform the above operations using a learning model composed of at least one artificial neural network.
  • the robot 100a can recognize the surrounding environment and objects using a learning model, and can determine an operation using the recognized surrounding environment information or object information.
  • the learning model may be learned directly from the robot 100a or from an external device such as the AI server 200.
  • the robot 100a may perform an operation by generating a result using a direct learning model, but performs the operation by transmitting sensor information to an external device such as the AI server 200 and receiving the result generated accordingly. You may.
  • the robot 100a determines the movement path and driving plan using at least one of map data, object information detected from sensor information, or object information acquired from an external device, and controls the driving unit to follow the determined movement path and driving plan.
  • the robot 100a can be driven accordingly.
  • the map data may include object identification information about various objects arranged in the space where the robot 100a moves.
  • map data may include object identification information for fixed objects such as walls and doors and movable objects such as flower pots and desks.
  • object identification information may include name, type, distance, location, etc.
  • the robot 100a can perform actions or drive by controlling the driving unit based on the user's control/interaction. At this time, the robot 100a may acquire interaction intention information according to the user's motion or voice utterance, determine a response based on the acquired intention information, and perform the operation.
  • the self-driving vehicle 100b can be implemented as a mobile robot, vehicle, unmanned aerial vehicle, etc. by applying AI technology.
  • the autonomous vehicle 100b may include an autonomous driving control module for controlling autonomous driving functions, and the autonomous driving control module may refer to a software module or a chip implementing it as hardware.
  • the self-driving control module may be included internally as a component of the self-driving vehicle 100b, but may also be configured as separate hardware and connected to the outside of the self-driving vehicle 100b.
  • the self-driving vehicle 100b uses sensor information obtained from various types of sensors to obtain status information of the self-driving vehicle 100b, detect (recognize) the surrounding environment and objects, generate map data, or You can determine the movement route and driving plan, or determine the action.
  • the autonomous vehicle 100b may use sensor information acquired from at least one sensor among lidar, radar, and camera to determine the movement path and driving plan.
  • the autonomous vehicle 100b can recognize the environment or objects in an area where the view is obscured or an area over a certain distance by receiving sensor information from external devices, or receive recognized information directly from external devices. .
  • the autonomous vehicle 100b may perform the above operations using a learning model composed of at least one artificial neural network.
  • the self-driving vehicle 100b can recognize the surrounding environment and objects using a learning model, and can determine a driving route using the recognized surrounding environment information or object information.
  • the learning model may be learned directly from the autonomous vehicle 100b or from an external device such as the AI server 200.
  • the self-driving vehicle 100b may perform operations by generating results using a direct learning model, but operates by transmitting sensor information to an external device such as the AI server 200 and receiving the results generated accordingly. You can also perform .
  • the autonomous vehicle 100b determines the movement path and driving plan using at least one of map data, object information detected from sensor information, or object information acquired from an external device, and controls the driving unit to maintain the determined movement path and driving.
  • the autonomous vehicle 100b can be driven according to a plan.
  • the map data may include object identification information about various objects placed in the space (eg, road) where the autonomous vehicle 100b drives.
  • map data may include object identification information for fixed objects such as streetlights, rocks, and buildings, and movable objects such as vehicles and pedestrians.
  • object identification information may include name, type, distance, location, etc.
  • the autonomous vehicle 100b can perform operations or drive by controlling the driving unit based on the user's control/interaction. At this time, the autonomous vehicle 100b may acquire interaction intention information according to the user's motion or voice utterance, determine a response based on the acquired intention information, and perform the operation.
  • the XR device (100c) is equipped with AI technology and can be used for HMD (Head-Mount Display), HUD (Head-Up Display) installed in vehicles, televisions, mobile phones, smart phones, computers, wearable devices, home appliances, and digital signage. , it can be implemented as a vehicle, a fixed robot, or a mobile robot.
  • HMD Head-Mount Display
  • HUD Head-Up Display
  • the XR device 100c analyzes 3D point cloud data or image data acquired through various sensors or from external devices to generate location data and attribute data for 3D points, thereby providing information about surrounding space or real objects.
  • the XR object to be acquired and output can be rendered and output.
  • the XR device 100c may output an XR object containing additional information about the recognized object in correspondence to the recognized object.
  • the XR device 100c may perform the above operations using a learning model composed of at least one artificial neural network.
  • the XR device 100c can recognize a real object from 3D point cloud data or image data using a learning model, and provide information corresponding to the recognized real object.
  • the learning model may be learned directly from the XR device 100c or may be learned from an external device such as the AI server 200.
  • the XR device 100c may perform an operation by generating a result using a direct learning model, but may perform the operation by transmitting sensor information to an external device such as the AI server 200 and receiving the result generated accordingly. It can also be done.
  • the robot 100a applies AI technology and autonomous driving technology, and can be implemented as a guidance robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, etc.
  • the robot 100a to which AI technology and autonomous driving technology is applied may refer to a robot itself with autonomous driving functions or a robot 100a that interacts with an autonomous vehicle 100b.
  • the robot 100a with an autonomous driving function may refer to devices that move on their own along a given route without user control or move by determining the route on their own.
  • a robot 100a and an autonomous vehicle 100b with autonomous driving functions may use a common sensing method to determine one or more of a movement path or a driving plan.
  • the robot 100a and the autonomous vehicle 100b with autonomous driving functions can determine one or more of a movement path or a driving plan using information sensed through lidar, radar, and cameras.
  • the robot 100a that interacts with the self-driving vehicle 100b exists separately from the self-driving vehicle 100b and is linked to the self-driving function inside the self-driving vehicle 100b or is connected to the self-driving vehicle 100b. You can perform actions linked to the user on board.
  • the robot 100a interacting with the self-driving vehicle 100b acquires sensor information on behalf of the self-driving vehicle 100b and provides it to the self-driving vehicle 100b, or acquires sensor information and provides surrounding environment information or By generating object information and providing it to the autonomous vehicle 100b, the autonomous driving function of the autonomous vehicle 100b can be controlled or assisted.
  • the robot 100a interacting with the self-driving vehicle 100b may monitor the user riding the self-driving vehicle 100b or control the functions of the self-driving vehicle 100b through interaction with the user. .
  • the robot 100a may activate the autonomous driving function of the autonomous vehicle 100b or assist in controlling the driving unit of the autonomous vehicle 100b.
  • the functions of the autonomous vehicle 100b controlled by the robot 100a may include not only the autonomous driving function but also functions provided by a navigation system or audio system provided inside the autonomous vehicle 100b.
  • the robot 100a interacting with the self-driving vehicle 100b may provide information to the self-driving vehicle 100b or assist its functions from outside the self-driving vehicle 100b.
  • the robot 100a may provide traffic information including signal information to the autonomous vehicle 100b, such as a smart traffic light, and may interact with the autonomous vehicle 100b, such as an automatic electric charger for an electric vehicle. You can also automatically connect an electric charger to the charging port.
  • the robot 100a applies AI technology and XR technology and can be implemented as a guidance robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, a drone, etc.
  • the robot 100a to which XR technology is applied may refer to a robot that is subject to control/interaction within an XR image.
  • the robot 100a is distinct from the XR device 100c and may be interoperable with each other.
  • the robot 100a which is the object of control/interaction within the XR image, acquires sensor information from sensors including a camera
  • the robot 100a or the XR device 100c generates an XR image based on the sensor information.
  • the XR device 100c can output the generated XR image.
  • this robot 100a may operate based on a control signal input through the XR device 100c or user interaction.
  • the user can check the XR image corresponding to the viewpoint of the remotely linked robot 100a through an external device such as the XR device 100c, and adjust the autonomous driving path of the robot 100a through interaction. , you can control movement or driving, or check information about surrounding objects.
  • the self-driving vehicle 100b can be implemented as a mobile robot, vehicle, unmanned aerial vehicle, etc. by applying AI technology and XR technology.
  • the autonomous vehicle 100b to which XR technology is applied may refer to an autonomous vehicle equipped with a means for providing XR images or an autonomous vehicle that is subject to control/interaction within XR images.
  • the autonomous vehicle 100b, which is the subject of control/interaction within the XR image is distinct from the XR device 100c and may be interoperable with each other.
  • An autonomous vehicle 100b equipped with a means for providing an XR image may acquire sensor information from sensors including a camera and output an XR image generated based on the acquired sensor information.
  • the self-driving vehicle 100b may be equipped with a HUD and output XR images, thereby providing occupants with XR objects corresponding to real objects or objects on the screen.
  • the XR object when the XR object is output to the HUD, at least a portion of the XR object may be output to overlap the actual object toward which the passenger's gaze is directed.
  • the XR object when the XR object is output to a display provided inside the autonomous vehicle 100b, at least part of the XR object may be output to overlap the object in the screen.
  • the autonomous vehicle 100b may output XR objects corresponding to objects such as lanes, other vehicles, traffic lights, traffic signs, two-wheeled vehicles, pedestrians, buildings, etc.
  • the autonomous vehicle 100b which is the subject of control/interaction within the XR image, acquires sensor information from sensors including a camera, the autonomous vehicle 100b or the XR device 100c detects sensor information based on the sensor information. An XR image is generated, and the XR device 100c can output the generated XR image.
  • this autonomous vehicle 100b may operate based on a control signal input through an external device such as the XR device 100c or user interaction.
  • Figure 4 shows an AI device 100 according to an embodiment of the present disclosure.
  • the input unit 120 includes a camera 121 for inputting video signals, a microphone 122 for receiving audio signals, and a user input unit for receiving information from the user. 123) may be included.
  • Voice data or image data collected by the input unit 120 may be analyzed and processed as a user's control command.
  • the input unit 120 is for inputting image information (or signal), audio information (or signal), data, or information input from the user.
  • the AI device 100 includes one or more Cameras 121 may be provided.
  • the camera 121 processes image frames such as still images or moving images obtained by an image sensor in video call mode or shooting mode.
  • the processed image frame may be displayed on the display unit (151) or stored in the memory (170).
  • the microphone 122 processes external acoustic signals into electrical voice data.
  • Processed voice data can be utilized in various ways depending on the function (or application being executed) being performed by the AI device 100. Meanwhile, various noise removal algorithms may be applied to the microphone 122 to remove noise generated in the process of receiving an external acoustic signal.
  • the user input unit 123 is for receiving information from the user.
  • the processor 180 can control the operation of the AI device 100 to correspond to the input information. .
  • the user input unit 123 is a mechanical input means (or mechanical key, such as a button, dome switch, jog wheel, jog switch, etc. located on the front/rear or side of the terminal 100) and It may include a touch input means.
  • the touch input means consists of a virtual key, soft key, or visual key displayed on the touch screen through software processing, or a part other than the touch screen. It can be done with a touch key placed in .
  • the output unit 150 includes at least one of a display unit (151), a sound output unit (152), a haptic module (153), and an optical output unit (154). can do.
  • the display unit 151 displays (outputs) information processed by the AI device 100.
  • the display unit 151 may display execution screen information of an application running on the AI device 100, or UI (User Interface) and GUI (Graphic User Interface) information according to this execution screen information.
  • UI User Interface
  • GUI Graphic User Interface
  • the display unit 151 can implement a touch screen by forming a layered structure or being integrated with the touch sensor.
  • This touch screen functions as a user input unit 123 that provides an input interface between the AI device 100 and the user, and can simultaneously provide an output interface between the terminal 100 and the user.
  • the audio output unit 152 may output audio data received from the communication unit 110 or stored in the memory 170 in call signal reception, call mode or recording mode, voice recognition mode, broadcast reception mode, etc.
  • the sound output unit 152 may include at least one of a receiver, a speaker, and a buzzer.
  • the haptic module 153 generates various tactile effects that the user can feel.
  • a representative example of a tactile effect generated by the haptic module 153 may be vibration.
  • the optical output unit 154 uses light from the light source of the AI device 100 to output a signal to notify that an event has occurred. Examples of events that occur in the AI device 100 may include receiving a message, receiving a call signal, missed call, alarm, schedule notification, receiving email, receiving information through an application, etc.
  • FIG. 5 is a block diagram from a software perspective of a collaboration system between an edge device and a cloud server according to an embodiment of the present disclosure.
  • the description will be made assuming that the edge device 100 is a vehicle.
  • At least one sensor included in the sensing unit 140 of the vehicle 100 may collect various data related to the vehicle 100.
  • Data related to the vehicle 100 collected by the at least one sensor may be understood as edge data.
  • the sensing unit 140 may include at least one of a location search unit (not shown), a vehicle status collection unit (not shown), and a vehicle interior and exterior situation collection unit (not shown).
  • the location search unit may search for the current location of the vehicle 100 and provide the current location to the processor 180 of the vehicle.
  • the location search unit may search the current location of the vehicle through one or more of satellite navigation and dead reckoning.
  • satellite navigation measures the vehicle's location information based on GNSS (Global Navigation Satellite System), such as GPS (Global Positioning System), GLONASS (Global Navigation Satellite System), Galileo, Beidou, etc. You can search for your current location by receiving location information from the system.
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • GLONASS Global Navigation Satellite System
  • Galileo Galileo
  • Beidou Beidou
  • dead reckoning measures the vehicle's location information based on the speed and vehicle's DR (Dead Reckoning) information obtained from the vehicle's speedometer (not shown), gyro sensor (not shown), and geomagnetic sensor (not shown). You can search for your current location.
  • speed and vehicle's DR Dead Reckoning
  • the vehicle state collection unit may collect the driving state of the vehicle and provide it to the processor 180 of the vehicle.
  • the vehicle's steering state, braking state, acceleration state, and driving state can be collected and provided.
  • the vehicle interior and exterior situation collection unit may collect data on the exterior and interior situations of the vehicle and provide the data to the processor 180 of the vehicle.
  • the vehicle interior and exterior situation collection unit includes cameras (e.g., vehicle exterior cameras (i.e., front camera, left camera, right camera, rear camera, etc.) and vehicle interior cameras (driver camera, passenger camera, etc.), radar, and Including one or more of the lidar, all surrounding situations required for autonomous driving, such as lanes, traffic lights, surrounding vehicles, pedestrians, obstacles, and passengers, can be detected.
  • cameras e.g., vehicle exterior cameras (i.e., front camera, left camera, right camera, rear camera, etc.) and vehicle interior cameras (driver camera, passenger camera, etc.), radar, and Including one or more of the lidar, all surrounding situations required for autonomous driving, such as lanes, traffic lights, surrounding vehicles, pedestrians, obstacles, and passengers, can be detected.
  • Edge data collected by the sensing unit 140 may be transmitted to a service coordinator 300.
  • the transmission may occur in real time as the edge data is collected. That is, when the data is collected by the sensing unit 140, it can be virtually immediately transmitted to the service coordinator 300.
  • the service coordinator 300 receives the edge data collected by the sensing unit 140, and sets a data flow setting determined through the collaboration manager 600, which will be described later, and received from the collaboration manager 600. ), it may be determined whether the received edge data is related to at least one of a plurality of services that the vehicle 100 can provide.
  • the data flow settings are information about the path through which data flows for data processing within the system, and can be determined in relation to the system configuration, which will be described later. That is, the data flow settings are configured to conform to the system configuration by i) a path through which various edge data collected by the sensing unit 140 are transmitted to the service outpost 400, which will be described later, and ii) the edge data will be transmitted to a service outpost 400, which will be described later. It may include information about which of the edge inferencer 500 and the cloud inferencer 700 is transmitted to become input data for inference, that is, the inference location of the edge data. Depending on the type of edge data, at least one of the route transmitted to the service outpost 400 and the inferred location may vary. When the system configuration is changed, the data flow settings may be changed or created to match the changed system configuration.
  • a plurality of data in the service outpost 400 are configured to correspond to each type of edge data (e.g., image type, voice or sound type, temperature type, ambient light brightness type, etc.).
  • At least one of the services i.e., a plurality of services provided by the vehicle
  • the inferred position of the edge data may be determined to correspond to each of the plurality of services.
  • the service coordinator 300 may ignore the received edge data.
  • the service coordinator 300 may transmit the edge data to the service outpost 400.
  • the service coordinator 300 may transmit the edge data to a service group within the service outpost 400 that is responsible for the at least one related service.
  • the service group is a bundle of components that provide similar services, which will be described later.
  • the service outpost 400 may process the edge data into an appropriate form and detect triggering data required for at least one of the plurality of services from among the edge data or the processed edge data.
  • the service outpost 400 sends the edge data received from the sensing unit 140 to the service coordinator ( 300), the processed data can be transmitted to the edge inference device 500 or the cloud inference device 700.
  • the processed data becomes input data for inference of the edge reasoner 500 or the cloud reasoner 700.
  • the processed data may be transmitted from the service outpost 400 to the edge reasoner 500 or the cloud reasoner 700 through the service coordinator 300.
  • the processed data may be transmitted directly from the service outpost 400 to the edge inference unit 500 or the cloud inference unit 700 without passing through the service coordinator 300.
  • the service coordinator 300 the service coordinator
  • edge reasoner 500 or the cloud reasoner 700 the processed data does not necessarily have to be input data for inference.
  • edge data i.e., raw edge data
  • the service coordinator 300 it may be transmitted to the device 500 or the cloud inference device 700 and become input data for inference.
  • the service coordinator 300, the service outpost 400, and the edge reasoner 500 described above are modules from a software perspective implemented in the vehicle 100, that is, an edge device, and are implemented in the vehicle 100. ) can be implemented through hardware such as the memory 170 and the processor 180.
  • the collaboration manager 600 which can be implemented in the cloud server 200, allows the service outpost 400 to provide triggering data for at least one of the plurality of services among the edge data.
  • the detection criteria can be determined and delivered to the service outpost 400.
  • the collaboration manager 600 may determine the data flow settings and transmit them to the service coordinator 300.
  • the service outpost 400 may detect triggering data required for at least one of the plurality of services from among the data according to the triggering data detection standard determined by the collaboration manager 600.
  • the processed or unprocessed edge data is transmitted to the edge reasoner 500 or the cloud reasoner 700 as the inference input data for a predetermined period of time from the time the triggering data is detected. It can be done as described above.
  • At least one of the plurality of services in the service outpost 400 may be defined to correspond to each type of the edge data, and to correspond to each of the plurality of services.
  • the inferred position of the edge data can be determined.
  • the collaboration manager 600 may receive log information about artificial intelligence inference from at least one of the edge reasoner 500 and the cloud reasoner 700 through the service coordinator 300.
  • the log information is an operation result for artificial intelligence inference and may include, for example, information about available system resources, system resource usage, number of real-time inferences (or number of inferences accumulated over a given period of time), and/or inference accuracy. there is.
  • the log information may be transmitted directly to the collaboration manager 600 without going through the service coordinator 300.
  • the collaboration manager 600 operates at least one of the service outpost 400, the edge reasoner 500, and the cloud reasoner 700 based on the log information and/or the driving environment of the vehicle. Is the configuration (hereinafter “system configuration”) suitable, and/or is the artificial intelligence currently configured in at least one of the service outpost 400, the edge reasoner 500, and the cloud reasoner 700 You can determine whether the intelligence model is appropriate. In making the decision, the collaboration manager 600 may further consider expected communication costs between the vehicle 100 and the cloud server 200 for operating the collaboration system.
  • the collaboration manager 600 changes/changes the configuration of at least one of the service outpost 400, the edge reasoner 500, and the cloud reasoner 700 and You can update to a new artificial intelligence model instead of the existing artificial intelligence model.
  • the data flow settings may also be changed according to the changed configuration. For example, when it is determined that the system resource usage of the edge reasoner 500 is high, the collaboration manager 600 lowers the system resource usage of the edge reasoner 500 and instead uses the cloud reasoner 700. ), the system configuration can be changed to increase system resource usage.
  • the collaboration manager 600 changes the system configuration to add the new service, and changes the system configuration to add the new service.
  • the data flow settings can be changed to match.
  • the collaboration manager 600 generates an artificial intelligence model corresponding to the new service according to the changed system configuration to at least one of the service outpost 400, the edge reasoner 500, and the cloud reasoner 700. You can deploy a new one.
  • Updating and distributing the artificial intelligence model can be done through software OTA (over-the-air) technology.
  • the edge reasoner 500 and the cloud reasoner 700 may receive the input data for inference and output an inference result based on an internal artificial intelligence model.
  • the inference result may correspond to the final result of a service provided by the vehicle 100 (e.g., dangerous situation detection and guidance) or another service provided by the vehicle 100 (e.g., dangerous situation response It can also be used as an input for a service).
  • a service provided by the vehicle 100 e.g., dangerous situation detection and guidance
  • another service provided by the vehicle 100 e.g., dangerous situation response It can also be used as an input for a service.
  • the collaboration manager 600 and the cloud reasoner 700 described above are modules from a software perspective implemented in the cloud server 200, and include the memory 230 and the processor ( 260) and the like can be implemented through hardware.
  • the collaboration user interface 800 outputs the system configuration determined by the collaboration manager 600 to obtain approval from the user before actually applying it, and the user can apply the determined system configuration through the collaboration user interface 800. can be approved.
  • the collaborative user interface 800 may be output through the display unit 151 of the vehicle 100, or may be output to another device of the user (for example, a smartphone 100d).
  • the collaboration manager 600 can apply the system configuration to the present system.
  • the collaborative user interface 800 outputs the system resource usage required for each service currently being provided by the vehicle 100, and allows the user to refer to the output system resource usage to determine whether to approve the determined system configuration. It can be helpful in making decisions.
  • the database 900 may store at least one artificial intelligence model and footprint information that can be applied to this system. Since the artificial intelligence model has been described previously, detailed explanation will be omitted.
  • the footprint information may include system resource usage information expected to be required for each service when designing this system.
  • the database 900 may include log information about artificial intelligence inference of the edge reasoner 500 and the cloud reasoner 700.
  • the log information is transmitted from the edge reasoner 500 and the cloud reasoner 700 to the collaboration manager 600 through the service coordinator 300, and the collaboration manager 600 Log information can be stored in the database 900.
  • the log information may be directly transmitted from the edge reasoner 500 and/or the cloud reasoner 700 to the collaboration manager 600 without going through the service coordinator 300.
  • the service coordinator 300 may include log information about artificial intelligence inference of the edge reasoner 500 and the cloud reasoner 700.
  • the database 900 may store system information of the edge device (i.e., vehicle) 100 used in the collaboration system.
  • the system information of the edge device used in the collaboration system is changed, the changed system information is transmitted to the collaboration manager 600 through the service coordinator 300, and the collaboration manager 600 controls the changed system. Information can be updated in the database 900.
  • the collaboration manager 600 refers to the log information stored in the database 900 and determines the configuration of at least one of the service outpost 400, the edge reasoner 500, and the cloud reasoner 700. Suitability can be judged.
  • the collaboration manager 600 is mounted on at least one of the service outpost 400, the edge reasoner 500, and the cloud reasoner 700, with reference to the log information stored in the database 900.
  • the suitability of the artificial intelligence model can be judged. If the currently installed artificial intelligence model is determined to be unsuitable, the collaboration manager 600 may update or replace the currently installed artificial intelligence model using the artificial intelligence model stored in the database 900.
  • the collaboration manager 600 downloads the artificial intelligence model for the new service from the database 900 and uses the service outpost 400 and the edge reasoner ( 500) and can be newly deployed to at least one of the cloud reasoner 700.
  • the collaboration manager 600 may determine the triggering data detection standard by referring to the log information stored in the database 900. For example, when it is determined that the number of inferences of the edge reasoner 500 and/or the cloud reasoner 700 is high or the system resource usage is high, the collaboration manager 600 sets the triggering data detection criteria. Increasing the number can lead to lowering the number of inferences or lowering the system resource usage. Conversely, for example, when it is determined that the number of inferences of the edge reasoner 500 and/or the cloud reasoner 700 is low or that there is sufficient system resource usage, the collaboration manager 600 performs the triggering By lowering the data detection standard, the number of inferences can be increased or the system resource usage can be increased.
  • the collaboration manager 600 may determine or change the data flow settings by referring to the log information stored in the database 900. For example, if it is determined that the number of inferences in the edge inference device 500 is high or the system resource usage is high, the data flow is set so that the edge data is transmitted to the cloud inference device 700 as input data for inference. can be decided or changed. Conversely, for example, when it is determined that the number of inferences of the edge inference device 500 is low or that there is sufficient system resource usage, the edge data is transmitted to the edge inference device 500 as input data for inference.
  • the data flow settings can be determined or changed.
  • the database 100 is shown as being implemented as one, but it may be divided into two or more databases depending on the nature of the data to be stored.
  • FIG. 6 is a block diagram illustrating in more detail the relationship between the service coordinator and the service outpost of the collaboration system of FIG. 5.
  • At least one sensor included in the sensing unit 140 of the vehicle 100 can collect various data related to the vehicle 100, and the collected data is sent to the service coordinator 300 in real time. As described above, it can be transmitted.
  • the service coordinator 300 may store and understand information about at least one service that the vehicle 100 can provide.
  • the information can be determined, for example, through the data flow settings received through the collaboration manager 600.
  • the service coordinator 300 can manage what services can be provided in this collaboration system and the data flow within this collaboration system based on the data flow settings.
  • the service coordinator 300 is illustrated as knowing information about n services that the vehicle 100 can provide.
  • the service outpost 400 may include at least one service group.
  • k can be a number equal to or less than n.
  • Each of the n services may correspond to one of the k service groups. That is, each service group can be responsible for one or more services.
  • Each service group within the service coordinator 300 may be composed of the same internal configuration, but does not necessarily have to be composed of the same internal configuration.
  • FIG. 6 illustrates that each service group within the service coordinator 300 can be configured according to one of three types. Of course, each service group can be configured according to one of more or less than three types.
  • the first type of service group may include a classifier 411 and a backbone 415 corresponding to the classifier 411.
  • the backbone 415 is composed of an artificial intelligence model and can process the edge data received from the service coordinator 300 to extract features of the edge data. For example, if the edge data is an image such as a video frame, the image may be processed to extract feature points of the image.
  • the classifier 411 is composed of at least one artificial intelligence model and can detect triggering data from the processed edge data.
  • the second type of service group may include decision logic 421 and a backbone 425 like the second service group 420.
  • the backbone 425 is composed of an artificial intelligence model and can process the edge data received from the service coordinator 300 to extract features of the edge data. For example, if the edge data is an image such as a video frame, the image can be processed to extract the movement of a key point in the image (for example, the movement of a person's joints in the image).
  • the third type of service group may include a classifier 433.
  • the classifier 433 is composed of a light-weight artificial intelligence model and can detect triggering data from edge data (i.e., raw data) received from the service coordinator 300.
  • the type of each service group can be selected by considering the nature of the service each service group is responsible for.
  • the first to third types of service groups are examples, and of course, other types of service groups may be formed.
  • the service coordinator 300 may determine whether the type of edge data collected from the sensor unit 140 is related to at least one of the n services.
  • the above-mentioned related services may be referred to as “target services.”
  • the service coordinator 300 selects a service corresponding to the target service from among the k service groups in the service outpost 400.
  • the edge data can be transmitted as a group.
  • the first service group 410 and the second service group 420 of the service outpost 400 process the edge data into an appropriate form through their own backbones 415 and 420, and select the edge data from the processed edge data. Triggering data required for the target service can be detected.
  • the third service group 430 of the service outpost 400 may detect triggering data required for the target service from the edge data without processing the edge data.
  • the service coordinator 300 For a predetermined period of time from the time the service group of the service outpost 400 detects the triggering data, the service coordinator 300 transmits the received edge data or the processed edge data to the edge reasoner 500 or It can be transmitted to the cloud reasoner 700. That is, whenever the service outpost 400 detects the triggering data, the received data or the processed data is sent to the edge through the service coordinator 300 for a predetermined period of time from the time the triggering data is detected. It can be transmitted to the reasoner 500 or the cloud reasoner 700.
  • the predetermined time may be determined by the collaboration manager 600 based on the log information and/or the system information.
  • the edge reasoner 500 or the cloud reasoner 700 does not need to perform an inference operation through an artificial intelligence model on all data sensed by the sensing unit 140, and the triggering data Inference calculations using an artificial intelligence model may be performed only on the received data or the processed data for a predetermined period of time from the point of detection. Accordingly, the amount of computation in the edge reasoner 500 or the cloud reasoner 700 itself can be reduced.
  • the service group of the service outpost 400 does not allow all the received data to be transmitted to the edge reasoner 500 or the cloud reasoner 700, but only part of it is filtered and sent to the edge reasoner 500.
  • it may be understood as a “service filter” in that it can be transmitted to the cloud reasoner 700.
  • the service group of the service outpost 400 performs the edge inference whenever triggering data for the target service is detected, and the received data or the processed data is used for a predetermined time from when the triggering data is detected. It may be understood as a “service trigger” in that it is transmitted to the base 500 or the cloud reasoner 700 and triggers an inference operation of the edge reasoner 500 or the cloud reasoner 700. It may be possible.
  • Figure 7 is a block diagram showing the service outpost of Figure 6 in more detail.
  • the first service group 410 may include a classifier 411 and the backbone 415 corresponding to the classifier 411.
  • the classifier 411 of the first service group 410 is illustrated as including three artificial intelligence models (411-1, 411-2, and 411-3) each responsible for three services.
  • the classifier 411 may be responsible for fewer or more than three services and may include fewer or more artificial intelligence models.
  • the backbone 415 may receive edge data related to the three services from the service coordinator 300 and process the edge data to extract features of the edge data.
  • the processed edge data may be transmitted to the classifier 411.
  • the classifier 411 may detect triggering data from the processed edge data.
  • Each of the three artificial intelligence models can detect triggering data for the service they are responsible for.
  • the first service group 410 transmits a control signal notifying the service coordinator 300 that the triggering data has been detected, so that the first service group 410 detects the triggering data.
  • the service coordinator 300 may transmit the processed edge data to the edge reasoner 500 or the cloud reasoner 700 for a predetermined period of time. That is, the first service group 410 transmits the processed edge data to the service coordinator 300, and the service coordinator 300 transmits the processed edge data to the edge reasoner 500 or the cloud inference. It can be transmitted to machine 700.
  • the second service group 420 may include the decision logic 421 and the backbone 425.
  • the decision logic 421 may be coding logic (eg, computer vision program) rather than an artificial intelligence model.
  • the decision logic 421 may be responsible for one or more services.
  • the backbone 425 may receive edge data related to the one or more services from the service coordinator 300 and process the edge data to extract features of the edge data.
  • the processed edge data may be transmitted to the decision logic 421.
  • the decision logic 421 may detect triggering data from the processed edge data.
  • the second service group 420 allows the service coordinator 300 to send the processed edge data to the edge inference unit 500 or the cloud inference for a predetermined period of time from the time of detecting the triggering data. It can be transmitted to machine 700. That is, the second service group 420 transmits the processed edge data to the service coordinator 300, and the service coordinator 300 transmits the processed edge data to the edge inferencer 500 or the cloud inference. It can be transmitted to machine 700.
  • the third service group 430 may include a classifier 433.
  • the classifier 433 is composed of a light-weight artificial intelligence model and receives edge data (i.e., raw data) related to at least one service received from the service coordinator 300. Triggering data can be detected.
  • FIG. 8 is a block diagram illustrating in more detail the relationship between the service outpost, edge inference unit, and cloud inference unit of the collaboration system of FIG. 5.
  • the first service group 410 of the service outpost 400 may be responsible for the first service, second service, and third service.
  • the first service is an elderly detection service that detects elderly people among the passengers
  • the second service is a gender detection service that detects the gender of the passengers
  • the third service is a child detection service that detects children among the passengers. It is done. This is just an example, and of course it may be responsible for other services.
  • the classifier 411 of the service outpost 400 includes a first artificial intelligence model (411-1) and a second artificial intelligence model (411-2), which are respectively responsible for the first service, second service, and third service. ), may include a third artificial intelligence model (411-3).
  • the three artificial intelligence models in the classifier 411 are a first outpost model (OM1), a second outpost model (OM2), and a third outpost model, respectively, in the sense that they are located within the service outpost 400. It may also be called (OM3).
  • the first service group 410 will be described using the first service (elderly detection service) among the three services as a representative example.
  • the service coordinator 300 sends edge data (for example, an image from the vehicle's indoor camera) of the vehicle 100 to the first service group 410 of the service outpost 400 according to the data flow settings. It can be sent to .
  • edge data for example, an image from the vehicle's indoor camera
  • the backbone 415 of the first service group 410 can process the edge data to extract features of the edge data.
  • the backbone 415 may process the image to extract feature points of the occupant from the image.
  • the backbone 415 may provide the processed image to all of a first outpost model (OM1), a second outpost model (OM2), and a third outpost model (OM3).
  • OM1 first outpost model
  • OM2 second outpost model
  • OM3 third outpost model
  • the first outpost model (OM1) in charge of the first service receives the processed edge data. and monitor to detect triggering data for the first service.
  • the triggering data may be, for example, an image containing a passenger with white or gray hair color.
  • the first outpost model (OM1) of the first service group 410 transmits a control signal notifying that the triggering data has been detected to the service coordinator 300, so that the triggering data is detected.
  • the service coordinator 300 may transmit the processed edge data to the edge reasoner 500 or the cloud reasoner 700 for a predetermined period of time. That is, the backbone 410 of the first service group 410 transmits the processed edge data to the service coordinator 300, and the service coordinator 300 transmits the processed edge data to the edge inferrator ( 500) or may be transmitted to the cloud reasoner 700.
  • the edge reasoner 500 includes a first artificial intelligence model (500-1), a second artificial intelligence model (500-2), and a third artificial intelligence model, which are in charge of the first service, the second service, and the third service, respectively. It may include model 500-3.
  • the three artificial intelligence models in the edge reasoner 500 are respectively a first edge model (EM1), a second edge model (EM2), and a third edge model (EM1), in the sense that they are located within the edge reasoner (500). It may also be called EM3).
  • the first edge model (EM1), the second edge model (EM2), and the third edge model (EM3) may correspond to the first service group 410 described above.
  • the cloud reasoner 700 also includes a first artificial intelligence model (700-1), a second artificial intelligence model (700-2), and a third artificial intelligence that are responsible for the first service, second service, and third service, respectively. It may include model 700-3.
  • the three artificial intelligence models in the cloud reasoner 700 are respectively a first cloud model (CM1), a second cloud model (CM2), and a third cloud model (CM2) in the sense that they are located within the cloud reasoner (700). It may also be called CM3).
  • the first cloud model (CM1), the second cloud model (CM2), and the third cloud model (CM3) may also correspond to the first service group 410 described above.
  • the service coordinator 300 will transmit the processed edge data to the corresponding artificial intelligence model in which of the edge reasoner 500 or the cloud reasoner 700 can be determined according to the data flow settings. .
  • the service coordinator 300 Edge data may be transmitted to the first edge model (EM1) in the edge reasoner 500.
  • the service coordinator 300 Edge data may be transmitted to the first cloud model (CM1) in the cloud reasoner 700.
  • the processed edge data may be input data for inference of the first edge model (EM1) or the first cloud model (CM1).
  • the first edge model (EM1) or the first cloud model (CM1) may receive the input data for inference and output an inference result.
  • the first edge model (EM1) or the first cloud model (CM1) may further analyze the skin condition of the occupant whose hair color is white or gray to infer whether the occupant is an elderly person.
  • the inference result may correspond to the final result of the first service provided by the vehicle 100 (e.g., boarding guidance for the elderly) or another service provided by the vehicle 100 (e.g., safe driving) It can also be used as an input for an assistance service.
  • the vehicle 100 e.g., boarding guidance for the elderly
  • another service provided by the vehicle 100 e.g., safe driving
  • the first edge model (EM1), the second edge model (EM2), and the third edge model (EM3) are in charge of the first service, second service, and third service, respectively, in the edge reasoner 500.
  • the first cloud model (CM1), the second cloud model (CM2), and the third cloud model (CM3) all exist and are responsible for the first, second, and third services, respectively, in the cloud reasoner 700. ) were all explained to exist.
  • the edge reasoner 500 and the cloud reasoner 700 do not necessarily have to be configured in this way.
  • first edge model (EM1) responsible for the first service in the edge reasoner 500
  • CM1 first cloud model responsible for the first service only in the cloud reasoner 700.
  • the edge reasoner 500 and the cloud reasoner 700 may be configured to exist.
  • the configuration may be determined by the collaboration manager 600 based on the log information.
  • the data flow settings may also be changed so that the processed data is transmitted only to the first cloud model (CM1) of the cloud reasoner 700 while the configuration is maintained.
  • CM1 first cloud model
  • edge reasoner 500 there is a first edge model (EM1) responsible for the first service, but in the cloud reasoner 700, there is no first cloud model (CM1) in charge of the first service.
  • EM1 first edge model
  • CM1 first cloud model
  • the data flow settings may also be changed so that the processed data is transmitted only to the first edge model (EM1) of the edge reasoner 500 while the configuration is maintained.
  • EM1 first edge model
  • the second service group 420 of the service outpost 400 may be responsible for the fourth service, fifth service, and sixth service.
  • the fourth service is a smoking detection service that detects whether the passenger is smoking
  • the second service is a phone call detection service that detects whether the passenger is talking on the phone
  • the third service is a drinking service that detects whether the passenger is drinking. It is illustrated as a detection service. This is just an example, and of course it may be responsible for other services.
  • the second service group 420 will be described using the fifth service (phone call detection service) among the three services as a representative example.
  • the service coordinator 300 sends edge data (for example, an image from the vehicle's indoor camera) of the vehicle 100 to the second service group 420 of the service outpost 400 according to the data flow settings. It can be sent to .
  • edge data for example, an image from the vehicle's indoor camera
  • the backbone 425 of the second service group 420 can process the edge data to extract features of the edge data.
  • the edge data is an image such as a video frame
  • the image can be processed to extract the movement of a key point in the image (for example, the movement of a person's joints in the image).
  • the backbone 425 may provide the processed image to the decision logic 421, which is responsible for all the fourth service, fifth service, and sixth service.
  • the decision logic 421 may be coding logic (eg, computer vision program) rather than an artificial intelligence model.
  • the decision logic 421 may receive and monitor the processed edge data to detect triggering data for the fifth service.
  • the triggering data may be a video frame including a movement of the passenger's hand approaching the passenger's face in the image.
  • the decision logic 421 of the second service group 410 transmits a control signal notifying that the triggering data has been detected to the service coordinator 300, thereby making a predetermined decision from the time of detecting the triggering data.
  • the service coordinator 300 may transmit the processed edge data to the edge reasoner 500 or the cloud reasoner 700. That is, the backbone 425 of the second service group 420 transmits the processed edge data to the service coordinator 300, and the service coordinator 300 transmits the processed edge data to the edge inferrator ( 500) or may be transmitted to the cloud reasoner 700.
  • the edge reasoner 500 is a fourth artificial intelligence model (500-4), a fifth artificial intelligence model (500-5), and a sixth artificial intelligence model, which are responsible for the fourth service, the fifth service, and the sixth service, respectively. It may include model 500-6.
  • the three artificial intelligence models in the edge reasoner 500 are the 41st edge model (EM4), the 5th edge model (EM5), and the 6th edge model (EM4), respectively, in the sense that they are located within the edge reasoner 500. It may also be called EM6).
  • the fourth edge model (EM4), the fifth edge model (EM5), and the sixth edge model (EM6) may correspond to the second service group 420 described above.
  • the cloud reasoner 700 also includes a fourth artificial intelligence model (700-4), a fifth artificial intelligence model (700-5), and a third artificial intelligence that are responsible for the fourth service, the fifth service, and the sixth service, respectively. It may include model 700-6.
  • the three artificial intelligence models in the cloud reasoner 700 are respectively a fourth cloud model (CM4), a fifth cloud model (CM5), and a sixth cloud model (CM5) in the sense that they are located within the cloud reasoner (700). It may also be called CM6).
  • the fourth cloud model (CM4), the fifth cloud model (CM5), and the sixth cloud model (CM6) may also correspond to the second service group 420 described above.
  • the service coordinator 300 will transmit the processed edge data to the corresponding artificial intelligence model in which of the edge reasoner 500 or the cloud reasoner 700 can be determined according to the data flow settings. .
  • the service coordinator 300 Edge data may be transmitted to the fifth edge model (EM5) in the edge reasoner 500.
  • the service coordinator 300 Edge data can be transmitted to the fifth cloud model (CM5) in the cloud reasoner 700.
  • the processed edge data may be input data for inference of the fifth edge model (EM5) or the fifth cloud model (CM5).
  • the fifth edge model (EM5) or the fifth cloud model (CM5) may receive the input data for inference and output an inference result.
  • the fifth edge model (EM5) or the fifth cloud model (CM5) can further detect whether the occupant has a mobile phone in his or her hand and infer whether the occupant is on a phone call.
  • the inference result may correspond to the final result of the fifth service provided by the vehicle 100 (e.g., guidance on the risk of making a phone call while driving), or may correspond to another service provided by the vehicle 100 (e.g. , can also be used as input for safe driving assistance services).
  • the 4th edge model (EM4), the 5th edge model (EM5), and the 6th edge model (EM6) are in charge of the 4th, 5th, and 6th services, respectively, in the edge reasoner 500.
  • the fourth cloud model (CM4), the fifth cloud model (CM5), and the sixth cloud model (CM6) all exist and are responsible for the fourth, fifth, and sixth services, respectively, in the cloud reasoner 700. ) were all explained to exist.
  • the edge reasoner 500 and the cloud reasoner 700 do not necessarily have to be configured in this way.
  • the edge reasoner 500 and the cloud reasoner 700 may be configured to exist.
  • the configuration may be determined by the collaboration manager 600 based on the log information.
  • the data flow settings may also be changed so that the processed data is transmitted only to the fifth cloud model (CM5) of the cloud reasoner 700 while the configuration is maintained.
  • CM5 fifth cloud model
  • edge reasoner 500 there is a fifth edge model (EM1) responsible for the fifth service in the edge reasoner 500, but there is no fifth cloud model (CM5) in charge of the fifth service in the cloud reasoner 700.
  • EM1 edge model
  • CM5 fifth cloud model
  • the edge reasoner 500 and the cloud reasoner 700 may be configured.
  • the data flow settings may also be changed so that the processed data is transmitted only to the fifth edge model (EM5) of the edge reasoner 500 while the configuration is maintained.
  • EM5 fifth edge model
  • the kth service group 430 of the service outpost 400 may be responsible for the nth service.
  • the nth service is illustrated as a drowsy driving detection service that detects drowsy driving of a passenger. This is just an example, and of course it may be responsible for other services.
  • the service coordinator 300 sends edge data (for example, an image from the vehicle's indoor camera) of the vehicle 100 to the kth service group 430 of the service outpost 400 according to the data flow settings. It can be sent to .
  • edge data for example, an image from the vehicle's indoor camera
  • the classifier 433 of the k-th service group 430 can detect triggering data for the n-th service from edge data (i.e., raw data) received from the service coordinator 300.
  • the triggering data may be, for example, an image containing a driver with his eyes closed.
  • the classifier 433 of the kth service group 430 transmits a control signal notifying that the triggering data has been detected to the service coordinator 300 for a predetermined period of time from the point of detection of the triggering data. During this time, the service coordinator 300 may transmit the edge data (i.e., the raw edge data) to the edge reasoner 500 or the cloud reasoner 700.
  • the edge data i.e., the raw edge data
  • the edge reasoner 500 may include an n-th artificial intelligence model (500-n) responsible for the n-th service.
  • the nth artificial intelligence model (500-n) in the edge reasoner 500 may each be called an nth edge model (EMn) in the sense that it is located within the edge reasoner 500.
  • the nth edge model (EMn) may correspond to the nth service group 430 described above.
  • the cloud reasoner 700 may include an n-th artificial intelligence model (700-n) responsible for the n-th service.
  • the n-th artificial intelligence model (700-n) in the cloud reasoner 700 may each be called the n-th cloud model (CMn) in the sense that it is located within the cloud reasoner 700.
  • the nth cloud model (CMn) may correspond to the nth service group 430 described above.
  • Whether the service coordinator 300 will transmit the edge data to the corresponding artificial intelligence model in the edge reasoner 500 or the cloud reasoner 700 may be determined according to the data flow settings.
  • the service coordinator 300 transmits the edge data to the nth edge model (EMn) in charge of the nth service in the edge reasoner 500. It can be transmitted to the nth edge model (EMn) in the edge reasoner 500.
  • the service coordinator 300 transmits the edge data to the nth cloud model (CMn) in charge of the nth service in the cloud reasoner 700. It can be transmitted to the nth cloud model (CMn) in the cloud reasoner 700.
  • the edge data may be input data for inference of the nth edge model (EMn) or the nth cloud model (CMn).
  • EMn nth edge model
  • CMn nth cloud model
  • the nth edge model (EMn) or the nth cloud model (CMn) may receive the input data for inference and output an inference result.
  • the nth edge model (EMn) or the nth cloud model (CMn) may further analyze the hand and/or head movements of the driver with his eyes closed to infer whether the driver is drowsy driving.
  • the inference result may correspond to the final result of the nth service provided by the vehicle 100 (e.g., drowsy driving warning information), or another service provided by the vehicle 100 (e.g., safety It can also be used as an input for a driving assistance service.
  • nth service e.g., drowsy driving warning information
  • another service provided by the vehicle 100 e.g., safety It can also be used as an input for a driving assistance service.
  • the edge reasoner 500 responsible for the nth service exists in the edge reasoner 500
  • the nth cloud model (CMn) responsible for the nth service exists in the cloud reasoner 700. It was explained that However, the edge reasoner 500 and the cloud reasoner 700 do not necessarily have to be configured in this way.
  • n-th edge model (EMn) responsible for the n-th service in the edge reasoner 500
  • CMn n-th cloud model
  • the edge reasoner 500 and the cloud reasoner 700 may be configured to exist.
  • the configuration may be determined by the collaboration manager 600 based on the log information.
  • the data flow settings may also be changed so that the data is transmitted only to the nth cloud model (CMn) of the cloud reasoner 700 while the configuration is maintained.
  • CMn cloud model
  • edge reasoner 500 there is an n-th edge model (EMn) responsible for the n-th service, but in the cloud reasoner 700, there is no n-th cloud model (CMn) in charge of the n-th service.
  • EMn n-th edge model
  • cloud reasoner 700 there is no n-th cloud model (CMn) in charge of the n-th service.
  • the edge reasoner 500 and the cloud reasoner 700 may be configured.
  • the data flow settings may also be changed so that the data is transmitted only to the nth edge model (EMn) of the edge reasoner 500 while the configuration is maintained.
  • EMn nth edge model
  • Figures 9 to 12 show examples of changes in system configuration in the collaboration system of Figure 5.
  • the collaboration manager 600 can set the system configuration so that inference about edge data for the service is performed in the cloud reasoner 700. Once such a system configuration is determined, data flow settings can also be determined to match it.
  • the inference model i.e., artificial intelligence model
  • the inference model responsible for the service may be provided only in the cloud inference device 700 and not in the edge inference device 500.
  • the service coordinator 300 may first transmit the edge data received from the sensing unit 140 to the service outpost 400.
  • the service outpost 400 uses the edge data as input data for inference for a predetermined time from when the triggering data is detected. It can be transmitted to the cloud reasoner 700. As described above, the transmitted edge data may be processed at the service outpost 400 or may be unprocessed.
  • the cloud inferencer 700 may receive the input data for inference and output an inference result.
  • a system configuration as shown in FIG. 9 may be useful when the edge device 100 has minimal available resources and high level inference is required.
  • the collaboration manager 600 determines the system configuration so that inference on edge data for the service is performed in the edge reasoner 500 or the cloud reasoner 700. You can. Once such a system configuration is determined, data flow settings can also be determined to match it.
  • the inference model responsible for the service may be provided in both the edge inference device 500 and the cloud inference device 700.
  • the service coordinator 300 may first transmit the edge data received from the sensing unit 140 to the service outpost 400.
  • the service outpost 400 uses the edge data as input data for inference for a predetermined time from when the triggering data is detected. It can be transmitted to the edge reasoner 500 or the cloud reasoner 700. As described above, the transmitted edge data may be processed at the service outpost 400 or may be unprocessed.
  • Which of the edge inference unit 500 and the cloud inference unit 700 is where the edge data is transmitted depends, for example, on the real-time system resources of each of the edge inference unit 500 and the cloud inference unit 700. It can be determined by the amount of usage. That is, among these, the edge data can be transmitted to a place with low real-time system resource usage.
  • whether the edge data is transmitted to the edge inference device 500 or the cloud server 700 may be determined, for example, by a real-time communication environment between the vehicle 100 and the cloud server 200. It may be decided. That is, if real-time communication between the vehicle 100 and the cloud server 200 is smooth or expected to be smooth, the edge data is transmitted to the cloud inferencer 700, and the vehicle 100 and the cloud server ( 200), if real-time communication is not smooth or is expected to be smooth, the edge data may be transmitted to the edge reasoner 500.
  • the edge reasoner 500 or the cloud reasoner 700 may receive the input data for inference and output an inference result.
  • the system configuration shown in FIG. 10 can reduce the overall communication cost when the edge device 100 has a certain amount of available resources and the inference load is distributed between the edge reasoner 500 and the cloud reasoner 700. It can also be useful in some cases.
  • the collaboration manager 600 may configure the system configuration so that inference about edge data for the service is performed in the edge reasoner 500. Once such a system configuration is determined, data flow settings can also be determined to match it.
  • the inference model i.e., artificial intelligence model
  • the inference model responsible for the service may be provided only in the edge inference device 500 and not in the cloud inference device 700.
  • the service coordinator 300 may first transmit the edge data received from the sensing unit 140 to the service outpost 400.
  • the service outpost 400 uses the edge data as input data for inference for a predetermined time from when the triggering data is detected. It can be transmitted to the edge reasoner 500. As described above, the transmitted edge data may be processed at the service outpost 400 or may be unprocessed.
  • the edge inferencer 500 may receive the input data for inference and output an inference result.
  • a system configuration as shown in FIG. 11 may be useful when the edge device 100 has sufficient available resources and/or when communication costs are high.
  • edge data does not necessarily have to pass through the service outpost 400.
  • All edge data e.g., streaming data
  • the edge reasoner 500 or the cloud reasoner 700 can be sent to This will be explained further with reference to FIG. 12.
  • FIG. 12 for simplicity of explanation, a case where the edge data is transmitted only to the cloud reasoner 700 will be described.
  • the inference model responsible for the service may be provided only in the cloud reasoner 700 and not in the edge reasoner 500.
  • the service coordinator 300 can only transmit the edge data received from the sensing unit 140 to the cloud inference device 700 as input data for inference. That is, the edge data may not pass through the service outpost 400. This may be useful when the edge device 100 has few available resources.
  • the cloud inferencer 700 may receive the input data for inference and output an inference result.
  • the edge data may be transmitted only to the edge reasoner 500.
  • the inference model responsible for the service may be provided only in the edge reasoner 500 and not in the cloud reasoner 700.
  • Switching between system configurations according to FIGS. 9 to 12 can be done dynamically while the available resources of the system are monitored in real time.
  • the collaboration user interface 800 outputs the system configuration determined by the collaboration manager 600 to obtain approval from the user before actually applying it, and the user uses the collaboration user interface 800
  • the determined system configuration can be approved through .
  • the collaborative user interface 800 may be output through the display unit 151 of the vehicle 100, or may be output to another device of the user (for example, a smartphone 100d).
  • FIG. 13 is a diagram showing the collaboration user interface of the collaboration system of FIG. 5 in more detail.
  • the collaboration user interface 800 may display the current system configuration 810 and the system configuration 830 proposed by the collaboration manager 600.
  • edge data sensed through the sensing unit 140 to provide the first service (S1), the second service (S2), and the third service (S3) are used to provide the first service (S1), the second service (S2), and the third service (S3). It is exemplified that the data is provided to the edge inference device 500 through the coordinator 300 as input data for inference without passing through the service outpost 300.
  • the first service (S1) , the edge data for the third service (S3), and the fourth service (S4) are transmitted through the service coordinator 300, through the service outpost 300, to the edge inference device 500 as input data for inference.
  • edge data for the second service is provided to the cloud inference device 700 as input data for inference through the service outpost 300 through the service coordinator 300.
  • the user can approve the proposed system configuration by selecting the confirm icon 851, for example by touching, or the user can disapprove the proposed system configuration by selecting the cancel icon 852, for example by touching.
  • the collaboration manager 600 may change the last name of the collaboration system according to the approved system configuration. Alternatively, if the proposed system configuration is not approved, the collaboration manager 600 may maintain the current configuration of the collaboration system.
  • an icon 860 may be displayed on the collaboration user interface 800 to further explain the new system configuration.
  • a graphic 860 showing the reason why the new system configuration is proposed and the system resource usage of each of the first to fourth services may be displayed.
  • changes in expected communication costs when the new system configuration is applied may also be displayed in the graphic 860.
  • the user can view the graphic 860 to determine whether to approve the proposed system configuration.
  • FIG. 14 illustrates a process in which edge data is processed in one selected from an edge reasoner and a cloud reasoner to provide a service according to an embodiment of the present disclosure.
  • the service coordinator 300 can receive edge data collected by the sensing unit 140 [S141].
  • the service coordinator 300 may determine whether a service group (or service filter) corresponding to the received edge data exists in the service outpost 400 based on the data flow settings [S142]. .
  • the service coordinator 300 can check the service group corresponding to the edge data [S143]. Accordingly, the edge data can be transmitted to the confirmed service group of the service outpost 400.
  • the service outpost 400 can detect triggering data from the received edge data [S144].
  • the service coordinator 300 can determine the inferred position for the edge data [S145].
  • step S145 the process may proceed to step S145. This corresponds to the case shown in FIG. 12 described above.
  • this process may be terminated.
  • the mapping of the inferred location for each service as organized in the inferred location table shown in FIG. 14 can be used.
  • the mapping of inference locations for each service will be explained later.
  • the edge data may be transmitted to the cloud reasoner 700 as edge data for inference [S146].
  • the edge data may be transmitted to the edge inference unit 500 as edge data for inference [S147].
  • the edge reasoner 500 or the cloud reasoner 700 may receive the input data for inference and output an inference result based on an internal artificial intelligence model.
  • Figure 15 shows a process for optimizing system configuration according to an embodiment of the present disclosure.
  • the inference location table for each service in FIG. 14 may be mapped and the inference location table may be prepared.
  • the collaboration manager 600 may initiate a process to optimize the configuration of this collaboration system. Initiation of the process may be performed regularly at regular time intervals, or may be performed irregularly when a predetermined event occurs in the vehicle 100.
  • the predetermined event may be, for example, when the vehicle 100 is shipped from the factory, delivered to a user after being shipped from the factory and operated for the first time, or the communication environment of the vehicle 100 has changed or is scheduled to change (e.g., shaded area). It may be something that has entered or is about to enter.
  • the collaboration manager 600 can check the list of multiple services that the vehicle 100 must provide [S151].
  • the list of services provided by the vehicle 100 may be a list of services currently provided by the vehicle 100, or a list of services to be provided by the vehicle 100 in the future (i.e., the list currently includes At least some of the services provided by the vehicle 100 may be deleted and/or new services to be provided by the vehicle 100 may be added.
  • the collaboration manager 600 can calculate the suitability of applying the edge reasoner for each service [S152].
  • the suitability of applying the edge reasoner can be expressed as a number indicating whether it is appropriate for the inference location for each service to be determined by the edge reasoner.
  • the calculation of edge reasoner application fitness for each service is explained later.
  • the collaboration manager 600 can prioritize each service in the list according to the suitability of applying the edge reasoner [S153].
  • the priority may be a priority for assigning the edge reasoner to each service in the list.
  • the collaboration manager 600 may check the available resources of the edge device 100 and calculate the required resources for each service according to the priority [S154].
  • the collaboration manager 600 can calculate the required resources for the highest priority service.
  • the collaboration manager 600 may set the inference location of the highest priority service to the edge inferrator [S155, S156]. However, if the available resources are less than the required resources of the highest priority service, the collaboration manager 600 may set the inference location of the highest priority service to the cloud reasoner [S155, S157].
  • the collaboration manager 600 may set the inference position for the second priority service [S158].
  • the available resources may be subtracted by the required resources of the highest priority service. However, if the inference location of the highest priority service is set to the cloud inference device, the available resources can be maintained as is [S154].
  • the collaboration manager 600 may calculate the second priority service requirement resources according to the priority [S154].
  • the collaboration manager 600 may set the inference location of the second priority service to the edge reasoner [S155, S156]. However, if the available resources are less than the required resources of the second priority service, the collaboration manager 600 may set the inference location of the highest priority service to the cloud reasoner [S155, S157].
  • the collaboration manager 600 can determine inference positions for all services [S158]. However, if the available resources are exhausted or fall below the preset minimum available resources before determining the inference locations for all services, the inference locations for the remaining services for which inference locations have not yet been set are collectively cloud-based. It can be set up as a reasoner. As described above, mapping of inferred positions for each service in FIG. 14 can be performed.
  • the collaboration manager 600 may complete optimization of the system configuration based on the inferred positions determined for the services.
  • the collaboration manager 600 may newly configure the collaboration manager system according to the optimized system configuration. For example, the collaboration manager 600 distributes edge model(s) for the service(s) for which the inference location is determined by the edge reasoner to the edge reasoner if the edge model(s) are not present in the predictive inference device, or the inference location is determined by the edge reasoner. Edge module(s) for the service(s) determined as the cloud may be deleted from the edge reasoner.
  • collaboration manager 600 can also optimize the data flow settings according to the optimized system configuration.
  • FIG. 16 shows the edge reasoner application suitability calculation process for each service in FIG. 15 and the parameters and weights for this.
  • the collaboration manager 600 can select a target service for calculating edge inferrator application suitability among all services [S161].
  • the collaboration manager 600 calculates the edge reasoner for each service by multiplying the edge reasoner suitability parameter (W) for each item of the target service by the weight (E) for each item and summing it for all items.
  • Application suitability can be calculated [S162].
  • edge inference is performed for each service by three items (e.g., safety, latency, and data transfer cost).
  • the fitness parameters may be prepared in advance.
  • the edge reasoner fitness parameters may be updated periodically or aperiodically. For example, as the network environment changes, edge inferencer suitability parameters for latency and data transmission cost may vary. Alternatively, the edge inferencer suitability parameters for safety may vary depending on the passengers or road conditions.
  • the basic weight for each item in normal times and the additional weight for each item in an emergency are prepared in advance. There may be.
  • the basic weight and added weight may also be updated periodically or aperiodically depending on the network environment, passengers, and road conditions.
  • the collaboration manager 600 may repeat steps S161 and S162 until the edge reasoner application suitability calculation is completed for each of all services [S163].
  • Figure 17 shows an example of calculation of edge reasoner application suitability for each service in Figure 16.
  • FIG. 17 illustrates the calculation formula for the suitability of applying the edge inference device for each service in normal times.
  • the edge inferencer application suitability for each service can be calculated by multiplying the edge inferencer suitability parameter (W) for each item by the usual weight (E) for each item and summing the values for all items.
  • (17-2) in FIG. 17 shows an example of a calculation formula for the suitability of applying an edge inference device for each service in an emergency.
  • the edge inferencer application suitability for each service can be calculated by multiplying the edge reasoner suitability parameter (W) for each item by the emergency weight (E) for each item and summing it for all items.
  • the collaboration manager 600 determines whether the configuration of the collaboration system, that is, the system configuration, is suitable based on the log information and/or the vehicle's operating environment, and if it is determined that the system is not suitable, It has been explained that the configuration of the system can be optimized with user approval through the collaborative user interface 800. This will be explained further with reference to FIG. 18.
  • Figure 18 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • the default system configuration may be applied to the newly purchased vehicle 100.
  • the first service (S1), the second service (S2), the third service (S3), and the fourth service (S4) can be provided in the vehicle 100, and the service is out
  • the post 400 includes a first service filter (F1) and a second service filter ( F2), a third service filter (F3), and a fourth service filter (F4) may be provided.
  • inference of the first service (S1) and the second service (S2) is performed in the edge reasoner 500, and inference of the third service (S3) and the second service (S2) It is illustrated that this can be done in the cloud reasoner 700.
  • the first edge data and second edge data corresponding to the first service (S1) and the second service (S2) are respectively transmitted to the first service filter (F1) of the service outpost (400).
  • the second service filter (F2) and inferred in the edge inferrator 500 and the third edge data and fourth edge data corresponding to the third service (S3) and fourth service (S4) are
  • the data can be filtered through the third service filter (F3) and the fourth service filter (F4) of the service outpost 400 and inferred by the cloud inferencer 700, respectively.
  • calculation results for inference in the edge inference device 500 and the cloud inference device 700 are generated.
  • Data may be transmitted to the collaboration manager 600 as log information and stored in the database (FIG. 6, 900).
  • the collaboration manager 600 determines whether it is appropriate to continue applying the default system configuration to this collaboration system, and if it is determined to be unsuitable, sets a new system configuration to the collaboration user. It can be proposed through the interface 800.
  • the collaboration manager 600 can apply the new system configuration to the vehicle 100.
  • the first service (S1), the second service (S2), the third service (S3), and the fourth service (S4) can be provided in the vehicle 100, and the service is out.
  • the post 400 includes a first service filter (F1) and a second service filter ( F2), the third service filter (F3), and the fourth service filter (F4) may be provided, which is the same as the default system configuration.
  • the inference of the first service (S1), the third service (S3), and the fourth service (S4) is performed in the edge reasoner 500, and the inference of the second service (S2) It differs from the default system configuration in that inference can be done in the cloud reasoner 700.
  • the first edge data, third edge data, and fourth edge data corresponding to the first service (S1), the third service (S3), and the fourth service (S4) are respectively It is filtered through the first service filter (F1), the third service filter (F3), and the fourth service filter (F4) of the service outpost 400 and inferred by the edge inferencer 500, and the second service (S2) It is exemplified that the second edge data corresponding to ) can be filtered through the second service filter (F2) of the service outpost 400 and inferred by the cloud inferencer 700.
  • the calculation results for inference in the edge inference device 500 and the cloud inference device 700 are calculated.
  • Related data is transmitted to the collaboration manager 600 as log information and stored in the database (FIG. 6, 900), and the collaboration manager 600 operates the new system in this collaboration system based on the accumulated log information. It is determined whether it is appropriate for the configuration to continue to be applied, and if it is determined that it is not appropriate, another new system configuration can be proposed through the collaborative user interface 800.
  • FIG. 18 it was explained that the system configuration for the same plurality of services in the collaboration system is updated. However, of course, new services may be added in some cases. This will be explained further with reference to FIG. 19.
  • Figure 19 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • the vehicle 100 is a shared vehicle such as a rental car.
  • a default system configuration may be applied to the vehicle 100 and delivered to the user. There may be.
  • the second service (S2) can be provided to the vehicle 100, and the service outpost 400 is provided with a second service filter (F2) corresponding to the second service (S2). It is shown that this can be done. It is assumed that the second service (S2) is an occupant detection service. And, according to the default system configuration, the inference of the second service (S2) is illustrated as being performed in the cloud inferencer 700. Of course, inference of the second service (S2) may be performed in the edge inference unit 500. In this collaborative system, the passenger can be inferred through the second service. For example, it can be inferred whether the passenger is traveling with a pet, traveling with a child, or traveling on business.
  • This collaboration system can update the system configuration based on inference results about the occupants. That is, the system configuration can be updated so that a new customized service for the passenger is added to the collaboration system according to the inference result about the passenger.
  • the first service (S1), the third service (S3), and the fourth service (S4) can be newly added and provided for the passenger
  • the service outpost ( 400) includes a first service filter (F1), a third service filter (F3), and a fourth service filter (F1), which correspond to the first service (S1), the third service (S3), and the fourth service (S4), respectively
  • F4 can be added and configured.
  • inference of the first service (S1) can be performed in the edge reasoner 500
  • inference of the third service (S3) and fourth service (S4) can be performed in the cloud reasoner 700. It is done.
  • FIG. 20 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • the first vehicle 100-1 was sold to individual users for personal use
  • the second vehicle 100-2 of the same or similar model as the first vehicle 100-1 was sold for business use (e.g., Let's assume it is sold to a business user (taxi, rental car, etc.).
  • similar vehicle models may refer to vehicle models to which this collaboration system can be commonly applied.
  • this collaboration system is operated for the first vehicle (100-1) and the second vehicle (100-2). 2
  • Different system configurations can be applied to the vehicle 100-2 depending on its purpose.
  • the database 900 contains first to sixth edge models corresponding to the first to sixth services (S1) to the sixth service (S6), and the first to sixth services (S1) to the sixth edge model, respectively.
  • the first to sixth service filters corresponding to each of the six services (S6) can be stored.
  • the collaboration manager 600 when the first vehicle 100-1 is shipped from the factory or delivered to an individual user after being shipped from the factory and operated for the first time, the collaboration manager 600 provides the first service (S1) and the fourth service for the individual user. (S4), it is illustrated that the first edge model, fourth edge model, and sixth edge model corresponding to the sixth service (S6), respectively, can be newly distributed to the edge reasoner of the first vehicle 100-1. .
  • the collaboration manager 600 if necessary, uses the first service filter, fourth service filter, and sixth service filter corresponding to the first service (S1), fourth service (S4), and sixth service (S6), respectively. At least one of them may be newly distributed to the service outpost of the first vehicle 100-1.
  • Examples of services for individual users may include a service providing convenience functions through face recognition of the vehicle owner, a drowsiness detection service, etc.
  • the collaboration manager 600 may receive information about the purpose of the first vehicle 100-1 from the first vehicle 100-1 when the first vehicle 100-1 is delivered to the user and operated for the first time. It may be possible.
  • the collaboration manager 600 when the second vehicle 100-2 is shipped from the factory or delivered to a business user after being shipped from the factory and operated for the first time, the collaboration manager 600 provides a second service (S2) for the business user.
  • S2 a second service
  • the collaboration manager 600 uses the second service filter, third service filter, and fifth service filter corresponding to the second service (S2), third service (S3), and fifth service (S5), respectively. At least one of them can be newly distributed to the service outpost of the second vehicle 100-2.
  • Examples of services for business users may include a passenger analysis service, threat detection service, drowsiness detection service, and steering wheel hands-off detection service.
  • the collaboration manager 600 may receive information about the purpose of the second vehicle 100-2 from the second vehicle 100-2 when the second vehicle 100-2 is delivered to the user and operated for the first time. It may be possible.
  • the inference location for each service can be set to the edge inference device 500 or the cloud inference device 700.
  • the inference location when the same service is first launched, the inference location is set to the cloud inference device 700, and later, after a predetermined time has elapsed after release, the inference location may be changed to the edge inference device 500. .
  • FIG. 21 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • Figure 21 illustrates that road traffic laws regarding right turns have been revised and implemented when driving at intersections.
  • a new service that guides compliance with the revised road traffic laws may be prepared and released for this collaboration system.
  • the new service may include a model that guides users to comply with the revised road traffic laws when turning right at an intersection while driving.
  • the new service may be designed so that its inference location is the cloud inference device 700.
  • the collaboration manager 600 may suggest to the user through the collaboration user interface 800 how to change the system configuration to distribute and install the new service.
  • the collaboration manager 600 can distribute and install the new service on the vehicle 100.
  • the new service may configure the collaboration system for the vehicle such that its inference location is the cloud inferencer 700.
  • the new service may also be distributed to other vehicles in addition to the vehicle 100.
  • this collaboration system for multiple vehicles if the new service is provided for a certain period of time or more after the launch of the new service, inference about the new service is made and data above a certain level is collected accordingly, artificial intelligence for the new service is generated.
  • Intelligence models can also be lightweight.
  • the collaboration manager 600 moves the inference location of the new service from the cloud reasoner 700 to the edge reasoner 500.
  • the configuration of this collaboration system for the vehicle 100 can be changed with user approval through the collaboration user interface 800.
  • the new service Since the new service is lightweight, it can occupy the available resources of the vehicle 100 to a minimum even if it is inferred from the edge inference device 500. In addition, since the inference location of the new service is the edge inference device 500, the communication volume between the vehicle 100 and the cloud server 200 is lower than when the inference location of the new service is the cloud inference device 700. It can also be a savings.
  • a service for the vehicle 100 (e.g., a threat to detect whether a passenger in the vehicle threatens the driver with violence, etc.) according to the communication environment of the vehicle 100
  • the inference location for the detection service may vary. This will be explained further with reference to FIG. 22.
  • Figure 22 shows an example in which system configuration optimization is implemented according to an embodiment of the present disclosure.
  • edge data of the vehicle 100 is transmitted to the cloud inference device 700, and inference about the threat detection service is performed through the cloud inference.
  • This collaboration system may be configured to be performed in machine 700.
  • the vehicle 100 may approach area B, such as a tunnel, where communication between the vehicle 100 and the cloud server 200 is poor.
  • the vehicle 100 may detect the approach to area B through the location search unit, for example.
  • the vehicle 100 is expected to reach area B, where communication between the vehicle 100 and the cloud server 200 is poor (i.e., poor) within a predetermined time, and the threat to the vehicle 100
  • the collaboration manager 600 changes the configuration of this collaboration system so that the edge model for the threat detection service is distributed to the edge reasoner 500 of the vehicle 100. You can.
  • user approval through the collaborative user interface 800 may be required.
  • the edge model cannot be distributed due to insufficient available resources of the vehicle 100, other services of a lower level than the threat detection service are terminated and the artificial intelligence model for the other service is removed, thereby distributing the available resources. can also be secured.
  • the configuration of this collaboration system may not be changed.
  • the collaboration manager 600 changes the data flow settings so that the edge data of the vehicle 100 is transmitted to the edge reasoner ( 500) so that inference about the threat detection service can be performed in the edge reasoner 500.
  • the data flow settings may be changed after the system configuration change, and the data flow settings may be changed simultaneously or almost simultaneously with the change in the system configuration.
  • the collaboration manager 600 controls the data flow. By changing the settings again, the edge data of the vehicle 100 can be transmitted to the cloud reasoner 700 so that inference about the threat detection service can be performed in the cloud reasoner 700. Additionally, the collaboration manager 600 may change the configuration of the collaboration system so that the edge model for the threat detection service is removed from the edge reasoner 500 of the vehicle 100. Additionally, when the vehicle 100 enters area C, if driver threatening behavior occurs within area B, this fact can be automatically reported to the external server.
  • the inferred location may change along with the system configuration in some cases based on whether communication is possible in each region.
  • the triggering data detection criteria and/or system configuration may vary depending on the characteristics of residents in each region. This will be explained with reference to FIG. 22 again.
  • the vehicle 100 mainly operates in area A. Also, let's assume that the speech, accent, and behavior of area A residents are generally soft. Also, assume that the vehicle 100 is providing a threat detection service.
  • the configuration and triggering data detection standards of this collaboration system may be optimized so that the threat detection service can be provided to suit the characteristics of area A. That is, the service outpost ( The outpost model responsible for the threat detection service of 400) is applied to this collaboration system, and the triggering data detection standard for the outpost model may be determined.
  • an edge model responsible for the threat detection service of the edge inferrator 500 which is designed to infer whether a threat is detected from the filtered edge data by considering the general speaking tone, accent, and behavior of residents of area A.
  • the cloud model responsible for the threat detection service of the cloud reasoner 700 can be applied to this collaboration system.
  • the collaboration manager 600 may change the triggering data detection criteria to suit area C. For example, in region C, edge data based on more extreme speech, intonation, and behavior than in region A can be filtered and provided to the edge reasoner 500 or the cloud reasoner 700. can be changed.
  • the changed triggering data detection standard may be set in advance by the collaboration manager 600 based on other vehicles that mainly operate in the C area.
  • collaboration manager 600 filters the edge data to an appropriate level in consideration of the general speaking tone, accent, and behavior of residents of area C and provides it to the edge reasoner 500 or the cloud reasoner 700.
  • the outpost model responsible for the threat detection service designed to detect the threat can be newly distributed to the service outpost 400. That is, the outpost model responsible for the threat detection service of the service outpost 400 may be updated to suit the C region.
  • the collaboration manager 600 is an edge model in charge of the threat detection service designed to infer whether or not a threat is detected from the filtered edge data by considering the general speaking tone, accent, and behavior of residents of area C.
  • a cloud model may be newly distributed to the edge reasoner 500 and/or the cloud reasoner 700. That is, the edge model responsible for the threat detection service of the edge reasoner 500 and/or the cloud model responsible for the threat detection service of the cloud reasoner 700 may be updated to suit the C region.
  • At least one of the updated outpost model, edge model, and cloud model may be designed in advance based on other vehicles that mainly operate in the C area.
  • the edge model for area C has not been completely installed in the edge reasoner 500.
  • the edge data is transmitted to the cloud reasoner 700 so that the inference location for the threat detection service is determined by the cloud reasoner 700.
  • the edge data is transmitted to the edge reasoner 500 so that the inference location for the threat detection service is the cloud reasoner 500. You may.
  • Computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is. Additionally, the computer may include a processor 180 of an artificial intelligence device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 개시는 에지 데이터의 종류 및 그 목적에 따라 에지 데이터가 에지 디바이스 및 클라우드 서버 중 적합한 위치에서 추론될 수 있도록 하고 에지 디바이스 및 클라우드 서버의 구성이 용이하게 업데이트될 수 있도록 하는 에지 및 클라우드 간 협업 시스템 및 방법에 관한 것으로서, 상기 에지 디바이스는, 상기 협업 시스템이 제공하는 복수의 서비스들 각각에 대해 적어도 하나의 센서에 의해 수집되는 에지 데이터의 상기 협업 서비스 내에서의 흐름을 관장하는 서비스 코디네이터, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 에지 인공지능 모델을 구비할 수 있는 에지 추론기를 포함하고, 상기 클라우드 서버는, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 클라우드 인공지능 모델을 포함하는 클라우드 추론기, 및 상기 에지 추론기 및 상기 클라우드 추론기의 로그 정보에 기반하여 상기 에지 추론기 및 상기 클라우드 추론기 중 적어도 하나의 구성을 변경하기 위한 협업 매니저를 포함하는 협업 시스템을 제공할 수 있다.

Description

에지 및 클라우드 간 협업 시스템 및 방법
본 개시는 에지 및 클라우드 간 협업 시스템 및 방법(Edge-Cloud Collaboration System and Method)에 관한 것으로, 좀더 자세하게는 에지 디바이스에서 수집된 에지 데이터의 분석을 에지 디바이스와 클라우드 서버 간에 협업으로 수행할 수 있는 시스템 및 방법에 관한 것이다.
최근, 다양한 IoT(Internet of Things) 장치와 같은 에지 디바이스의 보급화와 클라우드 컴퓨팅 기술의 발전으로 인해, 에지 디바이스에서 수집된 에지 데이터가 클라우드 서버로 보내지고 클라우드 서버가 에지 데이터를 분석하는 클라우드 서비스가 널리 활용되고 있다.
이러한 클라우드 서비스에서, 에지 디바이스가 모든 에지 데이터를 클라우드 서버에 보내고, 클라우드 서버가 모든 에지 데이터를 처리하는 것은 적어도 클라우드 통신 트래픽 및 레이턴시(latency) 측면에서 비효율적일 수 있다. 그리고, 에지 디바이스가 수집하는 모든 에지 데이터를 클라우드 서버로 보낸다면 사적인 개인 데이터도 클라우드 서버에 제공될 수 있으므로, 프라이버시 침해 우려가 발생될 수도 있다.
이러한 문제를 해결하기 위해, 데이터 분석을 위해 클라우드 서버에 에지 데이터를 보내는 대신에 에지 데이터를 수집한 에지 디바이스 자체에서 또는 별도의 다른 에지 디바이스에서 에지 데이터를 분석하는 에지 컴퓨팅 기술이 활용될 수도 있다.
그러나, 이 경우 원활한 에지 데이터의 처리를 위해서는 고사양의 에지 디바이스가 활용되어야 하므로 비용 측면에서 비효율적일 수 있다.
한편, 에지 데이터의 분석을 위해 에지 디바이스 및 클라우드 서버에 인공지능 모델이 적용될 수도 있다. 그런데, 에지 데이터가 다양한 목적을 위해 사용하기 위해서는 에지 디바이스 및 클라우드 서버의 구성 및/또는 이들 각각에 적용된 인공지능 모델이 용이하게 업데이트될 수 있도록 하는 방안을 필요로 할 수 있다.
본 개시는 이와 같은 문제점을 해결하기 위해 제안되는 것으로서, 에지 데이터의 종류 및 그 목적에 따라 에지 데이터가 에지 디바이스 및 클라우드 서버 중 적합한 위치에서 추론될 수 있도록 하는 에지 및 클라우드 간 협업 시스템 및 방법을 제공하는 것을 목적으로 한다.
또한, 에지 디바이스 및 클라우드 서버에서 에지 데이터가 다양한 목적을 위해 사용될 수 있도록, 에지 디바이스 및 클라우드 서버의 구성 및/또는 이들 각각에 적용된 인공지능 모델이 용이하게 업데이트될 수 있도록 하는 에지 및 클라우드 간 협업 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 개시는, 에지 디바이스 및 클라우드 서버 간의 협업 시스템으로서, 상기 에지 디바이스는, 상기 협업 시스템이 제공하는 복수의 서비스들 각각에 대해 적어도 하나의 센서에 의해 수집되는 에지 데이터의 상기 협업 서비스 내에서의 흐름을 관장하는 서비스 코디네이터, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 에지 인공지능 모델을 구비할 수 있는 에지 추론기를 포함하고, 상기 클라우드 서버는, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 클라우드 인공지능 모델을 포함하는 클라우드 추론기, 및 상기 에지 추론기 및 상기 클라우드 추론기의 로그 정보에 기반하여 상기 에지 추론기 및 상기 클라우드 추론기 중 적어도 하나의 구성을 변경하기 위한 협업 매니저를 포함하는 협업 시스템을 제공할 수 있다.
상기 협업 매니저는 상기 변경된 구성에 부합하도록 데이터 흐름 설정을 변경하거나 생성하고, 상기 서비스 코디네이터는 상기 데이터 흐름 설정을 수신하여 이에 따라 각 서비스 별로 상기 협업 시스템 내에서의 상기 에지 데이터의 흐름을 관장할 수 있다.
상기 협업 시스템은 상기 에지 데이터로부터 트리거링 데이터를 검출하기 위한 서비스 아웃포스트를 더욱 포함할 수 있다.
상기 협업 매니저는, 상기 에지 추론기 및 상기 클라우드 추론기의 로그 정보에 기반하여 상기 서비스 아웃포스트의 구성을 더욱 변경할 수 있다.
상기 서비스 코디네이터는, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기 또는 상기 클라우드 추론기로 전송할 수 있다.
상기 서비스 아웃포스트는 상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공하고, 상기 서비스 코디네이터는 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 가공된 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기 또는 상기 클라우드 추론기로 전송할 수 있다.
상기 서비스 코디네이터는, 상기 적어도 하나의 센서로부터 에지 데이터를 수신하고, 복수의 서비스들 중에서 상기 수신된 에지 데이터에 해당하는 대상 서비스를 확인하고, 상기 서비스 아웃포스트를 통해 상기 트리거링 데이터가 검출되면, 상기 대상 서비스에 해당하는 추론 위치를 확인하고, 상기 에지 추론기 및 상기 클라우드 추론기 중에서 상기 추론 위치에 부합하는 추론기로 상기 에지 데이터를 전송할 수 있다.
상기 서비스 코디네이터는, 상기 데이터 흐름 설정을 통해 상기 대상 서비스에 해당하는 추론 위치를 확인할 수 있다.
상기 협업 매니저는, 상기 복수의 서비스들의 각 서비스에 대한 에지 추론기 적용 적합도에 기반하여, 상기 복수의 서비스들의 우선순위를 정하고, 상기 우선순위에 따라 상기 복수의 서비스들의 한 서비스씩 요구 자원 및 상기 에지 디바이스의 가용 자원을 비교하여 추론 위치를 정하고, 상기 복수의 서비스들의 각 서비스에 대한 추론 위치에 기반하여 시스템 구성 최적화를 수행할 수 있다.
상기 협업 매니저는, 상기 수행되는 시스템 구성 최적화를 통해 상기 에지 추론기 및 상기 클라우드 추론기 중 적어도 하나의 구성을 변경할 수 있다.
상기 협업 매니저는, 각 서비스에 있어서 사전 준비된 항목별 에지 추론기 적합도 파라미터에 사전 준비된 항목별 가중치를 곱한 값을 모든 항목에 대해 합산함으로써 각 서비스에 대한 에지 추론기 적용 적합도를 계산할 수 있다.
상기 항목별 가중치는 평상시와 비상시에 서로 다른 값을 가질 수 있어서 평상시 각 서비스에 대한 에지 추론기 적용 적합도는 비상시 각 서비스에 대한 에지 추론기 적용 적합도와 달라질 수 있다.
상기 협업 매니저는, 상기 시스템 구성 최적화를 일정 시간 간격으로 행하거나, 소정 이벤트 발생시 행할 수 있다.
상기 협업 시스템은 상기 변경된 구성을 출력하여 사용자로부터 상기 변경된 구성에 대해 승인을 받기 위한 협업 유저인터페이스를 더욱 포함하고, 상기 협업 매니저는 상기 협업 유저인터페이스에 대해 사용자로부터 상기 변경된 구성에 대해 승인을 받은 후에 상기 변경된 구성을 시스템에 적용할 수 있다.
상기 변경된 구성이 상기 협업 시스템에 적용됨에 따라, 상기 에지 추론기 내의 에지 인공지능 모델의 개수 및 상기 클라우드 추론기 내의 클라우드 인공지능 모델의 개수 중 적어도 하나가 달라질 수 있다.
상기 서비스 아웃포스트는, 한 서비스 필터가 적어도 하나의 서비스를 담당할 수 있는 적어도 하나의 서비스 필터를 포함할 수 있다.
상기 적어도 하나의 서비스 필터 중 하나는, 둘 이상의 서비스들을 위해 상기 에지 데이터의 특징을 추출하도록 가공하는 백본과, 상기 가공된 에지 데이터로부터 상기 둘 이상의 서비스들 각각을 위해 상기 트리거링 데이터를 검출하기 위한 둘 이상의 아웃포스트 인공지능 모델들을 포함할 수 있다.
상기 적어도 하나의 서비스 필터 중 다른 하나는, 둘 이상의 서비스들을 위해 상기 에지 데이터의 특징을 추출하도록 가공하는 백본과, 상기 가공된 에지 데이터로부터 상기 둘 이상의 서비스들 각각을 위해 상기 트리거링 데이터를 검출하기 위한 판단 로직을 포함할 수 있다.
상기 적어도 하나의 서비스 필터 중 또다른 하나는, 상기 적어도 하나의 센서로부터 수신되는 가공되지 않은 에지 데이터로부터 트리거링 데이터를 검출하기 위한 경량 인공지능 모델을 포함할 수 있다.
또한, 상기 목적을 달성하기 위해 본 개시는, 에지 디바이스 및 클라우드 서버 간의 협업 방법으로서, 상기 에지 디바이스의 적어도 하나의 센서를 통해 에지 데이터를 수집하는 단계, 상기 에지 디바이스의 서비스 코디네이터를 통해 상기 협업 시스템이 제공하는 복수의 서비스들 각각에 대해 상기 협업 시스템 내에서의 상기 에지 데이터의 흐름을 관장하는 단계, 상기 에지 디바이스의 에지 추론기에 있는 적어도 하나의 에지 인공지능 모델을 통해, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하는 단계, 상기 클라우드 서버의 클라우드 추론기에 있는 적어도 하나의 클라우드 인공지능 모델을 통해, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하는 단계, 및 상기 클라우드 서버의 협업 매니저를 통해, 상기 에지 추론기 및 상기 클라우드 추론기의 로그 정보에 기반하여 상기 에지 추론기 및 상기 클라우드 추론기 중 적어도 하나의 구성을 변경하는 단계를 포함하는 협업 방법을 제공할 수 있다.
또한, 상기 목적을 달성하기 위해 본 개시는, 에지 디바이스와 통신 가능한 클라우드 서버로서, 상기 에지 디바이스로부터 추론용 입력데이터로서 에지 데이터를 입력 받아서 상기 에지 디바이스가 제공하기 위한 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 클라우드 인공지능 모델을 포함하는 클라우드 추론기, 및 상기 클라우드 추론기로부터 수신하는 상기 클라우드 추론기의 로그 정보 및 상기 에지 디바이스에 구비된 에지 추론기로부터 수신하는 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여 상기 클라우드 추론기의 구성을 변경하기 위한 협업 매니저를 포함하는 클라우드 서버를 제공할 수 있다.
상기 협업 매니저는, 상기 클라우드 추론기의 로그 정보 및 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여 상기 에지 추론기의 구성을 변경하고, 상기 변경된 에지 추론기의 구성에 관한 정보를 상기 에지 디바이스로 전송할 수 있다.
상기 협업 매니저는, 상기 에지 디바이스에 구비된 에지 추론기로부터 수신하는 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여, 상기 에지 데이터로부터 트리거링 데이터를 검출하기 위한 상기 에지 디바이스의 서비스 아웃포스트의 구성을 변경하고, 상기 변경된 서비스 아웃포스트의 구성에 관한 정보를 상기 에지 디바이스로 전송할 수 있다.
상기 협업 매니저는, 상기 클라우드 서버 및 상기 에지 디바이스에서의 상기 에지 데이터의 흐름에 관한 데이터 흐름 설정을 생성하고, 상기 생성된 데이터 흐름 설정을 상기 에지 디바이스로 전송할 수 있다.
상기 클라우드 추론기의 구성이 변경됨에 따라, 상기 클라우드 추론기 내의 클라우드 인공지능 모델의 개수가 달라질 수 있고, 상기 에지 추론기의 구성이 변경됨에 따라, 상기 에지 추론기 내의 에지 인공지능 모델의 개수가 달라질 수 있다.
상기 협업 매니저는, 상기 복수의 서비스들의 각 서비스에 대한 에지 추론기 적용 적합도에 기반하여, 상기 복수의 서비스들의 우선순위를 정하고, 상기 우선순위에 따라 상기 복수의 서비스들의 한 서비스씩 요구 자원 및 상기 에지 디바이스의 가용 자원을 비교하여 추론 위치를 정하고, 상기 복수의 서비스들의 각 서비스에 대한 추론 위치에 기반하여 상기 클라우드 추론기 및 상기 에지 추론기 중 적어도 하나의 구성을 변경할 수 있다.
상기 협업 매니저는, 상기 구성의 변경을 일정 시간 간격으로 수행하거나, 소정 이벤트 발생시 수행할 수 있다.
상기 협업 매니저는, 상기 에지 디바이스의 용도가 달라짐에 따라 상기 에지 추론기의 구성을 더욱 변경할 수 있다.
상기 협업 매니저는, 상기 에지 디바이스의 용도에 관한 정보를 상기 에지 디바이스로부터 수신할 수 있다.
상기 협업 매니저는, 신규 서비스 제공을 위한 최초 추론 위치를 상기 클라우드 추론기로 정하고, 상기 신규 서비스 제공 후 소정 시간이 경과되면 상기 추론 위치를 상기 에지 추론기로 변경할 수 있다.
상기 협업 매니저는, 상기 에지 디바이스와는 통신 환경에 기반하여 특정 서비스에 대한 추론 위치를 정할 수 있다.
상기 협업 매니저는, 상기 에지 디바이스와의 통신이 양호한 경우 상기 특정 서비스에 대한 추론 위치를 상기 클라우드 추론기로 정하고, 상기 에지 디바이스와의 통신이 불량한 경우 상기 특정 서비스에 대한 추론 위치를 상기 에지 추론기로 정할 수 있다.
또한, 상기 목적을 달성하기 위해 본 개시는, 에지 디바이스와 통신 가능한 클라우드 서버의 제어 방법으로서, 상기 에지 디바이스로부터 추론용 입력데이터로서 에지 데이터를 입력 받아서, 상기 클라우드 서버의 클라우드 추론기를 통해 상기 에지 디바이스가 제공하기 위한 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하는 단계, 및 상기 클라우드 서버의 협업 매니저를 통해, 상기 클라우드 추론기로부터 수신하는 상기 클라우드 추론기의 로그 정보 및 상기 에지 디바이스에 구비된 에지 추론기로부터 수신하는 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여 상기 클라우드 추론기의 구성을 변경하는 단계를 포함하는 클라우드 서버의 제어 방법을 제공할 수 있다.
또한, 상기 목적을 달성하기 위해 본 개시는, 클라우드 서버와 통신 가능한 에지 디바이스로서, 상기 에지 디바이스가 제공하는 복수의 서비스들 각각에 대해 적어도 하나의 센서에 의해 수집되는 에지 데이터의 흐름을 관장하는 서비스 코디네이터, 및 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 에지 인공지능 모델을 구비할 수 있는 에지 추론기를 포함하고, 상기 클라우드 서버로부터 수신하는 구성 정보에 따라 상기 에지 추론기의 구성이 변경될 수 있는 에지 디바이스를 제공할 수 있다.
상기 에지 디바이스는, 상기 에지 데이터로부터 트리거링 데이터를 검출하기 위한 서비스 아웃포스트를 더욱 포함할 수 있다.
상기 클라우드 서버로부터 수신하는 구성 정보에 따라 상기 서비스 아웃포스트의 구성이 변경될 수 있다.
상기 서비스 코디네이터는, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기 또는 상기 클라우드 서버의 클라우드 추론기로 전송할 수 있다.
상기 서비스 아웃포스트는, 상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공하고, 상기 서비스 코디네이터는, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 가공된 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기 또는 상기 클라우드 서버의 클라우드 추론기로 전송할 수 있다.
상기 서비스 코디네이터는, 상기 적어도 하나의 센서로부터 에지 데이터를 수신하고, 복수의 서비스들 중에서 상기 수신된 에지 데이터에 해당하는 대상 서비스를 확인하고, 상기 서비스 아웃포스트를 통해 상기 트리거링 데이터가 검출되면, 상기 대상 서비스에 해당하는 추론 위치를 확인하고, 상기 에지 추론기 및 상기 클라우드 서버의 클라우드 추론기 중에서 상기 추론 위치에 부합하는 추론기로 상기 에지 데이터를 전송할 수 있다.
상기 서비스 코디네이터는, 상기 클라우드 서버로부터 수신하는 데이트 흐름 설정에 관한 정보에 기반하여 상기 대상 서비스에 해당하는 추론 위치를 확인할 수 있다.
상기 에지 추론기의 구성이 변경됨에 따라, 상기 에지 추론기 내의 에지 인공지능 모델의 개수가 달라질 수 있다.
상기 서비스 아웃포스트는, 한 서비스 필터가 적어도 하나의 서비스를 담당할 수 있는 적어도 하나의 서비스 필터를 포함할 수 있다.
상기 적어도 하나의 서비스 필터 중 하나는, 둘 이상의 서비스들을 위해 상기 에지 데이터의 특징을 추출하도록 가공하는 백본과, 상기 가공된 에지 데이터로부터 상기 둘 이상의 서비스들 각각을 위해 상기 트리거링 데이터를 검출하기 위한 둘 이상의 아웃포스트 인공지능 모델들을 포함할 수 있다.
상기 적어도 하나의 서비스 필터 중 다른 하나는, 둘 이상의 서비스들을 위해 상기 에지 데이터의 특징을 추출하도록 가공하는 백본과, 상기 가공된 에지 데이터로부터 상기 둘 이상의 서비스들 각각을 위해 상기 트리거링 데이터를 검출하기 위한 판단 로직을 포함할 수 있다.
상기 적어도 하나의 서비스 필터 중 또다른 하나는, 상기 적어도 하나의 센서로부터 수신되는 가공되지 않은 에지 데이터로부터 트리거링 데이터를 검출하기 위한 경량 인공지능 모델을 포함할 수 있다.
상기 에지 디바이스의 위치에 따라서 상기 트리거링 데이터를 검출하는 기준이 변경될 수 있다.
또한, 상기 목적을 달성하기 위해 본 개시는, 클라우드 서버와 통신 가능한 에지 디바이스의 제어 방법으로서, 상기 에지 디바이스의 서비스 코디네이터를 통해, 상기 에지 디바이스가 제공하는 복수의 서비스들 각각에 대해 적어도 하나의 센서에 의해 수집되는 에지 데이터의 흐름을 관장하는 단계, 상기 에지 디바이스의 에지 추론기를 통해, 상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하는 단계, 및 상기 클라우드 서버로부터 수신하는 구성 정보에 따라 상기 에지 추론기의 구성을 변경하는 단계를 포함하는 에지 디바이스의 제어 방법을 제공할 수 있다.
본 개시에 따른 에지 및 클라우드 간 협업 시스템 및 방법의 효과에 대해 설명하면 다음과 같다.
본 개시의 실시예들 중 적어도 하나에 의하면, 에지 데이터의 종류 및 그 목적에 따라 에지 데이터가 에지 디바이스 및 클라우드 서버 간에 적합한 곳에서 추론될 수 있다는 장점이 있다.
또한, 본 개시의 실시예들 중 적어도 하나에 의하면, 에지 디바이스 및 클라우드 서버에 에지 데이터가 다양한 목적을 위해 사용될 수 있도록 하는 인공지능 모델이 적용되거나, 기적용된 인공지능 모델이 다른 목적에도 활용될 수 있도록 용이하게 업데이트될 수 있다는 장점이 있다.
도 1은 본 개시의 일 실시 예에 따른 AI 장치를 나타낸다.
도 2는 본 개시의 일 실시 예에 따른 AI 서버를 나타낸다.
도 3은 본 개시의 일 실시 예에 따른 AI 시스템을 나타낸다.
도 4는 본 개시의 또 다른 실시 예에 따른 AI 장치를 나타낸다.
도 5는 본 개시의 일실시예에 따른 에지 디바이스 및 클라우드 서버 간의 협업 시스템의 소프트웨어 관점의 블록도이다.
도 6은 도 5의 협업 시스템의 서비스 코디네이터 및 서비스 아웃포스트 간의 관계를 좀더 자세히 도시한 블록도이다.
도 7은 도 6의 서비스 아웃포스트를 좀더 자세히 도시한 블록도이다.
도 8은 도 5의 협업 시스템의 서비스 아웃포스트, 에지 추론기, 클라우드 추론기 간의 관계를 좀더 자세히 도시한 블록도이다.
도 9 내지 도 12는 도 5의 협업 시스템에서의 시스템 구성의 변경 예시를 도시한다.
도 13의 도 5의 협업시스템의 협업 유저인터페이스를 좀더 자세히 도시한 도면이다.
도 14는 본 개시의 일실시예에 따라 서비스 제공을 위해 에지 데이터가 에지 추론기 및 클라우드 추론기 중 선택된 한 곳에서 처리되는 프로세스를 도시한다.
도 15는 본 개시의 일실시예에 따른 시스템 구성 최적화를 위한 프로세스를 도시한다.
도 16은 도 15의 각 서비스에 대한 에지 추론기 적용 적합도 계산 프로세스 및 이를 위한 파라미터와 가중치를 도시한다.
도 17은 도 16의 각 서비스에 대한 에지 추론기 적용 적합도의 계산의 예시를 도시한다.
도 18은 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
도 19는 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
도 20은 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
도 21은 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
도 22는 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 개시 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 개시에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 개시에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 개시에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 개시에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이들 구성요소들은 각각 별도의 개별 하드웨어 모듈로 구성되거나 둘 이상의 하드웨어 모듈로 구현될 수도 있고, 둘 이상의 구성요소들이 하나의 하드웨어 모듈로 구현될 수도 있으며, 경우에 따라서는 소프트웨어로도 구현될 수 있음은 물론이다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시에서, "포함한다" 또는 "가지다" 등의 용어는 개시상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서, "A 및 B 중 적어도 하나"라는 표현은 "A"를 의미할 수도 있고, "B"를 의미할 수도 있고, "A"와 "B"를 모두 의미할 수도 있다.
이하, 본 개시에서 활용될 수 있는 인공 지능(AI: Artificial Intelligence)에 대해 설명하겠다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로서, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
기계 학습을 이용한 객체 감지 모델은 단일 단계 방식의 YOLO(you Only Look Once) 모델, 이단계 방식의 Faster R-CNN(Regions with Convolution Neural Networks) 모델 등이 있다.
YOLO(you Only Look Once) 모델은 이미지 내에 존재하는 객체와 해당 객체의 위치가 이미지를 한번만 보고 예측할 수 있는 모델이다.
YOLO(you Only Look Once) 모델은 원본 이미지를 동일한 크기의 그리드(grid)로 나눈다. 그리고, 각 그리드에 대해 그리드 중앙을 중심으로 미리 정의된 형태로 지정된 경계 박스의 개수를 예측하고 이를 기반으로 신뢰도가 계산된다.
그 후, 이미지에 객체가 포함되어 있는지, 또는 배경만 단독으로 있는지에 대한 여부가 포함되며, 높은 객체 신뢰도를 가진 위치가 선택되어 객체 카테고리가 파악될 수 있다.
Faster R-CNN(Regions with Convolution Neural Networks) 모델은 RCNN 모델 및 Fast RCNN 모델보다 더 빨리 객체를 감지할 수 있는 모델이다.
Faster R-CNN(Regions with Convolution Neural Networks) 모델에 대해 구체적으로 설명한다.
먼저, CNN(Convolution Neural Network) 모델을 통해 이미지로부터 특징 맵이 추출된다. 추출된 특징 맵에 기초하여, 복수의 관심 영역(Region of Interest, RoI)들이 추출된다. 각 관심 영역에 대해 RoI 풀링이 수행된다.
RoI 풀링은 관심 영역이 투사된 피쳐 맵을 미리 정해 놓은 H x W 크기에 맞게 끔 그리드를 설정하고, 각 그리드에 포함된 칸 별로, 가장 큰 값을 추출하여, H x W 크기를 갖는 피쳐 맵을 추출하는 과정이다.
H x W 크기를 갖는 피쳐 맵로부터 특징 벡터가 추출되고, 특징 벡터로부터 객체의 식별 정보가 얻어질 수 있다.
이하, 도 1을 참조하여, 본 개시에서 에지 디바이스로 사용될 수 있는 AI 장치에 대해 설명하겠다. 도 1은 본 개시의 일 실시 예에 따른 AI 장치(100)를 나타낸다.
AI 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, AI 장치(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치(100a 내지 100e)나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(BluetoothTM), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
이하, 본 개시에서 클라우드 서버로 사용될 수 있는 AI 서버에 대해 설명하겠다. 도 2는 본 개시의 일 실시 예에 따른 AI 서버(200)를 나타낸다.
도 2를 참조하면, AI 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
이하, 도 3을 참조하여, 본 개시의 일실시예에 따른 AI 시스템(1)에 대해 설명하겠다. 도 3은 본 개시의 일 실시 예에 따른 AI 시스템(1)을 나타낸다.
도 3을 참조하면, AI 시스템(1)은 AI 서버(200), 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상이 클라우드 네트워크(10)와 연결되어 구성될 수 있다. 여기서, AI 기술이 적용된 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 등을 AI 장치(100a 내지 100e)라 칭할 수 있다.
클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.
즉, AI 시스템(1)을 구성하는 각 장치들(100a 내지 100e, 200)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(100a 내지 100e, 200)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.
AI 서버(200)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다.
AI 서버(200)는 AI 시스템(1)을 구성하는 AI 장치들인 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상과 클라우드 네트워크(10)을 통하여 연결되고, 연결된 AI 장치들(100a 내지 100e)의 AI 프로세싱을 적어도 일부를 도울 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(100a 내지 100e)에 전송할 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(100a 내지 100e)로 전송할 수 있다.
또는, AI 장치(100a 내지 100e)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.
이하에서는, 상술한 기술이 적용되는 AI 장치(100a 내지 100e)의 다양한 실시 예들을 설명한다. 여기서, 도 3에 도시된 AI 장치(100a 내지 100e)는 도 1에 도시된 AI 장치(100)의 구체적인 실시 예로 볼 수 있다.
로봇(100a)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100a)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100a)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100a)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100a)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100a)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100a)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100a)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100a)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100a)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100a)을 주행시킬 수 있다.
맵 데이터에는 로봇(100a)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100a)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100a)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
자율 주행 차량(100b)은 AI 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
자율 주행 차량(100b)은 자율 주행 기능을 제어하기 위한 자율 주행 제어 모듈을 포함할 수 있고, 자율 주행 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다. 자율 주행 제어 모듈은 자율 주행 차량(100b)의 구성으로써 내부에 포함될 수도 있지만, 자율 주행 차량(100b)의 외부에 별도의 하드웨어로 구성되어 연결될 수도 있다.
자율 주행 차량(100b)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 자율 주행 차량(100b)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 동작을 결정할 수 있다.
여기서, 자율 주행 차량(100b)은 이동 경로 및 주행 계획을 결정하기 위하여, 로봇(100a)과 마찬가지로, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
특히, 자율 주행 차량(100b)은 시야가 가려지는 영역이나 일정 거리 이상의 영역에 대한 환경이나 객체는 외부 장치들로부터 센서 정보를 수신하여 인식하거나, 외부 장치들로부터 직접 인식된 정보를 수신할 수 있다.
자율 주행 차량(100b)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 자율 주행 차량(100b)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 주행 동선을 결정할 수 있다. 여기서, 학습 모델은 자율 주행 차량(100b)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 자율 주행 차량(100b)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
자율 주행 차량(100b)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 자율 주행 차량(100b)을 주행시킬 수 있다.
맵 데이터에는 자율 주행 차량(100b)이 주행하는 공간(예컨대, 도로)에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 가로등, 바위, 건물 등의 고정 객체들과 차량, 보행자 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 자율 주행 차량(100b)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 자율 주행 차량(100b)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
XR 장치(100c)는 AI 기술이 적용되어, HMD(Head-Mount Display), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 휴대폰, 스마트 폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지, 차량, 고정형 로봇이나 이동형 로봇 등으로 구현될 수 있다.
XR 장치(100c)는 다양한 센서들을 통해 또는 외부 장치로부터 획득한 3차원 포인트 클라우드 데이터 또는 이미지 데이터를 분석하여 3차원 포인트들에 대한 위치 데이터 및 속성 데이터를 생성함으로써 주변 공간 또는 현실 객체에 대한 정보를 획득하고, 출력할 XR 객체를 렌더링하여 출력할 수 있다. 예컨대, XR 장치(100c)는 인식된 물체에 대한 추가 정보를 포함하는 XR 객체를 해당 인식된 물체에 대응시켜 출력할 수 있다.
XR 장치(100c)는 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, XR 장치(100c)는 학습 모델을 이용하여 3차원 포인트 클라우드 데이터 또는 이미지 데이터에서 현실 객체를 인식할 수 있고, 인식한 현실 객체에 상응하는 정보를 제공할 수 있다. 여기서, 학습 모델은 XR 장치(100c)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, XR 장치(100c)는 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100a)은 AI 기술 및 자율 주행 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
AI 기술과 자율 주행 기술이 적용된 로봇(100a)은 자율 주행 기능을 가진 로봇 자체나, 자율 주행 차량(100b)과 상호작용하는 로봇(100a) 등을 의미할 수 있다.
자율 주행 기능을 가진 로봇(100a)은 사용자의 제어 없이도 주어진 동선에 따라 스스로 움직이거나, 동선을 스스로 결정하여 움직이는 장치들을 통칭할 수 있다.
자율 주행 기능을 가진 로봇(100a) 및 자율 주행 차량(100b)은 이동 경로 또는 주행 계획 중 하나 이상을 결정하기 위해 공통적인 센싱 방법을 사용할 수 있다. 예를 들어, 자율 주행 기능을 가진 로봇(100a) 및 자율 주행 차량(100b)은 라이다, 레이더, 카메라를 통해 센싱된 정보를 이용하여, 이동 경로 또는 주행 계획 중 하나 이상을 결정할 수 있다.
자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)과 별개로 존재하면서, 자율 주행 차량(100b)의 내부에서 자율 주행 기능에 연계되거나, 자율 주행 차량(100b)에 탑승한 사용자와 연계된 동작을 수행할 수 있다.
이때, 자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)을 대신하여 센서 정보를 획득하여 자율 주행 차량(100b)에 제공하거나, 센서 정보를 획득하고 주변 환경 정보 또는 객체 정보를 생성하여 자율 주행 차량(100b)에 제공함으로써, 자율 주행 차량(100b)의 자율 주행 기능을 제어하거나 보조할 수 있다.
또는, 자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)에 탑승한 사용자를 모니터링하거나 사용자와의 상호작용을 통해 자율 주행 차량(100b)의 기능을 제어할 수 있다. 예컨대, 로봇(100a)은 운전자가 졸음 상태인 경우로 판단되는 경우, 자율 주행 차량(100b)의 자율 주행 기능을 활성화하거나 자율 주행 차량(100b)의 구동부의 제어를 보조할 수 있다. 여기서, 로봇(100a)이 제어하는 자율 주행 차량(100b)의 기능에는 단순히 자율 주행 기능뿐만 아니라, 자율 주행 차량(100b)의 내부에 구비된 네비게이션 시스템이나 오디오 시스템에서 제공하는 기능도 포함될 수 있다.
또는, 자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)의 외부에서 자율 주행 차량(100b)에 정보를 제공하거나 기능을 보조할 수 있다. 예컨대, 로봇(100a)은 스마트 신호등과 같이 자율 주행 차량(100b)에 신호 정보 등을 포함하는 교통 정보를 제공할 수도 있고, 전기 차량의 자동 전기 충전기와 같이 자율 주행 차량(100b)과 상호작용하여 충전구에 전기 충전기를 자동으로 연결할 수도 있다.
로봇(100a)은 AI 기술 및 XR 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇, 드론 등으로 구현될 수 있다.
XR 기술이 적용된 로봇(100a)은 XR 영상 내에서의 제어/상호작용의 대상이 되는 로봇을 의미할 수 있다. 이 경우, 로봇(100a)은 XR 장치(100c)와 구분되며 서로 연동될 수 있다.
XR 영상 내에서의 제어/상호작용의 대상이 되는 로봇(100a)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하면, 로봇(100a) 또는 XR 장치(100c)는 센서 정보에 기초한 XR 영상을 생성하고, XR 장치(100c)는 생성된 XR 영상을 출력할 수 있다. 그리고, 이러한 로봇(100a)은 XR 장치(100c)를 통해 입력되는 제어 신호 또는 사용자의 상호작용에 기초하여 동작할 수 있다.
예컨대, 사용자는 XR 장치(100c) 등의 외부 장치를 통해 원격으로 연동된 로봇(100a)의 시점에 상응하는 XR 영상을 확인할 수 있고, 상호작용을 통하여 로봇(100a)의 자율 주행 경로를 조정하거나, 동작 또는 주행을 제어하거나, 주변 객체의 정보를 확인할 수 있다.
자율 주행 차량(100b)은 AI 기술 및 XR 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
XR 기술이 적용된 자율 주행 차량(100b)은 XR 영상을 제공하는 수단을 구비한 자율 주행 차량이나, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량 등을 의미할 수 있다. 특히, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(100b)은 XR 장치(100c)와 구분되며 서로 연동될 수 있다.
XR 영상을 제공하는 수단을 구비한 자율 주행 차량(100b)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하고, 획득한 센서 정보에 기초하여 생성된 XR 영상을 출력할 수 있다. 예컨대, 자율 주행 차량(100b)은 HUD를 구비하여 XR 영상을 출력함으로써, 탑승자에게 현실 객체 또는 화면 속의 객체에 대응되는 XR 객체를 제공할 수 있다.
이때, XR 객체가 HUD에 출력되는 경우에는 XR 객체의 적어도 일부가 탑승자의 시선이 향하는 실제 객체에 오버랩되도록 출력될 수 있다. 반면, XR 객체가 자율 주행 차량(100b)의 내부에 구비되는 디스플레이에 출력되는 경우에는 XR 객체의 적어도 일부가 화면 속의 객체에 오버랩되도록 출력될 수 있다. 예컨대, 자율 주행 차량(100b)은 차로, 타 차량, 신호등, 교통 표지판, 이륜차, 보행자, 건물 등과 같은 객체와 대응되는 XR 객체들을 출력할 수 있다.
XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(100b)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하면, 자율 주행 차량(100b) 또는 XR 장치(100c)는 센서 정보에 기초한 XR 영상을 생성하고, XR 장치(100c)는 생성된 XR 영상을 출력할 수 있다. 그리고, 이러한 자율 주행 차량(100b)은 XR 장치(100c) 등의 외부 장치를 통해 입력되는 제어 신호 또는 사용자의 상호작용에 기초하여 동작할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 AI 장치(100)를 나타낸다.
도 1과 중복되는 설명은 생략한다.
도 4를 참조하면, 입력부(120)는 영상 신호 입력을 위한 카메라(Camera, 121), 오디오 신호를 수신하기 위한 마이크로폰(Microphone, 122), 사용자로부터 정보를 입력 받기 위한 사용자 입력부(User Input Unit, 123)를 포함할 수 있다.
입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어 명령으로 처리될 수 있다.
입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, AI 장치(100)는 하나 또는 복수의 카메라(121)들을 구비할 수 있다.
카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(Display Unit, 151)에 표시되거나 메모리(170)에 저장될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 AI 장치(100)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 적용될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력 받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면, 프로세서(180)는 입력된 정보에 대응되도록 AI 장치(100)의 동작을 제어할 수 있다.
사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예컨대, 단말기(100)의 전/후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다.
출력부(150)는 디스플레이부(Display Unit, 151), 음향 출력부(Sound Output Unit, 152), 햅틱 모듈(Haptic Module, 153), 광 출력부(Optical Output Unit, 154) 중 적어도 하나를 포함할 수 있다.
디스플레이부(151)는 AI 장치(100)에서 처리되는 정보를 표시(출력)한다. 예컨대, 디스플레이부(151)는 AI 장치(100)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, AI 장치(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다.
음향 출력부(152)는 리시버(receiver), 스피커(speaker), 버저(buzzer) 중 적어도 하나 이상을 포함할 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다.
광출력부(154)는 AI 장치(100)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. AI 장치(100)에서 발생 되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
이하, 도 5를 참조하여, 본 개시의 일실시예에 따른 에지 디바이스 및 클라우드 서버 간의 협업을 위한 시스템을 소프트웨어 관점에서 살펴보겠다. 도 5는 본 개시의 일실시예에 따른 에지 디바이스 및 클라우드 서버 간의 협업 시스템의 소프트웨어 관점의 블록도이다.
이하에서는 상기 에지 디바이스(100)가 차량(vehicle)인 것으로 가정하고 설명하겠다.
먼저 상기 차량(100)의 상기 센싱부(140)에 포함되어 있는 적어도 하나의 센서들은 상기 차량(100)과 관련된 각종 데이터를 수집할 수 있다. 상기 적어도 하나의 센서들에 의해 수집되는 상기 차량(100)과 관련된 데이터가 에지 데이터로 이해될 수 있다.
상기 센싱부(140)는 위치 탐색부(미도시), 차량상태 수집부(미도시), 및 차량 내외 상황 수집부(미도시) 중 적어도 하나를 포함할 수 있다.
상기 위치 탐색부는 상기 차량(100)의 현재위치를 탐색하여 상기 차량의 프로세서(180)에 제공할 수 있다.
여기서, 상기 위치 탐색부는 위성항법과 추측항법 중 어느 하나 이상을 통해 차량의 현재위치를 탐색할 수 있다.
이때, 위성항법은 GNSS(Global Navigation Satellite System)를 기반으로 차량의 위치정보를 측정하는 것으로, GPS(Global Positioning System), GLONASS(Global Navigation Satellite System), 갈릴레오(Galileo), 베이더우(Beidou) 등의 시스템으로부터 위치정보를 수신하여 현재 위치를 탐색할 수 있다.
또한, 추측항법은 차량의 속도계(미도시), 자이로센서(미도시), 및 지자기센서(미도시) 등으로부터 획득한 속도 및 차량의 DR(Dead Reckoning) 정보를 기반으로 차량의 위치정보를 측정하여 현재 위치를 탐색할 수 있다.
상기 차량상태 수집부는 상기 차량의 구동상태를 수집하여 상기 차량의 프로세서(180)에 제공할 수 있다.
예를 들어, 차량의 조향상태, 제동상태, 가속상태 및 주행상태를 수집하여 제공할 수 있다.
상기 차량 내외 상황 수집부는 차량의 외부 및 내부 상황에 대한 데이터를 수집하여 상기 차량의 프로세서(180)에 제공할 수 있다.
여기서 차량 내외 상황 수집부는, 카메라 (예를 들면, 차량 외부 카메라 (즉, 전방 카메라, 좌측방 카메라, 우측방 카메라, 후방 카메라 등) 및 차량 내부 카메라 (운전자 카메라, 탑승자 카메라 등), 레이더, 및 라이더 중 어느 하나 이상을 포함하여, 자율주행에 필요한 모든 주변상황, 즉, 차선, 신호등, 주변차량, 보행자, 장애물, 및 탑승자 등을 검출할 수 있다.
상기 센싱부(140)에 의해 수집된 에지 데이터는 서비스 코디네이터(service coordinator)(300)로 전송될 수 있다. 상기 전송은 상기 에지 데이터가 수집됨에 따라 실시간으로 행해질 수 있다. 즉, 상기 데이터가 상기 센싱부(140)에 의해 수집되면 사실상 바로 상기 서비스 코디네이터(300)로 전송될 수 있다.
상기 서비스 코디네이터(300)는 상기 센싱부(140)에 의해 수집된 에지 데이터를 수신하여, 후술되는 협업 매니저(600)를 통해 결정되고 상기 협업 매니저(600)로부터 수신하는 데이터 흐름 설정(data flow setting)에 따라, 상기 수신된 에지 데이터가 상기 차량(100)이 제공할 수 있는 복수의 서비스들 중 적어도 하나에 관련되는지를 판단할 수 있다.
상기 데이터 흐름 설정이라 함은 본 시스템 내에서의 데이터 처리를 위해 데이터가 흐르는 경로에 관한 정보로서, 후술되는 시스템 구성과 연관되어 정해질 수 있다. 즉, 상기 데이터 흐름 설정은 상기 시스템 구성에 부합하도록 i) 상기 센싱부(140)에서 수집되는 각종 에지 데이터가 후술되는 서비스 아웃포스트(400)으로 전송되는 경로와, ii) 상기 에지 데이터가 후술되는 에지 추론기(edge inferencer)(500) 및 클라우드 추론기(cloud inferencer)(700) 중 어느 곳으로 전송되어 추론용 입력 데이터가 되는지, 즉 상기 에지 데이터의 추론 위치에 대한 정보를 포함할 수 있다. 상기 에지 데이터는 그 종류에 따라 서비스 아웃포스트(400)으로 전송되는 경로 및 상기 추론 위치 중 적어도 하나가 달라질 수 있다. 상기 데이터 흐름 설정은 상기 시스템 구성이 변경되면 상기 변경된 시스템 구성에 부합되도록 함께 변경되거나 생성될 수 있다.
즉, 상기 데이터 흐름 설정을 통해, 상기 에지 데이터의 각 타입(예를 들면, 이미지 타입, 음성 또는 사운드 타입, 온도 타입, 주변광 밝기 타입 등)에 대응되도록 후술되는 서비스 아웃포스트(400) 내의 복수의 서비스들 (즉, 상기 차량이 제공하는 복수의 서비스들) 중 적어도 하나가 정의될 수 있고, 상기 복수의 서비스들 각각에 대응되도록 상기 에지 데이터의 추론 위치가 정해질 수 있다.
판단 결과, 상기 수신된 데이터가 상기 복수의 서비스들 중 어느 것에도 관련되지 않으면, 상기 서비스 코디네이터(300)는 상기 수신된 에지 데이터를 무시할 수 있다.
그러나, 판단 결과, 상기 수신된 데이터가 상기 복수의 서비스들 중 적어도 하나에 관련되면, 상기 서비스 코디네이터(300)는 상기 에지 데이터를 상기 서비스 아웃포스트(400)으로 전송할 수 있다. 특히, 상기 서비스 코디네이터(300)는 상기 관련된 적어도 하나의 서비스를 담당하는 상기 서비스 아웃포스트(400) 내의 서비스 그룹으로 상기 에지 데이터를 전송할 수 있다. 상기 서비스 그룹은 서로 유사한 서비스들을 제공하는 구성요소의 묶음으로서, 이에 대해서는 나중에 다시 설명된다.
상기 서비스 아웃포스트(400)는 필요한 경우 상기 에지 데이터를 적절한 형태로 가공하고, 상기 에지 데이터 또는 상기 가공된 에지 데이터 중에서 상기 복수의 서비스들 중 적어도 하나에 필요한 트리거링 데이터를 검출할 수 있다.
상기 트리거링 데이터가 검출되면, 상기 서비스 아웃포스트(400)는 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간(예를 들면, 30초) 동안 상기 센싱부(140)로부터 수신되는 에지 데이터를 상기 서비스 코디네이터(300)을 통해 수신하여 가공하고, 상기 가공된 데이터를 상기 에지 추론기 (500) 또는 상기 클라우드 추론기 (700)로 전송할 수 있다. 상기 가공된 데이터가 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)의 추론용 입력데이터가 된다. 상기 가공된 데이터는, 도 5에 도시된 바와 같이, 상기 서비스 아웃포스트(400)로부터 상기 서비스 코디네이터(300)를 통해 상기 에지 추론기 (500) 또는 상기 클라우드 추론기 (700)로 전송될 수 있다. 비록 도시되지는 않았지만, 상기 가공된 데이터는 상기 서비스 아웃포스트(400)로부터 상기 서비스 코디네이터(300)를 거치지 않고 바로 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송될 수 있음은 물론이다.
상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)에서 반드시 상기 가공된 데이터가 추론용 입력 데이터가 되어야 하는 것만은 아니다. 경우에 따라서는, 상기 트리거링 데이터가 검출된 시점으로부터 상기 소정 시간 동안 상기 센싱부(140)로부터 수신되는 에지 데이터(즉, 가공되지 않은 에지 데이터가)가 상기 서비스 코디네이터(300)을 통해 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송되어 추론용 입력 데이터가 될 수도 있다.
이상에서 설명된 상기 서비스 코디네이터(300), 상기 서비스 아웃포스트(400), 및 상기 에지 추론기(500)는 상기 차량(100), 즉 에지 디바이스에서 구현되는 소프트웨어 관점의 모듈들로서, 상기 차량(100)의 상기 메모리(170) 및 상기 프로세서(180) 등과 같은 하드웨어를 통해 구현될 수 있다.
한편, 상기 클라우드 서버(200)에 구현될 수 있는 상기 협업 매니저(Collaboration manager)(600)는, 상기 서비스 아웃포스트(400)가 상기 에지 데이터 중에서 상기 복수의 서비스들 중 적어도 하나를 위한 트리거링 데이터를 검출하는 기준을 결정하여 상기 서비스 아웃포스트(400)로 전달할 수 있다. 또한, 상기 협업 매니저(600)는 상기 데이터 흐름 설정을 결정하여, 상기 서비스 코디네이터(300)로 전달할 수 있다.
상기 서비스 아웃포스트(400)는 상기 협업 매니저(600)에 의해 결정되는 트리거링 데이터 검출 기준에 따라서, 상기 데이터 중에서 상기 복수의 서비스들 중 적어도 하나에 필요한 트리거링 데이터를 검출할 수 있다. 상기 트리거링 데이터가 검출되면, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 가공되거나 가공되지 않은 에지 데이터가 상기 추론용 입력 데이터로서 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송될 수 있음은 전술한 바와 같다.
또한, 상기 결정된 데이터 흐름 설정에 따라서, 상기 에지 데이터의 각 타입에 대응되도록 상기 서비스 아웃포스트(400) 내의 상기 복수의 서비스들 중 적어도 하나가 정의될 수 있고, 상기 복수의 서비스들 각각에 대응되도록 상기 에지 데이터의 추론 위치가 정해질 수 있음도 전술한 바와 같다.
상기 협업 매니저(600)는 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나로부터 인공지능 추론에 대한 로그 정보를 상기 서비스 코디네이터(300)을 통해 수신할 수 있다. 상기 로그 정보는 인공지능 추론에 대한 연산 결과로서, 예를 들면, 시스템 가용 자원, 시스템 자원 사용량, 실시간 추론 횟수 (또는 소정 시간 누적된 추론 횟수), 및/또는 추론 정확성에 관한 정보를 포함할 수 있다. 상기 로그 정보는 상기 서비스 코디네이터(300)를 통하지 않고 바로 상기 협업 매니저(600)로 전송될 수도 있음은 물론이다.
상기 협업 매니저(600)는, 상기 로그 정보 및/또는 상기 차량의 운행 환경 등에 기반하여, 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나의 구성(configuration)(이하 "시스템 구성")이 적합한지, 및/또는 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나에 현재 구성되어 있는 인공지능 모델이 적합한지를 판단할 수 있다. 상기 협업 매니저(600)는 상기 판단에 있어 본 협업 시스템을 운용하기 위한 상기 차량(100) 및 상기 클라우드 서버(200) 간의 예상 통신 비용도 더욱 고려할 수 있다.
상기 판단에 근거하여, 필요하면 상기 협업 매니저(600)는 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나의 구성을 변경하거나/변경하고 이들의 기존의 인공지능 모델 대신에 새로운 인공지능 모델로 업데이트할 수 있다. 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나의 구성이 변경되는 경우, 상기 변경된 구성에 따라 상기 데이터 흐름 설정도 변경될 수 있다. 예를 들어, 상기 에지 추론기(500)의 시스템 자원 사용량이 높다고 판단되는 경우, 상기 협업 매니저(600)는 상기 에지 추론기(500)의 시스템 자원 사용량을 낮추면서 대신에 상기 클라우드 추론기(700)의 시스템 자원 사용량을 높이도록 상기 시스템 구성을 변경할 수 있다.
또한, 상기 협업 매니저(600)는 현재 상기 차량(100)에서 제공되지 않고 있는 신규 서비스가 상기 차량(100)에 추가되는 경우, 상기 신규 서비스를 추가하도록 상기 시스템 구성을 변경하고, 상기 변경된 시스템 구성에 부합하도록 상기 데이터 흐름 설정을 변경할 수 있다. 또한, 상기 협업 매니저(600)는 상기 변경된 시스템 구성에 따라 상기 신규 서비스에 해당하는 인공지능 모델을 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나에 새롭게 배포(deploy)할 수 있다.
상기 인공지능 모델의 업데이트 및 배포는 소프트웨어 OTA(over-the-air) 기술을 통해 행해질 수 있다.
상기 에지 추론기(500) 및 상기 클라우드 추론기(700)는 상기 추론용 입력 데이터를 입력 받아서 그 내부의 인공지능 모델에 기반하여 추론 결과를 출력할 수 있다.
상기 추론 결과는 상기 차량(100)이 제공하는 서비스의 최종 결과(예를 들면, 위험 상황 감지 및 안내)에 해당할 수도 있고 상기 차량(100)이 제공하는 다른 서비스(예를 들면, 위험 상황 대응 서비스)의 입력으로 활용될 수도 있다.
이상에서 설명된 상기 협업 매니저(600) 및 상기 클라우드 추론기(700)는 상기 클라우드 서버(200)에서 구현되는 소프트웨어 관점의 모듈들로서, 상기 클라우드 서버(200)의 상기 메모리(230) 및 상기 프로세서(260) 등과 같은 하드웨어를 통해 구현될 수 있다.
한편, 협업 유저인터페이스(800)는, 상기 협업 매니저(600)가 결정한 시스템 구성을 실제로 적용하기 전에 사용자의 승인을 받기 위해 출력하고, 사용자는 상기 협업 유저인터페이스(800)을 통해 상기 결정된 시스템 구성에 대해 승인할 수 있다. 상기 협업 유저 인터페이스(800)는 상기 차량(100)의 상기 디스플레이부(151)을 통해 출력될 수도 있고, 상기 사용자의 다른 디바이스(예를 들면, 스마트폰(100d)에 출력될 수도 있다.
상기 협업 매니저(600)는 상기 협업 유저인터페이스(800)를 통해 상기 사용자가 상기 시스템 구성을 승인하는 경우, 상기 시스템 구성을 본 시스템에 적용할 수 있다.
또한, 상기 협업 유저인터페이스(800)는 상기 차량(100)이 현재 제공하고 있는 서비스 별로 소요되는 시스템 자원 사용량를 출력하여, 사용자가 상기 출력된 시스템 자원 사용량을 참고하여 상기 결정된 시스템 구성의 승인 여부에 대해 결정함에 있어 도움이 될 수 있도록 할 수 있다.
데이터베이스(900)는 본 시스템에 적용될 수 있는 적어도 하나의 인공지능 모델과 풋프린트 정보(footprint information)을 저장할 수 있다. 상기 인공지능 모델에 대해서는 앞서 설명되었으므로, 자세한 설명은 생략하도록 하겠다. 상기 풋프린트 정보는 본 시스템의 설계시 각 서비스 별로 요구되는 것으로 예상되는 시스템 자원 사용량 정보를 포함할 수 있다.
또한, 상기 데이터베이스(900)는 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)의 인공지능 추론에 대한 로그 정보를 포함할 수 있다. 상기 로그 정보는 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)로부터 상기 로그 정보를 상기 서비스 코디네이터(300)을 통해 상기 협업 매니저(600)으로 전달되고, 상기 협업 매니저(600)는 상기 로그 정보를 상기 데이터베이스(900)에 저장할 수 있다. 비록 도시되지는 않았지만, 상기 로그 정보가 상기 에지 추론기(500) 및/또는 상기 클라우드 추론기(700)로부터 상기 서비스 코디네이터(300)를 거치지 않고 상기 협업 매니저(600)로 바로 전달될 수도 있음은 물론이다.
상기 데이터베이스(900)는 상기 협업 시스템에 활용되는 에지 다바이스(즉, 차량)(100)의 시스템 정보를 저장할 수 있다. 상기 협업 시스템에 활용되는 에지 다바이스의 시스템 정보가 변경되는 경우에는, 상기 변경된 시스템 정보는 상기 서비스 코디네이터(300)을 통해 상기 협업 매니저(600)으로 전달되고, 상기 협업 매니저(600)는 상기 변경된 시스템 정보를 상기 데이터베이스(900)에 업데이트할 수 있다.
상기 협업 매니저(600)는 상기 데이터베이스(900)에 저장된 상기 로그 정보를 참조하여, 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나의 구성의 적합성을 판단할 수 있다.
상기 협업 매니저(600)는, 상기 데이터베이스(900)에 저장된 상기 로그 정보를 참조하여, 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나에 탑재된 인공지능 모델의 적합성을 판단할 수 있다. 현재 탑재된 인공지능 모델이 적합하지 않은 것으로 판단되는 경우, 상기 협업 매니저(600)는 상기 데이터베이스(900)에 저장된 인공지능 모델을 이용하여 상기 현재 탑재된 인공지능 모델을 업데이트하거나 교체할 수 있다.
상기 협업 매니저(600)는 신규 서비스를 상기 차량(100)에 추가하는 경우에도 상기 신규 서비스를 위한 인공지능 모델을 상기 데이터베이스(900)에서 다운로드 받아서 상기 서비스 아웃포스트(400), 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 적어도 하나에 새롭게 배포(deploy)할 수 있다.
상기 협업 매니저(600)는, 상기 데이터베이스(900)에 저장된 상기 로그 정보를 참조하여, 상기 트리거링 데이터 검출 기준을 결정할 수 있다. 예를 들어, 상기 에지 추론기(500) 및/또는 상기 클라우드 추론기(700)의 추론 횟수가 많거나 시스템 자원 사용량이 많다고 판단되는 경우는, 상기 협업 매니저(600)는 상기 트리거링 데이터 검출 기준을 높혀서 상기 추론 횟수를 낮추거나 상기 시스템 자원 사용량을 낮추도록 유도할 수 있다. 반대로, 예를 들어, 상기 에지 추론기(500) 및/또는 상기 클라우드 추론기(700)의 추론 횟수가 적거나 시스템 자원 사용량에 여유가 있다고 판단되는 경우는, 상기 협업 매니저(600)는 상기 트리거링 데이터 검출 기준을 낮춰서 상기 추론 횟수를 높이거나 상기 시스템 자원 사용량을 좀더 높이도록 유도할 수 있다.
또한, 상기 협업 매니저(600)는 상기 데이터베이스(900)에 저장된 상기 로그 정보를 참조하여, 상기 데이터 흐름 설정을 결정하거나 변경할 수 있다. 예를 들여, 상기 에지 추론기(500)의 추론 횟수가 많거나 시스템 자원 사용량이 많다고 판단되는 경우에는 상기 에지 데이터가 상기 추론용 입력 데이터로서 상기 클라우드 추론기(700)로 전송되도록 상기 데이터 흐름 설정을 결정하거나 변경할 수 있다. 반대로, 예를 들어, 상기 에지 추론기(500)의 추론 횟수가 적거나 시스템 자원 사용량에 여유가 있다고 판단되는 경우에는 상기 에지 데이터가 상기 추론용 입력 데이터로서 상기 에지 추론기(500)로 전송되도록 상기 데이터 흐름 설정을 결정하거나 변경할 수 있다.
도 5에서는 상기 데이터베이스(100)가 하나로 구현되어 있는 것으로 도시되어 있으나, 저장되는 데이터의 성격에 따라 2개 이상의 데이터베이스로 세분화되어 구성될 수도 있다.
이하, 도 6을 참조하여, 도 5의 협업 시스템 중에서 상기 서비스 코디네이터(300) 및 상기 서비스 아웃포스트(400)에 대해 좀더 구체적으로 살펴보겠다. 도 6은 도 5의 협업 시스템의 서비스 코디네이터 및 서비스 아웃포스트 간의 관계를 좀더 자세히 도시한 블록도이다.
상기 차량(100)의 상기 센싱부(140)에 포함되어 있는 적어도 하나의 센서들은 상기 차량(100)과 관련된 각종 데이터를 수집할 수 있음과, 상기 수집된 데이터가 실시간으로 상기 서비스 코디네이터(300)로 전송될 수 있음은 전술한 바와 같다.
상기 서비스 코디네이터(300)는 그 내부에 상기 차량(100)이 제공할 수 있는 적어도 하나의 서비스에 관한 정보를 저장하여 파악하고 있을 수 있다. 상기 정보는, 예를 들면, 상기 협업 매니저(600)를 통해 수신하는 상기 데이터 흐름 설정을 통해 파악할 수 있다.
상기 서비스 코디네이터(300)는 상기 데이터 흐름 설정에 기반하여 본 협업 시스템에서 어떤 서비스를 제공할 수 있는지와, 본 협업 시스템 내에서의 데이터 흐름을 관장할 수 있다.
도 6에서는 상기 서비스 코디네이터(300)은 그 내부에 상기 차량(100)이 제공할 수 있는 n개의 서비스에 관한 정보를 파악하고 있는 것으로 예시되어 있다.
한편, 상기 서비스 아웃포스트(400)는 적어도 하나의 서비스 그룹을 포함하고 있을 수 있다. 도 6에서는 상기 서비스 아웃포스트(400) 내에 k개의 서비스 그룹이 있는 것으로 예시되어 있다. k는 n과 같거나 n보다 작은 숫자일 수 있다.
상기 n개의 서비스 각각은 상기 k개의 서비스 그룹 중 하나와 대응될 수 있다. 즉, 각 서비스 그룹이 하나 이상의 서비스를 담당할 수 있다.
상기 서비스 코디네이터(300) 내의 각 서비스 그룹은 동일한 내부 구성으로 구성될 수 있지만, 반드시 동일한 내부 구성으로만 구성되어야 하는 것은 아니다. 도 6에서는 상기 서비스 코디네이터(300) 내에서 각 서비스 그룹이 3개의 타입 중 하나에 따라 구성될 수 있음이 예시되어 있다. 물론 각 서비스 그룹이 3개 보다 많거나 더 적은 타입 중 하나에 따라 구성될 수 있음은 물론이다.
제 1 타입의 서비스 그룹은, 제 1 서비스 그룹(410)과 같이 분류기(classifier)(411)와 상기 분류기(411)에 대응되는 백본(415)를 포함할 수 있다.
상기 백본(415)는 인공지능 모델로 구성되어, 상기 서비스 코디네이터(300)로부터 수신하는 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공할 수 있다. 예를 들어, 상기 에지 데이터가 동영상 프레임과 같은 이미지인 경우 상기 이미지의 특징점(feature point)을 추출하도록 상기 이미지를 가공할 수 있다.
상기 분류기(411)는 적어도 하나의 인공지능 모델로 구성되어, 상기 가공된 에지 데이터로부터 트리거링 데이터를 검출할 수 있다.
제 2 타입의 서비스 그룹은, 제 2 서비스 그룹(420)과 같이 판단 로직(decision logic)(421) 및 백본(425)를 포함할 수 있다.
상기 백본(425)는 인공지능 모델로 구성되어, 상기 서비스 코디네이터(300)로부터 수신하는 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공할 수 있다. 예를 들어, 상기 에지 데이터가 동영상 프레임과 같은 이미지인 경우 상기 이미지 내 주요 지점(key point)의 움직임(예를 들면, 이미지 내 사람의 관절 움직임)을 추출하도록 상기 이미지를 가공할 수 있다.
제 3 타입의 서비스 그룹은, 제 3 서비스 그룹(430)와 같이, 분류기(433)을 포함할 수 있다.
상기 분류기(433)는 하나의 경량(light-weight) 인공지능 모델로 구성되어, 상기 서비스 코디네이터(300)로부터 수신되는 에지 데이터(즉, 가공되지 않은 데이터)로부터 트리거링 데이터를 검출할 수 있다.
각 서비스 그룹의 타입은 각 서비스 그룹이 담당하는 서비스의 성격이 고려되어 선정될 수 있다. 상기 제 1 내지 3 타입의 서비스 그룹은 예시적인 것으로서, 다른 타입의 서비스 그룹이 구성될 수도 있음은 물론이다.
상기 서비스 코디네이터(300)는 상기 센서부(140)로부터 수집되는 에지 데이터의 타입이 상기 n개의 서비스 중에서 적어도 어느 하나와 관련이 있는지를 판단할 수 있다. 이하 상기 관련 있는 서비스를 "대상 서비스"라고 칭할 수도 있다.
상기 수집된 에지 데이터가 상기 n개의 서비스 중 적어도 어느 하나와 관련이 있는 것으로 판단이 되면, 상기 서비스 코디네이터(300)는 상기 서비스 아웃포스트(400) 내의 k개의 서비스 그룹 중에서 상기 대상 서비스에 대응되는 서비스 그룹으로 상기 에지 데이터를 전송할 수 있다.
상기 서비스 아웃포스트(400)의 제 1 서비스 그룹(410) 및 제 2 서비스 그룹(420)은 자체 백본(415, 420)을 통해 상기 에지 데이터를 적절한 형태로 가공하고, 상기 가공된 에지 데이터 중에서 상기 대상 서비스에 필요한 트리거링 데이터를 검출할 수 있다.
상기 서비스 아웃포스트(400)의 제 3 서비스 그룹(430)은 상기 에지 데이터를 가공하지 않은 채 상기 에지 데이터 중에서 상기 대상 서비스에 필요한 트리거링 데이터를 검출할 수 있다.
상기 서비스 아웃포스트(400)의 서비스 그룹이 상기 트리거링 데이터를 검출한 시점으로부터 소정 시간 동안 상기 서비스 코디네이터(300)가 상기 수신된 에지 데이터 또는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송하도록 할 수 있다. 즉, 상기 서비스 아웃포스트(400)가 상기 트리거링 데이터를 검출할 때마다, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 수신된 데이터 또는 상기 가공된 데이터를 상기 서비스 코디네이터(300)을 통해 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송할 수 있다. 상기 소정 시간은 상기 로그 정보 및/또는 상기 시스템 정보에 기반하여 상기 협업 매니저(600)에 의해 결정될 수 있다.
따라서, 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)는 상기 센싱부(140)에 의해 센싱되는 모든 데이터에 대해 인공지능 모델을 통한 추론 연산을 수행할 필요가 없고, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 수신된 데이터 또는 상기 가공된 데이터에 대해서만 인공지능 모델을 통한 추론 연산을 수행하여도 된다. 따라서, 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700) 자체에서의 연산량이 감소될 수 있다.
상기 서비스 아웃포스트(400)의 서비스 그룹은 상기 수신되는 모든 데이터가 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송되도록 하지 않고, 그 일부만이 필터링되어 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송되도록 할 수 있다는 측면에서 "서비스 필터(service filter)"라고 이해될 수도 있다.
또는, 상기 서비스 아웃포스트(400)의 서비스 그룹은 상기 대상 서비스를 위한 트리거링 데이터가 검출될 때마다, 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 수신된 데이터 또는 상기 가공된 데이터가 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송되도록 하여 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)의 추론 연산을 트리거링한다는 측면에서 "서비스 트리거(service trigger)"라고 이해될 수도 있다.
제 1 내지 3 타입의 서비스 그룹에 각각 대응되는 제 1 내지 3 서비스 그룹(410, 420, 430)에 대해 도 7을 더욱 참조하여 살펴보겠다. 도 7은 도 6의 서비스 아웃포스트를 좀더 자세히 도시한 블록도이다.
제 1 서비스 그룹(410)은 분류기(411)와 상기 분류기(411)에 대응되는 상기 백본(415)를 포함할 수 있다.
제 1 서비스 그룹(410)의 상기 분류기(411)는 3개의 서비스를 각각 담당하는 3개의 인공지능 모델(411-1, 411-2, 411-3)을 포함하는 것으로 예시되어 있다. 상기 분류기(411)가 3개보다 적거나 많은 서비스를 담당할 수 있고, 3개보다 적거나 많은 인공지능 모델을 포함할 수도 있다.
상기 백본(415)는 상기 3개의 서비스와 관련 있는 에지 데이터를 상기 서비스 코디네이터(300)로부터 수신하여, 상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공할 수 있다.
상기 가공된 에지 데이터는 상기 분류기(411)로 전송될 수 있다. 상기 분류기(411)는 상기 가공된 에지 데이터로부터 트리거링 데이터를 검출할 수 있다. 상기 3개의 인공지능 모델은 각각 담당하는 서비스를 위한 트리거링 데이터를 검출할 수 있다.
상기 트리거링 데이터가 검출되면 제 1 서비스 그룹(410)은 상기 서비스 코디네이터(300)에 상기 트리거링 데이터가 검출되었음을 알리는 제어 신호를 전송함으로써, 제 1 서비스 그룹(410)은 상기 트리거링 데이터를 검출한 시점으로부터 소정 시간 동안 상기 서비스 코디네이터(300)가 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송하도록 할 수 있다. 즉, 제 1 서비스 그룹(410)는 상기 가공된 에지 데이터를 상기 서비스 코디네이터(300)로 전송하고, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송할 수 있다.
제 2 서비스 그룹(420)은 상기 판단 로직(421) 및 상기 백본(425)를 포함할 수 있다.
상기 판단 로직(421)은 인공지능 모델이 아닌 코딩 로직(예를 들면, 컴퓨터 비전 프로그램)일 수 있다. 상기 판단 로직(421)은 하나 이상의 서비스를 담당할 수 있다.
상기 백본(425)는 상기 하나 이상의 서비스와 관련 있는 에지 데이터를 상기 서비스 코디네이터(300)로부터 수신하여, 상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공할 수 있다.
상기 가공된 에지 데이터는 상기 판단 로직(421)로 전송될 수 있다. 상기 판단 로직(421)는 상기 가공된 에지 데이터로부터 트리거링 데이터를 검출할 수 있다.
상기 트리거링 데이터가 검출되면, 제 2 서비스 그룹(420)은 상기 트리거링 데이터를 검출한 시점으로부터 소정 시간 동안 상기 서비스 코디네이터(300)가 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송하도록 할 수 있다. 즉, 제 2 서비스 그룹(420)는 상기 가공된 에지 데이터를 상기 서비스 코디네이터(300)로 전송하고, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송할 수 있다.
제 3 서비스 그룹(430)는 분류기(433)를 포함할 수 있다.
상기 분류기(433)는 하나의 경량(light-weight) 인공지능 모델로 구성되어, 상기 서비스 코디네이터(300)로부터 수신되는 적어도 하나의 서비스와 관련 있는 에지 데이터(즉, 가공되지 않은 데이터)를 수신하여 트리거링 데이터를 검출할 수 있다.
이하에서는, 도 8을 참조하여, 본 협업 시스템이 제공할 수 있는 서비스의 구체적인 예시를 통해 상기 서비스 아웃포스트(400), 상기 에지 추론기(500), 및 상기 클라우드 추론기(700)에 대해 좀더 구체적으로 살펴보겠다. 도 8은 도 5의 협업 시스템의 서비스 아웃포스트, 에지 추론기, 클라우드 추론기 간의 관계를 좀더 자세히 도시한 블록도이다.
먼저, 상기 서비스 아웃포스트(400)의 제 1 서비스 그룹(410)에 대해 살펴보겠다.
상기 서비스 아웃포스트(400)의 제 1 서비스 그룹(410)은 제 1 서비스, 제 2 서비스, 및 제 3 서비스를 담당할 수 있다. 도 8에서, 제 1 서비스는 탑승자 중 노인을 감지하는 노인 감지 서비스이고, 제 2 서비스는 탑승자의 성별을 감지하는 성별 감지 서비스이고, 제 3 서비스는 탑승자 중 어린이를 감지하는 어린이 감지 서비스인 것으로 예시되어 있다. 이는 단지 예시인 것뿐으로서, 다른 서비스를 담당할 수도 있음은 물론이다.
상기 서비스 아웃포스트(400)의 상기 분류기(411)는 제 1 서비스, 제 2 서비스, 및 제 3 서비스를 각각 담당하는 제 1 인공지능 모델(411-1), 제 2 인공지능 모델(411-2), 제 3 인공지능 모델(411-3)을 포함할 수 있다. 상기 분류기(411) 내의 상기 3개의 인공지능 모델들은 상기 서비스 아웃포스트(400) 내에 위치한다는 의미에서 각각 제 1 아웃포스트 모델(OM1), 제 2 아웃포스트 모델(OM2), 및 제 3 아웃포스트 모델(OM3)이라고 호칭될 수도 있다.
상기 3개의 서비스들 중에서 제 1 서비스(노인 감지 서비스)를 대표 예시로 하여 제 1 서비스 그룹(410)에 대해 설명하겠다.
상기 서비스 코디네이터(300)은 상기 데이터 흐름 설정에 따라 상기 차량(100)의 에지 데이터(예를 들면, 상기 차량의 실내 카메라의 이미지)를 상기 서비스 아웃포스트(400)의 제 1 서비스 그룹(410)으로 전송할 수 있다.
그러면, 제 1 서비스 그룹(410)의 상기 백본(415)는 상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공할 수 있다. 예를 들면 상기 백본(415)은 상기 이미지에서 탑승자의 특징점(feature point)을 추출하도록 상기 이미지를 가공할 수 있다.
상기 백본(415)은 상기 가공된 이미지를 제 1 아웃포스트 모델(OM1), 제 2 아웃포스트 모델(OM2), 및 제 3 아웃포스트 모델(OM3) 모두로 제공할 수 있다.
제 1 아웃포스트 모델(OM1), 제 2 아웃포스트 모델(OM2), 및 제 3 아웃포스트 모델(OM3) 중에서 제 1 서비스를 담당하는 제 1 아웃포스트 모델(OM1)은 상기 가공된 에지 데이터를 수신하고 모니터하여 제 1 서비스를 위한 트리거링 데이터를 검출할 수 있다. 상기 트리거링 데이터는 예를 들면 머리 색상이 흰색 또는 회색인 탑승자를 포함하는 이미지일 수 있다.
상기 트리거링 데이터가 검출되면 제 1 서비스 그룹(410)의 제 1 아웃포스트 모델(OM1)은 상기 서비스 코디네이터(300)에 상기 트리거링 데이터가 검출되었음을 알리는 제어 신호를 전송함으로써, 상기 트리거링 데이터를 검출한 시점으로부터 소정 시간 동안 상기 서비스 코디네이터(300)가 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송하도록 할 수 있다. 즉, 제 1 서비스 그룹(410)의 상기 백본(410)은 상기 가공된 에지 데이터를 상기 서비스 코디네이터(300)로 전송하고, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송할 수 있다.
상기 에지 추론기(500)는 제 1 서비스, 제 2 서비스, 및 제 3 서비스를 각각 담당하는 제 1 인공지능 모델(500-1), 제 2 인공지능 모델(500-2), 제 3 인공지능 모델(500-3)을 포함할 수 있다. 상기 에지 추론기(500) 내의 상기 3개의 인공지능 모델들은 상기 에지 추론기(500) 내에 위치한다는 의미에서 각각 제 1 에지 모델(EM1), 제 2 에지 모델(EM2), 및 제 3 에지 모델(EM3)이라고 호칭될 수도 있다. 제 1 에지 모델(EM1), 제 2 에지 모델(EM2), 및 제 3 에지 모델(EM3)은 앞서 설명한 제 1 서비스 그룹(410)에 해당될 수 있다.
상기 클라우드 추론기(700) 또한 제 1 서비스, 제 2 서비스, 및 제 3 서비스를 각각 담당하는 제 1 인공지능 모델(700-1), 제 2 인공지능 모델(700-2), 제 3 인공지능 모델(700-3)을 포함할 수 있다. 상기 클라우드 추론기(700) 내의 상기 3개의 인공지능 모델들은 상기 클라우드 추론기(700) 내에 위치한다는 의미에서 각각 제 1 클라우드 모델(CM1), 제 2 클라우드 모델(CM2), 및 제 3 클라우드 모델(CM3)이라고 호칭될 수도 있다. 제 1 클라우드 모델(CM1), 제 2 클라우드 모델(CM2), 및 제 3 클라우드 모델(CM3)도 앞서 설명한 제 1 서비스 그룹(410)에 해당될 수 있다.
상기 서비스 코디네이터(300)가 상기 가공된 에지 데이터를 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 어느 추론기 내의 해당 인공지능 모델로 전송할 것인지는 상기 데이터 흐름 설정에 따라 정해질 수 있다.
만약 상기 가공된 에지 데이터를 상기 에지 추론기(500) 내의 제 1 서비스를 담당하는 제 1 에지 모델(EM1)로 전송하기로 상기 데이터 흐름 설정이 정해졌다면, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 내의 제 1 에지 모델(EM1)로 전송할 수 있다.
만약 상기 가공된 에지 데이터를 상기 클라우드 추론기(700) 내의 제 1 서비스를 담당하는 제 1 클라우드 모델(CM1)로 전송하기로 상기 데이터 흐름 설정이 정해졌다면, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 클라우드 추론기(700) 내의 제 1 클라우드 모델(CM1)로 전송할 수 있다.
상기 가공된 에지 데이터가 제 1 에지 모델(EM1) 또는 제 1 클라우드 모델(CM1)의 추론용 입력데이터가 될 수 있다.
제 1 에지 모델(EM1) 또는 제 1 클라우드 모델(CM1)은 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다. 예를 들면, 제 1 에지 모델(EM1) 또는 제 1 클라우드 모델(CM1)는 상기 머리 색상이 흰색 또는 회색인 탑승자의 피부 상태를 더욱 분석하여 상기 탑승자가 노인인지 여부를 추론할 수 있다.
상기 추론 결과는 상기 차량(100)이 제공하는 제 1 서비스의 최종 결과(예를 들면, 노인 탑승 안내)에 해당할 수도 있고, 상기 차량(100)이 제공하는 다른 서비스(예를 들면, 안전 운전 어시스턴스 서비스)의 입력으로 활용될 수도 있다.
이상에서는 상기 에지 추론기(500) 내에 제 1 서비스, 제 2 서비스, 제 3 서비스를 각각 담당하는 제 1 에지 모델(EM1), 제 2 에지 모델(EM2), 및 제 3 에지 모델(EM3)이 모두 존재하고, 상기 클라우드 추론기(700) 내에 제 1 서비스, 제 2 서비스, 제 3 서비스를 각각 담당하는 제 1 클라우드 모델(CM1), 제 2 클라우드 모델(CM2), 및 제 3 클라우드 모델(CM3)이 모두 존재하는 것으로 설명되었다. 그러나, 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)는 반드시 이렇게 구성되어야만 하는 것은 아니다.
예를 들면, 상기 에지 추론기(500) 내에는 제 1 서비스를 담당하는 제 1 에지 모델(EM1)이 없고, 상기 클라우드 추론기(700)에만 제 1 서비스를 담당하는 제 1 클라우드 모델(CM1)이 존재하도록 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)가 구성될 수도 있다. 상기 구성은 상기 협업 매니저(600)가 상기 로그 정보에 기반하여 결정한 것일 수 있다.
이와 같은 경우, 상기 데이터 흐름 설정도 상기 구성이 유지되는 동안에는 상기 가공된 데이터가 상기 클라우드 추론기(700)의 제 1 클라우드 모델(CM1)로만 전송되도록 변경될 수 있다.
반대로, 상기 에지 추론기(500) 내에는 제 1 서비스를 담당하는 제 1 에지 모델(EM1)이 있지만, 상기 클라우드 추론기(700)에는 제 1 서비스를 담당하는 제 1 클라우드 모델(CM1)이 없도록 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)가 구성될 수도 있다.
이와 같은 경우, 상기 데이터 흐름 설정도 상기 구성이 유지되는 동안에는 상기 가공된 데이터가 상기 에지 추론기(500)의 제 1 에지 모델(EM1)로만 전송되도록 변경될 수 있다.
이하, 상기 서비스 아웃포스트(400)의 제 2 서비스 그룹(420)에 대해 살펴보겠다.
상기 서비스 아웃포스트(400)의 제 2 서비스 그룹(420)은 제 4 서비스, 제 5 서비스, 및 제 6 서비스를 담당할 수 있다. 도 8에서, 제 4 서비스는 탑승자가 흡연을 하는지를 감지하는 흡연 감지 서비스이고, 제 2 서비스는 탑승자가 전화 통화를 하는지를 감지하는 전화 통화 감지 서비스이고, 제 3 서비스는 탑승자가 음주를 하는지를 감지하는 음주 감지 서비스인 것으로 예시되어 있다. 이는 단지 예시인 것뿐으로서, 다른 서비스를 담당할 수도 있음은 물론이다.
상기 3개의 서비스들 중에서 제 5 서비스(전화 통화 감지 서비스)를 대표 예시로 하여 제 2 서비스 그룹(420)에 대해 설명하겠다.
상기 서비스 코디네이터(300)은 상기 데이터 흐름 설정에 따라 상기 차량(100)의 에지 데이터(예를 들면, 상기 차량의 실내 카메라의 이미지 )를 상기 서비스 아웃포스트(400)의 제 2 서비스 그룹(420)으로 전송할 수 있다.
그러면, 제 2 서비스 그룹(420)의 상기 백본(425)은 상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공할 수 있다. 예를 들어, 상기 에지 데이터가 동영상 프레임과 같은 이미지인 경우 상기 이미지 내 주요 지점(key point)의 움직임(예를 들면, 이미지 내 사람의 관절 움직임)을 추출하도록 상기 이미지를 가공할 수 있다.
상기 백본(425)은 상기 가공된 이미지를 제 4 서비스, 제 5 서비스, 및 제 6 서비스를 모두 담당하는 상기 판단 로직(421)로 제공할 수 있다. 상기 판단 로직(421)은 인공지능 모델이 아닌 코딩 로직(예를 들면, 컴퓨터 비전 프로그램)일 수 있다.
상기 판단 로직(421)은 상기 가공된 에지 데이터를 수신하고 모니터하여 제 5 서비스를 위한 트리거링 데이터를 검출할 수 있다. 상기 트리거링 데이터는 상기 이미지 내 탑승자의 손이 상기 탑승자의 얼굴로 다가가는 움직임을 포함하는 동영상 프레임일 수 있다.
상기 트리거링 데이터가 검출되면 제 2 서비스 그룹(410)의 상기 판단 로직(421)은 상기 서비스 코디네이터(300)에 상기 트리거링 데이터가 검출되었음을 알리는 제어 신호를 전송함으로써, 상기 트리거링 데이터를 검출한 시점으로부터 소정 시간 동안 상기 서비스 코디네이터(300)가 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송하도록 할 수 있다. 즉, 제 2 서비스 그룹(420)의 상기 백본(425)는 상기 가공된 에지 데이터를 상기 서비스 코디네이터(300)로 전송하고, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송할 수 있다.
상기 에지 추론기(500)는 제 4 서비스, 제 5 서비스, 및 제 6 서비스를 각각 담당하는 제 4 인공지능 모델(500-4), 제 5 인공지능 모델(500-5), 제 6 인공지능 모델(500-6)을 포함할 수 있다. 상기 에지 추론기(500) 내의 상기 3개의 인공지능 모델들은 상기 에지 추론기(500) 내에 위치한다는 의미에서 각각 제 41 에지 모델(EM4), 제 5 에지 모델(EM5), 및 제 6 에지 모델(EM6)이라고 호칭될 수도 있다. 제 4 에지 모델(EM4), 제 5 에지 모델(EM5), 및 제 6 에지 모델(EM6)은 앞서 설명한 제 2 서비스 그룹(420)에 해당될 수 있다.
상기 클라우드 추론기(700) 또한 제 4 서비스, 제 5 서비스, 및 제 6 서비스를 각각 담당하는 제 4 인공지능 모델(700-4), 제 5 인공지능 모델(700-5), 제 3 인공지능 모델(700-6)을 포함할 수 있다. 상기 클라우드 추론기(700) 내의 상기 3개의 인공지능 모델들은 상기 클라우드 추론기(700) 내에 위치한다는 의미에서 각각 제 4 클라우드 모델(CM4), 제 5 클라우드 모델(CM5), 및 제 6 클라우드 모델(CM6)이라고 호칭될 수도 있다. 제 4 클라우드 모델(CM4), 제 5 클라우드 모델(CM5), 및 제 6 클라우드 모델(CM6)도 앞서 설명한 제 2 서비스 그룹(420)에 해당될 수 있다.
상기 서비스 코디네이터(300)가 상기 가공된 에지 데이터를 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 어느 추론기 내의 해당 인공지능 모델로 전송할 것인지는 상기 데이터 흐름 설정에 따라 정해질 수 있다.
만약 상기 가공된 에지 데이터를 상기 에지 추론기(500) 내의 제 5 서비스를 담당하는 제 5 에지 모델(EM5)로 전송하기로 상기 데이터 흐름 설정이 정해졌다면, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 에지 추론기(500) 내의 제 5 에지 모델(EM5)로 전송할 수 있다.
만약 상기 가공된 에지 데이터를 상기 클라우드 추론기(700) 내의 제 5 서비스를 담당하는 제 5 클라우드 모델(CM5)로 전송하기로 상기 데이터 흐름 설정이 정해졌다면, 상기 서비스 코디네이터(300)는 상기 가공된 에지 데이터를 상기 클라우드 추론기(700) 내의 제 5 클라우드 모델(CM5)로 전송할 수 있다.
상기 가공된 에지 데이터가 제 5 에지 모델(EM5) 또는 제 5 클라우드 모델(CM5)의 추론용 입력데이터가 될 수 있다.
제 5 에지 모델(EM5) 또는 제 5 클라우드 모델(CM5)은 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다. 예를 들면, 제 5 에지 모델(EM5) 또는 제 5 클라우드 모델(CM5)는 상기 탑승자의 손에 휴대폰이 있는지를 더욱 검출하여 상기 탑승자가 전화 통화 중인지 여부를 추론할 수 있다.
상기 추론 결과는 상기 차량(100)이 제공하는 제 5 서비스의 최종 결과(예를 들면, 운전 중 전화 통화 위험 안내)에 해당할 수도 있고, 상기 차량(100)이 제공하는 다른 서비스(예를 들면, 안전 운전 어시스턴스 서비스)의 입력으로 활용될 수도 있다.
이상에서는 상기 에지 추론기(500) 내에 제 4 서비스, 제 5 서비스, 제 6 서비스를 각각 담당하는 제 4 에지 모델(EM4), 제 5 에지 모델(EM5), 및 제 6 에지 모델(EM6)이 모두 존재하고, 상기 클라우드 추론기(700) 내에 제 4 서비스, 제 5 서비스, 제 6 서비스를 각각 담당하는 제 4 클라우드 모델(CM4), 제 5 클라우드 모델(CM5), 및 제 6 클라우드 모델(CM6)이 모두 존재하는 것으로 설명되었다. 그러나, 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)는 반드시 이렇게 구성되어야만 하는 것은 아니다.
예를 들면, 상기 에지 추론기(500) 내에는 제 5 서비스를 담당하는 제 5 에지 모델(EM5)이 없고, 상기 클라우드 추론기(700)에만 제 5 서비스를 담당하는 제 5 클라우드 모델(CM5)이 존재하도록 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)가 구성될 수도 있다. 상기 구성은 상기 협업 매니저(600)가 상기 로그 정보에 기반하여 결정한 것일 수 있다.
이와 같은 경우, 상기 데이터 흐름 설정도 상기 구성이 유지되는 동안에는 상기 가공된 데이터가 상기 클라우드 추론기(700)의 제 5 클라우드 모델(CM5)로만 전송되도록 변경될 수 있다.
반대로, 상기 에지 추론기(500) 내에는 제 5 서비스를 담당하는 제 5 에지 모델(EM1)이 있지만, 상기 클라우드 추론기(700)에는 제 5 서비스를 담당하는 제 5 클라우드 모델(CM5)이 없도록 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)가 구성될 수도 있다.
이와 같은 경우, 상기 데이터 흐름 설정도 상기 구성이 유지되는 동안에는 상기 가공된 데이터가 상기 에지 추론기(500)의 제 5 에지 모델(EM5)로만 전송되도록 변경될 수 있다.
이하, 상기 서비스 아웃포스트(400)의 제 k 서비스 그룹(430)에 대해 살펴보겠다.
상기 서비스 아웃포스트(400)의 제 k 서비스 그룹(430)은 제 n 서비스를 담당할 수 있다. 도 8에서, 제 n 서비스는 탑승자의 졸음 운전을 감지하는 졸음 운전 감지 서비스인 것으로 예시되어 있다. 이는 단지 예시인 것뿐으로서, 다른 서비스를 담당할 수도 있음은 물론이다.
상기 서비스 코디네이터(300)은 상기 데이터 흐름 설정에 따라 상기 차량(100)의 에지 데이터(예를 들면, 상기 차량의 실내 카메라의 이미지)를 상기 서비스 아웃포스트(400)의 제 k 서비스 그룹(430)으로 전송할 수 있다.
그러면, 제 k 서비스 그룹(430)의 상기 분류기(433)은 상기 서비스 코디네이터(300)로부터 수신되는 에지 데이터(즉, 가공되지 않은 데이터)로부터 제 n 서비스를 위한 트리거링 데이터를 검출할 수 있다. 상기 트리거링 데이터는 예를 들면 눈을 감고 있는 운전자를 포함하는 이미지일 수 있다.
상기 트리거링 데이터가 검출되면 제 k 서비스 그룹(430)의 상기 분류기(433)은 상기 서비스 코디네이터(300)에 상기 트리거링 데이터가 검출되었음을 알리는 제어 신호를 전송함으로써, 상기 트리거링 데이터를 검출한 시점으로부터 소정 시간 동안 상기 서비스 코디네이터(300)가 상기 에지 데이터(즉, 상기 가공되지 않은 에지 데이터)를 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송하도록 할 수 있다.
상기 에지 추론기(500)는 제 n 서비스를 담당하는 제 n 인공지능 모델(500-n)을 포함할 수 있다. 상기 에지 추론기(500) 내의 제 n 인공지능 모델(500-n)은 상기 에지 추론기(500) 내에 위치한다는 의미에서 각각 제 n 에지 모델(EMn) 이라고 호칭될 수도 있다. 제 n 에지 모델(EMn)은 앞서 설명한 제 n 서비스 그룹(430)에 해당될 수 있다.
상기 클라우드 추론기(700)는 제 n 서비스를 담당하는 제 n 인공지능 모델(700-n)을 포함할 수 있다. 상기 클라우드 추론기(700) 내의 제 n 인공지능 모델(700-n)은 상기 클라우드 추론기(700) 내에 위치한다는 의미에서 각각 제 n 클라우드 모델(CMn) 이라고 호칭될 수도 있다. 제 n 클라우드 모델(CMn)은 앞서 설명한 제 n 서비스 그룹(430)에 해당될 수 있다.
상기 서비스 코디네이터(300)가 상기 에지 데이터를 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 어느 추론기 내의 해당 인공지능 모델로 전송할 것인지는 상기 데이터 흐름 설정에 따라 정해질 수 있다.
만약 상기 에지 데이터를 상기 에지 추론기(500) 내의 제 n 서비스를 담당하는 제 n 에지 모델(EMn)로 전송하기로 상기 데이터 흐름 설정이 정해졌다면, 상기 서비스 코디네이터(300)는 상기 에지 데이터를 상기 에지 추론기(500) 내의 제 n 에지 모델(EMn)로 전송할 수 있다.
만약 상기 에지 데이터를 상기 클라우드 추론기(700) 내의 제 n 서비스를 담당하는 제 n 클라우드 모델(CMn)로 전송하기로 상기 데이터 흐름 설정이 정해졌다면, 상기 서비스 코디네이터(300)는 상기 에지 데이터를 상기 클라우드 추론기(700) 내의 제 n 클라우드 모델(CMn)로 전송할 수 있다.
상기 에지 데이터가 제 n 에지 모델(EMn) 또는 제 n 클라우드 모델(CMn)의 추론용 입력데이터가 될 수 있다.
제 n 에지 모델(EMn) 또는 제 n 클라우드 모델(CMn)은 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다. 예를 들면, 제 n 에지 모델(EMn) 또는 제 n 클라우드 모델(CMn)는 상기 눈을 감은 운전자의 손 및/또는 머리의 움직임을 더욱 분석하여 상기 운전자가 졸음 운전 중인지 여부를 추론할 수 있다.
상기 추론 결과는 상기 차량(100)이 제공하는 제 n 서비스의 최종 결과(예를 들면, 졸음 운전 경고 안내)에 해당할 수도 있고, 상기 차량(100)이 제공하는 다른 서비스(예를 들면, 안전 운전 어시스턴스 서비스)의 입력으로 활용될 수도 있다.
이상에서는 상기 에지 추론기(500) 내에 제 n 서비스를 담당하는 제 n 에지 모델(EMn)이 존재하고, 상기 클라우드 추론기(700) 내에 제 n 서비스를 담당하는 제 n 클라우드 모델(CMn)이 존재하는 것으로 설명되었다. 그러나, 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)는 반드시 이렇게 구성되어야만 하는 것은 아니다.
예를 들면, 상기 에지 추론기(500) 내에는 제 n 서비스를 담당하는 제 n 에지 모델(EMn)이 없고, 상기 클라우드 추론기(700)에만 제 n 서비스를 담당하는 제 n 클라우드 모델(CMn)이 존재하도록 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)가 구성될 수도 있다. 상기 구성은 상기 협업 매니저(600)가 상기 로그 정보에 기반하여 결정한 것일 수 있다.
이와 같은 경우, 상기 데이터 흐름 설정도 상기 구성이 유지되는 동안에는 상기 데이터가 상기 클라우드 추론기(700)의 제 n 클라우드 모델(CMn)로만 전송되도록 변경될 수 있다.
반대로, 상기 에지 추론기(500) 내에는 제 n 서비스를 담당하는 제 n 에지 모델(EMn)이 있지만, 상기 클라우드 추론기(700)에는 제 n 서비스를 담당하는 제 n 클라우드 모델(CMn)이 없도록 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)가 구성될 수도 있다.
이와 같은 경우, 상기 데이터 흐름 설정도 상기 구성이 유지되는 동안에는 상기 데이터가 상기 에지 추론기(500)의 제 n 에지 모델(EMn)로만 전송되도록 변경될 수 있다.
이하, 도 9 내지 도 12를 참조하여, 도 5의 협업 시스템에서 한 서비스의 제공을 위해 시스템 구성이 변경될 수 있는 예시에 대해 설명하겠다. 도 9 내지 도 12는 도 5의 협업 시스템에서의 시스템 구성의 변경 예시를 도시한다.
먼저, 도 9에 도시된 바와 같이, 상기 협업 매니저(600)는 상기 서비스를 위해 에지 데이터에 대한 추론이 클라우드 추론기(700)에 행해지도록 시스템 구성을 정할 수 있다. 이와 같은 시스템 구성이 정해지면 이에 부합되도록 데이터 흐름 설정도 정해질 수 있다.
이에 따른 시스템 구성에 따르면, 상기 서비스를 담당하는 추론 모델(즉, 인공지능 모델)이 상기 클라우드 추론기(700)에만 구비되고, 상기 에지 추론기(500)에는 구비되지 않을 수 있다.
상기 서비스 코디네이터(300)는 먼저 상기 센싱부(140)로부터 수신되는 상기 에지 데이터를 상기 서비스 아웃포스트(400)로 전송할 수 있다.
상기 서비스 아웃포스트(400)에서 상기 에지 데이터 중에서 상기 트리거링 데이터가 검출될 때마다, 상기 서비스 아웃포스트(400)는 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 에지 데이터를 추론용 입력 데이터로서 상기 클라우드 추론기(700)로 전송할 수 있다. 상기 전송되는 에지 데이터는 상기 서비스 아웃포스트(400)에서 가공된 것일 수도 있고 가공되지 않은 것일 수도 있음은 전술한 바와 같다.
상기 클라우드 추론기(700)는 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다.
도 9와 같은 시스템 구성은 상기 에지 디바이스(100)에 최소한의 가용 자원이 있고 높은 수준의 추론이 필요한 경우에 유용할 수 있다.
또는(alternatively), 도 10에 도시된 바와 같이, 상기 협업 매니저(600)는 상기 서비스를 위해 에지 데이터에 대한 추론이 에지 추론기(500) 또는 클라우드 추론기(700)에 행해지도록 시스템 구성을 정할 수 있다. 이와 같은 시스템 구성이 정해지면 이에 부합되도록 데이터 흐름 설정도 정해질 수 있다.
이에 따른 시스템 구성에 따르면, 상기 서비스를 담당하는 추론 모델이 상기 에지 추론기(500 및 상기 클라우드 추론기(700) 모두에 구비될 수 있다.
상기 서비스 코디네이터(300)는 먼저 상기 센싱부(140)로부터 수신되는 상기 에지 데이터를 상기 서비스 아웃포스트(400)로 전송할 수 있다.
상기 서비스 아웃포스트(400)에서 상기 에지 데이터 중에서 상기 트리거링 데이터가 검출될 때마다, 상기 서비스 아웃포스트(400)는 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송할 수 있다. 상기 전송되는 에지 데이터는 상기 서비스 아웃포스트(400)에서 가공된 것일 수도 있고 가공되지 않은 것일 수도 있음은 전술한 바와 같다.
상기 에지 데이터가 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 어느 곳으로 전송되는지는, 예를 들면 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 각각의 실시간 시스템 자원 사용량에 의해 정해질 수 있다. 즉, 이들 중에서 실시간 시스템 자원 사용량이 적은 곳으로 상기 에지 데이터가 전송될 수 있다.
또는, 상기 에지 데이터가 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 중 어느 곳으로 전송되는지는, 예를 들면 상기 차량(100)과 상기 클라우드 서버(200) 간의 실시간 통신 환경에 의해 정해질 수도 있다. 즉, 상기 차량(100)과 상기 클라우드 서버(200) 간의 실시간 통신이 원활하거나 원활할 것으로 예상되면 상기 에지 데이터는 상기 클라우드 추론기(700)로 전송되고, 상기 차량(100)과 상기 클라우드 서버(200) 간의 실시간 통신이 원활하지 않거나 원활하지 않을 것으로 예상되면 상기 에지 데이터는 상기 에지 추론기(500)로 전송될 수 있다.
상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)는 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다.
도 10과 같은 시스템 구성은 상기 에지 다바이스(100)에 어느 정도 가용자원이 있고 추론 부하를 상기 에지 추론기(500) 및 상기 클라우드 추론기(700) 간에 분산하였을 때 전체 통신 비용을 감소시킬 수 있는 경우에도 유용할 수 있다.
또는, 도 11에 도시된 바와 같이, 상기 협업 매니저(600)는 상기 서비스를 위해 에지 데이터에 대한 추론이 에지 추론기(500)에 행해지도록 시스템 구성을 정할 수 있다. 이와 같은 시스템 구성이 정해지면 이에 부합되도록 데이터 흐름 설정도 정해질 수 있다.
이에 따른 시스템 구성에 따르면, 상기 서비스를 담당하는 추론 모델(즉, 인공지능 모델)이 상기 에지 추론기(500)에만 구비되고, 상기 클라우드 추론기(700)에는 구비되지 않을 수 있다.
상기 서비스 코디네이터(300)는 먼저 상기 센싱부(140)로부터 수신되는 상기 에지 데이터를 상기 서비스 아웃포스트(400)로 전송할 수 있다.
상기 서비스 아웃포스트(400)에서 상기 에지 데이터 중에서 상기 트리거링 데이터가 검출될 때마다, 상기 서비스 아웃포스트(400)는 상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기(500)로 전송할 수 있다. 상기 전송되는 에지 데이터는 상기 서비스 아웃포스트(400)에서 가공된 것일 수도 있고 가공되지 않은 것일 수도 있음은 전술한 바와 같다.
상기 에지 추론기(500)는 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다.
도 11과 같은 시스템 구성은 상기 에지 디바이스(100)에 충분한 가용 자원이 있고/있거나, 통신 비용이 고가인 경우에 유용할 수 있다.
한편, 상기 에지 데이터가 반드시 상기 서비스 아웃포스트(400)를 거쳐야 하는 것은 아니다. 상기 에지 데이터가 상기 서비스 아웃포스트(400)를 거치지 않고 상기 서비스 코디네이터(300)로 수신되는 모든 에지 데이터(예를 들면, 스트리밍 데이터)가 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 전송될 수 있다. 이에 대해 도 12를 더욱 참조하여 설명하겠다. 도 12에서는 설명의 간명함을 위해 상기 에지 데이터가 상기 클라우드 추론기(700)로만 전송되는 경우에 대해 설명하겠다.
상기 에지 데이터가 상기 클라우드 추론기(700)로만 전송되는 경우, 상기 서비스를 담당하는 추론 모델이 상기 클라우드 추론기(700)에만 구비되고, 상기 에지 추론기(500)에는 구비되지 않을 수 있다.
상기 서비스 코디네이터(300)는 상기 센싱부(140)로부터 수신되는 상기 에지 데이터를 추론용 입력 데이터로서 상기 클라우드 추론기(700)로만 전송할 수 있다. 즉, 상기 에지 데이터는 상기 서비스 아웃포스트(400)를 거치지 않을 수 있다. 이는 상기 에지 디바이스(100)에 가용 자원이 거의 없는 경우에 유용할 수 있다.
상기 클라우드 추론기(700)는 상기 추론용 입력 데이터를 입력 받아서 추론 결과를 출력할 수 있다.
비록 도시되지는 않았지만, 상기 에지 데이터가 상기 에지 추론기(500)로만 전송될 수도 있음은 물론이다. 이 경우, 상기 서비스를 담당하는 추론 모델이 상기 에지 추론기(500)에만 구비되고, 상기 클라우드 추론기(700)에는 구비되지 않을 수 있다.
도 9 내지 도 12 각각에 따른 시스템 구성들 간의 전환은, 시스템의 가용 자원이 실시간으로 모니터링 되면서 동적으로 행해질 수 있다.
한편, 앞서 설명된 바와 같이, 상기 협업 유저인터페이스(800)는, 상기 협업 매니저(600)가 결정한 시스템 구성을 실제로 적용하기 전에 사용자의 승인을 받기 위해 출력하고, 사용자는 상기 협업 유저인터페이스(800)를 통해 상기 결정된 시스템 구성에 대해 승인할 수 있다. 상기 협업 유저 인터페이스(800)는 상기 차량(100)의 상기 디스플레이부(151)을 통해 출력될 수도 있고, 상기 사용자의 다른 디바이스(예를 들면, 스마트폰(100d)에 출력될 수도 있다.
상기 협업 유저인터페이스(800)에 대해 도 13을 더욱 참조하여 설명하겠다. 도 13의 도 5의 협업시스템의 협업 유저인터페이스를 좀더 자세히 도시한 도면이다.
상기 협업 유저 인터페이스(800)에는 현재의 시스템 구성(810)과 상기 협업 매니저(600)가 제안하는 시스템 구성(830)이 디스플레이될 수 있다.
상기 현재의 시스템 구성(810)에서는, 제 1 서비스(S1), 제 2 서비스(S2), 및 제 3 서비스(S3)를 제공하기 위해 상기 센싱부(140)를 통해 센싱되는 에지 데이터가 상기 서비스 코디네이터(300)을 통해 상기 서비스 아웃포스트(300)을 거치지 않고 추론용 입력 데이터로서 상기 에지 추론기(500)로 제공되는 것이 예시되어 있다.
상기 제안되는 시스템 구성(830)에서는, 제 1 서비스(S1), 제 2 서비스(S2), 및 제 3 서비스(S3) 이외에 제 4 서비스(S4)를 더욱 제공하기 위해, 제 1 서비스(S1), 제 3 서비스(S3), 및 제 4 서비스(S4)를 위한 에지 데이터는 상기 서비스 코디네이터(300)을 통해 상기 서비스 아웃포스트(300)를 거쳐서 추론용 입력 데이터로서 상기 에지 추론기(500)로 제공되고, 제 2 서비스를 위한 에지 데이터는 상기 서비스 코디네이터(300)을 통해 상기 서비스 아웃포스트(300)를 거쳐서 추론용 입력 데이터로서 상기 클라우드 추론기(700)로 제공되는 것이 예시되어 있다.
사용자가 확인 아이콘(851)를 예컨대 터치를 통해 선택함으로써 상기 제안되는 시스템 구성을 승인하거나, 사용자가 취소 아이콘(852)를 예컨대 터치를 통해 선택함으로써 상기 제안되는 시스템 구성을 승인하지 않을 수 있다.
상기 제안되는 시스템 구성이 승인되는 경우 상기 협업 매니저(600)는 상기 승인되는 시스템 구성에 따라 본 협업 시스템의 성을 변경할 수 있다. 또는 상기 제안되는 시스템 구성이 승인되지 않는 경우 상기 협업 매니저(600)는 본 협업 시스템의 현재 구성을 그대로 유지할 수 있다.
한편, 상기 협업 유저 인터페이스(800)에는 상기 새로운 시스템 구성을 더 설명하기 위한 아이콘(860)이 디스플레이될 수 있다. 상기 아이콘(860)이 예컨대 터치를 통해 선택되는 경우, 상기 새로운 시스템 구성이 제안되는 이유 및 제 1 내지 제 4 서비스의 각각의 시스템 자원 사용량을 나타내는 그래픽(860)이 디스플레이될 수 있다. 비록 도시되지 않았지만, 상기 새로운 시스템 구성이 적용되는 경우 예상되는 통신 비용의 변화도 함께 상기 그래픽(860)에서 디스플레이될 수 있다.
상기 사용자는 상기 그래픽(860)을 보면서 상기 제안되는 시스템 구성을 승인할 것인지 여부를 판단할 수 있다.
이하, 도 14를 참조하여, 본 개시의 일실시예에 따라 서비스 제공을 위해 에지 데이터가 에지 추론기(500) 및 클라우드 추론기(700) 중 선택된 한 곳에서 처리되는 프로세스에 대해 좀더 구체적으로 살펴보겠다. 도 14는 본 개시의 일실시예에 따라 서비스 제공을 위해 에지 데이터가 에지 추론기 및 클라우드 추론기 중 선택된 한 곳에서 처리되는 프로세스를 도시한다.
상기 서비스 코디네이터(300)는 상기 센싱부(140)에 의해 수집된 에지 데이터를 입력 받을 수 있다[S141].
그 다음, 상기 서비스 코디네이터(300)는 상기 데이터 흐름 설정에 기반하여 상기 입력 받은 에지 데이터에 해당하는 서비스 그룹(또는 서비스 필터)이 상기 서비스 아웃포스트(400) 내에 존재하는지를 판단할 수 있다[S142].
상기 입력 받은 에지 데이터에 해당하는 서비스 그룹이 상기 서비스 아웃포스트(400) 내에 존재하면, 상기 서비스 코디네이터(300)는 상기 에지 데이터에 해당하는 서비스 그룹을 확인할 수 있다[S143]. 따라서, 상기 에지 데이터는 상기 서비스 아웃포스트(400)의 확인된 서비스 그룹으로 전송될 수 있다.
상기 서비스 아웃포스트(400)는 상기 전송받은 에지데이터로부터 트리거링 데이터를 검출할 수 있다[S144].
상기 트리거링 데이터가 검출되지 않으면, 본 프로세스는 종료될 수 있다.
그러나, 상기 트리거링 데이터가 검출되면, 상기 서비스 코디네이터(300)는 상기 에지 데이터에 대한 추론 위치를 판단할 수 있다[S145].
한편, 상기 S142 단계에서 상기 입력 받은 에지 데이터에 해당하는 서비스 그룹이 상기 서비스 아웃포스트(400) 내에 존재하지 않더라도, 상기 S145 단계로 진행될 수도 있다. 이는 앞서 설명한 도 12에 해당하는 경우이다. 물론, 도시되지 않았지만, 상기 S142 단계에서 상기 입력 받은 에지 데이터에 해당하는 서비스 그룹이 상기 서비스 아웃포스트(400) 내에 존재하지 않고 앞서 설명한 도 12에도 해당하지 않는 경우에는 본 프로세스는 종료될 수도 있다.
상기 에지 데이터의 추론 위치의 판단에는 도 14에 도시된 추론 위치 테이블에 정리된 바와 같은 각 서비스 별 추론 위치의 매핑이 활용될 수 있다. 각 서비스 별 추론 위치의 매핑에 대해서는 나중에 다시 설명된다.
상기 에지 데이터의 추론 위치가 상기 클라우드 추론기(700)로 판단되면, 상기 에지 데이터는 추론용 에지 데이터로서 상기 클라우드 추론기(700)로 전송될 수 있다[S146].
상기 에지 데이터의 추론 위치가 상기 에지 추론기(500)로 판단되면, 상기 에지 데이터는 추론용 에지 데이터로서 상기 에지 추론기(500)로 전송될 수 있다[S147].
상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)는 상기 추론용 입력 데이터를 입력 받아서 그 내부의 인공지능 모델에 기반하여 추론 결과를 출력할 수 있다.
이하, 도 15를 참조하여, 본 개시의 일실시예에 따른 시스템 구성 최적화를 위한 프로세스에 대해 설명하겠다. 도 15는 본 개시의 일실시예에 따른 시스템 구성 최적화를 위한 프로세스를 도시한다. 도 15의 시스템 구성 최적화 프로세스 도중에 상기 프로세스 중에 도 14의 각 서비스 별 추론 위치의 매핑이 행해져서 상기 추론 위치 테이블이 준비될 수 있다.
상기 협업 매니저(600)는 본 협업 시스템의 구성을 최적화하기 위한 프로세스를 개시할 수 있다. 상기 프로세스의 개시는 일정 시간 간격으로 정기적으로 행해지거나, 상기 차량(100)에서 소정 이벤트가 발생되는 경우 비정기적으로 행해질 수 있다. 상기 소정 이벤트는 예를 들면 상기 차량(100)이 공장 출고되거나, 공장 출고 후 사용자에 인도되어 처음으로 작동되거나, 상기 차량(100)의 통신 환경이 변경되거나 변경 예정인 것(예를 들면, 음영 지역으로의 진입하거나 진입 예정인 것)일 수 있다.
상기 협업 매니저(600)는 상기 차량(100)이 제공해야 하는 복수의 서비스들의 리스트를 확인할 수 있다[S151]. 상기 차량(100)이 제공하는 서비스들의 리스트는, 현재 상기 차량(100)이 제공하고 있는 서비스들의 리스트일 수도 있고, 향후 상기 차량(100)이 제공해야 하는 서비스들의 리스트(즉, 상기 리스트에서는 현재 상기 차량(100)에서 제공하고 있는 서비스들의 적어도 일부가 삭제되고/되거나 상기 차량(100)에서 새롭게 제공해야 하는 서비스가 추가될 수 있음)일 수 있다.
그 다음, 상기 협업 매니저(600)는 각 서비스에 대해 에지 추론기 적용 적합도를 계산할 수 있다[S152]. 상기 에지 추론기 적용 적합도는 각 서비스에 대한 추론 위치가 에지 추론기로 정해지는 것이 적합한 것인지를 나타내는 수치로 표현될 수 있다. 각 서비스에 대한 에지 추론기 적용 적합도의 계산은 나중에 다시 설명된다.
그 다음, 상기 협업 매니저(600)는 상기 에지 추론기 적용 적합도에 따라 상기 리스트 내의 각 서비스에 대해 우선 순위를 정할 수 있다[S153]. 상기 우선 순위는 상기 리스트 내의 각 서비스에 대해 상기 에지 추론기를 배정하는 우선 순위일 수 있다.
그 다음, 상기 협업 매니저(600)는 상기 에지 디바이스(100)의 가용 자원을 확인하고, 상기 우선 순위에 따라 한 서비스씩 요구 자원을 계산할 수 있다[S154].
좀더 구체적으로 설명을 하면, 먼저 상기 협업 매니저(600)는 최우선 순위 서비스의 요구 자원을 계산할 수 있다.
상기 가용 자원이 상기 최우선 순위 서비스의 요구 자원 이상이면, 상기 협업 매니저(600)는 상기 최우선 순위 서비스의 추론 위치를 에지 추론기로 설정할 수 있다[S155, S156]. 그러나, 상기 가용 자원이 상기 최우선 순위 서비스의 요구 자원 미만이면, 상기 협업 매니저(600)는 상기 최우선 순위 서비스의 추론 위치를 클라우드 추론기로 설정할 수 있다[S155, S157].
상기 최우선 순위 서비스에 대한 추론 위치가 설정되면, 상기 협업 매니저(600)는 차우선 순위 서비스에 대한 추론 위치가 설정될 수 있다[S158].
상기 최우선 순위 서비스의 추론 위치가 에지 추론기로 설정되었다면, 상기 가용 자원은 상기 최우선 순위 서비스의 요구 자원만큼 차감될 수 있다. 그러나, 상기 최우선 순위 서비스의 추론 위치가 클라우드 추론기로 설정되었다면, 상기 가용 자원은 그대로 유지될 수 있다[S154].
그 다음, 상기 협업 매니저(600)는 상기 우선 순위에 따라 차우선 순위 서비스 요구 자원을 계산할 수 있다[S154].
그 다음, 상기 가용 자원이 상기 차우선 순위 서비스의 요구 자원 이상이면, 상기 협업 매니저(600)는 상기 차우선 순위 서비스의 추론 위치를 에지 추론기로 설정할 수 있다[S155, S156]. 그러나, 상기 가용 자원이 상기 차우선 순위 서비스의 요구 자원 미만이면, 상기 협업 매니저(600)는 상기 최우선 순위 서비스의 추론 위치를 클라우드 추론기로 설정할 수 있다[S155, S157].
이와 같은 상기 S154 내지 S157 단계를 모든 서비스들에 대해 반복함으로써, 상기 협업 매니저(600)는 모든 서비스에 대한 추론 위치를 정할 수 있다[S158]. 다만, 모든 서비스들에 대한 추론 위치를 정하기 전에 상기 가용 자원이 모두 소진되거나 사전 설정된 최소 가용 자원 이하가 된다면, 이렇게 된 시점 이후에 아직 추론 위치가 설정되지 않은 잔여 서비스들에 대한 추론 위치는 일괄 클라우드 추론기로 설정될 수 있다. 이상과 같이 도 14의 각 서비스 별 추론 위치의 매핑이 행해질 수 있다.
그 다음, 상기 협업 매니저(600)는 상기 서비스들에 대해 정해진 추론 위치에 기반하여 상기 시스템 구성의 최적화를 완료할 수 있다.
상기 협업 매니저(600)는 상기 최적화된 시스템 구성에 따라 본 협업 매니저의 시스템을 새롭게 구성할 수 있다. 예를 들면, 상기 협업 매니저(600)는 상기 추론 위치가 상기 에지 추론기로 정해진 서비스(들)에 대한 에지 모델(들)이 상기 예지 추론기에 없는 경우 이를 상기 에지 추론기에 배포하거나, 상기 추론 위치가 상기 클라우드로 정해진 서비스(들)에 대한 에지 모들(들)을 상기 상기 에지 추론기에서 삭제할 수 있다.
또한, 상기 협업 매니저(600)는 상기 최적화된 시스템 구성에 따라 상기 데이터 흐름 설정도 함께 최적화할 수 있다.
이하, 도 16을 참조하여, 도 15의 각 서비스에 대한 에지 추론기 적용 적합도 계산 프로세스에 대해 설명하겠다. 도 16은 도 15의 각 서비스에 대한 에지 추론기 적용 적합도 계산 프로세스 및 이를 위한 파라미터와 가중치를 도시한다.
먼저, 도 16의 (16-1)에 도시된 바와 같이, 상기 협업 매니저(600)는 모든 서비스들 중에서 에지 추론기 적용 적합도를 계산하기 위한 대상 서비스를 선택할 수 있다[S161].
그 다음, 상기 협업 매니저(600)는 상기 대상 서비스의 각 항목별 에지 추론기 적합도 파라미터(W)에 해당 항목별 가중치(E)를 곱한 값을 모든 항목에 대해 합산함으로써 각 서비스에 대한 에지 추론기 적용 적합도를 계산할 수 있다[S162].
도 16의 (16-2)에서는 상기 모든 서비스들이 4개의 서비스들, 즉 제 1 서비스(졸음 감지), 제 2 서비스(행동 감지), 제 3 서비스(안면 감지) 및, 제 4 서비스(예를 들면, 폭력 감지)를 포함하는 것으로 예시되어 있다. 이는 단지 예시인 것으로 더 많은 서비스 또는 더 적은 서비스가 제공될 수 있음은 물론이다. 또한, 도 16의 (16-2)에 도시된 바와 같이 각 서비스에 대해 3개의 항목(예를 들면, 안전(safety), 지연속도(latency), 데이터 전송 비용(data transfer cost)) 별로 에지 추론기 적합도 파라미터가 사전 준비되어 있을 수 있다. 상기 에지 추론기 적합도 파라미터는 주기적으로 또는 비주기적으로 업데이트될 수 있다. 예를 들면, 네트워크 환경이 달라짐에 따라 지연 속도 및 데이터 전송 비용에 대한 에지 추론기 적합도 파라미터가 달라질 수 있다. 또는 탑승객 또는 도로 상황에 따라 안전에 대한 에지 추론기 적합도 파라미터가 달라질 수 있다.
한편, 도 16의 (16-3)에 도시된 바와 같이, 평상시에서의 각 항목별 기본 가중치와, 비상시(예를 들면 네트워크 음영 지대 진입 또는 진입 예정)에서의 각 항목별 가산 가중치가 사전 준비되어 있을 수 있다. 상기 기본 가중치 및 가산 가중치 또한 주기적 또는 비주기적으로 네트워크 환경, 탑승객, 도로 상황에 따라 업데이트될 수 있다.
각 서비스에 대해 더 많은 항목 또는 더 적은 항목이 준비될 수 있음은 물론이다.
각 서비스에 대한 에지 추론기 적용 적합도의 계산은 나중에 좀더 자세히 설명하겠다.
상기 협업 매니저(600)은 모든 서비스들 각각에 대해 에지 추론기 적용 적합도 계산을 완료할 때까지 상기 S161 및 상기 S162 단계를 반복할 수 있다[S163].
이하, 도 17을 참조하여, 도 16의 각 서비스에 대한 에지 추론기 적용 적합도의 계산에 대해 설명하겠다. 도 17은 도 16의 각 서비스에 대한 에지 추론기 적용 적합도의 계산의 예시를 도시한다.
도 17의 (17-1)에서는 평상시 각 서비스별 에지 추론기 적용 적합도의 계산식이 예시되어 있다. 각 서비스에 대해 각 항목별 에지 추론기 적합도 파라미터(W)에 해당 항목별 평상시 가중치(E)를 곱한 값을 모든 항목에 대해 합산함으로써, 각 서비스에 대한 에지 추론기 적용 적합도를 계산할 수 있다.
도 17의 (17-1)에서는 평상시에 제 1 서비스, 제 2 서비스, 제 4 서비스, 및 제 3 서비스 순서대로 에지 추론기 적용 적합도가 낮아지는 것으로 예시되어 있다.
한편, 도 17의 (17-2)에서는 비상시 각 서비스별 에지 추론기 적용 적합도의 계산식이 예시되어 있다. 각 서비스에 대해 각 항목별 에지 추론기 적합도 파라미터(W)에 해당 항목별 비상시 가중치(E)를 곱한 값을 모든 항목에 대해 합산함으로써, 각 서비스에 대한 에지 추론기 적용 적합도를 계산할 수 있다.
도 17의 (17-2)에서는 비상시에 제 1 서비스, 제 4 서비스, 제 2 서비스, 및 제 3 서비스 순서대로 에지 추론기 적용 적합도가 낮아지는 것으로 예시되어 있다.
이상에서는 상기 협업 매니저(600)가, 상기 로그 정보 및/또는 상기 차량의 운행 환경 등에 기반하여, 본 협업 시스템의 구성, 즉 시스템 구성이 적합한지 판단하고, 상기 시스템이 적합하지 않다고 판단되는 경우, 상기 협업 유저인터페이스(800)를 통한 사용자의 승인 하에 상기 시스템의 구성을 최적화할 수 있음에 대해 설명하였다. 이에 대해 도 18을 더욱 참조하여 설명하겠다. 도 18은 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
예를 들어, 사용자가 새로운 차량(100)을 구입했다고 가정하자. 그러면, 상기 새로 구입한 차량(100)에는 디폴트 시스템 구성이 적용되어 있을 수 있다.
상기 디폴트 시스템 구성에 따르면, 상기 차량(100)에서는 제 1 서비스(S1), 제 2 서비스(S2), 제 3 서비스(S3), 및 제 4 서비스(S4)가 제공될 수 있고, 상기 서비스 아웃포스트(400)에는 제 1 서비스(S1), 제 2 서비스(S2), 제 3 서비스(S3), 및 제 4 서비스(S4)에 각각 대응되는 제 1 서비스 필터(F1), 제 2 서비스 필터(F2), 제 3 서비스 필터(F3), 및 제 4 서비스 필터(F4)가 구비될 수 있음이 예시되어 있다. 그리고, 상기 디폴트 시스템 구성에 따르면, 제 1 서비스(S1) 및 제 2 서비스(S2)의 추론은 상기 에지 추론기(500)에서 행해지고, 제 3 서비스(S3) 및 제 2 서비스(S2)의 추론은 상기 클라우드 추론기(700)에서 행해질 수 있음이 예시되어 있다.
즉, 상기 디폴트 시스템 구성에 따르면, 제 1 서비스(S1) 및 제 2 서비스(S2)에 대응되는 제 1 에지 데이터 및 제 2 에지 데이터는 각각 상기 서비스 아웃포스트(400)의 제 1 서비스 필터(F1) 및 제 2 서비스 필터(F2)를 통해 필터링되어 상기 에지 추론기(500)에서 추론되고, 제 3 서비스(S3) 및 제 4 서비스(S4)에 대응되는 제 3 에지 데이터 및 제 4 에지 데이터는 각각 상기 서비스 아웃포스트(400)의 제 3 서비스 필터(F3) 및 제 4 서비스 필터(F4)를 통해 필터링되어 상기 클라우드 추론기(700)에서 추론될 수 있음이 예시되어 있다.
상기 디폴트 시스템 구성이 적용되어 있는 차량(100)이 소정 시간(예를 들면, 1주일) 동안 운행되면서 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)에서의 추론에 대한 연산 결과에 관한 데이터가 로그 정보로서 상기 협업 매니저(600)로 전송되어 상기 데이터베이스(도 6, 900)에 저장될 수 있다.
그러면, 상기 협업 매니저(600)는 상기 축적된 로그 정보에 기반하여, 본 협업 시스템에서 상기 디폴트 시스템 구성이 계속 적용되는 것이 적합한지 여부를 판단하고, 적합하지 않다고 판단되면 신규 시스템 구성을 상기 협업 유저인터페이스(800)를 통해 제안할 수 있다.
상기 사용자가 상기 협업 유저인터페이스(800)를 통해 상기 신규 시스템 구성을 승인하면, 상기 협업 매니저(600)는 상기 신규 시스템 구성을 상기 차량(100)에 적용할 수 있다.
상기 신규 시스템 구성에 따르면, 상기 차량(100)에서는 제 1 서비스(S1), 제 2 서비스(S2), 제 3 서비스(S3), 및 제 4 서비스(S4)가 제공될 수 있고, 상기 서비스 아웃포스트(400)에는 제 1 서비스(S1), 제 2 서비스(S2), 제 3 서비스(S3), 및 제 4 서비스(S4)에 각각 대응되는 제 1 서비스 필터(F1), 제 2 서비스 필터(F2), 제 3 서비스 필터(F3), 및 제 4 서비스 필터(F4)가 구비될 수 있음은 상기 디폴트 시스템 구성과 동일하다. 다만, 상기 신규 시스템 구성에 따르면, 제 1 서비스(S1), 제 3 서비스(S3), 및 제 4 서비스(S4)의 추론은 상기 에지 추론기(500)에서 행해지고, 제 2 서비스(S2)의 추론은 상기 클라우드 추론기(700)에서 행해질 수 있음이 상기 디폴트 시스템 구성과 다르다.
즉, 상기 신규 시스템 구성에 따르면, 제 1 서비스(S1), 제 3 서비스(S3), 및 제 4 서비스(S4)에 대응되는 제 1 에지 데이터, 제 3 에지 데이터 및 제 4 에지 데이터는 각각 상기 서비스 아웃포스트(400)의 제 1 서비스 필터(F1), 제 3 서비스 필터(F3) 및 제 4 서비스 필터(F4)를 통해 필터링되어 상기 에지 추론기(500)에서 추론되고, 제 2 서비스(S2)에 대응되는 제 2 에지 데이터는 상기 서비스 아웃포스트(400)의 제 2 서비스 필터(F2)를 통해 필터링되어 상기 클라우드 추론기(700)에서 추론될 수 있음이 예시되어 있다.
상기 신규 시스템 구성이 적용되어 있는 차량(100)이 상기 소정 시간(예를 들면, 1주일) 동안 운행되면서 상기 에지 추론기(500) 및 상기 클라우드 추론기(700)에서의 추론에 대한 연산 결과에 관한 데이터가 로그 정보로서 상기 협업 매니저(600)로 전송되어 상기 데이터베이스(도 6, 900)에 저장되고, 상기 협업 매니저(600)는 상기 축적된 로그 정보에 기반하여, 본 협업 시스템에서 상기 신규 시스템 구성이 계속 적용되는 것이 적합한지 여부를 판단하고, 적합하지 않다고 판단되면 또다른 신규 시스템 구성을 상기 협업 유저인터페이스(800)를 통해 제안할 수 있다.
이와 같이 본 협업 시스템에서의 시스템 구성이 반복적으로 변경됨으로써 최적화될 수 있다.
도 18에서는 상기 협업 시스템에서 동일한 복수의 서비스들에 대한 시스템 구성이 업데이트되는 것에 대해 설명하였다. 그러나, 경우에 따라 새로운 서비스가 추가될 수도 있음은 물론이다. 이에 대해 도 19를 더욱 참조하여 설명하겠다. 도 19는 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
예를 들어, 상기 차량(100)이 렌터카와 같은 공유 차량이라고 가정하자. 상기 차량(100)에는 디폴트 시스템 구성이 적용되어 사용자에게 인도될 수 있다. 있을 수 있다.
상기 디폴트 시스템 구성에 따르면 상기 차량(100)에는 제 2 서비스(S2)가 제공될 수 있고, 상기 서비스 아웃포스트(400)에는 제 2 서비스(S2)에 대응되는 제 2 서비스 필터(F2)가 구비될 수 있음이 예시되어 있다. 제 2 서비스(S2)는 탑승자 감지 서비스인 것으로 가정하겠다. 그리고, 상기 디폴트 시스템 구성에 따르면, 제 2 서비스(S2)의 추론은 상기 클라우드 추론기(700)에서 행해지는 것으로 예시되어 있다. 제 2 서비스(S2)의 추론이 상기 에지 추론기(500)에서 행해질 수도 있음은 물론이다. 본 협업 시스템에서 제 2 서비스를 통해 탑승자를 추론할 수 있다. 예를 들면, 상기 탑승자가 애완동물 동반 여행객인지, 아동 동반 여행객인지, 비지니스 출장 여행객인지 여부를 추론할 수 있다.
본 협업 시스템은 상기 탑승자에 대한 추론 결과에 기반하여 상기 시스템 구성을 업데이트할 수 있다. 즉, 상기 탑승자에 대한 추론 결과에 따라 상기 탑승자를 위한 새로운 맞춤 서비스가 본 협업 시스템에 추가되도록 상기 시스템 구성이 업데이트될 수 있다.
도 19에서는, 상기 업데이트된 시스템 구성에 따르면, 상기 탑승자를 위해 제 1 서비스(S1), 제 3 서비스(S3), 제 4 서비스(S4)가 새롭게 추가되어 제공될 수 있고, 상기 서비스 아웃포스트(400)에는 제 1 서비스(S1), 제 3 서비스(S3), 및 제 4 서비스(S4)에 각각 대응되는 제 1 서비스 필터(F1), 제 3 서비스 필터(F3), 및 제 4 서비스 필터(F4)가 추가되어 구성될 수 있음이 예시되어 있다. 그리고, 제 1 서비스(S1)의 추론은 상기 에지 추론기(500)에서 행해지고, 제 3 서비스(S3) 및 제 4 서비스(S4)의 추론은 상기 클라우드 추론기(700)에서 행해질 수 있음이 예시되어 있다.
이상에서는 하나의 차량(100)에 대해 본 협업 시스템의 시스템 구성이 변경되거나 최적화되는 것에 대해 설명되었다. 그런데, 동일 또는 유사 차종의 둘 이상의 차량(100)에 대해 그 용도에 따라 상기 시스템 구성이 달라질 수 있다. 이에 대해 도 20을 더욱 참조하여 설명하겠다. 도 20은 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
예를 들어, 제 1 차량(100-1)은 개인용으로서 개인 사용자에게 판매되었고, 제 1 차량(100-1)과 동일 또는 유사 차종의 제 2 차량(100-2)는 사업용(예를 들면, 택시, 렌터카 등)으로서 사업자 사용자에게 판매되었다고 가정하자. 여기서 유사 차종이라 함을 본 협업 시스템이 공통적으로 적용될 수 있는 차종을 의미할 수 있다.
이와 같은 제 1 차량(100-1)과 제 2 차량(100-2)의 공장 출고시 또는 공장 출고 후 사용자에게 인도되어 처음 작동되는 경우, 본 협업 시스템은 제 1 차량(100-1)과 제 2 차량(100-2)에 대해 그 용도에 따라 다른 시스템 구성이 적용되도록 할 수 있다.
도 20에 도시된 바와 같이, 상기 데이터베이스(900)에는 제 1 서비스(S1) 내지 제 6 서비스(S6)에 각각 대응되는 제 1 에지 모델 내지 제 6 에지 모델과, 제 1 서비스(S1) 내지 제 6 서비스(S6)에 각각 대응되는 제 1 서비스필터 내지 제 6 서비스필터를 저장할 수 있다.
도 20에서는, 제 1 차량(100-1)이 공장 출고되거나 공장 출고 후 개인 사용자에게 인도되어 처음 작동되는 경우, 상기 협업 매니저(600)는 개인 사용자를 위한 제 1 서비스(S1), 제 4 서비스(S4), 제 6 서비스(S6)에 각각 해당하는 제 1 에지 모델, 제 4 에지 모델, 제 6 에지 모델을 제 1 차량(100-1)의 에지 추론기에 새롭게 배포할 수 있음이 예시되어 있다. 이 경우, 상기 협업 매니저(600)는 필요한 경우 제 1 서비스(S1), 제 4 서비스(S4), 제 6 서비스(S6)에 각각 해당하는 제 1 서비스 필터, 제 4 서비스 필터, 제 6 서비스 필터 중 적어도 하나를 제 1 차량(100-1)의 서비스 아웃포스트에 새롭게 배포할 수 있다. 개인 사용자를 위한 서비스의 예로는, 차량 소유자의 얼굴 인식을 통한 편의 기능 제공 서비스, 졸음 감지 서비스 등이 있을 수 있다. 상기 협업 매니저(600)는 제 1 차량(100-1)이 사용자에게 인도되어 처음 작동되는 경우, 제 1 차량(100-1)으로부터 제 1 차량(100-1)의 용도에 관한 정보를 수신할 수도 있다.
또한, 도 20에서는, 제 2 차량(100-2)이 공장 출고되거나 공장 출고 후 사업자 사용자에게 인도되어 처음 작동되는 경우, 상기 협업 매니저(600)는 사업자 사용자를 위한 제 2 서비스(S2), 제 3 서비스(S3), 제 5 서비스(S5)에 각각 해당하는 제 2 에지 모델, 제 3 에지 모델, 제 5 에지 모델을 제 2 차량(100-2)의 에지 추론기에 새롭게 배포할 수 있음이 예시되어 있다. 이 경우, 상기 협업 매니저(600)는 필요한 경우 제 2 서비스(S2), 제 3 서비스(S3), 제 5 서비스(S5)에 각각 해당하는 제 2 서비스 필터, 제 3 서비스 필터, 제 5 서비스 필터 중 적어도 하나를 제 2 차량(100-2)의 서비스 아웃포스트에 새롭게 배포할 수 있다. 사업자 사용자를 위한 서비스의 예로는, 승객 분석 서비스, 위협 감지 서비스, 졸음 감지 서비스, 운전대 핸즈 오프 감지 서비스 등이 있을 수 있다. 상기 협업 매니저(600)는 제 2 차량(100-2)이 사용자에게 인도되어 처음 작동되는 경우, 제 2 차량(100-2)으로부터 제 2 차량(100-2)의 용도에 관한 정보를 수신할 수도 있다.
도 20에서는 제 1 차량(100-1)을 위한 제 7 서비스, 제 8 서비스, 제 10 서비스를 위한 추론과 제 2 차량(100-2)를 위한 제 7 서비스, 제 9 서비스, 제 11 서비스, 제 12 서비스를 위한 추론이 상기 클라우드 추론기(700)에 행해지는 것이 예시되어 있다.
이상에서는 서비스 별로 추론 위치가 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 정해질 수 있음이 설명되었다. 그러나, 경우에 따라서는 동일한 서비스가 처음 출시되었을 때에는 추론 위치가 상기 클라우드 추론기(700)로 정해졌다가 나중에 출시 후 소정 시간이 경과되면 추론 위치가 상기 에지 추론기(500)로 변경될 수도 있다. 이에 대해 도 21을 더욱 참조하여 설명하겠다. 도 21은 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
예컨대, 개정 도로 교통 법규가 시행될 수 있다. 도 21에는 운전시 교차로 통행 방법에 있어 우회전에 관한 도로 교통 법규가 개정되어 시행되는 것이 예시되어 있다.
이 경우, 본 협업 시스템을 위해 상기 개정 도로 교통 법규 준수를 안내하는 신규 서비스가 준비되어 출시될 수 있다. 상기 신규 서비스는 운전시 교차료에서 우회전할 때 상기 개정 도로 교통 법규를 잘 준수하도록 안내하는 모델을 포함할 수 있다. 상기 출시 시점에는 상기 신규 서비스는 그 추론 위치가 상기 클라우드 추론기(700)가 되도록 설계될 수 있다.
상기 신규 서비스가 출시되면, 상기 협업 매니저(600)는 상기 신규 서비스를 배포하여 설치하도록 상기 시스템 구성을 변경하는 것에 대해 상기 협업 유저인터페이스(800)를 통해 사용자에게 제안할 수 있다.
상기 제안이 사용자에 의해 승인되면, 상기 협업 매니저(600)는 상기 차량(100)에 상기 신규 서비스를 배포되어 설치할 수 있다. 앞서 설명된 것처럼, 상기 신규 서비스는 그 추론 위치가 상기 클라우드 추론기(700)가 되도록 상기 차량에 대해 본 협업 시스템이 구성될 수 있다.
상기 신규 서비스는 상기 차량(100) 이외에 다른 차량들에도 배포될 수도 있다. 복수의 차량들에 대한 본 협업 시스템에서 상기 신규 서비스의 출시 이후 일정 기간 이상 동안 상기 신규 서비스 제공됨으로써 상기 신규 서비스에 대한 추론이 진행되고 이에 따라 일정 수준 이상의 데이터가 수집되면, 상기 신규 서비스를 위한 인공지능 모델이 경량화될 수도 있다.
상기 신규 서비스를 위한 인공지능 모델이 경량화되는 이벤트가 발생됨에 따라, 상기 협업 매니저(600)는 상기 신규 서비스의 추론 위치가 상기 클라우드 추론기(700)에서 상기 에지 추론기(500)로 이동하도록 상기 차량(100)에 대한 본 협업 시스템의 구성을 상기 협업 유저인터페이스(800)를 통한 사용자 승인 하에 변경할 수 있다.
상기 신규 서비스는 경량화가 되었으므로 상기 에지 추론기(500)에서 추론되더라도 상기 차량(100)의 가용 자원을 최소한으로 점유할 수 있다. 또한, 상기 신규 서비스의 추론 위치가 상기 에지 추론기(500)이기 때문에, 상기 신규 서비스의 추론 위치가 상기 클라우드 추론기(700)일 때보다 상기 차량(100) 및 상기 클라우드 서버(200) 간의 통신량도 절감일 수 있다.
이상에서는 예컨대 도 10과 관련하여 설명된 바와 같이, 상기 차량(100)의 통신 환경에 따라 상기 차량(100)을 위한 서비스(예를 들면, 차량 내 탑승자가 운전자를 폭력 등으로 위협하는지를 감지하는 위협 감지 서비스)에 대한 추론 위치가 달라질 수 있다. 이에 대해 도 22를 더욱 참조하여 설명하겠다. 도 22는 본 개시의 일실시예에 따라 시스템 구성 최적화가 구현되는 예시를 도시한다.
도 22에 도시된 바와 같이 상기 차량(100)이 상기 클라우드 서버(200)와의 통신이 원활하거나 양호한 A 지역에서 운행되고 있다고 가정하자.
이 경우, 상기 차량(100)과 상기 클라우드 서버(200) 간의 통신이 원활하므로 상기 차량(100)의 에지 데이터가 상기 클라우드 추론기(700)로 전송되어 상기 위협 감지 서비스에 대한 추론이 상기 클라우드 추론기(700)에서 행해지도록 본 협업 시스템이 구성되어 있을 수 있다.
그런데, 상기 차량(100)은 운행이 계속됨에 따라 터널과 같이 상기 차량(100)과 상기 클라우드 서버(200) 간의 통신이 원활하지 않은 B 지역에 가까이 다가갈 수 있다. 상기 차량(100)은 예컨대 상기 위치 탐색부를 통해 B 지역에 다가감을 감지할 수 있다.
상기 차량(100)과 상기 클라우드 서버(200) 간의 통신이 원활하지 않은 (즉, 불량인) B 지역에 상기 차량(100)이 소정 시간 이내에 도달할 것으로 예상되고, 상기 차량(100)에 상기 위협 감지 서비스를 위한 에지 모델이 배포되어 있지 않다면, 상기 협업 매니저(600)은 상기 차량(100)의 에지 추론기(500)에 상기 위협 감지 서비스를 위한 에지 모델이 배포되도록 본 협업 시스템의 구성을 변경할 수 있다. 이를 위해 상기 협업 유저인터페이스(800)를 통한 사용자의 승인이 필요할 수도 있음은 전술한 바와 같다. 이 때, 상기 차량(100)의 가용 자원이 부족하여 상기 에지 모델을 배포할 수 없다면, 상기 위협 감지 서비스보다 우선 수위가 떨어지는 다른 서비스를 종료하고 상기 다른 서비스를 위한 인공지능 모델을 제거함으로써 가용 자원을 확보할 수도 있다. 그러나, 상기 차량(100)에 상기 위협 감지 서비스를 위한 에지 모델이 배포되어 있었다면 본 협업 시스템의 구성을 변경하지 않을 수도 있다.
그 다음, 상기 차량(100)이 상기 B 지역으로 진입하거나 곧 진입할 것으로 예상되면, 상기 협업 매니저(600)는 상기 데이터 흐름 설정을 변경하여 상기 차량(100)의 에지 데이터가 상기 에지 추론기(500)로 전송되어 상기 위협 감지 서비스에 대한 추론이 상기 에지 추론기(500)에서 행해지도록 할 수 있다.
상기 시스템 구성이 변경된다면, 상기 시스템 구성 변경 이후에 상기 데이터 흐름 설정이 변경될 수 있고, 상기 시스템 구성의 변경과 동시에 또는 거의 동시에 상기 데이터 흐름 설정이 변경될 수도 있다.
상기 B 지역 내에서는 상기 에지 추론기(500)를 통해 운전자 위협 행동 발생 여부가 감지될 수 있다. 그런데, 상기 B 지역 내에서는 통신이 원활하지 않으므로 운전자 위협 행동이 발생되더라도 상기 차량(100)은 이 사실을 즉각 외부 서버(예를 들면, 보안요원 또는 경찰 호출용 외부 서버)에 보고할 수 없을 수도 있다.
상기 차량(100)이 상기 B 지역을 벗어나 다시 상기 차량(100)과 상기 클라우드 서버(200) 간의 통신이 원활한 C 지역으로 진입하거나 곧 진입할 것으로 예상되면, 상기 협업 매니저(600)는 상기 데이터 흐름 설정을 다시 변경하여 상기 차량(100)의 에지 데이터가 상기 클라우드 추론기(700)로 전송되어 상기 위협 감지 서비스에 대한 추론이 상기 클라우드 추론기(700)에서 행해지도록 할 수 있다. 그리고, 상기 협업 매니저(600)은 상기 차량(100)의 상기 에지 추론기(500)에 상기 위협 감지 서비스를 위한 상기 에지 모델이 제거되도록 본 협업 시스템의 구성을 변경할 수도 있다. 또한, 상기 차량(100)이 상기 C 지역으로 진입하면, 상기 B 지역 내에서 운전자 위협 행동이 발생되었던 경우 이 사실을 상기 외부 서버로 자동으로 보고할 수 있다.
도 22에서는 지역 별 통신 가능 여부에 기반하여 추론 위치가 경우에 따라서는 시스템 구성과 함께 변경될 수 있음이 설명하였다. 그런데, 지역 별 거주민의 특성에 따라 트리거링 데이터 검출 기준 및/또는 시스템 구성이 달라질 수도 있다. 이에 대해 도 22를 다시 참조하여 설명하겠다.
도 22에 도시된 바와 같이, A 지역에서 주로 운행하던 상기 차량(100)이 있다고 가정하자. 그리고, A 지역 거주민의 말투, 억양, 행동은 대체로 부드럽다고 가정하자. 그리고, 상기 차량(100)은 위협 감지 서비스를 제공하고 있는 것으로 가정하자.
먼저 상기 차량(100)이 A 지역에 주로 운행되고 있던 관계로 A 지역 특성에 맞도록 상기 위협 감지 서비스가 제공될 수 있도록 본 협업 시스템의 구성 및 트리거링 데이터 검출 기준이 최적화되어 있을 수 있다. 즉, A 지역 거주민의 일반적인 말투, 억양, 행동을 고려하여 적절한 수준으로 상기 에지 데이터를 필터링하여 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 제공할 수 있도록 설계된 상기 서비스 아웃포스트(400)의 상기 위협 감지 서비스를 담당하는 아웃포스트 모델이 본 협업 시스템에 적용되고 상기 아웃포스트 모델을 위한 상기 트리거링 데이터 검출 기준이 정해질 수 있다. 또한, A 지역 거주민의 일반적인 말투, 억양, 행동을 고려하여 상기 필터링된 에지 데이터로부터 위협 감지 여부를 추론할 수 있도록 설계된 상기 에지 추론기(500)의 상기 위협 감지 서비스를 담당하는 에지 모델 및/또는 상기 클라우드 추론기(700)의 상기 위협 감지 서비스를 담당하는 클라우드 모델이 본 협업 시스템에 적용될 수 있다.
그런데, 상기 차량(100)이 B 지역을 지나 C 지역으로 이동한다고 가정을 하자. 그리고, C 지역 거주민의 말투, 억양, 행동은 대체로 거칠다고 가정하자. 그리고, 상기 차량(100)은 계속 위협 감지 서비스를 제공하고 있는 것으로 가정하자.
그렇다면, 상기 위협 감지 서비스를 제공함에 있어서 A 지역에 맞도록 설계된 본 협업 시스템이 C 지역에서도 그대로 실행된다면, 실제로 위협이 아닌 상황인데도 위협인 것으로 추론되는 경우가 많아질 수 있다. 이는 위협 감지를 잘못 추론하여 상기 위협 감지 서비스의 신뢰성을 저하시킬 뿐만 아니라, 불필요한 추론을 유발하여 연산 시스템 자원을 낭비할 우려가 있다.
따라서, 상기 차량(100)이 C 지역으로 진입하거나 소정 시간 이내에 곧 진입할 것으로 예상되면, 상기 협업 매니저(600)는 C 지역에 적합하도록 상기 트리거링 데이터 검출 기준을 변경할 수 있다. 예를 들면, C 지역에서는 A 지역에서보다 좀더 과격한 말투, 억양, 행동에 기반한 에지 데이터가 필터링되어 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 제공될 수 있도록 상기 트리거링 데이터 검출 기준을 변경할 수 있다. 상기 변경된 트리거링 데이터 검출 기준은, 상기 협업 매니저(600)가 상기 C 지역에 주로 운행되는 다른 차량들을 기반으로 사전에 설정해둔 것일 수 있다.
또한, 상기 협업 매니저(600)는, C 지역 거주민의 일반적인 말투, 억양, 행동을 고려하여 적절한 수준으로 상기 에지 데이터를 필터링하여 상기 에지 추론기(500) 또는 상기 클라우드 추론기(700)로 제공할 수 있도록 설계된 상기 위협 감지 서비스를 담당하는 아웃포스트 모델을 상기 서비스 아웃포스트(400)에 새롭게 배포할 수 있다. 즉, C 지역에 적합하도록 상기 서비스 아웃포스트(400)의 상기 위협 감지 서비스를 담당하는 아웃포스트 모델이 업데이트될 수 있다.
또한, 상기 협업 매니저(600)는, C 지역 거주민의 일반적인 말투, 억양, 행동을 고려하여 상기 필터링된 에지 데이터로부터 위협 감지 여부를 추론할 수 있도록 설계된 상기 위협 감지 서비스를 담당하는 에지 모델 및/또는 클라우드 모델을 상기 에지 추론기(500) 및/또는 상기 클라우드 추론기(700)에 새롭게 배포할 수 있다. 즉, C 지역에 적합하도록 상기 에지 추론기(500)의 상기 위협 감지 서비스를 담당하는 에지 모델 및/또는 상기 클라우드 추론기(700)의 상기 위협 감지 서비스를 담당하는 클라우드 모델이 업데이트될 수 있다.
상기 업데이트 되는 아웃포스트 모델, 에지 모델, 및 클라우드 모델 중 적어도 하나는 상기 C 지역에 주로 운행되는 다른 차량들을 기반으로 사전에 설계되어 있는 것일 수 있다.
상기 차량(100)이 이미 C 지역에 진입하였는데도 C 지역을 위한 상기 에지 모델이 상기 에지 추론기(500)에 설치 완료되지 않은 경우도 있을 수 있다. 이 경우에는, 상기 에지 모델이 상기 에지 추론기(500)에 설치되는 동안에 상기 에지 데이터는 상기 클라우드 추론기(700)로 전송되어 상기 위협 감지 서비스를 위한 추론 위치가 상기 클라우드 추론기(700)가 되도록 하고, 상기 에지 모델이 상기 에지 추론기(500)에 설치 완료되면 상기 에지 데이터는 상기 에지 추론기(500)로 전송되어 상기 위협 감지 서비스를 위한 추론 위치가 상기 클라우드 추론기(500)가 되도록 할 수도 있다.
상기 차량(100)이 C 지역에서의 운행 이후 다시 A 지역으로 돌아가면, A 지역 특성에 맞도록 상기 위협 감지 서비스가 제공될 수 있도록 본 협업 시스템의 구성 및 트리거링 데이터 검출 기준이 원래대로 복원될 수 있음은 물론이다.
전술한 본 개시는, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 인공 지능 기기의 프로세서(180)를 포함할 수도 있다.

Claims (20)

  1. 에지 디바이스와 통신 가능한 클라우드 서버로서,
    상기 에지 디바이스로부터 추론용 입력데이터로서 에지 데이터를 입력 받아서 상기 에지 디바이스가 제공하기 위한 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 클라우드 인공지능 모델을 포함하는 클라우드 추론기; 및
    상기 클라우드 추론기로부터 수신하는 상기 클라우드 추론기의 로그 정보 및 상기 에지 디바이스에 구비된 에지 추론기로부터 수신하는 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여 상기 클라우드 추론기의 구성을 변경하기 위한 협업 매니저;를 포함하는 클라우드 서버.
  2. 제 1 항에 있어서, 상기 협업 매니저는,
    상기 클라우드 추론기의 로그 정보 및 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여 상기 에지 추론기의 구성을 변경하고,
    상기 변경된 에지 추론기의 구성에 관한 정보를 상기 에지 디바이스로 전송하는 것을 특징으로 하는 클라우드 서버.
  3. 제 2 항에 있어서, 상기 협업 매니저는,
    상기 에지 디바이스에 구비된 에지 추론기로부터 수신하는 상기 에지 추론기의 로그 정보 중 적어도 하나에 기반하여, 상기 에지 데이터로부터 트리거링 데이터를 검출하기 위한 상기 에지 디바이스의 서비스 아웃포스트의 구성을 변경하고,
    상기 변경된 서비스 아웃포스트의 구성에 관한 정보를 상기 에지 디바이스로 전송하는 것을 특징으로 하는 클라우드 서버.
  4. 제 1 항에 있어서, 상기 협업 매니저는,
    상기 클라우드 서버 및 상기 에지 디바이스에서의 상기 에지 데이터의 흐름에 관한 데이터 흐름 설정을 생성하고,
    상기 생성된 데이터 흐름 설정을 상기 에지 디바이스로 전송하는 것을 특징으로 하는 클라우드 서버.
  5. 제 2 항에 있어서, 상기 협업 매니저는,
    상기 복수의 서비스들의 각 서비스에 대한 에지 추론기 적용 적합도에 기반하여, 상기 복수의 서비스들의 우선순위를 정하고,
    상기 우선순위에 따라 상기 복수의 서비스들의 한 서비스씩 요구 자원 및 상기 에지 디바이스의 가용 자원을 비교하여 추론 위치를 정하고,
    상기 복수의 서비스들의 각 서비스에 대한 추론 위치에 기반하여 상기 클라우드 추론기 및 상기 에지 추론기 중 적어도 하나의 구성을 변경하는 것을 특징으로 하는 클라우드 서버.
  6. 제 5 항에 있어서, 상기 협업 매니저는,
    각 서비스에 있어서 사전 준비된 항목별 에지 추론기 적합도 파라미터에 사전 준비된 항목별 가중치를 곱한 값을 모든 항목에 대해 합산함으로써 각 서비스에 대한 에지 추론기 적용 적합도를 계산하는 것을 특징으로 하는 클라우드 서버.
  7. 제 6 항에 있어서,
    상기 항목별 가중치는 평상시와 비상시에 서로 다른 값을 가질 수 있어서 평상시 각 서비스에 대한 에지 추론기 적용 적합도는 비상시 각 서비스에 대한 에지 추론기 적용 적합도와 달라질 수 있는 것을 특징으로 하는 클라우드 서버.
  8. 제 5 항에 있어서, 상기 협업 매니저는,
    상기 구성의 변경을 일정 시간 간격으로 수행하거나, 소정 이벤트 발생시 수행하는 것을 특징으로 하는 클라우드 서버.
  9. 제 5 항에 있어서,
    상기 변경된 구성을 출력하여 사용자로부터 상기 최적화된 구성에 대해 승인을 받기 위한 협업 유저인터페이스를 더욱 포함하고, 상기 협업 매니저는,
    상기 협업 유저인터페이스를 통해 사용자로부터 상기 변경된 구성에 대해 승인을 받은 후에 상기 변경된 구성을 상기 클라우드 서버 및 상기 에지 디바이스 중 적어도 하나에 적용하는 것을 특징으로 하는 클라우드 서버.
  10. 제 2 항에 있어서, 상기 협업 매니저는,
    상기 에지 디바이스의 용도가 달라짐에 따라 상기 에지 추론기의 구성을 더욱 변경하는 것을 특징으로 하는 클라우드 서버.
  11. 제 2 항에 있어서, 상기 협업 매니저는,
    신규 서비스 제공을 위한 최초 추론 위치를 상기 클라우드 추론기로 정하고,
    상기 신규 서비스 제공 후 소정 시간이 경과되면 상기 추론 위치를 상기 에지 추론기로 변경하는 것을 특징으로 하는 클라우드 서버.
  12. 제 2 항에 있어서, 상기 협업 매니저는,
    상기 에지 디바이스와는 통신 환경에 기반하여 특정 서비스에 대한 추론 위치를 정하는 것을 특징으로 하는 클라우드 서버.
  13. 클라우드 서버와 통신 가능한 에지 디바이스로서,
    상기 에지 디바이스가 제공하는 복수의 서비스들 각각에 대해 적어도 하나의 센서에 의해 수집되는 에지 데이터의 흐름을 관장하는 서비스 코디네이터; 및
    상기 에지 데이터를 추론용 입력 데이터로서 입력 받아서 상기 복수의 서비스들 중 적어도 하나의 서비스 각각에 대해 추론 결과를 출력하기 위한 적어도 하나의 에지 인공지능 모델을 구비할 수 있는 에지 추론기;를 포함하고,
    상기 클라우드 서버로부터 수신하는 구성 정보에 따라 상기 에지 추론기의 구성이 변경될 수 있는 에지 디바이스.
  14. 제 13 항에 있어서,
    상기 에지 데이터로부터 트리거링 데이터를 검출하기 위한 서비스 아웃포스트를 더욱 포함하는 것을 특징으로 하는 에지 디바이스.
  15. 제 14 항에 있어서,
    상기 클라우드 서버로부터 수신하는 구성 정보에 따라 상기 서비스 아웃포스트의 구성이 변경될 수 있는 것을 특징으로 하는 에지 디바이스.
  16. 제 14 항에 있어서, 상기 서비스 코디네이터는,
    상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기 또는 상기 클라우드 서버의 클라우드 추론기로 전송하는 것을 특징으로 하는 에지 디바이스.
  17. 제 14 항에 있어서, 상기 서비스 아웃포스트는,
    상기 에지 데이터의 특징을 추출하도록 상기 에지 데이터를 가공하고,
    상기 서비스 코디네이터는,
    상기 트리거링 데이터가 검출된 시점으로부터 소정 시간 동안 상기 가공된 에지 데이터를 추론용 입력 데이터로서 상기 에지 추론기 또는 상기 클라우드 서버의 클라우드 추론기로 전송하는 것을 특징으로 하는 에지 디바이스.
  18. 제 15 항에 있어서, 상기 서비스 코디네이터는,
    상기 적어도 하나의 센서로부터 에지 데이터를 수신하고,
    복수의 서비스들 중에서 상기 수신된 에지 데이터에 해당하는 대상 서비스를 확인하고,
    상기 서비스 아웃포스트를 통해 상기 트리거링 데이터가 검출되면, 상기 대상 서비스에 해당하는 추론 위치를 확인하고,
    상기 에지 추론기 및 상기 클라우드 서버의 클라우드 추론기 중에서 상기 추론 위치에 부합하는 추론기로 상기 에지 데이터를 전송하는 것을 특징으로 하는 에지 디바이스.
  19. 제 18 항에 있어서, 상기 서비스 코디네이터는,
    상기 클라우드 서버로부터 수신하는 데이트 흐름 설정에 관한 정보에 기반하여 상기 대상 서비스에 해당하는 추론 위치를 확인하는 것을 특징으로 하는 에지 디바이스.
  20. 제 14 항에 있어서,
    상기 에지 디바이스의 위치에 따라서 상기 트리거링 데이터를 검출하는 기준이 변경되는 것을 특징으로 하는 에지 디바이스.
PCT/KR2022/008387 2022-03-18 2022-06-14 에지 및 클라우드 간 협업 시스템 및 방법 WO2023177019A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220033973 2022-03-18
KR10-2022-0033973 2022-03-18

Publications (1)

Publication Number Publication Date
WO2023177019A1 true WO2023177019A1 (ko) 2023-09-21

Family

ID=88023469

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/KR2022/008386 WO2023177018A1 (ko) 2022-03-18 2022-06-14 에지 및 클라우드 간 협업 시스템 및 방법
PCT/KR2022/008387 WO2023177019A1 (ko) 2022-03-18 2022-06-14 에지 및 클라우드 간 협업 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/008386 WO2023177018A1 (ko) 2022-03-18 2022-06-14 에지 및 클라우드 간 협업 시스템 및 방법

Country Status (1)

Country Link
WO (2) WO2023177018A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090141B1 (ko) * 2019-12-06 2020-03-18 한국건설기술연구원 영상을 포함한 데이터 분산처리 서버 장치
KR20210056708A (ko) * 2019-11-11 2021-05-20 엘지전자 주식회사 서버의 워크로드 분산 방법, 차량의 서버 워크로드 지원 방법 및 서버 워크로드 지원 차량
KR102308105B1 (ko) * 2019-05-20 2021-10-01 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR102318533B1 (ko) * 2020-06-29 2021-10-28 인하대학교 산학협력단 Gpu기반 임베디드 에지 서버 구성과 신경망 서비스 활용 방법 및 시스템
KR102341377B1 (ko) * 2019-11-27 2021-12-20 주식회사 가토랩 딥러닝 프라이빗 클라우드 서비스 시스템의 서비스 제공 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308105B1 (ko) * 2019-05-20 2021-10-01 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20210056708A (ko) * 2019-11-11 2021-05-20 엘지전자 주식회사 서버의 워크로드 분산 방법, 차량의 서버 워크로드 지원 방법 및 서버 워크로드 지원 차량
KR102341377B1 (ko) * 2019-11-27 2021-12-20 주식회사 가토랩 딥러닝 프라이빗 클라우드 서비스 시스템의 서비스 제공 방법
KR102090141B1 (ko) * 2019-12-06 2020-03-18 한국건설기술연구원 영상을 포함한 데이터 분산처리 서버 장치
KR102318533B1 (ko) * 2020-06-29 2021-10-28 인하대학교 산학협력단 Gpu기반 임베디드 에지 서버 구성과 신경망 서비스 활용 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JING, TAO ET AL.: "Deep Learning-Based Cloud–Edge Collaboration Framework for Remaining Useful Life Prediction of Machinery", IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, vol. 18, no. 10, 28 December 2021 (2021-12-28), pages 7208 - 7218, XP009548590 *

Also Published As

Publication number Publication date
WO2023177018A1 (ko) 2023-09-21

Similar Documents

Publication Publication Date Title
WO2020213750A1 (ko) 객체를 인식하는 인공 지능 장치 및 그 방법
WO2020241922A1 (ko) 차량 제어 장치
WO2021010509A1 (ko) 인공지능 조리 기기
WO2020246643A1 (ko) 서빙 로봇 및 그를 이용한 고객 접대 방법
WO2021006366A1 (ko) 디스플레이 패널의 색상을 조정하는 인공 지능 장치 및 그 방법
WO2018117631A1 (en) Electronic apparatus and method of operating the same
WO2021029457A1 (ko) 사용자에게 정보를 제공하는 인공 지능 서버 및 그 방법
WO2019225961A1 (en) Electronic device for outputting response to speech input by using application and operation method thereof
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2020184748A1 (ko) 교통 정보에 기반한 오토 스탑 시스템을 제어하는 인공 지능 장치 및 그 방법
WO2021006404A1 (ko) 인공지능 서버
WO2021025217A1 (ko) 인공지능 서버
WO2020213758A1 (ko) 음성으로 상호작용하는 인공 지능 장치 및 그 방법
WO2020204221A1 (ko) 공기 조화기
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2020246647A1 (ko) 인공 지능 시스템의 동작을 관리하는 인공 지능 장치 및 그 방법
EP3682415A1 (en) Image acquisition device and method of controlling the same
WO2020184747A1 (ko) 오토 스탑 시스템을 제어하는 인공 지능 장치 및 그 방법
WO2020246640A1 (ko) 사용자의 위치를 결정하는 인공 지능 장치 및 그 방법
WO2021125453A1 (ko) 인공 지능 냉장고
EP3539113A1 (en) Electronic apparatus and method of operating the same
WO2019135621A1 (ko) 영상 재생 장치 및 그의 제어 방법
WO2020184753A1 (ko) 음성 추출 필터를 이용하여 음성 제어를 수행하는 인공 지능 장치 및 그 방법
WO2020145625A1 (ko) 인공 지능 장치 및 그의 동작 방법
WO2020184746A1 (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: 22932386

Country of ref document: EP

Kind code of ref document: A1