Swimming monitoring method, electronic equipment and computer readable medium

By generating swimming video data sets and combining the information of receiving signal equipment, the problem of insufficient visual algorithm recognition and tracking capabilities in swimming monitoring is solved, and the accuracy of drowning detection and timeliness of rescue are improved.

CN119625644APending Publication Date: 2025-03-14ADDX (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411943180.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

In swimming monitoring, it is difficult for visual algorithms to accurately identify and track different swimmers, and the quality of video data is disturbed by reflection on the water surface, resulting in poor accuracy of drowning monitoring and untimely rescue.

Method used

By obtaining the swimming pool environment video data, a swimming video data set corresponding to the swimmers is generated, feature extraction and posture analysis are performed, and user status information is determined based on the information of the receiving signal equipment worn by the swimmers, and drowning warning tasks are performed.

Benefits of technology

The tracking and monitoring capabilities of different swimmers and the accuracy of drowning detection are improved, ensuring timely rescue of drowning states.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119625644A_ABST
    Figure CN119625644A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a swimming monitoring method, electronic equipment and a computer readable medium. A specific embodiment of the method comprises the following steps: acquiring swimming pool environment video data; generating a swimming video data set corresponding to the swimmer based on the swimming pool environment video data; for each piece of swimming video data in the swimming video data set, the following steps are executed: carrying out feature extraction processing on the swimming video data to obtain swimming feature information; generating posture information based on the swimming feature information; determining user state information of the swimmer corresponding to the swimming video data; and based on the user state information, executing an anti-drowning alarm task corresponding to the user state information. According to the embodiment, the accuracy of tracking and monitoring the swimmer can be improved, and the accuracy of drowning identification can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to a swimming monitoring method, an electronic device, and a computer-readable medium. Background Art

[0002] Swimming monitoring is a method of monitoring swimmers to rescue drowning swimmers in time. At present, the common method of monitoring swimmers is to install cameras around the swimming pool to capture video data in real time and use visual algorithms to detect the status of swimmers in real time in the video data. When it is detected that the swimmer is at risk of drowning, an alarm is immediately issued to notify the rescue personnel to rescue.

[0003] However, when the above method is used to monitor swimmers, the following technical problems often occur: The appearance of each swimmer in the pool is similar, and the ability to track and monitor different swimmers only through visual algorithms is poor. In addition, the accuracy of visual algorithms is limited by the quality of video data. However, in a swimming pool environment, the video data captured by the camera is easily disturbed by factors such as reflections on the water surface, resulting in poor video data quality, which in turn leads to poor accuracy of visual algorithms in monitoring swimmers for drowning, which can easily lead to untimely rescue of drowning swimmers. Summary of the invention

[0004] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.

[0005] Some embodiments of the present disclosure provide a swimming monitoring method, an electronic device, and a computer-readable medium to solve one or more of the technical problems mentioned in the above background technology section.

[0006] In a first aspect, some embodiments of the present disclosure provide a swimming monitoring method, the method comprising: acquiring swimming pool environment video data; generating a swimming video data set corresponding to a swimmer based on the swimming pool environment video data, wherein each swimming video data in the swimming video data set corresponds to a swimmer; for each swimming video data in the swimming video data set, performing the following steps: performing feature extraction processing on the swimming video data to obtain swimming feature information; generating posture information based on the swimming feature information; determining user status information of the swimmer corresponding to the swimming video data based on the posture information and a signal receiving device information group worn by the swimmer received in real time by each signal receiving antenna on the shooting device, wherein the swimmer carries an antenna sending device corresponding to the signal receiving device information group; and performing an anti-drowning alarm task corresponding to the user status information based on the user status information.

[0007] In a second aspect, some embodiments of the present disclosure provide an electronic device, comprising: a shooting device, wherein the shooting device comprises at least one camera, a camera bracket, respective signal receiving antennas and an antenna fixing device; respective signal receiving antennas configured to receive a signal receiving device information group sent by an antenna sending device; one or more processors; a storage device, on which one or more programs are stored, and when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation manner of the above-mentioned first aspect.

[0008] In a third aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the first aspect is implemented.

[0009] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the swimming monitoring method of the present disclosure, the ability to track and monitor different swimmers can be improved, and the accuracy of drowning detection can be improved. Specifically, the reason for the poor ability to track and monitor different swimmers, the poor accuracy of drowning detection, and the untimely rescue of drowning swimmers is that the appearance of each swimmer in the swimming pool is similar, and the ability to track and monitor different swimmers only by visual algorithms is poor. And the accuracy of the visual algorithm is limited by the quality of the video data. However, in the swimming pool environment, the video data captured by the camera is easily disturbed by factors such as water surface reflection, resulting in poor quality of the video data, which in turn leads to poor accuracy of drowning monitoring of swimmers by the visual algorithm, which easily leads to untimely rescue of drowning swimmers. Based on this, the swimming monitoring method of some embodiments of the present disclosure, first, obtains the video data of the swimming pool environment. Thus, the video data to be processed can be obtained. Secondly, based on the above-mentioned swimming pool environment video data, a swimming video data set corresponding to the swimmer is generated, wherein each swimming video data in the above-mentioned swimming video data set corresponds to a swimmer. Thus, different swimmers can be better distinguished, and the recognition capability of different swimmers can be improved. Then, for each swimming video data in the swimming video data set, the following steps are performed: first, feature extraction processing is performed on the swimming video data to obtain swimming feature information. Thus, feature information of the swimmer can be obtained. Secondly, posture information is generated based on the swimming feature information. Thus, posture information of the swimmer can be obtained. Then, based on the posture information and the signal receiving device information group of the swimmer worn by the swimmer received in real time by each signal receiving antenna on the shooting device, the user state information of the swimmer corresponding to the swimming video data is determined, wherein the swimmer carries an antenna transmitting device corresponding to the signal receiving device information group. Thus, the state of the swimmer can be jointly identified by combining the characteristic information of the swimmer and the signal sent by the antenna transmitting device carried by the swimmer. Finally, based on the user state information, the drowning prevention alarm task corresponding to the user state information is performed. Thus, different processing tasks can be performed according to the different states of the swimmer. Also, because the swimmer can be tracked together by the characteristic information of the swimmer and the device carried by the swimmer, the tracking capability of different swimmers can be improved. Also, because the status of the swimmer can be monitored jointly through the swimming posture information and the strength of the signal emitted by the equipment carried by the swimmer, the accuracy and real-time nature of drowning monitoring of the swimmer can be improved, and an alarm can be issued in time to notify rescuers to carry out rescue. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.

[0011] Figure 1 is a flow chart of some embodiments of the swimming monitoring method according to the present disclosure; Figure 2 is a flow chart of other embodiments of the swimming monitoring method according to the present disclosure; Figure 3 is an application scenario diagram of some embodiments of the swimming monitoring method disclosed herein; Figure 4 This is a structural diagram of the shooting equipment; Figure 5 A schematic diagram for positioning a swimmer; Figure 6 It is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION

[0012] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0013] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.

