Method for predicting density of crowd on basis of motion information

By employing a neural network to extract motion information from images, the method effectively predicts crowd density and improves risk assessment accuracy, addressing the limitations of traditional methods.

WO2025121706A1PCT designated stage expired Publication Date: 2025-06-12SAFE AI CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/017643
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-08
Filing Date
2024-11-08
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing methods for predicting crowd density rely on the number of people per square meter, which does not accurately reflect individual characteristics, leading to inaccurate risk assessments.

Method used

A method using a neural network model to extract motion information from images containing crowds, allowing for the prediction of crowd density based on the extracted information.

Benefits of technology

This approach enables more accurate risk assessments by considering the dynamics and characteristics of crowd movement, improving the prediction of dangerous crowd situations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024017643_12062025_PF_FP_ABST
    Figure KR2024017643_12062025_PF_FP_ABST
Patent Text Reader

Abstract

According to an embodiment of the present disclosure, disclosed is a method for predicting the density of a crowd, the method being performed by one or more processors of a computing device. The method may comprise the steps of: obtaining a first image and extracting first motion information from the first image by using a neural network model; obtaining a second image including one or more crowds and extracting second motion information from the second image by using the neural network model; and predicting the density of a crowd included in the second image on the basis of the first motion information and the second motion information.
Need to check novelty before this filing date? Find Prior Art

Description

A method for predicting crowd density based on movement information

[0001] The present disclosure relates to a method for predicting the density of a crowd based on motion information, and more specifically, to a method for extracting motion information from an image including a crowd by utilizing a neural network model, and predicting the density of the crowd in an image including the crowd based on the extracted motion information.

[0002] The number of fatalities caused by crowds in confined spaces, such as recent stampedes, is increasing worldwide. When a large number of people move within a confined space, problems such as clothing tearing or shoes coming off can occur. Over time, problems such as asphyxiation due to pressure, fainting from heat exhaustion, and respiratory distress due to crowd anxiety can occur. To address this, existing methods have used the number of people per square meter to predict crowd density-related risks. However, for obese individuals, the risk of crowding can be high even with as few as five people per square meter, while for lean individuals, the risk may not be high even with seven people per square meter. Therefore, accurately predicting crowd density-related risks has been difficult because the number of people per square meter does not uniformly reflect individual characteristics.

[0003] Therefore, to solve these problems, there is a growing need for a method for extracting motion information from an image containing a crowd and predicting the density of the crowd in the image containing the crowd based on the extracted motion information.

[0004] Meanwhile, while the present disclosure was derived at least based on the technical background discussed above, the technical task or purpose of the present disclosure is not limited to resolving the problems or shortcomings discussed above. That is, in addition to the technical issues discussed above, the present disclosure can cover various technical issues related to the content described below.

[0005]

[0006] The present invention relates to a method for predicting the density of a crowd based on motion information, and more specifically, to a method for extracting motion information from an image including a crowd by utilizing a neural network model, and to effectively predicting the density of a crowd in an image including the crowd based on the extracted motion information.

[0007] Meanwhile, the technical task to be achieved by the present disclosure is not limited to the technical task mentioned above, and may include various technical tasks within a scope obvious to a person skilled in the art from the contents described below.

[0008]

[0009] According to one embodiment of the present disclosure for achieving the above-described task, a method performed by a computing device is disclosed. The method may include the steps of: acquiring a first image, and extracting first motion information from the first image using a neural network model; acquiring a second image including one or more crowds, and extracting second motion information from the second image using the neural network model; and predicting a density of a crowd included in the second image based on the first motion information and the second motion information.

[0010] Alternatively, the first image may be an image related to the movement of a fluid.

[0011] Alternatively, the images related to the movement of the fluid may include images obtained using a physical model capable of simulating the movement of the fluid.

[0012] Alternatively, the step of extracting first motion information from the first image using the neural network model may include the step of extracting a first motion vector from the first image using the neural network model, and the step of extracting second motion information from the second image using the neural network model may include the step of extracting a second motion vector from the second image using the neural network model.

[0013] Alternatively, the first motion vector may include first optical flow information of the first image, and the second motion vector may include second optical flow information of the second image.

[0014] Alternatively, the step of extracting the first motion vector from the first image using the neural network model may further include the step of storing the first motion vector extracted from the first image in a database, and the step of predicting the density of the crowd included in the second image based on the first motion information and the second motion information may include the step of predicting the density of the crowd included in the second image based on the first motion vector and the second motion vector included in the database.

[0015] Alternatively, the step of predicting the density of the crowd included in the second image based on the first motion information and the second motion information may include the step of calculating a similarity between the first motion information and the second motion information; and the step of predicting the density of the crowd included in the second image based on the calculated similarity.

[0016] Alternatively, the step of predicting the density of the crowd included in the second image based on the calculated similarity may include a step of predicting the density of the crowd included in the second image as a dangerous situation when the calculated similarity exceeds a set threshold.

[0017] Alternatively, the set threshold may be set based on second motion information related to the second image.

[0018] Alternatively, the set threshold may be set to a larger value as the size of the 2-1 motion vector included in the second image increases, and the set threshold may be set to a smaller value as the size of the 2-1 motion vector decreases.

[0019] Alternatively, the set threshold may be set smaller as the size of the sum of the plurality of second motion vectors included in the second image becomes larger, and the set threshold may be set larger as the size of the sum of the plurality of second motion vectors becomes smaller.

[0020] According to one embodiment of the present disclosure for achieving the above-described task, a computer program stored in a computer-readable storage medium is disclosed. When the computer program is executed on one or more processors, the computer program causes the one or more processors to perform operations for predicting the density of a crowd, the operations including: obtaining a first image and extracting first motion information from the first image using a neural network model; obtaining a second image including one or more crowds and extracting second motion information from the second image using the neural network model; and predicting the density of the crowd included in the second image based on the first motion information and the second motion information.

[0021] Alternatively, the operation of extracting first motion information from the first image using the neural network model may include the operation of extracting a first motion vector from the first image using the neural network model, and the operation of extracting second motion information from the second image using the neural network model may include the operation of extracting a second motion vector from the second image using the neural network model.

[0022] Alternatively, the operation of extracting the first motion vector from the first image by utilizing the neural network model may further include the operation of storing the first motion vector extracted from the first image in a database, and the operation of predicting the density of the crowd included in the second image based on the first motion information and the second motion information may include the operation of predicting the density of the crowd included in the second image based on the first motion vector and the second motion vector included in the database.

