Method for identifying object by using gait cycle

The method enhances biometric identification by using gait cycle analysis with multiple neural networks to generate and compare gait information, addressing limitations of existing systems and improving reliability and accuracy.

WO2026023764A1PCT designated stage Publication Date: 2026-01-29SAFE AI CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/020483
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-24
Filing Date
2024-12-17
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing biometric systems are limited to specific environments and lack reliability, as they often require close proximity and can be easily replicated, making them less effective for identifying individuals from a distance.

Method used

A method using a gait cycle analysis that generates different types of gait information through multiple neural network models, including image-based and keypoint information, to enhance identification accuracy and reliability.

Benefits of technology

The method increases the accuracy and reliability of object identification by leveraging unique gait characteristics, which are difficult to replicate and can be recognized from a distance, thereby improving security systems and criminal identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024020483_29012026_PF_FP_ABST
    Figure KR2024020483_29012026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is a method by which a computing device, according to one embodiment of the present disclosure, identifies an object by using a gait cycle. The method may comprise the steps of: generating first gait information on the basis of first type information by using a first neural network model; generating second gait information on the basis of second type information by using a second neural network model; and identifying an object on the basis of the first gait information and the second gait information by using a classifier.
Need to check novelty before this filing date? Find Prior Art

Description

How to identify objects using gait cycles

[0001] The present invention relates to a method for identifying an object, and more particularly, to a technique for identifying an object by utilizing a gait cycle.

[0002] Biometrics refers to identifying individuals based on physical (or behavioral) characteristics. The most commonly used method today involves capturing images of body parts, extracting and comparing them as features, and comparing them. Examples include fingerprint recognition, facial recognition, iris recognition, and vein recognition. Voice recognition utilizes the human voice. However, these biometric applications are limited to limited environments.

[0003] Meanwhile, a person's gait possesses unique characteristics for each individual. Furthermore, gait can be recognized from a distance and is difficult to replicate, making it a reliable biometric. For these reasons, gait cycle analysis holds great potential for application in various fields, such as identifying criminals through CCTV footage analysis and as a new authentication method for security systems.

[0004] Korean Patent No. 10-2024-0091591 (June 21, 2024) discloses a gait analysis system using image object recognition.

[0005] The present disclosure aims to provide a method for identifying an object by generating different types of gait information based on different types of information, based on images acquired by a photographing device.

[0006] 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.

[0007] According to one embodiment of the present disclosure for achieving the aforementioned task, a method for identifying an object using a gait cycle performed by a computing device is disclosed. The method may include the steps of generating first gait information based on first type of information using a first neural network model; generating second gait information based on second type of information using a second neural network model; and identifying an object based on the first gait information and the second gait information using a classifier.

[0008] In one embodiment, the first type of information corresponds to images acquired in a time series manner, and the step of generating first gait information based on the first type of information by utilizing the first neural network model may include the steps of: acquiring an average gait energy image based on the images acquired in a time series manner; dividing the average gait energy image into patches of a predetermined size; and generating a first embedding vector based on the patches.

[0009] In one embodiment, the step of generating a first embedding vector based on the patches may further include the step of selecting patches that satisfy a specific criterion among each of the patches as input patches of the first neural network model; and the step of generating the first embedding vector based on the selected input patches.

[0010] In one embodiment, the patches satisfying the specific criteria may include either: patches containing at least a portion of a body part; or patches containing a region with a large movement as a result of calculating the difference between the time-series acquired images.

[0011] In one embodiment, the second type of information includes movement pattern information generated based on human body keypoint information, and the step of generating second gait information based on the second type of information by utilizing the second neural network model may include the step of obtaining the human body keypoint information from each of a plurality of images; and the step of generating the movement pattern information based on the obtained human body keypoint information.

[0012] In one embodiment, the step of obtaining human body keypoint information from each of the plurality of images may include the steps of: extracting candidate keypoints for each of the plurality of images; obtaining a confidence score for the extracted candidate keypoints; selecting candidate keypoints having a confidence score greater than a threshold value among the candidate keypoints based on the confidence score; and obtaining the human body keypoint information from the selected candidate keypoints.