[0014] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0015] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0016] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0017] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.

[0018] Figure 1 The process 100 of some embodiments of the swimming monitoring method according to the present disclosure is shown. The swimming monitoring method comprises the following steps: Step 101, obtaining swimming pool environment video data.

[0019] In some embodiments, the execution subject (e.g., a computing device) of the swimming monitoring method may obtain swimming pool environment video data. The swimming pool environment video data may be video data corresponding to the swimming pool and the environment around the swimming pool. In practice, the execution subject may shoot the swimming pool and the environment around the swimming pool through a camera to obtain the swimming pool environment video data. The execution subject may be a computing device.

[0020] Step 102: Generate a swimming video dataset corresponding to a swimmer based on the swimming pool environment video data.

[0021] In some embodiments, the execution subject may generate a swimming video data set corresponding to a swimmer based on the swimming pool environment video data. The swimming video data in the swimming video data set may be video data corresponding to the swimmer in the swimming pool environment video data. Each swimming video data in the swimming video data set corresponds to a swimmer.

[0022] In the process of adopting technical solutions to solve the above technical problems, the following problems are often accompanied: When using video data to identify drowning of different swimmers, the visual algorithm will also perform drowning identification in environmental areas outside the swimming pool area, resulting in low efficiency of drowning identification and waste of computing resources during identification.

[0023] Faced with the above technical problems, we decided to adopt the following solutions: In some optional implementations of some embodiments, the execution subject may generate a swimming video data set corresponding to the swimmer based on the swimming pool environment video data through the following steps: In the first step, for each swimming pool environment video frame in the swimming pool environment video data, the following steps are performed: In the first sub-step, edge detection processing is performed on the above-mentioned swimming pool environment video frame to obtain swimming pool area boundary coordinate data. The above-mentioned swimming pool area boundary coordinate data can be the various two-dimensional coordinates of the image area corresponding to the swimming pool boundary in the swimming pool environment video frame. In practice, first, the above-mentioned execution subject can perform edge detection processing on the above-mentioned swimming pool environment video frame through an edge detection algorithm to obtain a binary image corresponding to the swimming pool environment video frame as a swimming pool boundary binary image. As an example, the above-mentioned swimming pool boundary binary image can be that the pixel value of the image area of ​​the swimming pool boundary in the above-mentioned swimming pool environment video frame is set to 255, and the pixel value of the image area other than the above-mentioned swimming pool boundary is set to 0. Then, the image coordinate system can be constructed by taking the first pixel point in the upper left corner of the above-mentioned swimming pool environment video frame as the coordinate origin, the horizontal right direction as the horizontal coordinate axis, and the vertical downward direction as the vertical coordinate axis, so as to obtain the various two-dimensional coordinates of each pixel point with a pixel value of 255 in the above-mentioned swimming pool boundary binary image. Finally, the above-mentioned various two-dimensional coordinates can be combined into swimming pool area boundary coordinate data.

[0024] The second sub-step is to generate mask data based on the above-mentioned swimming pool area boundary coordinate data. The above-mentioned mask data can be a binary image used to mask the image area other than the swimming pool image area in the above-mentioned swimming pool environment video frame. In practice, the above-mentioned execution entity can set the pixel values ​​corresponding to all pixel points within the above-mentioned swimming pool area boundary coordinate data to 0, and set the pixel values ​​corresponding to all pixel points outside the above-mentioned swimming pool area boundary coordinate data to 255 to obtain the above-mentioned mask data.

[0025] The third sub-step is to generate a swimming pool area video frame corresponding to the swimming pool environment video frame based on the mask data. The swimming pool area video frame may be a video frame that only includes the image area corresponding to the swimming pool. In practice, the execution subject may overlay the mask data onto the swimming pool environment video frame to obtain the swimming pool area video frame.

[0026] The fourth sub-step is to perform swimmer identification processing on the above-mentioned swimming pool area video frame to obtain individual swimmer identification results. Among them, each of the above-mentioned swimmer identification results can represent whether the object corresponding to the image area in the above-mentioned swimming pool area video frame is a swimmer. In practice, the above-mentioned execution subject can identify the above-mentioned swimming pool area video frame through a target detection algorithm to obtain individual swimmer identification results. Among them, the above-mentioned target detection algorithm can be YOLO (you only look once).

