According to an embodiment, a computer method for measuring heart rate in livestock includes receiving a video stream including one or more livestock in a pen; determining, from the video stream, a digital identity of a livestock individual; finding, in frames of the video stream, a feature of the livestock individual that exhibits heart rate-correlated periodic flushing; performing pixel amplification at the feature to amplify the periodic flushing; and calculating a heart rate of the livestock individual from a sequence of the amplified periodic flushing. The computer method may further include outputting information about the heart rate of the livestock individual on a physical device.
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise.
Other embodiments may be used and/or other changes may be made without departing from the spirit or scope of the disclosure.
A plurality of sensors 104, here shown as cameras 104a, 104b, 104c, 104d, 104e, are disposed to obtain digital video or sequences of still frames including the livestock 102. The digital video or sequences of still frames are transmitted to a computer 106. The computer 106 may process the digital video or sequences of still frames as described below. The computer 106 may display the videos or sequences of still frames on an electronic display 108 for viewing by a user. Additionally or alternatively the computer 106 may display other indicia, optionally overlaying the fields of view, derived from processing described below.
Optionally all processing described herein may be performed in a single computer 106. The computer 106 may include a thin client, a portable or non-portable computer, a personal electronic device such as a smart phone, or other platform capable of receiving data and driving an electronic display 108.
The computer 202 may be a server computer, and/or may include a server farm, a set of pipelined servers, relay servers, etc. as is known in the art of computer networking. The server 202 may receive data from the sensors 104 and process the data as describe herein. The server may provide an application programming interface (API) portion 206 operatively coupled to an application platform 204. The application platform 204 may be included in the server 202, may be included in the local computer 106, or may be otherwise operatively coupled therebetween.
The server 202 and/or computer 106 includes a non-transitory computer readable memory 208 such as a rotating disk or solid state memory. The non-transitory computer readable memory may support a database, look-up table, or other software structure to enable storage and retrieval of information described below. Typically, the computer 202 includes a microprocessor, memory, and other components appropriate for performing image processing on the data received from the sensors 104.
Referring to
According to an embodiment, tracking locations of the livestock individuals as the livestock mill about, in step 308, is performed using a Kalman filter. According to embodiments, tracking the locations of the livestock individuals may employ at least some parts of simultaneous localization and mapping (SLAM) which uses the Kalman filter. SLAM is usually used in robotics so the robot knows where in the environment it is located based on a few measurements.
In standard SLAM, the robot sends some lasers or pings in the environment to figure out where it is, based on a few reference points. In the present embodiment, if one uses multiple poles, each supporting a digital camera or video device, the pole locations serve as reference points from which the computer method, and specifically step 308, obtains measurements of the location and velocity of each detected class. In this case, the detected class is “livestock”. With measurements from one or many poles, step 308 includes calculating a probability that a particular detected livestock individual is the same detected livestock individual from a previous few frames. The more poles there are, the more accurate the measurements will be for both tracking and identification.
Referring to
The individual livestock biometric markers may include at least two of a corner of an eye, a corner formed by a horn, a corner formed by an ear, a snout corner, a hide color corner, a hoof corner, and/or a tail corner. Identifying individual biometric markers may include assigning classes of livestock body surface features and performing a semantic segmentation to classify each pixel as belonging to a livestock body surface feature.
Assigning classes of livestock body surface features may include assigning livestock eye, livestock horn, livestock ear, livestock snout, livestock hide color patterns, livestock hoof, and/or livestock ear classes. Assigning classes of livestock body surface features may include assigning livestock eye corners and assigning livestock snout corners. Assigning classes of livestock body surface features may include assigning contrasting locations of skin and/or fur coloration.
To perform identification, the computer method includes receiving a high resolution snapshot at a given time at which heads, eyes, and snouts are detected. Step 312 may include computing all face geometries.
In step 314, the computer method 300 may include performing a probability computation against the database to get the most likely candidate electronic IDs corresponding to the biometric IDs. If a good candidate is obtained, the ID of that candidate may be assigned to the data recorded for the aforementioned detection. If multiple candidates are obtained, the multiple candidates, as well as secondary candidates, may be set to be reviewed during subsequent algorithm improvement iterations.
The first digital video or sequence of digital photographic frames received in step 302 may include a wider angle view including a plurality of livestock in the frame, compared to the second digital video or sequence of digital photographic frames includes a narrower angle view that includes less than all of the plurality of livestock in the frame. The narrower angle view may primarily include at least a portion of an individual livestock. In an embodiment, the narrower angle view consists essentially of the biometric identification area (e.g., see
The method 300 may further include receiving a third digital video or sequence of digital photographic frames including plurality of livestock locations in the pen as the livestock mill about, the plurality of livestock having corresponding digital identities and at least a portion of the plurality of livestock having been assigned a biometric identity. The individual livestock may be tracked (see step 308) as the livestock mill about, the individual livestock nominally being assigned livestock digital identities.
The method 300 may further include receiving the second digital video or digital photographic frame corresponding to one of the individual livestock and including at least a portion of the biometric identification area of the individual livestock body, performing, in step 316, a second biometric identification of the individual livestock; and, in step 318, verifying that the tracked individual livestock is the individual livestock associated with the current livestock digital identity.
According to an embodiment, the method 300 may include tracking the individual livestock as the livestock mill about in step 308, the individual livestock nominally being assigned livestock digital identities, receiving the second digital video or digital photographic frame corresponding to one of the individual livestock and including at least a portion of the biometric identification area of the individual livestock body (see step 310), and performing biometric identification of the individual livestock.
The method 300 may include determining the individual livestock does not match a biometric identity of a known individual livestock. If an individual livestock has not been biometrically identified, the method 300 may include performing the biometric deep sort (see step 312) to produce at least a portion of an individual livestock biometric identity, and (referring to step 314), associating the individual livestock biometric identity with the corresponding livestock digital identity. This may be used to gradually match individual livestock digital identities to individual livestock biometric identities after beginning tracking the livestock as the livestock mill about.
Improvement of the biometric identity may be obtained by determining that the biometric identity includes biometric markers not previously included in the biometric identity of the individual livestock (not shown) and augmenting the biometric identity with the additional biometric markers.
As may be appreciated with reference to
The method 300 may include determining that the tracked individual livestock 404a is an individual livestock associated with a different individual livestock digital identity 402b than an incorrect livestock digital identity 402a currently assigned to the first individual livestock 404a. The method 300 may then include, in step 318, assigning the correct individual livestock digital identity to the individual livestock.
For example, comparing
The livestock may be cows and/or steers, for example.
Step 706 includes using image processing to find, in frames of the video stream, a feature of the livestock individual that exhibits heart rate-correlated periodic flushing. In step 708, pixel amplification at the feature to amplify the periodic flushing is performed. Step 710 includes calculating a heart rate of the livestock individual from a sequence of the amplified periodic flushing. In step 714, information about the heart rate of the livestock individual is output on a physical device.
Receiving a video stream including one or more livestock in a pen in step 702 may include tracking livestock as they mill about. Referring to
Referring again to
Outputting information about the heart rate of the livestock individual on an electronic display in step 714 may include displaying an image, on an electronic display, of the individual livestock exhibiting the heart rate that meets a threshold heart rate indicative of physical distress. Outputting information about the heart rate of the livestock individual in step 714 may include displaying, on an electronic display, an image of the one or more livestock as they mill about with the image of the individual livestock 404 exhibiting a heart rate highlighted. For example, see the illustrative display 400, 600 in
In step 716, the calculated heart rate may be stored in a computer readable non-transitory memory as part of a set of related data including previously calculated heart rates of the livestock individual.
Comparing the calculated heart rate of the livestock individual to a heart rate threshold in step 712 may include comparing the calculated heart rate of the livestock individual to one or more previously calculated heart rates of the livestock individual, and determining if the calculated heart rate heart rate is different than the previously calculated heart rates.
Performing pixel amplification at the feature 804 to magnify periodic flushing in step 708 may include removing high frequency noise from an image addition frame sequence using a maximally flat magnitude filter within a passband corresponding to livestock heart rate range. In an embodiment, the maximally flat magnitude filter within the passband comprises a Butterworth filter. In other embodiments, the maximally flat magnitude filter within the passband may include a Chebyshev filter or an elliptical filter. Performing pixel amplification in step 708 may include performing a Laplacian Pyramid and applying a Butterworth filter to form a video stream with greater dynamic range and/or higher sensitivity to flushing than a video stream where pixel amplification was not performed.
In step 710, calculating the heart rate may include performing image analysis on one or more pixel-amplified video frame sequences. Determining heart rate in step 710 may include obtaining at least three video clips of pixel-amplified intervals and applying a filter to ensure the calculated heart rate is representative of an actual real time heart rate of the livestock individual. Applying the filter to ensure the calculated heart rate is representative of an actual heart rate of the livestock individual may include applying a voting algorithm or performing heart rate averaging.
While various aspects and embodiments have been disclosed herein, other aspects and embodiments are contemplated. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
The present application claims benefit of U.S. Provisional Patent Application No. 63/387,488, entitled “LIVESTOCK HEART RATE MONITORING”, filed Dec. 14, 2022 (Docket No.: 3087-004-02); U.S. Provisional Patent Application No. 63/387,491, entitled “METHOD AND SYSTEM FOR DETECTING LIVESTOCK RESPIRATORY COMPROMISE”, filed Dec. 14, 2022 (Docket No.: 3087-003-02); and U.S. Provisional Patent Application 63/387,490, entitled “COMPUTER METHOD AND APPARATUS FOR TAGLESS TRACKING OF LIVESTOCK”, filed Dec. 14, 2022 (Docket No. 3087-005-02), co-pending herewith. The foregoing applications, to the extent not inconsistent with the disclosure herein, are incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63387488 | Dec 2022 | US | |
63387491 | Dec 2022 | US | |
63387490 | Dec 2022 | US |