[0013] In one embodiment, the step of generating first gait information based on the first type of information by utilizing the first neural network model may include the step of generating 1-1 gait information based on the first type of information of the first person by utilizing the first neural network model; the step of generating 1-2 gait information based on the first type of information of the second person by utilizing the first neural network model; and the step of determining gait information having a high degree of similarity to the second gait information among the 1-1 gait information and the 1-2 gait information as the first gait information.

[0014] In one embodiment, the step of generating second gait information based on the second type of information by utilizing the second neural network model may include the step of generating 2-1 gait information based on the second type of information of the first person by utilizing the second neural network model; the step of generating 2-2 gait information based on the second type of information of the second person by utilizing the second neural network model; and the step of determining gait information having a high degree of similarity to the first gait information among the 2-1 gait information and the 2-2 gait information as the second gait information.

[0015] 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 the following operations for identifying an object using a gait cycle, wherein the operations may include: generating first gait information based on a first type of information using a first neural network model; generating second gait information based on a second type of information using a second neural network model; and identifying an object based on the first gait information and the second gait information using a classifier.

[0016] In one embodiment, the first type of information corresponds to images acquired in a time series manner, and the operation of generating first gait information based on the first type of information by utilizing the first neural network model may include: acquiring an average gait energy image based on the images acquired in a time series manner; dividing the average gait energy image into patches of a predetermined size; and generating a first embedding vector based on the patches.

[0017] In one embodiment, the operation of generating a first embedding vector based on the patches may further include the operation of selecting patches that satisfy a specific criterion among each of the patches as input patches of the first neural network model; and the operation of generating the first embedding vector based on the selected input patches.

[0018] In one embodiment, the patches satisfying the specific criteria may include either: patches containing at least a portion of a body part; or patches containing a region with a large movement as a result of calculating the difference between the time-series acquired images.

[0019] In one embodiment, the second type of information includes movement pattern information generated based on human body keypoint information, and the operation of generating second gait information based on the second type of information by utilizing the second neural network model may include an operation of obtaining the human body keypoint information from each of a plurality of images; and an operation of generating the movement pattern information based on the obtained human body keypoint information.

[0020] In one embodiment, the operation of obtaining human body keypoint information from each of the plurality of images may include: extracting candidate keypoints for each of the plurality of images; obtaining a confidence score for the extracted candidate keypoints; selecting candidate keypoints having a confidence score greater than or equal to a threshold value among the candidate keypoints based on the confidence score; and obtaining the human body keypoint information from the selected candidate keypoints.

[0021] In one embodiment, the operation of generating first gait information based on the first type of information by utilizing the first neural network model may include: an operation of generating 1-1 gait information based on the first type of information of the first person by utilizing the first neural network model; an operation of generating 1-2 gait information based on the first type of information of the second person by utilizing the first neural network model; and an operation of determining gait information having a high degree of similarity to the second gait information among the 1-1 gait information and the 1-2 gait information as the first gait information.

[0022] In one embodiment, the operation of generating second gait information based on the second type of information by utilizing the second neural network model may include: an operation of generating 2-1 gait information based on the second type of information of the first person by utilizing the second neural network model; an operation of generating 2-2 gait information based on the second type of information of the second person by utilizing the second neural network model; and an operation of determining gait information having a high degree of similarity to the first gait information among the 2-1 gait information and the 2-2 gait information as the second gait information.

[0023] A computing device according to one embodiment of the present disclosure for achieving the aforementioned task is disclosed. The device includes at least one processor; and a memory, wherein the at least one processor is configured to generate first gait information based on a first type of information using a first neural network model; generate second gait information based on a second type of information using a second neural network model; and identify an object based on the first gait information and the second gait information using a classifier.

[0024] In one embodiment, the first type of information corresponds to images acquired in a time series manner, and the at least one processor may be configured to acquire an average walking energy image based on the images acquired in a time series manner; segment the average walking energy image into patches of a predetermined size; and generate a first embedding vector based on the patches.

[0025] In one embodiment, the at least one processor may be further configured to select, from among the patches, patches that satisfy a specific criterion as input patches of the first neural network model; and generate the first embedding vector based on the selected input patches.

[0026] In one embodiment, the patches satisfying the specific criteria may include either: patches containing at least a portion of a body part; or patches containing a region with a large movement as a result of calculating the difference between the time-series acquired images.

