Method for event probability prediction using heatmap

The method enhances event prediction accuracy for target objects by using object-specific heatmaps and neural networks to analyze and generate virtual heatmaps, addressing the limitations of existing heatmap analysis techniques.

KR102991704B1Active Publication Date: 2026-07-15SAFE AI CO LTD

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
SAFE AI CO LTD
Filing Date
2025-05-29
Publication Date
2026-07-15

AI Technical Summary

Technical Problem

Existing methods struggle to analyze and predict information about specific objects from heatmaps that include the movement of all objects, making it difficult to accurately predict events for target objects.

Method used

A method using a computing device to acquire object-specific heatmaps and predict the probability of events for target objects through a neural network model, involving steps like acquiring feature vectors, calculating similarities, and generating virtual heatmaps for missing regions.

Benefits of technology

Increases the accuracy of predictions for target objects by utilizing object-specific heatmaps, enabling precise event probability forecasting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 112025060694916-PAT00044_ABST
    Figure 112025060694916-PAT00044_ABST
Patent Text Reader

Abstract

A method for predicting the probability of an event occurring using a heatmap, performed by a computing device according to one embodiment of the present disclosure, is disclosed. The method comprises the steps of acquiring a plurality of images, acquiring an object-specific heatmap based on the plurality of images, and predicting the probability of an event occurring of a target object based on the object-specific heatmap using a neural network model.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to a method for predicting the probability of an event occurring using a heatmap, and more specifically, to a method for predicting the probability of an event occurring based on an object-specific heatmap. Background Technology

[0003] A heatmap is a word formed by combining "heat" and "map." A heatmap is characterized by displaying various information that can be expressed in color as a visual graphic in the form of heat distribution over an image.

[0004] Heatmaps are utilized in various fields because they intuitively display the spatial distribution of data and can aid in decision-making. In particular, heatmaps are widely used in the field of market intelligence because they can identify the movement paths of moving objects.

[0005] However, it is difficult to analyze and predict information about a specific object from a heatmap that includes the movement of all objects.

[0006] Korean Patent Publication No. 10-2019-0090960 (Publication Date: August 5, 2019) discloses an apparatus and method for generating a heatmap based on a region of interest. The problem to be solved

[0008] The present disclosure relates to a method for predicting the probability of an event occurring in a target object based on an object-specific heatmap.

[0009] Meanwhile, the technical problem that the present disclosure aims to solve is not limited to the technical problem mentioned above, and various technical problems may be included within the scope obvious to a person skilled in the art from the contents described below. means of solving the problem

[0011] A method for predicting the probability of an event occurring using a heatmap, performed by a computing device to solve the aforementioned problem, is disclosed. The method may include the steps of acquiring a plurality of images, acquiring an object-specific heatmap based on the plurality of images, and predicting the probability of an event occurring for a target object based on the object-specific heatmap using a neural network model.

[0012] In one embodiment, the step of predicting the probability of an event occurring of a target object based on the object-specific heatmap may include the step of obtaining a heatmap of the target object based on heatmap information corresponding to a region of interest among a plurality of segmented regions.

[0013] In one embodiment, the step of acquiring a heatmap of the target object may include the step of acquiring an object-specific feature vector from the heatmap information corresponding to the region of interest, the step of calculating the similarity between the object-specific feature vector and a reference vector, and the step of acquiring a heatmap corresponding to a feature vector whose similarity is greater than or equal to a threshold value as the heatmap of the target object.

[0014] In one embodiment, the feature vector may include at least one of a first feature vector corresponding to movement path information and a second feature vector corresponding to dwell time.

[0015] In one embodiment, the step of acquiring a heat map corresponding to a feature vector having a similarity greater than or equal to a threshold value as a heat map of the target object may include the step of acquiring at least one candidate region among the plurality of segmented regions where the movement of the target object is detected, and the step of acquiring a candidate heat map corresponding to the at least one candidate region as a heat map of the target object.

[0016] In one embodiment, the step of acquiring a heat map corresponding to a feature vector having a similarity greater than or equal to a threshold value as a heat map of the target object may include: acquiring at least one candidate region among the plurality of segmented regions where the movement of the target object is detected; acquiring a candidate heat map corresponding to the at least one candidate region; generating a virtual heat map corresponding to at least one missing region where the movement of the target object is not detected; and acquiring the candidate heat map and the virtual heat map as a heat map of the target object.

[0017] In one embodiment, the step of generating a virtual heatmap corresponding to at least one missing region may include the step of acquiring a plurality of heatmaps prior to the prediction time of the target object, and the step of predicting a virtual heatmap for the prediction time based on the plurality of heatmaps prior to the prediction time.

[0018] In one embodiment, the step of generating a virtual heatmap corresponding to the at least one missing region may include the step of obtaining a heatmap of a non-target object associated with a candidate heatmap of the target object among the object-specific heatmaps, and the step of predicting a virtual heatmap corresponding to the at least one missing region based on the heatmap of the non-target object.

[0019] In one embodiment, the step of acquiring a heatmap of the non-target object may include acquiring a heatmap having heatmap information most similar to the candidate heatmap of the target object among the heatmaps for each object as the heatmap of the non-target object.

[0020] In one embodiment, the heatmap information may include at least one of movement path information and dwell time information.

[0021] A computer program stored on a computer-readable storage medium for solving the aforementioned problem is disclosed. When the computer program is executed by at least one processor, the at least one processor is made to perform the following operations, and the operations may include the operation of acquiring a plurality of images, the operation of acquiring an object-specific heatmap based on the plurality of images, and the operation of predicting the probability of an event occurring of a target object based on the object-specific heatmap using a neural network model.

[0022] In addition, a computing device for solving the aforementioned problem is disclosed. The computing device includes at least one processor and memory, and the at least one processor may be configured to acquire a plurality of images, acquire an object-specific heatmap based on the plurality of images, and predict the probability of an event occurring of a target object based on the object-specific heatmap using a neural network model. Effects of the invention

[0024] The present disclosure has the effect of increasing the accuracy of predictions for target objects by predicting the probability of event occurrence of target objects based on object-specific heatmaps.

[0025] Meanwhile, the effects of the present disclosure are not limited to those mentioned above, and various effects may be included within the scope obvious to a person skilled in the art from the contents described below. Brief explanation of the drawing

[0027] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure. FIG. 2 illustrates an exemplary structure of an artificial intelligence-based model according to one embodiment of the present disclosure. FIG. 3 is an environment analysis device utilizing a heatmap according to one embodiment of the present disclosure. FIG. 4 is a conceptual diagram for explaining an object-specific heatmap according to one embodiment of the present disclosure. FIGS. 5 and 6 are drawings for explaining a method for reconstructing a heatmap of a target object according to one embodiment of the present disclosure. FIGS. 7 and FIGS. 8 are drawings for explaining a method for reconstructing a heatmap of a target object according to another embodiment of the present disclosure. FIG. 9 is a drawing for explaining an environmental analysis method using a heatmap according to one embodiment of the present disclosure. FIG. 10 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented. Specific details for implementing the invention

[0028] Various embodiments are now described with reference to the drawings. In this disclosure, various descriptions are provided to facilitate understanding of the disclosure. However, it is evident that these embodiments can be practiced without such specific descriptions.

[0029] As used in this disclosure, terms such as “component,” “module,” “system,” etc. refer to computer-related entities, hardware, firmware, software, combinations of software and hardware, or executions of software. For example, a component may be, but is not limited to, a procedure executed on a processor, a processor, an object, an execution thread, a program, and / or a computer. For example, both an application executed on a computing device and the computing device itself may be a component. One or more components may reside within a processor and / or an execution thread. A component may be localized within a single computer. A component may be distributed among two or more computers. Additionally, these components may be executed from various computer-readable media having various data structures stored therein. Components may communicate through local and / or remote processes, for example, according to signals having one or more data packets (e.g., data from a component interacting with another component in a local system or distributed system, and / or data transmitted through signals to other systems and networks such as the Internet).

[0030] Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or evident from the context, "X uses A or B" is intended to mean one of the natural inclusive substitutions. In other words, if X uses A; if X uses B; or if X uses both A and B, "X uses A or B" may apply to any of these cases.

[0031] Additionally, the terms “comprising” and / or “comprising” should be understood to mean that such features and / or components are present. However, the terms “comprising” and / or “comprising” should be understood not to exclude the presence or addition of one or more other features, components and / or groups thereof. Furthermore, unless otherwise specified or clearly evident from the context to indicate a singular form, the singular in this disclosure and claims should generally be interpreted to mean “one or more.”

