AUTOMATIC DETECTION AND QUANTIFICATION OF SWIMMING
A wearable device for tracking swim activities of a user is provided. The wearable device may include one or more sensors configured to generate sensor data, and based on the sensor data, the wearable device may determine swim metrics such as swim stroke count, swim stroke type, swim lap count, and swim speed. The determined swim metrics may be filtered based on one or more swim periods during which the user is likely to have been swimming. The wearable device may determine such swim periods based on the sensor data and/or the determined swim metrics.
1 . A wearable device configured to track swim metrics of a user, the wearable device comprising:
one or more sensors configured to generate sensor data;
one or more memory devices; and
one or more processors, wherein:
the one or more processors are operatively connected with the one or more sensors and the one or more memory devices, and
the one or more memory devices store computer-executable instructions which, when executed by the one or more processors, cause the one or more processors to:
determine, without receiving a first user input indicative of whether the user is swimming, that first sensor data generated by the one or more sensors during a first time period includes first one or more features indicative of the user swimming;
generate swim metrics indicative of the user's performance with respect to swimming based the sensor data from the one or more sensors and responsive to that the first sensor data generated by the one or more sensors during the first time period includes the first one or more features indicative of the user swimming;
determine, without receiving a second user input indicative of whether the user is swimming, that second sensor data generated by the one or more sensors during a second time period subsequent to the first time period does not include second one or more features indicative of the user swimming;
cease generating the swim metrics based on the determination that the second sensor data does not include the second one or more features indicative of the user swimming; and
output the swim metrics for presentation to the user.
2 . The wearable device of claim 1 , wherein the swim metrics include one or more swim metrics selected from the group consisting of: swim stroke count, swim stroke type, swim kick count, swim lap count, swim lap duration, swim lap start time, swim lap end time, and swim speed.
3 . The wearable device of claim 1 , wherein the one or more memory devices further store additional computer-executable instructions which, when executed by the one or more processors, further cause the one or more processors to output the swim metrics for presentation to the user by causing wireless transmission of the swim metrics from the wearable device to a mobile device wirelessly paired with the wearable device for presentation of the swim metrics on a display screen of the mobile device.
4 . The wearable device of claim 1 , wherein the one or more memory devices further store additional computer-executable instructions which, when executed by the one or more processors, further cause the one or more processors to cause at least some of the swim metrics to be displayed on a display screen of the wearable device prior to ceasing the generation of the swim metrics.
5 . The wearable device of claim 1 , wherein the one or more memory devices further store additional computer-executable instructions which, when executed by the one or more processors, further cause the one or more processors to wirelessly transmit the swim metrics from the wearable device to a server for storage.
6 . The wearable device of claim 1 , wherein the one or more memory devices further store additional computer-executable instructions which, when executed by the one or more processors, further cause the one or more processors to activate one or more additional sensors for generating additional sensor data responsive to determining that the first sensor data generated by the one or more sensors during the first time period includes the first one or more features indicative of the user swimming.
7 . The wearable device of claim 6 , wherein the one or more memory devices further store additional computer-executable instructions which, when executed by the one or more processors, further cause the one or more processors to process at least some of the additional sensor data using a sensor-fusion algorithm.
8 . The wearable device of claim 6 , wherein at least one of the one or more additional sensors is a gyroscope.
9 . The wearable device of claim 1 , wherein the one or more memory devices further store additional computer-executable instructions which, when executed by the one or more processors, further cause the one or more processors to activate a swim mode to monitor the user's swimming performance responsive to determining that the first sensor data generated by the one or more sensors during the first time period includes the first one or more features indicative of the user swimming.
10 . The wearable device of claim 1 , wherein at least one of the one or more sensors is an inertial measurement unit.
11 . A non-transitory computer-readable medium storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to:
receive sensor data generated by one or more sensors of a wearable device;
determine, based on the sensor data, that a user of the wearable device is likely to be swimming or is swimming; and
determine, based on the sensor data, one or more swim metrics indicative of the user's swimming performance in response to determining that the user is swimming or is likely to be swimming.
12 . The non-transitory computer-readable medium of claim 11 , further storing additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to activate one or more additional sensors for generating additional sensor data in response to determining that the user is swimming or is likely to be swimming.
13 . The non-transitory computer-readable medium of claim 11 , further storing additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to activate a swim mode of the wearable device to monitor the user's progress or performance with respect to swimming in response to determining that the user is swimming or is likely to be swimming.
14 . The non-transitory computer-readable medium of claim 11 , further storing additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to:
determine, while determining the swim metrics and based on the sensor data, that the user is no longer swimming or is likely to no longer be swimming; and
cease, in response to determining that the user is no longer swimming or is likely to no longer be swimming, the determination of the swim metrics.
15 . The non-transitory computer-readable medium of claim 11 , further storing additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to determine, without receiving an input from the user indicative of whether the user is swimming, that a user of the wearable device may be swimming.
16 . The non-transitory computer-readable medium of claim 11 , further storing additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to determine that a user of the wearable device may be swimming based on an input from the user indicating whether the user is swimming or not swimming.
17 . The non-transitory computer-readable medium of claim 11 , wherein at least some of the one or more processors are provided on the wearable device and the non-transitory physical computer storage further stores additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to cause a message that comprises at least one of text and graphics indicative of the user's performance with respect to swimming to be displayed on a display screen of the wearable device.
18 . The non-transitory computer-readable medium of claim 11 , wherein at least some of the one or more processors are provided on a client device that is wirelessly paired with the wearable device and the non-transitory physical computer storage further stores additional computer-executable instructions that, when executed by the one or more processors, further cause the one or more processors to cause a message that comprises at least one of text and graphics indicative of the user's performance with respect to swimming to be displayed on a display screen associated with the client device.
19 . The non-transitory computer-readable medium of claim 11 , wherein the swim metrics include one or more swim metrics selected from the group consisting of: swim stroke count, swim stroke type, swim kick count, swim lap count, swim lap duration, swim lap start time, swim lap end time, and swim speed.
20 . The non-transitory computer-readable medium of claim 11 , wherein at least one of the one or more sensors of the wearable device is an inertial measurement unit.