[0027] The fifth sub-step is to generate a swimming pool area marked video frame based on the above-mentioned recognition results of each swimmer and the above-mentioned swimming pool area video frame. The above-mentioned swimming pool area marked video frame may be a marked swimming pool area video frame. The above-mentioned swimming pool area marked video frame includes various bounding boxes. Each of the above-mentioned bounding boxes corresponds to a swimmer. Each of the above-mentioned bounding boxes corresponds to a swimmer number. The above-mentioned swimmer number may be a number uniquely corresponding to the swimmer. In practice, first, the above-mentioned execution subject may mark a bounding box on the image area corresponding to the recognition result of the swimmer in the above-mentioned swimming pool area video frame to obtain a swimming pool area marked video frame. Then, for each of the above-mentioned bounding boxes, the above-mentioned execution subject may perform feature extraction processing on the image area of ​​the swimmer in the swimming pool area marked video frame corresponding to the above-mentioned bounding box through a pre-trained visual feature extraction model, and obtain a feature vector corresponding to the swimmer as a target feature vector. The above-mentioned visual feature extraction model may be a neural network model that takes the image area where the swimmer is located in the swimming pool area marked video frame as input and takes the feature vector corresponding to the swimmer as output. For example, the above-mentioned visual feature extraction model may be a pre-trained convolutional neural network. The pre-training may be training a convolutional neural network using a labeled swimming image set and a mean square error loss function. The swimming images in the swimming image set may be images corresponding to a swimmer swimming in a swimming pool. Then, the target feature vector may be matched with each feature vector stored in a preset feature vector library to obtain a matching result. The feature vector library may be a database for storing feature vectors corresponding to each swimmer. Each feature vector in each feature vector in the feature vector library corresponds to a swimmer number. The matching result may be information for characterizing whether the matching is successful. When the matching result is a successful match, the feature vector corresponding to the target feature vector in the feature vector library may be determined as a historical target feature vector. Then, the swimmer number corresponding to the historical target feature vector is determined as the swimmer number corresponding to the target feature vector. When the matching result is a failed match, a number that has not been generated may be regenerated as the swimmer number corresponding to the bounding box information.

[0028] The second step is to generate swimming pool area marked video data based on the generated swimming pool area marked video frames. The swimming pool area marked video data includes each bounding box. The swimming pool area marked video data may be video data composed of the generated swimming pool area marked video frames. In practice, the execution subject may combine the swimming pool area marked video frames into swimming pool area marked video data through a library function. The library function may be OpenCV.

[0029] In the third step, the bounding boxes corresponding to the same swimmer in the above-mentioned bounding boxes are determined as a bounding box group to obtain a bounding box group set. In practice, the bounding boxes corresponding to the same swimmer number in the above-mentioned bounding boxes can be determined as a bounding box group to obtain a bounding box information group set.

[0030] In the fourth step, for each bounding box group in the bounding box group set, the video data corresponding to the bounding box group in the swimming pool environment video data is determined as swimming video data. The swimming video data may be video data corresponding to swimmers in the swimming pool environment video data. In practice, for each bounding box group in the bounding box group set, the execution subject may determine each swimming pool environment video frame in the swimming pool environment video data that contains any one of the bounding boxes in the bounding box group as a target video frame sequence. Then, the execution subject may combine each target video frame in the target video frame sequence into target video data through a library function. Finally, the video data corresponding to the bounding box information group in the target video data may be determined as swimming video data. The library function may be OpenCV.

[0031] The above technical solution and its related contents, as an inventive point of an embodiment of the present disclosure, solve the problem of "waste of computing resources". The factors that lead to low efficiency of drowning recognition and waste of computing resources during recognition are often as follows: when drowning recognition is performed on different swimmers through video data, the visual algorithm will also perform drowning recognition on environmental areas outside the swimming pool area, resulting in low efficiency of drowning recognition and waste of computing resources during recognition. If the above factors are solved, the efficiency of recognition can be improved and the waste of computing resources during recognition can be reduced. In order to achieve this effect, the present disclosure first performs the following steps for each swimming pool environment video frame in the swimming pool environment video data: Secondly, edge detection processing is performed on the above swimming pool environment video frame to obtain swimming pool area boundary coordinate data. Thus, the coordinate data of the swimming pool boundary can be obtained. Then, based on the above swimming pool area boundary coordinate data, mask data is generated. Thus, mask data can be obtained. Then, based on the above mask data, a swimming pool area video frame corresponding to the above swimming pool environment video frame is generated. Thus, the image area outside the swimming pool can be masked by the mask data, and only the area corresponding to the swimming pool can be recognized during subsequent recognition processing, and the area outside the swimming pool can be ignored. Then, the swimming pool area video frame is processed for swimmer identification to obtain the identification results of each swimmer. Thus, the image area corresponding to each object in the swimming pool area video frame can be identified to determine whether the corresponding object is a swimmer. Then, based on the identification results of each swimmer and the swimming pool area video frame, a swimming pool area marked video frame is generated, wherein the swimming pool area marked video frame includes each bounding box, and each bounding box in the each bounding box corresponds to a swimmer. Thus, each swimmer can be marked in the swimming pool area video frame. Then, based on the generated swimming pool area marked video frames, swimming pool area marked video data is generated, wherein the swimming pool area marked video data includes each bounding box. Then, the bounding boxes corresponding to the same swimmer in each bounding box are determined as a bounding box group to obtain a bounding box group set. Finally, for each bounding box group in the bounding box group set, the video data corresponding to the bounding box group in the swimming pool environment video data is determined as swimming video data. Also, because the area outside the swimming pool can be masked through mask data, after masking, drowning recognition can be performed only on the area inside the swimming pool, and the area outside the swimming pool can be ignored. Therefore, the efficiency of drowning recognition can be improved and the waste of computing resources during recognition can be reduced.

[0032] Step 103: for each swimming video data in the swimming video dataset, perform the following steps: Step 1031, performing feature extraction processing on the swimming video data to obtain swimming feature information.

[0033] In some embodiments, the execution subject may perform feature extraction processing on the swimming video data to obtain swimming feature information. The swimming feature information may be the feature graphs corresponding to the swimmers in the swimming video data. In practice, the execution subject may generate the feature graphs corresponding to the swimming video data as the swimming feature graphs through a swimming feature extraction model. Then, the swimming feature graphs may be combined into the swimming feature information. The swimming feature extraction model may be a neural network model that takes the swimming video data as input and the feature graph corresponding to each swimming video frame in the swimming video data as output. The swimming feature extraction model may be a pre-trained convolutional neural network. The pre-training may be training the convolutional neural network using a labeled swimming posture image set and a mean square error loss function. The swimming images in the swimming posture image set may be images corresponding to swimmers swimming in a swimming pool.

[0034] Step 1032: Generate posture information based on the swimming characteristic information.

[0035] In some embodiments, the execution subject may generate posture information based on the swimming characteristic information. The posture information may be the human skeleton diagrams corresponding to the swimmers in the swimming video data. In practice, the execution subject may generate posture information corresponding to the swimming characteristic information through a posture estimation algorithm. The posture estimation algorithm may be Openpose.