[0032] And, the term “at least one of A or B” should be interpreted to mean “a case including only A,” “a case including only B,” or “a case combined with the composition of A and B.”

[0033] Those skilled in the art should recognize that the various exemplary logical blocks, configurations, modules, circuits, means, logics, and algorithmic steps described in connection with the embodiments disclosed herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly exemplify the interchangeability of hardware and software, various exemplary components, blocks, configurations, means, logics, modules, circuits, and steps have been generally described above in terms of their functionality. Whether such functionality is implemented in hardware or software depends on the specific application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each specific application. However, such decisions regarding implementation should not be construed as going beyond the scope of this disclosure.

[0034] Description of the presented embodiments is provided to enable those skilled in the art to use or practice the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein. The present disclosure should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

[0036] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.

[0037] The configuration of the computing device (100) illustrated in FIG. 1 is merely a simplified example. In one embodiment of the present disclosure, the computing device (100) may include other configurations for performing the computing environment of the computing device (100), and only some of the disclosed configurations may constitute the computing device (100).

[0038] The computing device (100) may include a processor (110), memory (130), and a network unit (150).

[0039] The processor (110) may be composed of one or more cores and may include processors for data analysis and deep learning, such as a central processing unit (CPU) of a computing device, a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU). The processor (110) may read a computer program stored in memory (130) and perform data processing for machine learning according to one embodiment of the present disclosure. According to one embodiment of the present disclosure, the processor (110) may perform operations for training a neural network model. The processor (110) may perform calculations for training a neural network model, such as processing input data for training in deep learning (DL), extracting features from input data, calculating errors, and updating weights of the neural network model using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) may process the training of the neural network model. For example, a CPU and a GPGPU can work together to process the training of a neural network model and the classification of data using the neural network model. Additionally, in one embodiment of the present disclosure, processors of a plurality of computing devices can be used together to process the training of a neural network model and the classification of data using the neural network model. Furthermore, a computer program executed on a computing device according to one embodiment of the present disclosure may be a CPU, GPGPU, or TPU executable program.

[0041] A computing device (100) according to one embodiment of the present disclosure may refer to an environment analysis device (200). The environment analysis device (200) can generate an object-specific heatmap based on a plurality of images and predict the probability of an event occurring for a target object based on the object-specific heatmap.

[0042] For example, the environmental analysis device (200) can be used to identify an accomplice among multiple people in an analysis related to a crime. Additionally, the environmental analysis device (200) can be used to predict whether an accident has occurred or the likelihood of an accident occurring for a specific person among multiple people in an analysis related to an accident. Additionally, the environmental analysis device (200) can be used to predict whether a specific product among multiple products is suitable as a product to recommend to a customer in an analysis related to market intelligence.

[0043] The environment analysis device (200) can generate an object-specific heatmap using initial recognition information capable of identifying objects. The environment analysis device (200) can identify a target object of interest based on the object-specific heatmap. The environment analysis device (200) can acquire a heatmap of the target object and predict the probability of an event occurring for the target object using the heatmap of the target object. Accordingly, the environment analysis device (200) has the effect of increasing the accuracy of the prediction regarding the probability of an event occurring for the target object in a heatmap containing heatmap information of multiple objects.

[0045] According to one embodiment of the present disclosure, the memory (130) can store any form of information generated or determined by the processor (110) and any form of information received by the network unit (150).

[0046] According to one embodiment of the present disclosure, the memory (130) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, a magnetic disk, and an optical disk. The computing device (100) may operate in conjunction with web storage that performs the storage function of the memory (130) on the internet. The description of the memory described above is merely an example and the present disclosure is not limited thereto.

[0047] A network unit (150) according to one embodiment of the present disclosure can use various wired communication systems such as a public switched telephone network (PSTN), xDSL (x Digital Subscriber Line), RADSL (Rate Adaptive DSL), MDSL (Multi Rate DSL), VDSL (Very High Speed ​​DSL), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and a local area network (LAN).

[0048] In addition, the network unit (150) presented according to one embodiment of the present disclosure may use various wireless communication systems such as CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier-FDMA), and other systems.

[0049] In one embodiment, the network unit (150) may be configured regardless of the communication mode, such as wired or wireless, and may be configured as various communication networks, such as a Personal Area Network (PAN) or a Wide Area Network (WAN). Additionally, the network may be a known World Wide Web (WWW) and may utilize wireless transmission technologies used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth. The technologies described in this disclosure may be used in networks other than those mentioned above.

[0051] FIG. 2 illustrates an exemplary structure of an artificial intelligence-based model according to one embodiment of the present disclosure.

[0052] Throughout this specification, artificial intelligence model, artificial intelligence-based model, computational model, neural network, network function, and neural network may be used interchangeably.

[0053] A neural network can be composed of a set of interconnected computational units that may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network is composed of at least one node. The nodes (or neurons) constituting neural networks may be interconnected by one or more links.

[0054] In a neural network, one or more nodes connected via links can form relative input and output node relationships. The concepts of input and output nodes are relative; any node in an output node relationship with respect to one node may be in an input node relationship with respect to another node, and vice versa. As described above, the input node versus output node relationship can be generated based on links. One or more output nodes may be connected to a single input node via links, and vice versa.

[0055] In a relationship between an input node and an output node connected through a single link, the value of the output node's data can be determined based on the data input to the input node. Here, the link interconnecting the input node and the output node may have a weight. The weight can be variable and can be varied by the user or an algorithm to enable the neural network to perform the desired function. For example, if one or more input nodes are interconnected to a single output node by respective links, the output node's value can be determined based on the values ​​input to the input nodes connected to the output node and the weights set on the links corresponding to each input node.

[0056] As described above, a neural network consists of one or more nodes interconnected through one or more links, forming input-output node relationships within the network. The characteristics of a neural network can be determined by the number of nodes and links within the network, the relationships between the nodes and links, and the weight values ​​assigned to each link. For example, if two neural networks exist with the same number of nodes and links but different weight values ​​for the links, the two neural networks may be recognized as different from each other.

[0057] A neural network can be composed of a set of one or more nodes. A subset of nodes constituting a neural network can form a layer. Some of the nodes constituting a neural network can form a layer based on their distances from an initial input node. For example, a set of nodes with a distance of n from an initial input node can form n layers. The distance from the initial input node can be defined by the minimum number of links that must be traversed to reach that node from the initial input node. However, this definition of a layer is arbitrary for illustrative purposes, and the degree of a layer within a neural network can be defined in a way different from that described above. For example, a layer of nodes may be defined by its distance from a final output node.

[0058] In one embodiment of the present disclosure, a set of neurons or nodes may be defined by the expression a layer.

[0059] Initial input nodes may refer to one or more nodes within a neural network to which data is directly input without passing through links in their relationships with other nodes. Alternatively, in terms of link-based relationships between nodes within the neural network, they may refer to nodes that do not have other input nodes connected by links. Similarly, final output nodes may refer to one or more nodes within a neural network that do not have output nodes in their relationships with other nodes. Furthermore, hidden nodes may refer to nodes constituting the neural network that are neither initial input nodes nor final output nodes.

[0060] A neural network according to one embodiment of the present disclosure may have the number of nodes in the input layer equal to the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases and then increases again as it progresses from the input layer to the hidden layer. Additionally, a neural network according to another embodiment of the present disclosure may have the number of nodes in the input layer less than the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases as it progresses from the input layer to the hidden layer. Additionally, a neural network according to yet another embodiment of the present disclosure may have the number of nodes in the input layer greater than the number of nodes in the output layer, and may be a neural network in which the number of nodes increases as it progresses from the input layer to the hidden layer. A neural network according to yet another embodiment of the present disclosure may be a neural network in which the above-described neural networks are combined.

[0061] An artificial intelligence-based model according to one embodiment of the present disclosure may include a deep neural network (DNN). A deep neural network may refer to a neural network that includes a plurality of hidden layers in addition to an input layer and an output layer. By using a deep neural network, latent structures of data can be identified. That is, latent structures of photos, text, video, voice, protein sequence structures, gene sequence structures, peptide sequence structures, music (e.g., what objects are in the photo, what is the content and emotion of the text, what is the content and emotion of the voice, etc.), and / or binding affinity between peptides and MHCs can be identified. Deep neural networks may include convolutional neural networks (CNN), recurrent neural networks (RNN), autoencoders (AE), variational autoencoders (VAE), restricted Boltzmann machines (RBM), deep belief networks (DBN), Q networks, U networks, Siamese networks, Generative Adversarial Networks (GAN), Transformers, etc. The description of deep neural networks described above is merely illustrative and the present disclosure is not limited thereto.