[0023] Alternatively, the operation of predicting the density of the crowd included in the second image based on the first motion information and the second motion information may include the operation of calculating a similarity between the first motion information and the second motion information; and the operation of predicting the density of the crowd included in the second image based on the calculated similarity.

[0024] Alternatively, the operation of predicting the density of the crowd included in the second image based on the calculated similarity may include an operation of predicting the density of the crowd included in the second image as a dangerous situation when the calculated similarity exceeds a set threshold.

[0025] A computing device according to one embodiment of the present disclosure for achieving the aforementioned task is disclosed. The device may be configured to acquire a first image, extract first motion information from the first image using a neural network model, acquire a second image including one or more crowds, extract second motion information from the second image using the neural network model, and predict the density of the crowd included in the second image based on the first motion information and the second motion information.

[0026] In order to achieve the above-described task, a data structure included in a computer-readable storage medium according to one embodiment of the present disclosure is disclosed. The data structure corresponds to parameters of a neural network, and the neural network performs the following steps at least partially based on the parameters, wherein the steps may include: obtaining a first image and extracting first motion information from the first image using a neural network model; obtaining a second image including one or more crowds and extracting second motion information from the second image using the neural network model; and predicting a density of the crowd included in the second image based on the first motion information and the second motion information.

[0027]

[0028] The present invention relates to a method for predicting the density of a crowd based on movement information, and more specifically, to extract movement information from an image including a crowd by utilizing a neural network model, and to predict the density of the crowd in the image including the crowd based on the extracted movement information, thereby effectively predicting the risk according to the density of the crowd.

[0029] Meanwhile, the effects of the present disclosure are not limited to the effects mentioned above, and various effects may be included within a range apparent to those skilled in the art from the contents described below.

[0030]

[0031] FIG. 1 is a block diagram of a computing device for predicting crowd density in one embodiment of the present disclosure.

[0032] FIG. 2 is a schematic diagram illustrating a network function according to one embodiment of the present disclosure.

[0033] FIG. 3 is a flowchart illustrating a method for predicting crowd density according to one embodiment of the present disclosure.

[0034] FIG. 4 is a schematic diagram illustrating a process of extracting first motion information from a first image related to the motion of a fluid using a neural network model according to one embodiment of the present disclosure.

[0035] FIG. 5 is a schematic diagram illustrating a process of calculating a similarity between first motion information related to the motion of a fluid and second motion information related to one or more crowds according to one embodiment of the present disclosure.

[0036] FIGS. 6A and 6B are schematic diagrams illustrating a process of setting a similarity threshold based on motion information of a second image associated with one or more crowds according to one embodiment of the present disclosure.

[0037] FIG. 7 is a simplified, general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

[0038]

[0039] Various embodiments are now described with reference to the drawings. In this specification, various descriptions are provided to facilitate understanding of the present disclosure. However, it will be apparent that these embodiments may be practiced without these specific details.

[0040] As used herein, the terms "component," "module," "system," and the like refer to computer-related entities, hardware, firmware, software, a combination of software and hardware, or an execution of software. For example, a component may be, but is not limited to, a procedure running on a processor, a processor, an object, a thread of execution, a program, and / or a computer. For example, both an application running on a computing device and the computing device may be a component. One or more components may reside within a processor and / or a thread of execution. A component may be localized within a single computer. A component may be distributed between two or more computers. Furthermore, these components may execute from various computer-readable media having various data structures stored therein. Components may communicate via local and / or remote processes, for example, by signals comprising one or more data packets (e.g., data from one component interacting with another component in a local system, a distributed system, and / or data transmitted to another system via a network such as the Internet via signals).

[0041] Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from context, "X employs A or B" is intended to mean either of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, "X employs A or B" can apply to any of these cases. Furthermore, the term "and / or" as used herein should be understood to refer to and include all possible combinations of one or more of the associated items listed.

[0042] Additionally, the terms "comprises" and / or "comprising" should be understood to imply the presence of the features and / or components in question. However, it should be understood that the terms "comprises" and / or "comprising" do not exclude the presence or addition of one or more other features, components, and / or groups thereof. Furthermore, unless otherwise specified or clear from the context to refer to the singular form, the singular in the specification and claims should generally be construed to mean "one or more."

[0043] And, the term "at least one of A or B" should be interpreted to mean "if it includes only A", "if it includes only B", or "if it is combined in the composition of A and B".

[0044] Those skilled in the art should further appreciate that the various illustrative logical blocks, configurations, modules, circuits, means, logics, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, configurations, means, logics, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. However, such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

[0045] The description of the disclosed embodiments is provided to enable a person skilled in the art to make or use the present invention. 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. Therefore, the present invention is not limited to the embodiments disclosed herein. The present invention is to be construed in the widest scope consistent with the principles and novel features disclosed herein.

[0046] In the present disclosure, network function and artificial neural network and neural network can be used interchangeably.

[0047]

[0048] FIG. 1 is a block diagram of a computing device for predicting crowd density in one embodiment of the present disclosure.

[0049] 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).

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

[0051] The processor (110) may be configured with one or more cores, and may include a processor for data analysis and deep learning, such as a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU) of a computing device. The processor (110) may read a computer program stored in the memory (130) and perform data processing for machine learning according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, the processor (110) may perform operations for learning a neural network model. The processor (110) may perform calculations for learning a neural network model, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating weights of a neural network model using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) may process learning of the neural network model. For example, a CPU and a GPGPU can work together to train a neural network model and classify data using the neural network model. Furthermore, in one embodiment of the present disclosure, processors of multiple computing devices can be used together to train a neural network model and classify 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.

[0052] 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).

[0053] 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, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. The computing device (100) may also operate in relation to web storage that performs the storage function of the memory (130) on the internet. The description of the above-described memory is merely an example, and the present disclosure is not limited thereto.

[0054] The 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).

[0055] In addition, the network unit (150) presented in the present disclosure can 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.

[0056] In the present disclosure, 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) and a wide area network (WAN). In addition, the network may be the well-known World Wide Web (WWW), and may also utilize a wireless transmission technology used for short-distance communication, such as infrared (IrDA: Infrared Data Association) or Bluetooth. The technologies described in the present disclosure may also be used in other networks mentioned above.

[0057]

[0058] FIG. 2 is a schematic diagram illustrating a network function according to one embodiment of the present disclosure.

[0059] Throughout this specification, the terms computational model, neural network, network function, and neural network may be used interchangeably. A neural network may be comprised of a set of interconnected computational units, generally referred to as nodes. These nodes may also be referred to as neurons. A neural network comprises at least one node. The nodes (or neurons) comprising a neural network may be interconnected by one or more links.