[0036] Step 1033, based on the posture information and the information group of the signal receiving device worn by the swimmer received in real time by each signal receiving antenna on the shooting device, determine the user state information of the swimmer corresponding to the swimming video data.

[0037] In some embodiments, the execution subject may determine the user status information of the swimmer corresponding to the swimming video data based on the posture information and the signal receiving device information group of the swimmer worn by the swimmer received in real time by each signal receiving antenna on the shooting device. The swimmer carries an antenna sending device corresponding to the signal receiving device information. The shooting device may include a camera and each signal receiving antenna. The camera may be used to shoot the swimming pool environment video data. The signal receiving antenna in each signal receiving antenna may be an antenna for receiving signals. The signal receiving device information in the signal receiving device information group may be information corresponding to each signal received by the signal receiving antenna. Each signal receiving device information in the signal receiving device information group may correspond to a signal receiving antenna. The signal receiving device information may include each device signal information. Each device signal information in each device signal information may be information corresponding to a signal sent by a signal transmitting device. Each device signal information in each device signal information may correspond to a sending timestamp, an arrival timestamp, an arrival angle, a device number and a signal strength information. The sending timestamp may be a timestamp when the antenna sending device sends a signal corresponding to the device signal information. The arrival timestamp may be a timestamp when the signal corresponding to the device signal information is transmitted from the signal receiving antenna. Each of the signal strength information may be an RSSI (Received Signal Strength Indication) corresponding to the signal received by the signal receiving antenna.

[0038] In some optional implementations of some embodiments, the execution subject may determine the user status information of the swimmer corresponding to the swimming video data based on the posture information and each device information group received in real time by each signal receiving antenna through the following steps: The first step is to generate a signal fluctuation curve corresponding to the swimming video data based on the real-time received signal receiving device information group, wherein the signal fluctuation curve can be a curve with the horizontal axis corresponding to each sending time stamp and the vertical axis corresponding to each sending time stamp as the average value of each signal strength information.

[0039] The second step is to generate user status information based on the posture information and the signal fluctuation curve. The user status information may be a label used to characterize the state of the swimmer. For example, the user status information may be "alarm state", "warning state" or "normal state".

[0040] In some optional implementations of some embodiments, the execution subject may generate a signal fluctuation curve corresponding to the swimming video data based on each device information group received in real time through the following steps: The first step is to determine each signal fluctuation information based on the received signal device information group received in real time. Among them, the signal fluctuation information in the above-mentioned signal fluctuation information can represent the average signal strength of the signal emitted by the antenna transmitting device. In practice, for each received signal device information in the above-mentioned received signal device information group, first, the above-mentioned execution subject can determine the various device signal information included in the above-mentioned received signal device information as each target device signal information. Then, for each target device signal information in the above-mentioned target device signal information, the sending timestamp and signal strength information corresponding to the above-mentioned target device signal information can be combined into fluctuation information. Then, the combined various fluctuation information can be determined as a fluctuation information group. Then, the various sending timestamps corresponding to any signal device information in the above-mentioned received signal device information group can be sorted in order from early to late to obtain a sending timestamp sequence. Then, for each sending timestamp in the above-mentioned sending timestamp sequence, the various fluctuation information corresponding to the above-mentioned sending timestamp in the determined various fluctuation information groups can be determined as each target fluctuation information. Then, the average of each signal strength information corresponding to the above-mentioned each target fluctuation information can be determined as the signal fluctuation information corresponding to the above-mentioned sending timestamp.

[0041] Optionally, after determining the respective device information corresponding to the swimming video data, the execution subject may store the swimmer number of the swimmer corresponding to the swimming video data and the device number corresponding to the respective device information in a preset target database. The target database may be a pre-set database for storing swimmer numbers and device numbers.

[0042] The second step is to generate a signal fluctuation curve based on the above-mentioned signal fluctuation information. In practice, the above-mentioned execution subject can fit the above-mentioned signal fluctuation information into a curve as the signal fluctuation curve by a polynomial fitting method according to the sending timestamps corresponding to the above-mentioned signal fluctuation information in order from early to late. The above-mentioned polynomial fitting can be a least squares method.

[0043] In some optional implementations of some embodiments, the execution subject may generate user status information based on the posture information and the signal fluctuation curve through the following steps: The first step is to match the above posture information with each preset normal posture information to obtain a posture information matching result. Among them, the normal posture information in the above normal posture information can be a feature vector corresponding to the posture information of a normal swimming posture. The above normal swimming posture can include but is not limited to: freestyle, breaststroke, butterfly stroke. Each normal posture information in the above normal posture information corresponds to a posture label. The above posture label can characterize the normal swimming posture corresponding to the normal posture information. For example, the above posture label can be "freestyle", which characterizes that the corresponding normal posture information belongs to the feature vector corresponding to freestyle. The above swimming posture matching result can be a label information used to characterize whether the above posture information is normal. In practice, the above execution subject can extract features from each human posture information included in the above posture information through a pre-trained posture feature extraction model, and obtain the feature vector corresponding to each human posture information as a posture feature vector. Then, for each normal posture information in the above normal posture information, the cosine similarity between the normal posture information and the posture feature vector can be determined as the feature similarity between the normal posture information and the posture feature vector. Then, the maximum feature similarity among the determined feature similarities can be determined as the target similarity. When the target similarity is less than the preset similarity threshold, "posture information does not belong to normal posture information" can be determined as the comparison result. When the target similarity is greater than or equal to the preset similarity threshold, "posture information belongs to normal posture information" can be determined as the comparison result. Among them, the preset similarity threshold can be a pre-selected value. Here, the specific setting of the preset similarity threshold is not limited. The comparison result can be a label used to characterize whether the posture information belongs to the above normal posture information. For example, the comparison result can be "posture information belongs to normal posture information" or "posture information does not belong to normal posture information". When the comparison result is "posture information does not belong to normal posture information", "warning state" can be determined as the posture information matching result. When the comparison result is not "posture information does not belong to normal posture information", "normal state" can be determined as the posture information matching result. The posture feature extraction model can be a neural network model that takes each human posture information included in the posture information as input and takes the feature vector corresponding to each human posture information as output. Among them, the posture feature extraction model can be a pre-trained convolutional neural network. The above pre-training can be used to train the convolutional neural network using the labeled human posture information set and the mean square error loss function.