[0062] The artificial intelligence-based model of the present disclosure may be represented by a network structure of any structure described above, including an input layer, a hidden layer, and an output layer.

[0063] A neural network that can be used in an artificial intelligence-based model of the present disclosure may be trained in at least one of supervised learning, unsupervised learning, semi-supervised learning, transfer learning, active learning, or reinforcement learning. Training of a neural network may be a process of applying knowledge to the neural network to perform a specific operation.

[0064] Neural networks can be trained to minimize the error in their output. The training process involves repeatedly inputting training data into the network, calculating the error between the network's output and the target for the training data, and updating the weights of each node by backpropagating the error from the output layer to the input layer in a direction that reduces the error. In supervised learning, training data is used where the correct answer is labeled for each data point (i.e., labeled training data), whereas in unsupervised learning, the correct answer may not be labeled for each training data point. For instance, in the case of supervised learning for data classification, the training data may consist of data where each training point is labeled with a category. Labeled training data is input into the neural network, and the error can be calculated by comparing the network's output (category) with the labels of the training data. As another example, in the case of unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network's output. The calculated error is backpropagated in the neural network (i.e., from the output layer to the input layer), and through backpropagation, the connection weights of each node in each layer of the neural network can be updated. The amount of change in the connection weights of each node being updated can be determined by the learning rate. The neural network's calculation of the input data and the backpropagation of the error can constitute a learning cycle (epoch). The learning rate can be applied differently depending on the number of iterations of the neural network's learning cycle. For example, a high learning rate can be used in the early stages of training to quickly achieve a certain level of performance and increase efficiency, while a low learning rate can be used in the later stages to improve accuracy.

[0065] In the training of neural networks, the training data is generally a subset of the real-world data (i.e., the data intended to be processed using the trained neural network). Consequently, a training cycle may exist where errors decrease on the training data but increase on the real-world data. Overfitting is a phenomenon where the network learns excessively on the training data, leading to increased errors on the real-world data. For example, a neural network trained on yellow cats might fail to recognize cats when seeing anything other than yellow, which can be considered a type of overfitting. Overfitting can act as a cause for increased errors in machine learning algorithms. Various optimization methods can be used to prevent this overfitting. To prevent overfitting, methods such as increasing the training data, regularization, dropout (which disables some nodes in the network during training), and the use of batch normalization layers can be applied.

[0067] FIG. 3 is an environment analysis device utilizing a heatmap according to one embodiment of the present disclosure.

[0068] Referring to FIG. 3, the environment analysis device (200) can generate an object-specific heatmap based on a plurality of images and predict the probability of an event occurring for a target object based on the object-specific heatmap. The environment analysis device (200) may include a heatmap generator (210), a heatmap selector (220), and a neural network model (230).

[0069] The heatmap generator (210) can acquire multiple images from the shooting device.

[0070] The heatmap generator (210) can detect objects included in an image by utilizing an object detection algorithm. The object detection algorithm may refer to a deep learning-based model such as YOLOv5, faster R-CNN, RetinaNet, etc.

[0071] The heatmap generator (210) can extract initial recognition information of a detected object by utilizing a feature extraction algorithm. The initial recognition information may refer to feature information capable of identifying an object, such as facial recognition information of an object included in an image or clothing color information of the object. For example, the heatmap generator (210) can detect an area containing the face of a detected object and extract feature information of the detected face image. The feature extraction algorithm may refer to a deep learning-based model such as FaceNet, VGG-Face, YOLOv5, faster R-CNN, etc.

[0072] The heatmap generator (210) can track the movement of an object by utilizing an object tracking algorithm. The object tracking algorithm may include a Deep SORT algorithm, etc. Based on the results of tracking the movement of the object, the heatmap generator (210) can generate movement path information and dwell time information of the object.

[0073] The heatmap generator (210) can generate a heatmap for each object using object movement information and dwell time information. The heatmap for each object may include heatmap information distinguished by object.

[0074] The heatmap selector (220) can obtain object-specific heatmaps (HM) from the heatmap generator (210). The heatmap selector (220) can select and output a heatmap of a target object containing heatmap information of a target object from a heatmap containing heatmap information of multiple objects, or can reconstruct the selected heatmap and output a reconstructed heatmap. For example, the heatmap selector (220) can select a target object that is of interest to or deemed important by the user, and output the heatmap of the selected object as the heatmap of the target object.

[0075] The neural network model (230) can obtain a heatmap (TM) of a target object from a heatmap selector (220). The neural network model (230) can predict the probability of an event occurring in the target object based on the heatmap (TM) of the target object. The neural network model (230) may be a classification model or a prediction model utilizing a multi-layer perceptron.

[0076] For example, the neural network model (230) can predict whether the target object is an accomplice or the probability that it is an accomplice. In this case, the neural network model (230) may be a model trained using the heatmap of the main culprit.

[0077] Additionally, the neural network model (230) can predict whether an accident has occurred to the target object or the likelihood of an accident occurring to the target object. In this case, the neural network model (230) may be a model trained using a heatmap of an accident victim.

[0078] Additionally, the neural network model (230) can predict, as a probability, whether a specific product is suitable as a product to be recommended to a target object. In this case, the neural network model (230) may be a model trained using a heatmap of a customer who purchased the specific product.

[0079] That is, the neural network model (230) may be a model learned using a heatmap of an object related to the target object.

[0080] According to one embodiment of the present disclosure, an environment analysis device (200) selects a target object from a heatmap containing heatmap information of a plurality of objects and can predict the probability of an event occurring for the target object based on the heatmap of the target object. Accordingly, there is an effect of increasing the accuracy of the prediction for the target object.

[0082] FIG. 4 is a conceptual diagram for explaining an object-specific heatmap according to one embodiment of the present disclosure.

[0083] Referring to FIG. 4, an object-specific heatmap (HM) according to one embodiment of the present disclosure may include heatmap information for a first object (A), heatmap information for a second object (B), heatmap information for a third object (C), and heatmap information for a fourth object (D). Here, the heatmap information may include movement path information and dwell time information. The movement path information is indicated as a curve, a dotted line, a single-dot dashed line, or a two-dot dashed line in FIG. 4, and the dwell time information may be indicated as a number or circular character.

[0084] The object-specific heatmap (HM) may include multiple segmented regions. The multiple segmented regions may be defined according to the shooting area or according to user input through a user interface.

[0085] Heatmap information may include coordinate information for each segmented area, movement path information and dwell time information distinguished by object for each segmented area. For example, an object-specific heatmap (HM) may include 16 segmented areas. The heatmap information for the first object (A) includes coordinate information (1,1) of the first area (R1), movement path information and dwell time information of the first object (A) corresponding to the first area, coordinate information (1,2) of the second area (R2), movement path information and dwell time information of the first object (A) corresponding to the second area, coordinate information (2,2) of the sixth area (R6), movement path information and dwell time information of the first object (A) corresponding to the sixth area, coordinate information (2,3) of the seventh area (R7), movement path information and dwell time information of the first object (A) corresponding to the seventh area, coordinate information (2,4) of the eighth area (R8), movement path information and dwell time information of the first object (A) corresponding to the eighth area, coordinate information (3,4) of the twelfth area (R12), movement path information and dwell time information of the first object (A) corresponding to the twelfth area, and coordinates of the fourteenth area (R14). Information (4,2), movement information and dwell time information of the first object (A) corresponding to the 14th area, coordinate information (4,3) of the 15th area (R15), movement information and dwell time information of the first object (A) corresponding to the 15th area, coordinate information (4,4) of the 16th area (R16), and movement information and dwell time information of the first object (A) corresponding to the 16th area may be included.

[0086] Each of the heatmap information for the second object (B), the heatmap information for the third object (C), and the heatmap information for the fourth object (D) may include coordinate information of the area where the movement of each object is detected, and movement path information and dwell time information corresponding to the coordinate information, just like the heatmap information for the first object (A).

[0087] Below, we will explain how the heatmap selector (120 in FIG. 3) outputs the heatmap of the target object in the object-specific heatmap (HM).

[0088] The heatmap selector (220) can select an object related to the region of interest among a plurality of divided regions (R1-R16) and output the heatmap of the selected object as the heatmap of the target object. The region of interest may be a pre-set region or may be set according to user input through a user interface. The region of interest may refer to a region that serves as a standard for selecting the target object.

[0089] According to the embodiment of FIG. 4, the region of interest can be set as the 7th region (R7).