[0060] Within a neural network, one or more nodes connected via links can form a relationship between input nodes and output nodes. The concept of input nodes and output nodes is relative, meaning that any node that is in an output node relationship with one node can also be in an input node relationship with another node, and vice versa. As described above, the relationship between input nodes and output nodes can be created based on links. One input node can be connected to one or more output nodes via links, and vice versa.

[0061] In a relationship between input nodes and output nodes connected through a single link, the data of the output node can have its value determined based on the data input to the input node. Here, the link interconnecting the input nodes and output nodes can have a weight. The weight can be variable and can be varied by the user or an algorithm so that the neural network can perform a desired function. For example, when one or more input nodes are interconnected to one output node through each link, the output node can determine the output node value based on the values ​​input to the input nodes connected to the output node and the weight set on the link corresponding to each input node.

[0062] As described above, a neural network is a network in which one or more nodes are interconnected through one or more links, forming input and output node relationships within the network. The characteristics of a neural network can be determined based on the number of nodes and links within the network, the relationships between the nodes and links, and the weights assigned to each link. For example, if two neural networks have the same number of nodes and links but different weight values ​​for the links, the two neural networks can be perceived as different from each other.

[0063] A neural network can be composed of a set of one or more nodes. A subset of the nodes comprising the neural network can form a layer. Some of the nodes comprising the neural network can form a layer based on their distances from the initial input node. For example, a set of nodes that are n distances from the initial input node can form n layers. The distance from the initial input node can be defined by the minimum number of links required to reach the 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 different way than described above. For example, a layer of nodes can be defined by its distance from the final output node.

[0064] An initial input node may refer to one or more nodes within a neural network into which data is directly input without going through links with other nodes. Alternatively, within a neural network, it may refer to nodes that do not have other input nodes connected by links in the relationship between nodes based on links. Similarly, a final output node may refer to one or more nodes within a neural network that do not have output nodes in their relationship with other nodes. Furthermore, a hidden node may refer to nodes that constitute a neural network other than the initial input node and the final output node.

[0065] A neural network according to one embodiment of the present disclosure may be a neural network in which the number of nodes in an input layer may be the same as the number of nodes in an output layer, and the number of nodes decreases and then increases as it progresses from the input layer to the hidden layer. In addition, a neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in an input layer may be less than the number of nodes in an output layer, and the number of nodes decreases as it progresses from the input layer to the hidden layer. In addition, a neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in an input layer may be greater than the number of nodes in an output layer, and the number of nodes increases as it progresses from the input layer to the hidden layer. A neural network according to another embodiment of the present disclosure may be a neural network in a combined form of the neural networks described above.

[0066] A deep neural network (DNN) can refer to a neural network that includes multiple hidden layers in addition to input and output layers. Using DNNs, one can identify latent structures in data. For example, one can identify the latent structures of images, text, videos, audio, and music (e.g., what objects are in the image, what the content and emotion of the text are, what the content and emotion of the audio are, etc.). DNNs can include convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, generative adversarial networks (GANs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), Q networks, U networks, Siamese networks, and generative adversarial networks (GANs). The description of the deep neural network described above is only an example and the present disclosure is not limited thereto.

[0067] In one embodiment of the present disclosure, the network function may include an autoencoder. An autoencoder may be a type of artificial neural network that outputs output data similar to input data. The autoencoder may include at least one hidden layer, and an odd number of hidden layers may be arranged between input and output layers. The number of nodes in each layer may be reduced from the number of nodes in the input layer to an intermediate layer called a bottleneck layer (encoding), and then expanded symmetrically from the bottleneck layer to the output layer (symmetrical to the input layer). The autoencoder may perform nonlinear dimensionality reduction. The number of input layers and output layers may correspond to the dimensionality after preprocessing of the input data. In the autoencoder structure, the number of nodes in the hidden layer included in the encoder may have a structure in which the number of nodes decreases as it moves away from the input layer. The number of nodes in the bottleneck layer (the layer with the fewest nodes between the encoder and decoder) may be kept above a certain number (e.g., more than half of the input layer), as too few nodes may not transmit enough information.

[0068] Neural networks can learn using at least one of the following methods: supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. Neural network learning can be the process of applying knowledge to the neural network to perform a specific action.

[0069] Neural networks can be trained to minimize output errors. This process involves repeatedly inputting training data into the neural network, calculating the neural network output and target error for the training data, and backpropagating the neural network error from the output layer to the input layer to update the weights of each node in the neural network to reduce the error. Supervised learning uses training data with the correct answer labeled for each training data (i.e., labeled training data). Unsupervised learning, on the other hand, may not have the correct answer labeled for each training data. For example, in the case of supervised learning for data classification, the training data may be data with each category labeled. Labeled training data is input to the neural network, and the error can be calculated by comparing the output (category) of the neural network with the training data labels. Alternatively, in the case of unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network output. The calculated error is backpropagated in the neural network in the backward direction (i.e., from the output layer to the input layer), and the connection weights of each node in each layer of the neural network can be updated according to the backpropagation. The amount of change in the connection weights of each node to be 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 neural network training to quickly achieve a certain level of performance, thereby increasing efficiency. A lower learning rate can be used in the later stages of training to increase accuracy.

[0070] In neural network training, training data can typically be a subset of real-world data (i.e., the data to be processed using the trained neural network). Therefore, there can be a learning cycle where errors on the training data decrease but errors on the real-world data increase. Overfitting is a phenomenon where excessive training on the training data leads to increased errors on the real-world data. For example, a neural network trained on yellow cats may fail to recognize cats when shown non-yellow colors, a type of overfitting. Overfitting can increase errors in machine learning algorithms. Various optimization methods can be used to prevent overfitting. These methods include increasing the training data, regularization, dropout, which disables some nodes in the network during the learning process, and the use of batch normalization layers.

[0071]

[0072] FIG. 3 is a flowchart illustrating a method for predicting crowd density according to one embodiment of the present disclosure.

[0073] A computing device (100) according to one embodiment of the present disclosure may directly acquire "information for predicting crowd density" or receive it from an external system. The external system may be a server, database, or the like that stores and manages information to be collected or organized using a neural network model. The computing device (100) may use the information acquired directly or received from the external system as "input data for predicting crowd density."