[0027] In one embodiment, the second type of information includes movement pattern information generated based on human body keypoint information, and the at least one processor may be configured to obtain the human body keypoint information from each of a plurality of images; and generate the movement pattern information based on the obtained human body keypoint information.

[0028] In one embodiment, the at least one processor may be configured to extract candidate keypoints for each of the plurality of images; obtain a confidence score for the extracted candidate keypoints; select candidate keypoints having a confidence score greater than a threshold value among the candidate keypoints based on the confidence score; and obtain the human body keypoint information from the selected candidate keypoints.

[0029] In one embodiment, the at least one processor may be configured to generate 1-1 gait information based on the first type of information of the first person by utilizing the first neural network model; generate 1-2 gait information based on the first type of information of the second person by utilizing the first neural network model; and determine gait information having a high degree of similarity to the second gait information among the 1-1 gait information and the 1-2 gait information as the first gait information.

[0030] In one embodiment, the at least one processor may be configured to generate 2-1 gait information based on the second type of information of the first person by utilizing the second neural network model; generate 2-2 gait information based on the second type of information of the second person by utilizing the second neural network model; and determine gait information having a high degree of similarity to the first gait information among the 2-1 gait information and the 2-2 gait information as the second gait information.

[0031] The present disclosure can offset noise or errors that may occur in a single piece of information by extracting features optimized for different types of data using different neural network models and identifying objects using a plurality of extracted gait information, thereby increasing the accuracy of object identification and enhancing reliability.

[0032] 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.

[0033] FIG. 1 is a block diagram of a computing device for identifying an object using a gait cycle according to one embodiment of the present disclosure.

[0034] FIG. 2 is a conceptual diagram illustrating a neural network according to one embodiment of the present disclosure.

[0035] FIG. 3 is a schematic diagram of an operation for identifying an object using a gait cycle according to one embodiment of the present disclosure.

[0036] FIG. 4 is a schematic diagram of an operation for determining first gait information according to one embodiment of the present disclosure.

[0037] FIG. 5 is a schematic diagram of an operation for determining second gait information according to one embodiment of the present disclosure.

[0038] FIG. 6 is a flowchart illustrating a method for identifying an object using a gait cycle according to one embodiment of the present disclosure.

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

[0040] 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.

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

[0042] 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.

[0043] 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."

[0044] 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".

[0045] 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.

[0046] 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.

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

[0048]

[0049] FIG. 1 is a block diagram of a computing device for identifying an object using a gait cycle according to one embodiment of the present disclosure.

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

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

[0052] 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) to 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. The processor (110) may perform calculations for learning a neural network, 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 using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) may process learning of a network function. For example, a CPU and a GPGPU can jointly process network function learning and data classification using network functions. Furthermore, in one embodiment of the present disclosure, processors of multiple computing devices can be jointly used to process network function learning and data classification using network functions. 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.

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

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

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

[0056] In addition, the network unit (150) presented in this specification 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.

[0057] 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 local area network (LAN), 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.

[0058] The techniques described in this specification can be used in other networks as well as the networks mentioned above.

[0059]

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

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

[0062] A neural network can be composed of a set of interconnected computational units, generally referred to as nodes. These nodes can also be referred to as neurons. A neural network consists of at least one node. The nodes (or neurons) that make up a neural network can be interconnected by one or more links.

[0063] 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.

[0064] 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.

[0065] 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.

[0066] 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.

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

[0068] An initial input node may refer to one or more nodes within a neural network to which data is directly input without going through links in their relationships 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 relationships 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.

[0069] 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.

[0070] 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. This includes images, text, videos, audio, protein sequence structures, gene sequence structures, peptide sequence structures, the latent structure of music (e.g., what objects are in a photo, what the content and emotion of a text are, what the content and emotion of a voice are, etc.), and / or the binding affinity between peptides and MHC. DNNs can include convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, restricted Boltzmann machines (RBMs), deep belief networks (DBNs), Q-networks, U-networks, Siamese networks, generative adversarial networks (GANs), and transformers. The description of the deep neural network described above is only an example and the present disclosure is not limited thereto.

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

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

[0073] 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. In supervised learning, training data with the correct answer for each training data is used (i.e., labeled training data). In unsupervised learning, the correct answer may not be labeled for each training data. For example, in 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 neural network output (category) with the training data labels. Alternatively, in 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.

[0074] 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.