[0090] First, the heatmap selector (220) can obtain object-specific feature vectors from heatmap information corresponding to the region of interest (R7). The heatmap information corresponding to the region of interest (R7) may include heatmap information corresponding to the region of interest (R7) for the first object (A), heatmap information corresponding to the region of interest (R7) for the second object (B), and heatmap information corresponding to the region of interest (R7) for the third object (C).

[0091] The heatmap selector (220) can obtain a feature vector for the first object (A) from heatmap information corresponding to the region of interest (R7). The heatmap selector (220) can obtain a first-1 feature vector corresponding to the movement path information of the first object (A) in the region of interest (R7). The heatmap selector (220) can obtain a first-2 feature vector corresponding to the dwell time information of the first object (A) in the region of interest (R7). The heatmap selector (220) can obtain at least one of the first-1 feature vector and the first-2 feature vector.

[0092] The heatmap selector (220) can obtain a feature vector for the second object (B) from heatmap information corresponding to the region of interest (R7). The heatmap selector (220) can obtain a 2-1 feature vector corresponding to the movement path information of the second object (B) in the region of interest (R7). The heatmap selector (220) can obtain a 2-2 feature vector corresponding to the dwell time information of the second object (B) in the region of interest (R7). The heatmap selector (220) can obtain at least one of the 2-1 feature vector and the 2-2 feature vector.

[0093] The heatmap selector (220) can obtain a feature vector for the third object (C) from heatmap information corresponding to the region of interest (R7). The heatmap selector (220) can obtain a third-1 feature vector corresponding to the movement path information of the third object (C) in the region of interest (R7). The heatmap selector (220) can obtain a third-2 feature vector corresponding to the dwell time information of the third object (C) in the region of interest (R7). The heatmap selector (220) can obtain at least one of the third-1 feature vector and the third-2 feature vector.

[0094] The heatmap selector (220) can calculate the similarity between the object-specific feature vector and the reference vector. The reference vector can be obtained from heatmap information corresponding to the region of interest (R7) for the reference object (R). The reference object (R) may refer to an object that serves as a reference for selecting the target object.

[0095] For example, in a situation where the principal offender has been apprehended but the accomplice has not yet been apprehended, it is necessary to analyze the relevant patterns of the principal offender to identify the accomplice, who is the target object. Therefore, in crime-related analysis, the reference object (R) may be the principal offender. The region of interest may be the area where the crime was committed by the principal offender.

[0096] In another embodiment, in order to determine whether a drowning accident has occurred or the likelihood of a drowning accident occurring at a beach or swimming pool where drowning accidents are frequent, it is necessary to analyze the patterns of drowners. Therefore, in the analysis related to the accident, the reference object (R) may be the accident victim. The region of interest may be the area where the accident victim's accident occurred.

[0097] In another embodiment, it is necessary to analyze the patterns of relevant customers in order to recommend personalized products. Therefore, in the analysis related to market intelligence, the reference object (R) may be another customer who has purchased a specific product to be recommended. The region of interest may be the region where the specific product is located or the region where the other customer has purchased the specific product.

[0098] The heatmap selector (220) can obtain a 4-1 reference vector corresponding to the movement path information of a reference object (R) in an area of ​​interest (R7). The heatmap selector (220) can obtain a 4-2 reference vector corresponding to the dwell time information of a reference object (R) in an area of ​​interest (R7). The heatmap selector (220) can obtain at least one of the 4-1 reference vector and the 4-2 reference vector.

[0099] The heatmap selector (220) can calculate a first similarity by comparing the feature vector of a first object (A) with the feature vector of a reference object (R). The heatmap selector (220) can calculate a second similarity by comparing the feature vector of a second object (B) with the feature vector of a reference object (R). The heatmap selector (220) can calculate a third similarity by comparing the feature vector of a third object (C) with the feature vector of a reference object (R).

[0100] The heatmap selector (220) can compare each similarity with a threshold value. The heatmap selector (220) can obtain a heatmap corresponding to a feature vector whose similarity is greater than or equal to the threshold value as the heatmap of the target object. In the embodiment illustrated in FIG. 4, the heatmap of the target object may be the heatmap of the first object (A).

[0101] According to embodiments, the heatmap selector (220) may select only the areas where the movement of the target object is detected from a heatmap of the target object including a plurality of divided areas as the heatmap of the target object. The heatmap selector (220) may obtain at least one candidate area where the movement of the target object is detected among the plurality of divided areas. The heatmap selector (220) may obtain a candidate heatmap corresponding to the at least one candidate area as the heatmap of the target object.

[0103] FIGS. 5 and 6 are drawings for explaining a method for reconstructing a heatmap of a target object according to one embodiment of the present disclosure.

[0104] First, referring to FIG. 5, the heatmap of a target object may include at least one missing area among a plurality of segmented areas (R1-R16) where the movement of the target object is not detected. The missing area may be an area where some of the data constituting the heatmap information in the heatmap of the target object is missing.

[0105] A heatmap selector (220 in FIG. 3) can generate a virtual heatmap corresponding to a missing area. The heatmap selector (220) can reconstruct and output a heatmap of a target object using the virtual heatmap. Specifically, the heatmap selector (220) can obtain a candidate heatmap corresponding to at least one candidate area where the movement of the target object is detected among a plurality of divided areas. The heatmap selector (220) can output the candidate heatmap and the virtual heatmap as a heatmap of the target object.

[0106] Below, the method by which the heatmap selector (220) generates the virtual heatmap will be explained in detail.

[0107] The heatmap selector (220) can obtain a heatmap of a non-target object related to a candidate heatmap of a target object in an object-specific heatmap (HM). Here, a heatmap of a non-target object may refer to a heatmap that has a high spatial correlation with a candidate heatmap of a target object. For example, the heatmap selector (220) can analyze the similarity between a heatmap for a second object (B), a heatmap for a third object (C), and a heatmap for a fourth object (D), respectively, and a candidate heatmap of a target object (A), and obtain a heatmap having heatmap information most similar to a candidate heatmap of a target object (A) as a heatmap of a non-target object. The similarity may be determined based on the similarity between feature vectors for each region.

[0108] In the embodiment illustrated in FIG. 5, the heatmap of a non-target object associated with the candidate heatmap of a target object (A) may be the heatmap of a third object (C). The heatmap selector (220) can predict a virtual heatmap corresponding to the missing area included in the heatmap of the target object based on the heatmap of the non-target object. The heatmap selector (220) can predict the virtual heatmap by utilizing a statistical model or a deep learning model. For example, the heatmap selector (220) can utilize a regression model learned by using the heatmap containing the missing area as the dependent variable and the heatmap of the associated object as the independent variable.

[0109] FIG. 6 shows the result of the heatmap selector (220) reconstructing the heatmap of the target object. As described above, since the heatmap of the non-target object and the heatmap of the target object have a high spatial correlation with each other, the heatmap selector (220) can predict the missing area existing in the heatmap of the target object relatively accurately based on the heatmap of the non-target object. Accordingly, as shown in FIG. 6, the heatmap selector (220) can output a candidate heatmap corresponding to at least one candidate area where the movement of the target object was detected, and the predicted virtual heatmap as the heatmap of the target object.

[0111] FIGS. 7 and FIGS. 8 are drawings for explaining a method for reconstructing a heatmap of a target object according to another embodiment of the present disclosure.

[0112] First, referring to FIG. 7, assuming that the heatmap (A) of a target object containing missing regions is the heatmap at the prediction time, the heatmap selector (220) can obtain multiple heatmaps (A1, A2) of target objects prior to the prediction time.

[0113] The heatmap selector (220) can predict a virtual heatmap for a prediction time based on multiple heatmaps prior to the prediction time. The heatmap selector (220) can predict a virtual heatmap by utilizing a statistical model or a deep learning model.

[0114] For example, the heatmap selector (220) can predict a virtual heatmap by utilizing a time series prediction model. The time series prediction model may be a CNN and an RNN-based model. The time series prediction model may include an encoder and a decoder. Heatmaps (A1, A2) of multiple target objects prior to the prediction time point may be input to the encoder. The decoder may be input to an embedding vector generated by the encoder, a heatmap (A) of the target object at the prediction time point, and location information of the missing area. Accordingly, the time series prediction model can perform predictions for the missing area intensively based on the heatmaps (A1, A2) of multiple target objects prior to the prediction time point.