[0074] According to one embodiment of the present disclosure, a computing device (100) may acquire a first image and extract first motion information from the first image using a neural network model (S110). At this time, the neural network model may include a pre-trained neural network model to extract motion information from the image. For example, the pre-trained neural network model may include a Two-Stream CNN, a Three-Dimensional Convolutional Neural Network (3D CNN), an Inflated 3D ConvNet (I3D), FlowNet, a Temporal Shift Module (TSM), etc. that perform motion recognition and activity recognition, but is not limited thereto and various models may be used. In addition, the first image may be an image related to the movement of a fluid, and specifically, an image acquired using a physical model capable of simulating the movement of a fluid may be included. For example, the first image may include an image related to a wave, a fluid flow, etc., in which the movement of a particle of a fluid at a specific point induces a reaction to the movement of a particle at another point. At this time, the above physical model may be utilized as a SPH (Smoothed Particle Hydrodynamics), RANS (Reynolds-Averaged Navier-Stokes) Model, Large Eddy Simulation, etc., which simulate the movement of the fluid, but is not limited thereto.

[0075] Meanwhile, according to one embodiment of the present disclosure, the computing device (100) can extract a first motion vector from the first image by utilizing the neural network model. At this time, the first motion vector can include first optical flow information of the first image, and the optical flow information can express the direction and size of the movement of an object included in the image using HSV (luminance, saturation, color). For example, when there is a video of a moving hand, the direction and speed of the hand moving can be determined by predicting the optical flow information of the video. Meanwhile, the optical flow information can be obtained through a block matching method, a Gunner-Farneback algorithm, a Lucas-Kanade algorithm, etc., but is not limited to the above examples and can be obtained through various methods.

[0076] Additionally, according to one embodiment of the present disclosure, the computing device (100) may store the first motion information extracted from the first image in a database. For example, the computing device (100) may store the first motion vector extracted from the first image in a database, and the first motion vector stored in the database may be utilized in the process of predicting the density of a crowd included in a second image to be described later. Accordingly, the computing device (100) may utilize the database in which the first motion information of the first image is stored in the process of predicting the density of a crowd, thereby effectively predicting the density of a crowd by utilizing the stored database even when there is no first image to be compared with the second image including one or more crowds in real time. Meanwhile, the first motion information extracted from the first image may be utilized in the process of predicting the density of a crowd included in a second image to be described later, and a detailed description thereof will be described later with reference to FIG. 5.

[0077] According to one embodiment of the present disclosure, a computing device (100) may acquire a second image including one or more crowds, and extract second motion information from the second image by utilizing the neural network model (S120). At this time, the neural network model may include a pre-trained neural network model to extract motion information from the image, and examples thereof include a Two-Stream CNN, a Three-Dimensional Convolutional Neural Network (3D CNN), an Inflated 3D ConvNet (I3D), FlowNet, and a Temporal Shift Module (TSM) that perform motion recognition and activity recognition, but are not limited thereto, and various models may be used. In addition, the second image may be an image including one or more crowds, and specifically, may be an image of the movement of a crowd captured by CCTV on a street, a playground, or an indoor space, but is not limited thereto.

[0078] Meanwhile, according to one embodiment of the present disclosure, the computing device (100) may extract a second motion vector from the second image by utilizing the neural network model. At this time, the second motion vector may include second optical flow information of the second image, and the optical flow information may express the direction and size of the movement of an object included in the image using HSV (luminosity, saturation, color). In this regard, the optical flow information may be obtained through a block matching method, a Gunner-Farneback algorithm, a Lucas-Kanade algorithm, etc., but is not limited to the above examples and may be obtained through various methods. Meanwhile, the second motion information may be utilized in the process of predicting the density of a crowd together with the first motion information extracted from the first image, and a specific description related thereto will be described later with reference to FIG. 5.

[0079] In addition, according to one embodiment of the present disclosure, the computing device (100) can predict the density of the crowd included in the second image based on the first movement information extracted through step S110 and the second movement information extracted through step S120 (S130). For example, the computing device (100) can calculate the similarity between the first movement information and the second movement information, and predict the density of the crowd included in the second image based on the calculated similarity. Specifically, if the calculated similarity exceeds a set threshold, the computing device (100) can predict the density of the crowd included in the second image as a dangerous situation. In this regard, when a large number of people gather in a limited space, a crowd fluidization phenomenon may occur. When a large number of people exist in a limited space like this, the crowd interacts while maintaining a certain density and movement pattern, and the characteristics of a fluid may appear, such that the crowd becomes compressed as the density increases and disperses as the density decreases. In addition, when the crowd fluidization phenomenon occurs, individuals in the crowd cannot move on their own and are forced to move along with the flow of the crowd, which increases the risk of casualties. Therefore, the computing device (100) calculates the similarity between the first movement information related to the movement of the fluid and the movement of the crowd and the second movement information, and if the calculated similarity exceeds a set threshold, predicts the density of the crowd included in the second image as a dangerous situation (i.e., the occurrence of the crowd fluidization phenomenon), thereby solving the problem of difficulty in accurate prediction due to failure to reflect the characteristics of individuals compared to the existing method of predicting the risk according to the density of the crowd with the number of people per square meter.

[0080] Meanwhile, the computing device (100) may set the threshold based on the second motion information related to the second image. For example, the computing device (100) may set the threshold to be large as the size of the 2-1 motion vector included in the second image is large, and may set the threshold to be small as the size of the 2-1 motion vector is small. In this regard, based on the fact that “when the crowd fluidization phenomenon occurs, individuals in the crowd cannot move voluntarily and are forced to move while being pushed along by the flow of the crowd,” a large motion vector (2-1 motion vector) of a specific person in the second image including one or more crowds may be interpreted as meaning that the movement of individuals in the crowd is relatively free. Therefore, if the motion vector (2-1 motion vector) of a specific person in the second image including one or more crowds is large, the possibility that the crowd fluidization phenomenon has occurred is relatively low compared to a case where the motion vector (2-1 motion vector) of the specific person is small. Accordingly, the computing device (100) can more accurately predict the risk according to the density of the crowd by setting a high threshold for predicting the density of the crowd as a dangerous situation when the motion vector (2-1 motion vector) of a specific person is large. In other words, the computing device (100) can more accurately predict the risk according to the density of the crowd by dynamically setting a threshold for predicting the density of the crowd as a dangerous situation according to the size of the motion vector (2-1 motion vector) of a specific person in the second image including one or more crowds. Meanwhile, a specific description of the process of dynamically setting a threshold according to the size of the motion vector (2-1 motion vector) of a specific person in the second image including one or more crowds by the computing device (100) will be described later with reference to FIG. 6A.

