Gesture recognition method and device based on WIFI signal and storage medium
By acquiring the channel state information of the WIFI signal, performing segmentation processing and calculating the fluctuation coefficient, the problem that the gesture recognition model could not adapt to different home environments was solved, and high-accuracy gesture recognition was achieved.
Patent Information
- Application Number
- CN202310820868.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2025-01-07
AI Technical Summary
Existing gesture recognition models cannot adapt to different home environments, resulting in low recognition success rates and failing to meet user needs.
By acquiring the channel state information of the WIFI signal, extracting the channel state sequence, performing segmentation processing, calculating the fluctuation coefficient, and determining the gesture recognition result based on the preset relationship, a large number of sample training is avoided.
It improves the accuracy of gesture recognition, adapts to different home environments, and meets users' needs.
Smart Images

Figure CN119272041A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a method, device and storage medium for gesture recognition based on WIFI signals. Background Art
[0002] With the development of smart home, more and more smart home appliances have entered people's lives, bringing convenience to people's lives. However, some smart home appliances need to be controlled by remote controls, and the remote control may not be found or may be out of power, which reduces the user experience.
[0003] At present, smart home appliances can be controlled by gesture recognition. Specifically, a gesture recognition model can be trained through samples, and then the gesture recognition model can recognize gestures to control smart home appliances. However, the pre-trained gesture recognition model may not be suitable for the user's home environment. At the same time, it is impossible to train separately for different home environments, which reduces the success rate of gesture recognition and cannot meet the user's usage needs. Summary of the invention
[0004] The present invention provides a method, device and storage medium for gesture recognition based on WIFI signals, which are used to solve the defects of low success rate of gesture recognition in the prior art and failure to meet the use requirements of users, improve the accuracy of gesture recognition and meet the use requirements of users.
[0005] The present invention provides a method for gesture recognition based on WIFI signals, the method comprising:
[0006] Acquire a WIFI signal, and extract channel state information based on the WIFI signal;
[0007] Based on the channel state information, obtaining a sequence to be processed;
[0008] Segment processing is performed on the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values;
[0009] Based on the sequence value, determining the fluctuation coefficient of the segment to be processed;
[0010] Based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture, a gesture recognition result is determined.
[0011] According to a method for gesture recognition based on WIFI signals provided by the present invention, the step of determining the fluctuation coefficient of the to-be-processed segment based on the sequence value comprises:
[0012] For each pair of adjacent sequence values included in the to-be-processed segment, calculate the absolute value of the difference between the pair of adjacent sequence values to obtain an absolute value to be used;
[0013] Based on the absolute value to be used, a fluctuation coefficient of the segment to be processed is determined.
[0014] According to a method for gesture recognition based on WIFI signals provided by the present invention, the absolute values to be used include multiple;
[0015] The step of determining the fluctuation coefficient of the to-be-processed segment based on the to-be-used absolute value comprises:
[0016] Based on the absolute value to be used and the number of the absolute values to be used, a fluctuation coefficient of the segment to be processed is determined.
[0017] According to a method for gesture recognition based on WIFI signals provided by the present invention, the step of segmenting the sequence to be processed to obtain the segments to be processed includes:
[0018] Determine whether the current sequence value is greater than the preset sequence threshold;
[0019] In the case where it is determined that the current sequence value is greater than the preset sequence threshold, taking the current sequence value as the starting sequence value, selecting multiple sequence values that meet the preset selection condition as the selected sequence values, and obtaining the to-be-processed segment;
[0020] When it is determined that the current sequence value is not greater than the preset sequence threshold, the next sequence value is used as the current sequence value according to the order of the sequence values, and the step of determining whether the current sequence value is greater than the preset sequence threshold is performed, wherein the order of the sequence values corresponds to the acquisition time of the channel state information.
[0021] According to a method for gesture recognition based on WIFI signals provided by the present invention, the step of taking the current sequence value as a starting sequence value and selecting a plurality of sequence values that meet a preset selection condition as the selected sequence value comprises:
[0022] Taking the current sequence value as the starting sequence value, according to the order of the sequence values, a group of sequence values that are continuous in sequence and not greater than the preset sequence threshold are selected as the selected sequence values from multiple sequence values whose arrangement order is after the starting sequence value.
[0023] According to a method for gesture recognition based on WIFI signals provided by the present invention, the step of acquiring a sequence to be processed based on the channel state information includes:
[0024] For each frame of channel state information, calculating the autocorrelation function value of the frame of channel state information;
[0025] Based on the acquisition time of the channel state information of each frame and the autocorrelation function value, a sequence to be processed is acquired.
[0026] According to a method for gesture recognition based on WIFI signals provided by the present invention, after the step of determining a gesture recognition result based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture, the method further includes:
[0027] When the number of the gesture recognition results is consistent with the number of the to-be-processed segments, the gesture recognition results are arranged in a determined order to obtain a gesture to be determined;
[0028] Determine the parameter to be adjusted based on the gesture to be determined and the correspondence between the preset gesture and the parameter;
[0029] Based on the type of the parameter to be adjusted, the operating parameter of the corresponding home appliance terminal is adjusted to the parameter to be adjusted.
[0030] The present invention also provides a device for gesture recognition based on WIFI signals, the device comprising:
[0031] A first acquisition module, used to acquire a WIFI signal and extract channel state information based on the WIFI signal;
[0032] A second acquisition module, configured to acquire a sequence to be processed based on the channel state information;
[0033] A segmentation module, used for segmenting the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values;
[0034] A first determination module, configured to determine a fluctuation coefficient of the to-be-processed segment based on the sequence value;
[0035] The second determination module is used to determine the gesture recognition result based on the fluctuation coefficient and the corresponding relationship between the preset coefficient and the gesture.
[0036] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of any of the above-mentioned methods for gesture recognition based on WIFI signals are implemented.
[0037] The present invention also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned methods for gesture recognition based on WIFI signals are implemented.
[0038] The method, device and storage medium for gesture recognition based on WIFI signals provided by the present invention obtain WIFI signals, extract channel state information based on the WIFI signals, obtain a sequence to be processed based on the channel state information, perform segment processing on the sequence to be processed, and obtain segments to be processed, wherein the segments to be processed include multiple sequence values, and the fluctuation coefficient of the segments to be processed is determined based on the sequence values, and the gesture recognition result is determined based on the fluctuation coefficient and the correspondence between the pre-set coefficient and the gesture. It is possible to recognize gestures through channel state information. Compared with the method of performing gesture recognition through a gesture recognition model, there is no need to use a large number of samples for training. Only the corresponding fluctuation coefficient needs to be obtained to determine the gesture recognition result. It can adapt to different unfamiliar home environments, improve the accuracy of gesture recognition, and meet the user's usage needs. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0040] Figure 1 This is one of the flow charts of the method for gesture recognition based on WIFI signals provided by the present invention;
[0041] Figure 2 It is a structural schematic diagram of a device for gesture recognition based on WIFI signals provided by the present invention;
[0042] Figure 3 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0043] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0044] In order to improve the accuracy of gesture recognition and meet the needs of users, the embodiments of the present invention provide a method, device, non-transitory computer-readable storage medium and electronic device for gesture recognition based on WIFI signals. Figure 1 A method for gesture recognition based on WIFI signals provided in an embodiment of the present invention is introduced.
[0045] like Figure 1 As shown, an embodiment of the present invention provides a method for gesture recognition based on WIFI signals, the method comprising:
[0046] S101, acquiring a WIFI signal, and extracting channel state information based on the WIFI signal.
[0047] When a user needs to control a smart home appliance, he or she can make a corresponding gesture within a preset range of a WIFI (Wireless Fidelity) receiver, so that the WIFI receiver can receive the WIFI signal corresponding to the gesture made by the user. After obtaining the WIFI signal, the channel state information (CSI) can be extracted based on the WIFI signal.
[0048] S102: Acquire a sequence to be processed based on the channel state information.
[0049] After acquiring the channel state information, a sequence to be processed can be acquired based on the channel state information. In one embodiment, a short-time autocorrelation analysis can be performed on the acquired channel state information to obtain a sequence to be processed, wherein the sequence to be processed includes multiple sequence values, and the number of sequence values included in the sequence to be processed is higher than the number of sequence values included in the segment to be processed.
[0050] S103, segmenting the sequence to be processed to obtain segments to be processed.
[0051] In order to facilitate the subsequent determination of gestures, the sequence to be processed may be segmented to obtain segments to be processed, wherein the segments to be processed may include multiple segments, and each segment to be processed includes multiple sequence values.
[0052] S104: Determine the fluctuation coefficient of the segment to be processed based on the sequence value.
[0053] After obtaining multiple segments to be processed, for each segment to be processed, a fluctuation coefficient of the segment to be processed may be determined based on the sequence value of the segment to be processed, wherein each segment to be processed corresponds to a fluctuation coefficient, and the fluctuation coefficients may include multiple ones.
[0054] S105, determining a gesture recognition result based on the fluctuation coefficient and a correspondence between a preset coefficient and the gesture.
[0055] After the fluctuation coefficient is obtained, the gesture recognition result can be determined based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture. In one embodiment, each fluctuation coefficient has a corresponding gesture, and each different gesture can be used as a gesture recognition result. Accordingly, various types of control can be performed on the smart home appliance terminal based on multiple gesture recognition results. For example, the operation mode, temperature, wind speed, etc. of the air conditioner can be controlled in sequence.
[0056] For example, when the fluctuation coefficient is greater than coefficient 1, the hand recognition result can be determined as waving the hand left and right twice; when the fluctuation coefficient is not greater than coefficient 1 but greater than coefficient 2, the gesture recognition result can be determined as drawing a circle in the air; when the fluctuation coefficient is not greater than coefficient 2, the gesture recognition result can be determined as high-five in the air. In the above examples, different intervals correspond to different gestures. Different coefficients can also be set to correspond to different gestures according to user needs, which is all reasonable.
[0057] In another embodiment, a combination of a preset number of gestures can be determined as a gesture recognition result, and accordingly, the smart home appliance terminal can be controlled according to the gesture recognition result. The specific setting can be based on the actual use needs of the user and is not specifically limited here.
[0058] It can be seen that in this embodiment, a WIFI signal can be obtained, and channel state information can be extracted based on the WIFI signal. Based on the channel state information, a sequence to be processed is obtained, and the sequence to be processed is segmented to obtain segments to be processed, wherein the segments to be processed include multiple sequence values, and the fluctuation coefficient of the segments to be processed is determined based on the sequence values, and the gesture recognition result is determined based on the fluctuation coefficient and the correspondence between the pre-set coefficient and the gesture. It is possible to recognize gestures through channel state information. Compared with the method of performing gesture recognition through a gesture recognition model, there is no need to use a large number of samples for training. Only the corresponding fluctuation coefficient needs to be obtained to determine the gesture recognition result. It can adapt to different unfamiliar home environments, improve the accuracy of gesture recognition, and meet the user's usage needs.
[0059] As an implementation of an embodiment of the present invention, the step of determining the fluctuation coefficient of the to-be-processed segment based on the sequence value may include:
[0060] For each pair of adjacent sequence values included in the to-be-processed segment, the absolute value of the difference between the pair of adjacent sequence values is calculated to obtain the absolute value to be used.
[0061] The segment to be processed includes multiple sequence values. For each pair of adjacent sequence values included in the segment to be processed, the absolute value of the difference between the pair of adjacent sequence values can be calculated to obtain the absolute value to be used. Wherein, each pair of adjacent sequence values is every two adjacent sequence values in the segment to be processed.
[0062] For example, the segment A to be processed may include sequence value 1, sequence value 2, sequence value 3 and sequence value 4. The absolute value a of the difference between sequence value 1 and sequence value 2, the absolute value b of the difference between sequence value 2 and sequence value 3, and the absolute value c of the difference between sequence value 3 and sequence value 4 can be calculated, and then the absolute value to be used can be obtained. The absolute value to be used specifically includes absolute value a, absolute value b and absolute value c.
[0063] Based on the absolute value to be used, a fluctuation coefficient of the segment to be processed is determined.
[0064] After obtaining the absolute value to be used, the fluctuation coefficient of the segment to be used may be determined based on the absolute value to be used, wherein the absolute value to be used may include multiple absolute values to be used, that is, one segment to be processed includes multiple absolute values to be used.
[0065] The step of determining the fluctuation coefficient of the to-be-processed segment based on the to-be-used absolute value may include:
[0066] Based on the absolute value to be used and the number of the absolute values to be used, a fluctuation coefficient of the segment to be processed is determined.
[0067] Among them, when the number of sequence values is n, the number of absolute values to be used is n-1. The absolute values to be used can be summed to obtain the absolute value sum, and then the absolute value sum can be divided by the number of absolute values to be used to obtain the fluctuation coefficient of the corresponding segment to be processed.
[0068] It can be seen that in this embodiment, the processing method for each segment to be processed is: calculate the absolute value of the difference between each two adjacent sequence values included in the segment to be processed, and then obtain multiple absolute values to be used. After obtaining the absolute values to be used, the fluctuation coefficient of the corresponding segment to be used can be calculated. In this way, the fluctuation coefficient corresponding to the segment to be used can be accurately calculated, so that the gesture recognition result can be determined more accurately later.
[0069] As an implementation manner of an embodiment of the present invention, the step of segmenting the sequence to be processed to obtain segments to be processed may include:
[0070] Determine whether the current sequence value is greater than a preset sequence threshold. In order to determine the segment to be processed, for the sequence values included in the sequence to be processed, it can be determined in turn whether the current sequence value is greater than a preset sequence threshold. The current sequence value is determined according to the order of the sequence values in the sequence to be processed, and the order of the sequence values is determined based on the acquisition time of the channel state information.
[0071] For example, the sequence to be processed may be {r1, r2, ..., rn}. First, it is determined whether r1 (current sequence value) is greater than the preset sequence threshold. After completing the determination of r1, it is possible to determine whether r2 (current sequence value) is greater than the preset sequence threshold, ..., and so on, until it is determined whether rn (current sequence value) is greater than the preset sequence threshold, or until the number of segments to be processed is sufficient, which can be determined based on actual usage.
[0072] When it is determined that the current sequence value is greater than the preset sequence threshold, the current sequence value is used as the starting sequence value, and multiple sequence values that meet the preset selection condition are selected as the selected sequence values to obtain the segment to be processed.
[0073] The step of taking the current sequence value as the starting sequence value and selecting a plurality of sequence values that meet the preset selection condition as the selected sequence values may include:
[0074] Taking the current sequence value as the starting sequence value, according to the order of the sequence values, a group of sequence values that are continuous in sequence and not greater than the preset sequence threshold are selected as the selected sequence value from the multiple sequence values whose arrangement order is after the starting sequence value. After the selected sequence value is obtained, a segment to be processed consisting of the selected sequence value and the starting sequence value can be obtained.
[0075] The preset selection condition is to select a group of sequence values that are continuous and each sequence value is not greater than a preset sequence threshold value from a plurality of sequence values that characterize the arrangement order and are located after the starting sequence value. The number corresponding to a group of sequence values is a preset number, which can be a number pre-set according to actual usage, for example, the preset number can be 5, 17, 65, etc., which is not specifically limited here.
[0076] The number of selected sequence values (preset number) plus 1 (i.e. the number corresponding to the selected sequence value plus the starting sequence value) is the number of sequence values corresponding to the subsequent segments to be processed, and the number of selected sequence values is the number of absolute values to be used.
[0077] For example, the preset number is 5. When it is determined that r2 is greater than the preset sequence threshold, it can be further determined whether r3, r4, r5 and r6 are not greater than the preset sequence threshold. When r3, r4, r5 and r6 are not greater than the preset sequence threshold, r2 is the starting sequence value, and r3, r4, r5 and r6 are the selected sequence values. In this way, the to-be-processed segment consisting of the starting sequence value and the selected sequence value can be obtained, that is, the to-be-processed segment includes r2, r3, r4, r5 and r6.
[0078] In one implementation, the preset sequence threshold may be set by the user according to actual usage. In another implementation, the preset sequence threshold may be a threshold obtained based on a sequence without a user.
[0079] The method for acquiring the no-user sequence is to acquire a no-user WIFI signal when the user is not within a preset range, and then extract no-user channel state information, thereby acquiring the no-user sequence based on the no-user channel state information.
[0080] The preset sequence threshold may be a threshold obtained based on the mean of each sequence value included in the no-user sequence and the variance of each sequence value included in the no-user sequence. For example, the preset sequence threshold may be the sum of the mean plus the variance times a constant.
[0081] For another example, for {r1, r2, ..., rn}, the sequence value 1 greater than E+3△ in the sequence can be determined first, and the sequence value 1 is used as the starting sequence value. According to the order of the sequence values, if k sequence values 2 not greater than E+3△ appear continuously, a segment to be processed a consisting of a sequence value 1 greater than E+3△ and k sequence values 2 not greater than E+3△ can be obtained. Wherein, E is the mean of each sequence value included in the sequence without users, and △ is the variance of each sequence value included in the sequence without users.
[0082] After determining the segment a to be processed, you can first determine the sequence value 3 greater than E+3△ from the multiple sequence values that are arranged after the segment a to be processed in the order of sequence values, and use the sequence value 3 as the starting sequence value. According to the order of sequence values, if k sequence values 4 not greater than E+3△ appear consecutively, you can get a segment b to be processed that consists of a sequence value 3 greater than E+3△ and k sequence values 4 not greater than E+3△, and so on. Multiple segments to be processed can be determined, and the number of segments to be processed can be set according to actual usage requirements.
[0083] When it is determined that the current sequence value is not greater than the preset sequence threshold, the next sequence value is used as the current sequence value according to the order of the sequence values, and the step of determining whether the current sequence value is greater than the preset sequence threshold is performed, wherein the order of the sequence values corresponds to the acquisition time of the channel state information.
[0084] It can be seen that in this embodiment, the segments to be processed can be accurately determined, so that the accuracy of the subsequent gesture recognition results can be improved.
[0085] As an implementation manner of an embodiment of the present invention, the step of acquiring a sequence to be processed based on the channel state information may include:
[0086] For each frame of channel state information, the autocorrelation function value of the frame channel state information is calculated. Based on the acquisition time of each frame of channel state information and the autocorrelation function value, a sequence to be processed is acquired. The sequence to be processed may be acquired in real time, and the sequence value included in the sequence to be processed may be different for different time periods.
[0087] The channel state information may be information acquired on a frame basis. After each frame of channel state information is acquired, the autocorrelation function value of the frame channel state information may be calculated. After the autocorrelation function value of the frame channel state information is acquired, the autocorrelation function value of the frame channel state information may be added to the sequence to be processed according to the acquisition time of the frame channel state information.
[0088] It can be seen that one frame of channel state information corresponds to a sequence value in a sequence to be processed, and there is a corresponding relationship between the acquisition time of the channel state information and the order of the sequence value. In this way, the sequence to be processed sorted according to the acquisition time of the channel state information can be obtained, so that the accuracy of obtaining the fluctuation coefficient can be improved subsequently, thereby improving the accuracy of the gesture recognition result.
[0089] As an implementation of an embodiment of the present invention, after the step of determining the gesture recognition result based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture, the method may further include:
[0090] When the number of the gesture recognition results is consistent with the number of the to-be-processed segments, that is, each fluctuation coefficient (to-be-processed segment) corresponds to a gesture recognition result, in order to determine the control operation of the smart home appliance terminal, the gesture recognition results are arranged in a determined order to obtain the gesture to be determined. The determined order is the order in which the gesture recognition results are obtained. The gesture to be determined includes multiple different gestures arranged in order.
[0091] After obtaining the gesture to be determined, the parameter to be adjusted can be determined based on the gesture to be determined and the correspondence between the preset gesture and the parameter. After obtaining the parameter to be adjusted, the type of the parameter to be adjusted can be determined. Specifically, it can be determined whether the parameter to be adjusted is a parameter for adjusting an air conditioner, a parameter for adjusting a water heater, or a parameter for adjusting a refrigerator. The specific determination can be made based on actual usage and is not specifically limited here.
[0092] When the smart home appliance terminal indicated by the type corresponding to the parameter to be adjusted is online, the operating parameters of the corresponding home appliance terminal can be adjusted to the parameter to be adjusted based on the type of the parameter to be adjusted. In this way, the user can control the corresponding home appliance terminal to operate according to the user's needs through gesture recognition, thereby improving the user's experience.
[0093] In order to more conveniently understand the method for gesture recognition based on WIFI signals provided by an embodiment of the present invention, the method for gesture recognition based on WIFI signals provided by an embodiment of the present invention is introduced below with reference to specific examples.
[0094] For example, three gestures can be defined in advance, namely, drawing a circle in the air, waving hands left and right twice, and high-five in the air. And the intervals corresponding to the three gestures can be set. That is, interval 1 corresponds to drawing a circle in the air, interval 2 corresponds to waving hands left and right twice, and interval 3 corresponds to high-five in the air.
[0095] The WIFI receiving end obtains the WIFI signal, extracts the CSI based on the WIFI signal, performs short-time autocorrelation analysis on the CSI, and obtains the sequence to be processed {a1, a2, a3, a4, a5, a6, ...am}. {a1, a2, a3, a4, a5, a6, ...am} is processed in segments.
[0096] When obtaining each segment to be processed, according to the order of sequence values, we can first find the value greater than E+3△ in {a1, a2, a3, a4, a5, a6, …am} as the starting sequence value of the segment to be processed. According to the order of sequence values, from the multiple sequence values that are arranged after the starting sequence value, determine whether there are k consecutive sequence values not greater than E+3△. If so, take the kth sequence value not greater than E+3△ as the end point of the segment to be processed to obtain the corresponding segment to be processed, where k is a preset number.
[0097] For each segment to be processed, the absolute value of the difference between the two adjacent sequence values in the segment to be processed can be calculated to obtain the absolute value to be used. The multiple absolute values to be used of the segment to be processed are summed and divided by the number of absolute values to be used to obtain the fluctuation coefficient ρ of the segment to be processed;
[0098] If ρ is in interval 2, the gesture recognition result is "wave your hands left and right twice". If the fluctuation coefficient is in interval 1, the gesture recognition result is "draw a circle in the air"; if the fluctuation coefficient is in interval 3, the gesture recognition result is "high five in the air".
[0099] It can be seen that the method for gesture recognition based on WIFI signals provided in the embodiment of the present invention can realize the recognition of gestures through channel state information. Compared with the method of performing gesture recognition through a gesture recognition model, there is no need to use a large number of samples for training. Only the corresponding fluctuation coefficient needs to be obtained to determine the gesture recognition result. It can adapt to different unfamiliar home environments, improve the accuracy of gesture recognition, and meet the user's usage needs.
[0100] The device for gesture recognition based on WIFI signals provided by the present invention is described below. The device for gesture recognition based on WIFI signals described below and the method for gesture recognition based on WIFI signals described above can be referred to in correspondence with each other.
[0101] like Figure 2 As shown, an embodiment of the present invention provides a device for gesture recognition based on WIFI signals, the device comprising:
[0102] A first acquisition module 210 is used to acquire a WIFI signal and extract channel state information based on the WIFI signal;
[0103] A second acquisition module 220, configured to acquire a sequence to be processed based on the channel state information;
[0104] A segmentation module 230 is used to segment the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values;
[0105] A first determination module 240, configured to determine the fluctuation coefficient of the to-be-processed segment based on the sequence value;
[0106] The second determination module 250 is used to determine the gesture recognition result based on the fluctuation coefficient and the corresponding relationship between the preset coefficient and the gesture.
[0107] As an implementation of the embodiment of the present invention, the first determining module 240 may include:
[0108] A calculation unit, configured to calculate, for each pair of adjacent sequence values included in the to-be-processed segment, an absolute value of a difference between the pair of adjacent sequence values to obtain an absolute value to be used;
[0109] A coefficient determination unit is used to determine the fluctuation coefficient of the segment to be processed based on the absolute value to be used.
[0110] As an implementation manner of the embodiment of the present invention, the above absolute value to be used includes multiple ones.
[0111] The coefficient determination unit is specifically used to determine the fluctuation coefficient of the to-be-processed segment based on the to-be-used absolute value and the number of the to-be-used absolute values.
[0112] As an implementation of the embodiment of the present invention, the segmentation module 230 may include:
[0113] A judging unit, used to judge whether the current sequence value is greater than a preset sequence threshold;
[0114] A selection unit, configured to, when it is determined that the current sequence value is greater than the preset sequence threshold, use the current sequence value as a starting sequence value, select multiple sequence values that meet a preset selection condition as selected sequence values, and obtain a segment to be processed;
[0115] A callback unit is used to, when it is determined that the current sequence value is not greater than the preset sequence threshold, use the next sequence value as the current sequence value according to the order of the sequence values, and call the judgment unit to execute the step of judging whether the current sequence value is greater than the preset sequence threshold, wherein the order of the sequence values corresponds to the acquisition time of the channel state information.
[0116] As an implementation mode of an embodiment of the present invention, the above-mentioned selection unit is specifically used to take the current sequence value as the starting sequence value, and in accordance with the order of the sequence values, select a group of sequence values that are continuous in sequence and not greater than the preset sequence threshold as the selected sequence value from multiple sequence values whose arrangement order is after the starting sequence value.
[0117] As an implementation of an embodiment of the present invention, the second acquisition module 220 may include:
[0118] The function value calculation unit is used to calculate the autocorrelation function value of each frame of channel state information.
[0119] The sequence acquisition unit is used to acquire the sequence to be processed based on the acquisition time of the channel state information of each frame and the autocorrelation function value.
[0120] As an implementation of the embodiment of the present invention, the above device may further include:
[0121] An adjustment module is used to, after determining the gesture recognition result based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture, arrange the gesture recognition results in a determined order when the number of the gesture recognition results is consistent with the number of the segments to be processed to obtain the gesture to be determined; determine the parameter to be adjusted based on the gesture to be determined and the correspondence between the preset gesture and the parameter; and adjust the operating parameter of the corresponding home appliance terminal to the parameter to be adjusted based on the type of the parameter to be adjusted.
[0122] Figure 3 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 3 As shown, the electronic device may include: a processor 310, a communication interface 320, a memory 330 and a communication bus 340, wherein the processor 310, the communication interface 320 and the memory 330 communicate with each other through the communication bus 340. The processor 310 may call the logic instructions in the memory 330 to execute a method for gesture recognition based on a WIFI signal, the method comprising: obtaining a WIFI signal, extracting channel state information based on the WIFI signal, obtaining a sequence to be processed based on the channel state information, performing segment processing on the sequence to be processed to obtain a segment to be processed, wherein the segment to be processed includes a plurality of sequence values, determining a fluctuation coefficient of the segment to be processed based on the sequence value, and determining a gesture recognition result based on the fluctuation coefficient and a correspondence between a preset coefficient and a gesture.
[0123] In addition, the logic instructions in the above-mentioned memory 330 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0124] On the other hand, the present invention also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the method for gesture recognition based on WIFI signals provided by the above methods, the method including: obtaining a WIFI signal, and extracting channel state information based on the WIFI signal, obtaining a sequence to be processed based on the channel state information, and performing segment processing on the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values, and based on the sequence values, determining the fluctuation coefficient of the segments to be processed, and determining the gesture recognition result based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture.
[0125] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, it is implemented to execute the method of gesture recognition based on WIFI signals provided by the above methods, the method comprising: obtaining a WIFI signal, and extracting channel state information based on the WIFI signal, obtaining a sequence to be processed based on the channel state information, and performing segment processing on the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values, and based on the sequence values, determining the fluctuation coefficient of the segments to be processed, and determining the gesture recognition result based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture.
[0126] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0127] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0128] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for gesture recognition based on WIFI signals, characterized in that: The method comprises: Acquire a WIFI signal, and extract channel state information based on the WIFI signal; Based on the channel state information, obtaining a sequence to be processed; Segment processing is performed on the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values; Based on the sequence value, determining the fluctuation coefficient of the segment to be processed; Based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture, a gesture recognition result is determined.
2. The method for gesture recognition based on WIFI signals according to claim 1, characterized in that: The step of determining the fluctuation coefficient of the to-be-processed segment based on the sequence value comprises: For each pair of adjacent sequence values included in the to-be-processed segment, calculate the absolute value of the difference between the pair of adjacent sequence values to obtain an absolute value to be used; Based on the absolute value to be used, a fluctuation coefficient of the segment to be processed is determined.
3. The method for gesture recognition based on WIFI signals according to claim 2, characterized in that: The absolute value to be used includes a plurality of values; The step of determining the fluctuation coefficient of the to-be-processed segment based on the to-be-used absolute value comprises: Based on the absolute value to be used and the number of the absolute values to be used, a fluctuation coefficient of the segment to be processed is determined.
4. The method for gesture recognition based on WIFI signals according to claim 1, characterized in that: The step of segmenting the sequence to be processed to obtain segments to be processed includes: Determine whether the current sequence value is greater than the preset sequence threshold; In the case where it is determined that the current sequence value is greater than the preset sequence threshold, taking the current sequence value as the starting sequence value, selecting multiple sequence values that meet the preset selection condition as the selected sequence values, and obtaining the to-be-processed segment; When it is determined that the current sequence value is not greater than the preset sequence threshold, the next sequence value is used as the current sequence value according to the order of the sequence values, and the step of determining whether the current sequence value is greater than the preset sequence threshold is performed, wherein the order of the sequence values corresponds to the acquisition time of the channel state information.
5. The method for gesture recognition based on WIFI signals according to claim 4, characterized in that: The step of taking the current sequence value as the starting sequence value and selecting a plurality of sequence values that meet a preset selection condition as the selected sequence values comprises: Taking the current sequence value as the starting sequence value, according to the order of the sequence values, a group of sequence values that are continuous in sequence and not greater than the preset sequence threshold are selected as the selected sequence values from multiple sequence values whose arrangement order is after the starting sequence value.
6. The method for gesture recognition based on WIFI signals according to any one of claims 1 to 5, characterized in that: The step of acquiring a sequence to be processed based on the channel state information comprises: For each frame of channel state information, calculating the autocorrelation function value of the frame of channel state information; Based on the acquisition time of the channel state information of each frame and the autocorrelation function value, a sequence to be processed is acquired.
7. The method for gesture recognition based on WIFI signals according to any one of claims 1 to 5, characterized in that: After the step of determining the gesture recognition result based on the fluctuation coefficient and the correspondence between the preset coefficient and the gesture, the method further includes: When the number of the gesture recognition results is consistent with the number of the to-be-processed segments, the gesture recognition results are arranged in a determined order to obtain a gesture to be determined; Determine the parameter to be adjusted based on the gesture to be determined and the correspondence between the preset gesture and the parameter; Based on the type of the parameter to be adjusted, the operating parameter of the corresponding home appliance terminal is adjusted to the parameter to be adjusted.
8. A device for gesture recognition based on WIFI signals, characterized in that: The device comprises: A first acquisition module, used to acquire a WIFI signal and extract channel state information based on the WIFI signal; A second acquisition module, configured to acquire a sequence to be processed based on the channel state information; A segmentation module, used for segmenting the sequence to be processed to obtain segments to be processed, wherein the segments to be processed include multiple sequence values; A first determination module, configured to determine a fluctuation coefficient of the to-be-processed segment based on the sequence value; The second determination module is used to determine the gesture recognition result based on the fluctuation coefficient and the corresponding relationship between the preset coefficient and the gesture.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method for gesture recognition based on WIFI signals as described in any one of claims 1 to 7 are implemented.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method for gesture recognition based on WIFI signals as claimed in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Audio-based gesture recognition method and device, terminal equipment and storage medium
CN111860130A
Gesture recognition method and device, equipment and medium
CN114063772A
Non-contact gesture recognition method and system, computer equipment, and storage medium
CN114077298A
Cited By
Knee bending training evaluation method and system based on WiFi signal
CN121400821A