[0115] FIG. 8 shows the result of the heatmap selector (220) reconstructing the heatmap of the target object. The heatmap selector (220) may output a candidate heatmap corresponding to at least one candidate region where the movement of the target object was detected, and the predicted virtual heatmap as the heatmap of the target object. Alternatively, as described above, since the heatmap selector (220) can focus on predicting missing regions when predicting the heatmap (A) of the target object at the time of prediction, it may output the heatmap (A) of the target object predicted by the time series prediction model as is.

[0117] FIG. 9 is a drawing for explaining an environmental analysis method using a heatmap according to one embodiment of the present disclosure.

[0118] Referring to FIG. 9, the environment analysis device can acquire a plurality of images and acquire an object-specific heatmap based on the plurality of images (S110). The environment analysis device can acquire the object-specific heatmap using initial recognition information, which is feature information capable of identifying objects.

[0119] The environment analysis device can predict the probability of an event occurring for a target object based on a heatmap for each object (S120). The environment analysis device can select and output a heatmap of a target object containing heatmap information of the target object from a heatmap containing heatmap information of multiple objects, or reconstruct the selected heatmap and output a reconstructed heatmap. The environment analysis device can predict the probability of an event occurring for a target object based on the heatmap of the target object.

[0120] Accordingly, the environment analysis device according to the embodiments of the present disclosure has the effect of increasing the accuracy of the prediction for a target object in a heatmap containing heatmap information of a plurality of objects.

[0122] A computer-readable medium storing a data structure according to one embodiment of the present disclosure is disclosed. The aforementioned data structure may be stored in a storage unit in the present disclosure, executed by a processor, and transmitted and received by a communication unit.

[0123] A data structure can refer to the organization, management, and storage of data that enables efficient access and modification of data. A data structure can refer to the organization of data for solving specific problems (e.g., data analysis, data retrieval, data storage, data modification). A data structure may also be defined by physical or logical relationships between data elements designed to support specific data processing functions. Logical relationships between data elements may include connections between user-defined data elements. Physical relationships between data elements may include actual relationships between data elements physically stored on a computer-readable storage medium (e.g., a permanent storage device). Specifically, a data structure may include sets of data, relationships between data, and functions or instructions applicable to the data. Through an effectively designed data structure, a computing device can perform operations while minimizing the use of the device's resources. Specifically, through an effectively designed data structure, a computing device can increase the efficiency of operations, reading, insertion, deletion, comparison, exchange, and retrieval.

[0124] Data structures can be classified into linear and non-linear data structures based on their form. A linear data structure is one where only one piece of data is connected to the next. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a set of data that maintains an internal order. Lists can include linked lists. A linked list is a data structure where data is connected in a line, with each piece of data possessing a pointer. In a linked list, the pointer can contain information regarding the connection to the next or previous data. Depending on its form, a linked list can be represented as a singly linked list, a doubly linked list, or a circular linked list. A stack is a data arrangement structure that allows for restricted access to data. A stack can be a linear data structure where data can be processed (e.g., insertion or deletion) only at one end. Data stored in a stack can be a Last-In, First-Out (LIFO) data structure, meaning that the later an item is entered, the sooner it is retrieved. A queue is a data sequence structure that allows for limited access to data; unlike a stack, it can be a FIFO (First in First Out) data structure where data stored later is retrieved later. A deque is a data structure that can process data at both ends.

[0125] Non-linear data structures can be structures where multiple data are connected after a single piece of data. Non-linear data structures may include graph data structures. A graph data structure can be defined by vertices and edges, and an edge may include a line connecting two different vertices. Graph data structures may include tree data structures. A tree data structure may be a data structure where there is only one path connecting two different vertices among the multiple vertices included in the tree. In other words, it may be a data structure that does not form a loop in a graph data structure.

[0126] Throughout this specification, the terms artificial intelligence-based model, computational model, neural network, network function, and neural network may be used interchangeably. Hereinafter, they will be described uniformly as neural network. A data structure may include a neural network. Furthermore, a data structure including a neural network may be stored on a computer-readable medium. A data structure including a neural network may also include data preprocessed for processing by the neural network, data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation functions associated with each node or layer of the neural network, loss functions for learning the neural network, etc. A data structure including a neural network may include any of the components disclosed above. That is, a data structure including a neural network may be configured to include all or any combination thereof, such as data preprocessed for processing by the neural network, data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation functions associated with each node or layer of the neural network, and loss functions for learning the neural network. In addition to the configurations described above, a data structure including a neural network may include any other information that determines the characteristics of the neural network. Furthermore, the data structure may include any form of data used or generated during the computational process of the neural network, and is not limited to the foregoing. A computer-readable medium may include a computer-readable recording medium and / or a computer-readable transmission medium. A neural network may be composed of a set of interconnected computational units that may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network is composed of at least one node.

[0127] A data structure may include data input to a neural network. A data structure including data input to a neural network may be stored on a computer-readable medium. Data input to a neural network may include training data input during the neural network learning process and / or input data input to a neural network after training is complete. Data input to a neural network may include pre-processed data and / or data subject to pre-processing. Pre-processing may include a data processing process for inputting data into a neural network. Accordingly, a data structure may include data subject to pre-processing and data generated by pre-processing. The aforementioned data structure is merely an example, and the present disclosure is not limited thereto.

[0128] The data structure may include weights of the neural network. (In this specification, weights and parameters may be used interchangeably.) The data structure including the weights of the neural network may be stored on a computer-readable medium. The neural network may include multiple weights. The weights may be variable and may be varied by a user or an algorithm to enable the neural network to perform a desired function. For example, if one or more input nodes are interconnected to a single output node by respective links, the output node may determine the data value output from the output node based on values ​​input to the input nodes connected to the output node and weights set on the links corresponding to each input node. The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0129] As an example rather than a limitation, weights may include weights that vary during the neural network learning process and / or weights for which neural network learning is completed. Weights that vary during the neural network learning process may include weights at the start of the learning cycle and / or weights that vary during the learning cycle. Weights for which neural network learning is completed may include weights for which the learning cycle is completed. Accordingly, a data structure containing the weights of a neural network may include a data structure containing weights that vary during the neural network learning process and / or weights for which neural network learning is completed. Therefore, the weights and / or combinations of each weight described above are included in the data structure containing the weights of a neural network. The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0130] Data structures containing the weights of a neural network may be stored on a computer-readable storage medium (e.g., memory, hard disk) after undergoing a serialization process. Serialization may be a process of converting a data structure into a form that can be stored on the same or different computing devices and later reconstructed for use. A computing device may serialize the data structure to transmit and receive data over a network. A serialized data structure containing the weights of a neural network may be reconstructed on the same or different computing devices through deserialization. Data structures containing the weights of a neural network are not limited to serialization. Furthermore, data structures containing the weights of a neural network may include data structures designed to increase computational efficiency while minimizing the use of computing device resources (e.g., B-Tree, R-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree in non-linear data structures). The foregoing is merely an example and the present disclosure is not limited thereto.

[0131] The data structure may include hyperparameters of the neural network. The data structure including the neural network hyperparameters may be stored on a computer-readable medium. The hyperparameters may be variables that are varied by the user. The hyperparameters may include, for example, a learning rate, a cost function, the number of learning cycle iterations, weight initialization (e.g., setting the range of weight values ​​subject to weight initialization), and the number of hidden units (e.g., the number of hidden layers, the number of nodes in the hidden layers). The aforementioned data structure is merely an example, and the present disclosure is not limited thereto.

[0132] An artificial intelligence model according to one embodiment of the present disclosure may be a generative model. A generative model is a model that learns the distribution of given training data and generates data similar to the distribution of the training data. A generative model may include a Variational Autoencoder (VAE), a Generative Adversarial Network (GAN), a Diffusion model, etc. A Variational Autoencoder (VAE) may refer to a model that learns to estimate the distribution of training data (approximate density) and reconstruct input data based on the estimated distribution of training data. A Generative Adversarial Network (GAN) may refer to a model that learns to generate data without explicitly defining the distribution of training data. A diffusion model may include a diffusion process that gradually adds noise generated from a fixed normal distribution to the data. Additionally, a diffusion model may reconstruct data by learning a reverse process that removes noise. That is, a diffusion model may refer to a model that generates a result image having a probability distribution similar to the input data by gradually removing noise generated from the learned normal distribution.

[0133] Generally, autoencoders can perform unsupervised learning to learn low-dimensional feature representations from unlabeled data. Here, the features extracted by the encoder are latent codes defined by specific numerical values. Unlike autoencoders, variational autoencoders (VAEs) can estimate a probability distribution for the latent space (Variational Inference) and learn based on values ​​randomly sampled from the estimated probability distribution. As an example rather than a limitation, variational autoencoders can learn using a loss function such as [Equation 1] below.