[0044] The second step is to generate a signal curve matching result based on the signal fluctuation curve. The signal curve matching result may be label information used to characterize whether the signal fluctuation curve is normal. In practice, the execution subject may input the signal fluctuation curve into a pre-trained signal curve matching model to obtain a signal curve matching result.

[0045] As an example, the signal curve matching model may include a feature extraction part and a correspondence table. The feature extraction part may be used to extract a feature vector from the signal fluctuation curve. For example, the feature extraction part may be a long short-term memory network. The correspondence table may be a correspondence table that is pre-formulated by a technician based on statistics of a large number of feature vectors and the swimming state information of the swimmer in the swimming pool, and stores the correspondence between multiple feature vectors and swimming postures. In this way, the signal curve matching model may first use the feature extraction part to extract the features of the signal fluctuation curve, and obtain the feature vector of the signal fluctuation curve as the target feature vector. Afterwards, the target feature vector is sequentially compared with multiple feature vectors in the correspondence table. If a feature vector in the correspondence table is the same or similar to the target feature vector, the swimming state information corresponding to the feature vector in the correspondence table is used as the swimming state information at the survival time point. The swimming state information may be a label for characterizing the state of the swimmer. The swimming state information may include, but is not limited to, freestyle, breaststroke, butterfly stroke, surface stay, abnormality, and drowning. When the swimming state information is "drowning", the "alarm state" may be determined as the signal curve matching result. When the swimming state information is "abnormal", the "warning state" can be determined as the signal curve matching result. When the swimming state information is neither "drowning" nor "abnormal", the "normal state" can be determined as the signal curve matching result.

[0046] The third step is to generate user status information based on the posture information matching results and the signal curve matching results. In practice, when the posture information matching results and the signal curve matching results are both in the "normal state", the "normal state" can be determined as the user status information. When there is a "warning state" in the posture information matching results and the signal curve matching results, and there is no "alarm state", the "warning state" can be determined as the user status information. When there is an "alarm state" in the posture information matching results and the signal curve matching results, the "alarm state" can be determined as the user status information.

[0047] Optionally, before step 1034, the execution entity may further perform the following steps: In response to determining that the posture information matching result and the signal curve matching result meet the preset normal state condition, the following steps are performed: The first step is to generate posture adjustment information. The normal state condition may be that both the posture information matching result and the signal curve matching result are "normal state". The posture adjustment information may be information for prompting the swimmer to adjust the posture. In practice, first, the execution subject may determine the normal posture information with the greatest feature similarity with the posture information among the normal posture information as the target posture information. Then, the posture label corresponding to the target posture information may be determined as the target swimming style. Then, the execution subject may obtain the professional swimming video stream corresponding to the target swimming style from the first preset database as a reference video stream. The professional swimming video stream may be a video stream of a professional swimmer swimming. The first preset database may be a database for storing various professional swimming video streams. Then, the execution subject may obtain the professional swimming signal curve corresponding to the target swimming style from the second preset database. The second preset database may be a database for storing various professional swimming signal curves. The professional swimming signal curve may be a signal fluctuation curve corresponding to a professional swimmer swimming. The unit length and the number of unit lengths of the horizontal axis in the professional swimming signal curve are the same as those of the signal fluctuation curve. Then, the frequency of the signal fluctuation curve and the frequency of the professional swimming signal curve corresponding to the signal fluctuation curve can be identified by frequency domain recognition technology. Then, the difference between the frequency of the signal fluctuation curve and the frequency of the professional swimming signal curve can be determined as the adjustment frequency. Then, the corresponding adjustment information can be determined by the value of the adjustment frequency.

[0048] As an example, when the above adjustment frequency is 3, it can be characterized that the frequency of swimmers in the swimming video data is greater than the frequency of professional swimmers. At this time, the prompt information for prompting the swimmer to reduce the diving frequency can be determined as the adjustment information. When the above adjustment frequency is -3, it can be characterized that the frequency of swimmers in the swimming video data is less than the frequency of professional swimmers. At this time, the prompt information for prompting the swimmer to increase the diving frequency can be determined as the adjustment information. For example, the above adjustment information can be "increase the diving frequency" or "reduce the diving frequency". Finally, the above adjustment information can be combined with the above reference video stream into posture adjustment information.

[0049] The second step is to send the posture adjustment information to the antenna sending device corresponding to the signal fluctuation curve.

[0050] Step 1034: Based on the user status information, execute an anti-drowning alarm task corresponding to the user status information.

[0051] In some embodiments, the execution subject may execute an anti-drowning alarm task corresponding to the user status information based on the user status information.

[0052] In some optional implementations of some embodiments, the execution subject may execute the drowning prevention alarm task corresponding to the user status information based on the user status information through the following steps: In response to determining that the user status information meets the preset alarm condition, the following steps are performed: The first step is to determine the above-mentioned signal receiving device information group as each target device information. Among them, the above-mentioned preset alarm condition can be that the user status information is "alarm status".

[0053] The second step is to generate user location information based on the above-mentioned target device information. Among them, the above-mentioned user location information can be used to characterize the corresponding position of the user. In practice, for any one of the above-mentioned target device information, first, the above-mentioned execution subject can determine the arrival angle of the corresponding target timestamp in the above-mentioned target device information as the target arrival angle. Secondly, the difference between the arrival timestamp and the sending timestamp corresponding to the above-mentioned target device information can be determined as the signal propagation time. Then, the product of the signal propagation time and the speed of light can be determined as the distance from the signal receiving antenna corresponding to the above-mentioned target device information to the signal source as the propagation distance. According to the above-mentioned target arrival angle, the above-mentioned propagation distance and the preset antenna position information, the position of the signal source can be obtained as the user location information.