[0081] According to another embodiment of the present disclosure, the computing device (100) may set the threshold to be smaller as the sum of the plurality of second motion vectors included in the second image is larger, and may set the threshold to be larger as the sum of the plurality of second motion vectors is smaller. In this regard, when the crowd fluidization phenomenon occurs, individuals in the crowd cannot move arbitrarily and are forced to move along the flow of the crowd, and thus have a characteristic of all moving in the same direction. Therefore, in this case, individuals in the crowd can move arbitrarily and move in random directions, so that the sum of vectors is likely to be calculated to be larger than when the second motion vectors exist in multiple directions. Therefore, when the sum of the second motion vectors is large, the likelihood that the crowd fluidization phenomenon has occurred is higher than when the sum of the second motion vectors is small, and thus the computing device (100) may set the threshold to be smaller as the sum of the second motion vectors is large, thereby more accurately predicting the risk according to the density of the crowd. Meanwhile, a specific description of the process in which the computing device (100) dynamically sets a threshold according to the size of the sum of the second motion vectors in the second image including one or more crowds is described below with reference to FIG. 6b.

[0082]

[0083] FIG. 4 is a schematic diagram illustrating a process of extracting first motion information from a first image related to the motion of a fluid using a neural network model according to one embodiment of the present disclosure.

[0084] Referring to FIG. 4, according to one embodiment of the present disclosure, a computing device (100) may acquire a first image (10) and extract first motion information (20) from the first image (10) by utilizing a neural network model (11). At this time, the neural network model (11) may include a pre-trained neural network model to extract motion information from an image, and examples thereof include a Two-Stream CNN, a Three-Dimensional Convolutional Neural Network (3D CNN), an Inflated 3D ConvNet (I3D), FlowNet, a Temporal Shift Module (TSM), etc., which perform motion recognition and activity recognition, but are not limited thereto and various models may be used. In addition, the first image (10) may be an image related to the motion of a fluid, and specifically, may include an image acquired by utilizing a physical model capable of simulating the motion of a fluid. For example, the first image (10) may include images related to waves, fluid flow, etc., in which the movement of a particle of a fluid at a specific point induces a reaction to the movement of a particle at another point, such as the wave example of FIG. 4. At this time, the physical model may be, but is not limited to, SPH (Smoothed Particle Hydrodynamics), RANS (Reynolds-Averaged Navier-Stokes) Model, Large Eddy Simulation, etc., which simulate the movement of the fluid.

[0085] Meanwhile, according to one embodiment of the present disclosure, the computing device (100) can extract a first motion vector (20) from the first image (10) by utilizing the neural network model (11). At this time, the first motion vector (20) can include first optical flow information of the first image, and the optical flow information can express the direction and size of the movement of an object included in the image using HSV (luminosity, saturation, color). For example, when there is a video of a moving hand, the direction and speed of the hand moving can be determined by predicting the optical flow information of the video, and in the example of FIG. 4, when the wave of the first image (10) is transmitted from left to right, the first motion vector (20) can be expressed as the direction of the arrow from left to right and the size of the arrow. Meanwhile, the optical flow information can be obtained through a block matching method, a Gunner Farneback algorithm, a Lucas-Kanade algorithm, etc., but is not limited to the above examples and can be obtained through various methods.

[0086] Additionally, according to one embodiment of the present disclosure, the computing device (100) can store the first motion information (20) extracted from the first image (10) in the database (30). For example, the computing device (100) can store the first motion vector (20) extracted from the first image (10) in the database (30), and the first motion vector (20) stored in the database (30) can be utilized in the process of predicting the density of a crowd included in a second image to be described later. Through this, the computing device (100) can utilize the database (30) in which the first motion information (20) of the first image (10) is stored in the process of predicting the density of a crowd, thereby effectively predicting the density of a crowd by utilizing the first motion information (20) stored in the database (30) even when there is no first image (10) to be compared with the second image including one or more crowds in real time. Meanwhile, the first movement information (20) extracted from the first image (10) can be utilized in the process of predicting the density of the crowd included in the second image to be described later, and a specific description related thereto will be described later with reference to FIG. 5.

[0087]

[0088] FIG. 5 is a schematic diagram illustrating a process of calculating a similarity between first motion information related to the motion of a fluid and second motion information related to one or more crowds according to one embodiment of the present disclosure.

[0089] Referring to FIG. 5, a computing device (100) may obtain a second image (40) including one or more crowds, and extract second movement information (50) from the second image (40) by utilizing the neural network model (11). At this time, the neural network model (11) may include a pre-trained neural network model to extract movement information from the image, and examples thereof include a Two-Stream CNN, a 3D CNN (Three-Dimensional Convolutional Neural Network), an I3D (Inflated 3D ConvNet), a FlowNet, and a TSM (Temporal Shift Module), which perform motion recognition and activity recognition, but are not limited thereto, and various models may be used. In addition, the second image (40) may be an image including one or more crowds, and specifically, may be an image of the movement of a crowd captured by CCTV on a street, a playground, or an indoor space, but is not limited thereto. In addition, the computing device (100) can extract a second motion vector (50) from the second image (40) by utilizing the neural network model (11). At this time, the second motion vector (50) can include second optical flow information of the second image (40), and the optical flow information can express the direction and size of the movement of an object included in the image using HSV (brightness, saturation, color), and in the example of FIG. 5, when the crowd of the second image (10) is moving from left to right, the second motion vector (50) can be expressed by the direction of the arrow from left to right and the size of the arrow.In this regard, the optical flow information may be obtained through a block matching method, a Gunner Farneback algorithm, a Lucas-Kanade algorithm, etc., but is not limited to the above examples and may be obtained through various methods.