[0075]

[0076] FIG. 3 is a schematic diagram of an operation for identifying an object using a gait cycle according to one embodiment of the present disclosure.

[0077] According to one embodiment of the present disclosure, a computing device (100) can generate first gait information (11) based on first type of information by utilizing a first neural network model (10). For example, the first type of information may correspond to images acquired in a time series manner. For example, the images acquired in a time series manner may be acquired from CCTV cameras, personal and commercial security cameras, drones and aerial photography, mobile devices, vehicle-mounted cameras, etc.

[0078] According to one embodiment, the computing device (100) may acquire an average gait energy image (GEI) based on images acquired in a time series manner. The average gait energy image may be an image that summarizes the movement pattern of gait over time into a single static image. For example, the computing device (100) may collect the silhouette width as a time series signal from each frame of the time series acquired images. In the time series signal, a local maximum may correspond to a frame in which the two legs are the farthest apart. Conversely, the width of the silhouette may reach a local minimum when the two legs completely overlap. Each gait cycle may be determined by alternating key frames. Additionally, the average gait energy image may be a grayscale image. Additionally, the computing device (100) may acquire the average gait energy image by averaging the silhouettes of all frames acquired in a time series manner during a gait cycle.

[0079] According to one embodiment, the computing device (100) may segment an average walking energy image into patches of a predetermined size. Furthermore, the computing device (100) may generate a first embedding vector based on the segmented patches. Furthermore, the computing device (100) may flatten each segmented patch and transform it into an embedding vector of a fixed size through a linear transformation. In this process, the visual characteristics of each patch may be expressed as an embedding vector. Furthermore, the computing device (100) may add a position embedding vector to each patch embedding vector to maintain the order of the image patches. For reference, the position embedding vector may be a vector representing position information of each patch.

[0080] According to one embodiment, the computing device (100) may select patches that satisfy specific criteria from among the patches as input patches for the first neural network model (10). For example, the patches that satisfy the specific criteria may include either patches containing at least a portion of a body part or patches containing a region with significant movement as a result of calculating differences between images acquired over time. For example, the patches containing at least a portion of a body part may be patches containing at least a portion of a body part such as a person's face, arms, or legs. It should be noted that gait and movement patterns may vary from person to person. For example, since a first person swings his or her arms significantly when walking, the patches containing regions with significant movement may include the arm and leg regions. On the other hand, a second person rarely moves his or her arms and only moves his or her legs when walking, so the patches containing regions with significant movement may primarily include the leg regions. The computing device (100) may select patches important for extracting gait information from each patch by considering the gait and movement patterns of each individual. For example, referring to FIG. 3, the computing device (100) can select patches including the leg (lower body) region as input patches of the first neural network model (10).

[0081] In addition, the computing device (100) can generate a first embedding vector based on the selected input patches. The generated first embedding vector can be utilized as an input of the first neural network model (10). In other words, the computing device (100) can generate the first embedding vector by selecting only the patches in which a movement (action) related to walking is expressed from each of the patches. Meanwhile, the computing device (100) generates the first embedding vector by excluding patches that do not satisfy a specific criterion, thereby reducing the amount of data that the first neural network model (10) must process, which can improve the computational speed and reduce resource consumption. In addition, the computing device (100) generates the first embedding vector by excluding patches that do not satisfy a specific criterion, thereby allowing the first neural network model (10) to more accurately extract meaningful walking features from important patches, which can improve the quality of the final walking information.

[0082] According to one embodiment, the computing device (100) can assign weights to patches that satisfy specific criteria. Furthermore, the computing device (100) can generate a first embedding vector based on the weighted input patches. The generated first embedding vector can be utilized as an input to the first neural network model (10). In other words, the computing device (100) can generate the first embedding vector by assigning weights to patches that express a movement (action) related to walking in each of the patches. Meanwhile, by the computing device (100) assigning weights to patches that satisfy specific criteria and utilizing all patches to generate the first embedding vector, important information related to walking can be emphasized and overall information loss can be minimized.