[0054] The third step is to control the corresponding alarm device to perform an alarm operation to notify rescue personnel to perform rescue. The alarm device may be a device for alarming. In practice, the execution subject may send a preset alarm message to a terminal corresponding to the alarm device to request the alarm device to perform an alarm operation.

[0055] The fourth step is to send the user status information and the user location information to the terminal device corresponding to the rescue personnel.

[0056] Optionally, in response to receiving the safety rescue information sent by the terminal device corresponding to the rescuer, the execution subject may determine the "normal state" as the user state information to update the user state information. The safety rescue information may be information used to indicate that the swimmer has escaped from danger. For example, the safety rescue information may be "the swimmer has left the swimming pool."

[0057] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the swimming monitoring method of the present disclosure, the ability to track and monitor different swimmers can be improved, and the accuracy of drowning detection can be improved. Specifically, the reason for the poor ability to track and monitor different swimmers, the poor accuracy of drowning detection, and the untimely rescue of drowning swimmers is that the appearance of each swimmer in the swimming pool is similar, and the ability to track and monitor different swimmers only by visual algorithms is poor. And the accuracy of the visual algorithm is limited by the quality of the video data. However, in the swimming pool environment, the video data captured by the camera is easily disturbed by factors such as water surface reflection, resulting in poor quality of the video data, which in turn leads to poor accuracy of drowning monitoring of swimmers by the visual algorithm, which easily leads to untimely rescue of drowning swimmers. Based on this, the swimming monitoring method of some embodiments of the present disclosure, first, obtains the video data of the swimming pool environment. Thus, the video data to be processed can be obtained. Secondly, based on the above-mentioned swimming pool environment video data, a swimming video data set corresponding to the swimmer is generated, wherein each swimming video data in the above-mentioned swimming video data set corresponds to a swimmer. Thus, different swimmers can be better distinguished, and the recognition capability of different swimmers can be improved. Then, for each swimming video data in the swimming video data set, the following steps are performed: first, feature extraction processing is performed on the swimming video data to obtain swimming feature information. Thus, feature information of the swimmer can be obtained. Secondly, posture information is generated based on the swimming feature information. Thus, posture information of the swimmer can be obtained. Then, based on the posture information and the signal receiving device information group of the swimmer worn by the swimmer received in real time by each signal receiving antenna on the shooting device, the user state information of the swimmer corresponding to the swimming video data is determined, wherein the swimmer carries an antenna transmitting device corresponding to the signal receiving device information group. Thus, the state of the swimmer can be jointly identified by combining the characteristic information of the swimmer and the signal sent by the antenna transmitting device carried by the swimmer. Finally, based on the user state information, the drowning prevention alarm task corresponding to the user state information is performed. Thus, different processing tasks can be performed according to the different states of the swimmer. Also, because the swimmer can be tracked together by the characteristic information of the swimmer and the device carried by the swimmer, the tracking capability of different swimmers can be improved. Also, because the status of the swimmer can be monitored jointly through the swimming posture information and the strength of the signal emitted by the equipment carried by the swimmer, the accuracy and real-time nature of drowning monitoring of the swimmer can be improved, and an alarm can be issued in time to notify rescuers to carry out rescue.

[0058] Figure 2 A process 200 of another embodiment of a swimming monitoring method according to the present disclosure is shown. The swimming monitoring method comprises the following steps: Step 201, obtaining swimming pool environment video data.

[0059] In some embodiments, an execution subject (eg, a computing device) of the swimming monitoring method may obtain swimming pool environment video data.

[0060] In some embodiments, the execution subject may obtain the video data of the swimming pool environment. In practice, the method of obtaining the video data of the swimming pool environment may refer to the specific implementation method of step 101, which will not be described in detail here.

[0061] Step 202: Generate a swimming video dataset corresponding to a swimmer based on the swimming pool environment video data.

[0062] In some embodiments, the execution subject may generate a swimming video data set corresponding to a swimmer based on the swimming pool environment video data, wherein each swimming video data in the swimming video data set corresponds to a swimmer.

[0063] In the first step, for each swimming pool environment video frame in the swimming pool environment video data, the execution subject may receive a swimming pool area boundary coordinate data set input by a technician. The swimming pool area boundary coordinate data in the swimming pool area boundary coordinate data set may be the two-dimensional coordinates of the boundary of the swimming pool image area in the swimming pool environment video frame in the swimming pool environment video frame. The swimming pool image area may be the image area corresponding to the swimming pool in the swimming pool environment video frame.

[0064] The second step is to use the pool area boundary coordinate data set and the image cropping technology to crop the image area outside the boundary corresponding to the pool area boundary coordinate data set in the pool environment video frame, and only retain the image area within the boundary as the pool video frame. The pool video frame corresponds to a timestamp.

[0065] In the third step, the determined swimming pool video frames can be combined into swimming pool video data according to the timestamp corresponding to each swimming pool video frame by using an image processing tool, wherein the image processing tool can be Ffmpeg.

[0066] In the fourth step, the execution subject may track each object in the swimming pool video data by a multi-target tracking algorithm to obtain an object trajectory information group corresponding to each object. The object trajectory information in the object trajectory information group may be the trajectory information of the object. The object trajectory information in the object trajectory information group may include the bounding box information and the object number of the object. The bounding box information may be information for representing the bounding box of the object in the swimming pool video frame. Each bounding box information may be information for representing the bounding box. The bounding box information may include the coordinates of each vertex corresponding to the bounding box. The vertex coordinates in the vertex coordinates may be the coordinates of each vertex of the bounding box in the swimming pool video frame.

[0067] In a fifth step, for each of the above objects, each piece of bounding box information included in the object trajectory information group corresponding to the above object may be determined as each piece of target bounding box information.

[0068] In a sixth step, for each target bounding box information in the above-mentioned target bounding box information, a swimming pool video frame corresponding to the above-mentioned target bounding box information in the above-mentioned swimming pool video data may be determined as a target video frame.

[0069] In the seventh step, the image area corresponding to the target bounding box information in the target video frame can be determined as the target image area. The determined target image areas can be determined as target image area groups. Thus, each target image area group can be obtained. Each target image area group in the target image area groups corresponds to an object. Each target image area in each target image area group corresponds to a timestamp.