[0090] In addition, the computing device (100) can predict the density of the crowd included in the second image (40) based on the first movement information (20) (or, the first movement information stored in the database (30)) and the second movement information (50). For example, the computing device (100) can calculate the similarity between the first movement information (20) and the second movement information (50), and predict the density of the crowd included in the second image (40) based on the calculated similarity. In addition, the computing device (100) can predict the density of the crowd included in the second image (40) as a dangerous situation when the calculated similarity exceeds a set threshold. More specifically, in the example of FIG. 5, the computing device (100) can set the threshold to 0.75, and if the calculated similarity between the first movement information (20) and the second movement information (50) is 0 to 0.4 or less, the crowd density can be predicted as “safe”, if the similarity is greater than 0.4 and less than 0.75, “congested”, and if the similarity is greater than 0.75, “dangerous”. However, the similarity value is merely an example, and various examples other than the value can be used as similarities for predicting the crowd density. In this regard, when a large number of people gather in a limited space, a crowd fluidization phenomenon may occur. When a large number of people exist in a limited space like this, the crowd interacts while maintaining a certain density and movement pattern, and the characteristics of a fluid may appear, such as being compressed as the density increases and dispersing as the density decreases. In addition, when the crowd fluidization phenomenon occurs, individuals in the crowd cannot move freely and are forced to move along with the flow of the crowd, which increases the risk of casualties.Accordingly, the computing device (100) calculates the similarity between the first movement information related to the movement of the fluid and the movement of the crowd and the second movement information, and if the calculated similarity exceeds a set threshold, predicts that the density of the crowd included in the second image is a dangerous situation (i.e., the occurrence of the crowd fluidization phenomenon), thereby solving the problem of difficulty in accurate prediction due to failure to reflect individual characteristics compared to the existing method of predicting risk according to the density of the crowd with the number of people per square meter. Meanwhile, the threshold may be set based on the second movement information (50) related to the second image (40), and a detailed description thereof will be described later with reference to FIGS. 6A and 6B.

[0091]

[0092] FIGS. 6A and 6B are schematic diagrams illustrating a process of setting a similarity threshold based on motion information of a second image associated with one or more crowds according to one embodiment of the present disclosure.

[0093] First, referring to FIG. 6A, the computing device (100) can set the threshold to be larger as the size of the 2-1 motion vector (50-1) included in the second image (40) increases, and can set the threshold to be smaller as the size of the 2-1 motion vector (50-1) decreases. Specifically, the computing device (100) can extract the second motion vector (50) from the second image (40) and can extract the 2' motion vector (51) from the 2' image (41) by utilizing the neural network model (11). At this time, the size of the 2-1' motion vector (50-1), which is one of the vectors included in the 2' motion vector (50), can be smaller than the size of the 2-1' motion vector (51-1), which is one of the vectors included in the 2' motion vector (51). In this regard, based on the fact that “when the crowd fluidization phenomenon occurs, individuals in the crowd cannot move voluntarily and are forced to move by being pushed along by the flow of the crowd,” the fact that the 2-1' motion vector (51-1) of a specific person in the 2nd and 2' images (40 and 41) including one or more crowds is greater than the 2-1 motion vector (50-1) can be interpreted as meaning that individuals in the crowd included in the 2' image (41) are relatively more free to move than individuals in the crowd included in the 2nd image (40). Accordingly, if the 2-1' motion vector (51-1) of a specific person in the 2' image (41) including one or more crowds is greater than the 2-1' motion vector (50-1), the possibility that a crowd fluidization phenomenon has occurred in the 2' image (41) may be relatively low compared to the case of the 2nd image (40), and in this case, the computing device (100) may set the threshold of the 2' image (41) for predicting the density of the crowd as a dangerous situation to 0.9, which is higher than the threshold of the 2nd image (40) of 0.75.Through this, the computing device (100) can more accurately predict the risk according to the density of the crowd by dynamically setting a threshold for predicting the density of the crowd as a dangerous situation based on the size of the motion vector (2-1 motion vector (50-1)) of a specific person in the second image (40) including one or more crowds.

[0094] Meanwhile, referring to FIG. 6b, the computing device (100) can set the threshold value smaller as the size of the sum of the plurality of second motion vectors included in the second image (40) becomes larger, and can set the threshold value larger as the size of the sum of the plurality of second motion vectors becomes smaller.

[0095]

[0096] *Specifically, the computing device (100) can extract a plurality of second motion vectors (50-a, and 50-b) from the second image (40) and can extract a plurality of second' motion vectors (51-a, and 51-b) from the second' image (41) by utilizing the neural network model (11). Thereafter, the computing device (100) can obtain a second sum motion vector (80) by calculating (70) the sum of the plurality of second motion vectors (50-a, and 50-b) and can obtain a second sum motion vector (81) by calculating (71) the sum of the plurality of second' motion vectors (51-a, and 51-b). At this time, in the second image (40), person a and person b may be moving in the same direction, and in the 2' image (41), person a' and person b' may be moving in opposite directions. Therefore, in the second image (40), the 2-a vector (50-a), which is the motion vector of person a, and the 2-b vector (50-b), which is the motion vector of person b, are in the same direction, and in the 2' image (41), the 2-a' vector (51-a), which is the motion vector of person a', and the 2-b' vector (51-b), which is the motion vector of person b', are in opposite directions, so the size of the 2nd total motion vector (80), which is the sum of these, may be greater than the size of the 2' total motion vector (81). In this regard, when the crowd fluidization phenomenon occurs, individuals in the crowd cannot move voluntarily and are forced to move while being pushed along by the flow of the crowd, so that they all move in the same direction. In such cases, since each individual in the crowd can move in any direction they want, the sum of the vectors is likely to be calculated to be larger than when the individual movement vectors exist in multiple directions.Accordingly, since the possibility that the crowd fluidization phenomenon has occurred in the case of the second image (40) is higher than that in the case of the second' image (41) when the magnitude of the second total motion vector (80) is greater than that of the second' total motion vector (81), the computing device (100) can set the threshold of the second' image (41) for predicting the crowd density as a dangerous situation to 0.8, which is higher than the threshold of the second image (40) of 0.7. In summary, the computing device (100) can more accurately predict the danger according to the crowd density by setting the threshold to a smaller value as the magnitude of the sum (80) of the second motion vectors (50) in the second image (40) including one or more crowds becomes larger.

[0097]

[0098] According to one embodiment of the present disclosure, a computer-readable medium storing a data structure is disclosed. A data structure can refer to the organization, management, and storage of data that enables efficient access and modification of the data. A data structure can refer to the organization of data to solve a specific problem (e.g., data retrieval, data storage, or data modification in the shortest possible time). A data structure can also be defined as a physical or logical relationship between data elements designed to support a specific data processing function. A logical relationship between data elements can include a connection relationship between user-defined data elements. A physical relationship between data elements can include an actual relationship between data elements physically stored in a computer-readable storage medium (e.g., a persistent storage device). A data structure can specifically include a set of data, relationships between data, and functions or commands applicable to the data. An effectively designed data structure enables a computing device to perform operations while minimizing the use of its resources. Specifically, a computing device can improve the efficiency of operations, reading, insertion, deletion, comparison, exchange, and searching through an effectively designed data structure.