[0083] According to one embodiment, the computing device (100) can input the generated first embedding vector into the first neural network model (10) to generate first gait information (11). For example, the first neural network model (10) can be a vision transformer encoder. In addition, the first neural network model (10) can process the input first embedding vectors through multiple layers of self-attention and feedforward neural networks to extract important gait features and generate first gait information. For example, the self-attention of the first neural network model (10) can learn the relationship between each input patch embedding vector and all other patch embedding vectors, thereby emphasizing important gait features. In addition, the feedforward neural network of the first neural network model (10) can extract gait features based on information obtained through attention and generate high-dimensional vectors.

[0084]

[0085] According to one embodiment of the present disclosure, the computing device (100) can generate second gait information (21) based on second type information by utilizing the second neural network model (20). For example, the second type information may include movement pattern information generated based on human body keypoint information. First, the computing device (100) can acquire a plurality of images. For example, the plurality of images may be acquired from CCTV cameras, personal and commercial security cameras, drones and aerial photography, mobile devices, vehicle-mounted cameras, etc. Alternatively, the plurality of images may include images that are the same as or different from the first type of information.

[0086] Next, the computing device (100) can obtain human body keypoint information from each of the plurality of images. For example, the computing device (100) can extract keypoints representing major joints and positions (e.g., shoulders, elbows, wrists, pelvis, knees, ankles, etc.) of the human body from each of the plurality of images by utilizing the second neural network model (20). The second neural network model (20) may include a deep learning-based pose estimation model. For example, the pose estimation model may be applied, such as OpenPose, High-Resolution Net (HRNet), AlphaPose (RMPE), DeepCut, Deep Pos, Google's TensorFlow Pose Estimation, and MediaPipe BlazePose, but is not limited thereto, and an algorithm that has been developed or will be developed in the future may be applied. For reference, the human body keypoint information represents the positions of major joints of the human body, and each keypoint may be configured in the form of {x, y, score, name}. The x and y coordinates may represent the positions of the keypoints within the image. In addition, the score may be a confidence score indicating the probability that the locations of the corresponding keypoints are accurate. In addition, the name may indicate the major joints of the human body of the corresponding keypoint (e.g., shoulder, elbow, wrist, pelvis, knee, ankle, etc.). According to one embodiment, the computing device (100) may extract candidate keypoints for each of a plurality of images. For example, the computing device (100) may extract candidate keypoints from each of a plurality of images by utilizing the second neural network model (20). In addition, the computing device (100) may obtain a confidence score for the extracted candidate keypoints. For example, the confidence score may be a score indicating the probability that the locations of the candidate keypoints extracted by the second neural network model (20) are accurate.For another example, the computing device (100) may generate a heat map for each candidate keypoint in each of the plurality of images. The heat map may indicate the probability that each pixel is a corresponding keypoint. In addition, the computing device (100) may select a location with the highest value in the heat map as the location of the candidate keypoint. For example, the computing device (100) may select the brightest part of the heat map as the location of the candidate keypoint. In addition, the computing device (100) may obtain a probability value of the location of the candidate keypoint selected from the heat map as a confidence score. This value may indicate the probability that the location is an actual candidate keypoint. The confidence score may be normalized to a value between 0 and 1, and the closer the confidence score is to 1, the more likely the location of the keypoint is to be accurate. In addition, the computing device (100) may select candidate keypoints having a confidence score greater than a threshold value among the candidate keypoints based on the confidence scores. In addition, the computing device (100) may obtain human body keypoint information from the selected candidate keypoints. Meanwhile, the computing device (100) can exclude incorrectly detected keypoints or keypoints in which errors occurred by selecting only candidate keypoints having a reliability score higher than a threshold value among candidate keypoints.

[0087] According to one embodiment, the computing device (100) can generate movement pattern information based on the acquired human body keypoint information. For example, the computing device (100) can analyze the human body keypoint information acquired in time series using the second neural network model (20) to extract the movement pattern. For example, the computing device (100) can calculate the change in the position of the keypoint between consecutive frames to determine the magnitude and direction of the movement. In addition, the computing device (100) can analyze the movement trajectory of the keypoint to generate the movement pattern during the gait cycle. In addition, the computing device (100) can recognize the human body movement pattern through the temporal change of the keypoint and convert it into a feature vector. For example, the movement pattern may include a movement pattern of the legs, a swinging pattern of the arms, etc. during a specific cycle. Alternatively, the computing device (100) can extract a feature map from each frame based on the acquired human body keypoint information. For example, the computing device (100) may utilize the second neural network model (20) to extract keypoint information and generate a feature map representing a movement pattern based on the extracted keypoint information. The generated feature map may be second gait information (21).