[0134] [Mathematical Formula 1]

[0135]

[0136] Here, the first term represents the reconstruction error, which is the difference between the input data (xi) and the value generated based on the value (z) sampled from the estimated probability distribution (posterior distribution). In this context, minimizing the loss function can mean maximizing the likelihood of the value (z) sampled from the estimated probability distribution (posterior).

[0137] The second term represents the regularization error, which is the difference between the estimated probability distribution (posterior distribution) and the target distribution, the prior distribution. Since the prior distribution generally follows a Gaussian normal distribution, minimizing the loss function here can mean making the estimated probability distribution (posterior distribution) follow a Gaussian normal distribution as closely as possible.

[0138] A Generative Adversarial Network (GAN) can include a generator and a discriminator. The generator can generate fake data from samples in the latent space. The discriminator can distinguish whether the data is real data or fake data. A Generative Adversarial Network (GAN) can refer to an unsupervised learning-based machine learning technique that learns data through a process in which the generator and the discriminator compete against each other. As an example rather than a limitation, a Generative Adversarial Network (GAN) can be trained using a loss function such as [Equation 2] below.

[0139] [Mathematical Formula 2]

[0140]

[0141] Here, the first term may refer to training the discriminator to accurately distinguish between real data and fake data generated by the generator. The second term may refer to training the generator to produce data so similar to real data that the discriminator cannot distinguish it. When conducting actual training, instead of training the two networks—the generator and the discriminator—simultaneously, they can be updated separately by fixing one network while updating the other.

[0142] Generative Adversarial Networks (GANs) can include DCGAN (Deep Convolutional GAN), CGAN (Conditional GAN), CycleGAN (Cycle-Consistent Generative Adversarial Networks), VAE-GAN, PGGAN, StyleGAN, and SAGAN (Self-Attention GAN). DCGAN can be a model that applies Convolutional Neural Networks (CNNs) to both the generator and the discriminator. CGAN can be trained to generate data that meets specific conditions by adding labels or conditional information to the input. CycleGAN consists of two generators and two discriminators and can learn image transformations between two different domains. VAE-GAN can simultaneously leverage the efficient latent space learning of VAEs and the high-quality data generation capabilities of GANs. PGGAN can improve image generation quality by training while progressively increasing the image resolution. StyleGAN applies the concept of style transfer to the PGGAN structure, enabling it to reflect more disentangled style information. SAGAN introduces a self-attention mechanism into the GAN model, allowing it to effectively learn the relationships between spatially distant image regions.

[0143] Models according to one embodiment of the present disclosure can be trained to remove part or all of the predicted noise with respect to Gaussian distributed noise, thereby obtaining data in which part or all of the predicted noise has been removed.

[0144] A computing device (10) according to one embodiment of the present disclosure can train a neural network to obtain data in which part or all of the noise is removed, by removing part or all of the noise with respect to isotropic Gaussian distributed noise. At this time, the neural network may include a conditional noise prediction model. In addition, the conditional noise prediction model may include a U-Net structure in which the input and output have the same size, and may take data x(t) containing noise and a diffusion time step t as inputs, and predict and output the diffusion noise contained in the data x(t) containing noise.

[0145] A computing device (10) can perform a forward process of repeating the process of adding random Gaussian noise little by little over T time steps to original data x (0) that does not contain noise, and consequently obtaining isotropic Gaussian distributed noise x (T). The types of original data x (0) may include various examples such as audio data in addition to image data. Meanwhile, the forward process according to one embodiment of the present disclosure may be performed, for example, through the following formula.

[0146] [Mathematical Formula 1]

[0147]

[0148]

[0149] In the above mathematical formula 1 It can be used as a hyperparameter in the process of calculating the diffusion coefficient, and can be set to an arbitrary value, and 0< < < … < It can be set to a value of <1. For example With this value of 0.0001 g can have a value of 0.02, and from until The value of can increase linearly and can increase along a cosine function, and T, representing the total number of diffusion steps, can be set to 1000. However, It is merely an example that it increases linearly or along a cosine function, and according to the embodiments of the present disclosure, depending on the type of the original data The amount of increase may be determined differently, and a specific explanation will be provided later through [Mathematical Formula 2]. In addition, can represent random Gaussian distribution noise. A general formula representing the data x(t) containing the noise at time step t in relation to the original data x(0) without noise and the included diffusion noise can be expressed as follows.

[0150] [Mathematical Formula 2]

[0151]

[0152]

[0153]

[0154]

[0155] According to one embodiment of the present disclosure, in Equation 2 above, Equation (1) and Equation (2) are diffusion coefficients This is an expression that expresses the specific meaning of. In equation (1) of the above mathematical equation 2, the diffusion coefficient at a specific time step t. The above hyperparameters in 1 It can be calculated as the value after subtracting, and the diffusion coefficient in equation (2) of the above mathematical formula 2. can represent the diffusion coefficient accumulated sequentially from time step 1 to t. Therefore, in the above mathematical equation 2, equation (3) represents the data x(t) containing noise at time step t, the original data x(0) without noise, and the diffusion coefficient ( ) and random Gaussian distribution noise( It is expressed by a formula regarding ). In addition, in the above mathematical formula 2, formula (4) may represent the ratio of noise n(t) and the ratio of signals s(t) determined based on the type of original data according to one embodiment of the present disclosure. Accordingly, the noise-containing data x(t) at time step t can be expressed based on the ratio of noise n(t) and the ratio of signals s(t). Specifically, the noise-containing data x(t) at time step t approaches the form of the original data as the ratio of original data x(0) without noise (i.e., the ratio of signals s(t)) increases, and random Gaussian distribution noise ( As the ratio of ) (i.e., the ratio of noise n(t)) increases, it can approach the form of random Gaussian distribution noise.

[0156] For example, a computing device (10) may obtain first data by adding a first noise to the original data based on the ratio of the determined noise in a forward process of adding random Gaussian noise little by little over T time steps to original data x (0) that does not contain noise, and obtain second data by adding a second noise to the first data based on the ratio of the determined noise. In one embodiment, the type of original data x (0) may include various examples such as text data and audio data in addition to image data.

[0157] Through this, the computing device (10) can repeat the process of adding random Gaussian noise over T time steps based on the “ratio of noise determined by equation (4) in the above mathematical formula 2” for original data x (0) that does not contain noise, and consequently perform a forward process of obtaining isotropic Gaussian distributed noise x (T). However, the above forward process is not limited to the example of the above mathematical formula 2, and various processes of adding noise to data may be included in the forward process.

[0158] Additionally, the computing device (10) can train the neural network to perform a reverse process in which it repeats the process of removing random Gaussian noise over T time steps for isotropic Gaussian distributed noise x(T) in the opposite direction to the forward process, and consequently obtains original data x(0) that does not contain noise. In this regard, the formula representing the reverse process can be expressed as follows.

[0159] [Mathematical Formula 3]

[0160]

[0161]

[0162]

[0163] In the above mathematical formula 3, formula (1) is the noise prediction result predicted by the neural network for “noise-containing data x(t)” ( This is a formula representing a reverse process of obtaining “previous stage data x(t-1) with the noise partially removed” by removing ). For example, the computing device (10) can obtain “previous stage first data x(1) with the second noise removed” by removing the noise prediction result predicted by the neural network for “second data x(2) containing the second noise.” In the above mathematical formula 3, equation (2) is the diffusion coefficient at the current time step t. It means, and in equation (3) of the above mathematical formula 3 represents the dispersion parameter, and the diffusion coefficient It can be calculated based on [Equation 3]. However, the above reverse process is not limited to [Equation 3], and various processes for removing noise from data containing noise may be included in the reverse process.

[0164] Specifically, the computing device (10) inputs data x(t) containing noise and a time step t into a neural network, calculates a loss function by comparing the noise prediction result predicted by the neural network with the diffusion noise actually included, and trains the neural network by performing gradient descent according to the loss function. For example, the loss function calculated by comparing the noise prediction result predicted by the neural network with the diffusion noise actually included can be expressed by the following formula.

[0165] [Mathematical Formula 4]

[0166]

[0167]

[0168] In the above [Equation 4], the loss function is actually the included diffusion noise ( ) and the noise prediction result predicted by the above neural network ( It can be calculated by comparing ). For example, the computing device (10) can predict “first noise included in the first data x (1)” and calculate a first loss function by comparing the predicted first noise and the first noise added to the original data x (0). The computing device (10) can predict “second noise included in the second data x (2)” and calculate a second loss function by comparing the predicted second noise and the second noise added to the first data x (1). However, the loss function is not limited to the example of Equation 4, and may include various loss functions calculated by comparing the noise prediction result with the actually included diffuse noise.