[0099] Data structures can be categorized as linear or nonlinear, depending on their form. A linear data structure can be a structure in which only one piece of data is linked to the next. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a series of data sets with an internal order. Lists can also include linked lists. A linked list is a data structure in which data is linked in a single line, each piece having a pointer. In a linked list, a pointer can contain information about the next or previous piece of data. Linked lists can be expressed as singly linked lists, doubly linked lists, or circular linked lists, depending on their form. A stack can be a data listing structure with limited data access. A stack can be a linear data structure in which data operations (e.g., insertion or deletion) can only be performed at one end of the data structure. Data stored in a stack can be a Last-in-First-out (LIFO) data structure. A queue is a data structure with limited access to data. Unlike a stack, it can be a first-in, first-out (FIFO) data structure, with later data being retrieved later. A deck can be a data structure that can process data at both ends.

[0100] A nonlinear data structure can be a structure in which multiple pieces of data are connected behind a single piece of data. Nonlinear data structures can include graph data structures. A graph data structure can be defined by vertices and edges, and an edge can include a line connecting two different vertices. Graph data structures can include tree data structures. A tree data structure can be a data structure in which there is only one path connecting two different vertices among multiple vertices included in the tree. In other words, it can be a data structure that does not form a loop in a graph data structure.

[0101] Throughout this specification, the terms computational model, neural network, network function, and neural network may be used interchangeably. Hereinafter, they are collectively referred to as neural networks. The data structure may include a neural network. And the data structure including the neural network may be stored on a computer-readable medium. The data structure including the neural network may also include preprocessed data 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. The data structure including the neural network may include any of the components disclosed above. That is, the data structure including the neural network may be configured to include all or any combination of preprocessed data 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. In addition to the aforementioned configurations, 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 in the computational process of the neural network, and is not limited to the aforementioned. The 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, which 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.

[0102] The data structure may include data input to a neural network. The data structure including the data input to the neural network may be stored on a computer-readable medium. The data input to the neural network may include training data input during the neural network training process and / or input data input to the neural network after training has been completed. The data input to the neural network may include data that has undergone preprocessing and / or data that is the target of preprocessing. Preprocessing may include a data processing process for inputting data to the neural network. Accordingly, the data structure may include data that is the target of preprocessing and data generated by the preprocessing. The above-described data structure is merely an example, and the present disclosure is not limited thereto.

[0103] The data structure may include weights of the neural network. (In this specification, the terms "weight" and "parameter" may be used interchangeably.) The data structure including the weights of the neural network may be stored in a computer-readable medium. The neural network may include a plurality of weights. The weights may be variable and may be varied by a user or an algorithm so that the neural network can perform a desired function. For example, when one or more input nodes are interconnected to one output node by respective links, the output node may determine a data value output from the output node based on values ​​input to the input nodes connected to the output node and weights set for links corresponding to each input node. The above-described data structure is merely an example, and the present disclosure is not limited thereto.

[0104] By way of example and not limitation, the weights may include weights that vary during the neural network training process and / or weights that have completed neural network training. The weights that vary during the neural network training process may include weights at the start of the training cycle and / or weights that vary during the training cycle. The weights that have completed neural network training may include weights that have completed the training cycle. Accordingly, a data structure including the weights of a neural network may include a data structure including weights that vary during the neural network training process and / or weights that have completed neural network training. Therefore, the above-described weights and / or combinations of each weight are included in the data structure including the weights of a neural network. The above-described data structures are merely examples and the present disclosure is not limited thereto.

[0105] A data structure including neural network weights can be stored in a computer-readable storage medium (e.g., memory, hard disk) after going through a serialization process. Serialization can 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 and used. A computing device can serialize the data structure to transmit and receive data over a network. The serialized data structure including neural network weights can be reconstructed on the same or different computing devices through deserialization. The data structure including neural network weights is not limited to serialization. Furthermore, the data structure including neural network weights can include a data structure that increases computational efficiency while minimizing the use of computing device resources (e.g., a B-Tree, a Trie, an m-way search tree, an AVL tree, a Red-Black Tree in nonlinear data structures). The foregoing is merely an example, and the present disclosure is not limited thereto.

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

[0107]

[0108] FIG. 7 is a simplified, general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

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

[0110] Generally, program modules include routines, programs, components, data structures, and the like that perform specific tasks or implement specific abstract data types. Furthermore, those skilled in the art will appreciate that the methods of the present disclosure can be implemented with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which may be operatively connected to one or more associated devices.

[0111] The described embodiments of the present disclosure can also be practiced in distributed computing environments, where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0112] Computers typically include a variety of computer-readable media. Computer-readable media can be any media that can be accessed by a computer, and includes both volatile and nonvolatile media, transitory and non-transitory media, removable and non-removable media. By way of example, and not limitation, computer-readable media can include computer-readable storage media and computer-readable transmission media. Computer-readable storage media includes both volatile and nonvolatile media, transitory and non-transitory media, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be accessed by a computer and used to store the desired information.

[0113] Computer-readable transmission media typically includes any information delivery media that embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism. The term modulated data signal means a signal that has one or more of its characteristics set or changed so as to encode information in the signal. By way of example, and not limitation, computer-readable transmission media includes wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, or other wireless media. Combinations of any of the above are also intended to be included within the scope of computer-readable transmission media.

[0114] An exemplary environment (1100) implementing various aspects of the present disclosure is illustrated, including a computer (1102) comprising a processing unit (1104), system memory (1106), and a system bus (1108). The system bus (1108) connects system components, including but not limited to the system memory (1106), to the processing unit (1104). The processing unit (1104) may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be utilized as the processing unit (1104).

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

[0116] The computer (1102) also includes an internal hard disk drive (HDD) (1114) (e.g., EIDE, SATA) - which may also 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 or writing to a CD-ROM disk (1122) or 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 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), respectively. The interface (1124) for implementing an external drive includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.

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

[0118] 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 portions of the operating system, applications, modules, and / or data may also be cached in RAM (1112). It will be appreciated that the present disclosure may be implemented in various commercially available operating systems or combinations of operating systems.

[0119] A user may enter commands and information into the computer (1102) via one or more wired / wireless input devices, such as a keyboard (1138) and a pointing device such as 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, and the like. These and other input devices are often connected to the processing unit (1104) via an input device interface (1142) that is connected to the system bus (1108), but may be connected by other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, and the like.

[0120] 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 typically includes other peripheral output devices (not shown), such as speakers, a printer, and so on.

[0121] The computer (1102) may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) (1148), via wired and / or wireless communications. 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), although for simplicity, only the memory storage device (1150) is shown. The logical connections shown include wired / wireless connections to a local area network (LAN) (1152) and / or a larger network, such as 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 may be connected to a worldwide computer network, such as the Internet.