[0088]

[0089] FIG. 4 is a schematic diagram of an operation for determining first gait information according to one embodiment of the present disclosure.

[0090] According to one embodiment of the present disclosure, a plurality of persons may be included in the first type of information. In order to accurately identify an object, the computing device (100) may generate gait information of each of the plurality of persons included in the first type of information by utilizing the first neural network model (10), and then compare the similarity with the second gait information (21) to determine the gait information of the most similar person as the first gait information. For example, the computing device (100) may generate 1-1 gait information (11-1) based on the first type of information of the first person by utilizing the first neural network model (10). The computing device (100) may generate 1-1 gait information (11-1) of the first person included in the first type of information (time-series acquired images). In addition, the computing device (100) can generate 1-2 gait information (11-2) based on the 1st type of information of the 2nd person by utilizing the 1st neural network model (10). The computing device (100) can generate 1-2 gait information (11-2) of the 2nd person included in the 1st type of information (time-series acquired images) by utilizing the 1st neural network model (10). The computing device (100) can generate 2nd gait information (21) based on human body key point information by utilizing the 2nd neural network model (20). The computing device (100) can calculate the similarity between the 1-1 gait information (11-1) and the 2nd gait information (21) and the similarity between the 1-2 gait information (11-2) and the 2nd gait information (21), respectively. For example, similarity algorithms may include, but are not limited to, cosine similarity, Euclidean distance, or other similarity measurement algorithms, and any algorithms that have been developed or will be developed in the future may be applied.In addition, the computing device (100) can determine the gait information having a high similarity with the second gait information (21) among the 1-1 gait information (11-1) and the 1-2 gait information (11-2) as the first gait information (11).

[0091]

[0092] FIG. 5 is a schematic diagram of an operation for determining second gait information according to one embodiment of the present disclosure.

[0093] According to one embodiment of the present disclosure, a plurality of images acquired to generate the second type of information may include a plurality of people. The computing device (100) may generate gait information of each of the plurality of people included in the plurality of images acquired to generate the second type of information by utilizing the second neural network model (20) for accurate object identification, and then compare the similarity with the first gait information (11) to determine the gait information of the most similar person as the second gait information. For example, the computing device (100) may generate 2-1 gait information (21-1) based on the second type of information of the first person by utilizing the second neural network model (20). The computing device (100) may generate 2-1 gait information (21-1) of the first person included in the second type of information (human body key point information) by utilizing the second neural network model (20). In addition, the computing device (100) can generate the 2-2 gait information (21-2) based on the 2nd type of information of the 2nd person by utilizing the 2nd neural network model (20). The computing device (100) can generate the 2-2 gait information (21-2) of the 2nd person included in the 2nd type of information (human body key point information) by utilizing the 2nd neural network model (20). The computing device (100) can generate the 1st gait information (11) based on the 1st type of information (time-series acquired images) by utilizing the 1st neural network model (10). The computing device (100) can calculate the similarity between the 1-1 gait information (11-1) and the 2nd gait information (21) and the similarity between the 1-2 gait information (11-2) and the 2nd gait information (21), respectively. For example, similarity algorithms may include, but are not limited to, cosine similarity, Euclidean distance, or other similarity measurement algorithms, and any algorithms that have been developed or will be developed in the future may be applied.In addition, the computing device (100) can determine the gait information having a high similarity to the first gait information (11) among the 2-1 gait information (21-1) and the 2-2 gait information (21-2) as the second gait information (21).

[0094] Meanwhile, the computing device (100) can increase the accuracy of object identification by selecting gait information with high similarity. Furthermore, the computing device (100) can perform highly reliable object identification by comparing information generated from different neural network models, and can compare the gait patterns of various individuals, thereby identifying objects in various situations.

[0095]