[0070] In the eighth step, each of the target image region groups can be detected by an image target detection algorithm to obtain category information corresponding to each of the target image region groups. The category information can represent the category of the object. For example, the category information can be "human", "swimming ring" or "swimming cap".

[0071] In the ninth step, each target image region group whose corresponding category information is human can be determined as each swimmer image region group, wherein each swimmer image region in each swimmer image region group has a corresponding time stamp.

[0072] In the tenth step, for each of the swimmer image area groups, the execution subject may combine the swimmer image area groups into video data as swimming video data by using the image processing tool.

[0073] Step 203: for each swimming video data in the swimming video dataset, perform the following steps: Step 2031, performing feature extraction processing on the swimming video data to obtain swimming feature information.

[0074] In some embodiments, the execution entity may perform feature extraction processing on the swimming video data to obtain swimming feature information.

[0075] In practice, for each swimming video frame in the swimming video data, the execution subject may also perform feature extraction processing on the swimming video frame through a feature extraction network in a human posture information generation model to obtain a feature map corresponding to the swimming video frame as a swimming feature map. Then, the obtained swimming feature maps may be combined into swimming feature information. The human posture information generation model may include three layers.

[0076] The first layer may be a feature extraction network. The feature extraction network may be a neural network that takes the swimming video data as input and takes the swimming feature map of each swimming video frame in the swimming video data as output. For example, the feature extraction network may be a convolutional neural network. The swimming video frame may be a video frame in the swimming video data. The swimming feature map may be a feature map corresponding to the swimming video frame.

[0077] The second layer may include a feature processing network. The feature processing network may include a confidence map generation network and a component affinity field generation network. The confidence map generation network may be a neural network that takes the swimming feature map of each swimming video frame in the swimming video data as input and takes the confidence map group corresponding to each swimming video frame in the swimming video data as output. For example, the confidence map generation network may be a convolutional neural network. The confidence map in the confidence map group may be a two-dimensional image corresponding to the swimming video frame. The pixel value in the confidence map may represent the probability that the pixel point corresponding to the pixel value in the swimming video frame belongs to a human key point. Each confidence map in the confidence map group corresponds to a human key point.

[0078] The component affinity field generation network may be a neural network that takes the swimming feature map of each swimming video frame in the swimming video data as input and takes the part affinity field group corresponding to each swimming video frame in the swimming video data as output. The component affinity field generation network may be a convolutional neural network. Each component affinity field in the component affinity field group may correspond to two key points of the human body.

[0079] The third layer may be a matching algorithm. The matching algorithm may be an algorithm that takes the confidence map group and the component affinity field group of each swimming video frame in the swimming video data as input and takes the human posture information of each swimming video frame in the swimming video data as output. The matching algorithm may be a bipartite graph matching algorithm. The human posture information may be a human skeleton graph generated by processing the confidence map group and the component affinity field group through the matching algorithm. The human skeleton graph may be image data obtained by connecting each human key point in the swimming video frame.

[0080] Step 2032: Generate swimming key point information based on the swimming feature information.

[0081] In some embodiments, the above-mentioned execution subject may generate swimming key point information based on the above-mentioned swimming feature information. The above-mentioned swimming key point information may be information corresponding to each human body key point in each swimming video frame in the above-mentioned swimming video data. The above-mentioned swimming key point information may include a confidence map group and a component affinity field group corresponding to each swimming video frame in the above-mentioned swimming video data. In practice, the above-mentioned execution subject may input the above-mentioned swimming feature information into the feature processing network in the above-mentioned human posture information generation model to obtain a confidence map group and a component affinity field group corresponding to each swimming video frame in the above-mentioned swimming video data. Then, for each swimming video frame in the above-mentioned swimming video data, the above-mentioned execution subject may combine the confidence map group and the component affinity field group corresponding to the above-mentioned swimming video frame into key point information. Finally, the above-mentioned execution subject may combine the obtained key point information into swimming key point information.

[0082] Step 2033, generating posture information based on the swimming key point information.

[0083] In some embodiments, the execution subject may generate posture information based on the swimming key point information. In practice, the execution subject may input the swimming key point information into the matching algorithm to obtain various human posture information. Then, the various human posture information may be combined into posture information.

[0084] Step 2034, based on the posture information and the information group of the signal receiving device worn by the swimmer received in real time by each signal receiving antenna on the shooting device, determine the user state information of the swimmer corresponding to the swimming video data.

[0085] In some embodiments, the execution subject may determine the user status information of the swimmer corresponding to the swimming video data based on the posture information and the signal receiving device information group of the swimmer received in real time by each signal receiving antenna on the shooting device, wherein the swimmer carries an antenna transmitting device corresponding to the signal receiving device information group.

[0086] In practice, first, the execution subject can determine the posture information matching result of the swimmer corresponding to the swimming video data through the posture information. The method for determining the posture information matching result can refer to the specific implementation method of step 1033, which will not be repeated here. Secondly, each signal strength information corresponding to each receiving signal device information in the receiving signal device information group can be determined as a target signal strength information group. Then, the signal state of the swimmer corresponding to the swimming video data can be determined according to the determined target signal strength information groups. As an example, when each target signal strength information in each target signal strength information group is greater than a preset strength value, the "normal state" can be determined as the signal state. When there is a target signal strength information equal to the preset strength value in each target signal strength information group, the "warning state" can be determined as the signal state. When there is a target signal strength information less than the preset strength value in each target signal strength information group, the "alarm state" can be determined as the signal state. Finally, when there is an "alarm state" in the posture information matching result and the signal state, the "alarm state" can be determined as the user state information. When the gesture information matching result and the signal status have "warning status" and do not have "alarm status", the "warning status" can be determined as the user status information. When the gesture information matching result and the signal status are both "normal status", the "normal status" can be determined as the user status information.

[0087] Step 2035: Based on the user status information, execute the drowning prevention alarm task corresponding to the user status information.