[0169] Additionally, the neural network may be trained to obtain “data x (1) with the second noise removed” by predicting the diffuse noise contained in the data x (2) containing the second noise and removing the predicted second noise. For example, the computing device (10) may also train the neural network based on at least one of the first loss function or the second loss function. Furthermore, the neural network may be trained to obtain original data x (0) with all noise removed by repeating the process of predicting the diffuse noise contained in the “data x (t) containing the noise” and removing the predicted diffuse noise one or more times to remove all the diffuse noise contained in the “data x (t) containing the noise”. Meanwhile, in the process of training the neural network to remove diffuse noise from the data containing the noise, the ratio of noise is determined based on the type of original data, thereby allowing the neural network to be trained to generate data of better quality.

[0170] The computing device (10) can determine the ratio of noise based on the size of the data that can be represented for the type of original data determined above. Specifically, the computing device (10) can determine the ratio of noise such that the size of the noise added to the original data is smaller than the minimum size of the data that can be represented for the type of original data determined above. For example, if the type of original data is determined to be image data, the original data may have a depth of 8 bits per channel. Accordingly, the computing device (10) can determine the first ratio of noise such that the size of the noise added to the original data is smaller than 1 / (2^8) (= approximately 0.00039), which is the minimum size of the data that can be represented for image data.

[0171] Meanwhile, according to another embodiment of the present disclosure, when the type of the original data is determined to be audio data, the original data may have a depth of 16 bits per sample. Accordingly, the computing device (10) may determine a second ratio of noise such that the magnitude of the noise added to the original data is smaller than 1 / (2^16) (= approximately 0.000015), which is the minimum size of data representable for audio data. Accordingly, the second ratio of noise when the original data is audio data may be determined to be smaller than the first ratio of noise when the original data is image data. For example, the ratio of noise may be determined through the following mathematical formula.

[0172] [Mathematical Formula 5]

[0173]

[0174]

[0175] Specifically, according to one embodiment of the present disclosure, the noise ratio n(t) can be determined to increase exponentially by referring to equation (1) in [Equation 5], and the signal ratio s(t) can be determined to decrease exponentially by referring to equation (2) in [Equation 5]. In this case, r may represent a hyperparameter that determines the shape of the curves of the noise ratio n(t) and the signal ratios s(t). However, [Equation 5] is merely an example, and the noise ratio and the signal ratio may be determined in various other ways. Through this, the neural network model can be trained so that the output generated by the neural network model is almost free from the influence of noise, even in data domains that are relatively sensitive to noise compared to image data (e.g., audio data).

[0177] FIG. 10 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

[0178] Although the present disclosure has been described as generally being implementable by a computing device, a person skilled in the art will be well aware that the present disclosure may be implemented in combination with computer-executable instructions and / or other program modules that can be executed on one or more computers and / or as a combination of hardware and software.

[0179] Generally, a program module includes routines, programs, components, data structures, etc., that perform a specific task or implement a specific abstract data type. Furthermore, a person skilled in the art will be well aware that the method of the present disclosure can be implemented in other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc. (each of which may be connected to and operated with one or more associated devices).

[0180] The embodiments described in the present disclosure may be implemented in a distributed computing environment in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0181] Computers typically include various computer-readable media. Any medium accessible by a computer may be a computer-readable medium, and such computer-readable media include volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media. By example, but not limiting, computer-readable media may include computer-readable storage media and computer-readable transmission media. Computer-readable storage media include volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media implemented by any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD (digital video disk) or other optical disk storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other media that can be accessed by a computer and used to store desired information.

[0182] Computer-readable transmission media typically include all information transmission media that implement computer-readable instructions, data structures, program modules, or other data, etc., on a modulated data signal, such as a carrier wave or other transport mechanism. The term modulated data signal means a signal in which one or more of the characteristics of the signal are set or modified to encode information within the signal. By example, not limiting, computer-readable transmission media include wired media, such as wired networks or direct-wired connections, and wireless media, such as acoustic, RF, infrared, and other wireless media. Any combination of the media described above is also considered to be within the scope of computer-readable transmission media.

[0183] An exemplary environment for implementing various aspects of the present disclosure, including a computer (1102), is shown, wherein the computer (1102) includes a processing unit (1104), system memory (1106), and a system bus (1108). The system bus (1108) connects system components, including system memory (1106) (but not limited thereto), to the processing unit (1104). The processing unit (1104) may be any processor among various commercial processors. Dual processors and other multiprocessor architectures may also be used as the processing unit (1104).

[0184] The system bus (1108) may be any of several types of bus structures that can be additionally interconnected to a local bus using any of the memory bus, peripheral bus, and various commercial bus architectures. System memory (1106) includes read-only memory (ROM) (1110) and random access memory (RAM) (1112). The basic input / output system (BIOS) is stored in non-volatile memory (1110), such as ROM, EPROM, EEPROM, etc., and this BIOS includes basic routines that help transfer information between components within the computer (1102) at times such as during startup. The RAM (1112) may include high-speed RAM, such as static RAM, for caching data.

[0185] The computer (1102) includes an internal hard disk drive (HDD) (1114) (e.g., EIDE, SATA)—this internal hard disk drive (1114) may be configured for external use within a suitable chassis (not shown)—a magnetic floppy disk drive (FDD) (1116) (e.g., for reading from or writing to a removable diskette (1118)), and an optical disk drive (1120) (e.g., for reading from a CD-ROM disk (1122) or reading from or writing to other high-capacity optical media such as a DVD). The hard disk drive (1114), the magnetic disk drive (1116), and the optical disk drive (1120) may each be connected to the system bus (1108) by a hard disk drive interface (1124), a magnetic disk drive interface (1126), and an optical drive interface (1128). The interface (1124) for implementing an external drive includes at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.

[0186] These drives and associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, etc. In the case of a computer (1102), the drives and media correspond to storing any data in a suitable digital format. Although the description of computer-readable media above refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, a person skilled in the art will know that other types of computer-readable media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, etc., may also be used in exemplary operating environments and that any of these media may contain computer-executable instructions for performing the methods of the present disclosure.

[0187] A number of program modules, including an operating system (1130), one or more application programs (1132), other program modules (1134), and program data (1136), may be stored in the drive and RAM (1112). All or part of the operating system, application, module, and / or data may be cached in RAM (1112). It will be well known that the present disclosure may be implemented in various commercially available operating systems or combinations of operating systems.

[0188] The user can input commands and information into the computer (1102) through one or more wired / wireless input devices, such as a pointing device like a keyboard (1138) and a mouse (1140). Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, etc. These and other input devices are often connected to the processing unit (1104) via an input device interface (1142) connected to the system bus (1108), but may also be connected via other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.

[0189] A monitor (1144) or other type of display device is also connected to the system bus (1108) via an interface such as a video adapter (1146). In addition to the monitor (1144), the computer generally includes other peripheral output devices (not shown), such as speakers, a printer, and so on.

[0190] The computer (1102) may operate in a networked environment using a logical connection to one or more remote computers, such as remote computer(s) (1148), via wired and / or wireless communication. The remote computer(s) (1148) may be a workstation, a computing device computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other conventional network node, and generally include many or all of the components described for the computer (1102), but for brevity, only the memory storage device (1150) is illustrated. The illustrated logical connection includes a wired / wireless connection to a local area network (LAN) (1152) and / or a larger network, e.g., a wide area network (WAN) (1154). Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a global computer network, e.g., the Internet.

[0191] When used in a LAN networking environment, the computer (1102) is connected to a local network (1152) via a wired and / or wireless communication network interface or adapter (1156). The adapter (1156) may facilitate wired or wireless communication to the LAN (1152), and the LAN (1152) includes a wireless access point installed therein to communicate with the wireless adapter (1156). When used in a WAN networking environment, the computer (1102) may include a modem (1158), be connected to a communication computing device on the WAN (1154), or have other means of establishing communication through the WAN (1154), such as through the Internet. The modem (1158), which may be an internal or external and a wired or wireless device, is connected to the system bus (1108) via a serial port interface (1142). In a networked environment, the program modules described for the computer (1102) or parts thereof may be stored in a remote memory / storage device (1150). It will be well known that the illustrated network connection is exemplary and that other means of establishing a communication link between computers may be used.