[0096] According to one embodiment of the present disclosure, the computing device (100) can identify an object based on the first gait information (11) and the second gait information (21) by utilizing the classifier (30). For example, the classifier (30) can be a multilayer perceptron (MLP) and can be composed of an input layer, several hidden layers, and an output layer. The classifier (30) can combine the first gait information (11) and the second gait information (21) into a single integrated vector. In addition, the classifier (30) can convert the features of the first gait information (11) and the second gait information (21) input through the hidden layer into higher-level features. In addition, the classifier (30) can add non-linearity by applying an activation function (e.g., ReLU) to each hidden layer, thereby learning complex patterns and correlations. In addition, the classifier (30) uses a softmax or sigmoid function in the output layer to predict the final class, and in this process, the probability that the object belongs to a specific class can be calculated. Meanwhile, the computing device (100) can identify the object more accurately by comprehensively considering the first gait information (11) including visual features of gait and the second gait information (21) including features related to keypoint-based movement patterns by utilizing the classifier (30).

[0097]

[0098] Below, we will briefly review the operating flow of the present invention based on the detailed description above.

[0099] FIG. 6 is a flowchart illustrating a method for identifying an object using a gait cycle according to one embodiment of the present disclosure.

[0100] The method for identifying an object using the gait cycle illustrated in FIG. 6 can be performed by the computing device (100) described above. Therefore, even if omitted below, the description of the computing device (100) can be equally applied to the description of the method for identifying an object using the gait cycle.

[0101] Referring to FIG. 6, a method for identifying an object using a gait cycle may include a step of generating first gait information based on a first type of information using a first neural network model (S110), a step of generating second gait information based on a second type of information using a second neural network model (S120), and a step of identifying an object based on the first gait information and the second gait information using a classifier.

[0102] Step S110 is a step of generating first gait information based on first type information by utilizing a first neural network model. For example, the first type information corresponds to images acquired in a time series manner, and step S110 may include a step of acquiring an average gait energy image based on the images acquired in a time series manner, a step of dividing the average gait energy image into patches having a predetermined size, and a step of generating a first embedding vector based on the patches. In addition, step S110 may include a step of generating 1-1 gait information based on the first type information of the first person by utilizing the first neural network model, a step of generating 1-2 gait information based on the first type information of the second person by utilizing the first neural network model, and a step of determining gait information having a high similarity to the second gait information among the 1-1 gait information and the 1-2 gait information as the first gait information.

[0103] Step S120 is a step of generating second gait information based on second type information by utilizing a second neural network model. For example, the second type information includes movement pattern information generated based on human body keypoint information, and step S120 may include a step of obtaining the human body keypoint information from each of a plurality of images and a step of generating the movement pattern information based on the obtained keypoint information. In addition, step S120 may include a step of generating 2-2 gait information based on the second type information of the second person by utilizing the second neural network model, and a step of determining gait information having a high similarity to the first gait information among the 2-1 gait information and the 2-2 gait information as the second gait information.

[0104] Step S130 is a step of identifying an object based on the first gait information and the second gait information by utilizing a classifier.

[0105]

[0106] The steps described in the above description may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present disclosure. Furthermore, some steps may be omitted as needed, and the order of the steps may be changed.

[0107]

[0108] Meanwhile, a computer-readable medium storing a data structure according to an embodiment of the present disclosure is disclosed.

[0109] A data structure can refer to the organization, management, and storage of data to enable efficient access and modification. 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 the physical or logical relationships between data elements designed to support specific data processing functions. Logical relationships between data elements can include connections between user-defined data elements. Physical relationships between data elements can include actual relationships between data elements physically stored on a computer-readable storage medium (e.g., persistent storage). Specifically, a data structure can include a collection of data, relationships between data, and functions or commands applicable to the data. An effectively designed data structure allows a computing device to perform operations while minimizing the use of its resources. Specifically, a computing device can improve the efficiency of operations, reading, inserting, deleting, comparing, exchanging, and searching through an effectively designed data structure.

[0110] 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 data item 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 item having a pointer. In a linked list, a pointer can contain information about the next or previous item. 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.

[0111] 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.

[0112] 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.

[0113] 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. The data input to a neural network may include training data input during a neural network training process and / or input data input to a neural network after training has been completed. The data input to a 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 a neural network. Accordingly, the data structure may include data that is the target of preprocessing and data generated by preprocessing. The above-described data structure is merely an example, and the present disclosure is not limited thereto.

[0114] 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.

[0115] 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.

[0116] 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.

[0117] 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.

[0118]

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

[0120] 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.

[0121] 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.

[0122] 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.

[0123] 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.

[0124] 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.