[0122] 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 communications to the LAN (1152), which may also include a wireless access point installed therein for communicating with the wireless adapter (1156). When used in a WAN networking environment, the computer (1102) may include a modem (1158), be connected to a communications computing device on the WAN (1154), or have other means of establishing communications over the WAN (1154), such as via the Internet. The modem (1158), which may be internal or external and wired or wireless, is connected to the system bus (1108) via a serial port interface (1142). In a networked environment, program modules or portions thereof described for the computer (1102) may be stored in a remote memory / storage device (1150). It will be appreciated that the network connections depicted are exemplary and other means of establishing a communications link between the computers may be used.

[0123] The computer (1102) operates to communicate with any wireless device or object that is arranged and operates via wireless communication, such as a printer, a scanner, a desktop and / or portable computer, a portable data assistant (PDA), a communication satellite, any equipment or location associated with a radio-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 may simply be an ad hoc communication between at least two devices.

[0124] Wi-Fi (Wireless Fidelity) enables connections to the Internet and other devices without wires. Wi-Fi is a wireless technology that allows devices, such as computers, to send and receive data anywhere within the coverage area of ​​a base station, both indoors and outdoors, similar to cell phones. Wi-Fi networks use wireless technologies 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 the unlicensed 2.4 and 5 GHz radio bands, at data rates of, for example, 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual-band).

[0125] Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols, and chips 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.

[0126] Those skilled in the art will appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, various forms of programs or design code (referred to herein, for convenience, as software), or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

[0127] The various embodiments presented herein can be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term article of manufacture includes a computer program, carrier, or media 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 disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Furthermore, various storage media presented herein include one or more devices and / or other machine-readable media for storing information.

[0128] It should be understood that the specific order or hierarchy of steps in the presented processes is merely 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 the present disclosure based on design priorities. The appended method claims provide elements of various steps in a sample order, but are not intended to be limited to the specific order or hierarchy presented.

[0129] The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those 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. Therefore, the present disclosure is not intended to be limited to the embodiments disclosed herein, but is to be construed in the broadest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for predicting the density of a crowd, performed by a computing device, A step of acquiring a first image and extracting first motion information from the first image by utilizing a neural network model; A step of obtaining a second image including one or more crowds, and extracting second motion information from the second image by utilizing the neural network model; and A step of predicting the density of a crowd included in the second image based on the first motion information and the second motion information; Including, method.

2. In paragraph 1, The first image above is, An image related to the movement of a fluid, method.

3. In paragraph 2, Images related to the movement of the above fluid are: Includes images acquired using a physical model capable of simulating the movement of fluids. method.

4. In paragraph 1, The step of extracting the first motion information from the first image by utilizing the above neural network model is: A step of extracting a first motion vector from the first image by utilizing the above neural network model, The step of extracting second motion information from the second image by utilizing the above neural network model is: A step of extracting a second motion vector from the second image by utilizing the above neural network model, method.

5. In paragraph 4, The above first motion vector is, Contains first optical flow information of the first image, The second motion vector is, Containing second optical flow information of the second image, method.

6. In paragraph 4, The step of extracting the first motion vector from the first image by utilizing the above neural network model is: Further comprising a step of storing the first motion vector extracted from the first image in a database, The step of predicting the density of the crowd included in the second image based on the first motion information and the second motion information is: A step of predicting the density of a crowd included in the second image based on the first motion vector and the second motion vector included in the database, method.

7. In paragraph 1, The step of predicting the density of the crowd included in the second image based on the first motion information and the second motion information is: A step of calculating the similarity between the first motion information and the second motion information; and A step of predicting the density of a crowd included in the second image based on the calculated similarity, method.

8. In paragraph 7, The step of predicting the density of the crowd included in the second image based on the calculated similarity is as follows. A step of predicting the density of the crowd included in the second image as a dangerous situation when the calculated similarity exceeds a set threshold; Including, method.

9. In paragraph 8, The threshold set above is, Set based on the second motion information related to the second image, method.

10. In paragraph 9, The threshold set above is, The larger the size of the 2-1 motion vector included in the second image, the larger the set threshold is set, and the smaller the size of the 2-1 motion vector, the smaller the set threshold is set. method.

11. In paragraph 9, The threshold set above is, The larger the sum of the plurality of second motion vectors included in the second image, the smaller the set threshold is set, and the smaller the sum of the plurality of second motion vectors, the larger the set threshold is set. method.

12. A computer program stored in a computer-readable storage medium, wherein the computer program, when executed by one or more processors, causes the one or more processors to perform operations for predicting the density of a crowd, the operations comprising: An operation of acquiring a first image and extracting first motion information from the first image by utilizing a neural network model; An operation of obtaining a second image including one or more crowds, and extracting second motion information from the second image by utilizing the neural network model; and An operation of predicting the density of a crowd included in the second image based on the first motion information and the second motion information; Including, A computer program stored on a computer-readable storage medium.

13. In paragraph 12, The operation of extracting the first motion information from the first image by utilizing the above neural network model is as follows. An operation of extracting a first motion vector from the first image by utilizing the above neural network model, The operation of extracting second motion information from the second image by utilizing the above neural network model is as follows. An operation of extracting a second motion vector from the second image by utilizing the above neural network model, A computer program stored on a computer-readable storage medium.

14. In paragraph 13, The operation of extracting the first motion vector from the first image by utilizing the above neural network model is as follows. Further comprising an action of storing the first motion vector extracted from the first image in a database, An operation of predicting the density of a crowd included in the second image based on the first motion information and the second motion information is as follows. An operation for predicting the density of a crowd included in the second image based on the first motion vector and the second motion vector included in the database, A computer program stored on a computer-readable storage medium.

15. As a computing device, at least one processor; and Memory Including, At least one processor of the above, Acquire a first image, and extract first motion information from the first image by utilizing a neural network model; Obtaining a second image including one or more crowds, and extracting second motion information from the second image by utilizing the neural network model; and configured to predict the density of a crowd included in the second image based on the first motion information and the second motion information; Computing device.

Citation Information

Patent Citations

  • Flow situation measurement device, method, and program

    JP2018074299A

  • System and method for automated measurement of crowd density using neural network

    KR1020120048156A

  • Method for detecting motion vector based on histogram

    KR1020160035631A

  • System and Method for Crowd Risk Management by Supporting Under and Over Crowded Environments

    KR102584708B1

  • KR20210126690A