[0192] The computer (1102) operates to communicate with any wireless device or object that is deployed and operated via wireless communication, for example, a printer, scanner, desktop and / or portable computer, PDA (portable data assistant), communication satellite, any equipment or place associated with a wireless detectable tag, and a telephone. This includes at least Wi-Fi and Bluetooth wireless technologies. Accordingly, the communication may be a predefined structure as in a conventional network, or simply ad hoc communication between at least two devices.

[0193] Wi-Fi (Wireless Fidelity) enables connectivity to the Internet and other sources without wires. Wi-Fi is a wireless technology, similar to a cell phone, that allows devices, such as computers, to transmit and receive data indoors and outdoors—that is, anywhere within the coverage area of ​​a base station. Wi-Fi networks use a wireless technology called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in unlicensed 2.4 and 5 GHz wireless bands, for example, at data rates of 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual band).

[0194] Those skilled in the art of the present disclosure will understand that information and signals may be represented using any various different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0195] Those skilled in the art will understand that the various exemplary logic blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented by electronic hardware, various forms of programs or design code (referred to herein as software for convenience), or a combination of all such. To clearly illustrate this interoperability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in relation to their functions. Whether such functions are implemented as hardware or software depends on the design constraints imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementation decisions should not be interpreted as being outside the scope of this disclosure.

[0196] The various embodiments presented herein may be implemented as methods, devices, or articles manufactured using standard programming and / or engineering techniques. The term "article manufactured" includes a computer program, a carrier, or a medium accessible from any computer-readable storage device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical discs (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Additionally, the various storage media presented herein include one or more devices and / or other machine-readable media for storing information.

[0197] It should be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. It should be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure based on design priorities. The appended method claims provide elements of various steps in a sample order, but do not imply being limited to the specific order or hierarchy presented.

[0198] Description of the presented embodiments is provided so that a person skilled in the art may use or practice the present disclosure. Various modifications to these embodiments will be apparent to a person skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein, but should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

Claims

Claim 1 A method for predicting the probability of an event occurring using a heatmap, performed by a computing device, comprising: a step of acquiring a plurality of images; a step of acquiring an object-specific heatmap based on the plurality of images; a step of acquiring an object-specific feature vector from heatmap information corresponding to a region of interest among a plurality of segmented regions included in the object-specific heatmap; a step of calculating the similarity between the object-specific feature vector and a reference vector; a step of acquiring a heatmap corresponding to a feature vector whose similarity is greater than or equal to a threshold value as a heatmap of a target object; and a step of predicting the probability of an event occurring of the target object based on the heatmap of the target object using a neural network model. Claim 2 delete Claim 3 delete Claim 4 A method according to claim 1, wherein the feature vector comprises at least one of a first feature vector corresponding to movement path information and a second feature vector corresponding to dwell time. Claim 5 A method according to claim 1, wherein the step of acquiring a heat map corresponding to a feature vector having a similarity greater than or equal to a threshold value as a heat map of the target object comprises: acquiring at least one candidate region among the plurality of segmented regions where the movement of the target object is detected; and acquiring a candidate heat map corresponding to the at least one candidate region as a heat map of the target object. Claim 6 A method according to claim 1, wherein the step of acquiring a heat map corresponding to a feature vector having a similarity greater than or equal to a threshold value as a heat map of the target object comprises: acquiring at least one candidate region among the plurality of segmented regions where the movement of the target object is detected; acquiring a candidate heat map corresponding to the at least one candidate region; generating a virtual heat map corresponding to at least one missing region where the movement of the target object is not detected; and acquiring the candidate heat map and the virtual heat map as a heat map of the target object. Claim 7 In claim 6, the step of generating a virtual heatmap corresponding to at least one missing region comprises: a step of acquiring a plurality of heatmaps prior to the prediction time of the target object; and a step of predicting a virtual heatmap for the prediction time based on the plurality of heatmaps prior to the prediction time. Claim 8 In claim 6, the step of generating a virtual heatmap corresponding to at least one missing region comprises: a step of obtaining a heatmap of a non-target object associated with a candidate heatmap of the target object among the object-specific heatmaps; and a step of predicting a virtual heatmap corresponding to the at least one missing region based on the heatmap of the non-target object. Claim 9 In claim 8, the step of acquiring a heatmap of the non-target object comprises acquiring, as the heatmap of the non-target object, a heatmap having heatmap information most similar to the candidate heatmap of the target object among the heatmaps for each object. Claim 10 In claim 9, the method wherein the heatmap information comprises at least one of movement path information and dwell time information. Claim 11 A computer program stored on a computer-readable storage medium, wherein when the computer program is executed by at least one processor, the at least one processor is made to perform the following operations, the operations comprising: an operation of acquiring a plurality of images; an operation of acquiring an object-specific heatmap based on the plurality of images; an operation of acquiring an object-specific feature vector from heatmap information corresponding to a region of interest among a plurality of segmented regions included in the object-specific heatmap; an operation of calculating a similarity between the object-specific feature vector and a reference vector; an operation of acquiring a heatmap corresponding to a feature vector whose similarity is greater than or equal to a threshold value as a heatmap of a target object; and an operation of predicting the probability of an event occurring of the target object based on the heatmap of the target object using a neural network model. Claim 12 delete Claim 13 delete Claim 14 A computer program stored in a computer-readable storage medium, wherein, in claim 11, the operation of acquiring a heat map corresponding to a feature vector having a similarity greater than or equal to a threshold value as a heat map of the target object comprises: acquiring at least one candidate region among the plurality of segmented regions where the movement of the target object is detected; and acquiring a candidate heat map corresponding to the at least one candidate region as a heat map of the target object. Claim 15 A computer program stored on a computer-readable storage medium, wherein the operation of acquiring a heat map corresponding to a feature vector having a similarity greater than or equal to a threshold value as a heat map of the target object comprises: acquiring at least one candidate region among the plurality of segmented regions where the movement of the target object is detected; acquiring a candidate heat map corresponding to the at least one candidate region; generating a virtual heat map corresponding to at least one missing region where the movement of the target object is not detected; and acquiring the candidate heat map and the virtual heat map as a heat map of the target object. Claim 16 A computer program stored in a computer-readable storage medium, wherein, in claim 15, the operation of generating a virtual heatmap corresponding to at least one missing region comprises: the operation of acquiring a plurality of heatmaps prior to the prediction time of the target object; and the operation of predicting a virtual heatmap for the prediction time based on the plurality of heatmaps prior to the prediction time. Claim 17 A computer program stored on a computer-readable storage medium, wherein, in claim 15, the operation of generating a virtual heatmap corresponding to at least one missing region comprises: the operation of acquiring a heatmap of a non-target object associated with a candidate heatmap of the target object among the object-specific heatmaps; and the operation of predicting a virtual heatmap corresponding to at least one missing region based on the heatmap of the non-target object. Claim 18 A computing device comprising at least one processor and memory, wherein the at least one processor acquires a plurality of images, acquires an object-specific heatmap based on the plurality of images, acquires an object-specific feature vector from heatmap information corresponding to a region of interest among a plurality of segmented regions included in the object-specific heatmap, calculates a similarity between the object-specific feature vector and a reference vector, acquires a heatmap corresponding to a feature vector whose similarity is greater than or equal to a threshold value as a heatmap of a target object, and is configured to predict the probability of an event occurring of the target object based on the heatmap of the target object using a neural network model. Claim 19 delete Claim 20 delete Claim 21 In claim 18, the device is further configured such that the at least one processor acquires at least one candidate region among the plurality of divided regions where the movement of the target object is detected, and acquires a candidate heatmap corresponding to the at least one candidate region as a heatmap of the target object. Claim 22 In claim 18, the device is further configured such that the at least one processor acquires at least one candidate region among the plurality of divided regions where the movement of the target object is detected, acquires a candidate heatmap corresponding to the at least one candidate region, generates a virtual heatmap corresponding to at least one missing region where the movement of the target object is not detected, and acquires the candidate heatmap and the virtual heatmap as a heatmap of the target object. Claim 23 In claim 22, the device is further configured such that at least one processor acquires a plurality of heatmaps prior to the prediction time of the target object, and predicts a virtual heatmap for the prediction time based on the plurality of heatmaps prior to the prediction time. Claim 24 In claim 22, the device is further configured such that the at least one processor acquires a heatmap of a non-target object associated with a candidate heatmap of the target object among the object-specific heatmaps, and predicts a virtual heatmap corresponding to the at least one missing area based on the heatmap of the non-target object.