[0125] An exemplary environment for implementing various aspects of the present disclosure is illustrated, including a computer (1102), which includes 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).

[0126] 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.

[0127] 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.

[0128] These drives and their associated computer-readable media provide nonvolatile 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.

[0129] 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.

[0130] 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.

[0131] 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.

[0132] 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.

[0133] 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.

[0134] 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.

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

[0136] 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.

[0137] 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.

[0138] 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.

[0139] 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.

[0140] 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.

[0141] As described above, the relevant contents have been described in the best form for carrying out the invention.

Claims

1. A method for identifying an object by utilizing a gait cycle, performed by a computing device, A step of generating first gait information based on first type information by utilizing a first neural network model; A step of generating second gait information based on second type information by utilizing a second neural network model; and A step of identifying an object based on the first gait information and the second gait information by utilizing a classifier. including, method.

2. In paragraph 1, The above first type of information corresponds to images acquired in a time series manner, The step of generating first gait information based on the first type of information by utilizing the first neural network model is as follows: A step of obtaining an average walking energy image based on the images acquired in the above time series; A step of dividing the above average walking energy image into patches of a predetermined size; and A step of generating a first embedding vector based on the above patches. including, method.

3. In paragraph 2, The step of generating the first embedding vector based on the above patches is: A step of selecting patches that satisfy specific criteria from each of the above patches as input patches of the first neural network model; and A step of generating the first embedding vector based on the selected input patches; including more, method.

4. In paragraph 3, Patches that meet the above specific criteria are: Patches that include at least some area of ​​a body part; or, Patches containing areas with large movement as a result of calculating the difference between the images acquired in the above time series including any one of the following: method.

5. In paragraph 1, The second type of information includes movement pattern information generated based on human body key point information, The step of generating second gait information based on the second type of information by utilizing the second neural network model is as follows: A step of obtaining the human body keypoint information from each of a plurality of images; and A step of generating the movement pattern information based on the acquired human body key point information; including, method.

6. In paragraph 5, The step of obtaining human body key point information from each of the above multiple images is: A step of extracting candidate key points for each of the above multiple images; A step of obtaining a confidence score for the above extracted candidate key points; A step of selecting candidate key points having a reliability score higher than a threshold value among the candidate key points based on the reliability score; and A step of obtaining the human body key point information from the above-mentioned selected candidate key points. including, method.

7. In paragraph 1, The step of generating first gait information based on the first type of information by utilizing the first neural network model is as follows: A step of generating 1-1 gait information based on the first type of information of the first person by utilizing the first neural network model; A step of generating first-second gait information based on the first type of information of the second person by utilizing the first neural network model; and A step of determining gait information having a high similarity to the second gait information among the first gait information and the first gait information as the first gait information. including, method.

8. In paragraph 1, The step of generating second gait information based on the second type of information by utilizing the second neural network model is as follows: A step of generating 2-1 gait information based on the second type of information of the first person by utilizing the second neural network model; A step of generating second-second gait information based on second type information of a second person by utilizing the second neural network model; and A step of determining gait information having a high degree of similarity to the first gait information among the 2-1 gait information and the 2-2 gait information as the second gait information. including, method.

9. A computer program stored in a computer-readable storage medium, wherein when the computer program is executed on one or more processors, the computer program causes the one or more processors to perform the following operations for identifying an object using a gait cycle, wherein the operations are: An action of generating first gait information based on first type information by utilizing a first neural network model; An action of generating second gait information based on second type information by utilizing a second neural network model; and An operation of identifying an object based on the first gait information and the second gait information by utilizing a classifier. including, A computer program stored on a computer-readable storage medium.

10. As a computing device, at least one processor; and memory; Including, At least one processor, Generate first gait information based on first type information by utilizing the first neural network model; Generating second gait information based on second type information by utilizing a second neural network model; and configured to identify an object based on the first gait information and the second gait information by utilizing a classifier, device.

Citation Information

Patent Citations

  • Device for displaying images in the large intestine using markers based on deep learning models, method and program

    KR1020220152520A

  • Electric coation method acquiring euqalized coating layer surface

    KR1020240004056A

  • Vending machine having video display

    KR1020240114167A

  • Sheet for prevention of water and root with copper oxide nanoparticles and construction method thereof

    KR1020250137270A

  • Nanoparticle high-speed coating

    KR102667258B1