[0088] In some embodiments, the execution subject may execute the anti-drowning alarm task corresponding to the user status information based on the user status information. In practice, the specific implementation method of executing the anti-drowning alarm task corresponding to the user status information based on the user status information can refer to the specific implementation method of step 1034, which will not be repeated here.

[0089] Figure 3 It is an application scenario diagram of some embodiments of the swimming monitoring method according to the present disclosure. Among them, the shooting device may include: at least one camera and various signal receiving antennas. The shooting device may be hung above the swimming pool or placed on the wall around the swimming pool. At least one camera in the shooting device may be used to shoot the above-mentioned swimming pool environment video data. The various signal receiving antennas in the shooting device may be used to receive in real time various signals emitted by various antenna transmitting devices worn by various swimmers. The antenna transmitting device may be a device worn by the swimmer for sending signals. The swimming pool may be a swimming pool area where the swimmer is located.

[0090] Figure 4 : is a structural diagram of a shooting device. The shooting device may include: at least one camera 1, a camera bracket 2, signal receiving antennas 3 and an antenna fixing device 4. The camera 1 may be configured to shoot the video data of the swimming pool environment. The camera bracket 2 may be used to support the camera 1. The signal receiving antennas 3 may be used to receive signals sent by the antenna transmitting device. The antenna fixing device 4 is used to fix the signal receiving antennas 3.

[0091] Figure 5 This is a schematic diagram for locating a swimmer. Figure 5 The antenna transmitting device in the embodiment may be an antenna transmitting device carried by a swimmer. The swimmer carries the antenna transmitting device to send a signal. Each signal receiving antenna can receive the signal sent by the antenna transmitting device, and determine the location of the antenna transmitting device that sends the signal based on the arrival angle of the received signal, thereby obtaining the location of the swimmer carrying the antenna transmitting device.

[0092] Reference below Figure 6 , which shows a structural schematic diagram of an electronic device (such as a computing device) 600 suitable for implementing some embodiments of the present disclosure. Figure 6 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0093] like Figure 6 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0094] The electronic device 600 may further include a photographing device, which may include at least one camera, a camera bracket, various signal receiving antennas and an antenna fixing device; and each of the signal receiving antennas may be configured to receive a receiving signal device information group sent by the antenna sending device.

[0095] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Figure 6 Each block shown in the figure may represent one device, or may represent multiple devices as required.

[0096] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.

[0097] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer readable signal media may also be any computer readable medium other than computer readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0098] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0099] The computer-readable medium may be included in the electronic device; or it may exist independently without being installed in the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: obtains the swimming pool environment video data; generates a swimming video data set corresponding to the swimmer based on the swimming pool environment video data, wherein each swimming video data in the swimming video data set corresponds to a swimmer; for each swimming video data in the swimming video data set, performs the following steps: performs feature extraction processing on the swimming video data to obtain swimming feature information; generates posture information based on the swimming feature information; determines the user status information of the swimmer corresponding to the swimming video data based on the posture information and each device information group received in real time by each signal receiving antenna, wherein the swimmer carries an antenna sending device corresponding to the device information; and performs an anti-drowning alarm task corresponding to the user status information based on the user status information.

[0100] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0101] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0102] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0103] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above inventive concept. For example, the above features are replaced with (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure.

Claims

1. A swimming monitoring method, applied to a photographing device, characterized in that: The method comprises: Obtain swimming pool environment video data; Based on the swimming pool environment video data, generating a swimming video data set corresponding to a swimmer, wherein each swimming video data in the swimming video data set corresponds to a swimmer; For each swimming video data in the swimming video dataset, the following steps are performed: Performing feature extraction processing on the swimming video data to obtain swimming feature information; generating posture information based on the swimming characteristic information; Determine the user status information of the swimmer corresponding to the swimming video data based on the posture information and the signal receiving device information group worn by the swimmer received in real time by each signal receiving antenna on the shooting device, wherein the swimmer carries an antenna transmitting device corresponding to the signal receiving device information group; Based on the user status information, an anti-drowning alarm task corresponding to the user status information is executed.

2. The method according to claim 1, wherein: The step of generating posture information based on the swimming characteristic information includes: Based on the swimming characteristic information, generating swimming key point information; Based on the swimming key point information, posture information is generated.

3. The method according to claim 1, wherein: The determining of the user status information of the swimmer corresponding to the swimming video data based on the posture information and the information group of the signal receiving device worn by the swimmer received in real time by each signal receiving antenna on the shooting device comprises: Based on the received signal device information group received in real time, generating a signal fluctuation curve corresponding to the swimming video data; User status information is generated based on the posture information and the signal fluctuation curve.

4. The method according to claim 3, wherein: The generating of a signal fluctuation curve corresponding to the swimming video data based on the real-time received signal receiving device information group includes: Determine each signal fluctuation information based on the received signal device information group received in real time; A signal fluctuation curve is generated based on the various signal fluctuation information.

5. The method according to claim 3, wherein: The generating user status information based on the posture information and the signal fluctuation curve includes: Matching the posture information with each preset normal posture information to obtain a posture information matching result; Based on the signal fluctuation curve, generating a signal curve matching result; User status information is generated based on the posture information matching result and the signal curve matching result.

6. The method according to claim 5, wherein: After generating a signal curve matching result based on the signal fluctuation curve, the method further includes: In response to determining that the posture information matching result and the signal curve matching result meet a preset normal state condition, the following steps are performed: generating posture adjustment information; The posture adjustment information is sent to an antenna sending device corresponding to the signal fluctuation curve.

7. The method according to claim 1, wherein: The executing, based on the user status information, an anti-drowning alarm task corresponding to the user status information includes: In response to determining that the user status information meets the preset alarm condition, the following alarm steps are performed: Determine the signal receiving device information group as each target device information; Generate user location information based on the information of each target device; Control the corresponding alarm equipment to perform alarm operations to notify rescue personnel to carry out rescue; The user status information and the user location information are sent to the terminal device corresponding to the rescuer.

8. An electronic device comprising: A photographing device, wherein the photographing device comprises at least one camera, a camera bracket, various signal receiving antennas and an antenna fixing device; Each signal receiving antenna is configured to receive a receiving signal device information group sent by the antenna sending device; one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.

9. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.